Socket
Socket
Sign inDemoInstall

velocityjs

Package Overview
Dependencies
Maintainers
1
Versions
78
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

velocityjs - npm Package Compare versions

Comparing version 0.4.7 to 0.4.8

coverage/coverage.json

6

History.md

@@ -6,1 +6,7 @@ ## 0.4

- fix issue #32
### 0.4.8 / 2014-12-20
- fix issue #32
- Remove useless code: Helper
- merge pull request #34

8

package.json
{
"name": "velocityjs",
"description": "Velocity Template Language(VTL) for JavaScript",
"version": "0.4.7",
"version": "0.4.8",
"keywords": [

@@ -21,8 +21,8 @@ "velocity template"

"devDependencies": {
"mocha": ">=1.7.2",
"istanbul": "~0.3.5",
"jison": ">=0.3",
"coffee-script": ">=1.4.0"
"mocha": ">=1.7.2"
},
"scripts": {
"test" : "make test"
"test": "make test"
},

@@ -29,0 +29,0 @@ "spm": {

Velocity - Template Engine
==========================
[![Build Status](https://secure.travis-ci.org/shepherdwind/velocity.js.png)](https://travis-ci.org/shepherdwind/velocity.js)
[![NPM version](https://badge.fury.io/js/velocityjs.png)](http://badge.fury.io/js/velocityjs)
[![NPM](https://nodei.co/npm/velocityjs.png?downloads=true&stars=true)](https://nodei.co/npm/velocityjs/)
[![NPM](https://nodei.co/npm/velocityjs.png?downloads=true)](https://nodei.co/npm/velocityjs/)

@@ -8,0 +7,0 @@ velocity.js是[velocity](http://velocity.apache.org/)模板语法的javascript实现。

@@ -14,25 +14,5 @@ module.exports = function(Velocity, utils){

this.unescape = {};
utils.forEach(this.asts, this._init, this);
},
_init: function(ast, i){
if (!ast.type || ast.type !== 'references') {
this._trim(i + 1);
}
},
/**
* 删除多余的换行符,规则,所有非references的指令后面的换行符,都去除接下来的
* 换行符
*/
_trim: function(i){
var asts = this.asts;
var _ast = asts[i];
if (typeof _ast === 'string' && _ast.slice(0, 1) === "\n") {
asts[i] = _ast.slice(1);
}
},
/**
* @param context {object} 上下文环境,数据对象

@@ -55,3 +35,3 @@ * @param macro {object} self defined #macro

return str.replace(/\s+\n+/g, '\n');
return str;
},

@@ -58,0 +38,0 @@

@@ -11,3 +11,3 @@ var utils = require('../utils');

};
utils.mixin(config, config);
utils.mixin(this.config, config);
this.init();

@@ -14,0 +14,0 @@ }

@@ -124,51 +124,6 @@ module.exports = function(Velocity, utils){

evalStr: function(str){
// 如果是Broswer环境,使用正则执行evalStr,如果是node环境,或者自行设置
// Velocity.Parser = Parser,可以对evalStr完整支持
if (Velocity.Parser) {
var asts = Velocity.Parser.parse(str);
ret = this._render(asts);
} else {
var ret = str;
var reg = /\$\{{0,1}([_a-z][a-z_\-0-9.]*)\}{0,1}/gi;
var self = this;
ret = ret.replace(reg, function(){
return self._getFromVarname(arguments[1]);
});
}
return ret;
},
/**
* 通过变量名获取变量的值
* @param varname {string} 变量名,比如$name.name,只支持一种形式,变量和属性
* 的取值,index和method不支持,在字符处理中,只处理"$varname1 $foo.bar" 类似
* 的变量,对于复杂类型不支持
* @return ret {string} 变量对应的值
*/
_getFromVarname: function(varname){
var varPath = varname.split('.');
var ast = {
type : "references",
id : varPath[0],
leader : "$"
};
var path = [];
for (var i=1; i < varPath.length; i++) {
path.push({
type: 'property',
id: varPath[i]
});
}
if (path.length) ast.path = path;
return this.getReferences(ast);
var asts = Velocity.Parser.parse(str);
return this._render(asts);
}
});
};

@@ -1,2 +0,2 @@

/* parser generated by jison 0.4.13 */
/* parser generated by jison 0.4.15 */
/*

@@ -74,3 +74,4 @@ Returns a Parser object of the following structure:

*/
var velocity = (function(){
var parser = (function(){
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,8],$V1=[1,18],$V2=[1,9],$V3=[1,22],$V4=[1,21],$V5=[4,10,19,33,34,79],$V6=[1,26],$V7=[1,30],$V8=[1,31],$V9=[1,32],$Va=[1,33],$Vb=[4,10,19,22,33,34,44,45,46,49,50,51,52,53,54,55,56,57,58,59,60,61,72,79,81,91],$Vc=[1,49],$Vd=[1,54],$Ve=[1,55],$Vf=[1,80],$Vg=[1,91],$Vh=[1,83],$Vi=[1,81],$Vj=[1,86],$Vk=[1,90],$Vl=[1,87],$Vm=[1,88],$Vn=[4,10,19,22,33,34,44,45,46,49,50,51,52,53,54,55,56,57,58,59,60,61,71,72,77,79,80,81,91],$Vo=[1,118],$Vp=[1,114],$Vq=[1,115],$Vr=[1,126],$Vs=[22,45,81],$Vt=[2,89],$Vu=[22,44,45,72,81],$Vv=[22,44,45,49,50,51,52,53,54,55,56,57,58,59,60,61,72,79,81],$Vw=[22,44,45,49,50,51,52,53,54,55,56,57,58,59,60,61,72,79,81,93],$Vx=[2,102],$Vy=[22,44,45,49,50,51,52,53,54,55,56,57,58,59,60,61,72,79,81,91],$Vz=[2,105],$VA=[1,135],$VB=[1,141],$VC=[22,44,45],$VD=[1,146],$VE=[1,147],$VF=[1,148],$VG=[1,149],$VH=[1,150],$VI=[1,151],$VJ=[1,152],$VK=[1,153],$VL=[1,154],$VM=[1,155],$VN=[1,156],$VO=[1,157],$VP=[1,158],$VQ=[22,49,50,51,52,53,54,55,56,57,58,59,60,61],$VR=[45,81],$VS=[2,106],$VT=[22,33],$VU=[1,205],$VV=[1,204],$VW=[45,72],$VX=[22,49,50],$VY=[22,49,50,51,52,56,57,58,59,60,61],$VZ=[22,49,50,56,57,58,59,60,61];
var parser = {trace: function trace() { },

@@ -81,4 +82,3 @@ yy: {},

productions_: [0,[3,1],[3,2],[5,1],[5,2],[6,1],[6,1],[6,1],[6,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,4],[8,1],[8,1],[11,5],[12,5],[13,5],[14,2],[15,2],[16,8],[16,8],[17,2],[18,6],[23,6],[23,5],[40,1],[40,2],[24,5],[24,4],[42,1],[42,1],[42,3],[42,3],[42,3],[42,3],[41,1],[41,2],[41,3],[41,2],[26,3],[28,1],[28,1],[28,1],[48,3],[48,3],[48,3],[48,3],[48,3],[48,3],[48,3],[48,3],[48,3],[48,3],[48,3],[48,3],[48,3],[48,1],[48,2],[48,2],[48,1],[48,1],[62,3],[7,5],[7,3],[7,5],[7,3],[7,2],[7,4],[7,2],[7,4],[65,1],[65,1],[67,1],[67,1],[66,1],[66,2],[73,1],[73,1],[73,1],[74,2],[68,4],[68,3],[78,1],[78,1],[78,3],[78,3],[76,2],[76,2],[75,3],[75,3],[75,3],[75,2],[75,2],[64,1],[64,1],[64,1],[83,1],[83,3],[83,4],[85,1],[85,2],[82,1],[82,1],[43,1],[43,1],[43,1],[36,3],[36,1],[36,2],[90,5],[90,5],[90,5],[90,5],[47,3],[47,2],[92,3],[92,3],[92,2],[92,5],[92,5],[9,1],[9,1],[9,2],[9,3],[9,3],[9,2]],
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */
/**/) {
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
/* this == yyval */

@@ -88,267 +88,191 @@

switch (yystate) {
case 1: return [];
case 1:
return [];
break;
case 2: return $$[$0-1];
case 2:
return $$[$0-1];
break;
case 3: this.$ = [$$[$0]];
case 3: case 31: case 35: case 36: case 80: case 88: case 89:
this.$ = [$$[$0]];
break;
case 4: this.$ = [].concat($$[$0-1], $$[$0]);
case 4: case 32: case 81:
this.$ = [].concat($$[$0-1], $$[$0]);
break;
case 5: $$[$0]['prue'] = true; this.$ = $$[$0];
case 5:
$$[$0]['prue'] = true; this.$ = $$[$0];
break;
case 6: this.$ = $$[$0];
case 6: case 7: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 18: case 19: case 41: case 42: case 46: case 47: case 48: case 62: case 65: case 66: case 76: case 77: case 78: case 79: case 85: case 92: case 99: case 100: case 105: case 111: case 113: case 126: case 127:
this.$ = $$[$0];
break;
case 7: this.$ = $$[$0];
case 8:
this.$ = {type: 'comment', value: $$[$0] };
break;
case 8: this.$ = {type: 'comment', value: $$[$0] };
case 17:
this.$ = { type: 'noescape' };
break;
case 9: this.$ = $$[$0];
case 20:
this.$ = {type: 'set', equal: $$[$0-1] };
break;
case 10: this.$ = $$[$0];
case 21:
this.$ = {type: 'if', condition: $$[$0-1] };
break;
case 11: this.$ = $$[$0];
case 22:
this.$ = {type: 'elseif', condition: $$[$0-1] };
break;
case 12: this.$ = $$[$0];
case 23:
this.$ = {type: 'else' };
break;
case 13: this.$ = $$[$0];
case 24:
this.$ = {type: 'end' };
break;
case 14: this.$ = $$[$0];
case 25: case 26:
this.$ = {type: 'foreach', to: $$[$0-3], from: $$[$0-1] };
break;
case 15: this.$ = $$[$0];
case 27:
this.$ = {type: $$[$0] };
break;
case 16: this.$ = $$[$0];
case 28:
this.$ = {type: 'define', id: $$[$0-1] };
break;
case 17: this.$ = { type: 'noescape' };
case 29:
this.$ = {type: 'macro', id: $$[$0-2], args: $$[$0-1] };
break;
case 18: this.$ = $$[$0];
case 30:
this.$ = {type: 'macro', id: $$[$0-1] };
break;
case 19: this.$ = $$[$0];
case 33:
this.$ = { type:"macro_call", id: $$[$0-3].replace(/^\s+|\s+$/g, ''), args: $$[$0-1] };
break;
case 20: this.$ = {type: 'set', equal: $$[$0-1] };
case 34:
this.$ = { type:"macro_call", id: $$[$0-2].replace(/^\s+|\s+$/g, '') };
break;
case 21: this.$ = {type: 'if', condition: $$[$0-1] };
case 37: case 38: case 39: case 40: case 90: case 91:
this.$ = [].concat($$[$0-2], $$[$0]);
break;
case 22: this.$ = {type: 'elseif', condition: $$[$0-1] };
case 43: case 44: case 94: case 95:
this.$ = $$[$0-1];
break;
case 23: this.$ = {type: 'else' };
case 45:
this.$ = [$$[$0-2], $$[$0]];
break;
case 24: this.$ = {type: 'end' };
case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: case 58: case 59: case 60: case 61:
this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
break;
case 25: this.$ = {type: 'foreach', to: $$[$0-3], from: $$[$0-1] };
case 63:
this.$ = {type: 'math', expression: [$$[$0]], operator: 'minus' };
break;
case 26: this.$ = {type: 'foreach', to: $$[$0-3], from: $$[$0-1] };
case 64:
this.$ = {type: 'math', expression: [$$[$0]], operator: 'not' };
break;
case 27: this.$ = {type: $$[$0] };
case 67:
this.$ = {type: 'math', expression: [$$[$0-1]], operator: 'parenthesis' };
break;
case 28: this.$ = {type: 'define', id: $$[$0-1] };
case 68:
this.$ = {type: "references", id: $$[$0-2], path: $$[$0-1], isWraped: true, leader: $$[$0-4] };
break;
case 29: this.$ = {type: 'macro', id: $$[$0-2], args: $$[$0-1] };
case 69:
this.$ = {type: "references", id: $$[$0-1], path: $$[$0], leader: $$[$0-2] };
break;
case 30: this.$ = {type: 'macro', id: $$[$0-1] };
case 70:
this.$ = {type: "references", id: $$[$0-2].id, path: $$[$0-1], isWraped: true, leader: $$[$0-4], args: $$[$0-2].args };
break;
case 31: this.$ = [$$[$0]];
case 71:
this.$ = {type: "references", id: $$[$0-1].id, path: $$[$0], leader: $$[$0-2], args: $$[$0-1].args };
break;
case 32: this.$ = [].concat($$[$0-1], $$[$0]);
case 72:
this.$ = {type: "references", id: $$[$0], leader: $$[$0-1] };
break;
case 33: this.$ = { type:"macro_call", id: $$[$0-3].replace(/^\s+|\s+$/g, ''), args: $$[$0-1] };
case 73:
this.$ = {type: "references", id: $$[$0-1], isWraped: true, leader: $$[$0-3] };
break;
case 34: this.$ = { type:"macro_call", id: $$[$0-2].replace(/^\s+|\s+$/g, '') };
case 74:
this.$ = {type: "references", id: $$[$0].id, leader: $$[$0-1], args: $$[$0].args };
break;
case 35: this.$ = [$$[$0]];
case 75:
this.$ = {type: "references", id: $$[$0-1].id, isWraped: true, args: $$[$0-1].args, leader: $$[$0-3] };
break;
case 36: this.$ = [$$[$0]];
case 82:
this.$ = {type:"method", id: $$[$0].id, args: $$[$0].args };
break;
case 37: this.$ = [].concat($$[$0-2], $$[$0]);
case 83:
this.$ = {type: "index", id: $$[$0] };
break;
case 38: this.$ = [].concat($$[$0-2], $$[$0]);
case 84:
this.$ = {type: "property", id: $$[$0] }; if ($$[$0].type === 'content') this.$ = $$[$0];
break;
case 39: this.$ = [].concat($$[$0-2], $$[$0]);
case 86:
this.$ = {id: $$[$0-3], args: $$[$0-1] };
break;
case 40: this.$ = [].concat($$[$0-2], $$[$0]);
case 87:
this.$ = {id: $$[$0-2], args: false };
break;
case 41: this.$ = $$[$0];
case 93:
this.$ = {type: 'content', value: $$[$0-1] + $$[$0] };
break;
case 42: this.$ = $$[$0];
case 96:
this.$ = {type: "content", value: $$[$0-2] + $$[$0-1].value + $$[$0] };
break;
case 43: this.$ = $$[$0-1];
case 97: case 98:
this.$ = {type: "content", value: $$[$0-1] + $$[$0] };
break;
case 44: this.$ = $$[$0-1];
case 101:
this.$ = {type: 'bool', value: $$[$0] };
break;
case 45: this.$ = [$$[$0-2], $$[$0]];
case 102:
this.$ = {type: "integer", value: $$[$0]};
break;
case 46: this.$ = $$[$0];
case 103:
this.$ = {type: "decimal", value: + ($$[$0-2] + '.' + $$[$0]) };
break;
case 47: this.$ = $$[$0];
case 104:
this.$ = {type: "decimal", value: - ($$[$0-2] + '.' + $$[$0]) };
break;
case 48: this.$ = $$[$0];
case 106:
this.$ = - parseInt($$[$0], 10);
break;
case 49: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 107:
this.$ = {type: 'string', value: $$[$0] };
break;
case 50: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 108:
this.$ = {type: 'string', value: $$[$0], isEval: true };
break;
case 51: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 109: case 110:
this.$ = $$[$0];
break;
case 52: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 112:
this.$ = {type: 'array', value: $$[$0-1] };
break;
case 53: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 114:
this.$ = {type: 'array', value: [] };
break;
case 54: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 115: case 116: case 117: case 118:
this.$ = {type: 'array', isRange: true, value: [$$[$0-3], $$[$0-1]]};
break;
case 55: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 119:
this.$ = {type: 'map', value: $$[$0-1] };
break;
case 56: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 120:
this.$ = {type: 'map'};
break;
case 57: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 121: case 122:
this.$ = {}; this.$[$$[$0-2].value] = $$[$0];
break;
case 58: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 123:
this.$ = {}; this.$[$$[$0-1].value] = $$[$01];
break;
case 59: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 124: case 125:
this.$ = $$[$0-4]; this.$[$$[$0-2].value] = $$[$0];
break;
case 60: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 128: case 131:
this.$ = $$[$0-1] + $$[$0];
break;
case 61: this.$ = {type: 'math', expression: [$$[$0-2], $$[$0]], operator: $$[$0-1] };
case 129:
this.$ = $$[$0-2] + $$[$0-1] + $$[$0];
break;
case 62: this.$ = $$[$0];
case 130:
this.$ = $$[$0-2] + $$[$0-1];
break;
case 63: this.$ = {type: 'math', expression: [$$[$0]], operator: 'minus' };
break;
case 64: this.$ = {type: 'math', expression: [$$[$0]], operator: 'not' };
break;
case 65: this.$ = $$[$0];
break;
case 66: this.$ = $$[$0];
break;
case 67: this.$ = {type: 'math', expression: [$$[$0-1]], operator: 'parenthesis' };
break;
case 68: this.$ = {type: "references", id: $$[$0-2], path: $$[$0-1], isWraped: true, leader: $$[$0-4] };
break;
case 69: this.$ = {type: "references", id: $$[$0-1], path: $$[$0], leader: $$[$0-2] };
break;
case 70: this.$ = {type: "references", id: $$[$0-2].id, path: $$[$0-1], isWraped: true, leader: $$[$0-4], args: $$[$0-2].args };
break;
case 71: this.$ = {type: "references", id: $$[$0-1].id, path: $$[$0], leader: $$[$0-2], args: $$[$0-1].args };
break;
case 72: this.$ = {type: "references", id: $$[$0], leader: $$[$0-1] };
break;
case 73: this.$ = {type: "references", id: $$[$0-1], isWraped: true, leader: $$[$0-3] };
break;
case 74: this.$ = {type: "references", id: $$[$0].id, leader: $$[$0-1], args: $$[$0].args };
break;
case 75: this.$ = {type: "references", id: $$[$0-1].id, isWraped: true, args: $$[$0-1].args, leader: $$[$0-3] };
break;
case 76: this.$ = $$[$0];
break;
case 77: this.$ = $$[$0];
break;
case 78: this.$ = $$[$0];
break;
case 79: this.$ = $$[$0];
break;
case 80: this.$ = [$$[$0]];
break;
case 81: this.$ = [].concat($$[$0-1], $$[$0]);
break;
case 82: this.$ = {type:"method", id: $$[$0].id, args: $$[$0].args };
break;
case 83: this.$ = {type: "index", id: $$[$0] };
break;
case 84: this.$ = {type: "property", id: $$[$0] }; if ($$[$0].type === 'content') this.$ = $$[$0];
break;
case 85: this.$ = $$[$0];
break;
case 86: this.$ = {id: $$[$0-3], args: $$[$0-1] };
break;
case 87: this.$ = {id: $$[$0-2], args: false };
break;
case 88: this.$ = [$$[$0]];
break;
case 89: this.$ = [$$[$0]];
break;
case 90: this.$ = [].concat($$[$0-2], $$[$0]);
break;
case 91: this.$ = [].concat($$[$0-2], $$[$0]);
break;
case 92: this.$ = $$[$0];
break;
case 93: this.$ = {type: 'content', value: $$[$0-1] + $$[$0] };
break;
case 94: this.$ = $$[$0-1];
break;
case 95: this.$ = $$[$0-1];
break;
case 96: this.$ = {type: "content", value: $$[$0-2] + $$[$0-1].value + $$[$0] };
break;
case 97: this.$ = {type: "content", value: $$[$0-1] + $$[$0] };
break;
case 98: this.$ = {type: "content", value: $$[$0-1] + $$[$0] };
break;
case 99: this.$ = $$[$0];
break;
case 100: this.$ = $$[$0];
break;
case 101: this.$ = {type: 'bool', value: $$[$0] };
break;
case 102: this.$ = {type: "integer", value: $$[$0]};
break;
case 103: this.$ = {type: "decimal", value: + ($$[$0-2] + '.' + $$[$0]) };
break;
case 104: this.$ = {type: "decimal", value: - ($$[$0-2] + '.' + $$[$0]) };
break;
case 105: this.$ = $$[$0];
break;
case 106: this.$ = - parseInt($$[$0], 10);
break;
case 107: this.$ = {type: 'string', value: $$[$0] };
break;
case 108: this.$ = {type: 'string', value: $$[$0], isEval: true };
break;
case 109: this.$ = $$[$0];
break;
case 110: this.$ = $$[$0];
break;
case 111: this.$ = $$[$0];
break;
case 112: this.$ = {type: 'array', value: $$[$0-1] };
break;
case 113: this.$ = $$[$0];
break;
case 114: this.$ = {type: 'array', value: [] };
break;
case 115: this.$ = {type: 'array', isRange: true, value: [$$[$0-3], $$[$0-1]]};
break;
case 116: this.$ = {type: 'array', isRange: true, value: [$$[$0-3], $$[$0-1]]};
break;
case 117: this.$ = {type: 'array', isRange: true, value: [$$[$0-3], $$[$0-1]]};
break;
case 118: this.$ = {type: 'array', isRange: true, value: [$$[$0-3], $$[$0-1]]};
break;
case 119: this.$ = {type: 'map', value: $$[$0-1] };
break;
case 120: this.$ = {type: 'map'};
break;
case 121: this.$ = {}; this.$[$$[$0-2].value] = $$[$0];
break;
case 122: this.$ = {}; this.$[$$[$0-2].value] = $$[$0];
break;
case 123: this.$ = {}; this.$[$$[$0-1].value] = $$[$01];
break;
case 124: this.$ = $$[$0-4]; this.$[$$[$0-2].value] = $$[$0];
break;
case 125: this.$ = $$[$0-4]; this.$[$$[$0-2].value] = $$[$0];
break;
case 126: this.$ = $$[$0];
break;
case 127: this.$ = $$[$0];
break;
case 128: this.$ = $$[$0-1] + $$[$0];
break;
case 129: this.$ = $$[$0-2] + $$[$0-1] + $$[$0];
break;
case 130: this.$ = $$[$0-2] + $$[$0-1];
break;
case 131: this.$ = $$[$0-1] + $$[$0];
break;
}
},
table: [{3:1,4:[1,2],5:3,6:4,7:5,8:6,9:7,10:[1,8],11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:[1,18],23:19,24:20,33:[1,9],34:[1,22],79:[1,21]},{1:[3]},{1:[2,1]},{4:[1,23],6:24,7:5,8:6,9:7,10:[1,8],11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:[1,18],23:19,24:20,33:[1,9],34:[1,22],79:[1,21]},{4:[2,3],10:[2,3],19:[2,3],33:[2,3],34:[2,3],79:[2,3]},{4:[2,5],10:[2,5],19:[2,5],33:[2,5],34:[2,5],79:[2,5]},{4:[2,6],10:[2,6],19:[2,6],33:[2,6],34:[2,6],79:[2,6]},{4:[2,7],10:[2,7],19:[2,7],33:[2,7],34:[2,7],79:[2,7]},{4:[2,8],10:[2,8],19:[2,8],33:[2,8],34:[2,8],79:[2,8]},{34:[1,26],65:25,67:28,68:27,69:[1,30],70:[1,31],71:[1,32],72:[1,33],79:[1,29]},{4:[2,9],10:[2,9],19:[2,9],33:[2,9],34:[2,9],79:[2,9]},{4:[2,10],10:[2,10],19:[2,10],33:[2,10],34:[2,10],79:[2,10]},{4:[2,11],10:[2,11],19:[2,11],33:[2,11],34:[2,11],79:[2,11]},{4:[2,12],10:[2,12],19:[2,12],33:[2,12],34:[2,12],79:[2,12]},{4:[2,13],10:[2,13],19:[2,13],33:[2,13],34:[2,13],79:[2,13]},{4:[2,14],10:[2,14],19:[2,14],33:[2,14],34:[2,14],79:[2,14]},{4:[2,15],10:[2,15],19:[2,15],33:[2,15],34:[2,15],79:[2,15]},{4:[2,16],10:[2,16],19:[2,16],33:[2,16],34:[2,16],79:[2,16]},{20:[1,34],25:[1,37],27:[1,38],29:[1,39],30:[1,40],31:[1,41],32:[1,42],34:[1,36],37:[1,43],38:[1,44],39:[1,45],79:[1,35]},{4:[2,18],10:[2,18],19:[2,18],33:[2,18],34:[2,18],79:[2,18]},{4:[2,19],10:[2,19],19:[2,19],33:[2,19],34:[2,19],79:[2,19]},{4:[2,126],10:[2,126],19:[2,126],33:[2,126],34:[2,126],79:[2,126]},{4:[2,127],10:[2,127],19:[2,127],33:[2,127],34:[2,127],79:[2,127]},{1:[2,2]},{4:[2,4],10:[2,4],19:[2,4],33:[2,4],34:[2,4],79:[2,4]},{34:[1,46],68:47},{4:[2,72],10:[2,72],19:[2,72],21:[1,49],22:[2,72],33:[2,72],34:[2,72],44:[2,72],45:[2,72],46:[2,72],49:[2,72],50:[2,72],51:[2,72],52:[2,72],53:[2,72],54:[2,72],55:[2,72],56:[2,72],57:[2,72],58:[2,72],59:[2,72],60:[2,72],61:[2,72],66:48,72:[2,72],73:50,74:51,75:52,76:53,77:[1,54],79:[2,72],80:[1,55],81:[2,72],91:[2,72]},{4:[2,74],10:[2,74],19:[2,74],22:[2,74],33:[2,74],34:[2,74],44:[2,74],45:[2,74],46:[2,74],49:[2,74],50:[2,74],51:[2,74],52:[2,74],53:[2,74],54:[2,74],55:[2,74],56:[2,74],57:[2,74],58:[2,74],59:[2,74],60:[2,74],61:[2,74],66:56,72:[2,74],73:50,74:51,75:52,76:53,77:[1,54],79:[2,74],80:[1,55],81:[2,74],91:[2,74]},{34:[1,58],68:57},{4:[2,131],10:[2,131],19:[2,131],33:[2,131],34:[2,131],79:[2,131]},{34:[2,76]},{34:[2,77]},{4:[2,78],10:[2,78],19:[2,78],22:[2,78],33:[2,78],34:[2,78],44:[2,78],45:[2,78],46:[2,78],49:[2,78],50:[2,78],51:[2,78],52:[2,78],53:[2,78],54:[2,78],55:[2,78],56:[2,78],57:[2,78],58:[2,78],59:[2,78],60:[2,78],61:[2,78],72:[2,78],79:[2,78],81:[2,78],91:[2,78]},{4:[2,79],10:[2,79],19:[2,79],22:[2,79],33:[2,79],34:[2,79],44:[2,79],45:[2,79],46:[2,79],49:[2,79],50:[2,79],51:[2,79],52:[2,79],53:[2,79],54:[2,79],55:[2,79],56:[2,79],57:[2,79],58:[2,79],59:[2,79],60:[2,79],61:[2,79],72:[2,79],79:[2,79],81:[2,79],91:[2,79]},{21:[1,59]},{4:[2,128],10:[2,128],19:[2,128],33:[2,128],34:[2,128],79:[2,128]},{4:[1,61],21:[1,62],79:[1,60]},{21:[1,63]},{21:[1,64]},{21:[1,65]},{4:[2,23],10:[2,23],19:[2,23],33:[2,23],34:[2,23],79:[2,23]},{4:[2,24],10:[2,24],19:[2,24],33:[2,24],34:[2,24],79:[2,24]},{21:[1,66]},{4:[2,27],10:[2,27],19:[2,27],33:[2,27],34:[2,27],79:[2,27]},{21:[1,67]},{21:[1,68]},{21:[1,49],66:69,67:70,71:[1,32],72:[1,33],73:50,74:51,75:52,76:53,77:[1,54],80:[1,55]},{66:71,73:50,74:51,75:52,76:53,77:[1,54],80:[1,55]},{4:[2,69],10:[2,69],19:[2,69],22:[2,69],33:[2,69],34:[2,69],44:[2,69],45:[2,69],46:[2,69],49:[2,69],50:[2,69],51:[2,69],52:[2,69],53:[2,69],54:[2,69],55:[2,69],56:[2,69],57:[2,69],58:[2,69],59:[2,69],60:[2,69],61:[2,69],72:[2,69],73:72,74:51,75:52,76:53,77:[1,54],79:[2,69],80:[1,55],81:[2,69],91:[2,69]},{7:76,22:[1,74],33:[1,80],36:77,43:75,47:78,52:[1,91],64:79,70:[1,83],78:73,80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{4:[2,80],10:[2,80],19:[2,80],22:[2,80],33:[2,80],34:[2,80],44:[2,80],45:[2,80],46:[2,80],49:[2,80],50:[2,80],51:[2,80],52:[2,80],53:[2,80],54:[2,80],55:[2,80],56:[2,80],57:[2,80],58:[2,80],59:[2,80],60:[2,80],61:[2,80],71:[2,80],72:[2,80],77:[2,80],79:[2,80],80:[2,80],81:[2,80],91:[2,80]},{4:[2,82],10:[2,82],19:[2,82],22:[2,82],33:[2,82],34:[2,82],44:[2,82],45:[2,82],46:[2,82],49:[2,82],50:[2,82],51:[2,82],52:[2,82],53:[2,82],54:[2,82],55:[2,82],56:[2,82],57:[2,82],58:[2,82],59:[2,82],60:[2,82],61:[2,82],71:[2,82],72:[2,82],77:[2,82],79:[2,82],80:[2,82],81:[2,82],91:[2,82]},{4:[2,83],10:[2,83],19:[2,83],22:[2,83],33:[2,83],34:[2,83],44:[2,83],45:[2,83],46:[2,83],49:[2,83],50:[2,83],51:[2,83],52:[2,83],53:[2,83],54:[2,83],55:[2,83],56:[2,83],57:[2,83],58:[2,83],59:[2,83],60:[2,83],61:[2,83],71:[2,83],72:[2,83],77:[2,83],79:[2,83],80:[2,83],81:[2,83],91:[2,83]},{4:[2,84],10:[2,84],19:[2,84],22:[2,84],33:[2,84],34:[2,84],44:[2,84],45:[2,84],46:[2,84],49:[2,84],50:[2,84],51:[2,84],52:[2,84],53:[2,84],54:[2,84],55:[2,84],56:[2,84],57:[2,84],58:[2,84],59:[2,84],60:[2,84],61:[2,84],71:[2,84],72:[2,84],77:[2,84],79:[2,84],80:[2,84],81:[2,84],91:[2,84]},{34:[1,93],68:92,79:[1,94]},{7:96,33:[1,80],52:[1,91],64:95,79:[1,97],81:[1,98],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{4:[2,71],10:[2,71],19:[2,71],22:[2,71],33:[2,71],34:[2,71],44:[2,71],45:[2,71],46:[2,71],49:[2,71],50:[2,71],51:[2,71],52:[2,71],53:[2,71],54:[2,71],55:[2,71],56:[2,71],57:[2,71],58:[2,71],59:[2,71],60:[2,71],61:[2,71],72:[2,71],73:72,74:51,75:52,76:53,77:[1,54],79:[2,71],80:[1,55],81:[2,71],91:[2,71]},{67:99,71:[1,32],72:[1,33]},{21:[1,49]},{22:[1,100]},{4:[2,129],10:[2,129],19:[2,129],33:[2,129],34:[2,129],79:[2,129]},{4:[2,130],10:[2,130],19:[2,130],33:[2,130],34:[2,130],79:[2,130]},{7:106,22:[1,102],33:[1,80],36:77,41:101,42:103,43:105,44:[1,104],47:78,52:[1,91],64:79,70:[1,83],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{7:108,26:107,33:[1,80]},{7:116,21:[1,118],28:109,33:[1,80],36:110,47:111,48:112,52:[1,114],62:113,63:[1,115],64:117,70:[1,83],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{7:116,21:[1,118],28:119,33:[1,80],36:110,47:111,48:112,52:[1,114],62:113,63:[1,115],64:117,70:[1,83],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{33:[1,120]},{33:[1,121]},{34:[1,122]},{67:123,71:[1,32],72:[1,33],73:72,74:51,75:52,76:53,77:[1,54],80:[1,55]},{4:[2,73],10:[2,73],19:[2,73],22:[2,73],33:[2,73],34:[2,73],44:[2,73],45:[2,73],46:[2,73],49:[2,73],50:[2,73],51:[2,73],52:[2,73],53:[2,73],54:[2,73],55:[2,73],56:[2,73],57:[2,73],58:[2,73],59:[2,73],60:[2,73],61:[2,73],72:[2,73],79:[2,73],81:[2,73],91:[2,73]},{67:124,71:[1,32],72:[1,33],73:72,74:51,75:52,76:53,77:[1,54],80:[1,55]},{4:[2,81],10:[2,81],19:[2,81],22:[2,81],33:[2,81],34:[2,81],44:[2,81],45:[2,81],46:[2,81],49:[2,81],50:[2,81],51:[2,81],52:[2,81],53:[2,81],54:[2,81],55:[2,81],56:[2,81],57:[2,81],58:[2,81],59:[2,81],60:[2,81],61:[2,81],71:[2,81],72:[2,81],77:[2,81],79:[2,81],80:[2,81],81:[2,81],91:[2,81]},{22:[1,125],45:[1,126]},{4:[2,87],10:[2,87],19:[2,87],22:[2,87],33:[2,87],34:[2,87],44:[2,87],45:[2,87],46:[2,87],49:[2,87],50:[2,87],51:[2,87],52:[2,87],53:[2,87],54:[2,87],55:[2,87],56:[2,87],57:[2,87],58:[2,87],59:[2,87],60:[2,87],61:[2,87],71:[2,87],72:[2,87],77:[2,87],79:[2,87],80:[2,87],81:[2,87],91:[2,87]},{22:[2,88],45:[2,88],81:[2,88]},{22:[2,89],45:[2,89]},{22:[2,109],44:[2,109],45:[2,109],72:[2,109],81:[2,109]},{22:[2,110],44:[2,110],45:[2,110],72:[2,110],81:[2,110]},{22:[2,111],44:[2,111],45:[2,111],72:[2,111],81:[2,111]},{34:[1,26],65:25,67:28,68:27,69:[1,30],70:[1,31],71:[1,32],72:[1,33]},{7:130,33:[1,80],36:77,43:75,47:78,52:[1,91],64:79,70:[1,83],78:127,80:[1,81],81:[1,128],82:84,83:85,84:[1,86],85:129,86:[1,90],88:[1,87],89:[1,88],90:82},{22:[2,113],44:[2,113],45:[2,113],72:[2,113],81:[2,113]},{72:[1,132],82:133,88:[1,87],89:[1,88],92:131},{22:[2,99],44:[2,99],45:[2,99],49:[2,99],50:[2,99],51:[2,99],52:[2,99],53:[2,99],54:[2,99],55:[2,99],56:[2,99],57:[2,99],58:[2,99],59:[2,99],60:[2,99],61:[2,99],72:[2,99],79:[2,99],81:[2,99]},{22:[2,100],44:[2,100],45:[2,100],49:[2,100],50:[2,100],51:[2,100],52:[2,100],53:[2,100],54:[2,100],55:[2,100],56:[2,100],57:[2,100],58:[2,100],59:[2,100],60:[2,100],61:[2,100],72:[2,100],79:[2,100],81:[2,100]},{22:[2,101],44:[2,101],45:[2,101],49:[2,101],50:[2,101],51:[2,101],52:[2,101],53:[2,101],54:[2,101],55:[2,101],56:[2,101],57:[2,101],58:[2,101],59:[2,101],60:[2,101],61:[2,101],72:[2,101],79:[2,101],81:[2,101]},{22:[2,107],44:[2,107],45:[2,107],49:[2,107],50:[2,107],51:[2,107],52:[2,107],53:[2,107],54:[2,107],55:[2,107],56:[2,107],57:[2,107],58:[2,107],59:[2,107],60:[2,107],61:[2,107],72:[2,107],79:[2,107],81:[2,107],93:[2,107]},{22:[2,108],44:[2,108],45:[2,108],49:[2,108],50:[2,108],51:[2,108],52:[2,108],53:[2,108],54:[2,108],55:[2,108],56:[2,108],57:[2,108],58:[2,108],59:[2,108],60:[2,108],61:[2,108],72:[2,108],79:[2,108],81:[2,108],93:[2,108]},{22:[2,102],44:[2,102],45:[2,102],49:[2,102],50:[2,102],51:[2,102],52:[2,102],53:[2,102],54:[2,102],55:[2,102],56:[2,102],57:[2,102],58:[2,102],59:[2,102],60:[2,102],61:[2,102],72:[2,102],79:[2,102],81:[2,102]},{22:[2,105],44:[2,105],45:[2,105],49:[2,105],50:[2,105],51:[2,105],52:[2,105],53:[2,105],54:[2,105],55:[2,105],56:[2,105],57:[2,105],58:[2,105],59:[2,105],60:[2,105],61:[2,105],72:[2,105],79:[2,105],81:[2,105],87:[1,134],91:[2,105]},{86:[1,135]},{4:[2,85],10:[2,85],19:[2,85],22:[2,85],33:[2,85],34:[2,85],44:[2,85],45:[2,85],46:[2,85],49:[2,85],50:[2,85],51:[2,85],52:[2,85],53:[2,85],54:[2,85],55:[2,85],56:[2,85],57:[2,85],58:[2,85],59:[2,85],60:[2,85],61:[2,85],71:[2,85],72:[2,85],77:[2,85],79:[2,85],80:[2,85],81:[2,85],91:[2,85]},{4:[2,92],10:[2,92],19:[2,92],21:[1,49],22:[2,92],33:[2,92],34:[2,92],44:[2,92],45:[2,92],46:[2,92],49:[2,92],50:[2,92],51:[2,92],52:[2,92],53:[2,92],54:[2,92],55:[2,92],56:[2,92],57:[2,92],58:[2,92],59:[2,92],60:[2,92],61:[2,92],71:[2,92],72:[2,92],77:[2,92],79:[2,92],80:[2,92],81:[2,92],91:[2,92]},{4:[2,93],10:[2,93],19:[2,93],22:[2,93],33:[2,93],34:[2,93],44:[2,93],45:[2,93],46:[2,93],49:[2,93],50:[2,93],51:[2,93],52:[2,93],53:[2,93],54:[2,93],55:[2,93],56:[2,93],57:[2,93],58:[2,93],59:[2,93],60:[2,93],61:[2,93],71:[2,93],72:[2,93],77:[2,93],79:[2,93],80:[2,93],81:[2,93],91:[2,93]},{79:[1,137],81:[1,136]},{81:[1,138]},{4:[2,97],10:[2,97],19:[2,97],22:[2,97],33:[2,97],34:[2,97],44:[2,97],45:[2,97],46:[2,97],49:[2,97],50:[2,97],51:[2,97],52:[2,97],53:[2,97],54:[2,97],55:[2,97],56:[2,97],57:[2,97],58:[2,97],59:[2,97],60:[2,97],61:[2,97],71:[2,97],72:[2,97],77:[2,97],79:[2,97],80:[2,97],81:[2,97],91:[2,97]},{4:[2,98],10:[2,98],19:[2,98],22:[2,98],33:[2,98],34:[2,98],44:[2,98],45:[2,98],46:[2,98],49:[2,98],50:[2,98],51:[2,98],52:[2,98],53:[2,98],54:[2,98],55:[2,98],56:[2,98],57:[2,98],58:[2,98],59:[2,98],60:[2,98],61:[2,98],71:[2,98],72:[2,98],77:[2,98],79:[2,98],80:[2,98],81:[2,98],91:[2,98]},{4:[2,75],10:[2,75],19:[2,75],22:[2,75],33:[2,75],34:[2,75],44:[2,75],45:[2,75],46:[2,75],49:[2,75],50:[2,75],51:[2,75],52:[2,75],53:[2,75],54:[2,75],55:[2,75],56:[2,75],57:[2,75],58:[2,75],59:[2,75],60:[2,75],61:[2,75],72:[2,75],79:[2,75],81:[2,75],91:[2,75]},{4:[2,17],10:[2,17],19:[2,17],33:[2,17],34:[2,17],79:[2,17]},{22:[1,139]},{4:[2,34],10:[2,34],19:[2,34],33:[2,34],34:[2,34],79:[2,34]},{22:[2,41],44:[1,140],45:[1,141]},{7:106,33:[1,80],36:77,42:142,43:105,47:78,52:[1,91],64:79,70:[1,83],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{22:[2,35],44:[2,35],45:[2,35]},{22:[2,36],44:[2,36],45:[2,36]},{22:[1,143]},{46:[1,144]},{22:[1,145]},{22:[2,46]},{22:[2,47]},{22:[2,48],49:[1,146],50:[1,147],51:[1,148],52:[1,149],53:[1,150],54:[1,151],55:[1,152],56:[1,153],57:[1,154],58:[1,155],59:[1,156],60:[1,157],61:[1,158]},{22:[2,62],49:[2,62],50:[2,62],51:[2,62],52:[2,62],53:[2,62],54:[2,62],55:[2,62],56:[2,62],57:[2,62],58:[2,62],59:[2,62],60:[2,62],61:[2,62]},{21:[1,118],62:159,86:[1,135]},{7:116,21:[1,118],33:[1,80],48:160,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{22:[2,65],49:[2,65],50:[2,65],51:[2,65],52:[2,65],53:[2,65],54:[2,65],55:[2,65],56:[2,65],57:[2,65],58:[2,65],59:[2,65],60:[2,65],61:[2,65]},{22:[2,66],49:[2,66],50:[2,66],51:[2,66],52:[2,66],53:[2,66],54:[2,66],55:[2,66],56:[2,66],57:[2,66],58:[2,66],59:[2,66],60:[2,66],61:[2,66]},{7:116,21:[1,118],33:[1,80],48:161,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{22:[1,162]},{34:[1,163]},{34:[1,164]},{7:167,22:[1,166],33:[1,80],40:165},{4:[2,68],10:[2,68],19:[2,68],22:[2,68],33:[2,68],34:[2,68],44:[2,68],45:[2,68],46:[2,68],49:[2,68],50:[2,68],51:[2,68],52:[2,68],53:[2,68],54:[2,68],55:[2,68],56:[2,68],57:[2,68],58:[2,68],59:[2,68],60:[2,68],61:[2,68],72:[2,68],79:[2,68],81:[2,68],91:[2,68]},{4:[2,70],10:[2,70],19:[2,70],22:[2,70],33:[2,70],34:[2,70],44:[2,70],45:[2,70],46:[2,70],49:[2,70],50:[2,70],51:[2,70],52:[2,70],53:[2,70],54:[2,70],55:[2,70],56:[2,70],57:[2,70],58:[2,70],59:[2,70],60:[2,70],61:[2,70],72:[2,70],79:[2,70],81:[2,70],91:[2,70]},{4:[2,86],10:[2,86],19:[2,86],22:[2,86],33:[2,86],34:[2,86],44:[2,86],45:[2,86],46:[2,86],49:[2,86],50:[2,86],51:[2,86],52:[2,86],53:[2,86],54:[2,86],55:[2,86],56:[2,86],57:[2,86],58:[2,86],59:[2,86],60:[2,86],61:[2,86],71:[2,86],72:[2,86],77:[2,86],79:[2,86],80:[2,86],81:[2,86],91:[2,86]},{7:169,33:[1,80],36:77,43:168,47:78,52:[1,91],64:79,70:[1,83],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{45:[1,126],81:[1,170]},{22:[2,114],44:[2,114],45:[2,114],72:[2,114],81:[2,114]},{45:[2,102],81:[2,102],91:[1,171]},{45:[2,89],81:[2,89],91:[1,172]},{45:[1,174],72:[1,173]},{22:[2,120],44:[2,120],45:[2,120],72:[2,120],81:[2,120]},{93:[1,175]},{86:[1,176]},{22:[2,106],44:[2,106],45:[2,106],49:[2,106],50:[2,106],51:[2,106],52:[2,106],53:[2,106],54:[2,106],55:[2,106],56:[2,106],57:[2,106],58:[2,106],59:[2,106],60:[2,106],61:[2,106],72:[2,106],79:[2,106],81:[2,106],87:[1,177],91:[2,106]},{4:[2,94],10:[2,94],19:[2,94],22:[2,94],33:[2,94],34:[2,94],44:[2,94],45:[2,94],46:[2,94],49:[2,94],50:[2,94],51:[2,94],52:[2,94],53:[2,94],54:[2,94],55:[2,94],56:[2,94],57:[2,94],58:[2,94],59:[2,94],60:[2,94],61:[2,94],71:[2,94],72:[2,94],77:[2,94],79:[2,94],80:[2,94],81:[2,94],91:[2,94]},{4:[2,96],10:[2,96],19:[2,96],22:[2,96],33:[2,96],34:[2,96],44:[2,96],45:[2,96],46:[2,96],49:[2,96],50:[2,96],51:[2,96],52:[2,96],53:[2,96],54:[2,96],55:[2,96],56:[2,96],57:[2,96],58:[2,96],59:[2,96],60:[2,96],61:[2,96],71:[2,96],72:[2,96],77:[2,96],79:[2,96],80:[2,96],81:[2,96],91:[2,96]},{4:[2,95],10:[2,95],19:[2,95],22:[2,95],33:[2,95],34:[2,95],44:[2,95],45:[2,95],46:[2,95],49:[2,95],50:[2,95],51:[2,95],52:[2,95],53:[2,95],54:[2,95],55:[2,95],56:[2,95],57:[2,95],58:[2,95],59:[2,95],60:[2,95],61:[2,95],71:[2,95],72:[2,95],77:[2,95],79:[2,95],80:[2,95],81:[2,95],91:[2,95]},{4:[2,33],10:[2,33],19:[2,33],33:[2,33],34:[2,33],79:[2,33]},{7:179,22:[2,44],33:[1,80],36:77,43:178,47:78,52:[1,91],64:79,70:[1,83],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{7:181,33:[1,80],36:77,43:180,47:78,52:[1,91],64:79,70:[1,83],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{22:[2,42],44:[1,182],45:[1,141]},{4:[2,20],10:[2,20],19:[2,20],33:[2,20],34:[2,20],79:[2,20]},{7:116,21:[1,118],28:183,33:[1,80],36:110,47:111,48:112,52:[1,114],62:113,63:[1,115],64:117,70:[1,83],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{4:[2,21],10:[2,21],19:[2,21],33:[2,21],34:[2,21],79:[2,21]},{7:116,21:[1,118],33:[1,80],48:184,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:185,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:186,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:187,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:188,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:189,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:190,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:191,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:192,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:193,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:194,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:195,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{7:116,21:[1,118],33:[1,80],48:196,52:[1,114],62:113,63:[1,115],64:117,82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88]},{22:[2,63],49:[2,63],50:[2,63],51:[2,63],52:[2,63],53:[2,63],54:[2,63],55:[2,63],56:[2,63],57:[2,63],58:[2,63],59:[2,63],60:[2,63],61:[2,63]},{22:[2,64],49:[2,64],50:[2,64],51:[2,64],52:[2,64],53:[2,64],54:[2,64],55:[2,64],56:[2,64],57:[2,64],58:[2,64],59:[2,64],60:[2,64],61:[2,64]},{22:[1,197],49:[1,146],50:[1,147],51:[1,148],52:[1,149],53:[1,150],54:[1,151],55:[1,152],56:[1,153],57:[1,154],58:[1,155],59:[1,156],60:[1,157],61:[1,158]},{4:[2,22],10:[2,22],19:[2,22],33:[2,22],34:[2,22],79:[2,22]},{35:[1,198]},{22:[1,199]},{7:201,22:[1,200],33:[1,80]},{4:[2,30],10:[2,30],19:[2,30],33:[2,30],34:[2,30],79:[2,30]},{22:[2,31],33:[2,31]},{22:[2,90],45:[2,90],81:[2,90]},{22:[2,91],45:[2,91],81:[2,91]},{22:[2,112],44:[2,112],45:[2,112],72:[2,112],81:[2,112]},{7:203,33:[1,80],52:[1,205],85:202,86:[1,204]},{7:207,33:[1,80],52:[1,205],85:206,86:[1,204]},{22:[2,119],44:[2,119],45:[2,119],72:[2,119],81:[2,119]},{82:208,88:[1,87],89:[1,88]},{7:210,33:[1,80],36:77,43:209,45:[2,123],47:78,52:[1,91],64:79,70:[1,83],72:[2,123],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{22:[2,103],44:[2,103],45:[2,103],49:[2,103],50:[2,103],51:[2,103],52:[2,103],53:[2,103],54:[2,103],55:[2,103],56:[2,103],57:[2,103],58:[2,103],59:[2,103],60:[2,103],61:[2,103],72:[2,103],79:[2,103],81:[2,103]},{86:[1,211]},{22:[2,37],44:[2,37],45:[2,37]},{22:[2,40],44:[2,40],45:[2,40]},{22:[2,38],44:[2,38],45:[2,38]},{22:[2,39],44:[2,39],45:[2,39]},{7:179,22:[2,43],33:[1,80],36:77,43:178,47:78,52:[1,91],64:79,70:[1,83],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{22:[2,45]},{22:[2,49],49:[2,49],50:[2,49],51:[1,148],52:[1,149],53:[1,150],54:[1,151],55:[1,152],56:[1,153],57:[1,154],58:[1,155],59:[1,156],60:[1,157],61:[1,158]},{22:[2,50],49:[2,50],50:[2,50],51:[1,148],52:[1,149],53:[1,150],54:[1,151],55:[1,152],56:[1,153],57:[1,154],58:[1,155],59:[1,156],60:[1,157],61:[1,158]},{22:[2,51],49:[2,51],50:[2,51],51:[2,51],52:[2,51],53:[1,150],54:[1,151],55:[1,152],56:[2,51],57:[2,51],58:[2,51],59:[2,51],60:[2,51],61:[2,51]},{22:[2,52],49:[2,52],50:[2,52],51:[2,52],52:[2,52],53:[1,150],54:[1,151],55:[1,152],56:[2,52],57:[2,52],58:[2,52],59:[2,52],60:[2,52],61:[2,52]},{22:[2,53],49:[2,53],50:[2,53],51:[2,53],52:[2,53],53:[2,53],54:[2,53],55:[2,53],56:[2,53],57:[2,53],58:[2,53],59:[2,53],60:[2,53],61:[2,53]},{22:[2,54],49:[2,54],50:[2,54],51:[2,54],52:[2,54],53:[2,54],54:[2,54],55:[2,54],56:[2,54],57:[2,54],58:[2,54],59:[2,54],60:[2,54],61:[2,54]},{22:[2,55],49:[2,55],50:[2,55],51:[2,55],52:[2,55],53:[2,55],54:[2,55],55:[2,55],56:[2,55],57:[2,55],58:[2,55],59:[2,55],60:[2,55],61:[2,55]},{22:[2,56],49:[2,56],50:[2,56],51:[1,148],52:[1,149],53:[1,150],54:[1,151],55:[1,152],56:[2,56],57:[2,56],58:[2,56],59:[2,56],60:[2,56],61:[2,56]},{22:[2,57],49:[2,57],50:[2,57],51:[1,148],52:[1,149],53:[1,150],54:[1,151],55:[1,152],56:[2,57],57:[2,57],58:[2,57],59:[2,57],60:[2,57],61:[2,57]},{22:[2,58],49:[2,58],50:[2,58],51:[1,148],52:[1,149],53:[1,150],54:[1,151],55:[1,152],56:[2,58],57:[2,58],58:[2,58],59:[2,58],60:[2,58],61:[2,58]},{22:[2,59],49:[2,59],50:[2,59],51:[1,148],52:[1,149],53:[1,150],54:[1,151],55:[1,152],56:[2,59],57:[2,59],58:[2,59],59:[2,59],60:[2,59],61:[2,59]},{22:[2,60],49:[2,60],50:[2,60],51:[1,148],52:[1,149],53:[1,150],54:[1,151],55:[1,152],56:[2,60],57:[2,60],58:[2,60],59:[2,60],60:[2,60],61:[2,60]},{22:[2,61],49:[2,61],50:[2,61],51:[1,148],52:[1,149],53:[1,150],54:[1,151],55:[1,152],56:[2,61],57:[2,61],58:[2,61],59:[2,61],60:[2,61],61:[2,61]},{22:[2,67],49:[2,67],50:[2,67],51:[2,67],52:[2,67],53:[2,67],54:[2,67],55:[2,67],56:[2,67],57:[2,67],58:[2,67],59:[2,67],60:[2,67],61:[2,67]},{7:212,33:[1,80],36:213,80:[1,81],90:82},{4:[2,28],10:[2,28],19:[2,28],33:[2,28],34:[2,28],79:[2,28]},{4:[2,29],10:[2,29],19:[2,29],33:[2,29],34:[2,29],79:[2,29]},{22:[2,32],33:[2,32]},{81:[1,214]},{81:[1,215]},{81:[2,105]},{86:[1,216]},{81:[1,217]},{81:[1,218]},{93:[1,219]},{45:[2,121],72:[2,121]},{45:[2,122],72:[2,122]},{22:[2,104],44:[2,104],45:[2,104],49:[2,104],50:[2,104],51:[2,104],52:[2,104],53:[2,104],54:[2,104],55:[2,104],56:[2,104],57:[2,104],58:[2,104],59:[2,104],60:[2,104],61:[2,104],72:[2,104],79:[2,104],81:[2,104]},{22:[1,220]},{22:[1,221]},{22:[2,115],44:[2,115],45:[2,115],72:[2,115],81:[2,115]},{22:[2,117],44:[2,117],45:[2,117],72:[2,117],81:[2,117]},{81:[2,106]},{22:[2,116],44:[2,116],45:[2,116],72:[2,116],81:[2,116]},{22:[2,118],44:[2,118],45:[2,118],72:[2,118],81:[2,118]},{7:222,33:[1,80],36:77,43:223,47:78,52:[1,91],64:79,70:[1,83],80:[1,81],82:84,83:85,84:[1,86],85:89,86:[1,90],88:[1,87],89:[1,88],90:82},{4:[2,25],10:[2,25],19:[2,25],33:[2,25],34:[2,25],79:[2,25]},{4:[2,26],10:[2,26],19:[2,26],33:[2,26],34:[2,26],79:[2,26]},{45:[2,124],72:[2,124]},{45:[2,125],72:[2,125]}],
table: [{3:1,4:[1,2],5:3,6:4,7:5,8:6,9:7,10:$V0,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:$V1,23:19,24:20,33:$V2,34:$V3,79:$V4},{1:[3]},{1:[2,1]},{4:[1,23],6:24,7:5,8:6,9:7,10:$V0,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:$V1,23:19,24:20,33:$V2,34:$V3,79:$V4},o($V5,[2,3]),o($V5,[2,5]),o($V5,[2,6]),o($V5,[2,7]),o($V5,[2,8]),{34:$V6,65:25,67:28,68:27,69:$V7,70:$V8,71:$V9,72:$Va,79:[1,29]},o($V5,[2,9]),o($V5,[2,10]),o($V5,[2,11]),o($V5,[2,12]),o($V5,[2,13]),o($V5,[2,14]),o($V5,[2,15]),o($V5,[2,16]),{20:[1,34],25:[1,37],27:[1,38],29:[1,39],30:[1,40],31:[1,41],32:[1,42],34:[1,36],37:[1,43],38:[1,44],39:[1,45],79:[1,35]},o($V5,[2,18]),o($V5,[2,19]),o($V5,[2,126]),o($V5,[2,127]),{1:[2,2]},o($V5,[2,4]),{34:[1,46],68:47},o($Vb,[2,72],{66:48,73:50,74:51,75:52,76:53,21:$Vc,77:$Vd,80:$Ve}),o($Vb,[2,74],{73:50,74:51,75:52,76:53,66:56,77:$Vd,80:$Ve}),{34:[1,58],68:57},o($V5,[2,131]),{34:[2,76]},{34:[2,77]},o($Vb,[2,78]),o($Vb,[2,79]),{21:[1,59]},o($V5,[2,128]),{4:[1,61],21:[1,62],79:[1,60]},{21:[1,63]},{21:[1,64]},{21:[1,65]},o($V5,[2,23]),o($V5,[2,24]),{21:[1,66]},o($V5,[2,27]),{21:[1,67]},{21:[1,68]},{21:$Vc,66:69,67:70,71:$V9,72:$Va,73:50,74:51,75:52,76:53,77:$Vd,80:$Ve},{66:71,73:50,74:51,75:52,76:53,77:$Vd,80:$Ve},o($Vb,[2,69],{74:51,75:52,76:53,73:72,77:$Vd,80:$Ve}),{7:76,22:[1,74],33:$Vf,36:77,43:75,47:78,52:$Vg,64:79,70:$Vh,78:73,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},o($Vn,[2,80]),o($Vn,[2,82]),o($Vn,[2,83]),o($Vn,[2,84]),{34:[1,93],68:92,79:[1,94]},{7:96,33:$Vf,52:$Vg,64:95,79:[1,97],81:[1,98],82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},o($Vb,[2,71],{74:51,75:52,76:53,73:72,77:$Vd,80:$Ve}),{67:99,71:$V9,72:$Va},{21:$Vc},{22:[1,100]},o($V5,[2,129]),o($V5,[2,130]),{7:106,22:[1,102],33:$Vf,36:77,41:101,42:103,43:105,44:[1,104],47:78,52:$Vg,64:79,70:$Vh,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},{7:108,26:107,33:$Vf},{7:116,21:$Vo,28:109,33:$Vf,36:110,47:111,48:112,52:$Vp,62:113,63:$Vq,64:117,70:$Vh,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},{7:116,21:$Vo,28:119,33:$Vf,36:110,47:111,48:112,52:$Vp,62:113,63:$Vq,64:117,70:$Vh,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},{33:[1,120]},{33:[1,121]},{34:[1,122]},{67:123,71:$V9,72:$Va,73:72,74:51,75:52,76:53,77:$Vd,80:$Ve},o($Vb,[2,73]),{67:124,71:$V9,72:$Va,73:72,74:51,75:52,76:53,77:$Vd,80:$Ve},o($Vn,[2,81]),{22:[1,125],45:$Vr},o($Vn,[2,87]),o($Vs,[2,88]),o([22,45],$Vt),o($Vu,[2,109]),o($Vu,[2,110]),o($Vu,[2,111]),{34:$V6,65:25,67:28,68:27,69:$V7,70:$V8,71:$V9,72:$Va},{7:130,33:$Vf,36:77,43:75,47:78,52:$Vg,64:79,70:$Vh,78:127,80:$Vi,81:[1,128],82:84,83:85,84:$Vj,85:129,86:$Vk,88:$Vl,89:$Vm,90:82},o($Vu,[2,113]),{72:[1,132],82:133,88:$Vl,89:$Vm,92:131},o($Vv,[2,99]),o($Vv,[2,100]),o($Vv,[2,101]),o($Vw,[2,107]),o($Vw,[2,108]),o($Vv,$Vx),o($Vy,$Vz,{87:[1,134]}),{86:$VA},o($Vn,[2,85]),o($Vn,[2,92],{21:$Vc}),o($Vn,[2,93]),{79:[1,137],81:[1,136]},{81:[1,138]},o($Vn,[2,97]),o($Vn,[2,98]),o($Vb,[2,75]),o($V5,[2,17]),{22:[1,139]},o($V5,[2,34]),{22:[2,41],44:[1,140],45:$VB},{7:106,33:$Vf,36:77,42:142,43:105,47:78,52:$Vg,64:79,70:$Vh,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},o($VC,[2,35]),o($VC,[2,36]),{22:[1,143]},{46:[1,144]},{22:[1,145]},{22:[2,46]},{22:[2,47]},{22:[2,48],49:$VD,50:$VE,51:$VF,52:$VG,53:$VH,54:$VI,55:$VJ,56:$VK,57:$VL,58:$VM,59:$VN,60:$VO,61:$VP},o($VQ,[2,62]),{21:$Vo,62:159,86:$VA},{7:116,21:$Vo,33:$Vf,48:160,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},o($VQ,[2,65]),o($VQ,[2,66]),{7:116,21:$Vo,33:$Vf,48:161,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{22:[1,162]},{34:[1,163]},{34:[1,164]},{7:167,22:[1,166],33:$Vf,40:165},o($Vb,[2,68]),o($Vb,[2,70]),o($Vn,[2,86]),{7:169,33:$Vf,36:77,43:168,47:78,52:$Vg,64:79,70:$Vh,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},{45:$Vr,81:[1,170]},o($Vu,[2,114]),o($VR,$Vx,{91:[1,171]}),o($VR,$Vt,{91:[1,172]}),{45:[1,174],72:[1,173]},o($Vu,[2,120]),{93:[1,175]},{86:[1,176]},o($Vy,$VS,{87:[1,177]}),o($Vn,[2,94]),o($Vn,[2,96]),o($Vn,[2,95]),o($V5,[2,33]),{7:179,22:[2,44],33:$Vf,36:77,43:178,47:78,52:$Vg,64:79,70:$Vh,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},{7:181,33:$Vf,36:77,43:180,47:78,52:$Vg,64:79,70:$Vh,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},{22:[2,42],44:[1,182],45:$VB},o($V5,[2,20]),{7:116,21:$Vo,28:183,33:$Vf,36:110,47:111,48:112,52:$Vp,62:113,63:$Vq,64:117,70:$Vh,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},o($V5,[2,21]),{7:116,21:$Vo,33:$Vf,48:184,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:185,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:186,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:187,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:188,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:189,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:190,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:191,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:192,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:193,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:194,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:195,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},{7:116,21:$Vo,33:$Vf,48:196,52:$Vp,62:113,63:$Vq,64:117,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm},o($VQ,[2,63]),o($VQ,[2,64]),{22:[1,197],49:$VD,50:$VE,51:$VF,52:$VG,53:$VH,54:$VI,55:$VJ,56:$VK,57:$VL,58:$VM,59:$VN,60:$VO,61:$VP},o($V5,[2,22]),{35:[1,198]},{22:[1,199]},{7:201,22:[1,200],33:$Vf},o($V5,[2,30]),o($VT,[2,31]),o($Vs,[2,90]),o($Vs,[2,91]),o($Vu,[2,112]),{7:203,33:$Vf,52:$VU,85:202,86:$VV},{7:207,33:$Vf,52:$VU,85:206,86:$VV},o($Vu,[2,119]),{82:208,88:$Vl,89:$Vm},o($VW,[2,123],{36:77,47:78,64:79,90:82,82:84,83:85,85:89,43:209,7:210,33:$Vf,52:$Vg,70:$Vh,80:$Vi,84:$Vj,86:$Vk,88:$Vl,89:$Vm}),o($Vv,[2,103]),{86:[1,211]},o($VC,[2,37]),o($VC,[2,40]),o($VC,[2,38]),o($VC,[2,39]),{7:179,22:[2,43],33:$Vf,36:77,43:178,47:78,52:$Vg,64:79,70:$Vh,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},{22:[2,45]},o($VX,[2,49],{51:$VF,52:$VG,53:$VH,54:$VI,55:$VJ,56:$VK,57:$VL,58:$VM,59:$VN,60:$VO,61:$VP}),o($VX,[2,50],{51:$VF,52:$VG,53:$VH,54:$VI,55:$VJ,56:$VK,57:$VL,58:$VM,59:$VN,60:$VO,61:$VP}),o($VY,[2,51],{53:$VH,54:$VI,55:$VJ}),o($VY,[2,52],{53:$VH,54:$VI,55:$VJ}),o($VQ,[2,53]),o($VQ,[2,54]),o($VQ,[2,55]),o($VZ,[2,56],{51:$VF,52:$VG,53:$VH,54:$VI,55:$VJ}),o($VZ,[2,57],{51:$VF,52:$VG,53:$VH,54:$VI,55:$VJ}),o($VZ,[2,58],{51:$VF,52:$VG,53:$VH,54:$VI,55:$VJ}),o($VZ,[2,59],{51:$VF,52:$VG,53:$VH,54:$VI,55:$VJ}),o($VZ,[2,60],{51:$VF,52:$VG,53:$VH,54:$VI,55:$VJ}),o($VZ,[2,61],{51:$VF,52:$VG,53:$VH,54:$VI,55:$VJ}),o($VQ,[2,67]),{7:212,33:$Vf,36:213,80:$Vi,90:82},o($V5,[2,28]),o($V5,[2,29]),o($VT,[2,32]),{81:[1,214]},{81:[1,215]},{81:$Vz},{86:[1,216]},{81:[1,217]},{81:[1,218]},{93:[1,219]},o($VW,[2,121]),o($VW,[2,122]),o($Vv,[2,104]),{22:[1,220]},{22:[1,221]},o($Vu,[2,115]),o($Vu,[2,117]),{81:$VS},o($Vu,[2,116]),o($Vu,[2,118]),{7:222,33:$Vf,36:77,43:223,47:78,52:$Vg,64:79,70:$Vh,80:$Vi,82:84,83:85,84:$Vj,85:89,86:$Vk,88:$Vl,89:$Vm,90:82},o($V5,[2,25]),o($V5,[2,26]),o($VW,[2,124]),o($VW,[2,125])],
defaultActions: {2:[2,1],23:[2,2],30:[2,76],31:[2,77],110:[2,46],111:[2,47],183:[2,45],204:[2,105],216:[2,106]},

@@ -363,16 +287,22 @@ parseError: function parseError(str, hash) {

parse: function parse(input) {
var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
var args = lstack.slice.call(arguments, 1);
this.lexer.setInput(input);
this.lexer.yy = this.yy;
this.yy.lexer = this.lexer;
this.yy.parser = this;
if (typeof this.lexer.yylloc == 'undefined') {
this.lexer.yylloc = {};
var lexer = Object.create(this.lexer);
var sharedState = { yy: {} };
for (var k in this.yy) {
if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
sharedState.yy[k] = this.yy[k];
}
}
var yyloc = this.lexer.yylloc;
lexer.setInput(input, sharedState.yy);
sharedState.yy.lexer = lexer;
sharedState.yy.parser = this;
if (typeof lexer.yylloc == 'undefined') {
lexer.yylloc = {};
}
var yyloc = lexer.yylloc;
lstack.push(yyloc);
var ranges = this.lexer.options && this.lexer.options.ranges;
if (typeof this.yy.parseError === 'function') {
this.parseError = this.yy.parseError;
var ranges = lexer.options && lexer.options.ranges;
if (typeof sharedState.yy.parseError === 'function') {
this.parseError = sharedState.yy.parseError;
} else {

@@ -386,10 +316,11 @@ this.parseError = Object.getPrototypeOf(this).parseError;

}
function lex() {
var token;
token = self.lexer.lex() || EOF;
if (typeof token !== 'number') {
token = self.symbols_[token] || token;
_token_stack:
function lex() {
var token;
token = lexer.lex() || EOF;
if (typeof token !== 'number') {
token = self.symbols_[token] || token;
}
return token;
}
return token;
}
var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;

@@ -414,4 +345,4 @@ while (true) {

}
if (this.lexer.showPosition) {
errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + this.lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\'';
if (lexer.showPosition) {
errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\'';
} else {

@@ -421,5 +352,5 @@ errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\'');

this.parseError(errStr, {
text: this.lexer.match,
text: lexer.match,
token: this.terminals_[symbol] || symbol,
line: this.lexer.yylineno,
line: lexer.yylineno,
loc: yyloc,

@@ -435,11 +366,11 @@ expected: expected

stack.push(symbol);
vstack.push(this.lexer.yytext);
lstack.push(this.lexer.yylloc);
vstack.push(lexer.yytext);
lstack.push(lexer.yylloc);
stack.push(action[1]);
symbol = null;
if (!preErrorSymbol) {
yyleng = this.lexer.yyleng;
yytext = this.lexer.yytext;
yylineno = this.lexer.yylineno;
yyloc = this.lexer.yylloc;
yyleng = lexer.yyleng;
yytext = lexer.yytext;
yylineno = lexer.yylineno;
yyloc = lexer.yylloc;
if (recovering > 0) {

@@ -472,3 +403,3 @@ recovering--;

yylineno,
this.yy,
sharedState.yy,
action[1],

@@ -498,5 +429,5 @@ vstack,

}};
/* generated by jison-lex 0.2.1 */
/* generated by jison-lex 0.3.4 */
var lexer = (function(){
var lexer = {
var lexer = ({

@@ -514,3 +445,4 @@ EOF:1,

// resets the lexer, sets new input
setInput:function (input) {
setInput:function (input, yy) {
this.yy = yy || this.yy || {};
this._input = input;

@@ -563,3 +495,3 @@ this._more = this._backtrack = this.done = false;

this._input = ch + this._input;
this.yytext = this.yytext.substr(0, this.yytext.length - len - 1);
this.yytext = this.yytext.substr(0, this.yytext.length - len);
//this.yyleng -= len;

@@ -825,5 +757,3 @@ this.offset -= len;

options: {},
performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START
/**/) {
performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {
var YYSTATE=YY_START;

@@ -1015,3 +945,3 @@ switch($avoiding_name_collisions) {

conditions: {"mu":{"rules":[5,27,28,36,37,38,39,40,41,43,52,54,55,56,58],"inclusive":false},"c":{"rules":[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,38,39,40,41,43,44,45,46,47,48,49,50,51,52],"inclusive":false},"i":{"rules":[18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,33,34,34,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],"inclusive":false},"h":{"rules":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,27,28,29,30,35,38,39,40,41,43,51,53,55,56,58],"inclusive":false},"esc":{"rules":[57],"inclusive":false},"run":{"rules":[27,28,29,31,32,33,34,35,38,39,40,41,43,44,45,46,47,48,49,50,51,52,55,56,58],"inclusive":false},"INITIAL":{"rules":[0,1,2,59],"inclusive":true}}
};
});
return lexer;

@@ -1029,5 +959,5 @@ })();

if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
exports.parser = velocity;
exports.Parser = velocity.Parser;
exports.parse = function () { return velocity.parse.apply(velocity, arguments); };
exports.parser = parser;
exports.Parser = parser.Parser;
exports.parse = function () { return parser.parse.apply(parser, arguments); };
exports.main = function commonjsMain(args) {

@@ -1034,0 +964,0 @@ if (!args[1]) {

"use strict";
var utils = {
noop: function noop(){
var arg = arguments;
return function(){ return arg; };
}
};
var utils = {};

@@ -9,0 +4,0 @@ ['forEach', 'some', 'every', 'filter', 'map'].forEach(function(fnName){

var Parser = require('./parse/');
var utils = require('./utils');
var Compile = require('./compile/');
var Helper = {};
var Helper = require('./helper/index');

@@ -11,14 +11,23 @@ Compile.Parser = Parser;

var asts = Parser._parse(str);
/**
* remove all newline after all direction such as `#set, #each`
*/
utils.forEach(asts, function trim(ast, i){
var TRIM_REG = /^[ \t]*\n/;
if (ast.type && ast.type !== 'references') {
var _ast = asts[i + 1];
if (typeof _ast === 'string' && TRIM_REG.test(_ast)) {
asts[i + 1] = _ast.replace(TRIM_REG, '');
}
}
});
return utils.makeLevel(asts);
};
Helper.Structure = require('./helper/structure');
Helper.Jsonify = require('./helper/jsonify');
Helper.BackStep = require('./helper/backstep');
var Velocity = {
Parser : Parser,
Compile : Compile,
Helper : Helper,
Jsonify : Helper.Jsonify
Helper: Helper
};

@@ -28,7 +37,3 @@

var t1 = Date.now();
var asts = Parser.parse(template);
var t2 = Date.now();
//var str = 'parse syntax tree finished, cost time: ' + (t2 - t1)+ 'ms.';
var compile = new Compile(asts);

@@ -35,0 +40,0 @@ return compile.render(context, macros);

@@ -8,6 +8,3 @@ var Velocity = require('../src/velocity')

function render(str, context, macros){
var compile = new Compile(Parser.parse(str))
return compile.render(context, macros)
}
var render = Velocity.render;

@@ -89,3 +86,3 @@ function getContext(str, context, macros){

name: 'hello world',
name2: '<i>a',
name2: '<i>&a',
cn: '中文',

@@ -95,5 +92,47 @@ cn1: '<i>中文'

var ret = 'hello world &lt;i&gt;a 中文 &lt;i&gt;&#20013;&#25991;'
var ret = 'hello world &lt;i&gt;&amp;a 中文 &lt;i&gt;&#20013;&#25991;'
assert.equal(ret, render(vm, data))
})
it('add custom ignore escape function', function(){
var vm = '$noIgnore($name), $ignore($name)'
var expected = '&lt;i&gt;, <i>'
var compile = new Compile(Parser.parse(vm))
compile.addIgnoreEscpape('ignore')
var context = {
name: '<i>',
noIgnore: function(name){
return name
},
ignore: function(name){
return name;
}
}
var ret = compile.render(context)
assert.equal(expected, ret)
})
it('config support', function(){
var vm = '$foo($name)'
var expected = '<i>'
var compile = new Compile(Parser.parse(vm), { escape: false })
var context = {
name: '<i>',
foo: function(name){
return name;
}
}
var ret = compile.render(context)
assert.equal(expected, ret)
compile = new Compile(Parser.parse(vm))
ret = compile.render(context)
assert.equal('&lt;i&gt;', ret)
})
})

@@ -113,2 +152,7 @@

it('#set array', function(){
var vm = '#set($foo = []) #set($foo[0] = 12)'
assert.equal(12, getContext(vm).foo[0])
})
it('set equal to literal', function(){

@@ -242,8 +286,9 @@ var vm = "#set( $monkey.Friend = 'monica' ) ## string literal\n" +

' "b": "12",\n' +
' "d": null,\n' +
' "c": false\n' +
'})\n' +
''
''
assert.deepEqual([{name: 1}, { name: 2 }], getContext(vm1).a)
assert.deepEqual({a: [1, 2, ["1", "a"], {a: 1}], b: "12", c: false}, getContext(vm2).a)
assert.deepEqual({a: [1, 2, ["1", "a"], {a: 1}], b: "12", d: null, c: false}, getContext(vm2).a)
})

@@ -307,2 +352,4 @@ })

assert.equal('112212', render(vm))
var vm = '#foreach($i in [5..2])$i#end'
assert.equal('5432', render(vm))
})

@@ -584,3 +631,3 @@

describe('multiline', function(){
it('multiline: #set multiline', function(){
it('#set multiline', function(){
var vm = "$bar.foo()\n#set($foo=$bar)\n..."

@@ -590,3 +637,3 @@ assert.equal("$bar.foo()\n...", render(vm))

it('multiline: #if multiline', function(){
it('#if multiline', function(){
var vm = "$bar.foo()\n#if(1>0)\n...#end"

@@ -596,3 +643,3 @@ assert.equal("$bar.foo()\n...", render(vm))

it('multiline: #set #set', function(){
it('#set #set', function(){
var vm = "$bar.foo()\n...\n#set($foo=$bar)\n#set($foo=$bar)"

@@ -602,3 +649,3 @@ assert.equal("$bar.foo()\n...\n", render(vm))

it('multiline: #if multiline #set', function(){
it('#if multiline #set', function(){
var vm = "$bar.foo()\n#if(1>0)\n#set($foo=$bar)\n...#end"

@@ -608,8 +655,27 @@ assert.equal("$bar.foo()\n...", render(vm))

it('multiline: #if multiline #set #end', function(){
it('#if multiline #set #end', function(){
var vm = "$bar.foo()\n#if(1>0)...\n#set($foo=$bar)\n#end"
assert.equal("$bar.foo()\n...\n", render(vm))
})
it('with references', function(){
var vm = [ 'a',
'#foreach($b in $nums)',
'#if($b) ',
'b',
'e $b.alm',
'#end',
'#end',
'c'].join("\n");
var expected = [ 'a', 'b', 'e 1', 'b', 'e 2', 'b', 'e 3', 'c'].join("\n")
assert.equal(expected, render(vm, {nums:[{alm:1},{alm:2},{alm:3}],bar:""}))
})
})
it('multiple newlines after statement', function(){
var vm = '#if(1>0)\n\nb#end'
assert.equal('\nb', render(vm))
})
})

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc