From a2631759c0e4b36b011e8dea216963626a9bb205 Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Thu, 16 Sep 2010 00:32:57 -0400 Subject: [PATCH] CoffeeScript 0.9.3 --- Rakefile | 2 +- documentation/coffee/block_comment.coffee | 2 +- documentation/coffee/switch.coffee | 14 +- documentation/docs/browser.html | 26 ++ documentation/docs/cake.html | 2 +- documentation/docs/coffee-script.html | 40 +-- documentation/docs/command.html | 10 +- documentation/docs/docco.css | 2 +- documentation/docs/grammar.html | 79 +++--- documentation/docs/helpers.html | 2 +- documentation/docs/index.html | 2 +- documentation/docs/lexer.html | 40 +-- documentation/docs/nodes.html | 154 +++++++---- documentation/docs/optparse.html | 2 +- documentation/docs/repl.html | 2 +- documentation/docs/rewriter.html | 28 +- documentation/docs/scope.html | 12 +- documentation/docs/underscore.html | 312 +++++++++++++++++++--- documentation/index.html.erb | 26 +- documentation/js/block_comment.js | 3 +- documentation/js/soaks.js | 2 +- documentation/js/switch.js | 33 ++- extras/coffee-script.js | 4 +- index.html | 91 ++++--- lib/coffee-script.js | 2 +- package.json | 2 +- src/coffee-script.coffee | 2 +- 27 files changed, 622 insertions(+), 274 deletions(-) create mode 100644 documentation/docs/browser.html diff --git a/Rakefile b/Rakefile index 107dc191..75a575f0 100644 --- a/Rakefile +++ b/Rakefile @@ -6,7 +6,7 @@ require 'yui/compressor' HEADER = <<-EOS /** - * CoffeeScript Compiler v0.9.2 + * CoffeeScript Compiler v0.9.3 * http://coffeescript.org * * Copyright 2010, Jeremy Ashkenas diff --git a/documentation/coffee/block_comment.coffee b/documentation/coffee/block_comment.coffee index a55370e7..264c4bd3 100644 --- a/documentation/coffee/block_comment.coffee +++ b/documentation/coffee/block_comment.coffee @@ -1,4 +1,4 @@ ### -CoffeeScript Compiler v0.9.2 +CoffeeScript Compiler v0.9.3 Released under the MIT License ### \ No newline at end of file diff --git a/documentation/coffee/switch.coffee b/documentation/coffee/switch.coffee index 27f7315d..12a66f41 100644 --- a/documentation/coffee/switch.coffee +++ b/documentation/coffee/switch.coffee @@ -1,10 +1,10 @@ switch day - when "Mon" then goToWork() - when "Tue" then goToThePark() - when "Thu" then goIceFishing() + when "Mon" then go work + when "Tue" then go relax + when "Thu" then go iceFishing when "Fri", "Sat" if day is bingoDay - goToBingo() - goDancing() - when "Sun" then goToChurch() - else goToWork() \ No newline at end of file + go bingo + go dancing + when "Sun" then go church + else go work \ No newline at end of file diff --git a/documentation/docs/browser.html b/documentation/docs/browser.html new file mode 100644 index 00000000..76332996 --- /dev/null +++ b/documentation/docs/browser.html @@ -0,0 +1,26 @@ + browser.coffee

browser.coffee

#

Activate CoffeeScript in the browser by having it compile and evaluate +all script tags with a content-type of text/coffeescript. +This happens on page load.

if document?.getElementsByTagName
+  grind = (coffee) ->
+    setTimeout exports.compile coffee
+  grindRemote = (url) ->
+    xhr = new (window.ActiveXObject or XMLHttpRequest)('Microsoft.XMLHTTP')
+    xhr.open 'GET', url, true
+    xhr.overrideMimeType 'text/plain' if 'overrideMimeType' of xhr
+    xhr.onreadystatechange = ->
+      grind xhr.responseText if xhr.readyState is 4
+    xhr.send null
+  processScripts = ->
+    for script in document.getElementsByTagName 'script'
+      if script.type is 'text/coffeescript'
+        if script.src
+          grindRemote script.src
+        else
+          grind script.innerHTML
+    null
+  if window.addEventListener
+    addEventListener 'DOMContentLoaded', processScripts, false
+  else
+    attachEvent 'onload', processScripts
+
+
\ No newline at end of file diff --git a/documentation/docs/cake.html b/documentation/docs/cake.html index 785c46d2..111a2e78 100644 --- a/documentation/docs/cake.html +++ b/documentation/docs/cake.html @@ -1,4 +1,4 @@ - cake.coffee

cake.coffee

#

cake is a simplified version of Make + cake.coffee

cake.coffee

#

cake is a simplified version of Make (Rake, Jake) for CoffeeScript. You define tasks with names and descriptions in a Cakefile, and can call them from the command line, or invoke them from other tasks.

diff --git a/documentation/docs/coffee-script.html b/documentation/docs/coffee-script.html index 9b365db3..d6b45674 100644 --- a/documentation/docs/coffee-script.html +++ b/documentation/docs/coffee-script.html @@ -1,4 +1,4 @@ - coffee-script.coffee

coffee-script.coffee

#

CoffeeScript can be used both on the server, as a command-line compiler based + coffee-script.coffee

coffee-script.coffee

#

CoffeeScript can be used both on the server, as a command-line compiler based on Node.js/V8, or to run CoffeeScripts directly in the browser. This module contains the main entry functions for tokenzing, parsing, and compiling source CoffeeScript into JavaScript.

@@ -16,23 +16,22 @@ execute all scripts present in text/coffeescript tags.

this.exports = this.CoffeeScript = {} Lexer = this.Lexer parser = this.parser - helpers = this.helpers
#

The current CoffeeScript version number.

exports.VERSION = '0.9.2'
#

Instantiate a Lexer for our use here.

lexer = new Lexer
#

Compile a string of CoffeeScript code to JavaScript, using the Coffee/Jison + helpers = this.helpers

#

The current CoffeeScript version number.

exports.VERSION = '0.9.3'
#

Compile a string of CoffeeScript code to JavaScript, using the Coffee/Jison compiler.

exports.compile = compile = (code, options) ->
   options or= {}
   try
     (parser.parse lexer.tokenize code).compile options
   catch err
     err.message = "In #{options.fileName}, #{err.message}" if options.fileName
-    throw err
#

Tokenize a string of CoffeeScript code, and return the array of tokens.

exports.tokens = (code) ->
-  lexer.tokenize code
#

Tokenize and parse a string of CoffeeScript code, and return the AST. You can + throw err

#

Tokenize a string of CoffeeScript code, and return the array of tokens.

exports.tokens = (code) ->
+  lexer.tokenize code
#

Tokenize and parse a string of CoffeeScript code, and return the AST. You can then compile it by calling .compile() on the root, or traverse it by using .traverse() with a callback.

exports.nodes = (code) ->
-  parser.parse lexer.tokenize code
#

Compile and execute a string of CoffeeScript (on the server), correctly -setting __filename, __dirname, and relative require().

exports.run = ((code, options) ->
+  parser.parse lexer.tokenize code
#

Compile and execute a string of CoffeeScript (on the server), correctly +setting __filename, __dirname, and relative require().

exports.run = (code, options) ->
   module.filename = __filename = options.fileName
   __dirname = path.dirname __filename
-  eval exports.compile code, options
-)
#

The real Lexer produces a generic stream of tokens. This object provides a + eval exports.compile code, options

#

Instantiate a Lexer for our use here.

lexer = new Lexer
#

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 directly as a "Jison lexer".

parser.lexer =
   lex: ->
@@ -44,29 +43,6 @@ directly as a "Jison lexer".

setInput: (tokens) -> @tokens = tokens @pos = 0 - upcomingInput: -> ""
#

Activate CoffeeScript in the browser by having it compile and evaluate -all script tags with a content-type of text/coffeescript. -This happens on page load.

if document?.getElementsByTagName
-  grind = (coffee) ->
-    setTimeout exports.compile coffee
-  grindRemote = (url) ->
-    xhr = new (window.ActiveXObject or XMLHttpRequest)('Microsoft.XMLHTTP')
-    xhr.open 'GET', url, true
-    xhr.overrideMimeType 'text/plain' if 'overrideMimeType' of xhr
-    xhr.onreadystatechange = ->
-      grind xhr.responseText if xhr.readyState is 4
-    xhr.send null
-  processScripts = ->
-    for script in document.getElementsByTagName 'script'
-      if script.type is 'text/coffeescript'
-        if script.src
-          grindRemote script.src
-        else
-          grind script.innerHTML
-    null
-  if window.addEventListener
-    addEventListener 'DOMContentLoaded', processScripts, false
-  else
-    attachEvent 'onload', processScripts
+  upcomingInput: -> ""
 
 
\ No newline at end of file diff --git a/documentation/docs/command.html b/documentation/docs/command.html index e6fd3b66..d870c91c 100644 --- a/documentation/docs/command.html +++ b/documentation/docs/command.html @@ -1,4 +1,4 @@ - command.coffee

command.coffee

#

The coffee utility. Handles command-line compilation of CoffeeScript + command.coffee

time the file is updated. May be used in combination with other options, such as --lint or --print.

command.coffee

#

The coffee utility. Handles command-line compilation of CoffeeScript into various forms: saved into .js files or printed to stdout, piped to JSLint or recompiled every time the source is saved, printed as a token stream or as the syntax tree, or launch an @@ -72,7 +72,7 @@ requested options. If evaluating the script directly sets __filenameo = opts options = compileOptions file if o.require - require(if helpers.starts(file, '.') then fs.realpathSync(file) else file) for file in o.require + require(if helpers.starts(req, '.') then fs.realpathSync(req) else req) for req in o.require try t = task = {file, input, options} CoffeeScript.emit 'compile', task @@ -101,8 +101,10 @@ and write them back to stdout.

watch = (source, base) ->
   fs.watchFile source, {persistent: true, interval: 500}, (curr, prev) ->
-    return if curr.mtime.getTime() is prev.mtime.getTime()
-    fs.readFile source, (err, code) -> compileScript(source, code.toString(), base)
#

Write out a JavaScript source file with the compiled code. By default, files + return if curr.size is prev.size and curr.mtime.getTime() is prev.mtime.getTime() + fs.readFile source, (err, code) -> + throw err if err + compileScript(source, code.toString(), base)

#

Write out a JavaScript source file with the compiled code. By default, files are written out in cwd as .js files with the same name, but the output directory can be customized with --output.

writeJs = (source, js, base) ->
   filename  = path.basename(source, path.extname(source)) + '.js'
diff --git a/documentation/docs/docco.css b/documentation/docs/docco.css
index 921633b4..1ddec891 100644
--- a/documentation/docs/docco.css
+++ b/documentation/docs/docco.css
@@ -26,7 +26,7 @@ h1, h2, h3, h4, h5, h6 {
 }
 #background {
   position: fixed;
-  top: 0; left: 580px; right: 0; bottom: 0;
+  top: 0; left: 575px; right: 0; bottom: 0;
   background: #f5f5ff;
   border-left: 1px solid #e5e5ee;
   z-index: -1;
diff --git a/documentation/docs/grammar.html b/documentation/docs/grammar.html
index 3c188ccf..04b9f1c0 100644
--- a/documentation/docs/grammar.html
+++ b/documentation/docs/grammar.html
@@ -1,4 +1,4 @@
-      grammar.coffee           

grammar.coffee

#

The CoffeeScript parser is generated by Jison + grammar.coffee

grammar.coffee

#

The CoffeeScript parser is generated by Jison from this grammar file. Jison is a bottom-up parser generator, similar in style to Bison, implemented in JavaScript. It can recognize LALR(1), LR(0), SLR(1), and LR(1) @@ -49,6 +49,7 @@ all parsing must end here.

o "Throw" o "BREAK", -> new LiteralNode $1 o "CONTINUE", -> new LiteralNode $1 + o "DEBUGGER", -> new LiteralNode $1 ]
#

All the different types of expressions in our language. The basic unit of CoffeeScript is the Expression -- everything that can be an expression is one. Expressions serve as the building blocks of many other rules, making @@ -186,47 +187,50 @@ and optional references to the superclass.

o "ClassAssign", -> [$1] o "ClassBody TERMINATOR ClassAssign", -> $1.concat $3 o "{ ClassBody }", -> $2 - ]
#

The three flavors of function call: normal, object instantiation with new, -and calling super()

  Call: [
+  ]
#

The two flavors of function call: normal, and object instantiation with new.

  Call: [
     o "Invocation"
-    o "Super"
     o "NEW Invocation",                         -> $2.newInstance()
     o "NEW Value",                              -> (new CallNode($2, [])).newInstance()
   ]
#

Extending an object by setting its prototype chain to reference a parent object.

  Extends: [
     o "SimpleAssignable EXTENDS Value",         -> new ExtendsNode $1, $3
   ]
#

Ordinary function invocation, or a chained series of calls.

  Invocation: [
-    o "Value Arguments",                        -> new CallNode $1, $2
-    o "Invocation Arguments",                   -> new CallNode $1, $2
-  ]
#

The list of arguments to a function call.

  Arguments: [
-    o "CALL_START ArgList OptComma CALL_END",   -> $2
-  ]
#

Calling super.

  Super: [
+    o "Value OptFuncExist Arguments",           -> new CallNode $1, $3, $2
+    o "Invocation OptFuncExist Arguments",      -> new CallNode $1, $3, $2
     o "SUPER",                                  -> new CallNode 'super', [new SplatNode(new LiteralNode('arguments'))]
     o "SUPER Arguments",                        -> new CallNode 'super', $2
+  ]
#

An optional existence check on a function.

  OptFuncExist: [
+    o "",                                       -> no
+    o "FUNC_EXIST",                             -> yes
+  ]
#

The list of arguments to a function call.

  Arguments: [
+    o "CALL_START CALL_END",                    -> []
+    o "CALL_START ArgList OptComma CALL_END",   -> $2
   ]
#

A reference to the this current object.

  This: [
     o "THIS",                                   -> new ValueNode new LiteralNode 'this'
     o "@",                                      -> new ValueNode new LiteralNode 'this'
+  ]
+
+  RangeDots: [
+    o ". .",                                    -> 'inclusive'
+    o ". . .",                                  -> 'exclusive'
   ]
#

A reference to a property on this.

  ThisProperty: [
     o "@ Identifier",                           -> new ValueNode new LiteralNode('this'), [new AccessorNode($2)]
   ]
#

The CoffeeScript range literal.

  Range: [
-    o "[ Expression . . Expression ]",          -> new RangeNode $2, $5
-    o "[ Expression . . . Expression ]",        -> new RangeNode $2, $6, true
+    o "[ Expression RangeDots Expression ]",    -> new RangeNode $2, $4, $3
   ]
#

The slice literal.

  Slice: [
-    o "INDEX_START Expression . . Expression INDEX_END", -> new RangeNode $2, $5
-    o "INDEX_START Expression . . . Expression INDEX_END", -> new RangeNode $2, $6, true
-    o "INDEX_START Expression . . INDEX_END",   -> new RangeNode $2, null
-    o "INDEX_START Expression . . . INDEX_END", -> new RangeNode $2, null, true
-    o "INDEX_START . . Expression INDEX_END",   -> new RangeNode null, $4
-    o "INDEX_START . . . Expression INDEX_END", -> new RangeNode null, $5, true
+    o "INDEX_START Expression RangeDots Expression INDEX_END", -> new RangeNode $2, $4, $3
+    o "INDEX_START Expression RangeDots INDEX_END", -> new RangeNode $2, null, $3
+    o "INDEX_START RangeDots Expression INDEX_END", -> new RangeNode null, $3, $2
   ]
#

The array literal.

  Array: [
+    o "[ ]",                                    -> new ArrayNode []
     o "[ ArgList OptComma ]",                   -> new ArrayNode $2
   ]
#

The ArgList is both the list of objects passed into a function call, as well as the contents of an array literal (i.e. comma-separated expressions). Newlines work as well.

  ArgList: [
-    o "",                                       -> []
     o "Arg",                                    -> [$1]
     o "ArgList , Arg",                          -> $1.concat [$3]
     o "ArgList OptComma TERMINATOR Arg",        -> $1.concat [$4]
+    o "INDENT ArgList OptComma OUTDENT",        -> $2
     o "ArgList OptComma INDENT ArgList OptComma OUTDENT", -> $1.concat $4
   ]
#

Valid arguments are Expressions or Splats.

  Arg: [
     o "Expression"
@@ -303,34 +307,36 @@ in fixed-size increments.

o "IN Expression BY Expression", -> source: $2, step: $4 o "IN Expression WHEN Expression BY Expression", -> source: $2, guard: $4, step: $6 o "IN Expression BY Expression WHEN Expression", -> source: $2, step: $4, guard: $6 - ]
#

The CoffeeScript switch/when/else block replaces the JavaScript -switch/case/default by compiling into an if-else chain.

  Switch: [
-    o "SWITCH Expression INDENT Whens OUTDENT", -> $4.switchesOver $2
-    o "SWITCH Expression INDENT Whens ELSE Block OUTDENT", -> $4.switchesOver($2).addElse $6, true
-    o "SWITCH INDENT Whens OUTDENT",            -> $3
-    o "SWITCH INDENT Whens ELSE Block OUTDENT", -> $3.addElse $5, true
-  ]
#

The inner list of whens is left recursive. At code-generation time, the -IfNode will rewrite them into a proper chain.

  Whens: [
+  ]
+
+  Switch: [
+    o "SWITCH Expression INDENT Whens OUTDENT", -> new SwitchNode $2, $4
+    o "SWITCH Expression INDENT Whens ELSE Block OUTDENT", -> new SwitchNode $2, $4, $6
+    o "SWITCH INDENT Whens OUTDENT",            -> new SwitchNode null, $3
+    o "SWITCH INDENT Whens ELSE Block OUTDENT", -> new SwitchNode null, $3, $5
+  ]
+
+  Whens: [
     o "When"
-    o "Whens When",                             -> $1.addElse $2
-  ]
#

An individual When clause, with action.

  When: [
-    o "LEADING_WHEN SimpleArgs Block",            -> new IfNode $2, $3, statement: true
-    o "LEADING_WHEN SimpleArgs Block TERMINATOR", -> new IfNode $2, $3, statement: true
-  ]
#

The most basic form of if is a condition and an action. The following + o "Whens When", -> $1.concat $2 + ]

#

An individual When clause, with action.

  When: [
+    o "LEADING_WHEN SimpleArgs Block",            -> [[$2, $3]]
+    o "LEADING_WHEN SimpleArgs Block TERMINATOR", -> [[$2, $3]]
+  ]
#

The most basic form of if is a condition and an action. The following if-related rules are broken up along these lines in order to avoid ambiguity.

  IfBlock: [
     o "IF Expression Block",                    -> new IfNode $2, $3
     o "UNLESS Expression Block",                -> new IfNode $2, $3, invert: true
     o "IfBlock ELSE IF Expression Block",       -> $1.addElse (new IfNode($4, $5)).forceStatement()
     o "IfBlock ELSE Block",                     -> $1.addElse $3
-  ]
#

The full complement of if expressions, including postfix one-liner + ]

#

The full complement of if expressions, including postfix one-liner if and unless.

  If: [
     o "IfBlock"
     o "Statement POST_IF Expression",           -> new IfNode $3, Expressions.wrap([$1]), statement: true
     o "Expression POST_IF Expression",          -> new IfNode $3, Expressions.wrap([$1]), statement: true
     o "Statement POST_UNLESS Expression",       -> new IfNode $3, Expressions.wrap([$1]), statement: true, invert: true
     o "Expression POST_UNLESS Expression",      -> new IfNode $3, Expressions.wrap([$1]), statement: true, invert: true
-  ]
#

Arithmetic and logical operators, working on one or more operands. + ]

#

Arithmetic and logical operators, working on one or more operands. Here they are grouped by order of precedence. The actual precedence rules are defined at the bottom of the page. It would be shorter if we could combine most of these rules into a single generic Operand OpSymbol Operand @@ -364,7 +370,7 @@ rules are necessary.

o "Expression UNARY IN Expression", -> new OpNode $2, new InNode $1, $4 o "Expression UNARY OF Expression", -> new OpNode $2, new ParentheticalNode new OpNode 'in', $1, $4 o "Expression UNARY INSTANCEOF Expression", -> new OpNode $2, new ParentheticalNode new OpNode 'instanceof', $1, $4 - ]
#

Precedence

#

Operators at the top of this list have higher precedence than the ones lower + ]

#

Precedence

#

Operators at the top of this list have higher precedence than the ones lower down. Following these rules is what makes 2 + 3 * 4 parse as:

2 + (3 * 4)
@@ -375,6 +381,7 @@ down. Following these rules is what makes 2 + 3 * 4 parse as:

(2 + 3) * 4
 
operators = [
   ["right",     '?', 'NEW']
+  ["left",      'CALL_START', 'CALL_END']
   ["nonassoc",  '++', '--']
   ["right",     'UNARY']
   ["left",      'MATH']
@@ -391,7 +398,7 @@ down. Following these rules is what makes 2 + 3 * 4 parse as:

["right", 'IF', 'UNLESS', 'ELSE', 'FOR', 'WHILE', 'UNTIL', 'LOOP', 'SUPER', 'CLASS', 'EXTENDS'] ["right", '=', ':', 'RETURN'] ["right", '->', '=>', 'UNLESS', 'POST_IF', 'POST_UNLESS'] -]
#

Wrapping Up

#

Finally, now what we have our grammar and our operators, we can create +]

#

Wrapping Up

#

Finally, now what we have our grammar and our operators, we can create our Jison.Parser. We do this by processing all of our rules, recording all terminals (every symbol which does not appear as the name of a rule above) as "tokens".

tokens = []
@@ -400,7 +407,7 @@ as "tokens".

< for token in alt[0].split ' ' tokens.push token unless grammar[token] alt[1] = "return #{alt[1]}" if name is 'Root' - alt
#

Initialize the Parser with our list of terminal tokens, our grammar + alt

#

Initialize the Parser with our list of terminal tokens, our grammar rules, and the name of the root. Reverse the operators because Jison orders precedence from low to high, and we have it high to low (as in Yacc).

exports.parser = new Parser
diff --git a/documentation/docs/helpers.html b/documentation/docs/helpers.html
index 04d1e6b5..63ba5a5a 100644
--- a/documentation/docs/helpers.html
+++ b/documentation/docs/helpers.html
@@ -1,4 +1,4 @@
-      helpers.coffee           

helpers.coffee

#

This file contains the common helper functions that we'd like to share among + helpers.coffee

helpers.coffee

#

This file contains the common helper functions that we'd like to share among the Lexer, Rewriter, and the Nodes. Merge objects, flatten arrays, count characters, that sort of thing.

#

Set up exported variables for both Node.js and the browser.

this.exports = this unless process?
 helpers = exports.helpers = {}
#

Cross-browser indexOf, so that IE can join the party.

helpers.indexOf = indexOf = (array, item, from) ->
diff --git a/documentation/docs/index.html b/documentation/docs/index.html
index ea8f8bbf..4dcd19c6 100644
--- a/documentation/docs/index.html
+++ b/documentation/docs/index.html
@@ -1,3 +1,3 @@
-      index.coffee           

index.coffee

#

Loader for CoffeeScript as a Node.js library.

(exports[key] = val) for key, val of require './coffee-script'
+      index.coffee              
\ No newline at end of file
diff --git a/documentation/docs/lexer.html b/documentation/docs/lexer.html
index 2e75280a..0db93604 100644
--- a/documentation/docs/lexer.html
+++ b/documentation/docs/lexer.html
@@ -1,4 +1,4 @@
-      lexer.coffee           

lexer.coffee

#

The CoffeeScript Lexer. Uses a series of token-matching regexes to attempt + lexer.coffee

"for","in","while","delete","instanceof","typeof","switch","super","extends","class", - "this","null" + "this","null","debugger"]]

lexer.coffee

#

The CoffeeScript Lexer. Uses a series of token-matching regexes to attempt matches against the beginning of the source code. When a match is found, a token is produced, we consume the match, and start again. Tokens are in the form:

@@ -7,8 +7,8 @@ form:

Which is a format that can be fed directly into Jison.

#

Set up the Lexer for both Node.js and the browser, depending on where we are.

if process?
-  {Rewriter} = require('./rewriter')
-  {helpers}  = require('./helpers')
+  {Rewriter} = require './rewriter'
+  {helpers}  = require './helpers'
 else
   this.exports = this
   Rewriter     = this.Rewriter
@@ -32,7 +32,8 @@ unless explicitly asked not to.

@i = 0 # Current character position we're parsing. @line = o.line or 0 # The current line. @indent = 0 # The current indentation level. - @outdebt = 0 # The under-outdentation of the last outdent. + @indebt = 0 # The over-indentation at the current level. + @outdebt = 0 # The under-outdentation at the current level. @indents = [] # The stack of all current indentation levels. @tokens = [] # Stream of parsed tokens in the form ['TYPE', value, line] while @i < @code.length @@ -99,7 +100,7 @@ are balanced within the string's contents, and within nested interpolations.

@i += string.length true
#

Matches heredocs, adjusting indentation to the correct level, as heredocs preserve whitespace, but ignore indentation to the left.

  heredocToken: ->
-    return false unless match = @chunk.match(HEREDOC)
+    return false unless match = @chunk.match HEREDOC
     quote = match[1].substr 0, 1
     doc = @sanitizeHeredoc match[2] or match[4] or '', {quote}
     @interpolateString quote + doc + quote, heredoc: yes
@@ -157,16 +158,19 @@ can close multiple indents, so we need to know how far in we happen to be.

size = indent.match(LAST_DENTS).reverse()[0].match(LAST_DENT)[1].length nextCharacter = @match NEXT_CHARACTER, 1 noNewlines = nextCharacter is '.' or nextCharacter is ',' or @unfinished() - if size is @indent + if size - @indebt is @indent return @suppressNewlines() if noNewlines return @newlineToken indent else if size > @indent - return @suppressNewlines() if noNewlines + if noNewlines + @indebt = size - @indent + return @suppressNewlines() diff = size - @indent + @outdebt @token 'INDENT', diff @indents.push diff - @outdebt = 0 + @outdebt = @indebt = 0 else + @indebt = 0 @outdentToken @indent - size, noNewlines @indent = size true
#

Record an outdent token or multiple tokens, if we happen to be moving back @@ -211,12 +215,12 @@ parentheses that indicate a method call from regular parentheses, and so on.

@tagParameters() if value and value.match CODE value or= @chunk.substr 0, 1 @i += value.length - spaced = @prev() and @prev().spaced + spaced = (prev = @prev()) and prev.spaced tag = value if value is '=' @assignmentError() if include JS_FORBIDDEN, @value() if @value() in ['or', 'and'] - @tokens.splice(@tokens.length - 1, 1, ['COMPOUND_ASSIGN', CONVERSIONS[@value()] + '=', @prev()[2]]) + @tokens.splice(@tokens.length - 1, 1, ['COMPOUND_ASSIGN', CONVERSIONS[@value()] + '=', prev[2]]) return true if value is ';' then tag = 'TERMINATOR' else if include(LOGIC, value) then tag = 'LOGIC' @@ -227,6 +231,7 @@ parentheses that indicate a method call from regular parentheses, and so on.

else if include(SHIFT, value) then tag = 'SHIFT' else if include(CALLABLE, @tag()) and not spaced if value is '(' + prev[0] = 'FUNC_EXIST' if prev[0] is '?' tag = 'CALL_START' else if value is '[' tag = 'INDEX_START' @@ -249,13 +254,14 @@ is the previous token.

prev[0] is '@' if accessor then 'accessor' else false
#

Sanitize a heredoc or herecomment by escaping internal double quotes and erasing all external indentation on the left-hand side.

  sanitizeHeredoc: (doc, options) ->
-    indent = options.indent or ''
+    indent = options.indent
     return doc if options.herecomment and not include doc, '\n'
     unless options.herecomment
-      while match = HEREDOC_INDENT.exec(doc)
+      while (match = HEREDOC_INDENT.exec(doc)) isnt null
         attempt = if match[2]? then match[2] else match[3]
-        indent = attempt if not indent or attempt.length < indent.length
-    doc = doc.replace(new RegExp("^" + indent, 'gm'), '')
+        indent = attempt if not indent? or attempt.length < indent.length
+    indent or= ''
+    doc = doc.replace(new RegExp("^" + indent, 'gm'), '').replace(/^\n/, '')
     return doc if options.herecomment
     doc.replace(MULTILINER, "\\n")
        .replace(new RegExp(options.quote, 'g'), "\\#{options.quote}")
#

A source of ambiguity in our grammar used to be parameter lists in function @@ -378,7 +384,7 @@ match if successful, and false otherwise.

#

CoffeeScript-only keywords, which we're more relaxed about allowing. They can't be used standalone, but you can reference them as an attached property.

COFFEE_ALIASES =  ["and", "or", "is", "isnt", "not"]
 COFFEE_KEYWORDS = COFFEE_ALIASES.concat [
@@ -394,7 +400,7 @@ to avoid having a JavaScript error at runtime.

#

The superset of both JavaScript keywords and reserved words, none of which may be used as identifiers or properties.

JS_FORBIDDEN = JS_KEYWORDS.concat RESERVED
#

Token matching regexes.

IDENTIFIER    = /^([a-zA-Z\$_](\w|\$)*)/
 NUMBER        = /^(((\b0(x|X)[0-9a-fA-F]+)|((\b[0-9]+(\.[0-9]+)?|\.[0-9]+)(e[+\-]?[0-9]+)?)))\b/i
-HEREDOC       = /^("{6}|'{6}|"{3}\n?([\s\S]*?)\n?([ \t]*)"{3}|'{3}\n?([\s\S]*?)\n?([ \t]*)'{3})/
+HEREDOC       = /^("{6}|'{6}|"{3}([\s\S]*?)\n?([ \t]*)"{3}|'{3}([\s\S]*?)\n?([ \t]*)'{3})/
 OPERATOR      = /^(-[\-=>]?|\+[+=]?|[*&|\/%=<>^:!?]+)([ \t]*)/
 WHITESPACE    = /^([ \t]+)/
 COMMENT       = /^(([ \t]*\n)*([ \t]*)###([^#][\s\S]*?)(###[ \t]*\n|(###)?$)|(\s*#(?!##[^#])[^\n]*)+)/
@@ -408,7 +414,7 @@ be used as identifiers or properties.

MULTILINER = /\n/g NO_NEWLINE = /^([+\*&|\/\-%=<>!.\\][<>=&|]*|and|or|is|isnt|not|delete|typeof|instanceof)$/ HEREDOC_INDENT = /(\n+([ \t]*)|^([ \t]+))/g -ASSIGNED = /^\s*(([a-zA-Z\$_@]\w*|["'][^\r\n]+?["']|\d+)[ \t]*?[:=][^=])/ +ASSIGNED = /^\s*(([a-zA-Z\$_@]\w*|["'][^\r\n]+?["']|\d+)[ \t]*?[:=][^:=])/ NEXT_CHARACTER = /^\s*(\S)/
#

Compound assignment tokens.

COMPOUND_ASSIGN = ['-=', '+=', '/=', '*=', '%=', '||=', '&&=', '?=', '<<=', '>>=', '>>>=', '&=', '^=', '|=']
#

Unary tokens.

UNARY   = ['UMINUS', 'UPLUS', '!', '!!', '~', 'TYPEOF', 'DELETE']
#

Logical tokens.

LOGIC   = ['&', '|', '^', '&&', '||']
#

Bit-shifting tokens.

SHIFT   = ['<<', '>>', '>>>']
#

Comparison tokens.

COMPARE = ['<=', '<', '>', '>=']
#

Mathmatical tokens.

MATH    = ['*', '/', '%']
#

Tokens which a regular expression will never immediately follow, but which a division operator might.

diff --git a/documentation/docs/nodes.html b/documentation/docs/nodes.html index 94998e46..c3c420b9 100644 --- a/documentation/docs/nodes.html +++ b/documentation/docs/nodes.html @@ -1,4 +1,4 @@ - nodes.coffee

nodes.coffee

#

nodes.coffee contains all of the node classes for the syntax tree. Most + nodes.coffee

op = @tags.operationprops = ifonlythen@properties[0...@properties.length-1]else@propertieso.chainRootor=this + forpropinprops + hasSoak = yesifprop.soakNode + ifhasSoakand@containsTypeCallNode + [me,copy]=@cacheIndexeso@base.parenthetical = yesif@parentheticalandnotprops.lengthbaseline = @base.compileobaseline = "(#{baseline})"if@hasProperties()and(@baseinstanceofObjectNodeor@isNumber()) @@ -245,7 +251,7 @@ evaluate a anything twice when building the soak chain.

forprop,iinprops@source = baselineifprop.soakNode - if@baseinstanceofCallNodeor@base.contains((n)->ninstanceofCallNode)andiis0 + if@base.containsType(CallNode)andiis0temp = o.scope.freeVariable()complete = "(#{ baseline = temp } = (#{complete}))"complete = ifiis0 @@ -255,7 +261,10 @@ evaluate a anything twice when building the soak chain.

complete+=(baseline+=prop.compile(o))elsepart = prop.compile(o) - baseline+=part + ifhasSoakandprop.containsTypeCallNode + baseline+=copy.properties[i].compileo + else + baseline+=partcomplete+=part@last = part @@ -278,12 +287,13 @@ calls against the prototype's function of the same name.

class:'CallNode'children:['variable','args'] - constructor:(variable,@args)-> + constructor:(variable,@args,@exist)->super()@isNew = false@isSuper = variableis'super'@variable = if@isSuperthennullelsevariable@argsor=[] + @first = @last = ''@compileSplatArguments = (o)->SplatNode.compileSplattedArray.call(this,@args,o)prefix:->if@isNewthen'new 'else''"#{methname}.__super__.constructor"elsethrownewError"cannot call super on an anonymous function."' else '+@elseBodyNode().compile(merge(o,{indent:@idt(),chainChild:true}))else" else {\n#{ @elseBody.compile(o) }\n#{@tab}}" - "#{ifPart}#{elsePart}"

nodes.coffee

#

nodes.coffee contains all of the node classes for the syntax tree. Most nodes are created as the result of actions in the grammar, but some are created by other nodes as a method of code generation. To convert the syntax tree into a string of JavaScript code, call compile() on the root.

#

Set up for both Node.js and the browser, by @@ -44,7 +44,7 @@ object with their parent closure, to preserve the expected lexical scope.

in multiple places, ensure that the expression is only ever evaluated once, by assigning it to a temporary variable.

  compileReference: (o, options) ->
     options or= {}
-    pair = if not ((this instanceof CallNode or @contains((n) -> n instanceof CallNode)) or
+    pair = if not (@containsType(CallNode) or
                   (this instanceof ValueNode and (not (@base instanceof LiteralNode) or @hasProperties())))
       [this, this]
     else if this instanceof ValueNode and options.assignment
@@ -162,7 +162,7 @@ JavaScript without translation, such as: strings, numbers,
   makeReturn: ->
     if @isStatement() then this else super()
#

Break and continue must be treated as pure statements -- they lose their meaning when wrapped in a closure.

  isStatement: ->
-    @value is 'break' or @value is 'continue'
+    @value is 'break' or @value is 'continue' or @value is 'debugger'
   isPureStatement: LiteralNode::isStatement
 
   compileNode: (o) ->
@@ -223,6 +223,8 @@ properties.

  cacheIndexes: (o) ->
     copy = new ValueNode @base, @properties[0..]
+    if @base instanceof CallNode
+      [@base, copy.base] = @base.compileReference o
     for prop, i in copy.properties
       if prop instanceof IndexNode and prop.contains((n) -> n instanceof CallNode)
         [index, indexVar] = prop.index.compileReference o
@@ -237,6 +239,10 @@ evaluate a anything twice when building the soak chain.

#

Tag this invocation as creating a new instance.

  newInstance: ->
     @isNew = true
@@ -291,6 +301,7 @@ calls against the prototype's function of the same name.

#

Grab the reference to the superclass' implementation of the current method.

  superReference: (o) ->
+    throw new Error "cannot call super outside of a function" unless o.scope.method
     methname = o.scope.method.name
     meth = if o.scope.method.proto
       "#{o.scope.method.proto}.__super__.#{methname}"
@@ -298,40 +309,52 @@ calls against the prototype's function of the same name.

#

Compile a vanilla function call.

  compileNode: (o) ->
     o.chainRoot = this unless o.chainRoot
+    op = @tags.operation
+    if @exist
+      [@first, @meth] = @variable.compileReference o, precompile: yes
+      @first = "(typeof #{@first} === \"function\" ? "
+      @last  = " : undefined)"
+    else if @variable then @meth = @variable.compile o
     for arg in @args when arg instanceof SplatNode
-      compilation = @compileSplat(o)
-    if not compilation
+      code = @compileSplat(o)
+    if not code
       args = for arg in @args
         arg.parenthetical = true
         arg.compile o
-      compilation = if @isSuper
+      code = if @isSuper
         @compileSuper(args.join(', '), o)
       else
-        "#{@prefix()}#{@variable.compile(o)}(#{ args.join(', ') })"
-    compilation
#

super() is converted into a call against the superclass's implementation + "#{@first}#{@prefix()}#{@meth}(#{ args.join(', ') })#{@last}" + if op and @variable and @variable.wrapped then "(#{code})" else code

#

super() is converted into a call against the superclass's implementation of the current function.

  compileSuper: (args, o) ->
     "#{@superReference(o)}.call(this#{ if args.length then ', ' else '' }#{args})"
#

If you call a function with a splat, it's converted into a JavaScript .apply() call to allow an array of arguments to be passed. If it's a constructor, then things get real tricky. We have to inject an inner constructor in order to be able to pass the varargs.

  compileSplat: (o) ->
-    meth = if @variable then @variable.compile(o) else @superReference(o)
-    obj =  @variable and @variable.source or 'this'
+    meth = @meth or @superReference(o)
+    obj  = @variable and @variable.source or 'this'
     if obj.match(/\(/)
       temp = o.scope.freeVariable()
-      obj =  temp
+      obj  = temp
       meth = "(#{temp} = #{ @variable.source })#{ @variable.last }"
     if @isNew
+      mentionsArgs = no
+      for arg in @args
+        arg.contains (n) -> mentionsArgs or= n instanceof LiteralNode and (n.value is 'arguments')
       utility 'extends'
+      a = o.scope.freeVariable()
+      b = o.scope.freeVariable()
+      c = o.scope.freeVariable()
       """
-      (function() {
 
 #DIVIDER
       """
     else
-      "#{@prefix()}#{meth}.apply(#{obj}, #{ @compileSplatArguments(o) })"
#

{@idt(1)}var ctor = function(){}; -{@idt(1)}__extends(ctor, #{meth}); -{@idt(1)}return #{meth}.apply(new ctor, #{ @compileSplatArguments(o) }); -{@tab}}).call(this)

#

ExtendsNode

exports.ExtendsNode = class ExtendsNode extends BaseNode
+      "#{@first}#{@prefix()}#{meth}.apply(#{obj}, #{ @compileSplatArguments(o) })#{@last}"
#

{@first}(function() { +{@idt(1)}var ctor = function(){}; +{@idt(1)}__extends(ctor, #{a} = #{meth}); +{@idt(1)}return typeof (#{b} = #{a}.apply(#{c} = new ctor, #{ @compileSplatArguments(o) })) === "object" ? #{b} : #{c}; +{@tab}}).#{ if mentionsArgs then 'apply(this, arguments)' else 'call(this)'}#{@last}

#

ExtendsNode

exports.ExtendsNode = class ExtendsNode extends BaseNode
 
   class:     'ExtendsNode'
   children: ['child', 'parent']
@@ -373,9 +396,9 @@ an accessor into the object's prototype.

class: 'RangeNode' children: ['from', 'to'] - constructor: (@from, @to, exclusive) -> + constructor: (@from, @to, tag) -> super() - @exclusive = !!exclusive + @exclusive = tag is 'exclusive' @equals = if @exclusive then '' else '='
#

A range literal. Ranges can be used to extract portions (slices) of arrays, to specify a range for comprehensions, or as a value, to be expanded into the corresponding array of integers at runtime.

  compileVariables: (o) ->
@@ -1015,8 +1038,8 @@ you can map and filter in a single pass.

scope = o.scope name = (@name and @name.compile(o)) or scope.freeVariable() index = @index and @index.compile o - scope.find name if name and not @pattern and (range or not codeInBody) - scope.find index if index + scope.find(name, immediate: yes) if name and not @pattern and (range or not codeInBody) + scope.find(index, immediate: yes) if index rvar = scope.freeVariable() unless topLevel ivar = if codeInBody then scope.freeVariable() else if range then name else index or scope.freeVariable() varPart = '' @@ -1058,10 +1081,42 @@ you can map and filter in a single pass.

"#{sourcePart}for (#{forPart}) {#{guardPart}\n#{varPart}#{body}\n#{@tab}}#{returnResult}"
#

Welcome to the hairiest method in all of CoffeeScript. Handles the inner loop, filtering, stepping, and result saving for array, object, and range comprehensions. Some of the generated code can be shared in common, and -some cannot.

#

IfNode

exports.IfNode = class IfNode extends BaseNode
+some cannot.

#

SwitchNode

exports.SwitchNode = class SwitchNode extends BaseNode
+
+  class:     'SwitchNode'
+  children: ['subject', 'cases', 'otherwise']
+
+  isStatement: -> yes
+
+  constructor: (@subject, @cases, @otherwise) ->
+    super()
+    @tags.subjectless = !@subject
+    @subject or= literal 'true'
+
+  makeReturn: ->
+    pair[1].makeReturn() for pair in @cases
+    @otherwise.makeReturn() if @otherwise
+    this
+
+  compileNode: (o) ->
+    idt = o.indent = @idt 1
+    o.top = yes
+    code = "#{ @tab }switch (#{ @subject.compile o }) {"
+    for pair in @cases
+      [conditions, block] = pair
+      exprs = block.expressions
+      for condition in flatten [conditions]
+        condition = new OpNode '!!', new ParentheticalNode condition if @tags.subjectless
+        code += "\n#{ @tab }case #{ condition.compile o }:"
+      code += "\n#{ block.compile o }"
+      code += "\n#{ idt }break;" unless exprs[exprs.length - 1] instanceof ReturnNode
+    if @otherwise
+      code += "\n#{ @tab }default:\n#{ @otherwise.compile o }"
+    code += "\n#{ @tab }}"
+    code
#

A JavaScript switch statement. Converts into a returnable expression on-demand.

#

IfNode

exports.IfNode = class IfNode extends BaseNode
 
   class:     'IfNode'
-  children: ['condition', 'switchSubject', 'body', 'elseBody', 'assigner']
+  children: ['condition', 'body', 'elseBody', 'assigner']
 
   topSensitive: -> true
 
@@ -1080,31 +1135,17 @@ some cannot.

< forceStatement: -> @tags.statement = true - this
#

If/else statements. Our switch/when will be compiled into this. Acts as an -expression by pushing down requested returns to the last line of each clause.

+ this
#

If/else statements. Acts as an expression by pushing down requested returns +to the last line of each clause.

Single-expression IfNodes are compiled into ternary operators if possible, -because ternaries are already proper expressions, and don't need conversion.

  switchesOver: (expression) ->
-    @switchSubject = expression
-    this
#

Tag a chain of IfNodes with their object(s) to switch on for equality -tests. rewriteSwitch will perform the actual change at compile time.

  rewriteSwitch: (o) ->
-    @assigner = @switchSubject
-    unless (@switchSubject.unwrap() instanceof LiteralNode)
-      variable = literal(o.scope.freeVariable())
-      @assigner = new AssignNode(variable, @switchSubject)
-      @switchSubject = variable
-    @condition = for cond, i in flatten [@condition]
-      cond = new ParentheticalNode(cond) if cond instanceof OpNode
-      new OpNode('==', (if i is 0 then @assigner else @switchSubject), cond)
-    @elseBodyNode().switchesOver(@switchSubject) if @isChain
#

Rewrite a chain of IfNodes with their switch condition for equality. -Ensure that the switch expression isn't evaluated more than once.

    @switchSubject = undefined
-    this
#

prevent this rewrite from happening again

  addElse: (elseBody, statement) ->
+because ternaries are already proper expressions, and don't need conversion.

  addElse: (elseBody, statement) ->
     if @isChain
       @elseBodyNode().addElse elseBody, statement
     else
       @isChain = elseBody instanceof IfNode
       @elseBody = @ensureExpressions elseBody
-    this
#

Rewrite a chain of IfNodes to add a default case as the final else.

  isStatement: (o) ->
+    this
#

Rewrite a chain of IfNodes to add a default case as the final else.

  isStatement: (o) ->
     @statement or= !!((o and o.top) or @tags.statement or @bodyNode().isStatement(o) or (@elseBody and @elseBodyNode().isStatement(o)))
 
   compileCondition: (o) ->
@@ -1124,9 +1165,8 @@ Ensure that the switch expression isn't evaluated more than once.

new ReturnNode this ensureExpressions: (node) -> - if node instanceof Expressions then node else new Expressions [node]
#

The IfNode only compiles into a statement if either of its bodies needs + if node instanceof Expressions then node else new Expressions [node]

#

The IfNode only compiles into a statement if either of its bodies needs to be a statement. Otherwise a ternary is safe.

  compileStatement: (o) ->
-    @rewriteSwitch(o) if @switchSubject
     top      = del o, 'top'
     child    = del o, 'chainChild'
     condO    = merge o
@@ -1141,23 +1181,23 @@ to be a statement. Otherwise a ternary is safe.

#

Compile the IfNode as a regular if-else statement. Flattened chains + "#{ifPart}#{elsePart}"

#

Compile the IfNode as a regular if-else statement. Flattened chains force inner else bodies into statement form.

  compileTernary: (o) ->
     @bodyNode().tags.operation = @condition.tags.operation = yes
     @elseBodyNode().tags.operation = yes if @elseBody
     ifPart      = @condition.compile(o) + ' ? ' + @bodyNode().compile(o)
     elsePart    = if @elseBody then @elseBodyNode().compile(o) else 'null'
     code        = "#{ifPart} : #{elsePart}"
-    if @tags.operation then "(#{code})" else code
#

Compile the IfNode as a ternary operator.

#

Faux-Nodes

#

PushNode

PushNode = exports.PushNode =
+    if @tags.operation then "(#{code})" else code
#

Compile the IfNode as a ternary operator.

#

Faux-Nodes

#

PushNode

PushNode = exports.PushNode =
   wrap: (array, expressions) ->
     expr = expressions.unwrap()
     return expressions if expr.isPureStatement() or expr.containsPureStatement()
     Expressions.wrap([new CallNode(
       new ValueNode(literal(array), [new AccessorNode(literal('push'))]), [expr]
-    )])
#

Faux-nodes are never created by the grammar, but are used during code + )])

#

Faux-nodes are never created by the grammar, but are used during code generation to generate other combinations of nodes. The PushNode creates the tree for array.push(value), which is helpful for recording the result -arrays from comprehensions.

#

ClosureNode

ClosureNode = exports.ClosureNode =
#

A faux-node used to wrap an expressions body in a closure.

  wrap: (expressions, statement) ->
+arrays from comprehensions.

#

ClosureNode

ClosureNode = exports.ClosureNode =
#

A faux-node used to wrap an expressions body in a closure.

  wrap: (expressions, statement) ->
     return expressions if expressions.containsPureStatement()
     func = new ParentheticalNode(new CodeNode([], Expressions.wrap([expressions])))
     args = []
@@ -1172,9 +1212,9 @@ arrays from comprehensions.

args.push literal 'arguments' if mentionsArgs func = new ValueNode func, [new AccessorNode(meth)] call = new CallNode(func, args) - if statement then Expressions.wrap([call]) else call
#

Wrap the expressions body, unless it contains a pure statement, + if statement then Expressions.wrap([call]) else call

#

Wrap the expressions body, unless it contains a pure statement, in which case, no dice. If the body mentions this or arguments, -then make sure that the closure wrapper preserves the original values.

UTILITIES =
#

Utility Functions

  extends:  """
+then make sure that the closure wrapper preserves the original values.

UTILITIES =
#

Utility Functions

  extends:  """
             function(child, parent) {
                 var ctor = function(){};
                 ctor.prototype = parent.prototype;
@@ -1183,20 +1223,20 @@ then make sure that the closure wrapper preserves the original values.

if (typeof parent.extended === "function") parent.extended(child); child.__super__ = parent.prototype; } - """
#

Correctly set up a prototype chain for inheritance, including a reference + """

#

Correctly set up a prototype chain for inheritance, including a reference to the superclass for super() calls. See: goog.inherits.

  bind: """
         function(func, context) {
             return function(){ return func.apply(context, arguments); };
           }
-        """
#

Create a function bound to the current value of "this".

  hasProp: 'Object.prototype.hasOwnProperty'
-  slice:   'Array.prototype.slice'
#

Shortcuts to speed up the lookup time for native functions.

#

Constants

TAB = '  '
#

Tabs are two spaces for pretty printing.

TRAILING_WHITESPACE = /[ \t]+$/gm
#

Trim out all trailing whitespace, so that the generated code plays nice + """

#

Create a function bound to the current value of "this".

  hasProp: 'Object.prototype.hasOwnProperty'
+  slice:   'Array.prototype.slice'
#

Shortcuts to speed up the lookup time for native functions.

#

Constants

TAB = '  '
#

Tabs are two spaces for pretty printing.

TRAILING_WHITESPACE = /[ \t]+$/gm
#

Trim out all trailing whitespace, so that the generated code plays nice with Git.

IDENTIFIER = /^[a-zA-Z\$_](\w|\$)*$/
 NUMBER     = /^(((\b0(x|X)[0-9a-fA-F]+)|((\b[0-9]+(\.[0-9]+)?|\.[0-9]+)(e[+\-]?[0-9]+)?)))\b$/i
-SIMPLENUM  = /^-?\d+/
#

Keep these identifier regexes in sync with the Lexer.

IS_STRING = /^['"]/
#

Is a literal value a string?

#

Utility Functions

literal = (name) ->
-  new LiteralNode(name)
#

Handy helper for a generating LiteralNode.

utility = (name) ->
+SIMPLENUM  = /^-?\d+$/
#

Keep these identifier regexes in sync with the Lexer.

IS_STRING = /^['"]/
#

Is a literal value a string?

#

Utility Functions

literal = (name) ->
+  new LiteralNode(name)
#

Handy helper for a generating LiteralNode.

utility = (name) ->
   ref = "__#{name}"
   Scope.root.assign ref, UTILITIES[name]
   ref
 
-
#

Helper for ensuring that utility functions are assigned at the top level.

undefined
\ No newline at end of file +
#

Helper for ensuring that utility functions are assigned at the top level.

undefined
\ No newline at end of file diff --git a/documentation/docs/optparse.html b/documentation/docs/optparse.html index d4a5e4f0..b4c5a52a 100644 --- a/documentation/docs/optparse.html +++ b/documentation/docs/optparse.html @@ -1,4 +1,4 @@ - optparse.coffee

optparse.coffee

#

A simple OptionParser class to parse option flags from the command-line. + optparse.coffee

optparse.coffee

#

A simple OptionParser class to parse option flags from the command-line. Use it like so:

parser  = new OptionParser switches, helpBanner
diff --git a/documentation/docs/repl.html b/documentation/docs/repl.html
index c8c4af0d..514fb601 100644
--- a/documentation/docs/repl.html
+++ b/documentation/docs/repl.html
@@ -1,4 +1,4 @@
-      repl.coffee           

repl.coffee

#

A very simple Read-Eval-Print-Loop. Compiles one line at a time to JavaScript + repl.coffee

repl.coffee

#

A very simple Read-Eval-Print-Loop. Compiles one line at a time to JavaScript and evaluates it. Good for simple tests, or poking around the Node.js API. Using it looks like this:

diff --git a/documentation/docs/rewriter.html b/documentation/docs/rewriter.html index 8bd0a178..ee75263f 100644 --- a/documentation/docs/rewriter.html +++ b/documentation/docs/rewriter.html @@ -1,4 +1,4 @@ - rewriter.coffee

rewriter.coffee

#

The CoffeeScript language has a good deal of optional syntax, implicit syntax, + rewriter.coffee

rewriter.coffee

#

The CoffeeScript language has a good deal of optional syntax, implicit syntax, and shorthand syntax. This can greatly complicate a grammar and bloat the resulting parse table. Instead of making the parser handle it all, we take a series of passes over the token stream, using this Rewriter to convert @@ -21,8 +21,8 @@ corrected before implicit parentheses can be wrapped around blocks of code.

@closeOpenCalls() @closeOpenIndexes() @addImplicitIndentation() - @addImplicitBraces() @tagPostfixConditionals() + @addImplicitBraces() @addImplicitParentheses() @ensureBalance BALANCED_PAIRS @rewriteClosingParens() @@ -74,11 +74,15 @@ this, remove their trailing newlines.

return 1 unless include(EXPRESSION_CLOSE, @tag(i + 1)) and token[0] is 'TERMINATOR' @tokens.splice i, 1 return 0
#

The lexer has tagged the opening parenthesis of a method call. Match it with -its paired close.

  closeOpenCalls: ->
+its paired close. We have the mis-nested outdent case included here for
+calls that close on the same line, just before their outdent.

  closeOpenCalls: ->
     @scanTokens (token, i) ->
       if token[0] is 'CALL_START'
-        condition = (token, i) -> token[0] in [')', 'CALL_END']
-        action    = (token, i) -> token[0] = 'CALL_END'
+        condition = (token, i) ->
+          (token[0] in [')', 'CALL_END']) or (token[0] is 'OUTDENT' and @tokens[i - 1][0] is ')')
+        action = (token, i) ->
+          idx = if token[0] is 'OUTDENT' then i - 1 else i
+          @tokens[idx][0] = 'CALL_END'
         @detectEnd i + 1, condition, action
       return 1
#

The lexer has tagged the opening parenthesis of an indexing operation call. Match it with its paired close.

  closeOpenIndexes: ->
@@ -122,18 +126,23 @@ deal with them.

idx = 1 callObject = not classLine and token[0] is 'INDENT' and next and next.generated and next[0] is '{' and prev and include(IMPLICIT_FUNC, prev[0]) idx = 2 if callObject + seenSingle = no classLine = no if include(LINEBREAKS, token[0]) - if prev and (prev.spaced and include(IMPLICIT_FUNC, prev[0]) and include(IMPLICIT_CALL, token[0]) and + token.call = yes if prev and not prev.spaced and token[0] is '?' + if prev and (prev.spaced and (include(IMPLICIT_FUNC, prev[0]) or prev.call) and include(IMPLICIT_CALL, token[0]) and not (token[0] is 'UNARY' and (@tag(i + 1) in ['IN', 'OF', 'INSTANCEOF']))) or callObject @tokens.splice i, 0, ['CALL_START', '(', token[2]] condition = (token, i) -> + return yes if not seenSingle and token.fromThen + seenSingle = yes if token[0] in ['IF', 'ELSE', 'UNLESS', '->', '=>'] (not token.generated and @tokens[i - 1][0] isnt ',' and include(IMPLICIT_END, token[0]) and - not (token[0] is 'INDENT' and (include(IMPLICIT_BLOCK, @tag(i - 1)) or @tag(i - 2) is 'CLASS'))) or + not (token[0] is 'INDENT' and (include(IMPLICIT_BLOCK, @tag(i - 1)) or @tag(i - 2) is 'CLASS' or @tag(i + 1) is '{'))) or token[0] is 'PROPERTY_ACCESS' and @tag(i - 1) is 'OUTDENT' action = (token, i) -> idx = if token[0] is 'OUTDENT' then i + 1 else i @tokens.splice idx, 0, ['CALL_END', ')', token[2]] @detectEnd i + idx, condition, action + prev[0] = 'FUNC_EXIST' if prev[0] is '?' return 2 return 1
#

Because our grammar is LALR(1), it can't handle some single-line expressions that lack ending delimiters. The Rewriter adds the implicit @@ -151,7 +160,8 @@ but we need to make sure it's balanced.

not (token[0] is 'ELSE' and @tag(i + 1) is 'IF') starter = token[0] [indent, outdent] = @indentation token - indent.generated = outdent.generated = true + indent.fromThen = true if starter is 'THEN' + indent.generated = outdent.generated = true @tokens.splice i + 1, 0, indent condition = (token, i) -> (include(SINGLE_CLOSERS, token[0]) and token[1] isnt ';') and @@ -245,7 +255,7 @@ rewriting. look things up from either end.

INVERSES = {}
 for pair in BALANCED_PAIRS
   INVERSES[pair[0]] = pair[1]
-  INVERSES[pair[1]] = pair[0]
#

The tokens that signal the start of a balanced pair.

EXPRESSION_START = pair[0] for pair in BALANCED_PAIRS
#

The tokens that signal the end of a balanced pair.

EXPRESSION_END   = pair[1] for pair in BALANCED_PAIRS
#

Tokens that indicate the close of a clause of an expression.

EXPRESSION_CLOSE = ['CATCH', 'WHEN', 'ELSE', 'FINALLY'].concat EXPRESSION_END
#

Tokens that, if followed by an IMPLICIT_CALL, indicate a function invocation.

IMPLICIT_FUNC    = ['IDENTIFIER', 'SUPER', ')', 'CALL_END', ']', 'INDEX_END', '@']
#

If preceded by an IMPLICIT_FUNC, indicates a function invocation.

IMPLICIT_CALL    = [
+  INVERSES[pair[1]] = pair[0]
#

The tokens that signal the start of a balanced pair.

EXPRESSION_START = pair[0] for pair in BALANCED_PAIRS
#

The tokens that signal the end of a balanced pair.

EXPRESSION_END   = pair[1] for pair in BALANCED_PAIRS
#

Tokens that indicate the close of a clause of an expression.

EXPRESSION_CLOSE = ['CATCH', 'WHEN', 'ELSE', 'FINALLY'].concat EXPRESSION_END
#

Tokens that, if followed by an IMPLICIT_CALL, indicate a function invocation.

IMPLICIT_FUNC    = ['IDENTIFIER', 'SUPER', ')', 'CALL_END', ']', 'INDEX_END', '@', 'THIS']
#

If preceded by an IMPLICIT_FUNC, indicates a function invocation.

IMPLICIT_CALL    = [
   'IDENTIFIER', 'NUMBER', 'STRING', 'JS', 'REGEX', 'NEW', 'PARAM_START', 'CLASS',
   'IF', 'UNLESS', 'TRY', 'SWITCH', 'THIS', 'NULL', 'UNARY'
   'TRUE', 'FALSE', 'YES', 'NO', 'ON', 'OFF',
diff --git a/documentation/docs/scope.html b/documentation/docs/scope.html
index 919e9cb6..97c05177 100644
--- a/documentation/docs/scope.html
+++ b/documentation/docs/scope.html
@@ -1,4 +1,4 @@
-      scope.coffee           

scope.coffee

#

The Scope class regulates lexical scoping within CoffeeScript. As you + scope.coffee

scope.coffee

#

The Scope class regulates lexical scoping within CoffeeScript. As you generate code, you create a tree of scopes in the same shape as the nested function bodies. Each scope knows about the variables declared within it, and has a reference to its parent enclosing scope. In this way, we know which @@ -16,16 +16,18 @@ it wraps.

else Scope.root = this @tempVar = '_a'
#

Look up a variable name in lexical scope, and declare it if it does not -already exist.

  find: (name) ->
-    return true if @check name
+already exist.

  find: (name, options) ->
+    return true if @check name, options
     @variables[name] = 'var'
     false
#

Test variables and return true the first time fn(v, k) returns true

  any: (fn) ->
     for v, k of @variables when fn(v, k)
       return true
     return false
#

Reserve a variable name as originating from a function parameter for this scope. No var required for internal references.

  parameter: (name) ->
-    @variables[name] = 'param'
#

Just check to see if a variable has already been declared, without reserving.

  check: (name) ->
-    return true if Object::hasOwnProperty.call @variables, name
+    @variables[name] = 'param'
#

Just check to see if a variable has already been declared, without reserving, +walks up to the root scope.

  check: (name, options) ->
+    immediate = Object::hasOwnProperty.call @variables, name
+    return immediate if immediate or (options and options.immediate)
     !!(@parent and @parent.check(name))
#

If we need to store an intermediate result, find an available name for a compiler-generated variable. _a, _b, and so on...

  freeVariable: ->
     while @check @tempVar
diff --git a/documentation/docs/underscore.html b/documentation/docs/underscore.html
index 46246ebd..d8127114 100644
--- a/documentation/docs/underscore.html
+++ b/documentation/docs/underscore.html
@@ -7,44 +7,290 @@ Portions of Underscore are inspired by or borrowed from
 Functional, and John Resig's
 Micro-Templating.
 For all details and documentation:
-http://documentcloud.github.com/underscore/

undefined
#

Baseline setup

undefined
#

Establish the root object, window in the browser, or global on the server.

undefined
#

Save the previous value of the _ variable.

undefined
#

Establish the object that gets thrown to break out of a loop iteration. -StopIteration is SOP on Mozilla.

undefined
#

Helper function to escape RegExp contents, because JS doesn't have one.

undefined
#

Save bytes in the minified (but not gzipped) version:

undefined
#

Create quick reference variables for speed access to core prototypes.

undefined
#

All ECMA5 native implementations we hope to use are declared here.

undefined
#

Create a safe reference to the Underscore object for use below.

undefined
#

Export the Underscore object for CommonJS.

undefined
#

Export Underscore to global scope.

undefined
#

Current version.

undefined
#

Collection Functions

undefined
#

The cornerstone, an each implementation. -Handles objects implementing forEach, arrays, and raw objects.

undefined
#

Return the results of applying the iterator to each element. Use JavaScript -1.6's version of map, if possible.

undefined
#

Reduce builds up a single result from a list of values. Also known as -inject, or foldl. Uses JavaScript 1.8's version of reduce, if possible.

undefined
#

The right-associative version of reduce, also known as foldr. Uses -JavaScript 1.8's version of reduceRight, if available.

undefined
#

Return the first value which passes a truth test.

undefined
#

Return all the elements that pass a truth test. Use JavaScript 1.6's -filter, if it exists.

undefined
#

Return all the elements for which a truth test fails.

undefined
#

Determine whether all of the elements match a truth test. Delegate to -JavaScript 1.6's every, if it is present.

undefined
#

Determine if at least one element in the object matches a truth test. Use -JavaScript 1.6's some, if it exists.

undefined
#

Determine if a given value is included in the array or object, -based on ===.

undefined
#

Invoke a method with arguments on every item in a collection.

undefined
#

Convenience version of a common use case of map: fetching a property.

undefined
#

Return the maximum item or (item-based computation).

undefined
#

Return the minimum element (or element-based computation).

undefined
#

Sort the object's values by a criterion produced by an iterator.

undefined
#

Use a comparator function to figure out at what index an object should -be inserted so as to maintain order. Uses binary search.

undefined
#

Convert anything iterable into a real, live array.

undefined
#

Return the number of elements in an object.

undefined
#

Array Functions

undefined
#

Get the first element of an array. Passing n will return the first N +http://documentcloud.github.com/underscore/

#

Baseline setup

#

Establish the root object, window in the browser, or global on the server.

  root = this
#

Save the previous value of the _ variable.

  previousUnderscore = root._
#

Establish the object that gets thrown to break out of a loop iteration. +StopIteration is SOP on Mozilla.

  breaker = if typeof(StopIteration) is 'undefined' then '__break__' else StopIteration
#

Helper function to escape RegExp contents, because JS doesn't have one.

  escapeRegExp = (string) -> string.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1')
#

Save bytes in the minified (but not gzipped) version:

  ArrayProto           = Array.prototype
+  ObjProto             = Object.prototype
#

Create quick reference variables for speed access to core prototypes.

  slice                = ArrayProto.slice
+  unshift              = ArrayProto.unshift
+  toString             = ObjProto.toString
+  hasOwnProperty       = ObjProto.hasOwnProperty
+  propertyIsEnumerable = ObjProto.propertyIsEnumerable
#

All ECMA5 native implementations we hope to use are declared here.

  nativeForEach        = ArrayProto.forEach
+  nativeMap            = ArrayProto.map
+  nativeReduce         = ArrayProto.reduce
+  nativeReduceRight    = ArrayProto.reduceRight
+  nativeFilter         = ArrayProto.filter
+  nativeEvery          = ArrayProto.every
+  nativeSome           = ArrayProto.some
+  nativeIndexOf        = ArrayProto.indexOf
+  nativeLastIndexOf    = ArrayProto.lastIndexOf
+  nativeIsArray        = Array.isArray
+  nativeKeys           = Object.keys
#

Create a safe reference to the Underscore object for use below.

  _ = (obj) -> new wrapper(obj)
#

Export the Underscore object for CommonJS.

  if typeof(exports) != 'undefined' then exports._ = _
#

Export Underscore to global scope.

  root._ = _
#

Current version.

  _.VERSION = '1.1.0'
#

Collection Functions

#

The cornerstone, an each implementation. +Handles objects implementing forEach, arrays, and raw objects.

  _.each = (obj, iterator, context) ->
+    try
+      if nativeForEach and obj.forEach is nativeForEach
+        obj.forEach iterator, context
+      else if _.isNumber obj.length
+        iterator.call(context, obj[i], i, obj) for i in [0...obj.length]
+      else
+        iterator.call(context, val, key, obj) for key, val of obj
+    catch e
+      throw e if e isnt breaker
+    obj
#

Return the results of applying the iterator to each element. Use JavaScript +1.6's version of map, if possible.

  _.map = (obj, iterator, context) ->
+    return obj.map(iterator, context) if nativeMap and obj.map is nativeMap
+    results = []
+    _.each obj, (value, index, list) ->
+      results.push iterator.call context, value, index, list
+    results
#

Reduce builds up a single result from a list of values. Also known as +inject, or foldl. Uses JavaScript 1.8's version of reduce, if possible.

  _.reduce = (obj, iterator, memo, context) ->
+    if nativeReduce and obj.reduce is nativeReduce
+      iterator = _.bind iterator, context if context
+      return obj.reduce iterator, memo
+    _.each obj, (value, index, list) ->
+      memo = iterator.call context, memo, value, index, list
+    memo
#

The right-associative version of reduce, also known as foldr. Uses +JavaScript 1.8's version of reduceRight, if available.

  _.reduceRight = (obj, iterator, memo, context) ->
+    if nativeReduceRight and obj.reduceRight is nativeReduceRight
+      iterator = _.bind iterator, context if context
+      return obj.reduceRight iterator, memo
+    reversed = _.clone(_.toArray(obj)).reverse()
+    _.reduce reversed, iterator, memo, context
#

Return the first value which passes a truth test.

  _.detect = (obj, iterator, context) ->
+    result = null
+    _.each obj, (value, index, list) ->
+      if iterator.call context, value, index, list
+        result = value
+        _.breakLoop()
+    result
#

Return all the elements that pass a truth test. Use JavaScript 1.6's +filter, if it exists.

  _.filter = (obj, iterator, context) ->
+    return obj.filter iterator, context if nativeFilter and obj.filter is nativeFilter
+    results = []
+    _.each obj, (value, index, list) ->
+      results.push value if iterator.call context, value, index, list
+    results
#

Return all the elements for which a truth test fails.

  _.reject = (obj, iterator, context) ->
+    results = []
+    _.each obj, (value, index, list) ->
+      results.push value if not iterator.call context, value, index, list
+    results
#

Determine whether all of the elements match a truth test. Delegate to +JavaScript 1.6's every, if it is present.

  _.every = (obj, iterator, context) ->
+    iterator ||= _.identity
+    return obj.every iterator, context if nativeEvery and obj.every is nativeEvery
+    result = true
+    _.each obj, (value, index, list) ->
+      _.breakLoop() unless (result = result and iterator.call(context, value, index, list))
+    result
#

Determine if at least one element in the object matches a truth test. Use +JavaScript 1.6's some, if it exists.

  _.some = (obj, iterator, context) ->
+    iterator ||= _.identity
+    return obj.some iterator, context if nativeSome and obj.some is nativeSome
+    result = false
+    _.each obj, (value, index, list) ->
+      _.breakLoop() if (result = iterator.call(context, value, index, list))
+    result
#

Determine if a given value is included in the array or object, +based on ===.

  _.include = (obj, target) ->
+    return _.indexOf(obj, target) isnt -1 if nativeIndexOf and obj.indexOf is nativeIndexOf
+    for key, val of obj
+      return true if val is target
+    false
#

Invoke a method with arguments on every item in a collection.

  _.invoke = (obj, method) ->
+    args = _.rest arguments, 2
+    (if method then val[method] else val).apply(val, args) for val in obj
#

Convenience version of a common use case of map: fetching a property.

  _.pluck = (obj, key) ->
+    _.map(obj, (val) -> val[key])
#

Return the maximum item or (item-based computation).

  _.max = (obj, iterator, context) ->
+    return Math.max.apply(Math, obj) if not iterator and _.isArray(obj)
+    result = computed: -Infinity
+    _.each obj, (value, index, list) ->
+      computed = if iterator then iterator.call(context, value, index, list) else value
+      computed >= result.computed and (result = {value: value, computed: computed})
+    result.value
#

Return the minimum element (or element-based computation).

  _.min = (obj, iterator, context) ->
+    return Math.min.apply(Math, obj) if not iterator and _.isArray(obj)
+    result = computed: Infinity
+    _.each obj, (value, index, list) ->
+      computed = if iterator then iterator.call(context, value, index, list) else value
+      computed < result.computed and (result = {value: value, computed: computed})
+    result.value
#

Sort the object's values by a criterion produced by an iterator.

  _.sortBy = (obj, iterator, context) ->
+    _.pluck(((_.map obj, (value, index, list) ->
+      {value: value, criteria: iterator.call(context, value, index, list)}
+    ).sort((left, right) ->
+      a = left.criteria; b = right.criteria
+      if a < b then -1 else if a > b then 1 else 0
+    )), 'value')
#

Use a comparator function to figure out at what index an object should +be inserted so as to maintain order. Uses binary search.

  _.sortedIndex = (array, obj, iterator) ->
+    iterator ||= _.identity
+    low =  0
+    high = array.length
+    while low < high
+      mid = (low + high) >> 1
+      if iterator(array[mid]) < iterator(obj) then low = mid + 1 else high = mid
+    low
#

Convert anything iterable into a real, live array.

  _.toArray = (iterable) ->
+    return []                   if (!iterable)
+    return iterable.toArray()   if (iterable.toArray)
+    return iterable             if (_.isArray(iterable))
+    return slice.call(iterable) if (_.isArguments(iterable))
+    _.values(iterable)
#

Return the number of elements in an object.

  _.size = (obj) -> _.toArray(obj).length
#

Array Functions

#

Get the first element of an array. Passing n will return the first N values in the array. Aliased as head. The guard check allows it to work -with map.

undefined
#

Returns everything but the first entry of the array. Aliased as tail. +with map.

  _.first = (array, n, guard) ->
+    if n and not guard then slice.call(array, 0, n) else array[0]
#

Returns everything but the first entry of the array. Aliased as tail. Especially useful on the arguments object. Passing an index will return the rest of the values in the array from that index onward. The guard -check allows it to work with map.

undefined
#

Get the last element of an array.

undefined
#

Trim out all falsy values from an array.

undefined
#

Return a completely flattened version of an array.

undefined
#

Return a version of the array that does not contain the specified value(s).

undefined
#

Produce a duplicate-free version of the array. If the array has already -been sorted, you have the option of using a faster algorithm.

undefined
#

Produce an array that contains every item shared between all the -passed-in arrays.

undefined
#

Zip together multiple lists into a single array -- elements that share -an index go together.

undefined
#

If the browser doesn't supply us with indexOf (I'm looking at you, MSIE), +check allows it to work with map.

  _.rest = (array, index, guard) ->
+    slice.call(array, if _.isUndefined(index) or guard then 1 else index)
#

Get the last element of an array.

  _.last = (array) -> array[array.length - 1]
#

Trim out all falsy values from an array.

  _.compact = (array) -> item for item in array when item
#

Return a completely flattened version of an array.

  _.flatten = (array) ->
+    _.reduce array, (memo, value) ->
+      return memo.concat(_.flatten(value)) if _.isArray value
+      memo.push value
+      memo
+    , []
#

Return a version of the array that does not contain the specified value(s).

  _.without = (array) ->
+    values = _.rest arguments
+    val for val in _.toArray(array) when not _.include values, val
#

Produce a duplicate-free version of the array. If the array has already +been sorted, you have the option of using a faster algorithm.

  _.uniq = (array, isSorted) ->
+    memo = []
+    for el, i in _.toArray array
+      memo.push el if i is 0 || (if isSorted is true then _.last(memo) isnt el else not _.include(memo, el))
+    memo
#

Produce an array that contains every item shared between all the +passed-in arrays.

  _.intersect = (array) ->
+    rest = _.rest arguments
+    _.select _.uniq(array), (item) ->
+      _.all rest, (other) ->
+        _.indexOf(other, item) >= 0
#

Zip together multiple lists into a single array -- elements that share +an index go together.

  _.zip = ->
+    length =  _.max _.pluck arguments, 'length'
+    results = new Array length
+    for i in [0...length]
+      results[i] = _.pluck arguments, String i
+    results
#

If the browser doesn't supply us with indexOf (I'm looking at you, MSIE), we need this function. Return the position of the first occurence of an -item in an array, or -1 if the item is not included in the array.

undefined
#

Provide JavaScript 1.6's lastIndexOf, delegating to the native function, -if possible.

undefined
#

Generate an integer Array containing an arithmetic progression. A port of -the native Python range function.

undefined
#

Function Functions

undefined
#

Create a function bound to a given object (assigning this, and arguments, -optionally). Binding with arguments is also known as curry.

undefined
#

Bind all of an object's methods to that object. Useful for ensuring that -all callbacks defined on an object belong to it.

undefined
#

Delays a function for the given number of milliseconds, and then calls -it with the arguments supplied.

undefined
#

Memoize an expensive function by storing its results.

undefined
#

Defers a function, scheduling it to run after the current call stack has -cleared.

undefined
#

Returns the first function passed as an argument to the second, +item in an array, or -1 if the item is not included in the array.

  _.indexOf = (array, item) ->
+    return array.indexOf item if nativeIndexOf and array.indexOf is nativeIndexOf
+    i = 0; l = array.length
+    while l - i
+      if array[i] is item then return i else i++
+    -1
#

Provide JavaScript 1.6's lastIndexOf, delegating to the native function, +if possible.

  _.lastIndexOf = (array, item) ->
+    return array.lastIndexOf(item) if nativeLastIndexOf and array.lastIndexOf is nativeLastIndexOf
+    i = array.length
+    while i
+      if array[i] is item then return i else i--
+    -1
#

Generate an integer Array containing an arithmetic progression. A port of +the native Python range function.

  _.range = (start, stop, step) ->
+    a         = arguments
+    solo      = a.length <= 1
+    i = start = if solo then 0 else a[0]
+    stop      = if solo then a[0] else a[1]
+    step      = a[2] or 1
+    len       = Math.ceil((stop - start) / step)
+    return []   if len <= 0
+    range     = new Array len
+    idx       = 0
+    loop
+      return range if (if step > 0 then i - stop else stop - i) >= 0
+      range[idx] = i
+      idx++
+      i+= step
#

Function Functions

#

Create a function bound to a given object (assigning this, and arguments, +optionally). Binding with arguments is also known as curry.

  _.bind = (func, obj) ->
+    args = _.rest arguments, 2
+    -> func.apply obj or root, args.concat arguments
#

Bind all of an object's methods to that object. Useful for ensuring that +all callbacks defined on an object belong to it.

  _.bindAll = (obj) ->
+    funcs = if arguments.length > 1 then _.rest(arguments) else _.functions(obj)
+    _.each funcs, (f) -> obj[f] = _.bind obj[f], obj
+    obj
#

Delays a function for the given number of milliseconds, and then calls +it with the arguments supplied.

  _.delay = (func, wait) ->
+    args = _.rest arguments, 2
+    setTimeout((-> func.apply(func, args)), wait)
#

Memoize an expensive function by storing its results.

  _.memoize = (func, hasher) ->
+    memo = {}
+    hasher or= _.identity
+    ->
+      key = hasher.apply this, arguments
+      return memo[key] if key of memo
+      memo[key] = func.apply this, arguments
#

Defers a function, scheduling it to run after the current call stack has +cleared.

  _.defer = (func) ->
+    _.delay.apply _, [func, 1].concat _.rest arguments
#

Returns the first function passed as an argument to the second, allowing you to adjust arguments, run code before and after, and -conditionally execute the original function.

undefined
#

Returns a function that is the composition of a list of functions, each -consuming the return value of the function that follows.

undefined
#

Object Functions

undefined
#

Retrieve the names of an object's properties.

undefined
#

Retrieve the values of an object's properties.

undefined
#

Return a sorted list of the function names available in Underscore.

undefined
#

Extend a given object with all of the properties in a source object.

undefined
#

Create a (shallow-cloned) duplicate of an object.

undefined
#

Invokes interceptor with the obj, and then returns obj. -The primary purpose of this method is to "tap into" a method chain, in order to perform operations on intermediate results within the chain.

undefined
#

Perform a deep comparison to check if two objects are equal.

undefined
#

Check object identity.

undefined
#

Different types?

undefined
#

Basic equality test (watch out for coercions).

undefined
#

One is falsy and the other truthy.

undefined
#

One of them implements an isEqual()?

undefined
#

Check dates' integer values.

undefined
#

Both are NaN?

undefined
#

Compare regular expressions.

undefined
#

If a is not an object by this point, we can't handle it.

undefined
#

Check for different array lengths before comparing contents.

undefined
#

Nothing else worked, deep compare the contents.

undefined
#

Different object sizes?

undefined
#

Recursive comparison of contents.

undefined
#

Is a given array or object empty?

undefined
#

Is a given value a DOM element?

undefined
#

Is a given value an array?

undefined
#

Is a given variable an arguments object?

undefined
#

Is the given value a function?

undefined
#

Is the given value a string?

undefined
#

Is a given value a number?

undefined
#

Is a given value a boolean?

undefined
#

Is a given value a Date?

undefined
#

Is the given value a regular expression?

undefined
#

Is the given value NaN -- this one is interesting. NaN != NaN, and -isNaN(undefined) == true, so we make sure it's a number first.

undefined
#

Is a given value equal to null?

undefined
#

Is a given variable undefined?

undefined
#

Utility Functions

undefined
#

Run Underscore.js in noConflict mode, returning the _ variable to its -previous owner. Returns a reference to the Underscore object.

undefined
#

Keep the identity function around for default iterators.

undefined
#

Run a function n times.

undefined
#

Break out of the middle of an iteration.

undefined
#

Add your own custom functions to the Underscore object, ensuring that -they're correctly added to the OOP wrapper as well.

undefined
#

Generate a unique integer id (unique within the entire client session). -Useful for temporary DOM ids.

undefined
#

By default, Underscore uses ERB-style template delimiters, change the -following template settings to use alternative delimiters.

undefined
#

JavaScript templating a-la ERB, pilfered from John Resig's +conditionally execute the original function.

  _.wrap = (func, wrapper) ->
+    -> wrapper.apply wrapper, [func].concat arguments
#

Returns a function that is the composition of a list of functions, each +consuming the return value of the function that follows.

  _.compose = ->
+    funcs = arguments
+    ->
+      args = arguments
+      for i in [(funcs.length - 1)..0]
+        args = [funcs[i].apply(this, args)]
+      args[0]
#

Object Functions

#

Retrieve the names of an object's properties.

  _.keys = nativeKeys or (obj) ->
+    return _.range 0, obj.length if _.isArray(obj)
+    key for key, val of obj
#

Retrieve the values of an object's properties.

  _.values = (obj) ->
+    _.map obj, _.identity
#

Return a sorted list of the function names available in Underscore.

  _.functions = (obj) ->
+    _.filter(_.keys(obj), (key) -> _.isFunction(obj[key])).sort()
#

Extend a given object with all of the properties in a source object.

  _.extend = (obj) ->
+    for source in _.rest(arguments)
+      (obj[key] = val) for key, val of source
+    obj
#

Create a (shallow-cloned) duplicate of an object.

  _.clone = (obj) ->
+    return obj.slice 0 if _.isArray obj
+    _.extend {}, obj
#

Invokes interceptor with the obj, and then returns obj. +The primary purpose of this method is to "tap into" a method chain, in order to perform operations on intermediate results within the chain.

  _.tap = (obj, interceptor) ->
+    interceptor obj
+    obj
#

Perform a deep comparison to check if two objects are equal.

  _.isEqual = (a, b) ->
#

Check object identity.

    return true if a is b
#

Different types?

    atype = typeof(a); btype = typeof(b)
+    return false if atype isnt btype
#

Basic equality test (watch out for coercions).

    return true if `a == b`
#

One is falsy and the other truthy.

    return false if (!a and b) or (a and !b)
#

One of them implements an isEqual()?

    return a.isEqual(b) if a.isEqual
#

Check dates' integer values.

    return a.getTime() is b.getTime() if _.isDate(a) and _.isDate(b)
#

Both are NaN?

    return false if _.isNaN(a) and _.isNaN(b)
#

Compare regular expressions.

    if _.isRegExp(a) and _.isRegExp(b)
+      return a.source     is b.source and
+             a.global     is b.global and
+             a.ignoreCase is b.ignoreCase and
+             a.multiline  is b.multiline
#

If a is not an object by this point, we can't handle it.

    return false if atype isnt 'object'
#

Check for different array lengths before comparing contents.

    return false if a.length and (a.length isnt b.length)
#

Nothing else worked, deep compare the contents.

    aKeys = _.keys(a); bKeys = _.keys(b)
#

Different object sizes?

    return false if aKeys.length isnt bKeys.length
#

Recursive comparison of contents.

    (return false) for all key, val of a when !(key of b) or !_.isEqual(val, b[key])
+    true
#

Is a given array or object empty?

  _.isEmpty = (obj) ->
+    return obj.length is 0 if _.isArray(obj) or _.isString(obj)
+    (return false) for key of obj when hasOwnProperty.call(obj, key)
+    true
#

Is a given value a DOM element?

  _.isElement   = (obj) -> obj and obj.nodeType is 1
#

Is a given value an array?

  _.isArray     = nativeIsArray or (obj) -> !!(obj and obj.concat and obj.unshift and not obj.callee)
#

Is a given variable an arguments object?

  _.isArguments = (obj) -> obj and obj.callee
#

Is the given value a function?

  _.isFunction  = (obj) -> !!(obj and obj.constructor and obj.call and obj.apply)
#

Is the given value a string?

  _.isString    = (obj) -> !!(obj is '' or (obj and obj.charCodeAt and obj.substr))
#

Is a given value a number?

  _.isNumber    = (obj) -> (obj is +obj) or toString.call(obj) is '[object Number]'
#

Is a given value a boolean?

  _.isBoolean   = (obj) -> obj is true or obj is false
#

Is a given value a Date?

  _.isDate      = (obj) -> !!(obj and obj.getTimezoneOffset and obj.setUTCFullYear)
#

Is the given value a regular expression?

  _.isRegExp    = (obj) -> !!(obj and obj.exec and (obj.ignoreCase or obj.ignoreCase is false))
#

Is the given value NaN -- this one is interesting. NaN != NaN, and +isNaN(undefined) == true, so we make sure it's a number first.

  _.isNaN       = (obj) -> _.isNumber(obj) and window.isNaN(obj)
#

Is a given value equal to null?

  _.isNull      = (obj) -> obj is null
#

Is a given variable undefined?

  _.isUndefined = (obj) -> typeof obj is 'undefined'
#

Utility Functions

#

Run Underscore.js in noConflict mode, returning the _ variable to its +previous owner. Returns a reference to the Underscore object.

  _.noConflict = ->
+    root._ = previousUnderscore
+    this
#

Keep the identity function around for default iterators.

  _.identity = (value) -> value
#

Run a function n times.

  _.times = (n, iterator, context) ->
+    iterator.call(context, i) for i in [0...n]
#

Break out of the middle of an iteration.

  _.breakLoop = -> throw breaker
#

Add your own custom functions to the Underscore object, ensuring that +they're correctly added to the OOP wrapper as well.

  _.mixin = (obj) ->
+    for name in _.functions(obj)
+      addToWrapper name, _[name] = obj[name]
#

Generate a unique integer id (unique within the entire client session). +Useful for temporary DOM ids.

  idCounter = 0
+  _.uniqueId = (prefix) ->
+    (prefix or '') + idCounter++
#

By default, Underscore uses ERB-style template delimiters, change the +following template settings to use alternative delimiters.

  _.templateSettings = {
+    start:        '<%'
+    end:          '%>'
+    interpolate:  /<%=(.+?)%>/g
+  }
#

JavaScript templating a-la ERB, pilfered from John Resig's Secrets of the JavaScript Ninja, page 83. Single-quote fix from Rick Strahl. -With alterations for arbitrary delimiters, and to preserve whitespace.

undefined
#

Aliases

undefined
#

Setup the OOP Wrapper

undefined
#

If Underscore is called as a function, it returns a wrapped object that +With alterations for arbitrary delimiters, and to preserve whitespace.

  _.template = (str, data) ->
+    c = _.templateSettings
+    endMatch = new RegExp("'(?=[^"+c.end.substr(0, 1)+"]*"+escapeRegExp(c.end)+")","g")
+    fn = new Function 'obj',
+      'var p=[],print=function(){p.push.apply(p,arguments);};' +
+      'with(obj||{}){p.push(\'' +
+      str.replace(/\r/g, '\\r')
+         .replace(/\n/g, '\\n')
+         .replace(/\t/g, '\\t')
+         .replace(endMatch,"✄")
+         .split("'").join("\\'")
+         .split("✄").join("'")
+         .replace(c.interpolate, "',$1,'")
+         .split(c.start).join("');")
+         .split(c.end).join("p.push('") +
+         "');}return p.join('');"
+    if data then fn(data) else fn
#

Aliases

  _.forEach  = _.each
+  _.foldl    = _.inject = _.reduce
+  _.foldr    = _.reduceRight
+  _.select   = _.filter
+  _.all      = _.every
+  _.any      = _.some
+  _.contains = _.include
+  _.head     = _.first
+  _.tail     = _.rest
+  _.methods  = _.functions
#

Setup the OOP Wrapper

#

If Underscore is called as a function, it returns a wrapped object that can be used OO-style. This wrapper holds altered versions of all the -underscore functions. Wrapped objects may be chained.

undefined
#

Helper function to continue chaining intermediate results.

undefined
#

A method to easily add functions to the OOP wrapper.

undefined
#

Add all of the Underscore functions to the wrapper object.

undefined
#

Add all mutator Array functions to the wrapper.

undefined
#

Add all accessor Array functions to the wrapper.

undefined
#

Start chaining a wrapped Underscore object.

undefined
#

Extracts the result from a wrapped and chained object.

undefined
\ No newline at end of file +underscore functions. Wrapped objects may be chained.

  wrapper = (obj) ->
+    this._wrapped = obj
+    this
#

Helper function to continue chaining intermediate results.

  result = (obj, chain) ->
+    if chain then _(obj).chain() else obj
#

A method to easily add functions to the OOP wrapper.

  addToWrapper = (name, func) ->
+    wrapper.prototype[name] = ->
+      args = _.toArray arguments
+      unshift.call args, this._wrapped
+      result func.apply(_, args), this._chain
#

Add all of the Underscore functions to the wrapper object.

  _.mixin _
#

Add all mutator Array functions to the wrapper.

  _.each ['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], (name) ->
+    method = Array.prototype[name]
+    wrapper.prototype[name] = ->
+      method.apply(this._wrapped, arguments)
+      result(this._wrapped, this._chain)
#

Add all accessor Array functions to the wrapper.

  _.each ['concat', 'join', 'slice'], (name) ->
+    method = Array.prototype[name]
+    wrapper.prototype[name] = ->
+      result(method.apply(this._wrapped, arguments), this._chain)
#

Start chaining a wrapped Underscore object.

  wrapper::chain = ->
+    this._chain = true
+    this
#

Extracts the result from a wrapped and chained object.

  wrapper::value = -> this._wrapped
+
+
\ No newline at end of file diff --git a/documentation/index.html.erb b/documentation/index.html.erb index de8e6d1d..d00ccd38 100644 --- a/documentation/index.html.erb +++ b/documentation/index.html.erb @@ -53,7 +53,7 @@ Pattern Matching Function Binding Embedded JavaScript - Switch/When/Else + The Switch Statement Try/Catch/Finally Chained Comparisons String and RegExp Interpolation @@ -127,7 +127,7 @@ alert reverse '.eeffoC yrT'

Latest Version: - 0.9.2 + 0.9.3

@@ -172,7 +172,7 @@ alert reverse '.eeffoC yrT' Then clone the CoffeeScript source repository from GitHub, or download the latest - release: 0.9.2. + release: 0.9.3. To install the CoffeeScript compiler system-wide under /usr/local, open the directory and run:

@@ -716,12 +716,11 @@ coffee --print app/scripts/*.coffee > concatenation.js

Switch/When/Else - Switch statements in JavaScript are rather broken. You can only - do comparisons based on string equality, and need to remember to break at the end of - every case statement to avoid accidentally falling through to - the default case. CoffeeScript compiles switch statements into JavaScript if-else chains, allowing you to - compare any object (via ===), preventing fall-through, and resulting - in a returnable, assignable expression. The format is: switch condition, + Switch statements in JavaScript are a bit awkward. You need to + remember to break at the end of every case statement to + avoid accidentally falling through to the default case. + CoffeeScript prevents accidental fall-through, and can convert the switch + into a returnable, assignable expression. The format is: switch condition, when clauses, else the default case.

@@ -950,6 +949,15 @@ coffee --print app/scripts/*.coffee > concatenation.js Change Log

+ +

+ 0.9.3 + CoffeeScript switch statements now compile into JS switch + statements — they previously compiled into if/else chains + for JavaScript 1.3 compatibility. + Soaking a function invocation is now supported. Users of the RubyMine + editor should now be able to use --watch mode. +

0.9.2 diff --git a/documentation/js/block_comment.js b/documentation/js/block_comment.js index e1a68dda..8fd59001 100644 --- a/documentation/js/block_comment.js +++ b/documentation/js/block_comment.js @@ -1,4 +1,3 @@ -/* -CoffeeScript Compiler v0.9.2 +/*CoffeeScript Compiler v0.9.3 Released under the MIT License */ \ No newline at end of file diff --git a/documentation/js/soaks.js b/documentation/js/soaks.js index bd890a29..f8c2a789 100644 --- a/documentation/js/soaks.js +++ b/documentation/js/soaks.js @@ -1,2 +1,2 @@ var _a, _b; -(_b = ((typeof (_a = (lottery.drawWinner())) === "undefined" || _a === null) ? undefined : _a.address)) == null ? undefined : _b.zipcode; \ No newline at end of file +(typeof (_b = ((_a = lottery.drawWinner()))) === "undefined" || _b === null) ? undefined : _b.address == null ? undefined : _b.address.zipcode; \ No newline at end of file diff --git a/documentation/js/switch.js b/documentation/js/switch.js index 3334b6b1..05b4675c 100644 --- a/documentation/js/switch.js +++ b/documentation/js/switch.js @@ -1,16 +1,23 @@ -if (day === "Mon") { - goToWork(); -} else if (day === "Tue") { - goToThePark(); -} else if (day === "Thu") { - goIceFishing(); -} else if (day === "Fri" || day === "Sat") { +switch (day) { +case "Mon": + go(work); + break; +case "Tue": + go(relax); + break; +case "Thu": + go(iceFishing); + break; +case "Fri": +case "Sat": if (day === bingoDay) { - goToBingo(); - goDancing(); + go(bingo); + go(dancing); } -} else if (day === "Sun") { - goToChurch(); -} else { - goToWork(); + break; +case "Sun": + go(church); + break; +default: + go(work); } \ No newline at end of file diff --git a/extras/coffee-script.js b/extras/coffee-script.js index 1032baa0..e0cfe027 100644 --- a/extras/coffee-script.js +++ b/extras/coffee-script.js @@ -1,8 +1,8 @@ /** - * CoffeeScript Compiler v0.9.2 + * CoffeeScript Compiler v0.9.3 * http://coffeescript.org * * Copyright 2010, Jeremy Ashkenas * Released under the MIT License */ -(function(){var compact,count,del,ends,extend,flatten,helpers,include,indexOf,merge,starts;if(!(typeof process!=="undefined"&&process!==null)){this.exports=this}helpers=(exports.helpers={});helpers.indexOf=(indexOf=function(array,item,from){var _a,_b,index,other;if(array.indexOf){return array.indexOf(item,from)}_a=array;for(index=0,_b=_a.length;index<_b;index++){other=_a[index];if(other===item&&(!from||(from<=index))){return index}}return -1});helpers.include=(include=function(list,value){return indexOf(list,value)>=0});helpers.starts=(starts=function(string,literal,start){return string.substring(start,(start||0)+literal.length)===literal});helpers.ends=(ends=function(string,literal,back){var start;start=string.length-literal.length-((typeof back!=="undefined"&&back!==null)?back:0);return string.substring(start,start+literal.length)===literal});helpers.compact=(compact=function(array){var _a,_b,_c,_d,item;_a=[];_c=array;for(_b=0,_d=_c.length;_b<_d;_b++){item=_c[_b];if(item){_a.push(item)}}return _a});helpers.count=(count=function(string,letter){var num,pos;num=0;pos=indexOf(string,letter);while(pos!==-1){num+=1;pos=indexOf(string,letter,pos+1)}return num});helpers.merge=(merge=function(options,overrides){var _a,_b,fresh,key,val;fresh={};_a=options;for(key in _a){val=_a[key];(fresh[key]=val)}if(overrides){_b=overrides;for(key in _b){val=_b[key];(fresh[key]=val)}}return fresh});helpers.extend=(extend=function(object,properties){var _a,_b,key,val;_a=[];_b=properties;for(key in _b){val=_b[key];_a.push(object[key]=val)}return _a});helpers.flatten=(flatten=function(array){var _a,_b,_c,item,memo;memo=[];_b=array;for(_a=0,_c=_b.length;_a<_c;_a++){item=_b[_a];if(item instanceof Array){memo=memo.concat(item)}else{memo.push(item)}}return memo});helpers.del=(del=function(obj,key){var val;val=obj[key];delete obj[key];return val})})();(function(){var BALANCED_PAIRS,EXPRESSION_CLOSE,EXPRESSION_END,EXPRESSION_START,IMPLICIT_BLOCK,IMPLICIT_CALL,IMPLICIT_END,IMPLICIT_FUNC,INVERSES,LINEBREAKS,Rewriter,SINGLE_CLOSERS,SINGLE_LINERS,_a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,helpers,include,pair;var __hasProp=Object.prototype.hasOwnProperty;if(typeof process!=="undefined"&&process!==null){_a=require("./helpers");helpers=_a.helpers}else{this.exports=this;helpers=this.helpers}_b=helpers;include=_b.include;exports.Rewriter=(function(){Rewriter=function(){};Rewriter.prototype.rewrite=function(tokens){this.tokens=tokens;this.adjustComments();this.removeLeadingNewlines();this.removeMidExpressionNewlines();this.closeOpenCalls();this.closeOpenIndexes();this.addImplicitIndentation();this.addImplicitBraces();this.tagPostfixConditionals();this.addImplicitParentheses();this.ensureBalance(BALANCED_PAIRS);this.rewriteClosingParens();return this.tokens};Rewriter.prototype.scanTokens=function(block){var i,move;i=0;while(true){if(!(this.tokens[i])){break}move=block.call(this,this.tokens[i],i);i+=move}return true};Rewriter.prototype.detectEnd=function(i,condition,action){var levels,token;levels=0;while(true){token=this.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(include(EXPRESSION_START,token[0])){levels+=1}if(include(EXPRESSION_END,token[0])){levels-=1}i+=1}return i-1};Rewriter.prototype.adjustComments=function(){return this.scanTokens(function(token,i){var _c,_d,after,before,post,prev;if(token[0]!=="HERECOMMENT"){return 1}_c=[this.tokens[i-2],this.tokens[i-1],this.tokens[i+1],this.tokens[i+2]];before=_c[0];prev=_c[1];post=_c[2];after=_c[3];if(after&&after[0]==="INDENT"){this.tokens.splice(i+2,1);if(before&&before[0]==="OUTDENT"&&post&&(prev[0]===post[0])&&(post[0]==="TERMINATOR")){this.tokens.splice(i-2,1)}else{this.tokens.splice(i,0,after)}}else{if(prev&&!("TERMINATOR"===(_d=prev[0])||"INDENT"===_d||"OUTDENT"===_d)){if(post&&post[0]==="TERMINATOR"&&after&&after[0]==="OUTDENT"){this.tokens.splice.apply(this.tokens,[i+2,0].concat(this.tokens.splice(i,2)));if(this.tokens[i+2][0]!=="TERMINATOR"){this.tokens.splice(i+2,0,["TERMINATOR","\n",prev[2]])}}else{this.tokens.splice(i,0,["TERMINATOR","\n",prev[2]])}return 2}}return 1})};Rewriter.prototype.removeLeadingNewlines=function(){var _c;_c=[];while(this.tokens[0]&&this.tokens[0][0]==="TERMINATOR"){_c.push(this.tokens.shift())}return _c};Rewriter.prototype.removeMidExpressionNewlines=function(){return this.scanTokens(function(token,i){if(!(include(EXPRESSION_CLOSE,this.tag(i+1))&&token[0]==="TERMINATOR")){return 1}this.tokens.splice(i,1);return 0})};Rewriter.prototype.closeOpenCalls=function(){return this.scanTokens(function(token,i){var action,condition;if(token[0]==="CALL_START"){condition=function(token,i){var _c;return((")"===(_c=token[0])||"CALL_END"===_c))||(token[0]==="OUTDENT"&&this.tokens[i-1][0]===")")};action=function(token,i){var idx;idx=token[0]==="OUTDENT"?i-1:i;return(this.tokens[idx][0]="CALL_END")};this.detectEnd(i+1,condition,action)}return 1})};Rewriter.prototype.closeOpenIndexes=function(){return this.scanTokens(function(token,i){var action,condition;if(token[0]==="INDEX_START"){condition=function(token,i){var _c;return("]"===(_c=token[0])||"INDEX_END"===_c)};action=function(token,i){return(token[0]="INDEX_END")};this.detectEnd(i+1,condition,action)}return 1})};Rewriter.prototype.addImplicitBraces=function(){var stack;stack=[];return this.scanTokens(function(token,i){var action,condition,idx,last,tok;if(include(EXPRESSION_START,token[0])){stack.push((token[0]==="INDENT"&&(this.tag(i-1)==="{"))?"{":token[0])}if(include(EXPRESSION_END,token[0])){stack.pop()}last=stack[stack.length-1];if(token[0]===":"&&(!last||last[0]!=="{")){stack.push("{");idx=this.tag(i-2)==="@"?i-2:i-1;tok=["{","{",token[2]];tok.generated=true;this.tokens.splice(idx,0,tok);condition=function(token,i){var _c,_d,_e,one,three,two;_c=this.tokens.slice(i+1,i+4);one=_c[0];two=_c[1];three=_c[2];if((this.tag(i+1)==="HERECOMMENT"||this.tag(i-1)==="HERECOMMENT")){return false}return((("TERMINATOR"===(_d=token[0])||"OUTDENT"===_d))&&!((two&&two[0]===":")||(one&&one[0]==="@"&&three&&three[0]===":")))||(token[0]===","&&one&&(!("IDENTIFIER"===(_e=one[0])||"STRING"===_e||"@"===_e||"TERMINATOR"===_e||"OUTDENT"===_e)))};action=function(token,i){return this.tokens.splice(i,0,["}","}",token[2]])};this.detectEnd(i+2,condition,action);return 2}return 1})};Rewriter.prototype.addImplicitParentheses=function(){var classLine;classLine=false;return this.scanTokens(function(token,i){var _c,action,callObject,condition,idx,next,prev,seenSingle;if(token[0]==="CLASS"){classLine=true}prev=this.tokens[i-1];next=this.tokens[i+1];idx=1;callObject=!classLine&&token[0]==="INDENT"&&next&&next.generated&&next[0]==="{"&&prev&&include(IMPLICIT_FUNC,prev[0]);if(callObject){idx=2}seenSingle=false;if(include(LINEBREAKS,token[0])){classLine=false}if(prev&&!prev.spaced&&token[0]==="?"){token.call=true}if(prev&&(prev.spaced&&(include(IMPLICIT_FUNC,prev[0])||prev.call)&&include(IMPLICIT_CALL,token[0])&&!(token[0]==="UNARY"&&(("IN"===(_c=this.tag(i+1))||"OF"===_c||"INSTANCEOF"===_c))))||callObject){this.tokens.splice(i,0,["CALL_START","(",token[2]]);condition=function(token,i){var _c;if(!seenSingle&&token.fromThen){return true}if(("IF"===(_c=token[0])||"ELSE"===_c||"UNLESS"===_c||"->"===_c||"=>"===_c)){seenSingle=true}return(!token.generated&&this.tokens[i-1][0]!==","&&include(IMPLICIT_END,token[0])&&!(token[0]==="INDENT"&&(include(IMPLICIT_BLOCK,this.tag(i-1))||this.tag(i-2)==="CLASS")))||token[0]==="PROPERTY_ACCESS"&&this.tag(i-1)==="OUTDENT"};action=function(token,i){idx=token[0]==="OUTDENT"?i+1:i;return this.tokens.splice(idx,0,["CALL_END",")",token[2]])};this.detectEnd(i+idx,condition,action);if(prev[0]==="?"){prev[0]="FUNC_EXIST"}return 2}return 1})};Rewriter.prototype.addImplicitIndentation=function(){return this.scanTokens(function(token,i){var _c,action,condition,indent,outdent,starter;if(token[0]==="ELSE"&&this.tag(i-1)!=="OUTDENT"){this.tokens.splice.apply(this.tokens,[i,0].concat(this.indentation(token)));return 2}if(token[0]==="CATCH"&&(this.tag(i+2)==="TERMINATOR"||this.tag(i+2)==="FINALLY")){this.tokens.splice.apply(this.tokens,[i+2,0].concat(this.indentation(token)));return 4}if(include(SINGLE_LINERS,token[0])&&this.tag(i+1)!=="INDENT"&&!(token[0]==="ELSE"&&this.tag(i+1)==="IF")){starter=token[0];_c=this.indentation(token);indent=_c[0];outdent=_c[1];if(starter==="THEN"){indent.fromThen=true}indent.generated=(outdent.generated=true);this.tokens.splice(i+1,0,indent);condition=function(token,i){return(include(SINGLE_CLOSERS,token[0])&&token[1]!==";")&&!(token[0]==="ELSE"&&!("IF"===starter||"THEN"===starter))};action=function(token,i){var idx;idx=this.tokens[i-1][0]===","?i-1:i;return this.tokens.splice(idx,0,outdent)};this.detectEnd(i+2,condition,action);if(token[0]==="THEN"){this.tokens.splice(i,1)}return 2}return 1})};Rewriter.prototype.tagPostfixConditionals=function(){return this.scanTokens(function(token,i){var _c,action,condition,original;if(("IF"===(_c=token[0])||"UNLESS"===_c)){original=token;condition=function(token,i){var _c;return("TERMINATOR"===(_c=token[0])||"INDENT"===_c)};action=function(token,i){if(token[0]!=="INDENT"){return(original[0]="POST_"+original[0])}};this.detectEnd(i+1,condition,action);return 1}return 1})};Rewriter.prototype.ensureBalance=function(pairs){var _c,_d,key,levels,line,open,openLine,unclosed,value;levels={};openLine={};this.scanTokens(function(token,i){var _c,_d,_e,_f,close,open,pair;_d=pairs;for(_c=0,_e=_d.length;_c<_e;_c++){pair=_d[_c];_f=pair;open=_f[0];close=_f[1];levels[open]||(levels[open]=0);if(token[0]===open){if(levels[open]===0){openLine[open]=token[2]}levels[open]+=1}if(token[0]===close){levels[open]-=1}if(levels[open]<0){throw new Error("too many "+(token[1])+" on line "+(token[2]+1))}}return 1});unclosed=(function(){_c=[];_d=levels;for(key in _d){if(!__hasProp.call(_d,key)){continue}value=_d[key];if(value>0){_c.push(key)}}return _c})();if(unclosed.length){open=unclosed[0];line=openLine[open]+1;throw new Error("unclosed "+(open)+" on line "+(line))}};Rewriter.prototype.rewriteClosingParens=function(){var _c,debt,key,stack,val;stack=[];debt={};_c=INVERSES;for(key in _c){if(!__hasProp.call(_c,key)){continue}val=_c[key];(debt[key]=0)}return this.scanTokens(function(token,i){var inv,match,mtag,oppos,tag;tag=token[0];inv=INVERSES[token[0]];if(include(EXPRESSION_START,tag)){stack.push(token);return 1}else{if(include(EXPRESSION_END,tag)){if(debt[inv]>0){debt[inv]-=1;this.tokens.splice(i,1);return 0}else{match=stack.pop();mtag=match[0];oppos=INVERSES[mtag];if(tag===oppos){return 1}debt[mtag]+=1;val=[oppos,mtag==="INDENT"?match[1]:oppos];if((this.tokens[i+2]==null?undefined:this.tokens[i+2][0])===mtag){this.tokens.splice(i+3,0,val);stack.push(match)}else{this.tokens.splice(i,0,val)}return 1}}else{return 1}}})};Rewriter.prototype.indentation=function(token){return[["INDENT",2,token[2]],["OUTDENT",2,token[2]]]};Rewriter.prototype.tag=function(i){return this.tokens[i]&&this.tokens[i][0]};return Rewriter})();BALANCED_PAIRS=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["PARAM_START","PARAM_END"],["CALL_START","CALL_END"],["INDEX_START","INDEX_END"]];INVERSES={};_d=BALANCED_PAIRS;for(_c=0,_e=_d.length;_c<_e;_c++){pair=_d[_c];INVERSES[pair[0]]=pair[1];INVERSES[pair[1]]=pair[0]}EXPRESSION_START=(function(){_f=[];_h=BALANCED_PAIRS;for(_g=0,_i=_h.length;_g<_i;_g++){pair=_h[_g];_f.push(pair[0])}return _f})();EXPRESSION_END=(function(){_j=[];_l=BALANCED_PAIRS;for(_k=0,_m=_l.length;_k<_m;_k++){pair=_l[_k];_j.push(pair[1])}return _j})();EXPRESSION_CLOSE=["CATCH","WHEN","ELSE","FINALLY"].concat(EXPRESSION_END);IMPLICIT_FUNC=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END","@"];IMPLICIT_CALL=["IDENTIFIER","NUMBER","STRING","JS","REGEX","NEW","PARAM_START","CLASS","IF","UNLESS","TRY","SWITCH","THIS","NULL","UNARY","TRUE","FALSE","YES","NO","ON","OFF","@","->","=>","[","(","{"];IMPLICIT_BLOCK=["->","=>","{","[",","];IMPLICIT_END=["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","LOOP","TERMINATOR","INDENT"];SINGLE_LINERS=["ELSE","->","=>","TRY","FINALLY","THEN"];SINGLE_CLOSERS=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"];LINEBREAKS=["TERMINATOR","INDENT","OUTDENT"]})();(function(){var ASSIGNED,CALLABLE,CODE,COFFEE_ALIASES,COFFEE_KEYWORDS,COMMENT,COMPARE,COMPOUND_ASSIGN,CONVERSIONS,HEREDOC,HEREDOC_INDENT,IDENTIFIER,JS_CLEANER,JS_FORBIDDEN,JS_KEYWORDS,LAST_DENT,LAST_DENTS,LINE_BREAK,LOGIC,Lexer,MATH,MULTILINER,MULTI_DENT,NEXT_CHARACTER,NOT_REGEX,NO_NEWLINE,NUMBER,OPERATOR,REGEX_END,REGEX_ESCAPE,REGEX_INTERPOLATION,REGEX_START,RESERVED,Rewriter,SHIFT,UNARY,WHITESPACE,_a,_b,_c,compact,count,helpers,include,starts;var __slice=Array.prototype.slice;if(typeof process!=="undefined"&&process!==null){_a=require("./rewriter");Rewriter=_a.Rewriter;_b=require("./helpers");helpers=_b.helpers}else{this.exports=this;Rewriter=this.Rewriter;helpers=this.helpers}_c=helpers;include=_c.include;count=_c.count;starts=_c.starts;compact=_c.compact;exports.Lexer=(function(){Lexer=function(){};Lexer.prototype.tokenize=function(code,options){var o;code=code.replace(/(\r|\s+$)/g,"");o=options||{};this.code=code;this.i=0;this.line=o.line||0;this.indent=0;this.outdebt=0;this.indents=[];this.tokens=[];while(this.ithis.indent){if(noNewlines){return this.suppressNewlines()}diff=size-this.indent+this.outdebt;this.token("INDENT",diff);this.indents.push(diff);this.outdebt=0}else{this.outdentToken(this.indent-size,noNewlines)}}this.indent=size;return true};Lexer.prototype.outdentToken=function(moveOut,noNewlines,close){var dent,len;while(moveOut>0){len=this.indents.length-1;if(this.indents[len]===undefined){moveOut=0}else{if(this.indents[len]===this.outdebt){moveOut-=this.outdebt;this.outdebt=0}else{if(this.indents[len]1;if(interpolated){this.token("(","(")}_g=tokens;for(i=0,_h=_g.length;i<_h;i++){token=_g[i];_i=token;tag=_i[0];value=_i[1];if(tag==="TOKENS"){this.tokens=this.tokens.concat(value)}else{if(tag==="STRING"&&options.escapeQuotes){escaped=value.substring(1,value.length-1).replace(/"/g,'\\"');this.token(tag,'"'+(escaped)+'"')}else{this.token(tag,value)}}if(i]?|\+[+=]?|[*&|\/%=<>^:!?]+)([ \t]*)/;WHITESPACE=/^([ \t]+)/;COMMENT=/^(([ \t]*\n)*([ \t]*)###([^#][\s\S]*?)(###[ \t]*\n|(###)?$)|(\s*#(?!##[^#])[^\n]*)+)/;CODE=/^((-|=)>)/;MULTI_DENT=/^((\n([ \t]*))+)(\.)?/;LAST_DENTS=/\n([ \t]*)/g;LAST_DENT=/\n([ \t]*)/;REGEX_START=/^\/([^\/])/;REGEX_INTERPOLATION=/([^\\]#\{.*[^\\]\})/;REGEX_END=/^(([imgy]{1,4})\b|\W|$)/;REGEX_ESCAPE=/\\[^\$]/g;JS_CLEANER=/(^`|`$)/g;MULTILINER=/\n/g;NO_NEWLINE=/^([+\*&|\/\-%=<>!.\\][<>=&|]*|and|or|is|isnt|not|delete|typeof|instanceof)$/;HEREDOC_INDENT=/(\n+([ \t]*)|^([ \t]+))/g;ASSIGNED=/^\s*(([a-zA-Z\$_@]\w*|["'][^\r\n]+?["']|\d+)[ \t]*?[:=][^=])/;NEXT_CHARACTER=/^\s*(\S)/;COMPOUND_ASSIGN=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|="];UNARY=["UMINUS","UPLUS","!","!!","~","TYPEOF","DELETE"];LOGIC=["&","|","^","&&","||"];SHIFT=["<<",">>",">>>"];COMPARE=["<=","<",">",">="];MATH=["*","/","%"];NOT_REGEX=["NUMBER","REGEX","++","--","FALSE","NULL","TRUE","]"];CALLABLE=["IDENTIFIER","SUPER",")","]","}","STRING","@","THIS","?","::"];LINE_BREAK=["INDENT","OUTDENT","TERMINATOR"];CONVERSIONS={and:"&&",or:"||",is:"==",isnt:"!=",not:"!","===":"=="}})();var parser=(function(){var parser={trace:function trace(){},yy:{},symbols_:{error:2,Root:3,TERMINATOR:4,Body:5,Block:6,Line:7,Expression:8,Statement:9,Return:10,Throw:11,BREAK:12,CONTINUE:13,DEBUGGER:14,Value:15,Call:16,Code:17,Operation:18,Assign:19,If:20,Try:21,While:22,For:23,Switch:24,Extends:25,Class:26,Existence:27,Comment:28,INDENT:29,OUTDENT:30,Identifier:31,IDENTIFIER:32,AlphaNumeric:33,NUMBER:34,STRING:35,Literal:36,JS:37,REGEX:38,TRUE:39,FALSE:40,YES:41,NO:42,ON:43,OFF:44,Assignable:45,"=":46,AssignObj:47,":":48,RETURN:49,HERECOMMENT:50,"?":51,PARAM_START:52,ParamList:53,PARAM_END:54,FuncGlyph:55,"->":56,"=>":57,OptComma:58,",":59,Param:60,PARAM:61,"@":62,".":63,Splat:64,SimpleAssignable:65,Accessor:66,Invocation:67,ThisProperty:68,Array:69,Object:70,Parenthetical:71,Range:72,This:73,NULL:74,PROPERTY_ACCESS:75,PROTOTYPE_ACCESS:76,"::":77,SOAK_ACCESS:78,Index:79,Slice:80,INDEX_START:81,INDEX_END:82,INDEX_SOAK:83,INDEX_PROTO:84,"{":85,AssignList:86,"}":87,CLASS:88,EXTENDS:89,ClassBody:90,ClassAssign:91,Super:92,NEW:93,OptFuncExist:94,Arguments:95,FUNC_EXIST:96,CALL_START:97,ArgList:98,CALL_END:99,SUPER:100,THIS:101,"[":102,"]":103,Arg:104,SimpleArgs:105,TRY:106,Catch:107,FINALLY:108,CATCH:109,THROW:110,"(":111,")":112,WhileSource:113,WHILE:114,WHEN:115,UNTIL:116,Loop:117,LOOP:118,ForBody:119,FOR:120,ForStart:121,ForSource:122,ForVariables:123,ALL:124,ForValue:125,IN:126,OF:127,BY:128,SWITCH:129,Whens:130,ELSE:131,When:132,LEADING_WHEN:133,IfBlock:134,IF:135,UNLESS:136,POST_IF:137,POST_UNLESS:138,UNARY:139,"-":140,"+":141,"--":142,"++":143,"==":144,"!=":145,MATH:146,SHIFT:147,COMPARE:148,LOGIC:149,COMPOUND_ASSIGN:150,INSTANCEOF:151,"$accept":0,"$end":1},terminals_:{"2":"error","4":"TERMINATOR","12":"BREAK","13":"CONTINUE","14":"DEBUGGER","29":"INDENT","30":"OUTDENT","32":"IDENTIFIER","34":"NUMBER","35":"STRING","37":"JS","38":"REGEX","39":"TRUE","40":"FALSE","41":"YES","42":"NO","43":"ON","44":"OFF","46":"=","48":":","49":"RETURN","50":"HERECOMMENT","51":"?","52":"PARAM_START","54":"PARAM_END","56":"->","57":"=>","59":",","61":"PARAM","62":"@","63":".","74":"NULL","75":"PROPERTY_ACCESS","76":"PROTOTYPE_ACCESS","77":"::","78":"SOAK_ACCESS","81":"INDEX_START","82":"INDEX_END","83":"INDEX_SOAK","84":"INDEX_PROTO","85":"{","87":"}","88":"CLASS","89":"EXTENDS","93":"NEW","96":"FUNC_EXIST","97":"CALL_START","99":"CALL_END","100":"SUPER","101":"THIS","102":"[","103":"]","106":"TRY","108":"FINALLY","109":"CATCH","110":"THROW","111":"(","112":")","114":"WHILE","115":"WHEN","116":"UNTIL","118":"LOOP","120":"FOR","124":"ALL","126":"IN","127":"OF","128":"BY","129":"SWITCH","131":"ELSE","133":"LEADING_WHEN","135":"IF","136":"UNLESS","137":"POST_IF","138":"POST_UNLESS","139":"UNARY","140":"-","141":"+","142":"--","143":"++","144":"==","145":"!=","146":"MATH","147":"SHIFT","148":"COMPARE","149":"LOGIC","150":"COMPOUND_ASSIGN","151":"INSTANCEOF"},productions_:[0,[3,0],[3,1],[3,1],[3,2],[5,1],[5,3],[5,2],[7,1],[7,1],[9,1],[9,1],[9,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[6,3],[6,2],[6,2],[31,1],[33,1],[33,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[19,3],[19,5],[47,1],[47,1],[47,3],[47,3],[47,5],[47,5],[47,1],[10,2],[10,1],[28,1],[27,2],[17,5],[17,2],[55,1],[55,1],[58,0],[58,1],[53,0],[53,1],[53,3],[60,1],[60,2],[60,4],[60,5],[64,4],[65,1],[65,2],[65,2],[65,1],[45,1],[45,1],[45,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[66,2],[66,2],[66,1],[66,2],[66,1],[66,1],[79,3],[79,2],[79,2],[70,4],[86,0],[86,1],[86,3],[86,4],[86,6],[26,2],[26,4],[26,5],[26,7],[26,4],[91,1],[91,3],[90,0],[90,1],[90,3],[90,3],[16,1],[16,1],[16,2],[16,2],[25,3],[67,3],[67,3],[94,0],[94,1],[95,4],[92,1],[92,2],[73,1],[73,1],[68,2],[72,6],[72,7],[80,6],[80,7],[80,5],[80,6],[80,5],[80,6],[69,4],[98,0],[98,1],[98,3],[98,4],[98,6],[104,1],[104,1],[105,1],[105,3],[21,3],[21,4],[21,5],[107,3],[11,2],[71,3],[71,2],[113,2],[113,4],[113,2],[113,4],[22,2],[22,2],[22,2],[22,1],[117,2],[117,2],[23,2],[23,2],[23,2],[119,2],[119,2],[121,2],[121,3],[125,1],[125,1],[125,1],[123,1],[123,3],[122,2],[122,2],[122,4],[122,4],[122,4],[122,6],[122,6],[24,5],[24,7],[24,4],[24,6],[130,1],[130,2],[132,3],[132,4],[134,3],[134,3],[134,5],[134,3],[20,1],[20,3],[20,3],[20,3],[20,3],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,5],[18,3],[18,3],[18,3],[18,4],[18,4],[18,4]],performAction:function anonymous(yytext,yyleng,yylineno,yy){var $$=arguments[5],$0=arguments[5].length;switch(arguments[4]){case 1:return this.$=new Expressions();break;case 2:return this.$=new Expressions();break;case 3:return this.$=$$[$0-1+1-1];break;case 4:return this.$=$$[$0-2+1-1];break;case 5:this.$=Expressions.wrap([$$[$0-1+1-1]]);break;case 6:this.$=$$[$0-3+1-1].push($$[$0-3+3-1]);break;case 7:this.$=$$[$0-2+1-1];break;case 8:this.$=$$[$0-1+1-1];break;case 9:this.$=$$[$0-1+1-1];break;case 10:this.$=$$[$0-1+1-1];break;case 11:this.$=$$[$0-1+1-1];break;case 12:this.$=new LiteralNode($$[$0-1+1-1]);break;case 13:this.$=new LiteralNode($$[$0-1+1-1]);break;case 14:this.$=new LiteralNode($$[$0-1+1-1]);break;case 15:this.$=$$[$0-1+1-1];break;case 16:this.$=$$[$0-1+1-1];break;case 17:this.$=$$[$0-1+1-1];break;case 18:this.$=$$[$0-1+1-1];break;case 19:this.$=$$[$0-1+1-1];break;case 20:this.$=$$[$0-1+1-1];break;case 21:this.$=$$[$0-1+1-1];break;case 22:this.$=$$[$0-1+1-1];break;case 23:this.$=$$[$0-1+1-1];break;case 24:this.$=$$[$0-1+1-1];break;case 25:this.$=$$[$0-1+1-1];break;case 26:this.$=$$[$0-1+1-1];break;case 27:this.$=$$[$0-1+1-1];break;case 28:this.$=$$[$0-1+1-1];break;case 29:this.$=$$[$0-3+2-1];break;case 30:this.$=new Expressions();break;case 31:this.$=Expressions.wrap([$$[$0-2+2-1]]);break;case 32:this.$=new LiteralNode($$[$0-1+1-1]);break;case 33:this.$=new LiteralNode($$[$0-1+1-1]);break;case 34:this.$=new LiteralNode($$[$0-1+1-1]);break;case 35:this.$=$$[$0-1+1-1];break;case 36:this.$=new LiteralNode($$[$0-1+1-1]);break;case 37:this.$=new LiteralNode($$[$0-1+1-1]);break;case 38:this.$=new LiteralNode(true);break;case 39:this.$=new LiteralNode(false);break;case 40:this.$=new LiteralNode(true);break;case 41:this.$=new LiteralNode(false);break;case 42:this.$=new LiteralNode(true);break;case 43:this.$=new LiteralNode(false);break;case 44:this.$=new AssignNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 45:this.$=new AssignNode($$[$0-5+1-1],$$[$0-5+4-1]);break;case 46:this.$=new ValueNode($$[$0-1+1-1]);break;case 47:this.$=$$[$0-1+1-1];break;case 48:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 49:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 50:this.$=new AssignNode(new ValueNode($$[$0-5+1-1]),$$[$0-5+4-1],"object");break;case 51:this.$=new AssignNode(new ValueNode($$[$0-5+1-1]),$$[$0-5+4-1],"object");break;case 52:this.$=$$[$0-1+1-1];break;case 53:this.$=new ReturnNode($$[$0-2+2-1]);break;case 54:this.$=new ReturnNode(new ValueNode(new LiteralNode("null")));break;case 55:this.$=new CommentNode($$[$0-1+1-1]);break;case 56:this.$=new ExistenceNode($$[$0-2+1-1]);break;case 57:this.$=new CodeNode($$[$0-5+2-1],$$[$0-5+5-1],$$[$0-5+4-1]);break;case 58:this.$=new CodeNode([],$$[$0-2+2-1],$$[$0-2+1-1]);break;case 59:this.$="func";break;case 60:this.$="boundfunc";break;case 61:this.$=$$[$0-1+1-1];break;case 62:this.$=$$[$0-1+1-1];break;case 63:this.$=[];break;case 64:this.$=[$$[$0-1+1-1]];break;case 65:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 66:this.$=new LiteralNode($$[$0-1+1-1]);break;case 67:this.$=new ParamNode($$[$0-2+2-1],true);break;case 68:this.$=new ParamNode($$[$0-4+1-1],false,true);break;case 69:this.$=new ParamNode($$[$0-5+2-1],true,true);break;case 70:this.$=new SplatNode($$[$0-4+1-1]);break;case 71:this.$=new ValueNode($$[$0-1+1-1]);break;case 72:this.$=$$[$0-2+1-1].push($$[$0-2+2-1]);break;case 73:this.$=new ValueNode($$[$0-2+1-1],[$$[$0-2+2-1]]);break;case 74:this.$=$$[$0-1+1-1];break;case 75:this.$=$$[$0-1+1-1];break;case 76:this.$=new ValueNode($$[$0-1+1-1]);break;case 77:this.$=new ValueNode($$[$0-1+1-1]);break;case 78:this.$=$$[$0-1+1-1];break;case 79:this.$=new ValueNode($$[$0-1+1-1]);break;case 80:this.$=new ValueNode($$[$0-1+1-1]);break;case 81:this.$=new ValueNode($$[$0-1+1-1]);break;case 82:this.$=$$[$0-1+1-1];break;case 83:this.$=new ValueNode(new LiteralNode("null"));break;case 84:this.$=new AccessorNode($$[$0-2+2-1]);break;case 85:this.$=new AccessorNode($$[$0-2+2-1],"prototype");break;case 86:this.$=new AccessorNode(new LiteralNode("prototype"));break;case 87:this.$=new AccessorNode($$[$0-2+2-1],"soak");break;case 88:this.$=$$[$0-1+1-1];break;case 89:this.$=new SliceNode($$[$0-1+1-1]);break;case 90:this.$=new IndexNode($$[$0-3+2-1]);break;case 91:this.$=(function(){$$[$0-2+2-1].soakNode=true;return $$[$0-2+2-1]}());break;case 92:this.$=(function(){$$[$0-2+2-1].proto=true;return $$[$0-2+2-1]}());break;case 93:this.$=new ObjectNode($$[$0-4+2-1]);break;case 94:this.$=[];break;case 95:this.$=[$$[$0-1+1-1]];break;case 96:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 97:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 98:this.$=$$[$0-6+1-1].concat($$[$0-6+4-1]);break;case 99:this.$=new ClassNode($$[$0-2+2-1]);break;case 100:this.$=new ClassNode($$[$0-4+2-1],$$[$0-4+4-1]);break;case 101:this.$=new ClassNode($$[$0-5+2-1],null,$$[$0-5+4-1]);break;case 102:this.$=new ClassNode($$[$0-7+2-1],$$[$0-7+4-1],$$[$0-7+6-1]);break;case 103:this.$=new ClassNode("__temp__",null,$$[$0-4+3-1]);break;case 104:this.$=$$[$0-1+1-1];break;case 105:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"this");break;case 106:this.$=[];break;case 107:this.$=[$$[$0-1+1-1]];break;case 108:this.$=$$[$0-3+1-1].concat($$[$0-3+3-1]);break;case 109:this.$=$$[$0-3+2-1];break;case 110:this.$=$$[$0-1+1-1];break;case 111:this.$=$$[$0-1+1-1];break;case 112:this.$=$$[$0-2+2-1].newInstance();break;case 113:this.$=(new CallNode($$[$0-2+2-1],[])).newInstance();break;case 114:this.$=new ExtendsNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 115:this.$=new CallNode($$[$0-3+1-1],$$[$0-3+3-1],$$[$0-3+2-1]);break;case 116:this.$=new CallNode($$[$0-3+1-1],$$[$0-3+3-1],$$[$0-3+2-1]);break;case 117:this.$=false;break;case 118:this.$=true;break;case 119:this.$=$$[$0-4+2-1];break;case 120:this.$=new CallNode("super",[new SplatNode(new LiteralNode("arguments"))]);break;case 121:this.$=new CallNode("super",$$[$0-2+2-1]);break;case 122:this.$=new ValueNode(new LiteralNode("this"));break;case 123:this.$=new ValueNode(new LiteralNode("this"));break;case 124:this.$=new ValueNode(new LiteralNode("this"),[new AccessorNode($$[$0-2+2-1])]);break;case 125:this.$=new RangeNode($$[$0-6+2-1],$$[$0-6+5-1]);break;case 126:this.$=new RangeNode($$[$0-7+2-1],$$[$0-7+6-1],true);break;case 127:this.$=new RangeNode($$[$0-6+2-1],$$[$0-6+5-1]);break;case 128:this.$=new RangeNode($$[$0-7+2-1],$$[$0-7+6-1],true);break;case 129:this.$=new RangeNode($$[$0-5+2-1],null);break;case 130:this.$=new RangeNode($$[$0-6+2-1],null,true);break;case 131:this.$=new RangeNode(null,$$[$0-5+4-1]);break;case 132:this.$=new RangeNode(null,$$[$0-6+5-1],true);break;case 133:this.$=new ArrayNode($$[$0-4+2-1]);break;case 134:this.$=[];break;case 135:this.$=[$$[$0-1+1-1]];break;case 136:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 137:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 138:this.$=$$[$0-6+1-1].concat($$[$0-6+4-1]);break;case 139:this.$=$$[$0-1+1-1];break;case 140:this.$=$$[$0-1+1-1];break;case 141:this.$=$$[$0-1+1-1];break;case 142:this.$=$$[$0-3+1-1] instanceof Array?$$[$0-3+1-1].concat([$$[$0-3+3-1]]):[$$[$0-3+1-1]].concat([$$[$0-3+3-1]]);break;case 143:this.$=new TryNode($$[$0-3+2-1],$$[$0-3+3-1][0],$$[$0-3+3-1][1]);break;case 144:this.$=new TryNode($$[$0-4+2-1],null,null,$$[$0-4+4-1]);break;case 145:this.$=new TryNode($$[$0-5+2-1],$$[$0-5+3-1][0],$$[$0-5+3-1][1],$$[$0-5+5-1]);break;case 146:this.$=[$$[$0-3+2-1],$$[$0-3+3-1]];break;case 147:this.$=new ThrowNode($$[$0-2+2-1]);break;case 148:this.$=new ParentheticalNode($$[$0-3+2-1]);break;case 149:this.$=new ParentheticalNode(new LiteralNode(""));break;case 150:this.$=new WhileNode($$[$0-2+2-1]);break;case 151:this.$=new WhileNode($$[$0-4+2-1],{guard:$$[$0-4+4-1]});break;case 152:this.$=new WhileNode($$[$0-2+2-1],{invert:true});break;case 153:this.$=new WhileNode($$[$0-4+2-1],{invert:true,guard:$$[$0-4+4-1]});break;case 154:this.$=$$[$0-2+1-1].addBody($$[$0-2+2-1]);break;case 155:this.$=$$[$0-2+2-1].addBody(Expressions.wrap([$$[$0-2+1-1]]));break;case 156:this.$=$$[$0-2+2-1].addBody(Expressions.wrap([$$[$0-2+1-1]]));break;case 157:this.$=$$[$0-1+1-1];break;case 158:this.$=new WhileNode(new LiteralNode("true")).addBody($$[$0-2+2-1]);break;case 159:this.$=new WhileNode(new LiteralNode("true")).addBody(Expressions.wrap([$$[$0-2+2-1]]));break;case 160:this.$=new ForNode($$[$0-2+1-1],$$[$0-2+2-1],$$[$0-2+2-1].vars[0],$$[$0-2+2-1].vars[1]);break;case 161:this.$=new ForNode($$[$0-2+1-1],$$[$0-2+2-1],$$[$0-2+2-1].vars[0],$$[$0-2+2-1].vars[1]);break;case 162:this.$=new ForNode($$[$0-2+2-1],$$[$0-2+1-1],$$[$0-2+1-1].vars[0],$$[$0-2+1-1].vars[1]);break;case 163:this.$={source:new ValueNode($$[$0-2+2-1]),vars:[]};break;case 164:this.$=(function(){$$[$0-2+2-1].raw=$$[$0-2+1-1].raw;$$[$0-2+2-1].vars=$$[$0-2+1-1];return $$[$0-2+2-1]}());break;case 165:this.$=$$[$0-2+2-1];break;case 166:this.$=(function(){$$[$0-3+3-1].raw=true;return $$[$0-3+3-1]}());break;case 167:this.$=$$[$0-1+1-1];break;case 168:this.$=new ValueNode($$[$0-1+1-1]);break;case 169:this.$=new ValueNode($$[$0-1+1-1]);break;case 170:this.$=[$$[$0-1+1-1]];break;case 171:this.$=[$$[$0-3+1-1],$$[$0-3+3-1]];break;case 172:this.$={source:$$[$0-2+2-1]};break;case 173:this.$={source:$$[$0-2+2-1],object:true};break;case 174:this.$={source:$$[$0-4+2-1],guard:$$[$0-4+4-1]};break;case 175:this.$={source:$$[$0-4+2-1],guard:$$[$0-4+4-1],object:true};break;case 176:this.$={source:$$[$0-4+2-1],step:$$[$0-4+4-1]};break;case 177:this.$={source:$$[$0-6+2-1],guard:$$[$0-6+4-1],step:$$[$0-6+6-1]};break;case 178:this.$={source:$$[$0-6+2-1],step:$$[$0-6+4-1],guard:$$[$0-6+6-1]};break;case 179:this.$=$$[$0-5+4-1].switchesOver($$[$0-5+2-1]);break;case 180:this.$=$$[$0-7+4-1].switchesOver($$[$0-7+2-1]).addElse($$[$0-7+6-1],true);break;case 181:this.$=$$[$0-4+3-1];break;case 182:this.$=$$[$0-6+3-1].addElse($$[$0-6+5-1],true);break;case 183:this.$=$$[$0-1+1-1];break;case 184:this.$=$$[$0-2+1-1].addElse($$[$0-2+2-1]);break;case 185:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1],{statement:true});break;case 186:this.$=new IfNode($$[$0-4+2-1],$$[$0-4+3-1],{statement:true});break;case 187:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1]);break;case 188:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1],{invert:true});break;case 189:this.$=$$[$0-5+1-1].addElse((new IfNode($$[$0-5+4-1],$$[$0-5+5-1])).forceStatement());break;case 190:this.$=$$[$0-3+1-1].addElse($$[$0-3+3-1]);break;case 191:this.$=$$[$0-1+1-1];break;case 192:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true});break;case 193:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true});break;case 194:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true,invert:true});break;case 195:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true,invert:true});break;case 196:this.$=new OpNode($$[$0-2+1-1],$$[$0-2+2-1]);break;case 197:this.$=new OpNode("-",$$[$0-2+2-1]);break;case 198:this.$=new OpNode("+",$$[$0-2+2-1]);break;case 199:this.$=new OpNode("--",$$[$0-2+2-1]);break;case 200:this.$=new OpNode("++",$$[$0-2+2-1]);break;case 201:this.$=new OpNode("--",$$[$0-2+1-1],null,true);break;case 202:this.$=new OpNode("++",$$[$0-2+1-1],null,true);break;case 203:this.$=new OpNode("?",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 204:this.$=new OpNode("+",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 205:this.$=new OpNode("-",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 206:this.$=new OpNode("==",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 207:this.$=new OpNode("!=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 208:this.$=new OpNode($$[$0-3+2-1],$$[$0-3+1-1],$$[$0-3+3-1]);break;case 209:this.$=new OpNode($$[$0-3+2-1],$$[$0-3+1-1],$$[$0-3+3-1]);break;case 210:this.$=new OpNode($$[$0-3+2-1],$$[$0-3+1-1],$$[$0-3+3-1]);break;case 211:this.$=new OpNode($$[$0-3+2-1],$$[$0-3+1-1],$$[$0-3+3-1]);break;case 212:this.$=new OpNode($$[$0-3+2-1],$$[$0-3+1-1],$$[$0-3+3-1]);break;case 213:this.$=new OpNode($$[$0-5+2-1],$$[$0-5+1-1],$$[$0-5+4-1]);break;case 214:this.$=new InNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 215:this.$=new OpNode("in",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 216:this.$=new OpNode("instanceof",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 217:this.$=new OpNode($$[$0-4+2-1],new InNode($$[$0-4+1-1],$$[$0-4+4-1]));break;case 218:this.$=new OpNode($$[$0-4+2-1],new ParentheticalNode(new OpNode("in",$$[$0-4+1-1],$$[$0-4+4-1])));break;case 219:this.$=new OpNode($$[$0-4+2-1],new ParentheticalNode(new OpNode("instanceof",$$[$0-4+1-1],$$[$0-4+4-1])));break}},table:[{"1":[2,1],"3":1,"4":[1,2],"5":3,"6":4,"7":5,"8":7,"9":8,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,6],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[3]},{"1":[2,2],"28":86,"50":[1,52]},{"1":[2,3],"4":[1,87]},{"4":[1,88]},{"1":[2,5],"4":[2,5],"30":[2,5]},{"5":89,"7":5,"8":7,"9":8,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"30":[1,90],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,8],"4":[2,8],"30":[2,8],"51":[1,93],"112":[2,8],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,9],"4":[2,9],"30":[2,9],"112":[2,9],"113":112,"114":[1,75],"116":[1,76],"119":113,"120":[1,78],"121":79,"137":[1,110],"138":[1,111]},{"1":[2,15],"4":[2,15],"29":[2,15],"30":[2,15],"51":[2,15],"59":[2,15],"63":[2,15],"66":116,"75":[1,118],"76":[1,119],"77":[1,120],"78":[1,121],"79":122,"80":123,"81":[1,124],"82":[2,15],"83":[1,125],"84":[1,126],"87":[2,15],"94":115,"96":[1,117],"97":[2,117],"99":[2,15],"103":[2,15],"112":[2,15],"114":[2,15],"115":[2,15],"116":[2,15],"120":[2,15],"126":[2,15],"127":[2,15],"128":[2,15],"137":[2,15],"138":[2,15],"139":[2,15],"140":[2,15],"141":[2,15],"142":[2,15],"143":[2,15],"144":[2,15],"145":[2,15],"146":[2,15],"147":[2,15],"148":[2,15],"149":[2,15],"150":[1,114],"151":[2,15]},{"1":[2,16],"4":[2,16],"29":[2,16],"30":[2,16],"51":[2,16],"59":[2,16],"63":[2,16],"82":[2,16],"87":[2,16],"99":[2,16],"103":[2,16],"112":[2,16],"114":[2,16],"115":[2,16],"116":[2,16],"120":[2,16],"126":[2,16],"127":[2,16],"128":[2,16],"137":[2,16],"138":[2,16],"139":[2,16],"140":[2,16],"141":[2,16],"142":[2,16],"143":[2,16],"144":[2,16],"145":[2,16],"146":[2,16],"147":[2,16],"148":[2,16],"149":[2,16],"151":[2,16]},{"1":[2,17],"4":[2,17],"29":[2,17],"30":[2,17],"51":[2,17],"59":[2,17],"63":[2,17],"82":[2,17],"87":[2,17],"99":[2,17],"103":[2,17],"112":[2,17],"114":[2,17],"115":[2,17],"116":[2,17],"120":[2,17],"126":[2,17],"127":[2,17],"128":[2,17],"137":[2,17],"138":[2,17],"139":[2,17],"140":[2,17],"141":[2,17],"142":[2,17],"143":[2,17],"144":[2,17],"145":[2,17],"146":[2,17],"147":[2,17],"148":[2,17],"149":[2,17],"151":[2,17]},{"1":[2,18],"4":[2,18],"29":[2,18],"30":[2,18],"51":[2,18],"59":[2,18],"63":[2,18],"82":[2,18],"87":[2,18],"99":[2,18],"103":[2,18],"112":[2,18],"114":[2,18],"115":[2,18],"116":[2,18],"120":[2,18],"126":[2,18],"127":[2,18],"128":[2,18],"137":[2,18],"138":[2,18],"139":[2,18],"140":[2,18],"141":[2,18],"142":[2,18],"143":[2,18],"144":[2,18],"145":[2,18],"146":[2,18],"147":[2,18],"148":[2,18],"149":[2,18],"151":[2,18]},{"1":[2,19],"4":[2,19],"29":[2,19],"30":[2,19],"51":[2,19],"59":[2,19],"63":[2,19],"82":[2,19],"87":[2,19],"99":[2,19],"103":[2,19],"112":[2,19],"114":[2,19],"115":[2,19],"116":[2,19],"120":[2,19],"126":[2,19],"127":[2,19],"128":[2,19],"137":[2,19],"138":[2,19],"139":[2,19],"140":[2,19],"141":[2,19],"142":[2,19],"143":[2,19],"144":[2,19],"145":[2,19],"146":[2,19],"147":[2,19],"148":[2,19],"149":[2,19],"151":[2,19]},{"1":[2,20],"4":[2,20],"29":[2,20],"30":[2,20],"51":[2,20],"59":[2,20],"63":[2,20],"82":[2,20],"87":[2,20],"99":[2,20],"103":[2,20],"112":[2,20],"114":[2,20],"115":[2,20],"116":[2,20],"120":[2,20],"126":[2,20],"127":[2,20],"128":[2,20],"137":[2,20],"138":[2,20],"139":[2,20],"140":[2,20],"141":[2,20],"142":[2,20],"143":[2,20],"144":[2,20],"145":[2,20],"146":[2,20],"147":[2,20],"148":[2,20],"149":[2,20],"151":[2,20]},{"1":[2,21],"4":[2,21],"29":[2,21],"30":[2,21],"51":[2,21],"59":[2,21],"63":[2,21],"82":[2,21],"87":[2,21],"99":[2,21],"103":[2,21],"112":[2,21],"114":[2,21],"115":[2,21],"116":[2,21],"120":[2,21],"126":[2,21],"127":[2,21],"128":[2,21],"137":[2,21],"138":[2,21],"139":[2,21],"140":[2,21],"141":[2,21],"142":[2,21],"143":[2,21],"144":[2,21],"145":[2,21],"146":[2,21],"147":[2,21],"148":[2,21],"149":[2,21],"151":[2,21]},{"1":[2,22],"4":[2,22],"29":[2,22],"30":[2,22],"51":[2,22],"59":[2,22],"63":[2,22],"82":[2,22],"87":[2,22],"99":[2,22],"103":[2,22],"112":[2,22],"114":[2,22],"115":[2,22],"116":[2,22],"120":[2,22],"126":[2,22],"127":[2,22],"128":[2,22],"137":[2,22],"138":[2,22],"139":[2,22],"140":[2,22],"141":[2,22],"142":[2,22],"143":[2,22],"144":[2,22],"145":[2,22],"146":[2,22],"147":[2,22],"148":[2,22],"149":[2,22],"151":[2,22]},{"1":[2,23],"4":[2,23],"29":[2,23],"30":[2,23],"51":[2,23],"59":[2,23],"63":[2,23],"82":[2,23],"87":[2,23],"99":[2,23],"103":[2,23],"112":[2,23],"114":[2,23],"115":[2,23],"116":[2,23],"120":[2,23],"126":[2,23],"127":[2,23],"128":[2,23],"137":[2,23],"138":[2,23],"139":[2,23],"140":[2,23],"141":[2,23],"142":[2,23],"143":[2,23],"144":[2,23],"145":[2,23],"146":[2,23],"147":[2,23],"148":[2,23],"149":[2,23],"151":[2,23]},{"1":[2,24],"4":[2,24],"29":[2,24],"30":[2,24],"51":[2,24],"59":[2,24],"63":[2,24],"82":[2,24],"87":[2,24],"99":[2,24],"103":[2,24],"112":[2,24],"114":[2,24],"115":[2,24],"116":[2,24],"120":[2,24],"126":[2,24],"127":[2,24],"128":[2,24],"137":[2,24],"138":[2,24],"139":[2,24],"140":[2,24],"141":[2,24],"142":[2,24],"143":[2,24],"144":[2,24],"145":[2,24],"146":[2,24],"147":[2,24],"148":[2,24],"149":[2,24],"151":[2,24]},{"1":[2,25],"4":[2,25],"29":[2,25],"30":[2,25],"51":[2,25],"59":[2,25],"63":[2,25],"82":[2,25],"87":[2,25],"99":[2,25],"103":[2,25],"112":[2,25],"114":[2,25],"115":[2,25],"116":[2,25],"120":[2,25],"126":[2,25],"127":[2,25],"128":[2,25],"137":[2,25],"138":[2,25],"139":[2,25],"140":[2,25],"141":[2,25],"142":[2,25],"143":[2,25],"144":[2,25],"145":[2,25],"146":[2,25],"147":[2,25],"148":[2,25],"149":[2,25],"151":[2,25]},{"1":[2,26],"4":[2,26],"29":[2,26],"30":[2,26],"51":[2,26],"59":[2,26],"63":[2,26],"82":[2,26],"87":[2,26],"99":[2,26],"103":[2,26],"112":[2,26],"114":[2,26],"115":[2,26],"116":[2,26],"120":[2,26],"126":[2,26],"127":[2,26],"128":[2,26],"137":[2,26],"138":[2,26],"139":[2,26],"140":[2,26],"141":[2,26],"142":[2,26],"143":[2,26],"144":[2,26],"145":[2,26],"146":[2,26],"147":[2,26],"148":[2,26],"149":[2,26],"151":[2,26]},{"1":[2,27],"4":[2,27],"29":[2,27],"30":[2,27],"51":[2,27],"59":[2,27],"63":[2,27],"82":[2,27],"87":[2,27],"99":[2,27],"103":[2,27],"112":[2,27],"114":[2,27],"115":[2,27],"116":[2,27],"120":[2,27],"126":[2,27],"127":[2,27],"128":[2,27],"137":[2,27],"138":[2,27],"139":[2,27],"140":[2,27],"141":[2,27],"142":[2,27],"143":[2,27],"144":[2,27],"145":[2,27],"146":[2,27],"147":[2,27],"148":[2,27],"149":[2,27],"151":[2,27]},{"1":[2,28],"4":[2,28],"29":[2,28],"30":[2,28],"51":[2,28],"59":[2,28],"63":[2,28],"82":[2,28],"87":[2,28],"99":[2,28],"103":[2,28],"112":[2,28],"114":[2,28],"115":[2,28],"116":[2,28],"120":[2,28],"126":[2,28],"127":[2,28],"128":[2,28],"137":[2,28],"138":[2,28],"139":[2,28],"140":[2,28],"141":[2,28],"142":[2,28],"143":[2,28],"144":[2,28],"145":[2,28],"146":[2,28],"147":[2,28],"148":[2,28],"149":[2,28],"151":[2,28]},{"1":[2,10],"4":[2,10],"30":[2,10],"112":[2,10],"114":[2,10],"116":[2,10],"120":[2,10],"137":[2,10],"138":[2,10]},{"1":[2,11],"4":[2,11],"30":[2,11],"112":[2,11],"114":[2,11],"116":[2,11],"120":[2,11],"137":[2,11],"138":[2,11]},{"1":[2,12],"4":[2,12],"30":[2,12],"112":[2,12],"114":[2,12],"116":[2,12],"120":[2,12],"137":[2,12],"138":[2,12]},{"1":[2,13],"4":[2,13],"30":[2,13],"112":[2,13],"114":[2,13],"116":[2,13],"120":[2,13],"137":[2,13],"138":[2,13]},{"1":[2,14],"4":[2,14],"30":[2,14],"112":[2,14],"114":[2,14],"116":[2,14],"120":[2,14],"137":[2,14],"138":[2,14]},{"1":[2,78],"4":[2,78],"29":[2,78],"30":[2,78],"46":[1,127],"51":[2,78],"59":[2,78],"63":[2,78],"75":[2,78],"76":[2,78],"77":[2,78],"78":[2,78],"81":[2,78],"82":[2,78],"83":[2,78],"84":[2,78],"87":[2,78],"96":[2,78],"97":[2,78],"99":[2,78],"103":[2,78],"112":[2,78],"114":[2,78],"115":[2,78],"116":[2,78],"120":[2,78],"126":[2,78],"127":[2,78],"128":[2,78],"137":[2,78],"138":[2,78],"139":[2,78],"140":[2,78],"141":[2,78],"142":[2,78],"143":[2,78],"144":[2,78],"145":[2,78],"146":[2,78],"147":[2,78],"148":[2,78],"149":[2,78],"150":[2,78],"151":[2,78]},{"1":[2,79],"4":[2,79],"29":[2,79],"30":[2,79],"51":[2,79],"59":[2,79],"63":[2,79],"75":[2,79],"76":[2,79],"77":[2,79],"78":[2,79],"81":[2,79],"82":[2,79],"83":[2,79],"84":[2,79],"87":[2,79],"96":[2,79],"97":[2,79],"99":[2,79],"103":[2,79],"112":[2,79],"114":[2,79],"115":[2,79],"116":[2,79],"120":[2,79],"126":[2,79],"127":[2,79],"128":[2,79],"137":[2,79],"138":[2,79],"139":[2,79],"140":[2,79],"141":[2,79],"142":[2,79],"143":[2,79],"144":[2,79],"145":[2,79],"146":[2,79],"147":[2,79],"148":[2,79],"149":[2,79],"150":[2,79],"151":[2,79]},{"1":[2,80],"4":[2,80],"29":[2,80],"30":[2,80],"51":[2,80],"59":[2,80],"63":[2,80],"75":[2,80],"76":[2,80],"77":[2,80],"78":[2,80],"81":[2,80],"82":[2,80],"83":[2,80],"84":[2,80],"87":[2,80],"96":[2,80],"97":[2,80],"99":[2,80],"103":[2,80],"112":[2,80],"114":[2,80],"115":[2,80],"116":[2,80],"120":[2,80],"126":[2,80],"127":[2,80],"128":[2,80],"137":[2,80],"138":[2,80],"139":[2,80],"140":[2,80],"141":[2,80],"142":[2,80],"143":[2,80],"144":[2,80],"145":[2,80],"146":[2,80],"147":[2,80],"148":[2,80],"149":[2,80],"150":[2,80],"151":[2,80]},{"1":[2,81],"4":[2,81],"29":[2,81],"30":[2,81],"51":[2,81],"59":[2,81],"63":[2,81],"75":[2,81],"76":[2,81],"77":[2,81],"78":[2,81],"81":[2,81],"82":[2,81],"83":[2,81],"84":[2,81],"87":[2,81],"96":[2,81],"97":[2,81],"99":[2,81],"103":[2,81],"112":[2,81],"114":[2,81],"115":[2,81],"116":[2,81],"120":[2,81],"126":[2,81],"127":[2,81],"128":[2,81],"137":[2,81],"138":[2,81],"139":[2,81],"140":[2,81],"141":[2,81],"142":[2,81],"143":[2,81],"144":[2,81],"145":[2,81],"146":[2,81],"147":[2,81],"148":[2,81],"149":[2,81],"150":[2,81],"151":[2,81]},{"1":[2,82],"4":[2,82],"29":[2,82],"30":[2,82],"51":[2,82],"59":[2,82],"63":[2,82],"75":[2,82],"76":[2,82],"77":[2,82],"78":[2,82],"81":[2,82],"82":[2,82],"83":[2,82],"84":[2,82],"87":[2,82],"96":[2,82],"97":[2,82],"99":[2,82],"103":[2,82],"112":[2,82],"114":[2,82],"115":[2,82],"116":[2,82],"120":[2,82],"126":[2,82],"127":[2,82],"128":[2,82],"137":[2,82],"138":[2,82],"139":[2,82],"140":[2,82],"141":[2,82],"142":[2,82],"143":[2,82],"144":[2,82],"145":[2,82],"146":[2,82],"147":[2,82],"148":[2,82],"149":[2,82],"150":[2,82],"151":[2,82]},{"1":[2,83],"4":[2,83],"29":[2,83],"30":[2,83],"51":[2,83],"59":[2,83],"63":[2,83],"75":[2,83],"76":[2,83],"77":[2,83],"78":[2,83],"81":[2,83],"82":[2,83],"83":[2,83],"84":[2,83],"87":[2,83],"96":[2,83],"97":[2,83],"99":[2,83],"103":[2,83],"112":[2,83],"114":[2,83],"115":[2,83],"116":[2,83],"120":[2,83],"126":[2,83],"127":[2,83],"128":[2,83],"137":[2,83],"138":[2,83],"139":[2,83],"140":[2,83],"141":[2,83],"142":[2,83],"143":[2,83],"144":[2,83],"145":[2,83],"146":[2,83],"147":[2,83],"148":[2,83],"149":[2,83],"150":[2,83],"151":[2,83]},{"1":[2,110],"4":[2,110],"29":[2,110],"30":[2,110],"51":[2,110],"59":[2,110],"63":[2,110],"66":129,"75":[1,118],"76":[1,119],"77":[1,120],"78":[1,121],"79":122,"80":123,"81":[1,124],"82":[2,110],"83":[1,125],"84":[1,126],"87":[2,110],"94":128,"96":[1,117],"97":[2,117],"99":[2,110],"103":[2,110],"112":[2,110],"114":[2,110],"115":[2,110],"116":[2,110],"120":[2,110],"126":[2,110],"127":[2,110],"128":[2,110],"137":[2,110],"138":[2,110],"139":[2,110],"140":[2,110],"141":[2,110],"142":[2,110],"143":[2,110],"144":[2,110],"145":[2,110],"146":[2,110],"147":[2,110],"148":[2,110],"149":[2,110],"151":[2,110]},{"1":[2,111],"4":[2,111],"29":[2,111],"30":[2,111],"51":[2,111],"59":[2,111],"63":[2,111],"82":[2,111],"87":[2,111],"99":[2,111],"103":[2,111],"112":[2,111],"114":[2,111],"115":[2,111],"116":[2,111],"120":[2,111],"126":[2,111],"127":[2,111],"128":[2,111],"137":[2,111],"138":[2,111],"139":[2,111],"140":[2,111],"141":[2,111],"142":[2,111],"143":[2,111],"144":[2,111],"145":[2,111],"146":[2,111],"147":[2,111],"148":[2,111],"149":[2,111],"151":[2,111]},{"15":131,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":132,"62":[1,69],"65":133,"67":130,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"101":[1,68],"102":[1,67],"111":[1,66]},{"53":134,"54":[2,63],"59":[2,63],"60":135,"61":[1,136],"62":[1,137]},{"4":[1,139],"6":138,"29":[1,6]},{"8":140,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":142,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":143,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":144,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":145,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,191],"4":[2,191],"29":[2,191],"30":[2,191],"51":[2,191],"59":[2,191],"63":[2,191],"82":[2,191],"87":[2,191],"99":[2,191],"103":[2,191],"112":[2,191],"114":[2,191],"115":[2,191],"116":[2,191],"120":[2,191],"126":[2,191],"127":[2,191],"128":[2,191],"131":[1,146],"137":[2,191],"138":[2,191],"139":[2,191],"140":[2,191],"141":[2,191],"142":[2,191],"143":[2,191],"144":[2,191],"145":[2,191],"146":[2,191],"147":[2,191],"148":[2,191],"149":[2,191],"151":[2,191]},{"4":[1,139],"6":147,"29":[1,6]},{"4":[1,139],"6":148,"29":[1,6]},{"1":[2,157],"4":[2,157],"29":[2,157],"30":[2,157],"51":[2,157],"59":[2,157],"63":[2,157],"82":[2,157],"87":[2,157],"99":[2,157],"103":[2,157],"112":[2,157],"114":[2,157],"115":[2,157],"116":[2,157],"120":[2,157],"126":[2,157],"127":[2,157],"128":[2,157],"137":[2,157],"138":[2,157],"139":[2,157],"140":[2,157],"141":[2,157],"142":[2,157],"143":[2,157],"144":[2,157],"145":[2,157],"146":[2,157],"147":[2,157],"148":[2,157],"149":[2,157],"151":[2,157]},{"4":[1,139],"6":149,"29":[1,6]},{"8":150,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,151],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,75],"4":[2,75],"29":[2,75],"30":[2,75],"46":[2,75],"51":[2,75],"59":[2,75],"63":[2,75],"75":[2,75],"76":[2,75],"77":[2,75],"78":[2,75],"81":[2,75],"82":[2,75],"83":[2,75],"84":[2,75],"87":[2,75],"89":[1,152],"96":[2,75],"97":[2,75],"99":[2,75],"103":[2,75],"112":[2,75],"114":[2,75],"115":[2,75],"116":[2,75],"120":[2,75],"126":[2,75],"127":[2,75],"128":[2,75],"137":[2,75],"138":[2,75],"139":[2,75],"140":[2,75],"141":[2,75],"142":[2,75],"143":[2,75],"144":[2,75],"145":[2,75],"146":[2,75],"147":[2,75],"148":[2,75],"149":[2,75],"150":[2,75],"151":[2,75]},{"15":155,"29":[1,154],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":132,"62":[1,69],"65":153,"67":156,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"101":[1,68],"102":[1,67],"111":[1,66]},{"1":[2,55],"4":[2,55],"29":[2,55],"30":[2,55],"51":[2,55],"59":[2,55],"63":[2,55],"82":[2,55],"87":[2,55],"99":[2,55],"103":[2,55],"108":[2,55],"109":[2,55],"112":[2,55],"114":[2,55],"115":[2,55],"116":[2,55],"120":[2,55],"126":[2,55],"127":[2,55],"128":[2,55],"131":[2,55],"133":[2,55],"137":[2,55],"138":[2,55],"139":[2,55],"140":[2,55],"141":[2,55],"142":[2,55],"143":[2,55],"144":[2,55],"145":[2,55],"146":[2,55],"147":[2,55],"148":[2,55],"149":[2,55],"151":[2,55]},{"1":[2,54],"4":[2,54],"8":157,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"30":[2,54],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"112":[2,54],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"137":[2,54],"138":[2,54],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":158,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,76],"4":[2,76],"29":[2,76],"30":[2,76],"46":[2,76],"51":[2,76],"59":[2,76],"63":[2,76],"75":[2,76],"76":[2,76],"77":[2,76],"78":[2,76],"81":[2,76],"82":[2,76],"83":[2,76],"84":[2,76],"87":[2,76],"96":[2,76],"97":[2,76],"99":[2,76],"103":[2,76],"112":[2,76],"114":[2,76],"115":[2,76],"116":[2,76],"120":[2,76],"126":[2,76],"127":[2,76],"128":[2,76],"137":[2,76],"138":[2,76],"139":[2,76],"140":[2,76],"141":[2,76],"142":[2,76],"143":[2,76],"144":[2,76],"145":[2,76],"146":[2,76],"147":[2,76],"148":[2,76],"149":[2,76],"150":[2,76],"151":[2,76]},{"1":[2,77],"4":[2,77],"29":[2,77],"30":[2,77],"46":[2,77],"51":[2,77],"59":[2,77],"63":[2,77],"75":[2,77],"76":[2,77],"77":[2,77],"78":[2,77],"81":[2,77],"82":[2,77],"83":[2,77],"84":[2,77],"87":[2,77],"96":[2,77],"97":[2,77],"99":[2,77],"103":[2,77],"112":[2,77],"114":[2,77],"115":[2,77],"116":[2,77],"120":[2,77],"126":[2,77],"127":[2,77],"128":[2,77],"137":[2,77],"138":[2,77],"139":[2,77],"140":[2,77],"141":[2,77],"142":[2,77],"143":[2,77],"144":[2,77],"145":[2,77],"146":[2,77],"147":[2,77],"148":[2,77],"149":[2,77],"150":[2,77],"151":[2,77]},{"1":[2,35],"4":[2,35],"29":[2,35],"30":[2,35],"51":[2,35],"59":[2,35],"63":[2,35],"75":[2,35],"76":[2,35],"77":[2,35],"78":[2,35],"81":[2,35],"82":[2,35],"83":[2,35],"84":[2,35],"87":[2,35],"96":[2,35],"97":[2,35],"99":[2,35],"103":[2,35],"112":[2,35],"114":[2,35],"115":[2,35],"116":[2,35],"120":[2,35],"126":[2,35],"127":[2,35],"128":[2,35],"137":[2,35],"138":[2,35],"139":[2,35],"140":[2,35],"141":[2,35],"142":[2,35],"143":[2,35],"144":[2,35],"145":[2,35],"146":[2,35],"147":[2,35],"148":[2,35],"149":[2,35],"150":[2,35],"151":[2,35]},{"1":[2,36],"4":[2,36],"29":[2,36],"30":[2,36],"51":[2,36],"59":[2,36],"63":[2,36],"75":[2,36],"76":[2,36],"77":[2,36],"78":[2,36],"81":[2,36],"82":[2,36],"83":[2,36],"84":[2,36],"87":[2,36],"96":[2,36],"97":[2,36],"99":[2,36],"103":[2,36],"112":[2,36],"114":[2,36],"115":[2,36],"116":[2,36],"120":[2,36],"126":[2,36],"127":[2,36],"128":[2,36],"137":[2,36],"138":[2,36],"139":[2,36],"140":[2,36],"141":[2,36],"142":[2,36],"143":[2,36],"144":[2,36],"145":[2,36],"146":[2,36],"147":[2,36],"148":[2,36],"149":[2,36],"150":[2,36],"151":[2,36]},{"1":[2,37],"4":[2,37],"29":[2,37],"30":[2,37],"51":[2,37],"59":[2,37],"63":[2,37],"75":[2,37],"76":[2,37],"77":[2,37],"78":[2,37],"81":[2,37],"82":[2,37],"83":[2,37],"84":[2,37],"87":[2,37],"96":[2,37],"97":[2,37],"99":[2,37],"103":[2,37],"112":[2,37],"114":[2,37],"115":[2,37],"116":[2,37],"120":[2,37],"126":[2,37],"127":[2,37],"128":[2,37],"137":[2,37],"138":[2,37],"139":[2,37],"140":[2,37],"141":[2,37],"142":[2,37],"143":[2,37],"144":[2,37],"145":[2,37],"146":[2,37],"147":[2,37],"148":[2,37],"149":[2,37],"150":[2,37],"151":[2,37]},{"1":[2,38],"4":[2,38],"29":[2,38],"30":[2,38],"51":[2,38],"59":[2,38],"63":[2,38],"75":[2,38],"76":[2,38],"77":[2,38],"78":[2,38],"81":[2,38],"82":[2,38],"83":[2,38],"84":[2,38],"87":[2,38],"96":[2,38],"97":[2,38],"99":[2,38],"103":[2,38],"112":[2,38],"114":[2,38],"115":[2,38],"116":[2,38],"120":[2,38],"126":[2,38],"127":[2,38],"128":[2,38],"137":[2,38],"138":[2,38],"139":[2,38],"140":[2,38],"141":[2,38],"142":[2,38],"143":[2,38],"144":[2,38],"145":[2,38],"146":[2,38],"147":[2,38],"148":[2,38],"149":[2,38],"150":[2,38],"151":[2,38]},{"1":[2,39],"4":[2,39],"29":[2,39],"30":[2,39],"51":[2,39],"59":[2,39],"63":[2,39],"75":[2,39],"76":[2,39],"77":[2,39],"78":[2,39],"81":[2,39],"82":[2,39],"83":[2,39],"84":[2,39],"87":[2,39],"96":[2,39],"97":[2,39],"99":[2,39],"103":[2,39],"112":[2,39],"114":[2,39],"115":[2,39],"116":[2,39],"120":[2,39],"126":[2,39],"127":[2,39],"128":[2,39],"137":[2,39],"138":[2,39],"139":[2,39],"140":[2,39],"141":[2,39],"142":[2,39],"143":[2,39],"144":[2,39],"145":[2,39],"146":[2,39],"147":[2,39],"148":[2,39],"149":[2,39],"150":[2,39],"151":[2,39]},{"1":[2,40],"4":[2,40],"29":[2,40],"30":[2,40],"51":[2,40],"59":[2,40],"63":[2,40],"75":[2,40],"76":[2,40],"77":[2,40],"78":[2,40],"81":[2,40],"82":[2,40],"83":[2,40],"84":[2,40],"87":[2,40],"96":[2,40],"97":[2,40],"99":[2,40],"103":[2,40],"112":[2,40],"114":[2,40],"115":[2,40],"116":[2,40],"120":[2,40],"126":[2,40],"127":[2,40],"128":[2,40],"137":[2,40],"138":[2,40],"139":[2,40],"140":[2,40],"141":[2,40],"142":[2,40],"143":[2,40],"144":[2,40],"145":[2,40],"146":[2,40],"147":[2,40],"148":[2,40],"149":[2,40],"150":[2,40],"151":[2,40]},{"1":[2,41],"4":[2,41],"29":[2,41],"30":[2,41],"51":[2,41],"59":[2,41],"63":[2,41],"75":[2,41],"76":[2,41],"77":[2,41],"78":[2,41],"81":[2,41],"82":[2,41],"83":[2,41],"84":[2,41],"87":[2,41],"96":[2,41],"97":[2,41],"99":[2,41],"103":[2,41],"112":[2,41],"114":[2,41],"115":[2,41],"116":[2,41],"120":[2,41],"126":[2,41],"127":[2,41],"128":[2,41],"137":[2,41],"138":[2,41],"139":[2,41],"140":[2,41],"141":[2,41],"142":[2,41],"143":[2,41],"144":[2,41],"145":[2,41],"146":[2,41],"147":[2,41],"148":[2,41],"149":[2,41],"150":[2,41],"151":[2,41]},{"1":[2,42],"4":[2,42],"29":[2,42],"30":[2,42],"51":[2,42],"59":[2,42],"63":[2,42],"75":[2,42],"76":[2,42],"77":[2,42],"78":[2,42],"81":[2,42],"82":[2,42],"83":[2,42],"84":[2,42],"87":[2,42],"96":[2,42],"97":[2,42],"99":[2,42],"103":[2,42],"112":[2,42],"114":[2,42],"115":[2,42],"116":[2,42],"120":[2,42],"126":[2,42],"127":[2,42],"128":[2,42],"137":[2,42],"138":[2,42],"139":[2,42],"140":[2,42],"141":[2,42],"142":[2,42],"143":[2,42],"144":[2,42],"145":[2,42],"146":[2,42],"147":[2,42],"148":[2,42],"149":[2,42],"150":[2,42],"151":[2,42]},{"1":[2,43],"4":[2,43],"29":[2,43],"30":[2,43],"51":[2,43],"59":[2,43],"63":[2,43],"75":[2,43],"76":[2,43],"77":[2,43],"78":[2,43],"81":[2,43],"82":[2,43],"83":[2,43],"84":[2,43],"87":[2,43],"96":[2,43],"97":[2,43],"99":[2,43],"103":[2,43],"112":[2,43],"114":[2,43],"115":[2,43],"116":[2,43],"120":[2,43],"126":[2,43],"127":[2,43],"128":[2,43],"137":[2,43],"138":[2,43],"139":[2,43],"140":[2,43],"141":[2,43],"142":[2,43],"143":[2,43],"144":[2,43],"145":[2,43],"146":[2,43],"147":[2,43],"148":[2,43],"149":[2,43],"150":[2,43],"151":[2,43]},{"7":159,"8":7,"9":8,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"112":[1,160],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[2,134],"8":161,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[2,134],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"59":[2,134],"62":[1,69],"64":164,"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"98":162,"100":[1,70],"101":[1,68],"102":[1,67],"103":[2,134],"104":163,"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,122],"4":[2,122],"29":[2,122],"30":[2,122],"51":[2,122],"59":[2,122],"63":[2,122],"75":[2,122],"76":[2,122],"77":[2,122],"78":[2,122],"81":[2,122],"82":[2,122],"83":[2,122],"84":[2,122],"87":[2,122],"96":[2,122],"97":[2,122],"99":[2,122],"103":[2,122],"112":[2,122],"114":[2,122],"115":[2,122],"116":[2,122],"120":[2,122],"126":[2,122],"127":[2,122],"128":[2,122],"137":[2,122],"138":[2,122],"139":[2,122],"140":[2,122],"141":[2,122],"142":[2,122],"143":[2,122],"144":[2,122],"145":[2,122],"146":[2,122],"147":[2,122],"148":[2,122],"149":[2,122],"150":[2,122],"151":[2,122]},{"1":[2,123],"4":[2,123],"29":[2,123],"30":[2,123],"31":165,"32":[1,85],"51":[2,123],"59":[2,123],"63":[2,123],"75":[2,123],"76":[2,123],"77":[2,123],"78":[2,123],"81":[2,123],"82":[2,123],"83":[2,123],"84":[2,123],"87":[2,123],"96":[2,123],"97":[2,123],"99":[2,123],"103":[2,123],"112":[2,123],"114":[2,123],"115":[2,123],"116":[2,123],"120":[2,123],"126":[2,123],"127":[2,123],"128":[2,123],"137":[2,123],"138":[2,123],"139":[2,123],"140":[2,123],"141":[2,123],"142":[2,123],"143":[2,123],"144":[2,123],"145":[2,123],"146":[2,123],"147":[2,123],"148":[2,123],"149":[2,123],"150":[2,123],"151":[2,123]},{"1":[2,120],"4":[2,120],"29":[2,120],"30":[2,120],"51":[2,120],"59":[2,120],"63":[2,120],"82":[2,120],"87":[2,120],"95":166,"97":[1,167],"99":[2,120],"103":[2,120],"112":[2,120],"114":[2,120],"115":[2,120],"116":[2,120],"120":[2,120],"126":[2,120],"127":[2,120],"128":[2,120],"137":[2,120],"138":[2,120],"139":[2,120],"140":[2,120],"141":[2,120],"142":[2,120],"143":[2,120],"144":[2,120],"145":[2,120],"146":[2,120],"147":[2,120],"148":[2,120],"149":[2,120],"151":[2,120]},{"4":[2,59],"29":[2,59]},{"4":[2,60],"29":[2,60]},{"8":168,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":169,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":170,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":171,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[1,139],"6":172,"8":173,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,6],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"31":178,"32":[1,85],"69":179,"70":180,"72":174,"85":[1,82],"102":[1,67],"123":175,"124":[1,176],"125":177},{"122":181,"126":[1,182],"127":[1,183]},{"1":[2,71],"4":[2,71],"29":[2,71],"30":[2,71],"46":[2,71],"51":[2,71],"59":[2,71],"63":[2,71],"75":[2,71],"76":[2,71],"77":[2,71],"78":[2,71],"81":[2,71],"82":[2,71],"83":[2,71],"84":[2,71],"87":[2,71],"89":[2,71],"96":[2,71],"97":[2,71],"99":[2,71],"103":[2,71],"112":[2,71],"114":[2,71],"115":[2,71],"116":[2,71],"120":[2,71],"126":[2,71],"127":[2,71],"128":[2,71],"137":[2,71],"138":[2,71],"139":[2,71],"140":[2,71],"141":[2,71],"142":[2,71],"143":[2,71],"144":[2,71],"145":[2,71],"146":[2,71],"147":[2,71],"148":[2,71],"149":[2,71],"150":[2,71],"151":[2,71]},{"1":[2,74],"4":[2,74],"29":[2,74],"30":[2,74],"46":[2,74],"51":[2,74],"59":[2,74],"63":[2,74],"75":[2,74],"76":[2,74],"77":[2,74],"78":[2,74],"81":[2,74],"82":[2,74],"83":[2,74],"84":[2,74],"87":[2,74],"89":[2,74],"96":[2,74],"97":[2,74],"99":[2,74],"103":[2,74],"112":[2,74],"114":[2,74],"115":[2,74],"116":[2,74],"120":[2,74],"126":[2,74],"127":[2,74],"128":[2,74],"137":[2,74],"138":[2,74],"139":[2,74],"140":[2,74],"141":[2,74],"142":[2,74],"143":[2,74],"144":[2,74],"145":[2,74],"146":[2,74],"147":[2,74],"148":[2,74],"149":[2,74],"150":[2,74],"151":[2,74]},{"4":[2,94],"28":188,"29":[2,94],"31":186,"32":[1,85],"33":187,"34":[1,83],"35":[1,84],"47":185,"50":[1,52],"59":[2,94],"86":184,"87":[2,94]},{"1":[2,33],"4":[2,33],"29":[2,33],"30":[2,33],"48":[2,33],"51":[2,33],"59":[2,33],"63":[2,33],"75":[2,33],"76":[2,33],"77":[2,33],"78":[2,33],"81":[2,33],"82":[2,33],"83":[2,33],"84":[2,33],"87":[2,33],"96":[2,33],"97":[2,33],"99":[2,33],"103":[2,33],"112":[2,33],"114":[2,33],"115":[2,33],"116":[2,33],"120":[2,33],"126":[2,33],"127":[2,33],"128":[2,33],"137":[2,33],"138":[2,33],"139":[2,33],"140":[2,33],"141":[2,33],"142":[2,33],"143":[2,33],"144":[2,33],"145":[2,33],"146":[2,33],"147":[2,33],"148":[2,33],"149":[2,33],"150":[2,33],"151":[2,33]},{"1":[2,34],"4":[2,34],"29":[2,34],"30":[2,34],"48":[2,34],"51":[2,34],"59":[2,34],"63":[2,34],"75":[2,34],"76":[2,34],"77":[2,34],"78":[2,34],"81":[2,34],"82":[2,34],"83":[2,34],"84":[2,34],"87":[2,34],"96":[2,34],"97":[2,34],"99":[2,34],"103":[2,34],"112":[2,34],"114":[2,34],"115":[2,34],"116":[2,34],"120":[2,34],"126":[2,34],"127":[2,34],"128":[2,34],"137":[2,34],"138":[2,34],"139":[2,34],"140":[2,34],"141":[2,34],"142":[2,34],"143":[2,34],"144":[2,34],"145":[2,34],"146":[2,34],"147":[2,34],"148":[2,34],"149":[2,34],"150":[2,34],"151":[2,34]},{"1":[2,32],"4":[2,32],"29":[2,32],"30":[2,32],"46":[2,32],"48":[2,32],"51":[2,32],"59":[2,32],"63":[2,32],"75":[2,32],"76":[2,32],"77":[2,32],"78":[2,32],"81":[2,32],"82":[2,32],"83":[2,32],"84":[2,32],"87":[2,32],"89":[2,32],"96":[2,32],"97":[2,32],"99":[2,32],"103":[2,32],"112":[2,32],"114":[2,32],"115":[2,32],"116":[2,32],"120":[2,32],"126":[2,32],"127":[2,32],"128":[2,32],"137":[2,32],"138":[2,32],"139":[2,32],"140":[2,32],"141":[2,32],"142":[2,32],"143":[2,32],"144":[2,32],"145":[2,32],"146":[2,32],"147":[2,32],"148":[2,32],"149":[2,32],"150":[2,32],"151":[2,32]},{"1":[2,31],"4":[2,31],"29":[2,31],"30":[2,31],"51":[2,31],"59":[2,31],"63":[2,31],"82":[2,31],"87":[2,31],"99":[2,31],"103":[2,31],"108":[2,31],"109":[2,31],"112":[2,31],"114":[2,31],"115":[2,31],"116":[2,31],"120":[2,31],"126":[2,31],"127":[2,31],"128":[2,31],"131":[2,31],"133":[2,31],"137":[2,31],"138":[2,31],"139":[2,31],"140":[2,31],"141":[2,31],"142":[2,31],"143":[2,31],"144":[2,31],"145":[2,31],"146":[2,31],"147":[2,31],"148":[2,31],"149":[2,31],"151":[2,31]},{"1":[2,7],"4":[2,7],"7":189,"8":7,"9":8,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"30":[2,7],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,4]},{"4":[1,87],"30":[1,190]},{"1":[2,30],"4":[2,30],"29":[2,30],"30":[2,30],"51":[2,30],"59":[2,30],"63":[2,30],"82":[2,30],"87":[2,30],"99":[2,30],"103":[2,30],"108":[2,30],"109":[2,30],"112":[2,30],"114":[2,30],"115":[2,30],"116":[2,30],"120":[2,30],"126":[2,30],"127":[2,30],"128":[2,30],"131":[2,30],"133":[2,30],"137":[2,30],"138":[2,30],"139":[2,30],"140":[2,30],"141":[2,30],"142":[2,30],"143":[2,30],"144":[2,30],"145":[2,30],"146":[2,30],"147":[2,30],"148":[2,30],"149":[2,30],"151":[2,30]},{"1":[2,201],"4":[2,201],"29":[2,201],"30":[2,201],"51":[2,201],"59":[2,201],"63":[2,201],"82":[2,201],"87":[2,201],"99":[2,201],"103":[2,201],"112":[2,201],"114":[2,201],"115":[2,201],"116":[2,201],"120":[2,201],"126":[2,201],"127":[2,201],"128":[2,201],"137":[2,201],"138":[2,201],"139":[2,201],"140":[2,201],"141":[2,201],"142":[2,201],"143":[2,201],"144":[2,201],"145":[2,201],"146":[2,201],"147":[2,201],"148":[2,201],"149":[2,201],"151":[2,201]},{"1":[2,202],"4":[2,202],"29":[2,202],"30":[2,202],"51":[2,202],"59":[2,202],"63":[2,202],"82":[2,202],"87":[2,202],"99":[2,202],"103":[2,202],"112":[2,202],"114":[2,202],"115":[2,202],"116":[2,202],"120":[2,202],"126":[2,202],"127":[2,202],"128":[2,202],"137":[2,202],"138":[2,202],"139":[2,202],"140":[2,202],"141":[2,202],"142":[2,202],"143":[2,202],"144":[2,202],"145":[2,202],"146":[2,202],"147":[2,202],"148":[2,202],"149":[2,202],"151":[2,202]},{"1":[2,56],"4":[2,56],"8":191,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[2,56],"30":[2,56],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"51":[2,56],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"59":[2,56],"62":[1,69],"63":[2,56],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"82":[2,56],"85":[1,82],"87":[2,56],"88":[1,51],"92":35,"93":[1,36],"99":[2,56],"100":[1,70],"101":[1,68],"102":[1,67],"103":[2,56],"106":[1,45],"110":[1,54],"111":[1,66],"112":[2,56],"113":46,"114":[2,56],"115":[2,56],"116":[2,56],"117":47,"118":[1,77],"119":48,"120":[2,56],"121":79,"126":[2,56],"127":[2,56],"128":[2,56],"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"137":[2,56],"138":[2,56],"139":[2,56],"140":[2,56],"141":[2,56],"142":[2,56],"143":[2,56],"144":[2,56],"145":[2,56],"146":[2,56],"147":[2,56],"148":[2,56],"149":[2,56],"151":[2,56]},{"8":192,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":193,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":194,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":195,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":196,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":197,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":198,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":199,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":200,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":201,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":202,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"126":[1,203],"127":[1,204],"151":[1,205]},{"8":206,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":207,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,156],"4":[2,156],"29":[2,156],"30":[2,156],"51":[2,156],"59":[2,156],"63":[2,156],"82":[2,156],"87":[2,156],"99":[2,156],"103":[2,156],"112":[2,156],"114":[2,156],"115":[2,156],"116":[2,156],"120":[2,156],"126":[2,156],"127":[2,156],"128":[2,156],"137":[2,156],"138":[2,156],"139":[2,156],"140":[2,156],"141":[2,156],"142":[2,156],"143":[2,156],"144":[2,156],"145":[2,156],"146":[2,156],"147":[2,156],"148":[2,156],"149":[2,156],"151":[2,156]},{"1":[2,161],"4":[2,161],"29":[2,161],"30":[2,161],"51":[2,161],"59":[2,161],"63":[2,161],"82":[2,161],"87":[2,161],"99":[2,161],"103":[2,161],"112":[2,161],"114":[2,161],"115":[2,161],"116":[2,161],"120":[2,161],"126":[2,161],"127":[2,161],"128":[2,161],"137":[2,161],"138":[2,161],"139":[2,161],"140":[2,161],"141":[2,161],"142":[2,161],"143":[2,161],"144":[2,161],"145":[2,161],"146":[2,161],"147":[2,161],"148":[2,161],"149":[2,161],"151":[2,161]},{"8":208,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":209,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,155],"4":[2,155],"29":[2,155],"30":[2,155],"51":[2,155],"59":[2,155],"63":[2,155],"82":[2,155],"87":[2,155],"99":[2,155],"103":[2,155],"112":[2,155],"114":[2,155],"115":[2,155],"116":[2,155],"120":[2,155],"126":[2,155],"127":[2,155],"128":[2,155],"137":[2,155],"138":[2,155],"139":[2,155],"140":[2,155],"141":[2,155],"142":[2,155],"143":[2,155],"144":[2,155],"145":[2,155],"146":[2,155],"147":[2,155],"148":[2,155],"149":[2,155],"151":[2,155]},{"1":[2,160],"4":[2,160],"29":[2,160],"30":[2,160],"51":[2,160],"59":[2,160],"63":[2,160],"82":[2,160],"87":[2,160],"99":[2,160],"103":[2,160],"112":[2,160],"114":[2,160],"115":[2,160],"116":[2,160],"120":[2,160],"126":[2,160],"127":[2,160],"128":[2,160],"137":[2,160],"138":[2,160],"139":[2,160],"140":[2,160],"141":[2,160],"142":[2,160],"143":[2,160],"144":[2,160],"145":[2,160],"146":[2,160],"147":[2,160],"148":[2,160],"149":[2,160],"151":[2,160]},{"8":210,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,211],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"95":212,"97":[1,167]},{"1":[2,72],"4":[2,72],"29":[2,72],"30":[2,72],"46":[2,72],"51":[2,72],"59":[2,72],"63":[2,72],"75":[2,72],"76":[2,72],"77":[2,72],"78":[2,72],"81":[2,72],"82":[2,72],"83":[2,72],"84":[2,72],"87":[2,72],"89":[2,72],"96":[2,72],"97":[2,72],"99":[2,72],"103":[2,72],"112":[2,72],"114":[2,72],"115":[2,72],"116":[2,72],"120":[2,72],"126":[2,72],"127":[2,72],"128":[2,72],"137":[2,72],"138":[2,72],"139":[2,72],"140":[2,72],"141":[2,72],"142":[2,72],"143":[2,72],"144":[2,72],"145":[2,72],"146":[2,72],"147":[2,72],"148":[2,72],"149":[2,72],"150":[2,72],"151":[2,72]},{"97":[2,118]},{"31":213,"32":[1,85]},{"31":214,"32":[1,85]},{"1":[2,86],"4":[2,86],"29":[2,86],"30":[2,86],"46":[2,86],"51":[2,86],"59":[2,86],"63":[2,86],"75":[2,86],"76":[2,86],"77":[2,86],"78":[2,86],"81":[2,86],"82":[2,86],"83":[2,86],"84":[2,86],"87":[2,86],"89":[2,86],"96":[2,86],"97":[2,86],"99":[2,86],"103":[2,86],"112":[2,86],"114":[2,86],"115":[2,86],"116":[2,86],"120":[2,86],"126":[2,86],"127":[2,86],"128":[2,86],"137":[2,86],"138":[2,86],"139":[2,86],"140":[2,86],"141":[2,86],"142":[2,86],"143":[2,86],"144":[2,86],"145":[2,86],"146":[2,86],"147":[2,86],"148":[2,86],"149":[2,86],"150":[2,86],"151":[2,86]},{"31":215,"32":[1,85]},{"1":[2,88],"4":[2,88],"29":[2,88],"30":[2,88],"46":[2,88],"51":[2,88],"59":[2,88],"63":[2,88],"75":[2,88],"76":[2,88],"77":[2,88],"78":[2,88],"81":[2,88],"82":[2,88],"83":[2,88],"84":[2,88],"87":[2,88],"89":[2,88],"96":[2,88],"97":[2,88],"99":[2,88],"103":[2,88],"112":[2,88],"114":[2,88],"115":[2,88],"116":[2,88],"120":[2,88],"126":[2,88],"127":[2,88],"128":[2,88],"137":[2,88],"138":[2,88],"139":[2,88],"140":[2,88],"141":[2,88],"142":[2,88],"143":[2,88],"144":[2,88],"145":[2,88],"146":[2,88],"147":[2,88],"148":[2,88],"149":[2,88],"150":[2,88],"151":[2,88]},{"1":[2,89],"4":[2,89],"29":[2,89],"30":[2,89],"46":[2,89],"51":[2,89],"59":[2,89],"63":[2,89],"75":[2,89],"76":[2,89],"77":[2,89],"78":[2,89],"81":[2,89],"82":[2,89],"83":[2,89],"84":[2,89],"87":[2,89],"89":[2,89],"96":[2,89],"97":[2,89],"99":[2,89],"103":[2,89],"112":[2,89],"114":[2,89],"115":[2,89],"116":[2,89],"120":[2,89],"126":[2,89],"127":[2,89],"128":[2,89],"137":[2,89],"138":[2,89],"139":[2,89],"140":[2,89],"141":[2,89],"142":[2,89],"143":[2,89],"144":[2,89],"145":[2,89],"146":[2,89],"147":[2,89],"148":[2,89],"149":[2,89],"150":[2,89],"151":[2,89]},{"8":216,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"63":[1,217],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"79":218,"81":[1,219],"83":[1,125],"84":[1,126]},{"79":220,"81":[1,219],"83":[1,125],"84":[1,126]},{"8":221,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,222],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"95":223,"97":[1,167]},{"1":[2,73],"4":[2,73],"29":[2,73],"30":[2,73],"46":[2,73],"51":[2,73],"59":[2,73],"63":[2,73],"75":[2,73],"76":[2,73],"77":[2,73],"78":[2,73],"81":[2,73],"82":[2,73],"83":[2,73],"84":[2,73],"87":[2,73],"89":[2,73],"96":[2,73],"97":[2,73],"99":[2,73],"103":[2,73],"112":[2,73],"114":[2,73],"115":[2,73],"116":[2,73],"120":[2,73],"126":[2,73],"127":[2,73],"128":[2,73],"137":[2,73],"138":[2,73],"139":[2,73],"140":[2,73],"141":[2,73],"142":[2,73],"143":[2,73],"144":[2,73],"145":[2,73],"146":[2,73],"147":[2,73],"148":[2,73],"149":[2,73],"150":[2,73],"151":[2,73]},{"1":[2,112],"4":[2,112],"29":[2,112],"30":[2,112],"51":[2,112],"59":[2,112],"63":[2,112],"66":129,"75":[1,118],"76":[1,119],"77":[1,120],"78":[1,121],"79":122,"80":123,"81":[1,124],"82":[2,112],"83":[1,125],"84":[1,126],"87":[2,112],"94":128,"96":[1,117],"97":[2,117],"99":[2,112],"103":[2,112],"112":[2,112],"114":[2,112],"115":[2,112],"116":[2,112],"120":[2,112],"126":[2,112],"127":[2,112],"128":[2,112],"137":[2,112],"138":[2,112],"139":[2,112],"140":[2,112],"141":[2,112],"142":[2,112],"143":[2,112],"144":[2,112],"145":[2,112],"146":[2,112],"147":[2,112],"148":[2,112],"149":[2,112],"151":[2,112]},{"1":[2,113],"4":[2,113],"29":[2,113],"30":[2,113],"51":[2,113],"59":[2,113],"63":[2,113],"66":116,"75":[1,118],"76":[1,119],"77":[1,120],"78":[1,121],"79":122,"80":123,"81":[1,124],"82":[2,113],"83":[1,125],"84":[1,126],"87":[2,113],"94":115,"96":[1,117],"97":[2,117],"99":[2,113],"103":[2,113],"112":[2,113],"114":[2,113],"115":[2,113],"116":[2,113],"120":[2,113],"126":[2,113],"127":[2,113],"128":[2,113],"137":[2,113],"138":[2,113],"139":[2,113],"140":[2,113],"141":[2,113],"142":[2,113],"143":[2,113],"144":[2,113],"145":[2,113],"146":[2,113],"147":[2,113],"148":[2,113],"149":[2,113],"151":[2,113]},{"1":[2,78],"4":[2,78],"29":[2,78],"30":[2,78],"51":[2,78],"59":[2,78],"63":[2,78],"75":[2,78],"76":[2,78],"77":[2,78],"78":[2,78],"81":[2,78],"82":[2,78],"83":[2,78],"84":[2,78],"87":[2,78],"96":[2,78],"97":[2,78],"99":[2,78],"103":[2,78],"112":[2,78],"114":[2,78],"115":[2,78],"116":[2,78],"120":[2,78],"126":[2,78],"127":[2,78],"128":[2,78],"137":[2,78],"138":[2,78],"139":[2,78],"140":[2,78],"141":[2,78],"142":[2,78],"143":[2,78],"144":[2,78],"145":[2,78],"146":[2,78],"147":[2,78],"148":[2,78],"149":[2,78],"151":[2,78]},{"1":[2,75],"4":[2,75],"29":[2,75],"30":[2,75],"51":[2,75],"59":[2,75],"63":[2,75],"75":[2,75],"76":[2,75],"77":[2,75],"78":[2,75],"81":[2,75],"82":[2,75],"83":[2,75],"84":[2,75],"87":[2,75],"96":[2,75],"97":[2,75],"99":[2,75],"103":[2,75],"112":[2,75],"114":[2,75],"115":[2,75],"116":[2,75],"120":[2,75],"126":[2,75],"127":[2,75],"128":[2,75],"137":[2,75],"138":[2,75],"139":[2,75],"140":[2,75],"141":[2,75],"142":[2,75],"143":[2,75],"144":[2,75],"145":[2,75],"146":[2,75],"147":[2,75],"148":[2,75],"149":[2,75],"151":[2,75]},{"54":[1,224],"59":[1,225]},{"54":[2,64],"59":[2,64]},{"54":[2,66],"59":[2,66],"63":[1,226]},{"61":[1,227]},{"1":[2,58],"4":[2,58],"29":[2,58],"30":[2,58],"51":[2,58],"59":[2,58],"63":[2,58],"82":[2,58],"87":[2,58],"99":[2,58],"103":[2,58],"112":[2,58],"114":[2,58],"115":[2,58],"116":[2,58],"120":[2,58],"126":[2,58],"127":[2,58],"128":[2,58],"137":[2,58],"138":[2,58],"139":[2,58],"140":[2,58],"141":[2,58],"142":[2,58],"143":[2,58],"144":[2,58],"145":[2,58],"146":[2,58],"147":[2,58],"148":[2,58],"149":[2,58],"151":[2,58]},{"28":86,"50":[1,52]},{"1":[2,196],"4":[2,196],"29":[2,196],"30":[2,196],"51":[1,93],"59":[2,196],"63":[2,196],"82":[2,196],"87":[2,196],"99":[2,196],"103":[2,196],"112":[2,196],"113":108,"114":[2,196],"115":[2,196],"116":[2,196],"119":109,"120":[2,196],"121":79,"126":[2,196],"127":[2,196],"128":[2,196],"137":[2,196],"138":[2,196],"139":[1,105],"140":[2,196],"141":[2,196],"142":[1,91],"143":[1,92],"144":[2,196],"145":[2,196],"146":[2,196],"147":[2,196],"148":[2,196],"149":[2,196],"151":[2,196]},{"113":112,"114":[1,75],"116":[1,76],"119":113,"120":[1,78],"121":79,"137":[1,110],"138":[1,111]},{"1":[2,197],"4":[2,197],"29":[2,197],"30":[2,197],"51":[1,93],"59":[2,197],"63":[2,197],"82":[2,197],"87":[2,197],"99":[2,197],"103":[2,197],"112":[2,197],"113":108,"114":[2,197],"115":[2,197],"116":[2,197],"119":109,"120":[2,197],"121":79,"126":[2,197],"127":[2,197],"128":[2,197],"137":[2,197],"138":[2,197],"139":[1,105],"140":[2,197],"141":[2,197],"142":[1,91],"143":[1,92],"144":[2,197],"145":[2,197],"146":[2,197],"147":[2,197],"148":[2,197],"149":[2,197],"151":[2,197]},{"1":[2,198],"4":[2,198],"29":[2,198],"30":[2,198],"51":[1,93],"59":[2,198],"63":[2,198],"82":[2,198],"87":[2,198],"99":[2,198],"103":[2,198],"112":[2,198],"113":108,"114":[2,198],"115":[2,198],"116":[2,198],"119":109,"120":[2,198],"121":79,"126":[2,198],"127":[2,198],"128":[2,198],"137":[2,198],"138":[2,198],"139":[1,105],"140":[2,198],"141":[2,198],"142":[1,91],"143":[1,92],"144":[2,198],"145":[2,198],"146":[2,198],"147":[2,198],"148":[2,198],"149":[2,198],"151":[2,198]},{"1":[2,199],"4":[2,199],"29":[2,199],"30":[2,199],"51":[1,93],"59":[2,199],"63":[2,199],"82":[2,199],"87":[2,199],"99":[2,199],"103":[2,199],"112":[2,199],"113":108,"114":[2,199],"115":[2,199],"116":[2,199],"119":109,"120":[2,199],"121":79,"126":[2,199],"127":[2,199],"128":[2,199],"137":[2,199],"138":[2,199],"139":[2,199],"140":[2,199],"141":[2,199],"144":[2,199],"145":[2,199],"146":[2,199],"147":[2,199],"148":[2,199],"149":[2,199],"151":[2,199]},{"1":[2,200],"4":[2,200],"29":[2,200],"30":[2,200],"51":[1,93],"59":[2,200],"63":[2,200],"82":[2,200],"87":[2,200],"99":[2,200],"103":[2,200],"112":[2,200],"113":108,"114":[2,200],"115":[2,200],"116":[2,200],"119":109,"120":[2,200],"121":79,"126":[2,200],"127":[2,200],"128":[2,200],"137":[2,200],"138":[2,200],"139":[2,200],"140":[2,200],"141":[2,200],"144":[2,200],"145":[2,200],"146":[2,200],"147":[2,200],"148":[2,200],"149":[2,200],"151":[2,200]},{"4":[1,139],"6":229,"29":[1,6],"135":[1,228]},{"107":230,"108":[1,231],"109":[1,232]},{"1":[2,154],"4":[2,154],"29":[2,154],"30":[2,154],"51":[2,154],"59":[2,154],"63":[2,154],"82":[2,154],"87":[2,154],"99":[2,154],"103":[2,154],"112":[2,154],"114":[2,154],"115":[2,154],"116":[2,154],"120":[2,154],"126":[2,154],"127":[2,154],"128":[2,154],"137":[2,154],"138":[2,154],"139":[2,154],"140":[2,154],"141":[2,154],"142":[2,154],"143":[2,154],"144":[2,154],"145":[2,154],"146":[2,154],"147":[2,154],"148":[2,154],"149":[2,154],"151":[2,154]},{"1":[2,162],"4":[2,162],"29":[2,162],"30":[2,162],"51":[2,162],"59":[2,162],"63":[2,162],"82":[2,162],"87":[2,162],"99":[2,162],"103":[2,162],"112":[2,162],"114":[2,162],"115":[2,162],"116":[2,162],"120":[2,162],"126":[2,162],"127":[2,162],"128":[2,162],"137":[2,162],"138":[2,162],"139":[2,162],"140":[2,162],"141":[2,162],"142":[2,162],"143":[2,162],"144":[2,162],"145":[2,162],"146":[2,162],"147":[2,162],"148":[2,162],"149":[2,162],"151":[2,162]},{"29":[1,233],"51":[1,93],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"130":234,"132":235,"133":[1,236]},{"15":237,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":132,"62":[1,69],"65":133,"67":156,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"101":[1,68],"102":[1,67],"111":[1,66]},{"1":[2,99],"4":[2,99],"29":[1,239],"30":[2,99],"51":[2,99],"59":[2,99],"63":[2,99],"75":[2,75],"76":[2,75],"77":[2,75],"78":[2,75],"81":[2,75],"82":[2,99],"83":[2,75],"84":[2,75],"87":[2,99],"89":[1,238],"96":[2,75],"97":[2,75],"99":[2,99],"103":[2,99],"112":[2,99],"114":[2,99],"115":[2,99],"116":[2,99],"120":[2,99],"126":[2,99],"127":[2,99],"128":[2,99],"137":[2,99],"138":[2,99],"139":[2,99],"140":[2,99],"141":[2,99],"142":[2,99],"143":[2,99],"144":[2,99],"145":[2,99],"146":[2,99],"147":[2,99],"148":[2,99],"149":[2,99],"151":[2,99]},{"4":[2,106],"28":188,"30":[2,106],"31":186,"32":[1,85],"33":187,"34":[1,83],"35":[1,84],"47":243,"50":[1,52],"62":[1,245],"68":244,"85":[1,242],"90":240,"91":241},{"66":116,"75":[1,118],"76":[1,119],"77":[1,120],"78":[1,121],"79":122,"80":123,"81":[1,124],"83":[1,125],"84":[1,126],"94":115,"96":[1,117],"97":[2,117]},{"66":129,"75":[1,118],"76":[1,119],"77":[1,120],"78":[1,121],"79":122,"80":123,"81":[1,124],"83":[1,125],"84":[1,126],"94":128,"96":[1,117],"97":[2,117]},{"1":[2,53],"4":[2,53],"30":[2,53],"51":[1,93],"112":[2,53],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[2,53],"138":[2,53],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,147],"4":[2,147],"30":[2,147],"51":[1,93],"112":[2,147],"113":108,"114":[2,147],"116":[2,147],"119":109,"120":[2,147],"121":79,"126":[1,102],"127":[1,103],"137":[2,147],"138":[2,147],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"112":[1,246]},{"1":[2,149],"4":[2,149],"29":[2,149],"30":[2,149],"51":[2,149],"59":[2,149],"63":[2,149],"75":[2,149],"76":[2,149],"77":[2,149],"78":[2,149],"81":[2,149],"82":[2,149],"83":[2,149],"84":[2,149],"87":[2,149],"96":[2,149],"97":[2,149],"99":[2,149],"103":[2,149],"112":[2,149],"114":[2,149],"115":[2,149],"116":[2,149],"120":[2,149],"126":[2,149],"127":[2,149],"128":[2,149],"137":[2,149],"138":[2,149],"139":[2,149],"140":[2,149],"141":[2,149],"142":[2,149],"143":[2,149],"144":[2,149],"145":[2,149],"146":[2,149],"147":[2,149],"148":[2,149],"149":[2,149],"150":[2,149],"151":[2,149]},{"4":[2,139],"29":[2,139],"51":[1,93],"59":[2,139],"63":[1,247],"103":[2,139],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"4":[2,61],"29":[2,61],"58":248,"59":[1,249],"103":[2,61]},{"4":[2,135],"29":[2,135],"30":[2,135],"59":[2,135],"99":[2,135],"103":[2,135]},{"4":[2,140],"29":[2,140],"30":[2,140],"59":[2,140],"99":[2,140],"103":[2,140]},{"1":[2,124],"4":[2,124],"29":[2,124],"30":[2,124],"46":[2,124],"48":[2,124],"51":[2,124],"59":[2,124],"63":[2,124],"75":[2,124],"76":[2,124],"77":[2,124],"78":[2,124],"81":[2,124],"82":[2,124],"83":[2,124],"84":[2,124],"87":[2,124],"89":[2,124],"96":[2,124],"97":[2,124],"99":[2,124],"103":[2,124],"112":[2,124],"114":[2,124],"115":[2,124],"116":[2,124],"120":[2,124],"126":[2,124],"127":[2,124],"128":[2,124],"137":[2,124],"138":[2,124],"139":[2,124],"140":[2,124],"141":[2,124],"142":[2,124],"143":[2,124],"144":[2,124],"145":[2,124],"146":[2,124],"147":[2,124],"148":[2,124],"149":[2,124],"150":[2,124],"151":[2,124]},{"1":[2,121],"4":[2,121],"29":[2,121],"30":[2,121],"51":[2,121],"59":[2,121],"63":[2,121],"82":[2,121],"87":[2,121],"99":[2,121],"103":[2,121],"112":[2,121],"114":[2,121],"115":[2,121],"116":[2,121],"120":[2,121],"126":[2,121],"127":[2,121],"128":[2,121],"137":[2,121],"138":[2,121],"139":[2,121],"140":[2,121],"141":[2,121],"142":[2,121],"143":[2,121],"144":[2,121],"145":[2,121],"146":[2,121],"147":[2,121],"148":[2,121],"149":[2,121],"151":[2,121]},{"4":[2,134],"8":251,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[2,134],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"59":[2,134],"62":[1,69],"64":164,"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"98":250,"99":[2,134],"100":[1,70],"101":[1,68],"102":[1,67],"104":163,"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[1,139],"6":252,"29":[1,6],"51":[1,93],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"4":[1,139],"6":253,"29":[1,6],"51":[1,93],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,150],"4":[2,150],"29":[2,150],"30":[2,150],"51":[1,93],"59":[2,150],"63":[2,150],"82":[2,150],"87":[2,150],"99":[2,150],"103":[2,150],"112":[2,150],"113":108,"114":[1,75],"115":[1,254],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"128":[2,150],"137":[2,150],"138":[2,150],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,152],"4":[2,152],"29":[2,152],"30":[2,152],"51":[1,93],"59":[2,152],"63":[2,152],"82":[2,152],"87":[2,152],"99":[2,152],"103":[2,152],"112":[2,152],"113":108,"114":[1,75],"115":[1,255],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"128":[2,152],"137":[2,152],"138":[2,152],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,158],"4":[2,158],"29":[2,158],"30":[2,158],"51":[2,158],"59":[2,158],"63":[2,158],"82":[2,158],"87":[2,158],"99":[2,158],"103":[2,158],"112":[2,158],"114":[2,158],"115":[2,158],"116":[2,158],"120":[2,158],"126":[2,158],"127":[2,158],"128":[2,158],"137":[2,158],"138":[2,158],"139":[2,158],"140":[2,158],"141":[2,158],"142":[2,158],"143":[2,158],"144":[2,158],"145":[2,158],"146":[2,158],"147":[2,158],"148":[2,158],"149":[2,158],"151":[2,158]},{"1":[2,159],"4":[2,159],"29":[2,159],"30":[2,159],"51":[1,93],"59":[2,159],"63":[2,159],"82":[2,159],"87":[2,159],"99":[2,159],"103":[2,159],"112":[2,159],"113":108,"114":[1,75],"115":[2,159],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"128":[2,159],"137":[2,159],"138":[2,159],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,163],"4":[2,163],"29":[2,163],"30":[2,163],"51":[2,163],"59":[2,163],"63":[2,163],"82":[2,163],"87":[2,163],"99":[2,163],"103":[2,163],"112":[2,163],"114":[2,163],"115":[2,163],"116":[2,163],"120":[2,163],"126":[2,163],"127":[2,163],"128":[2,163],"137":[2,163],"138":[2,163],"139":[2,163],"140":[2,163],"141":[2,163],"142":[2,163],"143":[2,163],"144":[2,163],"145":[2,163],"146":[2,163],"147":[2,163],"148":[2,163],"149":[2,163],"151":[2,163]},{"126":[2,165],"127":[2,165]},{"31":178,"32":[1,85],"69":179,"70":180,"85":[1,82],"102":[1,257],"123":256,"125":177},{"59":[1,258],"126":[2,170],"127":[2,170]},{"59":[2,167],"126":[2,167],"127":[2,167]},{"59":[2,168],"126":[2,168],"127":[2,168]},{"59":[2,169],"126":[2,169],"127":[2,169]},{"1":[2,164],"4":[2,164],"29":[2,164],"30":[2,164],"51":[2,164],"59":[2,164],"63":[2,164],"82":[2,164],"87":[2,164],"99":[2,164],"103":[2,164],"112":[2,164],"114":[2,164],"115":[2,164],"116":[2,164],"120":[2,164],"126":[2,164],"127":[2,164],"128":[2,164],"137":[2,164],"138":[2,164],"139":[2,164],"140":[2,164],"141":[2,164],"142":[2,164],"143":[2,164],"144":[2,164],"145":[2,164],"146":[2,164],"147":[2,164],"148":[2,164],"149":[2,164],"151":[2,164]},{"8":259,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":260,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[2,61],"29":[2,61],"58":261,"59":[1,262],"87":[2,61]},{"4":[2,95],"29":[2,95],"30":[2,95],"59":[2,95],"87":[2,95]},{"4":[2,46],"29":[2,46],"30":[2,46],"48":[1,263],"59":[2,46],"87":[2,46]},{"4":[2,47],"29":[2,47],"30":[2,47],"48":[1,264],"59":[2,47],"87":[2,47]},{"4":[2,52],"29":[2,52],"30":[2,52],"59":[2,52],"87":[2,52]},{"1":[2,6],"4":[2,6],"30":[2,6]},{"1":[2,29],"4":[2,29],"29":[2,29],"30":[2,29],"51":[2,29],"59":[2,29],"63":[2,29],"82":[2,29],"87":[2,29],"99":[2,29],"103":[2,29],"108":[2,29],"109":[2,29],"112":[2,29],"114":[2,29],"115":[2,29],"116":[2,29],"120":[2,29],"126":[2,29],"127":[2,29],"128":[2,29],"131":[2,29],"133":[2,29],"137":[2,29],"138":[2,29],"139":[2,29],"140":[2,29],"141":[2,29],"142":[2,29],"143":[2,29],"144":[2,29],"145":[2,29],"146":[2,29],"147":[2,29],"148":[2,29],"149":[2,29],"151":[2,29]},{"1":[2,203],"4":[2,203],"29":[2,203],"30":[2,203],"51":[1,93],"59":[2,203],"63":[2,203],"82":[2,203],"87":[2,203],"99":[2,203],"103":[2,203],"112":[2,203],"113":108,"114":[2,203],"115":[2,203],"116":[2,203],"119":109,"120":[2,203],"121":79,"126":[2,203],"127":[2,203],"128":[2,203],"137":[2,203],"138":[2,203],"139":[2,203],"140":[2,203],"141":[2,203],"142":[2,203],"143":[2,203],"144":[2,203],"145":[2,203],"146":[2,203],"147":[2,203],"148":[2,203],"149":[2,203],"151":[2,203]},{"1":[2,204],"4":[2,204],"29":[2,204],"30":[2,204],"51":[1,93],"59":[2,204],"63":[2,204],"82":[2,204],"87":[2,204],"99":[2,204],"103":[2,204],"112":[2,204],"113":108,"114":[2,204],"115":[2,204],"116":[2,204],"119":109,"120":[2,204],"121":79,"126":[2,204],"127":[2,204],"128":[2,204],"137":[2,204],"138":[2,204],"139":[1,105],"140":[2,204],"141":[2,204],"142":[1,91],"143":[1,92],"144":[2,204],"145":[2,204],"146":[1,98],"147":[2,204],"148":[2,204],"149":[2,204],"151":[2,204]},{"1":[2,205],"4":[2,205],"29":[2,205],"30":[2,205],"51":[1,93],"59":[2,205],"63":[2,205],"82":[2,205],"87":[2,205],"99":[2,205],"103":[2,205],"112":[2,205],"113":108,"114":[2,205],"115":[2,205],"116":[2,205],"119":109,"120":[2,205],"121":79,"126":[2,205],"127":[2,205],"128":[2,205],"137":[2,205],"138":[2,205],"139":[1,105],"140":[2,205],"141":[2,205],"142":[1,91],"143":[1,92],"144":[2,205],"145":[2,205],"146":[1,98],"147":[2,205],"148":[2,205],"149":[2,205],"151":[2,205]},{"1":[2,206],"4":[2,206],"29":[2,206],"30":[2,206],"51":[1,93],"59":[2,206],"63":[2,206],"82":[2,206],"87":[2,206],"99":[2,206],"103":[2,206],"112":[2,206],"113":108,"114":[2,206],"115":[2,206],"116":[2,206],"119":109,"120":[2,206],"121":79,"126":[2,206],"127":[2,206],"128":[2,206],"137":[2,206],"138":[2,206],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[2,206],"145":[2,206],"146":[1,98],"147":[1,99],"148":[1,100],"149":[2,206],"151":[1,104]},{"1":[2,207],"4":[2,207],"29":[2,207],"30":[2,207],"51":[1,93],"59":[2,207],"63":[2,207],"82":[2,207],"87":[2,207],"99":[2,207],"103":[2,207],"112":[2,207],"113":108,"114":[2,207],"115":[2,207],"116":[2,207],"119":109,"120":[2,207],"121":79,"126":[2,207],"127":[2,207],"128":[2,207],"137":[2,207],"138":[2,207],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[2,207],"145":[2,207],"146":[1,98],"147":[1,99],"148":[1,100],"149":[2,207],"151":[1,104]},{"1":[2,208],"4":[2,208],"29":[2,208],"30":[2,208],"51":[1,93],"59":[2,208],"63":[2,208],"82":[2,208],"87":[2,208],"99":[2,208],"103":[2,208],"112":[2,208],"113":108,"114":[2,208],"115":[2,208],"116":[2,208],"119":109,"120":[2,208],"121":79,"126":[2,208],"127":[2,208],"128":[2,208],"137":[2,208],"138":[2,208],"139":[1,105],"140":[2,208],"141":[2,208],"142":[1,91],"143":[1,92],"144":[2,208],"145":[2,208],"146":[2,208],"147":[2,208],"148":[2,208],"149":[2,208],"151":[2,208]},{"1":[2,209],"4":[2,209],"29":[2,209],"30":[2,209],"51":[1,93],"59":[2,209],"63":[2,209],"82":[2,209],"87":[2,209],"99":[2,209],"103":[2,209],"112":[2,209],"113":108,"114":[2,209],"115":[2,209],"116":[2,209],"119":109,"120":[2,209],"121":79,"126":[2,209],"127":[2,209],"128":[2,209],"137":[2,209],"138":[2,209],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[2,209],"145":[2,209],"146":[1,98],"147":[2,209],"148":[2,209],"149":[2,209],"151":[2,209]},{"1":[2,210],"4":[2,210],"29":[2,210],"30":[2,210],"51":[1,93],"59":[2,210],"63":[2,210],"82":[2,210],"87":[2,210],"99":[2,210],"103":[2,210],"112":[2,210],"113":108,"114":[2,210],"115":[2,210],"116":[2,210],"119":109,"120":[2,210],"121":79,"126":[2,210],"127":[2,210],"128":[2,210],"137":[2,210],"138":[2,210],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[2,210],"145":[2,210],"146":[1,98],"147":[1,99],"148":[2,210],"149":[2,210],"151":[2,210]},{"1":[2,211],"4":[2,211],"29":[2,211],"30":[2,211],"51":[1,93],"59":[2,211],"63":[2,211],"82":[2,211],"87":[2,211],"99":[2,211],"103":[2,211],"112":[2,211],"113":108,"114":[2,211],"115":[2,211],"116":[2,211],"119":109,"120":[2,211],"121":79,"126":[2,211],"127":[2,211],"128":[2,211],"137":[2,211],"138":[2,211],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[2,211],"151":[1,104]},{"1":[2,214],"4":[2,214],"29":[2,214],"30":[2,214],"51":[1,93],"59":[2,214],"63":[2,214],"82":[2,214],"87":[2,214],"99":[2,214],"103":[2,214],"112":[2,214],"113":108,"114":[2,214],"115":[2,214],"116":[2,214],"119":109,"120":[2,214],"121":79,"126":[1,102],"127":[1,103],"128":[2,214],"137":[2,214],"138":[2,214],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,215],"4":[2,215],"29":[2,215],"30":[2,215],"51":[1,93],"59":[2,215],"63":[2,215],"82":[2,215],"87":[2,215],"99":[2,215],"103":[2,215],"112":[2,215],"113":108,"114":[2,215],"115":[2,215],"116":[2,215],"119":109,"120":[2,215],"121":79,"126":[1,102],"127":[1,103],"128":[2,215],"137":[2,215],"138":[2,215],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,216],"4":[2,216],"29":[2,216],"30":[2,216],"51":[1,93],"59":[2,216],"63":[2,216],"82":[2,216],"87":[2,216],"99":[2,216],"103":[2,216],"112":[2,216],"113":108,"114":[2,216],"115":[2,216],"116":[2,216],"119":109,"120":[2,216],"121":79,"126":[2,216],"127":[2,216],"128":[2,216],"137":[2,216],"138":[2,216],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[2,216],"145":[2,216],"146":[1,98],"147":[1,99],"148":[1,100],"149":[2,216],"151":[2,216]},{"8":265,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":266,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":267,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,193],"4":[2,193],"29":[2,193],"30":[2,193],"51":[1,93],"59":[2,193],"63":[2,193],"82":[2,193],"87":[2,193],"99":[2,193],"103":[2,193],"112":[2,193],"113":108,"114":[1,75],"115":[2,193],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"128":[2,193],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,195],"4":[2,195],"29":[2,195],"30":[2,195],"51":[1,93],"59":[2,195],"63":[2,195],"82":[2,195],"87":[2,195],"99":[2,195],"103":[2,195],"112":[2,195],"113":108,"114":[1,75],"115":[2,195],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"128":[2,195],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,192],"4":[2,192],"29":[2,192],"30":[2,192],"51":[1,93],"59":[2,192],"63":[2,192],"82":[2,192],"87":[2,192],"99":[2,192],"103":[2,192],"112":[2,192],"113":108,"114":[1,75],"115":[2,192],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"128":[2,192],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,194],"4":[2,194],"29":[2,194],"30":[2,194],"51":[1,93],"59":[2,194],"63":[2,194],"82":[2,194],"87":[2,194],"99":[2,194],"103":[2,194],"112":[2,194],"113":108,"114":[1,75],"115":[2,194],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"128":[2,194],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,212],"4":[2,212],"29":[2,212],"30":[2,212],"51":[1,93],"59":[2,212],"63":[2,212],"82":[2,212],"87":[2,212],"99":[2,212],"103":[2,212],"112":[2,212],"113":108,"114":[2,212],"115":[2,212],"116":[2,212],"119":109,"120":[2,212],"121":79,"126":[2,212],"127":[2,212],"128":[2,212],"137":[2,212],"138":[2,212],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"8":268,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,115],"4":[2,115],"29":[2,115],"30":[2,115],"51":[2,115],"59":[2,115],"63":[2,115],"75":[2,115],"76":[2,115],"77":[2,115],"78":[2,115],"81":[2,115],"82":[2,115],"83":[2,115],"84":[2,115],"87":[2,115],"96":[2,115],"97":[2,115],"99":[2,115],"103":[2,115],"112":[2,115],"114":[2,115],"115":[2,115],"116":[2,115],"120":[2,115],"126":[2,115],"127":[2,115],"128":[2,115],"137":[2,115],"138":[2,115],"139":[2,115],"140":[2,115],"141":[2,115],"142":[2,115],"143":[2,115],"144":[2,115],"145":[2,115],"146":[2,115],"147":[2,115],"148":[2,115],"149":[2,115],"151":[2,115]},{"1":[2,84],"4":[2,84],"29":[2,84],"30":[2,84],"46":[2,84],"51":[2,84],"59":[2,84],"63":[2,84],"75":[2,84],"76":[2,84],"77":[2,84],"78":[2,84],"81":[2,84],"82":[2,84],"83":[2,84],"84":[2,84],"87":[2,84],"89":[2,84],"96":[2,84],"97":[2,84],"99":[2,84],"103":[2,84],"112":[2,84],"114":[2,84],"115":[2,84],"116":[2,84],"120":[2,84],"126":[2,84],"127":[2,84],"128":[2,84],"137":[2,84],"138":[2,84],"139":[2,84],"140":[2,84],"141":[2,84],"142":[2,84],"143":[2,84],"144":[2,84],"145":[2,84],"146":[2,84],"147":[2,84],"148":[2,84],"149":[2,84],"150":[2,84],"151":[2,84]},{"1":[2,85],"4":[2,85],"29":[2,85],"30":[2,85],"46":[2,85],"51":[2,85],"59":[2,85],"63":[2,85],"75":[2,85],"76":[2,85],"77":[2,85],"78":[2,85],"81":[2,85],"82":[2,85],"83":[2,85],"84":[2,85],"87":[2,85],"89":[2,85],"96":[2,85],"97":[2,85],"99":[2,85],"103":[2,85],"112":[2,85],"114":[2,85],"115":[2,85],"116":[2,85],"120":[2,85],"126":[2,85],"127":[2,85],"128":[2,85],"137":[2,85],"138":[2,85],"139":[2,85],"140":[2,85],"141":[2,85],"142":[2,85],"143":[2,85],"144":[2,85],"145":[2,85],"146":[2,85],"147":[2,85],"148":[2,85],"149":[2,85],"150":[2,85],"151":[2,85]},{"1":[2,87],"4":[2,87],"29":[2,87],"30":[2,87],"46":[2,87],"51":[2,87],"59":[2,87],"63":[2,87],"75":[2,87],"76":[2,87],"77":[2,87],"78":[2,87],"81":[2,87],"82":[2,87],"83":[2,87],"84":[2,87],"87":[2,87],"89":[2,87],"96":[2,87],"97":[2,87],"99":[2,87],"103":[2,87],"112":[2,87],"114":[2,87],"115":[2,87],"116":[2,87],"120":[2,87],"126":[2,87],"127":[2,87],"128":[2,87],"137":[2,87],"138":[2,87],"139":[2,87],"140":[2,87],"141":[2,87],"142":[2,87],"143":[2,87],"144":[2,87],"145":[2,87],"146":[2,87],"147":[2,87],"148":[2,87],"149":[2,87],"150":[2,87],"151":[2,87]},{"51":[1,93],"63":[1,270],"82":[1,269],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"63":[1,271]},{"1":[2,91],"4":[2,91],"29":[2,91],"30":[2,91],"46":[2,91],"51":[2,91],"59":[2,91],"63":[2,91],"75":[2,91],"76":[2,91],"77":[2,91],"78":[2,91],"81":[2,91],"82":[2,91],"83":[2,91],"84":[2,91],"87":[2,91],"89":[2,91],"96":[2,91],"97":[2,91],"99":[2,91],"103":[2,91],"112":[2,91],"114":[2,91],"115":[2,91],"116":[2,91],"120":[2,91],"126":[2,91],"127":[2,91],"128":[2,91],"137":[2,91],"138":[2,91],"139":[2,91],"140":[2,91],"141":[2,91],"142":[2,91],"143":[2,91],"144":[2,91],"145":[2,91],"146":[2,91],"147":[2,91],"148":[2,91],"149":[2,91],"150":[2,91],"151":[2,91]},{"8":272,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,92],"4":[2,92],"29":[2,92],"30":[2,92],"46":[2,92],"51":[2,92],"59":[2,92],"63":[2,92],"75":[2,92],"76":[2,92],"77":[2,92],"78":[2,92],"81":[2,92],"82":[2,92],"83":[2,92],"84":[2,92],"87":[2,92],"89":[2,92],"96":[2,92],"97":[2,92],"99":[2,92],"103":[2,92],"112":[2,92],"114":[2,92],"115":[2,92],"116":[2,92],"120":[2,92],"126":[2,92],"127":[2,92],"128":[2,92],"137":[2,92],"138":[2,92],"139":[2,92],"140":[2,92],"141":[2,92],"142":[2,92],"143":[2,92],"144":[2,92],"145":[2,92],"146":[2,92],"147":[2,92],"148":[2,92],"149":[2,92],"150":[2,92],"151":[2,92]},{"1":[2,44],"4":[2,44],"29":[2,44],"30":[2,44],"51":[1,93],"59":[2,44],"63":[2,44],"82":[2,44],"87":[2,44],"99":[2,44],"103":[2,44],"112":[2,44],"113":108,"114":[1,75],"115":[2,44],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"128":[2,44],"137":[2,44],"138":[2,44],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"8":273,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,116],"4":[2,116],"29":[2,116],"30":[2,116],"51":[2,116],"59":[2,116],"63":[2,116],"75":[2,116],"76":[2,116],"77":[2,116],"78":[2,116],"81":[2,116],"82":[2,116],"83":[2,116],"84":[2,116],"87":[2,116],"96":[2,116],"97":[2,116],"99":[2,116],"103":[2,116],"112":[2,116],"114":[2,116],"115":[2,116],"116":[2,116],"120":[2,116],"126":[2,116],"127":[2,116],"128":[2,116],"137":[2,116],"138":[2,116],"139":[2,116],"140":[2,116],"141":[2,116],"142":[2,116],"143":[2,116],"144":[2,116],"145":[2,116],"146":[2,116],"147":[2,116],"148":[2,116],"149":[2,116],"151":[2,116]},{"55":274,"56":[1,71],"57":[1,72]},{"60":275,"61":[1,136],"62":[1,137]},{"63":[1,276]},{"54":[2,67],"59":[2,67],"63":[1,277]},{"8":278,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,190],"4":[2,190],"29":[2,190],"30":[2,190],"51":[2,190],"59":[2,190],"63":[2,190],"82":[2,190],"87":[2,190],"99":[2,190],"103":[2,190],"112":[2,190],"114":[2,190],"115":[2,190],"116":[2,190],"120":[2,190],"126":[2,190],"127":[2,190],"128":[2,190],"131":[2,190],"137":[2,190],"138":[2,190],"139":[2,190],"140":[2,190],"141":[2,190],"142":[2,190],"143":[2,190],"144":[2,190],"145":[2,190],"146":[2,190],"147":[2,190],"148":[2,190],"149":[2,190],"151":[2,190]},{"1":[2,143],"4":[2,143],"29":[2,143],"30":[2,143],"51":[2,143],"59":[2,143],"63":[2,143],"82":[2,143],"87":[2,143],"99":[2,143],"103":[2,143],"108":[1,279],"112":[2,143],"114":[2,143],"115":[2,143],"116":[2,143],"120":[2,143],"126":[2,143],"127":[2,143],"128":[2,143],"137":[2,143],"138":[2,143],"139":[2,143],"140":[2,143],"141":[2,143],"142":[2,143],"143":[2,143],"144":[2,143],"145":[2,143],"146":[2,143],"147":[2,143],"148":[2,143],"149":[2,143],"151":[2,143]},{"4":[1,139],"6":280,"29":[1,6]},{"31":281,"32":[1,85]},{"130":282,"132":235,"133":[1,236]},{"30":[1,283],"131":[1,284],"132":285,"133":[1,236]},{"30":[2,183],"131":[2,183],"133":[2,183]},{"8":287,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"105":286,"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,114],"4":[2,114],"29":[2,114],"30":[2,114],"51":[2,114],"59":[2,114],"63":[2,114],"66":116,"75":[1,118],"76":[1,119],"77":[1,120],"78":[1,121],"79":122,"80":123,"81":[1,124],"82":[2,114],"83":[1,125],"84":[1,126],"87":[2,114],"94":115,"96":[1,117],"97":[2,117],"99":[2,114],"103":[2,114],"112":[2,114],"114":[2,114],"115":[2,114],"116":[2,114],"120":[2,114],"126":[2,114],"127":[2,114],"128":[2,114],"137":[2,114],"138":[2,114],"139":[2,114],"140":[2,114],"141":[2,114],"142":[2,114],"143":[2,114],"144":[2,114],"145":[2,114],"146":[2,114],"147":[2,114],"148":[2,114],"149":[2,114],"151":[2,114]},{"15":288,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":132,"62":[1,69],"65":133,"67":156,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"101":[1,68],"102":[1,67],"111":[1,66]},{"4":[2,106],"28":188,"30":[2,106],"31":186,"32":[1,85],"33":187,"34":[1,83],"35":[1,84],"47":243,"50":[1,52],"62":[1,245],"68":244,"85":[1,242],"90":289,"91":241},{"4":[1,291],"30":[1,290]},{"4":[2,107],"30":[2,107],"87":[2,107]},{"4":[2,106],"28":188,"31":186,"32":[1,85],"33":187,"34":[1,83],"35":[1,84],"47":243,"50":[1,52],"62":[1,245],"68":244,"85":[1,242],"87":[2,106],"90":292,"91":241},{"4":[2,104],"30":[2,104],"87":[2,104]},{"48":[1,293]},{"31":165,"32":[1,85]},{"1":[2,148],"4":[2,148],"29":[2,148],"30":[2,148],"51":[2,148],"59":[2,148],"63":[2,148],"75":[2,148],"76":[2,148],"77":[2,148],"78":[2,148],"81":[2,148],"82":[2,148],"83":[2,148],"84":[2,148],"87":[2,148],"96":[2,148],"97":[2,148],"99":[2,148],"103":[2,148],"112":[2,148],"114":[2,148],"115":[2,148],"116":[2,148],"120":[2,148],"126":[2,148],"127":[2,148],"128":[2,148],"137":[2,148],"138":[2,148],"139":[2,148],"140":[2,148],"141":[2,148],"142":[2,148],"143":[2,148],"144":[2,148],"145":[2,148],"146":[2,148],"147":[2,148],"148":[2,148],"149":[2,148],"150":[2,148],"151":[2,148]},{"63":[1,294]},{"4":[1,296],"29":[1,297],"103":[1,295]},{"4":[2,62],"8":251,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[2,62],"30":[2,62],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"64":164,"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"99":[2,62],"100":[1,70],"101":[1,68],"102":[1,67],"103":[2,62],"104":298,"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[2,61],"29":[2,61],"58":299,"59":[1,249],"99":[2,61]},{"4":[2,139],"29":[2,139],"30":[2,139],"51":[1,93],"59":[2,139],"63":[1,300],"99":[2,139],"103":[2,139],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,187],"4":[2,187],"29":[2,187],"30":[2,187],"51":[2,187],"59":[2,187],"63":[2,187],"82":[2,187],"87":[2,187],"99":[2,187],"103":[2,187],"112":[2,187],"114":[2,187],"115":[2,187],"116":[2,187],"120":[2,187],"126":[2,187],"127":[2,187],"128":[2,187],"131":[2,187],"137":[2,187],"138":[2,187],"139":[2,187],"140":[2,187],"141":[2,187],"142":[2,187],"143":[2,187],"144":[2,187],"145":[2,187],"146":[2,187],"147":[2,187],"148":[2,187],"149":[2,187],"151":[2,187]},{"1":[2,188],"4":[2,188],"29":[2,188],"30":[2,188],"51":[2,188],"59":[2,188],"63":[2,188],"82":[2,188],"87":[2,188],"99":[2,188],"103":[2,188],"112":[2,188],"114":[2,188],"115":[2,188],"116":[2,188],"120":[2,188],"126":[2,188],"127":[2,188],"128":[2,188],"131":[2,188],"137":[2,188],"138":[2,188],"139":[2,188],"140":[2,188],"141":[2,188],"142":[2,188],"143":[2,188],"144":[2,188],"145":[2,188],"146":[2,188],"147":[2,188],"148":[2,188],"149":[2,188],"151":[2,188]},{"8":301,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":302,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"126":[2,166],"127":[2,166]},{"4":[2,134],"8":251,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[2,134],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"59":[2,134],"62":[1,69],"64":164,"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"98":162,"100":[1,70],"101":[1,68],"102":[1,67],"103":[2,134],"104":163,"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"31":178,"32":[1,85],"69":179,"70":180,"85":[1,82],"102":[1,257],"125":303},{"1":[2,172],"4":[2,172],"29":[2,172],"30":[2,172],"51":[1,93],"59":[2,172],"63":[2,172],"82":[2,172],"87":[2,172],"99":[2,172],"103":[2,172],"112":[2,172],"113":108,"114":[2,172],"115":[1,304],"116":[2,172],"119":109,"120":[2,172],"121":79,"126":[1,102],"127":[1,103],"128":[1,305],"137":[2,172],"138":[2,172],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,173],"4":[2,173],"29":[2,173],"30":[2,173],"51":[1,93],"59":[2,173],"63":[2,173],"82":[2,173],"87":[2,173],"99":[2,173],"103":[2,173],"112":[2,173],"113":108,"114":[2,173],"115":[1,306],"116":[2,173],"119":109,"120":[2,173],"121":79,"126":[1,102],"127":[1,103],"128":[2,173],"137":[2,173],"138":[2,173],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"4":[1,308],"29":[1,309],"87":[1,307]},{"4":[2,62],"28":188,"29":[2,62],"30":[2,62],"31":186,"32":[1,85],"33":187,"34":[1,83],"35":[1,84],"47":310,"50":[1,52],"87":[2,62]},{"8":311,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,312],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":313,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,314],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,217],"4":[2,217],"29":[2,217],"30":[2,217],"51":[1,93],"59":[2,217],"63":[2,217],"82":[2,217],"87":[2,217],"99":[2,217],"103":[2,217],"112":[2,217],"113":108,"114":[2,217],"115":[2,217],"116":[2,217],"119":109,"120":[2,217],"121":79,"126":[2,217],"127":[2,217],"128":[2,217],"137":[2,217],"138":[2,217],"139":[1,105],"140":[2,217],"141":[2,217],"142":[1,91],"143":[1,92],"144":[2,217],"145":[2,217],"146":[2,217],"147":[2,217],"148":[2,217],"149":[2,217],"151":[2,217]},{"1":[2,218],"4":[2,218],"29":[2,218],"30":[2,218],"51":[1,93],"59":[2,218],"63":[2,218],"82":[2,218],"87":[2,218],"99":[2,218],"103":[2,218],"112":[2,218],"113":108,"114":[2,218],"115":[2,218],"116":[2,218],"119":109,"120":[2,218],"121":79,"126":[2,218],"127":[2,218],"128":[2,218],"137":[2,218],"138":[2,218],"139":[1,105],"140":[2,218],"141":[2,218],"142":[1,91],"143":[1,92],"144":[2,218],"145":[2,218],"146":[2,218],"147":[2,218],"148":[2,218],"149":[2,218],"151":[2,218]},{"1":[2,219],"4":[2,219],"29":[2,219],"30":[2,219],"51":[1,93],"59":[2,219],"63":[2,219],"82":[2,219],"87":[2,219],"99":[2,219],"103":[2,219],"112":[2,219],"113":108,"114":[2,219],"115":[2,219],"116":[2,219],"119":109,"120":[2,219],"121":79,"126":[2,219],"127":[2,219],"128":[2,219],"137":[2,219],"138":[2,219],"139":[1,105],"140":[2,219],"141":[2,219],"142":[1,91],"143":[1,92],"144":[2,219],"145":[2,219],"146":[2,219],"147":[2,219],"148":[2,219],"149":[2,219],"151":[2,219]},{"30":[1,315],"51":[1,93],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,90],"4":[2,90],"29":[2,90],"30":[2,90],"46":[2,90],"51":[2,90],"59":[2,90],"63":[2,90],"75":[2,90],"76":[2,90],"77":[2,90],"78":[2,90],"81":[2,90],"82":[2,90],"83":[2,90],"84":[2,90],"87":[2,90],"89":[2,90],"96":[2,90],"97":[2,90],"99":[2,90],"103":[2,90],"112":[2,90],"114":[2,90],"115":[2,90],"116":[2,90],"120":[2,90],"126":[2,90],"127":[2,90],"128":[2,90],"137":[2,90],"138":[2,90],"139":[2,90],"140":[2,90],"141":[2,90],"142":[2,90],"143":[2,90],"144":[2,90],"145":[2,90],"146":[2,90],"147":[2,90],"148":[2,90],"149":[2,90],"150":[2,90],"151":[2,90]},{"63":[1,316]},{"8":317,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"63":[1,318],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"51":[1,93],"82":[1,269],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"30":[1,319],"51":[1,93],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"4":[1,139],"6":320,"29":[1,6]},{"54":[2,65],"59":[2,65]},{"63":[1,321]},{"63":[1,322]},{"4":[1,139],"6":323,"29":[1,6],"51":[1,93],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"4":[1,139],"6":324,"29":[1,6]},{"1":[2,144],"4":[2,144],"29":[2,144],"30":[2,144],"51":[2,144],"59":[2,144],"63":[2,144],"82":[2,144],"87":[2,144],"99":[2,144],"103":[2,144],"112":[2,144],"114":[2,144],"115":[2,144],"116":[2,144],"120":[2,144],"126":[2,144],"127":[2,144],"128":[2,144],"137":[2,144],"138":[2,144],"139":[2,144],"140":[2,144],"141":[2,144],"142":[2,144],"143":[2,144],"144":[2,144],"145":[2,144],"146":[2,144],"147":[2,144],"148":[2,144],"149":[2,144],"151":[2,144]},{"4":[1,139],"6":325,"29":[1,6]},{"30":[1,326],"131":[1,327],"132":285,"133":[1,236]},{"1":[2,181],"4":[2,181],"29":[2,181],"30":[2,181],"51":[2,181],"59":[2,181],"63":[2,181],"82":[2,181],"87":[2,181],"99":[2,181],"103":[2,181],"112":[2,181],"114":[2,181],"115":[2,181],"116":[2,181],"120":[2,181],"126":[2,181],"127":[2,181],"128":[2,181],"137":[2,181],"138":[2,181],"139":[2,181],"140":[2,181],"141":[2,181],"142":[2,181],"143":[2,181],"144":[2,181],"145":[2,181],"146":[2,181],"147":[2,181],"148":[2,181],"149":[2,181],"151":[2,181]},{"4":[1,139],"6":328,"29":[1,6]},{"30":[2,184],"131":[2,184],"133":[2,184]},{"4":[1,139],"6":329,"29":[1,6],"59":[1,330]},{"4":[2,141],"29":[2,141],"51":[1,93],"59":[2,141],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,100],"4":[2,100],"29":[1,331],"30":[2,100],"51":[2,100],"59":[2,100],"63":[2,100],"66":116,"75":[1,118],"76":[1,119],"77":[1,120],"78":[1,121],"79":122,"80":123,"81":[1,124],"82":[2,100],"83":[1,125],"84":[1,126],"87":[2,100],"94":115,"96":[1,117],"97":[2,117],"99":[2,100],"103":[2,100],"112":[2,100],"114":[2,100],"115":[2,100],"116":[2,100],"120":[2,100],"126":[2,100],"127":[2,100],"128":[2,100],"137":[2,100],"138":[2,100],"139":[2,100],"140":[2,100],"141":[2,100],"142":[2,100],"143":[2,100],"144":[2,100],"145":[2,100],"146":[2,100],"147":[2,100],"148":[2,100],"149":[2,100],"151":[2,100]},{"4":[1,291],"30":[1,332]},{"1":[2,103],"4":[2,103],"29":[2,103],"30":[2,103],"51":[2,103],"59":[2,103],"63":[2,103],"82":[2,103],"87":[2,103],"99":[2,103],"103":[2,103],"112":[2,103],"114":[2,103],"115":[2,103],"116":[2,103],"120":[2,103],"126":[2,103],"127":[2,103],"128":[2,103],"137":[2,103],"138":[2,103],"139":[2,103],"140":[2,103],"141":[2,103],"142":[2,103],"143":[2,103],"144":[2,103],"145":[2,103],"146":[2,103],"147":[2,103],"148":[2,103],"149":[2,103],"151":[2,103]},{"28":188,"31":186,"32":[1,85],"33":187,"34":[1,83],"35":[1,84],"47":243,"50":[1,52],"62":[1,245],"68":244,"91":333},{"4":[1,291],"87":[1,334]},{"8":335,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":336,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"63":[1,337],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,133],"4":[2,133],"29":[2,133],"30":[2,133],"46":[2,133],"51":[2,133],"59":[2,133],"63":[2,133],"75":[2,133],"76":[2,133],"77":[2,133],"78":[2,133],"81":[2,133],"82":[2,133],"83":[2,133],"84":[2,133],"87":[2,133],"96":[2,133],"97":[2,133],"99":[2,133],"103":[2,133],"112":[2,133],"114":[2,133],"115":[2,133],"116":[2,133],"120":[2,133],"126":[2,133],"127":[2,133],"128":[2,133],"137":[2,133],"138":[2,133],"139":[2,133],"140":[2,133],"141":[2,133],"142":[2,133],"143":[2,133],"144":[2,133],"145":[2,133],"146":[2,133],"147":[2,133],"148":[2,133],"149":[2,133],"150":[2,133],"151":[2,133]},{"8":251,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"64":164,"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"104":338,"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[2,134],"8":251,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[2,134],"30":[2,134],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"59":[2,134],"62":[1,69],"64":164,"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"98":339,"100":[1,70],"101":[1,68],"102":[1,67],"104":163,"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[2,136],"29":[2,136],"30":[2,136],"59":[2,136],"99":[2,136],"103":[2,136]},{"4":[1,296],"29":[1,297],"99":[1,340]},{"63":[1,341]},{"1":[2,151],"4":[2,151],"29":[2,151],"30":[2,151],"51":[1,93],"59":[2,151],"63":[2,151],"82":[2,151],"87":[2,151],"99":[2,151],"103":[2,151],"112":[2,151],"113":108,"114":[1,75],"115":[2,151],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"128":[2,151],"137":[2,151],"138":[2,151],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,153],"4":[2,153],"29":[2,153],"30":[2,153],"51":[1,93],"59":[2,153],"63":[2,153],"82":[2,153],"87":[2,153],"99":[2,153],"103":[2,153],"112":[2,153],"113":108,"114":[1,75],"115":[2,153],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"128":[2,153],"137":[2,153],"138":[2,153],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"126":[2,171],"127":[2,171]},{"8":342,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":343,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":344,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,93],"4":[2,93],"29":[2,93],"30":[2,93],"46":[2,93],"51":[2,93],"59":[2,93],"63":[2,93],"75":[2,93],"76":[2,93],"77":[2,93],"78":[2,93],"81":[2,93],"82":[2,93],"83":[2,93],"84":[2,93],"87":[2,93],"96":[2,93],"97":[2,93],"99":[2,93],"103":[2,93],"112":[2,93],"114":[2,93],"115":[2,93],"116":[2,93],"120":[2,93],"126":[2,93],"127":[2,93],"128":[2,93],"137":[2,93],"138":[2,93],"139":[2,93],"140":[2,93],"141":[2,93],"142":[2,93],"143":[2,93],"144":[2,93],"145":[2,93],"146":[2,93],"147":[2,93],"148":[2,93],"149":[2,93],"150":[2,93],"151":[2,93]},{"28":188,"31":186,"32":[1,85],"33":187,"34":[1,83],"35":[1,84],"47":345,"50":[1,52]},{"4":[2,94],"28":188,"29":[2,94],"30":[2,94],"31":186,"32":[1,85],"33":187,"34":[1,83],"35":[1,84],"47":185,"50":[1,52],"59":[2,94],"86":346},{"4":[2,96],"29":[2,96],"30":[2,96],"59":[2,96],"87":[2,96]},{"4":[2,48],"29":[2,48],"30":[2,48],"51":[1,93],"59":[2,48],"87":[2,48],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"8":347,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[2,49],"29":[2,49],"30":[2,49],"51":[1,93],"59":[2,49],"87":[2,49],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"8":348,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,213],"4":[2,213],"29":[2,213],"30":[2,213],"51":[2,213],"59":[2,213],"63":[2,213],"82":[2,213],"87":[2,213],"99":[2,213],"103":[2,213],"112":[2,213],"114":[2,213],"115":[2,213],"116":[2,213],"120":[2,213],"126":[2,213],"127":[2,213],"128":[2,213],"137":[2,213],"138":[2,213],"139":[2,213],"140":[2,213],"141":[2,213],"142":[2,213],"143":[2,213],"144":[2,213],"145":[2,213],"146":[2,213],"147":[2,213],"148":[2,213],"149":[2,213],"151":[2,213]},{"8":349,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"63":[1,350],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"82":[1,351],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"51":[1,93],"82":[1,352],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"8":353,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,45],"4":[2,45],"29":[2,45],"30":[2,45],"51":[2,45],"59":[2,45],"63":[2,45],"82":[2,45],"87":[2,45],"99":[2,45],"103":[2,45],"112":[2,45],"114":[2,45],"115":[2,45],"116":[2,45],"120":[2,45],"126":[2,45],"127":[2,45],"128":[2,45],"137":[2,45],"138":[2,45],"139":[2,45],"140":[2,45],"141":[2,45],"142":[2,45],"143":[2,45],"144":[2,45],"145":[2,45],"146":[2,45],"147":[2,45],"148":[2,45],"149":[2,45],"151":[2,45]},{"1":[2,57],"4":[2,57],"29":[2,57],"30":[2,57],"51":[2,57],"59":[2,57],"63":[2,57],"82":[2,57],"87":[2,57],"99":[2,57],"103":[2,57],"112":[2,57],"114":[2,57],"115":[2,57],"116":[2,57],"120":[2,57],"126":[2,57],"127":[2,57],"128":[2,57],"137":[2,57],"138":[2,57],"139":[2,57],"140":[2,57],"141":[2,57],"142":[2,57],"143":[2,57],"144":[2,57],"145":[2,57],"146":[2,57],"147":[2,57],"148":[2,57],"149":[2,57],"151":[2,57]},{"54":[2,68],"59":[2,68]},{"63":[1,354]},{"1":[2,189],"4":[2,189],"29":[2,189],"30":[2,189],"51":[2,189],"59":[2,189],"63":[2,189],"82":[2,189],"87":[2,189],"99":[2,189],"103":[2,189],"112":[2,189],"114":[2,189],"115":[2,189],"116":[2,189],"120":[2,189],"126":[2,189],"127":[2,189],"128":[2,189],"131":[2,189],"137":[2,189],"138":[2,189],"139":[2,189],"140":[2,189],"141":[2,189],"142":[2,189],"143":[2,189],"144":[2,189],"145":[2,189],"146":[2,189],"147":[2,189],"148":[2,189],"149":[2,189],"151":[2,189]},{"1":[2,145],"4":[2,145],"29":[2,145],"30":[2,145],"51":[2,145],"59":[2,145],"63":[2,145],"82":[2,145],"87":[2,145],"99":[2,145],"103":[2,145],"112":[2,145],"114":[2,145],"115":[2,145],"116":[2,145],"120":[2,145],"126":[2,145],"127":[2,145],"128":[2,145],"137":[2,145],"138":[2,145],"139":[2,145],"140":[2,145],"141":[2,145],"142":[2,145],"143":[2,145],"144":[2,145],"145":[2,145],"146":[2,145],"147":[2,145],"148":[2,145],"149":[2,145],"151":[2,145]},{"1":[2,146],"4":[2,146],"29":[2,146],"30":[2,146],"51":[2,146],"59":[2,146],"63":[2,146],"82":[2,146],"87":[2,146],"99":[2,146],"103":[2,146],"108":[2,146],"112":[2,146],"114":[2,146],"115":[2,146],"116":[2,146],"120":[2,146],"126":[2,146],"127":[2,146],"128":[2,146],"137":[2,146],"138":[2,146],"139":[2,146],"140":[2,146],"141":[2,146],"142":[2,146],"143":[2,146],"144":[2,146],"145":[2,146],"146":[2,146],"147":[2,146],"148":[2,146],"149":[2,146],"151":[2,146]},{"1":[2,179],"4":[2,179],"29":[2,179],"30":[2,179],"51":[2,179],"59":[2,179],"63":[2,179],"82":[2,179],"87":[2,179],"99":[2,179],"103":[2,179],"112":[2,179],"114":[2,179],"115":[2,179],"116":[2,179],"120":[2,179],"126":[2,179],"127":[2,179],"128":[2,179],"137":[2,179],"138":[2,179],"139":[2,179],"140":[2,179],"141":[2,179],"142":[2,179],"143":[2,179],"144":[2,179],"145":[2,179],"146":[2,179],"147":[2,179],"148":[2,179],"149":[2,179],"151":[2,179]},{"4":[1,139],"6":355,"29":[1,6]},{"30":[1,356]},{"4":[1,357],"30":[2,185],"131":[2,185],"133":[2,185]},{"8":358,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[2,106],"28":188,"30":[2,106],"31":186,"32":[1,85],"33":187,"34":[1,83],"35":[1,84],"47":243,"50":[1,52],"62":[1,245],"68":244,"85":[1,242],"90":359,"91":241},{"1":[2,101],"4":[2,101],"29":[2,101],"30":[2,101],"51":[2,101],"59":[2,101],"63":[2,101],"82":[2,101],"87":[2,101],"99":[2,101],"103":[2,101],"112":[2,101],"114":[2,101],"115":[2,101],"116":[2,101],"120":[2,101],"126":[2,101],"127":[2,101],"128":[2,101],"137":[2,101],"138":[2,101],"139":[2,101],"140":[2,101],"141":[2,101],"142":[2,101],"143":[2,101],"144":[2,101],"145":[2,101],"146":[2,101],"147":[2,101],"148":[2,101],"149":[2,101],"151":[2,101]},{"4":[2,108],"30":[2,108],"87":[2,108]},{"4":[2,109],"30":[2,109],"87":[2,109]},{"4":[2,105],"30":[2,105],"51":[1,93],"87":[2,105],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"51":[1,93],"103":[1,360],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"4":[2,70],"8":361,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[2,70],"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"59":[2,70],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"103":[2,70],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[2,137],"29":[2,137],"30":[2,137],"59":[2,137],"99":[2,137],"103":[2,137]},{"4":[2,61],"29":[2,61],"30":[2,61],"58":362,"59":[1,249]},{"1":[2,119],"4":[2,119],"29":[2,119],"30":[2,119],"51":[2,119],"59":[2,119],"63":[2,119],"75":[2,119],"76":[2,119],"77":[2,119],"78":[2,119],"81":[2,119],"82":[2,119],"83":[2,119],"84":[2,119],"87":[2,119],"96":[2,119],"97":[2,119],"99":[2,119],"103":[2,119],"112":[2,119],"114":[2,119],"115":[2,119],"116":[2,119],"120":[2,119],"126":[2,119],"127":[2,119],"128":[2,119],"137":[2,119],"138":[2,119],"139":[2,119],"140":[2,119],"141":[2,119],"142":[2,119],"143":[2,119],"144":[2,119],"145":[2,119],"146":[2,119],"147":[2,119],"148":[2,119],"149":[2,119],"151":[2,119]},{"63":[1,363]},{"1":[2,174],"4":[2,174],"29":[2,174],"30":[2,174],"51":[1,93],"59":[2,174],"63":[2,174],"82":[2,174],"87":[2,174],"99":[2,174],"103":[2,174],"112":[2,174],"113":108,"114":[2,174],"115":[2,174],"116":[2,174],"119":109,"120":[2,174],"121":79,"126":[1,102],"127":[1,103],"128":[1,364],"137":[2,174],"138":[2,174],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,176],"4":[2,176],"29":[2,176],"30":[2,176],"51":[1,93],"59":[2,176],"63":[2,176],"82":[2,176],"87":[2,176],"99":[2,176],"103":[2,176],"112":[2,176],"113":108,"114":[2,176],"115":[1,365],"116":[2,176],"119":109,"120":[2,176],"121":79,"126":[1,102],"127":[1,103],"128":[2,176],"137":[2,176],"138":[2,176],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,175],"4":[2,175],"29":[2,175],"30":[2,175],"51":[1,93],"59":[2,175],"63":[2,175],"82":[2,175],"87":[2,175],"99":[2,175],"103":[2,175],"112":[2,175],"113":108,"114":[2,175],"115":[2,175],"116":[2,175],"119":109,"120":[2,175],"121":79,"126":[1,102],"127":[1,103],"128":[2,175],"137":[2,175],"138":[2,175],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"4":[2,97],"29":[2,97],"30":[2,97],"59":[2,97],"87":[2,97]},{"4":[2,61],"29":[2,61],"30":[2,61],"58":366,"59":[1,262]},{"30":[1,367],"51":[1,93],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"30":[1,368],"51":[1,93],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"51":[1,93],"82":[1,369],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"8":370,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"82":[1,371],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"1":[2,129],"4":[2,129],"29":[2,129],"30":[2,129],"46":[2,129],"51":[2,129],"59":[2,129],"63":[2,129],"75":[2,129],"76":[2,129],"77":[2,129],"78":[2,129],"81":[2,129],"82":[2,129],"83":[2,129],"84":[2,129],"87":[2,129],"89":[2,129],"96":[2,129],"97":[2,129],"99":[2,129],"103":[2,129],"112":[2,129],"114":[2,129],"115":[2,129],"116":[2,129],"120":[2,129],"126":[2,129],"127":[2,129],"128":[2,129],"137":[2,129],"138":[2,129],"139":[2,129],"140":[2,129],"141":[2,129],"142":[2,129],"143":[2,129],"144":[2,129],"145":[2,129],"146":[2,129],"147":[2,129],"148":[2,129],"149":[2,129],"150":[2,129],"151":[2,129]},{"1":[2,131],"4":[2,131],"29":[2,131],"30":[2,131],"46":[2,131],"51":[2,131],"59":[2,131],"63":[2,131],"75":[2,131],"76":[2,131],"77":[2,131],"78":[2,131],"81":[2,131],"82":[2,131],"83":[2,131],"84":[2,131],"87":[2,131],"89":[2,131],"96":[2,131],"97":[2,131],"99":[2,131],"103":[2,131],"112":[2,131],"114":[2,131],"115":[2,131],"116":[2,131],"120":[2,131],"126":[2,131],"127":[2,131],"128":[2,131],"137":[2,131],"138":[2,131],"139":[2,131],"140":[2,131],"141":[2,131],"142":[2,131],"143":[2,131],"144":[2,131],"145":[2,131],"146":[2,131],"147":[2,131],"148":[2,131],"149":[2,131],"150":[2,131],"151":[2,131]},{"51":[1,93],"82":[1,372],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"54":[2,69],"59":[2,69]},{"30":[1,373]},{"1":[2,182],"4":[2,182],"29":[2,182],"30":[2,182],"51":[2,182],"59":[2,182],"63":[2,182],"82":[2,182],"87":[2,182],"99":[2,182],"103":[2,182],"112":[2,182],"114":[2,182],"115":[2,182],"116":[2,182],"120":[2,182],"126":[2,182],"127":[2,182],"128":[2,182],"137":[2,182],"138":[2,182],"139":[2,182],"140":[2,182],"141":[2,182],"142":[2,182],"143":[2,182],"144":[2,182],"145":[2,182],"146":[2,182],"147":[2,182],"148":[2,182],"149":[2,182],"151":[2,182]},{"30":[2,186],"131":[2,186],"133":[2,186]},{"4":[2,142],"29":[2,142],"51":[1,93],"59":[2,142],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"4":[1,291],"30":[1,374]},{"1":[2,125],"4":[2,125],"29":[2,125],"30":[2,125],"51":[2,125],"59":[2,125],"63":[2,125],"75":[2,125],"76":[2,125],"77":[2,125],"78":[2,125],"81":[2,125],"82":[2,125],"83":[2,125],"84":[2,125],"87":[2,125],"96":[2,125],"97":[2,125],"99":[2,125],"103":[2,125],"112":[2,125],"114":[2,125],"115":[2,125],"116":[2,125],"120":[2,125],"126":[2,125],"127":[2,125],"128":[2,125],"137":[2,125],"138":[2,125],"139":[2,125],"140":[2,125],"141":[2,125],"142":[2,125],"143":[2,125],"144":[2,125],"145":[2,125],"146":[2,125],"147":[2,125],"148":[2,125],"149":[2,125],"150":[2,125],"151":[2,125]},{"51":[1,93],"103":[1,375],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"4":[1,296],"29":[1,297],"30":[1,376]},{"4":[2,70],"29":[2,70],"30":[2,70],"59":[2,70],"99":[2,70],"103":[2,70]},{"8":377,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"8":378,"9":141,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":80,"32":[1,85],"33":57,"34":[1,83],"35":[1,84],"36":29,"37":[1,58],"38":[1,59],"39":[1,60],"40":[1,61],"41":[1,62],"42":[1,63],"43":[1,64],"44":[1,65],"45":28,"49":[1,53],"50":[1,52],"52":[1,37],"55":38,"56":[1,71],"57":[1,72],"62":[1,69],"65":50,"67":34,"68":81,"69":55,"70":56,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,82],"88":[1,51],"92":35,"93":[1,36],"100":[1,70],"101":[1,68],"102":[1,67],"106":[1,45],"110":[1,54],"111":[1,66],"113":46,"114":[1,75],"116":[1,76],"117":47,"118":[1,77],"119":48,"120":[1,78],"121":79,"129":[1,49],"134":44,"135":[1,73],"136":[1,74],"139":[1,39],"140":[1,40],"141":[1,41],"142":[1,42],"143":[1,43]},{"4":[1,308],"29":[1,309],"30":[1,379]},{"4":[2,50],"29":[2,50],"30":[2,50],"59":[2,50],"87":[2,50]},{"4":[2,51],"29":[2,51],"30":[2,51],"59":[2,51],"87":[2,51]},{"1":[2,127],"4":[2,127],"29":[2,127],"30":[2,127],"46":[2,127],"51":[2,127],"59":[2,127],"63":[2,127],"75":[2,127],"76":[2,127],"77":[2,127],"78":[2,127],"81":[2,127],"82":[2,127],"83":[2,127],"84":[2,127],"87":[2,127],"89":[2,127],"96":[2,127],"97":[2,127],"99":[2,127],"103":[2,127],"112":[2,127],"114":[2,127],"115":[2,127],"116":[2,127],"120":[2,127],"126":[2,127],"127":[2,127],"128":[2,127],"137":[2,127],"138":[2,127],"139":[2,127],"140":[2,127],"141":[2,127],"142":[2,127],"143":[2,127],"144":[2,127],"145":[2,127],"146":[2,127],"147":[2,127],"148":[2,127],"149":[2,127],"150":[2,127],"151":[2,127]},{"51":[1,93],"82":[1,380],"113":108,"114":[1,75],"116":[1,76],"119":109,"120":[1,78],"121":79,"126":[1,102],"127":[1,103],"137":[1,106],"138":[1,107],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,130],"4":[2,130],"29":[2,130],"30":[2,130],"46":[2,130],"51":[2,130],"59":[2,130],"63":[2,130],"75":[2,130],"76":[2,130],"77":[2,130],"78":[2,130],"81":[2,130],"82":[2,130],"83":[2,130],"84":[2,130],"87":[2,130],"89":[2,130],"96":[2,130],"97":[2,130],"99":[2,130],"103":[2,130],"112":[2,130],"114":[2,130],"115":[2,130],"116":[2,130],"120":[2,130],"126":[2,130],"127":[2,130],"128":[2,130],"137":[2,130],"138":[2,130],"139":[2,130],"140":[2,130],"141":[2,130],"142":[2,130],"143":[2,130],"144":[2,130],"145":[2,130],"146":[2,130],"147":[2,130],"148":[2,130],"149":[2,130],"150":[2,130],"151":[2,130]},{"1":[2,132],"4":[2,132],"29":[2,132],"30":[2,132],"46":[2,132],"51":[2,132],"59":[2,132],"63":[2,132],"75":[2,132],"76":[2,132],"77":[2,132],"78":[2,132],"81":[2,132],"82":[2,132],"83":[2,132],"84":[2,132],"87":[2,132],"89":[2,132],"96":[2,132],"97":[2,132],"99":[2,132],"103":[2,132],"112":[2,132],"114":[2,132],"115":[2,132],"116":[2,132],"120":[2,132],"126":[2,132],"127":[2,132],"128":[2,132],"137":[2,132],"138":[2,132],"139":[2,132],"140":[2,132],"141":[2,132],"142":[2,132],"143":[2,132],"144":[2,132],"145":[2,132],"146":[2,132],"147":[2,132],"148":[2,132],"149":[2,132],"150":[2,132],"151":[2,132]},{"1":[2,180],"4":[2,180],"29":[2,180],"30":[2,180],"51":[2,180],"59":[2,180],"63":[2,180],"82":[2,180],"87":[2,180],"99":[2,180],"103":[2,180],"112":[2,180],"114":[2,180],"115":[2,180],"116":[2,180],"120":[2,180],"126":[2,180],"127":[2,180],"128":[2,180],"137":[2,180],"138":[2,180],"139":[2,180],"140":[2,180],"141":[2,180],"142":[2,180],"143":[2,180],"144":[2,180],"145":[2,180],"146":[2,180],"147":[2,180],"148":[2,180],"149":[2,180],"151":[2,180]},{"1":[2,102],"4":[2,102],"29":[2,102],"30":[2,102],"51":[2,102],"59":[2,102],"63":[2,102],"82":[2,102],"87":[2,102],"99":[2,102],"103":[2,102],"112":[2,102],"114":[2,102],"115":[2,102],"116":[2,102],"120":[2,102],"126":[2,102],"127":[2,102],"128":[2,102],"137":[2,102],"138":[2,102],"139":[2,102],"140":[2,102],"141":[2,102],"142":[2,102],"143":[2,102],"144":[2,102],"145":[2,102],"146":[2,102],"147":[2,102],"148":[2,102],"149":[2,102],"151":[2,102]},{"1":[2,126],"4":[2,126],"29":[2,126],"30":[2,126],"51":[2,126],"59":[2,126],"63":[2,126],"75":[2,126],"76":[2,126],"77":[2,126],"78":[2,126],"81":[2,126],"82":[2,126],"83":[2,126],"84":[2,126],"87":[2,126],"96":[2,126],"97":[2,126],"99":[2,126],"103":[2,126],"112":[2,126],"114":[2,126],"115":[2,126],"116":[2,126],"120":[2,126],"126":[2,126],"127":[2,126],"128":[2,126],"137":[2,126],"138":[2,126],"139":[2,126],"140":[2,126],"141":[2,126],"142":[2,126],"143":[2,126],"144":[2,126],"145":[2,126],"146":[2,126],"147":[2,126],"148":[2,126],"149":[2,126],"150":[2,126],"151":[2,126]},{"4":[2,138],"29":[2,138],"30":[2,138],"59":[2,138],"99":[2,138],"103":[2,138]},{"1":[2,177],"4":[2,177],"29":[2,177],"30":[2,177],"51":[1,93],"59":[2,177],"63":[2,177],"82":[2,177],"87":[2,177],"99":[2,177],"103":[2,177],"112":[2,177],"113":108,"114":[2,177],"115":[2,177],"116":[2,177],"119":109,"120":[2,177],"121":79,"126":[1,102],"127":[1,103],"128":[2,177],"137":[2,177],"138":[2,177],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"1":[2,178],"4":[2,178],"29":[2,178],"30":[2,178],"51":[1,93],"59":[2,178],"63":[2,178],"82":[2,178],"87":[2,178],"99":[2,178],"103":[2,178],"112":[2,178],"113":108,"114":[2,178],"115":[2,178],"116":[2,178],"119":109,"120":[2,178],"121":79,"126":[1,102],"127":[1,103],"128":[2,178],"137":[2,178],"138":[2,178],"139":[1,105],"140":[1,95],"141":[1,94],"142":[1,91],"143":[1,92],"144":[1,96],"145":[1,97],"146":[1,98],"147":[1,99],"148":[1,100],"149":[1,101],"151":[1,104]},{"4":[2,98],"29":[2,98],"30":[2,98],"59":[2,98],"87":[2,98]},{"1":[2,128],"4":[2,128],"29":[2,128],"30":[2,128],"46":[2,128],"51":[2,128],"59":[2,128],"63":[2,128],"75":[2,128],"76":[2,128],"77":[2,128],"78":[2,128],"81":[2,128],"82":[2,128],"83":[2,128],"84":[2,128],"87":[2,128],"89":[2,128],"96":[2,128],"97":[2,128],"99":[2,128],"103":[2,128],"112":[2,128],"114":[2,128],"115":[2,128],"116":[2,128],"120":[2,128],"126":[2,128],"127":[2,128],"128":[2,128],"137":[2,128],"138":[2,128],"139":[2,128],"140":[2,128],"141":[2,128],"142":[2,128],"143":[2,128],"144":[2,128],"145":[2,128],"146":[2,128],"147":[2,128],"148":[2,128],"149":[2,128],"150":[2,128],"151":[2,128]}],defaultActions:{"88":[2,4],"117":[2,118]},parseError:function parseError(str,hash){throw new Error(str)},parse:function parse(input){var self=this,stack=[0],vstack=[null],table=this.table,yytext="",yylineno=0,yyleng=0,shifts=0,reductions=0,recovering=0,TERROR=2,EOF=1;this.lexer.setInput(input);this.lexer.yy=this.yy;this.yy.lexer=this.lexer;var parseError=this.yy.parseError=typeof this.yy.parseError=="function"?this.yy.parseError:this.parseError;function popStack(n){stack.length=stack.length-2*n;vstack.length=vstack.length-n}function checkRecover(st){for(var p in table[st]){if(p==TERROR){return true}}return false}function lex(){var token;token=self.lexer.lex()||1;if(typeof token!=="number"){token=self.symbols_[token]||token}return token}var symbol,preErrorSymbol,state,action,a,r,yyval={},p,len,newState,expected,recovered=false;while(true){state=stack[stack.length-1];if(this.defaultActions[state]){action=this.defaultActions[state]}else{if(symbol==null){symbol=lex()}action=table[state]&&table[state][symbol]}if(typeof action==="undefined"||!action.length||!action[0]){if(!recovering){expected=[];for(p in table[state]){if(this.terminals_[p]&&p>2){expected.push("'"+this.terminals_[p]+"'")}}if(this.lexer.showPosition){parseError.call(this,"Parse error on line "+(yylineno+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+expected.join(", "),{text:this.lexer.match,token:this.terminals_[symbol]||symbol,line:this.lexer.yylineno,expected:expected})}else{parseError.call(this,"Parse error on line "+(yylineno+1)+": Unexpected '"+(this.terminals_[symbol]||symbol)+"'",{text:this.lexer.match,token:this.terminals_[symbol]||symbol,line:this.lexer.yylineno,expected:expected})}}if(recovering==3){if(symbol==EOF){throw"Parsing halted."}yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;symbol=lex()}while(1){if(checkRecover(state)){break}if(state==0){throw"Parsing halted."}popStack(1);state=stack[stack.length-1]}preErrorSymbol=symbol;symbol=TERROR;state=stack[stack.length-1];action=table[state]&&table[state][TERROR];recovering=3}if(action[0] instanceof Array&&action.length>1){throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol)}a=action;switch(a[0]){case 1:shifts++;stack.push(symbol);vstack.push(this.lexer.yytext);stack.push(a[1]);symbol=null;if(!preErrorSymbol){yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;if(recovering>0){recovering--}}else{symbol=preErrorSymbol;preErrorSymbol=null}break;case 2:reductions++;len=this.productions_[a[1]][1];yyval.$=vstack[vstack.length-len];r=this.performAction.call(yyval,yytext,yyleng,yylineno,this.yy,a[1],vstack);if(typeof r!=="undefined"){return r}if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,-1*len)}stack.push(this.productions_[a[1]][0]);vstack.push(yyval.$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:this.reductionCount=reductions;this.shiftCount=shifts;return true}}return true}};return parser})();if(typeof require!=="undefined"){exports.parser=parser;exports.parse=function(){return parser.parse.apply(parser,arguments)};exports.main=function commonjsMain(args){if(!args[1]){throw new Error("Usage: "+args[0]+" FILE")}if(typeof process!=="undefined"){var source=require("fs").readFileSync(require("path").join(process.cwd(),args[1]),"utf8")}else{var cwd=require("file").path(require("file").cwd());var source=cwd.join(args[1]).read({charset:"utf-8"})}return exports.parser.parse(source)};if(require.main===module){exports.main(typeof process!=="undefined"?process.argv.slice(1):require("system").args)}}(function(){var Scope;var __hasProp=Object.prototype.hasOwnProperty;if(!(typeof process!=="undefined"&&process!==null)){this.exports=this}exports.Scope=(function(){Scope=function(parent,expressions,method){var _a;_a=[parent,expressions,method];this.parent=_a[0];this.expressions=_a[1];this.method=_a[2];this.variables={};if(this.parent){this.tempVar=this.parent.tempVar}else{Scope.root=this;this.tempVar="_a"}return this};Scope.root=null;Scope.prototype.find=function(name,options){if(this.check(name,options)){return true}this.variables[name]="var";return false};Scope.prototype.any=function(fn){var _a,k,v;_a=this.variables;for(v in _a){if(!__hasProp.call(_a,v)){continue}k=_a[v];if(fn(v,k)){return true}}return false};Scope.prototype.parameter=function(name){return(this.variables[name]="param")};Scope.prototype.check=function(name,options){var immediate;immediate=Object.prototype.hasOwnProperty.call(this.variables,name);if(immediate||(options&&options.immediate)){return immediate}return !!(this.parent&&this.parent.check(name))};Scope.prototype.freeVariable=function(){var ordinal;while(this.check(this.tempVar)){ordinal=1+parseInt(this.tempVar.substr(1),36);this.tempVar="_"+ordinal.toString(36).replace(/\d/g,"a")}this.variables[this.tempVar]="var";return this.tempVar};Scope.prototype.assign=function(name,value){return(this.variables[name]={value:value,assigned:true})};Scope.prototype.hasDeclarations=function(body){return body===this.expressions&&this.any(function(k,val){return val==="var"})};Scope.prototype.hasAssignments=function(body){return body===this.expressions&&this.any(function(k,val){return val.assigned})};Scope.prototype.declaredVariables=function(){var _a,_b,key,val;return(function(){_a=[];_b=this.variables;for(key in _b){if(!__hasProp.call(_b,key)){continue}val=_b[key];if(val==="var"){_a.push(key)}}return _a}).call(this).sort()};Scope.prototype.assignedVariables=function(){var _a,_b,key,val;_a=[];_b=this.variables;for(key in _b){if(!__hasProp.call(_b,key)){continue}val=_b[key];if(val.assigned){_a.push(""+(key)+" = "+(val.value))}}return _a};Scope.prototype.compiledDeclarations=function(){return this.declaredVariables().join(", ")};Scope.prototype.compiledAssignments=function(){return this.assignedVariables().join(", ")};return Scope}).call(this)})();(function(){var AccessorNode,ArrayNode,AssignNode,BaseNode,CallNode,ClassNode,ClosureNode,CodeNode,CommentNode,ExistenceNode,Expressions,ExtendsNode,ForNode,IDENTIFIER,IS_STRING,IfNode,InNode,IndexNode,LiteralNode,NUMBER,ObjectNode,OpNode,ParamNode,ParentheticalNode,PushNode,RangeNode,ReturnNode,SIMPLENUM,Scope,SliceNode,SplatNode,TAB,TRAILING_WHITESPACE,ThrowNode,TryNode,UTILITIES,ValueNode,WhileNode,_a,compact,del,ends,flatten,helpers,include,indexOf,literal,merge,starts,utility;var __extends=function(child,parent){var ctor=function(){};ctor.prototype=parent.prototype;child.prototype=new ctor();child.prototype.constructor=child;if(typeof parent.extended==="function"){parent.extended(child)}child.__super__=parent.prototype};if(typeof process!=="undefined"&&process!==null){Scope=require("./scope").Scope;helpers=require("./helpers").helpers}else{this.exports=this;helpers=this.helpers;Scope=this.Scope}_a=helpers;compact=_a.compact;flatten=_a.flatten;merge=_a.merge;del=_a.del;include=_a.include;indexOf=_a.indexOf;starts=_a.starts;ends=_a.ends;exports.BaseNode=(function(){BaseNode=function(){this.tags={};return this};BaseNode.prototype.compile=function(o){var closure,top;this.options=merge(o||{});this.tab=o.indent;if(!(this instanceof AccessorNode||this instanceof IndexNode)){del(this.options,"chainRoot")}top=this.topSensitive()?this.options.top:del(this.options,"top");closure=this.isStatement(o)&&!this.isPureStatement()&&!top&&!this.options.asStatement&&!(this instanceof CommentNode)&&!this.containsPureStatement();return closure?this.compileClosure(this.options):this.compileNode(this.options)};BaseNode.prototype.compileClosure=function(o){this.tab=o.indent;o.sharedScope=o.scope;return ClosureNode.wrap(this).compile(o)};BaseNode.prototype.compileReference=function(o,options){var compiled,pair,reference;options||(options={});pair=(function(){if(!((this instanceof CallNode||this.contains(function(n){return n instanceof CallNode}))||(this instanceof ValueNode&&(!(this.base instanceof LiteralNode)||this.hasProperties())))){return[this,this]}else{if(this instanceof ValueNode&&options.assignment){return this.cacheIndexes(o)}else{reference=literal(o.scope.freeVariable());compiled=new AssignNode(reference,this);return[compiled,reference]}}}).call(this);if(options.precompile){return[pair[0].compile(o),pair[1].compile(o)]}return pair};BaseNode.prototype.idt=function(tabs){var idt,num;idt=this.tab||"";num=(tabs||0)+1;while(num-=1){idt+=TAB}return idt};BaseNode.prototype.makeReturn=function(){return new ReturnNode(this)};BaseNode.prototype.contains=function(block){var contains;contains=false;this.traverseChildren(false,function(node){if(block(node)){contains=true;return false}});return contains};BaseNode.prototype.containsType=function(type){return this instanceof type||this.contains(function(n){return n instanceof type})};BaseNode.prototype.containsPureStatement=function(){return this.isPureStatement()||this.contains(function(n){return n.isPureStatement&&n.isPureStatement()})};BaseNode.prototype.traverse=function(block){return this.traverseChildren(true,block)};BaseNode.prototype.toString=function(idt,override){var _b,_c,_d,_e,child,children;idt||(idt="");children=(function(){_b=[];_d=this.collectChildren();for(_c=0,_e=_d.length;_c<_e;_c++){child=_d[_c];_b.push(child.toString(idt+TAB))}return _b}).call(this).join("");return"\n"+idt+(override||this["class"])+children};BaseNode.prototype.eachChild=function(func){var _b,_c,_d,_e,_f,_g,_h,attr,child;if(!(this.children)){return null}_b=[];_d=this.children;for(_c=0,_e=_d.length;_c<_e;_c++){attr=_d[_c];if(this[attr]){_g=flatten([this[attr]]);for(_f=0,_h=_g.length;_f<_h;_f++){child=_g[_f];if(func(child)===false){return null}}}}return _b};BaseNode.prototype.collectChildren=function(){var nodes;nodes=[];this.eachChild(function(node){return nodes.push(node)});return nodes};BaseNode.prototype.traverseChildren=function(crossScope,func){return this.eachChild(function(child){func.apply(this,arguments);if(child instanceof BaseNode){return child.traverseChildren(crossScope,func)}})};BaseNode.prototype["class"]="BaseNode";BaseNode.prototype.children=[];BaseNode.prototype.unwrap=function(){return this};BaseNode.prototype.isStatement=function(){return false};BaseNode.prototype.isPureStatement=function(){return false};BaseNode.prototype.topSensitive=function(){return false};return BaseNode})();exports.Expressions=(function(){Expressions=function(nodes){Expressions.__super__.constructor.call(this);this.expressions=compact(flatten(nodes||[]));return this};__extends(Expressions,BaseNode);Expressions.prototype["class"]="Expressions";Expressions.prototype.children=["expressions"];Expressions.prototype.isStatement=function(){return true};Expressions.prototype.push=function(node){this.expressions.push(node);return this};Expressions.prototype.unshift=function(node){this.expressions.unshift(node);return this};Expressions.prototype.unwrap=function(){return this.expressions.length===1?this.expressions[0]:this};Expressions.prototype.empty=function(){return this.expressions.length===0};Expressions.prototype.makeReturn=function(){var idx,last;idx=this.expressions.length-1;last=this.expressions[idx];if(last instanceof CommentNode){last=this.expressions[idx-=1]}if(!last||last instanceof ReturnNode){return this}this.expressions[idx]=last.makeReturn();return this};Expressions.prototype.compile=function(o){o||(o={});return o.scope?Expressions.__super__.compile.call(this,o):this.compileRoot(o)};Expressions.prototype.compileNode=function(o){var _b,_c,_d,_e,node;return(function(){_b=[];_d=this.expressions;for(_c=0,_e=_d.length;_c<_e;_c++){node=_d[_c];_b.push(this.compileExpression(node,merge(o)))}return _b}).call(this).join("\n")};Expressions.prototype.compileRoot=function(o){var code;o.indent=(this.tab=o.noWrap?"":TAB);o.scope=new Scope(null,this,null);code=this.compileWithDeclarations(o);code=code.replace(TRAILING_WHITESPACE,"");return o.noWrap?code:("(function() {\n"+(code)+"\n})();\n")};Expressions.prototype.compileWithDeclarations=function(o){var code;code=this.compileNode(o);if(o.scope.hasAssignments(this)){code=(""+(this.tab)+"var "+(o.scope.compiledAssignments())+";\n"+(code))}if(!o.globals&&o.scope.hasDeclarations(this)){code=(""+(this.tab)+"var "+(o.scope.compiledDeclarations())+";\n"+(code))}return code};Expressions.prototype.compileExpression=function(node,o){var compiledNode;this.tab=o.indent;compiledNode=node.compile(merge(o,{top:true}));return node.isStatement(o)?compiledNode:(""+(this.idt())+(compiledNode)+";")};return Expressions})();Expressions.wrap=function(nodes){if(nodes.length===1&&nodes[0] instanceof Expressions){return nodes[0]}return new Expressions(nodes)};exports.LiteralNode=(function(){LiteralNode=function(_b){this.value=_b;LiteralNode.__super__.constructor.call(this);return this};__extends(LiteralNode,BaseNode);LiteralNode.prototype["class"]="LiteralNode";LiteralNode.prototype.makeReturn=function(){return this.isStatement()?this:LiteralNode.__super__.makeReturn.call(this)};LiteralNode.prototype.isStatement=function(){return this.value==="break"||this.value==="continue"||this.value==="debugger"};LiteralNode.prototype.isPureStatement=LiteralNode.prototype.isStatement;LiteralNode.prototype.compileNode=function(o){var end,idt;idt=this.isStatement(o)?this.idt():"";end=this.isStatement(o)?";":"";return idt+this.value+end};LiteralNode.prototype.toString=function(idt){return'"'+this.value+'"'};return LiteralNode})();exports.ReturnNode=(function(){ReturnNode=function(_b){this.expression=_b;ReturnNode.__super__.constructor.call(this);return this};__extends(ReturnNode,BaseNode);ReturnNode.prototype["class"]="ReturnNode";ReturnNode.prototype.isStatement=function(){return true};ReturnNode.prototype.isPureStatement=function(){return true};ReturnNode.prototype.children=["expression"];ReturnNode.prototype.makeReturn=function(){return this};ReturnNode.prototype.compile=function(o){var expr;expr=this.expression.makeReturn();if(!(expr instanceof ReturnNode)){return expr.compile(o)}return ReturnNode.__super__.compile.call(this,o)};ReturnNode.prototype.compileNode=function(o){if(this.expression.isStatement(o)){o.asStatement=true}return""+(this.tab)+"return "+(this.expression.compile(o))+";"};return ReturnNode})();exports.ValueNode=(function(){ValueNode=function(_b,_c){this.properties=_c;this.base=_b;ValueNode.__super__.constructor.call(this);this.properties||(this.properties=[]);return this};__extends(ValueNode,BaseNode);ValueNode.prototype["class"]="ValueNode";ValueNode.prototype.children=["base","properties"];ValueNode.prototype.push=function(prop){this.properties.push(prop);return this};ValueNode.prototype.hasProperties=function(){return !!this.properties.length};ValueNode.prototype.isArray=function(){return this.base instanceof ArrayNode&&!this.hasProperties()};ValueNode.prototype.isObject=function(){return this.base instanceof ObjectNode&&!this.hasProperties()};ValueNode.prototype.isSplice=function(){return this.hasProperties()&&this.properties[this.properties.length-1] instanceof SliceNode};ValueNode.prototype.makeReturn=function(){return this.hasProperties()?ValueNode.__super__.makeReturn.call(this):this.base.makeReturn()};ValueNode.prototype.unwrap=function(){return this.properties.length?this:this.base};ValueNode.prototype.isStatement=function(o){return this.base.isStatement&&this.base.isStatement(o)&&!this.hasProperties()};ValueNode.prototype.isNumber=function(){return this.base instanceof LiteralNode&&this.base.value.match(NUMBER)};ValueNode.prototype.cacheIndexes=function(o){var _b,_c,_d,copy,i;copy=new ValueNode(this.base,this.properties.slice(0));_c=copy.properties;for(_b=0,_d=_c.length;_b<_d;_b++){(function(){var _e,index,indexVar;var i=_b;var prop=_c[_b];if(prop instanceof IndexNode&&prop.contains(function(n){return n instanceof CallNode})){_e=prop.index.compileReference(o);index=_e[0];indexVar=_e[1];this.properties[i]=new IndexNode(index);return(copy.properties[i]=new IndexNode(indexVar))}}).call(this)}return[this,copy]};ValueNode.prototype.compile=function(o){return !o.top||this.properties.length?ValueNode.__super__.compile.call(this,o):this.base.compile(o)};ValueNode.prototype.compileNode=function(o){var _b,_c,_d,baseline,complete,i,only,op,props;only=del(o,"onlyFirst");op=this.tags.operation;props=only?this.properties.slice(0,this.properties.length-1):this.properties;o.chainRoot||(o.chainRoot=this);if(this.parenthetical&&!props.length){this.base.parenthetical=true}baseline=this.base.compile(o);if(this.hasProperties()&&(this.base instanceof ObjectNode||this.isNumber())){baseline=("("+(baseline)+")")}complete=(this.last=baseline);_c=props;for(_b=0,_d=_c.length;_b<_d;_b++){(function(){var part,temp;var i=_b;var prop=_c[_b];this.source=baseline;if(prop.soakNode){if(this.base instanceof CallNode||this.base.contains(function(n){return n instanceof CallNode})&&i===0){temp=o.scope.freeVariable();complete=("("+(baseline=temp)+" = ("+(complete)+"))")}complete=i===0?("(typeof "+(complete)+' === "undefined" || '+(baseline)+" === null) ? undefined : "):(""+(complete)+" == null ? undefined : ");return complete+=(baseline+=prop.compile(o))}else{part=prop.compile(o);baseline+=part;complete+=part;return(this.last=part)}}).call(this)}return op&&this.wrapped?("("+(complete)+")"):complete};return ValueNode})();exports.CommentNode=(function(){CommentNode=function(_b){this.comment=_b;CommentNode.__super__.constructor.call(this);return this};__extends(CommentNode,BaseNode);CommentNode.prototype["class"]="CommentNode";CommentNode.prototype.isStatement=function(){return true};CommentNode.prototype.makeReturn=function(){return this};CommentNode.prototype.compileNode=function(o){return this.tab+"/*"+this.comment.replace(/\r?\n/g,"\n"+this.tab)+"*/"};return CommentNode})();exports.CallNode=(function(){CallNode=function(variable,_b,_c){this.exist=_c;this.args=_b;CallNode.__super__.constructor.call(this);this.isNew=false;this.isSuper=variable==="super";this.variable=this.isSuper?null:variable;this.args||(this.args=[]);this.first=(this.last="");this.compileSplatArguments=function(o){return SplatNode.compileSplattedArray.call(this,this.args,o)};return this};__extends(CallNode,BaseNode);CallNode.prototype["class"]="CallNode";CallNode.prototype.children=["variable","args"];CallNode.prototype.newInstance=function(){this.isNew=true;return this};CallNode.prototype.prefix=function(){return this.isNew?"new ":""};CallNode.prototype.superReference=function(o){var meth,methname;methname=o.scope.method.name;return(meth=(function(){if(o.scope.method.proto){return""+(o.scope.method.proto)+".__super__."+(methname)}else{if(methname){return""+(methname)+".__super__.constructor"}else{throw new Error("cannot call super on an anonymous function.")}}})())};CallNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,_i,arg,args,compilation;if(!(o.chainRoot)){o.chainRoot=this}if(this.exist){_b=this.variable.compileReference(o,{precompile:true});this.first=_b[0];this.meth=_b[1];this.first=("(typeof "+(this.first)+' === "function" ? ');this.last=" : undefined)"}else{if(this.variable){this.meth=this.variable.compile(o)}}_d=this.args;for(_c=0,_e=_d.length;_c<_e;_c++){arg=_d[_c];if(arg instanceof SplatNode){compilation=this.compileSplat(o)}}if(!compilation){args=(function(){_f=[];_h=this.args;for(_g=0,_i=_h.length;_g<_i;_g++){arg=_h[_g];_f.push((function(){arg.parenthetical=true;return arg.compile(o)})())}return _f}).call(this);compilation=this.isSuper?this.compileSuper(args.join(", "),o):(""+(this.first)+(this.prefix())+(this.meth)+"("+(args.join(", "))+")"+(this.last))}return compilation};CallNode.prototype.compileSuper=function(args,o){return""+(this.superReference(o))+".call(this"+(args.length?", ":"")+(args)+")"};CallNode.prototype.compileSplat=function(o){var meth,obj,temp;meth=this.meth||this.superReference(o);obj=this.variable&&this.variable.source||"this";if(obj.match(/\(/)){temp=o.scope.freeVariable();obj=temp;meth=("("+(temp)+" = "+(this.variable.source)+")"+(this.variable.last))}if(this.isNew){utility("extends");return""+(this.first)+"(function() {\n"+(this.idt(1))+"var ctor = function(){};\n"+(this.idt(1))+"__extends(ctor, "+(meth)+");\n"+(this.idt(1))+"return "+(meth)+".apply(new ctor, "+(this.compileSplatArguments(o))+");\n"+(this.tab)+"}).call(this)"+(this.last)}else{return""+(this.first)+(this.prefix())+(meth)+".apply("+(obj)+", "+(this.compileSplatArguments(o))+")"+(this.last)}};return CallNode})();exports.ExtendsNode=(function(){ExtendsNode=function(_b,_c){this.parent=_c;this.child=_b;ExtendsNode.__super__.constructor.call(this);return this};__extends(ExtendsNode,BaseNode);ExtendsNode.prototype["class"]="ExtendsNode";ExtendsNode.prototype.children=["child","parent"];ExtendsNode.prototype.compileNode=function(o){var ref;ref=new ValueNode(literal(utility("extends")));return(new CallNode(ref,[this.child,this.parent])).compile(o)};return ExtendsNode})();exports.AccessorNode=(function(){AccessorNode=function(_b,tag){this.name=_b;AccessorNode.__super__.constructor.call(this);this.prototype=tag==="prototype"?".prototype":"";this.soakNode=tag==="soak";return this};__extends(AccessorNode,BaseNode);AccessorNode.prototype["class"]="AccessorNode";AccessorNode.prototype.children=["name"];AccessorNode.prototype.compileNode=function(o){var name,namePart;name=this.name.compile(o);o.chainRoot.wrapped||(o.chainRoot.wrapped=this.soakNode);namePart=name.match(IS_STRING)?("["+(name)+"]"):("."+(name));return this.prototype+namePart};return AccessorNode})();exports.IndexNode=(function(){IndexNode=function(_b){this.index=_b;IndexNode.__super__.constructor.call(this);return this};__extends(IndexNode,BaseNode);IndexNode.prototype["class"]="IndexNode";IndexNode.prototype.children=["index"];IndexNode.prototype.compileNode=function(o){var idx,prefix;o.chainRoot.wrapped||(o.chainRoot.wrapped=this.soakNode);idx=this.index.compile(o);prefix=this.proto?".prototype":"";return""+(prefix)+"["+(idx)+"]"};return IndexNode})();exports.RangeNode=(function(){RangeNode=function(_b,_c,exclusive){this.to=_c;this.from=_b;RangeNode.__super__.constructor.call(this);this.exclusive=!!exclusive;this.equals=this.exclusive?"":"=";return this};__extends(RangeNode,BaseNode);RangeNode.prototype["class"]="RangeNode";RangeNode.prototype.children=["from","to"];RangeNode.prototype.compileVariables=function(o){var _b,_c,_d,parts;o=merge(o,{top:true});_b=this.from.compileReference(o,{precompile:true});this.from=_b[0];this.fromVar=_b[1];_c=this.to.compileReference(o,{precompile:true});this.to=_c[0];this.toVar=_c[1];_d=[this.fromVar.match(SIMPLENUM),this.toVar.match(SIMPLENUM)];this.fromNum=_d[0];this.toNum=_d[1];parts=[];if(this.from!==this.fromVar){parts.push(this.from)}if(this.to!==this.toVar){parts.push(this.to)}return parts.length?(""+(parts.join("; "))+"; "):""};RangeNode.prototype.compileNode=function(o){var compare,idx,incr,intro,step,stepPart,vars;if(!(o.index)){return this.compileArray(o)}if(this.fromNum&&this.toNum){return this.compileSimple(o)}idx=del(o,"index");step=del(o,"step");vars=(""+(idx)+" = "+(this.fromVar));intro=("("+(this.fromVar)+" <= "+(this.toVar)+" ? "+(idx));compare=(""+(intro)+" <"+(this.equals)+" "+(this.toVar)+" : "+(idx)+" >"+(this.equals)+" "+(this.toVar)+")");stepPart=step?step.compile(o):"1";incr=step?(""+(idx)+" += "+(stepPart)):(""+(intro)+" += "+(stepPart)+" : "+(idx)+" -= "+(stepPart)+")");return""+(vars)+"; "+(compare)+"; "+(incr)};RangeNode.prototype.compileSimple=function(o){var _b,from,idx,step,to;_b=[parseInt(this.fromNum,10),parseInt(this.toNum,10)];from=_b[0];to=_b[1];idx=del(o,"index");step=del(o,"step");step&&(step=(""+(idx)+" += "+(step.compile(o))));return from<=to?(""+(idx)+" = "+(from)+"; "+(idx)+" <"+(this.equals)+" "+(to)+"; "+(step||(""+(idx)+"++"))):(""+(idx)+" = "+(from)+"; "+(idx)+" >"+(this.equals)+" "+(to)+"; "+(step||(""+(idx)+"--")))};RangeNode.prototype.compileArray=function(o){var _b,_c,body,clause,i,idt,post,pre,range,result,vars;idt=this.idt(1);vars=this.compileVariables(merge(o,{indent:idt}));if(this.fromNum&&this.toNum&&(Math.abs(+this.fromNum-+this.toNum)<=20)){range=(function(){_c=[];for(var _b=+this.fromNum;+this.fromNum<=+this.toNum?_b<=+this.toNum:_b>=+this.toNum;+this.fromNum<=+this.toNum?_b+=1:_b-=1){_c.push(_b)}return _c}).call(this);if(this.exclusive){range.pop()}return("["+(range.join(", "))+"]")}i=o.scope.freeVariable();result=o.scope.freeVariable();pre=("\n"+(idt)+(result)+" = []; "+(vars));if(this.fromNum&&this.toNum){o.index=i;body=this.compileSimple(o)}else{clause=(""+(this.fromVar)+" <= "+(this.toVar)+" ?");body=("var "+(i)+" = "+(this.fromVar)+"; "+(clause)+" "+(i)+" <"+(this.equals)+" "+(this.toVar)+" : "+(i)+" >"+(this.equals)+" "+(this.toVar)+"; "+(clause)+" "+(i)+" += 1 : "+(i)+" -= 1")}post=("{ "+(result)+".push("+(i)+"); }\n"+(idt)+"return "+(result)+";\n"+(o.indent));return"(function() {"+(pre)+"\n"+(idt)+"for ("+(body)+")"+(post)+"}).call(this)"};return RangeNode})();exports.SliceNode=(function(){SliceNode=function(_b){this.range=_b;SliceNode.__super__.constructor.call(this);return this};__extends(SliceNode,BaseNode);SliceNode.prototype["class"]="SliceNode";SliceNode.prototype.children=["range"];SliceNode.prototype.compileNode=function(o){var from,to;from=this.range.from?this.range.from.compile(o):"0";to=this.range.to?this.range.to.compile(o):"";to+=(!to||this.range.exclusive?"":" + 1");if(to){to=", "+to}return".slice("+(from)+(to)+")"};return SliceNode})();exports.ObjectNode=(function(){ObjectNode=function(props){ObjectNode.__super__.constructor.call(this);this.objects=(this.properties=props||[]);return this};__extends(ObjectNode,BaseNode);ObjectNode.prototype["class"]="ObjectNode";ObjectNode.prototype.children=["properties"];ObjectNode.prototype.topSensitive=function(){return true};ObjectNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,i,indent,join,lastNoncom,nonComments,obj,prop,props,top;top=del(o,"top");o.indent=this.idt(1);nonComments=(function(){_b=[];_d=this.properties;for(_c=0,_e=_d.length;_c<_e;_c++){prop=_d[_c];if(!(prop instanceof CommentNode)){_b.push(prop)}}return _b}).call(this);lastNoncom=nonComments[nonComments.length-1];props=(function(){_f=[];_g=this.properties;for(i=0,_h=_g.length;i<_h;i++){prop=_g[i];_f.push((function(){join=",\n";if((prop===lastNoncom)||(prop instanceof CommentNode)){join="\n"}if(i===this.properties.length-1){join=""}indent=prop instanceof CommentNode?"":this.idt(1);if(!(prop instanceof AssignNode||prop instanceof CommentNode)){prop=new AssignNode(prop,prop,"object")}return indent+prop.compile(o)+join}).call(this))}return _f}).call(this);props=props.join("");obj="{"+(props?"\n"+props+"\n"+this.idt():"")+"}";return top?("("+(obj)+")"):obj};return ObjectNode})();exports.ArrayNode=(function(){ArrayNode=function(_b){this.objects=_b;ArrayNode.__super__.constructor.call(this);this.objects||(this.objects=[]);this.compileSplatLiteral=function(o){return SplatNode.compileSplattedArray.call(this,this.objects,o)};return this};__extends(ArrayNode,BaseNode);ArrayNode.prototype["class"]="ArrayNode";ArrayNode.prototype.children=["objects"];ArrayNode.prototype.compileNode=function(o){var _b,_c,code,i,obj,objects;o.indent=this.idt(1);objects=[];_b=this.objects;for(i=0,_c=_b.length;i<_c;i++){obj=_b[i];code=obj.compile(o);if(obj instanceof SplatNode){return this.compileSplatLiteral(o)}else{if(obj instanceof CommentNode){objects.push("\n"+(code)+"\n"+(o.indent))}else{if(i===this.objects.length-1){objects.push(code)}else{objects.push(""+(code)+", ")}}}}objects=objects.join("");return indexOf(objects,"\n")>=0?("[\n"+(this.idt(1))+(objects)+"\n"+(this.tab)+"]"):("["+(objects)+"]")};return ArrayNode})();exports.ClassNode=(function(){ClassNode=function(_b,_c,_d){this.properties=_d;this.parent=_c;this.variable=_b;ClassNode.__super__.constructor.call(this);this.properties||(this.properties=[]);this.returns=false;return this};__extends(ClassNode,BaseNode);ClassNode.prototype["class"]="ClassNode";ClassNode.prototype.children=["variable","parent","properties"];ClassNode.prototype.isStatement=function(){return true};ClassNode.prototype.makeReturn=function(){this.returns=true;return this};ClassNode.prototype.compileNode=function(o){var _b,_c,_d,_e,access,applied,className,constScope,construct,constructor,extension,func,me,pname,prop,props,pvar,returns,val;if(this.variable==="__temp__"){this.variable=literal(o.scope.freeVariable())}extension=this.parent&&new ExtendsNode(this.variable,this.parent);props=new Expressions();o.top=true;me=null;className=this.variable.compile(o);constScope=null;if(this.parent){applied=new ValueNode(this.parent,[new AccessorNode(literal("apply"))]);constructor=new CodeNode([],new Expressions([new CallNode(applied,[literal("this"),literal("arguments")])]))}else{constructor=new CodeNode()}_c=this.properties;for(_b=0,_d=_c.length;_b<_d;_b++){prop=_c[_b];_e=[prop.variable,prop.value];pvar=_e[0];func=_e[1];if(pvar&&pvar.base.value==="constructor"&&func instanceof CodeNode){if(func.bound){throw new Error("cannot define a constructor as a bound function.")}func.name=className;func.body.push(new ReturnNode(literal("this")));this.variable=new ValueNode(this.variable);this.variable.namespaced=include(func.name,".");constructor=func;continue}if(func instanceof CodeNode&&func.bound){if(prop.context==="this"){func.context=className}else{func.bound=false;constScope||(constScope=new Scope(o.scope,constructor.body,constructor));me||(me=constScope.freeVariable());pname=pvar.compile(o);if(constructor.body.empty()){constructor.body.push(new ReturnNode(literal("this")))}constructor.body.unshift(literal("this."+(pname)+" = function(){ return "+(className)+".prototype."+(pname)+".apply("+(me)+", arguments); }"))}}if(pvar){access=prop.context==="this"?pvar.base.properties[0]:new AccessorNode(pvar,"prototype");val=new ValueNode(this.variable,[access]);prop=new AssignNode(val,func)}props.push(prop)}if(me){constructor.body.unshift(literal(""+(me)+" = this"))}construct=this.idt()+(new AssignNode(this.variable,constructor)).compile(merge(o,{sharedScope:constScope}))+";";props=!props.empty()?"\n"+props.compile(o):"";extension=extension?"\n"+this.idt()+extension.compile(o)+";":"";returns=this.returns?"\n"+new ReturnNode(this.variable).compile(o):"";return construct+extension+props+returns};return ClassNode})();exports.AssignNode=(function(){AssignNode=function(_b,_c,_d){this.context=_d;this.value=_c;this.variable=_b;AssignNode.__super__.constructor.call(this);return this};__extends(AssignNode,BaseNode);AssignNode.prototype.PROTO_ASSIGN=/^(\S+)\.prototype/;AssignNode.prototype.LEADING_DOT=/^\.(prototype\.)?/;AssignNode.prototype["class"]="AssignNode";AssignNode.prototype.children=["variable","value"];AssignNode.prototype.topSensitive=function(){return true};AssignNode.prototype.isValue=function(){return this.variable instanceof ValueNode};AssignNode.prototype.makeReturn=function(){if(this.isStatement()){return new Expressions([this,new ReturnNode(this.variable)])}else{return AssignNode.__super__.makeReturn.call(this)}};AssignNode.prototype.isStatement=function(){return this.isValue()&&(this.variable.isArray()||this.variable.isObject())};AssignNode.prototype.compileNode=function(o){var last,match,name,proto,stmt,top,val;top=del(o,"top");if(this.isStatement(o)){return this.compilePatternMatch(o)}if(this.isValue()&&this.variable.isSplice()){return this.compileSplice(o)}stmt=del(o,"asStatement");name=this.variable.compile(o);last=this.isValue()?this.variable.last.replace(this.LEADING_DOT,""):name;match=name.match(this.PROTO_ASSIGN);proto=match&&match[1];if(this.value instanceof CodeNode){if(last.match(IDENTIFIER)){this.value.name=last}if(proto){this.value.proto=proto}}val=this.value.compile(o);if(this.context==="object"){return(""+(name)+": "+(val))}if(!(this.isValue()&&(this.variable.hasProperties()||this.variable.namespaced))){o.scope.find(name)}val=(""+(name)+" = "+(val));if(stmt){return(""+(this.tab)+(val)+";")}return top||this.parenthetical?val:("("+(val)+")")};AssignNode.prototype.compilePatternMatch=function(o){var _b,_c,_d,accessClass,assigns,code,i,idx,isString,obj,oindex,olength,splat,val,valVar,value;valVar=o.scope.freeVariable();value=this.value.isStatement(o)?ClosureNode.wrap(this.value):this.value;assigns=[(""+(this.tab)+(valVar)+" = "+(value.compile(o))+";")];o.top=true;o.asStatement=true;splat=false;_b=this.variable.base.objects;for(i=0,_c=_b.length;i<_c;i++){obj=_b[i];idx=i;if(this.variable.isObject()){if(obj instanceof AssignNode){_d=[obj.value,obj.variable.base];obj=_d[0];idx=_d[1]}else{idx=obj}}if(!(obj instanceof ValueNode||obj instanceof SplatNode)){throw new Error("pattern matching must use only identifiers on the left-hand side.")}isString=idx.value&&idx.value.match(IS_STRING);accessClass=isString||this.variable.isArray()?IndexNode:AccessorNode;if(obj instanceof SplatNode&&!splat){val=literal(obj.compileValue(o,valVar,oindex=indexOf(this.variable.base.objects,obj),(olength=this.variable.base.objects.length)-oindex-1));splat=true}else{if(typeof idx!=="object"){idx=literal(splat?(""+(valVar)+".length - "+(olength-idx)):idx)}val=new ValueNode(literal(valVar),[new accessClass(idx)])}assigns.push(new AssignNode(obj,val).compile(o))}code=assigns.join("\n");return code};AssignNode.prototype.compileSplice=function(o){var from,l,name,plus,range,to,val;name=this.variable.compile(merge(o,{onlyFirst:true}));l=this.variable.properties.length;range=this.variable.properties[l-1].range;plus=range.exclusive?"":" + 1";from=range.from?range.from.compile(o):"0";to=range.to?range.to.compile(o)+" - "+from+plus:(""+(name)+".length");val=this.value.compile(o);return""+(name)+".splice.apply("+(name)+", ["+(from)+", "+(to)+"].concat("+(val)+"))"};return AssignNode})();exports.CodeNode=(function(){CodeNode=function(_b,_c,tag){this.body=_c;this.params=_b;CodeNode.__super__.constructor.call(this);this.params||(this.params=[]);this.body||(this.body=new Expressions());this.bound=tag==="boundfunc";if(this.bound){this.context="this"}return this};__extends(CodeNode,BaseNode);CodeNode.prototype["class"]="CodeNode";CodeNode.prototype.children=["params","body"];CodeNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,code,empty,func,i,param,params,sharedScope,splat,top,value;sharedScope=del(o,"sharedScope");top=del(o,"top");o.scope=sharedScope||new Scope(o.scope,this.body,this);o.top=true;o.indent=this.idt(1);empty=this.body.expressions.length===0;del(o,"noWrap");del(o,"globals");splat=undefined;params=[];_b=this.params;for(i=0,_c=_b.length;i<_c;i++){param=_b[i];if(splat){if(param.attach){param.assign=new AssignNode(new ValueNode(literal("this"),[new AccessorNode(param.value)]));this.body.expressions.splice(splat.index+1,0,param.assign)}splat.trailings.push(param)}else{if(param.attach){_d=param;value=_d.value;_e=[literal(o.scope.freeVariable()),param.splat];param=_e[0];param.splat=_e[1];this.body.unshift(new AssignNode(new ValueNode(literal("this"),[new AccessorNode(value)]),param))}if(param.splat){splat=new SplatNode(param.value);splat.index=i;splat.trailings=[];splat.arglength=this.params.length;this.body.unshift(splat)}else{params.push(param)}}}params=(function(){_f=[];_h=params;for(_g=0,_i=_h.length;_g<_i;_g++){param=_h[_g];_f.push(param.compile(o))}return _f})();if(!(empty)){this.body.makeReturn()}_k=params;for(_j=0,_l=_k.length;_j<_l;_j++){param=_k[_j];(o.scope.parameter(param))}code=this.body.expressions.length?("\n"+(this.body.compileWithDeclarations(o))+"\n"):"";func=("function("+(params.join(", "))+") {"+(code)+(code&&this.tab)+"}");if(this.bound){return(""+(utility("bind"))+"("+(func)+", "+(this.context)+")")}return top?("("+(func)+")"):func};CodeNode.prototype.topSensitive=function(){return true};CodeNode.prototype.traverseChildren=function(crossScope,func){if(crossScope){return CodeNode.__super__.traverseChildren.call(this,crossScope,func)}};CodeNode.prototype.toString=function(idt){var _b,_c,_d,_e,child,children;idt||(idt="");children=(function(){_b=[];_d=this.collectChildren();for(_c=0,_e=_d.length;_c<_e;_c++){child=_d[_c];_b.push(child.toString(idt+TAB))}return _b}).call(this).join("");return"\n"+idt+children};return CodeNode})();exports.ParamNode=(function(){ParamNode=function(_b,_c,_d){this.splat=_d;this.attach=_c;this.name=_b;ParamNode.__super__.constructor.call(this);this.value=literal(this.name);return this};__extends(ParamNode,BaseNode);ParamNode.prototype["class"]="ParamNode";ParamNode.prototype.children=["name"];ParamNode.prototype.compileNode=function(o){return this.value.compile(o)};ParamNode.prototype.toString=function(idt){return this.attach?(literal("@"+this.name)).toString(idt):this.value.toString(idt)};return ParamNode})();exports.SplatNode=(function(){SplatNode=function(name){SplatNode.__super__.constructor.call(this);if(!(name.compile)){name=literal(name)}this.name=name;return this};__extends(SplatNode,BaseNode);SplatNode.prototype["class"]="SplatNode";SplatNode.prototype.children=["name"];SplatNode.prototype.compileNode=function(o){var _b;return(typeof(_b=this.index)!=="undefined"&&_b!==null)?this.compileParam(o):this.name.compile(o)};SplatNode.prototype.compileParam=function(o){var _b,_c,assign,end,idx,len,name,pos,trailing,variadic;name=this.name.compile(o);o.scope.find(name);end="";if(this.trailings.length){len=o.scope.freeVariable();o.scope.assign(len,"arguments.length");variadic=o.scope.freeVariable();o.scope.assign(variadic,len+" >= "+this.arglength);end=this.trailings.length?(", "+(len)+" - "+(this.trailings.length)):null;_b=this.trailings;for(idx=0,_c=_b.length;idx<_c;idx++){trailing=_b[idx];if(trailing.attach){assign=trailing.assign;trailing=literal(o.scope.freeVariable());assign.value=trailing}pos=this.trailings.length-idx;o.scope.assign(trailing.compile(o),"arguments["+(variadic)+" ? "+(len)+" - "+(pos)+" : "+(this.index+idx)+"]")}}return""+(name)+" = "+(utility("slice"))+".call(arguments, "+(this.index)+(end)+")"};SplatNode.prototype.compileValue=function(o,name,index,trailings){var trail;trail=trailings?(", "+(name)+".length - "+(trailings)):"";return""+(utility("slice"))+".call("+(name)+", "+(index)+(trail)+")"};SplatNode.compileSplattedArray=function(list,o){var _b,_c,arg,args,code,i,last,prev;args=[];_b=list;for(i=0,_c=_b.length;i<_c;i++){arg=_b[i];code=arg.compile(o);prev=args[(last=args.length-1)];if(!(arg instanceof SplatNode)){if(prev&&starts(prev,"[")&&ends(prev,"]")){args[last]=(""+(prev.substr(0,prev.length-1))+", "+(code)+"]");continue}else{if(prev&&starts(prev,".concat([")&&ends(prev,"])")){args[last]=(""+(prev.substr(0,prev.length-2))+", "+(code)+"])");continue}else{code=("["+(code)+"]")}}}args.push(i===0?code:(".concat("+(code)+")"))}return args.join("")};return SplatNode}).call(this);exports.WhileNode=(function(){WhileNode=function(condition,opts){WhileNode.__super__.constructor.call(this);if(opts&&opts.invert){if(condition instanceof OpNode){condition=new ParentheticalNode(condition)}condition=new OpNode("!",condition)}this.condition=condition;this.guard=opts&&opts.guard;return this};__extends(WhileNode,BaseNode);WhileNode.prototype["class"]="WhileNode";WhileNode.prototype.children=["condition","guard","body"];WhileNode.prototype.isStatement=function(){return true};WhileNode.prototype.addBody=function(body){this.body=body;return this};WhileNode.prototype.makeReturn=function(){this.returns=true;return this};WhileNode.prototype.topSensitive=function(){return true};WhileNode.prototype.compileNode=function(o){var cond,post,pre,rvar,set,top;top=del(o,"top")&&!this.returns;o.indent=this.idt(1);o.top=true;this.condition.parenthetical=true;cond=this.condition.compile(o);set="";if(!(top)){rvar=o.scope.freeVariable();set=(""+(this.tab)+(rvar)+" = [];\n");if(this.body){this.body=PushNode.wrap(rvar,this.body)}}pre=(""+(set)+(this.tab)+"while ("+(cond)+")");if(this.guard){this.body=Expressions.wrap([new IfNode(this.guard,this.body)])}if(this.returns){post="\n"+new ReturnNode(literal(rvar)).compile(merge(o,{indent:this.idt()}))}else{post=""}return""+(pre)+" {\n"+(this.body.compile(o))+"\n"+(this.tab)+"}"+(post)};return WhileNode})();exports.OpNode=(function(){OpNode=function(_b,_c,_d,flip){this.second=_d;this.first=_c;this.operator=_b;OpNode.__super__.constructor.call(this);this.operator=this.CONVERSIONS[this.operator]||this.operator;this.flip=!!flip;if(this.first instanceof ValueNode&&this.first.base instanceof ObjectNode){this.first=new ParentheticalNode(this.first)}this.first.tags.operation=true;if(this.second){this.second.tags.operation=true}return this};__extends(OpNode,BaseNode);OpNode.prototype.CONVERSIONS={"==":"===","!=":"!=="};OpNode.prototype.INVERSIONS={"!==":"===","===":"!=="};OpNode.prototype.CHAINABLE=["<",">",">=","<=","===","!=="];OpNode.prototype.ASSIGNMENT=["||=","&&=","?="];OpNode.prototype.PREFIX_OPERATORS=["typeof","delete"];OpNode.prototype["class"]="OpNode";OpNode.prototype.children=["first","second"];OpNode.prototype.isUnary=function(){return !this.second};OpNode.prototype.isInvertible=function(){var _b;return(("==="===(_b=this.operator)||"!=="===_b))&&!(this.first instanceof OpNode)&&!(this.second instanceof OpNode)};OpNode.prototype.isMutator=function(){var _b;return ends(this.operator,"=")&&!(("==="===(_b=this.operator)||"!=="===_b))};OpNode.prototype.isChainable=function(){return include(this.CHAINABLE,this.operator)};OpNode.prototype.invert=function(){return(this.operator=this.INVERSIONS[this.operator])};OpNode.prototype.toString=function(idt){return OpNode.__super__.toString.call(this,idt,this["class"]+" "+this.operator)};OpNode.prototype.compileNode=function(o){if(this.isChainable()&&this.first.unwrap() instanceof OpNode&&this.first.unwrap().isChainable()){return this.compileChain(o)}if(indexOf(this.ASSIGNMENT,this.operator)>=0){return this.compileAssignment(o)}if(this.isUnary()){return this.compileUnary(o)}if(this.operator==="?"){return this.compileExistence(o)}if(this.first instanceof OpNode&&this.first.isMutator()){this.first=new ParentheticalNode(this.first)}if(this.second instanceof OpNode&&this.second.isMutator()){this.second=new ParentheticalNode(this.second)}return[this.first.compile(o),this.operator,this.second.compile(o)].join(" ")};OpNode.prototype.compileChain=function(o){var _b,_c,first,second,shared;shared=this.first.unwrap().second;if(shared.containsType(CallNode)){_b=shared.compileReference(o);this.first.second=_b[0];shared=_b[1]}_c=[this.first.compile(o),this.second.compile(o),shared.compile(o)];first=_c[0];second=_c[1];shared=_c[2];return"("+(first)+") && ("+(shared)+" "+(this.operator)+" "+(second)+")"};OpNode.prototype.compileAssignment=function(o){var _b,first,firstVar,second;_b=this.first.compileReference(o,{precompile:true,assignment:true});first=_b[0];firstVar=_b[1];second=this.second.compile(o);if(this.second instanceof OpNode){second=("("+(second)+")")}if(first.match(IDENTIFIER)){o.scope.find(first)}if(this.operator==="?="){return(""+(first)+" = "+(ExistenceNode.compileTest(o,literal(firstVar))[0])+" ? "+(firstVar)+" : "+(second))}return""+(first)+" "+(this.operator.substr(0,2))+" ("+(firstVar)+" = "+(second)+")"};OpNode.prototype.compileExistence=function(o){var _b,ref,test;_b=ExistenceNode.compileTest(o,this.first);test=_b[0];ref=_b[1];return""+(test)+" ? "+(ref)+" : "+(this.second.compile(o))};OpNode.prototype.compileUnary=function(o){var parts,space;space=indexOf(this.PREFIX_OPERATORS,this.operator)>=0?" ":"";parts=[this.operator,space,this.first.compile(o)];if(this.flip){parts=parts.reverse()}return parts.join("")};return OpNode})();exports.InNode=(function(){InNode=function(_b,_c){this.array=_c;this.object=_b;InNode.__super__.constructor.call(this);return this};__extends(InNode,BaseNode);InNode.prototype["class"]="InNode";InNode.prototype.children=["object","array"];InNode.prototype.isArray=function(){return this.array instanceof ValueNode&&this.array.isArray()};InNode.prototype.compileNode=function(o){var _b;_b=this.object.compileReference(o,{precompile:true});this.obj1=_b[0];this.obj2=_b[1];return this.isArray()?this.compileOrTest(o):this.compileLoopTest(o)};InNode.prototype.compileOrTest=function(o){var _b,_c,_d,i,item,tests;tests=(function(){_b=[];_c=this.array.base.objects;for(i=0,_d=_c.length;i<_d;i++){item=_c[i];_b.push(""+(item.compile(o))+" === "+(i?this.obj2:this.obj1))}return _b}).call(this);return"("+(tests.join(" || "))+")"};InNode.prototype.compileLoopTest=function(o){var _b,_c,i,l,prefix;_b=this.array.compileReference(o,{precompile:true});this.arr1=_b[0];this.arr2=_b[1];_c=[o.scope.freeVariable(),o.scope.freeVariable()];i=_c[0];l=_c[1];prefix=this.obj1!==this.obj2?this.obj1+"; ":"";return"(function(){ "+(prefix)+"for (var "+(i)+"=0, "+(l)+"="+(this.arr1)+".length; "+(i)+"<"+(l)+"; "+(i)+"++) { if ("+(this.arr2)+"["+(i)+"] === "+(this.obj2)+") return true; } return false; }).call(this)"};return InNode})();exports.TryNode=(function(){TryNode=function(_b,_c,_d,_e){this.ensure=_e;this.recovery=_d;this.error=_c;this.attempt=_b;TryNode.__super__.constructor.call(this);return this};__extends(TryNode,BaseNode);TryNode.prototype["class"]="TryNode";TryNode.prototype.children=["attempt","recovery","ensure"];TryNode.prototype.isStatement=function(){return true};TryNode.prototype.makeReturn=function(){if(this.attempt){this.attempt=this.attempt.makeReturn()}if(this.recovery){this.recovery=this.recovery.makeReturn()}return this};TryNode.prototype.compileNode=function(o){var attemptPart,catchPart,errorPart,finallyPart;o.indent=this.idt(1);o.top=true;attemptPart=this.attempt.compile(o);errorPart=this.error?(" ("+(this.error.compile(o))+") "):" ";catchPart=this.recovery?(" catch"+(errorPart)+"{\n"+(this.recovery.compile(o))+"\n"+(this.tab)+"}"):"";finallyPart=(this.ensure||"")&&" finally {\n"+this.ensure.compile(merge(o))+("\n"+(this.tab)+"}");return""+(this.tab)+"try {\n"+(attemptPart)+"\n"+(this.tab)+"}"+(catchPart)+(finallyPart)};return TryNode})();exports.ThrowNode=(function(){ThrowNode=function(_b){this.expression=_b;ThrowNode.__super__.constructor.call(this);return this};__extends(ThrowNode,BaseNode);ThrowNode.prototype["class"]="ThrowNode";ThrowNode.prototype.children=["expression"];ThrowNode.prototype.isStatement=function(){return true};ThrowNode.prototype.makeReturn=function(){return this};ThrowNode.prototype.compileNode=function(o){return""+(this.tab)+"throw "+(this.expression.compile(o))+";"};return ThrowNode})();exports.ExistenceNode=(function(){ExistenceNode=function(_b){this.expression=_b;ExistenceNode.__super__.constructor.call(this);return this};__extends(ExistenceNode,BaseNode);ExistenceNode.prototype["class"]="ExistenceNode";ExistenceNode.prototype.children=["expression"];ExistenceNode.prototype.compileNode=function(o){var test;test=ExistenceNode.compileTest(o,this.expression)[0];return this.parenthetical?test.substring(1,test.length-1):test};ExistenceNode.compileTest=function(o,variable){var _b,first,second;_b=variable.compileReference(o,{precompile:true});first=_b[0];second=_b[1];return[("(typeof "+(first)+' !== "undefined" && '+(second)+" !== null)"),second]};return ExistenceNode}).call(this);exports.ParentheticalNode=(function(){ParentheticalNode=function(_b){this.expression=_b;ParentheticalNode.__super__.constructor.call(this);return this};__extends(ParentheticalNode,BaseNode);ParentheticalNode.prototype["class"]="ParentheticalNode";ParentheticalNode.prototype.children=["expression"];ParentheticalNode.prototype.isStatement=function(o){return this.expression.isStatement(o)};ParentheticalNode.prototype.makeReturn=function(){return this.expression.makeReturn()};ParentheticalNode.prototype.topSensitive=function(){return true};ParentheticalNode.prototype.compileNode=function(o){var code,top;top=del(o,"top");this.expression.parenthetical=true;code=this.expression.compile(o);if(top&&this.expression.isPureStatement(o)){return code}if(this.parenthetical||this.isStatement(o)){return top?this.tab+code+";":code}return"("+(code)+")"};return ParentheticalNode})();exports.ForNode=(function(){ForNode=function(_b,source,_c,_d){var _e;this.index=_d;this.name=_c;this.body=_b;ForNode.__super__.constructor.call(this);this.index||(this.index=null);this.source=source.source;this.guard=source.guard;this.step=source.step;this.raw=!!source.raw;this.object=!!source.object;if(this.object){_e=[this.index,this.name];this.name=_e[0];this.index=_e[1]}this.pattern=this.name instanceof ValueNode;if(this.index instanceof ValueNode){throw new Error("index cannot be a pattern matching expression")}this.returns=false;return this};__extends(ForNode,BaseNode);ForNode.prototype["class"]="ForNode";ForNode.prototype.children=["body","source","guard"];ForNode.prototype.isStatement=function(){return true};ForNode.prototype.topSensitive=function(){return true};ForNode.prototype.makeReturn=function(){this.returns=true;return this};ForNode.prototype.compileReturnValue=function(val,o){if(this.returns){return"\n"+new ReturnNode(literal(val)).compile(o)}if(val){return"\n"+val}return""};ForNode.prototype.compileNode=function(o){var body,codeInBody,forPart,guardPart,index,ivar,lvar,name,namePart,range,returnResult,rvar,scope,source,sourcePart,stepPart,svar,topLevel,varPart,vars;topLevel=del(o,"top")&&!this.returns;range=this.source instanceof ValueNode&&this.source.base instanceof RangeNode&&!this.source.properties.length;source=range?this.source.base:this.source;codeInBody=this.body.contains(function(n){return n instanceof CodeNode});scope=o.scope;name=(this.name&&this.name.compile(o))||scope.freeVariable();index=this.index&&this.index.compile(o);if(name&&!this.pattern&&(range||!codeInBody)){scope.find(name,{immediate:true})}if(index){scope.find(index,{immediate:true})}if(!(topLevel)){rvar=scope.freeVariable()}ivar=(function(){if(codeInBody){return scope.freeVariable()}else{if(range){return name}else{return index||scope.freeVariable()}}})();varPart="";guardPart="";body=Expressions.wrap([this.body]);if(range){sourcePart=source.compileVariables(o);forPart=source.compile(merge(o,{index:ivar,step:this.step}))}else{svar=scope.freeVariable();sourcePart=(""+(svar)+" = "+(this.source.compile(o))+";");if(this.pattern){namePart=new AssignNode(this.name,literal(""+(svar)+"["+(ivar)+"]")).compile(merge(o,{indent:this.idt(1),top:true}))+"\n"}else{if(name){namePart=(""+(name)+" = "+(svar)+"["+(ivar)+"]")}}if(!(this.object)){lvar=scope.freeVariable();stepPart=this.step?(""+(ivar)+" += "+(this.step.compile(o))):(""+(ivar)+"++");forPart=(""+(ivar)+" = 0, "+(lvar)+" = "+(svar)+".length; "+(ivar)+" < "+(lvar)+"; "+(stepPart))}}sourcePart=(rvar?(""+(rvar)+" = []; "):"")+sourcePart;sourcePart=sourcePart?(""+(this.tab)+(sourcePart)+"\n"+(this.tab)):this.tab;returnResult=this.compileReturnValue(rvar,o);if(!(topLevel)){body=PushNode.wrap(rvar,body)}if(this.guard){body=Expressions.wrap([new IfNode(this.guard,body)])}if(codeInBody){if(range){body.unshift(literal("var "+(name)+" = "+(ivar)))}if(namePart){body.unshift(literal("var "+(namePart)))}if(index){body.unshift(literal("var "+(index)+" = "+(ivar)))}body=ClosureNode.wrap(body,true)}else{varPart=(namePart||"")&&(this.pattern?namePart:(""+(this.idt(1))+(namePart)+";\n"))}if(this.object){forPart=(""+(ivar)+" in "+(svar));if(!(this.raw)){guardPart=("\n"+(this.idt(1))+"if (!"+(utility("hasProp"))+".call("+(svar)+", "+(ivar)+")) continue;")}}body=body.compile(merge(o,{indent:this.idt(1),top:true}));vars=range?name:(""+(name)+", "+(ivar));return""+(sourcePart)+"for ("+(forPart)+") {"+(guardPart)+"\n"+(varPart)+(body)+"\n"+(this.tab)+"}"+(returnResult)};return ForNode})();exports.IfNode=(function(){IfNode=function(_b,_c,_d){this.tags=_d;this.body=_c;this.condition=_b;this.tags||(this.tags={});if(this.tags.invert){if(this.condition instanceof OpNode&&this.condition.isInvertible()){this.condition.invert()}else{this.condition=new OpNode("!",new ParentheticalNode(this.condition))}}this.elseBody=null;this.isChain=false;return this};__extends(IfNode,BaseNode);IfNode.prototype["class"]="IfNode";IfNode.prototype.children=["condition","switchSubject","body","elseBody","assigner"];IfNode.prototype.topSensitive=function(){return true};IfNode.prototype.bodyNode=function(){return this.body==null?undefined:this.body.unwrap()};IfNode.prototype.elseBodyNode=function(){return this.elseBody==null?undefined:this.elseBody.unwrap()};IfNode.prototype.forceStatement=function(){this.tags.statement=true;return this};IfNode.prototype.switchesOver=function(expression){this.switchSubject=expression;return this};IfNode.prototype.rewriteSwitch=function(o){var _b,_c,_d,cond,i,variable;this.assigner=this.switchSubject;if(!(this.switchSubject.unwrap() instanceof LiteralNode)){variable=literal(o.scope.freeVariable());this.assigner=new AssignNode(variable,this.switchSubject);this.switchSubject=variable}this.condition=(function(){_b=[];_c=flatten([this.condition]);for(i=0,_d=_c.length;i<_d;i++){cond=_c[i];_b.push((function(){if(cond instanceof OpNode){cond=new ParentheticalNode(cond)}return new OpNode("==",i===0?this.assigner:this.switchSubject,cond)}).call(this))}return _b}).call(this);if(this.isChain){this.elseBodyNode().switchesOver(this.switchSubject)}this.switchSubject=undefined;return this};IfNode.prototype.addElse=function(elseBody,statement){if(this.isChain){this.elseBodyNode().addElse(elseBody,statement)}else{this.isChain=elseBody instanceof IfNode;this.elseBody=this.ensureExpressions(elseBody)}return this};IfNode.prototype.isStatement=function(o){return this.statement||(this.statement=(!!((o&&o.top)||this.tags.statement||this.bodyNode().isStatement(o)||(this.elseBody&&this.elseBodyNode().isStatement(o)))))};IfNode.prototype.compileCondition=function(o){var _b,_c,_d,_e,cond,conditions;conditions=flatten([this.condition]);if(conditions.length===1){conditions[0].parenthetical=true}return(function(){_b=[];_d=conditions;for(_c=0,_e=_d.length;_c<_e;_c++){cond=_d[_c];_b.push(cond.compile(o))}return _b})().join(" || ")};IfNode.prototype.compileNode=function(o){return this.isStatement(o)?this.compileStatement(o):this.compileTernary(o)};IfNode.prototype.makeReturn=function(){if(this.isStatement()){this.body&&(this.body=this.ensureExpressions(this.body.makeReturn()));this.elseBody&&(this.elseBody=this.ensureExpressions(this.elseBody.makeReturn()));return this}else{return new ReturnNode(this)}};IfNode.prototype.ensureExpressions=function(node){return node instanceof Expressions?node:new Expressions([node])};IfNode.prototype.compileStatement=function(o){var body,child,comDent,condO,elsePart,ifDent,ifPart,top;if(this.switchSubject){this.rewriteSwitch(o)}top=del(o,"top");child=del(o,"chainChild");condO=merge(o);o.indent=this.idt(1);o.top=true;ifDent=child||(top&&!this.isStatement(o))?"":this.idt();comDent=child?this.idt():"";body=this.body.compile(o);ifPart=(""+(ifDent)+"if ("+(this.compileCondition(condO))+") {\n"+(body)+"\n"+(this.tab)+"}");if(!(this.elseBody)){return ifPart}elsePart=this.isChain?" else "+this.elseBodyNode().compile(merge(o,{indent:this.idt(),chainChild:true})):(" else {\n"+(this.elseBody.compile(o))+"\n"+(this.tab)+"}");return""+(ifPart)+(elsePart)};IfNode.prototype.compileTernary=function(o){var code,elsePart,ifPart;this.bodyNode().tags.operation=(this.condition.tags.operation=true);if(this.elseBody){this.elseBodyNode().tags.operation=true}ifPart=this.condition.compile(o)+" ? "+this.bodyNode().compile(o);elsePart=this.elseBody?this.elseBodyNode().compile(o):"null";code=(""+(ifPart)+" : "+(elsePart));return this.tags.operation?("("+(code)+")"):code};return IfNode})();PushNode=(exports.PushNode={wrap:function(array,expressions){var expr;expr=expressions.unwrap();if(expr.isPureStatement()||expr.containsPureStatement()){return expressions}return Expressions.wrap([new CallNode(new ValueNode(literal(array),[new AccessorNode(literal("push"))]),[expr])])}});ClosureNode=(exports.ClosureNode={wrap:function(expressions,statement){var args,call,func,mentionsArgs,mentionsThis,meth;if(expressions.containsPureStatement()){return expressions}func=new ParentheticalNode(new CodeNode([],Expressions.wrap([expressions])));args=[];mentionsArgs=expressions.contains(function(n){return n instanceof LiteralNode&&(n.value==="arguments")});mentionsThis=expressions.contains(function(n){return(n instanceof LiteralNode&&(n.value==="this"))||(n instanceof CodeNode&&n.bound)});if(mentionsArgs||mentionsThis){meth=literal(mentionsArgs?"apply":"call");args=[literal("this")];if(mentionsArgs){args.push(literal("arguments"))}func=new ValueNode(func,[new AccessorNode(meth)])}call=new CallNode(func,args);return statement?Expressions.wrap([call]):call}});UTILITIES={"extends":'function(child, parent) {\n var ctor = function(){};\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.prototype.constructor = child;\n if (typeof parent.extended === "function") parent.extended(child);\n child.__super__ = parent.prototype;\n }',bind:"function(func, context) {\n return function(){ return func.apply(context, arguments); };\n }",hasProp:"Object.prototype.hasOwnProperty",slice:"Array.prototype.slice"};TAB=" ";TRAILING_WHITESPACE=/[ \t]+$/gm;IDENTIFIER=/^[a-zA-Z\$_](\w|\$)*$/;NUMBER=/^(((\b0(x|X)[0-9a-fA-F]+)|((\b[0-9]+(\.[0-9]+)?|\.[0-9]+)(e[+\-]?[0-9]+)?)))\b$/i;SIMPLENUM=/^-?\d+$/;IS_STRING=/^['"]/;literal=function(name){return new LiteralNode(name)};utility=function(name){var ref;ref=("__"+(name));Scope.root.assign(ref,UTILITIES[name]);return ref}})();(function(){var Lexer,compile,helpers,lexer,parser,path;if(typeof process!=="undefined"&&process!==null){path=require("path");Lexer=require("./lexer").Lexer;parser=require("./parser").parser;helpers=require("./helpers").helpers;helpers.extend(global,require("./nodes"));if(require.registerExtension){require.registerExtension(".coffee",function(content){return compile(content)})}}else{this.exports=(this.CoffeeScript={});Lexer=this.Lexer;parser=this.parser;helpers=this.helpers}exports.VERSION="0.9.2";exports.compile=(compile=function(code,options){options||(options={});try{return(parser.parse(lexer.tokenize(code))).compile(options)}catch(err){if(options.fileName){err.message=("In "+(options.fileName)+", "+(err.message))}throw err}});exports.tokens=function(code){return lexer.tokenize(code)};exports.nodes=function(code){return parser.parse(lexer.tokenize(code))};exports.run=function(code,options){var __dirname,__filename;module.filename=(__filename=options.fileName);__dirname=path.dirname(__filename);return eval(exports.compile(code,options))};lexer=new Lexer();parser.lexer={lex:function(){var token;token=this.tokens[this.pos]||[""];this.pos+=1;this.yylineno=token[2];this.yytext=token[1];return token[0]},setInput:function(tokens){this.tokens=tokens;return(this.pos=0)},upcomingInput:function(){return""}}})();(function(){var grind,grindRemote,processScripts;if((typeof document==="undefined"||document===null)?undefined:document.getElementsByTagName){grind=function(coffee){return setTimeout(exports.compile(coffee))};grindRemote=function(url){var xhr;xhr=new (window.ActiveXObject||XMLHttpRequest)("Microsoft.XMLHTTP");xhr.open("GET",url,true);if("overrideMimeType" in xhr){xhr.overrideMimeType("text/plain")}xhr.onreadystatechange=function(){if(xhr.readyState===4){return grind(xhr.responseText)}};return xhr.send(null)};processScripts=function(){var _a,_b,_c,script;_b=document.getElementsByTagName("script");for(_a=0,_c=_b.length;_a<_c;_a++){script=_b[_a];if(script.type==="text/coffeescript"){if(script.src){grindRemote(script.src)}else{grind(script.innerHTML)}}}return null};if(window.addEventListener){addEventListener("DOMContentLoaded",processScripts,false)}else{attachEvent("onload",processScripts)}}})(); \ No newline at end of file +(function(){var compact,count,del,ends,extend,flatten,helpers,include,indexOf,merge,starts;if(!(typeof process!=="undefined"&&process!==null)){this.exports=this}helpers=(exports.helpers={});helpers.indexOf=(indexOf=function(array,item,from){var _a,_b,index,other;if(array.indexOf){return array.indexOf(item,from)}_a=array;for(index=0,_b=_a.length;index<_b;index++){other=_a[index];if(other===item&&(!from||(from<=index))){return index}}return -1});helpers.include=(include=function(list,value){return indexOf(list,value)>=0});helpers.starts=(starts=function(string,literal,start){return string.substring(start,(start||0)+literal.length)===literal});helpers.ends=(ends=function(string,literal,back){var start;start=string.length-literal.length-((typeof back!=="undefined"&&back!==null)?back:0);return string.substring(start,start+literal.length)===literal});helpers.compact=(compact=function(array){var _a,_b,_c,_d,item;_a=[];_c=array;for(_b=0,_d=_c.length;_b<_d;_b++){item=_c[_b];if(item){_a.push(item)}}return _a});helpers.count=(count=function(string,letter){var num,pos;num=0;pos=indexOf(string,letter);while(pos!==-1){num+=1;pos=indexOf(string,letter,pos+1)}return num});helpers.merge=(merge=function(options,overrides){var _a,_b,fresh,key,val;fresh={};_a=options;for(key in _a){val=_a[key];(fresh[key]=val)}if(overrides){_b=overrides;for(key in _b){val=_b[key];(fresh[key]=val)}}return fresh});helpers.extend=(extend=function(object,properties){var _a,_b,key,val;_a=[];_b=properties;for(key in _b){val=_b[key];_a.push(object[key]=val)}return _a});helpers.flatten=(flatten=function(array){var _a,_b,_c,item,memo;memo=[];_b=array;for(_a=0,_c=_b.length;_a<_c;_a++){item=_b[_a];if(item instanceof Array){memo=memo.concat(item)}else{memo.push(item)}}return memo});helpers.del=(del=function(obj,key){var val;val=obj[key];delete obj[key];return val})})();(function(){var BALANCED_PAIRS,EXPRESSION_CLOSE,EXPRESSION_END,EXPRESSION_START,IMPLICIT_BLOCK,IMPLICIT_CALL,IMPLICIT_END,IMPLICIT_FUNC,INVERSES,LINEBREAKS,Rewriter,SINGLE_CLOSERS,SINGLE_LINERS,_a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,helpers,include,pair;var __hasProp=Object.prototype.hasOwnProperty;if(typeof process!=="undefined"&&process!==null){_a=require("./helpers");helpers=_a.helpers}else{this.exports=this;helpers=this.helpers}_b=helpers;include=_b.include;exports.Rewriter=(function(){Rewriter=function(){};Rewriter.prototype.rewrite=function(tokens){this.tokens=tokens;this.adjustComments();this.removeLeadingNewlines();this.removeMidExpressionNewlines();this.closeOpenCalls();this.closeOpenIndexes();this.addImplicitIndentation();this.tagPostfixConditionals();this.addImplicitBraces();this.addImplicitParentheses();this.ensureBalance(BALANCED_PAIRS);this.rewriteClosingParens();return this.tokens};Rewriter.prototype.scanTokens=function(block){var i,move;i=0;while(true){if(!(this.tokens[i])){break}move=block.call(this,this.tokens[i],i);i+=move}return true};Rewriter.prototype.detectEnd=function(i,condition,action){var levels,token;levels=0;while(true){token=this.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(include(EXPRESSION_START,token[0])){levels+=1}if(include(EXPRESSION_END,token[0])){levels-=1}i+=1}return i-1};Rewriter.prototype.adjustComments=function(){return this.scanTokens(function(token,i){var _c,_d,after,before,post,prev;if(token[0]!=="HERECOMMENT"){return 1}_c=[this.tokens[i-2],this.tokens[i-1],this.tokens[i+1],this.tokens[i+2]];before=_c[0];prev=_c[1];post=_c[2];after=_c[3];if(after&&after[0]==="INDENT"){this.tokens.splice(i+2,1);if(before&&before[0]==="OUTDENT"&&post&&(prev[0]===post[0])&&(post[0]==="TERMINATOR")){this.tokens.splice(i-2,1)}else{this.tokens.splice(i,0,after)}}else{if(prev&&!("TERMINATOR"===(_d=prev[0])||"INDENT"===_d||"OUTDENT"===_d)){if(post&&post[0]==="TERMINATOR"&&after&&after[0]==="OUTDENT"){this.tokens.splice.apply(this.tokens,[i+2,0].concat(this.tokens.splice(i,2)));if(this.tokens[i+2][0]!=="TERMINATOR"){this.tokens.splice(i+2,0,["TERMINATOR","\n",prev[2]])}}else{this.tokens.splice(i,0,["TERMINATOR","\n",prev[2]])}return 2}}return 1})};Rewriter.prototype.removeLeadingNewlines=function(){var _c;_c=[];while(this.tokens[0]&&this.tokens[0][0]==="TERMINATOR"){_c.push(this.tokens.shift())}return _c};Rewriter.prototype.removeMidExpressionNewlines=function(){return this.scanTokens(function(token,i){if(!(include(EXPRESSION_CLOSE,this.tag(i+1))&&token[0]==="TERMINATOR")){return 1}this.tokens.splice(i,1);return 0})};Rewriter.prototype.closeOpenCalls=function(){return this.scanTokens(function(token,i){var action,condition;if(token[0]==="CALL_START"){condition=function(token,i){var _c;return((")"===(_c=token[0])||"CALL_END"===_c))||(token[0]==="OUTDENT"&&this.tokens[i-1][0]===")")};action=function(token,i){var idx;idx=token[0]==="OUTDENT"?i-1:i;return(this.tokens[idx][0]="CALL_END")};this.detectEnd(i+1,condition,action)}return 1})};Rewriter.prototype.closeOpenIndexes=function(){return this.scanTokens(function(token,i){var action,condition;if(token[0]==="INDEX_START"){condition=function(token,i){var _c;return("]"===(_c=token[0])||"INDEX_END"===_c)};action=function(token,i){return(token[0]="INDEX_END")};this.detectEnd(i+1,condition,action)}return 1})};Rewriter.prototype.addImplicitBraces=function(){var stack;stack=[];return this.scanTokens(function(token,i){var action,condition,idx,last,tok;if(include(EXPRESSION_START,token[0])){stack.push((token[0]==="INDENT"&&(this.tag(i-1)==="{"))?"{":token[0])}if(include(EXPRESSION_END,token[0])){stack.pop()}last=stack[stack.length-1];if(token[0]===":"&&(!last||last[0]!=="{")){stack.push("{");idx=this.tag(i-2)==="@"?i-2:i-1;tok=["{","{",token[2]];tok.generated=true;this.tokens.splice(idx,0,tok);condition=function(token,i){var _c,_d,_e,one,three,two;_c=this.tokens.slice(i+1,i+4);one=_c[0];two=_c[1];three=_c[2];if((this.tag(i+1)==="HERECOMMENT"||this.tag(i-1)==="HERECOMMENT")){return false}return((("TERMINATOR"===(_d=token[0])||"OUTDENT"===_d))&&!((two&&two[0]===":")||(one&&one[0]==="@"&&three&&three[0]===":")))||(token[0]===","&&one&&(!("IDENTIFIER"===(_e=one[0])||"STRING"===_e||"@"===_e||"TERMINATOR"===_e||"OUTDENT"===_e)))};action=function(token,i){return this.tokens.splice(i,0,["}","}",token[2]])};this.detectEnd(i+2,condition,action);return 2}return 1})};Rewriter.prototype.addImplicitParentheses=function(){var classLine;classLine=false;return this.scanTokens(function(token,i){var _c,action,callObject,condition,idx,next,prev,seenSingle;if(token[0]==="CLASS"){classLine=true}prev=this.tokens[i-1];next=this.tokens[i+1];idx=1;callObject=!classLine&&token[0]==="INDENT"&&next&&next.generated&&next[0]==="{"&&prev&&include(IMPLICIT_FUNC,prev[0]);if(callObject){idx=2}seenSingle=false;if(include(LINEBREAKS,token[0])){classLine=false}if(prev&&!prev.spaced&&token[0]==="?"){token.call=true}if(prev&&(prev.spaced&&(include(IMPLICIT_FUNC,prev[0])||prev.call)&&include(IMPLICIT_CALL,token[0])&&!(token[0]==="UNARY"&&(("IN"===(_c=this.tag(i+1))||"OF"===_c||"INSTANCEOF"===_c))))||callObject){this.tokens.splice(i,0,["CALL_START","(",token[2]]);condition=function(token,i){var _c;if(!seenSingle&&token.fromThen){return true}if(("IF"===(_c=token[0])||"ELSE"===_c||"UNLESS"===_c||"->"===_c||"=>"===_c)){seenSingle=true}return(!token.generated&&this.tokens[i-1][0]!==","&&include(IMPLICIT_END,token[0])&&!(token[0]==="INDENT"&&(include(IMPLICIT_BLOCK,this.tag(i-1))||this.tag(i-2)==="CLASS"||this.tag(i+1)==="{")))||token[0]==="PROPERTY_ACCESS"&&this.tag(i-1)==="OUTDENT"};action=function(token,i){idx=token[0]==="OUTDENT"?i+1:i;return this.tokens.splice(idx,0,["CALL_END",")",token[2]])};this.detectEnd(i+idx,condition,action);if(prev[0]==="?"){prev[0]="FUNC_EXIST"}return 2}return 1})};Rewriter.prototype.addImplicitIndentation=function(){return this.scanTokens(function(token,i){var _c,action,condition,indent,outdent,starter;if(token[0]==="ELSE"&&this.tag(i-1)!=="OUTDENT"){this.tokens.splice.apply(this.tokens,[i,0].concat(this.indentation(token)));return 2}if(token[0]==="CATCH"&&(this.tag(i+2)==="TERMINATOR"||this.tag(i+2)==="FINALLY")){this.tokens.splice.apply(this.tokens,[i+2,0].concat(this.indentation(token)));return 4}if(include(SINGLE_LINERS,token[0])&&this.tag(i+1)!=="INDENT"&&!(token[0]==="ELSE"&&this.tag(i+1)==="IF")){starter=token[0];_c=this.indentation(token);indent=_c[0];outdent=_c[1];if(starter==="THEN"){indent.fromThen=true}indent.generated=(outdent.generated=true);this.tokens.splice(i+1,0,indent);condition=function(token,i){return(include(SINGLE_CLOSERS,token[0])&&token[1]!==";")&&!(token[0]==="ELSE"&&!("IF"===starter||"THEN"===starter))};action=function(token,i){var idx;idx=this.tokens[i-1][0]===","?i-1:i;return this.tokens.splice(idx,0,outdent)};this.detectEnd(i+2,condition,action);if(token[0]==="THEN"){this.tokens.splice(i,1)}return 2}return 1})};Rewriter.prototype.tagPostfixConditionals=function(){return this.scanTokens(function(token,i){var _c,action,condition,original;if(("IF"===(_c=token[0])||"UNLESS"===_c)){original=token;condition=function(token,i){var _c;return("TERMINATOR"===(_c=token[0])||"INDENT"===_c)};action=function(token,i){if(token[0]!=="INDENT"){return(original[0]="POST_"+original[0])}};this.detectEnd(i+1,condition,action);return 1}return 1})};Rewriter.prototype.ensureBalance=function(pairs){var _c,_d,key,levels,line,open,openLine,unclosed,value;levels={};openLine={};this.scanTokens(function(token,i){var _c,_d,_e,_f,close,open,pair;_d=pairs;for(_c=0,_e=_d.length;_c<_e;_c++){pair=_d[_c];_f=pair;open=_f[0];close=_f[1];levels[open]||(levels[open]=0);if(token[0]===open){if(levels[open]===0){openLine[open]=token[2]}levels[open]+=1}if(token[0]===close){levels[open]-=1}if(levels[open]<0){throw new Error("too many "+(token[1])+" on line "+(token[2]+1))}}return 1});unclosed=(function(){_c=[];_d=levels;for(key in _d){if(!__hasProp.call(_d,key)){continue}value=_d[key];if(value>0){_c.push(key)}}return _c})();if(unclosed.length){open=unclosed[0];line=openLine[open]+1;throw new Error("unclosed "+(open)+" on line "+(line))}};Rewriter.prototype.rewriteClosingParens=function(){var _c,debt,key,stack,val;stack=[];debt={};_c=INVERSES;for(key in _c){if(!__hasProp.call(_c,key)){continue}val=_c[key];(debt[key]=0)}return this.scanTokens(function(token,i){var inv,match,mtag,oppos,tag;tag=token[0];inv=INVERSES[token[0]];if(include(EXPRESSION_START,tag)){stack.push(token);return 1}else{if(include(EXPRESSION_END,tag)){if(debt[inv]>0){debt[inv]-=1;this.tokens.splice(i,1);return 0}else{match=stack.pop();mtag=match[0];oppos=INVERSES[mtag];if(tag===oppos){return 1}debt[mtag]+=1;val=[oppos,mtag==="INDENT"?match[1]:oppos];if((this.tokens[i+2]==null?undefined:this.tokens[i+2][0])===mtag){this.tokens.splice(i+3,0,val);stack.push(match)}else{this.tokens.splice(i,0,val)}return 1}}else{return 1}}})};Rewriter.prototype.indentation=function(token){return[["INDENT",2,token[2]],["OUTDENT",2,token[2]]]};Rewriter.prototype.tag=function(i){return this.tokens[i]&&this.tokens[i][0]};return Rewriter})();BALANCED_PAIRS=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["PARAM_START","PARAM_END"],["CALL_START","CALL_END"],["INDEX_START","INDEX_END"]];INVERSES={};_d=BALANCED_PAIRS;for(_c=0,_e=_d.length;_c<_e;_c++){pair=_d[_c];INVERSES[pair[0]]=pair[1];INVERSES[pair[1]]=pair[0]}EXPRESSION_START=(function(){_f=[];_h=BALANCED_PAIRS;for(_g=0,_i=_h.length;_g<_i;_g++){pair=_h[_g];_f.push(pair[0])}return _f})();EXPRESSION_END=(function(){_j=[];_l=BALANCED_PAIRS;for(_k=0,_m=_l.length;_k<_m;_k++){pair=_l[_k];_j.push(pair[1])}return _j})();EXPRESSION_CLOSE=["CATCH","WHEN","ELSE","FINALLY"].concat(EXPRESSION_END);IMPLICIT_FUNC=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END","@","THIS"];IMPLICIT_CALL=["IDENTIFIER","NUMBER","STRING","JS","REGEX","NEW","PARAM_START","CLASS","IF","UNLESS","TRY","SWITCH","THIS","NULL","UNARY","TRUE","FALSE","YES","NO","ON","OFF","@","->","=>","[","(","{"];IMPLICIT_BLOCK=["->","=>","{","[",","];IMPLICIT_END=["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","LOOP","TERMINATOR","INDENT"];SINGLE_LINERS=["ELSE","->","=>","TRY","FINALLY","THEN"];SINGLE_CLOSERS=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"];LINEBREAKS=["TERMINATOR","INDENT","OUTDENT"]})();(function(){var ASSIGNED,CALLABLE,CODE,COFFEE_ALIASES,COFFEE_KEYWORDS,COMMENT,COMPARE,COMPOUND_ASSIGN,CONVERSIONS,HEREDOC,HEREDOC_INDENT,IDENTIFIER,JS_CLEANER,JS_FORBIDDEN,JS_KEYWORDS,LAST_DENT,LAST_DENTS,LINE_BREAK,LOGIC,Lexer,MATH,MULTILINER,MULTI_DENT,NEXT_CHARACTER,NOT_REGEX,NO_NEWLINE,NUMBER,OPERATOR,REGEX_END,REGEX_ESCAPE,REGEX_INTERPOLATION,REGEX_START,RESERVED,Rewriter,SHIFT,UNARY,WHITESPACE,_a,_b,_c,compact,count,helpers,include,starts;var __slice=Array.prototype.slice;if(typeof process!=="undefined"&&process!==null){_a=require("./rewriter");Rewriter=_a.Rewriter;_b=require("./helpers");helpers=_b.helpers}else{this.exports=this;Rewriter=this.Rewriter;helpers=this.helpers}_c=helpers;include=_c.include;count=_c.count;starts=_c.starts;compact=_c.compact;exports.Lexer=(function(){Lexer=function(){};Lexer.prototype.tokenize=function(code,options){var o;code=code.replace(/(\r|\s+$)/g,"");o=options||{};this.code=code;this.i=0;this.line=o.line||0;this.indent=0;this.indebt=0;this.outdebt=0;this.indents=[];this.tokens=[];while(this.ithis.indent){if(noNewlines){this.indebt=size-this.indent;return this.suppressNewlines()}diff=size-this.indent+this.outdebt;this.token("INDENT",diff);this.indents.push(diff);this.outdebt=(this.indebt=0)}else{this.indebt=0;this.outdentToken(this.indent-size,noNewlines)}}this.indent=size;return true};Lexer.prototype.outdentToken=function(moveOut,noNewlines,close){var dent,len;while(moveOut>0){len=this.indents.length-1;if(this.indents[len]===undefined){moveOut=0}else{if(this.indents[len]===this.outdebt){moveOut-=this.outdebt;this.outdebt=0}else{if(this.indents[len]1;if(interpolated){this.token("(","(")}_g=tokens;for(i=0,_h=_g.length;i<_h;i++){token=_g[i];_i=token;tag=_i[0];value=_i[1];if(tag==="TOKENS"){this.tokens=this.tokens.concat(value)}else{if(tag==="STRING"&&options.escapeQuotes){escaped=value.substring(1,value.length-1).replace(/"/g,'\\"');this.token(tag,'"'+(escaped)+'"')}else{this.token(tag,value)}}if(i]?|\+[+=]?|[*&|\/%=<>^:!?]+)([ \t]*)/;WHITESPACE=/^([ \t]+)/;COMMENT=/^(([ \t]*\n)*([ \t]*)###([^#][\s\S]*?)(###[ \t]*\n|(###)?$)|(\s*#(?!##[^#])[^\n]*)+)/;CODE=/^((-|=)>)/;MULTI_DENT=/^((\n([ \t]*))+)(\.)?/;LAST_DENTS=/\n([ \t]*)/g;LAST_DENT=/\n([ \t]*)/;REGEX_START=/^\/([^\/])/;REGEX_INTERPOLATION=/([^\\]#\{.*[^\\]\})/;REGEX_END=/^(([imgy]{1,4})\b|\W|$)/;REGEX_ESCAPE=/\\[^\$]/g;JS_CLEANER=/(^`|`$)/g;MULTILINER=/\n/g;NO_NEWLINE=/^([+\*&|\/\-%=<>!.\\][<>=&|]*|and|or|is|isnt|not|delete|typeof|instanceof)$/;HEREDOC_INDENT=/(\n+([ \t]*)|^([ \t]+))/g;ASSIGNED=/^\s*(([a-zA-Z\$_@]\w*|["'][^\r\n]+?["']|\d+)[ \t]*?[:=][^:=])/;NEXT_CHARACTER=/^\s*(\S)/;COMPOUND_ASSIGN=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|="];UNARY=["UMINUS","UPLUS","!","!!","~","TYPEOF","DELETE"];LOGIC=["&","|","^","&&","||"];SHIFT=["<<",">>",">>>"];COMPARE=["<=","<",">",">="];MATH=["*","/","%"];NOT_REGEX=["NUMBER","REGEX","++","--","FALSE","NULL","TRUE","]"];CALLABLE=["IDENTIFIER","SUPER",")","]","}","STRING","@","THIS","?","::"];LINE_BREAK=["INDENT","OUTDENT","TERMINATOR"];CONVERSIONS={and:"&&",or:"||",is:"==",isnt:"!=",not:"!","===":"=="}})();var parser=(function(){var parser={trace:function trace(){},yy:{},symbols_:{error:2,Root:3,TERMINATOR:4,Body:5,Block:6,Line:7,Expression:8,Statement:9,Return:10,Throw:11,BREAK:12,CONTINUE:13,DEBUGGER:14,Value:15,Call:16,Code:17,Operation:18,Assign:19,If:20,Try:21,While:22,For:23,Switch:24,Extends:25,Class:26,Existence:27,Comment:28,INDENT:29,OUTDENT:30,Identifier:31,IDENTIFIER:32,AlphaNumeric:33,NUMBER:34,STRING:35,Literal:36,JS:37,REGEX:38,TRUE:39,FALSE:40,YES:41,NO:42,ON:43,OFF:44,Assignable:45,"=":46,AssignObj:47,":":48,RETURN:49,HERECOMMENT:50,"?":51,PARAM_START:52,ParamList:53,PARAM_END:54,FuncGlyph:55,"->":56,"=>":57,OptComma:58,",":59,Param:60,PARAM:61,"@":62,".":63,Splat:64,SimpleAssignable:65,Accessor:66,Invocation:67,ThisProperty:68,Array:69,Object:70,Parenthetical:71,Range:72,This:73,NULL:74,PROPERTY_ACCESS:75,PROTOTYPE_ACCESS:76,"::":77,SOAK_ACCESS:78,Index:79,Slice:80,INDEX_START:81,INDEX_END:82,INDEX_SOAK:83,INDEX_PROTO:84,"{":85,AssignList:86,"}":87,CLASS:88,EXTENDS:89,ClassBody:90,ClassAssign:91,NEW:92,OptFuncExist:93,Arguments:94,SUPER:95,FUNC_EXIST:96,CALL_START:97,CALL_END:98,ArgList:99,THIS:100,RangeDots:101,"[":102,"]":103,Arg:104,SimpleArgs:105,TRY:106,Catch:107,FINALLY:108,CATCH:109,THROW:110,"(":111,")":112,WhileSource:113,WHILE:114,WHEN:115,UNTIL:116,Loop:117,LOOP:118,ForBody:119,FOR:120,ForStart:121,ForSource:122,ForVariables:123,ALL:124,ForValue:125,IN:126,OF:127,BY:128,SWITCH:129,Whens:130,ELSE:131,When:132,LEADING_WHEN:133,IfBlock:134,IF:135,UNLESS:136,POST_IF:137,POST_UNLESS:138,UNARY:139,"-":140,"+":141,"--":142,"++":143,"==":144,"!=":145,MATH:146,SHIFT:147,COMPARE:148,LOGIC:149,COMPOUND_ASSIGN:150,INSTANCEOF:151,"$accept":0,"$end":1},terminals_:{"2":"error","4":"TERMINATOR","12":"BREAK","13":"CONTINUE","14":"DEBUGGER","29":"INDENT","30":"OUTDENT","32":"IDENTIFIER","34":"NUMBER","35":"STRING","37":"JS","38":"REGEX","39":"TRUE","40":"FALSE","41":"YES","42":"NO","43":"ON","44":"OFF","46":"=","48":":","49":"RETURN","50":"HERECOMMENT","51":"?","52":"PARAM_START","54":"PARAM_END","56":"->","57":"=>","59":",","61":"PARAM","62":"@","63":".","74":"NULL","75":"PROPERTY_ACCESS","76":"PROTOTYPE_ACCESS","77":"::","78":"SOAK_ACCESS","81":"INDEX_START","82":"INDEX_END","83":"INDEX_SOAK","84":"INDEX_PROTO","85":"{","87":"}","88":"CLASS","89":"EXTENDS","92":"NEW","95":"SUPER","96":"FUNC_EXIST","97":"CALL_START","98":"CALL_END","100":"THIS","102":"[","103":"]","106":"TRY","108":"FINALLY","109":"CATCH","110":"THROW","111":"(","112":")","114":"WHILE","115":"WHEN","116":"UNTIL","118":"LOOP","120":"FOR","124":"ALL","126":"IN","127":"OF","128":"BY","129":"SWITCH","131":"ELSE","133":"LEADING_WHEN","135":"IF","136":"UNLESS","137":"POST_IF","138":"POST_UNLESS","139":"UNARY","140":"-","141":"+","142":"--","143":"++","144":"==","145":"!=","146":"MATH","147":"SHIFT","148":"COMPARE","149":"LOGIC","150":"COMPOUND_ASSIGN","151":"INSTANCEOF"},productions_:[0,[3,0],[3,1],[3,1],[3,2],[5,1],[5,3],[5,2],[7,1],[7,1],[9,1],[9,1],[9,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[6,3],[6,2],[6,2],[31,1],[33,1],[33,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[19,3],[19,5],[47,1],[47,1],[47,3],[47,3],[47,5],[47,5],[47,1],[10,2],[10,1],[28,1],[27,2],[17,5],[17,2],[55,1],[55,1],[58,0],[58,1],[53,0],[53,1],[53,3],[60,1],[60,2],[60,4],[60,5],[64,4],[65,1],[65,2],[65,2],[65,1],[45,1],[45,1],[45,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[66,2],[66,2],[66,1],[66,2],[66,1],[66,1],[79,3],[79,2],[79,2],[70,4],[86,0],[86,1],[86,3],[86,4],[86,6],[26,2],[26,4],[26,5],[26,7],[26,4],[91,1],[91,3],[90,0],[90,1],[90,3],[90,3],[16,1],[16,2],[16,2],[25,3],[67,3],[67,3],[67,1],[67,2],[93,0],[93,1],[94,2],[94,4],[73,1],[73,1],[101,2],[101,3],[68,2],[72,5],[80,5],[80,4],[80,4],[69,2],[69,4],[99,1],[99,3],[99,4],[99,4],[99,6],[104,1],[104,1],[105,1],[105,3],[21,3],[21,4],[21,5],[107,3],[11,2],[71,3],[71,2],[113,2],[113,4],[113,2],[113,4],[22,2],[22,2],[22,2],[22,1],[117,2],[117,2],[23,2],[23,2],[23,2],[119,2],[119,2],[121,2],[121,3],[125,1],[125,1],[125,1],[123,1],[123,3],[122,2],[122,2],[122,4],[122,4],[122,4],[122,6],[122,6],[24,5],[24,7],[24,4],[24,6],[130,1],[130,2],[132,3],[132,4],[134,3],[134,3],[134,5],[134,3],[20,1],[20,3],[20,3],[20,3],[20,3],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,5],[18,3],[18,3],[18,3],[18,4],[18,4],[18,4]],performAction:function anonymous(yytext,yyleng,yylineno,yy){var $$=arguments[5],$0=arguments[5].length;switch(arguments[4]){case 1:return this.$=new Expressions();break;case 2:return this.$=new Expressions();break;case 3:return this.$=$$[$0-1+1-1];break;case 4:return this.$=$$[$0-2+1-1];break;case 5:this.$=Expressions.wrap([$$[$0-1+1-1]]);break;case 6:this.$=$$[$0-3+1-1].push($$[$0-3+3-1]);break;case 7:this.$=$$[$0-2+1-1];break;case 8:this.$=$$[$0-1+1-1];break;case 9:this.$=$$[$0-1+1-1];break;case 10:this.$=$$[$0-1+1-1];break;case 11:this.$=$$[$0-1+1-1];break;case 12:this.$=new LiteralNode($$[$0-1+1-1]);break;case 13:this.$=new LiteralNode($$[$0-1+1-1]);break;case 14:this.$=new LiteralNode($$[$0-1+1-1]);break;case 15:this.$=$$[$0-1+1-1];break;case 16:this.$=$$[$0-1+1-1];break;case 17:this.$=$$[$0-1+1-1];break;case 18:this.$=$$[$0-1+1-1];break;case 19:this.$=$$[$0-1+1-1];break;case 20:this.$=$$[$0-1+1-1];break;case 21:this.$=$$[$0-1+1-1];break;case 22:this.$=$$[$0-1+1-1];break;case 23:this.$=$$[$0-1+1-1];break;case 24:this.$=$$[$0-1+1-1];break;case 25:this.$=$$[$0-1+1-1];break;case 26:this.$=$$[$0-1+1-1];break;case 27:this.$=$$[$0-1+1-1];break;case 28:this.$=$$[$0-1+1-1];break;case 29:this.$=$$[$0-3+2-1];break;case 30:this.$=new Expressions();break;case 31:this.$=Expressions.wrap([$$[$0-2+2-1]]);break;case 32:this.$=new LiteralNode($$[$0-1+1-1]);break;case 33:this.$=new LiteralNode($$[$0-1+1-1]);break;case 34:this.$=new LiteralNode($$[$0-1+1-1]);break;case 35:this.$=$$[$0-1+1-1];break;case 36:this.$=new LiteralNode($$[$0-1+1-1]);break;case 37:this.$=new LiteralNode($$[$0-1+1-1]);break;case 38:this.$=new LiteralNode(true);break;case 39:this.$=new LiteralNode(false);break;case 40:this.$=new LiteralNode(true);break;case 41:this.$=new LiteralNode(false);break;case 42:this.$=new LiteralNode(true);break;case 43:this.$=new LiteralNode(false);break;case 44:this.$=new AssignNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 45:this.$=new AssignNode($$[$0-5+1-1],$$[$0-5+4-1]);break;case 46:this.$=new ValueNode($$[$0-1+1-1]);break;case 47:this.$=$$[$0-1+1-1];break;case 48:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 49:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 50:this.$=new AssignNode(new ValueNode($$[$0-5+1-1]),$$[$0-5+4-1],"object");break;case 51:this.$=new AssignNode(new ValueNode($$[$0-5+1-1]),$$[$0-5+4-1],"object");break;case 52:this.$=$$[$0-1+1-1];break;case 53:this.$=new ReturnNode($$[$0-2+2-1]);break;case 54:this.$=new ReturnNode(new ValueNode(new LiteralNode("null")));break;case 55:this.$=new CommentNode($$[$0-1+1-1]);break;case 56:this.$=new ExistenceNode($$[$0-2+1-1]);break;case 57:this.$=new CodeNode($$[$0-5+2-1],$$[$0-5+5-1],$$[$0-5+4-1]);break;case 58:this.$=new CodeNode([],$$[$0-2+2-1],$$[$0-2+1-1]);break;case 59:this.$="func";break;case 60:this.$="boundfunc";break;case 61:this.$=$$[$0-1+1-1];break;case 62:this.$=$$[$0-1+1-1];break;case 63:this.$=[];break;case 64:this.$=[$$[$0-1+1-1]];break;case 65:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 66:this.$=new LiteralNode($$[$0-1+1-1]);break;case 67:this.$=new ParamNode($$[$0-2+2-1],true);break;case 68:this.$=new ParamNode($$[$0-4+1-1],false,true);break;case 69:this.$=new ParamNode($$[$0-5+2-1],true,true);break;case 70:this.$=new SplatNode($$[$0-4+1-1]);break;case 71:this.$=new ValueNode($$[$0-1+1-1]);break;case 72:this.$=$$[$0-2+1-1].push($$[$0-2+2-1]);break;case 73:this.$=new ValueNode($$[$0-2+1-1],[$$[$0-2+2-1]]);break;case 74:this.$=$$[$0-1+1-1];break;case 75:this.$=$$[$0-1+1-1];break;case 76:this.$=new ValueNode($$[$0-1+1-1]);break;case 77:this.$=new ValueNode($$[$0-1+1-1]);break;case 78:this.$=$$[$0-1+1-1];break;case 79:this.$=new ValueNode($$[$0-1+1-1]);break;case 80:this.$=new ValueNode($$[$0-1+1-1]);break;case 81:this.$=new ValueNode($$[$0-1+1-1]);break;case 82:this.$=$$[$0-1+1-1];break;case 83:this.$=new ValueNode(new LiteralNode("null"));break;case 84:this.$=new AccessorNode($$[$0-2+2-1]);break;case 85:this.$=new AccessorNode($$[$0-2+2-1],"prototype");break;case 86:this.$=new AccessorNode(new LiteralNode("prototype"));break;case 87:this.$=new AccessorNode($$[$0-2+2-1],"soak");break;case 88:this.$=$$[$0-1+1-1];break;case 89:this.$=new SliceNode($$[$0-1+1-1]);break;case 90:this.$=new IndexNode($$[$0-3+2-1]);break;case 91:this.$=(function(){$$[$0-2+2-1].soakNode=true;return $$[$0-2+2-1]}());break;case 92:this.$=(function(){$$[$0-2+2-1].proto=true;return $$[$0-2+2-1]}());break;case 93:this.$=new ObjectNode($$[$0-4+2-1]);break;case 94:this.$=[];break;case 95:this.$=[$$[$0-1+1-1]];break;case 96:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 97:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 98:this.$=$$[$0-6+1-1].concat($$[$0-6+4-1]);break;case 99:this.$=new ClassNode($$[$0-2+2-1]);break;case 100:this.$=new ClassNode($$[$0-4+2-1],$$[$0-4+4-1]);break;case 101:this.$=new ClassNode($$[$0-5+2-1],null,$$[$0-5+4-1]);break;case 102:this.$=new ClassNode($$[$0-7+2-1],$$[$0-7+4-1],$$[$0-7+6-1]);break;case 103:this.$=new ClassNode("__temp__",null,$$[$0-4+3-1]);break;case 104:this.$=$$[$0-1+1-1];break;case 105:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"this");break;case 106:this.$=[];break;case 107:this.$=[$$[$0-1+1-1]];break;case 108:this.$=$$[$0-3+1-1].concat($$[$0-3+3-1]);break;case 109:this.$=$$[$0-3+2-1];break;case 110:this.$=$$[$0-1+1-1];break;case 111:this.$=$$[$0-2+2-1].newInstance();break;case 112:this.$=(new CallNode($$[$0-2+2-1],[])).newInstance();break;case 113:this.$=new ExtendsNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 114:this.$=new CallNode($$[$0-3+1-1],$$[$0-3+3-1],$$[$0-3+2-1]);break;case 115:this.$=new CallNode($$[$0-3+1-1],$$[$0-3+3-1],$$[$0-3+2-1]);break;case 116:this.$=new CallNode("super",[new SplatNode(new LiteralNode("arguments"))]);break;case 117:this.$=new CallNode("super",$$[$0-2+2-1]);break;case 118:this.$=false;break;case 119:this.$=true;break;case 120:this.$=[];break;case 121:this.$=$$[$0-4+2-1];break;case 122:this.$=new ValueNode(new LiteralNode("this"));break;case 123:this.$=new ValueNode(new LiteralNode("this"));break;case 124:this.$="inclusive";break;case 125:this.$="exclusive";break;case 126:this.$=new ValueNode(new LiteralNode("this"),[new AccessorNode($$[$0-2+2-1])]);break;case 127:this.$=new RangeNode($$[$0-5+2-1],$$[$0-5+4-1],$$[$0-5+3-1]);break;case 128:this.$=new RangeNode($$[$0-5+2-1],$$[$0-5+4-1],$$[$0-5+3-1]);break;case 129:this.$=new RangeNode($$[$0-4+2-1],null,$$[$0-4+3-1]);break;case 130:this.$=new RangeNode(null,$$[$0-4+3-1],$$[$0-4+2-1]);break;case 131:this.$=new ArrayNode([]);break;case 132:this.$=new ArrayNode($$[$0-4+2-1]);break;case 133:this.$=[$$[$0-1+1-1]];break;case 134:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 135:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 136:this.$=$$[$0-4+2-1];break;case 137:this.$=$$[$0-6+1-1].concat($$[$0-6+4-1]);break;case 138:this.$=$$[$0-1+1-1];break;case 139:this.$=$$[$0-1+1-1];break;case 140:this.$=$$[$0-1+1-1];break;case 141:this.$=$$[$0-3+1-1] instanceof Array?$$[$0-3+1-1].concat([$$[$0-3+3-1]]):[$$[$0-3+1-1]].concat([$$[$0-3+3-1]]);break;case 142:this.$=new TryNode($$[$0-3+2-1],$$[$0-3+3-1][0],$$[$0-3+3-1][1]);break;case 143:this.$=new TryNode($$[$0-4+2-1],null,null,$$[$0-4+4-1]);break;case 144:this.$=new TryNode($$[$0-5+2-1],$$[$0-5+3-1][0],$$[$0-5+3-1][1],$$[$0-5+5-1]);break;case 145:this.$=[$$[$0-3+2-1],$$[$0-3+3-1]];break;case 146:this.$=new ThrowNode($$[$0-2+2-1]);break;case 147:this.$=new ParentheticalNode($$[$0-3+2-1]);break;case 148:this.$=new ParentheticalNode(new LiteralNode(""));break;case 149:this.$=new WhileNode($$[$0-2+2-1]);break;case 150:this.$=new WhileNode($$[$0-4+2-1],{guard:$$[$0-4+4-1]});break;case 151:this.$=new WhileNode($$[$0-2+2-1],{invert:true});break;case 152:this.$=new WhileNode($$[$0-4+2-1],{invert:true,guard:$$[$0-4+4-1]});break;case 153:this.$=$$[$0-2+1-1].addBody($$[$0-2+2-1]);break;case 154:this.$=$$[$0-2+2-1].addBody(Expressions.wrap([$$[$0-2+1-1]]));break;case 155:this.$=$$[$0-2+2-1].addBody(Expressions.wrap([$$[$0-2+1-1]]));break;case 156:this.$=$$[$0-1+1-1];break;case 157:this.$=new WhileNode(new LiteralNode("true")).addBody($$[$0-2+2-1]);break;case 158:this.$=new WhileNode(new LiteralNode("true")).addBody(Expressions.wrap([$$[$0-2+2-1]]));break;case 159:this.$=new ForNode($$[$0-2+1-1],$$[$0-2+2-1],$$[$0-2+2-1].vars[0],$$[$0-2+2-1].vars[1]);break;case 160:this.$=new ForNode($$[$0-2+1-1],$$[$0-2+2-1],$$[$0-2+2-1].vars[0],$$[$0-2+2-1].vars[1]);break;case 161:this.$=new ForNode($$[$0-2+2-1],$$[$0-2+1-1],$$[$0-2+1-1].vars[0],$$[$0-2+1-1].vars[1]);break;case 162:this.$={source:new ValueNode($$[$0-2+2-1]),vars:[]};break;case 163:this.$=(function(){$$[$0-2+2-1].raw=$$[$0-2+1-1].raw;$$[$0-2+2-1].vars=$$[$0-2+1-1];return $$[$0-2+2-1]}());break;case 164:this.$=$$[$0-2+2-1];break;case 165:this.$=(function(){$$[$0-3+3-1].raw=true;return $$[$0-3+3-1]}());break;case 166:this.$=$$[$0-1+1-1];break;case 167:this.$=new ValueNode($$[$0-1+1-1]);break;case 168:this.$=new ValueNode($$[$0-1+1-1]);break;case 169:this.$=[$$[$0-1+1-1]];break;case 170:this.$=[$$[$0-3+1-1],$$[$0-3+3-1]];break;case 171:this.$={source:$$[$0-2+2-1]};break;case 172:this.$={source:$$[$0-2+2-1],object:true};break;case 173:this.$={source:$$[$0-4+2-1],guard:$$[$0-4+4-1]};break;case 174:this.$={source:$$[$0-4+2-1],guard:$$[$0-4+4-1],object:true};break;case 175:this.$={source:$$[$0-4+2-1],step:$$[$0-4+4-1]};break;case 176:this.$={source:$$[$0-6+2-1],guard:$$[$0-6+4-1],step:$$[$0-6+6-1]};break;case 177:this.$={source:$$[$0-6+2-1],step:$$[$0-6+4-1],guard:$$[$0-6+6-1]};break;case 178:this.$=new SwitchNode($$[$0-5+2-1],$$[$0-5+4-1]);break;case 179:this.$=new SwitchNode($$[$0-7+2-1],$$[$0-7+4-1],$$[$0-7+6-1]);break;case 180:this.$=new SwitchNode(null,$$[$0-4+3-1]);break;case 181:this.$=new SwitchNode(null,$$[$0-6+3-1],$$[$0-6+5-1]);break;case 182:this.$=$$[$0-1+1-1];break;case 183:this.$=$$[$0-2+1-1].concat($$[$0-2+2-1]);break;case 184:this.$=[[$$[$0-3+2-1],$$[$0-3+3-1]]];break;case 185:this.$=[[$$[$0-4+2-1],$$[$0-4+3-1]]];break;case 186:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1]);break;case 187:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1],{invert:true});break;case 188:this.$=$$[$0-5+1-1].addElse((new IfNode($$[$0-5+4-1],$$[$0-5+5-1])).forceStatement());break;case 189:this.$=$$[$0-3+1-1].addElse($$[$0-3+3-1]);break;case 190:this.$=$$[$0-1+1-1];break;case 191:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true});break;case 192:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true});break;case 193:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true,invert:true});break;case 194:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true,invert:true});break;case 195:this.$=new OpNode($$[$0-2+1-1],$$[$0-2+2-1]);break;case 196:this.$=new OpNode("-",$$[$0-2+2-1]);break;case 197:this.$=new OpNode("+",$$[$0-2+2-1]);break;case 198:this.$=new OpNode("--",$$[$0-2+2-1]);break;case 199:this.$=new OpNode("++",$$[$0-2+2-1]);break;case 200:this.$=new OpNode("--",$$[$0-2+1-1],null,true);break;case 201:this.$=new OpNode("++",$$[$0-2+1-1],null,true);break;case 202:this.$=new OpNode("?",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 203:this.$=new OpNode("+",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 204:this.$=new OpNode("-",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 205:this.$=new OpNode("==",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 206:this.$=new OpNode("!=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 207:this.$=new OpNode($$[$0-3+2-1],$$[$0-3+1-1],$$[$0-3+3-1]);break;case 208:this.$=new OpNode($$[$0-3+2-1],$$[$0-3+1-1],$$[$0-3+3-1]);break;case 209:this.$=new OpNode($$[$0-3+2-1],$$[$0-3+1-1],$$[$0-3+3-1]);break;case 210:this.$=new OpNode($$[$0-3+2-1],$$[$0-3+1-1],$$[$0-3+3-1]);break;case 211:this.$=new OpNode($$[$0-3+2-1],$$[$0-3+1-1],$$[$0-3+3-1]);break;case 212:this.$=new OpNode($$[$0-5+2-1],$$[$0-5+1-1],$$[$0-5+4-1]);break;case 213:this.$=new InNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 214:this.$=new OpNode("in",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 215:this.$=new OpNode("instanceof",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 216:this.$=new OpNode($$[$0-4+2-1],new InNode($$[$0-4+1-1],$$[$0-4+4-1]));break;case 217:this.$=new OpNode($$[$0-4+2-1],new ParentheticalNode(new OpNode("in",$$[$0-4+1-1],$$[$0-4+4-1])));break;case 218:this.$=new OpNode($$[$0-4+2-1],new ParentheticalNode(new OpNode("instanceof",$$[$0-4+1-1],$$[$0-4+4-1])));break}},table:[{"1":[2,1],"3":1,"4":[1,2],"5":3,"6":4,"7":5,"8":7,"9":8,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,6],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[3]},{"1":[2,2],"28":85,"50":[1,51]},{"1":[2,3],"4":[1,86]},{"4":[1,87]},{"1":[2,5],"4":[2,5],"30":[2,5]},{"5":88,"7":5,"8":7,"9":8,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"30":[1,89],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,8],"4":[2,8],"30":[2,8],"51":[1,92],"112":[2,8],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,9],"4":[2,9],"30":[2,9],"112":[2,9],"113":111,"114":[1,74],"116":[1,75],"119":112,"120":[1,77],"121":78,"137":[1,109],"138":[1,110]},{"1":[2,15],"4":[2,15],"29":[2,15],"30":[2,15],"51":[2,15],"59":[2,15],"63":[2,15],"66":115,"75":[1,117],"76":[1,118],"77":[1,119],"78":[1,120],"79":121,"80":122,"81":[1,123],"82":[2,15],"83":[1,124],"84":[1,125],"87":[2,15],"93":114,"96":[1,116],"97":[2,118],"98":[2,15],"103":[2,15],"112":[2,15],"114":[2,15],"115":[2,15],"116":[2,15],"120":[2,15],"126":[2,15],"127":[2,15],"128":[2,15],"137":[2,15],"138":[2,15],"139":[2,15],"140":[2,15],"141":[2,15],"142":[2,15],"143":[2,15],"144":[2,15],"145":[2,15],"146":[2,15],"147":[2,15],"148":[2,15],"149":[2,15],"150":[1,113],"151":[2,15]},{"1":[2,16],"4":[2,16],"29":[2,16],"30":[2,16],"51":[2,16],"59":[2,16],"63":[2,16],"82":[2,16],"87":[2,16],"98":[2,16],"103":[2,16],"112":[2,16],"114":[2,16],"115":[2,16],"116":[2,16],"120":[2,16],"126":[2,16],"127":[2,16],"128":[2,16],"137":[2,16],"138":[2,16],"139":[2,16],"140":[2,16],"141":[2,16],"142":[2,16],"143":[2,16],"144":[2,16],"145":[2,16],"146":[2,16],"147":[2,16],"148":[2,16],"149":[2,16],"151":[2,16]},{"1":[2,17],"4":[2,17],"29":[2,17],"30":[2,17],"51":[2,17],"59":[2,17],"63":[2,17],"82":[2,17],"87":[2,17],"98":[2,17],"103":[2,17],"112":[2,17],"114":[2,17],"115":[2,17],"116":[2,17],"120":[2,17],"126":[2,17],"127":[2,17],"128":[2,17],"137":[2,17],"138":[2,17],"139":[2,17],"140":[2,17],"141":[2,17],"142":[2,17],"143":[2,17],"144":[2,17],"145":[2,17],"146":[2,17],"147":[2,17],"148":[2,17],"149":[2,17],"151":[2,17]},{"1":[2,18],"4":[2,18],"29":[2,18],"30":[2,18],"51":[2,18],"59":[2,18],"63":[2,18],"82":[2,18],"87":[2,18],"98":[2,18],"103":[2,18],"112":[2,18],"114":[2,18],"115":[2,18],"116":[2,18],"120":[2,18],"126":[2,18],"127":[2,18],"128":[2,18],"137":[2,18],"138":[2,18],"139":[2,18],"140":[2,18],"141":[2,18],"142":[2,18],"143":[2,18],"144":[2,18],"145":[2,18],"146":[2,18],"147":[2,18],"148":[2,18],"149":[2,18],"151":[2,18]},{"1":[2,19],"4":[2,19],"29":[2,19],"30":[2,19],"51":[2,19],"59":[2,19],"63":[2,19],"82":[2,19],"87":[2,19],"98":[2,19],"103":[2,19],"112":[2,19],"114":[2,19],"115":[2,19],"116":[2,19],"120":[2,19],"126":[2,19],"127":[2,19],"128":[2,19],"137":[2,19],"138":[2,19],"139":[2,19],"140":[2,19],"141":[2,19],"142":[2,19],"143":[2,19],"144":[2,19],"145":[2,19],"146":[2,19],"147":[2,19],"148":[2,19],"149":[2,19],"151":[2,19]},{"1":[2,20],"4":[2,20],"29":[2,20],"30":[2,20],"51":[2,20],"59":[2,20],"63":[2,20],"82":[2,20],"87":[2,20],"98":[2,20],"103":[2,20],"112":[2,20],"114":[2,20],"115":[2,20],"116":[2,20],"120":[2,20],"126":[2,20],"127":[2,20],"128":[2,20],"137":[2,20],"138":[2,20],"139":[2,20],"140":[2,20],"141":[2,20],"142":[2,20],"143":[2,20],"144":[2,20],"145":[2,20],"146":[2,20],"147":[2,20],"148":[2,20],"149":[2,20],"151":[2,20]},{"1":[2,21],"4":[2,21],"29":[2,21],"30":[2,21],"51":[2,21],"59":[2,21],"63":[2,21],"82":[2,21],"87":[2,21],"98":[2,21],"103":[2,21],"112":[2,21],"114":[2,21],"115":[2,21],"116":[2,21],"120":[2,21],"126":[2,21],"127":[2,21],"128":[2,21],"137":[2,21],"138":[2,21],"139":[2,21],"140":[2,21],"141":[2,21],"142":[2,21],"143":[2,21],"144":[2,21],"145":[2,21],"146":[2,21],"147":[2,21],"148":[2,21],"149":[2,21],"151":[2,21]},{"1":[2,22],"4":[2,22],"29":[2,22],"30":[2,22],"51":[2,22],"59":[2,22],"63":[2,22],"82":[2,22],"87":[2,22],"98":[2,22],"103":[2,22],"112":[2,22],"114":[2,22],"115":[2,22],"116":[2,22],"120":[2,22],"126":[2,22],"127":[2,22],"128":[2,22],"137":[2,22],"138":[2,22],"139":[2,22],"140":[2,22],"141":[2,22],"142":[2,22],"143":[2,22],"144":[2,22],"145":[2,22],"146":[2,22],"147":[2,22],"148":[2,22],"149":[2,22],"151":[2,22]},{"1":[2,23],"4":[2,23],"29":[2,23],"30":[2,23],"51":[2,23],"59":[2,23],"63":[2,23],"82":[2,23],"87":[2,23],"98":[2,23],"103":[2,23],"112":[2,23],"114":[2,23],"115":[2,23],"116":[2,23],"120":[2,23],"126":[2,23],"127":[2,23],"128":[2,23],"137":[2,23],"138":[2,23],"139":[2,23],"140":[2,23],"141":[2,23],"142":[2,23],"143":[2,23],"144":[2,23],"145":[2,23],"146":[2,23],"147":[2,23],"148":[2,23],"149":[2,23],"151":[2,23]},{"1":[2,24],"4":[2,24],"29":[2,24],"30":[2,24],"51":[2,24],"59":[2,24],"63":[2,24],"82":[2,24],"87":[2,24],"98":[2,24],"103":[2,24],"112":[2,24],"114":[2,24],"115":[2,24],"116":[2,24],"120":[2,24],"126":[2,24],"127":[2,24],"128":[2,24],"137":[2,24],"138":[2,24],"139":[2,24],"140":[2,24],"141":[2,24],"142":[2,24],"143":[2,24],"144":[2,24],"145":[2,24],"146":[2,24],"147":[2,24],"148":[2,24],"149":[2,24],"151":[2,24]},{"1":[2,25],"4":[2,25],"29":[2,25],"30":[2,25],"51":[2,25],"59":[2,25],"63":[2,25],"82":[2,25],"87":[2,25],"98":[2,25],"103":[2,25],"112":[2,25],"114":[2,25],"115":[2,25],"116":[2,25],"120":[2,25],"126":[2,25],"127":[2,25],"128":[2,25],"137":[2,25],"138":[2,25],"139":[2,25],"140":[2,25],"141":[2,25],"142":[2,25],"143":[2,25],"144":[2,25],"145":[2,25],"146":[2,25],"147":[2,25],"148":[2,25],"149":[2,25],"151":[2,25]},{"1":[2,26],"4":[2,26],"29":[2,26],"30":[2,26],"51":[2,26],"59":[2,26],"63":[2,26],"82":[2,26],"87":[2,26],"98":[2,26],"103":[2,26],"112":[2,26],"114":[2,26],"115":[2,26],"116":[2,26],"120":[2,26],"126":[2,26],"127":[2,26],"128":[2,26],"137":[2,26],"138":[2,26],"139":[2,26],"140":[2,26],"141":[2,26],"142":[2,26],"143":[2,26],"144":[2,26],"145":[2,26],"146":[2,26],"147":[2,26],"148":[2,26],"149":[2,26],"151":[2,26]},{"1":[2,27],"4":[2,27],"29":[2,27],"30":[2,27],"51":[2,27],"59":[2,27],"63":[2,27],"82":[2,27],"87":[2,27],"98":[2,27],"103":[2,27],"112":[2,27],"114":[2,27],"115":[2,27],"116":[2,27],"120":[2,27],"126":[2,27],"127":[2,27],"128":[2,27],"137":[2,27],"138":[2,27],"139":[2,27],"140":[2,27],"141":[2,27],"142":[2,27],"143":[2,27],"144":[2,27],"145":[2,27],"146":[2,27],"147":[2,27],"148":[2,27],"149":[2,27],"151":[2,27]},{"1":[2,28],"4":[2,28],"29":[2,28],"30":[2,28],"51":[2,28],"59":[2,28],"63":[2,28],"82":[2,28],"87":[2,28],"98":[2,28],"103":[2,28],"112":[2,28],"114":[2,28],"115":[2,28],"116":[2,28],"120":[2,28],"126":[2,28],"127":[2,28],"128":[2,28],"137":[2,28],"138":[2,28],"139":[2,28],"140":[2,28],"141":[2,28],"142":[2,28],"143":[2,28],"144":[2,28],"145":[2,28],"146":[2,28],"147":[2,28],"148":[2,28],"149":[2,28],"151":[2,28]},{"1":[2,10],"4":[2,10],"30":[2,10],"112":[2,10],"114":[2,10],"116":[2,10],"120":[2,10],"137":[2,10],"138":[2,10]},{"1":[2,11],"4":[2,11],"30":[2,11],"112":[2,11],"114":[2,11],"116":[2,11],"120":[2,11],"137":[2,11],"138":[2,11]},{"1":[2,12],"4":[2,12],"30":[2,12],"112":[2,12],"114":[2,12],"116":[2,12],"120":[2,12],"137":[2,12],"138":[2,12]},{"1":[2,13],"4":[2,13],"30":[2,13],"112":[2,13],"114":[2,13],"116":[2,13],"120":[2,13],"137":[2,13],"138":[2,13]},{"1":[2,14],"4":[2,14],"30":[2,14],"112":[2,14],"114":[2,14],"116":[2,14],"120":[2,14],"137":[2,14],"138":[2,14]},{"1":[2,78],"4":[2,78],"29":[2,78],"30":[2,78],"46":[1,126],"51":[2,78],"59":[2,78],"63":[2,78],"75":[2,78],"76":[2,78],"77":[2,78],"78":[2,78],"81":[2,78],"82":[2,78],"83":[2,78],"84":[2,78],"87":[2,78],"96":[2,78],"97":[2,78],"98":[2,78],"103":[2,78],"112":[2,78],"114":[2,78],"115":[2,78],"116":[2,78],"120":[2,78],"126":[2,78],"127":[2,78],"128":[2,78],"137":[2,78],"138":[2,78],"139":[2,78],"140":[2,78],"141":[2,78],"142":[2,78],"143":[2,78],"144":[2,78],"145":[2,78],"146":[2,78],"147":[2,78],"148":[2,78],"149":[2,78],"150":[2,78],"151":[2,78]},{"1":[2,79],"4":[2,79],"29":[2,79],"30":[2,79],"51":[2,79],"59":[2,79],"63":[2,79],"75":[2,79],"76":[2,79],"77":[2,79],"78":[2,79],"81":[2,79],"82":[2,79],"83":[2,79],"84":[2,79],"87":[2,79],"96":[2,79],"97":[2,79],"98":[2,79],"103":[2,79],"112":[2,79],"114":[2,79],"115":[2,79],"116":[2,79],"120":[2,79],"126":[2,79],"127":[2,79],"128":[2,79],"137":[2,79],"138":[2,79],"139":[2,79],"140":[2,79],"141":[2,79],"142":[2,79],"143":[2,79],"144":[2,79],"145":[2,79],"146":[2,79],"147":[2,79],"148":[2,79],"149":[2,79],"150":[2,79],"151":[2,79]},{"1":[2,80],"4":[2,80],"29":[2,80],"30":[2,80],"51":[2,80],"59":[2,80],"63":[2,80],"75":[2,80],"76":[2,80],"77":[2,80],"78":[2,80],"81":[2,80],"82":[2,80],"83":[2,80],"84":[2,80],"87":[2,80],"96":[2,80],"97":[2,80],"98":[2,80],"103":[2,80],"112":[2,80],"114":[2,80],"115":[2,80],"116":[2,80],"120":[2,80],"126":[2,80],"127":[2,80],"128":[2,80],"137":[2,80],"138":[2,80],"139":[2,80],"140":[2,80],"141":[2,80],"142":[2,80],"143":[2,80],"144":[2,80],"145":[2,80],"146":[2,80],"147":[2,80],"148":[2,80],"149":[2,80],"150":[2,80],"151":[2,80]},{"1":[2,81],"4":[2,81],"29":[2,81],"30":[2,81],"51":[2,81],"59":[2,81],"63":[2,81],"75":[2,81],"76":[2,81],"77":[2,81],"78":[2,81],"81":[2,81],"82":[2,81],"83":[2,81],"84":[2,81],"87":[2,81],"96":[2,81],"97":[2,81],"98":[2,81],"103":[2,81],"112":[2,81],"114":[2,81],"115":[2,81],"116":[2,81],"120":[2,81],"126":[2,81],"127":[2,81],"128":[2,81],"137":[2,81],"138":[2,81],"139":[2,81],"140":[2,81],"141":[2,81],"142":[2,81],"143":[2,81],"144":[2,81],"145":[2,81],"146":[2,81],"147":[2,81],"148":[2,81],"149":[2,81],"150":[2,81],"151":[2,81]},{"1":[2,82],"4":[2,82],"29":[2,82],"30":[2,82],"51":[2,82],"59":[2,82],"63":[2,82],"75":[2,82],"76":[2,82],"77":[2,82],"78":[2,82],"81":[2,82],"82":[2,82],"83":[2,82],"84":[2,82],"87":[2,82],"96":[2,82],"97":[2,82],"98":[2,82],"103":[2,82],"112":[2,82],"114":[2,82],"115":[2,82],"116":[2,82],"120":[2,82],"126":[2,82],"127":[2,82],"128":[2,82],"137":[2,82],"138":[2,82],"139":[2,82],"140":[2,82],"141":[2,82],"142":[2,82],"143":[2,82],"144":[2,82],"145":[2,82],"146":[2,82],"147":[2,82],"148":[2,82],"149":[2,82],"150":[2,82],"151":[2,82]},{"1":[2,83],"4":[2,83],"29":[2,83],"30":[2,83],"51":[2,83],"59":[2,83],"63":[2,83],"75":[2,83],"76":[2,83],"77":[2,83],"78":[2,83],"81":[2,83],"82":[2,83],"83":[2,83],"84":[2,83],"87":[2,83],"96":[2,83],"97":[2,83],"98":[2,83],"103":[2,83],"112":[2,83],"114":[2,83],"115":[2,83],"116":[2,83],"120":[2,83],"126":[2,83],"127":[2,83],"128":[2,83],"137":[2,83],"138":[2,83],"139":[2,83],"140":[2,83],"141":[2,83],"142":[2,83],"143":[2,83],"144":[2,83],"145":[2,83],"146":[2,83],"147":[2,83],"148":[2,83],"149":[2,83],"150":[2,83],"151":[2,83]},{"1":[2,110],"4":[2,110],"29":[2,110],"30":[2,110],"51":[2,110],"59":[2,110],"63":[2,110],"66":128,"75":[1,117],"76":[1,118],"77":[1,119],"78":[1,120],"79":121,"80":122,"81":[1,123],"82":[2,110],"83":[1,124],"84":[1,125],"87":[2,110],"93":127,"96":[1,116],"97":[2,118],"98":[2,110],"103":[2,110],"112":[2,110],"114":[2,110],"115":[2,110],"116":[2,110],"120":[2,110],"126":[2,110],"127":[2,110],"128":[2,110],"137":[2,110],"138":[2,110],"139":[2,110],"140":[2,110],"141":[2,110],"142":[2,110],"143":[2,110],"144":[2,110],"145":[2,110],"146":[2,110],"147":[2,110],"148":[2,110],"149":[2,110],"151":[2,110]},{"15":130,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":131,"62":[1,68],"65":132,"67":129,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"95":[1,69],"100":[1,67],"102":[1,66],"111":[1,65]},{"53":133,"54":[2,63],"59":[2,63],"60":134,"61":[1,135],"62":[1,136]},{"4":[1,138],"6":137,"29":[1,6]},{"8":139,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":141,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":142,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":143,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":144,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,190],"4":[2,190],"29":[2,190],"30":[2,190],"51":[2,190],"59":[2,190],"63":[2,190],"82":[2,190],"87":[2,190],"98":[2,190],"103":[2,190],"112":[2,190],"114":[2,190],"115":[2,190],"116":[2,190],"120":[2,190],"126":[2,190],"127":[2,190],"128":[2,190],"131":[1,145],"137":[2,190],"138":[2,190],"139":[2,190],"140":[2,190],"141":[2,190],"142":[2,190],"143":[2,190],"144":[2,190],"145":[2,190],"146":[2,190],"147":[2,190],"148":[2,190],"149":[2,190],"151":[2,190]},{"4":[1,138],"6":146,"29":[1,6]},{"4":[1,138],"6":147,"29":[1,6]},{"1":[2,156],"4":[2,156],"29":[2,156],"30":[2,156],"51":[2,156],"59":[2,156],"63":[2,156],"82":[2,156],"87":[2,156],"98":[2,156],"103":[2,156],"112":[2,156],"114":[2,156],"115":[2,156],"116":[2,156],"120":[2,156],"126":[2,156],"127":[2,156],"128":[2,156],"137":[2,156],"138":[2,156],"139":[2,156],"140":[2,156],"141":[2,156],"142":[2,156],"143":[2,156],"144":[2,156],"145":[2,156],"146":[2,156],"147":[2,156],"148":[2,156],"149":[2,156],"151":[2,156]},{"4":[1,138],"6":148,"29":[1,6]},{"8":149,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,150],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,75],"4":[2,75],"29":[2,75],"30":[2,75],"46":[2,75],"51":[2,75],"59":[2,75],"63":[2,75],"75":[2,75],"76":[2,75],"77":[2,75],"78":[2,75],"81":[2,75],"82":[2,75],"83":[2,75],"84":[2,75],"87":[2,75],"89":[1,151],"96":[2,75],"97":[2,75],"98":[2,75],"103":[2,75],"112":[2,75],"114":[2,75],"115":[2,75],"116":[2,75],"120":[2,75],"126":[2,75],"127":[2,75],"128":[2,75],"137":[2,75],"138":[2,75],"139":[2,75],"140":[2,75],"141":[2,75],"142":[2,75],"143":[2,75],"144":[2,75],"145":[2,75],"146":[2,75],"147":[2,75],"148":[2,75],"149":[2,75],"150":[2,75],"151":[2,75]},{"15":154,"29":[1,153],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":131,"62":[1,68],"65":152,"67":155,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"95":[1,69],"100":[1,67],"102":[1,66],"111":[1,65]},{"1":[2,55],"4":[2,55],"29":[2,55],"30":[2,55],"51":[2,55],"59":[2,55],"63":[2,55],"82":[2,55],"87":[2,55],"98":[2,55],"103":[2,55],"108":[2,55],"109":[2,55],"112":[2,55],"114":[2,55],"115":[2,55],"116":[2,55],"120":[2,55],"126":[2,55],"127":[2,55],"128":[2,55],"131":[2,55],"133":[2,55],"137":[2,55],"138":[2,55],"139":[2,55],"140":[2,55],"141":[2,55],"142":[2,55],"143":[2,55],"144":[2,55],"145":[2,55],"146":[2,55],"147":[2,55],"148":[2,55],"149":[2,55],"151":[2,55]},{"1":[2,54],"4":[2,54],"8":156,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"30":[2,54],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"112":[2,54],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"137":[2,54],"138":[2,54],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":157,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,76],"4":[2,76],"29":[2,76],"30":[2,76],"46":[2,76],"51":[2,76],"59":[2,76],"63":[2,76],"75":[2,76],"76":[2,76],"77":[2,76],"78":[2,76],"81":[2,76],"82":[2,76],"83":[2,76],"84":[2,76],"87":[2,76],"96":[2,76],"97":[2,76],"98":[2,76],"103":[2,76],"112":[2,76],"114":[2,76],"115":[2,76],"116":[2,76],"120":[2,76],"126":[2,76],"127":[2,76],"128":[2,76],"137":[2,76],"138":[2,76],"139":[2,76],"140":[2,76],"141":[2,76],"142":[2,76],"143":[2,76],"144":[2,76],"145":[2,76],"146":[2,76],"147":[2,76],"148":[2,76],"149":[2,76],"150":[2,76],"151":[2,76]},{"1":[2,77],"4":[2,77],"29":[2,77],"30":[2,77],"46":[2,77],"51":[2,77],"59":[2,77],"63":[2,77],"75":[2,77],"76":[2,77],"77":[2,77],"78":[2,77],"81":[2,77],"82":[2,77],"83":[2,77],"84":[2,77],"87":[2,77],"96":[2,77],"97":[2,77],"98":[2,77],"103":[2,77],"112":[2,77],"114":[2,77],"115":[2,77],"116":[2,77],"120":[2,77],"126":[2,77],"127":[2,77],"128":[2,77],"137":[2,77],"138":[2,77],"139":[2,77],"140":[2,77],"141":[2,77],"142":[2,77],"143":[2,77],"144":[2,77],"145":[2,77],"146":[2,77],"147":[2,77],"148":[2,77],"149":[2,77],"150":[2,77],"151":[2,77]},{"1":[2,35],"4":[2,35],"29":[2,35],"30":[2,35],"51":[2,35],"59":[2,35],"63":[2,35],"75":[2,35],"76":[2,35],"77":[2,35],"78":[2,35],"81":[2,35],"82":[2,35],"83":[2,35],"84":[2,35],"87":[2,35],"96":[2,35],"97":[2,35],"98":[2,35],"103":[2,35],"112":[2,35],"114":[2,35],"115":[2,35],"116":[2,35],"120":[2,35],"126":[2,35],"127":[2,35],"128":[2,35],"137":[2,35],"138":[2,35],"139":[2,35],"140":[2,35],"141":[2,35],"142":[2,35],"143":[2,35],"144":[2,35],"145":[2,35],"146":[2,35],"147":[2,35],"148":[2,35],"149":[2,35],"150":[2,35],"151":[2,35]},{"1":[2,36],"4":[2,36],"29":[2,36],"30":[2,36],"51":[2,36],"59":[2,36],"63":[2,36],"75":[2,36],"76":[2,36],"77":[2,36],"78":[2,36],"81":[2,36],"82":[2,36],"83":[2,36],"84":[2,36],"87":[2,36],"96":[2,36],"97":[2,36],"98":[2,36],"103":[2,36],"112":[2,36],"114":[2,36],"115":[2,36],"116":[2,36],"120":[2,36],"126":[2,36],"127":[2,36],"128":[2,36],"137":[2,36],"138":[2,36],"139":[2,36],"140":[2,36],"141":[2,36],"142":[2,36],"143":[2,36],"144":[2,36],"145":[2,36],"146":[2,36],"147":[2,36],"148":[2,36],"149":[2,36],"150":[2,36],"151":[2,36]},{"1":[2,37],"4":[2,37],"29":[2,37],"30":[2,37],"51":[2,37],"59":[2,37],"63":[2,37],"75":[2,37],"76":[2,37],"77":[2,37],"78":[2,37],"81":[2,37],"82":[2,37],"83":[2,37],"84":[2,37],"87":[2,37],"96":[2,37],"97":[2,37],"98":[2,37],"103":[2,37],"112":[2,37],"114":[2,37],"115":[2,37],"116":[2,37],"120":[2,37],"126":[2,37],"127":[2,37],"128":[2,37],"137":[2,37],"138":[2,37],"139":[2,37],"140":[2,37],"141":[2,37],"142":[2,37],"143":[2,37],"144":[2,37],"145":[2,37],"146":[2,37],"147":[2,37],"148":[2,37],"149":[2,37],"150":[2,37],"151":[2,37]},{"1":[2,38],"4":[2,38],"29":[2,38],"30":[2,38],"51":[2,38],"59":[2,38],"63":[2,38],"75":[2,38],"76":[2,38],"77":[2,38],"78":[2,38],"81":[2,38],"82":[2,38],"83":[2,38],"84":[2,38],"87":[2,38],"96":[2,38],"97":[2,38],"98":[2,38],"103":[2,38],"112":[2,38],"114":[2,38],"115":[2,38],"116":[2,38],"120":[2,38],"126":[2,38],"127":[2,38],"128":[2,38],"137":[2,38],"138":[2,38],"139":[2,38],"140":[2,38],"141":[2,38],"142":[2,38],"143":[2,38],"144":[2,38],"145":[2,38],"146":[2,38],"147":[2,38],"148":[2,38],"149":[2,38],"150":[2,38],"151":[2,38]},{"1":[2,39],"4":[2,39],"29":[2,39],"30":[2,39],"51":[2,39],"59":[2,39],"63":[2,39],"75":[2,39],"76":[2,39],"77":[2,39],"78":[2,39],"81":[2,39],"82":[2,39],"83":[2,39],"84":[2,39],"87":[2,39],"96":[2,39],"97":[2,39],"98":[2,39],"103":[2,39],"112":[2,39],"114":[2,39],"115":[2,39],"116":[2,39],"120":[2,39],"126":[2,39],"127":[2,39],"128":[2,39],"137":[2,39],"138":[2,39],"139":[2,39],"140":[2,39],"141":[2,39],"142":[2,39],"143":[2,39],"144":[2,39],"145":[2,39],"146":[2,39],"147":[2,39],"148":[2,39],"149":[2,39],"150":[2,39],"151":[2,39]},{"1":[2,40],"4":[2,40],"29":[2,40],"30":[2,40],"51":[2,40],"59":[2,40],"63":[2,40],"75":[2,40],"76":[2,40],"77":[2,40],"78":[2,40],"81":[2,40],"82":[2,40],"83":[2,40],"84":[2,40],"87":[2,40],"96":[2,40],"97":[2,40],"98":[2,40],"103":[2,40],"112":[2,40],"114":[2,40],"115":[2,40],"116":[2,40],"120":[2,40],"126":[2,40],"127":[2,40],"128":[2,40],"137":[2,40],"138":[2,40],"139":[2,40],"140":[2,40],"141":[2,40],"142":[2,40],"143":[2,40],"144":[2,40],"145":[2,40],"146":[2,40],"147":[2,40],"148":[2,40],"149":[2,40],"150":[2,40],"151":[2,40]},{"1":[2,41],"4":[2,41],"29":[2,41],"30":[2,41],"51":[2,41],"59":[2,41],"63":[2,41],"75":[2,41],"76":[2,41],"77":[2,41],"78":[2,41],"81":[2,41],"82":[2,41],"83":[2,41],"84":[2,41],"87":[2,41],"96":[2,41],"97":[2,41],"98":[2,41],"103":[2,41],"112":[2,41],"114":[2,41],"115":[2,41],"116":[2,41],"120":[2,41],"126":[2,41],"127":[2,41],"128":[2,41],"137":[2,41],"138":[2,41],"139":[2,41],"140":[2,41],"141":[2,41],"142":[2,41],"143":[2,41],"144":[2,41],"145":[2,41],"146":[2,41],"147":[2,41],"148":[2,41],"149":[2,41],"150":[2,41],"151":[2,41]},{"1":[2,42],"4":[2,42],"29":[2,42],"30":[2,42],"51":[2,42],"59":[2,42],"63":[2,42],"75":[2,42],"76":[2,42],"77":[2,42],"78":[2,42],"81":[2,42],"82":[2,42],"83":[2,42],"84":[2,42],"87":[2,42],"96":[2,42],"97":[2,42],"98":[2,42],"103":[2,42],"112":[2,42],"114":[2,42],"115":[2,42],"116":[2,42],"120":[2,42],"126":[2,42],"127":[2,42],"128":[2,42],"137":[2,42],"138":[2,42],"139":[2,42],"140":[2,42],"141":[2,42],"142":[2,42],"143":[2,42],"144":[2,42],"145":[2,42],"146":[2,42],"147":[2,42],"148":[2,42],"149":[2,42],"150":[2,42],"151":[2,42]},{"1":[2,43],"4":[2,43],"29":[2,43],"30":[2,43],"51":[2,43],"59":[2,43],"63":[2,43],"75":[2,43],"76":[2,43],"77":[2,43],"78":[2,43],"81":[2,43],"82":[2,43],"83":[2,43],"84":[2,43],"87":[2,43],"96":[2,43],"97":[2,43],"98":[2,43],"103":[2,43],"112":[2,43],"114":[2,43],"115":[2,43],"116":[2,43],"120":[2,43],"126":[2,43],"127":[2,43],"128":[2,43],"137":[2,43],"138":[2,43],"139":[2,43],"140":[2,43],"141":[2,43],"142":[2,43],"143":[2,43],"144":[2,43],"145":[2,43],"146":[2,43],"147":[2,43],"148":[2,43],"149":[2,43],"150":[2,43],"151":[2,43]},{"7":158,"8":7,"9":8,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"112":[1,159],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":160,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,164],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"64":165,"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"99":162,"100":[1,67],"102":[1,66],"103":[1,161],"104":163,"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,122],"4":[2,122],"29":[2,122],"30":[2,122],"51":[2,122],"59":[2,122],"63":[2,122],"75":[2,122],"76":[2,122],"77":[2,122],"78":[2,122],"81":[2,122],"82":[2,122],"83":[2,122],"84":[2,122],"87":[2,122],"96":[2,122],"97":[2,122],"98":[2,122],"103":[2,122],"112":[2,122],"114":[2,122],"115":[2,122],"116":[2,122],"120":[2,122],"126":[2,122],"127":[2,122],"128":[2,122],"137":[2,122],"138":[2,122],"139":[2,122],"140":[2,122],"141":[2,122],"142":[2,122],"143":[2,122],"144":[2,122],"145":[2,122],"146":[2,122],"147":[2,122],"148":[2,122],"149":[2,122],"150":[2,122],"151":[2,122]},{"1":[2,123],"4":[2,123],"29":[2,123],"30":[2,123],"31":166,"32":[1,84],"51":[2,123],"59":[2,123],"63":[2,123],"75":[2,123],"76":[2,123],"77":[2,123],"78":[2,123],"81":[2,123],"82":[2,123],"83":[2,123],"84":[2,123],"87":[2,123],"96":[2,123],"97":[2,123],"98":[2,123],"103":[2,123],"112":[2,123],"114":[2,123],"115":[2,123],"116":[2,123],"120":[2,123],"126":[2,123],"127":[2,123],"128":[2,123],"137":[2,123],"138":[2,123],"139":[2,123],"140":[2,123],"141":[2,123],"142":[2,123],"143":[2,123],"144":[2,123],"145":[2,123],"146":[2,123],"147":[2,123],"148":[2,123],"149":[2,123],"150":[2,123],"151":[2,123]},{"1":[2,116],"4":[2,116],"29":[2,116],"30":[2,116],"51":[2,116],"59":[2,116],"63":[2,116],"75":[2,116],"76":[2,116],"77":[2,116],"78":[2,116],"81":[2,116],"82":[2,116],"83":[2,116],"84":[2,116],"87":[2,116],"94":167,"96":[2,116],"97":[1,168],"98":[2,116],"103":[2,116],"112":[2,116],"114":[2,116],"115":[2,116],"116":[2,116],"120":[2,116],"126":[2,116],"127":[2,116],"128":[2,116],"137":[2,116],"138":[2,116],"139":[2,116],"140":[2,116],"141":[2,116],"142":[2,116],"143":[2,116],"144":[2,116],"145":[2,116],"146":[2,116],"147":[2,116],"148":[2,116],"149":[2,116],"151":[2,116]},{"4":[2,59],"29":[2,59]},{"4":[2,60],"29":[2,60]},{"8":169,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":170,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":171,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":172,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"4":[1,138],"6":173,"8":174,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,6],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"31":179,"32":[1,84],"69":180,"70":181,"72":175,"85":[1,81],"102":[1,66],"123":176,"124":[1,177],"125":178},{"122":182,"126":[1,183],"127":[1,184]},{"1":[2,71],"4":[2,71],"29":[2,71],"30":[2,71],"46":[2,71],"51":[2,71],"59":[2,71],"63":[2,71],"75":[2,71],"76":[2,71],"77":[2,71],"78":[2,71],"81":[2,71],"82":[2,71],"83":[2,71],"84":[2,71],"87":[2,71],"89":[2,71],"96":[2,71],"97":[2,71],"98":[2,71],"103":[2,71],"112":[2,71],"114":[2,71],"115":[2,71],"116":[2,71],"120":[2,71],"126":[2,71],"127":[2,71],"128":[2,71],"137":[2,71],"138":[2,71],"139":[2,71],"140":[2,71],"141":[2,71],"142":[2,71],"143":[2,71],"144":[2,71],"145":[2,71],"146":[2,71],"147":[2,71],"148":[2,71],"149":[2,71],"150":[2,71],"151":[2,71]},{"1":[2,74],"4":[2,74],"29":[2,74],"30":[2,74],"46":[2,74],"51":[2,74],"59":[2,74],"63":[2,74],"75":[2,74],"76":[2,74],"77":[2,74],"78":[2,74],"81":[2,74],"82":[2,74],"83":[2,74],"84":[2,74],"87":[2,74],"89":[2,74],"96":[2,74],"97":[2,74],"98":[2,74],"103":[2,74],"112":[2,74],"114":[2,74],"115":[2,74],"116":[2,74],"120":[2,74],"126":[2,74],"127":[2,74],"128":[2,74],"137":[2,74],"138":[2,74],"139":[2,74],"140":[2,74],"141":[2,74],"142":[2,74],"143":[2,74],"144":[2,74],"145":[2,74],"146":[2,74],"147":[2,74],"148":[2,74],"149":[2,74],"150":[2,74],"151":[2,74]},{"4":[2,94],"28":189,"29":[2,94],"31":187,"32":[1,84],"33":188,"34":[1,82],"35":[1,83],"47":186,"50":[1,51],"59":[2,94],"86":185,"87":[2,94]},{"1":[2,33],"4":[2,33],"29":[2,33],"30":[2,33],"48":[2,33],"51":[2,33],"59":[2,33],"63":[2,33],"75":[2,33],"76":[2,33],"77":[2,33],"78":[2,33],"81":[2,33],"82":[2,33],"83":[2,33],"84":[2,33],"87":[2,33],"96":[2,33],"97":[2,33],"98":[2,33],"103":[2,33],"112":[2,33],"114":[2,33],"115":[2,33],"116":[2,33],"120":[2,33],"126":[2,33],"127":[2,33],"128":[2,33],"137":[2,33],"138":[2,33],"139":[2,33],"140":[2,33],"141":[2,33],"142":[2,33],"143":[2,33],"144":[2,33],"145":[2,33],"146":[2,33],"147":[2,33],"148":[2,33],"149":[2,33],"150":[2,33],"151":[2,33]},{"1":[2,34],"4":[2,34],"29":[2,34],"30":[2,34],"48":[2,34],"51":[2,34],"59":[2,34],"63":[2,34],"75":[2,34],"76":[2,34],"77":[2,34],"78":[2,34],"81":[2,34],"82":[2,34],"83":[2,34],"84":[2,34],"87":[2,34],"96":[2,34],"97":[2,34],"98":[2,34],"103":[2,34],"112":[2,34],"114":[2,34],"115":[2,34],"116":[2,34],"120":[2,34],"126":[2,34],"127":[2,34],"128":[2,34],"137":[2,34],"138":[2,34],"139":[2,34],"140":[2,34],"141":[2,34],"142":[2,34],"143":[2,34],"144":[2,34],"145":[2,34],"146":[2,34],"147":[2,34],"148":[2,34],"149":[2,34],"150":[2,34],"151":[2,34]},{"1":[2,32],"4":[2,32],"29":[2,32],"30":[2,32],"46":[2,32],"48":[2,32],"51":[2,32],"59":[2,32],"63":[2,32],"75":[2,32],"76":[2,32],"77":[2,32],"78":[2,32],"81":[2,32],"82":[2,32],"83":[2,32],"84":[2,32],"87":[2,32],"89":[2,32],"96":[2,32],"97":[2,32],"98":[2,32],"103":[2,32],"112":[2,32],"114":[2,32],"115":[2,32],"116":[2,32],"120":[2,32],"126":[2,32],"127":[2,32],"128":[2,32],"137":[2,32],"138":[2,32],"139":[2,32],"140":[2,32],"141":[2,32],"142":[2,32],"143":[2,32],"144":[2,32],"145":[2,32],"146":[2,32],"147":[2,32],"148":[2,32],"149":[2,32],"150":[2,32],"151":[2,32]},{"1":[2,31],"4":[2,31],"29":[2,31],"30":[2,31],"51":[2,31],"59":[2,31],"63":[2,31],"82":[2,31],"87":[2,31],"98":[2,31],"103":[2,31],"108":[2,31],"109":[2,31],"112":[2,31],"114":[2,31],"115":[2,31],"116":[2,31],"120":[2,31],"126":[2,31],"127":[2,31],"128":[2,31],"131":[2,31],"133":[2,31],"137":[2,31],"138":[2,31],"139":[2,31],"140":[2,31],"141":[2,31],"142":[2,31],"143":[2,31],"144":[2,31],"145":[2,31],"146":[2,31],"147":[2,31],"148":[2,31],"149":[2,31],"151":[2,31]},{"1":[2,7],"4":[2,7],"7":190,"8":7,"9":8,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"30":[2,7],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,4]},{"4":[1,86],"30":[1,191]},{"1":[2,30],"4":[2,30],"29":[2,30],"30":[2,30],"51":[2,30],"59":[2,30],"63":[2,30],"82":[2,30],"87":[2,30],"98":[2,30],"103":[2,30],"108":[2,30],"109":[2,30],"112":[2,30],"114":[2,30],"115":[2,30],"116":[2,30],"120":[2,30],"126":[2,30],"127":[2,30],"128":[2,30],"131":[2,30],"133":[2,30],"137":[2,30],"138":[2,30],"139":[2,30],"140":[2,30],"141":[2,30],"142":[2,30],"143":[2,30],"144":[2,30],"145":[2,30],"146":[2,30],"147":[2,30],"148":[2,30],"149":[2,30],"151":[2,30]},{"1":[2,200],"4":[2,200],"29":[2,200],"30":[2,200],"51":[2,200],"59":[2,200],"63":[2,200],"82":[2,200],"87":[2,200],"98":[2,200],"103":[2,200],"112":[2,200],"114":[2,200],"115":[2,200],"116":[2,200],"120":[2,200],"126":[2,200],"127":[2,200],"128":[2,200],"137":[2,200],"138":[2,200],"139":[2,200],"140":[2,200],"141":[2,200],"142":[2,200],"143":[2,200],"144":[2,200],"145":[2,200],"146":[2,200],"147":[2,200],"148":[2,200],"149":[2,200],"151":[2,200]},{"1":[2,201],"4":[2,201],"29":[2,201],"30":[2,201],"51":[2,201],"59":[2,201],"63":[2,201],"82":[2,201],"87":[2,201],"98":[2,201],"103":[2,201],"112":[2,201],"114":[2,201],"115":[2,201],"116":[2,201],"120":[2,201],"126":[2,201],"127":[2,201],"128":[2,201],"137":[2,201],"138":[2,201],"139":[2,201],"140":[2,201],"141":[2,201],"142":[2,201],"143":[2,201],"144":[2,201],"145":[2,201],"146":[2,201],"147":[2,201],"148":[2,201],"149":[2,201],"151":[2,201]},{"1":[2,56],"4":[2,56],"8":192,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[2,56],"30":[2,56],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"51":[2,56],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"59":[2,56],"62":[1,68],"63":[2,56],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"82":[2,56],"85":[1,81],"87":[2,56],"88":[1,50],"92":[1,35],"95":[1,69],"98":[2,56],"100":[1,67],"102":[1,66],"103":[2,56],"106":[1,44],"110":[1,53],"111":[1,65],"112":[2,56],"113":45,"114":[2,56],"115":[2,56],"116":[2,56],"117":46,"118":[1,76],"119":47,"120":[2,56],"121":78,"126":[2,56],"127":[2,56],"128":[2,56],"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"137":[2,56],"138":[2,56],"139":[2,56],"140":[2,56],"141":[2,56],"142":[2,56],"143":[2,56],"144":[2,56],"145":[2,56],"146":[2,56],"147":[2,56],"148":[2,56],"149":[2,56],"151":[2,56]},{"8":193,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":194,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":195,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":196,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":197,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":198,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":199,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":200,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":201,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":202,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":203,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"126":[1,204],"127":[1,205],"151":[1,206]},{"8":207,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":208,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,155],"4":[2,155],"29":[2,155],"30":[2,155],"51":[2,155],"59":[2,155],"63":[2,155],"82":[2,155],"87":[2,155],"98":[2,155],"103":[2,155],"112":[2,155],"114":[2,155],"115":[2,155],"116":[2,155],"120":[2,155],"126":[2,155],"127":[2,155],"128":[2,155],"137":[2,155],"138":[2,155],"139":[2,155],"140":[2,155],"141":[2,155],"142":[2,155],"143":[2,155],"144":[2,155],"145":[2,155],"146":[2,155],"147":[2,155],"148":[2,155],"149":[2,155],"151":[2,155]},{"1":[2,160],"4":[2,160],"29":[2,160],"30":[2,160],"51":[2,160],"59":[2,160],"63":[2,160],"82":[2,160],"87":[2,160],"98":[2,160],"103":[2,160],"112":[2,160],"114":[2,160],"115":[2,160],"116":[2,160],"120":[2,160],"126":[2,160],"127":[2,160],"128":[2,160],"137":[2,160],"138":[2,160],"139":[2,160],"140":[2,160],"141":[2,160],"142":[2,160],"143":[2,160],"144":[2,160],"145":[2,160],"146":[2,160],"147":[2,160],"148":[2,160],"149":[2,160],"151":[2,160]},{"8":209,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":210,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,154],"4":[2,154],"29":[2,154],"30":[2,154],"51":[2,154],"59":[2,154],"63":[2,154],"82":[2,154],"87":[2,154],"98":[2,154],"103":[2,154],"112":[2,154],"114":[2,154],"115":[2,154],"116":[2,154],"120":[2,154],"126":[2,154],"127":[2,154],"128":[2,154],"137":[2,154],"138":[2,154],"139":[2,154],"140":[2,154],"141":[2,154],"142":[2,154],"143":[2,154],"144":[2,154],"145":[2,154],"146":[2,154],"147":[2,154],"148":[2,154],"149":[2,154],"151":[2,154]},{"1":[2,159],"4":[2,159],"29":[2,159],"30":[2,159],"51":[2,159],"59":[2,159],"63":[2,159],"82":[2,159],"87":[2,159],"98":[2,159],"103":[2,159],"112":[2,159],"114":[2,159],"115":[2,159],"116":[2,159],"120":[2,159],"126":[2,159],"127":[2,159],"128":[2,159],"137":[2,159],"138":[2,159],"139":[2,159],"140":[2,159],"141":[2,159],"142":[2,159],"143":[2,159],"144":[2,159],"145":[2,159],"146":[2,159],"147":[2,159],"148":[2,159],"149":[2,159],"151":[2,159]},{"8":211,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,212],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"94":213,"97":[1,168]},{"1":[2,72],"4":[2,72],"29":[2,72],"30":[2,72],"46":[2,72],"51":[2,72],"59":[2,72],"63":[2,72],"75":[2,72],"76":[2,72],"77":[2,72],"78":[2,72],"81":[2,72],"82":[2,72],"83":[2,72],"84":[2,72],"87":[2,72],"89":[2,72],"96":[2,72],"97":[2,72],"98":[2,72],"103":[2,72],"112":[2,72],"114":[2,72],"115":[2,72],"116":[2,72],"120":[2,72],"126":[2,72],"127":[2,72],"128":[2,72],"137":[2,72],"138":[2,72],"139":[2,72],"140":[2,72],"141":[2,72],"142":[2,72],"143":[2,72],"144":[2,72],"145":[2,72],"146":[2,72],"147":[2,72],"148":[2,72],"149":[2,72],"150":[2,72],"151":[2,72]},{"97":[2,119]},{"31":214,"32":[1,84]},{"31":215,"32":[1,84]},{"1":[2,86],"4":[2,86],"29":[2,86],"30":[2,86],"46":[2,86],"51":[2,86],"59":[2,86],"63":[2,86],"75":[2,86],"76":[2,86],"77":[2,86],"78":[2,86],"81":[2,86],"82":[2,86],"83":[2,86],"84":[2,86],"87":[2,86],"89":[2,86],"96":[2,86],"97":[2,86],"98":[2,86],"103":[2,86],"112":[2,86],"114":[2,86],"115":[2,86],"116":[2,86],"120":[2,86],"126":[2,86],"127":[2,86],"128":[2,86],"137":[2,86],"138":[2,86],"139":[2,86],"140":[2,86],"141":[2,86],"142":[2,86],"143":[2,86],"144":[2,86],"145":[2,86],"146":[2,86],"147":[2,86],"148":[2,86],"149":[2,86],"150":[2,86],"151":[2,86]},{"31":216,"32":[1,84]},{"1":[2,88],"4":[2,88],"29":[2,88],"30":[2,88],"46":[2,88],"51":[2,88],"59":[2,88],"63":[2,88],"75":[2,88],"76":[2,88],"77":[2,88],"78":[2,88],"81":[2,88],"82":[2,88],"83":[2,88],"84":[2,88],"87":[2,88],"89":[2,88],"96":[2,88],"97":[2,88],"98":[2,88],"103":[2,88],"112":[2,88],"114":[2,88],"115":[2,88],"116":[2,88],"120":[2,88],"126":[2,88],"127":[2,88],"128":[2,88],"137":[2,88],"138":[2,88],"139":[2,88],"140":[2,88],"141":[2,88],"142":[2,88],"143":[2,88],"144":[2,88],"145":[2,88],"146":[2,88],"147":[2,88],"148":[2,88],"149":[2,88],"150":[2,88],"151":[2,88]},{"1":[2,89],"4":[2,89],"29":[2,89],"30":[2,89],"46":[2,89],"51":[2,89],"59":[2,89],"63":[2,89],"75":[2,89],"76":[2,89],"77":[2,89],"78":[2,89],"81":[2,89],"82":[2,89],"83":[2,89],"84":[2,89],"87":[2,89],"89":[2,89],"96":[2,89],"97":[2,89],"98":[2,89],"103":[2,89],"112":[2,89],"114":[2,89],"115":[2,89],"116":[2,89],"120":[2,89],"126":[2,89],"127":[2,89],"128":[2,89],"137":[2,89],"138":[2,89],"139":[2,89],"140":[2,89],"141":[2,89],"142":[2,89],"143":[2,89],"144":[2,89],"145":[2,89],"146":[2,89],"147":[2,89],"148":[2,89],"149":[2,89],"150":[2,89],"151":[2,89]},{"8":217,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"63":[1,219],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"101":218,"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"79":220,"81":[1,221],"83":[1,124],"84":[1,125]},{"79":222,"81":[1,221],"83":[1,124],"84":[1,125]},{"8":223,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,224],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"94":225,"97":[1,168]},{"1":[2,73],"4":[2,73],"29":[2,73],"30":[2,73],"46":[2,73],"51":[2,73],"59":[2,73],"63":[2,73],"75":[2,73],"76":[2,73],"77":[2,73],"78":[2,73],"81":[2,73],"82":[2,73],"83":[2,73],"84":[2,73],"87":[2,73],"89":[2,73],"96":[2,73],"97":[2,73],"98":[2,73],"103":[2,73],"112":[2,73],"114":[2,73],"115":[2,73],"116":[2,73],"120":[2,73],"126":[2,73],"127":[2,73],"128":[2,73],"137":[2,73],"138":[2,73],"139":[2,73],"140":[2,73],"141":[2,73],"142":[2,73],"143":[2,73],"144":[2,73],"145":[2,73],"146":[2,73],"147":[2,73],"148":[2,73],"149":[2,73],"150":[2,73],"151":[2,73]},{"1":[2,111],"4":[2,111],"29":[2,111],"30":[2,111],"51":[2,111],"59":[2,111],"63":[2,111],"66":128,"75":[1,117],"76":[1,118],"77":[1,119],"78":[1,120],"79":121,"80":122,"81":[1,123],"82":[2,111],"83":[1,124],"84":[1,125],"87":[2,111],"93":127,"96":[1,116],"97":[2,118],"98":[2,111],"103":[2,111],"112":[2,111],"114":[2,111],"115":[2,111],"116":[2,111],"120":[2,111],"126":[2,111],"127":[2,111],"128":[2,111],"137":[2,111],"138":[2,111],"139":[2,111],"140":[2,111],"141":[2,111],"142":[2,111],"143":[2,111],"144":[2,111],"145":[2,111],"146":[2,111],"147":[2,111],"148":[2,111],"149":[2,111],"151":[2,111]},{"1":[2,112],"4":[2,112],"29":[2,112],"30":[2,112],"51":[2,112],"59":[2,112],"63":[2,112],"66":115,"75":[1,117],"76":[1,118],"77":[1,119],"78":[1,120],"79":121,"80":122,"81":[1,123],"82":[2,112],"83":[1,124],"84":[1,125],"87":[2,112],"93":114,"96":[1,116],"97":[2,118],"98":[2,112],"103":[2,112],"112":[2,112],"114":[2,112],"115":[2,112],"116":[2,112],"120":[2,112],"126":[2,112],"127":[2,112],"128":[2,112],"137":[2,112],"138":[2,112],"139":[2,112],"140":[2,112],"141":[2,112],"142":[2,112],"143":[2,112],"144":[2,112],"145":[2,112],"146":[2,112],"147":[2,112],"148":[2,112],"149":[2,112],"151":[2,112]},{"1":[2,78],"4":[2,78],"29":[2,78],"30":[2,78],"51":[2,78],"59":[2,78],"63":[2,78],"75":[2,78],"76":[2,78],"77":[2,78],"78":[2,78],"81":[2,78],"82":[2,78],"83":[2,78],"84":[2,78],"87":[2,78],"96":[2,78],"97":[2,78],"98":[2,78],"103":[2,78],"112":[2,78],"114":[2,78],"115":[2,78],"116":[2,78],"120":[2,78],"126":[2,78],"127":[2,78],"128":[2,78],"137":[2,78],"138":[2,78],"139":[2,78],"140":[2,78],"141":[2,78],"142":[2,78],"143":[2,78],"144":[2,78],"145":[2,78],"146":[2,78],"147":[2,78],"148":[2,78],"149":[2,78],"151":[2,78]},{"1":[2,75],"4":[2,75],"29":[2,75],"30":[2,75],"51":[2,75],"59":[2,75],"63":[2,75],"75":[2,75],"76":[2,75],"77":[2,75],"78":[2,75],"81":[2,75],"82":[2,75],"83":[2,75],"84":[2,75],"87":[2,75],"96":[2,75],"97":[2,75],"98":[2,75],"103":[2,75],"112":[2,75],"114":[2,75],"115":[2,75],"116":[2,75],"120":[2,75],"126":[2,75],"127":[2,75],"128":[2,75],"137":[2,75],"138":[2,75],"139":[2,75],"140":[2,75],"141":[2,75],"142":[2,75],"143":[2,75],"144":[2,75],"145":[2,75],"146":[2,75],"147":[2,75],"148":[2,75],"149":[2,75],"151":[2,75]},{"54":[1,226],"59":[1,227]},{"54":[2,64],"59":[2,64]},{"54":[2,66],"59":[2,66],"63":[1,228]},{"61":[1,229]},{"1":[2,58],"4":[2,58],"29":[2,58],"30":[2,58],"51":[2,58],"59":[2,58],"63":[2,58],"82":[2,58],"87":[2,58],"98":[2,58],"103":[2,58],"112":[2,58],"114":[2,58],"115":[2,58],"116":[2,58],"120":[2,58],"126":[2,58],"127":[2,58],"128":[2,58],"137":[2,58],"138":[2,58],"139":[2,58],"140":[2,58],"141":[2,58],"142":[2,58],"143":[2,58],"144":[2,58],"145":[2,58],"146":[2,58],"147":[2,58],"148":[2,58],"149":[2,58],"151":[2,58]},{"28":85,"50":[1,51]},{"1":[2,195],"4":[2,195],"29":[2,195],"30":[2,195],"51":[1,92],"59":[2,195],"63":[2,195],"82":[2,195],"87":[2,195],"98":[2,195],"103":[2,195],"112":[2,195],"113":107,"114":[2,195],"115":[2,195],"116":[2,195],"119":108,"120":[2,195],"121":78,"126":[2,195],"127":[2,195],"128":[2,195],"137":[2,195],"138":[2,195],"139":[1,104],"140":[2,195],"141":[2,195],"142":[1,90],"143":[1,91],"144":[2,195],"145":[2,195],"146":[2,195],"147":[2,195],"148":[2,195],"149":[2,195],"151":[2,195]},{"113":111,"114":[1,74],"116":[1,75],"119":112,"120":[1,77],"121":78,"137":[1,109],"138":[1,110]},{"1":[2,196],"4":[2,196],"29":[2,196],"30":[2,196],"51":[1,92],"59":[2,196],"63":[2,196],"82":[2,196],"87":[2,196],"98":[2,196],"103":[2,196],"112":[2,196],"113":107,"114":[2,196],"115":[2,196],"116":[2,196],"119":108,"120":[2,196],"121":78,"126":[2,196],"127":[2,196],"128":[2,196],"137":[2,196],"138":[2,196],"139":[1,104],"140":[2,196],"141":[2,196],"142":[1,90],"143":[1,91],"144":[2,196],"145":[2,196],"146":[2,196],"147":[2,196],"148":[2,196],"149":[2,196],"151":[2,196]},{"1":[2,197],"4":[2,197],"29":[2,197],"30":[2,197],"51":[1,92],"59":[2,197],"63":[2,197],"82":[2,197],"87":[2,197],"98":[2,197],"103":[2,197],"112":[2,197],"113":107,"114":[2,197],"115":[2,197],"116":[2,197],"119":108,"120":[2,197],"121":78,"126":[2,197],"127":[2,197],"128":[2,197],"137":[2,197],"138":[2,197],"139":[1,104],"140":[2,197],"141":[2,197],"142":[1,90],"143":[1,91],"144":[2,197],"145":[2,197],"146":[2,197],"147":[2,197],"148":[2,197],"149":[2,197],"151":[2,197]},{"1":[2,198],"4":[2,198],"29":[2,198],"30":[2,198],"51":[1,92],"59":[2,198],"63":[2,198],"82":[2,198],"87":[2,198],"98":[2,198],"103":[2,198],"112":[2,198],"113":107,"114":[2,198],"115":[2,198],"116":[2,198],"119":108,"120":[2,198],"121":78,"126":[2,198],"127":[2,198],"128":[2,198],"137":[2,198],"138":[2,198],"139":[2,198],"140":[2,198],"141":[2,198],"144":[2,198],"145":[2,198],"146":[2,198],"147":[2,198],"148":[2,198],"149":[2,198],"151":[2,198]},{"1":[2,199],"4":[2,199],"29":[2,199],"30":[2,199],"51":[1,92],"59":[2,199],"63":[2,199],"82":[2,199],"87":[2,199],"98":[2,199],"103":[2,199],"112":[2,199],"113":107,"114":[2,199],"115":[2,199],"116":[2,199],"119":108,"120":[2,199],"121":78,"126":[2,199],"127":[2,199],"128":[2,199],"137":[2,199],"138":[2,199],"139":[2,199],"140":[2,199],"141":[2,199],"144":[2,199],"145":[2,199],"146":[2,199],"147":[2,199],"148":[2,199],"149":[2,199],"151":[2,199]},{"4":[1,138],"6":231,"29":[1,6],"135":[1,230]},{"107":232,"108":[1,233],"109":[1,234]},{"1":[2,153],"4":[2,153],"29":[2,153],"30":[2,153],"51":[2,153],"59":[2,153],"63":[2,153],"82":[2,153],"87":[2,153],"98":[2,153],"103":[2,153],"112":[2,153],"114":[2,153],"115":[2,153],"116":[2,153],"120":[2,153],"126":[2,153],"127":[2,153],"128":[2,153],"137":[2,153],"138":[2,153],"139":[2,153],"140":[2,153],"141":[2,153],"142":[2,153],"143":[2,153],"144":[2,153],"145":[2,153],"146":[2,153],"147":[2,153],"148":[2,153],"149":[2,153],"151":[2,153]},{"1":[2,161],"4":[2,161],"29":[2,161],"30":[2,161],"51":[2,161],"59":[2,161],"63":[2,161],"82":[2,161],"87":[2,161],"98":[2,161],"103":[2,161],"112":[2,161],"114":[2,161],"115":[2,161],"116":[2,161],"120":[2,161],"126":[2,161],"127":[2,161],"128":[2,161],"137":[2,161],"138":[2,161],"139":[2,161],"140":[2,161],"141":[2,161],"142":[2,161],"143":[2,161],"144":[2,161],"145":[2,161],"146":[2,161],"147":[2,161],"148":[2,161],"149":[2,161],"151":[2,161]},{"29":[1,235],"51":[1,92],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"130":236,"132":237,"133":[1,238]},{"15":239,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":131,"62":[1,68],"65":132,"67":155,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"95":[1,69],"100":[1,67],"102":[1,66],"111":[1,65]},{"1":[2,99],"4":[2,99],"29":[1,241],"30":[2,99],"51":[2,99],"59":[2,99],"63":[2,99],"75":[2,75],"76":[2,75],"77":[2,75],"78":[2,75],"81":[2,75],"82":[2,99],"83":[2,75],"84":[2,75],"87":[2,99],"89":[1,240],"96":[2,75],"97":[2,75],"98":[2,99],"103":[2,99],"112":[2,99],"114":[2,99],"115":[2,99],"116":[2,99],"120":[2,99],"126":[2,99],"127":[2,99],"128":[2,99],"137":[2,99],"138":[2,99],"139":[2,99],"140":[2,99],"141":[2,99],"142":[2,99],"143":[2,99],"144":[2,99],"145":[2,99],"146":[2,99],"147":[2,99],"148":[2,99],"149":[2,99],"151":[2,99]},{"4":[2,106],"28":189,"30":[2,106],"31":187,"32":[1,84],"33":188,"34":[1,82],"35":[1,83],"47":245,"50":[1,51],"62":[1,247],"68":246,"85":[1,244],"90":242,"91":243},{"66":115,"75":[1,117],"76":[1,118],"77":[1,119],"78":[1,120],"79":121,"80":122,"81":[1,123],"83":[1,124],"84":[1,125],"93":114,"96":[1,116],"97":[2,118]},{"66":128,"75":[1,117],"76":[1,118],"77":[1,119],"78":[1,120],"79":121,"80":122,"81":[1,123],"83":[1,124],"84":[1,125],"93":127,"96":[1,116],"97":[2,118]},{"1":[2,53],"4":[2,53],"30":[2,53],"51":[1,92],"112":[2,53],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[2,53],"138":[2,53],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,146],"4":[2,146],"30":[2,146],"51":[1,92],"112":[2,146],"113":107,"114":[2,146],"116":[2,146],"119":108,"120":[2,146],"121":78,"126":[1,101],"127":[1,102],"137":[2,146],"138":[2,146],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"112":[1,248]},{"1":[2,148],"4":[2,148],"29":[2,148],"30":[2,148],"51":[2,148],"59":[2,148],"63":[2,148],"75":[2,148],"76":[2,148],"77":[2,148],"78":[2,148],"81":[2,148],"82":[2,148],"83":[2,148],"84":[2,148],"87":[2,148],"96":[2,148],"97":[2,148],"98":[2,148],"103":[2,148],"112":[2,148],"114":[2,148],"115":[2,148],"116":[2,148],"120":[2,148],"126":[2,148],"127":[2,148],"128":[2,148],"137":[2,148],"138":[2,148],"139":[2,148],"140":[2,148],"141":[2,148],"142":[2,148],"143":[2,148],"144":[2,148],"145":[2,148],"146":[2,148],"147":[2,148],"148":[2,148],"149":[2,148],"150":[2,148],"151":[2,148]},{"4":[2,138],"29":[2,138],"51":[1,92],"59":[2,138],"63":[1,250],"101":249,"103":[2,138],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,131],"4":[2,131],"29":[2,131],"30":[2,131],"46":[2,131],"51":[2,131],"59":[2,131],"63":[2,131],"75":[2,131],"76":[2,131],"77":[2,131],"78":[2,131],"81":[2,131],"82":[2,131],"83":[2,131],"84":[2,131],"87":[2,131],"96":[2,131],"97":[2,131],"98":[2,131],"103":[2,131],"112":[2,131],"114":[2,131],"115":[2,131],"116":[2,131],"120":[2,131],"126":[2,131],"127":[2,131],"128":[2,131],"137":[2,131],"138":[2,131],"139":[2,131],"140":[2,131],"141":[2,131],"142":[2,131],"143":[2,131],"144":[2,131],"145":[2,131],"146":[2,131],"147":[2,131],"148":[2,131],"149":[2,131],"150":[2,131],"151":[2,131]},{"4":[2,61],"29":[2,61],"58":251,"59":[1,252],"103":[2,61]},{"4":[2,133],"29":[2,133],"30":[2,133],"59":[2,133],"98":[2,133],"103":[2,133]},{"8":254,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,164],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"64":165,"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"99":253,"100":[1,67],"102":[1,66],"104":163,"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"4":[2,139],"29":[2,139],"30":[2,139],"59":[2,139],"98":[2,139],"103":[2,139]},{"1":[2,126],"4":[2,126],"29":[2,126],"30":[2,126],"46":[2,126],"48":[2,126],"51":[2,126],"59":[2,126],"63":[2,126],"75":[2,126],"76":[2,126],"77":[2,126],"78":[2,126],"81":[2,126],"82":[2,126],"83":[2,126],"84":[2,126],"87":[2,126],"89":[2,126],"96":[2,126],"97":[2,126],"98":[2,126],"103":[2,126],"112":[2,126],"114":[2,126],"115":[2,126],"116":[2,126],"120":[2,126],"126":[2,126],"127":[2,126],"128":[2,126],"137":[2,126],"138":[2,126],"139":[2,126],"140":[2,126],"141":[2,126],"142":[2,126],"143":[2,126],"144":[2,126],"145":[2,126],"146":[2,126],"147":[2,126],"148":[2,126],"149":[2,126],"150":[2,126],"151":[2,126]},{"1":[2,117],"4":[2,117],"29":[2,117],"30":[2,117],"51":[2,117],"59":[2,117],"63":[2,117],"75":[2,117],"76":[2,117],"77":[2,117],"78":[2,117],"81":[2,117],"82":[2,117],"83":[2,117],"84":[2,117],"87":[2,117],"96":[2,117],"97":[2,117],"98":[2,117],"103":[2,117],"112":[2,117],"114":[2,117],"115":[2,117],"116":[2,117],"120":[2,117],"126":[2,117],"127":[2,117],"128":[2,117],"137":[2,117],"138":[2,117],"139":[2,117],"140":[2,117],"141":[2,117],"142":[2,117],"143":[2,117],"144":[2,117],"145":[2,117],"146":[2,117],"147":[2,117],"148":[2,117],"149":[2,117],"151":[2,117]},{"8":254,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,164],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"64":165,"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"98":[1,255],"99":256,"100":[1,67],"102":[1,66],"104":163,"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"4":[1,138],"6":257,"29":[1,6],"51":[1,92],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"4":[1,138],"6":258,"29":[1,6],"51":[1,92],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,149],"4":[2,149],"29":[2,149],"30":[2,149],"51":[1,92],"59":[2,149],"63":[2,149],"82":[2,149],"87":[2,149],"98":[2,149],"103":[2,149],"112":[2,149],"113":107,"114":[1,74],"115":[1,259],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"128":[2,149],"137":[2,149],"138":[2,149],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,151],"4":[2,151],"29":[2,151],"30":[2,151],"51":[1,92],"59":[2,151],"63":[2,151],"82":[2,151],"87":[2,151],"98":[2,151],"103":[2,151],"112":[2,151],"113":107,"114":[1,74],"115":[1,260],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"128":[2,151],"137":[2,151],"138":[2,151],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,157],"4":[2,157],"29":[2,157],"30":[2,157],"51":[2,157],"59":[2,157],"63":[2,157],"82":[2,157],"87":[2,157],"98":[2,157],"103":[2,157],"112":[2,157],"114":[2,157],"115":[2,157],"116":[2,157],"120":[2,157],"126":[2,157],"127":[2,157],"128":[2,157],"137":[2,157],"138":[2,157],"139":[2,157],"140":[2,157],"141":[2,157],"142":[2,157],"143":[2,157],"144":[2,157],"145":[2,157],"146":[2,157],"147":[2,157],"148":[2,157],"149":[2,157],"151":[2,157]},{"1":[2,158],"4":[2,158],"29":[2,158],"30":[2,158],"51":[1,92],"59":[2,158],"63":[2,158],"82":[2,158],"87":[2,158],"98":[2,158],"103":[2,158],"112":[2,158],"113":107,"114":[1,74],"115":[2,158],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"128":[2,158],"137":[2,158],"138":[2,158],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,162],"4":[2,162],"29":[2,162],"30":[2,162],"51":[2,162],"59":[2,162],"63":[2,162],"82":[2,162],"87":[2,162],"98":[2,162],"103":[2,162],"112":[2,162],"114":[2,162],"115":[2,162],"116":[2,162],"120":[2,162],"126":[2,162],"127":[2,162],"128":[2,162],"137":[2,162],"138":[2,162],"139":[2,162],"140":[2,162],"141":[2,162],"142":[2,162],"143":[2,162],"144":[2,162],"145":[2,162],"146":[2,162],"147":[2,162],"148":[2,162],"149":[2,162],"151":[2,162]},{"126":[2,164],"127":[2,164]},{"31":179,"32":[1,84],"69":180,"70":181,"85":[1,81],"102":[1,262],"123":261,"125":178},{"59":[1,263],"126":[2,169],"127":[2,169]},{"59":[2,166],"126":[2,166],"127":[2,166]},{"59":[2,167],"126":[2,167],"127":[2,167]},{"59":[2,168],"126":[2,168],"127":[2,168]},{"1":[2,163],"4":[2,163],"29":[2,163],"30":[2,163],"51":[2,163],"59":[2,163],"63":[2,163],"82":[2,163],"87":[2,163],"98":[2,163],"103":[2,163],"112":[2,163],"114":[2,163],"115":[2,163],"116":[2,163],"120":[2,163],"126":[2,163],"127":[2,163],"128":[2,163],"137":[2,163],"138":[2,163],"139":[2,163],"140":[2,163],"141":[2,163],"142":[2,163],"143":[2,163],"144":[2,163],"145":[2,163],"146":[2,163],"147":[2,163],"148":[2,163],"149":[2,163],"151":[2,163]},{"8":264,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":265,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"4":[2,61],"29":[2,61],"58":266,"59":[1,267],"87":[2,61]},{"4":[2,95],"29":[2,95],"30":[2,95],"59":[2,95],"87":[2,95]},{"4":[2,46],"29":[2,46],"30":[2,46],"48":[1,268],"59":[2,46],"87":[2,46]},{"4":[2,47],"29":[2,47],"30":[2,47],"48":[1,269],"59":[2,47],"87":[2,47]},{"4":[2,52],"29":[2,52],"30":[2,52],"59":[2,52],"87":[2,52]},{"1":[2,6],"4":[2,6],"30":[2,6]},{"1":[2,29],"4":[2,29],"29":[2,29],"30":[2,29],"51":[2,29],"59":[2,29],"63":[2,29],"82":[2,29],"87":[2,29],"98":[2,29],"103":[2,29],"108":[2,29],"109":[2,29],"112":[2,29],"114":[2,29],"115":[2,29],"116":[2,29],"120":[2,29],"126":[2,29],"127":[2,29],"128":[2,29],"131":[2,29],"133":[2,29],"137":[2,29],"138":[2,29],"139":[2,29],"140":[2,29],"141":[2,29],"142":[2,29],"143":[2,29],"144":[2,29],"145":[2,29],"146":[2,29],"147":[2,29],"148":[2,29],"149":[2,29],"151":[2,29]},{"1":[2,202],"4":[2,202],"29":[2,202],"30":[2,202],"51":[1,92],"59":[2,202],"63":[2,202],"82":[2,202],"87":[2,202],"98":[2,202],"103":[2,202],"112":[2,202],"113":107,"114":[2,202],"115":[2,202],"116":[2,202],"119":108,"120":[2,202],"121":78,"126":[2,202],"127":[2,202],"128":[2,202],"137":[2,202],"138":[2,202],"139":[2,202],"140":[2,202],"141":[2,202],"142":[2,202],"143":[2,202],"144":[2,202],"145":[2,202],"146":[2,202],"147":[2,202],"148":[2,202],"149":[2,202],"151":[2,202]},{"1":[2,203],"4":[2,203],"29":[2,203],"30":[2,203],"51":[1,92],"59":[2,203],"63":[2,203],"82":[2,203],"87":[2,203],"98":[2,203],"103":[2,203],"112":[2,203],"113":107,"114":[2,203],"115":[2,203],"116":[2,203],"119":108,"120":[2,203],"121":78,"126":[2,203],"127":[2,203],"128":[2,203],"137":[2,203],"138":[2,203],"139":[1,104],"140":[2,203],"141":[2,203],"142":[1,90],"143":[1,91],"144":[2,203],"145":[2,203],"146":[1,97],"147":[2,203],"148":[2,203],"149":[2,203],"151":[2,203]},{"1":[2,204],"4":[2,204],"29":[2,204],"30":[2,204],"51":[1,92],"59":[2,204],"63":[2,204],"82":[2,204],"87":[2,204],"98":[2,204],"103":[2,204],"112":[2,204],"113":107,"114":[2,204],"115":[2,204],"116":[2,204],"119":108,"120":[2,204],"121":78,"126":[2,204],"127":[2,204],"128":[2,204],"137":[2,204],"138":[2,204],"139":[1,104],"140":[2,204],"141":[2,204],"142":[1,90],"143":[1,91],"144":[2,204],"145":[2,204],"146":[1,97],"147":[2,204],"148":[2,204],"149":[2,204],"151":[2,204]},{"1":[2,205],"4":[2,205],"29":[2,205],"30":[2,205],"51":[1,92],"59":[2,205],"63":[2,205],"82":[2,205],"87":[2,205],"98":[2,205],"103":[2,205],"112":[2,205],"113":107,"114":[2,205],"115":[2,205],"116":[2,205],"119":108,"120":[2,205],"121":78,"126":[2,205],"127":[2,205],"128":[2,205],"137":[2,205],"138":[2,205],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[2,205],"145":[2,205],"146":[1,97],"147":[1,98],"148":[1,99],"149":[2,205],"151":[1,103]},{"1":[2,206],"4":[2,206],"29":[2,206],"30":[2,206],"51":[1,92],"59":[2,206],"63":[2,206],"82":[2,206],"87":[2,206],"98":[2,206],"103":[2,206],"112":[2,206],"113":107,"114":[2,206],"115":[2,206],"116":[2,206],"119":108,"120":[2,206],"121":78,"126":[2,206],"127":[2,206],"128":[2,206],"137":[2,206],"138":[2,206],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[2,206],"145":[2,206],"146":[1,97],"147":[1,98],"148":[1,99],"149":[2,206],"151":[1,103]},{"1":[2,207],"4":[2,207],"29":[2,207],"30":[2,207],"51":[1,92],"59":[2,207],"63":[2,207],"82":[2,207],"87":[2,207],"98":[2,207],"103":[2,207],"112":[2,207],"113":107,"114":[2,207],"115":[2,207],"116":[2,207],"119":108,"120":[2,207],"121":78,"126":[2,207],"127":[2,207],"128":[2,207],"137":[2,207],"138":[2,207],"139":[1,104],"140":[2,207],"141":[2,207],"142":[1,90],"143":[1,91],"144":[2,207],"145":[2,207],"146":[2,207],"147":[2,207],"148":[2,207],"149":[2,207],"151":[2,207]},{"1":[2,208],"4":[2,208],"29":[2,208],"30":[2,208],"51":[1,92],"59":[2,208],"63":[2,208],"82":[2,208],"87":[2,208],"98":[2,208],"103":[2,208],"112":[2,208],"113":107,"114":[2,208],"115":[2,208],"116":[2,208],"119":108,"120":[2,208],"121":78,"126":[2,208],"127":[2,208],"128":[2,208],"137":[2,208],"138":[2,208],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[2,208],"145":[2,208],"146":[1,97],"147":[2,208],"148":[2,208],"149":[2,208],"151":[2,208]},{"1":[2,209],"4":[2,209],"29":[2,209],"30":[2,209],"51":[1,92],"59":[2,209],"63":[2,209],"82":[2,209],"87":[2,209],"98":[2,209],"103":[2,209],"112":[2,209],"113":107,"114":[2,209],"115":[2,209],"116":[2,209],"119":108,"120":[2,209],"121":78,"126":[2,209],"127":[2,209],"128":[2,209],"137":[2,209],"138":[2,209],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[2,209],"145":[2,209],"146":[1,97],"147":[1,98],"148":[2,209],"149":[2,209],"151":[2,209]},{"1":[2,210],"4":[2,210],"29":[2,210],"30":[2,210],"51":[1,92],"59":[2,210],"63":[2,210],"82":[2,210],"87":[2,210],"98":[2,210],"103":[2,210],"112":[2,210],"113":107,"114":[2,210],"115":[2,210],"116":[2,210],"119":108,"120":[2,210],"121":78,"126":[2,210],"127":[2,210],"128":[2,210],"137":[2,210],"138":[2,210],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[2,210],"151":[1,103]},{"1":[2,213],"4":[2,213],"29":[2,213],"30":[2,213],"51":[1,92],"59":[2,213],"63":[2,213],"82":[2,213],"87":[2,213],"98":[2,213],"103":[2,213],"112":[2,213],"113":107,"114":[2,213],"115":[2,213],"116":[2,213],"119":108,"120":[2,213],"121":78,"126":[1,101],"127":[1,102],"128":[2,213],"137":[2,213],"138":[2,213],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,214],"4":[2,214],"29":[2,214],"30":[2,214],"51":[1,92],"59":[2,214],"63":[2,214],"82":[2,214],"87":[2,214],"98":[2,214],"103":[2,214],"112":[2,214],"113":107,"114":[2,214],"115":[2,214],"116":[2,214],"119":108,"120":[2,214],"121":78,"126":[1,101],"127":[1,102],"128":[2,214],"137":[2,214],"138":[2,214],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,215],"4":[2,215],"29":[2,215],"30":[2,215],"51":[1,92],"59":[2,215],"63":[2,215],"82":[2,215],"87":[2,215],"98":[2,215],"103":[2,215],"112":[2,215],"113":107,"114":[2,215],"115":[2,215],"116":[2,215],"119":108,"120":[2,215],"121":78,"126":[2,215],"127":[2,215],"128":[2,215],"137":[2,215],"138":[2,215],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[2,215],"145":[2,215],"146":[1,97],"147":[1,98],"148":[1,99],"149":[2,215],"151":[2,215]},{"8":270,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":271,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":272,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,192],"4":[2,192],"29":[2,192],"30":[2,192],"51":[1,92],"59":[2,192],"63":[2,192],"82":[2,192],"87":[2,192],"98":[2,192],"103":[2,192],"112":[2,192],"113":107,"114":[1,74],"115":[2,192],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"128":[2,192],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,194],"4":[2,194],"29":[2,194],"30":[2,194],"51":[1,92],"59":[2,194],"63":[2,194],"82":[2,194],"87":[2,194],"98":[2,194],"103":[2,194],"112":[2,194],"113":107,"114":[1,74],"115":[2,194],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"128":[2,194],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,191],"4":[2,191],"29":[2,191],"30":[2,191],"51":[1,92],"59":[2,191],"63":[2,191],"82":[2,191],"87":[2,191],"98":[2,191],"103":[2,191],"112":[2,191],"113":107,"114":[1,74],"115":[2,191],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"128":[2,191],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,193],"4":[2,193],"29":[2,193],"30":[2,193],"51":[1,92],"59":[2,193],"63":[2,193],"82":[2,193],"87":[2,193],"98":[2,193],"103":[2,193],"112":[2,193],"113":107,"114":[1,74],"115":[2,193],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"128":[2,193],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,211],"4":[2,211],"29":[2,211],"30":[2,211],"51":[1,92],"59":[2,211],"63":[2,211],"82":[2,211],"87":[2,211],"98":[2,211],"103":[2,211],"112":[2,211],"113":107,"114":[2,211],"115":[2,211],"116":[2,211],"119":108,"120":[2,211],"121":78,"126":[2,211],"127":[2,211],"128":[2,211],"137":[2,211],"138":[2,211],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"8":273,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,114],"4":[2,114],"29":[2,114],"30":[2,114],"51":[2,114],"59":[2,114],"63":[2,114],"75":[2,114],"76":[2,114],"77":[2,114],"78":[2,114],"81":[2,114],"82":[2,114],"83":[2,114],"84":[2,114],"87":[2,114],"96":[2,114],"97":[2,114],"98":[2,114],"103":[2,114],"112":[2,114],"114":[2,114],"115":[2,114],"116":[2,114],"120":[2,114],"126":[2,114],"127":[2,114],"128":[2,114],"137":[2,114],"138":[2,114],"139":[2,114],"140":[2,114],"141":[2,114],"142":[2,114],"143":[2,114],"144":[2,114],"145":[2,114],"146":[2,114],"147":[2,114],"148":[2,114],"149":[2,114],"151":[2,114]},{"1":[2,84],"4":[2,84],"29":[2,84],"30":[2,84],"46":[2,84],"51":[2,84],"59":[2,84],"63":[2,84],"75":[2,84],"76":[2,84],"77":[2,84],"78":[2,84],"81":[2,84],"82":[2,84],"83":[2,84],"84":[2,84],"87":[2,84],"89":[2,84],"96":[2,84],"97":[2,84],"98":[2,84],"103":[2,84],"112":[2,84],"114":[2,84],"115":[2,84],"116":[2,84],"120":[2,84],"126":[2,84],"127":[2,84],"128":[2,84],"137":[2,84],"138":[2,84],"139":[2,84],"140":[2,84],"141":[2,84],"142":[2,84],"143":[2,84],"144":[2,84],"145":[2,84],"146":[2,84],"147":[2,84],"148":[2,84],"149":[2,84],"150":[2,84],"151":[2,84]},{"1":[2,85],"4":[2,85],"29":[2,85],"30":[2,85],"46":[2,85],"51":[2,85],"59":[2,85],"63":[2,85],"75":[2,85],"76":[2,85],"77":[2,85],"78":[2,85],"81":[2,85],"82":[2,85],"83":[2,85],"84":[2,85],"87":[2,85],"89":[2,85],"96":[2,85],"97":[2,85],"98":[2,85],"103":[2,85],"112":[2,85],"114":[2,85],"115":[2,85],"116":[2,85],"120":[2,85],"126":[2,85],"127":[2,85],"128":[2,85],"137":[2,85],"138":[2,85],"139":[2,85],"140":[2,85],"141":[2,85],"142":[2,85],"143":[2,85],"144":[2,85],"145":[2,85],"146":[2,85],"147":[2,85],"148":[2,85],"149":[2,85],"150":[2,85],"151":[2,85]},{"1":[2,87],"4":[2,87],"29":[2,87],"30":[2,87],"46":[2,87],"51":[2,87],"59":[2,87],"63":[2,87],"75":[2,87],"76":[2,87],"77":[2,87],"78":[2,87],"81":[2,87],"82":[2,87],"83":[2,87],"84":[2,87],"87":[2,87],"89":[2,87],"96":[2,87],"97":[2,87],"98":[2,87],"103":[2,87],"112":[2,87],"114":[2,87],"115":[2,87],"116":[2,87],"120":[2,87],"126":[2,87],"127":[2,87],"128":[2,87],"137":[2,87],"138":[2,87],"139":[2,87],"140":[2,87],"141":[2,87],"142":[2,87],"143":[2,87],"144":[2,87],"145":[2,87],"146":[2,87],"147":[2,87],"148":[2,87],"149":[2,87],"150":[2,87],"151":[2,87]},{"51":[1,92],"63":[1,219],"82":[1,274],"101":275,"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"8":276,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"63":[1,277]},{"1":[2,91],"4":[2,91],"29":[2,91],"30":[2,91],"46":[2,91],"51":[2,91],"59":[2,91],"63":[2,91],"75":[2,91],"76":[2,91],"77":[2,91],"78":[2,91],"81":[2,91],"82":[2,91],"83":[2,91],"84":[2,91],"87":[2,91],"89":[2,91],"96":[2,91],"97":[2,91],"98":[2,91],"103":[2,91],"112":[2,91],"114":[2,91],"115":[2,91],"116":[2,91],"120":[2,91],"126":[2,91],"127":[2,91],"128":[2,91],"137":[2,91],"138":[2,91],"139":[2,91],"140":[2,91],"141":[2,91],"142":[2,91],"143":[2,91],"144":[2,91],"145":[2,91],"146":[2,91],"147":[2,91],"148":[2,91],"149":[2,91],"150":[2,91],"151":[2,91]},{"8":278,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,92],"4":[2,92],"29":[2,92],"30":[2,92],"46":[2,92],"51":[2,92],"59":[2,92],"63":[2,92],"75":[2,92],"76":[2,92],"77":[2,92],"78":[2,92],"81":[2,92],"82":[2,92],"83":[2,92],"84":[2,92],"87":[2,92],"89":[2,92],"96":[2,92],"97":[2,92],"98":[2,92],"103":[2,92],"112":[2,92],"114":[2,92],"115":[2,92],"116":[2,92],"120":[2,92],"126":[2,92],"127":[2,92],"128":[2,92],"137":[2,92],"138":[2,92],"139":[2,92],"140":[2,92],"141":[2,92],"142":[2,92],"143":[2,92],"144":[2,92],"145":[2,92],"146":[2,92],"147":[2,92],"148":[2,92],"149":[2,92],"150":[2,92],"151":[2,92]},{"1":[2,44],"4":[2,44],"29":[2,44],"30":[2,44],"51":[1,92],"59":[2,44],"63":[2,44],"82":[2,44],"87":[2,44],"98":[2,44],"103":[2,44],"112":[2,44],"113":107,"114":[1,74],"115":[2,44],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"128":[2,44],"137":[2,44],"138":[2,44],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"8":279,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,115],"4":[2,115],"29":[2,115],"30":[2,115],"51":[2,115],"59":[2,115],"63":[2,115],"75":[2,115],"76":[2,115],"77":[2,115],"78":[2,115],"81":[2,115],"82":[2,115],"83":[2,115],"84":[2,115],"87":[2,115],"96":[2,115],"97":[2,115],"98":[2,115],"103":[2,115],"112":[2,115],"114":[2,115],"115":[2,115],"116":[2,115],"120":[2,115],"126":[2,115],"127":[2,115],"128":[2,115],"137":[2,115],"138":[2,115],"139":[2,115],"140":[2,115],"141":[2,115],"142":[2,115],"143":[2,115],"144":[2,115],"145":[2,115],"146":[2,115],"147":[2,115],"148":[2,115],"149":[2,115],"151":[2,115]},{"55":280,"56":[1,70],"57":[1,71]},{"60":281,"61":[1,135],"62":[1,136]},{"63":[1,282]},{"54":[2,67],"59":[2,67],"63":[1,283]},{"8":284,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,189],"4":[2,189],"29":[2,189],"30":[2,189],"51":[2,189],"59":[2,189],"63":[2,189],"82":[2,189],"87":[2,189],"98":[2,189],"103":[2,189],"112":[2,189],"114":[2,189],"115":[2,189],"116":[2,189],"120":[2,189],"126":[2,189],"127":[2,189],"128":[2,189],"131":[2,189],"137":[2,189],"138":[2,189],"139":[2,189],"140":[2,189],"141":[2,189],"142":[2,189],"143":[2,189],"144":[2,189],"145":[2,189],"146":[2,189],"147":[2,189],"148":[2,189],"149":[2,189],"151":[2,189]},{"1":[2,142],"4":[2,142],"29":[2,142],"30":[2,142],"51":[2,142],"59":[2,142],"63":[2,142],"82":[2,142],"87":[2,142],"98":[2,142],"103":[2,142],"108":[1,285],"112":[2,142],"114":[2,142],"115":[2,142],"116":[2,142],"120":[2,142],"126":[2,142],"127":[2,142],"128":[2,142],"137":[2,142],"138":[2,142],"139":[2,142],"140":[2,142],"141":[2,142],"142":[2,142],"143":[2,142],"144":[2,142],"145":[2,142],"146":[2,142],"147":[2,142],"148":[2,142],"149":[2,142],"151":[2,142]},{"4":[1,138],"6":286,"29":[1,6]},{"31":287,"32":[1,84]},{"130":288,"132":237,"133":[1,238]},{"30":[1,289],"131":[1,290],"132":291,"133":[1,238]},{"30":[2,182],"131":[2,182],"133":[2,182]},{"8":293,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"105":292,"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,113],"4":[2,113],"29":[2,113],"30":[2,113],"51":[2,113],"59":[2,113],"63":[2,113],"66":115,"75":[1,117],"76":[1,118],"77":[1,119],"78":[1,120],"79":121,"80":122,"81":[1,123],"82":[2,113],"83":[1,124],"84":[1,125],"87":[2,113],"93":114,"96":[1,116],"97":[2,118],"98":[2,113],"103":[2,113],"112":[2,113],"114":[2,113],"115":[2,113],"116":[2,113],"120":[2,113],"126":[2,113],"127":[2,113],"128":[2,113],"137":[2,113],"138":[2,113],"139":[2,113],"140":[2,113],"141":[2,113],"142":[2,113],"143":[2,113],"144":[2,113],"145":[2,113],"146":[2,113],"147":[2,113],"148":[2,113],"149":[2,113],"151":[2,113]},{"15":294,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":131,"62":[1,68],"65":132,"67":155,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"95":[1,69],"100":[1,67],"102":[1,66],"111":[1,65]},{"4":[2,106],"28":189,"30":[2,106],"31":187,"32":[1,84],"33":188,"34":[1,82],"35":[1,83],"47":245,"50":[1,51],"62":[1,247],"68":246,"85":[1,244],"90":295,"91":243},{"4":[1,297],"30":[1,296]},{"4":[2,107],"30":[2,107],"87":[2,107]},{"4":[2,106],"28":189,"31":187,"32":[1,84],"33":188,"34":[1,82],"35":[1,83],"47":245,"50":[1,51],"62":[1,247],"68":246,"85":[1,244],"87":[2,106],"90":298,"91":243},{"4":[2,104],"30":[2,104],"87":[2,104]},{"48":[1,299]},{"31":166,"32":[1,84]},{"1":[2,147],"4":[2,147],"29":[2,147],"30":[2,147],"51":[2,147],"59":[2,147],"63":[2,147],"75":[2,147],"76":[2,147],"77":[2,147],"78":[2,147],"81":[2,147],"82":[2,147],"83":[2,147],"84":[2,147],"87":[2,147],"96":[2,147],"97":[2,147],"98":[2,147],"103":[2,147],"112":[2,147],"114":[2,147],"115":[2,147],"116":[2,147],"120":[2,147],"126":[2,147],"127":[2,147],"128":[2,147],"137":[2,147],"138":[2,147],"139":[2,147],"140":[2,147],"141":[2,147],"142":[2,147],"143":[2,147],"144":[2,147],"145":[2,147],"146":[2,147],"147":[2,147],"148":[2,147],"149":[2,147],"150":[2,147],"151":[2,147]},{"8":300,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"63":[1,301]},{"4":[1,303],"29":[1,304],"103":[1,302]},{"4":[2,62],"8":254,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[2,62],"30":[2,62],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"64":165,"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"98":[2,62],"100":[1,67],"102":[1,66],"103":[2,62],"104":305,"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"4":[2,61],"29":[2,61],"30":[2,61],"58":306,"59":[1,252]},{"4":[2,138],"29":[2,138],"30":[2,138],"51":[1,92],"59":[2,138],"63":[1,307],"98":[2,138],"103":[2,138],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,120],"4":[2,120],"29":[2,120],"30":[2,120],"51":[2,120],"59":[2,120],"63":[2,120],"75":[2,120],"76":[2,120],"77":[2,120],"78":[2,120],"81":[2,120],"82":[2,120],"83":[2,120],"84":[2,120],"87":[2,120],"96":[2,120],"97":[2,120],"98":[2,120],"103":[2,120],"112":[2,120],"114":[2,120],"115":[2,120],"116":[2,120],"120":[2,120],"126":[2,120],"127":[2,120],"128":[2,120],"137":[2,120],"138":[2,120],"139":[2,120],"140":[2,120],"141":[2,120],"142":[2,120],"143":[2,120],"144":[2,120],"145":[2,120],"146":[2,120],"147":[2,120],"148":[2,120],"149":[2,120],"151":[2,120]},{"4":[2,61],"29":[2,61],"58":308,"59":[1,252],"98":[2,61]},{"1":[2,186],"4":[2,186],"29":[2,186],"30":[2,186],"51":[2,186],"59":[2,186],"63":[2,186],"82":[2,186],"87":[2,186],"98":[2,186],"103":[2,186],"112":[2,186],"114":[2,186],"115":[2,186],"116":[2,186],"120":[2,186],"126":[2,186],"127":[2,186],"128":[2,186],"131":[2,186],"137":[2,186],"138":[2,186],"139":[2,186],"140":[2,186],"141":[2,186],"142":[2,186],"143":[2,186],"144":[2,186],"145":[2,186],"146":[2,186],"147":[2,186],"148":[2,186],"149":[2,186],"151":[2,186]},{"1":[2,187],"4":[2,187],"29":[2,187],"30":[2,187],"51":[2,187],"59":[2,187],"63":[2,187],"82":[2,187],"87":[2,187],"98":[2,187],"103":[2,187],"112":[2,187],"114":[2,187],"115":[2,187],"116":[2,187],"120":[2,187],"126":[2,187],"127":[2,187],"128":[2,187],"131":[2,187],"137":[2,187],"138":[2,187],"139":[2,187],"140":[2,187],"141":[2,187],"142":[2,187],"143":[2,187],"144":[2,187],"145":[2,187],"146":[2,187],"147":[2,187],"148":[2,187],"149":[2,187],"151":[2,187]},{"8":309,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":310,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"126":[2,165],"127":[2,165]},{"8":254,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,164],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"64":165,"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"99":162,"100":[1,67],"102":[1,66],"103":[1,161],"104":163,"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"31":179,"32":[1,84],"69":180,"70":181,"85":[1,81],"102":[1,262],"125":311},{"1":[2,171],"4":[2,171],"29":[2,171],"30":[2,171],"51":[1,92],"59":[2,171],"63":[2,171],"82":[2,171],"87":[2,171],"98":[2,171],"103":[2,171],"112":[2,171],"113":107,"114":[2,171],"115":[1,312],"116":[2,171],"119":108,"120":[2,171],"121":78,"126":[1,101],"127":[1,102],"128":[1,313],"137":[2,171],"138":[2,171],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,172],"4":[2,172],"29":[2,172],"30":[2,172],"51":[1,92],"59":[2,172],"63":[2,172],"82":[2,172],"87":[2,172],"98":[2,172],"103":[2,172],"112":[2,172],"113":107,"114":[2,172],"115":[1,314],"116":[2,172],"119":108,"120":[2,172],"121":78,"126":[1,101],"127":[1,102],"128":[2,172],"137":[2,172],"138":[2,172],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"4":[1,316],"29":[1,317],"87":[1,315]},{"4":[2,62],"28":189,"29":[2,62],"30":[2,62],"31":187,"32":[1,84],"33":188,"34":[1,82],"35":[1,83],"47":318,"50":[1,51],"87":[2,62]},{"8":319,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,320],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":321,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,322],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,216],"4":[2,216],"29":[2,216],"30":[2,216],"51":[1,92],"59":[2,216],"63":[2,216],"82":[2,216],"87":[2,216],"98":[2,216],"103":[2,216],"112":[2,216],"113":107,"114":[2,216],"115":[2,216],"116":[2,216],"119":108,"120":[2,216],"121":78,"126":[2,216],"127":[2,216],"128":[2,216],"137":[2,216],"138":[2,216],"139":[1,104],"140":[2,216],"141":[2,216],"142":[1,90],"143":[1,91],"144":[2,216],"145":[2,216],"146":[2,216],"147":[2,216],"148":[2,216],"149":[2,216],"151":[2,216]},{"1":[2,217],"4":[2,217],"29":[2,217],"30":[2,217],"51":[1,92],"59":[2,217],"63":[2,217],"82":[2,217],"87":[2,217],"98":[2,217],"103":[2,217],"112":[2,217],"113":107,"114":[2,217],"115":[2,217],"116":[2,217],"119":108,"120":[2,217],"121":78,"126":[2,217],"127":[2,217],"128":[2,217],"137":[2,217],"138":[2,217],"139":[1,104],"140":[2,217],"141":[2,217],"142":[1,90],"143":[1,91],"144":[2,217],"145":[2,217],"146":[2,217],"147":[2,217],"148":[2,217],"149":[2,217],"151":[2,217]},{"1":[2,218],"4":[2,218],"29":[2,218],"30":[2,218],"51":[1,92],"59":[2,218],"63":[2,218],"82":[2,218],"87":[2,218],"98":[2,218],"103":[2,218],"112":[2,218],"113":107,"114":[2,218],"115":[2,218],"116":[2,218],"119":108,"120":[2,218],"121":78,"126":[2,218],"127":[2,218],"128":[2,218],"137":[2,218],"138":[2,218],"139":[1,104],"140":[2,218],"141":[2,218],"142":[1,90],"143":[1,91],"144":[2,218],"145":[2,218],"146":[2,218],"147":[2,218],"148":[2,218],"149":[2,218],"151":[2,218]},{"30":[1,323],"51":[1,92],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,90],"4":[2,90],"29":[2,90],"30":[2,90],"46":[2,90],"51":[2,90],"59":[2,90],"63":[2,90],"75":[2,90],"76":[2,90],"77":[2,90],"78":[2,90],"81":[2,90],"82":[2,90],"83":[2,90],"84":[2,90],"87":[2,90],"89":[2,90],"96":[2,90],"97":[2,90],"98":[2,90],"103":[2,90],"112":[2,90],"114":[2,90],"115":[2,90],"116":[2,90],"120":[2,90],"126":[2,90],"127":[2,90],"128":[2,90],"137":[2,90],"138":[2,90],"139":[2,90],"140":[2,90],"141":[2,90],"142":[2,90],"143":[2,90],"144":[2,90],"145":[2,90],"146":[2,90],"147":[2,90],"148":[2,90],"149":[2,90],"150":[2,90],"151":[2,90]},{"8":324,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"82":[1,325],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"51":[1,92],"82":[1,326],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"12":[2,124],"13":[2,124],"14":[2,124],"32":[2,124],"34":[2,124],"35":[2,124],"37":[2,124],"38":[2,124],"39":[2,124],"40":[2,124],"41":[2,124],"42":[2,124],"43":[2,124],"44":[2,124],"49":[2,124],"50":[2,124],"52":[2,124],"56":[2,124],"57":[2,124],"62":[2,124],"63":[1,327],"74":[2,124],"82":[2,124],"85":[2,124],"88":[2,124],"92":[2,124],"95":[2,124],"100":[2,124],"102":[2,124],"106":[2,124],"110":[2,124],"111":[2,124],"114":[2,124],"116":[2,124],"118":[2,124],"120":[2,124],"129":[2,124],"135":[2,124],"136":[2,124],"139":[2,124],"140":[2,124],"141":[2,124],"142":[2,124],"143":[2,124]},{"51":[1,92],"82":[1,274],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"30":[1,328],"51":[1,92],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"4":[1,138],"6":329,"29":[1,6]},{"54":[2,65],"59":[2,65]},{"63":[1,330]},{"63":[1,331]},{"4":[1,138],"6":332,"29":[1,6],"51":[1,92],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"4":[1,138],"6":333,"29":[1,6]},{"1":[2,143],"4":[2,143],"29":[2,143],"30":[2,143],"51":[2,143],"59":[2,143],"63":[2,143],"82":[2,143],"87":[2,143],"98":[2,143],"103":[2,143],"112":[2,143],"114":[2,143],"115":[2,143],"116":[2,143],"120":[2,143],"126":[2,143],"127":[2,143],"128":[2,143],"137":[2,143],"138":[2,143],"139":[2,143],"140":[2,143],"141":[2,143],"142":[2,143],"143":[2,143],"144":[2,143],"145":[2,143],"146":[2,143],"147":[2,143],"148":[2,143],"149":[2,143],"151":[2,143]},{"4":[1,138],"6":334,"29":[1,6]},{"30":[1,335],"131":[1,336],"132":291,"133":[1,238]},{"1":[2,180],"4":[2,180],"29":[2,180],"30":[2,180],"51":[2,180],"59":[2,180],"63":[2,180],"82":[2,180],"87":[2,180],"98":[2,180],"103":[2,180],"112":[2,180],"114":[2,180],"115":[2,180],"116":[2,180],"120":[2,180],"126":[2,180],"127":[2,180],"128":[2,180],"137":[2,180],"138":[2,180],"139":[2,180],"140":[2,180],"141":[2,180],"142":[2,180],"143":[2,180],"144":[2,180],"145":[2,180],"146":[2,180],"147":[2,180],"148":[2,180],"149":[2,180],"151":[2,180]},{"4":[1,138],"6":337,"29":[1,6]},{"30":[2,183],"131":[2,183],"133":[2,183]},{"4":[1,138],"6":338,"29":[1,6],"59":[1,339]},{"4":[2,140],"29":[2,140],"51":[1,92],"59":[2,140],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,100],"4":[2,100],"29":[1,340],"30":[2,100],"51":[2,100],"59":[2,100],"63":[2,100],"66":115,"75":[1,117],"76":[1,118],"77":[1,119],"78":[1,120],"79":121,"80":122,"81":[1,123],"82":[2,100],"83":[1,124],"84":[1,125],"87":[2,100],"93":114,"96":[1,116],"97":[2,118],"98":[2,100],"103":[2,100],"112":[2,100],"114":[2,100],"115":[2,100],"116":[2,100],"120":[2,100],"126":[2,100],"127":[2,100],"128":[2,100],"137":[2,100],"138":[2,100],"139":[2,100],"140":[2,100],"141":[2,100],"142":[2,100],"143":[2,100],"144":[2,100],"145":[2,100],"146":[2,100],"147":[2,100],"148":[2,100],"149":[2,100],"151":[2,100]},{"4":[1,297],"30":[1,341]},{"1":[2,103],"4":[2,103],"29":[2,103],"30":[2,103],"51":[2,103],"59":[2,103],"63":[2,103],"82":[2,103],"87":[2,103],"98":[2,103],"103":[2,103],"112":[2,103],"114":[2,103],"115":[2,103],"116":[2,103],"120":[2,103],"126":[2,103],"127":[2,103],"128":[2,103],"137":[2,103],"138":[2,103],"139":[2,103],"140":[2,103],"141":[2,103],"142":[2,103],"143":[2,103],"144":[2,103],"145":[2,103],"146":[2,103],"147":[2,103],"148":[2,103],"149":[2,103],"151":[2,103]},{"28":189,"31":187,"32":[1,84],"33":188,"34":[1,82],"35":[1,83],"47":245,"50":[1,51],"62":[1,247],"68":246,"91":342},{"4":[1,297],"87":[1,343]},{"8":344,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"51":[1,92],"103":[1,345],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"12":[2,124],"13":[2,124],"14":[2,124],"32":[2,124],"34":[2,124],"35":[2,124],"37":[2,124],"38":[2,124],"39":[2,124],"40":[2,124],"41":[2,124],"42":[2,124],"43":[2,124],"44":[2,124],"49":[2,124],"50":[2,124],"52":[2,124],"56":[2,124],"57":[2,124],"62":[2,124],"63":[1,346],"74":[2,124],"85":[2,124],"88":[2,124],"92":[2,124],"95":[2,124],"100":[2,124],"102":[2,124],"106":[2,124],"110":[2,124],"111":[2,124],"114":[2,124],"116":[2,124],"118":[2,124],"120":[2,124],"129":[2,124],"135":[2,124],"136":[2,124],"139":[2,124],"140":[2,124],"141":[2,124],"142":[2,124],"143":[2,124]},{"1":[2,132],"4":[2,132],"29":[2,132],"30":[2,132],"46":[2,132],"51":[2,132],"59":[2,132],"63":[2,132],"75":[2,132],"76":[2,132],"77":[2,132],"78":[2,132],"81":[2,132],"82":[2,132],"83":[2,132],"84":[2,132],"87":[2,132],"96":[2,132],"97":[2,132],"98":[2,132],"103":[2,132],"112":[2,132],"114":[2,132],"115":[2,132],"116":[2,132],"120":[2,132],"126":[2,132],"127":[2,132],"128":[2,132],"137":[2,132],"138":[2,132],"139":[2,132],"140":[2,132],"141":[2,132],"142":[2,132],"143":[2,132],"144":[2,132],"145":[2,132],"146":[2,132],"147":[2,132],"148":[2,132],"149":[2,132],"150":[2,132],"151":[2,132]},{"8":254,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"64":165,"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"104":347,"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":254,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"29":[1,164],"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"64":165,"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"99":348,"100":[1,67],"102":[1,66],"104":163,"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"4":[2,134],"29":[2,134],"30":[2,134],"59":[2,134],"98":[2,134],"103":[2,134]},{"4":[1,303],"29":[1,304],"30":[1,349]},{"63":[1,350]},{"4":[1,303],"29":[1,304],"98":[1,351]},{"1":[2,150],"4":[2,150],"29":[2,150],"30":[2,150],"51":[1,92],"59":[2,150],"63":[2,150],"82":[2,150],"87":[2,150],"98":[2,150],"103":[2,150],"112":[2,150],"113":107,"114":[1,74],"115":[2,150],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"128":[2,150],"137":[2,150],"138":[2,150],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,152],"4":[2,152],"29":[2,152],"30":[2,152],"51":[1,92],"59":[2,152],"63":[2,152],"82":[2,152],"87":[2,152],"98":[2,152],"103":[2,152],"112":[2,152],"113":107,"114":[1,74],"115":[2,152],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"128":[2,152],"137":[2,152],"138":[2,152],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"126":[2,170],"127":[2,170]},{"8":352,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":353,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":354,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,93],"4":[2,93],"29":[2,93],"30":[2,93],"46":[2,93],"51":[2,93],"59":[2,93],"63":[2,93],"75":[2,93],"76":[2,93],"77":[2,93],"78":[2,93],"81":[2,93],"82":[2,93],"83":[2,93],"84":[2,93],"87":[2,93],"96":[2,93],"97":[2,93],"98":[2,93],"103":[2,93],"112":[2,93],"114":[2,93],"115":[2,93],"116":[2,93],"120":[2,93],"126":[2,93],"127":[2,93],"128":[2,93],"137":[2,93],"138":[2,93],"139":[2,93],"140":[2,93],"141":[2,93],"142":[2,93],"143":[2,93],"144":[2,93],"145":[2,93],"146":[2,93],"147":[2,93],"148":[2,93],"149":[2,93],"150":[2,93],"151":[2,93]},{"28":189,"31":187,"32":[1,84],"33":188,"34":[1,82],"35":[1,83],"47":355,"50":[1,51]},{"4":[2,94],"28":189,"29":[2,94],"30":[2,94],"31":187,"32":[1,84],"33":188,"34":[1,82],"35":[1,83],"47":186,"50":[1,51],"59":[2,94],"86":356},{"4":[2,96],"29":[2,96],"30":[2,96],"59":[2,96],"87":[2,96]},{"4":[2,48],"29":[2,48],"30":[2,48],"51":[1,92],"59":[2,48],"87":[2,48],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"8":357,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"4":[2,49],"29":[2,49],"30":[2,49],"51":[1,92],"59":[2,49],"87":[2,49],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"8":358,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"1":[2,212],"4":[2,212],"29":[2,212],"30":[2,212],"51":[2,212],"59":[2,212],"63":[2,212],"82":[2,212],"87":[2,212],"98":[2,212],"103":[2,212],"112":[2,212],"114":[2,212],"115":[2,212],"116":[2,212],"120":[2,212],"126":[2,212],"127":[2,212],"128":[2,212],"137":[2,212],"138":[2,212],"139":[2,212],"140":[2,212],"141":[2,212],"142":[2,212],"143":[2,212],"144":[2,212],"145":[2,212],"146":[2,212],"147":[2,212],"148":[2,212],"149":[2,212],"151":[2,212]},{"51":[1,92],"82":[1,359],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,129],"4":[2,129],"29":[2,129],"30":[2,129],"46":[2,129],"51":[2,129],"59":[2,129],"63":[2,129],"75":[2,129],"76":[2,129],"77":[2,129],"78":[2,129],"81":[2,129],"82":[2,129],"83":[2,129],"84":[2,129],"87":[2,129],"89":[2,129],"96":[2,129],"97":[2,129],"98":[2,129],"103":[2,129],"112":[2,129],"114":[2,129],"115":[2,129],"116":[2,129],"120":[2,129],"126":[2,129],"127":[2,129],"128":[2,129],"137":[2,129],"138":[2,129],"139":[2,129],"140":[2,129],"141":[2,129],"142":[2,129],"143":[2,129],"144":[2,129],"145":[2,129],"146":[2,129],"147":[2,129],"148":[2,129],"149":[2,129],"150":[2,129],"151":[2,129]},{"1":[2,130],"4":[2,130],"29":[2,130],"30":[2,130],"46":[2,130],"51":[2,130],"59":[2,130],"63":[2,130],"75":[2,130],"76":[2,130],"77":[2,130],"78":[2,130],"81":[2,130],"82":[2,130],"83":[2,130],"84":[2,130],"87":[2,130],"89":[2,130],"96":[2,130],"97":[2,130],"98":[2,130],"103":[2,130],"112":[2,130],"114":[2,130],"115":[2,130],"116":[2,130],"120":[2,130],"126":[2,130],"127":[2,130],"128":[2,130],"137":[2,130],"138":[2,130],"139":[2,130],"140":[2,130],"141":[2,130],"142":[2,130],"143":[2,130],"144":[2,130],"145":[2,130],"146":[2,130],"147":[2,130],"148":[2,130],"149":[2,130],"150":[2,130],"151":[2,130]},{"12":[2,125],"13":[2,125],"14":[2,125],"32":[2,125],"34":[2,125],"35":[2,125],"37":[2,125],"38":[2,125],"39":[2,125],"40":[2,125],"41":[2,125],"42":[2,125],"43":[2,125],"44":[2,125],"49":[2,125],"50":[2,125],"52":[2,125],"56":[2,125],"57":[2,125],"62":[2,125],"74":[2,125],"82":[2,125],"85":[2,125],"88":[2,125],"92":[2,125],"95":[2,125],"100":[2,125],"102":[2,125],"106":[2,125],"110":[2,125],"111":[2,125],"114":[2,125],"116":[2,125],"118":[2,125],"120":[2,125],"129":[2,125],"135":[2,125],"136":[2,125],"139":[2,125],"140":[2,125],"141":[2,125],"142":[2,125],"143":[2,125]},{"1":[2,45],"4":[2,45],"29":[2,45],"30":[2,45],"51":[2,45],"59":[2,45],"63":[2,45],"82":[2,45],"87":[2,45],"98":[2,45],"103":[2,45],"112":[2,45],"114":[2,45],"115":[2,45],"116":[2,45],"120":[2,45],"126":[2,45],"127":[2,45],"128":[2,45],"137":[2,45],"138":[2,45],"139":[2,45],"140":[2,45],"141":[2,45],"142":[2,45],"143":[2,45],"144":[2,45],"145":[2,45],"146":[2,45],"147":[2,45],"148":[2,45],"149":[2,45],"151":[2,45]},{"1":[2,57],"4":[2,57],"29":[2,57],"30":[2,57],"51":[2,57],"59":[2,57],"63":[2,57],"82":[2,57],"87":[2,57],"98":[2,57],"103":[2,57],"112":[2,57],"114":[2,57],"115":[2,57],"116":[2,57],"120":[2,57],"126":[2,57],"127":[2,57],"128":[2,57],"137":[2,57],"138":[2,57],"139":[2,57],"140":[2,57],"141":[2,57],"142":[2,57],"143":[2,57],"144":[2,57],"145":[2,57],"146":[2,57],"147":[2,57],"148":[2,57],"149":[2,57],"151":[2,57]},{"54":[2,68],"59":[2,68]},{"63":[1,360]},{"1":[2,188],"4":[2,188],"29":[2,188],"30":[2,188],"51":[2,188],"59":[2,188],"63":[2,188],"82":[2,188],"87":[2,188],"98":[2,188],"103":[2,188],"112":[2,188],"114":[2,188],"115":[2,188],"116":[2,188],"120":[2,188],"126":[2,188],"127":[2,188],"128":[2,188],"131":[2,188],"137":[2,188],"138":[2,188],"139":[2,188],"140":[2,188],"141":[2,188],"142":[2,188],"143":[2,188],"144":[2,188],"145":[2,188],"146":[2,188],"147":[2,188],"148":[2,188],"149":[2,188],"151":[2,188]},{"1":[2,144],"4":[2,144],"29":[2,144],"30":[2,144],"51":[2,144],"59":[2,144],"63":[2,144],"82":[2,144],"87":[2,144],"98":[2,144],"103":[2,144],"112":[2,144],"114":[2,144],"115":[2,144],"116":[2,144],"120":[2,144],"126":[2,144],"127":[2,144],"128":[2,144],"137":[2,144],"138":[2,144],"139":[2,144],"140":[2,144],"141":[2,144],"142":[2,144],"143":[2,144],"144":[2,144],"145":[2,144],"146":[2,144],"147":[2,144],"148":[2,144],"149":[2,144],"151":[2,144]},{"1":[2,145],"4":[2,145],"29":[2,145],"30":[2,145],"51":[2,145],"59":[2,145],"63":[2,145],"82":[2,145],"87":[2,145],"98":[2,145],"103":[2,145],"108":[2,145],"112":[2,145],"114":[2,145],"115":[2,145],"116":[2,145],"120":[2,145],"126":[2,145],"127":[2,145],"128":[2,145],"137":[2,145],"138":[2,145],"139":[2,145],"140":[2,145],"141":[2,145],"142":[2,145],"143":[2,145],"144":[2,145],"145":[2,145],"146":[2,145],"147":[2,145],"148":[2,145],"149":[2,145],"151":[2,145]},{"1":[2,178],"4":[2,178],"29":[2,178],"30":[2,178],"51":[2,178],"59":[2,178],"63":[2,178],"82":[2,178],"87":[2,178],"98":[2,178],"103":[2,178],"112":[2,178],"114":[2,178],"115":[2,178],"116":[2,178],"120":[2,178],"126":[2,178],"127":[2,178],"128":[2,178],"137":[2,178],"138":[2,178],"139":[2,178],"140":[2,178],"141":[2,178],"142":[2,178],"143":[2,178],"144":[2,178],"145":[2,178],"146":[2,178],"147":[2,178],"148":[2,178],"149":[2,178],"151":[2,178]},{"4":[1,138],"6":361,"29":[1,6]},{"30":[1,362]},{"4":[1,363],"30":[2,184],"131":[2,184],"133":[2,184]},{"8":364,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"4":[2,106],"28":189,"30":[2,106],"31":187,"32":[1,84],"33":188,"34":[1,82],"35":[1,83],"47":245,"50":[1,51],"62":[1,247],"68":246,"85":[1,244],"90":365,"91":243},{"1":[2,101],"4":[2,101],"29":[2,101],"30":[2,101],"51":[2,101],"59":[2,101],"63":[2,101],"82":[2,101],"87":[2,101],"98":[2,101],"103":[2,101],"112":[2,101],"114":[2,101],"115":[2,101],"116":[2,101],"120":[2,101],"126":[2,101],"127":[2,101],"128":[2,101],"137":[2,101],"138":[2,101],"139":[2,101],"140":[2,101],"141":[2,101],"142":[2,101],"143":[2,101],"144":[2,101],"145":[2,101],"146":[2,101],"147":[2,101],"148":[2,101],"149":[2,101],"151":[2,101]},{"4":[2,108],"30":[2,108],"87":[2,108]},{"4":[2,109],"30":[2,109],"87":[2,109]},{"4":[2,105],"30":[2,105],"51":[1,92],"87":[2,105],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,127],"4":[2,127],"29":[2,127],"30":[2,127],"51":[2,127],"59":[2,127],"63":[2,127],"75":[2,127],"76":[2,127],"77":[2,127],"78":[2,127],"81":[2,127],"82":[2,127],"83":[2,127],"84":[2,127],"87":[2,127],"96":[2,127],"97":[2,127],"98":[2,127],"103":[2,127],"112":[2,127],"114":[2,127],"115":[2,127],"116":[2,127],"120":[2,127],"126":[2,127],"127":[2,127],"128":[2,127],"137":[2,127],"138":[2,127],"139":[2,127],"140":[2,127],"141":[2,127],"142":[2,127],"143":[2,127],"144":[2,127],"145":[2,127],"146":[2,127],"147":[2,127],"148":[2,127],"149":[2,127],"150":[2,127],"151":[2,127]},{"4":[2,70],"12":[2,125],"13":[2,125],"14":[2,125],"29":[2,70],"32":[2,125],"34":[2,125],"35":[2,125],"37":[2,125],"38":[2,125],"39":[2,125],"40":[2,125],"41":[2,125],"42":[2,125],"43":[2,125],"44":[2,125],"49":[2,125],"50":[2,125],"52":[2,125],"56":[2,125],"57":[2,125],"59":[2,70],"62":[2,125],"74":[2,125],"85":[2,125],"88":[2,125],"92":[2,125],"95":[2,125],"100":[2,125],"102":[2,125],"103":[2,70],"106":[2,125],"110":[2,125],"111":[2,125],"114":[2,125],"116":[2,125],"118":[2,125],"120":[2,125],"129":[2,125],"135":[2,125],"136":[2,125],"139":[2,125],"140":[2,125],"141":[2,125],"142":[2,125],"143":[2,125]},{"4":[2,135],"29":[2,135],"30":[2,135],"59":[2,135],"98":[2,135],"103":[2,135]},{"4":[2,61],"29":[2,61],"30":[2,61],"58":366,"59":[1,252]},{"4":[2,136],"29":[2,136],"30":[2,136],"59":[2,136],"98":[2,136],"103":[2,136]},{"63":[1,367]},{"1":[2,121],"4":[2,121],"29":[2,121],"30":[2,121],"51":[2,121],"59":[2,121],"63":[2,121],"75":[2,121],"76":[2,121],"77":[2,121],"78":[2,121],"81":[2,121],"82":[2,121],"83":[2,121],"84":[2,121],"87":[2,121],"96":[2,121],"97":[2,121],"98":[2,121],"103":[2,121],"112":[2,121],"114":[2,121],"115":[2,121],"116":[2,121],"120":[2,121],"126":[2,121],"127":[2,121],"128":[2,121],"137":[2,121],"138":[2,121],"139":[2,121],"140":[2,121],"141":[2,121],"142":[2,121],"143":[2,121],"144":[2,121],"145":[2,121],"146":[2,121],"147":[2,121],"148":[2,121],"149":[2,121],"151":[2,121]},{"1":[2,173],"4":[2,173],"29":[2,173],"30":[2,173],"51":[1,92],"59":[2,173],"63":[2,173],"82":[2,173],"87":[2,173],"98":[2,173],"103":[2,173],"112":[2,173],"113":107,"114":[2,173],"115":[2,173],"116":[2,173],"119":108,"120":[2,173],"121":78,"126":[1,101],"127":[1,102],"128":[1,368],"137":[2,173],"138":[2,173],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,175],"4":[2,175],"29":[2,175],"30":[2,175],"51":[1,92],"59":[2,175],"63":[2,175],"82":[2,175],"87":[2,175],"98":[2,175],"103":[2,175],"112":[2,175],"113":107,"114":[2,175],"115":[1,369],"116":[2,175],"119":108,"120":[2,175],"121":78,"126":[1,101],"127":[1,102],"128":[2,175],"137":[2,175],"138":[2,175],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,174],"4":[2,174],"29":[2,174],"30":[2,174],"51":[1,92],"59":[2,174],"63":[2,174],"82":[2,174],"87":[2,174],"98":[2,174],"103":[2,174],"112":[2,174],"113":107,"114":[2,174],"115":[2,174],"116":[2,174],"119":108,"120":[2,174],"121":78,"126":[1,101],"127":[1,102],"128":[2,174],"137":[2,174],"138":[2,174],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"4":[2,97],"29":[2,97],"30":[2,97],"59":[2,97],"87":[2,97]},{"4":[2,61],"29":[2,61],"30":[2,61],"58":370,"59":[1,267]},{"30":[1,371],"51":[1,92],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"30":[1,372],"51":[1,92],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,128],"4":[2,128],"29":[2,128],"30":[2,128],"46":[2,128],"51":[2,128],"59":[2,128],"63":[2,128],"75":[2,128],"76":[2,128],"77":[2,128],"78":[2,128],"81":[2,128],"82":[2,128],"83":[2,128],"84":[2,128],"87":[2,128],"89":[2,128],"96":[2,128],"97":[2,128],"98":[2,128],"103":[2,128],"112":[2,128],"114":[2,128],"115":[2,128],"116":[2,128],"120":[2,128],"126":[2,128],"127":[2,128],"128":[2,128],"137":[2,128],"138":[2,128],"139":[2,128],"140":[2,128],"141":[2,128],"142":[2,128],"143":[2,128],"144":[2,128],"145":[2,128],"146":[2,128],"147":[2,128],"148":[2,128],"149":[2,128],"150":[2,128],"151":[2,128]},{"54":[2,69],"59":[2,69]},{"30":[1,373]},{"1":[2,181],"4":[2,181],"29":[2,181],"30":[2,181],"51":[2,181],"59":[2,181],"63":[2,181],"82":[2,181],"87":[2,181],"98":[2,181],"103":[2,181],"112":[2,181],"114":[2,181],"115":[2,181],"116":[2,181],"120":[2,181],"126":[2,181],"127":[2,181],"128":[2,181],"137":[2,181],"138":[2,181],"139":[2,181],"140":[2,181],"141":[2,181],"142":[2,181],"143":[2,181],"144":[2,181],"145":[2,181],"146":[2,181],"147":[2,181],"148":[2,181],"149":[2,181],"151":[2,181]},{"30":[2,185],"131":[2,185],"133":[2,185]},{"4":[2,141],"29":[2,141],"51":[1,92],"59":[2,141],"113":107,"114":[1,74],"116":[1,75],"119":108,"120":[1,77],"121":78,"126":[1,101],"127":[1,102],"137":[1,105],"138":[1,106],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"4":[1,297],"30":[1,374]},{"4":[1,303],"29":[1,304],"30":[1,375]},{"4":[2,70],"29":[2,70],"30":[2,70],"59":[2,70],"98":[2,70],"103":[2,70]},{"8":376,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"8":377,"9":140,"10":23,"11":24,"12":[1,25],"13":[1,26],"14":[1,27],"15":9,"16":10,"17":11,"18":12,"19":13,"20":14,"21":15,"22":16,"23":17,"24":18,"25":19,"26":20,"27":21,"28":22,"31":79,"32":[1,84],"33":56,"34":[1,82],"35":[1,83],"36":29,"37":[1,57],"38":[1,58],"39":[1,59],"40":[1,60],"41":[1,61],"42":[1,62],"43":[1,63],"44":[1,64],"45":28,"49":[1,52],"50":[1,51],"52":[1,36],"55":37,"56":[1,70],"57":[1,71],"62":[1,68],"65":49,"67":34,"68":80,"69":54,"70":55,"71":30,"72":31,"73":32,"74":[1,33],"85":[1,81],"88":[1,50],"92":[1,35],"95":[1,69],"100":[1,67],"102":[1,66],"106":[1,44],"110":[1,53],"111":[1,65],"113":45,"114":[1,74],"116":[1,75],"117":46,"118":[1,76],"119":47,"120":[1,77],"121":78,"129":[1,48],"134":43,"135":[1,72],"136":[1,73],"139":[1,38],"140":[1,39],"141":[1,40],"142":[1,41],"143":[1,42]},{"4":[1,316],"29":[1,317],"30":[1,378]},{"4":[2,50],"29":[2,50],"30":[2,50],"59":[2,50],"87":[2,50]},{"4":[2,51],"29":[2,51],"30":[2,51],"59":[2,51],"87":[2,51]},{"1":[2,179],"4":[2,179],"29":[2,179],"30":[2,179],"51":[2,179],"59":[2,179],"63":[2,179],"82":[2,179],"87":[2,179],"98":[2,179],"103":[2,179],"112":[2,179],"114":[2,179],"115":[2,179],"116":[2,179],"120":[2,179],"126":[2,179],"127":[2,179],"128":[2,179],"137":[2,179],"138":[2,179],"139":[2,179],"140":[2,179],"141":[2,179],"142":[2,179],"143":[2,179],"144":[2,179],"145":[2,179],"146":[2,179],"147":[2,179],"148":[2,179],"149":[2,179],"151":[2,179]},{"1":[2,102],"4":[2,102],"29":[2,102],"30":[2,102],"51":[2,102],"59":[2,102],"63":[2,102],"82":[2,102],"87":[2,102],"98":[2,102],"103":[2,102],"112":[2,102],"114":[2,102],"115":[2,102],"116":[2,102],"120":[2,102],"126":[2,102],"127":[2,102],"128":[2,102],"137":[2,102],"138":[2,102],"139":[2,102],"140":[2,102],"141":[2,102],"142":[2,102],"143":[2,102],"144":[2,102],"145":[2,102],"146":[2,102],"147":[2,102],"148":[2,102],"149":[2,102],"151":[2,102]},{"4":[2,137],"29":[2,137],"30":[2,137],"59":[2,137],"98":[2,137],"103":[2,137]},{"1":[2,176],"4":[2,176],"29":[2,176],"30":[2,176],"51":[1,92],"59":[2,176],"63":[2,176],"82":[2,176],"87":[2,176],"98":[2,176],"103":[2,176],"112":[2,176],"113":107,"114":[2,176],"115":[2,176],"116":[2,176],"119":108,"120":[2,176],"121":78,"126":[1,101],"127":[1,102],"128":[2,176],"137":[2,176],"138":[2,176],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"1":[2,177],"4":[2,177],"29":[2,177],"30":[2,177],"51":[1,92],"59":[2,177],"63":[2,177],"82":[2,177],"87":[2,177],"98":[2,177],"103":[2,177],"112":[2,177],"113":107,"114":[2,177],"115":[2,177],"116":[2,177],"119":108,"120":[2,177],"121":78,"126":[1,101],"127":[1,102],"128":[2,177],"137":[2,177],"138":[2,177],"139":[1,104],"140":[1,94],"141":[1,93],"142":[1,90],"143":[1,91],"144":[1,95],"145":[1,96],"146":[1,97],"147":[1,98],"148":[1,99],"149":[1,100],"151":[1,103]},{"4":[2,98],"29":[2,98],"30":[2,98],"59":[2,98],"87":[2,98]}],defaultActions:{"87":[2,4],"116":[2,119]},parseError:function parseError(str,hash){throw new Error(str)},parse:function parse(input){var self=this,stack=[0],vstack=[null],table=this.table,yytext="",yylineno=0,yyleng=0,shifts=0,reductions=0,recovering=0,TERROR=2,EOF=1;this.lexer.setInput(input);this.lexer.yy=this.yy;this.yy.lexer=this.lexer;var parseError=this.yy.parseError=typeof this.yy.parseError=="function"?this.yy.parseError:this.parseError;function popStack(n){stack.length=stack.length-2*n;vstack.length=vstack.length-n}function checkRecover(st){for(var p in table[st]){if(p==TERROR){return true}}return false}function lex(){var token;token=self.lexer.lex()||1;if(typeof token!=="number"){token=self.symbols_[token]||token}return token}var symbol,preErrorSymbol,state,action,a,r,yyval={},p,len,newState,expected,recovered=false;while(true){state=stack[stack.length-1];if(this.defaultActions[state]){action=this.defaultActions[state]}else{if(symbol==null){symbol=lex()}action=table[state]&&table[state][symbol]}if(typeof action==="undefined"||!action.length||!action[0]){if(!recovering){expected=[];for(p in table[state]){if(this.terminals_[p]&&p>2){expected.push("'"+this.terminals_[p]+"'")}}if(this.lexer.showPosition){parseError.call(this,"Parse error on line "+(yylineno+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+expected.join(", "),{text:this.lexer.match,token:this.terminals_[symbol]||symbol,line:this.lexer.yylineno,expected:expected})}else{parseError.call(this,"Parse error on line "+(yylineno+1)+": Unexpected '"+(this.terminals_[symbol]||symbol)+"'",{text:this.lexer.match,token:this.terminals_[symbol]||symbol,line:this.lexer.yylineno,expected:expected})}}if(recovering==3){if(symbol==EOF){throw"Parsing halted."}yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;symbol=lex()}while(1){if(checkRecover(state)){break}if(state==0){throw"Parsing halted."}popStack(1);state=stack[stack.length-1]}preErrorSymbol=symbol;symbol=TERROR;state=stack[stack.length-1];action=table[state]&&table[state][TERROR];recovering=3}if(action[0] instanceof Array&&action.length>1){throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol)}a=action;switch(a[0]){case 1:shifts++;stack.push(symbol);vstack.push(this.lexer.yytext);stack.push(a[1]);symbol=null;if(!preErrorSymbol){yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;if(recovering>0){recovering--}}else{symbol=preErrorSymbol;preErrorSymbol=null}break;case 2:reductions++;len=this.productions_[a[1]][1];yyval.$=vstack[vstack.length-len];r=this.performAction.call(yyval,yytext,yyleng,yylineno,this.yy,a[1],vstack);if(typeof r!=="undefined"){return r}if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,-1*len)}stack.push(this.productions_[a[1]][0]);vstack.push(yyval.$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:this.reductionCount=reductions;this.shiftCount=shifts;return true}}return true}};return parser})();if(typeof require!=="undefined"){exports.parser=parser;exports.parse=function(){return parser.parse.apply(parser,arguments)};exports.main=function commonjsMain(args){if(!args[1]){throw new Error("Usage: "+args[0]+" FILE")}if(typeof process!=="undefined"){var source=require("fs").readFileSync(require("path").join(process.cwd(),args[1]),"utf8")}else{var cwd=require("file").path(require("file").cwd());var source=cwd.join(args[1]).read({charset:"utf-8"})}return exports.parser.parse(source)};if(require.main===module){exports.main(typeof process!=="undefined"?process.argv.slice(1):require("system").args)}}(function(){var Scope;var __hasProp=Object.prototype.hasOwnProperty;if(!(typeof process!=="undefined"&&process!==null)){this.exports=this}exports.Scope=(function(){Scope=function(parent,expressions,method){var _a;_a=[parent,expressions,method];this.parent=_a[0];this.expressions=_a[1];this.method=_a[2];this.variables={};if(this.parent){this.tempVar=this.parent.tempVar}else{Scope.root=this;this.tempVar="_a"}return this};Scope.root=null;Scope.prototype.find=function(name,options){if(this.check(name,options)){return true}this.variables[name]="var";return false};Scope.prototype.any=function(fn){var _a,k,v;_a=this.variables;for(v in _a){if(!__hasProp.call(_a,v)){continue}k=_a[v];if(fn(v,k)){return true}}return false};Scope.prototype.parameter=function(name){return(this.variables[name]="param")};Scope.prototype.check=function(name,options){var immediate;immediate=Object.prototype.hasOwnProperty.call(this.variables,name);if(immediate||(options&&options.immediate)){return immediate}return !!(this.parent&&this.parent.check(name))};Scope.prototype.freeVariable=function(){var ordinal;while(this.check(this.tempVar)){ordinal=1+parseInt(this.tempVar.substr(1),36);this.tempVar="_"+ordinal.toString(36).replace(/\d/g,"a")}this.variables[this.tempVar]="var";return this.tempVar};Scope.prototype.assign=function(name,value){return(this.variables[name]={value:value,assigned:true})};Scope.prototype.hasDeclarations=function(body){return body===this.expressions&&this.any(function(k,val){return val==="var"})};Scope.prototype.hasAssignments=function(body){return body===this.expressions&&this.any(function(k,val){return val.assigned})};Scope.prototype.declaredVariables=function(){var _a,_b,key,val;return(function(){_a=[];_b=this.variables;for(key in _b){if(!__hasProp.call(_b,key)){continue}val=_b[key];if(val==="var"){_a.push(key)}}return _a}).call(this).sort()};Scope.prototype.assignedVariables=function(){var _a,_b,key,val;_a=[];_b=this.variables;for(key in _b){if(!__hasProp.call(_b,key)){continue}val=_b[key];if(val.assigned){_a.push(""+(key)+" = "+(val.value))}}return _a};Scope.prototype.compiledDeclarations=function(){return this.declaredVariables().join(", ")};Scope.prototype.compiledAssignments=function(){return this.assignedVariables().join(", ")};return Scope}).call(this)})();(function(){var AccessorNode,ArrayNode,AssignNode,BaseNode,CallNode,ClassNode,ClosureNode,CodeNode,CommentNode,ExistenceNode,Expressions,ExtendsNode,ForNode,IDENTIFIER,IS_STRING,IfNode,InNode,IndexNode,LiteralNode,NUMBER,ObjectNode,OpNode,ParamNode,ParentheticalNode,PushNode,RangeNode,ReturnNode,SIMPLENUM,Scope,SliceNode,SplatNode,SwitchNode,TAB,TRAILING_WHITESPACE,ThrowNode,TryNode,UTILITIES,ValueNode,WhileNode,_a,compact,del,ends,flatten,helpers,include,indexOf,literal,merge,starts,utility;var __extends=function(child,parent){var ctor=function(){};ctor.prototype=parent.prototype;child.prototype=new ctor();child.prototype.constructor=child;if(typeof parent.extended==="function"){parent.extended(child)}child.__super__=parent.prototype};if(typeof process!=="undefined"&&process!==null){Scope=require("./scope").Scope;helpers=require("./helpers").helpers}else{this.exports=this;helpers=this.helpers;Scope=this.Scope}_a=helpers;compact=_a.compact;flatten=_a.flatten;merge=_a.merge;del=_a.del;include=_a.include;indexOf=_a.indexOf;starts=_a.starts;ends=_a.ends;exports.BaseNode=(function(){BaseNode=function(){this.tags={};return this};BaseNode.prototype.compile=function(o){var closure,top;this.options=merge(o||{});this.tab=o.indent;if(!(this instanceof AccessorNode||this instanceof IndexNode)){del(this.options,"chainRoot")}top=this.topSensitive()?this.options.top:del(this.options,"top");closure=this.isStatement(o)&&!this.isPureStatement()&&!top&&!this.options.asStatement&&!(this instanceof CommentNode)&&!this.containsPureStatement();return closure?this.compileClosure(this.options):this.compileNode(this.options)};BaseNode.prototype.compileClosure=function(o){this.tab=o.indent;o.sharedScope=o.scope;return ClosureNode.wrap(this).compile(o)};BaseNode.prototype.compileReference=function(o,options){var compiled,pair,reference;options||(options={});pair=(function(){if(!(this.containsType(CallNode)||(this instanceof ValueNode&&(!(this.base instanceof LiteralNode)||this.hasProperties())))){return[this,this]}else{if(this instanceof ValueNode&&options.assignment){return this.cacheIndexes(o)}else{reference=literal(o.scope.freeVariable());compiled=new AssignNode(reference,this);return[compiled,reference]}}}).call(this);if(options.precompile){return[pair[0].compile(o),pair[1].compile(o)]}return pair};BaseNode.prototype.idt=function(tabs){var idt,num;idt=this.tab||"";num=(tabs||0)+1;while(num-=1){idt+=TAB}return idt};BaseNode.prototype.makeReturn=function(){return new ReturnNode(this)};BaseNode.prototype.contains=function(block){var contains;contains=false;this.traverseChildren(false,function(node){if(block(node)){contains=true;return false}});return contains};BaseNode.prototype.containsType=function(type){return this instanceof type||this.contains(function(n){return n instanceof type})};BaseNode.prototype.containsPureStatement=function(){return this.isPureStatement()||this.contains(function(n){return n.isPureStatement&&n.isPureStatement()})};BaseNode.prototype.traverse=function(block){return this.traverseChildren(true,block)};BaseNode.prototype.toString=function(idt,override){var _b,_c,_d,_e,child,children;idt||(idt="");children=(function(){_b=[];_d=this.collectChildren();for(_c=0,_e=_d.length;_c<_e;_c++){child=_d[_c];_b.push(child.toString(idt+TAB))}return _b}).call(this).join("");return"\n"+idt+(override||this["class"])+children};BaseNode.prototype.eachChild=function(func){var _b,_c,_d,_e,_f,_g,_h,attr,child;if(!(this.children)){return null}_b=[];_d=this.children;for(_c=0,_e=_d.length;_c<_e;_c++){attr=_d[_c];if(this[attr]){_g=flatten([this[attr]]);for(_f=0,_h=_g.length;_f<_h;_f++){child=_g[_f];if(func(child)===false){return null}}}}return _b};BaseNode.prototype.collectChildren=function(){var nodes;nodes=[];this.eachChild(function(node){return nodes.push(node)});return nodes};BaseNode.prototype.traverseChildren=function(crossScope,func){return this.eachChild(function(child){func.apply(this,arguments);if(child instanceof BaseNode){return child.traverseChildren(crossScope,func)}})};BaseNode.prototype["class"]="BaseNode";BaseNode.prototype.children=[];BaseNode.prototype.unwrap=function(){return this};BaseNode.prototype.isStatement=function(){return false};BaseNode.prototype.isPureStatement=function(){return false};BaseNode.prototype.topSensitive=function(){return false};return BaseNode})();exports.Expressions=(function(){Expressions=function(nodes){Expressions.__super__.constructor.call(this);this.expressions=compact(flatten(nodes||[]));return this};__extends(Expressions,BaseNode);Expressions.prototype["class"]="Expressions";Expressions.prototype.children=["expressions"];Expressions.prototype.isStatement=function(){return true};Expressions.prototype.push=function(node){this.expressions.push(node);return this};Expressions.prototype.unshift=function(node){this.expressions.unshift(node);return this};Expressions.prototype.unwrap=function(){return this.expressions.length===1?this.expressions[0]:this};Expressions.prototype.empty=function(){return this.expressions.length===0};Expressions.prototype.makeReturn=function(){var idx,last;idx=this.expressions.length-1;last=this.expressions[idx];if(last instanceof CommentNode){last=this.expressions[idx-=1]}if(!last||last instanceof ReturnNode){return this}this.expressions[idx]=last.makeReturn();return this};Expressions.prototype.compile=function(o){o||(o={});return o.scope?Expressions.__super__.compile.call(this,o):this.compileRoot(o)};Expressions.prototype.compileNode=function(o){var _b,_c,_d,_e,node;return(function(){_b=[];_d=this.expressions;for(_c=0,_e=_d.length;_c<_e;_c++){node=_d[_c];_b.push(this.compileExpression(node,merge(o)))}return _b}).call(this).join("\n")};Expressions.prototype.compileRoot=function(o){var code;o.indent=(this.tab=o.noWrap?"":TAB);o.scope=new Scope(null,this,null);code=this.compileWithDeclarations(o);code=code.replace(TRAILING_WHITESPACE,"");return o.noWrap?code:("(function() {\n"+(code)+"\n})();\n")};Expressions.prototype.compileWithDeclarations=function(o){var code;code=this.compileNode(o);if(o.scope.hasAssignments(this)){code=(""+(this.tab)+"var "+(o.scope.compiledAssignments())+";\n"+(code))}if(!o.globals&&o.scope.hasDeclarations(this)){code=(""+(this.tab)+"var "+(o.scope.compiledDeclarations())+";\n"+(code))}return code};Expressions.prototype.compileExpression=function(node,o){var compiledNode;this.tab=o.indent;compiledNode=node.compile(merge(o,{top:true}));return node.isStatement(o)?compiledNode:(""+(this.idt())+(compiledNode)+";")};return Expressions})();Expressions.wrap=function(nodes){if(nodes.length===1&&nodes[0] instanceof Expressions){return nodes[0]}return new Expressions(nodes)};exports.LiteralNode=(function(){LiteralNode=function(_b){this.value=_b;LiteralNode.__super__.constructor.call(this);return this};__extends(LiteralNode,BaseNode);LiteralNode.prototype["class"]="LiteralNode";LiteralNode.prototype.makeReturn=function(){return this.isStatement()?this:LiteralNode.__super__.makeReturn.call(this)};LiteralNode.prototype.isStatement=function(){return this.value==="break"||this.value==="continue"||this.value==="debugger"};LiteralNode.prototype.isPureStatement=LiteralNode.prototype.isStatement;LiteralNode.prototype.compileNode=function(o){var end,idt;idt=this.isStatement(o)?this.idt():"";end=this.isStatement(o)?";":"";return idt+this.value+end};LiteralNode.prototype.toString=function(idt){return'"'+this.value+'"'};return LiteralNode})();exports.ReturnNode=(function(){ReturnNode=function(_b){this.expression=_b;ReturnNode.__super__.constructor.call(this);return this};__extends(ReturnNode,BaseNode);ReturnNode.prototype["class"]="ReturnNode";ReturnNode.prototype.isStatement=function(){return true};ReturnNode.prototype.isPureStatement=function(){return true};ReturnNode.prototype.children=["expression"];ReturnNode.prototype.makeReturn=function(){return this};ReturnNode.prototype.compile=function(o){var expr;expr=this.expression.makeReturn();if(!(expr instanceof ReturnNode)){return expr.compile(o)}return ReturnNode.__super__.compile.call(this,o)};ReturnNode.prototype.compileNode=function(o){if(this.expression.isStatement(o)){o.asStatement=true}return""+(this.tab)+"return "+(this.expression.compile(o))+";"};return ReturnNode})();exports.ValueNode=(function(){ValueNode=function(_b,_c){this.properties=_c;this.base=_b;ValueNode.__super__.constructor.call(this);this.properties||(this.properties=[]);return this};__extends(ValueNode,BaseNode);ValueNode.prototype["class"]="ValueNode";ValueNode.prototype.children=["base","properties"];ValueNode.prototype.push=function(prop){this.properties.push(prop);return this};ValueNode.prototype.hasProperties=function(){return !!this.properties.length};ValueNode.prototype.isArray=function(){return this.base instanceof ArrayNode&&!this.hasProperties()};ValueNode.prototype.isObject=function(){return this.base instanceof ObjectNode&&!this.hasProperties()};ValueNode.prototype.isSplice=function(){return this.hasProperties()&&this.properties[this.properties.length-1] instanceof SliceNode};ValueNode.prototype.makeReturn=function(){return this.hasProperties()?ValueNode.__super__.makeReturn.call(this):this.base.makeReturn()};ValueNode.prototype.unwrap=function(){return this.properties.length?this:this.base};ValueNode.prototype.isStatement=function(o){return this.base.isStatement&&this.base.isStatement(o)&&!this.hasProperties()};ValueNode.prototype.isNumber=function(){return this.base instanceof LiteralNode&&this.base.value.match(NUMBER)};ValueNode.prototype.cacheIndexes=function(o){var _b,_c,_d,_e,copy,i;copy=new ValueNode(this.base,this.properties.slice(0));if(this.base instanceof CallNode){_b=this.base.compileReference(o);this.base=_b[0];copy.base=_b[1]}_d=copy.properties;for(_c=0,_e=_d.length;_c<_e;_c++){(function(){var _f,index,indexVar;var i=_c;var prop=_d[_c];if(prop instanceof IndexNode&&prop.contains(function(n){return n instanceof CallNode})){_f=prop.index.compileReference(o);index=_f[0];indexVar=_f[1];this.properties[i]=new IndexNode(index);return(copy.properties[i]=new IndexNode(indexVar))}}).call(this)}return[this,copy]};ValueNode.prototype.compile=function(o){return !o.top||this.properties.length?ValueNode.__super__.compile.call(this,o):this.base.compile(o)};ValueNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,baseline,complete,copy,hasSoak,i,me,only,op,part,prop,props,temp;only=del(o,"onlyFirst");op=this.tags.operation;props=only?this.properties.slice(0,this.properties.length-1):this.properties;o.chainRoot||(o.chainRoot=this);_c=props;for(_b=0,_d=_c.length;_b<_d;_b++){prop=_c[_b];if(prop.soakNode){hasSoak=true}}if(hasSoak&&this.containsType(CallNode)){_e=this.cacheIndexes(o);me=_e[0];copy=_e[1]}if(this.parenthetical&&!props.length){this.base.parenthetical=true}baseline=this.base.compile(o);if(this.hasProperties()&&(this.base instanceof ObjectNode||this.isNumber())){baseline=("("+(baseline)+")")}complete=(this.last=baseline);_f=props;for(i=0,_g=_f.length;i<_g;i++){prop=_f[i];this.source=baseline;if(prop.soakNode){if(this.base.containsType(CallNode)&&i===0){temp=o.scope.freeVariable();complete=("("+(baseline=temp)+" = ("+(complete)+"))")}complete=i===0?("(typeof "+(complete)+' === "undefined" || '+(baseline)+" === null) ? undefined : "):(""+(complete)+" == null ? undefined : ");complete+=(baseline+=prop.compile(o))}else{part=prop.compile(o);if(hasSoak&&prop.containsType(CallNode)){baseline+=copy.properties[i].compile(o)}else{baseline+=part}complete+=part;this.last=part}}return op&&this.wrapped?("("+(complete)+")"):complete};return ValueNode})();exports.CommentNode=(function(){CommentNode=function(_b){this.comment=_b;CommentNode.__super__.constructor.call(this);return this};__extends(CommentNode,BaseNode);CommentNode.prototype["class"]="CommentNode";CommentNode.prototype.isStatement=function(){return true};CommentNode.prototype.makeReturn=function(){return this};CommentNode.prototype.compileNode=function(o){return this.tab+"/*"+this.comment.replace(/\r?\n/g,"\n"+this.tab)+"*/"};return CommentNode})();exports.CallNode=(function(){CallNode=function(variable,_b,_c){this.exist=_c;this.args=_b;CallNode.__super__.constructor.call(this);this.isNew=false;this.isSuper=variable==="super";this.variable=this.isSuper?null:variable;this.args||(this.args=[]);this.first=(this.last="");this.compileSplatArguments=function(o){return SplatNode.compileSplattedArray.call(this,this.args,o)};return this};__extends(CallNode,BaseNode);CallNode.prototype["class"]="CallNode";CallNode.prototype.children=["variable","args"];CallNode.prototype.newInstance=function(){this.isNew=true;return this};CallNode.prototype.prefix=function(){return this.isNew?"new ":""};CallNode.prototype.superReference=function(o){var meth,methname;if(!(o.scope.method)){throw new Error("cannot call super outside of a function")}methname=o.scope.method.name;return(meth=(function(){if(o.scope.method.proto){return""+(o.scope.method.proto)+".__super__."+(methname)}else{if(methname){return""+(methname)+".__super__.constructor"}else{throw new Error("cannot call super on an anonymous function.")}}})())};CallNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,_i,arg,args,code,op;if(!(o.chainRoot)){o.chainRoot=this}op=this.tags.operation;if(this.exist){_b=this.variable.compileReference(o,{precompile:true});this.first=_b[0];this.meth=_b[1];this.first=("(typeof "+(this.first)+' === "function" ? ');this.last=" : undefined)"}else{if(this.variable){this.meth=this.variable.compile(o)}}_d=this.args;for(_c=0,_e=_d.length;_c<_e;_c++){arg=_d[_c];if(arg instanceof SplatNode){code=this.compileSplat(o)}}if(!code){args=(function(){_f=[];_h=this.args;for(_g=0,_i=_h.length;_g<_i;_g++){arg=_h[_g];_f.push((function(){arg.parenthetical=true;return arg.compile(o)})())}return _f}).call(this);code=this.isSuper?this.compileSuper(args.join(", "),o):(""+(this.first)+(this.prefix())+(this.meth)+"("+(args.join(", "))+")"+(this.last))}return op&&this.variable&&this.variable.wrapped?("("+(code)+")"):code};CallNode.prototype.compileSuper=function(args,o){return""+(this.superReference(o))+".call(this"+(args.length?", ":"")+(args)+")"};CallNode.prototype.compileSplat=function(o){var _b,_c,_d,a,b,c,mentionsArgs,meth,obj,temp;meth=this.meth||this.superReference(o);obj=this.variable&&this.variable.source||"this";if(obj.match(/\(/)){temp=o.scope.freeVariable();obj=temp;meth=("("+(temp)+" = "+(this.variable.source)+")"+(this.variable.last))}if(this.isNew){mentionsArgs=false;_c=this.args;for(_b=0,_d=_c.length;_b<_d;_b++){(function(){var arg=_c[_b];return arg.contains(function(n){return mentionsArgs||(mentionsArgs=(n instanceof LiteralNode&&(n.value==="arguments")))})})()}utility("extends");a=o.scope.freeVariable();b=o.scope.freeVariable();c=o.scope.freeVariable();return""+(this.first)+"(function() {\n"+(this.idt(1))+"var ctor = function(){};\n"+(this.idt(1))+"__extends(ctor, "+(a)+" = "+(meth)+");\n"+(this.idt(1))+"return typeof ("+(b)+" = "+(a)+".apply("+(c)+" = new ctor, "+(this.compileSplatArguments(o))+')) === "object" ? '+(b)+" : "+(c)+";\n"+(this.tab)+"})."+(mentionsArgs?"apply(this, arguments)":"call(this)")+(this.last)}else{return""+(this.first)+(this.prefix())+(meth)+".apply("+(obj)+", "+(this.compileSplatArguments(o))+")"+(this.last)}};return CallNode})();exports.ExtendsNode=(function(){ExtendsNode=function(_b,_c){this.parent=_c;this.child=_b;ExtendsNode.__super__.constructor.call(this);return this};__extends(ExtendsNode,BaseNode);ExtendsNode.prototype["class"]="ExtendsNode";ExtendsNode.prototype.children=["child","parent"];ExtendsNode.prototype.compileNode=function(o){var ref;ref=new ValueNode(literal(utility("extends")));return(new CallNode(ref,[this.child,this.parent])).compile(o)};return ExtendsNode})();exports.AccessorNode=(function(){AccessorNode=function(_b,tag){this.name=_b;AccessorNode.__super__.constructor.call(this);this.prototype=tag==="prototype"?".prototype":"";this.soakNode=tag==="soak";return this};__extends(AccessorNode,BaseNode);AccessorNode.prototype["class"]="AccessorNode";AccessorNode.prototype.children=["name"];AccessorNode.prototype.compileNode=function(o){var name,namePart;name=this.name.compile(o);o.chainRoot.wrapped||(o.chainRoot.wrapped=this.soakNode);namePart=name.match(IS_STRING)?("["+(name)+"]"):("."+(name));return this.prototype+namePart};return AccessorNode})();exports.IndexNode=(function(){IndexNode=function(_b){this.index=_b;IndexNode.__super__.constructor.call(this);return this};__extends(IndexNode,BaseNode);IndexNode.prototype["class"]="IndexNode";IndexNode.prototype.children=["index"];IndexNode.prototype.compileNode=function(o){var idx,prefix;o.chainRoot.wrapped||(o.chainRoot.wrapped=this.soakNode);idx=this.index.compile(o);prefix=this.proto?".prototype":"";return""+(prefix)+"["+(idx)+"]"};return IndexNode})();exports.RangeNode=(function(){RangeNode=function(_b,_c,tag){this.to=_c;this.from=_b;RangeNode.__super__.constructor.call(this);this.exclusive=tag==="exclusive";this.equals=this.exclusive?"":"=";return this};__extends(RangeNode,BaseNode);RangeNode.prototype["class"]="RangeNode";RangeNode.prototype.children=["from","to"];RangeNode.prototype.compileVariables=function(o){var _b,_c,_d,parts;o=merge(o,{top:true});_b=this.from.compileReference(o,{precompile:true});this.from=_b[0];this.fromVar=_b[1];_c=this.to.compileReference(o,{precompile:true});this.to=_c[0];this.toVar=_c[1];_d=[this.fromVar.match(SIMPLENUM),this.toVar.match(SIMPLENUM)];this.fromNum=_d[0];this.toNum=_d[1];parts=[];if(this.from!==this.fromVar){parts.push(this.from)}if(this.to!==this.toVar){parts.push(this.to)}return parts.length?(""+(parts.join("; "))+"; "):""};RangeNode.prototype.compileNode=function(o){var compare,idx,incr,intro,step,stepPart,vars;if(!(o.index)){return this.compileArray(o)}if(this.fromNum&&this.toNum){return this.compileSimple(o)}idx=del(o,"index");step=del(o,"step");vars=(""+(idx)+" = "+(this.fromVar));intro=("("+(this.fromVar)+" <= "+(this.toVar)+" ? "+(idx));compare=(""+(intro)+" <"+(this.equals)+" "+(this.toVar)+" : "+(idx)+" >"+(this.equals)+" "+(this.toVar)+")");stepPart=step?step.compile(o):"1";incr=step?(""+(idx)+" += "+(stepPart)):(""+(intro)+" += "+(stepPart)+" : "+(idx)+" -= "+(stepPart)+")");return""+(vars)+"; "+(compare)+"; "+(incr)};RangeNode.prototype.compileSimple=function(o){var _b,from,idx,step,to;_b=[parseInt(this.fromNum,10),parseInt(this.toNum,10)];from=_b[0];to=_b[1];idx=del(o,"index");step=del(o,"step");step&&(step=(""+(idx)+" += "+(step.compile(o))));return from<=to?(""+(idx)+" = "+(from)+"; "+(idx)+" <"+(this.equals)+" "+(to)+"; "+(step||(""+(idx)+"++"))):(""+(idx)+" = "+(from)+"; "+(idx)+" >"+(this.equals)+" "+(to)+"; "+(step||(""+(idx)+"--")))};RangeNode.prototype.compileArray=function(o){var _b,_c,body,clause,i,idt,post,pre,range,result,vars;idt=this.idt(1);vars=this.compileVariables(merge(o,{indent:idt}));if(this.fromNum&&this.toNum&&(Math.abs(+this.fromNum-+this.toNum)<=20)){range=(function(){_c=[];for(var _b=+this.fromNum;+this.fromNum<=+this.toNum?_b<=+this.toNum:_b>=+this.toNum;+this.fromNum<=+this.toNum?_b+=1:_b-=1){_c.push(_b)}return _c}).call(this);if(this.exclusive){range.pop()}return("["+(range.join(", "))+"]")}i=o.scope.freeVariable();result=o.scope.freeVariable();pre=("\n"+(idt)+(result)+" = []; "+(vars));if(this.fromNum&&this.toNum){o.index=i;body=this.compileSimple(o)}else{clause=(""+(this.fromVar)+" <= "+(this.toVar)+" ?");body=("var "+(i)+" = "+(this.fromVar)+"; "+(clause)+" "+(i)+" <"+(this.equals)+" "+(this.toVar)+" : "+(i)+" >"+(this.equals)+" "+(this.toVar)+"; "+(clause)+" "+(i)+" += 1 : "+(i)+" -= 1")}post=("{ "+(result)+".push("+(i)+"); }\n"+(idt)+"return "+(result)+";\n"+(o.indent));return"(function() {"+(pre)+"\n"+(idt)+"for ("+(body)+")"+(post)+"}).call(this)"};return RangeNode})();exports.SliceNode=(function(){SliceNode=function(_b){this.range=_b;SliceNode.__super__.constructor.call(this);return this};__extends(SliceNode,BaseNode);SliceNode.prototype["class"]="SliceNode";SliceNode.prototype.children=["range"];SliceNode.prototype.compileNode=function(o){var from,to;from=this.range.from?this.range.from.compile(o):"0";to=this.range.to?this.range.to.compile(o):"";to+=(!to||this.range.exclusive?"":" + 1");if(to){to=", "+to}return".slice("+(from)+(to)+")"};return SliceNode})();exports.ObjectNode=(function(){ObjectNode=function(props){ObjectNode.__super__.constructor.call(this);this.objects=(this.properties=props||[]);return this};__extends(ObjectNode,BaseNode);ObjectNode.prototype["class"]="ObjectNode";ObjectNode.prototype.children=["properties"];ObjectNode.prototype.topSensitive=function(){return true};ObjectNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,i,indent,join,lastNoncom,nonComments,obj,prop,props,top;top=del(o,"top");o.indent=this.idt(1);nonComments=(function(){_b=[];_d=this.properties;for(_c=0,_e=_d.length;_c<_e;_c++){prop=_d[_c];if(!(prop instanceof CommentNode)){_b.push(prop)}}return _b}).call(this);lastNoncom=nonComments[nonComments.length-1];props=(function(){_f=[];_g=this.properties;for(i=0,_h=_g.length;i<_h;i++){prop=_g[i];_f.push((function(){join=",\n";if((prop===lastNoncom)||(prop instanceof CommentNode)){join="\n"}if(i===this.properties.length-1){join=""}indent=prop instanceof CommentNode?"":this.idt(1);if(!(prop instanceof AssignNode||prop instanceof CommentNode)){prop=new AssignNode(prop,prop,"object")}return indent+prop.compile(o)+join}).call(this))}return _f}).call(this);props=props.join("");obj="{"+(props?"\n"+props+"\n"+this.idt():"")+"}";return top?("("+(obj)+")"):obj};return ObjectNode})();exports.ArrayNode=(function(){ArrayNode=function(_b){this.objects=_b;ArrayNode.__super__.constructor.call(this);this.objects||(this.objects=[]);this.compileSplatLiteral=function(o){return SplatNode.compileSplattedArray.call(this,this.objects,o)};return this};__extends(ArrayNode,BaseNode);ArrayNode.prototype["class"]="ArrayNode";ArrayNode.prototype.children=["objects"];ArrayNode.prototype.compileNode=function(o){var _b,_c,code,i,obj,objects;o.indent=this.idt(1);objects=[];_b=this.objects;for(i=0,_c=_b.length;i<_c;i++){obj=_b[i];code=obj.compile(o);if(obj instanceof SplatNode){return this.compileSplatLiteral(o)}else{if(obj instanceof CommentNode){objects.push("\n"+(code)+"\n"+(o.indent))}else{if(i===this.objects.length-1){objects.push(code)}else{objects.push(""+(code)+", ")}}}}objects=objects.join("");return indexOf(objects,"\n")>=0?("[\n"+(this.idt(1))+(objects)+"\n"+(this.tab)+"]"):("["+(objects)+"]")};return ArrayNode})();exports.ClassNode=(function(){ClassNode=function(_b,_c,_d){this.properties=_d;this.parent=_c;this.variable=_b;ClassNode.__super__.constructor.call(this);this.properties||(this.properties=[]);this.returns=false;return this};__extends(ClassNode,BaseNode);ClassNode.prototype["class"]="ClassNode";ClassNode.prototype.children=["variable","parent","properties"];ClassNode.prototype.isStatement=function(){return true};ClassNode.prototype.makeReturn=function(){this.returns=true;return this};ClassNode.prototype.compileNode=function(o){var _b,_c,_d,_e,access,applied,className,constScope,construct,constructor,extension,func,me,pname,prop,props,pvar,returns,val;if(this.variable==="__temp__"){this.variable=literal(o.scope.freeVariable())}extension=this.parent&&new ExtendsNode(this.variable,this.parent);props=new Expressions();o.top=true;me=null;className=this.variable.compile(o);constScope=null;if(this.parent){applied=new ValueNode(this.parent,[new AccessorNode(literal("apply"))]);constructor=new CodeNode([],new Expressions([new CallNode(applied,[literal("this"),literal("arguments")])]))}else{constructor=new CodeNode()}_c=this.properties;for(_b=0,_d=_c.length;_b<_d;_b++){prop=_c[_b];_e=[prop.variable,prop.value];pvar=_e[0];func=_e[1];if(pvar&&pvar.base.value==="constructor"&&func instanceof CodeNode){if(func.bound){throw new Error("cannot define a constructor as a bound function.")}func.name=className;func.body.push(new ReturnNode(literal("this")));this.variable=new ValueNode(this.variable);this.variable.namespaced=include(func.name,".");constructor=func;continue}if(func instanceof CodeNode&&func.bound){if(prop.context==="this"){func.context=className}else{func.bound=false;constScope||(constScope=new Scope(o.scope,constructor.body,constructor));me||(me=constScope.freeVariable());pname=pvar.compile(o);if(constructor.body.empty()){constructor.body.push(new ReturnNode(literal("this")))}constructor.body.unshift(literal("this."+(pname)+" = function(){ return "+(className)+".prototype."+(pname)+".apply("+(me)+", arguments); }"))}}if(pvar){access=prop.context==="this"?pvar.base.properties[0]:new AccessorNode(pvar,"prototype");val=new ValueNode(this.variable,[access]);prop=new AssignNode(val,func)}props.push(prop)}if(me){constructor.body.unshift(literal(""+(me)+" = this"))}construct=this.idt()+(new AssignNode(this.variable,constructor)).compile(merge(o,{sharedScope:constScope}))+";";props=!props.empty()?"\n"+props.compile(o):"";extension=extension?"\n"+this.idt()+extension.compile(o)+";":"";returns=this.returns?"\n"+new ReturnNode(this.variable).compile(o):"";return construct+extension+props+returns};return ClassNode})();exports.AssignNode=(function(){AssignNode=function(_b,_c,_d){this.context=_d;this.value=_c;this.variable=_b;AssignNode.__super__.constructor.call(this);return this};__extends(AssignNode,BaseNode);AssignNode.prototype.PROTO_ASSIGN=/^(\S+)\.prototype/;AssignNode.prototype.LEADING_DOT=/^\.(prototype\.)?/;AssignNode.prototype["class"]="AssignNode";AssignNode.prototype.children=["variable","value"];AssignNode.prototype.topSensitive=function(){return true};AssignNode.prototype.isValue=function(){return this.variable instanceof ValueNode};AssignNode.prototype.makeReturn=function(){if(this.isStatement()){return new Expressions([this,new ReturnNode(this.variable)])}else{return AssignNode.__super__.makeReturn.call(this)}};AssignNode.prototype.isStatement=function(){return this.isValue()&&(this.variable.isArray()||this.variable.isObject())};AssignNode.prototype.compileNode=function(o){var last,match,name,proto,stmt,top,val;top=del(o,"top");if(this.isStatement(o)){return this.compilePatternMatch(o)}if(this.isValue()&&this.variable.isSplice()){return this.compileSplice(o)}stmt=del(o,"asStatement");name=this.variable.compile(o);last=this.isValue()?this.variable.last.replace(this.LEADING_DOT,""):name;match=name.match(this.PROTO_ASSIGN);proto=match&&match[1];if(this.value instanceof CodeNode){if(last.match(IDENTIFIER)){this.value.name=last}if(proto){this.value.proto=proto}}val=this.value.compile(o);if(this.context==="object"){return(""+(name)+": "+(val))}if(!(this.isValue()&&(this.variable.hasProperties()||this.variable.namespaced))){o.scope.find(name)}val=(""+(name)+" = "+(val));if(stmt){return(""+(this.tab)+(val)+";")}return top||this.parenthetical?val:("("+(val)+")")};AssignNode.prototype.compilePatternMatch=function(o){var _b,_c,_d,accessClass,assigns,code,i,idx,isString,obj,oindex,olength,splat,val,valVar,value;valVar=o.scope.freeVariable();value=this.value.isStatement(o)?ClosureNode.wrap(this.value):this.value;assigns=[(""+(this.tab)+(valVar)+" = "+(value.compile(o))+";")];o.top=true;o.asStatement=true;splat=false;_b=this.variable.base.objects;for(i=0,_c=_b.length;i<_c;i++){obj=_b[i];idx=i;if(this.variable.isObject()){if(obj instanceof AssignNode){_d=[obj.value,obj.variable.base];obj=_d[0];idx=_d[1]}else{idx=obj}}if(!(obj instanceof ValueNode||obj instanceof SplatNode)){throw new Error("pattern matching must use only identifiers on the left-hand side.")}isString=idx.value&&idx.value.match(IS_STRING);accessClass=isString||this.variable.isArray()?IndexNode:AccessorNode;if(obj instanceof SplatNode&&!splat){val=literal(obj.compileValue(o,valVar,oindex=indexOf(this.variable.base.objects,obj),(olength=this.variable.base.objects.length)-oindex-1));splat=true}else{if(typeof idx!=="object"){idx=literal(splat?(""+(valVar)+".length - "+(olength-idx)):idx)}val=new ValueNode(literal(valVar),[new accessClass(idx)])}assigns.push(new AssignNode(obj,val).compile(o))}code=assigns.join("\n");return code};AssignNode.prototype.compileSplice=function(o){var from,l,name,plus,range,to,val;name=this.variable.compile(merge(o,{onlyFirst:true}));l=this.variable.properties.length;range=this.variable.properties[l-1].range;plus=range.exclusive?"":" + 1";from=range.from?range.from.compile(o):"0";to=range.to?range.to.compile(o)+" - "+from+plus:(""+(name)+".length");val=this.value.compile(o);return""+(name)+".splice.apply("+(name)+", ["+(from)+", "+(to)+"].concat("+(val)+"))"};return AssignNode})();exports.CodeNode=(function(){CodeNode=function(_b,_c,tag){this.body=_c;this.params=_b;CodeNode.__super__.constructor.call(this);this.params||(this.params=[]);this.body||(this.body=new Expressions());this.bound=tag==="boundfunc";if(this.bound){this.context="this"}return this};__extends(CodeNode,BaseNode);CodeNode.prototype["class"]="CodeNode";CodeNode.prototype.children=["params","body"];CodeNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,code,empty,func,i,param,params,sharedScope,splat,top,value;sharedScope=del(o,"sharedScope");top=del(o,"top");o.scope=sharedScope||new Scope(o.scope,this.body,this);o.top=true;o.indent=this.idt(1);empty=this.body.expressions.length===0;del(o,"noWrap");del(o,"globals");splat=undefined;params=[];_b=this.params;for(i=0,_c=_b.length;i<_c;i++){param=_b[i];if(splat){if(param.attach){param.assign=new AssignNode(new ValueNode(literal("this"),[new AccessorNode(param.value)]));this.body.expressions.splice(splat.index+1,0,param.assign)}splat.trailings.push(param)}else{if(param.attach){_d=param;value=_d.value;_e=[literal(o.scope.freeVariable()),param.splat];param=_e[0];param.splat=_e[1];this.body.unshift(new AssignNode(new ValueNode(literal("this"),[new AccessorNode(value)]),param))}if(param.splat){splat=new SplatNode(param.value);splat.index=i;splat.trailings=[];splat.arglength=this.params.length;this.body.unshift(splat)}else{params.push(param)}}}params=(function(){_f=[];_h=params;for(_g=0,_i=_h.length;_g<_i;_g++){param=_h[_g];_f.push(param.compile(o))}return _f})();if(!(empty)){this.body.makeReturn()}_k=params;for(_j=0,_l=_k.length;_j<_l;_j++){param=_k[_j];(o.scope.parameter(param))}code=this.body.expressions.length?("\n"+(this.body.compileWithDeclarations(o))+"\n"):"";func=("function("+(params.join(", "))+") {"+(code)+(code&&this.tab)+"}");if(this.bound){return(""+(utility("bind"))+"("+(func)+", "+(this.context)+")")}return top?("("+(func)+")"):func};CodeNode.prototype.topSensitive=function(){return true};CodeNode.prototype.traverseChildren=function(crossScope,func){if(crossScope){return CodeNode.__super__.traverseChildren.call(this,crossScope,func)}};CodeNode.prototype.toString=function(idt){var _b,_c,_d,_e,child,children;idt||(idt="");children=(function(){_b=[];_d=this.collectChildren();for(_c=0,_e=_d.length;_c<_e;_c++){child=_d[_c];_b.push(child.toString(idt+TAB))}return _b}).call(this).join("");return"\n"+idt+children};return CodeNode})();exports.ParamNode=(function(){ParamNode=function(_b,_c,_d){this.splat=_d;this.attach=_c;this.name=_b;ParamNode.__super__.constructor.call(this);this.value=literal(this.name);return this};__extends(ParamNode,BaseNode);ParamNode.prototype["class"]="ParamNode";ParamNode.prototype.children=["name"];ParamNode.prototype.compileNode=function(o){return this.value.compile(o)};ParamNode.prototype.toString=function(idt){return this.attach?(literal("@"+this.name)).toString(idt):this.value.toString(idt)};return ParamNode})();exports.SplatNode=(function(){SplatNode=function(name){SplatNode.__super__.constructor.call(this);if(!(name.compile)){name=literal(name)}this.name=name;return this};__extends(SplatNode,BaseNode);SplatNode.prototype["class"]="SplatNode";SplatNode.prototype.children=["name"];SplatNode.prototype.compileNode=function(o){var _b;return(typeof(_b=this.index)!=="undefined"&&_b!==null)?this.compileParam(o):this.name.compile(o)};SplatNode.prototype.compileParam=function(o){var _b,_c,assign,end,idx,len,name,pos,trailing,variadic;name=this.name.compile(o);o.scope.find(name);end="";if(this.trailings.length){len=o.scope.freeVariable();o.scope.assign(len,"arguments.length");variadic=o.scope.freeVariable();o.scope.assign(variadic,len+" >= "+this.arglength);end=this.trailings.length?(", "+(len)+" - "+(this.trailings.length)):null;_b=this.trailings;for(idx=0,_c=_b.length;idx<_c;idx++){trailing=_b[idx];if(trailing.attach){assign=trailing.assign;trailing=literal(o.scope.freeVariable());assign.value=trailing}pos=this.trailings.length-idx;o.scope.assign(trailing.compile(o),"arguments["+(variadic)+" ? "+(len)+" - "+(pos)+" : "+(this.index+idx)+"]")}}return""+(name)+" = "+(utility("slice"))+".call(arguments, "+(this.index)+(end)+")"};SplatNode.prototype.compileValue=function(o,name,index,trailings){var trail;trail=trailings?(", "+(name)+".length - "+(trailings)):"";return""+(utility("slice"))+".call("+(name)+", "+(index)+(trail)+")"};SplatNode.compileSplattedArray=function(list,o){var _b,_c,arg,args,code,i,last,prev;args=[];_b=list;for(i=0,_c=_b.length;i<_c;i++){arg=_b[i];code=arg.compile(o);prev=args[(last=args.length-1)];if(!(arg instanceof SplatNode)){if(prev&&starts(prev,"[")&&ends(prev,"]")){args[last]=(""+(prev.substr(0,prev.length-1))+", "+(code)+"]");continue}else{if(prev&&starts(prev,".concat([")&&ends(prev,"])")){args[last]=(""+(prev.substr(0,prev.length-2))+", "+(code)+"])");continue}else{code=("["+(code)+"]")}}}args.push(i===0?code:(".concat("+(code)+")"))}return args.join("")};return SplatNode}).call(this);exports.WhileNode=(function(){WhileNode=function(condition,opts){WhileNode.__super__.constructor.call(this);if(opts&&opts.invert){if(condition instanceof OpNode){condition=new ParentheticalNode(condition)}condition=new OpNode("!",condition)}this.condition=condition;this.guard=opts&&opts.guard;return this};__extends(WhileNode,BaseNode);WhileNode.prototype["class"]="WhileNode";WhileNode.prototype.children=["condition","guard","body"];WhileNode.prototype.isStatement=function(){return true};WhileNode.prototype.addBody=function(body){this.body=body;return this};WhileNode.prototype.makeReturn=function(){this.returns=true;return this};WhileNode.prototype.topSensitive=function(){return true};WhileNode.prototype.compileNode=function(o){var cond,post,pre,rvar,set,top;top=del(o,"top")&&!this.returns;o.indent=this.idt(1);o.top=true;this.condition.parenthetical=true;cond=this.condition.compile(o);set="";if(!(top)){rvar=o.scope.freeVariable();set=(""+(this.tab)+(rvar)+" = [];\n");if(this.body){this.body=PushNode.wrap(rvar,this.body)}}pre=(""+(set)+(this.tab)+"while ("+(cond)+")");if(this.guard){this.body=Expressions.wrap([new IfNode(this.guard,this.body)])}if(this.returns){post="\n"+new ReturnNode(literal(rvar)).compile(merge(o,{indent:this.idt()}))}else{post=""}return""+(pre)+" {\n"+(this.body.compile(o))+"\n"+(this.tab)+"}"+(post)};return WhileNode})();exports.OpNode=(function(){OpNode=function(_b,_c,_d,flip){this.second=_d;this.first=_c;this.operator=_b;OpNode.__super__.constructor.call(this);this.operator=this.CONVERSIONS[this.operator]||this.operator;this.flip=!!flip;if(this.first instanceof ValueNode&&this.first.base instanceof ObjectNode){this.first=new ParentheticalNode(this.first)}this.first.tags.operation=true;if(this.second){this.second.tags.operation=true}return this};__extends(OpNode,BaseNode);OpNode.prototype.CONVERSIONS={"==":"===","!=":"!=="};OpNode.prototype.INVERSIONS={"!==":"===","===":"!=="};OpNode.prototype.CHAINABLE=["<",">",">=","<=","===","!=="];OpNode.prototype.ASSIGNMENT=["||=","&&=","?="];OpNode.prototype.PREFIX_OPERATORS=["typeof","delete"];OpNode.prototype["class"]="OpNode";OpNode.prototype.children=["first","second"];OpNode.prototype.isUnary=function(){return !this.second};OpNode.prototype.isInvertible=function(){var _b;return(("==="===(_b=this.operator)||"!=="===_b))&&!(this.first instanceof OpNode)&&!(this.second instanceof OpNode)};OpNode.prototype.isMutator=function(){var _b;return ends(this.operator,"=")&&!(("==="===(_b=this.operator)||"!=="===_b))};OpNode.prototype.isChainable=function(){return include(this.CHAINABLE,this.operator)};OpNode.prototype.invert=function(){return(this.operator=this.INVERSIONS[this.operator])};OpNode.prototype.toString=function(idt){return OpNode.__super__.toString.call(this,idt,this["class"]+" "+this.operator)};OpNode.prototype.compileNode=function(o){if(this.isChainable()&&this.first.unwrap() instanceof OpNode&&this.first.unwrap().isChainable()){return this.compileChain(o)}if(indexOf(this.ASSIGNMENT,this.operator)>=0){return this.compileAssignment(o)}if(this.isUnary()){return this.compileUnary(o)}if(this.operator==="?"){return this.compileExistence(o)}if(this.first instanceof OpNode&&this.first.isMutator()){this.first=new ParentheticalNode(this.first)}if(this.second instanceof OpNode&&this.second.isMutator()){this.second=new ParentheticalNode(this.second)}return[this.first.compile(o),this.operator,this.second.compile(o)].join(" ")};OpNode.prototype.compileChain=function(o){var _b,_c,first,second,shared;shared=this.first.unwrap().second;if(shared.containsType(CallNode)){_b=shared.compileReference(o);this.first.second=_b[0];shared=_b[1]}_c=[this.first.compile(o),this.second.compile(o),shared.compile(o)];first=_c[0];second=_c[1];shared=_c[2];return"("+(first)+") && ("+(shared)+" "+(this.operator)+" "+(second)+")"};OpNode.prototype.compileAssignment=function(o){var _b,first,firstVar,second;_b=this.first.compileReference(o,{precompile:true,assignment:true});first=_b[0];firstVar=_b[1];second=this.second.compile(o);if(this.second instanceof OpNode){second=("("+(second)+")")}if(first.match(IDENTIFIER)){o.scope.find(first)}if(this.operator==="?="){return(""+(first)+" = "+(ExistenceNode.compileTest(o,literal(firstVar))[0])+" ? "+(firstVar)+" : "+(second))}return""+(first)+" "+(this.operator.substr(0,2))+" ("+(firstVar)+" = "+(second)+")"};OpNode.prototype.compileExistence=function(o){var _b,ref,test;_b=ExistenceNode.compileTest(o,this.first);test=_b[0];ref=_b[1];return""+(test)+" ? "+(ref)+" : "+(this.second.compile(o))};OpNode.prototype.compileUnary=function(o){var parts,space;space=indexOf(this.PREFIX_OPERATORS,this.operator)>=0?" ":"";parts=[this.operator,space,this.first.compile(o)];if(this.flip){parts=parts.reverse()}return parts.join("")};return OpNode})();exports.InNode=(function(){InNode=function(_b,_c){this.array=_c;this.object=_b;InNode.__super__.constructor.call(this);return this};__extends(InNode,BaseNode);InNode.prototype["class"]="InNode";InNode.prototype.children=["object","array"];InNode.prototype.isArray=function(){return this.array instanceof ValueNode&&this.array.isArray()};InNode.prototype.compileNode=function(o){var _b;_b=this.object.compileReference(o,{precompile:true});this.obj1=_b[0];this.obj2=_b[1];return this.isArray()?this.compileOrTest(o):this.compileLoopTest(o)};InNode.prototype.compileOrTest=function(o){var _b,_c,_d,i,item,tests;tests=(function(){_b=[];_c=this.array.base.objects;for(i=0,_d=_c.length;i<_d;i++){item=_c[i];_b.push(""+(item.compile(o))+" === "+(i?this.obj2:this.obj1))}return _b}).call(this);return"("+(tests.join(" || "))+")"};InNode.prototype.compileLoopTest=function(o){var _b,_c,i,l,prefix;_b=this.array.compileReference(o,{precompile:true});this.arr1=_b[0];this.arr2=_b[1];_c=[o.scope.freeVariable(),o.scope.freeVariable()];i=_c[0];l=_c[1];prefix=this.obj1!==this.obj2?this.obj1+"; ":"";return"(function(){ "+(prefix)+"for (var "+(i)+"=0, "+(l)+"="+(this.arr1)+".length; "+(i)+"<"+(l)+"; "+(i)+"++) { if ("+(this.arr2)+"["+(i)+"] === "+(this.obj2)+") return true; } return false; }).call(this)"};return InNode})();exports.TryNode=(function(){TryNode=function(_b,_c,_d,_e){this.ensure=_e;this.recovery=_d;this.error=_c;this.attempt=_b;TryNode.__super__.constructor.call(this);return this};__extends(TryNode,BaseNode);TryNode.prototype["class"]="TryNode";TryNode.prototype.children=["attempt","recovery","ensure"];TryNode.prototype.isStatement=function(){return true};TryNode.prototype.makeReturn=function(){if(this.attempt){this.attempt=this.attempt.makeReturn()}if(this.recovery){this.recovery=this.recovery.makeReturn()}return this};TryNode.prototype.compileNode=function(o){var attemptPart,catchPart,errorPart,finallyPart;o.indent=this.idt(1);o.top=true;attemptPart=this.attempt.compile(o);errorPart=this.error?(" ("+(this.error.compile(o))+") "):" ";catchPart=this.recovery?(" catch"+(errorPart)+"{\n"+(this.recovery.compile(o))+"\n"+(this.tab)+"}"):"";finallyPart=(this.ensure||"")&&" finally {\n"+this.ensure.compile(merge(o))+("\n"+(this.tab)+"}");return""+(this.tab)+"try {\n"+(attemptPart)+"\n"+(this.tab)+"}"+(catchPart)+(finallyPart)};return TryNode})();exports.ThrowNode=(function(){ThrowNode=function(_b){this.expression=_b;ThrowNode.__super__.constructor.call(this);return this};__extends(ThrowNode,BaseNode);ThrowNode.prototype["class"]="ThrowNode";ThrowNode.prototype.children=["expression"];ThrowNode.prototype.isStatement=function(){return true};ThrowNode.prototype.makeReturn=function(){return this};ThrowNode.prototype.compileNode=function(o){return""+(this.tab)+"throw "+(this.expression.compile(o))+";"};return ThrowNode})();exports.ExistenceNode=(function(){ExistenceNode=function(_b){this.expression=_b;ExistenceNode.__super__.constructor.call(this);return this};__extends(ExistenceNode,BaseNode);ExistenceNode.prototype["class"]="ExistenceNode";ExistenceNode.prototype.children=["expression"];ExistenceNode.prototype.compileNode=function(o){var test;test=ExistenceNode.compileTest(o,this.expression)[0];return this.parenthetical?test.substring(1,test.length-1):test};ExistenceNode.compileTest=function(o,variable){var _b,first,second;_b=variable.compileReference(o,{precompile:true});first=_b[0];second=_b[1];return[("(typeof "+(first)+' !== "undefined" && '+(second)+" !== null)"),second]};return ExistenceNode}).call(this);exports.ParentheticalNode=(function(){ParentheticalNode=function(_b){this.expression=_b;ParentheticalNode.__super__.constructor.call(this);return this};__extends(ParentheticalNode,BaseNode);ParentheticalNode.prototype["class"]="ParentheticalNode";ParentheticalNode.prototype.children=["expression"];ParentheticalNode.prototype.isStatement=function(o){return this.expression.isStatement(o)};ParentheticalNode.prototype.makeReturn=function(){return this.expression.makeReturn()};ParentheticalNode.prototype.topSensitive=function(){return true};ParentheticalNode.prototype.compileNode=function(o){var code,top;top=del(o,"top");this.expression.parenthetical=true;code=this.expression.compile(o);if(top&&this.expression.isPureStatement(o)){return code}if(this.parenthetical||this.isStatement(o)){return top?this.tab+code+";":code}return"("+(code)+")"};return ParentheticalNode})();exports.ForNode=(function(){ForNode=function(_b,source,_c,_d){var _e;this.index=_d;this.name=_c;this.body=_b;ForNode.__super__.constructor.call(this);this.index||(this.index=null);this.source=source.source;this.guard=source.guard;this.step=source.step;this.raw=!!source.raw;this.object=!!source.object;if(this.object){_e=[this.index,this.name];this.name=_e[0];this.index=_e[1]}this.pattern=this.name instanceof ValueNode;if(this.index instanceof ValueNode){throw new Error("index cannot be a pattern matching expression")}this.returns=false;return this};__extends(ForNode,BaseNode);ForNode.prototype["class"]="ForNode";ForNode.prototype.children=["body","source","guard"];ForNode.prototype.isStatement=function(){return true};ForNode.prototype.topSensitive=function(){return true};ForNode.prototype.makeReturn=function(){this.returns=true;return this};ForNode.prototype.compileReturnValue=function(val,o){if(this.returns){return"\n"+new ReturnNode(literal(val)).compile(o)}if(val){return"\n"+val}return""};ForNode.prototype.compileNode=function(o){var body,codeInBody,forPart,guardPart,index,ivar,lvar,name,namePart,range,returnResult,rvar,scope,source,sourcePart,stepPart,svar,topLevel,varPart,vars;topLevel=del(o,"top")&&!this.returns;range=this.source instanceof ValueNode&&this.source.base instanceof RangeNode&&!this.source.properties.length;source=range?this.source.base:this.source;codeInBody=this.body.contains(function(n){return n instanceof CodeNode});scope=o.scope;name=(this.name&&this.name.compile(o))||scope.freeVariable();index=this.index&&this.index.compile(o);if(name&&!this.pattern&&(range||!codeInBody)){scope.find(name,{immediate:true})}if(index){scope.find(index,{immediate:true})}if(!(topLevel)){rvar=scope.freeVariable()}ivar=(function(){if(codeInBody){return scope.freeVariable()}else{if(range){return name}else{return index||scope.freeVariable()}}})();varPart="";guardPart="";body=Expressions.wrap([this.body]);if(range){sourcePart=source.compileVariables(o);forPart=source.compile(merge(o,{index:ivar,step:this.step}))}else{svar=scope.freeVariable();sourcePart=(""+(svar)+" = "+(this.source.compile(o))+";");if(this.pattern){namePart=new AssignNode(this.name,literal(""+(svar)+"["+(ivar)+"]")).compile(merge(o,{indent:this.idt(1),top:true}))+"\n"}else{if(name){namePart=(""+(name)+" = "+(svar)+"["+(ivar)+"]")}}if(!(this.object)){lvar=scope.freeVariable();stepPart=this.step?(""+(ivar)+" += "+(this.step.compile(o))):(""+(ivar)+"++");forPart=(""+(ivar)+" = 0, "+(lvar)+" = "+(svar)+".length; "+(ivar)+" < "+(lvar)+"; "+(stepPart))}}sourcePart=(rvar?(""+(rvar)+" = []; "):"")+sourcePart;sourcePart=sourcePart?(""+(this.tab)+(sourcePart)+"\n"+(this.tab)):this.tab;returnResult=this.compileReturnValue(rvar,o);if(!(topLevel)){body=PushNode.wrap(rvar,body)}if(this.guard){body=Expressions.wrap([new IfNode(this.guard,body)])}if(codeInBody){if(range){body.unshift(literal("var "+(name)+" = "+(ivar)))}if(namePart){body.unshift(literal("var "+(namePart)))}if(index){body.unshift(literal("var "+(index)+" = "+(ivar)))}body=ClosureNode.wrap(body,true)}else{varPart=(namePart||"")&&(this.pattern?namePart:(""+(this.idt(1))+(namePart)+";\n"))}if(this.object){forPart=(""+(ivar)+" in "+(svar));if(!(this.raw)){guardPart=("\n"+(this.idt(1))+"if (!"+(utility("hasProp"))+".call("+(svar)+", "+(ivar)+")) continue;")}}body=body.compile(merge(o,{indent:this.idt(1),top:true}));vars=range?name:(""+(name)+", "+(ivar));return""+(sourcePart)+"for ("+(forPart)+") {"+(guardPart)+"\n"+(varPart)+(body)+"\n"+(this.tab)+"}"+(returnResult)};return ForNode})();exports.SwitchNode=(function(){SwitchNode=function(_b,_c,_d){this.otherwise=_d;this.cases=_c;this.subject=_b;SwitchNode.__super__.constructor.call(this);this.tags.subjectless=!this.subject;this.subject||(this.subject=literal("true"));return this};__extends(SwitchNode,BaseNode);SwitchNode.prototype["class"]="SwitchNode";SwitchNode.prototype.children=["subject","cases","otherwise"];SwitchNode.prototype.isStatement=function(){return true};SwitchNode.prototype.makeReturn=function(){var _b,_c,_d,pair;_c=this.cases;for(_b=0,_d=_c.length;_b<_d;_b++){pair=_c[_b];pair[1].makeReturn()}if(this.otherwise){this.otherwise.makeReturn()}return this};SwitchNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,block,code,condition,conditions,exprs,idt,pair;idt=(o.indent=this.idt(1));o.top=true;code=(""+(this.tab)+"switch ("+(this.subject.compile(o))+") {");_c=this.cases;for(_b=0,_d=_c.length;_b<_d;_b++){pair=_c[_b];_e=pair;conditions=_e[0];block=_e[1];exprs=block.expressions;_g=flatten([conditions]);for(_f=0,_h=_g.length;_f<_h;_f++){condition=_g[_f];if(this.tags.subjectless){condition=new OpNode("!!",new ParentheticalNode(condition))}code+=("\n"+(this.tab)+"case "+(condition.compile(o))+":")}code+=("\n"+(block.compile(o)));if(!(exprs[exprs.length-1] instanceof ReturnNode)){code+=("\n"+(idt)+"break;")}}if(this.otherwise){code+=("\n"+(this.tab)+"default:\n"+(this.otherwise.compile(o)))}code+=("\n"+(this.tab)+"}");return code};return SwitchNode})();exports.IfNode=(function(){IfNode=function(_b,_c,_d){this.tags=_d;this.body=_c;this.condition=_b;this.tags||(this.tags={});if(this.tags.invert){if(this.condition instanceof OpNode&&this.condition.isInvertible()){this.condition.invert()}else{this.condition=new OpNode("!",new ParentheticalNode(this.condition))}}this.elseBody=null;this.isChain=false;return this};__extends(IfNode,BaseNode);IfNode.prototype["class"]="IfNode";IfNode.prototype.children=["condition","body","elseBody","assigner"];IfNode.prototype.topSensitive=function(){return true};IfNode.prototype.bodyNode=function(){return this.body==null?undefined:this.body.unwrap()};IfNode.prototype.elseBodyNode=function(){return this.elseBody==null?undefined:this.elseBody.unwrap()};IfNode.prototype.forceStatement=function(){this.tags.statement=true;return this};IfNode.prototype.addElse=function(elseBody,statement){if(this.isChain){this.elseBodyNode().addElse(elseBody,statement)}else{this.isChain=elseBody instanceof IfNode;this.elseBody=this.ensureExpressions(elseBody)}return this};IfNode.prototype.isStatement=function(o){return this.statement||(this.statement=(!!((o&&o.top)||this.tags.statement||this.bodyNode().isStatement(o)||(this.elseBody&&this.elseBodyNode().isStatement(o)))))};IfNode.prototype.compileCondition=function(o){var _b,_c,_d,_e,cond,conditions;conditions=flatten([this.condition]);if(conditions.length===1){conditions[0].parenthetical=true}return(function(){_b=[];_d=conditions;for(_c=0,_e=_d.length;_c<_e;_c++){cond=_d[_c];_b.push(cond.compile(o))}return _b})().join(" || ")};IfNode.prototype.compileNode=function(o){return this.isStatement(o)?this.compileStatement(o):this.compileTernary(o)};IfNode.prototype.makeReturn=function(){if(this.isStatement()){this.body&&(this.body=this.ensureExpressions(this.body.makeReturn()));this.elseBody&&(this.elseBody=this.ensureExpressions(this.elseBody.makeReturn()));return this}else{return new ReturnNode(this)}};IfNode.prototype.ensureExpressions=function(node){return node instanceof Expressions?node:new Expressions([node])};IfNode.prototype.compileStatement=function(o){var body,child,comDent,condO,elsePart,ifDent,ifPart,top;top=del(o,"top");child=del(o,"chainChild");condO=merge(o);o.indent=this.idt(1);o.top=true;ifDent=child||(top&&!this.isStatement(o))?"":this.idt();comDent=child?this.idt():"";body=this.body.compile(o);ifPart=(""+(ifDent)+"if ("+(this.compileCondition(condO))+") {\n"+(body)+"\n"+(this.tab)+"}");if(!(this.elseBody)){return ifPart}elsePart=this.isChain?" else "+this.elseBodyNode().compile(merge(o,{indent:this.idt(),chainChild:true})):(" else {\n"+(this.elseBody.compile(o))+"\n"+(this.tab)+"}");return""+(ifPart)+(elsePart)};IfNode.prototype.compileTernary=function(o){var code,elsePart,ifPart;this.bodyNode().tags.operation=(this.condition.tags.operation=true);if(this.elseBody){this.elseBodyNode().tags.operation=true}ifPart=this.condition.compile(o)+" ? "+this.bodyNode().compile(o);elsePart=this.elseBody?this.elseBodyNode().compile(o):"null";code=(""+(ifPart)+" : "+(elsePart));return this.tags.operation?("("+(code)+")"):code};return IfNode})();PushNode=(exports.PushNode={wrap:function(array,expressions){var expr;expr=expressions.unwrap();if(expr.isPureStatement()||expr.containsPureStatement()){return expressions}return Expressions.wrap([new CallNode(new ValueNode(literal(array),[new AccessorNode(literal("push"))]),[expr])])}});ClosureNode=(exports.ClosureNode={wrap:function(expressions,statement){var args,call,func,mentionsArgs,mentionsThis,meth;if(expressions.containsPureStatement()){return expressions}func=new ParentheticalNode(new CodeNode([],Expressions.wrap([expressions])));args=[];mentionsArgs=expressions.contains(function(n){return n instanceof LiteralNode&&(n.value==="arguments")});mentionsThis=expressions.contains(function(n){return(n instanceof LiteralNode&&(n.value==="this"))||(n instanceof CodeNode&&n.bound)});if(mentionsArgs||mentionsThis){meth=literal(mentionsArgs?"apply":"call");args=[literal("this")];if(mentionsArgs){args.push(literal("arguments"))}func=new ValueNode(func,[new AccessorNode(meth)])}call=new CallNode(func,args);return statement?Expressions.wrap([call]):call}});UTILITIES={"extends":'function(child, parent) {\n var ctor = function(){};\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.prototype.constructor = child;\n if (typeof parent.extended === "function") parent.extended(child);\n child.__super__ = parent.prototype;\n }',bind:"function(func, context) {\n return function(){ return func.apply(context, arguments); };\n }",hasProp:"Object.prototype.hasOwnProperty",slice:"Array.prototype.slice"};TAB=" ";TRAILING_WHITESPACE=/[ \t]+$/gm;IDENTIFIER=/^[a-zA-Z\$_](\w|\$)*$/;NUMBER=/^(((\b0(x|X)[0-9a-fA-F]+)|((\b[0-9]+(\.[0-9]+)?|\.[0-9]+)(e[+\-]?[0-9]+)?)))\b$/i;SIMPLENUM=/^-?\d+$/;IS_STRING=/^['"]/;literal=function(name){return new LiteralNode(name)};utility=function(name){var ref;ref=("__"+(name));Scope.root.assign(ref,UTILITIES[name]);return ref}})();(function(){var Lexer,compile,helpers,lexer,parser,path;if(typeof process!=="undefined"&&process!==null){path=require("path");Lexer=require("./lexer").Lexer;parser=require("./parser").parser;helpers=require("./helpers").helpers;helpers.extend(global,require("./nodes"));if(require.registerExtension){require.registerExtension(".coffee",function(content){return compile(content)})}}else{this.exports=(this.CoffeeScript={});Lexer=this.Lexer;parser=this.parser;helpers=this.helpers}exports.VERSION="0.9.3";exports.compile=(compile=function(code,options){options||(options={});try{return(parser.parse(lexer.tokenize(code))).compile(options)}catch(err){if(options.fileName){err.message=("In "+(options.fileName)+", "+(err.message))}throw err}});exports.tokens=function(code){return lexer.tokenize(code)};exports.nodes=function(code){return parser.parse(lexer.tokenize(code))};exports.run=function(code,options){var __dirname,__filename;module.filename=(__filename=options.fileName);__dirname=path.dirname(__filename);return eval(exports.compile(code,options))};lexer=new Lexer();parser.lexer={lex:function(){var token;token=this.tokens[this.pos]||[""];this.pos+=1;this.yylineno=token[2];this.yytext=token[1];return token[0]},setInput:function(tokens){this.tokens=tokens;return(this.pos=0)},upcomingInput:function(){return""}}})();(function(){var grind,grindRemote,processScripts;if((typeof document==="undefined"||document===null)?undefined:document.getElementsByTagName){grind=function(coffee){return setTimeout(exports.compile(coffee))};grindRemote=function(url){var xhr;xhr=new (window.ActiveXObject||XMLHttpRequest)("Microsoft.XMLHTTP");xhr.open("GET",url,true);if("overrideMimeType" in xhr){xhr.overrideMimeType("text/plain")}xhr.onreadystatechange=function(){if(xhr.readyState===4){return grind(xhr.responseText)}};return xhr.send(null)};processScripts=function(){var _a,_b,_c,script;_b=document.getElementsByTagName("script");for(_a=0,_c=_b.length;_a<_c;_a++){script=_b[_a];if(script.type==="text/coffeescript"){if(script.src){grindRemote(script.src)}else{grind(script.innerHTML)}}}return null};if(window.addEventListener){addEventListener("DOMContentLoaded",processScripts,false)}else{attachEvent("onload",processScripts)}}})(); \ No newline at end of file diff --git a/index.html b/index.html index c4d5da78..007d71c6 100644 --- a/index.html +++ b/index.html @@ -40,7 +40,7 @@ Pattern Matching Function Binding Embedded JavaScript - Switch/When/Else + The Switch Statement Try/Catch/Finally Chained Comparisons String and RegExp Interpolation @@ -114,7 +114,7 @@ alert reverse '.eeffoC yrT'

Latest Version: - 0.9.2 + 0.9.3

@@ -254,7 +254,7 @@ cubes = (function() { Then clone the CoffeeScript source repository from GitHub, or download the latest - release: 0.9.2. + release: 0.9.3. To install the CoffeeScript compiler system-wide under /usr/local, open the directory and run:

@@ -1156,7 +1156,7 @@ speed = (typeof speed !== "undefined" && speed !== null) ? speed : 140;;alert(sp

lottery.drawWinner()?.address?.zipcode
 
var _a, _b;
-(_b = ((typeof (_a = (lottery.drawWinner())) === "undefined" || _a === null) ? undefined : _a.address)) == null ? undefined : _b.zipcode;
+(typeof (_b = ((_a = lottery.drawWinner()))) === "undefined" || _b === null) ? undefined : _b.address == null ? undefined : _b.address.zipcode;
 

Soaking up nulls is similar to Ruby's @@ -1491,12 +1491,11 @@ hi = function() {

Switch/When/Else - Switch statements in JavaScript are rather broken. You can only - do comparisons based on string equality, and need to remember to break at the end of - every case statement to avoid accidentally falling through to - the default case. CoffeeScript compiles switch statements into JavaScript if-else chains, allowing you to - compare any object (via ===), preventing fall-through, and resulting - in a returnable, assignable expression. The format is: switch condition, + Switch statements in JavaScript are a bit awkward. You need to + remember to break at the end of every case statement to + avoid accidentally falling through to the default case. + CoffeeScript prevents accidental fall-through, and can convert the switch + into a returnable, assignable expression. The format is: switch condition, when clauses, else the default case.

@@ -1505,30 +1504,37 @@ hi = function() { runs.

switch day
-  when "Mon" then goToWork()
-  when "Tue" then goToThePark()
-  when "Thu" then goIceFishing()
+  when "Mon" then go work
+  when "Tue" then go relax
+  when "Thu" then go iceFishing
   when "Fri", "Sat"
     if day is bingoDay
-      goToBingo()
-      goDancing()
-  when "Sun" then goToChurch()
-  else goToWork()
-
if (day === "Mon") {
-  goToWork();
-} else if (day === "Tue") {
-  goToThePark();
-} else if (day === "Thu") {
-  goIceFishing();
-} else if (day === "Fri" || day === "Sat") {
+      go bingo
+      go dancing
+  when "Sun" then go church
+  else go work
+
switch (day) {
+case "Mon":
+  go(work);
+  break;
+case "Tue":
+  go(relax);
+  break;
+case "Thu":
+  go(iceFishing);
+  break;
+case "Fri":
+case "Sat":
   if (day === bingoDay) {
-    goToBingo();
-    goDancing();
+    go(bingo);
+    go(dancing);
   }
-} else if (day === "Sun") {
-  goToChurch();
-} else {
-  goToWork();
+  break;
+case "Sun":
+  go(church);
+  break;
+default:
+  go(work);
 }
 

@@ -1659,11 +1665,10 @@ html = '< are preserved in the generated code.

###
-CoffeeScript Compiler v0.9.2
+CoffeeScript Compiler v0.9.3
 Released under the MIT License
 ###
-
/*
-CoffeeScript Compiler v0.9.2
+
/*CoffeeScript Compiler v0.9.3
 Released under the MIT License
 */
 

@@ -1807,7 +1812,7 @@ task('build:parserCoffeeCup - — A Python WSGI middleware that compiles CoffeeScript to JavaScript + — a Python WSGI middleware that compiles CoffeeScript to JavaScript on-demand during development.
  • @@ -1820,9 +1825,14 @@ task('build:parserHAML templates.
  • +
  • + chrislloyd's Roast + — a CoffeeScript compiler plug-in that allows you to include external + source files. +
  • jashkenas's Docco - — A quick-and-dirty literate-programming-style documentation generator + — a quick-and-dirty literate-programming-style documentation generator for CoffeeScript. Used to produce the annotated source.
  • @@ -1846,6 +1856,15 @@ task('build:parser Change Log

    + +

    + 0.9.3 + CoffeeScript switch statements now compile into JS switch + statements — they previously compiled into if/else chains + for JavaScript 1.3 compatibility. + Soaking a function invocation is now supported. Users of the RubyMine + editor should now be able to use --watch mode. +

    0.9.2 @@ -2099,7 +2118,7 @@ task('build:parserLiam O'Connor-Davis for whitespace + Liam O'Connor-Davis for whitespace and expression help.

    diff --git a/lib/coffee-script.js b/lib/coffee-script.js index 7cfe4b1e..0739fa07 100755 --- a/lib/coffee-script.js +++ b/lib/coffee-script.js @@ -17,7 +17,7 @@ parser = this.parser; helpers = this.helpers; } - exports.VERSION = '0.9.2'; + exports.VERSION = '0.9.3'; exports.compile = (compile = function(code, options) { options || (options = {}); try { diff --git a/package.json b/package.json index 6d66023e..9bd5e51e 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "Unfancy JavaScript", "keywords": ["javascript", "language", "coffeescript", "compiler"], "author": "Jeremy Ashkenas", - "version": "0.9.2", + "version": "0.9.3", "licenses": [{ "type": "MIT", "url": "http://github.com/jashkenas/coffee-script/raw/master/LICENSE" diff --git a/src/coffee-script.coffee b/src/coffee-script.coffee index 194b7de4..06db7fc2 100755 --- a/src/coffee-script.coffee +++ b/src/coffee-script.coffee @@ -22,7 +22,7 @@ else helpers = this.helpers # The current CoffeeScript version number. -exports.VERSION = '0.9.2' +exports.VERSION = '0.9.3' # Compile a string of CoffeeScript code to JavaScript, using the Coffee/Jison # compiler.