// JQuery Console 1.0
// Sun Feb 21 20:28:47 GMT 2010
//
// Copyright 2010 Chris Done, Simon David Pratt. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above
// copyright notice, this list of conditions and the following
// disclaimer.
//
// 2. Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following
// disclaimer in the documentation and/or other materials
// provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// TESTED ON
// Internet Explorer 6
// Opera 10.01
// Chromium 4.0.237.0 (Ubuntu build 31094)
// Firefox 3.5.8, 3.6.2 (Mac)
// Safari 4.0.5 (6531.22.7) (Mac)
// Google Chrome 5.0.375.55 (Mac)
(function($){
$.fn.console = function(config){
////////////////////////////////////////////////////////////////////////
// Constants
// Some are enums, data types, others just for optimisation
var keyCodes = {
// left
37: moveBackward,
// right
39: moveForward,
// up
38: previousHistory,
// down
40: nextHistory,
// backspace
8: backDelete,
// delete
46: forwardDelete,
// end
35: moveToEnd,
// start
36: moveToStart,
// return
13: commandTrigger,
// tab
18: doNothing
};
var ctrlCodes = {
// C-a
65: moveToStart,
// C-e
69: moveToEnd,
// C-d
68: forwardDelete,
// C-n
78: nextHistory,
// C-p
80: previousHistory,
// C-b
66: moveBackward,
// C-f
70: moveForward,
// C-k
75: deleteUntilEnd
};
var altCodes = {
// M-f
70: moveToNextWord,
// M-b
66: moveToPreviousWord,
// M-d
68: deleteNextWord
};
var cursor = ' ';
////////////////////////////////////////////////////////////////////////
// Globals
var container = $(this);
var inner = $('
');
// erjiang: changed this from a text input to a textarea so we
// can get pasted newlines
var typer = $('');
// Prompt
var promptBox;
var prompt;
var promptLabel = config && config.promptLabel? config.promptLabel : "> ";
var continuedPromptLabel = config && config.continuedPromptLabel?
config.continuedPromptLabel : "> ";
var column = 0;
var promptText = '';
var restoreText = '';
var continuedText = '';
// Prompt history stack
var history = [];
var ringn = 0;
// For reasons unknown to The Sword of Michael himself, Opera
// triggers and sends a key character when you hit various
// keys like PgUp, End, etc. So there is no way of knowing
// when a user has typed '#' or End. My solution is in the
// typer.keydown and typer.keypress functions; I use the
// variable below to ignore the keypress event if the keydown
// event succeeds.
var cancelKeyPress = 0;
// When this value is false, the prompt will not respond to input
var acceptInput = true;
// When this value is true, the command has been canceled
var cancelCommand = false;
// External exports object
var extern = {};
////////////////////////////////////////////////////////////////////////
// Main entry point
(function(){
container.append(inner);
inner.append(typer);
typer.css({position:'absolute',top:0,left:'-9999px'});
if (config.welcomeMessage)
message(config.welcomeMessage,'jquery-console-welcome');
newPromptBox();
if (config.autofocus) {
inner.addClass('jquery-console-focus');
typer.focus();
setTimeout(function(){
inner.addClass('jquery-console-focus');
typer.focus();
},100);
}
extern.inner = inner;
extern.typer = typer;
extern.scrollToBottom = scrollToBottom;
})();
////////////////////////////////////////////////////////////////////////
// Reset terminal
extern.reset = function(){
var welcome = (typeof config.welcomeMessage != 'undefined');
inner.parent().fadeOut(function(){
inner.find('div').each(function(){
if (!welcome) {
$(this).remove();
} else {
welcome = false;
}
});
newPromptBox();
inner.parent().fadeIn(function(){
inner.addClass('jquery-console-focus');
typer.focus();
});
});
};
////////////////////////////////////////////////////////////////////////
// Reset terminal
extern.notice = function(msg,style){
var n = $('').append($('').text(msg))
.css({visibility:'hidden'});
container.append(n);
var focused = true;
if (style=='fadeout')
setTimeout(function(){
n.fadeOut(function(){
n.remove();
});
},4000);
else if (style=='prompt') {
var a = $('
');
n.append(a);
focused = false;
a.click(function(){ n.fadeOut(function(){ n.remove();inner.css({opacity:1}) }); });
}
var h = n.height();
n.css({height:'0px',visibility:'visible'})
.animate({height:h+'px'},function(){
if (!focused) inner.css({opacity:0.5});
});
n.css('cursor','default');
return n;
};
////////////////////////////////////////////////////////////////////////
// Make a new prompt box
function newPromptBox() {
column = 0;
promptText = '';
ringn = 0; // Reset the position of the history ring
enableInput();
promptBox = $('');
var label = $('');
var labelText = extern.continuedPrompt? continuedPromptLabel : promptLabel;
promptBox.append(label.text(labelText).show());
label.html(label.html().replace(' ',' '));
prompt = $('');
promptBox.append(prompt);
inner.append(promptBox);
updatePromptDisplay();
};
////////////////////////////////////////////////////////////////////////
// Handle setting focus
container.click(function(){
inner.addClass('jquery-console-focus');
inner.removeClass('jquery-console-nofocus');
typer.focus();
scrollToBottom();
return false;
});
////////////////////////////////////////////////////////////////////////
// Handle losing focus
typer.blur(function(){
inner.removeClass('jquery-console-focus');
inner.addClass('jquery-console-nofocus');
});
////////////////////////////////////////////////////////////////////////
// Bind to the paste event of the input box so we know when we
// get pasted data
typer.bind('paste', function(e) {
// wipe typer input clean just in case
typer.val("");
// this timeout is required because the onpaste event is
// fired *before* the text is actually pasted
setTimeout(function() {
typer.consoleInsert(typer.val());
typer.val("");
}, 0);
});
////////////////////////////////////////////////////////////////////////
// Handle key hit before translation
// For picking up control characters like up/left/down/right
typer.keydown(function(e){
cancelKeyPress = 0;
var keyCode = e.keyCode;
// C-c: cancel the execution
if(e.ctrlKey && keyCode == 67) {
cancelKeyPress = keyCode;
cancelExecution();
return false;
}
if (acceptInput) {
if (keyCode in keyCodes) {
cancelKeyPress = keyCode;
(keyCodes[keyCode])();
return false;
} else if (e.ctrlKey && keyCode in ctrlCodes) {
cancelKeyPress = keyCode;
(ctrlCodes[keyCode])();
return false;
} else if (e.altKey && keyCode in altCodes) {
cancelKeyPress = keyCode;
(altCodes[keyCode])();
return false;
}
}
});
////////////////////////////////////////////////////////////////////////
// Handle key press
typer.keypress(function(e){
var keyCode = e.keyCode || e.which;
if (isIgnorableKey(e)) {
return false;
}
// // C-v: don't insert on paste event
if ((e.ctrlKey || e.metaKey) && String.fromCharCode(keyCode).toLowerCase() == 'v') {
return true;
}
if (acceptInput && cancelKeyPress != keyCode && keyCode >= 32){
if (cancelKeyPress) return false;
if (typeof config.charInsertTrigger == 'undefined' ||
(typeof config.charInsertTrigger == 'function' &&
config.charInsertTrigger(keyCode,promptText)))
typer.consoleInsert(keyCode);
}
if ($.browser.webkit) return false;
});
function isIgnorableKey(e) {
// for now just filter alt+tab that we receive on some platforms when
// user switches windows (goes away from the browser)
return ((e.keyCode == keyCodes.tab || e.keyCode == 192) && e.altKey);
};
////////////////////////////////////////////////////////////////////////
// Rotate through the command history
function rotateHistory(n){
if (history.length == 0) return;
ringn += n;
if (ringn < 0) ringn = history.length;
else if (ringn > history.length) ringn = 0;
var prevText = promptText;
if (ringn == 0) {
promptText = restoreText;
} else {
promptText = history[ringn - 1];
}
if (config.historyPreserveColumn) {
if (promptText.length < column + 1) {
column = promptText.length;
} else if (column == 0) {
column = promptText.length;
}
} else {
column = promptText.length;
}
updatePromptDisplay();
};
function previousHistory() {
rotateHistory(-1);
};
function nextHistory() {
rotateHistory(1);
};
// Add something to the history ring
function addToHistory(line){
history.push(line);
restoreText = '';
};
// Delete the character at the current position
function deleteCharAtPos(){
if (column < promptText.length){
promptText =
promptText.substring(0,column) +
promptText.substring(column+1);
restoreText = promptText;
return true;
} else return false;
};
function backDelete() {
if (moveColumn(-1)){
deleteCharAtPos();
updatePromptDisplay();
}
};
function forwardDelete() {
if (deleteCharAtPos())
updatePromptDisplay();
};
function deleteUntilEnd() {
while(deleteCharAtPos()) {
updatePromptDisplay();
}
};
function deleteNextWord() {
// A word is defined within this context as a series of alphanumeric
// characters.
// Delete up to the next alphanumeric character
while(column < promptText.length &&
!isCharAlphanumeric(promptText[column])) {
deleteCharAtPos();
updatePromptDisplay();
}
// Then, delete until the next non-alphanumeric character
while(column < promptText.length &&
isCharAlphanumeric(promptText[column])) {
deleteCharAtPos();
updatePromptDisplay();
}
};
////////////////////////////////////////////////////////////////////////
// Validate command and trigger it if valid, or show a validation error
function commandTrigger() {
var line = promptText;
if (typeof config.commandValidate == 'function') {
var ret = config.commandValidate(line);
if (ret == true || ret == false) {
if (ret) {
handleCommand();
}
} else {
commandResult(ret,"jquery-console-message-error");
}
} else {
handleCommand();
}
};
// Scroll to the bottom of the view
function scrollToBottom() {
if (jQuery.fn.jquery > "1.6") {
inner.prop({ scrollTop: inner.prop("scrollHeight") });
}
else {
inner.attr({ scrollTop: inner.attr("scrollHeight") });
}
};
function cancelExecution() {
if(typeof config.cancelHandle == 'function') {
config.cancelHandle();
}
}
////////////////////////////////////////////////////////////////////////
// Handle a command
function handleCommand() {
if (typeof config.commandHandle == 'function') {
disableInput();
addToHistory(promptText);
var text = promptText;
if (extern.continuedPrompt) {
if (continuedText)
continuedText += '\n' + promptText;
else continuedText = promptText;
} else continuedText = undefined;
if (continuedText) text = continuedText;
var ret = config.commandHandle(text,function(msgs){
commandResult(msgs);
});
if (extern.continuedPrompt && !continuedText)
continuedText = promptText;
if (typeof ret == 'boolean') {
if (ret) {
// Command succeeded without a result.
commandResult();
} else {
commandResult('Command failed.',
"jquery-console-message-error");
}
} else if (typeof ret == "string") {
commandResult(ret,"jquery-console-message-success");
} else if (typeof ret == 'object' && ret.length) {
commandResult(ret);
} else if (extern.continuedPrompt) {
commandResult();
}
}
};
////////////////////////////////////////////////////////////////////////
// Disable input
function disableInput() {
acceptInput = false;
};
// Enable input
function enableInput() {
acceptInput = true;
}
////////////////////////////////////////////////////////////////////////
// Reset the prompt in invalid command
function commandResult(msg,className) {
column = -1;
updatePromptDisplay();
if (typeof msg == 'string') {
message(msg,className);
} else if ($.isArray(msg)) {
for (var x in msg) {
var ret = msg[x];
message(ret.msg,ret.className);
}
} else { // Assume it's a DOM node or jQuery object.
inner.append(msg);
}
newPromptBox();
};
////////////////////////////////////////////////////////////////////////
// Display a message
function message(msg,className) {
var mesg = $('');
if (className) mesg.addClass(className);
mesg.filledText(msg).hide();
inner.append(mesg);
mesg.show();
};
////////////////////////////////////////////////////////////////////////
// Handle normal character insertion
// data can either be a number, which will be interpreted as the
// numeric value of a single character, or a string
typer.consoleInsert = function(data){
// TODO: remove redundant indirection
var text = isNaN(data) ? data : String.fromCharCode(data);
var before = promptText.substring(0,column);
var after = promptText.substring(column);
promptText = before + text + after;
moveColumn(text.length);
restoreText = promptText;
updatePromptDisplay();
};
////////////////////////////////////////////////////////////////////////
// Move to another column relative to this one
// Negative means go back, positive means go forward.
function moveColumn(n){
if (column + n >= 0 && column + n <= promptText.length){
column += n;
return true;
} else return false;
};
function moveForward() {
if(moveColumn(1)) {
updatePromptDisplay();
return true;
}
return false;
};
function moveBackward() {
if(moveColumn(-1)) {
updatePromptDisplay();
return true;
}
return false;
};
function moveToStart() {
if (moveColumn(-column))
updatePromptDisplay();
};
function moveToEnd() {
if (moveColumn(promptText.length-column))
updatePromptDisplay();
};
function moveToNextWord() {
while(column < promptText.length &&
!isCharAlphanumeric(promptText[column]) &&
moveForward()) {
}
while(column < promptText.length &&
isCharAlphanumeric(promptText[column]) &&
moveForward()) {
}
};
function moveToPreviousWord() {
// Move backward until we find the first alphanumeric
while(column -1 >= 0 &&
!isCharAlphanumeric(promptText[column-1]) &&
moveBackward()) {
}
// Move until we find the first non-alphanumeric
while(column -1 >= 0 &&
isCharAlphanumeric(promptText[column-1]) &&
moveBackward()) {
}
};
function isCharAlphanumeric(charToTest) {
if(typeof charToTest == 'string') {
var code = charToTest.charCodeAt();
return (code >= 'A'.charCodeAt() && code <= 'Z'.charCodeAt()) ||
(code >= 'a'.charCodeAt() && code <= 'z'.charCodeAt()) ||
(code >= '0'.charCodeAt() && code <= '9'.charCodeAt());
}
return false;
};
function doNothing() {};
extern.promptText = function(text){
if (text) {
promptText = text;
column = promptText.length;
updatePromptDisplay();
}
return promptText;
};
////////////////////////////////////////////////////////////////////////
// Update the prompt display
function updatePromptDisplay(){
var line = promptText;
var html = '';
if (column > 0 && line == ''){
// When we have an empty line just display a cursor.
html = cursor;
} else if (column == promptText.length){
// We're at the end of the line, so we need to display
// the text *and* cursor.
html = htmlEncode(line) + cursor;
} else {
// Grab the current character, if there is one, and
// make it the current cursor.
var before = line.substring(0, column);
var current = line.substring(column,column+1);
if (current){
current =
'' +
htmlEncode(current) +
'';
}
var after = line.substring(column+1);
html = htmlEncode(before) + current + htmlEncode(after);
}
prompt.html(html);
scrollToBottom();
};
// Simple HTML encoding
// Simply replace '<', '>' and '&'
// TODO: Use jQuery's .html() trick, or grab a proper, fast
// HTML encoder.
function htmlEncode(text){
return (
text.replace(/&/g,'&')
.replace(/')
);
};
return extern;
};
// Simple utility for printing messages
$.fn.filledText = function(txt){
$(this).text(txt);
$(this).html($(this).html().replace(/\n/g,'
'));
return this;
};
})(jQuery);
/**
* CoffeeScript Compiler v1.2.1-pre
* http://coffeescript.org
*
* Copyright 2011, Jeremy Ashkenas
* Released under the MIT License
*/
(function(root) {
var CoffeeScript = function() {
function require(a) {
return require[a]
}
require["./helpers"] = new function() {
var a = this;
(function() {
var b, c;
a.starts = function(a, b, c) {
return b === a.substr(c, b.length)
}, a.ends = function(a, b, c) {
var d;
d = b.length;
return b === a.substr(a.length - d - (c || 0), d)
}, a.compact = function(a) {
var b, c, d, e;
e = [];
for (c = 0, d = a.length; c < d; c++) b = a[c], b && e.push(b);
return e
}, a.count = function(a, b) {
var c, d;
c = d = 0;
if (!b.length) return 1 / 0;
while (d = 1 + a.indexOf(b, d)) c++;
return c
}, a.merge = function(a, c) {
return b(b({}, a), c)
}, b = a.extend = function(a, b) {
var c, d;
for (c in b) d = b[c], a[c] = d;
return a
}, a.flatten = c = function(a) {
var b, d, e, f;
d = [];
for (e = 0, f = a.length; e < f; e++) b = a[e], b instanceof Array ? d = d.concat(c(b)) : d.push(b);
return d
}, a.del = function(a, b) {
var c;
c = a[b], delete a[b];
return c
}, a.last = function(a, b) {
return a[a.length - (b || 0) - 1]
}
}).call(this)
}, require["./rewriter"] = new function() {
var a = this;
(function() {
var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t = [].indexOf ||
function(a) {
for (var b = 0, c = this.length; b < c; b++) if (b in this && this[b] === a) return b;
return -1
}, u = [].slice;
a.Rewriter = function() {
function a() {}
a.name = "Rewriter", a.prototype.rewrite = function(a) {
this.tokens = a, this.removeLeadingNewlines(), this.removeMidExpressionNewlines(), this.closeOpenCalls(), this.closeOpenIndexes(), this.addImplicitIndentation(), this.tagPostfixConditionals(), this.addImplicitBraces(), this.addImplicitParentheses();
return this.tokens
}, a.prototype.scanTokens = function(a) {
var b, c, d;
d = this.tokens, b = 0;
while (c = d[b]) b += a.call(this, c, b, d);
return !0
}, a.prototype.detectEnd = function(a, b, c) {
var f, g, h, i, j;
h = this.tokens, f = 0;
while (g = h[a]) {
if (f === 0 && b.call(this, g, a)) return c.call(this, g, a);
if (!g || f < 0) return c.call(this, g, a - 1);
if (i = g[0], t.call(e, i) >= 0) f += 1;
else if (j = g[0], t.call(d, j) >= 0) f -= 1;
a += 1
}
return a - 1
}, a.prototype.removeLeadingNewlines = function() {
var a, b, c, d, e;
e = this.tokens;
for (a = c = 0, d = e.length; c < d; a = ++c) {
b = e[a][0];
if (b !== "TERMINATOR") break
}
if (a) return this.tokens.splice(0, a)
}, a.prototype.removeMidExpressionNewlines = function() {
return this.scanTokens(function(a, b, d) {
var e;
if (!(a[0] === "TERMINATOR" && (e = this.tag(b + 1), t.call(c, e) >= 0))) return 1;
d.splice(b, 1);
return 0
})
}, a.prototype.closeOpenCalls = function() {
var a, b;
b = function(a, b) {
var c;
return (c = a[0]) === ")" || c === "CALL_END" || a[0] === "OUTDENT" && this.tag(b - 1) === ")"
}, a = function(a, b) {
return this.tokens[a[0] === "OUTDENT" ? b - 1 : b][0] = "CALL_END"
};
return this.scanTokens(function(c, d) {
c[0] === "CALL_START" && this.detectEnd(d + 1, b, a);
return 1
})
}, a.prototype.closeOpenIndexes = function() {
var a, b;
b = function(a, b) {
var c;
return (c = a[0]) === "]" || c === "INDEX_END"
}, a = function(a, b) {
return a[0] = "INDEX_END"
};
return this.scanTokens(function(c, d) {
c[0] === "INDEX_START" && this.detectEnd(d + 1, b, a);
return 1
})
}, a.prototype.addImplicitBraces = function() {
var a, b, c, f, g, i, j;
f = [], g = null, j = null, c = !0, i = 0, b = function(a, b) {
var d, e, f, g, i, k;
i = this.tokens.slice(b + 1, b + 3 + 1 || 9e9), d = i[0], g = i[1], f = i[2];
if ("HERECOMMENT" === (d != null ? d[0] : void 0)) return !1;
e = a[0], t.call(l, e) >= 0 && (c = !1);
return (e === "TERMINATOR" || e === "OUTDENT" || t.call(h, e) >= 0 && c) && (!j && this.tag(b - 1) !== "," || (g != null ? g[0] : void 0) !== ":" && ((d != null ? d[0] : void 0) !== "@" || (f != null ? f[0] : void 0) !== ":")) || e === "," && d && (k = d[0]) !== "IDENTIFIER" && k !== "NUMBER" && k !== "STRING" && k !== "@" && k !== "TERMINATOR" && k !== "OUTDENT"
}, a = function(a, b) {
var c;
c = this.generate("}", "}", a[2]);
return this.tokens.splice(b, 0, c)
};
return this.scanTokens(function(h, i, k) {
var m, n, o, p, q, r, s, u;
if (s = p = h[0], t.call(e, s) >= 0) {
f.push([p === "INDENT" && this.tag(i - 1) === "{" ? "{" : p, i]);
return 1
}
if (t.call(d, p) >= 0) {
g = f.pop();
return 1
}
if (p !== ":" || (m = this.tag(i - 2)) !== ":" && ((u = f[f.length - 1]) != null ? u[0] : void 0) === "{") return 1;
c = !0, f.push(["{"]), n = m === "@" ? i - 2 : i - 1;
while (this.tag(n - 2) === "HERECOMMENT") n -= 2;
o = this.tag(n - 1), j = !o || t.call(l, o) >= 0, r = new String("{"), r.generated = !0, q = this.generate("{", r, h[2]), k.splice(n, 0, q), this.detectEnd(i + 2, b, a);
return 2
})
}, a.prototype.addImplicitParentheses = function() {
var a, b, c, d, e;
c = e = d = !1, b = function(a, b) {
var c, g, i, j;
g = a[0];
if (!e && a.fromThen) return !0;
if (g === "IF" || g === "ELSE" || g === "CATCH" || g === "->" || g === "=>" || g === "CLASS") e = !0;
if (g === "IF" || g === "ELSE" || g === "SWITCH" || g === "TRY" || g === "=") d = !0;
if ((g === "." || g === "?." || g === "::") && this.tag(b - 1) === "OUTDENT") return !0;
return !a.generated && this.tag(b - 1) !== "," && (t.call(h, g) >= 0 || g === "INDENT" && !d) && (g !== "INDENT" || (i = this.tag(b - 2)) !== "CLASS" && i !== "EXTENDS" && (j = this.tag(b - 1), t.call(f, j) < 0) && (!(c = this.tokens[b + 1]) || !c.generated || c[0] !== "{"))
}, a = function(a, b) {
return this.tokens.splice(b, 0, this.generate("CALL_END", ")", a[2]))
};
return this.scanTokens(function(f, h, k) {
var m, n, o, p, q, r, s, u;
q = f[0];
if (q === "CLASS" || q === "IF" || q === "FOR" || q === "WHILE") c = !0;
r = k.slice(h - 1, h + 1 + 1 || 9e9), p = r[0], n = r[1], o = r[2], m = !c && q === "INDENT" && o && o.generated && o[0] === "{" && p && (s = p[0], t.call(i, s) >= 0), e = !1, d = !1, t.call(l, q) >= 0 && (c = !1), p && !p.spaced && q === "?" && (f.call = !0);
if (f.fromThen) return 1;
if (!(m || (p != null ? p.spaced : void 0) && (p.call || (u = p[0], t.call(i, u) >= 0)) && (t.call(g, q) >= 0 || !f.spaced && !f.newLine && t.call(j, q) >= 0))) return 1;
k.splice(h, 0, this.generate("CALL_START", "(", f[2])), this.detectEnd(h + 1, b, a), p[0] === "?" && (p[0] = "FUNC_EXIST");
return 2
})
}, a.prototype.addImplicitIndentation = function() {
var a, b, c, d, e;
e = c = d = null, b = function(a, b) {
var c;
return a[1] !== ";" && (c = a[0], t.call(m, c) >= 0) && (a[0] !== "ELSE" || e === "IF" || e === "THEN")
}, a = function(a, b) {
return this.tokens.splice(this.tag(b - 1) === "," ? b - 1 : b, 0, d)
};
return this.scanTokens(function(f, g, h) {
var i, j, k;
i = f[0];
if (i === "TERMINATOR" && this.tag(g + 1) === "THEN") {
h.splice(g, 1);
return 0
}
if (i === "ELSE" && this.tag(g - 1) !== "OUTDENT") {
h.splice.apply(h, [g, 0].concat(u.call(this.indentation(f))));
return 2
}
if (i === "CATCH" && ((j = this.tag(g + 2)) === "OUTDENT" || j === "TERMINATOR" || j === "FINALLY")) {
h.splice.apply(h, [g + 2, 0].concat(u.call(this.indentation(f))));
return 4
}
if (t.call(n, i) >= 0 && this.tag(g + 1) !== "INDENT" && (i !== "ELSE" || this.tag(g + 1) !== "IF")) {
e = i, k = this.indentation(f, !0), c = k[0], d = k[1], e === "THEN" && (c.fromThen = !0), h.splice(g + 1, 0, c), this.detectEnd(g + 2, b, a), i === "THEN" && h.splice(g, 1);
return 1
}
return 1
})
}, a.prototype.tagPostfixConditionals = function() {
var a, b, c;
c = null, b = function(a, b) {
var c;
return (c = a[0]) === "TERMINATOR" || c === "INDENT"
}, a = function(a, b) {
if (a[0] !== "INDENT" || a.generated && !a.fromThen) return c[0] = "POST_" + c[0]
};
return this.scanTokens(function(d, e) {
if (d[0] !== "IF") return 1;
c = d, this.detectEnd(e + 1, b, a);
return 1
})
}, a.prototype.indentation = function(a, b) {
var c, d;
b == null && (b = !1), c = ["INDENT", 2, a[2]], d = ["OUTDENT", 2, a[2]], b && (c.generated = d.generated = !0);
return [c, d]
}, a.prototype.generate = function(a, b, c) {
var d;
d = [a, b, c], d.generated = !0;
return d
}, a.prototype.tag = function(a) {
var b;
return (b = this.tokens[a]) != null ? b[0] : void 0
};
return a
}(), b = [
["(", ")"],
["[", "]"],
["{", "}"],
["INDENT", "OUTDENT"],
["CALL_START", "CALL_END"],
["PARAM_START", "PARAM_END"],
["INDEX_START", "INDEX_END"]
], a.INVERSES = k = {}, e = [], d = [];
for (q = 0, r = b.length; q < r; q++) s = b[q], o = s[0], p = s[1], e.push(k[p] = o), d.push(k[o] = p);
c = ["CATCH", "WHEN", "ELSE", "FINALLY"].concat(d), i = ["IDENTIFIER", "SUPER", ")", "CALL_END", "]", "INDEX_END", "@", "THIS"], g = ["IDENTIFIER", "NUMBER", "STRING", "JS", "REGEX", "NEW", "PARAM_START", "CLASS", "IF", "TRY", "SWITCH", "THIS", "BOOL", "UNARY", "SUPER", "@", "->", "=>", "[", "(", "{", "--", "++"], j = ["+", "-"], f = ["->", "=>", "{", "[", ","], h = ["POST_IF", "FOR", "WHILE", "UNTIL", "WHEN", "BY", "LOOP", "TERMINATOR"], n = ["ELSE", "->", "=>", "TRY", "FINALLY", "THEN"], m = ["TERMINATOR", "CATCH", "FINALLY", "ELSE", "OUTDENT", "LEADING_WHEN"], l = ["TERMINATOR", "INDENT", "OUTDENT"]
}).call(this)
}, require["./lexer"] = new function() {
var a = this;
(function() {
var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X = [].indexOf ||
function(a) {
for (var b = 0, c = this.length; b < c; b++) if (b in this && this[b] === a) return b;
return -1
};
V = require("./rewriter"), J = V.Rewriter, r = V.INVERSES, W = require("./helpers"), R = W.count, U = W.starts, Q = W.compact, T = W.last, a.Lexer = y = function() {
function a() {}
a.name = "Lexer", a.prototype.tokenize = function(a, b) {
var c, d;
b == null && (b = {}), P.test(a) && (a = "\n" + a), a = a.replace(/\r/g, "").replace(N, ""), this.code = a, this.line = b.line || 0, this.indent = 0, this.indebt = 0, this.outdebt = 0, this.indents = [], this.ends = [], this.tokens = [], c = 0;
while (this.chunk = a.slice(c)) c += this.identifierToken() || this.commentToken() || this.whitespaceToken() || this.lineToken() || this.heredocToken() || this.stringToken() || this.numberToken() || this.regexToken() || this.jsToken() || this.literalToken();
this.closeIndentation(), (d = this.ends.pop()) && this.error("missing " + d);
if (b.rewrite === !1) return this.tokens;
return (new J).rewrite(this.tokens)
}, a.prototype.identifierToken = function() {
var a, b, c, d, h, i, j, k, l;
if (!(h = p.exec(this.chunk))) return 0;
d = h[0], c = h[1], a = h[2];
if (c === "own" && this.tag() === "FOR") {
this.token("OWN", c);
return c.length
}
b = a || (i = T(this.tokens)) && ((k = i[0]) === "." || k === "?." || k === "::" || !i.spaced && i[0] === "@"), j = "IDENTIFIER", !b && (X.call(u, c) >= 0 || X.call(g, c) >= 0) && (j = c.toUpperCase(), j === "WHEN" && (l = this.tag(), X.call(v, l) >= 0) ? j = "LEADING_WHEN" : j === "FOR" ? this.seenFor = !0 : j === "UNLESS" ? j = "IF" : X.call(O, j) >= 0 ? j = "UNARY" : X.call(H, j) >= 0 && (j !== "INSTANCEOF" && this.seenFor ? (j = "FOR" + j, this.seenFor = !1) : (j = "RELATION", this.value() === "!" && (this.tokens.pop(), c = "!" + c)))), X.call(t, c) >= 0 && (b ? (j = "IDENTIFIER", c = new String(c), c.reserved = !0) : X.call(I, c) >= 0 && this.error('reserved word "' + c + '"')), b || (X.call(e, c) >= 0 && (c = f[c]), j = function() {
switch (c) {
case "!":
return "UNARY";
case "==":
case "!=":
return "COMPARE";
case "&&":
case "||":
return "LOGIC";
case "true":
case "false":
case "null":
case "undefined":
return "BOOL";
case "break":
case "continue":
return "STATEMENT";
default:
return j
}
}()), this.token(j, c), a && this.token(":", ":");
return d.length
}, a.prototype.numberToken = function() {
var a, b, c, d, e;
if (!(c = E.exec(this.chunk))) return 0;
d = c[0], /E/.test(d) ? this.error("exponential notation '" + d + "' must be indicated with a lowercase 'e'") : /[BOX]/.test(d) ? this.error("radix prefixes must be lowercase '" + d + "'") : /^0[89]/.test(d) ? this.error("decimal literals '" + d + "' must not be prefixed with '0'") : /^0[0-7]/.test(d) && this.error("octal literals '" + d + "' must be prefixed with '0o'"), b = d.length;
if (e = /0o([0-7]+)/.exec(d)) d = parseInt(e[1], 8).toString();
if (a = /0b([01]+)/.exec(d)) d = parseInt(a[1], 2).toString();
this.token("NUMBER", d);
return b
}, a.prototype.stringToken = function() {
var a, b, c;
switch (this.chunk.charAt(0)) {
case "'":
if (!(a = L.exec(this.chunk))) return 0;
this.token("STRING", (c = a[0]).replace(A, "\\\n"));
break;
case '"':
if (!(c = this.balancedString(this.chunk, '"'))) return 0;
0 < c.indexOf("#{", 1) ? this.interpolateString(c.slice(1, -1)) : this.token("STRING", this.escapeLines(c));
break;
default:
return 0
}(b = /^(?:\\.|[^\\])*\\[0-7]/.test(c)) && this.error("octal escape sequences " + c + " are not allowed"), this.line += R(c, "\n");
return c.length
}, a.prototype.heredocToken = function() {
var a, b, c, d;
if (!(c = k.exec(this.chunk))) return 0;
b = c[0], d = b.charAt(0), a = this.sanitizeHeredoc(c[2], {
quote: d,
indent: null
}), d === '"' && 0 <= a.indexOf("#{") ? this.interpolateString(a, {
heredoc: !0
}) : this.token("STRING", this.makeString(a, d, !0)), this.line += R(b, "\n");
return b.length
}, a.prototype.commentToken = function() {
var a, b, c;
if (!(c = this.chunk.match(h))) return 0;
a = c[0], b = c[1], b && this.token("HERECOMMENT", this.sanitizeHeredoc(b, {
herecomment: !0,
indent: Array(this.indent + 1).join(" ")
})), this.line += R(a, "\n");
return a.length
}, a.prototype.jsToken = function() {
var a, b;
if (this.chunk.charAt(0) !== "`" || !(a = s.exec(this.chunk))) return 0;
this.token("JS", (b = a[0]).slice(1, -1));
return b.length
}, a.prototype.regexToken = function() {
var a, b, c, d, e, f, g;
if (this.chunk.charAt(0) !== "/") return 0;
if (c = n.exec(this.chunk)) {
b = this.heregexToken(c), this.line += R(c[0], "\n");
return b
}
d = T(this.tokens);
if (d && (f = d[0], X.call(d.spaced ? C : D, f) >= 0)) return 0;
if (!(c = G.exec(this.chunk))) return 0;
g = c, c = g[0], e = g[1], a = g[2], e.slice(0, 2) === "/*" && this.error("regular expressions cannot begin with `*`"), e === "//" && (e = "/(?:)/"), this.token("REGEX", "" + e + a);
return c.length
}, a.prototype.heregexToken = function(a) {
var b, c, d, e, f, g, h, i, j, k, l, m, n;
d = a[0], b = a[1], c = a[2];
if (0 > b.indexOf("#{")) {
e = b.replace(o, "").replace(/\//g, "\\/"), e.match(/^\*/) && this.error("regular expressions cannot begin with `*`"), this.token("REGEX", "/" + (e || "(?:)") + "/" + c);
return d.length
}
this.token("IDENTIFIER", "RegExp"), this.tokens.push(["CALL_START", "("]), g = [], k = this.interpolateString(b, {
regex: !0
});
for (i = 0, j = k.length; i < j; i++) {
l = k[i], f = l[0], h = l[1];
if (f === "TOKENS") g.push.apply(g, h);
else {
if (!(h = h.replace(o, ""))) continue;
h = h.replace(/\\/g, "\\\\"), g.push(["STRING", this.makeString(h, '"', !0)])
}
g.push(["+", "+"])
}
g.pop(), ((m = g[0]) != null ? m[0] : void 0) !== "STRING" && this.tokens.push(["STRING", '""'], ["+", "+"]), (n = this.tokens).push.apply(n, g), c && this.tokens.push([",", ","], ["STRING", '"' + c + '"']), this.token(")", ")");
return d.length
}, a.prototype.lineToken = function() {
var a, b, c, d, e, f;
if (!(c = B.exec(this.chunk))) return 0;
b = c[0], this.line += R(b, "\n"), this.seenFor = !1, e = T(this.tokens, 1), f = b.length - 1 - b.lastIndexOf("\n"), d = this.unfinished();
if (f - this.indebt === this.indent) {
d ? this.suppressNewlines() : this.newlineToken();
return b.length
}
if (f > this.indent) {
if (d) {
this.indebt = f - this.indent, this.suppressNewlines();
return b.length
}
a = f - this.indent + this.outdebt, this.token("INDENT", a), this.indents.push(a), this.ends.push("OUTDENT"), this.outdebt = this.indebt = 0
} else this.indebt = 0, this.outdentToken(this.indent - f, d);
this.indent = f;
return b.length
}, a.prototype.outdentToken = function(a, b) {
var c, d;
while (a > 0) d = this.indents.length - 1, this.indents[d] === void 0 ? a = 0 : this.indents[d] === this.outdebt ? (a -= this.outdebt, this.outdebt = 0) : this.indents[d] < this.outdebt ? (this.outdebt -= this.indents[d], a -= this.indents[d]) : (c = this.indents.pop() - this.outdebt, a -= c, this.outdebt = 0, this.pair("OUTDENT"), this.token("OUTDENT", c));
c && (this.outdebt -= a);
while (this.value() === ";") this.tokens.pop();
this.tag() !== "TERMINATOR" && !b && this.token("TERMINATOR", "\n");
return this
}, a.prototype.whitespaceToken = function() {
var a, b, c;
if (!(a = P.exec(this.chunk)) && !(b = this.chunk.charAt(0) === "\n")) return 0;
c = T(this.tokens), c && (c[a ? "spaced" : "newLine"] = !0);
return a ? a[0].length : 0
}, a.prototype.newlineToken = function() {
while (this.value() === ";") this.tokens.pop();
this.tag() !== "TERMINATOR" && this.token("TERMINATOR", "\n");
return this
}, a.prototype.suppressNewlines = function() {
this.value() === "\\" && this.tokens.pop();
return this
}, a.prototype.literalToken = function() {
var a, b, e, f, g, h, k, l;
(a = F.exec(this.chunk)) ? (f = a[0], d.test(f) && this.tagParameters()) : f = this.chunk.charAt(0), e = f, b = T(this.tokens);
if (f === "=" && b) {
!b[1].reserved && (g = b[1], X.call(t, g) >= 0) && this.error('reserved word "' + this.value() + "\" can't be assigned");
if ((h = b[1]) === "||" || h === "&&") {
b[0] = "COMPOUND_ASSIGN", b[1] += "=";
return f.length
}
}
if (f === ";") this.seenFor = !1, e = "TERMINATOR";
else if (X.call(z, f) >= 0) e = "MATH";
else if (X.call(i, f) >= 0) e = "COMPARE";
else if (X.call(j, f) >= 0) e = "COMPOUND_ASSIGN";
else if (X.call(O, f) >= 0) e = "UNARY";
else if (X.call(K, f) >= 0) e = "SHIFT";
else if (X.call(x, f) >= 0 || f === "?" && (b != null ? b.spaced : void 0)) e = "LOGIC";
else if (b && !b.spaced) if (f === "(" && (k = b[0], X.call(c, k) >= 0)) b[0] === "?" && (b[0] = "FUNC_EXIST"), e = "CALL_START";
else if (f === "[" && (l = b[0], X.call(q, l) >= 0)) {
e = "INDEX_START";
switch (b[0]) {
case "?":
b[0] = "INDEX_SOAK"
}
}
switch (f) {
case "(":
case "{":
case "[":
this.ends.push(r[f]);
break;
case ")":
case "}":
case "]":
this.pair(f)
}
this.token(e, f);
return f.length
}, a.prototype.sanitizeHeredoc = function(a, b) {
var c, d, e, f, g;
e = b.indent, d = b.herecomment;
if (d) {
l.test(a) && this.error('block comment cannot contain "*/", starting');
if (a.indexOf("\n") <= 0) return a
} else while (f = m.exec(a)) {
c = f[1];
if (e === null || 0 < (g = c.length) && g < e.length) e = c
}
e && (a = a.replace(RegExp("\\n" + e, "g"), "\n")), d || (a = a.replace(/^\n/, ""));
return a
}, a.prototype.tagParameters = function() {
var a, b, c, d;
if (this.tag() !== ")") return this;
b = [], d = this.tokens, a = d.length, d[--a][0] = "PARAM_END";
while (c = d[--a]) switch (c[0]) {
case ")":
b.push(c);
break;
case "(":
case "CALL_START":
if (b.length) b.pop();
else {
if (c[0] === "(") {
c[0] = "PARAM_START";
return this
}
return this
}
}
return this
}, a.prototype.closeIndentation = function() {
return this.outdentToken(this.indent)
}, a.prototype.balancedString = function(a, b) {
var c, d, e, f, g, h, i, j;
c = 0, h = [b];
for (d = i = 1, j = a.length; 1 <= j ? i < j : i > j; d = 1 <= j ? ++i : --i) {
if (c) {
--c;
continue
}
switch (e = a.charAt(d)) {
case "\\":
++c;
continue;
case b:
h.pop();
if (!h.length) return a.slice(0, d + 1 || 9e9);
b = h[h.length - 1];
continue
}
b !== "}" || e !== '"' && e !== "'" ? b === "}" && e === "/" && (f = n.exec(a.slice(d)) || G.exec(a.slice(d))) ? c += f[0].length - 1 : b === "}" && e === "{" ? h.push(b = "}") : b === '"' && g === "#" && e === "{" && h.push(b = "}") : h.push(b = e), g = e
}
return this.error("missing " + h.pop() + ", starting")
}, a.prototype.interpolateString = function(b, c) {
var d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u;
c == null && (c = {}), e = c.heredoc, m = c.regex, o = [], l = 0, f = -1;
while (j = b.charAt(f += 1)) {
if (j === "\\") {
f += 1;
continue
}
if (j !== "#" || b.charAt(f + 1) !== "{" || !(d = this.balancedString(b.slice(f + 1), "}"))) continue;
l < f && o.push(["NEOSTRING", b.slice(l, f)]), g = d.slice(1, -1);
if (g.length) {
k = (new a).tokenize(g, {
line: this.line,
rewrite: !1
}), k.pop(), ((s = k[0]) != null ? s[0] : void 0) === "TERMINATOR" && k.shift();
if (i = k.length) i > 1 && (k.unshift(["(", "(", this.line]), k.push([")", ")", this.line])), o.push(["TOKENS", k])
}
f += d.length, l = f + 1
}
f > l && l < b.length && o.push(["NEOSTRING", b.slice(l)]);
if (m) return o;
if (!o.length) return this.token("STRING", '""');
o[0][0] !== "NEOSTRING" && o.unshift(["", ""]), (h = o.length > 1) && this.token("(", "(");
for (f = q = 0, r = o.length; q < r; f = ++q) t = o[f], n = t[0], p = t[1], f && this.token("+", "+"), n === "TOKENS" ? (u = this.tokens).push.apply(u, p) : this.token("STRING", this.makeString(p, '"', e));
h && this.token(")", ")");
return o
}, a.prototype.pair = function(a) {
var b, c;
if (a !== (c = T(this.ends))) {
"OUTDENT" !== c && this.error("unmatched " + a), this.indent -= b = T(this.indents), this.outdentToken(b, !0);
return this.pair(a)
}
return this.ends.pop()
}, a.prototype.token = function(a, b) {
return this.tokens.push([a, b, this.line])
}, a.prototype.tag = function(a, b) {
var c;
return (c = T(this.tokens, a)) && (b ? c[0] = b : c[0])
}, a.prototype.value = function(a, b) {
var c;
return (c = T(this.tokens, a)) && (b ? c[1] = b : c[1])
}, a.prototype.unfinished = function() {
var a;
return w.test(this.chunk) || (a = this.tag()) === "\\" || a === "." || a === "?." || a === "UNARY" || a === "MATH" || a === "+" || a === "-" || a === "SHIFT" || a === "RELATION" || a === "COMPARE" || a === "LOGIC" || a === "THROW" || a === "EXTENDS"
}, a.prototype.escapeLines = function(a, b) {
return a.replace(A, b ? "\\n" : "")
}, a.prototype.makeString = function(a, b, c) {
if (!a) return b + b;
a = a.replace(/\\([\s\S])/g, function(a, c) {
return c === "\n" || c === b ? c : a
}), a = a.replace(RegExp("" + b, "g"), "\\$&");
return b + this.escapeLines(a, c) + b
}, a.prototype.error = function(a) {
throw SyntaxError("" + a + " on line " + (this.line + 1))
};
return a
}(), u = ["true", "false", "null", "this", "new", "delete", "typeof", "in", "instanceof", "return", "throw", "break", "continue", "debugger", "if", "else", "switch", "for", "while", "do", "try", "catch", "finally", "class", "extends", "super"], g = ["undefined", "then", "unless", "until", "loop", "of", "by", "when"], f = {
and: "&&",
or: "||",
is: "==",
isnt: "!=",
not: "!",
yes: "true",
no: "false",
on: "true",
off: "false"
}, e = function() {
var a;
a = [];
for (S in f) a.push(S);
return a
}(), g = g.concat(e), I = ["case", "default", "function", "var", "void", "with", "const", "let", "enum", "export", "import", "native", "__hasProp", "__extends", "__slice", "__bind", "__indexOf", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], M = ["arguments", "eval"], t = u.concat(I).concat(M), a.RESERVED = I.concat(u).concat(g).concat(M), a.STRICT_PROSCRIBED = M, p = /^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/, E = /^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i, k = /^("""|''')([\s\S]*?)(?:\n[^\n\S]*)?\1/, F = /^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?\.|\.{2,3})/, P = /^[^\n\S]+/, h = /^###([^#][\s\S]*?)(?:###[^\n\S]*|(?:###)?$)|^(?:\s*#(?!##[^#]).*)+/, d = /^[-=]>/, B = /^(?:\n[^\n\S]*)+/, L = /^'[^\\']*(?:\\.[^\\']*)*'/, s = /^`[^\\`]*(?:\\.[^\\`]*)*`/, G = /^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/, n = /^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/, o = /\s+(?:#.*)?/g, A = /\n/g, m = /\n+([^\n\S]*)/g, l = /\*\//, w = /^\s*(?:,|\??\.(?![.\d])|::)/, N = /\s+$/, j = ["-=", "+=", "/=", "*=", "%=", "||=", "&&=", "?=", "<<=", ">>=", ">>>=", "&=", "^=", "|="], O = ["!", "~", "NEW", "TYPEOF", "DELETE", "DO"], x = ["&&", "||", "&", "|", "^"], K = ["<<", ">>", ">>>"], i = ["==", "!=", "<", ">", "<=", ">="], z = ["*", "/", "%"], H = ["IN", "OF", "INSTANCEOF"], b = ["TRUE", "FALSE", "NULL", "UNDEFINED"], C = ["NUMBER", "REGEX", "BOOL", "++", "--", "]"], D = C.concat(")", "}", "THIS", "IDENTIFIER", "STRING"), c = ["IDENTIFIER", "STRING", "REGEX", ")", "]", "}", "?", "::", "@", "THIS", "SUPER"], q = c.concat("NUMBER", "BOOL"), v = ["INDENT", "OUTDENT", "TERMINATOR"]
}).call(this)
}, require["./parser"] = new function() {
var a = this,
b = function() {
undefined;
var a = {
trace: function() {},
yy: {},
symbols_: {
error: 2,
Root: 3,
Body: 4,
Block: 5,
TERMINATOR: 6,
Line: 7,
Expression: 8,
Statement: 9,
Return: 10,
Comment: 11,
STATEMENT: 12,
Value: 13,
Invocation: 14,
Code: 15,
Operation: 16,
Assign: 17,
If: 18,
Try: 19,
While: 20,
For: 21,
Switch: 22,
Class: 23,
Throw: 24,
INDENT: 25,
OUTDENT: 26,
Identifier: 27,
IDENTIFIER: 28,
AlphaNumeric: 29,
NUMBER: 30,
STRING: 31,
Literal: 32,
JS: 33,
REGEX: 34,
DEBUGGER: 35,
BOOL: 36,
Assignable: 37,
"=": 38,
AssignObj: 39,
ObjAssignable: 40,
":": 41,
ThisProperty: 42,
RETURN: 43,
HERECOMMENT: 44,
PARAM_START: 45,
ParamList: 46,
PARAM_END: 47,
FuncGlyph: 48,
"->": 49,
"=>": 50,
OptComma: 51,
",": 52,
Param: 53,
ParamVar: 54,
"...": 55,
Array: 56,
Object: 57,
Splat: 58,
SimpleAssignable: 59,
Accessor: 60,
Parenthetical: 61,
Range: 62,
This: 63,
".": 64,
"?.": 65,
"::": 66,
Index: 67,
INDEX_START: 68,
IndexValue: 69,
INDEX_END: 70,
INDEX_SOAK: 71,
Slice: 72,
"{": 73,
AssignList: 74,
"}": 75,
CLASS: 76,
EXTENDS: 77,
OptFuncExist: 78,
Arguments: 79,
SUPER: 80,
FUNC_EXIST: 81,
CALL_START: 82,
CALL_END: 83,
ArgList: 84,
THIS: 85,
"@": 86,
"[": 87,
"]": 88,
RangeDots: 89,
"..": 90,
Arg: 91,
SimpleArgs: 92,
TRY: 93,
Catch: 94,
FINALLY: 95,
CATCH: 96,
THROW: 97,
"(": 98,
")": 99,
WhileSource: 100,
WHILE: 101,
WHEN: 102,
UNTIL: 103,
Loop: 104,
LOOP: 105,
ForBody: 106,
FOR: 107,
ForStart: 108,
ForSource: 109,
ForVariables: 110,
OWN: 111,
ForValue: 112,
FORIN: 113,
FOROF: 114,
BY: 115,
SWITCH: 116,
Whens: 117,
ELSE: 118,
When: 119,
LEADING_WHEN: 120,
IfBlock: 121,
IF: 122,
POST_IF: 123,
UNARY: 124,
"-": 125,
"+": 126,
"--": 127,
"++": 128,
"?": 129,
MATH: 130,
SHIFT: 131,
COMPARE: 132,
LOGIC: 133,
RELATION: 134,
COMPOUND_ASSIGN: 135,
$accept: 0,
$end: 1
},
terminals_: {
2: "error",
6: "TERMINATOR",
12: "STATEMENT",
25: "INDENT",
26: "OUTDENT",
28: "IDENTIFIER",
30: "NUMBER",
31: "STRING",
33: "JS",
34: "REGEX",
35: "DEBUGGER",
36: "BOOL",
38: "=",
41: ":",
43: "RETURN",
44: "HERECOMMENT",
45: "PARAM_START",
47: "PARAM_END",
49: "->",
50: "=>",
52: ",",
55: "...",
64: ".",
65: "?.",
66: "::",
68: "INDEX_START",
70: "INDEX_END",
71: "INDEX_SOAK",
73: "{",
75: "}",
76: "CLASS",
77: "EXTENDS",
80: "SUPER",
81: "FUNC_EXIST",
82: "CALL_START",
83: "CALL_END",
85: "THIS",
86: "@",
87: "[",
88: "]",
90: "..",
93: "TRY",
95: "FINALLY",
96: "CATCH",
97: "THROW",
98: "(",
99: ")",
101: "WHILE",
102: "WHEN",
103: "UNTIL",
105: "LOOP",
107: "FOR",
111: "OWN",
113: "FORIN",
114: "FOROF",
115: "BY",
116: "SWITCH",
118: "ELSE",
120: "LEADING_WHEN",
122: "IF",
123: "POST_IF",
124: "UNARY",
125: "-",
126: "+",
127: "--",
128: "++",
129: "?",
130: "MATH",
131: "SHIFT",
132: "COMPARE",
133: "LOGIC",
134: "RELATION",
135: "COMPOUND_ASSIGN"
},
productions_: [0, [3, 0],
[3, 1],
[3, 2],
[4, 1],
[4, 3],
[4, 2],
[7, 1],
[7, 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],
[5, 2],
[5, 3],
[27, 1],
[29, 1],
[29, 1],
[32, 1],
[32, 1],
[32, 1],
[32, 1],
[32, 1],
[17, 3],
[17, 4],
[17, 5],
[39, 1],
[39, 3],
[39, 5],
[39, 1],
[40, 1],
[40, 1],
[40, 1],
[10, 2],
[10, 1],
[11, 1],
[15, 5],
[15, 2],
[48, 1],
[48, 1],
[51, 0],
[51, 1],
[46, 0],
[46, 1],
[46, 3],
[53, 1],
[53, 2],
[53, 3],
[54, 1],
[54, 1],
[54, 1],
[54, 1],
[58, 2],
[59, 1],
[59, 2],
[59, 2],
[59, 1],
[37, 1],
[37, 1],
[37, 1],
[13, 1],
[13, 1],
[13, 1],
[13, 1],
[13, 1],
[60, 2],
[60, 2],
[60, 2],
[60, 1],
[60, 1],
[67, 3],
[67, 2],
[69, 1],
[69, 1],
[57, 4],
[74, 0],
[74, 1],
[74, 3],
[74, 4],
[74, 6],
[23, 1],
[23, 2],
[23, 3],
[23, 4],
[23, 2],
[23, 3],
[23, 4],
[23, 5],
[14, 3],
[14, 3],
[14, 1],
[14, 2],
[78, 0],
[78, 1],
[79, 2],
[79, 4],
[63, 1],
[63, 1],
[42, 2],
[56, 2],
[56, 4],
[89, 1],
[89, 1],
[62, 5],
[72, 3],
[72, 2],
[72, 2],
[72, 1],
[84, 1],
[84, 3],
[84, 4],
[84, 4],
[84, 6],
[91, 1],
[91, 1],
[92, 1],
[92, 3],
[19, 2],
[19, 3],
[19, 4],
[19, 5],
[94, 3],
[24, 2],
[61, 3],
[61, 5],
[100, 2],
[100, 4],
[100, 2],
[100, 4],
[20, 2],
[20, 2],
[20, 2],
[20, 1],
[104, 2],
[104, 2],
[21, 2],
[21, 2],
[21, 2],
[106, 2],
[106, 2],
[108, 2],
[108, 3],
[112, 1],
[112, 1],
[112, 1],
[110, 1],
[110, 3],
[109, 2],
[109, 2],
[109, 4],
[109, 4],
[109, 4],
[109, 6],
[109, 6],
[22, 5],
[22, 7],
[22, 4],
[22, 6],
[117, 1],
[117, 2],
[119, 3],
[119, 4],
[121, 3],
[121, 5],
[18, 1],
[18, 3],
[18, 3],
[18, 3],
[16, 2],
[16, 2],
[16, 2],
[16, 2],
[16, 2],
[16, 2],
[16, 2],
[16, 2],
[16, 3],
[16, 3],
[16, 3],
[16, 3],
[16, 3],
[16, 3],
[16, 3],
[16, 3],
[16, 5],
[16, 3]
],
performAction: function(b, c, d, e, f, g, h) {
var i = g.length - 1;
switch (f) {
case 1:
return this.$ = new e.Block;
case 2:
return this.$ = g[i];
case 3:
return this.$ = g[i - 1];
case 4:
this.$ = e.Block.wrap([g[i]]);
break;
case 5:
this.$ = g[i - 2].push(g[i]);
break;
case 6:
this.$ = g[i - 1];
break;
case 7:
this.$ = g[i];
break;
case 8:
this.$ = g[i];
break;
case 9:
this.$ = g[i];
break;
case 10:
this.$ = g[i];
break;
case 11:
this.$ = new e.Literal(g[i]);
break;
case 12:
this.$ = g[i];
break;
case 13:
this.$ = g[i];
break;
case 14:
this.$ = g[i];
break;
case 15:
this.$ = g[i];
break;
case 16:
this.$ = g[i];
break;
case 17:
this.$ = g[i];
break;
case 18:
this.$ = g[i];
break;
case 19:
this.$ = g[i];
break;
case 20:
this.$ = g[i];
break;
case 21:
this.$ = g[i];
break;
case 22:
this.$ = g[i];
break;
case 23:
this.$ = g[i];
break;
case 24:
this.$ = new e.Block;
break;
case 25:
this.$ = g[i - 1];
break;
case 26:
this.$ = new e.Literal(g[i]);
break;
case 27:
this.$ = new e.Literal(g[i]);
break;
case 28:
this.$ = new e.Literal(g[i]);
break;
case 29:
this.$ = g[i];
break;
case 30:
this.$ = new e.Literal(g[i]);
break;
case 31:
this.$ = new e.Literal(g[i]);
break;
case 32:
this.$ = new e.Literal(g[i]);
break;
case 33:
this.$ = function() {
var a;
a = new e.Literal(g[i]), g[i] === "undefined" && (a.isUndefined = !0);
return a
}();
break;
case 34:
this.$ = new e.Assign(g[i - 2], g[i]);
break;
case 35:
this.$ = new e.Assign(g[i - 3], g[i]);
break;
case 36:
this.$ = new e.Assign(g[i - 4], g[i - 1]);
break;
case 37:
this.$ = new e.Value(g[i]);
break;
case 38:
this.$ = new e.Assign(new e.Value(g[i - 2]), g[i], "object");
break;
case 39:
this.$ = new e.Assign(new e.Value(g[i - 4]), g[i - 1], "object");
break;
case 40:
this.$ = g[i];
break;
case 41:
this.$ = g[i];
break;
case 42:
this.$ = g[i];
break;
case 43:
this.$ = g[i];
break;
case 44:
this.$ = new e.Return(g[i]);
break;
case 45:
this.$ = new e.Return;
break;
case 46:
this.$ = new e.Comment(g[i]);
break;
case 47:
this.$ = new e.Code(g[i - 3], g[i], g[i - 1]);
break;
case 48:
this.$ = new e.Code([], g[i], g[i - 1]);
break;
case 49:
this.$ = "func";
break;
case 50:
this.$ = "boundfunc";
break;
case 51:
this.$ = g[i];
break;
case 52:
this.$ = g[i];
break;
case 53:
this.$ = [];
break;
case 54:
this.$ = [g[i]];
break;
case 55:
this.$ = g[i - 2].concat(g[i]);
break;
case 56:
this.$ = new e.Param(g[i]);
break;
case 57:
this.$ = new e.Param(g[i - 1], null, !0);
break;
case 58:
this.$ = new e.Param(g[i - 2], g[i]);
break;
case 59:
this.$ = g[i];
break;
case 60:
this.$ = g[i];
break;
case 61:
this.$ = g[i];
break;
case 62:
this.$ = g[i];
break;
case 63:
this.$ = new e.Splat(g[i - 1]);
break;
case 64:
this.$ = new e.Value(g[i]);
break;
case 65:
this.$ = g[i - 1].add(g[i]);
break;
case 66:
this.$ = new e.Value(g[i - 1], [].concat(g[i]));
break;
case 67:
this.$ = g[i];
break;
case 68:
this.$ = g[i];
break;
case 69:
this.$ = new e.Value(g[i]);
break;
case 70:
this.$ = new e.Value(g[i]);
break;
case 71:
this.$ = g[i];
break;
case 72:
this.$ = new e.Value(g[i]);
break;
case 73:
this.$ = new e.Value(g[i]);
break;
case 74:
this.$ = new e.Value(g[i]);
break;
case 75:
this.$ = g[i];
break;
case 76:
this.$ = new e.Access(g[i]);
break;
case 77:
this.$ = new e.Access(g[i], "soak");
break;
case 78:
this.$ = [new e.Access(new e.Literal("prototype")), new e.Access(g[i])];
break;
case 79:
this.$ = new e.Access(new e.Literal("prototype"));
break;
case 80:
this.$ = g[i];
break;
case 81:
this.$ = g[i - 1];
break;
case 82:
this.$ = e.extend(g[i], {
soak: !0
});
break;
case 83:
this.$ = new e.Index(g[i]);
break;
case 84:
this.$ = new e.Slice(g[i]);
break;
case 85:
this.$ = new e.Obj(g[i - 2], g[i - 3].generated);
break;
case 86:
this.$ = [];
break;
case 87:
this.$ = [g[i]];
break;
case 88:
this.$ = g[i - 2].concat(g[i]);
break;
case 89:
this.$ = g[i - 3].concat(g[i]);
break;
case 90:
this.$ = g[i - 5].concat(g[i - 2]);
break;
case 91:
this.$ = new e.Class;
break;
case 92:
this.$ = new e.Class(null, null, g[i]);
break;
case 93:
this.$ = new e.Class(null, g[i]);
break;
case 94:
this.$ = new e.Class(null, g[i - 1], g[i]);
break;
case 95:
this.$ = new e.Class(g[i]);
break;
case 96:
this.$ = new e.Class(g[i - 1], null, g[i]);
break;
case 97:
this.$ = new e.Class(g[i - 2], g[i]);
break;
case 98:
this.$ = new e.Class(g[i - 3], g[i - 1], g[i]);
break;
case 99:
this.$ = new e.Call(g[i - 2], g[i], g[i - 1]);
break;
case 100:
this.$ = new e.Call(g[i - 2], g[i], g[i - 1]);
break;
case 101:
this.$ = new e.Call("super", [new e.Splat(new e.Literal("arguments"))]);
break;
case 102:
this.$ = new e.Call("super", g[i]);
break;
case 103:
this.$ = !1;
break;
case 104:
this.$ = !0;
break;
case 105:
this.$ = [];
break;
case 106:
this.$ = g[i - 2];
break;
case 107:
this.$ = new e.Value(new e.Literal("this"));
break;
case 108:
this.$ = new e.Value(new e.Literal("this"));
break;
case 109:
this.$ = new e.Value(new e.Literal("this"), [new e.Access(g[i])], "this");
break;
case 110:
this.$ = new e.Arr([]);
break;
case 111:
this.$ = new e.Arr(g[i - 2]);
break;
case 112:
this.$ = "inclusive";
break;
case 113:
this.$ = "exclusive";
break;
case 114:
this.$ = new e.Range(g[i - 3], g[i - 1], g[i - 2]);
break;
case 115:
this.$ = new e.Range(g[i - 2], g[i], g[i - 1]);
break;
case 116:
this.$ = new e.Range(g[i - 1], null, g[i]);
break;
case 117:
this.$ = new e.Range(null, g[i], g[i - 1]);
break;
case 118:
this.$ = new e.Range(null, null, g[i]);
break;
case 119:
this.$ = [g[i]];
break;
case 120:
this.$ = g[i - 2].concat(g[i]);
break;
case 121:
this.$ = g[i - 3].concat(g[i]);
break;
case 122:
this.$ = g[i - 2];
break;
case 123:
this.$ = g[i - 5].concat(g[i - 2]);
break;
case 124:
this.$ = g[i];
break;
case 125:
this.$ = g[i];
break;
case 126:
this.$ = g[i];
break;
case 127:
this.$ = [].concat(g[i - 2], g[i]);
break;
case 128:
this.$ = new e.Try(g[i]);
break;
case 129:
this.$ = new e.Try(g[i - 1], g[i][0], g[i][1]);
break;
case 130:
this.$ = new e.Try(g[i - 2], null, null, g[i]);
break;
case 131:
this.$ = new e.Try(g[i - 3], g[i - 2][0], g[i - 2][1], g[i]);
break;
case 132:
this.$ = [g[i - 1], g[i]];
break;
case 133:
this.$ = new e.Throw(g[i]);
break;
case 134:
this.$ = new e.Parens(g[i - 1]);
break;
case 135:
this.$ = new e.Parens(g[i - 2]);
break;
case 136:
this.$ = new e.While(g[i]);
break;
case 137:
this.$ = new e.While(g[i - 2], {
guard: g[i]
});
break;
case 138:
this.$ = new e.While(g[i], {
invert: !0
});
break;
case 139:
this.$ = new e.While(g[i - 2], {
invert: !0,
guard: g[i]
});
break;
case 140:
this.$ = g[i - 1].addBody(g[i]);
break;
case 141:
this.$ = g[i].addBody(e.Block.wrap([g[i - 1]]));
break;
case 142:
this.$ = g[i].addBody(e.Block.wrap([g[i - 1]]));
break;
case 143:
this.$ = g[i];
break;
case 144:
this.$ = (new e.While(new e.Literal("true"))).addBody(g[i]);
break;
case 145:
this.$ = (new e.While(new e.Literal("true"))).addBody(e.Block.wrap([g[i]]));
break;
case 146:
this.$ = new e.For(g[i - 1], g[i]);
break;
case 147:
this.$ = new e.For(g[i - 1], g[i]);
break;
case 148:
this.$ = new e.For(g[i], g[i - 1]);
break;
case 149:
this.$ = {
source: new e.Value(g[i])
};
break;
case 150:
this.$ = function() {
g[i].own = g[i - 1].own, g[i].name = g[i - 1][0], g[i].index = g[i - 1][1];
return g[i]
}();
break;
case 151:
this.$ = g[i];
break;
case 152:
this.$ = function() {
g[i].own = !0;
return g[i]
}();
break;
case 153:
this.$ = g[i];
break;
case 154:
this.$ = new e.Value(g[i]);
break;
case 155:
this.$ = new e.Value(g[i]);
break;
case 156:
this.$ = [g[i]];
break;
case 157:
this.$ = [g[i - 2], g[i]];
break;
case 158:
this.$ = {
source: g[i]
};
break;
case 159:
this.$ = {
source: g[i],
object: !0
};
break;
case 160:
this.$ = {
source: g[i - 2],
guard: g[i]
};
break;
case 161:
this.$ = {
source: g[i - 2],
guard: g[i],
object: !0
};
break;
case 162:
this.$ = {
source: g[i - 2],
step: g[i]
};
break;
case 163:
this.$ = {
source: g[i - 4],
guard: g[i - 2],
step: g[i]
};
break;
case 164:
this.$ = {
source: g[i - 4],
step: g[i - 2],
guard: g[i]
};
break;
case 165:
this.$ = new e.Switch(g[i - 3], g[i - 1]);
break;
case 166:
this.$ = new e.Switch(g[i - 5], g[i - 3], g[i - 1]);
break;
case 167:
this.$ = new e.Switch(null, g[i - 1]);
break;
case 168:
this.$ = new e.Switch(null, g[i - 3], g[i - 1]);
break;
case 169:
this.$ = g[i];
break;
case 170:
this.$ = g[i - 1].concat(g[i]);
break;
case 171:
this.$ = [
[g[i - 1], g[i]]
];
break;
case 172:
this.$ = [
[g[i - 2], g[i - 1]]
];
break;
case 173:
this.$ = new e.If(g[i - 1], g[i], {
type: g[i - 2]
});
break;
case 174:
this.$ = g[i - 4].addElse(new e.If(g[i - 1], g[i], {
type: g[i - 2]
}));
break;
case 175:
this.$ = g[i];
break;
case 176:
this.$ = g[i - 2].addElse(g[i]);
break;
case 177:
this.$ = new e.If(g[i], e.Block.wrap([g[i - 2]]), {
type: g[i - 1],
statement: !0
});
break;
case 178:
this.$ = new e.If(g[i], e.Block.wrap([g[i - 2]]), {
type: g[i - 1],
statement: !0
});
break;
case 179:
this.$ = new e.Op(g[i - 1], g[i]);
break;
case 180:
this.$ = new e.Op("-", g[i]);
break;
case 181:
this.$ = new e.Op("+", g[i]);
break;
case 182:
this.$ = new e.Op("--", g[i]);
break;
case 183:
this.$ = new e.Op("++", g[i]);
break;
case 184:
this.$ = new e.Op("--", g[i - 1], null, !0);
break;
case 185:
this.$ = new e.Op("++", g[i - 1], null, !0);
break;
case 186:
this.$ = new e.Existence(g[i - 1]);
break;
case 187:
this.$ = new e.Op("+", g[i - 2], g[i]);
break;
case 188:
this.$ = new e.Op("-", g[i - 2], g[i]);
break;
case 189:
this.$ = new e.Op(g[i - 1], g[i - 2], g[i]);
break;
case 190:
this.$ = new e.Op(g[i - 1], g[i - 2], g[i]);
break;
case 191:
this.$ = new e.Op(g[i - 1], g[i - 2], g[i]);
break;
case 192:
this.$ = new e.Op(g[i - 1], g[i - 2], g[i]);
break;
case 193:
this.$ = function() {
return g[i - 1].charAt(0) === "!" ? (new e.Op(g[i - 1].slice(1), g[i - 2], g[i])).invert() : new e.Op(g[i - 1], g[i - 2], g[i])
}();
break;
case 194:
this.$ = new e.Assign(g[i - 2], g[i], g[i - 1]);
break;
case 195:
this.$ = new e.Assign(g[i - 4], g[i - 1], g[i - 3]);
break;
case 196:
this.$ = new e.Extends(g[i - 2], g[i])
}
},
table: [{
1: [2, 1],
3: 1,
4: 2,
5: 3,
7: 4,
8: 6,
9: 7,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 5],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [3]
}, {
1: [2, 2],
6: [1, 72]
}, {
6: [1, 73]
}, {
1: [2, 4],
6: [2, 4],
26: [2, 4],
99: [2, 4]
}, {
4: 75,
7: 4,
8: 6,
9: 7,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
26: [1, 74],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 7],
6: [2, 7],
26: [2, 7],
99: [2, 7],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 8],
6: [2, 8],
26: [2, 8],
99: [2, 8],
100: 88,
101: [1, 63],
103: [1, 64],
106: 89,
107: [1, 66],
108: 67,
123: [1, 87]
}, {
1: [2, 12],
6: [2, 12],
25: [2, 12],
26: [2, 12],
47: [2, 12],
52: [2, 12],
55: [2, 12],
60: 91,
64: [1, 93],
65: [1, 94],
66: [1, 95],
67: 96,
68: [1, 97],
70: [2, 12],
71: [1, 98],
75: [2, 12],
78: 90,
81: [1, 92],
82: [2, 103],
83: [2, 12],
88: [2, 12],
90: [2, 12],
99: [2, 12],
101: [2, 12],
102: [2, 12],
103: [2, 12],
107: [2, 12],
115: [2, 12],
123: [2, 12],
125: [2, 12],
126: [2, 12],
129: [2, 12],
130: [2, 12],
131: [2, 12],
132: [2, 12],
133: [2, 12],
134: [2, 12]
}, {
1: [2, 13],
6: [2, 13],
25: [2, 13],
26: [2, 13],
47: [2, 13],
52: [2, 13],
55: [2, 13],
60: 100,
64: [1, 93],
65: [1, 94],
66: [1, 95],
67: 96,
68: [1, 97],
70: [2, 13],
71: [1, 98],
75: [2, 13],
78: 99,
81: [1, 92],
82: [2, 103],
83: [2, 13],
88: [2, 13],
90: [2, 13],
99: [2, 13],
101: [2, 13],
102: [2, 13],
103: [2, 13],
107: [2, 13],
115: [2, 13],
123: [2, 13],
125: [2, 13],
126: [2, 13],
129: [2, 13],
130: [2, 13],
131: [2, 13],
132: [2, 13],
133: [2, 13],
134: [2, 13]
}, {
1: [2, 14],
6: [2, 14],
25: [2, 14],
26: [2, 14],
47: [2, 14],
52: [2, 14],
55: [2, 14],
70: [2, 14],
75: [2, 14],
83: [2, 14],
88: [2, 14],
90: [2, 14],
99: [2, 14],
101: [2, 14],
102: [2, 14],
103: [2, 14],
107: [2, 14],
115: [2, 14],
123: [2, 14],
125: [2, 14],
126: [2, 14],
129: [2, 14],
130: [2, 14],
131: [2, 14],
132: [2, 14],
133: [2, 14],
134: [2, 14]
}, {
1: [2, 15],
6: [2, 15],
25: [2, 15],
26: [2, 15],
47: [2, 15],
52: [2, 15],
55: [2, 15],
70: [2, 15],
75: [2, 15],
83: [2, 15],
88: [2, 15],
90: [2, 15],
99: [2, 15],
101: [2, 15],
102: [2, 15],
103: [2, 15],
107: [2, 15],
115: [2, 15],
123: [2, 15],
125: [2, 15],
126: [2, 15],
129: [2, 15],
130: [2, 15],
131: [2, 15],
132: [2, 15],
133: [2, 15],
134: [2, 15]
}, {
1: [2, 16],
6: [2, 16],
25: [2, 16],
26: [2, 16],
47: [2, 16],
52: [2, 16],
55: [2, 16],
70: [2, 16],
75: [2, 16],
83: [2, 16],
88: [2, 16],
90: [2, 16],
99: [2, 16],
101: [2, 16],
102: [2, 16],
103: [2, 16],
107: [2, 16],
115: [2, 16],
123: [2, 16],
125: [2, 16],
126: [2, 16],
129: [2, 16],
130: [2, 16],
131: [2, 16],
132: [2, 16],
133: [2, 16],
134: [2, 16]
}, {
1: [2, 17],
6: [2, 17],
25: [2, 17],
26: [2, 17],
47: [2, 17],
52: [2, 17],
55: [2, 17],
70: [2, 17],
75: [2, 17],
83: [2, 17],
88: [2, 17],
90: [2, 17],
99: [2, 17],
101: [2, 17],
102: [2, 17],
103: [2, 17],
107: [2, 17],
115: [2, 17],
123: [2, 17],
125: [2, 17],
126: [2, 17],
129: [2, 17],
130: [2, 17],
131: [2, 17],
132: [2, 17],
133: [2, 17],
134: [2, 17]
}, {
1: [2, 18],
6: [2, 18],
25: [2, 18],
26: [2, 18],
47: [2, 18],
52: [2, 18],
55: [2, 18],
70: [2, 18],
75: [2, 18],
83: [2, 18],
88: [2, 18],
90: [2, 18],
99: [2, 18],
101: [2, 18],
102: [2, 18],
103: [2, 18],
107: [2, 18],
115: [2, 18],
123: [2, 18],
125: [2, 18],
126: [2, 18],
129: [2, 18],
130: [2, 18],
131: [2, 18],
132: [2, 18],
133: [2, 18],
134: [2, 18]
}, {
1: [2, 19],
6: [2, 19],
25: [2, 19],
26: [2, 19],
47: [2, 19],
52: [2, 19],
55: [2, 19],
70: [2, 19],
75: [2, 19],
83: [2, 19],
88: [2, 19],
90: [2, 19],
99: [2, 19],
101: [2, 19],
102: [2, 19],
103: [2, 19],
107: [2, 19],
115: [2, 19],
123: [2, 19],
125: [2, 19],
126: [2, 19],
129: [2, 19],
130: [2, 19],
131: [2, 19],
132: [2, 19],
133: [2, 19],
134: [2, 19]
}, {
1: [2, 20],
6: [2, 20],
25: [2, 20],
26: [2, 20],
47: [2, 20],
52: [2, 20],
55: [2, 20],
70: [2, 20],
75: [2, 20],
83: [2, 20],
88: [2, 20],
90: [2, 20],
99: [2, 20],
101: [2, 20],
102: [2, 20],
103: [2, 20],
107: [2, 20],
115: [2, 20],
123: [2, 20],
125: [2, 20],
126: [2, 20],
129: [2, 20],
130: [2, 20],
131: [2, 20],
132: [2, 20],
133: [2, 20],
134: [2, 20]
}, {
1: [2, 21],
6: [2, 21],
25: [2, 21],
26: [2, 21],
47: [2, 21],
52: [2, 21],
55: [2, 21],
70: [2, 21],
75: [2, 21],
83: [2, 21],
88: [2, 21],
90: [2, 21],
99: [2, 21],
101: [2, 21],
102: [2, 21],
103: [2, 21],
107: [2, 21],
115: [2, 21],
123: [2, 21],
125: [2, 21],
126: [2, 21],
129: [2, 21],
130: [2, 21],
131: [2, 21],
132: [2, 21],
133: [2, 21],
134: [2, 21]
}, {
1: [2, 22],
6: [2, 22],
25: [2, 22],
26: [2, 22],
47: [2, 22],
52: [2, 22],
55: [2, 22],
70: [2, 22],
75: [2, 22],
83: [2, 22],
88: [2, 22],
90: [2, 22],
99: [2, 22],
101: [2, 22],
102: [2, 22],
103: [2, 22],
107: [2, 22],
115: [2, 22],
123: [2, 22],
125: [2, 22],
126: [2, 22],
129: [2, 22],
130: [2, 22],
131: [2, 22],
132: [2, 22],
133: [2, 22],
134: [2, 22]
}, {
1: [2, 23],
6: [2, 23],
25: [2, 23],
26: [2, 23],
47: [2, 23],
52: [2, 23],
55: [2, 23],
70: [2, 23],
75: [2, 23],
83: [2, 23],
88: [2, 23],
90: [2, 23],
99: [2, 23],
101: [2, 23],
102: [2, 23],
103: [2, 23],
107: [2, 23],
115: [2, 23],
123: [2, 23],
125: [2, 23],
126: [2, 23],
129: [2, 23],
130: [2, 23],
131: [2, 23],
132: [2, 23],
133: [2, 23],
134: [2, 23]
}, {
1: [2, 9],
6: [2, 9],
26: [2, 9],
99: [2, 9],
101: [2, 9],
103: [2, 9],
107: [2, 9],
123: [2, 9]
}, {
1: [2, 10],
6: [2, 10],
26: [2, 10],
99: [2, 10],
101: [2, 10],
103: [2, 10],
107: [2, 10],
123: [2, 10]
}, {
1: [2, 11],
6: [2, 11],
26: [2, 11],
99: [2, 11],
101: [2, 11],
103: [2, 11],
107: [2, 11],
123: [2, 11]
}, {
1: [2, 71],
6: [2, 71],
25: [2, 71],
26: [2, 71],
38: [1, 101],
47: [2, 71],
52: [2, 71],
55: [2, 71],
64: [2, 71],
65: [2, 71],
66: [2, 71],
68: [2, 71],
70: [2, 71],
71: [2, 71],
75: [2, 71],
81: [2, 71],
82: [2, 71],
83: [2, 71],
88: [2, 71],
90: [2, 71],
99: [2, 71],
101: [2, 71],
102: [2, 71],
103: [2, 71],
107: [2, 71],
115: [2, 71],
123: [2, 71],
125: [2, 71],
126: [2, 71],
129: [2, 71],
130: [2, 71],
131: [2, 71],
132: [2, 71],
133: [2, 71],
134: [2, 71]
}, {
1: [2, 72],
6: [2, 72],
25: [2, 72],
26: [2, 72],
47: [2, 72],
52: [2, 72],
55: [2, 72],
64: [2, 72],
65: [2, 72],
66: [2, 72],
68: [2, 72],
70: [2, 72],
71: [2, 72],
75: [2, 72],
81: [2, 72],
82: [2, 72],
83: [2, 72],
88: [2, 72],
90: [2, 72],
99: [2, 72],
101: [2, 72],
102: [2, 72],
103: [2, 72],
107: [2, 72],
115: [2, 72],
123: [2, 72],
125: [2, 72],
126: [2, 72],
129: [2, 72],
130: [2, 72],
131: [2, 72],
132: [2, 72],
133: [2, 72],
134: [2, 72]
}, {
1: [2, 73],
6: [2, 73],
25: [2, 73],
26: [2, 73],
47: [2, 73],
52: [2, 73],
55: [2, 73],
64: [2, 73],
65: [2, 73],
66: [2, 73],
68: [2, 73],
70: [2, 73],
71: [2, 73],
75: [2, 73],
81: [2, 73],
82: [2, 73],
83: [2, 73],
88: [2, 73],
90: [2, 73],
99: [2, 73],
101: [2, 73],
102: [2, 73],
103: [2, 73],
107: [2, 73],
115: [2, 73],
123: [2, 73],
125: [2, 73],
126: [2, 73],
129: [2, 73],
130: [2, 73],
131: [2, 73],
132: [2, 73],
133: [2, 73],
134: [2, 73]
}, {
1: [2, 74],
6: [2, 74],
25: [2, 74],
26: [2, 74],
47: [2, 74],
52: [2, 74],
55: [2, 74],
64: [2, 74],
65: [2, 74],
66: [2, 74],
68: [2, 74],
70: [2, 74],
71: [2, 74],
75: [2, 74],
81: [2, 74],
82: [2, 74],
83: [2, 74],
88: [2, 74],
90: [2, 74],
99: [2, 74],
101: [2, 74],
102: [2, 74],
103: [2, 74],
107: [2, 74],
115: [2, 74],
123: [2, 74],
125: [2, 74],
126: [2, 74],
129: [2, 74],
130: [2, 74],
131: [2, 74],
132: [2, 74],
133: [2, 74],
134: [2, 74]
}, {
1: [2, 75],
6: [2, 75],
25: [2, 75],
26: [2, 75],
47: [2, 75],
52: [2, 75],
55: [2, 75],
64: [2, 75],
65: [2, 75],
66: [2, 75],
68: [2, 75],
70: [2, 75],
71: [2, 75],
75: [2, 75],
81: [2, 75],
82: [2, 75],
83: [2, 75],
88: [2, 75],
90: [2, 75],
99: [2, 75],
101: [2, 75],
102: [2, 75],
103: [2, 75],
107: [2, 75],
115: [2, 75],
123: [2, 75],
125: [2, 75],
126: [2, 75],
129: [2, 75],
130: [2, 75],
131: [2, 75],
132: [2, 75],
133: [2, 75],
134: [2, 75]
}, {
1: [2, 101],
6: [2, 101],
25: [2, 101],
26: [2, 101],
47: [2, 101],
52: [2, 101],
55: [2, 101],
64: [2, 101],
65: [2, 101],
66: [2, 101],
68: [2, 101],
70: [2, 101],
71: [2, 101],
75: [2, 101],
79: 102,
81: [2, 101],
82: [1, 103],
83: [2, 101],
88: [2, 101],
90: [2, 101],
99: [2, 101],
101: [2, 101],
102: [2, 101],
103: [2, 101],
107: [2, 101],
115: [2, 101],
123: [2, 101],
125: [2, 101],
126: [2, 101],
129: [2, 101],
130: [2, 101],
131: [2, 101],
132: [2, 101],
133: [2, 101],
134: [2, 101]
}, {
27: 107,
28: [1, 71],
42: 108,
46: 104,
47: [2, 53],
52: [2, 53],
53: 105,
54: 106,
56: 109,
57: 110,
73: [1, 68],
86: [1, 111],
87: [1, 112]
}, {
5: 113,
25: [1, 5]
}, {
8: 114,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 116,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 117,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
13: 119,
14: 120,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 121,
42: 61,
56: 47,
57: 48,
59: 118,
61: 25,
62: 26,
63: 27,
73: [1, 68],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
98: [1, 54]
}, {
13: 119,
14: 120,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 121,
42: 61,
56: 47,
57: 48,
59: 122,
61: 25,
62: 26,
63: 27,
73: [1, 68],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
98: [1, 54]
}, {
1: [2, 68],
6: [2, 68],
25: [2, 68],
26: [2, 68],
38: [2, 68],
47: [2, 68],
52: [2, 68],
55: [2, 68],
64: [2, 68],
65: [2, 68],
66: [2, 68],
68: [2, 68],
70: [2, 68],
71: [2, 68],
75: [2, 68],
77: [1, 126],
81: [2, 68],
82: [2, 68],
83: [2, 68],
88: [2, 68],
90: [2, 68],
99: [2, 68],
101: [2, 68],
102: [2, 68],
103: [2, 68],
107: [2, 68],
115: [2, 68],
123: [2, 68],
125: [2, 68],
126: [2, 68],
127: [1, 123],
128: [1, 124],
129: [2, 68],
130: [2, 68],
131: [2, 68],
132: [2, 68],
133: [2, 68],
134: [2, 68],
135: [1, 125]
}, {
1: [2, 175],
6: [2, 175],
25: [2, 175],
26: [2, 175],
47: [2, 175],
52: [2, 175],
55: [2, 175],
70: [2, 175],
75: [2, 175],
83: [2, 175],
88: [2, 175],
90: [2, 175],
99: [2, 175],
101: [2, 175],
102: [2, 175],
103: [2, 175],
107: [2, 175],
115: [2, 175],
118: [1, 127],
123: [2, 175],
125: [2, 175],
126: [2, 175],
129: [2, 175],
130: [2, 175],
131: [2, 175],
132: [2, 175],
133: [2, 175],
134: [2, 175]
}, {
5: 128,
25: [1, 5]
}, {
5: 129,
25: [1, 5]
}, {
1: [2, 143],
6: [2, 143],
25: [2, 143],
26: [2, 143],
47: [2, 143],
52: [2, 143],
55: [2, 143],
70: [2, 143],
75: [2, 143],
83: [2, 143],
88: [2, 143],
90: [2, 143],
99: [2, 143],
101: [2, 143],
102: [2, 143],
103: [2, 143],
107: [2, 143],
115: [2, 143],
123: [2, 143],
125: [2, 143],
126: [2, 143],
129: [2, 143],
130: [2, 143],
131: [2, 143],
132: [2, 143],
133: [2, 143],
134: [2, 143]
}, {
5: 130,
25: [1, 5]
}, {
8: 131,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 132],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 91],
5: 133,
6: [2, 91],
13: 119,
14: 120,
25: [1, 5],
26: [2, 91],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 121,
42: 61,
47: [2, 91],
52: [2, 91],
55: [2, 91],
56: 47,
57: 48,
59: 135,
61: 25,
62: 26,
63: 27,
70: [2, 91],
73: [1, 68],
75: [2, 91],
77: [1, 134],
80: [1, 28],
83: [2, 91],
85: [1, 56],
86: [1, 57],
87: [1, 55],
88: [2, 91],
90: [2, 91],
98: [1, 54],
99: [2, 91],
101: [2, 91],
102: [2, 91],
103: [2, 91],
107: [2, 91],
115: [2, 91],
123: [2, 91],
125: [2, 91],
126: [2, 91],
129: [2, 91],
130: [2, 91],
131: [2, 91],
132: [2, 91],
133: [2, 91],
134: [2, 91]
}, {
8: 136,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 45],
6: [2, 45],
8: 137,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
26: [2, 45],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
99: [2, 45],
100: 39,
101: [2, 45],
103: [2, 45],
104: 40,
105: [1, 65],
106: 41,
107: [2, 45],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
123: [2, 45],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 46],
6: [2, 46],
25: [2, 46],
26: [2, 46],
52: [2, 46],
75: [2, 46],
99: [2, 46],
101: [2, 46],
103: [2, 46],
107: [2, 46],
123: [2, 46]
}, {
1: [2, 69],
6: [2, 69],
25: [2, 69],
26: [2, 69],
38: [2, 69],
47: [2, 69],
52: [2, 69],
55: [2, 69],
64: [2, 69],
65: [2, 69],
66: [2, 69],
68: [2, 69],
70: [2, 69],
71: [2, 69],
75: [2, 69],
81: [2, 69],
82: [2, 69],
83: [2, 69],
88: [2, 69],
90: [2, 69],
99: [2, 69],
101: [2, 69],
102: [2, 69],
103: [2, 69],
107: [2, 69],
115: [2, 69],
123: [2, 69],
125: [2, 69],
126: [2, 69],
129: [2, 69],
130: [2, 69],
131: [2, 69],
132: [2, 69],
133: [2, 69],
134: [2, 69]
}, {
1: [2, 70],
6: [2, 70],
25: [2, 70],
26: [2, 70],
38: [2, 70],
47: [2, 70],
52: [2, 70],
55: [2, 70],
64: [2, 70],
65: [2, 70],
66: [2, 70],
68: [2, 70],
70: [2, 70],
71: [2, 70],
75: [2, 70],
81: [2, 70],
82: [2, 70],
83: [2, 70],
88: [2, 70],
90: [2, 70],
99: [2, 70],
101: [2, 70],
102: [2, 70],
103: [2, 70],
107: [2, 70],
115: [2, 70],
123: [2, 70],
125: [2, 70],
126: [2, 70],
129: [2, 70],
130: [2, 70],
131: [2, 70],
132: [2, 70],
133: [2, 70],
134: [2, 70]
}, {
1: [2, 29],
6: [2, 29],
25: [2, 29],
26: [2, 29],
47: [2, 29],
52: [2, 29],
55: [2, 29],
64: [2, 29],
65: [2, 29],
66: [2, 29],
68: [2, 29],
70: [2, 29],
71: [2, 29],
75: [2, 29],
81: [2, 29],
82: [2, 29],
83: [2, 29],
88: [2, 29],
90: [2, 29],
99: [2, 29],
101: [2, 29],
102: [2, 29],
103: [2, 29],
107: [2, 29],
115: [2, 29],
123: [2, 29],
125: [2, 29],
126: [2, 29],
129: [2, 29],
130: [2, 29],
131: [2, 29],
132: [2, 29],
133: [2, 29],
134: [2, 29]
}, {
1: [2, 30],
6: [2, 30],
25: [2, 30],
26: [2, 30],
47: [2, 30],
52: [2, 30],
55: [2, 30],
64: [2, 30],
65: [2, 30],
66: [2, 30],
68: [2, 30],
70: [2, 30],
71: [2, 30],
75: [2, 30],
81: [2, 30],
82: [2, 30],
83: [2, 30],
88: [2, 30],
90: [2, 30],
99: [2, 30],
101: [2, 30],
102: [2, 30],
103: [2, 30],
107: [2, 30],
115: [2, 30],
123: [2, 30],
125: [2, 30],
126: [2, 30],
129: [2, 30],
130: [2, 30],
131: [2, 30],
132: [2, 30],
133: [2, 30],
134: [2, 30]
}, {
1: [2, 31],
6: [2, 31],
25: [2, 31],
26: [2, 31],
47: [2, 31],
52: [2, 31],
55: [2, 31],
64: [2, 31],
65: [2, 31],
66: [2, 31],
68: [2, 31],
70: [2, 31],
71: [2, 31],
75: [2, 31],
81: [2, 31],
82: [2, 31],
83: [2, 31],
88: [2, 31],
90: [2, 31],
99: [2, 31],
101: [2, 31],
102: [2, 31],
103: [2, 31],
107: [2, 31],
115: [2, 31],
123: [2, 31],
125: [2, 31],
126: [2, 31],
129: [2, 31],
130: [2, 31],
131: [2, 31],
132: [2, 31],
133: [2, 31],
134: [2, 31]
}, {
1: [2, 32],
6: [2, 32],
25: [2, 32],
26: [2, 32],
47: [2, 32],
52: [2, 32],
55: [2, 32],
64: [2, 32],
65: [2, 32],
66: [2, 32],
68: [2, 32],
70: [2, 32],
71: [2, 32],
75: [2, 32],
81: [2, 32],
82: [2, 32],
83: [2, 32],
88: [2, 32],
90: [2, 32],
99: [2, 32],
101: [2, 32],
102: [2, 32],
103: [2, 32],
107: [2, 32],
115: [2, 32],
123: [2, 32],
125: [2, 32],
126: [2, 32],
129: [2, 32],
130: [2, 32],
131: [2, 32],
132: [2, 32],
133: [2, 32],
134: [2, 32]
}, {
1: [2, 33],
6: [2, 33],
25: [2, 33],
26: [2, 33],
47: [2, 33],
52: [2, 33],
55: [2, 33],
64: [2, 33],
65: [2, 33],
66: [2, 33],
68: [2, 33],
70: [2, 33],
71: [2, 33],
75: [2, 33],
81: [2, 33],
82: [2, 33],
83: [2, 33],
88: [2, 33],
90: [2, 33],
99: [2, 33],
101: [2, 33],
102: [2, 33],
103: [2, 33],
107: [2, 33],
115: [2, 33],
123: [2, 33],
125: [2, 33],
126: [2, 33],
129: [2, 33],
130: [2, 33],
131: [2, 33],
132: [2, 33],
133: [2, 33],
134: [2, 33]
}, {
4: 138,
7: 4,
8: 6,
9: 7,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 139],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 140,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 144],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
58: 145,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
84: 142,
85: [1, 56],
86: [1, 57],
87: [1, 55],
88: [1, 141],
91: 143,
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 107],
6: [2, 107],
25: [2, 107],
26: [2, 107],
47: [2, 107],
52: [2, 107],
55: [2, 107],
64: [2, 107],
65: [2, 107],
66: [2, 107],
68: [2, 107],
70: [2, 107],
71: [2, 107],
75: [2, 107],
81: [2, 107],
82: [2, 107],
83: [2, 107],
88: [2, 107],
90: [2, 107],
99: [2, 107],
101: [2, 107],
102: [2, 107],
103: [2, 107],
107: [2, 107],
115: [2, 107],
123: [2, 107],
125: [2, 107],
126: [2, 107],
129: [2, 107],
130: [2, 107],
131: [2, 107],
132: [2, 107],
133: [2, 107],
134: [2, 107]
}, {
1: [2, 108],
6: [2, 108],
25: [2, 108],
26: [2, 108],
27: 146,
28: [1, 71],
47: [2, 108],
52: [2, 108],
55: [2, 108],
64: [2, 108],
65: [2, 108],
66: [2, 108],
68: [2, 108],
70: [2, 108],
71: [2, 108],
75: [2, 108],
81: [2, 108],
82: [2, 108],
83: [2, 108],
88: [2, 108],
90: [2, 108],
99: [2, 108],
101: [2, 108],
102: [2, 108],
103: [2, 108],
107: [2, 108],
115: [2, 108],
123: [2, 108],
125: [2, 108],
126: [2, 108],
129: [2, 108],
130: [2, 108],
131: [2, 108],
132: [2, 108],
133: [2, 108],
134: [2, 108]
}, {
25: [2, 49]
}, {
25: [2, 50]
}, {
1: [2, 64],
6: [2, 64],
25: [2, 64],
26: [2, 64],
38: [2, 64],
47: [2, 64],
52: [2, 64],
55: [2, 64],
64: [2, 64],
65: [2, 64],
66: [2, 64],
68: [2, 64],
70: [2, 64],
71: [2, 64],
75: [2, 64],
77: [2, 64],
81: [2, 64],
82: [2, 64],
83: [2, 64],
88: [2, 64],
90: [2, 64],
99: [2, 64],
101: [2, 64],
102: [2, 64],
103: [2, 64],
107: [2, 64],
115: [2, 64],
123: [2, 64],
125: [2, 64],
126: [2, 64],
127: [2, 64],
128: [2, 64],
129: [2, 64],
130: [2, 64],
131: [2, 64],
132: [2, 64],
133: [2, 64],
134: [2, 64],
135: [2, 64]
}, {
1: [2, 67],
6: [2, 67],
25: [2, 67],
26: [2, 67],
38: [2, 67],
47: [2, 67],
52: [2, 67],
55: [2, 67],
64: [2, 67],
65: [2, 67],
66: [2, 67],
68: [2, 67],
70: [2, 67],
71: [2, 67],
75: [2, 67],
77: [2, 67],
81: [2, 67],
82: [2, 67],
83: [2, 67],
88: [2, 67],
90: [2, 67],
99: [2, 67],
101: [2, 67],
102: [2, 67],
103: [2, 67],
107: [2, 67],
115: [2, 67],
123: [2, 67],
125: [2, 67],
126: [2, 67],
127: [2, 67],
128: [2, 67],
129: [2, 67],
130: [2, 67],
131: [2, 67],
132: [2, 67],
133: [2, 67],
134: [2, 67],
135: [2, 67]
}, {
8: 147,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 148,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 149,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
5: 150,
8: 151,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 5],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
27: 156,
28: [1, 71],
56: 157,
57: 158,
62: 152,
73: [1, 68],
87: [1, 55],
110: 153,
111: [1, 154],
112: 155
}, {
109: 159,
113: [1, 160],
114: [1, 161]
}, {
6: [2, 86],
11: 165,
25: [2, 86],
27: 166,
28: [1, 71],
29: 167,
30: [1, 69],
31: [1, 70],
39: 163,
40: 164,
42: 168,
44: [1, 46],
52: [2, 86],
74: 162,
75: [2, 86],
86: [1, 111]
}, {
1: [2, 27],
6: [2, 27],
25: [2, 27],
26: [2, 27],
41: [2, 27],
47: [2, 27],
52: [2, 27],
55: [2, 27],
64: [2, 27],
65: [2, 27],
66: [2, 27],
68: [2, 27],
70: [2, 27],
71: [2, 27],
75: [2, 27],
81: [2, 27],
82: [2, 27],
83: [2, 27],
88: [2, 27],
90: [2, 27],
99: [2, 27],
101: [2, 27],
102: [2, 27],
103: [2, 27],
107: [2, 27],
115: [2, 27],
123: [2, 27],
125: [2, 27],
126: [2, 27],
129: [2, 27],
130: [2, 27],
131: [2, 27],
132: [2, 27],
133: [2, 27],
134: [2, 27]
}, {
1: [2, 28],
6: [2, 28],
25: [2, 28],
26: [2, 28],
41: [2, 28],
47: [2, 28],
52: [2, 28],
55: [2, 28],
64: [2, 28],
65: [2, 28],
66: [2, 28],
68: [2, 28],
70: [2, 28],
71: [2, 28],
75: [2, 28],
81: [2, 28],
82: [2, 28],
83: [2, 28],
88: [2, 28],
90: [2, 28],
99: [2, 28],
101: [2, 28],
102: [2, 28],
103: [2, 28],
107: [2, 28],
115: [2, 28],
123: [2, 28],
125: [2, 28],
126: [2, 28],
129: [2, 28],
130: [2, 28],
131: [2, 28],
132: [2, 28],
133: [2, 28],
134: [2, 28]
}, {
1: [2, 26],
6: [2, 26],
25: [2, 26],
26: [2, 26],
38: [2, 26],
41: [2, 26],
47: [2, 26],
52: [2, 26],
55: [2, 26],
64: [2, 26],
65: [2, 26],
66: [2, 26],
68: [2, 26],
70: [2, 26],
71: [2, 26],
75: [2, 26],
77: [2, 26],
81: [2, 26],
82: [2, 26],
83: [2, 26],
88: [2, 26],
90: [2, 26],
99: [2, 26],
101: [2, 26],
102: [2, 26],
103: [2, 26],
107: [2, 26],
113: [2, 26],
114: [2, 26],
115: [2, 26],
123: [2, 26],
125: [2, 26],
126: [2, 26],
127: [2, 26],
128: [2, 26],
129: [2, 26],
130: [2, 26],
131: [2, 26],
132: [2, 26],
133: [2, 26],
134: [2, 26],
135: [2, 26]
}, {
1: [2, 6],
6: [2, 6],
7: 169,
8: 6,
9: 7,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
26: [2, 6],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
99: [2, 6],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 3]
}, {
1: [2, 24],
6: [2, 24],
25: [2, 24],
26: [2, 24],
47: [2, 24],
52: [2, 24],
55: [2, 24],
70: [2, 24],
75: [2, 24],
83: [2, 24],
88: [2, 24],
90: [2, 24],
95: [2, 24],
96: [2, 24],
99: [2, 24],
101: [2, 24],
102: [2, 24],
103: [2, 24],
107: [2, 24],
115: [2, 24],
118: [2, 24],
120: [2, 24],
123: [2, 24],
125: [2, 24],
126: [2, 24],
129: [2, 24],
130: [2, 24],
131: [2, 24],
132: [2, 24],
133: [2, 24],
134: [2, 24]
}, {
6: [1, 72],
26: [1, 170]
}, {
1: [2, 186],
6: [2, 186],
25: [2, 186],
26: [2, 186],
47: [2, 186],
52: [2, 186],
55: [2, 186],
70: [2, 186],
75: [2, 186],
83: [2, 186],
88: [2, 186],
90: [2, 186],
99: [2, 186],
101: [2, 186],
102: [2, 186],
103: [2, 186],
107: [2, 186],
115: [2, 186],
123: [2, 186],
125: [2, 186],
126: [2, 186],
129: [2, 186],
130: [2, 186],
131: [2, 186],
132: [2, 186],
133: [2, 186],
134: [2, 186]
}, {
8: 171,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 172,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 173,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 174,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 175,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 176,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 177,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 178,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 142],
6: [2, 142],
25: [2, 142],
26: [2, 142],
47: [2, 142],
52: [2, 142],
55: [2, 142],
70: [2, 142],
75: [2, 142],
83: [2, 142],
88: [2, 142],
90: [2, 142],
99: [2, 142],
101: [2, 142],
102: [2, 142],
103: [2, 142],
107: [2, 142],
115: [2, 142],
123: [2, 142],
125: [2, 142],
126: [2, 142],
129: [2, 142],
130: [2, 142],
131: [2, 142],
132: [2, 142],
133: [2, 142],
134: [2, 142]
}, {
1: [2, 147],
6: [2, 147],
25: [2, 147],
26: [2, 147],
47: [2, 147],
52: [2, 147],
55: [2, 147],
70: [2, 147],
75: [2, 147],
83: [2, 147],
88: [2, 147],
90: [2, 147],
99: [2, 147],
101: [2, 147],
102: [2, 147],
103: [2, 147],
107: [2, 147],
115: [2, 147],
123: [2, 147],
125: [2, 147],
126: [2, 147],
129: [2, 147],
130: [2, 147],
131: [2, 147],
132: [2, 147],
133: [2, 147],
134: [2, 147]
}, {
8: 179,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 141],
6: [2, 141],
25: [2, 141],
26: [2, 141],
47: [2, 141],
52: [2, 141],
55: [2, 141],
70: [2, 141],
75: [2, 141],
83: [2, 141],
88: [2, 141],
90: [2, 141],
99: [2, 141],
101: [2, 141],
102: [2, 141],
103: [2, 141],
107: [2, 141],
115: [2, 141],
123: [2, 141],
125: [2, 141],
126: [2, 141],
129: [2, 141],
130: [2, 141],
131: [2, 141],
132: [2, 141],
133: [2, 141],
134: [2, 141]
}, {
1: [2, 146],
6: [2, 146],
25: [2, 146],
26: [2, 146],
47: [2, 146],
52: [2, 146],
55: [2, 146],
70: [2, 146],
75: [2, 146],
83: [2, 146],
88: [2, 146],
90: [2, 146],
99: [2, 146],
101: [2, 146],
102: [2, 146],
103: [2, 146],
107: [2, 146],
115: [2, 146],
123: [2, 146],
125: [2, 146],
126: [2, 146],
129: [2, 146],
130: [2, 146],
131: [2, 146],
132: [2, 146],
133: [2, 146],
134: [2, 146]
}, {
79: 180,
82: [1, 103]
}, {
1: [2, 65],
6: [2, 65],
25: [2, 65],
26: [2, 65],
38: [2, 65],
47: [2, 65],
52: [2, 65],
55: [2, 65],
64: [2, 65],
65: [2, 65],
66: [2, 65],
68: [2, 65],
70: [2, 65],
71: [2, 65],
75: [2, 65],
77: [2, 65],
81: [2, 65],
82: [2, 65],
83: [2, 65],
88: [2, 65],
90: [2, 65],
99: [2, 65],
101: [2, 65],
102: [2, 65],
103: [2, 65],
107: [2, 65],
115: [2, 65],
123: [2, 65],
125: [2, 65],
126: [2, 65],
127: [2, 65],
128: [2, 65],
129: [2, 65],
130: [2, 65],
131: [2, 65],
132: [2, 65],
133: [2, 65],
134: [2, 65],
135: [2, 65]
}, {
82: [2, 104]
}, {
27: 181,
28: [1, 71]
}, {
27: 182,
28: [1, 71]
}, {
1: [2, 79],
6: [2, 79],
25: [2, 79],
26: [2, 79],
27: 183,
28: [1, 71],
38: [2, 79],
47: [2, 79],
52: [2, 79],
55: [2, 79],
64: [2, 79],
65: [2, 79],
66: [2, 79],
68: [2, 79],
70: [2, 79],
71: [2, 79],
75: [2, 79],
77: [2, 79],
81: [2, 79],
82: [2, 79],
83: [2, 79],
88: [2, 79],
90: [2, 79],
99: [2, 79],
101: [2, 79],
102: [2, 79],
103: [2, 79],
107: [2, 79],
115: [2, 79],
123: [2, 79],
125: [2, 79],
126: [2, 79],
127: [2, 79],
128: [2, 79],
129: [2, 79],
130: [2, 79],
131: [2, 79],
132: [2, 79],
133: [2, 79],
134: [2, 79],
135: [2, 79]
}, {
1: [2, 80],
6: [2, 80],
25: [2, 80],
26: [2, 80],
38: [2, 80],
47: [2, 80],
52: [2, 80],
55: [2, 80],
64: [2, 80],
65: [2, 80],
66: [2, 80],
68: [2, 80],
70: [2, 80],
71: [2, 80],
75: [2, 80],
77: [2, 80],
81: [2, 80],
82: [2, 80],
83: [2, 80],
88: [2, 80],
90: [2, 80],
99: [2, 80],
101: [2, 80],
102: [2, 80],
103: [2, 80],
107: [2, 80],
115: [2, 80],
123: [2, 80],
125: [2, 80],
126: [2, 80],
127: [2, 80],
128: [2, 80],
129: [2, 80],
130: [2, 80],
131: [2, 80],
132: [2, 80],
133: [2, 80],
134: [2, 80],
135: [2, 80]
}, {
8: 185,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
55: [1, 189],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
69: 184,
72: 186,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
89: 187,
90: [1, 188],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
67: 190,
68: [1, 97],
71: [1, 98]
}, {
79: 191,
82: [1, 103]
}, {
1: [2, 66],
6: [2, 66],
25: [2, 66],
26: [2, 66],
38: [2, 66],
47: [2, 66],
52: [2, 66],
55: [2, 66],
64: [2, 66],
65: [2, 66],
66: [2, 66],
68: [2, 66],
70: [2, 66],
71: [2, 66],
75: [2, 66],
77: [2, 66],
81: [2, 66],
82: [2, 66],
83: [2, 66],
88: [2, 66],
90: [2, 66],
99: [2, 66],
101: [2, 66],
102: [2, 66],
103: [2, 66],
107: [2, 66],
115: [2, 66],
123: [2, 66],
125: [2, 66],
126: [2, 66],
127: [2, 66],
128: [2, 66],
129: [2, 66],
130: [2, 66],
131: [2, 66],
132: [2, 66],
133: [2, 66],
134: [2, 66],
135: [2, 66]
}, {
6: [1, 193],
8: 192,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 194],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 102],
6: [2, 102],
25: [2, 102],
26: [2, 102],
47: [2, 102],
52: [2, 102],
55: [2, 102],
64: [2, 102],
65: [2, 102],
66: [2, 102],
68: [2, 102],
70: [2, 102],
71: [2, 102],
75: [2, 102],
81: [2, 102],
82: [2, 102],
83: [2, 102],
88: [2, 102],
90: [2, 102],
99: [2, 102],
101: [2, 102],
102: [2, 102],
103: [2, 102],
107: [2, 102],
115: [2, 102],
123: [2, 102],
125: [2, 102],
126: [2, 102],
129: [2, 102],
130: [2, 102],
131: [2, 102],
132: [2, 102],
133: [2, 102],
134: [2, 102]
}, {
8: 197,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 144],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
58: 145,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
83: [1, 195],
84: 196,
85: [1, 56],
86: [1, 57],
87: [1, 55],
91: 143,
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
47: [1, 198],
52: [1, 199]
}, {
47: [2, 54],
52: [2, 54]
}, {
38: [1, 201],
47: [2, 56],
52: [2, 56],
55: [1, 200]
}, {
38: [2, 59],
47: [2, 59],
52: [2, 59],
55: [2, 59]
}, {
38: [2, 60],
47: [2, 60],
52: [2, 60],
55: [2, 60]
}, {
38: [2, 61],
47: [2, 61],
52: [2, 61],
55: [2, 61]
}, {
38: [2, 62],
47: [2, 62],
52: [2, 62],
55: [2, 62]
}, {
27: 146,
28: [1, 71]
}, {
8: 197,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 144],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
58: 145,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
84: 142,
85: [1, 56],
86: [1, 57],
87: [1, 55],
88: [1, 141],
91: 143,
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 48],
6: [2, 48],
25: [2, 48],
26: [2, 48],
47: [2, 48],
52: [2, 48],
55: [2, 48],
70: [2, 48],
75: [2, 48],
83: [2, 48],
88: [2, 48],
90: [2, 48],
99: [2, 48],
101: [2, 48],
102: [2, 48],
103: [2, 48],
107: [2, 48],
115: [2, 48],
123: [2, 48],
125: [2, 48],
126: [2, 48],
129: [2, 48],
130: [2, 48],
131: [2, 48],
132: [2, 48],
133: [2, 48],
134: [2, 48]
}, {
1: [2, 179],
6: [2, 179],
25: [2, 179],
26: [2, 179],
47: [2, 179],
52: [2, 179],
55: [2, 179],
70: [2, 179],
75: [2, 179],
83: [2, 179],
88: [2, 179],
90: [2, 179],
99: [2, 179],
100: 85,
101: [2, 179],
102: [2, 179],
103: [2, 179],
106: 86,
107: [2, 179],
108: 67,
115: [2, 179],
123: [2, 179],
125: [2, 179],
126: [2, 179],
129: [1, 76],
130: [2, 179],
131: [2, 179],
132: [2, 179],
133: [2, 179],
134: [2, 179]
}, {
100: 88,
101: [1, 63],
103: [1, 64],
106: 89,
107: [1, 66],
108: 67,
123: [1, 87]
}, {
1: [2, 180],
6: [2, 180],
25: [2, 180],
26: [2, 180],
47: [2, 180],
52: [2, 180],
55: [2, 180],
70: [2, 180],
75: [2, 180],
83: [2, 180],
88: [2, 180],
90: [2, 180],
99: [2, 180],
100: 85,
101: [2, 180],
102: [2, 180],
103: [2, 180],
106: 86,
107: [2, 180],
108: 67,
115: [2, 180],
123: [2, 180],
125: [2, 180],
126: [2, 180],
129: [1, 76],
130: [2, 180],
131: [2, 180],
132: [2, 180],
133: [2, 180],
134: [2, 180]
}, {
1: [2, 181],
6: [2, 181],
25: [2, 181],
26: [2, 181],
47: [2, 181],
52: [2, 181],
55: [2, 181],
70: [2, 181],
75: [2, 181],
83: [2, 181],
88: [2, 181],
90: [2, 181],
99: [2, 181],
100: 85,
101: [2, 181],
102: [2, 181],
103: [2, 181],
106: 86,
107: [2, 181],
108: 67,
115: [2, 181],
123: [2, 181],
125: [2, 181],
126: [2, 181],
129: [1, 76],
130: [2, 181],
131: [2, 181],
132: [2, 181],
133: [2, 181],
134: [2, 181]
}, {
1: [2, 182],
6: [2, 182],
25: [2, 182],
26: [2, 182],
47: [2, 182],
52: [2, 182],
55: [2, 182],
64: [2, 68],
65: [2, 68],
66: [2, 68],
68: [2, 68],
70: [2, 182],
71: [2, 68],
75: [2, 182],
81: [2, 68],
82: [2, 68],
83: [2, 182],
88: [2, 182],
90: [2, 182],
99: [2, 182],
101: [2, 182],
102: [2, 182],
103: [2, 182],
107: [2, 182],
115: [2, 182],
123: [2, 182],
125: [2, 182],
126: [2, 182],
129: [2, 182],
130: [2, 182],
131: [2, 182],
132: [2, 182],
133: [2, 182],
134: [2, 182]
}, {
60: 91,
64: [1, 93],
65: [1, 94],
66: [1, 95],
67: 96,
68: [1, 97],
71: [1, 98],
78: 90,
81: [1, 92],
82: [2, 103]
}, {
60: 100,
64: [1, 93],
65: [1, 94],
66: [1, 95],
67: 96,
68: [1, 97],
71: [1, 98],
78: 99,
81: [1, 92],
82: [2, 103]
}, {
64: [2, 71],
65: [2, 71],
66: [2, 71],
68: [2, 71],
71: [2, 71],
81: [2, 71],
82: [2, 71]
}, {
1: [2, 183],
6: [2, 183],
25: [2, 183],
26: [2, 183],
47: [2, 183],
52: [2, 183],
55: [2, 183],
64: [2, 68],
65: [2, 68],
66: [2, 68],
68: [2, 68],
70: [2, 183],
71: [2, 68],
75: [2, 183],
81: [2, 68],
82: [2, 68],
83: [2, 183],
88: [2, 183],
90: [2, 183],
99: [2, 183],
101: [2, 183],
102: [2, 183],
103: [2, 183],
107: [2, 183],
115: [2, 183],
123: [2, 183],
125: [2, 183],
126: [2, 183],
129: [2, 183],
130: [2, 183],
131: [2, 183],
132: [2, 183],
133: [2, 183],
134: [2, 183]
}, {
1: [2, 184],
6: [2, 184],
25: [2, 184],
26: [2, 184],
47: [2, 184],
52: [2, 184],
55: [2, 184],
70: [2, 184],
75: [2, 184],
83: [2, 184],
88: [2, 184],
90: [2, 184],
99: [2, 184],
101: [2, 184],
102: [2, 184],
103: [2, 184],
107: [2, 184],
115: [2, 184],
123: [2, 184],
125: [2, 184],
126: [2, 184],
129: [2, 184],
130: [2, 184],
131: [2, 184],
132: [2, 184],
133: [2, 184],
134: [2, 184]
}, {
1: [2, 185],
6: [2, 185],
25: [2, 185],
26: [2, 185],
47: [2, 185],
52: [2, 185],
55: [2, 185],
70: [2, 185],
75: [2, 185],
83: [2, 185],
88: [2, 185],
90: [2, 185],
99: [2, 185],
101: [2, 185],
102: [2, 185],
103: [2, 185],
107: [2, 185],
115: [2, 185],
123: [2, 185],
125: [2, 185],
126: [2, 185],
129: [2, 185],
130: [2, 185],
131: [2, 185],
132: [2, 185],
133: [2, 185],
134: [2, 185]
}, {
8: 202,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 203],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 204,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
5: 205,
25: [1, 5],
122: [1, 206]
}, {
1: [2, 128],
6: [2, 128],
25: [2, 128],
26: [2, 128],
47: [2, 128],
52: [2, 128],
55: [2, 128],
70: [2, 128],
75: [2, 128],
83: [2, 128],
88: [2, 128],
90: [2, 128],
94: 207,
95: [1, 208],
96: [1, 209],
99: [2, 128],
101: [2, 128],
102: [2, 128],
103: [2, 128],
107: [2, 128],
115: [2, 128],
123: [2, 128],
125: [2, 128],
126: [2, 128],
129: [2, 128],
130: [2, 128],
131: [2, 128],
132: [2, 128],
133: [2, 128],
134: [2, 128]
}, {
1: [2, 140],
6: [2, 140],
25: [2, 140],
26: [2, 140],
47: [2, 140],
52: [2, 140],
55: [2, 140],
70: [2, 140],
75: [2, 140],
83: [2, 140],
88: [2, 140],
90: [2, 140],
99: [2, 140],
101: [2, 140],
102: [2, 140],
103: [2, 140],
107: [2, 140],
115: [2, 140],
123: [2, 140],
125: [2, 140],
126: [2, 140],
129: [2, 140],
130: [2, 140],
131: [2, 140],
132: [2, 140],
133: [2, 140],
134: [2, 140]
}, {
1: [2, 148],
6: [2, 148],
25: [2, 148],
26: [2, 148],
47: [2, 148],
52: [2, 148],
55: [2, 148],
70: [2, 148],
75: [2, 148],
83: [2, 148],
88: [2, 148],
90: [2, 148],
99: [2, 148],
101: [2, 148],
102: [2, 148],
103: [2, 148],
107: [2, 148],
115: [2, 148],
123: [2, 148],
125: [2, 148],
126: [2, 148],
129: [2, 148],
130: [2, 148],
131: [2, 148],
132: [2, 148],
133: [2, 148],
134: [2, 148]
}, {
25: [1, 210],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
117: 211,
119: 212,
120: [1, 213]
}, {
1: [2, 92],
6: [2, 92],
25: [2, 92],
26: [2, 92],
47: [2, 92],
52: [2, 92],
55: [2, 92],
70: [2, 92],
75: [2, 92],
83: [2, 92],
88: [2, 92],
90: [2, 92],
99: [2, 92],
101: [2, 92],
102: [2, 92],
103: [2, 92],
107: [2, 92],
115: [2, 92],
123: [2, 92],
125: [2, 92],
126: [2, 92],
129: [2, 92],
130: [2, 92],
131: [2, 92],
132: [2, 92],
133: [2, 92],
134: [2, 92]
}, {
8: 214,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 95],
5: 215,
6: [2, 95],
25: [1, 5],
26: [2, 95],
47: [2, 95],
52: [2, 95],
55: [2, 95],
64: [2, 68],
65: [2, 68],
66: [2, 68],
68: [2, 68],
70: [2, 95],
71: [2, 68],
75: [2, 95],
77: [1, 216],
81: [2, 68],
82: [2, 68],
83: [2, 95],
88: [2, 95],
90: [2, 95],
99: [2, 95],
101: [2, 95],
102: [2, 95],
103: [2, 95],
107: [2, 95],
115: [2, 95],
123: [2, 95],
125: [2, 95],
126: [2, 95],
129: [2, 95],
130: [2, 95],
131: [2, 95],
132: [2, 95],
133: [2, 95],
134: [2, 95]
}, {
1: [2, 133],
6: [2, 133],
25: [2, 133],
26: [2, 133],
47: [2, 133],
52: [2, 133],
55: [2, 133],
70: [2, 133],
75: [2, 133],
83: [2, 133],
88: [2, 133],
90: [2, 133],
99: [2, 133],
100: 85,
101: [2, 133],
102: [2, 133],
103: [2, 133],
106: 86,
107: [2, 133],
108: 67,
115: [2, 133],
123: [2, 133],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 44],
6: [2, 44],
26: [2, 44],
99: [2, 44],
100: 85,
101: [2, 44],
103: [2, 44],
106: 86,
107: [2, 44],
108: 67,
123: [2, 44],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
6: [1, 72],
99: [1, 217]
}, {
4: 218,
7: 4,
8: 6,
9: 7,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
6: [2, 124],
25: [2, 124],
52: [2, 124],
55: [1, 220],
88: [2, 124],
89: 219,
90: [1, 188],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 110],
6: [2, 110],
25: [2, 110],
26: [2, 110],
38: [2, 110],
47: [2, 110],
52: [2, 110],
55: [2, 110],
64: [2, 110],
65: [2, 110],
66: [2, 110],
68: [2, 110],
70: [2, 110],
71: [2, 110],
75: [2, 110],
81: [2, 110],
82: [2, 110],
83: [2, 110],
88: [2, 110],
90: [2, 110],
99: [2, 110],
101: [2, 110],
102: [2, 110],
103: [2, 110],
107: [2, 110],
113: [2, 110],
114: [2, 110],
115: [2, 110],
123: [2, 110],
125: [2, 110],
126: [2, 110],
129: [2, 110],
130: [2, 110],
131: [2, 110],
132: [2, 110],
133: [2, 110],
134: [2, 110]
}, {
6: [2, 51],
25: [2, 51],
51: 221,
52: [1, 222],
88: [2, 51]
}, {
6: [2, 119],
25: [2, 119],
26: [2, 119],
52: [2, 119],
83: [2, 119],
88: [2, 119]
}, {
8: 197,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 144],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
58: 145,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
84: 223,
85: [1, 56],
86: [1, 57],
87: [1, 55],
91: 143,
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
6: [2, 125],
25: [2, 125],
26: [2, 125],
52: [2, 125],
83: [2, 125],
88: [2, 125]
}, {
1: [2, 109],
6: [2, 109],
25: [2, 109],
26: [2, 109],
38: [2, 109],
41: [2, 109],
47: [2, 109],
52: [2, 109],
55: [2, 109],
64: [2, 109],
65: [2, 109],
66: [2, 109],
68: [2, 109],
70: [2, 109],
71: [2, 109],
75: [2, 109],
77: [2, 109],
81: [2, 109],
82: [2, 109],
83: [2, 109],
88: [2, 109],
90: [2, 109],
99: [2, 109],
101: [2, 109],
102: [2, 109],
103: [2, 109],
107: [2, 109],
115: [2, 109],
123: [2, 109],
125: [2, 109],
126: [2, 109],
127: [2, 109],
128: [2, 109],
129: [2, 109],
130: [2, 109],
131: [2, 109],
132: [2, 109],
133: [2, 109],
134: [2, 109],
135: [2, 109]
}, {
5: 224,
25: [1, 5],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 136],
6: [2, 136],
25: [2, 136],
26: [2, 136],
47: [2, 136],
52: [2, 136],
55: [2, 136],
70: [2, 136],
75: [2, 136],
83: [2, 136],
88: [2, 136],
90: [2, 136],
99: [2, 136],
100: 85,
101: [1, 63],
102: [1, 225],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
115: [2, 136],
123: [2, 136],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 138],
6: [2, 138],
25: [2, 138],
26: [2, 138],
47: [2, 138],
52: [2, 138],
55: [2, 138],
70: [2, 138],
75: [2, 138],
83: [2, 138],
88: [2, 138],
90: [2, 138],
99: [2, 138],
100: 85,
101: [1, 63],
102: [1, 226],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
115: [2, 138],
123: [2, 138],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 144],
6: [2, 144],
25: [2, 144],
26: [2, 144],
47: [2, 144],
52: [2, 144],
55: [2, 144],
70: [2, 144],
75: [2, 144],
83: [2, 144],
88: [2, 144],
90: [2, 144],
99: [2, 144],
101: [2, 144],
102: [2, 144],
103: [2, 144],
107: [2, 144],
115: [2, 144],
123: [2, 144],
125: [2, 144],
126: [2, 144],
129: [2, 144],
130: [2, 144],
131: [2, 144],
132: [2, 144],
133: [2, 144],
134: [2, 144]
}, {
1: [2, 145],
6: [2, 145],
25: [2, 145],
26: [2, 145],
47: [2, 145],
52: [2, 145],
55: [2, 145],
70: [2, 145],
75: [2, 145],
83: [2, 145],
88: [2, 145],
90: [2, 145],
99: [2, 145],
100: 85,
101: [1, 63],
102: [2, 145],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
115: [2, 145],
123: [2, 145],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 149],
6: [2, 149],
25: [2, 149],
26: [2, 149],
47: [2, 149],
52: [2, 149],
55: [2, 149],
70: [2, 149],
75: [2, 149],
83: [2, 149],
88: [2, 149],
90: [2, 149],
99: [2, 149],
101: [2, 149],
102: [2, 149],
103: [2, 149],
107: [2, 149],
115: [2, 149],
123: [2, 149],
125: [2, 149],
126: [2, 149],
129: [2, 149],
130: [2, 149],
131: [2, 149],
132: [2, 149],
133: [2, 149],
134: [2, 149]
}, {
113: [2, 151],
114: [2, 151]
}, {
27: 156,
28: [1, 71],
56: 157,
57: 158,
73: [1, 68],
87: [1, 112],
110: 227,
112: 155
}, {
52: [1, 228],
113: [2, 156],
114: [2, 156]
}, {
52: [2, 153],
113: [2, 153],
114: [2, 153]
}, {
52: [2, 154],
113: [2, 154],
114: [2, 154]
}, {
52: [2, 155],
113: [2, 155],
114: [2, 155]
}, {
1: [2, 150],
6: [2, 150],
25: [2, 150],
26: [2, 150],
47: [2, 150],
52: [2, 150],
55: [2, 150],
70: [2, 150],
75: [2, 150],
83: [2, 150],
88: [2, 150],
90: [2, 150],
99: [2, 150],
101: [2, 150],
102: [2, 150],
103: [2, 150],
107: [2, 150],
115: [2, 150],
123: [2, 150],
125: [2, 150],
126: [2, 150],
129: [2, 150],
130: [2, 150],
131: [2, 150],
132: [2, 150],
133: [2, 150],
134: [2, 150]
}, {
8: 229,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 230,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
6: [2, 51],
25: [2, 51],
51: 231,
52: [1, 232],
75: [2, 51]
}, {
6: [2, 87],
25: [2, 87],
26: [2, 87],
52: [2, 87],
75: [2, 87]
}, {
6: [2, 37],
25: [2, 37],
26: [2, 37],
41: [1, 233],
52: [2, 37],
75: [2, 37]
}, {
6: [2, 40],
25: [2, 40],
26: [2, 40],
52: [2, 40],
75: [2, 40]
}, {
6: [2, 41],
25: [2, 41],
26: [2, 41],
41: [2, 41],
52: [2, 41],
75: [2, 41]
}, {
6: [2, 42],
25: [2, 42],
26: [2, 42],
41: [2, 42],
52: [2, 42],
75: [2, 42]
}, {
6: [2, 43],
25: [2, 43],
26: [2, 43],
41: [2, 43],
52: [2, 43],
75: [2, 43]
}, {
1: [2, 5],
6: [2, 5],
26: [2, 5],
99: [2, 5]
}, {
1: [2, 25],
6: [2, 25],
25: [2, 25],
26: [2, 25],
47: [2, 25],
52: [2, 25],
55: [2, 25],
70: [2, 25],
75: [2, 25],
83: [2, 25],
88: [2, 25],
90: [2, 25],
95: [2, 25],
96: [2, 25],
99: [2, 25],
101: [2, 25],
102: [2, 25],
103: [2, 25],
107: [2, 25],
115: [2, 25],
118: [2, 25],
120: [2, 25],
123: [2, 25],
125: [2, 25],
126: [2, 25],
129: [2, 25],
130: [2, 25],
131: [2, 25],
132: [2, 25],
133: [2, 25],
134: [2, 25]
}, {
1: [2, 187],
6: [2, 187],
25: [2, 187],
26: [2, 187],
47: [2, 187],
52: [2, 187],
55: [2, 187],
70: [2, 187],
75: [2, 187],
83: [2, 187],
88: [2, 187],
90: [2, 187],
99: [2, 187],
100: 85,
101: [2, 187],
102: [2, 187],
103: [2, 187],
106: 86,
107: [2, 187],
108: 67,
115: [2, 187],
123: [2, 187],
125: [2, 187],
126: [2, 187],
129: [1, 76],
130: [1, 79],
131: [2, 187],
132: [2, 187],
133: [2, 187],
134: [2, 187]
}, {
1: [2, 188],
6: [2, 188],
25: [2, 188],
26: [2, 188],
47: [2, 188],
52: [2, 188],
55: [2, 188],
70: [2, 188],
75: [2, 188],
83: [2, 188],
88: [2, 188],
90: [2, 188],
99: [2, 188],
100: 85,
101: [2, 188],
102: [2, 188],
103: [2, 188],
106: 86,
107: [2, 188],
108: 67,
115: [2, 188],
123: [2, 188],
125: [2, 188],
126: [2, 188],
129: [1, 76],
130: [1, 79],
131: [2, 188],
132: [2, 188],
133: [2, 188],
134: [2, 188]
}, {
1: [2, 189],
6: [2, 189],
25: [2, 189],
26: [2, 189],
47: [2, 189],
52: [2, 189],
55: [2, 189],
70: [2, 189],
75: [2, 189],
83: [2, 189],
88: [2, 189],
90: [2, 189],
99: [2, 189],
100: 85,
101: [2, 189],
102: [2, 189],
103: [2, 189],
106: 86,
107: [2, 189],
108: 67,
115: [2, 189],
123: [2, 189],
125: [2, 189],
126: [2, 189],
129: [1, 76],
130: [2, 189],
131: [2, 189],
132: [2, 189],
133: [2, 189],
134: [2, 189]
}, {
1: [2, 190],
6: [2, 190],
25: [2, 190],
26: [2, 190],
47: [2, 190],
52: [2, 190],
55: [2, 190],
70: [2, 190],
75: [2, 190],
83: [2, 190],
88: [2, 190],
90: [2, 190],
99: [2, 190],
100: 85,
101: [2, 190],
102: [2, 190],
103: [2, 190],
106: 86,
107: [2, 190],
108: 67,
115: [2, 190],
123: [2, 190],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [2, 190],
132: [2, 190],
133: [2, 190],
134: [2, 190]
}, {
1: [2, 191],
6: [2, 191],
25: [2, 191],
26: [2, 191],
47: [2, 191],
52: [2, 191],
55: [2, 191],
70: [2, 191],
75: [2, 191],
83: [2, 191],
88: [2, 191],
90: [2, 191],
99: [2, 191],
100: 85,
101: [2, 191],
102: [2, 191],
103: [2, 191],
106: 86,
107: [2, 191],
108: 67,
115: [2, 191],
123: [2, 191],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [2, 191],
133: [2, 191],
134: [1, 83]
}, {
1: [2, 192],
6: [2, 192],
25: [2, 192],
26: [2, 192],
47: [2, 192],
52: [2, 192],
55: [2, 192],
70: [2, 192],
75: [2, 192],
83: [2, 192],
88: [2, 192],
90: [2, 192],
99: [2, 192],
100: 85,
101: [2, 192],
102: [2, 192],
103: [2, 192],
106: 86,
107: [2, 192],
108: 67,
115: [2, 192],
123: [2, 192],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [2, 192],
134: [1, 83]
}, {
1: [2, 193],
6: [2, 193],
25: [2, 193],
26: [2, 193],
47: [2, 193],
52: [2, 193],
55: [2, 193],
70: [2, 193],
75: [2, 193],
83: [2, 193],
88: [2, 193],
90: [2, 193],
99: [2, 193],
100: 85,
101: [2, 193],
102: [2, 193],
103: [2, 193],
106: 86,
107: [2, 193],
108: 67,
115: [2, 193],
123: [2, 193],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [2, 193],
133: [2, 193],
134: [2, 193]
}, {
1: [2, 178],
6: [2, 178],
25: [2, 178],
26: [2, 178],
47: [2, 178],
52: [2, 178],
55: [2, 178],
70: [2, 178],
75: [2, 178],
83: [2, 178],
88: [2, 178],
90: [2, 178],
99: [2, 178],
100: 85,
101: [1, 63],
102: [2, 178],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
115: [2, 178],
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 177],
6: [2, 177],
25: [2, 177],
26: [2, 177],
47: [2, 177],
52: [2, 177],
55: [2, 177],
70: [2, 177],
75: [2, 177],
83: [2, 177],
88: [2, 177],
90: [2, 177],
99: [2, 177],
100: 85,
101: [1, 63],
102: [2, 177],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
115: [2, 177],
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 99],
6: [2, 99],
25: [2, 99],
26: [2, 99],
47: [2, 99],
52: [2, 99],
55: [2, 99],
64: [2, 99],
65: [2, 99],
66: [2, 99],
68: [2, 99],
70: [2, 99],
71: [2, 99],
75: [2, 99],
81: [2, 99],
82: [2, 99],
83: [2, 99],
88: [2, 99],
90: [2, 99],
99: [2, 99],
101: [2, 99],
102: [2, 99],
103: [2, 99],
107: [2, 99],
115: [2, 99],
123: [2, 99],
125: [2, 99],
126: [2, 99],
129: [2, 99],
130: [2, 99],
131: [2, 99],
132: [2, 99],
133: [2, 99],
134: [2, 99]
}, {
1: [2, 76],
6: [2, 76],
25: [2, 76],
26: [2, 76],
38: [2, 76],
47: [2, 76],
52: [2, 76],
55: [2, 76],
64: [2, 76],
65: [2, 76],
66: [2, 76],
68: [2, 76],
70: [2, 76],
71: [2, 76],
75: [2, 76],
77: [2, 76],
81: [2, 76],
82: [2, 76],
83: [2, 76],
88: [2, 76],
90: [2, 76],
99: [2, 76],
101: [2, 76],
102: [2, 76],
103: [2, 76],
107: [2, 76],
115: [2, 76],
123: [2, 76],
125: [2, 76],
126: [2, 76],
127: [2, 76],
128: [2, 76],
129: [2, 76],
130: [2, 76],
131: [2, 76],
132: [2, 76],
133: [2, 76],
134: [2, 76],
135: [2, 76]
}, {
1: [2, 77],
6: [2, 77],
25: [2, 77],
26: [2, 77],
38: [2, 77],
47: [2, 77],
52: [2, 77],
55: [2, 77],
64: [2, 77],
65: [2, 77],
66: [2, 77],
68: [2, 77],
70: [2, 77],
71: [2, 77],
75: [2, 77],
77: [2, 77],
81: [2, 77],
82: [2, 77],
83: [2, 77],
88: [2, 77],
90: [2, 77],
99: [2, 77],
101: [2, 77],
102: [2, 77],
103: [2, 77],
107: [2, 77],
115: [2, 77],
123: [2, 77],
125: [2, 77],
126: [2, 77],
127: [2, 77],
128: [2, 77],
129: [2, 77],
130: [2, 77],
131: [2, 77],
132: [2, 77],
133: [2, 77],
134: [2, 77],
135: [2, 77]
}, {
1: [2, 78],
6: [2, 78],
25: [2, 78],
26: [2, 78],
38: [2, 78],
47: [2, 78],
52: [2, 78],
55: [2, 78],
64: [2, 78],
65: [2, 78],
66: [2, 78],
68: [2, 78],
70: [2, 78],
71: [2, 78],
75: [2, 78],
77: [2, 78],
81: [2, 78],
82: [2, 78],
83: [2, 78],
88: [2, 78],
90: [2, 78],
99: [2, 78],
101: [2, 78],
102: [2, 78],
103: [2, 78],
107: [2, 78],
115: [2, 78],
123: [2, 78],
125: [2, 78],
126: [2, 78],
127: [2, 78],
128: [2, 78],
129: [2, 78],
130: [2, 78],
131: [2, 78],
132: [2, 78],
133: [2, 78],
134: [2, 78],
135: [2, 78]
}, {
70: [1, 234]
}, {
55: [1, 189],
70: [2, 83],
89: 235,
90: [1, 188],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
70: [2, 84]
}, {
8: 236,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
70: [2, 118],
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
12: [2, 112],
28: [2, 112],
30: [2, 112],
31: [2, 112],
33: [2, 112],
34: [2, 112],
35: [2, 112],
36: [2, 112],
43: [2, 112],
44: [2, 112],
45: [2, 112],
49: [2, 112],
50: [2, 112],
70: [2, 112],
73: [2, 112],
76: [2, 112],
80: [2, 112],
85: [2, 112],
86: [2, 112],
87: [2, 112],
93: [2, 112],
97: [2, 112],
98: [2, 112],
101: [2, 112],
103: [2, 112],
105: [2, 112],
107: [2, 112],
116: [2, 112],
122: [2, 112],
124: [2, 112],
125: [2, 112],
126: [2, 112],
127: [2, 112],
128: [2, 112]
}, {
12: [2, 113],
28: [2, 113],
30: [2, 113],
31: [2, 113],
33: [2, 113],
34: [2, 113],
35: [2, 113],
36: [2, 113],
43: [2, 113],
44: [2, 113],
45: [2, 113],
49: [2, 113],
50: [2, 113],
70: [2, 113],
73: [2, 113],
76: [2, 113],
80: [2, 113],
85: [2, 113],
86: [2, 113],
87: [2, 113],
93: [2, 113],
97: [2, 113],
98: [2, 113],
101: [2, 113],
103: [2, 113],
105: [2, 113],
107: [2, 113],
116: [2, 113],
122: [2, 113],
124: [2, 113],
125: [2, 113],
126: [2, 113],
127: [2, 113],
128: [2, 113]
}, {
1: [2, 82],
6: [2, 82],
25: [2, 82],
26: [2, 82],
38: [2, 82],
47: [2, 82],
52: [2, 82],
55: [2, 82],
64: [2, 82],
65: [2, 82],
66: [2, 82],
68: [2, 82],
70: [2, 82],
71: [2, 82],
75: [2, 82],
77: [2, 82],
81: [2, 82],
82: [2, 82],
83: [2, 82],
88: [2, 82],
90: [2, 82],
99: [2, 82],
101: [2, 82],
102: [2, 82],
103: [2, 82],
107: [2, 82],
115: [2, 82],
123: [2, 82],
125: [2, 82],
126: [2, 82],
127: [2, 82],
128: [2, 82],
129: [2, 82],
130: [2, 82],
131: [2, 82],
132: [2, 82],
133: [2, 82],
134: [2, 82],
135: [2, 82]
}, {
1: [2, 100],
6: [2, 100],
25: [2, 100],
26: [2, 100],
47: [2, 100],
52: [2, 100],
55: [2, 100],
64: [2, 100],
65: [2, 100],
66: [2, 100],
68: [2, 100],
70: [2, 100],
71: [2, 100],
75: [2, 100],
81: [2, 100],
82: [2, 100],
83: [2, 100],
88: [2, 100],
90: [2, 100],
99: [2, 100],
101: [2, 100],
102: [2, 100],
103: [2, 100],
107: [2, 100],
115: [2, 100],
123: [2, 100],
125: [2, 100],
126: [2, 100],
129: [2, 100],
130: [2, 100],
131: [2, 100],
132: [2, 100],
133: [2, 100],
134: [2, 100]
}, {
1: [2, 34],
6: [2, 34],
25: [2, 34],
26: [2, 34],
47: [2, 34],
52: [2, 34],
55: [2, 34],
70: [2, 34],
75: [2, 34],
83: [2, 34],
88: [2, 34],
90: [2, 34],
99: [2, 34],
100: 85,
101: [2, 34],
102: [2, 34],
103: [2, 34],
106: 86,
107: [2, 34],
108: 67,
115: [2, 34],
123: [2, 34],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
8: 237,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 238,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 105],
6: [2, 105],
25: [2, 105],
26: [2, 105],
47: [2, 105],
52: [2, 105],
55: [2, 105],
64: [2, 105],
65: [2, 105],
66: [2, 105],
68: [2, 105],
70: [2, 105],
71: [2, 105],
75: [2, 105],
81: [2, 105],
82: [2, 105],
83: [2, 105],
88: [2, 105],
90: [2, 105],
99: [2, 105],
101: [2, 105],
102: [2, 105],
103: [2, 105],
107: [2, 105],
115: [2, 105],
123: [2, 105],
125: [2, 105],
126: [2, 105],
129: [2, 105],
130: [2, 105],
131: [2, 105],
132: [2, 105],
133: [2, 105],
134: [2, 105]
}, {
6: [2, 51],
25: [2, 51],
51: 239,
52: [1, 222],
83: [2, 51]
}, {
6: [2, 124],
25: [2, 124],
26: [2, 124],
52: [2, 124],
55: [1, 240],
83: [2, 124],
88: [2, 124],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
48: 241,
49: [1, 58],
50: [1, 59]
}, {
27: 107,
28: [1, 71],
42: 108,
53: 242,
54: 106,
56: 109,
57: 110,
73: [1, 68],
86: [1, 111],
87: [1, 112]
}, {
47: [2, 57],
52: [2, 57]
}, {
8: 243,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 194],
6: [2, 194],
25: [2, 194],
26: [2, 194],
47: [2, 194],
52: [2, 194],
55: [2, 194],
70: [2, 194],
75: [2, 194],
83: [2, 194],
88: [2, 194],
90: [2, 194],
99: [2, 194],
100: 85,
101: [2, 194],
102: [2, 194],
103: [2, 194],
106: 86,
107: [2, 194],
108: 67,
115: [2, 194],
123: [2, 194],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
8: 244,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 196],
6: [2, 196],
25: [2, 196],
26: [2, 196],
47: [2, 196],
52: [2, 196],
55: [2, 196],
70: [2, 196],
75: [2, 196],
83: [2, 196],
88: [2, 196],
90: [2, 196],
99: [2, 196],
100: 85,
101: [2, 196],
102: [2, 196],
103: [2, 196],
106: 86,
107: [2, 196],
108: 67,
115: [2, 196],
123: [2, 196],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 176],
6: [2, 176],
25: [2, 176],
26: [2, 176],
47: [2, 176],
52: [2, 176],
55: [2, 176],
70: [2, 176],
75: [2, 176],
83: [2, 176],
88: [2, 176],
90: [2, 176],
99: [2, 176],
101: [2, 176],
102: [2, 176],
103: [2, 176],
107: [2, 176],
115: [2, 176],
123: [2, 176],
125: [2, 176],
126: [2, 176],
129: [2, 176],
130: [2, 176],
131: [2, 176],
132: [2, 176],
133: [2, 176],
134: [2, 176]
}, {
8: 245,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 129],
6: [2, 129],
25: [2, 129],
26: [2, 129],
47: [2, 129],
52: [2, 129],
55: [2, 129],
70: [2, 129],
75: [2, 129],
83: [2, 129],
88: [2, 129],
90: [2, 129],
95: [1, 246],
99: [2, 129],
101: [2, 129],
102: [2, 129],
103: [2, 129],
107: [2, 129],
115: [2, 129],
123: [2, 129],
125: [2, 129],
126: [2, 129],
129: [2, 129],
130: [2, 129],
131: [2, 129],
132: [2, 129],
133: [2, 129],
134: [2, 129]
}, {
5: 247,
25: [1, 5]
}, {
27: 248,
28: [1, 71]
}, {
117: 249,
119: 212,
120: [1, 213]
}, {
26: [1, 250],
118: [1, 251],
119: 252,
120: [1, 213]
}, {
26: [2, 169],
118: [2, 169],
120: [2, 169]
}, {
8: 254,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
92: 253,
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 93],
5: 255,
6: [2, 93],
25: [1, 5],
26: [2, 93],
47: [2, 93],
52: [2, 93],
55: [2, 93],
70: [2, 93],
75: [2, 93],
83: [2, 93],
88: [2, 93],
90: [2, 93],
99: [2, 93],
100: 85,
101: [1, 63],
102: [2, 93],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
115: [2, 93],
123: [2, 93],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 96],
6: [2, 96],
25: [2, 96],
26: [2, 96],
47: [2, 96],
52: [2, 96],
55: [2, 96],
70: [2, 96],
75: [2, 96],
83: [2, 96],
88: [2, 96],
90: [2, 96],
99: [2, 96],
101: [2, 96],
102: [2, 96],
103: [2, 96],
107: [2, 96],
115: [2, 96],
123: [2, 96],
125: [2, 96],
126: [2, 96],
129: [2, 96],
130: [2, 96],
131: [2, 96],
132: [2, 96],
133: [2, 96],
134: [2, 96]
}, {
8: 256,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 134],
6: [2, 134],
25: [2, 134],
26: [2, 134],
47: [2, 134],
52: [2, 134],
55: [2, 134],
64: [2, 134],
65: [2, 134],
66: [2, 134],
68: [2, 134],
70: [2, 134],
71: [2, 134],
75: [2, 134],
81: [2, 134],
82: [2, 134],
83: [2, 134],
88: [2, 134],
90: [2, 134],
99: [2, 134],
101: [2, 134],
102: [2, 134],
103: [2, 134],
107: [2, 134],
115: [2, 134],
123: [2, 134],
125: [2, 134],
126: [2, 134],
129: [2, 134],
130: [2, 134],
131: [2, 134],
132: [2, 134],
133: [2, 134],
134: [2, 134]
}, {
6: [1, 72],
26: [1, 257]
}, {
8: 258,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
6: [2, 63],
12: [2, 113],
25: [2, 63],
28: [2, 113],
30: [2, 113],
31: [2, 113],
33: [2, 113],
34: [2, 113],
35: [2, 113],
36: [2, 113],
43: [2, 113],
44: [2, 113],
45: [2, 113],
49: [2, 113],
50: [2, 113],
52: [2, 63],
73: [2, 113],
76: [2, 113],
80: [2, 113],
85: [2, 113],
86: [2, 113],
87: [2, 113],
88: [2, 63],
93: [2, 113],
97: [2, 113],
98: [2, 113],
101: [2, 113],
103: [2, 113],
105: [2, 113],
107: [2, 113],
116: [2, 113],
122: [2, 113],
124: [2, 113],
125: [2, 113],
126: [2, 113],
127: [2, 113],
128: [2, 113]
}, {
6: [1, 260],
25: [1, 261],
88: [1, 259]
}, {
6: [2, 52],
8: 197,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [2, 52],
26: [2, 52],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
58: 145,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
83: [2, 52],
85: [1, 56],
86: [1, 57],
87: [1, 55],
88: [2, 52],
91: 262,
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
6: [2, 51],
25: [2, 51],
26: [2, 51],
51: 263,
52: [1, 222]
}, {
1: [2, 173],
6: [2, 173],
25: [2, 173],
26: [2, 173],
47: [2, 173],
52: [2, 173],
55: [2, 173],
70: [2, 173],
75: [2, 173],
83: [2, 173],
88: [2, 173],
90: [2, 173],
99: [2, 173],
101: [2, 173],
102: [2, 173],
103: [2, 173],
107: [2, 173],
115: [2, 173],
118: [2, 173],
123: [2, 173],
125: [2, 173],
126: [2, 173],
129: [2, 173],
130: [2, 173],
131: [2, 173],
132: [2, 173],
133: [2, 173],
134: [2, 173]
}, {
8: 264,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 265,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
113: [2, 152],
114: [2, 152]
}, {
27: 156,
28: [1, 71],
56: 157,
57: 158,
73: [1, 68],
87: [1, 112],
112: 266
}, {
1: [2, 158],
6: [2, 158],
25: [2, 158],
26: [2, 158],
47: [2, 158],
52: [2, 158],
55: [2, 158],
70: [2, 158],
75: [2, 158],
83: [2, 158],
88: [2, 158],
90: [2, 158],
99: [2, 158],
100: 85,
101: [2, 158],
102: [1, 267],
103: [2, 158],
106: 86,
107: [2, 158],
108: 67,
115: [1, 268],
123: [2, 158],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 159],
6: [2, 159],
25: [2, 159],
26: [2, 159],
47: [2, 159],
52: [2, 159],
55: [2, 159],
70: [2, 159],
75: [2, 159],
83: [2, 159],
88: [2, 159],
90: [2, 159],
99: [2, 159],
100: 85,
101: [2, 159],
102: [1, 269],
103: [2, 159],
106: 86,
107: [2, 159],
108: 67,
115: [2, 159],
123: [2, 159],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
6: [1, 271],
25: [1, 272],
75: [1, 270]
}, {
6: [2, 52],
11: 165,
25: [2, 52],
26: [2, 52],
27: 166,
28: [1, 71],
29: 167,
30: [1, 69],
31: [1, 70],
39: 273,
40: 164,
42: 168,
44: [1, 46],
75: [2, 52],
86: [1, 111]
}, {
8: 274,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 275],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 81],
6: [2, 81],
25: [2, 81],
26: [2, 81],
38: [2, 81],
47: [2, 81],
52: [2, 81],
55: [2, 81],
64: [2, 81],
65: [2, 81],
66: [2, 81],
68: [2, 81],
70: [2, 81],
71: [2, 81],
75: [2, 81],
77: [2, 81],
81: [2, 81],
82: [2, 81],
83: [2, 81],
88: [2, 81],
90: [2, 81],
99: [2, 81],
101: [2, 81],
102: [2, 81],
103: [2, 81],
107: [2, 81],
115: [2, 81],
123: [2, 81],
125: [2, 81],
126: [2, 81],
127: [2, 81],
128: [2, 81],
129: [2, 81],
130: [2, 81],
131: [2, 81],
132: [2, 81],
133: [2, 81],
134: [2, 81],
135: [2, 81]
}, {
8: 276,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
70: [2, 116],
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
70: [2, 117],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 35],
6: [2, 35],
25: [2, 35],
26: [2, 35],
47: [2, 35],
52: [2, 35],
55: [2, 35],
70: [2, 35],
75: [2, 35],
83: [2, 35],
88: [2, 35],
90: [2, 35],
99: [2, 35],
100: 85,
101: [2, 35],
102: [2, 35],
103: [2, 35],
106: 86,
107: [2, 35],
108: 67,
115: [2, 35],
123: [2, 35],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
26: [1, 277],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
6: [1, 260],
25: [1, 261],
83: [1, 278]
}, {
6: [2, 63],
25: [2, 63],
26: [2, 63],
52: [2, 63],
83: [2, 63],
88: [2, 63]
}, {
5: 279,
25: [1, 5]
}, {
47: [2, 55],
52: [2, 55]
}, {
47: [2, 58],
52: [2, 58],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
26: [1, 280],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
5: 281,
25: [1, 5],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
5: 282,
25: [1, 5]
}, {
1: [2, 130],
6: [2, 130],
25: [2, 130],
26: [2, 130],
47: [2, 130],
52: [2, 130],
55: [2, 130],
70: [2, 130],
75: [2, 130],
83: [2, 130],
88: [2, 130],
90: [2, 130],
99: [2, 130],
101: [2, 130],
102: [2, 130],
103: [2, 130],
107: [2, 130],
115: [2, 130],
123: [2, 130],
125: [2, 130],
126: [2, 130],
129: [2, 130],
130: [2, 130],
131: [2, 130],
132: [2, 130],
133: [2, 130],
134: [2, 130]
}, {
5: 283,
25: [1, 5]
}, {
26: [1, 284],
118: [1, 285],
119: 252,
120: [1, 213]
}, {
1: [2, 167],
6: [2, 167],
25: [2, 167],
26: [2, 167],
47: [2, 167],
52: [2, 167],
55: [2, 167],
70: [2, 167],
75: [2, 167],
83: [2, 167],
88: [2, 167],
90: [2, 167],
99: [2, 167],
101: [2, 167],
102: [2, 167],
103: [2, 167],
107: [2, 167],
115: [2, 167],
123: [2, 167],
125: [2, 167],
126: [2, 167],
129: [2, 167],
130: [2, 167],
131: [2, 167],
132: [2, 167],
133: [2, 167],
134: [2, 167]
}, {
5: 286,
25: [1, 5]
}, {
26: [2, 170],
118: [2, 170],
120: [2, 170]
}, {
5: 287,
25: [1, 5],
52: [1, 288]
}, {
25: [2, 126],
52: [2, 126],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 94],
6: [2, 94],
25: [2, 94],
26: [2, 94],
47: [2, 94],
52: [2, 94],
55: [2, 94],
70: [2, 94],
75: [2, 94],
83: [2, 94],
88: [2, 94],
90: [2, 94],
99: [2, 94],
101: [2, 94],
102: [2, 94],
103: [2, 94],
107: [2, 94],
115: [2, 94],
123: [2, 94],
125: [2, 94],
126: [2, 94],
129: [2, 94],
130: [2, 94],
131: [2, 94],
132: [2, 94],
133: [2, 94],
134: [2, 94]
}, {
1: [2, 97],
5: 289,
6: [2, 97],
25: [1, 5],
26: [2, 97],
47: [2, 97],
52: [2, 97],
55: [2, 97],
70: [2, 97],
75: [2, 97],
83: [2, 97],
88: [2, 97],
90: [2, 97],
99: [2, 97],
100: 85,
101: [1, 63],
102: [2, 97],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
115: [2, 97],
123: [2, 97],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
99: [1, 290]
}, {
88: [1, 291],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 111],
6: [2, 111],
25: [2, 111],
26: [2, 111],
38: [2, 111],
47: [2, 111],
52: [2, 111],
55: [2, 111],
64: [2, 111],
65: [2, 111],
66: [2, 111],
68: [2, 111],
70: [2, 111],
71: [2, 111],
75: [2, 111],
81: [2, 111],
82: [2, 111],
83: [2, 111],
88: [2, 111],
90: [2, 111],
99: [2, 111],
101: [2, 111],
102: [2, 111],
103: [2, 111],
107: [2, 111],
113: [2, 111],
114: [2, 111],
115: [2, 111],
123: [2, 111],
125: [2, 111],
126: [2, 111],
129: [2, 111],
130: [2, 111],
131: [2, 111],
132: [2, 111],
133: [2, 111],
134: [2, 111]
}, {
8: 197,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
58: 145,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
91: 292,
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 197,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
25: [1, 144],
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
58: 145,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
84: 293,
85: [1, 56],
86: [1, 57],
87: [1, 55],
91: 143,
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
6: [2, 120],
25: [2, 120],
26: [2, 120],
52: [2, 120],
83: [2, 120],
88: [2, 120]
}, {
6: [1, 260],
25: [1, 261],
26: [1, 294]
}, {
1: [2, 137],
6: [2, 137],
25: [2, 137],
26: [2, 137],
47: [2, 137],
52: [2, 137],
55: [2, 137],
70: [2, 137],
75: [2, 137],
83: [2, 137],
88: [2, 137],
90: [2, 137],
99: [2, 137],
100: 85,
101: [1, 63],
102: [2, 137],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
115: [2, 137],
123: [2, 137],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 139],
6: [2, 139],
25: [2, 139],
26: [2, 139],
47: [2, 139],
52: [2, 139],
55: [2, 139],
70: [2, 139],
75: [2, 139],
83: [2, 139],
88: [2, 139],
90: [2, 139],
99: [2, 139],
100: 85,
101: [1, 63],
102: [2, 139],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
115: [2, 139],
123: [2, 139],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
113: [2, 157],
114: [2, 157]
}, {
8: 295,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 296,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 297,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 85],
6: [2, 85],
25: [2, 85],
26: [2, 85],
38: [2, 85],
47: [2, 85],
52: [2, 85],
55: [2, 85],
64: [2, 85],
65: [2, 85],
66: [2, 85],
68: [2, 85],
70: [2, 85],
71: [2, 85],
75: [2, 85],
81: [2, 85],
82: [2, 85],
83: [2, 85],
88: [2, 85],
90: [2, 85],
99: [2, 85],
101: [2, 85],
102: [2, 85],
103: [2, 85],
107: [2, 85],
113: [2, 85],
114: [2, 85],
115: [2, 85],
123: [2, 85],
125: [2, 85],
126: [2, 85],
129: [2, 85],
130: [2, 85],
131: [2, 85],
132: [2, 85],
133: [2, 85],
134: [2, 85]
}, {
11: 165,
27: 166,
28: [1, 71],
29: 167,
30: [1, 69],
31: [1, 70],
39: 298,
40: 164,
42: 168,
44: [1, 46],
86: [1, 111]
}, {
6: [2, 86],
11: 165,
25: [2, 86],
26: [2, 86],
27: 166,
28: [1, 71],
29: 167,
30: [1, 69],
31: [1, 70],
39: 163,
40: 164,
42: 168,
44: [1, 46],
52: [2, 86],
74: 299,
86: [1, 111]
}, {
6: [2, 88],
25: [2, 88],
26: [2, 88],
52: [2, 88],
75: [2, 88]
}, {
6: [2, 38],
25: [2, 38],
26: [2, 38],
52: [2, 38],
75: [2, 38],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
8: 300,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
70: [2, 115],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 36],
6: [2, 36],
25: [2, 36],
26: [2, 36],
47: [2, 36],
52: [2, 36],
55: [2, 36],
70: [2, 36],
75: [2, 36],
83: [2, 36],
88: [2, 36],
90: [2, 36],
99: [2, 36],
101: [2, 36],
102: [2, 36],
103: [2, 36],
107: [2, 36],
115: [2, 36],
123: [2, 36],
125: [2, 36],
126: [2, 36],
129: [2, 36],
130: [2, 36],
131: [2, 36],
132: [2, 36],
133: [2, 36],
134: [2, 36]
}, {
1: [2, 106],
6: [2, 106],
25: [2, 106],
26: [2, 106],
47: [2, 106],
52: [2, 106],
55: [2, 106],
64: [2, 106],
65: [2, 106],
66: [2, 106],
68: [2, 106],
70: [2, 106],
71: [2, 106],
75: [2, 106],
81: [2, 106],
82: [2, 106],
83: [2, 106],
88: [2, 106],
90: [2, 106],
99: [2, 106],
101: [2, 106],
102: [2, 106],
103: [2, 106],
107: [2, 106],
115: [2, 106],
123: [2, 106],
125: [2, 106],
126: [2, 106],
129: [2, 106],
130: [2, 106],
131: [2, 106],
132: [2, 106],
133: [2, 106],
134: [2, 106]
}, {
1: [2, 47],
6: [2, 47],
25: [2, 47],
26: [2, 47],
47: [2, 47],
52: [2, 47],
55: [2, 47],
70: [2, 47],
75: [2, 47],
83: [2, 47],
88: [2, 47],
90: [2, 47],
99: [2, 47],
101: [2, 47],
102: [2, 47],
103: [2, 47],
107: [2, 47],
115: [2, 47],
123: [2, 47],
125: [2, 47],
126: [2, 47],
129: [2, 47],
130: [2, 47],
131: [2, 47],
132: [2, 47],
133: [2, 47],
134: [2, 47]
}, {
1: [2, 195],
6: [2, 195],
25: [2, 195],
26: [2, 195],
47: [2, 195],
52: [2, 195],
55: [2, 195],
70: [2, 195],
75: [2, 195],
83: [2, 195],
88: [2, 195],
90: [2, 195],
99: [2, 195],
101: [2, 195],
102: [2, 195],
103: [2, 195],
107: [2, 195],
115: [2, 195],
123: [2, 195],
125: [2, 195],
126: [2, 195],
129: [2, 195],
130: [2, 195],
131: [2, 195],
132: [2, 195],
133: [2, 195],
134: [2, 195]
}, {
1: [2, 174],
6: [2, 174],
25: [2, 174],
26: [2, 174],
47: [2, 174],
52: [2, 174],
55: [2, 174],
70: [2, 174],
75: [2, 174],
83: [2, 174],
88: [2, 174],
90: [2, 174],
99: [2, 174],
101: [2, 174],
102: [2, 174],
103: [2, 174],
107: [2, 174],
115: [2, 174],
118: [2, 174],
123: [2, 174],
125: [2, 174],
126: [2, 174],
129: [2, 174],
130: [2, 174],
131: [2, 174],
132: [2, 174],
133: [2, 174],
134: [2, 174]
}, {
1: [2, 131],
6: [2, 131],
25: [2, 131],
26: [2, 131],
47: [2, 131],
52: [2, 131],
55: [2, 131],
70: [2, 131],
75: [2, 131],
83: [2, 131],
88: [2, 131],
90: [2, 131],
99: [2, 131],
101: [2, 131],
102: [2, 131],
103: [2, 131],
107: [2, 131],
115: [2, 131],
123: [2, 131],
125: [2, 131],
126: [2, 131],
129: [2, 131],
130: [2, 131],
131: [2, 131],
132: [2, 131],
133: [2, 131],
134: [2, 131]
}, {
1: [2, 132],
6: [2, 132],
25: [2, 132],
26: [2, 132],
47: [2, 132],
52: [2, 132],
55: [2, 132],
70: [2, 132],
75: [2, 132],
83: [2, 132],
88: [2, 132],
90: [2, 132],
95: [2, 132],
99: [2, 132],
101: [2, 132],
102: [2, 132],
103: [2, 132],
107: [2, 132],
115: [2, 132],
123: [2, 132],
125: [2, 132],
126: [2, 132],
129: [2, 132],
130: [2, 132],
131: [2, 132],
132: [2, 132],
133: [2, 132],
134: [2, 132]
}, {
1: [2, 165],
6: [2, 165],
25: [2, 165],
26: [2, 165],
47: [2, 165],
52: [2, 165],
55: [2, 165],
70: [2, 165],
75: [2, 165],
83: [2, 165],
88: [2, 165],
90: [2, 165],
99: [2, 165],
101: [2, 165],
102: [2, 165],
103: [2, 165],
107: [2, 165],
115: [2, 165],
123: [2, 165],
125: [2, 165],
126: [2, 165],
129: [2, 165],
130: [2, 165],
131: [2, 165],
132: [2, 165],
133: [2, 165],
134: [2, 165]
}, {
5: 301,
25: [1, 5]
}, {
26: [1, 302]
}, {
6: [1, 303],
26: [2, 171],
118: [2, 171],
120: [2, 171]
}, {
8: 304,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
1: [2, 98],
6: [2, 98],
25: [2, 98],
26: [2, 98],
47: [2, 98],
52: [2, 98],
55: [2, 98],
70: [2, 98],
75: [2, 98],
83: [2, 98],
88: [2, 98],
90: [2, 98],
99: [2, 98],
101: [2, 98],
102: [2, 98],
103: [2, 98],
107: [2, 98],
115: [2, 98],
123: [2, 98],
125: [2, 98],
126: [2, 98],
129: [2, 98],
130: [2, 98],
131: [2, 98],
132: [2, 98],
133: [2, 98],
134: [2, 98]
}, {
1: [2, 135],
6: [2, 135],
25: [2, 135],
26: [2, 135],
47: [2, 135],
52: [2, 135],
55: [2, 135],
64: [2, 135],
65: [2, 135],
66: [2, 135],
68: [2, 135],
70: [2, 135],
71: [2, 135],
75: [2, 135],
81: [2, 135],
82: [2, 135],
83: [2, 135],
88: [2, 135],
90: [2, 135],
99: [2, 135],
101: [2, 135],
102: [2, 135],
103: [2, 135],
107: [2, 135],
115: [2, 135],
123: [2, 135],
125: [2, 135],
126: [2, 135],
129: [2, 135],
130: [2, 135],
131: [2, 135],
132: [2, 135],
133: [2, 135],
134: [2, 135]
}, {
1: [2, 114],
6: [2, 114],
25: [2, 114],
26: [2, 114],
47: [2, 114],
52: [2, 114],
55: [2, 114],
64: [2, 114],
65: [2, 114],
66: [2, 114],
68: [2, 114],
70: [2, 114],
71: [2, 114],
75: [2, 114],
81: [2, 114],
82: [2, 114],
83: [2, 114],
88: [2, 114],
90: [2, 114],
99: [2, 114],
101: [2, 114],
102: [2, 114],
103: [2, 114],
107: [2, 114],
115: [2, 114],
123: [2, 114],
125: [2, 114],
126: [2, 114],
129: [2, 114],
130: [2, 114],
131: [2, 114],
132: [2, 114],
133: [2, 114],
134: [2, 114]
}, {
6: [2, 121],
25: [2, 121],
26: [2, 121],
52: [2, 121],
83: [2, 121],
88: [2, 121]
}, {
6: [2, 51],
25: [2, 51],
26: [2, 51],
51: 305,
52: [1, 222]
}, {
6: [2, 122],
25: [2, 122],
26: [2, 122],
52: [2, 122],
83: [2, 122],
88: [2, 122]
}, {
1: [2, 160],
6: [2, 160],
25: [2, 160],
26: [2, 160],
47: [2, 160],
52: [2, 160],
55: [2, 160],
70: [2, 160],
75: [2, 160],
83: [2, 160],
88: [2, 160],
90: [2, 160],
99: [2, 160],
100: 85,
101: [2, 160],
102: [2, 160],
103: [2, 160],
106: 86,
107: [2, 160],
108: 67,
115: [1, 306],
123: [2, 160],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 162],
6: [2, 162],
25: [2, 162],
26: [2, 162],
47: [2, 162],
52: [2, 162],
55: [2, 162],
70: [2, 162],
75: [2, 162],
83: [2, 162],
88: [2, 162],
90: [2, 162],
99: [2, 162],
100: 85,
101: [2, 162],
102: [1, 307],
103: [2, 162],
106: 86,
107: [2, 162],
108: 67,
115: [2, 162],
123: [2, 162],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 161],
6: [2, 161],
25: [2, 161],
26: [2, 161],
47: [2, 161],
52: [2, 161],
55: [2, 161],
70: [2, 161],
75: [2, 161],
83: [2, 161],
88: [2, 161],
90: [2, 161],
99: [2, 161],
100: 85,
101: [2, 161],
102: [2, 161],
103: [2, 161],
106: 86,
107: [2, 161],
108: 67,
115: [2, 161],
123: [2, 161],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
6: [2, 89],
25: [2, 89],
26: [2, 89],
52: [2, 89],
75: [2, 89]
}, {
6: [2, 51],
25: [2, 51],
26: [2, 51],
51: 308,
52: [1, 232]
}, {
26: [1, 309],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
26: [1, 310]
}, {
1: [2, 168],
6: [2, 168],
25: [2, 168],
26: [2, 168],
47: [2, 168],
52: [2, 168],
55: [2, 168],
70: [2, 168],
75: [2, 168],
83: [2, 168],
88: [2, 168],
90: [2, 168],
99: [2, 168],
101: [2, 168],
102: [2, 168],
103: [2, 168],
107: [2, 168],
115: [2, 168],
123: [2, 168],
125: [2, 168],
126: [2, 168],
129: [2, 168],
130: [2, 168],
131: [2, 168],
132: [2, 168],
133: [2, 168],
134: [2, 168]
}, {
26: [2, 172],
118: [2, 172],
120: [2, 172]
}, {
25: [2, 127],
52: [2, 127],
100: 85,
101: [1, 63],
103: [1, 64],
106: 86,
107: [1, 66],
108: 67,
123: [1, 84],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
6: [1, 260],
25: [1, 261],
26: [1, 311]
}, {
8: 312,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
8: 313,
9: 115,
10: 20,
11: 21,
12: [1, 22],
13: 8,
14: 9,
15: 10,
16: 11,
17: 12,
18: 13,
19: 14,
20: 15,
21: 16,
22: 17,
23: 18,
24: 19,
27: 60,
28: [1, 71],
29: 49,
30: [1, 69],
31: [1, 70],
32: 24,
33: [1, 50],
34: [1, 51],
35: [1, 52],
36: [1, 53],
37: 23,
42: 61,
43: [1, 45],
44: [1, 46],
45: [1, 29],
48: 30,
49: [1, 58],
50: [1, 59],
56: 47,
57: 48,
59: 36,
61: 25,
62: 26,
63: 27,
73: [1, 68],
76: [1, 43],
80: [1, 28],
85: [1, 56],
86: [1, 57],
87: [1, 55],
93: [1, 38],
97: [1, 44],
98: [1, 54],
100: 39,
101: [1, 63],
103: [1, 64],
104: 40,
105: [1, 65],
106: 41,
107: [1, 66],
108: 67,
116: [1, 42],
121: 37,
122: [1, 62],
124: [1, 31],
125: [1, 32],
126: [1, 33],
127: [1, 34],
128: [1, 35]
}, {
6: [1, 271],
25: [1, 272],
26: [1, 314]
}, {
6: [2, 39],
25: [2, 39],
26: [2, 39],
52: [2, 39],
75: [2, 39]
}, {
1: [2, 166],
6: [2, 166],
25: [2, 166],
26: [2, 166],
47: [2, 166],
52: [2, 166],
55: [2, 166],
70: [2, 166],
75: [2, 166],
83: [2, 166],
88: [2, 166],
90: [2, 166],
99: [2, 166],
101: [2, 166],
102: [2, 166],
103: [2, 166],
107: [2, 166],
115: [2, 166],
123: [2, 166],
125: [2, 166],
126: [2, 166],
129: [2, 166],
130: [2, 166],
131: [2, 166],
132: [2, 166],
133: [2, 166],
134: [2, 166]
}, {
6: [2, 123],
25: [2, 123],
26: [2, 123],
52: [2, 123],
83: [2, 123],
88: [2, 123]
}, {
1: [2, 163],
6: [2, 163],
25: [2, 163],
26: [2, 163],
47: [2, 163],
52: [2, 163],
55: [2, 163],
70: [2, 163],
75: [2, 163],
83: [2, 163],
88: [2, 163],
90: [2, 163],
99: [2, 163],
100: 85,
101: [2, 163],
102: [2, 163],
103: [2, 163],
106: 86,
107: [2, 163],
108: 67,
115: [2, 163],
123: [2, 163],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
1: [2, 164],
6: [2, 164],
25: [2, 164],
26: [2, 164],
47: [2, 164],
52: [2, 164],
55: [2, 164],
70: [2, 164],
75: [2, 164],
83: [2, 164],
88: [2, 164],
90: [2, 164],
99: [2, 164],
100: 85,
101: [2, 164],
102: [2, 164],
103: [2, 164],
106: 86,
107: [2, 164],
108: 67,
115: [2, 164],
123: [2, 164],
125: [1, 78],
126: [1, 77],
129: [1, 76],
130: [1, 79],
131: [1, 80],
132: [1, 81],
133: [1, 82],
134: [1, 83]
}, {
6: [2, 90],
25: [2, 90],
26: [2, 90],
52: [2, 90],
75: [2, 90]
}],
defaultActions: {
58: [2, 49],
59: [2, 50],
73: [2, 3],
92: [2, 104],
186: [2, 84]
},
parseError: function(b, c) {
throw new Error(b)
},
parse: function(b) {
function p() {
var a;
a = c.lexer.lex() || 1, typeof a != "number" && (a = c.symbols_[a] || a);
return a
}
function o(a) {
d.length = d.length - 2 * a, e.length = e.length - a, f.length = f.length - a
}
var c = this,
d = [0],
e = [null],
f = [],
g = this.table,
h = "",
i = 0,
j = 0,
k = 0,
l = 2,
m = 1;
this.lexer.setInput(b), this.lexer.yy = this.yy, this.yy.lexer = this.lexer, typeof this.lexer.yylloc == "undefined" && (this.lexer.yylloc = {});
var n = this.lexer.yylloc;
f.push(n), typeof this.yy.parseError == "function" && (this.parseError = this.yy.parseError);
var q, r, s, t, u, v, w = {},
x, y, z, A;
for (;;) {
s = d[d.length - 1], this.defaultActions[s] ? t = this.defaultActions[s] : (q == null && (q = p()), t = g[s] && g[s][q]);
if (typeof t == "undefined" || !t.length || !t[0]) if (!k) {
A = [];
for (x in g[s]) this.terminals_[x] && x > 2 && A.push("'" + this.terminals_[x] + "'");
var B = "";
this.lexer.showPosition ? B = "Parse error on line " + (i + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + A.join(", ") + ", got '" + this.terminals_[q] + "'" : B = "Parse error on line " + (i + 1) + ": Unexpected " + (q == 1 ? "end of input" : "'" + (this.terminals_[q] || q) + "'"), this.parseError(B, {
text: this.lexer.match,
token: this.terminals_[q] || q,
line: this.lexer.yylineno,
loc: n,
expected: A
})
}
if (t[0] instanceof Array && t.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + s + ", token: " + q);
switch (t[0]) {
case 1:
d.push(q), e.push(this.lexer.yytext), f.push(this.lexer.yylloc), d.push(t[1]), q = null, r ? (q = r, r = null) : (j = this.lexer.yyleng, h = this.lexer.yytext, i = this.lexer.yylineno, n = this.lexer.yylloc, k > 0 && k--);
break;
case 2:
y = this.productions_[t[1]][1], w.$ = e[e.length - y], w._$ = {
first_line: f[f.length - (y || 1)].first_line,
last_line: f[f.length - 1].last_line,
first_column: f[f.length - (y || 1)].first_column,
last_column: f[f.length - 1].last_column
}, v = this.performAction.call(w, h, j, i, this.yy, t[1], e, f);
if (typeof v != "undefined") return v;
y && (d = d.slice(0, -1 * y * 2), e = e.slice(0, -1 * y), f = f.slice(0, -1 * y)), d.push(this.productions_[t[1]][0]), e.push(w.$), f.push(w._$), z = g[d[d.length - 2]][d[d.length - 1]], d.push(z);
break;
case 3:
return !0
}
}
return !0
}
};
return a
}();
typeof require != "undefined" && typeof a != "undefined" && (a.parser = b, a.parse = function() {
return b.parse.apply(b, arguments)
}, a.main = function(c) {
if (!c[1]) throw new Error("Usage: " + c[0] + " FILE");
if (typeof process != "undefined") var d = require("fs").readFileSync(require("path").join(process.cwd(), c[1]), "utf8");
else var e = require("file").path(require("file").cwd()),
d = e.join(c[1]).read({
charset: "utf-8"
});
return a.parser.parse(d)
}, typeof module != "undefined" && require.main === module && a.main(typeof process != "undefined" ? process.argv.slice(1) : require("system").args))
}, require["./scope"] = new function() {
var a = this;
(function() {
var b, c, d, e;
e = require("./helpers"), c = e.extend, d = e.last, a.Scope = b = function() {
function a(b, c, d) {
this.parent = b, this.expressions = c, this.method = d, this.variables = [{
name: "arguments",
type: "arguments"
}], this.positions = {}, this.parent || (a.root = this)
}
a.name = "Scope", a.root = null, a.prototype.add = function(a, b, c) {
if (this.shared && !c) return this.parent.add(a, b, c);
return Object.prototype.hasOwnProperty.call(this.positions, a) ? this.variables[this.positions[a]].type = b : this.positions[a] = this.variables.push({
name: a,
type: b
}) - 1
}, a.prototype.find = function(a, b) {
if (this.check(a, b)) return !0;
this.add(a, "var");
return !1
}, a.prototype.parameter = function(a) {
if (!this.shared || !this.parent.check(a, !0)) return this.add(a, "param")
}, a.prototype.check = function(a, b) {
var c, d;
c = !! this.type(a);
if (c || b) return c;
return (d = this.parent) != null ? !! d.check(a) : !! void 0
}, a.prototype.temporary = function(a, b) {
return a.length > 1 ? "_" + a + (b > 1 ? b - 1 : "") : "_" + (b + parseInt(a, 36)).toString(36).replace(/\d/g, "a")
}, a.prototype.type = function(a) {
var b, c, d, e;
e = this.variables;
for (c = 0, d = e.length; c < d; c++) {
b = e[c];
if (b.name === a) return b.type
}
return null
}, a.prototype.freeVariable = function(a, b) {
var c, d;
b == null && (b = !0), c = 0;
while (this.check(d = this.temporary(a, c))) c++;
b && this.add(d, "var", !0);
return d
}, a.prototype.assign = function(a, b) {
this.add(a, {
value: b,
assigned: !0
}, !0);
return this.hasAssignments = !0
}, a.prototype.hasDeclarations = function() {
return !!this.declaredVariables().length
}, a.prototype.declaredVariables = function() {
var a, b, c, d, e, f;
a = [], b = [], f = this.variables;
for (d = 0, e = f.length; d < e; d++) c = f[d], c.type === "var" && (c.name.charAt(0) === "_" ? b : a).push(c.name);
return a.sort().concat(b.sort())
}, a.prototype.assignedVariables = function() {
var a, b, c, d, e;
d = this.variables, e = [];
for (b = 0, c = d.length; b < c; b++) a = d[b], a.type.assigned && e.push("" + a.name + " = " + a.type.value);
return e
};
return a
}()
}).call(this)
}, require["./nodes"] = new function() {
var a = this;
(function() {
var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, $, _, ba, bb, bc, bd, be, bf, bg, bh, bi, bj, bk = {}.hasOwnProperty,
bl = function(a, b) {
function d() {
this.constructor = a
}
for (var c in b) bk.call(b, c) && (a[c] = b[c]);
d.prototype = b.prototype, a.prototype = new d, a.__super__ = b.prototype;
return a
},
bm = [].indexOf ||
function(a) {
for (var b = 0, c = this.length; b < c; b++) if (b in this && this[b] === a) return b;
return -1
};
N = require("./scope").Scope, bi = require("./lexer"), I = bi.RESERVED, M = bi.STRICT_PROSCRIBED, bj = require("./helpers"), Z = bj.compact, bb = bj.flatten, ba = bj.extend, bd = bj.merge, $ = bj.del, bf = bj.starts, _ = bj.ends, bc = bj.last, a.extend = ba, Y = function() {
return !0
}, D = function() {
return !1
}, S = function() {
return this
}, C = function() {
this.negated = !this.negated;
return this
}, a.Base = e = function() {
function a() {}
a.name = "Base", a.prototype.compile = function(a, b) {
var c;
a = ba({}, a), b && (a.level = b), c = this.unfoldSoak(a) || this, c.tab = a.indent;
return a.level === z || !c.isStatement(a) ? c.compileNode(a) : c.compileClosure(a)
}, a.prototype.compileClosure = function(a) {
if (this.jumps()) throw SyntaxError("cannot use a pure statement in an expression.");
a.sharedScope = !0;
return i.wrap(this).compileNode(a)
}, a.prototype.cache = function(a, b, c) {
var e, f;
if (!this.isComplex()) {
e = b ? this.compile(a, b) : this;
return [e, e]
}
e = new A(c || a.scope.freeVariable("ref")), f = new d(e, this);
return b ? [f.compile(a, b), e.value] : [f, e]
}, a.prototype.compileLoopReference = function(a, b) {
var c, d;
c = d = this.compile(a, w), -Infinity < +c && +c < Infinity || o.test(c) && a.scope.check(c, !0) || (c = "" + (d = a.scope.freeVariable(b)) + " = " + c);
return [c, d]
}, a.prototype.makeReturn = function(a) {
var b;
b = this.unwrapAll();
return a ? new g(new A("" + a + ".push"), [b]) : new K(b)
}, a.prototype.contains = function(a) {
var b;
b = !1, this.traverseChildren(!1, function(c) {
if (a(c)) {
b = !0;
return !1
}
});
return b
}, a.prototype.containsType = function(a) {
return this instanceof a || this.contains(function(b) {
return b instanceof a
})
}, a.prototype.lastNonComment = function(a) {
var b;
b = a.length;
while (b--) if (!(a[b] instanceof k)) return a[b];
return null
}, a.prototype.toString = function(a, b) {
var c;
a == null && (a = ""), b == null && (b = this.constructor.name), c = "\n" + a + b, this.soak && (c += "?"), this.eachChild(function(b) {
return c += b.toString(a + R)
});
return c
}, a.prototype.eachChild = function(a) {
var b, c, d, e, f, g, h, i;
if (!this.children) return this;
h = this.children;
for (d = 0, f = h.length; d < f; d++) {
b = h[d];
if (this[b]) {
i = bb([this[b]]);
for (e = 0, g = i.length; e < g; e++) {
c = i[e];
if (a(c) === !1) return this
}
}
}
return this
}, a.prototype.traverseChildren = function(a, b) {
return this.eachChild(function(c) {
if (b(c) === !1) return !1;
return c.traverseChildren(a, b)
})
}, a.prototype.invert = function() {
return new F("!", this)
}, a.prototype.unwrapAll = function() {
var a;
a = this;
while (a !== (a = a.unwrap())) continue;
return a
}, a.prototype.children = [], a.prototype.isStatement = D, a.prototype.jumps = D, a.prototype.isComplex = Y, a.prototype.isChainable = D, a.prototype.isAssignable = D, a.prototype.unwrap = S, a.prototype.unfoldSoak = D, a.prototype.assigns = D;
return a
}(), a.Block = f = function(a) {
function b(a) {
this.expressions = Z(bb(a || []))
}
bl(b, a), b.name = "Block", b.prototype.children = ["expressions"], b.prototype.push = function(a) {
this.expressions.push(a);
return this
}, b.prototype.pop = function() {
return this.expressions.pop()
}, b.prototype.unshift = function(a) {
this.expressions.unshift(a);
return this
}, b.prototype.unwrap = function() {
return this.expressions.length === 1 ? this.expressions[0] : this
}, b.prototype.isEmpty = function() {
return !this.expressions.length
}, b.prototype.isStatement = function(a) {
var b, c, d, e;
e = this.expressions;
for (c = 0, d = e.length; c < d; c++) {
b = e[c];
if (b.isStatement(a)) return !0
}
return !1
}, b.prototype.jumps = function(a) {
var b, c, d, e;
e = this.expressions;
for (c = 0, d = e.length; c < d; c++) {
b = e[c];
if (b.jumps(a)) return b
}
}, b.prototype.makeReturn = function(a) {
var b, c;
c = this.expressions.length;
while (c--) {
b = this.expressions[c];
if (!(b instanceof k)) {
this.expressions[c] = b.makeReturn(a), b instanceof K && !b.expression && this.expressions.splice(c, 1);
break
}
}
return this
}, b.prototype.compile = function(a, c) {
a == null && (a = {});
return a.scope ? b.__super__.compile.call(this, a, c) : this.compileRoot(a)
}, b.prototype.compileNode = function(a) {
var c, d, e, f, g, h, i;
this.tab = a.indent, f = a.level === z, d = [], i = this.expressions;
for (g = 0, h = i.length; g < h; g++) e = i[g], e = e.unwrapAll(), e = e.unfoldSoak(a) || e, e instanceof b ? d.push(e.compileNode(a)) : f ? (e.front = !0, c = e.compile(a), e.isStatement(a) || (c = "" + this.tab + c + ";", e instanceof A && (c = "" + c + "\n")), d.push(c)) : d.push(e.compile(a, w));
if (f) return this.spaced ? "\n" + d.join("\n\n") + "\n" : d.join("\n");
c = d.join(", ") || "void 0";
return d.length > 1 && a.level >= w ? "(" + c + ")" : c
}, b.prototype.compileRoot = function(a) {
var b, c, d, e, f, g;
a.indent = a.bare ? "" : R, a.scope = new N(null, this, null), a.level = z, this.spaced = !0, e = "", a.bare || (f = function() {
var a, b, e, f;
e = this.expressions, f = [];
for (d = a = 0, b = e.length; a < b; d = ++a) {
c = e[d];
if (!(c.unwrap() instanceof k)) break;
f.push(c)
}
return f
}.call(this), g = this.expressions.slice(f.length), this.expressions = f, f.length && (e = "" + this.compileNode(bd(a, {
indent: ""
})) + "\n"), this.expressions = g), b = this.compileWithDeclarations(a);
if (a.bare) return b;
return "" + e + "(function() {\n" + b + "\n}).call(this);\n"
}, b.prototype.compileWithDeclarations = function(a) {
var b, c, d, e, f, g, h, i, j, l, m, n, o, p;
c = g = "", n = this.expressions;
for (f = l = 0, m = n.length; l < m; f = ++l) {
e = n[f], e = e.unwrap();
if (!(e instanceof k || e instanceof A)) break
}
a = bd(a, {
level: z
}), f && (h = this.expressions.splice(f, 9e9), o = [this.spaced, !1], j = o[0], this.spaced = o[1], p = [this.compileNode(a), j], c = p[0], this.spaced = p[1], this.expressions = h), g = this.compileNode(a), i = a.scope;
if (i.expressions === this) {
d = a.scope.hasDeclarations(), b = i.hasAssignments;
if (d || b) f && (c += "\n"), c += "" + this.tab + "var ", d && (c += i.declaredVariables().join(", ")), b && (d && (c += ",\n" + (this.tab + R)), c += i.assignedVariables().join(",\n" + (this.tab + R))), c += ";\n"
}
return c + g
}, b.wrap = function(a) {
if (a.length === 1 && a[0] instanceof b) return a[0];
return new b(a)
};
return b
}(e), a.Literal = A = function(a) {
function b(a) {
this.value = a
}
bl(b, a), b.name = "Literal", b.prototype.makeReturn = function() {
return this.isStatement() ? this : b.__super__.makeReturn.apply(this, arguments)
}, b.prototype.isAssignable = function() {
return o.test(this.value)
}, b.prototype.isStatement = function() {
var a;
return (a = this.value) === "break" || a === "continue" || a === "debugger"
}, b.prototype.isComplex = D, b.prototype.assigns = function(a) {
return a === this.value
}, b.prototype.jumps = function(a) {
if (this.value === "break" && !((a != null ? a.loop : void 0) || (a != null ? a.block : void 0))) return this;
if (this.value === "continue" && (a != null ? !a.loop : !void 0)) return this
}, b.prototype.compileNode = function(a) {
var b, c;
b = this.isUndefined ? a.level >= u ? "(void 0)" : "void 0" : this.value === "this" ? ((c = a.scope.method) != null ? c.bound : void 0) ? a.scope.method.context : this.value : this.value.reserved ? '"' + this.value + '"' : this.value;
return this.isStatement() ? "" + this.tab + b + ";" : b
}, b.prototype.toString = function() {
return ' "' + this.value + '"'
};
return b
}(e), a.Return = K = function(a) {
function b(a) {
a && !a.unwrap().isUndefined && (this.expression = a)
}
bl(b, a), b.name = "Return", b.prototype.children = ["expression"], b.prototype.isStatement = Y, b.prototype.makeReturn = S, b.prototype.jumps = S, b.prototype.compile = function(a, c) {
var d, e;
d = (e = this.expression) != null ? e.makeReturn() : void 0;
return !d || d instanceof b ? b.__super__.compile.call(this, a, c) : d.compile(a, c)
}, b.prototype.compileNode = function(a) {
return this.tab + ("return" + [this.expression ? " " + this.expression.compile(a, y) : void 0] + ";")
};
return b
}(e), a.Value = W = function(a) {
function b(a, c, d) {
if (!c && a instanceof b) return a;
this.base = a, this.properties = c || [], d && (this[d] = !0);
return this
}
bl(b, a), b.name = "Value", b.prototype.children = ["base", "properties"], b.prototype.add = function(a) {
this.properties = this.properties.concat(a);
return this
}, b.prototype.hasProperties = function() {
return !!this.properties.length
}, b.prototype.isArray = function() {
return !this.properties.length && this.base instanceof c
}, b.prototype.isComplex = function() {
return this.hasProperties() || this.base.isComplex()
}, b.prototype.isAssignable = function() {
return this.hasProperties() || this.base.isAssignable()
}, b.prototype.isSimpleNumber = function() {
return this.base instanceof A && L.test(this.base.value)
}, b.prototype.isString = function() {
return this.base instanceof A && q.test(this.base.value)
}, b.prototype.isAtomic = function() {
var a, b, c, d;
d = this.properties.concat(this.base);
for (b = 0, c = d.length; b < c; b++) {
a = d[b];
if (a.soak || a instanceof g) return !1
}
return !0
}, b.prototype.isStatement = function(a) {
return !this.properties.length && this.base.isStatement(a)
}, b.prototype.assigns = function(a) {
return !this.properties.length && this.base.assigns(a)
}, b.prototype.jumps = function(a) {
return !this.properties.length && this.base.jumps(a)
}, b.prototype.isObject = function(a) {
if (this.properties.length) return !1;
return this.base instanceof E && (!a || this.base.generated)
}, b.prototype.isSplice = function() {
return bc(this.properties) instanceof O
}, b.prototype.unwrap = function() {
return this.properties.length ? this : this.base
}, b.prototype.cacheReference = function(a) {
var c, e, f, g;
f = bc(this.properties);
if (this.properties.length < 2 && !this.base.isComplex() && (f != null ? !f.isComplex() : !void 0)) return [this, this];
c = new b(this.base, this.properties.slice(0, -1)), c.isComplex() && (e = new A(a.scope.freeVariable("base")), c = new b(new H(new d(e, c))));
if (!f) return [c, e];
f.isComplex() && (g = new A(a.scope.freeVariable("name")), f = new t(new d(g, f.index)), g = new t(g));
return [c.add(f), new b(e || c.base, [g || f])]
}, b.prototype.compileNode = function(a) {
var b, c, d, e, f;
this.base.front = this.front, d = this.properties, b = this.base.compile(a, d.length ? u : null), (this.base instanceof H || d.length) && L.test(b) && (b = "" + b + ".");
for (e = 0, f = d.length; e < f; e++) c = d[e], b += c.compile(a);
return b
}, b.prototype.unfoldSoak = function(a) {
var c, e = this;
if (this.unfoldedSoak != null) return this.unfoldedSoak;
c = function() {
var c, f, g, h, i, j, k, m, n;
if (g = e.base.unfoldSoak(a)) {
Array.prototype.push.apply(g.body.properties, e.properties);
return g
}
n = e.properties;
for (f = k = 0, m = n.length; k < m; f = ++k) {
h = n[f];
if (!h.soak) continue;
h.soak = !1, c = new b(e.base, e.properties.slice(0, f)), j = new b(e.base, e.properties.slice(f)), c.isComplex() && (i = new A(a.scope.freeVariable("ref")), c = new H(new d(i, c)), j.base = i);
return new r(new l(c), j, {
soak: !0
})
}
return null
}();
return this.unfoldedSoak = c || !1
};
return b
}(e), a.Comment = k = function(a) {
function b(a) {
this.comment = a
}
bl(b, a), b.name = "Comment", b.prototype.isStatement = Y, b.prototype.makeReturn = S, b.prototype.compileNode = function(a, b) {
var c;
c = "/*" + be(this.comment, this.tab) + ("\n" + this.tab + "*/\n"), (b || a.level) === z && (c = a.indent + c);
return c
};
return b
}(e), a.Call = g = function(a) {
function c(a, b, c) {
this.args = b != null ? b : [], this.soak = c, this.isNew = !1, this.isSuper = a === "super", this.variable = this.isSuper ? null : a
}
bl(c, a), c.name = "Call", c.prototype.children = ["variable", "args"], c.prototype.newInstance = function() {
var a, b;
a = ((b = this.variable) != null ? b.base : void 0) || this.variable, a instanceof c && !a.isNew ? a.newInstance() : this.isNew = !0;
return this
}, c.prototype.superReference = function(a) {
var c, d, e;
d = a.scope.method;
if (!d) throw SyntaxError("cannot call super outside of a function.");
e = d.name;
if (e == null) throw SyntaxError("cannot call super on an anonymous function.");
if (d.klass) {
c = [new b(new A("__super__"))], d["static"] && c.push(new b(new A("constructor"))), c.push(new b(new A(e)));
return (new W(new A(d.klass), c)).compile(a)
}
return "" + e + ".__super__.constructor"
}, c.prototype.unfoldSoak = function(a) {
var b, d, e, f, g, h, i, j, k;
if (this.soak) {
if (this.variable) {
if (d = bg(a, this, "variable")) return d;
j = (new W(this.variable)).cacheReference(a), e = j[0], g = j[1]
} else e = new A(this.superReference(a)), g = new W(e);
g = new c(g, this.args), g.isNew = this.isNew, e = new A("typeof " + e.compile(a) + ' === "function"');
return new r(e, new W(g), {
soak: !0
})
}
b = this, f = [];
for (;;) {
if (b.variable instanceof c) {
f.push(b), b = b.variable;
continue
}
if (!(b.variable instanceof W)) break;
f.push(b);
if (!((b = b.variable.base) instanceof c)) break
}
k = f.reverse();
for (h = 0, i = k.length; h < i; h++) b = k[h], d && (b.variable instanceof c ? b.variable = d : b.variable.base = d), d = bg(a, b, "variable");
return d
}, c.prototype.filterImplicitObjects = function(a) {
var b, c, e, f, g, h, i, j, l, m;
c = [];
for (h = 0, j = a.length; h < j; h++) {
b = a[h];
if (!((typeof b.isObject == "function" ? b.isObject() : void 0) && b.base.generated)) {
c.push(b);
continue
}
e = null, m = b.base.properties;
for (i = 0, l = m.length; i < l; i++) f = m[i], f instanceof d || f instanceof k ? (e || c.push(e = new E(g = [], !0)), g.push(f)) : (c.push(f), e = null)
}
return c
}, c.prototype.compileNode = function(a) {
var b, c, d, e;
(e = this.variable) != null && (e.front = this.front);
if (d = P.compileSplattedArray(a, this.args, !0)) return this.compileSplat(a, d);
c = this.filterImplicitObjects(this.args), c = function() {
var d, e, f;
f = [];
for (d = 0, e = c.length; d < e; d++) b = c[d], f.push(b.compile(a, w));
return f
}().join(", ");
return this.isSuper ? this.superReference(a) + (".call(this" + (c && ", " + c) + ")") : (this.isNew ? "new " : "") + this.variable.compile(a, u) + ("(" + c + ")")
}, c.prototype.compileSuper = function(a, b) {
return "" + this.superReference(b) + ".call(this" + (a.length ? ", " : "") + a + ")"
}, c.prototype.compileSplat = function(a, b) {
var c, d, e, f, g;
if (this.isSuper) return "" + this.superReference(a) + ".apply(this, " + b + ")";
if (this.isNew) {
e = this.tab + R;
return "(function(func, args, ctor) {\n" + e + "ctor.prototype = func.prototype;\n" + e + "var child = new ctor, result = func.apply(child, args);\n" + e + 'return typeof result === "object" ? result : child;\n' + this.tab + "})(" + this.variable.compile(a, w) + ", " + b + ", function() {})"
}
c = new W(this.variable), (f = c.properties.pop()) && c.isComplex() ? (g = a.scope.freeVariable("ref"), d = "(" + g + " = " + c.compile(a, w) + ")" + f.compile(a)) : (d = c.compile(a, u), L.test(d) && (d = "(" + d + ")"), f ? (g = d, d += f.compile(a)) : g = "null");
return "" + d + ".apply(" + g + ", " + b + ")"
};
return c
}(e), a.Extends = m = function(a) {
function b(a, b) {
this.child = a, this.parent = b
}
bl(b, a), b.name = "Extends", b.prototype.children = ["child", "parent"], b.prototype.compile = function(a) {
return (new g(new W(new A(bh("extends"))), [this.child, this.parent])).compile(a)
};
return b
}(e), a.Access = b = function(a) {
function b(a, b) {
this.name = a, this.name.asKey = !0, this.soak = b === "soak"
}
bl(b, a), b.name = "Access", b.prototype.children = ["name"], b.prototype.compile = function(a) {
var b;
b = this.name.compile(a);
return o.test(b) ? "." + b : "[" + b + "]"
}, b.prototype.isComplex = D;
return b
}(e), a.Index = t = function(a) {
function b(a) {
this.index = a
}
bl(b, a), b.name = "Index", b.prototype.children = ["index"], b.prototype.compile = function(a) {
return "[" + this.index.compile(a, y) + "]"
}, b.prototype.isComplex = function() {
return this.index.isComplex()
};
return b
}(e), a.Range = J = function(a) {
function b(a, b, c) {
this.from = a, this.to = b, this.exclusive = c === "exclusive", this.equals = this.exclusive ? "" : "="
}
bl(b, a), b.name = "Range", b.prototype.children = ["from", "to"], b.prototype.compileVariables = function(a) {
var b, c, d, e, f;
a = bd(a, {
top: !0
}), c = this.from.cache(a, w), this.fromC = c[0], this.fromVar = c[1], d = this.to.cache(a, w), this.toC = d[0], this.toVar = d[1];
if (b = $(a, "step")) e = b.cache(a, w), this.step = e[0], this.stepVar = e[1];
f = [this.fromVar.match(L), this.toVar.match(L)], this.fromNum = f[0], this.toNum = f[1];
if (this.stepVar) return this.stepNum = this.stepVar.match(L)
}, b.prototype.compileNode = function(a) {
var b, c, d, e, f, g, h, i, j, k, l, m, n, o;
this.fromVar || this.compileVariables(a);
if (!a.index) return this.compileArray(a);
h = this.fromNum && this.toNum, f = $(a, "index"), g = $(a, "name"), j = g && g !== f, m = "" + f + " = " + this.fromC, this.toC !== this.toVar && (m += ", " + this.toC), this.step !== this.stepVar && (m += ", " + this.step), n = ["" + f + " <" + this.equals, "" + f + " >" + this.equals], i = n[0], e = n[1], c = this.stepNum ? +this.stepNum > 0 ? "" + i + " " + this.toVar : "" + e + " " + this.toVar : h ? (o = [+this.fromNum, +this.toNum], d = o[0], l = o[1], o, d <= l ? "" + i + " " + l : "" + e + " " + l) : (b = "" + this.fromVar + " <= " + this.toVar, "" + b + " ? " + i + " " + this.toVar + " : " + e + " " + this.toVar), k = this.stepVar ? "" + f + " += " + this.stepVar : h ? j ? d <= l ? "++" + f : "--" + f : d <= l ? "" + f + "++" : "" + f + "--" : j ? "" + b + " ? ++" + f + " : --" + f : "" + b + " ? " + f + "++ : " + f + "--", j && (m = "" + g + " = " + m), j && (k = "" + g + " = " + k);
return "" + m + "; " + c + "; " + k
}, b.prototype.compileArray = function(a) {
var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p;
if (this.fromNum && this.toNum && Math.abs(this.fromNum - this.toNum) <= 20) {
j = function() {
p = [];
for (var a = n = +this.fromNum, b = +this.toNum; n <= b ? a <= b : a >= b; n <= b ? a++ : a--) p.push(a);
return p
}.apply(this), this.exclusive && j.pop();
return "[" + j.join(", ") + "]"
}
g = this.tab + R, f = a.scope.freeVariable("i"), k = a.scope.freeVariable("results"), i = "\n" + g + k + " = [];", this.fromNum && this.toNum ? (a.index = f, c = this.compileNode(a)) : (l = "" + f + " = " + this.fromC + (this.toC !== this.toVar ? ", " + this.toC : ""), d = "" + this.fromVar + " <= " + this.toVar, c = "var " + l + "; " + d + " ? " + f + " <" + this.equals + " " + this.toVar + " : " + f + " >" + this.equals + " " + this.toVar + "; " + d + " ? " + f + "++ : " + f + "--"), h = "{ " + k + ".push(" + f + "); }\n" + g + "return " + k + ";\n" + a.indent, e = function(a) {
return a != null ? a.contains(function(a) {
return a instanceof A && a.value === "arguments" && !a.asKey
}) : void 0
};
if (e(this.from) || e(this.to)) b = ", arguments";
return "(function() {" + i + "\n" + g + "for (" + c + ")" + h + "}).apply(this" + (b != null ? b : "") + ")"
};
return b
}(e), a.Slice = O = function(a) {
function b(a) {
this.range = a, b.__super__.constructor.call(this)
}
bl(b, a), b.name = "Slice", b.prototype.children = ["range"], b.prototype.compileNode = function(a) {
var b, c, d, e, f, g;
g = this.range, e = g.to, c = g.from, d = c && c.compile(a, y) || "0", b = e && e.compile(a, y), e && ( !! this.range.exclusive || +b !== -1) && (f = ", " + (this.range.exclusive ? b : L.test(b) ? "" + (+b + 1) : (b = e.compile(a, u), "" + b + " + 1 || 9e9")));
return ".slice(" + d + (f || "") + ")"
};
return b
}(e), a.Obj = E = function(a) {
function b(a, b) {
this.generated = b != null ? b : !1, this.objects = this.properties = a || []
}
bl(b, a), b.name = "Obj", b.prototype.children = ["properties"], b.prototype.compileNode = function(a) {
var b, c, e, f, g, h, i, j, l, m, n, o, p, q, r, s;
n = this.properties, m = [], s = this.properties;
for (o = 0, q = s.length; o < q; o++) {
j = s[o], j.isComplex() && (j = j.variable);
if (j != null) {
l = j.unwrapAll().value.toString();
if (bm.call(m, l) >= 0) throw SyntaxError('multiple object literal properties named "' + l + '"');
m.push(l)
}
}
if (!n.length) return this.front ? "({})" : "{}";
if (this.generated) for (p = 0, r = n.length; p < r; p++) {
h = n[p];
if (h instanceof W) throw new Error("cannot have an implicit value in an implicit object")
}
c = a.indent += R, g = this.lastNonComment(this.properties), n = function() {
var h, i, l;
l = [];
for (b = h = 0, i = n.length; h < i; b = ++h) j = n[b], f = b === n.length - 1 ? "" : j === g || j instanceof k ? "\n" : ",\n", e = j instanceof k ? "" : c, j instanceof W && j["this"] && (j = new d(j.properties[0].name, j, "object")), j instanceof k || (j instanceof d || (j = new d(j, j, "object")), (j.variable.base || j.variable).asKey = !0), l.push(e + j.compile(a, z) + f);
return l
}(), n = n.join(""), i = "{" + (n && "\n" + n + "\n" + this.tab) + "}";
return this.front ? "(" + i + ")" : i
}, b.prototype.assigns = function(a) {
var b, c, d, e;
e = this.properties;
for (c = 0, d = e.length; c < d; c++) {
b = e[c];
if (b.assigns(a)) return !0
}
return !1
};
return b
}(e), a.Arr = c = function(a) {
function b(a) {
this.objects = a || []
}
bl(b, a), b.name = "Arr", b.prototype.children = ["objects"], b.prototype.filterImplicitObjects = g.prototype.filterImplicitObjects, b.prototype.compileNode = function(a) {
var b, c, d;
if (!this.objects.length) return "[]";
a.indent += R, d = this.filterImplicitObjects(this.objects);
if (b = P.compileSplattedArray(a, d)) return b;
b = function() {
var b, e, f;
f = [];
for (b = 0, e = d.length; b < e; b++) c = d[b], f.push(c.compile(a, w));
return f
}().join(", ");
return b.indexOf("\n") >= 0 ? "[\n" + a.indent + b + "\n" + this.tab + "]" : "[" + b + "]"
}, b.prototype.assigns = function(a) {
var b, c, d, e;
e = this.objects;
for (c = 0, d = e.length; c < d; c++) {
b = e[c];
if (b.assigns(a)) return !0
}
return !1
};
return b
}(e), a.Class = h = function(a) {
function c(a, b, c) {
this.variable = a, this.parent = b, this.body = c != null ? c : new f, this.boundFuncs = [], this.body.classBody = !0
}
bl(c, a), c.name = "Class", c.prototype.children = ["variable", "parent", "body"], c.prototype.determineName = function() {
var a, c;
if (!this.variable) return null;
a = (c = bc(this.variable.properties)) ? c instanceof b && c.name.value : this.variable.base.value;
if (bm.call(M, a) >= 0) throw SyntaxError("variable name may not be " + a);
return a && (a = o.test(a) && a)
}, c.prototype.setContext = function(a) {
return this.body.traverseChildren(!1, function(b) {
if (b.classBody) return !1;
if (b instanceof A && b.value === "this") return b.value = a;
if (b instanceof j) {
b.klass = a;
if (b.bound) return b.context = a
}
})
}, c.prototype.addBoundFunctions = function(a) {
var c, d, e, f, g, h;
if (this.boundFuncs.length) {
g = this.boundFuncs, h = [];
for (e = 0, f = g.length; e < f; e++) c = g[e], d = (new W(new A("this"), [new b(c)])).compile(a), h.push(this.ctor.body.unshift(new A("" + d + " = " + bh("bind") + "(" + d + ", this)")));
return h
}
}, c.prototype.addProperties = function(a, c, e) {
var f, g, h, i, k;
k = a.base.properties.slice(0), h = function() {
var a;
a = [];
while (f = k.shift()) {
if (f instanceof d) {
g = f.variable.base, delete f.context, i = f.value;
if (g.value === "constructor") {
if (this.ctor) throw new Error("cannot define more than one constructor in a class");
if (i.bound) throw new Error("cannot define a constructor as a bound function");
i instanceof j ? f = this.ctor = i : (this.externalCtor = e.scope.freeVariable("class"), f = new d(new A(this.externalCtor), i))
} else f.variable["this"] ? (i["static"] = !0, i.bound && (i.context = c)) : (f.variable = new W(new A(c), [new b(new A("prototype")), new b(g)]), i instanceof j && i.bound && (this.boundFuncs.push(g), i.bound = !1))
}
a.push(f)
}
return a
}.call(this);
return Z(h)
}, c.prototype.walkBody = function(a, b) {
var d = this;
return this.traverseChildren(!1, function(e) {
var g, h, i, j, k, l;
if (e instanceof c) return !1;
if (e instanceof f) {
l = g = e.expressions;
for (h = j = 0, k = l.length; j < k; h = ++j) i = l[h], i instanceof W && i.isObject(!0) && (g[h] = d.addProperties(i, a, b));
return e.expressions = g = bb(g)
}
})
}, c.prototype.hoistDirectivePrologue = function() {
var a, b, c;
b = 0, a = this.body.expressions;
while ((c = a[b]) && c instanceof k || c instanceof W && c.isString())++b;
return this.directives = a.splice(0, b)
}, c.prototype.ensureConstructor = function(a) {
this.ctor || (this.ctor = new j, this.parent && this.ctor.body.push(new A("" + a + ".__super__.constructor.apply(this, arguments)")), this.externalCtor && this.ctor.body.push(new A("" + this.externalCtor + ".apply(this, arguments)")), this.ctor.body.makeReturn(), this.body.expressions.unshift(this.ctor)), this.ctor.ctor = this.ctor.name = a, this.ctor.klass = null;
return this.ctor.noReturn = !0
}, c.prototype.compileNode = function(a) {
var c, e, f, g, h, k, l;
e = this.determineName(), h = e || "_Class", h.reserved && (h = "_" + h), g = new A(h), this.hoistDirectivePrologue(), this.setContext(h), this.walkBody(h, a), this.ensureConstructor(h), this.body.spaced = !0, this.ctor instanceof j || this.body.expressions.unshift(this.ctor), e && this.body.expressions.unshift(new d(new W(new A(h), [new b(new A("name"))]), new A("'" + h + "'"))), this.body.expressions.push(g), (l = this.body.expressions).unshift.apply(l, this.directives), this.addBoundFunctions(a), c = i.wrap(this.body), this.parent && (this.superClass = new A(a.scope.freeVariable("super", !1)), this.body.expressions.unshift(new m(g, this.superClass)), c.args.push(this.parent), k = c.variable.params || c.variable.base.params, k.push(new G(this.superClass))), f = new H(c, !0), this.variable && (f = new d(this.variable, f));
return f.compile(a)
};
return c
}(e), a.Assign = d = function(a) {
function c(a, b, c, d) {
var e, f, g;
this.variable = a, this.value = b, this.context = c, this.param = d && d.param, this.subpattern = d && d.subpattern, e = (g = f = this.variable.unwrapAll().value, bm.call(M, g) >= 0);
if (e && this.context !== "object") throw SyntaxError('variable name may not be "' + f + '"')
}
bl(c, a), c.name = "Assign", c.prototype.children = ["variable", "value"], c.prototype.isStatement = function(a) {
return (a != null ? a.level : void 0) === z && this.context != null && bm.call(this.context, "?") >= 0
}, c.prototype.assigns = function(a) {
return this[this.context === "object" ? "value" : "variable"].assigns(a)
}, c.prototype.unfoldSoak = function(a) {
return bg(a, this, "variable")
}, c.prototype.compileNode = function(a) {
var b, c, d, e, f, g, h, i, k;
if (b = this.variable instanceof W) {
if (this.variable.isArray() || this.variable.isObject()) return this.compilePatternMatch(a);
if (this.variable.isSplice()) return this.compileSplice(a);
if ((g = this.context) === "||=" || g === "&&=" || g === "?=") return this.compileConditional(a)
}
d = this.variable.compile(a, w);
if (!this.context) {
if (!(f = this.variable.unwrapAll()).isAssignable()) throw SyntaxError('"' + this.variable.compile(a) + '" cannot be assigned.');
if (typeof f.hasProperties == "function" ? !f.hasProperties() : !void 0) this.param ? a.scope.add(d, "var") : a.scope.find(d)
}
this.value instanceof j && (c = B.exec(d)) && (c[1] && (this.value.klass = c[1]), this.value.name = (h = (i = (k = c[2]) != null ? k : c[3]) != null ? i : c[4]) != null ? h : c[5]), e = this.value.compile(a, w);
if (this.context === "object") return "" + d + ": " + e;
e = d + (" " + (this.context || "=") + " ") + e;
return a.level <= w ? e : "(" + e + ")"
}, c.prototype.compilePatternMatch = function(a) {
var d, e, f, g, h, i, j, k, l, m, n, p, q, r, s, u, v, y, B, C, D, E, F, G, J, K, L;
s = a.level === z, v = this.value, m = this.variable.base.objects;
if (!(n = m.length)) {
f = v.compile(a);
return a.level >= x ? "(" + f + ")" : f
}
i = this.variable.isObject();
if (s && n === 1 && !((l = m[0]) instanceof P)) {
l instanceof c ? (D = l, E = D.variable, h = E.base, l = D.value) : l.base instanceof H ? (F = (new W(l.unwrapAll())).cacheReference(a), l = F[0], h = F[1]) : h = i ? l["this"] ? l.properties[0].name : l : new A(0), d = o.test(h.unwrap().value || 0), v = new W(v), v.properties.push(new(d ? b : t)(h));
if (G = l.unwrap().value, bm.call(I, G) >= 0) throw new SyntaxError("assignment to a reserved word: " + l.compile(a) + " = " + v.compile(a));
return (new c(l, v, null, {
param: this.param
})).compile(a, z)
}
y = v.compile(a, w), e = [], r = !1;
if (!o.test(y) || this.variable.assigns(y)) e.push("" + (p = a.scope.freeVariable("ref")) + " = " + y), y = p;
for (g = B = 0, C = m.length; B < C; g = ++B) {
l = m[g], h = g, i && (l instanceof c ? (J = l, K = J.variable, h = K.base, l = J.value) : l.base instanceof H ? (L = (new W(l.unwrapAll())).cacheReference(a), l = L[0], h = L[1]) : h = l["this"] ? l.properties[0].name : l);
if (!r && l instanceof P) k = l.name.unwrap().value, l = l.unwrap(), u = "" + n + " <= " + y + ".length ? " + bh("slice") + ".call(" + y + ", " + g, (q = n - g - 1) ? (j = a.scope.freeVariable("i"), u += ", " + j + " = " + y + ".length - " + q + ") : (" + j + " = " + g + ", [])") : u += ") : []", u = new A(u), r = "" + j + "++";
else {
k = l.unwrap().value;
if (l instanceof P) {
l = l.name.compile(a);
throw new SyntaxError("multiple splats are disallowed in an assignment: " + l + "...")
}
typeof h == "number" ? (h = new A(r || h), d = !1) : d = i && o.test(h.unwrap().value || 0), u = new W(new A(y), [new(d ? b : t)(h)])
}
if (k != null && bm.call(I, k) >= 0) throw new SyntaxError("assignment to a reserved word: " + l.compile(a) + " = " + u.compile(a));
e.push((new c(l, u, null, {
param: this.param,
subpattern: !0
})).compile(a, w))
}!s && !this.subpattern && e.push(y), f = e.join(", ");
return a.level < w ? f : "(" + f + ")"
}, c.prototype.compileConditional = function(a) {
var b, d, e;
e = this.variable.cacheReference(a), b = e[0], d = e[1];
if (b.base instanceof A && b.base.value !== "this" && !a.scope.check(b.base.value)) throw new Error('the variable "' + b.base.value + "\" can't be assigned with " + this.context + " because it has not been defined.");
bm.call(this.context, "?") >= 0 && (a.isExistentialEquals = !0);
return (new F(this.context.slice(0, -1), b, new c(d, this.value, "="))).compile(a)
}, c.prototype.compileSplice = function(a) {
var b, c, d, e, f, g, h, i, j, k, l, m;
k = this.variable.properties.pop().range, d = k.from, h = k.to, c = k.exclusive, g = this.variable.compile(a), l = (d != null ? d.cache(a, x) : void 0) || ["0", "0"], e = l[0], f = l[1], h ? (d != null ? d.isSimpleNumber() : void 0) && h.isSimpleNumber() ? (h = +h.compile(a) - +f, c || (h += 1)) : (h = h.compile(a, u) + " - " + f, c || (h += " + 1")) : h = "9e9", m = this.value.cache(a, w), i = m[0], j = m[1], b = "[].splice.apply(" + g + ", [" + e + ", " + h + "].concat(" + i + ")), " + j;
return a.level > z ? "(" + b + ")" : b
};
return c
}(e), a.Code = j = function(a) {
function b(a, b, c) {
this.params = a || [], this.body = b || new f, this.bound = c === "boundfunc", this.bound && (this.context = "_this")
}
bl(b, a), b.name = "Code", b.prototype.children = ["params", "body"], b.prototype.isStatement = function() {
return !!this.ctor
}, b.prototype.jumps = D, b.prototype.compileNode = function(a) {
var b, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t, v, w, x, y, z, B, C, D, E, G, H, I, J, K, L, M, O;
a.scope = new N(a.scope, this.body, this), a.scope.shared = $(a, "sharedScope"), a.indent += R, delete a.bare, delete a.isExistentialEquals, l = [], e = [], H = this.paramNames();
for (s = 0, x = H.length; s < x; s++) i = H[s], a.scope.check(i) || a.scope.parameter(i);
I = this.params;
for (t = 0, y = I.length; t < y; t++) {
k = I[t];
if (!k.splat) continue;
J = this.params;
for (v = 0, z = J.length; v < z; v++) j = J[v], j.name.value && a.scope.add(j.name.value, "var", !0);
n = new d(new W(new c(function() {
var b, c, d, e;
d = this.params, e = [];
for (b = 0, c = d.length; b < c; b++) j = d[b], e.push(j.asReference(a));
return e
}.call(this))), new W(new A("arguments")));
break
}
K = this.params;
for (w = 0, B = K.length; w < B; w++) k = K[w], k.isComplex() ? (p = m = k.asReference(a), k.value && (p = new F("?", m, k.value)), e.push(new d(new W(k.name), p, "=", {
param: !0
}))) : (m = k, k.value && (h = new A(m.name.value + " == null"), p = new d(new W(k.name), k.value, "="), e.push(new r(h, p)))), n || l.push(m);
q = this.body.isEmpty(), n && e.unshift(n), e.length && (L = this.body.expressions).unshift.apply(L, e);
for (f = E = 0, C = l.length; E < C; f = ++E) j = l[f], a.scope.parameter(l[f] = j.compile(a));
o = [], M = this.paramNames();
for (G = 0, D = M.length; G < D; G++) {
i = M[G];
if (bm.call(o, i) >= 0) throw SyntaxError("multiple parameters named '" + i + "'");
o.push(i)
}!q && !this.noReturn && this.body.makeReturn(), this.bound && (((O = a.scope.parent.method) != null ? O.bound : void 0) ? this.bound = this.context = a.scope.parent.method.context : this["static"] || a.scope.parent.assign("_this", "this")), g = a.indent, b = "function", this.ctor && (b += " " + this.name), b += "(" + l.join(", ") + ") {", this.body.isEmpty() || (b += "\n" + this.body.compileWithDeclarations(a) + "\n" + this.tab), b += "}";
if (this.ctor) return this.tab + b;
return this.front || a.level >= u ? "(" + b + ")" : b
}, b.prototype.paramNames = function() {
var a, b, c, d, e;
a = [], e = this.params;
for (c = 0, d = e.length; c < d; c++) b = e[c], a.push.apply(a, b.names());
return a
}, b.prototype.traverseChildren = function(a, c) {
if (a) return b.__super__.traverseChildren.call(this, a, c)
};
return b
}(e), a.Param = G = function(a) {
function b(a, b, c) {
var d;
this.name = a, this.value = b, this.splat = c;
if (d = a = this.name.unwrapAll().value, bm.call(M, d) >= 0) throw SyntaxError('parameter name "' + a + '" is not allowed')
}
bl(b, a), b.name = "Param", b.prototype.children = ["name", "value"], b.prototype.compile = function(a) {
return this.name.compile(a, w)
}, b.prototype.asReference = function(a) {
var b;
if (this.reference) return this.reference;
b = this.name, b["this"] ? (b = b.properties[0].name, b.value.reserved && (b = new A(a.scope.freeVariable(b.value)))) : b.isComplex() && (b = new A(a.scope.freeVariable("arg"))), b = new W(b), this.splat && (b = new P(b));
return this.reference = b
}, b.prototype.isComplex = function() {
return this.name.isComplex()
}, b.prototype.names = function(a) {
var b, c, e, f, g, h;
a == null && (a = this.name), b = function(a) {
var b;
b = a.properties[0].name.value;
return b.reserved ? [] : [b]
};
if (a instanceof A) return [a.value];
if (a instanceof W) return b(a);
c = [], h = a.objects;
for (f = 0, g = h.length; f < g; f++) e = h[f], e instanceof d ? c.push(e.variable.base.value) : e.isArray() || e.isObject() ? c.push.apply(c, this.names(e.base)) : e["this"] ? c.push.apply(c, b(e)) : c.push(e.base.value);
return c
};
return b
}(e), a.Splat = P = function(a) {
function b(a) {
this.name = a.compile ? a : new A(a)
}
bl(b, a), b.name = "Splat", b.prototype.children = ["name"], b.prototype.isAssignable = Y, b.prototype.assigns = function(a) {
return this.name.assigns(a)
}, b.prototype.compile = function(a) {
return this.index != null ? this.compileParam(a) : this.name.compile(a)
}, b.prototype.unwrap = function() {
return this.name
}, b.compileSplattedArray = function(a, c, d) {
var e, f, g, h, i, j, k, l;
i = -1;
while ((j = c[++i]) && !(j instanceof b)) continue;
if (i >= c.length) return "";
if (c.length === 1) {
g = c[0].compile(a, w);
if (d) return g;
return "" + bh("slice") + ".call(" + g + ")"
}
e = c.slice(i);
for (h = k = 0, l = e.length; k < l; h = ++k) j = e[h], g = j.compile(a, w), e[h] = j instanceof b ? "" + bh("slice") + ".call(" + g + ")" : "[" + g + "]";
if (i === 0) return e[0] + (".concat(" + e.slice(1).join(", ") + ")");
f = function() {
var b, d, e, f;
e = c.slice(0, i), f = [];
for (b = 0, d = e.length; b < d; b++) j = e[b], f.push(j.compile(a, w));
return f
}();
return "[" + f.join(", ") + "].concat(" + e.join(", ") + ")"
};
return b
}(e), a.While = X = function(a) {
function b(a, b) {
this.condition = (b != null ? b.invert : void 0) ? a.invert() : a, this.guard = b != null ? b.guard : void 0
}
bl(b, a), b.name = "While", b.prototype.children = ["condition", "guard", "body"], b.prototype.isStatement = Y, b.prototype.makeReturn = function(a) {
if (a) return b.__super__.makeReturn.apply(this, arguments);
this.returns = !this.jumps({
loop: !0
});
return this
}, b.prototype.addBody = function(a) {
this.body = a;
return this
}, b.prototype.jumps = function() {
var a, b, c, d;
a = this.body.expressions;
if (!a.length) return !1;
for (c = 0, d = a.length; c < d; c++) {
b = a[c];
if (b.jumps({
loop: !0
})) return b
}
return !1
}, b.prototype.compileNode = function(a) {
var b, c, d, e;
a.indent += R, e = "", b = this.body, b.isEmpty() ? b = "" : (this.returns && (b.makeReturn(d = a.scope.freeVariable("results")), e = "" + this.tab + d + " = [];\n"), this.guard && (b.expressions.length > 1 ? b.expressions.unshift(new r((new H(this.guard)).invert(), new A("continue"))) : this.guard && (b = f.wrap([new r(this.guard, b)]))), b = "\n" + b.compile(a, z) + "\n" + this.tab), c = e + this.tab + ("while (" + this.condition.compile(a, y) + ") {" + b + "}"), this.returns && (c += "\n" + this.tab + "return " + d + ";");
return c
};
return b
}(e), a.Op = F = function(a) {
function e(a, c, d, e) {
if (a === "in") return new s(c, d);
if (a === "do") return this.generateDo(c);
if (a === "new") {
if (c instanceof g && !c["do"] && !c.isNew) return c.newInstance();
if (c instanceof j && c.bound || c["do"]) c = new H(c)
}
this.operator = b[a] || a, this.first = c, this.second = d, this.flip = !! e;
return this
}
var b, c;
bl(e, a), e.name = "Op", b = {
"==": "===",
"!=": "!==",
of: "in"
}, c = {
"!==": "===",
"===": "!=="
}, e.prototype.children = ["first", "second"], e.prototype.isSimpleNumber = D, e.prototype.isUnary = function() {
return !this.second
}, e.prototype.isComplex = function() {
var a;
return !this.isUnary() || (a = this.operator) !== "+" && a !== "-" || this.first.isComplex()
}, e.prototype.isChainable = function() {
var a;
return (a = this.operator) === "<" || a === ">" || a === ">=" || a === "<=" || a === "===" || a === "!=="
}, e.prototype.invert = function() {
var a, b, d, f, g;
if (this.isChainable() && this.first.isChainable()) {
a = !0, b = this;
while (b && b.operator) a && (a = b.operator in c), b = b.first;
if (!a) return (new H(this)).invert();
b = this;
while (b && b.operator) b.invert = !b.invert, b.operator = c[b.operator], b = b.first;
return this
}
if (f = c[this.operator]) {
this.operator = f, this.first.unwrap() instanceof e && this.first.invert();
return this
}
return this.second ? (new H(this)).invert() : this.operator === "!" && (d = this.first.unwrap()) instanceof e && ((g = d.operator) === "!" || g === "in" || g === "instanceof") ? d : new e("!", this)
}, e.prototype.unfoldSoak = function(a) {
var b;
return ((b = this.operator) === "++" || b === "--" || b === "delete") && bg(a, this, "first")
}, e.prototype.generateDo = function(a) {
var b, c, e, f, h, i, k, l;
f = [], c = a instanceof d && (h = a.value.unwrap()) instanceof j ? h : a, l = c.params || [];
for (i = 0, k = l.length; i < k; i++) e = l[i], e.value ? (f.push(e.value), delete e.value) : f.push(e);
b = new g(a, f), b["do"] = !0;
return b
}, e.prototype.compileNode = function(a) {
var b, c, d, e;
c = this.isChainable() && this.first.isChainable(), c || (this.first.front = this.front);
if (this.operator === "delete" && a.scope.check(this.first.unwrapAll().value)) throw SyntaxError("delete operand may not be argument or var");
if (((d = this.operator) === "--" || d === "++") && (e = this.first.unwrapAll().value, bm.call(M, e) >= 0)) throw SyntaxError("prefix increment/decrement may not have eval or arguments operand");
if (this.isUnary()) return this.compileUnary(a);
if (c) return this.compileChain(a);
if (this.operator === "?") return this.compileExistence(a);
b = this.first.compile(a, x) + " " + this.operator + " " + this.second.compile(a, x);
return a.level <= x ? b : "(" + b + ")"
}, e.prototype.compileChain = function(a) {
var b, c, d, e;
e = this.first.second.cache(a), this.first.second = e[0], d = e[1], c = this.first.compile(a, x), b = "" + c + " " + (this.invert ? "&&" : "||") + " " + d.compile(a) + " " + this.operator + " " + this.second.compile(a, x);
return "(" + b + ")"
}, e.prototype.compileExistence = function(a) {
var b, c;
this.first.isComplex() && a.level > z ? (c = new A(a.scope.freeVariable("ref")), b = new H(new d(c, this.first))) : (b = this.first, c = b);
return (new r(new l(b), c, {
type: "if"
})).addElse(this.second).compile(a)
}, e.prototype.compileUnary = function(a) {
var b, c, d;
if (a.level >= u) return (new H(this)).compile(a);
c = [b = this.operator], d = b === "+" || b === "-", (b === "new" || b === "typeof" || b === "delete" || d && this.first instanceof e && this.first.operator === b) && c.push(" ");
if (d && this.first instanceof e || b === "new" && this.first.isStatement(a)) this.first = new H(this.first);
c.push(this.first.compile(a, x)), this.flip && c.reverse();
return c.join("")
}, e.prototype.toString = function(a) {
return e.__super__.toString.call(this, a, this.constructor.name + " " + this.operator)
};
return e
}(e), a.In = s = function(a) {
function b(a, b) {
this.object = a, this.array = b
}
bl(b, a), b.name = "In", b.prototype.children = ["object", "array"], b.prototype.invert = C, b.prototype.compileNode = function(a) {
var b, c, d, e, f;
if (this.array instanceof W && this.array.isArray()) {
f = this.array.base.objects;
for (d = 0, e = f.length; d < e; d++) {
c = f[d];
if (!(c instanceof P)) continue;
b = !0;
break
}
if (!b) return this.compileOrTest(a)
}
return this.compileLoopTest(a)
}, b.prototype.compileOrTest = function(a) {
var b, c, d, e, f, g, h, i, j;
if (this.array.base.objects.length === 0) return "" + !! this.negated;
i = this.object.cache(a, x), g = i[0], f = i[1], j = this.negated ? [" !== ", " && "] : [" === ", " || "], b = j[0], c = j[1], h = function() {
var c, h, i, j;
i = this.array.base.objects, j = [];
for (d = c = 0, h = i.length; c < h; d = ++c) e = i[d], j.push((d ? f : g) + b + e.compile(a, u));
return j
}.call(this), h = h.join(c);
return a.level < x ? h : "(" + h + ")"
}, b.prototype.compileLoopTest = function(a) {
var b, c, d, e;
e = this.object.cache(a, w), d = e[0], c = e[1], b = bh("indexOf") + (".call(" + this.array.compile(a, w) + ", " + c + ") ") + (this.negated ? "< 0" : ">= 0");
if (d === c) return b;
b = d + ", " + b;
return a.level < w ? b : "(" + b + ")"
}, b.prototype.toString = function(a) {
return b.__super__.toString.call(this, a, this.constructor.name + (this.negated ? "!" : ""))
};
return b
}(e), a.Try = U = function(a) {
function b(a, b, c, d) {
this.attempt = a, this.error = b, this.recovery = c, this.ensure = d
}
bl(b, a), b.name = "Try", b.prototype.children = ["attempt", "recovery", "ensure"], b.prototype.isStatement = Y, b.prototype.jumps = function(a) {
var b;
return this.attempt.jumps(a) || ((b = this.recovery) != null ? b.jumps(a) : void 0)
}, b.prototype.makeReturn = function(a) {
this.attempt && (this.attempt = this.attempt.makeReturn(a)), this.recovery && (this.recovery = this.recovery.makeReturn(a));
return this
}, b.prototype.compileNode = function(a) {
var b, c, d, e;
a.indent += R, d = this.error ? " (" + this.error.compile(a) + ") " : " ", e = this.attempt.compile(a, z), b = function() {
var b;
if (this.recovery) {
if (b = this.error.value, bm.call(M, b) >= 0) throw SyntaxError('catch variable may not be "' + this.error.value + '"');
a.scope.check(this.error.value) || a.scope.add(this.error.value, "param");
return " catch" + d + "{\n" + this.recovery.compile(a, z) + "\n" + this.tab + "}"
}
if (!this.ensure && !this.recovery) return " catch (_error) {}"
}.call(this), c = this.ensure ? " finally {\n" + this.ensure.compile(a, z) + "\n" + this.tab + "}" : "";
return "" + this.tab + "try {\n" + e + "\n" + this.tab + "}" + (b || "") + c
};
return b
}(e), a.Throw = T = function(a) {
function b(a) {
this.expression = a
}
bl(b, a), b.name = "Throw", b.prototype.children = ["expression"], b.prototype.isStatement = Y, b.prototype.jumps = D, b.prototype.makeReturn = S, b.prototype.compileNode = function(a) {
return this.tab + ("throw " + this.expression.compile(a) + ";")
};
return b
}(e), a.Existence = l = function(a) {
function b(a) {
this.expression = a
}
bl(b, a), b.name = "Existence", b.prototype.children = ["expression"], b.prototype.invert = C, b.prototype.compileNode = function(a) {
var b, c, d, e;
this.expression.front = this.front, d = this.expression.compile(a, x), o.test(d) && !a.scope.check(d) ? (e = this.negated ? ["===", "||"] : ["!==", "&&"], b = e[0], c = e[1], d = "typeof " + d + " " + b + ' "undefined" ' + c + " " + d + " " + b + " null") : d = "" + d + " " + (this.negated ? "==" : "!=") + " null";
return a.level <= v ? d : "(" + d + ")"
};
return b
}(e), a.Parens = H = function(a) {
function b(a) {
this.body = a
}
bl(b, a), b.name = "Parens", b.prototype.children = ["body"], b.prototype.unwrap = function() {
return this.body
}, b.prototype.isComplex = function() {
return this.body.isComplex()
}, b.prototype.compileNode = function(a) {
var b, c, d;
d = this.body.unwrap();
if (d instanceof W && d.isAtomic()) {
d.front = this.front;
return d.compile(a)
}
c = d.compile(a, y), b = a.level < x && (d instanceof F || d instanceof g || d instanceof n && d.returns);
return b ? c : "(" + c + ")"
};
return b
}(e), a.For = n = function(a) {
function b(a, b) {
var c;
this.source = b.source, this.guard = b.guard, this.step = b.step, this.name = b.name, this.index = b.index, this.body = f.wrap([a]), this.own = !! b.own, this.object = !! b.object, this.object && (c = [this.index, this.name], this.name = c[0], this.index = c[1]);
if (this.index instanceof W) throw SyntaxError("index cannot be a pattern matching expression");
this.range = this.source instanceof W && this.source.base instanceof J && !this.source.properties.length, this.pattern = this.name instanceof W;
if (this.range && this.index) throw SyntaxError("indexes do not apply to range loops");
if (this.range && this.pattern) throw SyntaxError("cannot pattern match over range loops");
this.returns = !1
}
bl(b, a), b.name = "For", b.prototype.children = ["body", "source", "guard", "step"], b.prototype.compileNode = function(a) {
var b, c, e, g, h, i, j, k, l, m, n, p, q, s, t, u, v, y, B, C, D, E, F, G, I;
b = f.wrap([this.body]), n = (I = bc(b.expressions)) != null ? I.jumps() : void 0, n && n instanceof K && (this.returns = !1), C = this.range ? this.source.base : this.source, B = a.scope, q = this.name && this.name.compile(a, w), j = this.index && this.index.compile(a, w), q && !this.pattern && B.find(q, {
immediate: !0
}), j && B.find(j, {
immediate: !0
}), this.returns && (y = B.freeVariable("results")), k = this.object && j || B.freeVariable("i"), l = this.range && q || j || k, m = l !== k ? "" + l + " = " : "", this.step && !this.range && (E = B.freeVariable("step")), this.pattern && (q = k), G = "", h = "", c = "", i = this.tab + R, this.range ? e = C.compile(bd(a, {
index: k,
name: q,
step: this.step
})) : (F = this.source.compile(a, w), (q || this.own) && !o.test(F) && (c = "" + this.tab + (t = B.freeVariable("ref")) + " = " + F + ";\n", F = t), q && !this.pattern && (s = "" + q + " = " + F + "[" + l + "]"), this.object || (p = B.freeVariable("len"), g = "" + m + k + " = 0, " + p + " = " + F + ".length", this.step && (g += ", " + E + " = " + this.step.compile(a, x)), D = "" + m + (this.step ? "" + k + " += " + E : l !== k ? "++" + k : "" + k + "++"), e = "" + g + "; " + k + " < " + p + "; " + D)), this.returns && (u = "" + this.tab + y + " = [];\n", v = "\n" + this.tab + "return " + y + ";", b.makeReturn(y)), this.guard && (b.expressions.length > 1 ? b.expressions.unshift(new r((new H(this.guard)).invert(), new A("continue"))) : this.guard && (b = f.wrap([new r(this.guard, b)]))), this.pattern && b.expressions.unshift(new d(this.name, new A("" + F + "[" + l + "]"))), c += this.pluckDirectCall(a, b), s && (G = "\n" + i + s + ";"), this.object && (e = "" + l + " in " + F, this.own && (h = "\n" + i + "if (!" + bh("hasProp") + ".call(" + F + ", " + l + ")) continue;")), b = b.compile(bd(a, {
indent: i
}), z), b && (b = "\n" + b + "\n");
return "" + c + (u || "") + this.tab + "for (" + e + ") {" + h + G + b + this.tab + "}" + (v || "")
}, b.prototype.pluckDirectCall = function(a, b) {
var c, e, f, h, i, k, l, m, n, o, p, q, r, s, t;
e = "", o = b.expressions;
for (i = m = 0, n = o.length; m < n; i = ++m) {
f = o[i], f = f.unwrapAll();
if (!(f instanceof g)) continue;
l = f.variable.unwrapAll();
if (!(l instanceof j || l instanceof W && ((p = l.base) != null ? p.unwrapAll() : void 0) instanceof j && l.properties.length === 1 && ((q = (r = l.properties[0].name) != null ? r.value : void 0) === "call" || q === "apply"))) continue;
h = ((s = l.base) != null ? s.unwrapAll() : void 0) || l, k = new A(a.scope.freeVariable("fn")), c = new W(k), l.base && (t = [c, l], l.base = t[0], c = t[1]), b.expressions[i] = new g(c, f.args), e += this.tab + (new d(k, h)).compile(a, z) + ";\n"
}
return e
};
return b
}(X), a.Switch = Q = function(a) {
function b(a, b, c) {
this.subject = a, this.cases = b, this.otherwise = c
}
bl(b, a), b.name = "Switch", b.prototype.children = ["subject", "cases", "otherwise"], b.prototype.isStatement = Y, b.prototype.jumps = function(a) {
var b, c, d, e, f, g, h;
a == null && (a = {
block: !0
}), f = this.cases;
for (d = 0, e = f.length; d < e; d++) {
g = f[d], c = g[0], b = g[1];
if (b.jumps(a)) return b
}
return (h = this.otherwise) != null ? h.jumps(a) : void 0
}, b.prototype.makeReturn = function(a) {
var b, c, d, e, g;
e = this.cases;
for (c = 0, d = e.length; c < d; c++) b = e[c], b[1].makeReturn(a);
a && (this.otherwise || (this.otherwise = new f([new A("void 0")]))), (g = this.otherwise) != null && g.makeReturn(a);
return this
}, b.prototype.compileNode = function(a) {
var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r;
i = a.indent + R, j = a.indent = i + R, d = this.tab + ("switch (" + (((o = this.subject) != null ? o.compile(a, y) : void 0) || !1) + ") {\n"), p = this.cases;
for (h = k = 0, m = p.length; k < m; h = ++k) {
q = p[h], f = q[0], b = q[1], r = bb([f]);
for (l = 0, n = r.length; l < n; l++) e = r[l], this.subject || (e = e.invert()), d += i + ("case " + e.compile(a, y) + ":\n");
if (c = b.compile(a, z)) d += c + "\n";
if (h === this.cases.length - 1 && !this.otherwise) break;
g = this.lastNonComment(b.expressions);
if (g instanceof K || g instanceof A && g.jumps() && g.value !== "debugger") continue;
d += j + "break;\n"
}
this.otherwise && this.otherwise.expressions.length && (d += i + ("default:\n" + this.otherwise.compile(a, z) + "\n"));
return d + this.tab + "}"
};
return b
}(e), a.If = r = function(a) {
function b(a, b, c) {
this.body = b, c == null && (c = {}), this.condition = c.type === "unless" ? a.invert() : a, this.elseBody = null, this.isChain = !1, this.soak = c.soak
}
bl(b, a), b.name = "If", b.prototype.children = ["condition", "body", "elseBody"], b.prototype.bodyNode = function() {
var a;
return (a = this.body) != null ? a.unwrap() : void 0
}, b.prototype.elseBodyNode = function() {
var a;
return (a = this.elseBody) != null ? a.unwrap() : void 0
}, b.prototype.addElse = function(a) {
this.isChain ? this.elseBodyNode().addElse(a) : (this.isChain = a instanceof b, this.elseBody = this.ensureBlock(a));
return this
}, b.prototype.isStatement = function(a) {
var b;
return (a != null ? a.level : void 0) === z || this.bodyNode().isStatement(a) || ((b = this.elseBodyNode()) != null ? b.isStatement(a) : void 0)
}, b.prototype.jumps = function(a) {
var b;
return this.body.jumps(a) || ((b = this.elseBody) != null ? b.jumps(a) : void 0)
}, b.prototype.compileNode = function(a) {
return this.isStatement(a) ? this.compileStatement(a) : this.compileExpression(a)
}, b.prototype.makeReturn = function(a) {
a && (this.elseBody || (this.elseBody = new f([new A("void 0")]))), this.body && (this.body = new f([this.body.makeReturn(a)])), this.elseBody && (this.elseBody = new f([this.elseBody.makeReturn(a)]));
return this
}, b.prototype.ensureBlock = function(a) {
return a instanceof f ? a : new f([a])
}, b.prototype.compileStatement = function(a) {
var c, d, e, f, g, h, i;
e = $(a, "chainChild"), g = $(a, "isExistentialEquals");
if (g) return (new b(this.condition.invert(), this.elseBodyNode(), {
type: "if"
})).compile(a);
f = this.condition.compile(a, y), a.indent += R, c = this.ensureBlock(this.body), d = c.compile(a);
if (1 === ((i = c.expressions) != null ? i.length : void 0) && !this.elseBody && !e && d && f && -1 === d.indexOf("\n") && 80 > f.length + d.length) return "" + this.tab + "if (" + f + ") " + d.replace(/^\s+/, "");
d && (d = "\n" + d + "\n" + this.tab), h = "if (" + f + ") {" + d + "}", e || (h = this.tab + h);
if (!this.elseBody) return h;
return h + " else " + (this.isChain ? (a.indent = this.tab, a.chainChild = !0, this.elseBody.unwrap().compile(a, z)) : "{\n" + this.elseBody.compile(a, z) + "\n" + this.tab + "}")
}, b.prototype.compileExpression = function(a) {
var b, c, d, e;
e = this.condition.compile(a, v), c = this.bodyNode().compile(a, w), b = this.elseBodyNode() ? this.elseBodyNode().compile(a, w) : "void 0", d = "" + e + " ? " + c + " : " + b;
return a.level >= v ? "(" + d + ")" : d
}, b.prototype.unfoldSoak = function() {
return this.soak && this
};
return b
}(e), i = {
wrap: function(a, c, d) {
var e, h, i, k, l;
if (a.jumps()) return a;
i = new j([], f.wrap([a])), e = [];
if ((k = a.contains(this.literalArgs)) || a.contains(this.literalThis)) l = new A(k ? "apply" : "call"), e = [new A("this")], k && e.push(new A("arguments")), i = new W(i, [new b(l)]);
i.noReturn = d, h = new g(i, e);
return c ? f.wrap([h]) : h
},
literalArgs: function(a) {
return a instanceof A && a.value === "arguments" && !a.asKey
},
literalThis: function(a) {
return a instanceof A && a.value === "this" && !a.asKey || a instanceof j && a.bound
}
}, bg = function(a, b, c) {
var d;
if ( !! (d = b[c].unfoldSoak(a))) {
b[c] = d.body, d.body = new W(b);
return d
}
}, V = {
"extends": function() {
return "function(child, parent) { for (var key in parent) { if (" + bh("hasProp") + ".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child; }"
},
bind: function() {
return "function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"
},
indexOf: function() {
return "[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"
},
hasProp: function() {
return "{}.hasOwnProperty"
},
slice: function() {
return "[].slice"
}
}, z = 1, y = 2, w = 3, v = 4, x = 5, u = 6, R = " ", p = "[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*", o = RegExp("^" + p + "$"), L = /^[+-]?\d+$/, B = RegExp("^(?:(" + p + ")\\.prototype(?:\\.(" + p + ")|\\[(\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*')\\]|\\[(0x[\\da-fA-F]+|\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\]))|(" + p + ")$"), q = /^['"]/, bh = function(a) {
var b;
b = "__" + a, N.root.assign(b, V[a]());
return b
}, be = function(a, b) {
a = a.replace(/\n/g, "$&" + b);
return a.replace(/\s+$/, "")
}
}).call(this)
}, require["./coffee-script"] = new function() {
var a = this;
(function() {
var b, c, d, e, f, g, h, i, j, k = {}.hasOwnProperty;
e = require("fs"), h = require("path"), j = require("./lexer"), b = j.Lexer, c = j.RESERVED, g = require("./parser").parser, i = require("vm"), require.extensions ? require.extensions[".coffee"] = function(a, b) {
var c;
c = d(e.readFileSync(b, "utf8"), {
filename: b
});
return a._compile(c, b)
} : require.registerExtension && require.registerExtension(".coffee", function(a) {
return d(a)
}), a.VERSION = "1.2.1-pre", a.RESERVED = c, a.helpers = require("./helpers"), a.compile = d = function(b, c) {
var d, e, h;
c == null && (c = {}), h = a.helpers.merge;
try {
e = g.parse(f.tokenize(b)).compile(c);
if (!c.header) return e
} catch (i) {
c.filename && (i.message = "In " + c.filename + ", " + i.message);
throw i
}
d = "Generated by CoffeeScript " + this.VERSION;
return "// " + d + "\n" + e
}, a.tokens = function(a, b) {
return f.tokenize(a, b)
}, a.nodes = function(a, b) {
return typeof a == "string" ? g.parse(f.tokenize(a, b)) : g.parse(a)
}, a.run = function(a, b) {
var c;
b == null && (b = {}), c = require.main, c.filename = process.argv[1] = b.filename ? e.realpathSync(b.filename) : ".", c.moduleCache && (c.moduleCache = {}), c.paths = require("module")._nodeModulePaths(h.dirname(b.filename));
return h.extname(c.filename) !== ".coffee" || require.extensions ? c._compile(d(a, b), c.filename) : c._compile(a, c.filename)
}, a.eval = function(a, b) {
var c, e, f, g, j, l, m, n, o, p, q, r, s, t;
b == null && (b = {});
if ( !! (a = a.trim())) {
e = i.Script;
if (e) {
if (b.sandbox != null) {
if (b.sandbox instanceof e.createContext().constructor) m = b.sandbox;
else {
m = e.createContext(), r = b.sandbox;
for (g in r) {
if (!k.call(r, g)) continue;
n = r[g], m[g] = n
}
}
m.global = m.root = m.GLOBAL = m
} else m = global;
m.__filename = b.filename || "eval", m.__dirname = h.dirname(m.__filename);
if (m === global && !m.module && !m.require) {
c = require("module"), m.module = q = new c(b.modulename || "eval"), m.require = t = function(a) {
return c._load(a, q, !0)
}, q.filename = m.__filename, s = Object.getOwnPropertyNames(require);
for (o = 0, p = s.length; o < p; o++) l = s[o], l !== "paths" && (t[l] = require[l]);
t.paths = q.paths = c._nodeModulePaths(process.cwd()), t.resolve = function(a) {
return c._resolveFilename(a, q)
}
}
}
j = {};
for (g in b) {
if (!k.call(b, g)) continue;
n = b[g], j[g] = n
}
j.bare = !0, f = d(a, j);
return m === global ? i.runInThisContext(f) : i.runInContext(f, m)
}
}, f = new b, g.lexer = {
lex: function() {
var a, b;
b = this.tokens[this.pos++] || [""], a = b[0], this.yytext = b[1], this.yylineno = b[2];
return a
},
setInput: function(a) {
this.tokens = a;
return this.pos = 0
},
upcomingInput: function() {
return ""
}
}, g.yy = require("./nodes")
}).call(this)
}, require["./browser"] = new function() {
var exports = this;
(function() {
var CoffeeScript, runScripts;
CoffeeScript = require("./coffee-script"), CoffeeScript.require = require, CoffeeScript.eval = function(code, options) {
options == null && (options = {}), options.bare == null && (options.bare = !0);
return eval(CoffeeScript.compile(code, options))
}, CoffeeScript.run = function(a, b) {
b == null && (b = {}), b.bare = !0;
return Function(CoffeeScript.compile(a, b))()
};
typeof window != "undefined" && window !== null && (CoffeeScript.load = function(a, b) {
var c;
c = new(window.ActiveXObject || XMLHttpRequest)("Microsoft.XMLHTTP"), c.open("GET", a, !0), "overrideMimeType" in c && c.overrideMimeType("text/plain"), c.onreadystatechange = function() {
var d;
if (c.readyState === 4) {
if ((d = c.status) === 0 || d === 200) CoffeeScript.run(c.responseText);
else throw new Error("Could not load " + a);
if (b) return b()
}
};
return c.send(null)
}, runScripts = function() {
var a, b, c, d, e, f;
f = document.getElementsByTagName("script"), a = function() {
var a, b, c;
c = [];
for (a = 0, b = f.length; a < b; a++) e = f[a], e.type === "text/coffeescript" && c.push(e);
return c
}(), c = 0, d = a.length, (b = function() {
var d;
d = a[c++];
if ((d != null ? d.type : void 0) === "text/coffeescript") {
if (d.src) return CoffeeScript.load(d.src, b);
CoffeeScript.run(d.innerHTML);
return b()
}
})();
return null
}, window.addEventListener ? addEventListener("DOMContentLoaded", runScripts, !1) : attachEvent("onload", runScripts))
}).call(this)
};
return require["./coffee-script"]
}();
typeof define == "function" && define.amd ? define(function() {
return CoffeeScript
}) : root.CoffeeScript = CoffeeScript
})(this)
;
(function() {
}).call(this);