/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./node_modules/autoprefixer/data/prefixes.js": /*!****************************************************!*\ !*** ./node_modules/autoprefixer/data/prefixes.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let unpack = __webpack_require__(/*! caniuse-lite/dist/unpacker/feature */ "./node_modules/caniuse-lite/dist/unpacker/feature.js") function browsersSort(a, b) { a = a.split(' ') b = b.split(' ') if (a[0] > b[0]) { return 1 } else if (a[0] < b[0]) { return -1 } else { return Math.sign(parseFloat(a[1]) - parseFloat(b[1])) } } // Convert Can I Use data function f(data, opts, callback) { data = unpack(data) if (!callback) { ;[callback, opts] = [opts, {}] } let match = opts.match || /\sx($|\s)/ let need = [] for (let browser in data.stats) { let versions = data.stats[browser] for (let version in versions) { let support = versions[version] if (support.match(match)) { need.push(browser + ' ' + version) } } } callback(need.sort(browsersSort)) } // Add data for all properties let result = {} function prefix(names, data) { for (let name of names) { result[name] = Object.assign({}, data) } } function add(names, data) { for (let name of names) { result[name].browsers = result[name].browsers .concat(data.browsers) .sort(browsersSort) } } module.exports = result // Border Radius let prefixBorderRadius = __webpack_require__(/*! caniuse-lite/data/features/border-radius */ "./node_modules/caniuse-lite/data/features/border-radius.js") f(prefixBorderRadius, browsers => prefix( [ 'border-radius', 'border-top-left-radius', 'border-top-right-radius', 'border-bottom-right-radius', 'border-bottom-left-radius' ], { browsers, feature: 'border-radius', mistakes: ['-khtml-', '-ms-', '-o-'] } ) ) // Box Shadow let prefixBoxshadow = __webpack_require__(/*! caniuse-lite/data/features/css-boxshadow */ "./node_modules/caniuse-lite/data/features/css-boxshadow.js") f(prefixBoxshadow, browsers => prefix(['box-shadow'], { browsers, feature: 'css-boxshadow', mistakes: ['-khtml-'] }) ) // Animation let prefixAnimation = __webpack_require__(/*! caniuse-lite/data/features/css-animation */ "./node_modules/caniuse-lite/data/features/css-animation.js") f(prefixAnimation, browsers => prefix( [ 'animation', 'animation-name', 'animation-duration', 'animation-delay', 'animation-direction', 'animation-fill-mode', 'animation-iteration-count', 'animation-play-state', 'animation-timing-function', '@keyframes' ], { browsers, feature: 'css-animation', mistakes: ['-khtml-', '-ms-'] } ) ) // Transition let prefixTransition = __webpack_require__(/*! caniuse-lite/data/features/css-transitions */ "./node_modules/caniuse-lite/data/features/css-transitions.js") f(prefixTransition, browsers => prefix( [ 'transition', 'transition-property', 'transition-duration', 'transition-delay', 'transition-timing-function' ], { browsers, feature: 'css-transitions', mistakes: ['-khtml-', '-ms-'] } ) ) // Transform 2D let prefixTransform2d = __webpack_require__(/*! caniuse-lite/data/features/transforms2d */ "./node_modules/caniuse-lite/data/features/transforms2d.js") f(prefixTransform2d, browsers => prefix(['transform', 'transform-origin'], { browsers, feature: 'transforms2d' }) ) // Transform 3D let prefixTransforms3d = __webpack_require__(/*! caniuse-lite/data/features/transforms3d */ "./node_modules/caniuse-lite/data/features/transforms3d.js") f(prefixTransforms3d, browsers => { prefix(['perspective', 'perspective-origin'], { browsers, feature: 'transforms3d' }) return prefix(['transform-style'], { browsers, feature: 'transforms3d', mistakes: ['-ms-', '-o-'] }) }) f(prefixTransforms3d, { match: /y\sx|y\s#2/ }, browsers => prefix(['backface-visibility'], { browsers, feature: 'transforms3d', mistakes: ['-ms-', '-o-'] }) ) // Gradients let prefixGradients = __webpack_require__(/*! caniuse-lite/data/features/css-gradients */ "./node_modules/caniuse-lite/data/features/css-gradients.js") f(prefixGradients, { match: /y\sx/ }, browsers => prefix( [ 'linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient' ], { browsers, feature: 'css-gradients', mistakes: ['-ms-'], props: [ 'background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image' ] } ) ) f(prefixGradients, { match: /a\sx/ }, browsers => { browsers = browsers.map(i => { if (/firefox|op/.test(i)) { return i } else { return `${i} old` } }) return add( [ 'linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient' ], { browsers, feature: 'css-gradients' } ) }) // Box sizing let prefixBoxsizing = __webpack_require__(/*! caniuse-lite/data/features/css3-boxsizing */ "./node_modules/caniuse-lite/data/features/css3-boxsizing.js") f(prefixBoxsizing, browsers => prefix(['box-sizing'], { browsers, feature: 'css3-boxsizing' }) ) // Filter Effects let prefixFilters = __webpack_require__(/*! caniuse-lite/data/features/css-filters */ "./node_modules/caniuse-lite/data/features/css-filters.js") f(prefixFilters, browsers => prefix(['filter'], { browsers, feature: 'css-filters' }) ) // filter() function let prefixFilterFunction = __webpack_require__(/*! caniuse-lite/data/features/css-filter-function */ "./node_modules/caniuse-lite/data/features/css-filter-function.js") f(prefixFilterFunction, browsers => prefix(['filter-function'], { browsers, feature: 'css-filter-function', props: [ 'background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image' ] }) ) // Backdrop-filter let prefixBackdropFilter = __webpack_require__(/*! caniuse-lite/data/features/css-backdrop-filter */ "./node_modules/caniuse-lite/data/features/css-backdrop-filter.js") f(prefixBackdropFilter, { match: /y\sx|y\s#2/ }, browsers => prefix(['backdrop-filter'], { browsers, feature: 'css-backdrop-filter' }) ) // element() function let prefixElementFunction = __webpack_require__(/*! caniuse-lite/data/features/css-element-function */ "./node_modules/caniuse-lite/data/features/css-element-function.js") f(prefixElementFunction, browsers => prefix(['element'], { browsers, feature: 'css-element-function', props: [ 'background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image' ] }) ) // Multicolumns let prefixMulticolumns = __webpack_require__(/*! caniuse-lite/data/features/multicolumn */ "./node_modules/caniuse-lite/data/features/multicolumn.js") f(prefixMulticolumns, browsers => { prefix( [ 'columns', 'column-width', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width', 'column-count', 'column-rule-style', 'column-span', 'column-fill' ], { browsers, feature: 'multicolumn' } ) let noff = browsers.filter(i => !/firefox/.test(i)) prefix(['break-before', 'break-after', 'break-inside'], { browsers: noff, feature: 'multicolumn' }) }) // User select let prefixUserSelect = __webpack_require__(/*! caniuse-lite/data/features/user-select-none */ "./node_modules/caniuse-lite/data/features/user-select-none.js") f(prefixUserSelect, browsers => prefix(['user-select'], { browsers, feature: 'user-select-none', mistakes: ['-khtml-'] }) ) // Flexible Box Layout let prefixFlexbox = __webpack_require__(/*! caniuse-lite/data/features/flexbox */ "./node_modules/caniuse-lite/data/features/flexbox.js") f(prefixFlexbox, { match: /a\sx/ }, browsers => { browsers = browsers.map(i => { if (/ie|firefox/.test(i)) { return i } else { return `${i} 2009` } }) prefix(['display-flex', 'inline-flex'], { browsers, feature: 'flexbox', props: ['display'] }) prefix(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], { browsers, feature: 'flexbox' }) prefix( [ 'flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content' ], { browsers, feature: 'flexbox' } ) }) f(prefixFlexbox, { match: /y\sx/ }, browsers => { add(['display-flex', 'inline-flex'], { browsers, feature: 'flexbox' }) add(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], { browsers, feature: 'flexbox' }) add( [ 'flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content' ], { browsers, feature: 'flexbox' } ) }) // calc() unit let prefixCalc = __webpack_require__(/*! caniuse-lite/data/features/calc */ "./node_modules/caniuse-lite/data/features/calc.js") f(prefixCalc, browsers => prefix(['calc'], { browsers, feature: 'calc', props: ['*'] }) ) // Background options let prefixBackgroundOptions = __webpack_require__(/*! caniuse-lite/data/features/background-img-opts */ "./node_modules/caniuse-lite/data/features/background-img-opts.js") f(prefixBackgroundOptions, browsers => prefix(['background-origin', 'background-size'], { browsers, feature: 'background-img-opts' }) ) // background-clip: text let prefixBackgroundClipText = __webpack_require__(/*! caniuse-lite/data/features/background-clip-text */ "./node_modules/caniuse-lite/data/features/background-clip-text.js") f(prefixBackgroundClipText, browsers => prefix(['background-clip'], { browsers, feature: 'background-clip-text' }) ) // Font feature settings let prefixFontFeature = __webpack_require__(/*! caniuse-lite/data/features/font-feature */ "./node_modules/caniuse-lite/data/features/font-feature.js") f(prefixFontFeature, browsers => prefix( [ 'font-feature-settings', 'font-variant-ligatures', 'font-language-override' ], { browsers, feature: 'font-feature' } ) ) // CSS font-kerning property let prefixFontKerning = __webpack_require__(/*! caniuse-lite/data/features/font-kerning */ "./node_modules/caniuse-lite/data/features/font-kerning.js") f(prefixFontKerning, browsers => prefix(['font-kerning'], { browsers, feature: 'font-kerning' }) ) // Border image let prefixBorderImage = __webpack_require__(/*! caniuse-lite/data/features/border-image */ "./node_modules/caniuse-lite/data/features/border-image.js") f(prefixBorderImage, browsers => prefix(['border-image'], { browsers, feature: 'border-image' }) ) // Selection selector let prefixSelection = __webpack_require__(/*! caniuse-lite/data/features/css-selection */ "./node_modules/caniuse-lite/data/features/css-selection.js") f(prefixSelection, browsers => prefix(['::selection'], { browsers, feature: 'css-selection', selector: true }) ) // Placeholder selector let prefixPlaceholder = __webpack_require__(/*! caniuse-lite/data/features/css-placeholder */ "./node_modules/caniuse-lite/data/features/css-placeholder.js") f(prefixPlaceholder, browsers => { prefix(['::placeholder'], { browsers: browsers.concat(['ie 10 old', 'ie 11 old', 'firefox 18 old']), feature: 'css-placeholder', selector: true }) }) // Placeholder-shown selector let prefixPlaceholderShown = __webpack_require__(/*! caniuse-lite/data/features/css-placeholder-shown */ "./node_modules/caniuse-lite/data/features/css-placeholder-shown.js") f(prefixPlaceholderShown, browsers => { prefix([':placeholder-shown'], { browsers, feature: 'css-placeholder-shown', selector: true }) }) // Hyphenation let prefixHyphens = __webpack_require__(/*! caniuse-lite/data/features/css-hyphens */ "./node_modules/caniuse-lite/data/features/css-hyphens.js") f(prefixHyphens, browsers => prefix(['hyphens'], { browsers, feature: 'css-hyphens' }) ) // Fullscreen selector let prefixFullscreen = __webpack_require__(/*! caniuse-lite/data/features/fullscreen */ "./node_modules/caniuse-lite/data/features/fullscreen.js") f(prefixFullscreen, browsers => prefix([':fullscreen'], { browsers, feature: 'fullscreen', selector: true }) ) // ::backdrop pseudo-element // https://caniuse.com/mdn-css_selectors_backdrop let prefixBackdrop = __webpack_require__(/*! caniuse-lite/data/features/mdn-css-backdrop-pseudo-element */ "./node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js") f(prefixBackdrop, browsers => prefix(['::backdrop'], { browsers, feature: 'backdrop', selector: true }) ) // File selector button let prefixFileSelectorButton = __webpack_require__(/*! caniuse-lite/data/features/css-file-selector-button */ "./node_modules/caniuse-lite/data/features/css-file-selector-button.js") f(prefixFileSelectorButton, browsers => prefix(['::file-selector-button'], { browsers, feature: 'file-selector-button', selector: true }) ) // :autofill let prefixAutofill = __webpack_require__(/*! caniuse-lite/data/features/css-autofill */ "./node_modules/caniuse-lite/data/features/css-autofill.js") f(prefixAutofill, browsers => prefix([':autofill'], { browsers, feature: 'css-autofill', selector: true }) ) // Tab size let prefixTabsize = __webpack_require__(/*! caniuse-lite/data/features/css3-tabsize */ "./node_modules/caniuse-lite/data/features/css3-tabsize.js") f(prefixTabsize, browsers => prefix(['tab-size'], { browsers, feature: 'css3-tabsize' }) ) // Intrinsic & extrinsic sizing let prefixIntrinsic = __webpack_require__(/*! caniuse-lite/data/features/intrinsic-width */ "./node_modules/caniuse-lite/data/features/intrinsic-width.js") let sizeProps = [ 'width', 'min-width', 'max-width', 'height', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size', 'grid', 'grid-template', 'grid-template-rows', 'grid-template-columns', 'grid-auto-columns', 'grid-auto-rows' ] f(prefixIntrinsic, browsers => prefix(['max-content', 'min-content'], { browsers, feature: 'intrinsic-width', props: sizeProps }) ) f(prefixIntrinsic, { match: /x|\s#4/ }, browsers => prefix(['fill', 'fill-available'], { browsers, feature: 'intrinsic-width', props: sizeProps }) ) f(prefixIntrinsic, { match: /x|\s#5/ }, browsers => { let ffFix = browsers.filter(i => { let [name, version] = i.split(' ') if (name === 'firefox' || name === 'and_ff') { return parseInt(version) < 94 } else { return true } }) return prefix(['fit-content'], { browsers: ffFix, feature: 'intrinsic-width', props: sizeProps }) }) // Stretch value let prefixStretch = __webpack_require__(/*! caniuse-lite/data/features/css-width-stretch */ "./node_modules/caniuse-lite/data/features/css-width-stretch.js") f(prefixStretch, browsers => prefix(['stretch'], { browsers, feature: 'css-width-stretch', props: sizeProps }) ) // Zoom cursors let prefixCursorsNewer = __webpack_require__(/*! caniuse-lite/data/features/css3-cursors-newer */ "./node_modules/caniuse-lite/data/features/css3-cursors-newer.js") f(prefixCursorsNewer, browsers => prefix(['zoom-in', 'zoom-out'], { browsers, feature: 'css3-cursors-newer', props: ['cursor'] }) ) // Grab cursors let prefixCursorsGrab = __webpack_require__(/*! caniuse-lite/data/features/css3-cursors-grab */ "./node_modules/caniuse-lite/data/features/css3-cursors-grab.js") f(prefixCursorsGrab, browsers => prefix(['grab', 'grabbing'], { browsers, feature: 'css3-cursors-grab', props: ['cursor'] }) ) // Sticky position let prefixSticky = __webpack_require__(/*! caniuse-lite/data/features/css-sticky */ "./node_modules/caniuse-lite/data/features/css-sticky.js") f(prefixSticky, browsers => prefix(['sticky'], { browsers, feature: 'css-sticky', props: ['position'] }) ) // Pointer Events let prefixPointer = __webpack_require__(/*! caniuse-lite/data/features/pointer */ "./node_modules/caniuse-lite/data/features/pointer.js") f(prefixPointer, browsers => prefix(['touch-action'], { browsers, feature: 'pointer' }) ) // Text decoration let prefixDecoration = __webpack_require__(/*! caniuse-lite/data/features/text-decoration */ "./node_modules/caniuse-lite/data/features/text-decoration.js") f(prefixDecoration, { match: /x.*#[235]/ }, browsers => prefix(['text-decoration-skip', 'text-decoration-skip-ink'], { browsers, feature: 'text-decoration' }) ) let prefixDecorationShorthand = __webpack_require__(/*! caniuse-lite/data/features/mdn-text-decoration-shorthand */ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js") f(prefixDecorationShorthand, browsers => prefix(['text-decoration'], { browsers, feature: 'text-decoration' }) ) let prefixDecorationColor = __webpack_require__(/*! caniuse-lite/data/features/mdn-text-decoration-color */ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js") f(prefixDecorationColor, browsers => prefix(['text-decoration-color'], { browsers, feature: 'text-decoration' }) ) let prefixDecorationLine = __webpack_require__(/*! caniuse-lite/data/features/mdn-text-decoration-line */ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js") f(prefixDecorationLine, browsers => prefix(['text-decoration-line'], { browsers, feature: 'text-decoration' }) ) let prefixDecorationStyle = __webpack_require__(/*! caniuse-lite/data/features/mdn-text-decoration-style */ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js") f(prefixDecorationStyle, browsers => prefix(['text-decoration-style'], { browsers, feature: 'text-decoration' }) ) // Text Size Adjust let prefixTextSizeAdjust = __webpack_require__(/*! caniuse-lite/data/features/text-size-adjust */ "./node_modules/caniuse-lite/data/features/text-size-adjust.js") f(prefixTextSizeAdjust, browsers => prefix(['text-size-adjust'], { browsers, feature: 'text-size-adjust' }) ) // CSS Masks let prefixCssMasks = __webpack_require__(/*! caniuse-lite/data/features/css-masks */ "./node_modules/caniuse-lite/data/features/css-masks.js") f(prefixCssMasks, browsers => { prefix( [ 'mask-clip', 'mask-composite', 'mask-image', 'mask-origin', 'mask-repeat', 'mask-border-repeat', 'mask-border-source' ], { browsers, feature: 'css-masks' } ) prefix( [ 'mask', 'mask-position', 'mask-size', 'mask-border', 'mask-border-outset', 'mask-border-width', 'mask-border-slice' ], { browsers, feature: 'css-masks' } ) }) // CSS clip-path property let prefixClipPath = __webpack_require__(/*! caniuse-lite/data/features/css-clip-path */ "./node_modules/caniuse-lite/data/features/css-clip-path.js") f(prefixClipPath, browsers => prefix(['clip-path'], { browsers, feature: 'css-clip-path' }) ) // Fragmented Borders and Backgrounds let prefixBoxdecoration = __webpack_require__(/*! caniuse-lite/data/features/css-boxdecorationbreak */ "./node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js") f(prefixBoxdecoration, browsers => prefix(['box-decoration-break'], { browsers, feature: 'css-boxdecorationbreak' }) ) // CSS3 object-fit/object-position let prefixObjectFit = __webpack_require__(/*! caniuse-lite/data/features/object-fit */ "./node_modules/caniuse-lite/data/features/object-fit.js") f(prefixObjectFit, browsers => prefix(['object-fit', 'object-position'], { browsers, feature: 'object-fit' }) ) // CSS Shapes let prefixShapes = __webpack_require__(/*! caniuse-lite/data/features/css-shapes */ "./node_modules/caniuse-lite/data/features/css-shapes.js") f(prefixShapes, browsers => prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], { browsers, feature: 'css-shapes' }) ) // CSS3 text-overflow let prefixTextOverflow = __webpack_require__(/*! caniuse-lite/data/features/text-overflow */ "./node_modules/caniuse-lite/data/features/text-overflow.js") f(prefixTextOverflow, browsers => prefix(['text-overflow'], { browsers, feature: 'text-overflow' }) ) // Viewport at-rule let prefixDeviceadaptation = __webpack_require__(/*! caniuse-lite/data/features/css-deviceadaptation */ "./node_modules/caniuse-lite/data/features/css-deviceadaptation.js") f(prefixDeviceadaptation, browsers => prefix(['@viewport'], { browsers, feature: 'css-deviceadaptation' }) ) // Resolution Media Queries let prefixResolut = __webpack_require__(/*! caniuse-lite/data/features/css-media-resolution */ "./node_modules/caniuse-lite/data/features/css-media-resolution.js") f(prefixResolut, { match: /( x($| )|a #2)/ }, browsers => prefix(['@resolution'], { browsers, feature: 'css-media-resolution' }) ) // CSS text-align-last let prefixTextAlignLast = __webpack_require__(/*! caniuse-lite/data/features/css-text-align-last */ "./node_modules/caniuse-lite/data/features/css-text-align-last.js") f(prefixTextAlignLast, browsers => prefix(['text-align-last'], { browsers, feature: 'css-text-align-last' }) ) // Crisp Edges Image Rendering Algorithm let prefixCrispedges = __webpack_require__(/*! caniuse-lite/data/features/css-crisp-edges */ "./node_modules/caniuse-lite/data/features/css-crisp-edges.js") f(prefixCrispedges, { match: /y x|a x #1/ }, browsers => prefix(['pixelated'], { browsers, feature: 'css-crisp-edges', props: ['image-rendering'] }) ) f(prefixCrispedges, { match: /a x #2/ }, browsers => prefix(['image-rendering'], { browsers, feature: 'css-crisp-edges' }) ) // Logical Properties let prefixLogicalProps = __webpack_require__(/*! caniuse-lite/data/features/css-logical-props */ "./node_modules/caniuse-lite/data/features/css-logical-props.js") f(prefixLogicalProps, browsers => prefix( [ 'border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end' ], { browsers, feature: 'css-logical-props' } ) ) f(prefixLogicalProps, { match: /x\s#2/ }, browsers => prefix( [ 'border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end' ], { browsers, feature: 'css-logical-props' } ) ) // CSS appearance let prefixAppearance = __webpack_require__(/*! caniuse-lite/data/features/css-appearance */ "./node_modules/caniuse-lite/data/features/css-appearance.js") f(prefixAppearance, { match: /#2|x/ }, browsers => prefix(['appearance'], { browsers, feature: 'css-appearance' }) ) // CSS Scroll snap points let prefixSnappoints = __webpack_require__(/*! caniuse-lite/data/features/css-snappoints */ "./node_modules/caniuse-lite/data/features/css-snappoints.js") f(prefixSnappoints, browsers => prefix( [ 'scroll-snap-type', 'scroll-snap-coordinate', 'scroll-snap-destination', 'scroll-snap-points-x', 'scroll-snap-points-y' ], { browsers, feature: 'css-snappoints' } ) ) // CSS Regions let prefixRegions = __webpack_require__(/*! caniuse-lite/data/features/css-regions */ "./node_modules/caniuse-lite/data/features/css-regions.js") f(prefixRegions, browsers => prefix(['flow-into', 'flow-from', 'region-fragment'], { browsers, feature: 'css-regions' }) ) // CSS image-set let prefixImageSet = __webpack_require__(/*! caniuse-lite/data/features/css-image-set */ "./node_modules/caniuse-lite/data/features/css-image-set.js") f(prefixImageSet, browsers => prefix(['image-set'], { browsers, feature: 'css-image-set', props: [ 'background', 'background-image', 'border-image', 'cursor', 'mask', 'mask-image', 'list-style', 'list-style-image', 'content' ] }) ) // Writing Mode let prefixWritingMode = __webpack_require__(/*! caniuse-lite/data/features/css-writing-mode */ "./node_modules/caniuse-lite/data/features/css-writing-mode.js") f(prefixWritingMode, { match: /a|x/ }, browsers => prefix(['writing-mode'], { browsers, feature: 'css-writing-mode' }) ) // Cross-Fade Function let prefixCrossFade = __webpack_require__(/*! caniuse-lite/data/features/css-cross-fade */ "./node_modules/caniuse-lite/data/features/css-cross-fade.js") f(prefixCrossFade, browsers => prefix(['cross-fade'], { browsers, feature: 'css-cross-fade', props: [ 'background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image' ] }) ) // Read Only selector let prefixReadOnly = __webpack_require__(/*! caniuse-lite/data/features/css-read-only-write */ "./node_modules/caniuse-lite/data/features/css-read-only-write.js") f(prefixReadOnly, browsers => prefix([':read-only', ':read-write'], { browsers, feature: 'css-read-only-write', selector: true }) ) // Text Emphasize let prefixTextEmphasis = __webpack_require__(/*! caniuse-lite/data/features/text-emphasis */ "./node_modules/caniuse-lite/data/features/text-emphasis.js") f(prefixTextEmphasis, browsers => prefix( [ 'text-emphasis', 'text-emphasis-position', 'text-emphasis-style', 'text-emphasis-color' ], { browsers, feature: 'text-emphasis' } ) ) // CSS Grid Layout let prefixGrid = __webpack_require__(/*! caniuse-lite/data/features/css-grid */ "./node_modules/caniuse-lite/data/features/css-grid.js") f(prefixGrid, browsers => { prefix(['display-grid', 'inline-grid'], { browsers, feature: 'css-grid', props: ['display'] }) prefix( [ 'grid-template-columns', 'grid-template-rows', 'grid-row-start', 'grid-column-start', 'grid-row-end', 'grid-column-end', 'grid-row', 'grid-column', 'grid-area', 'grid-template', 'grid-template-areas', 'place-self' ], { browsers, feature: 'css-grid' } ) }) f(prefixGrid, { match: /a x/ }, browsers => prefix(['grid-column-align', 'grid-row-align'], { browsers, feature: 'css-grid' }) ) // CSS text-spacing let prefixTextSpacing = __webpack_require__(/*! caniuse-lite/data/features/css-text-spacing */ "./node_modules/caniuse-lite/data/features/css-text-spacing.js") f(prefixTextSpacing, browsers => prefix(['text-spacing'], { browsers, feature: 'css-text-spacing' }) ) // :any-link selector let prefixAnyLink = __webpack_require__(/*! caniuse-lite/data/features/css-any-link */ "./node_modules/caniuse-lite/data/features/css-any-link.js") f(prefixAnyLink, browsers => prefix([':any-link'], { browsers, feature: 'css-any-link', selector: true }) ) // unicode-bidi let bidiIsolate = __webpack_require__(/*! caniuse-lite/data/features/mdn-css-unicode-bidi-isolate */ "./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js") f(bidiIsolate, browsers => prefix(['isolate'], { browsers, feature: 'css-unicode-bidi', props: ['unicode-bidi'] }) ) let bidiPlaintext = __webpack_require__(/*! caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext */ "./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js") f(bidiPlaintext, browsers => prefix(['plaintext'], { browsers, feature: 'css-unicode-bidi', props: ['unicode-bidi'] }) ) let bidiOverride = __webpack_require__(/*! caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override */ "./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js") f(bidiOverride, { match: /y x/ }, browsers => prefix(['isolate-override'], { browsers, feature: 'css-unicode-bidi', props: ['unicode-bidi'] }) ) // overscroll-behavior selector let prefixOverscroll = __webpack_require__(/*! caniuse-lite/data/features/css-overscroll-behavior */ "./node_modules/caniuse-lite/data/features/css-overscroll-behavior.js") f(prefixOverscroll, { match: /a #1/ }, browsers => prefix(['overscroll-behavior'], { browsers, feature: 'css-overscroll-behavior' }) ) // text-orientation let prefixTextOrientation = __webpack_require__(/*! caniuse-lite/data/features/css-text-orientation */ "./node_modules/caniuse-lite/data/features/css-text-orientation.js") f(prefixTextOrientation, browsers => prefix(['text-orientation'], { browsers, feature: 'css-text-orientation' }) ) // print-color-adjust let prefixPrintAdjust = __webpack_require__(/*! caniuse-lite/data/features/css-print-color-adjust */ "./node_modules/caniuse-lite/data/features/css-print-color-adjust.js") f(prefixPrintAdjust, browsers => prefix(['print-color-adjust', 'color-adjust'], { browsers, feature: 'css-print-color-adjust' }) ) /***/ }), /***/ "./node_modules/autoprefixer/lib/at-rule.js": /*!**************************************************!*\ !*** ./node_modules/autoprefixer/lib/at-rule.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Prefixer = __webpack_require__(/*! ./prefixer */ "./node_modules/autoprefixer/lib/prefixer.js") class AtRule extends Prefixer { /** * Clone and add prefixes for at-rule */ add(rule, prefix) { let prefixed = prefix + rule.name let already = rule.parent.some( i => i.name === prefixed && i.params === rule.params ) if (already) { return undefined } let cloned = this.clone(rule, { name: prefixed }) return rule.parent.insertBefore(rule, cloned) } /** * Clone node with prefixes */ process(node) { let parent = this.parentPrefix(node) for (let prefix of this.prefixes) { if (!parent || parent === prefix) { this.add(node, prefix) } } } } module.exports = AtRule /***/ }), /***/ "./node_modules/autoprefixer/lib/autoprefixer.js": /*!*******************************************************!*\ !*** ./node_modules/autoprefixer/lib/autoprefixer.js ***! \*******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js"); let browserslist = __webpack_require__(/*! browserslist */ "./node_modules/browserslist/index.js") let { agents } = __webpack_require__(/*! caniuse-lite/dist/unpacker/agents */ "./node_modules/caniuse-lite/dist/unpacker/agents.js") let pico = __webpack_require__(/*! picocolors */ "./node_modules/picocolors/picocolors.browser.js") let dataPrefixes = __webpack_require__(/*! ../data/prefixes */ "./node_modules/autoprefixer/data/prefixes.js") let Browsers = __webpack_require__(/*! ./browsers */ "./node_modules/autoprefixer/lib/browsers.js") let getInfo = __webpack_require__(/*! ./info */ "./node_modules/autoprefixer/lib/info.js") let Prefixes = __webpack_require__(/*! ./prefixes */ "./node_modules/autoprefixer/lib/prefixes.js") let autoprefixerData = { browsers: agents, prefixes: dataPrefixes } const WARNING = '\n' + ' Replace Autoprefixer `browsers` option to Browserslist config.\n' + ' Use `browserslist` key in `package.json` or `.browserslistrc` file.\n' + '\n' + ' Using `browsers` option can cause errors. Browserslist config can\n' + ' be used for Babel, Autoprefixer, postcss-normalize and other tools.\n' + '\n' + ' If you really need to use option, rename it to `overrideBrowserslist`.\n' + '\n' + ' Learn more at:\n' + ' https://github.com/browserslist/browserslist#readme\n' + ' https://twitter.com/browserslist\n' + '\n' function isPlainObject(obj) { return Object.prototype.toString.apply(obj) === '[object Object]' } let cache = new Map() function timeCapsule(result, prefixes) { if (prefixes.browsers.selected.length === 0) { return } if (prefixes.add.selectors.length > 0) { return } if (Object.keys(prefixes.add).length > 2) { return } /* c8 ignore next 11 */ result.warn( 'Autoprefixer target browsers do not need any prefixes.' + 'You do not need Autoprefixer anymore.\n' + 'Check your Browserslist config to be sure that your targets ' + 'are set up correctly.\n' + '\n' + ' Learn more at:\n' + ' https://github.com/postcss/autoprefixer#readme\n' + ' https://github.com/browserslist/browserslist#readme\n' + '\n' ) } module.exports = plugin function plugin(...reqs) { let options if (reqs.length === 1 && isPlainObject(reqs[0])) { options = reqs[0] reqs = undefined } else if (reqs.length === 0 || (reqs.length === 1 && !reqs[0])) { reqs = undefined } else if (reqs.length <= 2 && (Array.isArray(reqs[0]) || !reqs[0])) { options = reqs[1] reqs = reqs[0] } else if (typeof reqs[reqs.length - 1] === 'object') { options = reqs.pop() } if (!options) { options = {} } if (options.browser) { throw new Error( 'Change `browser` option to `overrideBrowserslist` in Autoprefixer' ) } else if (options.browserslist) { throw new Error( 'Change `browserslist` option to `overrideBrowserslist` in Autoprefixer' ) } if (options.overrideBrowserslist) { reqs = options.overrideBrowserslist } else if (options.browsers) { if (typeof console !== 'undefined' && console.warn) { console.warn( pico.red(WARNING.replace(/`[^`]+`/g, i => pico.yellow(i.slice(1, -1)))) ) } reqs = options.browsers } let brwlstOpts = { env: options.env, ignoreUnknownVersions: options.ignoreUnknownVersions, stats: options.stats } function loadPrefixes(opts) { let d = autoprefixerData let browsers = new Browsers(d.browsers, reqs, opts, brwlstOpts) let key = browsers.selected.join(', ') + JSON.stringify(options) if (!cache.has(key)) { cache.set(key, new Prefixes(d.prefixes, browsers, options)) } return cache.get(key) } return { browsers: reqs, info(opts) { opts = opts || {} opts.from = opts.from || process.cwd() return getInfo(loadPrefixes(opts)) }, options, postcssPlugin: 'autoprefixer', prepare(result) { let prefixes = loadPrefixes({ env: options.env, from: result.opts.from }) return { OnceExit(root) { timeCapsule(result, prefixes) if (options.remove !== false) { prefixes.processor.remove(root, result) } if (options.add !== false) { prefixes.processor.add(root, result) } } } } } } plugin.postcss = true /** * Autoprefixer data */ plugin.data = autoprefixerData /** * Autoprefixer default browsers */ plugin.defaults = browserslist.defaults /** * Inspect with default Autoprefixer */ plugin.info = () => plugin().info() /***/ }), /***/ "./node_modules/autoprefixer/lib/brackets.js": /*!***************************************************!*\ !*** ./node_modules/autoprefixer/lib/brackets.js ***! \***************************************************/ /***/ ((module) => { function last(array) { return array[array.length - 1] } let brackets = { /** * Parse string to nodes tree */ parse(str) { let current = [''] let stack = [current] for (let sym of str) { if (sym === '(') { current = [''] last(stack).push(current) stack.push(current) continue } if (sym === ')') { stack.pop() current = last(stack) current.push('') continue } current[current.length - 1] += sym } return stack[0] }, /** * Generate output string by nodes tree */ stringify(ast) { let result = '' for (let i of ast) { if (typeof i === 'object') { result += `(${brackets.stringify(i)})` continue } result += i } return result } } module.exports = brackets /***/ }), /***/ "./node_modules/autoprefixer/lib/browsers.js": /*!***************************************************!*\ !*** ./node_modules/autoprefixer/lib/browsers.js ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let browserslist = __webpack_require__(/*! browserslist */ "./node_modules/browserslist/index.js") let { agents } = __webpack_require__(/*! caniuse-lite/dist/unpacker/agents */ "./node_modules/caniuse-lite/dist/unpacker/agents.js") let utils = __webpack_require__(/*! ./utils */ "./node_modules/autoprefixer/lib/utils.js") class Browsers { constructor(data, requirements, options, browserslistOpts) { this.data = data this.options = options || {} this.browserslistOpts = browserslistOpts || {} this.selected = this.parse(requirements) } /** * Return all prefixes for default browser data */ static prefixes() { if (this.prefixesCache) { return this.prefixesCache } this.prefixesCache = [] for (let name in agents) { this.prefixesCache.push(`-${agents[name].prefix}-`) } this.prefixesCache = utils .uniq(this.prefixesCache) .sort((a, b) => b.length - a.length) return this.prefixesCache } /** * Check is value contain any possible prefix */ static withPrefix(value) { if (!this.prefixesRegexp) { this.prefixesRegexp = new RegExp(this.prefixes().join('|')) } return this.prefixesRegexp.test(value) } /** * Is browser is selected by requirements */ isSelected(browser) { return this.selected.includes(browser) } /** * Return browsers selected by requirements */ parse(requirements) { let opts = {} for (let i in this.browserslistOpts) { opts[i] = this.browserslistOpts[i] } opts.path = this.options.from return browserslist(requirements, opts) } /** * Return prefix for selected browser */ prefix(browser) { let [name, version] = browser.split(' ') let data = this.data[name] let prefix = data.prefix_exceptions && data.prefix_exceptions[version] if (!prefix) { prefix = data.prefix } return `-${prefix}-` } } module.exports = Browsers /***/ }), /***/ "./node_modules/autoprefixer/lib/declaration.js": /*!******************************************************!*\ !*** ./node_modules/autoprefixer/lib/declaration.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Browsers = __webpack_require__(/*! ./browsers */ "./node_modules/autoprefixer/lib/browsers.js") let Prefixer = __webpack_require__(/*! ./prefixer */ "./node_modules/autoprefixer/lib/prefixer.js") let utils = __webpack_require__(/*! ./utils */ "./node_modules/autoprefixer/lib/utils.js") class Declaration extends Prefixer { /** * Clone and add prefixes for declaration */ add(decl, prefix, prefixes, result) { let prefixed = this.prefixed(decl.prop, prefix) if ( this.isAlready(decl, prefixed) || this.otherPrefixes(decl.value, prefix) ) { return undefined } return this.insert(decl, prefix, prefixes, result) } /** * Calculate indentation to create visual cascade */ calcBefore(prefixes, decl, prefix = '') { let max = this.maxPrefixed(prefixes, decl) let diff = max - utils.removeNote(prefix).length let before = decl.raw('before') if (diff > 0) { before += Array(diff).fill(' ').join('') } return before } /** * Always true, because we already get prefixer by property name */ check(/* decl */) { return true } /** * Clone and insert new declaration */ insert(decl, prefix, prefixes) { let cloned = this.set(this.clone(decl), prefix) if (!cloned) return undefined let already = decl.parent.some( i => i.prop === cloned.prop && i.value === cloned.value ) if (already) { return undefined } if (this.needCascade(decl)) { cloned.raws.before = this.calcBefore(prefixes, decl, prefix) } return decl.parent.insertBefore(decl, cloned) } /** * Did this declaration has this prefix above */ isAlready(decl, prefixed) { let already = this.all.group(decl).up(i => i.prop === prefixed) if (!already) { already = this.all.group(decl).down(i => i.prop === prefixed) } return already } /** * Return maximum length of possible prefixed property */ maxPrefixed(prefixes, decl) { if (decl._autoprefixerMax) { return decl._autoprefixerMax } let max = 0 for (let prefix of prefixes) { prefix = utils.removeNote(prefix) if (prefix.length > max) { max = prefix.length } } decl._autoprefixerMax = max return decl._autoprefixerMax } /** * Should we use visual cascade for prefixes */ needCascade(decl) { if (!decl._autoprefixerCascade) { decl._autoprefixerCascade = this.all.options.cascade !== false && decl.raw('before').includes('\n') } return decl._autoprefixerCascade } /** * Return unprefixed version of property */ normalize(prop) { return prop } /** * Return list of prefixed properties to clean old prefixes */ old(prop, prefix) { return [this.prefixed(prop, prefix)] } /** * Check `value`, that it contain other prefixes, rather than `prefix` */ otherPrefixes(value, prefix) { for (let other of Browsers.prefixes()) { if (other === prefix) { continue } if (value.includes(other)) { return value.replace(/var\([^)]+\)/, '').includes(other) } } return false } /** * Return prefixed version of property */ prefixed(prop, prefix) { return prefix + prop } /** * Add spaces for visual cascade */ process(decl, result) { if (!this.needCascade(decl)) { super.process(decl, result) return } let prefixes = super.process(decl, result) if (!prefixes || !prefixes.length) { return } this.restoreBefore(decl) decl.raws.before = this.calcBefore(prefixes, decl) } /** * Remove visual cascade */ restoreBefore(decl) { let lines = decl.raw('before').split('\n') let min = lines[lines.length - 1] this.all.group(decl).up(prefixed => { let array = prefixed.raw('before').split('\n') let last = array[array.length - 1] if (last.length < min.length) { min = last } }) lines[lines.length - 1] = min decl.raws.before = lines.join('\n') } /** * Set prefix to declaration */ set(decl, prefix) { decl.prop = this.prefixed(decl.prop, prefix) return decl } } module.exports = Declaration /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/align-content.js": /*!**************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/align-content.js ***! \**************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class AlignContent extends Declaration { /** * Return property name by final spec */ normalize() { return 'align-content' } /** * Change property name for 2012 spec */ prefixed(prop, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2012) { return prefix + 'flex-line-pack' } return super.prefixed(prop, prefix) } /** * Change value for 2012 spec and ignore prefix for 2009 */ set(decl, prefix) { let spec = flexSpec(prefix)[0] if (spec === 2012) { decl.value = AlignContent.oldValues[decl.value] || decl.value return super.set(decl, prefix) } if (spec === 'final') { return super.set(decl, prefix) } return undefined } } AlignContent.names = ['align-content', 'flex-line-pack'] AlignContent.oldValues = { 'flex-end': 'end', 'flex-start': 'start', 'space-around': 'distribute', 'space-between': 'justify' } module.exports = AlignContent /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/align-items.js": /*!************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/align-items.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class AlignItems extends Declaration { /** * Return property name by final spec */ normalize() { return 'align-items' } /** * Change property name for 2009 and 2012 specs */ prefixed(prop, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2009) { return prefix + 'box-align' } if (spec === 2012) { return prefix + 'flex-align' } return super.prefixed(prop, prefix) } /** * Change value for 2009 and 2012 specs */ set(decl, prefix) { let spec = flexSpec(prefix)[0] if (spec === 2009 || spec === 2012) { decl.value = AlignItems.oldValues[decl.value] || decl.value } return super.set(decl, prefix) } } AlignItems.names = ['align-items', 'flex-align', 'box-align'] AlignItems.oldValues = { 'flex-end': 'end', 'flex-start': 'start' } module.exports = AlignItems /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/align-self.js": /*!***********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/align-self.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class AlignSelf extends Declaration { check(decl) { return ( decl.parent && !decl.parent.some(i => { return i.prop && i.prop.startsWith('grid-') }) ) } /** * Return property name by final spec */ normalize() { return 'align-self' } /** * Change property name for 2012 specs */ prefixed(prop, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2012) { return prefix + 'flex-item-align' } return super.prefixed(prop, prefix) } /** * Change value for 2012 spec and ignore prefix for 2009 */ set(decl, prefix) { let spec = flexSpec(prefix)[0] if (spec === 2012) { decl.value = AlignSelf.oldValues[decl.value] || decl.value return super.set(decl, prefix) } if (spec === 'final') { return super.set(decl, prefix) } return undefined } } AlignSelf.names = ['align-self', 'flex-item-align'] AlignSelf.oldValues = { 'flex-end': 'end', 'flex-start': 'start' } module.exports = AlignSelf /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/animation.js": /*!**********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/animation.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class Animation extends Declaration { /** * Don’t add prefixes for modern values. */ check(decl) { return !decl.value.split(/\s+/).some(i => { let lower = i.toLowerCase() return lower === 'reverse' || lower === 'alternate-reverse' }) } } Animation.names = ['animation', 'animation-direction'] module.exports = Animation /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/appearance.js": /*!***********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/appearance.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let utils = __webpack_require__(/*! ../utils */ "./node_modules/autoprefixer/lib/utils.js") class Appearance extends Declaration { constructor(name, prefixes, all) { super(name, prefixes, all) if (this.prefixes) { this.prefixes = utils.uniq( this.prefixes.map(i => { if (i === '-ms-') { return '-webkit-' } return i }) ) } } } Appearance.names = ['appearance'] module.exports = Appearance /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/autofill.js": /*!*********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/autofill.js ***! \*********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Selector = __webpack_require__(/*! ../selector */ "./node_modules/autoprefixer/lib/selector.js") let utils = __webpack_require__(/*! ../utils */ "./node_modules/autoprefixer/lib/utils.js") class Autofill extends Selector { constructor(name, prefixes, all) { super(name, prefixes, all) if (this.prefixes) { this.prefixes = utils.uniq(this.prefixes.map(() => '-webkit-')) } } /** * Return different selectors depend on prefix */ prefixed(prefix) { if (prefix === '-webkit-') { return ':-webkit-autofill' } return `:${prefix}autofill` } } Autofill.names = [':autofill'] module.exports = Autofill /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/backdrop-filter.js": /*!****************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/backdrop-filter.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let utils = __webpack_require__(/*! ../utils */ "./node_modules/autoprefixer/lib/utils.js") class BackdropFilter extends Declaration { constructor(name, prefixes, all) { super(name, prefixes, all) if (this.prefixes) { this.prefixes = utils.uniq( this.prefixes.map(i => { return i === '-ms-' ? '-webkit-' : i }) ) } } } BackdropFilter.names = ['backdrop-filter'] module.exports = BackdropFilter /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/background-clip.js": /*!****************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/background-clip.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let utils = __webpack_require__(/*! ../utils */ "./node_modules/autoprefixer/lib/utils.js") class BackgroundClip extends Declaration { constructor(name, prefixes, all) { super(name, prefixes, all) if (this.prefixes) { this.prefixes = utils.uniq( this.prefixes.map(i => { return i === '-ms-' ? '-webkit-' : i }) ) } } check(decl) { return decl.value.toLowerCase() === 'text' } } BackgroundClip.names = ['background-clip'] module.exports = BackgroundClip /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/background-size.js": /*!****************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/background-size.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class BackgroundSize extends Declaration { /** * Duplication parameter for -webkit- browsers */ set(decl, prefix) { let value = decl.value.toLowerCase() if ( prefix === '-webkit-' && !value.includes(' ') && value !== 'contain' && value !== 'cover' ) { decl.value = decl.value + ' ' + decl.value } return super.set(decl, prefix) } } BackgroundSize.names = ['background-size'] module.exports = BackgroundSize /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/block-logical.js": /*!**************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/block-logical.js ***! \**************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class BlockLogical extends Declaration { /** * Return property name by spec */ normalize(prop) { if (prop.includes('-before')) { return prop.replace('-before', '-block-start') } return prop.replace('-after', '-block-end') } /** * Use old syntax for -moz- and -webkit- */ prefixed(prop, prefix) { if (prop.includes('-start')) { return prefix + prop.replace('-block-start', '-before') } return prefix + prop.replace('-block-end', '-after') } } BlockLogical.names = [ 'border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end', 'border-before', 'border-after', 'margin-before', 'margin-after', 'padding-before', 'padding-after' ] module.exports = BlockLogical /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/border-image.js": /*!*************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/border-image.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class BorderImage extends Declaration { /** * Remove fill parameter for prefixed declarations */ set(decl, prefix) { decl.value = decl.value.replace(/\s+fill(\s)/, '$1') return super.set(decl, prefix) } } BorderImage.names = ['border-image'] module.exports = BorderImage /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/border-radius.js": /*!**************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/border-radius.js ***! \**************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class BorderRadius extends Declaration { /** * Return unprefixed version of property */ normalize(prop) { return BorderRadius.toNormal[prop] || prop } /** * Change syntax, when add Mozilla prefix */ prefixed(prop, prefix) { if (prefix === '-moz-') { return prefix + (BorderRadius.toMozilla[prop] || prop) } return super.prefixed(prop, prefix) } } BorderRadius.names = ['border-radius'] BorderRadius.toMozilla = {} BorderRadius.toNormal = {} for (let ver of ['top', 'bottom']) { for (let hor of ['left', 'right']) { let normal = `border-${ver}-${hor}-radius` let mozilla = `border-radius-${ver}${hor}` BorderRadius.names.push(normal) BorderRadius.names.push(mozilla) BorderRadius.toMozilla[normal] = mozilla BorderRadius.toNormal[mozilla] = normal } } module.exports = BorderRadius /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/break-props.js": /*!************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/break-props.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class BreakProps extends Declaration { /** * Don’t prefix some values */ insert(decl, prefix, prefixes) { if (decl.prop !== 'break-inside') { return super.insert(decl, prefix, prefixes) } if (/region/i.test(decl.value) || /page/i.test(decl.value)) { return undefined } return super.insert(decl, prefix, prefixes) } /** * Return property name by final spec */ normalize(prop) { if (prop.includes('inside')) { return 'break-inside' } if (prop.includes('before')) { return 'break-before' } return 'break-after' } /** * Change name for -webkit- and -moz- prefix */ prefixed(prop, prefix) { return `${prefix}column-${prop}` } /** * Change prefixed value for avoid-column and avoid-page */ set(decl, prefix) { if ( (decl.prop === 'break-inside' && decl.value === 'avoid-column') || decl.value === 'avoid-page' ) { decl.value = 'avoid' } return super.set(decl, prefix) } } BreakProps.names = [ 'break-inside', 'page-break-inside', 'column-break-inside', 'break-before', 'page-break-before', 'column-break-before', 'break-after', 'page-break-after', 'column-break-after' ] module.exports = BreakProps /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/cross-fade.js": /*!***********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/cross-fade.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let list = (__webpack_require__(/*! postcss */ "./node_modules/postcss/lib/postcss.js").list) let Value = __webpack_require__(/*! ../value */ "./node_modules/autoprefixer/lib/value.js") class CrossFade extends Value { replace(string, prefix) { return list .space(string) .map(value => { if (value.slice(0, +this.name.length + 1) !== this.name + '(') { return value } let close = value.lastIndexOf(')') let after = value.slice(close + 1) let args = value.slice(this.name.length + 1, close) if (prefix === '-webkit-') { let match = args.match(/\d*.?\d+%?/) if (match) { args = args.slice(match[0].length).trim() args += `, ${match[0]}` } else { args += ', 0.5' } } return prefix + this.name + '(' + args + ')' + after }) .join(' ') } } CrossFade.names = ['cross-fade'] module.exports = CrossFade /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/display-flex.js": /*!*************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/display-flex.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let OldValue = __webpack_require__(/*! ../old-value */ "./node_modules/autoprefixer/lib/old-value.js") let Value = __webpack_require__(/*! ../value */ "./node_modules/autoprefixer/lib/value.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class DisplayFlex extends Value { constructor(name, prefixes) { super(name, prefixes) if (name === 'display-flex') { this.name = 'flex' } } /** * Faster check for flex value */ check(decl) { return decl.prop === 'display' && decl.value === this.name } /** * Change value for old specs */ old(prefix) { let prefixed = this.prefixed(prefix) if (!prefixed) return undefined return new OldValue(this.name, prefixed) } /** * Return value by spec */ prefixed(prefix) { let spec, value ;[spec, prefix] = flexSpec(prefix) if (spec === 2009) { if (this.name === 'flex') { value = 'box' } else { value = 'inline-box' } } else if (spec === 2012) { if (this.name === 'flex') { value = 'flexbox' } else { value = 'inline-flexbox' } } else if (spec === 'final') { value = this.name } return prefix + value } /** * Add prefix to value depend on flebox spec version */ replace(string, prefix) { return this.prefixed(prefix) } } DisplayFlex.names = ['display-flex', 'inline-flex'] module.exports = DisplayFlex /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/display-grid.js": /*!*************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/display-grid.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Value = __webpack_require__(/*! ../value */ "./node_modules/autoprefixer/lib/value.js") class DisplayGrid extends Value { constructor(name, prefixes) { super(name, prefixes) if (name === 'display-grid') { this.name = 'grid' } } /** * Faster check for flex value */ check(decl) { return decl.prop === 'display' && decl.value === this.name } } DisplayGrid.names = ['display-grid', 'inline-grid'] module.exports = DisplayGrid /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/file-selector-button.js": /*!*********************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/file-selector-button.js ***! \*********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Selector = __webpack_require__(/*! ../selector */ "./node_modules/autoprefixer/lib/selector.js") let utils = __webpack_require__(/*! ../utils */ "./node_modules/autoprefixer/lib/utils.js") class FileSelectorButton extends Selector { constructor(name, prefixes, all) { super(name, prefixes, all) if (this.prefixes) { this.prefixes = utils.uniq(this.prefixes.map(() => '-webkit-')) } } /** * Return different selectors depend on prefix */ prefixed(prefix) { if (prefix === '-webkit-') { return '::-webkit-file-upload-button' } return `::${prefix}file-selector-button` } } FileSelectorButton.names = ['::file-selector-button'] module.exports = FileSelectorButton /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/filter-value.js": /*!*************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/filter-value.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Value = __webpack_require__(/*! ../value */ "./node_modules/autoprefixer/lib/value.js") class FilterValue extends Value { constructor(name, prefixes) { super(name, prefixes) if (name === 'filter-function') { this.name = 'filter' } } } FilterValue.names = ['filter', 'filter-function'] module.exports = FilterValue /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/filter.js": /*!*******************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/filter.js ***! \*******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class Filter extends Declaration { /** * Check is it Internet Explorer filter */ check(decl) { let v = decl.value return ( !v.toLowerCase().includes('alpha(') && !v.includes('DXImageTransform.Microsoft') && !v.includes('data:image/svg+xml') ) } } Filter.names = ['filter'] module.exports = Filter /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/flex-basis.js": /*!***********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/flex-basis.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class FlexBasis extends Declaration { /** * Return property name by final spec */ normalize() { return 'flex-basis' } /** * Return flex property for 2012 spec */ prefixed(prop, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2012) { return prefix + 'flex-preferred-size' } return super.prefixed(prop, prefix) } /** * Ignore 2009 spec and use flex property for 2012 */ set(decl, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2012 || spec === 'final') { return super.set(decl, prefix) } return undefined } } FlexBasis.names = ['flex-basis', 'flex-preferred-size'] module.exports = FlexBasis /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/flex-direction.js": /*!***************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/flex-direction.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class FlexDirection extends Declaration { /** * Use two properties for 2009 spec */ insert(decl, prefix, prefixes) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec !== 2009) { return super.insert(decl, prefix, prefixes) } let already = decl.parent.some( i => i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction' ) if (already) { return undefined } let v = decl.value let dir, orient if (v === 'inherit' || v === 'initial' || v === 'unset') { orient = v dir = v } else { orient = v.includes('row') ? 'horizontal' : 'vertical' dir = v.includes('reverse') ? 'reverse' : 'normal' } let cloned = this.clone(decl) cloned.prop = prefix + 'box-orient' cloned.value = orient if (this.needCascade(decl)) { cloned.raws.before = this.calcBefore(prefixes, decl, prefix) } decl.parent.insertBefore(decl, cloned) cloned = this.clone(decl) cloned.prop = prefix + 'box-direction' cloned.value = dir if (this.needCascade(decl)) { cloned.raws.before = this.calcBefore(prefixes, decl, prefix) } return decl.parent.insertBefore(decl, cloned) } /** * Return property name by final spec */ normalize() { return 'flex-direction' } /** * Clean two properties for 2009 spec */ old(prop, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2009) { return [prefix + 'box-orient', prefix + 'box-direction'] } else { return super.old(prop, prefix) } } } FlexDirection.names = ['flex-direction', 'box-direction', 'box-orient'] module.exports = FlexDirection /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/flex-flow.js": /*!**********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/flex-flow.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class FlexFlow extends Declaration { /** * Use two properties for 2009 spec */ insert(decl, prefix, prefixes) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec !== 2009) { return super.insert(decl, prefix, prefixes) } let values = decl.value .split(/\s+/) .filter(i => i !== 'wrap' && i !== 'nowrap' && 'wrap-reverse') if (values.length === 0) { return undefined } let already = decl.parent.some( i => i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction' ) if (already) { return undefined } let value = values[0] let orient = value.includes('row') ? 'horizontal' : 'vertical' let dir = value.includes('reverse') ? 'reverse' : 'normal' let cloned = this.clone(decl) cloned.prop = prefix + 'box-orient' cloned.value = orient if (this.needCascade(decl)) { cloned.raws.before = this.calcBefore(prefixes, decl, prefix) } decl.parent.insertBefore(decl, cloned) cloned = this.clone(decl) cloned.prop = prefix + 'box-direction' cloned.value = dir if (this.needCascade(decl)) { cloned.raws.before = this.calcBefore(prefixes, decl, prefix) } return decl.parent.insertBefore(decl, cloned) } } FlexFlow.names = ['flex-flow', 'box-direction', 'box-orient'] module.exports = FlexFlow /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/flex-grow.js": /*!**********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/flex-grow.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class Flex extends Declaration { /** * Return property name by final spec */ normalize() { return 'flex' } /** * Return flex property for 2009 and 2012 specs */ prefixed(prop, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2009) { return prefix + 'box-flex' } if (spec === 2012) { return prefix + 'flex-positive' } return super.prefixed(prop, prefix) } } Flex.names = ['flex-grow', 'flex-positive'] module.exports = Flex /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/flex-shrink.js": /*!************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/flex-shrink.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class FlexShrink extends Declaration { /** * Return property name by final spec */ normalize() { return 'flex-shrink' } /** * Return flex property for 2012 spec */ prefixed(prop, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2012) { return prefix + 'flex-negative' } return super.prefixed(prop, prefix) } /** * Ignore 2009 spec and use flex property for 2012 */ set(decl, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2012 || spec === 'final') { return super.set(decl, prefix) } return undefined } } FlexShrink.names = ['flex-shrink', 'flex-negative'] module.exports = FlexShrink /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/flex-spec.js": /*!**********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/flex-spec.js ***! \**********************************************************/ /***/ ((module) => { /** * Return flexbox spec versions by prefix */ module.exports = function (prefix) { let spec if (prefix === '-webkit- 2009' || prefix === '-moz-') { spec = 2009 } else if (prefix === '-ms-') { spec = 2012 } else if (prefix === '-webkit-') { spec = 'final' } if (prefix === '-webkit- 2009') { prefix = '-webkit-' } return [spec, prefix] } /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/flex-wrap.js": /*!**********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/flex-wrap.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class FlexWrap extends Declaration { /** * Don't add prefix for 2009 spec */ set(decl, prefix) { let spec = flexSpec(prefix)[0] if (spec !== 2009) { return super.set(decl, prefix) } return undefined } } FlexWrap.names = ['flex-wrap'] module.exports = FlexWrap /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/flex.js": /*!*****************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/flex.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let list = (__webpack_require__(/*! postcss */ "./node_modules/postcss/lib/postcss.js").list) let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class Flex extends Declaration { /** * Return property name by final spec */ normalize() { return 'flex' } /** * Change property name for 2009 spec */ prefixed(prop, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2009) { return prefix + 'box-flex' } return super.prefixed(prop, prefix) } /** * Spec 2009 supports only first argument * Spec 2012 disallows unitless basis */ set(decl, prefix) { let spec = flexSpec(prefix)[0] if (spec === 2009) { decl.value = list.space(decl.value)[0] decl.value = Flex.oldValues[decl.value] || decl.value return super.set(decl, prefix) } if (spec === 2012) { let components = list.space(decl.value) if (components.length === 3 && components[2] === '0') { decl.value = components.slice(0, 2).concat('0px').join(' ') } } return super.set(decl, prefix) } } Flex.names = ['flex', 'box-flex'] Flex.oldValues = { auto: '1', none: '0' } module.exports = Flex /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/fullscreen.js": /*!***********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/fullscreen.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Selector = __webpack_require__(/*! ../selector */ "./node_modules/autoprefixer/lib/selector.js") class Fullscreen extends Selector { /** * Return different selectors depend on prefix */ prefixed(prefix) { if (prefix === '-webkit-') { return ':-webkit-full-screen' } if (prefix === '-moz-') { return ':-moz-full-screen' } return `:${prefix}fullscreen` } } Fullscreen.names = [':fullscreen'] module.exports = Fullscreen /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/gradient.js": /*!*********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/gradient.js ***! \*********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let range = __webpack_require__(/*! normalize-range */ "./node_modules/normalize-range/index.js") let parser = __webpack_require__(/*! postcss-value-parser */ "./node_modules/postcss-value-parser/lib/index.js") let OldValue = __webpack_require__(/*! ../old-value */ "./node_modules/autoprefixer/lib/old-value.js") let utils = __webpack_require__(/*! ../utils */ "./node_modules/autoprefixer/lib/utils.js") let Value = __webpack_require__(/*! ../value */ "./node_modules/autoprefixer/lib/value.js") let IS_DIRECTION = /top|left|right|bottom/gi class Gradient extends Value { /** * Do not add non-webkit prefixes for list-style and object */ add(decl, prefix) { let p = decl.prop if (p.includes('mask')) { if (prefix === '-webkit-' || prefix === '-webkit- old') { return super.add(decl, prefix) } } else if ( p === 'list-style' || p === 'list-style-image' || p === 'content' ) { if (prefix === '-webkit-' || prefix === '-webkit- old') { return super.add(decl, prefix) } } else { return super.add(decl, prefix) } return undefined } /** * Get div token from exists parameters */ cloneDiv(params) { for (let i of params) { if (i.type === 'div' && i.value === ',') { return i } } return { after: ' ', type: 'div', value: ',' } } /** * Change colors syntax to old webkit */ colorStops(params) { let result = [] for (let i = 0; i < params.length; i++) { let pos let param = params[i] let item if (i === 0) { continue } let color = parser.stringify(param[0]) if (param[1] && param[1].type === 'word') { pos = param[1].value } else if (param[2] && param[2].type === 'word') { pos = param[2].value } let stop if (i === 1 && (!pos || pos === '0%')) { stop = `from(${color})` } else if (i === params.length - 1 && (!pos || pos === '100%')) { stop = `to(${color})` } else if (pos) { stop = `color-stop(${pos}, ${color})` } else { stop = `color-stop(${color})` } let div = param[param.length - 1] params[i] = [{ type: 'word', value: stop }] if (div.type === 'div' && div.value === ',') { item = params[i].push(div) } result.push(item) } return result } /** * Change new direction to old */ convertDirection(params) { if (params.length > 0) { if (params[0].value === 'to') { this.fixDirection(params) } else if (params[0].value.includes('deg')) { this.fixAngle(params) } else if (this.isRadial(params)) { this.fixRadial(params) } } return params } /** * Add 90 degrees */ fixAngle(params) { let first = params[0].value first = parseFloat(first) first = Math.abs(450 - first) % 360 first = this.roundFloat(first, 3) params[0].value = `${first}deg` } /** * Replace `to top left` to `bottom right` */ fixDirection(params) { params.splice(0, 2) for (let param of params) { if (param.type === 'div') { break } if (param.type === 'word') { param.value = this.revertDirection(param.value) } } } /** * Fix radial direction syntax */ fixRadial(params) { let first = [] let second = [] let a, b, c, i, next for (i = 0; i < params.length - 2; i++) { a = params[i] b = params[i + 1] c = params[i + 2] if (a.type === 'space' && b.value === 'at' && c.type === 'space') { next = i + 3 break } else { first.push(a) } } let div for (i = next; i < params.length; i++) { if (params[i].type === 'div') { div = params[i] break } else { second.push(params[i]) } } params.splice(0, i, ...second, div, ...first) } /** * Look for at word */ isRadial(params) { let state = 'before' for (let param of params) { if (state === 'before' && param.type === 'space') { state = 'at' } else if (state === 'at' && param.value === 'at') { state = 'after' } else if (state === 'after' && param.type === 'space') { return true } else if (param.type === 'div') { break } else { state = 'before' } } return false } /** * Replace old direction to new */ newDirection(params) { if (params[0].value === 'to') { return params } IS_DIRECTION.lastIndex = 0 // reset search index of global regexp if (!IS_DIRECTION.test(params[0].value)) { return params } params.unshift( { type: 'word', value: 'to' }, { type: 'space', value: ' ' } ) for (let i = 2; i < params.length; i++) { if (params[i].type === 'div') { break } if (params[i].type === 'word') { params[i].value = this.revertDirection(params[i].value) } } return params } /** * Normalize angle */ normalize(nodes, gradientName) { if (!nodes[0]) return nodes if (/-?\d+(.\d+)?grad/.test(nodes[0].value)) { nodes[0].value = this.normalizeUnit(nodes[0].value, 400) } else if (/-?\d+(.\d+)?rad/.test(nodes[0].value)) { nodes[0].value = this.normalizeUnit(nodes[0].value, 2 * Math.PI) } else if (/-?\d+(.\d+)?turn/.test(nodes[0].value)) { nodes[0].value = this.normalizeUnit(nodes[0].value, 1) } else if (nodes[0].value.includes('deg')) { let num = parseFloat(nodes[0].value) num = range.wrap(0, 360, num) nodes[0].value = `${num}deg` } if ( gradientName === 'linear-gradient' || gradientName === 'repeating-linear-gradient' ) { let direction = nodes[0].value // Unitless zero for `` values are allowed in CSS gradients and transforms. // Spec: https://github.com/w3c/csswg-drafts/commit/602789171429b2231223ab1e5acf8f7f11652eb3 if (direction === '0deg' || direction === '0') { nodes = this.replaceFirst(nodes, 'to', ' ', 'top') } else if (direction === '90deg') { nodes = this.replaceFirst(nodes, 'to', ' ', 'right') } else if (direction === '180deg') { nodes = this.replaceFirst(nodes, 'to', ' ', 'bottom') // default value } else if (direction === '270deg') { nodes = this.replaceFirst(nodes, 'to', ' ', 'left') } } return nodes } /** * Convert angle unit to deg */ normalizeUnit(str, full) { let num = parseFloat(str) let deg = (num / full) * 360 return `${deg}deg` } /** * Remove old WebKit gradient too */ old(prefix) { if (prefix === '-webkit-') { let type if (this.name === 'linear-gradient') { type = 'linear' } else if (this.name === 'repeating-linear-gradient') { type = 'repeating-linear' } else if (this.name === 'repeating-radial-gradient') { type = 'repeating-radial' } else { type = 'radial' } let string = '-gradient' let regexp = utils.regexp( `-webkit-(${type}-gradient|gradient\\(\\s*${type})`, false ) return new OldValue(this.name, prefix + this.name, string, regexp) } else { return super.old(prefix) } } /** * Change direction syntax to old webkit */ oldDirection(params) { let div = this.cloneDiv(params[0]) if (params[0][0].value !== 'to') { return params.unshift([ { type: 'word', value: Gradient.oldDirections.bottom }, div ]) } else { let words = [] for (let node of params[0].slice(2)) { if (node.type === 'word') { words.push(node.value.toLowerCase()) } } words = words.join(' ') let old = Gradient.oldDirections[words] || words params[0] = [{ type: 'word', value: old }, div] return params[0] } } /** * Convert to old webkit syntax */ oldWebkit(node) { let { nodes } = node let string = parser.stringify(node.nodes) if (this.name !== 'linear-gradient') { return false } if (nodes[0] && nodes[0].value.includes('deg')) { return false } if ( string.includes('px') || string.includes('-corner') || string.includes('-side') ) { return false } let params = [[]] for (let i of nodes) { params[params.length - 1].push(i) if (i.type === 'div' && i.value === ',') { params.push([]) } } this.oldDirection(params) this.colorStops(params) node.nodes = [] for (let param of params) { node.nodes = node.nodes.concat(param) } node.nodes.unshift( { type: 'word', value: 'linear' }, this.cloneDiv(node.nodes) ) node.value = '-webkit-gradient' return true } /** * Change degrees for webkit prefix */ replace(string, prefix) { let ast = parser(string) for (let node of ast.nodes) { let gradientName = this.name // gradient name if (node.type === 'function' && node.value === gradientName) { node.nodes = this.newDirection(node.nodes) node.nodes = this.normalize(node.nodes, gradientName) if (prefix === '-webkit- old') { let changes = this.oldWebkit(node) if (!changes) { return false } } else { node.nodes = this.convertDirection(node.nodes) node.value = prefix + node.value } } } return ast.toString() } /** * Replace first token */ replaceFirst(params, ...words) { let prefix = words.map(i => { if (i === ' ') { return { type: 'space', value: i } } return { type: 'word', value: i } }) return prefix.concat(params.slice(1)) } revertDirection(word) { return Gradient.directions[word.toLowerCase()] || word } /** * Round float and save digits under dot */ roundFloat(float, digits) { return parseFloat(float.toFixed(digits)) } } Gradient.names = [ 'linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient' ] Gradient.directions = { bottom: 'top', left: 'right', right: 'left', top: 'bottom' // default value } // Direction to replace Gradient.oldDirections = { 'bottom': 'left top, left bottom', 'bottom left': 'right top, left bottom', 'bottom right': 'left top, right bottom', 'left': 'right top, left top', 'left bottom': 'right top, left bottom', 'left top': 'right bottom, left top', 'right': 'left top, right top', 'right bottom': 'left top, right bottom', 'right top': 'left bottom, right top', 'top': 'left bottom, left top', 'top left': 'right bottom, left top', 'top right': 'left bottom, right top' } module.exports = Gradient /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/grid-area.js": /*!**********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/grid-area.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let utils = __webpack_require__(/*! ./grid-utils */ "./node_modules/autoprefixer/lib/hacks/grid-utils.js") class GridArea extends Declaration { /** * Translate grid-area to separate -ms- prefixed properties */ insert(decl, prefix, prefixes, result) { if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) let values = utils.parse(decl) let [rowStart, rowSpan] = utils.translate(values, 0, 2) let [columnStart, columnSpan] = utils.translate(values, 1, 3) ;[ ['grid-row', rowStart], ['grid-row-span', rowSpan], ['grid-column', columnStart], ['grid-column-span', columnSpan] ].forEach(([prop, value]) => { utils.insertDecl(decl, prop, value) }) utils.warnTemplateSelectorNotFound(decl, result) utils.warnIfGridRowColumnExists(decl, result) return undefined } } GridArea.names = ['grid-area'] module.exports = GridArea /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/grid-column-align.js": /*!******************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/grid-column-align.js ***! \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class GridColumnAlign extends Declaration { /** * Do not prefix flexbox values */ check(decl) { return !decl.value.includes('flex-') && decl.value !== 'baseline' } /** * Change IE property back */ normalize() { return 'justify-self' } /** * Change property name for IE */ prefixed(prop, prefix) { return prefix + 'grid-column-align' } } GridColumnAlign.names = ['grid-column-align'] module.exports = GridColumnAlign /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/grid-end.js": /*!*********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/grid-end.js ***! \*********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let { isPureNumber } = __webpack_require__(/*! ../utils */ "./node_modules/autoprefixer/lib/utils.js") class GridEnd extends Declaration { /** * Change repeating syntax for IE */ insert(decl, prefix, prefixes, result) { if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) let clonedDecl = this.clone(decl) let startProp = decl.prop.replace(/end$/, 'start') let spanProp = prefix + decl.prop.replace(/end$/, 'span') if (decl.parent.some(i => i.prop === spanProp)) { return undefined } clonedDecl.prop = spanProp if (decl.value.includes('span')) { clonedDecl.value = decl.value.replace(/span\s/i, '') } else { let startDecl decl.parent.walkDecls(startProp, d => { startDecl = d }) if (startDecl) { if (isPureNumber(startDecl.value)) { let value = Number(decl.value) - Number(startDecl.value) + '' clonedDecl.value = value } else { return undefined } } else { decl.warn( result, `Can not prefix ${decl.prop} (${startProp} is not found)` ) } } decl.cloneBefore(clonedDecl) return undefined } } GridEnd.names = ['grid-row-end', 'grid-column-end'] module.exports = GridEnd /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/grid-row-align.js": /*!***************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/grid-row-align.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class GridRowAlign extends Declaration { /** * Do not prefix flexbox values */ check(decl) { return !decl.value.includes('flex-') && decl.value !== 'baseline' } /** * Change IE property back */ normalize() { return 'align-self' } /** * Change property name for IE */ prefixed(prop, prefix) { return prefix + 'grid-row-align' } } GridRowAlign.names = ['grid-row-align'] module.exports = GridRowAlign /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/grid-row-column.js": /*!****************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/grid-row-column.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let utils = __webpack_require__(/*! ./grid-utils */ "./node_modules/autoprefixer/lib/hacks/grid-utils.js") class GridRowColumn extends Declaration { /** * Translate grid-row / grid-column to separate -ms- prefixed properties */ insert(decl, prefix, prefixes) { if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) let values = utils.parse(decl) let [start, span] = utils.translate(values, 0, 1) let hasStartValueSpan = values[0] && values[0].includes('span') if (hasStartValueSpan) { span = values[0].join('').replace(/\D/g, '') } ;[ [decl.prop, start], [`${decl.prop}-span`, span] ].forEach(([prop, value]) => { utils.insertDecl(decl, prop, value) }) return undefined } } GridRowColumn.names = ['grid-row', 'grid-column'] module.exports = GridRowColumn /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/grid-rows-columns.js": /*!******************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/grid-rows-columns.js ***! \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let Processor = __webpack_require__(/*! ../processor */ "./node_modules/autoprefixer/lib/processor.js") let { autoplaceGridItems, getGridGap, inheritGridGap, prefixTrackProp, prefixTrackValue } = __webpack_require__(/*! ./grid-utils */ "./node_modules/autoprefixer/lib/hacks/grid-utils.js") class GridRowsColumns extends Declaration { insert(decl, prefix, prefixes, result) { if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) let { parent, prop, value } = decl let isRowProp = prop.includes('rows') let isColumnProp = prop.includes('columns') let hasGridTemplate = parent.some( i => i.prop === 'grid-template' || i.prop === 'grid-template-areas' ) /** * Not to prefix rows declaration if grid-template(-areas) is present */ if (hasGridTemplate && isRowProp) { return false } let processor = new Processor({ options: {} }) let status = processor.gridStatus(parent, result) let gap = getGridGap(decl) gap = inheritGridGap(decl, gap) || gap let gapValue = isRowProp ? gap.row : gap.column if ((status === 'no-autoplace' || status === true) && !hasGridTemplate) { gapValue = null } let prefixValue = prefixTrackValue({ gap: gapValue, value }) /** * Insert prefixes */ decl.cloneBefore({ prop: prefixTrackProp({ prefix, prop }), value: prefixValue }) let autoflow = parent.nodes.find(i => i.prop === 'grid-auto-flow') let autoflowValue = 'row' if (autoflow && !processor.disabled(autoflow, result)) { autoflowValue = autoflow.value.trim() } if (status === 'autoplace') { /** * Show warning if grid-template-rows decl is not found */ let rowDecl = parent.nodes.find(i => i.prop === 'grid-template-rows') if (!rowDecl && hasGridTemplate) { return undefined } else if (!rowDecl && !hasGridTemplate) { decl.warn( result, 'Autoplacement does not work without grid-template-rows property' ) return undefined } /** * Show warning if grid-template-columns decl is not found */ let columnDecl = parent.nodes.find(i => { return i.prop === 'grid-template-columns' }) if (!columnDecl && !hasGridTemplate) { decl.warn( result, 'Autoplacement does not work without grid-template-columns property' ) } /** * Autoplace grid items */ if (isColumnProp && !hasGridTemplate) { autoplaceGridItems(decl, result, gap, autoflowValue) } } return undefined } /** * Change IE property back */ normalize(prop) { return prop.replace(/^grid-(rows|columns)/, 'grid-template-$1') } /** * Change property name for IE */ prefixed(prop, prefix) { if (prefix === '-ms-') { return prefixTrackProp({ prefix, prop }) } return super.prefixed(prop, prefix) } } GridRowsColumns.names = [ 'grid-template-rows', 'grid-template-columns', 'grid-rows', 'grid-columns' ] module.exports = GridRowsColumns /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/grid-start.js": /*!***********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/grid-start.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class GridStart extends Declaration { /** * Do not add prefix for unsupported value in IE */ check(decl) { let value = decl.value return !value.includes('/') && !value.includes('span') } /** * Return a final spec property */ normalize(prop) { return prop.replace('-start', '') } /** * Change property name for IE */ prefixed(prop, prefix) { let result = super.prefixed(prop, prefix) if (prefix === '-ms-') { result = result.replace('-start', '') } return result } } GridStart.names = ['grid-row-start', 'grid-column-start'] module.exports = GridStart /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/grid-template-areas.js": /*!********************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/grid-template-areas.js ***! \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let { getGridGap, inheritGridGap, parseGridAreas, prefixTrackProp, prefixTrackValue, warnGridGap, warnMissedAreas } = __webpack_require__(/*! ./grid-utils */ "./node_modules/autoprefixer/lib/hacks/grid-utils.js") function getGridRows(tpl) { return tpl .trim() .slice(1, -1) .split(/["']\s*["']?/g) } class GridTemplateAreas extends Declaration { /** * Translate grid-template-areas to separate -ms- prefixed properties */ insert(decl, prefix, prefixes, result) { if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) let hasColumns = false let hasRows = false let parent = decl.parent let gap = getGridGap(decl) gap = inheritGridGap(decl, gap) || gap // remove already prefixed rows // to prevent doubling prefixes parent.walkDecls(/-ms-grid-rows/, i => i.remove()) // add empty tracks to rows parent.walkDecls(/grid-template-(rows|columns)/, trackDecl => { if (trackDecl.prop === 'grid-template-rows') { hasRows = true let { prop, value } = trackDecl trackDecl.cloneBefore({ prop: prefixTrackProp({ prefix, prop }), value: prefixTrackValue({ gap: gap.row, value }) }) } else { hasColumns = true } }) let gridRows = getGridRows(decl.value) if (hasColumns && !hasRows && gap.row && gridRows.length > 1) { decl.cloneBefore({ prop: '-ms-grid-rows', raws: {}, value: prefixTrackValue({ gap: gap.row, value: `repeat(${gridRows.length}, auto)` }) }) } // warnings warnGridGap({ decl, gap, hasColumns, result }) let areas = parseGridAreas({ gap, rows: gridRows }) warnMissedAreas(areas, decl, result) return decl } } GridTemplateAreas.names = ['grid-template-areas'] module.exports = GridTemplateAreas /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/grid-template.js": /*!**************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/grid-template.js ***! \**************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let { getGridGap, inheritGridGap, parseTemplate, warnGridGap, warnMissedAreas } = __webpack_require__(/*! ./grid-utils */ "./node_modules/autoprefixer/lib/hacks/grid-utils.js") class GridTemplate extends Declaration { /** * Translate grid-template to separate -ms- prefixed properties */ insert(decl, prefix, prefixes, result) { if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) if (decl.parent.some(i => i.prop === '-ms-grid-rows')) { return undefined } let gap = getGridGap(decl) /** * we must insert inherited gap values in some cases: * if we are inside media query && if we have no grid-gap value */ let inheritedGap = inheritGridGap(decl, gap) let { areas, columns, rows } = parseTemplate({ decl, gap: inheritedGap || gap }) let hasAreas = Object.keys(areas).length > 0 let hasRows = Boolean(rows) let hasColumns = Boolean(columns) warnGridGap({ decl, gap, hasColumns, result }) warnMissedAreas(areas, decl, result) if ((hasRows && hasColumns) || hasAreas) { decl.cloneBefore({ prop: '-ms-grid-rows', raws: {}, value: rows }) } if (hasColumns) { decl.cloneBefore({ prop: '-ms-grid-columns', raws: {}, value: columns }) } return decl } } GridTemplate.names = ['grid-template'] module.exports = GridTemplate /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/grid-utils.js": /*!***********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/grid-utils.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { let parser = __webpack_require__(/*! postcss-value-parser */ "./node_modules/postcss-value-parser/lib/index.js") let list = (__webpack_require__(/*! postcss */ "./node_modules/postcss/lib/postcss.js").list) let uniq = (__webpack_require__(/*! ../utils */ "./node_modules/autoprefixer/lib/utils.js").uniq) let escapeRegexp = (__webpack_require__(/*! ../utils */ "./node_modules/autoprefixer/lib/utils.js").escapeRegexp) let splitSelector = (__webpack_require__(/*! ../utils */ "./node_modules/autoprefixer/lib/utils.js").splitSelector) function convert(value) { if ( value && value.length === 2 && value[0] === 'span' && parseInt(value[1], 10) > 0 ) { return [false, parseInt(value[1], 10)] } if (value && value.length === 1 && parseInt(value[0], 10) > 0) { return [parseInt(value[0], 10), false] } return [false, false] } exports.translate = translate function translate(values, startIndex, endIndex) { let startValue = values[startIndex] let endValue = values[endIndex] if (!startValue) { return [false, false] } let [start, spanStart] = convert(startValue) let [end, spanEnd] = convert(endValue) if (start && !endValue) { return [start, false] } if (spanStart && end) { return [end - spanStart, spanStart] } if (start && spanEnd) { return [start, spanEnd] } if (start && end) { return [start, end - start] } return [false, false] } exports.parse = parse function parse(decl) { let node = parser(decl.value) let values = [] let current = 0 values[current] = [] for (let i of node.nodes) { if (i.type === 'div') { current += 1 values[current] = [] } else if (i.type === 'word') { values[current].push(i.value) } } return values } exports.insertDecl = insertDecl function insertDecl(decl, prop, value) { if (value && !decl.parent.some(i => i.prop === `-ms-${prop}`)) { decl.cloneBefore({ prop: `-ms-${prop}`, value: value.toString() }) } } // Track transforms exports.prefixTrackProp = prefixTrackProp function prefixTrackProp({ prefix, prop }) { return prefix + prop.replace('template-', '') } function transformRepeat({ nodes }, { gap }) { let { count, size } = nodes.reduce( (result, node) => { if (node.type === 'div' && node.value === ',') { result.key = 'size' } else { result[result.key].push(parser.stringify(node)) } return result }, { count: [], key: 'count', size: [] } ) // insert gap values if (gap) { size = size.filter(i => i.trim()) let val = [] for (let i = 1; i <= count; i++) { size.forEach((item, index) => { if (index > 0 || i > 1) { val.push(gap) } val.push(item) }) } return val.join(' ') } return `(${size.join('')})[${count.join('')}]` } exports.prefixTrackValue = prefixTrackValue function prefixTrackValue({ gap, value }) { let result = parser(value).nodes.reduce((nodes, node) => { if (node.type === 'function' && node.value === 'repeat') { return nodes.concat({ type: 'word', value: transformRepeat(node, { gap }) }) } if (gap && node.type === 'space') { return nodes.concat( { type: 'space', value: ' ' }, { type: 'word', value: gap }, node ) } return nodes.concat(node) }, []) return parser.stringify(result) } // Parse grid-template-areas let DOTS = /^\.+$/ function track(start, end) { return { end, span: end - start, start } } function getColumns(line) { return line.trim().split(/\s+/g) } exports.parseGridAreas = parseGridAreas function parseGridAreas({ gap, rows }) { return rows.reduce((areas, line, rowIndex) => { if (gap.row) rowIndex *= 2 if (line.trim() === '') return areas getColumns(line).forEach((area, columnIndex) => { if (DOTS.test(area)) return if (gap.column) columnIndex *= 2 if (typeof areas[area] === 'undefined') { areas[area] = { column: track(columnIndex + 1, columnIndex + 2), row: track(rowIndex + 1, rowIndex + 2) } } else { let { column, row } = areas[area] column.start = Math.min(column.start, columnIndex + 1) column.end = Math.max(column.end, columnIndex + 2) column.span = column.end - column.start row.start = Math.min(row.start, rowIndex + 1) row.end = Math.max(row.end, rowIndex + 2) row.span = row.end - row.start } }) return areas }, {}) } // Parse grid-template function testTrack(node) { return node.type === 'word' && /^\[.+]$/.test(node.value) } function verifyRowSize(result) { if (result.areas.length > result.rows.length) { result.rows.push('auto') } return result } exports.parseTemplate = parseTemplate function parseTemplate({ decl, gap }) { let gridTemplate = parser(decl.value).nodes.reduce( (result, node) => { let { type, value } = node if (testTrack(node) || type === 'space') return result // area if (type === 'string') { result = verifyRowSize(result) result.areas.push(value) } // values and function if (type === 'word' || type === 'function') { result[result.key].push(parser.stringify(node)) } // divider(/) if (type === 'div' && value === '/') { result.key = 'columns' result = verifyRowSize(result) } return result }, { areas: [], columns: [], key: 'rows', rows: [] } ) return { areas: parseGridAreas({ gap, rows: gridTemplate.areas }), columns: prefixTrackValue({ gap: gap.column, value: gridTemplate.columns.join(' ') }), rows: prefixTrackValue({ gap: gap.row, value: gridTemplate.rows.join(' ') }) } } // Insert parsed grid areas /** * Get an array of -ms- prefixed props and values * @param {Object} [area] area object with column and row data * @param {Boolean} [addRowSpan] should we add grid-column-row value? * @param {Boolean} [addColumnSpan] should we add grid-column-span value? * @return {Array} */ function getMSDecls(area, addRowSpan = false, addColumnSpan = false) { let result = [ { prop: '-ms-grid-row', value: String(area.row.start) } ] if (area.row.span > 1 || addRowSpan) { result.push({ prop: '-ms-grid-row-span', value: String(area.row.span) }) } result.push({ prop: '-ms-grid-column', value: String(area.column.start) }) if (area.column.span > 1 || addColumnSpan) { result.push({ prop: '-ms-grid-column-span', value: String(area.column.span) }) } return result } function getParentMedia(parent) { if (parent.type === 'atrule' && parent.name === 'media') { return parent } if (!parent.parent) { return false } return getParentMedia(parent.parent) } /** * change selectors for rules with duplicate grid-areas. * @param {Array} rules * @param {Array} templateSelectors * @return {Array} rules with changed selectors */ function changeDuplicateAreaSelectors(ruleSelectors, templateSelectors) { ruleSelectors = ruleSelectors.map(selector => { let selectorBySpace = list.space(selector) let selectorByComma = list.comma(selector) if (selectorBySpace.length > selectorByComma.length) { selector = selectorBySpace.slice(-1).join('') } return selector }) return ruleSelectors.map(ruleSelector => { let newSelector = templateSelectors.map((tplSelector, index) => { let space = index === 0 ? '' : ' ' return `${space}${tplSelector} > ${ruleSelector}` }) return newSelector }) } /** * check if selector of rules are equal * @param {Rule} ruleA * @param {Rule} ruleB * @return {Boolean} */ function selectorsEqual(ruleA, ruleB) { return ruleA.selectors.some(sel => { return ruleB.selectors.includes(sel) }) } /** * Parse data from all grid-template(-areas) declarations * @param {Root} css css root * @return {Object} parsed data */ function parseGridTemplatesData(css) { let parsed = [] // we walk through every grid-template(-areas) declaration and store // data with the same area names inside the item css.walkDecls(/grid-template(-areas)?$/, d => { let rule = d.parent let media = getParentMedia(rule) let gap = getGridGap(d) let inheritedGap = inheritGridGap(d, gap) let { areas } = parseTemplate({ decl: d, gap: inheritedGap || gap }) let areaNames = Object.keys(areas) // skip node if it doesn't have areas if (areaNames.length === 0) { return true } // check parsed array for item that include the same area names // return index of that item let index = parsed.reduce((acc, { allAreas }, idx) => { let hasAreas = allAreas && areaNames.some(area => allAreas.includes(area)) return hasAreas ? idx : acc }, null) if (index !== null) { // index is found, add the grid-template data to that item let { allAreas, rules } = parsed[index] // check if rule has no duplicate area names let hasNoDuplicates = rules.some(r => { return r.hasDuplicates === false && selectorsEqual(r, rule) }) let duplicatesFound = false // check need to gather all duplicate area names let duplicateAreaNames = rules.reduce((acc, r) => { if (!r.params && selectorsEqual(r, rule)) { duplicatesFound = true return r.duplicateAreaNames } if (!duplicatesFound) { areaNames.forEach(name => { if (r.areas[name]) { acc.push(name) } }) } return uniq(acc) }, []) // update grid-row/column-span values for areas with duplicate // area names. @see #1084 and #1146 rules.forEach(r => { areaNames.forEach(name => { let area = r.areas[name] if (area && area.row.span !== areas[name].row.span) { areas[name].row.updateSpan = true } if (area && area.column.span !== areas[name].column.span) { areas[name].column.updateSpan = true } }) }) parsed[index].allAreas = uniq([...allAreas, ...areaNames]) parsed[index].rules.push({ areas, duplicateAreaNames, hasDuplicates: !hasNoDuplicates, node: rule, params: media.params, selectors: rule.selectors }) } else { // index is NOT found, push the new item to the parsed array parsed.push({ allAreas: areaNames, areasCount: 0, rules: [ { areas, duplicateAreaNames: [], duplicateRules: [], hasDuplicates: false, node: rule, params: media.params, selectors: rule.selectors } ] }) } return undefined }) return parsed } /** * insert prefixed grid-area declarations * @param {Root} css css root * @param {Function} isDisabled check if the rule is disabled * @return {void} */ exports.insertAreas = insertAreas function insertAreas(css, isDisabled) { // parse grid-template declarations let gridTemplatesData = parseGridTemplatesData(css) // return undefined if no declarations found if (gridTemplatesData.length === 0) { return undefined } // we need to store the rules that we will insert later let rulesToInsert = {} css.walkDecls('grid-area', gridArea => { let gridAreaRule = gridArea.parent let hasPrefixedRow = gridAreaRule.first.prop === '-ms-grid-row' let gridAreaMedia = getParentMedia(gridAreaRule) if (isDisabled(gridArea)) { return undefined } let gridAreaRuleIndex = css.index(gridAreaMedia || gridAreaRule) let value = gridArea.value // found the data that matches grid-area identifier let data = gridTemplatesData.filter(d => d.allAreas.includes(value))[0] if (!data) { return true } let lastArea = data.allAreas[data.allAreas.length - 1] let selectorBySpace = list.space(gridAreaRule.selector) let selectorByComma = list.comma(gridAreaRule.selector) let selectorIsComplex = selectorBySpace.length > 1 && selectorBySpace.length > selectorByComma.length // prevent doubling of prefixes if (hasPrefixedRow) { return false } // create the empty object with the key as the last area name // e.g if we have templates with "a b c" values, "c" will be the last area if (!rulesToInsert[lastArea]) { rulesToInsert[lastArea] = {} } let lastRuleIsSet = false // walk through every grid-template rule data for (let rule of data.rules) { let area = rule.areas[value] let hasDuplicateName = rule.duplicateAreaNames.includes(value) // if we can't find the area name, update lastRule and continue if (!area) { let lastRule = rulesToInsert[lastArea].lastRule let lastRuleIndex if (lastRule) { lastRuleIndex = css.index(lastRule) } else { /* c8 ignore next 2 */ lastRuleIndex = -1 } if (gridAreaRuleIndex > lastRuleIndex) { rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule } continue } // for grid-templates inside media rule we need to create empty // array to push prefixed grid-area rules later if (rule.params && !rulesToInsert[lastArea][rule.params]) { rulesToInsert[lastArea][rule.params] = [] } if ((!rule.hasDuplicates || !hasDuplicateName) && !rule.params) { // grid-template has no duplicates and not inside media rule getMSDecls(area, false, false) .reverse() .forEach(i => gridAreaRule.prepend( Object.assign(i, { raws: { between: gridArea.raws.between } }) ) ) rulesToInsert[lastArea].lastRule = gridAreaRule lastRuleIsSet = true } else if (rule.hasDuplicates && !rule.params && !selectorIsComplex) { // grid-template has duplicates and not inside media rule let cloned = gridAreaRule.clone() cloned.removeAll() getMSDecls(area, area.row.updateSpan, area.column.updateSpan) .reverse() .forEach(i => cloned.prepend( Object.assign(i, { raws: { between: gridArea.raws.between } }) ) ) cloned.selectors = changeDuplicateAreaSelectors( cloned.selectors, rule.selectors ) if (rulesToInsert[lastArea].lastRule) { rulesToInsert[lastArea].lastRule.after(cloned) } rulesToInsert[lastArea].lastRule = cloned lastRuleIsSet = true } else if ( rule.hasDuplicates && !rule.params && selectorIsComplex && gridAreaRule.selector.includes(rule.selectors[0]) ) { // grid-template has duplicates and not inside media rule // and the selector is complex gridAreaRule.walkDecls(/-ms-grid-(row|column)/, d => d.remove()) getMSDecls(area, area.row.updateSpan, area.column.updateSpan) .reverse() .forEach(i => gridAreaRule.prepend( Object.assign(i, { raws: { between: gridArea.raws.between } }) ) ) } else if (rule.params) { // grid-template is inside media rule // if we're inside media rule, we need to store prefixed rules // inside rulesToInsert object to be able to preserve the order of media // rules and merge them easily let cloned = gridAreaRule.clone() cloned.removeAll() getMSDecls(area, area.row.updateSpan, area.column.updateSpan) .reverse() .forEach(i => cloned.prepend( Object.assign(i, { raws: { between: gridArea.raws.between } }) ) ) if (rule.hasDuplicates && hasDuplicateName) { cloned.selectors = changeDuplicateAreaSelectors( cloned.selectors, rule.selectors ) } cloned.raws = rule.node.raws if (css.index(rule.node.parent) > gridAreaRuleIndex) { // append the prefixed rules right inside media rule // with grid-template rule.node.parent.append(cloned) } else { // store the rule to insert later rulesToInsert[lastArea][rule.params].push(cloned) } // set new rule as last rule ONLY if we didn't set lastRule for // this grid-area before if (!lastRuleIsSet) { rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule } } } return undefined }) // append stored rules inside the media rules Object.keys(rulesToInsert).forEach(area => { let data = rulesToInsert[area] let lastRule = data.lastRule Object.keys(data) .reverse() .filter(p => p !== 'lastRule') .forEach(params => { if (data[params].length > 0 && lastRule) { lastRule.after({ name: 'media', params }) lastRule.next().append(data[params]) } }) }) return undefined } /** * Warn user if grid area identifiers are not found * @param {Object} areas * @param {Declaration} decl * @param {Result} result * @return {void} */ exports.warnMissedAreas = warnMissedAreas function warnMissedAreas(areas, decl, result) { let missed = Object.keys(areas) decl.root().walkDecls('grid-area', gridArea => { missed = missed.filter(e => e !== gridArea.value) }) if (missed.length > 0) { decl.warn(result, 'Can not find grid areas: ' + missed.join(', ')) } return undefined } /** * compare selectors with grid-area rule and grid-template rule * show warning if grid-template selector is not found * (this function used for grid-area rule) * @param {Declaration} decl * @param {Result} result * @return {void} */ exports.warnTemplateSelectorNotFound = warnTemplateSelectorNotFound function warnTemplateSelectorNotFound(decl, result) { let rule = decl.parent let root = decl.root() let duplicatesFound = false // slice selector array. Remove the last part (for comparison) let slicedSelectorArr = list .space(rule.selector) .filter(str => str !== '>') .slice(0, -1) // we need to compare only if selector is complex. // e.g '.grid-cell' is simple, but '.parent > .grid-cell' is complex if (slicedSelectorArr.length > 0) { let gridTemplateFound = false let foundAreaSelector = null root.walkDecls(/grid-template(-areas)?$/, d => { let parent = d.parent let templateSelectors = parent.selectors let { areas } = parseTemplate({ decl: d, gap: getGridGap(d) }) let hasArea = areas[decl.value] // find the the matching selectors for (let tplSelector of templateSelectors) { if (gridTemplateFound) { break } let tplSelectorArr = list.space(tplSelector).filter(str => str !== '>') gridTemplateFound = tplSelectorArr.every( (item, idx) => item === slicedSelectorArr[idx] ) } if (gridTemplateFound || !hasArea) { return true } if (!foundAreaSelector) { foundAreaSelector = parent.selector } // if we found the duplicate area with different selector if (foundAreaSelector && foundAreaSelector !== parent.selector) { duplicatesFound = true } return undefined }) // warn user if we didn't find template if (!gridTemplateFound && duplicatesFound) { decl.warn( result, 'Autoprefixer cannot find a grid-template ' + `containing the duplicate grid-area "${decl.value}" ` + `with full selector matching: ${slicedSelectorArr.join(' ')}` ) } } } /** * warn user if both grid-area and grid-(row|column) * declarations are present in the same rule * @param {Declaration} decl * @param {Result} result * @return {void} */ exports.warnIfGridRowColumnExists = warnIfGridRowColumnExists function warnIfGridRowColumnExists(decl, result) { let rule = decl.parent let decls = [] rule.walkDecls(/^grid-(row|column)/, d => { if ( !d.prop.endsWith('-end') && !d.value.startsWith('span') && !d.prop.endsWith('-gap') ) { decls.push(d) } }) if (decls.length > 0) { decls.forEach(d => { d.warn( result, 'You already have a grid-area declaration present in the rule. ' + `You should use either grid-area or ${d.prop}, not both` ) }) } return undefined } // Gap utils exports.getGridGap = getGridGap function getGridGap(decl) { let gap = {} // try to find gap let testGap = /^(grid-)?((row|column)-)?gap$/ decl.parent.walkDecls(testGap, ({ prop, value }) => { if (/^(grid-)?gap$/.test(prop)) { let [row, , column] = parser(value).nodes gap.row = row && parser.stringify(row) gap.column = column ? parser.stringify(column) : gap.row } if (/^(grid-)?row-gap$/.test(prop)) gap.row = value if (/^(grid-)?column-gap$/.test(prop)) gap.column = value }) return gap } /** * parse media parameters (for example 'min-width: 500px') * @param {String} params parameter to parse * @return {} */ function parseMediaParams(params) { if (!params) { return [] } let parsed = parser(params) let prop let value parsed.walk(node => { if (node.type === 'word' && /min|max/g.test(node.value)) { prop = node.value } else if (node.value.includes('px')) { value = parseInt(node.value.replace(/\D/g, '')) } }) return [prop, value] } /** * Compare the selectors and decide if we * need to inherit gap from compared selector or not. * @type {String} selA * @type {String} selB * @return {Boolean} */ function shouldInheritGap(selA, selB) { let result // get arrays of selector split in 3-deep array let splitSelectorArrA = splitSelector(selA) let splitSelectorArrB = splitSelector(selB) if (splitSelectorArrA[0].length < splitSelectorArrB[0].length) { // abort if selectorA has lower descendant specificity then selectorB // (e.g '.grid' and '.hello .world .grid') return false } else if (splitSelectorArrA[0].length > splitSelectorArrB[0].length) { // if selectorA has higher descendant specificity then selectorB // (e.g '.foo .bar .grid' and '.grid') let idx = splitSelectorArrA[0].reduce((res, [item], index) => { let firstSelectorPart = splitSelectorArrB[0][0][0] if (item === firstSelectorPart) { return index } return false }, false) if (idx) { result = splitSelectorArrB[0].every((arr, index) => { return arr.every( (part, innerIndex) => // because selectorA has more space elements, we need to slice // selectorA array by 'idx' number to compare them splitSelectorArrA[0].slice(idx)[index][innerIndex] === part ) }) } } else { // if selectorA has the same descendant specificity as selectorB // this condition covers cases such as: '.grid.foo.bar' and '.grid' result = splitSelectorArrB.some(byCommaArr => { return byCommaArr.every((bySpaceArr, index) => { return bySpaceArr.every( (part, innerIndex) => splitSelectorArrA[0][index][innerIndex] === part ) }) }) } return result } /** * inherit grid gap values from the closest rule above * with the same selector * @param {Declaration} decl * @param {Object} gap gap values * @return {Object | Boolean} return gap values or false (if not found) */ exports.inheritGridGap = inheritGridGap function inheritGridGap(decl, gap) { let rule = decl.parent let mediaRule = getParentMedia(rule) let root = rule.root() // get an array of selector split in 3-deep array let splitSelectorArr = splitSelector(rule.selector) // abort if the rule already has gaps if (Object.keys(gap).length > 0) { return false } // e.g ['min-width'] let [prop] = parseMediaParams(mediaRule.params) let lastBySpace = splitSelectorArr[0] // get escaped value from the selector // if we have '.grid-2.foo.bar' selector, will be '\.grid\-2' let escaped = escapeRegexp(lastBySpace[lastBySpace.length - 1][0]) let regexp = new RegExp(`(${escaped}$)|(${escaped}[,.])`) // find the closest rule with the same selector let closestRuleGap root.walkRules(regexp, r => { let gridGap // abort if are checking the same rule if (rule.toString() === r.toString()) { return false } // find grid-gap values r.walkDecls('grid-gap', d => (gridGap = getGridGap(d))) // skip rule without gaps if (!gridGap || Object.keys(gridGap).length === 0) { return true } // skip rules that should not be inherited from if (!shouldInheritGap(rule.selector, r.selector)) { return true } let media = getParentMedia(r) if (media) { // if we are inside media, we need to check that media props match // e.g ('min-width' === 'min-width') let propToCompare = parseMediaParams(media.params)[0] if (propToCompare === prop) { closestRuleGap = gridGap return true } } else { closestRuleGap = gridGap return true } return undefined }) // if we find the closest gap object if (closestRuleGap && Object.keys(closestRuleGap).length > 0) { return closestRuleGap } return false } exports.warnGridGap = warnGridGap function warnGridGap({ decl, gap, hasColumns, result }) { let hasBothGaps = gap.row && gap.column if (!hasColumns && (hasBothGaps || (gap.column && !gap.row))) { delete gap.column decl.warn( result, 'Can not implement grid-gap without grid-template-columns' ) } } /** * normalize the grid-template-rows/columns values * @param {String} str grid-template-rows/columns value * @return {Array} normalized array with values * @example * let normalized = normalizeRowColumn('1fr repeat(2, 20px 50px) 1fr') * normalized // <= ['1fr', '20px', '50px', '20px', '50px', '1fr'] */ function normalizeRowColumn(str) { let normalized = parser(str).nodes.reduce((result, node) => { if (node.type === 'function' && node.value === 'repeat') { let key = 'count' let [count, value] = node.nodes.reduce( (acc, n) => { if (n.type === 'word' && key === 'count') { acc[0] = Math.abs(parseInt(n.value)) return acc } if (n.type === 'div' && n.value === ',') { key = 'value' return acc } if (key === 'value') { acc[1] += parser.stringify(n) } return acc }, [0, ''] ) if (count) { for (let i = 0; i < count; i++) { result.push(value) } } return result } if (node.type === 'space') { return result } return result.concat(parser.stringify(node)) }, []) return normalized } exports.autoplaceGridItems = autoplaceGridItems /** * Autoplace grid items * @param {Declaration} decl * @param {Result} result * @param {Object} gap gap values * @param {String} autoflowValue grid-auto-flow value * @return {void} * @see https://github.com/postcss/autoprefixer/issues/1148 */ function autoplaceGridItems(decl, result, gap, autoflowValue = 'row') { let { parent } = decl let rowDecl = parent.nodes.find(i => i.prop === 'grid-template-rows') let rows = normalizeRowColumn(rowDecl.value) let columns = normalizeRowColumn(decl.value) // Build array of area names with dummy values. If we have 3 columns and // 2 rows, filledRows will be equal to ['1 2 3', '4 5 6'] let filledRows = rows.map((_, rowIndex) => { return Array.from( { length: columns.length }, (v, k) => k + rowIndex * columns.length + 1 ).join(' ') }) let areas = parseGridAreas({ gap, rows: filledRows }) let keys = Object.keys(areas) let items = keys.map(i => areas[i]) // Change the order of cells if grid-auto-flow value is 'column' if (autoflowValue.includes('column')) { items = items.sort((a, b) => a.column.start - b.column.start) } // Insert new rules items.reverse().forEach((item, index) => { let { column, row } = item let nodeSelector = parent.selectors .map(sel => sel + ` > *:nth-child(${keys.length - index})`) .join(', ') // create new rule let node = parent.clone().removeAll() // change rule selector node.selector = nodeSelector // insert prefixed row/column values node.append({ prop: '-ms-grid-row', value: row.start }) node.append({ prop: '-ms-grid-column', value: column.start }) // insert rule parent.after(node) }) return undefined } /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/image-rendering.js": /*!****************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/image-rendering.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class ImageRendering extends Declaration { /** * Add hack only for crisp-edges */ check(decl) { return decl.value === 'pixelated' } /** * Return property name by spec */ normalize() { return 'image-rendering' } /** * Change property name for IE */ prefixed(prop, prefix) { if (prefix === '-ms-') { return '-ms-interpolation-mode' } return super.prefixed(prop, prefix) } /** * Warn on old value */ process(node, result) { return super.process(node, result) } /** * Change property and value for IE */ set(decl, prefix) { if (prefix !== '-ms-') return super.set(decl, prefix) decl.prop = '-ms-interpolation-mode' decl.value = 'nearest-neighbor' return decl } } ImageRendering.names = ['image-rendering', 'interpolation-mode'] module.exports = ImageRendering /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/image-set.js": /*!**********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/image-set.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Value = __webpack_require__(/*! ../value */ "./node_modules/autoprefixer/lib/value.js") class ImageSet extends Value { /** * Use non-standard name for WebKit and Firefox */ replace(string, prefix) { let fixed = super.replace(string, prefix) if (prefix === '-webkit-') { fixed = fixed.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi, 'url($1)$2') } return fixed } } ImageSet.names = ['image-set'] module.exports = ImageSet /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/inline-logical.js": /*!***************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/inline-logical.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class InlineLogical extends Declaration { /** * Return property name by spec */ normalize(prop) { return prop.replace(/(margin|padding|border)-(start|end)/, '$1-inline-$2') } /** * Use old syntax for -moz- and -webkit- */ prefixed(prop, prefix) { return prefix + prop.replace('-inline', '') } } InlineLogical.names = [ 'border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end', 'border-start', 'border-end', 'margin-start', 'margin-end', 'padding-start', 'padding-end' ] module.exports = InlineLogical /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/intrinsic.js": /*!**********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/intrinsic.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let OldValue = __webpack_require__(/*! ../old-value */ "./node_modules/autoprefixer/lib/old-value.js") let Value = __webpack_require__(/*! ../value */ "./node_modules/autoprefixer/lib/value.js") function regexp(name) { return new RegExp(`(^|[\\s,(])(${name}($|[\\s),]))`, 'gi') } class Intrinsic extends Value { add(decl, prefix) { if (decl.prop.includes('grid') && prefix !== '-webkit-') { return undefined } return super.add(decl, prefix) } isStretch() { return ( this.name === 'stretch' || this.name === 'fill' || this.name === 'fill-available' ) } old(prefix) { let prefixed = prefix + this.name if (this.isStretch()) { if (prefix === '-moz-') { prefixed = '-moz-available' } else if (prefix === '-webkit-') { prefixed = '-webkit-fill-available' } } return new OldValue(this.name, prefixed, prefixed, regexp(prefixed)) } regexp() { if (!this.regexpCache) this.regexpCache = regexp(this.name) return this.regexpCache } replace(string, prefix) { if (prefix === '-moz-' && this.isStretch()) { return string.replace(this.regexp(), '$1-moz-available$3') } if (prefix === '-webkit-' && this.isStretch()) { return string.replace(this.regexp(), '$1-webkit-fill-available$3') } return super.replace(string, prefix) } } Intrinsic.names = [ 'max-content', 'min-content', 'fit-content', 'fill', 'fill-available', 'stretch' ] module.exports = Intrinsic /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/justify-content.js": /*!****************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/justify-content.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class JustifyContent extends Declaration { /** * Return property name by final spec */ normalize() { return 'justify-content' } /** * Change property name for 2009 and 2012 specs */ prefixed(prop, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2009) { return prefix + 'box-pack' } if (spec === 2012) { return prefix + 'flex-pack' } return super.prefixed(prop, prefix) } /** * Change value for 2009 and 2012 specs */ set(decl, prefix) { let spec = flexSpec(prefix)[0] if (spec === 2009 || spec === 2012) { let value = JustifyContent.oldValues[decl.value] || decl.value decl.value = value if (spec !== 2009 || value !== 'distribute') { return super.set(decl, prefix) } } else if (spec === 'final') { return super.set(decl, prefix) } return undefined } } JustifyContent.names = ['justify-content', 'flex-pack', 'box-pack'] JustifyContent.oldValues = { 'flex-end': 'end', 'flex-start': 'start', 'space-around': 'distribute', 'space-between': 'justify' } module.exports = JustifyContent /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/mask-border.js": /*!************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/mask-border.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class MaskBorder extends Declaration { /** * Return property name by final spec */ normalize() { return this.name.replace('box-image', 'border') } /** * Return flex property for 2012 spec */ prefixed(prop, prefix) { let result = super.prefixed(prop, prefix) if (prefix === '-webkit-') { result = result.replace('border', 'box-image') } return result } } MaskBorder.names = [ 'mask-border', 'mask-border-source', 'mask-border-slice', 'mask-border-width', 'mask-border-outset', 'mask-border-repeat', 'mask-box-image', 'mask-box-image-source', 'mask-box-image-slice', 'mask-box-image-width', 'mask-box-image-outset', 'mask-box-image-repeat' ] module.exports = MaskBorder /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/mask-composite.js": /*!***************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/mask-composite.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class MaskComposite extends Declaration { /** * Prefix mask-composite for webkit */ insert(decl, prefix, prefixes) { let isCompositeProp = decl.prop === 'mask-composite' let compositeValues if (isCompositeProp) { compositeValues = decl.value.split(',') } else { compositeValues = decl.value.match(MaskComposite.regexp) || [] } compositeValues = compositeValues.map(el => el.trim()).filter(el => el) let hasCompositeValues = compositeValues.length let compositeDecl if (hasCompositeValues) { compositeDecl = this.clone(decl) compositeDecl.value = compositeValues .map(value => MaskComposite.oldValues[value] || value) .join(', ') if (compositeValues.includes('intersect')) { compositeDecl.value += ', xor' } compositeDecl.prop = prefix + 'mask-composite' } if (isCompositeProp) { if (!hasCompositeValues) { return undefined } if (this.needCascade(decl)) { compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix) } return decl.parent.insertBefore(decl, compositeDecl) } let cloned = this.clone(decl) cloned.prop = prefix + cloned.prop if (hasCompositeValues) { cloned.value = cloned.value.replace(MaskComposite.regexp, '') } if (this.needCascade(decl)) { cloned.raws.before = this.calcBefore(prefixes, decl, prefix) } decl.parent.insertBefore(decl, cloned) if (!hasCompositeValues) { return decl } if (this.needCascade(decl)) { compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix) } return decl.parent.insertBefore(decl, compositeDecl) } } MaskComposite.names = ['mask', 'mask-composite'] MaskComposite.oldValues = { add: 'source-over', exclude: 'xor', intersect: 'source-in', subtract: 'source-out' } MaskComposite.regexp = new RegExp( `\\s+(${Object.keys(MaskComposite.oldValues).join( '|' )})\\b(?!\\))\\s*(?=[,])`, 'ig' ) module.exports = MaskComposite /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/order.js": /*!******************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/order.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let flexSpec = __webpack_require__(/*! ./flex-spec */ "./node_modules/autoprefixer/lib/hacks/flex-spec.js") class Order extends Declaration { /** * Return property name by final spec */ normalize() { return 'order' } /** * Change property name for 2009 and 2012 specs */ prefixed(prop, prefix) { let spec ;[spec, prefix] = flexSpec(prefix) if (spec === 2009) { return prefix + 'box-ordinal-group' } if (spec === 2012) { return prefix + 'flex-order' } return super.prefixed(prop, prefix) } /** * Fix value for 2009 spec */ set(decl, prefix) { let spec = flexSpec(prefix)[0] if (spec === 2009 && /\d/.test(decl.value)) { decl.value = (parseInt(decl.value) + 1).toString() return super.set(decl, prefix) } return super.set(decl, prefix) } } Order.names = ['order', 'flex-order', 'box-ordinal-group'] module.exports = Order /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/overscroll-behavior.js": /*!********************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/overscroll-behavior.js ***! \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class OverscrollBehavior extends Declaration { /** * Return property name by spec */ normalize() { return 'overscroll-behavior' } /** * Change property name for IE */ prefixed(prop, prefix) { return prefix + 'scroll-chaining' } /** * Change value for IE */ set(decl, prefix) { if (decl.value === 'auto') { decl.value = 'chained' } else if (decl.value === 'none' || decl.value === 'contain') { decl.value = 'none' } return super.set(decl, prefix) } } OverscrollBehavior.names = ['overscroll-behavior', 'scroll-chaining'] module.exports = OverscrollBehavior /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/pixelated.js": /*!**********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/pixelated.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let OldValue = __webpack_require__(/*! ../old-value */ "./node_modules/autoprefixer/lib/old-value.js") let Value = __webpack_require__(/*! ../value */ "./node_modules/autoprefixer/lib/value.js") class Pixelated extends Value { /** * Different name for WebKit and Firefox */ old(prefix) { if (prefix === '-webkit-') { return new OldValue(this.name, '-webkit-optimize-contrast') } if (prefix === '-moz-') { return new OldValue(this.name, '-moz-crisp-edges') } return super.old(prefix) } /** * Use non-standard name for WebKit and Firefox */ replace(string, prefix) { if (prefix === '-webkit-') { return string.replace(this.regexp(), '$1-webkit-optimize-contrast') } if (prefix === '-moz-') { return string.replace(this.regexp(), '$1-moz-crisp-edges') } return super.replace(string, prefix) } } Pixelated.names = ['pixelated'] module.exports = Pixelated /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/place-self.js": /*!***********************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/place-self.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") let utils = __webpack_require__(/*! ./grid-utils */ "./node_modules/autoprefixer/lib/hacks/grid-utils.js") class PlaceSelf extends Declaration { /** * Translate place-self to separate -ms- prefixed properties */ insert(decl, prefix, prefixes) { if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) // prevent doubling of prefixes if (decl.parent.some(i => i.prop === '-ms-grid-row-align')) { return undefined } let [[first, second]] = utils.parse(decl) if (second) { utils.insertDecl(decl, 'grid-row-align', first) utils.insertDecl(decl, 'grid-column-align', second) } else { utils.insertDecl(decl, 'grid-row-align', first) utils.insertDecl(decl, 'grid-column-align', first) } return undefined } } PlaceSelf.names = ['place-self'] module.exports = PlaceSelf /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/placeholder-shown.js": /*!******************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/placeholder-shown.js ***! \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Selector = __webpack_require__(/*! ../selector */ "./node_modules/autoprefixer/lib/selector.js") class PlaceholderShown extends Selector { /** * Return different selectors depend on prefix */ prefixed(prefix) { if (prefix === '-moz-') { return ':-moz-placeholder' } else if (prefix === '-ms-') { return ':-ms-input-placeholder' } return `:${prefix}placeholder-shown` } } PlaceholderShown.names = [':placeholder-shown'] module.exports = PlaceholderShown /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/placeholder.js": /*!************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/placeholder.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Selector = __webpack_require__(/*! ../selector */ "./node_modules/autoprefixer/lib/selector.js") class Placeholder extends Selector { /** * Add old mozilla to possible prefixes */ possible() { return super.possible().concat(['-moz- old', '-ms- old']) } /** * Return different selectors depend on prefix */ prefixed(prefix) { if (prefix === '-webkit-') { return '::-webkit-input-placeholder' } if (prefix === '-ms-') { return '::-ms-input-placeholder' } if (prefix === '-ms- old') { return ':-ms-input-placeholder' } if (prefix === '-moz- old') { return ':-moz-placeholder' } return `::${prefix}placeholder` } } Placeholder.names = ['::placeholder'] module.exports = Placeholder /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/print-color-adjust.js": /*!*******************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/print-color-adjust.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class PrintColorAdjust extends Declaration { /** * Return property name by spec */ normalize() { return 'print-color-adjust' } /** * Change property name for WebKit-based browsers */ prefixed(prop, prefix) { if (prefix === '-moz-') { return 'color-adjust' } else { return prefix + 'print-color-adjust' } } } PrintColorAdjust.names = ['print-color-adjust', 'color-adjust'] module.exports = PrintColorAdjust /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js": /*!*************************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js ***! \*************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class TextDecorationSkipInk extends Declaration { /** * Change prefix for ink value */ set(decl, prefix) { if (decl.prop === 'text-decoration-skip-ink' && decl.value === 'auto') { decl.prop = prefix + 'text-decoration-skip' decl.value = 'ink' return decl } else { return super.set(decl, prefix) } } } TextDecorationSkipInk.names = [ 'text-decoration-skip-ink', 'text-decoration-skip' ] module.exports = TextDecorationSkipInk /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/text-decoration.js": /*!****************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/text-decoration.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") const BASIC = [ 'none', 'underline', 'overline', 'line-through', 'blink', 'inherit', 'initial', 'unset' ] class TextDecoration extends Declaration { /** * Do not add prefixes for basic values. */ check(decl) { return decl.value.split(/\s+/).some(i => !BASIC.includes(i)) } } TextDecoration.names = ['text-decoration'] module.exports = TextDecoration /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/text-emphasis-position.js": /*!***********************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/text-emphasis-position.js ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class TextEmphasisPosition extends Declaration { set(decl, prefix) { if (prefix === '-webkit-') { decl.value = decl.value.replace(/\s*(right|left)\s*/i, '') } return super.set(decl, prefix) } } TextEmphasisPosition.names = ['text-emphasis-position'] module.exports = TextEmphasisPosition /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/transform-decl.js": /*!***************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/transform-decl.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class TransformDecl extends Declaration { /** * Is transform contain 3D commands */ contain3d(decl) { if (decl.prop === 'transform-origin') { return false } for (let func of TransformDecl.functions3d) { if (decl.value.includes(`${func}(`)) { return true } } return false } /** * Don't add prefix for IE in keyframes */ insert(decl, prefix, prefixes) { if (prefix === '-ms-') { if (!this.contain3d(decl) && !this.keyframeParents(decl)) { return super.insert(decl, prefix, prefixes) } } else if (prefix === '-o-') { if (!this.contain3d(decl)) { return super.insert(decl, prefix, prefixes) } } else { return super.insert(decl, prefix, prefixes) } return undefined } /** * Recursively check all parents for @keyframes */ keyframeParents(decl) { let { parent } = decl while (parent) { if (parent.type === 'atrule' && parent.name === 'keyframes') { return true } ;({ parent } = parent) } return false } /** * Replace rotateZ to rotate for IE 9 */ set(decl, prefix) { decl = super.set(decl, prefix) if (prefix === '-ms-') { decl.value = decl.value.replace(/rotatez/gi, 'rotate') } return decl } } TransformDecl.names = ['transform', 'transform-origin'] TransformDecl.functions3d = [ 'matrix3d', 'translate3d', 'translateZ', 'scale3d', 'scaleZ', 'rotate3d', 'rotateX', 'rotateY', 'perspective' ] module.exports = TransformDecl /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/user-select.js": /*!************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/user-select.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class UserSelect extends Declaration { /** * Avoid prefixing all in IE */ insert(decl, prefix, prefixes) { if (decl.value === 'all' && prefix === '-ms-') { return undefined } else if ( decl.value === 'contain' && (prefix === '-moz-' || prefix === '-webkit-') ) { return undefined } else { return super.insert(decl, prefix, prefixes) } } /** * Change prefixed value for IE */ set(decl, prefix) { if (prefix === '-ms-' && decl.value === 'contain') { decl.value = 'element' } return super.set(decl, prefix) } } UserSelect.names = ['user-select'] module.exports = UserSelect /***/ }), /***/ "./node_modules/autoprefixer/lib/hacks/writing-mode.js": /*!*************************************************************!*\ !*** ./node_modules/autoprefixer/lib/hacks/writing-mode.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Declaration = __webpack_require__(/*! ../declaration */ "./node_modules/autoprefixer/lib/declaration.js") class WritingMode extends Declaration { insert(decl, prefix, prefixes) { if (prefix === '-ms-') { let cloned = this.set(this.clone(decl), prefix) if (this.needCascade(decl)) { cloned.raws.before = this.calcBefore(prefixes, decl, prefix) } let direction = 'ltr' decl.parent.nodes.forEach(i => { if (i.prop === 'direction') { if (i.value === 'rtl' || i.value === 'ltr') direction = i.value } }) cloned.value = WritingMode.msValues[direction][decl.value] || decl.value return decl.parent.insertBefore(decl, cloned) } return super.insert(decl, prefix, prefixes) } } WritingMode.names = ['writing-mode'] WritingMode.msValues = { ltr: { 'horizontal-tb': 'lr-tb', 'vertical-lr': 'tb-lr', 'vertical-rl': 'tb-rl' }, rtl: { 'horizontal-tb': 'rl-tb', 'vertical-lr': 'bt-lr', 'vertical-rl': 'bt-rl' } } module.exports = WritingMode /***/ }), /***/ "./node_modules/autoprefixer/lib/info.js": /*!***********************************************!*\ !*** ./node_modules/autoprefixer/lib/info.js ***! \***********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let browserslist = __webpack_require__(/*! browserslist */ "./node_modules/browserslist/index.js") function capitalize(str) { return str.slice(0, 1).toUpperCase() + str.slice(1) } const NAMES = { and_chr: 'Chrome for Android', and_ff: 'Firefox for Android', and_qq: 'QQ Browser', and_uc: 'UC for Android', baidu: 'Baidu Browser', ie: 'IE', ie_mob: 'IE Mobile', ios_saf: 'iOS Safari', kaios: 'KaiOS Browser', op_mini: 'Opera Mini', op_mob: 'Opera Mobile', samsung: 'Samsung Internet' } function prefix(name, prefixes, note) { let out = ` ${name}` if (note) out += ' *' out += ': ' out += prefixes.map(i => i.replace(/^-(.*)-$/g, '$1')).join(', ') out += '\n' return out } module.exports = function (prefixes) { if (prefixes.browsers.selected.length === 0) { return 'No browsers selected' } let versions = {} for (let browser of prefixes.browsers.selected) { let parts = browser.split(' ') let name = parts[0] let version = parts[1] name = NAMES[name] || capitalize(name) if (versions[name]) { versions[name].push(version) } else { versions[name] = [version] } } let out = 'Browsers:\n' for (let browser in versions) { let list = versions[browser] list = list.sort((a, b) => parseFloat(b) - parseFloat(a)) out += ` ${browser}: ${list.join(', ')}\n` } let coverage = browserslist.coverage(prefixes.browsers.selected) let round = Math.round(coverage * 100) / 100.0 out += `\nThese browsers account for ${round}% of all users globally\n` let atrules = [] for (let name in prefixes.add) { let data = prefixes.add[name] if (name[0] === '@' && data.prefixes) { atrules.push(prefix(name, data.prefixes)) } } if (atrules.length > 0) { out += `\nAt-Rules:\n${atrules.sort().join('')}` } let selectors = [] for (let selector of prefixes.add.selectors) { if (selector.prefixes) { selectors.push(prefix(selector.name, selector.prefixes)) } } if (selectors.length > 0) { out += `\nSelectors:\n${selectors.sort().join('')}` } let values = [] let props = [] let hadGrid = false for (let name in prefixes.add) { let data = prefixes.add[name] if (name[0] !== '@' && data.prefixes) { let grid = name.indexOf('grid-') === 0 if (grid) hadGrid = true props.push(prefix(name, data.prefixes, grid)) } if (!Array.isArray(data.values)) { continue } for (let value of data.values) { let grid = value.name.includes('grid') if (grid) hadGrid = true let string = prefix(value.name, value.prefixes, grid) if (!values.includes(string)) { values.push(string) } } } if (props.length > 0) { out += `\nProperties:\n${props.sort().join('')}` } if (values.length > 0) { out += `\nValues:\n${values.sort().join('')}` } if (hadGrid) { out += '\n* - Prefixes will be added only on grid: true option.\n' } if (!atrules.length && !selectors.length && !props.length && !values.length) { out += "\nAwesome! Your browsers don't require any vendor prefixes." + '\nNow you can remove Autoprefixer from build steps.' } return out } /***/ }), /***/ "./node_modules/autoprefixer/lib/old-selector.js": /*!*******************************************************!*\ !*** ./node_modules/autoprefixer/lib/old-selector.js ***! \*******************************************************/ /***/ ((module) => { class OldSelector { constructor(selector, prefix) { this.prefix = prefix this.prefixed = selector.prefixed(this.prefix) this.regexp = selector.regexp(this.prefix) this.prefixeds = selector .possible() .map(x => [selector.prefixed(x), selector.regexp(x)]) this.unprefixed = selector.name this.nameRegexp = selector.regexp() } /** * Does rule contain an unnecessary prefixed selector */ check(rule) { if (!rule.selector.includes(this.prefixed)) { return false } if (!rule.selector.match(this.regexp)) { return false } if (this.isHack(rule)) { return false } return true } /** * Is rule a hack without unprefixed version bottom */ isHack(rule) { let index = rule.parent.index(rule) + 1 let rules = rule.parent.nodes while (index < rules.length) { let before = rules[index].selector if (!before) { return true } if (before.includes(this.unprefixed) && before.match(this.nameRegexp)) { return false } let some = false for (let [string, regexp] of this.prefixeds) { if (before.includes(string) && before.match(regexp)) { some = true break } } if (!some) { return true } index += 1 } return true } } module.exports = OldSelector /***/ }), /***/ "./node_modules/autoprefixer/lib/old-value.js": /*!****************************************************!*\ !*** ./node_modules/autoprefixer/lib/old-value.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let utils = __webpack_require__(/*! ./utils */ "./node_modules/autoprefixer/lib/utils.js") class OldValue { constructor(unprefixed, prefixed, string, regexp) { this.unprefixed = unprefixed this.prefixed = prefixed this.string = string || prefixed this.regexp = regexp || utils.regexp(prefixed) } /** * Check, that value contain old value */ check(value) { if (value.includes(this.string)) { return !!value.match(this.regexp) } return false } } module.exports = OldValue /***/ }), /***/ "./node_modules/autoprefixer/lib/prefixer.js": /*!***************************************************!*\ !*** ./node_modules/autoprefixer/lib/prefixer.js ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let Browsers = __webpack_require__(/*! ./browsers */ "./node_modules/autoprefixer/lib/browsers.js") let utils = __webpack_require__(/*! ./utils */ "./node_modules/autoprefixer/lib/utils.js") let vendor = __webpack_require__(/*! ./vendor */ "./node_modules/autoprefixer/lib/vendor.js") /** * Recursively clone objects */ function clone(obj, parent) { let cloned = new obj.constructor() for (let i of Object.keys(obj || {})) { let value = obj[i] if (i === 'parent' && typeof value === 'object') { if (parent) { cloned[i] = parent } } else if (i === 'source' || i === null) { cloned[i] = value } else if (Array.isArray(value)) { cloned[i] = value.map(x => clone(x, cloned)) } else if ( i !== '_autoprefixerPrefix' && i !== '_autoprefixerValues' && i !== 'proxyCache' ) { if (typeof value === 'object' && value !== null) { value = clone(value, cloned) } cloned[i] = value } } return cloned } class Prefixer { constructor(name, prefixes, all) { this.prefixes = prefixes this.name = name this.all = all } /** * Clone node and clean autprefixer custom caches */ static clone(node, overrides) { let cloned = clone(node) for (let name in overrides) { cloned[name] = overrides[name] } return cloned } /** * Add hack to selected names */ static hack(klass) { if (!this.hacks) { this.hacks = {} } return klass.names.map(name => { this.hacks[name] = klass return this.hacks[name] }) } /** * Load hacks for some names */ static load(name, prefixes, all) { let Klass = this.hacks && this.hacks[name] if (Klass) { return new Klass(name, prefixes, all) } else { return new this(name, prefixes, all) } } /** * Shortcut for Prefixer.clone */ clone(node, overrides) { return Prefixer.clone(node, overrides) } /** * Find prefix in node parents */ parentPrefix(node) { let prefix if (typeof node._autoprefixerPrefix !== 'undefined') { prefix = node._autoprefixerPrefix } else if (node.type === 'decl' && node.prop[0] === '-') { prefix = vendor.prefix(node.prop) } else if (node.type === 'root') { prefix = false } else if ( node.type === 'rule' && node.selector.includes(':-') && /:(-\w+-)/.test(node.selector) ) { prefix = node.selector.match(/:(-\w+-)/)[1] } else if (node.type === 'atrule' && node.name[0] === '-') { prefix = vendor.prefix(node.name) } else { prefix = this.parentPrefix(node.parent) } if (!Browsers.prefixes().includes(prefix)) { prefix = false } node._autoprefixerPrefix = prefix return node._autoprefixerPrefix } /** * Clone node with prefixes */ process(node, result) { if (!this.check(node)) { return undefined } let parent = this.parentPrefix(node) let prefixes = this.prefixes.filter( prefix => !parent || parent === utils.removeNote(prefix) ) let added = [] for (let prefix of prefixes) { if (this.add(node, prefix, added.concat([prefix]), result)) { added.push(prefix) } } return added } } module.exports = Prefixer /***/ }), /***/ "./node_modules/autoprefixer/lib/prefixes.js": /*!***************************************************!*\ !*** ./node_modules/autoprefixer/lib/prefixes.js ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let AtRule = __webpack_require__(/*! ./at-rule */ "./node_modules/autoprefixer/lib/at-rule.js") let Browsers = __webpack_require__(/*! ./browsers */ "./node_modules/autoprefixer/lib/browsers.js") let Declaration = __webpack_require__(/*! ./declaration */ "./node_modules/autoprefixer/lib/declaration.js") let hackAlignContent = __webpack_require__(/*! ./hacks/align-content */ "./node_modules/autoprefixer/lib/hacks/align-content.js") let hackAlignItems = __webpack_require__(/*! ./hacks/align-items */ "./node_modules/autoprefixer/lib/hacks/align-items.js") let hackAlignSelf = __webpack_require__(/*! ./hacks/align-self */ "./node_modules/autoprefixer/lib/hacks/align-self.js") let hackAnimation = __webpack_require__(/*! ./hacks/animation */ "./node_modules/autoprefixer/lib/hacks/animation.js") let hackAppearance = __webpack_require__(/*! ./hacks/appearance */ "./node_modules/autoprefixer/lib/hacks/appearance.js") let hackAutofill = __webpack_require__(/*! ./hacks/autofill */ "./node_modules/autoprefixer/lib/hacks/autofill.js") let hackBackdropFilter = __webpack_require__(/*! ./hacks/backdrop-filter */ "./node_modules/autoprefixer/lib/hacks/backdrop-filter.js") let hackBackgroundClip = __webpack_require__(/*! ./hacks/background-clip */ "./node_modules/autoprefixer/lib/hacks/background-clip.js") let hackBackgroundSize = __webpack_require__(/*! ./hacks/background-size */ "./node_modules/autoprefixer/lib/hacks/background-size.js") let hackBlockLogical = __webpack_require__(/*! ./hacks/block-logical */ "./node_modules/autoprefixer/lib/hacks/block-logical.js") let hackBorderImage = __webpack_require__(/*! ./hacks/border-image */ "./node_modules/autoprefixer/lib/hacks/border-image.js") let hackBorderRadius = __webpack_require__(/*! ./hacks/border-radius */ "./node_modules/autoprefixer/lib/hacks/border-radius.js") let hackBreakProps = __webpack_require__(/*! ./hacks/break-props */ "./node_modules/autoprefixer/lib/hacks/break-props.js") let hackCrossFade = __webpack_require__(/*! ./hacks/cross-fade */ "./node_modules/autoprefixer/lib/hacks/cross-fade.js") let hackDisplayFlex = __webpack_require__(/*! ./hacks/display-flex */ "./node_modules/autoprefixer/lib/hacks/display-flex.js") let hackDisplayGrid = __webpack_require__(/*! ./hacks/display-grid */ "./node_modules/autoprefixer/lib/hacks/display-grid.js") let hackFileSelectorButton = __webpack_require__(/*! ./hacks/file-selector-button */ "./node_modules/autoprefixer/lib/hacks/file-selector-button.js") let hackFilter = __webpack_require__(/*! ./hacks/filter */ "./node_modules/autoprefixer/lib/hacks/filter.js") let hackFilterValue = __webpack_require__(/*! ./hacks/filter-value */ "./node_modules/autoprefixer/lib/hacks/filter-value.js") let hackFlex = __webpack_require__(/*! ./hacks/flex */ "./node_modules/autoprefixer/lib/hacks/flex.js") let hackFlexBasis = __webpack_require__(/*! ./hacks/flex-basis */ "./node_modules/autoprefixer/lib/hacks/flex-basis.js") let hackFlexDirection = __webpack_require__(/*! ./hacks/flex-direction */ "./node_modules/autoprefixer/lib/hacks/flex-direction.js") let hackFlexFlow = __webpack_require__(/*! ./hacks/flex-flow */ "./node_modules/autoprefixer/lib/hacks/flex-flow.js") let hackFlexGrow = __webpack_require__(/*! ./hacks/flex-grow */ "./node_modules/autoprefixer/lib/hacks/flex-grow.js") let hackFlexShrink = __webpack_require__(/*! ./hacks/flex-shrink */ "./node_modules/autoprefixer/lib/hacks/flex-shrink.js") let hackFlexWrap = __webpack_require__(/*! ./hacks/flex-wrap */ "./node_modules/autoprefixer/lib/hacks/flex-wrap.js") let hackFullscreen = __webpack_require__(/*! ./hacks/fullscreen */ "./node_modules/autoprefixer/lib/hacks/fullscreen.js") let hackGradient = __webpack_require__(/*! ./hacks/gradient */ "./node_modules/autoprefixer/lib/hacks/gradient.js") let hackGridArea = __webpack_require__(/*! ./hacks/grid-area */ "./node_modules/autoprefixer/lib/hacks/grid-area.js") let hackGridColumnAlign = __webpack_require__(/*! ./hacks/grid-column-align */ "./node_modules/autoprefixer/lib/hacks/grid-column-align.js") let hackGridEnd = __webpack_require__(/*! ./hacks/grid-end */ "./node_modules/autoprefixer/lib/hacks/grid-end.js") let hackGridRowAlign = __webpack_require__(/*! ./hacks/grid-row-align */ "./node_modules/autoprefixer/lib/hacks/grid-row-align.js") let hackGridRowColumn = __webpack_require__(/*! ./hacks/grid-row-column */ "./node_modules/autoprefixer/lib/hacks/grid-row-column.js") let hackGridRowsColumns = __webpack_require__(/*! ./hacks/grid-rows-columns */ "./node_modules/autoprefixer/lib/hacks/grid-rows-columns.js") let hackGridStart = __webpack_require__(/*! ./hacks/grid-start */ "./node_modules/autoprefixer/lib/hacks/grid-start.js") let hackGridTemplate = __webpack_require__(/*! ./hacks/grid-template */ "./node_modules/autoprefixer/lib/hacks/grid-template.js") let hackGridTemplateAreas = __webpack_require__(/*! ./hacks/grid-template-areas */ "./node_modules/autoprefixer/lib/hacks/grid-template-areas.js") let hackImageRendering = __webpack_require__(/*! ./hacks/image-rendering */ "./node_modules/autoprefixer/lib/hacks/image-rendering.js") let hackImageSet = __webpack_require__(/*! ./hacks/image-set */ "./node_modules/autoprefixer/lib/hacks/image-set.js") let hackInlineLogical = __webpack_require__(/*! ./hacks/inline-logical */ "./node_modules/autoprefixer/lib/hacks/inline-logical.js") let hackIntrinsic = __webpack_require__(/*! ./hacks/intrinsic */ "./node_modules/autoprefixer/lib/hacks/intrinsic.js") let hackJustifyContent = __webpack_require__(/*! ./hacks/justify-content */ "./node_modules/autoprefixer/lib/hacks/justify-content.js") let hackMaskBorder = __webpack_require__(/*! ./hacks/mask-border */ "./node_modules/autoprefixer/lib/hacks/mask-border.js") let hackMaskComposite = __webpack_require__(/*! ./hacks/mask-composite */ "./node_modules/autoprefixer/lib/hacks/mask-composite.js") let hackOrder = __webpack_require__(/*! ./hacks/order */ "./node_modules/autoprefixer/lib/hacks/order.js") let hackOverscrollBehavior = __webpack_require__(/*! ./hacks/overscroll-behavior */ "./node_modules/autoprefixer/lib/hacks/overscroll-behavior.js") let hackPixelated = __webpack_require__(/*! ./hacks/pixelated */ "./node_modules/autoprefixer/lib/hacks/pixelated.js") let hackPlaceSelf = __webpack_require__(/*! ./hacks/place-self */ "./node_modules/autoprefixer/lib/hacks/place-self.js") let hackPlaceholder = __webpack_require__(/*! ./hacks/placeholder */ "./node_modules/autoprefixer/lib/hacks/placeholder.js") let hackPlaceholderShown = __webpack_require__(/*! ./hacks/placeholder-shown */ "./node_modules/autoprefixer/lib/hacks/placeholder-shown.js") let hackPrintColorAdjust = __webpack_require__(/*! ./hacks/print-color-adjust */ "./node_modules/autoprefixer/lib/hacks/print-color-adjust.js") let hackTextDecoration = __webpack_require__(/*! ./hacks/text-decoration */ "./node_modules/autoprefixer/lib/hacks/text-decoration.js") let hackTextDecorationSkipInk = __webpack_require__(/*! ./hacks/text-decoration-skip-ink */ "./node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js") let hackTextEmphasisPosition = __webpack_require__(/*! ./hacks/text-emphasis-position */ "./node_modules/autoprefixer/lib/hacks/text-emphasis-position.js") let hackTransformDecl = __webpack_require__(/*! ./hacks/transform-decl */ "./node_modules/autoprefixer/lib/hacks/transform-decl.js") let hackUserSelect = __webpack_require__(/*! ./hacks/user-select */ "./node_modules/autoprefixer/lib/hacks/user-select.js") let hackWritingMode = __webpack_require__(/*! ./hacks/writing-mode */ "./node_modules/autoprefixer/lib/hacks/writing-mode.js") let Processor = __webpack_require__(/*! ./processor */ "./node_modules/autoprefixer/lib/processor.js") let Resolution = __webpack_require__(/*! ./resolution */ "./node_modules/autoprefixer/lib/resolution.js") let Selector = __webpack_require__(/*! ./selector */ "./node_modules/autoprefixer/lib/selector.js") let Supports = __webpack_require__(/*! ./supports */ "./node_modules/autoprefixer/lib/supports.js") let Transition = __webpack_require__(/*! ./transition */ "./node_modules/autoprefixer/lib/transition.js") let utils = __webpack_require__(/*! ./utils */ "./node_modules/autoprefixer/lib/utils.js") let Value = __webpack_require__(/*! ./value */ "./node_modules/autoprefixer/lib/value.js") let vendor = __webpack_require__(/*! ./vendor */ "./node_modules/autoprefixer/lib/vendor.js") Selector.hack(hackAutofill) Selector.hack(hackFullscreen) Selector.hack(hackPlaceholder) Selector.hack(hackPlaceholderShown) Selector.hack(hackFileSelectorButton) Declaration.hack(hackFlex) Declaration.hack(hackOrder) Declaration.hack(hackFilter) Declaration.hack(hackGridEnd) Declaration.hack(hackAnimation) Declaration.hack(hackFlexFlow) Declaration.hack(hackFlexGrow) Declaration.hack(hackFlexWrap) Declaration.hack(hackGridArea) Declaration.hack(hackPlaceSelf) Declaration.hack(hackGridStart) Declaration.hack(hackAlignSelf) Declaration.hack(hackAppearance) Declaration.hack(hackFlexBasis) Declaration.hack(hackMaskBorder) Declaration.hack(hackMaskComposite) Declaration.hack(hackAlignItems) Declaration.hack(hackUserSelect) Declaration.hack(hackFlexShrink) Declaration.hack(hackBreakProps) Declaration.hack(hackWritingMode) Declaration.hack(hackBorderImage) Declaration.hack(hackAlignContent) Declaration.hack(hackBorderRadius) Declaration.hack(hackBlockLogical) Declaration.hack(hackGridTemplate) Declaration.hack(hackInlineLogical) Declaration.hack(hackGridRowAlign) Declaration.hack(hackTransformDecl) Declaration.hack(hackFlexDirection) Declaration.hack(hackImageRendering) Declaration.hack(hackBackdropFilter) Declaration.hack(hackBackgroundClip) Declaration.hack(hackTextDecoration) Declaration.hack(hackJustifyContent) Declaration.hack(hackBackgroundSize) Declaration.hack(hackGridRowColumn) Declaration.hack(hackGridRowsColumns) Declaration.hack(hackGridColumnAlign) Declaration.hack(hackOverscrollBehavior) Declaration.hack(hackGridTemplateAreas) Declaration.hack(hackPrintColorAdjust) Declaration.hack(hackTextEmphasisPosition) Declaration.hack(hackTextDecorationSkipInk) Value.hack(hackGradient) Value.hack(hackIntrinsic) Value.hack(hackPixelated) Value.hack(hackImageSet) Value.hack(hackCrossFade) Value.hack(hackDisplayFlex) Value.hack(hackDisplayGrid) Value.hack(hackFilterValue) let declsCache = new Map() class Prefixes { constructor(data, browsers, options = {}) { this.data = data this.browsers = browsers this.options = options ;[this.add, this.remove] = this.preprocess(this.select(this.data)) this.transition = new Transition(this) this.processor = new Processor(this) } /** * Return clone instance to remove all prefixes */ cleaner() { if (this.cleanerCache) { return this.cleanerCache } if (this.browsers.selected.length) { let empty = new Browsers(this.browsers.data, []) this.cleanerCache = new Prefixes(this.data, empty, this.options) } else { return this } return this.cleanerCache } /** * Declaration loader with caching */ decl(prop) { if (!declsCache.has(prop)) { declsCache.set(prop, Declaration.load(prop)) } return declsCache.get(prop) } /** * Group declaration by unprefixed property to check them */ group(decl) { let rule = decl.parent let index = rule.index(decl) let { length } = rule.nodes let unprefixed = this.unprefixed(decl.prop) let checker = (step, callback) => { index += step while (index >= 0 && index < length) { let other = rule.nodes[index] if (other.type === 'decl') { if (step === -1 && other.prop === unprefixed) { if (!Browsers.withPrefix(other.value)) { break } } if (this.unprefixed(other.prop) !== unprefixed) { break } else if (callback(other) === true) { return true } if (step === +1 && other.prop === unprefixed) { if (!Browsers.withPrefix(other.value)) { break } } } index += step } return false } return { down(callback) { return checker(+1, callback) }, up(callback) { return checker(-1, callback) } } } /** * Normalize prefix for remover */ normalize(prop) { return this.decl(prop).normalize(prop) } /** * Return prefixed version of property */ prefixed(prop, prefix) { prop = vendor.unprefixed(prop) return this.decl(prop).prefixed(prop, prefix) } /** * Cache prefixes data to fast CSS processing */ preprocess(selected) { let add = { '@supports': new Supports(Prefixes, this), 'selectors': [] } for (let name in selected.add) { let prefixes = selected.add[name] if (name === '@keyframes' || name === '@viewport') { add[name] = new AtRule(name, prefixes, this) } else if (name === '@resolution') { add[name] = new Resolution(name, prefixes, this) } else if (this.data[name].selector) { add.selectors.push(Selector.load(name, prefixes, this)) } else { let props = this.data[name].props if (props) { let value = Value.load(name, prefixes, this) for (let prop of props) { if (!add[prop]) { add[prop] = { values: [] } } add[prop].values.push(value) } } else { let values = (add[name] && add[name].values) || [] add[name] = Declaration.load(name, prefixes, this) add[name].values = values } } } let remove = { selectors: [] } for (let name in selected.remove) { let prefixes = selected.remove[name] if (this.data[name].selector) { let selector = Selector.load(name, prefixes) for (let prefix of prefixes) { remove.selectors.push(selector.old(prefix)) } } else if (name === '@keyframes' || name === '@viewport') { for (let prefix of prefixes) { let prefixed = `@${prefix}${name.slice(1)}` remove[prefixed] = { remove: true } } } else if (name === '@resolution') { remove[name] = new Resolution(name, prefixes, this) } else { let props = this.data[name].props if (props) { let value = Value.load(name, [], this) for (let prefix of prefixes) { let old = value.old(prefix) if (old) { for (let prop of props) { if (!remove[prop]) { remove[prop] = {} } if (!remove[prop].values) { remove[prop].values = [] } remove[prop].values.push(old) } } } } else { for (let p of prefixes) { let olds = this.decl(name).old(name, p) if (name === 'align-self') { let a = add[name] && add[name].prefixes if (a) { if (p === '-webkit- 2009' && a.includes('-webkit-')) { continue } else if (p === '-webkit-' && a.includes('-webkit- 2009')) { continue } } } for (let prefixed of olds) { if (!remove[prefixed]) { remove[prefixed] = {} } remove[prefixed].remove = true } } } } } return [add, remove] } /** * Select prefixes from data, which is necessary for selected browsers */ select(list) { let selected = { add: {}, remove: {} } for (let name in list) { let data = list[name] let add = data.browsers.map(i => { let params = i.split(' ') return { browser: `${params[0]} ${params[1]}`, note: params[2] } }) let notes = add .filter(i => i.note) .map(i => `${this.browsers.prefix(i.browser)} ${i.note}`) notes = utils.uniq(notes) add = add .filter(i => this.browsers.isSelected(i.browser)) .map(i => { let prefix = this.browsers.prefix(i.browser) if (i.note) { return `${prefix} ${i.note}` } else { return prefix } }) add = this.sort(utils.uniq(add)) if (this.options.flexbox === 'no-2009') { add = add.filter(i => !i.includes('2009')) } let all = data.browsers.map(i => this.browsers.prefix(i)) if (data.mistakes) { all = all.concat(data.mistakes) } all = all.concat(notes) all = utils.uniq(all) if (add.length) { selected.add[name] = add if (add.length < all.length) { selected.remove[name] = all.filter(i => !add.includes(i)) } } else { selected.remove[name] = all } } return selected } /** * Sort vendor prefixes */ sort(prefixes) { return prefixes.sort((a, b) => { let aLength = utils.removeNote(a).length let bLength = utils.removeNote(b).length if (aLength === bLength) { return b.length - a.length } else { return bLength - aLength } }) } /** * Return unprefixed version of property */ unprefixed(prop) { let value = this.normalize(vendor.unprefixed(prop)) if (value === 'flex-direction') { value = 'flex-flow' } return value } /** * Return values, which must be prefixed in selected property */ values(type, prop) { let data = this[type] let global = data['*'] && data['*'].values let values = data[prop] && data[prop].values if (global && values) { return utils.uniq(global.concat(values)) } else { return global || values || [] } } } module.exports = Prefixes /***/ }), /***/ "./node_modules/autoprefixer/lib/processor.js": /*!****************************************************!*\ !*** ./node_modules/autoprefixer/lib/processor.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js"); let parser = __webpack_require__(/*! postcss-value-parser */ "./node_modules/postcss-value-parser/lib/index.js") let Value = __webpack_require__(/*! ./value */ "./node_modules/autoprefixer/lib/value.js") let insertAreas = (__webpack_require__(/*! ./hacks/grid-utils */ "./node_modules/autoprefixer/lib/hacks/grid-utils.js").insertAreas) const OLD_LINEAR = /(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i const OLD_RADIAL = /(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i const IGNORE_NEXT = /(!\s*)?autoprefixer:\s*ignore\s+next/i const GRID_REGEX = /(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i const SIZES = [ 'width', 'height', 'min-width', 'max-width', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size' ] function hasGridTemplate(decl) { return decl.parent.some( i => i.prop === 'grid-template' || i.prop === 'grid-template-areas' ) } function hasRowsAndColumns(decl) { let hasRows = decl.parent.some(i => i.prop === 'grid-template-rows') let hasColumns = decl.parent.some(i => i.prop === 'grid-template-columns') return hasRows && hasColumns } class Processor { constructor(prefixes) { this.prefixes = prefixes } /** * Add necessary prefixes */ add(css, result) { // At-rules let resolution = this.prefixes.add['@resolution'] let keyframes = this.prefixes.add['@keyframes'] let viewport = this.prefixes.add['@viewport'] let supports = this.prefixes.add['@supports'] css.walkAtRules(rule => { if (rule.name === 'keyframes') { if (!this.disabled(rule, result)) { return keyframes && keyframes.process(rule) } } else if (rule.name === 'viewport') { if (!this.disabled(rule, result)) { return viewport && viewport.process(rule) } } else if (rule.name === 'supports') { if ( this.prefixes.options.supports !== false && !this.disabled(rule, result) ) { return supports.process(rule) } } else if (rule.name === 'media' && rule.params.includes('-resolution')) { if (!this.disabled(rule, result)) { return resolution && resolution.process(rule) } } return undefined }) // Selectors css.walkRules(rule => { if (this.disabled(rule, result)) return undefined return this.prefixes.add.selectors.map(selector => { return selector.process(rule, result) }) }) function insideGrid(decl) { return decl.parent.nodes.some(node => { if (node.type !== 'decl') return false let displayGrid = node.prop === 'display' && /(inline-)?grid/.test(node.value) let gridTemplate = node.prop.startsWith('grid-template') let gridGap = /^grid-([A-z]+-)?gap/.test(node.prop) return displayGrid || gridTemplate || gridGap }) } let gridPrefixes = this.gridStatus(css, result) && this.prefixes.add['grid-area'] && this.prefixes.add['grid-area'].prefixes css.walkDecls(decl => { if (this.disabledDecl(decl, result)) return undefined let parent = decl.parent let prop = decl.prop let value = decl.value if (prop === 'color-adjust') { if (parent.every(i => i.prop !== 'print-color-adjust')) { result.warn( 'Replace color-adjust to print-color-adjust. ' + 'The color-adjust shorthand is currently deprecated.', { node: decl } ) } } else if (prop === 'grid-row-span') { result.warn( 'grid-row-span is not part of final Grid Layout. Use grid-row.', { node: decl } ) return undefined } else if (prop === 'grid-column-span') { result.warn( 'grid-column-span is not part of final Grid Layout. Use grid-column.', { node: decl } ) return undefined } else if (prop === 'display' && value === 'box') { result.warn( 'You should write display: flex by final spec ' + 'instead of display: box', { node: decl } ) return undefined } else if (prop === 'text-emphasis-position') { if (value === 'under' || value === 'over') { result.warn( 'You should use 2 values for text-emphasis-position ' + 'For example, `under left` instead of just `under`.', { node: decl } ) } } else if (prop === 'text-decoration-skip' && value === 'ink') { result.warn( 'Replace text-decoration-skip: ink to ' + 'text-decoration-skip-ink: auto, because spec had been changed', { node: decl } ) } else { if (gridPrefixes && this.gridStatus(decl, result)) { if (decl.value === 'subgrid') { result.warn('IE does not support subgrid', { node: decl }) } if (/^(align|justify|place)-items$/.test(prop) && insideGrid(decl)) { let fixed = prop.replace('-items', '-self') result.warn( `IE does not support ${prop} on grid containers. ` + `Try using ${fixed} on child elements instead: ` + `${decl.parent.selector} > * { ${fixed}: ${decl.value} }`, { node: decl } ) } else if ( /^(align|justify|place)-content$/.test(prop) && insideGrid(decl) ) { result.warn(`IE does not support ${decl.prop} on grid containers`, { node: decl }) } else if (prop === 'display' && decl.value === 'contents') { result.warn( 'Please do not use display: contents; ' + 'if you have grid setting enabled', { node: decl } ) return undefined } else if (decl.prop === 'grid-gap') { let status = this.gridStatus(decl, result) if ( status === 'autoplace' && !hasRowsAndColumns(decl) && !hasGridTemplate(decl) ) { result.warn( 'grid-gap only works if grid-template(-areas) is being ' + 'used or both rows and columns have been declared ' + 'and cells have not been manually ' + 'placed inside the explicit grid', { node: decl } ) } else if ( (status === true || status === 'no-autoplace') && !hasGridTemplate(decl) ) { result.warn( 'grid-gap only works if grid-template(-areas) is being used', { node: decl } ) } } else if (prop === 'grid-auto-columns') { result.warn('grid-auto-columns is not supported by IE', { node: decl }) return undefined } else if (prop === 'grid-auto-rows') { result.warn('grid-auto-rows is not supported by IE', { node: decl }) return undefined } else if (prop === 'grid-auto-flow') { let hasRows = parent.some(i => i.prop === 'grid-template-rows') let hasCols = parent.some(i => i.prop === 'grid-template-columns') if (hasGridTemplate(decl)) { result.warn('grid-auto-flow is not supported by IE', { node: decl }) } else if (value.includes('dense')) { result.warn('grid-auto-flow: dense is not supported by IE', { node: decl }) } else if (!hasRows && !hasCols) { result.warn( 'grid-auto-flow works only if grid-template-rows and ' + 'grid-template-columns are present in the same rule', { node: decl } ) } return undefined } else if (value.includes('auto-fit')) { result.warn('auto-fit value is not supported by IE', { node: decl, word: 'auto-fit' }) return undefined } else if (value.includes('auto-fill')) { result.warn('auto-fill value is not supported by IE', { node: decl, word: 'auto-fill' }) return undefined } else if (prop.startsWith('grid-template') && value.includes('[')) { result.warn( 'Autoprefixer currently does not support line names. ' + 'Try using grid-template-areas instead.', { node: decl, word: '[' } ) } } if (value.includes('radial-gradient')) { if (OLD_RADIAL.test(decl.value)) { result.warn( 'Gradient has outdated direction syntax. ' + 'New syntax is like `closest-side at 0 0` ' + 'instead of `0 0, closest-side`.', { node: decl } ) } else { let ast = parser(value) for (let i of ast.nodes) { if (i.type === 'function' && i.value === 'radial-gradient') { for (let word of i.nodes) { if (word.type === 'word') { if (word.value === 'cover') { result.warn( 'Gradient has outdated direction syntax. ' + 'Replace `cover` to `farthest-corner`.', { node: decl } ) } else if (word.value === 'contain') { result.warn( 'Gradient has outdated direction syntax. ' + 'Replace `contain` to `closest-side`.', { node: decl } ) } } } } } } } if (value.includes('linear-gradient')) { if (OLD_LINEAR.test(value)) { result.warn( 'Gradient has outdated direction syntax. ' + 'New syntax is like `to left` instead of `right`.', { node: decl } ) } } } if (SIZES.includes(decl.prop)) { if (!decl.value.includes('-fill-available')) { if (decl.value.includes('fill-available')) { result.warn( 'Replace fill-available to stretch, ' + 'because spec had been changed', { node: decl } ) } else if (decl.value.includes('fill')) { let ast = parser(value) if (ast.nodes.some(i => i.type === 'word' && i.value === 'fill')) { result.warn( 'Replace fill to stretch, because spec had been changed', { node: decl } ) } } } } let prefixer if (decl.prop === 'transition' || decl.prop === 'transition-property') { // Transition return this.prefixes.transition.add(decl, result) } else if (decl.prop === 'align-self') { // align-self flexbox or grid let display = this.displayType(decl) if (display !== 'grid' && this.prefixes.options.flexbox !== false) { prefixer = this.prefixes.add['align-self'] if (prefixer && prefixer.prefixes) { prefixer.process(decl) } } if (this.gridStatus(decl, result) !== false) { prefixer = this.prefixes.add['grid-row-align'] if (prefixer && prefixer.prefixes) { return prefixer.process(decl, result) } } } else if (decl.prop === 'justify-self') { // justify-self flexbox or grid if (this.gridStatus(decl, result) !== false) { prefixer = this.prefixes.add['grid-column-align'] if (prefixer && prefixer.prefixes) { return prefixer.process(decl, result) } } } else if (decl.prop === 'place-self') { prefixer = this.prefixes.add['place-self'] if ( prefixer && prefixer.prefixes && this.gridStatus(decl, result) !== false ) { return prefixer.process(decl, result) } } else { // Properties prefixer = this.prefixes.add[decl.prop] if (prefixer && prefixer.prefixes) { return prefixer.process(decl, result) } } return undefined }) // Insert grid-area prefixes. We need to be able to store the different // rules as a data and hack API is not enough for this if (this.gridStatus(css, result)) { insertAreas(css, this.disabled) } // Values return css.walkDecls(decl => { if (this.disabledValue(decl, result)) return let unprefixed = this.prefixes.unprefixed(decl.prop) let list = this.prefixes.values('add', unprefixed) if (Array.isArray(list)) { for (let value of list) { if (value.process) value.process(decl, result) } } Value.save(this.prefixes, decl) }) } /** * Check for control comment and global options */ disabled(node, result) { if (!node) return false if (node._autoprefixerDisabled !== undefined) { return node._autoprefixerDisabled } if (node.parent) { let p = node.prev() if (p && p.type === 'comment' && IGNORE_NEXT.test(p.text)) { node._autoprefixerDisabled = true node._autoprefixerSelfDisabled = true return true } } let value = null if (node.nodes) { let status node.each(i => { if (i.type !== 'comment') return if (/(!\s*)?autoprefixer:\s*(off|on)/i.test(i.text)) { if (typeof status !== 'undefined') { result.warn( 'Second Autoprefixer control comment ' + 'was ignored. Autoprefixer applies control ' + 'comment to whole block, not to next rules.', { node: i } ) } else { status = /on/i.test(i.text) } } }) if (status !== undefined) { value = !status } } if (!node.nodes || value === null) { if (node.parent) { let isParentDisabled = this.disabled(node.parent, result) if (node.parent._autoprefixerSelfDisabled === true) { value = false } else { value = isParentDisabled } } else { value = false } } node._autoprefixerDisabled = value return value } /** * Check for grid/flexbox options. */ disabledDecl(node, result) { if (node.type === 'decl' && this.gridStatus(node, result) === false) { if (node.prop.includes('grid') || node.prop === 'justify-items') { return true } } if (node.type === 'decl' && this.prefixes.options.flexbox === false) { let other = ['order', 'justify-content', 'align-items', 'align-content'] if (node.prop.includes('flex') || other.includes(node.prop)) { return true } } return this.disabled(node, result) } /** * Check for grid/flexbox options. */ disabledValue(node, result) { if (this.gridStatus(node, result) === false && node.type === 'decl') { if (node.prop === 'display' && node.value.includes('grid')) { return true } } if (this.prefixes.options.flexbox === false && node.type === 'decl') { if (node.prop === 'display' && node.value.includes('flex')) { return true } } if (node.type === 'decl' && node.prop === 'content') { return true } return this.disabled(node, result) } /** * Is it flebox or grid rule */ displayType(decl) { for (let i of decl.parent.nodes) { if (i.prop !== 'display') { continue } if (i.value.includes('flex')) { return 'flex' } if (i.value.includes('grid')) { return 'grid' } } return false } /** * Set grid option via control comment */ gridStatus(node, result) { if (!node) return false if (node._autoprefixerGridStatus !== undefined) { return node._autoprefixerGridStatus } let value = null if (node.nodes) { let status node.each(i => { if (i.type !== 'comment') return if (GRID_REGEX.test(i.text)) { let hasAutoplace = /:\s*autoplace/i.test(i.text) let noAutoplace = /no-autoplace/i.test(i.text) if (typeof status !== 'undefined') { result.warn( 'Second Autoprefixer grid control comment was ' + 'ignored. Autoprefixer applies control comments to the whole ' + 'block, not to the next rules.', { node: i } ) } else if (hasAutoplace) { status = 'autoplace' } else if (noAutoplace) { status = true } else { status = /on/i.test(i.text) } } }) if (status !== undefined) { value = status } } if (node.type === 'atrule' && node.name === 'supports') { let params = node.params if (params.includes('grid') && params.includes('auto')) { value = false } } if (!node.nodes || value === null) { if (node.parent) { let isParentGrid = this.gridStatus(node.parent, result) if (node.parent._autoprefixerSelfDisabled === true) { value = false } else { value = isParentGrid } } else if (typeof this.prefixes.options.grid !== 'undefined') { value = this.prefixes.options.grid } else if (typeof process.env.AUTOPREFIXER_GRID !== 'undefined') { if (process.env.AUTOPREFIXER_GRID === 'autoplace') { value = 'autoplace' } else { value = true } } else { value = false } } node._autoprefixerGridStatus = value return value } /** * Normalize spaces in cascade declaration group */ reduceSpaces(decl) { let stop = false this.prefixes.group(decl).up(() => { stop = true return true }) if (stop) { return } let parts = decl.raw('before').split('\n') let prevMin = parts[parts.length - 1].length let diff = false this.prefixes.group(decl).down(other => { parts = other.raw('before').split('\n') let last = parts.length - 1 if (parts[last].length > prevMin) { if (diff === false) { diff = parts[last].length - prevMin } parts[last] = parts[last].slice(0, -diff) other.raws.before = parts.join('\n') } }) } /** * Remove unnecessary pefixes */ remove(css, result) { // At-rules let resolution = this.prefixes.remove['@resolution'] css.walkAtRules((rule, i) => { if (this.prefixes.remove[`@${rule.name}`]) { if (!this.disabled(rule, result)) { rule.parent.removeChild(i) } } else if ( rule.name === 'media' && rule.params.includes('-resolution') && resolution ) { resolution.clean(rule) } }) // Selectors css.walkRules((rule, i) => { if (this.disabled(rule, result)) return for (let checker of this.prefixes.remove.selectors) { if (checker.check(rule)) { rule.parent.removeChild(i) return } } }) return css.walkDecls((decl, i) => { if (this.disabled(decl, result)) return let rule = decl.parent let unprefixed = this.prefixes.unprefixed(decl.prop) // Transition if (decl.prop === 'transition' || decl.prop === 'transition-property') { this.prefixes.transition.remove(decl) } // Properties if ( this.prefixes.remove[decl.prop] && this.prefixes.remove[decl.prop].remove ) { let notHack = this.prefixes.group(decl).down(other => { return this.prefixes.normalize(other.prop) === unprefixed }) if (unprefixed === 'flex-flow') { notHack = true } if (decl.prop === '-webkit-box-orient') { let hacks = { 'flex-direction': true, 'flex-flow': true } if (!decl.parent.some(j => hacks[j.prop])) return } if (notHack && !this.withHackValue(decl)) { if (decl.raw('before').includes('\n')) { this.reduceSpaces(decl) } rule.removeChild(i) return } } // Values for (let checker of this.prefixes.values('remove', unprefixed)) { if (!checker.check) continue if (!checker.check(decl.value)) continue unprefixed = checker.unprefixed let notHack = this.prefixes.group(decl).down(other => { return other.value.includes(unprefixed) }) if (notHack) { rule.removeChild(i) return } } }) } /** * Some rare old values, which is not in standard */ withHackValue(decl) { return ( (decl.prop === '-webkit-background-clip' && decl.value === 'text') || // Do not remove -webkit-box-orient when -webkit-line-clamp is present. // https://github.com/postcss/autoprefixer/issues/1510 (decl.prop === '-webkit-box-orient' && decl.parent.some(d => d.prop === '-webkit-line-clamp')) ) } } module.exports = Processor /***/ }), /***/ "./node_modules/autoprefixer/lib/resolution.js": /*!*****************************************************!*\ !*** ./node_modules/autoprefixer/lib/resolution.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let FractionJs = __webpack_require__(/*! fraction.js */ "./node_modules/fraction.js/fraction.cjs") let Prefixer = __webpack_require__(/*! ./prefixer */ "./node_modules/autoprefixer/lib/prefixer.js") let utils = __webpack_require__(/*! ./utils */ "./node_modules/autoprefixer/lib/utils.js") const REGEXP = /(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpcm|dpi|x)/gi const SPLIT = /(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpcm|dpi|x)/i class Resolution extends Prefixer { /** * Remove prefixed queries */ clean(rule) { if (!this.bad) { this.bad = [] for (let prefix of this.prefixes) { this.bad.push(this.prefixName(prefix, 'min')) this.bad.push(this.prefixName(prefix, 'max')) } } rule.params = utils.editList(rule.params, queries => { return queries.filter(query => this.bad.every(i => !query.includes(i))) }) } /** * Return prefixed query name */ prefixName(prefix, name) { if (prefix === '-moz-') { return name + '--moz-device-pixel-ratio' } else { return prefix + name + '-device-pixel-ratio' } } /** * Return prefixed query */ prefixQuery(prefix, name, colon, value, units) { value = new FractionJs(value) // 1dpcm = 2.54dpi // 1dppx = 96dpi if (units === 'dpi') { value = value.div(96) } else if (units === 'dpcm') { value = value.mul(2.54).div(96) } value = value.simplify() if (prefix === '-o-') { value = value.n + '/' + value.d } return this.prefixName(prefix, name) + colon + value } /** * Add prefixed queries */ process(rule) { let parent = this.parentPrefix(rule) let prefixes = parent ? [parent] : this.prefixes rule.params = utils.editList(rule.params, (origin, prefixed) => { for (let query of origin) { if ( !query.includes('min-resolution') && !query.includes('max-resolution') ) { prefixed.push(query) continue } for (let prefix of prefixes) { let processed = query.replace(REGEXP, str => { let parts = str.match(SPLIT) return this.prefixQuery( prefix, parts[1], parts[2], parts[3], parts[4] ) }) prefixed.push(processed) } prefixed.push(query) } return utils.uniq(prefixed) }) } } module.exports = Resolution /***/ }), /***/ "./node_modules/autoprefixer/lib/selector.js": /*!***************************************************!*\ !*** ./node_modules/autoprefixer/lib/selector.js ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let { list } = __webpack_require__(/*! postcss */ "./node_modules/postcss/lib/postcss.js") let Browsers = __webpack_require__(/*! ./browsers */ "./node_modules/autoprefixer/lib/browsers.js") let OldSelector = __webpack_require__(/*! ./old-selector */ "./node_modules/autoprefixer/lib/old-selector.js") let Prefixer = __webpack_require__(/*! ./prefixer */ "./node_modules/autoprefixer/lib/prefixer.js") let utils = __webpack_require__(/*! ./utils */ "./node_modules/autoprefixer/lib/utils.js") class Selector extends Prefixer { constructor(name, prefixes, all) { super(name, prefixes, all) this.regexpCache = new Map() } /** * Clone and add prefixes for at-rule */ add(rule, prefix) { let prefixeds = this.prefixeds(rule) if (this.already(rule, prefixeds, prefix)) { return } let cloned = this.clone(rule, { selector: prefixeds[this.name][prefix] }) rule.parent.insertBefore(rule, cloned) } /** * Is rule already prefixed before */ already(rule, prefixeds, prefix) { let index = rule.parent.index(rule) - 1 while (index >= 0) { let before = rule.parent.nodes[index] if (before.type !== 'rule') { return false } let some = false for (let key in prefixeds[this.name]) { let prefixed = prefixeds[this.name][key] if (before.selector === prefixed) { if (prefix === key) { return true } else { some = true break } } } if (!some) { return false } index -= 1 } return false } /** * Is rule selectors need to be prefixed */ check(rule) { if (rule.selector.includes(this.name)) { return !!rule.selector.match(this.regexp()) } return false } /** * Return function to fast find prefixed selector */ old(prefix) { return new OldSelector(this, prefix) } /** * All possible prefixes */ possible() { return Browsers.prefixes() } /** * Return prefixed version of selector */ prefixed(prefix) { return this.name.replace(/^(\W*)/, `$1${prefix}`) } /** * Return all possible selector prefixes */ prefixeds(rule) { if (rule._autoprefixerPrefixeds) { if (rule._autoprefixerPrefixeds[this.name]) { return rule._autoprefixerPrefixeds } } else { rule._autoprefixerPrefixeds = {} } let prefixeds = {} if (rule.selector.includes(',')) { let ruleParts = list.comma(rule.selector) let toProcess = ruleParts.filter(el => el.includes(this.name)) for (let prefix of this.possible()) { prefixeds[prefix] = toProcess .map(el => this.replace(el, prefix)) .join(', ') } } else { for (let prefix of this.possible()) { prefixeds[prefix] = this.replace(rule.selector, prefix) } } rule._autoprefixerPrefixeds[this.name] = prefixeds return rule._autoprefixerPrefixeds } /** * Lazy loadRegExp for name */ regexp(prefix) { if (!this.regexpCache.has(prefix)) { let name = prefix ? this.prefixed(prefix) : this.name this.regexpCache.set( prefix, new RegExp(`(^|[^:"'=])${utils.escapeRegexp(name)}`, 'gi') ) } return this.regexpCache.get(prefix) } /** * Replace selectors by prefixed one */ replace(selector, prefix) { return selector.replace(this.regexp(), `$1${this.prefixed(prefix)}`) } } module.exports = Selector /***/ }), /***/ "./node_modules/autoprefixer/lib/supports.js": /*!***************************************************!*\ !*** ./node_modules/autoprefixer/lib/supports.js ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let featureQueries = __webpack_require__(/*! caniuse-lite/data/features/css-featurequeries.js */ "./node_modules/caniuse-lite/data/features/css-featurequeries.js") let feature = __webpack_require__(/*! caniuse-lite/dist/unpacker/feature */ "./node_modules/caniuse-lite/dist/unpacker/feature.js") let { parse } = __webpack_require__(/*! postcss */ "./node_modules/postcss/lib/postcss.js") let brackets = __webpack_require__(/*! ./brackets */ "./node_modules/autoprefixer/lib/brackets.js") let Browsers = __webpack_require__(/*! ./browsers */ "./node_modules/autoprefixer/lib/browsers.js") let utils = __webpack_require__(/*! ./utils */ "./node_modules/autoprefixer/lib/utils.js") let Value = __webpack_require__(/*! ./value */ "./node_modules/autoprefixer/lib/value.js") let data = feature(featureQueries) let supported = [] for (let browser in data.stats) { let versions = data.stats[browser] for (let version in versions) { let support = versions[version] if (/y/.test(support)) { supported.push(browser + ' ' + version) } } } class Supports { constructor(Prefixes, all) { this.Prefixes = Prefixes this.all = all } /** * Add prefixes */ add(nodes, all) { return nodes.map(i => { if (this.isProp(i)) { let prefixed = this.prefixed(i[0]) if (prefixed.length > 1) { return this.convert(prefixed) } return i } if (typeof i === 'object') { return this.add(i, all) } return i }) } /** * Clean brackets with one child */ cleanBrackets(nodes) { return nodes.map(i => { if (typeof i !== 'object') { return i } if (i.length === 1 && typeof i[0] === 'object') { return this.cleanBrackets(i[0]) } return this.cleanBrackets(i) }) } /** * Add " or " between properties and convert it to brackets format */ convert(progress) { let result = [''] for (let i of progress) { result.push([`${i.prop}: ${i.value}`]) result.push(' or ') } result[result.length - 1] = '' return result } /** * Check global options */ disabled(node) { if (!this.all.options.grid) { if (node.prop === 'display' && node.value.includes('grid')) { return true } if (node.prop.includes('grid') || node.prop === 'justify-items') { return true } } if (this.all.options.flexbox === false) { if (node.prop === 'display' && node.value.includes('flex')) { return true } let other = ['order', 'justify-content', 'align-items', 'align-content'] if (node.prop.includes('flex') || other.includes(node.prop)) { return true } } return false } /** * Return true if prefixed property has no unprefixed */ isHack(all, unprefixed) { let check = new RegExp(`(\\(|\\s)${utils.escapeRegexp(unprefixed)}:`) return !check.test(all) } /** * Return true if brackets node is "not" word */ isNot(node) { return typeof node === 'string' && /not\s*/i.test(node) } /** * Return true if brackets node is "or" word */ isOr(node) { return typeof node === 'string' && /\s*or\s*/i.test(node) } /** * Return true if brackets node is (prop: value) */ isProp(node) { return ( typeof node === 'object' && node.length === 1 && typeof node[0] === 'string' ) } /** * Compress value functions into a string nodes */ normalize(nodes) { if (typeof nodes !== 'object') { return nodes } nodes = nodes.filter(i => i !== '') if (typeof nodes[0] === 'string') { let firstNode = nodes[0].trim() if ( firstNode.includes(':') || firstNode === 'selector' || firstNode === 'not selector' ) { return [brackets.stringify(nodes)] } } return nodes.map(i => this.normalize(i)) } /** * Parse string into declaration property and value */ parse(str) { let parts = str.split(':') let prop = parts[0] let value = parts[1] if (!value) value = '' return [prop.trim(), value.trim()] } /** * Return array of Declaration with all necessary prefixes */ prefixed(str) { let rule = this.virtual(str) if (this.disabled(rule.first)) { return rule.nodes } let result = { warn: () => null } let prefixer = this.prefixer().add[rule.first.prop] prefixer && prefixer.process && prefixer.process(rule.first, result) for (let decl of rule.nodes) { for (let value of this.prefixer().values('add', rule.first.prop)) { value.process(decl) } Value.save(this.all, decl) } return rule.nodes } /** * Return prefixer only with @supports supported browsers */ prefixer() { if (this.prefixerCache) { return this.prefixerCache } let filtered = this.all.browsers.selected.filter(i => { return supported.includes(i) }) let browsers = new Browsers( this.all.browsers.data, filtered, this.all.options ) this.prefixerCache = new this.Prefixes( this.all.data, browsers, this.all.options ) return this.prefixerCache } /** * Add prefixed declaration */ process(rule) { let ast = brackets.parse(rule.params) ast = this.normalize(ast) ast = this.remove(ast, rule.params) ast = this.add(ast, rule.params) ast = this.cleanBrackets(ast) rule.params = brackets.stringify(ast) } /** * Remove all unnecessary prefixes */ remove(nodes, all) { let i = 0 while (i < nodes.length) { if ( !this.isNot(nodes[i - 1]) && this.isProp(nodes[i]) && this.isOr(nodes[i + 1]) ) { if (this.toRemove(nodes[i][0], all)) { nodes.splice(i, 2) continue } i += 2 continue } if (typeof nodes[i] === 'object') { nodes[i] = this.remove(nodes[i], all) } i += 1 } return nodes } /** * Return true if we need to remove node */ toRemove(str, all) { let [prop, value] = this.parse(str) let unprefixed = this.all.unprefixed(prop) let cleaner = this.all.cleaner() if ( cleaner.remove[prop] && cleaner.remove[prop].remove && !this.isHack(all, unprefixed) ) { return true } for (let checker of cleaner.values('remove', unprefixed)) { if (checker.check(value)) { return true } } return false } /** * Create virtual rule to process it by prefixer */ virtual(str) { let [prop, value] = this.parse(str) let rule = parse('a{}').first rule.append({ prop, raws: { before: '' }, value }) return rule } } module.exports = Supports /***/ }), /***/ "./node_modules/autoprefixer/lib/transition.js": /*!*****************************************************!*\ !*** ./node_modules/autoprefixer/lib/transition.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let { list } = __webpack_require__(/*! postcss */ "./node_modules/postcss/lib/postcss.js") let parser = __webpack_require__(/*! postcss-value-parser */ "./node_modules/postcss-value-parser/lib/index.js") let Browsers = __webpack_require__(/*! ./browsers */ "./node_modules/autoprefixer/lib/browsers.js") let vendor = __webpack_require__(/*! ./vendor */ "./node_modules/autoprefixer/lib/vendor.js") class Transition { constructor(prefixes) { this.props = ['transition', 'transition-property'] this.prefixes = prefixes } /** * Process transition and add prefixes for all necessary properties */ add(decl, result) { let prefix, prop let add = this.prefixes.add[decl.prop] let vendorPrefixes = this.ruleVendorPrefixes(decl) let declPrefixes = vendorPrefixes || (add && add.prefixes) || [] let params = this.parse(decl.value) let names = params.map(i => this.findProp(i)) let added = [] if (names.some(i => i[0] === '-')) { return } for (let param of params) { prop = this.findProp(param) if (prop[0] === '-') continue let prefixer = this.prefixes.add[prop] if (!prefixer || !prefixer.prefixes) continue for (prefix of prefixer.prefixes) { if (vendorPrefixes && !vendorPrefixes.some(p => prefix.includes(p))) { continue } let prefixed = this.prefixes.prefixed(prop, prefix) if (prefixed !== '-ms-transform' && !names.includes(prefixed)) { if (!this.disabled(prop, prefix)) { added.push(this.clone(prop, prefixed, param)) } } } } params = params.concat(added) let value = this.stringify(params) let webkitClean = this.stringify( this.cleanFromUnprefixed(params, '-webkit-') ) if (declPrefixes.includes('-webkit-')) { this.cloneBefore(decl, `-webkit-${decl.prop}`, webkitClean) } this.cloneBefore(decl, decl.prop, webkitClean) if (declPrefixes.includes('-o-')) { let operaClean = this.stringify(this.cleanFromUnprefixed(params, '-o-')) this.cloneBefore(decl, `-o-${decl.prop}`, operaClean) } for (prefix of declPrefixes) { if (prefix !== '-webkit-' && prefix !== '-o-') { let prefixValue = this.stringify( this.cleanOtherPrefixes(params, prefix) ) this.cloneBefore(decl, prefix + decl.prop, prefixValue) } } if (value !== decl.value && !this.already(decl, decl.prop, value)) { this.checkForWarning(result, decl) decl.cloneBefore() decl.value = value } } /** * Does we already have this declaration */ already(decl, prop, value) { return decl.parent.some(i => i.prop === prop && i.value === value) } /** * Show transition-property warning */ checkForWarning(result, decl) { if (decl.prop !== 'transition-property') { return } let isPrefixed = false let hasAssociatedProp = false decl.parent.each(i => { if (i.type !== 'decl') { return undefined } if (i.prop.indexOf('transition-') !== 0) { return undefined } let values = list.comma(i.value) // check if current Rule's transition-property comma separated value list needs prefixes if (i.prop === 'transition-property') { values.forEach(value => { let lookup = this.prefixes.add[value] if (lookup && lookup.prefixes && lookup.prefixes.length > 0) { isPrefixed = true } }) return undefined } // check if another transition-* prop in current Rule has comma separated value list hasAssociatedProp = hasAssociatedProp || values.length > 1 return false }) if (isPrefixed && hasAssociatedProp) { decl.warn( result, 'Replace transition-property to transition, ' + 'because Autoprefixer could not support ' + 'any cases of transition-property ' + 'and other transition-*' ) } } /** * Remove all non-webkit prefixes and unprefixed params if we have prefixed */ cleanFromUnprefixed(params, prefix) { let remove = params .map(i => this.findProp(i)) .filter(i => i.slice(0, prefix.length) === prefix) .map(i => this.prefixes.unprefixed(i)) let result = [] for (let param of params) { let prop = this.findProp(param) let p = vendor.prefix(prop) if (!remove.includes(prop) && (p === prefix || p === '')) { result.push(param) } } return result } cleanOtherPrefixes(params, prefix) { return params.filter(param => { let current = vendor.prefix(this.findProp(param)) return current === '' || current === prefix }) } /** * Return new param array with different name */ clone(origin, name, param) { let result = [] let changed = false for (let i of param) { if (!changed && i.type === 'word' && i.value === origin) { result.push({ type: 'word', value: name }) changed = true } else { result.push(i) } } return result } /** * Add declaration if it is not exist */ cloneBefore(decl, prop, value) { if (!this.already(decl, prop, value)) { decl.cloneBefore({ prop, value }) } } /** * Check property for disabled by option */ disabled(prop, prefix) { let other = ['order', 'justify-content', 'align-self', 'align-content'] if (prop.includes('flex') || other.includes(prop)) { if (this.prefixes.options.flexbox === false) { return true } if (this.prefixes.options.flexbox === 'no-2009') { return prefix.includes('2009') } } return undefined } /** * Find or create separator */ div(params) { for (let param of params) { for (let node of param) { if (node.type === 'div' && node.value === ',') { return node } } } return { after: ' ', type: 'div', value: ',' } } /** * Find property name */ findProp(param) { let prop = param[0].value if (/^\d/.test(prop)) { for (let [i, token] of param.entries()) { if (i !== 0 && token.type === 'word') { return token.value } } } return prop } /** * Parse properties list to array */ parse(value) { let ast = parser(value) let result = [] let param = [] for (let node of ast.nodes) { param.push(node) if (node.type === 'div' && node.value === ',') { result.push(param) param = [] } } result.push(param) return result.filter(i => i.length > 0) } /** * Process transition and remove all unnecessary properties */ remove(decl) { let params = this.parse(decl.value) params = params.filter(i => { let prop = this.prefixes.remove[this.findProp(i)] return !prop || !prop.remove }) let value = this.stringify(params) if (decl.value === value) { return } if (params.length === 0) { decl.remove() return } let double = decl.parent.some(i => { return i.prop === decl.prop && i.value === value }) let smaller = decl.parent.some(i => { return i !== decl && i.prop === decl.prop && i.value.length > value.length }) if (double || smaller) { decl.remove() return } decl.value = value } /** * Check if transition prop is inside vendor specific rule */ ruleVendorPrefixes(decl) { let { parent } = decl if (parent.type !== 'rule') { return false } else if (!parent.selector.includes(':-')) { return false } let selectors = Browsers.prefixes().filter(s => parent.selector.includes(':' + s) ) return selectors.length > 0 ? selectors : false } /** * Return properties string from array */ stringify(params) { if (params.length === 0) { return '' } let nodes = [] for (let param of params) { if (param[param.length - 1].type !== 'div') { param.push(this.div(params)) } nodes = nodes.concat(param) } if (nodes[0].type === 'div') { nodes = nodes.slice(1) } if (nodes[nodes.length - 1].type === 'div') { nodes = nodes.slice(0, +-2 + 1 || 0) } return parser.stringify({ nodes }) } } module.exports = Transition /***/ }), /***/ "./node_modules/autoprefixer/lib/utils.js": /*!************************************************!*\ !*** ./node_modules/autoprefixer/lib/utils.js ***! \************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let { list } = __webpack_require__(/*! postcss */ "./node_modules/postcss/lib/postcss.js") /** * Throw special error, to tell beniary, * that this error is from Autoprefixer. */ module.exports.error = function (text) { let err = new Error(text) err.autoprefixer = true throw err } /** * Return array, that doesn’t contain duplicates. */ module.exports.uniq = function (array) { return [...new Set(array)] } /** * Return "-webkit-" on "-webkit- old" */ module.exports.removeNote = function (string) { if (!string.includes(' ')) { return string } return string.split(' ')[0] } /** * Escape RegExp symbols */ module.exports.escapeRegexp = function (string) { return string.replace(/[$()*+-.?[\\\]^{|}]/g, '\\$&') } /** * Return regexp to check, that CSS string contain word */ module.exports.regexp = function (word, escape = true) { if (escape) { word = this.escapeRegexp(word) } return new RegExp(`(^|[\\s,(])(${word}($|[\\s(,]))`, 'gi') } /** * Change comma list */ module.exports.editList = function (value, callback) { let origin = list.comma(value) let changed = callback(origin, []) if (origin === changed) { return value } let join = value.match(/,\s*/) join = join ? join[0] : ', ' return changed.join(join) } /** * Split the selector into parts. * It returns 3 level deep array because selectors can be comma * separated (1), space separated (2), and combined (3) * @param {String} selector selector string * @return {Array>} 3 level deep array of split selector * @see utils.test.js for examples */ module.exports.splitSelector = function (selector) { return list.comma(selector).map(i => { return list.space(i).map(k => { return k.split(/(?=\.|#)/g) }) }) } /** * Return true if a given value only contains numbers. * @param {*} value * @returns {boolean} */ module.exports.isPureNumber = function (value) { if (typeof value === 'number') { return true } if (typeof value === 'string') { return /^[0-9]+$/.test(value) } return false } /***/ }), /***/ "./node_modules/autoprefixer/lib/value.js": /*!************************************************!*\ !*** ./node_modules/autoprefixer/lib/value.js ***! \************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { let OldValue = __webpack_require__(/*! ./old-value */ "./node_modules/autoprefixer/lib/old-value.js") let Prefixer = __webpack_require__(/*! ./prefixer */ "./node_modules/autoprefixer/lib/prefixer.js") let utils = __webpack_require__(/*! ./utils */ "./node_modules/autoprefixer/lib/utils.js") let vendor = __webpack_require__(/*! ./vendor */ "./node_modules/autoprefixer/lib/vendor.js") class Value extends Prefixer { /** * Clone decl for each prefixed values */ static save(prefixes, decl) { let prop = decl.prop let result = [] for (let prefix in decl._autoprefixerValues) { let value = decl._autoprefixerValues[prefix] if (value === decl.value) { continue } let item let propPrefix = vendor.prefix(prop) if (propPrefix === '-pie-') { continue } if (propPrefix === prefix) { item = decl.value = value result.push(item) continue } let prefixed = prefixes.prefixed(prop, prefix) let rule = decl.parent if (!rule.every(i => i.prop !== prefixed)) { result.push(item) continue } let trimmed = value.replace(/\s+/, ' ') let already = rule.some( i => i.prop === decl.prop && i.value.replace(/\s+/, ' ') === trimmed ) if (already) { result.push(item) continue } let cloned = this.clone(decl, { value }) item = decl.parent.insertBefore(decl, cloned) result.push(item) } return result } /** * Save values with next prefixed token */ add(decl, prefix) { if (!decl._autoprefixerValues) { decl._autoprefixerValues = {} } let value = decl._autoprefixerValues[prefix] || this.value(decl) let before do { before = value value = this.replace(value, prefix) if (value === false) return } while (value !== before) decl._autoprefixerValues[prefix] = value } /** * Is declaration need to be prefixed */ check(decl) { let value = decl.value if (!value.includes(this.name)) { return false } return !!value.match(this.regexp()) } /** * Return function to fast find prefixed value */ old(prefix) { return new OldValue(this.name, prefix + this.name) } /** * Lazy regexp loading */ regexp() { return this.regexpCache || (this.regexpCache = utils.regexp(this.name)) } /** * Add prefix to values in string */ replace(string, prefix) { return string.replace(this.regexp(), `$1${prefix}$2`) } /** * Get value with comments if it was not changed */ value(decl) { if (decl.raws.value && decl.raws.value.value === decl.value) { return decl.raws.value.raw } else { return decl.value } } } module.exports = Value /***/ }), /***/ "./node_modules/autoprefixer/lib/vendor.js": /*!*************************************************!*\ !*** ./node_modules/autoprefixer/lib/vendor.js ***! \*************************************************/ /***/ ((module) => { module.exports = { prefix(prop) { let match = prop.match(/^(-\w+-)/) if (match) { return match[0] } return '' }, unprefixed(prop) { return prop.replace(/^-\w+-/, '') } } /***/ }), /***/ "./node_modules/browserslist/browser.js": /*!**********************************************!*\ !*** ./node_modules/browserslist/browser.js ***! \**********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var BrowserslistError = __webpack_require__(/*! ./error */ "./node_modules/browserslist/error.js") function noop() {} module.exports = { loadQueries: function loadQueries() { throw new BrowserslistError( 'Sharable configs are not supported in client-side build of Browserslist' ) }, getStat: function getStat(opts) { return opts.stats }, loadConfig: function loadConfig(opts) { if (opts.config) { throw new BrowserslistError( 'Browserslist config are not supported in client-side build' ) } }, loadCountry: function loadCountry() { throw new BrowserslistError( 'Country statistics are not supported ' + 'in client-side build of Browserslist' ) }, loadFeature: function loadFeature() { throw new BrowserslistError( 'Supports queries are not available in client-side build of Browserslist' ) }, currentNode: function currentNode(resolve, context) { return resolve(['maintained node versions'], context)[0] }, parseConfig: noop, readConfig: noop, findConfig: noop, findConfigFile: noop, clearCaches: noop, oldDataWarning: noop, env: {} } /***/ }), /***/ "./node_modules/browserslist/error.js": /*!********************************************!*\ !*** ./node_modules/browserslist/error.js ***! \********************************************/ /***/ ((module) => { function BrowserslistError(message) { this.name = 'BrowserslistError' this.message = message this.browserslist = true if (Error.captureStackTrace) { Error.captureStackTrace(this, BrowserslistError) } } BrowserslistError.prototype = Error.prototype module.exports = BrowserslistError /***/ }), /***/ "./node_modules/browserslist/index.js": /*!********************************************!*\ !*** ./node_modules/browserslist/index.js ***! \********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var jsReleases = __webpack_require__(/*! node-releases/data/processed/envs.json */ "./node_modules/node-releases/data/processed/envs.json") var agents = (__webpack_require__(/*! caniuse-lite/dist/unpacker/agents */ "./node_modules/caniuse-lite/dist/unpacker/agents.js").agents) var e2c = __webpack_require__(/*! electron-to-chromium/versions */ "./node_modules/electron-to-chromium/versions.js") var jsEOL = __webpack_require__(/*! node-releases/data/release-schedule/release-schedule.json */ "./node_modules/node-releases/data/release-schedule/release-schedule.json") var path = __webpack_require__(/*! path */ "?3465") var BrowserslistError = __webpack_require__(/*! ./error */ "./node_modules/browserslist/error.js") var env = __webpack_require__(/*! ./node */ "./node_modules/browserslist/browser.js") var parseWithoutCache = __webpack_require__(/*! ./parse */ "./node_modules/browserslist/parse.js") // Will load browser.js in webpack var YEAR = 365.259641 * 24 * 60 * 60 * 1000 var ANDROID_EVERGREEN_FIRST = '37' var OP_MOB_BLINK_FIRST = 14 // Helpers function isVersionsMatch(versionA, versionB) { return (versionA + '.').indexOf(versionB + '.') === 0 } function isEolReleased(name) { var version = name.slice(1) return browserslist.nodeVersions.some(function (i) { return isVersionsMatch(i, version) }) } function normalize(versions) { return versions.filter(function (version) { return typeof version === 'string' }) } function normalizeElectron(version) { var versionToUse = version if (version.split('.').length === 3) { versionToUse = version.split('.').slice(0, -1).join('.') } return versionToUse } function nameMapper(name) { return function mapName(version) { return name + ' ' + version } } function getMajor(version) { return parseInt(version.split('.')[0]) } function getMajorVersions(released, number) { if (released.length === 0) return [] var majorVersions = uniq(released.map(getMajor)) var minimum = majorVersions[majorVersions.length - number] if (!minimum) { return released } var selected = [] for (var i = released.length - 1; i >= 0; i--) { if (minimum > getMajor(released[i])) break selected.unshift(released[i]) } return selected } function uniq(array) { var filtered = [] for (var i = 0; i < array.length; i++) { if (filtered.indexOf(array[i]) === -1) filtered.push(array[i]) } return filtered } function fillUsage(result, name, data) { for (var i in data) { result[name + ' ' + i] = data[i] } } function generateFilter(sign, version) { version = parseFloat(version) if (sign === '>') { return function (v) { return parseLatestFloat(v) > version } } else if (sign === '>=') { return function (v) { return parseLatestFloat(v) >= version } } else if (sign === '<') { return function (v) { return parseFloat(v) < version } } else { return function (v) { return parseFloat(v) <= version } } function parseLatestFloat(v) { return parseFloat(v.split('-')[1] || v) } } function generateSemverFilter(sign, version) { version = version.split('.').map(parseSimpleInt) version[1] = version[1] || 0 version[2] = version[2] || 0 if (sign === '>') { return function (v) { v = v.split('.').map(parseSimpleInt) return compareSemver(v, version) > 0 } } else if (sign === '>=') { return function (v) { v = v.split('.').map(parseSimpleInt) return compareSemver(v, version) >= 0 } } else if (sign === '<') { return function (v) { v = v.split('.').map(parseSimpleInt) return compareSemver(version, v) > 0 } } else { return function (v) { v = v.split('.').map(parseSimpleInt) return compareSemver(version, v) >= 0 } } } function parseSimpleInt(x) { return parseInt(x) } function compare(a, b) { if (a < b) return -1 if (a > b) return +1 return 0 } function compareSemver(a, b) { return ( compare(parseInt(a[0]), parseInt(b[0])) || compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) || compare(parseInt(a[2] || '0'), parseInt(b[2] || '0')) ) } // this follows the npm-like semver behavior function semverFilterLoose(operator, range) { range = range.split('.').map(parseSimpleInt) if (typeof range[1] === 'undefined') { range[1] = 'x' } // ignore any patch version because we only return minor versions // range[2] = 'x' switch (operator) { case '<=': return function (version) { version = version.split('.').map(parseSimpleInt) return compareSemverLoose(version, range) <= 0 } case '>=': default: return function (version) { version = version.split('.').map(parseSimpleInt) return compareSemverLoose(version, range) >= 0 } } } // this follows the npm-like semver behavior function compareSemverLoose(version, range) { if (version[0] !== range[0]) { return version[0] < range[0] ? -1 : +1 } if (range[1] === 'x') { return 0 } if (version[1] !== range[1]) { return version[1] < range[1] ? -1 : +1 } return 0 } function resolveVersion(data, version) { if (data.versions.indexOf(version) !== -1) { return version } else if (browserslist.versionAliases[data.name][version]) { return browserslist.versionAliases[data.name][version] } else { return false } } function normalizeVersion(data, version) { var resolved = resolveVersion(data, version) if (resolved) { return resolved } else if (data.versions.length === 1) { return data.versions[0] } else { return false } } function filterByYear(since, context) { since = since / 1000 return Object.keys(agents).reduce(function (selected, name) { var data = byName(name, context) if (!data) return selected var versions = Object.keys(data.releaseDate).filter(function (v) { var date = data.releaseDate[v] return date !== null && date >= since }) return selected.concat(versions.map(nameMapper(data.name))) }, []) } function cloneData(data) { return { name: data.name, versions: data.versions, released: data.released, releaseDate: data.releaseDate } } function byName(name, context) { name = name.toLowerCase() name = browserslist.aliases[name] || name if (context.mobileToDesktop && browserslist.desktopNames[name]) { var desktop = browserslist.data[browserslist.desktopNames[name]] if (name === 'android') { return normalizeAndroidData(cloneData(browserslist.data[name]), desktop) } else { var cloned = cloneData(desktop) cloned.name = name return cloned } } return browserslist.data[name] } function normalizeAndroidVersions(androidVersions, chromeVersions) { var iFirstEvergreen = chromeVersions.indexOf(ANDROID_EVERGREEN_FIRST) return androidVersions .filter(function (version) { return /^(?:[2-4]\.|[34]$)/.test(version) }) .concat(chromeVersions.slice(iFirstEvergreen)) } function copyObject(obj) { var copy = {} for (var key in obj) { copy[key] = obj[key] } return copy } function normalizeAndroidData(android, chrome) { android.released = normalizeAndroidVersions(android.released, chrome.released) android.versions = normalizeAndroidVersions(android.versions, chrome.versions) android.releaseDate = copyObject(android.releaseDate) android.released.forEach(function (v) { if (android.releaseDate[v] === undefined) { android.releaseDate[v] = chrome.releaseDate[v] } }) return android } function checkName(name, context) { var data = byName(name, context) if (!data) throw new BrowserslistError('Unknown browser ' + name) return data } function unknownQuery(query) { return new BrowserslistError( 'Unknown browser query `' + query + '`. ' + 'Maybe you are using old Browserslist or made typo in query.' ) } // Adjusts last X versions queries for some mobile browsers, // where caniuse data jumps from a legacy version to the latest function filterJumps(list, name, nVersions, context) { var jump = 1 switch (name) { case 'android': if (context.mobileToDesktop) return list var released = browserslist.data.chrome.released jump = released.length - released.indexOf(ANDROID_EVERGREEN_FIRST) break case 'op_mob': var latest = browserslist.data.op_mob.released.slice(-1)[0] jump = getMajor(latest) - OP_MOB_BLINK_FIRST + 1 break default: return list } if (nVersions <= jump) { return list.slice(-1) } return list.slice(jump - 1 - nVersions) } function isSupported(flags, withPartial) { return ( typeof flags === 'string' && (flags.indexOf('y') >= 0 || (withPartial && flags.indexOf('a') >= 0)) ) } function resolve(queries, context) { return parseQueries(queries).reduce(function (result, node, index) { if (node.not && index === 0) { throw new BrowserslistError( 'Write any browsers query (for instance, `defaults`) ' + 'before `' + node.query + '`' ) } var type = QUERIES[node.type] var array = type.select.call(browserslist, context, node).map(function (j) { var parts = j.split(' ') if (parts[1] === '0') { return parts[0] + ' ' + byName(parts[0], context).versions[0] } else { return j } }) if (node.compose === 'and') { if (node.not) { return result.filter(function (j) { return array.indexOf(j) === -1 }) } else { return result.filter(function (j) { return array.indexOf(j) !== -1 }) } } else { if (node.not) { var filter = {} array.forEach(function (j) { filter[j] = true }) return result.filter(function (j) { return !filter[j] }) } return result.concat(array) } }, []) } function prepareOpts(opts) { if (typeof opts === 'undefined') opts = {} if (typeof opts.path === 'undefined') { opts.path = path.resolve ? path.resolve('.') : '.' } return opts } function prepareQueries(queries, opts) { if (typeof queries === 'undefined' || queries === null) { var config = browserslist.loadConfig(opts) if (config) { queries = config } else { queries = browserslist.defaults } } return queries } function checkQueries(queries) { if (!(typeof queries === 'string' || Array.isArray(queries))) { throw new BrowserslistError( 'Browser queries must be an array or string. Got ' + typeof queries + '.' ) } } var cache = {} var parseCache = {} function browserslist(queries, opts) { opts = prepareOpts(opts) queries = prepareQueries(queries, opts) checkQueries(queries) var needsPath = parseQueries(queries).some(function (node) { return QUERIES[node.type].needsPath }) var context = { ignoreUnknownVersions: opts.ignoreUnknownVersions, dangerousExtend: opts.dangerousExtend, mobileToDesktop: opts.mobileToDesktop, env: opts.env } // Removing to avoid using context.path without marking query as needsPath if (needsPath) { context.path = opts.path } env.oldDataWarning(browserslist.data) var stats = env.getStat(opts, browserslist.data) if (stats) { context.customUsage = {} for (var browser in stats) { fillUsage(context.customUsage, browser, stats[browser]) } } var cacheKey = JSON.stringify([queries, context]) if (cache[cacheKey]) return cache[cacheKey] var result = uniq(resolve(queries, context)).sort(function (name1, name2) { name1 = name1.split(' ') name2 = name2.split(' ') if (name1[0] === name2[0]) { // assumptions on caniuse data // 1) version ranges never overlaps // 2) if version is not a range, it never contains `-` var version1 = name1[1].split('-')[0] var version2 = name2[1].split('-')[0] return compareSemver(version2.split('.'), version1.split('.')) } else { return compare(name1[0], name2[0]) } }) if (!env.env.BROWSERSLIST_DISABLE_CACHE) { cache[cacheKey] = result } return result } function parseQueries(queries) { var cacheKey = JSON.stringify(queries) if (cacheKey in parseCache) return parseCache[cacheKey] var result = parseWithoutCache(QUERIES, queries) if (!env.env.BROWSERSLIST_DISABLE_CACHE) { parseCache[cacheKey] = result } return result } function loadCustomUsage(context, config) { var stats = env.loadStat(context, config, browserslist.data) if (stats) { context.customUsage = {} for (var browser in stats) { fillUsage(context.customUsage, browser, stats[browser]) } } if (!context.customUsage) { throw new BrowserslistError('Custom usage statistics was not provided') } return context.customUsage } browserslist.parse = function (queries, opts) { opts = prepareOpts(opts) queries = prepareQueries(queries, opts) checkQueries(queries) return parseQueries(queries) } // Will be filled by Can I Use data below browserslist.cache = {} browserslist.data = {} browserslist.usage = { global: {}, custom: null } // Default browsers query browserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead'] // Browser names aliases browserslist.aliases = { fx: 'firefox', ff: 'firefox', ios: 'ios_saf', explorer: 'ie', blackberry: 'bb', explorermobile: 'ie_mob', operamini: 'op_mini', operamobile: 'op_mob', chromeandroid: 'and_chr', firefoxandroid: 'and_ff', ucandroid: 'and_uc', qqandroid: 'and_qq' } // Can I Use only provides a few versions for some browsers (e.g. and_chr). // Fallback to a similar browser for unknown versions // Note op_mob is not included as its chromium versions are not in sync with Opera desktop browserslist.desktopNames = { and_chr: 'chrome', and_ff: 'firefox', ie_mob: 'ie', android: 'chrome' // has extra processing logic } // Aliases to work with joined versions like `ios_saf 7.0-7.1` browserslist.versionAliases = {} browserslist.clearCaches = env.clearCaches browserslist.parseConfig = env.parseConfig browserslist.readConfig = env.readConfig browserslist.findConfigFile = env.findConfigFile browserslist.findConfig = env.findConfig browserslist.loadConfig = env.loadConfig browserslist.coverage = function (browsers, stats) { var data if (typeof stats === 'undefined') { data = browserslist.usage.global } else if (stats === 'my stats') { var opts = {} opts.path = path.resolve ? path.resolve('.') : '.' var customStats = env.getStat(opts) if (!customStats) { throw new BrowserslistError('Custom usage statistics was not provided') } data = {} for (var browser in customStats) { fillUsage(data, browser, customStats[browser]) } } else if (typeof stats === 'string') { if (stats.length > 2) { stats = stats.toLowerCase() } else { stats = stats.toUpperCase() } env.loadCountry(browserslist.usage, stats, browserslist.data) data = browserslist.usage[stats] } else { if ('dataByBrowser' in stats) { stats = stats.dataByBrowser } data = {} for (var name in stats) { for (var version in stats[name]) { data[name + ' ' + version] = stats[name][version] } } } return browsers.reduce(function (all, i) { var usage = data[i] if (usage === undefined) { usage = data[i.replace(/ \S+$/, ' 0')] } return all + (usage || 0) }, 0) } function nodeQuery(context, node) { var matched = browserslist.nodeVersions.filter(function (i) { return isVersionsMatch(i, node.version) }) if (matched.length === 0) { if (context.ignoreUnknownVersions) { return [] } else { throw new BrowserslistError( 'Unknown version ' + node.version + ' of Node.js' ) } } return ['node ' + matched[matched.length - 1]] } function sinceQuery(context, node) { var year = parseInt(node.year) var month = parseInt(node.month || '01') - 1 var day = parseInt(node.day || '01') return filterByYear(Date.UTC(year, month, day, 0, 0, 0), context) } function coverQuery(context, node) { var coverage = parseFloat(node.coverage) var usage = browserslist.usage.global if (node.place) { if (node.place.match(/^my\s+stats$/i)) { if (!context.customUsage) { throw new BrowserslistError('Custom usage statistics was not provided') } usage = context.customUsage } else { var place if (node.place.length === 2) { place = node.place.toUpperCase() } else { place = node.place.toLowerCase() } env.loadCountry(browserslist.usage, place, browserslist.data) usage = browserslist.usage[place] } } else if (node.config) { usage = loadCustomUsage(context, node.config) } var versions = Object.keys(usage).sort(function (a, b) { return usage[b] - usage[a] }) var covered = 0 var result = [] var version for (var i = 0; i < versions.length; i++) { version = versions[i] if (usage[version] === 0) break covered += usage[version] result.push(version) if (covered >= coverage) break } return result } var QUERIES = { last_major_versions: { matches: ['versions'], regexp: /^last\s+(\d+)\s+major\s+versions?$/i, select: function (context, node) { return Object.keys(agents).reduce(function (selected, name) { var data = byName(name, context) if (!data) return selected var list = getMajorVersions(data.released, node.versions) list = list.map(nameMapper(data.name)) list = filterJumps(list, data.name, node.versions, context) return selected.concat(list) }, []) } }, last_versions: { matches: ['versions'], regexp: /^last\s+(\d+)\s+versions?$/i, select: function (context, node) { return Object.keys(agents).reduce(function (selected, name) { var data = byName(name, context) if (!data) return selected var list = data.released.slice(-node.versions) list = list.map(nameMapper(data.name)) list = filterJumps(list, data.name, node.versions, context) return selected.concat(list) }, []) } }, last_electron_major_versions: { matches: ['versions'], regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i, select: function (context, node) { var validVersions = getMajorVersions(Object.keys(e2c), node.versions) return validVersions.map(function (i) { return 'chrome ' + e2c[i] }) } }, last_node_major_versions: { matches: ['versions'], regexp: /^last\s+(\d+)\s+node\s+major\s+versions?$/i, select: function (context, node) { return getMajorVersions(browserslist.nodeVersions, node.versions).map( function (version) { return 'node ' + version } ) } }, last_browser_major_versions: { matches: ['versions', 'browser'], regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i, select: function (context, node) { var data = checkName(node.browser, context) var validVersions = getMajorVersions(data.released, node.versions) var list = validVersions.map(nameMapper(data.name)) list = filterJumps(list, data.name, node.versions, context) return list } }, last_electron_versions: { matches: ['versions'], regexp: /^last\s+(\d+)\s+electron\s+versions?$/i, select: function (context, node) { return Object.keys(e2c) .slice(-node.versions) .map(function (i) { return 'chrome ' + e2c[i] }) } }, last_node_versions: { matches: ['versions'], regexp: /^last\s+(\d+)\s+node\s+versions?$/i, select: function (context, node) { return browserslist.nodeVersions .slice(-node.versions) .map(function (version) { return 'node ' + version }) } }, last_browser_versions: { matches: ['versions', 'browser'], regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i, select: function (context, node) { var data = checkName(node.browser, context) var list = data.released.slice(-node.versions).map(nameMapper(data.name)) list = filterJumps(list, data.name, node.versions, context) return list } }, unreleased_versions: { matches: [], regexp: /^unreleased\s+versions$/i, select: function (context) { return Object.keys(agents).reduce(function (selected, name) { var data = byName(name, context) if (!data) return selected var list = data.versions.filter(function (v) { return data.released.indexOf(v) === -1 }) list = list.map(nameMapper(data.name)) return selected.concat(list) }, []) } }, unreleased_electron_versions: { matches: [], regexp: /^unreleased\s+electron\s+versions?$/i, select: function () { return [] } }, unreleased_browser_versions: { matches: ['browser'], regexp: /^unreleased\s+(\w+)\s+versions?$/i, select: function (context, node) { var data = checkName(node.browser, context) return data.versions .filter(function (v) { return data.released.indexOf(v) === -1 }) .map(nameMapper(data.name)) } }, last_years: { matches: ['years'], regexp: /^last\s+((\d+\.)?\d+)\s+years?$/i, select: function (context, node) { return filterByYear(Date.now() - YEAR * node.years, context) } }, since_y: { matches: ['year'], regexp: /^since (\d+)$/i, select: sinceQuery }, since_y_m: { matches: ['year', 'month'], regexp: /^since (\d+)-(\d+)$/i, select: sinceQuery }, since_y_m_d: { matches: ['year', 'month', 'day'], regexp: /^since (\d+)-(\d+)-(\d+)$/i, select: sinceQuery }, popularity: { matches: ['sign', 'popularity'], regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/, select: function (context, node) { var popularity = parseFloat(node.popularity) var usage = browserslist.usage.global return Object.keys(usage).reduce(function (result, version) { if (node.sign === '>') { if (usage[version] > popularity) { result.push(version) } } else if (node.sign === '<') { if (usage[version] < popularity) { result.push(version) } } else if (node.sign === '<=') { if (usage[version] <= popularity) { result.push(version) } } else if (usage[version] >= popularity) { result.push(version) } return result }, []) } }, popularity_in_my_stats: { matches: ['sign', 'popularity'], regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/, select: function (context, node) { var popularity = parseFloat(node.popularity) if (!context.customUsage) { throw new BrowserslistError('Custom usage statistics was not provided') } var usage = context.customUsage return Object.keys(usage).reduce(function (result, version) { var percentage = usage[version] if (percentage == null) { return result } if (node.sign === '>') { if (percentage > popularity) { result.push(version) } } else if (node.sign === '<') { if (percentage < popularity) { result.push(version) } } else if (node.sign === '<=') { if (percentage <= popularity) { result.push(version) } } else if (percentage >= popularity) { result.push(version) } return result }, []) } }, popularity_in_config_stats: { matches: ['sign', 'popularity', 'config'], regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/, select: function (context, node) { var popularity = parseFloat(node.popularity) var usage = loadCustomUsage(context, node.config) return Object.keys(usage).reduce(function (result, version) { var percentage = usage[version] if (percentage == null) { return result } if (node.sign === '>') { if (percentage > popularity) { result.push(version) } } else if (node.sign === '<') { if (percentage < popularity) { result.push(version) } } else if (node.sign === '<=') { if (percentage <= popularity) { result.push(version) } } else if (percentage >= popularity) { result.push(version) } return result }, []) } }, popularity_in_place: { matches: ['sign', 'popularity', 'place'], regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/, select: function (context, node) { var popularity = parseFloat(node.popularity) var place = node.place if (place.length === 2) { place = place.toUpperCase() } else { place = place.toLowerCase() } env.loadCountry(browserslist.usage, place, browserslist.data) var usage = browserslist.usage[place] return Object.keys(usage).reduce(function (result, version) { var percentage = usage[version] if (percentage == null) { return result } if (node.sign === '>') { if (percentage > popularity) { result.push(version) } } else if (node.sign === '<') { if (percentage < popularity) { result.push(version) } } else if (node.sign === '<=') { if (percentage <= popularity) { result.push(version) } } else if (percentage >= popularity) { result.push(version) } return result }, []) } }, cover: { matches: ['coverage'], regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/i, select: coverQuery }, cover_in: { matches: ['coverage', 'place'], regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/i, select: coverQuery }, cover_config: { matches: ['coverage', 'config'], regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/i, select: coverQuery }, supports: { matches: ['supportType', 'feature'], regexp: /^(?:(fully|partially)\s+)?supports\s+([\w-]+)$/, select: function (context, node) { env.loadFeature(browserslist.cache, node.feature) var withPartial = node.supportType !== 'fully' var features = browserslist.cache[node.feature] var result = [] for (var name in features) { var data = byName(name, context) // Only check desktop when latest released mobile has support var iMax = data.released.length - 1 while (iMax >= 0) { if (data.released[iMax] in features[name]) break iMax-- } var checkDesktop = context.mobileToDesktop && name in browserslist.desktopNames && isSupported(features[name][data.released[iMax]], withPartial) data.versions.forEach(function (version) { var flags = features[name][version] if (flags === undefined && checkDesktop) { flags = features[browserslist.desktopNames[name]][version] } if (isSupported(flags, withPartial)) { result.push(name + ' ' + version) } }) } return result } }, electron_range: { matches: ['from', 'to'], regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i, select: function (context, node) { var fromToUse = normalizeElectron(node.from) var toToUse = normalizeElectron(node.to) var from = parseFloat(node.from) var to = parseFloat(node.to) if (!e2c[fromToUse]) { throw new BrowserslistError('Unknown version ' + from + ' of electron') } if (!e2c[toToUse]) { throw new BrowserslistError('Unknown version ' + to + ' of electron') } return Object.keys(e2c) .filter(function (i) { var parsed = parseFloat(i) return parsed >= from && parsed <= to }) .map(function (i) { return 'chrome ' + e2c[i] }) } }, node_range: { matches: ['from', 'to'], regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i, select: function (context, node) { return browserslist.nodeVersions .filter(semverFilterLoose('>=', node.from)) .filter(semverFilterLoose('<=', node.to)) .map(function (v) { return 'node ' + v }) } }, browser_range: { matches: ['browser', 'from', 'to'], regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i, select: function (context, node) { var data = checkName(node.browser, context) var from = parseFloat(normalizeVersion(data, node.from) || node.from) var to = parseFloat(normalizeVersion(data, node.to) || node.to) function filter(v) { var parsed = parseFloat(v) return parsed >= from && parsed <= to } return data.released.filter(filter).map(nameMapper(data.name)) } }, electron_ray: { matches: ['sign', 'version'], regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i, select: function (context, node) { var versionToUse = normalizeElectron(node.version) return Object.keys(e2c) .filter(generateFilter(node.sign, versionToUse)) .map(function (i) { return 'chrome ' + e2c[i] }) } }, node_ray: { matches: ['sign', 'version'], regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i, select: function (context, node) { return browserslist.nodeVersions .filter(generateSemverFilter(node.sign, node.version)) .map(function (v) { return 'node ' + v }) } }, browser_ray: { matches: ['browser', 'sign', 'version'], regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/, select: function (context, node) { var version = node.version var data = checkName(node.browser, context) var alias = browserslist.versionAliases[data.name][version] if (alias) version = alias return data.released .filter(generateFilter(node.sign, version)) .map(function (v) { return data.name + ' ' + v }) } }, firefox_esr: { matches: [], regexp: /^(firefox|ff|fx)\s+esr$/i, select: function () { return ['firefox 128', 'firefox 140'] } }, opera_mini_all: { matches: [], regexp: /(operamini|op_mini)\s+all/i, select: function () { return ['op_mini all'] } }, electron_version: { matches: ['version'], regexp: /^electron\s+([\d.]+)$/i, select: function (context, node) { var versionToUse = normalizeElectron(node.version) var chrome = e2c[versionToUse] if (!chrome) { throw new BrowserslistError( 'Unknown version ' + node.version + ' of electron' ) } return ['chrome ' + chrome] } }, node_major_version: { matches: ['version'], regexp: /^node\s+(\d+)$/i, select: nodeQuery }, node_minor_version: { matches: ['version'], regexp: /^node\s+(\d+\.\d+)$/i, select: nodeQuery }, node_patch_version: { matches: ['version'], regexp: /^node\s+(\d+\.\d+\.\d+)$/i, select: nodeQuery }, current_node: { matches: [], regexp: /^current\s+node$/i, select: function (context) { return [env.currentNode(resolve, context)] } }, maintained_node: { matches: [], regexp: /^maintained\s+node\s+versions$/i, select: function (context) { var now = Date.now() var queries = Object.keys(jsEOL) .filter(function (key) { return ( now < Date.parse(jsEOL[key].end) && now > Date.parse(jsEOL[key].start) && isEolReleased(key) ) }) .map(function (key) { return 'node ' + key.slice(1) }) return resolve(queries, context) } }, phantomjs_1_9: { matches: [], regexp: /^phantomjs\s+1.9$/i, select: function () { return ['safari 5'] } }, phantomjs_2_1: { matches: [], regexp: /^phantomjs\s+2.1$/i, select: function () { return ['safari 6'] } }, browser_version: { matches: ['browser', 'version'], regexp: /^(\w+)\s+(tp|[\d.]+)$/i, select: function (context, node) { var version = node.version if (/^tp$/i.test(version)) version = 'TP' var data = checkName(node.browser, context) var alias = normalizeVersion(data, version) if (alias) { version = alias } else { if (version.indexOf('.') === -1) { alias = version + '.0' } else { alias = version.replace(/\.0$/, '') } alias = normalizeVersion(data, alias) if (alias) { version = alias } else if (context.ignoreUnknownVersions) { return [] } else { throw new BrowserslistError( 'Unknown version ' + version + ' of ' + node.browser ) } } return [data.name + ' ' + version] } }, browserslist_config: { matches: [], regexp: /^browserslist config$/i, needsPath: true, select: function (context) { return browserslist(undefined, context) } }, extends: { matches: ['config'], regexp: /^extends (.+)$/i, needsPath: true, select: function (context, node) { return resolve(env.loadQueries(context, node.config), context) } }, defaults: { matches: [], regexp: /^defaults$/i, select: function (context) { return resolve(browserslist.defaults, context) } }, dead: { matches: [], regexp: /^dead$/i, select: function (context) { var dead = [ 'Baidu >= 0', 'ie <= 11', 'ie_mob <= 11', 'bb <= 10', 'op_mob <= 12.1', 'samsung 4' ] return resolve(dead, context) } }, unknown: { matches: [], regexp: /^(\w+)$/i, select: function (context, node) { if (byName(node.query, context)) { throw new BrowserslistError( 'Specify versions in Browserslist query for browser ' + node.query ) } else { throw unknownQuery(node.query) } } } } // Get and convert Can I Use data ;(function () { for (var name in agents) { var browser = agents[name] browserslist.data[name] = { name: name, versions: normalize(agents[name].versions), released: normalize(agents[name].versions.slice(0, -3)), releaseDate: agents[name].release_date } fillUsage(browserslist.usage.global, name, browser.usage_global) browserslist.versionAliases[name] = {} for (var i = 0; i < browser.versions.length; i++) { var full = browser.versions[i] if (!full) continue if (full.indexOf('-') !== -1) { var interval = full.split('-') for (var j = 0; j < interval.length; j++) { browserslist.versionAliases[name][interval[j]] = full } } } } browserslist.nodeVersions = jsReleases.map(function (release) { return release.version }) })() module.exports = browserslist /***/ }), /***/ "./node_modules/browserslist/parse.js": /*!********************************************!*\ !*** ./node_modules/browserslist/parse.js ***! \********************************************/ /***/ ((module) => { var AND_REGEXP = /^\s+and\s+(.*)/i var OR_REGEXP = /^(?:,\s*|\s+or\s+)(.*)/i function flatten(array) { if (!Array.isArray(array)) return [array] return array.reduce(function (a, b) { return a.concat(flatten(b)) }, []) } function find(string, predicate) { for (var max = string.length, n = 1; n <= max; n++) { var parsed = string.substr(-n, n) if (predicate(parsed, n, max)) { return string.slice(0, -n) } } return '' } function matchQuery(all, query) { var node = { query: query } if (query.indexOf('not ') === 0) { node.not = true query = query.slice(4) } for (var name in all) { var type = all[name] var match = query.match(type.regexp) if (match) { node.type = name for (var i = 0; i < type.matches.length; i++) { node[type.matches[i]] = match[i + 1] } return node } } node.type = 'unknown' return node } function matchBlock(all, string, qs) { var node return find(string, function (parsed, n, max) { if (AND_REGEXP.test(parsed)) { node = matchQuery(all, parsed.match(AND_REGEXP)[1]) node.compose = 'and' qs.unshift(node) return true } else if (OR_REGEXP.test(parsed)) { node = matchQuery(all, parsed.match(OR_REGEXP)[1]) node.compose = 'or' qs.unshift(node) return true } else if (n === max) { node = matchQuery(all, parsed.trim()) node.compose = 'or' qs.unshift(node) return true } return false }) } module.exports = function parse(all, queries) { if (!Array.isArray(queries)) queries = [queries] return flatten( queries.map(function (block) { var qs = [] do { block = matchBlock(all, block, qs) } while (block) return qs }) ) } /***/ }), /***/ "./node_modules/caniuse-lite/data/agents.js": /*!**************************************************!*\ !*** ./node_modules/caniuse-lite/data/agents.js ***! \**************************************************/ /***/ ((module) => { module.exports={A:{A:{K:0,D:0,E:0.0331526,F:0.0248644,A:0.00828815,B:0.605035,sC:0},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","sC","K","D","E","F","A","B","","",""],E:"IE",F:{sC:962323200,K:998870400,D:1161129600,E:1237420800,F:1300060800,A:1346716800,B:1381968000}},B:{A:{"0":0,C:0,L:0,M:0,G:0,N:0,O:0,P:0.04422,Q:0,H:0,R:0,S:0,T:0,U:0,V:0,W:0,X:0,Y:0,Z:0,a:0,b:0.01206,c:0,d:0,e:0,f:0,g:0,h:0,i:0,j:0,k:0,l:0,m:0.00402,n:0,o:0,p:0,q:0,r:0,s:0.0402,t:0,u:0,v:0,w:0.00804,x:0.01206,y:0.00402,z:0,AB:0,BB:0,CB:0.02814,DB:0.00804,EB:0.01206,FB:0.00402,GB:0.00402,HB:0.00402,IB:0.01206,JB:0.01206,KB:0.00804,LB:0.0201,MB:0.01206,NB:0.02814,OB:0.01608,PB:0.01608,QB:0.04824,RB:0.02814,SB:0.04824,TB:0.21306,I:4.0602},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","L","M","G","N","O","P","Q","H","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","I","","",""],E:"Edge",F:{"0":1694649600,C:1438128000,L:1447286400,M:1470096000,G:1491868800,N:1508198400,O:1525046400,P:1542067200,Q:1579046400,H:1581033600,R:1586736000,S:1590019200,T:1594857600,U:1598486400,V:1602201600,W:1605830400,X:1611360000,Y:1614816000,Z:1618358400,a:1622073600,b:1626912000,c:1630627200,d:1632441600,e:1634774400,f:1637539200,g:1641427200,h:1643932800,i:1646265600,j:1649635200,k:1651190400,l:1653955200,m:1655942400,n:1659657600,o:1661990400,p:1664755200,q:1666915200,r:1670198400,s:1673481600,t:1675900800,u:1678665600,v:1680825600,w:1683158400,x:1685664000,y:1689897600,z:1692576000,AB:1697155200,BB:1698969600,CB:1701993600,DB:1706227200,EB:1708732800,FB:1711152000,GB:1713398400,HB:1715990400,IB:1718841600,JB:1721865600,KB:1724371200,LB:1726704000,MB:1729123200,NB:1731542400,OB:1737417600,PB:1740614400,QB:1741219200,RB:1743984000,SB:1746316800,TB:1748476800,I:1750896000},D:{C:"ms",L:"ms",M:"ms",G:"ms",N:"ms",O:"ms",P:"ms"}},C:{A:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,tC:0,PC:0,J:0,UB:0,K:0,D:0,E:0,F:0,A:0,B:0.04824,C:0,L:0,M:0,G:0,N:0,O:0,P:0,VB:0,WB:0,XB:0,YB:0,ZB:0,aB:0,bB:0,cB:0,dB:0,eB:0,fB:0,gB:0,hB:0,iB:0,jB:0,kB:0.00804,lB:0,mB:0.00402,nB:0,oB:0,pB:0,qB:0,rB:0,sB:0,tB:0.03216,uB:0,vB:0,wB:0,xB:0,yB:0,zB:0,QC:0.00804,"0B":0,RC:0,"1B":0,"2B":0,"3B":0,"4B":0,"5B":0,"6B":0,"7B":0,"8B":0,"9B":0.01206,AC:0,BC:0.01608,CC:0,DC:0,EC:0,FC:0,GC:0,HC:0.01206,Q:0,H:0,R:0,SC:0,S:0,T:0,U:0,V:0,W:0,X:0,Y:0,Z:0,a:0,b:0,c:0,d:0,e:0,f:0,g:0,h:0,i:0,j:0,k:0,l:0,m:0,n:0,o:0,p:0,q:0,r:0,s:0.00402,t:0,u:0,v:0,w:0.00402,x:0,y:0.17286,z:0,AB:0.11658,BB:0,CB:0,DB:0,EB:0,FB:0,GB:0,HB:0.01206,IB:0.01206,JB:0.00402,KB:0.1005,LB:0.00804,MB:0,NB:0,OB:0,PB:0.01206,QB:0.00804,RB:0.00804,SB:0.01608,TB:0.01206,I:0.01608,TC:0.09648,IC:1.01304,UC:0.31356,VC:0,uC:0,vC:0,wC:0,xC:0},B:"moz",C:["tC","PC","wC","xC","J","UB","K","D","E","F","A","B","C","L","M","G","N","O","P","VB","1","2","3","4","5","6","7","8","9","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","oB","pB","qB","rB","sB","tB","uB","vB","wB","xB","yB","zB","QC","0B","RC","1B","2B","3B","4B","5B","6B","7B","8B","9B","AC","BC","CC","DC","EC","FC","GC","HC","Q","H","R","SC","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","I","TC","IC","UC","VC","uC","vC"],E:"Firefox",F:{"0":1693267200,"1":1361232000,"2":1364860800,"3":1368489600,"4":1372118400,"5":1375747200,"6":1379376000,"7":1386633600,"8":1391472000,"9":1395100800,tC:1161648000,PC:1213660800,wC:1246320000,xC:1264032000,J:1300752000,UB:1308614400,K:1313452800,D:1317081600,E:1317081600,F:1320710400,A:1324339200,B:1327968000,C:1331596800,L:1335225600,M:1338854400,G:1342483200,N:1346112000,O:1349740800,P:1353628800,VB:1357603200,WB:1398729600,XB:1402358400,YB:1405987200,ZB:1409616000,aB:1413244800,bB:1417392000,cB:1421107200,dB:1424736000,eB:1428278400,fB:1431475200,gB:1435881600,hB:1439251200,iB:1442880000,jB:1446508800,kB:1450137600,lB:1453852800,mB:1457395200,nB:1461628800,oB:1465257600,pB:1470096000,qB:1474329600,rB:1479168000,sB:1485216000,tB:1488844800,uB:1492560000,vB:1497312000,wB:1502150400,xB:1506556800,yB:1510617600,zB:1516665600,QC:1520985600,"0B":1525824000,RC:1529971200,"1B":1536105600,"2B":1540252800,"3B":1544486400,"4B":1548720000,"5B":1552953600,"6B":1558396800,"7B":1562630400,"8B":1567468800,"9B":1571788800,AC:1575331200,BC:1578355200,CC:1581379200,DC:1583798400,EC:1586304000,FC:1588636800,GC:1591056000,HC:1593475200,Q:1595894400,H:1598313600,R:1600732800,SC:1603152000,S:1605571200,T:1607990400,U:1611619200,V:1614038400,W:1616457600,X:1618790400,Y:1622505600,Z:1626134400,a:1628553600,b:1630972800,c:1633392000,d:1635811200,e:1638835200,f:1641859200,g:1644364800,h:1646697600,i:1649116800,j:1651536000,k:1653955200,l:1656374400,m:1658793600,n:1661212800,o:1663632000,p:1666051200,q:1668470400,r:1670889600,s:1673913600,t:1676332800,u:1678752000,v:1681171200,w:1683590400,x:1686009600,y:1688428800,z:1690848000,AB:1695686400,BB:1698105600,CB:1700524800,DB:1702944000,EB:1705968000,FB:1708387200,GB:1710806400,HB:1713225600,IB:1715644800,JB:1718064000,KB:1720483200,LB:1722902400,MB:1725321600,NB:1727740800,OB:1730160000,PB:1732579200,QB:1736208000,RB:1738627200,SB:1741046400,TB:1743465600,I:1745884800,TC:1748304000,IC:1750723200,UC:1753142400,VC:null,uC:null,vC:null}},D:{A:{"0":0.09648,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,J:0,UB:0,K:0,D:0,E:0,F:0,A:0,B:0,C:0,L:0,M:0,G:0,N:0,O:0,P:0,VB:0,WB:0,XB:0,YB:0,ZB:0,aB:0,bB:0,cB:0,dB:0,eB:0,fB:0,gB:0.00804,hB:0.00804,iB:0.00804,jB:0.00804,kB:0.00804,lB:0.00804,mB:0.01206,nB:0.00804,oB:0.00804,pB:0.0201,qB:0.01608,rB:0.00804,sB:0.00804,tB:0.01206,uB:0.00804,vB:0.00804,wB:0.00804,xB:0.0201,yB:0.00804,zB:0.00804,QC:0.00804,"0B":0.00804,RC:0,"1B":0,"2B":0,"3B":0,"4B":0,"5B":0.02412,"6B":0,"7B":0.00402,"8B":0.01206,"9B":0.01608,AC:0,BC:0,CC:0.00402,DC:0.00804,EC:0.00402,FC:0.00402,GC:0,HC:0.00804,Q:0.07236,H:0.01206,R:0.02412,S:0.04824,T:0,U:0.00804,V:0.01206,W:0.03618,X:0.00804,Y:0.00402,Z:0.00804,a:0.02814,b:0.00804,c:0.00804,d:0.00804,e:0.00402,f:0.00804,g:0.0201,h:0.04422,i:0.01608,j:0.00804,k:0.02412,l:0.0201,m:0.0804,n:0.03618,o:0.03216,p:0.01206,q:0.01608,r:0.03216,s:0.7638,t:0.01608,u:0.02814,v:4.78782,w:0.05226,x:0.04824,y:0.0201,z:0.06834,AB:0.05226,BB:0.04422,CB:0.06834,DB:0.06834,EB:0.07236,FB:0.07236,GB:0.0603,HB:0.41808,IB:0.0603,JB:0.03216,KB:0.08442,LB:0.06834,MB:0.10854,NB:0.49446,OB:0.1407,PB:0.13668,QB:0.1206,RB:0.21306,SB:0.30552,TB:3.23208,I:11.855,TC:0.0201,IC:0.01608,UC:0,VC:0},B:"webkit",C:["","","","","","","","J","UB","K","D","E","F","A","B","C","L","M","G","N","O","P","VB","1","2","3","4","5","6","7","8","9","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","oB","pB","qB","rB","sB","tB","uB","vB","wB","xB","yB","zB","QC","0B","RC","1B","2B","3B","4B","5B","6B","7B","8B","9B","AC","BC","CC","DC","EC","FC","GC","HC","Q","H","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","I","TC","IC","UC","VC"],E:"Chrome",F:{"0":1694476800,"1":1337040000,"2":1340668800,"3":1343692800,"4":1348531200,"5":1352246400,"6":1357862400,"7":1361404800,"8":1364428800,"9":1369094400,J:1264377600,UB:1274745600,K:1283385600,D:1287619200,E:1291248000,F:1296777600,A:1299542400,B:1303862400,C:1307404800,L:1312243200,M:1316131200,G:1316131200,N:1319500800,O:1323734400,P:1328659200,VB:1332892800,WB:1374105600,XB:1376956800,YB:1384214400,ZB:1389657600,aB:1392940800,bB:1397001600,cB:1400544000,dB:1405468800,eB:1409011200,fB:1412640000,gB:1416268800,hB:1421798400,iB:1425513600,jB:1429401600,kB:1432080000,lB:1437523200,mB:1441152000,nB:1444780800,oB:1449014400,pB:1453248000,qB:1456963200,rB:1460592000,sB:1464134400,tB:1469059200,uB:1472601600,vB:1476230400,wB:1480550400,xB:1485302400,yB:1489017600,zB:1492560000,QC:1496707200,"0B":1500940800,RC:1504569600,"1B":1508198400,"2B":1512518400,"3B":1516752000,"4B":1520294400,"5B":1523923200,"6B":1527552000,"7B":1532390400,"8B":1536019200,"9B":1539648000,AC:1543968000,BC:1548720000,CC:1552348800,DC:1555977600,EC:1559606400,FC:1564444800,GC:1568073600,HC:1571702400,Q:1575936000,H:1580860800,R:1586304000,S:1589846400,T:1594684800,U:1598313600,V:1601942400,W:1605571200,X:1611014400,Y:1614556800,Z:1618272000,a:1621987200,b:1626739200,c:1630368000,d:1632268800,e:1634601600,f:1637020800,g:1641340800,h:1643673600,i:1646092800,j:1648512000,k:1650931200,l:1653350400,m:1655769600,n:1659398400,o:1661817600,p:1664236800,q:1666656000,r:1669680000,s:1673308800,t:1675728000,u:1678147200,v:1680566400,w:1682985600,x:1685404800,y:1689724800,z:1692057600,AB:1696896000,BB:1698710400,CB:1701993600,DB:1705968000,EB:1708387200,FB:1710806400,GB:1713225600,HB:1715644800,IB:1718064000,JB:1721174400,KB:1724112000,LB:1726531200,MB:1728950400,NB:1731369600,OB:1736812800,PB:1738627200,QB:1741046400,RB:1743465600,SB:1745884800,TB:1748304000,I:1750723200,TC:1754352000,IC:null,UC:null,VC:null}},E:{A:{J:0,UB:0,K:0,D:0,E:0,F:0,A:0,B:0.00402,C:0,L:0.00804,M:0.01206,G:0,yC:0,WC:0,zC:0,"0C":0,"1C":0,"2C":0,XC:0,JC:0.00402,KC:0.00402,"3C":0.02814,"4C":0.03216,"5C":0.03216,YC:0,ZC:0.00804,LC:0.00804,"6C":0.11658,MC:0.02412,aC:0.01608,bC:0.01206,cC:0.02814,dC:0.01206,eC:0.01608,"7C":0.16482,NC:0.00804,fC:0.11256,gC:0.01206,hC:0.01608,iC:0.02814,jC:0.04422,"8C":0.1608,OC:0.0201,kC:0.03618,lC:0.01608,mC:0.0804,nC:0.0603,oC:1.37484,pC:0.01206,"9C":0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","yC","WC","J","UB","zC","K","0C","D","1C","E","F","2C","A","XC","B","JC","C","KC","L","3C","M","4C","G","5C","YC","ZC","LC","6C","MC","aC","bC","cC","dC","eC","7C","NC","fC","gC","hC","iC","jC","8C","OC","kC","lC","mC","nC","oC","pC","9C",""],E:"Safari",F:{yC:1205798400,WC:1226534400,J:1244419200,UB:1275868800,zC:1311120000,K:1343174400,"0C":1382400000,D:1382400000,"1C":1410998400,E:1413417600,F:1443657600,"2C":1458518400,A:1474329600,XC:1490572800,B:1505779200,JC:1522281600,C:1537142400,KC:1553472000,L:1568851200,"3C":1585008000,M:1600214400,"4C":1619395200,G:1632096000,"5C":1635292800,YC:1639353600,ZC:1647216000,LC:1652745600,"6C":1658275200,MC:1662940800,aC:1666569600,bC:1670889600,cC:1674432000,dC:1679875200,eC:1684368000,"7C":1690156800,NC:1695686400,fC:1698192000,gC:1702252800,hC:1705881600,iC:1709596800,jC:1715558400,"8C":1722211200,OC:1726444800,kC:1730073600,lC:1733875200,mC:1737936000,nC:1743379200,oC:1747008000,pC:null,"9C":null}},F:{A:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,F:0,B:0,C:0,G:0,N:0,O:0,P:0,VB:0,WB:0,XB:0,YB:0,ZB:0,aB:0,bB:0,cB:0,dB:0,eB:0,fB:0,gB:0,hB:0.00402,iB:0,jB:0,kB:0,lB:0,mB:0,nB:0.00804,oB:0,pB:0,qB:0,rB:0,sB:0,tB:0,uB:0,vB:0,wB:0,xB:0,yB:0,zB:0,"0B":0,"1B":0,"2B":0,"3B":0,"4B":0,"5B":0,"6B":0,"7B":0,"8B":0,"9B":0,AC:0,BC:0,CC:0,DC:0,EC:0,FC:0,GC:0,HC:0,Q:0,H:0,R:0,SC:0,S:0,T:0,U:0,V:0,W:0,X:0,Y:0.00402,Z:0.05226,a:0,b:0,c:0,d:0,e:0.02814,f:0,g:0,h:0,i:0,j:0,k:0,l:0,m:0,n:0,o:0,p:0,q:0,r:0,s:0,t:0,u:0,v:0,w:0.00402,x:0,y:0,z:0,AD:0,BD:0,CD:0,DD:0,JC:0,qC:0,ED:0,KC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","F","AD","BD","CD","DD","B","JC","qC","ED","C","KC","G","N","O","P","VB","1","2","3","4","5","6","7","8","9","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","oB","pB","qB","rB","sB","tB","uB","vB","wB","xB","yB","zB","0B","1B","2B","3B","4B","5B","6B","7B","8B","9B","AC","BC","CC","DC","EC","FC","GC","HC","Q","H","R","SC","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","","",""],E:"Opera",F:{"0":1739404800,"1":1393891200,"2":1399334400,"3":1401753600,"4":1405987200,"5":1409616000,"6":1413331200,"7":1417132800,"8":1422316800,"9":1425945600,F:1150761600,AD:1223424000,BD:1251763200,CD:1267488000,DD:1277942400,B:1292457600,JC:1302566400,qC:1309219200,ED:1323129600,C:1323129600,KC:1352073600,G:1372723200,N:1377561600,O:1381104000,P:1386288000,VB:1390867200,WB:1430179200,XB:1433808000,YB:1438646400,ZB:1442448000,aB:1445904000,bB:1449100800,cB:1454371200,dB:1457308800,eB:1462320000,fB:1465344000,gB:1470096000,hB:1474329600,iB:1477267200,jB:1481587200,kB:1486425600,lB:1490054400,mB:1494374400,nB:1498003200,oB:1502236800,pB:1506470400,qB:1510099200,rB:1515024000,sB:1517961600,tB:1521676800,uB:1525910400,vB:1530144000,wB:1534982400,xB:1537833600,yB:1543363200,zB:1548201600,"0B":1554768000,"1B":1561593600,"2B":1566259200,"3B":1570406400,"4B":1573689600,"5B":1578441600,"6B":1583971200,"7B":1587513600,"8B":1592956800,"9B":1595894400,AC:1600128000,BC:1603238400,CC:1613520000,DC:1612224000,EC:1616544000,FC:1619568000,GC:1623715200,HC:1627948800,Q:1631577600,H:1633392000,R:1635984000,SC:1638403200,S:1642550400,T:1644969600,U:1647993600,V:1650412800,W:1652745600,X:1654646400,Y:1657152000,Z:1660780800,a:1663113600,b:1668816000,c:1668643200,d:1671062400,e:1675209600,f:1677024000,g:1679529600,h:1681948800,i:1684195200,j:1687219200,k:1690329600,l:1692748800,m:1696204800,n:1699920000,o:1699920000,p:1702944000,q:1707264000,r:1710115200,s:1711497600,t:1716336000,u:1719273600,v:1721088000,w:1724284800,x:1727222400,y:1732665600,z:1736294400},D:{F:"o",B:"o",C:"o",AD:"o",BD:"o",CD:"o",DD:"o",JC:"o",qC:"o",ED:"o",KC:"o"}},G:{A:{E:0,WC:0,FD:0,rC:0.0013461,GD:0,HD:0.00673049,ID:0.00403829,JD:0,KD:0.0026922,LD:0.0148071,MD:0.0013461,ND:0.0228837,OD:0.200569,PD:0.00942269,QD:0.0026922,RD:0.082112,SD:0,TD:0.0026922,UD:0.0026922,VD:0.013461,WD:0.0578822,XD:0.0309603,YD:0.026922,YC:0.0215376,ZC:0.0242298,LC:0.0282681,ZD:0.371523,MC:0.0498056,aC:0.095573,bC:0.0498056,cC:0.0942269,dC:0.0201915,eC:0.0376907,aD:0.477865,NC:0.0242298,fC:0.0457673,gC:0.0336525,hC:0.0498056,iC:0.095573,jC:0.173647,bD:0.442866,OC:0.111726,kC:0.234221,lC:0.126533,mC:0.46575,nC:0.301526,oC:9.39442,pC:0.0215376},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","WC","FD","rC","GD","HD","ID","E","JD","KD","LD","MD","ND","OD","PD","QD","RD","SD","TD","UD","VD","WD","XD","YD","YC","ZC","LC","ZD","MC","aC","bC","cC","dC","eC","aD","NC","fC","gC","hC","iC","jC","bD","OC","kC","lC","mC","nC","oC","pC","",""],E:"Safari on iOS",F:{WC:1270252800,FD:1283904000,rC:1299628800,GD:1331078400,HD:1359331200,ID:1394409600,E:1410912000,JD:1413763200,KD:1442361600,LD:1458518400,MD:1473724800,ND:1490572800,OD:1505779200,PD:1522281600,QD:1537142400,RD:1553472000,SD:1568851200,TD:1572220800,UD:1580169600,VD:1585008000,WD:1600214400,XD:1619395200,YD:1632096000,YC:1639353600,ZC:1647216000,LC:1652659200,ZD:1658275200,MC:1662940800,aC:1666569600,bC:1670889600,cC:1674432000,dC:1679875200,eC:1684368000,aD:1690156800,NC:1694995200,fC:1698192000,gC:1702252800,hC:1705881600,iC:1709596800,jC:1715558400,bD:1722211200,OC:1726444800,kC:1730073600,lC:1733875200,mC:1737936000,nC:1743379200,oC:1747008000,pC:null}},H:{A:{cD:0.04},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cD","","",""],E:"Opera Mini",F:{cD:1426464000}},I:{A:{PC:0,J:0,I:0.794067,dD:0,eD:0,fD:0,gD:0.000159068,rC:0.000159068,hD:0,iD:0.000636272},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","dD","eD","fD","PC","J","gD","rC","hD","iD","I","","",""],E:"Android Browser",F:{dD:1256515200,eD:1274313600,fD:1291593600,PC:1298332800,J:1318896000,gD:1341792000,rC:1374624000,hD:1386547200,iD:1401667200,I:1750723200}},J:{A:{D:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","A","","",""],E:"Blackberry Browser",F:{D:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,H:0.95866,JC:0,qC:0,KC:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","JC","qC","C","KC","H","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,JC:1314835200,qC:1318291200,C:1330300800,KC:1349740800,H:1709769600},D:{H:"webkit"}},L:{A:{I:43.5564},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","I","","",""],E:"Chrome for Android",F:{I:1750723200}},M:{A:{IC:0.3289},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","IC","","",""],E:"Firefox for Android",F:{IC:1750723200}},N:{A:{A:0,B:0},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{LC:0.81328},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","LC","","",""],E:"UC Browser for Android",F:{LC:1710115200},D:{LC:"webkit"}},P:{A:{"1":0,"2":0.0218021,"3":0.0218021,"4":0.0218021,"5":0.0327031,"6":0.0327031,"7":0.0545052,"8":0.0872083,"9":1.80957,J:0,jD:0,kD:0,lD:0.010901,mD:0,nD:0,XC:0,oD:0,pD:0,qD:0,rD:0,sD:0,MC:0,NC:0,OC:0,tD:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","J","jD","kD","lD","mD","nD","XC","oD","pD","qD","rD","sD","MC","NC","OC","tD","1","2","3","4","5","6","7","8","9","","",""],E:"Samsung Internet",F:{"1":1677369600,"2":1684454400,"3":1689292800,"4":1697587200,"5":1711497600,"6":1715126400,"7":1717718400,"8":1725667200,"9":1746057600,J:1461024000,jD:1481846400,kD:1509408000,lD:1528329600,mD:1546128000,nD:1554163200,XC:1567900800,oD:1582588800,pD:1593475200,qD:1605657600,rD:1618531200,sD:1629072000,MC:1640736000,NC:1651708800,OC:1659657600,tD:1667260800}},Q:{A:{uD:0.18538},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","uD","","",""],E:"QQ Browser",F:{uD:1710288000}},R:{A:{vD:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","vD","","",""],E:"Baidu Browser",F:{vD:1710201600}},S:{A:{wD:0.01196,xD:0},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","wD","xD","","",""],E:"KaiOS Browser",F:{wD:1527811200,xD:1631664000}}}; /***/ }), /***/ "./node_modules/caniuse-lite/data/browserVersions.js": /*!***********************************************************!*\ !*** ./node_modules/caniuse-lite/data/browserVersions.js ***! \***********************************************************/ /***/ ((module) => { module.exports={"0":"117","1":"20","2":"21","3":"22","4":"23","5":"24","6":"25","7":"26","8":"27","9":"28",A:"10",B:"11",C:"12",D:"7",E:"8",F:"9",G:"15",H:"80",I:"138",J:"4",K:"6",L:"13",M:"14",N:"16",O:"17",P:"18",Q:"79",R:"81",S:"83",T:"84",U:"85",V:"86",W:"87",X:"88",Y:"89",Z:"90",a:"91",b:"92",c:"93",d:"94",e:"95",f:"96",g:"97",h:"98",i:"99",j:"100",k:"101",l:"102",m:"103",n:"104",o:"105",p:"106",q:"107",r:"108",s:"109",t:"110",u:"111",v:"112",w:"113",x:"114",y:"115",z:"116",AB:"118",BB:"119",CB:"120",DB:"121",EB:"122",FB:"123",GB:"124",HB:"125",IB:"126",JB:"127",KB:"128",LB:"129",MB:"130",NB:"131",OB:"132",PB:"133",QB:"134",RB:"135",SB:"136",TB:"137",UB:"5",VB:"19",WB:"29",XB:"30",YB:"31",ZB:"32",aB:"33",bB:"34",cB:"35",dB:"36",eB:"37",fB:"38",gB:"39",hB:"40",iB:"41",jB:"42",kB:"43",lB:"44",mB:"45",nB:"46",oB:"47",pB:"48",qB:"49",rB:"50",sB:"51",tB:"52",uB:"53",vB:"54",wB:"55",xB:"56",yB:"57",zB:"58","0B":"60","1B":"62","2B":"63","3B":"64","4B":"65","5B":"66","6B":"67","7B":"68","8B":"69","9B":"70",AC:"71",BC:"72",CC:"73",DC:"74",EC:"75",FC:"76",GC:"77",HC:"78",IC:"140",JC:"11.1",KC:"12.1",LC:"15.5",MC:"16.0",NC:"17.0",OC:"18.0",PC:"3",QC:"59",RC:"61",SC:"82",TC:"139",UC:"141",VC:"142",WC:"3.2",XC:"10.1",YC:"15.2-15.3",ZC:"15.4",aC:"16.1",bC:"16.2",cC:"16.3",dC:"16.4",eC:"16.5",fC:"17.1",gC:"17.2",hC:"17.3",iC:"17.4",jC:"17.5",kC:"18.1",lC:"18.2",mC:"18.3",nC:"18.4",oC:"18.5-18.6",pC:"26.0",qC:"11.5",rC:"4.2-4.3",sC:"5.5",tC:"2",uC:"143",vC:"144",wC:"3.5",xC:"3.6",yC:"3.1",zC:"5.1","0C":"6.1","1C":"7.1","2C":"9.1","3C":"13.1","4C":"14.1","5C":"15.1","6C":"15.6","7C":"16.6","8C":"17.6","9C":"TP",AD:"9.5-9.6",BD:"10.0-10.1",CD:"10.5",DD:"10.6",ED:"11.6",FD:"4.0-4.1",GD:"5.0-5.1",HD:"6.0-6.1",ID:"7.0-7.1",JD:"8.1-8.4",KD:"9.0-9.2",LD:"9.3",MD:"10.0-10.2",ND:"10.3",OD:"11.0-11.2",PD:"11.3-11.4",QD:"12.0-12.1",RD:"12.2-12.5",SD:"13.0-13.1",TD:"13.2",UD:"13.3",VD:"13.4-13.7",WD:"14.0-14.4",XD:"14.5-14.8",YD:"15.0-15.1",ZD:"15.6-15.8",aD:"16.6-16.7",bD:"17.6-17.7",cD:"all",dD:"2.1",eD:"2.2",fD:"2.3",gD:"4.1",hD:"4.4",iD:"4.4.3-4.4.4",jD:"5.0-5.4",kD:"6.2-6.4",lD:"7.2-7.4",mD:"8.2",nD:"9.2",oD:"11.1-11.2",pD:"12.0",qD:"13.0",rD:"14.0",sD:"15.0",tD:"19.0",uD:"14.9",vD:"13.52",wD:"2.5",xD:"3.0-3.1"}; /***/ }), /***/ "./node_modules/caniuse-lite/data/browsers.js": /*!****************************************************!*\ !*** ./node_modules/caniuse-lite/data/browsers.js ***! \****************************************************/ /***/ ((module) => { module.exports={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/background-clip-text.js": /*!*************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/background-clip-text.js ***! \*************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"G N O P","33":"C L M","129":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","161":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},C:{"1":"0 qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB wC xC"},D:{"129":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","161":"0 1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"2":"yC","129":"LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","388":"UB K D E F A B C L M G zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC","420":"J WC"},F:{"2":"F B C AD BD CD DD JC qC ED KC","129":"0 p q r s t u v w x y z","161":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o"},G:{"129":"LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","388":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC"},H:{"2":"cD"},I:{"16":"PC dD eD fD","129":"I","161":"J gD rC hD iD"},J:{"161":"D A"},K:{"16":"A B C JC qC KC","129":"H"},L:{"129":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"161":"LC"},P:{"1":"6 7 8 9","161":"1 2 3 4 5 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"161":"uD"},R:{"161":"vD"},S:{"1":"wD xD"}},B:7,C:"Background-clip: text",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/background-img-opts.js": /*!************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/background-img-opts.js ***! \************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"F A B","2":"K D E sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC wC","36":"xC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","516":"J UB K D E F A B C L M"},E:{"1":"D E F A B C L M G 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","772":"J UB K yC WC zC 0C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z CD DD JC qC ED KC","2":"F AD","36":"BD"},G:{"1":"E ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","4":"WC FD rC HD","516":"GD"},H:{"132":"cD"},I:{"1":"I hD iD","36":"dD","516":"PC J gD rC","548":"eD fD"},J:{"1":"D A"},K:{"1":"A B C H JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS3 Background-image options",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/border-image.js": /*!*****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/border-image.js ***! \*****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"B","2":"K D E F A sC"},B:{"1":"0 M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","129":"C L"},C:{"1":"0 rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC","260":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB","804":"J UB K D E F A B C L M wC xC"},D:{"1":"0 xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","260":"sB tB uB vB wB","388":"XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB","1412":"1 2 3 4 5 6 7 8 9 G N O P VB WB","1956":"J UB K D E F A B C L M"},E:{"1":"ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","129":"A B C L M G 2C XC JC KC 3C 4C 5C YC","1412":"K D E F 0C 1C","1956":"J UB yC WC zC"},F:{"1":"0 kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F AD BD","260":"fB gB hB iB jB","388":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB","1796":"CD DD","1828":"B C JC qC ED KC"},G:{"1":"ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","129":"LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC","1412":"E HD ID JD KD","1956":"WC FD rC GD"},H:{"1828":"cD"},I:{"1":"I","388":"hD iD","1956":"PC J dD eD fD gD rC"},J:{"1412":"A","1924":"D"},K:{"1":"H","2":"A","1828":"B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"B","2":"A"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 lD mD nD XC oD pD qD rD sD MC NC OC tD","260":"jD kD","388":"J"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","260":"wD"}},B:4,C:"CSS3 Border images",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/border-radius.js": /*!******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/border-radius.js ***! \******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"F A B","2":"K D E sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","257":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB","289":"PC wC xC","292":"tC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"J"},E:{"1":"UB D E F A B C L M G 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","33":"J yC WC","129":"K zC 0C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z CD DD JC qC ED KC","2":"F AD BD"},G:{"1":"E FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"WC"},H:{"2":"cD"},I:{"1":"PC J I eD fD gD rC hD iD","33":"dD"},J:{"1":"D A"},K:{"1":"B C H JC qC KC","2":"A"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","257":"wD"}},B:4,C:"CSS3 Border-radius (rounded corners)",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/calc.js": /*!*********************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/calc.js ***! \*********************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E sC","260":"F","516":"A B"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC wC xC","33":"J UB K D E F A B C L M G"},D:{"1":"0 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"J UB K D E F A B C L M G N O P","33":"1 2 3 4 5 6 VB"},E:{"1":"D E F A B C L M G 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB yC WC zC","33":"K"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC"},G:{"1":"E ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD","33":"HD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC","132":"hD iD"},J:{"1":"A","2":"D"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"calc() as CSS unit value",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-animation.js": /*!******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-animation.js ***! \******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"A B","2":"K D E F sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J wC xC","33":"UB K D E F A B C L M G"},D:{"1":"0 kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},E:{"1":"F A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"yC WC","33":"K D E zC 0C 1C","292":"J UB"},F:{"1":"0 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z KC","2":"F B AD BD CD DD JC qC ED","33":"1 2 3 4 5 6 7 8 9 C G N O P VB WB"},G:{"1":"KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"E HD ID JD","164":"WC FD rC GD"},H:{"2":"cD"},I:{"1":"I","33":"J gD rC hD iD","164":"PC dD eD fD"},J:{"33":"D A"},K:{"1":"H KC","2":"A B C JC qC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:5,C:"CSS Animation",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-any-link.js": /*!*****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-any-link.js ***! \*****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","16":"tC","33":"1 2 3 4 5 6 7 8 9 PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB wC xC"},D:{"1":"0 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","16":"J UB K D E F A B C L M","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B"},E:{"1":"F A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","16":"J UB K yC WC zC","33":"D E 0C 1C"},F:{"1":"0 tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB"},G:{"1":"KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","16":"WC FD rC GD","33":"E HD ID JD"},H:{"2":"cD"},I:{"1":"I","16":"PC J dD eD fD gD rC","33":"hD iD"},J:{"16":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 nD XC oD pD qD rD sD MC NC OC tD","16":"J","33":"jD kD lD mD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","33":"wD"}},B:5,C:"CSS :any-link selector",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-appearance.js": /*!*******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-appearance.js ***! \*******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","33":"S","164":"Q H R","388":"C L M G N O P"},C:{"1":"0 H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","164":"cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q","676":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB wC xC"},D:{"1":"0 T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"S","164":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R"},E:{"1":"ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","164":"J UB K D E F A B C L M G yC WC zC 0C 1C 2C XC JC KC 3C 4C 5C YC"},F:{"1":"0 CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","33":"9B AC BC","164":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B"},G:{"1":"ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","164":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC"},H:{"2":"cD"},I:{"1":"I","164":"PC J dD eD fD gD rC hD iD"},J:{"164":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A","388":"B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 rD sD MC NC OC tD","164":"J jD kD lD mD nD XC oD pD qD"},Q:{"164":"uD"},R:{"1":"vD"},S:{"1":"xD","164":"wD"}},B:5,C:"CSS Appearance",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-autofill.js": /*!*****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-autofill.js ***! \*****************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"0 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s"},L:{"1":"I"},B:{"1":"0 t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P","33":"Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s"},C:{"1":"0 V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U wC xC"},M:{"1":"IC"},A:{"2":"K D E F A B sC"},F:{"1":"0 f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e"},K:{"1":"H","2":"A B C JC qC KC"},E:{"1":"G 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC","2":"9C","33":"J UB K D E F A B C L M yC WC zC 0C 1C 2C XC JC KC 3C 4C"},G:{"1":"YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD"},P:{"1":"2 3 4 5 6 7 8 9","33":"1 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},I:{"1":"I","2":"PC J dD eD fD gD rC","33":"hD iD"}},B:6,C:":autofill CSS pseudo-class",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-backdrop-filter.js": /*!************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-backdrop-filter.js ***! \************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N","257":"O P"},C:{"1":"0 m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B wC xC","578":"9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l"},D:{"1":"0 FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","194":"oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC"},E:{"1":"OC kC lC mC nC oC pC 9C","2":"J UB K D E yC WC zC 0C 1C","33":"F A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C"},F:{"1":"0 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB AD BD CD DD JC qC ED KC","194":"bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B"},G:{"1":"OC kC lC mC nC oC pC","2":"E WC FD rC GD HD ID JD","33":"KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 pD qD rD sD MC NC OC tD","2":"J","194":"jD kD lD mD nD XC oD"},Q:{"2":"uD"},R:{"1":"vD"},S:{"2":"wD xD"}},B:7,C:"CSS Backdrop Filter",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js": /*!***************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js ***! \***************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"MB NB OB PB QB RB SB TB I","2":"C L M G N O P","164":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB"},C:{"1":"0 ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB wC xC"},D:{"1":"MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 J UB K D E F A B C L M G N O P VB","164":"0 3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB"},E:{"2":"J UB K yC WC zC","164":"D E F A B C L M G 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C"},F:{"1":"0 z","2":"F AD BD CD DD","129":"B C JC qC ED KC","164":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y"},G:{"2":"WC FD rC GD HD","164":"E ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"132":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC","164":"hD iD"},J:{"2":"D","164":"A"},K:{"2":"A","129":"B C JC qC KC","164":"H"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"164":"LC"},P:{"164":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"164":"uD"},R:{"164":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS box-decoration-break",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-boxshadow.js": /*!******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-boxshadow.js ***! \******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"F A B","2":"K D E sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC","33":"wC xC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"J UB K D E F"},E:{"1":"K D E F A B C L M G zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","33":"UB","164":"J yC WC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z CD DD JC qC ED KC","2":"F AD BD"},G:{"1":"E GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"FD rC","164":"WC"},H:{"2":"cD"},I:{"1":"J I gD rC hD iD","164":"PC dD eD fD"},J:{"1":"A","33":"D"},K:{"1":"B C H JC qC KC","2":"A"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS3 Box-shadow",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-clip-path.js": /*!******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-clip-path.js ***! \******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"2":"C L M G N O","260":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","3138":"P"},C:{"1":"0 vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC","132":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB wC xC","644":"oB pB qB rB sB tB uB"},D:{"2":"1 2 3 4 J UB K D E F A B C L M G N O P VB","260":"0 wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","292":"5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB"},E:{"2":"J UB K yC WC zC 0C","260":"M G 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","292":"D E F A B C L 1C 2C XC JC KC"},F:{"2":"F B C AD BD CD DD JC qC ED KC","260":"0 jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","292":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},G:{"2":"WC FD rC GD HD","260":"SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","292":"E ID JD KD LD MD ND OD PD QD RD"},H:{"2":"cD"},I:{"2":"PC J dD eD fD gD rC","260":"I","292":"hD iD"},J:{"2":"D A"},K:{"2":"A B C JC qC KC","260":"H"},L:{"260":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"260":"LC"},P:{"260":"1 2 3 4 5 6 7 8 9 kD lD mD nD XC oD pD qD rD sD MC NC OC tD","292":"J jD"},Q:{"260":"uD"},R:{"260":"vD"},S:{"1":"xD","644":"wD"}},B:4,C:"CSS clip-path property (for HTML)",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-crisp-edges.js": /*!********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-crisp-edges.js ***! \********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K sC","2340":"D E F A B"},B:{"2":"C L M G N O P","1025":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC wC","513":"4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b","545":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B xC"},D:{"2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB","1025":"0 iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC"},E:{"1":"A B C L M G XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB yC WC zC","164":"K","4644":"D E F 0C 1C 2C"},F:{"2":"1 2 3 4 5 6 7 8 F B G N O P VB AD BD CD DD JC qC","545":"C ED KC","1025":"0 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC","4260":"GD HD","4644":"E ID JD KD LD"},H:{"2":"cD"},I:{"2":"PC J dD eD fD gD rC hD iD","1025":"I"},J:{"2":"D","4260":"A"},K:{"2":"A B JC qC","545":"C KC","1025":"H"},L:{"1025":"I"},M:{"1":"IC"},N:{"2340":"A B"},O:{"1025":"LC"},P:{"1025":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1025":"uD"},R:{"1025":"vD"},S:{"1":"xD","4097":"wD"}},B:4,C:"Crisp edges/pixelated images",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-cross-fade.js": /*!*******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-cross-fade.js ***! \*******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"2":"C L M G N O P","33":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC wC xC"},D:{"2":"J UB K D E F A B C L M G N","33":"0 1 2 3 4 5 6 7 8 9 O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC"},E:{"1":"A B C L M G XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB yC WC","33":"K D E F zC 0C 1C 2C"},F:{"2":"F B C AD BD CD DD JC qC ED KC","33":"0 1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC","33":"E GD HD ID JD KD LD"},H:{"2":"cD"},I:{"2":"PC J dD eD fD gD rC","33":"I hD iD"},J:{"2":"D A"},K:{"2":"A B C JC qC KC","33":"H"},L:{"33":"I"},M:{"2":"IC"},N:{"2":"A B"},O:{"33":"LC"},P:{"33":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"33":"uD"},R:{"33":"vD"},S:{"2":"wD xD"}},B:4,C:"CSS Cross-Fade Function",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-deviceadaptation.js": /*!*************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-deviceadaptation.js ***! \*************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F sC","164":"A B"},B:{"66":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","164":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC wC xC"},D:{"2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB","66":"0 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC"},E:{"2":"J UB K D E F A B C L M G yC WC zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C"},F:{"2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB AD BD CD DD JC qC ED KC","66":"0 hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"2":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"292":"cD"},I:{"2":"PC J I dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"2":"A H","292":"B C JC qC KC"},L:{"2":"I"},M:{"2":"IC"},N:{"164":"A B"},O:{"2":"LC"},P:{"2":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"66":"uD"},R:{"2":"vD"},S:{"2":"wD xD"}},B:5,C:"CSS Device Adaptation",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-element-function.js": /*!*************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-element-function.js ***! \*************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"2":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"33":"0 1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","164":"tC PC wC xC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC"},E:{"2":"J UB K D E F A B C L M G yC WC zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AD BD CD DD JC qC ED KC"},G:{"2":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"2":"cD"},I:{"2":"PC J I dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"2":"A B C H JC qC KC"},L:{"2":"I"},M:{"33":"IC"},N:{"2":"A B"},O:{"2":"LC"},P:{"2":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"2":"uD"},R:{"2":"vD"},S:{"33":"wD xD"}},B:5,C:"CSS element() function",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-featurequeries.js": /*!***********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-featurequeries.js ***! \***********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 tC PC J UB K D E F A B C L M G N O P VB wC xC"},D:{"1":"0 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 J UB K D E F A B C L M G N O P VB"},E:{"1":"F A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K D E yC WC zC 0C 1C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z KC","2":"F B C AD BD CD DD JC qC ED"},G:{"1":"KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"E WC FD rC GD HD ID JD"},H:{"1":"cD"},I:{"1":"I hD iD","2":"PC J dD eD fD gD rC"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS Feature Queries",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-file-selector-button.js": /*!*****************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-file-selector-button.js ***! \*****************************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"0 Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X"},L:{"1":"I"},B:{"1":"0 Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","33":"C L M G N O P Q H R S T U V W X"},C:{"1":"0 SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R wC xC"},M:{"1":"IC"},A:{"2":"K D E F sC","33":"A B"},F:{"1":"0 EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC"},K:{"1":"H","2":"A B C JC qC KC"},E:{"1":"G 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC","2":"9C","33":"J UB K D E F A B C L M yC WC zC 0C 1C 2C XC JC KC 3C"},G:{"1":"XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD"},P:{"1":"1 2 3 4 5 6 7 8 9 sD MC NC OC tD","33":"J jD kD lD mD nD XC oD pD qD rD"},I:{"1":"I","2":"PC J dD eD fD gD rC","33":"hD iD"}},B:6,C:"::file-selector-button CSS pseudo-element",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-filter-function.js": /*!************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-filter-function.js ***! \************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"2":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"2":"0 1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC wC xC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC"},E:{"1":"A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K D E yC WC zC 0C 1C","33":"F"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AD BD CD DD JC qC ED KC"},G:{"1":"MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"E WC FD rC GD HD ID JD","33":"KD LD"},H:{"2":"cD"},I:{"2":"PC J I dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"2":"A B C H JC qC KC"},L:{"2":"I"},M:{"2":"IC"},N:{"2":"A B"},O:{"2":"LC"},P:{"2":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"2":"uD"},R:{"2":"vD"},S:{"2":"wD xD"}},B:5,C:"CSS filter() function",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-filters.js": /*!****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-filters.js ***! \****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","1028":"L M G N O P","1346":"C"},C:{"1":"0 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC wC","196":"bB","516":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB xC"},D:{"1":"0 uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"J UB K D E F A B C L M G N O","33":"1 2 3 4 5 6 7 8 9 P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB"},E:{"1":"A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB yC WC zC","33":"K D E F 0C 1C"},F:{"1":"0 hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB"},G:{"1":"LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD","33":"E HD ID JD KD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC","33":"hD iD"},J:{"2":"D","33":"A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 lD mD nD XC oD pD qD rD sD MC NC OC tD","33":"J jD kD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:5,C:"CSS Filter Effects",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-gradients.js": /*!******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-gradients.js ***! \******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"A B","2":"K D E F sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC wC","260":"1 2 3 4 5 6 7 8 9 N O P VB WB XB YB ZB aB bB cB","292":"J UB K D E F A B C L M G xC"},D:{"1":"0 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"1 2 3 4 5 6 A B C L M G N O P VB","548":"J UB K D E F"},E:{"1":"ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"yC WC","260":"D E F A B C L M G 0C 1C 2C XC JC KC 3C 4C 5C YC","292":"K zC","804":"J UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z KC","2":"F B AD BD CD DD","33":"C ED","164":"JC qC"},G:{"1":"ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","260":"E ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC","292":"GD HD","804":"WC FD rC"},H:{"2":"cD"},I:{"1":"I hD iD","33":"J gD rC","548":"PC dD eD fD"},J:{"1":"A","548":"D"},K:{"1":"H KC","2":"A B","33":"C","164":"JC qC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS Gradients",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-grid.js": /*!*************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-grid.js ***! \*************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E sC","8":"F","292":"A B"},B:{"1":"0 N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","292":"C L M G"},C:{"1":"0 vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB K D E F A B C L M G N O P wC xC","8":"1 2 3 4 5 6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB","584":"hB iB jB kB lB mB nB oB pB qB rB sB","1025":"tB uB"},D:{"1":"0 zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 J UB K D E F A B C L M G N O P VB","8":"6 7 8 9","200":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB","1025":"yB"},E:{"1":"B C L M G XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB yC WC zC","8":"K D E F A 0C 1C 2C"},F:{"1":"0 lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 F B C G N O P VB AD BD CD DD JC qC ED KC","200":"9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB"},G:{"1":"ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD","8":"E HD ID JD KD LD MD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD","8":"rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"292":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"jD","8":"J"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS Grid Layout (level 1)",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-hyphens.js": /*!****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-hyphens.js ***! \****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F sC","33":"A B"},B:{"1":"0 o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","33":"C L M G N O P","132":"Q H R S T U V W","260":"X Y Z a b c d e f g h i j k l m n"},C:{"1":"0 kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB wC xC","33":"1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB"},D:{"1":"0 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB","132":"wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W"},E:{"1":"NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB yC WC","33":"K D E F A B C L M G zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C"},F:{"1":"0 a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB AD BD CD DD JC qC ED KC","132":"jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z"},G:{"1":"NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD","33":"E rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J","132":"jD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS Hyphenation",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-image-set.js": /*!******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-image-set.js ***! \******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P","164":"Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v","2049":"w"},C:{"1":"0 w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U wC xC","66":"V W","2305":"Y Z a b c d e f g h i j k l m n o p q r s t u v","2820":"X"},D:{"1":"0 x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 J UB K D E F A B C L M G N O P VB","164":"2 3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v","2049":"w"},E:{"1":"NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB yC WC zC","132":"A B C L XC JC KC 3C","164":"K D E F 0C 1C 2C","1540":"M G 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C"},F:{"1":"0 j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","164":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h","2049":"i"},G:{"1":"NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD","132":"MD ND OD PD QD RD SD TD UD VD","164":"E HD ID JD KD LD","1540":"WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC","164":"hD iD"},J:{"2":"D","164":"A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"164":"LC"},P:{"1":"4 5 6 7 8 9","164":"1 2 3 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"164":"uD"},R:{"164":"vD"},S:{"2":"wD xD"}},B:5,C:"CSS image-set",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-logical-props.js": /*!**********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-logical-props.js ***! \**********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P","1028":"W X","1540":"Q H R S T U V"},C:{"1":"0 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC","164":"1 2 3 4 5 6 7 8 9 PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB wC xC","1540":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B"},D:{"1":"0 Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","292":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B","1028":"W X","1540":"8B 9B AC BC CC DC EC FC GC HC Q H R S T U V"},E:{"1":"G 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","292":"J UB K D E F A B C yC WC zC 0C 1C 2C XC JC","1540":"L M KC 3C","3076":"4C"},F:{"1":"0 FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","292":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB","1028":"DC EC","1540":"xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC"},G:{"1":"YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","292":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD","1540":"RD SD TD UD VD WD","3076":"XD"},H:{"2":"cD"},I:{"1":"I","292":"PC J dD eD fD gD rC hD iD"},J:{"292":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 sD MC NC OC tD","292":"J jD kD lD mD nD","1540":"XC oD pD qD rD"},Q:{"1540":"uD"},R:{"1":"vD"},S:{"1":"xD","1540":"wD"}},B:5,C:"CSS Logical Properties",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-masks.js": /*!**************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-masks.js ***! \**************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N","164":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB","3138":"O","12292":"P"},C:{"1":"0 uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC","260":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB wC xC"},D:{"1":"CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","164":"0 1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"1":"ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"yC WC","164":"J UB K D E F A B C L M G zC 0C 1C 2C XC JC KC 3C 4C 5C YC"},F:{"1":"0 p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","164":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o"},G:{"1":"ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","164":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC"},H:{"2":"cD"},I:{"1":"I","164":"hD iD","676":"PC J dD eD fD gD rC"},J:{"164":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"164":"LC"},P:{"1":"6 7 8 9","164":"1 2 3 4 5 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"164":"uD"},R:{"164":"vD"},S:{"1":"xD","260":"wD"}},B:4,C:"CSS Masks",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-media-resolution.js": /*!*************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-media-resolution.js ***! \*************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E sC","132":"F A B"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","1028":"C L M G N O P"},C:{"1":"0 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC","260":"J UB K D E F A B C L M G wC xC","1028":"1 2 3 4 5 6 7 8 9 N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC"},D:{"1":"0 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","548":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB","1028":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B"},E:{"1":"MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"yC WC","548":"J UB K D E F A B C L M G zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C"},F:{"1":"0 wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z KC","2":"F","548":"B C AD BD CD DD JC qC ED","1028":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB"},G:{"1":"MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","16":"WC","548":"E FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD"},H:{"132":"cD"},I:{"1":"I","16":"dD eD","548":"PC J fD gD rC","1028":"hD iD"},J:{"548":"D A"},K:{"1":"H KC","548":"A B C JC qC"},L:{"1":"I"},M:{"1":"IC"},N:{"132":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 XC oD pD qD rD sD MC NC OC tD","1028":"J jD kD lD mD nD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"Media Queries: resolution feature",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-overscroll-behavior.js": /*!****************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-overscroll-behavior.js ***! \****************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F sC","132":"A B"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","132":"C L M G N O","516":"P"},C:{"1":"0 QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB wC xC"},D:{"1":"0 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B","260":"2B 3B"},E:{"1":"MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K D E F A B C L M yC WC zC 0C 1C 2C XC JC KC 3C","1090":"G 4C 5C YC ZC LC 6C"},F:{"1":"0 tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB AD BD CD DD JC qC ED KC","260":"rB sB"},G:{"1":"MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD","1090":"XD YD YC ZC LC ZD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"132":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 mD nD XC oD pD qD rD sD MC NC OC tD","2":"J jD kD lD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","2":"wD"}},B:5,C:"CSS overscroll-behavior",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-placeholder-shown.js": /*!**************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-placeholder-shown.js ***! \**************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F sC","292":"A B"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC wC xC","164":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB"},D:{"1":"0 oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB"},E:{"1":"F A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K D E yC WC zC 0C 1C"},F:{"1":"0 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB AD BD CD DD JC qC ED KC"},G:{"1":"KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"E WC FD rC GD HD ID JD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","164":"wD"}},B:5,C:":placeholder-shown CSS pseudo-class",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-placeholder.js": /*!********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-placeholder.js ***! \********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","36":"C L M G N O P"},C:{"1":"0 sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","33":"1 2 3 4 5 6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB","130":"tC PC J UB K D E F A B C L M G N O P wC xC"},D:{"1":"0 yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","36":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB"},E:{"1":"B C L M G XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J yC WC","36":"UB K D E F A zC 0C 1C 2C"},F:{"1":"0 lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","36":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB"},G:{"1":"ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD","36":"E rC GD HD ID JD KD LD MD"},H:{"2":"cD"},I:{"1":"I","36":"PC J dD eD fD gD rC hD iD"},J:{"36":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"36":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 lD mD nD XC oD pD qD rD sD MC NC OC tD","36":"J jD kD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","33":"wD"}},B:5,C:"::placeholder CSS pseudo-element",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-print-color-adjust.js": /*!***************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-print-color-adjust.js ***! \***************************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"SB TB I TC IC UC VC","2":"J UB K D E F A B C L M G N","33":"0 1 2 3 4 5 6 7 8 9 O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},L:{"1":"I"},B:{"1":"SB TB I","2":"C L M G N O P","33":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB"},C:{"1":"0 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB wC xC","33":"pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f"},M:{"1":"IC"},A:{"2":"K D E F A B sC"},F:{"2":"F B C AD BD CD DD JC qC ED KC","33":"0 1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},K:{"2":"A B C JC qC KC","33":"H"},E:{"1":"ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC","2":"J UB yC WC zC 9C","33":"K D E F A B C L M G 0C 1C 2C XC JC KC 3C 4C 5C YC"},G:{"1":"ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD","33":"E HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC"},P:{"33":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},I:{"1":"I","2":"PC J dD eD fD gD rC","33":"hD iD"}},B:6,C:"print-color-adjust property",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-read-only-write.js": /*!************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-read-only-write.js ***! \************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C"},C:{"1":"0 HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","16":"tC","33":"1 2 3 4 5 6 7 8 9 PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC wC xC"},D:{"1":"0 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","16":"J UB K D E F A B C L M","132":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB"},E:{"1":"F A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","16":"yC WC","132":"J UB K D E zC 0C 1C"},F:{"1":"0 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","16":"F B AD BD CD DD JC","132":"1 2 3 C G N O P VB qC ED KC"},G:{"1":"KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","16":"WC FD","132":"E rC GD HD ID JD"},H:{"2":"cD"},I:{"1":"I","16":"dD eD","132":"PC J fD gD rC hD iD"},J:{"1":"A","132":"D"},K:{"1":"H","2":"A B JC","132":"C qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","33":"wD"}},B:1,C:"CSS :read-only and :read-write selectors",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-regions.js": /*!****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-regions.js ***! \****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F sC","420":"A B"},B:{"2":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","420":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC wC xC"},D:{"2":"0 J UB K D E F A B C L M cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","36":"G N O P","66":"1 2 3 4 5 6 7 8 9 VB WB XB YB ZB aB bB"},E:{"2":"J UB K C L M G yC WC zC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","33":"D E F A B 0C 1C 2C XC"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AD BD CD DD JC qC ED KC"},G:{"2":"WC FD rC GD HD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"E ID JD KD LD MD ND OD"},H:{"2":"cD"},I:{"2":"PC J I dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"2":"A B C H JC qC KC"},L:{"2":"I"},M:{"2":"IC"},N:{"420":"A B"},O:{"2":"LC"},P:{"2":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"2":"uD"},R:{"2":"vD"},S:{"2":"wD xD"}},B:5,C:"CSS Regions",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-selection.js": /*!******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-selection.js ***! \******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"F A B","2":"K D E sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","33":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC wC xC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC"},E:{"1":"J UB K D E F A B C L M G yC WC zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AD BD CD DD JC qC ED KC","2":"F"},G:{"2":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"2":"cD"},I:{"1":"I hD iD","2":"PC J dD eD fD gD rC"},J:{"1":"A","2":"D"},K:{"1":"C H qC KC","16":"A B JC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","33":"wD"}},B:5,C:"::selection CSS pseudo-element",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-shapes.js": /*!***************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-shapes.js ***! \***************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB wC xC","322":"sB tB uB vB wB xB yB zB QC 0B RC"},D:{"1":"0 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB","194":"bB cB dB"},E:{"1":"B C L M G XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K D yC WC zC 0C","33":"E F A 1C 2C"},F:{"1":"0 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 F B C G N O P VB AD BD CD DD JC qC ED KC"},G:{"1":"ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD HD ID","33":"E JD KD LD MD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","2":"wD"}},B:4,C:"CSS Shapes Level 1",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-snappoints.js": /*!*******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-snappoints.js ***! \*******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F sC","6308":"A","6436":"B"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","6436":"C L M G N O P"},C:{"1":"0 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB wC xC","2052":"gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B"},D:{"1":"0 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B","8258":"5B 6B 7B"},E:{"1":"B C L M G JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K D E yC WC zC 0C 1C","3108":"F A 2C XC"},F:{"1":"0 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB AD BD CD DD JC qC ED KC","8258":"vB wB xB yB zB 0B 1B 2B"},G:{"1":"OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"E WC FD rC GD HD ID JD","3108":"KD LD MD ND"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 XC oD pD qD rD sD MC NC OC tD","2":"J jD kD lD mD nD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","2052":"wD"}},B:4,C:"CSS Scroll Snap",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-sticky.js": /*!***************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-sticky.js ***! \***************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G","1028":"Q H R S T U V W X Y Z","4100":"N O P"},C:{"1":"0 QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 tC PC J UB K D E F A B C L M G N O P VB wC xC","194":"7 8 9 WB XB YB","516":"ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB"},D:{"1":"0 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 J UB K D E F A B C L M G N O P VB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB","322":"4 5 6 7 8 9 WB XB YB ZB aB bB cB dB tB uB vB wB","1028":"xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z"},E:{"1":"L M G 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K yC WC zC","33":"E F A B C 1C 2C XC JC KC","2084":"D 0C"},F:{"1":"0 HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB AD BD CD DD JC qC ED KC","322":"gB hB iB","1028":"jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC"},G:{"1":"SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD","33":"E JD KD LD MD ND OD PD QD RD","2084":"HD ID"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J jD"},Q:{"1028":"uD"},R:{"1":"vD"},S:{"1":"xD","516":"wD"}},B:5,C:"CSS position:sticky",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-text-align-last.js": /*!************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-text-align-last.js ***! \************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"132":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","4":"C L M G N O P"},C:{"1":"0 qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB K D E F A B wC xC","33":"1 2 3 4 5 6 7 8 9 C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB"},D:{"1":"0 oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB","322":"cB dB eB fB gB hB iB jB kB lB mB nB"},E:{"1":"MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K D E F A B C L M G yC WC zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C"},F:{"1":"0 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 F B C G N O P VB AD BD CD DD JC qC ED KC","578":"3 4 5 6 7 8 9 WB XB YB ZB aB"},G:{"1":"MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"132":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","33":"wD"}},B:4,C:"CSS3 text-align-last",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-text-orientation.js": /*!*************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-text-orientation.js ***! \*************************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB wC xC","194":"fB gB hB"},D:{"1":"0 pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},E:{"1":"M G 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K D E F yC WC zC 0C 1C 2C","16":"A","33":"B C L XC JC KC 3C"},F:{"1":"0 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB AD BD CD DD JC qC ED KC"},G:{"1":"MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"E WC FD rC GD HD ID JD KD LD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:2,C:"CSS text-orientation",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-text-spacing.js": /*!*********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-text-spacing.js ***! \*********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D sC","161":"E F A B"},B:{"2":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","161":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC wC xC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC"},E:{"2":"J UB K D E F A B C L M G yC WC zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AD BD CD DD JC qC ED KC"},G:{"2":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"2":"cD"},I:{"2":"PC J I dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"2":"A B C H JC qC KC"},L:{"2":"I"},M:{"2":"IC"},N:{"16":"A B"},O:{"2":"LC"},P:{"2":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"2":"uD"},R:{"2":"vD"},S:{"2":"wD xD"}},B:5,C:"CSS Text 4 text-spacing",D:false}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-transitions.js": /*!********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-transitions.js ***! \********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"A B","2":"K D E F sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC wC xC","33":"UB K D E F A B C L M G","164":"J"},D:{"1":"0 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"1 2 3 4 5 6 J UB K D E F A B C L M G N O P VB"},E:{"1":"D E F A B C L M G 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","33":"K zC","164":"J UB yC WC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z KC","2":"F AD BD","33":"C","164":"B CD DD JC qC ED"},G:{"1":"E ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"HD","164":"WC FD rC GD"},H:{"2":"cD"},I:{"1":"I hD iD","33":"PC J dD eD fD gD rC"},J:{"1":"A","33":"D"},K:{"1":"H KC","33":"C","164":"A B JC qC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:5,C:"CSS3 Transitions",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-width-stretch.js": /*!**********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-width-stretch.js ***! \**********************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"I TC IC UC VC","2":"1 2 J UB K D E F A B C L M G N O P VB","33":"0 3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},L:{"1":"I"},B:{"1":"I","2":"C L M G N O P","33":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB"},C:{"2":"tC","33":"0 1 2 3 4 5 6 7 8 9 PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC wC xC"},M:{"33":"IC"},A:{"2":"K D E F A B sC"},F:{"2":"F B C AD BD CD DD JC qC ED KC","33":"0 1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},K:{"2":"A B C JC qC KC","33":"H"},E:{"2":"J UB K yC WC zC 0C 9C","33":"D E F A B C L M G 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC"},G:{"2":"WC FD rC GD HD","33":"E ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},P:{"2":"J","33":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},I:{"1":"I","2":"PC J dD eD fD gD rC","33":"hD iD"}},B:6,C:"width: stretch property",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css-writing-mode.js": /*!*********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css-writing-mode.js ***! \*********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"132":"K D E F A B sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB wC xC","322":"dB eB fB gB hB"},D:{"1":"0 pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"J UB K","16":"D","33":"1 2 3 4 5 6 7 8 9 E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},E:{"1":"B C L M G JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J yC WC","16":"UB","33":"K D E F A zC 0C 1C 2C XC"},F:{"1":"0 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB"},G:{"1":"OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","16":"WC FD rC","33":"E GD HD ID JD KD LD MD ND"},H:{"2":"cD"},I:{"1":"I","2":"dD eD fD","33":"PC J gD rC hD iD"},J:{"33":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"36":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD","33":"J"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:2,C:"CSS writing-mode property",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css3-boxsizing.js": /*!*******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css3-boxsizing.js ***! \*******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"E F A B","8":"K D sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","33":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB wC xC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"J UB K D E F"},E:{"1":"K D E F A B C L M G zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","33":"J UB yC WC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AD BD CD DD JC qC ED KC","2":"F"},G:{"1":"E GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"WC FD rC"},H:{"1":"cD"},I:{"1":"J I gD rC hD iD","33":"PC dD eD fD"},J:{"1":"A","33":"D"},K:{"1":"A B C H JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:5,C:"CSS3 Box-sizing",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css3-cursors-grab.js": /*!**********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css3-cursors-grab.js ***! \**********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M"},C:{"1":"0 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","33":"1 2 3 4 5 6 7 tC PC J UB K D E F A B C L M G N O P VB wC xC"},D:{"1":"0 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B"},E:{"1":"B C L M G JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","33":"J UB K D E F A yC WC zC 0C 1C 2C XC"},F:{"1":"0 C wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z ED KC","2":"F B AD BD CD DD JC qC","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB"},G:{"2":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"33":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"2":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"2":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"2":"wD xD"}},B:2,C:"CSS grab & grabbing cursors",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css3-cursors-newer.js": /*!***********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css3-cursors-newer.js ***! \***********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","33":"1 2 3 4 tC PC J UB K D E F A B C L M G N O P VB wC xC"},D:{"1":"0 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB"},E:{"1":"F A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","33":"J UB K D E yC WC zC 0C 1C"},F:{"1":"0 5 6 7 8 9 C WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z ED KC","2":"F B AD BD CD DD JC qC","33":"1 2 3 4 G N O P VB"},G:{"2":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"33":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"2":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"2":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"2":"wD xD"}},B:2,C:"CSS3 Cursors: zoom-in & zoom-out",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/css3-tabsize.js": /*!*****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/css3-tabsize.js ***! \*****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC wC xC","33":"uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z","164":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB"},D:{"1":"0 jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 J UB K D E F A B C L M G N O P VB","132":"2 3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB"},E:{"1":"M G 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K yC WC zC","132":"D E F A B C L 0C 1C 2C XC JC KC"},F:{"1":"0 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F AD BD CD","132":"1 2 3 4 5 6 7 8 9 G N O P VB","164":"B C DD JC qC ED KC"},G:{"1":"VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD HD","132":"E ID JD KD LD MD ND OD PD QD RD SD TD UD"},H:{"164":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC","132":"hD iD"},J:{"132":"D A"},K:{"1":"H","2":"A","164":"B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"164":"wD xD"}},B:4,C:"CSS3 tab-size",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/flexbox.js": /*!************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/flexbox.js ***! \************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F sC","1028":"B","1316":"A"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","164":"1 2 tC PC J UB K D E F A B C L M G N O P VB wC xC","516":"3 4 5 6 7 8"},D:{"1":"0 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"2 3 4 5 6 7 8 9","164":"1 J UB K D E F A B C L M G N O P VB"},E:{"1":"F A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","33":"D E 0C 1C","164":"J UB K yC WC zC"},F:{"1":"0 1 2 3 4 5 6 7 8 9 O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z KC","2":"F B C AD BD CD DD JC qC ED","33":"G N"},G:{"1":"KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"E ID JD","164":"WC FD rC GD HD"},H:{"1":"cD"},I:{"1":"I hD iD","164":"PC J dD eD fD gD rC"},J:{"1":"A","164":"D"},K:{"1":"H KC","2":"A B C JC qC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"B","292":"A"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS Flexible Box Layout Module",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/font-feature.js": /*!*****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/font-feature.js ***! \*****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"A B","2":"K D E F sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC wC xC","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB","164":"J UB K D E F A B C L M"},D:{"1":"0 pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"J UB K D E F A B C L M G","33":"2 3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB","292":"1 N O P VB"},E:{"1":"A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"D E F yC WC 0C 1C","4":"J UB K zC"},F:{"1":"0 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB"},G:{"1":"LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"E ID JD KD","4":"WC FD rC GD HD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC","33":"hD iD"},J:{"2":"D","33":"A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD","33":"J"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:2,C:"CSS font-feature-settings",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/font-kerning.js": /*!*****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/font-kerning.js ***! \*****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 tC PC J UB K D E F A B C L M G N O P VB wC xC","194":"5 6 7 8 9 WB XB YB ZB aB"},D:{"1":"0 aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB","33":"WB XB YB ZB"},E:{"1":"A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K yC WC zC 0C","33":"D E F 1C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C G AD BD CD DD JC qC ED KC","33":"N O P VB"},G:{"1":"QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD HD ID","33":"E JD KD LD MD ND OD PD"},H:{"2":"cD"},I:{"1":"I iD","2":"PC J dD eD fD gD rC","33":"hD"},J:{"2":"D","33":"A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS3 font-kerning",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/fullscreen.js": /*!***************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/fullscreen.js ***! \***************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A sC","548":"B"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","516":"C L M G N O P"},C:{"1":"0 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB K D E F wC xC","676":"1 2 3 4 5 6 7 8 9 A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB","1700":"oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B"},D:{"1":"0 AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"J UB K D E F A B C L M","676":"G N O P VB","804":"1 2 3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B"},E:{"1":"dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB yC WC","548":"ZC LC 6C MC aC bC cC","676":"zC","804":"K D E F A B C L M G 0C 1C 2C XC JC KC 3C 4C 5C YC"},F:{"1":"0 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z KC","2":"F B C AD BD CD DD JC qC ED","804":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B"},G:{"2":"E WC FD rC GD HD ID JD KD LD MD ND OD PD","2052":"QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"2":"cD"},I:{"2":"PC J I dD eD fD gD rC hD iD"},J:{"2":"D","292":"A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A","548":"B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 XC oD pD qD rD sD MC NC OC tD","804":"J jD kD lD mD nD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:1,C:"Fullscreen API",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/intrinsic-width.js": /*!********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/intrinsic-width.js ***! \********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"2":"C L M G N O P","1025":"0 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","1537":"Q H R S T U V W X Y Z a b c"},C:{"2":"tC","932":"1 2 3 4 5 6 7 8 9 PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B wC xC","2308":"0 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC"},D:{"2":"1 2 J UB K D E F A B C L M G N O P VB","545":"3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB","1025":"0 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","1537":"nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c"},E:{"1":"MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K yC WC zC","516":"B C L M G JC KC 3C 4C 5C YC ZC LC 6C","548":"F A 2C XC","676":"D E 0C 1C"},F:{"2":"F B C AD BD CD DD JC qC ED KC","513":"bB","545":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB","1025":"0 e f g h i j k l m n o p q r s t u v w x y z","1537":"aB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d"},G:{"1":"MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD HD","516":"WD XD YD YC ZC LC ZD","548":"KD LD MD ND OD PD QD RD SD TD UD VD","676":"E ID JD"},H:{"2":"cD"},I:{"2":"PC J dD eD fD gD rC","545":"hD iD","1025":"I"},J:{"2":"D","545":"A"},K:{"2":"A B C JC qC KC","1025":"H"},L:{"1025":"I"},M:{"2308":"IC"},N:{"2":"A B"},O:{"1537":"LC"},P:{"545":"J","1025":"1 2 3 4 5 6 7 8 9 NC OC tD","1537":"jD kD lD mD nD XC oD pD qD rD sD MC"},Q:{"1537":"uD"},R:{"1537":"vD"},S:{"932":"wD","2308":"xD"}},B:5,C:"Intrinsic & Extrinsic Sizing",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js": /*!************************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js ***! \************************************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"0 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB","33":"ZB aB bB cB dB"},L:{"1":"I"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","33":"C L M G N O P"},C:{"1":"0 oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB wC xC"},M:{"1":"IC"},A:{"2":"K D E F A sC","33":"B"},F:{"1":"0 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C G N O P AD BD CD DD JC qC ED KC","33":"1 2 3 4 VB"},K:{"1":"H","2":"A B C JC qC KC"},E:{"1":"ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC","2":"J UB K D E F A B C L M G yC WC zC 0C 1C 2C XC JC KC 3C 4C 5C YC 9C"},G:{"1":"ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},I:{"1":"I","2":"PC J dD eD fD gD rC","33":"hD iD"}},B:6,C:"CSS ::backdrop pseudo-element",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js": /*!******************************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js ***! \******************************************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"0 pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},L:{"1":"I"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB K D E F A B C L M G N wC xC","33":"1 2 3 4 5 6 7 8 9 O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB"},M:{"1":"IC"},A:{"2":"K D E F A B sC"},F:{"1":"0 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB AD BD CD DD JC qC ED KC"},K:{"1":"H","2":"A B C JC qC KC"},E:{"1":"B C L M G JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC","2":"J UB K yC WC zC 0C 9C","33":"D E F A 1C 2C XC"},G:{"1":"OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD HD","33":"E ID JD KD LD MD ND"},P:{"1":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"}},B:6,C:"isolate-override from unicode-bidi",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js": /*!*********************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js ***! \*********************************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"0 pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"J UB K D E F A B C L M G","33":"1 2 3 4 5 6 7 8 9 N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},L:{"1":"I"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB K D E F wC xC","33":"1 2 3 4 5 6 7 8 9 A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB"},M:{"1":"IC"},A:{"2":"K D E F A B sC"},F:{"1":"0 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB"},K:{"1":"H","2":"A B C JC qC KC"},E:{"1":"B C L M G JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC","2":"J UB yC WC zC 9C","33":"K D E F A 0C 1C 2C XC"},G:{"1":"OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD","33":"E HD ID JD KD LD MD ND"},P:{"1":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"}},B:6,C:"isolate from unicode-bidi",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js": /*!***********************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js ***! \***********************************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"0 pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB"},L:{"1":"I"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB K D E F wC xC","33":"1 2 3 4 5 6 7 8 9 A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB"},M:{"1":"IC"},A:{"2":"K D E F A B sC"},F:{"1":"0 cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB AD BD CD DD JC qC ED KC"},K:{"1":"H","2":"A B C JC qC KC"},E:{"1":"B C L M G JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC","2":"J UB yC WC zC 9C","33":"K D E F A 0C 1C 2C XC"},G:{"1":"OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD","33":"E HD ID JD KD LD MD ND"},P:{"1":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"}},B:6,C:"plaintext from unicode-bidi",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js": /*!******************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js ***! \******************************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"0 yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB"},L:{"1":"I"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB wC xC","33":"1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB"},M:{"1":"IC"},A:{"2":"K D E F A B sC"},F:{"1":"0 lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB AD BD CD DD JC qC ED KC"},K:{"1":"H","2":"A B C JC qC KC"},E:{"1":"L M G KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC","2":"J UB K D yC WC zC 0C 1C 9C","33":"E F A B C 2C XC JC"},G:{"1":"RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD HD ID","33":"E JD KD LD MD ND OD PD QD"},P:{"1":"1 2 3 4 5 6 7 8 9 lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J jD kD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"}},B:6,C:"text-decoration-color property",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js": /*!*****************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js ***! \*****************************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"0 yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB"},L:{"1":"I"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB wC xC","33":"1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB"},M:{"1":"IC"},A:{"2":"K D E F A B sC"},F:{"1":"0 lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB AD BD CD DD JC qC ED KC"},K:{"1":"H","2":"A B C JC qC KC"},E:{"1":"L M G KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC","2":"J UB K D yC WC zC 0C 1C 9C","33":"E F A B C 2C XC JC"},G:{"1":"RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD HD ID","33":"E JD KD LD MD ND OD PD QD"},P:{"1":"1 2 3 4 5 6 7 8 9 lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J jD kD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"}},B:6,C:"text-decoration-line property",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js": /*!**********************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js ***! \**********************************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"0 yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB"},L:{"1":"I"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB wC xC"},M:{"1":"IC"},A:{"2":"K D E F A B sC"},F:{"1":"0 lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB AD BD CD DD JC qC ED KC"},K:{"1":"H","2":"A B C JC qC KC"},E:{"2":"J UB K D yC WC zC 0C 1C 9C","33":"E F A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC"},G:{"2":"WC FD rC GD HD ID","33":"E JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},P:{"1":"1 2 3 4 5 6 7 8 9 lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J jD kD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"}},B:6,C:"text-decoration shorthand property",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js": /*!******************************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js ***! \******************************************************************************/ /***/ ((module) => { module.exports={A:{D:{"1":"0 yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB"},L:{"1":"I"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P"},C:{"1":"0 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB wC xC","33":"1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB"},M:{"1":"IC"},A:{"2":"K D E F A B sC"},F:{"1":"0 lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB AD BD CD DD JC qC ED KC"},K:{"1":"H","2":"A B C JC qC KC"},E:{"1":"L M G KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC","2":"J UB K D yC WC zC 0C 1C 9C","33":"E F A B C 2C XC JC"},G:{"1":"RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD HD ID","33":"E JD KD LD MD ND OD PD QD"},P:{"1":"1 2 3 4 5 6 7 8 9 lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J jD kD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"}},B:6,C:"text-decoration-style property",D:undefined}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/multicolumn.js": /*!****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/multicolumn.js ***! \****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"A B","2":"K D E F sC"},B:{"1":"C L M G N O P","516":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"132":"tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B","164":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB wC xC","516":"4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a","1028":"0 b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC"},D:{"420":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB","516":"0 rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC"},E:{"1":"A B C L M G XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","132":"F 2C","164":"D E 1C","420":"J UB K yC WC zC 0C"},F:{"1":"C JC qC ED KC","2":"F B AD BD CD DD","420":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB","516":"0 eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","132":"KD LD","164":"E ID JD","420":"WC FD rC GD HD"},H:{"1":"cD"},I:{"420":"PC J dD eD fD gD rC hD iD","516":"I"},J:{"420":"D A"},K:{"1":"C JC qC KC","2":"A B","516":"H"},L:{"516":"I"},M:{"1028":"IC"},N:{"1":"A B"},O:{"516":"LC"},P:{"420":"J","516":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"516":"uD"},R:{"516":"vD"},S:{"164":"wD xD"}},B:4,C:"CSS3 Multiple column layout",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/object-fit.js": /*!***************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/object-fit.js ***! \***************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G","260":"N O P"},C:{"1":"0 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB wC xC"},D:{"1":"0 ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB"},E:{"1":"A B C L M G XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K D yC WC zC 0C","132":"E F 1C 2C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F G N O P AD BD CD","33":"B C DD JC qC ED KC"},G:{"1":"MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD HD ID","132":"E JD KD LD"},H:{"33":"cD"},I:{"1":"I iD","2":"PC J dD eD fD gD rC hD"},J:{"2":"D A"},K:{"1":"H","2":"A","33":"B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS3 object-fit/object-position",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/pointer.js": /*!************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/pointer.js ***! \************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"B","2":"K D E F sC","164":"A"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB wC xC","8":"1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB","328":"iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB"},D:{"1":"0 wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 J UB K D E F A B C L M G N O P VB","8":"3 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB","584":"tB uB vB"},E:{"1":"L M G 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K yC WC zC","8":"D E F A B C 0C 1C 2C XC JC","1096":"KC"},F:{"1":"0 jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","8":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB","584":"gB hB iB"},G:{"1":"TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","8":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD","6148":"SD"},H:{"2":"cD"},I:{"1":"I","8":"PC J dD eD fD gD rC hD iD"},J:{"8":"D A"},K:{"1":"H","2":"A","8":"B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"B","36":"A"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"jD","8":"J"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","328":"wD"}},B:2,C:"Pointer events",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/text-decoration.js": /*!********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/text-decoration.js ***! \********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"2":"C L M G N O P","2052":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"2":"tC PC J UB wC xC","1028":"0 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","1060":"1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB"},D:{"2":"1 2 3 4 5 6 J UB K D E F A B C L M G N O P VB","226":"7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB","2052":"0 yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC"},E:{"2":"J UB K D yC WC zC 0C","772":"L M G KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","804":"E F A B C 2C XC JC","1316":"1C"},F:{"2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB AD BD CD DD JC qC ED KC","226":"cB dB eB fB gB hB iB jB kB","2052":"0 lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"2":"WC FD rC GD HD ID","292":"E JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"2":"A B C JC qC KC","2052":"H"},L:{"2052":"I"},M:{"1028":"IC"},N:{"2":"A B"},O:{"2052":"LC"},P:{"2":"J jD kD","2052":"1 2 3 4 5 6 7 8 9 lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"2052":"uD"},R:{"2052":"vD"},S:{"1028":"wD xD"}},B:4,C:"text-decoration styling",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/text-emphasis.js": /*!******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/text-emphasis.js ***! \******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","2":"C L M G N O P","164":"Q H R S T U V W X Y Z a b c d e f g h"},C:{"1":"0 nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB wC xC","322":"mB"},D:{"1":"0 i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 J UB K D E F A B C L M G N O P VB","164":"6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h"},E:{"1":"E F A B C L M G 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"J UB K yC WC zC","164":"D 0C"},F:{"1":"0 V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","164":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U"},G:{"1":"E ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","2":"WC FD rC GD HD"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC","164":"hD iD"},J:{"2":"D","164":"A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"2":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 OC tD","164":"J jD kD lD mD nD XC oD pD qD rD sD MC NC"},Q:{"164":"uD"},R:{"164":"vD"},S:{"1":"wD xD"}},B:4,C:"text-emphasis styling",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/text-overflow.js": /*!******************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/text-overflow.js ***! \******************************************************************/ /***/ ((module) => { module.exports={A:{A:{"1":"K D E F A B","2":"sC"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","8":"tC PC J UB K wC xC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC"},E:{"1":"J UB K D E F A B C L M G yC WC zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z JC qC ED KC","33":"F AD BD CD DD"},G:{"1":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"1":"cD"},I:{"1":"PC J I dD eD fD gD rC hD iD"},J:{"1":"D A"},K:{"1":"H KC","33":"A B C JC qC"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:2,C:"CSS3 Text-overflow",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/text-size-adjust.js": /*!*********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/text-size-adjust.js ***! \*********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F A B sC"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","33":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC wC xC"},D:{"1":"0 vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"1 2 3 4 5 6 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB","258":"7"},E:{"2":"J UB K D E F A B C L M G yC WC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","258":"zC"},F:{"1":"0 kB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"1 2 3 4 5 6 7 8 9 F B C G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB lB AD BD CD DD JC qC ED KC"},G:{"2":"WC FD rC","33":"E GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"2":"cD"},I:{"1":"I","2":"PC J dD eD fD gD rC hD iD"},J:{"2":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"33":"IC"},N:{"161":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD","2":"J"},Q:{"1":"uD"},R:{"1":"vD"},S:{"2":"wD xD"}},B:7,C:"CSS text-size-adjust",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/transforms2d.js": /*!*****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/transforms2d.js ***! \*****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"sC","8":"K D E","129":"A B","161":"F"},B:{"1":"0 O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","129":"C L M G N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC","33":"J UB K D E F A B C L M G wC xC"},D:{"1":"0 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB"},E:{"1":"F A B C L M G 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","33":"J UB K D E yC WC zC 0C 1C"},F:{"1":"0 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z KC","2":"F AD BD","33":"1 2 3 B C G N O P VB CD DD JC qC ED"},G:{"1":"KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"E WC FD rC GD HD ID JD"},H:{"2":"cD"},I:{"1":"I","33":"PC J dD eD fD gD rC hD iD"},J:{"33":"D A"},K:{"1":"B C H JC qC KC","2":"A"},L:{"1":"I"},M:{"1":"IC"},N:{"1":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:4,C:"CSS3 2D Transforms",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/transforms3d.js": /*!*****************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/transforms3d.js ***! \*****************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F sC","132":"A B"},B:{"1":"0 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","2":"tC PC J UB K D E F wC xC","33":"A B C L M G"},D:{"1":"0 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","2":"J UB K D E F A B","33":"1 2 3 4 5 6 7 8 9 C L M G N O P VB WB XB YB ZB aB bB cB"},E:{"1":"ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C","2":"yC WC","33":"J UB K D E zC 0C 1C","257":"F A B C L M G 2C XC JC KC 3C 4C 5C YC"},F:{"1":"0 4 5 6 7 8 9 WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","33":"1 2 3 G N O P VB"},G:{"1":"ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC","33":"E WC FD rC GD HD ID JD","257":"KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC"},H:{"2":"cD"},I:{"1":"I","2":"dD eD fD","33":"PC J gD rC hD iD"},J:{"33":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"132":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 J jD kD lD mD nD XC oD pD qD rD sD MC NC OC tD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"wD xD"}},B:5,C:"CSS3 3D Transforms",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/data/features/user-select-none.js": /*!*********************************************************************!*\ !*** ./node_modules/caniuse-lite/data/features/user-select-none.js ***! \*********************************************************************/ /***/ ((module) => { module.exports={A:{A:{"2":"K D E F sC","33":"A B"},B:{"1":"0 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I","33":"C L M G N O P"},C:{"1":"0 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC uC vC","33":"1 2 3 4 5 6 7 8 9 tC PC J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B wC xC"},D:{"1":"0 vB wB xB yB zB QC 0B RC 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB I TC IC UC VC","33":"1 2 3 4 5 6 7 8 9 J UB K D E F A B C L M G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB"},E:{"33":"J UB K D E F A B C L M G yC WC zC 0C 1C 2C XC JC KC 3C 4C 5C YC ZC LC 6C MC aC bC cC dC eC 7C NC fC gC hC iC jC 8C OC kC lC mC nC oC pC 9C"},F:{"1":"0 iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC Q H R SC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"F B C AD BD CD DD JC qC ED KC","33":"1 2 3 4 5 6 7 8 9 G N O P VB WB XB YB ZB aB bB cB dB eB fB gB hB"},G:{"33":"E WC FD rC GD HD ID JD KD LD MD ND OD PD QD RD SD TD UD VD WD XD YD YC ZC LC ZD MC aC bC cC dC eC aD NC fC gC hC iC jC bD OC kC lC mC nC oC pC"},H:{"2":"cD"},I:{"1":"I","33":"PC J dD eD fD gD rC hD iD"},J:{"33":"D A"},K:{"1":"H","2":"A B C JC qC KC"},L:{"1":"I"},M:{"1":"IC"},N:{"33":"A B"},O:{"1":"LC"},P:{"1":"1 2 3 4 5 6 7 8 9 kD lD mD nD XC oD pD qD rD sD MC NC OC tD","33":"J jD"},Q:{"1":"uD"},R:{"1":"vD"},S:{"1":"xD","33":"wD"}},B:5,C:"CSS user-select: none",D:true}; /***/ }), /***/ "./node_modules/caniuse-lite/dist/lib/statuses.js": /*!********************************************************!*\ !*** ./node_modules/caniuse-lite/dist/lib/statuses.js ***! \********************************************************/ /***/ ((module) => { module.exports = { 1: 'ls', // WHATWG Living Standard 2: 'rec', // W3C Recommendation 3: 'pr', // W3C Proposed Recommendation 4: 'cr', // W3C Candidate Recommendation 5: 'wd', // W3C Working Draft 6: 'other', // Non-W3C, but reputable 7: 'unoff' // Unofficial, Editor's Draft or W3C "Note" } /***/ }), /***/ "./node_modules/caniuse-lite/dist/lib/supported.js": /*!*********************************************************!*\ !*** ./node_modules/caniuse-lite/dist/lib/supported.js ***! \*********************************************************/ /***/ ((module) => { module.exports = { y: 1 << 0, n: 1 << 1, a: 1 << 2, p: 1 << 3, u: 1 << 4, x: 1 << 5, d: 1 << 6 } /***/ }), /***/ "./node_modules/caniuse-lite/dist/unpacker/agents.js": /*!***********************************************************!*\ !*** ./node_modules/caniuse-lite/dist/unpacker/agents.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; const browsers = (__webpack_require__(/*! ./browsers */ "./node_modules/caniuse-lite/dist/unpacker/browsers.js").browsers) const versions = (__webpack_require__(/*! ./browserVersions */ "./node_modules/caniuse-lite/dist/unpacker/browserVersions.js").browserVersions) const agentsData = __webpack_require__(/*! ../../data/agents */ "./node_modules/caniuse-lite/data/agents.js") function unpackBrowserVersions(versionsData) { return Object.keys(versionsData).reduce((usage, version) => { usage[versions[version]] = versionsData[version] return usage }, {}) } module.exports.agents = Object.keys(agentsData).reduce((map, key) => { let versionsData = agentsData[key] map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => { if (entry === 'A') { data.usage_global = unpackBrowserVersions(versionsData[entry]) } else if (entry === 'C') { data.versions = versionsData[entry].reduce((list, version) => { if (version === '') { list.push(null) } else { list.push(versions[version]) } return list }, []) } else if (entry === 'D') { data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]) } else if (entry === 'E') { data.browser = versionsData[entry] } else if (entry === 'F') { data.release_date = Object.keys(versionsData[entry]).reduce( (map2, key2) => { map2[versions[key2]] = versionsData[entry][key2] return map2 }, {} ) } else { // entry is B data.prefix = versionsData[entry] } return data }, {}) return map }, {}) /***/ }), /***/ "./node_modules/caniuse-lite/dist/unpacker/browserVersions.js": /*!********************************************************************!*\ !*** ./node_modules/caniuse-lite/dist/unpacker/browserVersions.js ***! \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports.browserVersions = __webpack_require__(/*! ../../data/browserVersions */ "./node_modules/caniuse-lite/data/browserVersions.js") /***/ }), /***/ "./node_modules/caniuse-lite/dist/unpacker/browsers.js": /*!*************************************************************!*\ !*** ./node_modules/caniuse-lite/dist/unpacker/browsers.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports.browsers = __webpack_require__(/*! ../../data/browsers */ "./node_modules/caniuse-lite/data/browsers.js") /***/ }), /***/ "./node_modules/caniuse-lite/dist/unpacker/feature.js": /*!************************************************************!*\ !*** ./node_modules/caniuse-lite/dist/unpacker/feature.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; const statuses = __webpack_require__(/*! ../lib/statuses */ "./node_modules/caniuse-lite/dist/lib/statuses.js") const supported = __webpack_require__(/*! ../lib/supported */ "./node_modules/caniuse-lite/dist/lib/supported.js") const browsers = (__webpack_require__(/*! ./browsers */ "./node_modules/caniuse-lite/dist/unpacker/browsers.js").browsers) const versions = (__webpack_require__(/*! ./browserVersions */ "./node_modules/caniuse-lite/dist/unpacker/browserVersions.js").browserVersions) const MATH2LOG = Math.log(2) function unpackSupport(cipher) { // bit flags let stats = Object.keys(supported).reduce((list, support) => { if (cipher & supported[support]) list.push(support) return list }, []) // notes let notes = cipher >> 7 let notesArray = [] while (notes) { let note = Math.floor(Math.log(notes) / MATH2LOG) + 1 notesArray.unshift(`#${note}`) notes -= Math.pow(2, note - 1) } return stats.concat(notesArray).join(' ') } function unpackFeature(packed) { let unpacked = { status: statuses[packed.B], title: packed.C, shown: packed.D } unpacked.stats = Object.keys(packed.A).reduce((browserStats, key) => { let browser = packed.A[key] browserStats[browsers[key]] = Object.keys(browser).reduce( (stats, support) => { let packedVersions = browser[support].split(' ') let unpacked2 = unpackSupport(support) packedVersions.forEach(v => (stats[versions[v]] = unpacked2)) return stats }, {} ) return browserStats }, {}) return unpacked } module.exports = unpackFeature module.exports["default"] = unpackFeature /***/ }), /***/ "./node_modules/cssesc/cssesc.js": /*!***************************************!*\ !*** ./node_modules/cssesc/cssesc.js ***! \***************************************/ /***/ ((module) => { "use strict"; /*! https://mths.be/cssesc v3.0.0 by @mathias */ var object = {}; var hasOwnProperty = object.hasOwnProperty; var merge = function merge(options, defaults) { if (!options) { return defaults; } var result = {}; for (var key in defaults) { // `if (defaults.hasOwnProperty(key) { … }` is not needed here, since // only recognized option names are used. result[key] = hasOwnProperty.call(options, key) ? options[key] : defaults[key]; } return result; }; var regexAnySingleEscape = /[ -,\.\/:-@\[-\^`\{-~]/; var regexSingleEscape = /[ -,\.\/:-@\[\]\^`\{-~]/; var regexAlwaysEscape = /['"\\]/; var regexExcessiveSpaces = /(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g; // https://mathiasbynens.be/notes/css-escapes#css var cssesc = function cssesc(string, options) { options = merge(options, cssesc.options); if (options.quotes != 'single' && options.quotes != 'double') { options.quotes = 'single'; } var quote = options.quotes == 'double' ? '"' : '\''; var isIdentifier = options.isIdentifier; var firstChar = string.charAt(0); var output = ''; var counter = 0; var length = string.length; while (counter < length) { var character = string.charAt(counter++); var codePoint = character.charCodeAt(); var value = void 0; // If it’s not a printable ASCII character… if (codePoint < 0x20 || codePoint > 0x7E) { if (codePoint >= 0xD800 && codePoint <= 0xDBFF && counter < length) { // It’s a high surrogate, and there is a next character. var extra = string.charCodeAt(counter++); if ((extra & 0xFC00) == 0xDC00) { // next character is low surrogate codePoint = ((codePoint & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000; } else { // It’s an unmatched surrogate; only append this code unit, in case // the next code unit is the high surrogate of a surrogate pair. counter--; } } value = '\\' + codePoint.toString(16).toUpperCase() + ' '; } else { if (options.escapeEverything) { if (regexAnySingleEscape.test(character)) { value = '\\' + character; } else { value = '\\' + codePoint.toString(16).toUpperCase() + ' '; } } else if (/[\t\n\f\r\x0B]/.test(character)) { value = '\\' + codePoint.toString(16).toUpperCase() + ' '; } else if (character == '\\' || !isIdentifier && (character == '"' && quote == character || character == '\'' && quote == character) || isIdentifier && regexSingleEscape.test(character)) { value = '\\' + character; } else { value = character; } } output += value; } if (isIdentifier) { if (/^-[-\d]/.test(output)) { output = '\\-' + output.slice(1); } else if (/\d/.test(firstChar)) { output = '\\3' + firstChar + ' ' + output.slice(1); } } // Remove spaces after `\HEX` escapes that are not followed by a hex digit, // since they’re redundant. Note that this is only possible if the escape // sequence isn’t preceded by an odd number of backslashes. output = output.replace(regexExcessiveSpaces, function ($0, $1, $2) { if ($1 && $1.length % 2) { // It’s not safe to remove the space, so don’t. return $0; } // Strip the space. return ($1 || '') + $2; }); if (!isIdentifier && options.wrap) { return quote + output + quote; } return output; }; // Expose default options (so they can be overridden globally). cssesc.options = { 'escapeEverything': false, 'isIdentifier': false, 'quotes': 'single', 'wrap': false }; cssesc.version = '3.0.0'; module.exports = cssesc; /***/ }), /***/ "./node_modules/electron-to-chromium/versions.js": /*!*******************************************************!*\ !*** ./node_modules/electron-to-chromium/versions.js ***! \*******************************************************/ /***/ ((module) => { module.exports = { "0.20": "39", "0.21": "41", "0.22": "41", "0.23": "41", "0.24": "41", "0.25": "42", "0.26": "42", "0.27": "43", "0.28": "43", "0.29": "43", "0.30": "44", "0.31": "45", "0.32": "45", "0.33": "45", "0.34": "45", "0.35": "45", "0.36": "47", "0.37": "49", "1.0": "49", "1.1": "50", "1.2": "51", "1.3": "52", "1.4": "53", "1.5": "54", "1.6": "56", "1.7": "58", "1.8": "59", "2.0": "61", "2.1": "61", "3.0": "66", "3.1": "66", "4.0": "69", "4.1": "69", "4.2": "69", "5.0": "73", "6.0": "76", "6.1": "76", "7.0": "78", "7.1": "78", "7.2": "78", "7.3": "78", "8.0": "80", "8.1": "80", "8.2": "80", "8.3": "80", "8.4": "80", "8.5": "80", "9.0": "83", "9.1": "83", "9.2": "83", "9.3": "83", "9.4": "83", "10.0": "85", "10.1": "85", "10.2": "85", "10.3": "85", "10.4": "85", "11.0": "87", "11.1": "87", "11.2": "87", "11.3": "87", "11.4": "87", "11.5": "87", "12.0": "89", "12.1": "89", "12.2": "89", "13.0": "91", "13.1": "91", "13.2": "91", "13.3": "91", "13.4": "91", "13.5": "91", "13.6": "91", "14.0": "93", "14.1": "93", "14.2": "93", "15.0": "94", "15.1": "94", "15.2": "94", "15.3": "94", "15.4": "94", "15.5": "94", "16.0": "96", "16.1": "96", "16.2": "96", "17.0": "98", "17.1": "98", "17.2": "98", "17.3": "98", "17.4": "98", "18.0": "100", "18.1": "100", "18.2": "100", "18.3": "100", "19.0": "102", "19.1": "102", "20.0": "104", "20.1": "104", "20.2": "104", "20.3": "104", "21.0": "106", "21.1": "106", "21.2": "106", "21.3": "106", "21.4": "106", "22.0": "108", "22.1": "108", "22.2": "108", "22.3": "108", "23.0": "110", "23.1": "110", "23.2": "110", "23.3": "110", "24.0": "112", "24.1": "112", "24.2": "112", "24.3": "112", "24.4": "112", "24.5": "112", "24.6": "112", "24.7": "112", "24.8": "112", "25.0": "114", "25.1": "114", "25.2": "114", "25.3": "114", "25.4": "114", "25.5": "114", "25.6": "114", "25.7": "114", "25.8": "114", "25.9": "114", "26.0": "116", "26.1": "116", "26.2": "116", "26.3": "116", "26.4": "116", "26.5": "116", "26.6": "116", "27.0": "118", "27.1": "118", "27.2": "118", "27.3": "118", "28.0": "120", "28.1": "120", "28.2": "120", "28.3": "120", "29.0": "122", "29.1": "122", "29.2": "122", "29.3": "122", "29.4": "122", "30.0": "124", "30.1": "124", "30.2": "124", "30.3": "124", "30.4": "124", "30.5": "124", "31.0": "126", "31.1": "126", "31.2": "126", "31.3": "126", "31.4": "126", "31.5": "126", "31.6": "126", "31.7": "126", "32.0": "128", "32.1": "128", "32.2": "128", "32.3": "128", "33.0": "130", "33.1": "130", "33.2": "130", "33.3": "130", "33.4": "130", "34.0": "132", "34.1": "132", "34.2": "132", "34.3": "132", "34.4": "132", "34.5": "132", "35.0": "134", "35.1": "134", "35.2": "134", "35.3": "134", "35.4": "134", "35.5": "134", "35.6": "134", "35.7": "134", "36.0": "136", "36.1": "136", "36.2": "136", "36.3": "136", "36.4": "136", "36.5": "136", "36.6": "136", "36.7": "136", "36.8": "136", "37.0": "138", "37.1": "138", "37.2": "138", "37.3": "138", "38.0": "140" }; /***/ }), /***/ "./node_modules/fraction.js/fraction.cjs": /*!***********************************************!*\ !*** ./node_modules/fraction.js/fraction.cjs ***! \***********************************************/ /***/ (function(module, exports) { /** * @license Fraction.js v4.3.7 31/08/2023 * https://www.xarg.org/2014/03/rational-numbers-in-javascript/ * * Copyright (c) 2023, Robert Eisele (robert@raw.org) * Dual licensed under the MIT or GPL Version 2 licenses. **/ /** * * This class offers the possibility to calculate fractions. * You can pass a fraction in different formats. Either as array, as double, as string or as an integer. * * Array/Object form * [ 0 => , 1 => ] * [ n => , d => ] * * Integer form * - Single integer value * * Double form * - Single double value * * String form * 123.456 - a simple double * 123/456 - a string fraction * 123.'456' - a double with repeating decimal places * 123.(456) - synonym * 123.45'6' - a double with repeating last place * 123.45(6) - synonym * * Example: * * var f = new Fraction("9.4'31'"); * f.mul([-4, 3]).div(4.9); * */ (function(root) { "use strict"; // Maximum search depth for cyclic rational numbers. 2000 should be more than enough. // Example: 1/7 = 0.(142857) has 6 repeating decimal places. // If MAX_CYCLE_LEN gets reduced, long cycles will not be detected and toString() only gets the first 10 digits var MAX_CYCLE_LEN = 2000; // Parsed data to avoid calling "new" all the time var P = { "s": 1, "n": 0, "d": 1 }; function assign(n, s) { if (isNaN(n = parseInt(n, 10))) { throw InvalidParameter(); } return n * s; } // Creates a new Fraction internally without the need of the bulky constructor function newFraction(n, d) { if (d === 0) { throw DivisionByZero(); } var f = Object.create(Fraction.prototype); f["s"] = n < 0 ? -1 : 1; n = n < 0 ? -n : n; var a = gcd(n, d); f["n"] = n / a; f["d"] = d / a; return f; } function factorize(num) { var factors = {}; var n = num; var i = 2; var s = 4; while (s <= n) { while (n % i === 0) { n/= i; factors[i] = (factors[i] || 0) + 1; } s+= 1 + 2 * i++; } if (n !== num) { if (n > 1) factors[n] = (factors[n] || 0) + 1; } else { factors[num] = (factors[num] || 0) + 1; } return factors; } var parse = function(p1, p2) { var n = 0, d = 1, s = 1; var v = 0, w = 0, x = 0, y = 1, z = 1; var A = 0, B = 1; var C = 1, D = 1; var N = 10000000; var M; if (p1 === undefined || p1 === null) { /* void */ } else if (p2 !== undefined) { n = p1; d = p2; s = n * d; if (n % 1 !== 0 || d % 1 !== 0) { throw NonIntegerParameter(); } } else switch (typeof p1) { case "object": { if ("d" in p1 && "n" in p1) { n = p1["n"]; d = p1["d"]; if ("s" in p1) n*= p1["s"]; } else if (0 in p1) { n = p1[0]; if (1 in p1) d = p1[1]; } else { throw InvalidParameter(); } s = n * d; break; } case "number": { if (p1 < 0) { s = p1; p1 = -p1; } if (p1 % 1 === 0) { n = p1; } else if (p1 > 0) { // check for != 0, scale would become NaN (log(0)), which converges really slow if (p1 >= 1) { z = Math.pow(10, Math.floor(1 + Math.log(p1) / Math.LN10)); p1/= z; } // Using Farey Sequences // http://www.johndcook.com/blog/2010/10/20/best-rational-approximation/ while (B <= N && D <= N) { M = (A + C) / (B + D); if (p1 === M) { if (B + D <= N) { n = A + C; d = B + D; } else if (D > B) { n = C; d = D; } else { n = A; d = B; } break; } else { if (p1 > M) { A+= C; B+= D; } else { C+= A; D+= B; } if (B > N) { n = C; d = D; } else { n = A; d = B; } } } n*= z; } else if (isNaN(p1) || isNaN(p2)) { d = n = NaN; } break; } case "string": { B = p1.match(/\d+|./g); if (B === null) throw InvalidParameter(); if (B[A] === '-') {// Check for minus sign at the beginning s = -1; A++; } else if (B[A] === '+') {// Check for plus sign at the beginning A++; } if (B.length === A + 1) { // Check if it's just a simple number "1234" w = assign(B[A++], s); } else if (B[A + 1] === '.' || B[A] === '.') { // Check if it's a decimal number if (B[A] !== '.') { // Handle 0.5 and .5 v = assign(B[A++], s); } A++; // Check for decimal places if (A + 1 === B.length || B[A + 1] === '(' && B[A + 3] === ')' || B[A + 1] === "'" && B[A + 3] === "'") { w = assign(B[A], s); y = Math.pow(10, B[A].length); A++; } // Check for repeating places if (B[A] === '(' && B[A + 2] === ')' || B[A] === "'" && B[A + 2] === "'") { x = assign(B[A + 1], s); z = Math.pow(10, B[A + 1].length) - 1; A+= 3; } } else if (B[A + 1] === '/' || B[A + 1] === ':') { // Check for a simple fraction "123/456" or "123:456" w = assign(B[A], s); y = assign(B[A + 2], 1); A+= 3; } else if (B[A + 3] === '/' && B[A + 1] === ' ') { // Check for a complex fraction "123 1/2" v = assign(B[A], s); w = assign(B[A + 2], s); y = assign(B[A + 4], 1); A+= 5; } if (B.length <= A) { // Check for more tokens on the stack d = y * z; s = /* void */ n = x + d * v + z * w; break; } /* Fall through on error */ } default: throw InvalidParameter(); } if (d === 0) { throw DivisionByZero(); } P["s"] = s < 0 ? -1 : 1; P["n"] = Math.abs(n); P["d"] = Math.abs(d); }; function modpow(b, e, m) { var r = 1; for (; e > 0; b = (b * b) % m, e >>= 1) { if (e & 1) { r = (r * b) % m; } } return r; } function cycleLen(n, d) { for (; d % 2 === 0; d/= 2) { } for (; d % 5 === 0; d/= 5) { } if (d === 1) // Catch non-cyclic numbers return 0; // If we would like to compute really large numbers quicker, we could make use of Fermat's little theorem: // 10^(d-1) % d == 1 // However, we don't need such large numbers and MAX_CYCLE_LEN should be the capstone, // as we want to translate the numbers to strings. var rem = 10 % d; var t = 1; for (; rem !== 1; t++) { rem = rem * 10 % d; if (t > MAX_CYCLE_LEN) return 0; // Returning 0 here means that we don't print it as a cyclic number. It's likely that the answer is `d-1` } return t; } function cycleStart(n, d, len) { var rem1 = 1; var rem2 = modpow(10, len, d); for (var t = 0; t < 300; t++) { // s < ~log10(Number.MAX_VALUE) // Solve 10^s == 10^(s+t) (mod d) if (rem1 === rem2) return t; rem1 = rem1 * 10 % d; rem2 = rem2 * 10 % d; } return 0; } function gcd(a, b) { if (!a) return b; if (!b) return a; while (1) { a%= b; if (!a) return b; b%= a; if (!b) return a; } }; /** * Module constructor * * @constructor * @param {number|Fraction=} a * @param {number=} b */ function Fraction(a, b) { parse(a, b); if (this instanceof Fraction) { a = gcd(P["d"], P["n"]); // Abuse variable a this["s"] = P["s"]; this["n"] = P["n"] / a; this["d"] = P["d"] / a; } else { return newFraction(P['s'] * P['n'], P['d']); } } var DivisionByZero = function() { return new Error("Division by Zero"); }; var InvalidParameter = function() { return new Error("Invalid argument"); }; var NonIntegerParameter = function() { return new Error("Parameters must be integer"); }; Fraction.prototype = { "s": 1, "n": 0, "d": 1, /** * Calculates the absolute value * * Ex: new Fraction(-4).abs() => 4 **/ "abs": function() { return newFraction(this["n"], this["d"]); }, /** * Inverts the sign of the current fraction * * Ex: new Fraction(-4).neg() => 4 **/ "neg": function() { return newFraction(-this["s"] * this["n"], this["d"]); }, /** * Adds two rational numbers * * Ex: new Fraction({n: 2, d: 3}).add("14.9") => 467 / 30 **/ "add": function(a, b) { parse(a, b); return newFraction( this["s"] * this["n"] * P["d"] + P["s"] * this["d"] * P["n"], this["d"] * P["d"] ); }, /** * Subtracts two rational numbers * * Ex: new Fraction({n: 2, d: 3}).add("14.9") => -427 / 30 **/ "sub": function(a, b) { parse(a, b); return newFraction( this["s"] * this["n"] * P["d"] - P["s"] * this["d"] * P["n"], this["d"] * P["d"] ); }, /** * Multiplies two rational numbers * * Ex: new Fraction("-17.(345)").mul(3) => 5776 / 111 **/ "mul": function(a, b) { parse(a, b); return newFraction( this["s"] * P["s"] * this["n"] * P["n"], this["d"] * P["d"] ); }, /** * Divides two rational numbers * * Ex: new Fraction("-17.(345)").inverse().div(3) **/ "div": function(a, b) { parse(a, b); return newFraction( this["s"] * P["s"] * this["n"] * P["d"], this["d"] * P["n"] ); }, /** * Clones the actual object * * Ex: new Fraction("-17.(345)").clone() **/ "clone": function() { return newFraction(this['s'] * this['n'], this['d']); }, /** * Calculates the modulo of two rational numbers - a more precise fmod * * Ex: new Fraction('4.(3)').mod([7, 8]) => (13/3) % (7/8) = (5/6) **/ "mod": function(a, b) { if (isNaN(this['n']) || isNaN(this['d'])) { return new Fraction(NaN); } if (a === undefined) { return newFraction(this["s"] * this["n"] % this["d"], 1); } parse(a, b); if (0 === P["n"] && 0 === this["d"]) { throw DivisionByZero(); } /* * First silly attempt, kinda slow * return that["sub"]({ "n": num["n"] * Math.floor((this.n / this.d) / (num.n / num.d)), "d": num["d"], "s": this["s"] });*/ /* * New attempt: a1 / b1 = a2 / b2 * q + r * => b2 * a1 = a2 * b1 * q + b1 * b2 * r * => (b2 * a1 % a2 * b1) / (b1 * b2) */ return newFraction( this["s"] * (P["d"] * this["n"]) % (P["n"] * this["d"]), P["d"] * this["d"] ); }, /** * Calculates the fractional gcd of two rational numbers * * Ex: new Fraction(5,8).gcd(3,7) => 1/56 */ "gcd": function(a, b) { parse(a, b); // gcd(a / b, c / d) = gcd(a, c) / lcm(b, d) return newFraction(gcd(P["n"], this["n"]) * gcd(P["d"], this["d"]), P["d"] * this["d"]); }, /** * Calculates the fractional lcm of two rational numbers * * Ex: new Fraction(5,8).lcm(3,7) => 15 */ "lcm": function(a, b) { parse(a, b); // lcm(a / b, c / d) = lcm(a, c) / gcd(b, d) if (P["n"] === 0 && this["n"] === 0) { return newFraction(0, 1); } return newFraction(P["n"] * this["n"], gcd(P["n"], this["n"]) * gcd(P["d"], this["d"])); }, /** * Calculates the ceil of a rational number * * Ex: new Fraction('4.(3)').ceil() => (5 / 1) **/ "ceil": function(places) { places = Math.pow(10, places || 0); if (isNaN(this["n"]) || isNaN(this["d"])) { return new Fraction(NaN); } return newFraction(Math.ceil(places * this["s"] * this["n"] / this["d"]), places); }, /** * Calculates the floor of a rational number * * Ex: new Fraction('4.(3)').floor() => (4 / 1) **/ "floor": function(places) { places = Math.pow(10, places || 0); if (isNaN(this["n"]) || isNaN(this["d"])) { return new Fraction(NaN); } return newFraction(Math.floor(places * this["s"] * this["n"] / this["d"]), places); }, /** * Rounds a rational numbers * * Ex: new Fraction('4.(3)').round() => (4 / 1) **/ "round": function(places) { places = Math.pow(10, places || 0); if (isNaN(this["n"]) || isNaN(this["d"])) { return new Fraction(NaN); } return newFraction(Math.round(places * this["s"] * this["n"] / this["d"]), places); }, /** * Rounds a rational number to a multiple of another rational number * * Ex: new Fraction('0.9').roundTo("1/8") => 7 / 8 **/ "roundTo": function(a, b) { /* k * x/y ≤ a/b < (k+1) * x/y ⇔ k ≤ a/b / (x/y) < (k+1) ⇔ k = floor(a/b * y/x) */ parse(a, b); return newFraction(this['s'] * Math.round(this['n'] * P['d'] / (this['d'] * P['n'])) * P['n'], P['d']); }, /** * Gets the inverse of the fraction, means numerator and denominator are exchanged * * Ex: new Fraction([-3, 4]).inverse() => -4 / 3 **/ "inverse": function() { return newFraction(this["s"] * this["d"], this["n"]); }, /** * Calculates the fraction to some rational exponent, if possible * * Ex: new Fraction(-1,2).pow(-3) => -8 */ "pow": function(a, b) { parse(a, b); // Trivial case when exp is an integer if (P['d'] === 1) { if (P['s'] < 0) { return newFraction(Math.pow(this['s'] * this["d"], P['n']), Math.pow(this["n"], P['n'])); } else { return newFraction(Math.pow(this['s'] * this["n"], P['n']), Math.pow(this["d"], P['n'])); } } // Negative roots become complex // (-a/b)^(c/d) = x // <=> (-1)^(c/d) * (a/b)^(c/d) = x // <=> (cos(pi) + i*sin(pi))^(c/d) * (a/b)^(c/d) = x # rotate 1 by 180° // <=> (cos(c*pi/d) + i*sin(c*pi/d)) * (a/b)^(c/d) = x # DeMoivre's formula in Q ( https://proofwiki.org/wiki/De_Moivre%27s_Formula/Rational_Index ) // From which follows that only for c=0 the root is non-complex. c/d is a reduced fraction, so that sin(c/dpi)=0 occurs for d=1, which is handled by our trivial case. if (this['s'] < 0) return null; // Now prime factor n and d var N = factorize(this['n']); var D = factorize(this['d']); // Exponentiate and take root for n and d individually var n = 1; var d = 1; for (var k in N) { if (k === '1') continue; if (k === '0') { n = 0; break; } N[k]*= P['n']; if (N[k] % P['d'] === 0) { N[k]/= P['d']; } else return null; n*= Math.pow(k, N[k]); } for (var k in D) { if (k === '1') continue; D[k]*= P['n']; if (D[k] % P['d'] === 0) { D[k]/= P['d']; } else return null; d*= Math.pow(k, D[k]); } if (P['s'] < 0) { return newFraction(d, n); } return newFraction(n, d); }, /** * Check if two rational numbers are the same * * Ex: new Fraction(19.6).equals([98, 5]); **/ "equals": function(a, b) { parse(a, b); return this["s"] * this["n"] * P["d"] === P["s"] * P["n"] * this["d"]; // Same as compare() === 0 }, /** * Check if two rational numbers are the same * * Ex: new Fraction(19.6).equals([98, 5]); **/ "compare": function(a, b) { parse(a, b); var t = (this["s"] * this["n"] * P["d"] - P["s"] * P["n"] * this["d"]); return (0 < t) - (t < 0); }, "simplify": function(eps) { if (isNaN(this['n']) || isNaN(this['d'])) { return this; } eps = eps || 0.001; var thisABS = this['abs'](); var cont = thisABS['toContinued'](); for (var i = 1; i < cont.length; i++) { var s = newFraction(cont[i - 1], 1); for (var k = i - 2; k >= 0; k--) { s = s['inverse']()['add'](cont[k]); } if (Math.abs(s['sub'](thisABS).valueOf()) < eps) { return s['mul'](this['s']); } } return this; }, /** * Check if two rational numbers are divisible * * Ex: new Fraction(19.6).divisible(1.5); */ "divisible": function(a, b) { parse(a, b); return !(!(P["n"] * this["d"]) || ((this["n"] * P["d"]) % (P["n"] * this["d"]))); }, /** * Returns a decimal representation of the fraction * * Ex: new Fraction("100.'91823'").valueOf() => 100.91823918239183 **/ 'valueOf': function() { return this["s"] * this["n"] / this["d"]; }, /** * Returns a string-fraction representation of a Fraction object * * Ex: new Fraction("1.'3'").toFraction(true) => "4 1/3" **/ 'toFraction': function(excludeWhole) { var whole, str = ""; var n = this["n"]; var d = this["d"]; if (this["s"] < 0) { str+= '-'; } if (d === 1) { str+= n; } else { if (excludeWhole && (whole = Math.floor(n / d)) > 0) { str+= whole; str+= " "; n%= d; } str+= n; str+= '/'; str+= d; } return str; }, /** * Returns a latex representation of a Fraction object * * Ex: new Fraction("1.'3'").toLatex() => "\frac{4}{3}" **/ 'toLatex': function(excludeWhole) { var whole, str = ""; var n = this["n"]; var d = this["d"]; if (this["s"] < 0) { str+= '-'; } if (d === 1) { str+= n; } else { if (excludeWhole && (whole = Math.floor(n / d)) > 0) { str+= whole; n%= d; } str+= "\\frac{"; str+= n; str+= '}{'; str+= d; str+= '}'; } return str; }, /** * Returns an array of continued fraction elements * * Ex: new Fraction("7/8").toContinued() => [0,1,7] */ 'toContinued': function() { var t; var a = this['n']; var b = this['d']; var res = []; if (isNaN(a) || isNaN(b)) { return res; } do { res.push(Math.floor(a / b)); t = a % b; a = b; b = t; } while (a !== 1); return res; }, /** * Creates a string representation of a fraction with all digits * * Ex: new Fraction("100.'91823'").toString() => "100.(91823)" **/ 'toString': function(dec) { var N = this["n"]; var D = this["d"]; if (isNaN(N) || isNaN(D)) { return "NaN"; } dec = dec || 15; // 15 = decimal places when no repetation var cycLen = cycleLen(N, D); // Cycle length var cycOff = cycleStart(N, D, cycLen); // Cycle start var str = this['s'] < 0 ? "-" : ""; str+= N / D | 0; N%= D; N*= 10; if (N) str+= "."; if (cycLen) { for (var i = cycOff; i--;) { str+= N / D | 0; N%= D; N*= 10; } str+= "("; for (var i = cycLen; i--;) { str+= N / D | 0; N%= D; N*= 10; } str+= ")"; } else { for (var i = dec; N && i--;) { str+= N / D | 0; N%= D; N*= 10; } } return str; } }; if (true) { Object.defineProperty(exports, "__esModule", ({ 'value': true })); exports["default"] = Fraction; module['exports'] = Fraction; } else // removed by dead control flow {} })(this); /***/ }), /***/ "./node_modules/nanoid/non-secure/index.cjs": /*!**************************************************!*\ !*** ./node_modules/nanoid/non-secure/index.cjs ***! \**************************************************/ /***/ ((module) => { // This alphabet uses `A-Za-z0-9_-` symbols. // The order of characters is optimized for better gzip and brotli compression. // References to the same file (works both for gzip and brotli): // `'use`, `andom`, and `rict'` // References to the brotli default dictionary: // `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf` let urlAlphabet = 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict' let customAlphabet = (alphabet, defaultSize = 21) => { return (size = defaultSize) => { let id = '' // A compact alternative for `for (var i = 0; i < step; i++)`. let i = size | 0 while (i--) { // `| 0` is more compact and faster than `Math.floor()`. id += alphabet[(Math.random() * alphabet.length) | 0] } return id } } let nanoid = (size = 21) => { let id = '' // A compact alternative for `for (var i = 0; i < step; i++)`. let i = size | 0 while (i--) { // `| 0` is more compact and faster than `Math.floor()`. id += urlAlphabet[(Math.random() * 64) | 0] } return id } module.exports = { nanoid, customAlphabet } /***/ }), /***/ "./node_modules/node-releases/data/processed/envs.json": /*!*************************************************************!*\ !*** ./node_modules/node-releases/data/processed/envs.json ***! \*************************************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[{"name":"nodejs","version":"0.2.0","date":"2011-08-26","lts":false,"security":false,"v8":"2.3.8.0"},{"name":"nodejs","version":"0.3.0","date":"2011-08-26","lts":false,"security":false,"v8":"2.5.1.0"},{"name":"nodejs","version":"0.4.0","date":"2011-08-26","lts":false,"security":false,"v8":"3.1.2.0"},{"name":"nodejs","version":"0.5.0","date":"2011-08-26","lts":false,"security":false,"v8":"3.1.8.25"},{"name":"nodejs","version":"0.6.0","date":"2011-11-04","lts":false,"security":false,"v8":"3.6.6.6"},{"name":"nodejs","version":"0.7.0","date":"2012-01-17","lts":false,"security":false,"v8":"3.8.6.0"},{"name":"nodejs","version":"0.8.0","date":"2012-06-22","lts":false,"security":false,"v8":"3.11.10.10"},{"name":"nodejs","version":"0.9.0","date":"2012-07-20","lts":false,"security":false,"v8":"3.11.10.15"},{"name":"nodejs","version":"0.10.0","date":"2013-03-11","lts":false,"security":false,"v8":"3.14.5.8"},{"name":"nodejs","version":"0.11.0","date":"2013-03-28","lts":false,"security":false,"v8":"3.17.13.0"},{"name":"nodejs","version":"0.12.0","date":"2015-02-06","lts":false,"security":false,"v8":"3.28.73.0"},{"name":"nodejs","version":"4.0.0","date":"2015-09-08","lts":false,"security":false,"v8":"4.5.103.30"},{"name":"nodejs","version":"4.1.0","date":"2015-09-17","lts":false,"security":false,"v8":"4.5.103.33"},{"name":"nodejs","version":"4.2.0","date":"2015-10-12","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.3.0","date":"2016-02-09","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.4.0","date":"2016-03-08","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.5.0","date":"2016-08-16","lts":"Argon","security":false,"v8":"4.5.103.37"},{"name":"nodejs","version":"4.6.0","date":"2016-09-27","lts":"Argon","security":true,"v8":"4.5.103.37"},{"name":"nodejs","version":"4.7.0","date":"2016-12-06","lts":"Argon","security":false,"v8":"4.5.103.43"},{"name":"nodejs","version":"4.8.0","date":"2017-02-21","lts":"Argon","security":false,"v8":"4.5.103.45"},{"name":"nodejs","version":"4.9.0","date":"2018-03-28","lts":"Argon","security":true,"v8":"4.5.103.53"},{"name":"nodejs","version":"5.0.0","date":"2015-10-29","lts":false,"security":false,"v8":"4.6.85.28"},{"name":"nodejs","version":"5.1.0","date":"2015-11-17","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.2.0","date":"2015-12-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.3.0","date":"2015-12-15","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.4.0","date":"2016-01-06","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.5.0","date":"2016-01-21","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.6.0","date":"2016-02-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.7.0","date":"2016-02-23","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.8.0","date":"2016-03-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.9.0","date":"2016-03-16","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.10.0","date":"2016-04-01","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.11.0","date":"2016-04-21","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.12.0","date":"2016-06-23","lts":false,"security":false,"v8":"4.6.85.32"},{"name":"nodejs","version":"6.0.0","date":"2016-04-26","lts":false,"security":false,"v8":"5.0.71.35"},{"name":"nodejs","version":"6.1.0","date":"2016-05-05","lts":false,"security":false,"v8":"5.0.71.35"},{"name":"nodejs","version":"6.2.0","date":"2016-05-17","lts":false,"security":false,"v8":"5.0.71.47"},{"name":"nodejs","version":"6.3.0","date":"2016-07-06","lts":false,"security":false,"v8":"5.0.71.52"},{"name":"nodejs","version":"6.4.0","date":"2016-08-12","lts":false,"security":false,"v8":"5.0.71.60"},{"name":"nodejs","version":"6.5.0","date":"2016-08-26","lts":false,"security":false,"v8":"5.1.281.81"},{"name":"nodejs","version":"6.6.0","date":"2016-09-14","lts":false,"security":false,"v8":"5.1.281.83"},{"name":"nodejs","version":"6.7.0","date":"2016-09-27","lts":false,"security":true,"v8":"5.1.281.83"},{"name":"nodejs","version":"6.8.0","date":"2016-10-12","lts":false,"security":false,"v8":"5.1.281.84"},{"name":"nodejs","version":"6.9.0","date":"2016-10-18","lts":"Boron","security":false,"v8":"5.1.281.84"},{"name":"nodejs","version":"6.10.0","date":"2017-02-21","lts":"Boron","security":false,"v8":"5.1.281.93"},{"name":"nodejs","version":"6.11.0","date":"2017-06-06","lts":"Boron","security":false,"v8":"5.1.281.102"},{"name":"nodejs","version":"6.12.0","date":"2017-11-06","lts":"Boron","security":false,"v8":"5.1.281.108"},{"name":"nodejs","version":"6.13.0","date":"2018-02-10","lts":"Boron","security":false,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.14.0","date":"2018-03-28","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.15.0","date":"2018-11-27","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.16.0","date":"2018-12-26","lts":"Boron","security":false,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.17.0","date":"2019-02-28","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"7.0.0","date":"2016-10-25","lts":false,"security":false,"v8":"5.4.500.36"},{"name":"nodejs","version":"7.1.0","date":"2016-11-08","lts":false,"security":false,"v8":"5.4.500.36"},{"name":"nodejs","version":"7.2.0","date":"2016-11-22","lts":false,"security":false,"v8":"5.4.500.43"},{"name":"nodejs","version":"7.3.0","date":"2016-12-20","lts":false,"security":false,"v8":"5.4.500.45"},{"name":"nodejs","version":"7.4.0","date":"2017-01-04","lts":false,"security":false,"v8":"5.4.500.45"},{"name":"nodejs","version":"7.5.0","date":"2017-01-31","lts":false,"security":false,"v8":"5.4.500.48"},{"name":"nodejs","version":"7.6.0","date":"2017-02-21","lts":false,"security":false,"v8":"5.5.372.40"},{"name":"nodejs","version":"7.7.0","date":"2017-02-28","lts":false,"security":false,"v8":"5.5.372.41"},{"name":"nodejs","version":"7.8.0","date":"2017-03-29","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"7.9.0","date":"2017-04-11","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"7.10.0","date":"2017-05-02","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"8.0.0","date":"2017-05-30","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.1.0","date":"2017-06-08","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.2.0","date":"2017-07-19","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.3.0","date":"2017-08-08","lts":false,"security":false,"v8":"6.0.286.52"},{"name":"nodejs","version":"8.4.0","date":"2017-08-15","lts":false,"security":false,"v8":"6.0.286.52"},{"name":"nodejs","version":"8.5.0","date":"2017-09-12","lts":false,"security":false,"v8":"6.0.287.53"},{"name":"nodejs","version":"8.6.0","date":"2017-09-26","lts":false,"security":false,"v8":"6.0.287.53"},{"name":"nodejs","version":"8.7.0","date":"2017-10-11","lts":false,"security":false,"v8":"6.1.534.42"},{"name":"nodejs","version":"8.8.0","date":"2017-10-24","lts":false,"security":false,"v8":"6.1.534.42"},{"name":"nodejs","version":"8.9.0","date":"2017-10-31","lts":"Carbon","security":false,"v8":"6.1.534.46"},{"name":"nodejs","version":"8.10.0","date":"2018-03-06","lts":"Carbon","security":false,"v8":"6.2.414.50"},{"name":"nodejs","version":"8.11.0","date":"2018-03-28","lts":"Carbon","security":true,"v8":"6.2.414.50"},{"name":"nodejs","version":"8.12.0","date":"2018-09-10","lts":"Carbon","security":false,"v8":"6.2.414.66"},{"name":"nodejs","version":"8.13.0","date":"2018-11-20","lts":"Carbon","security":false,"v8":"6.2.414.72"},{"name":"nodejs","version":"8.14.0","date":"2018-11-27","lts":"Carbon","security":true,"v8":"6.2.414.72"},{"name":"nodejs","version":"8.15.0","date":"2018-12-26","lts":"Carbon","security":false,"v8":"6.2.414.75"},{"name":"nodejs","version":"8.16.0","date":"2019-04-16","lts":"Carbon","security":false,"v8":"6.2.414.77"},{"name":"nodejs","version":"8.17.0","date":"2019-12-17","lts":"Carbon","security":true,"v8":"6.2.414.78"},{"name":"nodejs","version":"9.0.0","date":"2017-10-31","lts":false,"security":false,"v8":"6.2.414.32"},{"name":"nodejs","version":"9.1.0","date":"2017-11-07","lts":false,"security":false,"v8":"6.2.414.32"},{"name":"nodejs","version":"9.2.0","date":"2017-11-14","lts":false,"security":false,"v8":"6.2.414.44"},{"name":"nodejs","version":"9.3.0","date":"2017-12-12","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.4.0","date":"2018-01-10","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.5.0","date":"2018-01-31","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.6.0","date":"2018-02-21","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.7.0","date":"2018-03-01","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.8.0","date":"2018-03-07","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.9.0","date":"2018-03-21","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.10.0","date":"2018-03-28","lts":false,"security":true,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.11.0","date":"2018-04-04","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"10.0.0","date":"2018-04-24","lts":false,"security":false,"v8":"6.6.346.24"},{"name":"nodejs","version":"10.1.0","date":"2018-05-08","lts":false,"security":false,"v8":"6.6.346.27"},{"name":"nodejs","version":"10.2.0","date":"2018-05-23","lts":false,"security":false,"v8":"6.6.346.32"},{"name":"nodejs","version":"10.3.0","date":"2018-05-29","lts":false,"security":false,"v8":"6.6.346.32"},{"name":"nodejs","version":"10.4.0","date":"2018-06-06","lts":false,"security":false,"v8":"6.7.288.43"},{"name":"nodejs","version":"10.5.0","date":"2018-06-20","lts":false,"security":false,"v8":"6.7.288.46"},{"name":"nodejs","version":"10.6.0","date":"2018-07-04","lts":false,"security":false,"v8":"6.7.288.46"},{"name":"nodejs","version":"10.7.0","date":"2018-07-18","lts":false,"security":false,"v8":"6.7.288.49"},{"name":"nodejs","version":"10.8.0","date":"2018-08-01","lts":false,"security":false,"v8":"6.7.288.49"},{"name":"nodejs","version":"10.9.0","date":"2018-08-15","lts":false,"security":false,"v8":"6.8.275.24"},{"name":"nodejs","version":"10.10.0","date":"2018-09-06","lts":false,"security":false,"v8":"6.8.275.30"},{"name":"nodejs","version":"10.11.0","date":"2018-09-19","lts":false,"security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.12.0","date":"2018-10-10","lts":false,"security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.13.0","date":"2018-10-30","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.14.0","date":"2018-11-27","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.15.0","date":"2018-12-26","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.16.0","date":"2019-05-28","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.17.0","date":"2019-10-22","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.18.0","date":"2019-12-17","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.19.0","date":"2020-02-05","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.20.0","date":"2020-03-26","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.21.0","date":"2020-06-02","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.22.0","date":"2020-07-21","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.23.0","date":"2020-10-27","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.24.0","date":"2021-02-23","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"11.0.0","date":"2018-10-23","lts":false,"security":false,"v8":"7.0.276.28"},{"name":"nodejs","version":"11.1.0","date":"2018-10-30","lts":false,"security":false,"v8":"7.0.276.32"},{"name":"nodejs","version":"11.2.0","date":"2018-11-15","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.3.0","date":"2018-11-27","lts":false,"security":true,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.4.0","date":"2018-12-07","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.5.0","date":"2018-12-18","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.6.0","date":"2018-12-26","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.7.0","date":"2019-01-17","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.8.0","date":"2019-01-24","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.9.0","date":"2019-01-30","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.10.0","date":"2019-02-14","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.11.0","date":"2019-03-05","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.12.0","date":"2019-03-14","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.13.0","date":"2019-03-28","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.14.0","date":"2019-04-10","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.15.0","date":"2019-04-30","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"12.0.0","date":"2019-04-23","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.1.0","date":"2019-04-29","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.2.0","date":"2019-05-07","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.3.0","date":"2019-05-21","lts":false,"security":false,"v8":"7.4.288.27"},{"name":"nodejs","version":"12.4.0","date":"2019-06-04","lts":false,"security":false,"v8":"7.4.288.27"},{"name":"nodejs","version":"12.5.0","date":"2019-06-26","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.6.0","date":"2019-07-03","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.7.0","date":"2019-07-23","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.8.0","date":"2019-08-06","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.9.0","date":"2019-08-20","lts":false,"security":false,"v8":"7.6.303.29"},{"name":"nodejs","version":"12.10.0","date":"2019-09-04","lts":false,"security":false,"v8":"7.6.303.29"},{"name":"nodejs","version":"12.11.0","date":"2019-09-25","lts":false,"security":false,"v8":"7.7.299.11"},{"name":"nodejs","version":"12.12.0","date":"2019-10-11","lts":false,"security":false,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.13.0","date":"2019-10-21","lts":"Erbium","security":false,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.14.0","date":"2019-12-17","lts":"Erbium","security":true,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.15.0","date":"2020-02-05","lts":"Erbium","security":true,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.16.0","date":"2020-02-11","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.17.0","date":"2020-05-26","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.18.0","date":"2020-06-02","lts":"Erbium","security":true,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.19.0","date":"2020-10-06","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.20.0","date":"2020-11-24","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.21.0","date":"2021-02-23","lts":"Erbium","security":true,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.22.0","date":"2021-03-30","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"13.0.0","date":"2019-10-22","lts":false,"security":false,"v8":"7.8.279.17"},{"name":"nodejs","version":"13.1.0","date":"2019-11-05","lts":false,"security":false,"v8":"7.8.279.17"},{"name":"nodejs","version":"13.2.0","date":"2019-11-21","lts":false,"security":false,"v8":"7.9.317.23"},{"name":"nodejs","version":"13.3.0","date":"2019-12-03","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.4.0","date":"2019-12-17","lts":false,"security":true,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.5.0","date":"2019-12-18","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.6.0","date":"2020-01-07","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.7.0","date":"2020-01-21","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.8.0","date":"2020-02-05","lts":false,"security":true,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.9.0","date":"2020-02-18","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.10.0","date":"2020-03-04","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.11.0","date":"2020-03-12","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.12.0","date":"2020-03-26","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.13.0","date":"2020-04-14","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.14.0","date":"2020-04-29","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"14.0.0","date":"2020-04-21","lts":false,"security":false,"v8":"8.1.307.30"},{"name":"nodejs","version":"14.1.0","date":"2020-04-29","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.2.0","date":"2020-05-05","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.3.0","date":"2020-05-19","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.4.0","date":"2020-06-02","lts":false,"security":true,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.5.0","date":"2020-06-30","lts":false,"security":false,"v8":"8.3.110.9"},{"name":"nodejs","version":"14.6.0","date":"2020-07-20","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.7.0","date":"2020-07-29","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.8.0","date":"2020-08-11","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.9.0","date":"2020-08-27","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.10.0","date":"2020-09-08","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.11.0","date":"2020-09-15","lts":false,"security":true,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.12.0","date":"2020-09-22","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.13.0","date":"2020-09-29","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.14.0","date":"2020-10-15","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.15.0","date":"2020-10-27","lts":"Fermium","security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.16.0","date":"2021-02-23","lts":"Fermium","security":true,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.17.0","date":"2021-05-11","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.18.0","date":"2021-09-28","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.19.0","date":"2022-02-01","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.20.0","date":"2022-07-07","lts":"Fermium","security":true,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.21.0","date":"2022-11-01","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"15.0.0","date":"2020-10-20","lts":false,"security":false,"v8":"8.6.395.16"},{"name":"nodejs","version":"15.1.0","date":"2020-11-04","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.2.0","date":"2020-11-10","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.3.0","date":"2020-11-24","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.4.0","date":"2020-12-09","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.5.0","date":"2020-12-22","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.6.0","date":"2021-01-14","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.7.0","date":"2021-01-25","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.8.0","date":"2021-02-02","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.9.0","date":"2021-02-18","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.10.0","date":"2021-02-23","lts":false,"security":true,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.11.0","date":"2021-03-03","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.12.0","date":"2021-03-17","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.13.0","date":"2021-03-31","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.14.0","date":"2021-04-06","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"16.0.0","date":"2021-04-20","lts":false,"security":false,"v8":"9.0.257.17"},{"name":"nodejs","version":"16.1.0","date":"2021-05-04","lts":false,"security":false,"v8":"9.0.257.24"},{"name":"nodejs","version":"16.2.0","date":"2021-05-19","lts":false,"security":false,"v8":"9.0.257.25"},{"name":"nodejs","version":"16.3.0","date":"2021-06-03","lts":false,"security":false,"v8":"9.0.257.25"},{"name":"nodejs","version":"16.4.0","date":"2021-06-23","lts":false,"security":false,"v8":"9.1.269.36"},{"name":"nodejs","version":"16.5.0","date":"2021-07-14","lts":false,"security":false,"v8":"9.1.269.38"},{"name":"nodejs","version":"16.6.0","date":"2021-07-29","lts":false,"security":true,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.7.0","date":"2021-08-18","lts":false,"security":false,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.8.0","date":"2021-08-25","lts":false,"security":false,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.9.0","date":"2021-09-07","lts":false,"security":false,"v8":"9.3.345.16"},{"name":"nodejs","version":"16.10.0","date":"2021-09-22","lts":false,"security":false,"v8":"9.3.345.19"},{"name":"nodejs","version":"16.11.0","date":"2021-10-08","lts":false,"security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.12.0","date":"2021-10-20","lts":false,"security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.13.0","date":"2021-10-26","lts":"Gallium","security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.14.0","date":"2022-02-08","lts":"Gallium","security":false,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.15.0","date":"2022-04-26","lts":"Gallium","security":false,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.16.0","date":"2022-07-07","lts":"Gallium","security":true,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.17.0","date":"2022-08-16","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.18.0","date":"2022-10-12","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.19.0","date":"2022-12-13","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.20.0","date":"2023-03-28","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"17.0.0","date":"2021-10-19","lts":false,"security":false,"v8":"9.5.172.21"},{"name":"nodejs","version":"17.1.0","date":"2021-11-09","lts":false,"security":false,"v8":"9.5.172.25"},{"name":"nodejs","version":"17.2.0","date":"2021-11-30","lts":false,"security":false,"v8":"9.6.180.14"},{"name":"nodejs","version":"17.3.0","date":"2021-12-17","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.4.0","date":"2022-01-18","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.5.0","date":"2022-02-10","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.6.0","date":"2022-02-22","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.7.0","date":"2022-03-09","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.8.0","date":"2022-03-22","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.9.0","date":"2022-04-07","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"18.0.0","date":"2022-04-18","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.1.0","date":"2022-05-03","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.2.0","date":"2022-05-17","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.3.0","date":"2022-06-02","lts":false,"security":false,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.4.0","date":"2022-06-16","lts":false,"security":false,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.5.0","date":"2022-07-06","lts":false,"security":true,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.6.0","date":"2022-07-13","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.7.0","date":"2022-07-26","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.8.0","date":"2022-08-24","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.9.0","date":"2022-09-07","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.10.0","date":"2022-09-28","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.11.0","date":"2022-10-13","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.12.0","date":"2022-10-25","lts":"Hydrogen","security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.13.0","date":"2023-01-05","lts":"Hydrogen","security":false,"v8":"10.2.154.23"},{"name":"nodejs","version":"18.14.0","date":"2023-02-01","lts":"Hydrogen","security":false,"v8":"10.2.154.23"},{"name":"nodejs","version":"18.15.0","date":"2023-03-05","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.16.0","date":"2023-04-12","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.17.0","date":"2023-07-18","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.18.0","date":"2023-09-18","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.19.0","date":"2023-11-29","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.20.0","date":"2024-03-26","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"19.0.0","date":"2022-10-17","lts":false,"security":false,"v8":"10.7.193.13"},{"name":"nodejs","version":"19.1.0","date":"2022-11-14","lts":false,"security":false,"v8":"10.7.193.20"},{"name":"nodejs","version":"19.2.0","date":"2022-11-29","lts":false,"security":false,"v8":"10.8.168.20"},{"name":"nodejs","version":"19.3.0","date":"2022-12-14","lts":false,"security":false,"v8":"10.8.168.21"},{"name":"nodejs","version":"19.4.0","date":"2023-01-05","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.5.0","date":"2023-01-24","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.6.0","date":"2023-02-01","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.7.0","date":"2023-02-21","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.8.0","date":"2023-03-14","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.9.0","date":"2023-04-10","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"20.0.0","date":"2023-04-17","lts":false,"security":false,"v8":"11.3.244.4"},{"name":"nodejs","version":"20.1.0","date":"2023-05-03","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.2.0","date":"2023-05-16","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.3.0","date":"2023-06-08","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.4.0","date":"2023-07-04","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.5.0","date":"2023-07-19","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.6.0","date":"2023-08-23","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.7.0","date":"2023-09-18","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.8.0","date":"2023-09-28","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.9.0","date":"2023-10-24","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.10.0","date":"2023-11-22","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.11.0","date":"2024-01-09","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.12.0","date":"2024-03-26","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.13.0","date":"2024-05-07","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.14.0","date":"2024-05-28","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.15.0","date":"2024-06-20","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.16.0","date":"2024-07-24","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.17.0","date":"2024-08-21","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.18.0","date":"2024-10-03","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"21.0.0","date":"2023-10-17","lts":false,"security":false,"v8":"11.8.172.13"},{"name":"nodejs","version":"21.1.0","date":"2023-10-24","lts":false,"security":false,"v8":"11.8.172.15"},{"name":"nodejs","version":"21.2.0","date":"2023-11-14","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.3.0","date":"2023-11-30","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.4.0","date":"2023-12-05","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.5.0","date":"2023-12-19","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.6.0","date":"2024-01-14","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.7.0","date":"2024-03-06","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"22.0.0","date":"2024-04-24","lts":false,"security":false,"v8":"12.4.254.14"},{"name":"nodejs","version":"22.1.0","date":"2024-05-02","lts":false,"security":false,"v8":"12.4.254.14"},{"name":"nodejs","version":"22.2.0","date":"2024-05-15","lts":false,"security":false,"v8":"12.4.254.14"},{"name":"nodejs","version":"22.3.0","date":"2024-06-11","lts":false,"security":false,"v8":"12.4.254.20"},{"name":"nodejs","version":"22.4.0","date":"2024-07-02","lts":false,"security":false,"v8":"12.4.254.21"},{"name":"nodejs","version":"22.5.0","date":"2024-07-17","lts":false,"security":false,"v8":"12.4.254.21"},{"name":"nodejs","version":"22.6.0","date":"2024-08-06","lts":false,"security":false,"v8":"12.4.254.21"},{"name":"nodejs","version":"22.7.0","date":"2024-08-21","lts":false,"security":false,"v8":"12.4.254.21"},{"name":"nodejs","version":"22.8.0","date":"2024-09-03","lts":false,"security":false,"v8":"12.4.254.21"},{"name":"nodejs","version":"22.9.0","date":"2024-09-17","lts":false,"security":false,"v8":"12.4.254.21"},{"name":"nodejs","version":"22.10.0","date":"2024-10-16","lts":false,"security":false,"v8":"12.4.254.21"},{"name":"nodejs","version":"22.11.0","date":"2024-10-29","lts":"Jod","security":false,"v8":"12.4.254.21"},{"name":"nodejs","version":"22.12.0","date":"2024-12-02","lts":"Jod","security":false,"v8":"12.4.254.21"},{"name":"nodejs","version":"23.0.0","date":"2024-10-16","lts":false,"security":false,"v8":"12.9.202.26"},{"name":"nodejs","version":"23.1.0","date":"2024-10-24","lts":false,"security":false,"v8":"12.9.202.28"},{"name":"nodejs","version":"23.2.0","date":"2024-11-11","lts":false,"security":false,"v8":"12.9.202.28"},{"name":"nodejs","version":"23.3.0","date":"2024-11-20","lts":false,"security":false,"v8":"12.9.202.28"}]'); /***/ }), /***/ "./node_modules/node-releases/data/release-schedule/release-schedule.json": /*!********************************************************************************!*\ !*** ./node_modules/node-releases/data/release-schedule/release-schedule.json ***! \********************************************************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('{"v0.8":{"start":"2012-06-25","end":"2014-07-31"},"v0.10":{"start":"2013-03-11","end":"2016-10-31"},"v0.12":{"start":"2015-02-06","end":"2016-12-31"},"v4":{"start":"2015-09-08","lts":"2015-10-12","maintenance":"2017-04-01","end":"2018-04-30","codename":"Argon"},"v5":{"start":"2015-10-29","maintenance":"2016-04-30","end":"2016-06-30"},"v6":{"start":"2016-04-26","lts":"2016-10-18","maintenance":"2018-04-30","end":"2019-04-30","codename":"Boron"},"v7":{"start":"2016-10-25","maintenance":"2017-04-30","end":"2017-06-30"},"v8":{"start":"2017-05-30","lts":"2017-10-31","maintenance":"2019-01-01","end":"2019-12-31","codename":"Carbon"},"v9":{"start":"2017-10-01","maintenance":"2018-04-01","end":"2018-06-30"},"v10":{"start":"2018-04-24","lts":"2018-10-30","maintenance":"2020-05-19","end":"2021-04-30","codename":"Dubnium"},"v11":{"start":"2018-10-23","maintenance":"2019-04-22","end":"2019-06-01"},"v12":{"start":"2019-04-23","lts":"2019-10-21","maintenance":"2020-11-30","end":"2022-04-30","codename":"Erbium"},"v13":{"start":"2019-10-22","maintenance":"2020-04-01","end":"2020-06-01"},"v14":{"start":"2020-04-21","lts":"2020-10-27","maintenance":"2021-10-19","end":"2023-04-30","codename":"Fermium"},"v15":{"start":"2020-10-20","maintenance":"2021-04-01","end":"2021-06-01"},"v16":{"start":"2021-04-20","lts":"2021-10-26","maintenance":"2022-10-18","end":"2023-09-11","codename":"Gallium"},"v17":{"start":"2021-10-19","maintenance":"2022-04-01","end":"2022-06-01"},"v18":{"start":"2022-04-19","lts":"2022-10-25","maintenance":"2023-10-18","end":"2025-04-30","codename":"Hydrogen"},"v19":{"start":"2022-10-18","maintenance":"2023-04-01","end":"2023-06-01"},"v20":{"start":"2023-04-18","lts":"2023-10-24","maintenance":"2024-10-22","end":"2026-04-30","codename":"Iron"},"v21":{"start":"2023-10-17","maintenance":"2024-04-01","end":"2024-06-01"},"v22":{"start":"2024-04-24","lts":"2024-10-29","maintenance":"2025-10-21","end":"2027-04-30","codename":"Jod"},"v23":{"start":"2024-10-16","maintenance":"2025-04-01","end":"2025-06-01"},"v24":{"start":"2025-04-22","lts":"2025-10-28","maintenance":"2026-10-20","end":"2028-04-30","codename":""}}'); /***/ }), /***/ "./node_modules/normalize-range/index.js": /*!***********************************************!*\ !*** ./node_modules/normalize-range/index.js ***! \***********************************************/ /***/ ((module) => { "use strict"; module.exports = { wrap: wrapRange, limit: limitRange, validate: validateRange, test: testRange, curry: curry, name: name }; function wrapRange(min, max, value) { var maxLessMin = max - min; return ((value - min) % maxLessMin + maxLessMin) % maxLessMin + min; } function limitRange(min, max, value) { return Math.max(min, Math.min(max, value)); } function validateRange(min, max, value, minExclusive, maxExclusive) { if (!testRange(min, max, value, minExclusive, maxExclusive)) { throw new Error(value + ' is outside of range [' + min + ',' + max + ')'); } return value; } function testRange(min, max, value, minExclusive, maxExclusive) { return !( value < min || value > max || (maxExclusive && (value === max)) || (minExclusive && (value === min)) ); } function name(min, max, minExcl, maxExcl) { return (minExcl ? '(' : '[') + min + ',' + max + (maxExcl ? ')' : ']'); } function curry(min, max, minExclusive, maxExclusive) { var boundNameFn = name.bind(null, min, max, minExclusive, maxExclusive); return { wrap: wrapRange.bind(null, min, max), limit: limitRange.bind(null, min, max), validate: function(value) { return validateRange(min, max, value, minExclusive, maxExclusive); }, test: function(value) { return testRange(min, max, value, minExclusive, maxExclusive); }, toString: boundNameFn, name: boundNameFn }; } /***/ }), /***/ "./node_modules/picocolors/picocolors.browser.js": /*!*******************************************************!*\ !*** ./node_modules/picocolors/picocolors.browser.js ***! \*******************************************************/ /***/ ((module) => { var x=String; var create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x,blackBright:x,redBright:x,greenBright:x,yellowBright:x,blueBright:x,magentaBright:x,cyanBright:x,whiteBright:x,bgBlackBright:x,bgRedBright:x,bgGreenBright:x,bgYellowBright:x,bgBlueBright:x,bgMagentaBright:x,bgCyanBright:x,bgWhiteBright:x}}; module.exports=create(); module.exports.createColors = create; /***/ }), /***/ "./node_modules/postcss-nested/index.js": /*!**********************************************!*\ !*** ./node_modules/postcss-nested/index.js ***! \**********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { const { AtRule, Rule } = __webpack_require__(/*! postcss */ "./node_modules/postcss/lib/postcss.js") let parser = __webpack_require__(/*! postcss-selector-parser */ "./node_modules/postcss-selector-parser/dist/index.js") /** * Run a selector string through postcss-selector-parser */ function parse(rawSelector, rule) { let nodes try { parser(parsed => { nodes = parsed }).processSync(rawSelector) } catch (e) { if (rawSelector.includes(':')) { throw rule ? rule.error('Missed semicolon') : e } else { throw rule ? rule.error(e.message) : e } } return nodes.at(0) } /** * Replaces the "&" token in a node's selector with the parent selector * similar to what SCSS does. * * Mutates the nodes list */ function interpolateAmpInSelector(nodes, parent) { let replaced = false nodes.each(node => { if (node.type === 'nesting') { let clonedParent = parent.clone({}) if (node.value !== '&') { node.replaceWith( parse(node.value.replace('&', clonedParent.toString())) ) } else { node.replaceWith(clonedParent) } replaced = true } else if ('nodes' in node && node.nodes) { if (interpolateAmpInSelector(node, parent)) { replaced = true } } }) return replaced } /** * Combines parent and child selectors, in a SCSS-like way */ function mergeSelectors(parent, child) { let merged = [] for (let sel of parent.selectors) { let parentNode = parse(sel, parent) for (let selector of child.selectors) { if (!selector) { continue } let node = parse(selector, child) let replaced = interpolateAmpInSelector(node, parentNode) if (!replaced) { node.prepend(parser.combinator({ value: ' ' })) node.prepend(parentNode.clone({})) } merged.push(node.toString()) } } return merged } /** * Move a child and its preceding comment(s) to after "after" */ function breakOut(child, currentNode) { if (child.prev()?.type !== 'comment') { currentNode.after(child) return child } let prevNode = child.prev() /* Checking that the comment "describes" the rule following. Like this: /* comment about the rule below *\ .rule {} */ let regexp = /[*]\/ *\n.*{/ if (child.parent.toString().match(regexp)) { currentNode.after(child).after(prevNode) } else { currentNode.after(child) } return child } function createFnAtruleChilds(bubble) { return function atruleChilds(rule, atrule, bubbling, mergeSels = bubbling) { let children = [] atrule.each(child => { if (child.type === 'rule' && bubbling) { if (mergeSels) { child.selectors = mergeSelectors(rule, child) } } else if (child.type === 'atrule' && child.nodes) { if (bubble[child.name]) { atruleChilds(rule, child, mergeSels) } else if (atrule[rootRuleMergeSel] !== false) { children.push(child) } } else { children.push(child) } }) if (bubbling && children.length) { let clone = rule.clone({ nodes: [] }) for (let child of children) { clone.append(child) } atrule.prepend(clone) } } } function pickDeclarations(selector, declarations, after) { let parent = new Rule({ nodes: [], selector }) parent.append(declarations) after.after(parent) return parent } function pickAndClearDeclarations(ruleSelector, declarations, after, clear = true) { if (!declarations.length) return [after, declarations] after = pickDeclarations(ruleSelector, declarations, after) if (clear) { declarations = [] } return [after, declarations] } function atruleNames(defaults, custom = '') { let names = defaults.concat(custom) let list = {} for (let name of names) { list[name.replace(/^@/, '')] = true } return list } function parseRootRuleParams(params) { params = params.trim() let braceBlock = params.match(/^\((.*)\)$/) if (!braceBlock) { return { selector: params, type: 'basic' } } let bits = braceBlock[1].match(/^(with(?:out)?):(.+)$/) if (bits) { let allowlist = bits[1] === 'with' let rules = Object.fromEntries( bits[2] .trim() .split(/\s+/) .map(name => [name, true]) ) if (allowlist && rules.all) { return { type: 'noop' } } let escapes = rule => !!rules[rule] if (rules.all) { escapes = () => true } else if (allowlist) { escapes = rule => (rule === 'all' ? false : !rules[rule]) } return { escapes, type: 'withrules' } } // Unrecognized brace block return { type: 'unknown' } } function getAncestorRules(leaf) { let lineage = [] let parent = leaf.parent while (parent && parent instanceof AtRule) { lineage.push(parent) parent = parent.parent } return lineage } function unwrapRootRule(rule) { let escapes = rule[rootRuleEscapes] if (!escapes) { rule.after(rule.nodes) } else { let nodes = rule.nodes let topEscaped let topEscapedIdx = -1 let breakoutLeaf let breakoutRoot let clone let lineage = getAncestorRules(rule) lineage.forEach((parent, i) => { if (escapes(parent.name)) { topEscaped = parent topEscapedIdx = i breakoutRoot = clone } else { let oldClone = clone clone = parent.clone({ nodes: [] }) oldClone && clone.append(oldClone) breakoutLeaf = breakoutLeaf || clone } }) if (!topEscaped) { rule.after(nodes) } else if (!breakoutRoot) { topEscaped.after(nodes) } else { let leaf = breakoutLeaf leaf.append(nodes) topEscaped.after(breakoutRoot) } if (rule.next() && topEscaped) { let restRoot lineage.slice(0, topEscapedIdx + 1).forEach((parent, i, arr) => { let oldRoot = restRoot restRoot = parent.clone({ nodes: [] }) oldRoot && restRoot.append(oldRoot) let nextSibs = [] let _child = arr[i - 1] || rule let next = _child.next() while (next) { nextSibs.push(next) next = next.next() } restRoot.append(nextSibs) }) restRoot && (breakoutRoot || nodes[nodes.length - 1]).after(restRoot) } } rule.remove() } const rootRuleMergeSel = Symbol('rootRuleMergeSel') const rootRuleEscapes = Symbol('rootRuleEscapes') function normalizeRootRule(rule) { let { params } = rule let { escapes, selector, type } = parseRootRuleParams(params) if (type === 'unknown') { throw rule.error( `Unknown @${rule.name} parameter ${JSON.stringify(params)}` ) } if (type === 'basic' && selector) { let selectorBlock = new Rule({ nodes: rule.nodes, selector }) rule.removeAll() rule.append(selectorBlock) } rule[rootRuleEscapes] = escapes rule[rootRuleMergeSel] = escapes ? !escapes('all') : type === 'noop' } const hasRootRule = Symbol('hasRootRule') module.exports = (opts = {}) => { let bubble = atruleNames( ['media', 'supports', 'layer', 'container', 'starting-style'], opts.bubble ) let atruleChilds = createFnAtruleChilds(bubble) let unwrap = atruleNames( [ 'document', 'font-face', 'keyframes', '-webkit-keyframes', '-moz-keyframes' ], opts.unwrap ) let rootRuleName = (opts.rootRuleName || 'at-root').replace(/^@/, '') let preserveEmpty = opts.preserveEmpty return { Once(root) { root.walkAtRules(rootRuleName, node => { normalizeRootRule(node) root[hasRootRule] = true }) }, postcssPlugin: 'postcss-nested', RootExit(root) { if (!root[hasRootRule]) return root.walkAtRules(rootRuleName, unwrapRootRule) root[hasRootRule] = false }, Rule(rule) { let unwrapped = false let after = rule let copyDeclarations = false let declarations = [] rule.each(child => { switch (child.type) { case 'atrule': [after, declarations] = pickAndClearDeclarations(rule.selector, declarations, after) if (child.name === rootRuleName) { unwrapped = true atruleChilds(rule, child, true, child[rootRuleMergeSel]) after = breakOut(child, after) } else if (bubble[child.name]) { copyDeclarations = true unwrapped = true atruleChilds(rule, child, true) after = breakOut(child, after) } else if (unwrap[child.name]) { copyDeclarations = true unwrapped = true atruleChilds(rule, child, false) after = breakOut(child, after) } else if (copyDeclarations) { declarations.push(child) } break case 'decl': if (copyDeclarations) { declarations.push(child) } break case 'rule': [after, declarations] = pickAndClearDeclarations(rule.selector, declarations, after) copyDeclarations = true unwrapped = true child.selectors = mergeSelectors(rule, child) after = breakOut(child, after) break } }) pickAndClearDeclarations(rule.selector, declarations, after, false) if (unwrapped && preserveEmpty !== true) { rule.raws.semicolon = true if (rule.nodes.length === 0) rule.remove() } } } } module.exports.postcss = true /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/index.js": /*!************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/index.js ***! \************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _processor = _interopRequireDefault(__webpack_require__(/*! ./processor */ "./node_modules/postcss-selector-parser/dist/processor.js")); var selectors = _interopRequireWildcard(__webpack_require__(/*! ./selectors */ "./node_modules/postcss-selector-parser/dist/selectors/index.js")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var parser = function parser(processor) { return new _processor["default"](processor); }; Object.assign(parser, selectors); delete parser.__esModule; var _default = parser; exports["default"] = _default; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/parser.js": /*!*************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/parser.js ***! \*************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _root = _interopRequireDefault(__webpack_require__(/*! ./selectors/root */ "./node_modules/postcss-selector-parser/dist/selectors/root.js")); var _selector = _interopRequireDefault(__webpack_require__(/*! ./selectors/selector */ "./node_modules/postcss-selector-parser/dist/selectors/selector.js")); var _className = _interopRequireDefault(__webpack_require__(/*! ./selectors/className */ "./node_modules/postcss-selector-parser/dist/selectors/className.js")); var _comment = _interopRequireDefault(__webpack_require__(/*! ./selectors/comment */ "./node_modules/postcss-selector-parser/dist/selectors/comment.js")); var _id = _interopRequireDefault(__webpack_require__(/*! ./selectors/id */ "./node_modules/postcss-selector-parser/dist/selectors/id.js")); var _tag = _interopRequireDefault(__webpack_require__(/*! ./selectors/tag */ "./node_modules/postcss-selector-parser/dist/selectors/tag.js")); var _string = _interopRequireDefault(__webpack_require__(/*! ./selectors/string */ "./node_modules/postcss-selector-parser/dist/selectors/string.js")); var _pseudo = _interopRequireDefault(__webpack_require__(/*! ./selectors/pseudo */ "./node_modules/postcss-selector-parser/dist/selectors/pseudo.js")); var _attribute = _interopRequireWildcard(__webpack_require__(/*! ./selectors/attribute */ "./node_modules/postcss-selector-parser/dist/selectors/attribute.js")); var _universal = _interopRequireDefault(__webpack_require__(/*! ./selectors/universal */ "./node_modules/postcss-selector-parser/dist/selectors/universal.js")); var _combinator = _interopRequireDefault(__webpack_require__(/*! ./selectors/combinator */ "./node_modules/postcss-selector-parser/dist/selectors/combinator.js")); var _nesting = _interopRequireDefault(__webpack_require__(/*! ./selectors/nesting */ "./node_modules/postcss-selector-parser/dist/selectors/nesting.js")); var _sortAscending = _interopRequireDefault(__webpack_require__(/*! ./sortAscending */ "./node_modules/postcss-selector-parser/dist/sortAscending.js")); var _tokenize = _interopRequireWildcard(__webpack_require__(/*! ./tokenize */ "./node_modules/postcss-selector-parser/dist/tokenize.js")); var tokens = _interopRequireWildcard(__webpack_require__(/*! ./tokenTypes */ "./node_modules/postcss-selector-parser/dist/tokenTypes.js")); var types = _interopRequireWildcard(__webpack_require__(/*! ./selectors/types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js")); var _util = __webpack_require__(/*! ./util */ "./node_modules/postcss-selector-parser/dist/util/index.js"); var _WHITESPACE_TOKENS, _Object$assign; function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var WHITESPACE_TOKENS = (_WHITESPACE_TOKENS = {}, _WHITESPACE_TOKENS[tokens.space] = true, _WHITESPACE_TOKENS[tokens.cr] = true, _WHITESPACE_TOKENS[tokens.feed] = true, _WHITESPACE_TOKENS[tokens.newline] = true, _WHITESPACE_TOKENS[tokens.tab] = true, _WHITESPACE_TOKENS); var WHITESPACE_EQUIV_TOKENS = Object.assign({}, WHITESPACE_TOKENS, (_Object$assign = {}, _Object$assign[tokens.comment] = true, _Object$assign)); function tokenStart(token) { return { line: token[_tokenize.FIELDS.START_LINE], column: token[_tokenize.FIELDS.START_COL] }; } function tokenEnd(token) { return { line: token[_tokenize.FIELDS.END_LINE], column: token[_tokenize.FIELDS.END_COL] }; } function getSource(startLine, startColumn, endLine, endColumn) { return { start: { line: startLine, column: startColumn }, end: { line: endLine, column: endColumn } }; } function getTokenSource(token) { return getSource(token[_tokenize.FIELDS.START_LINE], token[_tokenize.FIELDS.START_COL], token[_tokenize.FIELDS.END_LINE], token[_tokenize.FIELDS.END_COL]); } function getTokenSourceSpan(startToken, endToken) { if (!startToken) { return undefined; } return getSource(startToken[_tokenize.FIELDS.START_LINE], startToken[_tokenize.FIELDS.START_COL], endToken[_tokenize.FIELDS.END_LINE], endToken[_tokenize.FIELDS.END_COL]); } function unescapeProp(node, prop) { var value = node[prop]; if (typeof value !== "string") { return; } if (value.indexOf("\\") !== -1) { (0, _util.ensureObject)(node, 'raws'); node[prop] = (0, _util.unesc)(value); if (node.raws[prop] === undefined) { node.raws[prop] = value; } } return node; } function indexesOf(array, item) { var i = -1; var indexes = []; while ((i = array.indexOf(item, i + 1)) !== -1) { indexes.push(i); } return indexes; } function uniqs() { var list = Array.prototype.concat.apply([], arguments); return list.filter(function (item, i) { return i === list.indexOf(item); }); } var Parser = /*#__PURE__*/function () { function Parser(rule, options) { if (options === void 0) { options = {}; } this.rule = rule; this.options = Object.assign({ lossy: false, safe: false }, options); this.position = 0; this.css = typeof this.rule === 'string' ? this.rule : this.rule.selector; this.tokens = (0, _tokenize["default"])({ css: this.css, error: this._errorGenerator(), safe: this.options.safe }); var rootSource = getTokenSourceSpan(this.tokens[0], this.tokens[this.tokens.length - 1]); this.root = new _root["default"]({ source: rootSource }); this.root.errorGenerator = this._errorGenerator(); var selector = new _selector["default"]({ source: { start: { line: 1, column: 1 } }, sourceIndex: 0 }); this.root.append(selector); this.current = selector; this.loop(); } var _proto = Parser.prototype; _proto._errorGenerator = function _errorGenerator() { var _this = this; return function (message, errorOptions) { if (typeof _this.rule === 'string') { return new Error(message); } return _this.rule.error(message, errorOptions); }; }; _proto.attribute = function attribute() { var attr = []; var startingToken = this.currToken; this.position++; while (this.position < this.tokens.length && this.currToken[_tokenize.FIELDS.TYPE] !== tokens.closeSquare) { attr.push(this.currToken); this.position++; } if (this.currToken[_tokenize.FIELDS.TYPE] !== tokens.closeSquare) { return this.expected('closing square bracket', this.currToken[_tokenize.FIELDS.START_POS]); } var len = attr.length; var node = { source: getSource(startingToken[1], startingToken[2], this.currToken[3], this.currToken[4]), sourceIndex: startingToken[_tokenize.FIELDS.START_POS] }; if (len === 1 && !~[tokens.word].indexOf(attr[0][_tokenize.FIELDS.TYPE])) { return this.expected('attribute', attr[0][_tokenize.FIELDS.START_POS]); } var pos = 0; var spaceBefore = ''; var commentBefore = ''; var lastAdded = null; var spaceAfterMeaningfulToken = false; while (pos < len) { var token = attr[pos]; var content = this.content(token); var next = attr[pos + 1]; switch (token[_tokenize.FIELDS.TYPE]) { case tokens.space: // if ( // len === 1 || // pos === 0 && this.content(next) === '|' // ) { // return this.expected('attribute', token[TOKEN.START_POS], content); // } spaceAfterMeaningfulToken = true; if (this.options.lossy) { break; } if (lastAdded) { (0, _util.ensureObject)(node, 'spaces', lastAdded); var prevContent = node.spaces[lastAdded].after || ''; node.spaces[lastAdded].after = prevContent + content; var existingComment = (0, _util.getProp)(node, 'raws', 'spaces', lastAdded, 'after') || null; if (existingComment) { node.raws.spaces[lastAdded].after = existingComment + content; } } else { spaceBefore = spaceBefore + content; commentBefore = commentBefore + content; } break; case tokens.asterisk: if (next[_tokenize.FIELDS.TYPE] === tokens.equals) { node.operator = content; lastAdded = 'operator'; } else if ((!node.namespace || lastAdded === "namespace" && !spaceAfterMeaningfulToken) && next) { if (spaceBefore) { (0, _util.ensureObject)(node, 'spaces', 'attribute'); node.spaces.attribute.before = spaceBefore; spaceBefore = ''; } if (commentBefore) { (0, _util.ensureObject)(node, 'raws', 'spaces', 'attribute'); node.raws.spaces.attribute.before = spaceBefore; commentBefore = ''; } node.namespace = (node.namespace || "") + content; var rawValue = (0, _util.getProp)(node, 'raws', 'namespace') || null; if (rawValue) { node.raws.namespace += content; } lastAdded = 'namespace'; } spaceAfterMeaningfulToken = false; break; case tokens.dollar: if (lastAdded === "value") { var oldRawValue = (0, _util.getProp)(node, 'raws', 'value'); node.value += "$"; if (oldRawValue) { node.raws.value = oldRawValue + "$"; } break; } // Falls through case tokens.caret: if (next[_tokenize.FIELDS.TYPE] === tokens.equals) { node.operator = content; lastAdded = 'operator'; } spaceAfterMeaningfulToken = false; break; case tokens.combinator: if (content === '~' && next[_tokenize.FIELDS.TYPE] === tokens.equals) { node.operator = content; lastAdded = 'operator'; } if (content !== '|') { spaceAfterMeaningfulToken = false; break; } if (next[_tokenize.FIELDS.TYPE] === tokens.equals) { node.operator = content; lastAdded = 'operator'; } else if (!node.namespace && !node.attribute) { node.namespace = true; } spaceAfterMeaningfulToken = false; break; case tokens.word: if (next && this.content(next) === '|' && attr[pos + 2] && attr[pos + 2][_tokenize.FIELDS.TYPE] !== tokens.equals && // this look-ahead probably fails with comment nodes involved. !node.operator && !node.namespace) { node.namespace = content; lastAdded = 'namespace'; } else if (!node.attribute || lastAdded === "attribute" && !spaceAfterMeaningfulToken) { if (spaceBefore) { (0, _util.ensureObject)(node, 'spaces', 'attribute'); node.spaces.attribute.before = spaceBefore; spaceBefore = ''; } if (commentBefore) { (0, _util.ensureObject)(node, 'raws', 'spaces', 'attribute'); node.raws.spaces.attribute.before = commentBefore; commentBefore = ''; } node.attribute = (node.attribute || "") + content; var _rawValue = (0, _util.getProp)(node, 'raws', 'attribute') || null; if (_rawValue) { node.raws.attribute += content; } lastAdded = 'attribute'; } else if (!node.value && node.value !== "" || lastAdded === "value" && !(spaceAfterMeaningfulToken || node.quoteMark)) { var _unescaped = (0, _util.unesc)(content); var _oldRawValue = (0, _util.getProp)(node, 'raws', 'value') || ''; var oldValue = node.value || ''; node.value = oldValue + _unescaped; node.quoteMark = null; if (_unescaped !== content || _oldRawValue) { (0, _util.ensureObject)(node, 'raws'); node.raws.value = (_oldRawValue || oldValue) + content; } lastAdded = 'value'; } else { var insensitive = content === 'i' || content === "I"; if ((node.value || node.value === '') && (node.quoteMark || spaceAfterMeaningfulToken)) { node.insensitive = insensitive; if (!insensitive || content === "I") { (0, _util.ensureObject)(node, 'raws'); node.raws.insensitiveFlag = content; } lastAdded = 'insensitive'; if (spaceBefore) { (0, _util.ensureObject)(node, 'spaces', 'insensitive'); node.spaces.insensitive.before = spaceBefore; spaceBefore = ''; } if (commentBefore) { (0, _util.ensureObject)(node, 'raws', 'spaces', 'insensitive'); node.raws.spaces.insensitive.before = commentBefore; commentBefore = ''; } } else if (node.value || node.value === '') { lastAdded = 'value'; node.value += content; if (node.raws.value) { node.raws.value += content; } } } spaceAfterMeaningfulToken = false; break; case tokens.str: if (!node.attribute || !node.operator) { return this.error("Expected an attribute followed by an operator preceding the string.", { index: token[_tokenize.FIELDS.START_POS] }); } var _unescapeValue = (0, _attribute.unescapeValue)(content), unescaped = _unescapeValue.unescaped, quoteMark = _unescapeValue.quoteMark; node.value = unescaped; node.quoteMark = quoteMark; lastAdded = 'value'; (0, _util.ensureObject)(node, 'raws'); node.raws.value = content; spaceAfterMeaningfulToken = false; break; case tokens.equals: if (!node.attribute) { return this.expected('attribute', token[_tokenize.FIELDS.START_POS], content); } if (node.value) { return this.error('Unexpected "=" found; an operator was already defined.', { index: token[_tokenize.FIELDS.START_POS] }); } node.operator = node.operator ? node.operator + content : content; lastAdded = 'operator'; spaceAfterMeaningfulToken = false; break; case tokens.comment: if (lastAdded) { if (spaceAfterMeaningfulToken || next && next[_tokenize.FIELDS.TYPE] === tokens.space || lastAdded === 'insensitive') { var lastComment = (0, _util.getProp)(node, 'spaces', lastAdded, 'after') || ''; var rawLastComment = (0, _util.getProp)(node, 'raws', 'spaces', lastAdded, 'after') || lastComment; (0, _util.ensureObject)(node, 'raws', 'spaces', lastAdded); node.raws.spaces[lastAdded].after = rawLastComment + content; } else { var lastValue = node[lastAdded] || ''; var rawLastValue = (0, _util.getProp)(node, 'raws', lastAdded) || lastValue; (0, _util.ensureObject)(node, 'raws'); node.raws[lastAdded] = rawLastValue + content; } } else { commentBefore = commentBefore + content; } break; default: return this.error("Unexpected \"" + content + "\" found.", { index: token[_tokenize.FIELDS.START_POS] }); } pos++; } unescapeProp(node, "attribute"); unescapeProp(node, "namespace"); this.newNode(new _attribute["default"](node)); this.position++; } /** * return a node containing meaningless garbage up to (but not including) the specified token position. * if the token position is negative, all remaining tokens are consumed. * * This returns an array containing a single string node if all whitespace, * otherwise an array of comment nodes with space before and after. * * These tokens are not added to the current selector, the caller can add them or use them to amend * a previous node's space metadata. * * In lossy mode, this returns only comments. */; _proto.parseWhitespaceEquivalentTokens = function parseWhitespaceEquivalentTokens(stopPosition) { if (stopPosition < 0) { stopPosition = this.tokens.length; } var startPosition = this.position; var nodes = []; var space = ""; var lastComment = undefined; do { if (WHITESPACE_TOKENS[this.currToken[_tokenize.FIELDS.TYPE]]) { if (!this.options.lossy) { space += this.content(); } } else if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.comment) { var spaces = {}; if (space) { spaces.before = space; space = ""; } lastComment = new _comment["default"]({ value: this.content(), source: getTokenSource(this.currToken), sourceIndex: this.currToken[_tokenize.FIELDS.START_POS], spaces: spaces }); nodes.push(lastComment); } } while (++this.position < stopPosition); if (space) { if (lastComment) { lastComment.spaces.after = space; } else if (!this.options.lossy) { var firstToken = this.tokens[startPosition]; var lastToken = this.tokens[this.position - 1]; nodes.push(new _string["default"]({ value: '', source: getSource(firstToken[_tokenize.FIELDS.START_LINE], firstToken[_tokenize.FIELDS.START_COL], lastToken[_tokenize.FIELDS.END_LINE], lastToken[_tokenize.FIELDS.END_COL]), sourceIndex: firstToken[_tokenize.FIELDS.START_POS], spaces: { before: space, after: '' } })); } } return nodes; } /** * * @param {*} nodes */; _proto.convertWhitespaceNodesToSpace = function convertWhitespaceNodesToSpace(nodes, requiredSpace) { var _this2 = this; if (requiredSpace === void 0) { requiredSpace = false; } var space = ""; var rawSpace = ""; nodes.forEach(function (n) { var spaceBefore = _this2.lossySpace(n.spaces.before, requiredSpace); var rawSpaceBefore = _this2.lossySpace(n.rawSpaceBefore, requiredSpace); space += spaceBefore + _this2.lossySpace(n.spaces.after, requiredSpace && spaceBefore.length === 0); rawSpace += spaceBefore + n.value + _this2.lossySpace(n.rawSpaceAfter, requiredSpace && rawSpaceBefore.length === 0); }); if (rawSpace === space) { rawSpace = undefined; } var result = { space: space, rawSpace: rawSpace }; return result; }; _proto.isNamedCombinator = function isNamedCombinator(position) { if (position === void 0) { position = this.position; } return this.tokens[position + 0] && this.tokens[position + 0][_tokenize.FIELDS.TYPE] === tokens.slash && this.tokens[position + 1] && this.tokens[position + 1][_tokenize.FIELDS.TYPE] === tokens.word && this.tokens[position + 2] && this.tokens[position + 2][_tokenize.FIELDS.TYPE] === tokens.slash; }; _proto.namedCombinator = function namedCombinator() { if (this.isNamedCombinator()) { var nameRaw = this.content(this.tokens[this.position + 1]); var name = (0, _util.unesc)(nameRaw).toLowerCase(); var raws = {}; if (name !== nameRaw) { raws.value = "/" + nameRaw + "/"; } var node = new _combinator["default"]({ value: "/" + name + "/", source: getSource(this.currToken[_tokenize.FIELDS.START_LINE], this.currToken[_tokenize.FIELDS.START_COL], this.tokens[this.position + 2][_tokenize.FIELDS.END_LINE], this.tokens[this.position + 2][_tokenize.FIELDS.END_COL]), sourceIndex: this.currToken[_tokenize.FIELDS.START_POS], raws: raws }); this.position = this.position + 3; return node; } else { this.unexpected(); } }; _proto.combinator = function combinator() { var _this3 = this; if (this.content() === '|') { return this.namespace(); } // We need to decide between a space that's a descendant combinator and meaningless whitespace at the end of a selector. var nextSigTokenPos = this.locateNextMeaningfulToken(this.position); if (nextSigTokenPos < 0 || this.tokens[nextSigTokenPos][_tokenize.FIELDS.TYPE] === tokens.comma || this.tokens[nextSigTokenPos][_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) { var nodes = this.parseWhitespaceEquivalentTokens(nextSigTokenPos); if (nodes.length > 0) { var last = this.current.last; if (last) { var _this$convertWhitespa = this.convertWhitespaceNodesToSpace(nodes), space = _this$convertWhitespa.space, rawSpace = _this$convertWhitespa.rawSpace; if (rawSpace !== undefined) { last.rawSpaceAfter += rawSpace; } last.spaces.after += space; } else { nodes.forEach(function (n) { return _this3.newNode(n); }); } } return; } var firstToken = this.currToken; var spaceOrDescendantSelectorNodes = undefined; if (nextSigTokenPos > this.position) { spaceOrDescendantSelectorNodes = this.parseWhitespaceEquivalentTokens(nextSigTokenPos); } var node; if (this.isNamedCombinator()) { node = this.namedCombinator(); } else if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.combinator) { node = new _combinator["default"]({ value: this.content(), source: getTokenSource(this.currToken), sourceIndex: this.currToken[_tokenize.FIELDS.START_POS] }); this.position++; } else if (WHITESPACE_TOKENS[this.currToken[_tokenize.FIELDS.TYPE]]) { // pass } else if (!spaceOrDescendantSelectorNodes) { this.unexpected(); } if (node) { if (spaceOrDescendantSelectorNodes) { var _this$convertWhitespa2 = this.convertWhitespaceNodesToSpace(spaceOrDescendantSelectorNodes), _space = _this$convertWhitespa2.space, _rawSpace = _this$convertWhitespa2.rawSpace; node.spaces.before = _space; node.rawSpaceBefore = _rawSpace; } } else { // descendant combinator var _this$convertWhitespa3 = this.convertWhitespaceNodesToSpace(spaceOrDescendantSelectorNodes, true), _space2 = _this$convertWhitespa3.space, _rawSpace2 = _this$convertWhitespa3.rawSpace; if (!_rawSpace2) { _rawSpace2 = _space2; } var spaces = {}; var raws = { spaces: {} }; if (_space2.endsWith(' ') && _rawSpace2.endsWith(' ')) { spaces.before = _space2.slice(0, _space2.length - 1); raws.spaces.before = _rawSpace2.slice(0, _rawSpace2.length - 1); } else if (_space2.startsWith(' ') && _rawSpace2.startsWith(' ')) { spaces.after = _space2.slice(1); raws.spaces.after = _rawSpace2.slice(1); } else { raws.value = _rawSpace2; } node = new _combinator["default"]({ value: ' ', source: getTokenSourceSpan(firstToken, this.tokens[this.position - 1]), sourceIndex: firstToken[_tokenize.FIELDS.START_POS], spaces: spaces, raws: raws }); } if (this.currToken && this.currToken[_tokenize.FIELDS.TYPE] === tokens.space) { node.spaces.after = this.optionalSpace(this.content()); this.position++; } return this.newNode(node); }; _proto.comma = function comma() { if (this.position === this.tokens.length - 1) { this.root.trailingComma = true; this.position++; return; } this.current._inferEndPosition(); var selector = new _selector["default"]({ source: { start: tokenStart(this.tokens[this.position + 1]) }, sourceIndex: this.tokens[this.position + 1][_tokenize.FIELDS.START_POS] }); this.current.parent.append(selector); this.current = selector; this.position++; }; _proto.comment = function comment() { var current = this.currToken; this.newNode(new _comment["default"]({ value: this.content(), source: getTokenSource(current), sourceIndex: current[_tokenize.FIELDS.START_POS] })); this.position++; }; _proto.error = function error(message, opts) { throw this.root.error(message, opts); }; _proto.missingBackslash = function missingBackslash() { return this.error('Expected a backslash preceding the semicolon.', { index: this.currToken[_tokenize.FIELDS.START_POS] }); }; _proto.missingParenthesis = function missingParenthesis() { return this.expected('opening parenthesis', this.currToken[_tokenize.FIELDS.START_POS]); }; _proto.missingSquareBracket = function missingSquareBracket() { return this.expected('opening square bracket', this.currToken[_tokenize.FIELDS.START_POS]); }; _proto.unexpected = function unexpected() { return this.error("Unexpected '" + this.content() + "'. Escaping special characters with \\ may help.", this.currToken[_tokenize.FIELDS.START_POS]); }; _proto.unexpectedPipe = function unexpectedPipe() { return this.error("Unexpected '|'.", this.currToken[_tokenize.FIELDS.START_POS]); }; _proto.namespace = function namespace() { var before = this.prevToken && this.content(this.prevToken) || true; if (this.nextToken[_tokenize.FIELDS.TYPE] === tokens.word) { this.position++; return this.word(before); } else if (this.nextToken[_tokenize.FIELDS.TYPE] === tokens.asterisk) { this.position++; return this.universal(before); } this.unexpectedPipe(); }; _proto.nesting = function nesting() { if (this.nextToken) { var nextContent = this.content(this.nextToken); if (nextContent === "|") { this.position++; return; } } var current = this.currToken; this.newNode(new _nesting["default"]({ value: this.content(), source: getTokenSource(current), sourceIndex: current[_tokenize.FIELDS.START_POS] })); this.position++; }; _proto.parentheses = function parentheses() { var last = this.current.last; var unbalanced = 1; this.position++; if (last && last.type === types.PSEUDO) { var selector = new _selector["default"]({ source: { start: tokenStart(this.tokens[this.position]) }, sourceIndex: this.tokens[this.position][_tokenize.FIELDS.START_POS] }); var cache = this.current; last.append(selector); this.current = selector; while (this.position < this.tokens.length && unbalanced) { if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) { unbalanced++; } if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) { unbalanced--; } if (unbalanced) { this.parse(); } else { this.current.source.end = tokenEnd(this.currToken); this.current.parent.source.end = tokenEnd(this.currToken); this.position++; } } this.current = cache; } else { // I think this case should be an error. It's used to implement a basic parse of media queries // but I don't think it's a good idea. var parenStart = this.currToken; var parenValue = "("; var parenEnd; while (this.position < this.tokens.length && unbalanced) { if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) { unbalanced++; } if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) { unbalanced--; } parenEnd = this.currToken; parenValue += this.parseParenthesisToken(this.currToken); this.position++; } if (last) { last.appendToPropertyAndEscape("value", parenValue, parenValue); } else { this.newNode(new _string["default"]({ value: parenValue, source: getSource(parenStart[_tokenize.FIELDS.START_LINE], parenStart[_tokenize.FIELDS.START_COL], parenEnd[_tokenize.FIELDS.END_LINE], parenEnd[_tokenize.FIELDS.END_COL]), sourceIndex: parenStart[_tokenize.FIELDS.START_POS] })); } } if (unbalanced) { return this.expected('closing parenthesis', this.currToken[_tokenize.FIELDS.START_POS]); } }; _proto.pseudo = function pseudo() { var _this4 = this; var pseudoStr = ''; var startingToken = this.currToken; while (this.currToken && this.currToken[_tokenize.FIELDS.TYPE] === tokens.colon) { pseudoStr += this.content(); this.position++; } if (!this.currToken) { return this.expected(['pseudo-class', 'pseudo-element'], this.position - 1); } if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.word) { this.splitWord(false, function (first, length) { pseudoStr += first; _this4.newNode(new _pseudo["default"]({ value: pseudoStr, source: getTokenSourceSpan(startingToken, _this4.currToken), sourceIndex: startingToken[_tokenize.FIELDS.START_POS] })); if (length > 1 && _this4.nextToken && _this4.nextToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) { _this4.error('Misplaced parenthesis.', { index: _this4.nextToken[_tokenize.FIELDS.START_POS] }); } }); } else { return this.expected(['pseudo-class', 'pseudo-element'], this.currToken[_tokenize.FIELDS.START_POS]); } }; _proto.space = function space() { var content = this.content(); // Handle space before and after the selector if (this.position === 0 || this.prevToken[_tokenize.FIELDS.TYPE] === tokens.comma || this.prevToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis || this.current.nodes.every(function (node) { return node.type === 'comment'; })) { this.spaces = this.optionalSpace(content); this.position++; } else if (this.position === this.tokens.length - 1 || this.nextToken[_tokenize.FIELDS.TYPE] === tokens.comma || this.nextToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) { this.current.last.spaces.after = this.optionalSpace(content); this.position++; } else { this.combinator(); } }; _proto.string = function string() { var current = this.currToken; this.newNode(new _string["default"]({ value: this.content(), source: getTokenSource(current), sourceIndex: current[_tokenize.FIELDS.START_POS] })); this.position++; }; _proto.universal = function universal(namespace) { var nextToken = this.nextToken; if (nextToken && this.content(nextToken) === '|') { this.position++; return this.namespace(); } var current = this.currToken; this.newNode(new _universal["default"]({ value: this.content(), source: getTokenSource(current), sourceIndex: current[_tokenize.FIELDS.START_POS] }), namespace); this.position++; }; _proto.splitWord = function splitWord(namespace, firstCallback) { var _this5 = this; var nextToken = this.nextToken; var word = this.content(); while (nextToken && ~[tokens.dollar, tokens.caret, tokens.equals, tokens.word].indexOf(nextToken[_tokenize.FIELDS.TYPE])) { this.position++; var current = this.content(); word += current; if (current.lastIndexOf('\\') === current.length - 1) { var next = this.nextToken; if (next && next[_tokenize.FIELDS.TYPE] === tokens.space) { word += this.requiredSpace(this.content(next)); this.position++; } } nextToken = this.nextToken; } var hasClass = indexesOf(word, '.').filter(function (i) { // Allow escaped dot within class name var escapedDot = word[i - 1] === '\\'; // Allow decimal numbers percent in @keyframes var isKeyframesPercent = /^\d+\.\d+%$/.test(word); return !escapedDot && !isKeyframesPercent; }); var hasId = indexesOf(word, '#').filter(function (i) { return word[i - 1] !== '\\'; }); // Eliminate Sass interpolations from the list of id indexes var interpolations = indexesOf(word, '#{'); if (interpolations.length) { hasId = hasId.filter(function (hashIndex) { return !~interpolations.indexOf(hashIndex); }); } var indices = (0, _sortAscending["default"])(uniqs([0].concat(hasClass, hasId))); indices.forEach(function (ind, i) { var index = indices[i + 1] || word.length; var value = word.slice(ind, index); if (i === 0 && firstCallback) { return firstCallback.call(_this5, value, indices.length); } var node; var current = _this5.currToken; var sourceIndex = current[_tokenize.FIELDS.START_POS] + indices[i]; var source = getSource(current[1], current[2] + ind, current[3], current[2] + (index - 1)); if (~hasClass.indexOf(ind)) { var classNameOpts = { value: value.slice(1), source: source, sourceIndex: sourceIndex }; node = new _className["default"](unescapeProp(classNameOpts, "value")); } else if (~hasId.indexOf(ind)) { var idOpts = { value: value.slice(1), source: source, sourceIndex: sourceIndex }; node = new _id["default"](unescapeProp(idOpts, "value")); } else { var tagOpts = { value: value, source: source, sourceIndex: sourceIndex }; unescapeProp(tagOpts, "value"); node = new _tag["default"](tagOpts); } _this5.newNode(node, namespace); // Ensure that the namespace is used only once namespace = null; }); this.position++; }; _proto.word = function word(namespace) { var nextToken = this.nextToken; if (nextToken && this.content(nextToken) === '|') { this.position++; return this.namespace(); } return this.splitWord(namespace); }; _proto.loop = function loop() { while (this.position < this.tokens.length) { this.parse(true); } this.current._inferEndPosition(); return this.root; }; _proto.parse = function parse(throwOnParenthesis) { switch (this.currToken[_tokenize.FIELDS.TYPE]) { case tokens.space: this.space(); break; case tokens.comment: this.comment(); break; case tokens.openParenthesis: this.parentheses(); break; case tokens.closeParenthesis: if (throwOnParenthesis) { this.missingParenthesis(); } break; case tokens.openSquare: this.attribute(); break; case tokens.dollar: case tokens.caret: case tokens.equals: case tokens.word: this.word(); break; case tokens.colon: this.pseudo(); break; case tokens.comma: this.comma(); break; case tokens.asterisk: this.universal(); break; case tokens.ampersand: this.nesting(); break; case tokens.slash: case tokens.combinator: this.combinator(); break; case tokens.str: this.string(); break; // These cases throw; no break needed. case tokens.closeSquare: this.missingSquareBracket(); case tokens.semicolon: this.missingBackslash(); default: this.unexpected(); } } /** * Helpers */; _proto.expected = function expected(description, index, found) { if (Array.isArray(description)) { var last = description.pop(); description = description.join(', ') + " or " + last; } var an = /^[aeiou]/.test(description[0]) ? 'an' : 'a'; if (!found) { return this.error("Expected " + an + " " + description + ".", { index: index }); } return this.error("Expected " + an + " " + description + ", found \"" + found + "\" instead.", { index: index }); }; _proto.requiredSpace = function requiredSpace(space) { return this.options.lossy ? ' ' : space; }; _proto.optionalSpace = function optionalSpace(space) { return this.options.lossy ? '' : space; }; _proto.lossySpace = function lossySpace(space, required) { if (this.options.lossy) { return required ? ' ' : ''; } else { return space; } }; _proto.parseParenthesisToken = function parseParenthesisToken(token) { var content = this.content(token); if (token[_tokenize.FIELDS.TYPE] === tokens.space) { return this.requiredSpace(content); } else { return content; } }; _proto.newNode = function newNode(node, namespace) { if (namespace) { if (/^ +$/.test(namespace)) { if (!this.options.lossy) { this.spaces = (this.spaces || '') + namespace; } namespace = true; } node.namespace = namespace; unescapeProp(node, "namespace"); } if (this.spaces) { node.spaces.before = this.spaces; this.spaces = ''; } return this.current.append(node); }; _proto.content = function content(token) { if (token === void 0) { token = this.currToken; } return this.css.slice(token[_tokenize.FIELDS.START_POS], token[_tokenize.FIELDS.END_POS]); }; /** * returns the index of the next non-whitespace, non-comment token. * returns -1 if no meaningful token is found. */ _proto.locateNextMeaningfulToken = function locateNextMeaningfulToken(startPosition) { if (startPosition === void 0) { startPosition = this.position + 1; } var searchPosition = startPosition; while (searchPosition < this.tokens.length) { if (WHITESPACE_EQUIV_TOKENS[this.tokens[searchPosition][_tokenize.FIELDS.TYPE]]) { searchPosition++; continue; } else { return searchPosition; } } return -1; }; _createClass(Parser, [{ key: "currToken", get: function get() { return this.tokens[this.position]; } }, { key: "nextToken", get: function get() { return this.tokens[this.position + 1]; } }, { key: "prevToken", get: function get() { return this.tokens[this.position - 1]; } }]); return Parser; }(); exports["default"] = Parser; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/processor.js": /*!****************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/processor.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _parser = _interopRequireDefault(__webpack_require__(/*! ./parser */ "./node_modules/postcss-selector-parser/dist/parser.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var Processor = /*#__PURE__*/function () { function Processor(func, options) { this.func = func || function noop() {}; this.funcRes = null; this.options = options; } var _proto = Processor.prototype; _proto._shouldUpdateSelector = function _shouldUpdateSelector(rule, options) { if (options === void 0) { options = {}; } var merged = Object.assign({}, this.options, options); if (merged.updateSelector === false) { return false; } else { return typeof rule !== "string"; } }; _proto._isLossy = function _isLossy(options) { if (options === void 0) { options = {}; } var merged = Object.assign({}, this.options, options); if (merged.lossless === false) { return true; } else { return false; } }; _proto._root = function _root(rule, options) { if (options === void 0) { options = {}; } var parser = new _parser["default"](rule, this._parseOptions(options)); return parser.root; }; _proto._parseOptions = function _parseOptions(options) { return { lossy: this._isLossy(options) }; }; _proto._run = function _run(rule, options) { var _this = this; if (options === void 0) { options = {}; } return new Promise(function (resolve, reject) { try { var root = _this._root(rule, options); Promise.resolve(_this.func(root)).then(function (transform) { var string = undefined; if (_this._shouldUpdateSelector(rule, options)) { string = root.toString(); rule.selector = string; } return { transform: transform, root: root, string: string }; }).then(resolve, reject); } catch (e) { reject(e); return; } }); }; _proto._runSync = function _runSync(rule, options) { if (options === void 0) { options = {}; } var root = this._root(rule, options); var transform = this.func(root); if (transform && typeof transform.then === "function") { throw new Error("Selector processor returned a promise to a synchronous call."); } var string = undefined; if (options.updateSelector && typeof rule !== "string") { string = root.toString(); rule.selector = string; } return { transform: transform, root: root, string: string }; } /** * Process rule into a selector AST. * * @param rule {postcss.Rule | string} The css selector to be processed * @param options The options for processing * @returns {Promise} The AST of the selector after processing it. */; _proto.ast = function ast(rule, options) { return this._run(rule, options).then(function (result) { return result.root; }); } /** * Process rule into a selector AST synchronously. * * @param rule {postcss.Rule | string} The css selector to be processed * @param options The options for processing * @returns {parser.Root} The AST of the selector after processing it. */; _proto.astSync = function astSync(rule, options) { return this._runSync(rule, options).root; } /** * Process a selector into a transformed value asynchronously * * @param rule {postcss.Rule | string} The css selector to be processed * @param options The options for processing * @returns {Promise} The value returned by the processor. */; _proto.transform = function transform(rule, options) { return this._run(rule, options).then(function (result) { return result.transform; }); } /** * Process a selector into a transformed value synchronously. * * @param rule {postcss.Rule | string} The css selector to be processed * @param options The options for processing * @returns {any} The value returned by the processor. */; _proto.transformSync = function transformSync(rule, options) { return this._runSync(rule, options).transform; } /** * Process a selector into a new selector string asynchronously. * * @param rule {postcss.Rule | string} The css selector to be processed * @param options The options for processing * @returns {string} the selector after processing. */; _proto.process = function process(rule, options) { return this._run(rule, options).then(function (result) { return result.string || result.root.toString(); }); } /** * Process a selector into a new selector string synchronously. * * @param rule {postcss.Rule | string} The css selector to be processed * @param options The options for processing * @returns {string} the selector after processing. */; _proto.processSync = function processSync(rule, options) { var result = this._runSync(rule, options); return result.string || result.root.toString(); }; return Processor; }(); exports["default"] = Processor; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/attribute.js": /*!**************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/attribute.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; exports.unescapeValue = unescapeValue; var _cssesc = _interopRequireDefault(__webpack_require__(/*! cssesc */ "./node_modules/cssesc/cssesc.js")); var _unesc = _interopRequireDefault(__webpack_require__(/*! ../util/unesc */ "./node_modules/postcss-selector-parser/dist/util/unesc.js")); var _namespace = _interopRequireDefault(__webpack_require__(/*! ./namespace */ "./node_modules/postcss-selector-parser/dist/selectors/namespace.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); var _CSSESC_QUOTE_OPTIONS; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var deprecate = __webpack_require__(/*! util-deprecate */ "./node_modules/util-deprecate/browser.js"); var WRAPPED_IN_QUOTES = /^('|")([^]*)\1$/; var warnOfDeprecatedValueAssignment = deprecate(function () {}, "Assigning an attribute a value containing characters that might need to be escaped is deprecated. " + "Call attribute.setValue() instead."); var warnOfDeprecatedQuotedAssignment = deprecate(function () {}, "Assigning attr.quoted is deprecated and has no effect. Assign to attr.quoteMark instead."); var warnOfDeprecatedConstructor = deprecate(function () {}, "Constructing an Attribute selector with a value without specifying quoteMark is deprecated. Note: The value should be unescaped now."); function unescapeValue(value) { var deprecatedUsage = false; var quoteMark = null; var unescaped = value; var m = unescaped.match(WRAPPED_IN_QUOTES); if (m) { quoteMark = m[1]; unescaped = m[2]; } unescaped = (0, _unesc["default"])(unescaped); if (unescaped !== value) { deprecatedUsage = true; } return { deprecatedUsage: deprecatedUsage, unescaped: unescaped, quoteMark: quoteMark }; } function handleDeprecatedContructorOpts(opts) { if (opts.quoteMark !== undefined) { return opts; } if (opts.value === undefined) { return opts; } warnOfDeprecatedConstructor(); var _unescapeValue = unescapeValue(opts.value), quoteMark = _unescapeValue.quoteMark, unescaped = _unescapeValue.unescaped; if (!opts.raws) { opts.raws = {}; } if (opts.raws.value === undefined) { opts.raws.value = opts.value; } opts.value = unescaped; opts.quoteMark = quoteMark; return opts; } var Attribute = /*#__PURE__*/function (_Namespace) { _inheritsLoose(Attribute, _Namespace); function Attribute(opts) { var _this; if (opts === void 0) { opts = {}; } _this = _Namespace.call(this, handleDeprecatedContructorOpts(opts)) || this; _this.type = _types.ATTRIBUTE; _this.raws = _this.raws || {}; Object.defineProperty(_this.raws, 'unquoted', { get: deprecate(function () { return _this.value; }, "attr.raws.unquoted is deprecated. Call attr.value instead."), set: deprecate(function () { return _this.value; }, "Setting attr.raws.unquoted is deprecated and has no effect. attr.value is unescaped by default now.") }); _this._constructed = true; return _this; } /** * Returns the Attribute's value quoted such that it would be legal to use * in the value of a css file. The original value's quotation setting * used for stringification is left unchanged. See `setValue(value, options)` * if you want to control the quote settings of a new value for the attribute. * * You can also change the quotation used for the current value by setting quoteMark. * * Options: * * quoteMark {'"' | "'" | null} - Use this value to quote the value. If this * option is not set, the original value for quoteMark will be used. If * indeterminate, a double quote is used. The legal values are: * * `null` - the value will be unquoted and characters will be escaped as necessary. * * `'` - the value will be quoted with a single quote and single quotes are escaped. * * `"` - the value will be quoted with a double quote and double quotes are escaped. * * preferCurrentQuoteMark {boolean} - if true, prefer the source quote mark * over the quoteMark option value. * * smart {boolean} - if true, will select a quote mark based on the value * and the other options specified here. See the `smartQuoteMark()` * method. **/ var _proto = Attribute.prototype; _proto.getQuotedValue = function getQuotedValue(options) { if (options === void 0) { options = {}; } var quoteMark = this._determineQuoteMark(options); var cssescopts = CSSESC_QUOTE_OPTIONS[quoteMark]; var escaped = (0, _cssesc["default"])(this._value, cssescopts); return escaped; }; _proto._determineQuoteMark = function _determineQuoteMark(options) { return options.smart ? this.smartQuoteMark(options) : this.preferredQuoteMark(options); } /** * Set the unescaped value with the specified quotation options. The value * provided must not include any wrapping quote marks -- those quotes will * be interpreted as part of the value and escaped accordingly. */; _proto.setValue = function setValue(value, options) { if (options === void 0) { options = {}; } this._value = value; this._quoteMark = this._determineQuoteMark(options); this._syncRawValue(); } /** * Intelligently select a quoteMark value based on the value's contents. If * the value is a legal CSS ident, it will not be quoted. Otherwise a quote * mark will be picked that minimizes the number of escapes. * * If there's no clear winner, the quote mark from these options is used, * then the source quote mark (this is inverted if `preferCurrentQuoteMark` is * true). If the quoteMark is unspecified, a double quote is used. * * @param options This takes the quoteMark and preferCurrentQuoteMark options * from the quoteValue method. */; _proto.smartQuoteMark = function smartQuoteMark(options) { var v = this.value; var numSingleQuotes = v.replace(/[^']/g, '').length; var numDoubleQuotes = v.replace(/[^"]/g, '').length; if (numSingleQuotes + numDoubleQuotes === 0) { var escaped = (0, _cssesc["default"])(v, { isIdentifier: true }); if (escaped === v) { return Attribute.NO_QUOTE; } else { var pref = this.preferredQuoteMark(options); if (pref === Attribute.NO_QUOTE) { // pick a quote mark that isn't none and see if it's smaller var quote = this.quoteMark || options.quoteMark || Attribute.DOUBLE_QUOTE; var opts = CSSESC_QUOTE_OPTIONS[quote]; var quoteValue = (0, _cssesc["default"])(v, opts); if (quoteValue.length < escaped.length) { return quote; } } return pref; } } else if (numDoubleQuotes === numSingleQuotes) { return this.preferredQuoteMark(options); } else if (numDoubleQuotes < numSingleQuotes) { return Attribute.DOUBLE_QUOTE; } else { return Attribute.SINGLE_QUOTE; } } /** * Selects the preferred quote mark based on the options and the current quote mark value. * If you want the quote mark to depend on the attribute value, call `smartQuoteMark(opts)` * instead. */; _proto.preferredQuoteMark = function preferredQuoteMark(options) { var quoteMark = options.preferCurrentQuoteMark ? this.quoteMark : options.quoteMark; if (quoteMark === undefined) { quoteMark = options.preferCurrentQuoteMark ? options.quoteMark : this.quoteMark; } if (quoteMark === undefined) { quoteMark = Attribute.DOUBLE_QUOTE; } return quoteMark; }; _proto._syncRawValue = function _syncRawValue() { var rawValue = (0, _cssesc["default"])(this._value, CSSESC_QUOTE_OPTIONS[this.quoteMark]); if (rawValue === this._value) { if (this.raws) { delete this.raws.value; } } else { this.raws.value = rawValue; } }; _proto._handleEscapes = function _handleEscapes(prop, value) { if (this._constructed) { var escaped = (0, _cssesc["default"])(value, { isIdentifier: true }); if (escaped !== value) { this.raws[prop] = escaped; } else { delete this.raws[prop]; } } }; _proto._spacesFor = function _spacesFor(name) { var attrSpaces = { before: '', after: '' }; var spaces = this.spaces[name] || {}; var rawSpaces = this.raws.spaces && this.raws.spaces[name] || {}; return Object.assign(attrSpaces, spaces, rawSpaces); }; _proto._stringFor = function _stringFor(name, spaceName, concat) { if (spaceName === void 0) { spaceName = name; } if (concat === void 0) { concat = defaultAttrConcat; } var attrSpaces = this._spacesFor(spaceName); return concat(this.stringifyProperty(name), attrSpaces); } /** * returns the offset of the attribute part specified relative to the * start of the node of the output string. * * * "ns" - alias for "namespace" * * "namespace" - the namespace if it exists. * * "attribute" - the attribute name * * "attributeNS" - the start of the attribute or its namespace * * "operator" - the match operator of the attribute * * "value" - The value (string or identifier) * * "insensitive" - the case insensitivity flag; * @param part One of the possible values inside an attribute. * @returns -1 if the name is invalid or the value doesn't exist in this attribute. */; _proto.offsetOf = function offsetOf(name) { var count = 1; var attributeSpaces = this._spacesFor("attribute"); count += attributeSpaces.before.length; if (name === "namespace" || name === "ns") { return this.namespace ? count : -1; } if (name === "attributeNS") { return count; } count += this.namespaceString.length; if (this.namespace) { count += 1; } if (name === "attribute") { return count; } count += this.stringifyProperty("attribute").length; count += attributeSpaces.after.length; var operatorSpaces = this._spacesFor("operator"); count += operatorSpaces.before.length; var operator = this.stringifyProperty("operator"); if (name === "operator") { return operator ? count : -1; } count += operator.length; count += operatorSpaces.after.length; var valueSpaces = this._spacesFor("value"); count += valueSpaces.before.length; var value = this.stringifyProperty("value"); if (name === "value") { return value ? count : -1; } count += value.length; count += valueSpaces.after.length; var insensitiveSpaces = this._spacesFor("insensitive"); count += insensitiveSpaces.before.length; if (name === "insensitive") { return this.insensitive ? count : -1; } return -1; }; _proto.toString = function toString() { var _this2 = this; var selector = [this.rawSpaceBefore, '[']; selector.push(this._stringFor('qualifiedAttribute', 'attribute')); if (this.operator && (this.value || this.value === '')) { selector.push(this._stringFor('operator')); selector.push(this._stringFor('value')); selector.push(this._stringFor('insensitiveFlag', 'insensitive', function (attrValue, attrSpaces) { if (attrValue.length > 0 && !_this2.quoted && attrSpaces.before.length === 0 && !(_this2.spaces.value && _this2.spaces.value.after)) { attrSpaces.before = " "; } return defaultAttrConcat(attrValue, attrSpaces); })); } selector.push(']'); selector.push(this.rawSpaceAfter); return selector.join(''); }; _createClass(Attribute, [{ key: "quoted", get: function get() { var qm = this.quoteMark; return qm === "'" || qm === '"'; }, set: function set(value) { warnOfDeprecatedQuotedAssignment(); } /** * returns a single (`'`) or double (`"`) quote character if the value is quoted. * returns `null` if the value is not quoted. * returns `undefined` if the quotation state is unknown (this can happen when * the attribute is constructed without specifying a quote mark.) */ }, { key: "quoteMark", get: function get() { return this._quoteMark; } /** * Set the quote mark to be used by this attribute's value. * If the quote mark changes, the raw (escaped) value at `attr.raws.value` of the attribute * value is updated accordingly. * * @param {"'" | '"' | null} quoteMark The quote mark or `null` if the value should be unquoted. */, set: function set(quoteMark) { if (!this._constructed) { this._quoteMark = quoteMark; return; } if (this._quoteMark !== quoteMark) { this._quoteMark = quoteMark; this._syncRawValue(); } } }, { key: "qualifiedAttribute", get: function get() { return this.qualifiedName(this.raws.attribute || this.attribute); } }, { key: "insensitiveFlag", get: function get() { return this.insensitive ? 'i' : ''; } }, { key: "value", get: function get() { return this._value; }, set: /** * Before 3.0, the value had to be set to an escaped value including any wrapped * quote marks. In 3.0, the semantics of `Attribute.value` changed so that the value * is unescaped during parsing and any quote marks are removed. * * Because the ambiguity of this semantic change, if you set `attr.value = newValue`, * a deprecation warning is raised when the new value contains any characters that would * require escaping (including if it contains wrapped quotes). * * Instead, you should call `attr.setValue(newValue, opts)` and pass options that describe * how the new value is quoted. */ function set(v) { if (this._constructed) { var _unescapeValue2 = unescapeValue(v), deprecatedUsage = _unescapeValue2.deprecatedUsage, unescaped = _unescapeValue2.unescaped, quoteMark = _unescapeValue2.quoteMark; if (deprecatedUsage) { warnOfDeprecatedValueAssignment(); } if (unescaped === this._value && quoteMark === this._quoteMark) { return; } this._value = unescaped; this._quoteMark = quoteMark; this._syncRawValue(); } else { this._value = v; } } }, { key: "insensitive", get: function get() { return this._insensitive; } /** * Set the case insensitive flag. * If the case insensitive flag changes, the raw (escaped) value at `attr.raws.insensitiveFlag` * of the attribute is updated accordingly. * * @param {true | false} insensitive true if the attribute should match case-insensitively. */, set: function set(insensitive) { if (!insensitive) { this._insensitive = false; // "i" and "I" can be used in "this.raws.insensitiveFlag" to store the original notation. // When setting `attr.insensitive = false` both should be erased to ensure correct serialization. if (this.raws && (this.raws.insensitiveFlag === 'I' || this.raws.insensitiveFlag === 'i')) { this.raws.insensitiveFlag = undefined; } } this._insensitive = insensitive; } }, { key: "attribute", get: function get() { return this._attribute; }, set: function set(name) { this._handleEscapes("attribute", name); this._attribute = name; } }]); return Attribute; }(_namespace["default"]); exports["default"] = Attribute; Attribute.NO_QUOTE = null; Attribute.SINGLE_QUOTE = "'"; Attribute.DOUBLE_QUOTE = '"'; var CSSESC_QUOTE_OPTIONS = (_CSSESC_QUOTE_OPTIONS = { "'": { quotes: 'single', wrap: true }, '"': { quotes: 'double', wrap: true } }, _CSSESC_QUOTE_OPTIONS[null] = { isIdentifier: true }, _CSSESC_QUOTE_OPTIONS); function defaultAttrConcat(attrValue, attrSpaces) { return "" + attrSpaces.before + attrValue + attrSpaces.after; } /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/className.js": /*!**************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/className.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _cssesc = _interopRequireDefault(__webpack_require__(/*! cssesc */ "./node_modules/cssesc/cssesc.js")); var _util = __webpack_require__(/*! ../util */ "./node_modules/postcss-selector-parser/dist/util/index.js"); var _node = _interopRequireDefault(__webpack_require__(/*! ./node */ "./node_modules/postcss-selector-parser/dist/selectors/node.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var ClassName = /*#__PURE__*/function (_Node) { _inheritsLoose(ClassName, _Node); function ClassName(opts) { var _this; _this = _Node.call(this, opts) || this; _this.type = _types.CLASS; _this._constructed = true; return _this; } var _proto = ClassName.prototype; _proto.valueToString = function valueToString() { return '.' + _Node.prototype.valueToString.call(this); }; _createClass(ClassName, [{ key: "value", get: function get() { return this._value; }, set: function set(v) { if (this._constructed) { var escaped = (0, _cssesc["default"])(v, { isIdentifier: true }); if (escaped !== v) { (0, _util.ensureObject)(this, "raws"); this.raws.value = escaped; } else if (this.raws) { delete this.raws.value; } } this._value = v; } }]); return ClassName; }(_node["default"]); exports["default"] = ClassName; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/combinator.js": /*!***************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/combinator.js ***! \***************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _node = _interopRequireDefault(__webpack_require__(/*! ./node */ "./node_modules/postcss-selector-parser/dist/selectors/node.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var Combinator = /*#__PURE__*/function (_Node) { _inheritsLoose(Combinator, _Node); function Combinator(opts) { var _this; _this = _Node.call(this, opts) || this; _this.type = _types.COMBINATOR; return _this; } return Combinator; }(_node["default"]); exports["default"] = Combinator; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/comment.js": /*!************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/comment.js ***! \************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _node = _interopRequireDefault(__webpack_require__(/*! ./node */ "./node_modules/postcss-selector-parser/dist/selectors/node.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var Comment = /*#__PURE__*/function (_Node) { _inheritsLoose(Comment, _Node); function Comment(opts) { var _this; _this = _Node.call(this, opts) || this; _this.type = _types.COMMENT; return _this; } return Comment; }(_node["default"]); exports["default"] = Comment; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/constructors.js": /*!*****************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/constructors.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports.universal = exports.tag = exports.string = exports.selector = exports.root = exports.pseudo = exports.nesting = exports.id = exports.comment = exports.combinator = exports.className = exports.attribute = void 0; var _attribute = _interopRequireDefault(__webpack_require__(/*! ./attribute */ "./node_modules/postcss-selector-parser/dist/selectors/attribute.js")); var _className = _interopRequireDefault(__webpack_require__(/*! ./className */ "./node_modules/postcss-selector-parser/dist/selectors/className.js")); var _combinator = _interopRequireDefault(__webpack_require__(/*! ./combinator */ "./node_modules/postcss-selector-parser/dist/selectors/combinator.js")); var _comment = _interopRequireDefault(__webpack_require__(/*! ./comment */ "./node_modules/postcss-selector-parser/dist/selectors/comment.js")); var _id = _interopRequireDefault(__webpack_require__(/*! ./id */ "./node_modules/postcss-selector-parser/dist/selectors/id.js")); var _nesting = _interopRequireDefault(__webpack_require__(/*! ./nesting */ "./node_modules/postcss-selector-parser/dist/selectors/nesting.js")); var _pseudo = _interopRequireDefault(__webpack_require__(/*! ./pseudo */ "./node_modules/postcss-selector-parser/dist/selectors/pseudo.js")); var _root = _interopRequireDefault(__webpack_require__(/*! ./root */ "./node_modules/postcss-selector-parser/dist/selectors/root.js")); var _selector = _interopRequireDefault(__webpack_require__(/*! ./selector */ "./node_modules/postcss-selector-parser/dist/selectors/selector.js")); var _string = _interopRequireDefault(__webpack_require__(/*! ./string */ "./node_modules/postcss-selector-parser/dist/selectors/string.js")); var _tag = _interopRequireDefault(__webpack_require__(/*! ./tag */ "./node_modules/postcss-selector-parser/dist/selectors/tag.js")); var _universal = _interopRequireDefault(__webpack_require__(/*! ./universal */ "./node_modules/postcss-selector-parser/dist/selectors/universal.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var attribute = function attribute(opts) { return new _attribute["default"](opts); }; exports.attribute = attribute; var className = function className(opts) { return new _className["default"](opts); }; exports.className = className; var combinator = function combinator(opts) { return new _combinator["default"](opts); }; exports.combinator = combinator; var comment = function comment(opts) { return new _comment["default"](opts); }; exports.comment = comment; var id = function id(opts) { return new _id["default"](opts); }; exports.id = id; var nesting = function nesting(opts) { return new _nesting["default"](opts); }; exports.nesting = nesting; var pseudo = function pseudo(opts) { return new _pseudo["default"](opts); }; exports.pseudo = pseudo; var root = function root(opts) { return new _root["default"](opts); }; exports.root = root; var selector = function selector(opts) { return new _selector["default"](opts); }; exports.selector = selector; var string = function string(opts) { return new _string["default"](opts); }; exports.string = string; var tag = function tag(opts) { return new _tag["default"](opts); }; exports.tag = tag; var universal = function universal(opts) { return new _universal["default"](opts); }; exports.universal = universal; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/container.js": /*!**************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/container.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _node = _interopRequireDefault(__webpack_require__(/*! ./node */ "./node_modules/postcss-selector-parser/dist/selectors/node.js")); var types = _interopRequireWildcard(__webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var Container = /*#__PURE__*/function (_Node) { _inheritsLoose(Container, _Node); function Container(opts) { var _this; _this = _Node.call(this, opts) || this; if (!_this.nodes) { _this.nodes = []; } return _this; } var _proto = Container.prototype; _proto.append = function append(selector) { selector.parent = this; this.nodes.push(selector); return this; }; _proto.prepend = function prepend(selector) { selector.parent = this; this.nodes.unshift(selector); for (var id in this.indexes) { this.indexes[id]++; } return this; }; _proto.at = function at(index) { return this.nodes[index]; }; _proto.index = function index(child) { if (typeof child === 'number') { return child; } return this.nodes.indexOf(child); }; _proto.removeChild = function removeChild(child) { child = this.index(child); this.at(child).parent = undefined; this.nodes.splice(child, 1); var index; for (var id in this.indexes) { index = this.indexes[id]; if (index >= child) { this.indexes[id] = index - 1; } } return this; }; _proto.removeAll = function removeAll() { for (var _iterator = _createForOfIteratorHelperLoose(this.nodes), _step; !(_step = _iterator()).done;) { var node = _step.value; node.parent = undefined; } this.nodes = []; return this; }; _proto.empty = function empty() { return this.removeAll(); }; _proto.insertAfter = function insertAfter(oldNode, newNode) { var _this$nodes; newNode.parent = this; var oldIndex = this.index(oldNode); var resetNode = []; for (var i = 2; i < arguments.length; i++) { resetNode.push(arguments[i]); } (_this$nodes = this.nodes).splice.apply(_this$nodes, [oldIndex + 1, 0, newNode].concat(resetNode)); newNode.parent = this; var index; for (var id in this.indexes) { index = this.indexes[id]; if (oldIndex < index) { this.indexes[id] = index + arguments.length - 1; } } return this; }; _proto.insertBefore = function insertBefore(oldNode, newNode) { var _this$nodes2; newNode.parent = this; var oldIndex = this.index(oldNode); var resetNode = []; for (var i = 2; i < arguments.length; i++) { resetNode.push(arguments[i]); } (_this$nodes2 = this.nodes).splice.apply(_this$nodes2, [oldIndex, 0, newNode].concat(resetNode)); newNode.parent = this; var index; for (var id in this.indexes) { index = this.indexes[id]; if (index >= oldIndex) { this.indexes[id] = index + arguments.length - 1; } } return this; }; _proto._findChildAtPosition = function _findChildAtPosition(line, col) { var found = undefined; this.each(function (node) { if (node.atPosition) { var foundChild = node.atPosition(line, col); if (foundChild) { found = foundChild; return false; } } else if (node.isAtPosition(line, col)) { found = node; return false; } }); return found; } /** * Return the most specific node at the line and column number given. * The source location is based on the original parsed location, locations aren't * updated as selector nodes are mutated. * * Note that this location is relative to the location of the first character * of the selector, and not the location of the selector in the overall document * when used in conjunction with postcss. * * If not found, returns undefined. * @param {number} line The line number of the node to find. (1-based index) * @param {number} col The column number of the node to find. (1-based index) */; _proto.atPosition = function atPosition(line, col) { if (this.isAtPosition(line, col)) { return this._findChildAtPosition(line, col) || this; } else { return undefined; } }; _proto._inferEndPosition = function _inferEndPosition() { if (this.last && this.last.source && this.last.source.end) { this.source = this.source || {}; this.source.end = this.source.end || {}; Object.assign(this.source.end, this.last.source.end); } }; _proto.each = function each(callback) { if (!this.lastEach) { this.lastEach = 0; } if (!this.indexes) { this.indexes = {}; } this.lastEach++; var id = this.lastEach; this.indexes[id] = 0; if (!this.length) { return undefined; } var index, result; while (this.indexes[id] < this.length) { index = this.indexes[id]; result = callback(this.at(index), index); if (result === false) { break; } this.indexes[id] += 1; } delete this.indexes[id]; if (result === false) { return false; } }; _proto.walk = function walk(callback) { return this.each(function (node, i) { var result = callback(node, i); if (result !== false && node.length) { result = node.walk(callback); } if (result === false) { return false; } }); }; _proto.walkAttributes = function walkAttributes(callback) { var _this2 = this; return this.walk(function (selector) { if (selector.type === types.ATTRIBUTE) { return callback.call(_this2, selector); } }); }; _proto.walkClasses = function walkClasses(callback) { var _this3 = this; return this.walk(function (selector) { if (selector.type === types.CLASS) { return callback.call(_this3, selector); } }); }; _proto.walkCombinators = function walkCombinators(callback) { var _this4 = this; return this.walk(function (selector) { if (selector.type === types.COMBINATOR) { return callback.call(_this4, selector); } }); }; _proto.walkComments = function walkComments(callback) { var _this5 = this; return this.walk(function (selector) { if (selector.type === types.COMMENT) { return callback.call(_this5, selector); } }); }; _proto.walkIds = function walkIds(callback) { var _this6 = this; return this.walk(function (selector) { if (selector.type === types.ID) { return callback.call(_this6, selector); } }); }; _proto.walkNesting = function walkNesting(callback) { var _this7 = this; return this.walk(function (selector) { if (selector.type === types.NESTING) { return callback.call(_this7, selector); } }); }; _proto.walkPseudos = function walkPseudos(callback) { var _this8 = this; return this.walk(function (selector) { if (selector.type === types.PSEUDO) { return callback.call(_this8, selector); } }); }; _proto.walkTags = function walkTags(callback) { var _this9 = this; return this.walk(function (selector) { if (selector.type === types.TAG) { return callback.call(_this9, selector); } }); }; _proto.walkUniversals = function walkUniversals(callback) { var _this10 = this; return this.walk(function (selector) { if (selector.type === types.UNIVERSAL) { return callback.call(_this10, selector); } }); }; _proto.split = function split(callback) { var _this11 = this; var current = []; return this.reduce(function (memo, node, index) { var split = callback.call(_this11, node); current.push(node); if (split) { memo.push(current); current = []; } else if (index === _this11.length - 1) { memo.push(current); } return memo; }, []); }; _proto.map = function map(callback) { return this.nodes.map(callback); }; _proto.reduce = function reduce(callback, memo) { return this.nodes.reduce(callback, memo); }; _proto.every = function every(callback) { return this.nodes.every(callback); }; _proto.some = function some(callback) { return this.nodes.some(callback); }; _proto.filter = function filter(callback) { return this.nodes.filter(callback); }; _proto.sort = function sort(callback) { return this.nodes.sort(callback); }; _proto.toString = function toString() { return this.map(String).join(''); }; _createClass(Container, [{ key: "first", get: function get() { return this.at(0); } }, { key: "last", get: function get() { return this.at(this.length - 1); } }, { key: "length", get: function get() { return this.nodes.length; } }]); return Container; }(_node["default"]); exports["default"] = Container; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/guards.js": /*!***********************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/guards.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports.isComment = exports.isCombinator = exports.isClassName = exports.isAttribute = void 0; exports.isContainer = isContainer; exports.isIdentifier = void 0; exports.isNamespace = isNamespace; exports.isNesting = void 0; exports.isNode = isNode; exports.isPseudo = void 0; exports.isPseudoClass = isPseudoClass; exports.isPseudoElement = isPseudoElement; exports.isUniversal = exports.isTag = exports.isString = exports.isSelector = exports.isRoot = void 0; var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); var _IS_TYPE; var IS_TYPE = (_IS_TYPE = {}, _IS_TYPE[_types.ATTRIBUTE] = true, _IS_TYPE[_types.CLASS] = true, _IS_TYPE[_types.COMBINATOR] = true, _IS_TYPE[_types.COMMENT] = true, _IS_TYPE[_types.ID] = true, _IS_TYPE[_types.NESTING] = true, _IS_TYPE[_types.PSEUDO] = true, _IS_TYPE[_types.ROOT] = true, _IS_TYPE[_types.SELECTOR] = true, _IS_TYPE[_types.STRING] = true, _IS_TYPE[_types.TAG] = true, _IS_TYPE[_types.UNIVERSAL] = true, _IS_TYPE); function isNode(node) { return typeof node === "object" && IS_TYPE[node.type]; } function isNodeType(type, node) { return isNode(node) && node.type === type; } var isAttribute = isNodeType.bind(null, _types.ATTRIBUTE); exports.isAttribute = isAttribute; var isClassName = isNodeType.bind(null, _types.CLASS); exports.isClassName = isClassName; var isCombinator = isNodeType.bind(null, _types.COMBINATOR); exports.isCombinator = isCombinator; var isComment = isNodeType.bind(null, _types.COMMENT); exports.isComment = isComment; var isIdentifier = isNodeType.bind(null, _types.ID); exports.isIdentifier = isIdentifier; var isNesting = isNodeType.bind(null, _types.NESTING); exports.isNesting = isNesting; var isPseudo = isNodeType.bind(null, _types.PSEUDO); exports.isPseudo = isPseudo; var isRoot = isNodeType.bind(null, _types.ROOT); exports.isRoot = isRoot; var isSelector = isNodeType.bind(null, _types.SELECTOR); exports.isSelector = isSelector; var isString = isNodeType.bind(null, _types.STRING); exports.isString = isString; var isTag = isNodeType.bind(null, _types.TAG); exports.isTag = isTag; var isUniversal = isNodeType.bind(null, _types.UNIVERSAL); exports.isUniversal = isUniversal; function isPseudoElement(node) { return isPseudo(node) && node.value && (node.value.startsWith("::") || node.value.toLowerCase() === ":before" || node.value.toLowerCase() === ":after" || node.value.toLowerCase() === ":first-letter" || node.value.toLowerCase() === ":first-line"); } function isPseudoClass(node) { return isPseudo(node) && !isPseudoElement(node); } function isContainer(node) { return !!(isNode(node) && node.walk); } function isNamespace(node) { return isAttribute(node) || isTag(node); } /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/id.js": /*!*******************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/id.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _node = _interopRequireDefault(__webpack_require__(/*! ./node */ "./node_modules/postcss-selector-parser/dist/selectors/node.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var ID = /*#__PURE__*/function (_Node) { _inheritsLoose(ID, _Node); function ID(opts) { var _this; _this = _Node.call(this, opts) || this; _this.type = _types.ID; return _this; } var _proto = ID.prototype; _proto.valueToString = function valueToString() { return '#' + _Node.prototype.valueToString.call(this); }; return ID; }(_node["default"]); exports["default"] = ID; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/index.js": /*!**********************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/index.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); Object.keys(_types).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (key in exports && exports[key] === _types[key]) return; exports[key] = _types[key]; }); var _constructors = __webpack_require__(/*! ./constructors */ "./node_modules/postcss-selector-parser/dist/selectors/constructors.js"); Object.keys(_constructors).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (key in exports && exports[key] === _constructors[key]) return; exports[key] = _constructors[key]; }); var _guards = __webpack_require__(/*! ./guards */ "./node_modules/postcss-selector-parser/dist/selectors/guards.js"); Object.keys(_guards).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (key in exports && exports[key] === _guards[key]) return; exports[key] = _guards[key]; }); /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/namespace.js": /*!**************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/namespace.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _cssesc = _interopRequireDefault(__webpack_require__(/*! cssesc */ "./node_modules/cssesc/cssesc.js")); var _util = __webpack_require__(/*! ../util */ "./node_modules/postcss-selector-parser/dist/util/index.js"); var _node = _interopRequireDefault(__webpack_require__(/*! ./node */ "./node_modules/postcss-selector-parser/dist/selectors/node.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var Namespace = /*#__PURE__*/function (_Node) { _inheritsLoose(Namespace, _Node); function Namespace() { return _Node.apply(this, arguments) || this; } var _proto = Namespace.prototype; _proto.qualifiedName = function qualifiedName(value) { if (this.namespace) { return this.namespaceString + "|" + value; } else { return value; } }; _proto.valueToString = function valueToString() { return this.qualifiedName(_Node.prototype.valueToString.call(this)); }; _createClass(Namespace, [{ key: "namespace", get: function get() { return this._namespace; }, set: function set(namespace) { if (namespace === true || namespace === "*" || namespace === "&") { this._namespace = namespace; if (this.raws) { delete this.raws.namespace; } return; } var escaped = (0, _cssesc["default"])(namespace, { isIdentifier: true }); this._namespace = namespace; if (escaped !== namespace) { (0, _util.ensureObject)(this, "raws"); this.raws.namespace = escaped; } else if (this.raws) { delete this.raws.namespace; } } }, { key: "ns", get: function get() { return this._namespace; }, set: function set(namespace) { this.namespace = namespace; } }, { key: "namespaceString", get: function get() { if (this.namespace) { var ns = this.stringifyProperty("namespace"); if (ns === true) { return ''; } else { return ns; } } else { return ''; } } }]); return Namespace; }(_node["default"]); exports["default"] = Namespace; ; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/nesting.js": /*!************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/nesting.js ***! \************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _node = _interopRequireDefault(__webpack_require__(/*! ./node */ "./node_modules/postcss-selector-parser/dist/selectors/node.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var Nesting = /*#__PURE__*/function (_Node) { _inheritsLoose(Nesting, _Node); function Nesting(opts) { var _this; _this = _Node.call(this, opts) || this; _this.type = _types.NESTING; _this.value = '&'; return _this; } return Nesting; }(_node["default"]); exports["default"] = Nesting; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/node.js": /*!*********************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/node.js ***! \*********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _util = __webpack_require__(/*! ../util */ "./node_modules/postcss-selector-parser/dist/util/index.js"); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var cloneNode = function cloneNode(obj, parent) { if (typeof obj !== 'object' || obj === null) { return obj; } var cloned = new obj.constructor(); for (var i in obj) { if (!obj.hasOwnProperty(i)) { continue; } var value = obj[i]; var type = typeof value; if (i === 'parent' && type === 'object') { if (parent) { cloned[i] = parent; } } else if (value instanceof Array) { cloned[i] = value.map(function (j) { return cloneNode(j, cloned); }); } else { cloned[i] = cloneNode(value, cloned); } } return cloned; }; var Node = /*#__PURE__*/function () { function Node(opts) { if (opts === void 0) { opts = {}; } Object.assign(this, opts); this.spaces = this.spaces || {}; this.spaces.before = this.spaces.before || ''; this.spaces.after = this.spaces.after || ''; } var _proto = Node.prototype; _proto.remove = function remove() { if (this.parent) { this.parent.removeChild(this); } this.parent = undefined; return this; }; _proto.replaceWith = function replaceWith() { if (this.parent) { for (var index in arguments) { this.parent.insertBefore(this, arguments[index]); } this.remove(); } return this; }; _proto.next = function next() { return this.parent.at(this.parent.index(this) + 1); }; _proto.prev = function prev() { return this.parent.at(this.parent.index(this) - 1); }; _proto.clone = function clone(overrides) { if (overrides === void 0) { overrides = {}; } var cloned = cloneNode(this); for (var name in overrides) { cloned[name] = overrides[name]; } return cloned; } /** * Some non-standard syntax doesn't follow normal escaping rules for css. * This allows non standard syntax to be appended to an existing property * by specifying the escaped value. By specifying the escaped value, * illegal characters are allowed to be directly inserted into css output. * @param {string} name the property to set * @param {any} value the unescaped value of the property * @param {string} valueEscaped optional. the escaped value of the property. */; _proto.appendToPropertyAndEscape = function appendToPropertyAndEscape(name, value, valueEscaped) { if (!this.raws) { this.raws = {}; } var originalValue = this[name]; var originalEscaped = this.raws[name]; this[name] = originalValue + value; // this may trigger a setter that updates raws, so it has to be set first. if (originalEscaped || valueEscaped !== value) { this.raws[name] = (originalEscaped || originalValue) + valueEscaped; } else { delete this.raws[name]; // delete any escaped value that was created by the setter. } } /** * Some non-standard syntax doesn't follow normal escaping rules for css. * This allows the escaped value to be specified directly, allowing illegal * characters to be directly inserted into css output. * @param {string} name the property to set * @param {any} value the unescaped value of the property * @param {string} valueEscaped the escaped value of the property. */; _proto.setPropertyAndEscape = function setPropertyAndEscape(name, value, valueEscaped) { if (!this.raws) { this.raws = {}; } this[name] = value; // this may trigger a setter that updates raws, so it has to be set first. this.raws[name] = valueEscaped; } /** * When you want a value to passed through to CSS directly. This method * deletes the corresponding raw value causing the stringifier to fallback * to the unescaped value. * @param {string} name the property to set. * @param {any} value The value that is both escaped and unescaped. */; _proto.setPropertyWithoutEscape = function setPropertyWithoutEscape(name, value) { this[name] = value; // this may trigger a setter that updates raws, so it has to be set first. if (this.raws) { delete this.raws[name]; } } /** * * @param {number} line The number (starting with 1) * @param {number} column The column number (starting with 1) */; _proto.isAtPosition = function isAtPosition(line, column) { if (this.source && this.source.start && this.source.end) { if (this.source.start.line > line) { return false; } if (this.source.end.line < line) { return false; } if (this.source.start.line === line && this.source.start.column > column) { return false; } if (this.source.end.line === line && this.source.end.column < column) { return false; } return true; } return undefined; }; _proto.stringifyProperty = function stringifyProperty(name) { return this.raws && this.raws[name] || this[name]; }; _proto.valueToString = function valueToString() { return String(this.stringifyProperty("value")); }; _proto.toString = function toString() { return [this.rawSpaceBefore, this.valueToString(), this.rawSpaceAfter].join(''); }; _createClass(Node, [{ key: "rawSpaceBefore", get: function get() { var rawSpace = this.raws && this.raws.spaces && this.raws.spaces.before; if (rawSpace === undefined) { rawSpace = this.spaces && this.spaces.before; } return rawSpace || ""; }, set: function set(raw) { (0, _util.ensureObject)(this, "raws", "spaces"); this.raws.spaces.before = raw; } }, { key: "rawSpaceAfter", get: function get() { var rawSpace = this.raws && this.raws.spaces && this.raws.spaces.after; if (rawSpace === undefined) { rawSpace = this.spaces.after; } return rawSpace || ""; }, set: function set(raw) { (0, _util.ensureObject)(this, "raws", "spaces"); this.raws.spaces.after = raw; } }]); return Node; }(); exports["default"] = Node; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/pseudo.js": /*!***********************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/pseudo.js ***! \***********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _container = _interopRequireDefault(__webpack_require__(/*! ./container */ "./node_modules/postcss-selector-parser/dist/selectors/container.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var Pseudo = /*#__PURE__*/function (_Container) { _inheritsLoose(Pseudo, _Container); function Pseudo(opts) { var _this; _this = _Container.call(this, opts) || this; _this.type = _types.PSEUDO; return _this; } var _proto = Pseudo.prototype; _proto.toString = function toString() { var params = this.length ? '(' + this.map(String).join(',') + ')' : ''; return [this.rawSpaceBefore, this.stringifyProperty("value"), params, this.rawSpaceAfter].join(''); }; return Pseudo; }(_container["default"]); exports["default"] = Pseudo; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/root.js": /*!*********************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/root.js ***! \*********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _container = _interopRequireDefault(__webpack_require__(/*! ./container */ "./node_modules/postcss-selector-parser/dist/selectors/container.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var Root = /*#__PURE__*/function (_Container) { _inheritsLoose(Root, _Container); function Root(opts) { var _this; _this = _Container.call(this, opts) || this; _this.type = _types.ROOT; return _this; } var _proto = Root.prototype; _proto.toString = function toString() { var str = this.reduce(function (memo, selector) { memo.push(String(selector)); return memo; }, []).join(','); return this.trailingComma ? str + ',' : str; }; _proto.error = function error(message, options) { if (this._error) { return this._error(message, options); } else { return new Error(message); } }; _createClass(Root, [{ key: "errorGenerator", set: function set(handler) { this._error = handler; } }]); return Root; }(_container["default"]); exports["default"] = Root; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/selector.js": /*!*************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/selector.js ***! \*************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _container = _interopRequireDefault(__webpack_require__(/*! ./container */ "./node_modules/postcss-selector-parser/dist/selectors/container.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var Selector = /*#__PURE__*/function (_Container) { _inheritsLoose(Selector, _Container); function Selector(opts) { var _this; _this = _Container.call(this, opts) || this; _this.type = _types.SELECTOR; return _this; } return Selector; }(_container["default"]); exports["default"] = Selector; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/string.js": /*!***********************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/string.js ***! \***********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _node = _interopRequireDefault(__webpack_require__(/*! ./node */ "./node_modules/postcss-selector-parser/dist/selectors/node.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var String = /*#__PURE__*/function (_Node) { _inheritsLoose(String, _Node); function String(opts) { var _this; _this = _Node.call(this, opts) || this; _this.type = _types.STRING; return _this; } return String; }(_node["default"]); exports["default"] = String; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/tag.js": /*!********************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/tag.js ***! \********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _namespace = _interopRequireDefault(__webpack_require__(/*! ./namespace */ "./node_modules/postcss-selector-parser/dist/selectors/namespace.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var Tag = /*#__PURE__*/function (_Namespace) { _inheritsLoose(Tag, _Namespace); function Tag(opts) { var _this; _this = _Namespace.call(this, opts) || this; _this.type = _types.TAG; return _this; } return Tag; }(_namespace["default"]); exports["default"] = Tag; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/types.js": /*!**********************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/types.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; exports.__esModule = true; exports.UNIVERSAL = exports.TAG = exports.STRING = exports.SELECTOR = exports.ROOT = exports.PSEUDO = exports.NESTING = exports.ID = exports.COMMENT = exports.COMBINATOR = exports.CLASS = exports.ATTRIBUTE = void 0; var TAG = 'tag'; exports.TAG = TAG; var STRING = 'string'; exports.STRING = STRING; var SELECTOR = 'selector'; exports.SELECTOR = SELECTOR; var ROOT = 'root'; exports.ROOT = ROOT; var PSEUDO = 'pseudo'; exports.PSEUDO = PSEUDO; var NESTING = 'nesting'; exports.NESTING = NESTING; var ID = 'id'; exports.ID = ID; var COMMENT = 'comment'; exports.COMMENT = COMMENT; var COMBINATOR = 'combinator'; exports.COMBINATOR = COMBINATOR; var CLASS = 'class'; exports.CLASS = CLASS; var ATTRIBUTE = 'attribute'; exports.ATTRIBUTE = ATTRIBUTE; var UNIVERSAL = 'universal'; exports.UNIVERSAL = UNIVERSAL; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/selectors/universal.js": /*!**************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/selectors/universal.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports["default"] = void 0; var _namespace = _interopRequireDefault(__webpack_require__(/*! ./namespace */ "./node_modules/postcss-selector-parser/dist/selectors/namespace.js")); var _types = __webpack_require__(/*! ./types */ "./node_modules/postcss-selector-parser/dist/selectors/types.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } var Universal = /*#__PURE__*/function (_Namespace) { _inheritsLoose(Universal, _Namespace); function Universal(opts) { var _this; _this = _Namespace.call(this, opts) || this; _this.type = _types.UNIVERSAL; _this.value = '*'; return _this; } return Universal; }(_namespace["default"]); exports["default"] = Universal; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/sortAscending.js": /*!********************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/sortAscending.js ***! \********************************************************************/ /***/ ((module, exports) => { "use strict"; exports.__esModule = true; exports["default"] = sortAscending; function sortAscending(list) { return list.sort(function (a, b) { return a - b; }); } ; module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/tokenTypes.js": /*!*****************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/tokenTypes.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; exports.__esModule = true; exports.word = exports.tilde = exports.tab = exports.str = exports.space = exports.slash = exports.singleQuote = exports.semicolon = exports.plus = exports.pipe = exports.openSquare = exports.openParenthesis = exports.newline = exports.greaterThan = exports.feed = exports.equals = exports.doubleQuote = exports.dollar = exports.cr = exports.comment = exports.comma = exports.combinator = exports.colon = exports.closeSquare = exports.closeParenthesis = exports.caret = exports.bang = exports.backslash = exports.at = exports.asterisk = exports.ampersand = void 0; var ampersand = 38; // `&`.charCodeAt(0); exports.ampersand = ampersand; var asterisk = 42; // `*`.charCodeAt(0); exports.asterisk = asterisk; var at = 64; // `@`.charCodeAt(0); exports.at = at; var comma = 44; // `,`.charCodeAt(0); exports.comma = comma; var colon = 58; // `:`.charCodeAt(0); exports.colon = colon; var semicolon = 59; // `;`.charCodeAt(0); exports.semicolon = semicolon; var openParenthesis = 40; // `(`.charCodeAt(0); exports.openParenthesis = openParenthesis; var closeParenthesis = 41; // `)`.charCodeAt(0); exports.closeParenthesis = closeParenthesis; var openSquare = 91; // `[`.charCodeAt(0); exports.openSquare = openSquare; var closeSquare = 93; // `]`.charCodeAt(0); exports.closeSquare = closeSquare; var dollar = 36; // `$`.charCodeAt(0); exports.dollar = dollar; var tilde = 126; // `~`.charCodeAt(0); exports.tilde = tilde; var caret = 94; // `^`.charCodeAt(0); exports.caret = caret; var plus = 43; // `+`.charCodeAt(0); exports.plus = plus; var equals = 61; // `=`.charCodeAt(0); exports.equals = equals; var pipe = 124; // `|`.charCodeAt(0); exports.pipe = pipe; var greaterThan = 62; // `>`.charCodeAt(0); exports.greaterThan = greaterThan; var space = 32; // ` `.charCodeAt(0); exports.space = space; var singleQuote = 39; // `'`.charCodeAt(0); exports.singleQuote = singleQuote; var doubleQuote = 34; // `"`.charCodeAt(0); exports.doubleQuote = doubleQuote; var slash = 47; // `/`.charCodeAt(0); exports.slash = slash; var bang = 33; // `!`.charCodeAt(0); exports.bang = bang; var backslash = 92; // '\\'.charCodeAt(0); exports.backslash = backslash; var cr = 13; // '\r'.charCodeAt(0); exports.cr = cr; var feed = 12; // '\f'.charCodeAt(0); exports.feed = feed; var newline = 10; // '\n'.charCodeAt(0); exports.newline = newline; var tab = 9; // '\t'.charCodeAt(0); // Expose aliases primarily for readability. exports.tab = tab; var str = singleQuote; // No good single character representation! exports.str = str; var comment = -1; exports.comment = comment; var word = -2; exports.word = word; var combinator = -3; exports.combinator = combinator; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/tokenize.js": /*!***************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/tokenize.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports.FIELDS = void 0; exports["default"] = tokenize; var t = _interopRequireWildcard(__webpack_require__(/*! ./tokenTypes */ "./node_modules/postcss-selector-parser/dist/tokenTypes.js")); var _unescapable, _wordDelimiters; function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var unescapable = (_unescapable = {}, _unescapable[t.tab] = true, _unescapable[t.newline] = true, _unescapable[t.cr] = true, _unescapable[t.feed] = true, _unescapable); var wordDelimiters = (_wordDelimiters = {}, _wordDelimiters[t.space] = true, _wordDelimiters[t.tab] = true, _wordDelimiters[t.newline] = true, _wordDelimiters[t.cr] = true, _wordDelimiters[t.feed] = true, _wordDelimiters[t.ampersand] = true, _wordDelimiters[t.asterisk] = true, _wordDelimiters[t.bang] = true, _wordDelimiters[t.comma] = true, _wordDelimiters[t.colon] = true, _wordDelimiters[t.semicolon] = true, _wordDelimiters[t.openParenthesis] = true, _wordDelimiters[t.closeParenthesis] = true, _wordDelimiters[t.openSquare] = true, _wordDelimiters[t.closeSquare] = true, _wordDelimiters[t.singleQuote] = true, _wordDelimiters[t.doubleQuote] = true, _wordDelimiters[t.plus] = true, _wordDelimiters[t.pipe] = true, _wordDelimiters[t.tilde] = true, _wordDelimiters[t.greaterThan] = true, _wordDelimiters[t.equals] = true, _wordDelimiters[t.dollar] = true, _wordDelimiters[t.caret] = true, _wordDelimiters[t.slash] = true, _wordDelimiters); var hex = {}; var hexChars = "0123456789abcdefABCDEF"; for (var i = 0; i < hexChars.length; i++) { hex[hexChars.charCodeAt(i)] = true; } /** * Returns the last index of the bar css word * @param {string} css The string in which the word begins * @param {number} start The index into the string where word's first letter occurs */ function consumeWord(css, start) { var next = start; var code; do { code = css.charCodeAt(next); if (wordDelimiters[code]) { return next - 1; } else if (code === t.backslash) { next = consumeEscape(css, next) + 1; } else { // All other characters are part of the word next++; } } while (next < css.length); return next - 1; } /** * Returns the last index of the escape sequence * @param {string} css The string in which the sequence begins * @param {number} start The index into the string where escape character (`\`) occurs. */ function consumeEscape(css, start) { var next = start; var code = css.charCodeAt(next + 1); if (unescapable[code]) { // just consume the escape char } else if (hex[code]) { var hexDigits = 0; // consume up to 6 hex chars do { next++; hexDigits++; code = css.charCodeAt(next + 1); } while (hex[code] && hexDigits < 6); // if fewer than 6 hex chars, a trailing space ends the escape if (hexDigits < 6 && code === t.space) { next++; } } else { // the next char is part of the current word next++; } return next; } var FIELDS = { TYPE: 0, START_LINE: 1, START_COL: 2, END_LINE: 3, END_COL: 4, START_POS: 5, END_POS: 6 }; exports.FIELDS = FIELDS; function tokenize(input) { var tokens = []; var css = input.css.valueOf(); var _css = css, length = _css.length; var offset = -1; var line = 1; var start = 0; var end = 0; var code, content, endColumn, endLine, escaped, escapePos, last, lines, next, nextLine, nextOffset, quote, tokenType; function unclosed(what, fix) { if (input.safe) { // fyi: this is never set to true. css += fix; next = css.length - 1; } else { throw input.error('Unclosed ' + what, line, start - offset, start); } } while (start < length) { code = css.charCodeAt(start); if (code === t.newline) { offset = start; line += 1; } switch (code) { case t.space: case t.tab: case t.newline: case t.cr: case t.feed: next = start; do { next += 1; code = css.charCodeAt(next); if (code === t.newline) { offset = next; line += 1; } } while (code === t.space || code === t.newline || code === t.tab || code === t.cr || code === t.feed); tokenType = t.space; endLine = line; endColumn = next - offset - 1; end = next; break; case t.plus: case t.greaterThan: case t.tilde: case t.pipe: next = start; do { next += 1; code = css.charCodeAt(next); } while (code === t.plus || code === t.greaterThan || code === t.tilde || code === t.pipe); tokenType = t.combinator; endLine = line; endColumn = start - offset; end = next; break; // Consume these characters as single tokens. case t.asterisk: case t.ampersand: case t.bang: case t.comma: case t.equals: case t.dollar: case t.caret: case t.openSquare: case t.closeSquare: case t.colon: case t.semicolon: case t.openParenthesis: case t.closeParenthesis: next = start; tokenType = code; endLine = line; endColumn = start - offset; end = next + 1; break; case t.singleQuote: case t.doubleQuote: quote = code === t.singleQuote ? "'" : '"'; next = start; do { escaped = false; next = css.indexOf(quote, next + 1); if (next === -1) { unclosed('quote', quote); } escapePos = next; while (css.charCodeAt(escapePos - 1) === t.backslash) { escapePos -= 1; escaped = !escaped; } } while (escaped); tokenType = t.str; endLine = line; endColumn = start - offset; end = next + 1; break; default: if (code === t.slash && css.charCodeAt(start + 1) === t.asterisk) { next = css.indexOf('*/', start + 2) + 1; if (next === 0) { unclosed('comment', '*/'); } content = css.slice(start, next + 1); lines = content.split('\n'); last = lines.length - 1; if (last > 0) { nextLine = line + last; nextOffset = next - lines[last].length; } else { nextLine = line; nextOffset = offset; } tokenType = t.comment; line = nextLine; endLine = nextLine; endColumn = next - nextOffset; } else if (code === t.slash) { next = start; tokenType = code; endLine = line; endColumn = start - offset; end = next + 1; } else { next = consumeWord(css, start); tokenType = t.word; endLine = line; endColumn = next - offset; } end = next + 1; break; } // Ensure that the token structure remains consistent tokens.push([tokenType, // [0] Token type line, // [1] Starting line start - offset, // [2] Starting column endLine, // [3] Ending line endColumn, // [4] Ending column start, // [5] Start position / Source index end // [6] End position ]); // Reset offset for the next token if (nextOffset) { offset = nextOffset; nextOffset = null; } start = end; } return tokens; } /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/util/ensureObject.js": /*!************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/util/ensureObject.js ***! \************************************************************************/ /***/ ((module, exports) => { "use strict"; exports.__esModule = true; exports["default"] = ensureObject; function ensureObject(obj) { for (var _len = arguments.length, props = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { props[_key - 1] = arguments[_key]; } while (props.length > 0) { var prop = props.shift(); if (!obj[prop]) { obj[prop] = {}; } obj = obj[prop]; } } module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/util/getProp.js": /*!*******************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/util/getProp.js ***! \*******************************************************************/ /***/ ((module, exports) => { "use strict"; exports.__esModule = true; exports["default"] = getProp; function getProp(obj) { for (var _len = arguments.length, props = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { props[_key - 1] = arguments[_key]; } while (props.length > 0) { var prop = props.shift(); if (!obj[prop]) { return undefined; } obj = obj[prop]; } return obj; } module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/util/index.js": /*!*****************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/util/index.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; exports.__esModule = true; exports.unesc = exports.stripComments = exports.getProp = exports.ensureObject = void 0; var _unesc = _interopRequireDefault(__webpack_require__(/*! ./unesc */ "./node_modules/postcss-selector-parser/dist/util/unesc.js")); exports.unesc = _unesc["default"]; var _getProp = _interopRequireDefault(__webpack_require__(/*! ./getProp */ "./node_modules/postcss-selector-parser/dist/util/getProp.js")); exports.getProp = _getProp["default"]; var _ensureObject = _interopRequireDefault(__webpack_require__(/*! ./ensureObject */ "./node_modules/postcss-selector-parser/dist/util/ensureObject.js")); exports.ensureObject = _ensureObject["default"]; var _stripComments = _interopRequireDefault(__webpack_require__(/*! ./stripComments */ "./node_modules/postcss-selector-parser/dist/util/stripComments.js")); exports.stripComments = _stripComments["default"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/util/stripComments.js": /*!*************************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/util/stripComments.js ***! \*************************************************************************/ /***/ ((module, exports) => { "use strict"; exports.__esModule = true; exports["default"] = stripComments; function stripComments(str) { var s = ""; var commentStart = str.indexOf("/*"); var lastEnd = 0; while (commentStart >= 0) { s = s + str.slice(lastEnd, commentStart); var commentEnd = str.indexOf("*/", commentStart + 2); if (commentEnd < 0) { return s; } lastEnd = commentEnd + 2; commentStart = str.indexOf("/*", lastEnd); } s = s + str.slice(lastEnd); return s; } module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-selector-parser/dist/util/unesc.js": /*!*****************************************************************!*\ !*** ./node_modules/postcss-selector-parser/dist/util/unesc.js ***! \*****************************************************************/ /***/ ((module, exports) => { "use strict"; exports.__esModule = true; exports["default"] = unesc; // Many thanks for this post which made this migration much easier. // https://mathiasbynens.be/notes/css-escapes /** * * @param {string} str * @returns {[string, number]|undefined} */ function gobbleHex(str) { var lower = str.toLowerCase(); var hex = ''; var spaceTerminated = false; for (var i = 0; i < 6 && lower[i] !== undefined; i++) { var code = lower.charCodeAt(i); // check to see if we are dealing with a valid hex char [a-f|0-9] var valid = code >= 97 && code <= 102 || code >= 48 && code <= 57; // https://drafts.csswg.org/css-syntax/#consume-escaped-code-point spaceTerminated = code === 32; if (!valid) { break; } hex += lower[i]; } if (hex.length === 0) { return undefined; } var codePoint = parseInt(hex, 16); var isSurrogate = codePoint >= 0xD800 && codePoint <= 0xDFFF; // Add special case for // "If this number is zero, or is for a surrogate, or is greater than the maximum allowed code point" // https://drafts.csswg.org/css-syntax/#maximum-allowed-code-point if (isSurrogate || codePoint === 0x0000 || codePoint > 0x10FFFF) { return ["\uFFFD", hex.length + (spaceTerminated ? 1 : 0)]; } return [String.fromCodePoint(codePoint), hex.length + (spaceTerminated ? 1 : 0)]; } var CONTAINS_ESCAPE = /\\/; function unesc(str) { var needToProcess = CONTAINS_ESCAPE.test(str); if (!needToProcess) { return str; } var ret = ""; for (var i = 0; i < str.length; i++) { if (str[i] === "\\") { var gobbled = gobbleHex(str.slice(i + 1, i + 7)); if (gobbled !== undefined) { ret += gobbled[0]; i += gobbled[1]; continue; } // Retain a pair of \\ if double escaped `\\\\` // https://github.com/postcss/postcss-selector-parser/commit/268c9a7656fb53f543dc620aa5b73a30ec3ff20e if (str[i + 1] === "\\") { ret += "\\"; i++; continue; } // if \\ is at the end of the string retain it // https://github.com/postcss/postcss-selector-parser/commit/01a6b346e3612ce1ab20219acc26abdc259ccefb if (str.length === i + 1) { ret += str[i]; } continue; } ret += str[i]; } return ret; } module.exports = exports.default; /***/ }), /***/ "./node_modules/postcss-value-parser/lib/index.js": /*!********************************************************!*\ !*** ./node_modules/postcss-value-parser/lib/index.js ***! \********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var parse = __webpack_require__(/*! ./parse */ "./node_modules/postcss-value-parser/lib/parse.js"); var walk = __webpack_require__(/*! ./walk */ "./node_modules/postcss-value-parser/lib/walk.js"); var stringify = __webpack_require__(/*! ./stringify */ "./node_modules/postcss-value-parser/lib/stringify.js"); function ValueParser(value) { if (this instanceof ValueParser) { this.nodes = parse(value); return this; } return new ValueParser(value); } ValueParser.prototype.toString = function() { return Array.isArray(this.nodes) ? stringify(this.nodes) : ""; }; ValueParser.prototype.walk = function(cb, bubble) { walk(this.nodes, cb, bubble); return this; }; ValueParser.unit = __webpack_require__(/*! ./unit */ "./node_modules/postcss-value-parser/lib/unit.js"); ValueParser.walk = walk; ValueParser.stringify = stringify; module.exports = ValueParser; /***/ }), /***/ "./node_modules/postcss-value-parser/lib/parse.js": /*!********************************************************!*\ !*** ./node_modules/postcss-value-parser/lib/parse.js ***! \********************************************************/ /***/ ((module) => { var openParentheses = "(".charCodeAt(0); var closeParentheses = ")".charCodeAt(0); var singleQuote = "'".charCodeAt(0); var doubleQuote = '"'.charCodeAt(0); var backslash = "\\".charCodeAt(0); var slash = "/".charCodeAt(0); var comma = ",".charCodeAt(0); var colon = ":".charCodeAt(0); var star = "*".charCodeAt(0); var uLower = "u".charCodeAt(0); var uUpper = "U".charCodeAt(0); var plus = "+".charCodeAt(0); var isUnicodeRange = /^[a-f0-9?-]+$/i; module.exports = function(input) { var tokens = []; var value = input; var next, quote, prev, token, escape, escapePos, whitespacePos, parenthesesOpenPos; var pos = 0; var code = value.charCodeAt(pos); var max = value.length; var stack = [{ nodes: tokens }]; var balanced = 0; var parent; var name = ""; var before = ""; var after = ""; while (pos < max) { // Whitespaces if (code <= 32) { next = pos; do { next += 1; code = value.charCodeAt(next); } while (code <= 32); token = value.slice(pos, next); prev = tokens[tokens.length - 1]; if (code === closeParentheses && balanced) { after = token; } else if (prev && prev.type === "div") { prev.after = token; prev.sourceEndIndex += token.length; } else if ( code === comma || code === colon || (code === slash && value.charCodeAt(next + 1) !== star && (!parent || (parent && parent.type === "function" && parent.value !== "calc"))) ) { before = token; } else { tokens.push({ type: "space", sourceIndex: pos, sourceEndIndex: next, value: token }); } pos = next; // Quotes } else if (code === singleQuote || code === doubleQuote) { next = pos; quote = code === singleQuote ? "'" : '"'; token = { type: "string", sourceIndex: pos, quote: quote }; do { escape = false; next = value.indexOf(quote, next + 1); if (~next) { escapePos = next; while (value.charCodeAt(escapePos - 1) === backslash) { escapePos -= 1; escape = !escape; } } else { value += quote; next = value.length - 1; token.unclosed = true; } } while (escape); token.value = value.slice(pos + 1, next); token.sourceEndIndex = token.unclosed ? next : next + 1; tokens.push(token); pos = next + 1; code = value.charCodeAt(pos); // Comments } else if (code === slash && value.charCodeAt(pos + 1) === star) { next = value.indexOf("*/", pos); token = { type: "comment", sourceIndex: pos, sourceEndIndex: next + 2 }; if (next === -1) { token.unclosed = true; next = value.length; token.sourceEndIndex = next; } token.value = value.slice(pos + 2, next); tokens.push(token); pos = next + 2; code = value.charCodeAt(pos); // Operation within calc } else if ( (code === slash || code === star) && parent && parent.type === "function" && parent.value === "calc" ) { token = value[pos]; tokens.push({ type: "word", sourceIndex: pos - before.length, sourceEndIndex: pos + token.length, value: token }); pos += 1; code = value.charCodeAt(pos); // Dividers } else if (code === slash || code === comma || code === colon) { token = value[pos]; tokens.push({ type: "div", sourceIndex: pos - before.length, sourceEndIndex: pos + token.length, value: token, before: before, after: "" }); before = ""; pos += 1; code = value.charCodeAt(pos); // Open parentheses } else if (openParentheses === code) { // Whitespaces after open parentheses next = pos; do { next += 1; code = value.charCodeAt(next); } while (code <= 32); parenthesesOpenPos = pos; token = { type: "function", sourceIndex: pos - name.length, value: name, before: value.slice(parenthesesOpenPos + 1, next) }; pos = next; if (name === "url" && code !== singleQuote && code !== doubleQuote) { next -= 1; do { escape = false; next = value.indexOf(")", next + 1); if (~next) { escapePos = next; while (value.charCodeAt(escapePos - 1) === backslash) { escapePos -= 1; escape = !escape; } } else { value += ")"; next = value.length - 1; token.unclosed = true; } } while (escape); // Whitespaces before closed whitespacePos = next; do { whitespacePos -= 1; code = value.charCodeAt(whitespacePos); } while (code <= 32); if (parenthesesOpenPos < whitespacePos) { if (pos !== whitespacePos + 1) { token.nodes = [ { type: "word", sourceIndex: pos, sourceEndIndex: whitespacePos + 1, value: value.slice(pos, whitespacePos + 1) } ]; } else { token.nodes = []; } if (token.unclosed && whitespacePos + 1 !== next) { token.after = ""; token.nodes.push({ type: "space", sourceIndex: whitespacePos + 1, sourceEndIndex: next, value: value.slice(whitespacePos + 1, next) }); } else { token.after = value.slice(whitespacePos + 1, next); token.sourceEndIndex = next; } } else { token.after = ""; token.nodes = []; } pos = next + 1; token.sourceEndIndex = token.unclosed ? next : pos; code = value.charCodeAt(pos); tokens.push(token); } else { balanced += 1; token.after = ""; token.sourceEndIndex = pos + 1; tokens.push(token); stack.push(token); tokens = token.nodes = []; parent = token; } name = ""; // Close parentheses } else if (closeParentheses === code && balanced) { pos += 1; code = value.charCodeAt(pos); parent.after = after; parent.sourceEndIndex += after.length; after = ""; balanced -= 1; stack[stack.length - 1].sourceEndIndex = pos; stack.pop(); parent = stack[balanced]; tokens = parent.nodes; // Words } else { next = pos; do { if (code === backslash) { next += 1; } next += 1; code = value.charCodeAt(next); } while ( next < max && !( code <= 32 || code === singleQuote || code === doubleQuote || code === comma || code === colon || code === slash || code === openParentheses || (code === star && parent && parent.type === "function" && parent.value === "calc") || (code === slash && parent.type === "function" && parent.value === "calc") || (code === closeParentheses && balanced) ) ); token = value.slice(pos, next); if (openParentheses === code) { name = token; } else if ( (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) && plus === token.charCodeAt(1) && isUnicodeRange.test(token.slice(2)) ) { tokens.push({ type: "unicode-range", sourceIndex: pos, sourceEndIndex: next, value: token }); } else { tokens.push({ type: "word", sourceIndex: pos, sourceEndIndex: next, value: token }); } pos = next; } } for (pos = stack.length - 1; pos; pos -= 1) { stack[pos].unclosed = true; stack[pos].sourceEndIndex = value.length; } return stack[0].nodes; }; /***/ }), /***/ "./node_modules/postcss-value-parser/lib/stringify.js": /*!************************************************************!*\ !*** ./node_modules/postcss-value-parser/lib/stringify.js ***! \************************************************************/ /***/ ((module) => { function stringifyNode(node, custom) { var type = node.type; var value = node.value; var buf; var customResult; if (custom && (customResult = custom(node)) !== undefined) { return customResult; } else if (type === "word" || type === "space") { return value; } else if (type === "string") { buf = node.quote || ""; return buf + value + (node.unclosed ? "" : buf); } else if (type === "comment") { return "/*" + value + (node.unclosed ? "" : "*/"); } else if (type === "div") { return (node.before || "") + value + (node.after || ""); } else if (Array.isArray(node.nodes)) { buf = stringify(node.nodes, custom); if (type !== "function") { return buf; } return ( value + "(" + (node.before || "") + buf + (node.after || "") + (node.unclosed ? "" : ")") ); } return value; } function stringify(nodes, custom) { var result, i; if (Array.isArray(nodes)) { result = ""; for (i = nodes.length - 1; ~i; i -= 1) { result = stringifyNode(nodes[i], custom) + result; } return result; } return stringifyNode(nodes, custom); } module.exports = stringify; /***/ }), /***/ "./node_modules/postcss-value-parser/lib/unit.js": /*!*******************************************************!*\ !*** ./node_modules/postcss-value-parser/lib/unit.js ***! \*******************************************************/ /***/ ((module) => { var minus = "-".charCodeAt(0); var plus = "+".charCodeAt(0); var dot = ".".charCodeAt(0); var exp = "e".charCodeAt(0); var EXP = "E".charCodeAt(0); // Check if three code points would start a number // https://www.w3.org/TR/css-syntax-3/#starts-with-a-number function likeNumber(value) { var code = value.charCodeAt(0); var nextCode; if (code === plus || code === minus) { nextCode = value.charCodeAt(1); if (nextCode >= 48 && nextCode <= 57) { return true; } var nextNextCode = value.charCodeAt(2); if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) { return true; } return false; } if (code === dot) { nextCode = value.charCodeAt(1); if (nextCode >= 48 && nextCode <= 57) { return true; } return false; } if (code >= 48 && code <= 57) { return true; } return false; } // Consume a number // https://www.w3.org/TR/css-syntax-3/#consume-number module.exports = function(value) { var pos = 0; var length = value.length; var code; var nextCode; var nextNextCode; if (length === 0 || !likeNumber(value)) { return false; } code = value.charCodeAt(pos); if (code === plus || code === minus) { pos++; } while (pos < length) { code = value.charCodeAt(pos); if (code < 48 || code > 57) { break; } pos += 1; } code = value.charCodeAt(pos); nextCode = value.charCodeAt(pos + 1); if (code === dot && nextCode >= 48 && nextCode <= 57) { pos += 2; while (pos < length) { code = value.charCodeAt(pos); if (code < 48 || code > 57) { break; } pos += 1; } } code = value.charCodeAt(pos); nextCode = value.charCodeAt(pos + 1); nextNextCode = value.charCodeAt(pos + 2); if ( (code === exp || code === EXP) && ((nextCode >= 48 && nextCode <= 57) || ((nextCode === plus || nextCode === minus) && nextNextCode >= 48 && nextNextCode <= 57)) ) { pos += nextCode === plus || nextCode === minus ? 3 : 2; while (pos < length) { code = value.charCodeAt(pos); if (code < 48 || code > 57) { break; } pos += 1; } } return { number: value.slice(0, pos), unit: value.slice(pos) }; }; /***/ }), /***/ "./node_modules/postcss-value-parser/lib/walk.js": /*!*******************************************************!*\ !*** ./node_modules/postcss-value-parser/lib/walk.js ***! \*******************************************************/ /***/ ((module) => { module.exports = function walk(nodes, cb, bubble) { var i, max, node, result; for (i = 0, max = nodes.length; i < max; i += 1) { node = nodes[i]; if (!bubble) { result = cb(node, i, nodes); } if ( result !== false && node.type === "function" && Array.isArray(node.nodes) ) { walk(node.nodes, cb, bubble); } if (bubble) { cb(node, i, nodes); } } }; /***/ }), /***/ "./node_modules/postcss/lib/at-rule.js": /*!*********************************************!*\ !*** ./node_modules/postcss/lib/at-rule.js ***! \*********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Container = __webpack_require__(/*! ./container */ "./node_modules/postcss/lib/container.js") class AtRule extends Container { constructor(defaults) { super(defaults) this.type = 'atrule' } append(...children) { if (!this.proxyOf.nodes) this.nodes = [] return super.append(...children) } prepend(...children) { if (!this.proxyOf.nodes) this.nodes = [] return super.prepend(...children) } } module.exports = AtRule AtRule.default = AtRule Container.registerAtRule(AtRule) /***/ }), /***/ "./node_modules/postcss/lib/comment.js": /*!*********************************************!*\ !*** ./node_modules/postcss/lib/comment.js ***! \*********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Node = __webpack_require__(/*! ./node */ "./node_modules/postcss/lib/node.js") class Comment extends Node { constructor(defaults) { super(defaults) this.type = 'comment' } } module.exports = Comment Comment.default = Comment /***/ }), /***/ "./node_modules/postcss/lib/container.js": /*!***********************************************!*\ !*** ./node_modules/postcss/lib/container.js ***! \***********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Comment = __webpack_require__(/*! ./comment */ "./node_modules/postcss/lib/comment.js") let Declaration = __webpack_require__(/*! ./declaration */ "./node_modules/postcss/lib/declaration.js") let Node = __webpack_require__(/*! ./node */ "./node_modules/postcss/lib/node.js") let { isClean, my } = __webpack_require__(/*! ./symbols */ "./node_modules/postcss/lib/symbols.js") let AtRule, parse, Root, Rule function cleanSource(nodes) { return nodes.map(i => { if (i.nodes) i.nodes = cleanSource(i.nodes) delete i.source return i }) } function markTreeDirty(node) { node[isClean] = false if (node.proxyOf.nodes) { for (let i of node.proxyOf.nodes) { markTreeDirty(i) } } } class Container extends Node { get first() { if (!this.proxyOf.nodes) return undefined return this.proxyOf.nodes[0] } get last() { if (!this.proxyOf.nodes) return undefined return this.proxyOf.nodes[this.proxyOf.nodes.length - 1] } append(...children) { for (let child of children) { let nodes = this.normalize(child, this.last) for (let node of nodes) this.proxyOf.nodes.push(node) } this.markDirty() return this } cleanRaws(keepBetween) { super.cleanRaws(keepBetween) if (this.nodes) { for (let node of this.nodes) node.cleanRaws(keepBetween) } } each(callback) { if (!this.proxyOf.nodes) return undefined let iterator = this.getIterator() let index, result while (this.indexes[iterator] < this.proxyOf.nodes.length) { index = this.indexes[iterator] result = callback(this.proxyOf.nodes[index], index) if (result === false) break this.indexes[iterator] += 1 } delete this.indexes[iterator] return result } every(condition) { return this.nodes.every(condition) } getIterator() { if (!this.lastEach) this.lastEach = 0 if (!this.indexes) this.indexes = {} this.lastEach += 1 let iterator = this.lastEach this.indexes[iterator] = 0 return iterator } getProxyProcessor() { return { get(node, prop) { if (prop === 'proxyOf') { return node } else if (!node[prop]) { return node[prop] } else if ( prop === 'each' || (typeof prop === 'string' && prop.startsWith('walk')) ) { return (...args) => { return node[prop]( ...args.map(i => { if (typeof i === 'function') { return (child, index) => i(child.toProxy(), index) } else { return i } }) ) } } else if (prop === 'every' || prop === 'some') { return cb => { return node[prop]((child, ...other) => cb(child.toProxy(), ...other) ) } } else if (prop === 'root') { return () => node.root().toProxy() } else if (prop === 'nodes') { return node.nodes.map(i => i.toProxy()) } else if (prop === 'first' || prop === 'last') { return node[prop].toProxy() } else { return node[prop] } }, set(node, prop, value) { if (node[prop] === value) return true node[prop] = value if (prop === 'name' || prop === 'params' || prop === 'selector') { node.markDirty() } return true } } } index(child) { if (typeof child === 'number') return child if (child.proxyOf) child = child.proxyOf return this.proxyOf.nodes.indexOf(child) } insertAfter(exist, add) { let existIndex = this.index(exist) let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse() existIndex = this.index(exist) for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node) let index for (let id in this.indexes) { index = this.indexes[id] if (existIndex < index) { this.indexes[id] = index + nodes.length } } this.markDirty() return this } insertBefore(exist, add) { let existIndex = this.index(exist) let type = existIndex === 0 ? 'prepend' : false let nodes = this.normalize( add, this.proxyOf.nodes[existIndex], type ).reverse() existIndex = this.index(exist) for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node) let index for (let id in this.indexes) { index = this.indexes[id] if (existIndex <= index) { this.indexes[id] = index + nodes.length } } this.markDirty() return this } normalize(nodes, sample) { if (typeof nodes === 'string') { nodes = cleanSource(parse(nodes).nodes) } else if (typeof nodes === 'undefined') { nodes = [] } else if (Array.isArray(nodes)) { nodes = nodes.slice(0) for (let i of nodes) { if (i.parent) i.parent.removeChild(i, 'ignore') } } else if (nodes.type === 'root' && this.type !== 'document') { nodes = nodes.nodes.slice(0) for (let i of nodes) { if (i.parent) i.parent.removeChild(i, 'ignore') } } else if (nodes.type) { nodes = [nodes] } else if (nodes.prop) { if (typeof nodes.value === 'undefined') { throw new Error('Value field is missed in node creation') } else if (typeof nodes.value !== 'string') { nodes.value = String(nodes.value) } nodes = [new Declaration(nodes)] } else if (nodes.selector || nodes.selectors) { nodes = [new Rule(nodes)] } else if (nodes.name) { nodes = [new AtRule(nodes)] } else if (nodes.text) { nodes = [new Comment(nodes)] } else { throw new Error('Unknown node type in node creation') } let processed = nodes.map(i => { /* c8 ignore next */ if (!i[my]) Container.rebuild(i) i = i.proxyOf if (i.parent) i.parent.removeChild(i) if (i[isClean]) markTreeDirty(i) if (!i.raws) i.raws = {} if (typeof i.raws.before === 'undefined') { if (sample && typeof sample.raws.before !== 'undefined') { i.raws.before = sample.raws.before.replace(/\S/g, '') } } i.parent = this.proxyOf return i }) return processed } prepend(...children) { children = children.reverse() for (let child of children) { let nodes = this.normalize(child, this.first, 'prepend').reverse() for (let node of nodes) this.proxyOf.nodes.unshift(node) for (let id in this.indexes) { this.indexes[id] = this.indexes[id] + nodes.length } } this.markDirty() return this } push(child) { child.parent = this this.proxyOf.nodes.push(child) return this } removeAll() { for (let node of this.proxyOf.nodes) node.parent = undefined this.proxyOf.nodes = [] this.markDirty() return this } removeChild(child) { child = this.index(child) this.proxyOf.nodes[child].parent = undefined this.proxyOf.nodes.splice(child, 1) let index for (let id in this.indexes) { index = this.indexes[id] if (index >= child) { this.indexes[id] = index - 1 } } this.markDirty() return this } replaceValues(pattern, opts, callback) { if (!callback) { callback = opts opts = {} } this.walkDecls(decl => { if (opts.props && !opts.props.includes(decl.prop)) return if (opts.fast && !decl.value.includes(opts.fast)) return decl.value = decl.value.replace(pattern, callback) }) this.markDirty() return this } some(condition) { return this.nodes.some(condition) } walk(callback) { return this.each((child, i) => { let result try { result = callback(child, i) } catch (e) { throw child.addToError(e) } if (result !== false && child.walk) { result = child.walk(callback) } return result }) } walkAtRules(name, callback) { if (!callback) { callback = name return this.walk((child, i) => { if (child.type === 'atrule') { return callback(child, i) } }) } if (name instanceof RegExp) { return this.walk((child, i) => { if (child.type === 'atrule' && name.test(child.name)) { return callback(child, i) } }) } return this.walk((child, i) => { if (child.type === 'atrule' && child.name === name) { return callback(child, i) } }) } walkComments(callback) { return this.walk((child, i) => { if (child.type === 'comment') { return callback(child, i) } }) } walkDecls(prop, callback) { if (!callback) { callback = prop return this.walk((child, i) => { if (child.type === 'decl') { return callback(child, i) } }) } if (prop instanceof RegExp) { return this.walk((child, i) => { if (child.type === 'decl' && prop.test(child.prop)) { return callback(child, i) } }) } return this.walk((child, i) => { if (child.type === 'decl' && child.prop === prop) { return callback(child, i) } }) } walkRules(selector, callback) { if (!callback) { callback = selector return this.walk((child, i) => { if (child.type === 'rule') { return callback(child, i) } }) } if (selector instanceof RegExp) { return this.walk((child, i) => { if (child.type === 'rule' && selector.test(child.selector)) { return callback(child, i) } }) } return this.walk((child, i) => { if (child.type === 'rule' && child.selector === selector) { return callback(child, i) } }) } } Container.registerParse = dependant => { parse = dependant } Container.registerRule = dependant => { Rule = dependant } Container.registerAtRule = dependant => { AtRule = dependant } Container.registerRoot = dependant => { Root = dependant } module.exports = Container Container.default = Container /* c8 ignore start */ Container.rebuild = node => { if (node.type === 'atrule') { Object.setPrototypeOf(node, AtRule.prototype) } else if (node.type === 'rule') { Object.setPrototypeOf(node, Rule.prototype) } else if (node.type === 'decl') { Object.setPrototypeOf(node, Declaration.prototype) } else if (node.type === 'comment') { Object.setPrototypeOf(node, Comment.prototype) } else if (node.type === 'root') { Object.setPrototypeOf(node, Root.prototype) } node[my] = true if (node.nodes) { node.nodes.forEach(child => { Container.rebuild(child) }) } } /* c8 ignore stop */ /***/ }), /***/ "./node_modules/postcss/lib/css-syntax-error.js": /*!******************************************************!*\ !*** ./node_modules/postcss/lib/css-syntax-error.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let pico = __webpack_require__(/*! picocolors */ "./node_modules/picocolors/picocolors.browser.js") let terminalHighlight = __webpack_require__(/*! ./terminal-highlight */ "?5580") class CssSyntaxError extends Error { constructor(message, line, column, source, file, plugin) { super(message) this.name = 'CssSyntaxError' this.reason = message if (file) { this.file = file } if (source) { this.source = source } if (plugin) { this.plugin = plugin } if (typeof line !== 'undefined' && typeof column !== 'undefined') { if (typeof line === 'number') { this.line = line this.column = column } else { this.line = line.line this.column = line.column this.endLine = column.line this.endColumn = column.column } } this.setMessage() if (Error.captureStackTrace) { Error.captureStackTrace(this, CssSyntaxError) } } setMessage() { this.message = this.plugin ? this.plugin + ': ' : '' this.message += this.file ? this.file : '' if (typeof this.line !== 'undefined') { this.message += ':' + this.line + ':' + this.column } this.message += ': ' + this.reason } showSourceCode(color) { if (!this.source) return '' let css = this.source if (color == null) color = pico.isColorSupported let aside = text => text let mark = text => text let highlight = text => text if (color) { let { bold, gray, red } = pico.createColors(true) mark = text => bold(red(text)) aside = text => gray(text) if (terminalHighlight) { highlight = text => terminalHighlight(text) } } let lines = css.split(/\r?\n/) let start = Math.max(this.line - 3, 0) let end = Math.min(this.line + 2, lines.length) let maxWidth = String(end).length return lines .slice(start, end) .map((line, index) => { let number = start + 1 + index let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | ' if (number === this.line) { if (line.length > 160) { let padding = 20 let subLineStart = Math.max(0, this.column - padding) let subLineEnd = Math.max( this.column + padding, this.endColumn + padding ) let subLine = line.slice(subLineStart, subLineEnd) let spacing = aside(gutter.replace(/\d/g, ' ')) + line .slice(0, Math.min(this.column - 1, padding - 1)) .replace(/[^\t]/g, ' ') return ( mark('>') + aside(gutter) + highlight(subLine) + '\n ' + spacing + mark('^') ) } let spacing = aside(gutter.replace(/\d/g, ' ')) + line.slice(0, this.column - 1).replace(/[^\t]/g, ' ') return ( mark('>') + aside(gutter) + highlight(line) + '\n ' + spacing + mark('^') ) } return ' ' + aside(gutter) + highlight(line) }) .join('\n') } toString() { let code = this.showSourceCode() if (code) { code = '\n\n' + code + '\n' } return this.name + ': ' + this.message + code } } module.exports = CssSyntaxError CssSyntaxError.default = CssSyntaxError /***/ }), /***/ "./node_modules/postcss/lib/declaration.js": /*!*************************************************!*\ !*** ./node_modules/postcss/lib/declaration.js ***! \*************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Node = __webpack_require__(/*! ./node */ "./node_modules/postcss/lib/node.js") class Declaration extends Node { get variable() { return this.prop.startsWith('--') || this.prop[0] === '$' } constructor(defaults) { if ( defaults && typeof defaults.value !== 'undefined' && typeof defaults.value !== 'string' ) { defaults = { ...defaults, value: String(defaults.value) } } super(defaults) this.type = 'decl' } } module.exports = Declaration Declaration.default = Declaration /***/ }), /***/ "./node_modules/postcss/lib/document.js": /*!**********************************************!*\ !*** ./node_modules/postcss/lib/document.js ***! \**********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Container = __webpack_require__(/*! ./container */ "./node_modules/postcss/lib/container.js") let LazyResult, Processor class Document extends Container { constructor(defaults) { // type needs to be passed to super, otherwise child roots won't be normalized correctly super({ type: 'document', ...defaults }) if (!this.nodes) { this.nodes = [] } } toResult(opts = {}) { let lazy = new LazyResult(new Processor(), this, opts) return lazy.stringify() } } Document.registerLazyResult = dependant => { LazyResult = dependant } Document.registerProcessor = dependant => { Processor = dependant } module.exports = Document Document.default = Document /***/ }), /***/ "./node_modules/postcss/lib/fromJSON.js": /*!**********************************************!*\ !*** ./node_modules/postcss/lib/fromJSON.js ***! \**********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let AtRule = __webpack_require__(/*! ./at-rule */ "./node_modules/postcss/lib/at-rule.js") let Comment = __webpack_require__(/*! ./comment */ "./node_modules/postcss/lib/comment.js") let Declaration = __webpack_require__(/*! ./declaration */ "./node_modules/postcss/lib/declaration.js") let Input = __webpack_require__(/*! ./input */ "./node_modules/postcss/lib/input.js") let PreviousMap = __webpack_require__(/*! ./previous-map */ "./node_modules/postcss/lib/previous-map.js") let Root = __webpack_require__(/*! ./root */ "./node_modules/postcss/lib/root.js") let Rule = __webpack_require__(/*! ./rule */ "./node_modules/postcss/lib/rule.js") function fromJSON(json, inputs) { if (Array.isArray(json)) return json.map(n => fromJSON(n)) let { inputs: ownInputs, ...defaults } = json if (ownInputs) { inputs = [] for (let input of ownInputs) { let inputHydrated = { ...input, __proto__: Input.prototype } if (inputHydrated.map) { inputHydrated.map = { ...inputHydrated.map, __proto__: PreviousMap.prototype } } inputs.push(inputHydrated) } } if (defaults.nodes) { defaults.nodes = json.nodes.map(n => fromJSON(n, inputs)) } if (defaults.source) { let { inputId, ...source } = defaults.source defaults.source = source if (inputId != null) { defaults.source.input = inputs[inputId] } } if (defaults.type === 'root') { return new Root(defaults) } else if (defaults.type === 'decl') { return new Declaration(defaults) } else if (defaults.type === 'rule') { return new Rule(defaults) } else if (defaults.type === 'comment') { return new Comment(defaults) } else if (defaults.type === 'atrule') { return new AtRule(defaults) } else { throw new Error('Unknown node type: ' + json.type) } } module.exports = fromJSON fromJSON.default = fromJSON /***/ }), /***/ "./node_modules/postcss/lib/input.js": /*!*******************************************!*\ !*** ./node_modules/postcss/lib/input.js ***! \*******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let { nanoid } = __webpack_require__(/*! nanoid/non-secure */ "./node_modules/nanoid/non-secure/index.cjs") let { isAbsolute, resolve } = __webpack_require__(/*! path */ "?6197") let { SourceMapConsumer, SourceMapGenerator } = __webpack_require__(/*! source-map-js */ "?b8cb") let { fileURLToPath, pathToFileURL } = __webpack_require__(/*! url */ "./node_modules/whatwg-url/index.js") let CssSyntaxError = __webpack_require__(/*! ./css-syntax-error */ "./node_modules/postcss/lib/css-syntax-error.js") let PreviousMap = __webpack_require__(/*! ./previous-map */ "./node_modules/postcss/lib/previous-map.js") let terminalHighlight = __webpack_require__(/*! ./terminal-highlight */ "?5580") let lineToIndexCache = Symbol('lineToIndexCache') let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator) let pathAvailable = Boolean(resolve && isAbsolute) function getLineToIndex(input) { if (input[lineToIndexCache]) return input[lineToIndexCache] let lines = input.css.split('\n') let lineToIndex = new Array(lines.length) let prevIndex = 0 for (let i = 0, l = lines.length; i < l; i++) { lineToIndex[i] = prevIndex prevIndex += lines[i].length + 1 } input[lineToIndexCache] = lineToIndex return lineToIndex } class Input { get from() { return this.file || this.id } constructor(css, opts = {}) { if ( css === null || typeof css === 'undefined' || (typeof css === 'object' && !css.toString) ) { throw new Error(`PostCSS received ${css} instead of CSS string`) } this.css = css.toString() if (this.css[0] === '\uFEFF' || this.css[0] === '\uFFFE') { this.hasBOM = true this.css = this.css.slice(1) } else { this.hasBOM = false } this.document = this.css if (opts.document) this.document = opts.document.toString() if (opts.from) { if ( !pathAvailable || /^\w+:\/\//.test(opts.from) || isAbsolute(opts.from) ) { this.file = opts.from } else { this.file = resolve(opts.from) } } if (pathAvailable && sourceMapAvailable) { let map = new PreviousMap(this.css, opts) if (map.text) { this.map = map let file = map.consumer().file if (!this.file && file) this.file = this.mapResolve(file) } } if (!this.file) { this.id = '' } if (this.map) this.map.file = this.from } error(message, line, column, opts = {}) { let endColumn, endLine, endOffset, offset, result if (line && typeof line === 'object') { let start = line let end = column if (typeof start.offset === 'number') { offset = start.offset let pos = this.fromOffset(offset) line = pos.line column = pos.col } else { line = start.line column = start.column offset = this.fromLineAndColumn(line, column) } if (typeof end.offset === 'number') { endOffset = end.offset let pos = this.fromOffset(endOffset) endLine = pos.line endColumn = pos.col } else { endLine = end.line endColumn = end.column endOffset = this.fromLineAndColumn(end.line, end.column) } } else if (!column) { offset = line let pos = this.fromOffset(offset) line = pos.line column = pos.col } else { offset = this.fromLineAndColumn(line, column) } let origin = this.origin(line, column, endLine, endColumn) if (origin) { result = new CssSyntaxError( message, origin.endLine === undefined ? origin.line : { column: origin.column, line: origin.line }, origin.endLine === undefined ? origin.column : { column: origin.endColumn, line: origin.endLine }, origin.source, origin.file, opts.plugin ) } else { result = new CssSyntaxError( message, endLine === undefined ? line : { column, line }, endLine === undefined ? column : { column: endColumn, line: endLine }, this.css, this.file, opts.plugin ) } result.input = { column, endColumn, endLine, endOffset, line, offset, source: this.css } if (this.file) { if (pathToFileURL) { result.input.url = pathToFileURL(this.file).toString() } result.input.file = this.file } return result } fromLineAndColumn(line, column) { let lineToIndex = getLineToIndex(this) let index = lineToIndex[line - 1] return index + column - 1 } fromOffset(offset) { let lineToIndex = getLineToIndex(this) let lastLine = lineToIndex[lineToIndex.length - 1] let min = 0 if (offset >= lastLine) { min = lineToIndex.length - 1 } else { let max = lineToIndex.length - 2 let mid while (min < max) { mid = min + ((max - min) >> 1) if (offset < lineToIndex[mid]) { max = mid - 1 } else if (offset >= lineToIndex[mid + 1]) { min = mid + 1 } else { min = mid break } } } return { col: offset - lineToIndex[min] + 1, line: min + 1 } } mapResolve(file) { if (/^\w+:\/\//.test(file)) { return file } return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file) } origin(line, column, endLine, endColumn) { if (!this.map) return false let consumer = this.map.consumer() let from = consumer.originalPositionFor({ column, line }) if (!from.source) return false let to if (typeof endLine === 'number') { to = consumer.originalPositionFor({ column: endColumn, line: endLine }) } let fromUrl if (isAbsolute(from.source)) { fromUrl = pathToFileURL(from.source) } else { fromUrl = new URL( from.source, this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile) ) } let result = { column: from.column, endColumn: to && to.column, endLine: to && to.line, line: from.line, url: fromUrl.toString() } if (fromUrl.protocol === 'file:') { if (fileURLToPath) { result.file = fileURLToPath(fromUrl) } else { /* c8 ignore next 2 */ throw new Error(`file: protocol is not available in this PostCSS build`) } } let source = consumer.sourceContentFor(from.source) if (source) result.source = source return result } toJSON() { let json = {} for (let name of ['hasBOM', 'css', 'file', 'id']) { if (this[name] != null) { json[name] = this[name] } } if (this.map) { json.map = { ...this.map } if (json.map.consumerCache) { json.map.consumerCache = undefined } } return json } } module.exports = Input Input.default = Input if (terminalHighlight && terminalHighlight.registerInput) { terminalHighlight.registerInput(Input) } /***/ }), /***/ "./node_modules/postcss/lib/lazy-result.js": /*!*************************************************!*\ !*** ./node_modules/postcss/lib/lazy-result.js ***! \*************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Container = __webpack_require__(/*! ./container */ "./node_modules/postcss/lib/container.js") let Document = __webpack_require__(/*! ./document */ "./node_modules/postcss/lib/document.js") let MapGenerator = __webpack_require__(/*! ./map-generator */ "./node_modules/postcss/lib/map-generator.js") let parse = __webpack_require__(/*! ./parse */ "./node_modules/postcss/lib/parse.js") let Result = __webpack_require__(/*! ./result */ "./node_modules/postcss/lib/result.js") let Root = __webpack_require__(/*! ./root */ "./node_modules/postcss/lib/root.js") let stringify = __webpack_require__(/*! ./stringify */ "./node_modules/postcss/lib/stringify.js") let { isClean, my } = __webpack_require__(/*! ./symbols */ "./node_modules/postcss/lib/symbols.js") let warnOnce = __webpack_require__(/*! ./warn-once */ "./node_modules/postcss/lib/warn-once.js") const TYPE_TO_CLASS_NAME = { atrule: 'AtRule', comment: 'Comment', decl: 'Declaration', document: 'Document', root: 'Root', rule: 'Rule' } const PLUGIN_PROPS = { AtRule: true, AtRuleExit: true, Comment: true, CommentExit: true, Declaration: true, DeclarationExit: true, Document: true, DocumentExit: true, Once: true, OnceExit: true, postcssPlugin: true, prepare: true, Root: true, RootExit: true, Rule: true, RuleExit: true } const NOT_VISITORS = { Once: true, postcssPlugin: true, prepare: true } const CHILDREN = 0 function isPromise(obj) { return typeof obj === 'object' && typeof obj.then === 'function' } function getEvents(node) { let key = false let type = TYPE_TO_CLASS_NAME[node.type] if (node.type === 'decl') { key = node.prop.toLowerCase() } else if (node.type === 'atrule') { key = node.name.toLowerCase() } if (key && node.append) { return [ type, type + '-' + key, CHILDREN, type + 'Exit', type + 'Exit-' + key ] } else if (key) { return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key] } else if (node.append) { return [type, CHILDREN, type + 'Exit'] } else { return [type, type + 'Exit'] } } function toStack(node) { let events if (node.type === 'document') { events = ['Document', CHILDREN, 'DocumentExit'] } else if (node.type === 'root') { events = ['Root', CHILDREN, 'RootExit'] } else { events = getEvents(node) } return { eventIndex: 0, events, iterator: 0, node, visitorIndex: 0, visitors: [] } } function cleanMarks(node) { node[isClean] = false if (node.nodes) node.nodes.forEach(i => cleanMarks(i)) return node } let postcss = {} class LazyResult { get content() { return this.stringify().content } get css() { return this.stringify().css } get map() { return this.stringify().map } get messages() { return this.sync().messages } get opts() { return this.result.opts } get processor() { return this.result.processor } get root() { return this.sync().root } get [Symbol.toStringTag]() { return 'LazyResult' } constructor(processor, css, opts) { this.stringified = false this.processed = false let root if ( typeof css === 'object' && css !== null && (css.type === 'root' || css.type === 'document') ) { root = cleanMarks(css) } else if (css instanceof LazyResult || css instanceof Result) { root = cleanMarks(css.root) if (css.map) { if (typeof opts.map === 'undefined') opts.map = {} if (!opts.map.inline) opts.map.inline = false opts.map.prev = css.map } } else { let parser = parse if (opts.syntax) parser = opts.syntax.parse if (opts.parser) parser = opts.parser if (parser.parse) parser = parser.parse try { root = parser(css, opts) } catch (error) { this.processed = true this.error = error } if (root && !root[my]) { /* c8 ignore next 2 */ Container.rebuild(root) } } this.result = new Result(processor, root, opts) this.helpers = { ...postcss, postcss, result: this.result } this.plugins = this.processor.plugins.map(plugin => { if (typeof plugin === 'object' && plugin.prepare) { return { ...plugin, ...plugin.prepare(this.result) } } else { return plugin } }) } async() { if (this.error) return Promise.reject(this.error) if (this.processed) return Promise.resolve(this.result) if (!this.processing) { this.processing = this.runAsync() } return this.processing } catch(onRejected) { return this.async().catch(onRejected) } finally(onFinally) { return this.async().then(onFinally, onFinally) } getAsyncError() { throw new Error('Use process(css).then(cb) to work with async plugins') } handleError(error, node) { let plugin = this.result.lastPlugin try { if (node) node.addToError(error) this.error = error if (error.name === 'CssSyntaxError' && !error.plugin) { error.plugin = plugin.postcssPlugin error.setMessage() } else if (plugin.postcssVersion) { if (true) { let pluginName = plugin.postcssPlugin let pluginVer = plugin.postcssVersion let runtimeVer = this.result.processor.version let a = pluginVer.split('.') let b = runtimeVer.split('.') if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) { // eslint-disable-next-line no-console console.error( 'Unknown error from PostCSS plugin. Your current PostCSS ' + 'version is ' + runtimeVer + ', but ' + pluginName + ' uses ' + pluginVer + '. Perhaps this is the source of the error below.' ) } } } } catch (err) { /* c8 ignore next 3 */ // eslint-disable-next-line no-console if (console && console.error) console.error(err) } return error } prepareVisitors() { this.listeners = {} let add = (plugin, type, cb) => { if (!this.listeners[type]) this.listeners[type] = [] this.listeners[type].push([plugin, cb]) } for (let plugin of this.plugins) { if (typeof plugin === 'object') { for (let event in plugin) { if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) { throw new Error( `Unknown event ${event} in ${plugin.postcssPlugin}. ` + `Try to update PostCSS (${this.processor.version} now).` ) } if (!NOT_VISITORS[event]) { if (typeof plugin[event] === 'object') { for (let filter in plugin[event]) { if (filter === '*') { add(plugin, event, plugin[event][filter]) } else { add( plugin, event + '-' + filter.toLowerCase(), plugin[event][filter] ) } } } else if (typeof plugin[event] === 'function') { add(plugin, event, plugin[event]) } } } } } this.hasListener = Object.keys(this.listeners).length > 0 } async runAsync() { this.plugin = 0 for (let i = 0; i < this.plugins.length; i++) { let plugin = this.plugins[i] let promise = this.runOnRoot(plugin) if (isPromise(promise)) { try { await promise } catch (error) { throw this.handleError(error) } } } this.prepareVisitors() if (this.hasListener) { let root = this.result.root while (!root[isClean]) { root[isClean] = true let stack = [toStack(root)] while (stack.length > 0) { let promise = this.visitTick(stack) if (isPromise(promise)) { try { await promise } catch (e) { let node = stack[stack.length - 1].node throw this.handleError(e, node) } } } } if (this.listeners.OnceExit) { for (let [plugin, visitor] of this.listeners.OnceExit) { this.result.lastPlugin = plugin try { if (root.type === 'document') { let roots = root.nodes.map(subRoot => visitor(subRoot, this.helpers) ) await Promise.all(roots) } else { await visitor(root, this.helpers) } } catch (e) { throw this.handleError(e) } } } } this.processed = true return this.stringify() } runOnRoot(plugin) { this.result.lastPlugin = plugin try { if (typeof plugin === 'object' && plugin.Once) { if (this.result.root.type === 'document') { let roots = this.result.root.nodes.map(root => plugin.Once(root, this.helpers) ) if (isPromise(roots[0])) { return Promise.all(roots) } return roots } return plugin.Once(this.result.root, this.helpers) } else if (typeof plugin === 'function') { return plugin(this.result.root, this.result) } } catch (error) { throw this.handleError(error) } } stringify() { if (this.error) throw this.error if (this.stringified) return this.result this.stringified = true this.sync() let opts = this.result.opts let str = stringify if (opts.syntax) str = opts.syntax.stringify if (opts.stringifier) str = opts.stringifier if (str.stringify) str = str.stringify let map = new MapGenerator(str, this.result.root, this.result.opts) let data = map.generate() this.result.css = data[0] this.result.map = data[1] return this.result } sync() { if (this.error) throw this.error if (this.processed) return this.result this.processed = true if (this.processing) { throw this.getAsyncError() } for (let plugin of this.plugins) { let promise = this.runOnRoot(plugin) if (isPromise(promise)) { throw this.getAsyncError() } } this.prepareVisitors() if (this.hasListener) { let root = this.result.root while (!root[isClean]) { root[isClean] = true this.walkSync(root) } if (this.listeners.OnceExit) { if (root.type === 'document') { for (let subRoot of root.nodes) { this.visitSync(this.listeners.OnceExit, subRoot) } } else { this.visitSync(this.listeners.OnceExit, root) } } } return this.result } then(onFulfilled, onRejected) { if (true) { if (!('from' in this.opts)) { warnOnce( 'Without `from` option PostCSS could generate wrong source map ' + 'and will not find Browserslist config. Set it to CSS file path ' + 'or to `undefined` to prevent this warning.' ) } } return this.async().then(onFulfilled, onRejected) } toString() { return this.css } visitSync(visitors, node) { for (let [plugin, visitor] of visitors) { this.result.lastPlugin = plugin let promise try { promise = visitor(node, this.helpers) } catch (e) { throw this.handleError(e, node.proxyOf) } if (node.type !== 'root' && node.type !== 'document' && !node.parent) { return true } if (isPromise(promise)) { throw this.getAsyncError() } } } visitTick(stack) { let visit = stack[stack.length - 1] let { node, visitors } = visit if (node.type !== 'root' && node.type !== 'document' && !node.parent) { stack.pop() return } if (visitors.length > 0 && visit.visitorIndex < visitors.length) { let [plugin, visitor] = visitors[visit.visitorIndex] visit.visitorIndex += 1 if (visit.visitorIndex === visitors.length) { visit.visitors = [] visit.visitorIndex = 0 } this.result.lastPlugin = plugin try { return visitor(node.toProxy(), this.helpers) } catch (e) { throw this.handleError(e, node) } } if (visit.iterator !== 0) { let iterator = visit.iterator let child while ((child = node.nodes[node.indexes[iterator]])) { node.indexes[iterator] += 1 if (!child[isClean]) { child[isClean] = true stack.push(toStack(child)) return } } visit.iterator = 0 delete node.indexes[iterator] } let events = visit.events while (visit.eventIndex < events.length) { let event = events[visit.eventIndex] visit.eventIndex += 1 if (event === CHILDREN) { if (node.nodes && node.nodes.length) { node[isClean] = true visit.iterator = node.getIterator() } return } else if (this.listeners[event]) { visit.visitors = this.listeners[event] return } } stack.pop() } walkSync(node) { node[isClean] = true let events = getEvents(node) for (let event of events) { if (event === CHILDREN) { if (node.nodes) { node.each(child => { if (!child[isClean]) this.walkSync(child) }) } } else { let visitors = this.listeners[event] if (visitors) { if (this.visitSync(visitors, node.toProxy())) return } } } } warnings() { return this.sync().warnings() } } LazyResult.registerPostcss = dependant => { postcss = dependant } module.exports = LazyResult LazyResult.default = LazyResult Root.registerLazyResult(LazyResult) Document.registerLazyResult(LazyResult) /***/ }), /***/ "./node_modules/postcss/lib/list.js": /*!******************************************!*\ !*** ./node_modules/postcss/lib/list.js ***! \******************************************/ /***/ ((module) => { "use strict"; let list = { comma(string) { return list.split(string, [','], true) }, space(string) { let spaces = [' ', '\n', '\t'] return list.split(string, spaces) }, split(string, separators, last) { let array = [] let current = '' let split = false let func = 0 let inQuote = false let prevQuote = '' let escape = false for (let letter of string) { if (escape) { escape = false } else if (letter === '\\') { escape = true } else if (inQuote) { if (letter === prevQuote) { inQuote = false } } else if (letter === '"' || letter === "'") { inQuote = true prevQuote = letter } else if (letter === '(') { func += 1 } else if (letter === ')') { if (func > 0) func -= 1 } else if (func === 0) { if (separators.includes(letter)) split = true } if (split) { if (current !== '') array.push(current.trim()) current = '' split = false } else { current += letter } } if (last || current !== '') array.push(current.trim()) return array } } module.exports = list list.default = list /***/ }), /***/ "./node_modules/postcss/lib/map-generator.js": /*!***************************************************!*\ !*** ./node_modules/postcss/lib/map-generator.js ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let { dirname, relative, resolve, sep } = __webpack_require__(/*! path */ "?6197") let { SourceMapConsumer, SourceMapGenerator } = __webpack_require__(/*! source-map-js */ "?b8cb") let { pathToFileURL } = __webpack_require__(/*! url */ "./node_modules/whatwg-url/index.js") let Input = __webpack_require__(/*! ./input */ "./node_modules/postcss/lib/input.js") let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator) let pathAvailable = Boolean(dirname && resolve && relative && sep) class MapGenerator { constructor(stringify, root, opts, cssString) { this.stringify = stringify this.mapOpts = opts.map || {} this.root = root this.opts = opts this.css = cssString this.originalCSS = cssString this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute this.memoizedFileURLs = new Map() this.memoizedPaths = new Map() this.memoizedURLs = new Map() } addAnnotation() { let content if (this.isInline()) { content = 'data:application/json;base64,' + this.toBase64(this.map.toString()) } else if (typeof this.mapOpts.annotation === 'string') { content = this.mapOpts.annotation } else if (typeof this.mapOpts.annotation === 'function') { content = this.mapOpts.annotation(this.opts.to, this.root) } else { content = this.outputFile() + '.map' } let eol = '\n' if (this.css.includes('\r\n')) eol = '\r\n' this.css += eol + '/*# sourceMappingURL=' + content + ' */' } applyPrevMaps() { for (let prev of this.previous()) { let from = this.toUrl(this.path(prev.file)) let root = prev.root || dirname(prev.file) let map if (this.mapOpts.sourcesContent === false) { map = new SourceMapConsumer(prev.text) if (map.sourcesContent) { map.sourcesContent = null } } else { map = prev.consumer() } this.map.applySourceMap(map, from, this.toUrl(this.path(root))) } } clearAnnotation() { if (this.mapOpts.annotation === false) return if (this.root) { let node for (let i = this.root.nodes.length - 1; i >= 0; i--) { node = this.root.nodes[i] if (node.type !== 'comment') continue if (node.text.startsWith('# sourceMappingURL=')) { this.root.removeChild(i) } } } else if (this.css) { this.css = this.css.replace(/\n*\/\*#[\S\s]*?\*\/$/gm, '') } } generate() { this.clearAnnotation() if (pathAvailable && sourceMapAvailable && this.isMap()) { return this.generateMap() } else { let result = '' this.stringify(this.root, i => { result += i }) return [result] } } generateMap() { if (this.root) { this.generateString() } else if (this.previous().length === 1) { let prev = this.previous()[0].consumer() prev.file = this.outputFile() this.map = SourceMapGenerator.fromSourceMap(prev, { ignoreInvalidMapping: true }) } else { this.map = new SourceMapGenerator({ file: this.outputFile(), ignoreInvalidMapping: true }) this.map.addMapping({ generated: { column: 0, line: 1 }, original: { column: 0, line: 1 }, source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : '' }) } if (this.isSourcesContent()) this.setSourcesContent() if (this.root && this.previous().length > 0) this.applyPrevMaps() if (this.isAnnotation()) this.addAnnotation() if (this.isInline()) { return [this.css] } else { return [this.css, this.map] } } generateString() { this.css = '' this.map = new SourceMapGenerator({ file: this.outputFile(), ignoreInvalidMapping: true }) let line = 1 let column = 1 let noSource = '' let mapping = { generated: { column: 0, line: 0 }, original: { column: 0, line: 0 }, source: '' } let last, lines this.stringify(this.root, (str, node, type) => { this.css += str if (node && type !== 'end') { mapping.generated.line = line mapping.generated.column = column - 1 if (node.source && node.source.start) { mapping.source = this.sourcePath(node) mapping.original.line = node.source.start.line mapping.original.column = node.source.start.column - 1 this.map.addMapping(mapping) } else { mapping.source = noSource mapping.original.line = 1 mapping.original.column = 0 this.map.addMapping(mapping) } } lines = str.match(/\n/g) if (lines) { line += lines.length last = str.lastIndexOf('\n') column = str.length - last } else { column += str.length } if (node && type !== 'start') { let p = node.parent || { raws: {} } let childless = node.type === 'decl' || (node.type === 'atrule' && !node.nodes) if (!childless || node !== p.last || p.raws.semicolon) { if (node.source && node.source.end) { mapping.source = this.sourcePath(node) mapping.original.line = node.source.end.line mapping.original.column = node.source.end.column - 1 mapping.generated.line = line mapping.generated.column = column - 2 this.map.addMapping(mapping) } else { mapping.source = noSource mapping.original.line = 1 mapping.original.column = 0 mapping.generated.line = line mapping.generated.column = column - 1 this.map.addMapping(mapping) } } } }) } isAnnotation() { if (this.isInline()) { return true } if (typeof this.mapOpts.annotation !== 'undefined') { return this.mapOpts.annotation } if (this.previous().length) { return this.previous().some(i => i.annotation) } return true } isInline() { if (typeof this.mapOpts.inline !== 'undefined') { return this.mapOpts.inline } let annotation = this.mapOpts.annotation if (typeof annotation !== 'undefined' && annotation !== true) { return false } if (this.previous().length) { return this.previous().some(i => i.inline) } return true } isMap() { if (typeof this.opts.map !== 'undefined') { return !!this.opts.map } return this.previous().length > 0 } isSourcesContent() { if (typeof this.mapOpts.sourcesContent !== 'undefined') { return this.mapOpts.sourcesContent } if (this.previous().length) { return this.previous().some(i => i.withContent()) } return true } outputFile() { if (this.opts.to) { return this.path(this.opts.to) } else if (this.opts.from) { return this.path(this.opts.from) } else { return 'to.css' } } path(file) { if (this.mapOpts.absolute) return file if (file.charCodeAt(0) === 60 /* `<` */) return file if (/^\w+:\/\//.test(file)) return file let cached = this.memoizedPaths.get(file) if (cached) return cached let from = this.opts.to ? dirname(this.opts.to) : '.' if (typeof this.mapOpts.annotation === 'string') { from = dirname(resolve(from, this.mapOpts.annotation)) } let path = relative(from, file) this.memoizedPaths.set(file, path) return path } previous() { if (!this.previousMaps) { this.previousMaps = [] if (this.root) { this.root.walk(node => { if (node.source && node.source.input.map) { let map = node.source.input.map if (!this.previousMaps.includes(map)) { this.previousMaps.push(map) } } }) } else { let input = new Input(this.originalCSS, this.opts) if (input.map) this.previousMaps.push(input.map) } } return this.previousMaps } setSourcesContent() { let already = {} if (this.root) { this.root.walk(node => { if (node.source) { let from = node.source.input.from if (from && !already[from]) { already[from] = true let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from)) this.map.setSourceContent(fromUrl, node.source.input.css) } } }) } else if (this.css) { let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : '' this.map.setSourceContent(from, this.css) } } sourcePath(node) { if (this.mapOpts.from) { return this.toUrl(this.mapOpts.from) } else if (this.usesFileUrls) { return this.toFileUrl(node.source.input.from) } else { return this.toUrl(this.path(node.source.input.from)) } } toBase64(str) { if (Buffer) { return Buffer.from(str).toString('base64') } else { return window.btoa(unescape(encodeURIComponent(str))) } } toFileUrl(path) { let cached = this.memoizedFileURLs.get(path) if (cached) return cached if (pathToFileURL) { let fileURL = pathToFileURL(path).toString() this.memoizedFileURLs.set(path, fileURL) return fileURL } else { throw new Error( '`map.absolute` option is not available in this PostCSS build' ) } } toUrl(path) { let cached = this.memoizedURLs.get(path) if (cached) return cached if (sep === '\\') { path = path.replace(/\\/g, '/') } let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent) this.memoizedURLs.set(path, url) return url } } module.exports = MapGenerator /***/ }), /***/ "./node_modules/postcss/lib/no-work-result.js": /*!****************************************************!*\ !*** ./node_modules/postcss/lib/no-work-result.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let MapGenerator = __webpack_require__(/*! ./map-generator */ "./node_modules/postcss/lib/map-generator.js") let parse = __webpack_require__(/*! ./parse */ "./node_modules/postcss/lib/parse.js") const Result = __webpack_require__(/*! ./result */ "./node_modules/postcss/lib/result.js") let stringify = __webpack_require__(/*! ./stringify */ "./node_modules/postcss/lib/stringify.js") let warnOnce = __webpack_require__(/*! ./warn-once */ "./node_modules/postcss/lib/warn-once.js") class NoWorkResult { get content() { return this.result.css } get css() { return this.result.css } get map() { return this.result.map } get messages() { return [] } get opts() { return this.result.opts } get processor() { return this.result.processor } get root() { if (this._root) { return this._root } let root let parser = parse try { root = parser(this._css, this._opts) } catch (error) { this.error = error } if (this.error) { throw this.error } else { this._root = root return root } } get [Symbol.toStringTag]() { return 'NoWorkResult' } constructor(processor, css, opts) { css = css.toString() this.stringified = false this._processor = processor this._css = css this._opts = opts this._map = undefined let root let str = stringify this.result = new Result(this._processor, root, this._opts) this.result.css = css let self = this Object.defineProperty(this.result, 'root', { get() { return self.root } }) let map = new MapGenerator(str, root, this._opts, css) if (map.isMap()) { let [generatedCSS, generatedMap] = map.generate() if (generatedCSS) { this.result.css = generatedCSS } if (generatedMap) { this.result.map = generatedMap } } else { map.clearAnnotation() this.result.css = map.css } } async() { if (this.error) return Promise.reject(this.error) return Promise.resolve(this.result) } catch(onRejected) { return this.async().catch(onRejected) } finally(onFinally) { return this.async().then(onFinally, onFinally) } sync() { if (this.error) throw this.error return this.result } then(onFulfilled, onRejected) { if (true) { if (!('from' in this._opts)) { warnOnce( 'Without `from` option PostCSS could generate wrong source map ' + 'and will not find Browserslist config. Set it to CSS file path ' + 'or to `undefined` to prevent this warning.' ) } } return this.async().then(onFulfilled, onRejected) } toString() { return this._css } warnings() { return [] } } module.exports = NoWorkResult NoWorkResult.default = NoWorkResult /***/ }), /***/ "./node_modules/postcss/lib/node.js": /*!******************************************!*\ !*** ./node_modules/postcss/lib/node.js ***! \******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let CssSyntaxError = __webpack_require__(/*! ./css-syntax-error */ "./node_modules/postcss/lib/css-syntax-error.js") let Stringifier = __webpack_require__(/*! ./stringifier */ "./node_modules/postcss/lib/stringifier.js") let stringify = __webpack_require__(/*! ./stringify */ "./node_modules/postcss/lib/stringify.js") let { isClean, my } = __webpack_require__(/*! ./symbols */ "./node_modules/postcss/lib/symbols.js") function cloneNode(obj, parent) { let cloned = new obj.constructor() for (let i in obj) { if (!Object.prototype.hasOwnProperty.call(obj, i)) { /* c8 ignore next 2 */ continue } if (i === 'proxyCache') continue let value = obj[i] let type = typeof value if (i === 'parent' && type === 'object') { if (parent) cloned[i] = parent } else if (i === 'source') { cloned[i] = value } else if (Array.isArray(value)) { cloned[i] = value.map(j => cloneNode(j, cloned)) } else { if (type === 'object' && value !== null) value = cloneNode(value) cloned[i] = value } } return cloned } function sourceOffset(inputCSS, position) { // Not all custom syntaxes support `offset` in `source.start` and `source.end` if (position && typeof position.offset !== 'undefined') { return position.offset } let column = 1 let line = 1 let offset = 0 for (let i = 0; i < inputCSS.length; i++) { if (line === position.line && column === position.column) { offset = i break } if (inputCSS[i] === '\n') { column = 1 line += 1 } else { column += 1 } } return offset } class Node { get proxyOf() { return this } constructor(defaults = {}) { this.raws = {} this[isClean] = false this[my] = true for (let name in defaults) { if (name === 'nodes') { this.nodes = [] for (let node of defaults[name]) { if (typeof node.clone === 'function') { this.append(node.clone()) } else { this.append(node) } } } else { this[name] = defaults[name] } } } addToError(error) { error.postcssNode = this if (error.stack && this.source && /\n\s{4}at /.test(error.stack)) { let s = this.source error.stack = error.stack.replace( /\n\s{4}at /, `$&${s.input.from}:${s.start.line}:${s.start.column}$&` ) } return error } after(add) { this.parent.insertAfter(this, add) return this } assign(overrides = {}) { for (let name in overrides) { this[name] = overrides[name] } return this } before(add) { this.parent.insertBefore(this, add) return this } cleanRaws(keepBetween) { delete this.raws.before delete this.raws.after if (!keepBetween) delete this.raws.between } clone(overrides = {}) { let cloned = cloneNode(this) for (let name in overrides) { cloned[name] = overrides[name] } return cloned } cloneAfter(overrides = {}) { let cloned = this.clone(overrides) this.parent.insertAfter(this, cloned) return cloned } cloneBefore(overrides = {}) { let cloned = this.clone(overrides) this.parent.insertBefore(this, cloned) return cloned } error(message, opts = {}) { if (this.source) { let { end, start } = this.rangeBy(opts) return this.source.input.error( message, { column: start.column, line: start.line }, { column: end.column, line: end.line }, opts ) } return new CssSyntaxError(message) } getProxyProcessor() { return { get(node, prop) { if (prop === 'proxyOf') { return node } else if (prop === 'root') { return () => node.root().toProxy() } else { return node[prop] } }, set(node, prop, value) { if (node[prop] === value) return true node[prop] = value if ( prop === 'prop' || prop === 'value' || prop === 'name' || prop === 'params' || prop === 'important' || /* c8 ignore next */ prop === 'text' ) { node.markDirty() } return true } } } /* c8 ignore next 3 */ markClean() { this[isClean] = true } markDirty() { if (this[isClean]) { this[isClean] = false let next = this while ((next = next.parent)) { next[isClean] = false } } } next() { if (!this.parent) return undefined let index = this.parent.index(this) return this.parent.nodes[index + 1] } positionBy(opts = {}) { let pos = this.source.start if (opts.index) { pos = this.positionInside(opts.index) } else if (opts.word) { let inputString = 'document' in this.source.input ? this.source.input.document : this.source.input.css let stringRepresentation = inputString.slice( sourceOffset(inputString, this.source.start), sourceOffset(inputString, this.source.end) ) let index = stringRepresentation.indexOf(opts.word) if (index !== -1) pos = this.positionInside(index) } return pos } positionInside(index) { let column = this.source.start.column let line = this.source.start.line let inputString = 'document' in this.source.input ? this.source.input.document : this.source.input.css let offset = sourceOffset(inputString, this.source.start) let end = offset + index for (let i = offset; i < end; i++) { if (inputString[i] === '\n') { column = 1 line += 1 } else { column += 1 } } return { column, line, offset: end } } prev() { if (!this.parent) return undefined let index = this.parent.index(this) return this.parent.nodes[index - 1] } rangeBy(opts = {}) { let inputString = 'document' in this.source.input ? this.source.input.document : this.source.input.css let start = { column: this.source.start.column, line: this.source.start.line, offset: sourceOffset(inputString, this.source.start) } let end = this.source.end ? { column: this.source.end.column + 1, line: this.source.end.line, offset: typeof this.source.end.offset === 'number' ? // `source.end.offset` is exclusive, so we don't need to add 1 this.source.end.offset : // Since line/column in this.source.end is inclusive, // the `sourceOffset(... , this.source.end)` returns an inclusive offset. // So, we add 1 to convert it to exclusive. sourceOffset(inputString, this.source.end) + 1 } : { column: start.column + 1, line: start.line, offset: start.offset + 1 } if (opts.word) { let stringRepresentation = inputString.slice( sourceOffset(inputString, this.source.start), sourceOffset(inputString, this.source.end) ) let index = stringRepresentation.indexOf(opts.word) if (index !== -1) { start = this.positionInside(index) end = this.positionInside(index + opts.word.length) } } else { if (opts.start) { start = { column: opts.start.column, line: opts.start.line, offset: sourceOffset(inputString, opts.start) } } else if (opts.index) { start = this.positionInside(opts.index) } if (opts.end) { end = { column: opts.end.column, line: opts.end.line, offset: sourceOffset(inputString, opts.end) } } else if (typeof opts.endIndex === 'number') { end = this.positionInside(opts.endIndex) } else if (opts.index) { end = this.positionInside(opts.index + 1) } } if ( end.line < start.line || (end.line === start.line && end.column <= start.column) ) { end = { column: start.column + 1, line: start.line, offset: start.offset + 1 } } return { end, start } } raw(prop, defaultType) { let str = new Stringifier() return str.raw(this, prop, defaultType) } remove() { if (this.parent) { this.parent.removeChild(this) } this.parent = undefined return this } replaceWith(...nodes) { if (this.parent) { let bookmark = this let foundSelf = false for (let node of nodes) { if (node === this) { foundSelf = true } else if (foundSelf) { this.parent.insertAfter(bookmark, node) bookmark = node } else { this.parent.insertBefore(bookmark, node) } } if (!foundSelf) { this.remove() } } return this } root() { let result = this while (result.parent && result.parent.type !== 'document') { result = result.parent } return result } toJSON(_, inputs) { let fixed = {} let emitInputs = inputs == null inputs = inputs || new Map() let inputsNextIndex = 0 for (let name in this) { if (!Object.prototype.hasOwnProperty.call(this, name)) { /* c8 ignore next 2 */ continue } if (name === 'parent' || name === 'proxyCache') continue let value = this[name] if (Array.isArray(value)) { fixed[name] = value.map(i => { if (typeof i === 'object' && i.toJSON) { return i.toJSON(null, inputs) } else { return i } }) } else if (typeof value === 'object' && value.toJSON) { fixed[name] = value.toJSON(null, inputs) } else if (name === 'source') { if (value == null) continue let inputId = inputs.get(value.input) if (inputId == null) { inputId = inputsNextIndex inputs.set(value.input, inputsNextIndex) inputsNextIndex++ } fixed[name] = { end: value.end, inputId, start: value.start } } else { fixed[name] = value } } if (emitInputs) { fixed.inputs = [...inputs.keys()].map(input => input.toJSON()) } return fixed } toProxy() { if (!this.proxyCache) { this.proxyCache = new Proxy(this, this.getProxyProcessor()) } return this.proxyCache } toString(stringifier = stringify) { if (stringifier.stringify) stringifier = stringifier.stringify let result = '' stringifier(this, i => { result += i }) return result } warn(result, text, opts = {}) { let data = { node: this } for (let i in opts) data[i] = opts[i] return result.warn(text, data) } } module.exports = Node Node.default = Node /***/ }), /***/ "./node_modules/postcss/lib/parse.js": /*!*******************************************!*\ !*** ./node_modules/postcss/lib/parse.js ***! \*******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Container = __webpack_require__(/*! ./container */ "./node_modules/postcss/lib/container.js") let Input = __webpack_require__(/*! ./input */ "./node_modules/postcss/lib/input.js") let Parser = __webpack_require__(/*! ./parser */ "./node_modules/postcss/lib/parser.js") function parse(css, opts) { let input = new Input(css, opts) let parser = new Parser(input) try { parser.parse() } catch (e) { if (true) { if (e.name === 'CssSyntaxError' && opts && opts.from) { if (/\.scss$/i.test(opts.from)) { e.message += '\nYou tried to parse SCSS with ' + 'the standard CSS parser; ' + 'try again with the postcss-scss parser' } else if (/\.sass/i.test(opts.from)) { e.message += '\nYou tried to parse Sass with ' + 'the standard CSS parser; ' + 'try again with the postcss-sass parser' } else if (/\.less$/i.test(opts.from)) { e.message += '\nYou tried to parse Less with ' + 'the standard CSS parser; ' + 'try again with the postcss-less parser' } } } throw e } return parser.root } module.exports = parse parse.default = parse Container.registerParse(parse) /***/ }), /***/ "./node_modules/postcss/lib/parser.js": /*!********************************************!*\ !*** ./node_modules/postcss/lib/parser.js ***! \********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let AtRule = __webpack_require__(/*! ./at-rule */ "./node_modules/postcss/lib/at-rule.js") let Comment = __webpack_require__(/*! ./comment */ "./node_modules/postcss/lib/comment.js") let Declaration = __webpack_require__(/*! ./declaration */ "./node_modules/postcss/lib/declaration.js") let Root = __webpack_require__(/*! ./root */ "./node_modules/postcss/lib/root.js") let Rule = __webpack_require__(/*! ./rule */ "./node_modules/postcss/lib/rule.js") let tokenizer = __webpack_require__(/*! ./tokenize */ "./node_modules/postcss/lib/tokenize.js") const SAFE_COMMENT_NEIGHBOR = { empty: true, space: true } function findLastWithPosition(tokens) { for (let i = tokens.length - 1; i >= 0; i--) { let token = tokens[i] let pos = token[3] || token[2] if (pos) return pos } } class Parser { constructor(input) { this.input = input this.root = new Root() this.current = this.root this.spaces = '' this.semicolon = false this.createTokenizer() this.root.source = { input, start: { column: 1, line: 1, offset: 0 } } } atrule(token) { let node = new AtRule() node.name = token[1].slice(1) if (node.name === '') { this.unnamedAtrule(node, token) } this.init(node, token[2]) let type let prev let shift let last = false let open = false let params = [] let brackets = [] while (!this.tokenizer.endOfFile()) { token = this.tokenizer.nextToken() type = token[0] if (type === '(' || type === '[') { brackets.push(type === '(' ? ')' : ']') } else if (type === '{' && brackets.length > 0) { brackets.push('}') } else if (type === brackets[brackets.length - 1]) { brackets.pop() } if (brackets.length === 0) { if (type === ';') { node.source.end = this.getPosition(token[2]) node.source.end.offset++ this.semicolon = true break } else if (type === '{') { open = true break } else if (type === '}') { if (params.length > 0) { shift = params.length - 1 prev = params[shift] while (prev && prev[0] === 'space') { prev = params[--shift] } if (prev) { node.source.end = this.getPosition(prev[3] || prev[2]) node.source.end.offset++ } } this.end(token) break } else { params.push(token) } } else { params.push(token) } if (this.tokenizer.endOfFile()) { last = true break } } node.raws.between = this.spacesAndCommentsFromEnd(params) if (params.length) { node.raws.afterName = this.spacesAndCommentsFromStart(params) this.raw(node, 'params', params) if (last) { token = params[params.length - 1] node.source.end = this.getPosition(token[3] || token[2]) node.source.end.offset++ this.spaces = node.raws.between node.raws.between = '' } } else { node.raws.afterName = '' node.params = '' } if (open) { node.nodes = [] this.current = node } } checkMissedSemicolon(tokens) { let colon = this.colon(tokens) if (colon === false) return let founded = 0 let token for (let j = colon - 1; j >= 0; j--) { token = tokens[j] if (token[0] !== 'space') { founded += 1 if (founded === 2) break } } // If the token is a word, e.g. `!important`, `red` or any other valid property's value. // Then we need to return the colon after that word token. [3] is the "end" colon of that word. // And because we need it after that one we do +1 to get the next one. throw this.input.error( 'Missed semicolon', token[0] === 'word' ? token[3] + 1 : token[2] ) } colon(tokens) { let brackets = 0 let prev, token, type for (let [i, element] of tokens.entries()) { token = element type = token[0] if (type === '(') { brackets += 1 } if (type === ')') { brackets -= 1 } if (brackets === 0 && type === ':') { if (!prev) { this.doubleColon(token) } else if (prev[0] === 'word' && prev[1] === 'progid') { continue } else { return i } } prev = token } return false } comment(token) { let node = new Comment() this.init(node, token[2]) node.source.end = this.getPosition(token[3] || token[2]) node.source.end.offset++ let text = token[1].slice(2, -2) if (/^\s*$/.test(text)) { node.text = '' node.raws.left = text node.raws.right = '' } else { let match = text.match(/^(\s*)([^]*\S)(\s*)$/) node.text = match[2] node.raws.left = match[1] node.raws.right = match[3] } } createTokenizer() { this.tokenizer = tokenizer(this.input) } decl(tokens, customProperty) { let node = new Declaration() this.init(node, tokens[0][2]) let last = tokens[tokens.length - 1] if (last[0] === ';') { this.semicolon = true tokens.pop() } node.source.end = this.getPosition( last[3] || last[2] || findLastWithPosition(tokens) ) node.source.end.offset++ while (tokens[0][0] !== 'word') { if (tokens.length === 1) this.unknownWord(tokens) node.raws.before += tokens.shift()[1] } node.source.start = this.getPosition(tokens[0][2]) node.prop = '' while (tokens.length) { let type = tokens[0][0] if (type === ':' || type === 'space' || type === 'comment') { break } node.prop += tokens.shift()[1] } node.raws.between = '' let token while (tokens.length) { token = tokens.shift() if (token[0] === ':') { node.raws.between += token[1] break } else { if (token[0] === 'word' && /\w/.test(token[1])) { this.unknownWord([token]) } node.raws.between += token[1] } } if (node.prop[0] === '_' || node.prop[0] === '*') { node.raws.before += node.prop[0] node.prop = node.prop.slice(1) } let firstSpaces = [] let next while (tokens.length) { next = tokens[0][0] if (next !== 'space' && next !== 'comment') break firstSpaces.push(tokens.shift()) } this.precheckMissedSemicolon(tokens) for (let i = tokens.length - 1; i >= 0; i--) { token = tokens[i] if (token[1].toLowerCase() === '!important') { node.important = true let string = this.stringFrom(tokens, i) string = this.spacesFromEnd(tokens) + string if (string !== ' !important') node.raws.important = string break } else if (token[1].toLowerCase() === 'important') { let cache = tokens.slice(0) let str = '' for (let j = i; j > 0; j--) { let type = cache[j][0] if (str.trim().startsWith('!') && type !== 'space') { break } str = cache.pop()[1] + str } if (str.trim().startsWith('!')) { node.important = true node.raws.important = str tokens = cache } } if (token[0] !== 'space' && token[0] !== 'comment') { break } } let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment') if (hasWord) { node.raws.between += firstSpaces.map(i => i[1]).join('') firstSpaces = [] } this.raw(node, 'value', firstSpaces.concat(tokens), customProperty) if (node.value.includes(':') && !customProperty) { this.checkMissedSemicolon(tokens) } } doubleColon(token) { throw this.input.error( 'Double colon', { offset: token[2] }, { offset: token[2] + token[1].length } ) } emptyRule(token) { let node = new Rule() this.init(node, token[2]) node.selector = '' node.raws.between = '' this.current = node } end(token) { if (this.current.nodes && this.current.nodes.length) { this.current.raws.semicolon = this.semicolon } this.semicolon = false this.current.raws.after = (this.current.raws.after || '') + this.spaces this.spaces = '' if (this.current.parent) { this.current.source.end = this.getPosition(token[2]) this.current.source.end.offset++ this.current = this.current.parent } else { this.unexpectedClose(token) } } endFile() { if (this.current.parent) this.unclosedBlock() if (this.current.nodes && this.current.nodes.length) { this.current.raws.semicolon = this.semicolon } this.current.raws.after = (this.current.raws.after || '') + this.spaces this.root.source.end = this.getPosition(this.tokenizer.position()) } freeSemicolon(token) { this.spaces += token[1] if (this.current.nodes) { let prev = this.current.nodes[this.current.nodes.length - 1] if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) { prev.raws.ownSemicolon = this.spaces this.spaces = '' prev.source.end = this.getPosition(token[2]) prev.source.end.offset += prev.raws.ownSemicolon.length } } } // Helpers getPosition(offset) { let pos = this.input.fromOffset(offset) return { column: pos.col, line: pos.line, offset } } init(node, offset) { this.current.push(node) node.source = { input: this.input, start: this.getPosition(offset) } node.raws.before = this.spaces this.spaces = '' if (node.type !== 'comment') this.semicolon = false } other(start) { let end = false let type = null let colon = false let bracket = null let brackets = [] let customProperty = start[1].startsWith('--') let tokens = [] let token = start while (token) { type = token[0] tokens.push(token) if (type === '(' || type === '[') { if (!bracket) bracket = token brackets.push(type === '(' ? ')' : ']') } else if (customProperty && colon && type === '{') { if (!bracket) bracket = token brackets.push('}') } else if (brackets.length === 0) { if (type === ';') { if (colon) { this.decl(tokens, customProperty) return } else { break } } else if (type === '{') { this.rule(tokens) return } else if (type === '}') { this.tokenizer.back(tokens.pop()) end = true break } else if (type === ':') { colon = true } } else if (type === brackets[brackets.length - 1]) { brackets.pop() if (brackets.length === 0) bracket = null } token = this.tokenizer.nextToken() } if (this.tokenizer.endOfFile()) end = true if (brackets.length > 0) this.unclosedBracket(bracket) if (end && colon) { if (!customProperty) { while (tokens.length) { token = tokens[tokens.length - 1][0] if (token !== 'space' && token !== 'comment') break this.tokenizer.back(tokens.pop()) } } this.decl(tokens, customProperty) } else { this.unknownWord(tokens) } } parse() { let token while (!this.tokenizer.endOfFile()) { token = this.tokenizer.nextToken() switch (token[0]) { case 'space': this.spaces += token[1] break case ';': this.freeSemicolon(token) break case '}': this.end(token) break case 'comment': this.comment(token) break case 'at-word': this.atrule(token) break case '{': this.emptyRule(token) break default: this.other(token) break } } this.endFile() } precheckMissedSemicolon(/* tokens */) { // Hook for Safe Parser } raw(node, prop, tokens, customProperty) { let token, type let length = tokens.length let value = '' let clean = true let next, prev for (let i = 0; i < length; i += 1) { token = tokens[i] type = token[0] if (type === 'space' && i === length - 1 && !customProperty) { clean = false } else if (type === 'comment') { prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty' next = tokens[i + 1] ? tokens[i + 1][0] : 'empty' if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) { if (value.slice(-1) === ',') { clean = false } else { value += token[1] } } else { clean = false } } else { value += token[1] } } if (!clean) { let raw = tokens.reduce((all, i) => all + i[1], '') node.raws[prop] = { raw, value } } node[prop] = value } rule(tokens) { tokens.pop() let node = new Rule() this.init(node, tokens[0][2]) node.raws.between = this.spacesAndCommentsFromEnd(tokens) this.raw(node, 'selector', tokens) this.current = node } spacesAndCommentsFromEnd(tokens) { let lastTokenType let spaces = '' while (tokens.length) { lastTokenType = tokens[tokens.length - 1][0] if (lastTokenType !== 'space' && lastTokenType !== 'comment') break spaces = tokens.pop()[1] + spaces } return spaces } // Errors spacesAndCommentsFromStart(tokens) { let next let spaces = '' while (tokens.length) { next = tokens[0][0] if (next !== 'space' && next !== 'comment') break spaces += tokens.shift()[1] } return spaces } spacesFromEnd(tokens) { let lastTokenType let spaces = '' while (tokens.length) { lastTokenType = tokens[tokens.length - 1][0] if (lastTokenType !== 'space') break spaces = tokens.pop()[1] + spaces } return spaces } stringFrom(tokens, from) { let result = '' for (let i = from; i < tokens.length; i++) { result += tokens[i][1] } tokens.splice(from, tokens.length - from) return result } unclosedBlock() { let pos = this.current.source.start throw this.input.error('Unclosed block', pos.line, pos.column) } unclosedBracket(bracket) { throw this.input.error( 'Unclosed bracket', { offset: bracket[2] }, { offset: bracket[2] + 1 } ) } unexpectedClose(token) { throw this.input.error( 'Unexpected }', { offset: token[2] }, { offset: token[2] + 1 } ) } unknownWord(tokens) { throw this.input.error( 'Unknown word ' + tokens[0][1], { offset: tokens[0][2] }, { offset: tokens[0][2] + tokens[0][1].length } ) } unnamedAtrule(node, token) { throw this.input.error( 'At-rule without name', { offset: token[2] }, { offset: token[2] + token[1].length } ) } } module.exports = Parser /***/ }), /***/ "./node_modules/postcss/lib/postcss.js": /*!*********************************************!*\ !*** ./node_modules/postcss/lib/postcss.js ***! \*********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js"); let AtRule = __webpack_require__(/*! ./at-rule */ "./node_modules/postcss/lib/at-rule.js") let Comment = __webpack_require__(/*! ./comment */ "./node_modules/postcss/lib/comment.js") let Container = __webpack_require__(/*! ./container */ "./node_modules/postcss/lib/container.js") let CssSyntaxError = __webpack_require__(/*! ./css-syntax-error */ "./node_modules/postcss/lib/css-syntax-error.js") let Declaration = __webpack_require__(/*! ./declaration */ "./node_modules/postcss/lib/declaration.js") let Document = __webpack_require__(/*! ./document */ "./node_modules/postcss/lib/document.js") let fromJSON = __webpack_require__(/*! ./fromJSON */ "./node_modules/postcss/lib/fromJSON.js") let Input = __webpack_require__(/*! ./input */ "./node_modules/postcss/lib/input.js") let LazyResult = __webpack_require__(/*! ./lazy-result */ "./node_modules/postcss/lib/lazy-result.js") let list = __webpack_require__(/*! ./list */ "./node_modules/postcss/lib/list.js") let Node = __webpack_require__(/*! ./node */ "./node_modules/postcss/lib/node.js") let parse = __webpack_require__(/*! ./parse */ "./node_modules/postcss/lib/parse.js") let Processor = __webpack_require__(/*! ./processor */ "./node_modules/postcss/lib/processor.js") let Result = __webpack_require__(/*! ./result.js */ "./node_modules/postcss/lib/result.js") let Root = __webpack_require__(/*! ./root */ "./node_modules/postcss/lib/root.js") let Rule = __webpack_require__(/*! ./rule */ "./node_modules/postcss/lib/rule.js") let stringify = __webpack_require__(/*! ./stringify */ "./node_modules/postcss/lib/stringify.js") let Warning = __webpack_require__(/*! ./warning */ "./node_modules/postcss/lib/warning.js") function postcss(...plugins) { if (plugins.length === 1 && Array.isArray(plugins[0])) { plugins = plugins[0] } return new Processor(plugins) } postcss.plugin = function plugin(name, initializer) { let warningPrinted = false function creator(...args) { // eslint-disable-next-line no-console if (console && console.warn && !warningPrinted) { warningPrinted = true // eslint-disable-next-line no-console console.warn( name + ': postcss.plugin was deprecated. Migration guide:\n' + 'https://evilmartians.com/chronicles/postcss-8-plugin-migration' ) if (process.env.LANG && process.env.LANG.startsWith('cn')) { /* c8 ignore next 7 */ // eslint-disable-next-line no-console console.warn( name + ': 里面 postcss.plugin 被弃用. 迁移指南:\n' + 'https://www.w3ctech.com/topic/2226' ) } } let transformer = initializer(...args) transformer.postcssPlugin = name transformer.postcssVersion = new Processor().version return transformer } let cache Object.defineProperty(creator, 'postcss', { get() { if (!cache) cache = creator() return cache } }) creator.process = function (css, processOpts, pluginOpts) { return postcss([creator(pluginOpts)]).process(css, processOpts) } return creator } postcss.stringify = stringify postcss.parse = parse postcss.fromJSON = fromJSON postcss.list = list postcss.comment = defaults => new Comment(defaults) postcss.atRule = defaults => new AtRule(defaults) postcss.decl = defaults => new Declaration(defaults) postcss.rule = defaults => new Rule(defaults) postcss.root = defaults => new Root(defaults) postcss.document = defaults => new Document(defaults) postcss.CssSyntaxError = CssSyntaxError postcss.Declaration = Declaration postcss.Container = Container postcss.Processor = Processor postcss.Document = Document postcss.Comment = Comment postcss.Warning = Warning postcss.AtRule = AtRule postcss.Result = Result postcss.Input = Input postcss.Rule = Rule postcss.Root = Root postcss.Node = Node LazyResult.registerPostcss(postcss) module.exports = postcss postcss.default = postcss /***/ }), /***/ "./node_modules/postcss/lib/postcss.mjs": /*!**********************************************!*\ !*** ./node_modules/postcss/lib/postcss.mjs ***! \**********************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ AtRule: () => (/* binding */ AtRule), /* harmony export */ Comment: () => (/* binding */ Comment), /* harmony export */ Container: () => (/* binding */ Container), /* harmony export */ CssSyntaxError: () => (/* binding */ CssSyntaxError), /* harmony export */ Declaration: () => (/* binding */ Declaration), /* harmony export */ Document: () => (/* binding */ Document), /* harmony export */ Input: () => (/* binding */ Input), /* harmony export */ Node: () => (/* binding */ Node), /* harmony export */ Processor: () => (/* binding */ Processor), /* harmony export */ Result: () => (/* binding */ Result), /* harmony export */ Root: () => (/* binding */ Root), /* harmony export */ Rule: () => (/* binding */ Rule), /* harmony export */ Warning: () => (/* binding */ Warning), /* harmony export */ atRule: () => (/* binding */ atRule), /* harmony export */ comment: () => (/* binding */ comment), /* harmony export */ decl: () => (/* binding */ decl), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ document: () => (/* binding */ document), /* harmony export */ fromJSON: () => (/* binding */ fromJSON), /* harmony export */ list: () => (/* binding */ list), /* harmony export */ parse: () => (/* binding */ parse), /* harmony export */ plugin: () => (/* binding */ plugin), /* harmony export */ root: () => (/* binding */ root), /* harmony export */ rule: () => (/* binding */ rule), /* harmony export */ stringify: () => (/* binding */ stringify) /* harmony export */ }); /* harmony import */ var _postcss_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./postcss.js */ "./node_modules/postcss/lib/postcss.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_postcss_js__WEBPACK_IMPORTED_MODULE_0__); const stringify = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.stringify const fromJSON = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.fromJSON const plugin = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.plugin const parse = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.parse const list = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.list const document = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.document const comment = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.comment const atRule = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.atRule const rule = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.rule const decl = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.decl const root = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.root const CssSyntaxError = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.CssSyntaxError const Declaration = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Declaration const Container = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Container const Processor = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Processor const Document = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Document const Comment = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Comment const Warning = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Warning const AtRule = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.AtRule const Result = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Result const Input = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Input const Rule = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Rule const Root = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Root const Node = _postcss_js__WEBPACK_IMPORTED_MODULE_0__.Node /***/ }), /***/ "./node_modules/postcss/lib/previous-map.js": /*!**************************************************!*\ !*** ./node_modules/postcss/lib/previous-map.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let { existsSync, readFileSync } = __webpack_require__(/*! fs */ "?03fb") let { dirname, join } = __webpack_require__(/*! path */ "?6197") let { SourceMapConsumer, SourceMapGenerator } = __webpack_require__(/*! source-map-js */ "?b8cb") function fromBase64(str) { if (Buffer) { return Buffer.from(str, 'base64').toString() } else { /* c8 ignore next 2 */ return window.atob(str) } } class PreviousMap { constructor(css, opts) { if (opts.map === false) return this.loadAnnotation(css) this.inline = this.startWith(this.annotation, 'data:') let prev = opts.map ? opts.map.prev : undefined let text = this.loadMap(opts.from, prev) if (!this.mapFile && opts.from) { this.mapFile = opts.from } if (this.mapFile) this.root = dirname(this.mapFile) if (text) this.text = text } consumer() { if (!this.consumerCache) { this.consumerCache = new SourceMapConsumer(this.text) } return this.consumerCache } decodeInline(text) { let baseCharsetUri = /^data:application\/json;charset=utf-?8;base64,/ let baseUri = /^data:application\/json;base64,/ let charsetUri = /^data:application\/json;charset=utf-?8,/ let uri = /^data:application\/json,/ let uriMatch = text.match(charsetUri) || text.match(uri) if (uriMatch) { return decodeURIComponent(text.substr(uriMatch[0].length)) } let baseUriMatch = text.match(baseCharsetUri) || text.match(baseUri) if (baseUriMatch) { return fromBase64(text.substr(baseUriMatch[0].length)) } let encoding = text.match(/data:application\/json;([^,]+),/)[1] throw new Error('Unsupported source map encoding ' + encoding) } getAnnotationURL(sourceMapString) { return sourceMapString.replace(/^\/\*\s*# sourceMappingURL=/, '').trim() } isMap(map) { if (typeof map !== 'object') return false return ( typeof map.mappings === 'string' || typeof map._mappings === 'string' || Array.isArray(map.sections) ) } loadAnnotation(css) { let comments = css.match(/\/\*\s*# sourceMappingURL=/g) if (!comments) return // sourceMappingURLs from comments, strings, etc. let start = css.lastIndexOf(comments.pop()) let end = css.indexOf('*/', start) if (start > -1 && end > -1) { // Locate the last sourceMappingURL to avoid pickin this.annotation = this.getAnnotationURL(css.substring(start, end)) } } loadFile(path) { this.root = dirname(path) if (existsSync(path)) { this.mapFile = path return readFileSync(path, 'utf-8').toString().trim() } } loadMap(file, prev) { if (prev === false) return false if (prev) { if (typeof prev === 'string') { return prev } else if (typeof prev === 'function') { let prevPath = prev(file) if (prevPath) { let map = this.loadFile(prevPath) if (!map) { throw new Error( 'Unable to load previous source map: ' + prevPath.toString() ) } return map } } else if (prev instanceof SourceMapConsumer) { return SourceMapGenerator.fromSourceMap(prev).toString() } else if (prev instanceof SourceMapGenerator) { return prev.toString() } else if (this.isMap(prev)) { return JSON.stringify(prev) } else { throw new Error( 'Unsupported previous source map format: ' + prev.toString() ) } } else if (this.inline) { return this.decodeInline(this.annotation) } else if (this.annotation) { let map = this.annotation if (file) map = join(dirname(file), map) return this.loadFile(map) } } startWith(string, start) { if (!string) return false return string.substr(0, start.length) === start } withContent() { return !!( this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0 ) } } module.exports = PreviousMap PreviousMap.default = PreviousMap /***/ }), /***/ "./node_modules/postcss/lib/processor.js": /*!***********************************************!*\ !*** ./node_modules/postcss/lib/processor.js ***! \***********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Document = __webpack_require__(/*! ./document */ "./node_modules/postcss/lib/document.js") let LazyResult = __webpack_require__(/*! ./lazy-result */ "./node_modules/postcss/lib/lazy-result.js") let NoWorkResult = __webpack_require__(/*! ./no-work-result */ "./node_modules/postcss/lib/no-work-result.js") let Root = __webpack_require__(/*! ./root */ "./node_modules/postcss/lib/root.js") class Processor { constructor(plugins = []) { this.version = '8.5.6' this.plugins = this.normalize(plugins) } normalize(plugins) { let normalized = [] for (let i of plugins) { if (i.postcss === true) { i = i() } else if (i.postcss) { i = i.postcss } if (typeof i === 'object' && Array.isArray(i.plugins)) { normalized = normalized.concat(i.plugins) } else if (typeof i === 'object' && i.postcssPlugin) { normalized.push(i) } else if (typeof i === 'function') { normalized.push(i) } else if (typeof i === 'object' && (i.parse || i.stringify)) { if (true) { throw new Error( 'PostCSS syntaxes cannot be used as plugins. Instead, please use ' + 'one of the syntax/parser/stringifier options as outlined ' + 'in your PostCSS runner documentation.' ) } } else { throw new Error(i + ' is not a PostCSS plugin') } } return normalized } process(css, opts = {}) { if ( !this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax ) { return new NoWorkResult(this, css, opts) } else { return new LazyResult(this, css, opts) } } use(plugin) { this.plugins = this.plugins.concat(this.normalize([plugin])) return this } } module.exports = Processor Processor.default = Processor Root.registerProcessor(Processor) Document.registerProcessor(Processor) /***/ }), /***/ "./node_modules/postcss/lib/result.js": /*!********************************************!*\ !*** ./node_modules/postcss/lib/result.js ***! \********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Warning = __webpack_require__(/*! ./warning */ "./node_modules/postcss/lib/warning.js") class Result { get content() { return this.css } constructor(processor, root, opts) { this.processor = processor this.messages = [] this.root = root this.opts = opts this.css = '' this.map = undefined } toString() { return this.css } warn(text, opts = {}) { if (!opts.plugin) { if (this.lastPlugin && this.lastPlugin.postcssPlugin) { opts.plugin = this.lastPlugin.postcssPlugin } } let warning = new Warning(text, opts) this.messages.push(warning) return warning } warnings() { return this.messages.filter(i => i.type === 'warning') } } module.exports = Result Result.default = Result /***/ }), /***/ "./node_modules/postcss/lib/root.js": /*!******************************************!*\ !*** ./node_modules/postcss/lib/root.js ***! \******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Container = __webpack_require__(/*! ./container */ "./node_modules/postcss/lib/container.js") let LazyResult, Processor class Root extends Container { constructor(defaults) { super(defaults) this.type = 'root' if (!this.nodes) this.nodes = [] } normalize(child, sample, type) { let nodes = super.normalize(child) if (sample) { if (type === 'prepend') { if (this.nodes.length > 1) { sample.raws.before = this.nodes[1].raws.before } else { delete sample.raws.before } } else if (this.first !== sample) { for (let node of nodes) { node.raws.before = sample.raws.before } } } return nodes } removeChild(child, ignore) { let index = this.index(child) if (!ignore && index === 0 && this.nodes.length > 1) { this.nodes[1].raws.before = this.nodes[index].raws.before } return super.removeChild(child) } toResult(opts = {}) { let lazy = new LazyResult(new Processor(), this, opts) return lazy.stringify() } } Root.registerLazyResult = dependant => { LazyResult = dependant } Root.registerProcessor = dependant => { Processor = dependant } module.exports = Root Root.default = Root Container.registerRoot(Root) /***/ }), /***/ "./node_modules/postcss/lib/rule.js": /*!******************************************!*\ !*** ./node_modules/postcss/lib/rule.js ***! \******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Container = __webpack_require__(/*! ./container */ "./node_modules/postcss/lib/container.js") let list = __webpack_require__(/*! ./list */ "./node_modules/postcss/lib/list.js") class Rule extends Container { get selectors() { return list.comma(this.selector) } set selectors(values) { let match = this.selector ? this.selector.match(/,\s*/) : null let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen') this.selector = values.join(sep) } constructor(defaults) { super(defaults) this.type = 'rule' if (!this.nodes) this.nodes = [] } } module.exports = Rule Rule.default = Rule Container.registerRule(Rule) /***/ }), /***/ "./node_modules/postcss/lib/stringifier.js": /*!*************************************************!*\ !*** ./node_modules/postcss/lib/stringifier.js ***! \*************************************************/ /***/ ((module) => { "use strict"; const DEFAULT_RAW = { after: '\n', beforeClose: '\n', beforeComment: '\n', beforeDecl: '\n', beforeOpen: ' ', beforeRule: '\n', colon: ': ', commentLeft: ' ', commentRight: ' ', emptyBody: '', indent: ' ', semicolon: false } function capitalize(str) { return str[0].toUpperCase() + str.slice(1) } class Stringifier { constructor(builder) { this.builder = builder } atrule(node, semicolon) { let name = '@' + node.name let params = node.params ? this.rawValue(node, 'params') : '' if (typeof node.raws.afterName !== 'undefined') { name += node.raws.afterName } else if (params) { name += ' ' } if (node.nodes) { this.block(node, name + params) } else { let end = (node.raws.between || '') + (semicolon ? ';' : '') this.builder(name + params + end, node) } } beforeAfter(node, detect) { let value if (node.type === 'decl') { value = this.raw(node, null, 'beforeDecl') } else if (node.type === 'comment') { value = this.raw(node, null, 'beforeComment') } else if (detect === 'before') { value = this.raw(node, null, 'beforeRule') } else { value = this.raw(node, null, 'beforeClose') } let buf = node.parent let depth = 0 while (buf && buf.type !== 'root') { depth += 1 buf = buf.parent } if (value.includes('\n')) { let indent = this.raw(node, null, 'indent') if (indent.length) { for (let step = 0; step < depth; step++) value += indent } } return value } block(node, start) { let between = this.raw(node, 'between', 'beforeOpen') this.builder(start + between + '{', node, 'start') let after if (node.nodes && node.nodes.length) { this.body(node) after = this.raw(node, 'after') } else { after = this.raw(node, 'after', 'emptyBody') } if (after) this.builder(after) this.builder('}', node, 'end') } body(node) { let last = node.nodes.length - 1 while (last > 0) { if (node.nodes[last].type !== 'comment') break last -= 1 } let semicolon = this.raw(node, 'semicolon') for (let i = 0; i < node.nodes.length; i++) { let child = node.nodes[i] let before = this.raw(child, 'before') if (before) this.builder(before) this.stringify(child, last !== i || semicolon) } } comment(node) { let left = this.raw(node, 'left', 'commentLeft') let right = this.raw(node, 'right', 'commentRight') this.builder('/*' + left + node.text + right + '*/', node) } decl(node, semicolon) { let between = this.raw(node, 'between', 'colon') let string = node.prop + between + this.rawValue(node, 'value') if (node.important) { string += node.raws.important || ' !important' } if (semicolon) string += ';' this.builder(string, node) } document(node) { this.body(node) } raw(node, own, detect) { let value if (!detect) detect = own // Already had if (own) { value = node.raws[own] if (typeof value !== 'undefined') return value } let parent = node.parent if (detect === 'before') { // Hack for first rule in CSS if (!parent || (parent.type === 'root' && parent.first === node)) { return '' } // `root` nodes in `document` should use only their own raws if (parent && parent.type === 'document') { return '' } } // Floating child without parent if (!parent) return DEFAULT_RAW[detect] // Detect style by other nodes let root = node.root() if (!root.rawCache) root.rawCache = {} if (typeof root.rawCache[detect] !== 'undefined') { return root.rawCache[detect] } if (detect === 'before' || detect === 'after') { return this.beforeAfter(node, detect) } else { let method = 'raw' + capitalize(detect) if (this[method]) { value = this[method](root, node) } else { root.walk(i => { value = i.raws[own] if (typeof value !== 'undefined') return false }) } } if (typeof value === 'undefined') value = DEFAULT_RAW[detect] root.rawCache[detect] = value return value } rawBeforeClose(root) { let value root.walk(i => { if (i.nodes && i.nodes.length > 0) { if (typeof i.raws.after !== 'undefined') { value = i.raws.after if (value.includes('\n')) { value = value.replace(/[^\n]+$/, '') } return false } } }) if (value) value = value.replace(/\S/g, '') return value } rawBeforeComment(root, node) { let value root.walkComments(i => { if (typeof i.raws.before !== 'undefined') { value = i.raws.before if (value.includes('\n')) { value = value.replace(/[^\n]+$/, '') } return false } }) if (typeof value === 'undefined') { value = this.raw(node, null, 'beforeDecl') } else if (value) { value = value.replace(/\S/g, '') } return value } rawBeforeDecl(root, node) { let value root.walkDecls(i => { if (typeof i.raws.before !== 'undefined') { value = i.raws.before if (value.includes('\n')) { value = value.replace(/[^\n]+$/, '') } return false } }) if (typeof value === 'undefined') { value = this.raw(node, null, 'beforeRule') } else if (value) { value = value.replace(/\S/g, '') } return value } rawBeforeOpen(root) { let value root.walk(i => { if (i.type !== 'decl') { value = i.raws.between if (typeof value !== 'undefined') return false } }) return value } rawBeforeRule(root) { let value root.walk(i => { if (i.nodes && (i.parent !== root || root.first !== i)) { if (typeof i.raws.before !== 'undefined') { value = i.raws.before if (value.includes('\n')) { value = value.replace(/[^\n]+$/, '') } return false } } }) if (value) value = value.replace(/\S/g, '') return value } rawColon(root) { let value root.walkDecls(i => { if (typeof i.raws.between !== 'undefined') { value = i.raws.between.replace(/[^\s:]/g, '') return false } }) return value } rawEmptyBody(root) { let value root.walk(i => { if (i.nodes && i.nodes.length === 0) { value = i.raws.after if (typeof value !== 'undefined') return false } }) return value } rawIndent(root) { if (root.raws.indent) return root.raws.indent let value root.walk(i => { let p = i.parent if (p && p !== root && p.parent && p.parent === root) { if (typeof i.raws.before !== 'undefined') { let parts = i.raws.before.split('\n') value = parts[parts.length - 1] value = value.replace(/\S/g, '') return false } } }) return value } rawSemicolon(root) { let value root.walk(i => { if (i.nodes && i.nodes.length && i.last.type === 'decl') { value = i.raws.semicolon if (typeof value !== 'undefined') return false } }) return value } rawValue(node, prop) { let value = node[prop] let raw = node.raws[prop] if (raw && raw.value === value) { return raw.raw } return value } root(node) { this.body(node) if (node.raws.after) this.builder(node.raws.after) } rule(node) { this.block(node, this.rawValue(node, 'selector')) if (node.raws.ownSemicolon) { this.builder(node.raws.ownSemicolon, node, 'end') } } stringify(node, semicolon) { /* c8 ignore start */ if (!this[node.type]) { throw new Error( 'Unknown AST node type ' + node.type + '. ' + 'Maybe you need to change PostCSS stringifier.' ) } /* c8 ignore stop */ this[node.type](node, semicolon) } } module.exports = Stringifier Stringifier.default = Stringifier /***/ }), /***/ "./node_modules/postcss/lib/stringify.js": /*!***********************************************!*\ !*** ./node_modules/postcss/lib/stringify.js ***! \***********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; let Stringifier = __webpack_require__(/*! ./stringifier */ "./node_modules/postcss/lib/stringifier.js") function stringify(node, builder) { let str = new Stringifier(builder) str.stringify(node) } module.exports = stringify stringify.default = stringify /***/ }), /***/ "./node_modules/postcss/lib/symbols.js": /*!*********************************************!*\ !*** ./node_modules/postcss/lib/symbols.js ***! \*********************************************/ /***/ ((module) => { "use strict"; module.exports.isClean = Symbol('isClean') module.exports.my = Symbol('my') /***/ }), /***/ "./node_modules/postcss/lib/tokenize.js": /*!**********************************************!*\ !*** ./node_modules/postcss/lib/tokenize.js ***! \**********************************************/ /***/ ((module) => { "use strict"; const SINGLE_QUOTE = "'".charCodeAt(0) const DOUBLE_QUOTE = '"'.charCodeAt(0) const BACKSLASH = '\\'.charCodeAt(0) const SLASH = '/'.charCodeAt(0) const NEWLINE = '\n'.charCodeAt(0) const SPACE = ' '.charCodeAt(0) const FEED = '\f'.charCodeAt(0) const TAB = '\t'.charCodeAt(0) const CR = '\r'.charCodeAt(0) const OPEN_SQUARE = '['.charCodeAt(0) const CLOSE_SQUARE = ']'.charCodeAt(0) const OPEN_PARENTHESES = '('.charCodeAt(0) const CLOSE_PARENTHESES = ')'.charCodeAt(0) const OPEN_CURLY = '{'.charCodeAt(0) const CLOSE_CURLY = '}'.charCodeAt(0) const SEMICOLON = ';'.charCodeAt(0) const ASTERISK = '*'.charCodeAt(0) const COLON = ':'.charCodeAt(0) const AT = '@'.charCodeAt(0) const RE_AT_END = /[\t\n\f\r "#'()/;[\\\]{}]/g const RE_WORD_END = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g const RE_BAD_BRACKET = /.[\r\n"'(/\\]/ const RE_HEX_ESCAPE = /[\da-f]/i module.exports = function tokenizer(input, options = {}) { let css = input.css.valueOf() let ignore = options.ignoreErrors let code, content, escape, next, quote let currentToken, escaped, escapePos, n, prev let length = css.length let pos = 0 let buffer = [] let returned = [] function position() { return pos } function unclosed(what) { throw input.error('Unclosed ' + what, pos) } function endOfFile() { return returned.length === 0 && pos >= length } function nextToken(opts) { if (returned.length) return returned.pop() if (pos >= length) return let ignoreUnclosed = opts ? opts.ignoreUnclosed : false code = css.charCodeAt(pos) switch (code) { case NEWLINE: case SPACE: case TAB: case CR: case FEED: { next = pos do { next += 1 code = css.charCodeAt(next) } while ( code === SPACE || code === NEWLINE || code === TAB || code === CR || code === FEED ) currentToken = ['space', css.slice(pos, next)] pos = next - 1 break } case OPEN_SQUARE: case CLOSE_SQUARE: case OPEN_CURLY: case CLOSE_CURLY: case COLON: case SEMICOLON: case CLOSE_PARENTHESES: { let controlChar = String.fromCharCode(code) currentToken = [controlChar, controlChar, pos] break } case OPEN_PARENTHESES: { prev = buffer.length ? buffer.pop()[1] : '' n = css.charCodeAt(pos + 1) if ( prev === 'url' && n !== SINGLE_QUOTE && n !== DOUBLE_QUOTE && n !== SPACE && n !== NEWLINE && n !== TAB && n !== FEED && n !== CR ) { next = pos do { escaped = false next = css.indexOf(')', next + 1) if (next === -1) { if (ignore || ignoreUnclosed) { next = pos break } else { unclosed('bracket') } } escapePos = next while (css.charCodeAt(escapePos - 1) === BACKSLASH) { escapePos -= 1 escaped = !escaped } } while (escaped) currentToken = ['brackets', css.slice(pos, next + 1), pos, next] pos = next } else { next = css.indexOf(')', pos + 1) content = css.slice(pos, next + 1) if (next === -1 || RE_BAD_BRACKET.test(content)) { currentToken = ['(', '(', pos] } else { currentToken = ['brackets', content, pos, next] pos = next } } break } case SINGLE_QUOTE: case DOUBLE_QUOTE: { quote = code === SINGLE_QUOTE ? "'" : '"' next = pos do { escaped = false next = css.indexOf(quote, next + 1) if (next === -1) { if (ignore || ignoreUnclosed) { next = pos + 1 break } else { unclosed('string') } } escapePos = next while (css.charCodeAt(escapePos - 1) === BACKSLASH) { escapePos -= 1 escaped = !escaped } } while (escaped) currentToken = ['string', css.slice(pos, next + 1), pos, next] pos = next break } case AT: { RE_AT_END.lastIndex = pos + 1 RE_AT_END.test(css) if (RE_AT_END.lastIndex === 0) { next = css.length - 1 } else { next = RE_AT_END.lastIndex - 2 } currentToken = ['at-word', css.slice(pos, next + 1), pos, next] pos = next break } case BACKSLASH: { next = pos escape = true while (css.charCodeAt(next + 1) === BACKSLASH) { next += 1 escape = !escape } code = css.charCodeAt(next + 1) if ( escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED ) { next += 1 if (RE_HEX_ESCAPE.test(css.charAt(next))) { while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) { next += 1 } if (css.charCodeAt(next + 1) === SPACE) { next += 1 } } } currentToken = ['word', css.slice(pos, next + 1), pos, next] pos = next break } default: { if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) { next = css.indexOf('*/', pos + 2) + 1 if (next === 0) { if (ignore || ignoreUnclosed) { next = css.length } else { unclosed('comment') } } currentToken = ['comment', css.slice(pos, next + 1), pos, next] pos = next } else { RE_WORD_END.lastIndex = pos + 1 RE_WORD_END.test(css) if (RE_WORD_END.lastIndex === 0) { next = css.length - 1 } else { next = RE_WORD_END.lastIndex - 2 } currentToken = ['word', css.slice(pos, next + 1), pos, next] buffer.push(currentToken) pos = next } break } } pos++ return currentToken } function back(token) { returned.push(token) } return { back, endOfFile, nextToken, position } } /***/ }), /***/ "./node_modules/postcss/lib/warn-once.js": /*!***********************************************!*\ !*** ./node_modules/postcss/lib/warn-once.js ***! \***********************************************/ /***/ ((module) => { "use strict"; /* eslint-disable no-console */ let printed = {} module.exports = function warnOnce(message) { if (printed[message]) return printed[message] = true if (typeof console !== 'undefined' && console.warn) { console.warn(message) } } /***/ }), /***/ "./node_modules/postcss/lib/warning.js": /*!*********************************************!*\ !*** ./node_modules/postcss/lib/warning.js ***! \*********************************************/ /***/ ((module) => { "use strict"; class Warning { constructor(text, opts = {}) { this.type = 'warning' this.text = text if (opts.node && opts.node.source) { let range = opts.node.rangeBy(opts) this.line = range.start.line this.column = range.start.column this.endLine = range.end.line this.endColumn = range.end.column } for (let opt in opts) this[opt] = opts[opt] } toString() { if (this.node) { return this.node.error(this.text, { index: this.index, plugin: this.plugin, word: this.word }).message } if (this.plugin) { return this.plugin + ': ' + this.text } return this.text } } module.exports = Warning Warning.default = Warning /***/ }), /***/ "./node_modules/process/browser.js": /*!*****************************************!*\ !*** ./node_modules/process/browser.js ***! \*****************************************/ /***/ ((module) => { // shim for using process in browser var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it // don't break things. But we need to wrap it in a try catch in case it is // wrapped in strict mode code which doesn't define any globals. It's inside a // function because try/catches deoptimize in certain engines. var cachedSetTimeout; var cachedClearTimeout; function defaultSetTimout() { throw new Error('setTimeout has not been defined'); } function defaultClearTimeout () { throw new Error('clearTimeout has not been defined'); } (function () { try { if (typeof setTimeout === 'function') { cachedSetTimeout = setTimeout; } else { cachedSetTimeout = defaultSetTimout; } } catch (e) { cachedSetTimeout = defaultSetTimout; } try { if (typeof clearTimeout === 'function') { cachedClearTimeout = clearTimeout; } else { cachedClearTimeout = defaultClearTimeout; } } catch (e) { cachedClearTimeout = defaultClearTimeout; } } ()) function runTimeout(fun) { if (cachedSetTimeout === setTimeout) { //normal enviroments in sane situations return setTimeout(fun, 0); } // if setTimeout wasn't available but was latter defined if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { cachedSetTimeout = setTimeout; return setTimeout(fun, 0); } try { // when when somebody has screwed with setTimeout but no I.E. maddness return cachedSetTimeout(fun, 0); } catch(e){ try { // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally return cachedSetTimeout.call(null, fun, 0); } catch(e){ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error return cachedSetTimeout.call(this, fun, 0); } } } function runClearTimeout(marker) { if (cachedClearTimeout === clearTimeout) { //normal enviroments in sane situations return clearTimeout(marker); } // if clearTimeout wasn't available but was latter defined if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { cachedClearTimeout = clearTimeout; return clearTimeout(marker); } try { // when when somebody has screwed with setTimeout but no I.E. maddness return cachedClearTimeout(marker); } catch (e){ try { // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally return cachedClearTimeout.call(null, marker); } catch (e){ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. // Some versions of I.E. have different rules for clearTimeout vs setTimeout return cachedClearTimeout.call(this, marker); } } } var queue = []; var draining = false; var currentQueue; var queueIndex = -1; function cleanUpNextTick() { if (!draining || !currentQueue) { return; } draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); } else { queueIndex = -1; } if (queue.length) { drainQueue(); } } function drainQueue() { if (draining) { return; } var timeout = runTimeout(cleanUpNextTick); draining = true; var len = queue.length; while(len) { currentQueue = queue; queue = []; while (++queueIndex < len) { if (currentQueue) { currentQueue[queueIndex].run(); } } queueIndex = -1; len = queue.length; } currentQueue = null; draining = false; runClearTimeout(timeout); } process.nextTick = function (fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) { for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { runTimeout(drainQueue); } }; // v8 likes predictible objects function Item(fun, array) { this.fun = fun; this.array = array; } Item.prototype.run = function () { this.fun.apply(null, this.array); }; process.title = 'browser'; process.browser = true; process.env = {}; process.argv = []; process.version = ''; // empty string to avoid regexp issues process.versions = {}; function noop() {} process.on = noop; process.addListener = noop; process.once = noop; process.off = noop; process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; process.prependListener = noop; process.prependOnceListener = noop; process.listeners = function (name) { return [] } process.binding = function (name) { throw new Error('process.binding is not supported'); }; process.cwd = function () { return '/' }; process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; process.umask = function() { return 0; }; /***/ }), /***/ "./node_modules/punycode/punycode.es6.js": /*!***********************************************!*\ !*** ./node_modules/punycode/punycode.es6.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ decode: () => (/* binding */ decode), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ encode: () => (/* binding */ encode), /* harmony export */ toASCII: () => (/* binding */ toASCII), /* harmony export */ toUnicode: () => (/* binding */ toUnicode), /* harmony export */ ucs2decode: () => (/* binding */ ucs2decode), /* harmony export */ ucs2encode: () => (/* binding */ ucs2encode) /* harmony export */ }); /** Highest positive signed 32-bit float value */ const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 /** Bootstring parameters */ const base = 36; const tMin = 1; const tMax = 26; const skew = 38; const damp = 700; const initialBias = 72; const initialN = 128; // 0x80 const delimiter = '-'; // '\x2D' /** Regular expressions */ const regexPunycode = /^xn--/; const regexNonASCII = /[^\0-\x7F]/; // Note: U+007F DEL is excluded too. const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators /** Error messages */ const errors = { 'overflow': 'Overflow: input needs wider integers to process', 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', 'invalid-input': 'Invalid input' }; /** Convenience shortcuts */ const baseMinusTMin = base - tMin; const floor = Math.floor; const stringFromCharCode = String.fromCharCode; /*--------------------------------------------------------------------------*/ /** * A generic error utility function. * @private * @param {String} type The error type. * @returns {Error} Throws a `RangeError` with the applicable error message. */ function error(type) { throw new RangeError(errors[type]); } /** * A generic `Array#map` utility function. * @private * @param {Array} array The array to iterate over. * @param {Function} callback The function that gets called for every array * item. * @returns {Array} A new array of values returned by the callback function. */ function map(array, callback) { const result = []; let length = array.length; while (length--) { result[length] = callback(array[length]); } return result; } /** * A simple `Array#map`-like wrapper to work with domain name strings or email * addresses. * @private * @param {String} domain The domain name or email address. * @param {Function} callback The function that gets called for every * character. * @returns {String} A new string of characters returned by the callback * function. */ function mapDomain(domain, callback) { const parts = domain.split('@'); let result = ''; if (parts.length > 1) { // In email addresses, only the domain name should be punycoded. Leave // the local part (i.e. everything up to `@`) intact. result = parts[0] + '@'; domain = parts[1]; } // Avoid `split(regex)` for IE8 compatibility. See #17. domain = domain.replace(regexSeparators, '\x2E'); const labels = domain.split('.'); const encoded = map(labels, callback).join('.'); return result + encoded; } /** * Creates an array containing the numeric code points of each Unicode * character in the string. While JavaScript uses UCS-2 internally, * this function will convert a pair of surrogate halves (each of which * UCS-2 exposes as separate characters) into a single code point, * matching UTF-16. * @see `punycode.ucs2.encode` * @see * @memberOf punycode.ucs2 * @name decode * @param {String} string The Unicode input string (UCS-2). * @returns {Array} The new array of code points. */ function ucs2decode(string) { const output = []; let counter = 0; const length = string.length; while (counter < length) { const value = string.charCodeAt(counter++); if (value >= 0xD800 && value <= 0xDBFF && counter < length) { // It's a high surrogate, and there is a next character. const extra = string.charCodeAt(counter++); if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); } else { // It's an unmatched surrogate; only append this code unit, in case the // next code unit is the high surrogate of a surrogate pair. output.push(value); counter--; } } else { output.push(value); } } return output; } /** * Creates a string based on an array of numeric code points. * @see `punycode.ucs2.decode` * @memberOf punycode.ucs2 * @name encode * @param {Array} codePoints The array of numeric code points. * @returns {String} The new Unicode string (UCS-2). */ const ucs2encode = codePoints => String.fromCodePoint(...codePoints); /** * Converts a basic code point into a digit/integer. * @see `digitToBasic()` * @private * @param {Number} codePoint The basic numeric code point value. * @returns {Number} The numeric value of a basic code point (for use in * representing integers) in the range `0` to `base - 1`, or `base` if * the code point does not represent a value. */ const basicToDigit = function(codePoint) { if (codePoint >= 0x30 && codePoint < 0x3A) { return 26 + (codePoint - 0x30); } if (codePoint >= 0x41 && codePoint < 0x5B) { return codePoint - 0x41; } if (codePoint >= 0x61 && codePoint < 0x7B) { return codePoint - 0x61; } return base; }; /** * Converts a digit/integer into a basic code point. * @see `basicToDigit()` * @private * @param {Number} digit The numeric value of a basic code point. * @returns {Number} The basic code point whose value (when used for * representing integers) is `digit`, which needs to be in the range * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is * used; else, the lowercase form is used. The behavior is undefined * if `flag` is non-zero and `digit` has no uppercase form. */ const digitToBasic = function(digit, flag) { // 0..25 map to ASCII a..z or A..Z // 26..35 map to ASCII 0..9 return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); }; /** * Bias adaptation function as per section 3.4 of RFC 3492. * https://tools.ietf.org/html/rfc3492#section-3.4 * @private */ const adapt = function(delta, numPoints, firstTime) { let k = 0; delta = firstTime ? floor(delta / damp) : delta >> 1; delta += floor(delta / numPoints); for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { delta = floor(delta / baseMinusTMin); } return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); }; /** * Converts a Punycode string of ASCII-only symbols to a string of Unicode * symbols. * @memberOf punycode * @param {String} input The Punycode string of ASCII-only symbols. * @returns {String} The resulting string of Unicode symbols. */ const decode = function(input) { // Don't use UCS-2. const output = []; const inputLength = input.length; let i = 0; let n = initialN; let bias = initialBias; // Handle the basic code points: let `basic` be the number of input code // points before the last delimiter, or `0` if there is none, then copy // the first basic code points to the output. let basic = input.lastIndexOf(delimiter); if (basic < 0) { basic = 0; } for (let j = 0; j < basic; ++j) { // if it's not a basic code point if (input.charCodeAt(j) >= 0x80) { error('not-basic'); } output.push(input.charCodeAt(j)); } // Main decoding loop: start just after the last delimiter if any basic code // points were copied; start at the beginning otherwise. for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { // `index` is the index of the next character to be consumed. // Decode a generalized variable-length integer into `delta`, // which gets added to `i`. The overflow checking is easier // if we increase `i` as we go, then subtract off its starting // value at the end to obtain `delta`. const oldi = i; for (let w = 1, k = base; /* no condition */; k += base) { if (index >= inputLength) { error('invalid-input'); } const digit = basicToDigit(input.charCodeAt(index++)); if (digit >= base) { error('invalid-input'); } if (digit > floor((maxInt - i) / w)) { error('overflow'); } i += digit * w; const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); if (digit < t) { break; } const baseMinusT = base - t; if (w > floor(maxInt / baseMinusT)) { error('overflow'); } w *= baseMinusT; } const out = output.length + 1; bias = adapt(i - oldi, out, oldi == 0); // `i` was supposed to wrap around from `out` to `0`, // incrementing `n` each time, so we'll fix that now: if (floor(i / out) > maxInt - n) { error('overflow'); } n += floor(i / out); i %= out; // Insert `n` at position `i` of the output. output.splice(i++, 0, n); } return String.fromCodePoint(...output); }; /** * Converts a string of Unicode symbols (e.g. a domain name label) to a * Punycode string of ASCII-only symbols. * @memberOf punycode * @param {String} input The string of Unicode symbols. * @returns {String} The resulting Punycode string of ASCII-only symbols. */ const encode = function(input) { const output = []; // Convert the input in UCS-2 to an array of Unicode code points. input = ucs2decode(input); // Cache the length. const inputLength = input.length; // Initialize the state. let n = initialN; let delta = 0; let bias = initialBias; // Handle the basic code points. for (const currentValue of input) { if (currentValue < 0x80) { output.push(stringFromCharCode(currentValue)); } } const basicLength = output.length; let handledCPCount = basicLength; // `handledCPCount` is the number of code points that have been handled; // `basicLength` is the number of basic code points. // Finish the basic string with a delimiter unless it's empty. if (basicLength) { output.push(delimiter); } // Main encoding loop: while (handledCPCount < inputLength) { // All non-basic code points < n have been handled already. Find the next // larger one: let m = maxInt; for (const currentValue of input) { if (currentValue >= n && currentValue < m) { m = currentValue; } } // Increase `delta` enough to advance the decoder's state to , // but guard against overflow. const handledCPCountPlusOne = handledCPCount + 1; if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { error('overflow'); } delta += (m - n) * handledCPCountPlusOne; n = m; for (const currentValue of input) { if (currentValue < n && ++delta > maxInt) { error('overflow'); } if (currentValue === n) { // Represent delta as a generalized variable-length integer. let q = delta; for (let k = base; /* no condition */; k += base) { const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); if (q < t) { break; } const qMinusT = q - t; const baseMinusT = base - t; output.push( stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) ); q = floor(qMinusT / baseMinusT); } output.push(stringFromCharCode(digitToBasic(q, 0))); bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength); delta = 0; ++handledCPCount; } } ++delta; ++n; } return output.join(''); }; /** * Converts a Punycode string representing a domain name or an email address * to Unicode. Only the Punycoded parts of the input will be converted, i.e. * it doesn't matter if you call it on a string that has already been * converted to Unicode. * @memberOf punycode * @param {String} input The Punycoded domain name or email address to * convert to Unicode. * @returns {String} The Unicode representation of the given Punycode * string. */ const toUnicode = function(input) { return mapDomain(input, function(string) { return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; }); }; /** * Converts a Unicode string representing a domain name or an email address to * Punycode. Only the non-ASCII parts of the domain name will be converted, * i.e. it doesn't matter if you call it with a domain that's already in * ASCII. * @memberOf punycode * @param {String} input The domain name or email address to convert, as a * Unicode string. * @returns {String} The Punycode representation of the given domain name or * email address. */ const toASCII = function(input) { return mapDomain(input, function(string) { return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; }); }; /*--------------------------------------------------------------------------*/ /** Define the public API */ const punycode = { /** * A string representing the current Punycode.js version number. * @memberOf punycode * @type String */ 'version': '2.3.1', /** * An object of methods to convert from JavaScript's internal character * representation (UCS-2) to Unicode code points, and back. * @see * @memberOf punycode * @type Object */ 'ucs2': { 'decode': ucs2decode, 'encode': ucs2encode }, 'decode': decode, 'encode': encode, 'toASCII': toASCII, 'toUnicode': toUnicode }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (punycode); /***/ }), /***/ "./node_modules/text-encoder/index.js": /*!********************************************!*\ !*** ./node_modules/text-encoder/index.js ***! \********************************************/ /***/ ((module) => { var utf8Encodings = [ 'utf8', 'utf-8', 'unicode-1-1-utf-8' ]; function TextEncoder(encoding) { if (utf8Encodings.indexOf(encoding) < 0 && typeof encoding !== 'undefined' && encoding != null) { throw new RangeError('Invalid encoding type. Only utf-8 is supported'); } else { this.encoding = 'utf-8'; this.encode = function(str) { if (typeof str !== 'string') { throw new TypeError('passed argument must be of tye string'); } var binstr = unescape(encodeURIComponent(str)), arr = new Uint8Array(binstr.length); const split = binstr.split(''); for (let i = 0; i < split.length; i++) { arr[i] = split[i].charCodeAt(0); } return arr; }; } } function TextDecoder(encoding) { if (utf8Encodings.indexOf(encoding) < 0 && typeof encoding !== 'undefined' && encoding != null) { throw new RangeError('Invalid encoding type. Only utf-8 is supported'); } else { this.encoding = 'utf-8'; this.decode = function (view, options) { if (typeof view === 'undefined') { return ''; } var stream = (typeof options !== 'undefined' && stream in options) ? options.stream : false; if (typeof stream !== 'boolean') { throw new TypeError('stream option must be boolean'); } if (!ArrayBuffer.isView(view)) { throw new TypeError('passed argument must be an array buffer view'); } else { var arr = new Uint8Array(view.buffer, view.byteOffset, view.byteLength), charArr = new Array(arr.length); for (let i = 0; i < arr.length; i++) { charArr[i] = String.fromCharCode(arr[i]); } return decodeURIComponent(escape(charArr.join(''))); } } } } module.exports = { TextEncoder, TextDecoder, }; /***/ }), /***/ "./node_modules/tr46/index.js": /*!************************************!*\ !*** ./node_modules/tr46/index.js ***! \************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; const punycode = __webpack_require__(/*! punycode/ */ "./node_modules/punycode/punycode.es6.js"); const regexes = __webpack_require__(/*! ./lib/regexes.js */ "./node_modules/tr46/lib/regexes.js"); const mappingTable = __webpack_require__(/*! ./lib/mappingTable.json */ "./node_modules/tr46/lib/mappingTable.json"); const { STATUS_MAPPING } = __webpack_require__(/*! ./lib/statusMapping.js */ "./node_modules/tr46/lib/statusMapping.js"); function containsNonASCII(str) { return /[^\x00-\x7F]/u.test(str); } function findStatus(val) { let start = 0; let end = mappingTable.length - 1; while (start <= end) { const mid = Math.floor((start + end) / 2); const target = mappingTable[mid]; const min = Array.isArray(target[0]) ? target[0][0] : target[0]; const max = Array.isArray(target[0]) ? target[0][1] : target[0]; if (min <= val && max >= val) { return target.slice(1); } else if (min > val) { end = mid - 1; } else { start = mid + 1; } } return null; } function mapChars(domainName, { transitionalProcessing }) { let processed = ""; for (const ch of domainName) { const [status, mapping] = findStatus(ch.codePointAt(0)); switch (status) { case STATUS_MAPPING.disallowed: processed += ch; break; case STATUS_MAPPING.ignored: break; case STATUS_MAPPING.mapped: if (transitionalProcessing && ch === "ẞ") { processed += "ss"; } else { processed += mapping; } break; case STATUS_MAPPING.deviation: if (transitionalProcessing) { processed += mapping; } else { processed += ch; } break; case STATUS_MAPPING.valid: processed += ch; break; } } return processed; } function validateLabel(label, { checkHyphens, checkBidi, checkJoiners, transitionalProcessing, useSTD3ASCIIRules, isBidi }) { // "must be satisfied for a non-empty label" if (label.length === 0) { return true; } // "1. The label must be in Unicode Normalization Form NFC." if (label.normalize("NFC") !== label) { return false; } const codePoints = Array.from(label); // "2. If CheckHyphens, the label must not contain a U+002D HYPHEN-MINUS character in both the // third and fourth positions." // // "3. If CheckHyphens, the label must neither begin nor end with a U+002D HYPHEN-MINUS character." if (checkHyphens) { if ((codePoints[2] === "-" && codePoints[3] === "-") || (label.startsWith("-") || label.endsWith("-"))) { return false; } } // "4. If not CheckHyphens, the label must not begin with “xn--”." if (!checkHyphens) { if (label.startsWith("xn--")) { return false; } } // "5. The label must not contain a U+002E ( . ) FULL STOP." if (label.includes(".")) { return false; } // "6. The label must not begin with a combining mark, that is: General_Category=Mark." if (regexes.combiningMarks.test(codePoints[0])) { return false; } // "7. Each code point in the label must only have certain Status values according to Section 5" for (const ch of codePoints) { const codePoint = ch.codePointAt(0); const [status] = findStatus(codePoint); if (transitionalProcessing) { // "For Transitional Processing (deprecated), each value must be valid." if (status !== STATUS_MAPPING.valid) { return false; } } else if (status !== STATUS_MAPPING.valid && status !== STATUS_MAPPING.deviation) { // "For Nontransitional Processing, each value must be either valid or deviation." return false; } // "In addition, if UseSTD3ASCIIRules=true and the code point is an ASCII code point (U+0000..U+007F), then it must // be a lowercase letter (a-z), a digit (0-9), or a hyphen-minus (U+002D). (Note: This excludes uppercase ASCII // A-Z which are mapped in UTS #46 and disallowed in IDNA2008.)" if (useSTD3ASCIIRules && codePoint <= 0x7F) { if (!/^(?:[a-z]|[0-9]|-)$/u.test(ch)) { return false; } } } // "8. If CheckJoiners, the label must satisify the ContextJ rules" // https://tools.ietf.org/html/rfc5892#appendix-A if (checkJoiners) { let last = 0; for (const [i, ch] of codePoints.entries()) { if (ch === "\u200C" || ch === "\u200D") { if (i > 0) { if (regexes.combiningClassVirama.test(codePoints[i - 1])) { continue; } if (ch === "\u200C") { // TODO: make this more efficient const next = codePoints.indexOf("\u200C", i + 1); const test = next < 0 ? codePoints.slice(last) : codePoints.slice(last, next); if (regexes.validZWNJ.test(test.join(""))) { last = i + 1; continue; } } } return false; } } } // "9. If CheckBidi, and if the domain name is a Bidi domain name, then the label must satisfy..." // https://tools.ietf.org/html/rfc5893#section-2 if (checkBidi && isBidi) { let rtl; // 1 if (regexes.bidiS1LTR.test(codePoints[0])) { rtl = false; } else if (regexes.bidiS1RTL.test(codePoints[0])) { rtl = true; } else { return false; } if (rtl) { // 2-4 if (!regexes.bidiS2.test(label) || !regexes.bidiS3.test(label) || (regexes.bidiS4EN.test(label) && regexes.bidiS4AN.test(label))) { return false; } } else if (!regexes.bidiS5.test(label) || !regexes.bidiS6.test(label)) { // 5-6 return false; } } return true; } function isBidiDomain(labels) { const domain = labels.map(label => { if (label.startsWith("xn--")) { try { return punycode.decode(label.substring(4)); } catch { return ""; } } return label; }).join("."); return regexes.bidiDomain.test(domain); } function processing(domainName, options) { // 1. Map. let string = mapChars(domainName, options); // 2. Normalize. string = string.normalize("NFC"); // 3. Break. const labels = string.split("."); const isBidi = isBidiDomain(labels); // 4. Convert/Validate. let error = false; for (const [i, origLabel] of labels.entries()) { let label = origLabel; let transitionalProcessingForThisLabel = options.transitionalProcessing; if (label.startsWith("xn--")) { if (containsNonASCII(label)) { error = true; continue; } try { label = punycode.decode(label.substring(4)); } catch { if (!options.ignoreInvalidPunycode) { error = true; continue; } } labels[i] = label; if (label === "" || !containsNonASCII(label)) { error = true; } transitionalProcessingForThisLabel = false; } // No need to validate if we already know there is an error. if (error) { continue; } const validation = validateLabel(label, { ...options, transitionalProcessing: transitionalProcessingForThisLabel, isBidi }); if (!validation) { error = true; } } return { string: labels.join("."), error }; } function toASCII(domainName, { checkHyphens = false, checkBidi = false, checkJoiners = false, useSTD3ASCIIRules = false, verifyDNSLength = false, transitionalProcessing = false, ignoreInvalidPunycode = false } = {}) { const result = processing(domainName, { checkHyphens, checkBidi, checkJoiners, useSTD3ASCIIRules, transitionalProcessing, ignoreInvalidPunycode }); let labels = result.string.split("."); labels = labels.map(l => { if (containsNonASCII(l)) { try { return `xn--${punycode.encode(l)}`; } catch { result.error = true; } } return l; }); if (verifyDNSLength) { const total = labels.join(".").length; if (total > 253 || total === 0) { result.error = true; } for (let i = 0; i < labels.length; ++i) { if (labels[i].length > 63 || labels[i].length === 0) { result.error = true; break; } } } if (result.error) { return null; } return labels.join("."); } function toUnicode(domainName, { checkHyphens = false, checkBidi = false, checkJoiners = false, useSTD3ASCIIRules = false, transitionalProcessing = false, ignoreInvalidPunycode = false } = {}) { const result = processing(domainName, { checkHyphens, checkBidi, checkJoiners, useSTD3ASCIIRules, transitionalProcessing, ignoreInvalidPunycode }); return { domain: result.string, error: result.error }; } module.exports = { toASCII, toUnicode }; /***/ }), /***/ "./node_modules/tr46/lib/mappingTable.json": /*!*************************************************!*\ !*** ./node_modules/tr46/lib/mappingTable.json ***! \*************************************************/ /***/ ((module) => { "use strict"; module.exports = /*#__PURE__*/JSON.parse('[[[0,44],2],[[45,46],2],[47,2],[[48,57],2],[[58,64],2],[65,1,"a"],[66,1,"b"],[67,1,"c"],[68,1,"d"],[69,1,"e"],[70,1,"f"],[71,1,"g"],[72,1,"h"],[73,1,"i"],[74,1,"j"],[75,1,"k"],[76,1,"l"],[77,1,"m"],[78,1,"n"],[79,1,"o"],[80,1,"p"],[81,1,"q"],[82,1,"r"],[83,1,"s"],[84,1,"t"],[85,1,"u"],[86,1,"v"],[87,1,"w"],[88,1,"x"],[89,1,"y"],[90,1,"z"],[[91,96],2],[[97,122],2],[[123,127],2],[[128,159],3],[160,1," "],[[161,167],2],[168,1," ̈"],[169,2],[170,1,"a"],[[171,172],2],[173,7],[174,2],[175,1," ̄"],[[176,177],2],[178,1,"2"],[179,1,"3"],[180,1," ́"],[181,1,"μ"],[182,2],[183,2],[184,1," ̧"],[185,1,"1"],[186,1,"o"],[187,2],[188,1,"1⁄4"],[189,1,"1⁄2"],[190,1,"3⁄4"],[191,2],[192,1,"à"],[193,1,"á"],[194,1,"â"],[195,1,"ã"],[196,1,"ä"],[197,1,"å"],[198,1,"æ"],[199,1,"ç"],[200,1,"è"],[201,1,"é"],[202,1,"ê"],[203,1,"ë"],[204,1,"ì"],[205,1,"í"],[206,1,"î"],[207,1,"ï"],[208,1,"ð"],[209,1,"ñ"],[210,1,"ò"],[211,1,"ó"],[212,1,"ô"],[213,1,"õ"],[214,1,"ö"],[215,2],[216,1,"ø"],[217,1,"ù"],[218,1,"ú"],[219,1,"û"],[220,1,"ü"],[221,1,"ý"],[222,1,"þ"],[223,6,"ss"],[[224,246],2],[247,2],[[248,255],2],[256,1,"ā"],[257,2],[258,1,"ă"],[259,2],[260,1,"ą"],[261,2],[262,1,"ć"],[263,2],[264,1,"ĉ"],[265,2],[266,1,"ċ"],[267,2],[268,1,"č"],[269,2],[270,1,"ď"],[271,2],[272,1,"đ"],[273,2],[274,1,"ē"],[275,2],[276,1,"ĕ"],[277,2],[278,1,"ė"],[279,2],[280,1,"ę"],[281,2],[282,1,"ě"],[283,2],[284,1,"ĝ"],[285,2],[286,1,"ğ"],[287,2],[288,1,"ġ"],[289,2],[290,1,"ģ"],[291,2],[292,1,"ĥ"],[293,2],[294,1,"ħ"],[295,2],[296,1,"ĩ"],[297,2],[298,1,"ī"],[299,2],[300,1,"ĭ"],[301,2],[302,1,"į"],[303,2],[304,1,"i̇"],[305,2],[[306,307],1,"ij"],[308,1,"ĵ"],[309,2],[310,1,"ķ"],[[311,312],2],[313,1,"ĺ"],[314,2],[315,1,"ļ"],[316,2],[317,1,"ľ"],[318,2],[[319,320],1,"l·"],[321,1,"ł"],[322,2],[323,1,"ń"],[324,2],[325,1,"ņ"],[326,2],[327,1,"ň"],[328,2],[329,1,"ʼn"],[330,1,"ŋ"],[331,2],[332,1,"ō"],[333,2],[334,1,"ŏ"],[335,2],[336,1,"ő"],[337,2],[338,1,"œ"],[339,2],[340,1,"ŕ"],[341,2],[342,1,"ŗ"],[343,2],[344,1,"ř"],[345,2],[346,1,"ś"],[347,2],[348,1,"ŝ"],[349,2],[350,1,"ş"],[351,2],[352,1,"š"],[353,2],[354,1,"ţ"],[355,2],[356,1,"ť"],[357,2],[358,1,"ŧ"],[359,2],[360,1,"ũ"],[361,2],[362,1,"ū"],[363,2],[364,1,"ŭ"],[365,2],[366,1,"ů"],[367,2],[368,1,"ű"],[369,2],[370,1,"ų"],[371,2],[372,1,"ŵ"],[373,2],[374,1,"ŷ"],[375,2],[376,1,"ÿ"],[377,1,"ź"],[378,2],[379,1,"ż"],[380,2],[381,1,"ž"],[382,2],[383,1,"s"],[384,2],[385,1,"ɓ"],[386,1,"ƃ"],[387,2],[388,1,"ƅ"],[389,2],[390,1,"ɔ"],[391,1,"ƈ"],[392,2],[393,1,"ɖ"],[394,1,"ɗ"],[395,1,"ƌ"],[[396,397],2],[398,1,"ǝ"],[399,1,"ə"],[400,1,"ɛ"],[401,1,"ƒ"],[402,2],[403,1,"ɠ"],[404,1,"ɣ"],[405,2],[406,1,"ɩ"],[407,1,"ɨ"],[408,1,"ƙ"],[[409,411],2],[412,1,"ɯ"],[413,1,"ɲ"],[414,2],[415,1,"ɵ"],[416,1,"ơ"],[417,2],[418,1,"ƣ"],[419,2],[420,1,"ƥ"],[421,2],[422,1,"ʀ"],[423,1,"ƨ"],[424,2],[425,1,"ʃ"],[[426,427],2],[428,1,"ƭ"],[429,2],[430,1,"ʈ"],[431,1,"ư"],[432,2],[433,1,"ʊ"],[434,1,"ʋ"],[435,1,"ƴ"],[436,2],[437,1,"ƶ"],[438,2],[439,1,"ʒ"],[440,1,"ƹ"],[[441,443],2],[444,1,"ƽ"],[[445,451],2],[[452,454],1,"dž"],[[455,457],1,"lj"],[[458,460],1,"nj"],[461,1,"ǎ"],[462,2],[463,1,"ǐ"],[464,2],[465,1,"ǒ"],[466,2],[467,1,"ǔ"],[468,2],[469,1,"ǖ"],[470,2],[471,1,"ǘ"],[472,2],[473,1,"ǚ"],[474,2],[475,1,"ǜ"],[[476,477],2],[478,1,"ǟ"],[479,2],[480,1,"ǡ"],[481,2],[482,1,"ǣ"],[483,2],[484,1,"ǥ"],[485,2],[486,1,"ǧ"],[487,2],[488,1,"ǩ"],[489,2],[490,1,"ǫ"],[491,2],[492,1,"ǭ"],[493,2],[494,1,"ǯ"],[[495,496],2],[[497,499],1,"dz"],[500,1,"ǵ"],[501,2],[502,1,"ƕ"],[503,1,"ƿ"],[504,1,"ǹ"],[505,2],[506,1,"ǻ"],[507,2],[508,1,"ǽ"],[509,2],[510,1,"ǿ"],[511,2],[512,1,"ȁ"],[513,2],[514,1,"ȃ"],[515,2],[516,1,"ȅ"],[517,2],[518,1,"ȇ"],[519,2],[520,1,"ȉ"],[521,2],[522,1,"ȋ"],[523,2],[524,1,"ȍ"],[525,2],[526,1,"ȏ"],[527,2],[528,1,"ȑ"],[529,2],[530,1,"ȓ"],[531,2],[532,1,"ȕ"],[533,2],[534,1,"ȗ"],[535,2],[536,1,"ș"],[537,2],[538,1,"ț"],[539,2],[540,1,"ȝ"],[541,2],[542,1,"ȟ"],[543,2],[544,1,"ƞ"],[545,2],[546,1,"ȣ"],[547,2],[548,1,"ȥ"],[549,2],[550,1,"ȧ"],[551,2],[552,1,"ȩ"],[553,2],[554,1,"ȫ"],[555,2],[556,1,"ȭ"],[557,2],[558,1,"ȯ"],[559,2],[560,1,"ȱ"],[561,2],[562,1,"ȳ"],[563,2],[[564,566],2],[[567,569],2],[570,1,"ⱥ"],[571,1,"ȼ"],[572,2],[573,1,"ƚ"],[574,1,"ⱦ"],[[575,576],2],[577,1,"ɂ"],[578,2],[579,1,"ƀ"],[580,1,"ʉ"],[581,1,"ʌ"],[582,1,"ɇ"],[583,2],[584,1,"ɉ"],[585,2],[586,1,"ɋ"],[587,2],[588,1,"ɍ"],[589,2],[590,1,"ɏ"],[591,2],[[592,680],2],[[681,685],2],[[686,687],2],[688,1,"h"],[689,1,"ɦ"],[690,1,"j"],[691,1,"r"],[692,1,"ɹ"],[693,1,"ɻ"],[694,1,"ʁ"],[695,1,"w"],[696,1,"y"],[[697,705],2],[[706,709],2],[[710,721],2],[[722,727],2],[728,1," ̆"],[729,1," ̇"],[730,1," ̊"],[731,1," ̨"],[732,1," ̃"],[733,1," ̋"],[734,2],[735,2],[736,1,"ɣ"],[737,1,"l"],[738,1,"s"],[739,1,"x"],[740,1,"ʕ"],[[741,745],2],[[746,747],2],[748,2],[749,2],[750,2],[[751,767],2],[[768,831],2],[832,1,"̀"],[833,1,"́"],[834,2],[835,1,"̓"],[836,1,"̈́"],[837,1,"ι"],[[838,846],2],[847,7],[[848,855],2],[[856,860],2],[[861,863],2],[[864,865],2],[866,2],[[867,879],2],[880,1,"ͱ"],[881,2],[882,1,"ͳ"],[883,2],[884,1,"ʹ"],[885,2],[886,1,"ͷ"],[887,2],[[888,889],3],[890,1," ι"],[[891,893],2],[894,1,";"],[895,1,"ϳ"],[[896,899],3],[900,1," ́"],[901,1," ̈́"],[902,1,"ά"],[903,1,"·"],[904,1,"έ"],[905,1,"ή"],[906,1,"ί"],[907,3],[908,1,"ό"],[909,3],[910,1,"ύ"],[911,1,"ώ"],[912,2],[913,1,"α"],[914,1,"β"],[915,1,"γ"],[916,1,"δ"],[917,1,"ε"],[918,1,"ζ"],[919,1,"η"],[920,1,"θ"],[921,1,"ι"],[922,1,"κ"],[923,1,"λ"],[924,1,"μ"],[925,1,"ν"],[926,1,"ξ"],[927,1,"ο"],[928,1,"π"],[929,1,"ρ"],[930,3],[931,1,"σ"],[932,1,"τ"],[933,1,"υ"],[934,1,"φ"],[935,1,"χ"],[936,1,"ψ"],[937,1,"ω"],[938,1,"ϊ"],[939,1,"ϋ"],[[940,961],2],[962,6,"σ"],[[963,974],2],[975,1,"ϗ"],[976,1,"β"],[977,1,"θ"],[978,1,"υ"],[979,1,"ύ"],[980,1,"ϋ"],[981,1,"φ"],[982,1,"π"],[983,2],[984,1,"ϙ"],[985,2],[986,1,"ϛ"],[987,2],[988,1,"ϝ"],[989,2],[990,1,"ϟ"],[991,2],[992,1,"ϡ"],[993,2],[994,1,"ϣ"],[995,2],[996,1,"ϥ"],[997,2],[998,1,"ϧ"],[999,2],[1000,1,"ϩ"],[1001,2],[1002,1,"ϫ"],[1003,2],[1004,1,"ϭ"],[1005,2],[1006,1,"ϯ"],[1007,2],[1008,1,"κ"],[1009,1,"ρ"],[1010,1,"σ"],[1011,2],[1012,1,"θ"],[1013,1,"ε"],[1014,2],[1015,1,"ϸ"],[1016,2],[1017,1,"σ"],[1018,1,"ϻ"],[1019,2],[1020,2],[1021,1,"ͻ"],[1022,1,"ͼ"],[1023,1,"ͽ"],[1024,1,"ѐ"],[1025,1,"ё"],[1026,1,"ђ"],[1027,1,"ѓ"],[1028,1,"є"],[1029,1,"ѕ"],[1030,1,"і"],[1031,1,"ї"],[1032,1,"ј"],[1033,1,"љ"],[1034,1,"њ"],[1035,1,"ћ"],[1036,1,"ќ"],[1037,1,"ѝ"],[1038,1,"ў"],[1039,1,"џ"],[1040,1,"а"],[1041,1,"б"],[1042,1,"в"],[1043,1,"г"],[1044,1,"д"],[1045,1,"е"],[1046,1,"ж"],[1047,1,"з"],[1048,1,"и"],[1049,1,"й"],[1050,1,"к"],[1051,1,"л"],[1052,1,"м"],[1053,1,"н"],[1054,1,"о"],[1055,1,"п"],[1056,1,"р"],[1057,1,"с"],[1058,1,"т"],[1059,1,"у"],[1060,1,"ф"],[1061,1,"х"],[1062,1,"ц"],[1063,1,"ч"],[1064,1,"ш"],[1065,1,"щ"],[1066,1,"ъ"],[1067,1,"ы"],[1068,1,"ь"],[1069,1,"э"],[1070,1,"ю"],[1071,1,"я"],[[1072,1103],2],[1104,2],[[1105,1116],2],[1117,2],[[1118,1119],2],[1120,1,"ѡ"],[1121,2],[1122,1,"ѣ"],[1123,2],[1124,1,"ѥ"],[1125,2],[1126,1,"ѧ"],[1127,2],[1128,1,"ѩ"],[1129,2],[1130,1,"ѫ"],[1131,2],[1132,1,"ѭ"],[1133,2],[1134,1,"ѯ"],[1135,2],[1136,1,"ѱ"],[1137,2],[1138,1,"ѳ"],[1139,2],[1140,1,"ѵ"],[1141,2],[1142,1,"ѷ"],[1143,2],[1144,1,"ѹ"],[1145,2],[1146,1,"ѻ"],[1147,2],[1148,1,"ѽ"],[1149,2],[1150,1,"ѿ"],[1151,2],[1152,1,"ҁ"],[1153,2],[1154,2],[[1155,1158],2],[1159,2],[[1160,1161],2],[1162,1,"ҋ"],[1163,2],[1164,1,"ҍ"],[1165,2],[1166,1,"ҏ"],[1167,2],[1168,1,"ґ"],[1169,2],[1170,1,"ғ"],[1171,2],[1172,1,"ҕ"],[1173,2],[1174,1,"җ"],[1175,2],[1176,1,"ҙ"],[1177,2],[1178,1,"қ"],[1179,2],[1180,1,"ҝ"],[1181,2],[1182,1,"ҟ"],[1183,2],[1184,1,"ҡ"],[1185,2],[1186,1,"ң"],[1187,2],[1188,1,"ҥ"],[1189,2],[1190,1,"ҧ"],[1191,2],[1192,1,"ҩ"],[1193,2],[1194,1,"ҫ"],[1195,2],[1196,1,"ҭ"],[1197,2],[1198,1,"ү"],[1199,2],[1200,1,"ұ"],[1201,2],[1202,1,"ҳ"],[1203,2],[1204,1,"ҵ"],[1205,2],[1206,1,"ҷ"],[1207,2],[1208,1,"ҹ"],[1209,2],[1210,1,"һ"],[1211,2],[1212,1,"ҽ"],[1213,2],[1214,1,"ҿ"],[1215,2],[1216,1,"ӏ"],[1217,1,"ӂ"],[1218,2],[1219,1,"ӄ"],[1220,2],[1221,1,"ӆ"],[1222,2],[1223,1,"ӈ"],[1224,2],[1225,1,"ӊ"],[1226,2],[1227,1,"ӌ"],[1228,2],[1229,1,"ӎ"],[1230,2],[1231,2],[1232,1,"ӑ"],[1233,2],[1234,1,"ӓ"],[1235,2],[1236,1,"ӕ"],[1237,2],[1238,1,"ӗ"],[1239,2],[1240,1,"ә"],[1241,2],[1242,1,"ӛ"],[1243,2],[1244,1,"ӝ"],[1245,2],[1246,1,"ӟ"],[1247,2],[1248,1,"ӡ"],[1249,2],[1250,1,"ӣ"],[1251,2],[1252,1,"ӥ"],[1253,2],[1254,1,"ӧ"],[1255,2],[1256,1,"ө"],[1257,2],[1258,1,"ӫ"],[1259,2],[1260,1,"ӭ"],[1261,2],[1262,1,"ӯ"],[1263,2],[1264,1,"ӱ"],[1265,2],[1266,1,"ӳ"],[1267,2],[1268,1,"ӵ"],[1269,2],[1270,1,"ӷ"],[1271,2],[1272,1,"ӹ"],[1273,2],[1274,1,"ӻ"],[1275,2],[1276,1,"ӽ"],[1277,2],[1278,1,"ӿ"],[1279,2],[1280,1,"ԁ"],[1281,2],[1282,1,"ԃ"],[1283,2],[1284,1,"ԅ"],[1285,2],[1286,1,"ԇ"],[1287,2],[1288,1,"ԉ"],[1289,2],[1290,1,"ԋ"],[1291,2],[1292,1,"ԍ"],[1293,2],[1294,1,"ԏ"],[1295,2],[1296,1,"ԑ"],[1297,2],[1298,1,"ԓ"],[1299,2],[1300,1,"ԕ"],[1301,2],[1302,1,"ԗ"],[1303,2],[1304,1,"ԙ"],[1305,2],[1306,1,"ԛ"],[1307,2],[1308,1,"ԝ"],[1309,2],[1310,1,"ԟ"],[1311,2],[1312,1,"ԡ"],[1313,2],[1314,1,"ԣ"],[1315,2],[1316,1,"ԥ"],[1317,2],[1318,1,"ԧ"],[1319,2],[1320,1,"ԩ"],[1321,2],[1322,1,"ԫ"],[1323,2],[1324,1,"ԭ"],[1325,2],[1326,1,"ԯ"],[1327,2],[1328,3],[1329,1,"ա"],[1330,1,"բ"],[1331,1,"գ"],[1332,1,"դ"],[1333,1,"ե"],[1334,1,"զ"],[1335,1,"է"],[1336,1,"ը"],[1337,1,"թ"],[1338,1,"ժ"],[1339,1,"ի"],[1340,1,"լ"],[1341,1,"խ"],[1342,1,"ծ"],[1343,1,"կ"],[1344,1,"հ"],[1345,1,"ձ"],[1346,1,"ղ"],[1347,1,"ճ"],[1348,1,"մ"],[1349,1,"յ"],[1350,1,"ն"],[1351,1,"շ"],[1352,1,"ո"],[1353,1,"չ"],[1354,1,"պ"],[1355,1,"ջ"],[1356,1,"ռ"],[1357,1,"ս"],[1358,1,"վ"],[1359,1,"տ"],[1360,1,"ր"],[1361,1,"ց"],[1362,1,"ւ"],[1363,1,"փ"],[1364,1,"ք"],[1365,1,"օ"],[1366,1,"ֆ"],[[1367,1368],3],[1369,2],[[1370,1375],2],[1376,2],[[1377,1414],2],[1415,1,"եւ"],[1416,2],[1417,2],[1418,2],[[1419,1420],3],[[1421,1422],2],[1423,2],[1424,3],[[1425,1441],2],[1442,2],[[1443,1455],2],[[1456,1465],2],[1466,2],[[1467,1469],2],[1470,2],[1471,2],[1472,2],[[1473,1474],2],[1475,2],[1476,2],[1477,2],[1478,2],[1479,2],[[1480,1487],3],[[1488,1514],2],[[1515,1518],3],[1519,2],[[1520,1524],2],[[1525,1535],3],[[1536,1539],3],[1540,3],[1541,3],[[1542,1546],2],[1547,2],[1548,2],[[1549,1551],2],[[1552,1557],2],[[1558,1562],2],[1563,2],[1564,3],[1565,2],[1566,2],[1567,2],[1568,2],[[1569,1594],2],[[1595,1599],2],[1600,2],[[1601,1618],2],[[1619,1621],2],[[1622,1624],2],[[1625,1630],2],[1631,2],[[1632,1641],2],[[1642,1645],2],[[1646,1647],2],[[1648,1652],2],[1653,1,"اٴ"],[1654,1,"وٴ"],[1655,1,"ۇٴ"],[1656,1,"يٴ"],[[1657,1719],2],[[1720,1721],2],[[1722,1726],2],[1727,2],[[1728,1742],2],[1743,2],[[1744,1747],2],[1748,2],[[1749,1756],2],[1757,3],[1758,2],[[1759,1768],2],[1769,2],[[1770,1773],2],[[1774,1775],2],[[1776,1785],2],[[1786,1790],2],[1791,2],[[1792,1805],2],[1806,3],[1807,3],[[1808,1836],2],[[1837,1839],2],[[1840,1866],2],[[1867,1868],3],[[1869,1871],2],[[1872,1901],2],[[1902,1919],2],[[1920,1968],2],[1969,2],[[1970,1983],3],[[1984,2037],2],[[2038,2042],2],[[2043,2044],3],[2045,2],[[2046,2047],2],[[2048,2093],2],[[2094,2095],3],[[2096,2110],2],[2111,3],[[2112,2139],2],[[2140,2141],3],[2142,2],[2143,3],[[2144,2154],2],[[2155,2159],3],[[2160,2183],2],[2184,2],[[2185,2190],2],[2191,3],[[2192,2193],3],[[2194,2198],3],[2199,2],[[2200,2207],2],[2208,2],[2209,2],[[2210,2220],2],[[2221,2226],2],[[2227,2228],2],[2229,2],[[2230,2237],2],[[2238,2247],2],[[2248,2258],2],[2259,2],[[2260,2273],2],[2274,3],[2275,2],[[2276,2302],2],[2303,2],[2304,2],[[2305,2307],2],[2308,2],[[2309,2361],2],[[2362,2363],2],[[2364,2381],2],[2382,2],[2383,2],[[2384,2388],2],[2389,2],[[2390,2391],2],[2392,1,"क़"],[2393,1,"ख़"],[2394,1,"ग़"],[2395,1,"ज़"],[2396,1,"ड़"],[2397,1,"ढ़"],[2398,1,"फ़"],[2399,1,"य़"],[[2400,2403],2],[[2404,2405],2],[[2406,2415],2],[2416,2],[[2417,2418],2],[[2419,2423],2],[2424,2],[[2425,2426],2],[[2427,2428],2],[2429,2],[[2430,2431],2],[2432,2],[[2433,2435],2],[2436,3],[[2437,2444],2],[[2445,2446],3],[[2447,2448],2],[[2449,2450],3],[[2451,2472],2],[2473,3],[[2474,2480],2],[2481,3],[2482,2],[[2483,2485],3],[[2486,2489],2],[[2490,2491],3],[2492,2],[2493,2],[[2494,2500],2],[[2501,2502],3],[[2503,2504],2],[[2505,2506],3],[[2507,2509],2],[2510,2],[[2511,2518],3],[2519,2],[[2520,2523],3],[2524,1,"ড়"],[2525,1,"ঢ়"],[2526,3],[2527,1,"য়"],[[2528,2531],2],[[2532,2533],3],[[2534,2545],2],[[2546,2554],2],[2555,2],[2556,2],[2557,2],[2558,2],[[2559,2560],3],[2561,2],[2562,2],[2563,2],[2564,3],[[2565,2570],2],[[2571,2574],3],[[2575,2576],2],[[2577,2578],3],[[2579,2600],2],[2601,3],[[2602,2608],2],[2609,3],[2610,2],[2611,1,"ਲ਼"],[2612,3],[2613,2],[2614,1,"ਸ਼"],[2615,3],[[2616,2617],2],[[2618,2619],3],[2620,2],[2621,3],[[2622,2626],2],[[2627,2630],3],[[2631,2632],2],[[2633,2634],3],[[2635,2637],2],[[2638,2640],3],[2641,2],[[2642,2648],3],[2649,1,"ਖ਼"],[2650,1,"ਗ਼"],[2651,1,"ਜ਼"],[2652,2],[2653,3],[2654,1,"ਫ਼"],[[2655,2661],3],[[2662,2676],2],[2677,2],[2678,2],[[2679,2688],3],[[2689,2691],2],[2692,3],[[2693,2699],2],[2700,2],[2701,2],[2702,3],[[2703,2705],2],[2706,3],[[2707,2728],2],[2729,3],[[2730,2736],2],[2737,3],[[2738,2739],2],[2740,3],[[2741,2745],2],[[2746,2747],3],[[2748,2757],2],[2758,3],[[2759,2761],2],[2762,3],[[2763,2765],2],[[2766,2767],3],[2768,2],[[2769,2783],3],[2784,2],[[2785,2787],2],[[2788,2789],3],[[2790,2799],2],[2800,2],[2801,2],[[2802,2808],3],[2809,2],[[2810,2815],2],[2816,3],[[2817,2819],2],[2820,3],[[2821,2828],2],[[2829,2830],3],[[2831,2832],2],[[2833,2834],3],[[2835,2856],2],[2857,3],[[2858,2864],2],[2865,3],[[2866,2867],2],[2868,3],[2869,2],[[2870,2873],2],[[2874,2875],3],[[2876,2883],2],[2884,2],[[2885,2886],3],[[2887,2888],2],[[2889,2890],3],[[2891,2893],2],[[2894,2900],3],[2901,2],[[2902,2903],2],[[2904,2907],3],[2908,1,"ଡ଼"],[2909,1,"ଢ଼"],[2910,3],[[2911,2913],2],[[2914,2915],2],[[2916,2917],3],[[2918,2927],2],[2928,2],[2929,2],[[2930,2935],2],[[2936,2945],3],[[2946,2947],2],[2948,3],[[2949,2954],2],[[2955,2957],3],[[2958,2960],2],[2961,3],[[2962,2965],2],[[2966,2968],3],[[2969,2970],2],[2971,3],[2972,2],[2973,3],[[2974,2975],2],[[2976,2978],3],[[2979,2980],2],[[2981,2983],3],[[2984,2986],2],[[2987,2989],3],[[2990,2997],2],[2998,2],[[2999,3001],2],[[3002,3005],3],[[3006,3010],2],[[3011,3013],3],[[3014,3016],2],[3017,3],[[3018,3021],2],[[3022,3023],3],[3024,2],[[3025,3030],3],[3031,2],[[3032,3045],3],[3046,2],[[3047,3055],2],[[3056,3058],2],[[3059,3066],2],[[3067,3071],3],[3072,2],[[3073,3075],2],[3076,2],[[3077,3084],2],[3085,3],[[3086,3088],2],[3089,3],[[3090,3112],2],[3113,3],[[3114,3123],2],[3124,2],[[3125,3129],2],[[3130,3131],3],[3132,2],[3133,2],[[3134,3140],2],[3141,3],[[3142,3144],2],[3145,3],[[3146,3149],2],[[3150,3156],3],[[3157,3158],2],[3159,3],[[3160,3161],2],[3162,2],[[3163,3164],3],[3165,2],[[3166,3167],3],[[3168,3169],2],[[3170,3171],2],[[3172,3173],3],[[3174,3183],2],[[3184,3190],3],[3191,2],[[3192,3199],2],[3200,2],[3201,2],[[3202,3203],2],[3204,2],[[3205,3212],2],[3213,3],[[3214,3216],2],[3217,3],[[3218,3240],2],[3241,3],[[3242,3251],2],[3252,3],[[3253,3257],2],[[3258,3259],3],[[3260,3261],2],[[3262,3268],2],[3269,3],[[3270,3272],2],[3273,3],[[3274,3277],2],[[3278,3284],3],[[3285,3286],2],[[3287,3292],3],[3293,2],[3294,2],[3295,3],[[3296,3297],2],[[3298,3299],2],[[3300,3301],3],[[3302,3311],2],[3312,3],[[3313,3314],2],[3315,2],[[3316,3327],3],[3328,2],[3329,2],[[3330,3331],2],[3332,2],[[3333,3340],2],[3341,3],[[3342,3344],2],[3345,3],[[3346,3368],2],[3369,2],[[3370,3385],2],[3386,2],[[3387,3388],2],[3389,2],[[3390,3395],2],[3396,2],[3397,3],[[3398,3400],2],[3401,3],[[3402,3405],2],[3406,2],[3407,2],[[3408,3411],3],[[3412,3414],2],[3415,2],[[3416,3422],2],[3423,2],[[3424,3425],2],[[3426,3427],2],[[3428,3429],3],[[3430,3439],2],[[3440,3445],2],[[3446,3448],2],[3449,2],[[3450,3455],2],[3456,3],[3457,2],[[3458,3459],2],[3460,3],[[3461,3478],2],[[3479,3481],3],[[3482,3505],2],[3506,3],[[3507,3515],2],[3516,3],[3517,2],[[3518,3519],3],[[3520,3526],2],[[3527,3529],3],[3530,2],[[3531,3534],3],[[3535,3540],2],[3541,3],[3542,2],[3543,3],[[3544,3551],2],[[3552,3557],3],[[3558,3567],2],[[3568,3569],3],[[3570,3571],2],[3572,2],[[3573,3584],3],[[3585,3634],2],[3635,1,"ํา"],[[3636,3642],2],[[3643,3646],3],[3647,2],[[3648,3662],2],[3663,2],[[3664,3673],2],[[3674,3675],2],[[3676,3712],3],[[3713,3714],2],[3715,3],[3716,2],[3717,3],[3718,2],[[3719,3720],2],[3721,2],[3722,2],[3723,3],[3724,2],[3725,2],[[3726,3731],2],[[3732,3735],2],[3736,2],[[3737,3743],2],[3744,2],[[3745,3747],2],[3748,3],[3749,2],[3750,3],[3751,2],[[3752,3753],2],[[3754,3755],2],[3756,2],[[3757,3762],2],[3763,1,"ໍາ"],[[3764,3769],2],[3770,2],[[3771,3773],2],[[3774,3775],3],[[3776,3780],2],[3781,3],[3782,2],[3783,3],[[3784,3789],2],[3790,2],[3791,3],[[3792,3801],2],[[3802,3803],3],[3804,1,"ຫນ"],[3805,1,"ຫມ"],[[3806,3807],2],[[3808,3839],3],[3840,2],[[3841,3850],2],[3851,2],[3852,1,"་"],[[3853,3863],2],[[3864,3865],2],[[3866,3871],2],[[3872,3881],2],[[3882,3892],2],[3893,2],[3894,2],[3895,2],[3896,2],[3897,2],[[3898,3901],2],[[3902,3906],2],[3907,1,"གྷ"],[[3908,3911],2],[3912,3],[[3913,3916],2],[3917,1,"ཌྷ"],[[3918,3921],2],[3922,1,"དྷ"],[[3923,3926],2],[3927,1,"བྷ"],[[3928,3931],2],[3932,1,"ཛྷ"],[[3933,3944],2],[3945,1,"ཀྵ"],[3946,2],[[3947,3948],2],[[3949,3952],3],[[3953,3954],2],[3955,1,"ཱི"],[3956,2],[3957,1,"ཱུ"],[3958,1,"ྲྀ"],[3959,1,"ྲཱྀ"],[3960,1,"ླྀ"],[3961,1,"ླཱྀ"],[[3962,3968],2],[3969,1,"ཱྀ"],[[3970,3972],2],[3973,2],[[3974,3979],2],[[3980,3983],2],[[3984,3986],2],[3987,1,"ྒྷ"],[[3988,3989],2],[3990,2],[3991,2],[3992,3],[[3993,3996],2],[3997,1,"ྜྷ"],[[3998,4001],2],[4002,1,"ྡྷ"],[[4003,4006],2],[4007,1,"ྦྷ"],[[4008,4011],2],[4012,1,"ྫྷ"],[4013,2],[[4014,4016],2],[[4017,4023],2],[4024,2],[4025,1,"ྐྵ"],[[4026,4028],2],[4029,3],[[4030,4037],2],[4038,2],[[4039,4044],2],[4045,3],[4046,2],[4047,2],[[4048,4049],2],[[4050,4052],2],[[4053,4056],2],[[4057,4058],2],[[4059,4095],3],[[4096,4129],2],[4130,2],[[4131,4135],2],[4136,2],[[4137,4138],2],[4139,2],[[4140,4146],2],[[4147,4149],2],[[4150,4153],2],[[4154,4159],2],[[4160,4169],2],[[4170,4175],2],[[4176,4185],2],[[4186,4249],2],[[4250,4253],2],[[4254,4255],2],[4256,1,"ⴀ"],[4257,1,"ⴁ"],[4258,1,"ⴂ"],[4259,1,"ⴃ"],[4260,1,"ⴄ"],[4261,1,"ⴅ"],[4262,1,"ⴆ"],[4263,1,"ⴇ"],[4264,1,"ⴈ"],[4265,1,"ⴉ"],[4266,1,"ⴊ"],[4267,1,"ⴋ"],[4268,1,"ⴌ"],[4269,1,"ⴍ"],[4270,1,"ⴎ"],[4271,1,"ⴏ"],[4272,1,"ⴐ"],[4273,1,"ⴑ"],[4274,1,"ⴒ"],[4275,1,"ⴓ"],[4276,1,"ⴔ"],[4277,1,"ⴕ"],[4278,1,"ⴖ"],[4279,1,"ⴗ"],[4280,1,"ⴘ"],[4281,1,"ⴙ"],[4282,1,"ⴚ"],[4283,1,"ⴛ"],[4284,1,"ⴜ"],[4285,1,"ⴝ"],[4286,1,"ⴞ"],[4287,1,"ⴟ"],[4288,1,"ⴠ"],[4289,1,"ⴡ"],[4290,1,"ⴢ"],[4291,1,"ⴣ"],[4292,1,"ⴤ"],[4293,1,"ⴥ"],[4294,3],[4295,1,"ⴧ"],[[4296,4300],3],[4301,1,"ⴭ"],[[4302,4303],3],[[4304,4342],2],[[4343,4344],2],[[4345,4346],2],[4347,2],[4348,1,"ნ"],[[4349,4351],2],[[4352,4441],2],[[4442,4446],2],[[4447,4448],7],[[4449,4514],2],[[4515,4519],2],[[4520,4601],2],[[4602,4607],2],[[4608,4614],2],[4615,2],[[4616,4678],2],[4679,2],[4680,2],[4681,3],[[4682,4685],2],[[4686,4687],3],[[4688,4694],2],[4695,3],[4696,2],[4697,3],[[4698,4701],2],[[4702,4703],3],[[4704,4742],2],[4743,2],[4744,2],[4745,3],[[4746,4749],2],[[4750,4751],3],[[4752,4782],2],[4783,2],[4784,2],[4785,3],[[4786,4789],2],[[4790,4791],3],[[4792,4798],2],[4799,3],[4800,2],[4801,3],[[4802,4805],2],[[4806,4807],3],[[4808,4814],2],[4815,2],[[4816,4822],2],[4823,3],[[4824,4846],2],[4847,2],[[4848,4878],2],[4879,2],[4880,2],[4881,3],[[4882,4885],2],[[4886,4887],3],[[4888,4894],2],[4895,2],[[4896,4934],2],[4935,2],[[4936,4954],2],[[4955,4956],3],[[4957,4958],2],[4959,2],[4960,2],[[4961,4988],2],[[4989,4991],3],[[4992,5007],2],[[5008,5017],2],[[5018,5023],3],[[5024,5108],2],[5109,2],[[5110,5111],3],[5112,1,"Ᏸ"],[5113,1,"Ᏹ"],[5114,1,"Ᏺ"],[5115,1,"Ᏻ"],[5116,1,"Ᏼ"],[5117,1,"Ᏽ"],[[5118,5119],3],[5120,2],[[5121,5740],2],[[5741,5742],2],[[5743,5750],2],[[5751,5759],2],[5760,3],[[5761,5786],2],[[5787,5788],2],[[5789,5791],3],[[5792,5866],2],[[5867,5872],2],[[5873,5880],2],[[5881,5887],3],[[5888,5900],2],[5901,2],[[5902,5908],2],[5909,2],[[5910,5918],3],[5919,2],[[5920,5940],2],[[5941,5942],2],[[5943,5951],3],[[5952,5971],2],[[5972,5983],3],[[5984,5996],2],[5997,3],[[5998,6000],2],[6001,3],[[6002,6003],2],[[6004,6015],3],[[6016,6067],2],[[6068,6069],7],[[6070,6099],2],[[6100,6102],2],[6103,2],[[6104,6107],2],[6108,2],[6109,2],[[6110,6111],3],[[6112,6121],2],[[6122,6127],3],[[6128,6137],2],[[6138,6143],3],[[6144,6154],2],[[6155,6158],7],[6159,7],[[6160,6169],2],[[6170,6175],3],[[6176,6263],2],[6264,2],[[6265,6271],3],[[6272,6313],2],[6314,2],[[6315,6319],3],[[6320,6389],2],[[6390,6399],3],[[6400,6428],2],[[6429,6430],2],[6431,3],[[6432,6443],2],[[6444,6447],3],[[6448,6459],2],[[6460,6463],3],[6464,2],[[6465,6467],3],[[6468,6469],2],[[6470,6509],2],[[6510,6511],3],[[6512,6516],2],[[6517,6527],3],[[6528,6569],2],[[6570,6571],2],[[6572,6575],3],[[6576,6601],2],[[6602,6607],3],[[6608,6617],2],[6618,2],[[6619,6621],3],[[6622,6623],2],[[6624,6655],2],[[6656,6683],2],[[6684,6685],3],[[6686,6687],2],[[6688,6750],2],[6751,3],[[6752,6780],2],[[6781,6782],3],[[6783,6793],2],[[6794,6799],3],[[6800,6809],2],[[6810,6815],3],[[6816,6822],2],[6823,2],[[6824,6829],2],[[6830,6831],3],[[6832,6845],2],[6846,2],[[6847,6848],2],[[6849,6862],2],[[6863,6911],3],[[6912,6987],2],[6988,2],[6989,3],[[6990,6991],2],[[6992,7001],2],[[7002,7018],2],[[7019,7027],2],[[7028,7036],2],[[7037,7038],2],[7039,2],[[7040,7082],2],[[7083,7085],2],[[7086,7097],2],[[7098,7103],2],[[7104,7155],2],[[7156,7163],3],[[7164,7167],2],[[7168,7223],2],[[7224,7226],3],[[7227,7231],2],[[7232,7241],2],[[7242,7244],3],[[7245,7293],2],[[7294,7295],2],[7296,1,"в"],[7297,1,"д"],[7298,1,"о"],[7299,1,"с"],[[7300,7301],1,"т"],[7302,1,"ъ"],[7303,1,"ѣ"],[7304,1,"ꙋ"],[7305,1,"ᲊ"],[7306,2],[[7307,7311],3],[7312,1,"ა"],[7313,1,"ბ"],[7314,1,"გ"],[7315,1,"დ"],[7316,1,"ე"],[7317,1,"ვ"],[7318,1,"ზ"],[7319,1,"თ"],[7320,1,"ი"],[7321,1,"კ"],[7322,1,"ლ"],[7323,1,"მ"],[7324,1,"ნ"],[7325,1,"ო"],[7326,1,"პ"],[7327,1,"ჟ"],[7328,1,"რ"],[7329,1,"ს"],[7330,1,"ტ"],[7331,1,"უ"],[7332,1,"ფ"],[7333,1,"ქ"],[7334,1,"ღ"],[7335,1,"ყ"],[7336,1,"შ"],[7337,1,"ჩ"],[7338,1,"ც"],[7339,1,"ძ"],[7340,1,"წ"],[7341,1,"ჭ"],[7342,1,"ხ"],[7343,1,"ჯ"],[7344,1,"ჰ"],[7345,1,"ჱ"],[7346,1,"ჲ"],[7347,1,"ჳ"],[7348,1,"ჴ"],[7349,1,"ჵ"],[7350,1,"ჶ"],[7351,1,"ჷ"],[7352,1,"ჸ"],[7353,1,"ჹ"],[7354,1,"ჺ"],[[7355,7356],3],[7357,1,"ჽ"],[7358,1,"ჾ"],[7359,1,"ჿ"],[[7360,7367],2],[[7368,7375],3],[[7376,7378],2],[7379,2],[[7380,7410],2],[[7411,7414],2],[7415,2],[[7416,7417],2],[7418,2],[[7419,7423],3],[[7424,7467],2],[7468,1,"a"],[7469,1,"æ"],[7470,1,"b"],[7471,2],[7472,1,"d"],[7473,1,"e"],[7474,1,"ǝ"],[7475,1,"g"],[7476,1,"h"],[7477,1,"i"],[7478,1,"j"],[7479,1,"k"],[7480,1,"l"],[7481,1,"m"],[7482,1,"n"],[7483,2],[7484,1,"o"],[7485,1,"ȣ"],[7486,1,"p"],[7487,1,"r"],[7488,1,"t"],[7489,1,"u"],[7490,1,"w"],[7491,1,"a"],[7492,1,"ɐ"],[7493,1,"ɑ"],[7494,1,"ᴂ"],[7495,1,"b"],[7496,1,"d"],[7497,1,"e"],[7498,1,"ə"],[7499,1,"ɛ"],[7500,1,"ɜ"],[7501,1,"g"],[7502,2],[7503,1,"k"],[7504,1,"m"],[7505,1,"ŋ"],[7506,1,"o"],[7507,1,"ɔ"],[7508,1,"ᴖ"],[7509,1,"ᴗ"],[7510,1,"p"],[7511,1,"t"],[7512,1,"u"],[7513,1,"ᴝ"],[7514,1,"ɯ"],[7515,1,"v"],[7516,1,"ᴥ"],[7517,1,"β"],[7518,1,"γ"],[7519,1,"δ"],[7520,1,"φ"],[7521,1,"χ"],[7522,1,"i"],[7523,1,"r"],[7524,1,"u"],[7525,1,"v"],[7526,1,"β"],[7527,1,"γ"],[7528,1,"ρ"],[7529,1,"φ"],[7530,1,"χ"],[7531,2],[[7532,7543],2],[7544,1,"н"],[[7545,7578],2],[7579,1,"ɒ"],[7580,1,"c"],[7581,1,"ɕ"],[7582,1,"ð"],[7583,1,"ɜ"],[7584,1,"f"],[7585,1,"ɟ"],[7586,1,"ɡ"],[7587,1,"ɥ"],[7588,1,"ɨ"],[7589,1,"ɩ"],[7590,1,"ɪ"],[7591,1,"ᵻ"],[7592,1,"ʝ"],[7593,1,"ɭ"],[7594,1,"ᶅ"],[7595,1,"ʟ"],[7596,1,"ɱ"],[7597,1,"ɰ"],[7598,1,"ɲ"],[7599,1,"ɳ"],[7600,1,"ɴ"],[7601,1,"ɵ"],[7602,1,"ɸ"],[7603,1,"ʂ"],[7604,1,"ʃ"],[7605,1,"ƫ"],[7606,1,"ʉ"],[7607,1,"ʊ"],[7608,1,"ᴜ"],[7609,1,"ʋ"],[7610,1,"ʌ"],[7611,1,"z"],[7612,1,"ʐ"],[7613,1,"ʑ"],[7614,1,"ʒ"],[7615,1,"θ"],[[7616,7619],2],[[7620,7626],2],[[7627,7654],2],[[7655,7669],2],[[7670,7673],2],[7674,2],[7675,2],[7676,2],[7677,2],[[7678,7679],2],[7680,1,"ḁ"],[7681,2],[7682,1,"ḃ"],[7683,2],[7684,1,"ḅ"],[7685,2],[7686,1,"ḇ"],[7687,2],[7688,1,"ḉ"],[7689,2],[7690,1,"ḋ"],[7691,2],[7692,1,"ḍ"],[7693,2],[7694,1,"ḏ"],[7695,2],[7696,1,"ḑ"],[7697,2],[7698,1,"ḓ"],[7699,2],[7700,1,"ḕ"],[7701,2],[7702,1,"ḗ"],[7703,2],[7704,1,"ḙ"],[7705,2],[7706,1,"ḛ"],[7707,2],[7708,1,"ḝ"],[7709,2],[7710,1,"ḟ"],[7711,2],[7712,1,"ḡ"],[7713,2],[7714,1,"ḣ"],[7715,2],[7716,1,"ḥ"],[7717,2],[7718,1,"ḧ"],[7719,2],[7720,1,"ḩ"],[7721,2],[7722,1,"ḫ"],[7723,2],[7724,1,"ḭ"],[7725,2],[7726,1,"ḯ"],[7727,2],[7728,1,"ḱ"],[7729,2],[7730,1,"ḳ"],[7731,2],[7732,1,"ḵ"],[7733,2],[7734,1,"ḷ"],[7735,2],[7736,1,"ḹ"],[7737,2],[7738,1,"ḻ"],[7739,2],[7740,1,"ḽ"],[7741,2],[7742,1,"ḿ"],[7743,2],[7744,1,"ṁ"],[7745,2],[7746,1,"ṃ"],[7747,2],[7748,1,"ṅ"],[7749,2],[7750,1,"ṇ"],[7751,2],[7752,1,"ṉ"],[7753,2],[7754,1,"ṋ"],[7755,2],[7756,1,"ṍ"],[7757,2],[7758,1,"ṏ"],[7759,2],[7760,1,"ṑ"],[7761,2],[7762,1,"ṓ"],[7763,2],[7764,1,"ṕ"],[7765,2],[7766,1,"ṗ"],[7767,2],[7768,1,"ṙ"],[7769,2],[7770,1,"ṛ"],[7771,2],[7772,1,"ṝ"],[7773,2],[7774,1,"ṟ"],[7775,2],[7776,1,"ṡ"],[7777,2],[7778,1,"ṣ"],[7779,2],[7780,1,"ṥ"],[7781,2],[7782,1,"ṧ"],[7783,2],[7784,1,"ṩ"],[7785,2],[7786,1,"ṫ"],[7787,2],[7788,1,"ṭ"],[7789,2],[7790,1,"ṯ"],[7791,2],[7792,1,"ṱ"],[7793,2],[7794,1,"ṳ"],[7795,2],[7796,1,"ṵ"],[7797,2],[7798,1,"ṷ"],[7799,2],[7800,1,"ṹ"],[7801,2],[7802,1,"ṻ"],[7803,2],[7804,1,"ṽ"],[7805,2],[7806,1,"ṿ"],[7807,2],[7808,1,"ẁ"],[7809,2],[7810,1,"ẃ"],[7811,2],[7812,1,"ẅ"],[7813,2],[7814,1,"ẇ"],[7815,2],[7816,1,"ẉ"],[7817,2],[7818,1,"ẋ"],[7819,2],[7820,1,"ẍ"],[7821,2],[7822,1,"ẏ"],[7823,2],[7824,1,"ẑ"],[7825,2],[7826,1,"ẓ"],[7827,2],[7828,1,"ẕ"],[[7829,7833],2],[7834,1,"aʾ"],[7835,1,"ṡ"],[[7836,7837],2],[7838,1,"ß"],[7839,2],[7840,1,"ạ"],[7841,2],[7842,1,"ả"],[7843,2],[7844,1,"ấ"],[7845,2],[7846,1,"ầ"],[7847,2],[7848,1,"ẩ"],[7849,2],[7850,1,"ẫ"],[7851,2],[7852,1,"ậ"],[7853,2],[7854,1,"ắ"],[7855,2],[7856,1,"ằ"],[7857,2],[7858,1,"ẳ"],[7859,2],[7860,1,"ẵ"],[7861,2],[7862,1,"ặ"],[7863,2],[7864,1,"ẹ"],[7865,2],[7866,1,"ẻ"],[7867,2],[7868,1,"ẽ"],[7869,2],[7870,1,"ế"],[7871,2],[7872,1,"ề"],[7873,2],[7874,1,"ể"],[7875,2],[7876,1,"ễ"],[7877,2],[7878,1,"ệ"],[7879,2],[7880,1,"ỉ"],[7881,2],[7882,1,"ị"],[7883,2],[7884,1,"ọ"],[7885,2],[7886,1,"ỏ"],[7887,2],[7888,1,"ố"],[7889,2],[7890,1,"ồ"],[7891,2],[7892,1,"ổ"],[7893,2],[7894,1,"ỗ"],[7895,2],[7896,1,"ộ"],[7897,2],[7898,1,"ớ"],[7899,2],[7900,1,"ờ"],[7901,2],[7902,1,"ở"],[7903,2],[7904,1,"ỡ"],[7905,2],[7906,1,"ợ"],[7907,2],[7908,1,"ụ"],[7909,2],[7910,1,"ủ"],[7911,2],[7912,1,"ứ"],[7913,2],[7914,1,"ừ"],[7915,2],[7916,1,"ử"],[7917,2],[7918,1,"ữ"],[7919,2],[7920,1,"ự"],[7921,2],[7922,1,"ỳ"],[7923,2],[7924,1,"ỵ"],[7925,2],[7926,1,"ỷ"],[7927,2],[7928,1,"ỹ"],[7929,2],[7930,1,"ỻ"],[7931,2],[7932,1,"ỽ"],[7933,2],[7934,1,"ỿ"],[7935,2],[[7936,7943],2],[7944,1,"ἀ"],[7945,1,"ἁ"],[7946,1,"ἂ"],[7947,1,"ἃ"],[7948,1,"ἄ"],[7949,1,"ἅ"],[7950,1,"ἆ"],[7951,1,"ἇ"],[[7952,7957],2],[[7958,7959],3],[7960,1,"ἐ"],[7961,1,"ἑ"],[7962,1,"ἒ"],[7963,1,"ἓ"],[7964,1,"ἔ"],[7965,1,"ἕ"],[[7966,7967],3],[[7968,7975],2],[7976,1,"ἠ"],[7977,1,"ἡ"],[7978,1,"ἢ"],[7979,1,"ἣ"],[7980,1,"ἤ"],[7981,1,"ἥ"],[7982,1,"ἦ"],[7983,1,"ἧ"],[[7984,7991],2],[7992,1,"ἰ"],[7993,1,"ἱ"],[7994,1,"ἲ"],[7995,1,"ἳ"],[7996,1,"ἴ"],[7997,1,"ἵ"],[7998,1,"ἶ"],[7999,1,"ἷ"],[[8000,8005],2],[[8006,8007],3],[8008,1,"ὀ"],[8009,1,"ὁ"],[8010,1,"ὂ"],[8011,1,"ὃ"],[8012,1,"ὄ"],[8013,1,"ὅ"],[[8014,8015],3],[[8016,8023],2],[8024,3],[8025,1,"ὑ"],[8026,3],[8027,1,"ὓ"],[8028,3],[8029,1,"ὕ"],[8030,3],[8031,1,"ὗ"],[[8032,8039],2],[8040,1,"ὠ"],[8041,1,"ὡ"],[8042,1,"ὢ"],[8043,1,"ὣ"],[8044,1,"ὤ"],[8045,1,"ὥ"],[8046,1,"ὦ"],[8047,1,"ὧ"],[8048,2],[8049,1,"ά"],[8050,2],[8051,1,"έ"],[8052,2],[8053,1,"ή"],[8054,2],[8055,1,"ί"],[8056,2],[8057,1,"ό"],[8058,2],[8059,1,"ύ"],[8060,2],[8061,1,"ώ"],[[8062,8063],3],[8064,1,"ἀι"],[8065,1,"ἁι"],[8066,1,"ἂι"],[8067,1,"ἃι"],[8068,1,"ἄι"],[8069,1,"ἅι"],[8070,1,"ἆι"],[8071,1,"ἇι"],[8072,1,"ἀι"],[8073,1,"ἁι"],[8074,1,"ἂι"],[8075,1,"ἃι"],[8076,1,"ἄι"],[8077,1,"ἅι"],[8078,1,"ἆι"],[8079,1,"ἇι"],[8080,1,"ἠι"],[8081,1,"ἡι"],[8082,1,"ἢι"],[8083,1,"ἣι"],[8084,1,"ἤι"],[8085,1,"ἥι"],[8086,1,"ἦι"],[8087,1,"ἧι"],[8088,1,"ἠι"],[8089,1,"ἡι"],[8090,1,"ἢι"],[8091,1,"ἣι"],[8092,1,"ἤι"],[8093,1,"ἥι"],[8094,1,"ἦι"],[8095,1,"ἧι"],[8096,1,"ὠι"],[8097,1,"ὡι"],[8098,1,"ὢι"],[8099,1,"ὣι"],[8100,1,"ὤι"],[8101,1,"ὥι"],[8102,1,"ὦι"],[8103,1,"ὧι"],[8104,1,"ὠι"],[8105,1,"ὡι"],[8106,1,"ὢι"],[8107,1,"ὣι"],[8108,1,"ὤι"],[8109,1,"ὥι"],[8110,1,"ὦι"],[8111,1,"ὧι"],[[8112,8113],2],[8114,1,"ὰι"],[8115,1,"αι"],[8116,1,"άι"],[8117,3],[8118,2],[8119,1,"ᾶι"],[8120,1,"ᾰ"],[8121,1,"ᾱ"],[8122,1,"ὰ"],[8123,1,"ά"],[8124,1,"αι"],[8125,1," ̓"],[8126,1,"ι"],[8127,1," ̓"],[8128,1," ͂"],[8129,1," ̈͂"],[8130,1,"ὴι"],[8131,1,"ηι"],[8132,1,"ήι"],[8133,3],[8134,2],[8135,1,"ῆι"],[8136,1,"ὲ"],[8137,1,"έ"],[8138,1,"ὴ"],[8139,1,"ή"],[8140,1,"ηι"],[8141,1," ̓̀"],[8142,1," ̓́"],[8143,1," ̓͂"],[[8144,8146],2],[8147,1,"ΐ"],[[8148,8149],3],[[8150,8151],2],[8152,1,"ῐ"],[8153,1,"ῑ"],[8154,1,"ὶ"],[8155,1,"ί"],[8156,3],[8157,1," ̔̀"],[8158,1," ̔́"],[8159,1," ̔͂"],[[8160,8162],2],[8163,1,"ΰ"],[[8164,8167],2],[8168,1,"ῠ"],[8169,1,"ῡ"],[8170,1,"ὺ"],[8171,1,"ύ"],[8172,1,"ῥ"],[8173,1," ̈̀"],[8174,1," ̈́"],[8175,1,"`"],[[8176,8177],3],[8178,1,"ὼι"],[8179,1,"ωι"],[8180,1,"ώι"],[8181,3],[8182,2],[8183,1,"ῶι"],[8184,1,"ὸ"],[8185,1,"ό"],[8186,1,"ὼ"],[8187,1,"ώ"],[8188,1,"ωι"],[8189,1," ́"],[8190,1," ̔"],[8191,3],[[8192,8202],1," "],[8203,7],[[8204,8205],6,""],[[8206,8207],3],[8208,2],[8209,1,"‐"],[[8210,8214],2],[8215,1," ̳"],[[8216,8227],2],[[8228,8230],3],[8231,2],[[8232,8238],3],[8239,1," "],[[8240,8242],2],[8243,1,"′′"],[8244,1,"′′′"],[8245,2],[8246,1,"‵‵"],[8247,1,"‵‵‵"],[[8248,8251],2],[8252,1,"!!"],[8253,2],[8254,1," ̅"],[[8255,8262],2],[8263,1,"??"],[8264,1,"?!"],[8265,1,"!?"],[[8266,8269],2],[[8270,8274],2],[[8275,8276],2],[[8277,8278],2],[8279,1,"′′′′"],[[8280,8286],2],[8287,1," "],[[8288,8291],7],[8292,7],[8293,3],[[8294,8297],3],[[8298,8303],7],[8304,1,"0"],[8305,1,"i"],[[8306,8307],3],[8308,1,"4"],[8309,1,"5"],[8310,1,"6"],[8311,1,"7"],[8312,1,"8"],[8313,1,"9"],[8314,1,"+"],[8315,1,"−"],[8316,1,"="],[8317,1,"("],[8318,1,")"],[8319,1,"n"],[8320,1,"0"],[8321,1,"1"],[8322,1,"2"],[8323,1,"3"],[8324,1,"4"],[8325,1,"5"],[8326,1,"6"],[8327,1,"7"],[8328,1,"8"],[8329,1,"9"],[8330,1,"+"],[8331,1,"−"],[8332,1,"="],[8333,1,"("],[8334,1,")"],[8335,3],[8336,1,"a"],[8337,1,"e"],[8338,1,"o"],[8339,1,"x"],[8340,1,"ə"],[8341,1,"h"],[8342,1,"k"],[8343,1,"l"],[8344,1,"m"],[8345,1,"n"],[8346,1,"p"],[8347,1,"s"],[8348,1,"t"],[[8349,8351],3],[[8352,8359],2],[8360,1,"rs"],[[8361,8362],2],[8363,2],[8364,2],[[8365,8367],2],[[8368,8369],2],[[8370,8373],2],[[8374,8376],2],[8377,2],[8378,2],[[8379,8381],2],[8382,2],[8383,2],[8384,2],[[8385,8399],3],[[8400,8417],2],[[8418,8419],2],[[8420,8426],2],[8427,2],[[8428,8431],2],[8432,2],[[8433,8447],3],[8448,1,"a/c"],[8449,1,"a/s"],[8450,1,"c"],[8451,1,"°c"],[8452,2],[8453,1,"c/o"],[8454,1,"c/u"],[8455,1,"ɛ"],[8456,2],[8457,1,"°f"],[8458,1,"g"],[[8459,8462],1,"h"],[8463,1,"ħ"],[[8464,8465],1,"i"],[[8466,8467],1,"l"],[8468,2],[8469,1,"n"],[8470,1,"no"],[[8471,8472],2],[8473,1,"p"],[8474,1,"q"],[[8475,8477],1,"r"],[[8478,8479],2],[8480,1,"sm"],[8481,1,"tel"],[8482,1,"tm"],[8483,2],[8484,1,"z"],[8485,2],[8486,1,"ω"],[8487,2],[8488,1,"z"],[8489,2],[8490,1,"k"],[8491,1,"å"],[8492,1,"b"],[8493,1,"c"],[8494,2],[[8495,8496],1,"e"],[8497,1,"f"],[8498,1,"ⅎ"],[8499,1,"m"],[8500,1,"o"],[8501,1,"א"],[8502,1,"ב"],[8503,1,"ג"],[8504,1,"ד"],[8505,1,"i"],[8506,2],[8507,1,"fax"],[8508,1,"π"],[[8509,8510],1,"γ"],[8511,1,"π"],[8512,1,"∑"],[[8513,8516],2],[[8517,8518],1,"d"],[8519,1,"e"],[8520,1,"i"],[8521,1,"j"],[[8522,8523],2],[8524,2],[8525,2],[8526,2],[8527,2],[8528,1,"1⁄7"],[8529,1,"1⁄9"],[8530,1,"1⁄10"],[8531,1,"1⁄3"],[8532,1,"2⁄3"],[8533,1,"1⁄5"],[8534,1,"2⁄5"],[8535,1,"3⁄5"],[8536,1,"4⁄5"],[8537,1,"1⁄6"],[8538,1,"5⁄6"],[8539,1,"1⁄8"],[8540,1,"3⁄8"],[8541,1,"5⁄8"],[8542,1,"7⁄8"],[8543,1,"1⁄"],[8544,1,"i"],[8545,1,"ii"],[8546,1,"iii"],[8547,1,"iv"],[8548,1,"v"],[8549,1,"vi"],[8550,1,"vii"],[8551,1,"viii"],[8552,1,"ix"],[8553,1,"x"],[8554,1,"xi"],[8555,1,"xii"],[8556,1,"l"],[8557,1,"c"],[8558,1,"d"],[8559,1,"m"],[8560,1,"i"],[8561,1,"ii"],[8562,1,"iii"],[8563,1,"iv"],[8564,1,"v"],[8565,1,"vi"],[8566,1,"vii"],[8567,1,"viii"],[8568,1,"ix"],[8569,1,"x"],[8570,1,"xi"],[8571,1,"xii"],[8572,1,"l"],[8573,1,"c"],[8574,1,"d"],[8575,1,"m"],[[8576,8578],2],[8579,1,"ↄ"],[8580,2],[[8581,8584],2],[8585,1,"0⁄3"],[[8586,8587],2],[[8588,8591],3],[[8592,8682],2],[[8683,8691],2],[[8692,8703],2],[[8704,8747],2],[8748,1,"∫∫"],[8749,1,"∫∫∫"],[8750,2],[8751,1,"∮∮"],[8752,1,"∮∮∮"],[[8753,8945],2],[[8946,8959],2],[8960,2],[8961,2],[[8962,9000],2],[9001,1,"〈"],[9002,1,"〉"],[[9003,9082],2],[9083,2],[9084,2],[[9085,9114],2],[[9115,9166],2],[[9167,9168],2],[[9169,9179],2],[[9180,9191],2],[9192,2],[[9193,9203],2],[[9204,9210],2],[[9211,9214],2],[9215,2],[[9216,9252],2],[[9253,9254],2],[[9255,9257],2],[[9258,9279],3],[[9280,9290],2],[[9291,9311],3],[9312,1,"1"],[9313,1,"2"],[9314,1,"3"],[9315,1,"4"],[9316,1,"5"],[9317,1,"6"],[9318,1,"7"],[9319,1,"8"],[9320,1,"9"],[9321,1,"10"],[9322,1,"11"],[9323,1,"12"],[9324,1,"13"],[9325,1,"14"],[9326,1,"15"],[9327,1,"16"],[9328,1,"17"],[9329,1,"18"],[9330,1,"19"],[9331,1,"20"],[9332,1,"(1)"],[9333,1,"(2)"],[9334,1,"(3)"],[9335,1,"(4)"],[9336,1,"(5)"],[9337,1,"(6)"],[9338,1,"(7)"],[9339,1,"(8)"],[9340,1,"(9)"],[9341,1,"(10)"],[9342,1,"(11)"],[9343,1,"(12)"],[9344,1,"(13)"],[9345,1,"(14)"],[9346,1,"(15)"],[9347,1,"(16)"],[9348,1,"(17)"],[9349,1,"(18)"],[9350,1,"(19)"],[9351,1,"(20)"],[[9352,9371],3],[9372,1,"(a)"],[9373,1,"(b)"],[9374,1,"(c)"],[9375,1,"(d)"],[9376,1,"(e)"],[9377,1,"(f)"],[9378,1,"(g)"],[9379,1,"(h)"],[9380,1,"(i)"],[9381,1,"(j)"],[9382,1,"(k)"],[9383,1,"(l)"],[9384,1,"(m)"],[9385,1,"(n)"],[9386,1,"(o)"],[9387,1,"(p)"],[9388,1,"(q)"],[9389,1,"(r)"],[9390,1,"(s)"],[9391,1,"(t)"],[9392,1,"(u)"],[9393,1,"(v)"],[9394,1,"(w)"],[9395,1,"(x)"],[9396,1,"(y)"],[9397,1,"(z)"],[9398,1,"a"],[9399,1,"b"],[9400,1,"c"],[9401,1,"d"],[9402,1,"e"],[9403,1,"f"],[9404,1,"g"],[9405,1,"h"],[9406,1,"i"],[9407,1,"j"],[9408,1,"k"],[9409,1,"l"],[9410,1,"m"],[9411,1,"n"],[9412,1,"o"],[9413,1,"p"],[9414,1,"q"],[9415,1,"r"],[9416,1,"s"],[9417,1,"t"],[9418,1,"u"],[9419,1,"v"],[9420,1,"w"],[9421,1,"x"],[9422,1,"y"],[9423,1,"z"],[9424,1,"a"],[9425,1,"b"],[9426,1,"c"],[9427,1,"d"],[9428,1,"e"],[9429,1,"f"],[9430,1,"g"],[9431,1,"h"],[9432,1,"i"],[9433,1,"j"],[9434,1,"k"],[9435,1,"l"],[9436,1,"m"],[9437,1,"n"],[9438,1,"o"],[9439,1,"p"],[9440,1,"q"],[9441,1,"r"],[9442,1,"s"],[9443,1,"t"],[9444,1,"u"],[9445,1,"v"],[9446,1,"w"],[9447,1,"x"],[9448,1,"y"],[9449,1,"z"],[9450,1,"0"],[[9451,9470],2],[9471,2],[[9472,9621],2],[[9622,9631],2],[[9632,9711],2],[[9712,9719],2],[[9720,9727],2],[[9728,9747],2],[[9748,9749],2],[[9750,9751],2],[9752,2],[9753,2],[[9754,9839],2],[[9840,9841],2],[[9842,9853],2],[[9854,9855],2],[[9856,9865],2],[[9866,9873],2],[[9874,9884],2],[9885,2],[[9886,9887],2],[[9888,9889],2],[[9890,9905],2],[9906,2],[[9907,9916],2],[[9917,9919],2],[[9920,9923],2],[[9924,9933],2],[9934,2],[[9935,9953],2],[9954,2],[9955,2],[[9956,9959],2],[[9960,9983],2],[9984,2],[[9985,9988],2],[9989,2],[[9990,9993],2],[[9994,9995],2],[[9996,10023],2],[10024,2],[[10025,10059],2],[10060,2],[10061,2],[10062,2],[[10063,10066],2],[[10067,10069],2],[10070,2],[10071,2],[[10072,10078],2],[[10079,10080],2],[[10081,10087],2],[[10088,10101],2],[[10102,10132],2],[[10133,10135],2],[[10136,10159],2],[10160,2],[[10161,10174],2],[10175,2],[[10176,10182],2],[[10183,10186],2],[10187,2],[10188,2],[10189,2],[[10190,10191],2],[[10192,10219],2],[[10220,10223],2],[[10224,10239],2],[[10240,10495],2],[[10496,10763],2],[10764,1,"∫∫∫∫"],[[10765,10867],2],[10868,1,"::="],[10869,1,"=="],[10870,1,"==="],[[10871,10971],2],[10972,1,"⫝̸"],[[10973,11007],2],[[11008,11021],2],[[11022,11027],2],[[11028,11034],2],[[11035,11039],2],[[11040,11043],2],[[11044,11084],2],[[11085,11087],2],[[11088,11092],2],[[11093,11097],2],[[11098,11123],2],[[11124,11125],3],[[11126,11157],2],[11158,3],[11159,2],[[11160,11193],2],[[11194,11196],2],[[11197,11208],2],[11209,2],[[11210,11217],2],[11218,2],[[11219,11243],2],[[11244,11247],2],[[11248,11262],2],[11263,2],[11264,1,"ⰰ"],[11265,1,"ⰱ"],[11266,1,"ⰲ"],[11267,1,"ⰳ"],[11268,1,"ⰴ"],[11269,1,"ⰵ"],[11270,1,"ⰶ"],[11271,1,"ⰷ"],[11272,1,"ⰸ"],[11273,1,"ⰹ"],[11274,1,"ⰺ"],[11275,1,"ⰻ"],[11276,1,"ⰼ"],[11277,1,"ⰽ"],[11278,1,"ⰾ"],[11279,1,"ⰿ"],[11280,1,"ⱀ"],[11281,1,"ⱁ"],[11282,1,"ⱂ"],[11283,1,"ⱃ"],[11284,1,"ⱄ"],[11285,1,"ⱅ"],[11286,1,"ⱆ"],[11287,1,"ⱇ"],[11288,1,"ⱈ"],[11289,1,"ⱉ"],[11290,1,"ⱊ"],[11291,1,"ⱋ"],[11292,1,"ⱌ"],[11293,1,"ⱍ"],[11294,1,"ⱎ"],[11295,1,"ⱏ"],[11296,1,"ⱐ"],[11297,1,"ⱑ"],[11298,1,"ⱒ"],[11299,1,"ⱓ"],[11300,1,"ⱔ"],[11301,1,"ⱕ"],[11302,1,"ⱖ"],[11303,1,"ⱗ"],[11304,1,"ⱘ"],[11305,1,"ⱙ"],[11306,1,"ⱚ"],[11307,1,"ⱛ"],[11308,1,"ⱜ"],[11309,1,"ⱝ"],[11310,1,"ⱞ"],[11311,1,"ⱟ"],[[11312,11358],2],[11359,2],[11360,1,"ⱡ"],[11361,2],[11362,1,"ɫ"],[11363,1,"ᵽ"],[11364,1,"ɽ"],[[11365,11366],2],[11367,1,"ⱨ"],[11368,2],[11369,1,"ⱪ"],[11370,2],[11371,1,"ⱬ"],[11372,2],[11373,1,"ɑ"],[11374,1,"ɱ"],[11375,1,"ɐ"],[11376,1,"ɒ"],[11377,2],[11378,1,"ⱳ"],[11379,2],[11380,2],[11381,1,"ⱶ"],[[11382,11383],2],[[11384,11387],2],[11388,1,"j"],[11389,1,"v"],[11390,1,"ȿ"],[11391,1,"ɀ"],[11392,1,"ⲁ"],[11393,2],[11394,1,"ⲃ"],[11395,2],[11396,1,"ⲅ"],[11397,2],[11398,1,"ⲇ"],[11399,2],[11400,1,"ⲉ"],[11401,2],[11402,1,"ⲋ"],[11403,2],[11404,1,"ⲍ"],[11405,2],[11406,1,"ⲏ"],[11407,2],[11408,1,"ⲑ"],[11409,2],[11410,1,"ⲓ"],[11411,2],[11412,1,"ⲕ"],[11413,2],[11414,1,"ⲗ"],[11415,2],[11416,1,"ⲙ"],[11417,2],[11418,1,"ⲛ"],[11419,2],[11420,1,"ⲝ"],[11421,2],[11422,1,"ⲟ"],[11423,2],[11424,1,"ⲡ"],[11425,2],[11426,1,"ⲣ"],[11427,2],[11428,1,"ⲥ"],[11429,2],[11430,1,"ⲧ"],[11431,2],[11432,1,"ⲩ"],[11433,2],[11434,1,"ⲫ"],[11435,2],[11436,1,"ⲭ"],[11437,2],[11438,1,"ⲯ"],[11439,2],[11440,1,"ⲱ"],[11441,2],[11442,1,"ⲳ"],[11443,2],[11444,1,"ⲵ"],[11445,2],[11446,1,"ⲷ"],[11447,2],[11448,1,"ⲹ"],[11449,2],[11450,1,"ⲻ"],[11451,2],[11452,1,"ⲽ"],[11453,2],[11454,1,"ⲿ"],[11455,2],[11456,1,"ⳁ"],[11457,2],[11458,1,"ⳃ"],[11459,2],[11460,1,"ⳅ"],[11461,2],[11462,1,"ⳇ"],[11463,2],[11464,1,"ⳉ"],[11465,2],[11466,1,"ⳋ"],[11467,2],[11468,1,"ⳍ"],[11469,2],[11470,1,"ⳏ"],[11471,2],[11472,1,"ⳑ"],[11473,2],[11474,1,"ⳓ"],[11475,2],[11476,1,"ⳕ"],[11477,2],[11478,1,"ⳗ"],[11479,2],[11480,1,"ⳙ"],[11481,2],[11482,1,"ⳛ"],[11483,2],[11484,1,"ⳝ"],[11485,2],[11486,1,"ⳟ"],[11487,2],[11488,1,"ⳡ"],[11489,2],[11490,1,"ⳣ"],[[11491,11492],2],[[11493,11498],2],[11499,1,"ⳬ"],[11500,2],[11501,1,"ⳮ"],[[11502,11505],2],[11506,1,"ⳳ"],[11507,2],[[11508,11512],3],[[11513,11519],2],[[11520,11557],2],[11558,3],[11559,2],[[11560,11564],3],[11565,2],[[11566,11567],3],[[11568,11621],2],[[11622,11623],2],[[11624,11630],3],[11631,1,"ⵡ"],[11632,2],[[11633,11646],3],[11647,2],[[11648,11670],2],[[11671,11679],3],[[11680,11686],2],[11687,3],[[11688,11694],2],[11695,3],[[11696,11702],2],[11703,3],[[11704,11710],2],[11711,3],[[11712,11718],2],[11719,3],[[11720,11726],2],[11727,3],[[11728,11734],2],[11735,3],[[11736,11742],2],[11743,3],[[11744,11775],2],[[11776,11799],2],[[11800,11803],2],[[11804,11805],2],[[11806,11822],2],[11823,2],[11824,2],[11825,2],[[11826,11835],2],[[11836,11842],2],[[11843,11844],2],[[11845,11849],2],[[11850,11854],2],[11855,2],[[11856,11858],2],[[11859,11869],2],[[11870,11903],3],[[11904,11929],2],[11930,3],[[11931,11934],2],[11935,1,"母"],[[11936,12018],2],[12019,1,"龟"],[[12020,12031],3],[12032,1,"一"],[12033,1,"丨"],[12034,1,"丶"],[12035,1,"丿"],[12036,1,"乙"],[12037,1,"亅"],[12038,1,"二"],[12039,1,"亠"],[12040,1,"人"],[12041,1,"儿"],[12042,1,"入"],[12043,1,"八"],[12044,1,"冂"],[12045,1,"冖"],[12046,1,"冫"],[12047,1,"几"],[12048,1,"凵"],[12049,1,"刀"],[12050,1,"力"],[12051,1,"勹"],[12052,1,"匕"],[12053,1,"匚"],[12054,1,"匸"],[12055,1,"十"],[12056,1,"卜"],[12057,1,"卩"],[12058,1,"厂"],[12059,1,"厶"],[12060,1,"又"],[12061,1,"口"],[12062,1,"囗"],[12063,1,"土"],[12064,1,"士"],[12065,1,"夂"],[12066,1,"夊"],[12067,1,"夕"],[12068,1,"大"],[12069,1,"女"],[12070,1,"子"],[12071,1,"宀"],[12072,1,"寸"],[12073,1,"小"],[12074,1,"尢"],[12075,1,"尸"],[12076,1,"屮"],[12077,1,"山"],[12078,1,"巛"],[12079,1,"工"],[12080,1,"己"],[12081,1,"巾"],[12082,1,"干"],[12083,1,"幺"],[12084,1,"广"],[12085,1,"廴"],[12086,1,"廾"],[12087,1,"弋"],[12088,1,"弓"],[12089,1,"彐"],[12090,1,"彡"],[12091,1,"彳"],[12092,1,"心"],[12093,1,"戈"],[12094,1,"戶"],[12095,1,"手"],[12096,1,"支"],[12097,1,"攴"],[12098,1,"文"],[12099,1,"斗"],[12100,1,"斤"],[12101,1,"方"],[12102,1,"无"],[12103,1,"日"],[12104,1,"曰"],[12105,1,"月"],[12106,1,"木"],[12107,1,"欠"],[12108,1,"止"],[12109,1,"歹"],[12110,1,"殳"],[12111,1,"毋"],[12112,1,"比"],[12113,1,"毛"],[12114,1,"氏"],[12115,1,"气"],[12116,1,"水"],[12117,1,"火"],[12118,1,"爪"],[12119,1,"父"],[12120,1,"爻"],[12121,1,"爿"],[12122,1,"片"],[12123,1,"牙"],[12124,1,"牛"],[12125,1,"犬"],[12126,1,"玄"],[12127,1,"玉"],[12128,1,"瓜"],[12129,1,"瓦"],[12130,1,"甘"],[12131,1,"生"],[12132,1,"用"],[12133,1,"田"],[12134,1,"疋"],[12135,1,"疒"],[12136,1,"癶"],[12137,1,"白"],[12138,1,"皮"],[12139,1,"皿"],[12140,1,"目"],[12141,1,"矛"],[12142,1,"矢"],[12143,1,"石"],[12144,1,"示"],[12145,1,"禸"],[12146,1,"禾"],[12147,1,"穴"],[12148,1,"立"],[12149,1,"竹"],[12150,1,"米"],[12151,1,"糸"],[12152,1,"缶"],[12153,1,"网"],[12154,1,"羊"],[12155,1,"羽"],[12156,1,"老"],[12157,1,"而"],[12158,1,"耒"],[12159,1,"耳"],[12160,1,"聿"],[12161,1,"肉"],[12162,1,"臣"],[12163,1,"自"],[12164,1,"至"],[12165,1,"臼"],[12166,1,"舌"],[12167,1,"舛"],[12168,1,"舟"],[12169,1,"艮"],[12170,1,"色"],[12171,1,"艸"],[12172,1,"虍"],[12173,1,"虫"],[12174,1,"血"],[12175,1,"行"],[12176,1,"衣"],[12177,1,"襾"],[12178,1,"見"],[12179,1,"角"],[12180,1,"言"],[12181,1,"谷"],[12182,1,"豆"],[12183,1,"豕"],[12184,1,"豸"],[12185,1,"貝"],[12186,1,"赤"],[12187,1,"走"],[12188,1,"足"],[12189,1,"身"],[12190,1,"車"],[12191,1,"辛"],[12192,1,"辰"],[12193,1,"辵"],[12194,1,"邑"],[12195,1,"酉"],[12196,1,"釆"],[12197,1,"里"],[12198,1,"金"],[12199,1,"長"],[12200,1,"門"],[12201,1,"阜"],[12202,1,"隶"],[12203,1,"隹"],[12204,1,"雨"],[12205,1,"靑"],[12206,1,"非"],[12207,1,"面"],[12208,1,"革"],[12209,1,"韋"],[12210,1,"韭"],[12211,1,"音"],[12212,1,"頁"],[12213,1,"風"],[12214,1,"飛"],[12215,1,"食"],[12216,1,"首"],[12217,1,"香"],[12218,1,"馬"],[12219,1,"骨"],[12220,1,"高"],[12221,1,"髟"],[12222,1,"鬥"],[12223,1,"鬯"],[12224,1,"鬲"],[12225,1,"鬼"],[12226,1,"魚"],[12227,1,"鳥"],[12228,1,"鹵"],[12229,1,"鹿"],[12230,1,"麥"],[12231,1,"麻"],[12232,1,"黃"],[12233,1,"黍"],[12234,1,"黑"],[12235,1,"黹"],[12236,1,"黽"],[12237,1,"鼎"],[12238,1,"鼓"],[12239,1,"鼠"],[12240,1,"鼻"],[12241,1,"齊"],[12242,1,"齒"],[12243,1,"龍"],[12244,1,"龜"],[12245,1,"龠"],[[12246,12271],3],[[12272,12283],3],[[12284,12287],3],[12288,1," "],[12289,2],[12290,1,"."],[[12291,12292],2],[[12293,12295],2],[[12296,12329],2],[[12330,12333],2],[[12334,12341],2],[12342,1,"〒"],[12343,2],[12344,1,"十"],[12345,1,"卄"],[12346,1,"卅"],[12347,2],[12348,2],[12349,2],[12350,2],[12351,2],[12352,3],[[12353,12436],2],[[12437,12438],2],[[12439,12440],3],[[12441,12442],2],[12443,1," ゙"],[12444,1," ゚"],[[12445,12446],2],[12447,1,"より"],[12448,2],[[12449,12542],2],[12543,1,"コト"],[[12544,12548],3],[[12549,12588],2],[12589,2],[12590,2],[12591,2],[12592,3],[12593,1,"ᄀ"],[12594,1,"ᄁ"],[12595,1,"ᆪ"],[12596,1,"ᄂ"],[12597,1,"ᆬ"],[12598,1,"ᆭ"],[12599,1,"ᄃ"],[12600,1,"ᄄ"],[12601,1,"ᄅ"],[12602,1,"ᆰ"],[12603,1,"ᆱ"],[12604,1,"ᆲ"],[12605,1,"ᆳ"],[12606,1,"ᆴ"],[12607,1,"ᆵ"],[12608,1,"ᄚ"],[12609,1,"ᄆ"],[12610,1,"ᄇ"],[12611,1,"ᄈ"],[12612,1,"ᄡ"],[12613,1,"ᄉ"],[12614,1,"ᄊ"],[12615,1,"ᄋ"],[12616,1,"ᄌ"],[12617,1,"ᄍ"],[12618,1,"ᄎ"],[12619,1,"ᄏ"],[12620,1,"ᄐ"],[12621,1,"ᄑ"],[12622,1,"ᄒ"],[12623,1,"ᅡ"],[12624,1,"ᅢ"],[12625,1,"ᅣ"],[12626,1,"ᅤ"],[12627,1,"ᅥ"],[12628,1,"ᅦ"],[12629,1,"ᅧ"],[12630,1,"ᅨ"],[12631,1,"ᅩ"],[12632,1,"ᅪ"],[12633,1,"ᅫ"],[12634,1,"ᅬ"],[12635,1,"ᅭ"],[12636,1,"ᅮ"],[12637,1,"ᅯ"],[12638,1,"ᅰ"],[12639,1,"ᅱ"],[12640,1,"ᅲ"],[12641,1,"ᅳ"],[12642,1,"ᅴ"],[12643,1,"ᅵ"],[12644,7],[12645,1,"ᄔ"],[12646,1,"ᄕ"],[12647,1,"ᇇ"],[12648,1,"ᇈ"],[12649,1,"ᇌ"],[12650,1,"ᇎ"],[12651,1,"ᇓ"],[12652,1,"ᇗ"],[12653,1,"ᇙ"],[12654,1,"ᄜ"],[12655,1,"ᇝ"],[12656,1,"ᇟ"],[12657,1,"ᄝ"],[12658,1,"ᄞ"],[12659,1,"ᄠ"],[12660,1,"ᄢ"],[12661,1,"ᄣ"],[12662,1,"ᄧ"],[12663,1,"ᄩ"],[12664,1,"ᄫ"],[12665,1,"ᄬ"],[12666,1,"ᄭ"],[12667,1,"ᄮ"],[12668,1,"ᄯ"],[12669,1,"ᄲ"],[12670,1,"ᄶ"],[12671,1,"ᅀ"],[12672,1,"ᅇ"],[12673,1,"ᅌ"],[12674,1,"ᇱ"],[12675,1,"ᇲ"],[12676,1,"ᅗ"],[12677,1,"ᅘ"],[12678,1,"ᅙ"],[12679,1,"ᆄ"],[12680,1,"ᆅ"],[12681,1,"ᆈ"],[12682,1,"ᆑ"],[12683,1,"ᆒ"],[12684,1,"ᆔ"],[12685,1,"ᆞ"],[12686,1,"ᆡ"],[12687,3],[[12688,12689],2],[12690,1,"一"],[12691,1,"二"],[12692,1,"三"],[12693,1,"四"],[12694,1,"上"],[12695,1,"中"],[12696,1,"下"],[12697,1,"甲"],[12698,1,"乙"],[12699,1,"丙"],[12700,1,"丁"],[12701,1,"天"],[12702,1,"地"],[12703,1,"人"],[[12704,12727],2],[[12728,12730],2],[[12731,12735],2],[[12736,12751],2],[[12752,12771],2],[[12772,12773],2],[[12774,12782],3],[12783,3],[[12784,12799],2],[12800,1,"(ᄀ)"],[12801,1,"(ᄂ)"],[12802,1,"(ᄃ)"],[12803,1,"(ᄅ)"],[12804,1,"(ᄆ)"],[12805,1,"(ᄇ)"],[12806,1,"(ᄉ)"],[12807,1,"(ᄋ)"],[12808,1,"(ᄌ)"],[12809,1,"(ᄎ)"],[12810,1,"(ᄏ)"],[12811,1,"(ᄐ)"],[12812,1,"(ᄑ)"],[12813,1,"(ᄒ)"],[12814,1,"(가)"],[12815,1,"(나)"],[12816,1,"(다)"],[12817,1,"(라)"],[12818,1,"(마)"],[12819,1,"(바)"],[12820,1,"(사)"],[12821,1,"(아)"],[12822,1,"(자)"],[12823,1,"(차)"],[12824,1,"(카)"],[12825,1,"(타)"],[12826,1,"(파)"],[12827,1,"(하)"],[12828,1,"(주)"],[12829,1,"(오전)"],[12830,1,"(오후)"],[12831,3],[12832,1,"(一)"],[12833,1,"(二)"],[12834,1,"(三)"],[12835,1,"(四)"],[12836,1,"(五)"],[12837,1,"(六)"],[12838,1,"(七)"],[12839,1,"(八)"],[12840,1,"(九)"],[12841,1,"(十)"],[12842,1,"(月)"],[12843,1,"(火)"],[12844,1,"(水)"],[12845,1,"(木)"],[12846,1,"(金)"],[12847,1,"(土)"],[12848,1,"(日)"],[12849,1,"(株)"],[12850,1,"(有)"],[12851,1,"(社)"],[12852,1,"(名)"],[12853,1,"(特)"],[12854,1,"(財)"],[12855,1,"(祝)"],[12856,1,"(労)"],[12857,1,"(代)"],[12858,1,"(呼)"],[12859,1,"(学)"],[12860,1,"(監)"],[12861,1,"(企)"],[12862,1,"(資)"],[12863,1,"(協)"],[12864,1,"(祭)"],[12865,1,"(休)"],[12866,1,"(自)"],[12867,1,"(至)"],[12868,1,"問"],[12869,1,"幼"],[12870,1,"文"],[12871,1,"箏"],[[12872,12879],2],[12880,1,"pte"],[12881,1,"21"],[12882,1,"22"],[12883,1,"23"],[12884,1,"24"],[12885,1,"25"],[12886,1,"26"],[12887,1,"27"],[12888,1,"28"],[12889,1,"29"],[12890,1,"30"],[12891,1,"31"],[12892,1,"32"],[12893,1,"33"],[12894,1,"34"],[12895,1,"35"],[12896,1,"ᄀ"],[12897,1,"ᄂ"],[12898,1,"ᄃ"],[12899,1,"ᄅ"],[12900,1,"ᄆ"],[12901,1,"ᄇ"],[12902,1,"ᄉ"],[12903,1,"ᄋ"],[12904,1,"ᄌ"],[12905,1,"ᄎ"],[12906,1,"ᄏ"],[12907,1,"ᄐ"],[12908,1,"ᄑ"],[12909,1,"ᄒ"],[12910,1,"가"],[12911,1,"나"],[12912,1,"다"],[12913,1,"라"],[12914,1,"마"],[12915,1,"바"],[12916,1,"사"],[12917,1,"아"],[12918,1,"자"],[12919,1,"차"],[12920,1,"카"],[12921,1,"타"],[12922,1,"파"],[12923,1,"하"],[12924,1,"참고"],[12925,1,"주의"],[12926,1,"우"],[12927,2],[12928,1,"一"],[12929,1,"二"],[12930,1,"三"],[12931,1,"四"],[12932,1,"五"],[12933,1,"六"],[12934,1,"七"],[12935,1,"八"],[12936,1,"九"],[12937,1,"十"],[12938,1,"月"],[12939,1,"火"],[12940,1,"水"],[12941,1,"木"],[12942,1,"金"],[12943,1,"土"],[12944,1,"日"],[12945,1,"株"],[12946,1,"有"],[12947,1,"社"],[12948,1,"名"],[12949,1,"特"],[12950,1,"財"],[12951,1,"祝"],[12952,1,"労"],[12953,1,"秘"],[12954,1,"男"],[12955,1,"女"],[12956,1,"適"],[12957,1,"優"],[12958,1,"印"],[12959,1,"注"],[12960,1,"項"],[12961,1,"休"],[12962,1,"写"],[12963,1,"正"],[12964,1,"上"],[12965,1,"中"],[12966,1,"下"],[12967,1,"左"],[12968,1,"右"],[12969,1,"医"],[12970,1,"宗"],[12971,1,"学"],[12972,1,"監"],[12973,1,"企"],[12974,1,"資"],[12975,1,"協"],[12976,1,"夜"],[12977,1,"36"],[12978,1,"37"],[12979,1,"38"],[12980,1,"39"],[12981,1,"40"],[12982,1,"41"],[12983,1,"42"],[12984,1,"43"],[12985,1,"44"],[12986,1,"45"],[12987,1,"46"],[12988,1,"47"],[12989,1,"48"],[12990,1,"49"],[12991,1,"50"],[12992,1,"1月"],[12993,1,"2月"],[12994,1,"3月"],[12995,1,"4月"],[12996,1,"5月"],[12997,1,"6月"],[12998,1,"7月"],[12999,1,"8月"],[13000,1,"9月"],[13001,1,"10月"],[13002,1,"11月"],[13003,1,"12月"],[13004,1,"hg"],[13005,1,"erg"],[13006,1,"ev"],[13007,1,"ltd"],[13008,1,"ア"],[13009,1,"イ"],[13010,1,"ウ"],[13011,1,"エ"],[13012,1,"オ"],[13013,1,"カ"],[13014,1,"キ"],[13015,1,"ク"],[13016,1,"ケ"],[13017,1,"コ"],[13018,1,"サ"],[13019,1,"シ"],[13020,1,"ス"],[13021,1,"セ"],[13022,1,"ソ"],[13023,1,"タ"],[13024,1,"チ"],[13025,1,"ツ"],[13026,1,"テ"],[13027,1,"ト"],[13028,1,"ナ"],[13029,1,"ニ"],[13030,1,"ヌ"],[13031,1,"ネ"],[13032,1,"ノ"],[13033,1,"ハ"],[13034,1,"ヒ"],[13035,1,"フ"],[13036,1,"ヘ"],[13037,1,"ホ"],[13038,1,"マ"],[13039,1,"ミ"],[13040,1,"ム"],[13041,1,"メ"],[13042,1,"モ"],[13043,1,"ヤ"],[13044,1,"ユ"],[13045,1,"ヨ"],[13046,1,"ラ"],[13047,1,"リ"],[13048,1,"ル"],[13049,1,"レ"],[13050,1,"ロ"],[13051,1,"ワ"],[13052,1,"ヰ"],[13053,1,"ヱ"],[13054,1,"ヲ"],[13055,1,"令和"],[13056,1,"アパート"],[13057,1,"アルファ"],[13058,1,"アンペア"],[13059,1,"アール"],[13060,1,"イニング"],[13061,1,"インチ"],[13062,1,"ウォン"],[13063,1,"エスクード"],[13064,1,"エーカー"],[13065,1,"オンス"],[13066,1,"オーム"],[13067,1,"カイリ"],[13068,1,"カラット"],[13069,1,"カロリー"],[13070,1,"ガロン"],[13071,1,"ガンマ"],[13072,1,"ギガ"],[13073,1,"ギニー"],[13074,1,"キュリー"],[13075,1,"ギルダー"],[13076,1,"キロ"],[13077,1,"キログラム"],[13078,1,"キロメートル"],[13079,1,"キロワット"],[13080,1,"グラム"],[13081,1,"グラムトン"],[13082,1,"クルゼイロ"],[13083,1,"クローネ"],[13084,1,"ケース"],[13085,1,"コルナ"],[13086,1,"コーポ"],[13087,1,"サイクル"],[13088,1,"サンチーム"],[13089,1,"シリング"],[13090,1,"センチ"],[13091,1,"セント"],[13092,1,"ダース"],[13093,1,"デシ"],[13094,1,"ドル"],[13095,1,"トン"],[13096,1,"ナノ"],[13097,1,"ノット"],[13098,1,"ハイツ"],[13099,1,"パーセント"],[13100,1,"パーツ"],[13101,1,"バーレル"],[13102,1,"ピアストル"],[13103,1,"ピクル"],[13104,1,"ピコ"],[13105,1,"ビル"],[13106,1,"ファラッド"],[13107,1,"フィート"],[13108,1,"ブッシェル"],[13109,1,"フラン"],[13110,1,"ヘクタール"],[13111,1,"ペソ"],[13112,1,"ペニヒ"],[13113,1,"ヘルツ"],[13114,1,"ペンス"],[13115,1,"ページ"],[13116,1,"ベータ"],[13117,1,"ポイント"],[13118,1,"ボルト"],[13119,1,"ホン"],[13120,1,"ポンド"],[13121,1,"ホール"],[13122,1,"ホーン"],[13123,1,"マイクロ"],[13124,1,"マイル"],[13125,1,"マッハ"],[13126,1,"マルク"],[13127,1,"マンション"],[13128,1,"ミクロン"],[13129,1,"ミリ"],[13130,1,"ミリバール"],[13131,1,"メガ"],[13132,1,"メガトン"],[13133,1,"メートル"],[13134,1,"ヤード"],[13135,1,"ヤール"],[13136,1,"ユアン"],[13137,1,"リットル"],[13138,1,"リラ"],[13139,1,"ルピー"],[13140,1,"ルーブル"],[13141,1,"レム"],[13142,1,"レントゲン"],[13143,1,"ワット"],[13144,1,"0点"],[13145,1,"1点"],[13146,1,"2点"],[13147,1,"3点"],[13148,1,"4点"],[13149,1,"5点"],[13150,1,"6点"],[13151,1,"7点"],[13152,1,"8点"],[13153,1,"9点"],[13154,1,"10点"],[13155,1,"11点"],[13156,1,"12点"],[13157,1,"13点"],[13158,1,"14点"],[13159,1,"15点"],[13160,1,"16点"],[13161,1,"17点"],[13162,1,"18点"],[13163,1,"19点"],[13164,1,"20点"],[13165,1,"21点"],[13166,1,"22点"],[13167,1,"23点"],[13168,1,"24点"],[13169,1,"hpa"],[13170,1,"da"],[13171,1,"au"],[13172,1,"bar"],[13173,1,"ov"],[13174,1,"pc"],[13175,1,"dm"],[13176,1,"dm2"],[13177,1,"dm3"],[13178,1,"iu"],[13179,1,"平成"],[13180,1,"昭和"],[13181,1,"大正"],[13182,1,"明治"],[13183,1,"株式会社"],[13184,1,"pa"],[13185,1,"na"],[13186,1,"μa"],[13187,1,"ma"],[13188,1,"ka"],[13189,1,"kb"],[13190,1,"mb"],[13191,1,"gb"],[13192,1,"cal"],[13193,1,"kcal"],[13194,1,"pf"],[13195,1,"nf"],[13196,1,"μf"],[13197,1,"μg"],[13198,1,"mg"],[13199,1,"kg"],[13200,1,"hz"],[13201,1,"khz"],[13202,1,"mhz"],[13203,1,"ghz"],[13204,1,"thz"],[13205,1,"μl"],[13206,1,"ml"],[13207,1,"dl"],[13208,1,"kl"],[13209,1,"fm"],[13210,1,"nm"],[13211,1,"μm"],[13212,1,"mm"],[13213,1,"cm"],[13214,1,"km"],[13215,1,"mm2"],[13216,1,"cm2"],[13217,1,"m2"],[13218,1,"km2"],[13219,1,"mm3"],[13220,1,"cm3"],[13221,1,"m3"],[13222,1,"km3"],[13223,1,"m∕s"],[13224,1,"m∕s2"],[13225,1,"pa"],[13226,1,"kpa"],[13227,1,"mpa"],[13228,1,"gpa"],[13229,1,"rad"],[13230,1,"rad∕s"],[13231,1,"rad∕s2"],[13232,1,"ps"],[13233,1,"ns"],[13234,1,"μs"],[13235,1,"ms"],[13236,1,"pv"],[13237,1,"nv"],[13238,1,"μv"],[13239,1,"mv"],[13240,1,"kv"],[13241,1,"mv"],[13242,1,"pw"],[13243,1,"nw"],[13244,1,"μw"],[13245,1,"mw"],[13246,1,"kw"],[13247,1,"mw"],[13248,1,"kω"],[13249,1,"mω"],[13250,3],[13251,1,"bq"],[13252,1,"cc"],[13253,1,"cd"],[13254,1,"c∕kg"],[13255,3],[13256,1,"db"],[13257,1,"gy"],[13258,1,"ha"],[13259,1,"hp"],[13260,1,"in"],[13261,1,"kk"],[13262,1,"km"],[13263,1,"kt"],[13264,1,"lm"],[13265,1,"ln"],[13266,1,"log"],[13267,1,"lx"],[13268,1,"mb"],[13269,1,"mil"],[13270,1,"mol"],[13271,1,"ph"],[13272,3],[13273,1,"ppm"],[13274,1,"pr"],[13275,1,"sr"],[13276,1,"sv"],[13277,1,"wb"],[13278,1,"v∕m"],[13279,1,"a∕m"],[13280,1,"1日"],[13281,1,"2日"],[13282,1,"3日"],[13283,1,"4日"],[13284,1,"5日"],[13285,1,"6日"],[13286,1,"7日"],[13287,1,"8日"],[13288,1,"9日"],[13289,1,"10日"],[13290,1,"11日"],[13291,1,"12日"],[13292,1,"13日"],[13293,1,"14日"],[13294,1,"15日"],[13295,1,"16日"],[13296,1,"17日"],[13297,1,"18日"],[13298,1,"19日"],[13299,1,"20日"],[13300,1,"21日"],[13301,1,"22日"],[13302,1,"23日"],[13303,1,"24日"],[13304,1,"25日"],[13305,1,"26日"],[13306,1,"27日"],[13307,1,"28日"],[13308,1,"29日"],[13309,1,"30日"],[13310,1,"31日"],[13311,1,"gal"],[[13312,19893],2],[[19894,19903],2],[[19904,19967],2],[[19968,40869],2],[[40870,40891],2],[[40892,40899],2],[[40900,40907],2],[40908,2],[[40909,40917],2],[[40918,40938],2],[[40939,40943],2],[[40944,40956],2],[[40957,40959],2],[[40960,42124],2],[[42125,42127],3],[[42128,42145],2],[[42146,42147],2],[[42148,42163],2],[42164,2],[[42165,42176],2],[42177,2],[[42178,42180],2],[42181,2],[42182,2],[[42183,42191],3],[[42192,42237],2],[[42238,42239],2],[[42240,42508],2],[[42509,42511],2],[[42512,42539],2],[[42540,42559],3],[42560,1,"ꙁ"],[42561,2],[42562,1,"ꙃ"],[42563,2],[42564,1,"ꙅ"],[42565,2],[42566,1,"ꙇ"],[42567,2],[42568,1,"ꙉ"],[42569,2],[42570,1,"ꙋ"],[42571,2],[42572,1,"ꙍ"],[42573,2],[42574,1,"ꙏ"],[42575,2],[42576,1,"ꙑ"],[42577,2],[42578,1,"ꙓ"],[42579,2],[42580,1,"ꙕ"],[42581,2],[42582,1,"ꙗ"],[42583,2],[42584,1,"ꙙ"],[42585,2],[42586,1,"ꙛ"],[42587,2],[42588,1,"ꙝ"],[42589,2],[42590,1,"ꙟ"],[42591,2],[42592,1,"ꙡ"],[42593,2],[42594,1,"ꙣ"],[42595,2],[42596,1,"ꙥ"],[42597,2],[42598,1,"ꙧ"],[42599,2],[42600,1,"ꙩ"],[42601,2],[42602,1,"ꙫ"],[42603,2],[42604,1,"ꙭ"],[[42605,42607],2],[[42608,42611],2],[[42612,42619],2],[[42620,42621],2],[42622,2],[42623,2],[42624,1,"ꚁ"],[42625,2],[42626,1,"ꚃ"],[42627,2],[42628,1,"ꚅ"],[42629,2],[42630,1,"ꚇ"],[42631,2],[42632,1,"ꚉ"],[42633,2],[42634,1,"ꚋ"],[42635,2],[42636,1,"ꚍ"],[42637,2],[42638,1,"ꚏ"],[42639,2],[42640,1,"ꚑ"],[42641,2],[42642,1,"ꚓ"],[42643,2],[42644,1,"ꚕ"],[42645,2],[42646,1,"ꚗ"],[42647,2],[42648,1,"ꚙ"],[42649,2],[42650,1,"ꚛ"],[42651,2],[42652,1,"ъ"],[42653,1,"ь"],[42654,2],[42655,2],[[42656,42725],2],[[42726,42735],2],[[42736,42737],2],[[42738,42743],2],[[42744,42751],3],[[42752,42774],2],[[42775,42778],2],[[42779,42783],2],[[42784,42785],2],[42786,1,"ꜣ"],[42787,2],[42788,1,"ꜥ"],[42789,2],[42790,1,"ꜧ"],[42791,2],[42792,1,"ꜩ"],[42793,2],[42794,1,"ꜫ"],[42795,2],[42796,1,"ꜭ"],[42797,2],[42798,1,"ꜯ"],[[42799,42801],2],[42802,1,"ꜳ"],[42803,2],[42804,1,"ꜵ"],[42805,2],[42806,1,"ꜷ"],[42807,2],[42808,1,"ꜹ"],[42809,2],[42810,1,"ꜻ"],[42811,2],[42812,1,"ꜽ"],[42813,2],[42814,1,"ꜿ"],[42815,2],[42816,1,"ꝁ"],[42817,2],[42818,1,"ꝃ"],[42819,2],[42820,1,"ꝅ"],[42821,2],[42822,1,"ꝇ"],[42823,2],[42824,1,"ꝉ"],[42825,2],[42826,1,"ꝋ"],[42827,2],[42828,1,"ꝍ"],[42829,2],[42830,1,"ꝏ"],[42831,2],[42832,1,"ꝑ"],[42833,2],[42834,1,"ꝓ"],[42835,2],[42836,1,"ꝕ"],[42837,2],[42838,1,"ꝗ"],[42839,2],[42840,1,"ꝙ"],[42841,2],[42842,1,"ꝛ"],[42843,2],[42844,1,"ꝝ"],[42845,2],[42846,1,"ꝟ"],[42847,2],[42848,1,"ꝡ"],[42849,2],[42850,1,"ꝣ"],[42851,2],[42852,1,"ꝥ"],[42853,2],[42854,1,"ꝧ"],[42855,2],[42856,1,"ꝩ"],[42857,2],[42858,1,"ꝫ"],[42859,2],[42860,1,"ꝭ"],[42861,2],[42862,1,"ꝯ"],[42863,2],[42864,1,"ꝯ"],[[42865,42872],2],[42873,1,"ꝺ"],[42874,2],[42875,1,"ꝼ"],[42876,2],[42877,1,"ᵹ"],[42878,1,"ꝿ"],[42879,2],[42880,1,"ꞁ"],[42881,2],[42882,1,"ꞃ"],[42883,2],[42884,1,"ꞅ"],[42885,2],[42886,1,"ꞇ"],[[42887,42888],2],[[42889,42890],2],[42891,1,"ꞌ"],[42892,2],[42893,1,"ɥ"],[42894,2],[42895,2],[42896,1,"ꞑ"],[42897,2],[42898,1,"ꞓ"],[42899,2],[[42900,42901],2],[42902,1,"ꞗ"],[42903,2],[42904,1,"ꞙ"],[42905,2],[42906,1,"ꞛ"],[42907,2],[42908,1,"ꞝ"],[42909,2],[42910,1,"ꞟ"],[42911,2],[42912,1,"ꞡ"],[42913,2],[42914,1,"ꞣ"],[42915,2],[42916,1,"ꞥ"],[42917,2],[42918,1,"ꞧ"],[42919,2],[42920,1,"ꞩ"],[42921,2],[42922,1,"ɦ"],[42923,1,"ɜ"],[42924,1,"ɡ"],[42925,1,"ɬ"],[42926,1,"ɪ"],[42927,2],[42928,1,"ʞ"],[42929,1,"ʇ"],[42930,1,"ʝ"],[42931,1,"ꭓ"],[42932,1,"ꞵ"],[42933,2],[42934,1,"ꞷ"],[42935,2],[42936,1,"ꞹ"],[42937,2],[42938,1,"ꞻ"],[42939,2],[42940,1,"ꞽ"],[42941,2],[42942,1,"ꞿ"],[42943,2],[42944,1,"ꟁ"],[42945,2],[42946,1,"ꟃ"],[42947,2],[42948,1,"ꞔ"],[42949,1,"ʂ"],[42950,1,"ᶎ"],[42951,1,"ꟈ"],[42952,2],[42953,1,"ꟊ"],[42954,2],[42955,1,"ɤ"],[42956,1,"ꟍ"],[42957,2],[[42958,42959],3],[42960,1,"ꟑ"],[42961,2],[42962,3],[42963,2],[42964,3],[42965,2],[42966,1,"ꟗ"],[42967,2],[42968,1,"ꟙ"],[42969,2],[42970,1,"ꟛ"],[42971,2],[42972,1,"ƛ"],[[42973,42993],3],[42994,1,"c"],[42995,1,"f"],[42996,1,"q"],[42997,1,"ꟶ"],[42998,2],[42999,2],[43000,1,"ħ"],[43001,1,"œ"],[43002,2],[[43003,43007],2],[[43008,43047],2],[[43048,43051],2],[43052,2],[[43053,43055],3],[[43056,43065],2],[[43066,43071],3],[[43072,43123],2],[[43124,43127],2],[[43128,43135],3],[[43136,43204],2],[43205,2],[[43206,43213],3],[[43214,43215],2],[[43216,43225],2],[[43226,43231],3],[[43232,43255],2],[[43256,43258],2],[43259,2],[43260,2],[43261,2],[[43262,43263],2],[[43264,43309],2],[[43310,43311],2],[[43312,43347],2],[[43348,43358],3],[43359,2],[[43360,43388],2],[[43389,43391],3],[[43392,43456],2],[[43457,43469],2],[43470,3],[[43471,43481],2],[[43482,43485],3],[[43486,43487],2],[[43488,43518],2],[43519,3],[[43520,43574],2],[[43575,43583],3],[[43584,43597],2],[[43598,43599],3],[[43600,43609],2],[[43610,43611],3],[[43612,43615],2],[[43616,43638],2],[[43639,43641],2],[[43642,43643],2],[[43644,43647],2],[[43648,43714],2],[[43715,43738],3],[[43739,43741],2],[[43742,43743],2],[[43744,43759],2],[[43760,43761],2],[[43762,43766],2],[[43767,43776],3],[[43777,43782],2],[[43783,43784],3],[[43785,43790],2],[[43791,43792],3],[[43793,43798],2],[[43799,43807],3],[[43808,43814],2],[43815,3],[[43816,43822],2],[43823,3],[[43824,43866],2],[43867,2],[43868,1,"ꜧ"],[43869,1,"ꬷ"],[43870,1,"ɫ"],[43871,1,"ꭒ"],[[43872,43875],2],[[43876,43877],2],[[43878,43879],2],[43880,2],[43881,1,"ʍ"],[[43882,43883],2],[[43884,43887],3],[43888,1,"Ꭰ"],[43889,1,"Ꭱ"],[43890,1,"Ꭲ"],[43891,1,"Ꭳ"],[43892,1,"Ꭴ"],[43893,1,"Ꭵ"],[43894,1,"Ꭶ"],[43895,1,"Ꭷ"],[43896,1,"Ꭸ"],[43897,1,"Ꭹ"],[43898,1,"Ꭺ"],[43899,1,"Ꭻ"],[43900,1,"Ꭼ"],[43901,1,"Ꭽ"],[43902,1,"Ꭾ"],[43903,1,"Ꭿ"],[43904,1,"Ꮀ"],[43905,1,"Ꮁ"],[43906,1,"Ꮂ"],[43907,1,"Ꮃ"],[43908,1,"Ꮄ"],[43909,1,"Ꮅ"],[43910,1,"Ꮆ"],[43911,1,"Ꮇ"],[43912,1,"Ꮈ"],[43913,1,"Ꮉ"],[43914,1,"Ꮊ"],[43915,1,"Ꮋ"],[43916,1,"Ꮌ"],[43917,1,"Ꮍ"],[43918,1,"Ꮎ"],[43919,1,"Ꮏ"],[43920,1,"Ꮐ"],[43921,1,"Ꮑ"],[43922,1,"Ꮒ"],[43923,1,"Ꮓ"],[43924,1,"Ꮔ"],[43925,1,"Ꮕ"],[43926,1,"Ꮖ"],[43927,1,"Ꮗ"],[43928,1,"Ꮘ"],[43929,1,"Ꮙ"],[43930,1,"Ꮚ"],[43931,1,"Ꮛ"],[43932,1,"Ꮜ"],[43933,1,"Ꮝ"],[43934,1,"Ꮞ"],[43935,1,"Ꮟ"],[43936,1,"Ꮠ"],[43937,1,"Ꮡ"],[43938,1,"Ꮢ"],[43939,1,"Ꮣ"],[43940,1,"Ꮤ"],[43941,1,"Ꮥ"],[43942,1,"Ꮦ"],[43943,1,"Ꮧ"],[43944,1,"Ꮨ"],[43945,1,"Ꮩ"],[43946,1,"Ꮪ"],[43947,1,"Ꮫ"],[43948,1,"Ꮬ"],[43949,1,"Ꮭ"],[43950,1,"Ꮮ"],[43951,1,"Ꮯ"],[43952,1,"Ꮰ"],[43953,1,"Ꮱ"],[43954,1,"Ꮲ"],[43955,1,"Ꮳ"],[43956,1,"Ꮴ"],[43957,1,"Ꮵ"],[43958,1,"Ꮶ"],[43959,1,"Ꮷ"],[43960,1,"Ꮸ"],[43961,1,"Ꮹ"],[43962,1,"Ꮺ"],[43963,1,"Ꮻ"],[43964,1,"Ꮼ"],[43965,1,"Ꮽ"],[43966,1,"Ꮾ"],[43967,1,"Ꮿ"],[[43968,44010],2],[44011,2],[[44012,44013],2],[[44014,44015],3],[[44016,44025],2],[[44026,44031],3],[[44032,55203],2],[[55204,55215],3],[[55216,55238],2],[[55239,55242],3],[[55243,55291],2],[[55292,55295],3],[[55296,57343],3],[[57344,63743],3],[63744,1,"豈"],[63745,1,"更"],[63746,1,"車"],[63747,1,"賈"],[63748,1,"滑"],[63749,1,"串"],[63750,1,"句"],[[63751,63752],1,"龜"],[63753,1,"契"],[63754,1,"金"],[63755,1,"喇"],[63756,1,"奈"],[63757,1,"懶"],[63758,1,"癩"],[63759,1,"羅"],[63760,1,"蘿"],[63761,1,"螺"],[63762,1,"裸"],[63763,1,"邏"],[63764,1,"樂"],[63765,1,"洛"],[63766,1,"烙"],[63767,1,"珞"],[63768,1,"落"],[63769,1,"酪"],[63770,1,"駱"],[63771,1,"亂"],[63772,1,"卵"],[63773,1,"欄"],[63774,1,"爛"],[63775,1,"蘭"],[63776,1,"鸞"],[63777,1,"嵐"],[63778,1,"濫"],[63779,1,"藍"],[63780,1,"襤"],[63781,1,"拉"],[63782,1,"臘"],[63783,1,"蠟"],[63784,1,"廊"],[63785,1,"朗"],[63786,1,"浪"],[63787,1,"狼"],[63788,1,"郎"],[63789,1,"來"],[63790,1,"冷"],[63791,1,"勞"],[63792,1,"擄"],[63793,1,"櫓"],[63794,1,"爐"],[63795,1,"盧"],[63796,1,"老"],[63797,1,"蘆"],[63798,1,"虜"],[63799,1,"路"],[63800,1,"露"],[63801,1,"魯"],[63802,1,"鷺"],[63803,1,"碌"],[63804,1,"祿"],[63805,1,"綠"],[63806,1,"菉"],[63807,1,"錄"],[63808,1,"鹿"],[63809,1,"論"],[63810,1,"壟"],[63811,1,"弄"],[63812,1,"籠"],[63813,1,"聾"],[63814,1,"牢"],[63815,1,"磊"],[63816,1,"賂"],[63817,1,"雷"],[63818,1,"壘"],[63819,1,"屢"],[63820,1,"樓"],[63821,1,"淚"],[63822,1,"漏"],[63823,1,"累"],[63824,1,"縷"],[63825,1,"陋"],[63826,1,"勒"],[63827,1,"肋"],[63828,1,"凜"],[63829,1,"凌"],[63830,1,"稜"],[63831,1,"綾"],[63832,1,"菱"],[63833,1,"陵"],[63834,1,"讀"],[63835,1,"拏"],[63836,1,"樂"],[63837,1,"諾"],[63838,1,"丹"],[63839,1,"寧"],[63840,1,"怒"],[63841,1,"率"],[63842,1,"異"],[63843,1,"北"],[63844,1,"磻"],[63845,1,"便"],[63846,1,"復"],[63847,1,"不"],[63848,1,"泌"],[63849,1,"數"],[63850,1,"索"],[63851,1,"參"],[63852,1,"塞"],[63853,1,"省"],[63854,1,"葉"],[63855,1,"說"],[63856,1,"殺"],[63857,1,"辰"],[63858,1,"沈"],[63859,1,"拾"],[63860,1,"若"],[63861,1,"掠"],[63862,1,"略"],[63863,1,"亮"],[63864,1,"兩"],[63865,1,"凉"],[63866,1,"梁"],[63867,1,"糧"],[63868,1,"良"],[63869,1,"諒"],[63870,1,"量"],[63871,1,"勵"],[63872,1,"呂"],[63873,1,"女"],[63874,1,"廬"],[63875,1,"旅"],[63876,1,"濾"],[63877,1,"礪"],[63878,1,"閭"],[63879,1,"驪"],[63880,1,"麗"],[63881,1,"黎"],[63882,1,"力"],[63883,1,"曆"],[63884,1,"歷"],[63885,1,"轢"],[63886,1,"年"],[63887,1,"憐"],[63888,1,"戀"],[63889,1,"撚"],[63890,1,"漣"],[63891,1,"煉"],[63892,1,"璉"],[63893,1,"秊"],[63894,1,"練"],[63895,1,"聯"],[63896,1,"輦"],[63897,1,"蓮"],[63898,1,"連"],[63899,1,"鍊"],[63900,1,"列"],[63901,1,"劣"],[63902,1,"咽"],[63903,1,"烈"],[63904,1,"裂"],[63905,1,"說"],[63906,1,"廉"],[63907,1,"念"],[63908,1,"捻"],[63909,1,"殮"],[63910,1,"簾"],[63911,1,"獵"],[63912,1,"令"],[63913,1,"囹"],[63914,1,"寧"],[63915,1,"嶺"],[63916,1,"怜"],[63917,1,"玲"],[63918,1,"瑩"],[63919,1,"羚"],[63920,1,"聆"],[63921,1,"鈴"],[63922,1,"零"],[63923,1,"靈"],[63924,1,"領"],[63925,1,"例"],[63926,1,"禮"],[63927,1,"醴"],[63928,1,"隸"],[63929,1,"惡"],[63930,1,"了"],[63931,1,"僚"],[63932,1,"寮"],[63933,1,"尿"],[63934,1,"料"],[63935,1,"樂"],[63936,1,"燎"],[63937,1,"療"],[63938,1,"蓼"],[63939,1,"遼"],[63940,1,"龍"],[63941,1,"暈"],[63942,1,"阮"],[63943,1,"劉"],[63944,1,"杻"],[63945,1,"柳"],[63946,1,"流"],[63947,1,"溜"],[63948,1,"琉"],[63949,1,"留"],[63950,1,"硫"],[63951,1,"紐"],[63952,1,"類"],[63953,1,"六"],[63954,1,"戮"],[63955,1,"陸"],[63956,1,"倫"],[63957,1,"崙"],[63958,1,"淪"],[63959,1,"輪"],[63960,1,"律"],[63961,1,"慄"],[63962,1,"栗"],[63963,1,"率"],[63964,1,"隆"],[63965,1,"利"],[63966,1,"吏"],[63967,1,"履"],[63968,1,"易"],[63969,1,"李"],[63970,1,"梨"],[63971,1,"泥"],[63972,1,"理"],[63973,1,"痢"],[63974,1,"罹"],[63975,1,"裏"],[63976,1,"裡"],[63977,1,"里"],[63978,1,"離"],[63979,1,"匿"],[63980,1,"溺"],[63981,1,"吝"],[63982,1,"燐"],[63983,1,"璘"],[63984,1,"藺"],[63985,1,"隣"],[63986,1,"鱗"],[63987,1,"麟"],[63988,1,"林"],[63989,1,"淋"],[63990,1,"臨"],[63991,1,"立"],[63992,1,"笠"],[63993,1,"粒"],[63994,1,"狀"],[63995,1,"炙"],[63996,1,"識"],[63997,1,"什"],[63998,1,"茶"],[63999,1,"刺"],[64000,1,"切"],[64001,1,"度"],[64002,1,"拓"],[64003,1,"糖"],[64004,1,"宅"],[64005,1,"洞"],[64006,1,"暴"],[64007,1,"輻"],[64008,1,"行"],[64009,1,"降"],[64010,1,"見"],[64011,1,"廓"],[64012,1,"兀"],[64013,1,"嗀"],[[64014,64015],2],[64016,1,"塚"],[64017,2],[64018,1,"晴"],[[64019,64020],2],[64021,1,"凞"],[64022,1,"猪"],[64023,1,"益"],[64024,1,"礼"],[64025,1,"神"],[64026,1,"祥"],[64027,1,"福"],[64028,1,"靖"],[64029,1,"精"],[64030,1,"羽"],[64031,2],[64032,1,"蘒"],[64033,2],[64034,1,"諸"],[[64035,64036],2],[64037,1,"逸"],[64038,1,"都"],[[64039,64041],2],[64042,1,"飯"],[64043,1,"飼"],[64044,1,"館"],[64045,1,"鶴"],[64046,1,"郞"],[64047,1,"隷"],[64048,1,"侮"],[64049,1,"僧"],[64050,1,"免"],[64051,1,"勉"],[64052,1,"勤"],[64053,1,"卑"],[64054,1,"喝"],[64055,1,"嘆"],[64056,1,"器"],[64057,1,"塀"],[64058,1,"墨"],[64059,1,"層"],[64060,1,"屮"],[64061,1,"悔"],[64062,1,"慨"],[64063,1,"憎"],[64064,1,"懲"],[64065,1,"敏"],[64066,1,"既"],[64067,1,"暑"],[64068,1,"梅"],[64069,1,"海"],[64070,1,"渚"],[64071,1,"漢"],[64072,1,"煮"],[64073,1,"爫"],[64074,1,"琢"],[64075,1,"碑"],[64076,1,"社"],[64077,1,"祉"],[64078,1,"祈"],[64079,1,"祐"],[64080,1,"祖"],[64081,1,"祝"],[64082,1,"禍"],[64083,1,"禎"],[64084,1,"穀"],[64085,1,"突"],[64086,1,"節"],[64087,1,"練"],[64088,1,"縉"],[64089,1,"繁"],[64090,1,"署"],[64091,1,"者"],[64092,1,"臭"],[[64093,64094],1,"艹"],[64095,1,"著"],[64096,1,"褐"],[64097,1,"視"],[64098,1,"謁"],[64099,1,"謹"],[64100,1,"賓"],[64101,1,"贈"],[64102,1,"辶"],[64103,1,"逸"],[64104,1,"難"],[64105,1,"響"],[64106,1,"頻"],[64107,1,"恵"],[64108,1,"𤋮"],[64109,1,"舘"],[[64110,64111],3],[64112,1,"並"],[64113,1,"况"],[64114,1,"全"],[64115,1,"侀"],[64116,1,"充"],[64117,1,"冀"],[64118,1,"勇"],[64119,1,"勺"],[64120,1,"喝"],[64121,1,"啕"],[64122,1,"喙"],[64123,1,"嗢"],[64124,1,"塚"],[64125,1,"墳"],[64126,1,"奄"],[64127,1,"奔"],[64128,1,"婢"],[64129,1,"嬨"],[64130,1,"廒"],[64131,1,"廙"],[64132,1,"彩"],[64133,1,"徭"],[64134,1,"惘"],[64135,1,"慎"],[64136,1,"愈"],[64137,1,"憎"],[64138,1,"慠"],[64139,1,"懲"],[64140,1,"戴"],[64141,1,"揄"],[64142,1,"搜"],[64143,1,"摒"],[64144,1,"敖"],[64145,1,"晴"],[64146,1,"朗"],[64147,1,"望"],[64148,1,"杖"],[64149,1,"歹"],[64150,1,"殺"],[64151,1,"流"],[64152,1,"滛"],[64153,1,"滋"],[64154,1,"漢"],[64155,1,"瀞"],[64156,1,"煮"],[64157,1,"瞧"],[64158,1,"爵"],[64159,1,"犯"],[64160,1,"猪"],[64161,1,"瑱"],[64162,1,"甆"],[64163,1,"画"],[64164,1,"瘝"],[64165,1,"瘟"],[64166,1,"益"],[64167,1,"盛"],[64168,1,"直"],[64169,1,"睊"],[64170,1,"着"],[64171,1,"磌"],[64172,1,"窱"],[64173,1,"節"],[64174,1,"类"],[64175,1,"絛"],[64176,1,"練"],[64177,1,"缾"],[64178,1,"者"],[64179,1,"荒"],[64180,1,"華"],[64181,1,"蝹"],[64182,1,"襁"],[64183,1,"覆"],[64184,1,"視"],[64185,1,"調"],[64186,1,"諸"],[64187,1,"請"],[64188,1,"謁"],[64189,1,"諾"],[64190,1,"諭"],[64191,1,"謹"],[64192,1,"變"],[64193,1,"贈"],[64194,1,"輸"],[64195,1,"遲"],[64196,1,"醙"],[64197,1,"鉶"],[64198,1,"陼"],[64199,1,"難"],[64200,1,"靖"],[64201,1,"韛"],[64202,1,"響"],[64203,1,"頋"],[64204,1,"頻"],[64205,1,"鬒"],[64206,1,"龜"],[64207,1,"𢡊"],[64208,1,"𢡄"],[64209,1,"𣏕"],[64210,1,"㮝"],[64211,1,"䀘"],[64212,1,"䀹"],[64213,1,"𥉉"],[64214,1,"𥳐"],[64215,1,"𧻓"],[64216,1,"齃"],[64217,1,"龎"],[[64218,64255],3],[64256,1,"ff"],[64257,1,"fi"],[64258,1,"fl"],[64259,1,"ffi"],[64260,1,"ffl"],[[64261,64262],1,"st"],[[64263,64274],3],[64275,1,"մն"],[64276,1,"մե"],[64277,1,"մի"],[64278,1,"վն"],[64279,1,"մխ"],[[64280,64284],3],[64285,1,"יִ"],[64286,2],[64287,1,"ײַ"],[64288,1,"ע"],[64289,1,"א"],[64290,1,"ד"],[64291,1,"ה"],[64292,1,"כ"],[64293,1,"ל"],[64294,1,"ם"],[64295,1,"ר"],[64296,1,"ת"],[64297,1,"+"],[64298,1,"שׁ"],[64299,1,"שׂ"],[64300,1,"שּׁ"],[64301,1,"שּׂ"],[64302,1,"אַ"],[64303,1,"אָ"],[64304,1,"אּ"],[64305,1,"בּ"],[64306,1,"גּ"],[64307,1,"דּ"],[64308,1,"הּ"],[64309,1,"וּ"],[64310,1,"זּ"],[64311,3],[64312,1,"טּ"],[64313,1,"יּ"],[64314,1,"ךּ"],[64315,1,"כּ"],[64316,1,"לּ"],[64317,3],[64318,1,"מּ"],[64319,3],[64320,1,"נּ"],[64321,1,"סּ"],[64322,3],[64323,1,"ףּ"],[64324,1,"פּ"],[64325,3],[64326,1,"צּ"],[64327,1,"קּ"],[64328,1,"רּ"],[64329,1,"שּ"],[64330,1,"תּ"],[64331,1,"וֹ"],[64332,1,"בֿ"],[64333,1,"כֿ"],[64334,1,"פֿ"],[64335,1,"אל"],[[64336,64337],1,"ٱ"],[[64338,64341],1,"ٻ"],[[64342,64345],1,"پ"],[[64346,64349],1,"ڀ"],[[64350,64353],1,"ٺ"],[[64354,64357],1,"ٿ"],[[64358,64361],1,"ٹ"],[[64362,64365],1,"ڤ"],[[64366,64369],1,"ڦ"],[[64370,64373],1,"ڄ"],[[64374,64377],1,"ڃ"],[[64378,64381],1,"چ"],[[64382,64385],1,"ڇ"],[[64386,64387],1,"ڍ"],[[64388,64389],1,"ڌ"],[[64390,64391],1,"ڎ"],[[64392,64393],1,"ڈ"],[[64394,64395],1,"ژ"],[[64396,64397],1,"ڑ"],[[64398,64401],1,"ک"],[[64402,64405],1,"گ"],[[64406,64409],1,"ڳ"],[[64410,64413],1,"ڱ"],[[64414,64415],1,"ں"],[[64416,64419],1,"ڻ"],[[64420,64421],1,"ۀ"],[[64422,64425],1,"ہ"],[[64426,64429],1,"ھ"],[[64430,64431],1,"ے"],[[64432,64433],1,"ۓ"],[[64434,64449],2],[64450,2],[[64451,64466],3],[[64467,64470],1,"ڭ"],[[64471,64472],1,"ۇ"],[[64473,64474],1,"ۆ"],[[64475,64476],1,"ۈ"],[64477,1,"ۇٴ"],[[64478,64479],1,"ۋ"],[[64480,64481],1,"ۅ"],[[64482,64483],1,"ۉ"],[[64484,64487],1,"ې"],[[64488,64489],1,"ى"],[[64490,64491],1,"ئا"],[[64492,64493],1,"ئە"],[[64494,64495],1,"ئو"],[[64496,64497],1,"ئۇ"],[[64498,64499],1,"ئۆ"],[[64500,64501],1,"ئۈ"],[[64502,64504],1,"ئې"],[[64505,64507],1,"ئى"],[[64508,64511],1,"ی"],[64512,1,"ئج"],[64513,1,"ئح"],[64514,1,"ئم"],[64515,1,"ئى"],[64516,1,"ئي"],[64517,1,"بج"],[64518,1,"بح"],[64519,1,"بخ"],[64520,1,"بم"],[64521,1,"بى"],[64522,1,"بي"],[64523,1,"تج"],[64524,1,"تح"],[64525,1,"تخ"],[64526,1,"تم"],[64527,1,"تى"],[64528,1,"تي"],[64529,1,"ثج"],[64530,1,"ثم"],[64531,1,"ثى"],[64532,1,"ثي"],[64533,1,"جح"],[64534,1,"جم"],[64535,1,"حج"],[64536,1,"حم"],[64537,1,"خج"],[64538,1,"خح"],[64539,1,"خم"],[64540,1,"سج"],[64541,1,"سح"],[64542,1,"سخ"],[64543,1,"سم"],[64544,1,"صح"],[64545,1,"صم"],[64546,1,"ضج"],[64547,1,"ضح"],[64548,1,"ضخ"],[64549,1,"ضم"],[64550,1,"طح"],[64551,1,"طم"],[64552,1,"ظم"],[64553,1,"عج"],[64554,1,"عم"],[64555,1,"غج"],[64556,1,"غم"],[64557,1,"فج"],[64558,1,"فح"],[64559,1,"فخ"],[64560,1,"فم"],[64561,1,"فى"],[64562,1,"في"],[64563,1,"قح"],[64564,1,"قم"],[64565,1,"قى"],[64566,1,"قي"],[64567,1,"كا"],[64568,1,"كج"],[64569,1,"كح"],[64570,1,"كخ"],[64571,1,"كل"],[64572,1,"كم"],[64573,1,"كى"],[64574,1,"كي"],[64575,1,"لج"],[64576,1,"لح"],[64577,1,"لخ"],[64578,1,"لم"],[64579,1,"لى"],[64580,1,"لي"],[64581,1,"مج"],[64582,1,"مح"],[64583,1,"مخ"],[64584,1,"مم"],[64585,1,"مى"],[64586,1,"مي"],[64587,1,"نج"],[64588,1,"نح"],[64589,1,"نخ"],[64590,1,"نم"],[64591,1,"نى"],[64592,1,"ني"],[64593,1,"هج"],[64594,1,"هم"],[64595,1,"هى"],[64596,1,"هي"],[64597,1,"يج"],[64598,1,"يح"],[64599,1,"يخ"],[64600,1,"يم"],[64601,1,"يى"],[64602,1,"يي"],[64603,1,"ذٰ"],[64604,1,"رٰ"],[64605,1,"ىٰ"],[64606,1," ٌّ"],[64607,1," ٍّ"],[64608,1," َّ"],[64609,1," ُّ"],[64610,1," ِّ"],[64611,1," ّٰ"],[64612,1,"ئر"],[64613,1,"ئز"],[64614,1,"ئم"],[64615,1,"ئن"],[64616,1,"ئى"],[64617,1,"ئي"],[64618,1,"بر"],[64619,1,"بز"],[64620,1,"بم"],[64621,1,"بن"],[64622,1,"بى"],[64623,1,"بي"],[64624,1,"تر"],[64625,1,"تز"],[64626,1,"تم"],[64627,1,"تن"],[64628,1,"تى"],[64629,1,"تي"],[64630,1,"ثر"],[64631,1,"ثز"],[64632,1,"ثم"],[64633,1,"ثن"],[64634,1,"ثى"],[64635,1,"ثي"],[64636,1,"فى"],[64637,1,"في"],[64638,1,"قى"],[64639,1,"قي"],[64640,1,"كا"],[64641,1,"كل"],[64642,1,"كم"],[64643,1,"كى"],[64644,1,"كي"],[64645,1,"لم"],[64646,1,"لى"],[64647,1,"لي"],[64648,1,"ما"],[64649,1,"مم"],[64650,1,"نر"],[64651,1,"نز"],[64652,1,"نم"],[64653,1,"نن"],[64654,1,"نى"],[64655,1,"ني"],[64656,1,"ىٰ"],[64657,1,"ير"],[64658,1,"يز"],[64659,1,"يم"],[64660,1,"ين"],[64661,1,"يى"],[64662,1,"يي"],[64663,1,"ئج"],[64664,1,"ئح"],[64665,1,"ئخ"],[64666,1,"ئم"],[64667,1,"ئه"],[64668,1,"بج"],[64669,1,"بح"],[64670,1,"بخ"],[64671,1,"بم"],[64672,1,"به"],[64673,1,"تج"],[64674,1,"تح"],[64675,1,"تخ"],[64676,1,"تم"],[64677,1,"ته"],[64678,1,"ثم"],[64679,1,"جح"],[64680,1,"جم"],[64681,1,"حج"],[64682,1,"حم"],[64683,1,"خج"],[64684,1,"خم"],[64685,1,"سج"],[64686,1,"سح"],[64687,1,"سخ"],[64688,1,"سم"],[64689,1,"صح"],[64690,1,"صخ"],[64691,1,"صم"],[64692,1,"ضج"],[64693,1,"ضح"],[64694,1,"ضخ"],[64695,1,"ضم"],[64696,1,"طح"],[64697,1,"ظم"],[64698,1,"عج"],[64699,1,"عم"],[64700,1,"غج"],[64701,1,"غم"],[64702,1,"فج"],[64703,1,"فح"],[64704,1,"فخ"],[64705,1,"فم"],[64706,1,"قح"],[64707,1,"قم"],[64708,1,"كج"],[64709,1,"كح"],[64710,1,"كخ"],[64711,1,"كل"],[64712,1,"كم"],[64713,1,"لج"],[64714,1,"لح"],[64715,1,"لخ"],[64716,1,"لم"],[64717,1,"له"],[64718,1,"مج"],[64719,1,"مح"],[64720,1,"مخ"],[64721,1,"مم"],[64722,1,"نج"],[64723,1,"نح"],[64724,1,"نخ"],[64725,1,"نم"],[64726,1,"نه"],[64727,1,"هج"],[64728,1,"هم"],[64729,1,"هٰ"],[64730,1,"يج"],[64731,1,"يح"],[64732,1,"يخ"],[64733,1,"يم"],[64734,1,"يه"],[64735,1,"ئم"],[64736,1,"ئه"],[64737,1,"بم"],[64738,1,"به"],[64739,1,"تم"],[64740,1,"ته"],[64741,1,"ثم"],[64742,1,"ثه"],[64743,1,"سم"],[64744,1,"سه"],[64745,1,"شم"],[64746,1,"شه"],[64747,1,"كل"],[64748,1,"كم"],[64749,1,"لم"],[64750,1,"نم"],[64751,1,"نه"],[64752,1,"يم"],[64753,1,"يه"],[64754,1,"ـَّ"],[64755,1,"ـُّ"],[64756,1,"ـِّ"],[64757,1,"طى"],[64758,1,"طي"],[64759,1,"عى"],[64760,1,"عي"],[64761,1,"غى"],[64762,1,"غي"],[64763,1,"سى"],[64764,1,"سي"],[64765,1,"شى"],[64766,1,"شي"],[64767,1,"حى"],[64768,1,"حي"],[64769,1,"جى"],[64770,1,"جي"],[64771,1,"خى"],[64772,1,"خي"],[64773,1,"صى"],[64774,1,"صي"],[64775,1,"ضى"],[64776,1,"ضي"],[64777,1,"شج"],[64778,1,"شح"],[64779,1,"شخ"],[64780,1,"شم"],[64781,1,"شر"],[64782,1,"سر"],[64783,1,"صر"],[64784,1,"ضر"],[64785,1,"طى"],[64786,1,"طي"],[64787,1,"عى"],[64788,1,"عي"],[64789,1,"غى"],[64790,1,"غي"],[64791,1,"سى"],[64792,1,"سي"],[64793,1,"شى"],[64794,1,"شي"],[64795,1,"حى"],[64796,1,"حي"],[64797,1,"جى"],[64798,1,"جي"],[64799,1,"خى"],[64800,1,"خي"],[64801,1,"صى"],[64802,1,"صي"],[64803,1,"ضى"],[64804,1,"ضي"],[64805,1,"شج"],[64806,1,"شح"],[64807,1,"شخ"],[64808,1,"شم"],[64809,1,"شر"],[64810,1,"سر"],[64811,1,"صر"],[64812,1,"ضر"],[64813,1,"شج"],[64814,1,"شح"],[64815,1,"شخ"],[64816,1,"شم"],[64817,1,"سه"],[64818,1,"شه"],[64819,1,"طم"],[64820,1,"سج"],[64821,1,"سح"],[64822,1,"سخ"],[64823,1,"شج"],[64824,1,"شح"],[64825,1,"شخ"],[64826,1,"طم"],[64827,1,"ظم"],[[64828,64829],1,"اً"],[[64830,64831],2],[[64832,64847],2],[64848,1,"تجم"],[[64849,64850],1,"تحج"],[64851,1,"تحم"],[64852,1,"تخم"],[64853,1,"تمج"],[64854,1,"تمح"],[64855,1,"تمخ"],[[64856,64857],1,"جمح"],[64858,1,"حمي"],[64859,1,"حمى"],[64860,1,"سحج"],[64861,1,"سجح"],[64862,1,"سجى"],[[64863,64864],1,"سمح"],[64865,1,"سمج"],[[64866,64867],1,"سمم"],[[64868,64869],1,"صحح"],[64870,1,"صمم"],[[64871,64872],1,"شحم"],[64873,1,"شجي"],[[64874,64875],1,"شمخ"],[[64876,64877],1,"شمم"],[64878,1,"ضحى"],[[64879,64880],1,"ضخم"],[[64881,64882],1,"طمح"],[64883,1,"طمم"],[64884,1,"طمي"],[64885,1,"عجم"],[[64886,64887],1,"عمم"],[64888,1,"عمى"],[64889,1,"غمم"],[64890,1,"غمي"],[64891,1,"غمى"],[[64892,64893],1,"فخم"],[64894,1,"قمح"],[64895,1,"قمم"],[64896,1,"لحم"],[64897,1,"لحي"],[64898,1,"لحى"],[[64899,64900],1,"لجج"],[[64901,64902],1,"لخم"],[[64903,64904],1,"لمح"],[64905,1,"محج"],[64906,1,"محم"],[64907,1,"محي"],[64908,1,"مجح"],[64909,1,"مجم"],[64910,1,"مخج"],[64911,1,"مخم"],[[64912,64913],3],[64914,1,"مجخ"],[64915,1,"همج"],[64916,1,"همم"],[64917,1,"نحم"],[64918,1,"نحى"],[[64919,64920],1,"نجم"],[64921,1,"نجى"],[64922,1,"نمي"],[64923,1,"نمى"],[[64924,64925],1,"يمم"],[64926,1,"بخي"],[64927,1,"تجي"],[64928,1,"تجى"],[64929,1,"تخي"],[64930,1,"تخى"],[64931,1,"تمي"],[64932,1,"تمى"],[64933,1,"جمي"],[64934,1,"جحى"],[64935,1,"جمى"],[64936,1,"سخى"],[64937,1,"صحي"],[64938,1,"شحي"],[64939,1,"ضحي"],[64940,1,"لجي"],[64941,1,"لمي"],[64942,1,"يحي"],[64943,1,"يجي"],[64944,1,"يمي"],[64945,1,"ممي"],[64946,1,"قمي"],[64947,1,"نحي"],[64948,1,"قمح"],[64949,1,"لحم"],[64950,1,"عمي"],[64951,1,"كمي"],[64952,1,"نجح"],[64953,1,"مخي"],[64954,1,"لجم"],[64955,1,"كمم"],[64956,1,"لجم"],[64957,1,"نجح"],[64958,1,"جحي"],[64959,1,"حجي"],[64960,1,"مجي"],[64961,1,"فمي"],[64962,1,"بحي"],[64963,1,"كمم"],[64964,1,"عجم"],[64965,1,"صمم"],[64966,1,"سخي"],[64967,1,"نجي"],[[64968,64974],3],[64975,2],[[64976,65007],3],[65008,1,"صلے"],[65009,1,"قلے"],[65010,1,"الله"],[65011,1,"اكبر"],[65012,1,"محمد"],[65013,1,"صلعم"],[65014,1,"رسول"],[65015,1,"عليه"],[65016,1,"وسلم"],[65017,1,"صلى"],[65018,1,"صلى الله عليه وسلم"],[65019,1,"جل جلاله"],[65020,1,"ریال"],[65021,2],[[65022,65023],2],[[65024,65039],7],[65040,1,","],[65041,1,"、"],[65042,3],[65043,1,":"],[65044,1,";"],[65045,1,"!"],[65046,1,"?"],[65047,1,"〖"],[65048,1,"〗"],[65049,3],[[65050,65055],3],[[65056,65059],2],[[65060,65062],2],[[65063,65069],2],[[65070,65071],2],[65072,3],[65073,1,"—"],[65074,1,"–"],[[65075,65076],1,"_"],[65077,1,"("],[65078,1,")"],[65079,1,"{"],[65080,1,"}"],[65081,1,"〔"],[65082,1,"〕"],[65083,1,"【"],[65084,1,"】"],[65085,1,"《"],[65086,1,"》"],[65087,1,"〈"],[65088,1,"〉"],[65089,1,"「"],[65090,1,"」"],[65091,1,"『"],[65092,1,"』"],[[65093,65094],2],[65095,1,"["],[65096,1,"]"],[[65097,65100],1," ̅"],[[65101,65103],1,"_"],[65104,1,","],[65105,1,"、"],[65106,3],[65107,3],[65108,1,";"],[65109,1,":"],[65110,1,"?"],[65111,1,"!"],[65112,1,"—"],[65113,1,"("],[65114,1,")"],[65115,1,"{"],[65116,1,"}"],[65117,1,"〔"],[65118,1,"〕"],[65119,1,"#"],[65120,1,"&"],[65121,1,"*"],[65122,1,"+"],[65123,1,"-"],[65124,1,"<"],[65125,1,">"],[65126,1,"="],[65127,3],[65128,1,"\\\\"],[65129,1,"$"],[65130,1,"%"],[65131,1,"@"],[[65132,65135],3],[65136,1," ً"],[65137,1,"ـً"],[65138,1," ٌ"],[65139,2],[65140,1," ٍ"],[65141,3],[65142,1," َ"],[65143,1,"ـَ"],[65144,1," ُ"],[65145,1,"ـُ"],[65146,1," ِ"],[65147,1,"ـِ"],[65148,1," ّ"],[65149,1,"ـّ"],[65150,1," ْ"],[65151,1,"ـْ"],[65152,1,"ء"],[[65153,65154],1,"آ"],[[65155,65156],1,"أ"],[[65157,65158],1,"ؤ"],[[65159,65160],1,"إ"],[[65161,65164],1,"ئ"],[[65165,65166],1,"ا"],[[65167,65170],1,"ب"],[[65171,65172],1,"ة"],[[65173,65176],1,"ت"],[[65177,65180],1,"ث"],[[65181,65184],1,"ج"],[[65185,65188],1,"ح"],[[65189,65192],1,"خ"],[[65193,65194],1,"د"],[[65195,65196],1,"ذ"],[[65197,65198],1,"ر"],[[65199,65200],1,"ز"],[[65201,65204],1,"س"],[[65205,65208],1,"ش"],[[65209,65212],1,"ص"],[[65213,65216],1,"ض"],[[65217,65220],1,"ط"],[[65221,65224],1,"ظ"],[[65225,65228],1,"ع"],[[65229,65232],1,"غ"],[[65233,65236],1,"ف"],[[65237,65240],1,"ق"],[[65241,65244],1,"ك"],[[65245,65248],1,"ل"],[[65249,65252],1,"م"],[[65253,65256],1,"ن"],[[65257,65260],1,"ه"],[[65261,65262],1,"و"],[[65263,65264],1,"ى"],[[65265,65268],1,"ي"],[[65269,65270],1,"لآ"],[[65271,65272],1,"لأ"],[[65273,65274],1,"لإ"],[[65275,65276],1,"لا"],[[65277,65278],3],[65279,7],[65280,3],[65281,1,"!"],[65282,1,"\\""],[65283,1,"#"],[65284,1,"$"],[65285,1,"%"],[65286,1,"&"],[65287,1,"\'"],[65288,1,"("],[65289,1,")"],[65290,1,"*"],[65291,1,"+"],[65292,1,","],[65293,1,"-"],[65294,1,"."],[65295,1,"/"],[65296,1,"0"],[65297,1,"1"],[65298,1,"2"],[65299,1,"3"],[65300,1,"4"],[65301,1,"5"],[65302,1,"6"],[65303,1,"7"],[65304,1,"8"],[65305,1,"9"],[65306,1,":"],[65307,1,";"],[65308,1,"<"],[65309,1,"="],[65310,1,">"],[65311,1,"?"],[65312,1,"@"],[65313,1,"a"],[65314,1,"b"],[65315,1,"c"],[65316,1,"d"],[65317,1,"e"],[65318,1,"f"],[65319,1,"g"],[65320,1,"h"],[65321,1,"i"],[65322,1,"j"],[65323,1,"k"],[65324,1,"l"],[65325,1,"m"],[65326,1,"n"],[65327,1,"o"],[65328,1,"p"],[65329,1,"q"],[65330,1,"r"],[65331,1,"s"],[65332,1,"t"],[65333,1,"u"],[65334,1,"v"],[65335,1,"w"],[65336,1,"x"],[65337,1,"y"],[65338,1,"z"],[65339,1,"["],[65340,1,"\\\\"],[65341,1,"]"],[65342,1,"^"],[65343,1,"_"],[65344,1,"`"],[65345,1,"a"],[65346,1,"b"],[65347,1,"c"],[65348,1,"d"],[65349,1,"e"],[65350,1,"f"],[65351,1,"g"],[65352,1,"h"],[65353,1,"i"],[65354,1,"j"],[65355,1,"k"],[65356,1,"l"],[65357,1,"m"],[65358,1,"n"],[65359,1,"o"],[65360,1,"p"],[65361,1,"q"],[65362,1,"r"],[65363,1,"s"],[65364,1,"t"],[65365,1,"u"],[65366,1,"v"],[65367,1,"w"],[65368,1,"x"],[65369,1,"y"],[65370,1,"z"],[65371,1,"{"],[65372,1,"|"],[65373,1,"}"],[65374,1,"~"],[65375,1,"⦅"],[65376,1,"⦆"],[65377,1,"."],[65378,1,"「"],[65379,1,"」"],[65380,1,"、"],[65381,1,"・"],[65382,1,"ヲ"],[65383,1,"ァ"],[65384,1,"ィ"],[65385,1,"ゥ"],[65386,1,"ェ"],[65387,1,"ォ"],[65388,1,"ャ"],[65389,1,"ュ"],[65390,1,"ョ"],[65391,1,"ッ"],[65392,1,"ー"],[65393,1,"ア"],[65394,1,"イ"],[65395,1,"ウ"],[65396,1,"エ"],[65397,1,"オ"],[65398,1,"カ"],[65399,1,"キ"],[65400,1,"ク"],[65401,1,"ケ"],[65402,1,"コ"],[65403,1,"サ"],[65404,1,"シ"],[65405,1,"ス"],[65406,1,"セ"],[65407,1,"ソ"],[65408,1,"タ"],[65409,1,"チ"],[65410,1,"ツ"],[65411,1,"テ"],[65412,1,"ト"],[65413,1,"ナ"],[65414,1,"ニ"],[65415,1,"ヌ"],[65416,1,"ネ"],[65417,1,"ノ"],[65418,1,"ハ"],[65419,1,"ヒ"],[65420,1,"フ"],[65421,1,"ヘ"],[65422,1,"ホ"],[65423,1,"マ"],[65424,1,"ミ"],[65425,1,"ム"],[65426,1,"メ"],[65427,1,"モ"],[65428,1,"ヤ"],[65429,1,"ユ"],[65430,1,"ヨ"],[65431,1,"ラ"],[65432,1,"リ"],[65433,1,"ル"],[65434,1,"レ"],[65435,1,"ロ"],[65436,1,"ワ"],[65437,1,"ン"],[65438,1,"゙"],[65439,1,"゚"],[65440,7],[65441,1,"ᄀ"],[65442,1,"ᄁ"],[65443,1,"ᆪ"],[65444,1,"ᄂ"],[65445,1,"ᆬ"],[65446,1,"ᆭ"],[65447,1,"ᄃ"],[65448,1,"ᄄ"],[65449,1,"ᄅ"],[65450,1,"ᆰ"],[65451,1,"ᆱ"],[65452,1,"ᆲ"],[65453,1,"ᆳ"],[65454,1,"ᆴ"],[65455,1,"ᆵ"],[65456,1,"ᄚ"],[65457,1,"ᄆ"],[65458,1,"ᄇ"],[65459,1,"ᄈ"],[65460,1,"ᄡ"],[65461,1,"ᄉ"],[65462,1,"ᄊ"],[65463,1,"ᄋ"],[65464,1,"ᄌ"],[65465,1,"ᄍ"],[65466,1,"ᄎ"],[65467,1,"ᄏ"],[65468,1,"ᄐ"],[65469,1,"ᄑ"],[65470,1,"ᄒ"],[[65471,65473],3],[65474,1,"ᅡ"],[65475,1,"ᅢ"],[65476,1,"ᅣ"],[65477,1,"ᅤ"],[65478,1,"ᅥ"],[65479,1,"ᅦ"],[[65480,65481],3],[65482,1,"ᅧ"],[65483,1,"ᅨ"],[65484,1,"ᅩ"],[65485,1,"ᅪ"],[65486,1,"ᅫ"],[65487,1,"ᅬ"],[[65488,65489],3],[65490,1,"ᅭ"],[65491,1,"ᅮ"],[65492,1,"ᅯ"],[65493,1,"ᅰ"],[65494,1,"ᅱ"],[65495,1,"ᅲ"],[[65496,65497],3],[65498,1,"ᅳ"],[65499,1,"ᅴ"],[65500,1,"ᅵ"],[[65501,65503],3],[65504,1,"¢"],[65505,1,"£"],[65506,1,"¬"],[65507,1," ̄"],[65508,1,"¦"],[65509,1,"¥"],[65510,1,"₩"],[65511,3],[65512,1,"│"],[65513,1,"←"],[65514,1,"↑"],[65515,1,"→"],[65516,1,"↓"],[65517,1,"■"],[65518,1,"○"],[[65519,65528],3],[[65529,65531],3],[65532,3],[65533,3],[[65534,65535],3],[[65536,65547],2],[65548,3],[[65549,65574],2],[65575,3],[[65576,65594],2],[65595,3],[[65596,65597],2],[65598,3],[[65599,65613],2],[[65614,65615],3],[[65616,65629],2],[[65630,65663],3],[[65664,65786],2],[[65787,65791],3],[[65792,65794],2],[[65795,65798],3],[[65799,65843],2],[[65844,65846],3],[[65847,65855],2],[[65856,65930],2],[[65931,65932],2],[[65933,65934],2],[65935,3],[[65936,65947],2],[65948,2],[[65949,65951],3],[65952,2],[[65953,65999],3],[[66000,66044],2],[66045,2],[[66046,66175],3],[[66176,66204],2],[[66205,66207],3],[[66208,66256],2],[[66257,66271],3],[66272,2],[[66273,66299],2],[[66300,66303],3],[[66304,66334],2],[66335,2],[[66336,66339],2],[[66340,66348],3],[[66349,66351],2],[[66352,66368],2],[66369,2],[[66370,66377],2],[66378,2],[[66379,66383],3],[[66384,66426],2],[[66427,66431],3],[[66432,66461],2],[66462,3],[66463,2],[[66464,66499],2],[[66500,66503],3],[[66504,66511],2],[[66512,66517],2],[[66518,66559],3],[66560,1,"𐐨"],[66561,1,"𐐩"],[66562,1,"𐐪"],[66563,1,"𐐫"],[66564,1,"𐐬"],[66565,1,"𐐭"],[66566,1,"𐐮"],[66567,1,"𐐯"],[66568,1,"𐐰"],[66569,1,"𐐱"],[66570,1,"𐐲"],[66571,1,"𐐳"],[66572,1,"𐐴"],[66573,1,"𐐵"],[66574,1,"𐐶"],[66575,1,"𐐷"],[66576,1,"𐐸"],[66577,1,"𐐹"],[66578,1,"𐐺"],[66579,1,"𐐻"],[66580,1,"𐐼"],[66581,1,"𐐽"],[66582,1,"𐐾"],[66583,1,"𐐿"],[66584,1,"𐑀"],[66585,1,"𐑁"],[66586,1,"𐑂"],[66587,1,"𐑃"],[66588,1,"𐑄"],[66589,1,"𐑅"],[66590,1,"𐑆"],[66591,1,"𐑇"],[66592,1,"𐑈"],[66593,1,"𐑉"],[66594,1,"𐑊"],[66595,1,"𐑋"],[66596,1,"𐑌"],[66597,1,"𐑍"],[66598,1,"𐑎"],[66599,1,"𐑏"],[[66600,66637],2],[[66638,66717],2],[[66718,66719],3],[[66720,66729],2],[[66730,66735],3],[66736,1,"𐓘"],[66737,1,"𐓙"],[66738,1,"𐓚"],[66739,1,"𐓛"],[66740,1,"𐓜"],[66741,1,"𐓝"],[66742,1,"𐓞"],[66743,1,"𐓟"],[66744,1,"𐓠"],[66745,1,"𐓡"],[66746,1,"𐓢"],[66747,1,"𐓣"],[66748,1,"𐓤"],[66749,1,"𐓥"],[66750,1,"𐓦"],[66751,1,"𐓧"],[66752,1,"𐓨"],[66753,1,"𐓩"],[66754,1,"𐓪"],[66755,1,"𐓫"],[66756,1,"𐓬"],[66757,1,"𐓭"],[66758,1,"𐓮"],[66759,1,"𐓯"],[66760,1,"𐓰"],[66761,1,"𐓱"],[66762,1,"𐓲"],[66763,1,"𐓳"],[66764,1,"𐓴"],[66765,1,"𐓵"],[66766,1,"𐓶"],[66767,1,"𐓷"],[66768,1,"𐓸"],[66769,1,"𐓹"],[66770,1,"𐓺"],[66771,1,"𐓻"],[[66772,66775],3],[[66776,66811],2],[[66812,66815],3],[[66816,66855],2],[[66856,66863],3],[[66864,66915],2],[[66916,66926],3],[66927,2],[66928,1,"𐖗"],[66929,1,"𐖘"],[66930,1,"𐖙"],[66931,1,"𐖚"],[66932,1,"𐖛"],[66933,1,"𐖜"],[66934,1,"𐖝"],[66935,1,"𐖞"],[66936,1,"𐖟"],[66937,1,"𐖠"],[66938,1,"𐖡"],[66939,3],[66940,1,"𐖣"],[66941,1,"𐖤"],[66942,1,"𐖥"],[66943,1,"𐖦"],[66944,1,"𐖧"],[66945,1,"𐖨"],[66946,1,"𐖩"],[66947,1,"𐖪"],[66948,1,"𐖫"],[66949,1,"𐖬"],[66950,1,"𐖭"],[66951,1,"𐖮"],[66952,1,"𐖯"],[66953,1,"𐖰"],[66954,1,"𐖱"],[66955,3],[66956,1,"𐖳"],[66957,1,"𐖴"],[66958,1,"𐖵"],[66959,1,"𐖶"],[66960,1,"𐖷"],[66961,1,"𐖸"],[66962,1,"𐖹"],[66963,3],[66964,1,"𐖻"],[66965,1,"𐖼"],[66966,3],[[66967,66977],2],[66978,3],[[66979,66993],2],[66994,3],[[66995,67001],2],[67002,3],[[67003,67004],2],[[67005,67007],3],[[67008,67059],2],[[67060,67071],3],[[67072,67382],2],[[67383,67391],3],[[67392,67413],2],[[67414,67423],3],[[67424,67431],2],[[67432,67455],3],[67456,2],[67457,1,"ː"],[67458,1,"ˑ"],[67459,1,"æ"],[67460,1,"ʙ"],[67461,1,"ɓ"],[67462,3],[67463,1,"ʣ"],[67464,1,"ꭦ"],[67465,1,"ʥ"],[67466,1,"ʤ"],[67467,1,"ɖ"],[67468,1,"ɗ"],[67469,1,"ᶑ"],[67470,1,"ɘ"],[67471,1,"ɞ"],[67472,1,"ʩ"],[67473,1,"ɤ"],[67474,1,"ɢ"],[67475,1,"ɠ"],[67476,1,"ʛ"],[67477,1,"ħ"],[67478,1,"ʜ"],[67479,1,"ɧ"],[67480,1,"ʄ"],[67481,1,"ʪ"],[67482,1,"ʫ"],[67483,1,"ɬ"],[67484,1,"𝼄"],[67485,1,"ꞎ"],[67486,1,"ɮ"],[67487,1,"𝼅"],[67488,1,"ʎ"],[67489,1,"𝼆"],[67490,1,"ø"],[67491,1,"ɶ"],[67492,1,"ɷ"],[67493,1,"q"],[67494,1,"ɺ"],[67495,1,"𝼈"],[67496,1,"ɽ"],[67497,1,"ɾ"],[67498,1,"ʀ"],[67499,1,"ʨ"],[67500,1,"ʦ"],[67501,1,"ꭧ"],[67502,1,"ʧ"],[67503,1,"ʈ"],[67504,1,"ⱱ"],[67505,3],[67506,1,"ʏ"],[67507,1,"ʡ"],[67508,1,"ʢ"],[67509,1,"ʘ"],[67510,1,"ǀ"],[67511,1,"ǁ"],[67512,1,"ǂ"],[67513,1,"𝼊"],[67514,1,"𝼞"],[[67515,67583],3],[[67584,67589],2],[[67590,67591],3],[67592,2],[67593,3],[[67594,67637],2],[67638,3],[[67639,67640],2],[[67641,67643],3],[67644,2],[[67645,67646],3],[67647,2],[[67648,67669],2],[67670,3],[[67671,67679],2],[[67680,67702],2],[[67703,67711],2],[[67712,67742],2],[[67743,67750],3],[[67751,67759],2],[[67760,67807],3],[[67808,67826],2],[67827,3],[[67828,67829],2],[[67830,67834],3],[[67835,67839],2],[[67840,67861],2],[[67862,67865],2],[[67866,67867],2],[[67868,67870],3],[67871,2],[[67872,67897],2],[[67898,67902],3],[67903,2],[[67904,67967],3],[[67968,68023],2],[[68024,68027],3],[[68028,68029],2],[[68030,68031],2],[[68032,68047],2],[[68048,68049],3],[[68050,68095],2],[[68096,68099],2],[68100,3],[[68101,68102],2],[[68103,68107],3],[[68108,68115],2],[68116,3],[[68117,68119],2],[68120,3],[[68121,68147],2],[[68148,68149],2],[[68150,68151],3],[[68152,68154],2],[[68155,68158],3],[68159,2],[[68160,68167],2],[68168,2],[[68169,68175],3],[[68176,68184],2],[[68185,68191],3],[[68192,68220],2],[[68221,68223],2],[[68224,68252],2],[[68253,68255],2],[[68256,68287],3],[[68288,68295],2],[68296,2],[[68297,68326],2],[[68327,68330],3],[[68331,68342],2],[[68343,68351],3],[[68352,68405],2],[[68406,68408],3],[[68409,68415],2],[[68416,68437],2],[[68438,68439],3],[[68440,68447],2],[[68448,68466],2],[[68467,68471],3],[[68472,68479],2],[[68480,68497],2],[[68498,68504],3],[[68505,68508],2],[[68509,68520],3],[[68521,68527],2],[[68528,68607],3],[[68608,68680],2],[[68681,68735],3],[68736,1,"𐳀"],[68737,1,"𐳁"],[68738,1,"𐳂"],[68739,1,"𐳃"],[68740,1,"𐳄"],[68741,1,"𐳅"],[68742,1,"𐳆"],[68743,1,"𐳇"],[68744,1,"𐳈"],[68745,1,"𐳉"],[68746,1,"𐳊"],[68747,1,"𐳋"],[68748,1,"𐳌"],[68749,1,"𐳍"],[68750,1,"𐳎"],[68751,1,"𐳏"],[68752,1,"𐳐"],[68753,1,"𐳑"],[68754,1,"𐳒"],[68755,1,"𐳓"],[68756,1,"𐳔"],[68757,1,"𐳕"],[68758,1,"𐳖"],[68759,1,"𐳗"],[68760,1,"𐳘"],[68761,1,"𐳙"],[68762,1,"𐳚"],[68763,1,"𐳛"],[68764,1,"𐳜"],[68765,1,"𐳝"],[68766,1,"𐳞"],[68767,1,"𐳟"],[68768,1,"𐳠"],[68769,1,"𐳡"],[68770,1,"𐳢"],[68771,1,"𐳣"],[68772,1,"𐳤"],[68773,1,"𐳥"],[68774,1,"𐳦"],[68775,1,"𐳧"],[68776,1,"𐳨"],[68777,1,"𐳩"],[68778,1,"𐳪"],[68779,1,"𐳫"],[68780,1,"𐳬"],[68781,1,"𐳭"],[68782,1,"𐳮"],[68783,1,"𐳯"],[68784,1,"𐳰"],[68785,1,"𐳱"],[68786,1,"𐳲"],[[68787,68799],3],[[68800,68850],2],[[68851,68857],3],[[68858,68863],2],[[68864,68903],2],[[68904,68911],3],[[68912,68921],2],[[68922,68927],3],[[68928,68943],2],[68944,1,"𐵰"],[68945,1,"𐵱"],[68946,1,"𐵲"],[68947,1,"𐵳"],[68948,1,"𐵴"],[68949,1,"𐵵"],[68950,1,"𐵶"],[68951,1,"𐵷"],[68952,1,"𐵸"],[68953,1,"𐵹"],[68954,1,"𐵺"],[68955,1,"𐵻"],[68956,1,"𐵼"],[68957,1,"𐵽"],[68958,1,"𐵾"],[68959,1,"𐵿"],[68960,1,"𐶀"],[68961,1,"𐶁"],[68962,1,"𐶂"],[68963,1,"𐶃"],[68964,1,"𐶄"],[68965,1,"𐶅"],[[68966,68968],3],[[68969,68973],2],[68974,2],[[68975,68997],2],[[68998,69005],3],[[69006,69007],2],[[69008,69215],3],[[69216,69246],2],[69247,3],[[69248,69289],2],[69290,3],[[69291,69292],2],[69293,2],[[69294,69295],3],[[69296,69297],2],[[69298,69313],3],[[69314,69316],2],[[69317,69371],3],[69372,2],[[69373,69375],2],[[69376,69404],2],[[69405,69414],2],[69415,2],[[69416,69423],3],[[69424,69456],2],[[69457,69465],2],[[69466,69487],3],[[69488,69509],2],[[69510,69513],2],[[69514,69551],3],[[69552,69572],2],[[69573,69579],2],[[69580,69599],3],[[69600,69622],2],[[69623,69631],3],[[69632,69702],2],[[69703,69709],2],[[69710,69713],3],[[69714,69733],2],[[69734,69743],2],[[69744,69749],2],[[69750,69758],3],[69759,2],[[69760,69818],2],[[69819,69820],2],[69821,3],[[69822,69825],2],[69826,2],[[69827,69836],3],[69837,3],[[69838,69839],3],[[69840,69864],2],[[69865,69871],3],[[69872,69881],2],[[69882,69887],3],[[69888,69940],2],[69941,3],[[69942,69951],2],[[69952,69955],2],[[69956,69958],2],[69959,2],[[69960,69967],3],[[69968,70003],2],[[70004,70005],2],[70006,2],[[70007,70015],3],[[70016,70084],2],[[70085,70088],2],[[70089,70092],2],[70093,2],[[70094,70095],2],[[70096,70105],2],[70106,2],[70107,2],[70108,2],[[70109,70111],2],[70112,3],[[70113,70132],2],[[70133,70143],3],[[70144,70161],2],[70162,3],[[70163,70199],2],[[70200,70205],2],[70206,2],[[70207,70209],2],[[70210,70271],3],[[70272,70278],2],[70279,3],[70280,2],[70281,3],[[70282,70285],2],[70286,3],[[70287,70301],2],[70302,3],[[70303,70312],2],[70313,2],[[70314,70319],3],[[70320,70378],2],[[70379,70383],3],[[70384,70393],2],[[70394,70399],3],[70400,2],[[70401,70403],2],[70404,3],[[70405,70412],2],[[70413,70414],3],[[70415,70416],2],[[70417,70418],3],[[70419,70440],2],[70441,3],[[70442,70448],2],[70449,3],[[70450,70451],2],[70452,3],[[70453,70457],2],[70458,3],[70459,2],[[70460,70468],2],[[70469,70470],3],[[70471,70472],2],[[70473,70474],3],[[70475,70477],2],[[70478,70479],3],[70480,2],[[70481,70486],3],[70487,2],[[70488,70492],3],[[70493,70499],2],[[70500,70501],3],[[70502,70508],2],[[70509,70511],3],[[70512,70516],2],[[70517,70527],3],[[70528,70537],2],[70538,3],[70539,2],[[70540,70541],3],[70542,2],[70543,3],[[70544,70581],2],[70582,3],[[70583,70592],2],[70593,3],[70594,2],[[70595,70596],3],[70597,2],[70598,3],[[70599,70602],2],[70603,3],[[70604,70611],2],[[70612,70613],2],[70614,3],[[70615,70616],2],[[70617,70624],3],[[70625,70626],2],[[70627,70655],3],[[70656,70730],2],[[70731,70735],2],[[70736,70745],2],[70746,2],[70747,2],[70748,3],[70749,2],[70750,2],[70751,2],[[70752,70753],2],[[70754,70783],3],[[70784,70853],2],[70854,2],[70855,2],[[70856,70863],3],[[70864,70873],2],[[70874,71039],3],[[71040,71093],2],[[71094,71095],3],[[71096,71104],2],[[71105,71113],2],[[71114,71127],2],[[71128,71133],2],[[71134,71167],3],[[71168,71232],2],[[71233,71235],2],[71236,2],[[71237,71247],3],[[71248,71257],2],[[71258,71263],3],[[71264,71276],2],[[71277,71295],3],[[71296,71351],2],[71352,2],[71353,2],[[71354,71359],3],[[71360,71369],2],[[71370,71375],3],[[71376,71395],2],[[71396,71423],3],[[71424,71449],2],[71450,2],[[71451,71452],3],[[71453,71467],2],[[71468,71471],3],[[71472,71481],2],[[71482,71487],2],[[71488,71494],2],[[71495,71679],3],[[71680,71738],2],[71739,2],[[71740,71839],3],[71840,1,"𑣀"],[71841,1,"𑣁"],[71842,1,"𑣂"],[71843,1,"𑣃"],[71844,1,"𑣄"],[71845,1,"𑣅"],[71846,1,"𑣆"],[71847,1,"𑣇"],[71848,1,"𑣈"],[71849,1,"𑣉"],[71850,1,"𑣊"],[71851,1,"𑣋"],[71852,1,"𑣌"],[71853,1,"𑣍"],[71854,1,"𑣎"],[71855,1,"𑣏"],[71856,1,"𑣐"],[71857,1,"𑣑"],[71858,1,"𑣒"],[71859,1,"𑣓"],[71860,1,"𑣔"],[71861,1,"𑣕"],[71862,1,"𑣖"],[71863,1,"𑣗"],[71864,1,"𑣘"],[71865,1,"𑣙"],[71866,1,"𑣚"],[71867,1,"𑣛"],[71868,1,"𑣜"],[71869,1,"𑣝"],[71870,1,"𑣞"],[71871,1,"𑣟"],[[71872,71913],2],[[71914,71922],2],[[71923,71934],3],[71935,2],[[71936,71942],2],[[71943,71944],3],[71945,2],[[71946,71947],3],[[71948,71955],2],[71956,3],[[71957,71958],2],[71959,3],[[71960,71989],2],[71990,3],[[71991,71992],2],[[71993,71994],3],[[71995,72003],2],[[72004,72006],2],[[72007,72015],3],[[72016,72025],2],[[72026,72095],3],[[72096,72103],2],[[72104,72105],3],[[72106,72151],2],[[72152,72153],3],[[72154,72161],2],[72162,2],[[72163,72164],2],[[72165,72191],3],[[72192,72254],2],[[72255,72262],2],[72263,2],[[72264,72271],3],[[72272,72323],2],[[72324,72325],2],[[72326,72345],2],[[72346,72348],2],[72349,2],[[72350,72354],2],[[72355,72367],3],[[72368,72383],2],[[72384,72440],2],[[72441,72447],3],[[72448,72457],2],[[72458,72639],3],[[72640,72672],2],[72673,2],[[72674,72687],3],[[72688,72697],2],[[72698,72703],3],[[72704,72712],2],[72713,3],[[72714,72758],2],[72759,3],[[72760,72768],2],[[72769,72773],2],[[72774,72783],3],[[72784,72793],2],[[72794,72812],2],[[72813,72815],3],[[72816,72817],2],[[72818,72847],2],[[72848,72849],3],[[72850,72871],2],[72872,3],[[72873,72886],2],[[72887,72959],3],[[72960,72966],2],[72967,3],[[72968,72969],2],[72970,3],[[72971,73014],2],[[73015,73017],3],[73018,2],[73019,3],[[73020,73021],2],[73022,3],[[73023,73031],2],[[73032,73039],3],[[73040,73049],2],[[73050,73055],3],[[73056,73061],2],[73062,3],[[73063,73064],2],[73065,3],[[73066,73102],2],[73103,3],[[73104,73105],2],[73106,3],[[73107,73112],2],[[73113,73119],3],[[73120,73129],2],[[73130,73439],3],[[73440,73462],2],[[73463,73464],2],[[73465,73471],3],[[73472,73488],2],[73489,3],[[73490,73530],2],[[73531,73533],3],[[73534,73538],2],[[73539,73551],2],[[73552,73561],2],[73562,2],[[73563,73647],3],[73648,2],[[73649,73663],3],[[73664,73713],2],[[73714,73726],3],[73727,2],[[73728,74606],2],[[74607,74648],2],[74649,2],[[74650,74751],3],[[74752,74850],2],[[74851,74862],2],[74863,3],[[74864,74867],2],[74868,2],[[74869,74879],3],[[74880,75075],2],[[75076,77711],3],[[77712,77808],2],[[77809,77810],2],[[77811,77823],3],[[77824,78894],2],[78895,2],[[78896,78904],3],[[78905,78911],3],[[78912,78933],2],[[78934,78943],3],[[78944,82938],2],[[82939,82943],3],[[82944,83526],2],[[83527,90367],3],[[90368,90425],2],[[90426,92159],3],[[92160,92728],2],[[92729,92735],3],[[92736,92766],2],[92767,3],[[92768,92777],2],[[92778,92781],3],[[92782,92783],2],[[92784,92862],2],[92863,3],[[92864,92873],2],[[92874,92879],3],[[92880,92909],2],[[92910,92911],3],[[92912,92916],2],[92917,2],[[92918,92927],3],[[92928,92982],2],[[92983,92991],2],[[92992,92995],2],[[92996,92997],2],[[92998,93007],3],[[93008,93017],2],[93018,3],[[93019,93025],2],[93026,3],[[93027,93047],2],[[93048,93052],3],[[93053,93071],2],[[93072,93503],3],[[93504,93548],2],[[93549,93551],2],[[93552,93561],2],[[93562,93759],3],[93760,1,"𖹠"],[93761,1,"𖹡"],[93762,1,"𖹢"],[93763,1,"𖹣"],[93764,1,"𖹤"],[93765,1,"𖹥"],[93766,1,"𖹦"],[93767,1,"𖹧"],[93768,1,"𖹨"],[93769,1,"𖹩"],[93770,1,"𖹪"],[93771,1,"𖹫"],[93772,1,"𖹬"],[93773,1,"𖹭"],[93774,1,"𖹮"],[93775,1,"𖹯"],[93776,1,"𖹰"],[93777,1,"𖹱"],[93778,1,"𖹲"],[93779,1,"𖹳"],[93780,1,"𖹴"],[93781,1,"𖹵"],[93782,1,"𖹶"],[93783,1,"𖹷"],[93784,1,"𖹸"],[93785,1,"𖹹"],[93786,1,"𖹺"],[93787,1,"𖹻"],[93788,1,"𖹼"],[93789,1,"𖹽"],[93790,1,"𖹾"],[93791,1,"𖹿"],[[93792,93823],2],[[93824,93850],2],[[93851,93951],3],[[93952,94020],2],[[94021,94026],2],[[94027,94030],3],[94031,2],[[94032,94078],2],[[94079,94087],2],[[94088,94094],3],[[94095,94111],2],[[94112,94175],3],[94176,2],[94177,2],[94178,2],[94179,2],[94180,2],[[94181,94191],3],[[94192,94193],2],[[94194,94207],3],[[94208,100332],2],[[100333,100337],2],[[100338,100343],2],[[100344,100351],3],[[100352,101106],2],[[101107,101589],2],[[101590,101630],3],[101631,2],[[101632,101640],2],[[101641,110575],3],[[110576,110579],2],[110580,3],[[110581,110587],2],[110588,3],[[110589,110590],2],[110591,3],[[110592,110593],2],[[110594,110878],2],[[110879,110882],2],[[110883,110897],3],[110898,2],[[110899,110927],3],[[110928,110930],2],[[110931,110932],3],[110933,2],[[110934,110947],3],[[110948,110951],2],[[110952,110959],3],[[110960,111355],2],[[111356,113663],3],[[113664,113770],2],[[113771,113775],3],[[113776,113788],2],[[113789,113791],3],[[113792,113800],2],[[113801,113807],3],[[113808,113817],2],[[113818,113819],3],[113820,2],[[113821,113822],2],[113823,2],[[113824,113827],7],[[113828,117759],3],[[117760,117973],2],[117974,1,"a"],[117975,1,"b"],[117976,1,"c"],[117977,1,"d"],[117978,1,"e"],[117979,1,"f"],[117980,1,"g"],[117981,1,"h"],[117982,1,"i"],[117983,1,"j"],[117984,1,"k"],[117985,1,"l"],[117986,1,"m"],[117987,1,"n"],[117988,1,"o"],[117989,1,"p"],[117990,1,"q"],[117991,1,"r"],[117992,1,"s"],[117993,1,"t"],[117994,1,"u"],[117995,1,"v"],[117996,1,"w"],[117997,1,"x"],[117998,1,"y"],[117999,1,"z"],[118000,1,"0"],[118001,1,"1"],[118002,1,"2"],[118003,1,"3"],[118004,1,"4"],[118005,1,"5"],[118006,1,"6"],[118007,1,"7"],[118008,1,"8"],[118009,1,"9"],[[118010,118015],3],[[118016,118451],2],[[118452,118527],3],[[118528,118573],2],[[118574,118575],3],[[118576,118598],2],[[118599,118607],3],[[118608,118723],2],[[118724,118783],3],[[118784,119029],2],[[119030,119039],3],[[119040,119078],2],[[119079,119080],3],[119081,2],[[119082,119133],2],[119134,1,"𝅗𝅥"],[119135,1,"𝅘𝅥"],[119136,1,"𝅘𝅥𝅮"],[119137,1,"𝅘𝅥𝅯"],[119138,1,"𝅘𝅥𝅰"],[119139,1,"𝅘𝅥𝅱"],[119140,1,"𝅘𝅥𝅲"],[[119141,119154],2],[[119155,119162],7],[[119163,119226],2],[119227,1,"𝆹𝅥"],[119228,1,"𝆺𝅥"],[119229,1,"𝆹𝅥𝅮"],[119230,1,"𝆺𝅥𝅮"],[119231,1,"𝆹𝅥𝅯"],[119232,1,"𝆺𝅥𝅯"],[[119233,119261],2],[[119262,119272],2],[[119273,119274],2],[[119275,119295],3],[[119296,119365],2],[[119366,119487],3],[[119488,119507],2],[[119508,119519],3],[[119520,119539],2],[[119540,119551],3],[[119552,119638],2],[[119639,119647],3],[[119648,119665],2],[[119666,119672],2],[[119673,119807],3],[119808,1,"a"],[119809,1,"b"],[119810,1,"c"],[119811,1,"d"],[119812,1,"e"],[119813,1,"f"],[119814,1,"g"],[119815,1,"h"],[119816,1,"i"],[119817,1,"j"],[119818,1,"k"],[119819,1,"l"],[119820,1,"m"],[119821,1,"n"],[119822,1,"o"],[119823,1,"p"],[119824,1,"q"],[119825,1,"r"],[119826,1,"s"],[119827,1,"t"],[119828,1,"u"],[119829,1,"v"],[119830,1,"w"],[119831,1,"x"],[119832,1,"y"],[119833,1,"z"],[119834,1,"a"],[119835,1,"b"],[119836,1,"c"],[119837,1,"d"],[119838,1,"e"],[119839,1,"f"],[119840,1,"g"],[119841,1,"h"],[119842,1,"i"],[119843,1,"j"],[119844,1,"k"],[119845,1,"l"],[119846,1,"m"],[119847,1,"n"],[119848,1,"o"],[119849,1,"p"],[119850,1,"q"],[119851,1,"r"],[119852,1,"s"],[119853,1,"t"],[119854,1,"u"],[119855,1,"v"],[119856,1,"w"],[119857,1,"x"],[119858,1,"y"],[119859,1,"z"],[119860,1,"a"],[119861,1,"b"],[119862,1,"c"],[119863,1,"d"],[119864,1,"e"],[119865,1,"f"],[119866,1,"g"],[119867,1,"h"],[119868,1,"i"],[119869,1,"j"],[119870,1,"k"],[119871,1,"l"],[119872,1,"m"],[119873,1,"n"],[119874,1,"o"],[119875,1,"p"],[119876,1,"q"],[119877,1,"r"],[119878,1,"s"],[119879,1,"t"],[119880,1,"u"],[119881,1,"v"],[119882,1,"w"],[119883,1,"x"],[119884,1,"y"],[119885,1,"z"],[119886,1,"a"],[119887,1,"b"],[119888,1,"c"],[119889,1,"d"],[119890,1,"e"],[119891,1,"f"],[119892,1,"g"],[119893,3],[119894,1,"i"],[119895,1,"j"],[119896,1,"k"],[119897,1,"l"],[119898,1,"m"],[119899,1,"n"],[119900,1,"o"],[119901,1,"p"],[119902,1,"q"],[119903,1,"r"],[119904,1,"s"],[119905,1,"t"],[119906,1,"u"],[119907,1,"v"],[119908,1,"w"],[119909,1,"x"],[119910,1,"y"],[119911,1,"z"],[119912,1,"a"],[119913,1,"b"],[119914,1,"c"],[119915,1,"d"],[119916,1,"e"],[119917,1,"f"],[119918,1,"g"],[119919,1,"h"],[119920,1,"i"],[119921,1,"j"],[119922,1,"k"],[119923,1,"l"],[119924,1,"m"],[119925,1,"n"],[119926,1,"o"],[119927,1,"p"],[119928,1,"q"],[119929,1,"r"],[119930,1,"s"],[119931,1,"t"],[119932,1,"u"],[119933,1,"v"],[119934,1,"w"],[119935,1,"x"],[119936,1,"y"],[119937,1,"z"],[119938,1,"a"],[119939,1,"b"],[119940,1,"c"],[119941,1,"d"],[119942,1,"e"],[119943,1,"f"],[119944,1,"g"],[119945,1,"h"],[119946,1,"i"],[119947,1,"j"],[119948,1,"k"],[119949,1,"l"],[119950,1,"m"],[119951,1,"n"],[119952,1,"o"],[119953,1,"p"],[119954,1,"q"],[119955,1,"r"],[119956,1,"s"],[119957,1,"t"],[119958,1,"u"],[119959,1,"v"],[119960,1,"w"],[119961,1,"x"],[119962,1,"y"],[119963,1,"z"],[119964,1,"a"],[119965,3],[119966,1,"c"],[119967,1,"d"],[[119968,119969],3],[119970,1,"g"],[[119971,119972],3],[119973,1,"j"],[119974,1,"k"],[[119975,119976],3],[119977,1,"n"],[119978,1,"o"],[119979,1,"p"],[119980,1,"q"],[119981,3],[119982,1,"s"],[119983,1,"t"],[119984,1,"u"],[119985,1,"v"],[119986,1,"w"],[119987,1,"x"],[119988,1,"y"],[119989,1,"z"],[119990,1,"a"],[119991,1,"b"],[119992,1,"c"],[119993,1,"d"],[119994,3],[119995,1,"f"],[119996,3],[119997,1,"h"],[119998,1,"i"],[119999,1,"j"],[120000,1,"k"],[120001,1,"l"],[120002,1,"m"],[120003,1,"n"],[120004,3],[120005,1,"p"],[120006,1,"q"],[120007,1,"r"],[120008,1,"s"],[120009,1,"t"],[120010,1,"u"],[120011,1,"v"],[120012,1,"w"],[120013,1,"x"],[120014,1,"y"],[120015,1,"z"],[120016,1,"a"],[120017,1,"b"],[120018,1,"c"],[120019,1,"d"],[120020,1,"e"],[120021,1,"f"],[120022,1,"g"],[120023,1,"h"],[120024,1,"i"],[120025,1,"j"],[120026,1,"k"],[120027,1,"l"],[120028,1,"m"],[120029,1,"n"],[120030,1,"o"],[120031,1,"p"],[120032,1,"q"],[120033,1,"r"],[120034,1,"s"],[120035,1,"t"],[120036,1,"u"],[120037,1,"v"],[120038,1,"w"],[120039,1,"x"],[120040,1,"y"],[120041,1,"z"],[120042,1,"a"],[120043,1,"b"],[120044,1,"c"],[120045,1,"d"],[120046,1,"e"],[120047,1,"f"],[120048,1,"g"],[120049,1,"h"],[120050,1,"i"],[120051,1,"j"],[120052,1,"k"],[120053,1,"l"],[120054,1,"m"],[120055,1,"n"],[120056,1,"o"],[120057,1,"p"],[120058,1,"q"],[120059,1,"r"],[120060,1,"s"],[120061,1,"t"],[120062,1,"u"],[120063,1,"v"],[120064,1,"w"],[120065,1,"x"],[120066,1,"y"],[120067,1,"z"],[120068,1,"a"],[120069,1,"b"],[120070,3],[120071,1,"d"],[120072,1,"e"],[120073,1,"f"],[120074,1,"g"],[[120075,120076],3],[120077,1,"j"],[120078,1,"k"],[120079,1,"l"],[120080,1,"m"],[120081,1,"n"],[120082,1,"o"],[120083,1,"p"],[120084,1,"q"],[120085,3],[120086,1,"s"],[120087,1,"t"],[120088,1,"u"],[120089,1,"v"],[120090,1,"w"],[120091,1,"x"],[120092,1,"y"],[120093,3],[120094,1,"a"],[120095,1,"b"],[120096,1,"c"],[120097,1,"d"],[120098,1,"e"],[120099,1,"f"],[120100,1,"g"],[120101,1,"h"],[120102,1,"i"],[120103,1,"j"],[120104,1,"k"],[120105,1,"l"],[120106,1,"m"],[120107,1,"n"],[120108,1,"o"],[120109,1,"p"],[120110,1,"q"],[120111,1,"r"],[120112,1,"s"],[120113,1,"t"],[120114,1,"u"],[120115,1,"v"],[120116,1,"w"],[120117,1,"x"],[120118,1,"y"],[120119,1,"z"],[120120,1,"a"],[120121,1,"b"],[120122,3],[120123,1,"d"],[120124,1,"e"],[120125,1,"f"],[120126,1,"g"],[120127,3],[120128,1,"i"],[120129,1,"j"],[120130,1,"k"],[120131,1,"l"],[120132,1,"m"],[120133,3],[120134,1,"o"],[[120135,120137],3],[120138,1,"s"],[120139,1,"t"],[120140,1,"u"],[120141,1,"v"],[120142,1,"w"],[120143,1,"x"],[120144,1,"y"],[120145,3],[120146,1,"a"],[120147,1,"b"],[120148,1,"c"],[120149,1,"d"],[120150,1,"e"],[120151,1,"f"],[120152,1,"g"],[120153,1,"h"],[120154,1,"i"],[120155,1,"j"],[120156,1,"k"],[120157,1,"l"],[120158,1,"m"],[120159,1,"n"],[120160,1,"o"],[120161,1,"p"],[120162,1,"q"],[120163,1,"r"],[120164,1,"s"],[120165,1,"t"],[120166,1,"u"],[120167,1,"v"],[120168,1,"w"],[120169,1,"x"],[120170,1,"y"],[120171,1,"z"],[120172,1,"a"],[120173,1,"b"],[120174,1,"c"],[120175,1,"d"],[120176,1,"e"],[120177,1,"f"],[120178,1,"g"],[120179,1,"h"],[120180,1,"i"],[120181,1,"j"],[120182,1,"k"],[120183,1,"l"],[120184,1,"m"],[120185,1,"n"],[120186,1,"o"],[120187,1,"p"],[120188,1,"q"],[120189,1,"r"],[120190,1,"s"],[120191,1,"t"],[120192,1,"u"],[120193,1,"v"],[120194,1,"w"],[120195,1,"x"],[120196,1,"y"],[120197,1,"z"],[120198,1,"a"],[120199,1,"b"],[120200,1,"c"],[120201,1,"d"],[120202,1,"e"],[120203,1,"f"],[120204,1,"g"],[120205,1,"h"],[120206,1,"i"],[120207,1,"j"],[120208,1,"k"],[120209,1,"l"],[120210,1,"m"],[120211,1,"n"],[120212,1,"o"],[120213,1,"p"],[120214,1,"q"],[120215,1,"r"],[120216,1,"s"],[120217,1,"t"],[120218,1,"u"],[120219,1,"v"],[120220,1,"w"],[120221,1,"x"],[120222,1,"y"],[120223,1,"z"],[120224,1,"a"],[120225,1,"b"],[120226,1,"c"],[120227,1,"d"],[120228,1,"e"],[120229,1,"f"],[120230,1,"g"],[120231,1,"h"],[120232,1,"i"],[120233,1,"j"],[120234,1,"k"],[120235,1,"l"],[120236,1,"m"],[120237,1,"n"],[120238,1,"o"],[120239,1,"p"],[120240,1,"q"],[120241,1,"r"],[120242,1,"s"],[120243,1,"t"],[120244,1,"u"],[120245,1,"v"],[120246,1,"w"],[120247,1,"x"],[120248,1,"y"],[120249,1,"z"],[120250,1,"a"],[120251,1,"b"],[120252,1,"c"],[120253,1,"d"],[120254,1,"e"],[120255,1,"f"],[120256,1,"g"],[120257,1,"h"],[120258,1,"i"],[120259,1,"j"],[120260,1,"k"],[120261,1,"l"],[120262,1,"m"],[120263,1,"n"],[120264,1,"o"],[120265,1,"p"],[120266,1,"q"],[120267,1,"r"],[120268,1,"s"],[120269,1,"t"],[120270,1,"u"],[120271,1,"v"],[120272,1,"w"],[120273,1,"x"],[120274,1,"y"],[120275,1,"z"],[120276,1,"a"],[120277,1,"b"],[120278,1,"c"],[120279,1,"d"],[120280,1,"e"],[120281,1,"f"],[120282,1,"g"],[120283,1,"h"],[120284,1,"i"],[120285,1,"j"],[120286,1,"k"],[120287,1,"l"],[120288,1,"m"],[120289,1,"n"],[120290,1,"o"],[120291,1,"p"],[120292,1,"q"],[120293,1,"r"],[120294,1,"s"],[120295,1,"t"],[120296,1,"u"],[120297,1,"v"],[120298,1,"w"],[120299,1,"x"],[120300,1,"y"],[120301,1,"z"],[120302,1,"a"],[120303,1,"b"],[120304,1,"c"],[120305,1,"d"],[120306,1,"e"],[120307,1,"f"],[120308,1,"g"],[120309,1,"h"],[120310,1,"i"],[120311,1,"j"],[120312,1,"k"],[120313,1,"l"],[120314,1,"m"],[120315,1,"n"],[120316,1,"o"],[120317,1,"p"],[120318,1,"q"],[120319,1,"r"],[120320,1,"s"],[120321,1,"t"],[120322,1,"u"],[120323,1,"v"],[120324,1,"w"],[120325,1,"x"],[120326,1,"y"],[120327,1,"z"],[120328,1,"a"],[120329,1,"b"],[120330,1,"c"],[120331,1,"d"],[120332,1,"e"],[120333,1,"f"],[120334,1,"g"],[120335,1,"h"],[120336,1,"i"],[120337,1,"j"],[120338,1,"k"],[120339,1,"l"],[120340,1,"m"],[120341,1,"n"],[120342,1,"o"],[120343,1,"p"],[120344,1,"q"],[120345,1,"r"],[120346,1,"s"],[120347,1,"t"],[120348,1,"u"],[120349,1,"v"],[120350,1,"w"],[120351,1,"x"],[120352,1,"y"],[120353,1,"z"],[120354,1,"a"],[120355,1,"b"],[120356,1,"c"],[120357,1,"d"],[120358,1,"e"],[120359,1,"f"],[120360,1,"g"],[120361,1,"h"],[120362,1,"i"],[120363,1,"j"],[120364,1,"k"],[120365,1,"l"],[120366,1,"m"],[120367,1,"n"],[120368,1,"o"],[120369,1,"p"],[120370,1,"q"],[120371,1,"r"],[120372,1,"s"],[120373,1,"t"],[120374,1,"u"],[120375,1,"v"],[120376,1,"w"],[120377,1,"x"],[120378,1,"y"],[120379,1,"z"],[120380,1,"a"],[120381,1,"b"],[120382,1,"c"],[120383,1,"d"],[120384,1,"e"],[120385,1,"f"],[120386,1,"g"],[120387,1,"h"],[120388,1,"i"],[120389,1,"j"],[120390,1,"k"],[120391,1,"l"],[120392,1,"m"],[120393,1,"n"],[120394,1,"o"],[120395,1,"p"],[120396,1,"q"],[120397,1,"r"],[120398,1,"s"],[120399,1,"t"],[120400,1,"u"],[120401,1,"v"],[120402,1,"w"],[120403,1,"x"],[120404,1,"y"],[120405,1,"z"],[120406,1,"a"],[120407,1,"b"],[120408,1,"c"],[120409,1,"d"],[120410,1,"e"],[120411,1,"f"],[120412,1,"g"],[120413,1,"h"],[120414,1,"i"],[120415,1,"j"],[120416,1,"k"],[120417,1,"l"],[120418,1,"m"],[120419,1,"n"],[120420,1,"o"],[120421,1,"p"],[120422,1,"q"],[120423,1,"r"],[120424,1,"s"],[120425,1,"t"],[120426,1,"u"],[120427,1,"v"],[120428,1,"w"],[120429,1,"x"],[120430,1,"y"],[120431,1,"z"],[120432,1,"a"],[120433,1,"b"],[120434,1,"c"],[120435,1,"d"],[120436,1,"e"],[120437,1,"f"],[120438,1,"g"],[120439,1,"h"],[120440,1,"i"],[120441,1,"j"],[120442,1,"k"],[120443,1,"l"],[120444,1,"m"],[120445,1,"n"],[120446,1,"o"],[120447,1,"p"],[120448,1,"q"],[120449,1,"r"],[120450,1,"s"],[120451,1,"t"],[120452,1,"u"],[120453,1,"v"],[120454,1,"w"],[120455,1,"x"],[120456,1,"y"],[120457,1,"z"],[120458,1,"a"],[120459,1,"b"],[120460,1,"c"],[120461,1,"d"],[120462,1,"e"],[120463,1,"f"],[120464,1,"g"],[120465,1,"h"],[120466,1,"i"],[120467,1,"j"],[120468,1,"k"],[120469,1,"l"],[120470,1,"m"],[120471,1,"n"],[120472,1,"o"],[120473,1,"p"],[120474,1,"q"],[120475,1,"r"],[120476,1,"s"],[120477,1,"t"],[120478,1,"u"],[120479,1,"v"],[120480,1,"w"],[120481,1,"x"],[120482,1,"y"],[120483,1,"z"],[120484,1,"ı"],[120485,1,"ȷ"],[[120486,120487],3],[120488,1,"α"],[120489,1,"β"],[120490,1,"γ"],[120491,1,"δ"],[120492,1,"ε"],[120493,1,"ζ"],[120494,1,"η"],[120495,1,"θ"],[120496,1,"ι"],[120497,1,"κ"],[120498,1,"λ"],[120499,1,"μ"],[120500,1,"ν"],[120501,1,"ξ"],[120502,1,"ο"],[120503,1,"π"],[120504,1,"ρ"],[120505,1,"θ"],[120506,1,"σ"],[120507,1,"τ"],[120508,1,"υ"],[120509,1,"φ"],[120510,1,"χ"],[120511,1,"ψ"],[120512,1,"ω"],[120513,1,"∇"],[120514,1,"α"],[120515,1,"β"],[120516,1,"γ"],[120517,1,"δ"],[120518,1,"ε"],[120519,1,"ζ"],[120520,1,"η"],[120521,1,"θ"],[120522,1,"ι"],[120523,1,"κ"],[120524,1,"λ"],[120525,1,"μ"],[120526,1,"ν"],[120527,1,"ξ"],[120528,1,"ο"],[120529,1,"π"],[120530,1,"ρ"],[[120531,120532],1,"σ"],[120533,1,"τ"],[120534,1,"υ"],[120535,1,"φ"],[120536,1,"χ"],[120537,1,"ψ"],[120538,1,"ω"],[120539,1,"∂"],[120540,1,"ε"],[120541,1,"θ"],[120542,1,"κ"],[120543,1,"φ"],[120544,1,"ρ"],[120545,1,"π"],[120546,1,"α"],[120547,1,"β"],[120548,1,"γ"],[120549,1,"δ"],[120550,1,"ε"],[120551,1,"ζ"],[120552,1,"η"],[120553,1,"θ"],[120554,1,"ι"],[120555,1,"κ"],[120556,1,"λ"],[120557,1,"μ"],[120558,1,"ν"],[120559,1,"ξ"],[120560,1,"ο"],[120561,1,"π"],[120562,1,"ρ"],[120563,1,"θ"],[120564,1,"σ"],[120565,1,"τ"],[120566,1,"υ"],[120567,1,"φ"],[120568,1,"χ"],[120569,1,"ψ"],[120570,1,"ω"],[120571,1,"∇"],[120572,1,"α"],[120573,1,"β"],[120574,1,"γ"],[120575,1,"δ"],[120576,1,"ε"],[120577,1,"ζ"],[120578,1,"η"],[120579,1,"θ"],[120580,1,"ι"],[120581,1,"κ"],[120582,1,"λ"],[120583,1,"μ"],[120584,1,"ν"],[120585,1,"ξ"],[120586,1,"ο"],[120587,1,"π"],[120588,1,"ρ"],[[120589,120590],1,"σ"],[120591,1,"τ"],[120592,1,"υ"],[120593,1,"φ"],[120594,1,"χ"],[120595,1,"ψ"],[120596,1,"ω"],[120597,1,"∂"],[120598,1,"ε"],[120599,1,"θ"],[120600,1,"κ"],[120601,1,"φ"],[120602,1,"ρ"],[120603,1,"π"],[120604,1,"α"],[120605,1,"β"],[120606,1,"γ"],[120607,1,"δ"],[120608,1,"ε"],[120609,1,"ζ"],[120610,1,"η"],[120611,1,"θ"],[120612,1,"ι"],[120613,1,"κ"],[120614,1,"λ"],[120615,1,"μ"],[120616,1,"ν"],[120617,1,"ξ"],[120618,1,"ο"],[120619,1,"π"],[120620,1,"ρ"],[120621,1,"θ"],[120622,1,"σ"],[120623,1,"τ"],[120624,1,"υ"],[120625,1,"φ"],[120626,1,"χ"],[120627,1,"ψ"],[120628,1,"ω"],[120629,1,"∇"],[120630,1,"α"],[120631,1,"β"],[120632,1,"γ"],[120633,1,"δ"],[120634,1,"ε"],[120635,1,"ζ"],[120636,1,"η"],[120637,1,"θ"],[120638,1,"ι"],[120639,1,"κ"],[120640,1,"λ"],[120641,1,"μ"],[120642,1,"ν"],[120643,1,"ξ"],[120644,1,"ο"],[120645,1,"π"],[120646,1,"ρ"],[[120647,120648],1,"σ"],[120649,1,"τ"],[120650,1,"υ"],[120651,1,"φ"],[120652,1,"χ"],[120653,1,"ψ"],[120654,1,"ω"],[120655,1,"∂"],[120656,1,"ε"],[120657,1,"θ"],[120658,1,"κ"],[120659,1,"φ"],[120660,1,"ρ"],[120661,1,"π"],[120662,1,"α"],[120663,1,"β"],[120664,1,"γ"],[120665,1,"δ"],[120666,1,"ε"],[120667,1,"ζ"],[120668,1,"η"],[120669,1,"θ"],[120670,1,"ι"],[120671,1,"κ"],[120672,1,"λ"],[120673,1,"μ"],[120674,1,"ν"],[120675,1,"ξ"],[120676,1,"ο"],[120677,1,"π"],[120678,1,"ρ"],[120679,1,"θ"],[120680,1,"σ"],[120681,1,"τ"],[120682,1,"υ"],[120683,1,"φ"],[120684,1,"χ"],[120685,1,"ψ"],[120686,1,"ω"],[120687,1,"∇"],[120688,1,"α"],[120689,1,"β"],[120690,1,"γ"],[120691,1,"δ"],[120692,1,"ε"],[120693,1,"ζ"],[120694,1,"η"],[120695,1,"θ"],[120696,1,"ι"],[120697,1,"κ"],[120698,1,"λ"],[120699,1,"μ"],[120700,1,"ν"],[120701,1,"ξ"],[120702,1,"ο"],[120703,1,"π"],[120704,1,"ρ"],[[120705,120706],1,"σ"],[120707,1,"τ"],[120708,1,"υ"],[120709,1,"φ"],[120710,1,"χ"],[120711,1,"ψ"],[120712,1,"ω"],[120713,1,"∂"],[120714,1,"ε"],[120715,1,"θ"],[120716,1,"κ"],[120717,1,"φ"],[120718,1,"ρ"],[120719,1,"π"],[120720,1,"α"],[120721,1,"β"],[120722,1,"γ"],[120723,1,"δ"],[120724,1,"ε"],[120725,1,"ζ"],[120726,1,"η"],[120727,1,"θ"],[120728,1,"ι"],[120729,1,"κ"],[120730,1,"λ"],[120731,1,"μ"],[120732,1,"ν"],[120733,1,"ξ"],[120734,1,"ο"],[120735,1,"π"],[120736,1,"ρ"],[120737,1,"θ"],[120738,1,"σ"],[120739,1,"τ"],[120740,1,"υ"],[120741,1,"φ"],[120742,1,"χ"],[120743,1,"ψ"],[120744,1,"ω"],[120745,1,"∇"],[120746,1,"α"],[120747,1,"β"],[120748,1,"γ"],[120749,1,"δ"],[120750,1,"ε"],[120751,1,"ζ"],[120752,1,"η"],[120753,1,"θ"],[120754,1,"ι"],[120755,1,"κ"],[120756,1,"λ"],[120757,1,"μ"],[120758,1,"ν"],[120759,1,"ξ"],[120760,1,"ο"],[120761,1,"π"],[120762,1,"ρ"],[[120763,120764],1,"σ"],[120765,1,"τ"],[120766,1,"υ"],[120767,1,"φ"],[120768,1,"χ"],[120769,1,"ψ"],[120770,1,"ω"],[120771,1,"∂"],[120772,1,"ε"],[120773,1,"θ"],[120774,1,"κ"],[120775,1,"φ"],[120776,1,"ρ"],[120777,1,"π"],[[120778,120779],1,"ϝ"],[[120780,120781],3],[120782,1,"0"],[120783,1,"1"],[120784,1,"2"],[120785,1,"3"],[120786,1,"4"],[120787,1,"5"],[120788,1,"6"],[120789,1,"7"],[120790,1,"8"],[120791,1,"9"],[120792,1,"0"],[120793,1,"1"],[120794,1,"2"],[120795,1,"3"],[120796,1,"4"],[120797,1,"5"],[120798,1,"6"],[120799,1,"7"],[120800,1,"8"],[120801,1,"9"],[120802,1,"0"],[120803,1,"1"],[120804,1,"2"],[120805,1,"3"],[120806,1,"4"],[120807,1,"5"],[120808,1,"6"],[120809,1,"7"],[120810,1,"8"],[120811,1,"9"],[120812,1,"0"],[120813,1,"1"],[120814,1,"2"],[120815,1,"3"],[120816,1,"4"],[120817,1,"5"],[120818,1,"6"],[120819,1,"7"],[120820,1,"8"],[120821,1,"9"],[120822,1,"0"],[120823,1,"1"],[120824,1,"2"],[120825,1,"3"],[120826,1,"4"],[120827,1,"5"],[120828,1,"6"],[120829,1,"7"],[120830,1,"8"],[120831,1,"9"],[[120832,121343],2],[[121344,121398],2],[[121399,121402],2],[[121403,121452],2],[[121453,121460],2],[121461,2],[[121462,121475],2],[121476,2],[[121477,121483],2],[[121484,121498],3],[[121499,121503],2],[121504,3],[[121505,121519],2],[[121520,122623],3],[[122624,122654],2],[[122655,122660],3],[[122661,122666],2],[[122667,122879],3],[[122880,122886],2],[122887,3],[[122888,122904],2],[[122905,122906],3],[[122907,122913],2],[122914,3],[[122915,122916],2],[122917,3],[[122918,122922],2],[[122923,122927],3],[122928,1,"а"],[122929,1,"б"],[122930,1,"в"],[122931,1,"г"],[122932,1,"д"],[122933,1,"е"],[122934,1,"ж"],[122935,1,"з"],[122936,1,"и"],[122937,1,"к"],[122938,1,"л"],[122939,1,"м"],[122940,1,"о"],[122941,1,"п"],[122942,1,"р"],[122943,1,"с"],[122944,1,"т"],[122945,1,"у"],[122946,1,"ф"],[122947,1,"х"],[122948,1,"ц"],[122949,1,"ч"],[122950,1,"ш"],[122951,1,"ы"],[122952,1,"э"],[122953,1,"ю"],[122954,1,"ꚉ"],[122955,1,"ә"],[122956,1,"і"],[122957,1,"ј"],[122958,1,"ө"],[122959,1,"ү"],[122960,1,"ӏ"],[122961,1,"а"],[122962,1,"б"],[122963,1,"в"],[122964,1,"г"],[122965,1,"д"],[122966,1,"е"],[122967,1,"ж"],[122968,1,"з"],[122969,1,"и"],[122970,1,"к"],[122971,1,"л"],[122972,1,"о"],[122973,1,"п"],[122974,1,"с"],[122975,1,"у"],[122976,1,"ф"],[122977,1,"х"],[122978,1,"ц"],[122979,1,"ч"],[122980,1,"ш"],[122981,1,"ъ"],[122982,1,"ы"],[122983,1,"ґ"],[122984,1,"і"],[122985,1,"ѕ"],[122986,1,"џ"],[122987,1,"ҫ"],[122988,1,"ꙑ"],[122989,1,"ұ"],[[122990,123022],3],[123023,2],[[123024,123135],3],[[123136,123180],2],[[123181,123183],3],[[123184,123197],2],[[123198,123199],3],[[123200,123209],2],[[123210,123213],3],[123214,2],[123215,2],[[123216,123535],3],[[123536,123566],2],[[123567,123583],3],[[123584,123641],2],[[123642,123646],3],[123647,2],[[123648,124111],3],[[124112,124153],2],[[124154,124367],3],[[124368,124410],2],[[124411,124414],3],[124415,2],[[124416,124895],3],[[124896,124902],2],[124903,3],[[124904,124907],2],[124908,3],[[124909,124910],2],[124911,3],[[124912,124926],2],[124927,3],[[124928,125124],2],[[125125,125126],3],[[125127,125135],2],[[125136,125142],2],[[125143,125183],3],[125184,1,"𞤢"],[125185,1,"𞤣"],[125186,1,"𞤤"],[125187,1,"𞤥"],[125188,1,"𞤦"],[125189,1,"𞤧"],[125190,1,"𞤨"],[125191,1,"𞤩"],[125192,1,"𞤪"],[125193,1,"𞤫"],[125194,1,"𞤬"],[125195,1,"𞤭"],[125196,1,"𞤮"],[125197,1,"𞤯"],[125198,1,"𞤰"],[125199,1,"𞤱"],[125200,1,"𞤲"],[125201,1,"𞤳"],[125202,1,"𞤴"],[125203,1,"𞤵"],[125204,1,"𞤶"],[125205,1,"𞤷"],[125206,1,"𞤸"],[125207,1,"𞤹"],[125208,1,"𞤺"],[125209,1,"𞤻"],[125210,1,"𞤼"],[125211,1,"𞤽"],[125212,1,"𞤾"],[125213,1,"𞤿"],[125214,1,"𞥀"],[125215,1,"𞥁"],[125216,1,"𞥂"],[125217,1,"𞥃"],[[125218,125258],2],[125259,2],[[125260,125263],3],[[125264,125273],2],[[125274,125277],3],[[125278,125279],2],[[125280,126064],3],[[126065,126132],2],[[126133,126208],3],[[126209,126269],2],[[126270,126463],3],[126464,1,"ا"],[126465,1,"ب"],[126466,1,"ج"],[126467,1,"د"],[126468,3],[126469,1,"و"],[126470,1,"ز"],[126471,1,"ح"],[126472,1,"ط"],[126473,1,"ي"],[126474,1,"ك"],[126475,1,"ل"],[126476,1,"م"],[126477,1,"ن"],[126478,1,"س"],[126479,1,"ع"],[126480,1,"ف"],[126481,1,"ص"],[126482,1,"ق"],[126483,1,"ر"],[126484,1,"ش"],[126485,1,"ت"],[126486,1,"ث"],[126487,1,"خ"],[126488,1,"ذ"],[126489,1,"ض"],[126490,1,"ظ"],[126491,1,"غ"],[126492,1,"ٮ"],[126493,1,"ں"],[126494,1,"ڡ"],[126495,1,"ٯ"],[126496,3],[126497,1,"ب"],[126498,1,"ج"],[126499,3],[126500,1,"ه"],[[126501,126502],3],[126503,1,"ح"],[126504,3],[126505,1,"ي"],[126506,1,"ك"],[126507,1,"ل"],[126508,1,"م"],[126509,1,"ن"],[126510,1,"س"],[126511,1,"ع"],[126512,1,"ف"],[126513,1,"ص"],[126514,1,"ق"],[126515,3],[126516,1,"ش"],[126517,1,"ت"],[126518,1,"ث"],[126519,1,"خ"],[126520,3],[126521,1,"ض"],[126522,3],[126523,1,"غ"],[[126524,126529],3],[126530,1,"ج"],[[126531,126534],3],[126535,1,"ح"],[126536,3],[126537,1,"ي"],[126538,3],[126539,1,"ل"],[126540,3],[126541,1,"ن"],[126542,1,"س"],[126543,1,"ع"],[126544,3],[126545,1,"ص"],[126546,1,"ق"],[126547,3],[126548,1,"ش"],[[126549,126550],3],[126551,1,"خ"],[126552,3],[126553,1,"ض"],[126554,3],[126555,1,"غ"],[126556,3],[126557,1,"ں"],[126558,3],[126559,1,"ٯ"],[126560,3],[126561,1,"ب"],[126562,1,"ج"],[126563,3],[126564,1,"ه"],[[126565,126566],3],[126567,1,"ح"],[126568,1,"ط"],[126569,1,"ي"],[126570,1,"ك"],[126571,3],[126572,1,"م"],[126573,1,"ن"],[126574,1,"س"],[126575,1,"ع"],[126576,1,"ف"],[126577,1,"ص"],[126578,1,"ق"],[126579,3],[126580,1,"ش"],[126581,1,"ت"],[126582,1,"ث"],[126583,1,"خ"],[126584,3],[126585,1,"ض"],[126586,1,"ظ"],[126587,1,"غ"],[126588,1,"ٮ"],[126589,3],[126590,1,"ڡ"],[126591,3],[126592,1,"ا"],[126593,1,"ب"],[126594,1,"ج"],[126595,1,"د"],[126596,1,"ه"],[126597,1,"و"],[126598,1,"ز"],[126599,1,"ح"],[126600,1,"ط"],[126601,1,"ي"],[126602,3],[126603,1,"ل"],[126604,1,"م"],[126605,1,"ن"],[126606,1,"س"],[126607,1,"ع"],[126608,1,"ف"],[126609,1,"ص"],[126610,1,"ق"],[126611,1,"ر"],[126612,1,"ش"],[126613,1,"ت"],[126614,1,"ث"],[126615,1,"خ"],[126616,1,"ذ"],[126617,1,"ض"],[126618,1,"ظ"],[126619,1,"غ"],[[126620,126624],3],[126625,1,"ب"],[126626,1,"ج"],[126627,1,"د"],[126628,3],[126629,1,"و"],[126630,1,"ز"],[126631,1,"ح"],[126632,1,"ط"],[126633,1,"ي"],[126634,3],[126635,1,"ل"],[126636,1,"م"],[126637,1,"ن"],[126638,1,"س"],[126639,1,"ع"],[126640,1,"ف"],[126641,1,"ص"],[126642,1,"ق"],[126643,1,"ر"],[126644,1,"ش"],[126645,1,"ت"],[126646,1,"ث"],[126647,1,"خ"],[126648,1,"ذ"],[126649,1,"ض"],[126650,1,"ظ"],[126651,1,"غ"],[[126652,126703],3],[[126704,126705],2],[[126706,126975],3],[[126976,127019],2],[[127020,127023],3],[[127024,127123],2],[[127124,127135],3],[[127136,127150],2],[[127151,127152],3],[[127153,127166],2],[127167,2],[127168,3],[[127169,127183],2],[127184,3],[[127185,127199],2],[[127200,127221],2],[[127222,127231],3],[127232,3],[127233,1,"0,"],[127234,1,"1,"],[127235,1,"2,"],[127236,1,"3,"],[127237,1,"4,"],[127238,1,"5,"],[127239,1,"6,"],[127240,1,"7,"],[127241,1,"8,"],[127242,1,"9,"],[[127243,127244],2],[[127245,127247],2],[127248,1,"(a)"],[127249,1,"(b)"],[127250,1,"(c)"],[127251,1,"(d)"],[127252,1,"(e)"],[127253,1,"(f)"],[127254,1,"(g)"],[127255,1,"(h)"],[127256,1,"(i)"],[127257,1,"(j)"],[127258,1,"(k)"],[127259,1,"(l)"],[127260,1,"(m)"],[127261,1,"(n)"],[127262,1,"(o)"],[127263,1,"(p)"],[127264,1,"(q)"],[127265,1,"(r)"],[127266,1,"(s)"],[127267,1,"(t)"],[127268,1,"(u)"],[127269,1,"(v)"],[127270,1,"(w)"],[127271,1,"(x)"],[127272,1,"(y)"],[127273,1,"(z)"],[127274,1,"〔s〕"],[127275,1,"c"],[127276,1,"r"],[127277,1,"cd"],[127278,1,"wz"],[127279,2],[127280,1,"a"],[127281,1,"b"],[127282,1,"c"],[127283,1,"d"],[127284,1,"e"],[127285,1,"f"],[127286,1,"g"],[127287,1,"h"],[127288,1,"i"],[127289,1,"j"],[127290,1,"k"],[127291,1,"l"],[127292,1,"m"],[127293,1,"n"],[127294,1,"o"],[127295,1,"p"],[127296,1,"q"],[127297,1,"r"],[127298,1,"s"],[127299,1,"t"],[127300,1,"u"],[127301,1,"v"],[127302,1,"w"],[127303,1,"x"],[127304,1,"y"],[127305,1,"z"],[127306,1,"hv"],[127307,1,"mv"],[127308,1,"sd"],[127309,1,"ss"],[127310,1,"ppv"],[127311,1,"wc"],[[127312,127318],2],[127319,2],[[127320,127326],2],[127327,2],[[127328,127337],2],[127338,1,"mc"],[127339,1,"md"],[127340,1,"mr"],[[127341,127343],2],[[127344,127352],2],[127353,2],[127354,2],[[127355,127356],2],[[127357,127358],2],[127359,2],[[127360,127369],2],[[127370,127373],2],[[127374,127375],2],[127376,1,"dj"],[[127377,127386],2],[[127387,127404],2],[127405,2],[[127406,127461],3],[[127462,127487],2],[127488,1,"ほか"],[127489,1,"ココ"],[127490,1,"サ"],[[127491,127503],3],[127504,1,"手"],[127505,1,"字"],[127506,1,"双"],[127507,1,"デ"],[127508,1,"二"],[127509,1,"多"],[127510,1,"解"],[127511,1,"天"],[127512,1,"交"],[127513,1,"映"],[127514,1,"無"],[127515,1,"料"],[127516,1,"前"],[127517,1,"後"],[127518,1,"再"],[127519,1,"新"],[127520,1,"初"],[127521,1,"終"],[127522,1,"生"],[127523,1,"販"],[127524,1,"声"],[127525,1,"吹"],[127526,1,"演"],[127527,1,"投"],[127528,1,"捕"],[127529,1,"一"],[127530,1,"三"],[127531,1,"遊"],[127532,1,"左"],[127533,1,"中"],[127534,1,"右"],[127535,1,"指"],[127536,1,"走"],[127537,1,"打"],[127538,1,"禁"],[127539,1,"空"],[127540,1,"合"],[127541,1,"満"],[127542,1,"有"],[127543,1,"月"],[127544,1,"申"],[127545,1,"割"],[127546,1,"営"],[127547,1,"配"],[[127548,127551],3],[127552,1,"〔本〕"],[127553,1,"〔三〕"],[127554,1,"〔二〕"],[127555,1,"〔安〕"],[127556,1,"〔点〕"],[127557,1,"〔打〕"],[127558,1,"〔盗〕"],[127559,1,"〔勝〕"],[127560,1,"〔敗〕"],[[127561,127567],3],[127568,1,"得"],[127569,1,"可"],[[127570,127583],3],[[127584,127589],2],[[127590,127743],3],[[127744,127776],2],[[127777,127788],2],[[127789,127791],2],[[127792,127797],2],[127798,2],[[127799,127868],2],[127869,2],[[127870,127871],2],[[127872,127891],2],[[127892,127903],2],[[127904,127940],2],[127941,2],[[127942,127946],2],[[127947,127950],2],[[127951,127955],2],[[127956,127967],2],[[127968,127984],2],[[127985,127991],2],[[127992,127999],2],[[128000,128062],2],[128063,2],[128064,2],[128065,2],[[128066,128247],2],[128248,2],[[128249,128252],2],[[128253,128254],2],[128255,2],[[128256,128317],2],[[128318,128319],2],[[128320,128323],2],[[128324,128330],2],[[128331,128335],2],[[128336,128359],2],[[128360,128377],2],[128378,2],[[128379,128419],2],[128420,2],[[128421,128506],2],[[128507,128511],2],[128512,2],[[128513,128528],2],[128529,2],[[128530,128532],2],[128533,2],[128534,2],[128535,2],[128536,2],[128537,2],[128538,2],[128539,2],[[128540,128542],2],[128543,2],[[128544,128549],2],[[128550,128551],2],[[128552,128555],2],[128556,2],[128557,2],[[128558,128559],2],[[128560,128563],2],[128564,2],[[128565,128576],2],[[128577,128578],2],[[128579,128580],2],[[128581,128591],2],[[128592,128639],2],[[128640,128709],2],[[128710,128719],2],[128720,2],[[128721,128722],2],[[128723,128724],2],[128725,2],[[128726,128727],2],[[128728,128731],3],[128732,2],[[128733,128735],2],[[128736,128748],2],[[128749,128751],3],[[128752,128755],2],[[128756,128758],2],[[128759,128760],2],[128761,2],[128762,2],[[128763,128764],2],[[128765,128767],3],[[128768,128883],2],[[128884,128886],2],[[128887,128890],3],[[128891,128895],2],[[128896,128980],2],[[128981,128984],2],[128985,2],[[128986,128991],3],[[128992,129003],2],[[129004,129007],3],[129008,2],[[129009,129023],3],[[129024,129035],2],[[129036,129039],3],[[129040,129095],2],[[129096,129103],3],[[129104,129113],2],[[129114,129119],3],[[129120,129159],2],[[129160,129167],3],[[129168,129197],2],[[129198,129199],3],[[129200,129201],2],[[129202,129211],2],[[129212,129215],3],[[129216,129217],2],[[129218,129279],3],[[129280,129291],2],[129292,2],[[129293,129295],2],[[129296,129304],2],[[129305,129310],2],[129311,2],[[129312,129319],2],[[129320,129327],2],[129328,2],[[129329,129330],2],[[129331,129342],2],[129343,2],[[129344,129355],2],[129356,2],[[129357,129359],2],[[129360,129374],2],[[129375,129387],2],[[129388,129392],2],[129393,2],[129394,2],[[129395,129398],2],[[129399,129400],2],[129401,2],[129402,2],[129403,2],[[129404,129407],2],[[129408,129412],2],[[129413,129425],2],[[129426,129431],2],[[129432,129442],2],[[129443,129444],2],[[129445,129450],2],[[129451,129453],2],[[129454,129455],2],[[129456,129465],2],[[129466,129471],2],[129472,2],[[129473,129474],2],[[129475,129482],2],[129483,2],[129484,2],[[129485,129487],2],[[129488,129510],2],[[129511,129535],2],[[129536,129619],2],[[129620,129631],3],[[129632,129645],2],[[129646,129647],3],[[129648,129651],2],[129652,2],[[129653,129655],2],[[129656,129658],2],[[129659,129660],2],[[129661,129663],3],[[129664,129666],2],[[129667,129670],2],[[129671,129672],2],[129673,2],[[129674,129678],3],[129679,2],[[129680,129685],2],[[129686,129704],2],[[129705,129708],2],[[129709,129711],2],[[129712,129718],2],[[129719,129722],2],[[129723,129725],2],[129726,2],[129727,2],[[129728,129730],2],[[129731,129733],2],[129734,2],[[129735,129741],3],[[129742,129743],2],[[129744,129750],2],[[129751,129753],2],[[129754,129755],2],[129756,2],[[129757,129758],3],[129759,2],[[129760,129767],2],[129768,2],[129769,2],[[129770,129775],3],[[129776,129782],2],[[129783,129784],2],[[129785,129791],3],[[129792,129938],2],[129939,3],[[129940,129994],2],[[129995,130031],2],[130032,1,"0"],[130033,1,"1"],[130034,1,"2"],[130035,1,"3"],[130036,1,"4"],[130037,1,"5"],[130038,1,"6"],[130039,1,"7"],[130040,1,"8"],[130041,1,"9"],[[130042,131069],3],[[131070,131071],3],[[131072,173782],2],[[173783,173789],2],[[173790,173791],2],[[173792,173823],3],[[173824,177972],2],[[177973,177976],2],[177977,2],[[177978,177983],3],[[177984,178205],2],[[178206,178207],3],[[178208,183969],2],[[183970,183983],3],[[183984,191456],2],[[191457,191471],3],[[191472,192093],2],[[192094,194559],3],[194560,1,"丽"],[194561,1,"丸"],[194562,1,"乁"],[194563,1,"𠄢"],[194564,1,"你"],[194565,1,"侮"],[194566,1,"侻"],[194567,1,"倂"],[194568,1,"偺"],[194569,1,"備"],[194570,1,"僧"],[194571,1,"像"],[194572,1,"㒞"],[194573,1,"𠘺"],[194574,1,"免"],[194575,1,"兔"],[194576,1,"兤"],[194577,1,"具"],[194578,1,"𠔜"],[194579,1,"㒹"],[194580,1,"內"],[194581,1,"再"],[194582,1,"𠕋"],[194583,1,"冗"],[194584,1,"冤"],[194585,1,"仌"],[194586,1,"冬"],[194587,1,"况"],[194588,1,"𩇟"],[194589,1,"凵"],[194590,1,"刃"],[194591,1,"㓟"],[194592,1,"刻"],[194593,1,"剆"],[194594,1,"割"],[194595,1,"剷"],[194596,1,"㔕"],[194597,1,"勇"],[194598,1,"勉"],[194599,1,"勤"],[194600,1,"勺"],[194601,1,"包"],[194602,1,"匆"],[194603,1,"北"],[194604,1,"卉"],[194605,1,"卑"],[194606,1,"博"],[194607,1,"即"],[194608,1,"卽"],[[194609,194611],1,"卿"],[194612,1,"𠨬"],[194613,1,"灰"],[194614,1,"及"],[194615,1,"叟"],[194616,1,"𠭣"],[194617,1,"叫"],[194618,1,"叱"],[194619,1,"吆"],[194620,1,"咞"],[194621,1,"吸"],[194622,1,"呈"],[194623,1,"周"],[194624,1,"咢"],[194625,1,"哶"],[194626,1,"唐"],[194627,1,"啓"],[194628,1,"啣"],[[194629,194630],1,"善"],[194631,1,"喙"],[194632,1,"喫"],[194633,1,"喳"],[194634,1,"嗂"],[194635,1,"圖"],[194636,1,"嘆"],[194637,1,"圗"],[194638,1,"噑"],[194639,1,"噴"],[194640,1,"切"],[194641,1,"壮"],[194642,1,"城"],[194643,1,"埴"],[194644,1,"堍"],[194645,1,"型"],[194646,1,"堲"],[194647,1,"報"],[194648,1,"墬"],[194649,1,"𡓤"],[194650,1,"売"],[194651,1,"壷"],[194652,1,"夆"],[194653,1,"多"],[194654,1,"夢"],[194655,1,"奢"],[194656,1,"𡚨"],[194657,1,"𡛪"],[194658,1,"姬"],[194659,1,"娛"],[194660,1,"娧"],[194661,1,"姘"],[194662,1,"婦"],[194663,1,"㛮"],[194664,1,"㛼"],[194665,1,"嬈"],[[194666,194667],1,"嬾"],[194668,1,"𡧈"],[194669,1,"寃"],[194670,1,"寘"],[194671,1,"寧"],[194672,1,"寳"],[194673,1,"𡬘"],[194674,1,"寿"],[194675,1,"将"],[194676,1,"当"],[194677,1,"尢"],[194678,1,"㞁"],[194679,1,"屠"],[194680,1,"屮"],[194681,1,"峀"],[194682,1,"岍"],[194683,1,"𡷤"],[194684,1,"嵃"],[194685,1,"𡷦"],[194686,1,"嵮"],[194687,1,"嵫"],[194688,1,"嵼"],[194689,1,"巡"],[194690,1,"巢"],[194691,1,"㠯"],[194692,1,"巽"],[194693,1,"帨"],[194694,1,"帽"],[194695,1,"幩"],[194696,1,"㡢"],[194697,1,"𢆃"],[194698,1,"㡼"],[194699,1,"庰"],[194700,1,"庳"],[194701,1,"庶"],[194702,1,"廊"],[194703,1,"𪎒"],[194704,1,"廾"],[[194705,194706],1,"𢌱"],[194707,1,"舁"],[[194708,194709],1,"弢"],[194710,1,"㣇"],[194711,1,"𣊸"],[194712,1,"𦇚"],[194713,1,"形"],[194714,1,"彫"],[194715,1,"㣣"],[194716,1,"徚"],[194717,1,"忍"],[194718,1,"志"],[194719,1,"忹"],[194720,1,"悁"],[194721,1,"㤺"],[194722,1,"㤜"],[194723,1,"悔"],[194724,1,"𢛔"],[194725,1,"惇"],[194726,1,"慈"],[194727,1,"慌"],[194728,1,"慎"],[194729,1,"慌"],[194730,1,"慺"],[194731,1,"憎"],[194732,1,"憲"],[194733,1,"憤"],[194734,1,"憯"],[194735,1,"懞"],[194736,1,"懲"],[194737,1,"懶"],[194738,1,"成"],[194739,1,"戛"],[194740,1,"扝"],[194741,1,"抱"],[194742,1,"拔"],[194743,1,"捐"],[194744,1,"𢬌"],[194745,1,"挽"],[194746,1,"拼"],[194747,1,"捨"],[194748,1,"掃"],[194749,1,"揤"],[194750,1,"𢯱"],[194751,1,"搢"],[194752,1,"揅"],[194753,1,"掩"],[194754,1,"㨮"],[194755,1,"摩"],[194756,1,"摾"],[194757,1,"撝"],[194758,1,"摷"],[194759,1,"㩬"],[194760,1,"敏"],[194761,1,"敬"],[194762,1,"𣀊"],[194763,1,"旣"],[194764,1,"書"],[194765,1,"晉"],[194766,1,"㬙"],[194767,1,"暑"],[194768,1,"㬈"],[194769,1,"㫤"],[194770,1,"冒"],[194771,1,"冕"],[194772,1,"最"],[194773,1,"暜"],[194774,1,"肭"],[194775,1,"䏙"],[194776,1,"朗"],[194777,1,"望"],[194778,1,"朡"],[194779,1,"杞"],[194780,1,"杓"],[194781,1,"𣏃"],[194782,1,"㭉"],[194783,1,"柺"],[194784,1,"枅"],[194785,1,"桒"],[194786,1,"梅"],[194787,1,"𣑭"],[194788,1,"梎"],[194789,1,"栟"],[194790,1,"椔"],[194791,1,"㮝"],[194792,1,"楂"],[194793,1,"榣"],[194794,1,"槪"],[194795,1,"檨"],[194796,1,"𣚣"],[194797,1,"櫛"],[194798,1,"㰘"],[194799,1,"次"],[194800,1,"𣢧"],[194801,1,"歔"],[194802,1,"㱎"],[194803,1,"歲"],[194804,1,"殟"],[194805,1,"殺"],[194806,1,"殻"],[194807,1,"𣪍"],[194808,1,"𡴋"],[194809,1,"𣫺"],[194810,1,"汎"],[194811,1,"𣲼"],[194812,1,"沿"],[194813,1,"泍"],[194814,1,"汧"],[194815,1,"洖"],[194816,1,"派"],[194817,1,"海"],[194818,1,"流"],[194819,1,"浩"],[194820,1,"浸"],[194821,1,"涅"],[194822,1,"𣴞"],[194823,1,"洴"],[194824,1,"港"],[194825,1,"湮"],[194826,1,"㴳"],[194827,1,"滋"],[194828,1,"滇"],[194829,1,"𣻑"],[194830,1,"淹"],[194831,1,"潮"],[194832,1,"𣽞"],[194833,1,"𣾎"],[194834,1,"濆"],[194835,1,"瀹"],[194836,1,"瀞"],[194837,1,"瀛"],[194838,1,"㶖"],[194839,1,"灊"],[194840,1,"災"],[194841,1,"灷"],[194842,1,"炭"],[194843,1,"𠔥"],[194844,1,"煅"],[194845,1,"𤉣"],[194846,1,"熜"],[194847,1,"𤎫"],[194848,1,"爨"],[194849,1,"爵"],[194850,1,"牐"],[194851,1,"𤘈"],[194852,1,"犀"],[194853,1,"犕"],[194854,1,"𤜵"],[194855,1,"𤠔"],[194856,1,"獺"],[194857,1,"王"],[194858,1,"㺬"],[194859,1,"玥"],[[194860,194861],1,"㺸"],[194862,1,"瑇"],[194863,1,"瑜"],[194864,1,"瑱"],[194865,1,"璅"],[194866,1,"瓊"],[194867,1,"㼛"],[194868,1,"甤"],[194869,1,"𤰶"],[194870,1,"甾"],[194871,1,"𤲒"],[194872,1,"異"],[194873,1,"𢆟"],[194874,1,"瘐"],[194875,1,"𤾡"],[194876,1,"𤾸"],[194877,1,"𥁄"],[194878,1,"㿼"],[194879,1,"䀈"],[194880,1,"直"],[194881,1,"𥃳"],[194882,1,"𥃲"],[194883,1,"𥄙"],[194884,1,"𥄳"],[194885,1,"眞"],[[194886,194887],1,"真"],[194888,1,"睊"],[194889,1,"䀹"],[194890,1,"瞋"],[194891,1,"䁆"],[194892,1,"䂖"],[194893,1,"𥐝"],[194894,1,"硎"],[194895,1,"碌"],[194896,1,"磌"],[194897,1,"䃣"],[194898,1,"𥘦"],[194899,1,"祖"],[194900,1,"𥚚"],[194901,1,"𥛅"],[194902,1,"福"],[194903,1,"秫"],[194904,1,"䄯"],[194905,1,"穀"],[194906,1,"穊"],[194907,1,"穏"],[194908,1,"𥥼"],[[194909,194910],1,"𥪧"],[194911,1,"竮"],[194912,1,"䈂"],[194913,1,"𥮫"],[194914,1,"篆"],[194915,1,"築"],[194916,1,"䈧"],[194917,1,"𥲀"],[194918,1,"糒"],[194919,1,"䊠"],[194920,1,"糨"],[194921,1,"糣"],[194922,1,"紀"],[194923,1,"𥾆"],[194924,1,"絣"],[194925,1,"䌁"],[194926,1,"緇"],[194927,1,"縂"],[194928,1,"繅"],[194929,1,"䌴"],[194930,1,"𦈨"],[194931,1,"𦉇"],[194932,1,"䍙"],[194933,1,"𦋙"],[194934,1,"罺"],[194935,1,"𦌾"],[194936,1,"羕"],[194937,1,"翺"],[194938,1,"者"],[194939,1,"𦓚"],[194940,1,"𦔣"],[194941,1,"聠"],[194942,1,"𦖨"],[194943,1,"聰"],[194944,1,"𣍟"],[194945,1,"䏕"],[194946,1,"育"],[194947,1,"脃"],[194948,1,"䐋"],[194949,1,"脾"],[194950,1,"媵"],[194951,1,"𦞧"],[194952,1,"𦞵"],[194953,1,"𣎓"],[194954,1,"𣎜"],[194955,1,"舁"],[194956,1,"舄"],[194957,1,"辞"],[194958,1,"䑫"],[194959,1,"芑"],[194960,1,"芋"],[194961,1,"芝"],[194962,1,"劳"],[194963,1,"花"],[194964,1,"芳"],[194965,1,"芽"],[194966,1,"苦"],[194967,1,"𦬼"],[194968,1,"若"],[194969,1,"茝"],[194970,1,"荣"],[194971,1,"莭"],[194972,1,"茣"],[194973,1,"莽"],[194974,1,"菧"],[194975,1,"著"],[194976,1,"荓"],[194977,1,"菊"],[194978,1,"菌"],[194979,1,"菜"],[194980,1,"𦰶"],[194981,1,"𦵫"],[194982,1,"𦳕"],[194983,1,"䔫"],[194984,1,"蓱"],[194985,1,"蓳"],[194986,1,"蔖"],[194987,1,"𧏊"],[194988,1,"蕤"],[194989,1,"𦼬"],[194990,1,"䕝"],[194991,1,"䕡"],[194992,1,"𦾱"],[194993,1,"𧃒"],[194994,1,"䕫"],[194995,1,"虐"],[194996,1,"虜"],[194997,1,"虧"],[194998,1,"虩"],[194999,1,"蚩"],[195000,1,"蚈"],[195001,1,"蜎"],[195002,1,"蛢"],[195003,1,"蝹"],[195004,1,"蜨"],[195005,1,"蝫"],[195006,1,"螆"],[195007,1,"䗗"],[195008,1,"蟡"],[195009,1,"蠁"],[195010,1,"䗹"],[195011,1,"衠"],[195012,1,"衣"],[195013,1,"𧙧"],[195014,1,"裗"],[195015,1,"裞"],[195016,1,"䘵"],[195017,1,"裺"],[195018,1,"㒻"],[195019,1,"𧢮"],[195020,1,"𧥦"],[195021,1,"䚾"],[195022,1,"䛇"],[195023,1,"誠"],[195024,1,"諭"],[195025,1,"變"],[195026,1,"豕"],[195027,1,"𧲨"],[195028,1,"貫"],[195029,1,"賁"],[195030,1,"贛"],[195031,1,"起"],[195032,1,"𧼯"],[195033,1,"𠠄"],[195034,1,"跋"],[195035,1,"趼"],[195036,1,"跰"],[195037,1,"𠣞"],[195038,1,"軔"],[195039,1,"輸"],[195040,1,"𨗒"],[195041,1,"𨗭"],[195042,1,"邔"],[195043,1,"郱"],[195044,1,"鄑"],[195045,1,"𨜮"],[195046,1,"鄛"],[195047,1,"鈸"],[195048,1,"鋗"],[195049,1,"鋘"],[195050,1,"鉼"],[195051,1,"鏹"],[195052,1,"鐕"],[195053,1,"𨯺"],[195054,1,"開"],[195055,1,"䦕"],[195056,1,"閷"],[195057,1,"𨵷"],[195058,1,"䧦"],[195059,1,"雃"],[195060,1,"嶲"],[195061,1,"霣"],[195062,1,"𩅅"],[195063,1,"𩈚"],[195064,1,"䩮"],[195065,1,"䩶"],[195066,1,"韠"],[195067,1,"𩐊"],[195068,1,"䪲"],[195069,1,"𩒖"],[[195070,195071],1,"頋"],[195072,1,"頩"],[195073,1,"𩖶"],[195074,1,"飢"],[195075,1,"䬳"],[195076,1,"餩"],[195077,1,"馧"],[195078,1,"駂"],[195079,1,"駾"],[195080,1,"䯎"],[195081,1,"𩬰"],[195082,1,"鬒"],[195083,1,"鱀"],[195084,1,"鳽"],[195085,1,"䳎"],[195086,1,"䳭"],[195087,1,"鵧"],[195088,1,"𪃎"],[195089,1,"䳸"],[195090,1,"𪄅"],[195091,1,"𪈎"],[195092,1,"𪊑"],[195093,1,"麻"],[195094,1,"䵖"],[195095,1,"黹"],[195096,1,"黾"],[195097,1,"鼅"],[195098,1,"鼏"],[195099,1,"鼖"],[195100,1,"鼻"],[195101,1,"𪘀"],[[195102,196605],3],[[196606,196607],3],[[196608,201546],2],[[201547,201551],3],[[201552,205743],2],[[205744,262141],3],[[262142,262143],3],[[262144,327677],3],[[327678,327679],3],[[327680,393213],3],[[393214,393215],3],[[393216,458749],3],[[458750,458751],3],[[458752,524285],3],[[524286,524287],3],[[524288,589821],3],[[589822,589823],3],[[589824,655357],3],[[655358,655359],3],[[655360,720893],3],[[720894,720895],3],[[720896,786429],3],[[786430,786431],3],[[786432,851965],3],[[851966,851967],3],[[851968,917501],3],[[917502,917503],3],[917504,3],[917505,3],[[917506,917535],3],[[917536,917631],3],[[917632,917759],3],[[917760,917999],7],[[918000,983037],3],[[983038,983039],3],[[983040,1048573],3],[[1048574,1048575],3],[[1048576,1114109],3],[[1114110,1114111],3]]'); /***/ }), /***/ "./node_modules/tr46/lib/regexes.js": /*!******************************************!*\ !*** ./node_modules/tr46/lib/regexes.js ***! \******************************************/ /***/ ((module) => { "use strict"; const combiningMarks = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10D69}-\u{10D6D}\u{10EAB}\u{10EAC}\u{10EFC}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11000}-\u{11002}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11082}\u{110B0}-\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{11134}\u{11145}\u{11146}\u{11173}\u{11180}-\u{11182}\u{111B3}-\u{111C0}\u{111C9}-\u{111CC}\u{111CE}\u{111CF}\u{1122C}-\u{11237}\u{1123E}\u{11241}\u{112DF}-\u{112EA}\u{11300}-\u{11303}\u{1133B}\u{1133C}\u{1133E}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11357}\u{11362}\u{11363}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{113B8}-\u{113C0}\u{113C2}\u{113C5}\u{113C7}-\u{113CA}\u{113CC}-\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{11435}-\u{11446}\u{1145E}\u{114B0}-\u{114C3}\u{115AF}-\u{115B5}\u{115B8}-\u{115C0}\u{115DC}\u{115DD}\u{11630}-\u{11640}\u{116AB}-\u{116B7}\u{1171D}-\u{1172B}\u{1182C}-\u{1183A}\u{11930}-\u{11935}\u{11937}\u{11938}\u{1193B}-\u{1193E}\u{11940}\u{11942}\u{11943}\u{119D1}-\u{119D7}\u{119DA}-\u{119E0}\u{119E4}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A39}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A5B}\u{11A8A}-\u{11A99}\u{11C2F}-\u{11C36}\u{11C38}-\u{11C3F}\u{11C92}-\u{11CA7}\u{11CA9}-\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D8A}-\u{11D8E}\u{11D90}\u{11D91}\u{11D93}-\u{11D97}\u{11EF3}-\u{11EF6}\u{11F00}\u{11F01}\u{11F03}\u{11F34}-\u{11F3A}\u{11F3E}-\u{11F42}\u{11F5A}\u{13440}\u{13447}-\u{13455}\u{1611E}-\u{1612F}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F51}-\u{16F87}\u{16F8F}-\u{16F92}\u{16FE4}\u{16FF0}\u{16FF1}\u{1BC9D}\u{1BC9E}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D165}-\u{1D169}\u{1D16D}-\u{1D172}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E5EE}\u{1E5EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]/u; const combiningClassVirama = /[\u094D\u09CD\u0A4D\u0ACD\u0B4D\u0BCD\u0C4D\u0CCD\u0D3B\u0D3C\u0D4D\u0DCA\u0E3A\u0EBA\u0F84\u1039\u103A\u1714\u1715\u1734\u17D2\u1A60\u1B44\u1BAA\u1BAB\u1BF2\u1BF3\u2D7F\uA806\uA82C\uA8C4\uA953\uA9C0\uAAF6\uABED\u{10A3F}\u{11046}\u{11070}\u{1107F}\u{110B9}\u{11133}\u{11134}\u{111C0}\u{11235}\u{112EA}\u{1134D}\u{113CE}-\u{113D0}\u{11442}\u{114C2}\u{115BF}\u{1163F}\u{116B6}\u{1172B}\u{11839}\u{1193D}\u{1193E}\u{119E0}\u{11A34}\u{11A47}\u{11A99}\u{11C3F}\u{11D44}\u{11D45}\u{11D97}\u{11F41}\u{11F42}\u{1612F}]/u; const validZWNJ = /[\u0620\u0626\u0628\u062A-\u062E\u0633-\u063F\u0641-\u0647\u0649\u064A\u066E\u066F\u0678-\u0687\u069A-\u06BF\u06C1\u06C2\u06CC\u06CE\u06D0\u06D1\u06FA-\u06FC\u06FF\u0712-\u0714\u071A-\u071D\u071F-\u0727\u0729\u072B\u072D\u072E\u074E-\u0758\u075C-\u076A\u076D-\u0770\u0772\u0775-\u0777\u077A-\u077F\u07CA-\u07EA\u0841-\u0845\u0848\u084A-\u0853\u0855\u0860\u0862-\u0865\u0868\u0886\u0889-\u088D\u08A0-\u08A9\u08AF\u08B0\u08B3-\u08B8\u08BA-\u08C8\u1807\u1820-\u1878\u1887-\u18A8\u18AA\uA840-\uA872\u{10AC0}-\u{10AC4}\u{10ACD}\u{10AD3}-\u{10ADC}\u{10ADE}-\u{10AE0}\u{10AEB}-\u{10AEE}\u{10B80}\u{10B82}\u{10B86}-\u{10B88}\u{10B8A}\u{10B8B}\u{10B8D}\u{10B90}\u{10BAD}\u{10BAE}\u{10D00}-\u{10D21}\u{10D23}\u{10EC3}\u{10EC4}\u{10F30}-\u{10F32}\u{10F34}-\u{10F44}\u{10F51}-\u{10F53}\u{10F70}-\u{10F73}\u{10F76}-\u{10F81}\u{10FB0}\u{10FB2}\u{10FB3}\u{10FB8}\u{10FBB}\u{10FBC}\u{10FBE}\u{10FBF}\u{10FC1}\u{10FC4}\u{10FCA}\u{10FCB}\u{1E900}-\u{1E943}][\xAD\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u061C\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200B\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFEFF\uFFF9-\uFFFB\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10D69}-\u{10D6D}\u{10EAB}\u{10EAC}\u{10EFC}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{113BB}-\u{113C0}\u{113CE}\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C3F}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{11F5A}\u{13430}-\u{13440}\u{13447}-\u{13455}\u{1611E}-\u{16129}\u{1612D}-\u{1612F}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E5EE}\u{1E5EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94B}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*\u200C[\xAD\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u061C\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200B\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFEFF\uFFF9-\uFFFB\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10D69}-\u{10D6D}\u{10EAB}\u{10EAC}\u{10EFC}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{113BB}-\u{113C0}\u{113CE}\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C3F}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{11F5A}\u{13430}-\u{13440}\u{13447}-\u{13455}\u{1611E}-\u{16129}\u{1612D}-\u{1612F}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E5EE}\u{1E5EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94B}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*[\u0620\u0622-\u063F\u0641-\u064A\u066E\u066F\u0671-\u0673\u0675-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u077F\u07CA-\u07EA\u0840-\u0858\u0860\u0862-\u0865\u0867-\u086A\u0870-\u0882\u0886\u0889-\u088E\u08A0-\u08AC\u08AE-\u08C8\u1807\u1820-\u1878\u1887-\u18A8\u18AA\uA840-\uA871\u{10AC0}-\u{10AC5}\u{10AC7}\u{10AC9}\u{10ACA}\u{10ACE}-\u{10AD6}\u{10AD8}-\u{10AE1}\u{10AE4}\u{10AEB}-\u{10AEF}\u{10B80}-\u{10B91}\u{10BA9}-\u{10BAE}\u{10D01}-\u{10D23}\u{10EC2}-\u{10EC4}\u{10F30}-\u{10F44}\u{10F51}-\u{10F54}\u{10F70}-\u{10F81}\u{10FB0}\u{10FB2}-\u{10FB6}\u{10FB8}-\u{10FBF}\u{10FC1}-\u{10FC4}\u{10FC9}\u{10FCA}\u{1E900}-\u{1E943}]/u; const bidiDomain = /[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0605\u0608\u060B\u060D\u061B-\u064A\u0660-\u0669\u066B-\u066F\u0671-\u06D5\u06DD\u06E5\u06E6\u06EE\u06EF\u06FA-\u070D\u070F\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u083E\u0840-\u0858\u085E\u0860-\u086A\u0870-\u088E\u0890\u0891\u08A0-\u08C9\u08E2\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFC\uFE70-\uFE74\uFE76-\uFEFC\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{10920}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A40}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE4}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D23}\u{10D30}-\u{10D39}\u{10D40}-\u{10D65}\u{10D6F}-\u{10D85}\u{10D8E}\u{10D8F}\u{10E60}-\u{10E7E}\u{10E80}-\u{10EA9}\u{10EAD}\u{10EB0}\u{10EB1}\u{10EC2}-\u{10EC4}\u{10F00}-\u{10F27}\u{10F30}-\u{10F45}\u{10F51}-\u{10F59}\u{10F70}-\u{10F81}\u{10F86}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8CF}\u{1E900}-\u{1E943}\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}]/u; const bidiS1LTR = /[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02BB-\u02C1\u02D0\u02D1\u02E0-\u02E4\u02EE\u0370-\u0373\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0482\u048A-\u052F\u0531-\u0556\u0559-\u0589\u0903-\u0939\u093B\u093D-\u0940\u0949-\u094C\u094E-\u0950\u0958-\u0961\u0964-\u0980\u0982\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C0\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09FA\u09FC\u09FD\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A40\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A76\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC0\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0\u0AE1\u0AE6-\u0AF0\u0AF9\u0B02\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0BE6-\u0BF2\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C41-\u0C44\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C77\u0C7F\u0C80\u0C82-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D02-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D4F\u0D54-\u0D61\u0D66-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E4F-\u0E5B\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00-\u0F17\u0F1A-\u0F34\u0F36\u0F38\u0F3E-\u0F47\u0F49-\u0F6C\u0F7F\u0F85\u0F88-\u0F8C\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE-\u0FDA\u1000-\u102C\u1031\u1038\u103B\u103C\u103F-\u1057\u105A-\u105D\u1061-\u1070\u1075-\u1081\u1083\u1084\u1087-\u108C\u108E-\u109C\u109E-\u10C5\u10C7\u10CD\u10D0-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1360-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u167F\u1681-\u169A\u16A0-\u16F8\u1700-\u1711\u1715\u171F-\u1731\u1734-\u1736\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17B6\u17BE-\u17C5\u17C7\u17C8\u17D4-\u17DA\u17DC\u17E0-\u17E9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A19\u1A1A\u1A1E-\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1A80-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD\u1B04-\u1B33\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B4C\u1B4E-\u1B6A\u1B74-\u1B7F\u1B82-\u1BA1\u1BA6\u1BA7\u1BAA\u1BAE-\u1BE5\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1BFC-\u1C2B\u1C34\u1C35\u1C3B-\u1C49\u1C4D-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CC7\u1CD3\u1CE1\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF7\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200E\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u214F\u2160-\u2188\u2336-\u237A\u2395\u249C-\u24E9\u26AC\u2800-\u28FF\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D70\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u302E\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\u31BF\u31F0-\u321C\u3220-\u324F\u3260-\u327B\u327F-\u32B0\u32C0-\u32CB\u32D0-\u3376\u337B-\u33DD\u33E0-\u33FE\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA60C\uA610-\uA62B\uA640-\uA66E\uA680-\uA69D\uA6A0-\uA6EF\uA6F2-\uA6F7\uA722-\uA787\uA789-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA824\uA827\uA830-\uA837\uA840-\uA873\uA880-\uA8C3\uA8CE-\uA8D9\uA8F2-\uA8FE\uA900-\uA925\uA92E-\uA946\uA952\uA953\uA95F-\uA97C\uA983-\uA9B2\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9CD\uA9CF-\uA9D9\uA9DE-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA2F\uAA30\uAA33\uAA34\uAA40-\uAA42\uAA44-\uAA4B\uAA4D\uAA50-\uAA59\uAA5C-\uAA7B\uAA7D-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAAEB\uAAEE-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB69\uAB70-\uABE4\uABE6\uABE7\uABE9-\uABEC\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10100}\u{10102}\u{10107}-\u{10133}\u{10137}-\u{1013F}\u{1018D}\u{1018E}\u{101D0}-\u{101FC}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{10300}-\u{10323}\u{1032D}-\u{1034A}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{1039F}-\u{103C3}\u{103C8}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{1056F}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{105C0}-\u{105F3}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{11000}\u{11002}-\u{11037}\u{11047}-\u{1104D}\u{11066}-\u{1106F}\u{11071}\u{11072}\u{11075}\u{11082}-\u{110B2}\u{110B7}\u{110B8}\u{110BB}-\u{110C1}\u{110CD}\u{110D0}-\u{110E8}\u{110F0}-\u{110F9}\u{11103}-\u{11126}\u{1112C}\u{11136}-\u{11147}\u{11150}-\u{11172}\u{11174}-\u{11176}\u{11182}-\u{111B5}\u{111BF}-\u{111C8}\u{111CD}\u{111CE}\u{111D0}-\u{111DF}\u{111E1}-\u{111F4}\u{11200}-\u{11211}\u{11213}-\u{1122E}\u{11232}\u{11233}\u{11235}\u{11238}-\u{1123D}\u{1123F}\u{11240}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A9}\u{112B0}-\u{112DE}\u{112E0}-\u{112E2}\u{112F0}-\u{112F9}\u{11302}\u{11303}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}-\u{1133F}\u{11341}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11350}\u{11357}\u{1135D}-\u{11363}\u{11380}-\u{11389}\u{1138B}\u{1138E}\u{11390}-\u{113B5}\u{113B7}-\u{113BA}\u{113C2}\u{113C5}\u{113C7}-\u{113CA}\u{113CC}\u{113CD}\u{113CF}\u{113D1}\u{113D3}-\u{113D5}\u{113D7}\u{113D8}\u{11400}-\u{11437}\u{11440}\u{11441}\u{11445}\u{11447}-\u{1145B}\u{1145D}\u{1145F}-\u{11461}\u{11480}-\u{114B2}\u{114B9}\u{114BB}-\u{114BE}\u{114C1}\u{114C4}-\u{114C7}\u{114D0}-\u{114D9}\u{11580}-\u{115B1}\u{115B8}-\u{115BB}\u{115BE}\u{115C1}-\u{115DB}\u{11600}-\u{11632}\u{1163B}\u{1163C}\u{1163E}\u{11641}-\u{11644}\u{11650}-\u{11659}\u{11680}-\u{116AA}\u{116AC}\u{116AE}\u{116AF}\u{116B6}\u{116B8}\u{116B9}\u{116C0}-\u{116C9}\u{116D0}-\u{116E3}\u{11700}-\u{1171A}\u{1171E}\u{11720}\u{11721}\u{11726}\u{11730}-\u{11746}\u{11800}-\u{1182E}\u{11838}\u{1183B}\u{118A0}-\u{118F2}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{11935}\u{11937}\u{11938}\u{1193D}\u{1193F}-\u{11942}\u{11944}-\u{11946}\u{11950}-\u{11959}\u{119A0}-\u{119A7}\u{119AA}-\u{119D3}\u{119DC}-\u{119DF}\u{119E1}-\u{119E4}\u{11A00}\u{11A07}\u{11A08}\u{11A0B}-\u{11A32}\u{11A39}\u{11A3A}\u{11A3F}-\u{11A46}\u{11A50}\u{11A57}\u{11A58}\u{11A5C}-\u{11A89}\u{11A97}\u{11A9A}-\u{11AA2}\u{11AB0}-\u{11AF8}\u{11B00}-\u{11B09}\u{11BC0}-\u{11BE1}\u{11BF0}-\u{11BF9}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2F}\u{11C3E}-\u{11C45}\u{11C50}-\u{11C6C}\u{11C70}-\u{11C8F}\u{11CA9}\u{11CB1}\u{11CB4}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D50}-\u{11D59}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D8E}\u{11D93}\u{11D94}\u{11D96}\u{11D98}\u{11DA0}-\u{11DA9}\u{11EE0}-\u{11EF2}\u{11EF5}-\u{11EF8}\u{11F02}-\u{11F10}\u{11F12}-\u{11F35}\u{11F3E}\u{11F3F}\u{11F41}\u{11F43}-\u{11F59}\u{11FB0}\u{11FC0}-\u{11FD4}\u{11FFF}-\u{12399}\u{12400}-\u{1246E}\u{12470}-\u{12474}\u{12480}-\u{12543}\u{12F90}-\u{12FF2}\u{13000}-\u{1343F}\u{13441}-\u{13446}\u{13460}-\u{143FA}\u{14400}-\u{14646}\u{16100}-\u{1611D}\u{1612A}-\u{1612C}\u{16130}-\u{16139}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A60}-\u{16A69}\u{16A6E}-\u{16ABE}\u{16AC0}-\u{16AC9}\u{16AD0}-\u{16AED}\u{16AF5}\u{16B00}-\u{16B2F}\u{16B37}-\u{16B45}\u{16B50}-\u{16B59}\u{16B5B}-\u{16B61}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16D40}-\u{16D79}\u{16E40}-\u{16E9A}\u{16F00}-\u{16F4A}\u{16F50}-\u{16F87}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{16FE3}\u{16FF0}\u{16FF1}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18CFF}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1BC9C}\u{1BC9F}\u{1CCD6}-\u{1CCEF}\u{1CF50}-\u{1CFC3}\u{1D000}-\u{1D0F5}\u{1D100}-\u{1D126}\u{1D129}-\u{1D166}\u{1D16A}-\u{1D172}\u{1D183}\u{1D184}\u{1D18C}-\u{1D1A9}\u{1D1AE}-\u{1D1E8}\u{1D2C0}-\u{1D2D3}\u{1D2E0}-\u{1D2F3}\u{1D360}-\u{1D378}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6C0}\u{1D6C2}-\u{1D6DA}\u{1D6DC}-\u{1D6FA}\u{1D6FC}-\u{1D714}\u{1D716}-\u{1D734}\u{1D736}-\u{1D74E}\u{1D750}-\u{1D76E}\u{1D770}-\u{1D788}\u{1D78A}-\u{1D7A8}\u{1D7AA}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1D800}-\u{1D9FF}\u{1DA37}-\u{1DA3A}\u{1DA6D}-\u{1DA74}\u{1DA76}-\u{1DA83}\u{1DA85}-\u{1DA8B}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E030}-\u{1E06D}\u{1E100}-\u{1E12C}\u{1E137}-\u{1E13D}\u{1E140}-\u{1E149}\u{1E14E}\u{1E14F}\u{1E290}-\u{1E2AD}\u{1E2C0}-\u{1E2EB}\u{1E2F0}-\u{1E2F9}\u{1E4D0}-\u{1E4EB}\u{1E4F0}-\u{1E4F9}\u{1E5D0}-\u{1E5ED}\u{1E5F0}-\u{1E5FA}\u{1E5FF}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1F110}-\u{1F12E}\u{1F130}-\u{1F169}\u{1F170}-\u{1F1AC}\u{1F1E6}-\u{1F202}\u{1F210}-\u{1F23B}\u{1F240}-\u{1F248}\u{1F250}\u{1F251}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2EBF0}-\u{2EE5D}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}]/u; const bidiS1RTL = /[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05EA\u05EF-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u070D\u070F\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u083E\u0840-\u0858\u085E\u0860-\u086A\u0870-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFC\uFE70-\uFE74\uFE76-\uFEFC\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{10920}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A40}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE4}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D23}\u{10D4A}-\u{10D65}\u{10D6F}-\u{10D85}\u{10D8E}\u{10D8F}\u{10E80}-\u{10EA9}\u{10EAD}\u{10EB0}\u{10EB1}\u{10EC2}-\u{10EC4}\u{10F00}-\u{10F27}\u{10F30}-\u{10F45}\u{10F51}-\u{10F59}\u{10F70}-\u{10F81}\u{10F86}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8CF}\u{1E900}-\u{1E943}\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}]/u; const bidiS2 = /^[\0-\x08\x0E-\x1B!-@\[-`\{-\x84\x86-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02B9\u02BA\u02C2-\u02CF\u02D2-\u02DF\u02E5-\u02ED\u02EF-\u036F\u0374\u0375\u037E\u0384\u0385\u0387\u03F6\u0483-\u0489\u058A\u058D-\u058F\u0591-\u05C7\u05D0-\u05EA\u05EF-\u05F4\u0600-\u070D\u070F-\u074A\u074D-\u07B1\u07C0-\u07FA\u07FD-\u082D\u0830-\u083E\u0840-\u085B\u085E\u0860-\u086A\u0870-\u088E\u0890\u0891\u0897-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09F2\u09F3\u09FB\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AF1\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0BF3-\u0BFA\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C78-\u0C7E\u0C81\u0CBC\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E3F\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39-\u0F3D\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1390-\u1399\u1400\u169B\u169C\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DB\u17DD\u17F0-\u17F9\u1800-\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1940\u1944\u1945\u19DE-\u19FF\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u200B-\u200D\u200F-\u2027\u202F-\u205E\u2060-\u2064\u206A-\u2070\u2074-\u207E\u2080-\u208E\u20A0-\u20C0\u20D0-\u20F0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u2150-\u215F\u2189-\u218B\u2190-\u2335\u237B-\u2394\u2396-\u2429\u2440-\u244A\u2460-\u249B\u24EA-\u26AB\u26AD-\u27FF\u2900-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2CEF-\u2CF1\u2CF9-\u2CFF\u2D7F\u2DE0-\u2E5D\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3001-\u3004\u3008-\u3020\u302A-\u302D\u3030\u3036\u3037\u303D-\u303F\u3099-\u309C\u30A0\u30FB\u31C0-\u31E5\u31EF\u321D\u321E\u3250-\u325F\u327C-\u327E\u32B1-\u32BF\u32CC-\u32CF\u3377-\u337A\u33DE\u33DF\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA60D-\uA60F\uA66F-\uA67F\uA69E\uA69F\uA6F0\uA6F1\uA700-\uA721\uA788\uA802\uA806\uA80B\uA825\uA826\uA828-\uA82C\uA838\uA839\uA874-\uA877\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uAB6A\uAB6B\uABE5\uABE8\uABED\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD8F\uFD92-\uFDC7\uFDCF\uFDF0-\uFE19\uFE20-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFE70-\uFE74\uFE76-\uFEFC\uFEFF\uFF01-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFF9-\uFFFD\u{10101}\u{10140}-\u{1018C}\u{10190}-\u{1019C}\u{101A0}\u{101FD}\u{102E0}-\u{102FB}\u{10376}-\u{1037A}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{1091F}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A38}-\u{10A3A}\u{10A3F}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE6}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B39}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D27}\u{10D30}-\u{10D39}\u{10D40}-\u{10D65}\u{10D69}-\u{10D85}\u{10D8E}\u{10D8F}\u{10E60}-\u{10E7E}\u{10E80}-\u{10EA9}\u{10EAB}-\u{10EAD}\u{10EB0}\u{10EB1}\u{10EC2}-\u{10EC4}\u{10EFC}-\u{10F27}\u{10F30}-\u{10F59}\u{10F70}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{11001}\u{11038}-\u{11046}\u{11052}-\u{11065}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{113BB}-\u{113C0}\u{113CE}\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{11660}-\u{1166C}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A06}\u{11A09}\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{11F5A}\u{11FD5}-\u{11FF1}\u{13440}\u{13447}-\u{13455}\u{1611E}-\u{16129}\u{1612D}-\u{1612F}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE2}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1CC00}-\u{1CCD5}\u{1CCF0}-\u{1CCF9}\u{1CD00}-\u{1CEB3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D1E9}\u{1D1EA}\u{1D200}-\u{1D245}\u{1D300}-\u{1D356}\u{1D6C1}\u{1D6DB}\u{1D6FB}\u{1D715}\u{1D735}\u{1D74F}\u{1D76F}\u{1D789}\u{1D7A9}\u{1D7C3}\u{1D7CE}-\u{1D7FF}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E2FF}\u{1E4EC}-\u{1E4EF}\u{1E5EE}\u{1E5EF}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8D6}\u{1E900}-\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{1EEF0}\u{1EEF1}\u{1F000}-\u{1F02B}\u{1F030}-\u{1F093}\u{1F0A0}-\u{1F0AE}\u{1F0B1}-\u{1F0BF}\u{1F0C1}-\u{1F0CF}\u{1F0D1}-\u{1F0F5}\u{1F100}-\u{1F10F}\u{1F12F}\u{1F16A}-\u{1F16F}\u{1F1AD}\u{1F260}-\u{1F265}\u{1F300}-\u{1F6D7}\u{1F6DC}-\u{1F6EC}\u{1F6F0}-\u{1F6FC}\u{1F700}-\u{1F776}\u{1F77B}-\u{1F7D9}\u{1F7E0}-\u{1F7EB}\u{1F7F0}\u{1F800}-\u{1F80B}\u{1F810}-\u{1F847}\u{1F850}-\u{1F859}\u{1F860}-\u{1F887}\u{1F890}-\u{1F8AD}\u{1F8B0}-\u{1F8BB}\u{1F8C0}\u{1F8C1}\u{1F900}-\u{1FA53}\u{1FA60}-\u{1FA6D}\u{1FA70}-\u{1FA7C}\u{1FA80}-\u{1FA89}\u{1FA8F}-\u{1FAC6}\u{1FACE}-\u{1FADC}\u{1FADF}-\u{1FAE9}\u{1FAF0}-\u{1FAF8}\u{1FB00}-\u{1FB92}\u{1FB94}-\u{1FBF9}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*$/u; const bidiS3 = /[0-9\xB2\xB3\xB9\u05BE\u05C0\u05C3\u05C6\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0605\u0608\u060B\u060D\u061B-\u064A\u0660-\u0669\u066B-\u066F\u0671-\u06D5\u06DD\u06E5\u06E6\u06EE-\u070D\u070F\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u083E\u0840-\u0858\u085E\u0860-\u086A\u0870-\u088E\u0890\u0891\u08A0-\u08C9\u08E2\u200F\u2070\u2074-\u2079\u2080-\u2089\u2488-\u249B\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFC\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\u{102E1}-\u{102FB}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{10920}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A40}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE4}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D23}\u{10D30}-\u{10D39}\u{10D40}-\u{10D65}\u{10D6F}-\u{10D85}\u{10D8E}\u{10D8F}\u{10E60}-\u{10E7E}\u{10E80}-\u{10EA9}\u{10EAD}\u{10EB0}\u{10EB1}\u{10EC2}-\u{10EC4}\u{10F00}-\u{10F27}\u{10F30}-\u{10F45}\u{10F51}-\u{10F59}\u{10F70}-\u{10F81}\u{10F86}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{1CCF0}-\u{1CCF9}\u{1D7CE}-\u{1D7FF}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8CF}\u{1E900}-\u{1E943}\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{1F100}-\u{1F10A}\u{1FBF0}-\u{1FBF9}][\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10D69}-\u{10D6D}\u{10EAB}\u{10EAC}\u{10EFC}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{113BB}-\u{113C0}\u{113CE}\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A06}\u{11A09}\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{11F5A}\u{13440}\u{13447}-\u{13455}\u{1611E}-\u{16129}\u{1612D}-\u{1612F}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E5EE}\u{1E5EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]*$/u; const bidiS4EN = /[0-9\xB2\xB3\xB9\u06F0-\u06F9\u2070\u2074-\u2079\u2080-\u2089\u2488-\u249B\uFF10-\uFF19\u{102E1}-\u{102FB}\u{1CCF0}-\u{1CCF9}\u{1D7CE}-\u{1D7FF}\u{1F100}-\u{1F10A}\u{1FBF0}-\u{1FBF9}]/u; const bidiS4AN = /[\u0600-\u0605\u0660-\u0669\u066B\u066C\u06DD\u0890\u0891\u08E2\u{10D30}-\u{10D39}\u{10D40}-\u{10D49}\u{10E60}-\u{10E7E}]/u; const bidiS5 = /^[\0-\x08\x0E-\x1B!-\x84\x86-\u0377\u037A-\u037F\u0384-\u038A\u038C\u038E-\u03A1\u03A3-\u052F\u0531-\u0556\u0559-\u058A\u058D-\u058F\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0606\u0607\u0609\u060A\u060C\u060E-\u061A\u064B-\u065F\u066A\u0670\u06D6-\u06DC\u06DE-\u06E4\u06E7-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07F6-\u07F9\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A76\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AF1\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B77\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BFA\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C77-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4F\u0D54-\u0D63\u0D66-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4\u0E01-\u0E3A\u0E3F-\u0E5B\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FDA\u1000-\u10C5\u10C7\u10CD\u10D0-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u137C\u1380-\u1399\u13A0-\u13F5\u13F8-\u13FD\u1400-\u167F\u1681-\u169C\u16A0-\u16F8\u1700-\u1715\u171F-\u1736\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17DD\u17E0-\u17E9\u17F0-\u17F9\u1800-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1940\u1944-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u19DE-\u1A1B\u1A1E-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD\u1AB0-\u1ACE\u1B00-\u1B4C\u1B4E-\u1BF3\u1BFC-\u1C37\u1C3B-\u1C49\u1C4D-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CC7\u1CD0-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFE\u200B-\u200E\u2010-\u2027\u202F-\u205E\u2060-\u2064\u206A-\u2071\u2074-\u208E\u2090-\u209C\u20A0-\u20C0\u20D0-\u20F0\u2100-\u218B\u2190-\u2429\u2440-\u244A\u2460-\u2B73\u2B76-\u2B95\u2B97-\u2CF3\u2CF9-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D70\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2E5D\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3001-\u303F\u3041-\u3096\u3099-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\u31E5\u31EF-\u321E\u3220-\uA48C\uA490-\uA4C6\uA4D0-\uA62B\uA640-\uA6F7\uA700-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA82C\uA830-\uA839\uA840-\uA877\uA880-\uA8C5\uA8CE-\uA8D9\uA8E0-\uA953\uA95F-\uA97C\uA980-\uA9CD\uA9CF-\uA9D9\uA9DE-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA5C-\uAAC2\uAADB-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB6B\uAB70-\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1E\uFB29\uFD3E-\uFD4F\uFDCF\uFDFD-\uFE19\uFE20-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFEFF\uFF01-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFF9-\uFFFD\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10100}-\u{10102}\u{10107}-\u{10133}\u{10137}-\u{1018E}\u{10190}-\u{1019C}\u{101A0}\u{101D0}-\u{101FD}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{102E0}-\u{102FB}\u{10300}-\u{10323}\u{1032D}-\u{1034A}\u{10350}-\u{1037A}\u{10380}-\u{1039D}\u{1039F}-\u{103C3}\u{103C8}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{1056F}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{105C0}-\u{105F3}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{1091F}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10B39}-\u{10B3F}\u{10D24}-\u{10D27}\u{10D69}-\u{10D6E}\u{10EAB}\u{10EAC}\u{10EFC}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11000}-\u{1104D}\u{11052}-\u{11075}\u{1107F}-\u{110C2}\u{110CD}\u{110D0}-\u{110E8}\u{110F0}-\u{110F9}\u{11100}-\u{11134}\u{11136}-\u{11147}\u{11150}-\u{11176}\u{11180}-\u{111DF}\u{111E1}-\u{111F4}\u{11200}-\u{11211}\u{11213}-\u{11241}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A9}\u{112B0}-\u{112EA}\u{112F0}-\u{112F9}\u{11300}-\u{11303}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133B}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11350}\u{11357}\u{1135D}-\u{11363}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11380}-\u{11389}\u{1138B}\u{1138E}\u{11390}-\u{113B5}\u{113B7}-\u{113C0}\u{113C2}\u{113C5}\u{113C7}-\u{113CA}\u{113CC}-\u{113D5}\u{113D7}\u{113D8}\u{113E1}\u{113E2}\u{11400}-\u{1145B}\u{1145D}-\u{11461}\u{11480}-\u{114C7}\u{114D0}-\u{114D9}\u{11580}-\u{115B5}\u{115B8}-\u{115DD}\u{11600}-\u{11644}\u{11650}-\u{11659}\u{11660}-\u{1166C}\u{11680}-\u{116B9}\u{116C0}-\u{116C9}\u{116D0}-\u{116E3}\u{11700}-\u{1171A}\u{1171D}-\u{1172B}\u{11730}-\u{11746}\u{11800}-\u{1183B}\u{118A0}-\u{118F2}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{11935}\u{11937}\u{11938}\u{1193B}-\u{11946}\u{11950}-\u{11959}\u{119A0}-\u{119A7}\u{119AA}-\u{119D7}\u{119DA}-\u{119E4}\u{11A00}-\u{11A47}\u{11A50}-\u{11AA2}\u{11AB0}-\u{11AF8}\u{11B00}-\u{11B09}\u{11BC0}-\u{11BE1}\u{11BF0}-\u{11BF9}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C36}\u{11C38}-\u{11C45}\u{11C50}-\u{11C6C}\u{11C70}-\u{11C8F}\u{11C92}-\u{11CA7}\u{11CA9}-\u{11CB6}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D47}\u{11D50}-\u{11D59}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D8E}\u{11D90}\u{11D91}\u{11D93}-\u{11D98}\u{11DA0}-\u{11DA9}\u{11EE0}-\u{11EF8}\u{11F00}-\u{11F10}\u{11F12}-\u{11F3A}\u{11F3E}-\u{11F5A}\u{11FB0}\u{11FC0}-\u{11FF1}\u{11FFF}-\u{12399}\u{12400}-\u{1246E}\u{12470}-\u{12474}\u{12480}-\u{12543}\u{12F90}-\u{12FF2}\u{13000}-\u{13455}\u{13460}-\u{143FA}\u{14400}-\u{14646}\u{16100}-\u{16139}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A60}-\u{16A69}\u{16A6E}-\u{16ABE}\u{16AC0}-\u{16AC9}\u{16AD0}-\u{16AED}\u{16AF0}-\u{16AF5}\u{16B00}-\u{16B45}\u{16B50}-\u{16B59}\u{16B5B}-\u{16B61}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16D40}-\u{16D79}\u{16E40}-\u{16E9A}\u{16F00}-\u{16F4A}\u{16F4F}-\u{16F87}\u{16F8F}-\u{16F9F}\u{16FE0}-\u{16FE4}\u{16FF0}\u{16FF1}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18CFF}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1BC9C}-\u{1BCA3}\u{1CC00}-\u{1CCF9}\u{1CD00}-\u{1CEB3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1CF50}-\u{1CFC3}\u{1D000}-\u{1D0F5}\u{1D100}-\u{1D126}\u{1D129}-\u{1D1EA}\u{1D200}-\u{1D245}\u{1D2C0}-\u{1D2D3}\u{1D2E0}-\u{1D2F3}\u{1D300}-\u{1D356}\u{1D360}-\u{1D378}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D7CB}\u{1D7CE}-\u{1DA8B}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E030}-\u{1E06D}\u{1E08F}\u{1E100}-\u{1E12C}\u{1E130}-\u{1E13D}\u{1E140}-\u{1E149}\u{1E14E}\u{1E14F}\u{1E290}-\u{1E2AE}\u{1E2C0}-\u{1E2F9}\u{1E2FF}\u{1E4D0}-\u{1E4F9}\u{1E5D0}-\u{1E5FA}\u{1E5FF}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{1EEF0}\u{1EEF1}\u{1F000}-\u{1F02B}\u{1F030}-\u{1F093}\u{1F0A0}-\u{1F0AE}\u{1F0B1}-\u{1F0BF}\u{1F0C1}-\u{1F0CF}\u{1F0D1}-\u{1F0F5}\u{1F100}-\u{1F1AD}\u{1F1E6}-\u{1F202}\u{1F210}-\u{1F23B}\u{1F240}-\u{1F248}\u{1F250}\u{1F251}\u{1F260}-\u{1F265}\u{1F300}-\u{1F6D7}\u{1F6DC}-\u{1F6EC}\u{1F6F0}-\u{1F6FC}\u{1F700}-\u{1F776}\u{1F77B}-\u{1F7D9}\u{1F7E0}-\u{1F7EB}\u{1F7F0}\u{1F800}-\u{1F80B}\u{1F810}-\u{1F847}\u{1F850}-\u{1F859}\u{1F860}-\u{1F887}\u{1F890}-\u{1F8AD}\u{1F8B0}-\u{1F8BB}\u{1F8C0}\u{1F8C1}\u{1F900}-\u{1FA53}\u{1FA60}-\u{1FA6D}\u{1FA70}-\u{1FA7C}\u{1FA80}-\u{1FA89}\u{1FA8F}-\u{1FAC6}\u{1FACE}-\u{1FADC}\u{1FADF}-\u{1FAE9}\u{1FAF0}-\u{1FAF8}\u{1FB00}-\u{1FB92}\u{1FB94}-\u{1FBF9}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2EBF0}-\u{2EE5D}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}]*$/u; const bidiS6 = /[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02BB-\u02C1\u02D0\u02D1\u02E0-\u02E4\u02EE\u0370-\u0373\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0482\u048A-\u052F\u0531-\u0556\u0559-\u0589\u06F0-\u06F9\u0903-\u0939\u093B\u093D-\u0940\u0949-\u094C\u094E-\u0950\u0958-\u0961\u0964-\u0980\u0982\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C0\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09FA\u09FC\u09FD\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A40\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A76\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC0\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0\u0AE1\u0AE6-\u0AF0\u0AF9\u0B02\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0BE6-\u0BF2\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C41-\u0C44\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C77\u0C7F\u0C80\u0C82-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D02-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D4F\u0D54-\u0D61\u0D66-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E4F-\u0E5B\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00-\u0F17\u0F1A-\u0F34\u0F36\u0F38\u0F3E-\u0F47\u0F49-\u0F6C\u0F7F\u0F85\u0F88-\u0F8C\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE-\u0FDA\u1000-\u102C\u1031\u1038\u103B\u103C\u103F-\u1057\u105A-\u105D\u1061-\u1070\u1075-\u1081\u1083\u1084\u1087-\u108C\u108E-\u109C\u109E-\u10C5\u10C7\u10CD\u10D0-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1360-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u167F\u1681-\u169A\u16A0-\u16F8\u1700-\u1711\u1715\u171F-\u1731\u1734-\u1736\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17B6\u17BE-\u17C5\u17C7\u17C8\u17D4-\u17DA\u17DC\u17E0-\u17E9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A19\u1A1A\u1A1E-\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1A80-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD\u1B04-\u1B33\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B4C\u1B4E-\u1B6A\u1B74-\u1B7F\u1B82-\u1BA1\u1BA6\u1BA7\u1BAA\u1BAE-\u1BE5\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1BFC-\u1C2B\u1C34\u1C35\u1C3B-\u1C49\u1C4D-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CC7\u1CD3\u1CE1\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF7\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200E\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u214F\u2160-\u2188\u2336-\u237A\u2395\u2488-\u24E9\u26AC\u2800-\u28FF\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D70\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u302E\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\u31BF\u31F0-\u321C\u3220-\u324F\u3260-\u327B\u327F-\u32B0\u32C0-\u32CB\u32D0-\u3376\u337B-\u33DD\u33E0-\u33FE\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA60C\uA610-\uA62B\uA640-\uA66E\uA680-\uA69D\uA6A0-\uA6EF\uA6F2-\uA6F7\uA722-\uA787\uA789-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA824\uA827\uA830-\uA837\uA840-\uA873\uA880-\uA8C3\uA8CE-\uA8D9\uA8F2-\uA8FE\uA900-\uA925\uA92E-\uA946\uA952\uA953\uA95F-\uA97C\uA983-\uA9B2\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9CD\uA9CF-\uA9D9\uA9DE-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA2F\uAA30\uAA33\uAA34\uAA40-\uAA42\uAA44-\uAA4B\uAA4D\uAA50-\uAA59\uAA5C-\uAA7B\uAA7D-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAAEB\uAAEE-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB69\uAB70-\uABE4\uABE6\uABE7\uABE9-\uABEC\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10100}\u{10102}\u{10107}-\u{10133}\u{10137}-\u{1013F}\u{1018D}\u{1018E}\u{101D0}-\u{101FC}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{102E1}-\u{102FB}\u{10300}-\u{10323}\u{1032D}-\u{1034A}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{1039F}-\u{103C3}\u{103C8}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{1056F}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{105C0}-\u{105F3}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{11000}\u{11002}-\u{11037}\u{11047}-\u{1104D}\u{11066}-\u{1106F}\u{11071}\u{11072}\u{11075}\u{11082}-\u{110B2}\u{110B7}\u{110B8}\u{110BB}-\u{110C1}\u{110CD}\u{110D0}-\u{110E8}\u{110F0}-\u{110F9}\u{11103}-\u{11126}\u{1112C}\u{11136}-\u{11147}\u{11150}-\u{11172}\u{11174}-\u{11176}\u{11182}-\u{111B5}\u{111BF}-\u{111C8}\u{111CD}\u{111CE}\u{111D0}-\u{111DF}\u{111E1}-\u{111F4}\u{11200}-\u{11211}\u{11213}-\u{1122E}\u{11232}\u{11233}\u{11235}\u{11238}-\u{1123D}\u{1123F}\u{11240}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A9}\u{112B0}-\u{112DE}\u{112E0}-\u{112E2}\u{112F0}-\u{112F9}\u{11302}\u{11303}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}-\u{1133F}\u{11341}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11350}\u{11357}\u{1135D}-\u{11363}\u{11380}-\u{11389}\u{1138B}\u{1138E}\u{11390}-\u{113B5}\u{113B7}-\u{113BA}\u{113C2}\u{113C5}\u{113C7}-\u{113CA}\u{113CC}\u{113CD}\u{113CF}\u{113D1}\u{113D3}-\u{113D5}\u{113D7}\u{113D8}\u{11400}-\u{11437}\u{11440}\u{11441}\u{11445}\u{11447}-\u{1145B}\u{1145D}\u{1145F}-\u{11461}\u{11480}-\u{114B2}\u{114B9}\u{114BB}-\u{114BE}\u{114C1}\u{114C4}-\u{114C7}\u{114D0}-\u{114D9}\u{11580}-\u{115B1}\u{115B8}-\u{115BB}\u{115BE}\u{115C1}-\u{115DB}\u{11600}-\u{11632}\u{1163B}\u{1163C}\u{1163E}\u{11641}-\u{11644}\u{11650}-\u{11659}\u{11680}-\u{116AA}\u{116AC}\u{116AE}\u{116AF}\u{116B6}\u{116B8}\u{116B9}\u{116C0}-\u{116C9}\u{116D0}-\u{116E3}\u{11700}-\u{1171A}\u{1171E}\u{11720}\u{11721}\u{11726}\u{11730}-\u{11746}\u{11800}-\u{1182E}\u{11838}\u{1183B}\u{118A0}-\u{118F2}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{11935}\u{11937}\u{11938}\u{1193D}\u{1193F}-\u{11942}\u{11944}-\u{11946}\u{11950}-\u{11959}\u{119A0}-\u{119A7}\u{119AA}-\u{119D3}\u{119DC}-\u{119DF}\u{119E1}-\u{119E4}\u{11A00}\u{11A07}\u{11A08}\u{11A0B}-\u{11A32}\u{11A39}\u{11A3A}\u{11A3F}-\u{11A46}\u{11A50}\u{11A57}\u{11A58}\u{11A5C}-\u{11A89}\u{11A97}\u{11A9A}-\u{11AA2}\u{11AB0}-\u{11AF8}\u{11B00}-\u{11B09}\u{11BC0}-\u{11BE1}\u{11BF0}-\u{11BF9}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2F}\u{11C3E}-\u{11C45}\u{11C50}-\u{11C6C}\u{11C70}-\u{11C8F}\u{11CA9}\u{11CB1}\u{11CB4}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D50}-\u{11D59}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D8E}\u{11D93}\u{11D94}\u{11D96}\u{11D98}\u{11DA0}-\u{11DA9}\u{11EE0}-\u{11EF2}\u{11EF5}-\u{11EF8}\u{11F02}-\u{11F10}\u{11F12}-\u{11F35}\u{11F3E}\u{11F3F}\u{11F41}\u{11F43}-\u{11F59}\u{11FB0}\u{11FC0}-\u{11FD4}\u{11FFF}-\u{12399}\u{12400}-\u{1246E}\u{12470}-\u{12474}\u{12480}-\u{12543}\u{12F90}-\u{12FF2}\u{13000}-\u{1343F}\u{13441}-\u{13446}\u{13460}-\u{143FA}\u{14400}-\u{14646}\u{16100}-\u{1611D}\u{1612A}-\u{1612C}\u{16130}-\u{16139}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A60}-\u{16A69}\u{16A6E}-\u{16ABE}\u{16AC0}-\u{16AC9}\u{16AD0}-\u{16AED}\u{16AF5}\u{16B00}-\u{16B2F}\u{16B37}-\u{16B45}\u{16B50}-\u{16B59}\u{16B5B}-\u{16B61}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16D40}-\u{16D79}\u{16E40}-\u{16E9A}\u{16F00}-\u{16F4A}\u{16F50}-\u{16F87}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{16FE3}\u{16FF0}\u{16FF1}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18CFF}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1BC9C}\u{1BC9F}\u{1CCD6}-\u{1CCF9}\u{1CF50}-\u{1CFC3}\u{1D000}-\u{1D0F5}\u{1D100}-\u{1D126}\u{1D129}-\u{1D166}\u{1D16A}-\u{1D172}\u{1D183}\u{1D184}\u{1D18C}-\u{1D1A9}\u{1D1AE}-\u{1D1E8}\u{1D2C0}-\u{1D2D3}\u{1D2E0}-\u{1D2F3}\u{1D360}-\u{1D378}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6C0}\u{1D6C2}-\u{1D6DA}\u{1D6DC}-\u{1D6FA}\u{1D6FC}-\u{1D714}\u{1D716}-\u{1D734}\u{1D736}-\u{1D74E}\u{1D750}-\u{1D76E}\u{1D770}-\u{1D788}\u{1D78A}-\u{1D7A8}\u{1D7AA}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1D7CE}-\u{1D9FF}\u{1DA37}-\u{1DA3A}\u{1DA6D}-\u{1DA74}\u{1DA76}-\u{1DA83}\u{1DA85}-\u{1DA8B}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E030}-\u{1E06D}\u{1E100}-\u{1E12C}\u{1E137}-\u{1E13D}\u{1E140}-\u{1E149}\u{1E14E}\u{1E14F}\u{1E290}-\u{1E2AD}\u{1E2C0}-\u{1E2EB}\u{1E2F0}-\u{1E2F9}\u{1E4D0}-\u{1E4EB}\u{1E4F0}-\u{1E4F9}\u{1E5D0}-\u{1E5ED}\u{1E5F0}-\u{1E5FA}\u{1E5FF}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1F100}-\u{1F10A}\u{1F110}-\u{1F12E}\u{1F130}-\u{1F169}\u{1F170}-\u{1F1AC}\u{1F1E6}-\u{1F202}\u{1F210}-\u{1F23B}\u{1F240}-\u{1F248}\u{1F250}\u{1F251}\u{1FBF0}-\u{1FBF9}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2EBF0}-\u{2EE5D}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}][\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10D69}-\u{10D6D}\u{10EAB}\u{10EAC}\u{10EFC}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{113BB}-\u{113C0}\u{113CE}\u{113D0}\u{113D2}\u{113E1}\u{113E2}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A06}\u{11A09}\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{11F5A}\u{13440}\u{13447}-\u{13455}\u{1611E}-\u{16129}\u{1612D}-\u{1612F}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E5EE}\u{1E5EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]*$/u; module.exports = { combiningMarks, combiningClassVirama, validZWNJ, bidiDomain, bidiS1LTR, bidiS1RTL, bidiS2, bidiS3, bidiS4EN, bidiS4AN, bidiS5, bidiS6 }; /***/ }), /***/ "./node_modules/tr46/lib/statusMapping.js": /*!************************************************!*\ !*** ./node_modules/tr46/lib/statusMapping.js ***! \************************************************/ /***/ ((module) => { "use strict"; module.exports.STATUS_MAPPING = { mapped: 1, valid: 2, disallowed: 3, deviation: 6, ignored: 7 }; /***/ }), /***/ "./node_modules/util-deprecate/browser.js": /*!************************************************!*\ !*** ./node_modules/util-deprecate/browser.js ***! \************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /** * Module exports. */ module.exports = deprecate; /** * Mark that a method should not be used. * Returns a modified function which warns once by default. * * If `localStorage.noDeprecation = true` is set, then it is a no-op. * * If `localStorage.throwDeprecation = true` is set, then deprecated functions * will throw an Error when invoked. * * If `localStorage.traceDeprecation = true` is set, then deprecated functions * will invoke `console.trace()` instead of `console.error()`. * * @param {Function} fn - the function to deprecate * @param {String} msg - the string to print to the console when `fn` is invoked * @returns {Function} a new "deprecated" version of `fn` * @api public */ function deprecate (fn, msg) { if (config('noDeprecation')) { return fn; } var warned = false; function deprecated() { if (!warned) { if (config('throwDeprecation')) { throw new Error(msg); } else if (config('traceDeprecation')) { console.trace(msg); } else { console.warn(msg); } warned = true; } return fn.apply(this, arguments); } return deprecated; } /** * Checks `localStorage` for boolean values for the given `name`. * * @param {String} name * @returns {Boolean} * @api private */ function config (name) { // accessing global.localStorage can trigger a DOMException in sandboxed iframes try { if (!__webpack_require__.g.localStorage) return false; } catch (_) { return false; } var val = __webpack_require__.g.localStorage[name]; if (null == val) return false; return String(val).toLowerCase() === 'true'; } /***/ }), /***/ "./node_modules/webidl-conversions/lib/index.js": /*!******************************************************!*\ !*** ./node_modules/webidl-conversions/lib/index.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; function makeException(ErrorType, message, options) { if (options.globals) { ErrorType = options.globals[ErrorType.name]; } return new ErrorType(`${options.context ? options.context : "Value"} ${message}.`); } function toNumber(value, options) { if (typeof value === "bigint") { throw makeException(TypeError, "is a BigInt which cannot be converted to a number", options); } if (!options.globals) { return Number(value); } return options.globals.Number(value); } // Round x to the nearest integer, choosing the even integer if it lies halfway between two. function evenRound(x) { // There are four cases for numbers with fractional part being .5: // // case | x | floor(x) | round(x) | expected | x <> 0 | x % 1 | x & 1 | example // 1 | 2n + 0.5 | 2n | 2n + 1 | 2n | > | 0.5 | 0 | 0.5 -> 0 // 2 | 2n + 1.5 | 2n + 1 | 2n + 2 | 2n + 2 | > | 0.5 | 1 | 1.5 -> 2 // 3 | -2n - 0.5 | -2n - 1 | -2n | -2n | < | -0.5 | 0 | -0.5 -> 0 // 4 | -2n - 1.5 | -2n - 2 | -2n - 1 | -2n - 2 | < | -0.5 | 1 | -1.5 -> -2 // (where n is a non-negative integer) // // Branch here for cases 1 and 4 if ((x > 0 && (x % 1) === +0.5 && (x & 1) === 0) || (x < 0 && (x % 1) === -0.5 && (x & 1) === 1)) { return censorNegativeZero(Math.floor(x)); } return censorNegativeZero(Math.round(x)); } function integerPart(n) { return censorNegativeZero(Math.trunc(n)); } function sign(x) { return x < 0 ? -1 : 1; } function modulo(x, y) { // https://tc39.github.io/ecma262/#eqn-modulo // Note that http://stackoverflow.com/a/4467559/3191 does NOT work for large modulos const signMightNotMatch = x % y; if (sign(y) !== sign(signMightNotMatch)) { return signMightNotMatch + y; } return signMightNotMatch; } function censorNegativeZero(x) { return x === 0 ? 0 : x; } function createIntegerConversion(bitLength, { unsigned }) { let lowerBound, upperBound; if (unsigned) { lowerBound = 0; upperBound = 2 ** bitLength - 1; } else { lowerBound = -(2 ** (bitLength - 1)); upperBound = 2 ** (bitLength - 1) - 1; } const twoToTheBitLength = 2 ** bitLength; const twoToOneLessThanTheBitLength = 2 ** (bitLength - 1); return (value, options = {}) => { let x = toNumber(value, options); x = censorNegativeZero(x); if (options.enforceRange) { if (!Number.isFinite(x)) { throw makeException(TypeError, "is not a finite number", options); } x = integerPart(x); if (x < lowerBound || x > upperBound) { throw makeException( TypeError, `is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`, options ); } return x; } if (!Number.isNaN(x) && options.clamp) { x = Math.min(Math.max(x, lowerBound), upperBound); x = evenRound(x); return x; } if (!Number.isFinite(x) || x === 0) { return 0; } x = integerPart(x); // Math.pow(2, 64) is not accurately representable in JavaScript, so try to avoid these per-spec operations if // possible. Hopefully it's an optimization for the non-64-bitLength cases too. if (x >= lowerBound && x <= upperBound) { return x; } // These will not work great for bitLength of 64, but oh well. See the README for more details. x = modulo(x, twoToTheBitLength); if (!unsigned && x >= twoToOneLessThanTheBitLength) { return x - twoToTheBitLength; } return x; }; } function createLongLongConversion(bitLength, { unsigned }) { const upperBound = Number.MAX_SAFE_INTEGER; const lowerBound = unsigned ? 0 : Number.MIN_SAFE_INTEGER; const asBigIntN = unsigned ? BigInt.asUintN : BigInt.asIntN; return (value, options = {}) => { let x = toNumber(value, options); x = censorNegativeZero(x); if (options.enforceRange) { if (!Number.isFinite(x)) { throw makeException(TypeError, "is not a finite number", options); } x = integerPart(x); if (x < lowerBound || x > upperBound) { throw makeException( TypeError, `is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`, options ); } return x; } if (!Number.isNaN(x) && options.clamp) { x = Math.min(Math.max(x, lowerBound), upperBound); x = evenRound(x); return x; } if (!Number.isFinite(x) || x === 0) { return 0; } let xBigInt = BigInt(integerPart(x)); xBigInt = asBigIntN(bitLength, xBigInt); return Number(xBigInt); }; } exports.any = value => { return value; }; exports.undefined = () => { return undefined; }; exports.boolean = value => { return Boolean(value); }; exports.byte = createIntegerConversion(8, { unsigned: false }); exports.octet = createIntegerConversion(8, { unsigned: true }); exports.short = createIntegerConversion(16, { unsigned: false }); exports["unsigned short"] = createIntegerConversion(16, { unsigned: true }); exports.long = createIntegerConversion(32, { unsigned: false }); exports["unsigned long"] = createIntegerConversion(32, { unsigned: true }); exports["long long"] = createLongLongConversion(64, { unsigned: false }); exports["unsigned long long"] = createLongLongConversion(64, { unsigned: true }); exports.double = (value, options = {}) => { const x = toNumber(value, options); if (!Number.isFinite(x)) { throw makeException(TypeError, "is not a finite floating-point value", options); } return x; }; exports["unrestricted double"] = (value, options = {}) => { const x = toNumber(value, options); return x; }; exports.float = (value, options = {}) => { const x = toNumber(value, options); if (!Number.isFinite(x)) { throw makeException(TypeError, "is not a finite floating-point value", options); } if (Object.is(x, -0)) { return x; } const y = Math.fround(x); if (!Number.isFinite(y)) { throw makeException(TypeError, "is outside the range of a single-precision floating-point value", options); } return y; }; exports["unrestricted float"] = (value, options = {}) => { const x = toNumber(value, options); if (isNaN(x)) { return x; } if (Object.is(x, -0)) { return x; } return Math.fround(x); }; exports.DOMString = (value, options = {}) => { if (options.treatNullAsEmptyString && value === null) { return ""; } if (typeof value === "symbol") { throw makeException(TypeError, "is a symbol, which cannot be converted to a string", options); } const StringCtor = options.globals ? options.globals.String : String; return StringCtor(value); }; exports.ByteString = (value, options = {}) => { const x = exports.DOMString(value, options); let c; for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { if (c > 255) { throw makeException(TypeError, "is not a valid ByteString", options); } } return x; }; exports.USVString = (value, options = {}) => { const S = exports.DOMString(value, options); const n = S.length; const U = []; for (let i = 0; i < n; ++i) { const c = S.charCodeAt(i); if (c < 0xD800 || c > 0xDFFF) { U.push(String.fromCodePoint(c)); } else if (0xDC00 <= c && c <= 0xDFFF) { U.push(String.fromCodePoint(0xFFFD)); } else if (i === n - 1) { U.push(String.fromCodePoint(0xFFFD)); } else { const d = S.charCodeAt(i + 1); if (0xDC00 <= d && d <= 0xDFFF) { const a = c & 0x3FF; const b = d & 0x3FF; U.push(String.fromCodePoint((2 << 15) + ((2 << 9) * a) + b)); ++i; } else { U.push(String.fromCodePoint(0xFFFD)); } } } return U.join(""); }; exports.object = (value, options = {}) => { if (value === null || (typeof value !== "object" && typeof value !== "function")) { throw makeException(TypeError, "is not an object", options); } return value; }; const abByteLengthGetter = Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get; const sabByteLengthGetter = typeof SharedArrayBuffer === "function" ? Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, "byteLength").get : null; function isNonSharedArrayBuffer(value) { try { // This will throw on SharedArrayBuffers, but not detached ArrayBuffers. // (The spec says it should throw, but the spec conflicts with implementations: https://github.com/tc39/ecma262/issues/678) abByteLengthGetter.call(value); return true; } catch { return false; } } function isSharedArrayBuffer(value) { try { sabByteLengthGetter.call(value); return true; } catch { return false; } } function isArrayBufferDetached(value) { try { // eslint-disable-next-line no-new new Uint8Array(value); return false; } catch { return true; } } exports.ArrayBuffer = (value, options = {}) => { if (!isNonSharedArrayBuffer(value)) { if (options.allowShared && !isSharedArrayBuffer(value)) { throw makeException(TypeError, "is not an ArrayBuffer or SharedArrayBuffer", options); } throw makeException(TypeError, "is not an ArrayBuffer", options); } if (isArrayBufferDetached(value)) { throw makeException(TypeError, "is a detached ArrayBuffer", options); } return value; }; const dvByteLengthGetter = Object.getOwnPropertyDescriptor(DataView.prototype, "byteLength").get; exports.DataView = (value, options = {}) => { try { dvByteLengthGetter.call(value); } catch (e) { throw makeException(TypeError, "is not a DataView", options); } if (!options.allowShared && isSharedArrayBuffer(value.buffer)) { throw makeException(TypeError, "is backed by a SharedArrayBuffer, which is not allowed", options); } if (isArrayBufferDetached(value.buffer)) { throw makeException(TypeError, "is backed by a detached ArrayBuffer", options); } return value; }; // Returns the unforgeable `TypedArray` constructor name or `undefined`, // if the `this` value isn't a valid `TypedArray` object. // // https://tc39.es/ecma262/#sec-get-%typedarray%.prototype-@@tostringtag const typedArrayNameGetter = Object.getOwnPropertyDescriptor( Object.getPrototypeOf(Uint8Array).prototype, Symbol.toStringTag ).get; [ Int8Array, Int16Array, Int32Array, Uint8Array, Uint16Array, Uint32Array, Uint8ClampedArray, Float32Array, Float64Array ].forEach(func => { const { name } = func; const article = /^[AEIOU]/u.test(name) ? "an" : "a"; exports[name] = (value, options = {}) => { if (!ArrayBuffer.isView(value) || typedArrayNameGetter.call(value) !== name) { throw makeException(TypeError, `is not ${article} ${name} object`, options); } if (!options.allowShared && isSharedArrayBuffer(value.buffer)) { throw makeException(TypeError, "is a view on a SharedArrayBuffer, which is not allowed", options); } if (isArrayBufferDetached(value.buffer)) { throw makeException(TypeError, "is a view on a detached ArrayBuffer", options); } return value; }; }); // Common definitions exports.ArrayBufferView = (value, options = {}) => { if (!ArrayBuffer.isView(value)) { throw makeException(TypeError, "is not a view on an ArrayBuffer or SharedArrayBuffer", options); } if (!options.allowShared && isSharedArrayBuffer(value.buffer)) { throw makeException(TypeError, "is a view on a SharedArrayBuffer, which is not allowed", options); } if (isArrayBufferDetached(value.buffer)) { throw makeException(TypeError, "is a view on a detached ArrayBuffer", options); } return value; }; exports.BufferSource = (value, options = {}) => { if (ArrayBuffer.isView(value)) { if (!options.allowShared && isSharedArrayBuffer(value.buffer)) { throw makeException(TypeError, "is a view on a SharedArrayBuffer, which is not allowed", options); } if (isArrayBufferDetached(value.buffer)) { throw makeException(TypeError, "is a view on a detached ArrayBuffer", options); } return value; } if (!options.allowShared && !isNonSharedArrayBuffer(value)) { throw makeException(TypeError, "is not an ArrayBuffer or a view on one", options); } if (options.allowShared && !isSharedArrayBuffer(value) && !isNonSharedArrayBuffer(value)) { throw makeException(TypeError, "is not an ArrayBuffer, SharedArrayBuffer, or a view on one", options); } if (isArrayBufferDetached(value)) { throw makeException(TypeError, "is a detached ArrayBuffer", options); } return value; }; exports.DOMTimeStamp = exports["unsigned long long"]; /***/ }), /***/ "./node_modules/whatwg-url/index.js": /*!******************************************!*\ !*** ./node_modules/whatwg-url/index.js ***! \******************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; const { URL, URLSearchParams } = __webpack_require__(/*! ./webidl2js-wrapper */ "./node_modules/whatwg-url/webidl2js-wrapper.js"); const urlStateMachine = __webpack_require__(/*! ./lib/url-state-machine */ "./node_modules/whatwg-url/lib/url-state-machine.js"); const percentEncoding = __webpack_require__(/*! ./lib/percent-encoding */ "./node_modules/whatwg-url/lib/percent-encoding.js"); const sharedGlobalObject = { Array, Object, Promise, String, TypeError }; URL.install(sharedGlobalObject, ["Window"]); URLSearchParams.install(sharedGlobalObject, ["Window"]); exports.URL = sharedGlobalObject.URL; exports.URLSearchParams = sharedGlobalObject.URLSearchParams; exports.parseURL = urlStateMachine.parseURL; exports.basicURLParse = urlStateMachine.basicURLParse; exports.serializeURL = urlStateMachine.serializeURL; exports.serializePath = urlStateMachine.serializePath; exports.serializeHost = urlStateMachine.serializeHost; exports.serializeInteger = urlStateMachine.serializeInteger; exports.serializeURLOrigin = urlStateMachine.serializeURLOrigin; exports.setTheUsername = urlStateMachine.setTheUsername; exports.setThePassword = urlStateMachine.setThePassword; exports.cannotHaveAUsernamePasswordPort = urlStateMachine.cannotHaveAUsernamePasswordPort; exports.hasAnOpaquePath = urlStateMachine.hasAnOpaquePath; exports.percentDecodeString = percentEncoding.percentDecodeString; exports.percentDecodeBytes = percentEncoding.percentDecodeBytes; /***/ }), /***/ "./node_modules/whatwg-url/lib/Function.js": /*!*************************************************!*\ !*** ./node_modules/whatwg-url/lib/Function.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; const conversions = __webpack_require__(/*! webidl-conversions */ "./node_modules/webidl-conversions/lib/index.js"); const utils = __webpack_require__(/*! ./utils.js */ "./node_modules/whatwg-url/lib/utils.js"); exports.convert = (globalObject, value, { context = "The provided value" } = {}) => { if (typeof value !== "function") { throw new globalObject.TypeError(context + " is not a function"); } function invokeTheCallbackFunction(...args) { const thisArg = utils.tryWrapperForImpl(this); let callResult; for (let i = 0; i < args.length; i++) { args[i] = utils.tryWrapperForImpl(args[i]); } callResult = Reflect.apply(value, thisArg, args); callResult = conversions["any"](callResult, { context: context, globals: globalObject }); return callResult; } invokeTheCallbackFunction.construct = (...args) => { for (let i = 0; i < args.length; i++) { args[i] = utils.tryWrapperForImpl(args[i]); } let callResult = Reflect.construct(value, args); callResult = conversions["any"](callResult, { context: context, globals: globalObject }); return callResult; }; invokeTheCallbackFunction[utils.wrapperSymbol] = value; invokeTheCallbackFunction.objectReference = value; return invokeTheCallbackFunction; }; /***/ }), /***/ "./node_modules/whatwg-url/lib/URL-impl.js": /*!*************************************************!*\ !*** ./node_modules/whatwg-url/lib/URL-impl.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; const usm = __webpack_require__(/*! ./url-state-machine */ "./node_modules/whatwg-url/lib/url-state-machine.js"); const urlencoded = __webpack_require__(/*! ./urlencoded */ "./node_modules/whatwg-url/lib/urlencoded.js"); const URLSearchParams = __webpack_require__(/*! ./URLSearchParams */ "./node_modules/whatwg-url/lib/URLSearchParams.js"); exports.implementation = class URLImpl { // Unlike the spec, we duplicate some code between the constructor and canParse, because we want to give useful error // messages in the constructor that distinguish between the different causes of failure. constructor(globalObject, [url, base]) { let parsedBase = null; if (base !== undefined) { parsedBase = usm.basicURLParse(base); if (parsedBase === null) { throw new TypeError(`Invalid base URL: ${base}`); } } const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); if (parsedURL === null) { throw new TypeError(`Invalid URL: ${url}`); } const query = parsedURL.query !== null ? parsedURL.query : ""; this._url = parsedURL; // We cannot invoke the "new URLSearchParams object" algorithm without going through the constructor, which strips // question mark by default. Therefore the doNotStripQMark hack is used. this._query = URLSearchParams.createImpl(globalObject, [query], { doNotStripQMark: true }); this._query._url = this; } static parse(globalObject, input, base) { try { return new URLImpl(globalObject, [input, base]); } catch { return null; } } static canParse(url, base) { let parsedBase = null; if (base !== undefined) { parsedBase = usm.basicURLParse(base); if (parsedBase === null) { return false; } } const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); if (parsedURL === null) { return false; } return true; } get href() { return usm.serializeURL(this._url); } set href(v) { const parsedURL = usm.basicURLParse(v); if (parsedURL === null) { throw new TypeError(`Invalid URL: ${v}`); } this._url = parsedURL; this._query._list.splice(0); const { query } = parsedURL; if (query !== null) { this._query._list = urlencoded.parseUrlencodedString(query); } } get origin() { return usm.serializeURLOrigin(this._url); } get protocol() { return `${this._url.scheme}:`; } set protocol(v) { usm.basicURLParse(`${v}:`, { url: this._url, stateOverride: "scheme start" }); } get username() { return this._url.username; } set username(v) { if (usm.cannotHaveAUsernamePasswordPort(this._url)) { return; } usm.setTheUsername(this._url, v); } get password() { return this._url.password; } set password(v) { if (usm.cannotHaveAUsernamePasswordPort(this._url)) { return; } usm.setThePassword(this._url, v); } get host() { const url = this._url; if (url.host === null) { return ""; } if (url.port === null) { return usm.serializeHost(url.host); } return `${usm.serializeHost(url.host)}:${usm.serializeInteger(url.port)}`; } set host(v) { if (usm.hasAnOpaquePath(this._url)) { return; } usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); } get hostname() { if (this._url.host === null) { return ""; } return usm.serializeHost(this._url.host); } set hostname(v) { if (usm.hasAnOpaquePath(this._url)) { return; } usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); } get port() { if (this._url.port === null) { return ""; } return usm.serializeInteger(this._url.port); } set port(v) { if (usm.cannotHaveAUsernamePasswordPort(this._url)) { return; } if (v === "") { this._url.port = null; } else { usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); } } get pathname() { return usm.serializePath(this._url); } set pathname(v) { if (usm.hasAnOpaquePath(this._url)) { return; } this._url.path = []; usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); } get search() { if (this._url.query === null || this._url.query === "") { return ""; } return `?${this._url.query}`; } set search(v) { const url = this._url; if (v === "") { url.query = null; this._query._list = []; return; } const input = v[0] === "?" ? v.substring(1) : v; url.query = ""; usm.basicURLParse(input, { url, stateOverride: "query" }); this._query._list = urlencoded.parseUrlencodedString(input); } get searchParams() { return this._query; } get hash() { if (this._url.fragment === null || this._url.fragment === "") { return ""; } return `#${this._url.fragment}`; } set hash(v) { if (v === "") { this._url.fragment = null; return; } const input = v[0] === "#" ? v.substring(1) : v; this._url.fragment = ""; usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); } toJSON() { return this.href; } }; /***/ }), /***/ "./node_modules/whatwg-url/lib/URL.js": /*!********************************************!*\ !*** ./node_modules/whatwg-url/lib/URL.js ***! \********************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; const conversions = __webpack_require__(/*! webidl-conversions */ "./node_modules/webidl-conversions/lib/index.js"); const utils = __webpack_require__(/*! ./utils.js */ "./node_modules/whatwg-url/lib/utils.js"); const implSymbol = utils.implSymbol; const ctorRegistrySymbol = utils.ctorRegistrySymbol; const interfaceName = "URL"; exports.is = value => { return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation; }; exports.isImpl = value => { return utils.isObject(value) && value instanceof Impl.implementation; }; exports.convert = (globalObject, value, { context = "The provided value" } = {}) => { if (exports.is(value)) { return utils.implForWrapper(value); } throw new globalObject.TypeError(`${context} is not of type 'URL'.`); }; function makeWrapper(globalObject, newTarget) { let proto; if (newTarget !== undefined) { proto = newTarget.prototype; } if (!utils.isObject(proto)) { proto = globalObject[ctorRegistrySymbol]["URL"].prototype; } return Object.create(proto); } exports.create = (globalObject, constructorArgs, privateData) => { const wrapper = makeWrapper(globalObject); return exports.setup(wrapper, globalObject, constructorArgs, privateData); }; exports.createImpl = (globalObject, constructorArgs, privateData) => { const wrapper = exports.create(globalObject, constructorArgs, privateData); return utils.implForWrapper(wrapper); }; exports._internalSetup = (wrapper, globalObject) => {}; exports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => { privateData.wrapper = wrapper; exports._internalSetup(wrapper, globalObject); Object.defineProperty(wrapper, implSymbol, { value: new Impl.implementation(globalObject, constructorArgs, privateData), configurable: true }); wrapper[implSymbol][utils.wrapperSymbol] = wrapper; if (Impl.init) { Impl.init(wrapper[implSymbol]); } return wrapper; }; exports["new"] = (globalObject, newTarget) => { const wrapper = makeWrapper(globalObject, newTarget); exports._internalSetup(wrapper, globalObject); Object.defineProperty(wrapper, implSymbol, { value: Object.create(Impl.implementation.prototype), configurable: true }); wrapper[implSymbol][utils.wrapperSymbol] = wrapper; if (Impl.init) { Impl.init(wrapper[implSymbol]); } return wrapper[implSymbol]; }; const exposed = new Set(["Window", "Worker"]); exports.install = (globalObject, globalNames) => { if (!globalNames.some(globalName => exposed.has(globalName))) { return; } const ctorRegistry = utils.initCtorRegistry(globalObject); class URL { constructor(url) { if (arguments.length < 1) { throw new globalObject.TypeError( `Failed to construct 'URL': 1 argument required, but only ${arguments.length} present.` ); } const args = []; { let curArg = arguments[0]; curArg = conversions["USVString"](curArg, { context: "Failed to construct 'URL': parameter 1", globals: globalObject }); args.push(curArg); } { let curArg = arguments[1]; if (curArg !== undefined) { curArg = conversions["USVString"](curArg, { context: "Failed to construct 'URL': parameter 2", globals: globalObject }); } args.push(curArg); } return exports.setup(Object.create(new.target.prototype), globalObject, args); } toJSON() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'toJSON' called on an object that is not a valid instance of URL."); } return esValue[implSymbol].toJSON(); } get href() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get href' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["href"]; } set href(V) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set href' called on an object that is not a valid instance of URL."); } V = conversions["USVString"](V, { context: "Failed to set the 'href' property on 'URL': The provided value", globals: globalObject }); esValue[implSymbol]["href"] = V; } toString() { const esValue = this; if (!exports.is(esValue)) { throw new globalObject.TypeError("'toString' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["href"]; } get origin() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get origin' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["origin"]; } get protocol() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get protocol' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["protocol"]; } set protocol(V) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set protocol' called on an object that is not a valid instance of URL."); } V = conversions["USVString"](V, { context: "Failed to set the 'protocol' property on 'URL': The provided value", globals: globalObject }); esValue[implSymbol]["protocol"] = V; } get username() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get username' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["username"]; } set username(V) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set username' called on an object that is not a valid instance of URL."); } V = conversions["USVString"](V, { context: "Failed to set the 'username' property on 'URL': The provided value", globals: globalObject }); esValue[implSymbol]["username"] = V; } get password() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get password' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["password"]; } set password(V) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set password' called on an object that is not a valid instance of URL."); } V = conversions["USVString"](V, { context: "Failed to set the 'password' property on 'URL': The provided value", globals: globalObject }); esValue[implSymbol]["password"] = V; } get host() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get host' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["host"]; } set host(V) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set host' called on an object that is not a valid instance of URL."); } V = conversions["USVString"](V, { context: "Failed to set the 'host' property on 'URL': The provided value", globals: globalObject }); esValue[implSymbol]["host"] = V; } get hostname() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get hostname' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["hostname"]; } set hostname(V) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set hostname' called on an object that is not a valid instance of URL."); } V = conversions["USVString"](V, { context: "Failed to set the 'hostname' property on 'URL': The provided value", globals: globalObject }); esValue[implSymbol]["hostname"] = V; } get port() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get port' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["port"]; } set port(V) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set port' called on an object that is not a valid instance of URL."); } V = conversions["USVString"](V, { context: "Failed to set the 'port' property on 'URL': The provided value", globals: globalObject }); esValue[implSymbol]["port"] = V; } get pathname() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get pathname' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["pathname"]; } set pathname(V) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set pathname' called on an object that is not a valid instance of URL."); } V = conversions["USVString"](V, { context: "Failed to set the 'pathname' property on 'URL': The provided value", globals: globalObject }); esValue[implSymbol]["pathname"] = V; } get search() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get search' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["search"]; } set search(V) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set search' called on an object that is not a valid instance of URL."); } V = conversions["USVString"](V, { context: "Failed to set the 'search' property on 'URL': The provided value", globals: globalObject }); esValue[implSymbol]["search"] = V; } get searchParams() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get searchParams' called on an object that is not a valid instance of URL."); } return utils.getSameObject(this, "searchParams", () => { return utils.tryWrapperForImpl(esValue[implSymbol]["searchParams"]); }); } get hash() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get hash' called on an object that is not a valid instance of URL."); } return esValue[implSymbol]["hash"]; } set hash(V) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set hash' called on an object that is not a valid instance of URL."); } V = conversions["USVString"](V, { context: "Failed to set the 'hash' property on 'URL': The provided value", globals: globalObject }); esValue[implSymbol]["hash"] = V; } static parse(url) { if (arguments.length < 1) { throw new globalObject.TypeError( `Failed to execute 'parse' on 'URL': 1 argument required, but only ${arguments.length} present.` ); } const args = []; { let curArg = arguments[0]; curArg = conversions["USVString"](curArg, { context: "Failed to execute 'parse' on 'URL': parameter 1", globals: globalObject }); args.push(curArg); } { let curArg = arguments[1]; if (curArg !== undefined) { curArg = conversions["USVString"](curArg, { context: "Failed to execute 'parse' on 'URL': parameter 2", globals: globalObject }); } args.push(curArg); } return utils.tryWrapperForImpl(Impl.implementation.parse(globalObject, ...args)); } static canParse(url) { if (arguments.length < 1) { throw new globalObject.TypeError( `Failed to execute 'canParse' on 'URL': 1 argument required, but only ${arguments.length} present.` ); } const args = []; { let curArg = arguments[0]; curArg = conversions["USVString"](curArg, { context: "Failed to execute 'canParse' on 'URL': parameter 1", globals: globalObject }); args.push(curArg); } { let curArg = arguments[1]; if (curArg !== undefined) { curArg = conversions["USVString"](curArg, { context: "Failed to execute 'canParse' on 'URL': parameter 2", globals: globalObject }); } args.push(curArg); } return Impl.implementation.canParse(...args); } } Object.defineProperties(URL.prototype, { toJSON: { enumerable: true }, href: { enumerable: true }, toString: { enumerable: true }, origin: { enumerable: true }, protocol: { enumerable: true }, username: { enumerable: true }, password: { enumerable: true }, host: { enumerable: true }, hostname: { enumerable: true }, port: { enumerable: true }, pathname: { enumerable: true }, search: { enumerable: true }, searchParams: { enumerable: true }, hash: { enumerable: true }, [Symbol.toStringTag]: { value: "URL", configurable: true } }); Object.defineProperties(URL, { parse: { enumerable: true }, canParse: { enumerable: true } }); ctorRegistry[interfaceName] = URL; Object.defineProperty(globalObject, interfaceName, { configurable: true, writable: true, value: URL }); if (globalNames.includes("Window")) { Object.defineProperty(globalObject, "webkitURL", { configurable: true, writable: true, value: URL }); } }; const Impl = __webpack_require__(/*! ./URL-impl.js */ "./node_modules/whatwg-url/lib/URL-impl.js"); /***/ }), /***/ "./node_modules/whatwg-url/lib/URLSearchParams-impl.js": /*!*************************************************************!*\ !*** ./node_modules/whatwg-url/lib/URLSearchParams-impl.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; const urlencoded = __webpack_require__(/*! ./urlencoded */ "./node_modules/whatwg-url/lib/urlencoded.js"); exports.implementation = class URLSearchParamsImpl { constructor(globalObject, constructorArgs, { doNotStripQMark = false }) { let init = constructorArgs[0]; this._list = []; this._url = null; if (!doNotStripQMark && typeof init === "string" && init[0] === "?") { init = init.slice(1); } if (Array.isArray(init)) { for (const pair of init) { if (pair.length !== 2) { throw new TypeError("Failed to construct 'URLSearchParams': parameter 1 sequence's element does not " + "contain exactly two elements."); } this._list.push([pair[0], pair[1]]); } } else if (typeof init === "object" && Object.getPrototypeOf(init) === null) { for (const name of Object.keys(init)) { const value = init[name]; this._list.push([name, value]); } } else { this._list = urlencoded.parseUrlencodedString(init); } } _updateSteps() { if (this._url !== null) { let serializedQuery = urlencoded.serializeUrlencoded(this._list); if (serializedQuery === "") { serializedQuery = null; } this._url._url.query = serializedQuery; } } get size() { return this._list.length; } append(name, value) { this._list.push([name, value]); this._updateSteps(); } delete(name, value) { let i = 0; while (i < this._list.length) { if (this._list[i][0] === name && (value === undefined || this._list[i][1] === value)) { this._list.splice(i, 1); } else { i++; } } this._updateSteps(); } get(name) { for (const tuple of this._list) { if (tuple[0] === name) { return tuple[1]; } } return null; } getAll(name) { const output = []; for (const tuple of this._list) { if (tuple[0] === name) { output.push(tuple[1]); } } return output; } has(name, value) { for (const tuple of this._list) { if (tuple[0] === name && (value === undefined || tuple[1] === value)) { return true; } } return false; } set(name, value) { let found = false; let i = 0; while (i < this._list.length) { if (this._list[i][0] === name) { if (found) { this._list.splice(i, 1); } else { found = true; this._list[i][1] = value; i++; } } else { i++; } } if (!found) { this._list.push([name, value]); } this._updateSteps(); } sort() { this._list.sort((a, b) => { if (a[0] < b[0]) { return -1; } if (a[0] > b[0]) { return 1; } return 0; }); this._updateSteps(); } [Symbol.iterator]() { return this._list[Symbol.iterator](); } toString() { return urlencoded.serializeUrlencoded(this._list); } }; /***/ }), /***/ "./node_modules/whatwg-url/lib/URLSearchParams.js": /*!********************************************************!*\ !*** ./node_modules/whatwg-url/lib/URLSearchParams.js ***! \********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; const conversions = __webpack_require__(/*! webidl-conversions */ "./node_modules/webidl-conversions/lib/index.js"); const utils = __webpack_require__(/*! ./utils.js */ "./node_modules/whatwg-url/lib/utils.js"); const Function = __webpack_require__(/*! ./Function.js */ "./node_modules/whatwg-url/lib/Function.js"); const newObjectInRealm = utils.newObjectInRealm; const implSymbol = utils.implSymbol; const ctorRegistrySymbol = utils.ctorRegistrySymbol; const interfaceName = "URLSearchParams"; exports.is = value => { return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation; }; exports.isImpl = value => { return utils.isObject(value) && value instanceof Impl.implementation; }; exports.convert = (globalObject, value, { context = "The provided value" } = {}) => { if (exports.is(value)) { return utils.implForWrapper(value); } throw new globalObject.TypeError(`${context} is not of type 'URLSearchParams'.`); }; exports.createDefaultIterator = (globalObject, target, kind) => { const ctorRegistry = globalObject[ctorRegistrySymbol]; const iteratorPrototype = ctorRegistry["URLSearchParams Iterator"]; const iterator = Object.create(iteratorPrototype); Object.defineProperty(iterator, utils.iterInternalSymbol, { value: { target, kind, index: 0 }, configurable: true }); return iterator; }; function makeWrapper(globalObject, newTarget) { let proto; if (newTarget !== undefined) { proto = newTarget.prototype; } if (!utils.isObject(proto)) { proto = globalObject[ctorRegistrySymbol]["URLSearchParams"].prototype; } return Object.create(proto); } exports.create = (globalObject, constructorArgs, privateData) => { const wrapper = makeWrapper(globalObject); return exports.setup(wrapper, globalObject, constructorArgs, privateData); }; exports.createImpl = (globalObject, constructorArgs, privateData) => { const wrapper = exports.create(globalObject, constructorArgs, privateData); return utils.implForWrapper(wrapper); }; exports._internalSetup = (wrapper, globalObject) => {}; exports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => { privateData.wrapper = wrapper; exports._internalSetup(wrapper, globalObject); Object.defineProperty(wrapper, implSymbol, { value: new Impl.implementation(globalObject, constructorArgs, privateData), configurable: true }); wrapper[implSymbol][utils.wrapperSymbol] = wrapper; if (Impl.init) { Impl.init(wrapper[implSymbol]); } return wrapper; }; exports["new"] = (globalObject, newTarget) => { const wrapper = makeWrapper(globalObject, newTarget); exports._internalSetup(wrapper, globalObject); Object.defineProperty(wrapper, implSymbol, { value: Object.create(Impl.implementation.prototype), configurable: true }); wrapper[implSymbol][utils.wrapperSymbol] = wrapper; if (Impl.init) { Impl.init(wrapper[implSymbol]); } return wrapper[implSymbol]; }; const exposed = new Set(["Window", "Worker"]); exports.install = (globalObject, globalNames) => { if (!globalNames.some(globalName => exposed.has(globalName))) { return; } const ctorRegistry = utils.initCtorRegistry(globalObject); class URLSearchParams { constructor() { const args = []; { let curArg = arguments[0]; if (curArg !== undefined) { if (utils.isObject(curArg)) { if (curArg[Symbol.iterator] !== undefined) { if (!utils.isObject(curArg)) { throw new globalObject.TypeError( "Failed to construct 'URLSearchParams': parameter 1" + " sequence" + " is not an iterable object." ); } else { const V = []; const tmp = curArg; for (let nextItem of tmp) { if (!utils.isObject(nextItem)) { throw new globalObject.TypeError( "Failed to construct 'URLSearchParams': parameter 1" + " sequence" + "'s element" + " is not an iterable object." ); } else { const V = []; const tmp = nextItem; for (let nextItem of tmp) { nextItem = conversions["USVString"](nextItem, { context: "Failed to construct 'URLSearchParams': parameter 1" + " sequence" + "'s element" + "'s element", globals: globalObject }); V.push(nextItem); } nextItem = V; } V.push(nextItem); } curArg = V; } } else { if (!utils.isObject(curArg)) { throw new globalObject.TypeError( "Failed to construct 'URLSearchParams': parameter 1" + " record" + " is not an object." ); } else { const result = Object.create(null); for (const key of Reflect.ownKeys(curArg)) { const desc = Object.getOwnPropertyDescriptor(curArg, key); if (desc && desc.enumerable) { let typedKey = key; typedKey = conversions["USVString"](typedKey, { context: "Failed to construct 'URLSearchParams': parameter 1" + " record" + "'s key", globals: globalObject }); let typedValue = curArg[key]; typedValue = conversions["USVString"](typedValue, { context: "Failed to construct 'URLSearchParams': parameter 1" + " record" + "'s value", globals: globalObject }); result[typedKey] = typedValue; } } curArg = result; } } } else { curArg = conversions["USVString"](curArg, { context: "Failed to construct 'URLSearchParams': parameter 1", globals: globalObject }); } } else { curArg = ""; } args.push(curArg); } return exports.setup(Object.create(new.target.prototype), globalObject, args); } append(name, value) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError( "'append' called on an object that is not a valid instance of URLSearchParams." ); } if (arguments.length < 2) { throw new globalObject.TypeError( `Failed to execute 'append' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.` ); } const args = []; { let curArg = arguments[0]; curArg = conversions["USVString"](curArg, { context: "Failed to execute 'append' on 'URLSearchParams': parameter 1", globals: globalObject }); args.push(curArg); } { let curArg = arguments[1]; curArg = conversions["USVString"](curArg, { context: "Failed to execute 'append' on 'URLSearchParams': parameter 2", globals: globalObject }); args.push(curArg); } return utils.tryWrapperForImpl(esValue[implSymbol].append(...args)); } delete(name) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError( "'delete' called on an object that is not a valid instance of URLSearchParams." ); } if (arguments.length < 1) { throw new globalObject.TypeError( `Failed to execute 'delete' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.` ); } const args = []; { let curArg = arguments[0]; curArg = conversions["USVString"](curArg, { context: "Failed to execute 'delete' on 'URLSearchParams': parameter 1", globals: globalObject }); args.push(curArg); } { let curArg = arguments[1]; if (curArg !== undefined) { curArg = conversions["USVString"](curArg, { context: "Failed to execute 'delete' on 'URLSearchParams': parameter 2", globals: globalObject }); } args.push(curArg); } return utils.tryWrapperForImpl(esValue[implSymbol].delete(...args)); } get(name) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'get' called on an object that is not a valid instance of URLSearchParams."); } if (arguments.length < 1) { throw new globalObject.TypeError( `Failed to execute 'get' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.` ); } const args = []; { let curArg = arguments[0]; curArg = conversions["USVString"](curArg, { context: "Failed to execute 'get' on 'URLSearchParams': parameter 1", globals: globalObject }); args.push(curArg); } return esValue[implSymbol].get(...args); } getAll(name) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError( "'getAll' called on an object that is not a valid instance of URLSearchParams." ); } if (arguments.length < 1) { throw new globalObject.TypeError( `Failed to execute 'getAll' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.` ); } const args = []; { let curArg = arguments[0]; curArg = conversions["USVString"](curArg, { context: "Failed to execute 'getAll' on 'URLSearchParams': parameter 1", globals: globalObject }); args.push(curArg); } return utils.tryWrapperForImpl(esValue[implSymbol].getAll(...args)); } has(name) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'has' called on an object that is not a valid instance of URLSearchParams."); } if (arguments.length < 1) { throw new globalObject.TypeError( `Failed to execute 'has' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.` ); } const args = []; { let curArg = arguments[0]; curArg = conversions["USVString"](curArg, { context: "Failed to execute 'has' on 'URLSearchParams': parameter 1", globals: globalObject }); args.push(curArg); } { let curArg = arguments[1]; if (curArg !== undefined) { curArg = conversions["USVString"](curArg, { context: "Failed to execute 'has' on 'URLSearchParams': parameter 2", globals: globalObject }); } args.push(curArg); } return esValue[implSymbol].has(...args); } set(name, value) { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'set' called on an object that is not a valid instance of URLSearchParams."); } if (arguments.length < 2) { throw new globalObject.TypeError( `Failed to execute 'set' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.` ); } const args = []; { let curArg = arguments[0]; curArg = conversions["USVString"](curArg, { context: "Failed to execute 'set' on 'URLSearchParams': parameter 1", globals: globalObject }); args.push(curArg); } { let curArg = arguments[1]; curArg = conversions["USVString"](curArg, { context: "Failed to execute 'set' on 'URLSearchParams': parameter 2", globals: globalObject }); args.push(curArg); } return utils.tryWrapperForImpl(esValue[implSymbol].set(...args)); } sort() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError("'sort' called on an object that is not a valid instance of URLSearchParams."); } return utils.tryWrapperForImpl(esValue[implSymbol].sort()); } toString() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError( "'toString' called on an object that is not a valid instance of URLSearchParams." ); } return esValue[implSymbol].toString(); } keys() { if (!exports.is(this)) { throw new globalObject.TypeError("'keys' called on an object that is not a valid instance of URLSearchParams."); } return exports.createDefaultIterator(globalObject, this, "key"); } values() { if (!exports.is(this)) { throw new globalObject.TypeError( "'values' called on an object that is not a valid instance of URLSearchParams." ); } return exports.createDefaultIterator(globalObject, this, "value"); } entries() { if (!exports.is(this)) { throw new globalObject.TypeError( "'entries' called on an object that is not a valid instance of URLSearchParams." ); } return exports.createDefaultIterator(globalObject, this, "key+value"); } forEach(callback) { if (!exports.is(this)) { throw new globalObject.TypeError( "'forEach' called on an object that is not a valid instance of URLSearchParams." ); } if (arguments.length < 1) { throw new globalObject.TypeError( "Failed to execute 'forEach' on 'iterable': 1 argument required, but only 0 present." ); } callback = Function.convert(globalObject, callback, { context: "Failed to execute 'forEach' on 'iterable': The callback provided as parameter 1" }); const thisArg = arguments[1]; let pairs = Array.from(this[implSymbol]); let i = 0; while (i < pairs.length) { const [key, value] = pairs[i].map(utils.tryWrapperForImpl); callback.call(thisArg, value, key, this); pairs = Array.from(this[implSymbol]); i++; } } get size() { const esValue = this !== null && this !== undefined ? this : globalObject; if (!exports.is(esValue)) { throw new globalObject.TypeError( "'get size' called on an object that is not a valid instance of URLSearchParams." ); } return esValue[implSymbol]["size"]; } } Object.defineProperties(URLSearchParams.prototype, { append: { enumerable: true }, delete: { enumerable: true }, get: { enumerable: true }, getAll: { enumerable: true }, has: { enumerable: true }, set: { enumerable: true }, sort: { enumerable: true }, toString: { enumerable: true }, keys: { enumerable: true }, values: { enumerable: true }, entries: { enumerable: true }, forEach: { enumerable: true }, size: { enumerable: true }, [Symbol.toStringTag]: { value: "URLSearchParams", configurable: true }, [Symbol.iterator]: { value: URLSearchParams.prototype.entries, configurable: true, writable: true } }); ctorRegistry[interfaceName] = URLSearchParams; ctorRegistry["URLSearchParams Iterator"] = Object.create(ctorRegistry["%IteratorPrototype%"], { [Symbol.toStringTag]: { configurable: true, value: "URLSearchParams Iterator" } }); utils.define(ctorRegistry["URLSearchParams Iterator"], { next() { const internal = this && this[utils.iterInternalSymbol]; if (!internal) { throw new globalObject.TypeError("next() called on a value that is not a URLSearchParams iterator object"); } const { target, kind, index } = internal; const values = Array.from(target[implSymbol]); const len = values.length; if (index >= len) { return newObjectInRealm(globalObject, { value: undefined, done: true }); } const pair = values[index]; internal.index = index + 1; return newObjectInRealm(globalObject, utils.iteratorResult(pair.map(utils.tryWrapperForImpl), kind)); } }); Object.defineProperty(globalObject, interfaceName, { configurable: true, writable: true, value: URLSearchParams }); }; const Impl = __webpack_require__(/*! ./URLSearchParams-impl.js */ "./node_modules/whatwg-url/lib/URLSearchParams-impl.js"); /***/ }), /***/ "./node_modules/whatwg-url/lib/encoding.js": /*!*************************************************!*\ !*** ./node_modules/whatwg-url/lib/encoding.js ***! \*************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* provided dependency */ var TextEncoder = __webpack_require__(/*! text-encoder */ "./node_modules/text-encoder/index.js")["TextEncoder"]; /* provided dependency */ var TextDecoder = __webpack_require__(/*! text-encoder */ "./node_modules/text-encoder/index.js")["TextDecoder"]; const utf8Encoder = new TextEncoder(); const utf8Decoder = new TextDecoder("utf-8", { ignoreBOM: true }); function utf8Encode(string) { return utf8Encoder.encode(string); } function utf8DecodeWithoutBOM(bytes) { return utf8Decoder.decode(bytes); } module.exports = { utf8Encode, utf8DecodeWithoutBOM }; /***/ }), /***/ "./node_modules/whatwg-url/lib/infra.js": /*!**********************************************!*\ !*** ./node_modules/whatwg-url/lib/infra.js ***! \**********************************************/ /***/ ((module) => { "use strict"; // Note that we take code points as JS numbers, not JS strings. function isASCIIDigit(c) { return c >= 0x30 && c <= 0x39; } function isASCIIAlpha(c) { return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); } function isASCIIAlphanumeric(c) { return isASCIIAlpha(c) || isASCIIDigit(c); } function isASCIIHex(c) { return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); } module.exports = { isASCIIDigit, isASCIIAlpha, isASCIIAlphanumeric, isASCIIHex }; /***/ }), /***/ "./node_modules/whatwg-url/lib/percent-encoding.js": /*!*********************************************************!*\ !*** ./node_modules/whatwg-url/lib/percent-encoding.js ***! \*********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; const { isASCIIHex } = __webpack_require__(/*! ./infra */ "./node_modules/whatwg-url/lib/infra.js"); const { utf8Encode } = __webpack_require__(/*! ./encoding */ "./node_modules/whatwg-url/lib/encoding.js"); function p(char) { return char.codePointAt(0); } // https://url.spec.whatwg.org/#percent-encode function percentEncode(c) { let hex = c.toString(16).toUpperCase(); if (hex.length === 1) { hex = `0${hex}`; } return `%${hex}`; } // https://url.spec.whatwg.org/#percent-decode function percentDecodeBytes(input) { const output = new Uint8Array(input.byteLength); let outputIndex = 0; for (let i = 0; i < input.byteLength; ++i) { const byte = input[i]; if (byte !== 0x25) { output[outputIndex++] = byte; } else if (byte === 0x25 && (!isASCIIHex(input[i + 1]) || !isASCIIHex(input[i + 2]))) { output[outputIndex++] = byte; } else { const bytePoint = parseInt(String.fromCodePoint(input[i + 1], input[i + 2]), 16); output[outputIndex++] = bytePoint; i += 2; } } return output.slice(0, outputIndex); } // https://url.spec.whatwg.org/#string-percent-decode function percentDecodeString(input) { const bytes = utf8Encode(input); return percentDecodeBytes(bytes); } // https://url.spec.whatwg.org/#c0-control-percent-encode-set function isC0ControlPercentEncode(c) { return c <= 0x1F || c > 0x7E; } // https://url.spec.whatwg.org/#fragment-percent-encode-set const extraFragmentPercentEncodeSet = new Set([p(" "), p("\""), p("<"), p(">"), p("`")]); function isFragmentPercentEncode(c) { return isC0ControlPercentEncode(c) || extraFragmentPercentEncodeSet.has(c); } // https://url.spec.whatwg.org/#query-percent-encode-set const extraQueryPercentEncodeSet = new Set([p(" "), p("\""), p("#"), p("<"), p(">")]); function isQueryPercentEncode(c) { return isC0ControlPercentEncode(c) || extraQueryPercentEncodeSet.has(c); } // https://url.spec.whatwg.org/#special-query-percent-encode-set function isSpecialQueryPercentEncode(c) { return isQueryPercentEncode(c) || c === p("'"); } // https://url.spec.whatwg.org/#path-percent-encode-set const extraPathPercentEncodeSet = new Set([p("?"), p("`"), p("{"), p("}"), p("^")]); function isPathPercentEncode(c) { return isQueryPercentEncode(c) || extraPathPercentEncodeSet.has(c); } // https://url.spec.whatwg.org/#userinfo-percent-encode-set const extraUserinfoPercentEncodeSet = new Set([p("/"), p(":"), p(";"), p("="), p("@"), p("["), p("\\"), p("]"), p("|")]); function isUserinfoPercentEncode(c) { return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); } // https://url.spec.whatwg.org/#component-percent-encode-set const extraComponentPercentEncodeSet = new Set([p("$"), p("%"), p("&"), p("+"), p(",")]); function isComponentPercentEncode(c) { return isUserinfoPercentEncode(c) || extraComponentPercentEncodeSet.has(c); } // https://url.spec.whatwg.org/#application-x-www-form-urlencoded-percent-encode-set const extraURLEncodedPercentEncodeSet = new Set([p("!"), p("'"), p("("), p(")"), p("~")]); function isURLEncodedPercentEncode(c) { return isComponentPercentEncode(c) || extraURLEncodedPercentEncodeSet.has(c); } // https://url.spec.whatwg.org/#code-point-percent-encode-after-encoding // https://url.spec.whatwg.org/#utf-8-percent-encode // Assuming encoding is always utf-8 allows us to trim one of the logic branches. TODO: support encoding. // The "-Internal" variant here has code points as JS strings. The external version used by other files has code points // as JS numbers, like the rest of the codebase. function utf8PercentEncodeCodePointInternal(codePoint, percentEncodePredicate) { const bytes = utf8Encode(codePoint); let output = ""; for (const byte of bytes) { // Our percentEncodePredicate operates on bytes, not code points, so this is slightly different from the spec. if (!percentEncodePredicate(byte)) { output += String.fromCharCode(byte); } else { output += percentEncode(byte); } } return output; } function utf8PercentEncodeCodePoint(codePoint, percentEncodePredicate) { return utf8PercentEncodeCodePointInternal(String.fromCodePoint(codePoint), percentEncodePredicate); } // https://url.spec.whatwg.org/#string-percent-encode-after-encoding // https://url.spec.whatwg.org/#string-utf-8-percent-encode function utf8PercentEncodeString(input, percentEncodePredicate, spaceAsPlus = false) { let output = ""; for (const codePoint of input) { if (spaceAsPlus && codePoint === " ") { output += "+"; } else { output += utf8PercentEncodeCodePointInternal(codePoint, percentEncodePredicate); } } return output; } module.exports = { isC0ControlPercentEncode, isFragmentPercentEncode, isQueryPercentEncode, isSpecialQueryPercentEncode, isPathPercentEncode, isUserinfoPercentEncode, isURLEncodedPercentEncode, percentDecodeString, percentDecodeBytes, utf8PercentEncodeString, utf8PercentEncodeCodePoint }; /***/ }), /***/ "./node_modules/whatwg-url/lib/url-state-machine.js": /*!**********************************************************!*\ !*** ./node_modules/whatwg-url/lib/url-state-machine.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; const tr46 = __webpack_require__(/*! tr46 */ "./node_modules/tr46/index.js"); const infra = __webpack_require__(/*! ./infra */ "./node_modules/whatwg-url/lib/infra.js"); const { utf8DecodeWithoutBOM } = __webpack_require__(/*! ./encoding */ "./node_modules/whatwg-url/lib/encoding.js"); const { percentDecodeString, utf8PercentEncodeCodePoint, utf8PercentEncodeString, isC0ControlPercentEncode, isFragmentPercentEncode, isQueryPercentEncode, isSpecialQueryPercentEncode, isPathPercentEncode, isUserinfoPercentEncode } = __webpack_require__(/*! ./percent-encoding */ "./node_modules/whatwg-url/lib/percent-encoding.js"); function p(char) { return char.codePointAt(0); } const specialSchemes = { ftp: 21, file: null, http: 80, https: 443, ws: 80, wss: 443 }; const failure = Symbol("failure"); function countSymbols(str) { return [...str].length; } function at(input, idx) { const c = input[idx]; return isNaN(c) ? undefined : String.fromCodePoint(c); } function isSingleDot(buffer) { return buffer === "." || buffer.toLowerCase() === "%2e"; } function isDoubleDot(buffer) { buffer = buffer.toLowerCase(); return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; } function isWindowsDriveLetterCodePoints(cp1, cp2) { return infra.isASCIIAlpha(cp1) && (cp2 === p(":") || cp2 === p("|")); } function isWindowsDriveLetterString(string) { return string.length === 2 && infra.isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); } function isNormalizedWindowsDriveLetterString(string) { return string.length === 2 && infra.isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; } function containsForbiddenHostCodePoint(string) { return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|<|>|\?|@|\[|\\|\]|\^|\|/u) !== -1; } function containsForbiddenDomainCodePoint(string) { return containsForbiddenHostCodePoint(string) || string.search(/[\u0000-\u001F]|%|\u007F/u) !== -1; } function isSpecialScheme(scheme) { return specialSchemes[scheme] !== undefined; } function isSpecial(url) { return isSpecialScheme(url.scheme); } function isNotSpecial(url) { return !isSpecialScheme(url.scheme); } function defaultPort(scheme) { return specialSchemes[scheme]; } function parseIPv4Number(input) { if (input === "") { return failure; } let R = 10; if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { input = input.substring(2); R = 16; } else if (input.length >= 2 && input.charAt(0) === "0") { input = input.substring(1); R = 8; } if (input === "") { return 0; } let regex = /[^0-7]/u; if (R === 10) { regex = /[^0-9]/u; } if (R === 16) { regex = /[^0-9A-Fa-f]/u; } if (regex.test(input)) { return failure; } return parseInt(input, R); } function parseIPv4(input) { const parts = input.split("."); if (parts[parts.length - 1] === "") { if (parts.length > 1) { parts.pop(); } } if (parts.length > 4) { return failure; } const numbers = []; for (const part of parts) { const n = parseIPv4Number(part); if (n === failure) { return failure; } numbers.push(n); } for (let i = 0; i < numbers.length - 1; ++i) { if (numbers[i] > 255) { return failure; } } if (numbers[numbers.length - 1] >= 256 ** (5 - numbers.length)) { return failure; } let ipv4 = numbers.pop(); let counter = 0; for (const n of numbers) { ipv4 += n * 256 ** (3 - counter); ++counter; } return ipv4; } function serializeIPv4(address) { let output = ""; let n = address; for (let i = 1; i <= 4; ++i) { output = String(n % 256) + output; if (i !== 4) { output = `.${output}`; } n = Math.floor(n / 256); } return output; } function parseIPv6(input) { const address = [0, 0, 0, 0, 0, 0, 0, 0]; let pieceIndex = 0; let compress = null; let pointer = 0; input = Array.from(input, c => c.codePointAt(0)); if (input[pointer] === p(":")) { if (input[pointer + 1] !== p(":")) { return failure; } pointer += 2; ++pieceIndex; compress = pieceIndex; } while (pointer < input.length) { if (pieceIndex === 8) { return failure; } if (input[pointer] === p(":")) { if (compress !== null) { return failure; } ++pointer; ++pieceIndex; compress = pieceIndex; continue; } let value = 0; let length = 0; while (length < 4 && infra.isASCIIHex(input[pointer])) { value = value * 0x10 + parseInt(at(input, pointer), 16); ++pointer; ++length; } if (input[pointer] === p(".")) { if (length === 0) { return failure; } pointer -= length; if (pieceIndex > 6) { return failure; } let numbersSeen = 0; while (input[pointer] !== undefined) { let ipv4Piece = null; if (numbersSeen > 0) { if (input[pointer] === p(".") && numbersSeen < 4) { ++pointer; } else { return failure; } } if (!infra.isASCIIDigit(input[pointer])) { return failure; } while (infra.isASCIIDigit(input[pointer])) { const number = parseInt(at(input, pointer)); if (ipv4Piece === null) { ipv4Piece = number; } else if (ipv4Piece === 0) { return failure; } else { ipv4Piece = ipv4Piece * 10 + number; } if (ipv4Piece > 255) { return failure; } ++pointer; } address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece; ++numbersSeen; if (numbersSeen === 2 || numbersSeen === 4) { ++pieceIndex; } } if (numbersSeen !== 4) { return failure; } break; } else if (input[pointer] === p(":")) { ++pointer; if (input[pointer] === undefined) { return failure; } } else if (input[pointer] !== undefined) { return failure; } address[pieceIndex] = value; ++pieceIndex; } if (compress !== null) { let swaps = pieceIndex - compress; pieceIndex = 7; while (pieceIndex !== 0 && swaps > 0) { const temp = address[compress + swaps - 1]; address[compress + swaps - 1] = address[pieceIndex]; address[pieceIndex] = temp; --pieceIndex; --swaps; } } else if (compress === null && pieceIndex !== 8) { return failure; } return address; } function serializeIPv6(address) { let output = ""; const compress = findTheIPv6AddressCompressedPieceIndex(address); let ignore0 = false; for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { if (ignore0 && address[pieceIndex] === 0) { continue; } else if (ignore0) { ignore0 = false; } if (compress === pieceIndex) { const separator = pieceIndex === 0 ? "::" : ":"; output += separator; ignore0 = true; continue; } output += address[pieceIndex].toString(16); if (pieceIndex !== 7) { output += ":"; } } return output; } function parseHost(input, isOpaque = false) { if (input[0] === "[") { if (input[input.length - 1] !== "]") { return failure; } return parseIPv6(input.substring(1, input.length - 1)); } if (isOpaque) { return parseOpaqueHost(input); } const domain = utf8DecodeWithoutBOM(percentDecodeString(input)); const asciiDomain = domainToASCII(domain); if (asciiDomain === failure) { return failure; } if (endsInANumber(asciiDomain)) { return parseIPv4(asciiDomain); } return asciiDomain; } function endsInANumber(input) { const parts = input.split("."); if (parts[parts.length - 1] === "") { if (parts.length === 1) { return false; } parts.pop(); } const last = parts[parts.length - 1]; if (parseIPv4Number(last) !== failure) { return true; } if (/^[0-9]+$/u.test(last)) { return true; } return false; } function parseOpaqueHost(input) { if (containsForbiddenHostCodePoint(input)) { return failure; } return utf8PercentEncodeString(input, isC0ControlPercentEncode); } function findTheIPv6AddressCompressedPieceIndex(address) { let longestIndex = null; let longestSize = 1; // only find elements > 1 let foundIndex = null; let foundSize = 0; for (let pieceIndex = 0; pieceIndex < address.length; ++pieceIndex) { if (address[pieceIndex] !== 0) { if (foundSize > longestSize) { longestIndex = foundIndex; longestSize = foundSize; } foundIndex = null; foundSize = 0; } else { if (foundIndex === null) { foundIndex = pieceIndex; } ++foundSize; } } if (foundSize > longestSize) { return foundIndex; } return longestIndex; } function serializeHost(host) { if (typeof host === "number") { return serializeIPv4(host); } // IPv6 serializer if (host instanceof Array) { return `[${serializeIPv6(host)}]`; } return host; } function domainToASCII(domain, beStrict = false) { const result = tr46.toASCII(domain, { checkHyphens: beStrict, checkBidi: true, checkJoiners: true, useSTD3ASCIIRules: beStrict, transitionalProcessing: false, verifyDNSLength: beStrict, ignoreInvalidPunycode: false }); if (result === null) { return failure; } if (!beStrict) { if (result === "") { return failure; } if (containsForbiddenDomainCodePoint(result)) { return failure; } } return result; } function trimControlChars(string) { // Avoid using regexp because of this V8 bug: https://issues.chromium.org/issues/42204424 let start = 0; let end = string.length; for (; start < end; ++start) { if (string.charCodeAt(start) > 0x20) { break; } } for (; end > start; --end) { if (string.charCodeAt(end - 1) > 0x20) { break; } } return string.substring(start, end); } function trimTabAndNewline(url) { return url.replace(/\u0009|\u000A|\u000D/ug, ""); } function shortenPath(url) { const { path } = url; if (path.length === 0) { return; } if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { return; } path.pop(); } function includesCredentials(url) { return url.username !== "" || url.password !== ""; } function cannotHaveAUsernamePasswordPort(url) { return url.host === null || url.host === "" || url.scheme === "file"; } function hasAnOpaquePath(url) { return typeof url.path === "string"; } function isNormalizedWindowsDriveLetter(string) { return /^[A-Za-z]:$/u.test(string); } function URLStateMachine(input, base, encodingOverride, url, stateOverride) { this.pointer = 0; this.input = input; this.base = base || null; this.encodingOverride = encodingOverride || "utf-8"; this.stateOverride = stateOverride; this.url = url; this.failure = false; this.parseError = false; if (!this.url) { this.url = { scheme: "", username: "", password: "", host: null, port: null, path: [], query: null, fragment: null }; const res = trimControlChars(this.input); if (res !== this.input) { this.parseError = true; } this.input = res; } const res = trimTabAndNewline(this.input); if (res !== this.input) { this.parseError = true; } this.input = res; this.state = stateOverride || "scheme start"; this.buffer = ""; this.atFlag = false; this.arrFlag = false; this.passwordTokenSeenFlag = false; this.input = Array.from(this.input, c => c.codePointAt(0)); for (; this.pointer <= this.input.length; ++this.pointer) { const c = this.input[this.pointer]; const cStr = isNaN(c) ? undefined : String.fromCodePoint(c); // exec state machine const ret = this[`parse ${this.state}`](c, cStr); if (!ret) { break; // terminate algorithm } else if (ret === failure) { this.failure = true; break; } } } URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { if (infra.isASCIIAlpha(c)) { this.buffer += cStr.toLowerCase(); this.state = "scheme"; } else if (!this.stateOverride) { this.state = "no scheme"; --this.pointer; } else { this.parseError = true; return failure; } return true; }; URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { if (infra.isASCIIAlphanumeric(c) || c === p("+") || c === p("-") || c === p(".")) { this.buffer += cStr.toLowerCase(); } else if (c === p(":")) { if (this.stateOverride) { if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { return false; } if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { return false; } if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { return false; } if (this.url.scheme === "file" && this.url.host === "") { return false; } } this.url.scheme = this.buffer; if (this.stateOverride) { if (this.url.port === defaultPort(this.url.scheme)) { this.url.port = null; } return false; } this.buffer = ""; if (this.url.scheme === "file") { if (this.input[this.pointer + 1] !== p("/") || this.input[this.pointer + 2] !== p("/")) { this.parseError = true; } this.state = "file"; } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { this.state = "special relative or authority"; } else if (isSpecial(this.url)) { this.state = "special authority slashes"; } else if (this.input[this.pointer + 1] === p("/")) { this.state = "path or authority"; ++this.pointer; } else { this.url.path = ""; this.state = "opaque path"; } } else if (!this.stateOverride) { this.buffer = ""; this.state = "no scheme"; this.pointer = -1; } else { this.parseError = true; return failure; } return true; }; URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { if (this.base === null || (hasAnOpaquePath(this.base) && c !== p("#"))) { return failure; } else if (hasAnOpaquePath(this.base) && c === p("#")) { this.url.scheme = this.base.scheme; this.url.path = this.base.path; this.url.query = this.base.query; this.url.fragment = ""; this.state = "fragment"; } else if (this.base.scheme === "file") { this.state = "file"; --this.pointer; } else { this.state = "relative"; --this.pointer; } return true; }; URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { if (c === p("/") && this.input[this.pointer + 1] === p("/")) { this.state = "special authority ignore slashes"; ++this.pointer; } else { this.parseError = true; this.state = "relative"; --this.pointer; } return true; }; URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { if (c === p("/")) { this.state = "authority"; } else { this.state = "path"; --this.pointer; } return true; }; URLStateMachine.prototype["parse relative"] = function parseRelative(c) { this.url.scheme = this.base.scheme; if (c === p("/")) { this.state = "relative slash"; } else if (isSpecial(this.url) && c === p("\\")) { this.parseError = true; this.state = "relative slash"; } else { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; this.url.port = this.base.port; this.url.path = this.base.path.slice(); this.url.query = this.base.query; if (c === p("?")) { this.url.query = ""; this.state = "query"; } else if (c === p("#")) { this.url.fragment = ""; this.state = "fragment"; } else if (!isNaN(c)) { this.url.query = null; this.url.path.pop(); this.state = "path"; --this.pointer; } } return true; }; URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { if (isSpecial(this.url) && (c === p("/") || c === p("\\"))) { if (c === p("\\")) { this.parseError = true; } this.state = "special authority ignore slashes"; } else if (c === p("/")) { this.state = "authority"; } else { this.url.username = this.base.username; this.url.password = this.base.password; this.url.host = this.base.host; this.url.port = this.base.port; this.state = "path"; --this.pointer; } return true; }; URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { if (c === p("/") && this.input[this.pointer + 1] === p("/")) { this.state = "special authority ignore slashes"; ++this.pointer; } else { this.parseError = true; this.state = "special authority ignore slashes"; --this.pointer; } return true; }; URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { if (c !== p("/") && c !== p("\\")) { this.state = "authority"; --this.pointer; } else { this.parseError = true; } return true; }; URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { if (c === p("@")) { this.parseError = true; if (this.atFlag) { this.buffer = `%40${this.buffer}`; } this.atFlag = true; // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars const len = countSymbols(this.buffer); for (let pointer = 0; pointer < len; ++pointer) { const codePoint = this.buffer.codePointAt(pointer); if (codePoint === p(":") && !this.passwordTokenSeenFlag) { this.passwordTokenSeenFlag = true; continue; } const encodedCodePoints = utf8PercentEncodeCodePoint(codePoint, isUserinfoPercentEncode); if (this.passwordTokenSeenFlag) { this.url.password += encodedCodePoints; } else { this.url.username += encodedCodePoints; } } this.buffer = ""; } else if (isNaN(c) || c === p("/") || c === p("?") || c === p("#") || (isSpecial(this.url) && c === p("\\"))) { if (this.atFlag && this.buffer === "") { this.parseError = true; return failure; } this.pointer -= countSymbols(this.buffer) + 1; this.buffer = ""; this.state = "host"; } else { this.buffer += cStr; } return true; }; URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { if (this.stateOverride && this.url.scheme === "file") { --this.pointer; this.state = "file host"; } else if (c === p(":") && !this.arrFlag) { if (this.buffer === "") { this.parseError = true; return failure; } if (this.stateOverride === "hostname") { return false; } const host = parseHost(this.buffer, isNotSpecial(this.url)); if (host === failure) { return failure; } this.url.host = host; this.buffer = ""; this.state = "port"; } else if (isNaN(c) || c === p("/") || c === p("?") || c === p("#") || (isSpecial(this.url) && c === p("\\"))) { --this.pointer; if (isSpecial(this.url) && this.buffer === "") { this.parseError = true; return failure; } else if (this.stateOverride && this.buffer === "" && (includesCredentials(this.url) || this.url.port !== null)) { this.parseError = true; return false; } const host = parseHost(this.buffer, isNotSpecial(this.url)); if (host === failure) { return failure; } this.url.host = host; this.buffer = ""; this.state = "path start"; if (this.stateOverride) { return false; } } else { if (c === p("[")) { this.arrFlag = true; } else if (c === p("]")) { this.arrFlag = false; } this.buffer += cStr; } return true; }; URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { if (infra.isASCIIDigit(c)) { this.buffer += cStr; } else if (isNaN(c) || c === p("/") || c === p("?") || c === p("#") || (isSpecial(this.url) && c === p("\\")) || this.stateOverride) { if (this.buffer !== "") { const port = parseInt(this.buffer); if (port > 2 ** 16 - 1) { this.parseError = true; return failure; } this.url.port = port === defaultPort(this.url.scheme) ? null : port; this.buffer = ""; } if (this.stateOverride) { return false; } this.state = "path start"; --this.pointer; } else { this.parseError = true; return failure; } return true; }; const fileOtherwiseCodePoints = new Set([p("/"), p("\\"), p("?"), p("#")]); function startsWithWindowsDriveLetter(input, pointer) { const length = input.length - pointer; return length >= 2 && isWindowsDriveLetterCodePoints(input[pointer], input[pointer + 1]) && (length === 2 || fileOtherwiseCodePoints.has(input[pointer + 2])); } URLStateMachine.prototype["parse file"] = function parseFile(c) { this.url.scheme = "file"; this.url.host = ""; if (c === p("/") || c === p("\\")) { if (c === p("\\")) { this.parseError = true; } this.state = "file slash"; } else if (this.base !== null && this.base.scheme === "file") { this.url.host = this.base.host; this.url.path = this.base.path.slice(); this.url.query = this.base.query; if (c === p("?")) { this.url.query = ""; this.state = "query"; } else if (c === p("#")) { this.url.fragment = ""; this.state = "fragment"; } else if (!isNaN(c)) { this.url.query = null; if (!startsWithWindowsDriveLetter(this.input, this.pointer)) { shortenPath(this.url); } else { this.parseError = true; this.url.path = []; } this.state = "path"; --this.pointer; } } else { this.state = "path"; --this.pointer; } return true; }; URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { if (c === p("/") || c === p("\\")) { if (c === p("\\")) { this.parseError = true; } this.state = "file host"; } else { if (this.base !== null && this.base.scheme === "file") { if (!startsWithWindowsDriveLetter(this.input, this.pointer) && isNormalizedWindowsDriveLetterString(this.base.path[0])) { this.url.path.push(this.base.path[0]); } this.url.host = this.base.host; } this.state = "path"; --this.pointer; } return true; }; URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { if (isNaN(c) || c === p("/") || c === p("\\") || c === p("?") || c === p("#")) { --this.pointer; if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { this.parseError = true; this.state = "path"; } else if (this.buffer === "") { this.url.host = ""; if (this.stateOverride) { return false; } this.state = "path start"; } else { let host = parseHost(this.buffer, isNotSpecial(this.url)); if (host === failure) { return failure; } if (host === "localhost") { host = ""; } this.url.host = host; if (this.stateOverride) { return false; } this.buffer = ""; this.state = "path start"; } } else { this.buffer += cStr; } return true; }; URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { if (isSpecial(this.url)) { if (c === p("\\")) { this.parseError = true; } this.state = "path"; if (c !== p("/") && c !== p("\\")) { --this.pointer; } } else if (!this.stateOverride && c === p("?")) { this.url.query = ""; this.state = "query"; } else if (!this.stateOverride && c === p("#")) { this.url.fragment = ""; this.state = "fragment"; } else if (c !== undefined) { this.state = "path"; if (c !== p("/")) { --this.pointer; } } else if (this.stateOverride && this.url.host === null) { this.url.path.push(""); } return true; }; URLStateMachine.prototype["parse path"] = function parsePath(c) { if (isNaN(c) || c === p("/") || (isSpecial(this.url) && c === p("\\")) || (!this.stateOverride && (c === p("?") || c === p("#")))) { if (isSpecial(this.url) && c === p("\\")) { this.parseError = true; } if (isDoubleDot(this.buffer)) { shortenPath(this.url); if (c !== p("/") && !(isSpecial(this.url) && c === p("\\"))) { this.url.path.push(""); } } else if (isSingleDot(this.buffer) && c !== p("/") && !(isSpecial(this.url) && c === p("\\"))) { this.url.path.push(""); } else if (!isSingleDot(this.buffer)) { if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { this.buffer = `${this.buffer[0]}:`; } this.url.path.push(this.buffer); } this.buffer = ""; if (c === p("?")) { this.url.query = ""; this.state = "query"; } if (c === p("#")) { this.url.fragment = ""; this.state = "fragment"; } } else { // TODO: If c is not a URL code point and not "%", parse error. if (c === p("%") && (!infra.isASCIIHex(this.input[this.pointer + 1]) || !infra.isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } this.buffer += utf8PercentEncodeCodePoint(c, isPathPercentEncode); } return true; }; URLStateMachine.prototype["parse opaque path"] = function parseOpaquePath(c) { if (c === p("?")) { this.url.query = ""; this.state = "query"; } else if (c === p("#")) { this.url.fragment = ""; this.state = "fragment"; } else if (c === p(" ")) { const remaining = this.input[this.pointer + 1]; if (remaining === p("?") || remaining === p("#")) { this.url.path += "%20"; } else { this.url.path += " "; } } else { // TODO: Add: not a URL code point if (!isNaN(c) && c !== p("%")) { this.parseError = true; } if (c === p("%") && (!infra.isASCIIHex(this.input[this.pointer + 1]) || !infra.isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } if (!isNaN(c)) { this.url.path += utf8PercentEncodeCodePoint(c, isC0ControlPercentEncode); } } return true; }; URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { this.encodingOverride = "utf-8"; } if ((!this.stateOverride && c === p("#")) || isNaN(c)) { const queryPercentEncodePredicate = isSpecial(this.url) ? isSpecialQueryPercentEncode : isQueryPercentEncode; this.url.query += utf8PercentEncodeString(this.buffer, queryPercentEncodePredicate); this.buffer = ""; if (c === p("#")) { this.url.fragment = ""; this.state = "fragment"; } } else if (!isNaN(c)) { // TODO: If c is not a URL code point and not "%", parse error. if (c === p("%") && (!infra.isASCIIHex(this.input[this.pointer + 1]) || !infra.isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } this.buffer += cStr; } return true; }; URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { if (!isNaN(c)) { // TODO: If c is not a URL code point and not "%", parse error. if (c === p("%") && (!infra.isASCIIHex(this.input[this.pointer + 1]) || !infra.isASCIIHex(this.input[this.pointer + 2]))) { this.parseError = true; } this.url.fragment += utf8PercentEncodeCodePoint(c, isFragmentPercentEncode); } return true; }; function serializeURL(url, excludeFragment) { let output = `${url.scheme}:`; if (url.host !== null) { output += "//"; if (url.username !== "" || url.password !== "") { output += url.username; if (url.password !== "") { output += `:${url.password}`; } output += "@"; } output += serializeHost(url.host); if (url.port !== null) { output += `:${url.port}`; } } if (url.host === null && !hasAnOpaquePath(url) && url.path.length > 1 && url.path[0] === "") { output += "/."; } output += serializePath(url); if (url.query !== null) { output += `?${url.query}`; } if (!excludeFragment && url.fragment !== null) { output += `#${url.fragment}`; } return output; } function serializeOrigin(tuple) { let result = `${tuple.scheme}://`; result += serializeHost(tuple.host); if (tuple.port !== null) { result += `:${tuple.port}`; } return result; } function serializePath(url) { if (hasAnOpaquePath(url)) { return url.path; } let output = ""; for (const segment of url.path) { output += `/${segment}`; } return output; } module.exports.serializeURL = serializeURL; module.exports.serializePath = serializePath; module.exports.serializeURLOrigin = function (url) { // https://url.spec.whatwg.org/#concept-url-origin switch (url.scheme) { case "blob": { const pathURL = module.exports.parseURL(serializePath(url)); if (pathURL === null) { return "null"; } if (pathURL.scheme !== "http" && pathURL.scheme !== "https") { return "null"; } return module.exports.serializeURLOrigin(pathURL); } case "ftp": case "http": case "https": case "ws": case "wss": return serializeOrigin({ scheme: url.scheme, host: url.host, port: url.port }); case "file": // The spec says: // > Unfortunate as it is, this is left as an exercise to the reader. When in doubt, return a new opaque origin. // Browsers tested so far: // - Chrome says "file://", but treats file: URLs as cross-origin for most (all?) purposes; see e.g. // https://bugs.chromium.org/p/chromium/issues/detail?id=37586 // - Firefox says "null", but treats file: URLs as same-origin sometimes based on directory stuff; see // https://developer.mozilla.org/en-US/docs/Archive/Misc_top_level/Same-origin_policy_for_file:_URIs return "null"; default: // serializing an opaque origin returns "null" return "null"; } }; module.exports.basicURLParse = function (input, options) { if (options === undefined) { options = {}; } const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); if (usm.failure) { return null; } return usm.url; }; module.exports.setTheUsername = function (url, username) { url.username = utf8PercentEncodeString(username, isUserinfoPercentEncode); }; module.exports.setThePassword = function (url, password) { url.password = utf8PercentEncodeString(password, isUserinfoPercentEncode); }; module.exports.serializeHost = serializeHost; module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; module.exports.hasAnOpaquePath = hasAnOpaquePath; module.exports.serializeInteger = function (integer) { return String(integer); }; module.exports.parseURL = function (input, options) { if (options === undefined) { options = {}; } // We don't handle blobs, so this just delegates: return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); }; /***/ }), /***/ "./node_modules/whatwg-url/lib/urlencoded.js": /*!***************************************************!*\ !*** ./node_modules/whatwg-url/lib/urlencoded.js ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; const { utf8Encode, utf8DecodeWithoutBOM } = __webpack_require__(/*! ./encoding */ "./node_modules/whatwg-url/lib/encoding.js"); const { percentDecodeBytes, utf8PercentEncodeString, isURLEncodedPercentEncode } = __webpack_require__(/*! ./percent-encoding */ "./node_modules/whatwg-url/lib/percent-encoding.js"); function p(char) { return char.codePointAt(0); } // https://url.spec.whatwg.org/#concept-urlencoded-parser function parseUrlencoded(input) { const sequences = strictlySplitByteSequence(input, p("&")); const output = []; for (const bytes of sequences) { if (bytes.length === 0) { continue; } let name, value; const indexOfEqual = bytes.indexOf(p("=")); if (indexOfEqual >= 0) { name = bytes.slice(0, indexOfEqual); value = bytes.slice(indexOfEqual + 1); } else { name = bytes; value = new Uint8Array(0); } name = replaceByteInByteSequence(name, 0x2B, 0x20); value = replaceByteInByteSequence(value, 0x2B, 0x20); const nameString = utf8DecodeWithoutBOM(percentDecodeBytes(name)); const valueString = utf8DecodeWithoutBOM(percentDecodeBytes(value)); output.push([nameString, valueString]); } return output; } // https://url.spec.whatwg.org/#concept-urlencoded-string-parser function parseUrlencodedString(input) { return parseUrlencoded(utf8Encode(input)); } // https://url.spec.whatwg.org/#concept-urlencoded-serializer function serializeUrlencoded(tuples) { // TODO: accept and use encoding argument let output = ""; for (const [i, tuple] of tuples.entries()) { const name = utf8PercentEncodeString(tuple[0], isURLEncodedPercentEncode, true); const value = utf8PercentEncodeString(tuple[1], isURLEncodedPercentEncode, true); if (i !== 0) { output += "&"; } output += `${name}=${value}`; } return output; } function strictlySplitByteSequence(buf, cp) { const list = []; let last = 0; let i = buf.indexOf(cp); while (i >= 0) { list.push(buf.slice(last, i)); last = i + 1; i = buf.indexOf(cp, last); } if (last !== buf.length) { list.push(buf.slice(last)); } return list; } function replaceByteInByteSequence(buf, from, to) { let i = buf.indexOf(from); while (i >= 0) { buf[i] = to; i = buf.indexOf(from, i + 1); } return buf; } module.exports = { parseUrlencodedString, serializeUrlencoded }; /***/ }), /***/ "./node_modules/whatwg-url/lib/utils.js": /*!**********************************************!*\ !*** ./node_modules/whatwg-url/lib/utils.js ***! \**********************************************/ /***/ ((module, exports) => { "use strict"; // Returns "Type(value) is Object" in ES terminology. function isObject(value) { return (typeof value === "object" && value !== null) || typeof value === "function"; } const hasOwn = Function.prototype.call.bind(Object.prototype.hasOwnProperty); // Like `Object.assign`, but using `[[GetOwnProperty]]` and `[[DefineOwnProperty]]` // instead of `[[Get]]` and `[[Set]]` and only allowing objects function define(target, source) { for (const key of Reflect.ownKeys(source)) { const descriptor = Reflect.getOwnPropertyDescriptor(source, key); if (descriptor && !Reflect.defineProperty(target, key, descriptor)) { throw new TypeError(`Cannot redefine property: ${String(key)}`); } } } function newObjectInRealm(globalObject, object) { const ctorRegistry = initCtorRegistry(globalObject); return Object.defineProperties( Object.create(ctorRegistry["%Object.prototype%"]), Object.getOwnPropertyDescriptors(object) ); } const wrapperSymbol = Symbol("wrapper"); const implSymbol = Symbol("impl"); const sameObjectCaches = Symbol("SameObject caches"); const ctorRegistrySymbol = Symbol.for("[webidl2js] constructor registry"); const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () {}).prototype); function initCtorRegistry(globalObject) { if (hasOwn(globalObject, ctorRegistrySymbol)) { return globalObject[ctorRegistrySymbol]; } const ctorRegistry = Object.create(null); // In addition to registering all the WebIDL2JS-generated types in the constructor registry, // we also register a few intrinsics that we make use of in generated code, since they are not // easy to grab from the globalObject variable. ctorRegistry["%Object.prototype%"] = globalObject.Object.prototype; ctorRegistry["%IteratorPrototype%"] = Object.getPrototypeOf( Object.getPrototypeOf(new globalObject.Array()[Symbol.iterator]()) ); try { ctorRegistry["%AsyncIteratorPrototype%"] = Object.getPrototypeOf( Object.getPrototypeOf( globalObject.eval("(async function* () {})").prototype ) ); } catch { ctorRegistry["%AsyncIteratorPrototype%"] = AsyncIteratorPrototype; } globalObject[ctorRegistrySymbol] = ctorRegistry; return ctorRegistry; } function getSameObject(wrapper, prop, creator) { if (!wrapper[sameObjectCaches]) { wrapper[sameObjectCaches] = Object.create(null); } if (prop in wrapper[sameObjectCaches]) { return wrapper[sameObjectCaches][prop]; } wrapper[sameObjectCaches][prop] = creator(); return wrapper[sameObjectCaches][prop]; } function wrapperForImpl(impl) { return impl ? impl[wrapperSymbol] : null; } function implForWrapper(wrapper) { return wrapper ? wrapper[implSymbol] : null; } function tryWrapperForImpl(impl) { const wrapper = wrapperForImpl(impl); return wrapper ? wrapper : impl; } function tryImplForWrapper(wrapper) { const impl = implForWrapper(wrapper); return impl ? impl : wrapper; } const iterInternalSymbol = Symbol("internal"); function isArrayIndexPropName(P) { if (typeof P !== "string") { return false; } const i = P >>> 0; if (i === 2 ** 32 - 1) { return false; } const s = `${i}`; if (P !== s) { return false; } return true; } const byteLengthGetter = Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get; function isArrayBuffer(value) { try { byteLengthGetter.call(value); return true; } catch (e) { return false; } } function iteratorResult([key, value], kind) { let result; switch (kind) { case "key": result = key; break; case "value": result = value; break; case "key+value": result = [key, value]; break; } return { value: result, done: false }; } const supportsPropertyIndex = Symbol("supports property index"); const supportedPropertyIndices = Symbol("supported property indices"); const supportsPropertyName = Symbol("supports property name"); const supportedPropertyNames = Symbol("supported property names"); const indexedGet = Symbol("indexed property get"); const indexedSetNew = Symbol("indexed property set new"); const indexedSetExisting = Symbol("indexed property set existing"); const namedGet = Symbol("named property get"); const namedSetNew = Symbol("named property set new"); const namedSetExisting = Symbol("named property set existing"); const namedDelete = Symbol("named property delete"); const asyncIteratorNext = Symbol("async iterator get the next iteration result"); const asyncIteratorReturn = Symbol("async iterator return steps"); const asyncIteratorInit = Symbol("async iterator initialization steps"); const asyncIteratorEOI = Symbol("async iterator end of iteration"); module.exports = exports = { isObject, hasOwn, define, newObjectInRealm, wrapperSymbol, implSymbol, getSameObject, ctorRegistrySymbol, initCtorRegistry, wrapperForImpl, implForWrapper, tryWrapperForImpl, tryImplForWrapper, iterInternalSymbol, isArrayBuffer, isArrayIndexPropName, supportsPropertyIndex, supportedPropertyIndices, supportsPropertyName, supportedPropertyNames, indexedGet, indexedSetNew, indexedSetExisting, namedGet, namedSetNew, namedSetExisting, namedDelete, asyncIteratorNext, asyncIteratorReturn, asyncIteratorInit, asyncIteratorEOI, iteratorResult }; /***/ }), /***/ "./node_modules/whatwg-url/webidl2js-wrapper.js": /*!******************************************************!*\ !*** ./node_modules/whatwg-url/webidl2js-wrapper.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; const URL = __webpack_require__(/*! ./lib/URL */ "./node_modules/whatwg-url/lib/URL.js"); const URLSearchParams = __webpack_require__(/*! ./lib/URLSearchParams */ "./node_modules/whatwg-url/lib/URLSearchParams.js"); exports.URL = URL; exports.URLSearchParams = URLSearchParams; /***/ }), /***/ "?03fb": /*!********************!*\ !*** fs (ignored) ***! \********************/ /***/ (() => { /* (ignored) */ /***/ }), /***/ "?3465": /*!**********************!*\ !*** path (ignored) ***! \**********************/ /***/ (() => { /* (ignored) */ /***/ }), /***/ "?5580": /*!**************************************!*\ !*** ./terminal-highlight (ignored) ***! \**************************************/ /***/ (() => { /* (ignored) */ /***/ }), /***/ "?6197": /*!**********************!*\ !*** path (ignored) ***! \**********************/ /***/ (() => { /* (ignored) */ /***/ }), /***/ "?b8cb": /*!*******************************!*\ !*** source-map-js (ignored) ***! \*******************************/ /***/ (() => { /* (ignored) */ /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/global */ /******/ (() => { /******/ __webpack_require__.g = (function() { /******/ if (typeof globalThis === 'object') return globalThis; /******/ try { /******/ return this || new Function('return this')(); /******/ } catch (e) { /******/ if (typeof window === 'object') return window; /******/ } /******/ })(); /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. (() => { "use strict"; /*!*************************!*\ !*** ./src/postcss.mjs ***! \*************************/ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ runTest: () => (/* binding */ runTest) /* harmony export */ }); /* harmony import */ var postcss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! postcss */ "./node_modules/postcss/lib/postcss.mjs"); /* harmony import */ var postcss_nested__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! postcss-nested */ "./node_modules/postcss-nested/index.js"); /* harmony import */ var autoprefixer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! autoprefixer */ "./node_modules/autoprefixer/lib/autoprefixer.js"); // Copyright 2018 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. const nestedRules = ` .phone { &_title { width: 500px; @media (max-width: 500px) { width: auto; } body.is_dark & { color: white; } } img { display: block; } }`; const payloads = [ { name: "bootstrap-5.3.7.css", options: { from: `third_party/bootstrap-5.3.7.css`, map: false }, }, { name: "foundation-6.9.0.css", options: { from: `third_party/foundation-6.9.0.css`, map: false }, }, { name: "angular-material-20.1.6.css", options: { from: `third_party/angular-material-20.1.6.css`, map: false }, }, ]; function runTest(fileData) { const cleaner = (0,postcss__WEBPACK_IMPORTED_MODULE_0__["default"])([ autoprefixer__WEBPACK_IMPORTED_MODULE_2__({ add: false, overrideBrowserslist: [] }), ]); const processor = (0,postcss__WEBPACK_IMPORTED_MODULE_0__["default"])([autoprefixer__WEBPACK_IMPORTED_MODULE_2__, postcss_nested__WEBPACK_IMPORTED_MODULE_1__]); const testData = payloads.map(({ name, options }) => { // Clean prefixes. const source = fileData[name]; // Add some nested rules. const css = cleaner.process(source).css + nestedRules; return { payload: css, options, }; }); return testData.map( ({ payload, options }) => processor.process(payload, options).css ); } })(); self.WTBenchmark = __webpack_exports__; /******/ })() ;