{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/dts.js"],"names":["module","exports","hljs","STRINGS","className","variants","inherit","QUOTE_STRING_MODE","begin","end","contains","BACKSLASH_ESCAPE","illegal","NUMBERS","C_NUMBER_RE","relevance","PREPROCESSOR","keywords","beginKeywords","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","DTS_REFERENCE","DTS_KEYWORD","DTS_LABEL","DTS_CELL_PROPERTY","DTS_NODE","returnBegin","excludeEnd","name","IDENT_RE"],"mappings":"gFAmGAA,EAAOC,QA5FP,SAAaC,GACX,IAAIC,EAAU,CACZC,UAAW,SACXC,SAAU,CAACH,EAAKI,QAAQJ,EAAKK,kBAAmB,CAC9CC,MAAO,kBACL,CACFA,MAAO,aACPC,IAAK,IACLC,SAAU,CAACR,EAAKS,mBACf,CACDH,MAAO,UACPC,IAAK,IACLG,QAAS,OAGTC,EAAU,CACZT,UAAW,SACXC,SAAU,CAAC,CACTG,MAAO,kDACN,CACDA,MAAON,EAAKY,cAEdC,UAAW,GAETC,EAAe,CACjBZ,UAAW,OACXI,MAAO,IACPC,IAAK,IACLQ,SAAU,CACR,eAAgB,gDAElBP,SAAU,CAAC,CACTF,MAAO,OACPO,UAAW,GACV,CACDG,cAAe,UACfT,IAAK,IACLQ,SAAU,CACR,eAAgB,WAElBP,SAAU,CAACR,EAAKI,QAAQH,EAAS,CAC/BC,UAAW,gBACT,CACFA,UAAW,cACXI,MAAO,IACPC,IAAK,IACLG,QAAS,SAEVT,EAASD,EAAKiB,oBAAqBjB,EAAKkB,uBAEzCC,EAAgB,CAClBjB,UAAW,WACXI,MAAO,oBAELc,EAAc,CAChBlB,UAAW,eACXI,MAAO,qBAELe,EAAY,CACdnB,UAAW,SACXI,MAAO,gCAELgB,EAAoB,CACtBpB,UAAW,SACXI,MAAO,IACPC,IAAK,IACLC,SAAU,CAACG,EAASQ,IAElBI,EAAW,CACbrB,UAAW,QACXI,MAAO,4BACPC,IAAK,QACLiB,aAAa,EACbC,YAAY,GASd,MAAO,CACLC,KAAM,cACNX,SAAU,GACVP,SAAU,CAVQ,CAClBN,UAAW,QACXI,MAAO,SACPC,IAAK,KACLM,UAAW,GACXL,SAAU,CAACW,EAAeC,EAAaC,EAAWE,EAAUD,EAAmBtB,EAAKiB,oBAAqBjB,EAAKkB,qBAAsBP,EAASV,IAKnHkB,EAAeC,EAAaC,EAAWE,EAAUD,EAAmBtB,EAAKiB,oBAAqBjB,EAAKkB,qBAAsBP,EAASV,EAASa,EAAc,CACjLR,MAAON,EAAK2B,SAAW,KACvBZ,SAAU","file":"react-syntax-highlighter_languages_highlight_dts-60a4139aa1278a89535f.js","sourcesContent":["/*\nLanguage: Device Tree\nDescription: *.dts files used in the Linux kernel\nAuthor: Martin Braun <martin.braun@ettus.com>, Moritz Fischer <moritz.fischer@ettus.com>\nWebsite: https://elinux.org/Device_Tree_Reference\nCategory: config\n*/\nfunction dts(hljs) {\n  var STRINGS = {\n    className: 'string',\n    variants: [hljs.inherit(hljs.QUOTE_STRING_MODE, {\n      begin: '((u8?|U)|L)?\"'\n    }), {\n      begin: '(u8?|U)?R\"',\n      end: '\"',\n      contains: [hljs.BACKSLASH_ESCAPE]\n    }, {\n      begin: '\\'\\\\\\\\?.',\n      end: '\\'',\n      illegal: '.'\n    }]\n  };\n  var NUMBERS = {\n    className: 'number',\n    variants: [{\n      begin: '\\\\b(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)(u|U|l|L|ul|UL|f|F)'\n    }, {\n      begin: hljs.C_NUMBER_RE\n    }],\n    relevance: 0\n  };\n  var PREPROCESSOR = {\n    className: 'meta',\n    begin: '#',\n    end: '$',\n    keywords: {\n      'meta-keyword': 'if else elif endif define undef ifdef ifndef'\n    },\n    contains: [{\n      begin: /\\\\\\n/,\n      relevance: 0\n    }, {\n      beginKeywords: 'include',\n      end: '$',\n      keywords: {\n        'meta-keyword': 'include'\n      },\n      contains: [hljs.inherit(STRINGS, {\n        className: 'meta-string'\n      }), {\n        className: 'meta-string',\n        begin: '<',\n        end: '>',\n        illegal: '\\\\n'\n      }]\n    }, STRINGS, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE]\n  };\n  var DTS_REFERENCE = {\n    className: 'variable',\n    begin: '\\\\&[a-z\\\\d_]*\\\\b'\n  };\n  var DTS_KEYWORD = {\n    className: 'meta-keyword',\n    begin: '/[a-z][a-z\\\\d-]*/'\n  };\n  var DTS_LABEL = {\n    className: 'symbol',\n    begin: '^\\\\s*[a-zA-Z_][a-zA-Z\\\\d_]*:'\n  };\n  var DTS_CELL_PROPERTY = {\n    className: 'params',\n    begin: '<',\n    end: '>',\n    contains: [NUMBERS, DTS_REFERENCE]\n  };\n  var DTS_NODE = {\n    className: 'class',\n    begin: /[a-zA-Z_][a-zA-Z\\d_@]*\\s{/,\n    end: /[{;=]/,\n    returnBegin: true,\n    excludeEnd: true\n  };\n  var DTS_ROOT_NODE = {\n    className: 'class',\n    begin: '/\\\\s*{',\n    end: '};',\n    relevance: 10,\n    contains: [DTS_REFERENCE, DTS_KEYWORD, DTS_LABEL, DTS_NODE, DTS_CELL_PROPERTY, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, NUMBERS, STRINGS]\n  };\n  return {\n    name: 'Device Tree',\n    keywords: \"\",\n    contains: [DTS_ROOT_NODE, DTS_REFERENCE, DTS_KEYWORD, DTS_LABEL, DTS_NODE, DTS_CELL_PROPERTY, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, NUMBERS, STRINGS, PREPROCESSOR, {\n      begin: hljs.IDENT_RE + '::',\n      keywords: \"\"\n    }]\n  };\n}\n\nmodule.exports = dts;"],"sourceRoot":""}