1{"version":3,"sources":["../../node_modules/codemirror/mode/asn.1/asn.1.js"],"names":["mod","exports","module","require","define","amd","CodeMirror","defineMode","config","parserConfig","indentUnit","keywords","cmipVerbs","compareTypes","status","tags","storage","modifier","accessTypes","multiLineStrings","indentStatements","isOperatorChar","curPunc","tokenBase","stream","state","ch","next","tokenize","tokenString","test","eat","skipToEnd","eatWhile","cur","current","propertyIsEnumerable","quote","escaped","end","afterNext","peek","toLowerCase","Context","indented","column","type","align","prev","this","pushContext","col","indent","context","popContext","t","startState","basecolumn","startOfLine","token","ctx","sol","indentation","eatSpace","style","electricChars","lineComment","fold","words","str","obj","split","i","length","defineMIME","name"],"mappings":"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","file":"asn.1.min.js","sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n CodeMirror.defineMode(\"asn.1\", function(config, parserConfig) {\n var indentUnit = config.indentUnit,\n keywords = parserConfig.keywords || {},\n cmipVerbs = parserConfig.cmipVerbs || {},\n compareTypes = parserConfig.compareTypes || {},\n status = parserConfig.status || {},\n tags = parserConfig.tags || {},\n storage = parserConfig.storage || {},\n modifier = parserConfig.modifier || {},\n accessTypes = parserConfig.accessTypes|| {},\n multiLineStrings = parserConfig.multiLineStrings,\n indentStatements = parserConfig.indentStatements !== false;\n var isOperatorChar = /[\\|\\^]/;\n var curPunc;\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n }\n if (/[\\[\\]\\(\\){}:=,;]/.test(ch)) {\n curPunc = ch;\n return \"punctuation\";\n }\n if (ch == \"-\"){\n if (stream.eat(\"-\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n }\n if (/\\d/.test(ch)) {\n stream.eatWhile(/[\\w\\.]/);\n return \"number\";\n }\n if (isOperatorChar.test(ch)) {\n stream.eatWhile(isOperatorChar);\n return \"operator\";\n }\n\n stream.eatWhile(/[\\w\\-]/);\n var cur = stream.current();\n if (keywords.propertyIsEnumerable(cur)) return \"keyword\";\n if (cmipVerbs.propertyIsEnumerable(cur)) return \"variable cmipVerbs\";\n if (compareTypes.propertyIsEnumerable(cur)) return \"atom compareTypes\";\n if (status.propertyIsEnumerable(cur)) return \"comment status\";\n if (tags.propertyIsEnumerable(cur)) return \"variable-3 tags\";\n if (storage.propertyIsEnumerable(cur)) return \"builtin storage\";\n if (modifier.propertyIsEnumerable(cur)) return \"string-2 modifier\";\n if (accessTypes.propertyIsEnumerable(cur)) return \"atom accessTypes\";\n\n return \"variable\";\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next, end = false;\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped){\n var afterNext = stream.peek();\n //look if the character if the quote is like the B in '10100010'B\n if (afterNext){\n afterNext = afterNext.toLowerCase();\n if(afterNext == \"b\" || afterNext == \"h\" || afterNext == \"o\")\n stream.next();\n }\n end = true; break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n if (end || !(escaped || multiLineStrings))\n state.tokenize = null;\n return \"string\";\n };\n }\n\n function Context(indented, column, type, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.align = align;\n this.prev = prev;\n }\n function pushContext(state, col, type) {\n var indent = state.indented;\n if (state.context && state.context.type == \"statement\")\n indent = state.context.indented;\n return state.context = new Context(indent, col, type, null, state.context);\n }\n function popContext(state) {\n var t = state.context.type;\n if (t == \")\" || t == \"]\" || t == \"}\")\n state.indented = state.context.indented;\n return state.context = state.context.prev;\n }\n\n //Interface\n return {\n startState: function(basecolumn) {\n return {\n tokenize: null,\n context: new Context((basecolumn || 0) - indentUnit, 0, \"top\", false),\n indented: 0,\n startOfLine: true\n };\n },\n\n token: function(stream, state) {\n var ctx = state.context;\n if (stream.sol()) {\n if (ctx.align == null) ctx.align = false;\n state.indented = stream.indentation();\n state.startOfLine = true;\n }\n if (stream.eatSpace()) return null;\n curPunc = null;\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style == \"comment\") return style;\n if (ctx.align == null) ctx.align = true;\n\n if ((curPunc == \";\" || curPunc == \":\" || curPunc == \",\")\n && ctx.type == \"statement\"){\n popContext(state);\n }\n else if (curPunc == \"{\") pushContext(state, stream.column(), \"}\");\n else if (curPunc == \"[\") pushContext(state, stream.column(), \"]\");\n else if (curPunc == \"(\") pushContext(state, stream.column(), \")\");\n else if (curPunc == \"}\") {\n while (ctx.type == \"statement\") ctx = popContext(state);\n if (ctx.type == \"}\") ctx = popContext(state);\n while (ctx.type == \"statement\") ctx = popContext(state);\n }\n else if (curPunc == ctx.type) popContext(state);\n else if (indentStatements && (((ctx.type == \"}\" || ctx.type == \"top\")\n && curPunc != ';') || (ctx.type == \"statement\"\n && curPunc == \"newstatement\")))\n pushContext(state, stream.column(), \"statement\");\n\n state.startOfLine = false;\n return style;\n },\n\n electricChars: \"{}\",\n lineComment: \"--\",\n fold: \"brace\"\n };\n });\n\n function words(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n }\n\n CodeMirror.defineMIME(\"text/x-ttcn-asn\", {\n name: \"asn.1\",\n keywords: words(\"DEFINITIONS OBJECTS IF DERIVED INFORMATION ACTION\" +\n \" REPLY ANY NAMED CHARACTERIZED BEHAVIOUR REGISTERED\" +\n \" WITH AS IDENTIFIED CONSTRAINED BY PRESENT BEGIN\" +\n \" IMPORTS FROM UNITS SYNTAX MIN-ACCESS MAX-ACCESS\" +\n \" MINACCESS MAXACCESS REVISION STATUS DESCRIPTION\" +\n \" SEQUENCE SET COMPONENTS OF CHOICE DistinguishedName\" +\n \" ENUMERATED SIZE MODULE END INDEX AUGMENTS EXTENSIBILITY\" +\n \" IMPLIED EXPORTS\"),\n cmipVerbs: words(\"ACTIONS ADD GET NOTIFICATIONS REPLACE REMOVE\"),\n compareTypes: words(\"OPTIONAL DEFAULT MANAGED MODULE-TYPE MODULE_IDENTITY\" +\n \" MODULE-COMPLIANCE OBJECT-TYPE OBJECT-IDENTITY\" +\n \" OBJECT-COMPLIANCE MODE CONFIRMED CONDITIONAL\" +\n \" SUBORDINATE SUPERIOR CLASS TRUE FALSE NULL\" +\n \" TEXTUAL-CONVENTION\"),\n status: words(\"current deprecated mandatory obsolete\"),\n tags: words(\"APPLICATION AUTOMATIC EXPLICIT IMPLICIT PRIVATE TAGS\" +\n \" UNIVERSAL\"),\n storage: words(\"BOOLEAN INTEGER OBJECT IDENTIFIER BIT OCTET STRING\" +\n \" UTCTime InterfaceIndex IANAifType CMIP-Attribute\" +\n \" REAL PACKAGE PACKAGES IpAddress PhysAddress\" +\n \" NetworkAddress BITS BMPString TimeStamp TimeTicks\" +\n \" TruthValue RowStatus DisplayString GeneralString\" +\n \" GraphicString IA5String NumericString\" +\n \" PrintableString SnmpAdminAtring TeletexString\" +\n \" UTF8String VideotexString VisibleString StringStore\" +\n \" ISO646String T61String UniversalString Unsigned32\" +\n \" Integer32 Gauge Gauge32 Counter Counter32 Counter64\"),\n modifier: words(\"ATTRIBUTE ATTRIBUTES MANDATORY-GROUP MANDATORY-GROUPS\" +\n \" GROUP GROUPS ELEMENTS EQUALITY ORDERING SUBSTRINGS\" +\n \" DEFINED\"),\n accessTypes: words(\"not-accessible accessible-for-notify read-only\" +\n \" read-create read-write\"),\n multiLineStrings: true\n });\n});\n"]}