{"version":3,"file":"js/chunk-vendors-06593165.e1dc7c90.js","mappings":"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","sources":["webpack://ouvidoria/./node_modules/postcss/lib/at-rule.js","webpack://ouvidoria/./node_modules/postcss/lib/comment.js","webpack://ouvidoria/./node_modules/postcss/lib/container.js","webpack://ouvidoria/./node_modules/postcss/lib/css-syntax-error.js","webpack://ouvidoria/./node_modules/postcss/lib/declaration.js","webpack://ouvidoria/./node_modules/postcss/lib/document.js","webpack://ouvidoria/./node_modules/postcss/lib/fromJSON.js","webpack://ouvidoria/./node_modules/postcss/lib/input.js","webpack://ouvidoria/./node_modules/postcss/lib/lazy-result.js","webpack://ouvidoria/./node_modules/postcss/lib/list.js","webpack://ouvidoria/./node_modules/postcss/lib/map-generator.js","webpack://ouvidoria/./node_modules/postcss/lib/no-work-result.js","webpack://ouvidoria/./node_modules/postcss/lib/node.js","webpack://ouvidoria/./node_modules/postcss/lib/parse.js","webpack://ouvidoria/./node_modules/postcss/lib/parser.js","webpack://ouvidoria/./node_modules/postcss/lib/postcss.js","webpack://ouvidoria/./node_modules/postcss/lib/previous-map.js","webpack://ouvidoria/./node_modules/postcss/lib/processor.js","webpack://ouvidoria/./node_modules/postcss/lib/result.js","webpack://ouvidoria/./node_modules/postcss/lib/root.js","webpack://ouvidoria/./node_modules/postcss/lib/rule.js","webpack://ouvidoria/./node_modules/postcss/lib/stringifier.js","webpack://ouvidoria/./node_modules/postcss/lib/stringify.js","webpack://ouvidoria/./node_modules/postcss/lib/symbols.js","webpack://ouvidoria/./node_modules/postcss/lib/tokenize.js","webpack://ouvidoria/./node_modules/postcss/lib/warn-once.js","webpack://ouvidoria/./node_modules/postcss/lib/warning.js"],"sourcesContent":["'use strict'\n\nlet Container = require('./container')\n\nclass AtRule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'atrule'\n }\n\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.append(...children)\n }\n\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.prepend(...children)\n }\n}\n\nmodule.exports = AtRule\nAtRule.default = AtRule\n\nContainer.registerAtRule(AtRule)\n","'use strict'\n\nlet Node = require('./node')\n\nclass Comment extends Node {\n constructor(defaults) {\n super(defaults)\n this.type = 'comment'\n }\n}\n\nmodule.exports = Comment\nComment.default = Comment\n","'use strict'\n\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Node = require('./node')\nlet { isClean, my } = require('./symbols')\n\nlet AtRule, parse, Root, Rule\n\nfunction cleanSource(nodes) {\n return nodes.map(i => {\n if (i.nodes) i.nodes = cleanSource(i.nodes)\n delete i.source\n return i\n })\n}\n\nfunction markTreeDirty(node) {\n node[isClean] = false\n if (node.proxyOf.nodes) {\n for (let i of node.proxyOf.nodes) {\n markTreeDirty(i)\n }\n }\n}\n\nclass Container extends Node {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last)\n for (let node of nodes) this.proxyOf.nodes.push(node)\n }\n\n this.markDirty()\n\n return this\n }\n\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween)\n if (this.nodes) {\n for (let node of this.nodes) node.cleanRaws(keepBetween)\n }\n }\n\n each(callback) {\n if (!this.proxyOf.nodes) return undefined\n let iterator = this.getIterator()\n\n let index, result\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index = this.indexes[iterator]\n result = callback(this.proxyOf.nodes[index], index)\n if (result === false) break\n\n this.indexes[iterator] += 1\n }\n\n delete this.indexes[iterator]\n return result\n }\n\n every(condition) {\n return this.nodes.every(condition)\n }\n\n getIterator() {\n if (!this.lastEach) this.lastEach = 0\n if (!this.indexes) this.indexes = {}\n\n this.lastEach += 1\n let iterator = this.lastEach\n this.indexes[iterator] = 0\n\n return iterator\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (!node[prop]) {\n return node[prop]\n } else if (\n prop === 'each' ||\n (typeof prop === 'string' && prop.startsWith('walk'))\n ) {\n return (...args) => {\n return node[prop](\n ...args.map(i => {\n if (typeof i === 'function') {\n return (child, index) => i(child.toProxy(), index)\n } else {\n return i\n }\n })\n )\n }\n } else if (prop === 'every' || prop === 'some') {\n return cb => {\n return node[prop]((child, ...other) =>\n cb(child.toProxy(), ...other)\n )\n }\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else if (prop === 'nodes') {\n return node.nodes.map(i => i.toProxy())\n } else if (prop === 'first' || prop === 'last') {\n return node[prop].toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (prop === 'name' || prop === 'params' || prop === 'selector') {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n index(child) {\n if (typeof child === 'number') return child\n if (child.proxyOf) child = child.proxyOf\n return this.proxyOf.nodes.indexOf(child)\n }\n\n insertAfter(exist, add) {\n let existIndex = this.index(exist)\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex < index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n insertBefore(exist, add) {\n let existIndex = this.index(exist)\n let type = existIndex === 0 ? 'prepend' : false\n let nodes = this.normalize(\n add,\n this.proxyOf.nodes[existIndex],\n type\n ).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex <= index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n normalize(nodes, sample) {\n if (typeof nodes === 'string') {\n nodes = cleanSource(parse(nodes).nodes)\n } else if (typeof nodes === 'undefined') {\n nodes = []\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type === 'root' && this.type !== 'document') {\n nodes = nodes.nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type) {\n nodes = [nodes]\n } else if (nodes.prop) {\n if (typeof nodes.value === 'undefined') {\n throw new Error('Value field is missed in node creation')\n } else if (typeof nodes.value !== 'string') {\n nodes.value = String(nodes.value)\n }\n nodes = [new Declaration(nodes)]\n } else if (nodes.selector || nodes.selectors) {\n nodes = [new Rule(nodes)]\n } else if (nodes.name) {\n nodes = [new AtRule(nodes)]\n } else if (nodes.text) {\n nodes = [new Comment(nodes)]\n } else {\n throw new Error('Unknown node type in node creation')\n }\n\n let processed = nodes.map(i => {\n /* c8 ignore next */\n if (!i[my]) Container.rebuild(i)\n i = i.proxyOf\n if (i.parent) i.parent.removeChild(i)\n if (i[isClean]) markTreeDirty(i)\n\n if (!i.raws) i.raws = {}\n if (typeof i.raws.before === 'undefined') {\n if (sample && typeof sample.raws.before !== 'undefined') {\n i.raws.before = sample.raws.before.replace(/\\S/g, '')\n }\n }\n i.parent = this.proxyOf\n return i\n })\n\n return processed\n }\n\n prepend(...children) {\n children = children.reverse()\n for (let child of children) {\n let nodes = this.normalize(child, this.first, 'prepend').reverse()\n for (let node of nodes) this.proxyOf.nodes.unshift(node)\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n push(child) {\n child.parent = this\n this.proxyOf.nodes.push(child)\n return this\n }\n\n removeAll() {\n for (let node of this.proxyOf.nodes) node.parent = undefined\n this.proxyOf.nodes = []\n\n this.markDirty()\n\n return this\n }\n\n removeChild(child) {\n child = this.index(child)\n this.proxyOf.nodes[child].parent = undefined\n this.proxyOf.nodes.splice(child, 1)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (index >= child) {\n this.indexes[id] = index - 1\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts\n opts = {}\n }\n\n this.walkDecls(decl => {\n if (opts.props && !opts.props.includes(decl.prop)) return\n if (opts.fast && !decl.value.includes(opts.fast)) return\n\n decl.value = decl.value.replace(pattern, callback)\n })\n\n this.markDirty()\n\n return this\n }\n\n some(condition) {\n return this.nodes.some(condition)\n }\n\n walk(callback) {\n return this.each((child, i) => {\n let result\n try {\n result = callback(child, i)\n } catch (e) {\n throw child.addToError(e)\n }\n if (result !== false && child.walk) {\n result = child.walk(callback)\n }\n\n return result\n })\n }\n\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name\n return this.walk((child, i) => {\n if (child.type === 'atrule') {\n return callback(child, i)\n }\n })\n }\n if (name instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'atrule' && name.test(child.name)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'atrule' && child.name === name) {\n return callback(child, i)\n }\n })\n }\n\n walkComments(callback) {\n return this.walk((child, i) => {\n if (child.type === 'comment') {\n return callback(child, i)\n }\n })\n }\n\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop\n return this.walk((child, i) => {\n if (child.type === 'decl') {\n return callback(child, i)\n }\n })\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'decl' && prop.test(child.prop)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'decl' && child.prop === prop) {\n return callback(child, i)\n }\n })\n }\n\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector\n\n return this.walk((child, i) => {\n if (child.type === 'rule') {\n return callback(child, i)\n }\n })\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'rule' && selector.test(child.selector)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'rule' && child.selector === selector) {\n return callback(child, i)\n }\n })\n }\n\n get first() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[0]\n }\n\n get last() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]\n }\n}\n\nContainer.registerParse = dependant => {\n parse = dependant\n}\n\nContainer.registerRule = dependant => {\n Rule = dependant\n}\n\nContainer.registerAtRule = dependant => {\n AtRule = dependant\n}\n\nContainer.registerRoot = dependant => {\n Root = dependant\n}\n\nmodule.exports = Container\nContainer.default = Container\n\n/* c8 ignore start */\nContainer.rebuild = node => {\n if (node.type === 'atrule') {\n Object.setPrototypeOf(node, AtRule.prototype)\n } else if (node.type === 'rule') {\n Object.setPrototypeOf(node, Rule.prototype)\n } else if (node.type === 'decl') {\n Object.setPrototypeOf(node, Declaration.prototype)\n } else if (node.type === 'comment') {\n Object.setPrototypeOf(node, Comment.prototype)\n } else if (node.type === 'root') {\n Object.setPrototypeOf(node, Root.prototype)\n }\n\n node[my] = true\n\n if (node.nodes) {\n node.nodes.forEach(child => {\n Container.rebuild(child)\n })\n }\n}\n/* c8 ignore stop */\n","'use strict'\n\nlet pico = require('picocolors')\n\nlet terminalHighlight = require('./terminal-highlight')\n\nclass CssSyntaxError extends Error {\n constructor(message, line, column, source, file, plugin) {\n super(message)\n this.name = 'CssSyntaxError'\n this.reason = message\n\n if (file) {\n this.file = file\n }\n if (source) {\n this.source = source\n }\n if (plugin) {\n this.plugin = plugin\n }\n if (typeof line !== 'undefined' && typeof column !== 'undefined') {\n if (typeof line === 'number') {\n this.line = line\n this.column = column\n } else {\n this.line = line.line\n this.column = line.column\n this.endLine = column.line\n this.endColumn = column.column\n }\n }\n\n this.setMessage()\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError)\n }\n }\n\n setMessage() {\n this.message = this.plugin ? this.plugin + ': ' : ''\n this.message += this.file ? this.file : ''\n if (typeof this.line !== 'undefined') {\n this.message += ':' + this.line + ':' + this.column\n }\n this.message += ': ' + this.reason\n }\n\n showSourceCode(color) {\n if (!this.source) return ''\n\n let css = this.source\n if (color == null) color = pico.isColorSupported\n\n let aside = text => text\n let mark = text => text\n let highlight = text => text\n if (color) {\n let { bold, gray, red } = pico.createColors(true)\n mark = text => bold(red(text))\n aside = text => gray(text)\n if (terminalHighlight) {\n highlight = text => terminalHighlight(text)\n }\n }\n\n let lines = css.split(/\\r?\\n/)\n let start = Math.max(this.line - 3, 0)\n let end = Math.min(this.line + 2, lines.length)\n let maxWidth = String(end).length\n\n return lines\n .slice(start, end)\n .map((line, index) => {\n let number = start + 1 + index\n let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | '\n if (number === this.line) {\n if (line.length > 160) {\n let padding = 20\n let subLineStart = Math.max(0, this.column - padding)\n let subLineEnd = Math.max(\n this.column + padding,\n this.endColumn + padding\n )\n let subLine = line.slice(subLineStart, subLineEnd)\n\n let spacing =\n aside(gutter.replace(/\\d/g, ' ')) +\n line\n .slice(0, Math.min(this.column - 1, padding - 1))\n .replace(/[^\\t]/g, ' ')\n\n return (\n mark('>') +\n aside(gutter) +\n highlight(subLine) +\n '\\n ' +\n spacing +\n mark('^')\n )\n }\n\n let spacing =\n aside(gutter.replace(/\\d/g, ' ')) +\n line.slice(0, this.column - 1).replace(/[^\\t]/g, ' ')\n\n return (\n mark('>') +\n aside(gutter) +\n highlight(line) +\n '\\n ' +\n spacing +\n mark('^')\n )\n }\n\n return ' ' + aside(gutter) + highlight(line)\n })\n .join('\\n')\n }\n\n toString() {\n let code = this.showSourceCode()\n if (code) {\n code = '\\n\\n' + code + '\\n'\n }\n return this.name + ': ' + this.message + code\n }\n}\n\nmodule.exports = CssSyntaxError\nCssSyntaxError.default = CssSyntaxError\n","'use strict'\n\nlet Node = require('./node')\n\nclass Declaration extends Node {\n constructor(defaults) {\n if (\n defaults &&\n typeof defaults.value !== 'undefined' &&\n typeof defaults.value !== 'string'\n ) {\n defaults = { ...defaults, value: String(defaults.value) }\n }\n super(defaults)\n this.type = 'decl'\n }\n\n get variable() {\n return this.prop.startsWith('--') || this.prop[0] === '$'\n }\n}\n\nmodule.exports = Declaration\nDeclaration.default = Declaration\n","'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Document extends Container {\n constructor(defaults) {\n // type needs to be passed to super, otherwise child roots won't be normalized correctly\n super({ type: 'document', ...defaults })\n\n if (!this.nodes) {\n this.nodes = []\n }\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n\n return lazy.stringify()\n }\n}\n\nDocument.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nDocument.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Document\nDocument.default = Document\n","'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Input = require('./input')\nlet PreviousMap = require('./previous-map')\nlet Root = require('./root')\nlet Rule = require('./rule')\n\nfunction fromJSON(json, inputs) {\n if (Array.isArray(json)) return json.map(n => fromJSON(n))\n\n let { inputs: ownInputs, ...defaults } = json\n if (ownInputs) {\n inputs = []\n for (let input of ownInputs) {\n let inputHydrated = { ...input, __proto__: Input.prototype }\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap.prototype\n }\n }\n inputs.push(inputHydrated)\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map(n => fromJSON(n, inputs))\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source\n defaults.source = source\n if (inputId != null) {\n defaults.source.input = inputs[inputId]\n }\n }\n if (defaults.type === 'root') {\n return new Root(defaults)\n } else if (defaults.type === 'decl') {\n return new Declaration(defaults)\n } else if (defaults.type === 'rule') {\n return new Rule(defaults)\n } else if (defaults.type === 'comment') {\n return new Comment(defaults)\n } else if (defaults.type === 'atrule') {\n return new AtRule(defaults)\n } else {\n throw new Error('Unknown node type: ' + json.type)\n }\n}\n\nmodule.exports = fromJSON\nfromJSON.default = fromJSON\n","'use strict'\n\nlet { nanoid } = require('nanoid/non-secure')\nlet { isAbsolute, resolve } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { fileURLToPath, pathToFileURL } = require('url')\n\nlet CssSyntaxError = require('./css-syntax-error')\nlet PreviousMap = require('./previous-map')\nlet terminalHighlight = require('./terminal-highlight')\n\nlet fromOffsetCache = Symbol('fromOffsetCache')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(resolve && isAbsolute)\n\nclass Input {\n constructor(css, opts = {}) {\n if (\n css === null ||\n typeof css === 'undefined' ||\n (typeof css === 'object' && !css.toString)\n ) {\n throw new Error(`PostCSS received ${css} instead of CSS string`)\n }\n\n this.css = css.toString()\n\n if (this.css[0] === '\\uFEFF' || this.css[0] === '\\uFFFE') {\n this.hasBOM = true\n this.css = this.css.slice(1)\n } else {\n this.hasBOM = false\n }\n\n this.document = this.css\n if (opts.document) this.document = opts.document.toString()\n\n if (opts.from) {\n if (\n !pathAvailable ||\n /^\\w+:\\/\\//.test(opts.from) ||\n isAbsolute(opts.from)\n ) {\n this.file = opts.from\n } else {\n this.file = resolve(opts.from)\n }\n }\n\n if (pathAvailable && sourceMapAvailable) {\n let map = new PreviousMap(this.css, opts)\n if (map.text) {\n this.map = map\n let file = map.consumer().file\n if (!this.file && file) this.file = this.mapResolve(file)\n }\n }\n\n if (!this.file) {\n this.id = ''\n }\n if (this.map) this.map.file = this.from\n }\n\n error(message, line, column, opts = {}) {\n let endColumn, endLine, result\n\n if (line && typeof line === 'object') {\n let start = line\n let end = column\n if (typeof start.offset === 'number') {\n let pos = this.fromOffset(start.offset)\n line = pos.line\n column = pos.col\n } else {\n line = start.line\n column = start.column\n }\n if (typeof end.offset === 'number') {\n let pos = this.fromOffset(end.offset)\n endLine = pos.line\n endColumn = pos.col\n } else {\n endLine = end.line\n endColumn = end.column\n }\n } else if (!column) {\n let pos = this.fromOffset(line)\n line = pos.line\n column = pos.col\n }\n\n let origin = this.origin(line, column, endLine, endColumn)\n if (origin) {\n result = new CssSyntaxError(\n message,\n origin.endLine === undefined\n ? origin.line\n : { column: origin.column, line: origin.line },\n origin.endLine === undefined\n ? origin.column\n : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n )\n } else {\n result = new CssSyntaxError(\n message,\n endLine === undefined ? line : { column, line },\n endLine === undefined ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n )\n }\n\n result.input = { column, endColumn, endLine, line, source: this.css }\n if (this.file) {\n if (pathToFileURL) {\n result.input.url = pathToFileURL(this.file).toString()\n }\n result.input.file = this.file\n }\n\n return result\n }\n\n fromOffset(offset) {\n let lastLine, lineToIndex\n if (!this[fromOffsetCache]) {\n let lines = this.css.split('\\n')\n lineToIndex = new Array(lines.length)\n let prevIndex = 0\n\n for (let i = 0, l = lines.length; i < l; i++) {\n lineToIndex[i] = prevIndex\n prevIndex += lines[i].length + 1\n }\n\n this[fromOffsetCache] = lineToIndex\n } else {\n lineToIndex = this[fromOffsetCache]\n }\n lastLine = lineToIndex[lineToIndex.length - 1]\n\n let min = 0\n if (offset >= lastLine) {\n min = lineToIndex.length - 1\n } else {\n let max = lineToIndex.length - 2\n let mid\n while (min < max) {\n mid = min + ((max - min) >> 1)\n if (offset < lineToIndex[mid]) {\n max = mid - 1\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1\n } else {\n min = mid\n break\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n }\n }\n\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file\n }\n return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file)\n }\n\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false\n let consumer = this.map.consumer()\n\n let from = consumer.originalPositionFor({ column, line })\n if (!from.source) return false\n\n let to\n if (typeof endLine === 'number') {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine })\n }\n\n let fromUrl\n\n if (isAbsolute(from.source)) {\n fromUrl = pathToFileURL(from.source)\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile)\n )\n }\n\n let result = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n }\n\n if (fromUrl.protocol === 'file:') {\n if (fileURLToPath) {\n result.file = fileURLToPath(fromUrl)\n } else {\n /* c8 ignore next 2 */\n throw new Error(`file: protocol is not available in this PostCSS build`)\n }\n }\n\n let source = consumer.sourceContentFor(from.source)\n if (source) result.source = source\n\n return result\n }\n\n toJSON() {\n let json = {}\n for (let name of ['hasBOM', 'css', 'file', 'id']) {\n if (this[name] != null) {\n json[name] = this[name]\n }\n }\n if (this.map) {\n json.map = { ...this.map }\n if (json.map.consumerCache) {\n json.map.consumerCache = undefined\n }\n }\n return json\n }\n\n get from() {\n return this.file || this.id\n }\n}\n\nmodule.exports = Input\nInput.default = Input\n\nif (terminalHighlight && terminalHighlight.registerInput) {\n terminalHighlight.registerInput(Input)\n}\n","'use strict'\n\nlet Container = require('./container')\nlet Document = require('./document')\nlet MapGenerator = require('./map-generator')\nlet parse = require('./parse')\nlet Result = require('./result')\nlet Root = require('./root')\nlet stringify = require('./stringify')\nlet { isClean, my } = require('./symbols')\nlet warnOnce = require('./warn-once')\n\nconst TYPE_TO_CLASS_NAME = {\n atrule: 'AtRule',\n comment: 'Comment',\n decl: 'Declaration',\n document: 'Document',\n root: 'Root',\n rule: 'Rule'\n}\n\nconst PLUGIN_PROPS = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n}\n\nconst NOT_VISITORS = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n}\n\nconst CHILDREN = 0\n\nfunction isPromise(obj) {\n return typeof obj === 'object' && typeof obj.then === 'function'\n}\n\nfunction getEvents(node) {\n let key = false\n let type = TYPE_TO_CLASS_NAME[node.type]\n if (node.type === 'decl') {\n key = node.prop.toLowerCase()\n } else if (node.type === 'atrule') {\n key = node.name.toLowerCase()\n }\n\n if (key && node.append) {\n return [\n type,\n type + '-' + key,\n CHILDREN,\n type + 'Exit',\n type + 'Exit-' + key\n ]\n } else if (key) {\n return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key]\n } else if (node.append) {\n return [type, CHILDREN, type + 'Exit']\n } else {\n return [type, type + 'Exit']\n }\n}\n\nfunction toStack(node) {\n let events\n if (node.type === 'document') {\n events = ['Document', CHILDREN, 'DocumentExit']\n } else if (node.type === 'root') {\n events = ['Root', CHILDREN, 'RootExit']\n } else {\n events = getEvents(node)\n }\n\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node,\n visitorIndex: 0,\n visitors: []\n }\n}\n\nfunction cleanMarks(node) {\n node[isClean] = false\n if (node.nodes) node.nodes.forEach(i => cleanMarks(i))\n return node\n}\n\nlet postcss = {}\n\nclass LazyResult {\n constructor(processor, css, opts) {\n this.stringified = false\n this.processed = false\n\n let root\n if (\n typeof css === 'object' &&\n css !== null &&\n (css.type === 'root' || css.type === 'document')\n ) {\n root = cleanMarks(css)\n } else if (css instanceof LazyResult || css instanceof Result) {\n root = cleanMarks(css.root)\n if (css.map) {\n if (typeof opts.map === 'undefined') opts.map = {}\n if (!opts.map.inline) opts.map.inline = false\n opts.map.prev = css.map\n }\n } else {\n let parser = parse\n if (opts.syntax) parser = opts.syntax.parse\n if (opts.parser) parser = opts.parser\n if (parser.parse) parser = parser.parse\n\n try {\n root = parser(css, opts)\n } catch (error) {\n this.processed = true\n this.error = error\n }\n\n if (root && !root[my]) {\n /* c8 ignore next 2 */\n Container.rebuild(root)\n }\n }\n\n this.result = new Result(processor, root, opts)\n this.helpers = { ...postcss, postcss, result: this.result }\n this.plugins = this.processor.plugins.map(plugin => {\n if (typeof plugin === 'object' && plugin.prepare) {\n return { ...plugin, ...plugin.prepare(this.result) }\n } else {\n return plugin\n }\n })\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n if (this.processed) return Promise.resolve(this.result)\n if (!this.processing) {\n this.processing = this.runAsync()\n }\n return this.processing\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n getAsyncError() {\n throw new Error('Use process(css).then(cb) to work with async plugins')\n }\n\n handleError(error, node) {\n let plugin = this.result.lastPlugin\n try {\n if (node) node.addToError(error)\n this.error = error\n if (error.name === 'CssSyntaxError' && !error.plugin) {\n error.plugin = plugin.postcssPlugin\n error.setMessage()\n } else if (plugin.postcssVersion) {\n if (process.env.NODE_ENV !== 'production') {\n let pluginName = plugin.postcssPlugin\n let pluginVer = plugin.postcssVersion\n let runtimeVer = this.result.processor.version\n let a = pluginVer.split('.')\n let b = runtimeVer.split('.')\n\n if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {\n // eslint-disable-next-line no-console\n console.error(\n 'Unknown error from PostCSS plugin. Your current PostCSS ' +\n 'version is ' +\n runtimeVer +\n ', but ' +\n pluginName +\n ' uses ' +\n pluginVer +\n '. Perhaps this is the source of the error below.'\n )\n }\n }\n }\n } catch (err) {\n /* c8 ignore next 3 */\n // eslint-disable-next-line no-console\n if (console && console.error) console.error(err)\n }\n return error\n }\n\n prepareVisitors() {\n this.listeners = {}\n let add = (plugin, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = []\n this.listeners[type].push([plugin, cb])\n }\n for (let plugin of this.plugins) {\n if (typeof plugin === 'object') {\n for (let event in plugin) {\n if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin.postcssPlugin}. ` +\n `Try to update PostCSS (${this.processor.version} now).`\n )\n }\n if (!NOT_VISITORS[event]) {\n if (typeof plugin[event] === 'object') {\n for (let filter in plugin[event]) {\n if (filter === '*') {\n add(plugin, event, plugin[event][filter])\n } else {\n add(\n plugin,\n event + '-' + filter.toLowerCase(),\n plugin[event][filter]\n )\n }\n }\n } else if (typeof plugin[event] === 'function') {\n add(plugin, event, plugin[event])\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0\n }\n\n async runAsync() {\n this.plugin = 0\n for (let i = 0; i < this.plugins.length; i++) {\n let plugin = this.plugins[i]\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (error) {\n throw this.handleError(error)\n }\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n let stack = [toStack(root)]\n while (stack.length > 0) {\n let promise = this.visitTick(stack)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (e) {\n let node = stack[stack.length - 1].node\n throw this.handleError(e, node)\n }\n }\n }\n }\n\n if (this.listeners.OnceExit) {\n for (let [plugin, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin\n try {\n if (root.type === 'document') {\n let roots = root.nodes.map(subRoot =>\n visitor(subRoot, this.helpers)\n )\n\n await Promise.all(roots)\n } else {\n await visitor(root, this.helpers)\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n }\n }\n\n this.processed = true\n return this.stringify()\n }\n\n runOnRoot(plugin) {\n this.result.lastPlugin = plugin\n try {\n if (typeof plugin === 'object' && plugin.Once) {\n if (this.result.root.type === 'document') {\n let roots = this.result.root.nodes.map(root =>\n plugin.Once(root, this.helpers)\n )\n\n if (isPromise(roots[0])) {\n return Promise.all(roots)\n }\n\n return roots\n }\n\n return plugin.Once(this.result.root, this.helpers)\n } else if (typeof plugin === 'function') {\n return plugin(this.result.root, this.result)\n }\n } catch (error) {\n throw this.handleError(error)\n }\n }\n\n stringify() {\n if (this.error) throw this.error\n if (this.stringified) return this.result\n this.stringified = true\n\n this.sync()\n\n let opts = this.result.opts\n let str = stringify\n if (opts.syntax) str = opts.syntax.stringify\n if (opts.stringifier) str = opts.stringifier\n if (str.stringify) str = str.stringify\n\n let map = new MapGenerator(str, this.result.root, this.result.opts)\n let data = map.generate()\n this.result.css = data[0]\n this.result.map = data[1]\n\n return this.result\n }\n\n sync() {\n if (this.error) throw this.error\n if (this.processed) return this.result\n this.processed = true\n\n if (this.processing) {\n throw this.getAsyncError()\n }\n\n for (let plugin of this.plugins) {\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n this.walkSync(root)\n }\n if (this.listeners.OnceExit) {\n if (root.type === 'document') {\n for (let subRoot of root.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot)\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root)\n }\n }\n }\n\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this.opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this.css\n }\n\n visitSync(visitors, node) {\n for (let [plugin, visitor] of visitors) {\n this.result.lastPlugin = plugin\n let promise\n try {\n promise = visitor(node, this.helpers)\n } catch (e) {\n throw this.handleError(e, node.proxyOf)\n }\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n return true\n }\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n }\n\n visitTick(stack) {\n let visit = stack[stack.length - 1]\n let { node, visitors } = visit\n\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n stack.pop()\n return\n }\n\n if (visitors.length > 0 && visit.visitorIndex < visitors.length) {\n let [plugin, visitor] = visitors[visit.visitorIndex]\n visit.visitorIndex += 1\n if (visit.visitorIndex === visitors.length) {\n visit.visitors = []\n visit.visitorIndex = 0\n }\n this.result.lastPlugin = plugin\n try {\n return visitor(node.toProxy(), this.helpers)\n } catch (e) {\n throw this.handleError(e, node)\n }\n }\n\n if (visit.iterator !== 0) {\n let iterator = visit.iterator\n let child\n while ((child = node.nodes[node.indexes[iterator]])) {\n node.indexes[iterator] += 1\n if (!child[isClean]) {\n child[isClean] = true\n stack.push(toStack(child))\n return\n }\n }\n visit.iterator = 0\n delete node.indexes[iterator]\n }\n\n let events = visit.events\n while (visit.eventIndex < events.length) {\n let event = events[visit.eventIndex]\n visit.eventIndex += 1\n if (event === CHILDREN) {\n if (node.nodes && node.nodes.length) {\n node[isClean] = true\n visit.iterator = node.getIterator()\n }\n return\n } else if (this.listeners[event]) {\n visit.visitors = this.listeners[event]\n return\n }\n }\n stack.pop()\n }\n\n walkSync(node) {\n node[isClean] = true\n let events = getEvents(node)\n for (let event of events) {\n if (event === CHILDREN) {\n if (node.nodes) {\n node.each(child => {\n if (!child[isClean]) this.walkSync(child)\n })\n }\n } else {\n let visitors = this.listeners[event]\n if (visitors) {\n if (this.visitSync(visitors, node.toProxy())) return\n }\n }\n }\n }\n\n warnings() {\n return this.sync().warnings()\n }\n\n get content() {\n return this.stringify().content\n }\n\n get css() {\n return this.stringify().css\n }\n\n get map() {\n return this.stringify().map\n }\n\n get messages() {\n return this.sync().messages\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n return this.sync().root\n }\n\n get [Symbol.toStringTag]() {\n return 'LazyResult'\n }\n}\n\nLazyResult.registerPostcss = dependant => {\n postcss = dependant\n}\n\nmodule.exports = LazyResult\nLazyResult.default = LazyResult\n\nRoot.registerLazyResult(LazyResult)\nDocument.registerLazyResult(LazyResult)\n","'use strict'\n\nlet list = {\n comma(string) {\n return list.split(string, [','], true)\n },\n\n space(string) {\n let spaces = [' ', '\\n', '\\t']\n return list.split(string, spaces)\n },\n\n split(string, separators, last) {\n let array = []\n let current = ''\n let split = false\n\n let func = 0\n let inQuote = false\n let prevQuote = ''\n let escape = false\n\n for (let letter of string) {\n if (escape) {\n escape = false\n } else if (letter === '\\\\') {\n escape = true\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true\n prevQuote = letter\n } else if (letter === '(') {\n func += 1\n } else if (letter === ')') {\n if (func > 0) func -= 1\n } else if (func === 0) {\n if (separators.includes(letter)) split = true\n }\n\n if (split) {\n if (current !== '') array.push(current.trim())\n current = ''\n split = false\n } else {\n current += letter\n }\n }\n\n if (last || current !== '') array.push(current.trim())\n return array\n }\n}\n\nmodule.exports = list\nlist.default = list\n","'use strict'\n\nlet { dirname, relative, resolve, sep } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { pathToFileURL } = require('url')\n\nlet Input = require('./input')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(dirname && resolve && relative && sep)\n\nclass MapGenerator {\n constructor(stringify, root, opts, cssString) {\n this.stringify = stringify\n this.mapOpts = opts.map || {}\n this.root = root\n this.opts = opts\n this.css = cssString\n this.originalCSS = cssString\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute\n\n this.memoizedFileURLs = new Map()\n this.memoizedPaths = new Map()\n this.memoizedURLs = new Map()\n }\n\n addAnnotation() {\n let content\n\n if (this.isInline()) {\n content =\n 'data:application/json;base64,' + this.toBase64(this.map.toString())\n } else if (typeof this.mapOpts.annotation === 'string') {\n content = this.mapOpts.annotation\n } else if (typeof this.mapOpts.annotation === 'function') {\n content = this.mapOpts.annotation(this.opts.to, this.root)\n } else {\n content = this.outputFile() + '.map'\n }\n let eol = '\\n'\n if (this.css.includes('\\r\\n')) eol = '\\r\\n'\n\n this.css += eol + '/*# sourceMappingURL=' + content + ' */'\n }\n\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file))\n let root = prev.root || dirname(prev.file)\n let map\n\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text)\n if (map.sourcesContent) {\n map.sourcesContent = null\n }\n } else {\n map = prev.consumer()\n }\n\n this.map.applySourceMap(map, from, this.toUrl(this.path(root)))\n }\n }\n\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return\n\n if (this.root) {\n let node\n for (let i = this.root.nodes.length - 1; i >= 0; i--) {\n node = this.root.nodes[i]\n if (node.type !== 'comment') continue\n if (node.text.startsWith('# sourceMappingURL=')) {\n this.root.removeChild(i)\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*\\/\\*#[\\S\\s]*?\\*\\/$/gm, '')\n }\n }\n\n generate() {\n this.clearAnnotation()\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap()\n } else {\n let result = ''\n this.stringify(this.root, i => {\n result += i\n })\n return [result]\n }\n }\n\n generateMap() {\n if (this.root) {\n this.generateString()\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer()\n prev.file = this.outputFile()\n this.map = SourceMapGenerator.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n })\n } else {\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : ''\n })\n }\n\n if (this.isSourcesContent()) this.setSourcesContent()\n if (this.root && this.previous().length > 0) this.applyPrevMaps()\n if (this.isAnnotation()) this.addAnnotation()\n\n if (this.isInline()) {\n return [this.css]\n } else {\n return [this.css, this.map]\n }\n }\n\n generateString() {\n this.css = ''\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n\n let line = 1\n let column = 1\n\n let noSource = ''\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: ''\n }\n\n let last, lines\n this.stringify(this.root, (str, node, type) => {\n this.css += str\n\n if (node && type !== 'end') {\n mapping.generated.line = line\n mapping.generated.column = column - 1\n if (node.source && node.source.start) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.start.line\n mapping.original.column = node.source.start.column - 1\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n this.map.addMapping(mapping)\n }\n }\n\n lines = str.match(/\\n/g)\n if (lines) {\n line += lines.length\n last = str.lastIndexOf('\\n')\n column = str.length - last\n } else {\n column += str.length\n }\n\n if (node && type !== 'start') {\n let p = node.parent || { raws: {} }\n let childless =\n node.type === 'decl' || (node.type === 'atrule' && !node.nodes)\n if (!childless || node !== p.last || p.raws.semicolon) {\n if (node.source && node.source.end) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.end.line\n mapping.original.column = node.source.end.column - 1\n mapping.generated.line = line\n mapping.generated.column = column - 2\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n mapping.generated.line = line\n mapping.generated.column = column - 1\n this.map.addMapping(mapping)\n }\n }\n }\n })\n }\n\n isAnnotation() {\n if (this.isInline()) {\n return true\n }\n if (typeof this.mapOpts.annotation !== 'undefined') {\n return this.mapOpts.annotation\n }\n if (this.previous().length) {\n return this.previous().some(i => i.annotation)\n }\n return true\n }\n\n isInline() {\n if (typeof this.mapOpts.inline !== 'undefined') {\n return this.mapOpts.inline\n }\n\n let annotation = this.mapOpts.annotation\n if (typeof annotation !== 'undefined' && annotation !== true) {\n return false\n }\n\n if (this.previous().length) {\n return this.previous().some(i => i.inline)\n }\n return true\n }\n\n isMap() {\n if (typeof this.opts.map !== 'undefined') {\n return !!this.opts.map\n }\n return this.previous().length > 0\n }\n\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== 'undefined') {\n return this.mapOpts.sourcesContent\n }\n if (this.previous().length) {\n return this.previous().some(i => i.withContent())\n }\n return true\n }\n\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to)\n } else if (this.opts.from) {\n return this.path(this.opts.from)\n } else {\n return 'to.css'\n }\n }\n\n path(file) {\n if (this.mapOpts.absolute) return file\n if (file.charCodeAt(0) === 60 /* `<` */) return file\n if (/^\\w+:\\/\\//.test(file)) return file\n let cached = this.memoizedPaths.get(file)\n if (cached) return cached\n\n let from = this.opts.to ? dirname(this.opts.to) : '.'\n\n if (typeof this.mapOpts.annotation === 'string') {\n from = dirname(resolve(from, this.mapOpts.annotation))\n }\n\n let path = relative(from, file)\n this.memoizedPaths.set(file, path)\n\n return path\n }\n\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = []\n if (this.root) {\n this.root.walk(node => {\n if (node.source && node.source.input.map) {\n let map = node.source.input.map\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map)\n }\n }\n })\n } else {\n let input = new Input(this.originalCSS, this.opts)\n if (input.map) this.previousMaps.push(input.map)\n }\n }\n\n return this.previousMaps\n }\n\n setSourcesContent() {\n let already = {}\n if (this.root) {\n this.root.walk(node => {\n if (node.source) {\n let from = node.source.input.from\n if (from && !already[from]) {\n already[from] = true\n let fromUrl = this.usesFileUrls\n ? this.toFileUrl(from)\n : this.toUrl(this.path(from))\n this.map.setSourceContent(fromUrl, node.source.input.css)\n }\n }\n })\n } else if (this.css) {\n let from = this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : ''\n this.map.setSourceContent(from, this.css)\n }\n }\n\n sourcePath(node) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from)\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node.source.input.from)\n } else {\n return this.toUrl(this.path(node.source.input.from))\n }\n }\n\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString('base64')\n } else {\n return window.btoa(unescape(encodeURIComponent(str)))\n }\n }\n\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path)\n if (cached) return cached\n\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString()\n this.memoizedFileURLs.set(path, fileURL)\n\n return fileURL\n } else {\n throw new Error(\n '`map.absolute` option is not available in this PostCSS build'\n )\n }\n }\n\n toUrl(path) {\n let cached = this.memoizedURLs.get(path)\n if (cached) return cached\n\n if (sep === '\\\\') {\n path = path.replace(/\\\\/g, '/')\n }\n\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent)\n this.memoizedURLs.set(path, url)\n\n return url\n }\n}\n\nmodule.exports = MapGenerator\n","'use strict'\n\nlet MapGenerator = require('./map-generator')\nlet parse = require('./parse')\nconst Result = require('./result')\nlet stringify = require('./stringify')\nlet warnOnce = require('./warn-once')\n\nclass NoWorkResult {\n constructor(processor, css, opts) {\n css = css.toString()\n this.stringified = false\n\n this._processor = processor\n this._css = css\n this._opts = opts\n this._map = undefined\n let root\n\n let str = stringify\n this.result = new Result(this._processor, root, this._opts)\n this.result.css = css\n\n let self = this\n Object.defineProperty(this.result, 'root', {\n get() {\n return self.root\n }\n })\n\n let map = new MapGenerator(str, root, this._opts, css)\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate()\n if (generatedCSS) {\n this.result.css = generatedCSS\n }\n if (generatedMap) {\n this.result.map = generatedMap\n }\n } else {\n map.clearAnnotation()\n this.result.css = map.css\n }\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n return Promise.resolve(this.result)\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n sync() {\n if (this.error) throw this.error\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this._opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this._css\n }\n\n warnings() {\n return []\n }\n\n get content() {\n return this.result.css\n }\n\n get css() {\n return this.result.css\n }\n\n get map() {\n return this.result.map\n }\n\n get messages() {\n return []\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n if (this._root) {\n return this._root\n }\n\n let root\n let parser = parse\n\n try {\n root = parser(this._css, this._opts)\n } catch (error) {\n this.error = error\n }\n\n if (this.error) {\n throw this.error\n } else {\n this._root = root\n return root\n }\n }\n\n get [Symbol.toStringTag]() {\n return 'NoWorkResult'\n }\n}\n\nmodule.exports = NoWorkResult\nNoWorkResult.default = NoWorkResult\n","'use strict'\n\nlet CssSyntaxError = require('./css-syntax-error')\nlet Stringifier = require('./stringifier')\nlet stringify = require('./stringify')\nlet { isClean, my } = require('./symbols')\n\nfunction cloneNode(obj, parent) {\n let cloned = new obj.constructor()\n\n for (let i in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i)) {\n /* c8 ignore next 2 */\n continue\n }\n if (i === 'proxyCache') continue\n let value = obj[i]\n let type = typeof value\n\n if (i === 'parent' && type === 'object') {\n if (parent) cloned[i] = parent\n } else if (i === 'source') {\n cloned[i] = value\n } else if (Array.isArray(value)) {\n cloned[i] = value.map(j => cloneNode(j, cloned))\n } else {\n if (type === 'object' && value !== null) value = cloneNode(value)\n cloned[i] = value\n }\n }\n\n return cloned\n}\n\nfunction sourceOffset(inputCSS, position) {\n // Not all custom syntaxes support `offset` in `source.start` and `source.end`\n if (\n position &&\n typeof position.offset !== 'undefined'\n ) {\n return position.offset;\n }\n\n let column = 1\n let line = 1\n let offset = 0\n\n for (let i = 0; i < inputCSS.length; i++) {\n if (line === position.line && column === position.column) {\n offset = i\n break\n }\n\n if (inputCSS[i] === '\\n') {\n column = 1\n line += 1\n } else {\n column += 1\n }\n }\n\n return offset\n}\n\nclass Node {\n constructor(defaults = {}) {\n this.raws = {}\n this[isClean] = false\n this[my] = true\n\n for (let name in defaults) {\n if (name === 'nodes') {\n this.nodes = []\n for (let node of defaults[name]) {\n if (typeof node.clone === 'function') {\n this.append(node.clone())\n } else {\n this.append(node)\n }\n }\n } else {\n this[name] = defaults[name]\n }\n }\n }\n\n addToError(error) {\n error.postcssNode = this\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s = this.source\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s.input.from}:${s.start.line}:${s.start.column}$&`\n )\n }\n return error\n }\n\n after(add) {\n this.parent.insertAfter(this, add)\n return this\n }\n\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name]\n }\n return this\n }\n\n before(add) {\n this.parent.insertBefore(this, add)\n return this\n }\n\n cleanRaws(keepBetween) {\n delete this.raws.before\n delete this.raws.after\n if (!keepBetween) delete this.raws.between\n }\n\n clone(overrides = {}) {\n let cloned = cloneNode(this)\n for (let name in overrides) {\n cloned[name] = overrides[name]\n }\n return cloned\n }\n\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertAfter(this, cloned)\n return cloned\n }\n\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertBefore(this, cloned)\n return cloned\n }\n\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts)\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n )\n }\n return new CssSyntaxError(message)\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (\n prop === 'prop' ||\n prop === 'value' ||\n prop === 'name' ||\n prop === 'params' ||\n prop === 'important' ||\n /* c8 ignore next */\n prop === 'text'\n ) {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n /* c8 ignore next 3 */\n markClean() {\n this[isClean] = true\n }\n\n markDirty() {\n if (this[isClean]) {\n this[isClean] = false\n let next = this\n while ((next = next.parent)) {\n next[isClean] = false\n }\n }\n }\n\n next() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index + 1]\n }\n\n positionBy(opts) {\n let pos = this.source.start\n if (opts.index) {\n pos = this.positionInside(opts.index)\n } else if (opts.word) {\n let inputString = ('document' in this.source.input)\n ? this.source.input.document\n : this.source.input.css\n let stringRepresentation = inputString.slice(\n sourceOffset(inputString, this.source.start),\n sourceOffset(inputString, this.source.end)\n )\n let index = stringRepresentation.indexOf(opts.word)\n if (index !== -1) pos = this.positionInside(index)\n }\n return pos\n }\n\n positionInside(index) {\n let column = this.source.start.column\n let line = this.source.start.line\n let inputString = ('document' in this.source.input)\n ? this.source.input.document\n : this.source.input.css\n let offset = sourceOffset(inputString, this.source.start)\n let end = offset + index\n\n for (let i = offset; i < end; i++) {\n if (inputString[i] === '\\n') {\n column = 1\n line += 1\n } else {\n column += 1\n }\n }\n\n return { column, line }\n }\n\n prev() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index - 1]\n }\n\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n }\n let end = this.source.end\n ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n }\n : {\n column: start.column + 1,\n line: start.line\n }\n\n if (opts.word) {\n let inputString = ('document' in this.source.input)\n ? this.source.input.document\n : this.source.input.css\n let stringRepresentation = inputString.slice(\n sourceOffset(inputString, this.source.start),\n sourceOffset(inputString, this.source.end)\n )\n let index = stringRepresentation.indexOf(opts.word)\n if (index !== -1) {\n start = this.positionInside(index)\n end = this.positionInside(\n index + opts.word.length,\n )\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n }\n } else if (opts.index) {\n start = this.positionInside(opts.index)\n }\n\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n }\n } else if (typeof opts.endIndex === 'number') {\n end = this.positionInside(opts.endIndex)\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1)\n }\n }\n\n if (\n end.line < start.line ||\n (end.line === start.line && end.column <= start.column)\n ) {\n end = { column: start.column + 1, line: start.line }\n }\n\n return { end, start }\n }\n\n raw(prop, defaultType) {\n let str = new Stringifier()\n return str.raw(this, prop, defaultType)\n }\n\n remove() {\n if (this.parent) {\n this.parent.removeChild(this)\n }\n this.parent = undefined\n return this\n }\n\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this\n let foundSelf = false\n for (let node of nodes) {\n if (node === this) {\n foundSelf = true\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node)\n bookmark = node\n } else {\n this.parent.insertBefore(bookmark, node)\n }\n }\n\n if (!foundSelf) {\n this.remove()\n }\n }\n\n return this\n }\n\n root() {\n let result = this\n while (result.parent && result.parent.type !== 'document') {\n result = result.parent\n }\n return result\n }\n\n toJSON(_, inputs) {\n let fixed = {}\n let emitInputs = inputs == null\n inputs = inputs || new Map()\n let inputsNextIndex = 0\n\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n /* c8 ignore next 2 */\n continue\n }\n if (name === 'parent' || name === 'proxyCache') continue\n let value = this[name]\n\n if (Array.isArray(value)) {\n fixed[name] = value.map(i => {\n if (typeof i === 'object' && i.toJSON) {\n return i.toJSON(null, inputs)\n } else {\n return i\n }\n })\n } else if (typeof value === 'object' && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs)\n } else if (name === 'source') {\n let inputId = inputs.get(value.input)\n if (inputId == null) {\n inputId = inputsNextIndex\n inputs.set(value.input, inputsNextIndex)\n inputsNextIndex++\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n }\n } else {\n fixed[name] = value\n }\n }\n\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map(input => input.toJSON())\n }\n\n return fixed\n }\n\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor())\n }\n return this.proxyCache\n }\n\n toString(stringifier = stringify) {\n if (stringifier.stringify) stringifier = stringifier.stringify\n let result = ''\n stringifier(this, i => {\n result += i\n })\n return result\n }\n\n warn(result, text, opts) {\n let data = { node: this }\n for (let i in opts) data[i] = opts[i]\n return result.warn(text, data)\n }\n\n get proxyOf() {\n return this\n }\n}\n\nmodule.exports = Node\nNode.default = Node\n","'use strict'\n\nlet Container = require('./container')\nlet Input = require('./input')\nlet Parser = require('./parser')\n\nfunction parse(css, opts) {\n let input = new Input(css, opts)\n let parser = new Parser(input)\n try {\n parser.parse()\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n if (e.name === 'CssSyntaxError' && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse SCSS with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-scss parser'\n } else if (/\\.sass/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Sass with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-sass parser'\n } else if (/\\.less$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Less with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-less parser'\n }\n }\n }\n throw e\n }\n\n return parser.root\n}\n\nmodule.exports = parse\nparse.default = parse\n\nContainer.registerParse(parse)\n","'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Root = require('./root')\nlet Rule = require('./rule')\nlet tokenizer = require('./tokenize')\n\nconst SAFE_COMMENT_NEIGHBOR = {\n empty: true,\n space: true\n}\n\nfunction findLastWithPosition(tokens) {\n for (let i = tokens.length - 1; i >= 0; i--) {\n let token = tokens[i]\n let pos = token[3] || token[2]\n if (pos) return pos\n }\n}\n\nclass Parser {\n constructor(input) {\n this.input = input\n\n this.root = new Root()\n this.current = this.root\n this.spaces = ''\n this.semicolon = false\n\n this.createTokenizer()\n this.root.source = { input, start: { column: 1, line: 1, offset: 0 } }\n }\n\n atrule(token) {\n let node = new AtRule()\n node.name = token[1].slice(1)\n if (node.name === '') {\n this.unnamedAtrule(node, token)\n }\n this.init(node, token[2])\n\n let type\n let prev\n let shift\n let last = false\n let open = false\n let params = []\n let brackets = []\n\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n type = token[0]\n\n if (type === '(' || type === '[') {\n brackets.push(type === '(' ? ')' : ']')\n } else if (type === '{' && brackets.length > 0) {\n brackets.push('}')\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n }\n\n if (brackets.length === 0) {\n if (type === ';') {\n node.source.end = this.getPosition(token[2])\n node.source.end.offset++\n this.semicolon = true\n break\n } else if (type === '{') {\n open = true\n break\n } else if (type === '}') {\n if (params.length > 0) {\n shift = params.length - 1\n prev = params[shift]\n while (prev && prev[0] === 'space') {\n prev = params[--shift]\n }\n if (prev) {\n node.source.end = this.getPosition(prev[3] || prev[2])\n node.source.end.offset++\n }\n }\n this.end(token)\n break\n } else {\n params.push(token)\n }\n } else {\n params.push(token)\n }\n\n if (this.tokenizer.endOfFile()) {\n last = true\n break\n }\n }\n\n node.raws.between = this.spacesAndCommentsFromEnd(params)\n if (params.length) {\n node.raws.afterName = this.spacesAndCommentsFromStart(params)\n this.raw(node, 'params', params)\n if (last) {\n token = params[params.length - 1]\n node.source.end = this.getPosition(token[3] || token[2])\n node.source.end.offset++\n this.spaces = node.raws.between\n node.raws.between = ''\n }\n } else {\n node.raws.afterName = ''\n node.params = ''\n }\n\n if (open) {\n node.nodes = []\n this.current = node\n }\n }\n\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens)\n if (colon === false) return\n\n let founded = 0\n let token\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j]\n if (token[0] !== 'space') {\n founded += 1\n if (founded === 2) break\n }\n }\n // If the token is a word, e.g. `!important`, `red` or any other valid property's value.\n // Then we need to return the colon after that word token. [3] is the \"end\" colon of that word.\n // And because we need it after that one we do +1 to get the next one.\n throw this.input.error(\n 'Missed semicolon',\n token[0] === 'word' ? token[3] + 1 : token[2]\n )\n }\n\n colon(tokens) {\n let brackets = 0\n let prev, token, type\n for (let [i, element] of tokens.entries()) {\n token = element\n type = token[0]\n\n if (type === '(') {\n brackets += 1\n }\n if (type === ')') {\n brackets -= 1\n }\n if (brackets === 0 && type === ':') {\n if (!prev) {\n this.doubleColon(token)\n } else if (prev[0] === 'word' && prev[1] === 'progid') {\n continue\n } else {\n return i\n }\n }\n\n prev = token\n }\n return false\n }\n\n comment(token) {\n let node = new Comment()\n this.init(node, token[2])\n node.source.end = this.getPosition(token[3] || token[2])\n node.source.end.offset++\n\n let text = token[1].slice(2, -2)\n if (/^\\s*$/.test(text)) {\n node.text = ''\n node.raws.left = text\n node.raws.right = ''\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/)\n node.text = match[2]\n node.raws.left = match[1]\n node.raws.right = match[3]\n }\n }\n\n createTokenizer() {\n this.tokenizer = tokenizer(this.input)\n }\n\n decl(tokens, customProperty) {\n let node = new Declaration()\n this.init(node, tokens[0][2])\n\n let last = tokens[tokens.length - 1]\n if (last[0] === ';') {\n this.semicolon = true\n tokens.pop()\n }\n\n node.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition(tokens)\n )\n node.source.end.offset++\n\n while (tokens[0][0] !== 'word') {\n if (tokens.length === 1) this.unknownWord(tokens)\n node.raws.before += tokens.shift()[1]\n }\n node.source.start = this.getPosition(tokens[0][2])\n\n node.prop = ''\n while (tokens.length) {\n let type = tokens[0][0]\n if (type === ':' || type === 'space' || type === 'comment') {\n break\n }\n node.prop += tokens.shift()[1]\n }\n\n node.raws.between = ''\n\n let token\n while (tokens.length) {\n token = tokens.shift()\n\n if (token[0] === ':') {\n node.raws.between += token[1]\n break\n } else {\n if (token[0] === 'word' && /\\w/.test(token[1])) {\n this.unknownWord([token])\n }\n node.raws.between += token[1]\n }\n }\n\n if (node.prop[0] === '_' || node.prop[0] === '*') {\n node.raws.before += node.prop[0]\n node.prop = node.prop.slice(1)\n }\n\n let firstSpaces = []\n let next\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n firstSpaces.push(tokens.shift())\n }\n\n this.precheckMissedSemicolon(tokens)\n\n for (let i = tokens.length - 1; i >= 0; i--) {\n token = tokens[i]\n if (token[1].toLowerCase() === '!important') {\n node.important = true\n let string = this.stringFrom(tokens, i)\n string = this.spacesFromEnd(tokens) + string\n if (string !== ' !important') node.raws.important = string\n break\n } else if (token[1].toLowerCase() === 'important') {\n let cache = tokens.slice(0)\n let str = ''\n for (let j = i; j > 0; j--) {\n let type = cache[j][0]\n if (str.trim().startsWith('!') && type !== 'space') {\n break\n }\n str = cache.pop()[1] + str\n }\n if (str.trim().startsWith('!')) {\n node.important = true\n node.raws.important = str\n tokens = cache\n }\n }\n\n if (token[0] !== 'space' && token[0] !== 'comment') {\n break\n }\n }\n\n let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment')\n\n if (hasWord) {\n node.raws.between += firstSpaces.map(i => i[1]).join('')\n firstSpaces = []\n }\n this.raw(node, 'value', firstSpaces.concat(tokens), customProperty)\n\n if (node.value.includes(':') && !customProperty) {\n this.checkMissedSemicolon(tokens)\n }\n }\n\n doubleColon(token) {\n throw this.input.error(\n 'Double colon',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n\n emptyRule(token) {\n let node = new Rule()\n this.init(node, token[2])\n node.selector = ''\n node.raws.between = ''\n this.current = node\n }\n\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.semicolon = false\n\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.spaces = ''\n\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2])\n this.current.source.end.offset++\n this.current = this.current.parent\n } else {\n this.unexpectedClose(token)\n }\n }\n\n endFile() {\n if (this.current.parent) this.unclosedBlock()\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.root.source.end = this.getPosition(this.tokenizer.position())\n }\n\n freeSemicolon(token) {\n this.spaces += token[1]\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1]\n if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces\n this.spaces = ''\n }\n }\n }\n\n // Helpers\n\n getPosition(offset) {\n let pos = this.input.fromOffset(offset)\n return {\n column: pos.col,\n line: pos.line,\n offset\n }\n }\n\n init(node, offset) {\n this.current.push(node)\n node.source = {\n input: this.input,\n start: this.getPosition(offset)\n }\n node.raws.before = this.spaces\n this.spaces = ''\n if (node.type !== 'comment') this.semicolon = false\n }\n\n other(start) {\n let end = false\n let type = null\n let colon = false\n let bracket = null\n let brackets = []\n let customProperty = start[1].startsWith('--')\n\n let tokens = []\n let token = start\n while (token) {\n type = token[0]\n tokens.push(token)\n\n if (type === '(' || type === '[') {\n if (!bracket) bracket = token\n brackets.push(type === '(' ? ')' : ']')\n } else if (customProperty && colon && type === '{') {\n if (!bracket) bracket = token\n brackets.push('}')\n } else if (brackets.length === 0) {\n if (type === ';') {\n if (colon) {\n this.decl(tokens, customProperty)\n return\n } else {\n break\n }\n } else if (type === '{') {\n this.rule(tokens)\n return\n } else if (type === '}') {\n this.tokenizer.back(tokens.pop())\n end = true\n break\n } else if (type === ':') {\n colon = true\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n if (brackets.length === 0) bracket = null\n }\n\n token = this.tokenizer.nextToken()\n }\n\n if (this.tokenizer.endOfFile()) end = true\n if (brackets.length > 0) this.unclosedBracket(bracket)\n\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0]\n if (token !== 'space' && token !== 'comment') break\n this.tokenizer.back(tokens.pop())\n }\n }\n this.decl(tokens, customProperty)\n } else {\n this.unknownWord(tokens)\n }\n }\n\n parse() {\n let token\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n\n switch (token[0]) {\n case 'space':\n this.spaces += token[1]\n break\n\n case ';':\n this.freeSemicolon(token)\n break\n\n case '}':\n this.end(token)\n break\n\n case 'comment':\n this.comment(token)\n break\n\n case 'at-word':\n this.atrule(token)\n break\n\n case '{':\n this.emptyRule(token)\n break\n\n default:\n this.other(token)\n break\n }\n }\n this.endFile()\n }\n\n precheckMissedSemicolon(/* tokens */) {\n // Hook for Safe Parser\n }\n\n raw(node, prop, tokens, customProperty) {\n let token, type\n let length = tokens.length\n let value = ''\n let clean = true\n let next, prev\n\n for (let i = 0; i < length; i += 1) {\n token = tokens[i]\n type = token[0]\n if (type === 'space' && i === length - 1 && !customProperty) {\n clean = false\n } else if (type === 'comment') {\n prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty'\n next = tokens[i + 1] ? tokens[i + 1][0] : 'empty'\n if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n if (value.slice(-1) === ',') {\n clean = false\n } else {\n value += token[1]\n }\n } else {\n clean = false\n }\n } else {\n value += token[1]\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i) => all + i[1], '')\n node.raws[prop] = { raw, value }\n }\n node[prop] = value\n }\n\n rule(tokens) {\n tokens.pop()\n\n let node = new Rule()\n this.init(node, tokens[0][2])\n\n node.raws.between = this.spacesAndCommentsFromEnd(tokens)\n this.raw(node, 'selector', tokens)\n this.current = node\n }\n\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space' && lastTokenType !== 'comment') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n // Errors\n\n spacesAndCommentsFromStart(tokens) {\n let next\n let spaces = ''\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n spaces += tokens.shift()[1]\n }\n return spaces\n }\n\n spacesFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n stringFrom(tokens, from) {\n let result = ''\n for (let i = from; i < tokens.length; i++) {\n result += tokens[i][1]\n }\n tokens.splice(from, tokens.length - from)\n return result\n }\n\n unclosedBlock() {\n let pos = this.current.source.start\n throw this.input.error('Unclosed block', pos.line, pos.column)\n }\n\n unclosedBracket(bracket) {\n throw this.input.error(\n 'Unclosed bracket',\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n )\n }\n\n unexpectedClose(token) {\n throw this.input.error(\n 'Unexpected }',\n { offset: token[2] },\n { offset: token[2] + 1 }\n )\n }\n\n unknownWord(tokens) {\n throw this.input.error(\n 'Unknown word',\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n )\n }\n\n unnamedAtrule(node, token) {\n throw this.input.error(\n 'At-rule without name',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n}\n\nmodule.exports = Parser\n","'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Container = require('./container')\nlet CssSyntaxError = require('./css-syntax-error')\nlet Declaration = require('./declaration')\nlet Document = require('./document')\nlet fromJSON = require('./fromJSON')\nlet Input = require('./input')\nlet LazyResult = require('./lazy-result')\nlet list = require('./list')\nlet Node = require('./node')\nlet parse = require('./parse')\nlet Processor = require('./processor')\nlet Result = require('./result.js')\nlet Root = require('./root')\nlet Rule = require('./rule')\nlet stringify = require('./stringify')\nlet Warning = require('./warning')\n\nfunction postcss(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0]\n }\n return new Processor(plugins)\n}\n\npostcss.plugin = function plugin(name, initializer) {\n let warningPrinted = false\n function creator(...args) {\n // eslint-disable-next-line no-console\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': postcss.plugin was deprecated. Migration guide:\\n' +\n 'https://evilmartians.com/chronicles/postcss-8-plugin-migration'\n )\n if (process.env.LANG && process.env.LANG.startsWith('cn')) {\n /* c8 ignore next 7 */\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': 里面 postcss.plugin 被弃用. 迁移指南:\\n' +\n 'https://www.w3ctech.com/topic/2226'\n )\n }\n }\n let transformer = initializer(...args)\n transformer.postcssPlugin = name\n transformer.postcssVersion = new Processor().version\n return transformer\n }\n\n let cache\n Object.defineProperty(creator, 'postcss', {\n get() {\n if (!cache) cache = creator()\n return cache\n }\n })\n\n creator.process = function (css, processOpts, pluginOpts) {\n return postcss([creator(pluginOpts)]).process(css, processOpts)\n }\n\n return creator\n}\n\npostcss.stringify = stringify\npostcss.parse = parse\npostcss.fromJSON = fromJSON\npostcss.list = list\n\npostcss.comment = defaults => new Comment(defaults)\npostcss.atRule = defaults => new AtRule(defaults)\npostcss.decl = defaults => new Declaration(defaults)\npostcss.rule = defaults => new Rule(defaults)\npostcss.root = defaults => new Root(defaults)\npostcss.document = defaults => new Document(defaults)\n\npostcss.CssSyntaxError = CssSyntaxError\npostcss.Declaration = Declaration\npostcss.Container = Container\npostcss.Processor = Processor\npostcss.Document = Document\npostcss.Comment = Comment\npostcss.Warning = Warning\npostcss.AtRule = AtRule\npostcss.Result = Result\npostcss.Input = Input\npostcss.Rule = Rule\npostcss.Root = Root\npostcss.Node = Node\n\nLazyResult.registerPostcss(postcss)\n\nmodule.exports = postcss\npostcss.default = postcss\n","'use strict'\n\nlet { existsSync, readFileSync } = require('fs')\nlet { dirname, join } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\n\nfunction fromBase64(str) {\n if (Buffer) {\n return Buffer.from(str, 'base64').toString()\n } else {\n /* c8 ignore next 2 */\n return window.atob(str)\n }\n}\n\nclass PreviousMap {\n constructor(css, opts) {\n if (opts.map === false) return\n this.loadAnnotation(css)\n this.inline = this.startWith(this.annotation, 'data:')\n\n let prev = opts.map ? opts.map.prev : undefined\n let text = this.loadMap(opts.from, prev)\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from\n }\n if (this.mapFile) this.root = dirname(this.mapFile)\n if (text) this.text = text\n }\n\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer(this.text)\n }\n return this.consumerCache\n }\n\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/\n let baseUri = /^data:application\\/json;base64,/\n let charsetUri = /^data:application\\/json;charset=utf-?8,/\n let uri = /^data:application\\/json,/\n\n let uriMatch = text.match(charsetUri) || text.match(uri)\n if (uriMatch) {\n return decodeURIComponent(text.substr(uriMatch[0].length))\n }\n\n let baseUriMatch = text.match(baseCharsetUri) || text.match(baseUri)\n if (baseUriMatch) {\n return fromBase64(text.substr(baseUriMatch[0].length))\n }\n\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1]\n throw new Error('Unsupported source map encoding ' + encoding)\n }\n\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, '').trim()\n }\n\n isMap(map) {\n if (typeof map !== 'object') return false\n return (\n typeof map.mappings === 'string' ||\n typeof map._mappings === 'string' ||\n Array.isArray(map.sections)\n )\n }\n\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/g)\n if (!comments) return\n\n // sourceMappingURLs from comments, strings, etc.\n let start = css.lastIndexOf(comments.pop())\n let end = css.indexOf('*/', start)\n\n if (start > -1 && end > -1) {\n // Locate the last sourceMappingURL to avoid pickin\n this.annotation = this.getAnnotationURL(css.substring(start, end))\n }\n }\n\n loadFile(path) {\n this.root = dirname(path)\n if (existsSync(path)) {\n this.mapFile = path\n return readFileSync(path, 'utf-8').toString().trim()\n }\n }\n\n loadMap(file, prev) {\n if (prev === false) return false\n\n if (prev) {\n if (typeof prev === 'string') {\n return prev\n } else if (typeof prev === 'function') {\n let prevPath = prev(file)\n if (prevPath) {\n let map = this.loadFile(prevPath)\n if (!map) {\n throw new Error(\n 'Unable to load previous source map: ' + prevPath.toString()\n )\n }\n return map\n }\n } else if (prev instanceof SourceMapConsumer) {\n return SourceMapGenerator.fromSourceMap(prev).toString()\n } else if (prev instanceof SourceMapGenerator) {\n return prev.toString()\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev)\n } else {\n throw new Error(\n 'Unsupported previous source map format: ' + prev.toString()\n )\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation)\n } else if (this.annotation) {\n let map = this.annotation\n if (file) map = join(dirname(file), map)\n return this.loadFile(map)\n }\n }\n\n startWith(string, start) {\n if (!string) return false\n return string.substr(0, start.length) === start\n }\n\n withContent() {\n return !!(\n this.consumer().sourcesContent &&\n this.consumer().sourcesContent.length > 0\n )\n }\n}\n\nmodule.exports = PreviousMap\nPreviousMap.default = PreviousMap\n","'use strict'\n\nlet Document = require('./document')\nlet LazyResult = require('./lazy-result')\nlet NoWorkResult = require('./no-work-result')\nlet Root = require('./root')\n\nclass Processor {\n constructor(plugins = []) {\n this.version = '8.5.1'\n this.plugins = this.normalize(plugins)\n }\n\n normalize(plugins) {\n let normalized = []\n for (let i of plugins) {\n if (i.postcss === true) {\n i = i()\n } else if (i.postcss) {\n i = i.postcss\n }\n\n if (typeof i === 'object' && Array.isArray(i.plugins)) {\n normalized = normalized.concat(i.plugins)\n } else if (typeof i === 'object' && i.postcssPlugin) {\n normalized.push(i)\n } else if (typeof i === 'function') {\n normalized.push(i)\n } else if (typeof i === 'object' && (i.parse || i.stringify)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'PostCSS syntaxes cannot be used as plugins. Instead, please use ' +\n 'one of the syntax/parser/stringifier options as outlined ' +\n 'in your PostCSS runner documentation.'\n )\n }\n } else {\n throw new Error(i + ' is not a PostCSS plugin')\n }\n }\n return normalized\n }\n\n process(css, opts = {}) {\n if (\n !this.plugins.length &&\n !opts.parser &&\n !opts.stringifier &&\n !opts.syntax\n ) {\n return new NoWorkResult(this, css, opts)\n } else {\n return new LazyResult(this, css, opts)\n }\n }\n\n use(plugin) {\n this.plugins = this.plugins.concat(this.normalize([plugin]))\n return this\n }\n}\n\nmodule.exports = Processor\nProcessor.default = Processor\n\nRoot.registerProcessor(Processor)\nDocument.registerProcessor(Processor)\n","'use strict'\n\nlet Warning = require('./warning')\n\nclass Result {\n constructor(processor, root, opts) {\n this.processor = processor\n this.messages = []\n this.root = root\n this.opts = opts\n this.css = undefined\n this.map = undefined\n }\n\n toString() {\n return this.css\n }\n\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin\n }\n }\n\n let warning = new Warning(text, opts)\n this.messages.push(warning)\n\n return warning\n }\n\n warnings() {\n return this.messages.filter(i => i.type === 'warning')\n }\n\n get content() {\n return this.css\n }\n}\n\nmodule.exports = Result\nResult.default = Result\n","'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Root extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'root'\n if (!this.nodes) this.nodes = []\n }\n\n normalize(child, sample, type) {\n let nodes = super.normalize(child)\n\n if (sample) {\n if (type === 'prepend') {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before\n } else {\n delete sample.raws.before\n }\n } else if (this.first !== sample) {\n for (let node of nodes) {\n node.raws.before = sample.raws.before\n }\n }\n }\n\n return nodes\n }\n\n removeChild(child, ignore) {\n let index = this.index(child)\n\n if (!ignore && index === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index].raws.before\n }\n\n return super.removeChild(child)\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n return lazy.stringify()\n }\n}\n\nRoot.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nRoot.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Root\nRoot.default = Root\n\nContainer.registerRoot(Root)\n","'use strict'\n\nlet Container = require('./container')\nlet list = require('./list')\n\nclass Rule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'rule'\n if (!this.nodes) this.nodes = []\n }\n\n get selectors() {\n return list.comma(this.selector)\n }\n\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null\n let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')\n this.selector = values.join(sep)\n }\n}\n\nmodule.exports = Rule\nRule.default = Rule\n\nContainer.registerRule(Rule)\n","'use strict'\n\nconst DEFAULT_RAW = {\n after: '\\n',\n beforeClose: '\\n',\n beforeComment: '\\n',\n beforeDecl: '\\n',\n beforeOpen: ' ',\n beforeRule: '\\n',\n colon: ': ',\n commentLeft: ' ',\n commentRight: ' ',\n emptyBody: '',\n indent: ' ',\n semicolon: false\n}\n\nfunction capitalize(str) {\n return str[0].toUpperCase() + str.slice(1)\n}\n\nclass Stringifier {\n constructor(builder) {\n this.builder = builder\n }\n\n atrule(node, semicolon) {\n let name = '@' + node.name\n let params = node.params ? this.rawValue(node, 'params') : ''\n\n if (typeof node.raws.afterName !== 'undefined') {\n name += node.raws.afterName\n } else if (params) {\n name += ' '\n }\n\n if (node.nodes) {\n this.block(node, name + params)\n } else {\n let end = (node.raws.between || '') + (semicolon ? ';' : '')\n this.builder(name + params + end, node)\n }\n }\n\n beforeAfter(node, detect) {\n let value\n if (node.type === 'decl') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (node.type === 'comment') {\n value = this.raw(node, null, 'beforeComment')\n } else if (detect === 'before') {\n value = this.raw(node, null, 'beforeRule')\n } else {\n value = this.raw(node, null, 'beforeClose')\n }\n\n let buf = node.parent\n let depth = 0\n while (buf && buf.type !== 'root') {\n depth += 1\n buf = buf.parent\n }\n\n if (value.includes('\\n')) {\n let indent = this.raw(node, null, 'indent')\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent\n }\n }\n\n return value\n }\n\n block(node, start) {\n let between = this.raw(node, 'between', 'beforeOpen')\n this.builder(start + between + '{', node, 'start')\n\n let after\n if (node.nodes && node.nodes.length) {\n this.body(node)\n after = this.raw(node, 'after')\n } else {\n after = this.raw(node, 'after', 'emptyBody')\n }\n\n if (after) this.builder(after)\n this.builder('}', node, 'end')\n }\n\n body(node) {\n let last = node.nodes.length - 1\n while (last > 0) {\n if (node.nodes[last].type !== 'comment') break\n last -= 1\n }\n\n let semicolon = this.raw(node, 'semicolon')\n for (let i = 0; i < node.nodes.length; i++) {\n let child = node.nodes[i]\n let before = this.raw(child, 'before')\n if (before) this.builder(before)\n this.stringify(child, last !== i || semicolon)\n }\n }\n\n comment(node) {\n let left = this.raw(node, 'left', 'commentLeft')\n let right = this.raw(node, 'right', 'commentRight')\n this.builder('/*' + left + node.text + right + '*/', node)\n }\n\n decl(node, semicolon) {\n let between = this.raw(node, 'between', 'colon')\n let string = node.prop + between + this.rawValue(node, 'value')\n\n if (node.important) {\n string += node.raws.important || ' !important'\n }\n\n if (semicolon) string += ';'\n this.builder(string, node)\n }\n\n document(node) {\n this.body(node)\n }\n\n raw(node, own, detect) {\n let value\n if (!detect) detect = own\n\n // Already had\n if (own) {\n value = node.raws[own]\n if (typeof value !== 'undefined') return value\n }\n\n let parent = node.parent\n\n if (detect === 'before') {\n // Hack for first rule in CSS\n if (!parent || (parent.type === 'root' && parent.first === node)) {\n return ''\n }\n\n // `root` nodes in `document` should use only their own raws\n if (parent && parent.type === 'document') {\n return ''\n }\n }\n\n // Floating child without parent\n if (!parent) return DEFAULT_RAW[detect]\n\n // Detect style by other nodes\n let root = node.root()\n if (!root.rawCache) root.rawCache = {}\n if (typeof root.rawCache[detect] !== 'undefined') {\n return root.rawCache[detect]\n }\n\n if (detect === 'before' || detect === 'after') {\n return this.beforeAfter(node, detect)\n } else {\n let method = 'raw' + capitalize(detect)\n if (this[method]) {\n value = this[method](root, node)\n } else {\n root.walk(i => {\n value = i.raws[own]\n if (typeof value !== 'undefined') return false\n })\n }\n }\n\n if (typeof value === 'undefined') value = DEFAULT_RAW[detect]\n\n root.rawCache[detect] = value\n return value\n }\n\n rawBeforeClose(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length > 0) {\n if (typeof i.raws.after !== 'undefined') {\n value = i.raws.after\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawBeforeComment(root, node) {\n let value\n root.walkComments(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeDecl(root, node) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeRule')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeOpen(root) {\n let value\n root.walk(i => {\n if (i.type !== 'decl') {\n value = i.raws.between\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawBeforeRule(root) {\n let value\n root.walk(i => {\n if (i.nodes && (i.parent !== root || root.first !== i)) {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawColon(root) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.between !== 'undefined') {\n value = i.raws.between.replace(/[^\\s:]/g, '')\n return false\n }\n })\n return value\n }\n\n rawEmptyBody(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length === 0) {\n value = i.raws.after\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawIndent(root) {\n if (root.raws.indent) return root.raws.indent\n let value\n root.walk(i => {\n let p = i.parent\n if (p && p !== root && p.parent && p.parent === root) {\n if (typeof i.raws.before !== 'undefined') {\n let parts = i.raws.before.split('\\n')\n value = parts[parts.length - 1]\n value = value.replace(/\\S/g, '')\n return false\n }\n }\n })\n return value\n }\n\n rawSemicolon(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length && i.last.type === 'decl') {\n value = i.raws.semicolon\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawValue(node, prop) {\n let value = node[prop]\n let raw = node.raws[prop]\n if (raw && raw.value === value) {\n return raw.raw\n }\n\n return value\n }\n\n root(node) {\n this.body(node)\n if (node.raws.after) this.builder(node.raws.after)\n }\n\n rule(node) {\n this.block(node, this.rawValue(node, 'selector'))\n if (node.raws.ownSemicolon) {\n this.builder(node.raws.ownSemicolon, node, 'end')\n }\n }\n\n stringify(node, semicolon) {\n /* c8 ignore start */\n if (!this[node.type]) {\n throw new Error(\n 'Unknown AST node type ' +\n node.type +\n '. ' +\n 'Maybe you need to change PostCSS stringifier.'\n )\n }\n /* c8 ignore stop */\n this[node.type](node, semicolon)\n }\n}\n\nmodule.exports = Stringifier\nStringifier.default = Stringifier\n","'use strict'\n\nlet Stringifier = require('./stringifier')\n\nfunction stringify(node, builder) {\n let str = new Stringifier(builder)\n str.stringify(node)\n}\n\nmodule.exports = stringify\nstringify.default = stringify\n","'use strict'\n\nmodule.exports.isClean = Symbol('isClean')\n\nmodule.exports.my = Symbol('my')\n","'use strict'\n\nconst SINGLE_QUOTE = \"'\".charCodeAt(0)\nconst DOUBLE_QUOTE = '\"'.charCodeAt(0)\nconst BACKSLASH = '\\\\'.charCodeAt(0)\nconst SLASH = '/'.charCodeAt(0)\nconst NEWLINE = '\\n'.charCodeAt(0)\nconst SPACE = ' '.charCodeAt(0)\nconst FEED = '\\f'.charCodeAt(0)\nconst TAB = '\\t'.charCodeAt(0)\nconst CR = '\\r'.charCodeAt(0)\nconst OPEN_SQUARE = '['.charCodeAt(0)\nconst CLOSE_SQUARE = ']'.charCodeAt(0)\nconst OPEN_PARENTHESES = '('.charCodeAt(0)\nconst CLOSE_PARENTHESES = ')'.charCodeAt(0)\nconst OPEN_CURLY = '{'.charCodeAt(0)\nconst CLOSE_CURLY = '}'.charCodeAt(0)\nconst SEMICOLON = ';'.charCodeAt(0)\nconst ASTERISK = '*'.charCodeAt(0)\nconst COLON = ':'.charCodeAt(0)\nconst AT = '@'.charCodeAt(0)\n\nconst RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g\nconst RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g\nconst RE_BAD_BRACKET = /.[\\r\\n\"'(/\\\\]/\nconst RE_HEX_ESCAPE = /[\\da-f]/i\n\nmodule.exports = function tokenizer(input, options = {}) {\n let css = input.css.valueOf()\n let ignore = options.ignoreErrors\n\n let code, content, escape, next, quote\n let currentToken, escaped, escapePos, n, prev\n\n let length = css.length\n let pos = 0\n let buffer = []\n let returned = []\n\n function position() {\n return pos\n }\n\n function unclosed(what) {\n throw input.error('Unclosed ' + what, pos)\n }\n\n function endOfFile() {\n return returned.length === 0 && pos >= length\n }\n\n function nextToken(opts) {\n if (returned.length) return returned.pop()\n if (pos >= length) return\n\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false\n\n code = css.charCodeAt(pos)\n\n switch (code) {\n case NEWLINE:\n case SPACE:\n case TAB:\n case CR:\n case FEED: {\n next = pos\n do {\n next += 1\n code = css.charCodeAt(next)\n } while (\n code === SPACE ||\n code === NEWLINE ||\n code === TAB ||\n code === CR ||\n code === FEED\n )\n\n currentToken = ['space', css.slice(pos, next)]\n pos = next - 1\n break\n }\n\n case OPEN_SQUARE:\n case CLOSE_SQUARE:\n case OPEN_CURLY:\n case CLOSE_CURLY:\n case COLON:\n case SEMICOLON:\n case CLOSE_PARENTHESES: {\n let controlChar = String.fromCharCode(code)\n currentToken = [controlChar, controlChar, pos]\n break\n }\n\n case OPEN_PARENTHESES: {\n prev = buffer.length ? buffer.pop()[1] : ''\n n = css.charCodeAt(pos + 1)\n if (\n prev === 'url' &&\n n !== SINGLE_QUOTE &&\n n !== DOUBLE_QUOTE &&\n n !== SPACE &&\n n !== NEWLINE &&\n n !== TAB &&\n n !== FEED &&\n n !== CR\n ) {\n next = pos\n do {\n escaped = false\n next = css.indexOf(')', next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos\n break\n } else {\n unclosed('bracket')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['brackets', css.slice(pos, next + 1), pos, next]\n\n pos = next\n } else {\n next = css.indexOf(')', pos + 1)\n content = css.slice(pos, next + 1)\n\n if (next === -1 || RE_BAD_BRACKET.test(content)) {\n currentToken = ['(', '(', pos]\n } else {\n currentToken = ['brackets', content, pos, next]\n pos = next\n }\n }\n\n break\n }\n\n case SINGLE_QUOTE:\n case DOUBLE_QUOTE: {\n quote = code === SINGLE_QUOTE ? \"'\" : '\"'\n next = pos\n do {\n escaped = false\n next = css.indexOf(quote, next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1\n break\n } else {\n unclosed('string')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['string', css.slice(pos, next + 1), pos, next]\n pos = next\n break\n }\n\n case AT: {\n RE_AT_END.lastIndex = pos + 1\n RE_AT_END.test(css)\n if (RE_AT_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_AT_END.lastIndex - 2\n }\n\n currentToken = ['at-word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n case BACKSLASH: {\n next = pos\n escape = true\n while (css.charCodeAt(next + 1) === BACKSLASH) {\n next += 1\n escape = !escape\n }\n code = css.charCodeAt(next + 1)\n if (\n escape &&\n code !== SLASH &&\n code !== SPACE &&\n code !== NEWLINE &&\n code !== TAB &&\n code !== CR &&\n code !== FEED\n ) {\n next += 1\n if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n next += 1\n }\n if (css.charCodeAt(next + 1) === SPACE) {\n next += 1\n }\n }\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n default: {\n if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n next = css.indexOf('*/', pos + 2) + 1\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length\n } else {\n unclosed('comment')\n }\n }\n\n currentToken = ['comment', css.slice(pos, next + 1), pos, next]\n pos = next\n } else {\n RE_WORD_END.lastIndex = pos + 1\n RE_WORD_END.test(css)\n if (RE_WORD_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_WORD_END.lastIndex - 2\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n buffer.push(currentToken)\n pos = next\n }\n\n break\n }\n }\n\n pos++\n return currentToken\n }\n\n function back(token) {\n returned.push(token)\n }\n\n return {\n back,\n endOfFile,\n nextToken,\n position\n }\n}\n","/* eslint-disable no-console */\n'use strict'\n\nlet printed = {}\n\nmodule.exports = function warnOnce(message) {\n if (printed[message]) return\n printed[message] = true\n\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message)\n }\n}\n","'use strict'\n\nclass Warning {\n constructor(text, opts = {}) {\n this.type = 'warning'\n this.text = text\n\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts)\n this.line = range.start.line\n this.column = range.start.column\n this.endLine = range.end.line\n this.endColumn = range.end.column\n }\n\n for (let opt in opts) this[opt] = opts[opt]\n }\n\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message\n }\n\n if (this.plugin) {\n return this.plugin + ': ' + this.text\n }\n\n return this.text\n }\n}\n\nmodule.exports = Warning\nWarning.default = Warning\n"],"names":["Container","AtRule","constructor","defaults","super","this","type","append","children","proxyOf","nodes","prepend","module","exports","default","registerAtRule","Node","Comment","parse","Root","Rule","Declaration","isClean","my","cleanSource","map","i","source","markTreeDirty","node","child","normalize","last","push","markDirty","cleanRaws","keepBetween","each","callback","index","result","iterator","getIterator","indexes","length","every","condition","lastEach","getProxyProcessor","get","prop","startsWith","args","toProxy","cb","other","root","set","value","indexOf","insertAfter","exist","add","existIndex","reverse","splice","id","insertBefore","sample","Array","isArray","slice","parent","removeChild","Error","String","selector","selectors","name","text","processed","rebuild","raws","before","replace","first","unshift","removeAll","undefined","replaceValues","pattern","opts","walkDecls","decl","props","includes","fast","some","walk","e","addToError","walkAtRules","RegExp","test","walkComments","walkRules","registerParse","dependant","registerRule","registerRoot","Object","setPrototypeOf","prototype","forEach","pico","terminalHighlight","CssSyntaxError","message","line","column","file","plugin","reason","endLine","endColumn","setMessage","captureStackTrace","showSourceCode","color","css","isColorSupported","aside","mark","highlight","bold","gray","red","createColors","lines","split","start","Math","max","end","min","maxWidth","number","gutter","padding","subLineStart","subLineEnd","subLine","spacing","join","toString","code","variable","LazyResult","Processor","Document","toResult","lazy","stringify","registerLazyResult","registerProcessor","Input","PreviousMap","fromJSON","json","inputs","n","ownInputs","input","inputHydrated","__proto__","inputId","nanoid","isAbsolute","resolve","SourceMapConsumer","SourceMapGenerator","fileURLToPath","pathToFileURL","fromOffsetCache","Symbol","sourceMapAvailable","Boolean","pathAvailable","hasBOM","document","from","consumer","mapResolve","error","offset","pos","fromOffset","col","origin","url","lastLine","lineToIndex","prevIndex","l","mid","sourceRoot","to","fromUrl","originalPositionFor","URL","mapFile","protocol","sourceContentFor","toJSON","consumerCache","registerInput","MapGenerator","Result","TYPE_TO_CLASS_NAME","atrule","comment","rule","PLUGIN_PROPS","AtRuleExit","CommentExit","DeclarationExit","DocumentExit","Once","OnceExit","postcssPlugin","prepare","RootExit","RuleExit","NOT_VISITORS","CHILDREN","isPromise","obj","then","getEvents","key","toLowerCase","toStack","events","eventIndex","visitorIndex","visitors","cleanMarks","postcss","processor","stringified","inline","prev","parser","syntax","helpers","plugins","async","Promise","reject","processing","runAsync","onRejected","catch","onFinally","getAsyncError","handleError","lastPlugin","postcssVersion","err","console","prepareVisitors","listeners","event","version","filter","hasListener","keys","promise","runOnRoot","stack","visitTick","visitor","roots","subRoot","all","sync","str","stringifier","data","generate","walkSync","visitSync","onFulfilled","visit","pop","warnings","content","messages","toStringTag","registerPostcss","list","comma","string","space","spaces","separators","array","current","func","inQuote","prevQuote","escape","letter","trim","dirname","relative","sep","cssString","mapOpts","originalCSS","usesFileUrls","absolute","memoizedFileURLs","Map","memoizedPaths","memoizedURLs","addAnnotation","isInline","toBase64","annotation","outputFile","eol","applyPrevMaps","previous","toUrl","path","sourcesContent","applySourceMap","clearAnnotation","isMap","generateMap","generateString","fromSourceMap","ignoreInvalidMapping","addMapping","generated","original","isSourcesContent","setSourcesContent","isAnnotation","noSource","mapping","sourcePath","match","lastIndexOf","p","childless","semicolon","withContent","charCodeAt","cached","previousMaps","already","toFileUrl","setSourceContent","Buffer","window","btoa","unescape","encodeURIComponent","fileURL","encodeURI","NoWorkResult","_processor","_css","_opts","_map","self","defineProperty","generatedCSS","generatedMap","_root","Stringifier","cloneNode","cloned","hasOwnProperty","call","j","sourceOffset","inputCSS","position","clone","postcssNode","s","after","assign","overrides","between","cloneAfter","cloneBefore","rangeBy","markClean","next","positionBy","positionInside","word","inputString","stringRepresentation","endIndex","raw","defaultType","remove","replaceWith","bookmark","foundSelf","_","fixed","emitInputs","inputsNextIndex","proxyCache","Proxy","warn","Parser","tokenizer","SAFE_COMMENT_NEIGHBOR","empty","findLastWithPosition","tokens","token","createTokenizer","shift","unnamedAtrule","init","open","params","brackets","endOfFile","nextToken","getPosition","spacesAndCommentsFromEnd","afterName","spacesAndCommentsFromStart","checkMissedSemicolon","colon","founded","element","entries","doubleColon","left","right","customProperty","unknownWord","firstSpaces","precheckMissedSemicolon","important","stringFrom","spacesFromEnd","cache","hasWord","concat","emptyRule","unexpectedClose","endFile","unclosedBlock","freeSemicolon","ownSemicolon","bracket","back","unclosedBracket","clean","reduce","lastTokenType","Warning","initializer","warningPrinted","creator","LANG","transformer","process","processOpts","pluginOpts","atRule","existsSync","readFileSync","fromBase64","atob","loadAnnotation","startWith","loadMap","decodeInline","baseCharsetUri","baseUri","charsetUri","uri","uriMatch","decodeURIComponent","substr","baseUriMatch","encoding","getAnnotationURL","sourceMapString","mappings","_mappings","sections","comments","substring","loadFile","JSON","prevPath","normalized","use","warning","ignore","values","DEFAULT_RAW","beforeClose","beforeComment","beforeDecl","beforeOpen","beforeRule","commentLeft","commentRight","emptyBody","indent","capitalize","toUpperCase","builder","rawValue","block","beforeAfter","detect","buf","depth","step","body","own","rawCache","method","rawBeforeClose","rawBeforeComment","rawBeforeDecl","rawBeforeOpen","rawBeforeRule","rawColon","rawEmptyBody","rawIndent","parts","rawSemicolon","SINGLE_QUOTE","DOUBLE_QUOTE","BACKSLASH","SLASH","NEWLINE","SPACE","FEED","TAB","CR","OPEN_SQUARE","CLOSE_SQUARE","OPEN_PARENTHESES","CLOSE_PARENTHESES","OPEN_CURLY","CLOSE_CURLY","SEMICOLON","ASTERISK","COLON","AT","RE_AT_END","RE_WORD_END","RE_BAD_BRACKET","RE_HEX_ESCAPE","options","quote","currentToken","escaped","escapePos","valueOf","ignoreErrors","buffer","returned","unclosed","what","ignoreUnclosed","controlChar","fromCharCode","lastIndex","charAt","printed","range","opt"],"sourceRoot":""}