diff --git a/bin/sqlite-parser b/bin/sqlite-parser index 2d49e37..9ad52f2 100644 --- a/bin/sqlite-parser +++ b/bin/sqlite-parser @@ -1,7 +1,7 @@ #!/usr/bin/env node /*! - * sqlite-parser - v1.0.0-rc1 + * sqlite-parser - v1.0.0-rc2 * @copyright 2015-2016 Code School (http://codeschool.com) * @author Nick Wronski */ -'use strict';var _index=require('../lib/index');var _index2=_interopRequireDefault(_index);var _fs=require('fs');var _path=require('path');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var aliases={o:'output',v:'version',h:'help',x:'stream'};var args=resolveArgs(process.argv.slice(2));var error=function error(err){console.error(err);process.exit(1);};var done=checkThen(function(){process.exit(0);});if(args['version']){console.log('sqlite-parser v1.0.0-rc1');process.exit(0);}if(args['help']||args._.length===0){console.log('Usage:\tsqlite-parser [infile]\n');console.log('Option\t\t\tAlias\tDescription');console.log('--output [outfile]\t-o\tWrite output to a file instead of stdout');console.log('--stream\t\t-x\tEnable streaming mode (default: infile >150kB)');console.log('--version\t\t-v\tGet current parser version');process.exit(0);}var streaming=args['stream'];var input=(0,_path.normalize)(args._[0]);var output=args['output'];if(output){output=(0,_path.normalize)(output);}(0,_fs.stat)(input,checkThen(function(_ref){var size=_ref.size;if(size/1000>=150){streaming=true;}var startStream=streaming?streamParser:standardParser;if(output){(function(){var outDir=(0,_path.dirname)(output);(0,_fs.stat)(outDir,checkThen(startStream,function(){(0,_fs.mkdir)(outDir,startStream);}));})();}else{startStream();}}));function resolveArgs(argv){var args={_:[]};var last=null;var isNewArg=function isNewArg(arg){return!arg||arg.indexOf('-')===0;};for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:done;var errCallback=arguments.length>1&&arguments[1]!==undefined?arguments[1]:error;return function(err,result){if(err){return errCallback(err);}resCallback(result);};}function streamParser(){var parserTransform=_index2.default.createParser();var singleNodeTransform=_index2.default.createStitcher();var readStream=(0,_fs.createReadStream)(input);var writeStream=output?(0,_fs.createWriteStream)(output):process.stdout;readStream.pipe(parserTransform);parserTransform.pipe(singleNodeTransform);singleNodeTransform.pipe(writeStream);parserTransform.on('error',error);singleNodeTransform.on('error',error);writeStream.on('finish',done);}function standardParser(){(0,_fs.readFile)(input,'utf8',checkThen(function(data){(0,_index2.default)(data,checkThen(function(ast){var result=void 0;try{result=JSON.stringify(ast,null,2);}catch(e){return error(e);}if(output){(0,_fs.writeFile)(output,result,checkThen(done));}else{process.stdout.write(result+'\n');done();}}));}));}; +'use strict';var _index=require('../lib/index');var _index2=_interopRequireDefault(_index);var _fs=require('fs');var _path=require('path');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var aliases={o:'output',v:'version',h:'help',x:'stream'};var args=resolveArgs(process.argv.slice(2));var error=function error(err){console.error(err);process.exit(1);};var done=checkThen(function(){process.exit(0);});if(args['version']){console.log('sqlite-parser v1.0.0-rc2');process.exit(0);}if(args['help']||args._.length===0){console.log('Usage:\tsqlite-parser [infile]\n');console.log('Option\t\t\tAlias\tDescription');console.log('--output [outfile]\t-o\tWrite output to a file instead of stdout');console.log('--stream\t\t-x\tEnable streaming mode (default: infile >150kB)');console.log('--version\t\t-v\tGet current parser version');process.exit(0);}var streaming=args['stream'];var input=(0,_path.normalize)(args._[0]);var output=args['output'];if(output){output=(0,_path.normalize)(output);}(0,_fs.stat)(input,checkThen(function(_ref){var size=_ref.size;if(size/1000>=150){streaming=true;}var startStream=streaming?streamParser:standardParser;if(output){(function(){var outDir=(0,_path.dirname)(output);(0,_fs.stat)(outDir,checkThen(startStream,function(){(0,_fs.mkdir)(outDir,startStream);}));})();}else{startStream();}}));function resolveArgs(argv){var args={_:[]};var last=null;var isNewArg=function isNewArg(arg){return!arg||arg.indexOf('-')===0;};for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:done;var errCallback=arguments.length>1&&arguments[1]!==undefined?arguments[1]:error;return function(err,result){if(err){return errCallback(err);}resCallback(result);};}function streamParser(){var parserTransform=_index2.default.createParser();var singleNodeTransform=_index2.default.createStitcher();var readStream=(0,_fs.createReadStream)(input);var writeStream=output?(0,_fs.createWriteStream)(output):process.stdout;readStream.pipe(parserTransform);parserTransform.pipe(singleNodeTransform);singleNodeTransform.pipe(writeStream);parserTransform.on('error',error);singleNodeTransform.on('error',error);writeStream.on('finish',done);}function standardParser(){(0,_fs.readFile)(input,'utf8',checkThen(function(data){(0,_index2.default)(data,checkThen(function(ast){var result=void 0;try{result=JSON.stringify(ast,null,2);}catch(e){return error(e);}if(output){(0,_fs.writeFile)(output,result,checkThen(done));}else{process.stdout.write(result+'\n');done();}}));}));}; diff --git a/dist/sqlite-parser.js b/dist/sqlite-parser.js index af95eee..6c682b7 100644 --- a/dist/sqlite-parser.js +++ b/dist/sqlite-parser.js @@ -1,7 +1,7 @@ /*! - * sqlite-parser - v1.0.0-rc1 + * sqlite-parser - v1.0.0-rc2 * @copyright 2015-2016 Code School (http://codeschool.com) * @author Nick Wronski */ -!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.sqliteParser=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;gL&&(L=I,M=[]),M.push(a))}function n(a,b,c){return new e(e.buildMessage(a,b),a,b,c)}function o(a){return a.split("").map(function(a){return a.charCodeAt(0)-32})}function p(b){var c,d=H[b],e=0,f=[],g=d.length,h=[],i=[],j=I;R.trace({type:"rule.enter",rule:P[b],description:Q[b],location:l(j,j)});var k=546*I+b,n=O[k];if(n)return I=n.nextPos,n.result!==D?R.trace({type:"rule.match",rule:P[b],description:Q[b],result:n.result,location:l(j,I)}):R.trace({type:"rule.fail",rule:P[b],description:Q[b],location:l(j,j)}),n.result;for(;;){for(;eI?(g=e+3+d[e+1],e+=3):(g=e+3+d[e+1]+d[e+2],e+=3+d[e+1]);break;case 18:h.push(g),f.push(e+4+d[e+2]+d[e+3]),a.substr(I,G[d[e+1]].length)===G[d[e+1]]?(g=e+4+d[e+2],e+=4):(g=e+4+d[e+2]+d[e+3],e+=4+d[e+2]);break;case 19:h.push(g),f.push(e+4+d[e+2]+d[e+3]),a.substr(I,G[d[e+1]].length).toLowerCase()===G[d[e+1]]?(g=e+4+d[e+2],e+=4):(g=e+4+d[e+2]+d[e+3],e+=4+d[e+2]);break;case 20:h.push(g),f.push(e+4+d[e+2]+d[e+3]),G[d[e+1]].test(a.charAt(I))?(g=e+4+d[e+2],e+=4):(g=e+4+d[e+2]+d[e+3],e+=4+d[e+2]);break;case 21:i.push(a.substr(I,d[e+1])),I+=d[e+1],e+=2;break;case 22:i.push(G[d[e+1]]),I+=G[d[e+1]].length,e+=2;break;case 23:i.push(D),0===N&&m(G[d[e+1]]),e+=2;break;case 24:J=i[i.length-1-d[e+1]],e+=2;break;case 25:J=I,e++;break;case 26:c=d.slice(e+4,e+4+d[e+3]).map(function(a){return i[i.length-1-a]}),i.splice(i.length-d[e+2],d[e+2],G[d[e+1]].apply(null,c)),e+=4+d[e+3];break;case 27:i.push(p(d[e+1])),e+=2;break;case 28:N++,e++;break;case 29:N--,e++;break;default:throw new Error("Invalid opcode: "+d[e]+".")}if(!(h.length>0))break;g=h.pop(),e=f.pop()}return O[k]={nextPos:I,result:i[0]},i[0]!==D?R.trace({type:"rule.match",rule:P[b],description:Q[b],result:i[0],location:l(j,I)}):R.trace({type:"rule.fail",rule:P[b],description:Q[b],location:l(j,j)}),i[0]}function q(a){return r(a)?Array.isArray(a)?a:[a]:[]}function r(a){return null!=a}function s(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ",c=a.filter(function(a){return r(a)}).reduce(function(a,c){return""+a+x(c)+b},"");return c.trim()}function t(a){return s(a,"")}function u(a){return s(a).toLowerCase()}function v(a){return a.filter(function(a){return r(a)}).reduce(function(a,b){return a.concat(b)},[])}function w(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"'",c=new RegExp(b+"{2}","g");return x(a).replace(c,b)}function x(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return q(a).join("")}function y(a){return x(a).trim()}function z(a){return y(a).toLowerCase()}function A(a){return Array.isArray(a)&&a.length>0&&r(a[0])}function B(a,b){return b.reduce(function(a,b){var c=h(b,4),d=(c[0],c[1]),e=(c[2],c[3]);return{type:"expression",format:"binary",variant:"operation",operation:z(d),left:a,right:e}},a)}b=void 0!==b?b:{};var C,D={},E={start:0,start_streaming:1},F=0,G=[function(a){return a},function(a,b){return{type:"statement",variant:"list",statement:v([a,b])}},function(a){return a},j("Type Definition"),function(a,b){return Object.assign(a,b)},function(a){return{type:"datatype",variant:a[0],affinity:a[1]}},j("Custom Datatype Name"),function(a,b){var c=s([a,b]),d="numeric";return/int/i.test(c)?d="integer":/char|clob|text/i.test(c)?d="text":/blob/i.test(c)?d="blob":/real|floa|doub/i.test(c)&&(d="real"),{type:"datatype",variant:c,affinity:d}},/^[\t ]/,d(["\t"," "],!1,!1),function(a){return a},j("Type Definition Arguments"),function(a,b){return{args:{type:"expression",variant:"list",expression:v([a,b])}}},function(a){return a},j("Null Literal"),function(a){return{type:"literal",variant:"null",value:z(a)}},j("Date Literal"),function(a){return{type:"literal",variant:"date",value:z(a)}},j("String Literal"),function(a,b){return{type:"literal",variant:"text",value:b}},j("Single-quoted String Literal"),function(a){return w(a,"'")},"''",c("''",!1),/^[^']/,d(["'"],!0,!1),j("Blob Literal"),/^[x]/i,d(["x"],!1,!0),function(a){return{type:"literal",variant:"blob",value:a}},function(a){return{type:"literal",variant:"text",value:a}},j("Number Sign"),function(a,b){return r(a)&&(b.value=t([a,b.value])),b},function(a,b){return{type:"literal",variant:"decimal",value:t([a,b])}},j("Decimal Literal"),function(a,b){return t([a,b])},function(a,b){return t([a,b])},j("Decimal Literal Exponent"),"e",c("E",!0),/^[+\-]/,d(["+","-"],!1,!1),function(a,b,c){return t([a,b,c])},j("Hexidecimal Literal"),"0x",c("0x",!0),function(a,b){return{type:"literal",variant:"hexidecimal",value:t([a,b])}},/^[0-9a-f]/i,d([["0","9"],["a","f"]],!1,!0),/^[0-9]/,d([["0","9"]],!1,!1),j("Bind Parameter"),function(a){return Object.assign({type:"variable"},a)},j("Numbered Bind Parameter"),function(a,b){return{format:"numbered",name:t([a,b])}},/^[1-9]/,d([["1","9"]],!1,!1),function(a,b){return t([a,b])},j("Named Bind Parameter"),/^[:@]/,d([":","@"],!1,!1),function(a,b){return{format:"named",name:t([a,b])}},j("TCL Bind Parameter"),"$",c("$",!1),":",c(":",!1),function(a,b,c){return Object.assign({format:"tcl",name:t([a,b])},c)},function(a){return{suffix:a}},j("EXISTS Expression"),function(a,b){return r(a)?{type:"expression",format:"unary",variant:"exists",expression:b,operator:z(a)}:b},j("EXISTS Keyword"),function(a,b){return s([a,b])},j("RAISE Expression"),function(a,b){return Object.assign({type:"expression",format:"unary",variant:z(a),expression:b},b)},j("RAISE Expression Arguments"),function(a){return Object.assign({type:"error"},a)},j("IGNORE Keyword"),function(a){return{action:z(a)}},function(a,b){return{action:z(a),message:b}},function(a){return a},function(a,b){return Object.assign(b,{expression:a})},function(a,b){return{type:"expression",format:"unary",variant:"operation",expression:b,operator:z(a)}},j("COLLATE Expression"),function(a){return Object.assign({type:"expression",format:"unary",variant:"operation",operator:"collate"},a)},function(a,b){return B(a,b)},function(a){return[null,a,null,{type:"literal",variant:"null",value:"null"}]},"not ",c("NOT ",!0),"null",c("NULL",!0),function(){return"not"},function(){return"is"},j("CAST Expression"),function(a,b,c){return{type:"expression",format:"unary",variant:z(a),expression:b,as:c}},j("Type Alias"),function(a){return a},j("CASE Expression"),function(a,b,c,d){return Object.assign({type:"expression",format:"binary",variant:z(a),condition:v([c,d])},b)},function(a){return{expression:a}},j("WHEN Clause"),function(a,b,c){return{type:"condition",format:z(a),when:b,then:c}},j("ELSE Clause"),function(a,b){return{type:"condition",format:z(a),else:b}},function(a,b){return Object.assign(b,{left:a})},j("Comparison Expression"),function(a,b,c,d){return Object.assign({type:"expression",format:"binary",variant:"operation",operation:u([a,b]),right:c},d)},j("ESCAPE Expression"),function(a,b){return{escape:b}},j("BETWEEN Expression"),function(a,b,c){return{type:"expression",format:"binary",variant:"operation",operation:u([a,b]),right:c}},function(a,b){return B(a,[b])},function(a){return y(a)},j("IN Expression"),function(a,b,c){return{type:"expression",format:"binary",variant:"operation",operation:u([a,b]),right:c}},function(a){return a},j("Expression List"),function(a){return{type:"expression",variant:"list",expression:r(a)?a:[]}},function(a,b){return v([a,b])},j("Function Call"),function(a,b){return Object.assign({type:"function",name:a},b)},j("Function Call Arguments"),function(a){return{args:{type:"identifier",variant:"star",name:a}}},function(a,b){return!r(a)||b.expression.length>0},function(a,b){return{args:Object.assign(b,a)}},function(a){return{filter:z(a)}},j("Error Message"),function(a){return a},j("Statement"),function(a,b){return Object.assign(b,a)},j("QUERY PLAN"),function(a,b){return{explain:r(a)}},j("QUERY PLAN Keyword"),function(a,b){return s([a,b])},j("END Transaction Statement"),function(a,b){return{type:"statement",variant:"transaction",action:"commit"}},j("BEGIN Transaction Statement"),function(a,b,c,d){return Object.assign({type:"statement",variant:"transaction",action:"begin"},b,d)},function(a){return a},function(a){return{defer:z(a)}},j("ROLLBACK Statement"),function(a,b){return Object.assign({type:"statement",variant:"transaction",action:"rollback"},b)},j("TO Clause"),function(a){return{savepoint:a}},function(a){return z(a)},j("SAVEPOINT Statement"),function(a,b){return{type:"statement",variant:a,target:b}},j("RELEASE Statement"),function(a,b,c){return{type:"statement",variant:z(a),target:c}},j("ALTER TABLE Statement"),function(a,b,c){return Object.assign({type:"statement",variant:z(a),target:b},c)},j("ALTER TABLE Keyword"),function(a,b){return s([a,b])},j("RENAME TO Keyword"),function(a,b){return{action:z(a),name:b}},j("ADD COLUMN Keyword"),function(a,b){return{action:z(a),definition:b}},function(a,b){return Object.assign(b,a)},j("WITH Clause"),function(a,b,c){var d={variant:r(b)?"recursive":"common"};return A(c)&&(c=c.map(function(a){return Object.assign(a,d)})),{with:c}},function(a,b){return v([a,b])},j("Common Table Expression"),function(a,b){return Object.assign({type:"expression",format:"table",variant:"common",target:a},b)},function(a){return{expression:a}},function(a,b){return Object.assign(b,a)},j("ATTACH Statement"),function(a,b,c,d){return{type:"statement",variant:z(a),target:d,attach:c}},j("DETACH Statement"),function(a,b,c){return{type:"statement",variant:z(a),target:c}},j("VACUUM Statement"),function(a,b){return Object.assign({type:"statement",variant:"vacuum"},b)},function(a){return{target:a}},j("ANALYZE Statement"),function(a,b){return Object.assign({type:"statement",variant:z(a)},b)},function(a){return{target:a.name}},j("REINDEX Statement"),function(a){return{target:a.name}},j("PRAGMA Statement"),function(a,b,c){return{type:"statement",variant:z(a),target:b,args:{type:"expression",variant:"list",expression:c}}},function(a){return a},function(a){return/^(yes|no|on|off|false|true|0|1)$/i.test(a)},function(a){return{type:"literal",variant:"boolean",normalized:/^(yes|on|true|1)$/i.test(a)?"1":"0",value:a}},function(a){return z(a)},function(a){return{type:"identifier",variant:"name",name:a}},j("SELECT Statement"),function(a,b,c){return Object.assign(a,b,c)},j("ORDER BY Clause"),function(a){return{order:a.result}},j("LIMIT Clause"),function(a,b,c){return{limit:Object.assign({type:"expression",variant:"limit",start:b},c)}},j("OFFSET Clause"),function(a,b){return{offset:b}},function(a,b){return A(b)?{type:"statement",variant:"compound",statement:a,compound:b}:a},j("Union Operation"),function(a,b){return{type:"compound",variant:a,statement:b}},function(a,b,c,d){return Object.assign({type:"statement",variant:"select"},a,b,c,d)},j("SELECT Results Clause"),function(a,b){return Object.assign({result:b},a)},j("SELECT Results Modifier"),function(a){return{distinct:!0}},function(a){return{}},j("FROM Clause"),function(a,b){return{from:b}},j("WHERE Clause"),function(a,b){return{where:q(b)}},j("GROUP BY Clause"),function(a,b,c){return Object.assign({group:b},c)},j("HAVING Clause"),function(a,b){return{having:b}},function(a,b){return{type:"identifier",variant:"star",name:t([a,b])}},function(a,b){return t([a,b])},function(a,b){return Object.assign(a,b)},function(a,b){return A(b)?{type:"map",variant:"join",source:a,map:b}:a},function(a,b){return Object.assign(a,b)},j("CROSS JOIN Operation"),function(a){return{type:"join",variant:"cross join",source:a}},j("JOIN Operation"),function(a,b){return{type:"join",variant:z(a),source:b}},function(a,b,c){return Object.assign({type:"function",variant:"table",name:a,args:b},c)},j("Qualified Table"),function(a,b){return Object.assign(a,b)},j("Qualified Table Identifier"),function(a,b){return Object.assign(a,b)},j("Qualfied Table Index"),function(a,b){return{index:b}},function(a,b){return{index:u([a,b])}},j("SELECT Source"),function(a,b){return Object.assign(a,b)},j("Subquery"),function(a,b){return Object.assign(a,b)},j("Alias"),function(a,b){return{alias:b}},j("JOIN Operator"),function(a,b,c){return s([a,b,c])},function(a,b){return s([a,b])},function(a){return y(a)},j("JOIN Constraint"),function(a){return{constraint:Object.assign({type:"constraint",variant:"join"},a)}},j("Join ON Clause"),function(a,b){return{format:z(a),on:b}},j("Join USING Clause"),function(a,b){return{format:z(a),using:b}},j("VALUES Clause"),function(a,b){return{type:"statement",variant:"select",result:b}},function(a,b){return{result:v([a,b])}},function(a){return a},j("Ordering Expression"),function(a,b){return r(b)?Object.assign({type:"expression",variant:"order",expression:a},b):a},j("Star"),j("Fallback Type"),j("INSERT Statement"),function(a,b){return Object.assign({type:"statement",variant:"insert"},a,b)},j("INSERT Keyword"),function(a,b){return Object.assign({action:z(a)},b)},j("REPLACE Keyword"),function(a){return{action:z(a)}},j("INSERT OR Modifier"),function(a,b){return{or:z(b)}},function(a,b){return Object.assign({into:a},b)},j("INTO Clause"),function(a,b){return b},j("INTO Keyword"),function(a){return{result:a}},j("Column List"),function(a,b){return{columns:v([a,b])}},function(a){return a},j("Column Name"),function(a){return{type:"identifier",variant:"column",name:a}},function(a,b){return b},j("VALUES Keyword"),function(a,b){return v([a,b])},j("Wrapped Expression List"),function(a){return a},j("DEFAULT VALUES Clause"),function(a,b){return{type:"values",variant:"default"}},j("Compound Operator"),j("UNION Operator"),function(a,b){return s([a,b])},function(a){return a},j("UPDATE Statement"),function(a,b,c,d,e,f,g){return Object.assign({type:"statement",variant:a,into:c},b,d,e,f,g)},j("UPDATE Keyword"),j("UPDATE OR Modifier"),function(a){return{or:z(a)}},j("SET Clause"),function(a){return{set:a}},j("Column Assignment"),function(a,b){return{type:"assignment",target:a,value:b}},j("DELETE Statement"),function(a,b,c,d,e){return Object.assign({type:"statement",variant:a,from:b},c,d,e)},j("DELETE Keyword"),j("CREATE Statement"),j("CREATE TABLE Statement"),function(a,b,c,d){return Object.assign({type:"statement",name:c},a,d,b)},function(a,b,c){return Object.assign({variant:a,format:z(c)},b)},function(a){return{temporary:r(a)}},j("IF NOT EXISTS Modifier"),function(a,b,c){return{condition:q({type:"condition",condition:u([a,b,c])})}},j("Table Definition"),function(a,b,c){return Object.assign({definition:v([a,b])},c)},function(a,b){return{optimization:[{type:"optimization",value:u([a,b])}]}},function(a){return a},j("Column Definition"),function(a,b,c){return Object.assign({type:"definition",variant:"column",name:a,definition:r(c)?c:[]},b)},j("Column Datatype"),function(a){return{datatype:a}},j("Column Constraint"),function(a,b,c){return Object.assign(b,a)},function(a){return a[a.length-1]},j("CONSTRAINT Name"),function(a){return{name:a}},j("FOREIGN KEY Column Constraint"),function(a){return Object.assign({variant:"foreign key"},a)},j("PRIMARY KEY Column Constraint"),function(a,b,c,d){return Object.assign(a,c,b,d)},j("PRIMARY KEY Keyword"),function(a,b){return{type:"constraint",variant:u([a,b])}},j("AUTOINCREMENT Keyword"),function(a){return{autoIncrement:!0}},function(a,b){return Object.assign({type:"constraint",variant:a},b)},j("UNIQUE Column Constraint"),function(a){return z(a)},j("NULL Column Constraint"),function(a,b){return s([a,b])},j("CHECK Column Constraint"),j("DEFAULT Column Constraint"),function(a,b){return{type:"constraint",variant:z(a),value:b}},j("COLLATE Column Constraint"),function(a){return{type:"constraint",variant:"collate",collate:a}},j("Table Constraint"),function(a,b,c){return Object.assign({type:"definition",variant:"constraint"},b,a)},j("CHECK Table Constraint"),function(a){return{definition:q(a)}},j("PRIMARY KEY Table Constraint"),function(a,b,c){return{definition:q(Object.assign(a,c,b[1])),columns:b[0]}},function(a){return{type:"constraint",variant:z(a)}},function(a,b){return s([a,b])},j("UNIQUE Keyword"),function(a){return y(a)},function(a,b){return[a].concat(b)},function(a){return a.map(function(a){var b=h(a,1),c=b[0];return c})},function(a){var b=a.find(function(a){var b=h(a,2),c=(b[0],b[1]);return r(c)});return[a.map(function(a){var b=h(a,2),c=b[0];b[1];return c}),b?b[1]:null]},j("Indexed Column"),function(a,b,c){var d=a;return r(b)&&(d=Object.assign({type:"expression",variant:"order",expression:a},b)),[d,c]},j("Collation"),function(a){return{collate:q(a)}},j("Column Direction"),function(a){return{direction:z(a)}},function(a,b){return{conflict:z(b)}},j("ON CONFLICT Keyword"),function(a,b){return u([a,b])},function(a,b){return{type:"constraint",variant:z(a),expression:b}},j("FOREIGN KEY Table Constraint"),function(a,b,c){return Object.assign({definition:q(Object.assign(a,c))},b)},j("FOREIGN KEY Keyword"),function(a,b){return{type:"constraint",variant:u([a,b])}},function(a,b,c){return Object.assign({type:"constraint"},a,b,c)},j("REFERENCES Clause"),function(a,b){return{references:b}},function(a,b){return{action:v([a,b])}},j("FOREIGN KEY Action Clause"),function(a,b,c){return{type:"action",variant:z(a),action:z(c)}},j("FOREIGN KEY Action"),function(a,b){return s([a,b])},function(a){return y(a)},function(a,b){return s([a,b])},function(a,b){return{type:"action",variant:z(a),action:b}},j("DEFERRABLE Clause"),function(a,b,c){return{defer:u([a,b,c])}},function(a,b){return s([a,b])},function(a){return{definition:q(a)}},j("CREATE INDEX Statement"),function(a,b,c,d,e){return Object.assign({type:"statement",target:c,on:d},a,b,e)},function(a,b,c){return Object.assign({variant:z(a),format:z(c)},b)},function(a){return{unique:!0}},j("ON Clause"),function(a,b,c){return{type:"identifier",variant:"expression",format:"table",name:b.name,columns:c}},j("CREATE TRIGGER Statement"),function(a,b,c,d,e,f,g,h){return Object.assign({type:"statement",target:c,on:e,event:d,by:r(f)?f:"row",action:q(h)},a,b,g)},function(a,b,c){return Object.assign({variant:z(a),format:z(c)},b)},j("Conditional Clause"),function(a,b){return Object.assign({type:"event"},a,b)},function(a){return{occurs:z(a)}},function(a,b){return s([a,b])},j("Conditional Action"),function(a){return{event:z(a)}},function(a,b){return{event:z(a),of:b}},function(a,b){return b},"statement",c("STATEMENT",!0),function(a,b,c){return z(c)},function(a,b){return{when:b}},j("Actions Clause"),function(a,b,c){return b},function(a){return a},j("CREATE VIEW Statement"),function(a,b,c,d){return Object.assign({type:"statement",target:c,result:d},a,b)},function(a,b){return Object.assign({type:"identifier",variant:"expression",format:"view",name:a.name,columns:[]},b)},function(a,b,c){return Object.assign({variant:z(a),format:z(c)},b)},j("CREATE VIRTUAL TABLE Statement"),function(a,b,c,d){return Object.assign({type:"statement",target:c,result:d},a,b)},function(a,b,c){return{variant:z(a),format:z(b)}},function(a,b){return Object.assign({type:"module",name:a},b)},j("Module Arguments"),function(a){return{args:{type:"expression",variant:"list",expression:r(a)?a:[]}}},function(a,b){return v([a,b]).filter(function(a){return r(a)})},function(a){return a},j("DROP Statement"),function(a,b){return Object.assign({type:"statement",target:Object.assign(b,{variant:a.format})},a)},j("DROP Keyword"),function(a,b,c){return Object.assign({variant:z(a),format:b,condition:[]},c)},j("DROP Type"),function(a){return{condition:q(a)}},j("IF EXISTS Keyword"),function(a,b){return{type:"condition",condition:u([a,b])}},j("Or"),j("Add"),j("Subtract"),j("Multiply"),j("Divide"),j("Modulo"),j("Shift Left"),j("Shift Right"),j("Logical AND"),j("Logical OR"),j("Less Than"),j("Greater Than"),j("Less Than Or Equal"),j("Greater Than Or Equal"),j("Equal"),j("Not Equal"),j("IS"),function(a,b){return u([a,b])},j("Identifier"),j("Database Identifier"),function(a){return{type:"identifier",variant:"database",name:a}},j("Function Identifier"),function(a,b){return{type:"identifier",variant:"function",name:t([a,b])}},j("Table Identifier"),function(a,b){return{type:"identifier",variant:"table",name:t([a,b])}},function(a,b){return t([a,b])},j("Column Identifier"),function(a,b){return{type:"identifier",variant:"column",name:t([a,b])}},function(){return""},function(a,b){return t([a,b])},j("Collation Identifier"),function(a){return{type:"identifier",variant:"collation",name:a}},j("Savepoint Identifier"),function(a){return{type:"identifier",variant:"savepoint",name:a}},j("Index Identifier"),function(a,b){return{type:"identifier",variant:"index",name:t([a,b])}},j("Trigger Identifier"),function(a,b){return{type:"identifier",variant:"trigger",name:t([a,b])}},j("View Identifier"),function(a,b){return{type:"identifier",variant:"view",name:t([a,b])}},j("Pragma Identifier"),function(a,b){return{type:"identifier",variant:"pragma",name:t([a,b])}},j("CTE Identifier"),function(a){return a},function(a,b){return Object.assign({type:"identifier",variant:"expression",format:"table",name:a.name,columns:[]},b)},j("Table Constraint Identifier"),function(a){return{type:"identifier",variant:"constraint",format:"table",name:a}},j("Column Constraint Identifier"),function(a){return{type:"identifier",variant:"constraint",format:"column",name:a}},j("Datatype Name"),function(a){return[a,"text"]},function(a){return[a,"real"]},function(a){return[a,"numeric"]},function(a){return[a,"integer"]},function(a){return[a,"none"]},j("TEXT Datatype Name"),"n",c("N",!0),"var",c("VAR",!0),"char",c("CHAR",!0),"tiny",c("TINY",!0),"medium",c("MEDIUM",!0),"long",c("LONG",!0),"text",c("TEXT",!0),"clob",c("CLOB",!0),j("REAL Datatype Name"),"float",c("FLOAT",!0),"real",c("REAL",!0),j("DOUBLE Datatype Name"),"double",c("DOUBLE",!0),"precision",c("PRECISION",!0),function(a,b){return t([a,b])},j("NUMERIC Datatype Name"),"numeric",c("NUMERIC",!0),"decimal",c("DECIMAL",!0),"boolean",c("BOOLEAN",!0),"date",c("DATE",!0),"time",c("TIME",!0),"stamp",c("STAMP",!0),"string",c("STRING",!0),j("INTEGER Datatype Name"),"int",c("INT",!0),"2",c("2",!1),"4",c("4",!1),"8",c("8",!1),"eger",c("EGER",!0),"big",c("BIG",!0),"small",c("SMALL",!0),"floating",c("FLOATING",!0),"point",c("POINT",!0),function(a,b){return t([a,b])},j("BLOB Datatype Name"),"blob",c("BLOB",!0),/^[a-z0-9$_]/i,d([["a","z"],["0","9"],"$","_"],!1,!0),"\\u",c("\\u",!1),/^[a-f0-9]/i,d([["a","f"],["0","9"]],!1,!0),function(a,b){return t([a,b]).toLowerCase()},function(a){return z(a)},g(),function(a){return y(a)},/^[ \t]/,d([" ","\t"],!1,!1),'"',c('"',!1),'""',c('""',!1),/^[^"]/,d(['"'],!0,!1),function(a){return w(a,'"')},"'",c("'",!1),function(a){return w(a,"'")},"`",c("`",!1),"``",c("``",!1),/^[^`]/,d(["`"],!0,!1),function(a){return w(a,"`")},j("Open Bracket"),"[",c("[",!1),j("Close Bracket"),"]",c("]",!1),j("Open Parenthesis"),"(",c("(",!1),j("Close Parenthesis"),")",c(")",!1),j("Comma"),",",c(",",!1),j("Period"),".",c(".",!1),j("Asterisk"),"*",c("*",!1),j("Question Mark"),"?",c("?",!1),j("Single Quote"),j("Double Quote"),j("Backtick"),j("Tilde"),"~",c("~",!1),j("Plus"),"+",c("+",!1),j("Minus"),"-",c("-",!1),"=",c("=",!1),j("Ampersand"),"&",c("&",!1),j("Pipe"),"|",c("|",!1),"%",c("%",!1),"<",c("<",!1),">",c(">",!1),j("Exclamation"),"!",c("!",!1),j("Semicolon"),";",c(";",!1),j("Colon"),j("Forward Slash"),"/",c("/",!1),j("Backslash"),"\\",c("\\",!1),"abort",c("ABORT",!0),"action",c("ACTION",!0),"add",c("ADD",!0),"after",c("AFTER",!0),"all",c("ALL",!0),"alter",c("ALTER",!0),"analyze",c("ANALYZE",!0),"and",c("AND",!0),"as",c("AS",!0),"asc",c("ASC",!0),"attach",c("ATTACH",!0),"autoincrement",c("AUTOINCREMENT",!0),"before",c("BEFORE",!0),"begin",c("BEGIN",!0),"between",c("BETWEEN",!0),"by",c("BY",!0),"cascade",c("CASCADE",!0),"case",c("CASE",!0),"cast",c("CAST",!0),"check",c("CHECK",!0),"collate",c("COLLATE",!0),"column",c("COLUMN",!0),"commit",c("COMMIT",!0),"conflict",c("CONFLICT",!0),"constraint",c("CONSTRAINT",!0),"create",c("CREATE",!0),"cross",c("CROSS",!0),"current_date",c("CURRENT_DATE",!0),"current_time",c("CURRENT_TIME",!0),"current_timestamp",c("CURRENT_TIMESTAMP",!0),"database",c("DATABASE",!0),"default",c("DEFAULT",!0),"deferrable",c("DEFERRABLE",!0),"deferred",c("DEFERRED",!0),"delete",c("DELETE",!0),"desc",c("DESC",!0),"detach",c("DETACH",!0),"distinct",c("DISTINCT",!0),"drop",c("DROP",!0),"each",c("EACH",!0),"else",c("ELSE",!0),"end",c("END",!0),"escape",c("ESCAPE",!0),"except",c("EXCEPT",!0),"exclusive",c("EXCLUSIVE",!0),"exists",c("EXISTS",!0),"explain",c("EXPLAIN",!0),"fail",c("FAIL",!0),"for",c("FOR",!0),"foreign",c("FOREIGN",!0),"from",c("FROM",!0),"full",c("FULL",!0),"glob",c("GLOB",!0),"group",c("GROUP",!0),"having",c("HAVING",!0),"if",c("IF",!0),"ignore",c("IGNORE",!0),"immediate",c("IMMEDIATE",!0),"in",c("IN",!0),"index",c("INDEX",!0),"indexed",c("INDEXED",!0),"initially",c("INITIALLY",!0),"inner",c("INNER",!0),"insert",c("INSERT",!0),"instead",c("INSTEAD",!0),"intersect",c("INTERSECT",!0),"into",c("INTO",!0),"is",c("IS",!0),"isnull",c("ISNULL",!0),"join",c("JOIN",!0),"key",c("KEY",!0),"left",c("LEFT",!0),"like",c("LIKE",!0),"limit",c("LIMIT",!0),"match",c("MATCH",!0),"natural",c("NATURAL",!0),"no",c("NO",!0),"not",c("NOT",!0),"notnull",c("NOTNULL",!0),"of",c("OF",!0),"offset",c("OFFSET",!0),"on",c("ON",!0),"or",c("OR",!0),"order",c("ORDER",!0),"outer",c("OUTER",!0),"plan",c("PLAN",!0),"pragma",c("PRAGMA",!0),"primary",c("PRIMARY",!0),"query",c("QUERY",!0),"raise",c("RAISE",!0),"recursive",c("RECURSIVE",!0),"references",c("REFERENCES",!0),"regexp",c("REGEXP",!0),"reindex",c("REINDEX",!0),"release",c("RELEASE",!0),"rename",c("RENAME",!0),"replace",c("REPLACE",!0),"restrict",c("RESTRICT",!0),"right",c("RIGHT",!0),"rollback",c("ROLLBACK",!0),"row",c("ROW",!0),"rowid",c("ROWID",!0),"savepoint",c("SAVEPOINT",!0),"select",c("SELECT",!0),"set",c("SET",!0),"table",c("TABLE",!0),"temp",c("TEMP",!0),"temporary",c("TEMPORARY",!0),"then",c("THEN",!0),"to",c("TO",!0),"transaction",c("TRANSACTION",!0),"trigger",c("TRIGGER",!0),"union",c("UNION",!0),"unique",c("UNIQUE",!0),"update",c("UPDATE",!0),"using",c("USING",!0),"vacuum",c("VACUUM",!0),"values",c("VALUES",!0),"view",c("VIEW",!0),"virtual",c("VIRTUAL",!0),"when",c("WHEN",!0),"where",c("WHERE",!0),"with",c("WITH",!0),"without",c("WITHOUT",!0),function(a){return z(a)},function(){return null},j("Line Comment"),"--",c("--",!1),/^[\n\v\f\r]/,d(["\n","\v","\f","\r"],!1,!1),j("Block Comment"),"/*",c("/*",!1),"*/",c("*/",!1),/^[\n\v\f\r\t ]/,d(["\n","\v","\f","\r","\t"," "],!1,!1),j("Whitespace"),"__TODO__",c("__TODO__",!1)],H=[o("%;ɀ/H#;#/?$;\".\" &\"/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),o("%;ɀ/C#;#/:$;x/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),o("%;x/B#;ɀ/9$$;%0#*;%&/)$8#:!#\"\" )(#'#(\"'#&'#"),o("$;ƴ0#*;ƴ&"),o("$;ƴ/�#*;ƴ&&&#"),o("%;$/:#;x/1$;ɀ/($8#:\"#!!)(#'#(\"'#&'#"),o('<%;\'.# &;(/@#;ɀ/7$;*." &"/)$8#:$#"" )(#\'#("\'#&\'#=." 7#'),o("%;ƌ/' 8!:%!! )"),o('<%;Ɩ/9#$;)0#*;)&/)$8":\'""! )("\'#&\'#=." 7&'),o('%4(""5!7)/1#;Ƙ/($8":*"! )("\'#&\'#'),o("<%;ơ/R#;5/I$;ɀ/@$;+.\" &\"/2$;Ƣ/)$8%:,%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7+"),o("%;ƣ/C#;ɀ/:$;5/1$;ɀ/($8$:-$!!)($'#(#'#(\"'#&'#"),o(";5.; &;6.5 &;2./ &;-.) &;..# &;/"),o('<%;ȇ/1#;ɀ/($8":/"!!)("\'#&\'#=." 7.'),o('<%;Ǔ.) &;Ǖ.# &;ǔ/1#;ɀ/($8":1"!!)("\'#&\'#=." 70'),o('<%;4." &"/2#;0/)$8":3""! )("\'#&\'#=." 72'),o("<%;Ƨ/A#$;10#*;1&/1$;Ƨ/($8#:5#!!)(#'#(\"'#&'#=.\" 74"),o('26""6677.) &48""5!79'),o('<%4;""5!7!! )"),o('<%;ƫ.# &;Ƭ/\' 8!:"!! )=." 7?'),o('%;4." &"/2#;6/)$8":@""! )("\'#&\'#'),o(";<.# &;7"),o('%;8/7#;;." &"/)$8":A""! )("\'#&\'#'),o('<;9.# &;:=." 7B'),o('%$;>/�#*;>&&&#/7#;:." &"/)$8":C""! )("\'#&\'#'),o('%;Ƥ/9#$;>0#*;>&/)$8":D""! )("\'#&\'#'),o('<%3F""5!7G/T#4H""5!7I." &"/@$$;>/�#*;>&&&#/*$8#:J##"! )(#\'#("\'#&\'#=." 7E'),o('<%3L""5"7M/?#$;=/�#*;=&&&#/)$8":N""! )("\'#&\'#=." 7K'),o('4O""5!7P'),o('4Q""5!7R'),o("<%;@.) &;B.# &;C/' 8!:T!! )=.\" 7S"),o('<%;Ʀ/@#;A." &"/2$;ɀ/)$8#:V#""!)(#\'#("\'#&\'#=." 7U'),o('%4W""5!7X/9#$;>0#*;>&/)$8":Y""! )("\'#&\'#'),o('<%4[""5!7\\/H#$;Ɣ/�#*;Ɣ&&&#/2$;ɀ/)$8#:]#""!)(#\'#("\'#&\'#=." 7Z'),o('<%2_""6_7`/o#$;Ɣ.) &2a""6a7b/2#0/*;Ɣ.) &2a""6a7b&&&#/A$;ɀ/8$;D." &"/*$8$:c$##" )($\'#(#\'#("\'#&\'#=." 7^'),o('%;Ɯ/1#;ɀ/($8":d"!!)("\'#&\'#'),o('<%;F." &"/;#;ɀ/2$;”/)$8#:f#"" )(#\'#("\'#&\'#=." 7e'),o('<%;k." &"/;#;ǥ/2$;ɀ/)$8#:h#""!)(#\'#("\'#&\'#=." 7g'),o("<%;Ȓ/_#;ɀ/V$;ơ/M$;ɀ/D$;H/;$;ɀ/2$;Ƣ/)$8':j'\"&\")(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7i"),o("<%;I.# &;J/' 8!:l!! )=.\" 7k"),o("<%;ǰ/' 8!:n!! )=.\" 7m"),o("%;Ȝ.) &;Ƹ.# &;ǧ/M#;ɀ/D$;ƣ/;$;ɀ/2$;w/)$8%:o%\"$ )(%'#($'#(#'#(\"'#&'#"),o(";?./ &;t.) &;,.# &;ž"),o("%;ơ/L#;ɀ/C$;o/:$;ɀ/1$;Ƣ/($8%:p%!\")(%'#($'#(#'#(\"'#&'#"),o(";L.; &;_.5 &;a./ &;G.) &;E.# &;K"),o("%;M/;#;ɀ/2$;Q/)$8#:q#\"\" )(#'#(\"'#&'#.# &;M"),o("%;P/A#;ɀ/8$;N.# &;o/)$8#:r#\"\" )(#'#(\"'#&'#.# &;N"),o(";ƪ./ &;Ƭ.) &;ƫ.# &;k"),o("<%;ĭ/' 8!:t!! )=.\" 7s"),o("%;O/ƒ#$%;ɀ/>#;ŧ/5$;ɀ/,$;O/#$+$)($'#(#'#(\"'#&'#0H*%;ɀ/>#;ŧ/5$;ɀ/,$;O/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o("%;R/ƒ#$%;ɀ/>#;T/5$;ɀ/,$;R/#$+$)($'#(#'#(\"'#&'#0H*%;ɀ/>#;T/5$;ɀ/,$;R/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o(";Ū.) &;ū.# &;Ŭ"),o("%;S/ƒ#$%;ɀ/>#;V/5$;ɀ/,$;S/#$+$)($'#(#'#(\"'#&'#0H*%;ɀ/>#;V/5$;ɀ/,$;S/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o(";Ũ.# &;ũ"),o("%;U/ƒ#$%;ɀ/>#;X/5$;ɀ/,$;U/#$+$)($'#(#'#(\"'#&'#0H*%;ɀ/>#;X/5$;ɀ/,$;U/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o(";ŭ.U &;Ů.O &;ů.I &%%;Ű/8#%<;Ű=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),o("%;W/ƒ#$%;ɀ/>#;Z/5$;ɀ/,$;W/#$+$)($'#(#'#(\"'#&'#0H*%;ɀ/>#;Z/5$;ɀ/,$;W/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o(";ų.{ &;Ŵ.u &%%;ű/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,).I &%%;Ų/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),o('%;Y/9#$;\\0#*;\\&/)$8":u""! )("\'#&\'#'),o("%;ɀ/1#;]/($8\":v\"! )(\"'#&'#.H &%;ɀ/>#;^/5$;ɀ/,$;Y/#$+$)($'#(#'#(\"'#&'#"),o('%3w""5$7x/?#;ɀ/6$3y""5$7z/\'$8#:{# )(#\'#("\'#&\'#.? &%;Ǽ/& 8!:|! ).. &%;Ȇ/& 8!:{! )'),o(";Ÿ./ &;Ŷ.) &;ŷ.# &;ŵ"),o("<%;NJ/i#;ɀ/`$;ơ/W$;o/N$;ɀ/E$;`/<$;ɀ/3$;Ƣ/*$8(:~(#'$\")(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7}"),o("<%;ǀ/:#;ɀ/1$;&/($8#:€#! )(#'#(\"'#&'#=.\" 7"),o("<%;lj/“#;ɀ/Š$;b.\" &\"/|$;ɀ/s$$;c/�#*;c&&&#/]$;ɀ/T$;d.\" &\"/F$;ɀ/=$;ǡ/4$;ɀ/+$8*:‚*$)'%#)(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7"),o("%%<;ȱ=.##&&!&'#/1#;o/($8\":ƒ\"! )(\"'#&'#"),o("<%;ȱ/i#;ɀ/`$;o/W$;ɀ/N$;ȥ/E$;ɀ/<$;o/3$;ɀ/*$8(:…(#'%!)(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7„"),o("<%;Ǡ/D#;ɀ/;$;o/2$;ɀ/)$8$:‡$\"#!)($'#(#'#(\"'#&'#=.\" 7†"),o("%;[/;#;ɀ/2$;f/)$8#:ˆ#\"\" )(#'#(\"'#&'#.# &;["),o(";l.) &;i.# &;g"),o('<%;k." &"/o#;Ȁ./ &;Ǭ.) &;ȕ.# &;Ȃ/T$;ɀ/K$;o/B$;ɀ/9$;h." &"/+$8&:Š&$%$" )(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7‰'),o("<%;Ǣ/D#;ɀ/;$;o/2$;ɀ/)$8$:Œ$\"#!)($'#(#'#(\"'#&'#=.\" 7‹"),o('<%;k." &"/E#;dž/<$;ɀ/3$;j/*$8$:Ž$##" )($\'#(#\'#("\'#&\'#=." 7'),o("%;e/W#%;ɀ/>#;ƿ/5$;ɀ/,$;e/#$+$)($'#(#'#(\"'#&'#/)$8\":\"\"! )(\"'#&'#"),o('%;ȅ/1#;ɀ/($8":"!!)("\'#&\'#'),o('<%;k." &"/E#;Dz/<$;ɀ/3$;m/*$8$:’$##" )($\'#(#\'#("\'#&\'#=." 7‘'),o(";n.# &;ż"),o("%;ơ/I#;•.# &;q/:$;ɀ/1$;Ƣ/($8$:“$!\")($'#(#'#(\"'#&'#"),o("%;e/ƒ#$%;ɀ/>#;p/5$;ɀ/,$;e/#$+$)($'#(#'#(\"'#&'#0H*%;ɀ/>#;p/5$;ɀ/,$;e/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o(";ƿ.# &;ȋ"),o('<%;r." &"/1#;ɀ/($8":•"!!)("\'#&\'#=." 7”'),o("%;o/B#;ɀ/9$$;s0#*;s&/)$8#:–#\"\" )(#'#(\"'#&'#"),o("%;ƣ/:#;o/1$;ɀ/($8#:“#!!)(#'#(\"'#&'#"),o("<%;Ż/[#;ɀ/R$;ơ/I$;u.\" &\"/;$;ɀ/2$;Ƣ/)$8&:˜&\"%\")(&'#(%'#($'#(#'#(\"'#&'#=.\" 7—"),o('<%;Û/\' 8!:š!! ).V &%;v." &"/G#;q/>$9:› "! -""&!&#/)$8#:œ#""!)(#\'#("\'#&\'#=." 7™'),o('%;ǝ.# &;Ƽ/1#;ɀ/($8":"!!)("\'#&\'#'),o("<%;//' 8!:Ÿ!! )=.\" 7ž"),o('<%;y." &"/;#;{/2$;ɀ/)$8#:¡#""!)(#\'#("\'#&\'#=." 7 '),o('<%;Ǧ/@#;ɀ/7$;z." &"/)$8#:£#"" )(#\'#("\'#&\'#=." 7¢'),o("<%;ȑ/D#;ɀ/;$;Ȏ/2$;ɀ/)$8$:¥$\"#!)($'#(#'#(\"'#&'#=.\" 7¤"),o(";Œ.S &;û.M &;Ţ.G &;}.A &;|.; &;†.5 &;€./ &;„.) &;….# &;–"),o('<%;ǎ.# &;ǡ/@#;ɀ/7$;~." &"/)$8#:§#"" )(#\'#("\'#&\'#=." 7¦'),o('<%;Dž/^#;ɀ/U$;." &"/G$;~." &"/9$;‚." &"/+$8%:©%$$"! )(%\'#($\'#(#\'#("\'#&\'#=." 7¨'),o('%;ȧ/1#;ɀ/($8":ª"!!)("\'#&\'#'),o('%;Ǚ.) &;DZ.# &;Ǥ/1#;ɀ/($8":«"!!)("\'#&\'#'),o('<%;Ȝ/N#;ɀ/E$;~." &"/7$;." &"/)$8$:­$"# )($\'#(#\'#("\'#&\'#=." 7¬'),o('<%%;Ȧ/,#;ɀ/#$+")("\'#&\'#." &"/?#;ƒ." &"/1$;‚/($8#:p#! )(#\'#("\'#&\'#=." 7®'),o('%;ƃ/1#;ɀ/($8":¯"!!)("\'#&\'#'),o('%;ȟ/1#;ɀ/($8":°"!!)("\'#&\'#'),o('<%;ƒ/2#;‚/)$8":²""! )("\'#&\'#=." 7±'),o("<%;ȗ/J#;ɀ/A$;ƒ.\" &\"/3$;‚/*$8$:´$##! )($'#(#'#(\"'#&'#=.\" 7³"),o("<%;‡/N#;ż/E$;ɀ/<$;ˆ/3$;ɀ/*$8%:¶%#$#!)(%'#($'#(#'#(\"'#&'#=.\" 7µ"),o("<%;ƽ/D#;ɀ/;$;Ȣ/2$;ɀ/)$8$:¸$\"#!)($'#(#'#(\"'#&'#=.\" 7·"),o(";‰.# &;Š"),o("<%;Ș/M#;ɀ/D$;Ȧ/;$;ɀ/2$;ż/)$8%:º%\"$ )(%'#($'#(#'#(\"'#&'#=.\" 7¹"),o('<%;ƺ/I#;ɀ/@$;‹." &"/2$;Č/)$8$:¼$"# )($\'#(#\'#("\'#&\'#=." 7»'),o('%;Ǎ/1#;ɀ/($8":°"!!)("\'#&\'#'),o('%;/2#;§/)$8":½""! )("\'#&\'#'),o('<%;Ž." &"/1#;ɀ/($8":*"!!)("\'#&\'#=." 7¾'),o("%;ȳ/J#;ɀ/A$;.\" &\"/3$;/*$8$:¿$##! )($'#(#'#(\"'#&'#"),o('%;ȓ/1#;ɀ/($8":°"!!)("\'#&\'#'),o("%;’/B#;ɀ/9$$;‘0#*;‘&/)$8#:À#\"\" )(#'#(\"'#&'#"),o("%;ƣ/:#;’/1$;ɀ/($8#:“#!!)(#'#(\"'#&'#"),o('<%;ƈ/2#;“/)$8":Â""! )("\'#&\'#=." 7Á'),o("%;ǀ/:#;ɀ/1$;”/($8#:Ã#! )(#'#(\"'#&'#"),o("%;ơ/C#;•/:$;ɀ/1$;Ƣ/($8$: $!\")($'#(#'#(\"'#&'#"),o('%;/2#;¨/)$8":Ä""! )("\'#&\'#'),o(";—.; &;™.5 &;š./ &;œ.) &;ž.# &; "),o("<%;ǂ/‹#;ɀ/‚$%;ǖ/,#;ɀ/#$+\")(\"'#&'#.\" &\"/a$;o/X$;ɀ/O$;ǀ/F$;ɀ/=$;˜/4$;ɀ/+$8):Æ)$(&%!)()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Å"),o(";ź.) &;-.# &;?"),o("<%;ǜ/f#;ɀ/]$%;ǖ/,#;ɀ/#$+\")(\"'#&'#.\" &\"/<$;˜/3$;ɀ/*$8%:È%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7Ç"),o('<%;ȭ/@#;ɀ/7$;›." &"/)$8#:Ê#"" )(#\'#("\'#&\'#=." 7É'),o('%;ź/1#;ɀ/($8":Ë"!!)("\'#&\'#'),o('<%;ƾ/@#;ɀ/7$;." &"/)$8#:Í#"" )(#\'#("\'#&\'#=." 7Ì'),o('%;ż.) &;Ƅ.# &;ź/1#;ɀ/($8":Î"!!)("\'#&\'#'),o('<%;Ȗ/I#;ɀ/@$;Ÿ." &"/2$;ɀ/)$8$:Í$"#!)($\'#(#\'#("\'#&\'#=." 7Ï'),o('%;ż.) &;Ƅ.# &;Ƃ/1#;ɀ/($8":Ð"!!)("\'#&\'#'),o("<%;ȏ/S#;ɀ/J$;Ƈ/A$;ɀ/8$;¡.\" &\"/*$8%:Ò%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ñ"),o("%;ơ/C#;¢/:$;ɀ/1$;Ƣ/($8$:Ó$!\")($'#(#'#(\"'#&'#.D &%;ƭ/:#;¢/1$;ɀ/($8#:Ó#!!)(#'#(\"'#&'#"),o(";¤.) &;£.# &;¦"),o(";5.) &;/.# &;3"),o('%;¥/<#9:Ô ! -""&!&#/($8":Õ"!!)("\'#&\'#'),o("%$;Ɣ/�#*;Ɣ&&&#/' 8!:Ö!! )"),o("%;¥/' 8!:×!! )"),o(";¨./ &;Ý.) &;ò.# &;ù"),o('<%;®/X#;ɀ/O$;©." &"/A$;ɀ/8$;ª." &"/*$8%:Ù%#$" )(%\'#($\'#(#\'#("\'#&\'#=." 7Ø'),o("<%;Ȍ/L#;ɀ/C$;LJ/:$;ɀ/1$;Ø/($8%:Û%! )(%'#($'#(#'#(\"'#&'#=.\" 7Ú"),o("<%;ȁ/S#;ɀ/J$;o/A$;ɀ/8$;«.\" &\"/*$8%:Ý%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ü"),o('<%;¬/2#;o/)$8":ß""! )("\'#&\'#=." 7Þ'),o(";­.# &;ƣ"),o('%;ȉ/1#;ɀ/($8":°"!!)("\'#&\'#'),o("%;°/B#;ɀ/9$$;¯0#*;¯&/)$8#:à#\"\" )(#'#(\"'#&'#"),o("<%;ï/D#;ɀ/;$;°/2$;ɀ/)$8$:â$\"#!)($'#(#'#(\"'#&'#=.\" 7á"),o(";±.# &;×"),o('%;²/U#;¸." &"/G$;¹." &"/9$;º." &"/+$8$:ã$$#"! )($\'#(#\'#("\'#&\'#'),o('<%;Ƞ/R#;ɀ/I$;³." &"/;$;ɀ/2$;¶/)$8%:å%"" )(%\'#($\'#(#\'#("\'#&\'#=." 7ä'),o('<;´.# &;µ=." 7æ'),o('%;ǝ/1#;ɀ/($8":ç"!!)("\'#&\'#'),o('%;Ƽ/1#;ɀ/($8":è"!!)("\'#&\'#'),o("%;¼/B#;ɀ/9$$;·0#*;·&/)$8#:À#\"\" )(#'#(\"'#&'#"),o("%;ƣ/:#;¼/1$;ɀ/($8#:-#!!)(#'#(\"'#&'#"),o("<%;Ǫ/D#;ɀ/;$;À/2$;ɀ/)$8$:ê$\"#!)($'#(#'#(\"'#&'#=.\" 7é"),o("<%;Ȳ/D#;ɀ/;$;o/2$;ɀ/)$8$:ì$\"#!)($'#(#'#(\"'#&'#=.\" 7ë"),o("<%;ǭ/e#;ɀ/\\$;LJ/S$;ɀ/J$;q/A$;ɀ/8$;».\" &\"/*$8':î'#&\" )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7í"),o("<%;Ǯ/D#;ɀ/;$;o/2$;ɀ/)$8$:ð$\"#!)($'#(#'#(\"'#&'#=.\" 7ï"),o(";½.# &;¿"),o('%;¾." &"/2#;Û/)$8":ñ""! )("\'#&\'#'),o('%;Ɩ/2#;Ƥ/)$8":ò""! )("\'#&\'#'),o('%;o/@#;ɀ/7$;Í." &"/)$8#:ó#"" )(#\'#("\'#&\'#'),o("%;Ä/B#;ɀ/9$$;Á0#*;Á&/)$8#:ô#\"\" )(#'#(\"'#&'#"),o('%;Â.# &;Ã/7#;Ô." &"/)$8":õ""! )("\'#&\'#'),o("<%;ƣ/:#;Ä/1$;ɀ/($8#:÷#!!)(#'#(\"'#&'#=.\" 7ö"),o("<%;Î/D#;ɀ/;$;Ä/2$;ɀ/)$8$:ù$\"#!)($'#(#'#(\"'#&'#=.\" 7ø"),o(";Ë.5 &;?./ &;Å.) &;Æ.# &;Ì"),o("%;Ż/S#;ɀ/J$;í/A$;ɀ/8$;Í.\" &\"/*$8%:ú%#$\" )(%'#($'#(#'#(\"'#&'#"),o('<%;Ç/@#;ɀ/7$;È." &"/)$8#:ü#"" )(#\'#("\'#&\'#=." 7û'),o('<%;ż/@#;ɀ/7$;Í." &"/)$8#:þ#"" )(#\'#("\'#&\'#=." 7ý'),o('<;É.# &;Ê=." 7ÿ'),o("%;Ǵ/V#;ɀ/M$;LJ/D$;ɀ/;$;Ƅ/2$;ɀ/)$8&:Ā&\"%!)(&'#(%'#($'#(#'#(\"'#&'#"),o("%;k/;#;Ǵ/2$;ɀ/)$8#:ā#\"\"!)(#'#(\"'#&'#"),o("<%;ơ/R#;À/I$;ɀ/@$;Ƣ/7$;Í.\" &\"/)$8%:ă%\"# )(%'#($'#(#'#(\"'#&'#=.\" 7Ă"),o('<%;”/7#;Í." &"/)$8":ą""! )("\'#&\'#=." 7Ą'),o('<%%;ǀ/Q#%%<;Ɣ.# &;ȷ=.##&&!&\'#/,#;ɀ/#$+")("\'#&\'#/#$+")("\'#&\'#." &"/;#;Ɩ/2$;ɀ/)$8#:ć#""!)(#\'#("\'#&\'#=." 7Ć'),o('<%;Ï." &"/J#;ɀ/A$;Ð." &"/3$;ǽ/*$8$:ĉ$##! )($\'#(#\'#("\'#&\'#=." 7Ĉ'),o('%;ȃ/1#;ɀ/($8":"!!)("\'#&\'#'),o(";Ñ.# &;Ó"),o('%;ǿ.) &;ț.# &;ǫ/@#;ɀ/7$;Ò." &"/)$8#:Ċ#"" )(#\'#("\'#&\'#'),o('%;ȍ/1#;ɀ/($8":ċ"!!)("\'#&\'#'),o('%;Ƕ.# &;ǒ/1#;ɀ/($8":ċ"!!)("\'#&\'#'),o('<%;Õ.# &;Ö/1#;ɀ/($8":č"!!)("\'#&\'#=." 7Č'),o('<%;Ȋ/;#;ɀ/2$;o/)$8#:ď#"" )(#\'#("\'#&\'#=." 7Ď'),o('<%;Ȭ/;#;ɀ/2$;æ/)$8#:đ#"" )(#\'#("\'#&\'#=." 7Đ'),o('<%;Ȯ/;#;ɀ/2$;ë/)$8#:ē#"" )(#\'#("\'#&\'#=." 7Ē'),o("%;Ú/B#;ɀ/9$$;Ù0#*;Ù&/)$8#:Ĕ#\"\" )(#'#(\"'#&'#"),o("%;ƣ/:#;Ú/1$;ɀ/($8#:ĕ#!!)(#'#(\"'#&'#"),o('<%;o/@#;ɀ/7$;į." &"/)$8#:ė#"" )(#\'#("\'#&\'#=." 7Ė'),o('<;ƥ=." 7Ę'),o('<;ș.5 &;Ȝ./ &;Ƹ.) &;ǧ.# &;ǰ=." 7ę'),o('<%;Þ/;#;ɀ/2$;â/)$8#:ě#"" )(#\'#("\'#&\'#=." 7Ě'),o(";ß.# &;à"),o('<%;Ƿ/@#;ɀ/7$;á." &"/)$8#:ĝ#"" )(#\'#("\'#&\'#=." 7Ĝ'),o('<%;ș/1#;ɀ/($8":ğ"!!)("\'#&\'#=." 7Ğ'),o('<%;ȋ/;#;ɀ/2$;Ü/)$8#:ġ#"" )(#\'#("\'#&\'#=." 7Ġ'),o('%;ã/2#;å/)$8":Ģ""! )("\'#&\'#'),o('<%;ä/2#;ƈ/)$8":Ĥ""! )("\'#&\'#=." 7ģ'),o('<%;Ǻ/,#;ɀ/#$+")("\'#&\'#=." 7ĥ'),o('<%;é.) &;•.# &;î/1#;ɀ/($8":Ħ"!!)("\'#&\'#=." 7Ē'),o("<%;ơ/T#;è/K$;ɀ/B$$;ç0#*;ç&/2$;Ƣ/)$8%:Ĩ%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7ħ"),o("%;ƣ/:#;è/1$;ɀ/($8#:ĩ#!!)(#'#(\"'#&'#"),o("<%;Ź/' 8!:ī!! )=.\" 7Ī"),o('<%;ê/2#;ë/)$8":Ĭ""! )("\'#&\'#=." 7Ē'),o('<%;Ȯ/1#;ɀ/($8":°"!!)("\'#&\'#=." 7ĭ'),o("%;í/B#;ɀ/9$$;ì0#*;ì&/)$8#:Į#\"\" )(#'#(\"'#&'#"),o("%;ƣ/:#;í/1$;ɀ/($8#:“#!!)(#'#(\"'#&'#"),o("<%;ơ/C#;q/:$;ɀ/1$;Ƣ/($8$:İ$!\")($'#(#'#(\"'#&'#=.\" 7į"),o('<%;Ǘ/;#;ɀ/2$;Ȯ/)$8#:IJ#"" )(#\'#("\'#&\'#=." 7ı'),o("<%;ð.) &;ǹ.# &;ǣ/' 8!:°!! )=.\" 7ij"),o('<%;ȩ/@#;ɀ/7$;ñ." &"/)$8#:ĵ#"" )(#\'#("\'#&\'#=." 7Ĵ'),o('%;Ƽ/1#;ɀ/($8":Ķ"!!)("\'#&\'#'),o("<%;ó/Š#;ô.\" &\"/|$;Æ/s$;ɀ/j$;õ/a$;¹.\" &\"/S$;©.\" &\"/E$;ɀ/<$;ª.\" &\"/.$8):ĸ)'('&$#\" )()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7ķ"),o('<%;ȫ/1#;ɀ/($8":°"!!)("\'#&\'#=." 7Ĺ'),o("<%;ȋ/C#;ɀ/:$;Ü/1$;ɀ/($8$:Ļ$!!)($'#(#'#(\"'#&'#=.\" 7ĺ"),o("<%;ȡ/C#;ɀ/:$;ö/1$;ɀ/($8$:Ľ$!!)($'#(#'#(\"'#&'#=.\" 7ļ"),o('%;ø/9#$;÷0#*;÷&/)$8":Į""! )("\'#&\'#'),o("%;ɀ/:#;ƣ/1$;ø/($8#:ĩ#! )(#'#(\"'#&'#"),o("<%;ž/M#;ɀ/D$;ƭ/;$;o/2$;ɀ/)$8%:Ŀ%\"$!)(%'#($'#(#'#(\"'#&'#=.\" 7ľ"),o('<%;ú/h#;Æ/_$;ɀ/V$;¹." &"/H$;©." &"/:$;ª." &"/,$8&:Ł&%%$"! )(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7ŀ'),o("<%;ǚ/C#;ɀ/:$;Ǫ/1$;ɀ/($8$:°$!#)($'#(#'#(\"'#&'#=.\" 7ł"),o('<;ý.5 &;þ./ &;ÿ.) &;Ā.# &;ā=." 7Ń'),o('%;Ǒ/1#;ɀ/($8":°"!!)("\'#&\'#'),o("%%<%;ü/>#;dz./ &;Ȩ.) &;ȯ.# &;Ȱ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ă/($8\":ĩ\"! )(\"'#&'#"),o("%%<%;ü/>#;Ȣ./ &;Ȩ.) &;ȯ.# &;Ȱ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ń/($8\":ĩ\"! )(\"'#&'#"),o("%%<%;ü/>#;Ȣ./ &;dz.) &;ȯ.# &;Ȱ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ň/($8\":ĩ\"! )(\"'#&'#"),o("%%<%;ü/>#;Ȣ./ &;dz.) &;Ȩ.# &;Ȱ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ŗ/($8\":ĩ\"! )(\"'#&'#"),o("%%<%;ü/>#;Ȣ./ &;dz.) &;Ȩ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ś/($8\":ĩ\"! )(\"'#&'#"),o("<%;ă/T#;ą.\" &\"/F$;ż/=$;ɀ/4$;Ć/+$8%:Ņ%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7ń"),o("%;ü/J#;Ą.\" &\"/<$;Ȣ/3$;ɀ/*$8$:ņ$##\"!)($'#(#'#(\"'#&'#"),o('%;Ȥ.# &;ȣ/1#;ɀ/($8":Ň"!!)("\'#&\'#'),o("<%;ǯ/N#;ɀ/E$;k/<$;ǥ/3$;ɀ/*$8%:ʼn%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7ň"),o(";ć.# &;ł"),o("<%;ơ/Z#;ĉ/Q$$;ċ0#*;ċ&/A$;Ƣ/8$;Ĉ.\" &\"/*$8%:ŋ%##\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ŋ"),o("%;ȴ/D#;ɀ/;$;Ȟ/2$;ɀ/)$8$:Ō$\"#!)($'#(#'#(\"'#&'#"),o("%;Č/B#;ɀ/9$$;Ċ0#*;Ċ&/)$8#:Į#\"\" )(#'#(\"'#&'#"),o("%;ƣ/:#;Č/1$;ɀ/($8#:ª#!!)(#'#(\"'#&'#"),o('%;ƣ." &"/1#;Ġ/($8":ō"! )("\'#&\'#'),o('<%;č/O#;ɀ/F$;Ď." &"/8$;ď." &"/*$8$:ŏ$##! )($\'#(#\'#("\'#&\'#=." 7Ŏ'),o("%;Ɩ/=#%<;ɀ=/##&'!&&#/($8\":p\"!!)(\"'#&'#.\\ &%%<;Ď.) &;đ.# &;Ġ=.##&&!&'#/:#;ɀ/1$;ƙ/($8#:p#! )(#'#(\"'#&'#"),o('<%;&/1#;ɀ/($8":ő"!!)("\'#&\'#=." 7Ő'),o("%;đ/B#$;Đ0#*;Đ&/2$;ɀ/)$8#:Į#\"\"!)(#'#(\"'#&'#"),o('%;ɀ/1#;đ/($8":ĩ"! )("\'#&\'#'),o('<%;Ē." &"/A#;Ĕ/8$;Ē." &"/*$8#:œ##"! )(#\'#("\'#&\'#=." 7Œ'),o("%$;ē/�#*;ē&&&#/' 8!:Ŕ!! )"),o("<%;ǐ/C#;ɀ/:$;Ɩ/1$;ɀ/($8$:Ŗ$!!)($'#(#'#(\"'#&'#=.\" 7ŕ"),o(";Ė.; &;ę.5 &;Ĝ./ &;ĝ.) &;ğ.# &;ĕ"),o("<%;ĵ/' 8!:Ř!! )=.\" 7ŗ"),o('<%;ė/U#;į." &"/G$;İ." &"/9$;Ę." &"/+$8$:Ś$$#"! )($\'#(#\'#("\'#&\'#=." 7ř'),o("<%;Ȑ.# &;ȏ/D#;ɀ/;$;Ǿ/2$;ɀ/)$8$:Ŝ$\"#!)($'#(#'#(\"'#&'#=.\" 7ś"),o('<%;ǃ/1#;ɀ/($8":Ş"!!)("\'#&\'#=." 7ŝ'),o('%;Ě/@#;İ." &"/2$;ɀ/)$8#:ş#""!)(#\'#("\'#&\'#'),o('<%;ě.# &;Ȫ/1#;ɀ/($8":š"!!)("\'#&\'#=." 7Š'),o('<%;k." &"/2#;ȇ/)$8":ţ""! )("\'#&\'#=." 7Ţ'),o('<;IJ=." 7Ť'),o("<%;Ǘ/D#;ɀ/;$;Ğ/2$;ɀ/)$8$:Ŧ$\"#!)($'#(#'#(\"'#&'#=.\" 7ť"),o(";L./ &;5.) &;,.# &;3"),o("<%;ĭ/' 8!:Ũ!! )=.\" 7ŧ"),o('<%;Ē." &"/J#;ġ/A$;ɀ/8$;Ē." &"/*$8$:Ū$##" )($\'#(#\'#("\'#&\'#=." 7ũ'),o(";ij.) &;ģ.# &;Ģ"),o("<%;IJ/' 8!:Ŭ!! )=.\" 7ū"),o("<%;Ĥ/J#;ɀ/A$;ĩ/8$;İ.\" &\"/*$8$:Ů$##! )($'#(#'#(\"'#&'#=.\" 7ŭ"),o('%;ĥ.# &;Ħ/1#;ɀ/($8":ů"!!)("\'#&\'#'),o('<%;Ȑ/;#;ɀ/2$;Ǿ/)$8#:Ű#"" )(#\'#("\'#&\'#=." 7ś'),o("<%;Ȫ/' 8!:Ų!! )=.\" 7ű"),o("%;ơ/T#;ī/K$;ɀ/B$$;Ī0#*;Ī&/2$;Ƣ/)$8%:ų%\"#!)(%'#($'#(#'#(\"'#&'#"),o("%;ħ/' 8!:Ŵ!! )"),o("%;ħ/' 8!:ŵ!! )"),o("%;ƣ/:#;ī/1$;ɀ/($8#:ĩ#!!)(#'#(\"'#&'#"),o('<%;Ĭ/O#;ɀ/F$;į." &"/8$;Ę." &"/*$8$:ŷ$##! )($\'#(#\'#("\'#&\'#=." 7Ŷ'),o("%;è/\\#%<%;ɀ/8#;ƴ.) &;Ƣ.# &;į/#$+\")(\"'#&'#=/##&'!&&#/($8\":p\"!!)(\"'#&'#.# &;o"),o("<%$;Į/�#*;Į&&&#/' 8!:Ź!! )=.\" 7Ÿ"),o("%;nj/C#;ɀ/:$;Ƃ/1$;ɀ/($8$:p$!!)($'#(#'#(\"'#&'#"),o('<%;ǁ.# &;Ǜ/1#;ɀ/($8":Ż"!!)("\'#&\'#=." 7ź'),o("%;ı/;#;Ü/2$;ɀ/)$8#:ż#\"\"!)(#'#(\"'#&'#"),o("<%;Ȋ/D#;ɀ/;$;Ǐ/2$;ɀ/)$8$:ž$\"#!)($'#(#'#(\"'#&'#=.\" 7Ž"),o("%;Nj/;#;ɀ/2$;L/)$8#:ſ#\"\" )(#'#(\"'#&'#"),o("<%;Ĵ/E#;æ/<$;ĵ/3$;ɀ/*$8$:Ɓ$##\"!)($'#(#'#(\"'#&'#=.\" 7ƀ"),o("<%;ǩ/D#;ɀ/;$;Ǿ/2$;ɀ/)$8$:ƃ$\"#!)($'#(#'#(\"'#&'#=.\" 7Ƃ"),o('%;Ķ/F#;ķ." &"/8$;ŀ." &"/*$8#:Ƅ##"! )(#\'#("\'#&\'#'),o("<%;Ȕ/D#;ɀ/;$;ƈ/2$;ɀ/)$8$:Ɔ$\"#!)($'#(#'#(\"'#&'#=.\" 7ƅ"),o("%;Ĺ/B#;ɀ/9$$;ĸ0#*;ĸ&/)$8#:Ƈ#\"\" )(#'#(\"'#&'#"),o('%;Ĺ/1#;ɀ/($8":Ķ"!!)("\'#&\'#'),o('<;ĺ.# &;Ŀ=." 7ƈ'),o("%;Ȋ/T#;ɀ/K$;ǚ.# &;ȫ/<$;ɀ/3$;Ļ/*$8%:Ɖ%#$\" )(%'#($'#(#'#(\"'#&'#"),o('<;ļ.) &;Ľ.# &;ľ=." 7Ɗ'),o("%;ȡ/J#;ɀ/A$;ȇ.# &;Ǘ/2$;ɀ/)$8$:Ƌ$\"#!)($'#(#'#(\"'#&'#"),o('%;Lj.# &;Ț/1#;ɀ/($8":ƌ"!!)("\'#&\'#'),o("%;Ȅ/D#;ɀ/;$;ƹ/2$;ɀ/)$8$:ƍ$\"#!)($'#(#'#(\"'#&'#"),o("%;Ȃ/D#;ɀ/;$;Ɩ/2$;ɀ/)$8$:Ǝ$\"#!)($'#(#'#(\"'#&'#"),o('<%;k." &"/J#;ǘ/A$;ɀ/8$;Ł." &"/*$8$:Ɛ$##" )($\'#(#\'#("\'#&\'#=." 7Ə'),o("%;ǵ/J#;ɀ/A$;Ǚ.# &;DZ/2$;ɀ/)$8$:Ƒ$\"#!)($'#(#'#(\"'#&'#"),o("%;ř/' 8!:ƒ!! )"),o("<%;ń/c#;ą.\" &\"/U$;Ƅ/L$;ɀ/C$;ņ/:$;¹.\" &\"/,$8&:Ɣ&%%$#! )(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ɠ"),o("%;ü/J#;Ņ.\" &\"/<$;dz/3$;ɀ/*$8$:ƕ$##\"!)($'#(#'#(\"'#&'#"),o('%;Ȫ/1#;ɀ/($8":Ɩ"!!)("\'#&\'#'),o("<%;Ȋ/N#;ɀ/E$;ż/<$;ɀ/3$;Ĩ/*$8%:Ƙ%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ɨ"),o("<%;ň/¦#;ą.\" &\"/˜$;ƅ.\" &\"/Š$;ɀ/$;ʼn/x$;Ȋ/o$;ɀ/f$;ż/]$;ɀ/T$;ő.\" &\"/F$;Œ.\" &\"/8$;œ//$8,:ƚ,(+*)'$\"! )(,'#(+'#(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7ƙ"),o("%;ü/J#;Ą.\" &\"/<$;Ȩ/3$;ɀ/*$8$:ƛ$##\"!)($'#(#'#(\"'#&'#"),o('<%;Ŋ." &"/2#;Ō/)$8":Ɲ""! )("\'#&\'#=." 7Ɯ'),o('%;DŽ.) &;ƻ.# &;ŋ/1#;ɀ/($8":ƞ"!!)("\'#&\'#'),o("%;Ǹ/;#;ɀ/2$;Ȉ/)$8#:Ɵ#\"\" )(#'#(\"'#&'#"),o('<;ō.# &;Ŏ=." 7Ơ'),o('%;ǚ.# &;Ƿ/1#;ɀ/($8":ơ"!!)("\'#&\'#'),o('%;ȫ/@#;ɀ/7$;ŏ." &"/)$8#:Ƣ#"" )(#\'#("\'#&\'#'),o("%;Ȉ/;#;ɀ/2$;Ő/)$8#:ƣ#\"\" )(#'#(\"'#&'#"),o("%;è/B#;ɀ/9$$;ç0#*;ç&/)$8#:Į#\"\" )(#'#(\"'#&'#"),o("%;Ǩ/c#;ɀ/Z$;ǟ/Q$;ɀ/H$;ȝ.) &3Ƥ\"\"5)7ƥ/3$;ɀ/*$8&:Ʀ&#%#!)(&'#(%'#($'#(#'#(\"'#&'#"),o("<%;ȱ/D#;ɀ/;$;o/2$;ɀ/)$8$:Ƨ$\"#!)($'#(#'#(\"'#&'#=.\" 7„"),o("<%;Dž/W#;ɀ/N$;Ŕ/E$;ɀ/<$;ǡ/3$;ɀ/*$8&:Ʃ&#%#!)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7ƨ"),o("%$;ŕ/�#*;ŕ&&&#/' 8!:ƪ!! )"),o("%;Œ/:#;ɀ/1$;$/($8#:\"#!\")(#'#(\"'#&'#"),o("<%;Ř/T#;ą.\" &\"/F$;ŗ/=$;ɀ/4$;ř/+$8%:Ƭ%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7ƫ"),o("%;Ɔ/;#;ɀ/2$;æ/)$8#:ƭ#\"\" )(#'#(\"'#&'#.# &;Ɔ"),o("%;ü/J#;Ą.\" &\"/<$;ȯ/3$;ɀ/*$8$:Ʈ$##\"!)($'#(#'#(\"'#&'#"),o("%;ǀ/D#;ɀ/;$;¨/2$;ɀ/)$8$:Ĭ$\"#!)($'#(#'#(\"'#&'#"),o("<%;ś/f#;ą.\" &\"/X$;ż/O$;ɀ/F$;Ȭ/=$;ɀ/4$;Ŝ/+$8':ư'$&%$ )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ư"),o("%;ü/N#;Ȱ/E$;ɀ/<$;Ȣ/3$;ɀ/*$8%:Ʊ%#$#!)(%'#($'#(#'#(\"'#&'#"),o('%;Ƙ/@#;ɀ/7$;ŝ." &"/)$8#:Ʋ#"" )(#\'#("\'#&\'#'),o("<%;ơ/Z#;ɀ/Q$;Ş.\" &\"/C$;ɀ/:$;Ƣ/1$;ɀ/($8&:ƴ&!#)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ƴ"),o('%;Š/9#$;ş0#*;ş&/)$8":Ƶ""! )("\'#&\'#'),o("%;ɀ/H#;ƣ/?$;ɀ/6$;Š.\" &\"/($8$:ƶ$! )($'#(#'#(\"'#&'#"),o("%%<%;Ɩ/;#;ɀ/2$;&.# &;đ/#$+#)(#'#(\"'#&'#=.##&&!&'#/:#;o/1$;ɀ/($8#:İ#!!)(#'#(\"'#&'#.x &%;š/n#%%<;Ɣ=.##&&!&'#/,#;ɀ/#$+\")(\"'#&'#/F$;Ď.\" &\"/8$;ď.\" &\"/*$8$:ŏ$##! )($'#(#'#(\"'#&'#"),o(";Ɩ.# &;ƙ"),o('<%;ţ/;#;ż/2$;ɀ/)$8#:Ƹ#""!)(#\'#("\'#&\'#=." 7Ʒ'),o("<%;Ǟ/J#;ɀ/A$;Ť/8$;ť.\" &\"/*$8$:ƺ$##! )($'#(#'#(\"'#&'#=.\" 7ƹ"),o('<%;Ȣ./ &;dz.) &;Ȩ.# &;ȯ/1#;ɀ/($8":š"!!)("\'#&\'#=." 7ƻ'),o("%;Ŧ/' 8!:Ƽ!! )"),o("<%;ǯ/D#;ɀ/;$;ǥ/2$;ɀ/)$8$:ƾ$\"#!)($'#(#'#(\"'#&'#=.\" 7ƽ"),o('<%;Ư/,#;Ư/#$+")("\'#&\'#=." 7ƿ'),o('<;ƫ=." 7ǀ'),o('<;Ƭ=." 7ǁ'),o('<;ƥ=." 7ǂ'),o('<;ƶ=." 7ǃ'),o('<;ư=." 7DŽ'),o('<%;Ʊ/,#;Ʊ/#$+")("\'#&\'#=." 7Dž'),o('<%;Ʋ/,#;Ʋ/#$+")("\'#&\'#=." 7dž'),o('<;Ʈ=." 7LJ'),o('<;Ư=." 7Lj'),o('<;Ʊ=." 7lj'),o('<;Ʋ=." 7NJ'),o('<%;Ʊ/,#;ƭ/#$+")("\'#&\'#=." 7Nj'),o('<%;Ʋ/,#;ƭ/#$+")("\'#&\'#=." 7nj'),o('<%;ƭ/1#;ƭ." &"/#$+")("\'#&\'#=." 7Ǎ'),o('<%;Ƴ/,#;ƭ/#$+")("\'#&\'#=." 7ǎ'),o('<%;Ʊ/,#;Ʋ/#$+")("\'#&\'#=." 7ǎ'),o('<%;ǻ/@#;ɀ/7$;k." &"/)$8#:ǐ#"" )(#\'#("\'#&\'#=." 7Ǐ'),o('<;Ɩ.# &;ƙ=." 7Ǒ'),o("<%;Ź/' 8!:Ǔ!! )=.\" 7ǒ"),o('<%;Ž." &"/2#;Ź/)$8":Ǖ""! )("\'#&\'#=." 7ǔ'),o('<%;Ž." &"/2#;Ź/)$8":Ǘ""! )("\'#&\'#=." 7ǖ'),o('%;Ź/2#;Ƥ/)$8":ǘ""! )("\'#&\'#'),o('<%;ƀ.) &;Ɓ.# &;ſ/2#;Ź/)$8":ǚ""! )("\'#&\'#=." 7Ǚ'),o("%;ɀ/& 8!:Ǜ! )"),o('%;Ž/2#;Ɓ/)$8":ǜ""! )("\'#&\'#'),o('%;Ź/2#;Ƥ/)$8":D""! )("\'#&\'#'),o("<%;Ź/' 8!:Ǟ!! )=.\" 7ǝ"),o("<%;Ź/' 8!:Ǡ!! )=.\" 7ǟ"),o('<%;Ž." &"/2#;Ź/)$8":Ǣ""! )("\'#&\'#=." 7ǡ'),o('<%;Ž." &"/2#;Ź/)$8":Ǥ""! )("\'#&\'#=." 7ǣ'),o('<%;Ž." &"/2#;Ź/)$8":Ǧ""! )("\'#&\'#=." 7ǥ'),o('<%;Ž." &"/2#;Ź/)$8":Ǩ""! )("\'#&\'#=." 7ǧ'),o('<%;Ɖ.# &;ż/1#;ɀ/($8":Ǫ"!!)("\'#&\'#=." 7ǩ'),o("%;ż/;#;ɀ/2$;æ/)$8#:ǫ#\"\" )(#'#(\"'#&'#"),o("<%;Ź/' 8!:ǭ!! )=.\" 7Ǭ"),o("<%;Ź/' 8!:ǯ!! )=.\" 7Ǯ"),o('<%;ƍ/=#%<;Ɣ=.##&&!&\'#/($8":DZ"!!)("\'#&\'#.Å &%;Ǝ/=#%<;Ɣ=.##&&!&\'#/($8":Dz"!!)("\'#&\'#.› &%;Ɛ/=#%<;Ɣ=.##&&!&\'#/($8":dz"!!)("\'#&\'#.q &%;Ƒ/=#%<;Ɣ=.##&&!&\'#/($8":Ǵ"!!)("\'#&\'#.G &%;Ɠ/=#%<;Ɣ=.##&&!&\'#/($8":ǵ"!!)("\'#&\'#=." 7ǰ'),o('<%%3Ƿ""5!7Ǹ." &"/F#3ǹ""5#7Ǻ." &"/2$3ǻ""5$7Ǽ/#$+#)(#\'#("\'#&\'#.k &%3ǽ""5$7Ǿ.5 &3ǿ""5&7Ȁ.) &3ȁ""5$7Ȃ." &"/2#3ȃ""5$7Ȅ/#$+")("\'#&\'#.) &3ȅ""5$7Ȇ/\' 8!:š!! )=." 7Ƕ'),o('<%;Ə.5 &3Ȉ""5%7ȉ.) &3Ȋ""5$7ȋ/\' 8!:š!! )=." 7ȇ'),o('<%3ȍ""5&7Ȏ/i#%$4(""5!7)/,#0)*4(""5!7)&&&#/2#3ȏ""5)7Ȑ/#$+")("\'#&\'#." &"/)$8":ȑ""! )("\'#&\'#=." 7Ȍ'),o('<%3ȓ""5\'7Ȕ.• &3ȕ""5\'7Ȗ.‰ &3ȗ""5\'7Ș.} &%3ș""5$7Ț/7#3ț""5$7Ȝ." &"/#$+")("\'#&\'#.S &%3ț""5$7Ȝ/7#3ȝ""5%7Ȟ." &"/#$+")("\'#&\'#.) &3ȟ""5&7Ƞ/\' 8!:š!! )=." 7Ȓ'),o('<%%3Ȣ""5#7ȣ/V#2Ȥ""6Ȥ7ȥ.A &2Ȧ""6Ȧ7ȧ.5 &2Ȩ""6Ȩ7ȩ.) &3Ȫ""5$7ȫ/#$+")("\'#&\'#.q &%3Ȭ""5#7ȭ.A &3ǿ""5&7Ȁ.5 &3Ȯ""5%7ȯ.) &3ǽ""5$7Ǿ." &"/2#3Ȣ""5#7ȣ/#$+")("\'#&\'#.# &;ƒ/\' 8!:š!! )=." 7ȡ'),o('%3Ȱ""5(7ȱ/d#%$4(""5!7)/,#0)*4(""5!7)&&&#/2#3Ȳ""5%7ȳ/#$+")("\'#&\'#/)$8":ȴ""! )("\'#&\'#'),o('<%3ȶ""5$7ȷ/\' 8!:š!! )=." 7ȵ'),o('4ȸ""5!7ȹ'),o('%2Ⱥ""6Ⱥ7Ȼ/K#$4ȼ""5!7Ƚ/,#0)*4ȼ""5!7Ƚ&&&#/)$8":Ⱦ""! )("\'#&\'#'),o(";Ɨ.# &;Ƙ"),o(";ƚ./ &;ƞ.) &;Ɯ.# &;Ɲ"),o("%%<;ȵ.# &;>=.##&&!&'#/J#$;ƕ.# &;Ɣ/,#0)*;ƕ.# &;Ɣ&&&#/($8\":Ö\"! )(\"'#&'#"),o("%%<;ȷ.# &;>=.##&&!&'#/J#$;ƕ.# &;Ɣ/,#0)*;ƕ.# &;Ɣ&&&#/($8\":ȿ\"! )(\"'#&'#"),o("%;Ɵ/™#;ɀ/$%$%%<;ƛ=.##&&!&'#/1#1\"\"5!7ɀ/#$+\")(\"'#&'#0G*%%<;ƛ=.##&&!&'#/1#1\"\"5!7ɀ/#$+\")(\"'#&'#&/\"!&,)/1$;ƛ/($8$:Ɂ$!!)($'#(#'#(\"'#&'#"),o('%$4ɂ""5!7Ƀ0)*4ɂ""5!7Ƀ&/5#;Ơ/,$;ɀ/#$+#)(#\'#("\'#&\'#'),o('%2Ʉ""6Ʉ7Ʌ/k#$2Ɇ""6Ɇ7ɇ.) &4Ɉ""5!7ɉ05*2Ɇ""6Ɇ7ɇ.) &4Ɉ""5!7ɉ&/7$2Ʉ""6Ʉ7Ʌ/($8#:Ɋ#!!)(#\'#("\'#&\'#'),o('%2ɋ""6ɋ7Ɍ/k#$26""6677.) &48""5!7905*26""6677.) &48""5!79&/7$2ɋ""6ɋ7Ɍ/($8#:ɍ#!!)(#\'#("\'#&\'#'),o('%2Ɏ""6Ɏ7ɏ/k#$2ɐ""6ɐ7ɑ.) &4ɒ""5!7ɓ05*2ɐ""6ɐ7ɑ.) &4ɒ""5!7ɓ&/7$2Ɏ""6Ɏ7ɏ/($8#:ɔ#!!)(#\'#("\'#&\'#'),o('<%2ɖ""6ɖ7ɗ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɕ'),o('<%2ə""6ə7ɚ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɘ'),o('<%2ɜ""6ɜ7ɝ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɛ'),o('<%2ɟ""6ɟ7ɠ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɞ'),o('<%2ɢ""6ɢ7ɣ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɡ'),o('<%2ɥ""6ɥ7ɦ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɤ'),o('<%2ɨ""6ɨ7ɩ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɧ'),o('<%2ɫ""6ɫ7ɬ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɪ'),o('<%2ɋ""6ɋ7Ɍ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɭ'),o('<%2Ʉ""6Ʉ7Ʌ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɮ'),o('<%2Ɏ""6Ɏ7ɏ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɯ'),o('<%2ɱ""6ɱ7ɲ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɰ'),o('<%2ɴ""6ɴ7ɵ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɳ'),o('<%2ɷ""6ɷ7ɸ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɶ'),o('<%2ɹ""6ɹ7ɺ/1#;ɀ/($8":""!!)("\'#&\'#=." 7Ǎ'),o('<%2ɼ""6ɼ7ɽ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɻ'),o('<%2ɿ""6ɿ7ʀ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ɾ'),o('<%2ʁ""6ʁ7ʂ/1#;ɀ/($8":""!!)("\'#&\'#=." 7DŽ'),o('<%2ʃ""6ʃ7ʄ/1#;ɀ/($8":""!!)("\'#&\'#=." 7lj'),o('<%2ʅ""6ʅ7ʆ/1#;ɀ/($8":""!!)("\'#&\'#=." 7NJ'),o('<%2ʈ""6ʈ7ʉ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ʇ'),o('<%2ʋ""6ʋ7ʌ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ʊ'),o('<%2a""6a7b/1#;ɀ/($8":""!!)("\'#&\'#=." 7ʍ'),o('<%2ʏ""6ʏ7ʐ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ʎ'),o('<%2ʒ""6ʒ7ʓ/1#;ɀ/($8":""!!)("\'#&\'#=." 7ʑ'),o('%3ʔ""5%7ʕ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʖ""5&7ʗ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʘ""5#7ʙ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʚ""5%7ʛ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʜ""5#7ʝ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʞ""5%7ʟ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3ʠ\"\"5'7ʡ/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3ʢ""5#7ʣ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʤ""5"7ʥ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʦ""5#7ʧ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʨ""5&7ʩ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʪ""5-7ʫ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʬ""5&7ʭ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʮ""5%7ʯ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3ʰ\"\"5'7ʱ/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3ʲ""5"7ʳ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3ʴ\"\"5'7ʵ/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3ʶ""5$7ʷ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʸ""5$7ʹ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʺ""5%7ʻ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3ʼ\"\"5'7ʽ/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3ʾ""5&7ʿ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˀ""5&7ˁ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˂""5(7˃/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˄""5*7˅/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˆ""5&7ˇ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˈ""5%7ˉ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˊ""5,7ˋ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˌ""5,7ˍ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˎ""517ˏ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ː""5(7ˑ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3˒\"\"5'7˓/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3˔""5*7˕/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˖""5(7˗/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˘""5&7˙/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˚""5$7˛/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˜""5&7˝/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˞""5(7˟/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˠ""5$7ˡ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˢ""5$7ˣ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˤ""5$7˥/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˦""5#7˧/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˨""5&7˩/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˪""5&7˫/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˬ""5)7˭/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˮ""5&7˯/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3˰\"\"5'7˱/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3˲""5$7˳/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˴""5#7˵/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3˶\"\"5'7˷/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3˸""5$7˹/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˺""5$7˻/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˼""5$7˽/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˾""5%7˿/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̀""5&7́/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̂""5"7̃/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̄""5&7̅/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̆""5)7̇/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̈""5"7̉/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̊""5%7̋/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3̌\"\"5'7̍/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3̎""5)7̏/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̐""5%7̑/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̒""5&7̓/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3̔\"\"5'7̕/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3̖""5)7̗/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̘""5$7̙/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̚""5"7̛/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̜""5&7̝/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̞""5$7̟/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̠""5#7̡/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̢""5$7̣/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̤""5$7̥/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̦""5%7̧/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̨""5%7̩/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3̪\"\"5'7̫/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3̬""5"7̭/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̮""5#7̯/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3̰\"\"5'7̱/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3y""5$7z/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̲""5"7̳/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̴""5&7̵/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̶""5"7̷/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̸""5"7̹/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̺""5%7̻/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̼""5%7̽/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̾""5$7̿/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̀""5&7́/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3͂\"\"5'7̓/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3̈́""5%7ͅ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͆""5%7͇/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͈""5)7͉/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͊""5*7͋/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͌""5&7͍/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3͎\"\"5'7͏/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o("%3͐\"\"5'7͑/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3͒""5&7͓/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3͔\"\"5'7͕/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3͖""5(7͗/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͘""5%7͙/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͚""5(7͛/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͜""5#7͝/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͞""5%7͟/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͠""5)7͡/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͢""5&7ͣ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͤ""5#7ͥ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͦ""5%7ͧ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͨ""5$7ͩ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͪ""5)7ͫ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͬ""5$7ͭ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͮ""5"7ͯ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3Ͱ""5+7ͱ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3Ͳ\"\"5'7ͳ/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3ʹ""5%7͵/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3Ͷ""5&7ͷ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͸""5&7͹/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͺ""5%7ͻ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͼ""5&7ͽ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3;""5&7Ϳ/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3΀""5$7΁/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3΂\"\"5'7΃/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3΄""5$7΅/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3Ά""5%7·/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3Έ""5$7Ή/8#%<;Ɣ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3Ί\"\"5'7΋/8#%<;Ɣ=.##&&!&'#/#$+\")(\"'#&'#"),o("%;ȶ/' 8!:Ό!! )"),o(";Ƹ.˹ &;ƹ.˳ &;ƺ.˭ &;ƻ.˧ &;Ƽ.ˡ &;ƽ.˛ &;ƾ.˕ &;ƿ.ˏ &;ǀ.ˉ &;ǁ.˃ &;ǂ.ʽ &;ǃ.ʷ &;DŽ.ʱ &;Dž.ʫ &;dž.ʥ &;LJ.ʟ &;Lj.ʙ &;lj.ʓ &;NJ.ʍ &;Nj.ʇ &;nj.ʁ &;Ǎ.ɻ &;ǎ.ɵ &;Ǐ.ɯ &;ǐ.ɩ &;Ǒ.ɣ &;ǒ.ɝ &;Ǔ.ɗ &;ǔ.ɑ &;Ǖ.ɋ &;ǖ.Ʌ &;Ǘ.ȿ &;ǘ.ȹ &;Ǚ.ȳ &;ǚ.ȭ &;Ǜ.ȧ &;ǜ.ȡ &;ǝ.ț &;Ǟ.ȕ &;ǟ.ȏ &;Ǡ.ȉ &;ǡ.ȃ &;Ǣ.ǽ &;ǣ.Ƿ &;Ǥ.DZ &;ǥ.ǫ &;Ǧ.ǥ &;ǧ.ǟ &;Ǩ.Ǚ &;ǩ.Ǔ &;Ǫ.Ǎ &;ǫ.LJ &;Ǭ.ǁ &;ǭ.ƻ &;Ǯ.Ƶ &;ǯ.Ư &;ǰ.Ʃ &;DZ.ƣ &;Dz.Ɲ &;dz.Ɨ &;Ǵ.Ƒ &;ǵ.Ƌ &;Ƕ.ƅ &;Ƿ.ſ &;Ǹ.Ź &;ǹ.ų &;Ǻ.ŭ &;ǻ.ŧ &;Ǽ.š &;ǽ.ś &;Ǿ.ŕ &;ǿ.ŏ &;Ȁ.ʼn &;ȁ.Ń &;Ȃ.Ľ &;ȃ.ķ &;Ȅ.ı &;ȅ.ī &;Ȇ.ĥ &;ȇ.ğ &;Ȉ.ę &;ȉ.ē &;Ȋ.č &;ȋ.ć &;Ȍ.ā &;ȍ.û &;Ȏ.õ &;ȏ.ï &;Ȑ.é &;ȑ.ã &;Ȓ.Ý &;ȓ.× &;Ȕ.Ñ &;ȕ.Ë &;Ȗ.Å &;ȗ.¿ &;Ș.¹ &;ș.³ &;Ț.­ &;ț.§ &;Ȝ.¡ &;ȝ.› &;ȟ.• &;Ƞ. &;ȡ.‰ &;Ȣ.ƒ &;Ȥ.} &;ȥ.w &;Ȧ.q &;ȧ.k &;Ȩ.e &;ȩ._ &;Ȫ.Y &;ȫ.S &;Ȭ.M &;ȭ.G &;Ȯ.A &;ȯ.; &;Ȱ.5 &;ȱ./ &;Ȳ.) &;ȳ.# &;ȴ"),o(";ƺ.ŧ &;Ƽ.š &;ƽ.ś &;ƿ.ŕ &;ǀ.ŏ &;ǃ.ʼn &;dž.Ń &;lj.Ľ &;Nj.ķ &;nj.ı &;ǎ.ī &;ǐ.ĥ &;Ǒ.ğ &;Ǘ.ę &;ǘ.ē &;ǚ.č &;ǝ.ć &;Ǟ.ā &;Ǡ.û &;Ǣ.õ &;ǣ.ï &;ǥ.é &;ǩ.ã &;Ǫ.Ý &;ǭ.× &;Ǯ.Ñ &;Dz.Ë &;dz.Å &;Ƿ.¿ &;ǹ.¹ &;Ǻ.³ &;ǻ.­ &;Ǽ.§ &;ǽ.¡ &;ȁ.› &;ȅ.• &;Ȇ. &;ȇ.‰ &;Ȋ.ƒ &;ȋ.} &;Ȍ.w &;Ȑ.q &;Ȕ.k &;Ƞ.e &;ȡ._ &;Ȣ.Y &;ȥ.S &;Ȧ.M &;ȧ.G &;ȩ.A &;Ȫ.; &;ȫ.5 &;Ȭ./ &;Ȯ.) &;ȱ.# &;Ȳ"),o(";ȹ.. &%;Ⱥ/& 8!:΍! )"),o('<%2Ώ""6Ώ7ΐ/‡#$%%<4Α""5!7Β=.##&&!&\'#/1#1""5!7ɀ/#$+")("\'#&\'#0M*%%<4Α""5!7Β=.##&&!&\'#/1#1""5!7ɀ/#$+")("\'#&\'#&/#$+")("\'#&\'#=." 7Ύ'),o("<%;Ȼ/5#;ȿ/,$;ȼ/#$+#)(#'#(\"'#&'#=.\" 7Γ"),o('2Δ""6Δ7Ε'),o('2Ζ""6Ζ7Η'),o('$%%<;ȼ.# &;Ȼ=.##&&!&\'#/1#1""5!7ɀ/#$+")("\'#&\'#/P#0M*%%<;ȼ.# &;Ȼ=.##&&!&\'#/1#1""5!7ɀ/#$+")("\'#&\'#&&&#'),o(";Ƚ.# &;Ⱥ"),o('%;Ⱦ/K#$4Θ""5!7Ι.# &;Ⱦ0/*4Θ""5!7Ι.# &;Ⱦ&/#$+")("\'#&\'#'),o('<%$4Θ""5!7Ι.# &;ȸ0/*4Θ""5!7Ι.# &;ȸ&/\' 8!:-!! )=." 7Κ'),o('2Λ""6Λ7Μ')],I=0,J=0,K=[{ -line:1,column:1}],L=0,M=[],N=0,O={},P=["start","start_streaming","stmt_list","semi_optional","semi_required","stmt_list_tail","type_definition","type_definition_types","datatype_custom","datatype_word_tail","type_definition_args","definition_args_loop","literal_value","literal_null","literal_date","literal_string","literal_string_single","literal_string_schar","literal_blob","literal_text","number_sign","literal_number_signed","literal_number","literal_number_decimal","number_decimal_node","number_decimal_full","number_decimal_fraction","number_decimal_exponent","literal_number_hex","number_hex","number_digit","bind_parameter","bind_parameter_numbered","bind_number_id","bind_parameter_named","bind_parameter_tcl","tcl_suffix","expression_exists","expression_exists_ne","expression_raise","expression_raise_args","raise_args_ignore","raise_args_message","expression_root","expression_wrapped","expression_recur","expression_unary_collate","expression_unary","expression_unary_op","expression_collate","expression_concat","expression_multiply","expression_multiply_op","expression_add","expression_add_op","expression_shift","expression_shift_op","expression_compare","expression_compare_op","expression_equiv","expression_equiv_tails","expression_equiv_null_op","expression_equiv_op","expression_cast","type_alias","expression_case","case_expression","expression_case_when","expression_case_else","expression_postfix","expression_postfix_tail","expression_like","expression_escape","expression_between","expression_between_tail","expression_is_not","expression_in","expression_in_target","expression_list_or_select","expression","expression_and_op","expression_list","expression_list_loop","expression_list_rest","function_call","function_call_args","args_list_distinct","error_message","stmt","stmt_modifier","modifier_query","stmt_nodes","stmt_commit","stmt_begin","commit_transaction","stmt_begin_modifier","stmt_rollback","rollback_savepoint","savepoint_name","savepoint_alt","stmt_savepoint","stmt_release","stmt_alter","alter_start","alter_action","alter_action_rename","alter_action_add","action_add_modifier","stmt_crud","stmt_core_with","clause_with","clause_with_recursive","clause_with_tables","clause_with_loop","expression_cte","select_alias","select_wrapped","stmt_select_full","stmt_sqlite","stmt_attach","attach_arg","stmt_detach","stmt_vacuum","vacuum_target","stmt_analyze","analyze_arg","stmt_reindex","reindex_arg","stmt_pragma","pragma_expression","pragma_value","pragma_value_literal","pragma_value_bool","pragma_bool_id","pragma_value_name","stmt_crud_types","stmt_select","stmt_core_order","stmt_core_limit","stmt_core_limit_offset","limit_offset_variant","limit_offset_variant_name","select_loop","select_loop_union","select_parts","select_parts_core","select_core_select","select_modifier","select_modifier_distinct","select_modifier_all","select_target","select_target_loop","select_core_from","stmt_core_where","select_core_group","select_core_having","select_node","select_node_star","select_node_star_qualified","select_node_aliased","select_source","source_loop_tail","select_cross_clause","select_join_clause","table_or_sub","table_or_sub_func","table_qualified","table_qualified_id","table_or_sub_index_node","index_node_indexed","index_node_none","table_or_sub_sub","table_or_sub_select","alias","join_operator","join_operator_natural","join_operator_types","operator_types_hand","types_hand_outer","operator_types_misc","join_condition","join_condition_on","join_condition_using","select_parts_values","stmt_core_order_list","stmt_core_order_list_loop","stmt_core_order_list_item","select_star","stmt_fallback_types","stmt_insert","insert_keyword","insert_keyword_ins","insert_keyword_repl","insert_keyword_mod","insert_target","insert_into","insert_into_start","insert_results","loop_columns","loop_column_tail","loop_name","insert_value","insert_value_start","insert_values_list","insert_values_loop","expression_list_wrapped","insert_default","operator_compound","compound_union","compound_union_all","stmt_update","update_start","update_fallback","update_set","update_columns","update_columns_tail","update_column","stmt_delete","delete_start","stmt_create","create_start","create_table_only","create_index_only","create_trigger_only","create_view_only","create_virtual_only","create_table","create_table_start","create_core_tmp","create_core_ine","create_table_source","table_source_def","source_def_rowid","source_def_loop","source_def_tail","source_tbl_loop","source_def_column","source_def_name","column_type","column_constraints","column_constraint_tail","column_constraint","constraint_name","constraint_name_loop","column_constraint_types","column_constraint_foreign","column_constraint_primary","col_primary_start","col_primary_auto","column_constraint_null","constraint_null_types","constraint_null_value","column_constraint_check","column_constraint_default","column_default_values","column_constraint_collate","table_constraint","table_constraint_types","table_constraint_check","table_constraint_primary","primary_start","primary_start_normal","primary_start_unique","primary_columns","primary_columns_index","primary_columns_table","primary_column_tail","primary_column","primary_column_types","column_collate","column_collate_loop","primary_column_dir","primary_conflict","primary_conflict_start","constraint_check","table_constraint_foreign","foreign_start","foreign_clause","foreign_references","foreign_actions","foreign_actions_tail","foreign_action","foreign_action_on","action_on_action","on_action_set","on_action_cascade","on_action_none","foreign_action_match","foreign_deferrable","deferrable_initially","table_source_select","create_index","create_index_start","index_unique","index_on","create_trigger","create_trigger_start","trigger_conditions","trigger_apply_mods","trigger_apply_instead","trigger_do","trigger_do_on","trigger_do_update","do_update_of","do_update_columns","trigger_foreach","trigger_when","trigger_action","action_loop","action_loop_stmt","create_view","id_view_expression","create_view_start","create_as_select","create_virtual","create_virtual_start","virtual_module","virtual_args","virtual_args_loop","virtual_args_tail","virtual_arg_types","virtual_column_name","stmt_drop","drop_start","drop_types","drop_conditions","drop_ie","binary_concat","binary_plus","binary_minus","binary_multiply","binary_divide","binary_mod","binary_left","binary_right","binary_and","binary_or","binary_lt","binary_gt","binary_lte","binary_gte","binary_equal","binary_notequal_a","binary_notequal_b","binary_lang_isnt","id_name","id_database","id_function","id_table","id_table_qualified","id_column","column_unqualified","column_qualifiers","id_column_qualified","id_collation","id_savepoint","id_index","id_trigger","id_view","id_pragma","id_cte","id_table_expression","id_constraint_table","id_constraint_column","datatype_types","datatype_text","datatype_real","datatype_real_double","datatype_numeric","datatype_integer","datatype_integer_fp","datatype_none","name_char","unicode_char","name","name_quoted","name_unquoted","name_reserved","name_bracketed","bracket_terminator","name_dblquoted","name_sglquoted","name_backticked","sym_bopen","sym_bclose","sym_popen","sym_pclose","sym_comma","sym_dot","sym_star","sym_quest","sym_sglquote","sym_dblquote","sym_backtick","sym_tilde","sym_plus","sym_minus","sym_equal","sym_amp","sym_pipe","sym_mod","sym_lt","sym_gt","sym_excl","sym_semi","sym_colon","sym_fslash","sym_bslash","ABORT","ACTION","ADD","AFTER","ALL","ALTER","ANALYZE","AND","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FOR","FOREIGN","FROM","FULL","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LEFT","LIKE","LIMIT","MATCH","NATURAL","NO","NOT","NOTNULL","NULL","OF","OFFSET","ON","OR","ORDER","OUTER","PLAN","PRAGMA","PRIMARY","QUERY","RAISE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RIGHT","ROLLBACK","ROW","ROWID","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TO","TRANSACTION","TRIGGER","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WITH","WITHOUT","reserved_words","reserved_word_list","reserved_critical_list","comment","comment_line","comment_block","comment_block_start","comment_block_end","comment_block_body","block_body_nodes","comment_block_feed","o","_TODO_"],Q=[null,null,null,null,null,null,"Type Definition",null,"Custom Datatype Name",null,"Type Definition Arguments",null,null,"Null Literal","Date Literal","String Literal","Single-quoted String Literal",null,"Blob Literal",null,"Number Sign",null,null,null,"Decimal Literal",null,null,"Decimal Literal Exponent","Hexidecimal Literal",null,null,"Bind Parameter","Numbered Bind Parameter",null,"Named Bind Parameter","TCL Bind Parameter",null,"EXISTS Expression","EXISTS Keyword","RAISE Expression","RAISE Expression Arguments","IGNORE Keyword",null,null,null,null,null,null,null,"COLLATE Expression",null,null,null,null,null,null,null,null,null,null,null,null,null,"CAST Expression","Type Alias","CASE Expression",null,"WHEN Clause","ELSE Clause",null,null,"Comparison Expression","ESCAPE Expression","BETWEEN Expression",null,null,"IN Expression",null,null,null,null,"Expression List",null,null,"Function Call","Function Call Arguments",null,"Error Message","Statement","QUERY PLAN","QUERY PLAN Keyword",null,"END Transaction Statement","BEGIN Transaction Statement",null,null,"ROLLBACK Statement","TO Clause",null,null,"SAVEPOINT Statement","RELEASE Statement","ALTER TABLE Statement","ALTER TABLE Keyword",null,"RENAME TO Keyword","ADD COLUMN Keyword",null,null,"WITH Clause",null,null,null,null,"Common Table Expression",null,null,null,null,"ATTACH Statement",null,"DETACH Statement","VACUUM Statement",null,"ANALYZE Statement",null,"REINDEX Statement",null,"PRAGMA Statement",null,null,null,null,null,null,null,"SELECT Statement","ORDER BY Clause","LIMIT Clause","OFFSET Clause",null,null,null,"Union Operation",null,null,"SELECT Results Clause","SELECT Results Modifier",null,null,null,null,"FROM Clause","WHERE Clause","GROUP BY Clause","HAVING Clause",null,null,null,null,null,null,"CROSS JOIN Operation","JOIN Operation",null,null,"Qualified Table","Qualified Table Identifier","Qualfied Table Index",null,null,"SELECT Source","Subquery","Alias","JOIN Operator",null,null,null,null,null,"JOIN Constraint","Join ON Clause","Join USING Clause","VALUES Clause",null,null,"Ordering Expression","Star","Fallback Type","INSERT Statement",null,"INSERT Keyword","REPLACE Keyword","INSERT OR Modifier",null,"INTO Clause","INTO Keyword","VALUES Clause","Column List",null,"Column Name","VALUES Clause","VALUES Keyword",null,null,"Wrapped Expression List","DEFAULT VALUES Clause","Compound Operator","UNION Operator",null,"UPDATE Statement","UPDATE Keyword","UPDATE OR Modifier","SET Clause",null,null,"Column Assignment","DELETE Statement","DELETE Keyword","CREATE Statement",null,null,null,null,null,null,"CREATE TABLE Statement",null,null,"IF NOT EXISTS Modifier",null,"Table Definition",null,null,null,null,"Column Definition",null,"Column Datatype",null,null,"Column Constraint",null,"CONSTRAINT Name",null,"FOREIGN KEY Column Constraint","PRIMARY KEY Column Constraint","PRIMARY KEY Keyword","AUTOINCREMENT Keyword",null,"UNIQUE Column Constraint","NULL Column Constraint","CHECK Column Constraint","DEFAULT Column Constraint",null,"COLLATE Column Constraint","Table Constraint",null,"CHECK Table Constraint","PRIMARY KEY Table Constraint",null,"PRIMARY KEY Keyword","UNIQUE Keyword",null,null,null,null,"Indexed Column",null,"Collation",null,"Column Direction",null,"ON CONFLICT Keyword",null,"FOREIGN KEY Table Constraint","FOREIGN KEY Keyword",null,"REFERENCES Clause",null,null,"FOREIGN KEY Action Clause",null,"FOREIGN KEY Action",null,null,null,null,"DEFERRABLE Clause",null,null,"CREATE INDEX Statement",null,null,"ON Clause","CREATE TRIGGER Statement",null,"Conditional Clause",null,null,"Conditional Action",null,null,null,null,null,"WHEN Clause","Actions Clause",null,null,"CREATE VIEW Statement",null,null,null,"CREATE VIRTUAL TABLE Statement",null,null,"Module Arguments",null,null,null,null,"DROP Statement","DROP Keyword","DROP Type",null,"IF EXISTS Keyword","Or","Add","Subtract","Multiply","Divide","Modulo","Shift Left","Shift Right","Logical AND","Logical OR","Less Than","Greater Than","Less Than Or Equal","Greater Than Or Equal","Equal","Not Equal","Not Equal","IS","Identifier","Database Identifier","Function Identifier","Table Identifier",null,"Column Identifier",null,null,null,"Collation Identifier","Savepoint Identifier","Index Identifier","Trigger Identifier","View Identifier","Pragma Identifier","CTE Identifier",null,"Table Constraint Identifier","Column Constraint Identifier","Datatype Name","TEXT Datatype Name","REAL Datatype Name","DOUBLE Datatype Name","NUMERIC Datatype Name","INTEGER Datatype Name",null,"BLOB Datatype Name",null,null,null,null,null,null,null,null,null,null,null,"Open Bracket","Close Bracket","Open Parenthesis","Close Parenthesis","Comma","Period","Asterisk","Question Mark","Single Quote","Double Quote","Backtick","Tilde","Plus","Minus","Equal","Ampersand","Pipe","Modulo","Less Than","Greater Than","Exclamation","Semicolon","Colon","Forward Slash","Backslash",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Line Comment","Block Comment",null,null,null,null,null,"Whitespace",null],R="tracer"in b?b.tracer:new f;if("startRule"in b){if(!(b.startRule in E))throw new Error("Can't start parsing from rule \""+b.startRule+'".');F=E[b.startRule]}if(C=p(F),C!==D&&I===a.length)return C;throw C!==D&&I0){for(b=1,c=1;b=0;c-=1)if(b(a[c]))return c;return-1}function e(a,b){for(var c=a.length,d=0;d1)return!1;if(j){if(/^(stmt)$/i.test(a.rule))return j=!0,!0}else a.indentation>i.indentation?i=a:j=!0;return!0}),d.length&&(c=i.location,g=d.find(function(a){return h.firstNodeRule.test(a.description)&&a.description!==i.description&&a.indentation!==i.indentation}),f=null!=g?this.statementRule.test(i.description)&&this.statementRule.test(g.description)?g.description:i.description+" ("+g.description+")":i.description,b="Syntax error found near "+f,Object.assign(a,{message:b,location:c})),a},a}()},{}]},{},[1])(1)}); \ No newline at end of file +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.sqliteParser=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;gL&&(L=I,M=[]),M.push(a))}function n(a,b,c){return new e(e.buildMessage(a,b),a,b,c)}function o(a){return a.split("").map(function(a){return a.charCodeAt(0)-32})}function p(b){var c,d=H[b],e=0,f=[],g=d.length,h=[],i=[],j=I;R.trace({type:"rule.enter",rule:P[b],description:Q[b],location:l(j,j)});var k=545*I+b,n=O[k];if(n)return I=n.nextPos,n.result!==D?R.trace({type:"rule.match",rule:P[b],description:Q[b],result:n.result,location:l(j,I)}):R.trace({type:"rule.fail",rule:P[b],description:Q[b],location:l(j,j)}),n.result;for(;;){for(;eI?(g=e+3+d[e+1],e+=3):(g=e+3+d[e+1]+d[e+2],e+=3+d[e+1]);break;case 18:h.push(g),f.push(e+4+d[e+2]+d[e+3]),a.substr(I,G[d[e+1]].length)===G[d[e+1]]?(g=e+4+d[e+2],e+=4):(g=e+4+d[e+2]+d[e+3],e+=4+d[e+2]);break;case 19:h.push(g),f.push(e+4+d[e+2]+d[e+3]),a.substr(I,G[d[e+1]].length).toLowerCase()===G[d[e+1]]?(g=e+4+d[e+2],e+=4):(g=e+4+d[e+2]+d[e+3],e+=4+d[e+2]);break;case 20:h.push(g),f.push(e+4+d[e+2]+d[e+3]),G[d[e+1]].test(a.charAt(I))?(g=e+4+d[e+2],e+=4):(g=e+4+d[e+2]+d[e+3],e+=4+d[e+2]);break;case 21:i.push(a.substr(I,d[e+1])),I+=d[e+1],e+=2;break;case 22:i.push(G[d[e+1]]),I+=G[d[e+1]].length,e+=2;break;case 23:i.push(D),0===N&&m(G[d[e+1]]),e+=2;break;case 24:J=i[i.length-1-d[e+1]],e+=2;break;case 25:J=I,e++;break;case 26:c=d.slice(e+4,e+4+d[e+3]).map(function(a){return i[i.length-1-a]}),i.splice(i.length-d[e+2],d[e+2],G[d[e+1]].apply(null,c)),e+=4+d[e+3];break;case 27:i.push(p(d[e+1])),e+=2;break;case 28:N++,e++;break;case 29:N--,e++;break;default:throw new Error("Invalid opcode: "+d[e]+".")}if(!(h.length>0))break;g=h.pop(),e=f.pop()}return O[k]={nextPos:I,result:i[0]},i[0]!==D?R.trace({type:"rule.match",rule:P[b],description:Q[b],result:i[0],location:l(j,I)}):R.trace({type:"rule.fail",rule:P[b],description:Q[b],location:l(j,j)}),i[0]}function q(a){return r(a)?Array.isArray(a)?a:[a]:[]}function r(a){return null!=a}function s(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ",c=a.filter(function(a){return r(a)}).reduce(function(a,c){return""+a+x(c)+b},"");return c.trim()}function t(a){return s(a,"")}function u(a){return s(a).toLowerCase()}function v(a){return a.filter(function(a){return r(a)}).reduce(function(a,b){return a.concat(b)},[])}function w(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"'",c=new RegExp(b+"{2}","g");return x(a).replace(c,b)}function x(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return q(a).join("")}function y(a){return x(a).trim()}function z(a){return y(a).toLowerCase()}function A(a){return Array.isArray(a)&&a.length>0&&r(a[0])}function B(a,b){return b.reduce(function(a,b){var c=h(b,4),d=(c[0],c[1]),e=(c[2],c[3]);return{type:"expression",format:"binary",variant:"operation",operation:z(d),left:a,right:e}},a)}b=void 0!==b?b:{};var C,D={},E={start:0,start_streaming:1},F=0,G=[function(a){return a},function(a,b){return{type:"statement",variant:"list",statement:v([a,b])}},function(a){return a},j("Type Definition"),function(a,b){return Object.assign(a,b)},function(a){return{type:"datatype",variant:a[0],affinity:a[1]}},j("Custom Datatype Name"),function(a,b){var c=u([a,b]),d="numeric";return/int/i.test(c)?d="integer":/char|clob|text/i.test(c)?d="text":/blob/i.test(c)?d="blob":/real|floa|doub/i.test(c)&&(d="real"),{type:"datatype",variant:c,affinity:d}},/^[\t ]/,d(["\t"," "],!1,!1),function(a){return a},j("Type Definition Arguments"),function(a,b){return{args:{type:"expression",variant:"list",expression:v([a,b])}}},function(a){return a},j("Null Literal"),function(a){return{type:"literal",variant:"null",value:z(a)}},j("Date Literal"),function(a){return{type:"literal",variant:"date",value:z(a)}},j("String Literal"),function(a,b){return{type:"literal",variant:"text",value:b}},j("Single-quoted String Literal"),function(a){return w(a,"'")},"''",c("''",!1),/^[^']/,d(["'"],!0,!1),j("Blob Literal"),/^[x]/i,d(["x"],!1,!0),function(a){return{type:"literal",variant:"blob",value:a}},function(a){return{type:"literal",variant:"text",value:a}},j("Number Sign"),function(a,b){return r(a)&&(b.value=t([a,b.value])),b},function(a,b){return{type:"literal",variant:"decimal",value:t([a,b])}},j("Decimal Literal"),function(a,b){return t([a,b])},function(a,b){return t([a,b])},j("Decimal Literal Exponent"),"e",c("E",!0),/^[+\-]/,d(["+","-"],!1,!1),function(a,b,c){return t([a,b,c])},j("Hexidecimal Literal"),"0x",c("0x",!0),function(a,b){return{type:"literal",variant:"hexidecimal",value:t([a,b])}},/^[0-9a-f]/i,d([["0","9"],["a","f"]],!1,!0),/^[0-9]/,d([["0","9"]],!1,!1),j("Bind Parameter"),function(a){return Object.assign({type:"variable"},a)},j("Numbered Bind Parameter"),function(a,b){return{format:"numbered",name:t([a,b])}},/^[1-9]/,d([["1","9"]],!1,!1),function(a,b){return t([a,b])},j("Named Bind Parameter"),/^[:@]/,d([":","@"],!1,!1),function(a,b){return{format:"named",name:t([a,b])}},j("TCL Bind Parameter"),"$",c("$",!1),":",c(":",!1),function(a,b,c){return Object.assign({format:"tcl",name:t([a,b])},c)},function(a){return{suffix:a}},j("EXISTS Expression"),function(a,b){return r(a)?{type:"expression",format:"unary",variant:"exists",expression:b,operator:z(a)}:b},j("EXISTS Keyword"),function(a,b){return u([a,b])},j("RAISE Expression"),function(a,b){return Object.assign({type:"expression",format:"unary",variant:z(a),expression:b},b)},j("RAISE Expression Arguments"),function(a){return Object.assign({type:"error"},a)},j("IGNORE Keyword"),function(a){return{action:z(a)}},function(a,b){return{action:z(a),message:b}},function(a){return a},function(a,b){return Object.assign(b,{expression:a})},function(a,b){return{type:"expression",format:"unary",variant:"operation",expression:b,operator:z(a)}},j("COLLATE Expression"),function(a){return Object.assign({type:"expression",format:"unary",variant:"operation",operator:"collate"},a)},function(a,b){return B(a,b)},function(a){return[null,a,null,{type:"literal",variant:"null",value:"null"}]},"not ",c("NOT ",!0),"null",c("NULL",!0),function(){return"not"},function(){return"is"},j("CAST Expression"),function(a,b,c){return{type:"expression",format:"unary",variant:z(a),expression:b,as:c}},j("Type Alias"),function(a){return a},j("CASE Expression"),function(a,b,c,d){return Object.assign({type:"expression",variant:z(a),expression:v([c,d])},b)},function(a){return{discriminant:a}},j("WHEN Clause"),function(a,b,c){return{type:"condition",variant:z(a),condition:b,consequent:c}},j("ELSE Clause"),function(a,b){return{type:"condition",variant:z(a),consequent:b}},function(a,b){return Object.assign(b,{left:a})},j("Comparison Expression"),function(a,b,c,d){return Object.assign({type:"expression",format:"binary",variant:"operation",operation:u([a,b]),right:c},d)},j("ESCAPE Expression"),function(a,b){return{escape:b}},j("BETWEEN Expression"),function(a,b,c){return{type:"expression",format:"binary",variant:"operation",operation:u([a,b]),right:c}},function(a,b){return B(a,[b])},function(a){return z(a)},j("IN Expression"),function(a,b,c){return{type:"expression",format:"binary",variant:"operation",operation:u([a,b]),right:c}},function(a){return a},j("Expression List"),function(a){return{type:"expression",variant:"list",expression:r(a)?a:[]}},function(a,b){return v([a,b])},j("Function Call"),function(a,b){return Object.assign({type:"function",name:a},b)},j("Function Call Arguments"),function(a){return{args:{type:"identifier",variant:"star",name:a}}},function(a,b){return!r(a)||b.expression.length>0},function(a,b){return{args:Object.assign(b,a)}},function(a){return{filter:z(a)}},j("Error Message"),function(a){return a},j("Statement"),function(a,b){return Object.assign(b,a)},j("QUERY PLAN"),function(a,b){return{explain:r(a)}},j("QUERY PLAN Keyword"),function(a,b){return u([a,b])},j("END Transaction Statement"),function(a,b){return{type:"statement",variant:"transaction",action:"commit"}},j("BEGIN Transaction Statement"),function(a,b,c,d){return Object.assign({type:"statement",variant:"transaction",action:"begin"},b,d)},function(a){return a},function(a){return{defer:z(a)}},j("ROLLBACK Statement"),function(a,b){return Object.assign({type:"statement",variant:"transaction",action:"rollback"},b)},j("TO Clause"),function(a){return{savepoint:a}},function(a){return z(a)},j("SAVEPOINT Statement"),function(a,b){return{type:"statement",variant:a,target:b}},j("RELEASE Statement"),function(a,b,c){return{type:"statement",variant:z(a),target:c}},j("ALTER TABLE Statement"),function(a,b,c){return Object.assign({type:"statement",variant:z(a),target:b},c)},j("ALTER TABLE Keyword"),function(a,b){return u([a,b])},j("RENAME TO Keyword"),function(a,b){return{action:z(a),name:b}},j("ADD COLUMN Keyword"),function(a,b){return{action:z(a),definition:b}},function(a,b){return Object.assign(b,a)},j("WITH Clause"),function(a,b,c){var d={variant:r(b)?"recursive":"common"};return A(c)&&(c=c.map(function(a){return Object.assign(a,d)})),{with:c}},function(a,b){return v([a,b])},j("Common Table Expression"),function(a,b){return Object.assign({type:"expression",format:"table",variant:"common",target:a},b)},function(a){return{expression:a}},function(a,b){return Object.assign(b,a)},j("ATTACH Statement"),function(a,b,c,d){return{type:"statement",variant:z(a),target:d,attach:c}},j("DETACH Statement"),function(a,b,c){return{type:"statement",variant:z(a),target:c}},j("VACUUM Statement"),function(a,b){return Object.assign({type:"statement",variant:"vacuum"},b)},function(a){return{target:a}},j("ANALYZE Statement"),function(a,b){return Object.assign({type:"statement",variant:z(a)},b)},function(a){return{target:a.name}},j("REINDEX Statement"),function(a){return{target:a.name}},j("PRAGMA Statement"),function(a,b,c){return{type:"statement",variant:z(a),target:b,args:{type:"expression",variant:"list",expression:c}}},function(a){return a},function(a){return/^(yes|no|on|off|false|true|0|1)$/i.test(a)},function(a){return{type:"literal",variant:"boolean",normalized:/^(yes|on|true|1)$/i.test(a)?"1":"0",value:a}},function(a){return z(a)},function(a){return{type:"identifier",variant:"name",name:a}},j("SELECT Statement"),function(a,b,c){return Object.assign(a,b,c)},j("ORDER BY Clause"),function(a){return{order:a.result}},j("LIMIT Clause"),function(a,b,c){return{limit:Object.assign({type:"expression",variant:"limit",start:b},c)}},j("OFFSET Clause"),function(a,b){return{offset:b}},function(a,b){return A(b)?{type:"statement",variant:"compound",statement:a,compound:b}:a},j("Union Operation"),function(a,b){return{type:"compound",variant:a,statement:b}},function(a,b,c,d){return Object.assign({type:"statement",variant:"select"},a,b,c,d)},j("SELECT Results Clause"),function(a,b){return Object.assign({result:b},a)},j("SELECT Results Modifier"),function(a){return{distinct:!0}},function(a){return{}},j("FROM Clause"),function(a,b){return{from:b}},j("WHERE Clause"),function(a,b){return{where:q(b)}},j("GROUP BY Clause"),function(a,b,c){return Object.assign({group:b},c)},j("HAVING Clause"),function(a,b){return{having:b}},function(a,b){return{type:"identifier",variant:"star",name:t([a,b])}},function(a,b){return t([a,b])},function(a,b){return Object.assign(a,b)},function(a,b){return A(b)?{type:"map",variant:"join",source:a,map:b}:a},function(a,b){return Object.assign(a,b)},j("CROSS JOIN Operation"),function(a){return{type:"join",variant:"cross join",source:a}},j("JOIN Operation"),function(a,b){return{type:"join",variant:z(a),source:b}},function(a,b,c){return Object.assign({type:"function",variant:"table",name:a,args:b},c)},j("Qualified Table"),function(a,b){return Object.assign(a,b)},j("Qualified Table Identifier"),function(a,b){return Object.assign(a,b)},j("Qualfied Table Index"),function(a,b){return{index:b}},function(a,b){return{index:u([a,b])}},j("SELECT Source"),function(a,b){return Object.assign(a,b)},j("Subquery"),function(a,b){return Object.assign(a,b)},j("Alias"),function(a,b){return{alias:b}},j("JOIN Operator"),function(a,b,c){return u([a,b,c])},function(a,b){return u([a,b])},function(a){return z(a)},j("JOIN Constraint"),function(a){return{constraint:Object.assign({type:"constraint",variant:"join"},a)}},j("Join ON Clause"),function(a,b){return{format:z(a),on:b}},j("Join USING Clause"),function(a,b){return{format:z(a),using:b}},j("VALUES Clause"),function(a,b){return{type:"statement",variant:"select",result:b}},function(a,b){return{result:v([a,b])}},function(a){return a},j("Ordering Expression"),function(a,b){return r(b)?Object.assign({type:"expression",variant:"order",expression:a},b):a},j("Star"),j("Fallback Type"),j("INSERT Statement"),function(a,b){return Object.assign({type:"statement",variant:"insert"},a,b)},j("INSERT Keyword"),function(a,b){return Object.assign({action:z(a)},b)},j("REPLACE Keyword"),function(a){return{action:z(a)}},j("INSERT OR Modifier"),function(a,b){return{or:z(b)}},function(a,b){return Object.assign({into:a},b)},j("INTO Clause"),function(a,b){return b},j("INTO Keyword"),function(a){return{result:a}},j("Column List"),function(a,b){return{columns:v([a,b])}},function(a){return a},j("Column Name"),function(a){return{type:"identifier",variant:"column",name:a}},function(a,b){return b},j("VALUES Keyword"),function(a,b){return v([a,b])},j("Wrapped Expression List"),function(a){return a},j("DEFAULT VALUES Clause"),function(a,b){return{type:"values",variant:"default"}},j("Compound Operator"),j("UNION Operator"),function(a,b){return u([a,b])},function(a){return a},j("UPDATE Statement"),function(a,b,c,d,e,f,g){return Object.assign({type:"statement",variant:a,into:c},b,d,e,f,g)},j("UPDATE Keyword"),j("UPDATE OR Modifier"),function(a){return{or:z(a)}},j("SET Clause"),function(a){return{set:a}},j("Column Assignment"),function(a,b){return{type:"assignment",target:a,value:b}},j("DELETE Statement"),function(a,b,c,d,e){return Object.assign({type:"statement",variant:a,from:b},c,d,e)},j("DELETE Keyword"),j("CREATE Statement"),j("CREATE TABLE Statement"),function(a,b,c,d){return Object.assign({type:"statement",name:c},a,d,b)},function(a,b,c){return Object.assign({variant:a,format:z(c)},b)},function(a){return{temporary:r(a)}},j("IF NOT EXISTS Modifier"),function(a,b,c){return{condition:q({type:"condition",variant:z(a),condition:{type:"expression",variant:z(c),operator:u([b,c])}})}},j("Table Definition"),function(a,b,c){return Object.assign({definition:v([a,b])},c)},function(a,b){return{optimization:[{type:"optimization",value:u([a,b])}]}},function(a){return a},j("Column Definition"),function(a,b,c){return Object.assign({type:"definition",variant:"column",name:a,definition:r(c)?c:[]},b)},j("Column Datatype"),function(a){return{datatype:a}},j("Column Constraint"),function(a,b,c){return Object.assign(b,a)},function(a){return a[a.length-1]},j("CONSTRAINT Name"),function(a){return{name:a}},j("FOREIGN KEY Column Constraint"),function(a){return Object.assign({variant:"foreign key"},a)},j("PRIMARY KEY Column Constraint"),function(a,b,c,d){return Object.assign(a,c,b,d)},j("PRIMARY KEY Keyword"),function(a,b){return{type:"constraint",variant:u([a,b])}},j("AUTOINCREMENT Keyword"),function(a){return{autoIncrement:!0}},function(a,b){return Object.assign({type:"constraint",variant:a},b)},j("UNIQUE Column Constraint"),j("NULL Column Constraint"),function(a,b){return u([a,b])},j("CHECK Column Constraint"),j("DEFAULT Column Constraint"),function(a,b){return{type:"constraint",variant:z(a),value:b}},j("COLLATE Column Constraint"),function(a){return{type:"constraint",variant:"collate",collate:a}},j("Table Constraint"),function(a,b,c){return Object.assign({type:"definition",variant:"constraint"},b,a)},j("CHECK Table Constraint"),function(a){return{definition:q(a)}},j("PRIMARY KEY Table Constraint"),function(a,b,c){return{definition:q(Object.assign(a,c,b[1])),columns:b[0]}},function(a){return{type:"constraint",variant:z(a)}},function(a,b){return u([a,b])},j("UNIQUE Keyword"),function(a){return z(a)},function(a,b){return[a].concat(b)},function(a){return a.map(function(a){var b=h(a,1),c=b[0];return c})},function(a){var b=a.find(function(a){var b=h(a,2),c=(b[0],b[1]);return r(c)});return[a.map(function(a){var b=h(a,2),c=b[0];b[1];return c}),b?b[1]:null]},j("Indexed Column"),function(a,b,c){var d=a;return r(b)&&(d=Object.assign({type:"expression",variant:"order",expression:a},b)),[d,c]},j("Collation"),function(a){return{collate:q(a)}},j("Column Direction"),function(a){return{direction:z(a)}},function(a,b){return{conflict:z(b)}},j("ON CONFLICT Keyword"),function(a,b){return u([a,b])},function(a,b){return{type:"constraint",variant:z(a),expression:b}},j("FOREIGN KEY Table Constraint"),function(a,b,c){return Object.assign({definition:q(Object.assign(a,c))},b)},j("FOREIGN KEY Keyword"),function(a,b){return{type:"constraint",variant:u([a,b])}},function(a,b,c){return Object.assign({type:"constraint"},a,b,c)},j("REFERENCES Clause"),function(a,b){return{references:b}},function(a,b){return{action:v([a,b])}},j("FOREIGN KEY Action Clause"),function(a,b,c){return{type:"action",variant:z(a),action:z(c)}},j("FOREIGN KEY Action"),function(a,b){return u([a,b])},function(a){return z(a)},function(a,b){return u([a,b])},function(a,b){return{type:"action",variant:z(a),action:b}},j("DEFERRABLE Clause"),function(a,b,c){return{defer:u([a,b,c])}},function(a,b){return u([a,b])},function(a){return{definition:q(a)}},j("CREATE INDEX Statement"),function(a,b,c,d,e){return Object.assign({type:"statement",target:c,on:d},a,b,e)},function(a,b,c){return Object.assign({variant:z(a),format:z(c)},b)},function(a){return{unique:!0}},j("ON Clause"),function(a,b,c){return{type:"identifier",variant:"expression",format:"table",name:b.name,columns:c}},j("CREATE TRIGGER Statement"),function(a,b,c,d,e,f,g,h){return Object.assign({type:"statement",target:c,on:e,event:d,by:r(f)?f:"row",action:q(h)},a,b,g)},function(a,b,c){return Object.assign({variant:z(a),format:z(c)},b)},j("Conditional Clause"),function(a,b){return Object.assign({type:"event"},a,b)},function(a){return{occurs:z(a)}},function(a,b){return u([a,b])},j("Conditional Action"),function(a){return{event:z(a)}},function(a,b){return{event:z(a),of:b}},function(a,b){return b},"statement",c("STATEMENT",!0),function(a,b,c){return z(c)},function(a,b){return{when:b}},j("Actions Clause"),function(a,b,c){return b},function(a){return a},j("CREATE VIEW Statement"),function(a,b,c,d){return Object.assign({type:"statement",target:c,result:d},a,b)},function(a,b){return Object.assign({type:"identifier",variant:"expression",format:"view",name:a.name,columns:[]},b)},function(a,b,c){return Object.assign({variant:z(a),format:z(c)},b)},j("CREATE VIRTUAL TABLE Statement"),function(a,b,c,d){return Object.assign({type:"statement",target:c,result:d},a,b)},function(a,b,c){return{variant:z(a),format:z(b)}},function(a,b){return Object.assign({type:"module",name:a},b)},j("Module Arguments"),function(a){return{args:{type:"expression",variant:"list",expression:r(a)?a:[]}}},function(a,b){return v([a,b]).filter(function(a){return r(a)})},function(a){return a},j("DROP Statement"),function(a,b){return Object.assign({type:"statement",target:Object.assign(b,{variant:a.format})},a)},j("DROP Keyword"),function(a,b,c){return Object.assign({variant:z(a),format:b,condition:[]},c)},j("DROP Type"),j("IF EXISTS Keyword"),function(a,b){return{condition:[{type:"condition",variant:z(a),condition:{type:"expression",variant:z(b),operator:z(b)}}]}},j("Or"),j("Add"),j("Subtract"),j("Multiply"),j("Divide"),j("Modulo"),j("Shift Left"),j("Shift Right"),j("Logical AND"),j("Logical OR"),j("Less Than"),j("Greater Than"),j("Less Than Or Equal"),j("Greater Than Or Equal"),j("Equal"),j("Not Equal"),j("IS"),function(a,b){return u([a,b])},j("Identifier"),j("Database Identifier"),function(a){return{type:"identifier",variant:"database",name:a}},j("Function Identifier"),function(a,b){return{type:"identifier",variant:"function",name:t([a,b])}},j("Table Identifier"),function(a,b){return{type:"identifier",variant:"table",name:t([a,b])}},function(a,b){return t([a,b])},j("Column Identifier"),function(a,b){return{type:"identifier",variant:"column",name:t([a,b])}},function(){return""},function(a,b){return t([a,b])},j("Collation Identifier"),function(a){return{type:"identifier",variant:"collation",name:a}},j("Savepoint Identifier"),function(a){return{type:"identifier",variant:"savepoint",name:a}},j("Index Identifier"),function(a,b){return{type:"identifier",variant:"index",name:t([a,b])}},j("Trigger Identifier"),function(a,b){return{type:"identifier",variant:"trigger",name:t([a,b])}},j("View Identifier"),function(a,b){return{type:"identifier",variant:"view",name:t([a,b])}},j("Pragma Identifier"),function(a,b){return{type:"identifier",variant:"pragma",name:t([a,b])}},j("CTE Identifier"),function(a){return a},function(a,b){return Object.assign({type:"identifier",variant:"expression",format:"table",name:a.name,columns:[]},b)},j("Table Constraint Identifier"),function(a){return{type:"identifier",variant:"constraint",format:"table",name:a}},j("Column Constraint Identifier"),function(a){return{type:"identifier",variant:"constraint",format:"column",name:a}},j("Datatype Name"),function(a){return[a,"text"]},function(a){return[a,"real"]},function(a){return[a,"numeric"]},function(a){return[a,"integer"]},function(a){return[a,"none"]},j("TEXT Datatype Name"),"n",c("N",!0),"var",c("VAR",!0),"char",c("CHAR",!0),"tiny",c("TINY",!0),"medium",c("MEDIUM",!0),"long",c("LONG",!0),"text",c("TEXT",!0),"clob",c("CLOB",!0),j("REAL Datatype Name"),"float",c("FLOAT",!0),"real",c("REAL",!0),j("DOUBLE Datatype Name"),"double",c("DOUBLE",!0),"precision",c("PRECISION",!0),function(a,b){return t([a,b])},j("NUMERIC Datatype Name"),"numeric",c("NUMERIC",!0),"decimal",c("DECIMAL",!0),"boolean",c("BOOLEAN",!0),"date",c("DATE",!0),"time",c("TIME",!0),"stamp",c("STAMP",!0),"string",c("STRING",!0),j("INTEGER Datatype Name"),"int",c("INT",!0),"2",c("2",!1),"4",c("4",!1),"8",c("8",!1),"eger",c("EGER",!0),"big",c("BIG",!0),"small",c("SMALL",!0),"floating",c("FLOATING",!0),"point",c("POINT",!0),function(a,b){return t([a,b])},j("BLOB Datatype Name"),"blob",c("BLOB",!0),/^[a-z0-9$_]/i,d([["a","z"],["0","9"],"$","_"],!1,!0),"\\u",c("\\u",!1),/^[a-f0-9]/i,d([["a","f"],["0","9"]],!1,!0),function(a,b){return t([a,b]).toLowerCase()},function(a){return z(a)},g(),function(a){return y(a)},/^[ \t]/,d([" ","\t"],!1,!1),'"',c('"',!1),'""',c('""',!1),/^[^"]/,d(['"'],!0,!1),function(a){return w(a,'"')},"'",c("'",!1),function(a){return w(a,"'")},"`",c("`",!1),"``",c("``",!1),/^[^`]/,d(["`"],!0,!1),function(a){return w(a,"`")},j("Open Bracket"),"[",c("[",!1),j("Close Bracket"),"]",c("]",!1),j("Open Parenthesis"),"(",c("(",!1),j("Close Parenthesis"),")",c(")",!1),j("Comma"),",",c(",",!1),j("Period"),".",c(".",!1),j("Asterisk"),"*",c("*",!1),j("Question Mark"),"?",c("?",!1),j("Single Quote"),j("Double Quote"),j("Backtick"),j("Tilde"),"~",c("~",!1),j("Plus"),"+",c("+",!1),j("Minus"),"-",c("-",!1),"=",c("=",!1),j("Ampersand"),"&",c("&",!1),j("Pipe"),"|",c("|",!1),"%",c("%",!1),"<",c("<",!1),">",c(">",!1),j("Exclamation"),"!",c("!",!1),j("Semicolon"),";",c(";",!1),j("Colon"),j("Forward Slash"),"/",c("/",!1),j("Backslash"),"\\",c("\\",!1),"abort",c("ABORT",!0),"action",c("ACTION",!0),"add",c("ADD",!0),"after",c("AFTER",!0),"all",c("ALL",!0),"alter",c("ALTER",!0),"analyze",c("ANALYZE",!0),"and",c("AND",!0),"as",c("AS",!0),"asc",c("ASC",!0),"attach",c("ATTACH",!0),"autoincrement",c("AUTOINCREMENT",!0),"before",c("BEFORE",!0),"begin",c("BEGIN",!0),"between",c("BETWEEN",!0),"by",c("BY",!0),"cascade",c("CASCADE",!0),"case",c("CASE",!0),"cast",c("CAST",!0),"check",c("CHECK",!0),"collate",c("COLLATE",!0),"column",c("COLUMN",!0),"commit",c("COMMIT",!0),"conflict",c("CONFLICT",!0),"constraint",c("CONSTRAINT",!0),"create",c("CREATE",!0),"cross",c("CROSS",!0),"current_date",c("CURRENT_DATE",!0),"current_time",c("CURRENT_TIME",!0),"current_timestamp",c("CURRENT_TIMESTAMP",!0),"database",c("DATABASE",!0),"default",c("DEFAULT",!0),"deferrable",c("DEFERRABLE",!0),"deferred",c("DEFERRED",!0),"delete",c("DELETE",!0),"desc",c("DESC",!0),"detach",c("DETACH",!0),"distinct",c("DISTINCT",!0),"drop",c("DROP",!0),"each",c("EACH",!0),"else",c("ELSE",!0),"end",c("END",!0),"escape",c("ESCAPE",!0),"except",c("EXCEPT",!0),"exclusive",c("EXCLUSIVE",!0),"exists",c("EXISTS",!0),"explain",c("EXPLAIN",!0),"fail",c("FAIL",!0),"for",c("FOR",!0),"foreign",c("FOREIGN",!0),"from",c("FROM",!0),"full",c("FULL",!0),"glob",c("GLOB",!0),"group",c("GROUP",!0),"having",c("HAVING",!0),"if",c("IF",!0),"ignore",c("IGNORE",!0),"immediate",c("IMMEDIATE",!0),"in",c("IN",!0),"index",c("INDEX",!0),"indexed",c("INDEXED",!0),"initially",c("INITIALLY",!0),"inner",c("INNER",!0),"insert",c("INSERT",!0),"instead",c("INSTEAD",!0),"intersect",c("INTERSECT",!0),"into",c("INTO",!0),"is",c("IS",!0),"isnull",c("ISNULL",!0),"join",c("JOIN",!0),"key",c("KEY",!0),"left",c("LEFT",!0),"like",c("LIKE",!0),"limit",c("LIMIT",!0),"match",c("MATCH",!0),"natural",c("NATURAL",!0),"no",c("NO",!0),"not",c("NOT",!0),"notnull",c("NOTNULL",!0),"of",c("OF",!0),"offset",c("OFFSET",!0),"on",c("ON",!0),"or",c("OR",!0),"order",c("ORDER",!0),"outer",c("OUTER",!0),"plan",c("PLAN",!0),"pragma",c("PRAGMA",!0),"primary",c("PRIMARY",!0),"query",c("QUERY",!0),"raise",c("RAISE",!0),"recursive",c("RECURSIVE",!0),"references",c("REFERENCES",!0),"regexp",c("REGEXP",!0),"reindex",c("REINDEX",!0),"release",c("RELEASE",!0),"rename",c("RENAME",!0),"replace",c("REPLACE",!0),"restrict",c("RESTRICT",!0),"right",c("RIGHT",!0),"rollback",c("ROLLBACK",!0),"row",c("ROW",!0),"rowid",c("ROWID",!0),"savepoint",c("SAVEPOINT",!0),"select",c("SELECT",!0),"set",c("SET",!0),"table",c("TABLE",!0),"temp",c("TEMP",!0),"temporary",c("TEMPORARY",!0),"then",c("THEN",!0),"to",c("TO",!0),"transaction",c("TRANSACTION",!0),"trigger",c("TRIGGER",!0),"union",c("UNION",!0),"unique",c("UNIQUE",!0),"update",c("UPDATE",!0),"using",c("USING",!0),"vacuum",c("VACUUM",!0),"values",c("VALUES",!0),"view",c("VIEW",!0),"virtual",c("VIRTUAL",!0),"when",c("WHEN",!0),"where",c("WHERE",!0),"with",c("WITH",!0),"without",c("WITHOUT",!0),function(a){return z(a)},function(){return null},j("Line Comment"),"--",c("--",!1),/^[\n\v\f\r]/,d(["\n","\v","\f","\r"],!1,!1),j("Block Comment"),"/*",c("/*",!1),"*/",c("*/",!1),/^[\n\v\f\r\t ]/,d(["\n","\v","\f","\r","\t"," "],!1,!1),j("Whitespace"),"__TODO__",c("__TODO__",!1)],H=[o("%;ȿ/H#;#/?$;\".\" &\"/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),o("%;ȿ/C#;#/:$;x/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),o("%;x/B#;ȿ/9$$;%0#*;%&/)$8#:!#\"\" )(#'#(\"'#&'#"),o("$;Ƴ0#*;Ƴ&"),o("$;Ƴ/�#*;Ƴ&&&#"),o("%;$/:#;x/1$;ȿ/($8#:\"#!!)(#'#(\"'#&'#"),o('<%;\'.# &;(/@#;ȿ/7$;*." &"/)$8#:$#"" )(#\'#("\'#&\'#=." 7#'),o("%;Ƌ/' 8!:%!! )"),o('<%;ƕ/9#$;)0#*;)&/)$8":\'""! )("\'#&\'#=." 7&'),o('%4(""5!7)/1#;Ɨ/($8":*"! )("\'#&\'#'),o("<%;Ơ/R#;5/I$;ȿ/@$;+.\" &\"/2$;ơ/)$8%:,%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7+"),o("%;Ƣ/C#;ȿ/:$;5/1$;ȿ/($8$:-$!!)($'#(#'#(\"'#&'#"),o(";5.; &;6.5 &;2./ &;-.) &;..# &;/"),o('<%;Ȇ/1#;ȿ/($8":/"!!)("\'#&\'#=." 7.'),o('<%;ǒ.) &;ǔ.# &;Ǔ/1#;ȿ/($8":1"!!)("\'#&\'#=." 70'),o('<%;4." &"/2#;0/)$8":3""! )("\'#&\'#=." 72'),o("<%;Ʀ/A#$;10#*;1&/1$;Ʀ/($8#:5#!!)(#'#(\"'#&'#=.\" 74"),o('26""6677.) &48""5!79'),o('<%4;""5!7!! )"),o('<%;ƪ.# &;ƫ/\' 8!:"!! )=." 7?'),o('%;4." &"/2#;6/)$8":@""! )("\'#&\'#'),o(";<.# &;7"),o('%;8/7#;;." &"/)$8":A""! )("\'#&\'#'),o('<;9.# &;:=." 7B'),o('%$;>/�#*;>&&&#/7#;:." &"/)$8":C""! )("\'#&\'#'),o('%;ƣ/9#$;>0#*;>&/)$8":D""! )("\'#&\'#'),o('<%3F""5!7G/T#4H""5!7I." &"/@$$;>/�#*;>&&&#/*$8#:J##"! )(#\'#("\'#&\'#=." 7E'),o('<%3L""5"7M/?#$;=/�#*;=&&&#/)$8":N""! )("\'#&\'#=." 7K'),o('4O""5!7P'),o('4Q""5!7R'),o("<%;@.) &;B.# &;C/' 8!:T!! )=.\" 7S"),o('<%;ƥ/@#;A." &"/2$;ȿ/)$8#:V#""!)(#\'#("\'#&\'#=." 7U'),o('%4W""5!7X/9#$;>0#*;>&/)$8":Y""! )("\'#&\'#'),o('<%4[""5!7\\/H#$;Ɠ/�#*;Ɠ&&&#/2$;ȿ/)$8#:]#""!)(#\'#("\'#&\'#=." 7Z'),o('<%2_""6_7`/o#$;Ɠ.) &2a""6a7b/2#0/*;Ɠ.) &2a""6a7b&&&#/A$;ȿ/8$;D." &"/*$8$:c$##" )($\'#(#\'#("\'#&\'#=." 7^'),o('%;ƛ/1#;ȿ/($8":d"!!)("\'#&\'#'),o('<%;F." &"/;#;ȿ/2$;”/)$8#:f#"" )(#\'#("\'#&\'#=." 7e'),o('<%;k." &"/;#;Ǥ/2$;ȿ/)$8#:h#""!)(#\'#("\'#&\'#=." 7g'),o("<%;ȑ/_#;ȿ/V$;Ơ/M$;ȿ/D$;H/;$;ȿ/2$;ơ/)$8':j'\"&\")(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7i"),o("<%;I.# &;J/' 8!:l!! )=.\" 7k"),o("<%;ǯ/' 8!:n!! )=.\" 7m"),o("%;ț.) &;Ʒ.# &;Ǧ/M#;ȿ/D$;Ƣ/;$;ȿ/2$;w/)$8%:o%\"$ )(%'#($'#(#'#(\"'#&'#"),o(";?./ &;t.) &;,.# &;Ž"),o("%;Ơ/L#;ȿ/C$;o/:$;ȿ/1$;ơ/($8%:p%!\")(%'#($'#(#'#(\"'#&'#"),o(";L.; &;E.5 &;_./ &;a.) &;G.# &;K"),o("%;M/;#;ȿ/2$;Q/)$8#:q#\"\" )(#'#(\"'#&'#.# &;M"),o("%;P/A#;ȿ/8$;N.# &;o/)$8#:r#\"\" )(#'#(\"'#&'#.# &;N"),o(";Ʃ.U &;ƫ.O &;ƪ.I &%%;k/8#%<;Ǥ=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),o("<%;ĭ/' 8!:t!! )=.\" 7s"),o("%;O/ƒ#$%;ȿ/>#;Ŧ/5$;ȿ/,$;O/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;Ŧ/5$;ȿ/,$;O/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o("%;R/ƒ#$%;ȿ/>#;T/5$;ȿ/,$;R/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;T/5$;ȿ/,$;R/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o(";ũ.) &;Ū.# &;ū"),o("%;S/ƒ#$%;ȿ/>#;V/5$;ȿ/,$;S/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;V/5$;ȿ/,$;S/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o(";ŧ.# &;Ũ"),o("%;U/ƒ#$%;ȿ/>#;X/5$;ȿ/,$;U/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;X/5$;ȿ/,$;U/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o(";Ŭ.U &;ŭ.O &;Ů.I &%%;ů/8#%<;ů=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),o("%;W/ƒ#$%;ȿ/>#;Z/5$;ȿ/,$;W/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;Z/5$;ȿ/,$;W/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o(";Ų.{ &;ų.u &%%;Ű/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,).I &%%;ű/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),o('%;Y/9#$;\\0#*;\\&/)$8":u""! )("\'#&\'#'),o("%;ȿ/1#;]/($8\":v\"! )(\"'#&'#.H &%;ȿ/>#;^/5$;ȿ/,$;Y/#$+$)($'#(#'#(\"'#&'#"),o('%3w""5$7x/?#;ȿ/6$3y""5$7z/\'$8#:{# )(#\'#("\'#&\'#.? &%;ǻ/& 8!:|! ).. &%;ȅ/& 8!:{! )'),o(";ŷ./ &;ŵ.) &;Ŷ.# &;Ŵ"),o("<%;lj/i#;ȿ/`$;Ơ/W$;o/N$;ȿ/E$;`/<$;ȿ/3$;ơ/*$8(:~(#'$\")(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7}"),o("<%;ƿ/:#;ȿ/1$;&/($8#:€#! )(#'#(\"'#&'#=.\" 7"),o("<%;Lj/“#;ȿ/Š$;b.\" &\"/|$;ȿ/s$$;c/�#*;c&&&#/]$;ȿ/T$;d.\" &\"/F$;ȿ/=$;Ǡ/4$;ȿ/+$8*:‚*$)'%#)(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7"),o("%%<;Ȱ=.##&&!&'#/1#;o/($8\":ƒ\"! )(\"'#&'#"),o("<%;Ȱ/i#;ȿ/`$;o/W$;ȿ/N$;Ȥ/E$;ȿ/<$;o/3$;ȿ/*$8(:…(#'%!)(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7„"),o("<%;ǟ/D#;ȿ/;$;o/2$;ȿ/)$8$:‡$\"#!)($'#(#'#(\"'#&'#=.\" 7†"),o("%;[/;#;ȿ/2$;f/)$8#:ˆ#\"\" )(#'#(\"'#&'#.# &;["),o(";l.) &;i.# &;g"),o('<%;k." &"/o#;ǿ./ &;ǫ.) &;Ȕ.# &;ȁ/T$;ȿ/K$;o/B$;ȿ/9$;h." &"/+$8&:Š&$%$" )(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7‰'),o("<%;ǡ/D#;ȿ/;$;o/2$;ȿ/)$8$:Œ$\"#!)($'#(#'#(\"'#&'#=.\" 7‹"),o('<%;k." &"/E#;Dž/<$;ȿ/3$;j/*$8$:Ž$##" )($\'#(#\'#("\'#&\'#=." 7'),o("%;e/W#%;ȿ/>#;ƾ/5$;ȿ/,$;e/#$+$)($'#(#'#(\"'#&'#/)$8\":\"\"! )(\"'#&'#"),o('%;Ȅ/1#;ȿ/($8":"!!)("\'#&\'#'),o('<%;k." &"/E#;DZ/<$;ȿ/3$;m/*$8$:’$##" )($\'#(#\'#("\'#&\'#=." 7‘'),o(";n.# &;Ż"),o("%;Ơ/I#;•.# &;q/:$;ȿ/1$;ơ/($8$:“$!\")($'#(#'#(\"'#&'#"),o("%;e/ƒ#$%;ȿ/>#;p/5$;ȿ/,$;e/#$+$)($'#(#'#(\"'#&'#0H*%;ȿ/>#;p/5$;ȿ/,$;e/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),o(";ƾ.# &;Ȋ"),o('<%;r." &"/1#;ȿ/($8":•"!!)("\'#&\'#=." 7”'),o("%;o/B#;ȿ/9$$;s0#*;s&/)$8#:–#\"\" )(#'#(\"'#&'#"),o("%;Ƣ/:#;o/1$;ȿ/($8#:“#!!)(#'#(\"'#&'#"),o("<%;ź/[#;ȿ/R$;Ơ/I$;u.\" &\"/;$;ȿ/2$;ơ/)$8&:˜&\"%\")(&'#(%'#($'#(#'#(\"'#&'#=.\" 7—"),o('<%;Û/\' 8!:š!! ).V &%;v." &"/G#;q/>$9:› "! -""&!&#/)$8#:œ#""!)(#\'#("\'#&\'#=." 7™'),o('%;ǜ.# &;ƻ/1#;ȿ/($8":"!!)("\'#&\'#'),o("<%;//' 8!:Ÿ!! )=.\" 7ž"),o('<%;y." &"/;#;{/2$;ȿ/)$8#:¡#""!)(#\'#("\'#&\'#=." 7 '),o('<%;ǥ/@#;ȿ/7$;z." &"/)$8#:£#"" )(#\'#("\'#&\'#=." 7¢'),o("<%;Ȑ/D#;ȿ/;$;ȍ/2$;ȿ/)$8$:¥$\"#!)($'#(#'#(\"'#&'#=.\" 7¤"),o(";Œ.S &;û.M &;Ţ.G &;}.A &;|.; &;†.5 &;€./ &;„.) &;….# &;–"),o('<%;Ǎ.# &;Ǡ/@#;ȿ/7$;~." &"/)$8#:§#"" )(#\'#("\'#&\'#=." 7¦'),o('<%;DŽ/^#;ȿ/U$;." &"/G$;~." &"/9$;‚." &"/+$8%:©%$$"! )(%\'#($\'#(#\'#("\'#&\'#=." 7¨'),o('%;Ȧ/1#;ȿ/($8":ª"!!)("\'#&\'#'),o('%;ǘ.) &;ǰ.# &;ǣ/1#;ȿ/($8":«"!!)("\'#&\'#'),o('<%;ț/N#;ȿ/E$;~." &"/7$;." &"/)$8$:­$"# )($\'#(#\'#("\'#&\'#=." 7¬'),o('<%%;ȥ/,#;ȿ/#$+")("\'#&\'#." &"/?#;ƒ." &"/1$;‚/($8#:p#! )(#\'#("\'#&\'#=." 7®'),o('%;Ƃ/1#;ȿ/($8":¯"!!)("\'#&\'#'),o('%;Ȟ/1#;ȿ/($8":°"!!)("\'#&\'#'),o('<%;ƒ/2#;‚/)$8":²""! )("\'#&\'#=." 7±'),o("<%;Ȗ/J#;ȿ/A$;ƒ.\" &\"/3$;‚/*$8$:´$##! )($'#(#'#(\"'#&'#=.\" 7³"),o("<%;‡/N#;Ż/E$;ȿ/<$;ˆ/3$;ȿ/*$8%:¶%#$#!)(%'#($'#(#'#(\"'#&'#=.\" 7µ"),o("<%;Ƽ/D#;ȿ/;$;ȡ/2$;ȿ/)$8$:¸$\"#!)($'#(#'#(\"'#&'#=.\" 7·"),o(";‰.# &;Š"),o("<%;ȗ/M#;ȿ/D$;ȥ/;$;ȿ/2$;Ż/)$8%:º%\"$ )(%'#($'#(#'#(\"'#&'#=.\" 7¹"),o('<%;ƹ/I#;ȿ/@$;‹." &"/2$;Č/)$8$:¼$"# )($\'#(#\'#("\'#&\'#=." 7»'),o('%;nj/1#;ȿ/($8":°"!!)("\'#&\'#'),o('%;/2#;§/)$8":½""! )("\'#&\'#'),o('<%;Ž." &"/1#;ȿ/($8":*"!!)("\'#&\'#=." 7¾'),o("%;Ȳ/J#;ȿ/A$;.\" &\"/3$;/*$8$:¿$##! )($'#(#'#(\"'#&'#"),o('%;Ȓ/1#;ȿ/($8":°"!!)("\'#&\'#'),o("%;’/B#;ȿ/9$$;‘0#*;‘&/)$8#:À#\"\" )(#'#(\"'#&'#"),o("%;Ƣ/:#;’/1$;ȿ/($8#:“#!!)(#'#(\"'#&'#"),o('<%;Ƈ/2#;“/)$8":Â""! )("\'#&\'#=." 7Á'),o("%;ƿ/:#;ȿ/1$;”/($8#:Ã#! )(#'#(\"'#&'#"),o("%;Ơ/C#;•/:$;ȿ/1$;ơ/($8$: $!\")($'#(#'#(\"'#&'#"),o('%;/2#;¨/)$8":Ä""! )("\'#&\'#'),o(";—.; &;™.5 &;š./ &;œ.) &;ž.# &; "),o("<%;ǁ/‹#;ȿ/‚$%;Ǖ/,#;ȿ/#$+\")(\"'#&'#.\" &\"/a$;o/X$;ȿ/O$;ƿ/F$;ȿ/=$;˜/4$;ȿ/+$8):Æ)$(&%!)()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Å"),o(";Ź.) &;-.# &;?"),o("<%;Ǜ/f#;ȿ/]$%;Ǖ/,#;ȿ/#$+\")(\"'#&'#.\" &\"/<$;˜/3$;ȿ/*$8%:È%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7Ç"),o('<%;Ȭ/@#;ȿ/7$;›." &"/)$8#:Ê#"" )(#\'#("\'#&\'#=." 7É'),o('%;Ź/1#;ȿ/($8":Ë"!!)("\'#&\'#'),o('<%;ƽ/@#;ȿ/7$;." &"/)$8#:Í#"" )(#\'#("\'#&\'#=." 7Ì'),o('%;Ż.) &;ƃ.# &;Ź/1#;ȿ/($8":Î"!!)("\'#&\'#'),o('<%;ȕ/I#;ȿ/@$;Ÿ." &"/2$;ȿ/)$8$:Í$"#!)($\'#(#\'#("\'#&\'#=." 7Ï'),o('%;Ż.) &;ƃ.# &;Ɓ/1#;ȿ/($8":Ð"!!)("\'#&\'#'),o("<%;Ȏ/S#;ȿ/J$;Ɔ/A$;ȿ/8$;¡.\" &\"/*$8%:Ò%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ñ"),o("%;Ơ/C#;¢/:$;ȿ/1$;ơ/($8$:Ó$!\")($'#(#'#(\"'#&'#.D &%;Ƭ/:#;¢/1$;ȿ/($8#:Ó#!!)(#'#(\"'#&'#"),o(";¤.) &;£.# &;¦"),o(";5.) &;/.# &;3"),o('%;¥/<#9:Ô ! -""&!&#/($8":Õ"!!)("\'#&\'#'),o("%$;Ɠ/�#*;Ɠ&&&#/' 8!:Ö!! )"),o("%;¥/' 8!:×!! )"),o(";¨./ &;Ý.) &;ò.# &;ù"),o('<%;®/X#;ȿ/O$;©." &"/A$;ȿ/8$;ª." &"/*$8%:Ù%#$" )(%\'#($\'#(#\'#("\'#&\'#=." 7Ø'),o("<%;ȋ/L#;ȿ/C$;dž/:$;ȿ/1$;Ø/($8%:Û%! )(%'#($'#(#'#(\"'#&'#=.\" 7Ú"),o("<%;Ȁ/S#;ȿ/J$;o/A$;ȿ/8$;«.\" &\"/*$8%:Ý%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ü"),o('<%;¬/2#;o/)$8":ß""! )("\'#&\'#=." 7Þ'),o(";­.# &;Ƣ"),o('%;Ȉ/1#;ȿ/($8":°"!!)("\'#&\'#'),o("%;°/B#;ȿ/9$$;¯0#*;¯&/)$8#:à#\"\" )(#'#(\"'#&'#"),o("<%;ï/D#;ȿ/;$;°/2$;ȿ/)$8$:â$\"#!)($'#(#'#(\"'#&'#=.\" 7á"),o(";±.# &;×"),o('%;²/U#;¸." &"/G$;¹." &"/9$;º." &"/+$8$:ã$$#"! )($\'#(#\'#("\'#&\'#'),o('<%;ȟ/R#;ȿ/I$;³." &"/;$;ȿ/2$;¶/)$8%:å%"" )(%\'#($\'#(#\'#("\'#&\'#=." 7ä'),o('<;´.# &;µ=." 7æ'),o('%;ǜ/1#;ȿ/($8":ç"!!)("\'#&\'#'),o('%;ƻ/1#;ȿ/($8":è"!!)("\'#&\'#'),o("%;¼/B#;ȿ/9$$;·0#*;·&/)$8#:À#\"\" )(#'#(\"'#&'#"),o("%;Ƣ/:#;¼/1$;ȿ/($8#:-#!!)(#'#(\"'#&'#"),o("<%;ǩ/D#;ȿ/;$;À/2$;ȿ/)$8$:ê$\"#!)($'#(#'#(\"'#&'#=.\" 7é"),o("<%;ȱ/D#;ȿ/;$;o/2$;ȿ/)$8$:ì$\"#!)($'#(#'#(\"'#&'#=.\" 7ë"),o("<%;Ǭ/e#;ȿ/\\$;dž/S$;ȿ/J$;q/A$;ȿ/8$;».\" &\"/*$8':î'#&\" )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7í"),o("<%;ǭ/D#;ȿ/;$;o/2$;ȿ/)$8$:ð$\"#!)($'#(#'#(\"'#&'#=.\" 7ï"),o(";½.# &;¿"),o('%;¾." &"/2#;Û/)$8":ñ""! )("\'#&\'#'),o('%;ƕ/2#;ƣ/)$8":ò""! )("\'#&\'#'),o('%;o/@#;ȿ/7$;Í." &"/)$8#:ó#"" )(#\'#("\'#&\'#'),o("%;Ä/B#;ȿ/9$$;Á0#*;Á&/)$8#:ô#\"\" )(#'#(\"'#&'#"),o('%;Â.# &;Ã/7#;Ô." &"/)$8":õ""! )("\'#&\'#'),o("<%;Ƣ/:#;Ä/1$;ȿ/($8#:÷#!!)(#'#(\"'#&'#=.\" 7ö"),o("<%;Î/D#;ȿ/;$;Ä/2$;ȿ/)$8$:ù$\"#!)($'#(#'#(\"'#&'#=.\" 7ø"),o(";Ë.5 &;?./ &;Å.) &;Æ.# &;Ì"),o("%;ź/S#;ȿ/J$;í/A$;ȿ/8$;Í.\" &\"/*$8%:ú%#$\" )(%'#($'#(#'#(\"'#&'#"),o('<%;Ç/@#;ȿ/7$;È." &"/)$8#:ü#"" )(#\'#("\'#&\'#=." 7û'),o('<%;Ż/@#;ȿ/7$;Í." &"/)$8#:þ#"" )(#\'#("\'#&\'#=." 7ý'),o('<;É.# &;Ê=." 7ÿ'),o("%;dz/V#;ȿ/M$;dž/D$;ȿ/;$;ƃ/2$;ȿ/)$8&:Ā&\"%!)(&'#(%'#($'#(#'#(\"'#&'#"),o("%;k/;#;dz/2$;ȿ/)$8#:ā#\"\"!)(#'#(\"'#&'#"),o("<%;Ơ/R#;À/I$;ȿ/@$;ơ/7$;Í.\" &\"/)$8%:ă%\"# )(%'#($'#(#'#(\"'#&'#=.\" 7Ă"),o('<%;”/7#;Í." &"/)$8":ą""! )("\'#&\'#=." 7Ą'),o('<%%;ƿ/Q#%%<;Ɠ.# &;ȶ=.##&&!&\'#/,#;ȿ/#$+")("\'#&\'#/#$+")("\'#&\'#." &"/;#;ƕ/2$;ȿ/)$8#:ć#""!)(#\'#("\'#&\'#=." 7Ć'),o('<%;Ï." &"/J#;ȿ/A$;Ð." &"/3$;Ǽ/*$8$:ĉ$##! )($\'#(#\'#("\'#&\'#=." 7Ĉ'),o('%;Ȃ/1#;ȿ/($8":"!!)("\'#&\'#'),o(";Ñ.# &;Ó"),o('%;Ǿ.) &;Ț.# &;Ǫ/@#;ȿ/7$;Ò." &"/)$8#:Ċ#"" )(#\'#("\'#&\'#'),o('%;Ȍ/1#;ȿ/($8":ċ"!!)("\'#&\'#'),o('%;ǵ.# &;Ǒ/1#;ȿ/($8":ċ"!!)("\'#&\'#'),o('<%;Õ.# &;Ö/1#;ȿ/($8":č"!!)("\'#&\'#=." 7Č'),o('<%;ȉ/;#;ȿ/2$;o/)$8#:ď#"" )(#\'#("\'#&\'#=." 7Ď'),o('<%;ȫ/;#;ȿ/2$;æ/)$8#:đ#"" )(#\'#("\'#&\'#=." 7Đ'),o('<%;ȭ/;#;ȿ/2$;ë/)$8#:ē#"" )(#\'#("\'#&\'#=." 7Ē'),o("%;Ú/B#;ȿ/9$$;Ù0#*;Ù&/)$8#:Ĕ#\"\" )(#'#(\"'#&'#"),o("%;Ƣ/:#;Ú/1$;ȿ/($8#:ĕ#!!)(#'#(\"'#&'#"),o('<%;o/@#;ȿ/7$;į." &"/)$8#:ė#"" )(#\'#("\'#&\'#=." 7Ė'),o('<;Ƥ=." 7Ę'),o('<;Ș.5 &;ț./ &;Ʒ.) &;Ǧ.# &;ǯ=." 7ę'),o('<%;Þ/;#;ȿ/2$;â/)$8#:ě#"" )(#\'#("\'#&\'#=." 7Ě'),o(";ß.# &;à"),o('<%;Ƕ/@#;ȿ/7$;á." &"/)$8#:ĝ#"" )(#\'#("\'#&\'#=." 7Ĝ'),o('<%;Ș/1#;ȿ/($8":ğ"!!)("\'#&\'#=." 7Ğ'),o('<%;Ȋ/;#;ȿ/2$;Ü/)$8#:ġ#"" )(#\'#("\'#&\'#=." 7Ġ'),o('%;ã/2#;å/)$8":Ģ""! )("\'#&\'#'),o('<%;ä/2#;Ƈ/)$8":Ĥ""! )("\'#&\'#=." 7ģ'),o('<%;ǹ/,#;ȿ/#$+")("\'#&\'#=." 7ĥ'),o('<%;é.) &;•.# &;î/1#;ȿ/($8":Ħ"!!)("\'#&\'#=." 7Ē'),o("<%;Ơ/T#;è/K$;ȿ/B$$;ç0#*;ç&/2$;ơ/)$8%:Ĩ%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7ħ"),o("%;Ƣ/:#;è/1$;ȿ/($8#:ĩ#!!)(#'#(\"'#&'#"),o("<%;Ÿ/' 8!:ī!! )=.\" 7Ī"),o('<%;ê/2#;ë/)$8":Ĭ""! )("\'#&\'#=." 7Ē'),o('<%;ȭ/1#;ȿ/($8":°"!!)("\'#&\'#=." 7ĭ'),o("%;í/B#;ȿ/9$$;ì0#*;ì&/)$8#:Į#\"\" )(#'#(\"'#&'#"),o("%;Ƣ/:#;í/1$;ȿ/($8#:“#!!)(#'#(\"'#&'#"),o("<%;Ơ/C#;q/:$;ȿ/1$;ơ/($8$:İ$!\")($'#(#'#(\"'#&'#=.\" 7į"),o('<%;ǖ/;#;ȿ/2$;ȭ/)$8#:IJ#"" )(#\'#("\'#&\'#=." 7ı'),o("<%;ð.) &;Ǹ.# &;Ǣ/' 8!:°!! )=.\" 7ij"),o('<%;Ȩ/@#;ȿ/7$;ñ." &"/)$8#:ĵ#"" )(#\'#("\'#&\'#=." 7Ĵ'),o('%;ƻ/1#;ȿ/($8":Ķ"!!)("\'#&\'#'),o("<%;ó/Š#;ô.\" &\"/|$;Æ/s$;ȿ/j$;õ/a$;¹.\" &\"/S$;©.\" &\"/E$;ȿ/<$;ª.\" &\"/.$8):ĸ)'('&$#\" )()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7ķ"),o('<%;Ȫ/1#;ȿ/($8":°"!!)("\'#&\'#=." 7Ĺ'),o("<%;Ȋ/C#;ȿ/:$;Ü/1$;ȿ/($8$:Ļ$!!)($'#(#'#(\"'#&'#=.\" 7ĺ"),o("<%;Ƞ/C#;ȿ/:$;ö/1$;ȿ/($8$:Ľ$!!)($'#(#'#(\"'#&'#=.\" 7ļ"),o('%;ø/9#$;÷0#*;÷&/)$8":Į""! )("\'#&\'#'),o("%;ȿ/:#;Ƣ/1$;ø/($8#:ĩ#! )(#'#(\"'#&'#"),o("<%;Ž/M#;ȿ/D$;Ƭ/;$;o/2$;ȿ/)$8%:Ŀ%\"$!)(%'#($'#(#'#(\"'#&'#=.\" 7ľ"),o('<%;ú/h#;Æ/_$;ȿ/V$;¹." &"/H$;©." &"/:$;ª." &"/,$8&:Ł&%%$"! )(&\'#(%\'#($\'#(#\'#("\'#&\'#=." 7ŀ'),o("<%;Ǚ/C#;ȿ/:$;ǩ/1$;ȿ/($8$:°$!#)($'#(#'#(\"'#&'#=.\" 7ł"),o('<;ý.5 &;þ./ &;ÿ.) &;Ā.# &;ā=." 7Ń'),o('%;ǐ/1#;ȿ/($8":°"!!)("\'#&\'#'),o("%%<%;ü/>#;Dz./ &;ȧ.) &;Ȯ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ă/($8\":ĩ\"! )(\"'#&'#"),o("%%<%;ü/>#;ȡ./ &;ȧ.) &;Ȯ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ń/($8\":ĩ\"! )(\"'#&'#"),o("%%<%;ü/>#;ȡ./ &;Dz.) &;Ȯ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ň/($8\":ĩ\"! )(\"'#&'#"),o("%%<%;ü/>#;ȡ./ &;Dz.) &;ȧ.# &;ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ŗ/($8\":ĩ\"! )(\"'#&'#"),o("%%<%;ü/>#;ȡ./ &;Dz.) &;ȧ.# &;Ȯ/#$+\")(\"'#&'#=.##&&!&'#/1#;Ś/($8\":ĩ\"! )(\"'#&'#"),o("<%;ă/T#;ą.\" &\"/F$;Ż/=$;ȿ/4$;Ć/+$8%:Ņ%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7ń"),o("%;ü/J#;Ą.\" &\"/<$;ȡ/3$;ȿ/*$8$:ņ$##\"!)($'#(#'#(\"'#&'#"),o('%;ȣ.# &;Ȣ/1#;ȿ/($8":Ň"!!)("\'#&\'#'),o("<%;Ǯ/N#;ȿ/E$;k/<$;Ǥ/3$;ȿ/*$8%:ʼn%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7ň"),o(";ć.# &;ł"),o("<%;Ơ/Z#;ĉ/Q$$;ċ0#*;ċ&/A$;ơ/8$;Ĉ.\" &\"/*$8%:ŋ%##\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ŋ"),o("%;ȳ/D#;ȿ/;$;ȝ/2$;ȿ/)$8$:Ō$\"#!)($'#(#'#(\"'#&'#"),o("%;Č/B#;ȿ/9$$;Ċ0#*;Ċ&/)$8#:Į#\"\" )(#'#(\"'#&'#"),o("%;Ƣ/:#;Č/1$;ȿ/($8#:ª#!!)(#'#(\"'#&'#"),o('%;Ƣ." &"/1#;Ġ/($8":ō"! )("\'#&\'#'),o('<%;č/O#;ȿ/F$;Ď." &"/8$;ď." &"/*$8$:ŏ$##! )($\'#(#\'#("\'#&\'#=." 7Ŏ'),o("%;ƕ/=#%<;ȿ=/##&'!&&#/($8\":p\"!!)(\"'#&'#.\\ &%%<;Ď.) &;đ.# &;Ġ=.##&&!&'#/:#;ȿ/1$;Ƙ/($8#:p#! )(#'#(\"'#&'#"),o('<%;&/1#;ȿ/($8":ő"!!)("\'#&\'#=." 7Ő'),o("%;đ/B#$;Đ0#*;Đ&/2$;ȿ/)$8#:Į#\"\"!)(#'#(\"'#&'#"),o('%;ȿ/1#;đ/($8":ĩ"! )("\'#&\'#'),o('<%;Ē." &"/A#;Ĕ/8$;Ē." &"/*$8#:œ##"! )(#\'#("\'#&\'#=." 7Œ'),o("%$;ē/�#*;ē&&&#/' 8!:Ŕ!! )"),o("<%;Ǐ/C#;ȿ/:$;ƕ/1$;ȿ/($8$:Ŗ$!!)($'#(#'#(\"'#&'#=.\" 7ŕ"),o(";Ė.; &;ę.5 &;Ĝ./ &;ĝ.) &;ğ.# &;ĕ"),o("<%;ĵ/' 8!:Ř!! )=.\" 7ŗ"),o('<%;ė/U#;į." &"/G$;İ." &"/9$;Ę." &"/+$8$:Ś$$#"! )($\'#(#\'#("\'#&\'#=." 7ř'),o("<%;ȏ.# &;Ȏ/D#;ȿ/;$;ǽ/2$;ȿ/)$8$:Ŝ$\"#!)($'#(#'#(\"'#&'#=.\" 7ś"),o('<%;ǂ/1#;ȿ/($8":Ş"!!)("\'#&\'#=." 7ŝ'),o('%;Ě/@#;İ." &"/2$;ȿ/)$8#:ş#""!)(#\'#("\'#&\'#'),o('<%;ě.# &;ȩ/1#;ȿ/($8":ċ"!!)("\'#&\'#=." 7Š'),o('<%;k." &"/2#;Ȇ/)$8":Ţ""! )("\'#&\'#=." 7š'),o('<;IJ=." 7ţ'),o("<%;ǖ/D#;ȿ/;$;Ğ/2$;ȿ/)$8$:ť$\"#!)($'#(#'#(\"'#&'#=.\" 7Ť"),o(";L./ &;5.) &;,.# &;3"),o("<%;ĭ/' 8!:ŧ!! )=.\" 7Ŧ"),o('<%;Ē." &"/J#;ġ/A$;ȿ/8$;Ē." &"/*$8$:ũ$##" )($\'#(#\'#("\'#&\'#=." 7Ũ'),o(";ij.) &;ģ.# &;Ģ"),o("<%;IJ/' 8!:ū!! )=.\" 7Ū"),o("<%;Ĥ/J#;ȿ/A$;ĩ/8$;İ.\" &\"/*$8$:ŭ$##! )($'#(#'#(\"'#&'#=.\" 7Ŭ"),o('%;ĥ.# &;Ħ/1#;ȿ/($8":Ů"!!)("\'#&\'#'),o('<%;ȏ/;#;ȿ/2$;ǽ/)$8#:ů#"" )(#\'#("\'#&\'#=." 7ś'),o("<%;ȩ/' 8!:ű!! )=.\" 7Ű"),o("%;Ơ/T#;ī/K$;ȿ/B$$;Ī0#*;Ī&/2$;ơ/)$8%:Ų%\"#!)(%'#($'#(#'#(\"'#&'#"),o("%;ħ/' 8!:ų!! )"),o("%;ħ/' 8!:Ŵ!! )"),o("%;Ƣ/:#;ī/1$;ȿ/($8#:ĩ#!!)(#'#(\"'#&'#"),o('<%;Ĭ/O#;ȿ/F$;į." &"/8$;Ę." &"/*$8$:Ŷ$##! )($\'#(#\'#("\'#&\'#=." 7ŵ'),o("%;è/\\#%<%;ȿ/8#;Ƴ.) &;ơ.# &;į/#$+\")(\"'#&'#=/##&'!&&#/($8\":p\"!!)(\"'#&'#.# &;o"),o("<%$;Į/�#*;Į&&&#/' 8!:Ÿ!! )=.\" 7ŷ"),o("%;Nj/C#;ȿ/:$;Ɓ/1$;ȿ/($8$:p$!!)($'#(#'#(\"'#&'#"),o('<%;ǀ.# &;ǚ/1#;ȿ/($8":ź"!!)("\'#&\'#=." 7Ź'),o("%;ı/;#;Ü/2$;ȿ/)$8#:Ż#\"\"!)(#'#(\"'#&'#"),o("<%;ȉ/D#;ȿ/;$;ǎ/2$;ȿ/)$8$:Ž$\"#!)($'#(#'#(\"'#&'#=.\" 7ż"),o("%;NJ/;#;ȿ/2$;L/)$8#:ž#\"\" )(#'#(\"'#&'#"),o("<%;Ĵ/E#;æ/<$;ĵ/3$;ȿ/*$8$:ƀ$##\"!)($'#(#'#(\"'#&'#=.\" 7ſ"),o("<%;Ǩ/D#;ȿ/;$;ǽ/2$;ȿ/)$8$:Ƃ$\"#!)($'#(#'#(\"'#&'#=.\" 7Ɓ"),o('%;Ķ/F#;ķ." &"/8$;ŀ." &"/*$8#:ƃ##"! )(#\'#("\'#&\'#'),o("<%;ȓ/D#;ȿ/;$;Ƈ/2$;ȿ/)$8$:ƅ$\"#!)($'#(#'#(\"'#&'#=.\" 7Ƅ"),o("%;Ĺ/B#;ȿ/9$$;ĸ0#*;ĸ&/)$8#:Ɔ#\"\" )(#'#(\"'#&'#"),o('%;Ĺ/1#;ȿ/($8":Ķ"!!)("\'#&\'#'),o('<;ĺ.# &;Ŀ=." 7Ƈ'),o("%;ȉ/T#;ȿ/K$;Ǚ.# &;Ȫ/<$;ȿ/3$;Ļ/*$8%:ƈ%#$\" )(%'#($'#(#'#(\"'#&'#"),o('<;ļ.) &;Ľ.# &;ľ=." 7Ɖ'),o("%;Ƞ/J#;ȿ/A$;Ȇ.# &;ǖ/2$;ȿ/)$8$:Ɗ$\"#!)($'#(#'#(\"'#&'#"),o('%;LJ.# &;ș/1#;ȿ/($8":Ƌ"!!)("\'#&\'#'),o("%;ȃ/D#;ȿ/;$;Ƹ/2$;ȿ/)$8$:ƌ$\"#!)($'#(#'#(\"'#&'#"),o("%;ȁ/D#;ȿ/;$;ƕ/2$;ȿ/)$8$:ƍ$\"#!)($'#(#'#(\"'#&'#"),o('<%;k." &"/J#;Ǘ/A$;ȿ/8$;Ł." &"/*$8$:Ə$##" )($\'#(#\'#("\'#&\'#=." 7Ǝ'),o("%;Ǵ/J#;ȿ/A$;ǘ.# &;ǰ/2$;ȿ/)$8$:Ɛ$\"#!)($'#(#'#(\"'#&'#"),o("%;ř/' 8!:Ƒ!! )"),o("<%;ń/c#;ą.\" &\"/U$;ƃ/L$;ȿ/C$;ņ/:$;¹.\" &\"/,$8&:Ɠ&%%$#! )(&'#(%'#($'#(#'#(\"'#&'#=.\" 7ƒ"),o("%;ü/J#;Ņ.\" &\"/<$;Dz/3$;ȿ/*$8$:Ɣ$##\"!)($'#(#'#(\"'#&'#"),o('%;ȩ/1#;ȿ/($8":ƕ"!!)("\'#&\'#'),o("<%;ȉ/N#;ȿ/E$;Ż/<$;ȿ/3$;Ĩ/*$8%:Ɨ%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7Ɩ"),o("<%;ň/¦#;ą.\" &\"/˜$;Ƅ.\" &\"/Š$;ȿ/$;ʼn/x$;ȉ/o$;ȿ/f$;Ż/]$;ȿ/T$;ő.\" &\"/F$;Œ.\" &\"/8$;œ//$8,:ƙ,(+*)'$\"! )(,'#(+'#(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ƙ"),o("%;ü/J#;Ą.\" &\"/<$;ȧ/3$;ȿ/*$8$:ƚ$##\"!)($'#(#'#(\"'#&'#"),o('<%;Ŋ." &"/2#;Ō/)$8":Ɯ""! )("\'#&\'#=." 7ƛ'),o('%;ǃ.) &;ƺ.# &;ŋ/1#;ȿ/($8":Ɲ"!!)("\'#&\'#'),o("%;Ƿ/;#;ȿ/2$;ȇ/)$8#:ƞ#\"\" )(#'#(\"'#&'#"),o('<;ō.# &;Ŏ=." 7Ɵ'),o('%;Ǚ.# &;Ƕ/1#;ȿ/($8":Ơ"!!)("\'#&\'#'),o('%;Ȫ/@#;ȿ/7$;ŏ." &"/)$8#:ơ#"" )(#\'#("\'#&\'#'),o("%;ȇ/;#;ȿ/2$;Ő/)$8#:Ƣ#\"\" )(#'#(\"'#&'#"),o("%;è/B#;ȿ/9$$;ç0#*;ç&/)$8#:Į#\"\" )(#'#(\"'#&'#"),o("%;ǧ/c#;ȿ/Z$;Ǟ/Q$;ȿ/H$;Ȝ.) &3ƣ\"\"5)7Ƥ/3$;ȿ/*$8&:ƥ&#%#!)(&'#(%'#($'#(#'#(\"'#&'#"),o("<%;Ȱ/D#;ȿ/;$;o/2$;ȿ/)$8$:Ʀ$\"#!)($'#(#'#(\"'#&'#=.\" 7„"),o("<%;DŽ/W#;ȿ/N$;Ŕ/E$;ȿ/<$;Ǡ/3$;ȿ/*$8&:ƨ&#%#!)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ƨ"),o("%$;ŕ/�#*;ŕ&&&#/' 8!:Ʃ!! )"),o("%;Œ/:#;ȿ/1$;$/($8#:\"#!\")(#'#(\"'#&'#"),o("<%;Ř/T#;ą.\" &\"/F$;ŗ/=$;ȿ/4$;ř/+$8%:ƫ%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7ƪ"),o("%;ƅ/;#;ȿ/2$;æ/)$8#:Ƭ#\"\" )(#'#(\"'#&'#.# &;ƅ"),o("%;ü/J#;Ą.\" &\"/<$;Ȯ/3$;ȿ/*$8$:ƭ$##\"!)($'#(#'#(\"'#&'#"),o("%;ƿ/D#;ȿ/;$;¨/2$;ȿ/)$8$:Ĭ$\"#!)($'#(#'#(\"'#&'#"),o("<%;ś/f#;ą.\" &\"/X$;Ż/O$;ȿ/F$;ȫ/=$;ȿ/4$;Ŝ/+$8':Ư'$&%$ )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ʈ"),o("%;ü/N#;ȯ/E$;ȿ/<$;ȡ/3$;ȿ/*$8%:ư%#$#!)(%'#($'#(#'#(\"'#&'#"),o('%;Ɨ/@#;ȿ/7$;ŝ." &"/)$8#:Ʊ#"" )(#\'#("\'#&\'#'),o("<%;Ơ/Z#;ȿ/Q$;Ş.\" &\"/C$;ȿ/:$;ơ/1$;ȿ/($8&:Ƴ&!#)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7Ʋ"),o('%;Š/9#$;ş0#*;ş&/)$8":ƴ""! )("\'#&\'#'),o("%;ȿ/H#;Ƣ/?$;ȿ/6$;Š.\" &\"/($8$:Ƶ$! )($'#(#'#(\"'#&'#"),o("%%<%;ƕ/;#;ȿ/2$;&.# &;đ/#$+#)(#'#(\"'#&'#=.##&&!&'#/:#;o/1$;ȿ/($8#:İ#!!)(#'#(\"'#&'#.x &%;š/n#%%<;Ɠ=.##&&!&'#/,#;ȿ/#$+\")(\"'#&'#/F$;Ď.\" &\"/8$;ď.\" &\"/*$8$:ŏ$##! )($'#(#'#(\"'#&'#"),o(";ƕ.# &;Ƙ"),o('<%;ţ/;#;Ż/2$;ȿ/)$8#:Ʒ#""!)(#\'#("\'#&\'#=." 7ƶ'),o("<%;ǝ/J#;ȿ/A$;Ť/8$;ť.\" &\"/*$8$:ƹ$##! )($'#(#'#(\"'#&'#=.\" 7Ƹ"),o('<%;ȡ./ &;Dz.) &;ȧ.# &;Ȯ/1#;ȿ/($8":ċ"!!)("\'#&\'#=." 7ƺ'),o("<%;Ǯ/D#;ȿ/;$;Ǥ/2$;ȿ/)$8$:Ƽ$\"#!)($'#(#'#(\"'#&'#=.\" 7ƻ"),o('<%;Ʈ/,#;Ʈ/#$+")("\'#&\'#=." 7ƽ'),o('<;ƪ=." 7ƾ'),o('<;ƫ=." 7ƿ'),o('<;Ƥ=." 7ǀ'),o('<;Ƶ=." 7ǁ'),o('<;Ư=." 7ǂ'),o('<%;ư/,#;ư/#$+")("\'#&\'#=." 7ǃ'),o('<%;Ʊ/,#;Ʊ/#$+")("\'#&\'#=." 7DŽ'),o('<;ƭ=." 7Dž'),o('<;Ʈ=." 7dž'),o('<;ư=." 7LJ'),o('<;Ʊ=." 7Lj'),o('<%;ư/,#;Ƭ/#$+")("\'#&\'#=." 7lj'),o('<%;Ʊ/,#;Ƭ/#$+")("\'#&\'#=." 7NJ'),o('<%;Ƭ/1#;Ƭ." &"/#$+")("\'#&\'#=." 7Nj'),o('<%;Ʋ/,#;Ƭ/#$+")("\'#&\'#=." 7nj'),o('<%;ư/,#;Ʊ/#$+")("\'#&\'#=." 7nj'),o('<%;Ǻ/@#;ȿ/7$;k." &"/)$8#:ǎ#"" )(#\'#("\'#&\'#=." 7Ǎ'),o('<;ƕ.# &;Ƙ=." 7Ǐ'),o("<%;Ÿ/' 8!:Ǒ!! )=.\" 7ǐ"),o('<%;ż." &"/2#;Ÿ/)$8":Ǔ""! )("\'#&\'#=." 7ǒ'),o('<%;ż." &"/2#;Ÿ/)$8":Ǖ""! )("\'#&\'#=." 7ǔ'),o('%;Ÿ/2#;ƣ/)$8":ǖ""! )("\'#&\'#'),o('<%;ſ.) &;ƀ.# &;ž/2#;Ÿ/)$8":ǘ""! )("\'#&\'#=." 7Ǘ'),o("%;ȿ/& 8!:Ǚ! )"),o('%;ż/2#;ƀ/)$8":ǚ""! )("\'#&\'#'),o('%;Ÿ/2#;ƣ/)$8":D""! )("\'#&\'#'),o("<%;Ÿ/' 8!:ǜ!! )=.\" 7Ǜ"),o("<%;Ÿ/' 8!:Ǟ!! )=.\" 7ǝ"),o('<%;ż." &"/2#;Ÿ/)$8":Ǡ""! )("\'#&\'#=." 7ǟ'),o('<%;ż." &"/2#;Ÿ/)$8":Ǣ""! )("\'#&\'#=." 7ǡ'),o('<%;ż." &"/2#;Ÿ/)$8":Ǥ""! )("\'#&\'#=." 7ǣ'),o('<%;ż." &"/2#;Ÿ/)$8":Ǧ""! )("\'#&\'#=." 7ǥ'),o('<%;ƈ.# &;Ż/1#;ȿ/($8":Ǩ"!!)("\'#&\'#=." 7ǧ'),o("%;Ż/;#;ȿ/2$;æ/)$8#:ǩ#\"\" )(#'#(\"'#&'#"),o("<%;Ÿ/' 8!:ǫ!! )=.\" 7Ǫ"),o("<%;Ÿ/' 8!:ǭ!! )=.\" 7Ǭ"),o('<%;ƌ/=#%<;Ɠ=.##&&!&\'#/($8":ǯ"!!)("\'#&\'#.Å &%;ƍ/=#%<;Ɠ=.##&&!&\'#/($8":ǰ"!!)("\'#&\'#.› &%;Ə/=#%<;Ɠ=.##&&!&\'#/($8":DZ"!!)("\'#&\'#.q &%;Ɛ/=#%<;Ɠ=.##&&!&\'#/($8":Dz"!!)("\'#&\'#.G &%;ƒ/=#%<;Ɠ=.##&&!&\'#/($8":dz"!!)("\'#&\'#=." 7Ǯ'),o('<%%3ǵ""5!7Ƕ." &"/F#3Ƿ""5#7Ǹ." &"/2$3ǹ""5$7Ǻ/#$+#)(#\'#("\'#&\'#.k &%3ǻ""5$7Ǽ.5 &3ǽ""5&7Ǿ.) &3ǿ""5$7Ȁ." &"/2#3ȁ""5$7Ȃ/#$+")("\'#&\'#.) &3ȃ""5$7Ȅ/\' 8!:ċ!! )=." 7Ǵ'),o('<%;Ǝ.5 &3Ȇ""5%7ȇ.) &3Ȉ""5$7ȉ/\' 8!:ċ!! )=." 7ȅ'),o('<%3ȋ""5&7Ȍ/i#%$4(""5!7)/,#0)*4(""5!7)&&&#/2#3ȍ""5)7Ȏ/#$+")("\'#&\'#." &"/)$8":ȏ""! )("\'#&\'#=." 7Ȋ'),o('<%3ȑ""5\'7Ȓ.• &3ȓ""5\'7Ȕ.‰ &3ȕ""5\'7Ȗ.} &%3ȗ""5$7Ș/7#3ș""5$7Ț." &"/#$+")("\'#&\'#.S &%3ș""5$7Ț/7#3ț""5%7Ȝ." &"/#$+")("\'#&\'#.) &3ȝ""5&7Ȟ/\' 8!:ċ!! )=." 7Ȑ'),o('<%%3Ƞ""5#7ȡ/V#2Ȣ""6Ȣ7ȣ.A &2Ȥ""6Ȥ7ȥ.5 &2Ȧ""6Ȧ7ȧ.) &3Ȩ""5$7ȩ/#$+")("\'#&\'#.q &%3Ȫ""5#7ȫ.A &3ǽ""5&7Ǿ.5 &3Ȭ""5%7ȭ.) &3ǻ""5$7Ǽ." &"/2#3Ƞ""5#7ȡ/#$+")("\'#&\'#.# &;Ƒ/\' 8!:ċ!! )=." 7ȟ'),o('%3Ȯ""5(7ȯ/d#%$4(""5!7)/,#0)*4(""5!7)&&&#/2#3Ȱ""5%7ȱ/#$+")("\'#&\'#/)$8":Ȳ""! )("\'#&\'#'),o('<%3ȴ""5$7ȵ/\' 8!:ċ!! )=." 7ȳ'),o('4ȶ""5!7ȷ'),o('%2ȸ""6ȸ7ȹ/K#$4Ⱥ""5!7Ȼ/,#0)*4Ⱥ""5!7Ȼ&&&#/)$8":ȼ""! )("\'#&\'#'),o(";Ɩ.# &;Ɨ"),o(";ƙ./ &;Ɲ.) &;ƛ.# &;Ɯ"),o("%%<;ȴ.# &;>=.##&&!&'#/J#$;Ɣ.# &;Ɠ/,#0)*;Ɣ.# &;Ɠ&&&#/($8\":Ö\"! )(\"'#&'#"),o("%%<;ȶ.# &;>=.##&&!&'#/J#$;Ɣ.# &;Ɠ/,#0)*;Ɣ.# &;Ɠ&&&#/($8\":Ƚ\"! )(\"'#&'#"),o("%;ƞ/™#;ȿ/$%$%%<;ƚ=.##&&!&'#/1#1\"\"5!7Ⱦ/#$+\")(\"'#&'#0G*%%<;ƚ=.##&&!&'#/1#1\"\"5!7Ⱦ/#$+\")(\"'#&'#&/\"!&,)/1$;ƚ/($8$:ȿ$!!)($'#(#'#(\"'#&'#"),o('%$4ɀ""5!7Ɂ0)*4ɀ""5!7Ɂ&/5#;Ɵ/,$;ȿ/#$+#)(#\'#("\'#&\'#'),o('%2ɂ""6ɂ7Ƀ/k#$2Ʉ""6Ʉ7Ʌ.) &4Ɇ""5!7ɇ05*2Ʉ""6Ʉ7Ʌ.) &4Ɇ""5!7ɇ&/7$2ɂ""6ɂ7Ƀ/($8#:Ɉ#!!)(#\'#("\'#&\'#'),o('%2ɉ""6ɉ7Ɋ/k#$26""6677.) &48""5!7905*26""6677.) &48""5!79&/7$2ɉ""6ɉ7Ɋ/($8#:ɋ#!!)(#\'#("\'#&\'#'),o('%2Ɍ""6Ɍ7ɍ/k#$2Ɏ""6Ɏ7ɏ.) &4ɐ""5!7ɑ05*2Ɏ""6Ɏ7ɏ.) &4ɐ""5!7ɑ&/7$2Ɍ""6Ɍ7ɍ/($8#:ɒ#!!)(#\'#("\'#&\'#'),o('<%2ɔ""6ɔ7ɕ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɓ'),o('<%2ɗ""6ɗ7ɘ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɖ'),o('<%2ɚ""6ɚ7ɛ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ə'),o('<%2ɝ""6ɝ7ɞ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɜ'),o('<%2ɠ""6ɠ7ɡ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɟ'),o('<%2ɣ""6ɣ7ɤ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɢ'),o('<%2ɦ""6ɦ7ɧ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɥ'),o('<%2ɩ""6ɩ7ɪ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɨ'),o('<%2ɉ""6ɉ7Ɋ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɫ'),o('<%2ɂ""6ɂ7Ƀ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɬ'),o('<%2Ɍ""6Ɍ7ɍ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɭ'),o('<%2ɯ""6ɯ7ɰ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɮ'),o('<%2ɲ""6ɲ7ɳ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɱ'),o('<%2ɵ""6ɵ7ɶ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɴ'),o('<%2ɷ""6ɷ7ɸ/1#;ȿ/($8":""!!)("\'#&\'#=." 7Nj'),o('<%2ɺ""6ɺ7ɻ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɹ'),o('<%2ɽ""6ɽ7ɾ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ɼ'),o('<%2ɿ""6ɿ7ʀ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ǂ'),o('<%2ʁ""6ʁ7ʂ/1#;ȿ/($8":""!!)("\'#&\'#=." 7LJ'),o('<%2ʃ""6ʃ7ʄ/1#;ȿ/($8":""!!)("\'#&\'#=." 7Lj'),o('<%2ʆ""6ʆ7ʇ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʅ'),o('<%2ʉ""6ʉ7ʊ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʈ'),o('<%2a""6a7b/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʋ'),o('<%2ʍ""6ʍ7ʎ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʌ'),o('<%2ʐ""6ʐ7ʑ/1#;ȿ/($8":""!!)("\'#&\'#=." 7ʏ'),o('%3ʒ""5%7ʓ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʔ""5&7ʕ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʖ""5#7ʗ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʘ""5%7ʙ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʚ""5#7ʛ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʜ""5%7ʝ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3ʞ\"\"5'7ʟ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3ʠ""5#7ʡ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʢ""5"7ʣ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʤ""5#7ʥ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʦ""5&7ʧ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʨ""5-7ʩ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʪ""5&7ʫ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʬ""5%7ʭ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3ʮ\"\"5'7ʯ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3ʰ""5"7ʱ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3ʲ\"\"5'7ʳ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3ʴ""5$7ʵ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʶ""5$7ʷ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʸ""5%7ʹ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3ʺ\"\"5'7ʻ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3ʼ""5&7ʽ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʾ""5&7ʿ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˀ""5(7ˁ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˂""5*7˃/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˄""5&7˅/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˆ""5%7ˇ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˈ""5,7ˉ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˊ""5,7ˋ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˌ""517ˍ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˎ""5(7ˏ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3ː\"\"5'7ˑ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3˒""5*7˓/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˔""5(7˕/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˖""5&7˗/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˘""5$7˙/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˚""5&7˛/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˜""5(7˝/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˞""5$7˟/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˠ""5$7ˡ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˢ""5$7ˣ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˤ""5#7˥/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˦""5&7˧/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˨""5&7˩/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˪""5)7˫/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ˬ""5&7˭/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3ˮ\"\"5'7˯/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3˰""5$7˱/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˲""5#7˳/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3˴\"\"5'7˵/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3˶""5$7˷/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˸""5$7˹/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˺""5$7˻/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˼""5%7˽/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3˾""5&7˿/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̀""5"7́/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̂""5&7̃/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̄""5)7̅/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̆""5"7̇/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̈""5%7̉/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3̊\"\"5'7̋/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3̌""5)7̍/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̎""5%7̏/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̐""5&7̑/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3̒\"\"5'7̓/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3̔""5)7̕/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̖""5$7̗/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̘""5"7̙/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̚""5&7̛/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̜""5$7̝/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̞""5#7̟/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̠""5$7̡/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̢""5$7̣/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̤""5%7̥/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̦""5%7̧/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3̨\"\"5'7̩/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3̪""5"7̫/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̬""5#7̭/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3̮\"\"5'7̯/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3y""5$7z/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̰""5"7̱/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̲""5&7̳/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̴""5"7̵/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̶""5"7̷/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̸""5%7̹/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̺""5%7̻/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̼""5$7̽/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̾""5&7̿/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3̀\"\"5'7́/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3͂""5%7̓/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3̈́""5%7ͅ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͆""5)7͇/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͈""5*7͉/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͊""5&7͋/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3͌\"\"5'7͍/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o("%3͎\"\"5'7͏/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3͐""5&7͑/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3͒\"\"5'7͓/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3͔""5(7͕/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͖""5%7͗/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͘""5(7͙/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͚""5#7͛/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͜""5%7͝/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͞""5)7͟/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͠""5&7͡/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͢""5#7ͣ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͤ""5%7ͥ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͦ""5$7ͧ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͨ""5)7ͩ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͪ""5$7ͫ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͬ""5"7ͭ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͮ""5+7ͯ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3Ͱ\"\"5'7ͱ/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3Ͳ""5%7ͳ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ʹ""5&7͵/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3Ͷ""5&7ͷ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3͸""5%7͹/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͺ""5&7ͻ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3ͼ""5&7ͽ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3;""5$7Ϳ/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3΀\"\"5'7΁/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o('%3΂""5$7΃/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3΄""5%7΅/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o('%3Ά""5$7·/8#%<;Ɠ=.##&&!&\'#/#$+")("\'#&\'#'),o("%3Έ\"\"5'7Ή/8#%<;Ɠ=.##&&!&'#/#$+\")(\"'#&'#"),o("%;ȵ/' 8!:Ί!! )"),o(";Ʒ.˹ &;Ƹ.˳ &;ƹ.˭ &;ƺ.˧ &;ƻ.ˡ &;Ƽ.˛ &;ƽ.˕ &;ƾ.ˏ &;ƿ.ˉ &;ǀ.˃ &;ǁ.ʽ &;ǂ.ʷ &;ǃ.ʱ &;DŽ.ʫ &;Dž.ʥ &;dž.ʟ &;LJ.ʙ &;Lj.ʓ &;lj.ʍ &;NJ.ʇ &;Nj.ʁ &;nj.ɻ &;Ǎ.ɵ &;ǎ.ɯ &;Ǐ.ɩ &;ǐ.ɣ &;Ǒ.ɝ &;ǒ.ɗ &;Ǔ.ɑ &;ǔ.ɋ &;Ǖ.Ʌ &;ǖ.ȿ &;Ǘ.ȹ &;ǘ.ȳ &;Ǚ.ȭ &;ǚ.ȧ &;Ǜ.ȡ &;ǜ.ț &;ǝ.ȕ &;Ǟ.ȏ &;ǟ.ȉ &;Ǡ.ȃ &;ǡ.ǽ &;Ǣ.Ƿ &;ǣ.DZ &;Ǥ.ǫ &;ǥ.ǥ &;Ǧ.ǟ &;ǧ.Ǚ &;Ǩ.Ǔ &;ǩ.Ǎ &;Ǫ.LJ &;ǫ.ǁ &;Ǭ.ƻ &;ǭ.Ƶ &;Ǯ.Ư &;ǯ.Ʃ &;ǰ.ƣ &;DZ.Ɲ &;Dz.Ɨ &;dz.Ƒ &;Ǵ.Ƌ &;ǵ.ƅ &;Ƕ.ſ &;Ƿ.Ź &;Ǹ.ų &;ǹ.ŭ &;Ǻ.ŧ &;ǻ.š &;Ǽ.ś &;ǽ.ŕ &;Ǿ.ŏ &;ǿ.ʼn &;Ȁ.Ń &;ȁ.Ľ &;Ȃ.ķ &;ȃ.ı &;Ȅ.ī &;ȅ.ĥ &;Ȇ.ğ &;ȇ.ę &;Ȉ.ē &;ȉ.č &;Ȋ.ć &;ȋ.ā &;Ȍ.û &;ȍ.õ &;Ȏ.ï &;ȏ.é &;Ȑ.ã &;ȑ.Ý &;Ȓ.× &;ȓ.Ñ &;Ȕ.Ë &;ȕ.Å &;Ȗ.¿ &;ȗ.¹ &;Ș.³ &;ș.­ &;Ț.§ &;ț.¡ &;Ȝ.› &;Ȟ.• &;ȟ. &;Ƞ.‰ &;ȡ.ƒ &;ȣ.} &;Ȥ.w &;ȥ.q &;Ȧ.k &;ȧ.e &;Ȩ._ &;ȩ.Y &;Ȫ.S &;ȫ.M &;Ȭ.G &;ȭ.A &;Ȯ.; &;ȯ.5 &;Ȱ./ &;ȱ.) &;Ȳ.# &;ȳ"),o(";ƹ.ŧ &;ƻ.š &;Ƽ.ś &;ƾ.ŕ &;ƿ.ŏ &;ǂ.ʼn &;Dž.Ń &;Lj.Ľ &;NJ.ķ &;Nj.ı &;Ǎ.ī &;Ǐ.ĥ &;ǐ.ğ &;ǖ.ę &;Ǘ.ē &;Ǚ.č &;ǜ.ć &;ǝ.ā &;ǟ.û &;ǡ.õ &;Ǣ.ï &;Ǥ.é &;Ǩ.ã &;ǩ.Ý &;Ǭ.× &;ǭ.Ñ &;DZ.Ë &;Dz.Å &;Ƕ.¿ &;Ǹ.¹ &;ǹ.³ &;Ǻ.­ &;ǻ.§ &;Ǽ.¡ &;Ȁ.› &;Ȅ.• &;ȅ. &;Ȇ.‰ &;ȉ.ƒ &;Ȋ.} &;ȋ.w &;ȏ.q &;ȓ.k &;ȟ.e &;Ƞ._ &;ȡ.Y &;Ȥ.S &;ȥ.M &;Ȧ.G &;Ȩ.A &;ȩ.; &;Ȫ.5 &;ȫ./ &;ȭ.) &;Ȱ.# &;ȱ"),o(";ȸ.. &%;ȹ/& 8!:΋! )"),o('<%2΍""6΍7Ύ/‡#$%%<4Ώ""5!7ΐ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#0M*%%<4Ώ""5!7ΐ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#&/#$+")("\'#&\'#=." 7Ό'),o("<%;Ⱥ/5#;Ⱦ/,$;Ȼ/#$+#)(#'#(\"'#&'#=.\" 7Α"),o('2Β""6Β7Γ'),o('2Δ""6Δ7Ε'),o('$%%<;Ȼ.# &;Ⱥ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#/P#0M*%%<;Ȼ.# &;Ⱥ=.##&&!&\'#/1#1""5!7Ⱦ/#$+")("\'#&\'#&&&#'),o(";ȼ.# &;ȹ"),o('%;Ƚ/K#$4Ζ""5!7Η.# &;Ƚ0/*4Ζ""5!7Η.# &;Ƚ&/#$+")("\'#&\'#'),o('<%$4Ζ""5!7Η.# &;ȷ0/*4Ζ""5!7Η.# &;ȷ&/\' 8!:-!! )=." 7Θ'),o('2Ι""6Ι7Κ')],I=0,J=0,K=[{ +line:1,column:1}],L=0,M=[],N=0,O={},P=["start","start_streaming","stmt_list","semi_optional","semi_required","stmt_list_tail","type_definition","type_definition_types","datatype_custom","datatype_word_tail","type_definition_args","definition_args_loop","literal_value","literal_null","literal_date","literal_string","literal_string_single","literal_string_schar","literal_blob","literal_text","number_sign","literal_number_signed","literal_number","literal_number_decimal","number_decimal_node","number_decimal_full","number_decimal_fraction","number_decimal_exponent","literal_number_hex","number_hex","number_digit","bind_parameter","bind_parameter_numbered","bind_number_id","bind_parameter_named","bind_parameter_tcl","tcl_suffix","expression_exists","expression_exists_ne","expression_raise","expression_raise_args","raise_args_ignore","raise_args_message","expression_root","expression_wrapped","expression_recur","expression_unary_collate","expression_unary","expression_unary_op","expression_collate","expression_concat","expression_multiply","expression_multiply_op","expression_add","expression_add_op","expression_shift","expression_shift_op","expression_compare","expression_compare_op","expression_equiv","expression_equiv_tails","expression_equiv_null_op","expression_equiv_op","expression_cast","type_alias","expression_case","case_expression","expression_case_when","expression_case_else","expression_postfix","expression_postfix_tail","expression_like","expression_escape","expression_between","expression_between_tail","expression_is_not","expression_in","expression_in_target","expression_list_or_select","expression","expression_and_op","expression_list","expression_list_loop","expression_list_rest","function_call","function_call_args","args_list_distinct","error_message","stmt","stmt_modifier","modifier_query","stmt_nodes","stmt_commit","stmt_begin","commit_transaction","stmt_begin_modifier","stmt_rollback","rollback_savepoint","savepoint_name","savepoint_alt","stmt_savepoint","stmt_release","stmt_alter","alter_start","alter_action","alter_action_rename","alter_action_add","action_add_modifier","stmt_crud","stmt_core_with","clause_with","clause_with_recursive","clause_with_tables","clause_with_loop","expression_cte","select_alias","select_wrapped","stmt_select_full","stmt_sqlite","stmt_attach","attach_arg","stmt_detach","stmt_vacuum","vacuum_target","stmt_analyze","analyze_arg","stmt_reindex","reindex_arg","stmt_pragma","pragma_expression","pragma_value","pragma_value_literal","pragma_value_bool","pragma_bool_id","pragma_value_name","stmt_crud_types","stmt_select","stmt_core_order","stmt_core_limit","stmt_core_limit_offset","limit_offset_variant","limit_offset_variant_name","select_loop","select_loop_union","select_parts","select_parts_core","select_core_select","select_modifier","select_modifier_distinct","select_modifier_all","select_target","select_target_loop","select_core_from","stmt_core_where","select_core_group","select_core_having","select_node","select_node_star","select_node_star_qualified","select_node_aliased","select_source","source_loop_tail","select_cross_clause","select_join_clause","table_or_sub","table_or_sub_func","table_qualified","table_qualified_id","table_or_sub_index_node","index_node_indexed","index_node_none","table_or_sub_sub","table_or_sub_select","alias","join_operator","join_operator_natural","join_operator_types","operator_types_hand","types_hand_outer","operator_types_misc","join_condition","join_condition_on","join_condition_using","select_parts_values","stmt_core_order_list","stmt_core_order_list_loop","stmt_core_order_list_item","select_star","stmt_fallback_types","stmt_insert","insert_keyword","insert_keyword_ins","insert_keyword_repl","insert_keyword_mod","insert_target","insert_into","insert_into_start","insert_results","loop_columns","loop_column_tail","loop_name","insert_value","insert_value_start","insert_values_list","insert_values_loop","expression_list_wrapped","insert_default","operator_compound","compound_union","compound_union_all","stmt_update","update_start","update_fallback","update_set","update_columns","update_columns_tail","update_column","stmt_delete","delete_start","stmt_create","create_start","create_table_only","create_index_only","create_trigger_only","create_view_only","create_virtual_only","create_table","create_table_start","create_core_tmp","create_core_ine","create_table_source","table_source_def","source_def_rowid","source_def_loop","source_def_tail","source_tbl_loop","source_def_column","source_def_name","column_type","column_constraints","column_constraint_tail","column_constraint","constraint_name","constraint_name_loop","column_constraint_types","column_constraint_foreign","column_constraint_primary","col_primary_start","col_primary_auto","column_constraint_null","constraint_null_types","constraint_null_value","column_constraint_check","column_constraint_default","column_default_values","column_constraint_collate","table_constraint","table_constraint_types","table_constraint_check","table_constraint_primary","primary_start","primary_start_normal","primary_start_unique","primary_columns","primary_columns_index","primary_columns_table","primary_column_tail","primary_column","primary_column_types","column_collate","column_collate_loop","primary_column_dir","primary_conflict","primary_conflict_start","constraint_check","table_constraint_foreign","foreign_start","foreign_clause","foreign_references","foreign_actions","foreign_actions_tail","foreign_action","foreign_action_on","action_on_action","on_action_set","on_action_cascade","on_action_none","foreign_action_match","foreign_deferrable","deferrable_initially","table_source_select","create_index","create_index_start","index_unique","index_on","create_trigger","create_trigger_start","trigger_conditions","trigger_apply_mods","trigger_apply_instead","trigger_do","trigger_do_on","trigger_do_update","do_update_of","do_update_columns","trigger_foreach","trigger_when","trigger_action","action_loop","action_loop_stmt","create_view","id_view_expression","create_view_start","create_as_select","create_virtual","create_virtual_start","virtual_module","virtual_args","virtual_args_loop","virtual_args_tail","virtual_arg_types","virtual_column_name","stmt_drop","drop_start","drop_types","drop_ie","binary_concat","binary_plus","binary_minus","binary_multiply","binary_divide","binary_mod","binary_left","binary_right","binary_and","binary_or","binary_lt","binary_gt","binary_lte","binary_gte","binary_equal","binary_notequal_a","binary_notequal_b","binary_lang_isnt","id_name","id_database","id_function","id_table","id_table_qualified","id_column","column_unqualified","column_qualifiers","id_column_qualified","id_collation","id_savepoint","id_index","id_trigger","id_view","id_pragma","id_cte","id_table_expression","id_constraint_table","id_constraint_column","datatype_types","datatype_text","datatype_real","datatype_real_double","datatype_numeric","datatype_integer","datatype_integer_fp","datatype_none","name_char","unicode_char","name","name_quoted","name_unquoted","name_reserved","name_bracketed","bracket_terminator","name_dblquoted","name_sglquoted","name_backticked","sym_bopen","sym_bclose","sym_popen","sym_pclose","sym_comma","sym_dot","sym_star","sym_quest","sym_sglquote","sym_dblquote","sym_backtick","sym_tilde","sym_plus","sym_minus","sym_equal","sym_amp","sym_pipe","sym_mod","sym_lt","sym_gt","sym_excl","sym_semi","sym_colon","sym_fslash","sym_bslash","ABORT","ACTION","ADD","AFTER","ALL","ALTER","ANALYZE","AND","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FOR","FOREIGN","FROM","FULL","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LEFT","LIKE","LIMIT","MATCH","NATURAL","NO","NOT","NOTNULL","NULL","OF","OFFSET","ON","OR","ORDER","OUTER","PLAN","PRAGMA","PRIMARY","QUERY","RAISE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RIGHT","ROLLBACK","ROW","ROWID","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TO","TRANSACTION","TRIGGER","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WITH","WITHOUT","reserved_words","reserved_word_list","reserved_critical_list","comment","comment_line","comment_block","comment_block_start","comment_block_end","comment_block_body","block_body_nodes","comment_block_feed","o","_TODO_"],Q=[null,null,null,null,null,null,"Type Definition",null,"Custom Datatype Name",null,"Type Definition Arguments",null,null,"Null Literal","Date Literal","String Literal","Single-quoted String Literal",null,"Blob Literal",null,"Number Sign",null,null,null,"Decimal Literal",null,null,"Decimal Literal Exponent","Hexidecimal Literal",null,null,"Bind Parameter","Numbered Bind Parameter",null,"Named Bind Parameter","TCL Bind Parameter",null,"EXISTS Expression","EXISTS Keyword","RAISE Expression","RAISE Expression Arguments","IGNORE Keyword",null,null,null,null,null,null,null,"COLLATE Expression",null,null,null,null,null,null,null,null,null,null,null,null,null,"CAST Expression","Type Alias","CASE Expression",null,"WHEN Clause","ELSE Clause",null,null,"Comparison Expression","ESCAPE Expression","BETWEEN Expression",null,null,"IN Expression",null,null,null,null,"Expression List",null,null,"Function Call","Function Call Arguments",null,"Error Message","Statement","QUERY PLAN","QUERY PLAN Keyword",null,"END Transaction Statement","BEGIN Transaction Statement",null,null,"ROLLBACK Statement","TO Clause",null,null,"SAVEPOINT Statement","RELEASE Statement","ALTER TABLE Statement","ALTER TABLE Keyword",null,"RENAME TO Keyword","ADD COLUMN Keyword",null,null,"WITH Clause",null,null,null,null,"Common Table Expression",null,null,null,null,"ATTACH Statement",null,"DETACH Statement","VACUUM Statement",null,"ANALYZE Statement",null,"REINDEX Statement",null,"PRAGMA Statement",null,null,null,null,null,null,null,"SELECT Statement","ORDER BY Clause","LIMIT Clause","OFFSET Clause",null,null,null,"Union Operation",null,null,"SELECT Results Clause","SELECT Results Modifier",null,null,null,null,"FROM Clause","WHERE Clause","GROUP BY Clause","HAVING Clause",null,null,null,null,null,null,"CROSS JOIN Operation","JOIN Operation",null,null,"Qualified Table","Qualified Table Identifier","Qualfied Table Index",null,null,"SELECT Source","Subquery","Alias","JOIN Operator",null,null,null,null,null,"JOIN Constraint","Join ON Clause","Join USING Clause","VALUES Clause",null,null,"Ordering Expression","Star","Fallback Type","INSERT Statement",null,"INSERT Keyword","REPLACE Keyword","INSERT OR Modifier",null,"INTO Clause","INTO Keyword","VALUES Clause","Column List",null,"Column Name","VALUES Clause","VALUES Keyword",null,null,"Wrapped Expression List","DEFAULT VALUES Clause","Compound Operator","UNION Operator",null,"UPDATE Statement","UPDATE Keyword","UPDATE OR Modifier","SET Clause",null,null,"Column Assignment","DELETE Statement","DELETE Keyword","CREATE Statement",null,null,null,null,null,null,"CREATE TABLE Statement",null,null,"IF NOT EXISTS Modifier",null,"Table Definition",null,null,null,null,"Column Definition",null,"Column Datatype",null,null,"Column Constraint",null,"CONSTRAINT Name",null,"FOREIGN KEY Column Constraint","PRIMARY KEY Column Constraint","PRIMARY KEY Keyword","AUTOINCREMENT Keyword",null,"UNIQUE Column Constraint","NULL Column Constraint","CHECK Column Constraint","DEFAULT Column Constraint",null,"COLLATE Column Constraint","Table Constraint",null,"CHECK Table Constraint","PRIMARY KEY Table Constraint",null,"PRIMARY KEY Keyword","UNIQUE Keyword",null,null,null,null,"Indexed Column",null,"Collation",null,"Column Direction",null,"ON CONFLICT Keyword",null,"FOREIGN KEY Table Constraint","FOREIGN KEY Keyword",null,"REFERENCES Clause",null,null,"FOREIGN KEY Action Clause",null,"FOREIGN KEY Action",null,null,null,null,"DEFERRABLE Clause",null,null,"CREATE INDEX Statement",null,null,"ON Clause","CREATE TRIGGER Statement",null,"Conditional Clause",null,null,"Conditional Action",null,null,null,null,null,"WHEN Clause","Actions Clause",null,null,"CREATE VIEW Statement",null,null,null,"CREATE VIRTUAL TABLE Statement",null,null,"Module Arguments",null,null,null,null,"DROP Statement","DROP Keyword","DROP Type","IF EXISTS Keyword","Or","Add","Subtract","Multiply","Divide","Modulo","Shift Left","Shift Right","Logical AND","Logical OR","Less Than","Greater Than","Less Than Or Equal","Greater Than Or Equal","Equal","Not Equal","Not Equal","IS","Identifier","Database Identifier","Function Identifier","Table Identifier",null,"Column Identifier",null,null,null,"Collation Identifier","Savepoint Identifier","Index Identifier","Trigger Identifier","View Identifier","Pragma Identifier","CTE Identifier",null,"Table Constraint Identifier","Column Constraint Identifier","Datatype Name","TEXT Datatype Name","REAL Datatype Name","DOUBLE Datatype Name","NUMERIC Datatype Name","INTEGER Datatype Name",null,"BLOB Datatype Name",null,null,null,null,null,null,null,null,null,null,null,"Open Bracket","Close Bracket","Open Parenthesis","Close Parenthesis","Comma","Period","Asterisk","Question Mark","Single Quote","Double Quote","Backtick","Tilde","Plus","Minus","Equal","Ampersand","Pipe","Modulo","Less Than","Greater Than","Exclamation","Semicolon","Colon","Forward Slash","Backslash",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Line Comment","Block Comment",null,null,null,null,null,"Whitespace",null],R="tracer"in b?b.tracer:new f;if("startRule"in b){if(!(b.startRule in E))throw new Error("Can't start parsing from rule \""+b.startRule+'".');F=E[b.startRule]}if(C=p(F),C!==D&&I===a.length)return C;throw C!==D&&I0){for(b=1,c=1;b=0;c-=1)if(b(a[c]))return c;return-1}function e(a,b){for(var c=a.length,d=0;d1)return!1;if(j){if(/^(stmt)$/i.test(a.rule))return j=!0,!0}else a.indentation>i.indentation?i=a:j=!0;return!0}),d.length&&(c=i.location,g=d.find(function(a){return h.firstNodeRule.test(a.description)&&a.description!==i.description&&a.indentation!==i.indentation}),f=null!=g?this.statementRule.test(i.description)&&this.statementRule.test(g.description)?g.description:i.description+" ("+g.description+")":i.description,b="Syntax error found near "+f,Object.assign(a,{message:b,location:c})),a},a}()},{}]},{},[1])(1)}); \ No newline at end of file diff --git a/lib/index.js b/lib/index.js index 5800f21..caecdee 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,6 +1,6 @@ /*! - * sqlite-parser - v1.0.0-rc1 + * sqlite-parser - v1.0.0-rc2 * @copyright 2015-2016 Code School (http://codeschool.com) * @author Nick Wronski */ -'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.default=sqliteParser;var _parser=require('./parser');var _tracer=require('./tracer');var _streaming=require('./streaming');function sqliteParser(source,options,callback){var t=(0,_tracer.Tracer)();if(arguments.length===2){if(typeof options==='function'){callback=options;options={};}}var isAsync=typeof callback==='function';var opts={'tracer':t,'startRule':'start'};if(options&&options.streaming){opts['startRule']='start_streaming';}if(isAsync){setTimeout(function(){var result=void 0,err=void 0;try{result=(0,_parser.parse)(source,opts);}catch(e){err=e instanceof _parser.SyntaxError?t.smartError(e):e;}callback(err,result);},0);}else{try{return(0,_parser.parse)(source,opts);}catch(e){throw e instanceof _parser.SyntaxError?t.smartError(e):e;}}};sqliteParser['createParser']=function(){return new _streaming.SqliteParserTransform();};sqliteParser['createStitcher']=function(){return new _streaming.SingleNodeTransform();};sqliteParser['NAME']='sqlite-parser';sqliteParser['VERSION']='1.0.0-rc1';module.exports=exports['default']; +'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.default=sqliteParser;var _parser=require('./parser');var _tracer=require('./tracer');var _streaming=require('./streaming');function sqliteParser(source,options,callback){var t=(0,_tracer.Tracer)();if(arguments.length===2){if(typeof options==='function'){callback=options;options={};}}var isAsync=typeof callback==='function';var opts={'tracer':t,'startRule':'start'};if(options&&options.streaming){opts['startRule']='start_streaming';}if(isAsync){setTimeout(function(){var result=void 0,err=void 0;try{result=(0,_parser.parse)(source,opts);}catch(e){err=e instanceof _parser.SyntaxError?t.smartError(e):e;}callback(err,result);},0);}else{try{return(0,_parser.parse)(source,opts);}catch(e){throw e instanceof _parser.SyntaxError?t.smartError(e):e;}}};sqliteParser['createParser']=function(){return new _streaming.SqliteParserTransform();};sqliteParser['createStitcher']=function(){return new _streaming.SingleNodeTransform();};sqliteParser['NAME']='sqlite-parser';sqliteParser['VERSION']='1.0.0-rc2';module.exports=exports['default']; diff --git a/lib/parser.js b/lib/parser.js index abea49b..78248f3 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -1,6 +1,6 @@ /*! - * sqlite-parser - v1.0.0-rc1 + * sqlite-parser - v1.0.0-rc2 * @copyright 2015-2016 Code School (http://codeschool.com) * @author Nick Wronski */ -"use strict";var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};function peg$subclass(child,parent){function ctor(){this.constructor=child;}ctor.prototype=parent.prototype;child.prototype=new ctor();}function peg$SyntaxError(message,expected,found,location){this.message=message;this.expected=expected;this.found=found;this.location=location;this.name="SyntaxError";if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,peg$SyntaxError);}}peg$subclass(peg$SyntaxError,Error);peg$SyntaxError.buildMessage=function(expected,found){var DESCRIBE_EXPECTATION_FNS={literal:function literal(expectation){return"\""+literalEscape(expectation.text)+"\"";},"class":function _class(expectation){var escapedParts=expectation.parts.map(function(part){return Array.isArray(part)?classEscape(part[0])+"-"+classEscape(part[1]):classEscape(part);});return"["+(expectation.inverted?"^":"")+escapedParts+"]";},any:function any(expectation){return"any character";},end:function end(expectation){return"end of input";},other:function other(expectation){return expectation.description;}};function hex(ch){return ch.charCodeAt(0).toString(16).toUpperCase();}function literalEscape(s){return s.replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(ch){return"\\x0"+hex(ch);}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(ch){return"\\x"+hex(ch);});}function classEscape(s){return s.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(ch){return"\\x0"+hex(ch);}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(ch){return"\\x"+hex(ch);});}function describeExpectation(expectation){return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);}function describeExpected(expected){var descriptions=expected.map(describeExpectation);var i,j;descriptions.sort();if(descriptions.length>0){for(i=1,j=1;i0;},function(d,e){return{'args':Object.assign(e,d)};},function(s){return{'filter':keyNode(s)};},peg$otherExpectation("Error Message"),function(m){return m;},peg$otherExpectation("Statement"),function(m,s){return Object.assign(s,m);},peg$otherExpectation("QUERY PLAN"),function(e,q){return{'explain':isOkay(e)};},peg$otherExpectation("QUERY PLAN Keyword"),function(q,p){return foldString([q,p]);},peg$otherExpectation("END Transaction Statement"),function(s,t){return{'type':'statement','variant':'transaction','action':'commit'};},peg$otherExpectation("BEGIN Transaction Statement"),function(s,m,t,n){return Object.assign({'type':'statement','variant':'transaction','action':'begin'},m,n);},function(t){return t;},function(m){return{'defer':keyNode(m)};},peg$otherExpectation("ROLLBACK Statement"),function(s,n){return Object.assign({'type':'statement','variant':'transaction','action':'rollback'},n);},peg$otherExpectation("TO Clause"),function(n){return{'savepoint':n};},function(s){return keyNode(s);},peg$otherExpectation("SAVEPOINT Statement"),function(s,n){return{'type':'statement','variant':s,'target':n};},peg$otherExpectation("RELEASE Statement"),function(s,a,n){return{'type':'statement','variant':keyNode(s),'target':n};},peg$otherExpectation("ALTER TABLE Statement"),function(s,n,e){return Object.assign({'type':'statement','variant':keyNode(s),'target':n},e);},peg$otherExpectation("ALTER TABLE Keyword"),function(a,t){return foldString([a,t]);},peg$otherExpectation("RENAME TO Keyword"),function(s,n){return{'action':keyNode(s),'name':n};},peg$otherExpectation("ADD COLUMN Keyword"),function(s,d){return{'action':keyNode(s),'definition':d};},function(w,s){return Object.assign(s,w);},peg$otherExpectation("WITH Clause"),function(s,v,t){var recursive={'variant':isOkay(v)?'recursive':'common'};if(isArrayOkay(t)){t=t.map(function(elem){return Object.assign(elem,recursive);});}return{'with':t};},function(f,r){return flattenAll([f,r]);},peg$otherExpectation("Common Table Expression"),function(t,s){return Object.assign({'type':'expression','format':'table','variant':'common','target':t},s);},function(s){return{'expression':s};},function(w,s){return Object.assign(s,w);},peg$otherExpectation("ATTACH Statement"),function(a,b,e,n){return{'type':'statement','variant':keyNode(a),'target':n,'attach':e};},peg$otherExpectation("DETACH Statement"),function(d,b,n){return{'type':'statement','variant':keyNode(d),'target':n};},peg$otherExpectation("VACUUM Statement"),function(v,t){return Object.assign({'type':'statement','variant':'vacuum'},t);},function(t){return{'target':t};},peg$otherExpectation("ANALYZE Statement"),function(s,a){return Object.assign({'type':'statement','variant':keyNode(s)},a);},function(n){return{'target':n['name']};},peg$otherExpectation("REINDEX Statement"),function(a){return{'target':a['name']};},peg$otherExpectation("PRAGMA Statement"),function(s,n,v){return{'type':'statement','variant':keyNode(s),'target':n,'args':{'type':'expression','variant':'list','expression':v}};},function(v){return v;},function(v){return /^(yes|no|on|off|false|true|0|1)$/i.test(v);},function(v){return{'type':'literal','variant':'boolean','normalized':/^(yes|on|true|1)$/i.test(v)?'1':'0','value':v};},function(n){return keyNode(n);},function(n){return{'type':'identifier','variant':'name','name':n};},peg$otherExpectation("SELECT Statement"),function(s,o,l){return Object.assign(s,o,l);},peg$otherExpectation("ORDER BY Clause"),function(d){return{'order':d['result']};},peg$otherExpectation("LIMIT Clause"),function(s,e,d){return{'limit':Object.assign({'type':'expression','variant':'limit','start':e},d)};},peg$otherExpectation("OFFSET Clause"),function(o,e){return{'offset':e};},function(s,u){if(isArrayOkay(u)){return{'type':'statement','variant':'compound','statement':s,'compound':u};}else{return s;}},peg$otherExpectation("Union Operation"),function(c,s){return{'type':'compound','variant':c,'statement':s};},function(s,f,w,g){return Object.assign({'type':'statement','variant':'select'},s,f,w,g);},peg$otherExpectation("SELECT Results Clause"),function(d,t){return Object.assign({'result':t},d);},peg$otherExpectation("SELECT Results Modifier"),function(s){return{'distinct':true};},function(s){return{};},peg$otherExpectation("FROM Clause"),function(f,s){return{'from':s};},peg$otherExpectation("WHERE Clause"),function(f,e){return{'where':makeArray(e)};},peg$otherExpectation("GROUP BY Clause"),function(f,e,h){return Object.assign({'group':e},h);},peg$otherExpectation("HAVING Clause"),function(f,e){return{'having':e};},function(q,s){return{'type':'identifier','variant':'star','name':foldStringWord([q,s])};},function(n,s){return foldStringWord([n,s]);},function(e,a){return Object.assign(e,a);},function(f,t){if(isArrayOkay(t)){return{'type':'map','variant':'join','source':f,'map':t};}return f;},function(cl,c){return Object.assign(cl,c);},peg$otherExpectation("CROSS JOIN Operation"),function(n){return{'type':'join','variant':'cross join','source':n};},peg$otherExpectation("JOIN Operation"),function(o,n){return{'type':'join','variant':keyNode(o),'source':n};},function(n,l,a){return Object.assign({'type':'function','variant':'table','name':n,'args':l},a);},peg$otherExpectation("Qualified Table"),function(d,i){return Object.assign(d,i);},peg$otherExpectation("Qualified Table Identifier"),function(n,a){return Object.assign(n,a);},peg$otherExpectation("Qualfied Table Index"),function(s,n){return{'index':n};},function(n,i){return{'index':foldStringKey([n,i])};},peg$otherExpectation("SELECT Source"),function(l,a){return Object.assign(l,a);},peg$otherExpectation("Subquery"),function(s,a){return Object.assign(s,a);},peg$otherExpectation("Alias"),function(a,n){return{'alias':n};},peg$otherExpectation("JOIN Operator"),function(n,t,j){return foldString([n,t,j]);},function(t,o){return foldString([t,o]);},function(t){return textNode(t);},peg$otherExpectation("JOIN Constraint"),function(c){return{'constraint':Object.assign({'type':'constraint','variant':'join'},c)};},peg$otherExpectation("Join ON Clause"),function(s,e){return{'format':keyNode(s),'on':e};},peg$otherExpectation("Join USING Clause"),function(s,e){return{'format':keyNode(s),'using':e};},peg$otherExpectation("VALUES Clause"),function(s,l){return{'type':'statement','variant':'select','result':l};},function(f,b){return{'result':flattenAll([f,b])};},function(i){return i;},peg$otherExpectation("Ordering Expression"),function(e,d){if(isOkay(d)){return Object.assign({'type':'expression','variant':'order','expression':e},d);}return e;},peg$otherExpectation("Star"),peg$otherExpectation("Fallback Type"),peg$otherExpectation("INSERT Statement"),function(k,t){return Object.assign({'type':'statement','variant':'insert'},k,t);},peg$otherExpectation("INSERT Keyword"),function(a,m){return Object.assign({'action':keyNode(a)},m);},peg$otherExpectation("REPLACE Keyword"),function(a){return{'action':keyNode(a)};},peg$otherExpectation("INSERT OR Modifier"),function(s,m){return{'or':keyNode(m)};},function(i,r){return Object.assign({'into':i},r);},peg$otherExpectation("INTO Clause"),function(s,t){return t;},peg$otherExpectation("INTO Keyword"),function(r){return{'result':r};},peg$otherExpectation("Column List"),function(f,b){return{'columns':flattenAll([f,b])};},function(c){return c;},peg$otherExpectation("Column Name"),function(n){return{'type':'identifier','variant':'column','name':n};},function(s,r){return r;},peg$otherExpectation("VALUES Keyword"),function(f,b){return flattenAll([f,b]);},peg$otherExpectation("Wrapped Expression List"),function(e){return e;},peg$otherExpectation("DEFAULT VALUES Clause"),function(d,v){return{'type':'values','variant':'default'};},peg$otherExpectation("Compound Operator"),peg$otherExpectation("UNION Operator"),function(s,a){return foldString([s,a]);},function(a){return a;},peg$otherExpectation("UPDATE Statement"),function(s,f,t,u,w,o,l){return Object.assign({'type':'statement','variant':s,'into':t},f,u,w,o,l);},peg$otherExpectation("UPDATE Keyword"),peg$otherExpectation("UPDATE OR Modifier"),function(t){return{'or':keyNode(t)};},peg$otherExpectation("SET Clause"),function(c){return{'set':c};},peg$otherExpectation("Column Assignment"),function(f,e){return{'type':'assignment','target':f,'value':e};},peg$otherExpectation("DELETE Statement"),function(s,t,w,o,l){return Object.assign({'type':'statement','variant':s,'from':t},w,o,l);},peg$otherExpectation("DELETE Keyword"),peg$otherExpectation("CREATE Statement"),peg$otherExpectation("CREATE TABLE Statement"),function(s,ne,id,r){return Object.assign({'type':'statement','name':id},s,r,ne);},function(s,tmp,t){return Object.assign({'variant':s,'format':keyNode(t)},tmp);},function(t){return{'temporary':isOkay(t)};},peg$otherExpectation("IF NOT EXISTS Modifier"),function(i,n,e){return{'condition':makeArray({'type':'condition','condition':foldStringKey([i,n,e])})};},peg$otherExpectation("Table Definition"),function(s,t,r){return Object.assign({'definition':flattenAll([s,t])},r);},function(r,w){return{'optimization':[{'type':'optimization','value':foldStringKey([r,w])}]};},function(f){return f;},peg$otherExpectation("Column Definition"),function(n,t,c){return Object.assign({'type':'definition','variant':'column','name':n,'definition':isOkay(c)?c:[]},t);},peg$otherExpectation("Column Datatype"),function(t){return{'datatype':t};},peg$otherExpectation("Column Constraint"),function(n,c,ln){return Object.assign(c,n);},function(cl){return cl[cl.length-1];},peg$otherExpectation("CONSTRAINT Name"),function(n){return{'name':n};},peg$otherExpectation("FOREIGN KEY Column Constraint"),function(f){return Object.assign({'variant':'foreign key'},f);},peg$otherExpectation("PRIMARY KEY Column Constraint"),function(p,d,c,a){return Object.assign(p,c,d,a);},peg$otherExpectation("PRIMARY KEY Keyword"),function(s,k){return{'type':'constraint','variant':foldStringKey([s,k])};},peg$otherExpectation("AUTOINCREMENT Keyword"),function(a){return{'autoIncrement':true};},function(s,c){return Object.assign({'type':'constraint','variant':s},c);},peg$otherExpectation("UNIQUE Column Constraint"),function(t){return keyNode(t);},peg$otherExpectation("NULL Column Constraint"),function(n,l){return foldString([n,l]);},peg$otherExpectation("CHECK Column Constraint"),peg$otherExpectation("DEFAULT Column Constraint"),function(s,v){return{'type':'constraint','variant':keyNode(s),'value':v};},peg$otherExpectation("COLLATE Column Constraint"),function(c){return{'type':'constraint','variant':'collate','collate':c};},peg$otherExpectation("Table Constraint"),function(n,c,nl){return Object.assign({'type':'definition','variant':'constraint'},c,n);},peg$otherExpectation("CHECK Table Constraint"),function(c){return{'definition':makeArray(c)};},peg$otherExpectation("PRIMARY KEY Table Constraint"),function(k,c,t){return{'definition':makeArray(Object.assign(k,t,c[1])),'columns':c[0]};},function(s){return{'type':'constraint','variant':keyNode(s)};},function(p,k){return foldString([p,k]);},peg$otherExpectation("UNIQUE Keyword"),function(u){return textNode(u);},function(f,b){return[f].concat(b);},function(c){return c.map(function(_ref){var _ref2=_slicedToArray(_ref,1);var res=_ref2[0];return res;});},function(c){var auto=c.find(function(_ref3){var _ref4=_slicedToArray(_ref3,2);var res=_ref4[0];var a=_ref4[1];return isOkay(a);});return[c.map(function(_ref5){var _ref6=_slicedToArray(_ref5,2);var res=_ref6[0];var a=_ref6[1];return res;}),auto?auto[1]:null];},peg$otherExpectation("Indexed Column"),function(e,d,a){var res=e;if(isOkay(d)){res=Object.assign({'type':'expression','variant':'order','expression':e},d);}return[res,a];},peg$otherExpectation("Collation"),function(c){return{'collate':makeArray(c)};},peg$otherExpectation("Column Direction"),function(t){return{'direction':keyNode(t)};},function(s,t){return{'conflict':keyNode(t)};},peg$otherExpectation("ON CONFLICT Keyword"),function(o,c){return foldStringKey([o,c]);},function(k,c){return{'type':'constraint','variant':keyNode(k),'expression':c};},peg$otherExpectation("FOREIGN KEY Table Constraint"),function(k,l,c){return Object.assign({'definition':makeArray(Object.assign(k,c))},l);},peg$otherExpectation("FOREIGN KEY Keyword"),function(f,k){return{'type':'constraint','variant':foldStringKey([f,k])};},function(r,a,d){return Object.assign({'type':'constraint'},r,a,d);},peg$otherExpectation("REFERENCES Clause"),function(s,t){return{'references':t};},function(f,b){return{'action':flattenAll([f,b])};},peg$otherExpectation("FOREIGN KEY Action Clause"),function(m,a,n){return{'type':'action','variant':keyNode(m),'action':keyNode(n)};},peg$otherExpectation("FOREIGN KEY Action"),function(s,v){return foldString([s,v]);},function(c){return textNode(c);},function(n,a){return foldString([n,a]);},function(m,n){return{'type':'action','variant':keyNode(m),'action':n};},peg$otherExpectation("DEFERRABLE Clause"),function(n,d,i){return{'defer':foldStringKey([n,d,i])};},function(i,d){return foldString([i,d]);},function(s){return{'definition':makeArray(s)};},peg$otherExpectation("CREATE INDEX Statement"),function(s,ne,n,o,w){return Object.assign({'type':'statement','target':n,'on':o},s,ne,w);},function(s,u,i){return Object.assign({'variant':keyNode(s),'format':keyNode(i)},u);},function(u){return{'unique':true};},peg$otherExpectation("ON Clause"),function(o,t,c){return{'type':'identifier','variant':'expression','format':'table','name':t['name'],'columns':c};},peg$otherExpectation("CREATE TRIGGER Statement"),function(s,ne,n,cd,o,me,wh,a){return Object.assign({'type':'statement','target':n,'on':o,'event':cd,'by':isOkay(me)?me:'row','action':makeArray(a)},s,ne,wh);},function(s,tmp,t){return Object.assign({'variant':keyNode(s),'format':keyNode(t)},tmp);},peg$otherExpectation("Conditional Clause"),function(m,d){return Object.assign({'type':'event'},m,d);},function(m){return{'occurs':keyNode(m)};},function(i,o){return foldString([i,o]);},peg$otherExpectation("Conditional Action"),function(o){return{'event':keyNode(o)};},function(s,f){return{'event':keyNode(s),'of':f};},function(s,c){return c;},"statement",peg$literalExpectation("STATEMENT",true),function(f,e,r){return keyNode(r);},function(w,e){return{'when':e};},peg$otherExpectation("Actions Clause"),function(s,a,e){return a;},function(l){return l;},peg$otherExpectation("CREATE VIEW Statement"),function(s,ne,n,r){return Object.assign({'type':'statement','target':n,'result':r},s,ne);},function(n,a){return Object.assign({'type':'identifier','variant':'expression','format':'view','name':n['name'],'columns':[]},a);},function(s,tmp,v){return Object.assign({'variant':keyNode(s),'format':keyNode(v)},tmp);},peg$otherExpectation("CREATE VIRTUAL TABLE Statement"),function(s,ne,n,m){return Object.assign({'type':'statement','target':n,'result':m},s,ne);},function(s,v,t){return{'variant':keyNode(s),'format':keyNode(v)};},function(m,a){return Object.assign({'type':'module','name':m},a);},peg$otherExpectation("Module Arguments"),function(l){return{'args':{'type':'expression','variant':'list','expression':isOkay(l)?l:[]}};},function(f,b){return flattenAll([f,b]).filter(function(arg){return isOkay(arg);});},function(a){return a;},peg$otherExpectation("DROP Statement"),function(s,q){return Object.assign({'type':'statement','target':Object.assign(q,{'variant':s['format']})},s);},peg$otherExpectation("DROP Keyword"),function(s,t,i){return Object.assign({'variant':keyNode(s),'format':t,'condition':[]},i);},peg$otherExpectation("DROP Type"),function(c){return{'condition':makeArray(c)};},peg$otherExpectation("IF EXISTS Keyword"),function(i,e){return{'type':'condition','condition':foldStringKey([i,e])};},peg$otherExpectation("Or"),peg$otherExpectation("Add"),peg$otherExpectation("Subtract"),peg$otherExpectation("Multiply"),peg$otherExpectation("Divide"),peg$otherExpectation("Modulo"),peg$otherExpectation("Shift Left"),peg$otherExpectation("Shift Right"),peg$otherExpectation("Logical AND"),peg$otherExpectation("Logical OR"),peg$otherExpectation("Less Than"),peg$otherExpectation("Greater Than"),peg$otherExpectation("Less Than Or Equal"),peg$otherExpectation("Greater Than Or Equal"),peg$otherExpectation("Equal"),peg$otherExpectation("Not Equal"),peg$otherExpectation("IS"),function(i,n){return foldStringKey([i,n]);},peg$otherExpectation("Identifier"),peg$otherExpectation("Database Identifier"),function(n){return{'type':'identifier','variant':'database','name':n};},peg$otherExpectation("Function Identifier"),function(d,n){return{'type':'identifier','variant':'function','name':foldStringWord([d,n])};},peg$otherExpectation("Table Identifier"),function(d,n){return{'type':'identifier','variant':'table','name':foldStringWord([d,n])};},function(n,d){return foldStringWord([n,d]);},peg$otherExpectation("Column Identifier"),function(q,n){return{'type':'identifier','variant':'column','name':foldStringWord([q,n])};},function(){return'';},function(d,t){return foldStringWord([d,t]);},peg$otherExpectation("Collation Identifier"),function(n){return{'type':'identifier','variant':'collation','name':n};},peg$otherExpectation("Savepoint Identifier"),function(n){return{'type':'identifier','variant':'savepoint','name':n};},peg$otherExpectation("Index Identifier"),function(d,n){return{'type':'identifier','variant':'index','name':foldStringWord([d,n])};},peg$otherExpectation("Trigger Identifier"),function(d,n){return{'type':'identifier','variant':'trigger','name':foldStringWord([d,n])};},peg$otherExpectation("View Identifier"),function(d,n){return{'type':'identifier','variant':'view','name':foldStringWord([d,n])};},peg$otherExpectation("Pragma Identifier"),function(d,n){return{'type':'identifier','variant':'pragma','name':foldStringWord([d,n])};},peg$otherExpectation("CTE Identifier"),function(d){return d;},function(n,a){return Object.assign({'type':'identifier','variant':'expression','format':'table','name':n['name'],'columns':[]},a);},peg$otherExpectation("Table Constraint Identifier"),function(n){return{'type':'identifier','variant':'constraint','format':'table','name':n};},peg$otherExpectation("Column Constraint Identifier"),function(n){return{'type':'identifier','variant':'constraint','format':'column','name':n};},peg$otherExpectation("Datatype Name"),function(t){return[t,'text'];},function(t){return[t,'real'];},function(t){return[t,'numeric'];},function(t){return[t,'integer'];},function(t){return[t,'none'];},peg$otherExpectation("TEXT Datatype Name"),"n",peg$literalExpectation("N",true),"var",peg$literalExpectation("VAR",true),"char",peg$literalExpectation("CHAR",true),"tiny",peg$literalExpectation("TINY",true),"medium",peg$literalExpectation("MEDIUM",true),"long",peg$literalExpectation("LONG",true),"text",peg$literalExpectation("TEXT",true),"clob",peg$literalExpectation("CLOB",true),peg$otherExpectation("REAL Datatype Name"),"float",peg$literalExpectation("FLOAT",true),"real",peg$literalExpectation("REAL",true),peg$otherExpectation("DOUBLE Datatype Name"),"double",peg$literalExpectation("DOUBLE",true),"precision",peg$literalExpectation("PRECISION",true),function(d,p){return foldStringWord([d,p]);},peg$otherExpectation("NUMERIC Datatype Name"),"numeric",peg$literalExpectation("NUMERIC",true),"decimal",peg$literalExpectation("DECIMAL",true),"boolean",peg$literalExpectation("BOOLEAN",true),"date",peg$literalExpectation("DATE",true),"time",peg$literalExpectation("TIME",true),"stamp",peg$literalExpectation("STAMP",true),"string",peg$literalExpectation("STRING",true),peg$otherExpectation("INTEGER Datatype Name"),"int",peg$literalExpectation("INT",true),"2",peg$literalExpectation("2",false),"4",peg$literalExpectation("4",false),"8",peg$literalExpectation("8",false),"eger",peg$literalExpectation("EGER",true),"big",peg$literalExpectation("BIG",true),"small",peg$literalExpectation("SMALL",true),"floating",peg$literalExpectation("FLOATING",true),"point",peg$literalExpectation("POINT",true),function(f,p){return foldStringWord([f,p]);},peg$otherExpectation("BLOB Datatype Name"),"blob",peg$literalExpectation("BLOB",true),/^[a-z0-9$_]/i,peg$classExpectation([["a","z"],["0","9"],"$","_"],false,true),"\\u",peg$literalExpectation("\\u",false),/^[a-f0-9]/i,peg$classExpectation([["a","f"],["0","9"]],false,true),function(u,s){return foldStringWord([u,s]).toLowerCase();},function(n){return keyNode(n);},peg$anyExpectation(),function(n){return textNode(n);},/^[ \t]/,peg$classExpectation([" ","\t"],false,false),"\"",peg$literalExpectation("\"",false),"\"\"",peg$literalExpectation("\"\"",false),/^[^"]/,peg$classExpectation(["\""],true,false),function(n){return unescape(n,'"');},"'",peg$literalExpectation("'",false),function(n){return unescape(n,"'");},"`",peg$literalExpectation("`",false),"``",peg$literalExpectation("``",false),/^[^`]/,peg$classExpectation(["`"],true,false),function(n){return unescape(n,'`');},peg$otherExpectation("Open Bracket"),"[",peg$literalExpectation("[",false),peg$otherExpectation("Close Bracket"),"]",peg$literalExpectation("]",false),peg$otherExpectation("Open Parenthesis"),"(",peg$literalExpectation("(",false),peg$otherExpectation("Close Parenthesis"),")",peg$literalExpectation(")",false),peg$otherExpectation("Comma"),",",peg$literalExpectation(",",false),peg$otherExpectation("Period"),".",peg$literalExpectation(".",false),peg$otherExpectation("Asterisk"),"*",peg$literalExpectation("*",false),peg$otherExpectation("Question Mark"),"?",peg$literalExpectation("?",false),peg$otherExpectation("Single Quote"),peg$otherExpectation("Double Quote"),peg$otherExpectation("Backtick"),peg$otherExpectation("Tilde"),"~",peg$literalExpectation("~",false),peg$otherExpectation("Plus"),"+",peg$literalExpectation("+",false),peg$otherExpectation("Minus"),"-",peg$literalExpectation("-",false),"=",peg$literalExpectation("=",false),peg$otherExpectation("Ampersand"),"&",peg$literalExpectation("&",false),peg$otherExpectation("Pipe"),"|",peg$literalExpectation("|",false),"%",peg$literalExpectation("%",false),"<",peg$literalExpectation("<",false),">",peg$literalExpectation(">",false),peg$otherExpectation("Exclamation"),"!",peg$literalExpectation("!",false),peg$otherExpectation("Semicolon"),";",peg$literalExpectation(";",false),peg$otherExpectation("Colon"),peg$otherExpectation("Forward Slash"),"/",peg$literalExpectation("/",false),peg$otherExpectation("Backslash"),"\\",peg$literalExpectation("\\",false),"abort",peg$literalExpectation("ABORT",true),"action",peg$literalExpectation("ACTION",true),"add",peg$literalExpectation("ADD",true),"after",peg$literalExpectation("AFTER",true),"all",peg$literalExpectation("ALL",true),"alter",peg$literalExpectation("ALTER",true),"analyze",peg$literalExpectation("ANALYZE",true),"and",peg$literalExpectation("AND",true),"as",peg$literalExpectation("AS",true),"asc",peg$literalExpectation("ASC",true),"attach",peg$literalExpectation("ATTACH",true),"autoincrement",peg$literalExpectation("AUTOINCREMENT",true),"before",peg$literalExpectation("BEFORE",true),"begin",peg$literalExpectation("BEGIN",true),"between",peg$literalExpectation("BETWEEN",true),"by",peg$literalExpectation("BY",true),"cascade",peg$literalExpectation("CASCADE",true),"case",peg$literalExpectation("CASE",true),"cast",peg$literalExpectation("CAST",true),"check",peg$literalExpectation("CHECK",true),"collate",peg$literalExpectation("COLLATE",true),"column",peg$literalExpectation("COLUMN",true),"commit",peg$literalExpectation("COMMIT",true),"conflict",peg$literalExpectation("CONFLICT",true),"constraint",peg$literalExpectation("CONSTRAINT",true),"create",peg$literalExpectation("CREATE",true),"cross",peg$literalExpectation("CROSS",true),"current_date",peg$literalExpectation("CURRENT_DATE",true),"current_time",peg$literalExpectation("CURRENT_TIME",true),"current_timestamp",peg$literalExpectation("CURRENT_TIMESTAMP",true),"database",peg$literalExpectation("DATABASE",true),"default",peg$literalExpectation("DEFAULT",true),"deferrable",peg$literalExpectation("DEFERRABLE",true),"deferred",peg$literalExpectation("DEFERRED",true),"delete",peg$literalExpectation("DELETE",true),"desc",peg$literalExpectation("DESC",true),"detach",peg$literalExpectation("DETACH",true),"distinct",peg$literalExpectation("DISTINCT",true),"drop",peg$literalExpectation("DROP",true),"each",peg$literalExpectation("EACH",true),"else",peg$literalExpectation("ELSE",true),"end",peg$literalExpectation("END",true),"escape",peg$literalExpectation("ESCAPE",true),"except",peg$literalExpectation("EXCEPT",true),"exclusive",peg$literalExpectation("EXCLUSIVE",true),"exists",peg$literalExpectation("EXISTS",true),"explain",peg$literalExpectation("EXPLAIN",true),"fail",peg$literalExpectation("FAIL",true),"for",peg$literalExpectation("FOR",true),"foreign",peg$literalExpectation("FOREIGN",true),"from",peg$literalExpectation("FROM",true),"full",peg$literalExpectation("FULL",true),"glob",peg$literalExpectation("GLOB",true),"group",peg$literalExpectation("GROUP",true),"having",peg$literalExpectation("HAVING",true),"if",peg$literalExpectation("IF",true),"ignore",peg$literalExpectation("IGNORE",true),"immediate",peg$literalExpectation("IMMEDIATE",true),"in",peg$literalExpectation("IN",true),"index",peg$literalExpectation("INDEX",true),"indexed",peg$literalExpectation("INDEXED",true),"initially",peg$literalExpectation("INITIALLY",true),"inner",peg$literalExpectation("INNER",true),"insert",peg$literalExpectation("INSERT",true),"instead",peg$literalExpectation("INSTEAD",true),"intersect",peg$literalExpectation("INTERSECT",true),"into",peg$literalExpectation("INTO",true),"is",peg$literalExpectation("IS",true),"isnull",peg$literalExpectation("ISNULL",true),"join",peg$literalExpectation("JOIN",true),"key",peg$literalExpectation("KEY",true),"left",peg$literalExpectation("LEFT",true),"like",peg$literalExpectation("LIKE",true),"limit",peg$literalExpectation("LIMIT",true),"match",peg$literalExpectation("MATCH",true),"natural",peg$literalExpectation("NATURAL",true),"no",peg$literalExpectation("NO",true),"not",peg$literalExpectation("NOT",true),"notnull",peg$literalExpectation("NOTNULL",true),"of",peg$literalExpectation("OF",true),"offset",peg$literalExpectation("OFFSET",true),"on",peg$literalExpectation("ON",true),"or",peg$literalExpectation("OR",true),"order",peg$literalExpectation("ORDER",true),"outer",peg$literalExpectation("OUTER",true),"plan",peg$literalExpectation("PLAN",true),"pragma",peg$literalExpectation("PRAGMA",true),"primary",peg$literalExpectation("PRIMARY",true),"query",peg$literalExpectation("QUERY",true),"raise",peg$literalExpectation("RAISE",true),"recursive",peg$literalExpectation("RECURSIVE",true),"references",peg$literalExpectation("REFERENCES",true),"regexp",peg$literalExpectation("REGEXP",true),"reindex",peg$literalExpectation("REINDEX",true),"release",peg$literalExpectation("RELEASE",true),"rename",peg$literalExpectation("RENAME",true),"replace",peg$literalExpectation("REPLACE",true),"restrict",peg$literalExpectation("RESTRICT",true),"right",peg$literalExpectation("RIGHT",true),"rollback",peg$literalExpectation("ROLLBACK",true),"row",peg$literalExpectation("ROW",true),"rowid",peg$literalExpectation("ROWID",true),"savepoint",peg$literalExpectation("SAVEPOINT",true),"select",peg$literalExpectation("SELECT",true),"set",peg$literalExpectation("SET",true),"table",peg$literalExpectation("TABLE",true),"temp",peg$literalExpectation("TEMP",true),"temporary",peg$literalExpectation("TEMPORARY",true),"then",peg$literalExpectation("THEN",true),"to",peg$literalExpectation("TO",true),"transaction",peg$literalExpectation("TRANSACTION",true),"trigger",peg$literalExpectation("TRIGGER",true),"union",peg$literalExpectation("UNION",true),"unique",peg$literalExpectation("UNIQUE",true),"update",peg$literalExpectation("UPDATE",true),"using",peg$literalExpectation("USING",true),"vacuum",peg$literalExpectation("VACUUM",true),"values",peg$literalExpectation("VALUES",true),"view",peg$literalExpectation("VIEW",true),"virtual",peg$literalExpectation("VIRTUAL",true),"when",peg$literalExpectation("WHEN",true),"where",peg$literalExpectation("WHERE",true),"with",peg$literalExpectation("WITH",true),"without",peg$literalExpectation("WITHOUT",true),function(r){return keyNode(r);},function(){return null;},peg$otherExpectation("Line Comment"),"--",peg$literalExpectation("--",false),/^[\n\v\f\r]/,peg$classExpectation(["\n","\v","\f","\r"],false,false),peg$otherExpectation("Block Comment"),"/*",peg$literalExpectation("/*",false),"*/",peg$literalExpectation("*/",false),/^[\n\v\f\r\t ]/,peg$classExpectation(["\n","\v","\f","\r","\t"," "],false,false),peg$otherExpectation("Whitespace"),"__TODO__",peg$literalExpectation("__TODO__",false)];var peg$bytecode=[peg$decode("%;\u0240/H#;#/?$;\".\" &\"/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),peg$decode("%;\u0240/C#;#/:$;x/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),peg$decode("%;x/B#;\u0240/9$$;%0#*;%&/)$8#:!#\"\" )(#'#(\"'#&'#"),peg$decode("$;\u01B40#*;\u01B4&"),peg$decode("$;\u01B4/�#*;\u01B4&&&#"),peg$decode("%;$/:#;x/1$;\u0240/($8#:\"#!!)(#'#(\"'#&'#"),peg$decode("<%;'.# &;(/@#;\u0240/7$;*.\" &\"/)$8#:$#\"\" )(#'#(\"'#&'#=.\" 7#"),peg$decode("%;\u018C/' 8!:%!! )"),peg$decode("<%;\u0196/9#$;)0#*;)&/)$8\":'\"\"! )(\"'#&'#=.\" 7&"),peg$decode("%4(\"\"5!7)/1#;\u0198/($8\":*\"! )(\"'#&'#"),peg$decode("<%;\u01A1/R#;5/I$;\u0240/@$;+.\" &\"/2$;\u01A2/)$8%:,%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7+"),peg$decode("%;\u01A3/C#;\u0240/:$;5/1$;\u0240/($8$:-$!!)($'#(#'#(\"'#&'#"),peg$decode(";5.; &;6.5 &;2./ &;-.) &;..# &;/"),peg$decode("<%;\u0207/1#;\u0240/($8\":/\"!!)(\"'#&'#=.\" 7."),peg$decode("<%;\u01D3.) &;\u01D5.# &;\u01D4/1#;\u0240/($8\":1\"!!)(\"'#&'#=.\" 70"),peg$decode("<%;4.\" &\"/2#;0/)$8\":3\"\"! )(\"'#&'#=.\" 72"),peg$decode("<%;\u01A7/A#$;10#*;1&/1$;\u01A7/($8#:5#!!)(#'#(\"'#&'#=.\" 74"),peg$decode("26\"\"6677.) &48\"\"5!79"),peg$decode("<%4;\"\"5!7!! )"),peg$decode("<%;\u01AB.# &;\u01AC/' 8!:\"!! )=.\" 7?"),peg$decode("%;4.\" &\"/2#;6/)$8\":@\"\"! )(\"'#&'#"),peg$decode(";<.# &;7"),peg$decode("%;8/7#;;.\" &\"/)$8\":A\"\"! )(\"'#&'#"),peg$decode("<;9.# &;:=.\" 7B"),peg$decode("%$;>/�#*;>&&&#/7#;:.\" &\"/)$8\":C\"\"! )(\"'#&'#"),peg$decode("%;\u01A4/9#$;>0#*;>&/)$8\":D\"\"! )(\"'#&'#"),peg$decode("<%3F\"\"5!7G/T#4H\"\"5!7I.\" &\"/@$$;>/�#*;>&&&#/*$8#:J##\"! )(#'#(\"'#&'#=.\" 7E"),peg$decode("<%3L\"\"5\"7M/?#$;=/�#*;=&&&#/)$8\":N\"\"! )(\"'#&'#=.\" 7K"),peg$decode("4O\"\"5!7P"),peg$decode("4Q\"\"5!7R"),peg$decode("<%;@.) &;B.# &;C/' 8!:T!! )=.\" 7S"),peg$decode("<%;\u01A6/@#;A.\" &\"/2$;\u0240/)$8#:V#\"\"!)(#'#(\"'#&'#=.\" 7U"),peg$decode("%4W\"\"5!7X/9#$;>0#*;>&/)$8\":Y\"\"! )(\"'#&'#"),peg$decode("<%4[\"\"5!7\\/H#$;\u0194/�#*;\u0194&&&#/2$;\u0240/)$8#:]#\"\"!)(#'#(\"'#&'#=.\" 7Z"),peg$decode("<%2_\"\"6_7`/o#$;\u0194.) &2a\"\"6a7b/2#0/*;\u0194.) &2a\"\"6a7b&&&#/A$;\u0240/8$;D.\" &\"/*$8$:c$##\" )($'#(#'#(\"'#&'#=.\" 7^"),peg$decode("%;\u019C/1#;\u0240/($8\":d\"!!)(\"'#&'#"),peg$decode("<%;F.\" &\"/;#;\u0240/2$;\x94/)$8#:f#\"\" )(#'#(\"'#&'#=.\" 7e"),peg$decode("<%;k.\" &\"/;#;\u01E5/2$;\u0240/)$8#:h#\"\"!)(#'#(\"'#&'#=.\" 7g"),peg$decode("<%;\u0212/_#;\u0240/V$;\u01A1/M$;\u0240/D$;H/;$;\u0240/2$;\u01A2/)$8':j'\"&\")(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7i"),peg$decode("<%;I.# &;J/' 8!:l!! )=.\" 7k"),peg$decode("<%;\u01F0/' 8!:n!! )=.\" 7m"),peg$decode("%;\u021C.) &;\u01B8.# &;\u01E7/M#;\u0240/D$;\u01A3/;$;\u0240/2$;w/)$8%:o%\"$ )(%'#($'#(#'#(\"'#&'#"),peg$decode(";?./ &;t.) &;,.# &;\u017E"),peg$decode("%;\u01A1/L#;\u0240/C$;o/:$;\u0240/1$;\u01A2/($8%:p%!\")(%'#($'#(#'#(\"'#&'#"),peg$decode(";L.; &;_.5 &;a./ &;G.) &;E.# &;K"),peg$decode("%;M/;#;\u0240/2$;Q/)$8#:q#\"\" )(#'#(\"'#&'#.# &;M"),peg$decode("%;P/A#;\u0240/8$;N.# &;o/)$8#:r#\"\" )(#'#(\"'#&'#.# &;N"),peg$decode(";\u01AA./ &;\u01AC.) &;\u01AB.# &;k"),peg$decode("<%;\u012D/' 8!:t!! )=.\" 7s"),peg$decode("%;O/\x83#$%;\u0240/>#;\u0167/5$;\u0240/,$;O/#$+$)($'#(#'#(\"'#&'#0H*%;\u0240/>#;\u0167/5$;\u0240/,$;O/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode("%;R/\x83#$%;\u0240/>#;T/5$;\u0240/,$;R/#$+$)($'#(#'#(\"'#&'#0H*%;\u0240/>#;T/5$;\u0240/,$;R/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode(";\u016A.) &;\u016B.# &;\u016C"),peg$decode("%;S/\x83#$%;\u0240/>#;V/5$;\u0240/,$;S/#$+$)($'#(#'#(\"'#&'#0H*%;\u0240/>#;V/5$;\u0240/,$;S/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode(";\u0168.# &;\u0169"),peg$decode("%;U/\x83#$%;\u0240/>#;X/5$;\u0240/,$;U/#$+$)($'#(#'#(\"'#&'#0H*%;\u0240/>#;X/5$;\u0240/,$;U/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode(";\u016D.U &;\u016E.O &;\u016F.I &%%;\u0170/8#%<;\u0170=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),peg$decode("%;W/\x83#$%;\u0240/>#;Z/5$;\u0240/,$;W/#$+$)($'#(#'#(\"'#&'#0H*%;\u0240/>#;Z/5$;\u0240/,$;W/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode(";\u0173.{ &;\u0174.u &%%;\u0171/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,).I &%%;\u0172/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),peg$decode("%;Y/9#$;\\0#*;\\&/)$8\":u\"\"! )(\"'#&'#"),peg$decode("%;\u0240/1#;]/($8\":v\"! )(\"'#&'#.H &%;\u0240/>#;^/5$;\u0240/,$;Y/#$+$)($'#(#'#(\"'#&'#"),peg$decode("%3w\"\"5$7x/?#;\u0240/6$3y\"\"5$7z/'$8#:{# )(#'#(\"'#&'#.? &%;\u01FC/& 8!:|! ).. &%;\u0206/& 8!:{! )"),peg$decode(";\u0178./ &;\u0176.) &;\u0177.# &;\u0175"),peg$decode("<%;\u01CA/i#;\u0240/`$;\u01A1/W$;o/N$;\u0240/E$;`/<$;\u0240/3$;\u01A2/*$8(:~(#'$\")(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7}"),peg$decode("<%;\u01C0/:#;\u0240/1$;&/($8#:\x80#! )(#'#(\"'#&'#=.\" 7\x7F"),peg$decode("<%;\u01C9/\x93#;\u0240/\x8A$;b.\" &\"/|$;\u0240/s$$;c/�#*;c&&&#/]$;\u0240/T$;d.\" &\"/F$;\u0240/=$;\u01E1/4$;\u0240/+$8*:\x82*$)'%#)(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\x81"),peg$decode("%%<;\u0231=.##&&!&'#/1#;o/($8\":\x83\"! )(\"'#&'#"),peg$decode("<%;\u0231/i#;\u0240/`$;o/W$;\u0240/N$;\u0225/E$;\u0240/<$;o/3$;\u0240/*$8(:\x85(#'%!)(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\x84"),peg$decode("<%;\u01E0/D#;\u0240/;$;o/2$;\u0240/)$8$:\x87$\"#!)($'#(#'#(\"'#&'#=.\" 7\x86"),peg$decode("%;[/;#;\u0240/2$;f/)$8#:\x88#\"\" )(#'#(\"'#&'#.# &;["),peg$decode(";l.) &;i.# &;g"),peg$decode("<%;k.\" &\"/o#;\u0200./ &;\u01EC.) &;\u0215.# &;\u0202/T$;\u0240/K$;o/B$;\u0240/9$;h.\" &\"/+$8&:\x8A&$%$\" )(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\x89"),peg$decode("<%;\u01E2/D#;\u0240/;$;o/2$;\u0240/)$8$:\x8C$\"#!)($'#(#'#(\"'#&'#=.\" 7\x8B"),peg$decode("<%;k.\" &\"/E#;\u01C6/<$;\u0240/3$;j/*$8$:\x8E$##\" )($'#(#'#(\"'#&'#=.\" 7\x8D"),peg$decode("%;e/W#%;\u0240/>#;\u01BF/5$;\u0240/,$;e/#$+$)($'#(#'#(\"'#&'#/)$8\":\x8F\"\"! )(\"'#&'#"),peg$decode("%;\u0205/1#;\u0240/($8\":\x90\"!!)(\"'#&'#"),peg$decode("<%;k.\" &\"/E#;\u01F2/<$;\u0240/3$;m/*$8$:\x92$##\" )($'#(#'#(\"'#&'#=.\" 7\x91"),peg$decode(";n.# &;\u017C"),peg$decode("%;\u01A1/I#;\x95.# &;q/:$;\u0240/1$;\u01A2/($8$:\x93$!\")($'#(#'#(\"'#&'#"),peg$decode("%;e/\x83#$%;\u0240/>#;p/5$;\u0240/,$;e/#$+$)($'#(#'#(\"'#&'#0H*%;\u0240/>#;p/5$;\u0240/,$;e/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode(";\u01BF.# &;\u020B"),peg$decode("<%;r.\" &\"/1#;\u0240/($8\":\x95\"!!)(\"'#&'#=.\" 7\x94"),peg$decode("%;o/B#;\u0240/9$$;s0#*;s&/)$8#:\x96#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A3/:#;o/1$;\u0240/($8#:\x93#!!)(#'#(\"'#&'#"),peg$decode("<%;\u017B/[#;\u0240/R$;\u01A1/I$;u.\" &\"/;$;\u0240/2$;\u01A2/)$8&:\x98&\"%\")(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\x97"),peg$decode("<%;\xDB/' 8!:\x9A!! ).V &%;v.\" &\"/G#;q/>$9:\x9B \"! -\"\"&!&#/)$8#:\x9C#\"\"!)(#'#(\"'#&'#=.\" 7\x99"),peg$decode("%;\u01DD.# &;\u01BC/1#;\u0240/($8\":\x9D\"!!)(\"'#&'#"),peg$decode("<%;//' 8!:\x9F!! )=.\" 7\x9E"),peg$decode("<%;y.\" &\"/;#;{/2$;\u0240/)$8#:\xA1#\"\"!)(#'#(\"'#&'#=.\" 7\xA0"),peg$decode("<%;\u01E6/@#;\u0240/7$;z.\" &\"/)$8#:\xA3#\"\" )(#'#(\"'#&'#=.\" 7\xA2"),peg$decode("<%;\u0211/D#;\u0240/;$;\u020E/2$;\u0240/)$8$:\xA5$\"#!)($'#(#'#(\"'#&'#=.\" 7\xA4"),peg$decode(";\x8C.S &;\xFB.M &;\u0162.G &;}.A &;|.; &;\x86.5 &;\x80./ &;\x84.) &;\x85.# &;\x96"),peg$decode("<%;\u01CE.# &;\u01E1/@#;\u0240/7$;~.\" &\"/)$8#:\xA7#\"\" )(#'#(\"'#&'#=.\" 7\xA6"),peg$decode("<%;\u01C5/^#;\u0240/U$;\x7F.\" &\"/G$;~.\" &\"/9$;\x82.\" &\"/+$8%:\xA9%$$\"! )(%'#($'#(#'#(\"'#&'#=.\" 7\xA8"),peg$decode("%;\u0227/1#;\u0240/($8\":\xAA\"!!)(\"'#&'#"),peg$decode("%;\u01D9.) &;\u01F1.# &;\u01E4/1#;\u0240/($8\":\xAB\"!!)(\"'#&'#"),peg$decode("<%;\u021C/N#;\u0240/E$;~.\" &\"/7$;\x81.\" &\"/)$8$:\xAD$\"# )($'#(#'#(\"'#&'#=.\" 7\xAC"),peg$decode("<%%;\u0226/,#;\u0240/#$+\")(\"'#&'#.\" &\"/?#;\x83.\" &\"/1$;\x82/($8#:p#! )(#'#(\"'#&'#=.\" 7\xAE"),peg$decode("%;\u0183/1#;\u0240/($8\":\xAF\"!!)(\"'#&'#"),peg$decode("%;\u021F/1#;\u0240/($8\":\xB0\"!!)(\"'#&'#"),peg$decode("<%;\x83/2#;\x82/)$8\":\xB2\"\"! )(\"'#&'#=.\" 7\xB1"),peg$decode("<%;\u0217/J#;\u0240/A$;\x83.\" &\"/3$;\x82/*$8$:\xB4$##! )($'#(#'#(\"'#&'#=.\" 7\xB3"),peg$decode("<%;\x87/N#;\u017C/E$;\u0240/<$;\x88/3$;\u0240/*$8%:\xB6%#$#!)(%'#($'#(#'#(\"'#&'#=.\" 7\xB5"),peg$decode("<%;\u01BD/D#;\u0240/;$;\u0222/2$;\u0240/)$8$:\xB8$\"#!)($'#(#'#(\"'#&'#=.\" 7\xB7"),peg$decode(";\x89.# &;\x8A"),peg$decode("<%;\u0218/M#;\u0240/D$;\u0226/;$;\u0240/2$;\u017C/)$8%:\xBA%\"$ )(%'#($'#(#'#(\"'#&'#=.\" 7\xB9"),peg$decode("<%;\u01BA/I#;\u0240/@$;\x8B.\" &\"/2$;\u010C/)$8$:\xBC$\"# )($'#(#'#(\"'#&'#=.\" 7\xBB"),peg$decode("%;\u01CD/1#;\u0240/($8\":\xB0\"!!)(\"'#&'#"),peg$decode("%;\x8D/2#;\xA7/)$8\":\xBD\"\"! )(\"'#&'#"),peg$decode("<%;\x8E.\" &\"/1#;\u0240/($8\":*\"!!)(\"'#&'#=.\" 7\xBE"),peg$decode("%;\u0233/J#;\u0240/A$;\x8F.\" &\"/3$;\x90/*$8$:\xBF$##! )($'#(#'#(\"'#&'#"),peg$decode("%;\u0213/1#;\u0240/($8\":\xB0\"!!)(\"'#&'#"),peg$decode("%;\x92/B#;\u0240/9$$;\x910#*;\x91&/)$8#:\xC0#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A3/:#;\x92/1$;\u0240/($8#:\x93#!!)(#'#(\"'#&'#"),peg$decode("<%;\u0188/2#;\x93/)$8\":\xC2\"\"! )(\"'#&'#=.\" 7\xC1"),peg$decode("%;\u01C0/:#;\u0240/1$;\x94/($8#:\xC3#! )(#'#(\"'#&'#"),peg$decode("%;\u01A1/C#;\x95/:$;\u0240/1$;\u01A2/($8$: $!\")($'#(#'#(\"'#&'#"),peg$decode("%;\x8D/2#;\xA8/)$8\":\xC4\"\"! )(\"'#&'#"),peg$decode(";\x97.; &;\x99.5 &;\x9A./ &;\x9C.) &;\x9E.# &;\xA0"),peg$decode("<%;\u01C2/\x8B#;\u0240/\x82$%;\u01D6/,#;\u0240/#$+\")(\"'#&'#.\" &\"/a$;o/X$;\u0240/O$;\u01C0/F$;\u0240/=$;\x98/4$;\u0240/+$8):\xC6)$(&%!)()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\xC5"),peg$decode(";\u017A.) &;-.# &;?"),peg$decode("<%;\u01DC/f#;\u0240/]$%;\u01D6/,#;\u0240/#$+\")(\"'#&'#.\" &\"/<$;\x98/3$;\u0240/*$8%:\xC8%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7\xC7"),peg$decode("<%;\u022D/@#;\u0240/7$;\x9B.\" &\"/)$8#:\xCA#\"\" )(#'#(\"'#&'#=.\" 7\xC9"),peg$decode("%;\u017A/1#;\u0240/($8\":\xCB\"!!)(\"'#&'#"),peg$decode("<%;\u01BE/@#;\u0240/7$;\x9D.\" &\"/)$8#:\xCD#\"\" )(#'#(\"'#&'#=.\" 7\xCC"),peg$decode("%;\u017C.) &;\u0184.# &;\u017A/1#;\u0240/($8\":\xCE\"!!)(\"'#&'#"),peg$decode("<%;\u0216/I#;\u0240/@$;\x9F.\" &\"/2$;\u0240/)$8$:\xCD$\"#!)($'#(#'#(\"'#&'#=.\" 7\xCF"),peg$decode("%;\u017C.) &;\u0184.# &;\u0182/1#;\u0240/($8\":\xD0\"!!)(\"'#&'#"),peg$decode("<%;\u020F/S#;\u0240/J$;\u0187/A$;\u0240/8$;\xA1.\" &\"/*$8%:\xD2%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7\xD1"),peg$decode("%;\u01A1/C#;\xA2/:$;\u0240/1$;\u01A2/($8$:\xD3$!\")($'#(#'#(\"'#&'#.D &%;\u01AD/:#;\xA2/1$;\u0240/($8#:\xD3#!!)(#'#(\"'#&'#"),peg$decode(";\xA4.) &;\xA3.# &;\xA6"),peg$decode(";5.) &;/.# &;3"),peg$decode("%;\xA5/<#9:\xD4 ! -\"\"&!&#/($8\":\xD5\"!!)(\"'#&'#"),peg$decode("%$;\u0194/�#*;\u0194&&&#/' 8!:\xD6!! )"),peg$decode("%;\xA5/' 8!:\xD7!! )"),peg$decode(";\xA8./ &;\xDD.) &;\xF2.# &;\xF9"),peg$decode("<%;\xAE/X#;\u0240/O$;\xA9.\" &\"/A$;\u0240/8$;\xAA.\" &\"/*$8%:\xD9%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7\xD8"),peg$decode("<%;\u020C/L#;\u0240/C$;\u01C7/:$;\u0240/1$;\xD8/($8%:\xDB%! )(%'#($'#(#'#(\"'#&'#=.\" 7\xDA"),peg$decode("<%;\u0201/S#;\u0240/J$;o/A$;\u0240/8$;\xAB.\" &\"/*$8%:\xDD%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7\xDC"),peg$decode("<%;\xAC/2#;o/)$8\":\xDF\"\"! )(\"'#&'#=.\" 7\xDE"),peg$decode(";\xAD.# &;\u01A3"),peg$decode("%;\u0209/1#;\u0240/($8\":\xB0\"!!)(\"'#&'#"),peg$decode("%;\xB0/B#;\u0240/9$$;\xAF0#*;\xAF&/)$8#:\xE0#\"\" )(#'#(\"'#&'#"),peg$decode("<%;\xEF/D#;\u0240/;$;\xB0/2$;\u0240/)$8$:\xE2$\"#!)($'#(#'#(\"'#&'#=.\" 7\xE1"),peg$decode(";\xB1.# &;\xD7"),peg$decode("%;\xB2/U#;\xB8.\" &\"/G$;\xB9.\" &\"/9$;\xBA.\" &\"/+$8$:\xE3$$#\"! )($'#(#'#(\"'#&'#"),peg$decode("<%;\u0220/R#;\u0240/I$;\xB3.\" &\"/;$;\u0240/2$;\xB6/)$8%:\xE5%\"\" )(%'#($'#(#'#(\"'#&'#=.\" 7\xE4"),peg$decode("<;\xB4.# &;\xB5=.\" 7\xE6"),peg$decode("%;\u01DD/1#;\u0240/($8\":\xE7\"!!)(\"'#&'#"),peg$decode("%;\u01BC/1#;\u0240/($8\":\xE8\"!!)(\"'#&'#"),peg$decode("%;\xBC/B#;\u0240/9$$;\xB70#*;\xB7&/)$8#:\xC0#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A3/:#;\xBC/1$;\u0240/($8#:-#!!)(#'#(\"'#&'#"),peg$decode("<%;\u01EA/D#;\u0240/;$;\xC0/2$;\u0240/)$8$:\xEA$\"#!)($'#(#'#(\"'#&'#=.\" 7\xE9"),peg$decode("<%;\u0232/D#;\u0240/;$;o/2$;\u0240/)$8$:\xEC$\"#!)($'#(#'#(\"'#&'#=.\" 7\xEB"),peg$decode("<%;\u01ED/e#;\u0240/\\$;\u01C7/S$;\u0240/J$;q/A$;\u0240/8$;\xBB.\" &\"/*$8':\xEE'#&\" )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\xED"),peg$decode("<%;\u01EE/D#;\u0240/;$;o/2$;\u0240/)$8$:\xF0$\"#!)($'#(#'#(\"'#&'#=.\" 7\xEF"),peg$decode(";\xBD.# &;\xBF"),peg$decode("%;\xBE.\" &\"/2#;\xDB/)$8\":\xF1\"\"! )(\"'#&'#"),peg$decode("%;\u0196/2#;\u01A4/)$8\":\xF2\"\"! )(\"'#&'#"),peg$decode("%;o/@#;\u0240/7$;\xCD.\" &\"/)$8#:\xF3#\"\" )(#'#(\"'#&'#"),peg$decode("%;\xC4/B#;\u0240/9$$;\xC10#*;\xC1&/)$8#:\xF4#\"\" )(#'#(\"'#&'#"),peg$decode("%;\xC2.# &;\xC3/7#;\xD4.\" &\"/)$8\":\xF5\"\"! )(\"'#&'#"),peg$decode("<%;\u01A3/:#;\xC4/1$;\u0240/($8#:\xF7#!!)(#'#(\"'#&'#=.\" 7\xF6"),peg$decode("<%;\xCE/D#;\u0240/;$;\xC4/2$;\u0240/)$8$:\xF9$\"#!)($'#(#'#(\"'#&'#=.\" 7\xF8"),peg$decode(";\xCB.5 &;?./ &;\xC5.) &;\xC6.# &;\xCC"),peg$decode("%;\u017B/S#;\u0240/J$;\xED/A$;\u0240/8$;\xCD.\" &\"/*$8%:\xFA%#$\" )(%'#($'#(#'#(\"'#&'#"),peg$decode("<%;\xC7/@#;\u0240/7$;\xC8.\" &\"/)$8#:\xFC#\"\" )(#'#(\"'#&'#=.\" 7\xFB"),peg$decode("<%;\u017C/@#;\u0240/7$;\xCD.\" &\"/)$8#:\xFE#\"\" )(#'#(\"'#&'#=.\" 7\xFD"),peg$decode("<;\xC9.# &;\xCA=.\" 7\xFF"),peg$decode("%;\u01F4/V#;\u0240/M$;\u01C7/D$;\u0240/;$;\u0184/2$;\u0240/)$8&:\u0100&\"%!)(&'#(%'#($'#(#'#(\"'#&'#"),peg$decode("%;k/;#;\u01F4/2$;\u0240/)$8#:\u0101#\"\"!)(#'#(\"'#&'#"),peg$decode("<%;\u01A1/R#;\xC0/I$;\u0240/@$;\u01A2/7$;\xCD.\" &\"/)$8%:\u0103%\"# )(%'#($'#(#'#(\"'#&'#=.\" 7\u0102"),peg$decode("<%;\x94/7#;\xCD.\" &\"/)$8\":\u0105\"\"! )(\"'#&'#=.\" 7\u0104"),peg$decode("<%%;\u01C0/Q#%%<;\u0194.# &;\u0237=.##&&!&'#/,#;\u0240/#$+\")(\"'#&'#/#$+\")(\"'#&'#.\" &\"/;#;\u0196/2$;\u0240/)$8#:\u0107#\"\"!)(#'#(\"'#&'#=.\" 7\u0106"),peg$decode("<%;\xCF.\" &\"/J#;\u0240/A$;\xD0.\" &\"/3$;\u01FD/*$8$:\u0109$##! )($'#(#'#(\"'#&'#=.\" 7\u0108"),peg$decode("%;\u0203/1#;\u0240/($8\":\x90\"!!)(\"'#&'#"),peg$decode(";\xD1.# &;\xD3"),peg$decode("%;\u01FF.) &;\u021B.# &;\u01EB/@#;\u0240/7$;\xD2.\" &\"/)$8#:\u010A#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u020D/1#;\u0240/($8\":\u010B\"!!)(\"'#&'#"),peg$decode("%;\u01F6.# &;\u01D2/1#;\u0240/($8\":\u010B\"!!)(\"'#&'#"),peg$decode("<%;\xD5.# &;\xD6/1#;\u0240/($8\":\u010D\"!!)(\"'#&'#=.\" 7\u010C"),peg$decode("<%;\u020A/;#;\u0240/2$;o/)$8#:\u010F#\"\" )(#'#(\"'#&'#=.\" 7\u010E"),peg$decode("<%;\u022C/;#;\u0240/2$;\xE6/)$8#:\u0111#\"\" )(#'#(\"'#&'#=.\" 7\u0110"),peg$decode("<%;\u022E/;#;\u0240/2$;\xEB/)$8#:\u0113#\"\" )(#'#(\"'#&'#=.\" 7\u0112"),peg$decode("%;\xDA/B#;\u0240/9$$;\xD90#*;\xD9&/)$8#:\u0114#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A3/:#;\xDA/1$;\u0240/($8#:\u0115#!!)(#'#(\"'#&'#"),peg$decode("<%;o/@#;\u0240/7$;\u012F.\" &\"/)$8#:\u0117#\"\" )(#'#(\"'#&'#=.\" 7\u0116"),peg$decode("<;\u01A5=.\" 7\u0118"),peg$decode("<;\u0219.5 &;\u021C./ &;\u01B8.) &;\u01E7.# &;\u01F0=.\" 7\u0119"),peg$decode("<%;\xDE/;#;\u0240/2$;\xE2/)$8#:\u011B#\"\" )(#'#(\"'#&'#=.\" 7\u011A"),peg$decode(";\xDF.# &;\xE0"),peg$decode("<%;\u01F7/@#;\u0240/7$;\xE1.\" &\"/)$8#:\u011D#\"\" )(#'#(\"'#&'#=.\" 7\u011C"),peg$decode("<%;\u0219/1#;\u0240/($8\":\u011F\"!!)(\"'#&'#=.\" 7\u011E"),peg$decode("<%;\u020B/;#;\u0240/2$;\xDC/)$8#:\u0121#\"\" )(#'#(\"'#&'#=.\" 7\u0120"),peg$decode("%;\xE3/2#;\xE5/)$8\":\u0122\"\"! )(\"'#&'#"),peg$decode("<%;\xE4/2#;\u0188/)$8\":\u0124\"\"! )(\"'#&'#=.\" 7\u0123"),peg$decode("<%;\u01FA/,#;\u0240/#$+\")(\"'#&'#=.\" 7\u0125"),peg$decode("<%;\xE9.) &;\x95.# &;\xEE/1#;\u0240/($8\":\u0126\"!!)(\"'#&'#=.\" 7\u0112"),peg$decode("<%;\u01A1/T#;\xE8/K$;\u0240/B$$;\xE70#*;\xE7&/2$;\u01A2/)$8%:\u0128%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7\u0127"),peg$decode("%;\u01A3/:#;\xE8/1$;\u0240/($8#:\u0129#!!)(#'#(\"'#&'#"),peg$decode("<%;\u0179/' 8!:\u012B!! )=.\" 7\u012A"),peg$decode("<%;\xEA/2#;\xEB/)$8\":\u012C\"\"! )(\"'#&'#=.\" 7\u0112"),peg$decode("<%;\u022E/1#;\u0240/($8\":\xB0\"!!)(\"'#&'#=.\" 7\u012D"),peg$decode("%;\xED/B#;\u0240/9$$;\xEC0#*;\xEC&/)$8#:\u012E#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A3/:#;\xED/1$;\u0240/($8#:\x93#!!)(#'#(\"'#&'#"),peg$decode("<%;\u01A1/C#;q/:$;\u0240/1$;\u01A2/($8$:\u0130$!\")($'#(#'#(\"'#&'#=.\" 7\u012F"),peg$decode("<%;\u01D7/;#;\u0240/2$;\u022E/)$8#:\u0132#\"\" )(#'#(\"'#&'#=.\" 7\u0131"),peg$decode("<%;\xF0.) &;\u01F9.# &;\u01E3/' 8!:\xB0!! )=.\" 7\u0133"),peg$decode("<%;\u0229/@#;\u0240/7$;\xF1.\" &\"/)$8#:\u0135#\"\" )(#'#(\"'#&'#=.\" 7\u0134"),peg$decode("%;\u01BC/1#;\u0240/($8\":\u0136\"!!)(\"'#&'#"),peg$decode("<%;\xF3/\x8A#;\xF4.\" &\"/|$;\xC6/s$;\u0240/j$;\xF5/a$;\xB9.\" &\"/S$;\xA9.\" &\"/E$;\u0240/<$;\xAA.\" &\"/.$8):\u0138)'('&$#\" )()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u0137"),peg$decode("<%;\u022B/1#;\u0240/($8\":\xB0\"!!)(\"'#&'#=.\" 7\u0139"),peg$decode("<%;\u020B/C#;\u0240/:$;\xDC/1$;\u0240/($8$:\u013B$!!)($'#(#'#(\"'#&'#=.\" 7\u013A"),peg$decode("<%;\u0221/C#;\u0240/:$;\xF6/1$;\u0240/($8$:\u013D$!!)($'#(#'#(\"'#&'#=.\" 7\u013C"),peg$decode("%;\xF8/9#$;\xF70#*;\xF7&/)$8\":\u012E\"\"! )(\"'#&'#"),peg$decode("%;\u0240/:#;\u01A3/1$;\xF8/($8#:\u0129#! )(#'#(\"'#&'#"),peg$decode("<%;\u017E/M#;\u0240/D$;\u01AD/;$;o/2$;\u0240/)$8%:\u013F%\"$!)(%'#($'#(#'#(\"'#&'#=.\" 7\u013E"),peg$decode("<%;\xFA/h#;\xC6/_$;\u0240/V$;\xB9.\" &\"/H$;\xA9.\" &\"/:$;\xAA.\" &\"/,$8&:\u0141&%%$\"! )(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u0140"),peg$decode("<%;\u01DA/C#;\u0240/:$;\u01EA/1$;\u0240/($8$:\xB0$!#)($'#(#'#(\"'#&'#=.\" 7\u0142"),peg$decode("<;\xFD.5 &;\xFE./ &;\xFF.) &;\u0100.# &;\u0101=.\" 7\u0143"),peg$decode("%;\u01D1/1#;\u0240/($8\":\xB0\"!!)(\"'#&'#"),peg$decode("%%<%;\xFC/>#;\u01F3./ &;\u0228.) &;\u022F.# &;\u0230/#$+\")(\"'#&'#=.##&&!&'#/1#;\u0102/($8\":\u0129\"! )(\"'#&'#"),peg$decode("%%<%;\xFC/>#;\u0222./ &;\u0228.) &;\u022F.# &;\u0230/#$+\")(\"'#&'#=.##&&!&'#/1#;\u0143/($8\":\u0129\"! )(\"'#&'#"),peg$decode("%%<%;\xFC/>#;\u0222./ &;\u01F3.) &;\u022F.# &;\u0230/#$+\")(\"'#&'#=.##&&!&'#/1#;\u0147/($8\":\u0129\"! )(\"'#&'#"),peg$decode("%%<%;\xFC/>#;\u0222./ &;\u01F3.) &;\u0228.# &;\u0230/#$+\")(\"'#&'#=.##&&!&'#/1#;\u0156/($8\":\u0129\"! )(\"'#&'#"),peg$decode("%%<%;\xFC/>#;\u0222./ &;\u01F3.) &;\u0228.# &;\u022F/#$+\")(\"'#&'#=.##&&!&'#/1#;\u015A/($8\":\u0129\"! )(\"'#&'#"),peg$decode("<%;\u0103/T#;\u0105.\" &\"/F$;\u017C/=$;\u0240/4$;\u0106/+$8%:\u0145%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7\u0144"),peg$decode("%;\xFC/J#;\u0104.\" &\"/<$;\u0222/3$;\u0240/*$8$:\u0146$##\"!)($'#(#'#(\"'#&'#"),peg$decode("%;\u0224.# &;\u0223/1#;\u0240/($8\":\u0147\"!!)(\"'#&'#"),peg$decode("<%;\u01EF/N#;\u0240/E$;k/<$;\u01E5/3$;\u0240/*$8%:\u0149%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7\u0148"),peg$decode(";\u0107.# &;\u0142"),peg$decode("<%;\u01A1/Z#;\u0109/Q$$;\u010B0#*;\u010B&/A$;\u01A2/8$;\u0108.\" &\"/*$8%:\u014B%##\" )(%'#($'#(#'#(\"'#&'#=.\" 7\u014A"),peg$decode("%;\u0234/D#;\u0240/;$;\u021E/2$;\u0240/)$8$:\u014C$\"#!)($'#(#'#(\"'#&'#"),peg$decode("%;\u010C/B#;\u0240/9$$;\u010A0#*;\u010A&/)$8#:\u012E#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A3/:#;\u010C/1$;\u0240/($8#:\xAA#!!)(#'#(\"'#&'#"),peg$decode("%;\u01A3.\" &\"/1#;\u0120/($8\":\u014D\"! )(\"'#&'#"),peg$decode("<%;\u010D/O#;\u0240/F$;\u010E.\" &\"/8$;\u010F.\" &\"/*$8$:\u014F$##! )($'#(#'#(\"'#&'#=.\" 7\u014E"),peg$decode("%;\u0196/=#%<;\u0240=/##&'!&&#/($8\":p\"!!)(\"'#&'#.\\ &%%<;\u010E.) &;\u0111.# &;\u0120=.##&&!&'#/:#;\u0240/1$;\u0199/($8#:p#! )(#'#(\"'#&'#"),peg$decode("<%;&/1#;\u0240/($8\":\u0151\"!!)(\"'#&'#=.\" 7\u0150"),peg$decode("%;\u0111/B#$;\u01100#*;\u0110&/2$;\u0240/)$8#:\u012E#\"\"!)(#'#(\"'#&'#"),peg$decode("%;\u0240/1#;\u0111/($8\":\u0129\"! )(\"'#&'#"),peg$decode("<%;\u0112.\" &\"/A#;\u0114/8$;\u0112.\" &\"/*$8#:\u0153##\"! )(#'#(\"'#&'#=.\" 7\u0152"),peg$decode("%$;\u0113/�#*;\u0113&&&#/' 8!:\u0154!! )"),peg$decode("<%;\u01D0/C#;\u0240/:$;\u0196/1$;\u0240/($8$:\u0156$!!)($'#(#'#(\"'#&'#=.\" 7\u0155"),peg$decode(";\u0116.; &;\u0119.5 &;\u011C./ &;\u011D.) &;\u011F.# &;\u0115"),peg$decode("<%;\u0135/' 8!:\u0158!! )=.\" 7\u0157"),peg$decode("<%;\u0117/U#;\u012F.\" &\"/G$;\u0130.\" &\"/9$;\u0118.\" &\"/+$8$:\u015A$$#\"! )($'#(#'#(\"'#&'#=.\" 7\u0159"),peg$decode("<%;\u0210.# &;\u020F/D#;\u0240/;$;\u01FE/2$;\u0240/)$8$:\u015C$\"#!)($'#(#'#(\"'#&'#=.\" 7\u015B"),peg$decode("<%;\u01C3/1#;\u0240/($8\":\u015E\"!!)(\"'#&'#=.\" 7\u015D"),peg$decode("%;\u011A/@#;\u0130.\" &\"/2$;\u0240/)$8#:\u015F#\"\"!)(#'#(\"'#&'#"),peg$decode("<%;\u011B.# &;\u022A/1#;\u0240/($8\":\u0161\"!!)(\"'#&'#=.\" 7\u0160"),peg$decode("<%;k.\" &\"/2#;\u0207/)$8\":\u0163\"\"! )(\"'#&'#=.\" 7\u0162"),peg$decode("<;\u0132=.\" 7\u0164"),peg$decode("<%;\u01D7/D#;\u0240/;$;\u011E/2$;\u0240/)$8$:\u0166$\"#!)($'#(#'#(\"'#&'#=.\" 7\u0165"),peg$decode(";L./ &;5.) &;,.# &;3"),peg$decode("<%;\u012D/' 8!:\u0168!! )=.\" 7\u0167"),peg$decode("<%;\u0112.\" &\"/J#;\u0121/A$;\u0240/8$;\u0112.\" &\"/*$8$:\u016A$##\" )($'#(#'#(\"'#&'#=.\" 7\u0169"),peg$decode(";\u0133.) &;\u0123.# &;\u0122"),peg$decode("<%;\u0132/' 8!:\u016C!! )=.\" 7\u016B"),peg$decode("<%;\u0124/J#;\u0240/A$;\u0129/8$;\u0130.\" &\"/*$8$:\u016E$##! )($'#(#'#(\"'#&'#=.\" 7\u016D"),peg$decode("%;\u0125.# &;\u0126/1#;\u0240/($8\":\u016F\"!!)(\"'#&'#"),peg$decode("<%;\u0210/;#;\u0240/2$;\u01FE/)$8#:\u0170#\"\" )(#'#(\"'#&'#=.\" 7\u015B"),peg$decode("<%;\u022A/' 8!:\u0172!! )=.\" 7\u0171"),peg$decode("%;\u01A1/T#;\u012B/K$;\u0240/B$$;\u012A0#*;\u012A&/2$;\u01A2/)$8%:\u0173%\"#!)(%'#($'#(#'#(\"'#&'#"),peg$decode("%;\u0127/' 8!:\u0174!! )"),peg$decode("%;\u0127/' 8!:\u0175!! )"),peg$decode("%;\u01A3/:#;\u012B/1$;\u0240/($8#:\u0129#!!)(#'#(\"'#&'#"),peg$decode("<%;\u012C/O#;\u0240/F$;\u012F.\" &\"/8$;\u0118.\" &\"/*$8$:\u0177$##! )($'#(#'#(\"'#&'#=.\" 7\u0176"),peg$decode("%;\xE8/\\#%<%;\u0240/8#;\u01B4.) &;\u01A2.# &;\u012F/#$+\")(\"'#&'#=/##&'!&&#/($8\":p\"!!)(\"'#&'#.# &;o"),peg$decode("<%$;\u012E/�#*;\u012E&&&#/' 8!:\u0179!! )=.\" 7\u0178"),peg$decode("%;\u01CC/C#;\u0240/:$;\u0182/1$;\u0240/($8$:p$!!)($'#(#'#(\"'#&'#"),peg$decode("<%;\u01C1.# &;\u01DB/1#;\u0240/($8\":\u017B\"!!)(\"'#&'#=.\" 7\u017A"),peg$decode("%;\u0131/;#;\xDC/2$;\u0240/)$8#:\u017C#\"\"!)(#'#(\"'#&'#"),peg$decode("<%;\u020A/D#;\u0240/;$;\u01CF/2$;\u0240/)$8$:\u017E$\"#!)($'#(#'#(\"'#&'#=.\" 7\u017D"),peg$decode("%;\u01CB/;#;\u0240/2$;L/)$8#:\u017F#\"\" )(#'#(\"'#&'#"),peg$decode("<%;\u0134/E#;\xE6/<$;\u0135/3$;\u0240/*$8$:\u0181$##\"!)($'#(#'#(\"'#&'#=.\" 7\u0180"),peg$decode("<%;\u01E9/D#;\u0240/;$;\u01FE/2$;\u0240/)$8$:\u0183$\"#!)($'#(#'#(\"'#&'#=.\" 7\u0182"),peg$decode("%;\u0136/F#;\u0137.\" &\"/8$;\u0140.\" &\"/*$8#:\u0184##\"! )(#'#(\"'#&'#"),peg$decode("<%;\u0214/D#;\u0240/;$;\u0188/2$;\u0240/)$8$:\u0186$\"#!)($'#(#'#(\"'#&'#=.\" 7\u0185"),peg$decode("%;\u0139/B#;\u0240/9$$;\u01380#*;\u0138&/)$8#:\u0187#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u0139/1#;\u0240/($8\":\u0136\"!!)(\"'#&'#"),peg$decode("<;\u013A.# &;\u013F=.\" 7\u0188"),peg$decode("%;\u020A/T#;\u0240/K$;\u01DA.# &;\u022B/<$;\u0240/3$;\u013B/*$8%:\u0189%#$\" )(%'#($'#(#'#(\"'#&'#"),peg$decode("<;\u013C.) &;\u013D.# &;\u013E=.\" 7\u018A"),peg$decode("%;\u0221/J#;\u0240/A$;\u0207.# &;\u01D7/2$;\u0240/)$8$:\u018B$\"#!)($'#(#'#(\"'#&'#"),peg$decode("%;\u01C8.# &;\u021A/1#;\u0240/($8\":\u018C\"!!)(\"'#&'#"),peg$decode("%;\u0204/D#;\u0240/;$;\u01B9/2$;\u0240/)$8$:\u018D$\"#!)($'#(#'#(\"'#&'#"),peg$decode("%;\u0202/D#;\u0240/;$;\u0196/2$;\u0240/)$8$:\u018E$\"#!)($'#(#'#(\"'#&'#"),peg$decode("<%;k.\" &\"/J#;\u01D8/A$;\u0240/8$;\u0141.\" &\"/*$8$:\u0190$##\" )($'#(#'#(\"'#&'#=.\" 7\u018F"),peg$decode("%;\u01F5/J#;\u0240/A$;\u01D9.# &;\u01F1/2$;\u0240/)$8$:\u0191$\"#!)($'#(#'#(\"'#&'#"),peg$decode("%;\u0159/' 8!:\u0192!! )"),peg$decode("<%;\u0144/c#;\u0105.\" &\"/U$;\u0184/L$;\u0240/C$;\u0146/:$;\xB9.\" &\"/,$8&:\u0194&%%$#! )(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u0193"),peg$decode("%;\xFC/J#;\u0145.\" &\"/<$;\u01F3/3$;\u0240/*$8$:\u0195$##\"!)($'#(#'#(\"'#&'#"),peg$decode("%;\u022A/1#;\u0240/($8\":\u0196\"!!)(\"'#&'#"),peg$decode("<%;\u020A/N#;\u0240/E$;\u017C/<$;\u0240/3$;\u0128/*$8%:\u0198%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7\u0197"),peg$decode("<%;\u0148/\xA6#;\u0105.\" &\"/\x98$;\u0185.\" &\"/\x8A$;\u0240/\x81$;\u0149/x$;\u020A/o$;\u0240/f$;\u017C/]$;\u0240/T$;\u0151.\" &\"/F$;\u0152.\" &\"/8$;\u0153//$8,:\u019A,(+*)'$\"! )(,'#(+'#(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u0199"),peg$decode("%;\xFC/J#;\u0104.\" &\"/<$;\u0228/3$;\u0240/*$8$:\u019B$##\"!)($'#(#'#(\"'#&'#"),peg$decode("<%;\u014A.\" &\"/2#;\u014C/)$8\":\u019D\"\"! )(\"'#&'#=.\" 7\u019C"),peg$decode("%;\u01C4.) &;\u01BB.# &;\u014B/1#;\u0240/($8\":\u019E\"!!)(\"'#&'#"),peg$decode("%;\u01F8/;#;\u0240/2$;\u0208/)$8#:\u019F#\"\" )(#'#(\"'#&'#"),peg$decode("<;\u014D.# &;\u014E=.\" 7\u01A0"),peg$decode("%;\u01DA.# &;\u01F7/1#;\u0240/($8\":\u01A1\"!!)(\"'#&'#"),peg$decode("%;\u022B/@#;\u0240/7$;\u014F.\" &\"/)$8#:\u01A2#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u0208/;#;\u0240/2$;\u0150/)$8#:\u01A3#\"\" )(#'#(\"'#&'#"),peg$decode("%;\xE8/B#;\u0240/9$$;\xE70#*;\xE7&/)$8#:\u012E#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01E8/c#;\u0240/Z$;\u01DF/Q$;\u0240/H$;\u021D.) &3\u01A4\"\"5)7\u01A5/3$;\u0240/*$8&:\u01A6&#%#!)(&'#(%'#($'#(#'#(\"'#&'#"),peg$decode("<%;\u0231/D#;\u0240/;$;o/2$;\u0240/)$8$:\u01A7$\"#!)($'#(#'#(\"'#&'#=.\" 7\x84"),peg$decode("<%;\u01C5/W#;\u0240/N$;\u0154/E$;\u0240/<$;\u01E1/3$;\u0240/*$8&:\u01A9&#%#!)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u01A8"),peg$decode("%$;\u0155/�#*;\u0155&&&#/' 8!:\u01AA!! )"),peg$decode("%;\x8C/:#;\u0240/1$;$/($8#:\"#!\")(#'#(\"'#&'#"),peg$decode("<%;\u0158/T#;\u0105.\" &\"/F$;\u0157/=$;\u0240/4$;\u0159/+$8%:\u01AC%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7\u01AB"),peg$decode("%;\u0186/;#;\u0240/2$;\xE6/)$8#:\u01AD#\"\" )(#'#(\"'#&'#.# &;\u0186"),peg$decode("%;\xFC/J#;\u0104.\" &\"/<$;\u022F/3$;\u0240/*$8$:\u01AE$##\"!)($'#(#'#(\"'#&'#"),peg$decode("%;\u01C0/D#;\u0240/;$;\xA8/2$;\u0240/)$8$:\u012C$\"#!)($'#(#'#(\"'#&'#"),peg$decode("<%;\u015B/f#;\u0105.\" &\"/X$;\u017C/O$;\u0240/F$;\u022C/=$;\u0240/4$;\u015C/+$8':\u01B0'$&%$ )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u01AF"),peg$decode("%;\xFC/N#;\u0230/E$;\u0240/<$;\u0222/3$;\u0240/*$8%:\u01B1%#$#!)(%'#($'#(#'#(\"'#&'#"),peg$decode("%;\u0198/@#;\u0240/7$;\u015D.\" &\"/)$8#:\u01B2#\"\" )(#'#(\"'#&'#"),peg$decode("<%;\u01A1/Z#;\u0240/Q$;\u015E.\" &\"/C$;\u0240/:$;\u01A2/1$;\u0240/($8&:\u01B4&!#)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u01B3"),peg$decode("%;\u0160/9#$;\u015F0#*;\u015F&/)$8\":\u01B5\"\"! )(\"'#&'#"),peg$decode("%;\u0240/H#;\u01A3/?$;\u0240/6$;\u0160.\" &\"/($8$:\u01B6$! )($'#(#'#(\"'#&'#"),peg$decode("%%<%;\u0196/;#;\u0240/2$;&.# &;\u0111/#$+#)(#'#(\"'#&'#=.##&&!&'#/:#;o/1$;\u0240/($8#:\u0130#!!)(#'#(\"'#&'#.x &%;\u0161/n#%%<;\u0194=.##&&!&'#/,#;\u0240/#$+\")(\"'#&'#/F$;\u010E.\" &\"/8$;\u010F.\" &\"/*$8$:\u014F$##! )($'#(#'#(\"'#&'#"),peg$decode(";\u0196.# &;\u0199"),peg$decode("<%;\u0163/;#;\u017C/2$;\u0240/)$8#:\u01B8#\"\"!)(#'#(\"'#&'#=.\" 7\u01B7"),peg$decode("<%;\u01DE/J#;\u0240/A$;\u0164/8$;\u0165.\" &\"/*$8$:\u01BA$##! )($'#(#'#(\"'#&'#=.\" 7\u01B9"),peg$decode("<%;\u0222./ &;\u01F3.) &;\u0228.# &;\u022F/1#;\u0240/($8\":\u0161\"!!)(\"'#&'#=.\" 7\u01BB"),peg$decode("%;\u0166/' 8!:\u01BC!! )"),peg$decode("<%;\u01EF/D#;\u0240/;$;\u01E5/2$;\u0240/)$8$:\u01BE$\"#!)($'#(#'#(\"'#&'#=.\" 7\u01BD"),peg$decode("<%;\u01AF/,#;\u01AF/#$+\")(\"'#&'#=.\" 7\u01BF"),peg$decode("<;\u01AB=.\" 7\u01C0"),peg$decode("<;\u01AC=.\" 7\u01C1"),peg$decode("<;\u01A5=.\" 7\u01C2"),peg$decode("<;\u01B6=.\" 7\u01C3"),peg$decode("<;\u01B0=.\" 7\u01C4"),peg$decode("<%;\u01B1/,#;\u01B1/#$+\")(\"'#&'#=.\" 7\u01C5"),peg$decode("<%;\u01B2/,#;\u01B2/#$+\")(\"'#&'#=.\" 7\u01C6"),peg$decode("<;\u01AE=.\" 7\u01C7"),peg$decode("<;\u01AF=.\" 7\u01C8"),peg$decode("<;\u01B1=.\" 7\u01C9"),peg$decode("<;\u01B2=.\" 7\u01CA"),peg$decode("<%;\u01B1/,#;\u01AD/#$+\")(\"'#&'#=.\" 7\u01CB"),peg$decode("<%;\u01B2/,#;\u01AD/#$+\")(\"'#&'#=.\" 7\u01CC"),peg$decode("<%;\u01AD/1#;\u01AD.\" &\"/#$+\")(\"'#&'#=.\" 7\u01CD"),peg$decode("<%;\u01B3/,#;\u01AD/#$+\")(\"'#&'#=.\" 7\u01CE"),peg$decode("<%;\u01B1/,#;\u01B2/#$+\")(\"'#&'#=.\" 7\u01CE"),peg$decode("<%;\u01FB/@#;\u0240/7$;k.\" &\"/)$8#:\u01D0#\"\" )(#'#(\"'#&'#=.\" 7\u01CF"),peg$decode("<;\u0196.# &;\u0199=.\" 7\u01D1"),peg$decode("<%;\u0179/' 8!:\u01D3!! )=.\" 7\u01D2"),peg$decode("<%;\u017D.\" &\"/2#;\u0179/)$8\":\u01D5\"\"! )(\"'#&'#=.\" 7\u01D4"),peg$decode("<%;\u017D.\" &\"/2#;\u0179/)$8\":\u01D7\"\"! )(\"'#&'#=.\" 7\u01D6"),peg$decode("%;\u0179/2#;\u01A4/)$8\":\u01D8\"\"! )(\"'#&'#"),peg$decode("<%;\u0180.) &;\u0181.# &;\u017F/2#;\u0179/)$8\":\u01DA\"\"! )(\"'#&'#=.\" 7\u01D9"),peg$decode("%;\u0240/& 8!:\u01DB! )"),peg$decode("%;\u017D/2#;\u0181/)$8\":\u01DC\"\"! )(\"'#&'#"),peg$decode("%;\u0179/2#;\u01A4/)$8\":D\"\"! )(\"'#&'#"),peg$decode("<%;\u0179/' 8!:\u01DE!! )=.\" 7\u01DD"),peg$decode("<%;\u0179/' 8!:\u01E0!! )=.\" 7\u01DF"),peg$decode("<%;\u017D.\" &\"/2#;\u0179/)$8\":\u01E2\"\"! )(\"'#&'#=.\" 7\u01E1"),peg$decode("<%;\u017D.\" &\"/2#;\u0179/)$8\":\u01E4\"\"! )(\"'#&'#=.\" 7\u01E3"),peg$decode("<%;\u017D.\" &\"/2#;\u0179/)$8\":\u01E6\"\"! )(\"'#&'#=.\" 7\u01E5"),peg$decode("<%;\u017D.\" &\"/2#;\u0179/)$8\":\u01E8\"\"! )(\"'#&'#=.\" 7\u01E7"),peg$decode("<%;\u0189.# &;\u017C/1#;\u0240/($8\":\u01EA\"!!)(\"'#&'#=.\" 7\u01E9"),peg$decode("%;\u017C/;#;\u0240/2$;\xE6/)$8#:\u01EB#\"\" )(#'#(\"'#&'#"),peg$decode("<%;\u0179/' 8!:\u01ED!! )=.\" 7\u01EC"),peg$decode("<%;\u0179/' 8!:\u01EF!! )=.\" 7\u01EE"),peg$decode("<%;\u018D/=#%<;\u0194=.##&&!&'#/($8\":\u01F1\"!!)(\"'#&'#.\xC5 &%;\u018E/=#%<;\u0194=.##&&!&'#/($8\":\u01F2\"!!)(\"'#&'#.\x9B &%;\u0190/=#%<;\u0194=.##&&!&'#/($8\":\u01F3\"!!)(\"'#&'#.q &%;\u0191/=#%<;\u0194=.##&&!&'#/($8\":\u01F4\"!!)(\"'#&'#.G &%;\u0193/=#%<;\u0194=.##&&!&'#/($8\":\u01F5\"!!)(\"'#&'#=.\" 7\u01F0"),peg$decode("<%%3\u01F7\"\"5!7\u01F8.\" &\"/F#3\u01F9\"\"5#7\u01FA.\" &\"/2$3\u01FB\"\"5$7\u01FC/#$+#)(#'#(\"'#&'#.k &%3\u01FD\"\"5$7\u01FE.5 &3\u01FF\"\"5&7\u0200.) &3\u0201\"\"5$7\u0202.\" &\"/2#3\u0203\"\"5$7\u0204/#$+\")(\"'#&'#.) &3\u0205\"\"5$7\u0206/' 8!:\u0161!! )=.\" 7\u01F6"),peg$decode("<%;\u018F.5 &3\u0208\"\"5%7\u0209.) &3\u020A\"\"5$7\u020B/' 8!:\u0161!! )=.\" 7\u0207"),peg$decode("<%3\u020D\"\"5&7\u020E/i#%$4(\"\"5!7)/,#0)*4(\"\"5!7)&&&#/2#3\u020F\"\"5)7\u0210/#$+\")(\"'#&'#.\" &\"/)$8\":\u0211\"\"! )(\"'#&'#=.\" 7\u020C"),peg$decode("<%3\u0213\"\"5'7\u0214.\x95 &3\u0215\"\"5'7\u0216.\x89 &3\u0217\"\"5'7\u0218.} &%3\u0219\"\"5$7\u021A/7#3\u021B\"\"5$7\u021C.\" &\"/#$+\")(\"'#&'#.S &%3\u021B\"\"5$7\u021C/7#3\u021D\"\"5%7\u021E.\" &\"/#$+\")(\"'#&'#.) &3\u021F\"\"5&7\u0220/' 8!:\u0161!! )=.\" 7\u0212"),peg$decode("<%%3\u0222\"\"5#7\u0223/V#2\u0224\"\"6\u02247\u0225.A &2\u0226\"\"6\u02267\u0227.5 &2\u0228\"\"6\u02287\u0229.) &3\u022A\"\"5$7\u022B/#$+\")(\"'#&'#.q &%3\u022C\"\"5#7\u022D.A &3\u01FF\"\"5&7\u0200.5 &3\u022E\"\"5%7\u022F.) &3\u01FD\"\"5$7\u01FE.\" &\"/2#3\u0222\"\"5#7\u0223/#$+\")(\"'#&'#.# &;\u0192/' 8!:\u0161!! )=.\" 7\u0221"),peg$decode("%3\u0230\"\"5(7\u0231/d#%$4(\"\"5!7)/,#0)*4(\"\"5!7)&&&#/2#3\u0232\"\"5%7\u0233/#$+\")(\"'#&'#/)$8\":\u0234\"\"! )(\"'#&'#"),peg$decode("<%3\u0236\"\"5$7\u0237/' 8!:\u0161!! )=.\" 7\u0235"),peg$decode("4\u0238\"\"5!7\u0239"),peg$decode("%2\u023A\"\"6\u023A7\u023B/K#$4\u023C\"\"5!7\u023D/,#0)*4\u023C\"\"5!7\u023D&&&#/)$8\":\u023E\"\"! )(\"'#&'#"),peg$decode(";\u0197.# &;\u0198"),peg$decode(";\u019A./ &;\u019E.) &;\u019C.# &;\u019D"),peg$decode("%%<;\u0235.# &;>=.##&&!&'#/J#$;\u0195.# &;\u0194/,#0)*;\u0195.# &;\u0194&&&#/($8\":\xD6\"! )(\"'#&'#"),peg$decode("%%<;\u0237.# &;>=.##&&!&'#/J#$;\u0195.# &;\u0194/,#0)*;\u0195.# &;\u0194&&&#/($8\":\u023F\"! )(\"'#&'#"),peg$decode("%;\u019F/\x99#;\u0240/\x90$%$%%<;\u019B=.##&&!&'#/1#1\"\"5!7\u0240/#$+\")(\"'#&'#0G*%%<;\u019B=.##&&!&'#/1#1\"\"5!7\u0240/#$+\")(\"'#&'#&/\"!&,)/1$;\u019B/($8$:\u0241$!!)($'#(#'#(\"'#&'#"),peg$decode("%$4\u0242\"\"5!7\u02430)*4\u0242\"\"5!7\u0243&/5#;\u01A0/,$;\u0240/#$+#)(#'#(\"'#&'#"),peg$decode("%2\u0244\"\"6\u02447\u0245/k#$2\u0246\"\"6\u02467\u0247.) &4\u0248\"\"5!7\u024905*2\u0246\"\"6\u02467\u0247.) &4\u0248\"\"5!7\u0249&/7$2\u0244\"\"6\u02447\u0245/($8#:\u024A#!!)(#'#(\"'#&'#"),peg$decode("%2\u024B\"\"6\u024B7\u024C/k#$26\"\"6677.) &48\"\"5!7905*26\"\"6677.) &48\"\"5!79&/7$2\u024B\"\"6\u024B7\u024C/($8#:\u024D#!!)(#'#(\"'#&'#"),peg$decode("%2\u024E\"\"6\u024E7\u024F/k#$2\u0250\"\"6\u02507\u0251.) &4\u0252\"\"5!7\u025305*2\u0250\"\"6\u02507\u0251.) &4\u0252\"\"5!7\u0253&/7$2\u024E\"\"6\u024E7\u024F/($8#:\u0254#!!)(#'#(\"'#&'#"),peg$decode("<%2\u0256\"\"6\u02567\u0257/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u0255"),peg$decode("<%2\u0259\"\"6\u02597\u025A/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u0258"),peg$decode("<%2\u025C\"\"6\u025C7\u025D/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u025B"),peg$decode("<%2\u025F\"\"6\u025F7\u0260/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u025E"),peg$decode("<%2\u0262\"\"6\u02627\u0263/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u0261"),peg$decode("<%2\u0265\"\"6\u02657\u0266/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u0264"),peg$decode("<%2\u0268\"\"6\u02687\u0269/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u0267"),peg$decode("<%2\u026B\"\"6\u026B7\u026C/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u026A"),peg$decode("<%2\u024B\"\"6\u024B7\u024C/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u026D"),peg$decode("<%2\u0244\"\"6\u02447\u0245/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u026E"),peg$decode("<%2\u024E\"\"6\u024E7\u024F/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u026F"),peg$decode("<%2\u0271\"\"6\u02717\u0272/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u0270"),peg$decode("<%2\u0274\"\"6\u02747\u0275/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u0273"),peg$decode("<%2\u0277\"\"6\u02777\u0278/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u0276"),peg$decode("<%2\u0279\"\"6\u02797\u027A/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u01CD"),peg$decode("<%2\u027C\"\"6\u027C7\u027D/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u027B"),peg$decode("<%2\u027F\"\"6\u027F7\u0280/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u027E"),peg$decode("<%2\u0281\"\"6\u02817\u0282/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u01C4"),peg$decode("<%2\u0283\"\"6\u02837\u0284/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u01C9"),peg$decode("<%2\u0285\"\"6\u02857\u0286/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u01CA"),peg$decode("<%2\u0288\"\"6\u02887\u0289/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u0287"),peg$decode("<%2\u028B\"\"6\u028B7\u028C/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u028A"),peg$decode("<%2a\"\"6a7b/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u028D"),peg$decode("<%2\u028F\"\"6\u028F7\u0290/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u028E"),peg$decode("<%2\u0292\"\"6\u02927\u0293/1#;\u0240/($8\":\"\"!!)(\"'#&'#=.\" 7\u0291"),peg$decode("%3\u0294\"\"5%7\u0295/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0296\"\"5&7\u0297/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0298\"\"5#7\u0299/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u029A\"\"5%7\u029B/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u029C\"\"5#7\u029D/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u029E\"\"5%7\u029F/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02A0\"\"5'7\u02A1/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02A2\"\"5#7\u02A3/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02A4\"\"5\"7\u02A5/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02A6\"\"5#7\u02A7/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02A8\"\"5&7\u02A9/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02AA\"\"5-7\u02AB/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02AC\"\"5&7\u02AD/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02AE\"\"5%7\u02AF/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02B0\"\"5'7\u02B1/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02B2\"\"5\"7\u02B3/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02B4\"\"5'7\u02B5/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02B6\"\"5$7\u02B7/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02B8\"\"5$7\u02B9/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02BA\"\"5%7\u02BB/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02BC\"\"5'7\u02BD/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02BE\"\"5&7\u02BF/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02C0\"\"5&7\u02C1/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02C2\"\"5(7\u02C3/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02C4\"\"5*7\u02C5/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02C6\"\"5&7\u02C7/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02C8\"\"5%7\u02C9/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02CA\"\"5,7\u02CB/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02CC\"\"5,7\u02CD/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02CE\"\"517\u02CF/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02D0\"\"5(7\u02D1/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02D2\"\"5'7\u02D3/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02D4\"\"5*7\u02D5/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02D6\"\"5(7\u02D7/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02D8\"\"5&7\u02D9/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02DA\"\"5$7\u02DB/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02DC\"\"5&7\u02DD/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02DE\"\"5(7\u02DF/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02E0\"\"5$7\u02E1/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02E2\"\"5$7\u02E3/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02E4\"\"5$7\u02E5/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02E6\"\"5#7\u02E7/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02E8\"\"5&7\u02E9/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02EA\"\"5&7\u02EB/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02EC\"\"5)7\u02ED/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02EE\"\"5&7\u02EF/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02F0\"\"5'7\u02F1/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02F2\"\"5$7\u02F3/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02F4\"\"5#7\u02F5/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02F6\"\"5'7\u02F7/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02F8\"\"5$7\u02F9/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02FA\"\"5$7\u02FB/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02FC\"\"5$7\u02FD/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02FE\"\"5%7\u02FF/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0300\"\"5&7\u0301/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0302\"\"5\"7\u0303/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0304\"\"5&7\u0305/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0306\"\"5)7\u0307/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0308\"\"5\"7\u0309/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u030A\"\"5%7\u030B/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u030C\"\"5'7\u030D/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u030E\"\"5)7\u030F/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0310\"\"5%7\u0311/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0312\"\"5&7\u0313/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0314\"\"5'7\u0315/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0316\"\"5)7\u0317/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0318\"\"5$7\u0319/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u031A\"\"5\"7\u031B/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u031C\"\"5&7\u031D/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u031E\"\"5$7\u031F/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0320\"\"5#7\u0321/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0322\"\"5$7\u0323/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0324\"\"5$7\u0325/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0326\"\"5%7\u0327/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0328\"\"5%7\u0329/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u032A\"\"5'7\u032B/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u032C\"\"5\"7\u032D/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u032E\"\"5#7\u032F/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0330\"\"5'7\u0331/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3y\"\"5$7z/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0332\"\"5\"7\u0333/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0334\"\"5&7\u0335/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0336\"\"5\"7\u0337/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0338\"\"5\"7\u0339/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u033A\"\"5%7\u033B/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u033C\"\"5%7\u033D/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u033E\"\"5$7\u033F/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0340\"\"5&7\u0341/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0342\"\"5'7\u0343/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0344\"\"5%7\u0345/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0346\"\"5%7\u0347/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0348\"\"5)7\u0349/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u034A\"\"5*7\u034B/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u034C\"\"5&7\u034D/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u034E\"\"5'7\u034F/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0350\"\"5'7\u0351/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0352\"\"5&7\u0353/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0354\"\"5'7\u0355/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0356\"\"5(7\u0357/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0358\"\"5%7\u0359/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u035A\"\"5(7\u035B/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u035C\"\"5#7\u035D/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u035E\"\"5%7\u035F/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0360\"\"5)7\u0361/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0362\"\"5&7\u0363/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0364\"\"5#7\u0365/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0366\"\"5%7\u0367/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0368\"\"5$7\u0369/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u036A\"\"5)7\u036B/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u036C\"\"5$7\u036D/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u036E\"\"5\"7\u036F/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0370\"\"5+7\u0371/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0372\"\"5'7\u0373/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0374\"\"5%7\u0375/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0376\"\"5&7\u0377/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0378\"\"5&7\u0379/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u037A\"\"5%7\u037B/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u037C\"\"5&7\u037D/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u037E\"\"5&7\u037F/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0380\"\"5$7\u0381/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0382\"\"5'7\u0383/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0384\"\"5$7\u0385/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0386\"\"5%7\u0387/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0388\"\"5$7\u0389/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u038A\"\"5'7\u038B/8#%<;\u0194=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%;\u0236/' 8!:\u038C!! )"),peg$decode(";\u01B8.\u02F9 &;\u01B9.\u02F3 &;\u01BA.\u02ED &;\u01BB.\u02E7 &;\u01BC.\u02E1 &;\u01BD.\u02DB &;\u01BE.\u02D5 &;\u01BF.\u02CF &;\u01C0.\u02C9 &;\u01C1.\u02C3 &;\u01C2.\u02BD &;\u01C3.\u02B7 &;\u01C4.\u02B1 &;\u01C5.\u02AB &;\u01C6.\u02A5 &;\u01C7.\u029F &;\u01C8.\u0299 &;\u01C9.\u0293 &;\u01CA.\u028D &;\u01CB.\u0287 &;\u01CC.\u0281 &;\u01CD.\u027B &;\u01CE.\u0275 &;\u01CF.\u026F &;\u01D0.\u0269 &;\u01D1.\u0263 &;\u01D2.\u025D &;\u01D3.\u0257 &;\u01D4.\u0251 &;\u01D5.\u024B &;\u01D6.\u0245 &;\u01D7.\u023F &;\u01D8.\u0239 &;\u01D9.\u0233 &;\u01DA.\u022D &;\u01DB.\u0227 &;\u01DC.\u0221 &;\u01DD.\u021B &;\u01DE.\u0215 &;\u01DF.\u020F &;\u01E0.\u0209 &;\u01E1.\u0203 &;\u01E2.\u01FD &;\u01E3.\u01F7 &;\u01E4.\u01F1 &;\u01E5.\u01EB &;\u01E6.\u01E5 &;\u01E7.\u01DF &;\u01E8.\u01D9 &;\u01E9.\u01D3 &;\u01EA.\u01CD &;\u01EB.\u01C7 &;\u01EC.\u01C1 &;\u01ED.\u01BB &;\u01EE.\u01B5 &;\u01EF.\u01AF &;\u01F0.\u01A9 &;\u01F1.\u01A3 &;\u01F2.\u019D &;\u01F3.\u0197 &;\u01F4.\u0191 &;\u01F5.\u018B &;\u01F6.\u0185 &;\u01F7.\u017F &;\u01F8.\u0179 &;\u01F9.\u0173 &;\u01FA.\u016D &;\u01FB.\u0167 &;\u01FC.\u0161 &;\u01FD.\u015B &;\u01FE.\u0155 &;\u01FF.\u014F &;\u0200.\u0149 &;\u0201.\u0143 &;\u0202.\u013D &;\u0203.\u0137 &;\u0204.\u0131 &;\u0205.\u012B &;\u0206.\u0125 &;\u0207.\u011F &;\u0208.\u0119 &;\u0209.\u0113 &;\u020A.\u010D &;\u020B.\u0107 &;\u020C.\u0101 &;\u020D.\xFB &;\u020E.\xF5 &;\u020F.\xEF &;\u0210.\xE9 &;\u0211.\xE3 &;\u0212.\xDD &;\u0213.\xD7 &;\u0214.\xD1 &;\u0215.\xCB &;\u0216.\xC5 &;\u0217.\xBF &;\u0218.\xB9 &;\u0219.\xB3 &;\u021A.\xAD &;\u021B.\xA7 &;\u021C.\xA1 &;\u021D.\x9B &;\u021F.\x95 &;\u0220.\x8F &;\u0221.\x89 &;\u0222.\x83 &;\u0224.} &;\u0225.w &;\u0226.q &;\u0227.k &;\u0228.e &;\u0229._ &;\u022A.Y &;\u022B.S &;\u022C.M &;\u022D.G &;\u022E.A &;\u022F.; &;\u0230.5 &;\u0231./ &;\u0232.) &;\u0233.# &;\u0234"),peg$decode(";\u01BA.\u0167 &;\u01BC.\u0161 &;\u01BD.\u015B &;\u01BF.\u0155 &;\u01C0.\u014F &;\u01C3.\u0149 &;\u01C6.\u0143 &;\u01C9.\u013D &;\u01CB.\u0137 &;\u01CC.\u0131 &;\u01CE.\u012B &;\u01D0.\u0125 &;\u01D1.\u011F &;\u01D7.\u0119 &;\u01D8.\u0113 &;\u01DA.\u010D &;\u01DD.\u0107 &;\u01DE.\u0101 &;\u01E0.\xFB &;\u01E2.\xF5 &;\u01E3.\xEF &;\u01E5.\xE9 &;\u01E9.\xE3 &;\u01EA.\xDD &;\u01ED.\xD7 &;\u01EE.\xD1 &;\u01F2.\xCB &;\u01F3.\xC5 &;\u01F7.\xBF &;\u01F9.\xB9 &;\u01FA.\xB3 &;\u01FB.\xAD &;\u01FC.\xA7 &;\u01FD.\xA1 &;\u0201.\x9B &;\u0205.\x95 &;\u0206.\x8F &;\u0207.\x89 &;\u020A.\x83 &;\u020B.} &;\u020C.w &;\u0210.q &;\u0214.k &;\u0220.e &;\u0221._ &;\u0222.Y &;\u0225.S &;\u0226.M &;\u0227.G &;\u0229.A &;\u022A.; &;\u022B.5 &;\u022C./ &;\u022E.) &;\u0231.# &;\u0232"),peg$decode(";\u0239.. &%;\u023A/& 8!:\u038D! )"),peg$decode("<%2\u038F\"\"6\u038F7\u0390/\x87#$%%<4\u0391\"\"5!7\u0392=.##&&!&'#/1#1\"\"5!7\u0240/#$+\")(\"'#&'#0M*%%<4\u0391\"\"5!7\u0392=.##&&!&'#/1#1\"\"5!7\u0240/#$+\")(\"'#&'#&/#$+\")(\"'#&'#=.\" 7\u038E"),peg$decode("<%;\u023B/5#;\u023F/,$;\u023C/#$+#)(#'#(\"'#&'#=.\" 7\u0393"),peg$decode("2\u0394\"\"6\u03947\u0395"),peg$decode("2\u0396\"\"6\u03967\u0397"),peg$decode("$%%<;\u023C.# &;\u023B=.##&&!&'#/1#1\"\"5!7\u0240/#$+\")(\"'#&'#/P#0M*%%<;\u023C.# &;\u023B=.##&&!&'#/1#1\"\"5!7\u0240/#$+\")(\"'#&'#&&&#"),peg$decode(";\u023D.# &;\u023A"),peg$decode("%;\u023E/K#$4\u0398\"\"5!7\u0399.# &;\u023E0/*4\u0398\"\"5!7\u0399.# &;\u023E&/#$+\")(\"'#&'#"),peg$decode("<%$4\u0398\"\"5!7\u0399.# &;\u02380/*4\u0398\"\"5!7\u0399.# &;\u0238&/' 8!:-!! )=.\" 7\u039A"),peg$decode("2\u039B\"\"6\u039B7\u039C")];var peg$currPos=0;var peg$savedPos=0;var peg$posDetailsCache=[{line:1,column:1}];var peg$maxFailPos=0;var peg$maxFailExpected=[];var peg$silentFails=0;var peg$resultsCache={};var peg$ruleNames=["start","start_streaming","stmt_list","semi_optional","semi_required","stmt_list_tail","type_definition","type_definition_types","datatype_custom","datatype_word_tail","type_definition_args","definition_args_loop","literal_value","literal_null","literal_date","literal_string","literal_string_single","literal_string_schar","literal_blob","literal_text","number_sign","literal_number_signed","literal_number","literal_number_decimal","number_decimal_node","number_decimal_full","number_decimal_fraction","number_decimal_exponent","literal_number_hex","number_hex","number_digit","bind_parameter","bind_parameter_numbered","bind_number_id","bind_parameter_named","bind_parameter_tcl","tcl_suffix","expression_exists","expression_exists_ne","expression_raise","expression_raise_args","raise_args_ignore","raise_args_message","expression_root","expression_wrapped","expression_recur","expression_unary_collate","expression_unary","expression_unary_op","expression_collate","expression_concat","expression_multiply","expression_multiply_op","expression_add","expression_add_op","expression_shift","expression_shift_op","expression_compare","expression_compare_op","expression_equiv","expression_equiv_tails","expression_equiv_null_op","expression_equiv_op","expression_cast","type_alias","expression_case","case_expression","expression_case_when","expression_case_else","expression_postfix","expression_postfix_tail","expression_like","expression_escape","expression_between","expression_between_tail","expression_is_not","expression_in","expression_in_target","expression_list_or_select","expression","expression_and_op","expression_list","expression_list_loop","expression_list_rest","function_call","function_call_args","args_list_distinct","error_message","stmt","stmt_modifier","modifier_query","stmt_nodes","stmt_commit","stmt_begin","commit_transaction","stmt_begin_modifier","stmt_rollback","rollback_savepoint","savepoint_name","savepoint_alt","stmt_savepoint","stmt_release","stmt_alter","alter_start","alter_action","alter_action_rename","alter_action_add","action_add_modifier","stmt_crud","stmt_core_with","clause_with","clause_with_recursive","clause_with_tables","clause_with_loop","expression_cte","select_alias","select_wrapped","stmt_select_full","stmt_sqlite","stmt_attach","attach_arg","stmt_detach","stmt_vacuum","vacuum_target","stmt_analyze","analyze_arg","stmt_reindex","reindex_arg","stmt_pragma","pragma_expression","pragma_value","pragma_value_literal","pragma_value_bool","pragma_bool_id","pragma_value_name","stmt_crud_types","stmt_select","stmt_core_order","stmt_core_limit","stmt_core_limit_offset","limit_offset_variant","limit_offset_variant_name","select_loop","select_loop_union","select_parts","select_parts_core","select_core_select","select_modifier","select_modifier_distinct","select_modifier_all","select_target","select_target_loop","select_core_from","stmt_core_where","select_core_group","select_core_having","select_node","select_node_star","select_node_star_qualified","select_node_aliased","select_source","source_loop_tail","select_cross_clause","select_join_clause","table_or_sub","table_or_sub_func","table_qualified","table_qualified_id","table_or_sub_index_node","index_node_indexed","index_node_none","table_or_sub_sub","table_or_sub_select","alias","join_operator","join_operator_natural","join_operator_types","operator_types_hand","types_hand_outer","operator_types_misc","join_condition","join_condition_on","join_condition_using","select_parts_values","stmt_core_order_list","stmt_core_order_list_loop","stmt_core_order_list_item","select_star","stmt_fallback_types","stmt_insert","insert_keyword","insert_keyword_ins","insert_keyword_repl","insert_keyword_mod","insert_target","insert_into","insert_into_start","insert_results","loop_columns","loop_column_tail","loop_name","insert_value","insert_value_start","insert_values_list","insert_values_loop","expression_list_wrapped","insert_default","operator_compound","compound_union","compound_union_all","stmt_update","update_start","update_fallback","update_set","update_columns","update_columns_tail","update_column","stmt_delete","delete_start","stmt_create","create_start","create_table_only","create_index_only","create_trigger_only","create_view_only","create_virtual_only","create_table","create_table_start","create_core_tmp","create_core_ine","create_table_source","table_source_def","source_def_rowid","source_def_loop","source_def_tail","source_tbl_loop","source_def_column","source_def_name","column_type","column_constraints","column_constraint_tail","column_constraint","constraint_name","constraint_name_loop","column_constraint_types","column_constraint_foreign","column_constraint_primary","col_primary_start","col_primary_auto","column_constraint_null","constraint_null_types","constraint_null_value","column_constraint_check","column_constraint_default","column_default_values","column_constraint_collate","table_constraint","table_constraint_types","table_constraint_check","table_constraint_primary","primary_start","primary_start_normal","primary_start_unique","primary_columns","primary_columns_index","primary_columns_table","primary_column_tail","primary_column","primary_column_types","column_collate","column_collate_loop","primary_column_dir","primary_conflict","primary_conflict_start","constraint_check","table_constraint_foreign","foreign_start","foreign_clause","foreign_references","foreign_actions","foreign_actions_tail","foreign_action","foreign_action_on","action_on_action","on_action_set","on_action_cascade","on_action_none","foreign_action_match","foreign_deferrable","deferrable_initially","table_source_select","create_index","create_index_start","index_unique","index_on","create_trigger","create_trigger_start","trigger_conditions","trigger_apply_mods","trigger_apply_instead","trigger_do","trigger_do_on","trigger_do_update","do_update_of","do_update_columns","trigger_foreach","trigger_when","trigger_action","action_loop","action_loop_stmt","create_view","id_view_expression","create_view_start","create_as_select","create_virtual","create_virtual_start","virtual_module","virtual_args","virtual_args_loop","virtual_args_tail","virtual_arg_types","virtual_column_name","stmt_drop","drop_start","drop_types","drop_conditions","drop_ie","binary_concat","binary_plus","binary_minus","binary_multiply","binary_divide","binary_mod","binary_left","binary_right","binary_and","binary_or","binary_lt","binary_gt","binary_lte","binary_gte","binary_equal","binary_notequal_a","binary_notequal_b","binary_lang_isnt","id_name","id_database","id_function","id_table","id_table_qualified","id_column","column_unqualified","column_qualifiers","id_column_qualified","id_collation","id_savepoint","id_index","id_trigger","id_view","id_pragma","id_cte","id_table_expression","id_constraint_table","id_constraint_column","datatype_types","datatype_text","datatype_real","datatype_real_double","datatype_numeric","datatype_integer","datatype_integer_fp","datatype_none","name_char","unicode_char","name","name_quoted","name_unquoted","name_reserved","name_bracketed","bracket_terminator","name_dblquoted","name_sglquoted","name_backticked","sym_bopen","sym_bclose","sym_popen","sym_pclose","sym_comma","sym_dot","sym_star","sym_quest","sym_sglquote","sym_dblquote","sym_backtick","sym_tilde","sym_plus","sym_minus","sym_equal","sym_amp","sym_pipe","sym_mod","sym_lt","sym_gt","sym_excl","sym_semi","sym_colon","sym_fslash","sym_bslash","ABORT","ACTION","ADD","AFTER","ALL","ALTER","ANALYZE","AND","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FOR","FOREIGN","FROM","FULL","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LEFT","LIKE","LIMIT","MATCH","NATURAL","NO","NOT","NOTNULL","NULL","OF","OFFSET","ON","OR","ORDER","OUTER","PLAN","PRAGMA","PRIMARY","QUERY","RAISE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RIGHT","ROLLBACK","ROW","ROWID","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TO","TRANSACTION","TRIGGER","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WITH","WITHOUT","reserved_words","reserved_word_list","reserved_critical_list","comment","comment_line","comment_block","comment_block_start","comment_block_end","comment_block_body","block_body_nodes","comment_block_feed","o","_TODO_"];var peg$descNames=[null,null,null,null,null,null,"Type Definition",null,"Custom Datatype Name",null,"Type Definition Arguments",null,null,"Null Literal","Date Literal","String Literal","Single-quoted String Literal",null,"Blob Literal",null,"Number Sign",null,null,null,"Decimal Literal",null,null,"Decimal Literal Exponent","Hexidecimal Literal",null,null,"Bind Parameter","Numbered Bind Parameter",null,"Named Bind Parameter","TCL Bind Parameter",null,"EXISTS Expression","EXISTS Keyword","RAISE Expression","RAISE Expression Arguments","IGNORE Keyword",null,null,null,null,null,null,null,"COLLATE Expression",null,null,null,null,null,null,null,null,null,null,null,null,null,"CAST Expression","Type Alias","CASE Expression",null,"WHEN Clause","ELSE Clause",null,null,"Comparison Expression","ESCAPE Expression","BETWEEN Expression",null,null,"IN Expression",null,null,null,null,"Expression List",null,null,"Function Call","Function Call Arguments",null,"Error Message","Statement","QUERY PLAN","QUERY PLAN Keyword",null,"END Transaction Statement","BEGIN Transaction Statement",null,null,"ROLLBACK Statement","TO Clause",null,null,"SAVEPOINT Statement","RELEASE Statement","ALTER TABLE Statement","ALTER TABLE Keyword",null,"RENAME TO Keyword","ADD COLUMN Keyword",null,null,"WITH Clause",null,null,null,null,"Common Table Expression",null,null,null,null,"ATTACH Statement",null,"DETACH Statement","VACUUM Statement",null,"ANALYZE Statement",null,"REINDEX Statement",null,"PRAGMA Statement",null,null,null,null,null,null,null,"SELECT Statement","ORDER BY Clause","LIMIT Clause","OFFSET Clause",null,null,null,"Union Operation",null,null,"SELECT Results Clause","SELECT Results Modifier",null,null,null,null,"FROM Clause","WHERE Clause","GROUP BY Clause","HAVING Clause",null,null,null,null,null,null,"CROSS JOIN Operation","JOIN Operation",null,null,"Qualified Table","Qualified Table Identifier","Qualfied Table Index",null,null,"SELECT Source","Subquery","Alias","JOIN Operator",null,null,null,null,null,"JOIN Constraint","Join ON Clause","Join USING Clause","VALUES Clause",null,null,"Ordering Expression","Star","Fallback Type","INSERT Statement",null,"INSERT Keyword","REPLACE Keyword","INSERT OR Modifier",null,"INTO Clause","INTO Keyword","VALUES Clause","Column List",null,"Column Name","VALUES Clause","VALUES Keyword",null,null,"Wrapped Expression List","DEFAULT VALUES Clause","Compound Operator","UNION Operator",null,"UPDATE Statement","UPDATE Keyword","UPDATE OR Modifier","SET Clause",null,null,"Column Assignment","DELETE Statement","DELETE Keyword","CREATE Statement",null,null,null,null,null,null,"CREATE TABLE Statement",null,null,"IF NOT EXISTS Modifier",null,"Table Definition",null,null,null,null,"Column Definition",null,"Column Datatype",null,null,"Column Constraint",null,"CONSTRAINT Name",null,"FOREIGN KEY Column Constraint","PRIMARY KEY Column Constraint","PRIMARY KEY Keyword","AUTOINCREMENT Keyword",null,"UNIQUE Column Constraint","NULL Column Constraint","CHECK Column Constraint","DEFAULT Column Constraint",null,"COLLATE Column Constraint","Table Constraint",null,"CHECK Table Constraint","PRIMARY KEY Table Constraint",null,"PRIMARY KEY Keyword","UNIQUE Keyword",null,null,null,null,"Indexed Column",null,"Collation",null,"Column Direction",null,"ON CONFLICT Keyword",null,"FOREIGN KEY Table Constraint","FOREIGN KEY Keyword",null,"REFERENCES Clause",null,null,"FOREIGN KEY Action Clause",null,"FOREIGN KEY Action",null,null,null,null,"DEFERRABLE Clause",null,null,"CREATE INDEX Statement",null,null,"ON Clause","CREATE TRIGGER Statement",null,"Conditional Clause",null,null,"Conditional Action",null,null,null,null,null,"WHEN Clause","Actions Clause",null,null,"CREATE VIEW Statement",null,null,null,"CREATE VIRTUAL TABLE Statement",null,null,"Module Arguments",null,null,null,null,"DROP Statement","DROP Keyword","DROP Type",null,"IF EXISTS Keyword","Or","Add","Subtract","Multiply","Divide","Modulo","Shift Left","Shift Right","Logical AND","Logical OR","Less Than","Greater Than","Less Than Or Equal","Greater Than Or Equal","Equal","Not Equal","Not Equal","IS","Identifier","Database Identifier","Function Identifier","Table Identifier",null,"Column Identifier",null,null,null,"Collation Identifier","Savepoint Identifier","Index Identifier","Trigger Identifier","View Identifier","Pragma Identifier","CTE Identifier",null,"Table Constraint Identifier","Column Constraint Identifier","Datatype Name","TEXT Datatype Name","REAL Datatype Name","DOUBLE Datatype Name","NUMERIC Datatype Name","INTEGER Datatype Name",null,"BLOB Datatype Name",null,null,null,null,null,null,null,null,null,null,null,"Open Bracket","Close Bracket","Open Parenthesis","Close Parenthesis","Comma","Period","Asterisk","Question Mark","Single Quote","Double Quote","Backtick","Tilde","Plus","Minus","Equal","Ampersand","Pipe","Modulo","Less Than","Greater Than","Exclamation","Semicolon","Colon","Forward Slash","Backslash",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Line Comment","Block Comment",null,null,null,null,null,"Whitespace",null];var peg$tracer="tracer"in options?options.tracer:new peg$DefaultTracer();var peg$result;if("startRule"in options){if(!(options.startRule in peg$startRuleIndices)){throw new Error("Can't start parsing from rule \""+options.startRule+"\".");}peg$startRuleIndex=peg$startRuleIndices[options.startRule];}function text(){return input.substring(peg$savedPos,peg$currPos);}function location(){return peg$computeLocation(peg$savedPos,peg$currPos);}function expected(description,location){location=location!==undefined?location:peg$computeLocation(peg$savedPos,peg$currPos);throw peg$buildStructuredError([peg$otherExpectation(description)],input.substring(peg$savedPos,peg$currPos),location);}function error(message,location){location=location!==undefined?location:peg$computeLocation(peg$savedPos,peg$currPos);throw peg$buildSimpleError(message,location);}function peg$literalExpectation(text,ignoreCase){return{type:"literal",text:text,ignoreCase:ignoreCase};}function peg$classExpectation(parts,inverted,ignoreCase){return{type:"class",parts:parts,inverted:inverted,ignoreCase:ignoreCase};}function peg$anyExpectation(){return{type:"any"};}function peg$endExpectation(){return{type:"end"};}function peg$otherExpectation(description){return{type:"other",description:description};}function peg$computePosDetails(pos){var details=peg$posDetailsCache[pos];var p;if(details){return details;}else{p=pos-1;while(!peg$posDetailsCache[p]){p--;}details=peg$posDetailsCache[p];details={line:details.line,column:details.column};while(ppeg$maxFailPos){peg$maxFailPos=peg$currPos;peg$maxFailExpected=[];}peg$maxFailExpected.push(expected);}function peg$buildSimpleError(message,location){return new peg$SyntaxError(message,null,null,location);}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location);}function peg$decode(s){return s.split("").map(function(ch){return ch.charCodeAt(0)-32;});}function peg$parseRule(index){var bc=peg$bytecode[index];var ip=0;var ips=[];var end=bc.length;var ends=[];var stack=[];var startPos=peg$currPos;var params;peg$tracer.trace({type:"rule.enter",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});var key=peg$currPos*546+index;var cached=peg$resultsCache[key];if(cached){peg$currPos=cached.nextPos;if(cached.result!==peg$FAILED){peg$tracer.trace({type:"rule.match",rule:peg$ruleNames[index],description:peg$descNames[index],result:cached.result,location:peg$computeLocation(startPos,peg$currPos)});}else{peg$tracer.trace({type:"rule.fail",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});}return cached.result;}while(true){while(ippeg$currPos){end=ip+3+bc[ip+1];ip+=3;}else{end=ip+3+bc[ip+1]+bc[ip+2];ip+=3+bc[ip+1];}break;case 18:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(input.substr(peg$currPos,peg$consts[bc[ip+1]].length)===peg$consts[bc[ip+1]]){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 19:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(input.substr(peg$currPos,peg$consts[bc[ip+1]].length).toLowerCase()===peg$consts[bc[ip+1]]){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 20:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(peg$consts[bc[ip+1]].test(input.charAt(peg$currPos))){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 21:stack.push(input.substr(peg$currPos,bc[ip+1]));peg$currPos+=bc[ip+1];ip+=2;break;case 22:stack.push(peg$consts[bc[ip+1]]);peg$currPos+=peg$consts[bc[ip+1]].length;ip+=2;break;case 23:stack.push(peg$FAILED);if(peg$silentFails===0){peg$fail(peg$consts[bc[ip+1]]);}ip+=2;break;case 24:peg$savedPos=stack[stack.length-1-bc[ip+1]];ip+=2;break;case 25:peg$savedPos=peg$currPos;ip++;break;case 26:params=bc.slice(ip+4,ip+4+bc[ip+3]).map(function(p){return stack[stack.length-1-p];});stack.splice(stack.length-bc[ip+2],bc[ip+2],peg$consts[bc[ip+1]].apply(null,params));ip+=4+bc[ip+3];break;case 27:stack.push(peg$parseRule(bc[ip+1]));ip+=2;break;case 28:peg$silentFails++;ip++;break;case 29:peg$silentFails--;ip++;break;default:throw new Error("Invalid opcode: "+bc[ip]+".");}}if(ends.length>0){end=ends.pop();ip=ips.pop();}else{break;}}peg$resultsCache[key]={nextPos:peg$currPos,result:stack[0]};if(stack[0]!==peg$FAILED){peg$tracer.trace({type:"rule.match",rule:peg$ruleNames[index],description:peg$descNames[index],result:stack[0],location:peg$computeLocation(startPos,peg$currPos)});}else{peg$tracer.trace({type:"rule.fail",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});}return stack[0];}function makeArray(arr){if(!isOkay(arr)){return[];}return!Array.isArray(arr)?[arr]:arr;}function isOkay(obj){return obj!=null;}function foldString(parts){var glue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:' ';var folded=parts.filter(function(part){return isOkay(part);}).reduce(function(prev,cur){return""+prev+nodeToString(cur)+glue;},'');return folded.trim();}function foldStringWord(parts){return foldString(parts,'');}function foldStringKey(parts){return foldString(parts).toLowerCase();}function flattenAll(arr){return arr.filter(function(part){return isOkay(part);}).reduce(function(prev,cur){return prev.concat(cur);},[]);}function unescape(str){var quoteChar=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'\'';var re=new RegExp(quoteChar+"{2}",'g');return nodeToString(str).replace(re,quoteChar);}function nodeToString(){var node=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];return makeArray(node).join('');}function textNode(node){return nodeToString(node).trim();}function keyNode(node){return textNode(node).toLowerCase();}function isArrayOkay(arr){return Array.isArray(arr)&&arr.length>0&&isOkay(arr[0]);}function composeBinary(first,rest){return rest.reduce(function(left,_ref7){var _ref8=_slicedToArray(_ref7,4);var x=_ref8[0];var operation=_ref8[1];var y=_ref8[2];var right=_ref8[3];return{'type':'expression','format':'binary','variant':'operation','operation':keyNode(operation),'left':left,'right':right};},first);}peg$result=peg$parseRule(peg$startRuleIndex);if(peg$result!==peg$FAILED&&peg$currPos===input.length){return peg$result;}else{if(peg$result!==peg$FAILED&&peg$currPos0){for(i=1,j=1;i0;},function(d,e){return{'args':Object.assign(e,d)};},function(s){return{'filter':keyNode(s)};},peg$otherExpectation("Error Message"),function(m){return m;},peg$otherExpectation("Statement"),function(m,s){return Object.assign(s,m);},peg$otherExpectation("QUERY PLAN"),function(e,q){return{'explain':isOkay(e)};},peg$otherExpectation("QUERY PLAN Keyword"),function(q,p){return foldStringKey([q,p]);},peg$otherExpectation("END Transaction Statement"),function(s,t){return{'type':'statement','variant':'transaction','action':'commit'};},peg$otherExpectation("BEGIN Transaction Statement"),function(s,m,t,n){return Object.assign({'type':'statement','variant':'transaction','action':'begin'},m,n);},function(t){return t;},function(m){return{'defer':keyNode(m)};},peg$otherExpectation("ROLLBACK Statement"),function(s,n){return Object.assign({'type':'statement','variant':'transaction','action':'rollback'},n);},peg$otherExpectation("TO Clause"),function(n){return{'savepoint':n};},function(s){return keyNode(s);},peg$otherExpectation("SAVEPOINT Statement"),function(s,n){return{'type':'statement','variant':s,'target':n};},peg$otherExpectation("RELEASE Statement"),function(s,a,n){return{'type':'statement','variant':keyNode(s),'target':n};},peg$otherExpectation("ALTER TABLE Statement"),function(s,n,e){return Object.assign({'type':'statement','variant':keyNode(s),'target':n},e);},peg$otherExpectation("ALTER TABLE Keyword"),function(a,t){return foldStringKey([a,t]);},peg$otherExpectation("RENAME TO Keyword"),function(s,n){return{'action':keyNode(s),'name':n};},peg$otherExpectation("ADD COLUMN Keyword"),function(s,d){return{'action':keyNode(s),'definition':d};},function(w,s){return Object.assign(s,w);},peg$otherExpectation("WITH Clause"),function(s,v,t){var recursive={'variant':isOkay(v)?'recursive':'common'};if(isArrayOkay(t)){t=t.map(function(elem){return Object.assign(elem,recursive);});}return{'with':t};},function(f,r){return flattenAll([f,r]);},peg$otherExpectation("Common Table Expression"),function(t,s){return Object.assign({'type':'expression','format':'table','variant':'common','target':t},s);},function(s){return{'expression':s};},function(w,s){return Object.assign(s,w);},peg$otherExpectation("ATTACH Statement"),function(a,b,e,n){return{'type':'statement','variant':keyNode(a),'target':n,'attach':e};},peg$otherExpectation("DETACH Statement"),function(d,b,n){return{'type':'statement','variant':keyNode(d),'target':n};},peg$otherExpectation("VACUUM Statement"),function(v,t){return Object.assign({'type':'statement','variant':'vacuum'},t);},function(t){return{'target':t};},peg$otherExpectation("ANALYZE Statement"),function(s,a){return Object.assign({'type':'statement','variant':keyNode(s)},a);},function(n){return{'target':n['name']};},peg$otherExpectation("REINDEX Statement"),function(a){return{'target':a['name']};},peg$otherExpectation("PRAGMA Statement"),function(s,n,v){return{'type':'statement','variant':keyNode(s),'target':n,'args':{'type':'expression','variant':'list','expression':v}};},function(v){return v;},function(v){return /^(yes|no|on|off|false|true|0|1)$/i.test(v);},function(v){return{'type':'literal','variant':'boolean','normalized':/^(yes|on|true|1)$/i.test(v)?'1':'0','value':v};},function(n){return keyNode(n);},function(n){return{'type':'identifier','variant':'name','name':n};},peg$otherExpectation("SELECT Statement"),function(s,o,l){return Object.assign(s,o,l);},peg$otherExpectation("ORDER BY Clause"),function(d){return{'order':d['result']};},peg$otherExpectation("LIMIT Clause"),function(s,e,d){return{'limit':Object.assign({'type':'expression','variant':'limit','start':e},d)};},peg$otherExpectation("OFFSET Clause"),function(o,e){return{'offset':e};},function(s,u){if(isArrayOkay(u)){return{'type':'statement','variant':'compound','statement':s,'compound':u};}else{return s;}},peg$otherExpectation("Union Operation"),function(c,s){return{'type':'compound','variant':c,'statement':s};},function(s,f,w,g){return Object.assign({'type':'statement','variant':'select'},s,f,w,g);},peg$otherExpectation("SELECT Results Clause"),function(d,t){return Object.assign({'result':t},d);},peg$otherExpectation("SELECT Results Modifier"),function(s){return{'distinct':true};},function(s){return{};},peg$otherExpectation("FROM Clause"),function(f,s){return{'from':s};},peg$otherExpectation("WHERE Clause"),function(f,e){return{'where':makeArray(e)};},peg$otherExpectation("GROUP BY Clause"),function(f,e,h){return Object.assign({'group':e},h);},peg$otherExpectation("HAVING Clause"),function(f,e){return{'having':e};},function(q,s){return{'type':'identifier','variant':'star','name':foldStringWord([q,s])};},function(n,s){return foldStringWord([n,s]);},function(e,a){return Object.assign(e,a);},function(f,t){if(isArrayOkay(t)){return{'type':'map','variant':'join','source':f,'map':t};}return f;},function(cl,c){return Object.assign(cl,c);},peg$otherExpectation("CROSS JOIN Operation"),function(n){return{'type':'join','variant':'cross join','source':n};},peg$otherExpectation("JOIN Operation"),function(o,n){return{'type':'join','variant':keyNode(o),'source':n};},function(n,l,a){return Object.assign({'type':'function','variant':'table','name':n,'args':l},a);},peg$otherExpectation("Qualified Table"),function(d,i){return Object.assign(d,i);},peg$otherExpectation("Qualified Table Identifier"),function(n,a){return Object.assign(n,a);},peg$otherExpectation("Qualfied Table Index"),function(s,n){return{'index':n};},function(n,i){return{'index':foldStringKey([n,i])};},peg$otherExpectation("SELECT Source"),function(l,a){return Object.assign(l,a);},peg$otherExpectation("Subquery"),function(s,a){return Object.assign(s,a);},peg$otherExpectation("Alias"),function(a,n){return{'alias':n};},peg$otherExpectation("JOIN Operator"),function(n,t,j){return foldStringKey([n,t,j]);},function(t,o){return foldStringKey([t,o]);},function(t){return keyNode(t);},peg$otherExpectation("JOIN Constraint"),function(c){return{'constraint':Object.assign({'type':'constraint','variant':'join'},c)};},peg$otherExpectation("Join ON Clause"),function(s,e){return{'format':keyNode(s),'on':e};},peg$otherExpectation("Join USING Clause"),function(s,e){return{'format':keyNode(s),'using':e};},peg$otherExpectation("VALUES Clause"),function(s,l){return{'type':'statement','variant':'select','result':l};},function(f,b){return{'result':flattenAll([f,b])};},function(i){return i;},peg$otherExpectation("Ordering Expression"),function(e,d){if(isOkay(d)){return Object.assign({'type':'expression','variant':'order','expression':e},d);}return e;},peg$otherExpectation("Star"),peg$otherExpectation("Fallback Type"),peg$otherExpectation("INSERT Statement"),function(k,t){return Object.assign({'type':'statement','variant':'insert'},k,t);},peg$otherExpectation("INSERT Keyword"),function(a,m){return Object.assign({'action':keyNode(a)},m);},peg$otherExpectation("REPLACE Keyword"),function(a){return{'action':keyNode(a)};},peg$otherExpectation("INSERT OR Modifier"),function(s,m){return{'or':keyNode(m)};},function(i,r){return Object.assign({'into':i},r);},peg$otherExpectation("INTO Clause"),function(s,t){return t;},peg$otherExpectation("INTO Keyword"),function(r){return{'result':r};},peg$otherExpectation("Column List"),function(f,b){return{'columns':flattenAll([f,b])};},function(c){return c;},peg$otherExpectation("Column Name"),function(n){return{'type':'identifier','variant':'column','name':n};},function(s,r){return r;},peg$otherExpectation("VALUES Keyword"),function(f,b){return flattenAll([f,b]);},peg$otherExpectation("Wrapped Expression List"),function(e){return e;},peg$otherExpectation("DEFAULT VALUES Clause"),function(d,v){return{'type':'values','variant':'default'};},peg$otherExpectation("Compound Operator"),peg$otherExpectation("UNION Operator"),function(s,a){return foldStringKey([s,a]);},function(a){return a;},peg$otherExpectation("UPDATE Statement"),function(s,f,t,u,w,o,l){return Object.assign({'type':'statement','variant':s,'into':t},f,u,w,o,l);},peg$otherExpectation("UPDATE Keyword"),peg$otherExpectation("UPDATE OR Modifier"),function(t){return{'or':keyNode(t)};},peg$otherExpectation("SET Clause"),function(c){return{'set':c};},peg$otherExpectation("Column Assignment"),function(f,e){return{'type':'assignment','target':f,'value':e};},peg$otherExpectation("DELETE Statement"),function(s,t,w,o,l){return Object.assign({'type':'statement','variant':s,'from':t},w,o,l);},peg$otherExpectation("DELETE Keyword"),peg$otherExpectation("CREATE Statement"),peg$otherExpectation("CREATE TABLE Statement"),function(s,ne,id,r){return Object.assign({'type':'statement','name':id},s,r,ne);},function(s,tmp,t){return Object.assign({'variant':s,'format':keyNode(t)},tmp);},function(t){return{'temporary':isOkay(t)};},peg$otherExpectation("IF NOT EXISTS Modifier"),function(i,n,e){return{'condition':makeArray({'type':'condition','variant':keyNode(i),'condition':{'type':'expression','variant':keyNode(e),'operator':foldStringKey([n,e])}})};},peg$otherExpectation("Table Definition"),function(s,t,r){return Object.assign({'definition':flattenAll([s,t])},r);},function(r,w){return{'optimization':[{'type':'optimization','value':foldStringKey([r,w])}]};},function(f){return f;},peg$otherExpectation("Column Definition"),function(n,t,c){return Object.assign({'type':'definition','variant':'column','name':n,'definition':isOkay(c)?c:[]},t);},peg$otherExpectation("Column Datatype"),function(t){return{'datatype':t};},peg$otherExpectation("Column Constraint"),function(n,c,ln){return Object.assign(c,n);},function(cl){return cl[cl.length-1];},peg$otherExpectation("CONSTRAINT Name"),function(n){return{'name':n};},peg$otherExpectation("FOREIGN KEY Column Constraint"),function(f){return Object.assign({'variant':'foreign key'},f);},peg$otherExpectation("PRIMARY KEY Column Constraint"),function(p,d,c,a){return Object.assign(p,c,d,a);},peg$otherExpectation("PRIMARY KEY Keyword"),function(s,k){return{'type':'constraint','variant':foldStringKey([s,k])};},peg$otherExpectation("AUTOINCREMENT Keyword"),function(a){return{'autoIncrement':true};},function(s,c){return Object.assign({'type':'constraint','variant':s},c);},peg$otherExpectation("UNIQUE Column Constraint"),peg$otherExpectation("NULL Column Constraint"),function(n,l){return foldStringKey([n,l]);},peg$otherExpectation("CHECK Column Constraint"),peg$otherExpectation("DEFAULT Column Constraint"),function(s,v){return{'type':'constraint','variant':keyNode(s),'value':v};},peg$otherExpectation("COLLATE Column Constraint"),function(c){return{'type':'constraint','variant':'collate','collate':c};},peg$otherExpectation("Table Constraint"),function(n,c,nl){return Object.assign({'type':'definition','variant':'constraint'},c,n);},peg$otherExpectation("CHECK Table Constraint"),function(c){return{'definition':makeArray(c)};},peg$otherExpectation("PRIMARY KEY Table Constraint"),function(k,c,t){return{'definition':makeArray(Object.assign(k,t,c[1])),'columns':c[0]};},function(s){return{'type':'constraint','variant':keyNode(s)};},function(p,k){return foldStringKey([p,k]);},peg$otherExpectation("UNIQUE Keyword"),function(u){return keyNode(u);},function(f,b){return[f].concat(b);},function(c){return c.map(function(_ref){var _ref2=_slicedToArray(_ref,1);var res=_ref2[0];return res;});},function(c){var auto=c.find(function(_ref3){var _ref4=_slicedToArray(_ref3,2);var res=_ref4[0];var a=_ref4[1];return isOkay(a);});return[c.map(function(_ref5){var _ref6=_slicedToArray(_ref5,2);var res=_ref6[0];var a=_ref6[1];return res;}),auto?auto[1]:null];},peg$otherExpectation("Indexed Column"),function(e,d,a){var res=e;if(isOkay(d)){res=Object.assign({'type':'expression','variant':'order','expression':e},d);}return[res,a];},peg$otherExpectation("Collation"),function(c){return{'collate':makeArray(c)};},peg$otherExpectation("Column Direction"),function(t){return{'direction':keyNode(t)};},function(s,t){return{'conflict':keyNode(t)};},peg$otherExpectation("ON CONFLICT Keyword"),function(o,c){return foldStringKey([o,c]);},function(k,c){return{'type':'constraint','variant':keyNode(k),'expression':c};},peg$otherExpectation("FOREIGN KEY Table Constraint"),function(k,l,c){return Object.assign({'definition':makeArray(Object.assign(k,c))},l);},peg$otherExpectation("FOREIGN KEY Keyword"),function(f,k){return{'type':'constraint','variant':foldStringKey([f,k])};},function(r,a,d){return Object.assign({'type':'constraint'},r,a,d);},peg$otherExpectation("REFERENCES Clause"),function(s,t){return{'references':t};},function(f,b){return{'action':flattenAll([f,b])};},peg$otherExpectation("FOREIGN KEY Action Clause"),function(m,a,n){return{'type':'action','variant':keyNode(m),'action':keyNode(n)};},peg$otherExpectation("FOREIGN KEY Action"),function(s,v){return foldStringKey([s,v]);},function(c){return keyNode(c);},function(n,a){return foldStringKey([n,a]);},function(m,n){return{'type':'action','variant':keyNode(m),'action':n};},peg$otherExpectation("DEFERRABLE Clause"),function(n,d,i){return{'defer':foldStringKey([n,d,i])};},function(i,d){return foldStringKey([i,d]);},function(s){return{'definition':makeArray(s)};},peg$otherExpectation("CREATE INDEX Statement"),function(s,ne,n,o,w){return Object.assign({'type':'statement','target':n,'on':o},s,ne,w);},function(s,u,i){return Object.assign({'variant':keyNode(s),'format':keyNode(i)},u);},function(u){return{'unique':true};},peg$otherExpectation("ON Clause"),function(o,t,c){return{'type':'identifier','variant':'expression','format':'table','name':t['name'],'columns':c};},peg$otherExpectation("CREATE TRIGGER Statement"),function(s,ne,n,cd,o,me,wh,a){return Object.assign({'type':'statement','target':n,'on':o,'event':cd,'by':isOkay(me)?me:'row','action':makeArray(a)},s,ne,wh);},function(s,tmp,t){return Object.assign({'variant':keyNode(s),'format':keyNode(t)},tmp);},peg$otherExpectation("Conditional Clause"),function(m,d){return Object.assign({'type':'event'},m,d);},function(m){return{'occurs':keyNode(m)};},function(i,o){return foldStringKey([i,o]);},peg$otherExpectation("Conditional Action"),function(o){return{'event':keyNode(o)};},function(s,f){return{'event':keyNode(s),'of':f};},function(s,c){return c;},"statement",peg$literalExpectation("STATEMENT",true),function(f,e,r){return keyNode(r);},function(w,e){return{'when':e};},peg$otherExpectation("Actions Clause"),function(s,a,e){return a;},function(l){return l;},peg$otherExpectation("CREATE VIEW Statement"),function(s,ne,n,r){return Object.assign({'type':'statement','target':n,'result':r},s,ne);},function(n,a){return Object.assign({'type':'identifier','variant':'expression','format':'view','name':n['name'],'columns':[]},a);},function(s,tmp,v){return Object.assign({'variant':keyNode(s),'format':keyNode(v)},tmp);},peg$otherExpectation("CREATE VIRTUAL TABLE Statement"),function(s,ne,n,m){return Object.assign({'type':'statement','target':n,'result':m},s,ne);},function(s,v,t){return{'variant':keyNode(s),'format':keyNode(v)};},function(m,a){return Object.assign({'type':'module','name':m},a);},peg$otherExpectation("Module Arguments"),function(l){return{'args':{'type':'expression','variant':'list','expression':isOkay(l)?l:[]}};},function(f,b){return flattenAll([f,b]).filter(function(arg){return isOkay(arg);});},function(a){return a;},peg$otherExpectation("DROP Statement"),function(s,q){return Object.assign({'type':'statement','target':Object.assign(q,{'variant':s['format']})},s);},peg$otherExpectation("DROP Keyword"),function(s,t,i){return Object.assign({'variant':keyNode(s),'format':t,'condition':[]},i);},peg$otherExpectation("DROP Type"),peg$otherExpectation("IF EXISTS Keyword"),function(i,e){return{'condition':[{'type':'condition','variant':keyNode(i),'condition':{'type':'expression','variant':keyNode(e),'operator':keyNode(e)}}]};},peg$otherExpectation("Or"),peg$otherExpectation("Add"),peg$otherExpectation("Subtract"),peg$otherExpectation("Multiply"),peg$otherExpectation("Divide"),peg$otherExpectation("Modulo"),peg$otherExpectation("Shift Left"),peg$otherExpectation("Shift Right"),peg$otherExpectation("Logical AND"),peg$otherExpectation("Logical OR"),peg$otherExpectation("Less Than"),peg$otherExpectation("Greater Than"),peg$otherExpectation("Less Than Or Equal"),peg$otherExpectation("Greater Than Or Equal"),peg$otherExpectation("Equal"),peg$otherExpectation("Not Equal"),peg$otherExpectation("IS"),function(i,n){return foldStringKey([i,n]);},peg$otherExpectation("Identifier"),peg$otherExpectation("Database Identifier"),function(n){return{'type':'identifier','variant':'database','name':n};},peg$otherExpectation("Function Identifier"),function(d,n){return{'type':'identifier','variant':'function','name':foldStringWord([d,n])};},peg$otherExpectation("Table Identifier"),function(d,n){return{'type':'identifier','variant':'table','name':foldStringWord([d,n])};},function(n,d){return foldStringWord([n,d]);},peg$otherExpectation("Column Identifier"),function(q,n){return{'type':'identifier','variant':'column','name':foldStringWord([q,n])};},function(){return'';},function(d,t){return foldStringWord([d,t]);},peg$otherExpectation("Collation Identifier"),function(n){return{'type':'identifier','variant':'collation','name':n};},peg$otherExpectation("Savepoint Identifier"),function(n){return{'type':'identifier','variant':'savepoint','name':n};},peg$otherExpectation("Index Identifier"),function(d,n){return{'type':'identifier','variant':'index','name':foldStringWord([d,n])};},peg$otherExpectation("Trigger Identifier"),function(d,n){return{'type':'identifier','variant':'trigger','name':foldStringWord([d,n])};},peg$otherExpectation("View Identifier"),function(d,n){return{'type':'identifier','variant':'view','name':foldStringWord([d,n])};},peg$otherExpectation("Pragma Identifier"),function(d,n){return{'type':'identifier','variant':'pragma','name':foldStringWord([d,n])};},peg$otherExpectation("CTE Identifier"),function(d){return d;},function(n,a){return Object.assign({'type':'identifier','variant':'expression','format':'table','name':n['name'],'columns':[]},a);},peg$otherExpectation("Table Constraint Identifier"),function(n){return{'type':'identifier','variant':'constraint','format':'table','name':n};},peg$otherExpectation("Column Constraint Identifier"),function(n){return{'type':'identifier','variant':'constraint','format':'column','name':n};},peg$otherExpectation("Datatype Name"),function(t){return[t,'text'];},function(t){return[t,'real'];},function(t){return[t,'numeric'];},function(t){return[t,'integer'];},function(t){return[t,'none'];},peg$otherExpectation("TEXT Datatype Name"),"n",peg$literalExpectation("N",true),"var",peg$literalExpectation("VAR",true),"char",peg$literalExpectation("CHAR",true),"tiny",peg$literalExpectation("TINY",true),"medium",peg$literalExpectation("MEDIUM",true),"long",peg$literalExpectation("LONG",true),"text",peg$literalExpectation("TEXT",true),"clob",peg$literalExpectation("CLOB",true),peg$otherExpectation("REAL Datatype Name"),"float",peg$literalExpectation("FLOAT",true),"real",peg$literalExpectation("REAL",true),peg$otherExpectation("DOUBLE Datatype Name"),"double",peg$literalExpectation("DOUBLE",true),"precision",peg$literalExpectation("PRECISION",true),function(d,p){return foldStringWord([d,p]);},peg$otherExpectation("NUMERIC Datatype Name"),"numeric",peg$literalExpectation("NUMERIC",true),"decimal",peg$literalExpectation("DECIMAL",true),"boolean",peg$literalExpectation("BOOLEAN",true),"date",peg$literalExpectation("DATE",true),"time",peg$literalExpectation("TIME",true),"stamp",peg$literalExpectation("STAMP",true),"string",peg$literalExpectation("STRING",true),peg$otherExpectation("INTEGER Datatype Name"),"int",peg$literalExpectation("INT",true),"2",peg$literalExpectation("2",false),"4",peg$literalExpectation("4",false),"8",peg$literalExpectation("8",false),"eger",peg$literalExpectation("EGER",true),"big",peg$literalExpectation("BIG",true),"small",peg$literalExpectation("SMALL",true),"floating",peg$literalExpectation("FLOATING",true),"point",peg$literalExpectation("POINT",true),function(f,p){return foldStringWord([f,p]);},peg$otherExpectation("BLOB Datatype Name"),"blob",peg$literalExpectation("BLOB",true),/^[a-z0-9$_]/i,peg$classExpectation([["a","z"],["0","9"],"$","_"],false,true),"\\u",peg$literalExpectation("\\u",false),/^[a-f0-9]/i,peg$classExpectation([["a","f"],["0","9"]],false,true),function(u,s){return foldStringWord([u,s]).toLowerCase();},function(n){return keyNode(n);},peg$anyExpectation(),function(n){return textNode(n);},/^[ \t]/,peg$classExpectation([" ","\t"],false,false),"\"",peg$literalExpectation("\"",false),"\"\"",peg$literalExpectation("\"\"",false),/^[^"]/,peg$classExpectation(["\""],true,false),function(n){return unescape(n,'"');},"'",peg$literalExpectation("'",false),function(n){return unescape(n,"'");},"`",peg$literalExpectation("`",false),"``",peg$literalExpectation("``",false),/^[^`]/,peg$classExpectation(["`"],true,false),function(n){return unescape(n,'`');},peg$otherExpectation("Open Bracket"),"[",peg$literalExpectation("[",false),peg$otherExpectation("Close Bracket"),"]",peg$literalExpectation("]",false),peg$otherExpectation("Open Parenthesis"),"(",peg$literalExpectation("(",false),peg$otherExpectation("Close Parenthesis"),")",peg$literalExpectation(")",false),peg$otherExpectation("Comma"),",",peg$literalExpectation(",",false),peg$otherExpectation("Period"),".",peg$literalExpectation(".",false),peg$otherExpectation("Asterisk"),"*",peg$literalExpectation("*",false),peg$otherExpectation("Question Mark"),"?",peg$literalExpectation("?",false),peg$otherExpectation("Single Quote"),peg$otherExpectation("Double Quote"),peg$otherExpectation("Backtick"),peg$otherExpectation("Tilde"),"~",peg$literalExpectation("~",false),peg$otherExpectation("Plus"),"+",peg$literalExpectation("+",false),peg$otherExpectation("Minus"),"-",peg$literalExpectation("-",false),"=",peg$literalExpectation("=",false),peg$otherExpectation("Ampersand"),"&",peg$literalExpectation("&",false),peg$otherExpectation("Pipe"),"|",peg$literalExpectation("|",false),"%",peg$literalExpectation("%",false),"<",peg$literalExpectation("<",false),">",peg$literalExpectation(">",false),peg$otherExpectation("Exclamation"),"!",peg$literalExpectation("!",false),peg$otherExpectation("Semicolon"),";",peg$literalExpectation(";",false),peg$otherExpectation("Colon"),peg$otherExpectation("Forward Slash"),"/",peg$literalExpectation("/",false),peg$otherExpectation("Backslash"),"\\",peg$literalExpectation("\\",false),"abort",peg$literalExpectation("ABORT",true),"action",peg$literalExpectation("ACTION",true),"add",peg$literalExpectation("ADD",true),"after",peg$literalExpectation("AFTER",true),"all",peg$literalExpectation("ALL",true),"alter",peg$literalExpectation("ALTER",true),"analyze",peg$literalExpectation("ANALYZE",true),"and",peg$literalExpectation("AND",true),"as",peg$literalExpectation("AS",true),"asc",peg$literalExpectation("ASC",true),"attach",peg$literalExpectation("ATTACH",true),"autoincrement",peg$literalExpectation("AUTOINCREMENT",true),"before",peg$literalExpectation("BEFORE",true),"begin",peg$literalExpectation("BEGIN",true),"between",peg$literalExpectation("BETWEEN",true),"by",peg$literalExpectation("BY",true),"cascade",peg$literalExpectation("CASCADE",true),"case",peg$literalExpectation("CASE",true),"cast",peg$literalExpectation("CAST",true),"check",peg$literalExpectation("CHECK",true),"collate",peg$literalExpectation("COLLATE",true),"column",peg$literalExpectation("COLUMN",true),"commit",peg$literalExpectation("COMMIT",true),"conflict",peg$literalExpectation("CONFLICT",true),"constraint",peg$literalExpectation("CONSTRAINT",true),"create",peg$literalExpectation("CREATE",true),"cross",peg$literalExpectation("CROSS",true),"current_date",peg$literalExpectation("CURRENT_DATE",true),"current_time",peg$literalExpectation("CURRENT_TIME",true),"current_timestamp",peg$literalExpectation("CURRENT_TIMESTAMP",true),"database",peg$literalExpectation("DATABASE",true),"default",peg$literalExpectation("DEFAULT",true),"deferrable",peg$literalExpectation("DEFERRABLE",true),"deferred",peg$literalExpectation("DEFERRED",true),"delete",peg$literalExpectation("DELETE",true),"desc",peg$literalExpectation("DESC",true),"detach",peg$literalExpectation("DETACH",true),"distinct",peg$literalExpectation("DISTINCT",true),"drop",peg$literalExpectation("DROP",true),"each",peg$literalExpectation("EACH",true),"else",peg$literalExpectation("ELSE",true),"end",peg$literalExpectation("END",true),"escape",peg$literalExpectation("ESCAPE",true),"except",peg$literalExpectation("EXCEPT",true),"exclusive",peg$literalExpectation("EXCLUSIVE",true),"exists",peg$literalExpectation("EXISTS",true),"explain",peg$literalExpectation("EXPLAIN",true),"fail",peg$literalExpectation("FAIL",true),"for",peg$literalExpectation("FOR",true),"foreign",peg$literalExpectation("FOREIGN",true),"from",peg$literalExpectation("FROM",true),"full",peg$literalExpectation("FULL",true),"glob",peg$literalExpectation("GLOB",true),"group",peg$literalExpectation("GROUP",true),"having",peg$literalExpectation("HAVING",true),"if",peg$literalExpectation("IF",true),"ignore",peg$literalExpectation("IGNORE",true),"immediate",peg$literalExpectation("IMMEDIATE",true),"in",peg$literalExpectation("IN",true),"index",peg$literalExpectation("INDEX",true),"indexed",peg$literalExpectation("INDEXED",true),"initially",peg$literalExpectation("INITIALLY",true),"inner",peg$literalExpectation("INNER",true),"insert",peg$literalExpectation("INSERT",true),"instead",peg$literalExpectation("INSTEAD",true),"intersect",peg$literalExpectation("INTERSECT",true),"into",peg$literalExpectation("INTO",true),"is",peg$literalExpectation("IS",true),"isnull",peg$literalExpectation("ISNULL",true),"join",peg$literalExpectation("JOIN",true),"key",peg$literalExpectation("KEY",true),"left",peg$literalExpectation("LEFT",true),"like",peg$literalExpectation("LIKE",true),"limit",peg$literalExpectation("LIMIT",true),"match",peg$literalExpectation("MATCH",true),"natural",peg$literalExpectation("NATURAL",true),"no",peg$literalExpectation("NO",true),"not",peg$literalExpectation("NOT",true),"notnull",peg$literalExpectation("NOTNULL",true),"of",peg$literalExpectation("OF",true),"offset",peg$literalExpectation("OFFSET",true),"on",peg$literalExpectation("ON",true),"or",peg$literalExpectation("OR",true),"order",peg$literalExpectation("ORDER",true),"outer",peg$literalExpectation("OUTER",true),"plan",peg$literalExpectation("PLAN",true),"pragma",peg$literalExpectation("PRAGMA",true),"primary",peg$literalExpectation("PRIMARY",true),"query",peg$literalExpectation("QUERY",true),"raise",peg$literalExpectation("RAISE",true),"recursive",peg$literalExpectation("RECURSIVE",true),"references",peg$literalExpectation("REFERENCES",true),"regexp",peg$literalExpectation("REGEXP",true),"reindex",peg$literalExpectation("REINDEX",true),"release",peg$literalExpectation("RELEASE",true),"rename",peg$literalExpectation("RENAME",true),"replace",peg$literalExpectation("REPLACE",true),"restrict",peg$literalExpectation("RESTRICT",true),"right",peg$literalExpectation("RIGHT",true),"rollback",peg$literalExpectation("ROLLBACK",true),"row",peg$literalExpectation("ROW",true),"rowid",peg$literalExpectation("ROWID",true),"savepoint",peg$literalExpectation("SAVEPOINT",true),"select",peg$literalExpectation("SELECT",true),"set",peg$literalExpectation("SET",true),"table",peg$literalExpectation("TABLE",true),"temp",peg$literalExpectation("TEMP",true),"temporary",peg$literalExpectation("TEMPORARY",true),"then",peg$literalExpectation("THEN",true),"to",peg$literalExpectation("TO",true),"transaction",peg$literalExpectation("TRANSACTION",true),"trigger",peg$literalExpectation("TRIGGER",true),"union",peg$literalExpectation("UNION",true),"unique",peg$literalExpectation("UNIQUE",true),"update",peg$literalExpectation("UPDATE",true),"using",peg$literalExpectation("USING",true),"vacuum",peg$literalExpectation("VACUUM",true),"values",peg$literalExpectation("VALUES",true),"view",peg$literalExpectation("VIEW",true),"virtual",peg$literalExpectation("VIRTUAL",true),"when",peg$literalExpectation("WHEN",true),"where",peg$literalExpectation("WHERE",true),"with",peg$literalExpectation("WITH",true),"without",peg$literalExpectation("WITHOUT",true),function(r){return keyNode(r);},function(){return null;},peg$otherExpectation("Line Comment"),"--",peg$literalExpectation("--",false),/^[\n\v\f\r]/,peg$classExpectation(["\n","\v","\f","\r"],false,false),peg$otherExpectation("Block Comment"),"/*",peg$literalExpectation("/*",false),"*/",peg$literalExpectation("*/",false),/^[\n\v\f\r\t ]/,peg$classExpectation(["\n","\v","\f","\r","\t"," "],false,false),peg$otherExpectation("Whitespace"),"__TODO__",peg$literalExpectation("__TODO__",false)];var peg$bytecode=[peg$decode("%;\u023F/H#;#/?$;\".\" &\"/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),peg$decode("%;\u023F/C#;#/:$;x/1$;#/($8$: $!!)($'#(#'#(\"'#&'#"),peg$decode("%;x/B#;\u023F/9$$;%0#*;%&/)$8#:!#\"\" )(#'#(\"'#&'#"),peg$decode("$;\u01B30#*;\u01B3&"),peg$decode("$;\u01B3/�#*;\u01B3&&&#"),peg$decode("%;$/:#;x/1$;\u023F/($8#:\"#!!)(#'#(\"'#&'#"),peg$decode("<%;'.# &;(/@#;\u023F/7$;*.\" &\"/)$8#:$#\"\" )(#'#(\"'#&'#=.\" 7#"),peg$decode("%;\u018B/' 8!:%!! )"),peg$decode("<%;\u0195/9#$;)0#*;)&/)$8\":'\"\"! )(\"'#&'#=.\" 7&"),peg$decode("%4(\"\"5!7)/1#;\u0197/($8\":*\"! )(\"'#&'#"),peg$decode("<%;\u01A0/R#;5/I$;\u023F/@$;+.\" &\"/2$;\u01A1/)$8%:,%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7+"),peg$decode("%;\u01A2/C#;\u023F/:$;5/1$;\u023F/($8$:-$!!)($'#(#'#(\"'#&'#"),peg$decode(";5.; &;6.5 &;2./ &;-.) &;..# &;/"),peg$decode("<%;\u0206/1#;\u023F/($8\":/\"!!)(\"'#&'#=.\" 7."),peg$decode("<%;\u01D2.) &;\u01D4.# &;\u01D3/1#;\u023F/($8\":1\"!!)(\"'#&'#=.\" 70"),peg$decode("<%;4.\" &\"/2#;0/)$8\":3\"\"! )(\"'#&'#=.\" 72"),peg$decode("<%;\u01A6/A#$;10#*;1&/1$;\u01A6/($8#:5#!!)(#'#(\"'#&'#=.\" 74"),peg$decode("26\"\"6677.) &48\"\"5!79"),peg$decode("<%4;\"\"5!7!! )"),peg$decode("<%;\u01AA.# &;\u01AB/' 8!:\"!! )=.\" 7?"),peg$decode("%;4.\" &\"/2#;6/)$8\":@\"\"! )(\"'#&'#"),peg$decode(";<.# &;7"),peg$decode("%;8/7#;;.\" &\"/)$8\":A\"\"! )(\"'#&'#"),peg$decode("<;9.# &;:=.\" 7B"),peg$decode("%$;>/�#*;>&&&#/7#;:.\" &\"/)$8\":C\"\"! )(\"'#&'#"),peg$decode("%;\u01A3/9#$;>0#*;>&/)$8\":D\"\"! )(\"'#&'#"),peg$decode("<%3F\"\"5!7G/T#4H\"\"5!7I.\" &\"/@$$;>/�#*;>&&&#/*$8#:J##\"! )(#'#(\"'#&'#=.\" 7E"),peg$decode("<%3L\"\"5\"7M/?#$;=/�#*;=&&&#/)$8\":N\"\"! )(\"'#&'#=.\" 7K"),peg$decode("4O\"\"5!7P"),peg$decode("4Q\"\"5!7R"),peg$decode("<%;@.) &;B.# &;C/' 8!:T!! )=.\" 7S"),peg$decode("<%;\u01A5/@#;A.\" &\"/2$;\u023F/)$8#:V#\"\"!)(#'#(\"'#&'#=.\" 7U"),peg$decode("%4W\"\"5!7X/9#$;>0#*;>&/)$8\":Y\"\"! )(\"'#&'#"),peg$decode("<%4[\"\"5!7\\/H#$;\u0193/�#*;\u0193&&&#/2$;\u023F/)$8#:]#\"\"!)(#'#(\"'#&'#=.\" 7Z"),peg$decode("<%2_\"\"6_7`/o#$;\u0193.) &2a\"\"6a7b/2#0/*;\u0193.) &2a\"\"6a7b&&&#/A$;\u023F/8$;D.\" &\"/*$8$:c$##\" )($'#(#'#(\"'#&'#=.\" 7^"),peg$decode("%;\u019B/1#;\u023F/($8\":d\"!!)(\"'#&'#"),peg$decode("<%;F.\" &\"/;#;\u023F/2$;\x94/)$8#:f#\"\" )(#'#(\"'#&'#=.\" 7e"),peg$decode("<%;k.\" &\"/;#;\u01E4/2$;\u023F/)$8#:h#\"\"!)(#'#(\"'#&'#=.\" 7g"),peg$decode("<%;\u0211/_#;\u023F/V$;\u01A0/M$;\u023F/D$;H/;$;\u023F/2$;\u01A1/)$8':j'\"&\")(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7i"),peg$decode("<%;I.# &;J/' 8!:l!! )=.\" 7k"),peg$decode("<%;\u01EF/' 8!:n!! )=.\" 7m"),peg$decode("%;\u021B.) &;\u01B7.# &;\u01E6/M#;\u023F/D$;\u01A2/;$;\u023F/2$;w/)$8%:o%\"$ )(%'#($'#(#'#(\"'#&'#"),peg$decode(";?./ &;t.) &;,.# &;\u017D"),peg$decode("%;\u01A0/L#;\u023F/C$;o/:$;\u023F/1$;\u01A1/($8%:p%!\")(%'#($'#(#'#(\"'#&'#"),peg$decode(";L.; &;E.5 &;_./ &;a.) &;G.# &;K"),peg$decode("%;M/;#;\u023F/2$;Q/)$8#:q#\"\" )(#'#(\"'#&'#.# &;M"),peg$decode("%;P/A#;\u023F/8$;N.# &;o/)$8#:r#\"\" )(#'#(\"'#&'#.# &;N"),peg$decode(";\u01A9.U &;\u01AB.O &;\u01AA.I &%%;k/8#%<;\u01E4=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),peg$decode("<%;\u012D/' 8!:t!! )=.\" 7s"),peg$decode("%;O/\x83#$%;\u023F/>#;\u0166/5$;\u023F/,$;O/#$+$)($'#(#'#(\"'#&'#0H*%;\u023F/>#;\u0166/5$;\u023F/,$;O/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode("%;R/\x83#$%;\u023F/>#;T/5$;\u023F/,$;R/#$+$)($'#(#'#(\"'#&'#0H*%;\u023F/>#;T/5$;\u023F/,$;R/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode(";\u0169.) &;\u016A.# &;\u016B"),peg$decode("%;S/\x83#$%;\u023F/>#;V/5$;\u023F/,$;S/#$+$)($'#(#'#(\"'#&'#0H*%;\u023F/>#;V/5$;\u023F/,$;S/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode(";\u0167.# &;\u0168"),peg$decode("%;U/\x83#$%;\u023F/>#;X/5$;\u023F/,$;U/#$+$)($'#(#'#(\"'#&'#0H*%;\u023F/>#;X/5$;\u023F/,$;U/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode(";\u016C.U &;\u016D.O &;\u016E.I &%%;\u016F/8#%<;\u016F=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),peg$decode("%;W/\x83#$%;\u023F/>#;Z/5$;\u023F/,$;W/#$+$)($'#(#'#(\"'#&'#0H*%;\u023F/>#;Z/5$;\u023F/,$;W/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode(";\u0172.{ &;\u0173.u &%%;\u0170/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,).I &%%;\u0171/8#%<;X=.##&&!&'#/#$+\")(\"'#&'#/\"!&,)"),peg$decode("%;Y/9#$;\\0#*;\\&/)$8\":u\"\"! )(\"'#&'#"),peg$decode("%;\u023F/1#;]/($8\":v\"! )(\"'#&'#.H &%;\u023F/>#;^/5$;\u023F/,$;Y/#$+$)($'#(#'#(\"'#&'#"),peg$decode("%3w\"\"5$7x/?#;\u023F/6$3y\"\"5$7z/'$8#:{# )(#'#(\"'#&'#.? &%;\u01FB/& 8!:|! ).. &%;\u0205/& 8!:{! )"),peg$decode(";\u0177./ &;\u0175.) &;\u0176.# &;\u0174"),peg$decode("<%;\u01C9/i#;\u023F/`$;\u01A0/W$;o/N$;\u023F/E$;`/<$;\u023F/3$;\u01A1/*$8(:~(#'$\")(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7}"),peg$decode("<%;\u01BF/:#;\u023F/1$;&/($8#:\x80#! )(#'#(\"'#&'#=.\" 7\x7F"),peg$decode("<%;\u01C8/\x93#;\u023F/\x8A$;b.\" &\"/|$;\u023F/s$$;c/�#*;c&&&#/]$;\u023F/T$;d.\" &\"/F$;\u023F/=$;\u01E0/4$;\u023F/+$8*:\x82*$)'%#)(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\x81"),peg$decode("%%<;\u0230=.##&&!&'#/1#;o/($8\":\x83\"! )(\"'#&'#"),peg$decode("<%;\u0230/i#;\u023F/`$;o/W$;\u023F/N$;\u0224/E$;\u023F/<$;o/3$;\u023F/*$8(:\x85(#'%!)(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\x84"),peg$decode("<%;\u01DF/D#;\u023F/;$;o/2$;\u023F/)$8$:\x87$\"#!)($'#(#'#(\"'#&'#=.\" 7\x86"),peg$decode("%;[/;#;\u023F/2$;f/)$8#:\x88#\"\" )(#'#(\"'#&'#.# &;["),peg$decode(";l.) &;i.# &;g"),peg$decode("<%;k.\" &\"/o#;\u01FF./ &;\u01EB.) &;\u0214.# &;\u0201/T$;\u023F/K$;o/B$;\u023F/9$;h.\" &\"/+$8&:\x8A&$%$\" )(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\x89"),peg$decode("<%;\u01E1/D#;\u023F/;$;o/2$;\u023F/)$8$:\x8C$\"#!)($'#(#'#(\"'#&'#=.\" 7\x8B"),peg$decode("<%;k.\" &\"/E#;\u01C5/<$;\u023F/3$;j/*$8$:\x8E$##\" )($'#(#'#(\"'#&'#=.\" 7\x8D"),peg$decode("%;e/W#%;\u023F/>#;\u01BE/5$;\u023F/,$;e/#$+$)($'#(#'#(\"'#&'#/)$8\":\x8F\"\"! )(\"'#&'#"),peg$decode("%;\u0204/1#;\u023F/($8\":\x90\"!!)(\"'#&'#"),peg$decode("<%;k.\" &\"/E#;\u01F1/<$;\u023F/3$;m/*$8$:\x92$##\" )($'#(#'#(\"'#&'#=.\" 7\x91"),peg$decode(";n.# &;\u017B"),peg$decode("%;\u01A0/I#;\x95.# &;q/:$;\u023F/1$;\u01A1/($8$:\x93$!\")($'#(#'#(\"'#&'#"),peg$decode("%;e/\x83#$%;\u023F/>#;p/5$;\u023F/,$;e/#$+$)($'#(#'#(\"'#&'#0H*%;\u023F/>#;p/5$;\u023F/,$;e/#$+$)($'#(#'#(\"'#&'#&/)$8\":u\"\"! )(\"'#&'#"),peg$decode(";\u01BE.# &;\u020A"),peg$decode("<%;r.\" &\"/1#;\u023F/($8\":\x95\"!!)(\"'#&'#=.\" 7\x94"),peg$decode("%;o/B#;\u023F/9$$;s0#*;s&/)$8#:\x96#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A2/:#;o/1$;\u023F/($8#:\x93#!!)(#'#(\"'#&'#"),peg$decode("<%;\u017A/[#;\u023F/R$;\u01A0/I$;u.\" &\"/;$;\u023F/2$;\u01A1/)$8&:\x98&\"%\")(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\x97"),peg$decode("<%;\xDB/' 8!:\x9A!! ).V &%;v.\" &\"/G#;q/>$9:\x9B \"! -\"\"&!&#/)$8#:\x9C#\"\"!)(#'#(\"'#&'#=.\" 7\x99"),peg$decode("%;\u01DC.# &;\u01BB/1#;\u023F/($8\":\x9D\"!!)(\"'#&'#"),peg$decode("<%;//' 8!:\x9F!! )=.\" 7\x9E"),peg$decode("<%;y.\" &\"/;#;{/2$;\u023F/)$8#:\xA1#\"\"!)(#'#(\"'#&'#=.\" 7\xA0"),peg$decode("<%;\u01E5/@#;\u023F/7$;z.\" &\"/)$8#:\xA3#\"\" )(#'#(\"'#&'#=.\" 7\xA2"),peg$decode("<%;\u0210/D#;\u023F/;$;\u020D/2$;\u023F/)$8$:\xA5$\"#!)($'#(#'#(\"'#&'#=.\" 7\xA4"),peg$decode(";\x8C.S &;\xFB.M &;\u0162.G &;}.A &;|.; &;\x86.5 &;\x80./ &;\x84.) &;\x85.# &;\x96"),peg$decode("<%;\u01CD.# &;\u01E0/@#;\u023F/7$;~.\" &\"/)$8#:\xA7#\"\" )(#'#(\"'#&'#=.\" 7\xA6"),peg$decode("<%;\u01C4/^#;\u023F/U$;\x7F.\" &\"/G$;~.\" &\"/9$;\x82.\" &\"/+$8%:\xA9%$$\"! )(%'#($'#(#'#(\"'#&'#=.\" 7\xA8"),peg$decode("%;\u0226/1#;\u023F/($8\":\xAA\"!!)(\"'#&'#"),peg$decode("%;\u01D8.) &;\u01F0.# &;\u01E3/1#;\u023F/($8\":\xAB\"!!)(\"'#&'#"),peg$decode("<%;\u021B/N#;\u023F/E$;~.\" &\"/7$;\x81.\" &\"/)$8$:\xAD$\"# )($'#(#'#(\"'#&'#=.\" 7\xAC"),peg$decode("<%%;\u0225/,#;\u023F/#$+\")(\"'#&'#.\" &\"/?#;\x83.\" &\"/1$;\x82/($8#:p#! )(#'#(\"'#&'#=.\" 7\xAE"),peg$decode("%;\u0182/1#;\u023F/($8\":\xAF\"!!)(\"'#&'#"),peg$decode("%;\u021E/1#;\u023F/($8\":\xB0\"!!)(\"'#&'#"),peg$decode("<%;\x83/2#;\x82/)$8\":\xB2\"\"! )(\"'#&'#=.\" 7\xB1"),peg$decode("<%;\u0216/J#;\u023F/A$;\x83.\" &\"/3$;\x82/*$8$:\xB4$##! )($'#(#'#(\"'#&'#=.\" 7\xB3"),peg$decode("<%;\x87/N#;\u017B/E$;\u023F/<$;\x88/3$;\u023F/*$8%:\xB6%#$#!)(%'#($'#(#'#(\"'#&'#=.\" 7\xB5"),peg$decode("<%;\u01BC/D#;\u023F/;$;\u0221/2$;\u023F/)$8$:\xB8$\"#!)($'#(#'#(\"'#&'#=.\" 7\xB7"),peg$decode(";\x89.# &;\x8A"),peg$decode("<%;\u0217/M#;\u023F/D$;\u0225/;$;\u023F/2$;\u017B/)$8%:\xBA%\"$ )(%'#($'#(#'#(\"'#&'#=.\" 7\xB9"),peg$decode("<%;\u01B9/I#;\u023F/@$;\x8B.\" &\"/2$;\u010C/)$8$:\xBC$\"# )($'#(#'#(\"'#&'#=.\" 7\xBB"),peg$decode("%;\u01CC/1#;\u023F/($8\":\xB0\"!!)(\"'#&'#"),peg$decode("%;\x8D/2#;\xA7/)$8\":\xBD\"\"! )(\"'#&'#"),peg$decode("<%;\x8E.\" &\"/1#;\u023F/($8\":*\"!!)(\"'#&'#=.\" 7\xBE"),peg$decode("%;\u0232/J#;\u023F/A$;\x8F.\" &\"/3$;\x90/*$8$:\xBF$##! )($'#(#'#(\"'#&'#"),peg$decode("%;\u0212/1#;\u023F/($8\":\xB0\"!!)(\"'#&'#"),peg$decode("%;\x92/B#;\u023F/9$$;\x910#*;\x91&/)$8#:\xC0#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A2/:#;\x92/1$;\u023F/($8#:\x93#!!)(#'#(\"'#&'#"),peg$decode("<%;\u0187/2#;\x93/)$8\":\xC2\"\"! )(\"'#&'#=.\" 7\xC1"),peg$decode("%;\u01BF/:#;\u023F/1$;\x94/($8#:\xC3#! )(#'#(\"'#&'#"),peg$decode("%;\u01A0/C#;\x95/:$;\u023F/1$;\u01A1/($8$: $!\")($'#(#'#(\"'#&'#"),peg$decode("%;\x8D/2#;\xA8/)$8\":\xC4\"\"! )(\"'#&'#"),peg$decode(";\x97.; &;\x99.5 &;\x9A./ &;\x9C.) &;\x9E.# &;\xA0"),peg$decode("<%;\u01C1/\x8B#;\u023F/\x82$%;\u01D5/,#;\u023F/#$+\")(\"'#&'#.\" &\"/a$;o/X$;\u023F/O$;\u01BF/F$;\u023F/=$;\x98/4$;\u023F/+$8):\xC6)$(&%!)()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\xC5"),peg$decode(";\u0179.) &;-.# &;?"),peg$decode("<%;\u01DB/f#;\u023F/]$%;\u01D5/,#;\u023F/#$+\")(\"'#&'#.\" &\"/<$;\x98/3$;\u023F/*$8%:\xC8%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7\xC7"),peg$decode("<%;\u022C/@#;\u023F/7$;\x9B.\" &\"/)$8#:\xCA#\"\" )(#'#(\"'#&'#=.\" 7\xC9"),peg$decode("%;\u0179/1#;\u023F/($8\":\xCB\"!!)(\"'#&'#"),peg$decode("<%;\u01BD/@#;\u023F/7$;\x9D.\" &\"/)$8#:\xCD#\"\" )(#'#(\"'#&'#=.\" 7\xCC"),peg$decode("%;\u017B.) &;\u0183.# &;\u0179/1#;\u023F/($8\":\xCE\"!!)(\"'#&'#"),peg$decode("<%;\u0215/I#;\u023F/@$;\x9F.\" &\"/2$;\u023F/)$8$:\xCD$\"#!)($'#(#'#(\"'#&'#=.\" 7\xCF"),peg$decode("%;\u017B.) &;\u0183.# &;\u0181/1#;\u023F/($8\":\xD0\"!!)(\"'#&'#"),peg$decode("<%;\u020E/S#;\u023F/J$;\u0186/A$;\u023F/8$;\xA1.\" &\"/*$8%:\xD2%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7\xD1"),peg$decode("%;\u01A0/C#;\xA2/:$;\u023F/1$;\u01A1/($8$:\xD3$!\")($'#(#'#(\"'#&'#.D &%;\u01AC/:#;\xA2/1$;\u023F/($8#:\xD3#!!)(#'#(\"'#&'#"),peg$decode(";\xA4.) &;\xA3.# &;\xA6"),peg$decode(";5.) &;/.# &;3"),peg$decode("%;\xA5/<#9:\xD4 ! -\"\"&!&#/($8\":\xD5\"!!)(\"'#&'#"),peg$decode("%$;\u0193/�#*;\u0193&&&#/' 8!:\xD6!! )"),peg$decode("%;\xA5/' 8!:\xD7!! )"),peg$decode(";\xA8./ &;\xDD.) &;\xF2.# &;\xF9"),peg$decode("<%;\xAE/X#;\u023F/O$;\xA9.\" &\"/A$;\u023F/8$;\xAA.\" &\"/*$8%:\xD9%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7\xD8"),peg$decode("<%;\u020B/L#;\u023F/C$;\u01C6/:$;\u023F/1$;\xD8/($8%:\xDB%! )(%'#($'#(#'#(\"'#&'#=.\" 7\xDA"),peg$decode("<%;\u0200/S#;\u023F/J$;o/A$;\u023F/8$;\xAB.\" &\"/*$8%:\xDD%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7\xDC"),peg$decode("<%;\xAC/2#;o/)$8\":\xDF\"\"! )(\"'#&'#=.\" 7\xDE"),peg$decode(";\xAD.# &;\u01A2"),peg$decode("%;\u0208/1#;\u023F/($8\":\xB0\"!!)(\"'#&'#"),peg$decode("%;\xB0/B#;\u023F/9$$;\xAF0#*;\xAF&/)$8#:\xE0#\"\" )(#'#(\"'#&'#"),peg$decode("<%;\xEF/D#;\u023F/;$;\xB0/2$;\u023F/)$8$:\xE2$\"#!)($'#(#'#(\"'#&'#=.\" 7\xE1"),peg$decode(";\xB1.# &;\xD7"),peg$decode("%;\xB2/U#;\xB8.\" &\"/G$;\xB9.\" &\"/9$;\xBA.\" &\"/+$8$:\xE3$$#\"! )($'#(#'#(\"'#&'#"),peg$decode("<%;\u021F/R#;\u023F/I$;\xB3.\" &\"/;$;\u023F/2$;\xB6/)$8%:\xE5%\"\" )(%'#($'#(#'#(\"'#&'#=.\" 7\xE4"),peg$decode("<;\xB4.# &;\xB5=.\" 7\xE6"),peg$decode("%;\u01DC/1#;\u023F/($8\":\xE7\"!!)(\"'#&'#"),peg$decode("%;\u01BB/1#;\u023F/($8\":\xE8\"!!)(\"'#&'#"),peg$decode("%;\xBC/B#;\u023F/9$$;\xB70#*;\xB7&/)$8#:\xC0#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A2/:#;\xBC/1$;\u023F/($8#:-#!!)(#'#(\"'#&'#"),peg$decode("<%;\u01E9/D#;\u023F/;$;\xC0/2$;\u023F/)$8$:\xEA$\"#!)($'#(#'#(\"'#&'#=.\" 7\xE9"),peg$decode("<%;\u0231/D#;\u023F/;$;o/2$;\u023F/)$8$:\xEC$\"#!)($'#(#'#(\"'#&'#=.\" 7\xEB"),peg$decode("<%;\u01EC/e#;\u023F/\\$;\u01C6/S$;\u023F/J$;q/A$;\u023F/8$;\xBB.\" &\"/*$8':\xEE'#&\" )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\xED"),peg$decode("<%;\u01ED/D#;\u023F/;$;o/2$;\u023F/)$8$:\xF0$\"#!)($'#(#'#(\"'#&'#=.\" 7\xEF"),peg$decode(";\xBD.# &;\xBF"),peg$decode("%;\xBE.\" &\"/2#;\xDB/)$8\":\xF1\"\"! )(\"'#&'#"),peg$decode("%;\u0195/2#;\u01A3/)$8\":\xF2\"\"! )(\"'#&'#"),peg$decode("%;o/@#;\u023F/7$;\xCD.\" &\"/)$8#:\xF3#\"\" )(#'#(\"'#&'#"),peg$decode("%;\xC4/B#;\u023F/9$$;\xC10#*;\xC1&/)$8#:\xF4#\"\" )(#'#(\"'#&'#"),peg$decode("%;\xC2.# &;\xC3/7#;\xD4.\" &\"/)$8\":\xF5\"\"! )(\"'#&'#"),peg$decode("<%;\u01A2/:#;\xC4/1$;\u023F/($8#:\xF7#!!)(#'#(\"'#&'#=.\" 7\xF6"),peg$decode("<%;\xCE/D#;\u023F/;$;\xC4/2$;\u023F/)$8$:\xF9$\"#!)($'#(#'#(\"'#&'#=.\" 7\xF8"),peg$decode(";\xCB.5 &;?./ &;\xC5.) &;\xC6.# &;\xCC"),peg$decode("%;\u017A/S#;\u023F/J$;\xED/A$;\u023F/8$;\xCD.\" &\"/*$8%:\xFA%#$\" )(%'#($'#(#'#(\"'#&'#"),peg$decode("<%;\xC7/@#;\u023F/7$;\xC8.\" &\"/)$8#:\xFC#\"\" )(#'#(\"'#&'#=.\" 7\xFB"),peg$decode("<%;\u017B/@#;\u023F/7$;\xCD.\" &\"/)$8#:\xFE#\"\" )(#'#(\"'#&'#=.\" 7\xFD"),peg$decode("<;\xC9.# &;\xCA=.\" 7\xFF"),peg$decode("%;\u01F3/V#;\u023F/M$;\u01C6/D$;\u023F/;$;\u0183/2$;\u023F/)$8&:\u0100&\"%!)(&'#(%'#($'#(#'#(\"'#&'#"),peg$decode("%;k/;#;\u01F3/2$;\u023F/)$8#:\u0101#\"\"!)(#'#(\"'#&'#"),peg$decode("<%;\u01A0/R#;\xC0/I$;\u023F/@$;\u01A1/7$;\xCD.\" &\"/)$8%:\u0103%\"# )(%'#($'#(#'#(\"'#&'#=.\" 7\u0102"),peg$decode("<%;\x94/7#;\xCD.\" &\"/)$8\":\u0105\"\"! )(\"'#&'#=.\" 7\u0104"),peg$decode("<%%;\u01BF/Q#%%<;\u0193.# &;\u0236=.##&&!&'#/,#;\u023F/#$+\")(\"'#&'#/#$+\")(\"'#&'#.\" &\"/;#;\u0195/2$;\u023F/)$8#:\u0107#\"\"!)(#'#(\"'#&'#=.\" 7\u0106"),peg$decode("<%;\xCF.\" &\"/J#;\u023F/A$;\xD0.\" &\"/3$;\u01FC/*$8$:\u0109$##! )($'#(#'#(\"'#&'#=.\" 7\u0108"),peg$decode("%;\u0202/1#;\u023F/($8\":\x90\"!!)(\"'#&'#"),peg$decode(";\xD1.# &;\xD3"),peg$decode("%;\u01FE.) &;\u021A.# &;\u01EA/@#;\u023F/7$;\xD2.\" &\"/)$8#:\u010A#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u020C/1#;\u023F/($8\":\u010B\"!!)(\"'#&'#"),peg$decode("%;\u01F5.# &;\u01D1/1#;\u023F/($8\":\u010B\"!!)(\"'#&'#"),peg$decode("<%;\xD5.# &;\xD6/1#;\u023F/($8\":\u010D\"!!)(\"'#&'#=.\" 7\u010C"),peg$decode("<%;\u0209/;#;\u023F/2$;o/)$8#:\u010F#\"\" )(#'#(\"'#&'#=.\" 7\u010E"),peg$decode("<%;\u022B/;#;\u023F/2$;\xE6/)$8#:\u0111#\"\" )(#'#(\"'#&'#=.\" 7\u0110"),peg$decode("<%;\u022D/;#;\u023F/2$;\xEB/)$8#:\u0113#\"\" )(#'#(\"'#&'#=.\" 7\u0112"),peg$decode("%;\xDA/B#;\u023F/9$$;\xD90#*;\xD9&/)$8#:\u0114#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A2/:#;\xDA/1$;\u023F/($8#:\u0115#!!)(#'#(\"'#&'#"),peg$decode("<%;o/@#;\u023F/7$;\u012F.\" &\"/)$8#:\u0117#\"\" )(#'#(\"'#&'#=.\" 7\u0116"),peg$decode("<;\u01A4=.\" 7\u0118"),peg$decode("<;\u0218.5 &;\u021B./ &;\u01B7.) &;\u01E6.# &;\u01EF=.\" 7\u0119"),peg$decode("<%;\xDE/;#;\u023F/2$;\xE2/)$8#:\u011B#\"\" )(#'#(\"'#&'#=.\" 7\u011A"),peg$decode(";\xDF.# &;\xE0"),peg$decode("<%;\u01F6/@#;\u023F/7$;\xE1.\" &\"/)$8#:\u011D#\"\" )(#'#(\"'#&'#=.\" 7\u011C"),peg$decode("<%;\u0218/1#;\u023F/($8\":\u011F\"!!)(\"'#&'#=.\" 7\u011E"),peg$decode("<%;\u020A/;#;\u023F/2$;\xDC/)$8#:\u0121#\"\" )(#'#(\"'#&'#=.\" 7\u0120"),peg$decode("%;\xE3/2#;\xE5/)$8\":\u0122\"\"! )(\"'#&'#"),peg$decode("<%;\xE4/2#;\u0187/)$8\":\u0124\"\"! )(\"'#&'#=.\" 7\u0123"),peg$decode("<%;\u01F9/,#;\u023F/#$+\")(\"'#&'#=.\" 7\u0125"),peg$decode("<%;\xE9.) &;\x95.# &;\xEE/1#;\u023F/($8\":\u0126\"!!)(\"'#&'#=.\" 7\u0112"),peg$decode("<%;\u01A0/T#;\xE8/K$;\u023F/B$$;\xE70#*;\xE7&/2$;\u01A1/)$8%:\u0128%\"#!)(%'#($'#(#'#(\"'#&'#=.\" 7\u0127"),peg$decode("%;\u01A2/:#;\xE8/1$;\u023F/($8#:\u0129#!!)(#'#(\"'#&'#"),peg$decode("<%;\u0178/' 8!:\u012B!! )=.\" 7\u012A"),peg$decode("<%;\xEA/2#;\xEB/)$8\":\u012C\"\"! )(\"'#&'#=.\" 7\u0112"),peg$decode("<%;\u022D/1#;\u023F/($8\":\xB0\"!!)(\"'#&'#=.\" 7\u012D"),peg$decode("%;\xED/B#;\u023F/9$$;\xEC0#*;\xEC&/)$8#:\u012E#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A2/:#;\xED/1$;\u023F/($8#:\x93#!!)(#'#(\"'#&'#"),peg$decode("<%;\u01A0/C#;q/:$;\u023F/1$;\u01A1/($8$:\u0130$!\")($'#(#'#(\"'#&'#=.\" 7\u012F"),peg$decode("<%;\u01D6/;#;\u023F/2$;\u022D/)$8#:\u0132#\"\" )(#'#(\"'#&'#=.\" 7\u0131"),peg$decode("<%;\xF0.) &;\u01F8.# &;\u01E2/' 8!:\xB0!! )=.\" 7\u0133"),peg$decode("<%;\u0228/@#;\u023F/7$;\xF1.\" &\"/)$8#:\u0135#\"\" )(#'#(\"'#&'#=.\" 7\u0134"),peg$decode("%;\u01BB/1#;\u023F/($8\":\u0136\"!!)(\"'#&'#"),peg$decode("<%;\xF3/\x8A#;\xF4.\" &\"/|$;\xC6/s$;\u023F/j$;\xF5/a$;\xB9.\" &\"/S$;\xA9.\" &\"/E$;\u023F/<$;\xAA.\" &\"/.$8):\u0138)'('&$#\" )()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u0137"),peg$decode("<%;\u022A/1#;\u023F/($8\":\xB0\"!!)(\"'#&'#=.\" 7\u0139"),peg$decode("<%;\u020A/C#;\u023F/:$;\xDC/1$;\u023F/($8$:\u013B$!!)($'#(#'#(\"'#&'#=.\" 7\u013A"),peg$decode("<%;\u0220/C#;\u023F/:$;\xF6/1$;\u023F/($8$:\u013D$!!)($'#(#'#(\"'#&'#=.\" 7\u013C"),peg$decode("%;\xF8/9#$;\xF70#*;\xF7&/)$8\":\u012E\"\"! )(\"'#&'#"),peg$decode("%;\u023F/:#;\u01A2/1$;\xF8/($8#:\u0129#! )(#'#(\"'#&'#"),peg$decode("<%;\u017D/M#;\u023F/D$;\u01AC/;$;o/2$;\u023F/)$8%:\u013F%\"$!)(%'#($'#(#'#(\"'#&'#=.\" 7\u013E"),peg$decode("<%;\xFA/h#;\xC6/_$;\u023F/V$;\xB9.\" &\"/H$;\xA9.\" &\"/:$;\xAA.\" &\"/,$8&:\u0141&%%$\"! )(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u0140"),peg$decode("<%;\u01D9/C#;\u023F/:$;\u01E9/1$;\u023F/($8$:\xB0$!#)($'#(#'#(\"'#&'#=.\" 7\u0142"),peg$decode("<;\xFD.5 &;\xFE./ &;\xFF.) &;\u0100.# &;\u0101=.\" 7\u0143"),peg$decode("%;\u01D0/1#;\u023F/($8\":\xB0\"!!)(\"'#&'#"),peg$decode("%%<%;\xFC/>#;\u01F2./ &;\u0227.) &;\u022E.# &;\u022F/#$+\")(\"'#&'#=.##&&!&'#/1#;\u0102/($8\":\u0129\"! )(\"'#&'#"),peg$decode("%%<%;\xFC/>#;\u0221./ &;\u0227.) &;\u022E.# &;\u022F/#$+\")(\"'#&'#=.##&&!&'#/1#;\u0143/($8\":\u0129\"! )(\"'#&'#"),peg$decode("%%<%;\xFC/>#;\u0221./ &;\u01F2.) &;\u022E.# &;\u022F/#$+\")(\"'#&'#=.##&&!&'#/1#;\u0147/($8\":\u0129\"! )(\"'#&'#"),peg$decode("%%<%;\xFC/>#;\u0221./ &;\u01F2.) &;\u0227.# &;\u022F/#$+\")(\"'#&'#=.##&&!&'#/1#;\u0156/($8\":\u0129\"! )(\"'#&'#"),peg$decode("%%<%;\xFC/>#;\u0221./ &;\u01F2.) &;\u0227.# &;\u022E/#$+\")(\"'#&'#=.##&&!&'#/1#;\u015A/($8\":\u0129\"! )(\"'#&'#"),peg$decode("<%;\u0103/T#;\u0105.\" &\"/F$;\u017B/=$;\u023F/4$;\u0106/+$8%:\u0145%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7\u0144"),peg$decode("%;\xFC/J#;\u0104.\" &\"/<$;\u0221/3$;\u023F/*$8$:\u0146$##\"!)($'#(#'#(\"'#&'#"),peg$decode("%;\u0223.# &;\u0222/1#;\u023F/($8\":\u0147\"!!)(\"'#&'#"),peg$decode("<%;\u01EE/N#;\u023F/E$;k/<$;\u01E4/3$;\u023F/*$8%:\u0149%#$\"!)(%'#($'#(#'#(\"'#&'#=.\" 7\u0148"),peg$decode(";\u0107.# &;\u0142"),peg$decode("<%;\u01A0/Z#;\u0109/Q$$;\u010B0#*;\u010B&/A$;\u01A1/8$;\u0108.\" &\"/*$8%:\u014B%##\" )(%'#($'#(#'#(\"'#&'#=.\" 7\u014A"),peg$decode("%;\u0233/D#;\u023F/;$;\u021D/2$;\u023F/)$8$:\u014C$\"#!)($'#(#'#(\"'#&'#"),peg$decode("%;\u010C/B#;\u023F/9$$;\u010A0#*;\u010A&/)$8#:\u012E#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01A2/:#;\u010C/1$;\u023F/($8#:\xAA#!!)(#'#(\"'#&'#"),peg$decode("%;\u01A2.\" &\"/1#;\u0120/($8\":\u014D\"! )(\"'#&'#"),peg$decode("<%;\u010D/O#;\u023F/F$;\u010E.\" &\"/8$;\u010F.\" &\"/*$8$:\u014F$##! )($'#(#'#(\"'#&'#=.\" 7\u014E"),peg$decode("%;\u0195/=#%<;\u023F=/##&'!&&#/($8\":p\"!!)(\"'#&'#.\\ &%%<;\u010E.) &;\u0111.# &;\u0120=.##&&!&'#/:#;\u023F/1$;\u0198/($8#:p#! )(#'#(\"'#&'#"),peg$decode("<%;&/1#;\u023F/($8\":\u0151\"!!)(\"'#&'#=.\" 7\u0150"),peg$decode("%;\u0111/B#$;\u01100#*;\u0110&/2$;\u023F/)$8#:\u012E#\"\"!)(#'#(\"'#&'#"),peg$decode("%;\u023F/1#;\u0111/($8\":\u0129\"! )(\"'#&'#"),peg$decode("<%;\u0112.\" &\"/A#;\u0114/8$;\u0112.\" &\"/*$8#:\u0153##\"! )(#'#(\"'#&'#=.\" 7\u0152"),peg$decode("%$;\u0113/�#*;\u0113&&&#/' 8!:\u0154!! )"),peg$decode("<%;\u01CF/C#;\u023F/:$;\u0195/1$;\u023F/($8$:\u0156$!!)($'#(#'#(\"'#&'#=.\" 7\u0155"),peg$decode(";\u0116.; &;\u0119.5 &;\u011C./ &;\u011D.) &;\u011F.# &;\u0115"),peg$decode("<%;\u0135/' 8!:\u0158!! )=.\" 7\u0157"),peg$decode("<%;\u0117/U#;\u012F.\" &\"/G$;\u0130.\" &\"/9$;\u0118.\" &\"/+$8$:\u015A$$#\"! )($'#(#'#(\"'#&'#=.\" 7\u0159"),peg$decode("<%;\u020F.# &;\u020E/D#;\u023F/;$;\u01FD/2$;\u023F/)$8$:\u015C$\"#!)($'#(#'#(\"'#&'#=.\" 7\u015B"),peg$decode("<%;\u01C2/1#;\u023F/($8\":\u015E\"!!)(\"'#&'#=.\" 7\u015D"),peg$decode("%;\u011A/@#;\u0130.\" &\"/2$;\u023F/)$8#:\u015F#\"\"!)(#'#(\"'#&'#"),peg$decode("<%;\u011B.# &;\u0229/1#;\u023F/($8\":\u010B\"!!)(\"'#&'#=.\" 7\u0160"),peg$decode("<%;k.\" &\"/2#;\u0206/)$8\":\u0162\"\"! )(\"'#&'#=.\" 7\u0161"),peg$decode("<;\u0132=.\" 7\u0163"),peg$decode("<%;\u01D6/D#;\u023F/;$;\u011E/2$;\u023F/)$8$:\u0165$\"#!)($'#(#'#(\"'#&'#=.\" 7\u0164"),peg$decode(";L./ &;5.) &;,.# &;3"),peg$decode("<%;\u012D/' 8!:\u0167!! )=.\" 7\u0166"),peg$decode("<%;\u0112.\" &\"/J#;\u0121/A$;\u023F/8$;\u0112.\" &\"/*$8$:\u0169$##\" )($'#(#'#(\"'#&'#=.\" 7\u0168"),peg$decode(";\u0133.) &;\u0123.# &;\u0122"),peg$decode("<%;\u0132/' 8!:\u016B!! )=.\" 7\u016A"),peg$decode("<%;\u0124/J#;\u023F/A$;\u0129/8$;\u0130.\" &\"/*$8$:\u016D$##! )($'#(#'#(\"'#&'#=.\" 7\u016C"),peg$decode("%;\u0125.# &;\u0126/1#;\u023F/($8\":\u016E\"!!)(\"'#&'#"),peg$decode("<%;\u020F/;#;\u023F/2$;\u01FD/)$8#:\u016F#\"\" )(#'#(\"'#&'#=.\" 7\u015B"),peg$decode("<%;\u0229/' 8!:\u0171!! )=.\" 7\u0170"),peg$decode("%;\u01A0/T#;\u012B/K$;\u023F/B$$;\u012A0#*;\u012A&/2$;\u01A1/)$8%:\u0172%\"#!)(%'#($'#(#'#(\"'#&'#"),peg$decode("%;\u0127/' 8!:\u0173!! )"),peg$decode("%;\u0127/' 8!:\u0174!! )"),peg$decode("%;\u01A2/:#;\u012B/1$;\u023F/($8#:\u0129#!!)(#'#(\"'#&'#"),peg$decode("<%;\u012C/O#;\u023F/F$;\u012F.\" &\"/8$;\u0118.\" &\"/*$8$:\u0176$##! )($'#(#'#(\"'#&'#=.\" 7\u0175"),peg$decode("%;\xE8/\\#%<%;\u023F/8#;\u01B3.) &;\u01A1.# &;\u012F/#$+\")(\"'#&'#=/##&'!&&#/($8\":p\"!!)(\"'#&'#.# &;o"),peg$decode("<%$;\u012E/�#*;\u012E&&&#/' 8!:\u0178!! )=.\" 7\u0177"),peg$decode("%;\u01CB/C#;\u023F/:$;\u0181/1$;\u023F/($8$:p$!!)($'#(#'#(\"'#&'#"),peg$decode("<%;\u01C0.# &;\u01DA/1#;\u023F/($8\":\u017A\"!!)(\"'#&'#=.\" 7\u0179"),peg$decode("%;\u0131/;#;\xDC/2$;\u023F/)$8#:\u017B#\"\"!)(#'#(\"'#&'#"),peg$decode("<%;\u0209/D#;\u023F/;$;\u01CE/2$;\u023F/)$8$:\u017D$\"#!)($'#(#'#(\"'#&'#=.\" 7\u017C"),peg$decode("%;\u01CA/;#;\u023F/2$;L/)$8#:\u017E#\"\" )(#'#(\"'#&'#"),peg$decode("<%;\u0134/E#;\xE6/<$;\u0135/3$;\u023F/*$8$:\u0180$##\"!)($'#(#'#(\"'#&'#=.\" 7\u017F"),peg$decode("<%;\u01E8/D#;\u023F/;$;\u01FD/2$;\u023F/)$8$:\u0182$\"#!)($'#(#'#(\"'#&'#=.\" 7\u0181"),peg$decode("%;\u0136/F#;\u0137.\" &\"/8$;\u0140.\" &\"/*$8#:\u0183##\"! )(#'#(\"'#&'#"),peg$decode("<%;\u0213/D#;\u023F/;$;\u0187/2$;\u023F/)$8$:\u0185$\"#!)($'#(#'#(\"'#&'#=.\" 7\u0184"),peg$decode("%;\u0139/B#;\u023F/9$$;\u01380#*;\u0138&/)$8#:\u0186#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u0139/1#;\u023F/($8\":\u0136\"!!)(\"'#&'#"),peg$decode("<;\u013A.# &;\u013F=.\" 7\u0187"),peg$decode("%;\u0209/T#;\u023F/K$;\u01D9.# &;\u022A/<$;\u023F/3$;\u013B/*$8%:\u0188%#$\" )(%'#($'#(#'#(\"'#&'#"),peg$decode("<;\u013C.) &;\u013D.# &;\u013E=.\" 7\u0189"),peg$decode("%;\u0220/J#;\u023F/A$;\u0206.# &;\u01D6/2$;\u023F/)$8$:\u018A$\"#!)($'#(#'#(\"'#&'#"),peg$decode("%;\u01C7.# &;\u0219/1#;\u023F/($8\":\u018B\"!!)(\"'#&'#"),peg$decode("%;\u0203/D#;\u023F/;$;\u01B8/2$;\u023F/)$8$:\u018C$\"#!)($'#(#'#(\"'#&'#"),peg$decode("%;\u0201/D#;\u023F/;$;\u0195/2$;\u023F/)$8$:\u018D$\"#!)($'#(#'#(\"'#&'#"),peg$decode("<%;k.\" &\"/J#;\u01D7/A$;\u023F/8$;\u0141.\" &\"/*$8$:\u018F$##\" )($'#(#'#(\"'#&'#=.\" 7\u018E"),peg$decode("%;\u01F4/J#;\u023F/A$;\u01D8.# &;\u01F0/2$;\u023F/)$8$:\u0190$\"#!)($'#(#'#(\"'#&'#"),peg$decode("%;\u0159/' 8!:\u0191!! )"),peg$decode("<%;\u0144/c#;\u0105.\" &\"/U$;\u0183/L$;\u023F/C$;\u0146/:$;\xB9.\" &\"/,$8&:\u0193&%%$#! )(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u0192"),peg$decode("%;\xFC/J#;\u0145.\" &\"/<$;\u01F2/3$;\u023F/*$8$:\u0194$##\"!)($'#(#'#(\"'#&'#"),peg$decode("%;\u0229/1#;\u023F/($8\":\u0195\"!!)(\"'#&'#"),peg$decode("<%;\u0209/N#;\u023F/E$;\u017B/<$;\u023F/3$;\u0128/*$8%:\u0197%#$\" )(%'#($'#(#'#(\"'#&'#=.\" 7\u0196"),peg$decode("<%;\u0148/\xA6#;\u0105.\" &\"/\x98$;\u0184.\" &\"/\x8A$;\u023F/\x81$;\u0149/x$;\u0209/o$;\u023F/f$;\u017B/]$;\u023F/T$;\u0151.\" &\"/F$;\u0152.\" &\"/8$;\u0153//$8,:\u0199,(+*)'$\"! )(,'#(+'#(*'#()'#(('#(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u0198"),peg$decode("%;\xFC/J#;\u0104.\" &\"/<$;\u0227/3$;\u023F/*$8$:\u019A$##\"!)($'#(#'#(\"'#&'#"),peg$decode("<%;\u014A.\" &\"/2#;\u014C/)$8\":\u019C\"\"! )(\"'#&'#=.\" 7\u019B"),peg$decode("%;\u01C3.) &;\u01BA.# &;\u014B/1#;\u023F/($8\":\u019D\"!!)(\"'#&'#"),peg$decode("%;\u01F7/;#;\u023F/2$;\u0207/)$8#:\u019E#\"\" )(#'#(\"'#&'#"),peg$decode("<;\u014D.# &;\u014E=.\" 7\u019F"),peg$decode("%;\u01D9.# &;\u01F6/1#;\u023F/($8\":\u01A0\"!!)(\"'#&'#"),peg$decode("%;\u022A/@#;\u023F/7$;\u014F.\" &\"/)$8#:\u01A1#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u0207/;#;\u023F/2$;\u0150/)$8#:\u01A2#\"\" )(#'#(\"'#&'#"),peg$decode("%;\xE8/B#;\u023F/9$$;\xE70#*;\xE7&/)$8#:\u012E#\"\" )(#'#(\"'#&'#"),peg$decode("%;\u01E7/c#;\u023F/Z$;\u01DE/Q$;\u023F/H$;\u021C.) &3\u01A3\"\"5)7\u01A4/3$;\u023F/*$8&:\u01A5&#%#!)(&'#(%'#($'#(#'#(\"'#&'#"),peg$decode("<%;\u0230/D#;\u023F/;$;o/2$;\u023F/)$8$:\u01A6$\"#!)($'#(#'#(\"'#&'#=.\" 7\x84"),peg$decode("<%;\u01C4/W#;\u023F/N$;\u0154/E$;\u023F/<$;\u01E0/3$;\u023F/*$8&:\u01A8&#%#!)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u01A7"),peg$decode("%$;\u0155/�#*;\u0155&&&#/' 8!:\u01A9!! )"),peg$decode("%;\x8C/:#;\u023F/1$;$/($8#:\"#!\")(#'#(\"'#&'#"),peg$decode("<%;\u0158/T#;\u0105.\" &\"/F$;\u0157/=$;\u023F/4$;\u0159/+$8%:\u01AB%$$#\" )(%'#($'#(#'#(\"'#&'#=.\" 7\u01AA"),peg$decode("%;\u0185/;#;\u023F/2$;\xE6/)$8#:\u01AC#\"\" )(#'#(\"'#&'#.# &;\u0185"),peg$decode("%;\xFC/J#;\u0104.\" &\"/<$;\u022E/3$;\u023F/*$8$:\u01AD$##\"!)($'#(#'#(\"'#&'#"),peg$decode("%;\u01BF/D#;\u023F/;$;\xA8/2$;\u023F/)$8$:\u012C$\"#!)($'#(#'#(\"'#&'#"),peg$decode("<%;\u015B/f#;\u0105.\" &\"/X$;\u017B/O$;\u023F/F$;\u022B/=$;\u023F/4$;\u015C/+$8':\u01AF'$&%$ )(''#(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u01AE"),peg$decode("%;\xFC/N#;\u022F/E$;\u023F/<$;\u0221/3$;\u023F/*$8%:\u01B0%#$#!)(%'#($'#(#'#(\"'#&'#"),peg$decode("%;\u0197/@#;\u023F/7$;\u015D.\" &\"/)$8#:\u01B1#\"\" )(#'#(\"'#&'#"),peg$decode("<%;\u01A0/Z#;\u023F/Q$;\u015E.\" &\"/C$;\u023F/:$;\u01A1/1$;\u023F/($8&:\u01B3&!#)(&'#(%'#($'#(#'#(\"'#&'#=.\" 7\u01B2"),peg$decode("%;\u0160/9#$;\u015F0#*;\u015F&/)$8\":\u01B4\"\"! )(\"'#&'#"),peg$decode("%;\u023F/H#;\u01A2/?$;\u023F/6$;\u0160.\" &\"/($8$:\u01B5$! )($'#(#'#(\"'#&'#"),peg$decode("%%<%;\u0195/;#;\u023F/2$;&.# &;\u0111/#$+#)(#'#(\"'#&'#=.##&&!&'#/:#;o/1$;\u023F/($8#:\u0130#!!)(#'#(\"'#&'#.x &%;\u0161/n#%%<;\u0193=.##&&!&'#/,#;\u023F/#$+\")(\"'#&'#/F$;\u010E.\" &\"/8$;\u010F.\" &\"/*$8$:\u014F$##! )($'#(#'#(\"'#&'#"),peg$decode(";\u0195.# &;\u0198"),peg$decode("<%;\u0163/;#;\u017B/2$;\u023F/)$8#:\u01B7#\"\"!)(#'#(\"'#&'#=.\" 7\u01B6"),peg$decode("<%;\u01DD/J#;\u023F/A$;\u0164/8$;\u0165.\" &\"/*$8$:\u01B9$##! )($'#(#'#(\"'#&'#=.\" 7\u01B8"),peg$decode("<%;\u0221./ &;\u01F2.) &;\u0227.# &;\u022E/1#;\u023F/($8\":\u010B\"!!)(\"'#&'#=.\" 7\u01BA"),peg$decode("<%;\u01EE/D#;\u023F/;$;\u01E4/2$;\u023F/)$8$:\u01BC$\"#!)($'#(#'#(\"'#&'#=.\" 7\u01BB"),peg$decode("<%;\u01AE/,#;\u01AE/#$+\")(\"'#&'#=.\" 7\u01BD"),peg$decode("<;\u01AA=.\" 7\u01BE"),peg$decode("<;\u01AB=.\" 7\u01BF"),peg$decode("<;\u01A4=.\" 7\u01C0"),peg$decode("<;\u01B5=.\" 7\u01C1"),peg$decode("<;\u01AF=.\" 7\u01C2"),peg$decode("<%;\u01B0/,#;\u01B0/#$+\")(\"'#&'#=.\" 7\u01C3"),peg$decode("<%;\u01B1/,#;\u01B1/#$+\")(\"'#&'#=.\" 7\u01C4"),peg$decode("<;\u01AD=.\" 7\u01C5"),peg$decode("<;\u01AE=.\" 7\u01C6"),peg$decode("<;\u01B0=.\" 7\u01C7"),peg$decode("<;\u01B1=.\" 7\u01C8"),peg$decode("<%;\u01B0/,#;\u01AC/#$+\")(\"'#&'#=.\" 7\u01C9"),peg$decode("<%;\u01B1/,#;\u01AC/#$+\")(\"'#&'#=.\" 7\u01CA"),peg$decode("<%;\u01AC/1#;\u01AC.\" &\"/#$+\")(\"'#&'#=.\" 7\u01CB"),peg$decode("<%;\u01B2/,#;\u01AC/#$+\")(\"'#&'#=.\" 7\u01CC"),peg$decode("<%;\u01B0/,#;\u01B1/#$+\")(\"'#&'#=.\" 7\u01CC"),peg$decode("<%;\u01FA/@#;\u023F/7$;k.\" &\"/)$8#:\u01CE#\"\" )(#'#(\"'#&'#=.\" 7\u01CD"),peg$decode("<;\u0195.# &;\u0198=.\" 7\u01CF"),peg$decode("<%;\u0178/' 8!:\u01D1!! )=.\" 7\u01D0"),peg$decode("<%;\u017C.\" &\"/2#;\u0178/)$8\":\u01D3\"\"! )(\"'#&'#=.\" 7\u01D2"),peg$decode("<%;\u017C.\" &\"/2#;\u0178/)$8\":\u01D5\"\"! )(\"'#&'#=.\" 7\u01D4"),peg$decode("%;\u0178/2#;\u01A3/)$8\":\u01D6\"\"! )(\"'#&'#"),peg$decode("<%;\u017F.) &;\u0180.# &;\u017E/2#;\u0178/)$8\":\u01D8\"\"! )(\"'#&'#=.\" 7\u01D7"),peg$decode("%;\u023F/& 8!:\u01D9! )"),peg$decode("%;\u017C/2#;\u0180/)$8\":\u01DA\"\"! )(\"'#&'#"),peg$decode("%;\u0178/2#;\u01A3/)$8\":D\"\"! )(\"'#&'#"),peg$decode("<%;\u0178/' 8!:\u01DC!! )=.\" 7\u01DB"),peg$decode("<%;\u0178/' 8!:\u01DE!! )=.\" 7\u01DD"),peg$decode("<%;\u017C.\" &\"/2#;\u0178/)$8\":\u01E0\"\"! )(\"'#&'#=.\" 7\u01DF"),peg$decode("<%;\u017C.\" &\"/2#;\u0178/)$8\":\u01E2\"\"! )(\"'#&'#=.\" 7\u01E1"),peg$decode("<%;\u017C.\" &\"/2#;\u0178/)$8\":\u01E4\"\"! )(\"'#&'#=.\" 7\u01E3"),peg$decode("<%;\u017C.\" &\"/2#;\u0178/)$8\":\u01E6\"\"! )(\"'#&'#=.\" 7\u01E5"),peg$decode("<%;\u0188.# &;\u017B/1#;\u023F/($8\":\u01E8\"!!)(\"'#&'#=.\" 7\u01E7"),peg$decode("%;\u017B/;#;\u023F/2$;\xE6/)$8#:\u01E9#\"\" )(#'#(\"'#&'#"),peg$decode("<%;\u0178/' 8!:\u01EB!! )=.\" 7\u01EA"),peg$decode("<%;\u0178/' 8!:\u01ED!! )=.\" 7\u01EC"),peg$decode("<%;\u018C/=#%<;\u0193=.##&&!&'#/($8\":\u01EF\"!!)(\"'#&'#.\xC5 &%;\u018D/=#%<;\u0193=.##&&!&'#/($8\":\u01F0\"!!)(\"'#&'#.\x9B &%;\u018F/=#%<;\u0193=.##&&!&'#/($8\":\u01F1\"!!)(\"'#&'#.q &%;\u0190/=#%<;\u0193=.##&&!&'#/($8\":\u01F2\"!!)(\"'#&'#.G &%;\u0192/=#%<;\u0193=.##&&!&'#/($8\":\u01F3\"!!)(\"'#&'#=.\" 7\u01EE"),peg$decode("<%%3\u01F5\"\"5!7\u01F6.\" &\"/F#3\u01F7\"\"5#7\u01F8.\" &\"/2$3\u01F9\"\"5$7\u01FA/#$+#)(#'#(\"'#&'#.k &%3\u01FB\"\"5$7\u01FC.5 &3\u01FD\"\"5&7\u01FE.) &3\u01FF\"\"5$7\u0200.\" &\"/2#3\u0201\"\"5$7\u0202/#$+\")(\"'#&'#.) &3\u0203\"\"5$7\u0204/' 8!:\u010B!! )=.\" 7\u01F4"),peg$decode("<%;\u018E.5 &3\u0206\"\"5%7\u0207.) &3\u0208\"\"5$7\u0209/' 8!:\u010B!! )=.\" 7\u0205"),peg$decode("<%3\u020B\"\"5&7\u020C/i#%$4(\"\"5!7)/,#0)*4(\"\"5!7)&&&#/2#3\u020D\"\"5)7\u020E/#$+\")(\"'#&'#.\" &\"/)$8\":\u020F\"\"! )(\"'#&'#=.\" 7\u020A"),peg$decode("<%3\u0211\"\"5'7\u0212.\x95 &3\u0213\"\"5'7\u0214.\x89 &3\u0215\"\"5'7\u0216.} &%3\u0217\"\"5$7\u0218/7#3\u0219\"\"5$7\u021A.\" &\"/#$+\")(\"'#&'#.S &%3\u0219\"\"5$7\u021A/7#3\u021B\"\"5%7\u021C.\" &\"/#$+\")(\"'#&'#.) &3\u021D\"\"5&7\u021E/' 8!:\u010B!! )=.\" 7\u0210"),peg$decode("<%%3\u0220\"\"5#7\u0221/V#2\u0222\"\"6\u02227\u0223.A &2\u0224\"\"6\u02247\u0225.5 &2\u0226\"\"6\u02267\u0227.) &3\u0228\"\"5$7\u0229/#$+\")(\"'#&'#.q &%3\u022A\"\"5#7\u022B.A &3\u01FD\"\"5&7\u01FE.5 &3\u022C\"\"5%7\u022D.) &3\u01FB\"\"5$7\u01FC.\" &\"/2#3\u0220\"\"5#7\u0221/#$+\")(\"'#&'#.# &;\u0191/' 8!:\u010B!! )=.\" 7\u021F"),peg$decode("%3\u022E\"\"5(7\u022F/d#%$4(\"\"5!7)/,#0)*4(\"\"5!7)&&&#/2#3\u0230\"\"5%7\u0231/#$+\")(\"'#&'#/)$8\":\u0232\"\"! )(\"'#&'#"),peg$decode("<%3\u0234\"\"5$7\u0235/' 8!:\u010B!! )=.\" 7\u0233"),peg$decode("4\u0236\"\"5!7\u0237"),peg$decode("%2\u0238\"\"6\u02387\u0239/K#$4\u023A\"\"5!7\u023B/,#0)*4\u023A\"\"5!7\u023B&&&#/)$8\":\u023C\"\"! )(\"'#&'#"),peg$decode(";\u0196.# &;\u0197"),peg$decode(";\u0199./ &;\u019D.) &;\u019B.# &;\u019C"),peg$decode("%%<;\u0234.# &;>=.##&&!&'#/J#$;\u0194.# &;\u0193/,#0)*;\u0194.# &;\u0193&&&#/($8\":\xD6\"! )(\"'#&'#"),peg$decode("%%<;\u0236.# &;>=.##&&!&'#/J#$;\u0194.# &;\u0193/,#0)*;\u0194.# &;\u0193&&&#/($8\":\u023D\"! )(\"'#&'#"),peg$decode("%;\u019E/\x99#;\u023F/\x90$%$%%<;\u019A=.##&&!&'#/1#1\"\"5!7\u023E/#$+\")(\"'#&'#0G*%%<;\u019A=.##&&!&'#/1#1\"\"5!7\u023E/#$+\")(\"'#&'#&/\"!&,)/1$;\u019A/($8$:\u023F$!!)($'#(#'#(\"'#&'#"),peg$decode("%$4\u0240\"\"5!7\u02410)*4\u0240\"\"5!7\u0241&/5#;\u019F/,$;\u023F/#$+#)(#'#(\"'#&'#"),peg$decode("%2\u0242\"\"6\u02427\u0243/k#$2\u0244\"\"6\u02447\u0245.) &4\u0246\"\"5!7\u024705*2\u0244\"\"6\u02447\u0245.) &4\u0246\"\"5!7\u0247&/7$2\u0242\"\"6\u02427\u0243/($8#:\u0248#!!)(#'#(\"'#&'#"),peg$decode("%2\u0249\"\"6\u02497\u024A/k#$26\"\"6677.) &48\"\"5!7905*26\"\"6677.) &48\"\"5!79&/7$2\u0249\"\"6\u02497\u024A/($8#:\u024B#!!)(#'#(\"'#&'#"),peg$decode("%2\u024C\"\"6\u024C7\u024D/k#$2\u024E\"\"6\u024E7\u024F.) &4\u0250\"\"5!7\u025105*2\u024E\"\"6\u024E7\u024F.) &4\u0250\"\"5!7\u0251&/7$2\u024C\"\"6\u024C7\u024D/($8#:\u0252#!!)(#'#(\"'#&'#"),peg$decode("<%2\u0254\"\"6\u02547\u0255/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0253"),peg$decode("<%2\u0257\"\"6\u02577\u0258/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0256"),peg$decode("<%2\u025A\"\"6\u025A7\u025B/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0259"),peg$decode("<%2\u025D\"\"6\u025D7\u025E/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u025C"),peg$decode("<%2\u0260\"\"6\u02607\u0261/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u025F"),peg$decode("<%2\u0263\"\"6\u02637\u0264/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0262"),peg$decode("<%2\u0266\"\"6\u02667\u0267/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0265"),peg$decode("<%2\u0269\"\"6\u02697\u026A/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0268"),peg$decode("<%2\u0249\"\"6\u02497\u024A/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u026B"),peg$decode("<%2\u0242\"\"6\u02427\u0243/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u026C"),peg$decode("<%2\u024C\"\"6\u024C7\u024D/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u026D"),peg$decode("<%2\u026F\"\"6\u026F7\u0270/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u026E"),peg$decode("<%2\u0272\"\"6\u02727\u0273/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0271"),peg$decode("<%2\u0275\"\"6\u02757\u0276/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0274"),peg$decode("<%2\u0277\"\"6\u02777\u0278/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u01CB"),peg$decode("<%2\u027A\"\"6\u027A7\u027B/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0279"),peg$decode("<%2\u027D\"\"6\u027D7\u027E/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u027C"),peg$decode("<%2\u027F\"\"6\u027F7\u0280/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u01C2"),peg$decode("<%2\u0281\"\"6\u02817\u0282/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u01C7"),peg$decode("<%2\u0283\"\"6\u02837\u0284/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u01C8"),peg$decode("<%2\u0286\"\"6\u02867\u0287/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0285"),peg$decode("<%2\u0289\"\"6\u02897\u028A/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u0288"),peg$decode("<%2a\"\"6a7b/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u028B"),peg$decode("<%2\u028D\"\"6\u028D7\u028E/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u028C"),peg$decode("<%2\u0290\"\"6\u02907\u0291/1#;\u023F/($8\":\"\"!!)(\"'#&'#=.\" 7\u028F"),peg$decode("%3\u0292\"\"5%7\u0293/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0294\"\"5&7\u0295/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0296\"\"5#7\u0297/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0298\"\"5%7\u0299/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u029A\"\"5#7\u029B/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u029C\"\"5%7\u029D/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u029E\"\"5'7\u029F/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02A0\"\"5#7\u02A1/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02A2\"\"5\"7\u02A3/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02A4\"\"5#7\u02A5/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02A6\"\"5&7\u02A7/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02A8\"\"5-7\u02A9/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02AA\"\"5&7\u02AB/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02AC\"\"5%7\u02AD/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02AE\"\"5'7\u02AF/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02B0\"\"5\"7\u02B1/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02B2\"\"5'7\u02B3/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02B4\"\"5$7\u02B5/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02B6\"\"5$7\u02B7/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02B8\"\"5%7\u02B9/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02BA\"\"5'7\u02BB/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02BC\"\"5&7\u02BD/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02BE\"\"5&7\u02BF/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02C0\"\"5(7\u02C1/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02C2\"\"5*7\u02C3/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02C4\"\"5&7\u02C5/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02C6\"\"5%7\u02C7/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02C8\"\"5,7\u02C9/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02CA\"\"5,7\u02CB/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02CC\"\"517\u02CD/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02CE\"\"5(7\u02CF/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02D0\"\"5'7\u02D1/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02D2\"\"5*7\u02D3/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02D4\"\"5(7\u02D5/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02D6\"\"5&7\u02D7/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02D8\"\"5$7\u02D9/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02DA\"\"5&7\u02DB/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02DC\"\"5(7\u02DD/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02DE\"\"5$7\u02DF/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02E0\"\"5$7\u02E1/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02E2\"\"5$7\u02E3/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02E4\"\"5#7\u02E5/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02E6\"\"5&7\u02E7/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02E8\"\"5&7\u02E9/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02EA\"\"5)7\u02EB/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02EC\"\"5&7\u02ED/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02EE\"\"5'7\u02EF/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02F0\"\"5$7\u02F1/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02F2\"\"5#7\u02F3/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02F4\"\"5'7\u02F5/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02F6\"\"5$7\u02F7/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02F8\"\"5$7\u02F9/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02FA\"\"5$7\u02FB/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02FC\"\"5%7\u02FD/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u02FE\"\"5&7\u02FF/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0300\"\"5\"7\u0301/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0302\"\"5&7\u0303/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0304\"\"5)7\u0305/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0306\"\"5\"7\u0307/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0308\"\"5%7\u0309/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u030A\"\"5'7\u030B/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u030C\"\"5)7\u030D/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u030E\"\"5%7\u030F/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0310\"\"5&7\u0311/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0312\"\"5'7\u0313/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0314\"\"5)7\u0315/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0316\"\"5$7\u0317/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0318\"\"5\"7\u0319/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u031A\"\"5&7\u031B/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u031C\"\"5$7\u031D/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u031E\"\"5#7\u031F/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0320\"\"5$7\u0321/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0322\"\"5$7\u0323/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0324\"\"5%7\u0325/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0326\"\"5%7\u0327/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0328\"\"5'7\u0329/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u032A\"\"5\"7\u032B/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u032C\"\"5#7\u032D/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u032E\"\"5'7\u032F/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3y\"\"5$7z/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0330\"\"5\"7\u0331/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0332\"\"5&7\u0333/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0334\"\"5\"7\u0335/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0336\"\"5\"7\u0337/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0338\"\"5%7\u0339/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u033A\"\"5%7\u033B/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u033C\"\"5$7\u033D/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u033E\"\"5&7\u033F/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0340\"\"5'7\u0341/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0342\"\"5%7\u0343/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0344\"\"5%7\u0345/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0346\"\"5)7\u0347/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0348\"\"5*7\u0349/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u034A\"\"5&7\u034B/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u034C\"\"5'7\u034D/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u034E\"\"5'7\u034F/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0350\"\"5&7\u0351/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0352\"\"5'7\u0353/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0354\"\"5(7\u0355/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0356\"\"5%7\u0357/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0358\"\"5(7\u0359/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u035A\"\"5#7\u035B/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u035C\"\"5%7\u035D/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u035E\"\"5)7\u035F/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0360\"\"5&7\u0361/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0362\"\"5#7\u0363/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0364\"\"5%7\u0365/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0366\"\"5$7\u0367/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0368\"\"5)7\u0369/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u036A\"\"5$7\u036B/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u036C\"\"5\"7\u036D/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u036E\"\"5+7\u036F/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0370\"\"5'7\u0371/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0372\"\"5%7\u0373/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0374\"\"5&7\u0375/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0376\"\"5&7\u0377/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0378\"\"5%7\u0379/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u037A\"\"5&7\u037B/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u037C\"\"5&7\u037D/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u037E\"\"5$7\u037F/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0380\"\"5'7\u0381/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0382\"\"5$7\u0383/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0384\"\"5%7\u0385/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0386\"\"5$7\u0387/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%3\u0388\"\"5'7\u0389/8#%<;\u0193=.##&&!&'#/#$+\")(\"'#&'#"),peg$decode("%;\u0235/' 8!:\u038A!! )"),peg$decode(";\u01B7.\u02F9 &;\u01B8.\u02F3 &;\u01B9.\u02ED &;\u01BA.\u02E7 &;\u01BB.\u02E1 &;\u01BC.\u02DB &;\u01BD.\u02D5 &;\u01BE.\u02CF &;\u01BF.\u02C9 &;\u01C0.\u02C3 &;\u01C1.\u02BD &;\u01C2.\u02B7 &;\u01C3.\u02B1 &;\u01C4.\u02AB &;\u01C5.\u02A5 &;\u01C6.\u029F &;\u01C7.\u0299 &;\u01C8.\u0293 &;\u01C9.\u028D &;\u01CA.\u0287 &;\u01CB.\u0281 &;\u01CC.\u027B &;\u01CD.\u0275 &;\u01CE.\u026F &;\u01CF.\u0269 &;\u01D0.\u0263 &;\u01D1.\u025D &;\u01D2.\u0257 &;\u01D3.\u0251 &;\u01D4.\u024B &;\u01D5.\u0245 &;\u01D6.\u023F &;\u01D7.\u0239 &;\u01D8.\u0233 &;\u01D9.\u022D &;\u01DA.\u0227 &;\u01DB.\u0221 &;\u01DC.\u021B &;\u01DD.\u0215 &;\u01DE.\u020F &;\u01DF.\u0209 &;\u01E0.\u0203 &;\u01E1.\u01FD &;\u01E2.\u01F7 &;\u01E3.\u01F1 &;\u01E4.\u01EB &;\u01E5.\u01E5 &;\u01E6.\u01DF &;\u01E7.\u01D9 &;\u01E8.\u01D3 &;\u01E9.\u01CD &;\u01EA.\u01C7 &;\u01EB.\u01C1 &;\u01EC.\u01BB &;\u01ED.\u01B5 &;\u01EE.\u01AF &;\u01EF.\u01A9 &;\u01F0.\u01A3 &;\u01F1.\u019D &;\u01F2.\u0197 &;\u01F3.\u0191 &;\u01F4.\u018B &;\u01F5.\u0185 &;\u01F6.\u017F &;\u01F7.\u0179 &;\u01F8.\u0173 &;\u01F9.\u016D &;\u01FA.\u0167 &;\u01FB.\u0161 &;\u01FC.\u015B &;\u01FD.\u0155 &;\u01FE.\u014F &;\u01FF.\u0149 &;\u0200.\u0143 &;\u0201.\u013D &;\u0202.\u0137 &;\u0203.\u0131 &;\u0204.\u012B &;\u0205.\u0125 &;\u0206.\u011F &;\u0207.\u0119 &;\u0208.\u0113 &;\u0209.\u010D &;\u020A.\u0107 &;\u020B.\u0101 &;\u020C.\xFB &;\u020D.\xF5 &;\u020E.\xEF &;\u020F.\xE9 &;\u0210.\xE3 &;\u0211.\xDD &;\u0212.\xD7 &;\u0213.\xD1 &;\u0214.\xCB &;\u0215.\xC5 &;\u0216.\xBF &;\u0217.\xB9 &;\u0218.\xB3 &;\u0219.\xAD &;\u021A.\xA7 &;\u021B.\xA1 &;\u021C.\x9B &;\u021E.\x95 &;\u021F.\x8F &;\u0220.\x89 &;\u0221.\x83 &;\u0223.} &;\u0224.w &;\u0225.q &;\u0226.k &;\u0227.e &;\u0228._ &;\u0229.Y &;\u022A.S &;\u022B.M &;\u022C.G &;\u022D.A &;\u022E.; &;\u022F.5 &;\u0230./ &;\u0231.) &;\u0232.# &;\u0233"),peg$decode(";\u01B9.\u0167 &;\u01BB.\u0161 &;\u01BC.\u015B &;\u01BE.\u0155 &;\u01BF.\u014F &;\u01C2.\u0149 &;\u01C5.\u0143 &;\u01C8.\u013D &;\u01CA.\u0137 &;\u01CB.\u0131 &;\u01CD.\u012B &;\u01CF.\u0125 &;\u01D0.\u011F &;\u01D6.\u0119 &;\u01D7.\u0113 &;\u01D9.\u010D &;\u01DC.\u0107 &;\u01DD.\u0101 &;\u01DF.\xFB &;\u01E1.\xF5 &;\u01E2.\xEF &;\u01E4.\xE9 &;\u01E8.\xE3 &;\u01E9.\xDD &;\u01EC.\xD7 &;\u01ED.\xD1 &;\u01F1.\xCB &;\u01F2.\xC5 &;\u01F6.\xBF &;\u01F8.\xB9 &;\u01F9.\xB3 &;\u01FA.\xAD &;\u01FB.\xA7 &;\u01FC.\xA1 &;\u0200.\x9B &;\u0204.\x95 &;\u0205.\x8F &;\u0206.\x89 &;\u0209.\x83 &;\u020A.} &;\u020B.w &;\u020F.q &;\u0213.k &;\u021F.e &;\u0220._ &;\u0221.Y &;\u0224.S &;\u0225.M &;\u0226.G &;\u0228.A &;\u0229.; &;\u022A.5 &;\u022B./ &;\u022D.) &;\u0230.# &;\u0231"),peg$decode(";\u0238.. &%;\u0239/& 8!:\u038B! )"),peg$decode("<%2\u038D\"\"6\u038D7\u038E/\x87#$%%<4\u038F\"\"5!7\u0390=.##&&!&'#/1#1\"\"5!7\u023E/#$+\")(\"'#&'#0M*%%<4\u038F\"\"5!7\u0390=.##&&!&'#/1#1\"\"5!7\u023E/#$+\")(\"'#&'#&/#$+\")(\"'#&'#=.\" 7\u038C"),peg$decode("<%;\u023A/5#;\u023E/,$;\u023B/#$+#)(#'#(\"'#&'#=.\" 7\u0391"),peg$decode("2\u0392\"\"6\u03927\u0393"),peg$decode("2\u0394\"\"6\u03947\u0395"),peg$decode("$%%<;\u023B.# &;\u023A=.##&&!&'#/1#1\"\"5!7\u023E/#$+\")(\"'#&'#/P#0M*%%<;\u023B.# &;\u023A=.##&&!&'#/1#1\"\"5!7\u023E/#$+\")(\"'#&'#&&&#"),peg$decode(";\u023C.# &;\u0239"),peg$decode("%;\u023D/K#$4\u0396\"\"5!7\u0397.# &;\u023D0/*4\u0396\"\"5!7\u0397.# &;\u023D&/#$+\")(\"'#&'#"),peg$decode("<%$4\u0396\"\"5!7\u0397.# &;\u02370/*4\u0396\"\"5!7\u0397.# &;\u0237&/' 8!:-!! )=.\" 7\u0398"),peg$decode("2\u0399\"\"6\u03997\u039A")];var peg$currPos=0;var peg$savedPos=0;var peg$posDetailsCache=[{line:1,column:1}];var peg$maxFailPos=0;var peg$maxFailExpected=[];var peg$silentFails=0;var peg$resultsCache={};var peg$ruleNames=["start","start_streaming","stmt_list","semi_optional","semi_required","stmt_list_tail","type_definition","type_definition_types","datatype_custom","datatype_word_tail","type_definition_args","definition_args_loop","literal_value","literal_null","literal_date","literal_string","literal_string_single","literal_string_schar","literal_blob","literal_text","number_sign","literal_number_signed","literal_number","literal_number_decimal","number_decimal_node","number_decimal_full","number_decimal_fraction","number_decimal_exponent","literal_number_hex","number_hex","number_digit","bind_parameter","bind_parameter_numbered","bind_number_id","bind_parameter_named","bind_parameter_tcl","tcl_suffix","expression_exists","expression_exists_ne","expression_raise","expression_raise_args","raise_args_ignore","raise_args_message","expression_root","expression_wrapped","expression_recur","expression_unary_collate","expression_unary","expression_unary_op","expression_collate","expression_concat","expression_multiply","expression_multiply_op","expression_add","expression_add_op","expression_shift","expression_shift_op","expression_compare","expression_compare_op","expression_equiv","expression_equiv_tails","expression_equiv_null_op","expression_equiv_op","expression_cast","type_alias","expression_case","case_expression","expression_case_when","expression_case_else","expression_postfix","expression_postfix_tail","expression_like","expression_escape","expression_between","expression_between_tail","expression_is_not","expression_in","expression_in_target","expression_list_or_select","expression","expression_and_op","expression_list","expression_list_loop","expression_list_rest","function_call","function_call_args","args_list_distinct","error_message","stmt","stmt_modifier","modifier_query","stmt_nodes","stmt_commit","stmt_begin","commit_transaction","stmt_begin_modifier","stmt_rollback","rollback_savepoint","savepoint_name","savepoint_alt","stmt_savepoint","stmt_release","stmt_alter","alter_start","alter_action","alter_action_rename","alter_action_add","action_add_modifier","stmt_crud","stmt_core_with","clause_with","clause_with_recursive","clause_with_tables","clause_with_loop","expression_cte","select_alias","select_wrapped","stmt_select_full","stmt_sqlite","stmt_attach","attach_arg","stmt_detach","stmt_vacuum","vacuum_target","stmt_analyze","analyze_arg","stmt_reindex","reindex_arg","stmt_pragma","pragma_expression","pragma_value","pragma_value_literal","pragma_value_bool","pragma_bool_id","pragma_value_name","stmt_crud_types","stmt_select","stmt_core_order","stmt_core_limit","stmt_core_limit_offset","limit_offset_variant","limit_offset_variant_name","select_loop","select_loop_union","select_parts","select_parts_core","select_core_select","select_modifier","select_modifier_distinct","select_modifier_all","select_target","select_target_loop","select_core_from","stmt_core_where","select_core_group","select_core_having","select_node","select_node_star","select_node_star_qualified","select_node_aliased","select_source","source_loop_tail","select_cross_clause","select_join_clause","table_or_sub","table_or_sub_func","table_qualified","table_qualified_id","table_or_sub_index_node","index_node_indexed","index_node_none","table_or_sub_sub","table_or_sub_select","alias","join_operator","join_operator_natural","join_operator_types","operator_types_hand","types_hand_outer","operator_types_misc","join_condition","join_condition_on","join_condition_using","select_parts_values","stmt_core_order_list","stmt_core_order_list_loop","stmt_core_order_list_item","select_star","stmt_fallback_types","stmt_insert","insert_keyword","insert_keyword_ins","insert_keyword_repl","insert_keyword_mod","insert_target","insert_into","insert_into_start","insert_results","loop_columns","loop_column_tail","loop_name","insert_value","insert_value_start","insert_values_list","insert_values_loop","expression_list_wrapped","insert_default","operator_compound","compound_union","compound_union_all","stmt_update","update_start","update_fallback","update_set","update_columns","update_columns_tail","update_column","stmt_delete","delete_start","stmt_create","create_start","create_table_only","create_index_only","create_trigger_only","create_view_only","create_virtual_only","create_table","create_table_start","create_core_tmp","create_core_ine","create_table_source","table_source_def","source_def_rowid","source_def_loop","source_def_tail","source_tbl_loop","source_def_column","source_def_name","column_type","column_constraints","column_constraint_tail","column_constraint","constraint_name","constraint_name_loop","column_constraint_types","column_constraint_foreign","column_constraint_primary","col_primary_start","col_primary_auto","column_constraint_null","constraint_null_types","constraint_null_value","column_constraint_check","column_constraint_default","column_default_values","column_constraint_collate","table_constraint","table_constraint_types","table_constraint_check","table_constraint_primary","primary_start","primary_start_normal","primary_start_unique","primary_columns","primary_columns_index","primary_columns_table","primary_column_tail","primary_column","primary_column_types","column_collate","column_collate_loop","primary_column_dir","primary_conflict","primary_conflict_start","constraint_check","table_constraint_foreign","foreign_start","foreign_clause","foreign_references","foreign_actions","foreign_actions_tail","foreign_action","foreign_action_on","action_on_action","on_action_set","on_action_cascade","on_action_none","foreign_action_match","foreign_deferrable","deferrable_initially","table_source_select","create_index","create_index_start","index_unique","index_on","create_trigger","create_trigger_start","trigger_conditions","trigger_apply_mods","trigger_apply_instead","trigger_do","trigger_do_on","trigger_do_update","do_update_of","do_update_columns","trigger_foreach","trigger_when","trigger_action","action_loop","action_loop_stmt","create_view","id_view_expression","create_view_start","create_as_select","create_virtual","create_virtual_start","virtual_module","virtual_args","virtual_args_loop","virtual_args_tail","virtual_arg_types","virtual_column_name","stmt_drop","drop_start","drop_types","drop_ie","binary_concat","binary_plus","binary_minus","binary_multiply","binary_divide","binary_mod","binary_left","binary_right","binary_and","binary_or","binary_lt","binary_gt","binary_lte","binary_gte","binary_equal","binary_notequal_a","binary_notequal_b","binary_lang_isnt","id_name","id_database","id_function","id_table","id_table_qualified","id_column","column_unqualified","column_qualifiers","id_column_qualified","id_collation","id_savepoint","id_index","id_trigger","id_view","id_pragma","id_cte","id_table_expression","id_constraint_table","id_constraint_column","datatype_types","datatype_text","datatype_real","datatype_real_double","datatype_numeric","datatype_integer","datatype_integer_fp","datatype_none","name_char","unicode_char","name","name_quoted","name_unquoted","name_reserved","name_bracketed","bracket_terminator","name_dblquoted","name_sglquoted","name_backticked","sym_bopen","sym_bclose","sym_popen","sym_pclose","sym_comma","sym_dot","sym_star","sym_quest","sym_sglquote","sym_dblquote","sym_backtick","sym_tilde","sym_plus","sym_minus","sym_equal","sym_amp","sym_pipe","sym_mod","sym_lt","sym_gt","sym_excl","sym_semi","sym_colon","sym_fslash","sym_bslash","ABORT","ACTION","ADD","AFTER","ALL","ALTER","ANALYZE","AND","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FOR","FOREIGN","FROM","FULL","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LEFT","LIKE","LIMIT","MATCH","NATURAL","NO","NOT","NOTNULL","NULL","OF","OFFSET","ON","OR","ORDER","OUTER","PLAN","PRAGMA","PRIMARY","QUERY","RAISE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RIGHT","ROLLBACK","ROW","ROWID","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TO","TRANSACTION","TRIGGER","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WITH","WITHOUT","reserved_words","reserved_word_list","reserved_critical_list","comment","comment_line","comment_block","comment_block_start","comment_block_end","comment_block_body","block_body_nodes","comment_block_feed","o","_TODO_"];var peg$descNames=[null,null,null,null,null,null,"Type Definition",null,"Custom Datatype Name",null,"Type Definition Arguments",null,null,"Null Literal","Date Literal","String Literal","Single-quoted String Literal",null,"Blob Literal",null,"Number Sign",null,null,null,"Decimal Literal",null,null,"Decimal Literal Exponent","Hexidecimal Literal",null,null,"Bind Parameter","Numbered Bind Parameter",null,"Named Bind Parameter","TCL Bind Parameter",null,"EXISTS Expression","EXISTS Keyword","RAISE Expression","RAISE Expression Arguments","IGNORE Keyword",null,null,null,null,null,null,null,"COLLATE Expression",null,null,null,null,null,null,null,null,null,null,null,null,null,"CAST Expression","Type Alias","CASE Expression",null,"WHEN Clause","ELSE Clause",null,null,"Comparison Expression","ESCAPE Expression","BETWEEN Expression",null,null,"IN Expression",null,null,null,null,"Expression List",null,null,"Function Call","Function Call Arguments",null,"Error Message","Statement","QUERY PLAN","QUERY PLAN Keyword",null,"END Transaction Statement","BEGIN Transaction Statement",null,null,"ROLLBACK Statement","TO Clause",null,null,"SAVEPOINT Statement","RELEASE Statement","ALTER TABLE Statement","ALTER TABLE Keyword",null,"RENAME TO Keyword","ADD COLUMN Keyword",null,null,"WITH Clause",null,null,null,null,"Common Table Expression",null,null,null,null,"ATTACH Statement",null,"DETACH Statement","VACUUM Statement",null,"ANALYZE Statement",null,"REINDEX Statement",null,"PRAGMA Statement",null,null,null,null,null,null,null,"SELECT Statement","ORDER BY Clause","LIMIT Clause","OFFSET Clause",null,null,null,"Union Operation",null,null,"SELECT Results Clause","SELECT Results Modifier",null,null,null,null,"FROM Clause","WHERE Clause","GROUP BY Clause","HAVING Clause",null,null,null,null,null,null,"CROSS JOIN Operation","JOIN Operation",null,null,"Qualified Table","Qualified Table Identifier","Qualfied Table Index",null,null,"SELECT Source","Subquery","Alias","JOIN Operator",null,null,null,null,null,"JOIN Constraint","Join ON Clause","Join USING Clause","VALUES Clause",null,null,"Ordering Expression","Star","Fallback Type","INSERT Statement",null,"INSERT Keyword","REPLACE Keyword","INSERT OR Modifier",null,"INTO Clause","INTO Keyword","VALUES Clause","Column List",null,"Column Name","VALUES Clause","VALUES Keyword",null,null,"Wrapped Expression List","DEFAULT VALUES Clause","Compound Operator","UNION Operator",null,"UPDATE Statement","UPDATE Keyword","UPDATE OR Modifier","SET Clause",null,null,"Column Assignment","DELETE Statement","DELETE Keyword","CREATE Statement",null,null,null,null,null,null,"CREATE TABLE Statement",null,null,"IF NOT EXISTS Modifier",null,"Table Definition",null,null,null,null,"Column Definition",null,"Column Datatype",null,null,"Column Constraint",null,"CONSTRAINT Name",null,"FOREIGN KEY Column Constraint","PRIMARY KEY Column Constraint","PRIMARY KEY Keyword","AUTOINCREMENT Keyword",null,"UNIQUE Column Constraint","NULL Column Constraint","CHECK Column Constraint","DEFAULT Column Constraint",null,"COLLATE Column Constraint","Table Constraint",null,"CHECK Table Constraint","PRIMARY KEY Table Constraint",null,"PRIMARY KEY Keyword","UNIQUE Keyword",null,null,null,null,"Indexed Column",null,"Collation",null,"Column Direction",null,"ON CONFLICT Keyword",null,"FOREIGN KEY Table Constraint","FOREIGN KEY Keyword",null,"REFERENCES Clause",null,null,"FOREIGN KEY Action Clause",null,"FOREIGN KEY Action",null,null,null,null,"DEFERRABLE Clause",null,null,"CREATE INDEX Statement",null,null,"ON Clause","CREATE TRIGGER Statement",null,"Conditional Clause",null,null,"Conditional Action",null,null,null,null,null,"WHEN Clause","Actions Clause",null,null,"CREATE VIEW Statement",null,null,null,"CREATE VIRTUAL TABLE Statement",null,null,"Module Arguments",null,null,null,null,"DROP Statement","DROP Keyword","DROP Type","IF EXISTS Keyword","Or","Add","Subtract","Multiply","Divide","Modulo","Shift Left","Shift Right","Logical AND","Logical OR","Less Than","Greater Than","Less Than Or Equal","Greater Than Or Equal","Equal","Not Equal","Not Equal","IS","Identifier","Database Identifier","Function Identifier","Table Identifier",null,"Column Identifier",null,null,null,"Collation Identifier","Savepoint Identifier","Index Identifier","Trigger Identifier","View Identifier","Pragma Identifier","CTE Identifier",null,"Table Constraint Identifier","Column Constraint Identifier","Datatype Name","TEXT Datatype Name","REAL Datatype Name","DOUBLE Datatype Name","NUMERIC Datatype Name","INTEGER Datatype Name",null,"BLOB Datatype Name",null,null,null,null,null,null,null,null,null,null,null,"Open Bracket","Close Bracket","Open Parenthesis","Close Parenthesis","Comma","Period","Asterisk","Question Mark","Single Quote","Double Quote","Backtick","Tilde","Plus","Minus","Equal","Ampersand","Pipe","Modulo","Less Than","Greater Than","Exclamation","Semicolon","Colon","Forward Slash","Backslash",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Line Comment","Block Comment",null,null,null,null,null,"Whitespace",null];var peg$tracer="tracer"in options?options.tracer:new peg$DefaultTracer();var peg$result;if("startRule"in options){if(!(options.startRule in peg$startRuleIndices)){throw new Error("Can't start parsing from rule \""+options.startRule+"\".");}peg$startRuleIndex=peg$startRuleIndices[options.startRule];}function text(){return input.substring(peg$savedPos,peg$currPos);}function location(){return peg$computeLocation(peg$savedPos,peg$currPos);}function expected(description,location){location=location!==undefined?location:peg$computeLocation(peg$savedPos,peg$currPos);throw peg$buildStructuredError([peg$otherExpectation(description)],input.substring(peg$savedPos,peg$currPos),location);}function error(message,location){location=location!==undefined?location:peg$computeLocation(peg$savedPos,peg$currPos);throw peg$buildSimpleError(message,location);}function peg$literalExpectation(text,ignoreCase){return{type:"literal",text:text,ignoreCase:ignoreCase};}function peg$classExpectation(parts,inverted,ignoreCase){return{type:"class",parts:parts,inverted:inverted,ignoreCase:ignoreCase};}function peg$anyExpectation(){return{type:"any"};}function peg$endExpectation(){return{type:"end"};}function peg$otherExpectation(description){return{type:"other",description:description};}function peg$computePosDetails(pos){var details=peg$posDetailsCache[pos];var p;if(details){return details;}else{p=pos-1;while(!peg$posDetailsCache[p]){p--;}details=peg$posDetailsCache[p];details={line:details.line,column:details.column};while(ppeg$maxFailPos){peg$maxFailPos=peg$currPos;peg$maxFailExpected=[];}peg$maxFailExpected.push(expected);}function peg$buildSimpleError(message,location){return new peg$SyntaxError(message,null,null,location);}function peg$buildStructuredError(expected,found,location){return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected,found),expected,found,location);}function peg$decode(s){return s.split("").map(function(ch){return ch.charCodeAt(0)-32;});}function peg$parseRule(index){var bc=peg$bytecode[index];var ip=0;var ips=[];var end=bc.length;var ends=[];var stack=[];var startPos=peg$currPos;var params;peg$tracer.trace({type:"rule.enter",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});var key=peg$currPos*545+index;var cached=peg$resultsCache[key];if(cached){peg$currPos=cached.nextPos;if(cached.result!==peg$FAILED){peg$tracer.trace({type:"rule.match",rule:peg$ruleNames[index],description:peg$descNames[index],result:cached.result,location:peg$computeLocation(startPos,peg$currPos)});}else{peg$tracer.trace({type:"rule.fail",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});}return cached.result;}while(true){while(ippeg$currPos){end=ip+3+bc[ip+1];ip+=3;}else{end=ip+3+bc[ip+1]+bc[ip+2];ip+=3+bc[ip+1];}break;case 18:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(input.substr(peg$currPos,peg$consts[bc[ip+1]].length)===peg$consts[bc[ip+1]]){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 19:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(input.substr(peg$currPos,peg$consts[bc[ip+1]].length).toLowerCase()===peg$consts[bc[ip+1]]){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 20:ends.push(end);ips.push(ip+4+bc[ip+2]+bc[ip+3]);if(peg$consts[bc[ip+1]].test(input.charAt(peg$currPos))){end=ip+4+bc[ip+2];ip+=4;}else{end=ip+4+bc[ip+2]+bc[ip+3];ip+=4+bc[ip+2];}break;case 21:stack.push(input.substr(peg$currPos,bc[ip+1]));peg$currPos+=bc[ip+1];ip+=2;break;case 22:stack.push(peg$consts[bc[ip+1]]);peg$currPos+=peg$consts[bc[ip+1]].length;ip+=2;break;case 23:stack.push(peg$FAILED);if(peg$silentFails===0){peg$fail(peg$consts[bc[ip+1]]);}ip+=2;break;case 24:peg$savedPos=stack[stack.length-1-bc[ip+1]];ip+=2;break;case 25:peg$savedPos=peg$currPos;ip++;break;case 26:params=bc.slice(ip+4,ip+4+bc[ip+3]).map(function(p){return stack[stack.length-1-p];});stack.splice(stack.length-bc[ip+2],bc[ip+2],peg$consts[bc[ip+1]].apply(null,params));ip+=4+bc[ip+3];break;case 27:stack.push(peg$parseRule(bc[ip+1]));ip+=2;break;case 28:peg$silentFails++;ip++;break;case 29:peg$silentFails--;ip++;break;default:throw new Error("Invalid opcode: "+bc[ip]+".");}}if(ends.length>0){end=ends.pop();ip=ips.pop();}else{break;}}peg$resultsCache[key]={nextPos:peg$currPos,result:stack[0]};if(stack[0]!==peg$FAILED){peg$tracer.trace({type:"rule.match",rule:peg$ruleNames[index],description:peg$descNames[index],result:stack[0],location:peg$computeLocation(startPos,peg$currPos)});}else{peg$tracer.trace({type:"rule.fail",rule:peg$ruleNames[index],description:peg$descNames[index],location:peg$computeLocation(startPos,startPos)});}return stack[0];}function makeArray(arr){if(!isOkay(arr)){return[];}return!Array.isArray(arr)?[arr]:arr;}function isOkay(obj){return obj!=null;}function foldString(parts){var glue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:' ';var folded=parts.filter(function(part){return isOkay(part);}).reduce(function(prev,cur){return""+prev+nodeToString(cur)+glue;},'');return folded.trim();}function foldStringWord(parts){return foldString(parts,'');}function foldStringKey(parts){return foldString(parts).toLowerCase();}function flattenAll(arr){return arr.filter(function(part){return isOkay(part);}).reduce(function(prev,cur){return prev.concat(cur);},[]);}function unescape(str){var quoteChar=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'\'';var re=new RegExp(quoteChar+"{2}",'g');return nodeToString(str).replace(re,quoteChar);}function nodeToString(){var node=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];return makeArray(node).join('');}function textNode(node){return nodeToString(node).trim();}function keyNode(node){return textNode(node).toLowerCase();}function isArrayOkay(arr){return Array.isArray(arr)&&arr.length>0&&isOkay(arr[0]);}function composeBinary(first,rest){return rest.reduce(function(left,_ref7){var _ref8=_slicedToArray(_ref7,4);var x=_ref8[0];var operation=_ref8[1];var y=_ref8[2];var right=_ref8[3];return{'type':'expression','format':'binary','variant':'operation','operation':keyNode(operation),'left':left,'right':right};},first);}peg$result=peg$parseRule(peg$startRuleIndex);if(peg$result!==peg$FAILED&&peg$currPos===input.length){return peg$result;}else{if(peg$result!==peg$FAILED&&peg$currPos */ diff --git a/lib/streaming.js b/lib/streaming.js index 888beb0..85b0fa3 100644 --- a/lib/streaming.js +++ b/lib/streaming.js @@ -1,5 +1,5 @@ /*! - * sqlite-parser - v1.0.0-rc1 + * sqlite-parser - v1.0.0-rc2 * @copyright 2015-2016 Code School (http://codeschool.com) * @author Nick Wronski */ diff --git a/lib/tracer.js b/lib/tracer.js index 9421f64..96c028c 100644 --- a/lib/tracer.js +++ b/lib/tracer.js @@ -1,5 +1,5 @@ /*! - * sqlite-parser - v1.0.0-rc1 + * sqlite-parser - v1.0.0-rc2 * @copyright 2015-2016 Code School (http://codeschool.com) * @author Nick Wronski */ diff --git a/package.json b/package.json index c162cf1..d8545ce 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "sqlite-parser", "description": "JavaScript implentation of SQLite 3 query parser", "author": "Code School (http://codeschool.com)", - "version": "1.0.0-rc1", + "version": "1.0.0-rc2", "contributors": [ "Nick Wronski " ],