{"version":3,"file":"head.js","mappings":"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","sources":["webpack://borg-warner-brands/./node_modules/uikit/dist/js/uikit.js","webpack://borg-warner-brands/webpack/bootstrap","webpack://borg-warner-brands/webpack/runtime/compat get default export","webpack://borg-warner-brands/webpack/runtime/define property getters","webpack://borg-warner-brands/webpack/runtime/global","webpack://borg-warner-brands/webpack/runtime/hasOwnProperty shorthand","webpack://borg-warner-brands/webpack/runtime/publicPath","webpack://borg-warner-brands/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://borg-warner-brands/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://borg-warner-brands/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://borg-warner-brands/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://borg-warner-brands/./src/Delphi/js/head.js"],"sourcesContent":["/*! UIkit 3.16.15 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */\n\n(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define('uikit', factory) :\n    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.UIkit = factory());\n})(this, (function () { 'use strict';\n\n    const { hasOwnProperty, toString } = Object.prototype;\n    function hasOwn(obj, key) {\n      return hasOwnProperty.call(obj, key);\n    }\n    const hyphenateRe = /\\B([A-Z])/g;\n    const hyphenate = memoize((str) => str.replace(hyphenateRe, \"-$1\").toLowerCase());\n    const camelizeRe = /-(\\w)/g;\n    const camelize = memoize(\n      (str) => (str.charAt(0).toLowerCase() + str.slice(1)).replace(camelizeRe, (_, c) => c.toUpperCase())\n    );\n    const ucfirst = memoize((str) => str.charAt(0).toUpperCase() + str.slice(1));\n    function startsWith(str, search) {\n      var _a;\n      return (_a = str == null ? void 0 : str.startsWith) == null ? void 0 : _a.call(str, search);\n    }\n    function endsWith(str, search) {\n      var _a;\n      return (_a = str == null ? void 0 : str.endsWith) == null ? void 0 : _a.call(str, search);\n    }\n    function includes(obj, search) {\n      var _a;\n      return (_a = obj == null ? void 0 : obj.includes) == null ? void 0 : _a.call(obj, search);\n    }\n    function findIndex(array, predicate) {\n      var _a;\n      return (_a = array == null ? void 0 : array.findIndex) == null ? void 0 : _a.call(array, predicate);\n    }\n    const { isArray, from: toArray } = Array;\n    const { assign } = Object;\n    function isFunction(obj) {\n      return typeof obj === \"function\";\n    }\n    function isObject(obj) {\n      return obj !== null && typeof obj === \"object\";\n    }\n    function isPlainObject(obj) {\n      return toString.call(obj) === \"[object Object]\";\n    }\n    function isWindow(obj) {\n      return isObject(obj) && obj === obj.window;\n    }\n    function isDocument(obj) {\n      return nodeType(obj) === 9;\n    }\n    function isNode(obj) {\n      return nodeType(obj) >= 1;\n    }\n    function isElement(obj) {\n      return nodeType(obj) === 1;\n    }\n    function nodeType(obj) {\n      return !isWindow(obj) && isObject(obj) && obj.nodeType;\n    }\n    function isBoolean(value) {\n      return typeof value === \"boolean\";\n    }\n    function isString(value) {\n      return typeof value === \"string\";\n    }\n    function isNumber(value) {\n      return typeof value === \"number\";\n    }\n    function isNumeric(value) {\n      return isNumber(value) || isString(value) && !isNaN(value - parseFloat(value));\n    }\n    function isEmpty(obj) {\n      return !(isArray(obj) ? obj.length : isObject(obj) ? Object.keys(obj).length : false);\n    }\n    function isUndefined(value) {\n      return value === void 0;\n    }\n    function toBoolean(value) {\n      return isBoolean(value) ? value : value === \"true\" || value === \"1\" || value === \"\" ? true : value === \"false\" || value === \"0\" ? false : value;\n    }\n    function toNumber(value) {\n      const number = Number(value);\n      return isNaN(number) ? false : number;\n    }\n    function toFloat(value) {\n      return parseFloat(value) || 0;\n    }\n    function toNode(element) {\n      return toNodes(element)[0];\n    }\n    function toNodes(element) {\n      return isNode(element) ? [element] : Array.from(element || []).filter(isNode);\n    }\n    function toWindow(element) {\n      if (isWindow(element)) {\n        return element;\n      }\n      element = toNode(element);\n      const document = isDocument(element) ? element : element == null ? void 0 : element.ownerDocument;\n      return (document == null ? void 0 : document.defaultView) || window;\n    }\n    function isEqual(value, other) {\n      return value === other || isObject(value) && isObject(other) && Object.keys(value).length === Object.keys(other).length && each(value, (val, key) => val === other[key]);\n    }\n    function swap(value, a, b) {\n      return value.replace(new RegExp(`${a}|${b}`, \"g\"), (match) => match === a ? b : a);\n    }\n    function last(array) {\n      return array[array.length - 1];\n    }\n    function each(obj, cb) {\n      for (const key in obj) {\n        if (false === cb(obj[key], key)) {\n          return false;\n        }\n      }\n      return true;\n    }\n    function sortBy$1(array, prop) {\n      return array.slice().sort(\n        ({ [prop]: propA = 0 }, { [prop]: propB = 0 }) => propA > propB ? 1 : propB > propA ? -1 : 0\n      );\n    }\n    function sumBy(array, iteratee) {\n      return array.reduce(\n        (sum, item) => sum + toFloat(isFunction(iteratee) ? iteratee(item) : item[iteratee]),\n        0\n      );\n    }\n    function uniqueBy(array, prop) {\n      const seen = /* @__PURE__ */ new Set();\n      return array.filter(({ [prop]: check }) => seen.has(check) ? false : seen.add(check));\n    }\n    function pick(obj, props) {\n      return props.reduce((res, prop) => ({ ...res, [prop]: obj[prop] }), {});\n    }\n    function clamp(number, min = 0, max = 1) {\n      return Math.min(Math.max(toNumber(number) || 0, min), max);\n    }\n    function noop() {\n    }\n    function intersectRect(...rects) {\n      return [\n        [\"bottom\", \"top\"],\n        [\"right\", \"left\"]\n      ].every(\n        ([minProp, maxProp]) => Math.min(...rects.map(({ [minProp]: min }) => min)) - Math.max(...rects.map(({ [maxProp]: max }) => max)) > 0\n      );\n    }\n    function pointInRect(point, rect) {\n      return point.x <= rect.right && point.x >= rect.left && point.y <= rect.bottom && point.y >= rect.top;\n    }\n    function ratio(dimensions, prop, value) {\n      const aProp = prop === \"width\" ? \"height\" : \"width\";\n      return {\n        [aProp]: dimensions[prop] ? Math.round(value * dimensions[aProp] / dimensions[prop]) : dimensions[aProp],\n        [prop]: value\n      };\n    }\n    function contain(dimensions, maxDimensions) {\n      dimensions = { ...dimensions };\n      for (const prop in dimensions) {\n        dimensions = dimensions[prop] > maxDimensions[prop] ? ratio(dimensions, prop, maxDimensions[prop]) : dimensions;\n      }\n      return dimensions;\n    }\n    function cover$1(dimensions, maxDimensions) {\n      dimensions = contain(dimensions, maxDimensions);\n      for (const prop in dimensions) {\n        dimensions = dimensions[prop] < maxDimensions[prop] ? ratio(dimensions, prop, maxDimensions[prop]) : dimensions;\n      }\n      return dimensions;\n    }\n    const Dimensions = { ratio, contain, cover: cover$1 };\n    function getIndex(i, elements, current = 0, finite = false) {\n      elements = toNodes(elements);\n      const { length } = elements;\n      if (!length) {\n        return -1;\n      }\n      i = isNumeric(i) ? toNumber(i) : i === \"next\" ? current + 1 : i === \"previous\" ? current - 1 : i === \"last\" ? length - 1 : elements.indexOf(toNode(i));\n      if (finite) {\n        return clamp(i, 0, length - 1);\n      }\n      i %= length;\n      return i < 0 ? i + length : i;\n    }\n    function memoize(fn) {\n      const cache = /* @__PURE__ */ Object.create(null);\n      return (key) => cache[key] || (cache[key] = fn(key));\n    }\n    class Deferred {\n      constructor() {\n        this.promise = new Promise((resolve, reject) => {\n          this.reject = reject;\n          this.resolve = resolve;\n        });\n      }\n    }\n\n    function attr(element, name, value) {\n      var _a;\n      if (isObject(name)) {\n        for (const key in name) {\n          attr(element, key, name[key]);\n        }\n        return;\n      }\n      if (isUndefined(value)) {\n        return (_a = toNode(element)) == null ? void 0 : _a.getAttribute(name);\n      } else {\n        for (const el of toNodes(element)) {\n          if (isFunction(value)) {\n            value = value.call(el, attr(el, name));\n          }\n          if (value === null) {\n            removeAttr(el, name);\n          } else {\n            el.setAttribute(name, value);\n          }\n        }\n      }\n    }\n    function hasAttr(element, name) {\n      return toNodes(element).some((element2) => element2.hasAttribute(name));\n    }\n    function removeAttr(element, name) {\n      toNodes(element).forEach((element2) => element2.removeAttribute(name));\n    }\n    function data(element, attribute) {\n      for (const name of [attribute, `data-${attribute}`]) {\n        if (hasAttr(element, name)) {\n          return attr(element, name);\n        }\n      }\n    }\n\n    const voidElements = {\n      area: true,\n      base: true,\n      br: true,\n      col: true,\n      embed: true,\n      hr: true,\n      img: true,\n      input: true,\n      keygen: true,\n      link: true,\n      meta: true,\n      param: true,\n      source: true,\n      track: true,\n      wbr: true\n    };\n    function isVoidElement(element) {\n      return toNodes(element).some((element2) => voidElements[element2.tagName.toLowerCase()]);\n    }\n    function isVisible(element) {\n      return toNodes(element).some(\n        (element2) => element2.offsetWidth || element2.offsetHeight || element2.getClientRects().length\n      );\n    }\n    const selInput = \"input,select,textarea,button\";\n    function isInput(element) {\n      return toNodes(element).some((element2) => matches(element2, selInput));\n    }\n    const selFocusable = `${selInput},a[href],[tabindex]`;\n    function isFocusable(element) {\n      return matches(element, selFocusable);\n    }\n    function parent(element) {\n      var _a;\n      return (_a = toNode(element)) == null ? void 0 : _a.parentElement;\n    }\n    function filter$1(element, selector) {\n      return toNodes(element).filter((element2) => matches(element2, selector));\n    }\n    function matches(element, selector) {\n      return toNodes(element).some((element2) => element2.matches(selector));\n    }\n    function closest(element, selector) {\n      return isElement(element) ? element.closest(startsWith(selector, \">\") ? selector.slice(1) : selector) : toNodes(element).map((element2) => closest(element2, selector)).filter(Boolean);\n    }\n    function within(element, selector) {\n      return isString(selector) ? !!closest(element, selector) : toNode(selector).contains(toNode(element));\n    }\n    function parents(element, selector) {\n      const elements = [];\n      while (element = parent(element)) {\n        if (!selector || matches(element, selector)) {\n          elements.push(element);\n        }\n      }\n      return elements;\n    }\n    function children(element, selector) {\n      element = toNode(element);\n      const children2 = element ? toArray(element.children) : [];\n      return selector ? filter$1(children2, selector) : children2;\n    }\n    function index(element, ref) {\n      return ref ? toNodes(element).indexOf(toNode(ref)) : children(parent(element)).indexOf(element);\n    }\n    function isSameSiteAnchor(el) {\n      el = toNode(el);\n      return el && [\"origin\", \"pathname\", \"search\"].every((part) => el[part] === location[part]);\n    }\n    function getTargetedElement(el) {\n      if (isSameSiteAnchor(el)) {\n        el = toNode(el);\n        const id = decodeURIComponent(el.hash).substring(1);\n        return document.getElementById(id) || document.getElementsByName(id)[0];\n      }\n    }\n\n    function query(selector, context) {\n      return find(selector, getContext(selector, context));\n    }\n    function queryAll(selector, context) {\n      return findAll(selector, getContext(selector, context));\n    }\n    function find(selector, context) {\n      return toNode(_query(selector, toNode(context), \"querySelector\"));\n    }\n    function findAll(selector, context) {\n      return toNodes(_query(selector, toNode(context), \"querySelectorAll\"));\n    }\n    const contextSelectorRe = /(^|[^\\\\],)\\s*[!>+~-]/;\n    const isContextSelector = memoize((selector) => selector.match(contextSelectorRe));\n    function getContext(selector, context = document) {\n      return isString(selector) && isContextSelector(selector) || isDocument(context) ? context : context.ownerDocument;\n    }\n    const contextSanitizeRe = /([!>+~-])(?=\\s+[!>+~-]|\\s*$)/g;\n    const sanatize = memoize((selector) => selector.replace(contextSanitizeRe, \"$1 *\"));\n    function _query(selector, context = document, queryFn) {\n      if (!selector || !isString(selector)) {\n        return selector;\n      }\n      selector = sanatize(selector);\n      if (isContextSelector(selector)) {\n        const split = splitSelector(selector);\n        selector = \"\";\n        for (let sel of split) {\n          let ctx = context;\n          if (sel[0] === \"!\") {\n            const selectors = sel.substr(1).trim().split(\" \");\n            ctx = closest(parent(context), selectors[0]);\n            sel = selectors.slice(1).join(\" \").trim();\n            if (!sel.length && split.length === 1) {\n              return ctx;\n            }\n          }\n          if (sel[0] === \"-\") {\n            const selectors = sel.substr(1).trim().split(\" \");\n            const prev = (ctx || context).previousElementSibling;\n            ctx = matches(prev, sel.substr(1)) ? prev : null;\n            sel = selectors.slice(1).join(\" \");\n          }\n          if (ctx) {\n            selector += `${selector ? \",\" : \"\"}${domPath(ctx)} ${sel}`;\n          }\n        }\n        context = document;\n      }\n      try {\n        return context[queryFn](selector);\n      } catch (e) {\n        return null;\n      }\n    }\n    const selectorRe = /.*?[^\\\\](?:,|$)/g;\n    const splitSelector = memoize(\n      (selector) => selector.match(selectorRe).map((selector2) => selector2.replace(/,$/, \"\").trim())\n    );\n    function domPath(element) {\n      const names = [];\n      while (element.parentNode) {\n        const id = attr(element, \"id\");\n        if (id) {\n          names.unshift(`#${escape(id)}`);\n          break;\n        } else {\n          let { tagName } = element;\n          if (tagName !== \"HTML\") {\n            tagName += `:nth-child(${index(element) + 1})`;\n          }\n          names.unshift(tagName);\n          element = element.parentNode;\n        }\n      }\n      return names.join(\" > \");\n    }\n    function escape(css) {\n      return isString(css) ? CSS.escape(css) : \"\";\n    }\n\n    function on(...args) {\n      let [targets, types, selector, listener, useCapture = false] = getArgs(args);\n      if (listener.length > 1) {\n        listener = detail(listener);\n      }\n      if (useCapture == null ? void 0 : useCapture.self) {\n        listener = selfFilter(listener);\n      }\n      if (selector) {\n        listener = delegate(selector, listener);\n      }\n      for (const type of types) {\n        for (const target of targets) {\n          target.addEventListener(type, listener, useCapture);\n        }\n      }\n      return () => off(targets, types, listener, useCapture);\n    }\n    function off(...args) {\n      let [targets, types, , listener, useCapture = false] = getArgs(args);\n      for (const type of types) {\n        for (const target of targets) {\n          target.removeEventListener(type, listener, useCapture);\n        }\n      }\n    }\n    function once(...args) {\n      const [element, types, selector, listener, useCapture = false, condition] = getArgs(args);\n      const off2 = on(\n        element,\n        types,\n        selector,\n        (e) => {\n          const result = !condition || condition(e);\n          if (result) {\n            off2();\n            listener(e, result);\n          }\n        },\n        useCapture\n      );\n      return off2;\n    }\n    function trigger(targets, event, detail2) {\n      return toEventTargets(targets).every(\n        (target) => target.dispatchEvent(createEvent(event, true, true, detail2))\n      );\n    }\n    function createEvent(e, bubbles = true, cancelable = false, detail2) {\n      if (isString(e)) {\n        e = new CustomEvent(e, { bubbles, cancelable, detail: detail2 });\n      }\n      return e;\n    }\n    function getArgs(args) {\n      args[0] = toEventTargets(args[0]);\n      if (isString(args[1])) {\n        args[1] = args[1].split(\" \");\n      }\n      if (isFunction(args[2])) {\n        args.splice(2, 0, false);\n      }\n      return args;\n    }\n    function delegate(selector, listener) {\n      return (e) => {\n        const current = selector[0] === \">\" ? findAll(selector, e.currentTarget).reverse().filter((element) => within(e.target, element))[0] : closest(e.target, selector);\n        if (current) {\n          e.current = current;\n          listener.call(this, e);\n          delete e.current;\n        }\n      };\n    }\n    function detail(listener) {\n      return (e) => isArray(e.detail) ? listener(e, ...e.detail) : listener(e);\n    }\n    function selfFilter(listener) {\n      return function(e) {\n        if (e.target === e.currentTarget || e.target === e.current) {\n          return listener.call(null, e);\n        }\n      };\n    }\n    function isEventTarget(target) {\n      return target && \"addEventListener\" in target;\n    }\n    function toEventTarget(target) {\n      return isEventTarget(target) ? target : toNode(target);\n    }\n    function toEventTargets(target) {\n      return isArray(target) ? target.map(toEventTarget).filter(Boolean) : isString(target) ? findAll(target) : isEventTarget(target) ? [target] : toNodes(target);\n    }\n    function isTouch(e) {\n      return e.pointerType === \"touch\" || !!e.touches;\n    }\n    function getEventPos(e) {\n      var _a, _b;\n      const { clientX: x, clientY: y } = ((_a = e.touches) == null ? void 0 : _a[0]) || ((_b = e.changedTouches) == null ? void 0 : _b[0]) || e;\n      return { x, y };\n    }\n\n    const cssNumber = {\n      \"animation-iteration-count\": true,\n      \"column-count\": true,\n      \"fill-opacity\": true,\n      \"flex-grow\": true,\n      \"flex-shrink\": true,\n      \"font-weight\": true,\n      \"line-height\": true,\n      opacity: true,\n      order: true,\n      orphans: true,\n      \"stroke-dasharray\": true,\n      \"stroke-dashoffset\": true,\n      widows: true,\n      \"z-index\": true,\n      zoom: true\n    };\n    function css(element, property, value, priority) {\n      const elements = toNodes(element);\n      for (const element2 of elements) {\n        if (isString(property)) {\n          property = propName(property);\n          if (isUndefined(value)) {\n            return getComputedStyle(element2).getPropertyValue(property);\n          } else {\n            element2.style.setProperty(\n              property,\n              isNumeric(value) && !cssNumber[property] ? `${value}px` : value || isNumber(value) ? value : \"\",\n              priority\n            );\n          }\n        } else if (isArray(property)) {\n          const props = {};\n          for (const prop of property) {\n            props[prop] = css(element2, prop);\n          }\n          return props;\n        } else if (isObject(property)) {\n          priority = value;\n          each(property, (value2, property2) => css(element2, property2, value2, priority));\n        }\n      }\n      return elements[0];\n    }\n    const propName = memoize((name) => vendorPropName(name));\n    function vendorPropName(name) {\n      if (startsWith(name, \"--\")) {\n        return name;\n      }\n      name = hyphenate(name);\n      const { style } = document.documentElement;\n      if (name in style) {\n        return name;\n      }\n      for (const prefix of [\"webkit\", \"moz\"]) {\n        const prefixedName = `-${prefix}-${name}`;\n        if (prefixedName in style) {\n          return prefixedName;\n        }\n      }\n    }\n\n    function addClass(element, ...args) {\n      apply$1(element, args, \"add\");\n    }\n    function removeClass(element, ...args) {\n      apply$1(element, args, \"remove\");\n    }\n    function removeClasses(element, cls) {\n      attr(\n        element,\n        \"class\",\n        (value) => (value || \"\").replace(new RegExp(`\\\\b${cls}\\\\b\\\\s?`, \"g\"), \"\")\n      );\n    }\n    function replaceClass(element, ...args) {\n      args[0] && removeClass(element, args[0]);\n      args[1] && addClass(element, args[1]);\n    }\n    function hasClass(element, cls) {\n      [cls] = getClasses(cls);\n      return !!cls && toNodes(element).some((node) => node.classList.contains(cls));\n    }\n    function toggleClass(element, cls, force) {\n      const classes = getClasses(cls);\n      if (!isUndefined(force)) {\n        force = !!force;\n      }\n      for (const node of toNodes(element)) {\n        for (const cls2 of classes) {\n          node.classList.toggle(cls2, force);\n        }\n      }\n    }\n    function apply$1(element, args, fn) {\n      args = args.reduce((args2, arg) => args2.concat(getClasses(arg)), []);\n      for (const node of toNodes(element)) {\n        node.classList[fn](...args);\n      }\n    }\n    function getClasses(str) {\n      return String(str).split(/[ ,]/).filter(Boolean);\n    }\n\n    function transition$1(element, props, duration = 400, timing = \"linear\") {\n      duration = Math.round(duration);\n      return Promise.all(\n        toNodes(element).map(\n          (element2) => new Promise((resolve, reject) => {\n            for (const name in props) {\n              const value = css(element2, name);\n              if (value === \"\") {\n                css(element2, name, value);\n              }\n            }\n            const timer = setTimeout(() => trigger(element2, \"transitionend\"), duration);\n            once(\n              element2,\n              \"transitionend transitioncanceled\",\n              ({ type }) => {\n                clearTimeout(timer);\n                removeClass(element2, \"uk-transition\");\n                css(element2, {\n                  transitionProperty: \"\",\n                  transitionDuration: \"\",\n                  transitionTimingFunction: \"\"\n                });\n                type === \"transitioncanceled\" ? reject() : resolve(element2);\n              },\n              { self: true }\n            );\n            addClass(element2, \"uk-transition\");\n            css(element2, {\n              transitionProperty: Object.keys(props).map(propName).join(\",\"),\n              transitionDuration: `${duration}ms`,\n              transitionTimingFunction: timing,\n              ...props\n            });\n          })\n        )\n      );\n    }\n    const Transition = {\n      start: transition$1,\n      async stop(element) {\n        trigger(element, \"transitionend\");\n        await Promise.resolve();\n      },\n      async cancel(element) {\n        trigger(element, \"transitioncanceled\");\n        await Promise.resolve();\n      },\n      inProgress(element) {\n        return hasClass(element, \"uk-transition\");\n      }\n    };\n    const animationPrefix = \"uk-animation-\";\n    function animate$2(element, animation, duration = 200, origin, out) {\n      return Promise.all(\n        toNodes(element).map(\n          (element2) => new Promise((resolve, reject) => {\n            trigger(element2, \"animationcanceled\");\n            const timer = setTimeout(() => trigger(element2, \"animationend\"), duration);\n            once(\n              element2,\n              \"animationend animationcanceled\",\n              ({ type }) => {\n                clearTimeout(timer);\n                type === \"animationcanceled\" ? reject() : resolve(element2);\n                css(element2, \"animationDuration\", \"\");\n                removeClasses(element2, `${animationPrefix}\\\\S*`);\n              },\n              { self: true }\n            );\n            css(element2, \"animationDuration\", `${duration}ms`);\n            addClass(element2, animation, animationPrefix + (out ? \"leave\" : \"enter\"));\n            if (startsWith(animation, animationPrefix)) {\n              origin && addClass(element2, `uk-transform-origin-${origin}`);\n              out && addClass(element2, `${animationPrefix}reverse`);\n            }\n          })\n        )\n      );\n    }\n    const inProgressRe = new RegExp(`${animationPrefix}(enter|leave)`);\n    const Animation = {\n      in: animate$2,\n      out(element, animation, duration, origin) {\n        return animate$2(element, animation, duration, origin, true);\n      },\n      inProgress(element) {\n        return inProgressRe.test(attr(element, \"class\"));\n      },\n      cancel(element) {\n        trigger(element, \"animationcanceled\");\n      }\n    };\n\n    function ready(fn) {\n      if (document.readyState !== \"loading\") {\n        fn();\n        return;\n      }\n      once(document, \"DOMContentLoaded\", fn);\n    }\n    function isTag(element, ...tagNames) {\n      return tagNames.some((tagName) => {\n        var _a;\n        return ((_a = element == null ? void 0 : element.tagName) == null ? void 0 : _a.toLowerCase()) === tagName.toLowerCase();\n      });\n    }\n    function empty(element) {\n      element = $(element);\n      element.innerHTML = \"\";\n      return element;\n    }\n    function html(parent2, html2) {\n      return isUndefined(html2) ? $(parent2).innerHTML : append(empty(parent2), html2);\n    }\n    const prepend = applyFn(\"prepend\");\n    const append = applyFn(\"append\");\n    const before = applyFn(\"before\");\n    const after = applyFn(\"after\");\n    function applyFn(fn) {\n      return function(ref, element) {\n        var _a;\n        const nodes = toNodes(isString(element) ? fragment(element) : element);\n        (_a = $(ref)) == null ? void 0 : _a[fn](...nodes);\n        return unwrapSingle(nodes);\n      };\n    }\n    function remove$1(element) {\n      toNodes(element).forEach((element2) => element2.remove());\n    }\n    function wrapAll(element, structure) {\n      structure = toNode(before(element, structure));\n      while (structure.firstChild) {\n        structure = structure.firstChild;\n      }\n      append(structure, element);\n      return structure;\n    }\n    function wrapInner(element, structure) {\n      return toNodes(\n        toNodes(element).map(\n          (element2) => element2.hasChildNodes() ? wrapAll(toArray(element2.childNodes), structure) : append(element2, structure)\n        )\n      );\n    }\n    function unwrap(element) {\n      toNodes(element).map(parent).filter((value, index, self) => self.indexOf(value) === index).forEach((parent2) => parent2.replaceWith(...parent2.childNodes));\n    }\n    const fragmentRe = /^\\s*<(\\w+|!)[^>]*>/;\n    const singleTagRe = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>)?$/;\n    function fragment(html2) {\n      const matches = singleTagRe.exec(html2);\n      if (matches) {\n        return document.createElement(matches[1]);\n      }\n      const container = document.createElement(\"div\");\n      if (fragmentRe.test(html2)) {\n        container.insertAdjacentHTML(\"beforeend\", html2.trim());\n      } else {\n        container.textContent = html2;\n      }\n      return unwrapSingle(container.childNodes);\n    }\n    function unwrapSingle(nodes) {\n      return nodes.length > 1 ? nodes : nodes[0];\n    }\n    function apply(node, fn) {\n      if (!isElement(node)) {\n        return;\n      }\n      fn(node);\n      node = node.firstElementChild;\n      while (node) {\n        const next = node.nextElementSibling;\n        apply(node, fn);\n        node = next;\n      }\n    }\n    function $(selector, context) {\n      return isHtml(selector) ? toNode(fragment(selector)) : find(selector, context);\n    }\n    function $$(selector, context) {\n      return isHtml(selector) ? toNodes(fragment(selector)) : findAll(selector, context);\n    }\n    function isHtml(str) {\n      return isString(str) && startsWith(str.trim(), \"<\");\n    }\n\n    const dirs$1 = {\n      width: [\"left\", \"right\"],\n      height: [\"top\", \"bottom\"]\n    };\n    function dimensions$1(element) {\n      const rect = isElement(element) ? toNode(element).getBoundingClientRect() : { height: height(element), width: width(element), top: 0, left: 0 };\n      return {\n        height: rect.height,\n        width: rect.width,\n        top: rect.top,\n        left: rect.left,\n        bottom: rect.top + rect.height,\n        right: rect.left + rect.width\n      };\n    }\n    function offset(element, coordinates) {\n      const currentOffset = dimensions$1(element);\n      if (element) {\n        const { scrollY, scrollX } = toWindow(element);\n        const offsetBy = { height: scrollY, width: scrollX };\n        for (const dir in dirs$1) {\n          for (const prop of dirs$1[dir]) {\n            currentOffset[prop] += offsetBy[dir];\n          }\n        }\n      }\n      if (!coordinates) {\n        return currentOffset;\n      }\n      const pos = css(element, \"position\");\n      each(\n        css(element, [\"left\", \"top\"]),\n        (value, prop) => css(\n          element,\n          prop,\n          coordinates[prop] - currentOffset[prop] + toFloat(pos === \"absolute\" && value === \"auto\" ? position(element)[prop] : value)\n        )\n      );\n    }\n    function position(element) {\n      let { top, left } = offset(element);\n      const {\n        ownerDocument: { body, documentElement },\n        offsetParent\n      } = toNode(element);\n      let parent = offsetParent || documentElement;\n      while (parent && (parent === body || parent === documentElement) && css(parent, \"position\") === \"static\") {\n        parent = parent.parentNode;\n      }\n      if (isElement(parent)) {\n        const parentOffset = offset(parent);\n        top -= parentOffset.top + toFloat(css(parent, \"borderTopWidth\"));\n        left -= parentOffset.left + toFloat(css(parent, \"borderLeftWidth\"));\n      }\n      return {\n        top: top - toFloat(css(element, \"marginTop\")),\n        left: left - toFloat(css(element, \"marginLeft\"))\n      };\n    }\n    function offsetPosition(element) {\n      element = toNode(element);\n      const offset2 = [element.offsetTop, element.offsetLeft];\n      while (element = element.offsetParent) {\n        offset2[0] += element.offsetTop + toFloat(css(element, `borderTopWidth`));\n        offset2[1] += element.offsetLeft + toFloat(css(element, `borderLeftWidth`));\n        if (css(element, \"position\") === \"fixed\") {\n          const win = toWindow(element);\n          offset2[0] += win.scrollY;\n          offset2[1] += win.scrollX;\n          return offset2;\n        }\n      }\n      return offset2;\n    }\n    const height = dimension(\"height\");\n    const width = dimension(\"width\");\n    function dimension(prop) {\n      const propName = ucfirst(prop);\n      return (element, value) => {\n        if (isUndefined(value)) {\n          if (isWindow(element)) {\n            return element[`inner${propName}`];\n          }\n          if (isDocument(element)) {\n            const doc = element.documentElement;\n            return Math.max(doc[`offset${propName}`], doc[`scroll${propName}`]);\n          }\n          element = toNode(element);\n          value = css(element, prop);\n          value = value === \"auto\" ? element[`offset${propName}`] : toFloat(value) || 0;\n          return value - boxModelAdjust(element, prop);\n        } else {\n          return css(\n            element,\n            prop,\n            !value && value !== 0 ? \"\" : +value + boxModelAdjust(element, prop) + \"px\"\n          );\n        }\n      };\n    }\n    function boxModelAdjust(element, prop, sizing = \"border-box\") {\n      return css(element, \"boxSizing\") === sizing ? sumBy(\n        dirs$1[prop].map(ucfirst),\n        (prop2) => toFloat(css(element, `padding${prop2}`)) + toFloat(css(element, `border${prop2}Width`))\n      ) : 0;\n    }\n    function flipPosition(pos) {\n      for (const dir in dirs$1) {\n        for (const i in dirs$1[dir]) {\n          if (dirs$1[dir][i] === pos) {\n            return dirs$1[dir][1 - i];\n          }\n        }\n      }\n      return pos;\n    }\n    function toPx(value, property = \"width\", element = window, offsetDim = false) {\n      if (!isString(value)) {\n        return toFloat(value);\n      }\n      return sumBy(parseCalc(value), (value2) => {\n        const unit = parseUnit(value2);\n        return unit ? percent(\n          unit === \"vh\" ? getViewportHeight() : unit === \"vw\" ? width(toWindow(element)) : offsetDim ? element[`offset${ucfirst(property)}`] : dimensions$1(element)[property],\n          value2\n        ) : value2;\n      });\n    }\n    const calcRe = /-?\\d+(?:\\.\\d+)?(?:v[wh]|%|px)?/g;\n    const parseCalc = memoize((calc) => calc.toString().replace(/\\s/g, \"\").match(calcRe) || []);\n    const unitRe$1 = /(?:v[hw]|%)$/;\n    const parseUnit = memoize((str) => (str.match(unitRe$1) || [])[0]);\n    function percent(base, value) {\n      return base * toFloat(value) / 100;\n    }\n    let vh;\n    let vhEl;\n    function getViewportHeight() {\n      if (vh) {\n        return vh;\n      }\n      if (!vhEl) {\n        vhEl = $(\"<div>\");\n        css(vhEl, {\n          height: \"100vh\",\n          position: \"fixed\"\n        });\n        on(window, \"resize\", () => vh = null);\n      }\n      append(document.body, vhEl);\n      vh = vhEl.clientHeight;\n      remove$1(vhEl);\n      return vh;\n    }\n\n    const inBrowser = typeof window !== \"undefined\";\n    const isRtl = inBrowser && document.dir === \"rtl\";\n    const hasTouch = inBrowser && \"ontouchstart\" in window;\n    const hasPointerEvents = inBrowser && window.PointerEvent;\n    const pointerDown$1 = hasPointerEvents ? \"pointerdown\" : hasTouch ? \"touchstart\" : \"mousedown\";\n    const pointerMove$1 = hasPointerEvents ? \"pointermove\" : hasTouch ? \"touchmove\" : \"mousemove\";\n    const pointerUp$1 = hasPointerEvents ? \"pointerup\" : hasTouch ? \"touchend\" : \"mouseup\";\n    const pointerEnter = hasPointerEvents ? \"pointerenter\" : hasTouch ? \"\" : \"mouseenter\";\n    const pointerLeave = hasPointerEvents ? \"pointerleave\" : hasTouch ? \"\" : \"mouseleave\";\n    const pointerCancel = hasPointerEvents ? \"pointercancel\" : \"touchcancel\";\n\n    const fastdom = {\n      reads: [],\n      writes: [],\n      read(task) {\n        this.reads.push(task);\n        scheduleFlush();\n        return task;\n      },\n      write(task) {\n        this.writes.push(task);\n        scheduleFlush();\n        return task;\n      },\n      clear(task) {\n        remove(this.reads, task);\n        remove(this.writes, task);\n      },\n      flush\n    };\n    function flush(recursion) {\n      runTasks(fastdom.reads);\n      runTasks(fastdom.writes.splice(0));\n      fastdom.scheduled = false;\n      if (fastdom.reads.length || fastdom.writes.length) {\n        scheduleFlush(recursion + 1);\n      }\n    }\n    const RECURSION_LIMIT = 4;\n    function scheduleFlush(recursion) {\n      if (fastdom.scheduled) {\n        return;\n      }\n      fastdom.scheduled = true;\n      if (recursion && recursion < RECURSION_LIMIT) {\n        Promise.resolve().then(() => flush(recursion));\n      } else {\n        requestAnimationFrame(() => flush(1));\n      }\n    }\n    function runTasks(tasks) {\n      let task;\n      while (task = tasks.shift()) {\n        try {\n          task();\n        } catch (e) {\n          console.error(e);\n        }\n      }\n    }\n    function remove(array, item) {\n      const index = array.indexOf(item);\n      return ~index && array.splice(index, 1);\n    }\n\n    function MouseTracker() {\n    }\n    MouseTracker.prototype = {\n      positions: [],\n      init() {\n        this.positions = [];\n        let position;\n        this.unbind = on(document, \"mousemove\", (e) => position = getEventPos(e));\n        this.interval = setInterval(() => {\n          if (!position) {\n            return;\n          }\n          this.positions.push(position);\n          if (this.positions.length > 5) {\n            this.positions.shift();\n          }\n        }, 50);\n      },\n      cancel() {\n        var _a;\n        (_a = this.unbind) == null ? void 0 : _a.call(this);\n        clearInterval(this.interval);\n      },\n      movesTo(target) {\n        if (this.positions.length < 2) {\n          return false;\n        }\n        const p = target.getBoundingClientRect();\n        const { left, right, top, bottom } = p;\n        const [prevPosition] = this.positions;\n        const position = last(this.positions);\n        const path = [prevPosition, position];\n        if (pointInRect(position, p)) {\n          return false;\n        }\n        const diagonals = [\n          [\n            { x: left, y: top },\n            { x: right, y: bottom }\n          ],\n          [\n            { x: left, y: bottom },\n            { x: right, y: top }\n          ]\n        ];\n        return diagonals.some((diagonal) => {\n          const intersection = intersect(path, diagonal);\n          return intersection && pointInRect(intersection, p);\n        });\n      }\n    };\n    function intersect([{ x: x1, y: y1 }, { x: x2, y: y2 }], [{ x: x3, y: y3 }, { x: x4, y: y4 }]) {\n      const denominator = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);\n      if (denominator === 0) {\n        return false;\n      }\n      const ua = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denominator;\n      if (ua < 0) {\n        return false;\n      }\n      return { x: x1 + ua * (x2 - x1), y: y1 + ua * (y2 - y1) };\n    }\n\n    function observeIntersection(targets, cb, options = {}, { intersecting = true } = {}) {\n      const observer = new IntersectionObserver(\n        intersecting ? (entries, observer2) => {\n          if (entries.some((entry) => entry.isIntersecting)) {\n            cb(entries, observer2);\n          }\n        } : cb,\n        options\n      );\n      for (const el of toNodes(targets)) {\n        observer.observe(el);\n      }\n      return observer;\n    }\n    const hasResizeObserver = inBrowser && window.ResizeObserver;\n    function observeResize(targets, cb, options = { box: \"border-box\" }) {\n      if (hasResizeObserver) {\n        return observe$1(ResizeObserver, targets, cb, options);\n      }\n      initResizeListener();\n      listeners.add(cb);\n      return {\n        observe: noop,\n        unobserve: noop,\n        disconnect() {\n          listeners.delete(cb);\n        }\n      };\n    }\n    let listeners;\n    function initResizeListener() {\n      if (listeners) {\n        return;\n      }\n      listeners = /* @__PURE__ */ new Set();\n      let pendingResize;\n      const handleResize = () => {\n        if (pendingResize) {\n          return;\n        }\n        pendingResize = true;\n        requestAnimationFrame(() => pendingResize = false);\n        for (const listener of listeners) {\n          listener();\n        }\n      };\n      on(window, \"load resize\", handleResize);\n      on(document, \"loadedmetadata load\", handleResize, true);\n    }\n    function observeMutation(targets, cb, options) {\n      return observe$1(MutationObserver, targets, cb, options);\n    }\n    function observe$1(Observer, targets, cb, options) {\n      const observer = new Observer(cb);\n      for (const el of toNodes(targets)) {\n        observer.observe(el, options);\n      }\n      return observer;\n    }\n\n    function play(el) {\n      if (isIFrame(el)) {\n        call(el, { func: \"playVideo\", method: \"play\" });\n      }\n      if (isHTML5(el)) {\n        try {\n          el.play().catch(noop);\n        } catch (e) {\n        }\n      }\n    }\n    function pause(el) {\n      if (isIFrame(el)) {\n        call(el, { func: \"pauseVideo\", method: \"pause\" });\n      }\n      if (isHTML5(el)) {\n        el.pause();\n      }\n    }\n    function mute(el) {\n      if (isIFrame(el)) {\n        call(el, { func: \"mute\", method: \"setVolume\", value: 0 });\n      }\n      if (isHTML5(el)) {\n        el.muted = true;\n      }\n    }\n    function isVideo(el) {\n      return isHTML5(el) || isIFrame(el);\n    }\n    function isHTML5(el) {\n      return isTag(el, \"video\");\n    }\n    function isIFrame(el) {\n      return isTag(el, \"iframe\") && (isYoutube(el) || isVimeo(el));\n    }\n    function isYoutube(el) {\n      return !!el.src.match(\n        /\\/\\/.*?youtube(-nocookie)?\\.[a-z]+\\/(watch\\?v=[^&\\s]+|embed)|youtu\\.be\\/.*/\n      );\n    }\n    function isVimeo(el) {\n      return !!el.src.match(/vimeo\\.com\\/video\\/.*/);\n    }\n    async function call(el, cmd) {\n      await enableApi(el);\n      post(el, cmd);\n    }\n    function post(el, cmd) {\n      try {\n        el.contentWindow.postMessage(JSON.stringify({ event: \"command\", ...cmd }), \"*\");\n      } catch (e) {\n      }\n    }\n    const stateKey = \"_ukPlayer\";\n    let counter = 0;\n    function enableApi(el) {\n      if (el[stateKey]) {\n        return el[stateKey];\n      }\n      const youtube = isYoutube(el);\n      const vimeo = isVimeo(el);\n      const id = ++counter;\n      let poller;\n      return el[stateKey] = new Promise((resolve) => {\n        youtube && once(el, \"load\", () => {\n          const listener = () => post(el, { event: \"listening\", id });\n          poller = setInterval(listener, 100);\n          listener();\n        });\n        once(window, \"message\", resolve, false, ({ data }) => {\n          try {\n            data = JSON.parse(data);\n            return youtube && (data == null ? void 0 : data.id) === id && data.event === \"onReady\" || vimeo && Number(data == null ? void 0 : data.player_id) === id;\n          } catch (e) {\n          }\n        });\n        el.src = `${el.src}${includes(el.src, \"?\") ? \"&\" : \"?\"}${youtube ? \"enablejsapi=1\" : `api=1&player_id=${id}`}`;\n      }).then(() => clearInterval(poller));\n    }\n\n    function isInView(element, offsetTop = 0, offsetLeft = 0) {\n      if (!isVisible(element)) {\n        return false;\n      }\n      return intersectRect(\n        ...overflowParents(element).map((parent) => {\n          const { top, left, bottom, right } = offsetViewport(parent);\n          return {\n            top: top - offsetTop,\n            left: left - offsetLeft,\n            bottom: bottom + offsetTop,\n            right: right + offsetLeft\n          };\n        }).concat(offset(element))\n      );\n    }\n    function scrollIntoView(element, { offset: offsetBy = 0 } = {}) {\n      const parents2 = isVisible(element) ? scrollParents(element, false, [\"hidden\"]) : [];\n      return parents2.reduce(\n        (fn, scrollElement, i) => {\n          const { scrollTop, scrollHeight, offsetHeight } = scrollElement;\n          const viewport = offsetViewport(scrollElement);\n          const maxScroll = scrollHeight - viewport.height;\n          const { height: elHeight, top: elTop } = parents2[i - 1] ? offsetViewport(parents2[i - 1]) : offset(element);\n          let top = Math.ceil(elTop - viewport.top - offsetBy + scrollTop);\n          if (offsetBy > 0 && offsetHeight < elHeight + offsetBy) {\n            top += offsetBy;\n          } else {\n            offsetBy = 0;\n          }\n          if (top > maxScroll) {\n            offsetBy -= top - maxScroll;\n            top = maxScroll;\n          } else if (top < 0) {\n            offsetBy -= top;\n            top = 0;\n          }\n          return () => scrollTo(scrollElement, top - scrollTop).then(fn);\n        },\n        () => Promise.resolve()\n      )();\n      function scrollTo(element2, top) {\n        return new Promise((resolve) => {\n          const scroll = element2.scrollTop;\n          const duration = getDuration(Math.abs(top));\n          const start = Date.now();\n          (function step() {\n            const percent = ease(clamp((Date.now() - start) / duration));\n            element2.scrollTop = scroll + top * percent;\n            if (percent === 1) {\n              resolve();\n            } else {\n              requestAnimationFrame(step);\n            }\n          })();\n        });\n      }\n      function getDuration(dist) {\n        return 40 * Math.pow(dist, 0.375);\n      }\n      function ease(k) {\n        return 0.5 * (1 - Math.cos(Math.PI * k));\n      }\n    }\n    function scrolledOver(element, startOffset = 0, endOffset = 0) {\n      if (!isVisible(element)) {\n        return 0;\n      }\n      const [scrollElement] = scrollParents(element, true);\n      const { scrollHeight, scrollTop } = scrollElement;\n      const { height: viewportHeight } = offsetViewport(scrollElement);\n      const maxScroll = scrollHeight - viewportHeight;\n      const elementOffsetTop = offsetPosition(element)[0] - offsetPosition(scrollElement)[0];\n      const start = Math.max(0, elementOffsetTop - viewportHeight + startOffset);\n      const end = Math.min(maxScroll, elementOffsetTop + element.offsetHeight - endOffset);\n      return clamp((scrollTop - start) / (end - start));\n    }\n    function scrollParents(element, scrollable = false, props = []) {\n      const scrollEl = scrollingElement(element);\n      let ancestors = parents(element).reverse();\n      ancestors = ancestors.slice(ancestors.indexOf(scrollEl) + 1);\n      const fixedIndex = findIndex(ancestors, (el) => css(el, \"position\") === \"fixed\");\n      if (~fixedIndex) {\n        ancestors = ancestors.slice(fixedIndex);\n      }\n      return [scrollEl].concat(\n        ancestors.filter(\n          (parent) => css(parent, \"overflow\").split(\" \").some((prop) => includes([\"auto\", \"scroll\", ...props], prop)) && (!scrollable || parent.scrollHeight > offsetViewport(parent).height)\n        )\n      ).reverse();\n    }\n    function overflowParents(element) {\n      return scrollParents(element, false, [\"hidden\", \"clip\"]);\n    }\n    function offsetViewport(scrollElement) {\n      const window = toWindow(scrollElement);\n      const {\n        visualViewport,\n        document: { documentElement }\n      } = window;\n      let viewportElement = scrollElement === scrollingElement(scrollElement) ? window : scrollElement;\n      if (isWindow(viewportElement) && visualViewport) {\n        let { height, width, scale, pageTop: top, pageLeft: left } = visualViewport;\n        height = Math.round(height * scale);\n        width = Math.round(width * scale);\n        return { height, width, top, left, bottom: top + height, right: left + width };\n      }\n      let rect = offset(viewportElement);\n      if (css(viewportElement, \"display\") === \"inline\") {\n        return rect;\n      }\n      for (let [prop, dir, start, end] of [\n        [\"width\", \"x\", \"left\", \"right\"],\n        [\"height\", \"y\", \"top\", \"bottom\"]\n      ]) {\n        if (isWindow(viewportElement)) {\n          viewportElement = documentElement;\n        } else {\n          rect[start] += toFloat(css(viewportElement, `border-${start}-width`));\n        }\n        const subpixel = rect[prop] % 1;\n        rect[prop] = rect[dir] = viewportElement[`client${ucfirst(prop)}`] - (subpixel ? subpixel < 0.5 ? -subpixel : 1 - subpixel : 0);\n        rect[end] = rect[prop] + rect[start];\n      }\n      return rect;\n    }\n    function scrollingElement(element) {\n      return toWindow(element).document.scrollingElement;\n    }\n\n    const dirs = [\n      [\"width\", \"x\", \"left\", \"right\"],\n      [\"height\", \"y\", \"top\", \"bottom\"]\n    ];\n    function positionAt(element, target, options) {\n      options = {\n        attach: {\n          element: [\"left\", \"top\"],\n          target: [\"left\", \"top\"],\n          ...options.attach\n        },\n        offset: [0, 0],\n        placement: [],\n        ...options\n      };\n      if (!isArray(target)) {\n        target = [target, target];\n      }\n      offset(element, getPosition(element, target, options));\n    }\n    function getPosition(element, target, options) {\n      const position = attachTo(element, target, options);\n      const { boundary, viewportOffset = 0, placement } = options;\n      let offsetPosition = position;\n      for (const [i, [prop, , start, end]] of Object.entries(dirs)) {\n        const viewport = getViewport$2(element, target[i], viewportOffset, boundary, i);\n        if (isWithin(position, viewport, i)) {\n          continue;\n        }\n        let offsetBy = 0;\n        if (placement[i] === \"flip\") {\n          const attach = options.attach.target[i];\n          if (attach === end && position[end] <= viewport[end] || attach === start && position[start] >= viewport[start]) {\n            continue;\n          }\n          offsetBy = flip(element, target, options, i)[start] - position[start];\n          const scrollArea = getScrollArea(element, target[i], viewportOffset, i);\n          if (!isWithin(applyOffset(position, offsetBy, i), scrollArea, i)) {\n            if (isWithin(position, scrollArea, i)) {\n              continue;\n            }\n            if (options.recursion) {\n              return false;\n            }\n            const newPos = flipAxis(element, target, options);\n            if (newPos && isWithin(newPos, scrollArea, 1 - i)) {\n              return newPos;\n            }\n            continue;\n          }\n        } else if (placement[i] === \"shift\") {\n          const targetDim = offset(target[i]);\n          const { offset: elOffset } = options;\n          offsetBy = clamp(\n            clamp(position[start], viewport[start], viewport[end] - position[prop]),\n            targetDim[start] - position[prop] + elOffset[i],\n            targetDim[end] - elOffset[i]\n          ) - position[start];\n        }\n        offsetPosition = applyOffset(offsetPosition, offsetBy, i);\n      }\n      return offsetPosition;\n    }\n    function attachTo(element, target, options) {\n      let { attach, offset: offsetBy } = {\n        attach: {\n          element: [\"left\", \"top\"],\n          target: [\"left\", \"top\"],\n          ...options.attach\n        },\n        offset: [0, 0],\n        ...options\n      };\n      let elOffset = offset(element);\n      for (const [i, [prop, , start, end]] of Object.entries(dirs)) {\n        const targetOffset = attach.target[i] === attach.element[i] ? offsetViewport(target[i]) : offset(target[i]);\n        elOffset = applyOffset(\n          elOffset,\n          targetOffset[start] - elOffset[start] + moveBy(attach.target[i], end, targetOffset[prop]) - moveBy(attach.element[i], end, elOffset[prop]) + +offsetBy[i],\n          i\n        );\n      }\n      return elOffset;\n    }\n    function applyOffset(position, offset2, i) {\n      const [, dir, start, end] = dirs[i];\n      const newPos = { ...position };\n      newPos[start] = position[dir] = position[start] + offset2;\n      newPos[end] += offset2;\n      return newPos;\n    }\n    function moveBy(attach, end, dim) {\n      return attach === \"center\" ? dim / 2 : attach === end ? dim : 0;\n    }\n    function getViewport$2(element, target, viewportOffset, boundary, i) {\n      let viewport = getIntersectionArea(...commonScrollParents(element, target).map(offsetViewport));\n      if (viewportOffset) {\n        viewport[dirs[i][2]] += viewportOffset;\n        viewport[dirs[i][3]] -= viewportOffset;\n      }\n      if (boundary) {\n        viewport = getIntersectionArea(\n          viewport,\n          offset(isArray(boundary) ? boundary[i] : boundary)\n        );\n      }\n      return viewport;\n    }\n    function getScrollArea(element, target, viewportOffset, i) {\n      const [prop, axis, start, end] = dirs[i];\n      const [scrollElement] = commonScrollParents(element, target);\n      const viewport = offsetViewport(scrollElement);\n      if ([\"auto\", \"scroll\"].includes(css(scrollElement, `overflow-${axis}`))) {\n        viewport[start] -= scrollElement[`scroll${ucfirst(start)}`];\n        viewport[end] = viewport[start] + scrollElement[`scroll${ucfirst(prop)}`];\n      }\n      viewport[start] += viewportOffset;\n      viewport[end] -= viewportOffset;\n      return viewport;\n    }\n    function commonScrollParents(element, target) {\n      return overflowParents(target).filter((parent) => within(element, parent));\n    }\n    function getIntersectionArea(...rects) {\n      let area = {};\n      for (const rect of rects) {\n        for (const [, , start, end] of dirs) {\n          area[start] = Math.max(area[start] || 0, rect[start]);\n          area[end] = Math.min(...[area[end], rect[end]].filter(Boolean));\n        }\n      }\n      return area;\n    }\n    function isWithin(positionA, positionB, i) {\n      const [, , start, end] = dirs[i];\n      return positionA[start] >= positionB[start] && positionA[end] <= positionB[end];\n    }\n    function flip(element, target, { offset: offset2, attach }, i) {\n      return attachTo(element, target, {\n        attach: {\n          element: flipAttach(attach.element, i),\n          target: flipAttach(attach.target, i)\n        },\n        offset: flipOffset(offset2, i)\n      });\n    }\n    function flipAxis(element, target, options) {\n      return getPosition(element, target, {\n        ...options,\n        attach: {\n          element: options.attach.element.map(flipAttachAxis).reverse(),\n          target: options.attach.target.map(flipAttachAxis).reverse()\n        },\n        offset: options.offset.reverse(),\n        placement: options.placement.reverse(),\n        recursion: true\n      });\n    }\n    function flipAttach(attach, i) {\n      const newAttach = [...attach];\n      const index = dirs[i].indexOf(attach[i]);\n      if (~index) {\n        newAttach[i] = dirs[i][1 - index % 2 + 2];\n      }\n      return newAttach;\n    }\n    function flipAttachAxis(prop) {\n      for (let i = 0; i < dirs.length; i++) {\n        const index = dirs[i].indexOf(prop);\n        if (~index) {\n          return dirs[1 - i][index % 2 + 2];\n        }\n      }\n    }\n    function flipOffset(offset2, i) {\n      offset2 = [...offset2];\n      offset2[i] *= -1;\n      return offset2;\n    }\n\n    var util = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        $: $,\n        $$: $$,\n        Animation: Animation,\n        Deferred: Deferred,\n        Dimensions: Dimensions,\n        MouseTracker: MouseTracker,\n        Transition: Transition,\n        addClass: addClass,\n        after: after,\n        append: append,\n        apply: apply,\n        assign: assign,\n        attr: attr,\n        before: before,\n        boxModelAdjust: boxModelAdjust,\n        camelize: camelize,\n        children: children,\n        clamp: clamp,\n        closest: closest,\n        createEvent: createEvent,\n        css: css,\n        data: data,\n        dimensions: dimensions$1,\n        each: each,\n        empty: empty,\n        endsWith: endsWith,\n        escape: escape,\n        fastdom: fastdom,\n        filter: filter$1,\n        find: find,\n        findAll: findAll,\n        findIndex: findIndex,\n        flipPosition: flipPosition,\n        fragment: fragment,\n        getEventPos: getEventPos,\n        getIndex: getIndex,\n        getTargetedElement: getTargetedElement,\n        hasAttr: hasAttr,\n        hasClass: hasClass,\n        hasOwn: hasOwn,\n        hasTouch: hasTouch,\n        height: height,\n        html: html,\n        hyphenate: hyphenate,\n        inBrowser: inBrowser,\n        includes: includes,\n        index: index,\n        intersectRect: intersectRect,\n        isArray: isArray,\n        isBoolean: isBoolean,\n        isDocument: isDocument,\n        isElement: isElement,\n        isEmpty: isEmpty,\n        isEqual: isEqual,\n        isFocusable: isFocusable,\n        isFunction: isFunction,\n        isInView: isInView,\n        isInput: isInput,\n        isNode: isNode,\n        isNumber: isNumber,\n        isNumeric: isNumeric,\n        isObject: isObject,\n        isPlainObject: isPlainObject,\n        isRtl: isRtl,\n        isSameSiteAnchor: isSameSiteAnchor,\n        isString: isString,\n        isTag: isTag,\n        isTouch: isTouch,\n        isUndefined: isUndefined,\n        isVideo: isVideo,\n        isVisible: isVisible,\n        isVoidElement: isVoidElement,\n        isWindow: isWindow,\n        last: last,\n        matches: matches,\n        memoize: memoize,\n        mute: mute,\n        noop: noop,\n        observeIntersection: observeIntersection,\n        observeMutation: observeMutation,\n        observeResize: observeResize,\n        off: off,\n        offset: offset,\n        offsetPosition: offsetPosition,\n        offsetViewport: offsetViewport,\n        on: on,\n        once: once,\n        overflowParents: overflowParents,\n        parent: parent,\n        parents: parents,\n        pause: pause,\n        pick: pick,\n        play: play,\n        pointInRect: pointInRect,\n        pointerCancel: pointerCancel,\n        pointerDown: pointerDown$1,\n        pointerEnter: pointerEnter,\n        pointerLeave: pointerLeave,\n        pointerMove: pointerMove$1,\n        pointerUp: pointerUp$1,\n        position: position,\n        positionAt: positionAt,\n        prepend: prepend,\n        propName: propName,\n        query: query,\n        queryAll: queryAll,\n        ready: ready,\n        remove: remove$1,\n        removeAttr: removeAttr,\n        removeClass: removeClass,\n        removeClasses: removeClasses,\n        replaceClass: replaceClass,\n        scrollIntoView: scrollIntoView,\n        scrollParents: scrollParents,\n        scrolledOver: scrolledOver,\n        selFocusable: selFocusable,\n        selInput: selInput,\n        sortBy: sortBy$1,\n        startsWith: startsWith,\n        sumBy: sumBy,\n        swap: swap,\n        toArray: toArray,\n        toBoolean: toBoolean,\n        toEventTargets: toEventTargets,\n        toFloat: toFloat,\n        toNode: toNode,\n        toNodes: toNodes,\n        toNumber: toNumber,\n        toPx: toPx,\n        toWindow: toWindow,\n        toggleClass: toggleClass,\n        trigger: trigger,\n        ucfirst: ucfirst,\n        uniqueBy: uniqueBy,\n        unwrap: unwrap,\n        width: width,\n        within: within,\n        wrapAll: wrapAll,\n        wrapInner: wrapInner\n    });\n\n    function initWatches(instance) {\n      instance._watches = [];\n      for (const watches of instance.$options.watch || []) {\n        for (const [name, watch] of Object.entries(watches)) {\n          registerWatch(instance, watch, name);\n        }\n      }\n      instance._initial = true;\n    }\n    function registerWatch(instance, watch, name) {\n      instance._watches.push({\n        name,\n        ...isPlainObject(watch) ? watch : { handler: watch }\n      });\n    }\n    function runWatches(instance, values) {\n      for (const { name, handler, immediate = true } of instance._watches) {\n        if (instance._initial && immediate || hasOwn(values, name) && !isEqual(values[name], instance[name])) {\n          handler.call(instance, instance[name], values[name]);\n        }\n      }\n      instance._initial = false;\n    }\n\n    function initUpdates(instance) {\n      instance._data = {};\n      instance._updates = [...instance.$options.update || []];\n    }\n    function prependUpdate(instance, update) {\n      instance._updates.unshift(update);\n    }\n    function clearUpdateData(instance) {\n      delete instance._data;\n    }\n    function callUpdate(instance, e = \"update\") {\n      if (!instance._connected) {\n        return;\n      }\n      if (!instance._updates.length) {\n        return;\n      }\n      if (!instance._queued) {\n        instance._queued = /* @__PURE__ */ new Set();\n        fastdom.read(() => {\n          if (instance._connected) {\n            runUpdates(instance, instance._queued);\n          }\n          delete instance._queued;\n        });\n      }\n      instance._queued.add(e.type || e);\n    }\n    function runUpdates(instance, types) {\n      for (const { read, write, events = [] } of instance._updates) {\n        if (!types.has(\"update\") && !events.some((type) => types.has(type))) {\n          continue;\n        }\n        let result;\n        if (read) {\n          result = read.call(instance, instance._data, types);\n          if (result && isPlainObject(result)) {\n            assign(instance._data, result);\n          }\n        }\n        if (write && result !== false) {\n          fastdom.write(() => {\n            if (instance._connected) {\n              write.call(instance, instance._data, types);\n            }\n          });\n        }\n      }\n    }\n\n    function initComputed(instance) {\n      const { computed } = instance.$options;\n      instance._computed = {};\n      if (computed) {\n        for (const key in computed) {\n          registerComputed(instance, key, computed[key]);\n        }\n      }\n    }\n    function registerComputed(instance, key, cb) {\n      instance._hasComputed = true;\n      Object.defineProperty(instance, key, {\n        enumerable: true,\n        get() {\n          const { _computed, $props, $el } = instance;\n          if (!hasOwn(_computed, key)) {\n            _computed[key] = (cb.get || cb).call(instance, $props, $el);\n          }\n          return _computed[key];\n        },\n        set(value) {\n          const { _computed } = instance;\n          _computed[key] = cb.set ? cb.set.call(instance, value) : value;\n          if (isUndefined(_computed[key])) {\n            delete _computed[key];\n          }\n        }\n      });\n    }\n    function initComputedUpdates(instance) {\n      if (!instance._hasComputed) {\n        return;\n      }\n      prependUpdate(instance, {\n        read: () => runWatches(instance, resetComputed(instance)),\n        events: [\"resize\", \"computed\"]\n      });\n      registerComputedObserver();\n      instances$1.add(instance);\n    }\n    function disconnectComputedUpdates(instance) {\n      instances$1 == null ? void 0 : instances$1.delete(instance);\n      resetComputed(instance);\n    }\n    function resetComputed(instance) {\n      const values = { ...instance._computed };\n      instance._computed = {};\n      return values;\n    }\n    let observer;\n    let instances$1;\n    function registerComputedObserver() {\n      if (observer) {\n        return;\n      }\n      instances$1 = /* @__PURE__ */ new Set();\n      observer = new MutationObserver(() => {\n        for (const instance of instances$1) {\n          callUpdate(instance, \"computed\");\n        }\n      });\n      observer.observe(document, {\n        childList: true,\n        subtree: true\n      });\n    }\n\n    function initEvents(instance) {\n      instance._events = [];\n      for (const event of instance.$options.events || []) {\n        if (hasOwn(event, \"handler\")) {\n          registerEvent(instance, event);\n        } else {\n          for (const key in event) {\n            registerEvent(instance, event[key], key);\n          }\n        }\n      }\n    }\n    function unbindEvents(instance) {\n      instance._events.forEach((unbind) => unbind());\n      delete instance._events;\n    }\n    function registerEvent(instance, event, key) {\n      let { name, el, handler, capture, passive, delegate, filter, self } = isPlainObject(event) ? event : { name: key, handler: event };\n      el = isFunction(el) ? el.call(instance, instance) : el || instance.$el;\n      if (isArray(el)) {\n        el.forEach((el2) => registerEvent(instance, { ...event, el: el2 }, key));\n        return;\n      }\n      if (!el || filter && !filter.call(instance)) {\n        return;\n      }\n      instance._events.push(\n        on(\n          el,\n          name,\n          delegate ? isString(delegate) ? delegate : delegate.call(instance, instance) : null,\n          isString(handler) ? instance[handler] : handler.bind(instance),\n          { passive, capture, self }\n        )\n      );\n    }\n\n    function initObservers(instance) {\n      instance._observers = [];\n      for (const observer of instance.$options.observe || []) {\n        if (hasOwn(observer, \"handler\")) {\n          registerObservable(instance, observer);\n        } else {\n          for (const observable of observer) {\n            registerObservable(instance, observable);\n          }\n        }\n      }\n    }\n    function registerObserver(instance, ...observer) {\n      instance._observers.push(...observer);\n    }\n    function disconnectObservers(instance) {\n      for (const observer of instance._observers) {\n        observer.disconnect();\n      }\n    }\n    function registerObservable(instance, observable) {\n      let { observe, target = instance.$el, handler, options, filter, args } = observable;\n      if (filter && !filter.call(instance, instance)) {\n        return;\n      }\n      const key = `_observe${instance._observers.length}`;\n      if (isFunction(target) && !hasOwn(instance, key)) {\n        registerComputed(instance, key, () => target.call(instance, instance));\n      }\n      handler = isString(handler) ? instance[handler] : handler.bind(instance);\n      if (isFunction(options)) {\n        options = options.call(instance, instance);\n      }\n      const targets = hasOwn(instance, key) ? instance[key] : target;\n      const observer = observe(targets, handler, options, args);\n      if (isFunction(target) && isArray(instance[key]) && observer.unobserve) {\n        registerWatch(instance, { handler: updateTargets(observer), immediate: false }, key);\n      }\n      registerObserver(instance, observer);\n    }\n    function updateTargets(observer) {\n      return (targets, prev) => {\n        for (const target of prev) {\n          !includes(targets, target) && observer.unobserve(target);\n        }\n        for (const target of targets) {\n          !includes(prev, target) && observer.observe(target);\n        }\n      };\n    }\n\n    const strats = {};\n    strats.events = strats.watch = strats.observe = strats.created = strats.beforeConnect = strats.connected = strats.beforeDisconnect = strats.disconnected = strats.destroy = concatStrat;\n    strats.args = function(parentVal, childVal) {\n      return childVal !== false && concatStrat(childVal || parentVal);\n    };\n    strats.update = function(parentVal, childVal) {\n      return sortBy$1(\n        concatStrat(parentVal, isFunction(childVal) ? { read: childVal } : childVal),\n        \"order\"\n      );\n    };\n    strats.props = function(parentVal, childVal) {\n      if (isArray(childVal)) {\n        const value = {};\n        for (const key of childVal) {\n          value[key] = String;\n        }\n        childVal = value;\n      }\n      return strats.methods(parentVal, childVal);\n    };\n    strats.computed = strats.methods = function(parentVal, childVal) {\n      return childVal ? parentVal ? { ...parentVal, ...childVal } : childVal : parentVal;\n    };\n    strats.i18n = strats.data = function(parentVal, childVal, vm) {\n      if (!vm) {\n        if (!childVal) {\n          return parentVal;\n        }\n        if (!parentVal) {\n          return childVal;\n        }\n        return function(vm2) {\n          return mergeFnData(parentVal, childVal, vm2);\n        };\n      }\n      return mergeFnData(parentVal, childVal, vm);\n    };\n    function mergeFnData(parentVal, childVal, vm) {\n      return strats.computed(\n        isFunction(parentVal) ? parentVal.call(vm, vm) : parentVal,\n        isFunction(childVal) ? childVal.call(vm, vm) : childVal\n      );\n    }\n    function concatStrat(parentVal, childVal) {\n      parentVal = parentVal && !isArray(parentVal) ? [parentVal] : parentVal;\n      return childVal ? parentVal ? parentVal.concat(childVal) : isArray(childVal) ? childVal : [childVal] : parentVal;\n    }\n    function defaultStrat(parentVal, childVal) {\n      return isUndefined(childVal) ? parentVal : childVal;\n    }\n    function mergeOptions(parent, child, vm) {\n      const options = {};\n      if (isFunction(child)) {\n        child = child.options;\n      }\n      if (child.extends) {\n        parent = mergeOptions(parent, child.extends, vm);\n      }\n      if (child.mixins) {\n        for (const mixin of child.mixins) {\n          parent = mergeOptions(parent, mixin, vm);\n        }\n      }\n      for (const key in parent) {\n        mergeKey(key);\n      }\n      for (const key in child) {\n        if (!hasOwn(parent, key)) {\n          mergeKey(key);\n        }\n      }\n      function mergeKey(key) {\n        options[key] = (strats[key] || defaultStrat)(parent[key], child[key], vm);\n      }\n      return options;\n    }\n    function parseOptions(options, args = []) {\n      try {\n        return options ? startsWith(options, \"{\") ? JSON.parse(options) : args.length && !includes(options, \":\") ? { [args[0]]: options } : options.split(\";\").reduce((options2, option) => {\n          const [key, value] = option.split(/:(.*)/);\n          if (key && !isUndefined(value)) {\n            options2[key.trim()] = value.trim();\n          }\n          return options2;\n        }, {}) : {};\n      } catch (e) {\n        return {};\n      }\n    }\n    function coerce$1(type, value) {\n      if (type === Boolean) {\n        return toBoolean(value);\n      } else if (type === Number) {\n        return toNumber(value);\n      } else if (type === \"list\") {\n        return toList(value);\n      } else if (type === Object && isString(value)) {\n        return parseOptions(value);\n      }\n      return type ? type(value) : value;\n    }\n    function toList(value) {\n      return isArray(value) ? value : isString(value) ? value.split(/,(?![^(]*\\))/).map((value2) => isNumeric(value2) ? toNumber(value2) : toBoolean(value2.trim())) : [value];\n    }\n\n    function initProps(instance) {\n      const props = getProps$1(instance.$options);\n      for (let key in props) {\n        if (!isUndefined(props[key])) {\n          instance.$props[key] = props[key];\n        }\n      }\n      const exclude = [instance.$options.computed, instance.$options.methods];\n      for (let key in instance.$props) {\n        if (key in props && notIn(exclude, key)) {\n          instance[key] = instance.$props[key];\n        }\n      }\n    }\n    function getProps$1(opts) {\n      const data$1 = {};\n      const { args = [], props = {}, el, id } = opts;\n      if (!props) {\n        return data$1;\n      }\n      for (const key in props) {\n        const prop = hyphenate(key);\n        let value = data(el, prop);\n        if (isUndefined(value)) {\n          continue;\n        }\n        value = props[key] === Boolean && value === \"\" ? true : coerce$1(props[key], value);\n        if (prop === \"target\" && startsWith(value, \"_\")) {\n          continue;\n        }\n        data$1[key] = value;\n      }\n      const options = parseOptions(data(el, id), args);\n      for (const key in options) {\n        const prop = camelize(key);\n        if (!isUndefined(props[prop])) {\n          data$1[prop] = coerce$1(props[prop], options[key]);\n        }\n      }\n      return data$1;\n    }\n    function notIn(options, key) {\n      return options.every((arr) => !arr || !hasOwn(arr, key));\n    }\n    function initPropsObserver(instance) {\n      const { $options, $props } = instance;\n      const { id, props, el } = $options;\n      if (!props) {\n        return;\n      }\n      const attributes = Object.keys(props);\n      const filter = attributes.map((key) => hyphenate(key)).concat(id);\n      const observer = new MutationObserver((records) => {\n        const data = getProps$1($options);\n        if (records.some(({ attributeName }) => {\n          const prop = attributeName.replace(\"data-\", \"\");\n          return (prop === id ? attributes : [camelize(prop), camelize(attributeName)]).some(\n            (prop2) => !isUndefined(data[prop2]) && data[prop2] !== $props[prop2]\n          );\n        })) {\n          instance.$reset();\n        }\n      });\n      observer.observe(el, {\n        attributes: true,\n        attributeFilter: filter.concat(filter.map((key) => `data-${key}`))\n      });\n      registerObserver(instance, observer);\n    }\n\n    function callHook(instance, hook) {\n      var _a;\n      (_a = instance.$options[hook]) == null ? void 0 : _a.forEach((handler) => handler.call(instance));\n    }\n    function callConnected(instance) {\n      if (instance._connected) {\n        return;\n      }\n      initProps(instance);\n      callHook(instance, \"beforeConnect\");\n      instance._connected = true;\n      initEvents(instance);\n      initUpdates(instance);\n      initWatches(instance);\n      initObservers(instance);\n      initPropsObserver(instance);\n      initComputedUpdates(instance);\n      callHook(instance, \"connected\");\n      callUpdate(instance);\n    }\n    function callDisconnected(instance) {\n      if (!instance._connected) {\n        return;\n      }\n      callHook(instance, \"beforeDisconnect\");\n      unbindEvents(instance);\n      clearUpdateData(instance);\n      disconnectObservers(instance);\n      disconnectComputedUpdates(instance);\n      callHook(instance, \"disconnected\");\n      instance._connected = false;\n    }\n\n    let uid = 0;\n    function init$1(instance, options = {}) {\n      options.data = normalizeData(options, instance.constructor.options);\n      instance.$options = mergeOptions(instance.constructor.options, options, instance);\n      instance.$props = {};\n      instance._uid = uid++;\n      initData(instance);\n      initMethods(instance);\n      initComputed(instance);\n      callHook(instance, \"created\");\n      if (options.el) {\n        instance.$mount(options.el);\n      }\n    }\n    function initData(instance) {\n      const { data = {} } = instance.$options;\n      for (const key in data) {\n        instance.$props[key] = instance[key] = data[key];\n      }\n    }\n    function initMethods(instance) {\n      const { methods } = instance.$options;\n      if (methods) {\n        for (const key in methods) {\n          instance[key] = methods[key].bind(instance);\n        }\n      }\n    }\n    function normalizeData({ data = {} }, { args = [], props = {} }) {\n      if (isArray(data)) {\n        data = data.slice(0, args.length).reduce((data2, value, index) => {\n          if (isPlainObject(value)) {\n            assign(data2, value);\n          } else {\n            data2[args[index]] = value;\n          }\n          return data2;\n        }, {});\n      }\n      for (const key in data) {\n        if (isUndefined(data[key])) {\n          delete data[key];\n        } else if (props[key]) {\n          data[key] = coerce$1(props[key], data[key]);\n        }\n      }\n      return data;\n    }\n\n    const App = function(options) {\n      init$1(this, options);\n    };\n    App.util = util;\n    App.options = {};\n    App.version = \"3.16.15\";\n\n    const PREFIX = \"uk-\";\n    const DATA = \"__uikit__\";\n    const components$2 = {};\n    function component(name, options) {\n      var _a;\n      const id = PREFIX + hyphenate(name);\n      if (!options) {\n        if (isPlainObject(components$2[id])) {\n          components$2[id] = App.extend(components$2[id]);\n        }\n        return components$2[id];\n      }\n      name = camelize(name);\n      App[name] = (element, data) => createComponent(name, element, data);\n      const opt = isPlainObject(options) ? { ...options } : options.options;\n      opt.id = id;\n      opt.name = name;\n      (_a = opt.install) == null ? void 0 : _a.call(opt, App, opt, name);\n      if (App._initialized && !opt.functional) {\n        requestAnimationFrame(() => createComponent(name, `[${id}],[data-${id}]`));\n      }\n      return components$2[id] = opt;\n    }\n    function createComponent(name, element, data, ...args) {\n      const Component = component(name);\n      return Component.options.functional ? new Component({ data: isPlainObject(element) ? element : [element, data, ...args] }) : element ? $$(element).map(init)[0] : init();\n      function init(element2) {\n        const instance = getComponent(element2, name);\n        if (instance) {\n          if (data) {\n            instance.$destroy();\n          } else {\n            return instance;\n          }\n        }\n        return new Component({ el: element2, data });\n      }\n    }\n    function getComponents(element) {\n      return (element == null ? void 0 : element[DATA]) || {};\n    }\n    function getComponent(element, name) {\n      return getComponents(element)[name];\n    }\n    function attachToElement(element, instance) {\n      if (!element[DATA]) {\n        element[DATA] = {};\n      }\n      element[DATA][instance.$options.name] = instance;\n    }\n    function detachFromElement(element, instance) {\n      var _a;\n      (_a = element[DATA]) == null ? true : delete _a[instance.$options.name];\n      if (!isEmpty(element[DATA])) {\n        delete element[DATA];\n      }\n    }\n\n    function globalApi(App) {\n      App.component = component;\n      App.getComponents = getComponents;\n      App.getComponent = getComponent;\n      App.update = update;\n      App.use = function(plugin) {\n        if (plugin.installed) {\n          return;\n        }\n        plugin.call(null, this);\n        plugin.installed = true;\n        return this;\n      };\n      App.mixin = function(mixin, component2) {\n        component2 = (isString(component2) ? this.component(component2) : component2) || this;\n        component2.options = mergeOptions(component2.options, mixin);\n      };\n      App.extend = function(options) {\n        options = options || {};\n        const Super = this;\n        const Sub = function UIkitComponent(options2) {\n          init$1(this, options2);\n        };\n        Sub.prototype = Object.create(Super.prototype);\n        Sub.prototype.constructor = Sub;\n        Sub.options = mergeOptions(Super.options, options);\n        Sub.super = Super;\n        Sub.extend = Super.extend;\n        return Sub;\n      };\n      let container;\n      Object.defineProperty(App, \"container\", {\n        get() {\n          return container || document.body;\n        },\n        set(element) {\n          container = $(element);\n        }\n      });\n    }\n    function update(element, e) {\n      element = element ? toNode(element) : document.body;\n      for (const parentEl of parents(element).reverse()) {\n        updateElement(parentEl, e);\n      }\n      apply(element, (element2) => updateElement(element2, e));\n    }\n    function updateElement(element, e) {\n      const components = getComponents(element);\n      for (const name in components) {\n        callUpdate(components[name], e);\n      }\n    }\n\n    function instanceApi(App) {\n      App.prototype.$mount = function(el) {\n        const instance = this;\n        attachToElement(el, instance);\n        instance.$options.el = el;\n        if (within(el, document)) {\n          callConnected(instance);\n        }\n      };\n      App.prototype.$destroy = function(removeEl = false) {\n        const instance = this;\n        const { el } = instance.$options;\n        if (el) {\n          callDisconnected(instance);\n        }\n        callHook(instance, \"destroy\");\n        detachFromElement(el, instance);\n        if (removeEl) {\n          remove$1(instance.$el);\n        }\n      };\n      App.prototype.$create = createComponent;\n      App.prototype.$emit = function(e) {\n        callUpdate(this, e);\n      };\n      App.prototype.$update = function(element = this.$el, e) {\n        update(element, e);\n      };\n      App.prototype.$reset = function() {\n        callDisconnected(this);\n        callConnected(this);\n      };\n      App.prototype.$getComponent = getComponent;\n      Object.defineProperties(App.prototype, {\n        $el: {\n          get() {\n            return this.$options.el;\n          }\n        },\n        $container: Object.getOwnPropertyDescriptor(App, \"container\")\n      });\n    }\n    function generateId(instance, el = instance.$el, postfix = \"\") {\n      if (el.id) {\n        return el.id;\n      }\n      let id = `${instance.$options.id}-${instance._uid}${postfix}`;\n      if ($(`#${id}`)) {\n        id = generateId(instance, el, `${postfix}-2`);\n      }\n      return id;\n    }\n\n    globalApi(App);\n    instanceApi(App);\n\n    function boot(App) {\n      if (inBrowser && window.MutationObserver) {\n        if (document.body) {\n          requestAnimationFrame(() => init(App));\n        } else {\n          new MutationObserver((records, observer) => {\n            if (document.body) {\n              init(App);\n              observer.disconnect();\n            }\n          }).observe(document.documentElement, { childList: true });\n        }\n      }\n    }\n    function init(App) {\n      trigger(document, \"uikit:init\", App);\n      if (document.body) {\n        apply(document.body, connect);\n      }\n      new MutationObserver((records) => records.forEach(applyChildListMutation)).observe(document, {\n        childList: true,\n        subtree: true\n      });\n      new MutationObserver((records) => records.forEach(applyAttributeMutation)).observe(document, {\n        attributes: true,\n        subtree: true\n      });\n      App._initialized = true;\n    }\n    function applyChildListMutation({ addedNodes, removedNodes }) {\n      for (const node of addedNodes) {\n        apply(node, connect);\n      }\n      for (const node of removedNodes) {\n        apply(node, disconnect);\n      }\n    }\n    function applyAttributeMutation({ target, attributeName }) {\n      var _a;\n      const name = getComponentName(attributeName);\n      if (name) {\n        if (hasAttr(target, attributeName)) {\n          createComponent(name, target);\n          return;\n        }\n        (_a = getComponent(target, name)) == null ? void 0 : _a.$destroy();\n      }\n    }\n    function connect(node) {\n      const components2 = getComponents(node);\n      for (const name in getComponents(node)) {\n        callConnected(components2[name]);\n      }\n      for (const attributeName of node.getAttributeNames()) {\n        const name = getComponentName(attributeName);\n        name && createComponent(name, node);\n      }\n    }\n    function disconnect(node) {\n      const components2 = getComponents(node);\n      for (const name in getComponents(node)) {\n        callDisconnected(components2[name]);\n      }\n    }\n    function getComponentName(attribute) {\n      if (startsWith(attribute, \"data-\")) {\n        attribute = attribute.slice(5);\n      }\n      const cmp = components$2[attribute];\n      return cmp && (isPlainObject(cmp) ? cmp : cmp.options).name;\n    }\n\n    var Class = {\n      connected() {\n        addClass(this.$el, this.$options.id);\n      }\n    };\n\n    var Togglable = {\n      props: {\n        cls: Boolean,\n        animation: \"list\",\n        duration: Number,\n        velocity: Number,\n        origin: String,\n        transition: String\n      },\n      data: {\n        cls: false,\n        animation: [false],\n        duration: 200,\n        velocity: 0.2,\n        origin: false,\n        transition: \"ease\",\n        clsEnter: \"uk-togglabe-enter\",\n        clsLeave: \"uk-togglabe-leave\"\n      },\n      computed: {\n        hasAnimation({ animation }) {\n          return !!animation[0];\n        },\n        hasTransition({ animation }) {\n          return [\"slide\", \"reveal\"].some((transition) => startsWith(animation[0], transition));\n        }\n      },\n      methods: {\n        toggleElement(targets, toggle, animate) {\n          return new Promise(\n            (resolve) => Promise.all(\n              toNodes(targets).map((el) => {\n                const show = isBoolean(toggle) ? toggle : !this.isToggled(el);\n                if (!trigger(el, `before${show ? \"show\" : \"hide\"}`, [this])) {\n                  return Promise.reject();\n                }\n                const promise = (isFunction(animate) ? animate : animate === false || !this.hasAnimation ? toggleInstant : this.hasTransition ? toggleTransition : toggleAnimation)(el, show, this);\n                const cls = show ? this.clsEnter : this.clsLeave;\n                addClass(el, cls);\n                trigger(el, show ? \"show\" : \"hide\", [this]);\n                const done = () => {\n                  removeClass(el, cls);\n                  trigger(el, show ? \"shown\" : \"hidden\", [this]);\n                };\n                return promise ? promise.then(done, () => {\n                  removeClass(el, cls);\n                  return Promise.reject();\n                }) : done();\n              })\n            ).then(resolve, noop)\n          );\n        },\n        isToggled(el = this.$el) {\n          el = toNode(el);\n          return hasClass(el, this.clsEnter) ? true : hasClass(el, this.clsLeave) ? false : this.cls ? hasClass(el, this.cls.split(\" \")[0]) : isVisible(el);\n        },\n        _toggle(el, toggled) {\n          if (!el) {\n            return;\n          }\n          toggled = Boolean(toggled);\n          let changed;\n          if (this.cls) {\n            changed = includes(this.cls, \" \") || toggled !== hasClass(el, this.cls);\n            changed && toggleClass(el, this.cls, includes(this.cls, \" \") ? void 0 : toggled);\n          } else {\n            changed = toggled === el.hidden;\n            changed && (el.hidden = !toggled);\n          }\n          $$(\"[autofocus]\", el).some((el2) => isVisible(el2) ? el2.focus() || true : el2.blur());\n          if (changed) {\n            trigger(el, \"toggled\", [toggled, this]);\n          }\n        }\n      }\n    };\n    function toggleInstant(el, show, { _toggle }) {\n      Animation.cancel(el);\n      Transition.cancel(el);\n      return _toggle(el, show);\n    }\n    async function toggleTransition(el, show, { animation, duration, velocity, transition, _toggle }) {\n      var _a;\n      const [mode = \"reveal\", startProp = \"top\"] = ((_a = animation[0]) == null ? void 0 : _a.split(\"-\")) || [];\n      const dirs = [\n        [\"left\", \"right\"],\n        [\"top\", \"bottom\"]\n      ];\n      const dir = dirs[includes(dirs[0], startProp) ? 0 : 1];\n      const end = dir[1] === startProp;\n      const props = [\"width\", \"height\"];\n      const dimProp = props[dirs.indexOf(dir)];\n      const marginProp = `margin-${dir[0]}`;\n      const marginStartProp = `margin-${startProp}`;\n      let currentDim = dimensions$1(el)[dimProp];\n      const inProgress = Transition.inProgress(el);\n      await Transition.cancel(el);\n      if (show) {\n        _toggle(el, true);\n      }\n      const prevProps = Object.fromEntries(\n        [\n          \"padding\",\n          \"border\",\n          \"width\",\n          \"height\",\n          \"minWidth\",\n          \"minHeight\",\n          \"overflowY\",\n          \"overflowX\",\n          marginProp,\n          marginStartProp\n        ].map((key) => [key, el.style[key]])\n      );\n      const dim = dimensions$1(el);\n      const currentMargin = toFloat(css(el, marginProp));\n      const marginStart = toFloat(css(el, marginStartProp));\n      const endDim = dim[dimProp] + marginStart;\n      if (!inProgress && !show) {\n        currentDim += marginStart;\n      }\n      const [wrapper] = wrapInner(el, \"<div>\");\n      css(wrapper, {\n        boxSizing: \"border-box\",\n        height: dim.height,\n        width: dim.width,\n        ...css(el, [\n          \"overflow\",\n          \"padding\",\n          \"borderTop\",\n          \"borderRight\",\n          \"borderBottom\",\n          \"borderLeft\",\n          \"borderImage\",\n          marginStartProp\n        ])\n      });\n      css(el, {\n        padding: 0,\n        border: 0,\n        minWidth: 0,\n        minHeight: 0,\n        [marginStartProp]: 0,\n        width: dim.width,\n        height: dim.height,\n        overflow: \"hidden\",\n        [dimProp]: currentDim\n      });\n      const percent = currentDim / endDim;\n      duration = (velocity * endDim + duration) * (show ? 1 - percent : percent);\n      const endProps = { [dimProp]: show ? endDim : 0 };\n      if (end) {\n        css(el, marginProp, endDim - currentDim + currentMargin);\n        endProps[marginProp] = show ? currentMargin : endDim + currentMargin;\n      }\n      if (!end ^ mode === \"reveal\") {\n        css(wrapper, marginProp, -endDim + currentDim);\n        Transition.start(wrapper, { [marginProp]: show ? 0 : -endDim }, duration, transition);\n      }\n      try {\n        await Transition.start(el, endProps, duration, transition);\n      } finally {\n        css(el, prevProps);\n        unwrap(wrapper.firstChild);\n        if (!show) {\n          _toggle(el, false);\n        }\n      }\n    }\n    function toggleAnimation(el, show, cmp) {\n      Animation.cancel(el);\n      const { animation, duration, _toggle } = cmp;\n      if (show) {\n        _toggle(el, true);\n        return Animation.in(el, animation[0], duration, cmp.origin);\n      }\n      return Animation.out(el, animation[1] || animation[0], duration, cmp.origin).then(\n        () => _toggle(el, false)\n      );\n    }\n\n    const keyMap = {\n      TAB: 9,\n      ESC: 27,\n      SPACE: 32,\n      END: 35,\n      HOME: 36,\n      LEFT: 37,\n      UP: 38,\n      RIGHT: 39,\n      DOWN: 40\n    };\n\n    function resize(options) {\n      return observe(observeResize, options, \"resize\");\n    }\n    function intersection(options) {\n      return observe(observeIntersection, options);\n    }\n    function mutation(options) {\n      return observe(observeMutation, options);\n    }\n    function lazyload(options = {}) {\n      return intersection({\n        handler: function(entries, observer) {\n          const { targets = this.$el, preload = 5 } = options;\n          for (const el of toNodes(isFunction(targets) ? targets(this) : targets)) {\n            $$('[loading=\"lazy\"]', el).slice(0, preload - 1).forEach((el2) => removeAttr(el2, \"loading\"));\n          }\n          for (const el of entries.filter(({ isIntersecting }) => isIntersecting).map(({ target }) => target)) {\n            observer.unobserve(el);\n          }\n        },\n        ...options\n      });\n    }\n    function scroll$1(options) {\n      return observe(\n        function(target, handler) {\n          return {\n            disconnect: on(target, \"scroll\", handler, {\n              passive: true,\n              capture: true\n            })\n          };\n        },\n        {\n          target: () => window,\n          ...options\n        },\n        \"scroll\"\n      );\n    }\n    function swipe(options) {\n      return {\n        observe(target, handler) {\n          return {\n            observe: noop,\n            unobserve: noop,\n            disconnect: on(target, pointerDown$1, handler, { passive: true })\n          };\n        },\n        handler(e) {\n          if (!isTouch(e)) {\n            return;\n          }\n          const pos = getEventPos(e);\n          const target = \"tagName\" in e.target ? e.target : parent(e.target);\n          once(document, `${pointerUp$1} ${pointerCancel} scroll`, (e2) => {\n            const { x, y } = getEventPos(e2);\n            if (e2.type !== \"scroll\" && target && x && Math.abs(pos.x - x) > 100 || y && Math.abs(pos.y - y) > 100) {\n              setTimeout(() => {\n                trigger(target, \"swipe\");\n                trigger(target, `swipe${swipeDirection(pos.x, pos.y, x, y)}`);\n              });\n            }\n          });\n        },\n        ...options\n      };\n    }\n    function observe(observe2, options, emit) {\n      return {\n        observe: observe2,\n        handler() {\n          this.$emit(emit);\n        },\n        ...options\n      };\n    }\n    function swipeDirection(x1, y1, x2, y2) {\n      return Math.abs(x1 - x2) >= Math.abs(y1 - y2) ? x1 - x2 > 0 ? \"Left\" : \"Right\" : y1 - y2 > 0 ? \"Up\" : \"Down\";\n    }\n\n    var Accordion = {\n      mixins: [Class, Togglable],\n      props: {\n        animation: Boolean,\n        targets: String,\n        active: null,\n        collapsible: Boolean,\n        multiple: Boolean,\n        toggle: String,\n        content: String,\n        offset: Number\n      },\n      data: {\n        targets: \"> *\",\n        active: false,\n        animation: true,\n        collapsible: true,\n        multiple: false,\n        clsOpen: \"uk-open\",\n        toggle: \"> .uk-accordion-title\",\n        content: \"> .uk-accordion-content\",\n        offset: 0\n      },\n      computed: {\n        items({ targets }, $el) {\n          return $$(targets, $el);\n        },\n        toggles({ toggle }) {\n          return this.items.map((item) => $(toggle, item));\n        },\n        contents({ content }) {\n          return this.items.map((item) => {\n            var _a;\n            return ((_a = item._wrapper) == null ? void 0 : _a.firstElementChild) || $(content, item);\n          });\n        }\n      },\n      watch: {\n        items(items, prev) {\n          if (prev || hasClass(items, this.clsOpen)) {\n            return;\n          }\n          const active = this.active !== false && items[Number(this.active)] || !this.collapsible && items[0];\n          if (active) {\n            this.toggle(active, false);\n          }\n        },\n        toggles() {\n          this.$emit();\n        },\n        contents(items) {\n          for (const el of items) {\n            const isOpen = hasClass(\n              this.items.find((item) => within(el, item)),\n              this.clsOpen\n            );\n            hide(el, !isOpen);\n          }\n          this.$emit();\n        }\n      },\n      observe: lazyload(),\n      events: [\n        {\n          name: \"click keydown\",\n          delegate() {\n            return `${this.targets} ${this.$props.toggle}`;\n          },\n          async handler(e) {\n            var _a;\n            if (e.type === \"keydown\" && e.keyCode !== keyMap.SPACE) {\n              return;\n            }\n            e.preventDefault();\n            (_a = this._off) == null ? void 0 : _a.call(this);\n            this._off = keepScrollPosition(e.target);\n            await this.toggle(index(this.toggles, e.current));\n            this._off();\n          }\n        },\n        {\n          name: \"shown hidden\",\n          self: true,\n          delegate() {\n            return this.targets;\n          },\n          handler() {\n            this.$emit();\n          }\n        }\n      ],\n      update() {\n        const activeItems = filter$1(this.items, `.${this.clsOpen}`);\n        for (const index2 in this.items) {\n          const toggle = this.toggles[index2];\n          const content = this.contents[index2];\n          if (!toggle || !content) {\n            continue;\n          }\n          toggle.id = generateId(this, toggle, `-title-${index2}`);\n          content.id = generateId(this, content, `-content-${index2}`);\n          const active = includes(activeItems, this.items[index2]);\n          attr(toggle, {\n            role: isTag(toggle, \"a\") ? \"button\" : null,\n            \"aria-controls\": content.id,\n            \"aria-expanded\": active,\n            \"aria-disabled\": !this.collapsible && activeItems.length < 2 && active\n          });\n          attr(content, { role: \"region\", \"aria-labelledby\": toggle.id });\n          if (isTag(content, \"ul\")) {\n            attr(children(content), \"role\", \"presentation\");\n          }\n        }\n      },\n      methods: {\n        async toggle(item, animate) {\n          item = this.items[getIndex(item, this.items)];\n          let items = [item];\n          const activeItems = filter$1(this.items, `.${this.clsOpen}`);\n          if (!this.multiple && !includes(activeItems, items[0])) {\n            items = items.concat(activeItems);\n          }\n          if (!this.collapsible && activeItems.length < 2 && includes(activeItems, item)) {\n            return;\n          }\n          await Promise.all(\n            items.map(\n              (el) => this.toggleElement(el, !includes(activeItems, el), (el2, show) => {\n                toggleClass(el2, this.clsOpen, show);\n                if (animate === false || !this.animation) {\n                  hide($(this.content, el2), !show);\n                  return;\n                }\n                return transition(el2, show, this);\n              })\n            )\n          );\n        }\n      }\n    };\n    function hide(el, hide2) {\n      el && (el.hidden = hide2);\n    }\n    async function transition(el, show, { content, duration, velocity, transition: transition2 }) {\n      var _a;\n      content = ((_a = el._wrapper) == null ? void 0 : _a.firstElementChild) || $(content, el);\n      if (!el._wrapper) {\n        el._wrapper = wrapAll(content, \"<div>\");\n      }\n      const wrapper = el._wrapper;\n      css(wrapper, \"overflow\", \"hidden\");\n      const currentHeight = toFloat(css(wrapper, \"height\"));\n      await Transition.cancel(wrapper);\n      hide(content, false);\n      const endHeight = sumBy([\"marginTop\", \"marginBottom\"], (prop) => css(content, prop)) + dimensions$1(content).height;\n      const percent = currentHeight / endHeight;\n      duration = (velocity * endHeight + duration) * (show ? 1 - percent : percent);\n      css(wrapper, \"height\", currentHeight);\n      await Transition.start(wrapper, { height: show ? endHeight : 0 }, duration, transition2);\n      unwrap(content);\n      delete el._wrapper;\n      if (!show) {\n        hide(content, true);\n      }\n    }\n    function keepScrollPosition(el) {\n      const [scrollParent] = scrollParents(el, true);\n      let frame;\n      (function scroll() {\n        frame = requestAnimationFrame(() => {\n          const { top } = el.getBoundingClientRect();\n          if (top < 0) {\n            scrollParent.scrollTop += top;\n          }\n          scroll();\n        });\n      })();\n      return () => requestAnimationFrame(() => cancelAnimationFrame(frame));\n    }\n\n    var alert = {\n      mixins: [Class, Togglable],\n      args: \"animation\",\n      props: {\n        animation: Boolean,\n        close: String\n      },\n      data: {\n        animation: true,\n        selClose: \".uk-alert-close\",\n        duration: 150\n      },\n      events: {\n        name: \"click\",\n        delegate() {\n          return this.selClose;\n        },\n        handler(e) {\n          e.preventDefault();\n          this.close();\n        }\n      },\n      methods: {\n        async close() {\n          await this.toggleElement(this.$el, false, animate$1);\n          this.$destroy(true);\n        }\n      }\n    };\n    function animate$1(el, show, { duration, transition, velocity }) {\n      const height = toFloat(css(el, \"height\"));\n      css(el, \"height\", height);\n      return Transition.start(\n        el,\n        {\n          height: 0,\n          marginTop: 0,\n          marginBottom: 0,\n          paddingTop: 0,\n          paddingBottom: 0,\n          borderTop: 0,\n          borderBottom: 0,\n          opacity: 0\n        },\n        velocity * height + duration,\n        transition\n      );\n    }\n\n    var Video = {\n      args: \"autoplay\",\n      props: {\n        automute: Boolean,\n        autoplay: Boolean\n      },\n      data: {\n        automute: false,\n        autoplay: true\n      },\n      connected() {\n        this.inView = this.autoplay === \"inview\";\n        if (this.inView && !hasAttr(this.$el, \"preload\")) {\n          this.$el.preload = \"none\";\n        }\n        if (isTag(this.$el, \"iframe\") && !hasAttr(this.$el, \"allow\")) {\n          this.$el.allow = \"autoplay\";\n        }\n        if (this.automute) {\n          mute(this.$el);\n        }\n      },\n      observe: intersection({\n        args: { intersecting: false }\n      }),\n      update: {\n        read({ visible }) {\n          if (!isVideo(this.$el)) {\n            return false;\n          }\n          return {\n            prev: visible,\n            visible: isVisible(this.$el) && css(this.$el, \"visibility\") !== \"hidden\",\n            inView: this.inView && isInView(this.$el)\n          };\n        },\n        write({ prev, visible, inView }) {\n          if (!visible || this.inView && !inView) {\n            pause(this.$el);\n          } else if (this.autoplay === true && !prev || this.inView && inView) {\n            play(this.$el);\n          }\n        }\n      }\n    };\n\n    var cover = {\n      mixins: [Video],\n      props: {\n        width: Number,\n        height: Number\n      },\n      data: {\n        automute: true\n      },\n      events: {\n        \"load loadedmetadata\"() {\n          this.$emit(\"resize\");\n        }\n      },\n      observe: resize({\n        target: ({ $el }) => [$el, getPositionedParent($el) || parent($el)]\n      }),\n      update: {\n        read() {\n          const { ratio, cover } = Dimensions;\n          const { $el, width, height } = this;\n          let dim = { width, height };\n          if (!width || !height) {\n            const intrinsic = {\n              width: $el.naturalWidth || $el.videoWidth || $el.clientWidth,\n              height: $el.naturalHeight || $el.videoHeight || $el.clientHeight\n            };\n            if (width) {\n              dim = ratio(intrinsic, \"width\", width);\n            } else if (height) {\n              dim = ratio(intrinsic, \"height\", height);\n            } else {\n              dim = intrinsic;\n            }\n          }\n          const { offsetHeight: coverHeight, offsetWidth: coverWidth } = getPositionedParent($el) || parent($el);\n          const coverDim = cover(dim, {\n            width: coverWidth + (coverWidth % 2 ? 1 : 0),\n            height: coverHeight + (coverHeight % 2 ? 1 : 0)\n          });\n          if (!coverDim.width || !coverDim.height) {\n            return false;\n          }\n          return coverDim;\n        },\n        write({ height, width }) {\n          css(this.$el, { height, width });\n        },\n        events: [\"resize\"]\n      }\n    };\n    function getPositionedParent(el) {\n      while (el = parent(el)) {\n        if (css(el, \"position\") !== \"static\") {\n          return el;\n        }\n      }\n    }\n\n    var Position = {\n      props: {\n        pos: String,\n        offset: null,\n        flip: Boolean,\n        shift: Boolean,\n        inset: Boolean\n      },\n      data: {\n        pos: `bottom-${isRtl ? \"right\" : \"left\"}`,\n        offset: false,\n        flip: true,\n        shift: true,\n        inset: false\n      },\n      connected() {\n        this.pos = this.$props.pos.split(\"-\").concat(\"center\").slice(0, 2);\n        [this.dir, this.align] = this.pos;\n        this.axis = includes([\"top\", \"bottom\"], this.dir) ? \"y\" : \"x\";\n      },\n      methods: {\n        positionAt(element, target, boundary) {\n          let offset = [this.getPositionOffset(element), this.getShiftOffset(element)];\n          const placement = [this.flip && \"flip\", this.shift && \"shift\"];\n          const attach = {\n            element: [this.inset ? this.dir : flipPosition(this.dir), this.align],\n            target: [this.dir, this.align]\n          };\n          if (this.axis === \"y\") {\n            for (const prop in attach) {\n              attach[prop].reverse();\n            }\n            offset.reverse();\n            placement.reverse();\n          }\n          const restoreScrollPosition = storeScrollPosition(element);\n          const elDim = dimensions$1(element);\n          css(element, { top: -elDim.height, left: -elDim.width });\n          positionAt(element, target, {\n            attach,\n            offset,\n            boundary,\n            placement,\n            viewportOffset: this.getViewportOffset(element)\n          });\n          restoreScrollPosition();\n        },\n        getPositionOffset(element) {\n          return toPx(\n            this.offset === false ? css(element, \"--uk-position-offset\") : this.offset,\n            this.axis === \"x\" ? \"width\" : \"height\",\n            element\n          ) * (includes([\"left\", \"top\"], this.dir) ? -1 : 1) * (this.inset ? -1 : 1);\n        },\n        getShiftOffset(element) {\n          return this.align === \"center\" ? 0 : toPx(\n            css(element, \"--uk-position-shift-offset\"),\n            this.axis === \"y\" ? \"width\" : \"height\",\n            element\n          ) * (includes([\"left\", \"top\"], this.align) ? 1 : -1);\n        },\n        getViewportOffset(element) {\n          return toPx(css(element, \"--uk-position-viewport-offset\"));\n        }\n      }\n    };\n    function storeScrollPosition(element) {\n      const [scrollElement] = scrollParents(element);\n      const { scrollTop } = scrollElement;\n      return () => {\n        if (scrollTop !== scrollElement.scrollTop) {\n          scrollElement.scrollTop = scrollTop;\n        }\n      };\n    }\n\n    var Container = {\n      props: {\n        container: Boolean\n      },\n      data: {\n        container: true\n      },\n      computed: {\n        container({ container }) {\n          return container === true && this.$container || container && $(container);\n        }\n      }\n    };\n\n    let prevented;\n    function preventBackgroundScroll(el) {\n      const off = on(\n        el,\n        \"touchmove\",\n        (e) => {\n          if (e.targetTouches.length !== 1 || matches(e.target, 'input[type=\"range\"')) {\n            return;\n          }\n          let [{ scrollHeight, clientHeight }] = scrollParents(e.target);\n          if (clientHeight >= scrollHeight && e.cancelable) {\n            e.preventDefault();\n          }\n        },\n        { passive: false }\n      );\n      if (prevented) {\n        return off;\n      }\n      prevented = true;\n      const { scrollingElement } = document;\n      css(scrollingElement, {\n        overflowY: CSS.supports(\"overflow\", \"clip\") ? \"clip\" : \"hidden\",\n        touchAction: \"none\",\n        paddingRight: width(window) - scrollingElement.clientWidth || \"\"\n      });\n      return () => {\n        prevented = false;\n        off();\n        css(scrollingElement, { overflowY: \"\", touchAction: \"\", paddingRight: \"\" });\n      };\n    }\n\n    let active$1;\n    var drop = {\n      mixins: [Container, Position, Togglable],\n      args: \"pos\",\n      props: {\n        mode: \"list\",\n        toggle: Boolean,\n        boundary: Boolean,\n        boundaryX: Boolean,\n        boundaryY: Boolean,\n        target: Boolean,\n        targetX: Boolean,\n        targetY: Boolean,\n        stretch: Boolean,\n        delayShow: Number,\n        delayHide: Number,\n        autoUpdate: Boolean,\n        clsDrop: String,\n        animateOut: Boolean,\n        bgScroll: Boolean\n      },\n      data: {\n        mode: [\"click\", \"hover\"],\n        toggle: \"- *\",\n        boundary: false,\n        boundaryX: false,\n        boundaryY: false,\n        target: false,\n        targetX: false,\n        targetY: false,\n        stretch: false,\n        delayShow: 0,\n        delayHide: 800,\n        autoUpdate: true,\n        clsDrop: false,\n        animateOut: false,\n        bgScroll: true,\n        animation: [\"uk-animation-fade\"],\n        cls: \"uk-open\",\n        container: false\n      },\n      computed: {\n        boundary({ boundary, boundaryX, boundaryY }, $el) {\n          return [\n            query(boundaryX || boundary, $el) || window,\n            query(boundaryY || boundary, $el) || window\n          ];\n        },\n        target({ target, targetX, targetY }, $el) {\n          targetX = targetX || target || this.targetEl;\n          targetY = targetY || target || this.targetEl;\n          return [\n            targetX === true ? window : query(targetX, $el),\n            targetY === true ? window : query(targetY, $el)\n          ];\n        }\n      },\n      created() {\n        this.tracker = new MouseTracker();\n      },\n      beforeConnect() {\n        this.clsDrop = this.$props.clsDrop || `uk-${this.$options.name}`;\n      },\n      connected() {\n        addClass(this.$el, \"uk-drop\", this.clsDrop);\n        if (this.toggle && !this.targetEl) {\n          this.targetEl = createToggleComponent(this);\n        }\n        this._style = pick(this.$el.style, [\"width\", \"height\"]);\n      },\n      disconnected() {\n        if (this.isActive()) {\n          this.hide(false);\n          active$1 = null;\n        }\n        css(this.$el, this._style);\n      },\n      observe: lazyload({\n        target: ({ toggle, $el }) => query(toggle, $el),\n        targets: ({ $el }) => $el\n      }),\n      events: [\n        {\n          name: \"click\",\n          delegate() {\n            return \".uk-drop-close\";\n          },\n          handler(e) {\n            e.preventDefault();\n            this.hide(false);\n          }\n        },\n        {\n          name: \"click\",\n          delegate() {\n            return 'a[href*=\"#\"]';\n          },\n          handler({ defaultPrevented, current }) {\n            const { hash } = current;\n            if (!defaultPrevented && hash && isSameSiteAnchor(current) && !within(hash, this.$el)) {\n              this.hide(false);\n            }\n          }\n        },\n        {\n          name: \"beforescroll\",\n          handler() {\n            this.hide(false);\n          }\n        },\n        {\n          name: \"toggle\",\n          self: true,\n          handler(e, toggle) {\n            e.preventDefault();\n            if (this.isToggled()) {\n              this.hide(false);\n            } else {\n              this.show(toggle == null ? void 0 : toggle.$el, false);\n            }\n          }\n        },\n        {\n          name: \"toggleshow\",\n          self: true,\n          handler(e, toggle) {\n            e.preventDefault();\n            this.show(toggle == null ? void 0 : toggle.$el);\n          }\n        },\n        {\n          name: \"togglehide\",\n          self: true,\n          handler(e) {\n            e.preventDefault();\n            if (!matches(this.$el, \":focus,:hover\")) {\n              this.hide();\n            }\n          }\n        },\n        {\n          name: `${pointerEnter} focusin`,\n          filter() {\n            return includes(this.mode, \"hover\");\n          },\n          handler(e) {\n            if (!isTouch(e)) {\n              this.clearTimers();\n            }\n          }\n        },\n        {\n          name: `${pointerLeave} focusout`,\n          filter() {\n            return includes(this.mode, \"hover\");\n          },\n          handler(e) {\n            if (!isTouch(e) && e.relatedTarget) {\n              this.hide();\n            }\n          }\n        },\n        {\n          name: \"toggled\",\n          self: true,\n          handler(e, toggled) {\n            attr(this.targetEl, \"aria-expanded\", toggled ? true : null);\n            if (!toggled) {\n              return;\n            }\n            this.clearTimers();\n            this.position();\n          }\n        },\n        {\n          name: \"show\",\n          self: true,\n          handler() {\n            active$1 = this;\n            this.tracker.init();\n            const handlers = [\n              listenForResize(this),\n              listenForEscClose$1(this),\n              listenForBackgroundClose$1(this),\n              this.autoUpdate && listenForScroll(this),\n              !this.bgScroll && preventBackgroundScroll(this.$el)\n            ];\n            once(this.$el, \"hide\", () => handlers.forEach((handler) => handler && handler()), {\n              self: true\n            });\n          }\n        },\n        {\n          name: \"beforehide\",\n          self: true,\n          handler() {\n            this.clearTimers();\n          }\n        },\n        {\n          name: \"hide\",\n          handler({ target }) {\n            if (this.$el !== target) {\n              active$1 = active$1 === null && within(target, this.$el) && this.isToggled() ? this : active$1;\n              return;\n            }\n            active$1 = this.isActive() ? null : active$1;\n            this.tracker.cancel();\n          }\n        }\n      ],\n      update: {\n        write() {\n          if (this.isToggled() && !hasClass(this.$el, this.clsEnter)) {\n            this.position();\n          }\n        }\n      },\n      methods: {\n        show(target = this.targetEl, delay = true) {\n          if (this.isToggled() && target && this.targetEl && target !== this.targetEl) {\n            this.hide(false, false);\n          }\n          this.targetEl = target;\n          this.clearTimers();\n          if (this.isActive()) {\n            return;\n          }\n          if (active$1) {\n            if (delay && active$1.isDelaying) {\n              this.showTimer = setTimeout(() => matches(target, \":hover\") && this.show(), 10);\n              return;\n            }\n            let prev;\n            while (active$1 && prev !== active$1 && !within(this.$el, active$1.$el)) {\n              prev = active$1;\n              active$1.hide(false, false);\n            }\n          }\n          if (this.container && parent(this.$el) !== this.container) {\n            append(this.container, this.$el);\n          }\n          this.showTimer = setTimeout(\n            () => this.toggleElement(this.$el, true),\n            delay && this.delayShow || 0\n          );\n        },\n        hide(delay = true, animate = true) {\n          const hide = () => this.toggleElement(this.$el, false, this.animateOut && animate);\n          this.clearTimers();\n          this.isDelaying = getPositionedElements(this.$el).some(\n            (el) => this.tracker.movesTo(el)\n          );\n          if (delay && this.isDelaying) {\n            this.hideTimer = setTimeout(this.hide, 50);\n          } else if (delay && this.delayHide) {\n            this.hideTimer = setTimeout(hide, this.delayHide);\n          } else {\n            hide();\n          }\n        },\n        clearTimers() {\n          clearTimeout(this.showTimer);\n          clearTimeout(this.hideTimer);\n          this.showTimer = null;\n          this.hideTimer = null;\n          this.isDelaying = false;\n        },\n        isActive() {\n          return active$1 === this;\n        },\n        position() {\n          removeClass(this.$el, \"uk-drop-stack\");\n          css(this.$el, this._style);\n          this.$el.hidden = true;\n          const viewports = this.target.map((target) => getViewport$1(this.$el, target));\n          const viewportOffset = this.getViewportOffset(this.$el);\n          const dirs = [\n            [0, [\"x\", \"width\", \"left\", \"right\"]],\n            [1, [\"y\", \"height\", \"top\", \"bottom\"]]\n          ];\n          for (const [i, [axis, prop]] of dirs) {\n            if (this.axis !== axis && includes([axis, true], this.stretch)) {\n              css(this.$el, {\n                [prop]: Math.min(\n                  offset(this.boundary[i])[prop],\n                  viewports[i][prop] - 2 * viewportOffset\n                ),\n                [`overflow-${axis}`]: \"auto\"\n              });\n            }\n          }\n          const maxWidth = viewports[0].width - 2 * viewportOffset;\n          this.$el.hidden = false;\n          css(this.$el, \"maxWidth\", \"\");\n          if (this.$el.offsetWidth > maxWidth) {\n            addClass(this.$el, \"uk-drop-stack\");\n          }\n          css(this.$el, \"maxWidth\", maxWidth);\n          this.positionAt(this.$el, this.target, this.boundary);\n          for (const [i, [axis, prop, start, end]] of dirs) {\n            if (this.axis === axis && includes([axis, true], this.stretch)) {\n              const positionOffset = Math.abs(this.getPositionOffset(this.$el));\n              const targetOffset = offset(this.target[i]);\n              const elOffset = offset(this.$el);\n              css(this.$el, {\n                [prop]: (targetOffset[start] > elOffset[start] ? targetOffset[this.inset ? end : start] - Math.max(\n                  offset(this.boundary[i])[start],\n                  viewports[i][start] + viewportOffset\n                ) : Math.min(\n                  offset(this.boundary[i])[end],\n                  viewports[i][end] - viewportOffset\n                ) - targetOffset[this.inset ? start : end]) - positionOffset,\n                [`overflow-${axis}`]: \"auto\"\n              });\n              this.positionAt(this.$el, this.target, this.boundary);\n            }\n          }\n        }\n      }\n    };\n    function getPositionedElements(el) {\n      const result = [];\n      apply(el, (el2) => css(el2, \"position\") !== \"static\" && result.push(el2));\n      return result;\n    }\n    function getViewport$1(el, target) {\n      return offsetViewport(overflowParents(target).find((parent2) => within(el, parent2)));\n    }\n    function createToggleComponent(drop) {\n      const { $el } = drop.$create(\"toggle\", query(drop.toggle, drop.$el), {\n        target: drop.$el,\n        mode: drop.mode\n      });\n      attr($el, \"aria-haspopup\", true);\n      return $el;\n    }\n    function listenForResize(drop) {\n      const update = () => drop.$emit();\n      const off = on(window, \"resize\", update);\n      const observer = observeResize(overflowParents(drop.$el).concat(drop.target), update);\n      return () => {\n        observer.disconnect();\n        off();\n      };\n    }\n    function listenForScroll(drop) {\n      return on([document, ...overflowParents(drop.$el)], \"scroll\", () => drop.$emit(), {\n        passive: true\n      });\n    }\n    function listenForEscClose$1(drop) {\n      return on(document, \"keydown\", (e) => {\n        if (e.keyCode === keyMap.ESC) {\n          drop.hide(false);\n        }\n      });\n    }\n    function listenForBackgroundClose$1(drop) {\n      return on(document, pointerDown$1, ({ target }) => {\n        if (!within(target, drop.$el)) {\n          once(\n            document,\n            `${pointerUp$1} ${pointerCancel} scroll`,\n            ({ defaultPrevented, type, target: newTarget }) => {\n              if (!defaultPrevented && type === pointerUp$1 && target === newTarget && !(drop.targetEl && within(target, drop.targetEl))) {\n                drop.hide(false);\n              }\n            },\n            true\n          );\n        }\n      });\n    }\n\n    var Dropnav = {\n      mixins: [Class, Container],\n      props: {\n        align: String,\n        clsDrop: String,\n        boundary: Boolean,\n        dropbar: Boolean,\n        dropbarAnchor: Boolean,\n        duration: Number,\n        mode: Boolean,\n        offset: Boolean,\n        stretch: Boolean,\n        delayShow: Boolean,\n        delayHide: Boolean,\n        target: Boolean,\n        targetX: Boolean,\n        targetY: Boolean,\n        animation: Boolean,\n        animateOut: Boolean\n      },\n      data: {\n        align: isRtl ? \"right\" : \"left\",\n        clsDrop: \"uk-dropdown\",\n        clsDropbar: \"uk-dropnav-dropbar\",\n        boundary: true,\n        dropbar: false,\n        dropbarAnchor: false,\n        duration: 200,\n        container: false,\n        selNavItem: \"> li > a, > ul > li > a\"\n      },\n      computed: {\n        dropbarAnchor({ dropbarAnchor }, $el) {\n          return query(dropbarAnchor, $el) || $el;\n        },\n        dropbar({ dropbar }) {\n          if (!dropbar) {\n            return null;\n          }\n          dropbar = this._dropbar || query(dropbar, this.$el) || $(`+ .${this.clsDropbar}`, this.$el);\n          return dropbar ? dropbar : this._dropbar = $(\"<div></div>\");\n        },\n        dropContainer(_, $el) {\n          return this.container || $el;\n        },\n        dropdowns({ clsDrop }, $el) {\n          var _a;\n          const dropdowns = $$(`.${clsDrop}`, $el);\n          if (this.dropContainer !== $el) {\n            for (const el of $$(`.${clsDrop}`, this.dropContainer)) {\n              const target = (_a = this.getDropdown(el)) == null ? void 0 : _a.targetEl;\n              if (!includes(dropdowns, el) && target && within(target, this.$el)) {\n                dropdowns.push(el);\n              }\n            }\n          }\n          return dropdowns;\n        },\n        items({ selNavItem }, $el) {\n          return $$(selNavItem, $el);\n        }\n      },\n      watch: {\n        dropbar(dropbar) {\n          addClass(\n            dropbar,\n            \"uk-dropbar\",\n            \"uk-dropbar-top\",\n            this.clsDropbar,\n            `uk-${this.$options.name}-dropbar`\n          );\n        },\n        dropdowns(dropdowns) {\n          this.$create(\n            \"drop\",\n            dropdowns.filter((el) => !this.getDropdown(el)),\n            {\n              ...this.$props,\n              flip: false,\n              shift: true,\n              pos: `bottom-${this.align}`,\n              boundary: this.boundary === true ? this.$el : this.boundary\n            }\n          );\n        }\n      },\n      disconnected() {\n        remove$1(this._dropbar);\n        delete this._dropbar;\n      },\n      events: [\n        {\n          name: \"mouseover focusin\",\n          delegate() {\n            return this.selNavItem;\n          },\n          handler({ current }) {\n            const active2 = this.getActive();\n            if (active2 && includes(active2.mode, \"hover\") && active2.targetEl && !within(active2.targetEl, current) && !active2.isDelaying) {\n              active2.hide(false);\n            }\n          }\n        },\n        {\n          name: \"keydown\",\n          delegate() {\n            return this.selNavItem;\n          },\n          handler(e) {\n            const { current, keyCode } = e;\n            const active2 = this.getActive();\n            if (keyCode === keyMap.DOWN && hasAttr(current, \"aria-expanded\")) {\n              e.preventDefault();\n              if (!active2 || active2.targetEl !== current) {\n                current.click();\n                once(\n                  this.dropContainer,\n                  \"show\",\n                  ({ target }) => focusFirstFocusableElement(target)\n                );\n              } else {\n                focusFirstFocusableElement(active2.$el);\n              }\n            }\n            handleNavItemNavigation(e, this.items, active2);\n          }\n        },\n        {\n          name: \"keydown\",\n          el() {\n            return this.dropContainer;\n          },\n          delegate() {\n            return `.${this.clsDrop}`;\n          },\n          handler(e) {\n            var _a;\n            const { current, keyCode } = e;\n            if (!includes(this.dropdowns, current)) {\n              return;\n            }\n            const active2 = this.getActive();\n            let next = -1;\n            if (keyCode === keyMap.HOME) {\n              next = 0;\n            } else if (keyCode === keyMap.END) {\n              next = \"last\";\n            } else if (keyCode === keyMap.UP) {\n              next = \"previous\";\n            } else if (keyCode === keyMap.DOWN) {\n              next = \"next\";\n            } else if (keyCode === keyMap.ESC) {\n              (_a = active2.targetEl) == null ? void 0 : _a.focus();\n            }\n            if (~next) {\n              e.preventDefault();\n              const elements = $$(selFocusable, current);\n              elements[getIndex(\n                next,\n                elements,\n                findIndex(elements, (el) => matches(el, \":focus\"))\n              )].focus();\n            }\n            handleNavItemNavigation(e, this.items, active2);\n          }\n        },\n        {\n          name: \"mouseleave\",\n          el() {\n            return this.dropbar;\n          },\n          filter() {\n            return this.dropbar;\n          },\n          handler() {\n            const active2 = this.getActive();\n            if (active2 && includes(active2.mode, \"hover\") && !this.dropdowns.some((el) => matches(el, \":hover\"))) {\n              active2.hide();\n            }\n          }\n        },\n        {\n          name: \"beforeshow\",\n          el() {\n            return this.dropContainer;\n          },\n          filter() {\n            return this.dropbar;\n          },\n          handler({ target }) {\n            if (!this.isDropbarDrop(target)) {\n              return;\n            }\n            if (this.dropbar.previousElementSibling !== this.dropbarAnchor) {\n              after(this.dropbarAnchor, this.dropbar);\n            }\n            addClass(target, `${this.clsDrop}-dropbar`);\n          }\n        },\n        {\n          name: \"show\",\n          el() {\n            return this.dropContainer;\n          },\n          filter() {\n            return this.dropbar;\n          },\n          handler({ target }) {\n            if (!this.isDropbarDrop(target)) {\n              return;\n            }\n            const drop = this.getDropdown(target);\n            const adjustHeight = () => {\n              const targetOffsets = parents(target, `.${this.clsDrop}`).concat(target).map((el) => offset(el));\n              const minTop = Math.min(...targetOffsets.map(({ top }) => top));\n              const maxBottom = Math.max(...targetOffsets.map(({ bottom }) => bottom));\n              const dropbarOffset = offset(this.dropbar);\n              css(this.dropbar, \"top\", this.dropbar.offsetTop - (dropbarOffset.top - minTop));\n              this.transitionTo(\n                maxBottom - minTop + toFloat(css(target, \"marginBottom\")),\n                target\n              );\n            };\n            this._observer = observeResize([drop.$el, ...drop.target], adjustHeight);\n            adjustHeight();\n          }\n        },\n        {\n          name: \"beforehide\",\n          el() {\n            return this.dropContainer;\n          },\n          filter() {\n            return this.dropbar;\n          },\n          handler(e) {\n            const active2 = this.getActive();\n            if (matches(this.dropbar, \":hover\") && active2.$el === e.target && !this.items.some((el) => active2.targetEl !== el && matches(el, \":focus\"))) {\n              e.preventDefault();\n            }\n          }\n        },\n        {\n          name: \"hide\",\n          el() {\n            return this.dropContainer;\n          },\n          filter() {\n            return this.dropbar;\n          },\n          handler({ target }) {\n            var _a;\n            if (!this.isDropbarDrop(target)) {\n              return;\n            }\n            (_a = this._observer) == null ? void 0 : _a.disconnect();\n            const active2 = this.getActive();\n            if (!active2 || active2.$el === target) {\n              this.transitionTo(0);\n            }\n          }\n        }\n      ],\n      methods: {\n        getActive() {\n          var _a;\n          return includes(this.dropdowns, (_a = active$1) == null ? void 0 : _a.$el) && active$1;\n        },\n        async transitionTo(newHeight, el) {\n          const { dropbar } = this;\n          const oldHeight = height(dropbar);\n          el = oldHeight < newHeight && el;\n          await Transition.cancel([el, dropbar]);\n          css(el, \"clipPath\", `polygon(0 0,100% 0,100% ${oldHeight}px,0 ${oldHeight}px)`);\n          height(dropbar, oldHeight);\n          await Promise.all([\n            Transition.start(dropbar, { height: newHeight }, this.duration),\n            Transition.start(\n              el,\n              {\n                clipPath: `polygon(0 0,100% 0,100% ${newHeight}px,0 ${newHeight}px)`\n              },\n              this.duration\n            ).finally(() => css(el, { clipPath: \"\" }))\n          ]).catch(noop);\n        },\n        getDropdown(el) {\n          return this.$getComponent(el, \"drop\") || this.$getComponent(el, \"dropdown\");\n        },\n        isDropbarDrop(el) {\n          return this.getDropdown(el) && hasClass(el, this.clsDrop);\n        }\n      }\n    };\n    function handleNavItemNavigation(e, toggles, active2) {\n      var _a, _b, _c;\n      const { current, keyCode } = e;\n      let next = -1;\n      if (keyCode === keyMap.HOME) {\n        next = 0;\n      } else if (keyCode === keyMap.END) {\n        next = \"last\";\n      } else if (keyCode === keyMap.LEFT) {\n        next = \"previous\";\n      } else if (keyCode === keyMap.RIGHT) {\n        next = \"next\";\n      } else if (keyCode === keyMap.TAB) {\n        (_a = active2.targetEl) == null ? void 0 : _a.focus();\n        (_b = active2.hide) == null ? void 0 : _b.call(active2, false);\n      }\n      if (~next) {\n        e.preventDefault();\n        (_c = active2.hide) == null ? void 0 : _c.call(active2, false);\n        toggles[getIndex(next, toggles, toggles.indexOf(active2.targetEl || current))].focus();\n      }\n    }\n    function focusFirstFocusableElement(el) {\n      var _a;\n      if (!$(\":focus\", el)) {\n        (_a = $(selFocusable, el)) == null ? void 0 : _a.focus();\n      }\n    }\n\n    var formCustom = {\n      mixins: [Class],\n      args: \"target\",\n      props: {\n        target: Boolean\n      },\n      data: {\n        target: false\n      },\n      computed: {\n        input(_, $el) {\n          return $(selInput, $el);\n        },\n        state() {\n          return this.input.nextElementSibling;\n        },\n        target({ target }, $el) {\n          return target && (target === true && parent(this.input) === $el && this.input.nextElementSibling || $(target, $el));\n        }\n      },\n      update() {\n        var _a;\n        const { target, input } = this;\n        if (!target) {\n          return;\n        }\n        let option;\n        const prop = isInput(target) ? \"value\" : \"textContent\";\n        const prev = target[prop];\n        const value = ((_a = input.files) == null ? void 0 : _a[0]) ? input.files[0].name : matches(input, \"select\") && (option = $$(\"option\", input).filter((el) => el.selected)[0]) ? option.textContent : input.value;\n        if (prev !== value) {\n          target[prop] = value;\n        }\n      },\n      events: [\n        {\n          name: \"change\",\n          handler() {\n            this.$emit();\n          }\n        },\n        {\n          name: \"reset\",\n          el() {\n            return closest(this.$el, \"form\");\n          },\n          handler() {\n            this.$emit();\n          }\n        }\n      ]\n    };\n\n    var Margin = {\n      props: {\n        margin: String,\n        firstColumn: Boolean\n      },\n      data: {\n        margin: \"uk-margin-small-top\",\n        firstColumn: \"uk-first-column\"\n      },\n      observe: [\n        mutation({\n          options: {\n            childList: true,\n            attributes: true,\n            attributeFilter: [\"style\"]\n          }\n        }),\n        resize({\n          target: ({ $el }) => [$el, ...children($el)]\n        })\n      ],\n      update: {\n        read() {\n          const rows = getRows(this.$el.children);\n          return {\n            rows,\n            columns: getColumns(rows)\n          };\n        },\n        write({ columns, rows }) {\n          for (const row of rows) {\n            for (const column of row) {\n              toggleClass(column, this.margin, rows[0] !== row);\n              toggleClass(column, this.firstColumn, columns[0].includes(column));\n            }\n          }\n        },\n        events: [\"resize\"]\n      }\n    };\n    function getRows(items) {\n      return sortBy(items, \"top\", \"bottom\");\n    }\n    function getColumns(rows) {\n      const columns = [];\n      for (const row of rows) {\n        const sorted = sortBy(row, \"left\", \"right\");\n        for (let j = 0; j < sorted.length; j++) {\n          columns[j] = columns[j] ? columns[j].concat(sorted[j]) : sorted[j];\n        }\n      }\n      return isRtl ? columns.reverse() : columns;\n    }\n    function sortBy(items, startProp, endProp) {\n      const sorted = [[]];\n      for (const el of items) {\n        if (!isVisible(el)) {\n          continue;\n        }\n        let dim = getOffset(el);\n        for (let i = sorted.length - 1; i >= 0; i--) {\n          const current = sorted[i];\n          if (!current[0]) {\n            current.push(el);\n            break;\n          }\n          let startDim;\n          if (current[0].offsetParent === el.offsetParent) {\n            startDim = getOffset(current[0]);\n          } else {\n            dim = getOffset(el, true);\n            startDim = getOffset(current[0], true);\n          }\n          if (dim[startProp] >= startDim[endProp] - 1 && dim[startProp] !== startDim[startProp]) {\n            sorted.push([el]);\n            break;\n          }\n          if (dim[endProp] - 1 > startDim[startProp] || dim[startProp] === startDim[startProp]) {\n            current.push(el);\n            break;\n          }\n          if (i === 0) {\n            sorted.unshift([el]);\n            break;\n          }\n        }\n      }\n      return sorted;\n    }\n    function getOffset(element, offset = false) {\n      let { offsetTop, offsetLeft, offsetHeight, offsetWidth } = element;\n      if (offset) {\n        [offsetTop, offsetLeft] = offsetPosition(element);\n      }\n      return {\n        top: offsetTop,\n        left: offsetLeft,\n        bottom: offsetTop + offsetHeight,\n        right: offsetLeft + offsetWidth\n      };\n    }\n\n    var grid = {\n      extends: Margin,\n      mixins: [Class],\n      name: \"grid\",\n      props: {\n        masonry: Boolean,\n        parallax: Number\n      },\n      data: {\n        margin: \"uk-grid-margin\",\n        clsStack: \"uk-grid-stack\",\n        masonry: false,\n        parallax: 0\n      },\n      connected() {\n        this.masonry && addClass(this.$el, \"uk-flex-top uk-flex-wrap-top\");\n      },\n      observe: scroll$1({ filter: ({ parallax }) => parallax }),\n      update: [\n        {\n          write({ columns }) {\n            toggleClass(this.$el, this.clsStack, columns.length < 2);\n          },\n          events: [\"resize\"]\n        },\n        {\n          read(data) {\n            let { columns, rows } = data;\n            if (!columns.length || !this.masonry && !this.parallax || positionedAbsolute(this.$el)) {\n              data.translates = false;\n              return false;\n            }\n            let translates = false;\n            const nodes = children(this.$el);\n            const columnHeights = columns.map((column) => sumBy(column, \"offsetHeight\"));\n            const margin = getMarginTop(nodes, this.margin) * (rows.length - 1);\n            const elHeight = Math.max(...columnHeights) + margin;\n            if (this.masonry) {\n              columns = columns.map((column) => sortBy$1(column, \"offsetTop\"));\n              translates = getTranslates(rows, columns);\n            }\n            let padding = Math.abs(this.parallax);\n            if (padding) {\n              padding = columnHeights.reduce(\n                (newPadding, hgt, i) => Math.max(\n                  newPadding,\n                  hgt + margin + (i % 2 ? padding : padding / 8) - elHeight\n                ),\n                0\n              );\n            }\n            return { padding, columns, translates, height: translates ? elHeight : \"\" };\n          },\n          write({ height, padding }) {\n            css(this.$el, \"paddingBottom\", padding || \"\");\n            height !== false && css(this.$el, \"height\", height);\n          },\n          events: [\"resize\"]\n        },\n        {\n          read() {\n            if (this.parallax && positionedAbsolute(this.$el)) {\n              return false;\n            }\n            return {\n              scrolled: this.parallax ? scrolledOver(this.$el) * Math.abs(this.parallax) : false\n            };\n          },\n          write({ columns, scrolled, translates }) {\n            if (scrolled === false && !translates) {\n              return;\n            }\n            columns.forEach(\n              (column, i) => column.forEach(\n                (el, j) => css(\n                  el,\n                  \"transform\",\n                  !scrolled && !translates ? \"\" : `translateY(${(translates && -translates[i][j]) + (scrolled ? i % 2 ? scrolled : scrolled / 8 : 0)}px)`\n                )\n              )\n            );\n          },\n          events: [\"scroll\", \"resize\"]\n        }\n      ]\n    };\n    function positionedAbsolute(el) {\n      return children(el).some((el2) => css(el2, \"position\") === \"absolute\");\n    }\n    function getTranslates(rows, columns) {\n      const rowHeights = rows.map((row) => Math.max(...row.map((el) => el.offsetHeight)));\n      return columns.map((elements) => {\n        let prev = 0;\n        return elements.map(\n          (element, row) => prev += row ? rowHeights[row - 1] - elements[row - 1].offsetHeight : 0\n        );\n      });\n    }\n    function getMarginTop(nodes, cls) {\n      const [node] = nodes.filter((el) => hasClass(el, cls));\n      return toFloat(node ? css(node, \"marginTop\") : css(nodes[0], \"paddingLeft\"));\n    }\n\n    var heightMatch = {\n      args: \"target\",\n      props: {\n        target: String,\n        row: Boolean\n      },\n      data: {\n        target: \"> *\",\n        row: true\n      },\n      computed: {\n        elements({ target }, $el) {\n          return $$(target, $el);\n        }\n      },\n      observe: resize({\n        target: ({ $el, elements }) => [$el, ...elements]\n      }),\n      update: {\n        read() {\n          return {\n            rows: (this.row ? getRows(this.elements) : [this.elements]).map(match$1)\n          };\n        },\n        write({ rows }) {\n          for (const { heights, elements } of rows) {\n            elements.forEach((el, i) => css(el, \"minHeight\", heights[i]));\n          }\n        },\n        events: [\"resize\"]\n      }\n    };\n    function match$1(elements) {\n      if (elements.length < 2) {\n        return { heights: [\"\"], elements };\n      }\n      let heights = elements.map(getHeight);\n      const max = Math.max(...heights);\n      return {\n        heights: elements.map((el, i) => heights[i].toFixed(2) === max.toFixed(2) ? \"\" : max),\n        elements\n      };\n    }\n    function getHeight(element) {\n      const style = pick(element.style, [\"display\", \"minHeight\"]);\n      if (!isVisible(element)) {\n        css(element, \"display\", \"block\", \"important\");\n      }\n      css(element, \"minHeight\", \"\");\n      const height = dimensions$1(element).height - boxModelAdjust(element, \"height\", \"content-box\");\n      css(element, style);\n      return height;\n    }\n\n    var heightViewport = {\n      props: {\n        expand: Boolean,\n        offsetTop: Boolean,\n        offsetBottom: Boolean,\n        minHeight: Number\n      },\n      data: {\n        expand: false,\n        offsetTop: false,\n        offsetBottom: false,\n        minHeight: 0\n      },\n      // check for offsetTop change\n      observe: resize({\n        target: ({ $el }) => [$el, ...scrollParents($el)]\n      }),\n      update: {\n        read({ minHeight: prev }) {\n          if (!isVisible(this.$el)) {\n            return false;\n          }\n          let minHeight = \"\";\n          const box = boxModelAdjust(this.$el, \"height\", \"content-box\");\n          const { body, scrollingElement } = document;\n          const [scrollElement] = scrollParents(this.$el);\n          const { height: viewportHeight } = offsetViewport(\n            scrollElement === body ? scrollingElement : scrollElement\n          );\n          if (this.expand) {\n            minHeight = Math.max(\n              viewportHeight - (dimensions$1(scrollElement).height - dimensions$1(this.$el).height) - box,\n              0\n            );\n          } else {\n            const isScrollingElement = scrollingElement === scrollElement || body === scrollElement;\n            minHeight = `calc(${isScrollingElement ? \"100vh\" : `${viewportHeight}px`}`;\n            if (this.offsetTop) {\n              if (isScrollingElement) {\n                const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];\n                minHeight += top > 0 && top < viewportHeight / 2 ? ` - ${top}px` : \"\";\n              } else {\n                minHeight += ` - ${css(scrollElement, \"paddingTop\")}`;\n              }\n            }\n            if (this.offsetBottom === true) {\n              minHeight += ` - ${dimensions$1(this.$el.nextElementSibling).height}px`;\n            } else if (isNumeric(this.offsetBottom)) {\n              minHeight += ` - ${this.offsetBottom}vh`;\n            } else if (this.offsetBottom && endsWith(this.offsetBottom, \"px\")) {\n              minHeight += ` - ${toFloat(this.offsetBottom)}px`;\n            } else if (isString(this.offsetBottom)) {\n              minHeight += ` - ${dimensions$1(query(this.offsetBottom, this.$el)).height}px`;\n            }\n            minHeight += `${box ? ` - ${box}px` : \"\"})`;\n          }\n          return { minHeight, prev };\n        },\n        write({ minHeight }) {\n          css(this.$el, { minHeight });\n          if (this.minHeight && toFloat(css(this.$el, \"minHeight\")) < this.minHeight) {\n            css(this.$el, \"minHeight\", this.minHeight);\n          }\n        },\n        events: [\"resize\"]\n      }\n    };\n\n    var Svg = {\n      args: \"src\",\n      props: {\n        width: Number,\n        height: Number,\n        ratio: Number\n      },\n      data: {\n        ratio: 1\n      },\n      connected() {\n        this.svg = this.getSvg().then((el) => {\n          if (!this._connected) {\n            return;\n          }\n          const svg = insertSVG(el, this.$el);\n          if (this.svgEl && svg !== this.svgEl) {\n            remove$1(this.svgEl);\n          }\n          applyWidthAndHeight.call(this, svg, el);\n          return this.svgEl = svg;\n        }, noop);\n      },\n      disconnected() {\n        this.svg.then((svg) => {\n          if (this._connected) {\n            return;\n          }\n          if (isVoidElement(this.$el)) {\n            this.$el.hidden = false;\n          }\n          remove$1(svg);\n          this.svgEl = null;\n        });\n        this.svg = null;\n      },\n      methods: {\n        async getSvg() {\n        }\n      }\n    };\n    function insertSVG(el, root) {\n      if (isVoidElement(root) || isTag(root, \"canvas\")) {\n        root.hidden = true;\n        const next = root.nextElementSibling;\n        return equals(el, next) ? next : after(root, el);\n      }\n      const last = root.lastElementChild;\n      return equals(el, last) ? last : append(root, el);\n    }\n    function equals(el, other) {\n      return isTag(el, \"svg\") && isTag(other, \"svg\") && el.innerHTML === other.innerHTML;\n    }\n    function applyWidthAndHeight(el, ref) {\n      const props = [\"width\", \"height\"];\n      let dimensions = props.map((prop) => this[prop]);\n      if (!dimensions.some((val) => val)) {\n        dimensions = props.map((prop) => attr(ref, prop));\n      }\n      const viewBox = attr(ref, \"viewBox\");\n      if (viewBox && !dimensions.some((val) => val)) {\n        dimensions = viewBox.split(\" \").slice(2);\n      }\n      dimensions.forEach((val, i) => attr(el, props[i], toFloat(val) * this.ratio || null));\n    }\n\n    var I18n = {\n      props: {\n        i18n: Object\n      },\n      data: {\n        i18n: null\n      },\n      methods: {\n        t(key, ...params) {\n          var _a, _b, _c;\n          let i = 0;\n          return ((_c = ((_a = this.i18n) == null ? void 0 : _a[key]) || ((_b = this.$options.i18n) == null ? void 0 : _b[key])) == null ? void 0 : _c.replace(\n            /%s/g,\n            () => params[i++] || \"\"\n          )) || \"\";\n        }\n      }\n    };\n\n    var closeIcon = \"<svg width=\\\"14\\\" height=\\\"14\\\" viewBox=\\\"0 0 14 14\\\"><line fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"13\\\" y2=\\\"13\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" x1=\\\"13\\\" y1=\\\"1\\\" x2=\\\"1\\\" y2=\\\"13\\\"/></svg>\";\n\n    var closeLarge = \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><line fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.4\\\" x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"19\\\" y2=\\\"19\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.4\\\" x1=\\\"19\\\" y1=\\\"1\\\" x2=\\\"1\\\" y2=\\\"19\\\"/></svg>\";\n\n    var dropParentIcon = \"<svg width=\\\"12\\\" height=\\\"12\\\" viewBox=\\\"0 0 12 12\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" points=\\\"1 3.5 6 8.5 11 3.5\\\"/></svg>\";\n\n    var marker = \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"9\\\" y=\\\"4\\\" width=\\\"1\\\" height=\\\"11\\\"/><rect x=\\\"4\\\" y=\\\"9\\\" width=\\\"11\\\" height=\\\"1\\\"/></svg>\";\n\n    var navParentIcon = \"<svg width=\\\"12\\\" height=\\\"12\\\" viewBox=\\\"0 0 12 12\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" points=\\\"1 3.5 6 8.5 11 3.5\\\"/></svg>\";\n\n    var navParentIconLarge = \"<svg width=\\\"14\\\" height=\\\"14\\\" viewBox=\\\"0 0 14 14\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" points=\\\"1 4 7 10 13 4\\\"/></svg>\";\n\n    var navbarParentIcon = \"<svg width=\\\"12\\\" height=\\\"12\\\" viewBox=\\\"0 0 12 12\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" points=\\\"1 3.5 6 8.5 11 3.5\\\"/></svg>\";\n\n    var navbarToggleIcon = \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><style>.uk-navbar-toggle-animate svg&gt;[class*=&quot;line-&quot;]{transition:0.2s ease-in-out;transition-property:transform, opacity;transform-origin:center;opacity:1}.uk-navbar-toggle svg&gt;.line-3{opacity:0}.uk-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-3{opacity:1}.uk-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-2{transform:rotate(45deg)}.uk-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-3{transform:rotate(-45deg)}.uk-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-1,.uk-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-4{opacity:0}.uk-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-1{transform:translateY(6px) scaleX(0)}.uk-navbar-toggle-animate[aria-expanded=&quot;true&quot;] svg&gt;.line-4{transform:translateY(-6px) scaleX(0)}</style><rect class=\\\"line-1\\\" y=\\\"3\\\" width=\\\"20\\\" height=\\\"2\\\"/><rect class=\\\"line-2\\\" y=\\\"9\\\" width=\\\"20\\\" height=\\\"2\\\"/><rect class=\\\"line-3\\\" y=\\\"9\\\" width=\\\"20\\\" height=\\\"2\\\"/><rect class=\\\"line-4\\\" y=\\\"15\\\" width=\\\"20\\\" height=\\\"2\\\"/></svg>\";\n\n    var overlayIcon = \"<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\"><rect x=\\\"19\\\" y=\\\"0\\\" width=\\\"1\\\" height=\\\"40\\\"/><rect x=\\\"0\\\" y=\\\"19\\\" width=\\\"40\\\" height=\\\"1\\\"/></svg>\";\n\n    var paginationNext = \"<svg width=\\\"7\\\" height=\\\"12\\\" viewBox=\\\"0 0 7 12\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.2\\\" points=\\\"1 1 6 6 1 11\\\"/></svg>\";\n\n    var paginationPrevious = \"<svg width=\\\"7\\\" height=\\\"12\\\" viewBox=\\\"0 0 7 12\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.2\\\" points=\\\"6 1 1 6 6 11\\\"/></svg>\";\n\n    var searchIcon = \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"9\\\" cy=\\\"9\\\" r=\\\"7\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M14,14 L18,18 L14,14 Z\\\"/></svg>\";\n\n    var searchLarge = \"<svg width=\\\"40\\\" height=\\\"40\\\" viewBox=\\\"0 0 40 40\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.8\\\" cx=\\\"17.5\\\" cy=\\\"17.5\\\" r=\\\"16.5\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.8\\\" x1=\\\"38\\\" y1=\\\"39\\\" x2=\\\"29\\\" y2=\\\"30\\\"/></svg>\";\n\n    var searchNavbar = \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"10.5\\\" cy=\\\"10.5\\\" r=\\\"9.5\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" x1=\\\"23\\\" y1=\\\"23\\\" x2=\\\"17\\\" y2=\\\"17\\\"/></svg>\";\n\n    var slidenavNext = \"<svg width=\\\"14\\\" height=\\\"24\\\" viewBox=\\\"0 0 14 24\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.4\\\" points=\\\"1.225,23 12.775,12 1.225,1\\\"/></svg>\";\n\n    var slidenavNextLarge = \"<svg width=\\\"25\\\" height=\\\"40\\\" viewBox=\\\"0 0 25 40\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"2\\\" points=\\\"4.002,38.547 22.527,20.024 4,1.5\\\"/></svg>\";\n\n    var slidenavPrevious = \"<svg width=\\\"14\\\" height=\\\"24\\\" viewBox=\\\"0 0 14 24\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.4\\\" points=\\\"12.775,1 1.225,12 12.775,23\\\"/></svg>\";\n\n    var slidenavPreviousLarge = \"<svg width=\\\"25\\\" height=\\\"40\\\" viewBox=\\\"0 0 25 40\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"2\\\" points=\\\"20.527,1.5 2,20.024 20.525,38.547\\\"/></svg>\";\n\n    var spinner = \"<svg width=\\\"30\\\" height=\\\"30\\\" viewBox=\\\"0 0 30 30\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"15\\\" cy=\\\"15\\\" r=\\\"14\\\"/></svg>\";\n\n    var totop = \"<svg width=\\\"18\\\" height=\\\"10\\\" viewBox=\\\"0 0 18 10\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.2\\\" points=\\\"1 9 9 1 17 9\\\"/></svg>\";\n\n    const icons = {\n      spinner,\n      totop,\n      marker,\n      \"close-icon\": closeIcon,\n      \"close-large\": closeLarge,\n      \"drop-parent-icon\": dropParentIcon,\n      \"nav-parent-icon\": navParentIcon,\n      \"nav-parent-icon-large\": navParentIconLarge,\n      \"navbar-parent-icon\": navbarParentIcon,\n      \"navbar-toggle-icon\": navbarToggleIcon,\n      \"overlay-icon\": overlayIcon,\n      \"pagination-next\": paginationNext,\n      \"pagination-previous\": paginationPrevious,\n      \"search-icon\": searchIcon,\n      \"search-large\": searchLarge,\n      \"search-navbar\": searchNavbar,\n      \"slidenav-next\": slidenavNext,\n      \"slidenav-next-large\": slidenavNextLarge,\n      \"slidenav-previous\": slidenavPrevious,\n      \"slidenav-previous-large\": slidenavPreviousLarge\n    };\n    const Icon = {\n      install: install$3,\n      mixins: [Svg],\n      args: \"icon\",\n      props: { icon: String },\n      isIcon: true,\n      beforeConnect() {\n        addClass(this.$el, \"uk-icon\");\n      },\n      methods: {\n        async getSvg() {\n          const icon = getIcon(this.icon);\n          if (!icon) {\n            throw \"Icon not found.\";\n          }\n          return icon;\n        }\n      }\n    };\n    const IconComponent = {\n      args: false,\n      extends: Icon,\n      data: (vm) => ({\n        icon: hyphenate(vm.constructor.options.name)\n      }),\n      beforeConnect() {\n        addClass(this.$el, this.$options.id);\n      }\n    };\n    const NavParentIcon = {\n      extends: IconComponent,\n      beforeConnect() {\n        const icon = this.$props.icon;\n        this.icon = closest(this.$el, \".uk-nav-primary\") ? `${icon}-large` : icon;\n      }\n    };\n    const Search = {\n      extends: IconComponent,\n      beforeConnect() {\n        this.icon = hasClass(this.$el, \"uk-search-icon\") && parents(this.$el, \".uk-search-large\").length ? \"search-large\" : parents(this.$el, \".uk-search-navbar\").length ? \"search-navbar\" : this.$props.icon;\n      }\n    };\n    const Spinner = {\n      extends: IconComponent,\n      beforeConnect() {\n        attr(this.$el, \"role\", \"status\");\n      },\n      methods: {\n        async getSvg() {\n          const icon = await Icon.methods.getSvg.call(this);\n          if (this.ratio !== 1) {\n            css($(\"circle\", icon), \"strokeWidth\", 1 / this.ratio);\n          }\n          return icon;\n        }\n      }\n    };\n    const ButtonComponent = {\n      extends: IconComponent,\n      mixins: [I18n],\n      beforeConnect() {\n        const button = closest(this.$el, \"a,button\");\n        attr(button, \"role\", this.role !== null && isTag(button, \"a\") ? \"button\" : this.role);\n        const label = this.t(\"label\");\n        if (label && !hasAttr(button, \"aria-label\")) {\n          attr(button, \"aria-label\", label);\n        }\n      }\n    };\n    const Slidenav = {\n      extends: ButtonComponent,\n      beforeConnect() {\n        addClass(this.$el, \"uk-slidenav\");\n        const icon = this.$props.icon;\n        this.icon = hasClass(this.$el, \"uk-slidenav-large\") ? `${icon}-large` : icon;\n      }\n    };\n    const NavbarToggleIcon = {\n      extends: ButtonComponent,\n      i18n: { label: \"Open menu\" }\n    };\n    const Close = {\n      extends: ButtonComponent,\n      i18n: { label: \"Close\" },\n      beforeConnect() {\n        this.icon = `close-${hasClass(this.$el, \"uk-close-large\") ? \"large\" : \"icon\"}`;\n      }\n    };\n    const Marker = {\n      extends: ButtonComponent,\n      i18n: { label: \"Open\" }\n    };\n    const Totop = {\n      extends: ButtonComponent,\n      i18n: { label: \"Back to top\" }\n    };\n    const PaginationNext = {\n      extends: ButtonComponent,\n      i18n: { label: \"Next page\" },\n      data: { role: null }\n    };\n    const PaginationPrevious = {\n      extends: ButtonComponent,\n      i18n: { label: \"Previous page\" },\n      data: { role: null }\n    };\n    const parsed = {};\n    function install$3(UIkit) {\n      UIkit.icon.add = (name, svg) => {\n        const added = isString(name) ? { [name]: svg } : name;\n        each(added, (svg2, name2) => {\n          icons[name2] = svg2;\n          delete parsed[name2];\n        });\n        if (UIkit._initialized) {\n          apply(\n            document.body,\n            (el) => each(UIkit.getComponents(el), (cmp) => {\n              cmp.$options.isIcon && cmp.icon in added && cmp.$reset();\n            })\n          );\n        }\n      };\n    }\n    function getIcon(icon) {\n      if (!icons[icon]) {\n        return null;\n      }\n      if (!parsed[icon]) {\n        parsed[icon] = $((icons[applyRtl(icon)] || icons[icon]).trim());\n      }\n      return parsed[icon].cloneNode(true);\n    }\n    function applyRtl(icon) {\n      return isRtl ? swap(swap(icon, \"left\", \"right\"), \"previous\", \"next\") : icon;\n    }\n\n    const nativeLazyLoad = inBrowser && \"loading\" in HTMLImageElement.prototype;\n    var img = {\n      args: \"dataSrc\",\n      props: {\n        dataSrc: String,\n        sources: String,\n        margin: String,\n        target: String,\n        loading: String\n      },\n      data: {\n        dataSrc: \"\",\n        sources: false,\n        margin: \"50%\",\n        target: false,\n        loading: \"lazy\"\n      },\n      connected() {\n        if (this.loading !== \"lazy\") {\n          this.load();\n          return;\n        }\n        if (nativeLazyLoad && isImg(this.$el)) {\n          this.$el.loading = \"lazy\";\n          setSrcAttrs(this.$el);\n        }\n        ensureSrcAttribute(this.$el);\n      },\n      disconnected() {\n        if (this.img) {\n          this.img.onload = \"\";\n        }\n        delete this.img;\n      },\n      observe: intersection({\n        target: ({ $el, $props }) => [$el, ...queryAll($props.target, $el)],\n        handler(entries, observer) {\n          this.load();\n          observer.disconnect();\n        },\n        options: ({ margin }) => ({ rootMargin: margin }),\n        filter: ({ loading }) => loading === \"lazy\"\n      }),\n      methods: {\n        load() {\n          if (this.img) {\n            return this.img;\n          }\n          const image = isImg(this.$el) ? this.$el : getImageFromElement(this.$el, this.dataSrc, this.sources);\n          removeAttr(image, \"loading\");\n          setSrcAttrs(this.$el, image.currentSrc);\n          return this.img = image;\n        }\n      }\n    };\n    function setSrcAttrs(el, src) {\n      if (isImg(el)) {\n        const parentNode = parent(el);\n        const elements = isTag(parentNode, \"picture\") ? children(parentNode) : [el];\n        elements.forEach((el2) => setSourceProps(el2, el2));\n      } else if (src) {\n        const change = !includes(el.style.backgroundImage, src);\n        if (change) {\n          css(el, \"backgroundImage\", `url(${escape(src)})`);\n          trigger(el, createEvent(\"load\", false));\n        }\n      }\n    }\n    const srcProps = [\"data-src\", \"data-srcset\", \"sizes\"];\n    function setSourceProps(sourceEl, targetEl) {\n      srcProps.forEach((prop) => {\n        const value = data(sourceEl, prop);\n        if (value) {\n          attr(targetEl, prop.replace(/^(data-)+/, \"\"), value);\n        }\n      });\n    }\n    function getImageFromElement(el, src, sources) {\n      const img = new Image();\n      wrapInPicture(img, sources);\n      setSourceProps(el, img);\n      img.onload = () => {\n        setSrcAttrs(el, img.currentSrc);\n      };\n      attr(img, \"src\", src);\n      return img;\n    }\n    function wrapInPicture(img, sources) {\n      sources = parseSources(sources);\n      if (sources.length) {\n        const picture = fragment(\"<picture>\");\n        for (const attrs of sources) {\n          const source = fragment(\"<source>\");\n          attr(source, attrs);\n          append(picture, source);\n        }\n        append(picture, img);\n      }\n    }\n    function parseSources(sources) {\n      if (!sources) {\n        return [];\n      }\n      if (startsWith(sources, \"[\")) {\n        try {\n          sources = JSON.parse(sources);\n        } catch (e) {\n          sources = [];\n        }\n      } else {\n        sources = parseOptions(sources);\n      }\n      if (!isArray(sources)) {\n        sources = [sources];\n      }\n      return sources.filter((source) => !isEmpty(source));\n    }\n    function ensureSrcAttribute(el) {\n      if (isImg(el) && !hasAttr(el, \"src\")) {\n        attr(el, \"src\", 'data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>');\n      }\n    }\n    function isImg(el) {\n      return isTag(el, \"img\");\n    }\n\n    var Media = {\n      props: {\n        media: Boolean\n      },\n      data: {\n        media: false\n      },\n      connected() {\n        const media = toMedia(this.media, this.$el);\n        this.matchMedia = true;\n        if (media) {\n          this.mediaObj = window.matchMedia(media);\n          const handler = () => {\n            this.matchMedia = this.mediaObj.matches;\n            trigger(this.$el, createEvent(\"mediachange\", false, true, [this.mediaObj]));\n          };\n          this.offMediaObj = on(this.mediaObj, \"change\", () => {\n            handler();\n            this.$emit(\"resize\");\n          });\n          handler();\n        }\n      },\n      disconnected() {\n        var _a;\n        (_a = this.offMediaObj) == null ? void 0 : _a.call(this);\n      }\n    };\n    function toMedia(value, element) {\n      if (isString(value)) {\n        if (startsWith(value, \"@\")) {\n          value = toFloat(css(element, `--uk-breakpoint-${value.substr(1)}`));\n        } else if (isNaN(value)) {\n          return value;\n        }\n      }\n      return value && isNumeric(value) ? `(min-width: ${value}px)` : \"\";\n    }\n\n    var leader = {\n      mixins: [Class, Media],\n      props: {\n        fill: String\n      },\n      data: {\n        fill: \"\",\n        clsWrapper: \"uk-leader-fill\",\n        clsHide: \"uk-leader-hide\",\n        attrFill: \"data-fill\"\n      },\n      computed: {\n        fill({ fill }) {\n          return fill || css(this.$el, \"--uk-leader-fill-content\");\n        }\n      },\n      connected() {\n        [this.wrapper] = wrapInner(this.$el, `<span class=\"${this.clsWrapper}\">`);\n      },\n      disconnected() {\n        unwrap(this.wrapper.childNodes);\n      },\n      observe: resize(),\n      update: {\n        read() {\n          const width = Math.trunc(this.$el.offsetWidth / 2);\n          return {\n            width,\n            fill: this.fill,\n            hide: !this.matchMedia\n          };\n        },\n        write({ width, fill, hide }) {\n          toggleClass(this.wrapper, this.clsHide, hide);\n          attr(this.wrapper, this.attrFill, new Array(width).join(fill));\n        },\n        events: [\"resize\"]\n      }\n    };\n\n    const active = [];\n    var Modal = {\n      mixins: [Class, Container, Togglable],\n      props: {\n        selPanel: String,\n        selClose: String,\n        escClose: Boolean,\n        bgClose: Boolean,\n        stack: Boolean,\n        role: String\n      },\n      data: {\n        cls: \"uk-open\",\n        escClose: true,\n        bgClose: true,\n        overlay: true,\n        stack: false,\n        role: \"dialog\"\n      },\n      computed: {\n        panel({ selPanel }, $el) {\n          return $(selPanel, $el);\n        },\n        transitionElement() {\n          return this.panel;\n        },\n        bgClose({ bgClose }) {\n          return bgClose && this.panel;\n        }\n      },\n      connected() {\n        attr(this.panel || this.$el, \"role\", this.role);\n        if (this.overlay) {\n          attr(this.panel || this.$el, \"aria-modal\", true);\n        }\n      },\n      beforeDisconnect() {\n        if (includes(active, this)) {\n          this.toggleElement(this.$el, false, false);\n        }\n      },\n      events: [\n        {\n          name: \"click\",\n          delegate() {\n            return `${this.selClose},a[href*=\"#\"]`;\n          },\n          handler(e) {\n            const { current, defaultPrevented } = e;\n            const { hash } = current;\n            if (!defaultPrevented && hash && isSameSiteAnchor(current) && !within(hash, this.$el) && $(hash, document.body)) {\n              this.hide();\n            } else if (matches(current, this.selClose)) {\n              e.preventDefault();\n              this.hide();\n            }\n          }\n        },\n        {\n          name: \"toggle\",\n          self: true,\n          handler(e) {\n            if (e.defaultPrevented) {\n              return;\n            }\n            e.preventDefault();\n            if (this.isToggled() === includes(active, this)) {\n              this.toggle();\n            }\n          }\n        },\n        {\n          name: \"beforeshow\",\n          self: true,\n          handler(e) {\n            if (includes(active, this)) {\n              return false;\n            }\n            if (!this.stack && active.length) {\n              Promise.all(active.map((modal) => modal.hide())).then(this.show);\n              e.preventDefault();\n            } else {\n              active.push(this);\n            }\n          }\n        },\n        {\n          name: \"show\",\n          self: true,\n          handler() {\n            if (this.stack) {\n              css(this.$el, \"zIndex\", toFloat(css(this.$el, \"zIndex\")) + active.length);\n            }\n            const handlers = [\n              this.overlay && preventBackgroundFocus(this),\n              this.overlay && preventBackgroundScroll(this.$el),\n              this.bgClose && listenForBackgroundClose(this),\n              this.escClose && listenForEscClose(this)\n            ];\n            once(\n              this.$el,\n              \"hidden\",\n              () => handlers.forEach((handler) => handler && handler()),\n              { self: true }\n            );\n            addClass(document.documentElement, this.clsPage);\n          }\n        },\n        {\n          name: \"shown\",\n          self: true,\n          handler() {\n            if (!isFocusable(this.$el)) {\n              attr(this.$el, \"tabindex\", \"-1\");\n            }\n            if (!matches(this.$el, \":focus-within\")) {\n              this.$el.focus();\n            }\n          }\n        },\n        {\n          name: \"hidden\",\n          self: true,\n          handler() {\n            if (includes(active, this)) {\n              active.splice(active.indexOf(this), 1);\n            }\n            css(this.$el, \"zIndex\", \"\");\n            if (!active.some((modal) => modal.clsPage === this.clsPage)) {\n              removeClass(document.documentElement, this.clsPage);\n            }\n          }\n        }\n      ],\n      methods: {\n        toggle() {\n          return this.isToggled() ? this.hide() : this.show();\n        },\n        show() {\n          if (this.container && parent(this.$el) !== this.container) {\n            append(this.container, this.$el);\n            return new Promise(\n              (resolve) => requestAnimationFrame(() => this.show().then(resolve))\n            );\n          }\n          return this.toggleElement(this.$el, true, animate);\n        },\n        hide() {\n          return this.toggleElement(this.$el, false, animate);\n        }\n      }\n    };\n    function animate(el, show, { transitionElement, _toggle }) {\n      return new Promise(\n        (resolve, reject) => once(el, \"show hide\", () => {\n          var _a;\n          (_a = el._reject) == null ? void 0 : _a.call(el);\n          el._reject = reject;\n          _toggle(el, show);\n          const off = once(\n            transitionElement,\n            \"transitionstart\",\n            () => {\n              once(transitionElement, \"transitionend transitioncancel\", resolve, {\n                self: true\n              });\n              clearTimeout(timer);\n            },\n            { self: true }\n          );\n          const timer = setTimeout(() => {\n            off();\n            resolve();\n          }, toMs(css(transitionElement, \"transitionDuration\")));\n        })\n      ).then(() => delete el._reject);\n    }\n    function toMs(time) {\n      return time ? endsWith(time, \"ms\") ? toFloat(time) : toFloat(time) * 1e3 : 0;\n    }\n    function preventBackgroundFocus(modal) {\n      return on(document, \"focusin\", (e) => {\n        if (last(active) === modal && !within(e.target, modal.$el)) {\n          modal.$el.focus();\n        }\n      });\n    }\n    function listenForBackgroundClose(modal) {\n      return on(document, pointerDown$1, ({ target }) => {\n        if (last(active) !== modal || modal.overlay && !within(target, modal.$el) || within(target, modal.panel)) {\n          return;\n        }\n        once(\n          document,\n          `${pointerUp$1} ${pointerCancel} scroll`,\n          ({ defaultPrevented, type, target: newTarget }) => {\n            if (!defaultPrevented && type === pointerUp$1 && target === newTarget) {\n              modal.hide();\n            }\n          },\n          true\n        );\n      });\n    }\n    function listenForEscClose(modal) {\n      return on(document, \"keydown\", (e) => {\n        if (e.keyCode === 27 && last(active) === modal) {\n          modal.hide();\n        }\n      });\n    }\n\n    var modal = {\n      install: install$2,\n      mixins: [Modal],\n      data: {\n        clsPage: \"uk-modal-page\",\n        selPanel: \".uk-modal-dialog\",\n        selClose: \".uk-modal-close, .uk-modal-close-default, .uk-modal-close-outside, .uk-modal-close-full\"\n      },\n      events: [\n        {\n          name: \"show\",\n          self: true,\n          handler() {\n            if (hasClass(this.panel, \"uk-margin-auto-vertical\")) {\n              addClass(this.$el, \"uk-flex\");\n            } else {\n              css(this.$el, \"display\", \"block\");\n            }\n            height(this.$el);\n          }\n        },\n        {\n          name: \"hidden\",\n          self: true,\n          handler() {\n            css(this.$el, \"display\", \"\");\n            removeClass(this.$el, \"uk-flex\");\n          }\n        }\n      ]\n    };\n    function install$2({ modal }) {\n      modal.dialog = function(content, options) {\n        const dialog = modal(\n          `<div class=\"uk-modal\"> <div class=\"uk-modal-dialog\">${content}</div> </div>`,\n          options\n        );\n        dialog.show();\n        on(\n          dialog.$el,\n          \"hidden\",\n          async () => {\n            await Promise.resolve();\n            dialog.$destroy(true);\n          },\n          { self: true }\n        );\n        return dialog;\n      };\n      modal.alert = function(message, options) {\n        return openDialog(\n          ({ i18n }) => `<div class=\"uk-modal-body\">${isString(message) ? message : html(message)}</div> <div class=\"uk-modal-footer uk-text-right\"> <button class=\"uk-button uk-button-primary uk-modal-close\" autofocus>${i18n.ok}</button> </div>`,\n          options,\n          (deferred) => deferred.resolve()\n        );\n      };\n      modal.confirm = function(message, options) {\n        return openDialog(\n          ({ i18n }) => `<form> <div class=\"uk-modal-body\">${isString(message) ? message : html(message)}</div> <div class=\"uk-modal-footer uk-text-right\"> <button class=\"uk-button uk-button-default uk-modal-close\" type=\"button\">${i18n.cancel}</button> <button class=\"uk-button uk-button-primary\" autofocus>${i18n.ok}</button> </div> </form>`,\n          options,\n          (deferred) => deferred.reject()\n        );\n      };\n      modal.prompt = function(message, value, options) {\n        return openDialog(\n          ({ i18n }) => `<form class=\"uk-form-stacked\"> <div class=\"uk-modal-body\"> <label>${isString(message) ? message : html(message)}</label> <input class=\"uk-input\" value=\"${value || \"\"}\" autofocus> </div> <div class=\"uk-modal-footer uk-text-right\"> <button class=\"uk-button uk-button-default uk-modal-close\" type=\"button\">${i18n.cancel}</button> <button class=\"uk-button uk-button-primary\">${i18n.ok}</button> </div> </form>`,\n          options,\n          (deferred) => deferred.resolve(null),\n          (dialog) => $(\"input\", dialog.$el).value\n        );\n      };\n      modal.i18n = {\n        ok: \"Ok\",\n        cancel: \"Cancel\"\n      };\n      function openDialog(tmpl, options, hideFn, submitFn) {\n        options = {\n          bgClose: false,\n          escClose: true,\n          role: \"alertdialog\",\n          ...options,\n          i18n: { ...modal.i18n, ...options == null ? void 0 : options.i18n }\n        };\n        const dialog = modal.dialog(tmpl(options), options);\n        const deferred = new Deferred();\n        let resolved = false;\n        on(dialog.$el, \"submit\", \"form\", (e) => {\n          e.preventDefault();\n          deferred.resolve(submitFn == null ? void 0 : submitFn(dialog));\n          resolved = true;\n          dialog.hide();\n        });\n        on(dialog.$el, \"hide\", () => !resolved && hideFn(deferred));\n        deferred.promise.dialog = dialog;\n        return deferred.promise;\n      }\n    }\n\n    var nav = {\n      extends: Accordion,\n      data: {\n        targets: \"> .uk-parent\",\n        toggle: \"> a\",\n        content: \"> ul\"\n      }\n    };\n\n    var navbar = {\n      extends: Dropnav,\n      data: {\n        clsDrop: \"uk-navbar-dropdown\",\n        selNavItem: \".uk-navbar-nav > li > a,a.uk-navbar-item,button.uk-navbar-item,.uk-navbar-item a,.uk-navbar-item button,.uk-navbar-toggle\"\n        // Simplify with :where() selector once browser target is Safari 14+\n      },\n      watch: {\n        items() {\n          const justify = hasClass(this.$el, \"uk-navbar-justify\");\n          for (const container of $$(\n            \".uk-navbar-nav, .uk-navbar-left, .uk-navbar-right\",\n            this.$el\n          )) {\n            css(\n              container,\n              \"flexGrow\",\n              justify ? $$(\n                \".uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle\",\n                container\n              ).length : \"\"\n            );\n          }\n        }\n      }\n    };\n\n    var offcanvas = {\n      mixins: [Modal],\n      args: \"mode\",\n      props: {\n        mode: String,\n        flip: Boolean,\n        overlay: Boolean,\n        swiping: Boolean\n      },\n      data: {\n        mode: \"slide\",\n        flip: false,\n        overlay: false,\n        clsPage: \"uk-offcanvas-page\",\n        clsContainer: \"uk-offcanvas-container\",\n        selPanel: \".uk-offcanvas-bar\",\n        clsFlip: \"uk-offcanvas-flip\",\n        clsContainerAnimation: \"uk-offcanvas-container-animation\",\n        clsSidebarAnimation: \"uk-offcanvas-bar-animation\",\n        clsMode: \"uk-offcanvas\",\n        clsOverlay: \"uk-offcanvas-overlay\",\n        selClose: \".uk-offcanvas-close\",\n        container: false,\n        swiping: true\n      },\n      computed: {\n        clsFlip({ flip, clsFlip }) {\n          return flip ? clsFlip : \"\";\n        },\n        clsOverlay({ overlay, clsOverlay }) {\n          return overlay ? clsOverlay : \"\";\n        },\n        clsMode({ mode, clsMode }) {\n          return `${clsMode}-${mode}`;\n        },\n        clsSidebarAnimation({ mode, clsSidebarAnimation }) {\n          return mode === \"none\" || mode === \"reveal\" ? \"\" : clsSidebarAnimation;\n        },\n        clsContainerAnimation({ mode, clsContainerAnimation }) {\n          return mode !== \"push\" && mode !== \"reveal\" ? \"\" : clsContainerAnimation;\n        },\n        transitionElement({ mode }) {\n          return mode === \"reveal\" ? parent(this.panel) : this.panel;\n        }\n      },\n      observe: swipe({ filter: ({ swiping }) => swiping }),\n      update: {\n        read() {\n          if (this.isToggled() && !isVisible(this.$el)) {\n            this.hide();\n          }\n        },\n        events: [\"resize\"]\n      },\n      events: [\n        {\n          name: \"touchmove\",\n          self: true,\n          passive: false,\n          filter() {\n            return this.overlay;\n          },\n          handler(e) {\n            e.cancelable && e.preventDefault();\n          }\n        },\n        {\n          name: \"show\",\n          self: true,\n          handler() {\n            if (this.mode === \"reveal\" && !hasClass(parent(this.panel), this.clsMode)) {\n              wrapAll(this.panel, \"<div>\");\n              addClass(parent(this.panel), this.clsMode);\n            }\n            const { body, scrollingElement } = document;\n            addClass(body, this.clsContainer, this.clsFlip);\n            css(body, \"touch-action\", \"pan-y pinch-zoom\");\n            css(this.$el, \"display\", \"block\");\n            css(this.panel, \"maxWidth\", scrollingElement.clientWidth);\n            addClass(this.$el, this.clsOverlay);\n            addClass(\n              this.panel,\n              this.clsSidebarAnimation,\n              this.mode === \"reveal\" ? \"\" : this.clsMode\n            );\n            height(body);\n            addClass(body, this.clsContainerAnimation);\n            this.clsContainerAnimation && suppressUserScale();\n          }\n        },\n        {\n          name: \"hide\",\n          self: true,\n          handler() {\n            removeClass(document.body, this.clsContainerAnimation);\n            css(document.body, \"touch-action\", \"\");\n          }\n        },\n        {\n          name: \"hidden\",\n          self: true,\n          handler() {\n            this.clsContainerAnimation && resumeUserScale();\n            if (this.mode === \"reveal\") {\n              unwrap(this.panel);\n            }\n            removeClass(this.panel, this.clsSidebarAnimation, this.clsMode);\n            removeClass(this.$el, this.clsOverlay);\n            css(this.$el, \"display\", \"\");\n            css(this.panel, \"maxWidth\", \"\");\n            removeClass(document.body, this.clsContainer, this.clsFlip);\n          }\n        },\n        {\n          name: \"swipeLeft swipeRight\",\n          handler(e) {\n            if (this.isToggled() && endsWith(e.type, \"Left\") ^ this.flip) {\n              this.hide();\n            }\n          }\n        }\n      ]\n    };\n    function suppressUserScale() {\n      getViewport().content += \",user-scalable=0\";\n    }\n    function resumeUserScale() {\n      const viewport = getViewport();\n      viewport.content = viewport.content.replace(/,user-scalable=0$/, \"\");\n    }\n    function getViewport() {\n      return $('meta[name=\"viewport\"]', document.head) || append(document.head, '<meta name=\"viewport\">');\n    }\n\n    var overflowAuto = {\n      mixins: [Class],\n      props: {\n        selContainer: String,\n        selContent: String,\n        minHeight: Number\n      },\n      data: {\n        selContainer: \".uk-modal\",\n        selContent: \".uk-modal-dialog\",\n        minHeight: 150\n      },\n      computed: {\n        container({ selContainer }, $el) {\n          return closest($el, selContainer);\n        },\n        content({ selContent }, $el) {\n          return closest($el, selContent);\n        }\n      },\n      observe: resize({\n        target: ({ container, content }) => [container, content]\n      }),\n      update: {\n        read() {\n          if (!this.content || !this.container || !isVisible(this.$el)) {\n            return false;\n          }\n          return {\n            max: Math.max(\n              this.minHeight,\n              height(this.container) - (dimensions$1(this.content).height - height(this.$el))\n            )\n          };\n        },\n        write({ max }) {\n          css(this.$el, { minHeight: this.minHeight, maxHeight: max });\n        },\n        events: [\"resize\"]\n      }\n    };\n\n    var responsive = {\n      props: [\"width\", \"height\"],\n      connected() {\n        addClass(this.$el, \"uk-responsive-width\");\n      },\n      observe: resize({\n        target: ({ $el }) => [$el, parent($el)]\n      }),\n      update: {\n        read() {\n          return isVisible(this.$el) && this.width && this.height ? { width: width(parent(this.$el)), height: this.height } : false;\n        },\n        write(dim) {\n          height(\n            this.$el,\n            Dimensions.contain(\n              {\n                height: this.height,\n                width: this.width\n              },\n              dim\n            ).height\n          );\n        },\n        events: [\"resize\"]\n      }\n    };\n\n    var scroll = {\n      props: {\n        offset: Number\n      },\n      data: {\n        offset: 0\n      },\n      connected() {\n        registerClick(this);\n      },\n      disconnected() {\n        unregisterClick(this);\n      },\n      methods: {\n        async scrollTo(el) {\n          el = el && $(el) || document.body;\n          if (trigger(this.$el, \"beforescroll\", [this, el])) {\n            await scrollIntoView(el, { offset: this.offset });\n            trigger(this.$el, \"scrolled\", [this, el]);\n          }\n        }\n      }\n    };\n    const instances = /* @__PURE__ */ new Set();\n    function registerClick(cmp) {\n      if (!instances.size) {\n        on(document, \"click\", clickHandler);\n      }\n      instances.add(cmp);\n    }\n    function unregisterClick(cmp) {\n      instances.delete(cmp);\n      if (!instances.size) {\n        off(document, \"click\", clickHandler);\n      }\n    }\n    function clickHandler(e) {\n      if (e.defaultPrevented) {\n        return;\n      }\n      for (const instance of instances) {\n        if (within(e.target, instance.$el) && isSameSiteAnchor(instance.$el)) {\n          e.preventDefault();\n          if (window.location.href !== instance.$el.href) {\n            window.history.pushState({}, \"\", instance.$el.href);\n          }\n          instance.scrollTo(getTargetedElement(instance.$el));\n        }\n      }\n    }\n\n    var scrollspy = {\n      args: \"cls\",\n      props: {\n        cls: String,\n        target: String,\n        hidden: Boolean,\n        margin: String,\n        repeat: Boolean,\n        delay: Number\n      },\n      data: () => ({\n        cls: \"\",\n        target: false,\n        hidden: true,\n        margin: \"-1px\",\n        repeat: false,\n        delay: 0,\n        inViewClass: \"uk-scrollspy-inview\"\n      }),\n      computed: {\n        elements({ target }, $el) {\n          return target ? $$(target, $el) : [$el];\n        }\n      },\n      watch: {\n        elements(elements) {\n          if (this.hidden) {\n            css(filter$1(elements, `:not(.${this.inViewClass})`), \"opacity\", 0);\n          }\n        }\n      },\n      connected() {\n        this.elementData = /* @__PURE__ */ new Map();\n      },\n      disconnected() {\n        for (const [el, state] of this.elementData.entries()) {\n          removeClass(el, this.inViewClass, (state == null ? void 0 : state.cls) || \"\");\n        }\n        delete this.elementData;\n      },\n      observe: intersection({\n        target: ({ elements }) => elements,\n        handler(records) {\n          const elements = this.elementData;\n          for (const { target: el, isIntersecting } of records) {\n            if (!elements.has(el)) {\n              elements.set(el, {\n                cls: data(el, \"uk-scrollspy-class\") || this.cls\n              });\n            }\n            const state = elements.get(el);\n            if (!this.repeat && state.show) {\n              continue;\n            }\n            state.show = isIntersecting;\n          }\n          this.$emit();\n        },\n        options: (instance) => ({ rootMargin: instance.margin }),\n        args: { intersecting: false }\n      }),\n      update: [\n        {\n          write(data) {\n            for (const [el, state] of this.elementData.entries()) {\n              if (state.show && !state.inview && !state.queued) {\n                state.queued = true;\n                data.promise = (data.promise || Promise.resolve()).then(() => new Promise((resolve) => setTimeout(resolve, this.delay))).then(() => {\n                  this.toggle(el, true);\n                  setTimeout(() => {\n                    state.queued = false;\n                    this.$emit();\n                  }, 300);\n                });\n              } else if (!state.show && state.inview && !state.queued && this.repeat) {\n                this.toggle(el, false);\n              }\n            }\n          }\n        }\n      ],\n      methods: {\n        toggle(el, inview) {\n          var _a;\n          const state = this.elementData.get(el);\n          if (!state) {\n            return;\n          }\n          (_a = state.off) == null ? void 0 : _a.call(state);\n          css(el, \"opacity\", !inview && this.hidden ? 0 : \"\");\n          toggleClass(el, this.inViewClass, inview);\n          toggleClass(el, state.cls);\n          if (/\\buk-animation-/.test(state.cls)) {\n            const removeAnimationClasses = () => removeClasses(el, \"uk-animation-[\\\\w-]+\");\n            if (inview) {\n              state.off = once(el, \"animationcancel animationend\", removeAnimationClasses);\n            } else {\n              removeAnimationClasses();\n            }\n          }\n          trigger(el, inview ? \"inview\" : \"outview\");\n          state.inview = inview;\n          this.$update(el);\n        }\n      }\n    };\n\n    var scrollspyNav = {\n      props: {\n        cls: String,\n        closest: String,\n        scroll: Boolean,\n        overflow: Boolean,\n        offset: Number\n      },\n      data: {\n        cls: \"uk-active\",\n        closest: false,\n        scroll: false,\n        overflow: true,\n        offset: 0\n      },\n      computed: {\n        links(_, $el) {\n          return $$('a[href*=\"#\"]', $el).filter((el) => el.hash && isSameSiteAnchor(el));\n        },\n        elements({ closest: selector }) {\n          return closest(this.links, selector || \"*\");\n        }\n      },\n      watch: {\n        links(links) {\n          if (this.scroll) {\n            this.$create(\"scroll\", links, { offset: this.offset || 0 });\n          }\n        }\n      },\n      observe: [intersection(), scroll$1()],\n      update: [\n        {\n          read() {\n            const targets = this.links.map(getTargetedElement).filter(Boolean);\n            const { length } = targets;\n            if (!length || !isVisible(this.$el)) {\n              return false;\n            }\n            const [scrollElement] = scrollParents(targets, true);\n            const { scrollTop, scrollHeight } = scrollElement;\n            const viewport = offsetViewport(scrollElement);\n            const max = scrollHeight - viewport.height;\n            let active = false;\n            if (scrollTop === max) {\n              active = length - 1;\n            } else {\n              for (let i = 0; i < targets.length; i++) {\n                if (offset(targets[i]).top - viewport.top - this.offset > 0) {\n                  break;\n                }\n                active = +i;\n              }\n              if (active === false && this.overflow) {\n                active = 0;\n              }\n            }\n            return { active };\n          },\n          write({ active }) {\n            const changed = active !== false && !hasClass(this.elements[active], this.cls);\n            this.links.forEach((el) => el.blur());\n            for (let i = 0; i < this.elements.length; i++) {\n              toggleClass(this.elements[i], this.cls, +i === active);\n            }\n            if (changed) {\n              trigger(this.$el, \"active\", [active, this.elements[active]]);\n            }\n          },\n          events: [\"scroll\", \"resize\"]\n        }\n      ]\n    };\n\n    var sticky = {\n      mixins: [Class, Media],\n      props: {\n        position: String,\n        top: null,\n        bottom: null,\n        start: null,\n        end: null,\n        offset: String,\n        overflowFlip: Boolean,\n        animation: String,\n        clsActive: String,\n        clsInactive: String,\n        clsFixed: String,\n        clsBelow: String,\n        selTarget: String,\n        showOnUp: Boolean,\n        targetOffset: Number\n      },\n      data: {\n        position: \"top\",\n        top: false,\n        bottom: false,\n        start: false,\n        end: false,\n        offset: 0,\n        overflowFlip: false,\n        animation: \"\",\n        clsActive: \"uk-active\",\n        clsInactive: \"\",\n        clsFixed: \"uk-sticky-fixed\",\n        clsBelow: \"uk-sticky-below\",\n        selTarget: \"\",\n        showOnUp: false,\n        targetOffset: false\n      },\n      computed: {\n        selTarget({ selTarget }, $el) {\n          return selTarget && $(selTarget, $el) || $el;\n        }\n      },\n      connected() {\n        this.start = coerce(this.start || this.top);\n        this.end = coerce(this.end || this.bottom);\n        this.placeholder = $(\"+ .uk-sticky-placeholder\", this.$el) || $('<div class=\"uk-sticky-placeholder\"></div>');\n        this.isFixed = false;\n        this.setActive(false);\n      },\n      disconnected() {\n        if (this.isFixed) {\n          this.hide();\n          removeClass(this.selTarget, this.clsInactive);\n        }\n        reset(this.$el);\n        remove$1(this.placeholder);\n        this.placeholder = null;\n      },\n      observe: [resize({ target: ({ $el }) => [$el, document.documentElement] }), scroll$1()],\n      events: [\n        {\n          name: \"resize\",\n          el() {\n            return [window, window.visualViewport];\n          },\n          handler() {\n            this.$emit(\"resize\");\n          }\n        },\n        {\n          name: \"load hashchange popstate\",\n          el() {\n            return window;\n          },\n          filter() {\n            return this.targetOffset !== false;\n          },\n          handler() {\n            const { scrollingElement } = document;\n            if (!location.hash || scrollingElement.scrollTop === 0) {\n              return;\n            }\n            setTimeout(() => {\n              const targetOffset = offset($(location.hash));\n              const elOffset = offset(this.$el);\n              if (this.isFixed && intersectRect(targetOffset, elOffset)) {\n                scrollingElement.scrollTop = targetOffset.top - elOffset.height - toPx(this.targetOffset, \"height\", this.placeholder) - toPx(this.offset, \"height\", this.placeholder);\n              }\n            });\n          }\n        },\n        {\n          name: \"transitionstart\",\n          capture: true,\n          handler() {\n            this.transitionInProgress = once(\n              this.$el,\n              \"transitionend transitioncancel\",\n              () => this.transitionInProgress = null\n            );\n          }\n        }\n      ],\n      update: [\n        {\n          read({ height: height$1, width, margin, sticky }) {\n            this.inactive = !this.matchMedia || !isVisible(this.$el);\n            if (this.inactive) {\n              return;\n            }\n            const hide = this.isFixed && !this.transitionInProgress;\n            if (hide) {\n              preventTransition(this.selTarget);\n              this.hide();\n            }\n            if (!this.active) {\n              ({ height: height$1, width } = offset(this.$el));\n              margin = css(this.$el, \"margin\");\n            }\n            if (hide) {\n              this.show();\n            }\n            const viewport = toPx(\"100vh\", \"height\");\n            const dynamicViewport = height(window);\n            const maxScrollHeight = document.scrollingElement.scrollHeight - viewport;\n            let position = this.position;\n            if (this.overflowFlip && height$1 > viewport) {\n              position = position === \"top\" ? \"bottom\" : \"top\";\n            }\n            const referenceElement = this.isFixed ? this.placeholder : this.$el;\n            let offset$1 = toPx(this.offset, \"height\", sticky ? this.$el : referenceElement);\n            if (position === \"bottom\" && (height$1 < dynamicViewport || this.overflowFlip)) {\n              offset$1 += dynamicViewport - height$1;\n            }\n            const overflow = this.overflowFlip ? 0 : Math.max(0, height$1 + offset$1 - viewport);\n            const topOffset = offset(referenceElement).top;\n            const elHeight = offset(this.$el).height;\n            const start = (this.start === false ? topOffset : parseProp(this.start, this.$el, topOffset)) - offset$1;\n            const end = this.end === false ? maxScrollHeight : Math.min(\n              maxScrollHeight,\n              parseProp(this.end, this.$el, topOffset + height$1, true) - elHeight - offset$1 + overflow\n            );\n            sticky = maxScrollHeight && !this.showOnUp && start + offset$1 === topOffset && end === Math.min(\n              maxScrollHeight,\n              parseProp(\"!*\", this.$el, 0, true) - elHeight - offset$1 + overflow\n            ) && css(parent(this.$el), \"overflowY\") === \"visible\";\n            return {\n              start,\n              end,\n              offset: offset$1,\n              overflow,\n              topOffset,\n              height: height$1,\n              elHeight,\n              width,\n              margin,\n              top: offsetPosition(referenceElement)[0],\n              sticky\n            };\n          },\n          write({ height, width, margin, offset, sticky }) {\n            if (this.inactive || sticky || !this.isFixed) {\n              reset(this.$el);\n            }\n            if (this.inactive) {\n              return;\n            }\n            if (sticky) {\n              height = width = margin = 0;\n              css(this.$el, { position: \"sticky\", top: offset });\n            }\n            const { placeholder } = this;\n            css(placeholder, { height, width, margin });\n            if (!within(placeholder, document)) {\n              placeholder.hidden = true;\n            }\n            (sticky ? before : after)(this.$el, placeholder);\n          },\n          events: [\"resize\"]\n        },\n        {\n          read({\n            scroll: prevScroll = 0,\n            dir: prevDir = \"down\",\n            overflow,\n            overflowScroll = 0,\n            start,\n            end\n          }) {\n            const scroll2 = document.scrollingElement.scrollTop;\n            const dir = prevScroll <= scroll2 ? \"down\" : \"up\";\n            return {\n              dir,\n              prevDir,\n              scroll: scroll2,\n              prevScroll,\n              offsetParentTop: offset(\n                (this.isFixed ? this.placeholder : this.$el).offsetParent\n              ).top,\n              overflowScroll: clamp(\n                overflowScroll + clamp(scroll2, start, end) - clamp(prevScroll, start, end),\n                0,\n                overflow\n              )\n            };\n          },\n          write(data, types) {\n            const isScrollUpdate = types.has(\"scroll\");\n            const {\n              initTimestamp = 0,\n              dir,\n              prevDir,\n              scroll: scroll2,\n              prevScroll = 0,\n              top,\n              start,\n              topOffset,\n              height\n            } = data;\n            if (scroll2 < 0 || scroll2 === prevScroll && isScrollUpdate || this.showOnUp && !isScrollUpdate && !this.isFixed) {\n              return;\n            }\n            const now = Date.now();\n            if (now - initTimestamp > 300 || dir !== prevDir) {\n              data.initScroll = scroll2;\n              data.initTimestamp = now;\n            }\n            if (this.showOnUp && !this.isFixed && Math.abs(data.initScroll - scroll2) <= 30 && Math.abs(prevScroll - scroll2) <= 10) {\n              return;\n            }\n            if (this.inactive || scroll2 < start || this.showOnUp && (scroll2 <= start || dir === \"down\" && isScrollUpdate || dir === \"up\" && !this.isFixed && scroll2 <= topOffset + height)) {\n              if (!this.isFixed) {\n                if (Animation.inProgress(this.$el) && top > scroll2) {\n                  Animation.cancel(this.$el);\n                  this.hide();\n                }\n                return;\n              }\n              if (this.animation && scroll2 > topOffset) {\n                Animation.cancel(this.$el);\n                Animation.out(this.$el, this.animation).then(() => this.hide(), noop);\n              } else {\n                this.hide();\n              }\n            } else if (this.isFixed) {\n              this.update();\n            } else if (this.animation && scroll2 > topOffset) {\n              Animation.cancel(this.$el);\n              this.show();\n              Animation.in(this.$el, this.animation).catch(noop);\n            } else {\n              preventTransition(this.selTarget);\n              this.show();\n            }\n          },\n          events: [\"resize\", \"resizeViewport\", \"scroll\"]\n        }\n      ],\n      methods: {\n        show() {\n          this.isFixed = true;\n          this.update();\n          this.placeholder.hidden = false;\n        },\n        hide() {\n          const { offset, sticky } = this._data;\n          this.setActive(false);\n          removeClass(this.$el, this.clsFixed, this.clsBelow);\n          if (sticky) {\n            css(this.$el, \"top\", offset);\n          } else {\n            css(this.$el, {\n              position: \"\",\n              top: \"\",\n              width: \"\",\n              marginTop: \"\"\n            });\n          }\n          this.placeholder.hidden = true;\n          this.isFixed = false;\n        },\n        update() {\n          let {\n            width,\n            scroll: scroll2 = 0,\n            overflow,\n            overflowScroll = 0,\n            start,\n            end,\n            offset,\n            topOffset,\n            height,\n            elHeight,\n            offsetParentTop,\n            sticky\n          } = this._data;\n          const active = start !== 0 || scroll2 > start;\n          if (!sticky) {\n            let position = \"fixed\";\n            if (scroll2 > end) {\n              offset += end - offsetParentTop;\n              position = \"absolute\";\n            }\n            css(this.$el, { position, width });\n            css(this.$el, \"marginTop\", 0, \"important\");\n          }\n          if (overflow) {\n            offset -= overflowScroll;\n          }\n          css(this.$el, \"top\", offset);\n          this.setActive(active);\n          toggleClass(\n            this.$el,\n            this.clsBelow,\n            scroll2 > topOffset + (sticky ? Math.min(height, elHeight) : height)\n          );\n          addClass(this.$el, this.clsFixed);\n        },\n        setActive(active) {\n          const prev = this.active;\n          this.active = active;\n          if (active) {\n            replaceClass(this.selTarget, this.clsInactive, this.clsActive);\n            prev !== active && trigger(this.$el, \"active\");\n          } else {\n            replaceClass(this.selTarget, this.clsActive, this.clsInactive);\n            prev !== active && trigger(this.$el, \"inactive\");\n          }\n        }\n      }\n    };\n    function parseProp(value, el, propOffset, padding) {\n      if (!value) {\n        return 0;\n      }\n      if (isNumeric(value) || isString(value) && value.match(/^-?\\d/)) {\n        return propOffset + toPx(value, \"height\", el, true);\n      } else {\n        const refElement = value === true ? parent(el) : query(value, el);\n        return offset(refElement).bottom - (padding && refElement && within(el, refElement) ? toFloat(css(refElement, \"paddingBottom\")) : 0);\n      }\n    }\n    function coerce(value) {\n      if (value === \"true\") {\n        return true;\n      } else if (value === \"false\") {\n        return false;\n      }\n      return value;\n    }\n    function reset(el) {\n      css(el, { position: \"\", top: \"\", marginTop: \"\", width: \"\" });\n    }\n    function preventTransition(el) {\n      css(el, \"transition\", \"0s\");\n      requestAnimationFrame(() => css(el, \"transition\", \"\"));\n    }\n\n    function getMaxPathLength(el) {\n      return Math.ceil(\n        Math.max(\n          0,\n          ...$$(\"[stroke]\", el).map((stroke) => {\n            try {\n              return stroke.getTotalLength();\n            } catch (e) {\n              return 0;\n            }\n          })\n        )\n      );\n    }\n\n    var svg = {\n      mixins: [Svg],\n      args: \"src\",\n      props: {\n        src: String,\n        icon: String,\n        attributes: \"list\",\n        strokeAnimation: Boolean\n      },\n      data: {\n        strokeAnimation: false\n      },\n      observe: [\n        mutation({\n          async handler() {\n            const svg = await this.svg;\n            if (svg) {\n              applyAttributes.call(this, svg);\n            }\n          },\n          options: {\n            attributes: true,\n            attributeFilter: [\"id\", \"class\", \"style\"]\n          }\n        })\n      ],\n      async connected() {\n        if (includes(this.src, \"#\")) {\n          [this.src, this.icon] = this.src.split(\"#\");\n        }\n        const svg = await this.svg;\n        if (svg) {\n          applyAttributes.call(this, svg);\n          if (this.strokeAnimation) {\n            applyAnimation(svg);\n          }\n        }\n      },\n      methods: {\n        async getSvg() {\n          if (isTag(this.$el, \"img\") && !this.$el.complete && this.$el.loading === \"lazy\") {\n            return new Promise(\n              (resolve) => once(this.$el, \"load\", () => resolve(this.getSvg()))\n            );\n          }\n          return parseSVG(await loadSVG(this.src), this.icon) || Promise.reject(\"SVG not found.\");\n        }\n      }\n    };\n    function applyAttributes(el) {\n      const { $el } = this;\n      addClass(el, attr($el, \"class\"), \"uk-svg\");\n      for (let i = 0; i < $el.style.length; i++) {\n        const prop = $el.style[i];\n        css(el, prop, css($el, prop));\n      }\n      for (const attribute in this.attributes) {\n        const [prop, value] = this.attributes[attribute].split(\":\", 2);\n        attr(el, prop, value);\n      }\n      if (!this.$el.id) {\n        removeAttr(el, \"id\");\n      }\n    }\n    const loadSVG = memoize(async (src) => {\n      if (src) {\n        if (startsWith(src, \"data:\")) {\n          return decodeURIComponent(src.split(\",\")[1]);\n        } else {\n          return (await fetch(src)).text();\n        }\n      } else {\n        return Promise.reject();\n      }\n    });\n    function parseSVG(svg, icon) {\n      if (icon && includes(svg, \"<symbol\")) {\n        svg = parseSymbols(svg)[icon] || svg;\n      }\n      svg = $(svg.substr(svg.indexOf(\"<svg\")));\n      return (svg == null ? void 0 : svg.hasChildNodes()) && svg;\n    }\n    const symbolRe = /<symbol([^]*?id=(['\"])(.+?)\\2[^]*?<\\/)symbol>/g;\n    const parseSymbols = memoize(function(svg) {\n      const symbols = {};\n      symbolRe.lastIndex = 0;\n      let match;\n      while (match = symbolRe.exec(svg)) {\n        symbols[match[3]] = `<svg ${match[1]}svg>`;\n      }\n      return symbols;\n    });\n    function applyAnimation(el) {\n      const length = getMaxPathLength(el);\n      if (length) {\n        css(el, \"--uk-animation-stroke\", length);\n      }\n    }\n\n    const selDisabled = \".uk-disabled *, .uk-disabled, [disabled]\";\n    var Switcher = {\n      mixins: [Togglable],\n      args: \"connect\",\n      props: {\n        connect: String,\n        toggle: String,\n        itemNav: String,\n        active: Number,\n        followFocus: Boolean,\n        swiping: Boolean\n      },\n      data: {\n        connect: \"~.uk-switcher\",\n        toggle: \"> * > :first-child\",\n        itemNav: false,\n        active: 0,\n        cls: \"uk-active\",\n        attrItem: \"uk-switcher-item\",\n        selVertical: \".uk-nav\",\n        followFocus: false,\n        swiping: true\n      },\n      computed: {\n        connects({ connect }, $el) {\n          return queryAll(connect, $el);\n        },\n        connectChildren() {\n          return this.connects.map((el) => children(el)).flat();\n        },\n        toggles({ toggle }, $el) {\n          return $$(toggle, $el);\n        },\n        children() {\n          return children(this.$el).filter(\n            (child) => this.toggles.some((toggle) => within(toggle, child))\n          );\n        }\n      },\n      watch: {\n        connects(connects) {\n          if (this.swiping) {\n            css(connects, \"touchAction\", \"pan-y pinch-zoom\");\n          }\n          this.$emit();\n        },\n        connectChildren() {\n          const index = this.index();\n          for (const el of this.connects) {\n            children(el).forEach((child, i) => toggleClass(child, this.cls, i === index));\n          }\n          this.$emit();\n        },\n        toggles(toggles) {\n          this.$emit();\n          const active = this.index();\n          this.show(~active ? active : toggles[this.active] || toggles[0]);\n        }\n      },\n      connected() {\n        attr(this.$el, \"role\", \"tablist\");\n      },\n      observe: [\n        lazyload({ targets: ({ connectChildren }) => connectChildren }),\n        swipe({ target: ({ connects }) => connects, filter: ({ swiping }) => swiping })\n      ],\n      events: [\n        {\n          name: \"click keydown\",\n          delegate() {\n            return this.toggle;\n          },\n          handler(e) {\n            if (!matches(e.current, selDisabled) && (e.type === \"click\" || e.keyCode === keyMap.SPACE)) {\n              e.preventDefault();\n              this.show(e.current);\n            }\n          }\n        },\n        {\n          name: \"keydown\",\n          delegate() {\n            return this.toggle;\n          },\n          handler(e) {\n            const { current, keyCode } = e;\n            const isVertical = matches(this.$el, this.selVertical);\n            let i = keyCode === keyMap.HOME ? 0 : keyCode === keyMap.END ? \"last\" : keyCode === keyMap.LEFT && !isVertical || keyCode === keyMap.UP && isVertical ? \"previous\" : keyCode === keyMap.RIGHT && !isVertical || keyCode === keyMap.DOWN && isVertical ? \"next\" : -1;\n            if (~i) {\n              e.preventDefault();\n              const toggles = this.toggles.filter((el) => !matches(el, selDisabled));\n              const next = toggles[getIndex(i, toggles, toggles.indexOf(current))];\n              next.focus();\n              if (this.followFocus) {\n                this.show(next);\n              }\n            }\n          }\n        },\n        {\n          name: \"click\",\n          el() {\n            return this.connects.concat(this.itemNav ? queryAll(this.itemNav, this.$el) : []);\n          },\n          delegate() {\n            return `[${this.attrItem}],[data-${this.attrItem}]`;\n          },\n          handler(e) {\n            if (closest(e.target, \"a,button\")) {\n              e.preventDefault();\n              this.show(data(e.current, this.attrItem));\n            }\n          }\n        },\n        {\n          name: \"swipeRight swipeLeft\",\n          filter() {\n            return this.swiping;\n          },\n          el() {\n            return this.connects;\n          },\n          handler({ type }) {\n            this.show(endsWith(type, \"Left\") ? \"next\" : \"previous\");\n          }\n        }\n      ],\n      update() {\n        var _a;\n        attr(this.connects, \"role\", \"presentation\");\n        attr(children(this.$el), \"role\", \"presentation\");\n        for (const index in this.toggles) {\n          const toggle = this.toggles[index];\n          const item = (_a = this.connects[0]) == null ? void 0 : _a.children[index];\n          attr(toggle, \"role\", \"tab\");\n          if (!item) {\n            continue;\n          }\n          toggle.id = generateId(this, toggle, `-tab-${index}`);\n          item.id = generateId(this, item, `-tabpanel-${index}`);\n          attr(toggle, \"aria-controls\", item.id);\n          attr(item, { role: \"tabpanel\", \"aria-labelledby\": toggle.id });\n        }\n        attr(this.$el, \"aria-orientation\", matches(this.$el, this.selVertical) ? \"vertical\" : null);\n      },\n      methods: {\n        index() {\n          return findIndex(this.children, (el) => hasClass(el, this.cls));\n        },\n        show(item) {\n          const toggles = this.toggles.filter((el) => !matches(el, selDisabled));\n          const prev = this.index();\n          const next = getIndex(\n            !isNode(item) || includes(toggles, item) ? item : 0,\n            toggles,\n            getIndex(this.toggles[prev], toggles)\n          );\n          const active = getIndex(toggles[next], this.toggles);\n          this.children.forEach((child, i) => {\n            toggleClass(child, this.cls, active === i);\n            attr(this.toggles[i], {\n              \"aria-selected\": active === i,\n              tabindex: active === i ? null : -1\n            });\n          });\n          const animate = prev >= 0 && prev !== next;\n          this.connects.forEach(async ({ children: children2 }) => {\n            await this.toggleElement(\n              toArray(children2).filter((child) => hasClass(child, this.cls)),\n              false,\n              animate\n            );\n            await this.toggleElement(children2[active], true, animate);\n          });\n        }\n      }\n    };\n\n    var tab = {\n      mixins: [Class],\n      extends: Switcher,\n      props: {\n        media: Boolean\n      },\n      data: {\n        media: 960,\n        attrItem: \"uk-tab-item\",\n        selVertical: \".uk-tab-left,.uk-tab-right\"\n      },\n      connected() {\n        const cls = hasClass(this.$el, \"uk-tab-left\") ? \"uk-tab-left\" : hasClass(this.$el, \"uk-tab-right\") ? \"uk-tab-right\" : false;\n        if (cls) {\n          this.$create(\"toggle\", this.$el, { cls, mode: \"media\", media: this.media });\n        }\n      }\n    };\n\n    const KEY_SPACE = 32;\n    var toggle = {\n      mixins: [Media, Togglable],\n      args: \"target\",\n      props: {\n        href: String,\n        target: null,\n        mode: \"list\",\n        queued: Boolean\n      },\n      data: {\n        href: false,\n        target: false,\n        mode: \"click\",\n        queued: true\n      },\n      computed: {\n        target({ href, target }, $el) {\n          target = queryAll(target || href, $el);\n          return target.length && target || [$el];\n        }\n      },\n      connected() {\n        if (!includes(this.mode, \"media\")) {\n          if (!isFocusable(this.$el)) {\n            attr(this.$el, \"tabindex\", \"0\");\n          }\n          if (!this.cls && isTag(this.$el, \"a\")) {\n            attr(this.$el, \"role\", \"button\");\n          }\n        }\n      },\n      observe: lazyload({ target: ({ target }) => target }),\n      events: [\n        {\n          name: pointerDown$1,\n          filter() {\n            return includes(this.mode, \"hover\");\n          },\n          handler(e) {\n            this._preventClick = null;\n            if (!isTouch(e) || this._showState || this.$el.disabled) {\n              return;\n            }\n            trigger(this.$el, \"focus\");\n            once(\n              document,\n              pointerDown$1,\n              () => trigger(this.$el, \"blur\"),\n              true,\n              (e2) => !within(e2.target, this.$el)\n            );\n            if (includes(this.mode, \"click\")) {\n              this._preventClick = true;\n            }\n          }\n        },\n        {\n          name: `${pointerEnter} ${pointerLeave} focus blur`,\n          filter() {\n            return includes(this.mode, \"hover\");\n          },\n          handler(e) {\n            if (isTouch(e) || this.$el.disabled) {\n              return;\n            }\n            const show = includes([pointerEnter, \"focus\"], e.type);\n            const expanded = this.isToggled(this.target);\n            if (!show && (e.type === pointerLeave && matches(this.$el, \":focus\") || e.type === \"blur\" && matches(this.$el, \":hover\"))) {\n              return;\n            }\n            if (this._showState && show && expanded !== this._showState) {\n              if (!show) {\n                this._showState = null;\n              }\n              return;\n            }\n            this._showState = show ? expanded : null;\n            this.toggle(`toggle${show ? \"show\" : \"hide\"}`);\n          }\n        },\n        {\n          name: \"keydown\",\n          filter() {\n            return includes(this.mode, \"click\") && !isTag(this.$el, \"input\");\n          },\n          handler(e) {\n            if (e.keyCode === KEY_SPACE) {\n              e.preventDefault();\n              this.$el.click();\n            }\n          }\n        },\n        {\n          name: \"click\",\n          filter() {\n            return [\"click\", \"hover\"].some((mode) => includes(this.mode, mode));\n          },\n          handler(e) {\n            let link;\n            if (this._preventClick || closest(e.target, 'a[href=\"#\"], a[href=\"\"]') || (link = closest(e.target, \"a[href]\")) && (!this.isToggled(this.target) || link.hash && matches(this.target, link.hash))) {\n              e.preventDefault();\n            }\n            if (!this._preventClick && includes(this.mode, \"click\")) {\n              this.toggle();\n            }\n          }\n        },\n        {\n          name: \"mediachange\",\n          filter() {\n            return includes(this.mode, \"media\");\n          },\n          el() {\n            return this.target;\n          },\n          handler(e, mediaObj) {\n            if (mediaObj.matches ^ this.isToggled(this.target)) {\n              this.toggle();\n            }\n          }\n        }\n      ],\n      methods: {\n        async toggle(type) {\n          if (!trigger(this.target, type || \"toggle\", [this])) {\n            return;\n          }\n          if (hasAttr(this.$el, \"aria-expanded\")) {\n            attr(this.$el, \"aria-expanded\", !this.isToggled(this.target));\n          }\n          if (!this.queued) {\n            return this.toggleElement(this.target);\n          }\n          const leaving = this.target.filter((el) => hasClass(el, this.clsLeave));\n          if (leaving.length) {\n            for (const el of this.target) {\n              const isLeaving = includes(leaving, el);\n              this.toggleElement(el, isLeaving, isLeaving);\n            }\n            return;\n          }\n          const toggled = this.target.filter(this.isToggled);\n          await this.toggleElement(toggled, false);\n          await this.toggleElement(\n            this.target.filter((el) => !includes(toggled, el)),\n            true\n          );\n        }\n      }\n    };\n\n    var components$1 = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        Accordion: Accordion,\n        Alert: alert,\n        Close: Close,\n        Cover: cover,\n        Drop: drop,\n        DropParentIcon: IconComponent,\n        Dropdown: drop,\n        Dropnav: Dropnav,\n        FormCustom: formCustom,\n        Grid: grid,\n        HeightMatch: heightMatch,\n        HeightViewport: heightViewport,\n        Icon: Icon,\n        Img: img,\n        Leader: leader,\n        Margin: Margin,\n        Marker: Marker,\n        Modal: modal,\n        Nav: nav,\n        NavParentIcon: NavParentIcon,\n        Navbar: navbar,\n        NavbarParentIcon: IconComponent,\n        NavbarToggleIcon: NavbarToggleIcon,\n        Offcanvas: offcanvas,\n        OverflowAuto: overflowAuto,\n        OverlayIcon: IconComponent,\n        PaginationNext: PaginationNext,\n        PaginationPrevious: PaginationPrevious,\n        Responsive: responsive,\n        Scroll: scroll,\n        Scrollspy: scrollspy,\n        ScrollspyNav: scrollspyNav,\n        SearchIcon: Search,\n        SlidenavNext: Slidenav,\n        SlidenavPrevious: Slidenav,\n        Spinner: Spinner,\n        Sticky: sticky,\n        Svg: svg,\n        Switcher: Switcher,\n        Tab: tab,\n        Toggle: toggle,\n        Totop: Totop,\n        Video: Video\n    });\n\n    each(components$1, (component, name) => App.component(name, component));\n    boot(App);\n\n    const units = [\"days\", \"hours\", \"minutes\", \"seconds\"];\n    var countdown = {\n      mixins: [Class],\n      props: {\n        date: String,\n        clsWrapper: String,\n        role: String\n      },\n      data: {\n        date: \"\",\n        clsWrapper: \".uk-countdown-%unit%\",\n        role: \"timer\"\n      },\n      connected() {\n        attr(this.$el, \"role\", this.role);\n        this.date = toFloat(Date.parse(this.$props.date));\n        this.end = false;\n        this.start();\n      },\n      disconnected() {\n        this.stop();\n      },\n      events: {\n        name: \"visibilitychange\",\n        el() {\n          return document;\n        },\n        handler() {\n          if (document.hidden) {\n            this.stop();\n          } else {\n            this.start();\n          }\n        }\n      },\n      methods: {\n        start() {\n          this.stop();\n          this.update();\n          if (!this.timer) {\n            trigger(this.$el, \"countdownstart\");\n            this.timer = setInterval(this.update, 1e3);\n          }\n        },\n        stop() {\n          if (this.timer) {\n            clearInterval(this.timer);\n            trigger(this.$el, \"countdownstop\");\n            this.timer = null;\n          }\n        },\n        update() {\n          const timespan = getTimeSpan(this.date);\n          if (!timespan.total) {\n            this.stop();\n            if (!this.end) {\n              trigger(this.$el, \"countdownend\");\n              this.end = true;\n            }\n          }\n          for (const unit of units) {\n            const el = $(this.clsWrapper.replace(\"%unit%\", unit), this.$el);\n            if (!el) {\n              continue;\n            }\n            let digits = String(Math.trunc(timespan[unit]));\n            digits = digits.length < 2 ? `0${digits}` : digits;\n            if (el.textContent !== digits) {\n              digits = digits.split(\"\");\n              if (digits.length !== el.children.length) {\n                html(el, digits.map(() => \"<span></span>\").join(\"\"));\n              }\n              digits.forEach((digit, i) => el.children[i].textContent = digit);\n            }\n          }\n        }\n      }\n    };\n    function getTimeSpan(date) {\n      const total = Math.max(0, date - Date.now()) / 1e3;\n      return {\n        total,\n        seconds: total % 60,\n        minutes: total / 60 % 60,\n        hours: total / 60 / 60 % 24,\n        days: total / 60 / 60 / 24\n      };\n    }\n\n    const clsLeave = \"uk-transition-leave\";\n    const clsEnter = \"uk-transition-enter\";\n    function fade(action, target, duration, stagger = 0) {\n      const index = transitionIndex(target, true);\n      const propsIn = { opacity: 1 };\n      const propsOut = { opacity: 0 };\n      const wrapIndexFn = (fn) => () => index === transitionIndex(target) ? fn() : Promise.reject();\n      const leaveFn = wrapIndexFn(async () => {\n        addClass(target, clsLeave);\n        await Promise.all(\n          getTransitionNodes(target).map(\n            (child, i) => new Promise(\n              (resolve) => setTimeout(\n                () => Transition.start(child, propsOut, duration / 2, \"ease\").then(\n                  resolve\n                ),\n                i * stagger\n              )\n            )\n          )\n        );\n        removeClass(target, clsLeave);\n      });\n      const enterFn = wrapIndexFn(async () => {\n        const oldHeight = height(target);\n        addClass(target, clsEnter);\n        action();\n        css(children(target), { opacity: 0 });\n        await awaitFrame$1();\n        const nodes = children(target);\n        const newHeight = height(target);\n        css(target, \"alignContent\", \"flex-start\");\n        height(target, oldHeight);\n        const transitionNodes = getTransitionNodes(target);\n        css(nodes, propsOut);\n        const transitions = transitionNodes.map(async (child, i) => {\n          await awaitTimeout(i * stagger);\n          await Transition.start(child, propsIn, duration / 2, \"ease\");\n        });\n        if (oldHeight !== newHeight) {\n          transitions.push(\n            Transition.start(\n              target,\n              { height: newHeight },\n              duration / 2 + transitionNodes.length * stagger,\n              \"ease\"\n            )\n          );\n        }\n        await Promise.all(transitions).then(() => {\n          removeClass(target, clsEnter);\n          if (index === transitionIndex(target)) {\n            css(target, { height: \"\", alignContent: \"\" });\n            css(nodes, { opacity: \"\" });\n            delete target.dataset.transition;\n          }\n        });\n      });\n      return hasClass(target, clsLeave) ? waitTransitionend(target).then(enterFn) : hasClass(target, clsEnter) ? waitTransitionend(target).then(leaveFn).then(enterFn) : leaveFn().then(enterFn);\n    }\n    function transitionIndex(target, next) {\n      if (next) {\n        target.dataset.transition = 1 + transitionIndex(target);\n      }\n      return toNumber(target.dataset.transition) || 0;\n    }\n    function waitTransitionend(target) {\n      return Promise.all(\n        children(target).filter(Transition.inProgress).map(\n          (el) => new Promise((resolve) => once(el, \"transitionend transitioncanceled\", resolve))\n        )\n      );\n    }\n    function getTransitionNodes(target) {\n      return getRows(children(target)).reduce(\n        (nodes, row) => nodes.concat(\n          sortBy$1(\n            row.filter((el) => isInView(el)),\n            \"offsetLeft\"\n          )\n        ),\n        []\n      );\n    }\n    function awaitFrame$1() {\n      return new Promise((resolve) => requestAnimationFrame(resolve));\n    }\n    function awaitTimeout(timeout) {\n      return new Promise((resolve) => setTimeout(resolve, timeout));\n    }\n\n    async function slide(action, target, duration) {\n      await awaitFrame();\n      let nodes = children(target);\n      const currentProps = nodes.map((el) => getProps(el, true));\n      const targetProps = { ...css(target, [\"height\", \"padding\"]), display: \"block\" };\n      await Promise.all(nodes.concat(target).map(Transition.cancel));\n      action();\n      nodes = nodes.concat(children(target).filter((el) => !includes(nodes, el)));\n      await Promise.resolve();\n      fastdom.flush();\n      const targetStyle = attr(target, \"style\");\n      const targetPropsTo = css(target, [\"height\", \"padding\"]);\n      const [propsTo, propsFrom] = getTransitionProps(target, nodes, currentProps);\n      const attrsTo = nodes.map((el) => ({ style: attr(el, \"style\") }));\n      nodes.forEach((el, i) => propsFrom[i] && css(el, propsFrom[i]));\n      css(target, targetProps);\n      trigger(target, \"scroll\");\n      fastdom.flush();\n      await awaitFrame();\n      const transitions = nodes.map((el, i) => parent(el) === target && Transition.start(el, propsTo[i], duration, \"ease\")).concat(Transition.start(target, targetPropsTo, duration, \"ease\"));\n      try {\n        await Promise.all(transitions);\n        nodes.forEach((el, i) => {\n          attr(el, attrsTo[i]);\n          if (parent(el) === target) {\n            css(el, \"display\", propsTo[i].opacity === 0 ? \"none\" : \"\");\n          }\n        });\n        attr(target, \"style\", targetStyle);\n      } catch (e) {\n        attr(nodes, \"style\", \"\");\n        resetProps(target, targetProps);\n      }\n    }\n    function getProps(el, opacity) {\n      const zIndex = css(el, \"zIndex\");\n      return isVisible(el) ? {\n        display: \"\",\n        opacity: opacity ? css(el, \"opacity\") : \"0\",\n        pointerEvents: \"none\",\n        position: \"absolute\",\n        zIndex: zIndex === \"auto\" ? index(el) : zIndex,\n        ...getPositionWithMargin(el)\n      } : false;\n    }\n    function getTransitionProps(target, nodes, currentProps) {\n      const propsTo = nodes.map(\n        (el, i) => parent(el) && i in currentProps ? currentProps[i] ? isVisible(el) ? getPositionWithMargin(el) : { opacity: 0 } : { opacity: isVisible(el) ? 1 : 0 } : false\n      );\n      const propsFrom = propsTo.map((props, i) => {\n        const from = parent(nodes[i]) === target && (currentProps[i] || getProps(nodes[i]));\n        if (!from) {\n          return false;\n        }\n        if (!props) {\n          delete from.opacity;\n        } else if (!(\"opacity\" in props)) {\n          const { opacity } = from;\n          if (opacity % 1) {\n            props.opacity = 1;\n          } else {\n            delete from.opacity;\n          }\n        }\n        return from;\n      });\n      return [propsTo, propsFrom];\n    }\n    function resetProps(el, props) {\n      for (const prop in props) {\n        css(el, prop, \"\");\n      }\n    }\n    function getPositionWithMargin(el) {\n      const { height, width } = offset(el);\n      return {\n        height,\n        width,\n        transform: \"\",\n        ...position(el),\n        ...css(el, [\"marginTop\", \"marginLeft\"])\n      };\n    }\n    function awaitFrame() {\n      return new Promise((resolve) => requestAnimationFrame(resolve));\n    }\n\n    var Animate = {\n      props: {\n        duration: Number,\n        animation: Boolean\n      },\n      data: {\n        duration: 150,\n        animation: \"slide\"\n      },\n      methods: {\n        animate(action, target = this.$el) {\n          const name = this.animation;\n          const animationFn = name === \"fade\" ? fade : name === \"delayed-fade\" ? (...args) => fade(...args, 40) : name ? slide : () => {\n            action();\n            return Promise.resolve();\n          };\n          return animationFn(action, target, this.duration).catch(noop);\n        }\n      }\n    };\n\n    var filter = {\n      mixins: [Animate],\n      args: \"target\",\n      props: {\n        target: Boolean,\n        selActive: Boolean\n      },\n      data: {\n        target: null,\n        selActive: false,\n        attrItem: \"uk-filter-control\",\n        cls: \"uk-active\",\n        duration: 250\n      },\n      computed: {\n        toggles({ attrItem }, $el) {\n          return $$(`[${attrItem}],[data-${attrItem}]`, $el);\n        },\n        children({ target }, $el) {\n          return $$(`${target} > *`, $el);\n        }\n      },\n      watch: {\n        toggles(toggles) {\n          this.updateState();\n          const actives = $$(this.selActive, this.$el);\n          for (const toggle of toggles) {\n            if (this.selActive !== false) {\n              toggleClass(toggle, this.cls, includes(actives, toggle));\n            }\n            const button = findButton(toggle);\n            if (isTag(button, \"a\")) {\n              attr(button, \"role\", \"button\");\n            }\n          }\n        },\n        children(list, prev) {\n          if (prev) {\n            this.updateState();\n          }\n        }\n      },\n      events: {\n        name: \"click keydown\",\n        delegate() {\n          return `[${this.attrItem}],[data-${this.attrItem}]`;\n        },\n        handler(e) {\n          if (e.type === \"keydown\" && e.keyCode !== keyMap.SPACE) {\n            return;\n          }\n          if (closest(e.target, \"a,button\")) {\n            e.preventDefault();\n            this.apply(e.current);\n          }\n        }\n      },\n      methods: {\n        apply(el) {\n          const prevState = this.getState();\n          const newState = mergeState(el, this.attrItem, this.getState());\n          if (!isEqualState(prevState, newState)) {\n            this.setState(newState);\n          }\n        },\n        getState() {\n          return this.toggles.filter((item) => hasClass(item, this.cls)).reduce((state, el) => mergeState(el, this.attrItem, state), {\n            filter: { \"\": \"\" },\n            sort: []\n          });\n        },\n        async setState(state, animate = true) {\n          state = { filter: { \"\": \"\" }, sort: [], ...state };\n          trigger(this.$el, \"beforeFilter\", [this, state]);\n          for (const toggle of this.toggles) {\n            toggleClass(toggle, this.cls, matchFilter(toggle, this.attrItem, state));\n          }\n          await Promise.all(\n            $$(this.target, this.$el).map((target) => {\n              const filterFn = () => {\n                applyState(state, target, children(target));\n                this.$update(this.$el);\n              };\n              return animate ? this.animate(filterFn, target) : filterFn();\n            })\n          );\n          trigger(this.$el, \"afterFilter\", [this]);\n        },\n        updateState() {\n          fastdom.write(() => this.setState(this.getState(), false));\n        }\n      }\n    };\n    function getFilter(el, attr2) {\n      return parseOptions(data(el, attr2), [\"filter\"]);\n    }\n    function isEqualState(stateA, stateB) {\n      return [\"filter\", \"sort\"].every((prop) => isEqual(stateA[prop], stateB[prop]));\n    }\n    function applyState(state, target, children) {\n      const selector = getSelector(state);\n      children.forEach((el) => css(el, \"display\", selector && !matches(el, selector) ? \"none\" : \"\"));\n      const [sort, order] = state.sort;\n      if (sort) {\n        const sorted = sortItems(children, sort, order);\n        if (!isEqual(sorted, children)) {\n          append(target, sorted);\n        }\n      }\n    }\n    function mergeState(el, attr2, state) {\n      const { filter, group, sort, order = \"asc\" } = getFilter(el, attr2);\n      if (filter || isUndefined(sort)) {\n        if (group) {\n          if (filter) {\n            delete state.filter[\"\"];\n            state.filter[group] = filter;\n          } else {\n            delete state.filter[group];\n            if (isEmpty(state.filter) || \"\" in state.filter) {\n              state.filter = { \"\": filter || \"\" };\n            }\n          }\n        } else {\n          state.filter = { \"\": filter || \"\" };\n        }\n      }\n      if (!isUndefined(sort)) {\n        state.sort = [sort, order];\n      }\n      return state;\n    }\n    function matchFilter(el, attr2, { filter: stateFilter = { \"\": \"\" }, sort: [stateSort, stateOrder] }) {\n      const { filter = \"\", group = \"\", sort, order = \"asc\" } = getFilter(el, attr2);\n      return isUndefined(sort) ? group in stateFilter && filter === stateFilter[group] || !filter && group && !(group in stateFilter) && !stateFilter[\"\"] : stateSort === sort && stateOrder === order;\n    }\n    function getSelector({ filter }) {\n      let selector = \"\";\n      each(filter, (value) => selector += value || \"\");\n      return selector;\n    }\n    function sortItems(nodes, sort, order) {\n      return [...nodes].sort(\n        (a, b) => data(a, sort).localeCompare(data(b, sort), void 0, { numeric: true }) * (order === \"asc\" || -1)\n      );\n    }\n    function findButton(el) {\n      return $(\"a,button\", el) || el;\n    }\n\n    var Animations$2 = {\n      slide: {\n        show(dir) {\n          return [{ transform: translate(dir * -100) }, { transform: translate() }];\n        },\n        percent(current) {\n          return translated(current);\n        },\n        translate(percent, dir) {\n          return [\n            { transform: translate(dir * -100 * percent) },\n            { transform: translate(dir * 100 * (1 - percent)) }\n          ];\n        }\n      }\n    };\n    function translated(el) {\n      return Math.abs(css(el, \"transform\").split(\",\")[4] / el.offsetWidth) || 0;\n    }\n    function translate(value = 0, unit = \"%\") {\n      value += value ? unit : \"\";\n      return `translate3d(${value}, 0, 0)`;\n    }\n    function scale3d(value) {\n      return `scale3d(${value}, ${value}, 1)`;\n    }\n\n    var Animations$1 = {\n      ...Animations$2,\n      fade: {\n        show() {\n          return [{ opacity: 0 }, { opacity: 1 }];\n        },\n        percent(current) {\n          return 1 - css(current, \"opacity\");\n        },\n        translate(percent) {\n          return [{ opacity: 1 - percent }, { opacity: percent }];\n        }\n      },\n      scale: {\n        show() {\n          return [\n            { opacity: 0, transform: scale3d(1 - 0.2) },\n            { opacity: 1, transform: scale3d(1) }\n          ];\n        },\n        percent(current) {\n          return 1 - css(current, \"opacity\");\n        },\n        translate(percent) {\n          return [\n            { opacity: 1 - percent, transform: scale3d(1 - 0.2 * percent) },\n            { opacity: percent, transform: scale3d(1 - 0.2 + 0.2 * percent) }\n          ];\n        }\n      }\n    };\n\n    function Transitioner$1(prev, next, dir, { animation, easing }) {\n      const { percent, translate, show = noop } = animation;\n      const props = show(dir);\n      const deferred = new Deferred();\n      return {\n        dir,\n        show(duration, percent2 = 0, linear) {\n          const timing = linear ? \"linear\" : easing;\n          duration -= Math.round(duration * clamp(percent2, -1, 1));\n          this.translate(percent2);\n          triggerUpdate$1(next, \"itemin\", { percent: percent2, duration, timing, dir });\n          triggerUpdate$1(prev, \"itemout\", { percent: 1 - percent2, duration, timing, dir });\n          Promise.all([\n            Transition.start(next, props[1], duration, timing),\n            Transition.start(prev, props[0], duration, timing)\n          ]).then(() => {\n            this.reset();\n            deferred.resolve();\n          }, noop);\n          return deferred.promise;\n        },\n        cancel() {\n          Transition.cancel([next, prev]);\n        },\n        reset() {\n          for (const prop in props[0]) {\n            css([next, prev], prop, \"\");\n          }\n        },\n        forward(duration, percent2 = this.percent()) {\n          Transition.cancel([next, prev]);\n          return this.show(duration, percent2, true);\n        },\n        translate(percent2) {\n          this.reset();\n          const props2 = translate(percent2, dir);\n          css(next, props2[1]);\n          css(prev, props2[0]);\n          triggerUpdate$1(next, \"itemtranslatein\", { percent: percent2, dir });\n          triggerUpdate$1(prev, \"itemtranslateout\", { percent: 1 - percent2, dir });\n        },\n        percent() {\n          return percent(prev || next, next, dir);\n        },\n        getDistance() {\n          return prev == null ? void 0 : prev.offsetWidth;\n        }\n      };\n    }\n    function triggerUpdate$1(el, type, data) {\n      trigger(el, createEvent(type, false, false, data));\n    }\n\n    var SliderNav = {\n      i18n: {\n        next: \"Next slide\",\n        previous: \"Previous slide\",\n        slideX: \"Slide %s\",\n        slideLabel: \"%s of %s\",\n        role: \"String\"\n      },\n      data: {\n        selNav: false,\n        role: \"region\"\n      },\n      computed: {\n        nav({ selNav }, $el) {\n          return $(selNav, $el);\n        },\n        navChildren() {\n          return children(this.nav);\n        },\n        selNavItem({ attrItem }) {\n          return `[${attrItem}],[data-${attrItem}]`;\n        },\n        navItems(_, $el) {\n          return $$(this.selNavItem, $el);\n        }\n      },\n      watch: {\n        nav(nav, prev) {\n          attr(nav, \"role\", \"tablist\");\n          if (prev) {\n            this.$emit();\n          }\n        },\n        list(list) {\n          attr(list, \"role\", \"presentation\");\n        },\n        navChildren(children2) {\n          attr(children2, \"role\", \"presentation\");\n        },\n        navItems(items) {\n          for (const el of items) {\n            const cmd = data(el, this.attrItem);\n            const button = $(\"a,button\", el) || el;\n            let ariaLabel;\n            let ariaControls = null;\n            if (isNumeric(cmd)) {\n              const item = toNumber(cmd);\n              const slide = this.slides[item];\n              if (slide) {\n                if (!slide.id) {\n                  slide.id = generateId(this, slide, `-item-${cmd}`);\n                }\n                ariaControls = slide.id;\n              }\n              ariaLabel = this.t(\"slideX\", toFloat(cmd) + 1);\n              attr(button, \"role\", \"tab\");\n            } else {\n              if (this.list) {\n                if (!this.list.id) {\n                  this.list.id = generateId(this, this.list, \"-items\");\n                }\n                ariaControls = this.list.id;\n              }\n              ariaLabel = this.t(cmd);\n            }\n            attr(button, {\n              \"aria-controls\": ariaControls,\n              \"aria-label\": attr(button, \"aria-label\") || ariaLabel\n            });\n          }\n        },\n        slides(slides) {\n          slides.forEach(\n            (slide, i) => attr(slide, {\n              role: this.nav ? \"tabpanel\" : \"group\",\n              \"aria-label\": this.t(\"slideLabel\", i + 1, this.length),\n              \"aria-roledescription\": this.nav ? null : \"slide\"\n            })\n          );\n        },\n        length(length) {\n          const navLength = this.navChildren.length;\n          if (this.nav && length !== navLength) {\n            empty(this.nav);\n            for (let i = 0; i < length; i++) {\n              append(this.nav, `<li ${this.attrItem}=\"${i}\"><a href></a></li>`);\n            }\n          }\n        }\n      },\n      connected() {\n        attr(this.$el, {\n          role: this.role,\n          ariaRoleDescription: \"carousel\"\n        });\n      },\n      update: [\n        {\n          write() {\n            this.navItems.concat(this.nav).forEach((el) => el && (el.hidden = !this.maxIndex));\n            this.updateNav();\n          },\n          events: [\"resize\"]\n        }\n      ],\n      events: [\n        {\n          name: \"click keydown\",\n          delegate() {\n            return this.selNavItem;\n          },\n          handler(e) {\n            if (closest(e.target, \"a,button\") && (e.type === \"click\" || e.keyCode === keyMap.SPACE)) {\n              e.preventDefault();\n              this.show(data(e.current, this.attrItem));\n            }\n          }\n        },\n        {\n          name: \"itemshow\",\n          handler: \"updateNav\"\n        },\n        {\n          name: \"keydown\",\n          delegate() {\n            return this.selNavItem;\n          },\n          handler(e) {\n            const { current, keyCode } = e;\n            const cmd = data(current, this.attrItem);\n            if (!isNumeric(cmd)) {\n              return;\n            }\n            let i = keyCode === keyMap.HOME ? 0 : keyCode === keyMap.END ? \"last\" : keyCode === keyMap.LEFT ? \"previous\" : keyCode === keyMap.RIGHT ? \"next\" : -1;\n            if (~i) {\n              e.preventDefault();\n              this.show(i);\n            }\n          }\n        }\n      ],\n      methods: {\n        updateNav() {\n          const index = this.getValidIndex();\n          let focus;\n          let focusEl;\n          for (const el of this.navItems) {\n            const cmd = data(el, this.attrItem);\n            const button = $(\"a,button\", el) || el;\n            if (isNumeric(cmd)) {\n              const item = toNumber(cmd);\n              const active = item === index;\n              toggleClass(el, this.clsActive, active);\n              attr(button, {\n                \"aria-selected\": active,\n                tabindex: active ? null : -1\n              });\n              if (active) {\n                focusEl = button;\n              }\n              focus = focus || matches(button, \":focus\");\n            } else {\n              toggleClass(\n                el,\n                \"uk-invisible\",\n                this.finite && (cmd === \"previous\" && index === 0 || cmd === \"next\" && index >= this.maxIndex)\n              );\n            }\n            if (focus && focusEl) {\n              focusEl.focus();\n            }\n          }\n        }\n      }\n    };\n\n    const pointerOptions = { passive: false, capture: true };\n    const pointerUpOptions = { passive: true, capture: true };\n    const pointerDown = \"touchstart mousedown\";\n    const pointerMove = \"touchmove mousemove\";\n    const pointerUp = \"touchend touchcancel mouseup click input scroll\";\n    var SliderDrag = {\n      props: {\n        draggable: Boolean\n      },\n      data: {\n        draggable: true,\n        threshold: 10\n      },\n      created() {\n        for (const key of [\"start\", \"move\", \"end\"]) {\n          const fn = this[key];\n          this[key] = (e) => {\n            const pos = getEventPos(e).x * (isRtl ? -1 : 1);\n            this.prevPos = pos === this.pos ? this.prevPos : this.pos;\n            this.pos = pos;\n            fn(e);\n          };\n        }\n      },\n      events: [\n        {\n          name: pointerDown,\n          passive: true,\n          delegate() {\n            return `${this.selList} > *`;\n          },\n          handler(e) {\n            if (!this.draggable || !isTouch(e) && hasSelectableText(e.target) || closest(e.target, selInput) || e.button > 0 || this.length < 2) {\n              return;\n            }\n            this.start(e);\n          }\n        },\n        {\n          name: \"dragstart\",\n          handler(e) {\n            e.preventDefault();\n          }\n        },\n        {\n          // iOS workaround for slider stopping if swiping fast\n          name: pointerMove,\n          el() {\n            return this.list;\n          },\n          handler: noop,\n          ...pointerOptions\n        }\n      ],\n      methods: {\n        start() {\n          this.drag = this.pos;\n          if (this._transitioner) {\n            this.percent = this._transitioner.percent();\n            this.drag += this._transitioner.getDistance() * this.percent * this.dir;\n            this._transitioner.cancel();\n            this._transitioner.translate(this.percent);\n            this.dragging = true;\n            this.stack = [];\n          } else {\n            this.prevIndex = this.index;\n          }\n          on(document, pointerMove, this.move, pointerOptions);\n          on(document, pointerUp, this.end, pointerUpOptions);\n          css(this.list, \"userSelect\", \"none\");\n        },\n        move(e) {\n          const distance = this.pos - this.drag;\n          if (distance === 0 || this.prevPos === this.pos || !this.dragging && Math.abs(distance) < this.threshold) {\n            return;\n          }\n          css(this.list, \"pointerEvents\", \"none\");\n          e.cancelable && e.preventDefault();\n          this.dragging = true;\n          this.dir = distance < 0 ? 1 : -1;\n          const { slides } = this;\n          let { prevIndex } = this;\n          let dis = Math.abs(distance);\n          let nextIndex = this.getIndex(prevIndex + this.dir, prevIndex);\n          let width = this._getDistance(prevIndex, nextIndex) || slides[prevIndex].offsetWidth;\n          while (nextIndex !== prevIndex && dis > width) {\n            this.drag -= width * this.dir;\n            prevIndex = nextIndex;\n            dis -= width;\n            nextIndex = this.getIndex(prevIndex + this.dir, prevIndex);\n            width = this._getDistance(prevIndex, nextIndex) || slides[prevIndex].offsetWidth;\n          }\n          this.percent = dis / width;\n          const prev = slides[prevIndex];\n          const next = slides[nextIndex];\n          const changed = this.index !== nextIndex;\n          const edge = prevIndex === nextIndex;\n          let itemShown;\n          [this.index, this.prevIndex].filter((i) => !includes([nextIndex, prevIndex], i)).forEach((i) => {\n            trigger(slides[i], \"itemhidden\", [this]);\n            if (edge) {\n              itemShown = true;\n              this.prevIndex = prevIndex;\n            }\n          });\n          if (this.index === prevIndex && this.prevIndex !== prevIndex || itemShown) {\n            trigger(slides[this.index], \"itemshown\", [this]);\n          }\n          if (changed) {\n            this.prevIndex = prevIndex;\n            this.index = nextIndex;\n            !edge && trigger(prev, \"beforeitemhide\", [this]);\n            trigger(next, \"beforeitemshow\", [this]);\n          }\n          this._transitioner = this._translate(Math.abs(this.percent), prev, !edge && next);\n          if (changed) {\n            !edge && trigger(prev, \"itemhide\", [this]);\n            trigger(next, \"itemshow\", [this]);\n          }\n        },\n        end() {\n          off(document, pointerMove, this.move, pointerOptions);\n          off(document, pointerUp, this.end, pointerUpOptions);\n          if (this.dragging) {\n            this.dragging = null;\n            if (this.index === this.prevIndex) {\n              this.percent = 1 - this.percent;\n              this.dir *= -1;\n              this._show(false, this.index, true);\n              this._transitioner = null;\n            } else {\n              const dirChange = (isRtl ? this.dir * (isRtl ? 1 : -1) : this.dir) < 0 === this.prevPos > this.pos;\n              this.index = dirChange ? this.index : this.prevIndex;\n              if (dirChange) {\n                this.percent = 1 - this.percent;\n              }\n              this.show(\n                this.dir > 0 && !dirChange || this.dir < 0 && dirChange ? \"next\" : \"previous\",\n                true\n              );\n            }\n          }\n          css(this.list, { userSelect: \"\", pointerEvents: \"\" });\n          this.drag = this.percent = null;\n        }\n      }\n    };\n    function hasSelectableText(el) {\n      return css(el, \"userSelect\") !== \"none\" && toArray(el.childNodes).some((el2) => el2.nodeType === 3 && el2.textContent.trim());\n    }\n\n    var SliderAutoplay = {\n      props: {\n        autoplay: Boolean,\n        autoplayInterval: Number,\n        pauseOnHover: Boolean\n      },\n      data: {\n        autoplay: false,\n        autoplayInterval: 7e3,\n        pauseOnHover: true\n      },\n      connected() {\n        attr(this.list, \"aria-live\", this.autoplay ? \"off\" : \"polite\");\n        this.autoplay && this.startAutoplay();\n      },\n      disconnected() {\n        this.stopAutoplay();\n      },\n      update() {\n        attr(this.slides, \"tabindex\", \"-1\");\n      },\n      events: [\n        {\n          name: \"visibilitychange\",\n          el() {\n            return document;\n          },\n          filter() {\n            return this.autoplay;\n          },\n          handler() {\n            if (document.hidden) {\n              this.stopAutoplay();\n            } else {\n              this.startAutoplay();\n            }\n          }\n        }\n      ],\n      methods: {\n        startAutoplay() {\n          this.stopAutoplay();\n          this.interval = setInterval(() => {\n            if (!(this.stack.length || this.draggable && matches(this.$el, \":focus-within\") || this.pauseOnHover && matches(this.$el, \":hover\"))) {\n              this.show(\"next\");\n            }\n          }, this.autoplayInterval);\n        },\n        stopAutoplay() {\n          clearInterval(this.interval);\n        }\n      }\n    };\n\n    var Slider = {\n      mixins: [SliderAutoplay, SliderDrag, SliderNav, I18n],\n      props: {\n        clsActivated: Boolean,\n        easing: String,\n        index: Number,\n        finite: Boolean,\n        velocity: Number\n      },\n      data: () => ({\n        easing: \"ease\",\n        finite: false,\n        velocity: 1,\n        index: 0,\n        prevIndex: -1,\n        stack: [],\n        percent: 0,\n        clsActive: \"uk-active\",\n        clsActivated: false,\n        Transitioner: false,\n        transitionOptions: {}\n      }),\n      connected() {\n        this.prevIndex = -1;\n        this.index = this.getValidIndex(this.$props.index);\n        this.stack = [];\n      },\n      disconnected() {\n        removeClass(this.slides, this.clsActive);\n      },\n      computed: {\n        duration({ velocity }, $el) {\n          return speedUp($el.offsetWidth / velocity);\n        },\n        list({ selList }, $el) {\n          return $(selList, $el);\n        },\n        maxIndex() {\n          return this.length - 1;\n        },\n        slides() {\n          return children(this.list);\n        },\n        length() {\n          return this.slides.length;\n        }\n      },\n      watch: {\n        slides(slides, prev) {\n          if (prev) {\n            this.$emit();\n          }\n        }\n      },\n      observe: resize(),\n      methods: {\n        show(index, force = false) {\n          var _a;\n          if (this.dragging || !this.length) {\n            return;\n          }\n          const { stack } = this;\n          const queueIndex = force ? 0 : stack.length;\n          const reset = () => {\n            stack.splice(queueIndex, 1);\n            if (stack.length) {\n              this.show(stack.shift(), true);\n            }\n          };\n          stack[force ? \"unshift\" : \"push\"](index);\n          if (!force && stack.length > 1) {\n            if (stack.length === 2) {\n              (_a = this._transitioner) == null ? void 0 : _a.forward(Math.min(this.duration, 200));\n            }\n            return;\n          }\n          const prevIndex = this.getIndex(this.index);\n          const prev = hasClass(this.slides, this.clsActive) && this.slides[prevIndex];\n          const nextIndex = this.getIndex(index, this.index);\n          const next = this.slides[nextIndex];\n          if (prev === next) {\n            reset();\n            return;\n          }\n          this.dir = getDirection(index, prevIndex);\n          this.prevIndex = prevIndex;\n          this.index = nextIndex;\n          if (prev && !trigger(prev, \"beforeitemhide\", [this]) || !trigger(next, \"beforeitemshow\", [this, prev])) {\n            this.index = this.prevIndex;\n            reset();\n            return;\n          }\n          const promise = this._show(prev, next, force).then(() => {\n            prev && trigger(prev, \"itemhidden\", [this]);\n            trigger(next, \"itemshown\", [this]);\n            stack.shift();\n            this._transitioner = null;\n            requestAnimationFrame(() => stack.length && this.show(stack.shift(), true));\n          });\n          prev && trigger(prev, \"itemhide\", [this]);\n          trigger(next, \"itemshow\", [this]);\n          return promise;\n        },\n        getIndex(index = this.index, prev = this.index) {\n          return clamp(\n            getIndex(index, this.slides, prev, this.finite),\n            0,\n            Math.max(0, this.maxIndex)\n          );\n        },\n        getValidIndex(index = this.index, prevIndex = this.prevIndex) {\n          return this.getIndex(index, prevIndex);\n        },\n        _show(prev, next, force) {\n          this._transitioner = this._getTransitioner(prev, next, this.dir, {\n            easing: force ? next.offsetWidth < 600 ? \"cubic-bezier(0.25, 0.46, 0.45, 0.94)\" : \"cubic-bezier(0.165, 0.84, 0.44, 1)\" : this.easing,\n            ...this.transitionOptions\n          });\n          if (!force && !prev) {\n            this._translate(1);\n            return Promise.resolve();\n          }\n          const { length } = this.stack;\n          return this._transitioner[length > 1 ? \"forward\" : \"show\"](\n            length > 1 ? Math.min(this.duration, 75 + 75 / (length - 1)) : this.duration,\n            this.percent\n          );\n        },\n        _getDistance(prev, next) {\n          return this._getTransitioner(prev, prev !== next && next).getDistance();\n        },\n        _translate(percent, prev = this.prevIndex, next = this.index) {\n          const transitioner = this._getTransitioner(prev === next ? false : prev, next);\n          transitioner.translate(percent);\n          return transitioner;\n        },\n        _getTransitioner(prev = this.prevIndex, next = this.index, dir = this.dir || 1, options = this.transitionOptions) {\n          return new this.Transitioner(\n            isNumber(prev) ? this.slides[prev] : prev,\n            isNumber(next) ? this.slides[next] : next,\n            dir * (isRtl ? -1 : 1),\n            options\n          );\n        }\n      }\n    };\n    function getDirection(index, prevIndex) {\n      return index === \"next\" ? 1 : index === \"previous\" ? -1 : index < prevIndex ? -1 : 1;\n    }\n    function speedUp(x) {\n      return 0.5 * x + 300;\n    }\n\n    var Slideshow = {\n      mixins: [Slider],\n      props: {\n        animation: String\n      },\n      data: {\n        animation: \"slide\",\n        clsActivated: \"uk-transition-active\",\n        Animations: Animations$2,\n        Transitioner: Transitioner$1\n      },\n      computed: {\n        animation({ animation, Animations: Animations2 }) {\n          return { ...Animations2[animation] || Animations2.slide, name: animation };\n        },\n        transitionOptions() {\n          return { animation: this.animation };\n        }\n      },\n      events: {\n        beforeitemshow({ target }) {\n          addClass(target, this.clsActive);\n        },\n        itemshown({ target }) {\n          addClass(target, this.clsActivated);\n        },\n        itemhidden({ target }) {\n          removeClass(target, this.clsActive, this.clsActivated);\n        }\n      }\n    };\n\n    var LightboxPanel = {\n      mixins: [Modal, Slideshow],\n      functional: true,\n      props: {\n        delayControls: Number,\n        preload: Number,\n        videoAutoplay: Boolean,\n        template: String\n      },\n      data: () => ({\n        preload: 1,\n        videoAutoplay: false,\n        delayControls: 3e3,\n        items: [],\n        cls: \"uk-open\",\n        clsPage: \"uk-lightbox-page\",\n        selList: \".uk-lightbox-items\",\n        attrItem: \"uk-lightbox-item\",\n        selClose: \".uk-close-large\",\n        selCaption: \".uk-lightbox-caption\",\n        pauseOnHover: false,\n        velocity: 2,\n        Animations: Animations$1,\n        template: `<div class=\"uk-lightbox uk-overflow-hidden\"> <ul class=\"uk-lightbox-items\"></ul> <div class=\"uk-lightbox-toolbar uk-position-top uk-text-right uk-transition-slide-top uk-transition-opaque\"> <button class=\"uk-lightbox-toolbar-icon uk-close-large\" type=\"button\" uk-close></button> </div> <a class=\"uk-lightbox-button uk-position-center-left uk-position-medium uk-transition-fade\" href uk-slidenav-previous uk-lightbox-item=\"previous\"></a> <a class=\"uk-lightbox-button uk-position-center-right uk-position-medium uk-transition-fade\" href uk-slidenav-next uk-lightbox-item=\"next\"></a> <div class=\"uk-lightbox-toolbar uk-lightbox-caption uk-position-bottom uk-text-center uk-transition-slide-bottom uk-transition-opaque\"></div> </div>`\n      }),\n      created() {\n        const $el = $(this.template);\n        const list = $(this.selList, $el);\n        this.items.forEach(() => append(list, \"<li>\"));\n        const close = $(\"[uk-close]\", $el);\n        const closeLabel = this.t(\"close\");\n        if (close && closeLabel) {\n          close.dataset.i18n = JSON.stringify({ label: closeLabel });\n        }\n        this.$mount(append(this.container, $el));\n      },\n      computed: {\n        caption({ selCaption }, $el) {\n          return $(selCaption, $el);\n        }\n      },\n      events: [\n        {\n          name: `${pointerMove$1} ${pointerDown$1} keydown`,\n          handler: \"showControls\"\n        },\n        {\n          name: \"click\",\n          self: true,\n          delegate() {\n            return `${this.selList} > *`;\n          },\n          handler(e) {\n            if (!e.defaultPrevented) {\n              this.hide();\n            }\n          }\n        },\n        {\n          name: \"shown\",\n          self: true,\n          handler() {\n            this.showControls();\n          }\n        },\n        {\n          name: \"hide\",\n          self: true,\n          handler() {\n            this.hideControls();\n            removeClass(this.slides, this.clsActive);\n            Transition.stop(this.slides);\n          }\n        },\n        {\n          name: \"hidden\",\n          self: true,\n          handler() {\n            this.$destroy(true);\n          }\n        },\n        {\n          name: \"keyup\",\n          el() {\n            return document;\n          },\n          handler({ keyCode }) {\n            if (!this.isToggled(this.$el) || !this.draggable) {\n              return;\n            }\n            let i = -1;\n            if (keyCode === keyMap.LEFT) {\n              i = \"previous\";\n            } else if (keyCode === keyMap.RIGHT) {\n              i = \"next\";\n            } else if (keyCode === keyMap.HOME) {\n              i = 0;\n            } else if (keyCode === keyMap.END) {\n              i = \"last\";\n            }\n            if (~i) {\n              this.show(i);\n            }\n          }\n        },\n        {\n          name: \"beforeitemshow\",\n          handler(e) {\n            if (this.isToggled()) {\n              return;\n            }\n            this.draggable = false;\n            e.preventDefault();\n            this.toggleElement(this.$el, true, false);\n            this.animation = Animations$1[\"scale\"];\n            removeClass(e.target, this.clsActive);\n            this.stack.splice(1, 0, this.index);\n          }\n        },\n        {\n          name: \"itemshow\",\n          handler() {\n            html(this.caption, this.getItem().caption || \"\");\n            for (let j = -this.preload; j <= this.preload; j++) {\n              this.loadItem(this.index + j);\n            }\n          }\n        },\n        {\n          name: \"itemshown\",\n          handler() {\n            this.draggable = this.$props.draggable;\n          }\n        },\n        {\n          name: \"itemload\",\n          async handler(_, item) {\n            const { source: src, type, alt = \"\", poster, attrs = {} } = item;\n            this.setItem(item, \"<span uk-spinner></span>\");\n            if (!src) {\n              return;\n            }\n            let matches;\n            const iframeAttrs = {\n              allowfullscreen: \"\",\n              style: \"max-width: 100%; box-sizing: border-box;\",\n              \"uk-responsive\": \"\",\n              \"uk-video\": `${this.videoAutoplay}`\n            };\n            if (type === \"image\" || src.match(/\\.(avif|jpe?g|jfif|a?png|gif|svg|webp)($|\\?)/i)) {\n              const img = createEl(\"img\", { src, alt, ...attrs });\n              on(img, \"load\", () => this.setItem(item, img));\n              on(img, \"error\", () => this.setError(item));\n            } else if (type === \"video\" || src.match(/\\.(mp4|webm|ogv)($|\\?)/i)) {\n              const video = createEl(\"video\", {\n                src,\n                poster,\n                controls: \"\",\n                playsinline: \"\",\n                \"uk-video\": `${this.videoAutoplay}`,\n                ...attrs\n              });\n              on(video, \"loadedmetadata\", () => this.setItem(item, video));\n              on(video, \"error\", () => this.setError(item));\n            } else if (type === \"iframe\" || src.match(/\\.(html|php)($|\\?)/i)) {\n              this.setItem(\n                item,\n                createEl(\"iframe\", {\n                  src,\n                  allowfullscreen: \"\",\n                  class: \"uk-lightbox-iframe\",\n                  ...attrs\n                })\n              );\n            } else if (matches = src.match(\n              /\\/\\/(?:.*?youtube(-nocookie)?\\..*?(?:[?&]v=|\\/shorts\\/)|youtu\\.be\\/)([\\w-]{11})[&?]?(.*)?/\n            )) {\n              this.setItem(\n                item,\n                createEl(\"iframe\", {\n                  src: `https://www.youtube${matches[1] || \"\"}.com/embed/${matches[2]}${matches[3] ? `?${matches[3]}` : \"\"}`,\n                  width: 1920,\n                  height: 1080,\n                  ...iframeAttrs,\n                  ...attrs\n                })\n              );\n            } else if (matches = src.match(/\\/\\/.*?vimeo\\.[a-z]+\\/(\\d+)[&?]?(.*)?/)) {\n              try {\n                const { height, width } = await (await fetch(\n                  `https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(\n                src\n              )}`,\n                  { credentials: \"omit\" }\n                )).json();\n                this.setItem(\n                  item,\n                  createEl(\"iframe\", {\n                    src: `https://player.vimeo.com/video/${matches[1]}${matches[2] ? `?${matches[2]}` : \"\"}`,\n                    width,\n                    height,\n                    ...iframeAttrs,\n                    ...attrs\n                  })\n                );\n              } catch (e) {\n                this.setError(item);\n              }\n            }\n          }\n        }\n      ],\n      methods: {\n        loadItem(index = this.index) {\n          const item = this.getItem(index);\n          if (!this.getSlide(item).childElementCount) {\n            trigger(this.$el, \"itemload\", [item]);\n          }\n        },\n        getItem(index = this.index) {\n          return this.items[getIndex(index, this.slides)];\n        },\n        setItem(item, content) {\n          trigger(this.$el, \"itemloaded\", [this, html(this.getSlide(item), content)]);\n        },\n        getSlide(item) {\n          return this.slides[this.items.indexOf(item)];\n        },\n        setError(item) {\n          this.setItem(item, '<span uk-icon=\"icon: bolt; ratio: 2\"></span>');\n        },\n        showControls() {\n          clearTimeout(this.controlsTimer);\n          this.controlsTimer = setTimeout(this.hideControls, this.delayControls);\n          addClass(this.$el, \"uk-active\", \"uk-transition-active\");\n        },\n        hideControls() {\n          removeClass(this.$el, \"uk-active\", \"uk-transition-active\");\n        }\n      }\n    };\n    function createEl(tag, attrs) {\n      const el = fragment(`<${tag}>`);\n      attr(el, attrs);\n      return el;\n    }\n\n    var lightbox = {\n      install: install$1,\n      props: { toggle: String },\n      data: { toggle: \"a\" },\n      computed: {\n        toggles({ toggle }, $el) {\n          return $$(toggle, $el);\n        }\n      },\n      watch: {\n        toggles(toggles) {\n          this.hide();\n          for (const toggle of toggles) {\n            if (isTag(toggle, \"a\")) {\n              attr(toggle, \"role\", \"button\");\n            }\n          }\n        }\n      },\n      disconnected() {\n        this.hide();\n      },\n      events: {\n        name: \"click\",\n        delegate() {\n          return `${this.toggle}:not(.uk-disabled)`;\n        },\n        handler(e) {\n          e.preventDefault();\n          this.show(e.current);\n        }\n      },\n      methods: {\n        show(index) {\n          const items = uniqueBy(this.toggles.map(toItem), \"source\");\n          if (isElement(index)) {\n            const { source } = toItem(index);\n            index = findIndex(items, ({ source: src }) => source === src);\n          }\n          this.panel = this.panel || this.$create(\"lightboxPanel\", { ...this.$props, items });\n          on(this.panel.$el, \"hidden\", () => this.panel = null);\n          return this.panel.show(index);\n        },\n        hide() {\n          var _a;\n          return (_a = this.panel) == null ? void 0 : _a.hide();\n        }\n      }\n    };\n    function install$1(UIkit, Lightbox) {\n      if (!UIkit.lightboxPanel) {\n        UIkit.component(\"lightboxPanel\", LightboxPanel);\n      }\n      assign(Lightbox.props, UIkit.component(\"lightboxPanel\").options.props);\n    }\n    function toItem(el) {\n      const item = {};\n      for (const attr2 of [\"href\", \"caption\", \"type\", \"poster\", \"alt\", \"attrs\"]) {\n        item[attr2 === \"href\" ? \"source\" : attr2] = data(el, attr2);\n      }\n      item.attrs = parseOptions(item.attrs);\n      return item;\n    }\n\n    var notification = {\n      mixins: [Container],\n      functional: true,\n      args: [\"message\", \"status\"],\n      data: {\n        message: \"\",\n        status: \"\",\n        timeout: 5e3,\n        group: null,\n        pos: \"top-center\",\n        clsContainer: \"uk-notification\",\n        clsClose: \"uk-notification-close\",\n        clsMsg: \"uk-notification-message\"\n      },\n      install,\n      computed: {\n        marginProp({ pos }) {\n          return `margin${startsWith(pos, \"top\") ? \"Top\" : \"Bottom\"}`;\n        },\n        startProps() {\n          return { opacity: 0, [this.marginProp]: -this.$el.offsetHeight };\n        }\n      },\n      created() {\n        const container = $(`.${this.clsContainer}-${this.pos}`, this.container) || append(\n          this.container,\n          `<div class=\"${this.clsContainer} ${this.clsContainer}-${this.pos}\" style=\"display: block\"></div>`\n        );\n        this.$mount(\n          append(\n            container,\n            `<div class=\"${this.clsMsg}${this.status ? ` ${this.clsMsg}-${this.status}` : \"\"}\" role=\"alert\"> <a href class=\"${this.clsClose}\" data-uk-close></a> <div>${this.message}</div> </div>`\n          )\n        );\n      },\n      async connected() {\n        const margin = toFloat(css(this.$el, this.marginProp));\n        await Transition.start(css(this.$el, this.startProps), {\n          opacity: 1,\n          [this.marginProp]: margin\n        });\n        if (this.timeout) {\n          this.timer = setTimeout(this.close, this.timeout);\n        }\n      },\n      events: {\n        click(e) {\n          if (closest(e.target, 'a[href=\"#\"],a[href=\"\"]')) {\n            e.preventDefault();\n          }\n          this.close();\n        },\n        [pointerEnter]() {\n          if (this.timer) {\n            clearTimeout(this.timer);\n          }\n        },\n        [pointerLeave]() {\n          if (this.timeout) {\n            this.timer = setTimeout(this.close, this.timeout);\n          }\n        }\n      },\n      methods: {\n        async close(immediate) {\n          const removeFn = (el) => {\n            const container = parent(el);\n            trigger(el, \"close\", [this]);\n            remove$1(el);\n            if (!(container == null ? void 0 : container.hasChildNodes())) {\n              remove$1(container);\n            }\n          };\n          if (this.timer) {\n            clearTimeout(this.timer);\n          }\n          if (!immediate) {\n            await Transition.start(this.$el, this.startProps);\n          }\n          removeFn(this.$el);\n        }\n      }\n    };\n    function install(UIkit) {\n      UIkit.notification.closeAll = function(group, immediate) {\n        apply(document.body, (el) => {\n          const notification = UIkit.getComponent(el, \"notification\");\n          if (notification && (!group || group === notification.group)) {\n            notification.close(immediate);\n          }\n        });\n      };\n    }\n\n    const props = {\n      x: transformFn,\n      y: transformFn,\n      rotate: transformFn,\n      scale: transformFn,\n      color: colorFn,\n      backgroundColor: colorFn,\n      borderColor: colorFn,\n      blur: filterFn,\n      hue: filterFn,\n      fopacity: filterFn,\n      grayscale: filterFn,\n      invert: filterFn,\n      saturate: filterFn,\n      sepia: filterFn,\n      opacity: cssPropFn,\n      stroke: strokeFn,\n      bgx: backgroundFn,\n      bgy: backgroundFn\n    };\n    const { keys } = Object;\n    var Parallax = {\n      mixins: [Media],\n      props: fillObject(keys(props), \"list\"),\n      data: fillObject(keys(props), void 0),\n      computed: {\n        props(properties, $el) {\n          const stops = {};\n          for (const prop in properties) {\n            if (prop in props && !isUndefined(properties[prop])) {\n              stops[prop] = properties[prop].slice();\n            }\n          }\n          const result = {};\n          for (const prop in stops) {\n            result[prop] = props[prop](prop, $el, stops[prop], stops);\n          }\n          return result;\n        }\n      },\n      events: {\n        load() {\n          this.$emit();\n        }\n      },\n      methods: {\n        reset() {\n          for (const prop in this.getCss(0)) {\n            css(this.$el, prop, \"\");\n          }\n        },\n        getCss(percent) {\n          const css2 = { transform: \"\", filter: \"\" };\n          for (const prop in this.props) {\n            this.props[prop](css2, percent);\n          }\n          css2.willChange = Object.keys(css2).filter((key) => css2[key] !== \"\").map(propName).join(\",\");\n          return css2;\n        }\n      }\n    };\n    function transformFn(prop, el, stops) {\n      let unit = getUnit(stops) || { x: \"px\", y: \"px\", rotate: \"deg\" }[prop] || \"\";\n      let transformFn2;\n      if (prop === \"x\" || prop === \"y\") {\n        prop = `translate${ucfirst(prop)}`;\n        transformFn2 = (stop) => toFloat(toFloat(stop).toFixed(unit === \"px\" ? 0 : 6));\n      } else if (prop === \"scale\") {\n        unit = \"\";\n        transformFn2 = (stop) => getUnit([stop]) ? toPx(stop, \"width\", el, true) / el.offsetWidth : stop;\n      }\n      if (stops.length === 1) {\n        stops.unshift(prop === \"scale\" ? 1 : 0);\n      }\n      stops = parseStops(stops, transformFn2);\n      return (css2, percent) => {\n        css2.transform += ` ${prop}(${getValue(stops, percent)}${unit})`;\n      };\n    }\n    function colorFn(prop, el, stops) {\n      if (stops.length === 1) {\n        stops.unshift(getCssValue(el, prop, \"\"));\n      }\n      stops = parseStops(stops, (stop) => parseColor(el, stop));\n      return (css2, percent) => {\n        const [start, end, p] = getStop(stops, percent);\n        const value = start.map((value2, i) => {\n          value2 += p * (end[i] - value2);\n          return i === 3 ? toFloat(value2) : parseInt(value2, 10);\n        }).join(\",\");\n        css2[prop] = `rgba(${value})`;\n      };\n    }\n    function parseColor(el, color) {\n      return getCssValue(el, \"color\", color).split(/[(),]/g).slice(1, -1).concat(1).slice(0, 4).map(toFloat);\n    }\n    function filterFn(prop, el, stops) {\n      if (stops.length === 1) {\n        stops.unshift(0);\n      }\n      const unit = getUnit(stops) || { blur: \"px\", hue: \"deg\" }[prop] || \"%\";\n      prop = { fopacity: \"opacity\", hue: \"hue-rotate\" }[prop] || prop;\n      stops = parseStops(stops);\n      return (css2, percent) => {\n        const value = getValue(stops, percent);\n        css2.filter += ` ${prop}(${value + unit})`;\n      };\n    }\n    function cssPropFn(prop, el, stops) {\n      if (stops.length === 1) {\n        stops.unshift(getCssValue(el, prop, \"\"));\n      }\n      stops = parseStops(stops);\n      return (css2, percent) => {\n        css2[prop] = getValue(stops, percent);\n      };\n    }\n    function strokeFn(prop, el, stops) {\n      if (stops.length === 1) {\n        stops.unshift(0);\n      }\n      const unit = getUnit(stops);\n      const length = getMaxPathLength(el);\n      stops = parseStops(stops.reverse(), (stop) => {\n        stop = toFloat(stop);\n        return unit === \"%\" ? stop * length / 100 : stop;\n      });\n      if (!stops.some(([value]) => value)) {\n        return noop;\n      }\n      css(el, \"strokeDasharray\", length);\n      return (css2, percent) => {\n        css2.strokeDashoffset = getValue(stops, percent);\n      };\n    }\n    function backgroundFn(prop, el, stops, props2) {\n      if (stops.length === 1) {\n        stops.unshift(0);\n      }\n      const attr = prop === \"bgy\" ? \"height\" : \"width\";\n      props2[prop] = parseStops(stops, (stop) => toPx(stop, attr, el));\n      const bgProps = [\"bgx\", \"bgy\"].filter((prop2) => prop2 in props2);\n      if (bgProps.length === 2 && prop === \"bgx\") {\n        return noop;\n      }\n      if (getCssValue(el, \"backgroundSize\", \"\") === \"cover\") {\n        return backgroundCoverFn(prop, el, stops, props2);\n      }\n      const positions = {};\n      for (const prop2 of bgProps) {\n        positions[prop2] = getBackgroundPos(el, prop2);\n      }\n      return setBackgroundPosFn(bgProps, positions, props2);\n    }\n    function backgroundCoverFn(prop, el, stops, props2) {\n      const dimImage = getBackgroundImageDimensions(el);\n      if (!dimImage.width) {\n        return noop;\n      }\n      const dimEl = {\n        width: el.offsetWidth,\n        height: el.offsetHeight\n      };\n      const bgProps = [\"bgx\", \"bgy\"].filter((prop2) => prop2 in props2);\n      const positions = {};\n      for (const prop2 of bgProps) {\n        const values = props2[prop2].map(([value]) => value);\n        const min = Math.min(...values);\n        const max = Math.max(...values);\n        const down = values.indexOf(min) < values.indexOf(max);\n        const diff = max - min;\n        positions[prop2] = `${(down ? -diff : 0) - (down ? min : max)}px`;\n        dimEl[prop2 === \"bgy\" ? \"height\" : \"width\"] += diff;\n      }\n      const dim = Dimensions.cover(dimImage, dimEl);\n      for (const prop2 of bgProps) {\n        const attr = prop2 === \"bgy\" ? \"height\" : \"width\";\n        const overflow = dim[attr] - dimEl[attr];\n        positions[prop2] = `max(${getBackgroundPos(el, prop2)},-${overflow}px) + ${positions[prop2]}`;\n      }\n      const fn = setBackgroundPosFn(bgProps, positions, props2);\n      return (css2, percent) => {\n        fn(css2, percent);\n        css2.backgroundSize = `${dim.width}px ${dim.height}px`;\n        css2.backgroundRepeat = \"no-repeat\";\n      };\n    }\n    function getBackgroundPos(el, prop) {\n      return getCssValue(el, `background-position-${prop.substr(-1)}`, \"\");\n    }\n    function setBackgroundPosFn(bgProps, positions, props2) {\n      return function(css2, percent) {\n        for (const prop of bgProps) {\n          const value = getValue(props2[prop], percent);\n          css2[`background-position-${prop.substr(-1)}`] = `calc(${positions[prop]} + ${value}px)`;\n        }\n      };\n    }\n    const dimensions = {};\n    function getBackgroundImageDimensions(el) {\n      const src = css(el, \"backgroundImage\").replace(/^none|url\\([\"']?(.+?)[\"']?\\)$/, \"$1\");\n      if (dimensions[src]) {\n        return dimensions[src];\n      }\n      const image = new Image();\n      if (src) {\n        image.src = src;\n        if (!image.naturalWidth) {\n          image.onload = () => {\n            dimensions[src] = toDimensions(image);\n            trigger(el, createEvent(\"load\", false));\n          };\n          return toDimensions(image);\n        }\n      }\n      return dimensions[src] = toDimensions(image);\n    }\n    function toDimensions(image) {\n      return {\n        width: image.naturalWidth,\n        height: image.naturalHeight\n      };\n    }\n    function parseStops(stops, fn = toFloat) {\n      const result = [];\n      const { length } = stops;\n      let nullIndex = 0;\n      for (let i = 0; i < length; i++) {\n        let [value, percent] = isString(stops[i]) ? stops[i].trim().split(/ (?![^(]*\\))/) : [stops[i]];\n        value = fn(value);\n        percent = percent ? toFloat(percent) / 100 : null;\n        if (i === 0) {\n          if (percent === null) {\n            percent = 0;\n          } else if (percent) {\n            result.push([value, 0]);\n          }\n        } else if (i === length - 1) {\n          if (percent === null) {\n            percent = 1;\n          } else if (percent !== 1) {\n            result.push([value, percent]);\n            percent = 1;\n          }\n        }\n        result.push([value, percent]);\n        if (percent === null) {\n          nullIndex++;\n        } else if (nullIndex) {\n          const leftPercent = result[i - nullIndex - 1][1];\n          const p = (percent - leftPercent) / (nullIndex + 1);\n          for (let j = nullIndex; j > 0; j--) {\n            result[i - j][1] = leftPercent + p * (nullIndex - j + 1);\n          }\n          nullIndex = 0;\n        }\n      }\n      return result;\n    }\n    function getStop(stops, percent) {\n      const index = findIndex(stops.slice(1), ([, targetPercent]) => percent <= targetPercent) + 1;\n      return [\n        stops[index - 1][0],\n        stops[index][0],\n        (percent - stops[index - 1][1]) / (stops[index][1] - stops[index - 1][1])\n      ];\n    }\n    function getValue(stops, percent) {\n      const [start, end, p] = getStop(stops, percent);\n      return isNumber(start) ? start + Math.abs(start - end) * p * (start < end ? 1 : -1) : +end;\n    }\n    const unitRe = /^-?\\d+(\\S+)?/;\n    function getUnit(stops, defaultUnit) {\n      var _a;\n      for (const stop of stops) {\n        const match = (_a = stop.match) == null ? void 0 : _a.call(stop, unitRe);\n        if (match) {\n          return match[1];\n        }\n      }\n      return defaultUnit;\n    }\n    function getCssValue(el, prop, value) {\n      const prev = el.style[prop];\n      const val = css(css(el, prop, value), prop);\n      el.style[prop] = prev;\n      return val;\n    }\n    function fillObject(keys2, value) {\n      return keys2.reduce((data, prop) => {\n        data[prop] = value;\n        return data;\n      }, {});\n    }\n\n    var parallax = {\n      mixins: [Parallax],\n      props: {\n        target: String,\n        viewport: Number,\n        // Deprecated\n        easing: Number,\n        start: String,\n        end: String\n      },\n      data: {\n        target: false,\n        viewport: 1,\n        easing: 1,\n        start: 0,\n        end: 0\n      },\n      computed: {\n        target({ target }, $el) {\n          return getOffsetElement(target && query(target, $el) || $el);\n        },\n        start({ start }) {\n          return toPx(start, \"height\", this.target, true);\n        },\n        end({ end, viewport }) {\n          return toPx(\n            end || (viewport = (1 - viewport) * 100) && `${viewport}vh+${viewport}%`,\n            \"height\",\n            this.target,\n            true\n          );\n        }\n      },\n      observe: [\n        resize({\n          target: ({ $el, target }) => [$el, target]\n        }),\n        scroll$1()\n      ],\n      update: {\n        read({ percent }, types) {\n          if (!types.has(\"scroll\")) {\n            percent = false;\n          }\n          if (!isVisible(this.$el)) {\n            return false;\n          }\n          if (!this.matchMedia) {\n            return;\n          }\n          const prev = percent;\n          percent = ease(scrolledOver(this.target, this.start, this.end), this.easing);\n          return {\n            percent,\n            style: prev === percent ? false : this.getCss(percent)\n          };\n        },\n        write({ style }) {\n          if (!this.matchMedia) {\n            this.reset();\n            return;\n          }\n          style && css(this.$el, style);\n        },\n        events: [\"scroll\", \"resize\"]\n      }\n    };\n    function ease(percent, easing) {\n      return easing >= 0 ? Math.pow(percent, easing + 1) : 1 - Math.pow(1 - percent, 1 - easing);\n    }\n    function getOffsetElement(el) {\n      return el ? \"offsetTop\" in el ? el : getOffsetElement(parent(el)) : document.documentElement;\n    }\n\n    var SliderReactive = {\n      update: {\n        write() {\n          if (this.stack.length || this.dragging) {\n            return;\n          }\n          const index = this.getValidIndex(this.index);\n          if (!~this.prevIndex || this.index !== index) {\n            this.show(index);\n          } else {\n            this._translate(1, this.prevIndex, this.index);\n          }\n        },\n        events: [\"resize\"]\n      }\n    };\n\n    var SliderPreload = {\n      observe: lazyload({\n        target: ({ slides }) => slides,\n        targets: (instance) => instance.getAdjacentSlides()\n      })\n    };\n\n    function Transitioner(prev, next, dir, { center, easing, list }) {\n      const deferred = new Deferred();\n      const from = prev ? getLeft(prev, list, center) : getLeft(next, list, center) + dimensions$1(next).width * dir;\n      const to = next ? getLeft(next, list, center) : from + dimensions$1(prev).width * dir * (isRtl ? -1 : 1);\n      return {\n        dir,\n        show(duration, percent = 0, linear) {\n          const timing = linear ? \"linear\" : easing;\n          duration -= Math.round(duration * clamp(percent, -1, 1));\n          this.translate(percent);\n          percent = prev ? percent : clamp(percent, 0, 1);\n          triggerUpdate(this.getItemIn(), \"itemin\", { percent, duration, timing, dir });\n          prev && triggerUpdate(this.getItemIn(true), \"itemout\", {\n            percent: 1 - percent,\n            duration,\n            timing,\n            dir\n          });\n          Transition.start(\n            list,\n            { transform: translate(-to * (isRtl ? -1 : 1), \"px\") },\n            duration,\n            timing\n          ).then(deferred.resolve, noop);\n          return deferred.promise;\n        },\n        cancel() {\n          Transition.cancel(list);\n        },\n        reset() {\n          css(list, \"transform\", \"\");\n        },\n        forward(duration, percent = this.percent()) {\n          Transition.cancel(list);\n          return this.show(duration, percent, true);\n        },\n        translate(percent) {\n          const distance = this.getDistance() * dir * (isRtl ? -1 : 1);\n          css(\n            list,\n            \"transform\",\n            translate(\n              clamp(\n                -to + (distance - distance * percent),\n                -getWidth(list),\n                dimensions$1(list).width\n              ) * (isRtl ? -1 : 1),\n              \"px\"\n            )\n          );\n          const actives = this.getActives();\n          const itemIn = this.getItemIn();\n          const itemOut = this.getItemIn(true);\n          percent = prev ? clamp(percent, -1, 1) : 0;\n          for (const slide of children(list)) {\n            const isActive = includes(actives, slide);\n            const isIn = slide === itemIn;\n            const isOut = slide === itemOut;\n            const translateIn = isIn || !isOut && (isActive || dir * (isRtl ? -1 : 1) === -1 ^ getElLeft(slide, list) > getElLeft(prev || next));\n            triggerUpdate(slide, `itemtranslate${translateIn ? \"in\" : \"out\"}`, {\n              dir,\n              percent: isOut ? 1 - percent : isIn ? percent : isActive ? 1 : 0\n            });\n          }\n        },\n        percent() {\n          return Math.abs(\n            (css(list, \"transform\").split(\",\")[4] * (isRtl ? -1 : 1) + from) / (to - from)\n          );\n        },\n        getDistance() {\n          return Math.abs(to - from);\n        },\n        getItemIn(out = false) {\n          let actives = this.getActives();\n          let nextActives = inView(list, getLeft(next || prev, list, center));\n          if (out) {\n            const temp = actives;\n            actives = nextActives;\n            nextActives = temp;\n          }\n          return nextActives[findIndex(nextActives, (el) => !includes(actives, el))];\n        },\n        getActives() {\n          return inView(list, getLeft(prev || next, list, center));\n        }\n      };\n    }\n    function getLeft(el, list, center) {\n      const left = getElLeft(el, list);\n      return center ? left - centerEl(el, list) : Math.min(left, getMax(list));\n    }\n    function getMax(list) {\n      return Math.max(0, getWidth(list) - dimensions$1(list).width);\n    }\n    function getWidth(list) {\n      return sumBy(children(list), (el) => dimensions$1(el).width);\n    }\n    function centerEl(el, list) {\n      return dimensions$1(list).width / 2 - dimensions$1(el).width / 2;\n    }\n    function getElLeft(el, list) {\n      return el && (position(el).left + (isRtl ? dimensions$1(el).width - dimensions$1(list).width : 0)) * (isRtl ? -1 : 1) || 0;\n    }\n    function inView(list, listLeft) {\n      listLeft -= 1;\n      const listWidth = dimensions$1(list).width;\n      const listRight = listLeft + listWidth + 2;\n      return children(list).filter((slide) => {\n        const slideLeft = getElLeft(slide, list);\n        const slideRight = slideLeft + Math.min(dimensions$1(slide).width, listWidth);\n        return slideLeft >= listLeft && slideRight <= listRight;\n      });\n    }\n    function triggerUpdate(el, type, data) {\n      trigger(el, createEvent(type, false, false, data));\n    }\n\n    var slider = {\n      mixins: [Class, Slider, SliderReactive, SliderPreload],\n      props: {\n        center: Boolean,\n        sets: Boolean\n      },\n      data: {\n        center: false,\n        sets: false,\n        attrItem: \"uk-slider-item\",\n        selList: \".uk-slider-items\",\n        selNav: \".uk-slider-nav\",\n        clsContainer: \"uk-slider-container\",\n        Transitioner\n      },\n      computed: {\n        avgWidth() {\n          return getWidth(this.list) / this.length;\n        },\n        finite({ finite }) {\n          return finite || isFinite(this.list, this.center);\n        },\n        maxIndex() {\n          if (!this.finite || this.center && !this.sets) {\n            return this.length - 1;\n          }\n          if (this.center) {\n            return last(this.sets);\n          }\n          let lft = 0;\n          const max = getMax(this.list);\n          const index = findIndex(this.slides, (el) => {\n            if (lft >= max) {\n              return true;\n            }\n            lft += dimensions$1(el).width;\n          });\n          return ~index ? index : this.length - 1;\n        },\n        sets({ sets: enabled }) {\n          if (!enabled) {\n            return;\n          }\n          let left = 0;\n          const sets = [];\n          const width = dimensions$1(this.list).width;\n          for (let i = 0; i < this.length; i++) {\n            const slideWidth = dimensions$1(this.slides[i]).width;\n            if (left + slideWidth > width) {\n              left = 0;\n            }\n            if (this.center) {\n              if (left < width / 2 && left + slideWidth + dimensions$1(this.slides[+i + 1]).width / 2 > width / 2) {\n                sets.push(+i);\n                left = width / 2 - slideWidth / 2;\n              }\n            } else if (left === 0) {\n              sets.push(Math.min(+i, this.maxIndex));\n            }\n            left += slideWidth;\n          }\n          if (sets.length) {\n            return sets;\n          }\n        },\n        transitionOptions() {\n          return {\n            center: this.center,\n            list: this.list\n          };\n        },\n        slides() {\n          return children(this.list).filter(isVisible);\n        }\n      },\n      connected() {\n        toggleClass(this.$el, this.clsContainer, !$(`.${this.clsContainer}`, this.$el));\n      },\n      observe: resize({\n        target: ({ slides }) => slides\n      }),\n      update: {\n        write() {\n          for (const el of this.navItems) {\n            const index = toNumber(data(el, this.attrItem));\n            if (index !== false) {\n              el.hidden = !this.maxIndex || index > this.maxIndex || this.sets && !includes(this.sets, index);\n            }\n          }\n          if (this.length && !this.dragging && !this.stack.length) {\n            this.reorder();\n            this._translate(1);\n          }\n          this.updateActiveClasses();\n        },\n        events: [\"resize\"]\n      },\n      events: {\n        beforeitemshow(e) {\n          if (!this.dragging && this.sets && this.stack.length < 2 && !includes(this.sets, this.index)) {\n            this.index = this.getValidIndex();\n          }\n          const diff = Math.abs(\n            this.index - this.prevIndex + (this.dir > 0 && this.index < this.prevIndex || this.dir < 0 && this.index > this.prevIndex ? (this.maxIndex + 1) * this.dir : 0)\n          );\n          if (!this.dragging && diff > 1) {\n            for (let i = 0; i < diff; i++) {\n              this.stack.splice(1, 0, this.dir > 0 ? \"next\" : \"previous\");\n            }\n            e.preventDefault();\n            return;\n          }\n          const index = this.dir < 0 || !this.slides[this.prevIndex] ? this.index : this.prevIndex;\n          this.duration = speedUp(this.avgWidth / this.velocity) * (dimensions$1(this.slides[index]).width / this.avgWidth);\n          this.reorder();\n        },\n        itemshow() {\n          if (~this.prevIndex) {\n            addClass(this._getTransitioner().getItemIn(), this.clsActive);\n          }\n        },\n        itemshown() {\n          this.updateActiveClasses();\n        }\n      },\n      methods: {\n        reorder() {\n          if (this.finite) {\n            css(this.slides, \"order\", \"\");\n            return;\n          }\n          const index = this.dir > 0 && this.slides[this.prevIndex] ? this.prevIndex : this.index;\n          this.slides.forEach(\n            (slide, i) => css(\n              slide,\n              \"order\",\n              this.dir > 0 && i < index ? 1 : this.dir < 0 && i >= this.index ? -1 : \"\"\n            )\n          );\n          if (!this.center) {\n            return;\n          }\n          const next = this.slides[index];\n          let width = dimensions$1(this.list).width / 2 - dimensions$1(next).width / 2;\n          let j = 0;\n          while (width > 0) {\n            const slideIndex = this.getIndex(--j + index, index);\n            const slide = this.slides[slideIndex];\n            css(slide, \"order\", slideIndex > index ? -2 : -1);\n            width -= dimensions$1(slide).width;\n          }\n        },\n        updateActiveClasses() {\n          const actives = this._getTransitioner(this.index).getActives();\n          const activeClasses = [\n            this.clsActive,\n            (!this.sets || includes(this.sets, toFloat(this.index))) && this.clsActivated || \"\"\n          ];\n          for (const slide of this.slides) {\n            const active = includes(actives, slide);\n            toggleClass(slide, activeClasses, active);\n            attr(slide, \"aria-hidden\", !active);\n            for (const focusable of $$(selFocusable, slide)) {\n              if (!hasOwn(focusable, \"_tabindex\")) {\n                focusable._tabindex = attr(focusable, \"tabindex\");\n              }\n              attr(focusable, \"tabindex\", active ? focusable._tabindex : -1);\n            }\n          }\n        },\n        getValidIndex(index = this.index, prevIndex = this.prevIndex) {\n          index = this.getIndex(index, prevIndex);\n          if (!this.sets) {\n            return index;\n          }\n          let prev;\n          do {\n            if (includes(this.sets, index)) {\n              return index;\n            }\n            prev = index;\n            index = this.getIndex(index + this.dir, prevIndex);\n          } while (index !== prev);\n          return index;\n        },\n        getAdjacentSlides() {\n          const { width } = dimensions$1(this.list);\n          const left = -width;\n          const right = width * 2;\n          const slideWidth = dimensions$1(this.slides[this.index]).width;\n          const slideLeft = this.center ? width / 2 - slideWidth / 2 : 0;\n          const slides = /* @__PURE__ */ new Set();\n          for (const i of [-1, 1]) {\n            let currentLeft = slideLeft + (i > 0 ? slideWidth : 0);\n            let j = 0;\n            do {\n              const slide = this.slides[this.getIndex(this.index + i + j++ * i)];\n              currentLeft += dimensions$1(slide).width * i;\n              slides.add(slide);\n            } while (this.length > j && currentLeft > left && currentLeft < right);\n          }\n          return Array.from(slides);\n        }\n      }\n    };\n    function isFinite(list, center) {\n      if (!list || list.length < 2) {\n        return true;\n      }\n      const { width: listWidth } = dimensions$1(list);\n      if (!center) {\n        return Math.ceil(getWidth(list)) < Math.trunc(listWidth + getMaxElWidth(list));\n      }\n      const slides = children(list);\n      const listHalf = Math.trunc(listWidth / 2);\n      for (const index in slides) {\n        const slide = slides[index];\n        const slideWidth = dimensions$1(slide).width;\n        const slidesInView = /* @__PURE__ */ new Set([slide]);\n        let diff = 0;\n        for (const i of [-1, 1]) {\n          let left = slideWidth / 2;\n          let j = 0;\n          while (left < listHalf) {\n            const nextSlide = slides[getIndex(+index + i + j++ * i, slides)];\n            if (slidesInView.has(nextSlide)) {\n              return true;\n            }\n            left += dimensions$1(nextSlide).width;\n            slidesInView.add(nextSlide);\n          }\n          diff = Math.max(\n            diff,\n            slideWidth / 2 + dimensions$1(slides[getIndex(+index + i, slides)]).width / 2 - (left - listHalf)\n          );\n        }\n        if (diff > sumBy(\n          slides.filter((slide2) => !slidesInView.has(slide2)),\n          (slide2) => dimensions$1(slide2).width\n        )) {\n          return true;\n        }\n      }\n      return false;\n    }\n    function getMaxElWidth(list) {\n      return Math.max(0, ...children(list).map((el) => dimensions$1(el).width));\n    }\n\n    var sliderParallax = {\n      mixins: [Parallax],\n      data: {\n        selItem: \"!li\"\n      },\n      beforeConnect() {\n        this.item = query(this.selItem, this.$el);\n      },\n      disconnected() {\n        this.item = null;\n      },\n      events: [\n        {\n          name: \"itemin itemout\",\n          self: true,\n          el() {\n            return this.item;\n          },\n          handler({ type, detail: { percent, duration, timing, dir } }) {\n            fastdom.read(() => {\n              if (!this.matchMedia) {\n                return;\n              }\n              const propsFrom = this.getCss(getCurrentPercent(type, dir, percent));\n              const propsTo = this.getCss(isIn(type) ? 0.5 : dir > 0 ? 1 : 0);\n              fastdom.write(() => {\n                css(this.$el, propsFrom);\n                Transition.start(this.$el, propsTo, duration, timing).catch(noop);\n              });\n            });\n          }\n        },\n        {\n          name: \"transitioncanceled transitionend\",\n          self: true,\n          el() {\n            return this.item;\n          },\n          handler() {\n            Transition.cancel(this.$el);\n          }\n        },\n        {\n          name: \"itemtranslatein itemtranslateout\",\n          self: true,\n          el() {\n            return this.item;\n          },\n          handler({ type, detail: { percent, dir } }) {\n            fastdom.read(() => {\n              if (!this.matchMedia) {\n                this.reset();\n                return;\n              }\n              const props = this.getCss(getCurrentPercent(type, dir, percent));\n              fastdom.write(() => css(this.$el, props));\n            });\n          }\n        }\n      ]\n    };\n    function isIn(type) {\n      return endsWith(type, \"in\");\n    }\n    function getCurrentPercent(type, dir, percent) {\n      percent /= 2;\n      return isIn(type) ^ dir < 0 ? percent : 1 - percent;\n    }\n\n    var Animations = {\n      ...Animations$2,\n      fade: {\n        show() {\n          return [{ opacity: 0, zIndex: 0 }, { zIndex: -1 }];\n        },\n        percent(current) {\n          return 1 - css(current, \"opacity\");\n        },\n        translate(percent) {\n          return [{ opacity: 1 - percent, zIndex: 0 }, { zIndex: -1 }];\n        }\n      },\n      scale: {\n        show() {\n          return [{ opacity: 0, transform: scale3d(1 + 0.5), zIndex: 0 }, { zIndex: -1 }];\n        },\n        percent(current) {\n          return 1 - css(current, \"opacity\");\n        },\n        translate(percent) {\n          return [\n            { opacity: 1 - percent, transform: scale3d(1 + 0.5 * percent), zIndex: 0 },\n            { zIndex: -1 }\n          ];\n        }\n      },\n      pull: {\n        show(dir) {\n          return dir < 0 ? [\n            { transform: translate(30), zIndex: -1 },\n            { transform: translate(), zIndex: 0 }\n          ] : [\n            { transform: translate(-100), zIndex: 0 },\n            { transform: translate(), zIndex: -1 }\n          ];\n        },\n        percent(current, next, dir) {\n          return dir < 0 ? 1 - translated(next) : translated(current);\n        },\n        translate(percent, dir) {\n          return dir < 0 ? [\n            { transform: translate(30 * percent), zIndex: -1 },\n            { transform: translate(-100 * (1 - percent)), zIndex: 0 }\n          ] : [\n            { transform: translate(-percent * 100), zIndex: 0 },\n            { transform: translate(30 * (1 - percent)), zIndex: -1 }\n          ];\n        }\n      },\n      push: {\n        show(dir) {\n          return dir < 0 ? [\n            { transform: translate(100), zIndex: 0 },\n            { transform: translate(), zIndex: -1 }\n          ] : [\n            { transform: translate(-30), zIndex: -1 },\n            { transform: translate(), zIndex: 0 }\n          ];\n        },\n        percent(current, next, dir) {\n          return dir > 0 ? 1 - translated(next) : translated(current);\n        },\n        translate(percent, dir) {\n          return dir < 0 ? [\n            { transform: translate(percent * 100), zIndex: 0 },\n            { transform: translate(-30 * (1 - percent)), zIndex: -1 }\n          ] : [\n            { transform: translate(-30 * percent), zIndex: -1 },\n            { transform: translate(100 * (1 - percent)), zIndex: 0 }\n          ];\n        }\n      }\n    };\n\n    var slideshow = {\n      mixins: [Class, Slideshow, SliderReactive, SliderPreload],\n      props: {\n        ratio: String,\n        minHeight: Number,\n        maxHeight: Number\n      },\n      data: {\n        ratio: \"16:9\",\n        minHeight: false,\n        maxHeight: false,\n        selList: \".uk-slideshow-items\",\n        attrItem: \"uk-slideshow-item\",\n        selNav: \".uk-slideshow-nav\",\n        Animations\n      },\n      update: {\n        read() {\n          if (!this.list) {\n            return false;\n          }\n          let [width, height] = this.ratio.split(\":\").map(Number);\n          height = height * this.list.offsetWidth / width || 0;\n          if (this.minHeight) {\n            height = Math.max(this.minHeight, height);\n          }\n          if (this.maxHeight) {\n            height = Math.min(this.maxHeight, height);\n          }\n          return { height: height - boxModelAdjust(this.list, \"height\", \"content-box\") };\n        },\n        write({ height }) {\n          height > 0 && css(this.list, \"minHeight\", height);\n        },\n        events: [\"resize\"]\n      },\n      methods: {\n        getAdjacentSlides() {\n          return [1, -1].map((i) => this.slides[this.getIndex(this.index + i)]);\n        }\n      }\n    };\n\n    var sortable = {\n      mixins: [Class, Animate],\n      props: {\n        group: String,\n        threshold: Number,\n        clsItem: String,\n        clsPlaceholder: String,\n        clsDrag: String,\n        clsDragState: String,\n        clsBase: String,\n        clsNoDrag: String,\n        clsEmpty: String,\n        clsCustom: String,\n        handle: String\n      },\n      data: {\n        group: false,\n        threshold: 5,\n        clsItem: \"uk-sortable-item\",\n        clsPlaceholder: \"uk-sortable-placeholder\",\n        clsDrag: \"uk-sortable-drag\",\n        clsDragState: \"uk-drag\",\n        clsBase: \"uk-sortable\",\n        clsNoDrag: \"uk-sortable-nodrag\",\n        clsEmpty: \"uk-sortable-empty\",\n        clsCustom: \"\",\n        handle: false,\n        pos: {}\n      },\n      created() {\n        for (const key of [\"init\", \"start\", \"move\", \"end\"]) {\n          const fn = this[key];\n          this[key] = (e) => {\n            assign(this.pos, getEventPos(e));\n            fn(e);\n          };\n        }\n      },\n      events: {\n        name: pointerDown$1,\n        passive: false,\n        handler: \"init\"\n      },\n      computed: {\n        target() {\n          return (this.$el.tBodies || [this.$el])[0];\n        },\n        items() {\n          return children(this.target);\n        },\n        isEmpty() {\n          return isEmpty(this.items);\n        },\n        handles({ handle }, el) {\n          return handle ? $$(handle, el) : this.items;\n        }\n      },\n      watch: {\n        isEmpty(empty) {\n          toggleClass(this.target, this.clsEmpty, empty);\n        },\n        handles(handles, prev) {\n          css(prev, { touchAction: \"\", userSelect: \"\" });\n          css(handles, { touchAction: hasTouch ? \"none\" : \"\", userSelect: \"none\" });\n        }\n      },\n      update: {\n        write(data) {\n          if (!this.drag || !parent(this.placeholder)) {\n            return;\n          }\n          const {\n            pos: { x, y },\n            origin: { offsetTop, offsetLeft },\n            placeholder\n          } = this;\n          css(this.drag, {\n            top: y - offsetTop,\n            left: x - offsetLeft\n          });\n          const sortable = this.getSortable(document.elementFromPoint(x, y));\n          if (!sortable) {\n            return;\n          }\n          const { items } = sortable;\n          if (items.some(Transition.inProgress)) {\n            return;\n          }\n          const target = findTarget(items, { x, y });\n          if (items.length && (!target || target === placeholder)) {\n            return;\n          }\n          const previous = this.getSortable(placeholder);\n          const insertTarget = findInsertTarget(\n            sortable.target,\n            target,\n            placeholder,\n            x,\n            y,\n            sortable === previous && data.moved !== target\n          );\n          if (insertTarget === false) {\n            return;\n          }\n          if (insertTarget && placeholder === insertTarget) {\n            return;\n          }\n          if (sortable !== previous) {\n            previous.remove(placeholder);\n            data.moved = target;\n          } else {\n            delete data.moved;\n          }\n          sortable.insert(placeholder, insertTarget);\n          this.touched.add(sortable);\n        },\n        events: [\"move\"]\n      },\n      methods: {\n        init(e) {\n          const { target, button, defaultPrevented } = e;\n          const [placeholder] = this.items.filter((el) => within(target, el));\n          if (!placeholder || defaultPrevented || button > 0 || isInput(target) || within(target, `.${this.clsNoDrag}`) || this.handle && !within(target, this.handle)) {\n            return;\n          }\n          e.preventDefault();\n          this.touched = /* @__PURE__ */ new Set([this]);\n          this.placeholder = placeholder;\n          this.origin = { target, index: index(placeholder), ...this.pos };\n          on(document, pointerMove$1, this.move);\n          on(document, pointerUp$1, this.end);\n          if (!this.threshold) {\n            this.start(e);\n          }\n        },\n        start(e) {\n          this.drag = appendDrag(this.$container, this.placeholder);\n          const { left, top } = this.placeholder.getBoundingClientRect();\n          assign(this.origin, { offsetLeft: this.pos.x - left, offsetTop: this.pos.y - top });\n          addClass(this.drag, this.clsDrag, this.clsCustom);\n          addClass(this.placeholder, this.clsPlaceholder);\n          addClass(this.items, this.clsItem);\n          addClass(document.documentElement, this.clsDragState);\n          trigger(this.$el, \"start\", [this, this.placeholder]);\n          trackScroll(this.pos);\n          this.move(e);\n        },\n        move(e) {\n          if (this.drag) {\n            this.$emit(\"move\");\n          } else if (Math.abs(this.pos.x - this.origin.x) > this.threshold || Math.abs(this.pos.y - this.origin.y) > this.threshold) {\n            this.start(e);\n          }\n        },\n        end() {\n          off(document, pointerMove$1, this.move);\n          off(document, pointerUp$1, this.end);\n          if (!this.drag) {\n            return;\n          }\n          untrackScroll();\n          const sortable = this.getSortable(this.placeholder);\n          if (this === sortable) {\n            if (this.origin.index !== index(this.placeholder)) {\n              trigger(this.$el, \"moved\", [this, this.placeholder]);\n            }\n          } else {\n            trigger(sortable.$el, \"added\", [sortable, this.placeholder]);\n            trigger(this.$el, \"removed\", [this, this.placeholder]);\n          }\n          trigger(this.$el, \"stop\", [this, this.placeholder]);\n          remove$1(this.drag);\n          this.drag = null;\n          for (const { clsPlaceholder, clsItem } of this.touched) {\n            for (const sortable2 of this.touched) {\n              removeClass(sortable2.items, clsPlaceholder, clsItem);\n            }\n          }\n          this.touched = null;\n          removeClass(document.documentElement, this.clsDragState);\n        },\n        insert(element, target) {\n          addClass(this.items, this.clsItem);\n          const insert = () => target ? before(target, element) : append(this.target, element);\n          this.animate(insert);\n        },\n        remove(element) {\n          if (!within(element, this.target)) {\n            return;\n          }\n          this.animate(() => remove$1(element));\n        },\n        getSortable(element) {\n          do {\n            const sortable = this.$getComponent(element, \"sortable\");\n            if (sortable && (sortable === this || this.group !== false && sortable.group === this.group)) {\n              return sortable;\n            }\n          } while (element = parent(element));\n        }\n      }\n    };\n    let trackTimer;\n    function trackScroll(pos) {\n      let last = Date.now();\n      trackTimer = setInterval(() => {\n        let { x, y } = pos;\n        y += document.scrollingElement.scrollTop;\n        const dist = (Date.now() - last) * 0.3;\n        last = Date.now();\n        scrollParents(document.elementFromPoint(x, pos.y)).reverse().some((scrollEl) => {\n          let { scrollTop: scroll, scrollHeight } = scrollEl;\n          const { top, bottom, height: height2 } = offsetViewport(scrollEl);\n          if (top < y && top + 35 > y) {\n            scroll -= dist;\n          } else if (bottom > y && bottom - 35 < y) {\n            scroll += dist;\n          } else {\n            return;\n          }\n          if (scroll > 0 && scroll < scrollHeight - height2) {\n            scrollEl.scrollTop = scroll;\n            return true;\n          }\n        });\n      }, 15);\n    }\n    function untrackScroll() {\n      clearInterval(trackTimer);\n    }\n    function appendDrag(container, element) {\n      let clone;\n      if (isTag(element, \"li\", \"tr\")) {\n        clone = $(\"<div>\");\n        append(clone, element.cloneNode(true).children);\n        for (const attribute of element.getAttributeNames()) {\n          attr(clone, attribute, element.getAttribute(attribute));\n        }\n      } else {\n        clone = element.cloneNode(true);\n      }\n      append(container, clone);\n      css(clone, \"margin\", \"0\", \"important\");\n      css(clone, {\n        boxSizing: \"border-box\",\n        width: element.offsetWidth,\n        height: element.offsetHeight,\n        padding: css(element, \"padding\")\n      });\n      height(clone.firstElementChild, height(element.firstElementChild));\n      return clone;\n    }\n    function findTarget(items, point) {\n      return items[findIndex(items, (item) => pointInRect(point, item.getBoundingClientRect()))];\n    }\n    function findInsertTarget(list, target, placeholder, x, y, sameList) {\n      if (!children(list).length) {\n        return;\n      }\n      const rect = target.getBoundingClientRect();\n      if (!sameList) {\n        if (!isHorizontal(list, placeholder)) {\n          return y < rect.top + rect.height / 2 ? target : target.nextElementSibling;\n        }\n        return target;\n      }\n      const placeholderRect = placeholder.getBoundingClientRect();\n      const sameRow = linesIntersect(\n        [rect.top, rect.bottom],\n        [placeholderRect.top, placeholderRect.bottom]\n      );\n      const [pointerPos, lengthProp, startProp, endProp] = sameRow ? [x, \"width\", \"left\", \"right\"] : [y, \"height\", \"top\", \"bottom\"];\n      const diff = placeholderRect[lengthProp] < rect[lengthProp] ? rect[lengthProp] - placeholderRect[lengthProp] : 0;\n      if (placeholderRect[startProp] < rect[startProp]) {\n        if (diff && pointerPos < rect[startProp] + diff) {\n          return false;\n        }\n        return target.nextElementSibling;\n      }\n      if (diff && pointerPos > rect[endProp] - diff) {\n        return false;\n      }\n      return target;\n    }\n    function isHorizontal(list, placeholder) {\n      const single = children(list).length === 1;\n      if (single) {\n        append(list, placeholder);\n      }\n      const items = children(list);\n      const isHorizontal2 = items.some((el, i) => {\n        const rectA = el.getBoundingClientRect();\n        return items.slice(i + 1).some((el2) => {\n          const rectB = el2.getBoundingClientRect();\n          return !linesIntersect([rectA.left, rectA.right], [rectB.left, rectB.right]);\n        });\n      });\n      if (single) {\n        remove$1(placeholder);\n      }\n      return isHorizontal2;\n    }\n    function linesIntersect(lineA, lineB) {\n      return lineA[1] > lineB[0] && lineB[1] > lineA[0];\n    }\n\n    var tooltip = {\n      mixins: [Container, Togglable, Position],\n      args: \"title\",\n      props: {\n        delay: Number,\n        title: String\n      },\n      data: {\n        pos: \"top\",\n        title: \"\",\n        delay: 0,\n        animation: [\"uk-animation-scale-up\"],\n        duration: 100,\n        cls: \"uk-active\"\n      },\n      beforeConnect() {\n        this.id = generateId(this);\n        this._hasTitle = hasAttr(this.$el, \"title\");\n        attr(this.$el, {\n          title: \"\",\n          \"aria-describedby\": this.id\n        });\n        makeFocusable(this.$el);\n      },\n      disconnected() {\n        this.hide();\n        if (!attr(this.$el, \"title\")) {\n          attr(this.$el, \"title\", this._hasTitle ? this.title : null);\n        }\n      },\n      methods: {\n        show() {\n          if (this.isToggled(this.tooltip || null) || !this.title) {\n            return;\n          }\n          clearTimeout(this.showTimer);\n          this.showTimer = setTimeout(this._show, this.delay);\n        },\n        async hide() {\n          if (matches(this.$el, \"input:focus\")) {\n            return;\n          }\n          clearTimeout(this.showTimer);\n          if (!this.isToggled(this.tooltip || null)) {\n            return;\n          }\n          await this.toggleElement(this.tooltip, false, false);\n          remove$1(this.tooltip);\n          this.tooltip = null;\n        },\n        _show() {\n          this.tooltip = append(\n            this.container,\n            `<div id=\"${this.id}\" class=\"uk-${this.$options.name}\" role=\"tooltip\"> <div class=\"uk-${this.$options.name}-inner\">${this.title}</div> </div>`\n          );\n          on(this.tooltip, \"toggled\", (e, toggled) => {\n            if (!toggled) {\n              return;\n            }\n            const update = () => this.positionAt(this.tooltip, this.$el);\n            update();\n            const [dir, align] = getAlignment(this.tooltip, this.$el, this.pos);\n            this.origin = this.axis === \"y\" ? `${flipPosition(dir)}-${align}` : `${align}-${flipPosition(dir)}`;\n            const handlers = [\n              once(\n                document,\n                `keydown ${pointerDown$1}`,\n                this.hide,\n                false,\n                (e2) => e2.type === pointerDown$1 && !within(e2.target, this.$el) || e2.type === \"keydown\" && e2.keyCode === keyMap.ESC\n              ),\n              on([document, ...overflowParents(this.$el)], \"scroll\", update, {\n                passive: true\n              })\n            ];\n            once(this.tooltip, \"hide\", () => handlers.forEach((handler) => handler()), {\n              self: true\n            });\n          });\n          this.toggleElement(this.tooltip, true);\n        }\n      },\n      events: {\n        focus: \"show\",\n        blur: \"hide\",\n        [`${pointerEnter} ${pointerLeave}`](e) {\n          if (!isTouch(e)) {\n            this[e.type === pointerEnter ? \"show\" : \"hide\"]();\n          }\n        },\n        // Clicking a button does not give it focus on all browsers and platforms\n        // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#clicking_and_focus\n        [pointerDown$1](e) {\n          if (isTouch(e)) {\n            this.show();\n          }\n        }\n      }\n    };\n    function makeFocusable(el) {\n      if (!isFocusable(el)) {\n        attr(el, \"tabindex\", \"0\");\n      }\n    }\n    function getAlignment(el, target, [dir, align]) {\n      const elOffset = offset(el);\n      const targetOffset = offset(target);\n      const properties = [\n        [\"left\", \"right\"],\n        [\"top\", \"bottom\"]\n      ];\n      for (const props2 of properties) {\n        if (elOffset[props2[0]] >= targetOffset[props2[1]]) {\n          dir = props2[1];\n          break;\n        }\n        if (elOffset[props2[1]] <= targetOffset[props2[0]]) {\n          dir = props2[0];\n          break;\n        }\n      }\n      const props = includes(properties[0], dir) ? properties[1] : properties[0];\n      if (elOffset[props[0]] === targetOffset[props[0]]) {\n        align = props[0];\n      } else if (elOffset[props[1]] === targetOffset[props[1]]) {\n        align = props[1];\n      } else {\n        align = \"center\";\n      }\n      return [dir, align];\n    }\n\n    var upload = {\n      mixins: [I18n],\n      i18n: {\n        invalidMime: \"Invalid File Type: %s\",\n        invalidName: \"Invalid File Name: %s\",\n        invalidSize: \"Invalid File Size: %s Kilobytes Max\"\n      },\n      props: {\n        allow: String,\n        clsDragover: String,\n        concurrent: Number,\n        maxSize: Number,\n        method: String,\n        mime: String,\n        multiple: Boolean,\n        name: String,\n        params: Object,\n        type: String,\n        url: String\n      },\n      data: {\n        allow: false,\n        clsDragover: \"uk-dragover\",\n        concurrent: 1,\n        maxSize: 0,\n        method: \"POST\",\n        mime: false,\n        multiple: false,\n        name: \"files[]\",\n        params: {},\n        type: \"\",\n        url: \"\",\n        abort: noop,\n        beforeAll: noop,\n        beforeSend: noop,\n        complete: noop,\n        completeAll: noop,\n        error: noop,\n        fail: noop,\n        load: noop,\n        loadEnd: noop,\n        loadStart: noop,\n        progress: noop\n      },\n      events: {\n        change(e) {\n          if (!matches(e.target, 'input[type=\"file\"]')) {\n            return;\n          }\n          e.preventDefault();\n          if (e.target.files) {\n            this.upload(e.target.files);\n          }\n          e.target.value = \"\";\n        },\n        drop(e) {\n          stop(e);\n          const transfer = e.dataTransfer;\n          if (!(transfer == null ? void 0 : transfer.files)) {\n            return;\n          }\n          removeClass(this.$el, this.clsDragover);\n          this.upload(transfer.files);\n        },\n        dragenter(e) {\n          stop(e);\n        },\n        dragover(e) {\n          stop(e);\n          addClass(this.$el, this.clsDragover);\n        },\n        dragleave(e) {\n          stop(e);\n          removeClass(this.$el, this.clsDragover);\n        }\n      },\n      methods: {\n        async upload(files) {\n          files = toArray(files);\n          if (!files.length) {\n            return;\n          }\n          trigger(this.$el, \"upload\", [files]);\n          for (const file of files) {\n            if (this.maxSize && this.maxSize * 1e3 < file.size) {\n              this.fail(this.t(\"invalidSize\", this.maxSize));\n              return;\n            }\n            if (this.allow && !match(this.allow, file.name)) {\n              this.fail(this.t(\"invalidName\", this.allow));\n              return;\n            }\n            if (this.mime && !match(this.mime, file.type)) {\n              this.fail(this.t(\"invalidMime\", this.mime));\n              return;\n            }\n          }\n          if (!this.multiple) {\n            files = files.slice(0, 1);\n          }\n          this.beforeAll(this, files);\n          const chunks = chunk(files, this.concurrent);\n          const upload = async (files2) => {\n            const data = new FormData();\n            files2.forEach((file) => data.append(this.name, file));\n            for (const key in this.params) {\n              data.append(key, this.params[key]);\n            }\n            try {\n              const xhr = await ajax(this.url, {\n                data,\n                method: this.method,\n                responseType: this.type,\n                beforeSend: (env) => {\n                  const { xhr: xhr2 } = env;\n                  on(xhr2.upload, \"progress\", this.progress);\n                  for (const type of [\"loadStart\", \"load\", \"loadEnd\", \"abort\"]) {\n                    on(xhr2, type.toLowerCase(), this[type]);\n                  }\n                  return this.beforeSend(env);\n                }\n              });\n              this.complete(xhr);\n              if (chunks.length) {\n                await upload(chunks.shift());\n              } else {\n                this.completeAll(xhr);\n              }\n            } catch (e) {\n              this.error(e);\n            }\n          };\n          await upload(chunks.shift());\n        }\n      }\n    };\n    function match(pattern, path) {\n      return path.match(\n        new RegExp(\n          `^${pattern.replace(/\\//g, \"\\\\/\").replace(/\\*\\*/g, \"(\\\\/[^\\\\/]+)*\").replace(/\\*/g, \"[^\\\\/]+\").replace(/((?!\\\\))\\?/g, \"$1.\")}$`,\n          \"i\"\n        )\n      );\n    }\n    function chunk(files, size) {\n      const chunks = [];\n      for (let i = 0; i < files.length; i += size) {\n        chunks.push(files.slice(i, i + size));\n      }\n      return chunks;\n    }\n    function stop(e) {\n      e.preventDefault();\n      e.stopPropagation();\n    }\n    function ajax(url, options) {\n      const env = {\n        data: null,\n        method: \"GET\",\n        headers: {},\n        xhr: new XMLHttpRequest(),\n        beforeSend: noop,\n        responseType: \"\",\n        ...options\n      };\n      return Promise.resolve().then(() => env.beforeSend(env)).then(() => send(url, env));\n    }\n    function send(url, env) {\n      return new Promise((resolve, reject) => {\n        const { xhr } = env;\n        for (const prop in env) {\n          if (prop in xhr) {\n            try {\n              xhr[prop] = env[prop];\n            } catch (e) {\n            }\n          }\n        }\n        xhr.open(env.method.toUpperCase(), url);\n        for (const header in env.headers) {\n          xhr.setRequestHeader(header, env.headers[header]);\n        }\n        on(xhr, \"load\", () => {\n          if (xhr.status === 0 || xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n            resolve(xhr);\n          } else {\n            reject(\n              assign(Error(xhr.statusText), {\n                xhr,\n                status: xhr.status\n              })\n            );\n          }\n        });\n        on(xhr, \"error\", () => reject(assign(Error(\"Network Error\"), { xhr })));\n        on(xhr, \"timeout\", () => reject(assign(Error(\"Network Timeout\"), { xhr })));\n        xhr.send(env.data);\n      });\n    }\n\n    var components = /*#__PURE__*/Object.freeze({\n        __proto__: null,\n        Countdown: countdown,\n        Filter: filter,\n        Lightbox: lightbox,\n        LightboxPanel: LightboxPanel,\n        Notification: notification,\n        Parallax: parallax,\n        Slider: slider,\n        SliderParallax: sliderParallax,\n        Slideshow: slideshow,\n        SlideshowParallax: sliderParallax,\n        Sortable: sortable,\n        Tooltip: tooltip,\n        Upload: upload\n    });\n\n    each(components, (component, name) => App.component(name, component));\n\n    return App;\n\n}));\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","export default function _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n    return typeof obj;\n  } : function (obj) {\n    return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n  }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n  var key = toPrimitive(arg, \"string\");\n  return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n  if (_typeof(input) !== \"object\" || input === null) return input;\n  var prim = input[Symbol.toPrimitive];\n  if (prim !== undefined) {\n    var res = prim.call(input, hint || \"default\");\n    if (_typeof(res) !== \"object\") return res;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n  key = toPropertyKey(key);\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n  return obj;\n}","// noinspection ES6UnusedImports\r\nimport '../sass/main.scss'; //do not remove!\r\nimport UIkit from 'uikit';\r\n\r\n/* eslint-disable */\r\nimport delphiBWLogo from '../images/logo/delphi-bw-logo.svg';\r\n\r\nwindow.UIkit = UIkit;\r\n\r\n// console.log('Head JS loaded')\r\n\r\nwindow.UIkitIcons = window.UIkitIcons || [];\r\n\r\nlet icons = {\r\n  \"500px\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M9.624,11.866c-0.141,0.132,0.479,0.658,0.662,0.418c0.051-0.046,0.607-0.61,0.662-0.664c0,0,0.738,0.719,0.814,0.719 c0.1,0,0.207-0.055,0.322-0.17c0.27-0.269,0.135-0.416,0.066-0.495l-0.631-0.616l0.658-0.668c0.146-0.156,0.021-0.314-0.1-0.449 c-0.182-0.18-0.359-0.226-0.471-0.125l-0.656,0.654l-0.654-0.654c-0.033-0.034-0.08-0.045-0.124-0.045 c-0.079,0-0.191,0.068-0.307,0.181c-0.202,0.202-0.247,0.351-0.133,0.462l0.665,0.665L9.624,11.866z\\\"/><path d=\\\"M11.066,2.884c-1.061,0-2.185,0.248-3.011,0.604c-0.087,0.034-0.141,0.106-0.15,0.205C7.893,3.784,7.919,3.909,7.982,4.066 c0.05,0.136,0.187,0.474,0.452,0.372c0.844-0.326,1.779-0.507,2.633-0.507c0.963,0,1.9,0.191,2.781,0.564 c0.695,0.292,1.357,0.719,2.078,1.34c0.051,0.044,0.105,0.068,0.164,0.068c0.143,0,0.273-0.137,0.389-0.271 c0.191-0.214,0.324-0.395,0.135-0.575c-0.686-0.654-1.436-1.138-2.363-1.533C13.24,3.097,12.168,2.884,11.066,2.884z\\\"/><path d=\\\"M16.43,15.747c-0.092-0.028-0.242,0.05-0.309,0.119l0,0c-0.652,0.652-1.42,1.169-2.268,1.521 c-0.877,0.371-1.814,0.551-2.779,0.551c-0.961,0-1.896-0.189-2.775-0.564c-0.848-0.36-1.612-0.879-2.268-1.53 c-0.682-0.688-1.196-1.455-1.529-2.268c-0.325-0.799-0.471-1.643-0.471-1.643c-0.045-0.24-0.258-0.249-0.567-0.203 c-0.128,0.021-0.519,0.079-0.483,0.36v0.01c0.105,0.644,0.289,1.284,0.545,1.895c0.417,0.969,1.002,1.849,1.756,2.604 c0.757,0.754,1.636,1.34,2.604,1.757C8.901,18.785,9.97,19,11.088,19c1.104,0,2.186-0.215,3.188-0.645 c1.838-0.896,2.604-1.757,2.604-1.757c0.182-0.204,0.227-0.317-0.1-0.643C16.779,15.956,16.525,15.774,16.43,15.747z\\\"/><path d=\\\"M5.633,13.287c0.293,0.71,0.723,1.341,1.262,1.882c0.54,0.54,1.172,0.971,1.882,1.264c0.731,0.303,1.509,0.461,2.298,0.461 c0.801,0,1.578-0.158,2.297-0.461c0.711-0.293,1.344-0.724,1.883-1.264c0.543-0.541,0.971-1.172,1.264-1.882 c0.314-0.721,0.463-1.5,0.463-2.298c0-0.79-0.148-1.569-0.463-2.289c-0.293-0.699-0.721-1.329-1.264-1.881 c-0.539-0.541-1.172-0.959-1.867-1.263c-0.721-0.303-1.5-0.461-2.299-0.461c-0.802,0-1.613,0.159-2.322,0.461 c-0.577,0.25-1.544,0.867-2.119,1.454v0.012V2.108h8.16C15.1,2.104,15.1,1.69,15.1,1.552C15.1,1.417,15.1,1,14.809,1H5.915 C5.676,1,5.527,1.192,5.527,1.384v6.84c0,0.214,0.273,0.372,0.529,0.428c0.5,0.105,0.614-0.056,0.737-0.224l0,0 c0.18-0.273,0.776-0.884,0.787-0.894c0.901-0.905,2.117-1.408,3.416-1.408c1.285,0,2.5,0.501,3.412,1.408 c0.914,0.914,1.408,2.122,1.408,3.405c0,1.288-0.508,2.496-1.408,3.405c-0.9,0.896-2.152,1.406-3.438,1.406 c-0.877,0-1.711-0.229-2.433-0.671v-4.158c0-0.553,0.237-1.151,0.643-1.614c0.462-0.519,1.094-0.799,1.782-0.799 c0.664,0,1.293,0.253,1.758,0.715c0.459,0.459,0.709,1.071,0.709,1.723c0,1.385-1.094,2.468-2.488,2.468 c-0.273,0-0.769-0.121-0.781-0.125c-0.281-0.087-0.405,0.306-0.438,0.436c-0.159,0.496,0.079,0.585,0.123,0.607 c0.452,0.137,0.743,0.157,1.129,0.157c1.973,0,3.572-1.6,3.572-3.57c0-1.964-1.6-3.552-3.572-3.552c-0.97,0-1.872,0.36-2.546,1.038 c-0.656,0.631-1.027,1.487-1.027,2.322v3.438v-0.011c-0.372-0.42-0.732-1.041-0.981-1.682c-0.102-0.248-0.315-0.202-0.607-0.113 c-0.135,0.035-0.519,0.157-0.44,0.439C5.372,12.799,5.577,13.164,5.633,13.287z\\\"/></svg>\",\r\n  \"album\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"5\\\" y=\\\"2\\\" width=\\\"10\\\" height=\\\"1\\\"/><rect x=\\\"3\\\" y=\\\"4\\\" width=\\\"14\\\" height=\\\"1\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"1.5\\\" y=\\\"6.5\\\" width=\\\"17\\\" height=\\\"11\\\"/></svg>\",\r\n  \"arrow-down\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"10.5,16.08 5.63,10.66 6.37,10 10.5,14.58 14.63,10 15.37,10.66\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"10.5\\\" y1=\\\"4\\\" x2=\\\"10.5\\\" y2=\\\"15\\\"/></svg>\",\r\n  \"arrow-left\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"10 14 5 9.5 10 5\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"16\\\" y1=\\\"9.5\\\" x2=\\\"5\\\" y2=\\\"9.52\\\"/></svg>\",\r\n  \"arrow-right\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"10 5 15 9.5 10 14\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"4\\\" y1=\\\"9.5\\\" x2=\\\"15\\\" y2=\\\"9.5\\\"/></svg>\",\r\n  \"arrow-up\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"10.5,4 15.37,9.4 14.63,10.08 10.5,5.49 6.37,10.08 5.63,9.4\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"10.5\\\" y1=\\\"16\\\" x2=\\\"10.5\\\" y2=\\\"5\\\"/></svg>\",\r\n  \"accordion-arrow-down\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.03\\\" points=\\\"16 7 10 13 4 7\\\"/></svg>\",\r\n\t\"shoppingCart\": `\r\n\t\t<svg viewBox='0 0 48 48' fill='currentColor'>\r\n\t\t\t<path d='M14.35 43.95q-1.5 0-2.55-1.05-1.05-1.05-1.05-2.55 0-1.5 1.05-2.55 1.05-1.05 2.55-1.05 1.5 0 2.55 1.05 1.05 1.05 1.05 2.55 0 1.5-1.05 2.55-1.05 1.05-2.55 1.05Zm20 0q-1.5 0-2.55-1.05-1.05-1.05-1.05-2.55 0-1.5 1.05-2.55 1.05-1.05 2.55-1.05 1.5 0 2.55 1.05 1.05 1.05 1.05 2.55 0 1.5-1.05 2.55-1.05 1.05-2.55 1.05Zm-24.1-36H39.7q1.15 0 1.75 1.05.6 1.05 0 2.1L34.7 23.25q-.55.95-1.425 1.525t-1.925.575H16.2l-2.8 5.2h24.55v3h-24.1q-2.1 0-3.025-1.4-.925-1.4.025-3.15l3.2-5.9L6.45 7h-3.9V4H8.4Z' />\r\n\t\t</svg>`,\r\n\t\"build\": `\r\n\t\t<svg viewBox='0 0 48 48' fill='currentColor'>\r\n\t\t\t<path d='m35.25 41.6-12.9-13q-1.15.4-2.3.65t-2.35.25q-4.85 0-8.25-3.375-3.4-3.375-3.4-8.225 0-1.55.4-3.025.4-1.475 1.15-2.775l7.25 7.25 4.6-4.3L12 7.6q1.3-.75 2.75-1.175Q16.2 6 17.7 6q4.95 0 8.425 3.475Q29.6 12.95 29.6 17.9q0 1.2-.25 2.35-.25 1.15-.65 2.3l12.95 12.9q.55.55.55 1.325 0 .775-.55 1.325l-3.8 3.5q-.55.55-1.3.55t-1.3-.55Z' />\r\n\t\t</svg>`,\r\n\t\"feedback\": `\r\n\t\t<svg viewBox='0 0 48 48' fill='currentColor'>\r\n\t\t\t<path d='M20.25 28H36v-3H23.25ZM12 28h3.95l12.6-12.45q.3-.3.3-.75t-.3-.75l-2.75-2.5q-.25-.25-.625-.25t-.625.25L12 24.3ZM4 44V7q0-1.15.9-2.075Q5.8 4 7 4h34q1.15 0 2.075.925Q44 5.85 44 7v26q0 1.15-.925 2.075Q42.15 36 41 36H12Z' />\r\n\t\t</svg>`,\r\n  'play-big':\r\n    '<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\"><polygon fill=\"#000\" stroke=\"#000\" points=\"13,10 29,20 13,30\"/></svg>',\r\n  \"bag\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M7.5,7.5V4A2.48,2.48,0,0,1,10,1.5,2.54,2.54,0,0,1,12.5,4V7.5\\\"/><polygon fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"16.5 7.5 3.5 7.5 2.5 18.5 17.5 18.5 16.5 7.5\\\"/></svg>\",\r\n  \"ban\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"9\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" x1=\\\"4\\\" y1=\\\"3.5\\\" x2=\\\"16\\\" y2=\\\"16.5\\\"/></svg>\",\r\n  \"behance\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M9.5,10.6c-0.4-0.5-0.9-0.9-1.6-1.1c1.7-1,2.2-3.2,0.7-4.7C7.8,4,6.3,4,5.2,4C3.5,4,1.7,4,0,4v12c1.7,0,3.4,0,5.2,0 c1,0,2.1,0,3.1-0.5C10.2,14.6,10.5,12.3,9.5,10.6L9.5,10.6z M5.6,6.1c1.8,0,1.8,2.7-0.1,2.7c-1,0-2,0-2.9,0V6.1H5.6z M2.6,13.8v-3.1 c1.1,0,2.1,0,3.2,0c2.1,0,2.1,3.2,0.1,3.2L2.6,13.8z\\\"/><path d=\\\"M19.9,10.9C19.7,9.2,18.7,7.6,17,7c-4.2-1.3-7.3,3.4-5.3,7.1c0.9,1.7,2.8,2.3,4.7,2.1c1.7-0.2,2.9-1.3,3.4-2.9h-2.2 c-0.4,1.3-2.4,1.5-3.5,0.6c-0.4-0.4-0.6-1.1-0.6-1.7H20C20,11.7,19.9,10.9,19.9,10.9z M13.5,10.6c0-1.6,2.3-2.7,3.5-1.4 c0.4,0.4,0.5,0.9,0.6,1.4H13.5L13.5,10.6z\\\"/><rect x=\\\"13\\\" y=\\\"4\\\" width=\\\"5\\\" height=\\\"1.4\\\"/></svg>\",\r\n  \"bell\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M17,15.5 L3,15.5 C2.99,14.61 3.79,13.34 4.1,12.51 C4.58,11.3 4.72,10.35 5.19,7.01 C5.54,4.53 5.89,3.2 7.28,2.16 C8.13,1.56 9.37,1.5 9.81,1.5 L9.96,1.5 C9.96,1.5 11.62,1.41 12.67,2.17 C14.08,3.2 14.42,4.54 14.77,7.02 C15.26,10.35 15.4,11.31 15.87,12.52 C16.2,13.34 17.01,14.61 17,15.5 L17,15.5 Z\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M12.39,16 C12.39,17.37 11.35,18.43 9.91,18.43 C8.48,18.43 7.42,17.37 7.42,16\\\"/></svg>\",\r\n  \"bold\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M5,15.3 C5.66,15.3 5.9,15 5.9,14.53 L5.9,5.5 C5.9,4.92 5.56,4.7 5,4.7 L5,4 L8.95,4 C12.6,4 13.7,5.37 13.7,6.9 C13.7,7.87 13.14,9.17 10.86,9.59 L10.86,9.7 C13.25,9.86 14.29,11.28 14.3,12.54 C14.3,14.47 12.94,16 9,16 L5,16 L5,15.3 Z M9,9.3 C11.19,9.3 11.8,8.5 11.85,7 C11.85,5.65 11.3,4.8 9,4.8 L7.67,4.8 L7.67,9.3 L9,9.3 Z M9.185,15.22 C11.97,15 12.39,14 12.4,12.58 C12.4,11.15 11.39,10 9,10 L7.67,10 L7.67,15 L9.18,15 Z\\\"/></svg>\",\r\n  \"bolt\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M4.74,20 L7.73,12 L3,12 L15.43,1 L12.32,9 L17.02,9 L4.74,20 L4.74,20 L4.74,20 Z M9.18,11 L7.1,16.39 L14.47,10 L10.86,10 L12.99,4.67 L5.61,11 L9.18,11 L9.18,11 L9.18,11 Z\\\"/></svg>\",\r\n  \"bookmark\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"5.5 1.5 15.5 1.5 15.5 17.5 10.5 12.5 5.5 17.5\\\"/></svg>\",\r\n  \"calendar\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M 2,3 2,17 18,17 18,3 2,3 Z M 17,16 3,16 3,8 17,8 17,16 Z M 17,7 3,7 3,4 17,4 17,7 Z\\\"/><rect width=\\\"1\\\" height=\\\"3\\\" x=\\\"6\\\" y=\\\"2\\\"/><rect width=\\\"1\\\" height=\\\"3\\\" x=\\\"13\\\" y=\\\"2\\\"/></svg>\",\r\n  \"camera\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"10\\\" cy=\\\"10.8\\\" r=\\\"3.8\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M1,4.5 C0.7,4.5 0.5,4.7 0.5,5 L0.5,17 C0.5,17.3 0.7,17.5 1,17.5 L19,17.5 C19.3,17.5 19.5,17.3 19.5,17 L19.5,5 C19.5,4.7 19.3,4.5 19,4.5 L13.5,4.5 L13.5,2.9 C13.5,2.6 13.3,2.5 13,2.5 L7,2.5 C6.7,2.5 6.5,2.6 6.5,2.9 L6.5,4.5 L1,4.5 L1,4.5 Z\\\"/></svg>\",\r\n  \"cart\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle cx=\\\"7.3\\\" cy=\\\"17.3\\\" r=\\\"1.4\\\"/><circle cx=\\\"13.3\\\" cy=\\\"17.3\\\" r=\\\"1.4\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"0 2 3.2 4 5.3 12.5 16 12.5 18 6.5 8 6.5\\\"/></svg>\",\r\n  \"check\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" points=\\\"4,10 8,15 17,4\\\"/></svg>\",\r\n  \"chevron-double-left\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.03\\\" points=\\\"10 14 6 10 10 6\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.03\\\" points=\\\"14 14 10 10 14 6\\\"/></svg>\",\r\n  \"chevron-double-right\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.03\\\" points=\\\"10 6 14 10 10 14\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.03\\\" points=\\\"6 6 10 10 6 14\\\"/></svg>\",\r\n  \"chevron-down\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.03\\\" points=\\\"16 7 10 13 4 7\\\"/></svg>\",\r\n  \"chevron-left\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.03\\\" points=\\\"13 16 7 10 13 4\\\"/></svg>\",\r\n  \"chevron-right\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.03\\\" points=\\\"7 4 13 10 7 16\\\"/></svg>\",\r\n  \"chevron-right-thin\": '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"8 6 5 9\" style=\" \"> <path d=\"M12.79 10.18C12.79 10.24 12.78 10.29 12.76 10.35C12.73 10.4 12.64 10.5 12.64 10.5H12.63L8.76 14.23C8.72 14.27 8.67 14.3 8.62 14.32C8.57 14.34 8.51 14.36 8.45 14.36C8.39 14.36 8.34 14.34 8.28 14.32C8.23 14.3 8.18 14.27 8.14 14.23C8.1 14.19 8.06 14.14 8.04 14.09C8.02 14.04 8.01 13.98 8.01 13.92C8.01 13.86 8.02 13.81 8.04 13.75C8.06 13.7 8.1 13.65 8.14 13.61L11.71 10.18L8.14 6.74C8.05 6.66 8 6.55 8 6.43C8 6.32 8.05 6.21 8.14 6.13C8.22 6.04 8.33 6 8.45 6C8.57 6 8.68 6.04 8.76 6.12L12.63 9.85C12.63 9.85 12.73 9.96 12.76 10.01C12.78 10.06 12.79 10.12 12.79 10.18Z\" fill=\"currentColor\"></path> </svg>',\r\n  \"chevron-left-thin\": '<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M12 6L8 10L12 14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/> </svg>',\r\n  \"chevron-up\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.03\\\" points=\\\"4 13 10 7 16 13\\\"/></svg>\",\r\n  \"clock\": '<svg width=\"20\" height=\"20\" fill=\"inherit\" viewBox=\"0 0 20 20\" ><path d=\"M10 2c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm-.6 3.1V10c0 .2.1.3.2.4l3.7 3.7c.2.2.6.2.9 0 .2-.2.2-.6 0-.9l-3.5-3.5V5a.65.65 0 0 0-.6-.6c-.4.1-.7.3-.7.7z\" fill-rule=\"evenodd\" /></svg>',\r\n  \"close\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.06\\\" d=\\\"M16,16 L4,4\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.06\\\" d=\\\"M16,4 L4,16\\\"/></svg>\",\r\n  \"cloud-download\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M6.5,14.61 L3.75,14.61 C1.96,14.61 0.5,13.17 0.5,11.39 C0.5,9.76 1.72,8.41 3.3,8.2 C3.38,5.31 5.75,3 8.68,3 C11.19,3 13.31,4.71 13.89,7.02 C14.39,6.8 14.93,6.68 15.5,6.68 C17.71,6.68 19.5,8.45 19.5,10.64 C19.5,12.83 17.71,14.6 15.5,14.6 L12.5,14.6\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"11.75 16 9.5 18.25 7.25 16\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M9.5,18 L9.5,9.5\\\"/></svg>\",\r\n  \"cloud-upload\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M6.5,14.61 L3.75,14.61 C1.96,14.61 0.5,13.17 0.5,11.39 C0.5,9.76 1.72,8.41 3.31,8.2 C3.38,5.31 5.75,3 8.68,3 C11.19,3 13.31,4.71 13.89,7.02 C14.39,6.8 14.93,6.68 15.5,6.68 C17.71,6.68 19.5,8.45 19.5,10.64 C19.5,12.83 17.71,14.6 15.5,14.6 L12.5,14.6\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"7.25 11.75 9.5 9.5 11.75 11.75\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M9.5,18 L9.5,9.5\\\"/></svg>\",\r\n  \"code\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.01\\\" points=\\\"13,4 19,10 13,16\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.01\\\" points=\\\"7,4 1,10 7,16\\\"/></svg>\",\r\n  \"cog\": \"<svg width=\\\"30\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"9.997\\\" cy=\\\"10\\\" r=\\\"3.31\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M18.488,12.285 L16.205,16.237 C15.322,15.496 14.185,15.281 13.303,15.791 C12.428,16.289 12.047,17.373 12.246,18.5 L7.735,18.5 C7.938,17.374 7.553,16.299 6.684,15.791 C5.801,15.27 4.655,15.492 3.773,16.237 L1.5,12.285 C2.573,11.871 3.317,10.999 3.317,9.991 C3.305,8.98 2.573,8.121 1.5,7.716 L3.765,3.784 C4.645,4.516 5.794,4.738 6.687,4.232 C7.555,3.722 7.939,2.637 7.735,1.5 L12.263,1.5 C12.072,2.637 12.441,3.71 13.314,4.22 C14.206,4.73 15.343,4.516 16.225,3.794 L18.487,7.714 C17.404,8.117 16.661,8.988 16.67,10.009 C16.672,11.018 17.415,11.88 18.488,12.285 L18.488,12.285 Z\\\"/></svg>\",\r\n  \"comment\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M6,18.71 L6,14 L1,14 L1,1 L19,1 L19,14 L10.71,14 L6,18.71 L6,18.71 Z M2,13 L7,13 L7,16.29 L10.29,13 L18,13 L18,2 L2,2 L2,13 L2,13 Z\\\"/></svg>\",\r\n  \"commenting\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"1.5,1.5 18.5,1.5 18.5,13.5 10.5,13.5 6.5,17.5 6.5,13.5 1.5,13.5\\\"/><circle cx=\\\"10\\\" cy=\\\"8\\\" r=\\\"1\\\"/><circle cx=\\\"6\\\" cy=\\\"8\\\" r=\\\"1\\\"/><circle cx=\\\"14\\\" cy=\\\"8\\\" r=\\\"1\\\"/></svg>\",\r\n  \"comments\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"2 0.5 19.5 0.5 19.5 13\\\"/><path d=\\\"M5,19.71 L5,15 L0,15 L0,2 L18,2 L18,15 L9.71,15 L5,19.71 L5,19.71 L5,19.71 Z M1,14 L6,14 L6,17.29 L9.29,14 L17,14 L17,3 L1,3 L1,14 L1,14 L1,14 Z\\\"/></svg>\",\r\n  \"copy\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"3.5\\\" y=\\\"2.5\\\" width=\\\"12\\\" height=\\\"16\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"5 0.5 17.5 0.5 17.5 17\\\"/></svg>\",\r\n  \"credit-card\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"1.5\\\" y=\\\"4.5\\\" width=\\\"17\\\" height=\\\"12\\\"/><rect x=\\\"1\\\" y=\\\"7\\\" width=\\\"18\\\" height=\\\"3\\\"/></svg>\",\r\n  \"database\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><ellipse fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"10\\\" cy=\\\"4.64\\\" rx=\\\"7.5\\\" ry=\\\"3.14\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M17.5,8.11 C17.5,9.85 14.14,11.25 10,11.25 C5.86,11.25 2.5,9.84 2.5,8.11\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M17.5,11.25 C17.5,12.99 14.14,14.39 10,14.39 C5.86,14.39 2.5,12.98 2.5,11.25\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M17.49,4.64 L17.5,14.36 C17.5,16.1 14.14,17.5 10,17.5 C5.86,17.5 2.5,16.09 2.5,14.36 L2.5,4.64\\\"/></svg>\",\r\n  \"desktop\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"8\\\" y=\\\"15\\\" width=\\\"1\\\" height=\\\"2\\\"/><rect x=\\\"11\\\" y=\\\"15\\\" width=\\\"1\\\" height=\\\"2\\\"/><rect x=\\\"5\\\" y=\\\"16\\\" width=\\\"10\\\" height=\\\"1\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"1.5\\\" y=\\\"3.5\\\" width=\\\"17\\\" height=\\\"11\\\"/></svg>\",\r\n  \"discord\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M16.074,4.361a14.243,14.243,0,0,0-3.61-1.134,10.61,10.61,0,0,0-.463.96,13.219,13.219,0,0,0-4,0,10.138,10.138,0,0,0-.468-.96A14.206,14.206,0,0,0,3.919,4.364,15.146,15.146,0,0,0,1.324,14.5a14.435,14.435,0,0,0,4.428,2.269A10.982,10.982,0,0,0,6.7,15.21a9.294,9.294,0,0,1-1.494-.727c.125-.093.248-.19.366-.289a10.212,10.212,0,0,0,8.854,0c.119.1.242.2.366.289a9.274,9.274,0,0,1-1.5.728,10.8,10.8,0,0,0,.948,1.562,14.419,14.419,0,0,0,4.431-2.27A15.128,15.128,0,0,0,16.074,4.361Zm-8.981,8.1a1.7,1.7,0,0,1-1.573-1.79A1.689,1.689,0,0,1,7.093,8.881a1.679,1.679,0,0,1,1.573,1.791A1.687,1.687,0,0,1,7.093,12.462Zm5.814,0a1.7,1.7,0,0,1-1.573-1.79,1.689,1.689,0,0,1,1.573-1.791,1.679,1.679,0,0,1,1.573,1.791A1.688,1.688,0,0,1,12.907,12.462Z\\\"/></svg>\",\r\n  \"download\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"14,10 9.5,14.5 5,10\\\"/><rect x=\\\"3\\\" y=\\\"17\\\" width=\\\"13\\\" height=\\\"1\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"9.5\\\" y1=\\\"13.91\\\" x2=\\\"9.5\\\" y2=\\\"3\\\"/></svg>\",\r\n  \"dribbble\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.4\\\" d=\\\"M1.3,8.9c0,0,5,0.1,8.6-1c1.4-0.4,2.6-0.9,4-1.9 c1.4-1.1,2.5-2.5,2.5-2.5\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.4\\\" d=\\\"M3.9,16.6c0,0,1.7-2.8,3.5-4.2 c1.8-1.3,4-2,5.7-2.2C16,10,19,10.6,19,10.6\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.4\\\" d=\\\"M6.9,1.6c0,0,3.3,4.6,4.2,6.8 c0.4,0.9,1.3,3.1,1.9,5.2c0.6,2,0.9,4.4,0.9,4.4\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.4\\\" cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"9\\\"/></svg>\",\r\n  \"etsy\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M8,4.26C8,4.07,8,4,8.31,4h4.46c.79,0,1.22.67,1.53,1.91l.25,1h.76c.14-2.82.26-4,.26-4S13.65,3,12.52,3H6.81L3.75,2.92v.84l1,.2c.73.11.9.27,1,1,0,0,.06,2,.06,5.17s-.06,5.14-.06,5.14c0,.59-.23.81-1,.94l-1,.2v.84l3.06-.1h5.11c1.15,0,3.82.1,3.82.1,0-.7.45-3.88.51-4.22h-.73l-.76,1.69a2.25,2.25,0,0,1-2.45,1.47H9.4c-1,0-1.44-.4-1.44-1.24V10.44s2.16,0,2.86.06c.55,0,.85.19,1.06,1l.23,1H13L12.9,9.94,13,7.41h-.85l-.28,1.13c-.16.74-.28.84-1,1-1,.1-2.89.09-2.89.09Z\\\"/></svg>\",\r\n  \"expand\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"13 2 18 2 18 7 17 7 17 3 13 3\\\"/><polygon points=\\\"2 13 3 13 3 17 7 17 7 18 2 18\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M11,9 L17,3\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M3,17 L9,11\\\"/></svg>\",\r\n  \"facebook\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M11,10h2.6l0.4-3H11V5.3c0-0.9,0.2-1.5,1.5-1.5H14V1.1c-0.3,0-1-0.1-2.1-0.1C9.6,1,8,2.4,8,5v2H5.5v3H8v8h3V10z\\\"/></svg>\",\r\n  \"file-edit\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M18.65,1.68 C18.41,1.45 18.109,1.33 17.81,1.33 C17.499,1.33 17.209,1.45 16.98,1.68 L8.92,9.76 L8,12.33 L10.55,11.41 L18.651,3.34 C19.12,2.87 19.12,2.15 18.65,1.68 L18.65,1.68 L18.65,1.68 Z\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"16.5 8.482 16.5 18.5 3.5 18.5 3.5 1.5 14.211 1.5\\\"/></svg>\",\r\n  \"file-pdf\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect fill=\\\"none\\\" stroke=\\\"#000\\\" width=\\\"13\\\" height=\\\"17\\\" x=\\\"3.5\\\" y=\\\"1.5\\\"/><path d=\\\"M14.65 11.67c-.48.3-1.37-.19-1.79-.37a4.65 4.65 0 0 1 1.49.06c.35.1.36.28.3.31zm-6.3.06l.43-.79a14.7 14.7 0 0 0 .75-1.64 5.48 5.48 0 0 0 1.25 1.55l.2.15a16.36 16.36 0 0 0-2.63.73zM9.5 5.32c.2 0 .32.5.32.97a1.99 1.99 0 0 1-.23 1.04 5.05 5.05 0 0 1-.17-1.3s0-.71.08-.71zm-3.9 9a4.35 4.35 0 0 1 1.21-1.46l.24-.22a4.35 4.35 0 0 1-1.46 1.68zm9.23-3.3a2.05 2.05 0 0 0-1.32-.3 11.07 11.07 0 0 0-1.58.11 4.09 4.09 0 0 1-.74-.5 5.39 5.39 0 0 1-1.32-2.06 10.37 10.37 0 0 0 .28-2.62 1.83 1.83 0 0 0-.07-.25.57.57 0 0 0-.52-.4H9.4a.59.59 0 0 0-.6.38 6.95 6.95 0 0 0 .37 3.14c-.26.63-1 2.12-1 2.12-.3.58-.57 1.08-.82 1.5l-.8.44A3.11 3.11 0 0 0 5 14.16a.39.39 0 0 0 .15.42l.24.13c1.15.56 2.28-1.74 2.66-2.42a23.1 23.1 0 0 1 3.59-.85 4.56 4.56 0 0 0 2.91.8.5.5 0 0 0 .3-.21 1.1 1.1 0 0 0 .12-.75.84.84 0 0 0-.14-.25z\\\"/></svg>\",\r\n  \"file-text\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect fill=\\\"none\\\" stroke=\\\"#000\\\" width=\\\"13\\\" height=\\\"17\\\" x=\\\"3.5\\\" y=\\\"1.5\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"6\\\" x2=\\\"12\\\" y1=\\\"12.5\\\" y2=\\\"12.5\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"6\\\" x2=\\\"14\\\" y1=\\\"8.5\\\" y2=\\\"8.5\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"6\\\" x2=\\\"14\\\" y1=\\\"6.5\\\" y2=\\\"6.5\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"6\\\" x2=\\\"14\\\" y1=\\\"10.5\\\" y2=\\\"10.5\\\"/></svg>\",\r\n  \"file\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"3.5\\\" y=\\\"1.5\\\" width=\\\"13\\\" height=\\\"17\\\"/></svg>\",\r\n  \"flickr\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle cx=\\\"5.5\\\" cy=\\\"9.5\\\" r=\\\"3.5\\\"/><circle cx=\\\"14.5\\\" cy=\\\"9.5\\\" r=\\\"3.5\\\"/></svg>\",\r\n  \"folder\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"9.5 5.5 8.5 3.5 1.5 3.5 1.5 16.5 18.5 16.5 18.5 5.5\\\"/></svg>\",\r\n  \"forward\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M2.47,13.11 C4.02,10.02 6.27,7.85 9.04,6.61 C9.48,6.41 10.27,6.13 11,5.91 L11,2 L18.89,9 L11,16 L11,12.13 C9.25,12.47 7.58,13.19 6.02,14.25 C3.03,16.28 1.63,18.54 1.63,18.54 C1.63,18.54 1.38,15.28 2.47,13.11 L2.47,13.11 Z M5.3,13.53 C6.92,12.4 9.04,11.4 12,10.92 L12,13.63 L17.36,9 L12,4.25 L12,6.8 C11.71,6.86 10.86,7.02 9.67,7.49 C6.79,8.65 4.58,10.96 3.49,13.08 C3.18,13.7 2.68,14.87 2.49,16 C3.28,15.05 4.4,14.15 5.3,13.53 L5.3,13.53 Z\\\"/></svg>\",\r\n  \"foursquare\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M15.23,2 C15.96,2 16.4,2.41 16.5,2.86 C16.57,3.15 16.56,3.44 16.51,3.73 C16.46,4.04 14.86,11.72 14.75,12.03 C14.56,12.56 14.16,12.82 13.61,12.83 C13.03,12.84 11.09,12.51 10.69,13 C10.38,13.38 7.79,16.39 6.81,17.53 C6.61,17.76 6.4,17.96 6.08,17.99 C5.68,18.04 5.29,17.87 5.17,17.45 C5.12,17.28 5.1,17.09 5.1,16.91 C5.1,12.4 4.86,7.81 5.11,3.31 C5.17,2.5 5.81,2.12 6.53,2 L15.23,2 L15.23,2 Z M9.76,11.42 C9.94,11.19 10.17,11.1 10.45,11.1 L12.86,11.1 C13.12,11.1 13.31,10.94 13.36,10.69 C13.37,10.64 13.62,9.41 13.74,8.83 C13.81,8.52 13.53,8.28 13.27,8.28 C12.35,8.29 11.42,8.28 10.5,8.28 C9.84,8.28 9.83,7.69 9.82,7.21 C9.8,6.85 10.13,6.55 10.5,6.55 C11.59,6.56 12.67,6.55 13.76,6.55 C14.03,6.55 14.23,6.4 14.28,6.14 C14.34,5.87 14.67,4.29 14.67,4.29 C14.67,4.29 14.82,3.74 14.19,3.74 L7.34,3.74 C7,3.75 6.84,4.02 6.84,4.33 C6.84,7.58 6.85,14.95 6.85,14.99 C6.87,15 8.89,12.51 9.76,11.42 L9.76,11.42 Z\\\"/></svg>\",\r\n  \"future\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline points=\\\"19 2 18 2 18 6 14 6 14 7 19 7 19 2\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M18,6.548 C16.709,3.29 13.354,1 9.6,1 C4.6,1 0.6,5 0.6,10 C0.6,15 4.6,19 9.6,19 C14.6,19 18.6,15 18.6,10\\\"/><rect x=\\\"9\\\" y=\\\"4\\\" width=\\\"1\\\" height=\\\"7\\\"/><path d=\\\"M13.018,14.197 L9.445,10.625\\\" fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\"/></svg>\",\r\n  \"git-branch\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.2\\\" cx=\\\"7\\\" cy=\\\"3\\\" r=\\\"2\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.2\\\" cx=\\\"14\\\" cy=\\\"6\\\" r=\\\"2\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.2\\\" cx=\\\"7\\\" cy=\\\"17\\\" r=\\\"2\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M14,8 C14,10.41 12.43,10.87 10.56,11.25 C9.09,11.54 7,12.06 7,15 L7,5\\\"/></svg>\",\r\n  \"git-fork\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.2\\\" cx=\\\"5.79\\\" cy=\\\"2.79\\\" r=\\\"1.79\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.2\\\" cx=\\\"14.19\\\" cy=\\\"2.79\\\" r=\\\"1.79\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.2\\\" cx=\\\"10.03\\\" cy=\\\"16.79\\\" r=\\\"1.79\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"2\\\" d=\\\"M5.79,4.57 L5.79,6.56 C5.79,9.19 10.03,10.22 10.03,13.31 C10.03,14.86 10.04,14.55 10.04,14.55 C10.04,14.37 10.04,14.86 10.04,13.31 C10.04,10.22 14.2,9.19 14.2,6.56 L14.2,4.57\\\"/></svg>\",\r\n  \"github-alt\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M10,0.5 C4.75,0.5 0.5,4.76 0.5,10.01 C0.5,15.26 4.75,19.51 10,19.51 C15.24,19.51 19.5,15.26 19.5,10.01 C19.5,4.76 15.25,0.5 10,0.5 L10,0.5 Z M12.81,17.69 C12.81,17.69 12.81,17.7 12.79,17.69 C12.47,17.75 12.35,17.59 12.35,17.36 L12.35,16.17 C12.35,15.45 12.09,14.92 11.58,14.56 C12.2,14.51 12.77,14.39 13.26,14.21 C13.87,13.98 14.36,13.69 14.74,13.29 C15.42,12.59 15.76,11.55 15.76,10.17 C15.76,9.25 15.45,8.46 14.83,7.8 C15.1,7.08 15.07,6.29 14.75,5.44 L14.51,5.42 C14.34,5.4 14.06,5.46 13.67,5.61 C13.25,5.78 12.79,6.03 12.31,6.35 C11.55,6.16 10.81,6.05 10.09,6.05 C9.36,6.05 8.61,6.15 7.88,6.35 C7.28,5.96 6.75,5.68 6.26,5.54 C6.07,5.47 5.9,5.44 5.78,5.44 L5.42,5.44 C5.06,6.29 5.04,7.08 5.32,7.8 C4.7,8.46 4.4,9.25 4.4,10.17 C4.4,11.94 4.96,13.16 6.08,13.84 C6.53,14.13 7.05,14.32 7.69,14.43 C8.03,14.5 8.32,14.54 8.55,14.55 C8.07,14.89 7.82,15.42 7.82,16.16 L7.82,17.51 C7.8,17.69 7.7,17.8 7.51,17.8 C4.21,16.74 1.82,13.65 1.82,10.01 C1.82,5.5 5.49,1.83 10,1.83 C14.5,1.83 18.17,5.5 18.17,10.01 C18.18,13.53 15.94,16.54 12.81,17.69 L12.81,17.69 Z\\\"/></svg>\",\r\n  \"github\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M10,1 C5.03,1 1,5.03 1,10 C1,13.98 3.58,17.35 7.16,18.54 C7.61,18.62 7.77,18.34 7.77,18.11 C7.77,17.9 7.76,17.33 7.76,16.58 C5.26,17.12 4.73,15.37 4.73,15.37 C4.32,14.33 3.73,14.05 3.73,14.05 C2.91,13.5 3.79,13.5 3.79,13.5 C4.69,13.56 5.17,14.43 5.17,14.43 C5.97,15.8 7.28,15.41 7.79,15.18 C7.87,14.6 8.1,14.2 8.36,13.98 C6.36,13.75 4.26,12.98 4.26,9.53 C4.26,8.55 4.61,7.74 5.19,7.11 C5.1,6.88 4.79,5.97 5.28,4.73 C5.28,4.73 6.04,4.49 7.75,5.65 C8.47,5.45 9.24,5.35 10,5.35 C10.76,5.35 11.53,5.45 12.25,5.65 C13.97,4.48 14.72,4.73 14.72,4.73 C15.21,5.97 14.9,6.88 14.81,7.11 C15.39,7.74 15.73,8.54 15.73,9.53 C15.73,12.99 13.63,13.75 11.62,13.97 C11.94,14.25 12.23,14.8 12.23,15.64 C12.23,16.84 12.22,17.81 12.22,18.11 C12.22,18.35 12.38,18.63 12.84,18.54 C16.42,17.35 19,13.98 19,10 C19,5.03 14.97,1 10,1 L10,1 Z\\\"/></svg>\",\r\n  \"gitter\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"3.5\\\" y=\\\"1\\\" width=\\\"1.531\\\" height=\\\"11.471\\\"/><rect x=\\\"7.324\\\" y=\\\"4.059\\\" width=\\\"1.529\\\" height=\\\"15.294\\\"/><rect x=\\\"11.148\\\" y=\\\"4.059\\\" width=\\\"1.527\\\" height=\\\"15.294\\\"/><rect x=\\\"14.971\\\" y=\\\"4.059\\\" width=\\\"1.529\\\" height=\\\"8.412\\\"/></svg>\",\r\n  \"google\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M17.86,9.09 C18.46,12.12 17.14,16.05 13.81,17.56 C9.45,19.53 4.13,17.68 2.47,12.87 C0.68,7.68 4.22,2.42 9.5,2.03 C11.57,1.88 13.42,2.37 15.05,3.65 C15.22,3.78 15.37,3.93 15.61,4.14 C14.9,4.81 14.23,5.45 13.5,6.14 C12.27,5.08 10.84,4.72 9.28,4.98 C8.12,5.17 7.16,5.76 6.37,6.63 C4.88,8.27 4.62,10.86 5.76,12.82 C6.95,14.87 9.17,15.8 11.57,15.25 C13.27,14.87 14.76,13.33 14.89,11.75 L10.51,11.75 L10.51,9.09 L17.86,9.09 L17.86,9.09 Z\\\"/></svg>\",\r\n  \"grid\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"8\\\" y=\\\"2\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"14\\\" y=\\\"2\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"2\\\" y=\\\"8\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"8\\\" y=\\\"8\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"14\\\" y=\\\"8\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"2\\\" y=\\\"14\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"8\\\" y=\\\"14\\\" width=\\\"3\\\" height=\\\"3\\\"/><rect x=\\\"14\\\" y=\\\"14\\\" width=\\\"3\\\" height=\\\"3\\\"/></svg>\",\r\n  \"happy\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle cx=\\\"13\\\" cy=\\\"7\\\" r=\\\"1\\\"/><circle cx=\\\"7\\\" cy=\\\"7\\\" r=\\\"1\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"8.5\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M14.6,11.4 C13.9,13.3 12.1,14.5 10,14.5 C7.9,14.5 6.1,13.3 5.4,11.4\\\"/></svg>\",\r\n  \"hashtag\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M15.431,8 L15.661,7 L12.911,7 L13.831,3 L12.901,3 L11.98,7 L9.29,7 L10.21,3 L9.281,3 L8.361,7 L5.23,7 L5,8 L8.13,8 L7.21,12 L4.23,12 L4,13 L6.98,13 L6.061,17 L6.991,17 L7.911,13 L10.601,13 L9.681,17 L10.611,17 L11.531,13 L14.431,13 L14.661,12 L11.76,12 L12.681,8 L15.431,8 Z M10.831,12 L8.141,12 L9.061,8 L11.75,8 L10.831,12 Z\\\"/></svg>\",\r\n  \"heart\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.03\\\" d=\\\"M10,4 C10,4 8.1,2 5.74,2 C3.38,2 1,3.55 1,6.73 C1,8.84 2.67,10.44 2.67,10.44 L10,18 L17.33,10.44 C17.33,10.44 19,8.84 19,6.73 C19,3.55 16.62,2 14.26,2 C11.9,2 10,4 10,4 L10,4 Z\\\"/></svg>\",\r\n  \"history\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"#000\\\" points=\\\"1 2 2 2 2 6 6 6 6 7 1 7 1 2\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M2.1,6.548 C3.391,3.29 6.746,1 10.5,1 C15.5,1 19.5,5 19.5,10 C19.5,15 15.5,19 10.5,19 C5.5,19 1.5,15 1.5,10\\\"/><rect x=\\\"9\\\" y=\\\"4\\\" width=\\\"1\\\" height=\\\"7\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M13.018,14.197 L9.445,10.625\\\"/></svg>\",\r\n  \"home\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"18.65 11.35 10 2.71 1.35 11.35 0.65 10.65 10 1.29 19.35 10.65\\\"/><polygon points=\\\"15 4 18 4 18 7 17 7 17 5 15 5\\\"/><polygon points=\\\"3 11 4 11 4 18 7 18 7 12 12 12 12 18 16 18 16 11 17 11 17 19 11 19 11 13 8 13 8 19 3 19\\\"/></svg>\",\r\n  \"image\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle cx=\\\"16.1\\\" cy=\\\"6.1\\\" r=\\\"1.1\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\".5\\\" y=\\\"2.5\\\" width=\\\"19\\\" height=\\\"15\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.01\\\" points=\\\"4,13 8,9 13,14\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.01\\\" points=\\\"11,12 12.5,10.5 16,14\\\"/></svg>\",\r\n  \"info\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M12.13,11.59 C11.97,12.84 10.35,14.12 9.1,14.16 C6.17,14.2 9.89,9.46 8.74,8.37 C9.3,8.16 10.62,7.83 10.62,8.81 C10.62,9.63 10.12,10.55 9.88,11.32 C8.66,15.16 12.13,11.15 12.14,11.18 C12.16,11.21 12.16,11.35 12.13,11.59 C12.08,11.95 12.16,11.35 12.13,11.59 L12.13,11.59 Z M11.56,5.67 C11.56,6.67 9.36,7.15 9.36,6.03 C9.36,5 11.56,4.54 11.56,5.67 L11.56,5.67 Z\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"9\\\"/></svg>\",\r\n  \"instagram\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M13.55,1H6.46C3.45,1,1,3.44,1,6.44v7.12c0,3,2.45,5.44,5.46,5.44h7.08c3.02,0,5.46-2.44,5.46-5.44V6.44 C19.01,3.44,16.56,1,13.55,1z M17.5,14c0,1.93-1.57,3.5-3.5,3.5H6c-1.93,0-3.5-1.57-3.5-3.5V6c0-1.93,1.57-3.5,3.5-3.5h8 c1.93,0,3.5,1.57,3.5,3.5V14z\\\"/><circle cx=\\\"14.87\\\" cy=\\\"5.26\\\" r=\\\"1.09\\\"/><path d=\\\"M10.03,5.45c-2.55,0-4.63,2.06-4.63,4.6c0,2.55,2.07,4.61,4.63,4.61c2.56,0,4.63-2.061,4.63-4.61 C14.65,7.51,12.58,5.45,10.03,5.45L10.03,5.45L10.03,5.45z M10.08,13c-1.66,0-3-1.34-3-2.99c0-1.65,1.34-2.99,3-2.99s3,1.34,3,2.99 C13.08,11.66,11.74,13,10.08,13L10.08,13L10.08,13z\\\"/></svg>\",\r\n  \"open-fullscreen\": `<svg viewBox=\"0 0 48 48\" fill=\"currentColor\"> <path d=\"M10 38v-9.65h3V35h6.65v3Zm0-18.35V10h9.65v3H13v6.65ZM28.35 38v-3H35v-6.65h3V38ZM35 19.65V13h-6.65v-3H38v9.65Z\"></path> </svg>`,\r\n  \"close-fullscreen\": `<svg viewBox=\"0 0 48 48\" fill=\"currentColor\"> <path d=\"M16.65 38v-6.65H10v-3h9.65V38Zm11.7 0v-9.65H38v3h-6.65V38ZM10 19.65v-3h6.65V10h3v9.65Zm18.35 0V10h3v6.65H38v3Z\"></path> </svg>`,\r\n  'part-info': `<svg viewBox=\"0 0 48 48\" fill=\"currentColor\">\r\n\t\t\t<path d=\"M22.65 34h3V22h-3ZM24 18.3q.7 0 1.175-.45.475-.45.475-1.15t-.475-1.2Q24.7 15 24 15q-.7 0-1.175.5-.475.5-.475 1.2t.475 1.15q.475.45 1.175.45ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Z\"></path>\r\n\t\t</svg>`,\r\n  \"part-gallery\": `<svg viewBox=\"0 0 48 48\" fill=\"currentColor\">\r\n\t\t\t<path d=\"M10 44q-2.5 0-4.25-1.75T4 38V10q0-2.5 1.75-4.25T10 4h28q2.5 0 4.25 1.75T44 10v28q0 2.5-1.75 4.25T38 44Zm0-3h28q1.3 0 2.15-.875Q41 39.25 41 38V10q0-1.3-.85-2.15Q39.3 7 38 7H10q-1.25 0-2.125.85T7 10v28q0 1.25.875 2.125T10 41Zm3.2-5.5 6.8-6.8 3.65 3.6L28 26.8l6.95 8.7Zm2.8-16q-1.45 0-2.475-1.025Q12.5 17.45 12.5 16q0-1.45 1.025-2.475Q14.55 12.5 16 12.5q1.45 0 2.475 1.025Q19.5 14.55 19.5 16q0 1.45-1.025 2.475Q17.45 19.5 16 19.5Z\"></path>\r\n\t\t</svg>`,\r\n  \"part-guide\": `<svg viewBox=\"0 0 48 48\" fill=\"currentColor\">\r\n\t\t\t<path d=\"M8.55 39q-1.05 0-1.8-.725T6 36.55q0-1.05.75-1.8t1.8-.75q1 0 1.725.75.725.75.725 1.8 0 1-.725 1.725Q9.55 39 8.55 39ZM16 38v-3h26v3ZM8.55 26.5q-1.05 0-1.8-.725T6 24q0-1.05.75-1.775.75-.725 1.8-.725 1 0 1.725.75Q11 23 11 24t-.725 1.75q-.725.75-1.725.75Zm7.45-1v-3h26v3ZM8.5 14q-1.05 0-1.775-.725Q6 12.55 6 11.5q0-1.05.725-1.775Q7.45 9 8.5 9q1.05 0 1.775.725Q11 10.45 11 11.5q0 1.05-.725 1.775Q9.55 14 8.5 14Zm7.5-1v-3h26v3Z\"></path>\r\n\t\t</svg>`,\r\n  \"part-install\": `<svg viewBox=\"0 0 48 48\" fill=\"currentColor\">\r\n\t\t\t<path d=\"M15.95 35.5h16.1v-3h-16.1Zm0-8.5h16.1v-3h-16.1ZM11 44q-1.2 0-2.1-.9Q8 42.2 8 41V7q0-1.2.9-2.1Q9.8 4 11 4h18.05L40 14.95V41q0 1.2-.9 2.1-.9.9-2.1.9Zm16.55-27.7H37L27.55 7Z\"></path>\r\n\t\t</svg>`,\r\n  \"rotate-icon\": `<svg viewBox=\"0 96 960 960\" fill=\"currentColor\"> <path d=\"M480 976q-82 0-155-31.5t-127.5-86Q143 804 111.5 731T80 576h60q0 127 84 223.5T436 913l-61-61 40-40 154 154q-22 7-44.208 8.5T480 976Zm29-272V447h126q18.7 0 31.35 12.65Q679 472.3 679 491v169q0 18.7-12.65 31.35Q653.7 704 635 704H509Zm-227 0v-49h120v-60h-77v-39h77v-59H282v-50h126q18.7 0 31.35 12.65Q452 472.3 452 491v169q0 18.7-12.65 31.35Q426.7 704 408 704H282Zm276-49h71V497h-71v158Zm262-79q0-128-83.5-224T525 239l60 60-40 40-154-154q22-7 44.208-8T480 176q82.638 0 155.319 31.5Q708 239 762.5 293.5t86 127.181Q880 493.362 880 576h-60Z\"></path> </svg>`,\r\n  \"italic\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M12.63,5.48 L10.15,14.52 C10,15.08 10.37,15.25 11.92,15.3 L11.72,16 L6,16 L6.2,15.31 C7.78,15.26 8.19,15.09 8.34,14.53 L10.82,5.49 C10.97,4.92 10.63,4.76 9.09,4.71 L9.28,4 L15,4 L14.81,4.69 C13.23,4.75 12.78,4.91 12.63,5.48 L12.63,5.48 Z\\\"/></svg>\",\r\n  \"joomla\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M7.8,13.4l1.7-1.7L5.9,8c-0.6-0.5-0.6-1.5,0-2c0.6-0.6,1.4-0.6,2,0l1.7-1.7c-1-1-2.3-1.3-3.6-1C5.8,2.2,4.8,1.4,3.7,1.4 c-1.3,0-2.3,1-2.3,2.3c0,1.1,0.8,2,1.8,2.3c-0.4,1.3-0.1,2.8,1,3.8L7.8,13.4L7.8,13.4z\\\"/><path d=\\\"M10.2,4.3c1-1,2.5-1.4,3.8-1c0.2-1.1,1.1-2,2.3-2c1.3,0,2.3,1,2.3,2.3c0,1.2-0.9,2.2-2,2.3c0.4,1.3,0,2.8-1,3.8L13.9,8 c0.6-0.5,0.6-1.5,0-2c-0.5-0.6-1.5-0.6-2,0L8.2,9.7L6.5,8\\\"/><path d=\\\"M14.1,16.8c-1.3,0.4-2.8,0.1-3.8-1l1.7-1.7c0.6,0.6,1.5,0.6,2,0c0.5-0.6,0.6-1.5,0-2l-3.7-3.7L12,6.7l3.7,3.7 c1,1,1.3,2.4,1,3.6c1.1,0.2,2,1.1,2,2.3c0,1.3-1,2.3-2.3,2.3C15.2,18.6,14.3,17.8,14.1,16.8\\\"/><path d=\\\"M13.2,12.2l-3.7,3.7c-1,1-2.4,1.3-3.6,1c-0.2,1-1.2,1.8-2.2,1.8c-1.3,0-2.3-1-2.3-2.3c0-1.1,0.8-2,1.8-2.3 c-0.3-1.3,0-2.7,1-3.7l1.7,1.7c-0.6,0.6-0.6,1.5,0,2c0.6,0.6,1.4,0.6,2,0l3.7-3.7\\\"/></svg>\",\r\n  \"laptop\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect y=\\\"16\\\" width=\\\"20\\\" height=\\\"1\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"2.5\\\" y=\\\"4.5\\\" width=\\\"15\\\" height=\\\"10\\\"/></svg>\",\r\n  \"lifesaver\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M10,0.5 C4.76,0.5 0.5,4.76 0.5,10 C0.5,15.24 4.76,19.5 10,19.5 C15.24,19.5 19.5,15.24 19.5,10 C19.5,4.76 15.24,0.5 10,0.5 L10,0.5 Z M10,1.5 C11.49,1.5 12.89,1.88 14.11,2.56 L11.85,4.82 C11.27,4.61 10.65,4.5 10,4.5 C9.21,4.5 8.47,4.67 7.79,4.96 L5.58,2.75 C6.87,1.95 8.38,1.5 10,1.5 L10,1.5 Z M4.96,7.8 C4.67,8.48 4.5,9.21 4.5,10 C4.5,10.65 4.61,11.27 4.83,11.85 L2.56,14.11 C1.88,12.89 1.5,11.49 1.5,10 C1.5,8.38 1.95,6.87 2.75,5.58 L4.96,7.79 L4.96,7.8 L4.96,7.8 Z M10,18.5 C8.25,18.5 6.62,17.97 5.27,17.06 L7.46,14.87 C8.22,15.27 9.08,15.5 10,15.5 C10.79,15.5 11.53,15.33 12.21,15.04 L14.42,17.25 C13.13,18.05 11.62,18.5 10,18.5 L10,18.5 Z M10,14.5 C7.52,14.5 5.5,12.48 5.5,10 C5.5,7.52 7.52,5.5 10,5.5 C12.48,5.5 14.5,7.52 14.5,10 C14.5,12.48 12.48,14.5 10,14.5 L10,14.5 Z M15.04,12.21 C15.33,11.53 15.5,10.79 15.5,10 C15.5,9.08 15.27,8.22 14.87,7.46 L17.06,5.27 C17.97,6.62 18.5,8.25 18.5,10 C18.5,11.62 18.05,13.13 17.25,14.42 L15.04,12.21 L15.04,12.21 Z\\\"/></svg>\",\r\n  \"link\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M7.925,11.875 L11.925,7.975\\\"/></svg>\",\r\n  \"linkedin\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M5.77,17.89 L5.77,7.17 L2.21,7.17 L2.21,17.89 L5.77,17.89 L5.77,17.89 Z M3.99,5.71 C5.23,5.71 6.01,4.89 6.01,3.86 C5.99,2.8 5.24,2 4.02,2 C2.8,2 2,2.8 2,3.85 C2,4.88 2.77,5.7 3.97,5.7 L3.99,5.7 L3.99,5.71 L3.99,5.71 Z\\\"/><path d=\\\"M7.75,17.89 L11.31,17.89 L11.31,11.9 C11.31,11.58 11.33,11.26 11.43,11.03 C11.69,10.39 12.27,9.73 13.26,9.73 C14.55,9.73 15.06,10.71 15.06,12.15 L15.06,17.89 L18.62,17.89 L18.62,11.74 C18.62,8.45 16.86,6.92 14.52,6.92 C12.6,6.92 11.75,7.99 11.28,8.73 L11.3,8.73 L11.3,7.17 L7.75,7.17 C7.79,8.17 7.75,17.89 7.75,17.89 L7.75,17.89 L7.75,17.89 Z\\\"/></svg>\",\r\n  \"list\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"6\\\" y=\\\"4\\\" width=\\\"12\\\" height=\\\"1\\\"/><rect x=\\\"6\\\" y=\\\"9\\\" width=\\\"12\\\" height=\\\"1\\\"/><rect x=\\\"6\\\" y=\\\"14\\\" width=\\\"12\\\" height=\\\"1\\\"/><rect x=\\\"2\\\" y=\\\"4\\\" width=\\\"2\\\" height=\\\"1\\\"/><rect x=\\\"2\\\" y=\\\"9\\\" width=\\\"2\\\" height=\\\"1\\\"/><rect x=\\\"2\\\" y=\\\"14\\\" width=\\\"2\\\" height=\\\"1\\\"/></svg>\",\r\n  \"location\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.01\\\" d=\\\"M10,0.5 C6.41,0.5 3.5,3.39 3.5,6.98 C3.5,11.83 10,19 10,19 C10,19 16.5,11.83 16.5,6.98 C16.5,3.39 13.59,0.5 10,0.5 L10,0.5 Z\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"10\\\" cy=\\\"6.8\\\" r=\\\"2.3\\\"/></svg>\",\r\n  \"lock\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect fill=\\\"none\\\" stroke=\\\"#000\\\" height=\\\"10\\\" width=\\\"13\\\" y=\\\"8.5\\\" x=\\\"3.5\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M6.5,8 L6.5,4.88 C6.5,3.01 8.07,1.5 10,1.5 C11.93,1.5 13.5,3.01 13.5,4.88 L13.5,8\\\"/></svg>\",\r\n  \"mail\": '<svg width=\"30\" height=\"30\" fill=\"none\" viewBox=\"0 0 30 30\"><path d=\"M4.8 7a1.76 1.76 0 0 0-.666.135l10.181 9.125c.44.394.909.395 1.35 0l10.2-9.125A1.76 1.76 0 0 0 25.2 7H4.8zM3.019 8.587c-.011.084-.019.172-.019.26v12.308C3 22.177 3.803 23 4.8 23h20.4c.997 0 1.8-.823 1.8-1.846V8.846c0-.087-.007-.176-.019-.26l-10.134 9.067a2.78 2.78 0 0 1-3.713 0L3.019 8.587z\" fill=\"#c5c5c5\"/></svg>',\r\n  \"menu\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"2\\\" y=\\\"4\\\" width=\\\"16\\\" height=\\\"1\\\"/><rect x=\\\"2\\\" y=\\\"9\\\" width=\\\"16\\\" height=\\\"1\\\"/><rect x=\\\"2\\\" y=\\\"14\\\" width=\\\"16\\\" height=\\\"1\\\"/></svg>\",\r\n  \"microphone\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"10\\\" x2=\\\"10\\\" y1=\\\"16.44\\\" y2=\\\"18.5\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"7\\\" x2=\\\"13\\\" y1=\\\"18.5\\\" y2=\\\"18.5\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M13.5 4.89v5.87a3.5 3.5 0 0 1-7 0V4.89a3.5 3.5 0 0 1 7 0z\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M15.5 10.36V11a5.5 5.5 0 0 1-11 0v-.6\\\"/></svg>\",\r\n  \"minus-circle\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"9.5\\\" cy=\\\"9.5\\\" r=\\\"9\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"5\\\" y1=\\\"9.5\\\" x2=\\\"14\\\" y2=\\\"9.5\\\"/></svg>\",\r\n  \"minus\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect height=\\\"1\\\" width=\\\"18\\\" y=\\\"9\\\" x=\\\"1\\\"/></svg>\",\r\n  \"more-vertical\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle cx=\\\"10\\\" cy=\\\"3\\\" r=\\\"2\\\"/><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"2\\\"/><circle cx=\\\"10\\\" cy=\\\"17\\\" r=\\\"2\\\"/></svg>\",\r\n  \"more\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle cx=\\\"3\\\" cy=\\\"10\\\" r=\\\"2\\\"/><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"2\\\"/><circle cx=\\\"17\\\" cy=\\\"10\\\" r=\\\"2\\\"/></svg>\",\r\n  \"move\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"4,5 1,5 1,9 2,9 2,6 4,6\\\"/><polygon points=\\\"1,16 2,16 2,18 4,18 4,19 1,19\\\"/><polygon points=\\\"14,16 14,19 11,19 11,18 13,18 13,16\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"5.5\\\" y=\\\"1.5\\\" width=\\\"13\\\" height=\\\"13\\\"/><rect x=\\\"1\\\" y=\\\"11\\\" width=\\\"1\\\" height=\\\"3\\\"/><rect x=\\\"6\\\" y=\\\"18\\\" width=\\\"3\\\" height=\\\"1\\\"/></svg>\",\r\n  \"nut\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"2.5,5.7 10,1.3 17.5,5.7 17.5,14.3 10,18.7 2.5,14.3\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"3.5\\\"/></svg>\",\r\n  \"pagekit\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"3,1 17,1 17,16 10,16 10,13 14,13 14,4 6,4 6,16 10,16 10,19 3,19\\\"/></svg>\",\r\n  \"paint-bucket\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M10.21,1 L0,11.21 L8.1,19.31 L18.31,9.1 L10.21,1 L10.21,1 Z M16.89,9.1 L15,11 L1.7,11 L10.21,2.42 L16.89,9.1 Z\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M6.42,2.33 L11.7,7.61\\\"/><path d=\\\"M18.49,12 C18.49,12 20,14.06 20,15.36 C20,16.28 19.24,17 18.49,17 L18.49,17 C17.74,17 17,16.28 17,15.36 C17,14.06 18.49,12 18.49,12 L18.49,12 Z\\\"/></svg>\",\r\n  \"pencil\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M17.25,6.01 L7.12,16.1 L3.82,17.2 L5.02,13.9 L15.12,3.88 C15.71,3.29 16.66,3.29 17.25,3.88 C17.83,4.47 17.83,5.42 17.25,6.01 L17.25,6.01 Z\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M15.98,7.268 L13.851,5.148\\\"/></svg>\",\r\n  \"phone-landscape\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M17,5.5 C17.8,5.5 18.5,6.2 18.5,7 L18.5,14 C18.5,14.8 17.8,15.5 17,15.5 L3,15.5 C2.2,15.5 1.5,14.8 1.5,14 L1.5,7 C1.5,6.2 2.2,5.5 3,5.5 L17,5.5 L17,5.5 L17,5.5 Z\\\"/><circle cx=\\\"3.8\\\" cy=\\\"10.5\\\" r=\\\".8\\\"/></svg>\",\r\n  \"phone\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M15.5,17 C15.5,17.8 14.8,18.5 14,18.5 L7,18.5 C6.2,18.5 5.5,17.8 5.5,17 L5.5,3 C5.5,2.2 6.2,1.5 7,1.5 L14,1.5 C14.8,1.5 15.5,2.2 15.5,3 L15.5,17 L15.5,17 L15.5,17 Z\\\"/><circle cx=\\\"10.5\\\" cy=\\\"16.5\\\" r=\\\".8\\\"/></svg>\",\r\n  \"pinterest\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M10.21,1 C5.5,1 3,4.16 3,7.61 C3,9.21 3.85,11.2 5.22,11.84 C5.43,11.94 5.54,11.89 5.58,11.69 C5.62,11.54 5.8,10.8 5.88,10.45 C5.91,10.34 5.89,10.24 5.8,10.14 C5.36,9.59 5,8.58 5,7.65 C5,5.24 6.82,2.91 9.93,2.91 C12.61,2.91 14.49,4.74 14.49,7.35 C14.49,10.3 13,12.35 11.06,12.35 C9.99,12.35 9.19,11.47 9.44,10.38 C9.75,9.08 10.35,7.68 10.35,6.75 C10.35,5.91 9.9,5.21 8.97,5.21 C7.87,5.21 6.99,6.34 6.99,7.86 C6.99,8.83 7.32,9.48 7.32,9.48 C7.32,9.48 6.24,14.06 6.04,14.91 C5.7,16.35 6.08,18.7 6.12,18.9 C6.14,19.01 6.26,19.05 6.33,18.95 C6.44,18.81 7.74,16.85 8.11,15.44 C8.24,14.93 8.79,12.84 8.79,12.84 C9.15,13.52 10.19,14.09 11.29,14.09 C14.58,14.09 16.96,11.06 16.96,7.3 C16.94,3.7 14,1 10.21,1\\\"/></svg>\",\r\n  \"play-circle\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" points=\\\"8.5 7 13.5 10 8.5 13\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"9\\\"/></svg>\",\r\n  \"play\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"6.5,5 14.5,10 6.5,15\\\"/></svg>\",\r\n  \"plus-circle\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"9.5\\\" cy=\\\"9.5\\\" r=\\\"9\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"9.5\\\" y1=\\\"5\\\" x2=\\\"9.5\\\" y2=\\\"14\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"5\\\" y1=\\\"9.5\\\" x2=\\\"14\\\" y2=\\\"9.5\\\"/></svg>\",\r\n  \"plus\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"9\\\" y=\\\"1\\\" width=\\\"1\\\" height=\\\"17\\\"/><rect x=\\\"1\\\" y=\\\"9\\\" width=\\\"17\\\" height=\\\"1\\\"/></svg>\",\r\n  \"print\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"4.5 13.5 1.5 13.5 1.5 6.5 18.5 6.5 18.5 13.5 15.5 13.5\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"15.5 6.5 15.5 2.5 4.5 2.5 4.5 6.5\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" width=\\\"11\\\" height=\\\"6\\\" x=\\\"4.5\\\" y=\\\"11.5\\\"/><rect width=\\\"8\\\" height=\\\"1\\\" x=\\\"6\\\" y=\\\"13\\\"/><rect width=\\\"8\\\" height=\\\"1\\\" x=\\\"6\\\" y=\\\"15\\\"/></svg>\",\r\n  \"pull\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"6.85,8 9.5,10.6 12.15,8 12.85,8.7 9.5,12 6.15,8.7\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"9.5\\\" y1=\\\"11\\\" x2=\\\"9.5\\\" y2=\\\"2\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"6,5.5 3.5,5.5 3.5,18.5 15.5,18.5 15.5,5.5 13,5.5\\\"/></svg>\",\r\n  \"push\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"12.15,4 9.5,1.4 6.85,4 6.15,3.3 9.5,0 12.85,3.3\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"9.5\\\" y1=\\\"10\\\" x2=\\\"9.5\\\" y2=\\\"1\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"6 5.5 3.5 5.5 3.5 18.5 15.5 18.5 15.5 5.5 13 5.5\\\"/></svg>\",\r\n  \"question\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"9\\\"/><circle cx=\\\"10.44\\\" cy=\\\"14.42\\\" r=\\\"1.05\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.2\\\" d=\\\"M8.17,7.79 C8.17,4.75 12.72,4.73 12.72,7.72 C12.72,8.67 11.81,9.15 11.23,9.75 C10.75,10.24 10.51,10.73 10.45,11.4 C10.44,11.53 10.43,11.64 10.43,11.75\\\"/></svg>\",\r\n  \"quote-right\": '<svg width=\"30\" height=\"30\" fill=\"inherit\" viewBox=\"0 0 30 30\"><path d=\"M2.5 5.6v18.8l9.4-9.4V5.6H2.5zm15.6 0v18.8l9.4-9.4V5.6h 0-9.4z\"/></svg>',\r\n  \"receiver\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.01\\\" d=\\\"M6.189,13.611C8.134,15.525 11.097,18.239 13.867,18.257C16.47,18.275 18.2,16.241 18.2,16.241L14.509,12.551L11.539,13.639L6.189,8.29L7.313,5.355L3.76,1.8C3.76,1.8 1.732,3.537 1.7,6.092C1.667,8.809 4.347,11.738 6.189,13.611\\\"/></svg>\",\r\n  \"reddit\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M19 9.05a2.56 2.56 0 0 0-2.56-2.56 2.59 2.59 0 0 0-1.88.82 10.63 10.63 0 0 0-4.14-1v-.08c.58-1.62 1.58-3.89 2.7-4.1.38-.08.77.12 1.19.57a1.15 1.15 0 0 0-.06.37 1.48 1.48 0 1 0 1.51-1.45 1.43 1.43 0 0 0-.76.19A2.29 2.29 0 0 0 12.91 1c-2.11.43-3.39 4.38-3.63 5.19 0 0 0 .11-.06.11a10.65 10.65 0 0 0-3.75 1A2.56 2.56 0 0 0 1 9.05a2.42 2.42 0 0 0 .72 1.76A5.18 5.18 0 0 0 1.24 13c0 3.66 3.92 6.64 8.73 6.64s8.74-3 8.74-6.64a5.23 5.23 0 0 0-.46-2.13A2.58 2.58 0 0 0 19 9.05zm-16.88 0a1.44 1.44 0 0 1 2.27-1.19 7.68 7.68 0 0 0-2.07 1.91 1.33 1.33 0 0 1-.2-.72zM10 18.4c-4.17 0-7.55-2.4-7.55-5.4S5.83 7.53 10 7.53 17.5 10 17.5 13s-3.38 5.4-7.5 5.4zm7.69-8.61a7.62 7.62 0 0 0-2.09-1.91 1.41 1.41 0 0 1 .84-.28 1.47 1.47 0 0 1 1.44 1.45 1.34 1.34 0 0 1-.21.72z\\\"/><path d=\\\"M6.69 12.58a1.39 1.39 0 1 1 1.39-1.39 1.38 1.38 0 0 1-1.38 1.39z\\\"/><path d=\\\"M14.26 11.2a1.39 1.39 0 1 1-1.39-1.39 1.39 1.39 0 0 1 1.39 1.39z\\\"/><path d=\\\"M13.09 14.88a.54.54 0 0 1-.09.77 5.3 5.3 0 0 1-3.26 1.19 5.61 5.61 0 0 1-3.4-1.22.55.55 0 1 1 .73-.83 4.09 4.09 0 0 0 5.25 0 .56.56 0 0 1 .77.09z\\\"/></svg>\",\r\n  \"refresh\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M17.08,11.15 C17.09,11.31 17.1,11.47 17.1,11.64 C17.1,15.53 13.94,18.69 10.05,18.69 C6.16,18.68 3,15.53 3,11.63 C3,7.74 6.16,4.58 10.05,4.58 C10.9,4.58 11.71,4.73 12.46,5\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"9.9 2 12.79 4.89 9.79 7.9\\\"/></svg>\",\r\n  \"reply\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M17.7,13.11 C16.12,10.02 13.84,7.85 11.02,6.61 C10.57,6.41 9.75,6.13 9,5.91 L9,2 L1,9 L9,16 L9,12.13 C10.78,12.47 12.5,13.19 14.09,14.25 C17.13,16.28 18.56,18.54 18.56,18.54 C18.56,18.54 18.81,15.28 17.7,13.11 L17.7,13.11 Z M14.82,13.53 C13.17,12.4 11.01,11.4 8,10.92 L8,13.63 L2.55,9 L8,4.25 L8,6.8 C8.3,6.86 9.16,7.02 10.37,7.49 C13.3,8.65 15.54,10.96 16.65,13.08 C16.97,13.7 17.48,14.86 17.68,16 C16.87,15.05 15.73,14.15 14.82,13.53 L14.82,13.53 Z\\\"/></svg>\",\r\n  \"rss\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle cx=\\\"3.12\\\" cy=\\\"16.8\\\" r=\\\"1.85\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M1.5,8.2 C1.78,8.18 2.06,8.16 2.35,8.16 C7.57,8.16 11.81,12.37 11.81,17.57 C11.81,17.89 11.79,18.19 11.76,18.5\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M1.5,2.52 C1.78,2.51 2.06,2.5 2.35,2.5 C10.72,2.5 17.5,9.24 17.5,17.57 C17.5,17.89 17.49,18.19 17.47,18.5\\\"/></svg>\",\r\n  \"search\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"9\\\" cy=\\\"9\\\" r=\\\"7\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M14,14 L18,18 L14,14 Z\\\"/></svg>\",\r\n  \"server\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"1\\\" height=\\\"2\\\"/><rect x=\\\"5\\\" y=\\\"3\\\" width=\\\"1\\\" height=\\\"2\\\"/><rect x=\\\"7\\\" y=\\\"3\\\" width=\\\"1\\\" height=\\\"2\\\"/><rect x=\\\"16\\\" y=\\\"3\\\" width=\\\"1\\\" height=\\\"1\\\"/><rect x=\\\"16\\\" y=\\\"10\\\" width=\\\"1\\\" height=\\\"1\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"9.9\\\" cy=\\\"17.4\\\" r=\\\"1.4\\\"/><rect x=\\\"3\\\" y=\\\"10\\\" width=\\\"1\\\" height=\\\"2\\\"/><rect x=\\\"5\\\" y=\\\"10\\\" width=\\\"1\\\" height=\\\"2\\\"/><rect x=\\\"9.5\\\" y=\\\"14\\\" width=\\\"1\\\" height=\\\"2\\\"/><rect x=\\\"3\\\" y=\\\"17\\\" width=\\\"6\\\" height=\\\"1\\\"/><rect x=\\\"11\\\" y=\\\"17\\\" width=\\\"6\\\" height=\\\"1\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"1.5\\\" y=\\\"1.5\\\" width=\\\"17\\\" height=\\\"5\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"1.5\\\" y=\\\"8.5\\\" width=\\\"17\\\" height=\\\"5\\\"/></svg>\",\r\n  \"settings\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><ellipse fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"6.11\\\" cy=\\\"3.55\\\" rx=\\\"2.11\\\" ry=\\\"2.15\\\"/><ellipse fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"6.11\\\" cy=\\\"15.55\\\" rx=\\\"2.11\\\" ry=\\\"2.15\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"13.15\\\" cy=\\\"9.55\\\" r=\\\"2.15\\\"/><rect x=\\\"1\\\" y=\\\"3\\\" width=\\\"3\\\" height=\\\"1\\\"/><rect x=\\\"10\\\" y=\\\"3\\\" width=\\\"8\\\" height=\\\"1\\\"/><rect x=\\\"1\\\" y=\\\"9\\\" width=\\\"8\\\" height=\\\"1\\\"/><rect x=\\\"15\\\" y=\\\"9\\\" width=\\\"3\\\" height=\\\"1\\\"/><rect x=\\\"1\\\" y=\\\"15\\\" width=\\\"3\\\" height=\\\"1\\\"/><rect x=\\\"10\\\" y=\\\"15\\\" width=\\\"8\\\" height=\\\"1\\\"/></svg>\",\r\n  \"shrink\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"11 4 12 4 12 8 16 8 16 9 11 9\\\"/><polygon points=\\\"4 11 9 11 9 16 8 16 8 12 4 12\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M12,8 L18,2\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M2,18 L8,12\\\"/></svg>\",\r\n  \"sign-in\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"7 2 17 2 17 17 7 17 7 16 16 16 16 3 7 3\\\"/><polygon points=\\\"9.1 13.4 8.5 12.8 11.28 10 4 10 4 9 11.28 9 8.5 6.2 9.1 5.62 13 9.5\\\"/></svg>\",\r\n  \"sign-out\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"13.1 13.4 12.5 12.8 15.28 10 8 10 8 9 15.28 9 12.5 6.2 13.1 5.62 17 9.5\\\"/><polygon points=\\\"13 2 3 2 3 17 13 17 13 16 4 16 4 3 13 3\\\"/></svg>\",\r\n  \"social\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><line fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" x1=\\\"13.4\\\" y1=\\\"14\\\" x2=\\\"6.3\\\" y2=\\\"10.7\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" x1=\\\"13.5\\\" y1=\\\"5.5\\\" x2=\\\"6.5\\\" y2=\\\"8.8\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"15.5\\\" cy=\\\"4.6\\\" r=\\\"2.3\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"15.5\\\" cy=\\\"14.8\\\" r=\\\"2.3\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"4.5\\\" cy=\\\"9.8\\\" r=\\\"2.3\\\"/></svg>\",\r\n  \"soundcloud\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M17.2,9.4c-0.4,0-0.8,0.1-1.101,0.2c-0.199-2.5-2.399-4.5-5-4.5c-0.6,0-1.2,0.1-1.7,0.3C9.2,5.5,9.1,5.6,9.1,5.6V15h8 c1.601,0,2.801-1.2,2.801-2.8C20,10.7,18.7,9.4,17.2,9.4L17.2,9.4z\\\"/><rect x=\\\"6\\\" y=\\\"6.5\\\" width=\\\"1.5\\\" height=\\\"8.5\\\"/><rect x=\\\"3\\\" y=\\\"8\\\" width=\\\"1.5\\\" height=\\\"7\\\"/><rect y=\\\"10\\\" width=\\\"1.5\\\" height=\\\"5\\\"/></svg>\",\r\n  \"star\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.01\\\" points=\\\"10 2 12.63 7.27 18.5 8.12 14.25 12.22 15.25 18 10 15.27 4.75 18 5.75 12.22 1.5 8.12 7.37 7.27\\\"/></svg>\",\r\n  \"strikethrough\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M6,13.02 L6.65,13.02 C7.64,15.16 8.86,16.12 10.41,16.12 C12.22,16.12 12.92,14.93 12.92,13.89 C12.92,12.55 11.99,12.03 9.74,11.23 C8.05,10.64 6.23,10.11 6.23,7.83 C6.23,5.5 8.09,4.09 10.4,4.09 C11.44,4.09 12.13,4.31 12.72,4.54 L13.33,4 L13.81,4 L13.81,7.59 L13.16,7.59 C12.55,5.88 11.52,4.89 10.07,4.89 C8.84,4.89 7.89,5.69 7.89,7.03 C7.89,8.29 8.89,8.78 10.88,9.45 C12.57,10.03 14.38,10.6 14.38,12.91 C14.38,14.75 13.27,16.93 10.18,16.93 C9.18,16.93 8.17,16.69 7.46,16.39 L6.52,17 L6,17 L6,13.02 L6,13.02 Z\\\"/><rect x=\\\"3\\\" y=\\\"10\\\" width=\\\"15\\\" height=\\\"1\\\"/></svg>\",\r\n  \"table\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"1\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"1\\\"/><rect x=\\\"1\\\" y=\\\"7\\\" width=\\\"18\\\" height=\\\"1\\\"/><rect x=\\\"1\\\" y=\\\"11\\\" width=\\\"18\\\" height=\\\"1\\\"/><rect x=\\\"1\\\" y=\\\"15\\\" width=\\\"18\\\" height=\\\"1\\\"/></svg>\",\r\n  \"tablet-landscape\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M1.5,5 C1.5,4.2 2.2,3.5 3,3.5 L17,3.5 C17.8,3.5 18.5,4.2 18.5,5 L18.5,16 C18.5,16.8 17.8,17.5 17,17.5 L3,17.5 C2.2,17.5 1.5,16.8 1.5,16 L1.5,5 L1.5,5 L1.5,5 Z\\\"/><circle cx=\\\"3.7\\\" cy=\\\"10.5\\\" r=\\\".8\\\"/></svg>\",\r\n  \"tablet\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M5,18.5 C4.2,18.5 3.5,17.8 3.5,17 L3.5,3 C3.5,2.2 4.2,1.5 5,1.5 L16,1.5 C16.8,1.5 17.5,2.2 17.5,3 L17.5,17 C17.5,17.8 16.8,18.5 16,18.5 L5,18.5 L5,18.5 L5,18.5 Z\\\"/><circle cx=\\\"10.5\\\" cy=\\\"16.3\\\" r=\\\".8\\\"/></svg>\",\r\n  \"tag\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M17.5,3.71 L17.5,7.72 C17.5,7.96 17.4,8.2 17.21,8.39 L8.39,17.2 C7.99,17.6 7.33,17.6 6.93,17.2 L2.8,13.07 C2.4,12.67 2.4,12.01 2.8,11.61 L11.61,2.8 C11.81,2.6 12.08,2.5 12.34,2.5 L16.19,2.5 C16.52,2.5 16.86,2.63 17.11,2.88 C17.35,3.11 17.48,3.4 17.5,3.71 L17.5,3.71 Z\\\"/><circle cx=\\\"14\\\" cy=\\\"6\\\" r=\\\"1\\\"/></svg>\",\r\n  \"thumbnails\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"3.5\\\" y=\\\"3.5\\\" width=\\\"5\\\" height=\\\"5\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"11.5\\\" y=\\\"3.5\\\" width=\\\"5\\\" height=\\\"5\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"11.5\\\" y=\\\"11.5\\\" width=\\\"5\\\" height=\\\"5\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"3.5\\\" y=\\\"11.5\\\" width=\\\"5\\\" height=\\\"5\\\"/></svg>\",\r\n  \"tiktok\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M17.24,6V8.82a6.79,6.79,0,0,1-4-1.28v5.81A5.26,5.26,0,1,1,8,8.1a4.36,4.36,0,0,1,.72.05v2.9A2.57,2.57,0,0,0,7.64,11a2.4,2.4,0,1,0,2.77,2.38V2h2.86a4,4,0,0,0,1.84,3.38A4,4,0,0,0,17.24,6Z\\\"/></svg>\",\r\n  \"trash\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"6.5 3 6.5 1.5 13.5 1.5 13.5 3\\\"/><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"4.5 4 4.5 18.5 15.5 18.5 15.5 4\\\"/><rect x=\\\"8\\\" y=\\\"7\\\" width=\\\"1\\\" height=\\\"9\\\"/><rect x=\\\"11\\\" y=\\\"7\\\" width=\\\"1\\\" height=\\\"9\\\"/><rect x=\\\"2\\\" y=\\\"3\\\" width=\\\"16\\\" height=\\\"1\\\"/></svg>\",\r\n  \"triangle-down\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"5 7 15 7 10 12\\\"/></svg>\",\r\n  \"triangle-left\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"12 5 7 10 12 15\\\"/></svg>\",\r\n  \"triangle-right\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"8 5 13 10 8 15\\\"/></svg>\",\r\n  \"triangle-up\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"5 13 10 8 15 13\\\"/></svg>\",\r\n  \"tripadvisor\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M19.021,7.866C19.256,6.862,20,5.854,20,5.854h-3.346C14.781,4.641,12.504,4,9.98,4C7.363,4,4.999,4.651,3.135,5.876H0\\tc0,0,0.738,0.987,0.976,1.988c-0.611,0.837-0.973,1.852-0.973,2.964c0,2.763,2.249,5.009,5.011,5.009\\tc1.576,0,2.976-0.737,3.901-1.879l1.063,1.599l1.075-1.615c0.475,0.611,1.1,1.111,1.838,1.451c1.213,0.547,2.574,0.612,3.825,0.15\\tc2.589-0.963,3.913-3.852,2.964-6.439c-0.175-0.463-0.4-0.876-0.675-1.238H19.021z M16.38,14.594\\tc-1.002,0.371-2.088,0.328-3.06-0.119c-0.688-0.317-1.252-0.817-1.657-1.438c-0.164-0.25-0.313-0.52-0.417-0.811\\tc-0.124-0.328-0.186-0.668-0.217-1.014c-0.063-0.689,0.037-1.396,0.339-2.043c0.448-0.971,1.251-1.71,2.25-2.079\\tc2.075-0.765,4.375,0.3,5.14,2.366c0.762,2.066-0.301,4.37-2.363,5.134L16.38,14.594L16.38,14.594z M8.322,13.066\\tc-0.72,1.059-1.935,1.76-3.309,1.76c-2.207,0-4.001-1.797-4.001-3.996c0-2.203,1.795-4.002,4.001-4.002\\tc2.204,0,3.999,1.8,3.999,4.002c0,0.137-0.024,0.261-0.04,0.396c-0.067,0.678-0.284,1.313-0.648,1.853v-0.013H8.322z M2.472,10.775\\tc0,1.367,1.112,2.479,2.476,2.479c1.363,0,2.472-1.11,2.472-2.479c0-1.359-1.11-2.468-2.472-2.468\\tC3.584,8.306,2.473,9.416,2.472,10.775L2.472,10.775z M12.514,10.775c0,1.367,1.104,2.479,2.471,2.479\\tc1.363,0,2.474-1.108,2.474-2.479c0-1.359-1.11-2.468-2.474-2.468c-1.364,0-2.477,1.109-2.477,2.468H12.514z M3.324,10.775\\tc0-0.893,0.726-1.618,1.614-1.618c0.889,0,1.625,0.727,1.625,1.618c0,0.898-0.725,1.627-1.625,1.627\\tc-0.901,0-1.625-0.729-1.625-1.627H3.324z M13.354,10.775c0-0.893,0.726-1.618,1.627-1.618c0.886,0,1.61,0.727,1.61,1.618\\tc0,0.898-0.726,1.627-1.626,1.627s-1.625-0.729-1.625-1.627H13.354z M9.977,4.875c1.798,0,3.425,0.324,4.849,0.968\\tc-0.535,0.015-1.061,0.108-1.586,0.3c-1.264,0.463-2.264,1.388-2.815,2.604c-0.262,0.551-0.398,1.133-0.448,1.72\\tC9.79,7.905,7.677,5.873,5.076,5.82C6.501,5.208,8.153,4.875,9.94,4.875H9.977z\\\"/></svg>\",\r\n  \"tumblr\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M6.885,8.598c0,0,0,3.393,0,4.996c0,0.282,0,0.66,0.094,0.942c0.377,1.509,1.131,2.545,2.545,3.11 c1.319,0.472,2.356,0.472,3.676,0c0.565-0.188,1.132-0.659,1.132-0.659l-0.849-2.263c0,0-1.036,0.378-1.603,0.283 c-0.565-0.094-1.226-0.66-1.226-1.508c0-1.603,0-4.902,0-4.902h2.828V5.771h-2.828V2H8.205c0,0-0.094,0.66-0.188,0.942 C7.828,3.791,7.262,4.733,6.603,5.394C5.848,6.147,5,6.43,5,6.43v2.168H6.885z\\\"/></svg>\",\r\n  \"tv\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect x=\\\"7\\\" y=\\\"16\\\" width=\\\"6\\\" height=\\\"1\\\"/><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\".5\\\" y=\\\"3.5\\\" width=\\\"19\\\" height=\\\"11\\\"/></svg>\",\r\n  \"twitch\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M5.23,1,2,4.23V15.85H5.88v3.23L9.1,15.85h2.59L17.5,10V1Zm11,8.4L13.62,12H11L8.78,14.24V12H5.88V2.29H16.21Z\\\"/><rect x=\\\"12.98\\\" y=\\\"4.55\\\" width=\\\"1.29\\\" height=\\\"3.88\\\"/><rect x=\\\"9.43\\\" y=\\\"4.55\\\" width=\\\"1.29\\\" height=\\\"3.88\\\"/></svg>\",\r\n  \"twitter\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M19,4.74 C18.339,5.029 17.626,5.229 16.881,5.32 C17.644,4.86 18.227,4.139 18.503,3.28 C17.79,3.7 17.001,4.009 16.159,4.17 C15.485,3.45 14.526,3 13.464,3 C11.423,3 9.771,4.66 9.771,6.7 C9.771,6.99 9.804,7.269 9.868,7.539 C6.795,7.38 4.076,5.919 2.254,3.679 C1.936,4.219 1.754,4.86 1.754,5.539 C1.754,6.82 2.405,7.95 3.397,8.61 C2.79,8.589 2.22,8.429 1.723,8.149 L1.723,8.189 C1.723,9.978 2.997,11.478 4.686,11.82 C4.376,11.899 4.049,11.939 3.713,11.939 C3.475,11.939 3.245,11.919 3.018,11.88 C3.49,13.349 4.852,14.419 6.469,14.449 C5.205,15.429 3.612,16.019 1.882,16.019 C1.583,16.019 1.29,16.009 1,15.969 C2.635,17.019 4.576,17.629 6.662,17.629 C13.454,17.629 17.17,12 17.17,7.129 C17.17,6.969 17.166,6.809 17.157,6.649 C17.879,6.129 18.504,5.478 19,4.74\\\"/></svg>\",\r\n  \"twitterx\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M15.175 2H17.9357L11.9058 8.35379L19 17H13.4459L9.0955 11.7552L4.11737 17H1.3555L7.80512 10.2034L1 2H6.69588L10.6277 6.79276L15.175 2ZM14.2075 15.4772H15.7375L5.86337 3.4431H4.22313L14.2075 15.4772Z\\\" fill=\\\"#030303\\\"/></svg>\",\r\n  \"uikit\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon points=\\\"14.4,3.1 11.3,5.1 15,7.3 15,12.9 10,15.7 5,12.9 5,8.5 2,6.8 2,14.8 9.9,19.5 18,14.8 18,5.3\\\"/><polygon points=\\\"9.8,4.2 6.7,2.4 9.8,0.4 12.9,2.3\\\"/></svg>\",\r\n  \"unlock\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><rect fill=\\\"none\\\" stroke=\\\"#000\\\" x=\\\"3.5\\\" y=\\\"8.5\\\" width=\\\"13\\\" height=\\\"10\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M6.5,8.5 L6.5,4.9 C6.5,3 8.1,1.5 10,1.5 C11.9,1.5 13.5,3 13.5,4.9\\\"/></svg>\",\r\n  \"upload\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polyline fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"5 8 9.5 3.5 14 8\\\"/><rect x=\\\"3\\\" y=\\\"17\\\" width=\\\"13\\\" height=\\\"1\\\"/><line fill=\\\"none\\\" stroke=\\\"#000\\\" x1=\\\"9.5\\\" y1=\\\"15\\\" x2=\\\"9.5\\\" y2=\\\"4\\\"/></svg>\",\r\n  \"users\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"7.7\\\" cy=\\\"8.6\\\" r=\\\"3.5\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M1,18.1 C1.7,14.6 4.4,12.1 7.6,12.1 C10.9,12.1 13.7,14.8 14.3,18.3\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" d=\\\"M11.4,4 C12.8,2.4 15.4,2.8 16.3,4.7 C17.2,6.6 15.7,8.9 13.6,8.9 C16.5,8.9 18.8,11.3 19.2,14.1\\\"/></svg>\",\r\n  \"video-camera\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><polygon fill=\\\"none\\\" stroke=\\\"#000\\\" points=\\\"17.5 6.9 17.5 13.1 13.5 10.4 13.5 14.5 2.5 14.5 2.5 5.5 13.5 5.5 13.5 9.6 17.5 6.9\\\"/></svg>\",\r\n  \"vimeo\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M2.065,7.59C1.84,7.367,1.654,7.082,1.468,6.838c-0.332-0.42-0.137-0.411,0.274-0.772c1.026-0.91,2.004-1.896,3.127-2.688 c1.017-0.713,2.365-1.173,3.286-0.039c0.849,1.045,0.869,2.629,1.084,3.891c0.215,1.309,0.421,2.648,0.88,3.901 c0.127,0.352,0.37,1.018,0.81,1.074c0.567,0.078,1.145-0.917,1.408-1.289c0.684-0.987,1.611-2.317,1.494-3.587 c-0.115-1.349-1.572-1.095-2.482-0.773c0.146-1.514,1.555-3.216,2.912-3.792c1.439-0.597,3.579-0.587,4.302,1.036 c0.772,1.759,0.078,3.802-0.763,5.396c-0.918,1.731-2.1,3.333-3.363,4.829c-1.114,1.329-2.432,2.787-4.093,3.422 c-1.897,0.723-3.021-0.686-3.667-2.318c-0.705-1.777-1.056-3.771-1.565-5.621C4.898,8.726,4.644,7.836,4.136,7.191 C3.473,6.358,2.72,7.141,2.065,7.59C1.977,7.502,2.115,7.551,2.065,7.59L2.065,7.59z\\\"/></svg>\",\r\n  \"warning\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><circle cx=\\\"10\\\" cy=\\\"14\\\" r=\\\"1\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" stroke-width=\\\"1.1\\\" cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"9\\\"/><path d=\\\"M10.97,7.72 C10.85,9.54 10.56,11.29 10.56,11.29 C10.51,11.87 10.27,12 9.99,12 C9.69,12 9.49,11.87 9.43,11.29 C9.43,11.29 9.16,9.54 9.03,7.72 C8.96,6.54 9.03,6 9.03,6 C9.03,5.45 9.46,5.02 9.99,5 C10.53,5.01 10.97,5.44 10.97,6 C10.97,6 11.04,6.54 10.97,7.72 L10.97,7.72 Z\\\"/></svg>\",\r\n  \"whatsapp\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M16.7,3.3c-1.8-1.8-4.1-2.8-6.7-2.8c-5.2,0-9.4,4.2-9.4,9.4c0,1.7,0.4,3.3,1.3,4.7l-1.3,4.9l5-1.3c1.4,0.8,2.9,1.2,4.5,1.2 l0,0l0,0c5.2,0,9.4-4.2,9.4-9.4C19.5,7.4,18.5,5,16.7,3.3 M10.1,17.7L10.1,17.7c-1.4,0-2.8-0.4-4-1.1l-0.3-0.2l-3,0.8l0.8-2.9 l-0.2-0.3c-0.8-1.2-1.2-2.7-1.2-4.2c0-4.3,3.5-7.8,7.8-7.8c2.1,0,4.1,0.8,5.5,2.3c1.5,1.5,2.3,3.4,2.3,5.5 C17.9,14.2,14.4,17.7,10.1,17.7 M14.4,11.9c-0.2-0.1-1.4-0.7-1.6-0.8c-0.2-0.1-0.4-0.1-0.5,0.1c-0.2,0.2-0.6,0.8-0.8,0.9 c-0.1,0.2-0.3,0.2-0.5,0.1c-0.2-0.1-1-0.4-1.9-1.2c-0.7-0.6-1.2-1.4-1.3-1.6c-0.1-0.2,0-0.4,0.1-0.5C8,8.8,8.1,8.7,8.2,8.5 c0.1-0.1,0.2-0.2,0.2-0.4c0.1-0.2,0-0.3,0-0.4C8.4,7.6,7.9,6.5,7.7,6C7.5,5.5,7.3,5.6,7.2,5.6c-0.1,0-0.3,0-0.4,0 c-0.2,0-0.4,0.1-0.6,0.3c-0.2,0.2-0.8,0.8-0.8,2c0,1.2,0.8,2.3,1,2.4c0.1,0.2,1.7,2.5,4,3.5c0.6,0.2,1,0.4,1.3,0.5 c0.6,0.2,1.1,0.2,1.5,0.1c0.5-0.1,1.4-0.6,1.6-1.1c0.2-0.5,0.2-1,0.1-1.1C14.8,12.1,14.6,12,14.4,11.9\\\"/></svg>\",\r\n  \"wordpress\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M10,0.5c-5.2,0-9.5,4.3-9.5,9.5s4.3,9.5,9.5,9.5c5.2,0,9.5-4.3,9.5-9.5S15.2,0.5,10,0.5L10,0.5L10,0.5z M15.6,3.9h-0.1 c-0.8,0-1.4,0.7-1.4,1.5c0,0.7,0.4,1.3,0.8,1.9c0.3,0.6,0.7,1.3,0.7,2.3c0,0.7-0.3,1.5-0.6,2.7L14.1,15l-3-8.9 c0.5,0,0.9-0.1,0.9-0.1C12.5,6,12.5,5.3,12,5.4c0,0-1.3,0.1-2.2,0.1C9,5.5,7.7,5.4,7.7,5.4C7.2,5.3,7.2,6,7.6,6c0,0,0.4,0.1,0.9,0.1 l1.3,3.5L8,15L5,6.1C5.5,6.1,5.9,6,5.9,6C6.4,6,6.3,5.3,5.9,5.4c0,0-1.3,0.1-2.2,0.1c-0.2,0-0.3,0-0.5,0c1.5-2.2,4-3.7,6.9-3.7 C12.2,1.7,14.1,2.6,15.6,3.9L15.6,3.9L15.6,3.9z M2.5,6.6l3.9,10.8c-2.7-1.3-4.6-4.2-4.6-7.4C1.8,8.8,2,7.6,2.5,6.6L2.5,6.6L2.5,6.6 z M10.2,10.7l2.5,6.9c0,0,0,0.1,0.1,0.1C11.9,18,11,18.2,10,18.2c-0.8,0-1.6-0.1-2.3-0.3L10.2,10.7L10.2,10.7L10.2,10.7z M14.2,17.1 l2.5-7.3c0.5-1.2,0.6-2.1,0.6-2.9c0-0.3,0-0.6-0.1-0.8c0.6,1.2,1,2.5,1,4C18.3,13,16.6,15.7,14.2,17.1L14.2,17.1L14.2,17.1z\\\"/></svg>\",\r\n  \"world\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M1,10.5 L19,10.5\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M2.35,15.5 L17.65,15.5\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M2.35,5.5 L17.523,5.5\\\"/><path fill=\\\"none\\\" stroke=\\\"#000\\\" d=\\\"M10,19.46 L9.98,19.46 C7.31,17.33 5.61,14.141 5.61,10.58 C5.61,7.02 7.33,3.83 10,1.7 C10.01,1.7 9.99,1.7 10,1.7 L10,1.7 C12.67,3.83 14.4,7.02 14.4,10.58 C14.4,14.141 12.67,17.33 10,19.46 L10,19.46 L10,19.46 L10,19.46 Z\\\"/><circle fill=\\\"none\\\" stroke=\\\"#000\\\" cx=\\\"10\\\" cy=\\\"10.5\\\" r=\\\"9\\\"/></svg>\",\r\n  \"xing\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M4.4,4.56 C4.24,4.56 4.11,4.61 4.05,4.72 C3.98,4.83 3.99,4.97 4.07,5.12 L5.82,8.16 L5.82,8.17 L3.06,13.04 C2.99,13.18 2.99,13.33 3.06,13.44 C3.12,13.55 3.24,13.62 3.4,13.62 L6,13.62 C6.39,13.62 6.57,13.36 6.71,13.12 C6.71,13.12 9.41,8.35 9.51,8.16 C9.49,8.14 7.72,5.04 7.72,5.04 C7.58,4.81 7.39,4.56 6.99,4.56 L4.4,4.56 L4.4,4.56 Z\\\"/><path d=\\\"M15.3,1 C14.91,1 14.74,1.25 14.6,1.5 C14.6,1.5 9.01,11.42 8.82,11.74 C8.83,11.76 12.51,18.51 12.51,18.51 C12.64,18.74 12.84,19 13.23,19 L15.82,19 C15.98,19 16.1,18.94 16.16,18.83 C16.23,18.72 16.23,18.57 16.16,18.43 L12.5,11.74 L12.5,11.72 L18.25,1.56 C18.32,1.42 18.32,1.27 18.25,1.16 C18.21,1.06 18.08,1 17.93,1 L15.3,1 L15.3,1 Z\\\"/></svg>\",\r\n  \"yelp\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M17.175,14.971c-0.112,0.77-1.686,2.767-2.406,3.054c-0.246,0.1-0.487,0.076-0.675-0.069\\tc-0.122-0.096-2.446-3.859-2.446-3.859c-0.194-0.293-0.157-0.682,0.083-0.978c0.234-0.284,0.581-0.393,0.881-0.276\\tc0.016,0.01,4.21,1.394,4.332,1.482c0.178,0.148,0.263,0.379,0.225,0.646L17.175,14.971L17.175,14.971z M11.464,10.789\\tc-0.203-0.307-0.199-0.666,0.009-0.916c0,0,2.625-3.574,2.745-3.657c0.203-0.135,0.452-0.141,0.69-0.025\\tc0.691,0.335,2.085,2.405,2.167,3.199v0.027c0.024,0.271-0.082,0.491-0.273,0.623c-0.132,0.083-4.43,1.155-4.43,1.155\\tc-0.322,0.096-0.68-0.06-0.882-0.381L11.464,10.789z M9.475,9.563C9.32,9.609,8.848,9.757,8.269,8.817c0,0-3.916-6.16-4.007-6.351\\tc-0.057-0.212,0.011-0.455,0.202-0.65C5.047,1.211,8.21,0.327,9.037,0.529c0.27,0.069,0.457,0.238,0.522,0.479\\tc0.047,0.266,0.433,5.982,0.488,7.264C10.098,9.368,9.629,9.517,9.475,9.563z M9.927,19.066c-0.083,0.225-0.273,0.373-0.54,0.421\\tc-0.762,0.13-3.15-0.751-3.647-1.342c-0.096-0.131-0.155-0.262-0.167-0.394c-0.011-0.095,0-0.189,0.036-0.272\\tc0.061-0.155,2.917-3.538,2.917-3.538c0.214-0.272,0.595-0.355,0.952-0.213c0.345,0.13,0.56,0.428,0.536,0.749\\tC10.014,14.479,9.977,18.923,9.927,19.066z M3.495,13.912c-0.235-0.009-0.444-0.148-0.568-0.382c-0.089-0.17-0.151-0.453-0.19-0.794\\tC2.63,11.701,2.761,10.144,3.07,9.648c0.145-0.226,0.357-0.345,0.592-0.336c0.154,0,4.255,1.667,4.255,1.667\\tc0.321,0.118,0.521,0.453,0.5,0.833c-0.023,0.37-0.236,0.655-0.551,0.738L3.495,13.912z\\\"/></svg>\",\r\n  \"youtube\": \"<svg width=\\\"20\\\" height=\\\"20\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M15,4.1c1,0.1,2.3,0,3,0.8c0.8,0.8,0.9,2.1,0.9,3.1C19,9.2,19,10.9,19,12c-0.1,1.1,0,2.4-0.5,3.4c-0.5,1.1-1.4,1.5-2.5,1.6 c-1.2,0.1-8.6,0.1-11,0c-1.1-0.1-2.4-0.1-3.2-1c-0.7-0.8-0.7-2-0.8-3C1,11.8,1,10.1,1,8.9c0-1.1,0-2.4,0.5-3.4C2,4.5,3,4.3,4.1,4.2 C5.3,4.1,12.6,4,15,4.1z M8,7.5v6l5.5-3L8,7.5z\\\"/></svg>\",\r\n  \"naver\": '<svg width=\"20\" height=\"20\" viewBox=\"-51.2 -51.2 614.40 614.40\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"#000000\" stroke=\"#000000\" stroke-width=\"0.00512\"><g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g><g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g><g id=\"SVGRepo_iconCarrier\"><path fill=\"#000000\" d=\"M9 32V480H181.366V255.862L331.358 480H504V32H331.358V255.862L181.366 32H9Z\"></path></g></svg>',\r\n\r\n\r\n  \"brake-disk\": \"<svg width=\\\"30\\\" height=\\\"30\\\" viewBox=\\\"0 0 30 30\\\" fill=\\\"#000\\\"><path  fill=\\\"inherit\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M11.4297 5.81083C12.127 5.50258 12.8739 5.27447 13.6579 5.13921C18.9561 4.22589 23.9778 7.90291 24.865 13.3455C25.7521 18.7877 22.1746 23.9479 16.8805 24.8608C11.5823 25.7741 6.56063 22.0971 5.67347 16.6545C5.50016 15.5996 5.49601 14.5548 5.64043 13.5503C5.66519 13.5584 5.69407 13.5656 5.72295 13.5723L7.39 13.9696C8.0172 14.118 8.66914 13.867 9.04464 13.3324C9.79976 12.2579 11.3802 10.0136 12.1353 8.93919C12.5108 8.40452 12.5397 7.69006 12.2054 7.1257L11.4297 5.81083ZM13.9715 22.6207C14.0499 22.8747 14.314 23.0159 14.5615 22.9362C14.5657 22.9349 14.5698 22.9341 14.5739 22.9328C14.8174 22.8535 14.9577 22.583 14.8793 22.3294C14.706 21.7659 14.4171 20.8174 14.248 20.2539C14.1696 20.0003 13.9055 19.8587 13.6579 19.9384C13.6579 19.9384 13.6538 19.9406 13.6496 19.9418C13.4021 20.0215 13.2659 20.2917 13.3402 20.5456C13.5135 21.1087 13.8023 22.0577 13.9715 22.6207ZM19.0427 21.693C19.2614 21.8363 19.5502 21.771 19.6905 21.5471C19.6947 21.5437 19.6947 21.5404 19.6988 21.537C19.835 21.3127 19.7731 21.015 19.5544 20.8717C19.0716 20.5537 18.2546 20.0177 17.7718 19.6997C17.5531 19.5564 17.2643 19.6217 17.124 19.8456C17.124 19.849 17.1199 19.8524 17.1199 19.8558C16.9796 20.0801 17.0415 20.3777 17.2602 20.521C17.7429 20.839 18.56 21.375 19.0427 21.693ZM9.51095 19.9825C9.41191 20.228 9.52331 20.51 9.76264 20.6122C9.76676 20.6139 9.7709 20.6169 9.7709 20.6169C10.0102 20.719 10.2867 20.6029 10.3857 20.3574C10.6044 19.8129 10.9799 18.895 11.1986 18.3501C11.2976 18.1046 11.1862 17.8226 10.9469 17.7204C10.9428 17.7187 10.9387 17.7175 10.9345 17.7158C10.6952 17.6136 10.4228 17.7298 10.3238 17.9753C10.101 18.5201 9.72964 19.4377 9.51095 19.9825ZM17.1446 11.7237C18.9024 12.7879 19.4925 15.1196 18.4568 16.928C17.4211 18.7364 15.1516 19.3406 13.3938 18.2763C11.6319 17.2125 11.0459 14.8804 12.0816 13.072C13.1173 11.264 15.3868 10.6598 17.1446 11.7237ZM22.3479 17.6339C22.6037 17.5996 22.7853 17.3579 22.7523 17.0942C22.7523 17.0904 22.7523 17.0861 22.7482 17.0823C22.7152 16.8186 22.4799 16.6324 22.2241 16.6668C21.6547 16.7427 20.6974 16.8703 20.128 16.9462C19.868 16.9801 19.6906 17.2218 19.7236 17.4855C19.7236 17.4898 19.7236 17.4936 19.7236 17.4974C19.7566 17.7612 19.9918 17.9473 20.2476 17.9134C20.817 17.8375 21.7785 17.7098 22.3479 17.6339ZM15.9604 14.0188C16.4844 14.4106 16.6041 15.1679 16.2244 15.7094C15.8407 16.2508 15.1062 16.3725 14.5781 15.9811C14.0499 15.5898 13.9343 14.8325 14.314 14.291C14.6936 13.7496 15.4322 13.6275 15.9604 14.0188ZM7.74074 15.0131C7.50967 15.1353 7.41887 15.4257 7.53853 15.6619C7.54266 15.6657 7.54267 15.6691 7.54679 15.6729C7.66233 15.9091 7.94704 16.0011 8.17811 15.879C8.68565 15.6076 9.54392 15.1501 10.0556 14.8787C10.2867 14.7566 10.3733 14.4657 10.2578 14.2296C10.2537 14.2262 10.2537 14.2223 10.2495 14.219C10.1299 13.9828 9.84929 13.8904 9.61821 14.0129C9.11068 14.2843 8.24828 14.7414 7.74074 15.0131ZM22.3396 12.3419C22.513 12.1464 22.5006 11.8415 22.3108 11.6618C22.3066 11.6588 22.3067 11.6562 22.3025 11.6533C22.1127 11.4735 21.8156 11.4862 21.6382 11.6817C21.2503 12.1163 20.5942 12.8477 20.2063 13.2819C20.033 13.4778 20.0454 13.7827 20.2352 13.9624C20.2393 13.9654 20.2394 13.9679 20.2435 13.9705C20.4333 14.1507 20.7304 14.138 20.9037 13.9425C21.2957 13.5079 21.9476 12.7765 22.3396 12.3419ZM5.83852 13.0559C5.48366 12.972 5.19481 12.712 5.06689 12.3639C4.9431 12.0154 4.99261 11.6249 5.20305 11.3234C6.2759 9.80078 8.00482 7.34449 9.07353 5.82187C9.2881 5.5204 9.63058 5.34782 9.99369 5.36266C10.3568 5.3775 10.6869 5.57764 10.8726 5.89522C11.1821 6.41845 11.5163 6.98366 11.7639 7.40131C11.9908 7.78292 11.9744 8.2667 11.7185 8.62881C10.9634 9.70282 9.38301 11.9475 8.6279 13.0216C8.37207 13.3837 7.93057 13.5537 7.50968 13.4532C7.04341 13.343 6.41621 13.1937 5.83852 13.0559ZM8.48348 11.4536C8.20289 11.8487 7.66648 11.9378 7.28273 11.652C6.89899 11.3662 6.81233 10.8137 7.08879 10.4186C7.36525 10.0234 7.90578 9.93435 8.28953 10.2201C8.67328 10.5055 8.75994 11.0584 8.48348 11.4536ZM19.0221 8.29426C19.0345 8.0284 18.8323 7.80327 18.5764 7.79097C18.5723 7.79097 18.5682 7.79054 18.5641 7.79054C18.3041 7.77824 18.0854 7.98389 18.0731 8.24974C18.0483 8.83912 18.0029 9.83215 17.9781 10.4219C17.9657 10.6878 18.1638 10.9129 18.4238 10.9248C18.4279 10.9252 18.432 10.9252 18.4362 10.9257C18.6961 10.9375 18.9148 10.7323 18.9231 10.4665C18.9519 9.87666 18.9974 8.88363 19.0221 8.29426ZM13.9467 7.38392C13.7899 7.17276 13.497 7.13206 13.2906 7.29361C13.2906 7.29615 13.2865 7.29868 13.2824 7.30123C13.0761 7.46235 13.0389 7.76468 13.1957 7.97583C13.5424 8.44521 14.1324 9.23514 14.479 9.70409C14.6358 9.91525 14.9288 9.95553 15.1351 9.79399C15.1392 9.79187 15.1434 9.78933 15.1475 9.78678C15.3497 9.62523 15.3909 9.32334 15.2341 9.11176C14.8834 8.6428 14.2975 7.85287 13.9467 7.38392ZM10.2248 8.97946C9.9442 9.37464 9.40776 9.46369 9.02401 9.17791C8.64026 8.89212 8.55364 8.33963 8.8301 7.94403C9.10657 7.54885 9.6471 7.46023 10.0308 7.74559C10.4146 8.03137 10.5013 8.58429 10.2248 8.97946Z\\\"/></svg>\",\r\n  \"location-pointer\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"30\\\" height=\\\"30\\\" fill=\\\"#000\\\" viewBox=\\\"0 0 30 30\\\" ><path d=\\\"M15 5c-4 0-7.3 3.3-7.3 7.3s6.8 12.2 7.1 12.6c.1.1.1.1.2.1s.2 0 .2-.1c.3-.3 7.1-8.6 7.1-12.6S19 5 15 5zm-.1 9.9a3.08 3.08 0 0 1-3-3c0-1.7 1.3-3 3-3a3.08 3.08 0 0 1 3 3 3.01 3.01 0 0 1-3 3z\\\"/></svg>\",\r\n  \"contact\": \"<svg width=\\\"20\\\" height=\\\"20\\\" fill=\\\"#000\\\" viewBox=\\\"0 0 22 20\\\"><path d=\\\"m13.655 1.3677c-7.1311 0.5238-10.393 8.9794-5.7655 14.142-1.5931-0.2993-3.0345-1.0476-4.0966-2.17l-3.7931 1.5714 1.7448-5.0883c-1.8966-6.959 5.9931-12.496 11.91-8.4556z\\\" clip-rule=\\\"evenodd\\\" fill=\\\"inherit\\\" fill-rule=\\\"evenodd\\\"/><path d=\\\"m14.186 2.0413c4.3241 0 7.8138 3.5169 7.8138 7.7821 0 2.3196-0.9862 4.4148-2.6552 5.8366l0.9862 4.34-4.6276-2.5442c-4.8552 0.9728-9.2552-2.7686-9.2552-7.6324 0-4.2652 3.4897-7.7821 7.738-7.7821zm2.1241 9.3535c-1.2896 1.721-4.0965 3.1427-5.9172 1.4217l1.9724-2.4693 0.9862 0.8231 1.9724-2.5442-0.9862-0.7483 1.9724-2.4693c2.0483 1.3469 1.3655 4.34 0 5.9863z\\\" clip-rule=\\\"evenodd\\\" fill=\\\"inherit\\\" fill-rule=\\\"evenodd\\\"/></svg>\",\r\n  \"user\": \"<svg viewBox=\\\"0 0 20 20\\\"  ><path fill='inherit' d=\\\"M3,16.7c0-3.1,1.9-7.3,7-7.3c5.1,0,7,4.3,7,7.3c0,1.2-3.5,2.3-7,2.3S3,17.8,3,16.7z M6.4,4.7\\tc0,0.7,0.2,1.4,0.6,2c0.4,0.6,1,1.1,1.6,1.4c0.7,0.3,1.4,0.4,2.1,0.2c0.7-0.1,1.3-0.5,1.8-1c0.5-0.5,0.8-1.2,1-1.9\\tc0.1-0.7,0.1-1.5-0.2-2.1S12.6,2,12,1.6C11.4,1.2,10.7,1,10,1C9,1,8.1,1.4,7.5,2.1C6.8,2.8,6.4,3.7,6.4,4.7z\\\"/></svg>\",\r\n\r\n  'chevron-right-big':\r\n  '<svg width=\"23\" height=\"41\" viewBox=\"0 0 23 41\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M3.61042 39.7856L3.50613 39.6777L3.61044 39.7855L22.2528 21.7459L22.3372 21.683L22.3445 21.6776L22.3511 21.6713C22.4995 21.5299 22.6177 21.3611 22.6985 21.1745C22.7792 20.9879 22.8209 20.7875 22.8209 20.5849C22.8209 20.3823 22.7792 20.1819 22.6985 19.9953C22.6177 19.8087 22.4995 19.6399 22.3511 19.4985L22.3445 19.4922L22.3372 19.4868L22.2528 19.4239L3.60336 1.37055L3.60313 1.37032C3.30745 1.08532 2.90786 0.926442 2.49251 0.927151C2.07716 0.927859 1.67815 1.0881 1.3835 1.37412C1.08867 1.66031 0.922504 2.04915 0.923245 2.45539C0.923985 2.86159 1.09154 3.24982 1.38734 3.53498C1.38737 3.53501 1.3874 3.53503 1.38742 3.53506L19.0171 20.5815L1.39433 37.628C1.24836 37.7692 1.13229 37.9371 1.05301 38.1223C0.973723 38.3074 0.932845 38.5061 0.932845 38.7068C0.932845 38.9075 0.973723 39.1062 1.05301 39.2913C1.13229 39.4765 1.24836 39.6444 1.39433 39.7856C1.54029 39.9267 1.7133 40.0385 1.90335 40.1146C2.09341 40.1908 2.29693 40.2299 2.50237 40.2299C2.7078 40.2299 2.91134 40.1908 3.10139 40.1146C3.29145 40.0385 3.46446 39.9267 3.61042 39.7856Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"0.3\"></path> </svg>',\r\n'chevron-left-big':\r\n  '<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 23 41\" height=\"41\" width=\"23\"> <path stroke-width=\"0.3\" stroke=\"currentColor\" fill=\"currentColor\" d=\"M19.3896 1.21444L19.4939 1.32226L19.3896 1.21446L0.747244 19.2541L0.662813 19.317L0.655498 19.3224L0.648895 19.3287C0.500458 19.4701 0.38229 19.6389 0.301533 19.8255C0.220768 20.0121 0.179107 20.2125 0.179107 20.4151C0.179107 20.6177 0.220768 20.8181 0.301532 21.0047C0.38229 21.1913 0.500457 21.3601 0.648895 21.5015L0.655496 21.5078L0.662811 21.5132L0.747232 21.5761L19.3966 39.6295L19.3969 39.6297C19.6925 39.9147 20.0921 40.0736 20.5075 40.0728C20.9228 40.0721 21.3219 39.9119 21.6165 39.6259C21.9113 39.3397 22.0775 38.9508 22.0768 38.5446C22.076 38.1384 21.9085 37.7502 21.6127 37.465C21.6126 37.465 21.6126 37.465 21.6126 37.4649L3.98294 20.4185L21.6057 3.37195C21.7516 3.23075 21.8677 3.06286 21.947 2.87771C22.0263 2.69255 22.0672 2.49392 22.0672 2.2932C22.0672 2.09247 22.0263 1.89384 21.947 1.70868C21.8677 1.52354 21.7516 1.35564 21.6057 1.21444C21.4597 1.07326 21.2867 0.961517 21.0967 0.885364C20.9066 0.809219 20.7031 0.77008 20.4976 0.77008C20.2922 0.77008 20.0887 0.809219 19.8986 0.885364C19.7086 0.961517 19.5355 1.07326 19.3896 1.21444Z\"></path> </svg>',\r\n'stationary-phone':\r\n  '<svg width=\"30\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M16 12.2914V14.2857C16 14.7403 15.8194 15.1764 15.4979 15.4978C15.1764 15.8193 14.7404 15.9999 14.2857 15.9999H13.1429C11.4163 16.0051 9.70588 15.6673 8.11089 15.0061C6.5159 14.345 5.06809 13.3737 3.85147 12.1485C2.62635 10.9319 1.65503 9.48409 0.993888 7.88911C0.332743 6.29412 -0.00506794 4.58371 5.746e-05 2.85713V1.71428C5.746e-05 1.25963 0.180669 0.823592 0.502158 0.502103C0.823648 0.180613 1.25968 1.71411e-06 1.71434 1.71411e-06H3.70862C4.08198 -0.000526107 4.44532 0.120857 4.74339 0.345702C5.04147 0.570548 5.25798 0.886561 5.36004 1.24571L6.08003 3.7657C6.16475 4.05986 6.16915 4.37134 6.09278 4.66778C6.01641 4.96422 5.86205 5.2348 5.64575 5.45141L4.28004 6.81712C5.26137 8.99486 7.00514 10.7386 9.18288 11.72L10.5486 10.3542C10.7652 10.1379 11.0358 9.98359 11.3322 9.90722C11.6287 9.83085 11.9401 9.83525 12.2343 9.91997L14.7543 10.64C15.1134 10.742 15.4295 10.9585 15.6543 11.2566C15.8791 11.5547 16.0005 11.918 16 12.2914Z\" fill=\"#0000FF\"/> </svg>',\r\n\r\n  \"instagram-dark\": '<svg  width=\"30\" height=\"30\" viewBox=\"0 0 32 32\"><path d=\"M16,0A16,16,0,1,0,32,16,16,16,0,0,0,16,0ZM12.482,7.518c.91-.041,1.2-.051,3.519-.051h0c2.318,0,2.608.01,3.518.051a6.289,6.289,0,0,1,2.073.4,4.368,4.368,0,0,1,2.5,2.5,6.329,6.329,0,0,1,.4,2.072c.041.91.051,1.2.051,3.518s-.01,2.608-.051,3.518a6.327,6.327,0,0,1-.4,2.071,4.374,4.374,0,0,1-2.5,2.5,6.259,6.259,0,0,1-2.072.4c-.911.042-1.2.052-3.518.052s-2.608-.01-3.518-.052a6.254,6.254,0,0,1-2.072-.4,4.366,4.366,0,0,1-2.495-2.5,6.275,6.275,0,0,1-.4-2.071c-.041-.91-.051-1.2-.051-3.518s.01-2.608.051-3.519a6.224,6.224,0,0,1,.4-2.071,4.36,4.36,0,0,1,2.5-2.495A6.275,6.275,0,0,1,12.482,7.518Z\" fill=\"inherit\" style=\"fill-rule:evenodd\"/><path d=\"M15.236,9H16c2.278,0,2.548.008,3.448.049a4.723,4.723,0,0,1,1.585.294,2.829,2.829,0,0,1,1.619,1.62,4.71,4.71,0,0,1,.294,1.584c.041.9.049,1.169.049,3.447s-.008,2.547-.049,3.447a4.71,4.71,0,0,1-.294,1.584,2.833,2.833,0,0,1-1.619,1.618,4.7,4.7,0,0,1-1.585.294c-.9.041-1.17.05-3.448.05s-2.549-.009-3.448-.05a4.723,4.723,0,0,1-1.585-.294,2.829,2.829,0,0,1-1.62-1.619,4.736,4.736,0,0,1-.294-1.584c-.04-.9-.049-1.17-.049-3.448s.009-2.548.049-3.447a4.776,4.776,0,0,1,.294-1.585,2.834,2.834,0,0,1,1.62-1.62,4.723,4.723,0,0,1,1.585-.294C13.34,9.014,13.645,9,15.236,9Zm5.32,1.417a1.024,1.024,0,1,0,1.024,1.024,1.024,1.024,0,0,0-1.024-1.024ZM11.619,16A4.382,4.382,0,1,1,16,20.381,4.382,4.382,0,0,1,11.619,16Z\" fill=\"inherit\" style=\"fill-rule:evenodd\"/><path d=\"M16,13.155A2.845,2.845,0,1,1,13.156,16,2.844,2.844,0,0,1,16,13.155Z\" fill=\"inherit\"/></svg>',\r\n  \"twitter-dark-bckgr\": '<svg width=\"30\" height=\"30\"  viewBox=\"0 0 32 32\"><path d=\"M16,0A16,16,0,1,0,32,16,16,16,0,0,0,16,0Zm-.446,13.559-.033-.554A3.234,3.234,0,0,1,17.7,9.751a3.825,3.825,0,0,1,1.959-.045,4.524,4.524,0,0,1,.951.5l.548.373.6-.192A6.184,6.184,0,0,0,22.751,10c.19-.1.358-.158.358-.124a3.282,3.282,0,0,1-.761,1.209c-.47.509-.336.554.615.215.571-.192.582-.192.47.022a7.331,7.331,0,0,1-.783.87c-.627.622-.66.69-.66,1.209a11.666,11.666,0,0,1-.761,3.39A9.835,9.835,0,0,1,17.5,21.174a9.457,9.457,0,0,1-7.342.836A8.525,8.525,0,0,1,8,21.016a3.327,3.327,0,0,1,.918-.091,6.289,6.289,0,0,0,3-.836l.6-.361-.693-.238a3.382,3.382,0,0,1-2.093-1.853c-.067-.237-.045-.248.582-.248l.649-.011-.549-.26a3.617,3.617,0,0,1-1.533-1.447,4.065,4.065,0,0,1-.4-1.514,1.31,1.31,0,0,1,.526.125c.772.282.873.214.426-.26a3.26,3.26,0,0,1-.694-3.345l.19-.542.739.735A9.1,9.1,0,0,0,15,13.491Z\" fill=\"#1f1f1f\" fill-rule=\"evenodd\"/></svg>',\r\n  \"twitterx-dark-bckgr\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_458_3851)\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15 30C23.2843 30 30 23.2843 30 15C30 6.71573 23.2843 0 15 0C6.71573 0 0 6.71573 0 15C0 23.2843 6.71573 30 15 30ZM22.9357 7H20.175L15.6277 11.7928L11.6959 7H6L12.8051 15.2034L6.3555 22H9.11737L14.0955 16.7552L18.4459 22H24L16.9058 13.3538L22.9357 7ZM20.7375 20.4772H19.2075L9.22313 8.4431H10.8634L20.7375 20.4772Z\" fill=\"#1F1F1F\"/></g><defs><clipPath id=\"clip0_458_3851\"><rect width=\"30\" height=\"30\" fill=\"white\"/></clipPath></defs></svg>',\r\n  \"linkedin-dark\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 32 32\"><path d=\"M16,0A16,16,0,1,0,32,16,16,16,0,0,0,16,0ZM7.681,13.252h3.626V24.146H7.681Zm3.865-3.37A1.885,1.885,0,0,0,9.518,8a1.888,1.888,0,1,0-.047,3.765h.023A1.892,1.892,0,0,0,11.546,9.882ZM20.209,13c2.386,0,4.175,1.558,4.175,4.9v6.246H20.758V18.318c0-1.464-.525-2.463-1.838-2.463a1.984,1.984,0,0,0-1.86,1.324,2.472,2.472,0,0,0-.12.883v6.085H13.314s.048-9.873,0-10.895H16.94V14.8A3.6,3.6,0,0,1,20.209,13Z\" fill=\"#1f1f1f\" fill-rule=\"evenodd\"/></svg>',\r\n  \"youtube-dark\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 32 32\"><path d=\"M16,0A16,16,0,1,0,32,16,16,16,0,0,0,16,0Zm6.668,10.5a2.167,2.167,0,0,1,1.509,1.549,23.439,23.439,0,0,1,.356,4.218,23.445,23.445,0,0,1-.356,4.218,2.169,2.169,0,0,1-1.509,1.549A49.712,49.712,0,0,1,16,22.4a49.712,49.712,0,0,1-6.668-.366,2.169,2.169,0,0,1-1.509-1.549,23.445,23.445,0,0,1-.356-4.218,23.439,23.439,0,0,1,.356-4.218A2.167,2.167,0,0,1,9.332,10.5,49.712,49.712,0,0,1,16,10.134,49.712,49.712,0,0,1,22.668,10.5Z\" fill=\"#1f1f1f\" fill-rule=\"evenodd\"/><path d=\"M14.4,19.2V13.866l4.267,2.667Z\" fill=\"#1f1f1f\"/></svg>',\r\n  \"facebook-dark\": '<svg width=\"30\" height=\"30\"  viewBox=\"0 0 32 32\"><path d=\"M16,0A16,16,0,1,0,32,16,16,16,0,0,0,16,0Zm1.668,16.7v8.705h-3.6V16.7h-1.8v-3h1.8V11.9c0-2.447,1.016-3.9,3.9-3.9h2.4v3h-1.5c-1.124,0-1.2.419-1.2,1.2l0,1.5h2.721l-.318,3Z\" fill=\"#1f1f1f\" fill-rule=\"evenodd\"/></svg>',\r\n  \"naver-dark-bckgr\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"><ellipse style=\"stroke: rgb(0, 0, 0); stroke-width: 0px; transform-origin: 8.864px 8.58px;\" cx=\"16.013\" cy=\"15.993\" rx=\"16\" ry=\"16\" transform=\"matrix(0.999848, -0.017452, 0.017452, 0.999848, -0.133635, 0.123389)\"></ellipse>  <path d=\"M 9.5 9.5 L 9.5 22.5 L 14.027 22.5 L 14.027 15.994 L 17.966 22.5 L 22.5 22.5 L 22.5 9.5 L 17.966 9.5 L 17.966 15.994 L 14.027 9.5 L 9.5 9.5 Z\" style=\"fill: rgb(255, 255, 255);\"></path></svg>',\r\n\"chevron-left-circle\": '<svg  width=\"30\" height=\"30\"  viewBox=\\\"0 0 40 40\\\" fill=\"inherit\"><path fill-rule=\"evenodd\" d=\"M20.002 40C31.038 40 40 31.033 40 19.998S31.038 0 20.002 0 0 8.962 0 19.998 8.966 40 20.002 40zm0-1.818c-10.053 0-18.184-8.131-18.184-18.184a18.17 18.17 0 0 1 18.184-18.18c10.053 0 18.18 8.126 18.18 18.18a18.17 18.17 0 0 1-18.18 18.184z\"/><path d=\"M17.158 19.999l7.257-6.977c.069-.066.124-.145.162-.233s.057-.181.057-.276-.02-.189-.057-.276-.093-.167-.162-.233a.74.74 0 0 0-.24-.154.76.76 0 0 0-.562 0 .74.74 0 0 0-.24.154h0L15.63 19.45l-.03.023-.007.005-.007.006c-.07.066-.126.146-.165.234s-.058.183-.058.279.02.191.058.279.094.168.165.234l.007.006.007.005.03.023 7.746 7.453h0c.14.134.328.208.522.207s.382-.075.521-.209.218-.318.218-.51-.08-.375-.22-.509l-7.26-6.977z\" stroke=\"inherit\" stroke-width=\".3\"/></svg>',\r\n  \"chevron-right-circle\": '<svg width=\"30\" height=\"30\" viewBox=\\\"0 0 40 40\\\" fill=\"inherit\"><path fill-rule=\"evenodd\" d=\"M20.002 40C31.038 40 40 31.033 40 19.998S31.038 0 20.002 0 0 8.962 0 19.998 8.966 40 20.002 40zm0-1.818c-10.053 0-18.184-8.131-18.184-18.184a18.17 18.17 0 0 1 18.184-18.18c10.053 0 18.18 8.126 18.18 18.18a18.17 18.17 0 0 1-18.18 18.184z\"/><path d=\"M22.842 20.001l-7.257 6.977c-.069.066-.124.145-.162.233s-.057.181-.057.276.019.189.057.276.093.166.162.233a.74.74 0 0 0 .24.154.76.76 0 0 0 .562 0 .74.74 0 0 0 .24-.154h0l7.743-7.447.03-.023.007-.005.007-.006c.07-.066.126-.146.165-.234s.058-.183.058-.279-.02-.191-.058-.279-.094-.168-.165-.234l-.007-.006-.007-.005-.03-.023-7.746-7.453h0c-.14-.134-.328-.208-.522-.207s-.382.075-.521.209-.219.318-.218.51.08.376.22.509l7.26 6.977z\" stroke=\"inherit\" stroke-width=\".3\"/></svg>',\r\n  \"instagram-color\": '<svg width=\"30\" height=\"30\"  viewBox=\"0 0 30 30\"><path d=\"M15 10.49A4.51 4.51 0 1 0 19.54 15 4.52 4.52 0 0 0 15 10.49zm0 7.44A2.93 2.93 0 1 1 18 15a2.94 2.94 0 0 1-3 2.93zm5.78-7.63a1.06 1.06 0 1 1-1.05-1.05 1.05 1.05 0 0 1 1.05 1.05zm3 1.07a5.21 5.21 0 0 0-1.43-3.69 5.29 5.29 0 0 0-3.71-1.42c-1.46-.08-5.84-.08-7.3 0a5.29 5.29 0 0 0-3.7 1.42 5.21 5.21 0 0 0-1.43 3.69 109.84 109.84 0 0 0 0 7.26 5.21 5.21 0 0 0 1.43 3.69 5.29 5.29 0 0 0 3.71 1.42c1.46.08 5.84.08 7.3 0a5.27 5.27 0 0 0 3.71-1.42 5.22 5.22 0 0 0 1.43-3.69 109.84 109.84 0 0 0 0-7.26zm-1.88 8.82a3 3 0 0 1-1.68 1.67c-1.17.46-3.93.35-5.22.35s-4.06.11-5.22-.35a3 3 0 0 1-1.68-1.67C7.64 19 7.75 16.28 7.75 15s-.11-4 .35-5.19a3 3 0 0 1 1.68-1.67c1.22-.46 3.93-.35 5.22-.35s4.06-.11 5.22.35a3 3 0 0 1 1.68 1.67c.46 1.16.36 3.91.36 5.19s.1 4-.36 5.19z\" fill=\"#c63b78\"/></svg>',\r\n  \"twitter-color\": '<svg  width=\"30\" height=\"30\" viewBox=\"0 0 30 30\"><path d=\"M21.61 11.73v.42a9.47 9.47 0 0 1-9.7 9.38 9.86 9.86 0 0 1-5.24-1.48 7.27 7.27 0 0 0 .82 0 7 7 0 0 0 4.24-1.41 3.41 3.41 0 0 1-3.2-2.28 4.74 4.74 0 0 0 .65.05 4 4 0 0 0 .9-.11 3.33 3.33 0 0 1-2.73-3.2h0a3.48 3.48 0 0 0 1.54.42 3.26 3.26 0 0 1-1.52-2.74 3.16 3.16 0 0 1 .47-1.67 9.8 9.8 0 0 0 7 3.45 3.77 3.77 0 0 1-.08-.76 3.35 3.35 0 0 1 3.44-3.33 3.46 3.46 0 0 1 2.49 1 6.82 6.82 0 0 0 2.17-.8 3.29 3.29 0 0 1-1.5 1.82 6.74 6.74 0 0 0 2-.51 7.08 7.08 0 0 1-1.71 1.7z\" fill=\"#00aded\"/></svg>',\r\n  \"twitterx-color\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M20.175 7H22.9357L16.9058 13.3538L24 22H18.4459L14.0955 16.7552L9.11737 22H6.3555L12.8051 15.2034L6 7H11.6959L15.6277 11.7928L20.175 7ZM19.2075 20.4772H20.7375L10.8634 8.4431H9.22313L19.2075 20.4772Z\" fill=\"#00ADED\"/></svg>',\r\n  \"linkedin-color\": '<svg viewBox=\"0 0 30 30\"><path d=\"M10.51,23.09H7.14V12.29h3.37ZM8.82,10.81A2,2,0,1,1,10.2,7.47a2,2,0,0,1,.58,1.38,2,2,0,0,1-2,2ZM23.13,23.09H19.76V17.83c0-1.25,0-2.86-1.75-2.86s-2,1.36-2,2.77v5.35H12.62V12.29h3.23v1.47h.05A3.55,3.55,0,0,1,19.09,12c3.41,0,4,2.24,4,5.15v5.93h0Z\" fill=\"#0077b5\"/></svg>',\r\n  \"youtube-color\": '<svg width=\"30px\" height=\"30px\" viewBox=\"0 0 30 30\"><path d=\"M24.88,10.09a2.56,2.56,0,0,0-1.82-1.81C21.45,7.86,15,7.86,15,7.86s-6.45,0-8.06.42a2.6,2.6,0,0,0-1.82,1.81A26.46,26.46,0,0,0,4.69,15a26.55,26.55,0,0,0,.43,4.93,2.56,2.56,0,0,0,1.82,1.78c1.61.42,8.06.42,8.06.42s6.45,0,8.06-.42a2.56,2.56,0,0,0,1.82-1.78A26.55,26.55,0,0,0,25.31,15a26.46,26.46,0,0,0-.43-4.92Zm-12,8V12l5.39,3Z\" fill=\"#b00\"/></svg>',\r\n  \"facebook-color\": '<svg width=\"30px\" height=\"30px\" viewBox=\"0 0 30 30\"><path d=\"M19.13,16.1l.5-3.18H16.54V10.85a1.59,1.59,0,0,1,1.81-1.71h1.41V6.43a17,17,0,0,0-2.49-.22,3.91,3.91,0,0,0-4.2,4.28v2.43H10.24V16.1h2.83v7.69h3.47V16.1Z\" fill=\"#3a5899\"/></svg>',\r\n  \"target-location\": '<svg width=\"30px\" height=\"30px\" viewBox=\"0 0 30 30\"><path d=\"M15,11.25A3.75,3.75,0,1,0,18.75,15,3.75,3.75,0,0,0,15,11.25Zm0,6.25A2.5,2.5,0,1,1,17.5,15,2.5,2.5,0,0,1,15,17.5Zm9.38-3.12H22.47a7.51,7.51,0,0,0-6.85-6.85V5.62a.62.62,0,1,0-1.24,0V7.53a7.51,7.51,0,0,0-6.85,6.85H5.62a.62.62,0,0,0,0,1.24H7.53a7.51,7.51,0,0,0,6.85,6.85v1.91a.62.62,0,0,0,1.24,0V22.47a7.51,7.51,0,0,0,6.85-6.85h1.91a.62.62,0,1,0,0-1.24ZM15,21.25A6.25,6.25,0,1,1,21.25,15,6.27,6.27,0,0,1,15,21.25Z\"/></svg>',\r\n  \"car\": '<svg width=\"40\" height=\"40\" fill=\"inherit\" viewBox=\"0 0 40 40\"><path d=\"M2.36 16.09l2.48.13 4.34-2.36a8.18 8.18 0 0 1 4.34-1.36l7.06.12a8.17 8.17 0 0 1 4.71 1.49l5.95 3.72c6.82.37 7.32 1.61 8.31 5 .25 1.12 0 2-1.24 2H36.7v-.49a3.85 3.85 0 1 0-7.69 0v.49h-17.6c0-.24.12-.37.12-.49a3.86 3.86 0 0 0-3.84-3.85 3.78 3.78 0 0 0-3.84 3.72v.62H1.74a1.33 1.33 0 0 1-1.36-1.54L1 17.46a1.37 1.37 0 0 1 1.36-1.36zm25.91 1.62l-3.72-2.36a6.52 6.52 0 0 0-4-1.24h-1.08v3zM17.61 14h-4.22c-2.1 0-2.6.87-4.09 2.48l8.31.49zm-9.92 7.05a3.2 3.2 0 0 1 3.22 3.18v.05a3.28 3.28 0 0 1-3.22 3.22 3.31 3.31 0 0 1-3.35-3.22 3.24 3.24 0 0 1 3.35-3.23zm0 1.62a1.62 1.62 0 0 1 1.49 1.61 1.5 1.5 0 0 1-1.49 1.48 1.53 1.53 0 0 1-1.61-1.48 1.64 1.64 0 0 1 1.61-1.61zm25.17-1.62a3.13 3.13 0 0 1 3.22 3.23 3.2 3.2 0 0 1-3.18 3.22h0a3.29 3.29 0 0 1-3.23-3.22 3.21 3.21 0 0 1 3.18-3.23zm0 1.62a1.64 1.64 0 0 1 1.61 1.61 1.54 1.54 0 0 1-1.61 1.48 1.42 1.42 0 0 1-1.49-1.36v-.12a1.53 1.53 0 0 1 1.49-1.61z\"/></svg>',\r\n  \"truck\": '<svg width=\"40\" height=\"40\" fill=\"inherit\" viewBox=\"0 0 40 40\"><path d=\"M35.2 19.8l-2.9-5.9h-4.2v7.8H4.8v2.8l6.2-.1c-.3.5-.6 1-.6 1.6a2.69 2.69 0 0 0 2.7 2.7 2.69 2.69 0 0 0 2.7-2.7c0-.6-.2-1.2-.6-1.6h11.4c-.3.5-.6 1-.6 1.6a2.7 2.7 0 1 0 5.4 0c0-.6-.2-1.2-.6-1.6h4.3v-4.6zm-22.1 7.6c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4c.1.7-.6 1.4-1.4 1.4zm15.7 0c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4c0 .7-.6 1.4-1.4 1.4zm2-3.9h0zm3.5-3.5H29v-4.8h3.1l2.3 4.7v.1zm-6.5-8.6h-23v10h23v-10z\"/></svg>',\r\n  \"filter\": '<svg width=\"30\" height=\"30\" fill=\"inherit\" viewBox=\"0 0 30 30\"><path d=\"M23.461 14.421h-6.144c-.237-1.136-1.229-1.983-2.393-1.983s-2.156.847-2.393 1.983H6.539c-.302 0-.539.245-.539.557s.237.557.539.557h5.993c.237 1.136 1.229 1.983 2.393 1.983s2.156-.846 2.393-1.983h6.144c.302 0 .539-.245.539-.557 0-.29-.259-.557-.539-.557zm-8.536 1.983c-.755 0-1.38-.646-1.38-1.426s.625-1.426 1.38-1.426 1.38.646 1.38 1.426-.625 1.426-1.38 1.426zM8.48 11.079c1.164 0 2.156-.847 2.393-1.983h12.568c.302 0 .539-.245.539-.557s-.237-.557-.539-.557H10.873C10.636 6.847 9.645 6 8.48 6 7.122 6 6.023 7.158 6.023 8.54s1.099 2.54 2.457 2.54zm0-3.965c.755 0 1.38.646 1.38 1.426s-.625 1.426-1.38 1.426S7.1 9.32 7.1 8.54s.625-1.426 1.38-1.426zm13.041 11.807c-1.164 0-2.134.847-2.393 1.96H6.539c-.302 0-.539.245-.539.557s.237.557.539.557h12.589C19.365 23.131 20.357 24 21.521 24c1.358 0 2.457-1.136 2.457-2.54s-1.121-2.54-2.457-2.54zm0 3.943c-.755 0-1.38-.646-1.38-1.426s.625-1.426 1.38-1.426 1.38.646 1.38 1.426-.625 1.426-1.38 1.426z\"/></svg>',\r\n  \"check\": '<svg  width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"inherit\"><path d=\"M18.1 6.3l-9.4 9.4c-.3.3-.7.4-1 .4a1.78 1.78 0 0 1-1-.4L2 11.1c-.6-.6-.6-1.5 0-2.1.5-.5 1.5-.6 2 0l3.6 3.6 8.3-8.3c.6-.6 1.5-.6 2.1 0 .6.5.6 1.5.1 2z\"/></svg>',\r\n  \"sign-out\": '<svg width=\"20\" height=\"20\" fill=\"inherit\" viewBox=\"0 0 20 20\"><path d=\"M18.9 10.5c0-.1 0-.1 0 0h0c0-.1 0-.1 0 0l.1-.1h0v-.1-.1h0l-2.4-2.7c-.3-.3-.8-.4-1.1-.1s-.4.8-.1 1.1l1.2 1.3H6.3c-.4 0-.8.4-.8.8s.4.8.8.8h10.1l-1.2 1.3c-.3.3-.3.8.1 1.1.1.1.3.2.5.2s.4-.1.6-.3l2.5-3.2h0c-.1 0-.1 0 0 0h0 0zm-7.3 3.3c-.4 0-.8.4-.8.8v1.8c0 .6-.5 1-1.1 1h-6c-.6 0-1.1-.5-1.1-1V3.6c0-.6.5-1 1.1-1h6.1c.6 0 1.1.5 1.1 1v1.8c0 .4.4.8.8.8s.8-.4.8-.8V3.6c0-1.5-1.2-2.6-2.7-2.6H3.7C2.2 1 1 2.2 1 3.6v12.8C1 17.8 2.2 19 3.7 19h6.1c1.5 0 2.7-1.2 2.7-2.6v-1.8c-.1-.4-.5-.8-.9-.8z\"/></svg>',\r\n  \"sign-in\": '<svg width=\"20\" height=\"20\" fill=\"inherit\" viewBox=\"0 0 20 20\"><path d=\"M14.34 10.42s.01-.02.02-.03l.02-.03s.01-.02.02-.03 0-.02.02-.03 0-.02.01-.03v-.04s.02-.02.02-.04v-.04-.03-.04-.03-.07-.07-.03-.04-.03-.04-.04-.04l-.03-.03c-.01-.01 0-.02-.02-.03s0-.02-.02-.03-.01-.02-.02-.03-.01-.02-.02-.03-.01-.02-.02-.03-.01-.02-.02-.03l-2.41-2.66c-.29-.33-.79-.35-1.12-.06a.77.77 0 0 0-.06 1.11l1.21 1.34H1.79c-.44 0-.79.35-.79.79h0c0 .44.35.79.79.79h10.12l-1.21 1.34a.78.78 0 0 0 .06 1.11c.15.13.34.2.53.2.22 0 .43-.09.59-.26l2.4-2.65.03-.04s.01-.04.02-.05h0zM7.41 6.17c.48 0 .87-.35.87-.79h0V3.62c0-.59.53-1.04 1.18-1.04h6.63c.65 0 1.18.46 1.18 1.04v12.76c0 .59-.53 1.04-1.18 1.04H9.46c-.65 0-1.18-.46-1.18-1.04v-1.76c0-.44-.39-.79-.87-.79s-.87.35-.87.79h0v1.76c0 1.46 1.31 2.62 2.92 2.62h6.63c1.6 0 2.92-1.16 2.92-2.62V3.62C19.01 2.16 17.7 1 16.09 1H9.46c-1.6 0-2.92 1.16-2.92 2.62v1.76c0 .44.39.79.87.79h0z\"/></svg>',\r\n  \"cog\": '<svg width=\"30\" height=\"20\" fill=\"inherit\" viewBox=\"0 0 20 20\"><path d=\"M18.8 6.2c-.3-.6-1.1-1.1-1.7-1.1-.7 0-1.4-.2-1.8-.5-.3-.3-.6-1.1-.6-1.8s-.5-1.4-1.2-1.7-1.6-.1-2 .4-1.2.9-1.6.9c-.5 0-1.2-.3-1.7-.8-.4-.5-1.3-.6-2-.4-.6.3-1.1 1.1-1.1 1.8s-.2 1.4-.5 1.8c-.4.3-1.1.6-1.8.5-.7 0-1.4.5-1.7 1.2-.2.6 0 1.5.5 2 .5.4.9 1.2.9 1.6 0 .5-.3 1.2-.8 1.7s-.7 1.4-.4 2c.3.7 1.1 1.1 1.7 1.1.7 0 1.4.2 1.8.5.3.3.6 1.1.6 1.8s.5 1.4 1.2 1.7 1.6.1 2-.4 1.2-.9 1.6-.9c.5 0 1.2.3 1.7.8s1.4.7 2 .4 1.1-1.1 1.1-1.7.2-1.4.5-1.8c.3-.3 1.1-.6 1.8-.6s1.4-.5 1.7-1.2.1-1.6-.4-2-.9-1.2-.9-1.6c0-.5.3-1.2.8-1.7.2-.3.4-.6.5-1-.1-.3-.1-.7-.2-1zm-7.4 7c-.9.4-1.8.4-2.7 0-.9-.3-1.6-1-1.9-1.9-.4-.9-.4-1.8 0-2.7.3-.9 1-1.6 1.9-1.9.9-.4 1.8-.4 2.7 0 .9.3 1.6 1 1.9 1.9.4.9.4 1.8 0 2.7s-1.1 1.5-1.9 1.9h0z\" /></svg>',\r\n  \"book\": '<svg width=\"30\" height=\"30\" fill=\"inherit\" viewBox=\"0 0 30 30\"><path d=\"M14.532 20.352V7.744A12.22 12.22 0 0 0 10.336 7a12.23 12.23 0 0 0-4.195.744v12.608c1.322-.482 2.732-.744 4.195-.744s2.873.262 4.196.744zm9.356 0V7.744A12.21 12.21 0 0 0 19.692 7c-1.465 0-2.873.263-4.195.744v12.608a12.22 12.22 0 0 1 8.391 0zm.485-11.079v11.834l-.637-.232a11.8 11.8 0 0 0-4.046-.718c-1.377 0-2.738.241-4.046.718l-.627.228v.003l-.005-.002-.005.002v-.003l-.627-.228a11.8 11.8 0 0 0-4.046-.718c-1.377 0-2.738.241-4.046.718l-.636.232V9.273H5V22.31h8.694c.255.411.75.69 1.319.69s1.064-.279 1.319-.69H25V9.273h-.627z\"/></svg>',\r\n  \"receiver\": '<svg width=\"30\" height=\"30\" fill=\"inherit\" viewBox=\"0 0 30 30\"><path d=\"M23 19.3v2c0 .5-.2.9-.5 1.2s-.8.5-1.2.5h-1.1c-1.7 0-3.4-.3-5-1s-3-1.6-4.3-2.9c-1.2-1.2-2.2-2.7-2.9-4.3s-1-3.3-1-5V8.7c0-.5.2-.9.5-1.2S8.3 7 8.7 7h2a1.69 1.69 0 0 1 1 .3c.3.2.5.5.6.9l.7 2.5c.1.3.1.6 0 .9s-.2.6-.4.8l-1.4 1.4a9.75 9.75 0 0 0 4.9 4.9l1.4-1.4c.2-.2.5-.4.8-.4.3-.1.6-.1.9 0l2.5.7c.4.1.7.3.9.6s.4.7.4 1.1z\"/></svg>',\r\n  \"link-external\": '<svg width=\"20\" height=\"20\" fill=\"inherit\" viewBox=\"0 0 20 20\"><path d=\"M16.9 4l-6.5 6.5a.61.61 0 0 1-.8 0 .61.61 0 0 1 0-.8L16 3.1h-4.3a.65.65 0 0 1-.6-.6.65.65 0 0 1 .6-.6h5.7c.3.1.6.4.6.7v5.7a.65.65 0 0 1-.6.6.65.65 0 0 1-.6-.6l.1-4.3h0zm-10.3.3H3.7C2.8 4.3 2 5 2 6v10.3c0 .9.8 1.7 1.7 1.7H14c.2 0 .4 0 .7-.1s.4-.2.6-.4.3-.3.4-.6.1-.4.1-.7v-2.9a.65.65 0 0 0-.6-.6.65.65 0 0 0-.6.6v2.9c0 .2-.1.3-.2.4s-.1.1-.2.1H14 3.7c-.2 0-.3-.1-.4-.2s-.2-.2-.2-.4V6a.65.65 0 0 1 .6-.6h2.9a.65.65 0 0 0 .6-.6c-.1-.3-.3-.5-.6-.5z\"/></svg>',\r\n  \"video-play-btn-opacity\": '<svg width=\"50\" height=\"50\" viewBox=\"0 0 50 50\" ><path d=\"M25 49.9c13.8 0 25-11.1 25-24.9S38.8.1 25 .1 0 11.2 0 25s11.2 24.9 25 24.9zm13.2-25l-20-11.5v23l20-11.5z\" opacity=\".8\" fill-rule=\"evenodd\" fill=\"#fff\" enable-background=\"new\"/></svg>',\r\n  \"check-color\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" fill=\"inherit\"><path d=\"M9.5 14.4L7.8 16l4.5 4.8 10-10-1.7-1.7-8.3 8.3-2.8-3z\"/><path d=\"M15 25c5.5 0 10-4.5 10-10h-2.4a7.6 7.6 0 1 1-15.2 0A7.6 7.6 0 0 1 15 7.4V5C9.5 5 5 9.5 5 15s4.5 10 10 10h0z\"/></svg>',\r\n  \"link\": '<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"#inherit\" ><path d=\"M12 6.5l-.2-.2-2.7-2.7c-1.5-1.5-4-1.5-5.5 0s-1.5 4 0 5.5l2.7 2.7.2.2c-.2-.9-.2-1.8.1-2.6L5 7.7A1.82 1.82 0 0 1 5 5c.8-.8 2-.8 2.7 0l2.7 2.7c.4.4.6.8.6 1.3 0 .2 0 .4-.1.6-.1.3-.2.6-.5.8-.2.2-.5.4-.8.5 0 .3.1.6.4.9l.8.8c.4-.2.7-.4 1.1-.8a4.44 4.44 0 0 0 .8-1.1c.1-.2.2-.4.2-.7.2-.9.2-1.8-.2-2.7-.3-.2-.5-.5-.7-.8zm.3 8.5l-2.7-2.7c-.4-.4-.6-.8-.6-1.3 0-.2 0-.4.1-.6.1-.3.2-.6.5-.8.2-.2.5-.4.8-.5 0-.3-.1-.6-.4-.9l-.8-.8c-.3.2-.7.5-1 .8s-.6.7-.8 1c-.1.3-.2.5-.2.7-.2.9-.2 1.8.2 2.7.2.3.3.6.6.9l.2.2 2.7 2.7c1.5 1.5 4 1.5 5.5 0s1.5-4 0-5.5l-2.7-2.7-.2-.2c.2.9.2 1.8-.1 2.6l1.7 1.7c.8.8.8 2 0 2.7-.8.8-2.1.8-2.8 0z\"/></svg>',\r\n  \"vkontakte\": '<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"#inherit\"><path d=\"M19.5 4.8c.1-.5 0-.8-.7-.8h-2.2a1.1 1.1 0 0 0-1 .6s-1.1 2.7-2.7 4.5c-.5.5-.7.7-1 .7-.1 0-.3-.2-.3-.6V4.8c0-.6-.2-.8-.6-.8H7.6a.47.47 0 0 0-.5.5c0 .5.8.7.9 2.1v3.2c0 .7-.1.8-.4.8-.8.1-2.6-2.6-3.7-5.7-.2-.6-.4-.9-1-.9H.8c-.7 0-.8.3-.8.7 0 .6.7 3.5 3.5 7.3 1.8 2.6 4.4 4 6.7 4 1.4 0 1.6-.3 1.6-.8v-2c0-.6.1-.8.6-.8.3 0 .9.2 2.2 1.4 1.5 1.5 1.7 2.2 2.6 2.2h2.2c.6 0 .9-.3.8-.9-.2-.6-.9-1.5-1.8-2.6-.5-.6-1.3-1.3-1.5-1.6-.3-.4-.2-.6 0-1-.3 0 2.4-3.8 2.6-5.1h0z\"/></svg>',\r\n  \"wechat\": '<svg  width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"#inherit\"><path d=\"M17.9 16.3c1.3-.9 2.1-2.3 2.1-3.8 0-2.8-2.7-5-6-5s-6 2.2-6 5 2.7 5 6 5c.7 0 1.4-.1 2-.3h.2c.1 0 .2 0 .3.1l1.3.8h.1c.1 0 .2-.1.2-.2v-.1l-.3-1v-.1c0-.2 0-.4.1-.4zM7.2 1.9c-4 0-7.2 2.7-7.2 6 0 1.8 1 3.4 2.5 4.6.1.1.2.2.2.4v.2l-.3 1.2v.2c0 .1.1.2.2.2h.1l1.6-.9c.1-.1.2-.1.4-.1h.2c.7.1 1.5.3 2.3.3h.4c-.2-.5-.2-1-.2-1.5 0-3 3-5.5 6.6-5.5h.4c-.6-2.9-3.6-5.1-7.2-5.1zm4.8 9.8c-.4 0-.8-.4-.8-.8s.4-.8.8-.8.8.4.8.8-.4.8-.8.8zm4 0c-.4 0-.8-.4-.8-.8s.4-.8.8-.8.8.4.8.8-.4.8-.8.8zM4.8 7c-.5 0-1-.4-1-1 0-.5.4-1 1-1a.94.94 0 0 1 1 1c0 .5-.4 1-1 1zm4.8 0c-.5 0-1-.4-1-1 0-.5.4-1 1-1 .5 0 1 .4 1 1 0 .5-.4 1-1 1z\"/></svg>',\r\n  \"mall-jd\": '<svg  width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"#inherit\"><path d=\"M14.482 2.413c-1.2.2-9.1 1.5-10.5 3.9-.3-.2-1-.5-1.2-.6s-1.2-.4-1.3.5-.7 2.2-1.1 3c-.2.4-.9 2.1.5 2.1s3.3-1.4 2.6-3.9l.3.2c.6 2.6 5 5 8.5 5 2.6 0 5.2-1.7 6.7-4-1 .5-2.1.7-3.3.8-.9 0-1.8-.2-2.7-.6s-1.8-1-2.5-1.8c-.1-.1-.1-.3 0-.4s.3-.1.4 0c.6.7 1.4 1.2 2.3 1.6 1.9.8 3.9.6 6.1-.5h.1c.4-.9.6-1.8.6-2.7 0-3.4-4.5-2.7-5.5-2.6zm-3.4 3a.65.65 0 0 1-.6-.6.65.65 0 0 1 .6-.6.65.65 0 0 1 .6.6c-.1.3-.3.6-.6.6h0zm6.3-1.2c-.9 0-1.7-.3-1.7-.7s.8-.7 1.7-.7 1.7.3 1.7.7-.8.7-1.7.7h0zm-6.3 8.9l-1.2 2c-.1.1-.3.1-.5.1s-.6-.2-.6-.5-.1-.3-.1-.3-.1 0-.1.3.1 1 .9 1.1l-1.2 2h.5l1.5-1.5a.76.76 0 0 1 .4-.2v1.7h.5s.4-2 1-2 .8 2 .8 2h.6v-4.7c-.4.1-.9.1-1.3.1-.4-.1-.8-.1-1.2-.1z\"/></svg>',\r\n  \"weibo\": '<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"#inherit\"><path d=\"M20 6.7c.1 1.1-.1 2.5-.8 2.5-1.2.1-.6-1.2-.6-2 0-2.1-1.7-3.9-3.9-3.9-.5 0-1.8.4-1.6-.8.1-.5.5-.5 1-.5 3.2-.5 5.7 1.8 5.9 4.7zm-5.3 2.7c1.4.8 3.1 1.1 2.8 3.4-.1.6-.4 1.2-.7 1.7-2.4 3.3-9.5 4.7-13.9 2.2-1.5-.8-3-2.1-2.8-4.5.2-2.1 1.6-3.8 3-5.2 1.3-1.3 2.7-2.4 4.6-2.9 2.1-.5 2.7 1.2 2.1 2.9 1.2 0 3.7-1.3 4.9 0 .5.6.3 1.6 0 2.4zm-1.5 5.4c.6-.6.9-1.4.9-2.2 0-2.8-3.5-3.8-6.3-3.6-1.3.1-2.5.4-3.6 1.1-.9.5-1.9 1.3-2.1 2.6-.6 2.8 2.5 4.1 4.7 4.3 2.6.1 5.1-.8 6.4-2.2h0zm4-8.1c.1.9-.1 1.6-.6 1.6-.8.1-.5-.6-.6-1.3 0-.4-.3-.8-.7-1-.6-.3-1.6.2-1.6-.7 0-.7.6-.6.9-.6 1.3-.2 2.5.8 2.6 2zm-6.5 5.7c1.2 3.6-5 5.3-6.1 2.2-.8-2.1 1.1-3.7 3-3.9 1.5-.3 2.7.6 3.1 1.7zm-2.8.6c.1.2.4.3.6.2.1-.1.2-.2.2-.4-.1-.5-.9-.4-.8.2h0zm-1.1 1.9c1-.2 1.2-2.2-.4-1.9-1.3.3-1 2.2.4 1.9h0z\"/></svg>',\r\n  \"youku\": '<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"#inherit\"><path d=\"M10.3 3c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.2-7 7-7m0-3C4.8 0 .3 4.5.3 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zM8.014 14.716c-.5 0-1-.3-1.3-.7-.4-.7-.2-1.6.5-2l2.8-1.9-2.8-1.9c-.7-.4-.9-1.3-.5-2s1.3-1 2-.6c0 0 .1 0 .1.1l4.6 3.2c.4.3.7.8.7 1.3h0c0 .5-.2 1-.7 1.3l-4.6 2.9c-.2.2-.5.3-.8.3zm3.8-3.5h0z\"/></svg>',\r\n  \"delphi-qcpj-tmall\": '<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"#inherit\"><ellipse cx=\"4.775\" cy=\"11.518\" rx=\".9\" ry=\"2.2\"/><ellipse cx=\"15.175\" cy=\"11.518\" rx=\".9\" ry=\"2.2\"/><path d=\"M18.475 5.218c-1.5 0-2.4 1.7-2.6 2-.4.5-1 .8-1.6.8h-8.5c-.6 0-1.2-.3-1.6-.8-.2-.2-1.1-2-2.6-2s-1.6 1.6-1.6 2.2v5.3c0 1.1.9 2.1 2.1 2.1h0 15.8c1.1 0 2.1-.9 2.1-2.1h0v-5.3c0-.5 0-2.2-1.5-2.2zm-13.7 8.9c-1.4 0-2.6-1.1-2.6-2.6s1.1-2.6 2.6-2.6 2.6 1.1 2.6 2.6h0c0 1.4-1.1 2.6-2.6 2.6zm6-2.6l-.5.6c-.1.1-.3.1-.4 0l-.5-.6c-.1-.1-.1-.3 0-.4 0 0 .1-.1.2-.1h1.1c.1 0 .3.1.3.3l-.2.2zm4.4 2.6c-1.4 0-2.6-1.1-2.6-2.6s1.1-2.6 2.6-2.6 2.6 1.1 2.6 2.6h0a2.65 2.65 0 0 1-2.6 2.6h0z\"/></svg>',\r\n\r\n\r\n  \"vkontakte-dark\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\"><path d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\" fill=\"#1f1f1f\"/><path d=\"M24.5 9.8c.1-.5 0-.8-.7-.8h-2.2c-.4 0-.8.2-.9.6 0 0-1.1 2.7-2.7 4.5-.5.5-.7.7-1 .7-.1 0-.3-.1-.3-.6V9.8c0-.5-.1-.8-.6-.8h-3.5a.47.47 0 0 0-.5.5c0 .5.8.7.9 2.1v3.3c0 .7-.1.8-.4.8-.7 0-2.5-2.7-3.6-5.9-.3-.6-.5-.8-1.1-.8H5.7c-.6 0-.7.3-.7.6 0 .6.7 3.5 3.5 7.3 1.8 2.6 4.3 4 6.7 4 1.4 0 1.5-.3 1.5-.9v-2c0-.6.1-.7.6-.7.3 0 .9.1 2.2 1.4 1.5 1.5 1.7 2.2 2.5 2.2h2.2c.6 0 .9-.3.7-.9s-.9-1.5-1.9-2.6c-.5-.6-1.3-1.3-1.5-1.6-.3-.4-.3-.6 0-1 .1 0 2.8-3.7 3-5h0z\" fill=\"#fff\"/></svg>',\r\n  \"wechat-dark\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\"><path d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\" fill=\"#1f1f1f\"/><path d=\"M22.9 21.3c1.3-.9 2.1-2.3 2.1-3.8 0-2.8-2.7-5-6-5s-6 2.3-6 5c0 2.8 2.7 5 6 5 .7 0 1.3-.1 2-.3h.2c.1 0 .2.1.3.1l1.3.7.1.1c.1 0 .2-.1.2-.2v-.1l-.3-1v-.1c-.1-.2 0-.4.1-.4zM12.2 6.9c-4 0-7.2 2.7-7.2 6 0 1.8 1 3.5 2.5 4.5.1.1.2.2.2.4v.2l-.3 1.2-.1.2c0 .1.1.3.3.3l.1-.1 1.6-.9c.1-.1.3-.1.4-.1h.2c.7.2 1.5.3 2.3.3h.4c-.1-.5-.3-.9-.3-1.5 0-3.1 2.9-5.5 6.6-5.5h.4c-.5-2.8-3.4-5-7.1-5zm4.8 9.8c-.5 0-.8-.3-.8-.8s.3-.8.8-.8.8.3.8.8-.4.8-.8.8zm4 0c-.5 0-.8-.3-.8-.8s.3-.8.8-.8.8.3.8.8-.4.8-.8.8zM9.8 12c-.5 0-.9-.4-.9-.9s.4-.9.9-.9 1 .3 1 .9c0 .4-.5.9-1 .9zm4.9 0a1.08 1.08 0 0 1-1-1c0-.5.4-.9.9-.9s.9.4.9.9c.1.5-.3 1-.8 1z\" fill=\"#fff\"/></svg>',\r\n  \"mall-jd-dark\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\">\"><path d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\" fill-rule=\"evenodd\" fill=\"#1f1f1f\"/><path d=\"M19.482 7.413c-1.3.1-9.1 1.5-10.5 3.9-.3-.2-1-.5-1.1-.6-.2-.1-1.1-.4-1.3.5-.1.9-.7 2.3-1.1 3-.2.3-.9 2.1.5 2.1s3.3-1.3 2.6-3.9l.3.2c.6 2.6 5.1 4.9 8.5 4.9 2.5 0 5.2-1.7 6.7-4-1 .5-2.1.7-3.3.7-.9 0-1.8-.2-2.7-.5-.9-.4-1.8-1-2.5-1.7-.1-.1-.1-.3.1-.4.1-.1.3-.1.4.1.7.7 1.4 1.3 2.3 1.6 1.9.8 3.9.7 6.1-.5h.1c.4-.9.6-1.8.6-2.7-.2-3.5-4.7-2.8-5.7-2.7zm-3.4 3a.65.65 0 0 1-.6-.6.65.65 0 0 1 .6-.6.65.65 0 0 1 .6.6.65.65 0 0 1-.6.6h0 0zm6.3-1.2c-.9 0-1.7-.3-1.7-.7s.7-.7 1.7-.7 1.7.3 1.7.7-.7.7-1.7.7h0zm-6.3 8.9l-1.2 2c-.1.1-.3.1-.5.1s-.6-.2-.6-.5-.1-.3-.1-.3c-.1 0-.1 0-.1.3s.1 1 .9 1.1l-1.1 1.9h.5l1.5-1.5c.1-.1.3-.1.4-.1v1.7h.5s.4-2 1-2 .8 2 .8 2h.6v-4.7c-.4.1-.9.1-1.3.1-.5 0-.9 0-1.3-.1z\" fill=\"#fff\"/></svg>',\r\n  \"weibo-dark\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\"><path d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\" fill-rule=\"evenodd\" fill=\"#1f1f1f\"/><path d=\"M25 11.7c.1 1.1-.1 2.5-.9 2.5-1.2.1-.6-1.2-.5-2 0-2.1-1.7-3.9-3.9-3.9-.5 0-1.8.4-1.6-.8.1-.5.5-.5 1-.5 3.2-.4 5.6 1.8 5.9 4.7zm-5.3 2.8c1.4.8 3.1 1.1 2.8 3.4-.1.6-.3 1.2-.7 1.7-2.3 3.3-9.5 4.7-13.9 2.2-1.5-.9-3-2.1-2.8-4.5.2-2.1 1.6-3.7 3-5.1 1.3-1.3 2.7-2.4 4.7-2.9 2.1-.5 2.7 1.2 2.1 2.9 1.2-.1 3.7-1.4 4.9-.1.3.5.2 1.6-.1 2.4zm-1.6 5.3c.5-.6.9-1.4.9-2.2 0-2.8-3.5-3.8-6.3-3.6-1.3.1-2.5.4-3.6 1.1-.9.5-1.9 1.3-2.1 2.6-.5 2.8 2.5 4.1 4.7 4.3 2.6.1 5.2-.8 6.4-2.2h0zm4.2-8.1c.1.9-.1 1.6-.6 1.6-.8.1-.5-.5-.5-1.3-.1-.5-.4-.9-.8-1.1-.7-.3-1.6.2-1.6-.7 0-.7.6-.6.9-.6 1.2 0 2.4.9 2.6 2.1zm-6.6 5.6c1.2 3.6-5 5.3-6.1 2.2-.7-2.1 1.1-3.7 2.9-3.9 1.6-.1 2.8.7 3.2 1.7zm-2.8.7c.1.2.4.3.6.1.1-.1.2-.2.2-.4-.1-.4-.8-.3-.8.3h0zm-1 1.9c1.1-.3 1.2-2.2-.4-1.9-1.4.3-1.1 2.2.4 1.9h0z\" fill=\"#fff\"/></svg>',\r\n  \"youku-dark\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\"><path d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\" fill-rule=\"evenodd\" fill=\"#1f1f1f\"/><path d=\"M15.3 8c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7c.1-3.9 3.1-7 7-7m0-3c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10h0c0-5.5-4.5-10-10-10h0zm-2.286 14.716c-.5 0-1-.3-1.3-.7-.4-.7-.2-1.6.5-2.1l2.8-1.9-2.8-1.9c-.7-.5-.9-1.3-.5-2s1.3-1 2.1-.6l4.7 3.2c.4.3.7.7.7 1.3h0c0 .5-.3 1-.7 1.3l-4.7 3.2c-.2.1-.5.2-.8.2zm3.8-3.5h0z\" fill=\"#fff\"/></svg>',\r\n  \"delphi-qcpj-tmall-dark\": '<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\"><path d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\" fill-rule=\"evenodd\" fill=\"#1f1f1f\"/><g fill=\"#fff\"><ellipse cx=\"9.8\" cy=\"16.5\" rx=\".9\" ry=\"2.2\"/><ellipse cx=\"20.2\" cy=\"16.5\" rx=\".9\" ry=\"2.2\"/><path d=\"M23.5 10.3c-1.5 0-2.4 1.7-2.6 2-.3.5-1 .8-1.6.8h-8.5c-.7 0-1.3-.3-1.6-.8-.2-.2-1.1-2-2.6-2S5.1 12 5.1 12.4v5.3c0 1.1.9 2.1 2.1 2.1h0H23c1.1 0 2.1-.9 2.1-2.1h0v-5.3c-.1-.5-.2-2.1-1.6-2.1zM9.9 19.1c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5h0c0 1.4-1.1 2.5-2.5 2.5zm5.9-2.6l-.5.6c-.1.1-.2.1-.3.1l-.1-.1-.5-.6c-.1-.1-.1-.3 0-.3.1-.1.1-.1.2-.1h1.1c.1 0 .3.1.3.3-.1 0-.1.1-.2.1zm4.4 2.6c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5h0c0 1.4-1.1 2.5-2.5 2.5z\"/></g></svg>'\r\n}\r\n\r\nwindow.UIkit.icon.add(icons);\r\n\r\nwindow.UIkitIcons = window.UIkitIcons.concat(Object.keys(icons));\r\n\r\nwindow.labels = {};\r\nwindow.addLabels = function (labels) {\r\n  if (!labels) return;\r\n  window.labels = { ...window.labels, ...labels };\r\n};\r\nwindow.l = function (k) {\r\n  k = k.toString().trim();\r\n  /* eslint-disable */\r\n  if (!window.labels.hasOwnProperty(k)) {\r\n    // console.log('Missing label', k)\r\n    return `#ResourceNotFound: ${k}#`;\r\n  }\r\n  return window.labels[k];\r\n};\r\n"],"names":["module","exports","hasOwnProperty","toString","Object","prototype","hasOwn","obj","key","call","hyphenateRe","hyphenate","memoize","str","replace","toLowerCase","camelizeRe","camelize","charAt","slice","_","c","toUpperCase","ucfirst","startsWith","search","_a","endsWith","includes","findIndex","array","predicate","isArray","from","toArray","Array","assign","isFunction","isObject","isPlainObject","isWindow","window","isDocument","nodeType","isNode","isElement","isBoolean","value","isString","isNumber","isNumeric","isNaN","parseFloat","isEmpty","length","keys","isUndefined","toBoolean","toNumber","number","Number","toFloat","toNode","element","toNodes","filter","toWindow","document","ownerDocument","defaultView","isEqual","other","each","val","swap","a","b","RegExp","match","last","cb","sortBy$1","prop","sort","propA","propB","sumBy","iteratee","reduce","sum","item","uniqueBy","seen","Set","check","has","add","pick","props","res","clamp","min","max","Math","noop","intersectRect","rects","every","minProp","maxProp","map","pointInRect","point","rect","x","right","left","y","bottom","top","ratio","dimensions","aProp","round","contain","maxDimensions","cover$1","Dimensions","cover","getIndex","i","elements","current","finite","indexOf","fn","cache","create","Deferred","constructor","this","promise","Promise","resolve","reject","attr","name","getAttribute","el","removeAttr","setAttribute","hasAttr","some","element2","hasAttribute","forEach","removeAttribute","data","attribute","voidElements","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","isVoidElement","tagName","isVisible","offsetWidth","offsetHeight","getClientRects","selInput","isInput","matches","selFocusable","isFocusable","parent","parentElement","filter$1","selector","closest","Boolean","within","contains","parents","push","children","children2","index","ref","isSameSiteAnchor","part","location","getTargetedElement","id","decodeURIComponent","hash","substring","getElementById","getElementsByName","query","context","find","getContext","queryAll","findAll","_query","contextSelectorRe","isContextSelector","contextSanitizeRe","sanatize","queryFn","split","splitSelector","sel","ctx","selectors","substr","trim","join","prev","previousElementSibling","domPath","e","selectorRe","selector2","names","parentNode","unshift","escape","css","CSS","on","args","targets","types","listener","useCapture","getArgs","detail","self","selfFilter","delegate","type","target","addEventListener","off","removeEventListener","once","condition","off2","result","trigger","event","detail2","toEventTargets","dispatchEvent","createEvent","bubbles","cancelable","CustomEvent","splice","currentTarget","reverse","isEventTarget","toEventTarget","isTouch","pointerType","touches","getEventPos","_b","clientX","clientY","changedTouches","cssNumber","opacity","order","orphans","widows","zoom","property","priority","propName","getComputedStyle","getPropertyValue","style","setProperty","value2","property2","vendorPropName","documentElement","prefix","prefixedName","addClass","apply$1","removeClass","removeClasses","cls","replaceClass","hasClass","getClasses","node","classList","toggleClass","force","classes","cls2","toggle","args2","arg","concat","String","transition$1","duration","timing","all","timer","setTimeout","clearTimeout","transitionProperty","transitionDuration","transitionTimingFunction","Transition","start","async","inProgress","animationPrefix","animate$2","animation","origin","out","inProgressRe","Animation","in","test","cancel","ready","readyState","isTag","tagNames","empty","$","innerHTML","html","parent2","html2","append","prepend","applyFn","before","after","nodes","fragment","unwrapSingle","remove$1","remove","wrapAll","structure","firstChild","wrapInner","hasChildNodes","childNodes","unwrap","replaceWith","fragmentRe","singleTagRe","exec","createElement","container","insertAdjacentHTML","textContent","apply","firstElementChild","next","nextElementSibling","isHtml","$$","dirs$1","width","height","dimensions$1","getBoundingClientRect","offset","coordinates","currentOffset","scrollY","scrollX","offsetBy","dir","pos","position","body","offsetParent","parentOffset","offsetPosition","offset2","offsetTop","offsetLeft","win","dimension","doc","boxModelAdjust","sizing","prop2","flipPosition","toPx","offsetDim","parseCalc","unit","parseUnit","percent","getViewportHeight","calcRe","calc","unitRe$1","vh","vhEl","clientHeight","inBrowser","isRtl","hasTouch","hasPointerEvents","PointerEvent","pointerDown$1","pointerMove$1","pointerUp$1","pointerEnter","pointerLeave","pointerCancel","fastdom","reads","writes","read","task","scheduleFlush","write","clear","flush","recursion","runTasks","scheduled","RECURSION_LIMIT","then","requestAnimationFrame","tasks","shift","console","error","MouseTracker","intersect","x1","y1","x2","y2","x3","y3","x4","y4","denominator","ua","observeIntersection","options","intersecting","observer","IntersectionObserver","entries","observer2","entry","isIntersecting","observe","positions","init","unbind","interval","setInterval","clearInterval","movesTo","p","prevPosition","path","diagonal","intersection","hasResizeObserver","ResizeObserver","observeResize","box","observe$1","initResizeListener","listeners","unobserve","disconnect","delete","pendingResize","handleResize","observeMutation","MutationObserver","Observer","play","isIFrame","func","method","isHTML5","catch","pause","mute","muted","isVideo","isYoutube","isVimeo","src","cmd","enableApi","post","contentWindow","postMessage","JSON","stringify","stateKey","counter","youtube","vimeo","poller","parse","player_id","isInView","overflowParents","offsetViewport","scrollIntoView","parents2","scrollParents","scrollElement","scrollTop","scrollHeight","viewport","maxScroll","elHeight","elTop","ceil","scrollTo","scroll","getDuration","abs","Date","now","step","ease","dist","pow","k","cos","PI","scrolledOver","startOffset","endOffset","viewportHeight","elementOffsetTop","scrollable","scrollEl","scrollingElement","ancestors","fixedIndex","visualViewport","viewportElement","scale","pageTop","pageLeft","end","subpixel","dirs","positionAt","attach","placement","getPosition","attachTo","boundary","viewportOffset","getViewport$2","isWithin","flip","scrollArea","getScrollArea","applyOffset","newPos","flipAxis","targetDim","elOffset","targetOffset","moveBy","dim","getIntersectionArea","commonScrollParents","axis","positionA","positionB","flipAttach","flipOffset","flipAttachAxis","newAttach","util","freeze","__proto__","pointerDown","pointerMove","pointerUp","sortBy","initWatches","instance","_watches","watches","$options","watch","registerWatch","_initial","handler","runWatches","values","immediate","initUpdates","_data","_updates","update","prependUpdate","clearUpdateData","callUpdate","_connected","_queued","runUpdates","events","initComputed","computed","_computed","registerComputed","_hasComputed","defineProperty","enumerable","get","$props","$el","set","initComputedUpdates","resetComputed","registerComputedObserver","instances$1","disconnectComputedUpdates","childList","subtree","initEvents","_events","registerEvent","unbindEvents","capture","passive","el2","bind","initObservers","_observers","registerObservable","observable","registerObserver","disconnectObservers","updateTargets","strats","mergeFnData","parentVal","childVal","vm","concatStrat","defaultStrat","mergeOptions","child","extends","mixins","mixin","mergeKey","parseOptions","options2","option","coerce$1","toList","initProps","getProps$1","exclude","methods","notIn","opts","data$1","arr","initPropsObserver","attributes","records","attributeName","$reset","attributeFilter","callHook","hook","callConnected","callDisconnected","created","beforeConnect","connected","beforeDisconnect","disconnected","destroy","i18n","vm2","uid","init$1","normalizeData","_uid","initData","initMethods","$mount","data2","App","version","PREFIX","DATA","components$2","component","extend","createComponent","opt","install","_initialized","functional","Component","getComponent","$destroy","getComponents","attachToElement","detachFromElement","globalApi","use","plugin","installed","component2","Super","Sub","super","parentEl","updateElement","components","instanceApi","removeEl","$create","$emit","$update","$getComponent","defineProperties","$container","getOwnPropertyDescriptor","generateId","postfix","boot","connect","applyChildListMutation","applyAttributeMutation","addedNodes","removedNodes","getComponentName","components2","getAttributeNames","cmp","Class","Togglable","velocity","transition","clsEnter","clsLeave","hasAnimation","hasTransition","toggleElement","animate","show","isToggled","toggleTransition","toggleAnimation","toggleInstant","done","_toggle","toggled","changed","hidden","focus","blur","mode","startProp","dimProp","marginProp","marginStartProp","currentDim","prevProps","fromEntries","currentMargin","marginStart","endDim","wrapper","boxSizing","padding","border","minWidth","minHeight","overflow","endProps","keyMap","TAB","ESC","SPACE","END","HOME","LEFT","UP","RIGHT","DOWN","resize","mutation","lazyload","preload","scroll$1","swipe","e2","swipeDirection","observe2","emit","Accordion","active","collapsible","multiple","content","clsOpen","items","toggles","contents","_wrapper","isOpen","hide","keyCode","preventDefault","_off","keepScrollPosition","activeItems","index2","role","hide2","transition2","currentHeight","endHeight","scrollParent","frame","cancelAnimationFrame","alert","close","selClose","animate$1","marginTop","marginBottom","paddingTop","paddingBottom","borderTop","borderBottom","Video","automute","autoplay","inView","allow","visible","getPositionedParent","intrinsic","naturalWidth","videoWidth","clientWidth","naturalHeight","videoHeight","coverHeight","coverWidth","coverDim","Position","inset","align","getPositionOffset","getShiftOffset","restoreScrollPosition","storeScrollPosition","elDim","getViewportOffset","Container","prevented","active$1","preventBackgroundScroll","targetTouches","overflowY","supports","touchAction","paddingRight","drop","boundaryX","boundaryY","targetX","targetY","stretch","delayShow","delayHide","autoUpdate","clsDrop","animateOut","bgScroll","targetEl","tracker","createToggleComponent","_style","isActive","defaultPrevented","clearTimers","relatedTarget","handlers","listenForResize","listenForEscClose$1","listenForBackgroundClose$1","listenForScroll","delay","isDelaying","showTimer","getPositionedElements","hideTimer","viewports","getViewport$1","maxWidth","positionOffset","newTarget","Dropnav","dropbar","dropbarAnchor","clsDropbar","selNavItem","_dropbar","dropContainer","dropdowns","getDropdown","active2","getActive","focusFirstFocusableElement","click","handleNavItemNavigation","isDropbarDrop","adjustHeight","targetOffsets","minTop","maxBottom","dropbarOffset","transitionTo","_observer","newHeight","oldHeight","clipPath","finally","_c","formCustom","state","files","selected","Margin","margin","firstColumn","rows","getRows","columns","getColumns","row","column","sorted","j","endProp","getOffset","startDim","grid","masonry","parallax","clsStack","positionedAbsolute","translates","columnHeights","getMarginTop","getTranslates","newPadding","hgt","scrolled","rowHeights","heightMatch","match$1","heights","getHeight","toFixed","heightViewport","expand","offsetBottom","isScrollingElement","Svg","svg","getSvg","insertSVG","svgEl","applyWidthAndHeight","root","equals","lastElementChild","viewBox","I18n","t","params","icons","spinner","totop","marker","Icon","install$3","icon","isIcon","getIcon","IconComponent","NavParentIcon","Search","Spinner","ButtonComponent","button","label","Slidenav","NavbarToggleIcon","Close","Marker","Totop","PaginationNext","PaginationPrevious","parsed","UIkit","added","svg2","name2","applyRtl","cloneNode","nativeLazyLoad","HTMLImageElement","dataSrc","sources","loading","isImg","setSrcAttrs","ensureSrcAttribute","load","onload","rootMargin","image","getImageFromElement","currentSrc","setSourceProps","backgroundImage","srcProps","sourceEl","Image","wrapInPicture","parseSources","picture","attrs","Media","media","toMedia","matchMedia","mediaObj","offMediaObj","leader","fill","clsWrapper","clsHide","attrFill","trunc","Modal","selPanel","escClose","bgClose","stack","overlay","panel","transitionElement","modal","preventBackgroundFocus","listenForBackgroundClose","listenForEscClose","clsPage","_reject","toMs","time","install$2","openDialog","tmpl","hideFn","submitFn","dialog","deferred","resolved","message","ok","confirm","prompt","nav","navbar","justify","offcanvas","swiping","clsContainer","clsFlip","clsContainerAnimation","clsSidebarAnimation","clsMode","clsOverlay","suppressUserScale","resumeUserScale","getViewport","head","overflowAuto","selContainer","selContent","maxHeight","responsive","registerClick","unregisterClick","instances","size","clickHandler","href","history","pushState","scrollspy","repeat","inViewClass","elementData","Map","inview","queued","removeAnimationClasses","scrollspyNav","links","sticky","overflowFlip","clsActive","clsInactive","clsFixed","clsBelow","selTarget","showOnUp","coerce","placeholder","isFixed","setActive","reset","transitionInProgress","height$1","inactive","preventTransition","dynamicViewport","maxScrollHeight","referenceElement","offset$1","topOffset","parseProp","prevScroll","prevDir","overflowScroll","scroll2","offsetParentTop","isScrollUpdate","initTimestamp","initScroll","propOffset","refElement","getMaxPathLength","stroke","getTotalLength","strokeAnimation","applyAttributes","applyAnimation","complete","parseSVG","loadSVG","fetch","text","parseSymbols","symbolRe","symbols","lastIndex","selDisabled","Switcher","itemNav","followFocus","attrItem","selVertical","connects","connectChildren","flat","isVertical","tabindex","tab","KEY_SPACE","_preventClick","_showState","disabled","expanded","leaving","isLeaving","Alert","Cover","Drop","DropParentIcon","Dropdown","FormCustom","Grid","HeightMatch","HeightViewport","Img","Leader","Nav","Navbar","NavbarParentIcon","Offcanvas","OverflowAuto","OverlayIcon","Responsive","Scroll","Scrollspy","ScrollspyNav","SearchIcon","SlidenavNext","SlidenavPrevious","Sticky","Tab","Toggle","units","countdown","date","stop","timespan","getTimeSpan","total","digits","digit","seconds","minutes","hours","days","fade","action","stagger","transitionIndex","propsIn","propsOut","wrapIndexFn","leaveFn","getTransitionNodes","enterFn","awaitFrame$1","transitionNodes","transitions","awaitTimeout","alignContent","dataset","waitTransitionend","timeout","slide","awaitFrame","currentProps","getProps","targetProps","display","targetStyle","targetPropsTo","propsTo","propsFrom","getTransitionProps","attrsTo","resetProps","zIndex","pointerEvents","getPositionWithMargin","transform","Animate","selActive","updateState","actives","findButton","list","prevState","getState","newState","mergeState","isEqualState","setState","matchFilter","filterFn","applyState","getFilter","attr2","stateA","stateB","getSelector","sortItems","group","stateFilter","stateSort","stateOrder","localeCompare","numeric","Animations$2","translate","translated","scale3d","Animations$1","Transitioner$1","easing","percent2","linear","triggerUpdate$1","forward","props2","getDistance","SliderNav","previous","slideX","slideLabel","selNav","navChildren","navItems","ariaLabel","ariaControls","slides","navLength","ariaRoleDescription","maxIndex","updateNav","getValidIndex","focusEl","pointerOptions","pointerUpOptions","SliderDrag","draggable","threshold","prevPos","selList","hasSelectableText","drag","_transitioner","dragging","prevIndex","move","distance","dis","nextIndex","_getDistance","edge","itemShown","_translate","_show","dirChange","userSelect","Slider","autoplayInterval","pauseOnHover","startAutoplay","stopAutoplay","clsActivated","Transitioner","transitionOptions","speedUp","queueIndex","getDirection","_getTransitioner","transitioner","Slideshow","Animations","Animations2","beforeitemshow","itemshown","itemhidden","LightboxPanel","delayControls","videoAutoplay","template","selCaption","closeLabel","caption","showControls","hideControls","getItem","loadItem","alt","poster","setItem","iframeAttrs","allowfullscreen","createEl","setError","video","controls","playsinline","class","encodeURI","credentials","json","getSlide","childElementCount","controlsTimer","tag","lightbox","install$1","toItem","Lightbox","lightboxPanel","notification","status","clsClose","clsMsg","startProps","removeFn","closeAll","transformFn","rotate","color","colorFn","backgroundColor","borderColor","hue","fopacity","grayscale","invert","saturate","sepia","cssPropFn","strokeFn","bgx","backgroundFn","bgy","Parallax","fillObject","properties","stops","getCss","css2","willChange","transformFn2","getUnit","parseStops","getValue","getCssValue","parseColor","getStop","parseInt","strokeDashoffset","bgProps","backgroundCoverFn","getBackgroundPos","setBackgroundPosFn","dimImage","getBackgroundImageDimensions","dimEl","down","diff","backgroundSize","backgroundRepeat","toDimensions","nullIndex","leftPercent","targetPercent","unitRe","defaultUnit","keys2","getOffsetElement","SliderReactive","SliderPreload","getAdjacentSlides","center","getLeft","to","triggerUpdate","getItemIn","getWidth","getActives","itemIn","itemOut","isIn","isOut","getElLeft","nextActives","temp","centerEl","getMax","listLeft","listWidth","listRight","slideLeft","slideRight","slider","sets","avgWidth","isFinite","lft","enabled","slideWidth","reorder","updateActiveClasses","itemshow","slideIndex","activeClasses","focusable","_tabindex","currentLeft","getMaxElWidth","listHalf","slidesInView","nextSlide","slide2","sliderParallax","selItem","getCurrentPercent","pull","slideshow","sortable","clsItem","clsPlaceholder","clsDrag","clsDragState","clsBase","clsNoDrag","clsEmpty","clsCustom","handle","tBodies","handles","getSortable","elementFromPoint","findTarget","insertTarget","findInsertTarget","moved","insert","touched","appendDrag","trackScroll","untrackScroll","sortable2","trackTimer","height2","clone","sameList","isHorizontal","placeholderRect","sameRow","linesIntersect","pointerPos","lengthProp","single","isHorizontal2","rectA","rectB","lineA","lineB","tooltip","title","_hasTitle","makeFocusable","getAlignment","upload","invalidMime","invalidName","invalidSize","clsDragover","concurrent","maxSize","mime","url","abort","beforeAll","beforeSend","completeAll","fail","loadEnd","loadStart","progress","change","transfer","dataTransfer","dragenter","dragover","dragleave","file","chunks","chunk","files2","FormData","xhr","ajax","responseType","env","xhr2","pattern","stopPropagation","headers","XMLHttpRequest","send","open","header","setRequestHeader","Error","statusText","Countdown","Filter","Notification","SliderParallax","SlideshowParallax","Sortable","Tooltip","Upload","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","definition","o","g","globalThis","Function","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","_typeof","Symbol","iterator","_toPropertyKey","hint","prim","toPrimitive","TypeError","_defineProperty","configurable","writable","UIkitIcons","_icons","labels","addLabels","_objectSpread","l"],"sourceRoot":""}