{"version":3,"file":"mode-raku-8fc0718d.js","sources":["../../node_modules/ace-builds/src-noconflict/mode-raku.js"],"sourcesContent":["ace.define(\"ace/mode/raku_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar RakuHighlightRules = function () {\n var keywords = (\"my|our|class|role|grammar|is|does|sub|method|submethod|try|\" +\n \"default|when|if|elsif|else|unless|with|orwith|without|for|given|proceed|\" +\n \"succeed|loop|while|until|repeat|module|use|need|import|require|unit|\" +\n \"constant|enum|multi|return|has|token|rule|make|made|proto|state|augment|\" +\n \"but|anon|supersede|let|subset|gather|returns|return-rw|temp|\" +\n \"BEGIN|CHECK|INIT|END|CLOSE|ENTER|LEAVE|KEEP|UNDO|PRE|POST|FIRST|NEXT|LAST|CATCH|CONTROL|QUIT|DOC\");\n var types = (\"Any|Array|Associative|AST|atomicint|Attribute|Backtrace|Backtrace::Frame|\" +\n \"Bag|Baggy|BagHash|Blob|Block|Bool|Buf|Callable|CallFrame|Cancellation|\" +\n \"Capture|Channel|Code|compiler|Complex|ComplexStr|Cool|CurrentThreadScheduler|\" +\n \"Cursor|Date|Dateish|DateTime|Distro|Duration|Encoding|Exception|Failure|\" +\n \"FatRat|Grammar|Hash|HyperWhatever|Instant|Int|IntStr|IO|IO::ArgFiles|\" +\n \"IO::CatHandle|IO::Handle|IO::Notification|IO::Path|IO::Path::Cygwin|\" +\n \"IO::Path::QNX|IO::Path::Unix|IO::Path::Win32|IO::Pipe|IO::Socket|\" +\n \"IO::Socket::Async|IO::Socket::INET|IO::Spec|IO::Spec::Cygwin|IO::Spec::QNX|\" +\n \"IO::Spec::Unix|IO::Spec::Win32|IO::Special|Iterable|Iterator|Junction|Kernel|\" +\n \"Label|List|Lock|Lock::Async|Macro|Map|Match|Metamodel::AttributeContainer|\" +\n \"Metamodel::C3MRO|Metamodel::ClassHOW|Metamodel::EnumHOW|Metamodel::Finalization|\" +\n \"Metamodel::MethodContainer|Metamodel::MROBasedMethodDispatch|Metamodel::MultipleInheritance|\" +\n \"Metamodel::Naming|Metamodel::Primitives|Metamodel::PrivateMethodContainer|\" +\n \"Metamodel::RoleContainer|Metamodel::Trusting|Method|Mix|MixHash|Mixy|Mu|\" +\n \"NFC|NFD|NFKC|NFKD|Nil|Num|Numeric|NumStr|ObjAt|Order|Pair|Parameter|Perl|\" +\n \"Pod::Block|Pod::Block::Code|Pod::Block::Comment|Pod::Block::Declarator|\" +\n \"Pod::Block::Named|Pod::Block::Para|Pod::Block::Table|Pod::Heading|Pod::Item|\" +\n \"Positional|PositionalBindFailover|Proc|Proc::Async|Promise|Proxy|PseudoStash|\" +\n \"Raku|QuantHash|Range|Rat|Rational|RatStr|Real|Regex|Routine|Scalar|Scheduler|\" +\n \"Semaphore|Seq|Set|SetHash|Setty|Signature|Slip|Stash|Str|StrDistance|Stringy|\" +\n \"Sub|Submethod|Supplier|Supplier::Preserving|Supply|Systemic|Tap|Telemetry|\" +\n \"Telemetry::Instrument::Thread|Telemetry::Instrument::Usage|Telemetry::Period|\" +\n \"Telemetry::Sampler|Thread|ThreadPoolScheduler|UInt|Uni|utf8|Variable|Version|\" +\n \"VM|Whatever|WhateverCode|WrapHandle|int|uint|num|str|\" +\n \"int8|int16|int32|int64|uint8|uint16|uint32|uint64|long|longlong|num32|num64|size_t|bool|CArray|Pointer|\" +\n \"Backtrace|Backtrace::Frame|Exception|Failure|X::AdHoc|X::Anon::Augment|X::Anon::Multi|\" +\n \"X::Assignment::RO|X::Attribute::NoPackage|X::Attribute::Package|X::Attribute::Undeclared|\" +\n \"X::Augment::NoSuchType|X::Bind|X::Bind::NativeType|X::Bind::Slice|X::Caller::NotDynamic|\" +\n \"X::Channel::ReceiveOnClosed|X::Channel::SendOnClosed|X::Comp|X::Composition::NotComposable|\" +\n \"X::Constructor::Positional|X::ControlFlow|X::ControlFlow::Return|X::DateTime::TimezoneClash|\" +\n \"X::Declaration::Scope|X::Declaration::Scope::Multi|X::Does::TypeObject|X::Eval::NoSuchLang|\" +\n \"X::Export::NameClash|X::IO|X::IO::Chdir|X::IO::Chmod|X::IO::Copy|X::IO::Cwd|X::IO::Dir|\" +\n \"X::IO::DoesNotExist|X::IO::Link|X::IO::Mkdir|X::IO::Move|X::IO::Rename|X::IO::Rmdir|X::IO::Symlink|\" +\n \"X::IO::Unlink|X::Inheritance::NotComposed|X::Inheritance::Unsupported|X::Method::InvalidQualifier|\" +\n \"X::Method::NotFound|X::Method::Private::Permission|X::Method::Private::Unqualified|\" +\n \"X::Mixin::NotComposable|X::NYI|X::NoDispatcher|X::Numeric::Real|X::OS|X::Obsolete|X::OutOfRange|\" +\n \"X::Package::Stubbed|X::Parameter::Default|X::Parameter::MultipleTypeConstraints|\" +\n \"X::Parameter::Placeholder|X::Parameter::Twigil|X::Parameter::WrongOrder|X::Phaser::Multiple|\" +\n \"X::Phaser::PrePost|X::Placeholder::Block|X::Placeholder::Mainline|X::Pod|X::Proc::Async|\" +\n \"X::Proc::Async::AlreadyStarted|X::Proc::Async::CharsOrBytes|X::Proc::Async::MustBeStarted|\" +\n \"X::Proc::Async::OpenForWriting|X::Proc::Async::TapBeforeSpawn|X::Proc::Unsuccessful|\" +\n \"X::Promise::CauseOnlyValidOnBroken|X::Promise::Vowed|X::Redeclaration|X::Role::Initialization|\" +\n \"X::Seq::Consumed|X::Sequence::Deduction|X::Signature::NameClash|X::Signature::Placeholder|\" +\n \"X::Str::Numeric|X::StubCode|X::Syntax|X::Syntax::Augment::WithoutMonkeyTyping|\" +\n \"X::Syntax::Comment::Embedded|X::Syntax::Confused|X::Syntax::InfixInTermPosition|\" +\n \"X::Syntax::Malformed|X::Syntax::Missing|X::Syntax::NegatedPair|X::Syntax::NoSelf|\" +\n \"X::Syntax::Number::RadixOutOfRange|X::Syntax::P5|X::Syntax::Regex::Adverb|\" +\n \"X::Syntax::Regex::SolitaryQuantifier|X::Syntax::Reserved|X::Syntax::Self::WithoutObject|\" +\n \"X::Syntax::Signature::InvocantMarker|X::Syntax::Term::MissingInitializer|X::Syntax::UnlessElse|\" +\n \"X::Syntax::Variable::Match|X::Syntax::Variable::Numeric|X::Syntax::Variable::Twigil|X::Temporal|\" +\n \"X::Temporal::InvalidFormat|X::TypeCheck|X::TypeCheck::Assignment|X::TypeCheck::Binding|\" +\n \"X::TypeCheck::Return|X::TypeCheck::Splice|X::Undeclared\");\n var builtinFunctions = (\"abs|abs2rel|absolute|accept|ACCEPTS|accessed|acos|acosec|acosech|acosh|\" +\n \"acotan|acotanh|acquire|act|action|actions|add|add_attribute|add_enum_value|\" +\n \"add_fallback|add_method|add_parent|add_private_method|add_role|add_trustee|\" +\n \"adverb|after|all|allocate|allof|allowed|alternative-names|annotations|antipair|\" +\n \"antipairs|any|anyof|app_lifetime|append|arch|archname|args|arity|asec|asech|\" +\n \"asin|asinh|ASSIGN-KEY|ASSIGN-POS|assuming|ast|at|atan|atan2|atanh|AT-KEY|\" +\n \"atomic-assign|atomic-dec-fetch|atomic-fetch|atomic-fetch-add|atomic-fetch-dec|\" +\n \"atomic-fetch-inc|atomic-fetch-sub|atomic-inc-fetch|AT-POS|attributes|auth|await|\" +\n \"backtrace|Bag|BagHash|base|basename|base-repeating|batch|BIND-KEY|BIND-POS|\" +\n \"bind-stderr|bind-stdin|bind-stdout|bind-udp|bits|bless|block|bool-only|\" +\n \"bounds|break|Bridge|broken|BUILD|build-date|bytes|cache|callframe|calling-package|\" +\n \"CALL-ME|callsame|callwith|can|cancel|candidates|cando|canonpath|caps|caption|\" +\n \"Capture|cas|catdir|categorize|categorize-list|catfile|catpath|cause|ceiling|\" +\n \"cglobal|changed|Channel|chars|chdir|child|child-name|child-typename|chmod|chomp|\" +\n \"chop|chr|chrs|chunks|cis|classify|classify-list|cleanup|clone|close|closed|\" +\n \"close-stdin|code|codes|collate|column|comb|combinations|command|comment|\" +\n \"compiler|Complex|compose|compose_type|composer|condition|config|configure_destroy|\" +\n \"configure_type_checking|conj|connect|constraints|construct|contains|contents|copy|\" +\n \"cos|cosec|cosech|cosh|cotan|cotanh|count|count-only|cpu-cores|cpu-usage|CREATE|\" +\n \"create_type|cross|cue|curdir|curupdir|d|Date|DateTime|day|daycount|day-of-month|\" +\n \"day-of-week|day-of-year|days-in-month|declaration|decode|decoder|deepmap|\" +\n \"defined|DEFINITE|delayed|DELETE-KEY|DELETE-POS|denominator|desc|DESTROY|destroyers|\" +\n \"devnull|did-you-mean|die|dir|dirname|dir-sep|DISTROnames|do|done|duckmap|dynamic|\" +\n \"e|eager|earlier|elems|emit|enclosing|encode|encoder|encoding|end|ends-with|enum_from_value|\" +\n \"enum_value_list|enum_values|enums|eof|EVAL|EVALFILE|exception|excludes-max|excludes-min|\" +\n \"EXISTS-KEY|EXISTS-POS|exit|exitcode|exp|expected|explicitly-manage|expmod|extension|f|\" +\n \"fail|fc|feature|file|filename|find_method|find_method_qualified|finish|first|flat|flatmap|\" +\n \"flip|floor|flush|fmt|format|formatter|freeze|from|from-list|from-loop|from-posix|full|\" +\n \"full-barrier|get|get_value|getc|gist|got|grab|grabpairs|grep|handle|handled|handles|\" +\n \"hardware|has_accessor|head|headers|hh-mm-ss|hidden|hides|hour|how|hyper|id|illegal|\" +\n \"im|in|indent|index|indices|indir|infinite|infix|install_method_cache|\" +\n \"Instant|instead|int-bounds|interval|in-timezone|invalid-str|invert|invocant|IO|\" +\n \"IO::Notification.watch-path|is_trusted|is_type|isa|is-absolute|is-hidden|is-initial-thread|\" +\n \"is-int|is-lazy|is-leap-year|isNaN|is-prime|is-relative|is-routine|is-setting|is-win|item|\" +\n \"iterator|join|keep|kept|KERNELnames|key|keyof|keys|kill|kv|kxxv|l|lang|last|lastcall|later|\" +\n \"lazy|lc|leading|level|line|lines|link|listen|live|local|lock|log|log10|lookup|lsb|\" +\n \"MAIN|match|max|maxpairs|merge|message|method_table|methods|migrate|min|minmax|\" +\n \"minpairs|minute|misplaced|Mix|MixHash|mkdir|mode|modified|month|move|mro|msb|multiness|\" +\n \"name|named|named_names|narrow|nativecast|native-descriptor|nativesizeof|new|new_type|\" +\n \"new-from-daycount|new-from-pairs|next|nextcallee|next-handle|nextsame|nextwith|NFC|NFD|\" +\n \"NFKC|NFKD|nl-in|nl-out|nodemap|none|norm|not|note|now|nude|numerator|Numeric|of|\" +\n \"offset|offset-in-hours|offset-in-minutes|old|on-close|one|on-switch|open|opened|\" +\n \"operation|optional|ord|ords|orig|os-error|osname|out-buffer|pack|package|package-kind|\" +\n \"package-name|packages|pair|pairs|pairup|parameter|params|parent|parent-name|parents|parse|\" +\n \"parse-base|parsefile|parse-names|parts|path|path-sep|payload|peer-host|peer-port|periods|\" +\n \"perl|permutations|phaser|pick|pickpairs|pid|placeholder|plus|polar|poll|polymod|pop|pos|\" +\n \"positional|posix|postfix|postmatch|precomp-ext|precomp-target|pred|prefix|prematch|prepend|\" +\n \"print|printf|print-nl|print-to|private|private_method_table|proc|produce|Promise|prompt|\" +\n \"protect|pull-one|push|push-all|push-at-least|push-exactly|push-until-lazy|put|\" +\n \"qualifier-type|quit|r|race|radix|raku|rand|range|raw|re|read|readchars|readonly|\" +\n \"ready|Real|reallocate|reals|reason|rebless|receive|recv|redispatcher|redo|reduce|\" +\n \"rel2abs|relative|release|rename|repeated|replacement|report|reserved|resolve|\" +\n \"restore|result|resume|rethrow|reverse|right|rindex|rmdir|roles_to_compose|\" +\n \"rolish|roll|rootdir|roots|rotate|rotor|round|roundrobin|routine-type|run|rwx|s|\" +\n \"samecase|samemark|samewith|say|schedule-on|scheduler|scope|sec|sech|second|seek|\" +\n \"self|send|Set|set_hidden|set_name|set_package|set_rw|set_value|SetHash|\" +\n \"set-instruments|setup_finalization|shape|share|shell|shift|sibling|sigil|\" +\n \"sign|signal|signals|signature|sin|sinh|sink|sink-all|skip|skip-at-least|\" +\n \"skip-at-least-pull-one|skip-one|sleep|sleep-timer|sleep-until|Slip|slurp|\" +\n \"slurp-rest|slurpy|snap|snapper|so|socket-host|socket-port|sort|source|\" +\n \"source-package|spawn|SPEC|splice|split|splitdir|splitpath|sprintf|spurt|\" +\n \"sqrt|squish|srand|stable|start|started|starts-with|status|stderr|stdout|\" +\n \"sub_signature|subbuf|subbuf-rw|subname|subparse|subst|subst-mutate|\" +\n \"substr|substr-eq|substr-rw|succ|sum|Supply|symlink|t|tail|take|take-rw|\" +\n \"tan|tanh|tap|target|target-name|tc|tclc|tell|then|throttle|throw|timezone|\" +\n \"tmpdir|to|today|toggle|to-posix|total|trailing|trans|tree|trim|trim-leading|\" +\n \"trim-trailing|truncate|truncated-to|trusts|try_acquire|trying|twigil|type|\" +\n \"type_captures|typename|uc|udp|uncaught_handler|unimatch|uniname|uninames|\" +\n \"uniparse|uniprop|uniprops|unique|unival|univals|unlink|unlock|unpack|unpolar|\" +\n \"unshift|unwrap|updir|USAGE|utc|val|value|values|VAR|variable|verbose-config|\" +\n \"version|VMnames|volume|vow|w|wait|warn|watch|watch-path|week|weekday-of-month|\" +\n \"week-number|week-year|WHAT|WHERE|WHEREFORE|WHICH|WHO|whole-second|WHY|\" +\n \"wordcase|words|workaround|wrap|write|write-to|yada|year|yield|yyyy-mm-dd|\" +\n \"z|zip|zip-latest|\" +\n \"plan|done-testing|bail-out|todo|skip|skip-rest|diag|subtest|pass|flunk|ok|\" +\n \"nok|cmp-ok|is-deeply|isnt|is-approx|like|unlike|use-ok|isa-ok|does-ok|\" +\n \"can-ok|dies-ok|lives-ok|eval-dies-ok|eval-lives-ok|throws-like|fails-like|\" +\n \"rw|required|native|repr|export|symbol\");\n var constants_ascii = (\"pi|Inf|tau|time\");\n var ops_txt = (\"eq|ne|gt|lt|le|ge|div|gcd|lcm|leg|cmp|ff|fff|\" +\n \"x|before|after|Z|X|and|or|andthen|notandthen|orelse|xor\");\n var keywordMapper = this.createKeywordMapper({\n \"keyword\": keywords,\n \"storage.type\": types,\n \"constant.language\": constants_ascii,\n \"support.function\": builtinFunctions,\n \"keyword.operator\": ops_txt\n }, \"identifier\");\n var moduleName = \"[a-zA-Z_][a-zA-Z_0-9:-]*\\\\b\";\n var hex = { token: \"constant.numeric\", regex: \"0x[0-9a-fA-F]+\\\\b\" };\n var num_rat = { token: \"constant.numeric\", regex: \"[+-.]?\\\\d[\\\\d_]*(?:(?:\\\\.\\\\d[\\\\d_]*)?(?:[eE][+-]?\\\\d[\\\\d_]*)?)?i?\\\\b\" };\n var booleans = { token: \"constant.language.boolean\", regex: \"(?:True|False)\\\\b\" };\n var versions = { token: \"constant.other\", regex: \"v[0-9](?:\\\\.[a-zA-Z0-9*])*\\\\b\" };\n var lang_keywords = { token: keywordMapper, regex: \"[a-zA-Z][\\\\:a-zA-Z0-9_-]*\\\\b\" };\n var variables = { token: \"variable.language\", regex: \"[$@%&][?*!.]?[a-zA-Z0-9_-]+\\\\b\" };\n var vars_special = { token: \"variable.language\", regex: \"\\\\$[/|!]?|@\\\\$/\" };\n var ops_char = { token: \"keyword.operator\", regex: \"=|<|>|\\\\+|\\\\*|-|/|~|%|\\\\?|!|\\\\^|\\\\.|\\\\:|\\\\,|\" +\n \"ยป|ยซ|\\\\||\\\\&|โš›|โˆ˜\" };\n var constants_unicode = { token: \"constant.language\", regex: \"๐‘’|ฯ€|ฯ„|โˆž\" };\n var qstrings = { token: \"string.quoted.single\", regex: \"['](?:(?:\\\\\\\\.)|(?:[^'\\\\\\\\]))*?[']\" };\n var word_quoting = { token: \"string.quoted.single\", regex: \"[<](?:[a-zA-Z0-9 ])*[>]\" };\n var regexp = {\n token: \"string.regexp\",\n regex: \"[m|rx]?[/](?:(?:\\\\[(?:\\\\\\\\]|[^\\\\]])+\\\\])|(?:\\\\\\\\/|[^\\\\]/]))*[/]\\\\w*\\\\s*(?=[).,;]|$)\"\n };\n this.$rules = {\n \"start\": [\n {\n token: \"comment.block\",\n regex: \"#[`|=]\\\\(.*\\\\)\"\n }, {\n token: \"comment.block\",\n regex: \"#[`|=]\\\\[.*\\\\]\"\n }, {\n token: \"comment.doc\",\n regex: \"^=(?:begin)\\\\b\",\n next: \"block_comment\"\n }, {\n token: \"string.unquoted\",\n regex: \"q[x|w]?\\\\:to/END/;\",\n next: \"qheredoc\"\n }, {\n token: \"string.unquoted\",\n regex: \"qq[x|w]?\\\\:to/END/;\",\n next: \"qqheredoc\"\n },\n regexp,\n qstrings,\n {\n token: \"string.quoted.double\",\n regex: '\"',\n next: \"qqstring\"\n },\n word_quoting,\n {\n token: [\"keyword\", \"text\", \"variable.module\"],\n regex: \"(use)(\\\\s+)((?:\" + moduleName + \"\\\\.?)*)\"\n },\n hex,\n num_rat,\n booleans,\n versions,\n lang_keywords,\n variables,\n vars_special,\n ops_char,\n constants_unicode,\n {\n token: \"comment\",\n regex: \"#.*$\"\n }, {\n token: \"lparen\",\n regex: \"[[({]\"\n }, {\n token: \"rparen\",\n regex: \"[\\\\])}]\"\n }, {\n token: \"text\",\n regex: \"\\\\s+\"\n }\n ],\n \"qqstring\": [\n {\n token: \"constant.language.escape\",\n regex: '\\\\\\\\(?:[nrtef\\\\\\\\\"$]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2})'\n },\n variables,\n vars_special,\n {\n token: \"lparen\",\n regex: \"{\",\n next: \"qqinterpolation\"\n }, {\n token: \"string.quoted.double\",\n regex: '\"',\n next: \"start\"\n }, {\n defaultToken: \"string.quoted.double\"\n }\n ],\n \"qqinterpolation\": [\n hex,\n num_rat,\n booleans,\n versions,\n lang_keywords,\n variables,\n vars_special,\n ops_char,\n constants_unicode,\n qstrings,\n regexp,\n {\n token: \"rparen\",\n regex: \"}\",\n next: \"qqstring\"\n }\n ],\n \"block_comment\": [\n {\n token: \"comment.doc\",\n regex: \"^=end +[a-zA-Z_0-9]*\",\n next: \"start\"\n },\n {\n defaultToken: \"comment.doc\"\n }\n ],\n \"qheredoc\": [\n {\n token: \"string.unquoted\",\n regex: \"END$\",\n next: \"start\"\n }, {\n defaultToken: \"string.unquoted\"\n }\n ],\n \"qqheredoc\": [\n variables,\n vars_special,\n {\n token: \"lparen\",\n regex: \"{\",\n next: \"qqheredocinterpolation\"\n }, {\n token: \"string.unquoted\",\n regex: \"END$\",\n next: \"start\"\n }, {\n defaultToken: \"string.unquoted\"\n }\n ],\n \"qqheredocinterpolation\": [\n hex,\n num_rat,\n booleans,\n versions,\n lang_keywords,\n variables,\n vars_special,\n ops_char,\n constants_unicode,\n qstrings,\n regexp,\n {\n token: \"rparen\",\n regex: \"}\",\n next: \"qqheredoc\"\n }\n ]\n };\n};\noop.inherits(RakuHighlightRules, TextHighlightRules);\nexports.RakuHighlightRules = RakuHighlightRules;\n\n});\n\nace.define(\"ace/mode/matching_brace_outdent\",[\"require\",\"exports\",\"module\",\"ace/range\"], function(require, exports, module){\"use strict\";\nvar Range = require(\"../range\").Range;\nvar MatchingBraceOutdent = function () { };\n(function () {\n this.checkOutdent = function (line, input) {\n if (!/^\\s+$/.test(line))\n return false;\n return /^\\s*\\}/.test(input);\n };\n this.autoOutdent = function (doc, row) {\n var line = doc.getLine(row);\n var match = line.match(/^(\\s*\\})/);\n if (!match)\n return 0;\n var column = match[1].length;\n var openBracePos = doc.findMatchingBracket({ row: row, column: column });\n if (!openBracePos || openBracePos.row == row)\n return 0;\n var indent = this.$getIndent(doc.getLine(openBracePos.row));\n doc.replace(new Range(row, 0, row, column - 1), indent);\n };\n this.$getIndent = function (line) {\n return line.match(/^\\s*/)[0];\n };\n}).call(MatchingBraceOutdent.prototype);\nexports.MatchingBraceOutdent = MatchingBraceOutdent;\n\n});\n\nace.define(\"ace/mode/folding/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../../lib/oop\");\nvar Range = require(\"../../range\").Range;\nvar BaseFoldMode = require(\"./fold_mode\").FoldMode;\nvar FoldMode = exports.FoldMode = function (commentRegex) {\n if (commentRegex) {\n this.foldingStartMarker = new RegExp(this.foldingStartMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.start));\n this.foldingStopMarker = new RegExp(this.foldingStopMarker.source.replace(/\\|[^|]*?$/, \"|\" + commentRegex.end));\n }\n};\noop.inherits(FoldMode, BaseFoldMode);\n(function () {\n this.foldingStartMarker = /([\\{\\[\\(])[^\\}\\]\\)]*$|^\\s*(\\/\\*)/;\n this.foldingStopMarker = /^[^\\[\\{\\(]*([\\}\\]\\)])|^[\\s\\*]*(\\*\\/)/;\n this.singleLineBlockCommentRe = /^\\s*(\\/\\*).*\\*\\/\\s*$/;\n this.tripleStarBlockCommentRe = /^\\s*(\\/\\*\\*\\*).*\\*\\/\\s*$/;\n this.startRegionRe = /^\\s*(\\/\\*|\\/\\/)#?region\\b/;\n this._getFoldWidgetBase = this.getFoldWidget;\n this.getFoldWidget = function (session, foldStyle, row) {\n var line = session.getLine(row);\n if (this.singleLineBlockCommentRe.test(line)) {\n if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))\n return \"\";\n }\n var fw = this._getFoldWidgetBase(session, foldStyle, row);\n if (!fw && this.startRegionRe.test(line))\n return \"start\"; // lineCommentRegionStart\n return fw;\n };\n this.getFoldWidgetRange = function (session, foldStyle, row, forceMultiline) {\n var line = session.getLine(row);\n if (this.startRegionRe.test(line))\n return this.getCommentRegionBlock(session, line, row);\n var match = line.match(this.foldingStartMarker);\n if (match) {\n var i = match.index;\n if (match[1])\n return this.openingBracketBlock(session, match[1], row, i);\n var range = session.getCommentFoldRange(row, i + match[0].length, 1);\n if (range && !range.isMultiLine()) {\n if (forceMultiline) {\n range = this.getSectionRange(session, row);\n }\n else if (foldStyle != \"all\")\n range = null;\n }\n return range;\n }\n if (foldStyle === \"markbegin\")\n return;\n var match = line.match(this.foldingStopMarker);\n if (match) {\n var i = match.index + match[0].length;\n if (match[1])\n return this.closingBracketBlock(session, match[1], row, i);\n return session.getCommentFoldRange(row, i, -1);\n }\n };\n this.getSectionRange = function (session, row) {\n var line = session.getLine(row);\n var startIndent = line.search(/\\S/);\n var startRow = row;\n var startColumn = line.length;\n row = row + 1;\n var endRow = row;\n var maxRow = session.getLength();\n while (++row < maxRow) {\n line = session.getLine(row);\n var indent = line.search(/\\S/);\n if (indent === -1)\n continue;\n if (startIndent > indent)\n break;\n var subRange = this.getFoldWidgetRange(session, \"all\", row);\n if (subRange) {\n if (subRange.start.row <= startRow) {\n break;\n }\n else if (subRange.isMultiLine()) {\n row = subRange.end.row;\n }\n else if (startIndent == indent) {\n break;\n }\n }\n endRow = row;\n }\n return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);\n };\n this.getCommentRegionBlock = function (session, line, row) {\n var startColumn = line.search(/\\s*$/);\n var maxRow = session.getLength();\n var startRow = row;\n var re = /^\\s*(?:\\/\\*|\\/\\/|--)#?(end)?region\\b/;\n var depth = 1;\n while (++row < maxRow) {\n line = session.getLine(row);\n var m = re.exec(line);\n if (!m)\n continue;\n if (m[1])\n depth--;\n else\n depth++;\n if (!depth)\n break;\n }\n var endRow = row;\n if (endRow > startRow) {\n return new Range(startRow, startColumn, endRow, line.length);\n }\n };\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/raku\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/raku_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/mode/folding/cstyle\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextMode = require(\"./text\").Mode;\nvar RakuHighlightRules = require(\"./raku_highlight_rules\").RakuHighlightRules;\nvar MatchingBraceOutdent = require(\"./matching_brace_outdent\").MatchingBraceOutdent;\nvar CStyleFoldMode = require(\"./folding/cstyle\").FoldMode;\nvar Mode = function () {\n this.HighlightRules = RakuHighlightRules;\n this.$outdent = new MatchingBraceOutdent();\n this.foldingRules = new CStyleFoldMode({ start: \"^=(begin)\\\\b\", end: \"^=(end)\\\\b\" });\n this.$behaviour = this.$defaultBehaviour;\n};\noop.inherits(Mode, TextMode);\n(function () {\n this.lineCommentStart = \"#\";\n this.blockComment = [\n { start: \"=begin\", end: \"=end\", lineStartOnly: true },\n { start: \"=item\", end: \"=end\", lineStartOnly: true }\n ];\n this.getNextLineIndent = function (state, line, tab) {\n var indent = this.$getIndent(line);\n var tokenizedLine = this.getTokenizer().getLineTokens(line, state);\n var tokens = tokenizedLine.tokens;\n if (tokens.length && tokens[tokens.length - 1].type == \"comment\") {\n return indent;\n }\n if (state == \"start\") {\n var match = line.match(/^.*[\\{\\(\\[:]\\s*$/);\n if (match) {\n indent += tab;\n }\n }\n return indent;\n };\n this.checkOutdent = function (state, line, input) {\n return this.$outdent.checkOutdent(line, input);\n };\n this.autoOutdent = function (state, doc, row) {\n this.$outdent.autoOutdent(doc, row);\n };\n this.$id = \"ace/mode/raku\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/raku\"], function(m) {\n if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n module.exports = m;\n }\n });\n })();\n "],"names":["require","exports","module","oop","TextHighlightRules","RakuHighlightRules","keywords","types","builtinFunctions","constants_ascii","ops_txt","keywordMapper","moduleName","hex","num_rat","booleans","versions","lang_keywords","variables","vars_special","ops_char","constants_unicode","qstrings","word_quoting","regexp","Range","MatchingBraceOutdent","line","input","doc","row","match","column","openBracePos","indent","BaseFoldMode","FoldMode","commentRegex","session","foldStyle","fw","forceMultiline","i","range","startIndent","startRow","startColumn","endRow","maxRow","subRange","re","depth","TextMode","CStyleFoldMode","Mode","state","tab","tokenizedLine","tokens","m"],"mappings":"gaAAA,IAAI,OAAO,gCAAgC,CAAC,UAAU,UAAU,SAAS,cAAc,+BAA+B,EAAG,SAASA,EAASC,EAASC,EAAO,CAC3J,IAAIC,EAAMH,EAAQ,YAAY,EAC1BI,EAAqBJ,EAAQ,wBAAwB,EAAE,mBACvDK,EAAqB,UAAY,CACjC,IAAIC,EAAY,8aAMZC,EAAS,ooIAoDTC,EAAoB,i6LA8EpBC,EAAmB,kBACnBC,EAAW,uGAEXC,EAAgB,KAAK,oBAAoB,CACzC,QAAWL,EACX,eAAgBC,EAChB,oBAAqBE,EACrB,mBAAoBD,EACpB,mBAAoBE,CACvB,EAAE,YAAY,EACXE,EAAa,8BACbC,EAAM,CAAE,MAAO,mBAAoB,MAAO,mBAAmB,EAC7DC,EAAU,CAAE,MAAO,mBAAoB,MAAO,sEAAsE,EACpHC,EAAW,CAAE,MAAO,4BAA6B,MAAO,mBAAmB,EAC3EC,EAAW,CAAE,MAAO,iBAAkB,MAAO,+BAA+B,EAC5EC,EAAgB,CAAE,MAAON,EAAe,MAAO,8BAA8B,EAC7EO,EAAY,CAAE,MAAO,oBAAqB,MAAO,gCAAgC,EACjFC,EAAe,CAAE,MAAO,oBAAqB,MAAO,iBAAiB,EACrEC,EAAW,CAAE,MAAO,mBAAoB,MAAO,+DAE/CC,EAAoB,CAAE,MAAO,oBAAqB,MAAO,UAAU,EACnEC,EAAW,CAAE,MAAO,uBAAwB,MAAO,oCAAoC,EACvFC,EAAe,CAAE,MAAO,uBAAwB,MAAO,yBAAyB,EAChFC,EAAS,CACT,MAAO,gBACP,MAAO,qFACf,EACI,KAAK,OAAS,CACV,MAAS,CACL,CACI,MAAO,gBACP,MAAO,gBACvB,EAAe,CACC,MAAO,gBACP,MAAO,gBACvB,EAAe,CACC,MAAO,cACP,MAAO,iBACP,KAAM,eACtB,EAAe,CACC,MAAO,kBACP,MAAO,qBACP,KAAM,UACtB,EAAe,CACC,MAAO,kBACP,MAAO,sBACP,KAAM,WACT,EACDA,EACAF,EACA,CACI,MAAO,uBACP,MAAO,IACP,KAAM,UACT,EACDC,EACA,CACI,MAAO,CAAC,UAAW,OAAQ,iBAAiB,EAC5C,MAAO,kBAAoBX,EAAa,SAC3C,EACDC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACA,CACI,MAAO,UACP,MAAO,MACvB,EAAe,CACC,MAAO,SACP,MAAO,OACvB,EAAe,CACC,MAAO,SACP,MAAO,SACvB,EAAe,CACC,MAAO,OACP,MAAO,MACV,CACJ,EACD,SAAY,CACR,CACI,MAAO,2BACP,MAAO,oDACV,EACDH,EACAC,EACA,CACI,MAAO,SACP,MAAO,IACP,KAAM,iBACtB,EAAe,CACC,MAAO,uBACP,MAAO,IACP,KAAM,OACtB,EAAe,CACC,aAAc,sBACjB,CACJ,EACD,gBAAmB,CACfN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACA,CACI,MAAO,SACP,MAAO,IACP,KAAM,UACT,CACJ,EACD,cAAiB,CACb,CACI,MAAO,cACP,MAAO,uBACP,KAAM,OACT,EACD,CACI,aAAc,aACjB,CACJ,EACD,SAAY,CACR,CACI,MAAO,kBACP,MAAO,OACP,KAAM,OACtB,EAAe,CACC,aAAc,iBACjB,CACJ,EACD,UAAa,CACTN,EACAC,EACA,CACI,MAAO,SACP,MAAO,IACP,KAAM,wBACtB,EAAe,CACC,MAAO,kBACP,MAAO,OACP,KAAM,OACtB,EAAe,CACC,aAAc,iBACjB,CACJ,EACD,uBAA0B,CACtBN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACA,CACI,MAAO,SACP,MAAO,IACP,KAAM,WACT,CACJ,CACT,CACA,EACArB,EAAI,SAASE,EAAoBD,CAAkB,EACnDH,EAAQ,mBAAqBI,CAE7B,CAAC,EAED,IAAI,OAAO,kCAAkC,CAAC,UAAU,UAAU,SAAS,WAAW,EAAG,SAASL,EAASC,EAASC,EAAO,CAC3H,IAAIuB,EAAQzB,EAAQ,UAAU,EAAE,MAC5B0B,EAAuB,UAAY,IACtC,UAAY,CACT,KAAK,aAAe,SAAUC,EAAMC,EAAO,CACvC,MAAK,QAAQ,KAAKD,CAAI,EAEf,SAAS,KAAKC,CAAK,EADf,EAEnB,EACI,KAAK,YAAc,SAAUC,EAAKC,EAAK,CA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","x_google_ignoreList":[0]}