CoffeeScript = require './coffeescript'
-CoffeeScript.require = require
compile = CoffeeScript.compile
diff --git a/docs/v2/annotated-source/browser.html b/docs/v2/annotated-source/browser.html index 23d7e7b6f2..d840de3e95 100644 --- a/docs/v2/annotated-source/browser.html +++ b/docs/v2/annotated-source/browser.html @@ -124,7 +124,6 @@
CoffeeScript = require './coffeescript'
-CoffeeScript.require = require
compile = CoffeeScript.compile
If we’re not in a browser environment, we’re finished with the public API.
+Export this more limited CoffeeScript
than what is exported by
+index.coffee
, which is intended for a Node environment.
return unless window?
module.exports = CoffeeScript
If we’re not in a browser environment, we’re finished with the public API.
+ + + +return unless window?
Include source maps where possible. If we’ve got a base64 encoder, a JSON serializer, and tools for escaping unicode characters, we’re good to go. Ported from https://developer.mozilla.org/en-US/docs/DOM/window.btoa
@@ -200,11 +215,11 @@Load a remote script from the current domain via XHR.
@@ -231,11 +246,11 @@Activate CoffeeScript in the browser by having it compile and evaluate
all script tags with a content-type of text/coffeescript
.
@@ -273,11 +288,11 @@
options.filename
defines the filename the source map appears as
in Developer Tools. If a script tag has an id
, use that as the
@@ -296,11 +311,11 @@
Listen for window load, both in decent browsers and in IE.
diff --git a/docs/v2/annotated-source/cake.html b/docs/v2/annotated-source/cake.html index 5c5c71618d..11ad48b581 100644 --- a/docs/v2/annotated-source/cake.html +++ b/docs/v2/annotated-source/cake.html @@ -141,7 +141,7 @@
-fs = require 'fs'
-vm = require 'vm'
-path = require 'path'
{Lexer} = require './lexer'
{parser} = require './parser'
helpers = require './helpers'
@@ -493,13 +490,16 @@ coffeescript.coffee
- Compile and execute a string of CoffeeScript (on the server), correctly
-setting __filename
, __dirname
, and relative require()
.
+ This file used to export these methods; leave stubs that throw warnings
+instead. These methods have been moved into index.coffee
to provide
+separate entrypoints for Node and non-Node environments, so that static
+analysis tools don’t choke on Node packages when compiling for a non-Node
+environment.
exports.run = (code, options = {}) ->
- mainModule = require.main
exports.run = exports.eval = exports.register = ->
+ throw new Error 'require index.coffee, not this file'
Set the filename.
- - mainModule.filename = process.argv[1] =
- if options.filename then fs.realpathSync(options.filename) else '<anonymous>'
Clear the module cache.
- - mainModule.moduleCache and= {}
Assign paths for node_modules loading
- - dir = if options.filename?
- path.dirname fs.realpathSync options.filename
- else
- fs.realpathSync '.'
- mainModule.paths = require('module')._nodeModulePaths dir
Compile.
- - if not helpers.isCoffee(mainModule.filename) or require.extensions
- answer = compile code, options
- code = answer.js ? answer
-
- mainModule._compile code, mainModule.filename
Compile and evaluate a string of CoffeeScript (in a Node.js-like environment). -The CoffeeScript REPL uses this to run the input.
- -exports.eval = (code, options = {}) ->
- return unless code = code.trim()
- createContext = vm.Script.createContext ? vm.createContext
-
- isContext = vm.isContext ? (ctx) ->
- options.sandbox instanceof createContext().constructor
-
- if createContext
- if options.sandbox?
- if isContext options.sandbox
- sandbox = options.sandbox
- else
- sandbox = createContext()
- sandbox[k] = v for own k, v of options.sandbox
- sandbox.global = sandbox.root = sandbox.GLOBAL = sandbox
- else
- sandbox = global
- sandbox.__filename = options.filename || 'eval'
- sandbox.__dirname = path.dirname sandbox.__filename
define module/require only if they chose not to specify their own
- - unless sandbox isnt global or sandbox.module or sandbox.require
- Module = require 'module'
- sandbox.module = _module = new Module(options.modulename || 'eval')
- sandbox.require = _require = (path) -> Module._load path, _module, true
- _module.filename = sandbox.__filename
- for r in Object.getOwnPropertyNames require when r not in ['paths', 'arguments', 'caller']
- _require[r] = require[r]
use the same hack node currently uses for their own REPL
- - _require.paths = _module.paths = Module._nodeModulePaths process.cwd()
- _require.resolve = (request) -> Module._resolveFilename request, _module
- o = {}
- o[k] = v for own k, v of options
- o.bare = on # ensure return value
- js = compile code, o
- if sandbox is global
- vm.runInThisContext js
- else
- vm.runInContext js, sandbox
-
-exports.register = -> require './register'
Throw error with deprecation warning when depending upon implicit require.extensions
registration
if require.extensions
- for ext in @FILE_EXTENSIONS then do (ext) ->
- require.extensions[ext] ?= ->
- throw new Error """
- Use CoffeeScript.register() or require the coffeescript/register module to require #{ext} files.
- """
-
-exports._compileFile = (filename, sourceMap = no, inlineMap = no) ->
- raw = fs.readFileSync filename, 'utf8'
Strip the Unicode byte order mark, if this file begins with one.
- - stripped = if raw.charCodeAt(0) is 0xFEFF then raw.substring 1 else raw
-
- try
- answer = compile stripped, {
- filename, sourceMap, inlineMap
- sourceFiles: [filename]
- literate: helpers.isLiterate filename
- }
- catch err
As the filename and code of a dynamically loaded file will be different -from the original file compiled with CoffeeScript.run, add that -information to error so it can be pretty-printed later.
- - throw helpers.updateSyntaxError err, stripped, filename
-
- answer
Instantiate a Lexer for our use here.
The real Lexer produces a generic stream of tokens. This object provides a thin wrapper around it, compatible with the Jison API. We can then pass it @@ -766,11 +551,11 @@
Make all the AST nodes visible to the parser.
@@ -781,11 +566,11 @@Override Jison’s default error handling function.
@@ -796,11 +581,11 @@Disregard Jison’s message, it contains redundant line number information. Disregard the token, we take its value directly from the lexer in case @@ -824,11 +609,11 @@
The second argument has a loc
property, which should have the location
data for this token. Unfortunately, Jison seems to send an outdated loc
@@ -842,11 +627,11 @@
Based on http://v8.googlecode.com/svn/branches/bleeding_edge/src/messages.js Modified to handle sourceMap
@@ -874,11 +659,11 @@Check for a sourceMap position
@@ -923,11 +708,11 @@CoffeeScript compiled in a browser may get compiled with options.filename
of <anonymous>
, but the browser may request the stack trace with the
@@ -949,11 +734,11 @@
Based on michaelficarra/CoffeeScriptRedux NodeJS / V8 have no support for transforming positions in stack traces using diff --git a/docs/v2/annotated-source/command.html b/docs/v2/annotated-source/command.html index b237edeec9..d61c417c11 100644 --- a/docs/v2/annotated-source/command.html +++ b/docs/v2/annotated-source/command.html @@ -140,7 +140,7 @@
All runtime functions we need are defined on “yy”
+All runtime functions we need are defined on yy
Returns a function which adds location data to the first parameter passed -in, and returns the parameter. If the parameter is not a node, it will +in, and returns the parameter. If the parameter is not a node, it will just be passed through unaffected.
"Expression UNLESS Expression"
+'Expression UNLESS Expression'
$1
would be the value of the first Expression
, $2
would be the token
for the UNLESS
terminal, and $3
would be the value of the second
Expression
.
@@ -1590,7 +1590,6 @@ Grammatical Rules
INDENT Expression OUTDENT', -> new Assign $1, $4, $2
o 'SimpleAssignable COMPOUND_ASSIGN TERMINATOR
Expression', -> new Assign $1, $4, $2
- o 'SimpleAssignable EXTENDS Expression', -> new Extends $1, $3
]
-md = require('markdown-it')()
Simple function for extracting code from Literate CoffeeScript by stripping +
Helper function for extracting code from Literate CoffeeScript by stripping out all non-code blocks, producing a string of CoffeeScript code that can -be compiled “normally.” Uses MarkdownIt -to tell the difference between Markdown and code blocks.
+be compiled “normally.”exports.invertLiterate = (code) ->
out = []
- md.renderer.rules =
Delete all other rules, since all we want are the code blocks.
- - - - code_block: (tokens, idx, options, env, slf) ->
- startLine = tokens[idx].map[0]
- lines = tokens[idx].content.split '\n'
- for line, i in lines
- out[startLine + i] = line
- md.render code
- out.join '\n'
Merge two jison-style location data objects together.
If last
is not provided, this will simply return first
.
This returns a function which takes an object as a parameter, and if that object is an AST node, updates that object’s locationData. @@ -411,11 +409,11 @@
Convert jison location data to a string.
obj
can be a token, or a locationData.
A .coffee.md
compatible version of basename
, that returns the file sans-extension.
Determine if a filename represents a CoffeeScript file.
@@ -473,11 +471,11 @@Determine if a filename represents a Literate CoffeeScript file.
@@ -488,11 +486,11 @@Throws a SyntaxError from a given location.
The error’s toString
will return an error message following the “standard”
@@ -509,11 +507,11 @@
Instead of showing the compiler’s stacktrace, show our custom error message (this is useful when the error bubbles up in Node.js applications that @@ -528,11 +526,11 @@
Update a compiler SyntaxError with source code information if it didn’t have it already.
@@ -544,11 +542,11 @@Avoid screwing up the stack
property of other errors (i.e. possible bugs).
Show only the first line on multi-line errors.
@@ -590,11 +588,11 @@Check to see if we’re running on a color-enabled TTY.
diff --git a/docs/v2/annotated-source/index.html b/docs/v2/annotated-source/index.html index cf0706513c..9543d882ae 100644 --- a/docs/v2/annotated-source/index.html +++ b/docs/v2/annotated-source/index.html @@ -115,11 +115,251 @@Loader for CoffeeScript as a Node.js library.
+Node.js Implementation
exports[key] = val for key, val of require './coffeescript'
CoffeeScript = require './coffeescript'
+fs = require 'fs'
+vm = require 'vm'
+path = require 'path'
+
+helpers = CoffeeScript.helpers
+compile = CoffeeScript.compile
Compile and execute a string of CoffeeScript (on the server), correctly
+setting __filename
, __dirname
, and relative require()
.
CoffeeScript.run = (code, options = {}) ->
+ mainModule = require.main
Set the filename.
+ + mainModule.filename = process.argv[1] =
+ if options.filename then fs.realpathSync(options.filename) else '<anonymous>'
Clear the module cache.
+ + mainModule.moduleCache and= {}
Assign paths for node_modules loading
+ + dir = if options.filename?
+ path.dirname fs.realpathSync options.filename
+ else
+ fs.realpathSync '.'
+ mainModule.paths = require('module')._nodeModulePaths dir
Compile.
+ + if not helpers.isCoffee(mainModule.filename) or require.extensions
+ answer = compile code, options
+ code = answer.js ? answer
+
+ mainModule._compile code, mainModule.filename
Compile and evaluate a string of CoffeeScript (in a Node.js-like environment). +The CoffeeScript REPL uses this to run the input.
+ +CoffeeScript.eval = (code, options = {}) ->
+ return unless code = code.trim()
+ createContext = vm.Script.createContext ? vm.createContext
+
+ isContext = vm.isContext ? (ctx) ->
+ options.sandbox instanceof createContext().constructor
+
+ if createContext
+ if options.sandbox?
+ if isContext options.sandbox
+ sandbox = options.sandbox
+ else
+ sandbox = createContext()
+ sandbox[k] = v for own k, v of options.sandbox
+ sandbox.global = sandbox.root = sandbox.GLOBAL = sandbox
+ else
+ sandbox = global
+ sandbox.__filename = options.filename || 'eval'
+ sandbox.__dirname = path.dirname sandbox.__filename
define module/require only if they chose not to specify their own
+ + unless sandbox isnt global or sandbox.module or sandbox.require
+ Module = require 'module'
+ sandbox.module = _module = new Module(options.modulename || 'eval')
+ sandbox.require = _require = (path) -> Module._load path, _module, true
+ _module.filename = sandbox.__filename
+ for r in Object.getOwnPropertyNames require when r not in ['paths', 'arguments', 'caller']
+ _require[r] = require[r]
use the same hack node currently uses for their own REPL
+ + _require.paths = _module.paths = Module._nodeModulePaths process.cwd()
+ _require.resolve = (request) -> Module._resolveFilename request, _module
+ o = {}
+ o[k] = v for own k, v of options
+ o.bare = on # ensure return value
+ js = compile code, o
+ if sandbox is global
+ vm.runInThisContext js
+ else
+ vm.runInContext js, sandbox
+
+CoffeeScript.register = -> require './register'
Throw error with deprecation warning when depending upon implicit require.extensions
registration
if require.extensions
+ for ext in CoffeeScript.FILE_EXTENSIONS then do (ext) ->
+ require.extensions[ext] ?= ->
+ throw new Error """
+ Use CoffeeScript.register() or require the coffeescript/register module to require #{ext} files.
+ """
+
+CoffeeScript._compileFile = (filename, sourceMap = no, inlineMap = no) ->
+ raw = fs.readFileSync filename, 'utf8'
Strip the Unicode byte order mark, if this file begins with one.
+ + stripped = if raw.charCodeAt(0) is 0xFEFF then raw.substring 1 else raw
+
+ try
+ answer = compile stripped, {
+ filename, sourceMap, inlineMap
+ sourceFiles: [filename]
+ literate: helpers.isLiterate filename
+ }
+ catch err
As the filename and code of a dynamically loaded file will be different +from the original file compiled with CoffeeScript.run, add that +information to error so it can be pretty-printed later.
+ + throw helpers.updateSyntaxError err, stripped, filename
+
+ answer
+
+module.exports = CoffeeScript
{count, starts, compact, repeat, invertLiterate,
-locationDataToString, throwSyntaxError} = require './helpers'
{count, starts, compact, repeat, invertLiterate, merge,
+locationDataToString, throwSyntaxError} = require './helpers'
Throw an error on attempts to use get
or set
as keywords, or
what CoffeeScript would normally interpret as calls to functions named
-get
or set
, i.e. get({foo: function () {}})
get
or set
, i.e. get({foo: function () {}})
.
Matches numbers, including decimals, hex, and exponential notation. -Be careful not to interfere with ranges-in-progress.
+Be careful not to interfere with ranges in progress.Matches strings, including multi-line strings, as well as heredocs, with or without +
Matches strings, including multiline strings, as well as heredocs, with or without interpolation.
Push a fake ‘NEOSTRING’ token, which will get turned into a real string later.
+Push a fake 'NEOSTRING'
token, which will get turned into a real string later.
Remove leading ‘TERMINATOR’ (if any).
+Remove leading 'TERMINATOR'
(if any).
Push a fake ‘TOKENS’ token, which will get turned into real tokens later.
+Push a fake 'TOKENS'
token, which will get turned into real tokens later.
Merge the array tokens
of the fake token types ‘TOKENS’ and ‘NEOSTRING’
+
Merge the array tokens
of the fake token types 'TOKENS'
and 'NEOSTRING'
(as returned by matchWithInterpolations
) into the token stream. The value
-of ‘NEOSTRING’s are converted using fn
and turned into strings using
+of 'NEOSTRING'
s are converted using fn
and turned into strings using
options
first.
Push all the tokens in the fake ‘TOKENS’ token. These already have +
Push all the tokens in the fake 'TOKENS'
token. These already have
sane location data.
Convert ‘NEOSTRING’ into ‘STRING’.
+Convert 'NEOSTRING'
into 'STRING'
.
converted = fn token[1], i
converted = fn.call this, token[1], i
Auto-close INDENT to support syntax like this:
+Auto-close INDENT
to support syntax like this:
el.click((event) ->
el.hide())
@@ -1451,7 +1456,7 @@ Returns the line and column number from an offset into the current chunk.
-offset
is a number of characters into @chunk.
offset
is a number of characters into @chunk
.
Same as “token”, exception this just returns the token without adding it +
Same as token
, except this just returns the token without adding it
to the results.
Add a token to the results.
-offset
is the offset into the current @chunk where the token starts.
-length
is the length of the token in the @chunk, after the offset. If
+offset
is the offset into the current @chunk
where the token starts.
+length
is the length of the token in the @chunk
, after the offset. If
not specified, the length of value
will be used.
Returns the new token.
@@ -1606,13 +1611,22 @@surrogate pair
+ + + + high = Math.floor((codePoint - 0x10000) / 0x400) + 0xD800
+ low = (codePoint - 0x10000) % 0x400 + 0xDC00
+ "#{toUnicodeEscape(high)}#{toUnicodeEscape(low)}"
Replace \u{...}
with \uxxxx[\uxxxx]
in regexes without u
flag
replaceUnicodeCodePointEscapes: (str, options) ->
+ shouldReplace = options.flags? and 'u' not in options.flags
+ str.replace UNICODE_CODE_POINT_ESCAPE, (match, escapedBackslash, codePointHex, offset) =>
+ return escapedBackslash if escapedBackslash
+
+ codePointDecimal = parseInt codePointHex, 16
+ if codePointDecimal > 0x10ffff
+ @error "unicode code point escapes greater than \\u{10ffff} are not allowed",
+ offset: offset + options.delimiter.length
+ length: codePointHex.length + 4
+ return match unless shouldReplace
+
+ @unicodeCodePointToUnicodeEscapes codePointDecimal
Validates escapes in strings and regexes.
Constructs a string or regex by escaping certain characters.
@@ -1662,22 +1720,22 @@ makeDelimitedLiteral: (body, options = {}) ->
body = '(?:)' if body is '' and options.delimiter is '/'
regex = ///
- (\\\\) # escaped backslash
- | (\\0(?=[1-7])) # nul character mistaken as octal escape
- | \\?(#{options.delimiter}) # (possibly escaped) delimiter
- | \\?(?: (\n)|(\r)|(\u2028)|(\u2029) ) # (possibly escaped) newlines
- | (\\.) # other escapes
+ (\\\\) # Escaped backslash.
+ | (\\0(?=[1-7])) # Null character mistaken as octal escape.
+ | \\?(#{options.delimiter}) # (Possibly escaped) delimiter.
+ | \\?(?: (\n)|(\r)|(\u2028)|(\u2029) ) # (Possibly escaped) newlines.
+ | (\\.) # Other escapes.
///g
body = body.replace regex, (match, backslash, nul, delimiter, lf, cr, ls, ps, other) -> switch
Ignore escaped backslashes.
@@ -1696,11 +1754,11 @@Throws an error at either a given offset from the current chunk or at the
location of a token (token[2]
).
from
isn’t a CoffeeScript keyword, but it behaves like one in import
and
export
statements (handled above) and in the declaration line of a for
@@ -1776,11 +1834,11 @@
for i from from
, for from from iterable
for i from iterable
for from…
for {from}…
, for [from]…
, for {a, from}…
, for {a: from}…
Keywords that CoffeeScript shares in common with JavaScript.
@@ -1889,11 +1947,11 @@CoffeeScript-only keywords.
@@ -1921,11 +1979,11 @@The list of keywords that are reserved by JavaScript, but not used, or are used by CoffeeScript internally. We throw an error when these are encountered, @@ -1944,11 +2002,11 @@
The superset of both JavaScript keywords and reserved words, none of which may be used as identifiers or properties.
@@ -1960,11 +2018,11 @@The character code of the nasty Microsoft madness otherwise known as the BOM.
@@ -1975,11 +2033,11 @@Token matching regexes.
@@ -2022,11 +2080,11 @@String-matching-regexes.
@@ -2040,8 +2098,8 @@Regex-matching-regexes.
@@ -2061,23 +2119,23 @@REGEX = /// ^
/ (?!/) ((
- ?: [^ [ / \n \\ ] # every other thing
- | \\[^\n] # anything but newlines escaped
- | \[ # character class
+ ?: [^ [ / \n \\ ] # Every other thing.
+ | \\[^\n] # Anything but newlines escaped.
+ | \[ # Character class.
(?: \\[^\n] | [^ \] \n \\ ] )*
\]
)*) (/)?
///
REGEX_FLAGS = /^\w*/
-VALID_FLAGS = /^(?!.*(.).*\1)[imgy]*$/
+VALID_FLAGS = /^(?!.*(.).*\1)[imguy]*$/
HEREGEX = /// ^(?: [^\\/#] | \\[\s\S] | /(?!//) | \#(?!\{) )* ///
HEREGEX_OMIT = ///
- ((?:\\\\)+) # consume (and preserve) an even number of backslashes
- | \\(\s) # preserve escaped whitespace
- | \s+(?:#.*)? # remove whitespace and comments
+ ((?:\\\\)+) # Consume (and preserve) an even number of backslashes.
+ | \\(\s) # Preserve escaped whitespace.
+ | \s+(?:#.*)? # Remove whitespace and comments.
///g
REGEX_ILLEGAL = /// ^ ( / | /{3}\s*) (\*) ///
@@ -2087,11 +2145,11 @@ Constants
-
Other regexes.
@@ -2102,22 +2160,30 @@Compound assignment tokens.
@@ -2144,11 +2210,11 @@Unary tokens.
@@ -2161,11 +2227,11 @@Bit-shifting tokens.
@@ -2176,11 +2242,11 @@Comparison tokens.
@@ -2191,11 +2257,11 @@Mathematical tokens.
@@ -2206,11 +2272,11 @@Relational tokens that are negatable with not
prefix.
Boolean tokens.
@@ -2236,11 +2302,11 @@Tokens which could legitimately be invoked or indexed. An opening parentheses or bracket following these tokens will be recorded as the start @@ -2257,11 +2323,11 @@
Tokens which a regular expression will never immediately follow (except spaced CALLABLEs in some cases), but which a division operator can.
@@ -2274,11 +2340,11 @@Tokens that, when immediately preceding a WHEN
, indicate that the WHEN
occurs at the start of a line. We disambiguate these from trailing whens to
@@ -2291,11 +2357,11 @@
Additional indent in front of these is ignored.
diff --git a/docs/v2/annotated-source/nodes.html b/docs/v2/annotated-source/nodes.html index 2bfbf5d1c3..8f18bdfa72 100644 --- a/docs/v2/annotated-source/nodes.html +++ b/docs/v2/annotated-source/nodes.html @@ -1045,7 +1045,6 @@exports.Value = class Value extends Base
constructor: (base, props, tag, isDefaultValue = no) ->
- return base if not props and base instanceof Value
-
super()
+ return base if not props and base instanceof Value
+
@base = base
@properties = props or []
@[tag] = yes if tag
@@ -2056,10 +2055,7 @@ Access
name = @name.compileToFragments o
node = @name.unwrap()
if node instanceof PropertyName
- if node.value in JS_FORBIDDEN
- [@makeCode('["'), name..., @makeCode('"]')]
- else
- [@makeCode('.'), name...]
+ [@makeCode('.'), name...]
else
[@makeCode('['), name..., @makeCode(']')]
@@ -2578,6 +2574,7 @@ Arr
for obj in @objects
unwrappedObj = obj.unwrapAll()
unwrappedObj.lhs = yes if unwrappedObj instanceof Arr or unwrappedObj instanceof Obj
+
compiledObjs = (obj.compileToFragments o, LEVEL_LIST for obj in @objects)
for fragments, index in compiledObjs
if index
@@ -2587,8 +2584,8 @@ Arr
answer.unshift @makeCode "[\n#{o.indent}"
answer.push @makeCode "\n#{@tab}]"
else
- answer.unshift @makeCode "["
- answer.push @makeCode "]"
+ answer.unshift @makeCode '['
+ answer.push @makeCode ']'
answer
assigns: (name) ->
@@ -2683,11 +2680,9 @@ Class
result
compileClassDeclaration: (o) ->
- @ctor ?= @makeDefaultConstructor() if @externalCtor or @boundMethods.length
+ @ctor ?= @makeDefaultConstructor() if @externalCtor
@ctor?.noReturn = true
- @proxyBoundMethods o if @boundMethods.length
-
o.indent += TAB
result = []
@@ -2735,7 +2730,6 @@ Class
walkBody: ->
@ctor = null
- @boundMethods = []
executableBody = null
initializer = []
@@ -2805,11 +2799,8 @@ Class
if method.ctor
method.error 'Cannot define more than one constructor in a class' if @ctor
@ctor = method
- else if method.bound and method.isStatic
+ else if method.isStatic and method.bound
method.context = @name
- else if method.bound
- @boundMethods.push method.name
- method.bound = false
if initializer.length isnt expressions.length
@body.expressions = (expression.hoist() for expression in initializer)
@@ -2882,7 +2873,7 @@ Class
method.name = new (if methodName.shouldCache() then Index else Access) methodName
method.name.updateLocationDataIfMissing methodName.locationData
method.ctor = (if @parent then 'derived' else 'base') if methodName.value is 'constructor'
- method.error 'Cannot define a constructor as a bound function' if method.bound and method.ctor
+ method.error 'Methods cannot be bound functions' if method.bound
method
@@ -2901,13 +2892,6 @@ Class
ctor
- proxyBoundMethods: (o) ->
- @ctor.thisAssignments = for name in @boundMethods by -1
- name = new Value(new ThisLiteral, [ name ]).compile o
- new Literal "#{name} = #{utility 'bind', o}(#{name}, this)"
-
- null
-
exports.ExecutableClassBody = class ExecutableClassBody extends Base
children: [ 'class', 'body' ]
@@ -3441,9 +3425,6 @@ Assign
if @variable.shouldCache()
compiledName.unshift @makeCode '['
compiledName.push @makeCode ']'
- else if fragmentsToText(compiledName) in JS_FORBIDDEN
- compiledName.unshift @makeCode '"'
- compiledName.push @makeCode '"'
return compiledName.concat @makeCode(": "), val
answer = compiledName.concat @makeCode(" #{ @context or '=' } "), val
exports.Op = class Op extends Base
constructor: (op, first, second, flip) ->
+ super()
+
return new In first, second if op is 'in'
if op is 'do'
return Op::generateDo first
@@ -4913,8 +4896,6 @@ Op
return first.newInstance() if first instanceof Call and not first.do and not first.isNew
first = new Parens first if first instanceof Code and first.bound or first.do
- super()
-
@operator = CONVERSIONS[op] or op
@first = first
@second = second
@@ -5512,7 +5493,8 @@ Parens
return expr.compileToFragments o
fragments = expr.compileToFragments o, LEVEL_PAREN
bare = o.level < LEVEL_OP and (expr instanceof Op or expr instanceof Call or
- (expr instanceof For and expr.returns))
+ (expr instanceof For and expr.returns)) and (o.level < LEVEL_COND or
+ fragments.length <= 3)
if bare then fragments else @wrapInParentheses fragments
-UTILITIES =
Correctly set up a prototype chain for inheritance, including a reference
-to the superclass for super()
calls, and copies of any static properties.
extend: (o) -> "
- function(child, parent) {
- for (var key in parent) {
- if (#{utility 'hasProp', o}.call(parent, key)) child[key] = parent[key];
- }
- function ctor() {
- this.constructor = child;
- }
- ctor.prototype = parent.prototype;
- child.prototype = new ctor();
- return child;
- }
- "
Create a function bound to the current value of “this”.
- - bind: -> '
- function(fn, me){
- return function(){
- return fn.apply(me, arguments);
- };
- }
- '
Discover if an item is in an array.
- - indexOf: -> "
- [].indexOf || function(item) {
- for (var i = 0, l = this.length; i < l; i++) {
- if (i in this && this[i] === item) return i;
- }
- return -1;
- }
- "
-
- modulo: -> """
- function(a, b) { return (+a % (b = +b) + b) % b; }
- """
Shortcuts to speed up the lookup time for native functions.
hasProp: -> '{}.hasOwnProperty'
- slice : -> '[].slice'
Levels indicate a node’s position in the AST. Useful for knowing if parens are necessary or superfluous.
@@ -6145,11 +6055,11 @@Tabs are two spaces for pretty printing.
@@ -6162,11 +6072,11 @@Helper for ensuring that utility functions are assigned at the top level.
@@ -6221,11 +6131,11 @@Unfold a node’s child if soak, then tuck the node under created If
CoffeeScript = require './coffeescript'
+ CoffeeScript = require './'
child_process = require 'child_process'
helpers = require './helpers'
path = require 'path'
diff --git a/docs/v2/annotated-source/repl.html b/docs/v2/annotated-source/repl.html
index af2e7c427f..8423e2a7e2 100644
--- a/docs/v2/annotated-source/repl.html
+++ b/docs/v2/annotated-source/repl.html
@@ -122,12 +122,14 @@ repl.coffee
path = require 'path'
vm = require 'vm'
nodeREPL = require 'repl'
-CoffeeScript = require './coffeescript'
+CoffeeScript = require './'
{merge, updateSyntaxError} = require './helpers'
replDefaults =
prompt: 'coffee> ',
- historyFile: path.join process.env.HOME, '.coffee_history' if process.env.HOME
+ historyFile: do ->
+ historyPath = process.env.XDG_CACHE_HOME or process.env.HOME
+ path.join historyPath, '.coffee_history' if historyPath
historyMaxInputSize: 10240
eval: (input, context, filename, cb) ->
class exports.Rewriter
exports.Rewriter = class Rewriter
Helpful snippet for debugging:
-console.log (t[0] + '/' + t[1] for t in @tokens).join ' '
-
+ Rewrite the token stream in multiple passes, one logical filter at +a time. This could certainly be changed into a single pass through the +stream, with a big ol’ efficient switch, but it’s much nicer to work with +like this. The order of these passes matters – indentation must be +corrected before implicit parentheses can be wrapped around blocks of code.
+ rewrite: (@tokens) ->
Rewrite the token stream in multiple passes, one logical filter at -a time. This could certainly be changed into a single pass through the -stream, with a big ol’ efficient switch, but it’s much nicer to work with -like this. The order of these passes matters – indentation must be -corrected before implicit parentheses can be wrapped around blocks of code.
+Helpful snippet for debugging: + console.log (t[0] + ‘/‘ + t[1] for t in @tokens).join ‘ ‘
rewrite: (@tokens) ->
- @removeLeadingNewlines()
+ @removeLeadingNewlines()
@closeOpenCalls()
@closeOpenIndexes()
@normalizeLines()
@@ -449,9 +450,12 @@ rewriter.coffee
- inImplicit = -> stackTop()?[2]?.ours
- inImplicitCall = -> inImplicit() and stackTop()?[0] is '('
- inImplicitObject = -> inImplicit() and stackTop()?[0] is '{'
+ isImplicit = (stackItem) -> stackItem?[2]?.ours
+ isImplicitObject = (stackItem) -> isImplicit(stackItem) and stackItem?[0] is '{'
+ isImplicitCall = (stackItem) -> isImplicit(stackItem) and stackItem?[0] is '('
+ inImplicit = -> isImplicit stackTop()
+ inImplicitCall = -> isImplicitCall stackTop()
+ inImplicitObject = -> isImplicitObject stackTop()
@@ -467,7 +471,7 @@ rewriter.coffee
- inImplicitControl = -> inImplicit and stackTop()?[0] is 'CONTROL'
+ inImplicitControl = -> inImplicit() and stackTop()?[0] is 'CONTROL'
startImplicitCall = (j) ->
idx = j ? i
@@ -509,7 +513,7 @@ rewriter.coffee
if inImplicitCall() and tag in ['IF', 'TRY', 'FINALLY', 'CATCH',
'CLASS', 'SWITCH']
- stack.push ['CONTROL', i, ours: true]
+ stack.push ['CONTROL', i, ours: yes]
return forward(1)
if tag is 'INDENT' and inImplicit()
@@ -734,8 +738,22 @@ rewriter.coffee
-
- stackTop()[2].sameLine = no if inImplicitObject() and tag in LINEBREAKS
+
+
+
+
+
+
+
+ ¶
+
+ Mark all enclosing objects as not sameLine
+
+
+
+ if tag in LINEBREAKS
+ for stackItem in stack by -1 when isImplicitObject stackItem
+ stackItem[2].sameLine = no
newLine = prevTag is 'OUTDENT' or prevToken.newLine
if tag in IMPLICIT_END or tag in CALL_CLOSERS and newLine
@@ -745,11 +763,11 @@ rewriter.coffee
-
+
Close implicit calls when reached end of argument list
@@ -761,11 +779,11 @@ rewriter.coffee
-
+
Close implicit objects such as:
return a: 1, b: 2 unless true
@@ -779,11 +797,11 @@ rewriter.coffee
-
+
Close implicit objects when at end of line, line didn’t end with a comma
and the implicit object didn’t start the line or the next line doesn’t look like
@@ -801,11 +819,11 @@
rewriter.coffee
-
+
Close implicit object if comma is the last character
and what comes after doesn’t look like it belongs.
@@ -826,11 +844,11 @@
rewriter.coffee
-
+
When nextTag is OUTDENT the comma is insignificant and
should just be ignored so embed it in the implicit object.
@@ -848,11 +866,11 @@ rewriter.coffee
-
+
Add location data to all tokens generated by the rewriter.
@@ -878,11 +896,11 @@ rewriter.coffee
-
+
OUTDENT tokens should always be positioned at the last character of the
previous token, so that AST nodes ending in an OUTDENT token end up with a
@@ -906,11 +924,11 @@
rewriter.coffee
-
+
Because our grammar is LALR(1), it can’t handle some single-line
expressions that lack ending delimiters. The Rewriter adds the implicit
@@ -928,7 +946,8 @@
rewriter.coffee
not (token[0] is 'TERMINATOR' and @tag(i + 1) in EXPRESSION_CLOSE) and
not (token[0] is 'ELSE' and starter isnt 'THEN') and
not (token[0] in ['CATCH', 'FINALLY'] and starter in ['->', '=>']) or
- token[0] in CALL_CLOSERS and @tokens[i - 1].newLine
+ token[0] in CALL_CLOSERS and
+ (@tokens[i - 1].newLine or @tokens[i - 1][0] is 'OUTDENT')
action = (token, i) ->
@tokens.splice (if @tag(i - 1) is ',' then i - 1 else i), 0, outdent
@@ -960,11 +979,11 @@ rewriter.coffee
-
+
Tag postfix conditionals as such, so that we can parse them with a
different precedence.
@@ -993,11 +1012,11 @@ rewriter.coffee
-
+
Generate the indentation tokens, based on another token on the same line.
@@ -1018,11 +1037,11 @@ rewriter.coffee
-
+
Look up a tag by token index.
@@ -1033,11 +1052,11 @@ rewriter.coffee
-
+
Constants
@@ -1046,11 +1065,11 @@ Constants
-
+
@@ -1058,11 +1077,11 @@ Constants
-
+
List of the token pairs that must be balanced.
@@ -1083,11 +1102,11 @@ Constants
-
+
The inverse mappings of BALANCED_PAIRS
we’re trying to fix up, so we can
look things up from either end.
@@ -1099,11 +1118,11 @@ Constants
-
+
The tokens that signal the start/end of a balanced pair.
@@ -1119,11 +1138,11 @@ Constants
-
+
Tokens that indicate the close of a clause of an expression.
@@ -1134,11 +1153,11 @@ Constants
-
+
Tokens that, if followed by an IMPLICIT_CALL
, indicate a function invocation.
@@ -1149,11 +1168,11 @@ Constants
-
+
If preceded by an IMPLICIT_FUNC
, indicates a function invocation.
@@ -1173,11 +1192,11 @@ Constants
-
+
Tokens that always mark the end of an implicit call for single-liners.
@@ -1189,11 +1208,11 @@ Constants
-
+
Single-line flavors of block expressions that have unclosed endings.
The grammar can’t disambiguate them, so we insert the implicit indentation.
@@ -1206,11 +1225,11 @@ Constants
-
+
Tokens that end a line.
@@ -1221,11 +1240,11 @@ Constants
-
+
Tokens that close open calls when they follow a newline.
diff --git a/docs/v2/browser-compiler/coffeescript.js b/docs/v2/browser-compiler/coffeescript.js
index 81cbb23d6b..8c9118bddb 100644
--- a/docs/v2/browser-compiler/coffeescript.js
+++ b/docs/v2/browser-compiler/coffeescript.js
@@ -1,7986 +1,8 @@
/**
- * CoffeeScript Compiler v2.0.0-beta1
+ * CoffeeScript Compiler v2.0.0-beta2
* http://coffeescript.org
*
* Copyright 2011, Jeremy Ashkenas
* Released under the MIT License
*/
-(function(root) {
- var CoffeeScript = function() {
- function require(path){ return require[path]; }
- require['../../package.json'] = (function() {
- return {
- "name": "coffeescript",
- "description": "Unfancy JavaScript",
- "keywords": [
- "javascript",
- "language",
- "coffeescript",
- "compiler"
- ],
- "author": "Jeremy Ashkenas",
- "version": "2.0.0-beta1",
- "license": "MIT",
- "engines": {
- "node": ">=7.6.0"
- },
- "directories": {
- "lib": "./lib/coffeescript"
- },
- "main": "./lib/coffeescript/coffeescript",
- "bin": {
- "coffee": "./bin/coffee",
- "cake": "./bin/cake"
- },
- "files": [
- "bin",
- "lib",
- "register.js",
- "repl.js"
- ],
- "preferGlobal": true,
- "scripts": {
- "test": "node ./bin/cake test",
- "test-harmony": "node --harmony ./bin/cake test"
- },
- "homepage": "http://coffeescript.org",
- "bugs": "https://github.com/jashkenas/coffeescript/issues",
- "repository": {
- "type": "git",
- "url": "git://github.com/jashkenas/coffeescript.git"
- },
- "devDependencies": {
- "docco": "~0.7.0",
- "google-closure-compiler-js": "^20170409.0.0",
- "highlight.js": "~9.10.0",
- "jison": ">=0.4.17",
- "underscore": "~1.8.3"
- },
- "dependencies": {
- "markdown-it": "^8.3.1"
- }
-}
-;
-})();require['markdown-it'] = (function() {
- var exports = {}, module = {exports: exports};
- /*! markdown-it 8.3.1 https://github.com//markdown-it/markdown-it @license MIT */
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r;r="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,r.markdownit=e()}}(function(){var e;return function e(r,t,n){function s(i,a){if(!t[i]){if(!r[i]){var c="function"==typeof require&&require;if(!a&&c)return c(i,!0);if(o)return o(i,!0);var l=new Error("Cannot find module '"+i+"'");throw l.code="MODULE_NOT_FOUND",l}var u=t[i]={exports:{}};r[i][0].call(u.exports,function(e){var t=r[i][1][e];return s(t?t:e)},u,u.exports,e,r,t,n)}return t[i].exports}for(var o="function"==typeof require&&require,i=0;i`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",s="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",o=new RegExp("^(?:"+n+"|"+s+"|||<[?].*?[?]>|]*>|)"),i=new RegExp("^(?:"+n+"|"+s+")");r.exports.HTML_TAG_RE=o,r.exports.HTML_OPEN_CLOSE_TAG_RE=i},{}],4:[function(e,r,t){"use strict";function n(e){return Object.prototype.toString.call(e)}function s(e){return"[object String]"===n(e)}function o(e,r){return y.call(e,r)}function i(e){return Array.prototype.slice.call(arguments,1).forEach(function(r){if(r){if("object"!=typeof r)throw new TypeError(r+"must be object");Object.keys(r).forEach(function(t){e[t]=r[t]})}}),e}function a(e,r,t){return[].concat(e.slice(0,r),t,e.slice(r+1))}function c(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function l(e){if(e>65535){e-=65536;var r=55296+(e>>10),t=56320+(1023&e);return String.fromCharCode(r,t)}return String.fromCharCode(e)}function u(e,r){var t=0;return o(w,r)?w[r]:35===r.charCodeAt(0)&&A.test(r)&&(t="x"===r[1].toLowerCase()?parseInt(r.slice(2),16):parseInt(r.slice(1),10),c(t))?l(t):e}function p(e){return e.indexOf("\\")<0?e:e.replace(x,"$1")}function h(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(C,function(e,r,t){return r?r:u(e,t)})}function f(e){return q[e]}function d(e){return D.test(e)?e.replace(/[&<>"]/g,f):e}function m(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function _(e){switch(e){case 9:case 32:return!0}return!1}function g(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function b(e){return E.test(e)}function k(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function v(e){return e.trim().replace(/\s+/g," ").toUpperCase()}var y=Object.prototype.hasOwnProperty,x=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,C=new RegExp(x.source+"|"+/&([a-z#][a-z0-9]{1,31});/gi.source,"gi"),A=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,w=e("./entities"),D=/[&<>"]/,q={"&":"&","<":"<",">":">",'"':"""},E=e("uc.micro/categories/P/regex");t.lib={},t.lib.mdurl=e("mdurl"),t.lib.ucmicro=e("uc.micro"),t.assign=i,t.isString=s,t.has=o,t.unescapeMd=p,t.unescapeAll=h,t.isValidEntityCode=c,t.fromCodePoint=l,t.escapeHtml=d,t.arrayReplaceAt=a,t.isSpace=_,t.isWhiteSpace=g,t.isMdAsciiPunct=k,t.isPunctChar=b,t.escapeRE=m,t.normalizeReference=v},{"./entities":1,mdurl:58,"uc.micro":65,"uc.micro/categories/P/regex":63}],5:[function(e,r,t){"use strict";t.parseLinkLabel=e("./parse_link_label"),t.parseLinkDestination=e("./parse_link_destination"),t.parseLinkTitle=e("./parse_link_title")},{"./parse_link_destination":6,"./parse_link_label":7,"./parse_link_title":8}],6:[function(e,r,t){"use strict";var n=e("../common/utils").isSpace,s=e("../common/utils").unescapeAll;r.exports=function(e,r,t){var o,i,a=r,c={ok:!1,pos:0,lines:0,str:""};if(60===e.charCodeAt(r)){for(r++;r1)break;if(41===o&&--i<0)break;r++}return a===r?c:(c.str=s(e.slice(a,r)),c.lines=0,c.pos=r,c.ok=!0,c)}},{"../common/utils":4}],7:[function(e,r,t){"use strict";r.exports=function(e,r,t){var n,s,o,i,a=-1,c=e.posMax,l=e.pos;for(e.pos=r+1,n=1;e.pos=t)return c;if(34!==(o=e.charCodeAt(r))&&39!==o&&40!==o)return c;for(r++,40===o&&(o=41);r=0))try{r.hostname=m.toASCII(r.hostname)}catch(e){}return d.encode(d.format(r))}function o(e){var r=d.parse(e,!0);if(r.hostname&&(!r.protocol||k.indexOf(r.protocol)>=0))try{r.hostname=m.toUnicode(r.hostname)}catch(e){}return d.decode(d.format(r))}function i(e,r){if(!(this instanceof i))return new i(e,r);r||a.isString(e)||(r=e||{},e="default"),this.inline=new h,this.block=new p,this.core=new u,this.renderer=new l,this.linkify=new f,this.validateLink=n,this.normalizeLink=s,this.normalizeLinkText=o,this.utils=a,this.helpers=a.assign({},c),this.options={},this.configure(e),r&&this.set(r)}var a=e("./common/utils"),c=e("./helpers"),l=e("./renderer"),u=e("./parser_core"),p=e("./parser_block"),h=e("./parser_inline"),f=e("linkify-it"),d=e("mdurl"),m=e("punycode"),_={default:e("./presets/default"),zero:e("./presets/zero"),commonmark:e("./presets/commonmark")},g=/^(vbscript|javascript|file|data):/,b=/^data:image\/(gif|png|jpeg|webp);/,k=["http:","https:","mailto:"];i.prototype.set=function(e){return a.assign(this.options,e),this},i.prototype.configure=function(e){var r,t=this;if(a.isString(e)&&(r=e,!(e=_[r])))throw new Error('Wrong `markdown-it` preset "'+r+'", check name');if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(r){e.components[r].rules&&t[r].ruler.enableOnly(e.components[r].rules),e.components[r].rules2&&t[r].ruler2.enableOnly(e.components[r].rules2)}),this},i.prototype.enable=function(e,r){var t=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(r){t=t.concat(this[r].ruler.enable(e,!0))},this),t=t.concat(this.inline.ruler2.enable(e,!0));var n=e.filter(function(e){return t.indexOf(e)<0});if(n.length&&!r)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+n);return this},i.prototype.disable=function(e,r){var t=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(r){t=t.concat(this[r].ruler.disable(e,!0))},this),t=t.concat(this.inline.ruler2.disable(e,!0));var n=e.filter(function(e){return t.indexOf(e)<0});if(n.length&&!r)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+n);return this},i.prototype.use=function(e){var r=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,r),this},i.prototype.parse=function(e,r){if("string"!=typeof e)throw new Error("Input data should be a String");var t=new this.core.State(e,this,r);return this.core.process(t),t.tokens},i.prototype.render=function(e,r){return r=r||{},this.renderer.render(this.parse(e,r),this.options,r)},i.prototype.parseInline=function(e,r){var t=new this.core.State(e,this,r);return t.inlineMode=!0,this.core.process(t),t.tokens},i.prototype.renderInline=function(e,r){return r=r||{},this.renderer.render(this.parseInline(e,r),this.options,r)},r.exports=i},{"./common/utils":4,"./helpers":5,"./parser_block":10,"./parser_core":11,"./parser_inline":12,"./presets/commonmark":13,"./presets/default":14,"./presets/zero":15,"./renderer":16,"linkify-it":53,mdurl:58,punycode:60}],10:[function(e,r,t){"use strict";function n(){this.ruler=new s;for(var e=0;e=t))&&!(e.sCount[i]=c){e.line=t;break}for(n=0;n=o)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},n.prototype.parse=function(e,r,t,n){var s,o,i,a=new this.State(e,r,t,n);for(this.tokenize(a),o=this.ruler2.getRules(""),i=o.length,s=0;s"+i(e[r].content)+""},a.code_block=function(e,r,t,n,s){var o=e[r];return""+i(e[r].content)+"
\n"},a.fence=function(e,r,t,n,s){var a,c,l,u,p=e[r],h=p.info?o(p.info).trim():"",f="";return h&&(f=h.split(/\s+/g)[0]),a=t.highlight?t.highlight(p.content,f)||i(p.content):i(p.content),0===a.indexOf(""+a+"
\n"):""+a+"
\n"},a.image=function(e,r,t,n,s){var o=e[r];return o.attrs[o.attrIndex("alt")][1]=s.renderInlineAsText(o.children,t,n),s.renderToken(e,r,t)},a.hardbreak=function(e,r,t){return t.xhtmlOut?"
\n":"
\n"},a.softbreak=function(e,r,t){return t.breaks?t.xhtmlOut?"
\n":"
\n":"\n"},a.text=function(e,r){return i(e[r].content)},a.html_block=function(e,r){return e[r].content},a.html_inline=function(e,r){return e[r].content},n.prototype.renderAttrs=function(e){var r,t,n;if(!e.attrs)return"";for(n="",r=0,t=e.attrs.length;r\n":">")},n.prototype.renderInline=function(e,r,t){for(var n,s="",o=this.rules,i=0,a=e.length;i=4)return!1;if(62!==e.src.charCodeAt(D++))return!1;if(s)return!0;for(c=d=e.sCount[r]+D-(e.bMarks[r]+e.tShift[r]),32===e.src.charCodeAt(D)?(D++,c++,d++,o=!1,y=!0):9===e.src.charCodeAt(D)?(y=!0,(e.bsCount[r]+d)%4==3?(D++,c++,d++,o=!1):o=!0):y=!1,m=[e.bMarks[r]],e.bMarks[r]=D;D=q,k=[e.sCount[r]],e.sCount[r]=d-c,v=[e.tShift[r]],e.tShift[r]=D-e.bMarks[r],C=e.md.block.ruler.getRules("blockquote"),b=e.parentType,e.parentType="blockquote",f=r+1;f=q));f++)if(62!==e.src.charCodeAt(D++)||l){if(p)break;for(x=!1,a=0,u=C.length;a=q,_.push(e.bsCount[f]),e.bsCount[f]=e.sCount[f]+1+(y?1:0),k.push(e.sCount[f]),e.sCount[f]=d-c,v.push(e.tShift[f]),e.tShift[f]=D-e.bMarks[f]}for(g=e.blkIndent,e.blkIndent=0,A=e.push("blockquote_open","blockquote",1),A.markup=">",A.map=h=[r,0],e.md.block.tokenize(e,r,f),A=e.push("blockquote_close","blockquote",-1),A.markup=">",e.lineMax=w,e.parentType=b,h[1]=e.line,a=0;a=4))break;n++,s=n}return e.line=s,o=e.push("code_block","code",0),o.content=e.getLines(r,s,4+e.blkIndent,!0),o.map=[r,e.line],!0}},{}],20:[function(e,r,t){"use strict";r.exports=function(e,r,t,n){var s,o,i,a,c,l,u,p=!1,h=e.bMarks[r]+e.tShift[r],f=e.eMarks[r];if(e.sCount[r]-e.blkIndent>=4)return!1;if(h+3>f)return!1;if(126!==(s=e.src.charCodeAt(h))&&96!==s)return!1;if(c=h,h=e.skipChars(h,s),(o=h-c)<3)return!1;if(u=e.src.slice(c,h),i=e.src.slice(h,f),i.indexOf(String.fromCharCode(s))>=0)return!1;if(n)return!0;for(a=r;!(++a>=t)&&(h=c=e.bMarks[a]+e.tShift[a],f=e.eMarks[a],!(h=4||(h=e.skipChars(h,s))-c=4)return!1;if(35!==(o=e.src.charCodeAt(l))||l>=u)return!1;for(i=1,o=e.src.charCodeAt(++l);35===o&&l6||ll&&n(e.src.charCodeAt(a-1))&&(u=a),e.line=r+1,c=e.push("heading_open","h"+String(i),1),c.markup="########".slice(0,i),c.map=[r,e.line],c=e.push("inline","",0),c.content=e.src.slice(l,u).trim(),c.map=[r,e.line],c.children=[],c=e.push("heading_close","h"+String(i),-1),c.markup="########".slice(0,i),!0))}},{"../common/utils":4}],22:[function(e,r,t){"use strict";var n=e("../common/utils").isSpace;r.exports=function(e,r,t,s){var o,i,a,c,l=e.bMarks[r]+e.tShift[r],u=e.eMarks[r];if(e.sCount[r]-e.blkIndent>=4)return!1;if(42!==(o=e.src.charCodeAt(l++))&&45!==o&&95!==o)return!1;for(i=1;l|$))/i,/<\/(script|pre|style)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^?("+n.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp(s.source+"\\s*$"),/^$/,!1]];r.exports=function(e,r,t,n){var s,i,a,c,l=e.bMarks[r]+e.tShift[r],u=e.eMarks[r];if(e.sCount[r]-e.blkIndent>=4)return!1;if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(l))return!1;for(c=e.src.slice(l,u),s=0;s=4)return!1;for(h=e.parentType,e.parentType="paragraph";f3)){if(e.sCount[f]>=e.blkIndent&&(c=e.bMarks[f]+e.tShift[f],l=e.eMarks[f],c=l))){u=61===p?1:2;break}if(!(e.sCount[f]<0)){for(s=!1,o=0,i=d.length;o=o)return-1;if((t=e.src.charCodeAt(s++))<48||t>57)return-1;for(;;){if(s>=o)return-1;t=e.src.charCodeAt(s++);{if(!(t>=48&&t<=57)){if(41===t||46===t)break;return-1}if(s-n>=10)return-1}}return s=4)return!1;if(a&&"paragraph"===e.parentType&&e.tShift[r]>=e.blkIndent&&(M=!0),(F=s(e,r))>=0){if(d=!0,z=e.bMarks[r]+e.tShift[r],v=Number(e.src.substr(z,F-z-1)),M&&1!==v)return!1}else{if(!((F=n(e,r))>=0))return!1;d=!1}if(M&&e.skipSpaces(F)>=e.eMarks[r])return!1;if(k=e.src.charCodeAt(F-1),a)return!0;for(b=e.tokens.length,d?(R=e.push("ordered_list_open","ol",1),1!==v&&(R.attrs=[["start",v]])):R=e.push("bullet_list_open","ul",1),R.map=g=[r,0],R.markup=String.fromCharCode(k),x=r,L=!1,I=e.md.block.ruler.getRules("list"),D=e.parentType,e.parentType="list";x=y?1:C-f,h>4&&(h=1),p=f+h,R=e.push("list_item_open","li",1),R.markup=String.fromCharCode(k),R.map=m=[r,0],A=e.blkIndent,E=e.tight,q=e.tShift[r],w=e.sCount[r],e.blkIndent=p,e.tight=!0,e.tShift[r]=l-e.bMarks[r],e.sCount[r]=C,l>=y&&e.isEmpty(r+1)?e.line=Math.min(e.line+2,t):e.md.block.tokenize(e,r,t,!0),e.tight&&!L||(B=!1),L=e.line-r>1&&e.isEmpty(e.line-1),e.blkIndent=A,e.tShift[r]=q,e.sCount[r]=w,e.tight=E,R=e.push("list_item_close","li",-1),R.markup=String.fromCharCode(k),x=r=e.line,m[1]=x,l=e.bMarks[r],x>=t)break;if(e.sCount[x]3||e.sCount[c]<0)){for(n=!1,s=0,o=l.length;s=4)return!1;if(91!==e.src.charCodeAt(C))return!1;for(;++C3||e.sCount[w]<0)){for(k=!1,p=0,h=v.length;p0&&this.level++,this.tokens.push(n),n},n.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},n.prototype.skipEmptyLines=function(e){for(var r=this.lineMax;er;)if(!o(this.src.charCodeAt(--e)))return e+1;return e},n.prototype.skipChars=function(e,r){for(var t=this.src.length;et;)if(r!==this.src.charCodeAt(--e))return e+1;return e},n.prototype.getLines=function(e,r,t,n){var s,i,a,c,l,u,p,h=e;if(e>=r)return"";for(u=new Array(r-e),s=0;ht?new Array(i-t+1).join(" ")+this.src.slice(c,l):this.src.slice(c,l)}return u.join("")},n.prototype.Token=s,r.exports=n},{"../common/utils":4,"../token":51}],29:[function(e,r,t){"use strict";function n(e,r){var t=e.bMarks[r]+e.blkIndent,n=e.eMarks[r];return e.src.substr(t,n-t)}function s(e){var r,t=[],n=0,s=e.length,o=0,i=0,a=!1,c=0;for(r=e.charCodeAt(n);nt)return!1;if(p=r+1,e.sCount[p]=4)return!1;if((l=e.bMarks[p]+e.tShift[p])>=e.eMarks[p])return!1;if(124!==(a=e.src.charCodeAt(l++))&&45!==a&&58!==a)return!1;for(;l=4)return!1;if(h=s(c.replace(/^\||\|$/g,"")),(f=h.length)>m.length)return!1;if(i)return!0;for(d=e.push("table_open","table",1),d.map=g=[r,0],d=e.push("thead_open","thead",1),d.map=[r,r+1],d=e.push("tr_open","tr",1),d.map=[r,r+1],u=0;u=4);p++){for(h=s(c.replace(/^\||\|$/g,"")),d=e.push("tr_open","tr",1),u=0;u\s]/i.test(e)}function s(e){return/^<\/a\s*>/i.test(e)}var o=e("../common/utils").arrayReplaceAt;r.exports=function(e){var r,t,i,a,c,l,u,p,h,f,d,m,_,g,b,k,v,y=e.tokens;if(e.md.options.linkify)for(t=0,i=y.length;t=0;r--)if(l=a[r],"link_close"!==l.type){if("html_inline"===l.type&&(n(l.content)&&_>0&&_--,s(l.content)&&_++),!(_>0)&&"text"===l.type&&e.md.linkify.test(l.content)){for(h=l.content,v=e.md.linkify.match(h),u=[],m=l.level,d=0,p=0;pd&&(c=new e.Token("text","",0),c.content=h.slice(d,f),c.level=m,u.push(c)),c=new e.Token("link_open","a",1),c.attrs=[["href",b]],c.level=m++,c.markup="linkify",c.info="auto",u.push(c),c=new e.Token("text","",0),c.content=k,c.level=m,u.push(c),c=new e.Token("link_close","a",-1),c.level=--m,c.markup="linkify",c.info="auto",u.push(c),d=v[p].lastIndex);d=0;r--)t=e[r],"text"!==t.type||s||(t.content=t.content.replace(/\((c|tm|r|p)\)/gi,n)),"link_open"===t.type&&"auto"===t.info&&s--,"link_close"===t.type&&"auto"===t.info&&s++}function o(e){var r,t,n=0;for(r=e.length-1;r>=0;r--)t=e[r],"text"!==t.type||n||i.test(t.content)&&(t.content=t.content.replace(/\+-/g,"\xb1").replace(/\.{2,}/g,"\u2026").replace(/([?!])\u2026/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---([^-]|$)/gm,"$1\u2014$2").replace(/(^|\s)--(\s|$)/gm,"$1\u2013$2").replace(/(^|[^-\s])--([^-\s]|$)/gm,"$1\u2013$2")),"link_open"===t.type&&"auto"===t.info&&n--,"link_close"===t.type&&"auto"===t.info&&n++}var i=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,a=/\((c|tm|r|p)\)/i,c={c:"\xa9",r:"\xae",p:"\xa7",tm:"\u2122"};r.exports=function(e){var r;if(e.md.options.typographer)for(r=e.tokens.length-1;r>=0;r--)"inline"===e.tokens[r].type&&(a.test(e.tokens[r].content)&&s(e.tokens[r].children),i.test(e.tokens[r].content)&&o(e.tokens[r].children))}},{}],35:[function(e,r,t){"use strict";function n(e,r,t){return e.substr(0,r)+t+e.substr(r+1)}function s(e,r){var t,s,c,u,p,h,f,d,m,_,g,b,k,v,y,x,C,A,w,D,q;for(w=[],t=0;t=0&&!(w[C].level<=f);C--);if(w.length=C+1,"text"===s.type){c=s.content,p=0,h=c.length;e:for(;p=0)m=c.charCodeAt(u.index-1);else for(C=t-1;C>=0;C--)if("text"===e[C].type){m=e[C].content.charCodeAt(e[C].content.length-1);break}if(_=32,p=48&&m<=57&&(x=y=!1),y&&x&&(y=!1,x=b),y||x){if(x)for(C=w.length-1;C>=0&&(d=w[C],!(w[C].level=0;r--)"inline"===e.tokens[r].type&&c.test(e.tokens[r].content)&&s(e.tokens[r].children,e)}},{"../common/utils":4}],36:[function(e,r,t){"use strict";function n(e,r,t){this.src=e,this.env=t,this.tokens=[],this.inlineMode=!1,this.md=r}var s=e("../token");n.prototype.Token=s,r.exports=n},{"../token":51}],37:[function(e,r,t){"use strict";var n=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,s=/^<([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)>/;r.exports=function(e,r){var t,o,i,a,c,l,u=e.pos;return 60===e.src.charCodeAt(u)&&(t=e.src.slice(u),!(t.indexOf(">")<0)&&(s.test(t)?(o=t.match(s),a=o[0].slice(1,-1),c=e.md.normalizeLink(a),!!e.md.validateLink(c)&&(r||(l=e.push("link_open","a",1),l.attrs=[["href",c]],l.markup="autolink",l.info="auto",l=e.push("text","",0),l.content=e.md.normalizeLinkText(a),l=e.push("link_close","a",-1),l.markup="autolink",l.info="auto"),e.pos+=o[0].length,!0)):!!n.test(t)&&(i=t.match(n),a=i[0].slice(1,-1),c=e.md.normalizeLink("mailto:"+a),!!e.md.validateLink(c)&&(r||(l=e.push("link_open","a",1),l.attrs=[["href",c]],l.markup="autolink",l.info="auto",l=e.push("text","",0),l.content=e.md.normalizeLinkText(a),l=e.push("link_close","a",-1),l.markup="autolink",l.info="auto"),e.pos+=i[0].length,!0))))}},{}],38:[function(e,r,t){"use strict";r.exports=function(e,r){var t,n,s,o,i,a,c=e.pos;if(96!==e.src.charCodeAt(c))return!1;for(t=c,c++,n=e.posMax;c=0;){if(s=o[t],s.open&&s.marker===n.marker&&s.end<0&&s.level===n.level){var a=(s.close||n.open)&&void 0!==s.length&&void 0!==n.length&&(s.length+n.length)%3==0;if(!a){n.jump=r-t,n.open=!1,s.end=r,s.jump=0;break}}t-=s.jump+1}}},{}],40:[function(e,r,t){"use strict";r.exports.tokenize=function(e,r){var t,n,s,o=e.pos,i=e.src.charCodeAt(o);if(r)return!1;if(95!==i&&42!==i)return!1;for(n=e.scanDelims(e.pos,42===i),t=0;t?@[]^_`{|}~-".split("").forEach(function(e){s[e.charCodeAt(0)]=1}),r.exports=function(e,r){var t,o=e.pos,i=e.posMax;if(92!==e.src.charCodeAt(o))return!1;if(++o=97&&r<=122}var s=e("../common/html_re").HTML_TAG_RE;r.exports=function(e,r){var t,o,i,a,c=e.pos;return!!e.md.options.html&&(i=e.posMax,!(60!==e.src.charCodeAt(c)||c+2>=i)&&(!(33!==(t=e.src.charCodeAt(c+1))&&63!==t&&47!==t&&!n(t))&&(!!(o=e.src.slice(c).match(s))&&(r||(a=e.push("html_inline","",0),a.content=e.src.slice(c,c+o[0].length)),e.pos+=o[0].length,!0))))}},{"../common/html_re":3}],44:[function(e,r,t){"use strict";var n=e("../common/utils").normalizeReference,s=e("../common/utils").isSpace;r.exports=function(e,r){var t,o,i,a,c,l,u,p,h,f,d,m,_,g="",b=e.pos,k=e.posMax;if(33!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;if(l=e.pos+2,(c=e.md.helpers.parseLinkLabel(e,e.pos+1,!1))<0)return!1;if((u=c+1)=k)return!1;for(_=u,h=e.md.helpers.parseLinkDestination(e.src,u,e.posMax),h.ok&&(g=e.md.normalizeLink(h.str),e.md.validateLink(g)?u=h.pos:g=""),_=u;u=k||41!==e.src.charCodeAt(u))return e.pos=b,!1;u++}else{if(void 0===e.env.references)return!1;if(u=0?a=e.src.slice(_,u++):u=c+1):u=c+1,a||(a=e.src.slice(l,c)),!(p=e.env.references[n(a)]))return e.pos=b,!1;g=p.href,f=p.title}return r||(i=e.src.slice(l,c),e.md.inline.parse(i,e.md,e.env,m=[]),d=e.push("image","img",0),d.attrs=t=[["src",g],["alt",""]],d.children=m,d.content=i,f&&t.push(["title",f])),e.pos=u,e.posMax=k,!0}},{"../common/utils":4}],45:[function(e,r,t){"use strict";var n=e("../common/utils").normalizeReference,s=e("../common/utils").isSpace;r.exports=function(e,r){var t,o,i,a,c,l,u,p,h,f,d="",m=e.pos,_=e.posMax,g=e.pos,b=!0;if(91!==e.src.charCodeAt(e.pos))return!1;if(c=e.pos+1,(a=e.md.helpers.parseLinkLabel(e,e.pos,!0))<0)return!1;if((l=a+1)<_&&40===e.src.charCodeAt(l)){for(b=!1,l++;l<_&&(o=e.src.charCodeAt(l),s(o)||10===o);l++);if(l>=_)return!1;for(g=l,u=e.md.helpers.parseLinkDestination(e.src,l,e.posMax),u.ok&&(d=e.md.normalizeLink(u.str),e.md.validateLink(d)?l=u.pos:d=""),g=l;l<_&&(o=e.src.charCodeAt(l),s(o)||10===o);l++);if(u=e.md.helpers.parseLinkTitle(e.src,l,e.posMax),l<_&&g!==l&&u.ok)for(h=u.str,l=u.pos;l<_&&(o=e.src.charCodeAt(l),s(o)||10===o);l++);else h="";(l>=_||41!==e.src.charCodeAt(l))&&(b=!0),l++}if(b){if(void 0===e.env.references)return!1;if(l<_&&91===e.src.charCodeAt(l)?(g=l+1,l=e.md.helpers.parseLinkLabel(e,l),l>=0?i=e.src.slice(g,l++):l=a+1):l=a+1,i||(i=e.src.slice(c,a)),!(p=e.env.references[n(i)]))return e.pos=m,!1;d=p.href,h=p.title}return r||(e.pos=c,e.posMax=a,f=e.push("link_open","a",1),f.attrs=t=[["href",d]],h&&t.push(["title",h]),e.md.inline.tokenize(e),f=e.push("link_close","a",-1)),e.pos=l,e.posMax=_,!0}},{"../common/utils":4}],46:[function(e,r,t){"use strict";var n=e("../common/utils").isSpace;r.exports=function(e,r){var t,s,o=e.pos;if(10!==e.src.charCodeAt(o))return!1;for(t=e.pending.length-1,s=e.posMax,r||(t>=0&&32===e.pending.charCodeAt(t)?t>=1&&32===e.pending.charCodeAt(t-1)?(e.pending=e.pending.replace(/ +$/,""),e.push("hardbreak","br",0)):(e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0)):e.push("softbreak","br",0)),o++;o0&&this.level++,this.pendingLevel=this.level,this.tokens.push(n),n},n.prototype.scanDelims=function(e,r){var t,n,s,c,l,u,p,h,f,d=e,m=!0,_=!0,g=this.posMax,b=this.src.charCodeAt(e);for(t=e>0?this.src.charCodeAt(e-1):32;d=0&&(t=this.attrs[r][1]),t},n.prototype.attrJoin=function(e,r){var t=this.attrIndex(e);t<0?this.attrPush([e,r]):this.attrs[t][1]=this.attrs[t][1]+" "+r},r.exports=n},{}],52:[function(e,r,t){r.exports={Aacute:"\xc1",aacute:"\xe1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223e",acd:"\u223f",acE:"\u223e\u0333",Acirc:"\xc2",acirc:"\xe2",acute:"\xb4",Acy:"\u0410",acy:"\u0430",AElig:"\xc6",aelig:"\xe6",af:"\u2061",Afr:"\ud835\udd04",afr:"\ud835\udd1e",Agrave:"\xc0",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03b1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2a3f",amp:"&",AMP:"&",andand:"\u2a55",And:"\u2a53",and:"\u2227",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angmsd:"\u2221",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",Aogon:"\u0104",aogon:"\u0105",Aopf:"\ud835\udd38",aopf:"\ud835\udd52",apacir:"\u2a6f",ap:"\u2248",apE:"\u2a70",ape:"\u224a",apid:"\u224b",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224a",Aring:"\xc5",aring:"\xe5",Ascr:"\ud835\udc9c",ascr:"\ud835\udcb6",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224d",Atilde:"\xc3",atilde:"\xe3",Auml:"\xc4",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",Backslash:"\u2216",Barv:"\u2ae7",barvee:"\u22bd",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",Bernoullis:"\u212c",Beta:"\u0392",beta:"\u03b2",beth:"\u2136",between:"\u226c",Bfr:"\ud835\udd05",bfr:"\ud835\udd1f",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bNot:"\u2aed",bnot:"\u2310",Bopf:"\ud835\udd39",bopf:"\ud835\udd53",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxbox:"\u29c9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250c",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252c",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxul:"\u2518",boxuL:"\u255b",boxUl:"\u255c",boxUL:"\u255d",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255a",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253c",boxvH:"\u256a",boxVh:"\u256b",boxVH:"\u256c",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251c",boxvR:"\u255e",boxVr:"\u255f",boxVR:"\u2560",bprime:"\u2035",breve:"\u02d8",Breve:"\u02d8",brvbar:"\xa6",bscr:"\ud835\udcb7",Bscr:"\u212c",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsolb:"\u29c5",bsol:"\\",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",Bumpeq:"\u224e",bumpeq:"\u224f",Cacute:"\u0106",cacute:"\u0107",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",cap:"\u2229",Cap:"\u22d2",capcup:"\u2a47",capdot:"\u2a40",CapitalDifferentialD:"\u2145",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",Cayleys:"\u212d",ccaps:"\u2a4d",Ccaron:"\u010c",ccaron:"\u010d",Ccedil:"\xc7",ccedil:"\xe7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2a4c",ccupssm:"\u2a50",Cdot:"\u010a",cdot:"\u010b",cedil:"\xb8",Cedilla:"\xb8",cemptyv:"\u29b2",cent:"\xa2",centerdot:"\xb7",CenterDot:"\xb7",cfr:"\ud835\udd20",Cfr:"\u212d",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03a7",chi:"\u03c7",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",CircleDot:"\u2299",circledR:"\xae",circledS:"\u24c8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25cb",cirE:"\u29c3",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2a74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",Congruent:"\u2261",conint:"\u222e",Conint:"\u222f",ContourIntegral:"\u222e",copf:"\ud835\udd54",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xa9",COPY:"\xa9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21b5",cross:"\u2717",Cross:"\u2a2f",Cscr:"\ud835\udc9e",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",cupbrcap:"\u2a48",cupcap:"\u2a46",CupCap:"\u224d",cup:"\u222a",Cup:"\u22d3",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21a1",dArr:"\u21d3",dash:"\u2010",Dashv:"\u2ae4",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",Dcaron:"\u010e",dcaron:"\u010f",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21ca",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2a77",deg:"\xb0",Del:"\u2207",Delta:"\u0394",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",Dfr:"\ud835\udd07",dfr:"\ud835\udd21",dHar:"\u2965",dharl:"\u21c3",dharr:"\u21c2",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",diam:"\u22c4",diamond:"\u22c4",Diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",DifferentialD:"\u2146",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",Dopf:"\ud835\udd3b",dopf:"\ud835\udd55",Dot:"\xa8",dot:"\u02d9",DotDot:"\u20dc",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21d3",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21bd",DownRightTeeVector:"\u295f",DownRightVectorBar:"\u2957",DownRightVector:"\u21c1",DownTeeArrow:"\u21a7",DownTee:"\u22a4",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",Dscr:"\ud835\udc9f",dscr:"\ud835\udcb9",DScy:"\u0405",dscy:"\u0455",dsol:"\u29f6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",DZcy:"\u040f",dzcy:"\u045f",dzigrarr:"\u27ff",Eacute:"\xc9",eacute:"\xe9",easter:"\u2a6e",Ecaron:"\u011a",ecaron:"\u011b",Ecirc:"\xca",ecirc:"\xea",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042d",ecy:"\u044d",eDDot:"\u2a77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\ud835\udd08",efr:"\ud835\udd22",eg:"\u2a9a",Egrave:"\xc8",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",Element:"\u2208",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25fb",emptyv:"\u2205",EmptyVerySmallSquare:"\u25ab",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014a",eng:"\u014b",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\ud835\udd3c",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",Epsilon:"\u0395",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",Equal:"\u2a75",equals:"=",EqualTilde:"\u2242",equest:"\u225f",Equilibrium:"\u21cc",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erarr:"\u2971",erDot:"\u2253",escr:"\u212f",Escr:"\u2130",esdot:"\u2250",Esim:"\u2a73",esim:"\u2242",Eta:"\u0397",eta:"\u03b7",ETH:"\xd0",eth:"\xf0",Euml:"\xcb",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",Ffr:"\ud835\udd09",ffr:"\ud835\udd23",filig:"\ufb01",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",Fopf:"\ud835\udd3d",fopf:"\ud835\udd57",forall:"\u2200",ForAll:"\u2200",fork:"\u22d4",forkv:"\u2ad9",Fouriertrf:"\u2131",fpartint:"\u2a0d",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",fscr:"\ud835\udcbb",Fscr:"\u2131",gacute:"\u01f5",Gamma:"\u0393",gamma:"\u03b3",Gammad:"\u03dc",gammad:"\u03dd",gap:"\u2a86",Gbreve:"\u011e",gbreve:"\u011f",Gcedil:"\u0122",Gcirc:"\u011c",gcirc:"\u011d",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2a8c",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",gescc:"\u2aa9",ges:"\u2a7e",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",Gfr:"\ud835\udd0a",gfr:"\ud835\udd24",gg:"\u226b",Gg:"\u22d9",ggg:"\u22d9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2aa5",gl:"\u2277",glE:"\u2a92",glj:"\u2aa4",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gnE:"\u2269",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",Gopf:"\ud835\udd3e",gopf:"\ud835\udd58",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\ud835\udca2",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",gtcc:"\u2aa7",gtcir:"\u2a7a",gt:">",GT:">",Gt:"\u226b",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",Hacek:"\u02c7",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",HARDcy:"\u042a",hardcy:"\u044a",harrcir:"\u2948",harr:"\u2194",hArr:"\u21d4",harrw:"\u21ad",Hat:"^",hbar:"\u210f",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",Hfr:"\u210c",HilbertSpace:"\u210b",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",Hopf:"\u210d",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\ud835\udcbd",Hscr:"\u210b",hslash:"\u210f",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224e",HumpEqual:"\u224f",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xcd",iacute:"\xed",ic:"\u2063",Icirc:"\xce",icirc:"\xee",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",Ifr:"\u2111",Igrave:"\xcc",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012a",imacr:"\u012b",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22b7",imped:"\u01b5",Implies:"\u21d2",incare:"\u2105",in:"\u2208",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",intcal:"\u22ba",int:"\u222b",Int:"\u222c",integers:"\u2124",Integral:"\u222b",intercal:"\u22ba",Intersection:"\u22c2",intlarhk:"\u2a17",intprod:"\u2a3c",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012e",iogon:"\u012f",Iopf:"\ud835\udd40",iopf:"\ud835\udd5a",Iota:"\u0399",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",iscr:"\ud835\udcbe",Iscr:"\u2110",isin:"\u2208",isindot:"\u22f5",isinE:"\u22f9",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xcf",iuml:"\xef",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\ud835\udd0d",jfr:"\ud835\udd27",jmath:"\u0237",Jopf:"\ud835\udd41",
-jopf:"\ud835\udd5b",Jscr:"\ud835\udca5",jscr:"\ud835\udcbf",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039a",kappa:"\u03ba",kappav:"\u03f0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041a",kcy:"\u043a",Kfr:"\ud835\udd0e",kfr:"\ud835\udd28",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040c",kjcy:"\u045c",Kopf:"\ud835\udd42",kopf:"\ud835\udd5c",Kscr:"\ud835\udca6",kscr:"\ud835\udcc0",lAarr:"\u21da",Lacute:"\u0139",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",Lambda:"\u039b",lambda:"\u03bb",lang:"\u27e8",Lang:"\u27ea",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",Laplacetrf:"\u2112",laquo:"\xab",larrb:"\u21e4",larrbfs:"\u291f",larr:"\u2190",Larr:"\u219e",lArr:"\u21d0",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",latail:"\u2919",lAtail:"\u291b",lat:"\u2aab",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lBarr:"\u290e",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",Lcaron:"\u013d",lcaron:"\u013e",Lcedil:"\u013b",lcedil:"\u013c",lceil:"\u2308",lcub:"{",Lcy:"\u041b",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27e8",LeftArrowBar:"\u21e4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21d0",LeftArrowRightArrow:"\u21c6",leftarrowtail:"\u21a2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21c3",LeftFloor:"\u230a",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21d4",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",LeftRightVector:"\u294e",LeftTeeArrow:"\u21a4",LeftTee:"\u22a3",LeftTeeVector:"\u295a",leftthreetimes:"\u22cb",LeftTriangleBar:"\u29cf",LeftTriangle:"\u22b2",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21bf",LeftVectorBar:"\u2952",LeftVector:"\u21bc",lEg:"\u2a8b",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",lescc:"\u2aa8",les:"\u2a7d",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2aa1",lesssim:"\u2272",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",lfisht:"\u297c",lfloor:"\u230a",Lfr:"\ud835\udd0f",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lHar:"\u2962",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21c7",ll:"\u226a",Ll:"\u22d8",llcorner:"\u231e",Lleftarrow:"\u21da",llhard:"\u296b",lltri:"\u25fa",Lmidot:"\u013f",lmidot:"\u0140",lmoustache:"\u23b0",lmoust:"\u23b0",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lnE:"\u2268",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",LongLeftArrow:"\u27f5",Longleftarrow:"\u27f8",longleftrightarrow:"\u27f7",LongLeftRightArrow:"\u27f7",Longleftrightarrow:"\u27fa",longmapsto:"\u27fc",longrightarrow:"\u27f6",LongRightArrow:"\u27f6",Longrightarrow:"\u27f9",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",Lopf:"\ud835\udd43",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",Lscr:"\u2112",lsh:"\u21b0",Lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2aa6",ltcir:"\u2a79",lt:"<",LT:"<",Lt:"\u226a",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",ltrPar:"\u2996",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",Mcy:"\u041c",mcy:"\u043c",mdash:"\u2014",mDDot:"\u223a",measuredangle:"\u2221",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",midast:"*",midcir:"\u2af0",mid:"\u2223",middot:"\xb7",minusb:"\u229f",minus:"\u2212",minusd:"\u2238",minusdu:"\u2a2a",MinusPlus:"\u2213",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",Mopf:"\ud835\udd44",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",Mscr:"\u2133",mstpos:"\u223e",Mu:"\u039c",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266e",naturals:"\u2115",natur:"\u266e",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",Ncy:"\u041d",ncy:"\u043d",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21d7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",nexist:"\u2204",nexists:"\u2204",Nfr:"\ud835\udd11",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",nGg:"\u22d9\u0338",ngsim:"\u2275",nGt:"\u226b\u20d2",ngt:"\u226f",ngtr:"\u226f",nGtv:"\u226b\u0338",nharr:"\u21ae",nhArr:"\u21ce",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",NJcy:"\u040a",njcy:"\u045a",nlarr:"\u219a",nlArr:"\u21cd",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219a",nLeftarrow:"\u21cd",nleftrightarrow:"\u21ae",nLeftrightarrow:"\u21ce",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nLl:"\u22d8\u0338",nlsim:"\u2274",nLt:"\u226a\u20d2",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nLtv:"\u226a\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xa0",nopf:"\ud835\udd5f",Nopf:"\u2115",Not:"\u2aec",not:"\xac",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",notin:"\u2209",notindot:"\u22f5\u0338",notinE:"\u22f9\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangle:"\u22eb",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",nprec:"\u2280",npreceq:"\u2aaf\u0338",npre:"\u2aaf\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219b",nrArr:"\u21cf",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nRightarrow:"\u21cf",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",Nscr:"\ud835\udca9",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",Ntilde:"\xd1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",Nu:"\u039d",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvDash:"\u22ad",nVdash:"\u22ae",nVDash:"\u22af",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvHarr:"\u2904",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21d6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xd3",oacute:"\xf3",oast:"\u229b",Ocirc:"\xd4",ocirc:"\xf4",ocir:"\u229a",Ocy:"\u041e",ocy:"\u043e",odash:"\u229d",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29bf",Ofr:"\ud835\udd12",ofr:"\ud835\udd2c",ogon:"\u02db",Ograve:"\xd2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",Omacr:"\u014c",omacr:"\u014d",Omega:"\u03a9",omega:"\u03c9",Omicron:"\u039f",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",Oopf:"\ud835\udd46",oopf:"\ud835\udd60",opar:"\u29b7",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",operp:"\u29b9",oplus:"\u2295",orarr:"\u21bb",Or:"\u2a54",or:"\u2228",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oS:"\u24c8",Oscr:"\ud835\udcaa",oscr:"\u2134",Oslash:"\xd8",oslash:"\xf8",osol:"\u2298",Otilde:"\xd5",otilde:"\xf5",otimesas:"\u2a36",Otimes:"\u2a37",otimes:"\u2297",Ouml:"\xd6",ouml:"\xf6",ovbar:"\u233d",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",para:"\xb6",parallel:"\u2225",par:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",PartialD:"\u2202",Pcy:"\u041f",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",Pfr:"\ud835\udd13",pfr:"\ud835\udd2d",Phi:"\u03a6",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",Pi:"\u03a0",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plus:"+",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",PlusMinus:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",Poincareplane:"\u210c",pointint:"\u2a15",popf:"\ud835\udd61",Popf:"\u2119",pound:"\xa3",prap:"\u2ab7",Pr:"\u2abb",pr:"\u227a",prcue:"\u227c",precapprox:"\u2ab7",prec:"\u227a",preccurlyeq:"\u227c",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",pre:"\u2aaf",prE:"\u2ab3",precsim:"\u227e",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2ab9",prnE:"\u2ab5",prnsim:"\u22e8",prod:"\u220f",Product:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",Proportional:"\u221d",Proportion:"\u2237",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",Pscr:"\ud835\udcab",pscr:"\ud835\udcc5",Psi:"\u03a8",psi:"\u03c8",puncsp:"\u2008",Qfr:"\ud835\udd14",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",Qopf:"\u211a",qprime:"\u2057",Qscr:"\ud835\udcac",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quot:'"',QUOT:'"',rAarr:"\u21db",race:"\u223d\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",Rang:"\u27eb",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21a0",rArr:"\u21d2",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",rAtail:"\u291c",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rBarr:"\u290f",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",Re:"\u211c",rect:"\u25ad",reg:"\xae",REG:"\xae",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",Rfr:"\u211c",rHar:"\u2964",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",Rho:"\u03a1",rho:"\u03c1",rhov:"\u03f1",RightAngleBracket:"\u27e9",RightArrowBar:"\u21e5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21d2",RightArrowLeftArrow:"\u21c4",rightarrowtail:"\u21a3",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVectorBar:"\u2955",RightDownVector:"\u21c2",RightFloor:"\u230b",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",RightTeeArrow:"\u21a6",RightTee:"\u22a2",RightTeeVector:"\u295b",rightthreetimes:"\u22cc",RightTriangleBar:"\u29d0",RightTriangle:"\u22b3",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVectorBar:"\u2954",RightUpVector:"\u21be",RightVectorBar:"\u2953",RightVector:"\u21c0",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoustache:"\u23b1",rmoust:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",Ropf:"\u211d",roplus:"\u2a2e",rotimes:"\u2a35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",Rrightarrow:"\u21db",rsaquo:"\u203a",rscr:"\ud835\udcc7",Rscr:"\u211b",rsh:"\u21b1",Rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",RuleDelayed:"\u29f4",ruluhar:"\u2968",rx:"\u211e",Sacute:"\u015a",sacute:"\u015b",sbquo:"\u201a",scap:"\u2ab8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2abc",sc:"\u227b",sccue:"\u227d",sce:"\u2ab0",scE:"\u2ab4",Scedil:"\u015e",scedil:"\u015f",Scirc:"\u015c",scirc:"\u015d",scnap:"\u2aba",scnE:"\u2ab6",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",Scy:"\u0421",scy:"\u0441",sdotb:"\u22a1",sdot:"\u22c5",sdote:"\u2a66",searhk:"\u2925",searr:"\u2198",seArr:"\u21d8",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\ud835\udd16",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xad",Sigma:"\u03a3",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",SOFTcy:"\u042c",softcy:"\u044c",solbar:"\u233f",solb:"\u29c4",sol:"/",Sopf:"\ud835\udd4a",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",Sqrt:"\u221a",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25a1",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25aa",squ:"\u25a1",squf:"\u25aa",srarr:"\u2192",Sscr:"\ud835\udcae",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",Star:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",Sub:"\u22d0",subdot:"\u2abd",subE:"\u2ac5",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",Subset:"\u22d0",subseteq:"\u2286",subseteqq:"\u2ac5",SubsetEqual:"\u2286",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succapprox:"\u2ab8",succ:"\u227b",succcurlyeq:"\u227d",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",SuchThat:"\u220b",sum:"\u2211",Sum:"\u2211",sung:"\u266a",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"\u2283",Sup:"\u22d1",supdot:"\u2abe",supdsub:"\u2ad8",supE:"\u2ac6",supe:"\u2287",supedot:"\u2ac4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",Supset:"\u22d1",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21d9",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",Tab:"\t",target:"\u2316",Tau:"\u03a4",tau:"\u03c4",tbrk:"\u23b4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",Tfr:"\ud835\udd17",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",THORN:"\xde",thorn:"\xfe",tilde:"\u02dc",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2a31",timesb:"\u22a0",times:"\xd7",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",topbot:"\u2336",topcir:"\u2af1",top:"\u22a4",Topf:"\ud835\udd4b",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",TripleDot:"\u20db",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",Tscr:"\ud835\udcaf",tscr:"\ud835\udcc9",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040b",tshcy:"\u045b",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",Uacute:"\xda",uacute:"\xfa",uarr:"\u2191",Uarr:"\u219f",uArr:"\u21d1",Uarrocir:"\u2949",Ubrcy:"\u040e",ubrcy:"\u045e",Ubreve:"\u016c",ubreve:"\u016d",Ucirc:"\xdb",ucirc:"\xfb",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21c5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",Ufr:"\ud835\udd18",ufr:"\ud835\udd32",Ugrave:"\xd9",ugrave:"\xf9",uHar:"\u2963",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",Umacr:"\u016a",umacr:"\u016b",uml:"\xa8",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",uogon:"\u0173",Uopf:"\ud835\udd4c",uopf:"\ud835\udd66",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21d1",UpArrowDownArrow:"\u21c5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21d5",UpEquilibrium:"\u296e",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03c5",Upsi:"\u03d2",upsih:"\u03d2",Upsilon:"\u03a5",upsilon:"\u03c5",UpTeeArrow:"\u21a5",UpTee:"\u22a5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",Uring:"\u016e",uring:"\u016f",urtri:"\u25f9",Uscr:"\ud835\udcb0",uscr:"\ud835\udcca",utdot:"\u22f0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",Uuml:"\xdc",uuml:"\xfc",uwangle:"\u29a7",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",vArr:"\u21d5",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vBar:"\u2ae8",Vbar:"\u2aeb",vBarv:"\u2ae9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22a2",vDash:"\u22a8",Vdash:"\u22a9",VDash:"\u22ab",Vdashl:"\u2ae6",veebar:"\u22bb",vee:"\u2228",Vee:"\u22c1",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",Vopf:"\ud835\udd4d",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",Vscr:"\ud835\udcb1",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",Vvdash:"\u22aa",vzigzag:"\u299a",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",Wedge:"\u22c0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\ud835\udd1a",wfr:"\ud835\udd34",Wopf:"\ud835\udd4e",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\ud835\udcb2",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",Xfr:"\ud835\udd1b",xfr:"\ud835\udd35",xharr:"\u27f7",xhArr:"\u27fa",Xi:"\u039e",xi:"\u03be",xlarr:"\u27f5",xlArr:"\u27f8",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",Xopf:"\ud835\udd4f",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrarr:"\u27f6",xrArr:"\u27f9",Xscr:"\ud835\udcb3",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",Yacute:"\xdd",yacute:"\xfd",YAcy:"\u042f",yacy:"\u044f",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042b",ycy:"\u044b",yen:"\xa5",Yfr:"\ud835\udd1c",yfr:"\ud835\udd36",YIcy:"\u0407",yicy:"\u0457",Yopf:"\ud835\udd50",yopf:"\ud835\udd6a",Yscr:"\ud835\udcb4",yscr:"\ud835\udcce",YUcy:"\u042e",yucy:"\u044e",yuml:"\xff",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017a",Zcaron:"\u017d",zcaron:"\u017e",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017b",zdot:"\u017c",zeetrf:"\u2128",ZeroWidthSpace:"\u200b",Zeta:"\u0396",zeta:"\u03b6",zfr:"\ud835\udd37",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",Zopf:"\u2124",Zscr:"\ud835\udcb5",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"}},{}],53:[function(e,r,t){"use strict";function n(e){return Array.prototype.slice.call(arguments,1).forEach(function(r){r&&Object.keys(r).forEach(function(t){e[t]=r[t]})}),e}function s(e){return Object.prototype.toString.call(e)}function o(e){return"[object String]"===s(e)}function i(e){return"[object Object]"===s(e)}function a(e){return"[object RegExp]"===s(e)}function c(e){return"[object Function]"===s(e)}function l(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function u(e){return Object.keys(e||{}).reduce(function(e,r){return e||b.hasOwnProperty(r)},!1)}function p(e){e.__index__=-1,e.__text_cache__=""}function h(e){return function(r,t){var n=r.slice(t);return e.test(n)?n.match(e)[0].length:0}}function f(){return function(e,r){r.normalize(e)}}function d(r){function t(e){return e.replace("%TLDS%",s.src_tlds)}function n(e,r){throw new Error('(LinkifyIt) Invalid schema "'+e+'": '+r)}var s=r.re=e("./lib/re")(r.__opts__),u=r.__tlds__.slice();r.onCompile(),r.__tlds_replaced__||u.push("a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]"),u.push(s.src_xn),s.src_tlds=u.join("|"),s.email_fuzzy=RegExp(t(s.tpl_email_fuzzy),"i"),s.link_fuzzy=RegExp(t(s.tpl_link_fuzzy),"i"),s.link_no_ip_fuzzy=RegExp(t(s.tpl_link_no_ip_fuzzy),"i"),s.host_fuzzy_test=RegExp(t(s.tpl_host_fuzzy_test),"i");var d=[];r.__compiled__={},Object.keys(r.__schemas__).forEach(function(e){var t=r.__schemas__[e];if(null!==t){var s={validate:null,link:null};return r.__compiled__[e]=s,i(t)?(a(t.validate)?s.validate=h(t.validate):c(t.validate)?s.validate=t.validate:n(e,t),void(c(t.normalize)?s.normalize=t.normalize:t.normalize?n(e,t):s.normalize=f())):o(t)?void d.push(e):void n(e,t)}}),d.forEach(function(e){r.__compiled__[r.__schemas__[e]]&&(r.__compiled__[e].validate=r.__compiled__[r.__schemas__[e]].validate,r.__compiled__[e].normalize=r.__compiled__[r.__schemas__[e]].normalize)}),r.__compiled__[""]={validate:null,normalize:f()};var m=Object.keys(r.__compiled__).filter(function(e){return e.length>0&&r.__compiled__[e]}).map(l).join("|");r.re.schema_test=RegExp("(^|(?!_)(?:[><\uff5c]|"+s.src_ZPCc+"))("+m+")","i"),r.re.schema_search=RegExp("(^|(?!_)(?:[><\uff5c]|"+s.src_ZPCc+"))("+m+")","ig"),r.re.pretest=RegExp("("+r.re.schema_test.source+")|("+r.re.host_fuzzy_test.source+")|@","i"),p(r)}function m(e,r){var t=e.__index__,n=e.__last_index__,s=e.__text_cache__.slice(t,n);this.schema=e.__schema__.toLowerCase(),this.index=t+r,this.lastIndex=n+r,this.raw=s,this.text=s,this.url=s}function _(e,r){var t=new m(e,r);return e.__compiled__[t.schema].normalize(t,e),t}function g(e,r){if(!(this instanceof g))return new g(e,r);r||u(e)&&(r=e,e={}),this.__opts__=n({},b,r),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=n({},k,e),this.__compiled__={},this.__tlds__=v,this.__tlds_replaced__=!1,this.re={},d(this)}var b={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1},k={"http:":{validate:function(e,r,t){var n=e.slice(r);return t.re.http||(t.re.http=new RegExp("^\\/\\/"+t.re.src_auth+t.re.src_host_port_strict+t.re.src_path,"i")),t.re.http.test(n)?n.match(t.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,r,t){var n=e.slice(r);return t.re.no_http||(t.re.no_http=new RegExp("^"+t.re.src_auth+"(?:localhost|(?:(?:"+t.re.src_domain+")\\.)+"+t.re.src_domain_root+")"+t.re.src_port+t.re.src_host_terminator+t.re.src_path,"i")),t.re.no_http.test(n)?r>=3&&":"===e[r-3]?0:r>=3&&"/"===e[r-3]?0:n.match(t.re.no_http)[0].length:0}},"mailto:":{validate:function(e,r,t){var n=e.slice(r);return t.re.mailto||(t.re.mailto=new RegExp("^"+t.re.src_email_name+"@"+t.re.src_host_strict,"i")),t.re.mailto.test(n)?n.match(t.re.mailto)[0].length:0}}},v="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");g.prototype.add=function(e,r){return this.__schemas__[e]=r,d(this),this},g.prototype.set=function(e){return this.__opts__=n(this.__opts__,e),this},g.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var r,t,n,s,o,i,a,c;if(this.re.schema_test.test(e))for(a=this.re.schema_search,a.lastIndex=0;null!==(r=a.exec(e));)if(s=this.testSchemaAt(e,r[2],a.lastIndex)){this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+s;break}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=e.search(this.re.host_fuzzy_test))>=0&&(this.__index__<0||c=0&&null!==(n=e.match(this.re.email_fuzzy))&&(o=n.index+n[1].length,i=n.index+n[0].length,(this.__index__<0||othis.__last_index__)&&(this.__schema__="mailto:",this.__index__=o,this.__last_index__=i)),this.__index__>=0},g.prototype.pretest=function(e){return this.re.pretest.test(e)},g.prototype.testSchemaAt=function(e,r,t){return this.__compiled__[r.toLowerCase()]?this.__compiled__[r.toLowerCase()].validate(e,t,this):0},g.prototype.match=function(e){var r=0,t=[];this.__index__>=0&&this.__text_cache__===e&&(t.push(_(this,r)),r=this.__last_index__);for(var n=r?e.slice(r):e;this.test(n);)t.push(_(this,r)),n=n.slice(this.__last_index__),r+=this.__last_index__;return t.length?t:null},g.prototype.tlds=function(e,r){return e=Array.isArray(e)?e:[e],r?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(e,r,t){return e!==t[r-1]}).reverse(),d(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,d(this),this)},g.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),"mailto:"!==e.schema||/^mailto:/i.test(e.url)||(e.url="mailto:"+e.url)},g.prototype.onCompile=function(){},r.exports=g},{"./lib/re":54}],54:[function(e,r,t){"use strict";r.exports=function(r){var t={};t.src_Any=e("uc.micro/properties/Any/regex").source,t.src_Cc=e("uc.micro/categories/Cc/regex").source,t.src_Z=e("uc.micro/categories/Z/regex").source,t.src_P=e("uc.micro/categories/P/regex").source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join("|"),t.src_ZCc=[t.src_Z,t.src_Cc].join("|");return t.src_pseudo_letter="(?:(?![><\uff5c]|"+t.src_ZPCc+")"+t.src_Any+")",t.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",t.src_auth="(?:(?:(?!"+t.src_ZCc+"|[@/\\[\\]()]).)+@)?",t.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",t.src_host_terminator="(?=$|[><\uff5c]|"+t.src_ZPCc+")(?!-|_|:\\d|\\.-|\\.(?!$|"+t.src_ZPCc+"))",t.src_path="(?:[/?#](?:(?!"+t.src_ZCc+"|[><\uff5c]|[()[\\]{}.,\"'?!\\-]).|\\[(?:(?!"+t.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+t.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+t.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+t.src_ZCc+'|["]).)+\\"|\\\'(?:(?!'+t.src_ZCc+"|[']).)+\\'|\\'(?="+t.src_pseudo_letter+"|[-]).|\\.{2,3}[a-zA-Z0-9%/]|\\.(?!"+t.src_ZCc+"|[.]).|"+(r&&r["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+"\\,(?!"+t.src_ZCc+").|\\!(?!"+t.src_ZCc+"|[!]).|\\?(?!"+t.src_ZCc+"|[?]).)+|\\/)?",t.src_email_name='[\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]+',t.src_xn="xn--[a-z0-9\\-]{1,59}",t.src_domain_root="(?:"+t.src_xn+"|"+t.src_pseudo_letter+"{1,63})",t.src_domain="(?:"+t.src_xn+"|(?:"+t.src_pseudo_letter+")|(?:"+t.src_pseudo_letter+"(?:-(?!-)|"+t.src_pseudo_letter+"){0,61}"+t.src_pseudo_letter+"))",t.src_host="(?:(?:(?:(?:"+t.src_domain+")\\.)*"+t.src_domain+"))",t.tpl_host_fuzzy="(?:"+t.src_ip4+"|(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%)))",t.tpl_host_no_ip_fuzzy="(?:(?:(?:"+t.src_domain+")\\.)+(?:%TLDS%))",t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+t.src_ZPCc+"|>|$))",t.tpl_email_fuzzy="(^|[><\uff5c]|\\(|"+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|"+t.src_ZPCc+"))((?![$+<=>^`|\uff5c])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|"+t.src_ZPCc+"))((?![$+<=>^`|\uff5c])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}},{
-"uc.micro/categories/Cc/regex":61,"uc.micro/categories/P/regex":63,"uc.micro/categories/Z/regex":64,"uc.micro/properties/Any/regex":66}],55:[function(e,r,t){"use strict";function n(e){var r,t,n=o[e];if(n)return n;for(n=o[e]=[],r=0;r<128;r++)t=String.fromCharCode(r),n.push(t);for(r=0;r=55296&&c<=57343?"\ufffd\ufffd\ufffd":String.fromCharCode(c),r+=6):240==(248&s)&&r+91114111?l+="\ufffd\ufffd\ufffd\ufffd":(c-=65536,l+=String.fromCharCode(55296+(c>>10),56320+(1023&c))),r+=9):l+="\ufffd";return l})}var o={};s.defaultChars=";/?:@&=+$,#",s.componentChars="",r.exports=s},{}],56:[function(e,r,t){"use strict";function n(e){var r,t,n=o[e];if(n)return n;for(n=o[e]=[],r=0;r<128;r++)t=String.fromCharCode(r),/^[0-9a-z]$/i.test(t)?n.push(t):n.push("%"+("0"+r.toString(16).toUpperCase()).slice(-2));for(r=0;r=55296&&a<=57343){if(a>=55296&&a<=56319&&o+1=56320&&c<=57343){u+=encodeURIComponent(e[o]+e[o+1]),o++;continue}u+="%EF%BF%BD"}else u+=encodeURIComponent(e[o]);return u}var o={};s.defaultChars=";/?:@&=+$,-_.!~*'()#",s.componentChars="-_.!~*'()",r.exports=s},{}],57:[function(e,r,t){"use strict";r.exports=function(e){var r="";return r+=e.protocol||"",r+=e.slashes?"//":"",r+=e.auth?e.auth+"@":"",r+=e.hostname&&e.hostname.indexOf(":")!==-1?"["+e.hostname+"]":e.hostname||"",r+=e.port?":"+e.port:"",r+=e.pathname||"",r+=e.search||"",r+=e.hash||""}},{}],58:[function(e,r,t){"use strict";r.exports.encode=e("./encode"),r.exports.decode=e("./decode"),r.exports.format=e("./format"),r.exports.parse=e("./parse")},{"./decode":55,"./encode":56,"./format":57,"./parse":59}],59:[function(e,r,t){"use strict";function n(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}function s(e,r){if(e&&e instanceof n)return e;var t=new n;return t.parse(e,r),t}var o=/^([a-z0-9.+-]+:)/i,i=/:[0-9]*$/,a=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["<",">",'"',"`"," ","\r","\n","\t"],l=["{","}","|","\\","^","`"].concat(c),u=["'"].concat(l),p=["%","/","?",";","#"].concat(u),h=["/","?","#"],f={javascript:!0,"javascript:":!0},d={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};n.prototype.parse=function(e,r){var t,n,s,i,c,l=e;if(l=l.trim(),!r&&1===e.split("#").length){var u=a.exec(l);if(u)return this.pathname=u[1],u[2]&&(this.search=u[2]),this}var m=o.exec(l);if(m&&(m=m[0],s=m.toLowerCase(),this.protocol=m,l=l.substr(m.length)),(r||m||l.match(/^\/\/[^@\/]+@[^@\/]+/))&&(!(c="//"===l.substr(0,2))||m&&f[m]||(l=l.substr(2),this.slashes=!0)),!f[m]&&(c||m&&!d[m])){var _=-1;for(t=0;t127?"x":x[A];if(!C.match(/^[+a-z0-9A-Z_-]{0,63}$/)){var D=y.slice(0,t),q=y.slice(t+1),E=x.match(/^([+a-z0-9A-Z_-]{0,63})(.*)$/);E&&(D.push(E[1]),q.unshift(E[2])),q.length&&(l=q.join(".")+l),this.hostname=D.join(".");break}}}}this.hostname.length>255&&(this.hostname=""),v&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var S=l.indexOf("#");S!==-1&&(this.hash=l.substr(S),l=l.slice(0,S));var F=l.indexOf("?");return F!==-1&&(this.search=l.substr(F),l=l.slice(0,F)),l&&(this.pathname=l),d[s]&&this.hostname&&!this.pathname&&(this.pathname=""),this},n.prototype.parseHost=function(e){var r=i.exec(e);r&&(r=r[0],":"!==r&&(this.port=r.substr(1)),e=e.substr(0,e.length-r.length)),e&&(this.hostname=e)},r.exports=s},{}],60:[function(r,t,n){(function(r){!function(s){function o(e){throw new RangeError(w[e])}function i(e,r){for(var t=e.length,n=[];t--;)n[t]=r(e[t]);return n}function a(e,r){var t=e.split("@"),n="";return t.length>1&&(n=t[0]+"@",e=t[1]),e=e.replace(/[\x2E\u3002\uFF0E\uFF61]/g,"."),n+i(e.split("."),r).join(".")}function c(e){for(var r,t,n=[],s=0,o=e.length;s=55296&&r<=56319&&s65535&&(e-=65536,r+=q(e>>>10&1023|55296),e=56320|1023&e),r+=q(e)}).join("")}function u(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:36}function p(e,r){return e+22+75*(e<26)-((0!=r)<<5)}function h(e,r,t){var n=0;for(e=t?D(e/700):e>>1,e+=D(e/r);e>455;n+=36)e=D(e/35);return D(n+36*e/(e+38))}function f(e){var r,t,n,s,i,a,c,p,f,d,m=[],_=e.length,g=0,b=128,k=72;for(t=e.lastIndexOf("-"),t<0&&(t=0),n=0;n=128&&o("not-basic"),m.push(e.charCodeAt(n));for(s=t>0?t+1:0;s<_;){for(i=g,a=1,c=36;s>=_&&o("invalid-input"),p=u(e.charCodeAt(s++)),(p>=36||p>D((x-g)/a))&&o("overflow"),g+=p*a,f=c<=k?1:c>=k+26?26:c-k,!(pD(x/d)&&o("overflow"),a*=d;r=m.length+1,k=h(g-i,r,0==i),D(g/r)>x-b&&o("overflow"),b+=D(g/r),g%=r,m.splice(g++,0,b)}return l(m)}function d(e){var r,t,n,s,i,a,l,u,f,d,m,_,g,b,k,v=[];for(e=c(e),_=e.length,r=128,t=0,i=72,a=0;a<_;++a)(m=e[a])<128&&v.push(q(m));for(n=s=v.length,s&&v.push("-");n<_;){for(l=x,a=0;a<_;++a)(m=e[a])>=r&&mD((x-t)/g)&&o("overflow"),t+=(l-r)*g,r=l,a=0;a<_;++a)if(m=e[a],mx&&o("overflow"),m==r){for(u=t,f=36;d=f<=i?1:f>=i+26?26:f-i,!(u= 0x80 (not a basic code point)","invalid-input":"Invalid input"},D=Math.floor,q=String.fromCharCode;if(v={version:"1.4.1",ucs2:{decode:c,encode:l},decode:f,encode:d,toASCII:_,toUnicode:m},"function"==typeof e&&"object"==typeof e.amd&&e.amd)e("punycode",function(){return v});else if(g&&b)if(t.exports==g)b.exports=v;else for(y in v)v.hasOwnProperty(y)&&(g[y]=v[y]);else s.punycode=v}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],61:[function(e,r,t){r.exports=/[\0-\x1F\x7F-\x9F]/},{}],62:[function(e,r,t){r.exports=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804\uDCBD|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/},{}],63:[function(e,r,t){r.exports=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E44\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD807[\uDC41-\uDC45\uDC70\uDC71]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/},{}],64:[function(e,r,t){r.exports=/[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/},{}],65:[function(e,r,t){"use strict";t.Any=e("./properties/Any/regex"),t.Cc=e("./categories/Cc/regex"),t.Cf=e("./categories/Cf/regex"),t.P=e("./categories/P/regex"),t.Z=e("./categories/Z/regex")},{"./categories/Cc/regex":61,"./categories/Cf/regex":62,"./categories/P/regex":63,"./categories/Z/regex":64,"./properties/Any/regex":66}],66:[function(e,r,t){r.exports=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/},{}],67:[function(e,r,t){"use strict";r.exports=e("./lib/")},{"./lib/":9}]},{},[67])(67)});
-
- return module.exports;
-})();require['./helpers'] = (function() {
- var exports = {}, module = {exports: exports};
- // Generated by CoffeeScript 2.0.0-alpha1
-(function() {
- var buildLocationData, extend, flatten, md, ref, repeat, syntaxErrorToString;
-
- md = require('markdown-it')();
-
- exports.starts = function(string, literal, start) {
- return literal === string.substr(start, literal.length);
- };
-
- exports.ends = function(string, literal, back) {
- var len;
- len = literal.length;
- return literal === string.substr(string.length - len - (back || 0), len);
- };
-
- exports.repeat = repeat = function(str, n) {
- var res;
- res = '';
- while (n > 0) {
- if (n & 1) {
- res += str;
- }
- n >>>= 1;
- str += str;
- }
- return res;
- };
-
- exports.compact = function(array) {
- var item, j, len1, results;
- results = [];
- for (j = 0, len1 = array.length; j < len1; j++) {
- item = array[j];
- if (item) {
- results.push(item);
- }
- }
- return results;
- };
-
- exports.count = function(string, substr) {
- var num, pos;
- num = pos = 0;
- if (!substr.length) {
- return 1 / 0;
- }
- while (pos = 1 + string.indexOf(substr, pos)) {
- num++;
- }
- return num;
- };
-
- exports.merge = function(options, overrides) {
- return extend(extend({}, options), overrides);
- };
-
- extend = exports.extend = function(object, properties) {
- var key, val;
- for (key in properties) {
- val = properties[key];
- object[key] = val;
- }
- return object;
- };
-
- exports.flatten = flatten = function(array) {
- var element, flattened, j, len1;
- flattened = [];
- for (j = 0, len1 = array.length; j < len1; j++) {
- element = array[j];
- if ('[object Array]' === Object.prototype.toString.call(element)) {
- flattened = flattened.concat(flatten(element));
- } else {
- flattened.push(element);
- }
- }
- return flattened;
- };
-
- exports.del = function(obj, key) {
- var val;
- val = obj[key];
- delete obj[key];
- return val;
- };
-
- exports.some = (ref = Array.prototype.some) != null ? ref : function(fn) {
- var e, j, len1, ref1;
- ref1 = this;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- e = ref1[j];
- if (fn(e)) {
- return true;
- }
- }
- return false;
- };
-
- exports.invertLiterate = function(code) {
- var out;
- out = [];
- md.renderer.rules = {
- code_block: function(tokens, idx, options, env, slf) {
- var i, j, len1, line, lines, results, startLine;
- startLine = tokens[idx].map[0];
- lines = tokens[idx].content.split('\n');
- results = [];
- for (i = j = 0, len1 = lines.length; j < len1; i = ++j) {
- line = lines[i];
- results.push(out[startLine + i] = line);
- }
- return results;
- }
- };
- md.render(code);
- return out.join('\n');
- };
-
- buildLocationData = function(first, last) {
- if (!last) {
- return first;
- } else {
- return {
- first_line: first.first_line,
- first_column: first.first_column,
- last_line: last.last_line,
- last_column: last.last_column
- };
- }
- };
-
- exports.addLocationDataFn = function(first, last) {
- return function(obj) {
- if (((typeof obj) === 'object') && (!!obj['updateLocationDataIfMissing'])) {
- obj.updateLocationDataIfMissing(buildLocationData(first, last));
- }
- return obj;
- };
- };
-
- exports.locationDataToString = function(obj) {
- var locationData;
- if (("2" in obj) && ("first_line" in obj[2])) {
- locationData = obj[2];
- } else if ("first_line" in obj) {
- locationData = obj;
- }
- if (locationData) {
- return `${locationData.first_line + 1}:${locationData.first_column + 1}-` + `${locationData.last_line + 1}:${locationData.last_column + 1}`;
- } else {
- return "No location data";
- }
- };
-
- exports.baseFileName = function(file, stripExt = false, useWinPathSep = false) {
- var parts, pathSep;
- pathSep = useWinPathSep ? /\\|\// : /\//;
- parts = file.split(pathSep);
- file = parts[parts.length - 1];
- if (!(stripExt && file.indexOf('.') >= 0)) {
- return file;
- }
- parts = file.split('.');
- parts.pop();
- if (parts[parts.length - 1] === 'coffee' && parts.length > 1) {
- parts.pop();
- }
- return parts.join('.');
- };
-
- exports.isCoffee = function(file) {
- return /\.((lit)?coffee|coffee\.md)$/.test(file);
- };
-
- exports.isLiterate = function(file) {
- return /\.(litcoffee|coffee\.md)$/.test(file);
- };
-
- exports.throwSyntaxError = function(message, location) {
- var error;
- error = new SyntaxError(message);
- error.location = location;
- error.toString = syntaxErrorToString;
- error.stack = error.toString();
- throw error;
- };
-
- exports.updateSyntaxError = function(error, code, filename) {
- if (error.toString === syntaxErrorToString) {
- error.code || (error.code = code);
- error.filename || (error.filename = filename);
- error.stack = error.toString();
- }
- return error;
- };
-
- syntaxErrorToString = function() {
- var codeLine, colorize, colorsEnabled, end, filename, first_column, first_line, last_column, last_line, marker, ref1, ref2, ref3, start;
- if (!(this.code && this.location)) {
- return Error.prototype.toString.call(this);
- }
- ({first_line, first_column, last_line, last_column} = this.location);
- if (last_line == null) {
- last_line = first_line;
- }
- if (last_column == null) {
- last_column = first_column;
- }
- filename = this.filename || '[stdin]';
- codeLine = this.code.split('\n')[first_line];
- start = first_column;
- end = first_line === last_line ? last_column + 1 : codeLine.length;
- marker = codeLine.slice(0, start).replace(/[^\s]/g, ' ') + repeat('^', end - start);
- if (typeof process !== "undefined" && process !== null) {
- colorsEnabled = ((ref1 = process.stdout) != null ? ref1.isTTY : void 0) && !((ref2 = process.env) != null ? ref2.NODE_DISABLE_COLORS : void 0);
- }
- if ((ref3 = this.colorful) != null ? ref3 : colorsEnabled) {
- colorize = function(str) {
- return `\x1B[1;31m${str}\x1B[0m`;
- };
- codeLine = codeLine.slice(0, start) + colorize(codeLine.slice(start, end)) + codeLine.slice(end);
- marker = colorize(marker);
- }
- return `${filename}:${first_line + 1}:${first_column + 1}: error: ${this.message}\n${codeLine}\n${marker}`;
- };
-
- exports.nameWhitespaceCharacter = function(string) {
- switch (string) {
- case ' ':
- return 'space';
- case '\n':
- return 'newline';
- case '\r':
- return 'carriage return';
- case '\t':
- return 'tab';
- default:
- return string;
- }
- };
-
-}).call(this);
-
- return module.exports;
-})();require['./rewriter'] = (function() {
- var exports = {}, module = {exports: exports};
- // Generated by CoffeeScript 2.0.0-alpha1
-(function() {
- var BALANCED_PAIRS, CALL_CLOSERS, EXPRESSION_CLOSE, EXPRESSION_END, EXPRESSION_START, IMPLICIT_CALL, IMPLICIT_END, IMPLICIT_FUNC, IMPLICIT_UNSPACED_CALL, INVERSES, LINEBREAKS, SINGLE_CLOSERS, SINGLE_LINERS, generate, k, left, len, rite,
- indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
-
- generate = function(tag, value, origin) {
- var tok;
- tok = [tag, value];
- tok.generated = true;
- if (origin) {
- tok.origin = origin;
- }
- return tok;
- };
-
- exports.Rewriter = (function() {
- class Rewriter {
- rewrite(tokens1) {
- this.tokens = tokens1;
- this.removeLeadingNewlines();
- this.closeOpenCalls();
- this.closeOpenIndexes();
- this.normalizeLines();
- this.tagPostfixConditionals();
- this.addImplicitBracesAndParens();
- this.addLocationDataToGeneratedTokens();
- this.fixOutdentLocationData();
- return this.tokens;
- }
-
- scanTokens(block) {
- var i, token, tokens;
- ({tokens} = this);
- i = 0;
- while (token = tokens[i]) {
- i += block.call(this, token, i, tokens);
- }
- return true;
- }
-
- detectEnd(i, condition, action) {
- var levels, ref, ref1, token, tokens;
- ({tokens} = this);
- levels = 0;
- while (token = tokens[i]) {
- if (levels === 0 && condition.call(this, token, i)) {
- return action.call(this, token, i);
- }
- if (!token || levels < 0) {
- return action.call(this, token, i - 1);
- }
- if (ref = token[0], indexOf.call(EXPRESSION_START, ref) >= 0) {
- levels += 1;
- } else if (ref1 = token[0], indexOf.call(EXPRESSION_END, ref1) >= 0) {
- levels -= 1;
- }
- i += 1;
- }
- return i - 1;
- }
-
- removeLeadingNewlines() {
- var i, k, len, ref, tag;
- ref = this.tokens;
- for (i = k = 0, len = ref.length; k < len; i = ++k) {
- [tag] = ref[i];
- if (tag !== 'TERMINATOR') {
- break;
- }
- }
- if (i) {
- return this.tokens.splice(0, i);
- }
- }
-
- closeOpenCalls() {
- var action, condition;
- condition = function(token, i) {
- var ref;
- return ((ref = token[0]) === ')' || ref === 'CALL_END') || token[0] === 'OUTDENT' && this.tag(i - 1) === ')';
- };
- action = function(token, i) {
- return this.tokens[token[0] === 'OUTDENT' ? i - 1 : i][0] = 'CALL_END';
- };
- return this.scanTokens(function(token, i) {
- if (token[0] === 'CALL_START') {
- this.detectEnd(i + 1, condition, action);
- }
- return 1;
- });
- }
-
- closeOpenIndexes() {
- var action, condition;
- condition = function(token, i) {
- var ref;
- return (ref = token[0]) === ']' || ref === 'INDEX_END';
- };
- action = function(token, i) {
- return token[0] = 'INDEX_END';
- };
- return this.scanTokens(function(token, i) {
- if (token[0] === 'INDEX_START') {
- this.detectEnd(i + 1, condition, action);
- }
- return 1;
- });
- }
-
- indexOfTag(i, ...pattern) {
- var fuzz, j, k, ref, ref1;
- fuzz = 0;
- for (j = k = 0, ref = pattern.length; 0 <= ref ? k < ref : k > ref; j = 0 <= ref ? ++k : --k) {
- while (this.tag(i + j + fuzz) === 'HERECOMMENT') {
- fuzz += 2;
- }
- if (pattern[j] == null) {
- continue;
- }
- if (typeof pattern[j] === 'string') {
- pattern[j] = [pattern[j]];
- }
- if (ref1 = this.tag(i + j + fuzz), indexOf.call(pattern[j], ref1) < 0) {
- return -1;
- }
- }
- return i + j + fuzz - 1;
- }
-
- looksObjectish(j) {
- var end, index;
- if (this.indexOfTag(j, '@', null, ':') > -1 || this.indexOfTag(j, null, ':') > -1) {
- return true;
- }
- index = this.indexOfTag(j, EXPRESSION_START);
- if (index > -1) {
- end = null;
- this.detectEnd(index + 1, (function(token) {
- var ref;
- return ref = token[0], indexOf.call(EXPRESSION_END, ref) >= 0;
- }), (function(token, i) {
- return end = i;
- }));
- if (this.tag(end + 1) === ':') {
- return true;
- }
- }
- return false;
- }
-
- findTagsBackwards(i, tags) {
- var backStack, ref, ref1, ref2, ref3, ref4, ref5;
- backStack = [];
- while (i >= 0 && (backStack.length || (ref2 = this.tag(i), indexOf.call(tags, ref2) < 0) && ((ref3 = this.tag(i), indexOf.call(EXPRESSION_START, ref3) < 0) || this.tokens[i].generated) && (ref4 = this.tag(i), indexOf.call(LINEBREAKS, ref4) < 0))) {
- if (ref = this.tag(i), indexOf.call(EXPRESSION_END, ref) >= 0) {
- backStack.push(this.tag(i));
- }
- if ((ref1 = this.tag(i), indexOf.call(EXPRESSION_START, ref1) >= 0) && backStack.length) {
- backStack.pop();
- }
- i -= 1;
- }
- return ref5 = this.tag(i), indexOf.call(tags, ref5) >= 0;
- }
-
- addImplicitBracesAndParens() {
- var stack, start;
- stack = [];
- start = null;
- return this.scanTokens(function(token, i, tokens) {
- var endImplicitCall, endImplicitObject, forward, inImplicit, inImplicitCall, inImplicitControl, inImplicitObject, newLine, nextTag, offset, prevTag, prevToken, ref, ref1, ref2, s, sameLine, stackIdx, stackTag, stackTop, startIdx, startImplicitCall, startImplicitObject, startsLine, tag;
- [tag] = token;
- [prevTag] = prevToken = i > 0 ? tokens[i - 1] : [];
- [nextTag] = i < tokens.length - 1 ? tokens[i + 1] : [];
- stackTop = function() {
- return stack[stack.length - 1];
- };
- startIdx = i;
- forward = function(n) {
- return i - startIdx + n;
- };
- inImplicit = function() {
- var ref, ref1;
- return (ref = stackTop()) != null ? (ref1 = ref[2]) != null ? ref1.ours : void 0 : void 0;
- };
- inImplicitCall = function() {
- var ref;
- return inImplicit() && ((ref = stackTop()) != null ? ref[0] : void 0) === '(';
- };
- inImplicitObject = function() {
- var ref;
- return inImplicit() && ((ref = stackTop()) != null ? ref[0] : void 0) === '{';
- };
- inImplicitControl = function() {
- var ref;
- return inImplicit && ((ref = stackTop()) != null ? ref[0] : void 0) === 'CONTROL';
- };
- startImplicitCall = function(j) {
- var idx;
- idx = j != null ? j : i;
- stack.push([
- '(', idx, {
- ours: true
- }
- ]);
- tokens.splice(idx, 0, generate('CALL_START', '('));
- if (j == null) {
- return i += 1;
- }
- };
- endImplicitCall = function() {
- stack.pop();
- tokens.splice(i, 0, generate('CALL_END', ')', ['', 'end of input', token[2]]));
- return i += 1;
- };
- startImplicitObject = function(j, startsLine = true) {
- var idx, val;
- idx = j != null ? j : i;
- stack.push([
- '{', idx, {
- sameLine: true,
- startsLine: startsLine,
- ours: true
- }
- ]);
- val = new String('{');
- val.generated = true;
- tokens.splice(idx, 0, generate('{', val, token));
- if (j == null) {
- return i += 1;
- }
- };
- endImplicitObject = function(j) {
- j = j != null ? j : i;
- stack.pop();
- tokens.splice(j, 0, generate('}', '}', token));
- return i += 1;
- };
- if (inImplicitCall() && (tag === 'IF' || tag === 'TRY' || tag === 'FINALLY' || tag === 'CATCH' || tag === 'CLASS' || tag === 'SWITCH')) {
- stack.push([
- 'CONTROL', i, {
- ours: true
- }
- ]);
- return forward(1);
- }
- if (tag === 'INDENT' && inImplicit()) {
- if (prevTag !== '=>' && prevTag !== '->' && prevTag !== '[' && prevTag !== '(' && prevTag !== ',' && prevTag !== '{' && prevTag !== 'TRY' && prevTag !== 'ELSE' && prevTag !== '=') {
- while (inImplicitCall()) {
- endImplicitCall();
- }
- }
- if (inImplicitControl()) {
- stack.pop();
- }
- stack.push([tag, i]);
- return forward(1);
- }
- if (indexOf.call(EXPRESSION_START, tag) >= 0) {
- stack.push([tag, i]);
- return forward(1);
- }
- if (indexOf.call(EXPRESSION_END, tag) >= 0) {
- while (inImplicit()) {
- if (inImplicitCall()) {
- endImplicitCall();
- } else if (inImplicitObject()) {
- endImplicitObject();
- } else {
- stack.pop();
- }
- }
- start = stack.pop();
- }
- if ((indexOf.call(IMPLICIT_FUNC, tag) >= 0 && token.spaced || tag === '?' && i > 0 && !tokens[i - 1].spaced) && (indexOf.call(IMPLICIT_CALL, nextTag) >= 0 || indexOf.call(IMPLICIT_UNSPACED_CALL, nextTag) >= 0 && !((ref = tokens[i + 1]) != null ? ref.spaced : void 0) && !((ref1 = tokens[i + 1]) != null ? ref1.newLine : void 0))) {
- if (tag === '?') {
- tag = token[0] = 'FUNC_EXIST';
- }
- startImplicitCall(i + 1);
- return forward(2);
- }
- if (indexOf.call(IMPLICIT_FUNC, tag) >= 0 && this.indexOfTag(i + 1, 'INDENT') > -1 && this.looksObjectish(i + 2) && !this.findTagsBackwards(i, ['CLASS', 'EXTENDS', 'IF', 'CATCH', 'SWITCH', 'LEADING_WHEN', 'FOR', 'WHILE', 'UNTIL'])) {
- startImplicitCall(i + 1);
- stack.push(['INDENT', i + 2]);
- return forward(3);
- }
- if (tag === ':') {
- s = (function() {
- var ref2;
- switch (false) {
- case ref2 = this.tag(i - 1), indexOf.call(EXPRESSION_END, ref2) < 0:
- return start[1];
- case this.tag(i - 2) !== '@':
- return i - 2;
- default:
- return i - 1;
- }
- }).call(this);
- while (this.tag(s - 2) === 'HERECOMMENT') {
- s -= 2;
- }
- this.insideForDeclaration = nextTag === 'FOR';
- startsLine = s === 0 || (ref2 = this.tag(s - 1), indexOf.call(LINEBREAKS, ref2) >= 0) || tokens[s - 1].newLine;
- if (stackTop()) {
- [stackTag, stackIdx] = stackTop();
- if ((stackTag === '{' || stackTag === 'INDENT' && this.tag(stackIdx - 1) === '{') && (startsLine || this.tag(s - 1) === ',' || this.tag(s - 1) === '{')) {
- return forward(1);
- }
- }
- startImplicitObject(s, !!startsLine);
- return forward(2);
- }
- if (inImplicitObject() && indexOf.call(LINEBREAKS, tag) >= 0) {
- stackTop()[2].sameLine = false;
- }
- newLine = prevTag === 'OUTDENT' || prevToken.newLine;
- if (indexOf.call(IMPLICIT_END, tag) >= 0 || indexOf.call(CALL_CLOSERS, tag) >= 0 && newLine) {
- while (inImplicit()) {
- [stackTag, stackIdx, {sameLine, startsLine}] = stackTop();
- if (inImplicitCall() && prevTag !== ',') {
- endImplicitCall();
- } else if (inImplicitObject() && !this.insideForDeclaration && sameLine && tag !== 'TERMINATOR' && prevTag !== ':') {
- endImplicitObject();
- } else if (inImplicitObject() && tag === 'TERMINATOR' && prevTag !== ',' && !(startsLine && this.looksObjectish(i + 1))) {
- if (nextTag === 'HERECOMMENT') {
- return forward(1);
- }
- endImplicitObject();
- } else {
- break;
- }
- }
- }
- if (tag === ',' && !this.looksObjectish(i + 1) && inImplicitObject() && !this.insideForDeclaration && (nextTag !== 'TERMINATOR' || !this.looksObjectish(i + 2))) {
- offset = nextTag === 'OUTDENT' ? 1 : 0;
- while (inImplicitObject()) {
- endImplicitObject(i + offset);
- }
- }
- return forward(1);
- });
- }
-
- addLocationDataToGeneratedTokens() {
- return this.scanTokens(function(token, i, tokens) {
- var column, line, nextLocation, prevLocation, ref, ref1;
- if (token[2]) {
- return 1;
- }
- if (!(token.generated || token.explicit)) {
- return 1;
- }
- if (token[0] === '{' && (nextLocation = (ref = tokens[i + 1]) != null ? ref[2] : void 0)) {
- ({
- first_line: line,
- first_column: column
- } = nextLocation);
- } else if (prevLocation = (ref1 = tokens[i - 1]) != null ? ref1[2] : void 0) {
- ({
- last_line: line,
- last_column: column
- } = prevLocation);
- } else {
- line = column = 0;
- }
- token[2] = {
- first_line: line,
- first_column: column,
- last_line: line,
- last_column: column
- };
- return 1;
- });
- }
-
- fixOutdentLocationData() {
- return this.scanTokens(function(token, i, tokens) {
- var prevLocationData;
- if (!(token[0] === 'OUTDENT' || (token.generated && token[0] === 'CALL_END') || (token.generated && token[0] === '}'))) {
- return 1;
- }
- prevLocationData = tokens[i - 1][2];
- token[2] = {
- first_line: prevLocationData.last_line,
- first_column: prevLocationData.last_column,
- last_line: prevLocationData.last_line,
- last_column: prevLocationData.last_column
- };
- return 1;
- });
- }
-
- normalizeLines() {
- var action, condition, indent, outdent, starter;
- starter = indent = outdent = null;
- condition = function(token, i) {
- var ref, ref1, ref2, ref3;
- return token[1] !== ';' && (ref = token[0], indexOf.call(SINGLE_CLOSERS, ref) >= 0) && !(token[0] === 'TERMINATOR' && (ref1 = this.tag(i + 1), indexOf.call(EXPRESSION_CLOSE, ref1) >= 0)) && !(token[0] === 'ELSE' && starter !== 'THEN') && !(((ref2 = token[0]) === 'CATCH' || ref2 === 'FINALLY') && (starter === '->' || starter === '=>')) || (ref3 = token[0], indexOf.call(CALL_CLOSERS, ref3) >= 0) && this.tokens[i - 1].newLine;
- };
- action = function(token, i) {
- return this.tokens.splice((this.tag(i - 1) === ',' ? i - 1 : i), 0, outdent);
- };
- return this.scanTokens(function(token, i, tokens) {
- var j, k, ref, ref1, tag;
- [tag] = token;
- if (tag === 'TERMINATOR') {
- if (this.tag(i + 1) === 'ELSE' && this.tag(i - 1) !== 'OUTDENT') {
- tokens.splice(i, 1, ...this.indentation());
- return 1;
- }
- if (ref = this.tag(i + 1), indexOf.call(EXPRESSION_CLOSE, ref) >= 0) {
- tokens.splice(i, 1);
- return 0;
- }
- }
- if (tag === 'CATCH') {
- for (j = k = 1; k <= 2; j = ++k) {
- if (!((ref1 = this.tag(i + j)) === 'OUTDENT' || ref1 === 'TERMINATOR' || ref1 === 'FINALLY')) {
- continue;
- }
- tokens.splice(i + j, 0, ...this.indentation());
- return 2 + j;
- }
- }
- if (indexOf.call(SINGLE_LINERS, tag) >= 0 && this.tag(i + 1) !== 'INDENT' && !(tag === 'ELSE' && this.tag(i + 1) === 'IF')) {
- starter = tag;
- [indent, outdent] = this.indentation(tokens[i]);
- if (starter === 'THEN') {
- indent.fromThen = true;
- }
- tokens.splice(i + 1, 0, indent);
- this.detectEnd(i + 2, condition, action);
- if (tag === 'THEN') {
- tokens.splice(i, 1);
- }
- return 1;
- }
- return 1;
- });
- }
-
- tagPostfixConditionals() {
- var action, condition, original;
- original = null;
- condition = function(token, i) {
- var prevTag, tag;
- [tag] = token;
- [prevTag] = this.tokens[i - 1];
- return tag === 'TERMINATOR' || (tag === 'INDENT' && indexOf.call(SINGLE_LINERS, prevTag) < 0);
- };
- action = function(token, i) {
- if (token[0] !== 'INDENT' || (token.generated && !token.fromThen)) {
- return original[0] = 'POST_' + original[0];
- }
- };
- return this.scanTokens(function(token, i) {
- if (token[0] !== 'IF') {
- return 1;
- }
- original = token;
- this.detectEnd(i + 1, condition, action);
- return 1;
- });
- }
-
- indentation(origin) {
- var indent, outdent;
- indent = ['INDENT', 2];
- outdent = ['OUTDENT', 2];
- if (origin) {
- indent.generated = outdent.generated = true;
- indent.origin = outdent.origin = origin;
- } else {
- indent.explicit = outdent.explicit = true;
- }
- return [indent, outdent];
- }
-
- tag(i) {
- var ref;
- return (ref = this.tokens[i]) != null ? ref[0] : void 0;
- }
-
- };
-
- Rewriter.prototype.generate = generate;
-
- return Rewriter;
-
- })();
-
- BALANCED_PAIRS = [['(', ')'], ['[', ']'], ['{', '}'], ['INDENT', 'OUTDENT'], ['CALL_START', 'CALL_END'], ['PARAM_START', 'PARAM_END'], ['INDEX_START', 'INDEX_END'], ['STRING_START', 'STRING_END'], ['REGEX_START', 'REGEX_END']];
-
- exports.INVERSES = INVERSES = {};
-
- EXPRESSION_START = [];
-
- EXPRESSION_END = [];
-
- for (k = 0, len = BALANCED_PAIRS.length; k < len; k++) {
- [left, rite] = BALANCED_PAIRS[k];
- EXPRESSION_START.push(INVERSES[rite] = left);
- EXPRESSION_END.push(INVERSES[left] = rite);
- }
-
- EXPRESSION_CLOSE = ['CATCH', 'THEN', 'ELSE', 'FINALLY'].concat(EXPRESSION_END);
-
- IMPLICIT_FUNC = ['IDENTIFIER', 'PROPERTY', 'SUPER', ')', 'CALL_END', ']', 'INDEX_END', '@', 'THIS'];
-
- IMPLICIT_CALL = ['IDENTIFIER', 'PROPERTY', 'NUMBER', 'INFINITY', 'NAN', 'STRING', 'STRING_START', 'REGEX', 'REGEX_START', 'JS', 'NEW', 'PARAM_START', 'CLASS', 'IF', 'TRY', 'SWITCH', 'THIS', 'UNDEFINED', 'NULL', 'BOOL', 'UNARY', 'YIELD', 'AWAIT', 'UNARY_MATH', 'SUPER', 'THROW', '@', '->', '=>', '[', '(', '{', '--', '++'];
-
- IMPLICIT_UNSPACED_CALL = ['+', '-'];
-
- IMPLICIT_END = ['POST_IF', 'FOR', 'WHILE', 'UNTIL', 'WHEN', 'BY', 'LOOP', 'TERMINATOR'];
-
- SINGLE_LINERS = ['ELSE', '->', '=>', 'TRY', 'FINALLY', 'THEN'];
-
- SINGLE_CLOSERS = ['TERMINATOR', 'CATCH', 'FINALLY', 'ELSE', 'OUTDENT', 'LEADING_WHEN'];
-
- LINEBREAKS = ['TERMINATOR', 'INDENT', 'OUTDENT'];
-
- CALL_CLOSERS = ['.', '?.', '::', '?::'];
-
-}).call(this);
-
- return module.exports;
-})();require['./lexer'] = (function() {
- var exports = {}, module = {exports: exports};
- // Generated by CoffeeScript 2.0.0-alpha1
-(function() {
- var BOM, BOOL, CALLABLE, CODE, COFFEE_ALIASES, COFFEE_ALIAS_MAP, COFFEE_KEYWORDS, COMMENT, COMPARE, COMPOUND_ASSIGN, HERECOMMENT_ILLEGAL, HEREDOC_DOUBLE, HEREDOC_INDENT, HEREDOC_SINGLE, HEREGEX, HEREGEX_OMIT, HERE_JSTOKEN, IDENTIFIER, INDENTABLE_CLOSERS, INDEXABLE, INVERSES, JSTOKEN, JS_KEYWORDS, LEADING_BLANK_LINE, LINE_BREAK, LINE_CONTINUER, Lexer, MATH, MULTI_DENT, NOT_REGEX, NUMBER, OPERATOR, POSSIBLY_DIVISION, REGEX, REGEX_FLAGS, REGEX_ILLEGAL, REGEX_INVALID_ESCAPE, RELATION, RESERVED, Rewriter, SHIFT, SIMPLE_STRING_OMIT, STRICT_PROSCRIBED, STRING_DOUBLE, STRING_INVALID_ESCAPE, STRING_OMIT, STRING_SINGLE, STRING_START, TRAILING_BLANK_LINE, TRAILING_SPACES, UNARY, UNARY_MATH, VALID_FLAGS, WHITESPACE, compact, count, invertLiterate, isForFrom, isUnassignable, key, locationDataToString, repeat, starts, throwSyntaxError,
- indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
-
- ({Rewriter, INVERSES} = require('./rewriter'));
-
- ({count, starts, compact, repeat, invertLiterate, locationDataToString, throwSyntaxError} = require('./helpers'));
-
- exports.Lexer = Lexer = class Lexer {
- tokenize(code, opts = {}) {
- var consumed, end, i;
- this.literate = opts.literate;
- this.indent = 0;
- this.baseIndent = 0;
- this.indebt = 0;
- this.outdebt = 0;
- this.indents = [];
- this.indentLiteral = '';
- this.ends = [];
- this.tokens = [];
- this.seenFor = false;
- this.seenImport = false;
- this.seenExport = false;
- this.importSpecifierList = false;
- this.exportSpecifierList = false;
- this.chunkLine = opts.line || 0;
- this.chunkColumn = opts.column || 0;
- code = this.clean(code);
- i = 0;
- while (this.chunk = code.slice(i)) {
- consumed = this.identifierToken() || this.commentToken() || this.whitespaceToken() || this.lineToken() || this.stringToken() || this.numberToken() || this.regexToken() || this.jsToken() || this.literalToken();
- [this.chunkLine, this.chunkColumn] = this.getLineAndColumnFromChunk(consumed);
- i += consumed;
- if (opts.untilBalanced && this.ends.length === 0) {
- return {
- tokens: this.tokens,
- index: i
- };
- }
- }
- this.closeIndentation();
- if (end = this.ends.pop()) {
- this.error(`missing ${end.tag}`, end.origin[2]);
- }
- if (opts.rewrite === false) {
- return this.tokens;
- }
- return (new Rewriter).rewrite(this.tokens);
- }
-
- clean(code) {
- if (code.charCodeAt(0) === BOM) {
- code = code.slice(1);
- }
- code = code.replace(/\r/g, '').replace(TRAILING_SPACES, '');
- if (WHITESPACE.test(code)) {
- code = `\n${code}`;
- this.chunkLine--;
- }
- if (this.literate) {
- code = invertLiterate(code);
- }
- return code;
- }
-
- identifierToken() {
- var alias, colon, colonOffset, id, idLength, input, match, poppedToken, prev, prevprev, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, tag, tagToken;
- if (!(match = IDENTIFIER.exec(this.chunk))) {
- return 0;
- }
- [input, id, colon] = match;
- idLength = id.length;
- poppedToken = void 0;
- if (id === 'own' && this.tag() === 'FOR') {
- this.token('OWN', id);
- return id.length;
- }
- if (id === 'from' && this.tag() === 'YIELD') {
- this.token('FROM', id);
- return id.length;
- }
- if (id === 'as' && this.seenImport) {
- if (this.value() === '*') {
- this.tokens[this.tokens.length - 1][0] = 'IMPORT_ALL';
- } else if (ref = this.value(), indexOf.call(COFFEE_KEYWORDS, ref) >= 0) {
- this.tokens[this.tokens.length - 1][0] = 'IDENTIFIER';
- }
- if ((ref1 = this.tag()) === 'DEFAULT' || ref1 === 'IMPORT_ALL' || ref1 === 'IDENTIFIER') {
- this.token('AS', id);
- return id.length;
- }
- }
- if (id === 'as' && this.seenExport && ((ref2 = this.tag()) === 'IDENTIFIER' || ref2 === 'DEFAULT')) {
- this.token('AS', id);
- return id.length;
- }
- if (id === 'default' && this.seenExport && ((ref3 = this.tag()) === 'EXPORT' || ref3 === 'AS')) {
- this.token('DEFAULT', id);
- return id.length;
- }
- prev = this.prev();
- tag = colon || (prev != null) && (((ref4 = prev[0]) === '.' || ref4 === '?.' || ref4 === '::' || ref4 === '?::') || !prev.spaced && prev[0] === '@') ? 'PROPERTY' : 'IDENTIFIER';
- if (tag === 'IDENTIFIER' && (indexOf.call(JS_KEYWORDS, id) >= 0 || indexOf.call(COFFEE_KEYWORDS, id) >= 0) && !(this.exportSpecifierList && indexOf.call(COFFEE_KEYWORDS, id) >= 0)) {
- tag = id.toUpperCase();
- if (tag === 'WHEN' && (ref5 = this.tag(), indexOf.call(LINE_BREAK, ref5) >= 0)) {
- tag = 'LEADING_WHEN';
- } else if (tag === 'FOR') {
- this.seenFor = true;
- } else if (tag === 'UNLESS') {
- tag = 'IF';
- } else if (tag === 'IMPORT') {
- this.seenImport = true;
- } else if (tag === 'EXPORT') {
- this.seenExport = true;
- } else if (indexOf.call(UNARY, tag) >= 0) {
- tag = 'UNARY';
- } else if (indexOf.call(RELATION, tag) >= 0) {
- if (tag !== 'INSTANCEOF' && this.seenFor) {
- tag = 'FOR' + tag;
- this.seenFor = false;
- } else {
- tag = 'RELATION';
- if (this.value() === '!') {
- poppedToken = this.tokens.pop();
- id = '!' + id;
- }
- }
- }
- } else if (tag === 'IDENTIFIER' && this.seenFor && id === 'from' && isForFrom(prev)) {
- tag = 'FORFROM';
- this.seenFor = false;
- } else if (tag === 'PROPERTY' && prev) {
- if (prev.spaced && (ref6 = prev[0], indexOf.call(CALLABLE, ref6) >= 0) && /^[gs]et$/.test(prev[1])) {
- this.error(`'${prev[1]}' cannot be used as a keyword, or as a function call without parentheses`, prev[2]);
- } else {
- prevprev = this.tokens[this.tokens.length - 2];
- if (((ref7 = prev[0]) === '@' || ref7 === 'THIS') && prevprev && prevprev.spaced && /^[gs]et$/.test(prevprev[1])) {
- this.error(`'${prevprev[1]}' cannot be used as a keyword, or as a function call without parentheses`, prevprev[2]);
- }
- }
- }
- if (tag === 'IDENTIFIER' && indexOf.call(RESERVED, id) >= 0) {
- this.error(`reserved word '${id}'`, {
- length: id.length
- });
- }
- if (tag !== 'PROPERTY') {
- if (indexOf.call(COFFEE_ALIASES, id) >= 0) {
- alias = id;
- id = COFFEE_ALIAS_MAP[id];
- }
- tag = (function() {
- switch (id) {
- case '!':
- return 'UNARY';
- case '==':
- case '!=':
- return 'COMPARE';
- case 'true':
- case 'false':
- return 'BOOL';
- case 'break':
- case 'continue':
- case 'debugger':
- return 'STATEMENT';
- case '&&':
- case '||':
- return id;
- default:
- return tag;
- }
- })();
- }
- tagToken = this.token(tag, id, 0, idLength);
- if (alias) {
- tagToken.origin = [tag, alias, tagToken[2]];
- }
- if (poppedToken) {
- [tagToken[2].first_line, tagToken[2].first_column] = [poppedToken[2].first_line, poppedToken[2].first_column];
- }
- if (colon) {
- colonOffset = input.lastIndexOf(':');
- this.token(':', ':', colonOffset, colon.length);
- }
- return input.length;
- }
-
- numberToken() {
- var base, lexedLength, match, number, numberValue, tag;
- if (!(match = NUMBER.exec(this.chunk))) {
- return 0;
- }
- number = match[0];
- lexedLength = number.length;
- switch (false) {
- case !/^0[BOX]/.test(number):
- this.error(`radix prefix in '${number}' must be lowercase`, {
- offset: 1
- });
- break;
- case !/^(?!0x).*E/.test(number):
- this.error(`exponential notation in '${number}' must be indicated with a lowercase 'e'`, {
- offset: number.indexOf('E')
- });
- break;
- case !/^0\d*[89]/.test(number):
- this.error(`decimal literal '${number}' must not be prefixed with '0'`, {
- length: lexedLength
- });
- break;
- case !/^0\d+/.test(number):
- this.error(`octal literal '${number}' must be prefixed with '0o'`, {
- length: lexedLength
- });
- }
- base = (function() {
- switch (number.charAt(1)) {
- case 'b':
- return 2;
- case 'o':
- return 8;
- case 'x':
- return 16;
- default:
- return null;
- }
- })();
- numberValue = base != null ? parseInt(number.slice(2), base) : parseFloat(number);
- tag = numberValue === 2e308 ? 'INFINITY' : 'NUMBER';
- this.token(tag, number, 0, lexedLength);
- return lexedLength;
- }
-
- stringToken() {
- var $, attempt, delimiter, doc, end, heredoc, i, indent, indentRegex, match, prev, quote, ref, regex, token, tokens;
- [quote] = STRING_START.exec(this.chunk) || [];
- if (!quote) {
- return 0;
- }
- prev = this.prev();
- if (prev && this.value() === 'from' && (this.seenImport || this.seenExport)) {
- prev[0] = 'FROM';
- }
- regex = (function() {
- switch (quote) {
- case "'":
- return STRING_SINGLE;
- case '"':
- return STRING_DOUBLE;
- case "'''":
- return HEREDOC_SINGLE;
- case '"""':
- return HEREDOC_DOUBLE;
- }
- })();
- heredoc = quote.length === 3;
- ({
- tokens,
- index: end
- } = this.matchWithInterpolations(regex, quote));
- $ = tokens.length - 1;
- delimiter = quote.charAt(0);
- if (heredoc) {
- indent = null;
- doc = ((function() {
- var j, len, results;
- results = [];
- for (i = j = 0, len = tokens.length; j < len; i = ++j) {
- token = tokens[i];
- if (token[0] === 'NEOSTRING') {
- results.push(token[1]);
- }
- }
- return results;
- })()).join('#{}');
- while (match = HEREDOC_INDENT.exec(doc)) {
- attempt = match[1];
- if (indent === null || (0 < (ref = attempt.length) && ref < indent.length)) {
- indent = attempt;
- }
- }
- if (indent) {
- indentRegex = RegExp(`\\n${indent}`, "g");
- }
- this.mergeInterpolationTokens(tokens, {delimiter}, (value, i) => {
- value = this.formatString(value);
- if (indentRegex) {
- value = value.replace(indentRegex, '\n');
- }
- if (i === 0) {
- value = value.replace(LEADING_BLANK_LINE, '');
- }
- if (i === $) {
- value = value.replace(TRAILING_BLANK_LINE, '');
- }
- return value;
- });
- } else {
- this.mergeInterpolationTokens(tokens, {delimiter}, (value, i) => {
- value = this.formatString(value);
- value = value.replace(SIMPLE_STRING_OMIT, function(match, offset) {
- if ((i === 0 && offset === 0) || (i === $ && offset + match.length === value.length)) {
- return '';
- } else {
- return ' ';
- }
- });
- return value;
- });
- }
- return end;
- }
-
- commentToken() {
- var comment, here, match;
- if (!(match = this.chunk.match(COMMENT))) {
- return 0;
- }
- [comment, here] = match;
- if (here) {
- if (match = HERECOMMENT_ILLEGAL.exec(comment)) {
- this.error(`block comments cannot contain ${match[0]}`, {
- offset: match.index,
- length: match[0].length
- });
- }
- if (here.indexOf('\n') >= 0) {
- here = here.replace(RegExp(`\\n${repeat(' ', this.indent)}`, "g"), '\n');
- }
- this.token('HERECOMMENT', here, 0, comment.length);
- }
- return comment.length;
- }
-
- jsToken() {
- var match, script;
- if (!(this.chunk.charAt(0) === '`' && (match = HERE_JSTOKEN.exec(this.chunk) || JSTOKEN.exec(this.chunk)))) {
- return 0;
- }
- script = match[1].replace(/\\+(`|$)/g, function(string) {
- return string.slice(-Math.ceil(string.length / 2));
- });
- this.token('JS', script, 0, match[0].length);
- return match[0].length;
- }
-
- regexToken() {
- var body, closed, end, flags, index, match, origin, prev, ref, ref1, regex, tokens;
- switch (false) {
- case !(match = REGEX_ILLEGAL.exec(this.chunk)):
- this.error(`regular expressions cannot begin with ${match[2]}`, {
- offset: match.index + match[1].length
- });
- break;
- case !(match = this.matchWithInterpolations(HEREGEX, '///')):
- ({tokens, index} = match);
- break;
- case !(match = REGEX.exec(this.chunk)):
- [regex, body, closed] = match;
- this.validateEscapes(body, {
- isRegex: true,
- offsetInChunk: 1
- });
- index = regex.length;
- prev = this.prev();
- if (prev) {
- if (prev.spaced && (ref = prev[0], indexOf.call(CALLABLE, ref) >= 0)) {
- if (!closed || POSSIBLY_DIVISION.test(regex)) {
- return 0;
- }
- } else if (ref1 = prev[0], indexOf.call(NOT_REGEX, ref1) >= 0) {
- return 0;
- }
- }
- if (!closed) {
- this.error('missing / (unclosed regex)');
- }
- break;
- default:
- return 0;
- }
- [flags] = REGEX_FLAGS.exec(this.chunk.slice(index));
- end = index + flags.length;
- origin = this.makeToken('REGEX', null, 0, end);
- switch (false) {
- case !!VALID_FLAGS.test(flags):
- this.error(`invalid regular expression flags ${flags}`, {
- offset: index,
- length: flags.length
- });
- break;
- case !(regex || tokens.length === 1):
- if (body == null) {
- body = this.formatHeregex(tokens[0][1]);
- }
- this.token('REGEX', `${this.makeDelimitedLiteral(body, {
- delimiter: '/'
- })}${flags}`, 0, end, origin);
- break;
- default:
- this.token('REGEX_START', '(', 0, 0, origin);
- this.token('IDENTIFIER', 'RegExp', 0, 0);
- this.token('CALL_START', '(', 0, 0);
- this.mergeInterpolationTokens(tokens, {
- delimiter: '"',
- double: true
- }, this.formatHeregex);
- if (flags) {
- this.token(',', ',', index - 1, 0);
- this.token('STRING', '"' + flags + '"', index - 1, flags.length);
- }
- this.token(')', ')', end - 1, 0);
- this.token('REGEX_END', ')', end - 1, 0);
- }
- return end;
- }
-
- lineToken() {
- var diff, indent, match, minLiteralLength, newIndentLiteral, noNewlines, size;
- if (!(match = MULTI_DENT.exec(this.chunk))) {
- return 0;
- }
- indent = match[0];
- this.seenFor = false;
- if (!this.importSpecifierList) {
- this.seenImport = false;
- }
- if (!this.exportSpecifierList) {
- this.seenExport = false;
- }
- size = indent.length - 1 - indent.lastIndexOf('\n');
- noNewlines = this.unfinished();
- newIndentLiteral = size > 0 ? indent.slice(-size) : '';
- if (!/^(.?)\1*$/.exec(newIndentLiteral)) {
- this.error('mixed indentation', {
- offset: indent.length
- });
- return indent.length;
- }
- minLiteralLength = Math.min(newIndentLiteral.length, this.indentLiteral.length);
- if (newIndentLiteral.slice(0, minLiteralLength) !== this.indentLiteral.slice(0, minLiteralLength)) {
- this.error('indentation mismatch', {
- offset: indent.length
- });
- return indent.length;
- }
- if (size - this.indebt === this.indent) {
- if (noNewlines) {
- this.suppressNewlines();
- } else {
- this.newlineToken(0);
- }
- return indent.length;
- }
- if (size > this.indent) {
- if (noNewlines) {
- this.indebt = size - this.indent;
- this.suppressNewlines();
- return indent.length;
- }
- if (!this.tokens.length) {
- this.baseIndent = this.indent = size;
- this.indentLiteral = newIndentLiteral;
- return indent.length;
- }
- diff = size - this.indent + this.outdebt;
- this.token('INDENT', diff, indent.length - size, size);
- this.indents.push(diff);
- this.ends.push({
- tag: 'OUTDENT'
- });
- this.outdebt = this.indebt = 0;
- this.indent = size;
- this.indentLiteral = newIndentLiteral;
- } else if (size < this.baseIndent) {
- this.error('missing indentation', {
- offset: indent.length
- });
- } else {
- this.indebt = 0;
- this.outdentToken(this.indent - size, noNewlines, indent.length);
- }
- return indent.length;
- }
-
- outdentToken(moveOut, noNewlines, outdentLength) {
- var decreasedIndent, dent, lastIndent, ref;
- decreasedIndent = this.indent - moveOut;
- while (moveOut > 0) {
- lastIndent = this.indents[this.indents.length - 1];
- if (!lastIndent) {
- moveOut = 0;
- } else if (this.outdebt && moveOut <= this.outdebt) {
- this.outdebt -= moveOut;
- moveOut = 0;
- } else {
- dent = this.indents.pop() + this.outdebt;
- if (outdentLength && (ref = this.chunk[outdentLength], indexOf.call(INDENTABLE_CLOSERS, ref) >= 0)) {
- decreasedIndent -= dent - moveOut;
- moveOut = dent;
- }
- this.outdebt = 0;
- this.pair('OUTDENT');
- this.token('OUTDENT', moveOut, 0, outdentLength);
- moveOut -= dent;
- }
- }
- if (dent) {
- this.outdebt -= moveOut;
- }
- while (this.value() === ';') {
- this.tokens.pop();
- }
- if (!(this.tag() === 'TERMINATOR' || noNewlines)) {
- this.token('TERMINATOR', '\n', outdentLength, 0);
- }
- this.indent = decreasedIndent;
- this.indentLiteral = this.indentLiteral.slice(0, decreasedIndent);
- return this;
- }
-
- whitespaceToken() {
- var match, nline, prev;
- if (!((match = WHITESPACE.exec(this.chunk)) || (nline = this.chunk.charAt(0) === '\n'))) {
- return 0;
- }
- prev = this.prev();
- if (prev) {
- prev[match ? 'spaced' : 'newLine'] = true;
- }
- if (match) {
- return match[0].length;
- } else {
- return 0;
- }
- }
-
- newlineToken(offset) {
- while (this.value() === ';') {
- this.tokens.pop();
- }
- if (this.tag() !== 'TERMINATOR') {
- this.token('TERMINATOR', '\n', offset, 0);
- }
- return this;
- }
-
- suppressNewlines() {
- if (this.value() === '\\') {
- this.tokens.pop();
- }
- return this;
- }
-
- literalToken() {
- var match, message, origin, prev, ref, ref1, ref2, ref3, skipToken, tag, token, value;
- if (match = OPERATOR.exec(this.chunk)) {
- [value] = match;
- if (CODE.test(value)) {
- this.tagParameters();
- }
- } else {
- value = this.chunk.charAt(0);
- }
- tag = value;
- prev = this.prev();
- if (prev && indexOf.call(['=', ...COMPOUND_ASSIGN], value) >= 0) {
- skipToken = false;
- if (value === '=' && ((ref = prev[1]) === '||' || ref === '&&') && !prev.spaced) {
- prev[0] = 'COMPOUND_ASSIGN';
- prev[1] += '=';
- prev = this.tokens[this.tokens.length - 2];
- skipToken = true;
- }
- if (prev && prev[0] !== 'PROPERTY') {
- origin = (ref1 = prev.origin) != null ? ref1 : prev;
- message = isUnassignable(prev[1], origin[1]);
- if (message) {
- this.error(message, origin[2]);
- }
- }
- if (skipToken) {
- return value.length;
- }
- }
- if (value === '{' && this.seenImport) {
- this.importSpecifierList = true;
- } else if (this.importSpecifierList && value === '}') {
- this.importSpecifierList = false;
- } else if (value === '{' && (prev != null ? prev[0] : void 0) === 'EXPORT') {
- this.exportSpecifierList = true;
- } else if (this.exportSpecifierList && value === '}') {
- this.exportSpecifierList = false;
- }
- if (value === ';') {
- this.seenFor = this.seenImport = this.seenExport = false;
- tag = 'TERMINATOR';
- } else if (value === '*' && prev[0] === 'EXPORT') {
- tag = 'EXPORT_ALL';
- } else if (indexOf.call(MATH, value) >= 0) {
- tag = 'MATH';
- } else if (indexOf.call(COMPARE, value) >= 0) {
- tag = 'COMPARE';
- } else if (indexOf.call(COMPOUND_ASSIGN, value) >= 0) {
- tag = 'COMPOUND_ASSIGN';
- } else if (indexOf.call(UNARY, value) >= 0) {
- tag = 'UNARY';
- } else if (indexOf.call(UNARY_MATH, value) >= 0) {
- tag = 'UNARY_MATH';
- } else if (indexOf.call(SHIFT, value) >= 0) {
- tag = 'SHIFT';
- } else if (value === '?' && (prev != null ? prev.spaced : void 0)) {
- tag = 'BIN?';
- } else if (prev && !prev.spaced) {
- if (value === '(' && (ref2 = prev[0], indexOf.call(CALLABLE, ref2) >= 0)) {
- if (prev[0] === '?') {
- prev[0] = 'FUNC_EXIST';
- }
- tag = 'CALL_START';
- } else if (value === '[' && (ref3 = prev[0], indexOf.call(INDEXABLE, ref3) >= 0)) {
- tag = 'INDEX_START';
- switch (prev[0]) {
- case '?':
- prev[0] = 'INDEX_SOAK';
- }
- }
- }
- token = this.makeToken(tag, value);
- switch (value) {
- case '(':
- case '{':
- case '[':
- this.ends.push({
- tag: INVERSES[value],
- origin: token
- });
- break;
- case ')':
- case '}':
- case ']':
- this.pair(value);
- }
- this.tokens.push(token);
- return value.length;
- }
-
- tagParameters() {
- var i, stack, tok, tokens;
- if (this.tag() !== ')') {
- return this;
- }
- stack = [];
- ({tokens} = this);
- i = tokens.length;
- tokens[--i][0] = 'PARAM_END';
- while (tok = tokens[--i]) {
- switch (tok[0]) {
- case ')':
- stack.push(tok);
- break;
- case '(':
- case 'CALL_START':
- if (stack.length) {
- stack.pop();
- } else if (tok[0] === '(') {
- tok[0] = 'PARAM_START';
- return this;
- } else {
- return this;
- }
- }
- }
- return this;
- }
-
- closeIndentation() {
- return this.outdentToken(this.indent);
- }
-
- matchWithInterpolations(regex, delimiter) {
- var close, column, firstToken, index, lastToken, line, nested, offsetInChunk, open, ref, str, strPart, tokens;
- tokens = [];
- offsetInChunk = delimiter.length;
- if (this.chunk.slice(0, offsetInChunk) !== delimiter) {
- return null;
- }
- str = this.chunk.slice(offsetInChunk);
- while (true) {
- [strPart] = regex.exec(str);
- this.validateEscapes(strPart, {
- isRegex: delimiter.charAt(0) === '/',
- offsetInChunk
- });
- tokens.push(this.makeToken('NEOSTRING', strPart, offsetInChunk));
- str = str.slice(strPart.length);
- offsetInChunk += strPart.length;
- if (str.slice(0, 2) !== '#{') {
- break;
- }
- [line, column] = this.getLineAndColumnFromChunk(offsetInChunk + 1);
- ({
- tokens: nested,
- index
- } = new Lexer().tokenize(str.slice(1), {
- line: line,
- column: column,
- untilBalanced: true
- }));
- index += 1;
- open = nested[0], close = nested[nested.length - 1];
- open[0] = open[1] = '(';
- close[0] = close[1] = ')';
- close.origin = ['', 'end of interpolation', close[2]];
- if (((ref = nested[1]) != null ? ref[0] : void 0) === 'TERMINATOR') {
- nested.splice(1, 1);
- }
- tokens.push(['TOKENS', nested]);
- str = str.slice(index);
- offsetInChunk += index;
- }
- if (str.slice(0, delimiter.length) !== delimiter) {
- this.error(`missing ${delimiter}`, {
- length: delimiter.length
- });
- }
- firstToken = tokens[0], lastToken = tokens[tokens.length - 1];
- firstToken[2].first_column -= delimiter.length;
- if (lastToken[1].substr(-1) === '\n') {
- lastToken[2].last_line += 1;
- lastToken[2].last_column = delimiter.length - 1;
- } else {
- lastToken[2].last_column += delimiter.length;
- }
- if (lastToken[1].length === 0) {
- lastToken[2].last_column -= 1;
- }
- return {
- tokens,
- index: offsetInChunk + delimiter.length
- };
- }
-
- mergeInterpolationTokens(tokens, options, fn) {
- var converted, firstEmptyStringIndex, firstIndex, i, j, lastToken, len, locationToken, lparen, plusToken, rparen, tag, token, tokensToPush, value;
- if (tokens.length > 1) {
- lparen = this.token('STRING_START', '(', 0, 0);
- }
- firstIndex = this.tokens.length;
- for (i = j = 0, len = tokens.length; j < len; i = ++j) {
- token = tokens[i];
- [tag, value] = token;
- switch (tag) {
- case 'TOKENS':
- if (value.length === 2) {
- continue;
- }
- locationToken = value[0];
- tokensToPush = value;
- break;
- case 'NEOSTRING':
- converted = fn(token[1], i);
- if (converted.length === 0) {
- if (i === 0) {
- firstEmptyStringIndex = this.tokens.length;
- } else {
- continue;
- }
- }
- if (i === 2 && (firstEmptyStringIndex != null)) {
- this.tokens.splice(firstEmptyStringIndex, 2);
- }
- token[0] = 'STRING';
- token[1] = this.makeDelimitedLiteral(converted, options);
- locationToken = token;
- tokensToPush = [token];
- }
- if (this.tokens.length > firstIndex) {
- plusToken = this.token('+', '+');
- plusToken[2] = {
- first_line: locationToken[2].first_line,
- first_column: locationToken[2].first_column,
- last_line: locationToken[2].first_line,
- last_column: locationToken[2].first_column
- };
- }
- this.tokens.push(...tokensToPush);
- }
- if (lparen) {
- lastToken = tokens[tokens.length - 1];
- lparen.origin = [
- 'STRING', null, {
- first_line: lparen[2].first_line,
- first_column: lparen[2].first_column,
- last_line: lastToken[2].last_line,
- last_column: lastToken[2].last_column
- }
- ];
- rparen = this.token('STRING_END', ')');
- return rparen[2] = {
- first_line: lastToken[2].last_line,
- first_column: lastToken[2].last_column,
- last_line: lastToken[2].last_line,
- last_column: lastToken[2].last_column
- };
- }
- }
-
- pair(tag) {
- var lastIndent, prev, ref, ref1, wanted;
- ref = this.ends, prev = ref[ref.length - 1];
- if (tag !== (wanted = prev != null ? prev.tag : void 0)) {
- if ('OUTDENT' !== wanted) {
- this.error(`unmatched ${tag}`);
- }
- ref1 = this.indents, lastIndent = ref1[ref1.length - 1];
- this.outdentToken(lastIndent, true);
- return this.pair(tag);
- }
- return this.ends.pop();
- }
-
- getLineAndColumnFromChunk(offset) {
- var column, lastLine, lineCount, ref, string;
- if (offset === 0) {
- return [this.chunkLine, this.chunkColumn];
- }
- if (offset >= this.chunk.length) {
- string = this.chunk;
- } else {
- string = this.chunk.slice(0, +(offset - 1) + 1 || 9e9);
- }
- lineCount = count(string, '\n');
- column = this.chunkColumn;
- if (lineCount > 0) {
- ref = string.split('\n'), lastLine = ref[ref.length - 1];
- column = lastLine.length;
- } else {
- column += string.length;
- }
- return [this.chunkLine + lineCount, column];
- }
-
- makeToken(tag, value, offsetInChunk = 0, length = value.length) {
- var lastCharacter, locationData, token;
- locationData = {};
- [locationData.first_line, locationData.first_column] = this.getLineAndColumnFromChunk(offsetInChunk);
- lastCharacter = length > 0 ? length - 1 : 0;
- [locationData.last_line, locationData.last_column] = this.getLineAndColumnFromChunk(offsetInChunk + lastCharacter);
- token = [tag, value, locationData];
- return token;
- }
-
- token(tag, value, offsetInChunk, length, origin) {
- var token;
- token = this.makeToken(tag, value, offsetInChunk, length);
- if (origin) {
- token.origin = origin;
- }
- this.tokens.push(token);
- return token;
- }
-
- tag() {
- var ref, token;
- ref = this.tokens, token = ref[ref.length - 1];
- return token != null ? token[0] : void 0;
- }
-
- value() {
- var ref, token;
- ref = this.tokens, token = ref[ref.length - 1];
- return token != null ? token[1] : void 0;
- }
-
- prev() {
- return this.tokens[this.tokens.length - 1];
- }
-
- unfinished() {
- var ref;
- return LINE_CONTINUER.test(this.chunk) || ((ref = this.tag()) === '\\' || ref === '.' || ref === '?.' || ref === '?::' || ref === 'UNARY' || ref === 'MATH' || ref === 'UNARY_MATH' || ref === '+' || ref === '-' || ref === '**' || ref === 'SHIFT' || ref === 'RELATION' || ref === 'COMPARE' || ref === '&' || ref === '^' || ref === '|' || ref === '&&' || ref === '||' || ref === 'BIN?' || ref === 'THROW' || ref === 'EXTENDS');
- }
-
- formatString(str) {
- return str.replace(STRING_OMIT, '$1');
- }
-
- formatHeregex(str) {
- return str.replace(HEREGEX_OMIT, '$1$2');
- }
-
- validateEscapes(str, options = {}) {
- var before, hex, invalidEscape, invalidEscapeRegex, match, message, octal, ref, unicode;
- invalidEscapeRegex = options.isRegex ? REGEX_INVALID_ESCAPE : STRING_INVALID_ESCAPE;
- match = invalidEscapeRegex.exec(str);
- if (!match) {
- return;
- }
- match[0], before = match[1], octal = match[2], hex = match[3], unicode = match[4];
- message = octal ? "octal escape sequences are not allowed" : "invalid escape sequence";
- invalidEscape = `\\${octal || hex || unicode}`;
- return this.error(`${message} ${invalidEscape}`, {
- offset: ((ref = options.offsetInChunk) != null ? ref : 0) + match.index + before.length,
- length: invalidEscape.length
- });
- }
-
- makeDelimitedLiteral(body, options = {}) {
- var regex;
- if (body === '' && options.delimiter === '/') {
- body = '(?:)';
- }
- regex = RegExp(`(\\\\\\\\)|(\\\\0(?=[1-7]))|\\\\?(${options.delimiter})|\\\\?(?:(\\n)|(\\r)|(\\u2028)|(\\u2029))|(\\\\.)`, "g");
- body = body.replace(regex, function(match, backslash, nul, delimiter, lf, cr, ls, ps, other) {
- switch (false) {
- case !backslash:
- if (options.double) {
- return backslash + backslash;
- } else {
- return backslash;
- }
- case !nul:
- return '\\x00';
- case !delimiter:
- return `\\${delimiter}`;
- case !lf:
- return '\\n';
- case !cr:
- return '\\r';
- case !ls:
- return '\\u2028';
- case !ps:
- return '\\u2029';
- case !other:
- if (options.double) {
- return `\\${other}`;
- } else {
- return other;
- }
- }
- });
- return `${options.delimiter}${body}${options.delimiter}`;
- }
-
- error(message, options = {}) {
- var first_column, first_line, location, ref, ref1;
- location = 'first_line' in options ? options : ([first_line, first_column] = this.getLineAndColumnFromChunk((ref = options.offset) != null ? ref : 0), {
- first_line,
- first_column,
- last_column: first_column + ((ref1 = options.length) != null ? ref1 : 1) - 1
- });
- return throwSyntaxError(message, location);
- }
-
- };
-
- isUnassignable = function(name, displayName = name) {
- switch (false) {
- case indexOf.call([...JS_KEYWORDS, ...COFFEE_KEYWORDS], name) < 0:
- return `keyword '${displayName}' can't be assigned`;
- case indexOf.call(STRICT_PROSCRIBED, name) < 0:
- return `'${displayName}' can't be assigned`;
- case indexOf.call(RESERVED, name) < 0:
- return `reserved word '${displayName}' can't be assigned`;
- default:
- return false;
- }
- };
-
- exports.isUnassignable = isUnassignable;
-
- isForFrom = function(prev) {
- var ref;
- if (prev[0] === 'IDENTIFIER') {
- if (prev[1] === 'from') {
- prev[1][0] = 'IDENTIFIER';
- true;
- }
- return true;
- } else if (prev[0] === 'FOR') {
- return false;
- } else if ((ref = prev[1]) === '{' || ref === '[' || ref === ',' || ref === ':') {
- return false;
- } else {
- return true;
- }
- };
-
- JS_KEYWORDS = ['true', 'false', 'null', 'this', 'new', 'delete', 'typeof', 'in', 'instanceof', 'return', 'throw', 'break', 'continue', 'debugger', 'yield', 'await', 'if', 'else', 'switch', 'for', 'while', 'do', 'try', 'catch', 'finally', 'class', 'extends', 'super', 'import', 'export', 'default'];
-
- COFFEE_KEYWORDS = ['undefined', 'Infinity', 'NaN', 'then', 'unless', 'until', 'loop', 'of', 'by', 'when'];
-
- COFFEE_ALIAS_MAP = {
- and: '&&',
- or: '||',
- is: '==',
- isnt: '!=',
- not: '!',
- yes: 'true',
- no: 'false',
- on: 'true',
- off: 'false'
- };
-
- COFFEE_ALIASES = (function() {
- var results;
- results = [];
- for (key in COFFEE_ALIAS_MAP) {
- results.push(key);
- }
- return results;
- })();
-
- COFFEE_KEYWORDS = COFFEE_KEYWORDS.concat(COFFEE_ALIASES);
-
- RESERVED = ['case', 'function', 'var', 'void', 'with', 'const', 'let', 'enum', 'native', 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static'];
-
- STRICT_PROSCRIBED = ['arguments', 'eval'];
-
- exports.JS_FORBIDDEN = JS_KEYWORDS.concat(RESERVED).concat(STRICT_PROSCRIBED);
-
- BOM = 65279;
-
- IDENTIFIER = /^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/;
-
- NUMBER = /^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i;
-
- OPERATOR = /^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/;
-
- WHITESPACE = /^[^\n\S]+/;
-
- COMMENT = /^###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/;
-
- CODE = /^[-=]>/;
-
- MULTI_DENT = /^(?:\n[^\n\S]*)+/;
-
- JSTOKEN = /^`(?!``)((?:[^`\\]|\\[\s\S])*)`/;
-
- HERE_JSTOKEN = /^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/;
-
- STRING_START = /^(?:'''|"""|'|")/;
-
- STRING_SINGLE = /^(?:[^\\']|\\[\s\S])*/;
-
- STRING_DOUBLE = /^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/;
-
- HEREDOC_SINGLE = /^(?:[^\\']|\\[\s\S]|'(?!''))*/;
-
- HEREDOC_DOUBLE = /^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/;
-
- STRING_OMIT = /((?:\\\\)+)|\\[^\S\n]*\n\s*/g;
-
- SIMPLE_STRING_OMIT = /\s*\n\s*/g;
-
- HEREDOC_INDENT = /\n+([^\n\S]*)(?=\S)/g;
-
- REGEX = /^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/;
-
- REGEX_FLAGS = /^\w*/;
-
- VALID_FLAGS = /^(?!.*(.).*\1)[imgy]*$/;
-
- HEREGEX = /^(?:[^\\\/#]|\\[\s\S]|\/(?!\/\/)|\#(?!\{))*/;
-
- HEREGEX_OMIT = /((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g;
-
- REGEX_ILLEGAL = /^(\/|\/{3}\s*)(\*)/;
-
- POSSIBLY_DIVISION = /^\/=?\s/;
-
- HERECOMMENT_ILLEGAL = /\*\//;
-
- LINE_CONTINUER = /^\s*(?:,|\??\.(?![.\d])|::)/;
-
- STRING_INVALID_ESCAPE = /((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u(?![\da-fA-F]{4}).{0,4}))/;
-
- REGEX_INVALID_ESCAPE = /((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7])|(x(?![\da-fA-F]{2}).{0,2})|(u(?![\da-fA-F]{4}).{0,4}))/;
-
- LEADING_BLANK_LINE = /^[^\n\S]*\n/;
-
- TRAILING_BLANK_LINE = /\n[^\n\S]*$/;
-
- TRAILING_SPACES = /\s+$/;
-
- COMPOUND_ASSIGN = ['-=', '+=', '/=', '*=', '%=', '||=', '&&=', '?=', '<<=', '>>=', '>>>=', '&=', '^=', '|=', '**=', '//=', '%%='];
-
- UNARY = ['NEW', 'TYPEOF', 'DELETE', 'DO'];
-
- UNARY_MATH = ['!', '~'];
-
- SHIFT = ['<<', '>>', '>>>'];
-
- COMPARE = ['==', '!=', '<', '>', '<=', '>='];
-
- MATH = ['*', '/', '%', '//', '%%'];
-
- RELATION = ['IN', 'OF', 'INSTANCEOF'];
-
- BOOL = ['TRUE', 'FALSE'];
-
- CALLABLE = ['IDENTIFIER', 'PROPERTY', ')', ']', '?', '@', 'THIS', 'SUPER'];
-
- INDEXABLE = CALLABLE.concat(['NUMBER', 'INFINITY', 'NAN', 'STRING', 'STRING_END', 'REGEX', 'REGEX_END', 'BOOL', 'NULL', 'UNDEFINED', '}', '::']);
-
- NOT_REGEX = INDEXABLE.concat(['++', '--']);
-
- LINE_BREAK = ['INDENT', 'OUTDENT', 'TERMINATOR'];
-
- INDENTABLE_CLOSERS = [')', '}', ']'];
-
-}).call(this);
-
- return module.exports;
-})();require['./parser'] = (function() {
- var exports = {}, module = {exports: exports};
- /* parser generated by jison 0.4.17 */
-/*
- Returns a Parser object of the following structure:
-
- Parser: {
- yy: {}
- }
-
- Parser.prototype: {
- yy: {},
- trace: function(),
- symbols_: {associative list: name ==> number},
- terminals_: {associative list: number ==> name},
- productions_: [...],
- performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
- table: [...],
- defaultActions: {...},
- parseError: function(str, hash),
- parse: function(input),
-
- lexer: {
- EOF: 1,
- parseError: function(str, hash),
- setInput: function(input),
- input: function(),
- unput: function(str),
- more: function(),
- less: function(n),
- pastInput: function(),
- upcomingInput: function(),
- showPosition: function(),
- test_match: function(regex_match_array, rule_index),
- next: function(),
- lex: function(),
- begin: function(condition),
- popState: function(),
- _currentRules: function(),
- topState: function(),
- pushState: function(condition),
-
- options: {
- ranges: boolean (optional: true ==> token location info will include a .range[] member)
- flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
- backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
- },
-
- performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
- rules: [...],
- conditions: {associative list: name ==> set},
- }
- }
-
-
- token location info (@$, _$, etc.): {
- first_line: n,
- last_line: n,
- first_column: n,
- last_column: n,
- range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
- }
-
-
- the parseError function receives a 'hash' object with these members for lexer and parser errors: {
- text: (matched text)
- token: (the produced terminal token, if any)
- line: (yylineno)
- }
- while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
- loc: (yylloc)
- expected: (string describing the set of expected tokens)
- recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
- }
-*/
-var parser = (function(){
-var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,22],$V1=[1,52],$V2=[1,86],$V3=[1,82],$V4=[1,87],$V5=[1,88],$V6=[1,84],$V7=[1,85],$V8=[1,60],$V9=[1,62],$Va=[1,63],$Vb=[1,64],$Vc=[1,65],$Vd=[1,66],$Ve=[1,53],$Vf=[1,40],$Vg=[1,54],$Vh=[1,34],$Vi=[1,71],$Vj=[1,72],$Vk=[1,33],$Vl=[1,81],$Vm=[1,50],$Vn=[1,55],$Vo=[1,56],$Vp=[1,69],$Vq=[1,70],$Vr=[1,68],$Vs=[1,45],$Vt=[1,51],$Vu=[1,67],$Vv=[1,76],$Vw=[1,77],$Vx=[1,78],$Vy=[1,79],$Vz=[1,49],$VA=[1,75],$VB=[1,36],$VC=[1,37],$VD=[1,38],$VE=[1,39],$VF=[1,41],$VG=[1,42],$VH=[1,89],$VI=[1,6,34,44,134],$VJ=[1,104],$VK=[1,92],$VL=[1,91],$VM=[1,90],$VN=[1,93],$VO=[1,94],$VP=[1,95],$VQ=[1,96],$VR=[1,97],$VS=[1,98],$VT=[1,99],$VU=[1,100],$VV=[1,101],$VW=[1,102],$VX=[1,103],$VY=[1,107],$VZ=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$V_=[2,171],$V$=[1,113],$V01=[1,118],$V11=[1,114],$V21=[1,115],$V31=[1,116],$V41=[1,119],$V51=[1,112],$V61=[1,6,34,44,134,136,138,142,159],$V71=[1,6,33,34,42,43,44,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$V81=[2,98],$V91=[2,77],$Va1=[1,129],$Vb1=[1,134],$Vc1=[1,135],$Vd1=[1,137],$Ve1=[1,141],$Vf1=[1,139],$Vg1=[1,6,33,34,42,43,44,57,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$Vh1=[2,95],$Vi1=[1,6,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$Vj1=[2,29],$Vk1=[1,167],$Vl1=[2,65],$Vm1=[1,175],$Vn1=[1,187],$Vo1=[1,189],$Vp1=[1,184],$Vq1=[1,191],$Vr1=[1,6,33,34,42,43,44,57,68,73,76,87,88,89,90,91,92,95,99,101,116,117,118,123,125,134,136,137,138,142,143,159,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],$Vs1=[2,117],$Vt1=[1,6,33,34,42,43,44,60,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$Vu1=[1,6,33,34,42,43,44,48,60,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$Vv1=[1,239],$Vw1=[42,43,117],$Vx1=[1,249],$Vy1=[1,248],$Vz1=[2,75],$VA1=[1,259],$VB1=[6,33,34,68,73],$VC1=[6,33,34,57,68,73,76],$VD1=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,162,163,167,168,169,170,171,172,173,174,175,176,177],$VE1=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,162,163,167,169,170,171,172,173,174,175,176,177],$VF1=[42,43,87,88,90,91,92,95,116,117],$VG1=[1,279],$VH1=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159],$VI1=[2,64],$VJ1=[1,291],$VK1=[1,293],$VL1=[1,298],$VM1=[1,300],$VN1=[2,192],$VO1=[1,6,33,34,42,43,44,57,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,149,150,151,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$VP1=[1,309],$VQ1=[6,33,34,73,118,123],$VR1=[1,6,33,34,42,43,44,57,60,68,73,76,87,88,89,90,91,92,95,99,101,116,117,118,123,125,134,136,137,138,142,143,149,150,151,159,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],$VS1=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,143,159],$VT1=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,137,143,159],$VU1=[149,150,151],$VV1=[73,149,150,151],$VW1=[6,33,99],$VX1=[1,321],$VY1=[6,33,34,73,99],$VZ1=[6,33,34,60,73,99],$V_1=[6,33,34,57,60,73,99],$V$1=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,162,163,169,170,171,172,173,174,175,176,177],$V02=[1,6,33,34,44,48,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$V12=[14,30,36,40,42,43,46,47,50,51,52,53,54,55,63,64,65,66,70,71,86,89,97,100,102,110,120,121,122,128,132,133,136,138,140,142,152,158,160,161,162,163,164,165],$V22=[2,181],$V32=[6,33,34],$V42=[2,76],$V52=[1,336],$V62=[1,337],$V72=[1,6,33,34,44,68,73,76,89,99,118,123,125,130,131,134,136,137,138,142,143,154,156,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$V82=[34,154,156],$V92=[1,6,34,44,68,73,76,89,99,118,123,125,134,137,143,159],$Va2=[1,363],$Vb2=[1,369],$Vc2=[1,6,34,44,134,159],$Vd2=[2,90],$Ve2=[1,380],$Vf2=[1,381],$Vg2=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,154,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$Vh2=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,138,142,143,159],$Vi2=[1,393],$Vj2=[1,394],$Vk2=[6,33,34,99],$Vl2=[6,33,34,73],$Vm2=[1,6,33,34,44,68,73,76,89,99,118,123,125,130,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],$Vn2=[33,73],$Vo2=[1,421],$Vp2=[1,422],$Vq2=[1,428],$Vr2=[1,429];
-var parser = {trace: function trace() { },
-yy: {},
-symbols_: {"error":2,"Root":3,"Body":4,"Line":5,"TERMINATOR":6,"Expression":7,"Statement":8,"FuncDirective":9,"YieldReturn":10,"AwaitReturn":11,"Return":12,"Comment":13,"STATEMENT":14,"Import":15,"Export":16,"Value":17,"Invocation":18,"Code":19,"Operation":20,"Assign":21,"If":22,"Try":23,"While":24,"For":25,"Switch":26,"Class":27,"Throw":28,"Yield":29,"YIELD":30,"FROM":31,"Block":32,"INDENT":33,"OUTDENT":34,"Identifier":35,"IDENTIFIER":36,"Property":37,"PROPERTY":38,"AlphaNumeric":39,"NUMBER":40,"String":41,"STRING":42,"STRING_START":43,"STRING_END":44,"Regex":45,"REGEX":46,"REGEX_START":47,"REGEX_END":48,"Literal":49,"JS":50,"UNDEFINED":51,"NULL":52,"BOOL":53,"INFINITY":54,"NAN":55,"Assignable":56,"=":57,"AssignObj":58,"ObjAssignable":59,":":60,"SimpleObjAssignable":61,"ThisProperty":62,"RETURN":63,"AWAIT":64,"HERECOMMENT":65,"PARAM_START":66,"ParamList":67,"PARAM_END":68,"FuncGlyph":69,"->":70,"=>":71,"OptComma":72,",":73,"Param":74,"ParamVar":75,"...":76,"Array":77,"Object":78,"Splat":79,"SimpleAssignable":80,"Accessor":81,"Parenthetical":82,"Range":83,"This":84,"Super":85,"SUPER":86,".":87,"INDEX_START":88,"INDEX_END":89,"?.":90,"::":91,"?::":92,"Index":93,"IndexValue":94,"INDEX_SOAK":95,"Slice":96,"{":97,"AssignList":98,"}":99,"CLASS":100,"EXTENDS":101,"IMPORT":102,"ImportDefaultSpecifier":103,"ImportNamespaceSpecifier":104,"ImportSpecifierList":105,"ImportSpecifier":106,"AS":107,"DEFAULT":108,"IMPORT_ALL":109,"EXPORT":110,"ExportSpecifierList":111,"EXPORT_ALL":112,"ExportSpecifier":113,"OptFuncExist":114,"Arguments":115,"FUNC_EXIST":116,"CALL_START":117,"CALL_END":118,"ArgList":119,"THIS":120,"@":121,"[":122,"]":123,"RangeDots":124,"..":125,"Arg":126,"SimpleArgs":127,"TRY":128,"Catch":129,"FINALLY":130,"CATCH":131,"THROW":132,"(":133,")":134,"WhileSource":135,"WHILE":136,"WHEN":137,"UNTIL":138,"Loop":139,"LOOP":140,"ForBody":141,"FOR":142,"BY":143,"ForStart":144,"ForSource":145,"ForVariables":146,"OWN":147,"ForValue":148,"FORIN":149,"FOROF":150,"FORFROM":151,"SWITCH":152,"Whens":153,"ELSE":154,"When":155,"LEADING_WHEN":156,"IfBlock":157,"IF":158,"POST_IF":159,"UNARY":160,"UNARY_MATH":161,"-":162,"+":163,"--":164,"++":165,"?":166,"MATH":167,"**":168,"SHIFT":169,"COMPARE":170,"&":171,"^":172,"|":173,"&&":174,"||":175,"BIN?":176,"RELATION":177,"COMPOUND_ASSIGN":178,"$accept":0,"$end":1},
-terminals_: {2:"error",6:"TERMINATOR",14:"STATEMENT",30:"YIELD",31:"FROM",33:"INDENT",34:"OUTDENT",36:"IDENTIFIER",38:"PROPERTY",40:"NUMBER",42:"STRING",43:"STRING_START",44:"STRING_END",46:"REGEX",47:"REGEX_START",48:"REGEX_END",50:"JS",51:"UNDEFINED",52:"NULL",53:"BOOL",54:"INFINITY",55:"NAN",57:"=",60:":",63:"RETURN",64:"AWAIT",65:"HERECOMMENT",66:"PARAM_START",68:"PARAM_END",70:"->",71:"=>",73:",",76:"...",86:"SUPER",87:".",88:"INDEX_START",89:"INDEX_END",90:"?.",91:"::",92:"?::",95:"INDEX_SOAK",97:"{",99:"}",100:"CLASS",101:"EXTENDS",102:"IMPORT",107:"AS",108:"DEFAULT",109:"IMPORT_ALL",110:"EXPORT",112:"EXPORT_ALL",116:"FUNC_EXIST",117:"CALL_START",118:"CALL_END",120:"THIS",121:"@",122:"[",123:"]",125:"..",128:"TRY",130:"FINALLY",131:"CATCH",132:"THROW",133:"(",134:")",136:"WHILE",137:"WHEN",138:"UNTIL",140:"LOOP",142:"FOR",143:"BY",147:"OWN",149:"FORIN",150:"FOROF",151:"FORFROM",152:"SWITCH",154:"ELSE",156:"LEADING_WHEN",158:"IF",159:"POST_IF",160:"UNARY",161:"UNARY_MATH",162:"-",163:"+",164:"--",165:"++",166:"?",167:"MATH",168:"**",169:"SHIFT",170:"COMPARE",171:"&",172:"^",173:"|",174:"&&",175:"||",176:"BIN?",177:"RELATION",178:"COMPOUND_ASSIGN"},
-productions_: [0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[29,1],[29,2],[29,3],[32,2],[32,3],[35,1],[37,1],[39,1],[39,1],[41,1],[41,3],[45,1],[45,3],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[21,3],[21,4],[21,5],[58,1],[58,3],[58,5],[58,3],[58,5],[58,1],[61,1],[61,1],[61,1],[59,1],[59,1],[12,2],[12,1],[10,3],[10,2],[11,3],[11,2],[13,1],[19,5],[19,2],[69,1],[69,1],[72,0],[72,1],[67,0],[67,1],[67,3],[67,4],[67,6],[74,1],[74,2],[74,3],[74,1],[75,1],[75,1],[75,1],[75,1],[79,2],[80,1],[80,2],[80,2],[80,1],[56,1],[56,1],[56,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[85,3],[85,4],[81,2],[81,2],[81,2],[81,2],[81,1],[81,1],[93,3],[93,2],[94,1],[94,1],[78,4],[98,0],[98,1],[98,3],[98,4],[98,6],[27,1],[27,2],[27,3],[27,4],[27,2],[27,3],[27,4],[27,5],[15,2],[15,4],[15,4],[15,5],[15,7],[15,6],[15,9],[105,1],[105,3],[105,4],[105,4],[105,6],[106,1],[106,3],[106,1],[106,3],[103,1],[104,3],[16,3],[16,5],[16,2],[16,4],[16,5],[16,6],[16,3],[16,4],[16,7],[111,1],[111,3],[111,4],[111,4],[111,6],[113,1],[113,3],[113,3],[113,1],[113,3],[18,3],[18,3],[18,3],[18,3],[114,0],[114,1],[115,2],[115,4],[84,1],[84,1],[62,2],[77,2],[77,4],[124,1],[124,1],[83,5],[96,3],[96,2],[96,2],[96,1],[119,1],[119,3],[119,4],[119,4],[119,6],[126,1],[126,1],[126,1],[127,1],[127,3],[23,2],[23,3],[23,4],[23,5],[129,3],[129,3],[129,2],[28,2],[82,3],[82,5],[135,2],[135,4],[135,2],[135,4],[24,2],[24,2],[24,2],[24,1],[139,2],[139,2],[25,2],[25,2],[25,2],[141,2],[141,4],[141,2],[144,2],[144,3],[148,1],[148,1],[148,1],[148,1],[146,1],[146,3],[145,2],[145,2],[145,4],[145,4],[145,4],[145,6],[145,6],[145,2],[145,4],[26,5],[26,7],[26,4],[26,6],[153,1],[153,2],[155,3],[155,4],[157,3],[157,5],[22,1],[22,3],[22,3],[22,3],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,5],[20,4],[20,3]],
-performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
-/* this == yyval */
-
-var $0 = $$.length - 1;
-switch (yystate) {
-case 1:
-return this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Block);
-break;
-case 2:
-return this.$ = $$[$0];
-break;
-case 3:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(yy.Block.wrap([$$[$0]]));
-break;
-case 4:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].push($$[$0]));
-break;
-case 5:
-this.$ = $$[$0-1];
-break;
-case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 37: case 42: case 44: case 58: case 59: case 60: case 61: case 62: case 63: case 75: case 76: case 86: case 87: case 88: case 89: case 94: case 95: case 98: case 102: case 103: case 111: case 192: case 193: case 195: case 225: case 226: case 244: case 250:
-this.$ = $$[$0];
-break;
-case 13:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.StatementLiteral($$[$0]));
-break;
-case 29:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Op($$[$0], new yy.Value(new yy.Literal(''))));
-break;
-case 30: case 254: case 255: case 258:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op($$[$0-1], $$[$0]));
-break;
-case 31:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op($$[$0-2].concat($$[$0-1]), $$[$0]));
-break;
-case 32:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Block);
-break;
-case 33: case 112:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-1]);
-break;
-case 34:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.IdentifierLiteral($$[$0]));
-break;
-case 35:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.PropertyName($$[$0]));
-break;
-case 36:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.NumberLiteral($$[$0]));
-break;
-case 38:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.StringLiteral($$[$0]));
-break;
-case 39:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.StringWithInterpolations($$[$0-1]));
-break;
-case 40:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.RegexLiteral($$[$0]));
-break;
-case 41:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.RegexWithInterpolations($$[$0-1].args));
-break;
-case 43:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.PassthroughLiteral($$[$0]));
-break;
-case 45:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.UndefinedLiteral);
-break;
-case 46:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.NullLiteral);
-break;
-case 47:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.BooleanLiteral($$[$0]));
-break;
-case 48:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.InfinityLiteral($$[$0]));
-break;
-case 49:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.NaNLiteral);
-break;
-case 50:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign($$[$0-2], $$[$0]));
-break;
-case 51:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Assign($$[$0-3], $$[$0]));
-break;
-case 52:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign($$[$0-4], $$[$0-1]));
-break;
-case 53: case 91: case 96: case 97: case 99: case 100: case 101: case 227: case 228:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value($$[$0]));
-break;
-case 54:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign(yy.addLocationDataFn(_$[$0-2])(new yy.Value($$[$0-2])), $$[$0], 'object', {
- operatorToken: yy.addLocationDataFn(_$[$0-1])(new yy.Literal($$[$0-1]))
- }));
-break;
-case 55:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign(yy.addLocationDataFn(_$[$0-4])(new yy.Value($$[$0-4])), $$[$0-1], 'object', {
- operatorToken: yy.addLocationDataFn(_$[$0-3])(new yy.Literal($$[$0-3]))
- }));
-break;
-case 56:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign(yy.addLocationDataFn(_$[$0-2])(new yy.Value($$[$0-2])), $$[$0], null, {
- operatorToken: yy.addLocationDataFn(_$[$0-1])(new yy.Literal($$[$0-1]))
- }));
-break;
-case 57:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign(yy.addLocationDataFn(_$[$0-4])(new yy.Value($$[$0-4])), $$[$0-1], null, {
- operatorToken: yy.addLocationDataFn(_$[$0-3])(new yy.Literal($$[$0-3]))
- }));
-break;
-case 64:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Return($$[$0]));
-break;
-case 65:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Return);
-break;
-case 66:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.YieldReturn($$[$0]));
-break;
-case 67:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.YieldReturn);
-break;
-case 68:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.AwaitReturn($$[$0]));
-break;
-case 69:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.AwaitReturn);
-break;
-case 70:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Comment($$[$0]));
-break;
-case 71:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Code($$[$0-3], $$[$0], $$[$0-1]));
-break;
-case 72:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Code([], $$[$0], $$[$0-1]));
-break;
-case 73:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('func');
-break;
-case 74:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('boundfunc');
-break;
-case 77: case 117:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])([]);
-break;
-case 78: case 118: case 137: case 157: case 187: case 229:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])([$$[$0]]);
-break;
-case 79: case 119: case 138: case 158: case 188:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].concat($$[$0]));
-break;
-case 80: case 120: case 139: case 159: case 189:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])($$[$0-3].concat($$[$0]));
-break;
-case 81: case 121: case 141: case 161: case 191:
-this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])($$[$0-5].concat($$[$0-2]));
-break;
-case 82:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Param($$[$0]));
-break;
-case 83:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Param($$[$0-1], null, true));
-break;
-case 84:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Param($$[$0-2], $$[$0]));
-break;
-case 85: case 194:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Expansion);
-break;
-case 90:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Splat($$[$0-1]));
-break;
-case 92:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0-1].add($$[$0]));
-break;
-case 93:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Value($$[$0-1], [].concat($$[$0])));
-break;
-case 104:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Super(yy.addLocationDataFn(_$[$0])(new yy.Access($$[$0]))));
-break;
-case 105:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Super(yy.addLocationDataFn(_$[$0-1])(new yy.Index($$[$0-1]))));
-break;
-case 106:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Access($$[$0]));
-break;
-case 107:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Access($$[$0], 'soak'));
-break;
-case 108:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([yy.addLocationDataFn(_$[$0-1])(new yy.Access(new yy.PropertyName('prototype'))), yy.addLocationDataFn(_$[$0])(new yy.Access($$[$0]))]);
-break;
-case 109:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([yy.addLocationDataFn(_$[$0-1])(new yy.Access(new yy.PropertyName('prototype'), 'soak')), yy.addLocationDataFn(_$[$0])(new yy.Access($$[$0]))]);
-break;
-case 110:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Access(new yy.PropertyName('prototype')));
-break;
-case 113:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(yy.extend($$[$0], {
- soak: true
- }));
-break;
-case 114:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Index($$[$0]));
-break;
-case 115:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Slice($$[$0]));
-break;
-case 116:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Obj($$[$0-2], $$[$0-3].generated));
-break;
-case 122:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Class);
-break;
-case 123:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Class(null, null, $$[$0]));
-break;
-case 124:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Class(null, $$[$0]));
-break;
-case 125:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Class(null, $$[$0-1], $$[$0]));
-break;
-case 126:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Class($$[$0]));
-break;
-case 127:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Class($$[$0-1], null, $$[$0]));
-break;
-case 128:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Class($$[$0-2], $$[$0]));
-break;
-case 129:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Class($$[$0-3], $$[$0-1], $$[$0]));
-break;
-case 130:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.ImportDeclaration(null, $$[$0]));
-break;
-case 131:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.ImportDeclaration(new yy.ImportClause($$[$0-2], null), $$[$0]));
-break;
-case 132:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.ImportDeclaration(new yy.ImportClause(null, $$[$0-2]), $$[$0]));
-break;
-case 133:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.ImportDeclaration(new yy.ImportClause(null, new yy.ImportSpecifierList([])), $$[$0]));
-break;
-case 134:
-this.$ = yy.addLocationDataFn(_$[$0-6], _$[$0])(new yy.ImportDeclaration(new yy.ImportClause(null, new yy.ImportSpecifierList($$[$0-4])), $$[$0]));
-break;
-case 135:
-this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])(new yy.ImportDeclaration(new yy.ImportClause($$[$0-4], $$[$0-2]), $$[$0]));
-break;
-case 136:
-this.$ = yy.addLocationDataFn(_$[$0-8], _$[$0])(new yy.ImportDeclaration(new yy.ImportClause($$[$0-7], new yy.ImportSpecifierList($$[$0-4])), $$[$0]));
-break;
-case 140: case 160: case 174: case 190:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])($$[$0-2]);
-break;
-case 142:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.ImportSpecifier($$[$0]));
-break;
-case 143:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.ImportSpecifier($$[$0-2], $$[$0]));
-break;
-case 144:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.ImportSpecifier(new yy.Literal($$[$0])));
-break;
-case 145:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.ImportSpecifier(new yy.Literal($$[$0-2]), $$[$0]));
-break;
-case 146:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.ImportDefaultSpecifier($$[$0]));
-break;
-case 147:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.ImportNamespaceSpecifier(new yy.Literal($$[$0-2]), $$[$0]));
-break;
-case 148:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.ExportNamedDeclaration(new yy.ExportSpecifierList([])));
-break;
-case 149:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.ExportNamedDeclaration(new yy.ExportSpecifierList($$[$0-2])));
-break;
-case 150:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.ExportNamedDeclaration($$[$0]));
-break;
-case 151:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.ExportNamedDeclaration(new yy.Assign($$[$0-2], $$[$0], null, {
- moduleDeclaration: 'export'
- })));
-break;
-case 152:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.ExportNamedDeclaration(new yy.Assign($$[$0-3], $$[$0], null, {
- moduleDeclaration: 'export'
- })));
-break;
-case 153:
-this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])(new yy.ExportNamedDeclaration(new yy.Assign($$[$0-4], $$[$0-1], null, {
- moduleDeclaration: 'export'
- })));
-break;
-case 154:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.ExportDefaultDeclaration($$[$0]));
-break;
-case 155:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.ExportAllDeclaration(new yy.Literal($$[$0-2]), $$[$0]));
-break;
-case 156:
-this.$ = yy.addLocationDataFn(_$[$0-6], _$[$0])(new yy.ExportNamedDeclaration(new yy.ExportSpecifierList($$[$0-4]), $$[$0]));
-break;
-case 162:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.ExportSpecifier($$[$0]));
-break;
-case 163:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.ExportSpecifier($$[$0-2], $$[$0]));
-break;
-case 164:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.ExportSpecifier($$[$0-2], new yy.Literal($$[$0])));
-break;
-case 165:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.ExportSpecifier(new yy.Literal($$[$0])));
-break;
-case 166:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.ExportSpecifier(new yy.Literal($$[$0-2]), $$[$0]));
-break;
-case 167:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.TaggedTemplateCall($$[$0-2], $$[$0], $$[$0-1]));
-break;
-case 168: case 169:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Call($$[$0-2], $$[$0], $$[$0-1]));
-break;
-case 170:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.SuperCall(yy.addLocationDataFn(_$[$0-2])(new yy.Super), $$[$0], $$[$0-1]));
-break;
-case 171:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(false);
-break;
-case 172:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(true);
-break;
-case 173:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([]);
-break;
-case 175: case 176:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Value(new yy.ThisLiteral));
-break;
-case 177:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Value(yy.addLocationDataFn(_$[$0-1])(new yy.ThisLiteral), [yy.addLocationDataFn(_$[$0])(new yy.Access($$[$0]))], 'this'));
-break;
-case 178:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Arr([]));
-break;
-case 179:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Arr($$[$0-2]));
-break;
-case 180:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('inclusive');
-break;
-case 181:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])('exclusive');
-break;
-case 182:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Range($$[$0-3], $$[$0-1], $$[$0-2]));
-break;
-case 183:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Range($$[$0-2], $$[$0], $$[$0-1]));
-break;
-case 184:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Range($$[$0-1], null, $$[$0]));
-break;
-case 185:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Range(null, $$[$0], $$[$0-1]));
-break;
-case 186:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Range(null, null, $$[$0]));
-break;
-case 196:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([].concat($$[$0-2], $$[$0]));
-break;
-case 197:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Try($$[$0]));
-break;
-case 198:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Try($$[$0-1], $$[$0][0], $$[$0][1]));
-break;
-case 199:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Try($$[$0-2], null, null, $$[$0]));
-break;
-case 200:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Try($$[$0-3], $$[$0-2][0], $$[$0-2][1], $$[$0]));
-break;
-case 201:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([$$[$0-1], $$[$0]]);
-break;
-case 202:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([yy.addLocationDataFn(_$[$0-1])(new yy.Value($$[$0-1])), $$[$0]]);
-break;
-case 203:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])([null, $$[$0]]);
-break;
-case 204:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Throw($$[$0]));
-break;
-case 205:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Parens($$[$0-1]));
-break;
-case 206:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Parens($$[$0-2]));
-break;
-case 207:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While($$[$0]));
-break;
-case 208:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.While($$[$0-2], {
- guard: $$[$0]
- }));
-break;
-case 209:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While($$[$0], {
- invert: true
- }));
-break;
-case 210:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.While($$[$0-2], {
- invert: true,
- guard: $$[$0]
- }));
-break;
-case 211:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0-1].addBody($$[$0]));
-break;
-case 212: case 213:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0].addBody(yy.addLocationDataFn(_$[$0-1])(yy.Block.wrap([$$[$0-1]]))));
-break;
-case 214:
-this.$ = yy.addLocationDataFn(_$[$0], _$[$0])($$[$0]);
-break;
-case 215:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While(yy.addLocationDataFn(_$[$0-1])(new yy.BooleanLiteral('true'))).addBody($$[$0]));
-break;
-case 216:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.While(yy.addLocationDataFn(_$[$0-1])(new yy.BooleanLiteral('true'))).addBody(yy.addLocationDataFn(_$[$0])(yy.Block.wrap([$$[$0]]))));
-break;
-case 217: case 218:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.For($$[$0-1], $$[$0]));
-break;
-case 219:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.For($$[$0], $$[$0-1]));
-break;
-case 220:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({
- source: yy.addLocationDataFn(_$[$0])(new yy.Value($$[$0]))
- });
-break;
-case 221:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
- source: yy.addLocationDataFn(_$[$0-2])(new yy.Value($$[$0-2])),
- step: $$[$0]
- });
-break;
-case 222:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])((function () {
- $$[$0].own = $$[$0-1].own;
- $$[$0].ownTag = $$[$0-1].ownTag;
- $$[$0].name = $$[$0-1][0];
- $$[$0].index = $$[$0-1][1];
- return $$[$0];
- }()));
-break;
-case 223:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0]);
-break;
-case 224:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])((function () {
- $$[$0].own = true;
- $$[$0].ownTag = yy.addLocationDataFn(_$[$0-1])(new yy.Literal($$[$0-1]));
- return $$[$0];
- }()));
-break;
-case 230:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([$$[$0-2], $$[$0]]);
-break;
-case 231:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({
- source: $$[$0]
- });
-break;
-case 232:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({
- source: $$[$0],
- object: true
- });
-break;
-case 233:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
- source: $$[$0-2],
- guard: $$[$0]
- });
-break;
-case 234:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
- source: $$[$0-2],
- guard: $$[$0],
- object: true
- });
-break;
-case 235:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
- source: $$[$0-2],
- step: $$[$0]
- });
-break;
-case 236:
-this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])({
- source: $$[$0-4],
- guard: $$[$0-2],
- step: $$[$0]
- });
-break;
-case 237:
-this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])({
- source: $$[$0-4],
- step: $$[$0-2],
- guard: $$[$0]
- });
-break;
-case 238:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({
- source: $$[$0],
- from: true
- });
-break;
-case 239:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({
- source: $$[$0-2],
- guard: $$[$0],
- from: true
- });
-break;
-case 240:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Switch($$[$0-3], $$[$0-1]));
-break;
-case 241:
-this.$ = yy.addLocationDataFn(_$[$0-6], _$[$0])(new yy.Switch($$[$0-5], $$[$0-3], $$[$0-1]));
-break;
-case 242:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Switch(null, $$[$0-1]));
-break;
-case 243:
-this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])(new yy.Switch(null, $$[$0-3], $$[$0-1]));
-break;
-case 245:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0-1].concat($$[$0]));
-break;
-case 246:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([[$$[$0-1], $$[$0]]]);
-break;
-case 247:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])([[$$[$0-2], $$[$0-1]]]);
-break;
-case 248:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0-1], $$[$0], {
- type: $$[$0-2]
- }));
-break;
-case 249:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])($$[$0-4].addElse(yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0-1], $$[$0], {
- type: $$[$0-2]
- }))));
-break;
-case 251:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].addElse($$[$0]));
-break;
-case 252: case 253:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0], yy.addLocationDataFn(_$[$0-2])(yy.Block.wrap([$$[$0-2]])), {
- type: $$[$0-1],
- statement: true
- }));
-break;
-case 256:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('-', $$[$0]));
-break;
-case 257:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('+', $$[$0]));
-break;
-case 259:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('--', $$[$0]));
-break;
-case 260:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('++', $$[$0]));
-break;
-case 261:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('--', $$[$0-1], null, true));
-break;
-case 262:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('++', $$[$0-1], null, true));
-break;
-case 263:
-this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Existence($$[$0-1]));
-break;
-case 264:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op('+', $$[$0-2], $$[$0]));
-break;
-case 265:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op('-', $$[$0-2], $$[$0]));
-break;
-case 266: case 267: case 268: case 269: case 270: case 271: case 272: case 273: case 274: case 275:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op($$[$0-1], $$[$0-2], $$[$0]));
-break;
-case 276:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])((function () {
- if ($$[$0-1].charAt(0) === '!') {
- return new yy.Op($$[$0-1].slice(1), $$[$0-2], $$[$0]).invert();
- } else {
- return new yy.Op($$[$0-1], $$[$0-2], $$[$0]);
- }
- }()));
-break;
-case 277:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign($$[$0-2], $$[$0], $$[$0-1]));
-break;
-case 278:
-this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign($$[$0-4], $$[$0-1], $$[$0-3]));
-break;
-case 279:
-this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Assign($$[$0-3], $$[$0], $$[$0-2]));
-break;
-case 280:
-this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Extends($$[$0-2], $$[$0]));
-break;
-}
-},
-table: [{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:25,11:26,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$V1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{1:[3]},{1:[2,2],6:$VH},o($VI,[2,3]),o($VI,[2,6],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VI,[2,7],{144:80,135:108,141:109,136:$Vv,138:$Vw,142:$Vy,159:$VY}),o($VI,[2,8]),o($VZ,[2,16],{114:110,81:111,93:117,42:$V_,43:$V_,117:$V_,87:$V$,88:$V01,90:$V11,91:$V21,92:$V31,95:$V41,116:$V51}),o($VZ,[2,17],{93:117,114:120,81:121,87:$V$,88:$V01,90:$V11,91:$V21,92:$V31,95:$V41,116:$V51,117:$V_}),o($VZ,[2,18]),o($VZ,[2,19]),o($VZ,[2,20]),o($VZ,[2,21]),o($VZ,[2,22]),o($VZ,[2,23]),o($VZ,[2,24]),o($VZ,[2,25]),o($VZ,[2,26]),o($VZ,[2,27]),o($VZ,[2,28]),o($V61,[2,11]),o($V61,[2,12]),o($V61,[2,13]),o($V61,[2,14]),o($V61,[2,15]),o($VI,[2,9]),o($VI,[2,10]),o($V71,$V81,{57:[1,122]}),o($V71,[2,99]),o($V71,[2,100]),o($V71,[2,101]),o($V71,[2,102]),o($V71,[2,103]),{87:[1,124],88:[1,125],114:123,116:$V51,117:$V_},o([6,33,68,73],$V91,{67:126,74:127,75:128,35:130,62:131,77:132,78:133,36:$V2,76:$Va1,97:$Vl,121:$Vb1,122:$Vc1}),{32:136,33:$Vd1},{7:138,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:142,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:143,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:144,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:145,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:[1,146],64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{17:148,18:149,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:150,62:74,77:57,78:58,80:147,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,120:$Vp,121:$Vq,122:$Vr,133:$Vu},{17:148,18:149,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:150,62:74,77:57,78:58,80:151,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,120:$Vp,121:$Vq,122:$Vr,133:$Vu},o($Vg1,$Vh1,{101:[1,155],164:[1,152],165:[1,153],178:[1,154]}),o($VZ,[2,250],{154:[1,156]}),{32:157,33:$Vd1},{32:158,33:$Vd1},o($VZ,[2,214]),{32:159,33:$Vd1},{7:160,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:[1,161],35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($Vi1,[2,122],{49:28,82:29,83:30,84:31,85:32,77:57,78:58,39:59,45:61,35:73,62:74,41:83,17:148,18:149,56:150,32:162,80:164,33:$Vd1,36:$V2,40:$V3,42:$V4,43:$V5,46:$V6,47:$V7,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,86:$Vk,97:$Vl,101:[1,163],120:$Vp,121:$Vq,122:$Vr,133:$Vu}),{7:165,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o([1,6,34,44,134,136,138,142,159,166,167,168,169,170,171,172,173,174,175,176,177],$Vj1,{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,7:166,14:$V0,30:$Ve1,31:$Vk1,36:$V2,40:$V3,42:$V4,43:$V5,46:$V6,47:$V7,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,63:[1,168],64:$Vf1,65:$Vg,66:$Vh,70:$Vi,71:$Vj,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,140:$Vx,152:$Vz,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG}),o($V61,$Vl1,{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,7:169,14:$V0,30:$Ve1,36:$V2,40:$V3,42:$V4,43:$V5,46:$V6,47:$V7,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,70:$Vi,71:$Vj,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,140:$Vx,152:$Vz,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG}),o([1,6,33,34,44,73,99,134,136,138,142,159],[2,70]),{35:174,36:$V2,41:170,42:$V4,43:$V5,97:[1,173],103:171,104:172,109:$Vm1},{27:177,35:178,36:$V2,97:[1,176],100:$Vm,108:[1,179],112:[1,180]},o($Vg1,[2,96]),o($Vg1,[2,97]),o($V71,[2,42]),o($V71,[2,43]),o($V71,[2,44]),o($V71,[2,45]),o($V71,[2,46]),o($V71,[2,47]),o($V71,[2,48]),o($V71,[2,49]),{4:181,5:3,7:4,8:5,9:6,10:25,11:26,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$V1,33:[1,182],35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:183,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:$Vn1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,76:$Vo1,77:57,78:58,79:188,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,119:185,120:$Vp,121:$Vq,122:$Vr,123:$Vp1,126:186,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($V71,[2,175]),o($V71,[2,176],{37:190,38:$Vq1}),{33:[2,73]},{33:[2,74]},o($Vr1,[2,91]),o($Vr1,[2,94]),{7:192,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:193,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:194,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:196,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,32:195,33:$Vd1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{35:201,36:$V2,62:202,77:203,78:204,83:197,97:$Vl,121:$Vb1,122:$Vr,146:198,147:[1,199],148:200},{145:205,149:[1,206],150:[1,207],151:[1,208]},o([6,33,73,99],$Vs1,{41:83,98:209,58:210,59:211,61:212,13:213,39:214,35:215,37:216,62:217,36:$V2,38:$Vq1,40:$V3,42:$V4,43:$V5,65:$Vg,121:$Vb1}),o($Vt1,[2,36]),o($Vt1,[2,37]),o($V71,[2,40]),{17:148,18:218,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:150,62:74,77:57,78:58,80:219,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,120:$Vp,121:$Vq,122:$Vr,133:$Vu},o([1,6,31,33,34,42,43,44,57,60,68,73,76,87,88,89,90,91,92,95,99,101,107,116,117,118,123,125,134,136,137,138,142,143,149,150,151,159,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],[2,34]),o($Vu1,[2,38]),{4:220,5:3,7:4,8:5,9:6,10:25,11:26,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$V1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VI,[2,5],{7:4,8:5,9:6,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,10:25,11:26,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,5:221,14:$V0,30:$V1,36:$V2,40:$V3,42:$V4,43:$V5,46:$V6,47:$V7,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,63:$Ve,64:$Vf,65:$Vg,66:$Vh,70:$Vi,71:$Vj,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,136:$Vv,138:$Vw,140:$Vx,142:$Vy,152:$Vz,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG}),o($VZ,[2,263]),{7:222,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:223,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:224,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:225,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:226,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:227,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:228,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:229,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:230,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:231,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:232,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:233,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:234,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:235,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VZ,[2,213]),o($VZ,[2,218]),{7:236,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VZ,[2,212]),o($VZ,[2,217]),{41:237,42:$V4,43:$V5,115:238,117:$Vv1},o($Vr1,[2,92]),o($Vw1,[2,172]),{37:240,38:$Vq1},{37:241,38:$Vq1},o($Vr1,[2,110],{37:242,38:$Vq1}),{37:243,38:$Vq1},o($Vr1,[2,111]),{7:245,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,76:$Vx1,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,94:244,96:246,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,124:247,125:$Vy1,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{88:$V01,93:250,95:$V41},{115:251,117:$Vv1},o($Vr1,[2,93]),{6:[1,253],7:252,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:[1,254],35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{115:255,117:$Vv1},{37:256,38:$Vq1},{7:257,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o([6,33],$Vz1,{72:260,68:[1,258],73:$VA1}),o($VB1,[2,78]),o($VB1,[2,82],{57:[1,262],76:[1,261]}),o($VB1,[2,85]),o($VC1,[2,86]),o($VC1,[2,87]),o($VC1,[2,88]),o($VC1,[2,89]),{37:190,38:$Vq1},{7:263,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:$Vn1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,76:$Vo1,77:57,78:58,79:188,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,119:185,120:$Vp,121:$Vq,122:$Vr,123:$Vp1,126:186,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VZ,[2,72]),{4:265,5:3,7:4,8:5,9:6,10:25,11:26,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$V1,34:[1,264],35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VD1,[2,254],{144:80,135:105,141:106,166:$VM}),{7:145,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{135:108,136:$Vv,138:$Vw,141:109,142:$Vy,144:80,159:$VY},o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,166,167,168,169,170,171,172,173,174,175,176,177],$Vj1,{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,7:166,14:$V0,30:$Ve1,31:$Vk1,36:$V2,40:$V3,42:$V4,43:$V5,46:$V6,47:$V7,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,70:$Vi,71:$Vj,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,140:$Vx,152:$Vz,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG}),o($VE1,[2,255],{144:80,135:105,141:106,166:$VM,168:$VO}),o($VE1,[2,256],{144:80,135:105,141:106,166:$VM,168:$VO}),o($VE1,[2,257],{144:80,135:105,141:106,166:$VM,168:$VO}),o($VD1,[2,258],{144:80,135:105,141:106,166:$VM}),o($VI,[2,69],{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,7:266,14:$V0,30:$Ve1,36:$V2,40:$V3,42:$V4,43:$V5,46:$V6,47:$V7,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,70:$Vi,71:$Vj,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,136:$Vl1,138:$Vl1,142:$Vl1,159:$Vl1,140:$Vx,152:$Vz,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG}),o($VZ,[2,259],{42:$Vh1,43:$Vh1,87:$Vh1,88:$Vh1,90:$Vh1,91:$Vh1,92:$Vh1,95:$Vh1,116:$Vh1,117:$Vh1}),o($Vw1,$V_,{114:110,81:111,93:117,87:$V$,88:$V01,90:$V11,91:$V21,92:$V31,95:$V41,116:$V51}),{81:121,87:$V$,88:$V01,90:$V11,91:$V21,92:$V31,93:117,95:$V41,114:120,116:$V51,117:$V_},o($VF1,$V81),o($VZ,[2,260],{42:$Vh1,43:$Vh1,87:$Vh1,88:$Vh1,90:$Vh1,91:$Vh1,92:$Vh1,95:$Vh1,116:$Vh1,117:$Vh1}),o($VZ,[2,261]),o($VZ,[2,262]),{6:[1,269],7:267,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:[1,268],35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:270,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{32:271,33:$Vd1,158:[1,272]},o($VZ,[2,197],{129:273,130:[1,274],131:[1,275]}),o($VZ,[2,211]),o($VZ,[2,219]),{33:[1,276],135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},{153:277,155:278,156:$VG1},o($VZ,[2,123]),{7:280,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($Vi1,[2,126],{32:281,33:$Vd1,42:$Vh1,43:$Vh1,87:$Vh1,88:$Vh1,90:$Vh1,91:$Vh1,92:$Vh1,95:$Vh1,116:$Vh1,117:$Vh1,101:[1,282]}),o($VH1,[2,204],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VH1,[2,30],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{7:283,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VI,[2,67],{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,7:284,14:$V0,30:$Ve1,36:$V2,40:$V3,42:$V4,43:$V5,46:$V6,47:$V7,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,70:$Vi,71:$Vj,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,136:$Vl1,138:$Vl1,142:$Vl1,159:$Vl1,140:$Vx,152:$Vz,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG}),o($V61,$VI1,{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($V61,[2,130]),{31:[1,285],73:[1,286]},{31:[1,287]},{33:$VJ1,35:292,36:$V2,99:[1,288],105:289,106:290,108:$VK1},o([31,73],[2,146]),{107:[1,294]},{33:$VL1,35:299,36:$V2,99:[1,295],108:$VM1,111:296,113:297},o($V61,[2,150]),{57:[1,301]},{7:302,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{31:[1,303]},{6:$VH,134:[1,304]},{4:305,5:3,7:4,8:5,9:6,10:25,11:26,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$V1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o([6,33,73,123],$VN1,{144:80,135:105,141:106,124:306,76:[1,307],125:$Vy1,136:$Vv,138:$Vw,142:$Vy,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VO1,[2,178]),o([6,33,123],$Vz1,{72:308,73:$VP1}),o($VQ1,[2,187]),{7:263,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:$Vn1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,76:$Vo1,77:57,78:58,79:188,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,119:310,120:$Vp,121:$Vq,122:$Vr,126:186,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VQ1,[2,193]),o($VQ1,[2,194]),o($VR1,[2,177]),o($VR1,[2,35]),{32:311,33:$Vd1,135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},o($VS1,[2,207],{144:80,135:105,141:106,136:$Vv,137:[1,312],138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VS1,[2,209],{144:80,135:105,141:106,136:$Vv,137:[1,313],138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VZ,[2,215]),o($VT1,[2,216],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],[2,220],{143:[1,314]}),o($VU1,[2,223]),{35:201,36:$V2,62:202,77:203,78:204,97:$Vl,121:$Vb1,122:$Vc1,146:315,148:200},o($VU1,[2,229],{73:[1,316]}),o($VV1,[2,225]),o($VV1,[2,226]),o($VV1,[2,227]),o($VV1,[2,228]),o($VZ,[2,222]),{7:317,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:318,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:319,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VW1,$Vz1,{72:320,73:$VX1}),o($VY1,[2,118]),o($VY1,[2,53],{60:[1,322]}),o($VZ1,[2,62],{57:[1,323]}),o($VY1,[2,58]),o($VZ1,[2,63]),o($V_1,[2,59]),o($V_1,[2,60]),o($V_1,[2,61]),{48:[1,324],81:121,87:$V$,88:$V01,90:$V11,91:$V21,92:$V31,93:117,95:$V41,114:120,116:$V51,117:$V_},o($VF1,$Vh1),{6:$VH,44:[1,325]},o($VI,[2,4]),o($V$1,[2,264],{144:80,135:105,141:106,166:$VM,167:$VN,168:$VO}),o($V$1,[2,265],{144:80,135:105,141:106,166:$VM,167:$VN,168:$VO}),o($VE1,[2,266],{144:80,135:105,141:106,166:$VM,168:$VO}),o($VE1,[2,267],{144:80,135:105,141:106,166:$VM,168:$VO}),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,169,170,171,172,173,174,175,176,177],[2,268],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO}),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,170,171,172,173,174,175,176],[2,269],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,177:$VX}),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,171,172,173,174,175,176],[2,270],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,177:$VX}),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,172,173,174,175,176],[2,271],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,177:$VX}),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,173,174,175,176],[2,272],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,177:$VX}),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,174,175,176],[2,273],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,177:$VX}),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,175,176],[2,274],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,177:$VX}),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,176],[2,275],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,177:$VX}),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,170,171,172,173,174,175,176,177],[2,276],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP}),o($VT1,[2,253],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VT1,[2,252],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($V02,[2,167]),o($V02,[2,168]),{7:263,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:$Vn1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,76:$Vo1,77:57,78:58,79:188,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,118:[1,326],119:327,120:$Vp,121:$Vq,122:$Vr,126:186,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($Vr1,[2,106]),o($Vr1,[2,107]),o($Vr1,[2,108]),o($Vr1,[2,109]),{89:[1,328]},{76:$Vx1,89:[2,114],124:329,125:$Vy1,135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},{89:[2,115]},{7:330,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,89:[2,186],97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($V12,[2,180]),o($V12,$V22),o($Vr1,[2,113]),o($V02,[2,169]),o($VH1,[2,50],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{7:331,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:332,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($V02,[2,170]),o($V71,[2,104]),{89:[1,333],135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},{69:334,70:$Vi,71:$Vj},o($V32,$V42,{75:128,35:130,62:131,77:132,78:133,74:335,36:$V2,76:$Va1,97:$Vl,121:$Vb1,122:$Vc1}),{6:$V52,33:$V62},o($VB1,[2,83]),{7:338,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VQ1,$VN1,{144:80,135:105,141:106,76:[1,339],136:$Vv,138:$Vw,142:$Vy,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($V72,[2,32]),{6:$VH,34:[1,340]},o($VI,[2,68],{144:80,135:105,141:106,136:$VI1,138:$VI1,142:$VI1,159:$VI1,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VH1,[2,277],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{7:341,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:342,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VH1,[2,280],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VZ,[2,251]),{7:343,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VZ,[2,198],{130:[1,344]}),{32:345,33:$Vd1},{32:348,33:$Vd1,35:346,36:$V2,78:347,97:$Vl},{153:349,155:278,156:$VG1},{34:[1,350],154:[1,351],155:352,156:$VG1},o($V82,[2,244]),{7:354,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,127:353,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($V92,[2,124],{144:80,135:105,141:106,32:355,33:$Vd1,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VZ,[2,127]),{7:356,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VH1,[2,31],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VI,[2,66],{144:80,135:105,141:106,136:$VI1,138:$VI1,142:$VI1,159:$VI1,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{41:357,42:$V4,43:$V5},{97:[1,359],104:358,109:$Vm1},{41:360,42:$V4,43:$V5},{31:[1,361]},o($VW1,$Vz1,{72:362,73:$Va2}),o($VY1,[2,137]),{33:$VJ1,35:292,36:$V2,105:364,106:290,108:$VK1},o($VY1,[2,142],{107:[1,365]}),o($VY1,[2,144],{107:[1,366]}),{35:367,36:$V2},o($V61,[2,148]),o($VW1,$Vz1,{72:368,73:$Vb2}),o($VY1,[2,157]),{33:$VL1,35:299,36:$V2,108:$VM1,111:370,113:297},o($VY1,[2,162],{107:[1,371]}),o($VY1,[2,165],{107:[1,372]}),{6:[1,374],7:373,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:[1,375],35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($Vc2,[2,154],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{41:376,42:$V4,43:$V5},o($V71,[2,205]),{6:$VH,34:[1,377]},{7:378,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o([14,30,36,40,42,43,46,47,50,51,52,53,54,55,63,64,65,66,70,71,86,97,100,102,110,120,121,122,128,132,133,136,138,140,142,152,158,160,161,162,163,164,165],$V22,{6:$Vd2,33:$Vd2,73:$Vd2,123:$Vd2}),{6:$Ve2,33:$Vf2,123:[1,379]},o([6,33,34,118,123],$V42,{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,79:188,7:263,126:382,14:$V0,30:$Ve1,36:$V2,40:$V3,42:$V4,43:$V5,46:$V6,47:$V7,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,70:$Vi,71:$Vj,76:$Vo1,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,136:$Vv,138:$Vw,140:$Vx,142:$Vy,152:$Vz,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG}),o($V32,$Vz1,{72:383,73:$VP1}),o($Vg2,[2,248]),{7:384,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:385,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:386,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VU1,[2,224]),{35:201,36:$V2,62:202,77:203,78:204,97:$Vl,121:$Vb1,122:$Vc1,148:387},o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,138,142,159],[2,231],{144:80,135:105,141:106,137:[1,388],143:[1,389],162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($Vh2,[2,232],{144:80,135:105,141:106,137:[1,390],162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($Vh2,[2,238],{144:80,135:105,141:106,137:[1,391],162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{6:$Vi2,33:$Vj2,99:[1,392]},o($Vk2,$V42,{41:83,59:211,61:212,13:213,39:214,35:215,37:216,62:217,58:395,36:$V2,38:$Vq1,40:$V3,42:$V4,43:$V5,65:$Vg,121:$Vb1}),{7:396,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:[1,397],35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:398,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:[1,399],35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($V71,[2,41]),o($Vu1,[2,39]),o($V02,[2,173]),o([6,33,118],$Vz1,{72:400,73:$VP1}),o($Vr1,[2,112]),{7:401,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,89:[2,184],97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{89:[2,185],135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},o($VH1,[2,51],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{34:[1,402],135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},o($V71,[2,105]),{32:403,33:$Vd1},o($VB1,[2,79]),{35:130,36:$V2,62:131,74:404,75:128,76:$Va1,77:132,78:133,97:$Vl,121:$Vb1,122:$Vc1},o($Vl2,$V91,{74:127,75:128,35:130,62:131,77:132,78:133,67:405,36:$V2,76:$Va1,97:$Vl,121:$Vb1,122:$Vc1}),o($VB1,[2,84],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VQ1,$Vd2),o($V72,[2,33]),{34:[1,406],135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},o($VH1,[2,279],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{32:407,33:$Vd1,135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},{32:408,33:$Vd1},o($VZ,[2,199]),{32:409,33:$Vd1},{32:410,33:$Vd1},o($Vm2,[2,203]),{34:[1,411],154:[1,412],155:352,156:$VG1},o($VZ,[2,242]),{32:413,33:$Vd1},o($V82,[2,245]),{32:414,33:$Vd1,73:[1,415]},o($Vn2,[2,195],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VZ,[2,125]),o($V92,[2,128],{144:80,135:105,141:106,32:416,33:$Vd1,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($V61,[2,131]),{31:[1,417]},{33:$VJ1,35:292,36:$V2,105:418,106:290,108:$VK1},o($V61,[2,132]),{41:419,42:$V4,43:$V5},{6:$Vo2,33:$Vp2,99:[1,420]},o($Vk2,$V42,{35:292,106:423,36:$V2,108:$VK1}),o($V32,$Vz1,{72:424,73:$Va2}),{35:425,36:$V2},{35:426,36:$V2},{31:[2,147]},{6:$Vq2,33:$Vr2,99:[1,427]},o($Vk2,$V42,{35:299,113:430,36:$V2,108:$VM1}),o($V32,$Vz1,{72:431,73:$Vb2}),{35:432,36:$V2,108:[1,433]},{35:434,36:$V2},o($Vc2,[2,151],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{7:435,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:436,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($V61,[2,155]),{134:[1,437]},{123:[1,438],135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},o($VO1,[2,179]),{7:263,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,76:$Vo1,77:57,78:58,79:188,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,126:439,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:263,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,33:$Vn1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,76:$Vo1,77:57,78:58,79:188,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,119:440,120:$Vp,121:$Vq,122:$Vr,126:186,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VQ1,[2,188]),{6:$Ve2,33:$Vf2,34:[1,441]},o($VT1,[2,208],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VT1,[2,210],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VT1,[2,221],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VU1,[2,230]),{7:442,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:443,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:444,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:445,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VO1,[2,116]),{13:213,35:215,36:$V2,37:216,38:$Vq1,39:214,40:$V3,41:83,42:$V4,43:$V5,58:446,59:211,61:212,62:217,65:$Vg,121:$Vb1},o($Vl2,$Vs1,{41:83,58:210,59:211,61:212,13:213,39:214,35:215,37:216,62:217,98:447,36:$V2,38:$Vq1,40:$V3,42:$V4,43:$V5,65:$Vg,121:$Vb1}),o($VY1,[2,119]),o($VY1,[2,54],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{7:448,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VY1,[2,56],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{7:449,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{6:$Ve2,33:$Vf2,118:[1,450]},{89:[2,183],135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},o($VZ,[2,52]),o($VZ,[2,71]),o($VB1,[2,80]),o($V32,$Vz1,{72:451,73:$VA1}),o($VZ,[2,278]),o($Vg2,[2,249]),o($VZ,[2,200]),o($Vm2,[2,201]),o($Vm2,[2,202]),o($VZ,[2,240]),{32:452,33:$Vd1},{34:[1,453]},o($V82,[2,246],{6:[1,454]}),{7:455,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},o($VZ,[2,129]),{41:456,42:$V4,43:$V5},o($VW1,$Vz1,{72:457,73:$Va2}),o($V61,[2,133]),{31:[1,458]},{35:292,36:$V2,106:459,108:$VK1},{33:$VJ1,35:292,36:$V2,105:460,106:290,108:$VK1},o($VY1,[2,138]),{6:$Vo2,33:$Vp2,34:[1,461]},o($VY1,[2,143]),o($VY1,[2,145]),o($V61,[2,149],{31:[1,462]}),{35:299,36:$V2,108:$VM1,113:463},{33:$VL1,35:299,36:$V2,108:$VM1,111:464,113:297},o($VY1,[2,158]),{6:$Vq2,33:$Vr2,34:[1,465]},o($VY1,[2,163]),o($VY1,[2,164]),o($VY1,[2,166]),o($Vc2,[2,152],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),{34:[1,466],135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},o($V71,[2,206]),o($V71,[2,182]),o($VQ1,[2,189]),o($V32,$Vz1,{72:467,73:$VP1}),o($VQ1,[2,190]),o([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,159],[2,233],{144:80,135:105,141:106,143:[1,468],162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($Vh2,[2,235],{144:80,135:105,141:106,137:[1,469],162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VH1,[2,234],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VH1,[2,239],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VY1,[2,120]),o($V32,$Vz1,{72:470,73:$VX1}),{34:[1,471],135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},{34:[1,472],135:105,136:$Vv,138:$Vw,141:106,142:$Vy,144:80,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX},o($V02,[2,174]),{6:$V52,33:$V62,34:[1,473]},{34:[1,474]},o($VZ,[2,243]),o($V82,[2,247]),o($Vn2,[2,196],{144:80,135:105,141:106,136:$Vv,138:$Vw,142:$Vy,159:$VJ,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($V61,[2,135]),{6:$Vo2,33:$Vp2,99:[1,475]},{41:476,42:$V4,43:$V5},o($VY1,[2,139]),o($V32,$Vz1,{72:477,73:$Va2}),o($VY1,[2,140]),{41:478,42:$V4,43:$V5},o($VY1,[2,159]),o($V32,$Vz1,{72:479,73:$Vb2}),o($VY1,[2,160]),o($V61,[2,153]),{6:$Ve2,33:$Vf2,34:[1,480]},{7:481,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{7:482,8:140,12:20,13:21,14:$V0,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:$Ve1,35:73,36:$V2,39:59,40:$V3,41:83,42:$V4,43:$V5,45:61,46:$V6,47:$V7,49:28,50:$V8,51:$V9,52:$Va,53:$Vb,54:$Vc,55:$Vd,56:27,62:74,63:$Ve,64:$Vf1,65:$Vg,66:$Vh,69:35,70:$Vi,71:$Vj,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:$Vk,97:$Vl,100:$Vm,102:$Vn,110:$Vo,120:$Vp,121:$Vq,122:$Vr,128:$Vs,132:$Vt,133:$Vu,135:46,136:$Vv,138:$Vw,139:47,140:$Vx,141:48,142:$Vy,144:80,152:$Vz,157:44,158:$VA,160:$VB,161:$VC,162:$VD,163:$VE,164:$VF,165:$VG},{6:$Vi2,33:$Vj2,34:[1,483]},o($VY1,[2,55]),o($VY1,[2,57]),o($VB1,[2,81]),o($VZ,[2,241]),{31:[1,484]},o($V61,[2,134]),{6:$Vo2,33:$Vp2,34:[1,485]},o($V61,[2,156]),{6:$Vq2,33:$Vr2,34:[1,486]},o($VQ1,[2,191]),o($VH1,[2,236],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VH1,[2,237],{144:80,135:105,141:106,162:$VK,163:$VL,166:$VM,167:$VN,168:$VO,169:$VP,170:$VQ,171:$VR,172:$VS,173:$VT,174:$VU,175:$VV,176:$VW,177:$VX}),o($VY1,[2,121]),{41:487,42:$V4,43:$V5},o($VY1,[2,141]),o($VY1,[2,161]),o($V61,[2,136])],
-defaultActions: {71:[2,73],72:[2,74],246:[2,115],367:[2,147]},
-parseError: function parseError(str, hash) {
- if (hash.recoverable) {
- this.trace(str);
- } else {
- function _parseError (msg, hash) {
- this.message = msg;
- this.hash = hash;
- }
- _parseError.prototype = Error;
-
- throw new _parseError(str, hash);
- }
-},
-parse: function parse(input) {
- var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
- var args = lstack.slice.call(arguments, 1);
- var lexer = Object.create(this.lexer);
- var sharedState = { yy: {} };
- for (var k in this.yy) {
- if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
- sharedState.yy[k] = this.yy[k];
- }
- }
- lexer.setInput(input, sharedState.yy);
- sharedState.yy.lexer = lexer;
- sharedState.yy.parser = this;
- if (typeof lexer.yylloc == 'undefined') {
- lexer.yylloc = {};
- }
- var yyloc = lexer.yylloc;
- lstack.push(yyloc);
- var ranges = lexer.options && lexer.options.ranges;
- if (typeof sharedState.yy.parseError === 'function') {
- this.parseError = sharedState.yy.parseError;
- } else {
- this.parseError = Object.getPrototypeOf(this).parseError;
- }
- function popStack(n) {
- stack.length = stack.length - 2 * n;
- vstack.length = vstack.length - n;
- lstack.length = lstack.length - n;
- }
- _token_stack:
- var lex = function () {
- var token;
- token = lexer.lex() || EOF;
- if (typeof token !== 'number') {
- token = self.symbols_[token] || token;
- }
- return token;
- };
- var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
- while (true) {
- state = stack[stack.length - 1];
- if (this.defaultActions[state]) {
- action = this.defaultActions[state];
- } else {
- if (symbol === null || typeof symbol == 'undefined') {
- symbol = lex();
- }
- action = table[state] && table[state][symbol];
- }
- if (typeof action === 'undefined' || !action.length || !action[0]) {
- var errStr = '';
- expected = [];
- for (p in table[state]) {
- if (this.terminals_[p] && p > TERROR) {
- expected.push('\'' + this.terminals_[p] + '\'');
- }
- }
- if (lexer.showPosition) {
- errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\'';
- } else {
- errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\'');
- }
- this.parseError(errStr, {
- text: lexer.match,
- token: this.terminals_[symbol] || symbol,
- line: lexer.yylineno,
- loc: yyloc,
- expected: expected
- });
- }
- if (action[0] instanceof Array && action.length > 1) {
- throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);
- }
- switch (action[0]) {
- case 1:
- stack.push(symbol);
- vstack.push(lexer.yytext);
- lstack.push(lexer.yylloc);
- stack.push(action[1]);
- symbol = null;
- if (!preErrorSymbol) {
- yyleng = lexer.yyleng;
- yytext = lexer.yytext;
- yylineno = lexer.yylineno;
- yyloc = lexer.yylloc;
- if (recovering > 0) {
- recovering--;
- }
- } else {
- symbol = preErrorSymbol;
- preErrorSymbol = null;
- }
- break;
- case 2:
- len = this.productions_[action[1]][1];
- yyval.$ = vstack[vstack.length - len];
- yyval._$ = {
- first_line: lstack[lstack.length - (len || 1)].first_line,
- last_line: lstack[lstack.length - 1].last_line,
- first_column: lstack[lstack.length - (len || 1)].first_column,
- last_column: lstack[lstack.length - 1].last_column
- };
- if (ranges) {
- yyval._$.range = [
- lstack[lstack.length - (len || 1)].range[0],
- lstack[lstack.length - 1].range[1]
- ];
- }
- r = this.performAction.apply(yyval, [
- yytext,
- yyleng,
- yylineno,
- sharedState.yy,
- action[1],
- vstack,
- lstack
- ].concat(args));
- if (typeof r !== 'undefined') {
- return r;
- }
- if (len) {
- stack = stack.slice(0, -1 * len * 2);
- vstack = vstack.slice(0, -1 * len);
- lstack = lstack.slice(0, -1 * len);
- }
- stack.push(this.productions_[action[1]][0]);
- vstack.push(yyval.$);
- lstack.push(yyval._$);
- newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
- stack.push(newState);
- break;
- case 3:
- return true;
- }
- }
- return true;
-}};
-
-function Parser () {
- this.yy = {};
-}
-Parser.prototype = parser;parser.Parser = Parser;
-return new Parser;
-})();
-
-
-if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
-exports.parser = parser;
-exports.Parser = parser.Parser;
-exports.parse = function () { return parser.parse.apply(parser, arguments); };
-exports.main = function commonjsMain(args) {
- if (!args[1]) {
- console.log('Usage: '+args[0]+' FILE');
- process.exit(1);
- }
- var source = '';
- var fs = require('fs');
- if (typeof fs !== 'undefined' && fs !== null)
- source = fs.readFileSync(require('path').normalize(args[1]), "utf8");
- return exports.parser.parse(source);
-};
-if (typeof module !== 'undefined' && require.main === module) {
- exports.main(process.argv.slice(1));
-}
-}
- return module.exports;
-})();require['./scope'] = (function() {
- var exports = {}, module = {exports: exports};
- // Generated by CoffeeScript 2.0.0-alpha1
-(function() {
- var Scope,
- indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
-
- exports.Scope = Scope = class Scope {
- constructor(parent, expressions, method, referencedVars) {
- var ref, ref1;
- this.parent = parent;
- this.expressions = expressions;
- this.method = method;
- this.referencedVars = referencedVars;
- this.variables = [
- {
- name: 'arguments',
- type: 'arguments'
- }
- ];
- this.positions = {};
- if (!this.parent) {
- this.utilities = {};
- }
- this.root = (ref = (ref1 = this.parent) != null ? ref1.root : void 0) != null ? ref : this;
- }
-
- add(name, type, immediate) {
- if (this.shared && !immediate) {
- return this.parent.add(name, type, immediate);
- }
- if (Object.prototype.hasOwnProperty.call(this.positions, name)) {
- return this.variables[this.positions[name]].type = type;
- } else {
- return this.positions[name] = this.variables.push({name, type}) - 1;
- }
- }
-
- namedMethod() {
- var ref;
- if (((ref = this.method) != null ? ref.name : void 0) || !this.parent) {
- return this.method;
- }
- return this.parent.namedMethod();
- }
-
- find(name, type = 'var') {
- if (this.check(name)) {
- return true;
- }
- this.add(name, type);
- return false;
- }
-
- parameter(name) {
- if (this.shared && this.parent.check(name, true)) {
- return;
- }
- return this.add(name, 'param');
- }
-
- check(name) {
- var ref;
- return !!(this.type(name) || ((ref = this.parent) != null ? ref.check(name) : void 0));
- }
-
- temporary(name, index, single = false) {
- var diff, endCode, letter, newCode, num, startCode;
- if (single) {
- startCode = name.charCodeAt(0);
- endCode = 'z'.charCodeAt(0);
- diff = endCode - startCode;
- newCode = startCode + index % (diff + 1);
- letter = String.fromCharCode(newCode);
- num = Math.floor(index / (diff + 1));
- return `${letter}${num || ''}`;
- } else {
- return `${name}${index || ''}`;
- }
- }
-
- type(name) {
- var i, len, ref, v;
- ref = this.variables;
- for (i = 0, len = ref.length; i < len; i++) {
- v = ref[i];
- if (v.name === name) {
- return v.type;
- }
- }
- return null;
- }
-
- freeVariable(name, options = {}) {
- var index, ref, temp;
- index = 0;
- while (true) {
- temp = this.temporary(name, index, options.single);
- if (!(this.check(temp) || indexOf.call(this.root.referencedVars, temp) >= 0)) {
- break;
- }
- index++;
- }
- if ((ref = options.reserve) != null ? ref : true) {
- this.add(temp, 'var', true);
- }
- return temp;
- }
-
- assign(name, value) {
- this.add(name, {
- value,
- assigned: true
- }, true);
- return this.hasAssignments = true;
- }
-
- hasDeclarations() {
- return !!this.declaredVariables().length;
- }
-
- declaredVariables() {
- var v;
- return ((function() {
- var i, len, ref, results;
- ref = this.variables;
- results = [];
- for (i = 0, len = ref.length; i < len; i++) {
- v = ref[i];
- if (v.type === 'var') {
- results.push(v.name);
- }
- }
- return results;
- }).call(this)).sort();
- }
-
- assignedVariables() {
- var i, len, ref, results, v;
- ref = this.variables;
- results = [];
- for (i = 0, len = ref.length; i < len; i++) {
- v = ref[i];
- if (v.type.assigned) {
- results.push(`${v.name} = ${v.type.value}`);
- }
- }
- return results;
- }
-
- };
-
-}).call(this);
-
- return module.exports;
-})();require['./nodes'] = (function() {
- var exports = {}, module = {exports: exports};
- // Generated by CoffeeScript 2.0.0-alpha1
-(function() {
- var Access, Arr, Assign, AwaitReturn, Base, Block, BooleanLiteral, Call, Class, Code, CodeFragment, Comment, ExecutableClassBody, Existence, Expansion, ExportAllDeclaration, ExportDeclaration, ExportDefaultDeclaration, ExportNamedDeclaration, ExportSpecifier, ExportSpecifierList, Extends, For, HoistTarget, IdentifierLiteral, If, ImportClause, ImportDeclaration, ImportDefaultSpecifier, ImportNamespaceSpecifier, ImportSpecifier, ImportSpecifierList, In, Index, InfinityLiteral, JS_FORBIDDEN, LEVEL_ACCESS, LEVEL_COND, LEVEL_LIST, LEVEL_OP, LEVEL_PAREN, LEVEL_TOP, Literal, ModuleDeclaration, ModuleSpecifier, ModuleSpecifierList, NEGATE, NO, NaNLiteral, NullLiteral, NumberLiteral, Obj, Op, Param, Parens, PassthroughLiteral, PropertyName, Range, RegexLiteral, RegexWithInterpolations, Return, SIMPLENUM, Scope, Slice, Splat, StatementLiteral, StringLiteral, StringWithInterpolations, Super, SuperCall, Switch, TAB, THIS, TaggedTemplateCall, ThisLiteral, Throw, Try, UTILITIES, UndefinedLiteral, Value, While, YES, YieldReturn, addLocationDataFn, compact, del, ends, extend, flatten, fragmentsToText, isLiteralArguments, isLiteralThis, isUnassignable, locationDataToString, merge, multident, shouldCacheOrIsAssignable, some, starts, throwSyntaxError, unfoldSoak, utility,
- indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
- slice = [].slice;
-
- Error.stackTraceLimit = 2e308;
-
- ({Scope} = require('./scope'));
-
- ({isUnassignable, JS_FORBIDDEN} = require('./lexer'));
-
- ({compact, flatten, extend, merge, del, starts, ends, some, addLocationDataFn, locationDataToString, throwSyntaxError} = require('./helpers'));
-
- exports.extend = extend;
-
- exports.addLocationDataFn = addLocationDataFn;
-
- YES = function() {
- return true;
- };
-
- NO = function() {
- return false;
- };
-
- THIS = function() {
- return this;
- };
-
- NEGATE = function() {
- this.negated = !this.negated;
- return this;
- };
-
- exports.CodeFragment = CodeFragment = class CodeFragment {
- constructor(parent, code) {
- var ref1;
- this.code = `${code}`;
- this.locationData = parent != null ? parent.locationData : void 0;
- this.type = (parent != null ? (ref1 = parent.constructor) != null ? ref1.name : void 0 : void 0) || 'unknown';
- }
-
- toString() {
- return `${this.code}${(this.locationData ? ": " + locationDataToString(this.locationData) : '')}`;
- }
-
- };
-
- fragmentsToText = function(fragments) {
- var fragment;
- return ((function() {
- var j, len1, results;
- results = [];
- for (j = 0, len1 = fragments.length; j < len1; j++) {
- fragment = fragments[j];
- results.push(fragment.code);
- }
- return results;
- })()).join('');
- };
-
- exports.Base = Base = (function() {
- class Base {
- compile(o, lvl) {
- return fragmentsToText(this.compileToFragments(o, lvl));
- }
-
- compileToFragments(o, lvl) {
- var node;
- o = extend({}, o);
- if (lvl) {
- o.level = lvl;
- }
- node = this.unfoldSoak(o) || this;
- node.tab = o.indent;
- if (o.level === LEVEL_TOP || !node.isStatement(o)) {
- return node.compileNode(o);
- } else {
- return node.compileClosure(o);
- }
- }
-
- compileClosure(o) {
- var args, argumentsNode, func, jumpNode, meth, parts, ref1, ref2;
- if (jumpNode = this.jumps()) {
- jumpNode.error('cannot use a pure statement in an expression');
- }
- o.sharedScope = true;
- func = new Code([], Block.wrap([this]));
- args = [];
- if (this.contains((function(node) {
- return node instanceof SuperCall;
- }))) {
- func.bound = true;
- } else if ((argumentsNode = this.contains(isLiteralArguments)) || this.contains(isLiteralThis)) {
- args = [new ThisLiteral];
- if (argumentsNode) {
- meth = 'apply';
- args.push(new IdentifierLiteral('arguments'));
- } else {
- meth = 'call';
- }
- func = new Value(func, [new Access(new PropertyName(meth))]);
- }
- parts = (new Call(func, args)).compileNode(o);
- switch (false) {
- case !(func.isGenerator || ((ref1 = func.base) != null ? ref1.isGenerator : void 0)):
- parts.unshift(this.makeCode("(yield* "));
- parts.push(this.makeCode(")"));
- break;
- case !(func.isAsync || ((ref2 = func.base) != null ? ref2.isAsync : void 0)):
- parts.unshift(this.makeCode("(await "));
- parts.push(this.makeCode(")"));
- }
- return parts;
- }
-
- cache(o, level, shouldCache) {
- var complex, ref, sub;
- complex = shouldCache != null ? shouldCache(this) : this.shouldCache();
- if (complex) {
- ref = new IdentifierLiteral(o.scope.freeVariable('ref'));
- sub = new Assign(ref, this);
- if (level) {
- return [sub.compileToFragments(o, level), [this.makeCode(ref.value)]];
- } else {
- return [sub, ref];
- }
- } else {
- ref = level ? this.compileToFragments(o, level) : this;
- return [ref, ref];
- }
- }
-
- hoist() {
- var compileNode, compileToFragments, target;
- this.hoisted = true;
- target = new HoistTarget(this);
- compileNode = this.compileNode;
- compileToFragments = this.compileToFragments;
- this.compileNode = function(o) {
- return target.update(compileNode, o);
- };
- this.compileToFragments = function(o) {
- return target.update(compileToFragments, o);
- };
- return target;
- }
-
- cacheToCodeFragments(cacheValues) {
- return [fragmentsToText(cacheValues[0]), fragmentsToText(cacheValues[1])];
- }
-
- makeReturn(res) {
- var me;
- me = this.unwrapAll();
- if (res) {
- return new Call(new Literal(`${res}.push`), [me]);
- } else {
- return new Return(me);
- }
- }
-
- contains(pred) {
- var node;
- node = void 0;
- this.traverseChildren(false, function(n) {
- if (pred(n)) {
- node = n;
- return false;
- }
- });
- return node;
- }
-
- lastNonComment(list) {
- var i;
- i = list.length;
- while (i--) {
- if (!(list[i] instanceof Comment)) {
- return list[i];
- }
- }
- return null;
- }
-
- toString(idt = '', name = this.constructor.name) {
- var tree;
- tree = '\n' + idt + name;
- if (this.soak) {
- tree += '?';
- }
- this.eachChild(function(node) {
- return tree += node.toString(idt + TAB);
- });
- return tree;
- }
-
- eachChild(func) {
- var attr, child, j, k, len1, len2, ref1, ref2;
- if (!this.children) {
- return this;
- }
- ref1 = this.children;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- attr = ref1[j];
- if (this[attr]) {
- ref2 = flatten([this[attr]]);
- for (k = 0, len2 = ref2.length; k < len2; k++) {
- child = ref2[k];
- if (func(child) === false) {
- return this;
- }
- }
- }
- }
- return this;
- }
-
- traverseChildren(crossScope, func) {
- return this.eachChild(function(child) {
- var recur;
- recur = func(child);
- if (recur !== false) {
- return child.traverseChildren(crossScope, func);
- }
- });
- }
-
- replaceInContext(match, replacement) {
- var attr, child, children, i, j, k, len1, len2, ref1, ref2;
- if (!this.children) {
- return false;
- }
- ref1 = this.children;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- attr = ref1[j];
- if (children = this[attr]) {
- if (Array.isArray(children)) {
- for (i = k = 0, len2 = children.length; k < len2; i = ++k) {
- child = children[i];
- if (match(child)) {
- [].splice.apply(children, [i, i - i + 1].concat(ref2 = replacement(child, this))), ref2;
- return true;
- } else {
- if (child.replaceInContext(match, replacement)) {
- return true;
- }
- }
- }
- } else if (match(children)) {
- this[attr] = replacement(children, this);
- return true;
- } else {
- if (children.replaceInContext(match, replacement)) {
- return true;
- }
- }
- }
- }
- }
-
- invert() {
- return new Op('!', this);
- }
-
- unwrapAll() {
- var node;
- node = this;
- while (node !== (node = node.unwrap())) {
- continue;
- }
- return node;
- }
-
- updateLocationDataIfMissing(locationData) {
- if (this.locationData) {
- return this;
- }
- this.locationData = locationData;
- return this.eachChild(function(child) {
- return child.updateLocationDataIfMissing(locationData);
- });
- }
-
- error(message) {
- return throwSyntaxError(message, this.locationData);
- }
-
- makeCode(code) {
- return new CodeFragment(this, code);
- }
-
- wrapInParentheses(fragments) {
- return [].concat(this.makeCode('('), fragments, this.makeCode(')'));
- }
-
- joinFragmentArrays(fragmentsList, joinStr) {
- var answer, fragments, i, j, len1;
- answer = [];
- for (i = j = 0, len1 = fragmentsList.length; j < len1; i = ++j) {
- fragments = fragmentsList[i];
- if (i) {
- answer.push(this.makeCode(joinStr));
- }
- answer = answer.concat(fragments);
- }
- return answer;
- }
-
- };
-
- Base.prototype.children = [];
-
- Base.prototype.isStatement = NO;
-
- Base.prototype.jumps = NO;
-
- Base.prototype.shouldCache = YES;
-
- Base.prototype.isChainable = NO;
-
- Base.prototype.isAssignable = NO;
-
- Base.prototype.isNumber = NO;
-
- Base.prototype.unwrap = THIS;
-
- Base.prototype.unfoldSoak = NO;
-
- Base.prototype.assigns = NO;
-
- return Base;
-
- })();
-
- exports.HoistTarget = HoistTarget = class HoistTarget extends Base {
- static expand(fragments) {
- var fragment, i, j, ref1;
- for (i = j = fragments.length - 1; j >= 0; i = j += -1) {
- fragment = fragments[i];
- if (fragment.fragments) {
- [].splice.apply(fragments, [i, i - i + 1].concat(ref1 = this.expand(fragment.fragments))), ref1;
- }
- }
- return fragments;
- }
-
- constructor(source1) {
- super();
- this.source = source1;
- this.options = {};
- this.targetFragments = {
- fragments: []
- };
- }
-
- isStatement(o) {
- return this.source.isStatement(o);
- }
-
- update(compile, o) {
- return this.targetFragments.fragments = compile.call(this.source, merge(o, this.options));
- }
-
- compileToFragments(o, level) {
- this.options.indent = o.indent;
- this.options.level = level != null ? level : o.level;
- return [this.targetFragments];
- }
-
- compileNode(o) {
- return this.compileToFragments(o);
- }
-
- compileClosure(o) {
- return this.compileToFragments(o);
- }
-
- };
-
- exports.Block = Block = (function() {
- class Block extends Base {
- constructor(nodes) {
- super();
- this.expressions = compact(flatten(nodes || []));
- }
-
- push(node) {
- this.expressions.push(node);
- return this;
- }
-
- pop() {
- return this.expressions.pop();
- }
-
- unshift(node) {
- this.expressions.unshift(node);
- return this;
- }
-
- unwrap() {
- if (this.expressions.length === 1) {
- return this.expressions[0];
- } else {
- return this;
- }
- }
-
- isEmpty() {
- return !this.expressions.length;
- }
-
- isStatement(o) {
- var exp, j, len1, ref1;
- ref1 = this.expressions;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- exp = ref1[j];
- if (exp.isStatement(o)) {
- return true;
- }
- }
- return false;
- }
-
- jumps(o) {
- var exp, j, jumpNode, len1, ref1;
- ref1 = this.expressions;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- exp = ref1[j];
- if (jumpNode = exp.jumps(o)) {
- return jumpNode;
- }
- }
- }
-
- makeReturn(res) {
- var expr, len;
- len = this.expressions.length;
- while (len--) {
- expr = this.expressions[len];
- if (!(expr instanceof Comment)) {
- this.expressions[len] = expr.makeReturn(res);
- if (expr instanceof Return && !expr.expression) {
- this.expressions.splice(len, 1);
- }
- break;
- }
- }
- return this;
- }
-
- compileToFragments(o = {}, level) {
- if (o.scope) {
- return super.compileToFragments(o, level);
- } else {
- return this.compileRoot(o);
- }
- }
-
- compileNode(o) {
- var answer, compiledNodes, fragments, index, j, len1, node, ref1, top;
- this.tab = o.indent;
- top = o.level === LEVEL_TOP;
- compiledNodes = [];
- ref1 = this.expressions;
- for (index = j = 0, len1 = ref1.length; j < len1; index = ++j) {
- node = ref1[index];
- node = node.unwrapAll();
- node = node.unfoldSoak(o) || node;
- if (node instanceof Block) {
- compiledNodes.push(node.compileNode(o));
- } else if (node.hoisted) {
- node.compileToFragments(o);
- } else if (top) {
- node.front = true;
- fragments = node.compileToFragments(o);
- if (!node.isStatement(o)) {
- fragments.unshift(this.makeCode(`${this.tab}`));
- fragments.push(this.makeCode(";"));
- }
- compiledNodes.push(fragments);
- } else {
- compiledNodes.push(node.compileToFragments(o, LEVEL_LIST));
- }
- }
- if (top) {
- if (this.spaced) {
- return [].concat(this.joinFragmentArrays(compiledNodes, '\n\n'), this.makeCode("\n"));
- } else {
- return this.joinFragmentArrays(compiledNodes, '\n');
- }
- }
- if (compiledNodes.length) {
- answer = this.joinFragmentArrays(compiledNodes, ', ');
- } else {
- answer = [this.makeCode("void 0")];
- }
- if (compiledNodes.length > 1 && o.level >= LEVEL_LIST) {
- return this.wrapInParentheses(answer);
- } else {
- return answer;
- }
- }
-
- compileRoot(o) {
- var exp, fragments, i, j, len1, name, prelude, preludeExps, ref1, ref2, rest;
- o.indent = o.bare ? '' : TAB;
- o.level = LEVEL_TOP;
- this.spaced = true;
- o.scope = new Scope(null, this, null, (ref1 = o.referencedVars) != null ? ref1 : []);
- ref2 = o.locals || [];
- for (j = 0, len1 = ref2.length; j < len1; j++) {
- name = ref2[j];
- o.scope.parameter(name);
- }
- prelude = [];
- if (!o.bare) {
- preludeExps = (function() {
- var k, len2, ref3, results;
- ref3 = this.expressions;
- results = [];
- for (i = k = 0, len2 = ref3.length; k < len2; i = ++k) {
- exp = ref3[i];
- if (!(exp.unwrap() instanceof Comment)) {
- break;
- }
- results.push(exp);
- }
- return results;
- }).call(this);
- rest = this.expressions.slice(preludeExps.length);
- this.expressions = preludeExps;
- if (preludeExps.length) {
- prelude = this.compileNode(merge(o, {
- indent: ''
- }));
- prelude.push(this.makeCode("\n"));
- }
- this.expressions = rest;
- }
- fragments = this.compileWithDeclarations(o);
- HoistTarget.expand(fragments);
- if (o.bare) {
- return fragments;
- }
- return [].concat(prelude, this.makeCode("(function() {\n"), fragments, this.makeCode("\n}).call(this);\n"));
- }
-
- compileWithDeclarations(o) {
- var assigns, declars, exp, fragments, i, j, len1, post, ref1, rest, scope, spaced;
- fragments = [];
- post = [];
- ref1 = this.expressions;
- for (i = j = 0, len1 = ref1.length; j < len1; i = ++j) {
- exp = ref1[i];
- exp = exp.unwrap();
- if (!(exp instanceof Comment || exp instanceof Literal)) {
- break;
- }
- }
- o = merge(o, {
- level: LEVEL_TOP
- });
- if (i) {
- rest = this.expressions.splice(i, 9e9);
- [spaced, this.spaced] = [this.spaced, false];
- [fragments, this.spaced] = [this.compileNode(o), spaced];
- this.expressions = rest;
- }
- post = this.compileNode(o);
- ({scope} = o);
- if (scope.expressions === this) {
- declars = o.scope.hasDeclarations();
- assigns = scope.hasAssignments;
- if (declars || assigns) {
- if (i) {
- fragments.push(this.makeCode('\n'));
- }
- fragments.push(this.makeCode(`${this.tab}var `));
- if (declars) {
- fragments.push(this.makeCode(scope.declaredVariables().join(', ')));
- }
- if (assigns) {
- if (declars) {
- fragments.push(this.makeCode(`,\n${this.tab + TAB}`));
- }
- fragments.push(this.makeCode(scope.assignedVariables().join(`,\n${this.tab + TAB}`)));
- }
- fragments.push(this.makeCode(`;\n${(this.spaced ? '\n' : '')}`));
- } else if (fragments.length && post.length) {
- fragments.push(this.makeCode("\n"));
- }
- }
- return fragments.concat(post);
- }
-
- static wrap(nodes) {
- if (nodes.length === 1 && nodes[0] instanceof Block) {
- return nodes[0];
- }
- return new Block(nodes);
- }
-
- };
-
- Block.prototype.children = ['expressions'];
-
- return Block;
-
- })();
-
- exports.Literal = Literal = (function() {
- class Literal extends Base {
- constructor(value1) {
- super();
- this.value = value1;
- }
-
- assigns(name) {
- return name === this.value;
- }
-
- compileNode(o) {
- return [this.makeCode(this.value)];
- }
-
- toString() {
- return ` ${(this.isStatement() ? super.toString() : this.constructor.name)}: ${this.value}`;
- }
-
- };
-
- Literal.prototype.shouldCache = NO;
-
- return Literal;
-
- })();
-
- exports.NumberLiteral = NumberLiteral = class NumberLiteral extends Literal {};
-
- exports.InfinityLiteral = InfinityLiteral = class InfinityLiteral extends NumberLiteral {
- compileNode() {
- return [this.makeCode('2e308')];
- }
-
- };
-
- exports.NaNLiteral = NaNLiteral = class NaNLiteral extends NumberLiteral {
- constructor() {
- super('NaN');
- }
-
- compileNode(o) {
- var code;
- code = [this.makeCode('0/0')];
- if (o.level >= LEVEL_OP) {
- return this.wrapInParentheses(code);
- } else {
- return code;
- }
- }
-
- };
-
- exports.StringLiteral = StringLiteral = class StringLiteral extends Literal {};
-
- exports.RegexLiteral = RegexLiteral = class RegexLiteral extends Literal {};
-
- exports.PassthroughLiteral = PassthroughLiteral = class PassthroughLiteral extends Literal {};
-
- exports.IdentifierLiteral = IdentifierLiteral = (function() {
- class IdentifierLiteral extends Literal {
- eachName(iterator) {
- return iterator(this);
- }
-
- };
-
- IdentifierLiteral.prototype.isAssignable = YES;
-
- return IdentifierLiteral;
-
- })();
-
- exports.PropertyName = PropertyName = (function() {
- class PropertyName extends Literal {};
-
- PropertyName.prototype.isAssignable = YES;
-
- return PropertyName;
-
- })();
-
- exports.StatementLiteral = StatementLiteral = (function() {
- class StatementLiteral extends Literal {
- jumps(o) {
- if (this.value === 'break' && !((o != null ? o.loop : void 0) || (o != null ? o.block : void 0))) {
- return this;
- }
- if (this.value === 'continue' && !(o != null ? o.loop : void 0)) {
- return this;
- }
- }
-
- compileNode(o) {
- return [this.makeCode(`${this.tab}${this.value};`)];
- }
-
- };
-
- StatementLiteral.prototype.isStatement = YES;
-
- StatementLiteral.prototype.makeReturn = THIS;
-
- return StatementLiteral;
-
- })();
-
- exports.ThisLiteral = ThisLiteral = class ThisLiteral extends Literal {
- constructor() {
- super('this');
- }
-
- compileNode(o) {
- var code, ref1;
- code = ((ref1 = o.scope.method) != null ? ref1.bound : void 0) ? o.scope.method.context : this.value;
- return [this.makeCode(code)];
- }
-
- };
-
- exports.UndefinedLiteral = UndefinedLiteral = class UndefinedLiteral extends Literal {
- constructor() {
- super('undefined');
- }
-
- compileNode(o) {
- return [this.makeCode(o.level >= LEVEL_ACCESS ? '(void 0)' : 'void 0')];
- }
-
- };
-
- exports.NullLiteral = NullLiteral = class NullLiteral extends Literal {
- constructor() {
- super('null');
- }
-
- };
-
- exports.BooleanLiteral = BooleanLiteral = class BooleanLiteral extends Literal {};
-
- exports.Return = Return = (function() {
- class Return extends Base {
- constructor(expression1) {
- super();
- this.expression = expression1;
- }
-
- compileToFragments(o, level) {
- var expr, ref1;
- expr = (ref1 = this.expression) != null ? ref1.makeReturn() : void 0;
- if (expr && !(expr instanceof Return)) {
- return expr.compileToFragments(o, level);
- } else {
- return super.compileToFragments(o, level);
- }
- }
-
- compileNode(o) {
- var answer;
- answer = [];
- answer.push(this.makeCode(this.tab + `return${(this.expression ? " " : "")}`));
- if (this.expression) {
- answer = answer.concat(this.expression.compileToFragments(o, LEVEL_PAREN));
- }
- answer.push(this.makeCode(";"));
- return answer;
- }
-
- };
-
- Return.prototype.children = ['expression'];
-
- Return.prototype.isStatement = YES;
-
- Return.prototype.makeReturn = THIS;
-
- Return.prototype.jumps = THIS;
-
- return Return;
-
- })();
-
- exports.YieldReturn = YieldReturn = class YieldReturn extends Return {
- compileNode(o) {
- if (o.scope.parent == null) {
- this.error('yield can only occur inside functions');
- }
- return super.compileNode(o);
- }
-
- };
-
- exports.AwaitReturn = AwaitReturn = class AwaitReturn extends Return {
- compileNode(o) {
- if (o.scope.parent == null) {
- this.error('await can only occur inside functions');
- }
- return super.compileNode(o);
- }
-
- };
-
- exports.Value = Value = (function() {
- class Value extends Base {
- constructor(base, props, tag, isDefaultValue = false) {
- if (!props && base instanceof Value) {
- return base;
- }
- super();
- this.base = base;
- this.properties = props || [];
- if (tag) {
- this[tag] = true;
- }
- this.isDefaultValue = isDefaultValue;
- return this;
- }
-
- add(props) {
- this.properties = this.properties.concat(props);
- return this;
- }
-
- hasProperties() {
- return !!this.properties.length;
- }
-
- bareLiteral(type) {
- return !this.properties.length && this.base instanceof type;
- }
-
- isArray() {
- return this.bareLiteral(Arr);
- }
-
- isRange() {
- return this.bareLiteral(Range);
- }
-
- shouldCache() {
- return this.hasProperties() || this.base.shouldCache();
- }
-
- isAssignable() {
- return this.hasProperties() || this.base.isAssignable();
- }
-
- isNumber() {
- return this.bareLiteral(NumberLiteral);
- }
-
- isString() {
- return this.bareLiteral(StringLiteral);
- }
-
- isRegex() {
- return this.bareLiteral(RegexLiteral);
- }
-
- isUndefined() {
- return this.bareLiteral(UndefinedLiteral);
- }
-
- isNull() {
- return this.bareLiteral(NullLiteral);
- }
-
- isBoolean() {
- return this.bareLiteral(BooleanLiteral);
- }
-
- isAtomic() {
- var j, len1, node, ref1;
- ref1 = this.properties.concat(this.base);
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- node = ref1[j];
- if (node.soak || node instanceof Call) {
- return false;
- }
- }
- return true;
- }
-
- isNotCallable() {
- return this.isNumber() || this.isString() || this.isRegex() || this.isArray() || this.isRange() || this.isSplice() || this.isObject() || this.isUndefined() || this.isNull() || this.isBoolean();
- }
-
- isStatement(o) {
- return !this.properties.length && this.base.isStatement(o);
- }
-
- assigns(name) {
- return !this.properties.length && this.base.assigns(name);
- }
-
- jumps(o) {
- return !this.properties.length && this.base.jumps(o);
- }
-
- isObject(onlyGenerated) {
- if (this.properties.length) {
- return false;
- }
- return (this.base instanceof Obj) && (!onlyGenerated || this.base.generated);
- }
-
- isSplice() {
- var lastProp, ref1;
- ref1 = this.properties, lastProp = ref1[ref1.length - 1];
- return lastProp instanceof Slice;
- }
-
- looksStatic(className) {
- var ref1;
- return (this["this"] || this.base instanceof ThisLiteral || this.base.value === className) && this.properties.length === 1 && ((ref1 = this.properties[0].name) != null ? ref1.value : void 0) !== 'prototype';
- }
-
- unwrap() {
- if (this.properties.length) {
- return this;
- } else {
- return this.base;
- }
- }
-
- cacheReference(o) {
- var base, bref, name, nref, ref1;
- ref1 = this.properties, name = ref1[ref1.length - 1];
- if (this.properties.length < 2 && !this.base.shouldCache() && !(name != null ? name.shouldCache() : void 0)) {
- return [this, this];
- }
- base = new Value(this.base, this.properties.slice(0, -1));
- if (base.shouldCache()) {
- bref = new IdentifierLiteral(o.scope.freeVariable('base'));
- base = new Value(new Parens(new Assign(bref, base)));
- }
- if (!name) {
- return [base, bref];
- }
- if (name.shouldCache()) {
- nref = new IdentifierLiteral(o.scope.freeVariable('name'));
- name = new Index(new Assign(nref, name.index));
- nref = new Index(nref);
- }
- return [base.add(name), new Value(bref || base.base, [nref || name])];
- }
-
- compileNode(o) {
- var fragments, j, len1, prop, props;
- this.base.front = this.front;
- props = this.properties;
- fragments = this.base.compileToFragments(o, (props.length ? LEVEL_ACCESS : null));
- if (props.length && SIMPLENUM.test(fragmentsToText(fragments))) {
- fragments.push(this.makeCode('.'));
- }
- for (j = 0, len1 = props.length; j < len1; j++) {
- prop = props[j];
- fragments.push(...prop.compileToFragments(o));
- }
- return fragments;
- }
-
- unfoldSoak(o) {
- return this.unfoldedSoak != null ? this.unfoldedSoak : this.unfoldedSoak = (() => {
- var fst, i, ifn, j, len1, prop, ref, ref1, snd;
- if (ifn = this.base.unfoldSoak(o)) {
- ifn.body.properties.push(...this.properties);
- return ifn;
- }
- ref1 = this.properties;
- for (i = j = 0, len1 = ref1.length; j < len1; i = ++j) {
- prop = ref1[i];
- if (!prop.soak) {
- continue;
- }
- prop.soak = false;
- fst = new Value(this.base, this.properties.slice(0, i));
- snd = new Value(this.base, this.properties.slice(i));
- if (fst.shouldCache()) {
- ref = new IdentifierLiteral(o.scope.freeVariable('ref'));
- fst = new Parens(new Assign(ref, fst));
- snd.base = ref;
- }
- return new If(new Existence(fst), snd, {
- soak: true
- });
- }
- return false;
- })();
- }
-
- eachName(iterator) {
- if (this.hasProperties()) {
- return iterator(this);
- } else if (this.base.isAssignable()) {
- return this.base.eachName(iterator);
- } else {
- return this.error('tried to assign to unassignable value');
- }
- }
-
- };
-
- Value.prototype.children = ['base', 'properties'];
-
- return Value;
-
- })();
-
- exports.Comment = Comment = (function() {
- class Comment extends Base {
- constructor(comment1) {
- super();
- this.comment = comment1;
- }
-
- compileNode(o, level) {
- var code, comment;
- comment = this.comment.replace(/^(\s*)#(?=\s)/gm, "$1 *");
- code = `/*${multident(comment, this.tab)}${(indexOf.call(comment, '\n') >= 0 ? `\n${this.tab}` : '')} */`;
- if ((level || o.level) === LEVEL_TOP) {
- code = o.indent + code;
- }
- return [this.makeCode("\n"), this.makeCode(code)];
- }
-
- };
-
- Comment.prototype.isStatement = YES;
-
- Comment.prototype.makeReturn = THIS;
-
- return Comment;
-
- })();
-
- exports.Call = Call = (function() {
- class Call extends Base {
- constructor(variable1, args1 = [], soak1) {
- super();
- this.variable = variable1;
- this.args = args1;
- this.soak = soak1;
- this.isNew = false;
- if (this.variable instanceof Value && this.variable.isNotCallable()) {
- this.variable.error("literal is not a function");
- }
- }
-
- updateLocationDataIfMissing(locationData) {
- var base, ref1;
- if (this.locationData && this.needsUpdatedStartLocation) {
- this.locationData.first_line = locationData.first_line;
- this.locationData.first_column = locationData.first_column;
- base = ((ref1 = this.variable) != null ? ref1.base : void 0) || this.variable;
- if (base.needsUpdatedStartLocation) {
- this.variable.locationData.first_line = locationData.first_line;
- this.variable.locationData.first_column = locationData.first_column;
- base.updateLocationDataIfMissing(locationData);
- }
- delete this.needsUpdatedStartLocation;
- }
- return super.updateLocationDataIfMissing(locationData);
- }
-
- newInstance() {
- var base, ref1;
- base = ((ref1 = this.variable) != null ? ref1.base : void 0) || this.variable;
- if (base instanceof Call && !base.isNew) {
- base.newInstance();
- } else {
- this.isNew = true;
- }
- this.needsUpdatedStartLocation = true;
- return this;
- }
-
- unfoldSoak(o) {
- var call, ifn, j, left, len1, list, ref1, rite;
- if (this.soak) {
- if (this.variable instanceof Super) {
- left = new Literal(this.variable.compile(o));
- rite = new Value(left);
- if (this.variable.accessor == null) {
- this.variable.error("Unsupported reference to 'super'");
- }
- } else {
- if (ifn = unfoldSoak(o, this, 'variable')) {
- return ifn;
- }
- [left, rite] = new Value(this.variable).cacheReference(o);
- }
- rite = new Call(rite, this.args);
- rite.isNew = this.isNew;
- left = new Literal(`typeof ${left.compile(o)} === \"function\"`);
- return new If(left, new Value(rite), {
- soak: true
- });
- }
- call = this;
- list = [];
- while (true) {
- if (call.variable instanceof Call) {
- list.push(call);
- call = call.variable;
- continue;
- }
- if (!(call.variable instanceof Value)) {
- break;
- }
- list.push(call);
- if (!((call = call.variable.base) instanceof Call)) {
- break;
- }
- }
- ref1 = list.reverse();
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- call = ref1[j];
- if (ifn) {
- if (call.variable instanceof Call) {
- call.variable = ifn;
- } else {
- call.variable.base = ifn;
- }
- }
- ifn = unfoldSoak(o, call, 'variable');
- }
- return ifn;
- }
-
- compileNode(o) {
- var arg, argIndex, compiledArgs, fragments, j, len1, ref1, ref2;
- if ((ref1 = this.variable) != null) {
- ref1.front = this.front;
- }
- compiledArgs = [];
- ref2 = this.args;
- for (argIndex = j = 0, len1 = ref2.length; j < len1; argIndex = ++j) {
- arg = ref2[argIndex];
- if (argIndex) {
- compiledArgs.push(this.makeCode(", "));
- }
- compiledArgs.push(...arg.compileToFragments(o, LEVEL_LIST));
- }
- fragments = [];
- if (this.isNew) {
- if (this.variable instanceof Super) {
- this.variable.error("Unsupported reference to 'super'");
- }
- fragments.push(this.makeCode('new '));
- }
- fragments.push(...this.variable.compileToFragments(o, LEVEL_ACCESS));
- fragments.push(this.makeCode('('), ...compiledArgs, this.makeCode(')'));
- return fragments;
- }
-
- };
-
- Call.prototype.children = ['variable', 'args'];
-
- return Call;
-
- })();
-
- exports.SuperCall = SuperCall = (function() {
- class SuperCall extends Call {
- isStatement(o) {
- var ref1;
- return ((ref1 = this.expressions) != null ? ref1.length : void 0) && o.level === LEVEL_TOP;
- }
-
- compileNode(o) {
- var ref, ref1, replacement, superCall;
- if (!((ref1 = this.expressions) != null ? ref1.length : void 0)) {
- return super.compileNode(o);
- }
- superCall = new Literal(fragmentsToText(super.compileNode(o)));
- replacement = new Block(this.expressions.slice());
- if (o.level > LEVEL_TOP) {
- [superCall, ref] = superCall.cache(o, null, YES);
- replacement.push(ref);
- }
- replacement.unshift(superCall);
- return replacement.compileToFragments(o, o.level === LEVEL_TOP ? o.level : LEVEL_LIST);
- }
-
- };
-
- SuperCall.prototype.children = Call.prototype.children.concat(['expressions']);
-
- return SuperCall;
-
- })();
-
- exports.Super = Super = (function() {
- class Super extends Base {
- constructor(accessor) {
- super();
- this.accessor = accessor;
- }
-
- compileNode(o) {
- var method, name, nref, variable;
- method = o.scope.namedMethod();
- if (!(method != null ? method.isMethod : void 0)) {
- this.error('cannot use super outside of an instance method');
- }
- this.inCtor = !!method.ctor;
- if (!(this.inCtor || (this.accessor != null))) {
- ({name, variable} = method);
- if (name.shouldCache() || (name instanceof Index && name.index.isAssignable())) {
- nref = new IdentifierLiteral(o.scope.parent.freeVariable('name'));
- name.index = new Assign(nref, name.index);
- }
- this.accessor = nref != null ? new Index(nref) : name;
- }
- return (new Value(new Literal('super'), this.accessor ? [this.accessor] : [])).compileToFragments(o);
- }
-
- };
-
- Super.prototype.children = ['accessor'];
-
- return Super;
-
- })();
-
- exports.RegexWithInterpolations = RegexWithInterpolations = class RegexWithInterpolations extends Call {
- constructor(args = []) {
- super(new Value(new IdentifierLiteral('RegExp')), args, false);
- }
-
- };
-
- exports.TaggedTemplateCall = TaggedTemplateCall = class TaggedTemplateCall extends Call {
- constructor(variable, arg, soak) {
- if (arg instanceof StringLiteral) {
- arg = new StringWithInterpolations(Block.wrap([new Value(arg)]));
- }
- super(variable, [arg], soak);
- }
-
- compileNode(o) {
- return this.variable.compileToFragments(o, LEVEL_ACCESS).concat(this.args[0].compileToFragments(o, LEVEL_LIST));
- }
-
- };
-
- exports.Extends = Extends = (function() {
- class Extends extends Base {
- constructor(child1, parent1) {
- super();
- this.child = child1;
- this.parent = parent1;
- }
-
- compileToFragments(o) {
- return new Call(new Value(new Literal(utility('extend', o))), [this.child, this.parent]).compileToFragments(o);
- }
-
- };
-
- Extends.prototype.children = ['child', 'parent'];
-
- return Extends;
-
- })();
-
- exports.Access = Access = (function() {
- class Access extends Base {
- constructor(name1, tag) {
- super();
- this.name = name1;
- this.soak = tag === 'soak';
- }
-
- compileToFragments(o) {
- var name, node, ref1;
- name = this.name.compileToFragments(o);
- node = this.name.unwrap();
- if (node instanceof PropertyName) {
- if (ref1 = node.value, indexOf.call(JS_FORBIDDEN, ref1) >= 0) {
- return [this.makeCode('["'), ...name, this.makeCode('"]')];
- } else {
- return [this.makeCode('.'), ...name];
- }
- } else {
- return [this.makeCode('['), ...name, this.makeCode(']')];
- }
- }
-
- };
-
- Access.prototype.children = ['name'];
-
- Access.prototype.shouldCache = NO;
-
- return Access;
-
- })();
-
- exports.Index = Index = (function() {
- class Index extends Base {
- constructor(index1) {
- super();
- this.index = index1;
- }
-
- compileToFragments(o) {
- return [].concat(this.makeCode("["), this.index.compileToFragments(o, LEVEL_PAREN), this.makeCode("]"));
- }
-
- shouldCache() {
- return this.index.shouldCache();
- }
-
- };
-
- Index.prototype.children = ['index'];
-
- return Index;
-
- })();
-
- exports.Range = Range = (function() {
- class Range extends Base {
- constructor(from1, to1, tag) {
- super();
- this.from = from1;
- this.to = to1;
- this.exclusive = tag === 'exclusive';
- this.equals = this.exclusive ? '' : '=';
- }
-
- compileVariables(o) {
- var shouldCache, step;
- o = merge(o, {
- top: true
- });
- shouldCache = del(o, 'shouldCache');
- [this.fromC, this.fromVar] = this.cacheToCodeFragments(this.from.cache(o, LEVEL_LIST, shouldCache));
- [this.toC, this.toVar] = this.cacheToCodeFragments(this.to.cache(o, LEVEL_LIST, shouldCache));
- if (step = del(o, 'step')) {
- [this.step, this.stepVar] = this.cacheToCodeFragments(step.cache(o, LEVEL_LIST, shouldCache));
- }
- this.fromNum = this.from.isNumber() ? Number(this.fromVar) : null;
- this.toNum = this.to.isNumber() ? Number(this.toVar) : null;
- return this.stepNum = (step != null ? step.isNumber() : void 0) ? Number(this.stepVar) : null;
- }
-
- compileNode(o) {
- var cond, condPart, from, gt, idx, idxName, known, lt, namedIndex, stepPart, to, varPart;
- if (!this.fromVar) {
- this.compileVariables(o);
- }
- if (!o.index) {
- return this.compileArray(o);
- }
- known = (this.fromNum != null) && (this.toNum != null);
- idx = del(o, 'index');
- idxName = del(o, 'name');
- namedIndex = idxName && idxName !== idx;
- varPart = `${idx} = ${this.fromC}`;
- if (this.toC !== this.toVar) {
- varPart += `, ${this.toC}`;
- }
- if (this.step !== this.stepVar) {
- varPart += `, ${this.step}`;
- }
- [lt, gt] = [`${idx} <${this.equals}`, `${idx} >${this.equals}`];
- condPart = this.stepNum != null ? this.stepNum > 0 ? `${lt} ${this.toVar}` : `${gt} ${this.toVar}` : known ? ([from, to] = [this.fromNum, this.toNum], from <= to ? `${lt} ${to}` : `${gt} ${to}`) : (cond = this.stepVar ? `${this.stepVar} > 0` : `${this.fromVar} <= ${this.toVar}`, `${cond} ? ${lt} ${this.toVar} : ${gt} ${this.toVar}`);
- stepPart = this.stepVar ? `${idx} += ${this.stepVar}` : known ? namedIndex ? from <= to ? `++${idx}` : `--${idx}` : from <= to ? `${idx}++` : `${idx}--` : namedIndex ? `${cond} ? ++${idx} : --${idx}` : `${cond} ? ${idx}++ : ${idx}--`;
- if (namedIndex) {
- varPart = `${idxName} = ${varPart}`;
- }
- if (namedIndex) {
- stepPart = `${idxName} = ${stepPart}`;
- }
- return [this.makeCode(`${varPart}; ${condPart}; ${stepPart}`)];
- }
-
- compileArray(o) {
- var args, body, cond, hasArgs, i, idt, j, known, post, pre, range, ref1, ref2, result, results, vars;
- known = (this.fromNum != null) && (this.toNum != null);
- if (known && Math.abs(this.fromNum - this.toNum) <= 20) {
- range = (function() {
- results = [];
- for (var j = ref1 = this.fromNum, ref2 = this.toNum; ref1 <= ref2 ? j <= ref2 : j >= ref2; ref1 <= ref2 ? j++ : j--){ results.push(j); }
- return results;
- }).apply(this);
- if (this.exclusive) {
- range.pop();
- }
- return [this.makeCode(`[${range.join(', ')}]`)];
- }
- idt = this.tab + TAB;
- i = o.scope.freeVariable('i', {
- single: true
- });
- result = o.scope.freeVariable('results');
- pre = `\n${idt}${result} = [];`;
- if (known) {
- o.index = i;
- body = fragmentsToText(this.compileNode(o));
- } else {
- vars = `${i} = ${this.fromC}` + (this.toC !== this.toVar ? `, ${this.toC}` : '');
- cond = `${this.fromVar} <= ${this.toVar}`;
- body = `var ${vars}; ${cond} ? ${i} <${this.equals} ${this.toVar} : ${i} >${this.equals} ${this.toVar}; ${cond} ? ${i}++ : ${i}--`;
- }
- post = `{ ${result}.push(${i}); }\n${idt}return ${result};\n${o.indent}`;
- hasArgs = function(node) {
- return node != null ? node.contains(isLiteralArguments) : void 0;
- };
- if (hasArgs(this.from) || hasArgs(this.to)) {
- args = ', arguments';
- }
- return [this.makeCode(`(function() {${pre}\n${idt}for (${body})${post}}).apply(this${args != null ? args : ''})`)];
- }
-
- };
-
- Range.prototype.children = ['from', 'to'];
-
- return Range;
-
- })();
-
- exports.Slice = Slice = (function() {
- class Slice extends Base {
- constructor(range1) {
- super();
- this.range = range1;
- }
-
- compileNode(o) {
- var compiled, compiledText, from, fromCompiled, to, toStr;
- ({to, from} = this.range);
- fromCompiled = from && from.compileToFragments(o, LEVEL_PAREN) || [this.makeCode('0')];
- if (to) {
- compiled = to.compileToFragments(o, LEVEL_PAREN);
- compiledText = fragmentsToText(compiled);
- if (!(!this.range.exclusive && +compiledText === -1)) {
- toStr = ', ' + (this.range.exclusive ? compiledText : to.isNumber() ? `${+compiledText + 1}` : (compiled = to.compileToFragments(o, LEVEL_ACCESS), `+${fragmentsToText(compiled)} + 1 || 9e9`));
- }
- }
- return [this.makeCode(`.slice(${fragmentsToText(fromCompiled)}${toStr || ''})`)];
- }
-
- };
-
- Slice.prototype.children = ['range'];
-
- return Slice;
-
- })();
-
- exports.Obj = Obj = (function() {
- class Obj extends Base {
- constructor(props, generated = false, lhs1 = false) {
- super();
- this.generated = generated;
- this.lhs = lhs1;
- this.objects = this.properties = props || [];
- }
-
- isAssignable() {
- var j, len1, message, prop, ref1;
- ref1 = this.properties;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- prop = ref1[j];
- message = isUnassignable(prop.unwrapAll().value);
- if (message) {
- prop.error(message);
- }
- if (prop instanceof Assign && prop.context === 'object') {
- prop = prop.value;
- }
- if (!prop.isAssignable()) {
- return false;
- }
- }
- return true;
- }
-
- shouldCache() {
- return !this.isAssignable();
- }
-
- compileNode(o) {
- var answer, i, idt, indent, isCompact, j, join, k, key, l, lastNoncom, len1, len2, len3, node, prop, props, ref1, value;
- props = this.properties;
- if (this.generated) {
- for (j = 0, len1 = props.length; j < len1; j++) {
- node = props[j];
- if (node instanceof Value) {
- node.error('cannot have an implicit value in an implicit object');
- }
- }
- }
- idt = o.indent += TAB;
- lastNoncom = this.lastNonComment(this.properties);
- isCompact = true;
- ref1 = this.properties;
- for (k = 0, len2 = ref1.length; k < len2; k++) {
- prop = ref1[k];
- if (prop instanceof Comment || (prop instanceof Assign && prop.context === 'object')) {
- isCompact = false;
- }
- }
- answer = [];
- answer.push(this.makeCode(`{${(isCompact ? '' : '\n')}`));
- for (i = l = 0, len3 = props.length; l < len3; i = ++l) {
- prop = props[i];
- join = i === props.length - 1 ? '' : isCompact ? ', ' : prop === lastNoncom || prop instanceof Comment ? '\n' : ',\n';
- indent = isCompact || prop instanceof Comment ? '' : idt;
- key = prop instanceof Assign && prop.context === 'object' ? prop.variable : prop instanceof Assign ? (!this.lhs ? prop.operatorToken.error(`unexpected ${prop.operatorToken.value}`) : void 0, prop.variable) : !(prop instanceof Comment) ? prop : void 0;
- if (key instanceof Value && key.hasProperties()) {
- if (prop.context === 'object' || !key["this"]) {
- key.error('invalid object key');
- }
- key = key.properties[0].name;
- prop = new Assign(key, prop, 'object');
- }
- if (key === prop) {
- if (prop.shouldCache()) {
- [key, value] = prop.base.cache(o);
- if (key instanceof IdentifierLiteral) {
- key = new PropertyName(key.value);
- }
- prop = new Assign(key, value, 'object');
- } else if (!(typeof prop.bareLiteral === "function" ? prop.bareLiteral(IdentifierLiteral) : void 0)) {
- prop = new Assign(prop, prop, 'object');
- }
- }
- if (indent) {
- answer.push(this.makeCode(indent));
- }
- answer.push(...prop.compileToFragments(o, LEVEL_TOP));
- if (join) {
- answer.push(this.makeCode(join));
- }
- }
- answer.push(this.makeCode(`${(isCompact ? '' : `\n${this.tab}`)}}`));
- if (this.front) {
- return this.wrapInParentheses(answer);
- } else {
- return answer;
- }
- }
-
- assigns(name) {
- var j, len1, prop, ref1;
- ref1 = this.properties;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- prop = ref1[j];
- if (prop.assigns(name)) {
- return true;
- }
- }
- return false;
- }
-
- eachName(iterator) {
- var j, len1, prop, ref1, results;
- ref1 = this.properties;
- results = [];
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- prop = ref1[j];
- if (prop instanceof Assign && prop.context === 'object') {
- prop = prop.value;
- }
- prop = prop.unwrapAll();
- if (prop.eachName != null) {
- results.push(prop.eachName(iterator));
- } else {
- results.push(void 0);
- }
- }
- return results;
- }
-
- };
-
- Obj.prototype.children = ['properties'];
-
- return Obj;
-
- })();
-
- exports.Arr = Arr = (function() {
- class Arr extends Base {
- constructor(objs, lhs1 = false) {
- super();
- this.lhs = lhs1;
- this.objects = objs || [];
- }
-
- isAssignable() {
- var i, j, len1, obj, ref1;
- if (!this.objects.length) {
- return false;
- }
- ref1 = this.objects;
- for (i = j = 0, len1 = ref1.length; j < len1; i = ++j) {
- obj = ref1[i];
- if (obj instanceof Splat && i + 1 !== this.objects.length) {
- return false;
- }
- if (!(obj.isAssignable() && (!obj.isAtomic || obj.isAtomic()))) {
- return false;
- }
- }
- return true;
- }
-
- shouldCache() {
- return !this.isAssignable();
- }
-
- compileNode(o) {
- var answer, compiledObjs, fragments, index, j, k, len1, len2, obj, ref1, unwrappedObj;
- if (!this.objects.length) {
- return [this.makeCode('[]')];
- }
- o.indent += TAB;
- answer = [];
- if (this.lhs) {
- ref1 = this.objects;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- obj = ref1[j];
- unwrappedObj = obj.unwrapAll();
- if (unwrappedObj instanceof Arr || unwrappedObj instanceof Obj) {
- unwrappedObj.lhs = true;
- }
- }
- }
- compiledObjs = (function() {
- var k, len2, ref2, results;
- ref2 = this.objects;
- results = [];
- for (k = 0, len2 = ref2.length; k < len2; k++) {
- obj = ref2[k];
- results.push(obj.compileToFragments(o, LEVEL_LIST));
- }
- return results;
- }).call(this);
- for (index = k = 0, len2 = compiledObjs.length; k < len2; index = ++k) {
- fragments = compiledObjs[index];
- if (index) {
- answer.push(this.makeCode(", "));
- }
- answer.push(...fragments);
- }
- if (fragmentsToText(answer).indexOf('\n') >= 0) {
- answer.unshift(this.makeCode(`[\n${o.indent}`));
- answer.push(this.makeCode(`\n${this.tab}]`));
- } else {
- answer.unshift(this.makeCode("["));
- answer.push(this.makeCode("]"));
- }
- return answer;
- }
-
- assigns(name) {
- var j, len1, obj, ref1;
- ref1 = this.objects;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- obj = ref1[j];
- if (obj.assigns(name)) {
- return true;
- }
- }
- return false;
- }
-
- eachName(iterator) {
- var j, len1, obj, ref1, results;
- ref1 = this.objects;
- results = [];
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- obj = ref1[j];
- obj = obj.unwrapAll();
- results.push(obj.eachName(iterator));
- }
- return results;
- }
-
- };
-
- Arr.prototype.children = ['objects'];
-
- return Arr;
-
- })();
-
- exports.Class = Class = (function() {
- class Class extends Base {
- constructor(variable1, parent1, body1 = new Block) {
- super();
- this.variable = variable1;
- this.parent = parent1;
- this.body = body1;
- }
-
- compileNode(o) {
- var assign, executableBody, parentName, result;
- this.name = this.determineName();
- executableBody = this.walkBody();
- if (this.parent instanceof Value && !this.parent.hasProperties()) {
- parentName = this.parent.base.value;
- }
- this.hasNameClash = (this.name != null) && this.name === parentName;
- if (executableBody || this.hasNameClash) {
- this.compileNode = this.compileClassDeclaration;
- result = new ExecutableClassBody(this, executableBody).compileToFragments(o);
- this.compileNode = this.constructor.prototype.compileNode;
- } else {
- result = this.compileClassDeclaration(o);
- if ((this.name == null) && o.level === LEVEL_TOP) {
- result = this.wrapInParentheses(result);
- }
- }
- if (this.variable) {
- assign = new Assign(this.variable, new Literal(''), null, {moduleDeclaration: this.moduleDeclaration});
- return [...assign.compileToFragments(o), ...result];
- } else {
- return result;
- }
- }
-
- compileClassDeclaration(o) {
- var ref1, result;
- if (this.externalCtor || this.boundMethods.length) {
- if (this.ctor == null) {
- this.ctor = this.makeDefaultConstructor();
- }
- }
- if ((ref1 = this.ctor) != null) {
- ref1.noReturn = true;
- }
- if (this.boundMethods.length) {
- this.proxyBoundMethods(o);
- }
- o.indent += TAB;
- result = [];
- result.push(this.makeCode("class "));
- if (this.name) {
- result.push(this.makeCode(`${this.name} `));
- }
- if (this.parent) {
- result.push(this.makeCode('extends '), ...this.parent.compileToFragments(o), this.makeCode(' '));
- }
- result.push(this.makeCode('{'));
- if (!this.body.isEmpty()) {
- this.body.spaced = true;
- result.push(this.makeCode('\n'));
- result.push(...this.body.compileToFragments(o, LEVEL_TOP));
- result.push(this.makeCode(`\n${this.tab}`));
- }
- result.push(this.makeCode('}'));
- return result;
- }
-
- determineName() {
- var message, name, node, ref1, tail;
- if (!this.variable) {
- return null;
- }
- ref1 = this.variable.properties, tail = ref1[ref1.length - 1];
- node = tail ? tail instanceof Access && tail.name : this.variable.base;
- if (!(node instanceof IdentifierLiteral || node instanceof PropertyName)) {
- return null;
- }
- name = node.value;
- if (!tail) {
- message = isUnassignable(name);
- if (message) {
- this.variable.error(message);
- }
- }
- if (indexOf.call(JS_FORBIDDEN, name) >= 0) {
- return `_${name}`;
- } else {
- return name;
- }
- }
-
- walkBody() {
- var assign, end, executableBody, expression, expressions, exprs, i, initializer, initializerExpression, j, k, len1, len2, method, properties, pushSlice, ref1, start;
- this.ctor = null;
- this.boundMethods = [];
- executableBody = null;
- initializer = [];
- ({expressions} = this.body);
- i = 0;
- ref1 = expressions.slice();
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- expression = ref1[j];
- if (expression instanceof Value && expression.isObject(true)) {
- ({properties} = expression.base);
- exprs = [];
- end = 0;
- start = 0;
- pushSlice = function() {
- if (end > start) {
- return exprs.push(new Value(new Obj(properties.slice(start, end), true)));
- }
- };
- while (assign = properties[end]) {
- if (initializerExpression = this.addInitializerExpression(assign)) {
- pushSlice();
- exprs.push(initializerExpression);
- initializer.push(initializerExpression);
- start = end + 1;
- } else if (initializer[initializer.length - 1] instanceof Comment) {
- exprs.pop();
- initializer.pop();
- start--;
- }
- end++;
- }
- pushSlice();
- [].splice.apply(expressions, [i, i - i + 1].concat(exprs)), exprs;
- i += exprs.length;
- } else {
- if (initializerExpression = this.addInitializerExpression(expression)) {
- initializer.push(initializerExpression);
- expressions[i] = initializerExpression;
- } else if (initializer[initializer.length - 1] instanceof Comment) {
- initializer.pop();
- }
- i += 1;
- }
- }
- for (k = 0, len2 = initializer.length; k < len2; k++) {
- method = initializer[k];
- if (method instanceof Code) {
- if (method.ctor) {
- if (this.ctor) {
- method.error('Cannot define more than one constructor in a class');
- }
- this.ctor = method;
- } else if (method.bound && method.isStatic) {
- method.context = this.name;
- } else if (method.bound) {
- this.boundMethods.push(method.name);
- method.bound = false;
- }
- }
- }
- if (initializer.length !== expressions.length) {
- this.body.expressions = (function() {
- var l, len3, results;
- results = [];
- for (l = 0, len3 = initializer.length; l < len3; l++) {
- expression = initializer[l];
- results.push(expression.hoist());
- }
- return results;
- })();
- return new Block(expressions);
- }
- }
-
- addInitializerExpression(node) {
- switch (false) {
- case !(node instanceof Comment):
- return node;
- case !this.validInitializerMethod(node):
- return this.addInitializerMethod(node);
- default:
- return null;
- }
- }
-
- validInitializerMethod(node) {
- if (!(node instanceof Assign && node.value instanceof Code)) {
- return false;
- }
- if (node.context === 'object' && !node.variable.hasProperties()) {
- return true;
- }
- return node.variable.looksStatic(this.name) && (this.name || !node.value.bound);
- }
-
- addInitializerMethod(assign) {
- var method, methodName, variable;
- ({
- variable,
- value: method
- } = assign);
- method.isMethod = true;
- method.isStatic = variable.looksStatic(this.name);
- if (method.isStatic) {
- method.name = variable.properties[0];
- } else {
- methodName = variable.base;
- method.name = new (methodName.shouldCache() ? Index : Access)(methodName);
- method.name.updateLocationDataIfMissing(methodName.locationData);
- if (methodName.value === 'constructor') {
- method.ctor = (this.parent ? 'derived' : 'base');
- }
- if (method.bound && method.ctor) {
- method.error('Cannot define a constructor as a bound function');
- }
- }
- return method;
- }
-
- makeDefaultConstructor() {
- var applyArgs, applyCtor, ctor;
- ctor = this.addInitializerMethod(new Assign(new Value(new PropertyName('constructor')), new Code));
- this.body.unshift(ctor);
- if (this.parent) {
- ctor.body.push(new SuperCall(new Super, [new Splat(new IdentifierLiteral('arguments'))]));
- }
- if (this.externalCtor) {
- applyCtor = new Value(this.externalCtor, [new Access(new PropertyName('apply'))]);
- applyArgs = [new ThisLiteral, new IdentifierLiteral('arguments')];
- ctor.body.push(new Call(applyCtor, applyArgs));
- ctor.body.makeReturn();
- }
- return ctor;
- }
-
- proxyBoundMethods(o) {
- var name;
- this.ctor.thisAssignments = (function() {
- var j, ref1, results;
- ref1 = this.boundMethods;
- results = [];
- for (j = ref1.length - 1; j >= 0; j += -1) {
- name = ref1[j];
- name = new Value(new ThisLiteral, [name]).compile(o);
- results.push(new Literal(`${name} = ${utility('bind', o)}(${name}, this)`));
- }
- return results;
- }).call(this);
- return null;
- }
-
- };
-
- Class.prototype.children = ['variable', 'parent', 'body'];
-
- return Class;
-
- })();
-
- exports.ExecutableClassBody = ExecutableClassBody = (function() {
- class ExecutableClassBody extends Base {
- constructor(_class, body1 = new Block) {
- super();
- this["class"] = _class;
- this.body = body1;
- }
-
- compileNode(o) {
- var args, argumentsNode, directives, externalCtor, ident, jumpNode, klass, params, parent, ref1, wrapper;
- if (jumpNode = this.body.jumps()) {
- jumpNode.error('Class bodies cannot contain pure statements');
- }
- if (argumentsNode = this.body.contains(isLiteralArguments)) {
- argumentsNode.error("Class bodies shouldn't reference arguments");
- }
- this.name = (ref1 = this["class"].name) != null ? ref1 : this.defaultClassVariableName;
- directives = this.walkBody();
- this.setContext();
- ident = new IdentifierLiteral(this.name);
- params = [];
- args = [];
- wrapper = new Code(params, this.body);
- klass = new Parens(new Call(wrapper, args));
- this.body.spaced = true;
- o.classScope = wrapper.makeScope(o.scope);
- if (this["class"].hasNameClash) {
- parent = new IdentifierLiteral(o.classScope.freeVariable('superClass'));
- wrapper.params.push(new Param(parent));
- args.push(this["class"].parent);
- this["class"].parent = parent;
- }
- if (this.externalCtor) {
- externalCtor = new IdentifierLiteral(o.classScope.freeVariable('ctor', {
- reserve: false
- }));
- this["class"].externalCtor = externalCtor;
- this.externalCtor.variable.base = externalCtor;
- }
- if (this.name !== this["class"].name) {
- this.body.expressions.unshift(new Assign(new IdentifierLiteral(this.name), this["class"]));
- } else {
- this.body.expressions.unshift(this["class"]);
- }
- this.body.expressions.unshift(...directives);
- this.body.push(ident);
- return klass.compileToFragments(o);
- }
-
- walkBody() {
- var directives, expr, index;
- directives = [];
- index = 0;
- while (expr = this.body.expressions[index]) {
- if (!(expr instanceof Comment || expr instanceof Value && expr.isString())) {
- break;
- }
- if (expr.hoisted) {
- index++;
- } else {
- directives.push(...this.body.expressions.splice(index, 1));
- }
- }
- this.traverseChildren(false, (child) => {
- var cont, i, j, len1, node, ref1;
- if (child instanceof Class || child instanceof HoistTarget) {
- return false;
- }
- cont = true;
- if (child instanceof Block) {
- ref1 = child.expressions;
- for (i = j = 0, len1 = ref1.length; j < len1; i = ++j) {
- node = ref1[i];
- if (node instanceof Value && node.isObject(true)) {
- cont = false;
- child.expressions[i] = this.addProperties(node.base.properties);
- } else if (node instanceof Assign && node.variable.looksStatic(this.name)) {
- node.value.isStatic = true;
- }
- }
- child.expressions = flatten(child.expressions);
- }
- return cont;
- });
- return directives;
- }
-
- setContext() {
- return this.body.traverseChildren(false, (node) => {
- if (node instanceof ThisLiteral) {
- return node.value = this.name;
- } else if (node instanceof Code && node.bound) {
- return node.context = this.name;
- }
- });
- }
-
- addProperties(assigns) {
- var assign, base, name, prototype, result, value, variable;
- result = (function() {
- var j, len1, results;
- results = [];
- for (j = 0, len1 = assigns.length; j < len1; j++) {
- assign = assigns[j];
- variable = assign.variable;
- base = variable != null ? variable.base : void 0;
- value = assign.value;
- delete assign.context;
- if (assign instanceof Comment) {
-
- } else if (base.value === 'constructor') {
- if (value instanceof Code) {
- base.error('constructors must be defined at the top level of a class body');
- }
- assign = this.externalCtor = new Assign(new Value, value);
- } else if (!assign.variable["this"]) {
- name = new (base.shouldCache() ? Index : Access)(base);
- prototype = new Access(new PropertyName('prototype'));
- variable = new Value(new ThisLiteral(), [prototype, name]);
- assign.variable = variable;
- } else if (assign.value instanceof Code) {
- assign.value.isStatic = true;
- }
- results.push(assign);
- }
- return results;
- }).call(this);
- return compact(result);
- }
-
- };
-
- ExecutableClassBody.prototype.children = ['class', 'body'];
-
- ExecutableClassBody.prototype.defaultClassVariableName = '_Class';
-
- return ExecutableClassBody;
-
- })();
-
- exports.ModuleDeclaration = ModuleDeclaration = (function() {
- class ModuleDeclaration extends Base {
- constructor(clause, source1) {
- super();
- this.clause = clause;
- this.source = source1;
- this.checkSource();
- }
-
- checkSource() {
- if ((this.source != null) && this.source instanceof StringWithInterpolations) {
- return this.source.error('the name of the module to be imported from must be an uninterpolated string');
- }
- }
-
- checkScope(o, moduleDeclarationType) {
- if (o.indent.length !== 0) {
- return this.error(`${moduleDeclarationType} statements must be at top-level scope`);
- }
- }
-
- };
-
- ModuleDeclaration.prototype.children = ['clause', 'source'];
-
- ModuleDeclaration.prototype.isStatement = YES;
-
- ModuleDeclaration.prototype.jumps = THIS;
-
- ModuleDeclaration.prototype.makeReturn = THIS;
-
- return ModuleDeclaration;
-
- })();
-
- exports.ImportDeclaration = ImportDeclaration = class ImportDeclaration extends ModuleDeclaration {
- compileNode(o) {
- var code, ref1;
- this.checkScope(o, 'import');
- o.importedSymbols = [];
- code = [];
- code.push(this.makeCode(`${this.tab}import `));
- if (this.clause != null) {
- code.push(...this.clause.compileNode(o));
- }
- if (((ref1 = this.source) != null ? ref1.value : void 0) != null) {
- if (this.clause !== null) {
- code.push(this.makeCode(' from '));
- }
- code.push(this.makeCode(this.source.value));
- }
- code.push(this.makeCode(';'));
- return code;
- }
-
- };
-
- exports.ImportClause = ImportClause = (function() {
- class ImportClause extends Base {
- constructor(defaultBinding, namedImports) {
- super();
- this.defaultBinding = defaultBinding;
- this.namedImports = namedImports;
- }
-
- compileNode(o) {
- var code;
- code = [];
- if (this.defaultBinding != null) {
- code.push(...this.defaultBinding.compileNode(o));
- if (this.namedImports != null) {
- code.push(this.makeCode(', '));
- }
- }
- if (this.namedImports != null) {
- code.push(...this.namedImports.compileNode(o));
- }
- return code;
- }
-
- };
-
- ImportClause.prototype.children = ['defaultBinding', 'namedImports'];
-
- return ImportClause;
-
- })();
-
- exports.ExportDeclaration = ExportDeclaration = class ExportDeclaration extends ModuleDeclaration {
- compileNode(o) {
- var code, ref1;
- this.checkScope(o, 'export');
- code = [];
- code.push(this.makeCode(`${this.tab}export `));
- if (this instanceof ExportDefaultDeclaration) {
- code.push(this.makeCode('default '));
- }
- if (!(this instanceof ExportDefaultDeclaration) && (this.clause instanceof Assign || this.clause instanceof Class)) {
- if (this.clause instanceof Class && !this.clause.variable) {
- this.clause.error('anonymous classes cannot be exported');
- }
- code.push(this.makeCode('var '));
- this.clause.moduleDeclaration = 'export';
- }
- if ((this.clause.body != null) && this.clause.body instanceof Block) {
- code = code.concat(this.clause.compileToFragments(o, LEVEL_TOP));
- } else {
- code = code.concat(this.clause.compileNode(o));
- }
- if (((ref1 = this.source) != null ? ref1.value : void 0) != null) {
- code.push(this.makeCode(` from ${this.source.value}`));
- }
- code.push(this.makeCode(';'));
- return code;
- }
-
- };
-
- exports.ExportNamedDeclaration = ExportNamedDeclaration = class ExportNamedDeclaration extends ExportDeclaration {};
-
- exports.ExportDefaultDeclaration = ExportDefaultDeclaration = class ExportDefaultDeclaration extends ExportDeclaration {};
-
- exports.ExportAllDeclaration = ExportAllDeclaration = class ExportAllDeclaration extends ExportDeclaration {};
-
- exports.ModuleSpecifierList = ModuleSpecifierList = (function() {
- class ModuleSpecifierList extends Base {
- constructor(specifiers) {
- super();
- this.specifiers = specifiers;
- }
-
- compileNode(o) {
- var code, compiledList, fragments, index, j, len1, specifier;
- code = [];
- o.indent += TAB;
- compiledList = (function() {
- var j, len1, ref1, results;
- ref1 = this.specifiers;
- results = [];
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- specifier = ref1[j];
- results.push(specifier.compileToFragments(o, LEVEL_LIST));
- }
- return results;
- }).call(this);
- if (this.specifiers.length !== 0) {
- code.push(this.makeCode(`{\n${o.indent}`));
- for (index = j = 0, len1 = compiledList.length; j < len1; index = ++j) {
- fragments = compiledList[index];
- if (index) {
- code.push(this.makeCode(`,\n${o.indent}`));
- }
- code.push(...fragments);
- }
- code.push(this.makeCode("\n}"));
- } else {
- code.push(this.makeCode('{}'));
- }
- return code;
- }
-
- };
-
- ModuleSpecifierList.prototype.children = ['specifiers'];
-
- return ModuleSpecifierList;
-
- })();
-
- exports.ImportSpecifierList = ImportSpecifierList = class ImportSpecifierList extends ModuleSpecifierList {};
-
- exports.ExportSpecifierList = ExportSpecifierList = class ExportSpecifierList extends ModuleSpecifierList {};
-
- exports.ModuleSpecifier = ModuleSpecifier = (function() {
- class ModuleSpecifier extends Base {
- constructor(original, alias, moduleDeclarationType1) {
- super();
- this.original = original;
- this.alias = alias;
- this.moduleDeclarationType = moduleDeclarationType1;
- this.identifier = this.alias != null ? this.alias.value : this.original.value;
- }
-
- compileNode(o) {
- var code;
- o.scope.find(this.identifier, this.moduleDeclarationType);
- code = [];
- code.push(this.makeCode(this.original.value));
- if (this.alias != null) {
- code.push(this.makeCode(` as ${this.alias.value}`));
- }
- return code;
- }
-
- };
-
- ModuleSpecifier.prototype.children = ['original', 'alias'];
-
- return ModuleSpecifier;
-
- })();
-
- exports.ImportSpecifier = ImportSpecifier = class ImportSpecifier extends ModuleSpecifier {
- constructor(imported, local) {
- super(imported, local, 'import');
- }
-
- compileNode(o) {
- var ref1;
- if ((ref1 = this.identifier, indexOf.call(o.importedSymbols, ref1) >= 0) || o.scope.check(this.identifier)) {
- this.error(`'${this.identifier}' has already been declared`);
- } else {
- o.importedSymbols.push(this.identifier);
- }
- return super.compileNode(o);
- }
-
- };
-
- exports.ImportDefaultSpecifier = ImportDefaultSpecifier = class ImportDefaultSpecifier extends ImportSpecifier {};
-
- exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier = class ImportNamespaceSpecifier extends ImportSpecifier {};
-
- exports.ExportSpecifier = ExportSpecifier = class ExportSpecifier extends ModuleSpecifier {
- constructor(local, exported) {
- super(local, exported, 'export');
- }
-
- };
-
- exports.Assign = Assign = (function() {
- class Assign extends Base {
- constructor(variable1, value1, context1, options = {}) {
- super();
- this.variable = variable1;
- this.value = value1;
- this.context = context1;
- ({param: this.param, subpattern: this.subpattern, operatorToken: this.operatorToken, moduleDeclaration: this.moduleDeclaration} = options);
- }
-
- isStatement(o) {
- return (o != null ? o.level : void 0) === LEVEL_TOP && (this.context != null) && (this.moduleDeclaration || indexOf.call(this.context, "?") >= 0);
- }
-
- checkAssignability(o, varBase) {
- if (Object.prototype.hasOwnProperty.call(o.scope.positions, varBase.value) && o.scope.variables[o.scope.positions[varBase.value]].type === 'import') {
- return varBase.error(`'${varBase.value}' is read-only`);
- }
- }
-
- assigns(name) {
- return this[this.context === 'object' ? 'value' : 'variable'].assigns(name);
- }
-
- unfoldSoak(o) {
- return unfoldSoak(o, this, 'variable');
- }
-
- compileNode(o) {
- var answer, compiledName, isValue, j, name, properties, prototype, ref1, ref2, ref3, ref4, ref5, ref6, val, varBase;
- isValue = this.variable instanceof Value;
- if (isValue) {
- this.variable.param = this.param;
- if (this.variable.isArray() || this.variable.isObject()) {
- this.variable.base.lhs = true;
- if (!this.variable.isAssignable()) {
- return this.compileDestructuring(o);
- }
- }
- if (this.variable.isSplice()) {
- return this.compileSplice(o);
- }
- if ((ref1 = this.context) === '||=' || ref1 === '&&=' || ref1 === '?=') {
- return this.compileConditional(o);
- }
- if ((ref2 = this.context) === '**=' || ref2 === '//=' || ref2 === '%%=') {
- return this.compileSpecialMath(o);
- }
- }
- if (!this.context) {
- varBase = this.variable.unwrapAll();
- if (!varBase.isAssignable()) {
- this.variable.error(`'${this.variable.compile(o)}' can't be assigned`);
- }
- varBase.eachName((name) => {
- var message;
- if (typeof name.hasProperties === "function" ? name.hasProperties() : void 0) {
- return;
- }
- message = isUnassignable(name.value);
- if (message) {
- name.error(message);
- }
- this.checkAssignability(o, name);
- if (this.moduleDeclaration) {
- return o.scope.add(name.value, this.moduleDeclaration);
- } else {
- return o.scope.find(name.value);
- }
- });
- }
- if (this.value instanceof Code) {
- if (this.value.isStatic) {
- this.value.name = this.variable.properties[0];
- } else if (((ref3 = this.variable.properties) != null ? ref3.length : void 0) >= 2) {
- ref4 = this.variable.properties, properties = 3 <= ref4.length ? slice.call(ref4, 0, j = ref4.length - 2) : (j = 0, []), prototype = ref4[j++], name = ref4[j++];
- if (((ref5 = prototype.name) != null ? ref5.value : void 0) === 'prototype') {
- this.value.name = name;
- }
- }
- }
- val = this.value.compileToFragments(o, LEVEL_LIST);
- compiledName = this.variable.compileToFragments(o, LEVEL_LIST);
- if (this.context === 'object') {
- if (this.variable.shouldCache()) {
- compiledName.unshift(this.makeCode('['));
- compiledName.push(this.makeCode(']'));
- } else if (ref6 = fragmentsToText(compiledName), indexOf.call(JS_FORBIDDEN, ref6) >= 0) {
- compiledName.unshift(this.makeCode('"'));
- compiledName.push(this.makeCode('"'));
- }
- return compiledName.concat(this.makeCode(": "), val);
- }
- answer = compiledName.concat(this.makeCode(` ${this.context || '='} `), val);
- if (o.level > LEVEL_LIST || (isValue && this.variable.base instanceof Obj && !this.param)) {
- return this.wrapInParentheses(answer);
- } else {
- return answer;
- }
- }
-
- compileDestructuring(o) {
- var acc, assigns, code, defaultValue, expandedIdx, fragments, i, idx, isObject, ivar, j, len1, message, name, obj, objects, olen, ref, rest, top, val, value, vvar, vvarText;
- top = o.level === LEVEL_TOP;
- ({value} = this);
- ({objects} = this.variable.base);
- olen = objects.length;
- if (olen === 0) {
- code = value.compileToFragments(o);
- if (o.level >= LEVEL_OP) {
- return this.wrapInParentheses(code);
- } else {
- return code;
- }
- }
- [obj] = objects;
- if (olen === 1 && obj instanceof Expansion) {
- obj.error('Destructuring assignment has no target');
- }
- isObject = this.variable.isObject();
- if (top && olen === 1 && !(obj instanceof Splat)) {
- defaultValue = void 0;
- if (obj instanceof Assign && obj.context === 'object') {
- ({
- variable: {
- base: idx
- },
- value: obj
- } = obj);
- if (obj instanceof Assign) {
- defaultValue = obj.value;
- obj = obj.variable;
- }
- } else {
- if (obj instanceof Assign) {
- defaultValue = obj.value;
- obj = obj.variable;
- }
- idx = isObject ? obj["this"] ? obj.properties[0].name : new PropertyName(obj.unwrap().value) : new NumberLiteral(0);
- }
- acc = idx.unwrap() instanceof PropertyName;
- value = new Value(value);
- value.properties.push(new (acc ? Access : Index)(idx));
- message = isUnassignable(obj.unwrap().value);
- if (message) {
- obj.error(message);
- }
- if (defaultValue) {
- defaultValue.isDefaultValue = true;
- value = new Op('?', value, defaultValue);
- }
- return new Assign(obj, value, null, {
- param: this.param
- }).compileToFragments(o, LEVEL_TOP);
- }
- vvar = value.compileToFragments(o, LEVEL_LIST);
- vvarText = fragmentsToText(vvar);
- assigns = [];
- expandedIdx = false;
- if (!(value.unwrap() instanceof IdentifierLiteral) || this.variable.assigns(vvarText)) {
- ref = o.scope.freeVariable('ref');
- assigns.push([this.makeCode(ref + ' = '), ...vvar]);
- vvar = [this.makeCode(ref)];
- vvarText = ref;
- }
- for (i = j = 0, len1 = objects.length; j < len1; i = ++j) {
- obj = objects[i];
- idx = i;
- if (!expandedIdx && obj instanceof Splat) {
- name = obj.name.unwrap().value;
- obj = obj.unwrap();
- val = `${olen} <= ${vvarText}.length ? ${utility('slice', o)}.call(${vvarText}, ${i}`;
- rest = olen - i - 1;
- if (rest !== 0) {
- ivar = o.scope.freeVariable('i', {
- single: true
- });
- val += `, ${ivar} = ${vvarText}.length - ${rest}) : (${ivar} = ${i}, [])`;
- } else {
- val += ") : []";
- }
- val = new Literal(val);
- expandedIdx = `${ivar}++`;
- } else if (!expandedIdx && obj instanceof Expansion) {
- rest = olen - i - 1;
- if (rest !== 0) {
- if (rest === 1) {
- expandedIdx = `${vvarText}.length - 1`;
- } else {
- ivar = o.scope.freeVariable('i', {
- single: true
- });
- val = new Literal(`${ivar} = ${vvarText}.length - ${rest}`);
- expandedIdx = `${ivar}++`;
- assigns.push(val.compileToFragments(o, LEVEL_LIST));
- }
- }
- continue;
- } else {
- if (obj instanceof Splat || obj instanceof Expansion) {
- obj.error("multiple splats/expansions are disallowed in an assignment");
- }
- defaultValue = void 0;
- if (obj instanceof Assign && obj.context === 'object') {
- ({
- variable: {
- base: idx
- },
- value: obj
- } = obj);
- if (obj instanceof Assign) {
- defaultValue = obj.value;
- obj = obj.variable;
- }
- } else {
- if (obj instanceof Assign) {
- defaultValue = obj.value;
- obj = obj.variable;
- }
- idx = isObject ? obj["this"] ? obj.properties[0].name : new PropertyName(obj.unwrap().value) : new Literal(expandedIdx || idx);
- }
- name = obj.unwrap().value;
- acc = idx.unwrap() instanceof PropertyName;
- val = new Value(new Literal(vvarText), [new (acc ? Access : Index)(idx)]);
- if (defaultValue) {
- defaultValue.isDefaultValue = true;
- val = new Op('?', val, defaultValue);
- }
- }
- if (name != null) {
- message = isUnassignable(name);
- if (message) {
- obj.error(message);
- }
- }
- assigns.push(new Assign(obj, val, null, {
- param: this.param,
- subpattern: true
- }).compileToFragments(o, LEVEL_LIST));
- }
- if (!(top || this.subpattern)) {
- assigns.push(vvar);
- }
- fragments = this.joinFragmentArrays(assigns, ', ');
- if (o.level < LEVEL_LIST) {
- return fragments;
- } else {
- return this.wrapInParentheses(fragments);
- }
- }
-
- compileConditional(o) {
- var fragments, left, right;
- [left, right] = this.variable.cacheReference(o);
- if (!left.properties.length && left.base instanceof Literal && !(left.base instanceof ThisLiteral) && !o.scope.check(left.base.value)) {
- this.variable.error(`the variable \"${left.base.value}\" can't be assigned with ${this.context} because it has not been declared before`);
- }
- if (indexOf.call(this.context, "?") >= 0) {
- o.isExistentialEquals = true;
- return new If(new Existence(left), right, {
- type: 'if'
- }).addElse(new Assign(right, this.value, '=')).compileToFragments(o);
- } else {
- fragments = new Op(this.context.slice(0, -1), left, new Assign(right, this.value, '=')).compileToFragments(o);
- if (o.level <= LEVEL_LIST) {
- return fragments;
- } else {
- return this.wrapInParentheses(fragments);
- }
- }
- }
-
- compileSpecialMath(o) {
- var left, right;
- [left, right] = this.variable.cacheReference(o);
- return new Assign(left, new Op(this.context.slice(0, -1), right, this.value)).compileToFragments(o);
- }
-
- compileSplice(o) {
- var answer, exclusive, from, fromDecl, fromRef, name, to, valDef, valRef;
- ({
- range: {from, to, exclusive}
- } = this.variable.properties.pop());
- name = this.variable.compile(o);
- if (from) {
- [fromDecl, fromRef] = this.cacheToCodeFragments(from.cache(o, LEVEL_OP));
- } else {
- fromDecl = fromRef = '0';
- }
- if (to) {
- if ((from != null ? from.isNumber() : void 0) && to.isNumber()) {
- to = to.compile(o) - fromRef;
- if (!exclusive) {
- to += 1;
- }
- } else {
- to = to.compile(o, LEVEL_ACCESS) + ' - ' + fromRef;
- if (!exclusive) {
- to += ' + 1';
- }
- }
- } else {
- to = "9e9";
- }
- [valDef, valRef] = this.value.cache(o, LEVEL_LIST);
- answer = [].concat(this.makeCode(`[].splice.apply(${name}, [${fromDecl}, ${to}].concat(`), valDef, this.makeCode(")), "), valRef);
- if (o.level > LEVEL_TOP) {
- return this.wrapInParentheses(answer);
- } else {
- return answer;
- }
- }
-
- eachName(iterator) {
- return this.variable.unwrapAll().eachName(iterator);
- }
-
- };
-
- Assign.prototype.children = ['variable', 'value'];
-
- Assign.prototype.isAssignable = YES;
-
- return Assign;
-
- })();
-
- exports.Code = Code = (function() {
- class Code extends Base {
- constructor(params, body, tag) {
- super();
- this.params = params || [];
- this.body = body || new Block;
- this.bound = tag === 'boundfunc';
- this.isGenerator = false;
- this.isAsync = false;
- this.isMethod = false;
- this.body.traverseChildren(false, (node) => {
- if ((node instanceof Op && node.isYield()) || node instanceof YieldReturn) {
- this.isGenerator = true;
- }
- if ((node instanceof Op && node.isAwait()) || node instanceof AwaitReturn) {
- this.isAsync = true;
- }
- if (this.isGenerator && this.isAsync) {
- return node.error("function can't contain both yield and await");
- }
- });
- }
-
- isStatement() {
- return this.isMethod;
- }
-
- makeScope(parentScope) {
- return new Scope(parentScope, this.body, this);
- }
-
- compileNode(o) {
- var answer, body, condition, exprs, haveBodyParam, haveSplatParam, i, ifTrue, j, k, len1, len2, m, methodScope, modifiers, name, param, paramNames, params, paramsAfterSplat, ref, ref1, ref2, ref3, ref4, ref5, signature, splatParamName, thisAssignments, wasEmpty;
- if (this.ctor) {
- if (this.isAsync) {
- this.name.error('Class constructor may not be async');
- }
- if (this.isGenerator) {
- this.name.error('Class constructor may not be a generator');
- }
- }
- if (this.bound) {
- if ((ref1 = o.scope.method) != null ? ref1.bound : void 0) {
- this.context = o.scope.method.context;
- }
- if (!this.context) {
- this.context = 'this';
- }
- }
- o.scope = del(o, 'classScope') || this.makeScope(o.scope);
- o.scope.shared = del(o, 'sharedScope');
- o.indent += TAB;
- delete o.bare;
- delete o.isExistentialEquals;
- params = [];
- exprs = [];
- thisAssignments = (ref2 = (ref3 = this.thisAssignments) != null ? ref3.slice() : void 0) != null ? ref2 : [];
- paramsAfterSplat = [];
- haveSplatParam = false;
- haveBodyParam = false;
- paramNames = [];
- this.eachParamName(function(name, node, param) {
- var target;
- if (indexOf.call(paramNames, name) >= 0) {
- node.error(`multiple parameters named '${name}'`);
- }
- paramNames.push(name);
- if (node["this"]) {
- name = node.properties[0].name.value;
- if (indexOf.call(JS_FORBIDDEN, name) >= 0) {
- name = `_${name}`;
- }
- target = new IdentifierLiteral(o.scope.freeVariable(name));
- param.renameParam(node, target);
- return thisAssignments.push(new Assign(node, target));
- }
- });
- ref4 = this.params;
- for (i = j = 0, len1 = ref4.length; j < len1; i = ++j) {
- param = ref4[i];
- if (param.splat || param instanceof Expansion) {
- if (haveSplatParam) {
- param.error('only one splat or expansion parameter is allowed per function definition');
- } else if (param instanceof Expansion && this.params.length === 1) {
- param.error('an expansion parameter cannot be the only parameter in a function definition');
- }
- haveSplatParam = true;
- if (param.splat) {
- if (param.name instanceof Arr) {
- splatParamName = o.scope.freeVariable('arg');
- params.push(ref = new Value(new IdentifierLiteral(splatParamName)));
- exprs.push(new Assign(new Value(param.name), ref, null, {
- param: true
- }));
- } else {
- params.push(ref = param.asReference(o));
- splatParamName = fragmentsToText(ref.compileNode(o));
- }
- if (param.shouldCache()) {
- exprs.push(new Assign(new Value(param.name), ref, null, {
- param: true
- }));
- }
- } else {
- splatParamName = o.scope.freeVariable('args');
- params.push(new Value(new IdentifierLiteral(splatParamName)));
- }
- o.scope.parameter(splatParamName);
- } else {
- if (param.shouldCache() || haveBodyParam) {
- param.assignedInBody = true;
- haveBodyParam = true;
- if (param.value != null) {
- condition = new Op('===', param, new UndefinedLiteral);
- ifTrue = new Assign(new Value(param.name), param.value, null, {
- param: true
- });
- exprs.push(new If(condition, ifTrue));
- } else {
- exprs.push(new Assign(new Value(param.name), param.asReference(o), null, {
- param: true
- }));
- }
- }
- if (!haveSplatParam) {
- if (param.shouldCache()) {
- ref = param.asReference(o);
- } else {
- if ((param.value != null) && !param.assignedInBody) {
- ref = new Assign(new Value(param.name), param.value, null, {
- param: true
- });
- } else {
- ref = param;
- }
- }
- if (param.name instanceof Arr || param.name instanceof Obj) {
- param.name.lhs = true;
- param.name.eachName(function(prop) {
- return o.scope.parameter(prop.value);
- });
- } else {
- o.scope.parameter(fragmentsToText((param.value != null ? param : ref).compileToFragments(o)));
- }
- params.push(ref);
- } else {
- paramsAfterSplat.push(param);
- if ((param.value != null) && !param.shouldCache()) {
- condition = new Op('===', param, new UndefinedLiteral);
- ifTrue = new Assign(new Value(param.name), param.value);
- exprs.push(new If(condition, ifTrue));
- }
- if (((ref5 = param.name) != null ? ref5.value : void 0) != null) {
- o.scope.add(param.name.value, 'var', true);
- }
- }
- }
- }
- if (paramsAfterSplat.length !== 0) {
- exprs.unshift(new Assign(new Value(new Arr([
- new Splat(new IdentifierLiteral(splatParamName)), ...(function() {
- var k, len2, results;
- results = [];
- for (k = 0, len2 = paramsAfterSplat.length; k < len2; k++) {
- param = paramsAfterSplat[k];
- results.push(param.asReference(o));
- }
- return results;
- })()
- ])), new Value(new IdentifierLiteral(splatParamName))));
- }
- wasEmpty = this.body.isEmpty();
- if (!this.expandCtorSuper(thisAssignments)) {
- this.body.expressions.unshift(...thisAssignments);
- }
- this.body.expressions.unshift(...exprs);
- if (!(wasEmpty || this.noReturn)) {
- this.body.makeReturn();
- }
- modifiers = [];
- if (this.isMethod && this.isStatic) {
- modifiers.push('static');
- }
- if (this.isAsync) {
- modifiers.push('async');
- }
- if (!(this.isMethod || this.bound)) {
- modifiers.push(`function${(this.isGenerator ? '*' : '')}`);
- } else if (this.isGenerator) {
- modifiers.push('*');
- }
- signature = [this.makeCode('(')];
- for (i = k = 0, len2 = params.length; k < len2; i = ++k) {
- param = params[i];
- if (i) {
- signature.push(this.makeCode(', '));
- }
- if (haveSplatParam && i === params.length - 1) {
- signature.push(this.makeCode('...'));
- }
- signature.push(...param.compileToFragments(o));
- }
- signature.push(this.makeCode(')'));
- if (!this.body.isEmpty()) {
- body = this.body.compileWithDeclarations(o);
- }
- if (this.isMethod) {
- [methodScope, o.scope] = [o.scope, o.scope.parent];
- name = this.name.compileToFragments(o);
- if (name[0].code === '.') {
- name.shift();
- }
- o.scope = methodScope;
- }
- answer = this.joinFragmentArrays((function() {
- var l, len3, results;
- results = [];
- for (l = 0, len3 = modifiers.length; l < len3; l++) {
- m = modifiers[l];
- results.push(this.makeCode(m));
- }
- return results;
- }).call(this), ' ');
- if (modifiers.length && name) {
- answer.push(this.makeCode(' '));
- }
- if (name) {
- answer.push(...name);
- }
- answer.push(...signature);
- if (this.bound && !this.isMethod) {
- answer.push(this.makeCode(' =>'));
- }
- answer.push(this.makeCode(' {'));
- if (body != null ? body.length : void 0) {
- answer.push(this.makeCode('\n'), ...body, this.makeCode(`\n${this.tab}`));
- }
- answer.push(this.makeCode('}'));
- if (this.isMethod) {
- return [this.makeCode(this.tab), ...answer];
- }
- if (this.front || (o.level >= LEVEL_ACCESS)) {
- return this.wrapInParentheses(answer);
- } else {
- return answer;
- }
- }
-
- eachParamName(iterator) {
- var j, len1, param, ref1, results;
- ref1 = this.params;
- results = [];
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- param = ref1[j];
- results.push(param.eachName(iterator));
- }
- return results;
- }
-
- traverseChildren(crossScope, func) {
- if (crossScope) {
- return super.traverseChildren(crossScope, func);
- }
- }
-
- replaceInContext(child, replacement) {
- if (this.bound) {
- return super.replaceInContext(child, replacement);
- } else {
- return false;
- }
- }
-
- expandCtorSuper(thisAssignments) {
- var haveThisParam, param, ref1, seenSuper;
- if (!this.ctor) {
- return false;
- }
- this.eachSuperCall(Block.wrap(this.params), function(superCall) {
- return superCall.error("'super' is not allowed in constructor parameter defaults");
- });
- seenSuper = this.eachSuperCall(this.body, (superCall) => {
- if (this.ctor === 'base') {
- superCall.error("'super' is only allowed in derived class constructors");
- }
- return superCall.expressions = thisAssignments;
- });
- haveThisParam = thisAssignments.length && thisAssignments.length !== ((ref1 = this.thisAssignments) != null ? ref1.length : void 0);
- if (this.ctor === 'derived' && !seenSuper && haveThisParam) {
- param = thisAssignments[0].variable;
- param.error("Can't use @params in derived class constructors without calling super");
- }
- return seenSuper;
- }
-
- eachSuperCall(context, iterator) {
- var seenSuper;
- seenSuper = false;
- context.traverseChildren(true, (child) => {
- if (child instanceof SuperCall) {
- seenSuper = true;
- iterator(child);
- } else if (child instanceof ThisLiteral && this.ctor === 'derived' && !seenSuper) {
- child.error("Can't reference 'this' before calling super in derived class constructors");
- }
- return !(child instanceof SuperCall) && (!(child instanceof Code) || child.bound);
- });
- return seenSuper;
- }
-
- };
-
- Code.prototype.children = ['params', 'body'];
-
- Code.prototype.jumps = NO;
-
- return Code;
-
- })();
-
- exports.Param = Param = (function() {
- class Param extends Base {
- constructor(name1, value1, splat) {
- var message, token;
- super();
- this.name = name1;
- this.value = value1;
- this.splat = splat;
- message = isUnassignable(this.name.unwrapAll().value);
- if (message) {
- this.name.error(message);
- }
- if (this.name instanceof Obj && this.name.generated) {
- token = this.name.objects[0].operatorToken;
- token.error(`unexpected ${token.value}`);
- }
- }
-
- compileToFragments(o) {
- return this.name.compileToFragments(o, LEVEL_LIST);
- }
-
- asReference(o) {
- var name, node;
- if (this.reference) {
- return this.reference;
- }
- node = this.name;
- if (node["this"]) {
- name = node.properties[0].name.value;
- if (indexOf.call(JS_FORBIDDEN, name) >= 0) {
- name = `_${name}`;
- }
- node = new IdentifierLiteral(o.scope.freeVariable(name));
- } else if (node.shouldCache()) {
- node = new IdentifierLiteral(o.scope.freeVariable('arg'));
- }
- node = new Value(node);
- node.updateLocationDataIfMissing(this.locationData);
- return this.reference = node;
- }
-
- shouldCache() {
- return this.name.shouldCache();
- }
-
- eachName(iterator, name = this.name) {
- var atParam, j, len1, node, obj, ref1, ref2;
- atParam = (obj) => {
- return iterator(`@${obj.properties[0].name.value}`, obj, this);
- };
- if (name instanceof Literal) {
- return iterator(name.value, name, this);
- }
- if (name instanceof Value) {
- return atParam(name);
- }
- ref2 = (ref1 = name.objects) != null ? ref1 : [];
- for (j = 0, len1 = ref2.length; j < len1; j++) {
- obj = ref2[j];
- if (obj instanceof Assign && (obj.context == null)) {
- obj = obj.variable;
- }
- if (obj instanceof Assign) {
- if (obj.value instanceof Assign) {
- obj = obj.value;
- }
- this.eachName(iterator, obj.value.unwrap());
- } else if (obj instanceof Splat) {
- node = obj.name.unwrap();
- iterator(node.value, node, this);
- } else if (obj instanceof Value) {
- if (obj.isArray() || obj.isObject()) {
- this.eachName(iterator, obj.base);
- } else if (obj["this"]) {
- atParam(obj);
- } else {
- iterator(obj.base.value, obj.base, this);
- }
- } else if (!(obj instanceof Expansion)) {
- obj.error(`illegal parameter ${obj.compile()}`);
- }
- }
- }
-
- renameParam(node, newNode) {
- var isNode, replacement;
- isNode = function(candidate) {
- return candidate === node;
- };
- replacement = (node, parent) => {
- var key;
- if (parent instanceof Obj) {
- key = node;
- if (node["this"]) {
- key = node.properties[0].name;
- }
- return new Assign(new Value(key), newNode, 'object');
- } else {
- return newNode;
- }
- };
- return this.replaceInContext(isNode, replacement);
- }
-
- };
-
- Param.prototype.children = ['name', 'value'];
-
- return Param;
-
- })();
-
- exports.Splat = Splat = (function() {
- class Splat extends Base {
- isAssignable() {
- return this.name.isAssignable() && (!this.name.isAtomic || this.name.isAtomic());
- }
-
- constructor(name) {
- super();
- this.name = name.compile ? name : new Literal(name);
- }
-
- assigns(name) {
- return this.name.assigns(name);
- }
-
- compileToFragments(o) {
- return [this.makeCode('...'), ...this.name.compileToFragments(o)];
- }
-
- unwrap() {
- return this.name;
- }
-
- };
-
- Splat.prototype.children = ['name'];
-
- return Splat;
-
- })();
-
- exports.Expansion = Expansion = (function() {
- class Expansion extends Base {
- compileNode(o) {
- return this.error('Expansion must be used inside a destructuring assignment or parameter list');
- }
-
- asReference(o) {
- return this;
- }
-
- eachName(iterator) {}
-
- };
-
- Expansion.prototype.shouldCache = NO;
-
- return Expansion;
-
- })();
-
- exports.While = While = (function() {
- class While extends Base {
- constructor(condition, options) {
- super();
- this.condition = (options != null ? options.invert : void 0) ? condition.invert() : condition;
- this.guard = options != null ? options.guard : void 0;
- }
-
- makeReturn(res) {
- if (res) {
- return super.makeReturn(res);
- } else {
- this.returns = !this.jumps({
- loop: true
- });
- return this;
- }
- }
-
- addBody(body1) {
- this.body = body1;
- return this;
- }
-
- jumps() {
- var expressions, j, jumpNode, len1, node;
- ({expressions} = this.body);
- if (!expressions.length) {
- return false;
- }
- for (j = 0, len1 = expressions.length; j < len1; j++) {
- node = expressions[j];
- if (jumpNode = node.jumps({
- loop: true
- })) {
- return jumpNode;
- }
- }
- return false;
- }
-
- compileNode(o) {
- var answer, body, rvar, set;
- o.indent += TAB;
- set = '';
- ({body} = this);
- if (body.isEmpty()) {
- body = this.makeCode('');
- } else {
- if (this.returns) {
- body.makeReturn(rvar = o.scope.freeVariable('results'));
- set = `${this.tab}${rvar} = [];\n`;
- }
- if (this.guard) {
- if (body.expressions.length > 1) {
- body.expressions.unshift(new If((new Parens(this.guard)).invert(), new StatementLiteral("continue")));
- } else {
- if (this.guard) {
- body = Block.wrap([new If(this.guard, body)]);
- }
- }
- }
- body = [].concat(this.makeCode("\n"), body.compileToFragments(o, LEVEL_TOP), this.makeCode(`\n${this.tab}`));
- }
- answer = [].concat(this.makeCode(set + this.tab + "while ("), this.condition.compileToFragments(o, LEVEL_PAREN), this.makeCode(") {"), body, this.makeCode("}"));
- if (this.returns) {
- answer.push(this.makeCode(`\n${this.tab}return ${rvar};`));
- }
- return answer;
- }
-
- };
-
- While.prototype.children = ['condition', 'guard', 'body'];
-
- While.prototype.isStatement = YES;
-
- return While;
-
- })();
-
- exports.Op = Op = (function() {
- var CONVERSIONS, INVERSIONS;
-
- class Op extends Base {
- constructor(op, first, second, flip) {
- if (op === 'in') {
- return new In(first, second);
- }
- if (op === 'do') {
- return Op.prototype.generateDo(first);
- }
- if (op === 'new') {
- if (first instanceof Call && !first["do"] && !first.isNew) {
- return first.newInstance();
- }
- if (first instanceof Code && first.bound || first["do"]) {
- first = new Parens(first);
- }
- }
- super();
- this.operator = CONVERSIONS[op] || op;
- this.first = first;
- this.second = second;
- this.flip = !!flip;
- return this;
- }
-
- isNumber() {
- var ref1;
- return this.isUnary() && ((ref1 = this.operator) === '+' || ref1 === '-') && this.first instanceof Value && this.first.isNumber();
- }
-
- isAwait() {
- return this.operator === 'await';
- }
-
- isYield() {
- var ref1;
- return (ref1 = this.operator) === 'yield' || ref1 === 'yield*';
- }
-
- isUnary() {
- return !this.second;
- }
-
- shouldCache() {
- return !this.isNumber();
- }
-
- isChainable() {
- var ref1;
- return (ref1 = this.operator) === '<' || ref1 === '>' || ref1 === '>=' || ref1 === '<=' || ref1 === '===' || ref1 === '!==';
- }
-
- invert() {
- var allInvertable, curr, fst, op, ref1;
- if (this.isChainable() && this.first.isChainable()) {
- allInvertable = true;
- curr = this;
- while (curr && curr.operator) {
- allInvertable && (allInvertable = curr.operator in INVERSIONS);
- curr = curr.first;
- }
- if (!allInvertable) {
- return new Parens(this).invert();
- }
- curr = this;
- while (curr && curr.operator) {
- curr.invert = !curr.invert;
- curr.operator = INVERSIONS[curr.operator];
- curr = curr.first;
- }
- return this;
- } else if (op = INVERSIONS[this.operator]) {
- this.operator = op;
- if (this.first.unwrap() instanceof Op) {
- this.first.invert();
- }
- return this;
- } else if (this.second) {
- return new Parens(this).invert();
- } else if (this.operator === '!' && (fst = this.first.unwrap()) instanceof Op && ((ref1 = fst.operator) === '!' || ref1 === 'in' || ref1 === 'instanceof')) {
- return fst;
- } else {
- return new Op('!', this);
- }
- }
-
- unfoldSoak(o) {
- var ref1;
- return ((ref1 = this.operator) === '++' || ref1 === '--' || ref1 === 'delete') && unfoldSoak(o, this, 'first');
- }
-
- generateDo(exp) {
- var call, func, j, len1, param, passedParams, ref, ref1;
- passedParams = [];
- func = exp instanceof Assign && (ref = exp.value.unwrap()) instanceof Code ? ref : exp;
- ref1 = func.params || [];
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- param = ref1[j];
- if (param.value) {
- passedParams.push(param.value);
- delete param.value;
- } else {
- passedParams.push(param);
- }
- }
- call = new Call(exp, passedParams);
- call["do"] = true;
- return call;
- }
-
- compileNode(o) {
- var answer, isChain, lhs, message, ref1, rhs;
- isChain = this.isChainable() && this.first.isChainable();
- if (!isChain) {
- this.first.front = this.front;
- }
- if (this.operator === 'delete' && o.scope.check(this.first.unwrapAll().value)) {
- this.error('delete operand may not be argument or var');
- }
- if ((ref1 = this.operator) === '--' || ref1 === '++') {
- message = isUnassignable(this.first.unwrapAll().value);
- if (message) {
- this.first.error(message);
- }
- }
- if (this.isYield() || this.isAwait()) {
- return this.compileContinuation(o);
- }
- if (this.isUnary()) {
- return this.compileUnary(o);
- }
- if (isChain) {
- return this.compileChain(o);
- }
- switch (this.operator) {
- case '?':
- return this.compileExistence(o, this.second.isDefaultValue);
- case '**':
- return this.compilePower(o);
- case '//':
- return this.compileFloorDivision(o);
- case '%%':
- return this.compileModulo(o);
- default:
- lhs = this.first.compileToFragments(o, LEVEL_OP);
- rhs = this.second.compileToFragments(o, LEVEL_OP);
- answer = [].concat(lhs, this.makeCode(` ${this.operator} `), rhs);
- if (o.level <= LEVEL_OP) {
- return answer;
- } else {
- return this.wrapInParentheses(answer);
- }
- }
- }
-
- compileChain(o) {
- var fragments, fst, shared;
- [this.first.second, shared] = this.first.second.cache(o);
- fst = this.first.compileToFragments(o, LEVEL_OP);
- fragments = fst.concat(this.makeCode(` ${(this.invert ? '&&' : '||')} `), shared.compileToFragments(o), this.makeCode(` ${this.operator} `), this.second.compileToFragments(o, LEVEL_OP));
- return this.wrapInParentheses(fragments);
- }
-
- compileExistence(o, checkOnlyUndefined) {
- var fst, ref;
- if (this.first.shouldCache()) {
- ref = new IdentifierLiteral(o.scope.freeVariable('ref'));
- fst = new Parens(new Assign(ref, this.first));
- } else {
- fst = this.first;
- ref = fst;
- }
- return new If(new Existence(fst, checkOnlyUndefined), ref, {
- type: 'if'
- }).addElse(this.second).compileToFragments(o);
- }
-
- compileUnary(o) {
- var op, parts, plusMinus;
- parts = [];
- op = this.operator;
- parts.push([this.makeCode(op)]);
- if (op === '!' && this.first instanceof Existence) {
- this.first.negated = !this.first.negated;
- return this.first.compileToFragments(o);
- }
- if (o.level >= LEVEL_ACCESS) {
- return (new Parens(this)).compileToFragments(o);
- }
- plusMinus = op === '+' || op === '-';
- if ((op === 'new' || op === 'typeof' || op === 'delete') || plusMinus && this.first instanceof Op && this.first.operator === op) {
- parts.push([this.makeCode(' ')]);
- }
- if ((plusMinus && this.first instanceof Op) || (op === 'new' && this.first.isStatement(o))) {
- this.first = new Parens(this.first);
- }
- parts.push(this.first.compileToFragments(o, LEVEL_OP));
- if (this.flip) {
- parts.reverse();
- }
- return this.joinFragmentArrays(parts, '');
- }
-
- compileContinuation(o) {
- var op, parts, ref1, ref2;
- parts = [];
- op = this.operator;
- if (o.scope.parent == null) {
- this.error(`${this.operator} can only occur inside functions`);
- }
- if (((ref1 = o.scope.method) != null ? ref1.bound : void 0) && o.scope.method.isGenerator) {
- this.error('yield cannot occur inside bound (fat arrow) functions');
- }
- if (indexOf.call(Object.keys(this.first), 'expression') >= 0 && !(this.first instanceof Throw)) {
- if (this.first.expression != null) {
- parts.push(this.first.expression.compileToFragments(o, LEVEL_OP));
- }
- } else {
- if (o.level >= LEVEL_PAREN) {
- parts.push([this.makeCode("(")]);
- }
- parts.push([this.makeCode(op)]);
- if (((ref2 = this.first.base) != null ? ref2.value : void 0) !== '') {
- parts.push([this.makeCode(" ")]);
- }
- parts.push(this.first.compileToFragments(o, LEVEL_OP));
- if (o.level >= LEVEL_PAREN) {
- parts.push([this.makeCode(")")]);
- }
- }
- return this.joinFragmentArrays(parts, '');
- }
-
- compilePower(o) {
- var pow;
- pow = new Value(new IdentifierLiteral('Math'), [new Access(new PropertyName('pow'))]);
- return new Call(pow, [this.first, this.second]).compileToFragments(o);
- }
-
- compileFloorDivision(o) {
- var div, floor, second;
- floor = new Value(new IdentifierLiteral('Math'), [new Access(new PropertyName('floor'))]);
- second = this.second.shouldCache() ? new Parens(this.second) : this.second;
- div = new Op('/', this.first, second);
- return new Call(floor, [div]).compileToFragments(o);
- }
-
- compileModulo(o) {
- var mod;
- mod = new Value(new Literal(utility('modulo', o)));
- return new Call(mod, [this.first, this.second]).compileToFragments(o);
- }
-
- toString(idt) {
- return super.toString(idt, this.constructor.name + ' ' + this.operator);
- }
-
- };
-
- CONVERSIONS = {
- '==': '===',
- '!=': '!==',
- 'of': 'in',
- 'yieldfrom': 'yield*'
- };
-
- INVERSIONS = {
- '!==': '===',
- '===': '!=='
- };
-
- Op.prototype.children = ['first', 'second'];
-
- return Op;
-
- })();
-
- exports.In = In = (function() {
- class In extends Base {
- constructor(object, array) {
- super();
- this.object = object;
- this.array = array;
- }
-
- compileNode(o) {
- var hasSplat, j, len1, obj, ref1;
- if (this.array instanceof Value && this.array.isArray() && this.array.base.objects.length) {
- ref1 = this.array.base.objects;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- obj = ref1[j];
- if (!(obj instanceof Splat)) {
- continue;
- }
- hasSplat = true;
- break;
- }
- if (!hasSplat) {
- return this.compileOrTest(o);
- }
- }
- return this.compileLoopTest(o);
- }
-
- compileOrTest(o) {
- var cmp, cnj, i, item, j, len1, ref, ref1, sub, tests;
- [sub, ref] = this.object.cache(o, LEVEL_OP);
- [cmp, cnj] = this.negated ? [' !== ', ' && '] : [' === ', ' || '];
- tests = [];
- ref1 = this.array.base.objects;
- for (i = j = 0, len1 = ref1.length; j < len1; i = ++j) {
- item = ref1[i];
- if (i) {
- tests.push(this.makeCode(cnj));
- }
- tests = tests.concat((i ? ref : sub), this.makeCode(cmp), item.compileToFragments(o, LEVEL_ACCESS));
- }
- if (o.level < LEVEL_OP) {
- return tests;
- } else {
- return this.wrapInParentheses(tests);
- }
- }
-
- compileLoopTest(o) {
- var fragments, ref, sub;
- [sub, ref] = this.object.cache(o, LEVEL_LIST);
- fragments = [].concat(this.makeCode(utility('indexOf', o) + ".call("), this.array.compileToFragments(o, LEVEL_LIST), this.makeCode(", "), ref, this.makeCode(") " + (this.negated ? '< 0' : '>= 0')));
- if (fragmentsToText(sub) === fragmentsToText(ref)) {
- return fragments;
- }
- fragments = sub.concat(this.makeCode(', '), fragments);
- if (o.level < LEVEL_LIST) {
- return fragments;
- } else {
- return this.wrapInParentheses(fragments);
- }
- }
-
- toString(idt) {
- return super.toString(idt, this.constructor.name + (this.negated ? '!' : ''));
- }
-
- };
-
- In.prototype.children = ['object', 'array'];
-
- In.prototype.invert = NEGATE;
-
- return In;
-
- })();
-
- exports.Try = Try = (function() {
- class Try extends Base {
- constructor(attempt, errorVariable, recovery, ensure) {
- super();
- this.attempt = attempt;
- this.errorVariable = errorVariable;
- this.recovery = recovery;
- this.ensure = ensure;
- }
-
- jumps(o) {
- var ref1;
- return this.attempt.jumps(o) || ((ref1 = this.recovery) != null ? ref1.jumps(o) : void 0);
- }
-
- makeReturn(res) {
- if (this.attempt) {
- this.attempt = this.attempt.makeReturn(res);
- }
- if (this.recovery) {
- this.recovery = this.recovery.makeReturn(res);
- }
- return this;
- }
-
- compileNode(o) {
- var catchPart, ensurePart, generatedErrorVariableName, message, placeholder, tryPart;
- o.indent += TAB;
- tryPart = this.attempt.compileToFragments(o, LEVEL_TOP);
- catchPart = this.recovery ? (generatedErrorVariableName = o.scope.freeVariable('error', {
- reserve: false
- }), placeholder = new IdentifierLiteral(generatedErrorVariableName), this.errorVariable ? (message = isUnassignable(this.errorVariable.unwrapAll().value), message ? this.errorVariable.error(message) : void 0, this.recovery.unshift(new Assign(this.errorVariable, placeholder))) : void 0, [].concat(this.makeCode(" catch ("), placeholder.compileToFragments(o), this.makeCode(") {\n"), this.recovery.compileToFragments(o, LEVEL_TOP), this.makeCode(`\n${this.tab}}`))) : !(this.ensure || this.recovery) ? (generatedErrorVariableName = o.scope.freeVariable('error', {
- reserve: false
- }), [this.makeCode(` catch (${generatedErrorVariableName}) {}`)]) : [];
- ensurePart = this.ensure ? [].concat(this.makeCode(" finally {\n"), this.ensure.compileToFragments(o, LEVEL_TOP), this.makeCode(`\n${this.tab}}`)) : [];
- return [].concat(this.makeCode(`${this.tab}try {\n`), tryPart, this.makeCode(`\n${this.tab}}`), catchPart, ensurePart);
- }
-
- };
-
- Try.prototype.children = ['attempt', 'recovery', 'ensure'];
-
- Try.prototype.isStatement = YES;
-
- return Try;
-
- })();
-
- exports.Throw = Throw = (function() {
- class Throw extends Base {
- constructor(expression1) {
- super();
- this.expression = expression1;
- }
-
- compileNode(o) {
- return [].concat(this.makeCode(this.tab + "throw "), this.expression.compileToFragments(o), this.makeCode(";"));
- }
-
- };
-
- Throw.prototype.children = ['expression'];
-
- Throw.prototype.isStatement = YES;
-
- Throw.prototype.jumps = NO;
-
- Throw.prototype.makeReturn = THIS;
-
- return Throw;
-
- })();
-
- exports.Existence = Existence = (function() {
- class Existence extends Base {
- constructor(expression1, onlyNotUndefined = false) {
- super();
- this.expression = expression1;
- this.comparisonTarget = onlyNotUndefined ? 'undefined' : 'null';
- }
-
- compileNode(o) {
- var cmp, cnj, code;
- this.expression.front = this.front;
- code = this.expression.compile(o, LEVEL_OP);
- if (this.expression.unwrap() instanceof IdentifierLiteral && !o.scope.check(code)) {
- [cmp, cnj] = this.negated ? ['===', '||'] : ['!==', '&&'];
- code = `typeof ${code} ${cmp} \"undefined\"` + (this.comparisonTarget !== 'undefined' ? ` ${cnj} ${code} ${cmp} ${this.comparisonTarget}` : '');
- } else {
- cmp = this.comparisonTarget === 'null' ? this.negated ? '==' : '!=' : this.negated ? '===' : '!==';
- code = `${code} ${cmp} ${this.comparisonTarget}`;
- }
- return [this.makeCode(o.level <= LEVEL_COND ? code : `(${code})`)];
- }
-
- };
-
- Existence.prototype.children = ['expression'];
-
- Existence.prototype.invert = NEGATE;
-
- return Existence;
-
- })();
-
- exports.Parens = Parens = (function() {
- class Parens extends Base {
- constructor(body1) {
- super();
- this.body = body1;
- }
-
- unwrap() {
- return this.body;
- }
-
- shouldCache() {
- return this.body.shouldCache();
- }
-
- compileNode(o) {
- var bare, expr, fragments;
- expr = this.body.unwrap();
- if (expr instanceof Value && expr.isAtomic()) {
- expr.front = this.front;
- return expr.compileToFragments(o);
- }
- fragments = expr.compileToFragments(o, LEVEL_PAREN);
- bare = o.level < LEVEL_OP && (expr instanceof Op || expr instanceof Call || (expr instanceof For && expr.returns));
- if (bare) {
- return fragments;
- } else {
- return this.wrapInParentheses(fragments);
- }
- }
-
- };
-
- Parens.prototype.children = ['body'];
-
- return Parens;
-
- })();
-
- exports.StringWithInterpolations = StringWithInterpolations = (function() {
- class StringWithInterpolations extends Base {
- constructor(body1) {
- super();
- this.body = body1;
- }
-
- unwrap() {
- return this;
- }
-
- shouldCache() {
- return this.body.shouldCache();
- }
-
- compileNode(o) {
- var element, elements, expr, fragments, j, len1, value;
- expr = this.body.unwrap();
- elements = [];
- expr.traverseChildren(false, function(node) {
- if (node instanceof StringLiteral) {
- elements.push(node);
- return true;
- } else if (node instanceof Parens) {
- elements.push(node);
- return false;
- }
- return true;
- });
- fragments = [];
- fragments.push(this.makeCode('`'));
- for (j = 0, len1 = elements.length; j < len1; j++) {
- element = elements[j];
- if (element instanceof StringLiteral) {
- value = element.value.slice(1, -1);
- value = value.replace(/(\\*)(`|\$\{)/g, function(match, backslashes, toBeEscaped) {
- if (backslashes.length % 2 === 0) {
- return `${backslashes}\\${toBeEscaped}`;
- } else {
- return match;
- }
- });
- fragments.push(this.makeCode(value));
- } else {
- fragments.push(this.makeCode('${'));
- fragments.push(...element.compileToFragments(o, LEVEL_PAREN));
- fragments.push(this.makeCode('}'));
- }
- }
- fragments.push(this.makeCode('`'));
- return fragments;
- }
-
- };
-
- StringWithInterpolations.prototype.children = ['body'];
-
- return StringWithInterpolations;
-
- })();
-
- exports.For = For = (function() {
- class For extends While {
- constructor(body, source) {
- var ref1, ref2;
- super();
- ({source: this.source, guard: this.guard, step: this.step, name: this.name, index: this.index} = source);
- this.body = Block.wrap([body]);
- this.own = !!source.own;
- this.object = !!source.object;
- this.from = !!source.from;
- if (this.from && this.index) {
- this.index.error('cannot use index with for-from');
- }
- if (this.own && !this.object) {
- source.ownTag.error(`cannot use own with for-${(this.from ? 'from' : 'in')}`);
- }
- if (this.object) {
- [this.name, this.index] = [this.index, this.name];
- }
- if (((ref1 = this.index) != null ? typeof ref1.isArray === "function" ? ref1.isArray() : void 0 : void 0) || ((ref2 = this.index) != null ? typeof ref2.isObject === "function" ? ref2.isObject() : void 0 : void 0)) {
- this.index.error('index cannot be a pattern matching expression');
- }
- this.range = this.source instanceof Value && this.source.base instanceof Range && !this.source.properties.length && !this.from;
- this.pattern = this.name instanceof Value;
- if (this.range && this.index) {
- this.index.error('indexes do not apply to range loops');
- }
- if (this.range && this.pattern) {
- this.name.error('cannot pattern match over range loops');
- }
- this.returns = false;
- }
-
- compileNode(o) {
- var body, bodyFragments, compare, compareDown, declare, declareDown, defPart, defPartFragments, down, forPartFragments, guardPart, idt1, increment, index, ivar, kvar, kvarAssign, last, lvar, name, namePart, ref, ref1, resultPart, returnResult, rvar, scope, source, step, stepNum, stepVar, svar, varPart;
- body = Block.wrap([this.body]);
- ref1 = body.expressions, last = ref1[ref1.length - 1];
- if ((last != null ? last.jumps() : void 0) instanceof Return) {
- this.returns = false;
- }
- source = this.range ? this.source.base : this.source;
- scope = o.scope;
- if (!this.pattern) {
- name = this.name && (this.name.compile(o, LEVEL_LIST));
- }
- index = this.index && (this.index.compile(o, LEVEL_LIST));
- if (name && !this.pattern) {
- scope.find(name);
- }
- if (index && !(this.index instanceof Value)) {
- scope.find(index);
- }
- if (this.returns) {
- rvar = scope.freeVariable('results');
- }
- if (this.from) {
- if (this.pattern) {
- ivar = scope.freeVariable('x', {
- single: true
- });
- }
- } else {
- ivar = (this.object && index) || scope.freeVariable('i', {
- single: true
- });
- }
- kvar = ((this.range || this.from) && name) || index || ivar;
- kvarAssign = kvar !== ivar ? `${kvar} = ` : "";
- if (this.step && !this.range) {
- [step, stepVar] = this.cacheToCodeFragments(this.step.cache(o, LEVEL_LIST, shouldCacheOrIsAssignable));
- if (this.step.isNumber()) {
- stepNum = Number(stepVar);
- }
- }
- if (this.pattern) {
- name = ivar;
- }
- varPart = '';
- guardPart = '';
- defPart = '';
- idt1 = this.tab + TAB;
- if (this.range) {
- forPartFragments = source.compileToFragments(merge(o, {
- index: ivar,
- name,
- step: this.step,
- shouldCache: shouldCacheOrIsAssignable
- }));
- } else {
- svar = this.source.compile(o, LEVEL_LIST);
- if ((name || this.own) && !(this.source.unwrap() instanceof IdentifierLiteral)) {
- defPart += `${this.tab}${(ref = scope.freeVariable('ref'))} = ${svar};\n`;
- svar = ref;
- }
- if (name && !this.pattern && !this.from) {
- namePart = `${name} = ${svar}[${kvar}]`;
- }
- if (!this.object && !this.from) {
- if (step !== stepVar) {
- defPart += `${this.tab}${step};\n`;
- }
- down = stepNum < 0;
- if (!(this.step && (stepNum != null) && down)) {
- lvar = scope.freeVariable('len');
- }
- declare = `${kvarAssign}${ivar} = 0, ${lvar} = ${svar}.length`;
- declareDown = `${kvarAssign}${ivar} = ${svar}.length - 1`;
- compare = `${ivar} < ${lvar}`;
- compareDown = `${ivar} >= 0`;
- if (this.step) {
- if (stepNum != null) {
- if (down) {
- compare = compareDown;
- declare = declareDown;
- }
- } else {
- compare = `${stepVar} > 0 ? ${compare} : ${compareDown}`;
- declare = `(${stepVar} > 0 ? (${declare}) : ${declareDown})`;
- }
- increment = `${ivar} += ${stepVar}`;
- } else {
- increment = `${(kvar !== ivar ? `++${ivar}` : `${ivar}++`)}`;
- }
- forPartFragments = [this.makeCode(`${declare}; ${compare}; ${kvarAssign}${increment}`)];
- }
- }
- if (this.returns) {
- resultPart = `${this.tab}${rvar} = [];\n`;
- returnResult = `\n${this.tab}return ${rvar};`;
- body.makeReturn(rvar);
- }
- if (this.guard) {
- if (body.expressions.length > 1) {
- body.expressions.unshift(new If((new Parens(this.guard)).invert(), new StatementLiteral("continue")));
- } else {
- if (this.guard) {
- body = Block.wrap([new If(this.guard, body)]);
- }
- }
- }
- if (this.pattern) {
- body.expressions.unshift(new Assign(this.name, this.from ? new IdentifierLiteral(kvar) : new Literal(`${svar}[${kvar}]`)));
- }
- defPartFragments = [].concat(this.makeCode(defPart), this.pluckDirectCall(o, body));
- if (namePart) {
- varPart = `\n${idt1}${namePart};`;
- }
- if (this.object) {
- forPartFragments = [this.makeCode(`${kvar} in ${svar}`)];
- if (this.own) {
- guardPart = `\n${idt1}if (!${utility('hasProp', o)}.call(${svar}, ${kvar})) continue;`;
- }
- } else if (this.from) {
- forPartFragments = [this.makeCode(`${kvar} of ${svar}`)];
- }
- bodyFragments = body.compileToFragments(merge(o, {
- indent: idt1
- }), LEVEL_TOP);
- if (bodyFragments && bodyFragments.length > 0) {
- bodyFragments = [].concat(this.makeCode("\n"), bodyFragments, this.makeCode("\n"));
- }
- return [].concat(defPartFragments, this.makeCode(`${resultPart || ''}${this.tab}for (`), forPartFragments, this.makeCode(`) {${guardPart}${varPart}`), bodyFragments, this.makeCode(`${this.tab}}${returnResult || ''}`));
- }
-
- pluckDirectCall(o, body) {
- var base, defs, expr, fn, idx, j, len1, ref, ref1, ref2, ref3, ref4, ref5, ref6, val;
- defs = [];
- ref1 = body.expressions;
- for (idx = j = 0, len1 = ref1.length; j < len1; idx = ++j) {
- expr = ref1[idx];
- expr = expr.unwrapAll();
- if (!(expr instanceof Call)) {
- continue;
- }
- val = (ref2 = expr.variable) != null ? ref2.unwrapAll() : void 0;
- if (!((val instanceof Code) || (val instanceof Value && ((ref3 = val.base) != null ? ref3.unwrapAll() : void 0) instanceof Code && val.properties.length === 1 && ((ref4 = (ref5 = val.properties[0].name) != null ? ref5.value : void 0) === 'call' || ref4 === 'apply')))) {
- continue;
- }
- fn = ((ref6 = val.base) != null ? ref6.unwrapAll() : void 0) || val;
- ref = new IdentifierLiteral(o.scope.freeVariable('fn'));
- base = new Value(ref);
- if (val.base) {
- [val.base, base] = [base, val];
- }
- body.expressions[idx] = new Call(base, expr.args);
- defs = defs.concat(this.makeCode(this.tab), new Assign(ref, fn).compileToFragments(o, LEVEL_TOP), this.makeCode(';\n'));
- }
- return defs;
- }
-
- };
-
- For.prototype.children = ['body', 'source', 'guard', 'step'];
-
- return For;
-
- })();
-
- exports.Switch = Switch = (function() {
- class Switch extends Base {
- constructor(subject, cases, otherwise) {
- super();
- this.subject = subject;
- this.cases = cases;
- this.otherwise = otherwise;
- }
-
- jumps(o = {
- block: true
- }) {
- var block, conds, j, jumpNode, len1, ref1, ref2;
- ref1 = this.cases;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- [conds, block] = ref1[j];
- if (jumpNode = block.jumps(o)) {
- return jumpNode;
- }
- }
- return (ref2 = this.otherwise) != null ? ref2.jumps(o) : void 0;
- }
-
- makeReturn(res) {
- var j, len1, pair, ref1, ref2;
- ref1 = this.cases;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- pair = ref1[j];
- pair[1].makeReturn(res);
- }
- if (res) {
- this.otherwise || (this.otherwise = new Block([new Literal('void 0')]));
- }
- if ((ref2 = this.otherwise) != null) {
- ref2.makeReturn(res);
- }
- return this;
- }
-
- compileNode(o) {
- var block, body, cond, conditions, expr, fragments, i, idt1, idt2, j, k, len1, len2, ref1, ref2;
- idt1 = o.indent + TAB;
- idt2 = o.indent = idt1 + TAB;
- fragments = [].concat(this.makeCode(this.tab + "switch ("), (this.subject ? this.subject.compileToFragments(o, LEVEL_PAREN) : this.makeCode("false")), this.makeCode(") {\n"));
- ref1 = this.cases;
- for (i = j = 0, len1 = ref1.length; j < len1; i = ++j) {
- [conditions, block] = ref1[i];
- ref2 = flatten([conditions]);
- for (k = 0, len2 = ref2.length; k < len2; k++) {
- cond = ref2[k];
- if (!this.subject) {
- cond = cond.invert();
- }
- fragments = fragments.concat(this.makeCode(idt1 + "case "), cond.compileToFragments(o, LEVEL_PAREN), this.makeCode(":\n"));
- }
- if ((body = block.compileToFragments(o, LEVEL_TOP)).length > 0) {
- fragments = fragments.concat(body, this.makeCode('\n'));
- }
- if (i === this.cases.length - 1 && !this.otherwise) {
- break;
- }
- expr = this.lastNonComment(block.expressions);
- if (expr instanceof Return || (expr instanceof Literal && expr.jumps() && expr.value !== 'debugger')) {
- continue;
- }
- fragments.push(cond.makeCode(idt2 + 'break;\n'));
- }
- if (this.otherwise && this.otherwise.expressions.length) {
- fragments.push(this.makeCode(idt1 + "default:\n"), ...this.otherwise.compileToFragments(o, LEVEL_TOP), this.makeCode("\n"));
- }
- fragments.push(this.makeCode(this.tab + '}'));
- return fragments;
- }
-
- };
-
- Switch.prototype.children = ['subject', 'cases', 'otherwise'];
-
- Switch.prototype.isStatement = YES;
-
- return Switch;
-
- })();
-
- exports.If = If = (function() {
- class If extends Base {
- constructor(condition, body1, options = {}) {
- super();
- this.body = body1;
- this.condition = options.type === 'unless' ? condition.invert() : condition;
- this.elseBody = null;
- this.isChain = false;
- ({soak: this.soak} = options);
- }
-
- bodyNode() {
- var ref1;
- return (ref1 = this.body) != null ? ref1.unwrap() : void 0;
- }
-
- elseBodyNode() {
- var ref1;
- return (ref1 = this.elseBody) != null ? ref1.unwrap() : void 0;
- }
-
- addElse(elseBody) {
- if (this.isChain) {
- this.elseBodyNode().addElse(elseBody);
- } else {
- this.isChain = elseBody instanceof If;
- this.elseBody = this.ensureBlock(elseBody);
- this.elseBody.updateLocationDataIfMissing(elseBody.locationData);
- }
- return this;
- }
-
- isStatement(o) {
- var ref1;
- return (o != null ? o.level : void 0) === LEVEL_TOP || this.bodyNode().isStatement(o) || ((ref1 = this.elseBodyNode()) != null ? ref1.isStatement(o) : void 0);
- }
-
- jumps(o) {
- var ref1;
- return this.body.jumps(o) || ((ref1 = this.elseBody) != null ? ref1.jumps(o) : void 0);
- }
-
- compileNode(o) {
- if (this.isStatement(o)) {
- return this.compileStatement(o);
- } else {
- return this.compileExpression(o);
- }
- }
-
- makeReturn(res) {
- if (res) {
- this.elseBody || (this.elseBody = new Block([new Literal('void 0')]));
- }
- this.body && (this.body = new Block([this.body.makeReturn(res)]));
- this.elseBody && (this.elseBody = new Block([this.elseBody.makeReturn(res)]));
- return this;
- }
-
- ensureBlock(node) {
- if (node instanceof Block) {
- return node;
- } else {
- return new Block([node]);
- }
- }
-
- compileStatement(o) {
- var answer, body, child, cond, exeq, ifPart, indent;
- child = del(o, 'chainChild');
- exeq = del(o, 'isExistentialEquals');
- if (exeq) {
- return new If(this.condition.invert(), this.elseBodyNode(), {
- type: 'if'
- }).compileToFragments(o);
- }
- indent = o.indent + TAB;
- cond = this.condition.compileToFragments(o, LEVEL_PAREN);
- body = this.ensureBlock(this.body).compileToFragments(merge(o, {indent}));
- ifPart = [].concat(this.makeCode("if ("), cond, this.makeCode(") {\n"), body, this.makeCode(`\n${this.tab}}`));
- if (!child) {
- ifPart.unshift(this.makeCode(this.tab));
- }
- if (!this.elseBody) {
- return ifPart;
- }
- answer = ifPart.concat(this.makeCode(' else '));
- if (this.isChain) {
- o.chainChild = true;
- answer = answer.concat(this.elseBody.unwrap().compileToFragments(o, LEVEL_TOP));
- } else {
- answer = answer.concat(this.makeCode("{\n"), this.elseBody.compileToFragments(merge(o, {indent}), LEVEL_TOP), this.makeCode(`\n${this.tab}}`));
- }
- return answer;
- }
-
- compileExpression(o) {
- var alt, body, cond, fragments;
- cond = this.condition.compileToFragments(o, LEVEL_COND);
- body = this.bodyNode().compileToFragments(o, LEVEL_LIST);
- alt = this.elseBodyNode() ? this.elseBodyNode().compileToFragments(o, LEVEL_LIST) : [this.makeCode('void 0')];
- fragments = cond.concat(this.makeCode(" ? "), body, this.makeCode(" : "), alt);
- if (o.level >= LEVEL_COND) {
- return this.wrapInParentheses(fragments);
- } else {
- return fragments;
- }
- }
-
- unfoldSoak() {
- return this.soak && this;
- }
-
- };
-
- If.prototype.children = ['condition', 'body', 'elseBody'];
-
- return If;
-
- })();
-
- UTILITIES = {
- extend: function(o) {
- return `function(child, parent) { for (var key in parent) { if (${utility('hasProp', o)}.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); return child; }`;
- },
- bind: function() {
- return 'function(fn, me){ return function(){ return fn.apply(me, arguments); }; }';
- },
- indexOf: function() {
- return "[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }";
- },
- modulo: function() {
- return "function(a, b) { return (+a % (b = +b) + b) % b; }";
- },
- hasProp: function() {
- return '{}.hasOwnProperty';
- },
- slice: function() {
- return '[].slice';
- }
- };
-
- LEVEL_TOP = 1;
-
- LEVEL_PAREN = 2;
-
- LEVEL_LIST = 3;
-
- LEVEL_COND = 4;
-
- LEVEL_OP = 5;
-
- LEVEL_ACCESS = 6;
-
- TAB = ' ';
-
- SIMPLENUM = /^[+-]?\d+$/;
-
- utility = function(name, o) {
- var ref, root;
- ({root} = o.scope);
- if (name in root.utilities) {
- return root.utilities[name];
- } else {
- ref = root.freeVariable(name);
- root.assign(ref, UTILITIES[name](o));
- return root.utilities[name] = ref;
- }
- };
-
- multident = function(code, tab) {
- code = code.replace(/\n/g, '$&' + tab);
- return code.replace(/\s+$/, '');
- };
-
- isLiteralArguments = function(node) {
- return node instanceof IdentifierLiteral && node.value === 'arguments';
- };
-
- isLiteralThis = function(node) {
- return node instanceof ThisLiteral || (node instanceof Code && node.bound);
- };
-
- shouldCacheOrIsAssignable = function(node) {
- return node.shouldCache() || (typeof node.isAssignable === "function" ? node.isAssignable() : void 0);
- };
-
- unfoldSoak = function(o, parent, name) {
- var ifn;
- if (!(ifn = parent[name].unfoldSoak(o))) {
- return;
- }
- parent[name] = ifn.body;
- ifn.body = new Value(parent);
- return ifn;
- };
-
-}).call(this);
-
- return module.exports;
-})();require['./sourcemap'] = (function() {
- var exports = {}, module = {exports: exports};
- // Generated by CoffeeScript 2.0.0-alpha1
-(function() {
- var LineMap, SourceMap;
-
- LineMap = class LineMap {
- constructor(line1) {
- this.line = line1;
- this.columns = [];
- }
-
- add(column, [sourceLine, sourceColumn], options = {}) {
- if (this.columns[column] && options.noReplace) {
- return;
- }
- return this.columns[column] = {
- line: this.line,
- column,
- sourceLine,
- sourceColumn
- };
- }
-
- sourceLocation(column) {
- var mapping;
- while (!((mapping = this.columns[column]) || (column <= 0))) {
- column--;
- }
- return mapping && [mapping.sourceLine, mapping.sourceColumn];
- }
-
- };
-
- SourceMap = (function() {
- var BASE64_CHARS, VLQ_CONTINUATION_BIT, VLQ_SHIFT, VLQ_VALUE_MASK;
-
- class SourceMap {
- constructor() {
- this.lines = [];
- }
-
- add(sourceLocation, generatedLocation, options = {}) {
- var base, column, line, lineMap;
- [line, column] = generatedLocation;
- lineMap = ((base = this.lines)[line] || (base[line] = new LineMap(line)));
- return lineMap.add(column, sourceLocation, options);
- }
-
- sourceLocation([line, column]) {
- var lineMap;
- while (!((lineMap = this.lines[line]) || (line <= 0))) {
- line--;
- }
- return lineMap && lineMap.sourceLocation(column);
- }
-
- generate(options = {}, code = null) {
- var buffer, i, j, lastColumn, lastSourceColumn, lastSourceLine, len, len1, lineMap, lineNumber, mapping, needComma, ref, ref1, v3, writingline;
- writingline = 0;
- lastColumn = 0;
- lastSourceLine = 0;
- lastSourceColumn = 0;
- needComma = false;
- buffer = "";
- ref = this.lines;
- for (lineNumber = i = 0, len = ref.length; i < len; lineNumber = ++i) {
- lineMap = ref[lineNumber];
- if (lineMap) {
- ref1 = lineMap.columns;
- for (j = 0, len1 = ref1.length; j < len1; j++) {
- mapping = ref1[j];
- if (!(mapping)) {
- continue;
- }
- while (writingline < mapping.line) {
- lastColumn = 0;
- needComma = false;
- buffer += ";";
- writingline++;
- }
- if (needComma) {
- buffer += ",";
- needComma = false;
- }
- buffer += this.encodeVlq(mapping.column - lastColumn);
- lastColumn = mapping.column;
- buffer += this.encodeVlq(0);
- buffer += this.encodeVlq(mapping.sourceLine - lastSourceLine);
- lastSourceLine = mapping.sourceLine;
- buffer += this.encodeVlq(mapping.sourceColumn - lastSourceColumn);
- lastSourceColumn = mapping.sourceColumn;
- needComma = true;
- }
- }
- }
- v3 = {
- version: 3,
- file: options.generatedFile || '',
- sourceRoot: options.sourceRoot || '',
- sources: options.sourceFiles || [''],
- names: [],
- mappings: buffer
- };
- if (options.inlineMap) {
- v3.sourcesContent = [code];
- }
- return v3;
- }
-
- encodeVlq(value) {
- var answer, nextChunk, signBit, valueToEncode;
- answer = '';
- signBit = value < 0 ? 1 : 0;
- valueToEncode = (Math.abs(value) << 1) + signBit;
- while (valueToEncode || !answer) {
- nextChunk = valueToEncode & VLQ_VALUE_MASK;
- valueToEncode = valueToEncode >> VLQ_SHIFT;
- if (valueToEncode) {
- nextChunk |= VLQ_CONTINUATION_BIT;
- }
- answer += this.encodeBase64(nextChunk);
- }
- return answer;
- }
-
- encodeBase64(value) {
- return BASE64_CHARS[value] || (function() {
- throw new Error(`Cannot Base64 encode value: ${value}`);
- })();
- }
-
- };
-
- VLQ_SHIFT = 5;
-
- VLQ_CONTINUATION_BIT = 1 << VLQ_SHIFT;
-
- VLQ_VALUE_MASK = VLQ_CONTINUATION_BIT - 1;
-
- BASE64_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-
- return SourceMap;
-
- })();
-
- module.exports = SourceMap;
-
-}).call(this);
-
- return module.exports;
-})();require['./coffeescript'] = (function() {
- var exports = {}, module = {exports: exports};
- // Generated by CoffeeScript 2.0.0-alpha1
-(function() {
- var Lexer, SourceMap, base64encode, compile, ext, fn1, formatSourcePosition, fs, getSourceMap, helpers, i, len, lexer, packageJson, parser, path, ref, sourceMaps, sources, vm, withPrettyErrors,
- hasProp = {}.hasOwnProperty;
-
- fs = require('fs');
-
- vm = require('vm');
-
- path = require('path');
-
- ({Lexer} = require('./lexer'));
-
- ({parser} = require('./parser'));
-
- helpers = require('./helpers');
-
- SourceMap = require('./sourcemap');
-
- packageJson = require('../../package.json');
-
- exports.VERSION = packageJson.version;
-
- exports.FILE_EXTENSIONS = ['.coffee', '.litcoffee', '.coffee.md'];
-
- exports.helpers = helpers;
-
- base64encode = function(src) {
- switch (false) {
- case typeof Buffer !== 'function':
- return Buffer.from(src).toString('base64');
- case typeof btoa !== 'function':
- return btoa(encodeURIComponent(src).replace(/%([0-9A-F]{2})/g, function(match, p1) {
- return String.fromCharCode('0x' + p1);
- }));
- default:
- throw new Error('Unable to base64 encode inline sourcemap.');
- }
- };
-
- withPrettyErrors = function(fn) {
- return function(code, options = {}) {
- var err;
- try {
- return fn.call(this, code, options);
- } catch (error) {
- err = error;
- if (typeof code !== 'string') {
- throw err;
- }
- throw helpers.updateSyntaxError(err, code, options.filename);
- }
- };
- };
-
- sources = {};
-
- sourceMaps = {};
-
- exports.compile = compile = withPrettyErrors(function(code, options) {
- var currentColumn, currentLine, encoded, extend, filename, fragment, fragments, generateSourceMap, header, i, j, js, len, len1, map, merge, newLines, ref, ref1, sourceMapDataURI, sourceURL, token, tokens, v3SourceMap;
- ({merge, extend} = helpers);
- options = extend({}, options);
- generateSourceMap = options.sourceMap || options.inlineMap || (options.filename == null);
- filename = options.filename || '';
- sources[filename] = code;
- if (generateSourceMap) {
- map = new SourceMap;
- }
- tokens = lexer.tokenize(code, options);
- options.referencedVars = (function() {
- var i, len, results;
- results = [];
- for (i = 0, len = tokens.length; i < len; i++) {
- token = tokens[i];
- if (token[0] === 'IDENTIFIER') {
- results.push(token[1]);
- }
- }
- return results;
- })();
- if (!((options.bare != null) && options.bare === true)) {
- for (i = 0, len = tokens.length; i < len; i++) {
- token = tokens[i];
- if ((ref = token[0]) === 'IMPORT' || ref === 'EXPORT') {
- options.bare = true;
- break;
- }
- }
- }
- fragments = parser.parse(tokens).compileToFragments(options);
- currentLine = 0;
- if (options.header) {
- currentLine += 1;
- }
- if (options.shiftLine) {
- currentLine += 1;
- }
- currentColumn = 0;
- js = "";
- for (j = 0, len1 = fragments.length; j < len1; j++) {
- fragment = fragments[j];
- if (generateSourceMap) {
- if (fragment.locationData && !/^[;\s]*$/.test(fragment.code)) {
- map.add([fragment.locationData.first_line, fragment.locationData.first_column], [currentLine, currentColumn], {
- noReplace: true
- });
- }
- newLines = helpers.count(fragment.code, "\n");
- currentLine += newLines;
- if (newLines) {
- currentColumn = fragment.code.length - (fragment.code.lastIndexOf("\n") + 1);
- } else {
- currentColumn += fragment.code.length;
- }
- }
- js += fragment.code;
- }
- if (options.header) {
- header = `Generated by CoffeeScript ${this.VERSION}`;
- js = `// ${header}\n${js}`;
- }
- if (generateSourceMap) {
- v3SourceMap = map.generate(options, code);
- sourceMaps[filename] = map;
- }
- if (options.inlineMap) {
- encoded = base64encode(JSON.stringify(v3SourceMap));
- sourceMapDataURI = `//# sourceMappingURL=data:application/json;base64,${encoded}`;
- sourceURL = `//# sourceURL=${(ref1 = options.filename) != null ? ref1 : 'coffeescript'}`;
- js = `${js}\n${sourceMapDataURI}\n${sourceURL}`;
- }
- if (options.sourceMap) {
- return {
- js,
- sourceMap: map,
- v3SourceMap: JSON.stringify(v3SourceMap, null, 2)
- };
- } else {
- return js;
- }
- });
-
- exports.tokens = withPrettyErrors(function(code, options) {
- return lexer.tokenize(code, options);
- });
-
- exports.nodes = withPrettyErrors(function(source, options) {
- if (typeof source === 'string') {
- return parser.parse(lexer.tokenize(source, options));
- } else {
- return parser.parse(source);
- }
- });
-
- exports.run = function(code, options = {}) {
- var answer, dir, mainModule, ref;
- mainModule = require.main;
- mainModule.filename = process.argv[1] = options.filename ? fs.realpathSync(options.filename) : '';
- mainModule.moduleCache && (mainModule.moduleCache = {});
- dir = options.filename != null ? path.dirname(fs.realpathSync(options.filename)) : fs.realpathSync('.');
- mainModule.paths = require('module')._nodeModulePaths(dir);
- if (!helpers.isCoffee(mainModule.filename) || require.extensions) {
- answer = compile(code, options);
- code = (ref = answer.js) != null ? ref : answer;
- }
- return mainModule._compile(code, mainModule.filename);
- };
-
- exports["eval"] = function(code, options = {}) {
- var Module, _module, _require, createContext, i, isContext, js, k, len, o, r, ref, ref1, ref2, ref3, sandbox, v;
- if (!(code = code.trim())) {
- return;
- }
- createContext = (ref = vm.Script.createContext) != null ? ref : vm.createContext;
- isContext = (ref1 = vm.isContext) != null ? ref1 : function(ctx) {
- return options.sandbox instanceof createContext().constructor;
- };
- if (createContext) {
- if (options.sandbox != null) {
- if (isContext(options.sandbox)) {
- sandbox = options.sandbox;
- } else {
- sandbox = createContext();
- ref2 = options.sandbox;
- for (k in ref2) {
- if (!hasProp.call(ref2, k)) continue;
- v = ref2[k];
- sandbox[k] = v;
- }
- }
- sandbox.global = sandbox.root = sandbox.GLOBAL = sandbox;
- } else {
- sandbox = global;
- }
- sandbox.__filename = options.filename || 'eval';
- sandbox.__dirname = path.dirname(sandbox.__filename);
- if (!(sandbox !== global || sandbox.module || sandbox.require)) {
- Module = require('module');
- sandbox.module = _module = new Module(options.modulename || 'eval');
- sandbox.require = _require = function(path) {
- return Module._load(path, _module, true);
- };
- _module.filename = sandbox.__filename;
- ref3 = Object.getOwnPropertyNames(require);
- for (i = 0, len = ref3.length; i < len; i++) {
- r = ref3[i];
- if (r !== 'paths' && r !== 'arguments' && r !== 'caller') {
- _require[r] = require[r];
- }
- }
- _require.paths = _module.paths = Module._nodeModulePaths(process.cwd());
- _require.resolve = function(request) {
- return Module._resolveFilename(request, _module);
- };
- }
- }
- o = {};
- for (k in options) {
- if (!hasProp.call(options, k)) continue;
- v = options[k];
- o[k] = v;
- }
- o.bare = true;
- js = compile(code, o);
- if (sandbox === global) {
- return vm.runInThisContext(js);
- } else {
- return vm.runInContext(js, sandbox);
- }
- };
-
- exports.register = function() {
- return require('./register');
- };
-
- if (require.extensions) {
- ref = this.FILE_EXTENSIONS;
- fn1 = function(ext) {
- var base;
- return (base = require.extensions)[ext] != null ? base[ext] : base[ext] = function() {
- throw new Error(`Use CoffeeScript.register() or require the coffeescript/register module to require ${ext} files.`);
- };
- };
- for (i = 0, len = ref.length; i < len; i++) {
- ext = ref[i];
- fn1(ext);
- }
- }
-
- exports._compileFile = function(filename, sourceMap = false, inlineMap = false) {
- var answer, err, raw, stripped;
- raw = fs.readFileSync(filename, 'utf8');
- stripped = raw.charCodeAt(0) === 0xFEFF ? raw.substring(1) : raw;
- try {
- answer = compile(stripped, {
- filename,
- sourceMap,
- inlineMap,
- sourceFiles: [filename],
- literate: helpers.isLiterate(filename)
- });
- } catch (error) {
- err = error;
- throw helpers.updateSyntaxError(err, stripped, filename);
- }
- return answer;
- };
-
- lexer = new Lexer;
-
- parser.lexer = {
- lex: function() {
- var tag, token;
- token = parser.tokens[this.pos++];
- if (token) {
- [tag, this.yytext, this.yylloc] = token;
- parser.errorToken = token.origin || token;
- this.yylineno = this.yylloc.first_line;
- } else {
- tag = '';
- }
- return tag;
- },
- setInput: function(tokens) {
- parser.tokens = tokens;
- return this.pos = 0;
- },
- upcomingInput: function() {
- return "";
- }
- };
-
- parser.yy = require('./nodes');
-
- parser.yy.parseError = function(message, {token}) {
- var errorLoc, errorTag, errorText, errorToken, tokens;
- ({errorToken, tokens} = parser);
- [errorTag, errorText, errorLoc] = errorToken;
- errorText = (function() {
- switch (false) {
- case errorToken !== tokens[tokens.length - 1]:
- return 'end of input';
- case errorTag !== 'INDENT' && errorTag !== 'OUTDENT':
- return 'indentation';
- case errorTag !== 'IDENTIFIER' && errorTag !== 'NUMBER' && errorTag !== 'INFINITY' && errorTag !== 'STRING' && errorTag !== 'STRING_START' && errorTag !== 'REGEX' && errorTag !== 'REGEX_START':
- return errorTag.replace(/_START$/, '').toLowerCase();
- default:
- return helpers.nameWhitespaceCharacter(errorText);
- }
- })();
- return helpers.throwSyntaxError(`unexpected ${errorText}`, errorLoc);
- };
-
- formatSourcePosition = function(frame, getSourceMapping) {
- var as, column, fileLocation, filename, functionName, isConstructor, isMethodCall, line, methodName, source, tp, typeName;
- filename = void 0;
- fileLocation = '';
- if (frame.isNative()) {
- fileLocation = "native";
- } else {
- if (frame.isEval()) {
- filename = frame.getScriptNameOrSourceURL();
- if (!filename) {
- fileLocation = `${frame.getEvalOrigin()}, `;
- }
- } else {
- filename = frame.getFileName();
- }
- filename || (filename = "");
- line = frame.getLineNumber();
- column = frame.getColumnNumber();
- source = getSourceMapping(filename, line, column);
- fileLocation = source ? `${filename}:${source[0]}:${source[1]}` : `${filename}:${line}:${column}`;
- }
- functionName = frame.getFunctionName();
- isConstructor = frame.isConstructor();
- isMethodCall = !(frame.isToplevel() || isConstructor);
- if (isMethodCall) {
- methodName = frame.getMethodName();
- typeName = frame.getTypeName();
- if (functionName) {
- tp = as = '';
- if (typeName && functionName.indexOf(typeName)) {
- tp = `${typeName}.`;
- }
- if (methodName && functionName.indexOf(`.${methodName}`) !== functionName.length - methodName.length - 1) {
- as = ` [as ${methodName}]`;
- }
- return `${tp}${functionName}${as} (${fileLocation})`;
- } else {
- return `${typeName}.${methodName || ''} (${fileLocation})`;
- }
- } else if (isConstructor) {
- return `new ${functionName || ''} (${fileLocation})`;
- } else if (functionName) {
- return `${functionName} (${fileLocation})`;
- } else {
- return fileLocation;
- }
- };
-
- getSourceMap = function(filename) {
- var answer;
- if (sourceMaps[filename] != null) {
- return sourceMaps[filename];
- } else if (sourceMaps[''] != null) {
- return sourceMaps[''];
- } else if (sources[filename] != null) {
- answer = compile(sources[filename], {
- filename: filename,
- sourceMap: true,
- literate: helpers.isLiterate(filename)
- });
- return answer.sourceMap;
- } else {
- return null;
- }
- };
-
- Error.prepareStackTrace = function(err, stack) {
- var frame, frames, getSourceMapping;
- getSourceMapping = function(filename, line, column) {
- var answer, sourceMap;
- sourceMap = getSourceMap(filename);
- if (sourceMap != null) {
- answer = sourceMap.sourceLocation([line - 1, column - 1]);
- }
- if (answer != null) {
- return [answer[0] + 1, answer[1] + 1];
- } else {
- return null;
- }
- };
- frames = (function() {
- var j, len1, results;
- results = [];
- for (j = 0, len1 = stack.length; j < len1; j++) {
- frame = stack[j];
- if (frame.getFunction() === exports.run) {
- break;
- }
- results.push(` at ${formatSourcePosition(frame, getSourceMapping)}`);
- }
- return results;
- })();
- return `${err.toString()}\n${frames.join('\n')}\n`;
- };
-
-}).call(this);
-
- return module.exports;
-})();require['./browser'] = (function() {
- var exports = {}, module = {exports: exports};
- // Generated by CoffeeScript 2.0.0-alpha1
-(function() {
- var CoffeeScript, compile, runScripts,
- indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
-
- CoffeeScript = require('./coffeescript');
-
- CoffeeScript.require = require;
-
- compile = CoffeeScript.compile;
-
- CoffeeScript["eval"] = function(code, options = {}) {
- if (options.bare == null) {
- options.bare = true;
- }
- return eval(compile(code, options));
- };
-
- CoffeeScript.run = function(code, options = {}) {
- options.bare = true;
- options.shiftLine = true;
- return Function(compile(code, options))();
- };
-
- if (typeof window === "undefined" || window === null) {
- return;
- }
-
- if ((typeof btoa !== "undefined" && btoa !== null) && (typeof JSON !== "undefined" && JSON !== null)) {
- compile = function(code, options = {}) {
- options.inlineMap = true;
- return CoffeeScript.compile(code, options);
- };
- }
-
- CoffeeScript.load = function(url, callback, options = {}, hold = false) {
- var xhr;
- options.sourceFiles = [url];
- xhr = window.ActiveXObject ? new window.ActiveXObject('Microsoft.XMLHTTP') : new window.XMLHttpRequest();
- xhr.open('GET', url, true);
- if ('overrideMimeType' in xhr) {
- xhr.overrideMimeType('text/plain');
- }
- xhr.onreadystatechange = function() {
- var param, ref;
- if (xhr.readyState === 4) {
- if ((ref = xhr.status) === 0 || ref === 200) {
- param = [xhr.responseText, options];
- if (!hold) {
- CoffeeScript.run(...param);
- }
- } else {
- throw new Error(`Could not load ${url}`);
- }
- if (callback) {
- return callback(param);
- }
- }
- };
- return xhr.send(null);
- };
-
- runScripts = function() {
- var coffees, coffeetypes, execute, fn, i, index, j, len, s, script, scripts;
- scripts = window.document.getElementsByTagName('script');
- coffeetypes = ['text/coffeescript', 'text/literate-coffeescript'];
- coffees = (function() {
- var j, len, ref, results;
- results = [];
- for (j = 0, len = scripts.length; j < len; j++) {
- s = scripts[j];
- if (ref = s.type, indexOf.call(coffeetypes, ref) >= 0) {
- results.push(s);
- }
- }
- return results;
- })();
- index = 0;
- execute = function() {
- var param;
- param = coffees[index];
- if (param instanceof Array) {
- CoffeeScript.run(...param);
- index++;
- return execute();
- }
- };
- fn = function(script, i) {
- var options, source;
- options = {
- literate: script.type === coffeetypes[1]
- };
- source = script.src || script.getAttribute('data-src');
- if (source) {
- options.filename = source;
- return CoffeeScript.load(source, function(param) {
- coffees[i] = param;
- return execute();
- }, options, true);
- } else {
- options.filename = script.id && script.id !== '' ? script.id : `coffeescript${(i !== 0 ? i : '')}`;
- options.sourceFiles = ['embedded'];
- return coffees[i] = [script.innerHTML, options];
- }
- };
- for (i = j = 0, len = coffees.length; j < len; i = ++j) {
- script = coffees[i];
- fn(script, i);
- }
- return execute();
- };
-
- if (window.addEventListener) {
- window.addEventListener('DOMContentLoaded', runScripts, false);
- } else {
- window.attachEvent('onload', runScripts);
- }
-
-}).call(this);
-
- return module.exports;
-})();
- return require['./coffeescript'];
- }();
-
- if (typeof define === 'function' && define.amd) {
- define(function() { return CoffeeScript; });
- } else {
- root.CoffeeScript = CoffeeScript;
- }
-}(this));
\ No newline at end of file
+var _Mathabs=Math.abs,_StringfromCharCode=String.fromCharCode,_Mathfloor=Math.floor,_get=function t(d,c,u){null===d&&(d=Function.prototype);var f=Object.getOwnPropertyDescriptor(d,c);if(void 0===f){var h=Object.getPrototypeOf(d);return null===h?void 0:t(h,c,u)}if("value"in f)return f.value;var g=f.get;return void 0===g?void 0:g.call(u)},_slicedToArray=function(){function t(d,c){var u=[],f=!0,h=!1,g=void 0;try{for(var y=d[Symbol.iterator](),b;!(f=(b=y.next()).done)&&(u.push(b.value),!(c&&u.length===c));f=!0);}catch(T){h=!0,g=T}finally{try{!f&&y["return"]&&y["return"]()}finally{if(h)throw g}}return u}return function(d,c){if(Array.isArray(d))return d;if(Symbol.iterator in Object(d))return t(d,c);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_createClass=function(){function t(d,c){for(var u=0,f;u=7.6.0"},directories:{lib:"./lib/coffeescript"},main:"./lib/coffeescript/index",browser:"./lib/coffeescript/browser",bin:{coffee:"./bin/coffee",cake:"./bin/cake"},files:["bin","lib","register.js","repl.js"],scripts:{test:"node ./bin/cake test","test-harmony":"node --harmony ./bin/cake test"},homepage:"http://coffeescript.org",bugs:"https://github.com/jashkenas/coffeescript/issues",repository:{type:"git",url:"git://github.com/jashkenas/coffeescript.git"},devDependencies:{"babel-core":"^6.24.1","babel-preset-babili":"0.0.12","babel-preset-env":"^1.4.0",docco:"~0.7.0","highlight.js":"~9.11.0",jison:">=0.4.17","markdown-it":"^8.3.1",underscore:"~1.8.3",webpack:"^2.5.1"},dependencies:{}}}(),require["./helpers"]=function(){var t={};return function(){var c,u,f,h,g,y;t.starts=function(b,T,_){return T===b.substr(_,T.length)},t.ends=function(b,T,_){var L;return L=T.length,T===b.substr(b.length-L-(_||0),L)},t.repeat=g=function repeat(b,T){var _;for(_="";0>>=1,b+=b;return _},t.compact=function(b){var T,_,L,N;for(N=[],T=0,L=b.length;TB)return V.call(this,Y,M-1);(H=Y[0],0<=A.call(g,H))?B+=1:(G=Y[0],0<=A.call(h,G))&&(B-=1),M+=1}return M-1}},{key:"removeLeadingNewlines",value:function removeLeadingNewlines(){var M,U,V,B,H;for(B=this.tokens,M=U=0,V=B.length;UH;V=0<=H?++B:--B){for(;"HERECOMMENT"===this.tag(M+V+U);)U+=2;if(null!=X[V]&&("string"==typeof X[V]&&(X[V]=[X[V]]),G=this.tag(M+V+U),0>A.call(X[V],G)))return-1}return M+V+U-1}},{key:"looksObjectish",value:function looksObjectish(M){var U,V;return-1A.call(U,G))&&((Y=this.tag(M),0>A.call(g,Y))||this.tokens[M].generated)&&(X=this.tag(M),0>A.call(N,X)));)(B=this.tag(M),0<=A.call(h,B))&&V.push(this.tag(M)),(H=this.tag(M),0<=A.call(g,H))&&V.length&&V.pop(),M-=1;return W=this.tag(M),0<=A.call(U,W)}},{key:"addImplicitBracesAndParens",value:function addImplicitBracesAndParens(){var M,U;return M=[],U=null,this.scanTokens(function(V,B,H){var $e=_slicedToArray(V,1),G,Y,X,W,q,z,J,K,Z,Q,ee,ae,te,oe,ne,re,ie,le,se,de,ce,pe,ue,fe,he,ge,ye,ke,ve,be;be=$e[0];var Te=re=0"!==ne&&"->"!==ne&&"["!==ne&&"("!==ne&&","!==ne&&"{"!==ne&&"TRY"!==ne&&"ELSE"!==ne&&"="!==ne)for(;q();)G();return z()&&M.pop(),M.push([be,B]),X(1)}if(0<=A.call(g,be))return M.push([be,B]),X(1);if(0<=A.call(h,be)){for(;W();)q()?G():J()?Y():M.pop();U=M.pop()}if((0<=A.call(T,be)&&V.spaced||"?"===be&&0A.call(h,Se)):return U[1];case"@"!==this.tag(B-2):return B-2;default:return B-1;}}.call(this);"HERECOMMENT"===this.tag(de-2);)de-=2;if(this.insideForDeclaration="FOR"===te,ve=0===de||(se=this.tag(de-1),0<=A.call(N,se))||H[de-1].newLine,he()){var Ce=he(),De=_slicedToArray(Ce,2);if(fe=De[0],pe=De[1],("{"===fe||"INDENT"===fe&&"{"===this.tag(pe-1))&&(ve||","===this.tag(de-1)||"{"===this.tag(de-1)))return X(1)}return ke(de,!!ve),X(2)}if(0<=A.call(N,be))for(ee=M.length-1;0<=ee;ee+=-1)ue=M[ee],Q(ue)&&(ue[2].sameLine=!1);if(ae="OUTDENT"===ne||re.newLine,0<=A.call(b,be)||0<=A.call(u,be)&&ae)for(;W();){var Ee=he(),xe=_slicedToArray(Ee,3);fe=xe[0],pe=xe[1];var Ie=xe[2];if(ce=Ie.sameLine,ve=Ie.startsLine,q()&&","!==ne)G();else if(J()&&!this.insideForDeclaration&&ce&&"TERMINATOR"!==be&&":"!==ne)Y();else if(J()&&"TERMINATOR"===be&&","!==ne&&!(ve&&this.looksObjectish(B+1))){if("HERECOMMENT"===te)return X(1);Y()}else break}if(","===be&&!this.looksObjectish(B+1)&&J()&&!this.insideForDeclaration&&("TERMINATOR"!==te||!this.looksObjectish(B+2)))for(oe="OUTDENT"===te?1:0;J();)Y(B+oe);return X(1)})}},{key:"addLocationDataToGeneratedTokens",value:function addLocationDataToGeneratedTokens(){return this.scanTokens(function(M,U,V){var B,H,G,Y,X,W;if(M[2])return 1;if(!(M.generated||M.explicit))return 1;if("{"===M[0]&&(G=null==(X=V[U+1])?void 0:X[2])){var q=G;H=q.first_line,B=q.first_column}else if(Y=null==(W=V[U-1])?void 0:W[2]){var z=Y;H=z.last_line,B=z.last_column}else H=B=0;return M[2]={first_line:H,first_column:B,last_line:H,last_column:B},1})}},{key:"fixOutdentLocationData",value:function fixOutdentLocationData(){return this.scanTokens(function(M,U,V){var B;return"OUTDENT"===M[0]||M.generated&&"CALL_END"===M[0]||M.generated&&"}"===M[0]?(B=V[U-1][2],M[2]={first_line:B.last_line,first_column:B.last_column,last_line:B.last_line,last_column:B.last_column},1):1})}},{key:"normalizeLines",value:function normalizeLines(){var M,U,V,B,H;return H=V=B=null,U=function condition(G,Y){var X,W,q,z;return";"!==G[1]&&(X=G[0],0<=A.call(C,X))&&!("TERMINATOR"===G[0]&&(W=this.tag(Y+1),0<=A.call(f,W)))&&("ELSE"!==G[0]||"THEN"===H)&&("CATCH"!==(q=G[0])&&"FINALLY"!==q||"->"!==H&&"=>"!==H)||(z=G[0],0<=A.call(u,z))&&(this.tokens[Y-1].newLine||"OUTDENT"===this.tokens[Y-1][0])},M=function action(G,Y){return this.tokens.splice(","===this.tag(Y-1)?Y-1:Y,0,B)},this.scanTokens(function(G,Y,X){var Z=_slicedToArray(G,1),W,q,z,J,K;if(K=Z[0],"TERMINATOR"===K){if("ELSE"===this.tag(Y+1)&&"OUTDENT"!==this.tag(Y-1))return X.splice.apply(X,[Y,1].concat(_toConsumableArray(this.indentation()))),1;if(z=this.tag(Y+1),0<=A.call(f,z))return X.splice(Y,1),0}if("CATCH"===K)for(W=q=1;2>=q;W=++q)if("OUTDENT"===(J=this.tag(Y+W))||"TERMINATOR"===J||"FINALLY"===J)return X.splice.apply(X,[Y+W,0].concat(_toConsumableArray(this.indentation()))),2+W;if(0<=A.call(D,K)&&"INDENT"!==this.tag(Y+1)&&("ELSE"!==K||"IF"!==this.tag(Y+1))){H=K;var Q=this.indentation(X[Y]),ee=_slicedToArray(Q,2);return V=ee[0],B=ee[1],"THEN"===H&&(V.fromThen=!0),X.splice(Y+1,0,V),this.detectEnd(Y+2,U,M),"THEN"===K&&X.splice(Y,1),1}return 1})}},{key:"tagPostfixConditionals",value:function tagPostfixConditionals(){var M,U,V;return V=null,U=function condition(B,H){var X=_slicedToArray(B,1),G,Y;Y=X[0];var W=_slicedToArray(this.tokens[H-1],1);return G=W[0],"TERMINATOR"===Y||"INDENT"===Y&&0>A.call(D,G)},M=function action(B){if("INDENT"!==B[0]||B.generated&&!B.fromThen)return V[0]="POST_"+V[0]},this.scanTokens(function(B,H){return"IF"===B[0]?(V=B,this.detectEnd(H+1,U,M),1):1})}},{key:"indentation",value:function indentation(M){var U,V;return U=["INDENT",2],V=["OUTDENT",2],M?(U.generated=V.generated=!0,U.origin=V.origin=M):U.explicit=V.explicit=!0,[U,V]}},{key:"tag",value:function tag(M){var U;return null==(U=this.tokens[M])?void 0:U[0]}}]),w}();return P.prototype.generate=E,P}(),c=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],["REGEX_START","REGEX_END"]],t.INVERSES=L={},g=[],h=[],(x=0,S=c.length);x","=>","[","(","{","--","++"],_=["+","-"],b=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],D=["ELSE","->","=>","TRY","FINALLY","THEN"],C=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],N=["TERMINATOR","INDENT","OUTDENT"],u=[".","?.","::","?::"]}.call(this),{exports:t}.exports}(),require["./lexer"]=function(){var t={};return function(){var xe=[].indexOf,Ie=require("./rewriter"),c,u,f,h,g,y,b,T,_,L,N,F,C,D,E,x,I,S,R,A,O,P,w,M,U,V,B,H,G,Y,X,W,q,z,J,K,Z,Q,ee,ae,te,oe,ne,re,ie,le,se,de,ce,pe,ue,fe,he,ge,ye,ke,ve,be,$e,Te,Le,Ne,Fe,Ce,De,Ee;ae=Ie.Rewriter,O=Ie.INVERSES;var Se=require("./helpers");ve=Se.count,De=Se.starts,ke=Se.compact,Ce=Se.repeat,be=Se.invertLiterate,Fe=Se.merge,Ne=Se.locationDataToString,Ee=Se.throwSyntaxError,t.Lexer=B=function(){function Re(){_classCallCheck(this,Re)}return _createClass(Re,[{key:"tokenize",value:function tokenize(Ae){var Oe=1this.indent){if(Me||"RETURN"===this.tag())return this.indebt=Ue-this.indent,this.suppressNewlines(),Oe.length;if(!this.tokens.length)return this.baseIndent=this.indent=Ue,this.indentLiteral=je,Oe.length;Ae=Ue-this.indent+this.outdebt,this.token("INDENT",Ae,Oe.length-Ue,Ue),this.indents.push(Ae),this.ends.push({tag:"OUTDENT"}),this.outdebt=this.indebt=0,this.indent=Ue,this.indentLiteral=je}else UeMe&&(Xe=this.token("+","+"),Xe[2]={first_line:Ge[2].first_line,first_column:Ge[2].first_column,last_line:Ge[2].first_line,last_column:Ge[2].first_column}),(Ze=this.tokens).push.apply(Ze,_toConsumableArray(Je))}if(Ye)return Be=Ae[Ae.length-1],Ye.origin=["STRING",null,{first_line:Ye[2].first_line,first_column:Ye[2].first_column,last_line:Be[2].last_line,last_column:Be[2].last_column}],We=this.token("STRING_END",")"),We[2]={first_line:Be[2].last_line,first_column:Be[2].last_column,last_line:Be[2].last_line,last_column:Be[2].last_column}}},{key:"pair",value:function pair(Ae){var Oe,Pe,we,je,Me;return we=this.ends,Pe=we[we.length-1],Ae===(Me=null==Pe?void 0:Pe.tag)?this.ends.pop():("OUTDENT"!==Me&&this.error("unmatched "+Ae),je=this.indents,Oe=je[je.length-1],this.outdentToken(Oe,!0),this.pair(Ae))}},{key:"getLineAndColumnFromChunk",value:function getLineAndColumnFromChunk(Ae){var Oe,Pe,we,je,Me;return 0===Ae?[this.chunkLine,this.chunkColumn]:(Me=Ae>=this.chunk.length?this.chunk:this.chunk.slice(0,+(Ae-1)+1||9e9),we=ve(Me,"\n"),Oe=this.chunkColumn,0Ae)?we(Ae):(Oe=_Mathfloor((Ae-65536)/1024)+55296,Pe=(Ae-65536)%1024+56320,""+we(Oe)+we(Pe))}},{key:"replaceUnicodeCodePointEscapes",value:function replaceUnicodeCodePointEscapes(Ae,Oe){var Pe=this,we;return we=null!=Oe.flags&&0>xe.call(Oe.flags,"u"),Ae.replace(he,function(je,Me,Ue,Ve){var Be;return Me?Me:(Be=parseInt(Ue,16),1114111xe.call([].concat(_toConsumableArray(w),_toConsumableArray(b)),Re):return"keyword '"+Ae+"' can't be assigned";case 0>xe.call(ne,Re):return"'"+Ae+"' can't be assigned";case 0>xe.call(ee,Re):return"reserved word '"+Ae+"' can't be assigned";default:return!1;}},t.isUnassignable=Te,$e=function isForFrom(Re){var Ae;return"IDENTIFIER"===Re[0]?("from"===Re[1]&&(Re[1][0]="IDENTIFIER",!0),!0):"FOR"!==Re[0]&&("{"===(Ae=Re[1])||"["===Ae||","===Ae||":"===Ae?!1:!0)},w=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"],b=["undefined","Infinity","NaN","then","unless","until","loop","of","by","when"],y={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},g=function(){var Re;for(Le in Re=[],y)Re.push(Le);return Re}(),b=b.concat(g),ee=["case","function","var","void","with","const","let","enum","native","implements","interface","package","private","protected","public","static"],ne=["arguments","eval"],t.JS_FORBIDDEN=w.concat(ee).concat(ne),c=65279,S=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/,X=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,W=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/,ye=/^[^\n\S]+/,T=/^###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/,h=/^[-=]>/,G=/^(?:\n[^\n\S]*)+/,P=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,I=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,de=/^(?:'''|"""|'|")/,se=/^(?:[^\\']|\\[\s\S])*/,re=/^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/,D=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,F=/^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/,le=/((?:\\\\)+)|\\[^\S\n]*\n\s*/g,oe=/\s*\n\s*/g,C=/\n+([^\n\S]*)(?=\S)/g,z=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,J=/^\w*/,ge=/^(?!.*(.).*\1)[imguy]*$/,E=/^(?:[^\\\/#]|\\[\s\S]|\/(?!\/\/)|\#(?!\{))*/,x=/((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g,K=/^(\/|\/{3}\s*)(\*)/,q=/^\/=?\s/,N=/\*\//,V=/^\s*(?:,|\??\.(?![.\d])|::)/,ie=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/,Z=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7])|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/,he=/(\\\\)|\\u\{([\da-fA-F]+)\}/g,M=/^[^\n\S]*\n/,ce=/\n[^\n\S]*$/,pe=/\s+$/,L=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="],ue=["NEW","TYPEOF","DELETE","DO"],fe=["!","~"],te=["<<",">>",">>>"],_=["==","!=","<",">","<=",">="],H=["*","/","%","//","%%"],Q=["IN","OF","INSTANCEOF"],u=["TRUE","FALSE"],f=["IDENTIFIER","PROPERTY",")","]","?","@","THIS","SUPER"],A=f.concat(["NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","::"]),Y=A.concat(["++","--"]),U=["INDENT","OUTDENT","TERMINATOR"],R=[")","}","]"]}.call(this),{exports:t}.exports}(),require["./parser"]=function(){var t={},d={exports:t},c=function(){function u(){this.yy={}}var f=function o(kt,vt,bt,$t){for(bt=bt||{},$t=kt.length;$t--;bt[kt[$t]]=vt);return bt},h=[1,22],g=[1,52],y=[1,86],b=[1,82],T=[1,87],_=[1,88],L=[1,84],N=[1,85],F=[1,60],C=[1,62],D=[1,63],E=[1,64],x=[1,65],I=[1,66],S=[1,53],R=[1,40],A=[1,54],O=[1,34],P=[1,71],w=[1,72],M=[1,33],U=[1,81],V=[1,50],B=[1,55],H=[1,56],G=[1,69],Y=[1,70],X=[1,68],W=[1,45],q=[1,51],z=[1,67],J=[1,76],K=[1,77],Z=[1,78],Q=[1,79],ee=[1,49],ae=[1,75],te=[1,36],oe=[1,37],ne=[1,38],re=[1,39],ie=[1,41],le=[1,42],se=[1,89],de=[1,6,34,44,134],ce=[1,104],pe=[1,92],ue=[1,91],fe=[1,90],he=[1,93],ge=[1,94],ye=[1,95],ke=[1,96],ve=[1,97],be=[1,98],$e=[1,99],Te=[1,100],Le=[1,101],Ne=[1,102],Fe=[1,103],Ce=[1,107],De=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],Ee=[2,171],xe=[1,113],Ie=[1,118],Se=[1,114],Re=[1,115],Ae=[1,116],Oe=[1,119],Pe=[1,112],we=[1,6,34,44,134,136,138,142,159],je=[1,6,33,34,42,43,44,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],Me=[2,98],Ue=[2,77],Ve=[1,129],Be=[1,134],He=[1,135],Ge=[1,137],Ye=[1,141],Xe=[1,139],We=[1,6,33,34,42,43,44,57,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],qe=[2,95],ze=[1,6,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],Je=[2,29],Ke=[1,166],Ze=[2,65],Qe=[1,174],ea=[1,186],aa=[1,188],ta=[1,183],oa=[1,190],na=[1,6,33,34,42,43,44,57,68,73,76,87,88,89,90,91,92,95,99,101,116,117,118,123,125,134,136,137,138,142,143,159,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],ra=[2,117],ia=[1,6,33,34,42,43,44,60,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],la=[1,6,33,34,42,43,44,48,60,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],sa=[1,238],da=[42,43,117],ca=[1,248],pa=[1,247],ua=[2,75],ma=[1,258],fa=[6,33,34,68,73],ha=[6,33,34,57,68,73,76],ga=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,162,163,167,168,169,170,171,172,173,174,175,176,177],ya=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,162,163,167,169,170,171,172,173,174,175,176,177],ka=[42,43,87,88,90,91,92,95,116,117],va=[1,277],ba=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159],$a=[2,64],Ta=[1,289],_a=[1,291],La=[1,296],Na=[1,298],Fa=[2,192],Ca=[1,6,33,34,42,43,44,57,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,149,150,151,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],Da=[1,307],Ea=[6,33,34,73,118,123],xa=[1,6,33,34,42,43,44,57,60,68,73,76,87,88,89,90,91,92,95,99,101,116,117,118,123,125,134,136,137,138,142,143,149,150,151,159,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],Ia=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,143,159],Sa=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,137,143,159],Ra=[149,150,151],Aa=[73,149,150,151],Oa=[6,33,99],Pa=[1,319],wa=[6,33,34,73,99],ja=[6,33,34,60,73,99],Ma=[6,33,34,57,60,73,99],Ua=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,162,163,169,170,171,172,173,174,175,176,177],Va=[1,6,33,34,44,48,68,73,76,87,88,89,90,91,92,95,99,116,117,118,123,125,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],Ba=[14,30,36,40,42,43,46,47,50,51,52,53,54,55,63,64,65,66,70,71,86,89,97,100,102,110,120,121,122,128,132,133,136,138,140,142,152,158,160,161,162,163,164,165],Ha=[2,181],Ga=[6,33,34],Ya=[2,76],Xa=[1,334],Wa=[1,335],qa=[1,6,33,34,44,68,73,76,89,99,118,123,125,130,131,134,136,137,138,142,143,154,156,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],za=[34,154,156],Ja=[1,6,34,44,68,73,76,89,99,118,123,125,134,137,143,159],Ka=[1,361],Za=[1,367],Qa=[1,6,34,44,134,159],et=[2,90],at=[1,378],tt=[1,379],ot=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,154,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],nt=[1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,138,142,143,159],rt=[1,391],it=[1,392],st=[6,33,34,99],dt=[6,33,34,73],ct=[1,6,33,34,44,68,73,76,89,99,118,123,125,130,134,136,137,138,142,143,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],pt=[33,73],ut=[1,419],mt=[1,420],ft=[1,426],ht=[1,427],yt={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,FuncDirective:9,YieldReturn:10,AwaitReturn:11,Return:12,Comment:13,STATEMENT:14,Import:15,Export:16,Value:17,Invocation:18,Code:19,Operation:20,Assign:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Throw:28,Yield:29,YIELD:30,FROM:31,Block:32,INDENT:33,OUTDENT:34,Identifier:35,IDENTIFIER:36,Property:37,PROPERTY:38,AlphaNumeric:39,NUMBER:40,String:41,STRING:42,STRING_START:43,STRING_END:44,Regex:45,REGEX:46,REGEX_START:47,REGEX_END:48,Literal:49,JS:50,UNDEFINED:51,NULL:52,BOOL:53,INFINITY:54,NAN:55,Assignable:56,"=":57,AssignObj:58,ObjAssignable:59,":":60,SimpleObjAssignable:61,ThisProperty:62,RETURN:63,AWAIT:64,HERECOMMENT:65,PARAM_START:66,ParamList:67,PARAM_END:68,FuncGlyph:69,"->":70,"=>":71,OptComma:72,",":73,Param:74,ParamVar:75,"...":76,Array:77,Object:78,Splat:79,SimpleAssignable:80,Accessor:81,Parenthetical:82,Range:83,This:84,Super:85,SUPER:86,".":87,INDEX_START:88,INDEX_END:89,"?.":90,"::":91,"?::":92,Index:93,IndexValue:94,INDEX_SOAK:95,Slice:96,"{":97,AssignList:98,"}":99,CLASS:100,EXTENDS:101,IMPORT:102,ImportDefaultSpecifier:103,ImportNamespaceSpecifier:104,ImportSpecifierList:105,ImportSpecifier:106,AS:107,DEFAULT:108,IMPORT_ALL:109,EXPORT:110,ExportSpecifierList:111,EXPORT_ALL:112,ExportSpecifier:113,OptFuncExist:114,Arguments:115,FUNC_EXIST:116,CALL_START:117,CALL_END:118,ArgList:119,THIS:120,"@":121,"[":122,"]":123,RangeDots:124,"..":125,Arg:126,SimpleArgs:127,TRY:128,Catch:129,FINALLY:130,CATCH:131,THROW:132,"(":133,")":134,WhileSource:135,WHILE:136,WHEN:137,UNTIL:138,Loop:139,LOOP:140,ForBody:141,FOR:142,BY:143,ForStart:144,ForSource:145,ForVariables:146,OWN:147,ForValue:148,FORIN:149,FOROF:150,FORFROM:151,SWITCH:152,Whens:153,ELSE:154,When:155,LEADING_WHEN:156,IfBlock:157,IF:158,POST_IF:159,UNARY:160,UNARY_MATH:161,"-":162,"+":163,"--":164,"++":165,"?":166,MATH:167,"**":168,SHIFT:169,COMPARE:170,"&":171,"^":172,"|":173,"&&":174,"||":175,"BIN?":176,RELATION:177,COMPOUND_ASSIGN:178,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",14:"STATEMENT",30:"YIELD",31:"FROM",33:"INDENT",34:"OUTDENT",36:"IDENTIFIER",38:"PROPERTY",40:"NUMBER",42:"STRING",43:"STRING_START",44:"STRING_END",46:"REGEX",47:"REGEX_START",48:"REGEX_END",50:"JS",51:"UNDEFINED",52:"NULL",53:"BOOL",54:"INFINITY",55:"NAN",57:"=",60:":",63:"RETURN",64:"AWAIT",65:"HERECOMMENT",66:"PARAM_START",68:"PARAM_END",70:"->",71:"=>",73:",",76:"...",86:"SUPER",87:".",88:"INDEX_START",89:"INDEX_END",90:"?.",91:"::",92:"?::",95:"INDEX_SOAK",97:"{",99:"}",100:"CLASS",101:"EXTENDS",102:"IMPORT",107:"AS",108:"DEFAULT",109:"IMPORT_ALL",110:"EXPORT",112:"EXPORT_ALL",116:"FUNC_EXIST",117:"CALL_START",118:"CALL_END",120:"THIS",121:"@",122:"[",123:"]",125:"..",128:"TRY",130:"FINALLY",131:"CATCH",132:"THROW",133:"(",134:")",136:"WHILE",137:"WHEN",138:"UNTIL",140:"LOOP",142:"FOR",143:"BY",147:"OWN",149:"FORIN",150:"FOROF",151:"FORFROM",152:"SWITCH",154:"ELSE",156:"LEADING_WHEN",158:"IF",159:"POST_IF",160:"UNARY",161:"UNARY_MATH",162:"-",163:"+",164:"--",165:"++",166:"?",167:"MATH",168:"**",169:"SHIFT",170:"COMPARE",171:"&",172:"^",173:"|",174:"&&",175:"||",176:"BIN?",177:"RELATION",178:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[29,1],[29,2],[29,3],[32,2],[32,3],[35,1],[37,1],[39,1],[39,1],[41,1],[41,3],[45,1],[45,3],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[21,3],[21,4],[21,5],[58,1],[58,3],[58,5],[58,3],[58,5],[58,1],[61,1],[61,1],[61,1],[59,1],[59,1],[12,2],[12,1],[10,3],[10,2],[11,3],[11,2],[13,1],[19,5],[19,2],[69,1],[69,1],[72,0],[72,1],[67,0],[67,1],[67,3],[67,4],[67,6],[74,1],[74,2],[74,3],[74,1],[75,1],[75,1],[75,1],[75,1],[79,2],[80,1],[80,2],[80,2],[80,1],[56,1],[56,1],[56,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[85,3],[85,4],[81,2],[81,2],[81,2],[81,2],[81,1],[81,1],[93,3],[93,2],[94,1],[94,1],[78,4],[98,0],[98,1],[98,3],[98,4],[98,6],[27,1],[27,2],[27,3],[27,4],[27,2],[27,3],[27,4],[27,5],[15,2],[15,4],[15,4],[15,5],[15,7],[15,6],[15,9],[105,1],[105,3],[105,4],[105,4],[105,6],[106,1],[106,3],[106,1],[106,3],[103,1],[104,3],[16,3],[16,5],[16,2],[16,4],[16,5],[16,6],[16,3],[16,4],[16,7],[111,1],[111,3],[111,4],[111,4],[111,6],[113,1],[113,3],[113,3],[113,1],[113,3],[18,3],[18,3],[18,3],[18,3],[114,0],[114,1],[115,2],[115,4],[84,1],[84,1],[62,2],[77,2],[77,4],[124,1],[124,1],[83,5],[96,3],[96,2],[96,2],[96,1],[119,1],[119,3],[119,4],[119,4],[119,6],[126,1],[126,1],[126,1],[127,1],[127,3],[23,2],[23,3],[23,4],[23,5],[129,3],[129,3],[129,2],[28,2],[82,3],[82,5],[135,2],[135,4],[135,2],[135,4],[24,2],[24,2],[24,2],[24,1],[139,2],[139,2],[25,2],[25,2],[25,2],[141,2],[141,4],[141,2],[144,2],[144,3],[148,1],[148,1],[148,1],[148,1],[146,1],[146,3],[145,2],[145,2],[145,4],[145,4],[145,4],[145,6],[145,6],[145,2],[145,4],[26,5],[26,7],[26,4],[26,6],[153,1],[153,2],[155,3],[155,4],[157,3],[157,5],[22,1],[22,3],[22,3],[22,3],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,2],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,3],[20,5],[20,4]],performAction:function(vt,bt,$t,Tt,_t,Lt,Nt){var Ft=Lt.length-1;switch(_t){case 1:return this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Block);break;case 2:return this.$=Lt[Ft];break;case 3:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(Tt.Block.wrap([Lt[Ft]]));break;case 4:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(Lt[Ft-2].push(Lt[Ft]));break;case 5:this.$=Lt[Ft-1];break;case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 37:case 42:case 44:case 58:case 59:case 60:case 61:case 62:case 63:case 75:case 76:case 86:case 87:case 88:case 89:case 94:case 95:case 98:case 102:case 103:case 111:case 192:case 193:case 195:case 225:case 226:case 244:case 250:this.$=Lt[Ft];break;case 13:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.StatementLiteral(Lt[Ft]));break;case 29:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Op(Lt[Ft],new Tt.Value(new Tt.Literal(""))));break;case 30:case 254:case 255:case 258:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Op(Lt[Ft-1],Lt[Ft]));break;case 31:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Op(Lt[Ft-2].concat(Lt[Ft-1]),Lt[Ft]));break;case 32:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Block);break;case 33:case 112:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(Lt[Ft-1]);break;case 34:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.IdentifierLiteral(Lt[Ft]));break;case 35:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.PropertyName(Lt[Ft]));break;case 36:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.NumberLiteral(Lt[Ft]));break;case 38:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.StringLiteral(Lt[Ft]));break;case 39:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.StringWithInterpolations(Lt[Ft-1]));break;case 40:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.RegexLiteral(Lt[Ft]));break;case 41:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.RegexWithInterpolations(Lt[Ft-1].args));break;case 43:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.PassthroughLiteral(Lt[Ft]));break;case 45:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.UndefinedLiteral);break;case 46:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.NullLiteral);break;case 47:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.BooleanLiteral(Lt[Ft]));break;case 48:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.InfinityLiteral(Lt[Ft]));break;case 49:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.NaNLiteral);break;case 50:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Assign(Lt[Ft-2],Lt[Ft]));break;case 51:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.Assign(Lt[Ft-3],Lt[Ft]));break;case 52:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.Assign(Lt[Ft-4],Lt[Ft-1]));break;case 53:case 91:case 96:case 97:case 99:case 100:case 101:case 227:case 228:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Value(Lt[Ft]));break;case 54:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Assign(Tt.addLocationDataFn(Nt[Ft-2])(new Tt.Value(Lt[Ft-2])),Lt[Ft],"object",{operatorToken:Tt.addLocationDataFn(Nt[Ft-1])(new Tt.Literal(Lt[Ft-1]))}));break;case 55:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.Assign(Tt.addLocationDataFn(Nt[Ft-4])(new Tt.Value(Lt[Ft-4])),Lt[Ft-1],"object",{operatorToken:Tt.addLocationDataFn(Nt[Ft-3])(new Tt.Literal(Lt[Ft-3]))}));break;case 56:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Assign(Tt.addLocationDataFn(Nt[Ft-2])(new Tt.Value(Lt[Ft-2])),Lt[Ft],null,{operatorToken:Tt.addLocationDataFn(Nt[Ft-1])(new Tt.Literal(Lt[Ft-1]))}));break;case 57:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.Assign(Tt.addLocationDataFn(Nt[Ft-4])(new Tt.Value(Lt[Ft-4])),Lt[Ft-1],null,{operatorToken:Tt.addLocationDataFn(Nt[Ft-3])(new Tt.Literal(Lt[Ft-3]))}));break;case 64:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Return(Lt[Ft]));break;case 65:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Return);break;case 66:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.YieldReturn(Lt[Ft]));break;case 67:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.YieldReturn);break;case 68:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.AwaitReturn(Lt[Ft]));break;case 69:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.AwaitReturn);break;case 70:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Comment(Lt[Ft]));break;case 71:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.Code(Lt[Ft-3],Lt[Ft],Lt[Ft-1]));break;case 72:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Code([],Lt[Ft],Lt[Ft-1]));break;case 73:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])("func");break;case 74:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])("boundfunc");break;case 77:case 117:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])([]);break;case 78:case 118:case 137:case 157:case 187:case 229:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])([Lt[Ft]]);break;case 79:case 119:case 138:case 158:case 188:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(Lt[Ft-2].concat(Lt[Ft]));break;case 80:case 120:case 139:case 159:case 189:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(Lt[Ft-3].concat(Lt[Ft]));break;case 81:case 121:case 141:case 161:case 191:this.$=Tt.addLocationDataFn(Nt[Ft-5],Nt[Ft])(Lt[Ft-5].concat(Lt[Ft-2]));break;case 82:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Param(Lt[Ft]));break;case 83:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Param(Lt[Ft-1],null,!0));break;case 84:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Param(Lt[Ft-2],Lt[Ft]));break;case 85:case 194:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Expansion);break;case 90:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Splat(Lt[Ft-1]));break;case 92:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(Lt[Ft-1].add(Lt[Ft]));break;case 93:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Value(Lt[Ft-1],[].concat(Lt[Ft])));break;case 104:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Super(Tt.addLocationDataFn(Nt[Ft])(new Tt.Access(Lt[Ft]))));break;case 105:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.Super(Tt.addLocationDataFn(Nt[Ft-1])(new Tt.Index(Lt[Ft-1]))));break;case 106:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Access(Lt[Ft]));break;case 107:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Access(Lt[Ft],"soak"));break;case 108:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])([Tt.addLocationDataFn(Nt[Ft-1])(new Tt.Access(new Tt.PropertyName("prototype"))),Tt.addLocationDataFn(Nt[Ft])(new Tt.Access(Lt[Ft]))]);break;case 109:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])([Tt.addLocationDataFn(Nt[Ft-1])(new Tt.Access(new Tt.PropertyName("prototype"),"soak")),Tt.addLocationDataFn(Nt[Ft])(new Tt.Access(Lt[Ft]))]);break;case 110:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Access(new Tt.PropertyName("prototype")));break;case 113:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(Tt.extend(Lt[Ft],{soak:!0}));break;case 114:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Index(Lt[Ft]));break;case 115:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Slice(Lt[Ft]));break;case 116:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.Obj(Lt[Ft-2],Lt[Ft-3].generated));break;case 122:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Class);break;case 123:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Class(null,null,Lt[Ft]));break;case 124:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Class(null,Lt[Ft]));break;case 125:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.Class(null,Lt[Ft-1],Lt[Ft]));break;case 126:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Class(Lt[Ft]));break;case 127:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Class(Lt[Ft-1],null,Lt[Ft]));break;case 128:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.Class(Lt[Ft-2],Lt[Ft]));break;case 129:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.Class(Lt[Ft-3],Lt[Ft-1],Lt[Ft]));break;case 130:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.ImportDeclaration(null,Lt[Ft]));break;case 131:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.ImportDeclaration(new Tt.ImportClause(Lt[Ft-2],null),Lt[Ft]));break;case 132:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.ImportDeclaration(new Tt.ImportClause(null,Lt[Ft-2]),Lt[Ft]));break;case 133:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.ImportDeclaration(new Tt.ImportClause(null,new Tt.ImportSpecifierList([])),Lt[Ft]));break;case 134:this.$=Tt.addLocationDataFn(Nt[Ft-6],Nt[Ft])(new Tt.ImportDeclaration(new Tt.ImportClause(null,new Tt.ImportSpecifierList(Lt[Ft-4])),Lt[Ft]));break;case 135:this.$=Tt.addLocationDataFn(Nt[Ft-5],Nt[Ft])(new Tt.ImportDeclaration(new Tt.ImportClause(Lt[Ft-4],Lt[Ft-2]),Lt[Ft]));break;case 136:this.$=Tt.addLocationDataFn(Nt[Ft-8],Nt[Ft])(new Tt.ImportDeclaration(new Tt.ImportClause(Lt[Ft-7],new Tt.ImportSpecifierList(Lt[Ft-4])),Lt[Ft]));break;case 140:case 160:case 174:case 190:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(Lt[Ft-2]);break;case 142:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.ImportSpecifier(Lt[Ft]));break;case 143:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.ImportSpecifier(Lt[Ft-2],Lt[Ft]));break;case 144:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.ImportSpecifier(new Tt.Literal(Lt[Ft])));break;case 145:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.ImportSpecifier(new Tt.Literal(Lt[Ft-2]),Lt[Ft]));break;case 146:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.ImportDefaultSpecifier(Lt[Ft]));break;case 147:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.ImportNamespaceSpecifier(new Tt.Literal(Lt[Ft-2]),Lt[Ft]));break;case 148:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.ExportNamedDeclaration(new Tt.ExportSpecifierList([])));break;case 149:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.ExportNamedDeclaration(new Tt.ExportSpecifierList(Lt[Ft-2])));break;case 150:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.ExportNamedDeclaration(Lt[Ft]));break;case 151:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.ExportNamedDeclaration(new Tt.Assign(Lt[Ft-2],Lt[Ft],null,{moduleDeclaration:"export"})));break;case 152:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.ExportNamedDeclaration(new Tt.Assign(Lt[Ft-3],Lt[Ft],null,{moduleDeclaration:"export"})));break;case 153:this.$=Tt.addLocationDataFn(Nt[Ft-5],Nt[Ft])(new Tt.ExportNamedDeclaration(new Tt.Assign(Lt[Ft-4],Lt[Ft-1],null,{moduleDeclaration:"export"})));break;case 154:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.ExportDefaultDeclaration(Lt[Ft]));break;case 155:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.ExportAllDeclaration(new Tt.Literal(Lt[Ft-2]),Lt[Ft]));break;case 156:this.$=Tt.addLocationDataFn(Nt[Ft-6],Nt[Ft])(new Tt.ExportNamedDeclaration(new Tt.ExportSpecifierList(Lt[Ft-4]),Lt[Ft]));break;case 162:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.ExportSpecifier(Lt[Ft]));break;case 163:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.ExportSpecifier(Lt[Ft-2],Lt[Ft]));break;case 164:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.ExportSpecifier(Lt[Ft-2],new Tt.Literal(Lt[Ft])));break;case 165:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.ExportSpecifier(new Tt.Literal(Lt[Ft])));break;case 166:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.ExportSpecifier(new Tt.Literal(Lt[Ft-2]),Lt[Ft]));break;case 167:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.TaggedTemplateCall(Lt[Ft-2],Lt[Ft],Lt[Ft-1]));break;case 168:case 169:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Call(Lt[Ft-2],Lt[Ft],Lt[Ft-1]));break;case 170:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.SuperCall(Tt.addLocationDataFn(Nt[Ft-2])(new Tt.Super),Lt[Ft],Lt[Ft-1]));break;case 171:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(!1);break;case 172:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(!0);break;case 173:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])([]);break;case 175:case 176:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Value(new Tt.ThisLiteral()));break;case 177:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Value(Tt.addLocationDataFn(Nt[Ft-1])(new Tt.ThisLiteral),[Tt.addLocationDataFn(Nt[Ft])(new Tt.Access(Lt[Ft]))],"this"));break;case 178:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Arr([]));break;case 179:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.Arr(Lt[Ft-2]));break;case 180:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])("inclusive");break;case 181:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])("exclusive");break;case 182:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.Range(Lt[Ft-3],Lt[Ft-1],Lt[Ft-2]));break;case 183:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Range(Lt[Ft-2],Lt[Ft],Lt[Ft-1]));break;case 184:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Range(Lt[Ft-1],null,Lt[Ft]));break;case 185:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Range(null,Lt[Ft],Lt[Ft-1]));break;case 186:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(new Tt.Range(null,null,Lt[Ft]));break;case 196:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])([].concat(Lt[Ft-2],Lt[Ft]));break;case 197:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Try(Lt[Ft]));break;case 198:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Try(Lt[Ft-1],Lt[Ft][0],Lt[Ft][1]));break;case 199:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.Try(Lt[Ft-2],null,null,Lt[Ft]));break;case 200:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.Try(Lt[Ft-3],Lt[Ft-2][0],Lt[Ft-2][1],Lt[Ft]));break;case 201:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])([Lt[Ft-1],Lt[Ft]]);break;case 202:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])([Tt.addLocationDataFn(Nt[Ft-1])(new Tt.Value(Lt[Ft-1])),Lt[Ft]]);break;case 203:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])([null,Lt[Ft]]);break;case 204:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Throw(Lt[Ft]));break;case 205:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Parens(Lt[Ft-1]));break;case 206:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.Parens(Lt[Ft-2]));break;case 207:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.While(Lt[Ft]));break;case 208:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.While(Lt[Ft-2],{guard:Lt[Ft]}));break;case 209:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.While(Lt[Ft],{invert:!0}));break;case 210:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.While(Lt[Ft-2],{invert:!0,guard:Lt[Ft]}));break;case 211:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(Lt[Ft-1].addBody(Lt[Ft]));break;case 212:case 213:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(Lt[Ft].addBody(Tt.addLocationDataFn(Nt[Ft-1])(Tt.Block.wrap([Lt[Ft-1]]))));break;case 214:this.$=Tt.addLocationDataFn(Nt[Ft],Nt[Ft])(Lt[Ft]);break;case 215:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.While(Tt.addLocationDataFn(Nt[Ft-1])(new Tt.BooleanLiteral("true"))).addBody(Lt[Ft]));break;case 216:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.While(Tt.addLocationDataFn(Nt[Ft-1])(new Tt.BooleanLiteral("true"))).addBody(Tt.addLocationDataFn(Nt[Ft])(Tt.Block.wrap([Lt[Ft]]))));break;case 217:case 218:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.For(Lt[Ft-1],Lt[Ft]));break;case 219:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.For(Lt[Ft],Lt[Ft-1]));break;case 220:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])({source:Tt.addLocationDataFn(Nt[Ft])(new Tt.Value(Lt[Ft]))});break;case 221:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])({source:Tt.addLocationDataFn(Nt[Ft-2])(new Tt.Value(Lt[Ft-2])),step:Lt[Ft]});break;case 222:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(function(){return Lt[Ft].own=Lt[Ft-1].own,Lt[Ft].ownTag=Lt[Ft-1].ownTag,Lt[Ft].name=Lt[Ft-1][0],Lt[Ft].index=Lt[Ft-1][1],Lt[Ft]}());break;case 223:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(Lt[Ft]);break;case 224:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(function(){return Lt[Ft].own=!0,Lt[Ft].ownTag=Tt.addLocationDataFn(Nt[Ft-1])(new Tt.Literal(Lt[Ft-1])),Lt[Ft]}());break;case 230:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])([Lt[Ft-2],Lt[Ft]]);break;case 231:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])({source:Lt[Ft]});break;case 232:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])({source:Lt[Ft],object:!0});break;case 233:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])({source:Lt[Ft-2],guard:Lt[Ft]});break;case 234:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])({source:Lt[Ft-2],guard:Lt[Ft],object:!0});break;case 235:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])({source:Lt[Ft-2],step:Lt[Ft]});break;case 236:this.$=Tt.addLocationDataFn(Nt[Ft-5],Nt[Ft])({source:Lt[Ft-4],guard:Lt[Ft-2],step:Lt[Ft]});break;case 237:this.$=Tt.addLocationDataFn(Nt[Ft-5],Nt[Ft])({source:Lt[Ft-4],step:Lt[Ft-2],guard:Lt[Ft]});break;case 238:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])({source:Lt[Ft],from:!0});break;case 239:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])({source:Lt[Ft-2],guard:Lt[Ft],from:!0});break;case 240:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.Switch(Lt[Ft-3],Lt[Ft-1]));break;case 241:this.$=Tt.addLocationDataFn(Nt[Ft-6],Nt[Ft])(new Tt.Switch(Lt[Ft-5],Lt[Ft-3],Lt[Ft-1]));break;case 242:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.Switch(null,Lt[Ft-1]));break;case 243:this.$=Tt.addLocationDataFn(Nt[Ft-5],Nt[Ft])(new Tt.Switch(null,Lt[Ft-3],Lt[Ft-1]));break;case 245:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(Lt[Ft-1].concat(Lt[Ft]));break;case 246:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])([[Lt[Ft-1],Lt[Ft]]]);break;case 247:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])([[Lt[Ft-2],Lt[Ft-1]]]);break;case 248:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.If(Lt[Ft-1],Lt[Ft],{type:Lt[Ft-2]}));break;case 249:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(Lt[Ft-4].addElse(Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.If(Lt[Ft-1],Lt[Ft],{type:Lt[Ft-2]}))));break;case 251:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(Lt[Ft-2].addElse(Lt[Ft]));break;case 252:case 253:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.If(Lt[Ft],Tt.addLocationDataFn(Nt[Ft-2])(Tt.Block.wrap([Lt[Ft-2]])),{type:Lt[Ft-1],statement:!0}));break;case 256:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Op("-",Lt[Ft]));break;case 257:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Op("+",Lt[Ft]));break;case 259:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Op("--",Lt[Ft]));break;case 260:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Op("++",Lt[Ft]));break;case 261:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Op("--",Lt[Ft-1],null,!0));break;case 262:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Op("++",Lt[Ft-1],null,!0));break;case 263:this.$=Tt.addLocationDataFn(Nt[Ft-1],Nt[Ft])(new Tt.Existence(Lt[Ft-1]));break;case 264:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Op("+",Lt[Ft-2],Lt[Ft]));break;case 265:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Op("-",Lt[Ft-2],Lt[Ft]));break;case 266:case 267:case 268:case 269:case 270:case 271:case 272:case 273:case 274:case 275:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Op(Lt[Ft-1],Lt[Ft-2],Lt[Ft]));break;case 276:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(function(){return"!"===Lt[Ft-1].charAt(0)?new Tt.Op(Lt[Ft-1].slice(1),Lt[Ft-2],Lt[Ft]).invert():new Tt.Op(Lt[Ft-1],Lt[Ft-2],Lt[Ft])}());break;case 277:this.$=Tt.addLocationDataFn(Nt[Ft-2],Nt[Ft])(new Tt.Assign(Lt[Ft-2],Lt[Ft],Lt[Ft-1]));break;case 278:this.$=Tt.addLocationDataFn(Nt[Ft-4],Nt[Ft])(new Tt.Assign(Lt[Ft-4],Lt[Ft-1],Lt[Ft-3]));break;case 279:this.$=Tt.addLocationDataFn(Nt[Ft-3],Nt[Ft])(new Tt.Assign(Lt[Ft-3],Lt[Ft],Lt[Ft-2]));}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:25,11:26,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:g,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:R,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{1:[3]},{1:[2,2],6:se},f(de,[2,3]),f(de,[2,6],{144:80,135:105,141:106,136:J,138:K,142:Q,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(de,[2,7],{144:80,135:108,141:109,136:J,138:K,142:Q,159:Ce}),f(de,[2,8]),f(De,[2,16],{114:110,81:111,93:117,42:Ee,43:Ee,117:Ee,87:xe,88:Ie,90:Se,91:Re,92:Ae,95:Oe,116:Pe}),f(De,[2,17],{93:117,114:120,81:121,87:xe,88:Ie,90:Se,91:Re,92:Ae,95:Oe,116:Pe,117:Ee}),f(De,[2,18]),f(De,[2,19]),f(De,[2,20]),f(De,[2,21]),f(De,[2,22]),f(De,[2,23]),f(De,[2,24]),f(De,[2,25]),f(De,[2,26]),f(De,[2,27]),f(De,[2,28]),f(we,[2,11]),f(we,[2,12]),f(we,[2,13]),f(we,[2,14]),f(we,[2,15]),f(de,[2,9]),f(de,[2,10]),f(je,Me,{57:[1,122]}),f(je,[2,99]),f(je,[2,100]),f(je,[2,101]),f(je,[2,102]),f(je,[2,103]),{87:[1,124],88:[1,125],114:123,116:Pe,117:Ee},f([6,33,68,73],Ue,{67:126,74:127,75:128,35:130,62:131,77:132,78:133,36:y,76:Ve,97:U,121:Be,122:He}),{32:136,33:Ge},{7:138,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:142,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:143,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:144,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:145,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:[1,146],64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{17:148,18:149,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:150,62:74,77:57,78:58,80:147,82:29,83:30,84:31,85:32,86:M,97:U,120:G,121:Y,122:X,133:z},{17:148,18:149,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:150,62:74,77:57,78:58,80:151,82:29,83:30,84:31,85:32,86:M,97:U,120:G,121:Y,122:X,133:z},f(We,qe,{164:[1,152],165:[1,153],178:[1,154]}),f(De,[2,250],{154:[1,155]}),{32:156,33:Ge},{32:157,33:Ge},f(De,[2,214]),{32:158,33:Ge},{7:159,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:[1,160],35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(ze,[2,122],{49:28,82:29,83:30,84:31,85:32,77:57,78:58,39:59,45:61,35:73,62:74,41:83,17:148,18:149,56:150,32:161,80:163,33:Ge,36:y,40:b,42:T,43:_,46:L,47:N,50:F,51:C,52:D,53:E,54:x,55:I,86:M,97:U,101:[1,162],120:G,121:Y,122:X,133:z}),{7:164,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f([1,6,34,44,134,136,138,142,159,166,167,168,169,170,171,172,173,174,175,176,177],Je,{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,7:165,14:h,30:Ye,31:Ke,36:y,40:b,42:T,43:_,46:L,47:N,50:F,51:C,52:D,53:E,54:x,55:I,63:[1,167],64:Xe,65:A,66:O,70:P,71:w,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,140:Z,152:ee,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le}),f(we,Ze,{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,7:168,14:h,30:Ye,36:y,40:b,42:T,43:_,46:L,47:N,50:F,51:C,52:D,53:E,54:x,55:I,63:S,64:Xe,65:A,66:O,70:P,71:w,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,140:Z,152:ee,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le}),f([1,6,33,34,44,73,99,134,136,138,142,159],[2,70]),{35:173,36:y,41:169,42:T,43:_,97:[1,172],103:170,104:171,109:Qe},{27:176,35:177,36:y,97:[1,175],100:V,108:[1,178],112:[1,179]},f(We,[2,96]),f(We,[2,97]),f(je,[2,42]),f(je,[2,43]),f(je,[2,44]),f(je,[2,45]),f(je,[2,46]),f(je,[2,47]),f(je,[2,48]),f(je,[2,49]),{4:180,5:3,7:4,8:5,9:6,10:25,11:26,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:g,33:[1,181],35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:R,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:182,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:ea,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,76:aa,77:57,78:58,79:187,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,119:184,120:G,121:Y,122:X,123:ta,126:185,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(je,[2,175]),f(je,[2,176],{37:189,38:oa}),{33:[2,73]},{33:[2,74]},f(na,[2,91]),f(na,[2,94]),{7:191,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:192,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:193,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:195,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,32:194,33:Ge,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{35:200,36:y,62:201,77:202,78:203,83:196,97:U,121:Be,122:X,146:197,147:[1,198],148:199},{145:204,149:[1,205],150:[1,206],151:[1,207]},f([6,33,73,99],ra,{41:83,98:208,58:209,59:210,61:211,13:212,39:213,35:214,37:215,62:216,36:y,38:oa,40:b,42:T,43:_,65:A,121:Be}),f(ia,[2,36]),f(ia,[2,37]),f(je,[2,40]),{17:148,18:217,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:150,62:74,77:57,78:58,80:218,82:29,83:30,84:31,85:32,86:M,97:U,120:G,121:Y,122:X,133:z},f([1,6,31,33,34,42,43,44,57,60,68,73,76,87,88,89,90,91,92,95,99,101,107,116,117,118,123,125,134,136,137,138,142,143,149,150,151,159,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],[2,34]),f(la,[2,38]),{4:219,5:3,7:4,8:5,9:6,10:25,11:26,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:g,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:R,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(de,[2,5],{7:4,8:5,9:6,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,10:25,11:26,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,5:220,14:h,30:g,36:y,40:b,42:T,43:_,46:L,47:N,50:F,51:C,52:D,53:E,54:x,55:I,63:S,64:R,65:A,66:O,70:P,71:w,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,136:J,138:K,140:Z,142:Q,152:ee,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le}),f(De,[2,263]),{7:221,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:222,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:223,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:224,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:225,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:226,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:227,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:228,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:229,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:230,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:231,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:232,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:233,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:234,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(De,[2,213]),f(De,[2,218]),{7:235,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(De,[2,212]),f(De,[2,217]),{41:236,42:T,43:_,115:237,117:sa},f(na,[2,92]),f(da,[2,172]),{37:239,38:oa},{37:240,38:oa},f(na,[2,110],{37:241,38:oa}),{37:242,38:oa},f(na,[2,111]),{7:244,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,76:ca,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,94:243,96:245,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,124:246,125:pa,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{88:Ie,93:249,95:Oe},{115:250,117:sa},f(na,[2,93]),{6:[1,252],7:251,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:[1,253],35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{115:254,117:sa},{37:255,38:oa},{7:256,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f([6,33],ua,{72:259,68:[1,257],73:ma}),f(fa,[2,78]),f(fa,[2,82],{57:[1,261],76:[1,260]}),f(fa,[2,85]),f(ha,[2,86]),f(ha,[2,87]),f(ha,[2,88]),f(ha,[2,89]),{37:189,38:oa},{7:262,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:ea,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,76:aa,77:57,78:58,79:187,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,119:184,120:G,121:Y,122:X,123:ta,126:185,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(De,[2,72]),{4:264,5:3,7:4,8:5,9:6,10:25,11:26,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:g,34:[1,263],35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:R,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(ga,[2,254],{144:80,135:105,141:106,166:fe}),{7:145,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{135:108,136:J,138:K,141:109,142:Q,144:80,159:Ce},f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,166,167,168,169,170,171,172,173,174,175,176,177],Je,{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,7:165,14:h,30:Ye,31:Ke,36:y,40:b,42:T,43:_,46:L,47:N,50:F,51:C,52:D,53:E,54:x,55:I,63:S,64:Xe,65:A,66:O,70:P,71:w,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,140:Z,152:ee,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le}),f(ya,[2,255],{144:80,135:105,141:106,166:fe,168:ge}),f(ya,[2,256],{144:80,135:105,141:106,166:fe,168:ge}),f(ya,[2,257],{144:80,135:105,141:106,166:fe,168:ge}),f(ga,[2,258],{144:80,135:105,141:106,166:fe}),f(de,[2,69],{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,7:265,14:h,30:Ye,36:y,40:b,42:T,43:_,46:L,47:N,50:F,51:C,52:D,53:E,54:x,55:I,63:S,64:Xe,65:A,66:O,70:P,71:w,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,136:Ze,138:Ze,142:Ze,159:Ze,140:Z,152:ee,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le}),f(De,[2,259],{42:qe,43:qe,87:qe,88:qe,90:qe,91:qe,92:qe,95:qe,116:qe,117:qe}),f(da,Ee,{114:110,81:111,93:117,87:xe,88:Ie,90:Se,91:Re,92:Ae,95:Oe,116:Pe}),{81:121,87:xe,88:Ie,90:Se,91:Re,92:Ae,93:117,95:Oe,114:120,116:Pe,117:Ee},f(ka,Me),f(De,[2,260],{42:qe,43:qe,87:qe,88:qe,90:qe,91:qe,92:qe,95:qe,116:qe,117:qe}),f(De,[2,261]),f(De,[2,262]),{6:[1,268],7:266,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:[1,267],35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{32:269,33:Ge,158:[1,270]},f(De,[2,197],{129:271,130:[1,272],131:[1,273]}),f(De,[2,211]),f(De,[2,219]),{33:[1,274],135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},{153:275,155:276,156:va},f(De,[2,123]),{7:278,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(ze,[2,126],{32:279,33:Ge,42:qe,43:qe,87:qe,88:qe,90:qe,91:qe,92:qe,95:qe,116:qe,117:qe,101:[1,280]}),f(ba,[2,204],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(ba,[2,30],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{7:281,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(de,[2,67],{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,7:282,14:h,30:Ye,36:y,40:b,42:T,43:_,46:L,47:N,50:F,51:C,52:D,53:E,54:x,55:I,63:S,64:Xe,65:A,66:O,70:P,71:w,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,136:Ze,138:Ze,142:Ze,159:Ze,140:Z,152:ee,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le}),f(we,$a,{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(we,[2,130]),{31:[1,283],73:[1,284]},{31:[1,285]},{33:Ta,35:290,36:y,99:[1,286],105:287,106:288,108:_a},f([31,73],[2,146]),{107:[1,292]},{33:La,35:297,36:y,99:[1,293],108:Na,111:294,113:295},f(we,[2,150]),{57:[1,299]},{7:300,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{31:[1,301]},{6:se,134:[1,302]},{4:303,5:3,7:4,8:5,9:6,10:25,11:26,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:g,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:R,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f([6,33,73,123],Fa,{144:80,135:105,141:106,124:304,76:[1,305],125:pa,136:J,138:K,142:Q,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(Ca,[2,178]),f([6,33,123],ua,{72:306,73:Da}),f(Ea,[2,187]),{7:262,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:ea,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,76:aa,77:57,78:58,79:187,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,119:308,120:G,121:Y,122:X,126:185,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(Ea,[2,193]),f(Ea,[2,194]),f(xa,[2,177]),f(xa,[2,35]),{32:309,33:Ge,135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},f(Ia,[2,207],{144:80,135:105,141:106,136:J,137:[1,310],138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(Ia,[2,209],{144:80,135:105,141:106,136:J,137:[1,311],138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(De,[2,215]),f(Sa,[2,216],{144:80,135:105,141:106,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,159,162,163,166,167,168,169,170,171,172,173,174,175,176,177],[2,220],{143:[1,312]}),f(Ra,[2,223]),{35:200,36:y,62:201,77:202,78:203,97:U,121:Be,122:He,146:313,148:199},f(Ra,[2,229],{73:[1,314]}),f(Aa,[2,225]),f(Aa,[2,226]),f(Aa,[2,227]),f(Aa,[2,228]),f(De,[2,222]),{7:315,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:316,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:317,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(Oa,ua,{72:318,73:Pa}),f(wa,[2,118]),f(wa,[2,53],{60:[1,320]}),f(ja,[2,62],{57:[1,321]}),f(wa,[2,58]),f(ja,[2,63]),f(Ma,[2,59]),f(Ma,[2,60]),f(Ma,[2,61]),{48:[1,322],81:121,87:xe,88:Ie,90:Se,91:Re,92:Ae,93:117,95:Oe,114:120,116:Pe,117:Ee},f(ka,qe),{6:se,44:[1,323]},f(de,[2,4]),f(Ua,[2,264],{144:80,135:105,141:106,166:fe,167:he,168:ge}),f(Ua,[2,265],{144:80,135:105,141:106,166:fe,167:he,168:ge}),f(ya,[2,266],{144:80,135:105,141:106,166:fe,168:ge}),f(ya,[2,267],{144:80,135:105,141:106,166:fe,168:ge}),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,169,170,171,172,173,174,175,176,177],[2,268],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge}),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,170,171,172,173,174,175,176],[2,269],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,177:Fe}),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,171,172,173,174,175,176],[2,270],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,177:Fe}),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,172,173,174,175,176],[2,271],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,177:Fe}),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,173,174,175,176],[2,272],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,177:Fe}),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,174,175,176],[2,273],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,177:Fe}),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,175,176],[2,274],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,177:Fe}),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,176],[2,275],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,177:Fe}),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,143,159,170,171,172,173,174,175,176,177],[2,276],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye}),f(Sa,[2,253],{144:80,135:105,141:106,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(Sa,[2,252],{144:80,135:105,141:106,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(Va,[2,167]),f(Va,[2,168]),{7:262,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:ea,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,76:aa,77:57,78:58,79:187,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,118:[1,324],119:325,120:G,121:Y,122:X,126:185,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(na,[2,106]),f(na,[2,107]),f(na,[2,108]),f(na,[2,109]),{89:[1,326]},{76:ca,89:[2,114],124:327,125:pa,135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},{89:[2,115]},{7:328,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,89:[2,186],97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(Ba,[2,180]),f(Ba,Ha),f(na,[2,113]),f(Va,[2,169]),f(ba,[2,50],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{7:329,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:330,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(Va,[2,170]),f(je,[2,104]),{89:[1,331],135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},{69:332,70:P,71:w},f(Ga,Ya,{75:128,35:130,62:131,77:132,78:133,74:333,36:y,76:Ve,97:U,121:Be,122:He}),{6:Xa,33:Wa},f(fa,[2,83]),{7:336,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(Ea,Fa,{144:80,135:105,141:106,76:[1,337],136:J,138:K,142:Q,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(qa,[2,32]),{6:se,34:[1,338]},f(de,[2,68],{144:80,135:105,141:106,136:$a,138:$a,142:$a,159:$a,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(ba,[2,277],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{7:339,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:340,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(De,[2,251]),{7:341,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(De,[2,198],{130:[1,342]}),{32:343,33:Ge},{32:346,33:Ge,35:344,36:y,78:345,97:U},{153:347,155:276,156:va},{34:[1,348],154:[1,349],155:350,156:va},f(za,[2,244]),{7:352,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,127:351,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(Ja,[2,124],{144:80,135:105,141:106,32:353,33:Ge,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(De,[2,127]),{7:354,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(ba,[2,31],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(de,[2,66],{144:80,135:105,141:106,136:$a,138:$a,142:$a,159:$a,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{41:355,42:T,43:_},{97:[1,357],104:356,109:Qe},{41:358,42:T,43:_},{31:[1,359]},f(Oa,ua,{72:360,73:Ka}),f(wa,[2,137]),{33:Ta,35:290,36:y,105:362,106:288,108:_a},f(wa,[2,142],{107:[1,363]}),f(wa,[2,144],{107:[1,364]}),{35:365,36:y},f(we,[2,148]),f(Oa,ua,{72:366,73:Za}),f(wa,[2,157]),{33:La,35:297,36:y,108:Na,111:368,113:295},f(wa,[2,162],{107:[1,369]}),f(wa,[2,165],{107:[1,370]}),{6:[1,372],7:371,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:[1,373],35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(Qa,[2,154],{144:80,135:105,141:106,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{41:374,42:T,43:_},f(je,[2,205]),{6:se,34:[1,375]},{7:376,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f([14,30,36,40,42,43,46,47,50,51,52,53,54,55,63,64,65,66,70,71,86,97,100,102,110,120,121,122,128,132,133,136,138,140,142,152,158,160,161,162,163,164,165],Ha,{6:et,33:et,73:et,123:et}),{6:at,33:tt,123:[1,377]},f([6,33,34,118,123],Ya,{17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,12:20,13:21,15:23,16:24,56:27,49:28,82:29,83:30,84:31,85:32,69:35,80:43,157:44,135:46,139:47,141:48,77:57,78:58,39:59,45:61,35:73,62:74,144:80,41:83,8:140,79:187,7:262,126:380,14:h,30:Ye,36:y,40:b,42:T,43:_,46:L,47:N,50:F,51:C,52:D,53:E,54:x,55:I,63:S,64:Xe,65:A,66:O,70:P,71:w,76:aa,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,136:J,138:K,140:Z,142:Q,152:ee,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le}),f(Ga,ua,{72:381,73:Da}),f(ot,[2,248]),{7:382,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:383,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:384,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(Ra,[2,224]),{35:200,36:y,62:201,77:202,78:203,97:U,121:Be,122:He,148:385},f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,138,142,159],[2,231],{144:80,135:105,141:106,137:[1,386],143:[1,387],162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(nt,[2,232],{144:80,135:105,141:106,137:[1,388],162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(nt,[2,238],{144:80,135:105,141:106,137:[1,389],162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{6:rt,33:it,99:[1,390]},f(st,Ya,{41:83,59:210,61:211,13:212,39:213,35:214,37:215,62:216,58:393,36:y,38:oa,40:b,42:T,43:_,65:A,121:Be}),{7:394,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:[1,395],35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:396,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:[1,397],35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(je,[2,41]),f(la,[2,39]),f(Va,[2,173]),f([6,33,118],ua,{72:398,73:Da}),f(na,[2,112]),{7:399,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,89:[2,184],97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{89:[2,185],135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},f(ba,[2,51],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{34:[1,400],135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},f(je,[2,105]),{32:401,33:Ge},f(fa,[2,79]),{35:130,36:y,62:131,74:402,75:128,76:Ve,77:132,78:133,97:U,121:Be,122:He},f(dt,Ue,{74:127,75:128,35:130,62:131,77:132,78:133,67:403,36:y,76:Ve,97:U,121:Be,122:He}),f(fa,[2,84],{144:80,135:105,141:106,136:J,138:K,142:Q,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(Ea,et),f(qa,[2,33]),{34:[1,404],135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},f(ba,[2,279],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{32:405,33:Ge,135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},{32:406,33:Ge},f(De,[2,199]),{32:407,33:Ge},{32:408,33:Ge},f(ct,[2,203]),{34:[1,409],154:[1,410],155:350,156:va},f(De,[2,242]),{32:411,33:Ge},f(za,[2,245]),{32:412,33:Ge,73:[1,413]},f(pt,[2,195],{144:80,135:105,141:106,136:J,138:K,142:Q,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(De,[2,125]),f(Ja,[2,128],{144:80,135:105,141:106,32:414,33:Ge,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(we,[2,131]),{31:[1,415]},{33:Ta,35:290,36:y,105:416,106:288,108:_a},f(we,[2,132]),{41:417,42:T,43:_},{6:ut,33:mt,99:[1,418]},f(st,Ya,{35:290,106:421,36:y,108:_a}),f(Ga,ua,{72:422,73:Ka}),{35:423,36:y},{35:424,36:y},{31:[2,147]},{6:ft,33:ht,99:[1,425]},f(st,Ya,{35:297,113:428,36:y,108:Na}),f(Ga,ua,{72:429,73:Za}),{35:430,36:y,108:[1,431]},{35:432,36:y},f(Qa,[2,151],{144:80,135:105,141:106,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{7:433,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:434,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(we,[2,155]),{134:[1,435]},{123:[1,436],135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},f(Ca,[2,179]),{7:262,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,76:aa,77:57,78:58,79:187,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,126:437,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:262,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,33:ea,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,76:aa,77:57,78:58,79:187,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,119:438,120:G,121:Y,122:X,126:185,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(Ea,[2,188]),{6:at,33:tt,34:[1,439]},f(Sa,[2,208],{144:80,135:105,141:106,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(Sa,[2,210],{144:80,135:105,141:106,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(Sa,[2,221],{144:80,135:105,141:106,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(Ra,[2,230]),{7:440,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:441,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:442,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:443,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(Ca,[2,116]),{13:212,35:214,36:y,37:215,38:oa,39:213,40:b,41:83,42:T,43:_,58:444,59:210,61:211,62:216,65:A,121:Be},f(dt,ra,{41:83,58:209,59:210,61:211,13:212,39:213,35:214,37:215,62:216,98:445,36:y,38:oa,40:b,42:T,43:_,65:A,121:Be}),f(wa,[2,119]),f(wa,[2,54],{144:80,135:105,141:106,136:J,138:K,142:Q,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{7:446,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(wa,[2,56],{144:80,135:105,141:106,136:J,138:K,142:Q,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{7:447,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{6:at,33:tt,118:[1,448]},{89:[2,183],135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},f(De,[2,52]),f(De,[2,71]),f(fa,[2,80]),f(Ga,ua,{72:449,73:ma}),f(De,[2,278]),f(ot,[2,249]),f(De,[2,200]),f(ct,[2,201]),f(ct,[2,202]),f(De,[2,240]),{32:450,33:Ge},{34:[1,451]},f(za,[2,246],{6:[1,452]}),{7:453,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},f(De,[2,129]),{41:454,42:T,43:_},f(Oa,ua,{72:455,73:Ka}),f(we,[2,133]),{31:[1,456]},{35:290,36:y,106:457,108:_a},{33:Ta,35:290,36:y,105:458,106:288,108:_a},f(wa,[2,138]),{6:ut,33:mt,34:[1,459]},f(wa,[2,143]),f(wa,[2,145]),f(we,[2,149],{31:[1,460]}),{35:297,36:y,108:Na,113:461},{33:La,35:297,36:y,108:Na,111:462,113:295},f(wa,[2,158]),{6:ft,33:ht,34:[1,463]},f(wa,[2,163]),f(wa,[2,164]),f(wa,[2,166]),f(Qa,[2,152],{144:80,135:105,141:106,136:J,138:K,142:Q,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),{34:[1,464],135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},f(je,[2,206]),f(je,[2,182]),f(Ea,[2,189]),f(Ga,ua,{72:465,73:Da}),f(Ea,[2,190]),f([1,6,33,34,44,68,73,76,89,99,118,123,125,134,136,137,138,142,159],[2,233],{144:80,135:105,141:106,143:[1,466],162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(nt,[2,235],{144:80,135:105,141:106,137:[1,467],162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(ba,[2,234],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(ba,[2,239],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(wa,[2,120]),f(Ga,ua,{72:468,73:Pa}),{34:[1,469],135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},{34:[1,470],135:105,136:J,138:K,141:106,142:Q,144:80,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe},f(Va,[2,174]),{6:Xa,33:Wa,34:[1,471]},{34:[1,472]},f(De,[2,243]),f(za,[2,247]),f(pt,[2,196],{144:80,135:105,141:106,136:J,138:K,142:Q,159:ce,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(we,[2,135]),{6:ut,33:mt,99:[1,473]},{41:474,42:T,43:_},f(wa,[2,139]),f(Ga,ua,{72:475,73:Ka}),f(wa,[2,140]),{41:476,42:T,43:_},f(wa,[2,159]),f(Ga,ua,{72:477,73:Za}),f(wa,[2,160]),f(we,[2,153]),{6:at,33:tt,34:[1,478]},{7:479,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{7:480,8:140,12:20,13:21,14:h,15:23,16:24,17:7,18:8,19:9,20:10,21:11,22:12,23:13,24:14,25:15,26:16,27:17,28:18,29:19,30:Ye,35:73,36:y,39:59,40:b,41:83,42:T,43:_,45:61,46:L,47:N,49:28,50:F,51:C,52:D,53:E,54:x,55:I,56:27,62:74,63:S,64:Xe,65:A,66:O,69:35,70:P,71:w,77:57,78:58,80:43,82:29,83:30,84:31,85:32,86:M,97:U,100:V,102:B,110:H,120:G,121:Y,122:X,128:W,132:q,133:z,135:46,136:J,138:K,139:47,140:Z,141:48,142:Q,144:80,152:ee,157:44,158:ae,160:te,161:oe,162:ne,163:re,164:ie,165:le},{6:rt,33:it,34:[1,481]},f(wa,[2,55]),f(wa,[2,57]),f(fa,[2,81]),f(De,[2,241]),{31:[1,482]},f(we,[2,134]),{6:ut,33:mt,34:[1,483]},f(we,[2,156]),{6:ft,33:ht,34:[1,484]},f(Ea,[2,191]),f(ba,[2,236],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(ba,[2,237],{144:80,135:105,141:106,162:pe,163:ue,166:fe,167:he,168:ge,169:ye,170:ke,171:ve,172:be,173:$e,174:Te,175:Le,176:Ne,177:Fe}),f(wa,[2,121]),{41:485,42:T,43:_},f(wa,[2,141]),f(wa,[2,161]),f(we,[2,136])],defaultActions:{71:[2,73],72:[2,74],245:[2,115],365:[2,147]},parseError:function(vt,bt){if(bt.recoverable)this.trace(vt);else{var $t=function _parseError(Tt,_t){this.message=Tt,this.hash=_t};throw $t.prototype=Error,new $t(vt,bt)}},parse:function(vt){var $t=this,Tt=[0],Lt=[null],Nt=[],Ft=this.table,Ct="",Dt=0,Et=0,xt=0,St=1,Rt=Nt.slice.call(arguments,1),At=Object.create(this.lexer),Ot={yy:{}};for(var Pt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Pt)&&(Ot.yy[Pt]=this.yy[Pt]);At.setInput(vt,Ot.yy),Ot.yy.lexer=At,Ot.yy.parser=this,"undefined"==typeof At.yylloc&&(At.yylloc={});var wt=At.yylloc;Nt.push(wt);var jt=At.options&&At.options.ranges;this.parseError="function"==typeof Ot.yy.parseError?Ot.yy.parseError:Object.getPrototypeOf(this).parseError;_token_stack:var Mt=function lex(){var Zt;return Zt=At.lex()||St,"number"!=typeof Zt&&(Zt=$t.symbols_[Zt]||Zt),Zt};for(var Xt={},Ut,Vt,Bt,Ht,Yt,Wt,qt,zt,Jt;;){if(Bt=Tt[Tt.length-1],this.defaultActions[Bt]?Ht=this.defaultActions[Bt]:((null===Ut||"undefined"==typeof Ut)&&(Ut=Mt()),Ht=Ft[Bt]&&Ft[Bt][Ut]),"undefined"==typeof Ht||!Ht.length||!Ht[0]){var Kt="";for(Wt in Jt=[],Ft[Bt])this.terminals_[Wt]&&Wt>2&&Jt.push("'"+this.terminals_[Wt]+"'");Kt=At.showPosition?"Parse error on line "+(Dt+1)+":\n"+At.showPosition()+"\nExpecting "+Jt.join(", ")+", got '"+(this.terminals_[Ut]||Ut)+"'":"Parse error on line "+(Dt+1)+": Unexpected "+(Ut==St?"end of input":"'"+(this.terminals_[Ut]||Ut)+"'"),this.parseError(Kt,{text:At.match,token:this.terminals_[Ut]||Ut,line:At.yylineno,loc:wt,expected:Jt})}if(Ht[0]instanceof Array&&1=ee?this.wrapInParentheses(Ta):Ta)}},{key:"compileRoot",value:function compileRoot($a){var Ta,_a,La,Na,Fa,Ca,Da,Ea,xa,Ia,Sa;for($a.indent=$a.bare?"":Oe,$a.level=oe,this.spaced=!0,$a.scope=new Fe(null,this,null,null==(xa=$a.referencedVars)?[]:xa),Ia=$a.locals||[],(Na=0,Fa=Ia.length);Na=ae?this.wrapInParentheses($a):$a}}]),va}(ue),t.StringLiteral=xe=function(ka){function va(){return _classCallCheck(this,va),_possibleConstructorReturn(this,(va.__proto__||Object.getPrototypeOf(va)).apply(this,arguments))}return _inherits(va,ka),va}(ne),t.RegexLiteral=$e=function(ka){function va(){return _classCallCheck(this,va),_possibleConstructorReturn(this,(va.__proto__||Object.getPrototypeOf(va)).apply(this,arguments))}return _inherits(va,ka),va}(ne),t.PassthroughLiteral=ke=function(ka){function va(){return _classCallCheck(this,va),_possibleConstructorReturn(this,(va.__proto__||Object.getPrototypeOf(va)).apply(this,arguments))}return _inherits(va,ka),va}(ne),t.IdentifierLiteral=U=function(){var ka=function(va){function ba(){return _classCallCheck(this,ba),_possibleConstructorReturn(this,(ba.__proto__||Object.getPrototypeOf(ba)).apply(this,arguments))}return _inherits(ba,va),_createClass(ba,[{key:"eachName",value:function eachName($a){return $a(this)}}]),ba}(ne);return ka.prototype.isAssignable=Ye,ka}(),t.PropertyName=ve=function(){var ka=function(va){function ba(){return _classCallCheck(this,ba),_possibleConstructorReturn(this,(ba.__proto__||Object.getPrototypeOf(ba)).apply(this,arguments))}return _inherits(ba,va),ba}(ne);return ka.prototype.isAssignable=Ye,ka}(),t.StatementLiteral=Ee=function(){var ka=function(va){function ba(){return _classCallCheck(this,ba),_possibleConstructorReturn(this,(ba.__proto__||Object.getPrototypeOf(ba)).apply(this,arguments))}return _inherits(ba,va),_createClass(ba,[{key:"jumps",value:function jumps($a){return"break"!==this.value||(null==$a?void 0:$a.loop)||(null==$a?void 0:$a.block)?"continue"!==this.value||null!=$a&&$a.loop?void 0:this:this}},{key:"compileNode",value:function compileNode(){return[this.makeCode(""+this.tab+this.value+";")]}}]),ba}(ne);return ka.prototype.isStatement=Ye,ka.prototype.makeReturn=Pe,ka}(),t.ThisLiteral=je=function(ka){function va(){return _classCallCheck(this,va),_possibleConstructorReturn(this,(va.__proto__||Object.getPrototypeOf(va)).call(this,"this"))}return _inherits(va,ka),_createClass(va,[{key:"compileNode",value:function compileNode(ba){var $a,Ta;return $a=(null==(Ta=ba.scope.method)?void 0:Ta.bound)?ba.scope.method.context:this.value,[this.makeCode($a)]}}]),va}(ne),t.UndefinedLiteral=Be=function(ka){function va(){return _classCallCheck(this,va),_possibleConstructorReturn(this,(va.__proto__||Object.getPrototypeOf(va)).call(this,"undefined"))}return _inherits(va,ka),_createClass(va,[{key:"compileNode",value:function compileNode(ba){return[this.makeCode(ba.level>=Z?"(void 0)":"void 0")]}}]),va}(ne),t.NullLiteral=pe=function(ka){function va(){return _classCallCheck(this,va),_possibleConstructorReturn(this,(va.__proto__||Object.getPrototypeOf(va)).call(this,"null"))}return _inherits(va,ka),va}(ne),t.BooleanLiteral=b=function(ka){function va(){return _classCallCheck(this,va),_possibleConstructorReturn(this,(va.__proto__||Object.getPrototypeOf(va)).apply(this,arguments))}return _inherits(va,ka),va}(ne),t.Return=Le=function(){var ka=function(va){function ba($a){_classCallCheck(this,ba);var Ta=_possibleConstructorReturn(this,(ba.__proto__||Object.getPrototypeOf(ba)).call(this));return Ta.expression=$a,Ta}return _inherits(ba,va),_createClass(ba,[{key:"compileToFragments",value:function compileToFragments($a,Ta){var _a,La;return _a=null==(La=this.expression)?void 0:La.makeReturn(),_a&&!(_a instanceof ba)?_a.compileToFragments($a,Ta):_get(ba.prototype.__proto__||Object.getPrototypeOf(ba.prototype),"compileToFragments",this).call(this,$a,Ta)}},{key:"compileNode",value:function compileNode($a){var Ta;return Ta=[],Ta.push(this.makeCode(this.tab+("return"+(this.expression?" ":"")))),this.expression&&(Ta=Ta.concat(this.expression.compileToFragments($a,te))),Ta.push(this.makeCode(";")),Ta}}]),ba}(g);return ka.prototype.children=["expression"],ka.prototype.isStatement=Ye,ka.prototype.makeReturn=Pe,ka.prototype.jumps=Pe,ka}(),t.YieldReturn=Xe=function(ka){function va(){return _classCallCheck(this,va),_possibleConstructorReturn(this,(va.__proto__||Object.getPrototypeOf(va)).apply(this,arguments))}return _inherits(va,ka),_createClass(va,[{key:"compileNode",value:function compileNode(ba){return null==ba.scope.parent&&this.error("yield can only occur inside functions"),_get(va.prototype.__proto__||Object.getPrototypeOf(va.prototype),"compileNode",this).call(this,ba)}}]),va}(Le),t.AwaitReturn=h=function(ka){function va(){return _classCallCheck(this,va),_possibleConstructorReturn(this,(va.__proto__||Object.getPrototypeOf(va)).apply(this,arguments))}return _inherits(va,ka),_createClass(va,[{key:"compileNode",value:function compileNode(ba){return null==ba.scope.parent&&this.error("await can only occur inside functions"),_get(va.prototype.__proto__||Object.getPrototypeOf(va.prototype),"compileNode",this).call(this,ba)}}]),va}(Le),t.Value=He=function(){var ka=function(va){function ba($a,Ta,_a){var Na=3this.properties.length&&!this.base.shouldCache()&&(null==La||!La.shouldCache()))?[this,this]:(Ta=new ba(this.base,this.properties.slice(0,-1)),Ta.shouldCache()&&(_a=new U($a.scope.freeVariable("base")),Ta=new ba(new ye(new f(_a,Ta)))),!La)?[Ta,_a]:(La.shouldCache()&&(Na=new U($a.scope.freeVariable("name")),La=new z(new f(Na,La.index)),Na=new z(Na)),[Ta.add(La),new ba(_a||Ta.base,[Na||La])])}},{key:"compileNode",value:function compileNode($a){var Ta,_a,La,Na,Fa;for(this.base.front=this.front,Fa=this.properties,Ta=this.base.compileToFragments($a,Fa.length?Z:null),Fa.length&&Ne.test(Qe(Ta))&&Ta.push(this.makeCode(".")),(_a=0,La=Fa.length);_aoe){var Fa=Na.cache($a,null,Ye),Ca=_slicedToArray(Fa,2);Na=Ca[0],Ta=Ca[1],La.push(Ta)}return La.unshift(Na),La.compileToFragments($a,$a.level===oe?$a.level:ee)}}]),ba}(T);return ka.prototype.children=T.prototype.children.concat(["expressions"]),ka}(),t.Super=Se=function(){var ka=function(va){function ba($a){_classCallCheck(this,ba);var Ta=_possibleConstructorReturn(this,(ba.__proto__||Object.getPrototypeOf(ba)).call(this));return Ta.accessor=$a,Ta}return _inherits(ba,va),_createClass(ba,[{key:"compileNode",value:function compileNode($a){var Ta,_a,La,Na;if(Ta=$a.scope.namedMethod(),(null==Ta?void 0:Ta.isMethod)||this.error("cannot use super outside of an instance method"),this.inCtor=!!Ta.ctor,!(this.inCtor||null!=this.accessor)){var Fa=Ta;_a=Fa.name,Na=Fa.variable,(_a.shouldCache()||_a instanceof z&&_a.index.isAssignable())&&(La=new U($a.scope.parent.freeVariable("name")),_a.index=new f(La,_a.index)),this.accessor=null==La?_a:new z(La)}return new He(new ne("super"),this.accessor?[this.accessor]:[]).compileToFragments($a)}}]),ba}(g);return ka.prototype.children=["accessor"],ka}(),t.RegexWithInterpolations=Te=function(ka){function va(){var ba=0"+this.equals,La=null==this.stepNum?Ea?(Ta=[this.fromNum,this.toNum],Na=Ta[0],Ra=Ta[1],Ta,Na<=Ra?xa+" "+Ra:Fa+" "+Ra):(_a=this.stepVar?this.stepVar+" > 0":this.fromVar+" <= "+this.toVar,_a+" ? "+xa+" "+this.toVar+" : "+Fa+" "+this.toVar):0=_Mathabs(this.fromNum-this.toNum))?(Sa=function(){Pa=[];for(var ja=Ra=this.fromNum,Ma=this.toNum;Ra<=Ma?ja<=Ma:ja>=Ma;Ra<=Ma?ja++:ja--)Pa.push(ja);return Pa}.apply(this),this.exclusive&&Sa.pop(),[this.makeCode("["+Sa.join(", ")+"]")]):(Ca=this.tab+Oe,Fa=$a.scope.freeVariable("i",{single:!0}),Oa=$a.scope.freeVariable("results"),Ia="\n"+Ca+Oa+" = [];",Ea?($a.index=Fa,_a=Qe(this.compileNode($a))):(wa=Fa+" = "+this.fromC+(this.toC===this.toVar?"":", "+this.toC),La=this.fromVar+" <= "+this.toVar,_a="var "+wa+"; "+La+" ? "+Fa+" <"+this.equals+" "+this.toVar+" : "+Fa+" >"+this.equals+" "+this.toVar+"; "+La+" ? "+Fa+"++ : "+Fa+"--"),xa="{ "+Oa+".push("+Fa+"); }\n"+Ca+"return "+Oa+";\n"+$a.indent,Na=function hasArgs(ja){return null==ja?void 0:ja.contains(ea)},(Na(this.from)||Na(this.to))&&(Ta=", arguments"),[this.makeCode("(function() {"+Ia+"\n"+Ca+"for ("+_a+")"+xa+"}).apply(this"+(null==Ta?"":Ta)+")")])}}]),ba}(g);return ka.prototype.children=["from","to"],ka}(),t.Slice=Ce=function(){var ka=function(va){function ba($a){_classCallCheck(this,ba);var Ta=_possibleConstructorReturn(this,(ba.__proto__||Object.getPrototypeOf(ba)).call(this));return Ta.range=$a,Ta}return _inherits(ba,va),_createClass(ba,[{key:"compileNode",value:function compileNode($a){var Da=this.range,Ta,_a,La,Na,Fa,Ca;return Fa=Da.to,La=Da.from,Na=La&&La.compileToFragments($a,te)||[this.makeCode("0")],Fa&&(Ta=Fa.compileToFragments($a,te),_a=Qe(Ta),(this.range.exclusive||-1!=+_a)&&(Ca=", "+(this.range.exclusive?_a:Fa.isNumber()?""+(+_a+1):(Ta=Fa.compileToFragments($a,Z),"+"+Qe(Ta)+" + 1 || 9e9")))),[this.makeCode(".slice("+Qe(Na)+(Ca||"")+")")]}}]),ba}(g);return ka.prototype.children=["range"],ka}(),t.Obj=fe=function(){var ka=function(va){function ba($a){var Ta=1ja)return Fa.push(new He(new fe(Oa.slice(ja,Ta),!0)))};$a=Oa[Ta];)(Ea=this.addInitializerExpression($a))?(Pa(),Fa.push(Ea),Da.push(Ea),ja=Ta+1):Da[Da.length-1]instanceof F&&(Fa.pop(),Da.pop(),ja--),Ta++;Pa(),ua.apply(Na,[Ca,Ca-Ca+1].concat(Fa)),Fa,Ca+=Fa.length}else(Ea=this.addInitializerExpression(La))?(Da.push(Ea),Na[Ca]=Ea):Da[Da.length-1]instanceof F&&Da.pop(),Ca+=1;for(Ia=0,Ra=Da.length;Iaee||Na&&this.variable.base instanceof fe&&!this.param?this.wrapInParentheses(_a):_a)}},{key:"compileDestructuring",value:function compileDestructuring($a){var Ta,_a,La,Na,Fa,Ca,Da,Ea,xa,Ia,Sa,Ra,Aa,Oa,Pa,wa,ja,Ma,Ua,Va,Ba,Ha,Ga,Ya;if(Va=$a.level===oe,Ha=this.value,wa=this.variable.base.objects,ja=wa.length,0===ja)return La=Ha.compileToFragments($a),$a.level>=ae?this.wrapInParentheses(La):La;var Xa=wa,Wa=_slicedToArray(Xa,1);if(Pa=Wa[0],1===ja&&Pa instanceof E&&Pa.error("Destructuring assignment has no target"),xa=this.variable.isObject(),Va&&1===ja&&!(Pa instanceof De)){if(Na=void 0,Pa instanceof ba&&"object"===Pa.context){var qa=Pa;Ea=qa.variable.base,Pa=qa.value,Pa instanceof ba&&(Na=Pa.value,Pa=Pa.variable)}else Pa instanceof ba&&(Na=Pa.value,Pa=Pa.variable),Ea=xa?Pa.this?Pa.properties[0].name:new ve(Pa.unwrap().value):new ue(0);return Ta=Ea.unwrap()instanceof ve,Ha=new He(Ha),Ha.properties.push(new(Ta?c:z)(Ea)),Aa=ta(Pa.unwrap().value),Aa&&Pa.error(Aa),Na&&(Na.isDefaultValue=!0,Ha=new he("?",Ha,Na)),new ba(Pa,Ha,null,{param:this.param}).compileToFragments($a,oe)}for(Ga=Ha.compileToFragments($a,ee),Ya=Qe(Ga),_a=[],Fa=!1,(!(Ha.unwrap()instanceof U)||this.variable.assigns(Ya))&&(Ma=$a.scope.freeVariable("ref"),_a.push([this.makeCode(Ma+" = ")].concat(_toConsumableArray(Ga))),Ga=[this.makeCode(Ma)],Ya=Ma),(Da=Sa=0,Ra=wa.length);Saoe?this.wrapInParentheses(Ta):Ta}},{key:"eachName",value:function eachName($a){return this.variable.unwrapAll().eachName($a)}}]),ba}(g);return ka.prototype.children=["variable","value"],ka.prototype.isAssignable=Ye,ka}(),t.Code=L=function(){var ka=function(va){function ba($a,Ta,_a){_classCallCheck(this,ba);var La=_possibleConstructorReturn(this,(ba.__proto__||Object.getPrototypeOf(ba)).call(this));return La.params=$a||[],La.body=Ta||new y,La.bound="boundfunc"===_a,La.isGenerator=!1,La.isAsync=!1,La.isMethod=!1,La.body.traverseChildren(!1,function(Na){if((Na instanceof he&&Na.isYield()||Na instanceof Xe)&&(La.isGenerator=!0),(Na instanceof he&&Na.isAwait()||Na instanceof h)&&(La.isAsync=!0),La.isGenerator&&La.isAsync)return Na.error("function can't contain both yield and await")}),La}return _inherits(ba,va),_createClass(ba,[{key:"isStatement",value:function isStatement(){return this.isMethod}},{key:"makeScope",value:function makeScope($a){return new Fe($a,this.body,this)}},{key:"compileNode",value:function compileNode($a){var Ta,_a,La,Na,Fa,Ca,Da,Ea,xa,Ia,Sa,Ra,Aa,Oa,Pa,wa,ja,Ma,Ua,Va,Ba,Ha,Ga,Ya,Xa,Wa,qa,za,Ja,Ka,Za,Qa;for(this.ctor&&(this.isAsync&&this.name.error("Class constructor may not be async"),this.isGenerator&&this.name.error("Class constructor may not be a generator")),this.bound&&((null==(Ya=$a.scope.method)?void 0:Ya.bound)&&(this.context=$a.scope.method.context),!this.context&&(this.context="this")),$a.scope=ze($a,"classScope")||this.makeScope($a.scope),$a.scope.shared=ze($a,"sharedScope"),$a.indent+=Oe,delete $a.bare,delete $a.isExistentialEquals,Ba=[],Ca=[],Za=null==(Xa=null==(Wa=this.thisAssignments)?void 0:Wa.slice())?[]:Xa,Ha=[],Ea=!1,Da=!1,Va=[],this.eachParamName(function(rt,it,st){var dt;if(0<=ma.call(Va,rt)&&it.error("multiple parameters named '"+rt+"'"),Va.push(rt),it.this)return rt=it.properties[0].name.value,0<=ma.call(K,rt)&&(rt="_"+rt),dt=new U($a.scope.freeVariable(rt)),st.renameParam(it,dt),Za.push(new f(it,dt))}),qa=this.params,(xa=Sa=0,Aa=qa.length);Sa")),La.push(this.makeCode(" {")),null==Na?void 0:Na.length){var nt;(nt=La).push.apply(nt,[this.makeCode("\n")].concat(_toConsumableArray(Na),[this.makeCode("\n"+this.tab)]))}return La.push(this.makeCode("}")),this.isMethod?[this.makeCode(this.tab)].concat(_toConsumableArray(La)):this.front||$a.level>=Z?this.wrapInParentheses(La):La}},{key:"eachParamName",value:function eachParamName($a){var Ta,_a,La,Na,Fa;for(Na=this.params,Fa=[],(Ta=0,_a=Na.length);Ta<_a;Ta++)La=Na[Ta],Fa.push(La.eachName($a));return Fa}},{key:"traverseChildren",value:function traverseChildren($a,Ta){if($a)return _get(ba.prototype.__proto__||Object.getPrototypeOf(ba.prototype),"traverseChildren",this).call(this,$a,Ta)}},{key:"replaceInContext",value:function replaceInContext($a,Ta){return!!this.bound&&_get(ba.prototype.__proto__||Object.getPrototypeOf(ba.prototype),"replaceInContext",this).call(this,$a,Ta)}},{key:"expandCtorSuper",value:function expandCtorSuper($a){var Ta=this,_a,La,Na,Fa;return!!this.ctor&&(this.eachSuperCall(y.wrap(this.params),function(Ca){return Ca.error("'super' is not allowed in constructor parameter defaults")}),Fa=this.eachSuperCall(this.body,function(Ca){return"base"===Ta.ctor&&Ca.error("'super' is only allowed in derived class constructors"),Ca.expressions=$a}),_a=$a.length&&$a.length!==(null==(Na=this.thisAssignments)?void 0:Na.length),"derived"===this.ctor&&!Fa&&_a&&(La=$a[0].variable,La.error("Can't use @params in derived class constructors without calling super")),Fa)}},{key:"eachSuperCall",value:function eachSuperCall($a,Ta){var _a=this,La;return La=!1,$a.traverseChildren(!0,function(Na){return Na instanceof Re?(La=!0,Ta(Na)):Na instanceof je&&"derived"===_a.ctor&&!La&&Na.error("Can't reference 'this' before calling super in derived class constructors"),!(Na instanceof Re)&&(!(Na instanceof ba)||Na.bound)}),La}}]),ba}(g);return ka.prototype.children=["params","body"],ka.prototype.jumps=de,ka}(),t.Param=ge=function(){var ka=function(va){function ba($a,Ta,_a){_classCallCheck(this,ba);var Fa=_possibleConstructorReturn(this,(ba.__proto__||Object.getPrototypeOf(ba)).call(this)),La,Na;return Fa.name=$a,Fa.value=Ta,Fa.splat=_a,La=ta(Fa.name.unwrapAll().value),La&&Fa.name.error(La),Fa.name instanceof fe&&Fa.name.generated&&(Na=Fa.name.objects[0].operatorToken,Na.error("unexpected "+Na.value)),Fa}return _inherits(ba,va),_createClass(ba,[{key:"compileToFragments",value:function compileToFragments($a){return this.name.compileToFragments($a,ee)}},{key:"asReference",value:function asReference($a){var Ta,_a;return this.reference?this.reference:(_a=this.name,_a.this?(Ta=_a.properties[0].name.value,0<=ma.call(K,Ta)&&(Ta="_"+Ta),_a=new U($a.scope.freeVariable(Ta))):_a.shouldCache()&&(_a=new U($a.scope.freeVariable("arg"))),_a=new He(_a),_a.updateLocationDataIfMissing(this.locationData),this.reference=_a)}},{key:"shouldCache",value:function shouldCache(){return this.name.shouldCache()}},{key:"eachName",value:function eachName($a){var Ta=this,_a=1"===_a||">="===_a||"<="===_a||"==="===_a||"!=="===_a}},{key:"invert",value:function invert(){var _a,La,Na,Fa,Ca;if(this.isChainable()&&this.first.isChainable()){for(_a=!0,La=this;La&&La.operator;)_a&&(_a=La.operator in va),La=La.first;if(!_a)return new ye(this).invert();for(La=this;La&&La.operator;)La.invert=!La.invert,La.operator=va[La.operator],La=La.first;return this}return(Fa=va[this.operator])?(this.operator=Fa,this.first.unwrap()instanceof Ta&&this.first.invert(),this):this.second?new ye(this).invert():"!"===this.operator&&(Na=this.first.unwrap())instanceof Ta&&("!"===(Ca=Na.operator)||"in"===Ca||"instanceof"===Ca)?Na:new Ta("!",this)}},{key:"unfoldSoak",value:function unfoldSoak(_a){var La;return("++"===(La=this.operator)||"--"===La||"delete"===La)&&ca(_a,this,"first")}},{key:"generateDo",value:function generateDo(_a){var La,Na,Fa,Ca,Da,Ea,xa,Ia;for(Ea=[],Na=_a instanceof f&&(xa=_a.value.unwrap())instanceof L?xa:_a,Ia=Na.params||[],(Fa=0,Ca=Ia.length);Fa=Z?new ye(this).compileToFragments(_a):(Fa="+"===La||"-"===La,("new"===La||"typeof"===La||"delete"===La||Fa&&this.first instanceof Ta&&this.first.operator===La)&&Na.push([this.makeCode(" ")]),(Fa&&this.first instanceof Ta||"new"===La&&this.first.isStatement(_a))&&(this.first=new ye(this.first)),Na.push(this.first.compileToFragments(_a,ae)),this.flip&&Na.reverse(),this.joinFragmentArrays(Na,""))}},{key:"compileContinuation",value:function compileContinuation(_a){var La,Na,Fa,Ca;return Na=[],La=this.operator,null==_a.scope.parent&&this.error(this.operator+" can only occur inside functions"),(null==(Fa=_a.scope.method)?void 0:Fa.bound)&&_a.scope.method.isGenerator&&this.error("yield cannot occur inside bound (fat arrow) functions"),0<=ma.call(Object.keys(this.first),"expression")&&!(this.first instanceof Me)?null!=this.first.expression&&Na.push(this.first.expression.compileToFragments(_a,ae)):(_a.level>=te&&Na.push([this.makeCode("(")]),Na.push([this.makeCode(La)]),""!==(null==(Ca=this.first.base)?void 0:Ca.value)&&Na.push([this.makeCode(" ")]),Na.push(this.first.compileToFragments(_a,ae)),_a.level>=te&&Na.push([this.makeCode(")")])),this.joinFragmentArrays(Na,"")}},{key:"compilePower",value:function compilePower(_a){var La;return La=new He(new U("Math"),[new c(new ve("pow"))]),new T(La,[this.first,this.second]).compileToFragments(_a)}},{key:"compileFloorDivision",value:function compileFloorDivision(_a){var La,Na,Fa;return Na=new He(new U("Math"),[new c(new ve("floor"))]),Fa=this.second.shouldCache()?new ye(this.second):this.second,La=new Ta("/",this.first,Fa),new T(Na,[La]).compileToFragments(_a)}},{key:"compileModulo",value:function compileModulo(_a){var La;return La=new He(new ne(pa("modulo",_a))),new T(La,[this.first,this.second]).compileToFragments(_a)}},{key:"toString",value:function toString(_a){return _get(Ta.prototype.__proto__||Object.getPrototypeOf(Ta.prototype),"toString",this).call(this,_a,this.constructor.name+" "+this.operator)}}]),Ta}(g),ka,va;return ka={"==":"===","!=":"!==",of:"in",yieldfrom:"yield*"},va={"!==":"===","===":"!=="},ba.prototype.children=["first","second"],ba}(),t.In=q=function(){var ka=function(va){function ba($a,Ta){_classCallCheck(this,ba);var _a=_possibleConstructorReturn(this,(ba.__proto__||Object.getPrototypeOf(ba)).call(this));return _a.object=$a,_a.array=Ta,_a}return _inherits(ba,va),_createClass(ba,[{key:"compileNode",value:function compileNode($a){var Ta,_a,La,Na,Fa;if(this.array instanceof He&&this.array.isArray()&&this.array.base.objects.length){for(Fa=this.array.base.objects,_a=0,La=Fa.length;_a= 0"))),Qe(La)===Qe(_a))?Ta:(Ta=La.concat(this.makeCode(", "),Ta),$a.level=La.length),Ta?La:this.wrapInParentheses(La))}}]),ba}(g);return ka.prototype.children=["body"],ka}(),t.StringWithInterpolations=Ie=function(){var ka=function(va){function ba($a){_classCallCheck(this,ba);var Ta=_possibleConstructorReturn(this,(ba.__proto__||Object.getPrototypeOf(ba)).call(this));return Ta.body=$a,Ta}return _inherits(ba,va),_createClass(ba,[{key:"unwrap",value:function unwrap(){return this}},{key:"shouldCache",value:function shouldCache(){return this.body.shouldCache()}},{key:"compileNode",value:function compileNode($a){var Ta,_a,La,Na,Fa,Ca,Da;for(La=this.body.unwrap(),_a=[],La.traverseChildren(!1,function(xa){return xa instanceof xe?(_a.push(xa),!0):!(xa instanceof ye)||(_a.push(xa),!1)}),Na=[],Na.push(this.makeCode("`")),(Fa=0,Ca=_a.length);FaKa,!(this.step&&null!=Ka&&xa)&&(Ua=qa.freeVariable("len")),Fa=""+ja+Pa+" = 0, "+Ua+" = "+Qa+".length",Ca=""+ja+Pa+" = "+Qa+".length - 1",La=Pa+" < "+Ua,Na=Pa+" >= 0",this.step?(null==Ka?(La=Za+" > 0 ? "+La+" : "+Na,Fa="("+Za+" > 0 ? ("+Fa+") : "+Ca+")"):xa&&(La=Na,Fa=Ca),Aa=Pa+" += "+Za):Aa=""+(wa===Pa?Pa+"++":"++"+Pa),Ia=[this.makeCode(Fa+"; "+La+"; "+ja+Aa)])),this.returns&&(Ya=""+this.tab+Wa+" = [];\n",Xa="\n"+this.tab+"return "+Wa+";",Ta.makeReturn(Wa)),this.guard&&(1=Q?this.wrapInParentheses(Na):Na}},{key:"unfoldSoak",value:function unfoldSoak(){return this.soak&&this}}]),ba}(g);return ka.prototype.children=["condition","body","elseBody"],ka}(),Ve={modulo:function modulo(){return"function(a, b) { return (+a % (b = +b) + b) % b; }"},hasProp:function hasProp(){return"{}.hasOwnProperty"},indexOf:function indexOf(){return"[].indexOf"},slice:function slice(){return"[].slice"},splice:function splice(){return"[].splice"}},oe=1,te=2,ee=3,Q=4,ae=5,Z=6,Oe=" ",Ne=/^[+-]?\d+$/,pa=function utility(ka,va){var ba,$a;return $a=va.scope.root,ka in $a.utilities?$a.utilities[ka]:(ba=$a.freeVariable(ka),$a.assign(ba,Ve[ka](va)),$a.utilities[ka]=ba)},ra=function multident(ka,va){return ka=ka.replace(/\n/g,"$&"+va),ka.replace(/\s+$/,"")},ea=function isLiteralArguments(ka){return ka instanceof U&&"arguments"===ka.value},aa=function isLiteralThis(ka){return ka instanceof je||ka instanceof L&&ka.bound},ia=function shouldCacheOrIsAssignable(ka){return ka.shouldCache()||("function"==typeof ka.isAssignable?ka.isAssignable():void 0)},ca=function _unfoldSoak(ka,va,ba){var $a;if($a=va[ba].unfoldSoak(ka))return va[ba]=$a.body,$a.body=new He(va),$a}}.call(this),{exports:t}.exports}(),require["./sourcemap"]=function(){var d={exports:{}};return function(){var c,u;c=function(){function f(h){_classCallCheck(this,f),this.line=h,this.columns=[]}return _createClass(f,[{key:"add",value:function add(h,g){var y=_slicedToArray(g,2),b=y[0],T=y[1],_=2=h);)h--;return g&&[g.sourceLine,g.sourceColumn]}}]),f}(),u=function(){var b=function(){function T(){_classCallCheck(this,T),this.lines=[]}return _createClass(T,[{key:"add",value:function add(_,L){var N=2=N);)N--;return C&&C.sourceLocation(F)}},{key:"generate",value:function generate(){var _=0_?1:0,C=(_Mathabs(_)<<1)+F;C||!L;)N=C&y,C>>=g,C&&(N|=h),L+=this.encodeBase64(N);return L}},{key:"encodeBase64",value:function encodeBase64(_){return f[_]||function(){throw new Error("Cannot Base64 encode value: "+_)}()}}]),T}(),f,h,g,y;return g=5,h=1<",F[P]=x,U&&(W=new u),ae=T.tokenize(x,I),I.referencedVars=function(){var ne,re,ie;for(ie=[],ne=0,re=ae.length;ne"),U=x.getLineNumber(),R=x.getColumnNumber(),B=I(O,U,R),A=B?O+":"+B[0]+":"+B[1]:O+":"+U+":"+R),P=x.getFunctionName(),w=x.isConstructor(),M=!(x.isToplevel()||w),M?(V=x.getMethodName(),G=x.getTypeName(),P?(H=S="",G&&P.indexOf(G)&&(H=G+"."),V&&P.indexOf("."+V)!==P.length-V.length-1&&(S=" [as "+V+"]"),""+H+P+S+" ("+A+")"):G+"."+(V||"")+" ("+A+")"):w?"new "+(P||"")+" ("+A+")":P?P+" ("+A+")":A},y=function getSourceMap(x){var I;return null==N[x]?null==N[""]?null==F[x]?null:(I=h(F[x],{filename:x,sourceMap:!0,literate:b.isLiterate(x)}),I.sourceMap):N[""]:N[x]},Error.prepareStackTrace=function(x,I){var S,R,A;return A=function getSourceMapping(O,P,w){var M,U;return U=y(O),null!=U&&(M=U.sourceLocation([P-1,w-1])),null==M?null:[M[0]+1,M[1]+1]},R=function(){var O,P,w;for(w=[],O=0,P=I.length;O
- Classes
+ Destructuring Assignment
- Prototypal Inheritance
+ Chaining Function Calls
- Destructuring Assignment
+ Bound (Fat Arrow) Functions
+
+
+ Generator Functions
+
+
+ Async Functions
- Function Modifiers
+ Classes
+
+
+ Prototypal Inheritance
Switch and Try/Catch
@@ -646,9 +655,6 @@
Embedded JavaScript
-
- Unsupported ECMAScript Features
-
@@ -689,11 +695,42 @@
+
+ Unsupported ECMAScript Features
+
+
Breaking Changes From 1.x
+
- Change Log
+ Changelog
@@ -714,7 +751,7 @@
CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.
The golden rule of CoffeeScript is: “It’s just JavaScript.” The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. You can use any existing JavaScript library seamlessly from CoffeeScript (and vice-versa). The compiled output is readable, pretty-printed, and tends to run as fast or faster than the equivalent handwritten JavaScript.
-Latest Version: 2.0.0-beta1
+Latest Version: 2.0.0-beta2
npm install -g coffeescript@next
@@ -810,18 +847,15 @@ Overview
CoffeeScript 2
-Why CoffeeScript When There’s ES2015+?
+What’s New In CoffeeScript 2?
+The biggest change in CoffeeScript 2 is that now the CoffeeScript compiler produces modern, ES2015+ JavaScript. A CoffeeScript =>
becomes an ES =>
, a CoffeeScript class
becomes an ES class
and so on. With the exception of modules (import
and export
statements), all the ES2015+ features that CoffeeScript supports can run natively in Node 7.6+, meaning that Node can run CoffeeScript’s output without any further processing required. You can run the tests in your browser to see if your browser can do the same; Chrome has supported all features since version 55.
+Support for ES2015+ syntax is important to ensure compatibility with frameworks that assume ES2015. Now that CoffeeScript compiles classes to the ES class
keyword, it’s possible to extend
an ES class; that wasn’t possible in CoffeeScript 1. Parity in how language features work is also important on its own; CoffeeScript “is just JavaScript,” and so things like function parameter default values should behave the same in CoffeeScript as in JavaScript.
+Many ES2015+ features have been backported to CoffeeScript 1.11 and 1.12, including modules, for…of
, and tagged template literals. One major new feature unique to CoffeeScript 2 is support for ES2017’s async functions. More details are in the changelog.
+There are very few breaking changes from CoffeeScript 1.x to 2; we hope the upgrade process is smooth for most projects.
+Why CoffeeScript When There’s ES2015?
CoffeeScript introduced many new features to the JavaScript world, such as =>
and destructuring and classes. We are happy that ECMA has seen their utility and adopted them into ECMAScript.
-CoffeeScript’s intent, however, was never to be a superset of JavaScript. One of the guiding principles of CoffeeScript has been simplicity: not just removing JavaScript’s “bad parts,” but providing a cleaner, terser syntax that uses less punctuation and enforces indentation, to make code easier to read and reason about. Increased clarity leads to increased quality, and fewer bugs. This benefit of CoffeeScript remains, even in an ES2015+ world.
-ES2015+ Output
-CoffeeScript 2 supports many of the latest ES2015+ features, output using ES2015+ syntax. If you’re looking for a single tool that takes CoffeeScript input and generates JavaScript output that runs in any JavaScript runtime, assuming you opt out of certain newer features, stick to the CoffeeScript 1.x branch. CoffeeScript 2 breaks compatibility with certain CoffeeScript 1.x features in order to conform with the ES2015+ specifications, and generate more idiomatic output (a CoffeeScript =>
becomes an ES =>
; a CoffeeScript class
becomes an ES class
; and so on).
-Since the CoffeeScript 2 compiler outputs ES2015+ syntax, it is your responsibility to either ensure that your target JavaScript runtime(s) support all these features, or that you pass the output through another transpiler like Babel, Rollup or Traceur Compiler. In general, CoffeeScript 2’s output is supported as is by Node.js 7.6+, except for modules which require transpilation.
-There are many great task runners for setting up JavaScript build chains, such as Gulp, Webpack, Grunt and Broccoli. If you’re looking for a very minimal solution to get started, you can use babel-preset-env and the command line:
-npm install --global coffeescript@next
-npm install --save-dev coffeescript@next babel-cli babel-preset-env
-coffee -p *.coffee | babel --presets env > app.js
-
-
+CoffeeScript’s intent, however, was never to be a superset of JavaScript. One of the guiding principles of CoffeeScript has been simplicity: not just removing JavaScript’s “bad parts,” but providing an elegant, concise syntax that eschews unnecessary punctuation whenever possible, to make code easier to read and reason about. This benefit of CoffeeScript remains, even in an ES2015 world.
+
Installation
@@ -829,10 +863,12 @@ Installation
To install, first make sure you have a working copy of the latest stable version of Node.js. You can then install CoffeeScript globally with npm:
npm install --global coffeescript@next
-
When you need CoffeeScript as a dependency of a project, within that project’s folder you can install it locally:
+This will make the coffee
and cake
commands available globally.
+When you need CoffeeScript as a dependency of a project, within that project’s folder you can install it locally:
npm install --save coffeescript@next
-
+The coffee
and cake
commands will first look in the current folder to see if CoffeeScript is installed locally, and use that version if so. This allows different versions of CoffeeScript to be installed globally and locally.
+
Usage
@@ -925,6 +961,33 @@ Examples:
coffee -o lib/ -cw src/
Start the CoffeeScript REPL (Ctrl-D
to exit, Ctrl-V
for multi-line):
coffee
+
+ES2015+ Output
+CoffeeScript 2 outputs the latest ES2015+ syntax. If you’re looking for a single tool that takes CoffeeScript input and generates JavaScript output that runs in any JavaScript runtime, assuming you opt out of certain newer features, stick to CoffeeScript 1.x. CoffeeScript 2 breaks compatibility with certain CoffeeScript 1.x features in order to conform with the ES2015+ specifications, and generate more idiomatic output (a CoffeeScript =>
becomes an ES =>
; a CoffeeScript class
becomes an ES class
; and so on).
+Since the CoffeeScript 2 compiler outputs ES2015+ syntax, it is your responsibility to either ensure that your target JavaScript runtime(s) support all these features, or that you pass the output through another transpiler like Babel, Rollup or Traceur Compiler. In general, CoffeeScript 2’s output is supported as is by Node.js 7.6+, except for modules which require transpilation.
+There are many great task runners for setting up JavaScript build chains, such as Gulp, Webpack, Grunt and Broccoli. If you’re looking for a very minimal solution to get started, you can use babel-preset-env and the command line:
+npm install --global coffeescript@next
+npm install --save-dev coffeescript@next babel-cli babel-preset-env
+coffee -p *.coffee | babel --presets env > app.js
+
+
Node.js
+If you’d like to use Node.js’ CommonJS to require
CoffeeScript files, e.g. require './app.coffee'
, you must first “register” CoffeeScript as an extension:
+require 'coffeescript/register'
+
+App = require './app' # The .coffee extension is optional
+
+
If you want to use the compiler’s API, for example to make an app that compiles strings of CoffeeScript on the fly, you can require
the full module:
+CoffeeScript = require 'coffeescript'
+
+eval CoffeeScript.compile 'console.log "Mmmmm, I could really go for some #{Math.pi}"'
+
+
The compile
method has the signature compile(code, options)
where code
is a string of CoffeeScript code, and the optional options
is an object with some or all of the following properties:
+
+options.sourceMap
, boolean: if true, a source map will be generated; and instead of returning a string, compile
will return an object of the form {js, v3SourceMap, sourceMap}
.
+options.inlineMap
, boolean: if true, output the source map as a base64-encoded string in a comment at the bottom.
+options.filename
, string: the filename to use for the source map.
+options.bare
, boolean: if true, output without the top-level function safety wrapper.
+options.header
, boolean: if true, output the Generated by CoffeeScript
header.
@@ -1150,10 +1213,10 @@ Objects and Arrays
@@ -1267,16 +1330,17 @@ Lexical Scoping and Variable Safety
-Notice how all of the variable declarations have been pushed up to the top of the closest scope, the first time they appear. outer is not redeclared within the inner function, because it’s already in scope; inner within the function, on the other hand, should not be able to change the value of the external variable of the same name, and therefore has a declaration of its own.
-This behavior is effectively identical to Ruby’s scope for local variables. Because you don’t have direct access to the var
keyword, it’s impossible to shadow an outer variable on purpose, you may only refer to it. So be careful that you’re not reusing the name of an external variable accidentally, if you’re writing a deeply nested function.
-Although suppressed within this documentation for clarity, all CoffeeScript output is wrapped in an anonymous function: (function(){ … })();
This safety wrapper, combined with the automatic generation of the var
keyword, make it exceedingly difficult to pollute the global namespace by accident.
-If you’d like to create top-level variables for other scripts to use, attach them as properties on window; attach them as properties on the exports object in CommonJS; or use an export
statement. If you’re targeting both CommonJS and the browser, the existential operator (covered below), gives you a reliable way to figure out where to add them: exports ? this
+Notice how all of the variable declarations have been pushed up to the top of the closest scope, the first time they appear. outer
is not redeclared within the inner function, because it’s already in scope; inner
within the function, on the other hand, should not be able to change the value of the external variable of the same name, and therefore has a declaration of its own.
+Because you don’t have direct access to the var
keyword, it’s impossible to shadow an outer variable on purpose, you may only refer to it. So be careful that you’re not reusing the name of an external variable accidentally, if you’re writing a deeply nested function.
+Although suppressed within this documentation for clarity, all CoffeeScript output (except in files with import
or export
statements) is wrapped in an anonymous function: (function(){ … })();
. This safety wrapper, combined with the automatic generation of the var
keyword, make it exceedingly difficult to pollute the global namespace by accident. (The safety wrapper can be disabled with the bare
option, and is unnecessary and automatically disabled when using modules.)
+If you’d like to create top-level variables for other scripts to use, attach them as properties on window
; attach them as properties on the exports
object in CommonJS; or use an export
statement. If you’re targeting both CommonJS and the browser, the existential operator (covered below), gives you a reliable way to figure out where to add them: exports ? this
.
+Since CoffeeScript takes care of all variable declaration, it is not possible to declare variables with ES2015’s let
or const
. This is intentional; we feel that the simplicity gained by not having to think about variable declaration outweighs the benefit of having three separate ways to declare variables.
If, Else, Unless, and Conditional Assignment
-If/else statements can be written without the use of parentheses and curly brackets. As with functions and other block expressions, multi-line conditionals are delimited by indentation. There’s also a handy postfix form, with the if
or unless
at the end.
-CoffeeScript can compile if statements into JavaScript expressions, using the ternary operator when possible, and closure wrapping otherwise. There is no explicit ternary statement in CoffeeScript — you simply use a regular if statement on a single line.
+if
/else
statements can be written without the use of parentheses and curly brackets. As with functions and other block expressions, multi-line conditionals are delimited by indentation. There’s also a handy postfix form, with the if
or unless
at the end.
+CoffeeScript can compile if
statements into JavaScript expressions, using the ternary operator when possible, and closure wrapping otherwise. There is no explicit ternary statement in CoffeeScript — you simply use a regular if
statement on a single line.