worker-php-0c082719.js.map 232 KB

1
  1. {"version":3,"file":"worker-php-0c082719.js","sources":["../../node_modules/ace-builds/src-noconflict/worker-php.js"],"sourcesContent":["\"no use strict\";\n!(function(window) {\nif (typeof window.window != \"undefined\" && window.document)\n return;\nif (window.require && window.define)\n return;\n\nif (!window.console) {\n window.console = function() {\n var msgs = Array.prototype.slice.call(arguments, 0);\n postMessage({type: \"log\", data: msgs});\n };\n window.console.error =\n window.console.warn = \n window.console.log =\n window.console.trace = window.console;\n}\nwindow.window = window;\nwindow.ace = window;\n\nwindow.onerror = function(message, file, line, col, err) {\n postMessage({type: \"error\", data: {\n message: message,\n data: err && err.data,\n file: file,\n line: line, \n col: col,\n stack: err && err.stack\n }});\n};\n\nwindow.normalizeModule = function(parentId, moduleName) {\n // normalize plugin requires\n if (moduleName.indexOf(\"!\") !== -1) {\n var chunks = moduleName.split(\"!\");\n return window.normalizeModule(parentId, chunks[0]) + \"!\" + window.normalizeModule(parentId, chunks[1]);\n }\n // normalize relative requires\n if (moduleName.charAt(0) == \".\") {\n var base = parentId.split(\"/\").slice(0, -1).join(\"/\");\n moduleName = (base ? base + \"/\" : \"\") + moduleName;\n \n while (moduleName.indexOf(\".\") !== -1 && previous != moduleName) {\n var previous = moduleName;\n moduleName = moduleName.replace(/^\\.\\//, \"\").replace(/\\/\\.\\//, \"/\").replace(/[^\\/]+\\/\\.\\.\\//, \"\");\n }\n }\n \n return moduleName;\n};\n\nwindow.require = function require(parentId, id) {\n if (!id) {\n id = parentId;\n parentId = null;\n }\n if (!id.charAt)\n throw new Error(\"worker.js require() accepts only (parentId, id) as arguments\");\n\n id = window.normalizeModule(parentId, id);\n\n var module = window.require.modules[id];\n if (module) {\n if (!module.initialized) {\n module.initialized = true;\n module.exports = module.factory().exports;\n }\n return module.exports;\n }\n \n if (!window.require.tlns)\n return console.log(\"unable to load \" + id);\n \n var path = resolveModuleId(id, window.require.tlns);\n if (path.slice(-3) != \".js\") path += \".js\";\n \n window.require.id = id;\n window.require.modules[id] = {}; // prevent infinite loop on broken modules\n importScripts(path);\n return window.require(parentId, id);\n};\nfunction resolveModuleId(id, paths) {\n var testPath = id, tail = \"\";\n while (testPath) {\n var alias = paths[testPath];\n if (typeof alias == \"string\") {\n return alias + tail;\n } else if (alias) {\n return alias.location.replace(/\\/*$/, \"/\") + (tail || alias.main || alias.name);\n } else if (alias === false) {\n return \"\";\n }\n var i = testPath.lastIndexOf(\"/\");\n if (i === -1) break;\n tail = testPath.substr(i) + tail;\n testPath = testPath.slice(0, i);\n }\n return id;\n}\nwindow.require.modules = {};\nwindow.require.tlns = {};\n\nwindow.define = function(id, deps, factory) {\n if (arguments.length == 2) {\n factory = deps;\n if (typeof id != \"string\") {\n deps = id;\n id = window.require.id;\n }\n } else if (arguments.length == 1) {\n factory = id;\n deps = [];\n id = window.require.id;\n }\n \n if (typeof factory != \"function\") {\n window.require.modules[id] = {\n exports: factory,\n initialized: true\n };\n return;\n }\n\n if (!deps.length)\n // If there is no dependencies, we inject \"require\", \"exports\" and\n // \"module\" as dependencies, to provide CommonJS compatibility.\n deps = [\"require\", \"exports\", \"module\"];\n\n var req = function(childId) {\n return window.require(id, childId);\n };\n\n window.require.modules[id] = {\n exports: {},\n factory: function() {\n var module = this;\n var returnExports = factory.apply(this, deps.slice(0, factory.length).map(function(dep) {\n switch (dep) {\n // Because \"require\", \"exports\" and \"module\" aren't actual\n // dependencies, we must handle them seperately.\n case \"require\": return req;\n case \"exports\": return module.exports;\n case \"module\": return module;\n // But for all other dependencies, we can just go ahead and\n // require them.\n default: return req(dep);\n }\n }));\n if (returnExports)\n module.exports = returnExports;\n return module;\n }\n };\n};\nwindow.define.amd = {};\nwindow.require.tlns = {};\nwindow.initBaseUrls = function initBaseUrls(topLevelNamespaces) {\n for (var i in topLevelNamespaces)\n this.require.tlns[i] = topLevelNamespaces[i];\n};\n\nwindow.initSender = function initSender() {\n\n var EventEmitter = window.require(\"ace/lib/event_emitter\").EventEmitter;\n var oop = window.require(\"ace/lib/oop\");\n \n var Sender = function() {};\n \n (function() {\n \n oop.implement(this, EventEmitter);\n \n this.callback = function(data, callbackId) {\n postMessage({\n type: \"call\",\n id: callbackId,\n data: data\n });\n };\n \n this.emit = function(name, data) {\n postMessage({\n type: \"event\",\n name: name,\n data: data\n });\n };\n \n }).call(Sender.prototype);\n \n return new Sender();\n};\n\nvar main = window.main = null;\nvar sender = window.sender = null;\n\nwindow.onmessage = function(e) {\n var msg = e.data;\n if (msg.event && sender) {\n sender._signal(msg.event, msg.data);\n }\n else if (msg.command) {\n if (main[msg.command])\n main[msg.command].apply(main, msg.args);\n else if (window[msg.command])\n window[msg.command].apply(window, msg.args);\n else\n throw new Error(\"Unknown command:\" + msg.command);\n }\n else if (msg.init) {\n window.initBaseUrls(msg.tlns);\n sender = window.sender = window.initSender();\n var clazz = this.require(msg.module)[msg.classname];\n main = window.main = new clazz(sender);\n }\n};\n})(this);\n\nace.define(\"ace/lib/oop\",[], function(require, exports, module){\"use strict\";\nexports.inherits = function (ctor, superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n};\nexports.mixin = function (obj, mixin) {\n for (var key in mixin) {\n obj[key] = mixin[key];\n }\n return obj;\n};\nexports.implement = function (proto, mixin) {\n exports.mixin(proto, mixin);\n};\n\n});\n\nace.define(\"ace/apply_delta\",[], function(require, exports, module){\"use strict\";\nfunction throwDeltaError(delta, errorText) {\n console.log(\"Invalid Delta:\", delta);\n throw \"Invalid Delta: \" + errorText;\n}\nfunction positionInDocument(docLines, position) {\n return position.row >= 0 && position.row < docLines.length &&\n position.column >= 0 && position.column <= docLines[position.row].length;\n}\nfunction validateDelta(docLines, delta) {\n if (delta.action != \"insert\" && delta.action != \"remove\")\n throwDeltaError(delta, \"delta.action must be 'insert' or 'remove'\");\n if (!(delta.lines instanceof Array))\n throwDeltaError(delta, \"delta.lines must be an Array\");\n if (!delta.start || !delta.end)\n throwDeltaError(delta, \"delta.start/end must be an present\");\n var start = delta.start;\n if (!positionInDocument(docLines, delta.start))\n throwDeltaError(delta, \"delta.start must be contained in document\");\n var end = delta.end;\n if (delta.action == \"remove\" && !positionInDocument(docLines, end))\n throwDeltaError(delta, \"delta.end must contained in document for 'remove' actions\");\n var numRangeRows = end.row - start.row;\n var numRangeLastLineChars = (end.column - (numRangeRows == 0 ? start.column : 0));\n if (numRangeRows != delta.lines.length - 1 || delta.lines[numRangeRows].length != numRangeLastLineChars)\n throwDeltaError(delta, \"delta.range must match delta lines\");\n}\nexports.applyDelta = function (docLines, delta, doNotValidate) {\n var row = delta.start.row;\n var startColumn = delta.start.column;\n var line = docLines[row] || \"\";\n switch (delta.action) {\n case \"insert\":\n var lines = delta.lines;\n if (lines.length === 1) {\n docLines[row] = line.substring(0, startColumn) + delta.lines[0] + line.substring(startColumn);\n }\n else {\n var args = [row, 1].concat(delta.lines);\n docLines.splice.apply(docLines, args);\n docLines[row] = line.substring(0, startColumn) + docLines[row];\n docLines[row + delta.lines.length - 1] += line.substring(startColumn);\n }\n break;\n case \"remove\":\n var endColumn = delta.end.column;\n var endRow = delta.end.row;\n if (row === endRow) {\n docLines[row] = line.substring(0, startColumn) + line.substring(endColumn);\n }\n else {\n docLines.splice(row, endRow - row + 1, line.substring(0, startColumn) + docLines[endRow].substring(endColumn));\n }\n break;\n }\n};\n\n});\n\nace.define(\"ace/lib/event_emitter\",[], function(require, exports, module){\"use strict\";\nvar EventEmitter = {};\nvar stopPropagation = function () { this.propagationStopped = true; };\nvar preventDefault = function () { this.defaultPrevented = true; };\nEventEmitter._emit =\n EventEmitter._dispatchEvent = function (eventName, e) {\n this._eventRegistry || (this._eventRegistry = {});\n this._defaultHandlers || (this._defaultHandlers = {});\n var listeners = this._eventRegistry[eventName] || [];\n var defaultHandler = this._defaultHandlers[eventName];\n if (!listeners.length && !defaultHandler)\n return;\n if (typeof e != \"object\" || !e)\n e = {};\n if (!e.type)\n e.type = eventName;\n if (!e.stopPropagation)\n e.stopPropagation = stopPropagation;\n if (!e.preventDefault)\n e.preventDefault = preventDefault;\n listeners = listeners.slice();\n for (var i = 0; i < listeners.length; i++) {\n listeners[i](e, this);\n if (e.propagationStopped)\n break;\n }\n if (defaultHandler && !e.defaultPrevented)\n return defaultHandler(e, this);\n };\nEventEmitter._signal = function (eventName, e) {\n var listeners = (this._eventRegistry || {})[eventName];\n if (!listeners)\n return;\n listeners = listeners.slice();\n for (var i = 0; i < listeners.length; i++)\n listeners[i](e, this);\n};\nEventEmitter.once = function (eventName, callback) {\n var _self = this;\n this.on(eventName, function newCallback() {\n _self.off(eventName, newCallback);\n callback.apply(null, arguments);\n });\n if (!callback) {\n return new Promise(function (resolve) {\n callback = resolve;\n });\n }\n};\nEventEmitter.setDefaultHandler = function (eventName, callback) {\n var handlers = this._defaultHandlers;\n if (!handlers)\n handlers = this._defaultHandlers = { _disabled_: {} };\n if (handlers[eventName]) {\n var old = handlers[eventName];\n var disabled = handlers._disabled_[eventName];\n if (!disabled)\n handlers._disabled_[eventName] = disabled = [];\n disabled.push(old);\n var i = disabled.indexOf(callback);\n if (i != -1)\n disabled.splice(i, 1);\n }\n handlers[eventName] = callback;\n};\nEventEmitter.removeDefaultHandler = function (eventName, callback) {\n var handlers = this._defaultHandlers;\n if (!handlers)\n return;\n var disabled = handlers._disabled_[eventName];\n if (handlers[eventName] == callback) {\n if (disabled)\n this.setDefaultHandler(eventName, disabled.pop());\n }\n else if (disabled) {\n var i = disabled.indexOf(callback);\n if (i != -1)\n disabled.splice(i, 1);\n }\n};\nEventEmitter.on =\n EventEmitter.addEventListener = function (eventName, callback, capturing) {\n this._eventRegistry = this._eventRegistry || {};\n var listeners = this._eventRegistry[eventName];\n if (!listeners)\n listeners = this._eventRegistry[eventName] = [];\n if (listeners.indexOf(callback) == -1)\n listeners[capturing ? \"unshift\" : \"push\"](callback);\n return callback;\n };\nEventEmitter.off =\n EventEmitter.removeListener =\n EventEmitter.removeEventListener = function (eventName, callback) {\n this._eventRegistry = this._eventRegistry || {};\n var listeners = this._eventRegistry[eventName];\n if (!listeners)\n return;\n var index = listeners.indexOf(callback);\n if (index !== -1)\n listeners.splice(index, 1);\n };\nEventEmitter.removeAllListeners = function (eventName) {\n if (!eventName)\n this._eventRegistry = this._defaultHandlers = undefined;\n if (this._eventRegistry)\n this._eventRegistry[eventName] = undefined;\n if (this._defaultHandlers)\n this._defaultHandlers[eventName] = undefined;\n};\nexports.EventEmitter = EventEmitter;\n\n});\n\nace.define(\"ace/range\",[], function(require, exports, module){\"use strict\";\nvar comparePoints = function (p1, p2) {\n return p1.row - p2.row || p1.column - p2.column;\n};\nvar Range = /** @class */ (function () {\n function Range(startRow, startColumn, endRow, endColumn) {\n this.start = {\n row: startRow,\n column: startColumn\n };\n this.end = {\n row: endRow,\n column: endColumn\n };\n }\n Range.prototype.isEqual = function (range) {\n return this.start.row === range.start.row &&\n this.end.row === range.end.row &&\n this.start.column === range.start.column &&\n this.end.column === range.end.column;\n };\n Range.prototype.toString = function () {\n return (\"Range: [\" + this.start.row + \"/\" + this.start.column +\n \"] -> [\" + this.end.row + \"/\" + this.end.column + \"]\");\n };\n Range.prototype.contains = function (row, column) {\n return this.compare(row, column) == 0;\n };\n Range.prototype.compareRange = function (range) {\n var cmp, end = range.end, start = range.start;\n cmp = this.compare(end.row, end.column);\n if (cmp == 1) {\n cmp = this.compare(start.row, start.column);\n if (cmp == 1) {\n return 2;\n }\n else if (cmp == 0) {\n return 1;\n }\n else {\n return 0;\n }\n }\n else if (cmp == -1) {\n return -2;\n }\n else {\n cmp = this.compare(start.row, start.column);\n if (cmp == -1) {\n return -1;\n }\n else if (cmp == 1) {\n return 42;\n }\n else {\n return 0;\n }\n }\n };\n Range.prototype.comparePoint = function (p) {\n return this.compare(p.row, p.column);\n };\n Range.prototype.containsRange = function (range) {\n return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;\n };\n Range.prototype.intersects = function (range) {\n var cmp = this.compareRange(range);\n return (cmp == -1 || cmp == 0 || cmp == 1);\n };\n Range.prototype.isEnd = function (row, column) {\n return this.end.row == row && this.end.column == column;\n };\n Range.prototype.isStart = function (row, column) {\n return this.start.row == row && this.start.column == column;\n };\n Range.prototype.setStart = function (row, column) {\n if (typeof row == \"object\") {\n this.start.column = row.column;\n this.start.row = row.row;\n }\n else {\n this.start.row = row;\n this.start.column = column;\n }\n };\n Range.prototype.setEnd = function (row, column) {\n if (typeof row == \"object\") {\n this.end.column = row.column;\n this.end.row = row.row;\n }\n else {\n this.end.row = row;\n this.end.column = column;\n }\n };\n Range.prototype.inside = function (row, column) {\n if (this.compare(row, column) == 0) {\n if (this.isEnd(row, column) || this.isStart(row, column)) {\n return false;\n }\n else {\n return true;\n }\n }\n return false;\n };\n Range.prototype.insideStart = function (row, column) {\n if (this.compare(row, column) == 0) {\n if (this.isEnd(row, column)) {\n return false;\n }\n else {\n return true;\n }\n }\n return false;\n };\n Range.prototype.insideEnd = function (row, column) {\n if (this.compare(row, column) == 0) {\n if (this.isStart(row, column)) {\n return false;\n }\n else {\n return true;\n }\n }\n return false;\n };\n Range.prototype.compare = function (row, column) {\n if (!this.isMultiLine()) {\n if (row === this.start.row) {\n return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);\n }\n }\n if (row < this.start.row)\n return -1;\n if (row > this.end.row)\n return 1;\n if (this.start.row === row)\n return column >= this.start.column ? 0 : -1;\n if (this.end.row === row)\n return column <= this.end.column ? 0 : 1;\n return 0;\n };\n Range.prototype.compareStart = function (row, column) {\n if (this.start.row == row && this.start.column == column) {\n return -1;\n }\n else {\n return this.compare(row, column);\n }\n };\n Range.prototype.compareEnd = function (row, column) {\n if (this.end.row == row && this.end.column == column) {\n return 1;\n }\n else {\n return this.compare(row, column);\n }\n };\n Range.prototype.compareInside = function (row, column) {\n if (this.end.row == row && this.end.column == column) {\n return 1;\n }\n else if (this.start.row == row && this.start.column == column) {\n return -1;\n }\n else {\n return this.compare(row, column);\n }\n };\n Range.prototype.clipRows = function (firstRow, lastRow) {\n if (this.end.row > lastRow)\n var end = { row: lastRow + 1, column: 0 };\n else if (this.end.row < firstRow)\n var end = { row: firstRow, column: 0 };\n if (this.start.row > lastRow)\n var start = { row: lastRow + 1, column: 0 };\n else if (this.start.row < firstRow)\n var start = { row: firstRow, column: 0 };\n return Range.fromPoints(start || this.start, end || this.end);\n };\n Range.prototype.extend = function (row, column) {\n var cmp = this.compare(row, column);\n if (cmp == 0)\n return this;\n else if (cmp == -1)\n var start = { row: row, column: column };\n else\n var end = { row: row, column: column };\n return Range.fromPoints(start || this.start, end || this.end);\n };\n Range.prototype.isEmpty = function () {\n return (this.start.row === this.end.row && this.start.column === this.end.column);\n };\n Range.prototype.isMultiLine = function () {\n return (this.start.row !== this.end.row);\n };\n Range.prototype.clone = function () {\n return Range.fromPoints(this.start, this.end);\n };\n Range.prototype.collapseRows = function () {\n if (this.end.column == 0)\n return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row - 1), 0);\n else\n return new Range(this.start.row, 0, this.end.row, 0);\n };\n Range.prototype.toScreenRange = function (session) {\n var screenPosStart = session.documentToScreenPosition(this.start);\n var screenPosEnd = session.documentToScreenPosition(this.end);\n return new Range(screenPosStart.row, screenPosStart.column, screenPosEnd.row, screenPosEnd.column);\n };\n Range.prototype.moveBy = function (row, column) {\n this.start.row += row;\n this.start.column += column;\n this.end.row += row;\n this.end.column += column;\n };\n return Range;\n}());\nRange.fromPoints = function (start, end) {\n return new Range(start.row, start.column, end.row, end.column);\n};\nRange.comparePoints = comparePoints;\nRange.comparePoints = function (p1, p2) {\n return p1.row - p2.row || p1.column - p2.column;\n};\nexports.Range = Range;\n\n});\n\nace.define(\"ace/anchor\",[], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar Anchor = /** @class */ (function () {\n function Anchor(doc, row, column) {\n this.$onChange = this.onChange.bind(this);\n this.attach(doc);\n if (typeof column == \"undefined\")\n this.setPosition(row.row, row.column);\n else\n this.setPosition(row, column);\n }\n Anchor.prototype.getPosition = function () {\n return this.$clipPositionToDocument(this.row, this.column);\n };\n Anchor.prototype.getDocument = function () {\n return this.document;\n };\n Anchor.prototype.onChange = function (delta) {\n if (delta.start.row == delta.end.row && delta.start.row != this.row)\n return;\n if (delta.start.row > this.row)\n return;\n var point = $getTransformedPoint(delta, { row: this.row, column: this.column }, this.$insertRight);\n this.setPosition(point.row, point.column, true);\n };\n Anchor.prototype.setPosition = function (row, column, noClip) {\n var pos;\n if (noClip) {\n pos = {\n row: row,\n column: column\n };\n }\n else {\n pos = this.$clipPositionToDocument(row, column);\n }\n if (this.row == pos.row && this.column == pos.column)\n return;\n var old = {\n row: this.row,\n column: this.column\n };\n this.row = pos.row;\n this.column = pos.column;\n this._signal(\"change\", {\n old: old,\n value: pos\n });\n };\n Anchor.prototype.detach = function () {\n this.document.off(\"change\", this.$onChange);\n };\n Anchor.prototype.attach = function (doc) {\n this.document = doc || this.document;\n this.document.on(\"change\", this.$onChange);\n };\n Anchor.prototype.$clipPositionToDocument = function (row, column) {\n var pos = {};\n if (row >= this.document.getLength()) {\n pos.row = Math.max(0, this.document.getLength() - 1);\n pos.column = this.document.getLine(pos.row).length;\n }\n else if (row < 0) {\n pos.row = 0;\n pos.column = 0;\n }\n else {\n pos.row = row;\n pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));\n }\n if (column < 0)\n pos.column = 0;\n return pos;\n };\n return Anchor;\n}());\nAnchor.prototype.$insertRight = false;\noop.implement(Anchor.prototype, EventEmitter);\nfunction $pointsInOrder(point1, point2, equalPointsInOrder) {\n var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;\n return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);\n}\nfunction $getTransformedPoint(delta, point, moveIfEqual) {\n var deltaIsInsert = delta.action == \"insert\";\n var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.end.row - delta.start.row);\n var deltaColShift = (deltaIsInsert ? 1 : -1) * (delta.end.column - delta.start.column);\n var deltaStart = delta.start;\n var deltaEnd = deltaIsInsert ? deltaStart : delta.end; // Collapse insert range.\n if ($pointsInOrder(point, deltaStart, moveIfEqual)) {\n return {\n row: point.row,\n column: point.column\n };\n }\n if ($pointsInOrder(deltaEnd, point, !moveIfEqual)) {\n return {\n row: point.row + deltaRowShift,\n column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)\n };\n }\n return {\n row: deltaStart.row,\n column: deltaStart.column\n };\n}\nexports.Anchor = Anchor;\n\n});\n\nace.define(\"ace/document\",[], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar applyDelta = require(\"./apply_delta\").applyDelta;\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar Range = require(\"./range\").Range;\nvar Anchor = require(\"./anchor\").Anchor;\nvar Document = /** @class */ (function () {\n function Document(textOrLines) {\n this.$lines = [\"\"];\n if (textOrLines.length === 0) {\n this.$lines = [\"\"];\n }\n else if (Array.isArray(textOrLines)) {\n this.insertMergedLines({ row: 0, column: 0 }, textOrLines);\n }\n else {\n this.insert({ row: 0, column: 0 }, textOrLines);\n }\n }\n Document.prototype.setValue = function (text) {\n var len = this.getLength() - 1;\n this.remove(new Range(0, 0, len, this.getLine(len).length));\n this.insert({ row: 0, column: 0 }, text || \"\");\n };\n Document.prototype.getValue = function () {\n return this.getAllLines().join(this.getNewLineCharacter());\n };\n Document.prototype.createAnchor = function (row, column) {\n return new Anchor(this, row, column);\n };\n Document.prototype.$detectNewLine = function (text) {\n var match = text.match(/^.*?(\\r\\n|\\r|\\n)/m);\n this.$autoNewLine = match ? match[1] : \"\\n\";\n this._signal(\"changeNewLineMode\");\n };\n Document.prototype.getNewLineCharacter = function () {\n switch (this.$newLineMode) {\n case \"windows\":\n return \"\\r\\n\";\n case \"unix\":\n return \"\\n\";\n default:\n return this.$autoNewLine || \"\\n\";\n }\n };\n Document.prototype.setNewLineMode = function (newLineMode) {\n if (this.$newLineMode === newLineMode)\n return;\n this.$newLineMode = newLineMode;\n this._signal(\"changeNewLineMode\");\n };\n Document.prototype.getNewLineMode = function () {\n return this.$newLineMode;\n };\n Document.prototype.isNewLine = function (text) {\n return (text == \"\\r\\n\" || text == \"\\r\" || text == \"\\n\");\n };\n Document.prototype.getLine = function (row) {\n return this.$lines[row] || \"\";\n };\n Document.prototype.getLines = function (firstRow, lastRow) {\n return this.$lines.slice(firstRow, lastRow + 1);\n };\n Document.prototype.getAllLines = function () {\n return this.getLines(0, this.getLength());\n };\n Document.prototype.getLength = function () {\n return this.$lines.length;\n };\n Document.prototype.getTextRange = function (range) {\n return this.getLinesForRange(range).join(this.getNewLineCharacter());\n };\n Document.prototype.getLinesForRange = function (range) {\n var lines;\n if (range.start.row === range.end.row) {\n lines = [this.getLine(range.start.row).substring(range.start.column, range.end.column)];\n }\n else {\n lines = this.getLines(range.start.row, range.end.row);\n lines[0] = (lines[0] || \"\").substring(range.start.column);\n var l = lines.length - 1;\n if (range.end.row - range.start.row == l)\n lines[l] = lines[l].substring(0, range.end.column);\n }\n return lines;\n };\n Document.prototype.insertLines = function (row, lines) {\n console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\");\n return this.insertFullLines(row, lines);\n };\n Document.prototype.removeLines = function (firstRow, lastRow) {\n console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\");\n return this.removeFullLines(firstRow, lastRow);\n };\n Document.prototype.insertNewLine = function (position) {\n console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\");\n return this.insertMergedLines(position, [\"\", \"\"]);\n };\n Document.prototype.insert = function (position, text) {\n if (this.getLength() <= 1)\n this.$detectNewLine(text);\n return this.insertMergedLines(position, this.$split(text));\n };\n Document.prototype.insertInLine = function (position, text) {\n var start = this.clippedPos(position.row, position.column);\n var end = this.pos(position.row, position.column + text.length);\n this.applyDelta({\n start: start,\n end: end,\n action: \"insert\",\n lines: [text]\n }, true);\n return this.clonePos(end);\n };\n Document.prototype.clippedPos = function (row, column) {\n var length = this.getLength();\n if (row === undefined) {\n row = length;\n }\n else if (row < 0) {\n row = 0;\n }\n else if (row >= length) {\n row = length - 1;\n column = undefined;\n }\n var line = this.getLine(row);\n if (column == undefined)\n column = line.length;\n column = Math.min(Math.max(column, 0), line.length);\n return { row: row, column: column };\n };\n Document.prototype.clonePos = function (pos) {\n return { row: pos.row, column: pos.column };\n };\n Document.prototype.pos = function (row, column) {\n return { row: row, column: column };\n };\n Document.prototype.$clipPosition = function (position) {\n var length = this.getLength();\n if (position.row >= length) {\n position.row = Math.max(0, length - 1);\n position.column = this.getLine(length - 1).length;\n }\n else {\n position.row = Math.max(0, position.row);\n position.column = Math.min(Math.max(position.column, 0), this.getLine(position.row).length);\n }\n return position;\n };\n Document.prototype.insertFullLines = function (row, lines) {\n row = Math.min(Math.max(row, 0), this.getLength());\n var column = 0;\n if (row < this.getLength()) {\n lines = lines.concat([\"\"]);\n column = 0;\n }\n else {\n lines = [\"\"].concat(lines);\n row--;\n column = this.$lines[row].length;\n }\n this.insertMergedLines({ row: row, column: column }, lines);\n };\n Document.prototype.insertMergedLines = function (position, lines) {\n var start = this.clippedPos(position.row, position.column);\n var end = {\n row: start.row + lines.length - 1,\n column: (lines.length == 1 ? start.column : 0) + lines[lines.length - 1].length\n };\n this.applyDelta({\n start: start,\n end: end,\n action: \"insert\",\n lines: lines\n });\n return this.clonePos(end);\n };\n Document.prototype.remove = function (range) {\n var start = this.clippedPos(range.start.row, range.start.column);\n var end = this.clippedPos(range.end.row, range.end.column);\n this.applyDelta({\n start: start,\n end: end,\n action: \"remove\",\n lines: this.getLinesForRange({ start: start, end: end })\n });\n return this.clonePos(start);\n };\n Document.prototype.removeInLine = function (row, startColumn, endColumn) {\n var start = this.clippedPos(row, startColumn);\n var end = this.clippedPos(row, endColumn);\n this.applyDelta({\n start: start,\n end: end,\n action: \"remove\",\n lines: this.getLinesForRange({ start: start, end: end })\n }, true);\n return this.clonePos(start);\n };\n Document.prototype.removeFullLines = function (firstRow, lastRow) {\n firstRow = Math.min(Math.max(0, firstRow), this.getLength() - 1);\n lastRow = Math.min(Math.max(0, lastRow), this.getLength() - 1);\n var deleteFirstNewLine = lastRow == this.getLength() - 1 && firstRow > 0;\n var deleteLastNewLine = lastRow < this.getLength() - 1;\n var startRow = (deleteFirstNewLine ? firstRow - 1 : firstRow);\n var startCol = (deleteFirstNewLine ? this.getLine(startRow).length : 0);\n var endRow = (deleteLastNewLine ? lastRow + 1 : lastRow);\n var endCol = (deleteLastNewLine ? 0 : this.getLine(endRow).length);\n var range = new Range(startRow, startCol, endRow, endCol);\n var deletedLines = this.$lines.slice(firstRow, lastRow + 1);\n this.applyDelta({\n start: range.start,\n end: range.end,\n action: \"remove\",\n lines: this.getLinesForRange(range)\n });\n return deletedLines;\n };\n Document.prototype.removeNewLine = function (row) {\n if (row < this.getLength() - 1 && row >= 0) {\n this.applyDelta({\n start: this.pos(row, this.getLine(row).length),\n end: this.pos(row + 1, 0),\n action: \"remove\",\n lines: [\"\", \"\"]\n });\n }\n };\n Document.prototype.replace = function (range, text) {\n if (!(range instanceof Range))\n range = Range.fromPoints(range.start, range.end);\n if (text.length === 0 && range.isEmpty())\n return range.start;\n if (text == this.getTextRange(range))\n return range.end;\n this.remove(range);\n var end;\n if (text) {\n end = this.insert(range.start, text);\n }\n else {\n end = range.start;\n }\n return end;\n };\n Document.prototype.applyDeltas = function (deltas) {\n for (var i = 0; i < deltas.length; i++) {\n this.applyDelta(deltas[i]);\n }\n };\n Document.prototype.revertDeltas = function (deltas) {\n for (var i = deltas.length - 1; i >= 0; i--) {\n this.revertDelta(deltas[i]);\n }\n };\n Document.prototype.applyDelta = function (delta, doNotValidate) {\n var isInsert = delta.action == \"insert\";\n if (isInsert ? delta.lines.length <= 1 && !delta.lines[0]\n : !Range.comparePoints(delta.start, delta.end)) {\n return;\n }\n if (isInsert && delta.lines.length > 20000) {\n this.$splitAndapplyLargeDelta(delta, 20000);\n }\n else {\n applyDelta(this.$lines, delta, doNotValidate);\n this._signal(\"change\", delta);\n }\n };\n Document.prototype.$safeApplyDelta = function (delta) {\n var docLength = this.$lines.length;\n if (delta.action == \"remove\" && delta.start.row < docLength && delta.end.row < docLength\n || delta.action == \"insert\" && delta.start.row <= docLength) {\n this.applyDelta(delta);\n }\n };\n Document.prototype.$splitAndapplyLargeDelta = function (delta, MAX) {\n var lines = delta.lines;\n var l = lines.length - MAX + 1;\n var row = delta.start.row;\n var column = delta.start.column;\n for (var from = 0, to = 0; from < l; from = to) {\n to += MAX - 1;\n var chunk = lines.slice(from, to);\n chunk.push(\"\");\n this.applyDelta({\n start: this.pos(row + from, column),\n end: this.pos(row + to, column = 0),\n action: delta.action,\n lines: chunk\n }, true);\n }\n delta.lines = lines.slice(from);\n delta.start.row = row + from;\n delta.start.column = column;\n this.applyDelta(delta, true);\n };\n Document.prototype.revertDelta = function (delta) {\n this.$safeApplyDelta({\n start: this.clonePos(delta.start),\n end: this.clonePos(delta.end),\n action: (delta.action == \"insert\" ? \"remove\" : \"insert\"),\n lines: delta.lines.slice()\n });\n };\n Document.prototype.indexToPosition = function (index, startRow) {\n var lines = this.$lines || this.getAllLines();\n var newlineLength = this.getNewLineCharacter().length;\n for (var i = startRow || 0, l = lines.length; i < l; i++) {\n index -= lines[i].length + newlineLength;\n if (index < 0)\n return { row: i, column: index + lines[i].length + newlineLength };\n }\n return { row: l - 1, column: index + lines[l - 1].length + newlineLength };\n };\n Document.prototype.positionToIndex = function (pos, startRow) {\n var lines = this.$lines || this.getAllLines();\n var newlineLength = this.getNewLineCharacter().length;\n var index = 0;\n var row = Math.min(pos.row, lines.length);\n for (var i = startRow || 0; i < row; ++i)\n index += lines[i].length + newlineLength;\n return index + pos.column;\n };\n Document.prototype.$split = function (text) {\n return text.split(/\\r\\n|\\r|\\n/);\n };\n return Document;\n}());\nDocument.prototype.$autoNewLine = \"\";\nDocument.prototype.$newLineMode = \"auto\";\noop.implement(Document.prototype, EventEmitter);\nexports.Document = Document;\n\n});\n\nace.define(\"ace/lib/lang\",[], function(require, exports, module){\"use strict\";\nexports.last = function (a) {\n return a[a.length - 1];\n};\nexports.stringReverse = function (string) {\n return string.split(\"\").reverse().join(\"\");\n};\nexports.stringRepeat = function (string, count) {\n var result = '';\n while (count > 0) {\n if (count & 1)\n result += string;\n if (count >>= 1)\n string += string;\n }\n return result;\n};\nvar trimBeginRegexp = /^\\s\\s*/;\nvar trimEndRegexp = /\\s\\s*$/;\nexports.stringTrimLeft = function (string) {\n return string.replace(trimBeginRegexp, '');\n};\nexports.stringTrimRight = function (string) {\n return string.replace(trimEndRegexp, '');\n};\nexports.copyObject = function (obj) {\n var copy = {};\n for (var key in obj) {\n copy[key] = obj[key];\n }\n return copy;\n};\nexports.copyArray = function (array) {\n var copy = [];\n for (var i = 0, l = array.length; i < l; i++) {\n if (array[i] && typeof array[i] == \"object\")\n copy[i] = this.copyObject(array[i]);\n else\n copy[i] = array[i];\n }\n return copy;\n};\nexports.deepCopy = function deepCopy(obj) {\n if (typeof obj !== \"object\" || !obj)\n return obj;\n var copy;\n if (Array.isArray(obj)) {\n copy = [];\n for (var key = 0; key < obj.length; key++) {\n copy[key] = deepCopy(obj[key]);\n }\n return copy;\n }\n if (Object.prototype.toString.call(obj) !== \"[object Object]\")\n return obj;\n copy = {};\n for (var key in obj)\n copy[key] = deepCopy(obj[key]);\n return copy;\n};\nexports.arrayToMap = function (arr) {\n var map = {};\n for (var i = 0; i < arr.length; i++) {\n map[arr[i]] = 1;\n }\n return map;\n};\nexports.createMap = function (props) {\n var map = Object.create(null);\n for (var i in props) {\n map[i] = props[i];\n }\n return map;\n};\nexports.arrayRemove = function (array, value) {\n for (var i = 0; i <= array.length; i++) {\n if (value === array[i]) {\n array.splice(i, 1);\n }\n }\n};\nexports.escapeRegExp = function (str) {\n return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g, '\\\\$1');\n};\nexports.escapeHTML = function (str) {\n return (\"\" + str).replace(/&/g, \"&#38;\").replace(/\"/g, \"&#34;\").replace(/'/g, \"&#39;\").replace(/</g, \"&#60;\");\n};\nexports.getMatchOffsets = function (string, regExp) {\n var matches = [];\n string.replace(regExp, function (str) {\n matches.push({\n offset: arguments[arguments.length - 2],\n length: str.length\n });\n });\n return matches;\n};\nexports.deferredCall = function (fcn) {\n var timer = null;\n var callback = function () {\n timer = null;\n fcn();\n };\n var deferred = function (timeout) {\n deferred.cancel();\n timer = setTimeout(callback, timeout || 0);\n return deferred;\n };\n deferred.schedule = deferred;\n deferred.call = function () {\n this.cancel();\n fcn();\n return deferred;\n };\n deferred.cancel = function () {\n clearTimeout(timer);\n timer = null;\n return deferred;\n };\n deferred.isPending = function () {\n return timer;\n };\n return deferred;\n};\nexports.delayedCall = function (fcn, defaultTimeout) {\n var timer = null;\n var callback = function () {\n timer = null;\n fcn();\n };\n var _self = function (timeout) {\n if (timer == null)\n timer = setTimeout(callback, timeout || defaultTimeout);\n };\n _self.delay = function (timeout) {\n timer && clearTimeout(timer);\n timer = setTimeout(callback, timeout || defaultTimeout);\n };\n _self.schedule = _self;\n _self.call = function () {\n this.cancel();\n fcn();\n };\n _self.cancel = function () {\n timer && clearTimeout(timer);\n timer = null;\n };\n _self.isPending = function () {\n return timer;\n };\n return _self;\n};\n\n});\n\nace.define(\"ace/worker/mirror\",[], function(require, exports, module) {\n\"use strict\";\n\nvar Document = require(\"../document\").Document;\nvar lang = require(\"../lib/lang\");\n \nvar Mirror = exports.Mirror = function(sender) {\n this.sender = sender;\n var doc = this.doc = new Document(\"\");\n \n var deferredUpdate = this.deferredUpdate = lang.delayedCall(this.onUpdate.bind(this));\n \n var _self = this;\n sender.on(\"change\", function(e) {\n var data = e.data;\n if (data[0].start) {\n doc.applyDeltas(data);\n } else {\n for (var i = 0; i < data.length; i += 2) {\n var d, err; \n if (Array.isArray(data[i+1])) {\n d = {action: \"insert\", start: data[i], lines: data[i+1]};\n } else {\n d = {action: \"remove\", start: data[i], end: data[i+1]};\n }\n \n if ((d.action == \"insert\" ? d.start : d.end).row >= doc.$lines.length) {\n err = new Error(\"Invalid delta\");\n err.data = {\n path: _self.$path,\n linesLength: doc.$lines.length,\n start: d.start,\n end: d.end\n };\n throw err;\n }\n\n doc.applyDelta(d, true);\n }\n }\n if (_self.$timeout)\n return deferredUpdate.schedule(_self.$timeout);\n _self.onUpdate();\n });\n};\n\n(function() {\n \n this.$timeout = 500;\n \n this.setTimeout = function(timeout) {\n this.$timeout = timeout;\n };\n \n this.setValue = function(value) {\n this.doc.setValue(value);\n this.deferredUpdate.schedule(this.$timeout);\n };\n \n this.getValue = function(callbackId) {\n this.sender.callback(this.doc.getValue(), callbackId);\n };\n \n this.onUpdate = function() {\n };\n \n this.isPending = function() {\n return this.deferredUpdate.isPending();\n };\n \n}).call(Mirror.prototype);\n\n});\n\nace.define(\"ace/mode/php/php\",[], function (require, exports, module) {\n\n\tvar PHP = {Constants: {}};\n\n\tPHP.Constants.T_THROW = 317\n\tPHP.Constants.T_INCLUDE = 272\n\tPHP.Constants.T_INCLUDE_ONCE = 273\n\tPHP.Constants.T_EVAL = 274\n\tPHP.Constants.T_REQUIRE = 275\n\tPHP.Constants.T_REQUIRE_ONCE = 276\n\tPHP.Constants.T_LOGICAL_OR = 277\n\tPHP.Constants.T_LOGICAL_XOR = 278\n\tPHP.Constants.T_LOGICAL_AND = 279\n\tPHP.Constants.T_PRINT = 280\n\tPHP.Constants.T_YIELD = 281\n\tPHP.Constants.T_DOUBLE_ARROW = 386\n\tPHP.Constants.T_YIELD_FROM = 282\n\tPHP.Constants.T_PLUS_EQUAL = 352\n\tPHP.Constants.T_MINUS_EQUAL = 353\n\tPHP.Constants.T_MUL_EQUAL = 354\n\tPHP.Constants.T_DIV_EQUAL = 355\n\tPHP.Constants.T_CONCAT_EQUAL = 356\n\tPHP.Constants.T_MOD_EQUAL = 357\n\tPHP.Constants.T_AND_EQUAL = 358\n\tPHP.Constants.T_OR_EQUAL = 359\n\tPHP.Constants.T_XOR_EQUAL = 360\n\tPHP.Constants.T_SL_EQUAL = 361\n\tPHP.Constants.T_SR_EQUAL = 362\n\tPHP.Constants.T_POW_EQUAL = 402\n\tPHP.Constants.T_COALESCE_EQUAL = 363\n\tPHP.Constants.T_COALESCE = 400\n\tPHP.Constants.T_BOOLEAN_OR = 364\n\tPHP.Constants.T_BOOLEAN_AND = 365\n\tPHP.Constants.T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG = 404\n\tPHP.Constants.T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG = 403\n\tPHP.Constants.T_IS_EQUAL = 366\n\tPHP.Constants.T_IS_NOT_EQUAL = 367\n\tPHP.Constants.T_IS_IDENTICAL = 368\n\tPHP.Constants.T_IS_NOT_IDENTICAL = 369\n\tPHP.Constants.T_SPACESHIP = 372\n\tPHP.Constants.T_IS_SMALLER_OR_EQUAL = 370\n\tPHP.Constants.T_IS_GREATER_OR_EQUAL = 371\n\tPHP.Constants.T_SL = 373\n\tPHP.Constants.T_SR = 374\n\tPHP.Constants.T_INSTANCEOF = 283\n\tPHP.Constants.T_INC = 375\n\tPHP.Constants.T_DEC = 376\n\tPHP.Constants.T_INT_CAST = 377\n\tPHP.Constants.T_DOUBLE_CAST = 378\n\tPHP.Constants.T_STRING_CAST = 379\n\tPHP.Constants.T_ARRAY_CAST = 380\n\tPHP.Constants.T_OBJECT_CAST = 381\n\tPHP.Constants.T_BOOL_CAST = 382\n\tPHP.Constants.T_UNSET_CAST = 383\n\tPHP.Constants.T_POW = 401\n\tPHP.Constants.T_NEW = 284\n\tPHP.Constants.T_CLONE = 285\n\tPHP.Constants.T_EXIT = 286\n\tPHP.Constants.T_IF = 287\n\tPHP.Constants.T_ELSEIF = 288\n\tPHP.Constants.T_ELSE = 289\n\tPHP.Constants.T_ENDIF = 290\n\tPHP.Constants.T_LNUMBER = 260\n\tPHP.Constants.T_DNUMBER = 261\n\tPHP.Constants.T_STRING = 262\n\tPHP.Constants.T_STRING_VARNAME = 270\n\tPHP.Constants.T_VARIABLE = 266\n\tPHP.Constants.T_NUM_STRING = 271\n\tPHP.Constants.T_INLINE_HTML = 267\n\tPHP.Constants.T_ENCAPSED_AND_WHITESPACE = 268\n\tPHP.Constants.T_CONSTANT_ENCAPSED_STRING = 269\n\tPHP.Constants.T_ECHO = 291\n\tPHP.Constants.T_DO = 292\n\tPHP.Constants.T_WHILE = 293\n\tPHP.Constants.T_ENDWHILE = 294\n\tPHP.Constants.T_FOR = 295\n\tPHP.Constants.T_ENDFOR = 296\n\tPHP.Constants.T_FOREACH = 297\n\tPHP.Constants.T_ENDFOREACH = 298\n\tPHP.Constants.T_DECLARE = 299\n\tPHP.Constants.T_ENDDECLARE = 300\n\tPHP.Constants.T_AS = 301\n\tPHP.Constants.T_SWITCH = 302\n\tPHP.Constants.T_MATCH = 306\n\tPHP.Constants.T_ENDSWITCH = 303\n\tPHP.Constants.T_CASE = 304\n\tPHP.Constants.T_DEFAULT = 305\n\tPHP.Constants.T_BREAK = 307\n\tPHP.Constants.T_CONTINUE = 308\n\tPHP.Constants.T_GOTO = 309\n\tPHP.Constants.T_FUNCTION = 310\n\tPHP.Constants.T_FN = 311\n\tPHP.Constants.T_CONST = 312\n\tPHP.Constants.T_RETURN = 313\n\tPHP.Constants.T_TRY = 314\n\tPHP.Constants.T_CATCH = 315\n\tPHP.Constants.T_FINALLY = 316\n\tPHP.Constants.T_THROW = 317\n\tPHP.Constants.T_USE = 318\n\tPHP.Constants.T_INSTEADOF = 319\n\tPHP.Constants.T_GLOBAL = 320\n\tPHP.Constants.T_STATIC = 321\n\tPHP.Constants.T_ABSTRACT = 322\n\tPHP.Constants.T_FINAL = 323\n\tPHP.Constants.T_PRIVATE = 324\n\tPHP.Constants.T_PROTECTED = 325\n\tPHP.Constants.T_PUBLIC = 326\n\tPHP.Constants.T_READONLY = 327\n\tPHP.Constants.T_VAR = 328\n\tPHP.Constants.T_UNSET = 329\n\tPHP.Constants.T_ISSET = 330\n\tPHP.Constants.T_EMPTY = 331\n\tPHP.Constants.T_HALT_COMPILER = 332\n\tPHP.Constants.T_CLASS = 333\n\tPHP.Constants.T_TRAIT = 334\n\tPHP.Constants.T_INTERFACE = 335\n\tPHP.Constants.T_ENUM = 336\n\tPHP.Constants.T_EXTENDS = 337\n\tPHP.Constants.T_IMPLEMENTS = 338\n\tPHP.Constants.T_OBJECT_OPERATOR = 384\n\tPHP.Constants.T_NULLSAFE_OBJECT_OPERATOR = 385\n\tPHP.Constants.T_DOUBLE_ARROW = 386\n\tPHP.Constants.T_LIST = 340\n\tPHP.Constants.T_ARRAY = 341\n\tPHP.Constants.T_CALLABLE = 342\n\tPHP.Constants.T_CLASS_C = 346\n\tPHP.Constants.T_TRAIT_C = 347\n\tPHP.Constants.T_METHOD_C = 348\n\tPHP.Constants.T_FUNC_C = 349\n\tPHP.Constants.T_LINE = 343\n\tPHP.Constants.T_FILE = 344\n\tPHP.Constants.T_START_HEREDOC = 393\n\tPHP.Constants.T_END_HEREDOC = 394\n\tPHP.Constants.T_DOLLAR_OPEN_CURLY_BRACES = 395\n\tPHP.Constants.T_CURLY_OPEN = 396\n\tPHP.Constants.T_PAAMAYIM_NEKUDOTAYIM = 397\n\tPHP.Constants.T_NAMESPACE = 339\n\tPHP.Constants.T_NS_C = 350\n\tPHP.Constants.T_DIR = 345\n\tPHP.Constants.T_NS_SEPARATOR = 398\n\tPHP.Constants.T_ELLIPSIS = 399\n\tPHP.Constants.T_NAME_FULLY_QUALIFIED = 263\n\tPHP.Constants.T_NAME_QUALIFIED = 265\n\tPHP.Constants.T_NAME_RELATIVE = 264\n\tPHP.Constants.T_ATTRIBUTE = 351\n\tPHP.Constants.T_ENUM = 336\n\tPHP.Constants.T_BAD_CHARACTER = 405\n\tPHP.Constants.T_COMMENT = 387\n\tPHP.Constants.T_DOC_COMMENT = 388\n\tPHP.Constants.T_OPEN_TAG = 389\n\tPHP.Constants.T_OPEN_TAG_WITH_ECHO = 390\n\tPHP.Constants.T_CLOSE_TAG = 391\n\tPHP.Constants.T_WHITESPACE = 392\n\n\tPHP.Lexer = function (src, ini) {\n\t\tvar heredoc, heredocEndAllowed,\n\n\t\t\tstateStack = ['INITIAL'], stackPos = 0,\n\t\t\tswapState = function (state) {\n\t\t\t\tstateStack[stackPos] = state;\n\t\t\t},\n\t\t\tpushState = function (state) {\n\t\t\t\tstateStack[++stackPos] = state;\n\t\t\t},\n\t\t\tpopState = function () {\n\t\t\t\t--stackPos;\n\t\t\t},\n\n\t\t\tshortOpenTag = ini === undefined || /^(on|true|1)$/i.test(ini.short_open_tag),\n\t\t\topenTag = shortOpenTag\n\t\t\t\t? /^(\\<\\?php(?:\\r\\n|[ \\t\\r\\n])|<\\?|\\<script language\\=('|\")?php('|\")?\\>)/i\n\t\t\t\t: /^(\\<\\?php(?:\\r\\n|[ \\t\\r\\n])|\\<script language\\=('|\")?php('|\")?\\>)/i,\n\t\t\tinlineHtml = shortOpenTag\n\t\t\t\t? /[^<]*(?:<(?!\\?|script language\\=('|\")?php('|\")?\\>)[^<]*)*/i\n\t\t\t\t: /[^<]*(?:<(?!\\?=|\\?php[ \\t\\r\\n]|script language\\=('|\")?php('|\")?\\>)[^<]*)*/i,\n\t\t\tlabelRegexPart = '[a-zA-Z_\\\\x7f-\\\\uffff][a-zA-Z0-9_\\\\x7f-\\\\uffff]*',\n\t\t\tstringRegexPart = function (quote) {\n\t\t\t\treturn '[^' + quote + '\\\\\\\\${]*(?:(?:\\\\\\\\[\\\\s\\\\S]|\\\\$(?!\\\\{|[a-zA-Z_\\\\x7f-\\\\uffff])|\\\\{(?!\\\\$))[^' + quote + '\\\\\\\\${]*)*';\n\t\t\t},\n\n\t\t\tsharedStringTokens = [\n\t\t\t\t{\n\t\t\t\t\tvalue: PHP.Constants.T_VARIABLE,\n\t\t\t\t\tre: new RegExp('^\\\\$' + labelRegexPart + '(?=\\\\[)'),\n\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\tpushState('VAR_OFFSET');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: PHP.Constants.T_VARIABLE,\n\t\t\t\t\tre: new RegExp('^\\\\$' + labelRegexPart + '(?=->' + labelRegexPart + ')'),\n\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\tpushState('LOOKING_FOR_PROPERTY');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: PHP.Constants.T_DOLLAR_OPEN_CURLY_BRACES,\n\t\t\t\t\tre: new RegExp('^\\\\$\\\\{(?=' + labelRegexPart + '[\\\\[}])'),\n\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\tpushState('LOOKING_FOR_VARNAME');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: PHP.Constants.T_VARIABLE,\n\t\t\t\t\tre: new RegExp('^\\\\$' + labelRegexPart)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: PHP.Constants.T_DOLLAR_OPEN_CURLY_BRACES,\n\t\t\t\t\tre: /^\\$\\{/,\n\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\tpushState('IN_SCRIPTING');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tvalue: PHP.Constants.T_CURLY_OPEN,\n\t\t\t\t\tre: /^\\{(?=\\$)/,\n\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\tpushState('IN_SCRIPTING');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t],\n\t\t\tdata = {\n\t\t\t\t'INITIAL': [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_OPEN_TAG_WITH_ECHO,\n\t\t\t\t\t\tre: /^<\\?=/i,\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tswapState('IN_SCRIPTING');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_OPEN_TAG,\n\t\t\t\t\t\tre: openTag,\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tswapState('IN_SCRIPTING');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_INLINE_HTML,\n\t\t\t\t\t\tre: inlineHtml\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t'IN_SCRIPTING': [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_WHITESPACE,\n\t\t\t\t\t\tre: /^[ \\n\\r\\t]+/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ABSTRACT,\n\t\t\t\t\t\tre: /^abstract\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_LOGICAL_AND,\n\t\t\t\t\t\tre: /^and\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ARRAY,\n\t\t\t\t\t\tre: /^array\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_AS,\n\t\t\t\t\t\tre: /^as\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_BREAK,\n\t\t\t\t\t\tre: /^break\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CALLABLE,\n\t\t\t\t\t\tre: /^callable\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CASE,\n\t\t\t\t\t\tre: /^case\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CATCH,\n\t\t\t\t\t\tre: /^catch\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CLASS,\n\t\t\t\t\t\tre: /^class\\b/i,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CLONE,\n\t\t\t\t\t\tre: /^clone\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CONST,\n\t\t\t\t\t\tre: /^const\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CONTINUE,\n\t\t\t\t\t\tre: /^continue\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_DECLARE,\n\t\t\t\t\t\tre: /^declare\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_DEFAULT,\n\t\t\t\t\t\tre: /^default\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_DO,\n\t\t\t\t\t\tre: /^do\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ECHO,\n\t\t\t\t\t\tre: /^echo\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ELSE,\n\t\t\t\t\t\tre: /^else\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ELSEIF,\n\t\t\t\t\t\tre: /^elseif\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENUM,\n\t\t\t\t\t\tre: /^enum\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENDDECLARE,\n\t\t\t\t\t\tre: /^enddeclare\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENDFOR,\n\t\t\t\t\t\tre: /^endfor\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENDFOREACH,\n\t\t\t\t\t\tre: /^endforeach\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENDIF,\n\t\t\t\t\t\tre: /^endif\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENDSWITCH,\n\t\t\t\t\t\tre: /^endswitch\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENDWHILE,\n\t\t\t\t\t\tre: /^endwhile\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENUM,\n\t\t\t\t\t\tre: /^enum\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_EMPTY,\n\t\t\t\t\t\tre: /^empty\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_EVAL,\n\t\t\t\t\t\tre: /^eval\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_EXIT,\n\t\t\t\t\t\tre: /^(?:exit|die)\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_EXTENDS,\n\t\t\t\t\t\tre: /^extends\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_FINAL,\n\t\t\t\t\t\tre: /^final\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_FINALLY,\n\t\t\t\t\t\tre: /^finally\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_FN,\n\t\t\t\t\t\tre: /^fn\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_FOR,\n\t\t\t\t\t\tre: /^for\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_FOREACH,\n\t\t\t\t\t\tre: /^foreach\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_FUNCTION,\n\t\t\t\t\t\tre: /^function\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_GLOBAL,\n\t\t\t\t\t\tre: /^global\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_GOTO,\n\t\t\t\t\t\tre: /^goto\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_IF,\n\t\t\t\t\t\tre: /^if\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_IMPLEMENTS,\n\t\t\t\t\t\tre: /^implements\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_INCLUDE,\n\t\t\t\t\t\tre: /^include\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_INCLUDE_ONCE,\n\t\t\t\t\t\tre: /^include_once\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_INSTANCEOF,\n\t\t\t\t\t\tre: /^instanceof\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_INSTEADOF,\n\t\t\t\t\t\tre: /^insteadof\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_INTERFACE,\n\t\t\t\t\t\tre: /^interface\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ISSET,\n\t\t\t\t\t\tre: /^isset\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_LIST,\n\t\t\t\t\t\tre: /^list\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_MATCH,\n\t\t\t\t\t\tre: /^match\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_NEW,\n\t\t\t\t\t\tre: /^new\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_LOGICAL_OR,\n\t\t\t\t\t\tre: /^or\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_PRINT,\n\t\t\t\t\t\tre: /^print\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_PRIVATE,\n\t\t\t\t\t\tre: /^private\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_PROTECTED,\n\t\t\t\t\t\tre: /^protected\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_PUBLIC,\n\t\t\t\t\t\tre: /^public\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_READONLY,\n\t\t\t\t\t\tre: /^readonly\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_REQUIRE,\n\t\t\t\t\t\tre: /^require\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_REQUIRE_ONCE,\n\t\t\t\t\t\tre: /^require_once\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_STATIC,\n\t\t\t\t\t\tre: /^static\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_SWITCH,\n\t\t\t\t\t\tre: /^switch\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_THROW,\n\t\t\t\t\t\tre: /^throw\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_TRAIT,\n\t\t\t\t\t\tre: /^trait\\b/i,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_TRY,\n\t\t\t\t\t\tre: /^try\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_UNSET,\n\t\t\t\t\t\tre: /^unset\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_USE,\n\t\t\t\t\t\tre: /^use\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_VAR,\n\t\t\t\t\t\tre: /^var\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_WHILE,\n\t\t\t\t\t\tre: /^while\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_LOGICAL_XOR,\n\t\t\t\t\t\tre: /^xor\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_YIELD_FROM,\n\t\t\t\t\t\tre: /^yield\\s+from\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_YIELD,\n\t\t\t\t\t\tre: /^yield\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_RETURN,\n\t\t\t\t\t\tre: /^return\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_METHOD_C,\n\t\t\t\t\t\tre: /^__METHOD__\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_LINE,\n\t\t\t\t\t\tre: /^__LINE__\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_FILE,\n\t\t\t\t\t\tre: /^__FILE__\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_FUNC_C,\n\t\t\t\t\t\tre: /^__FUNCTION__\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_NS_C,\n\t\t\t\t\t\tre: /^__NAMESPACE__\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_TRAIT_C,\n\t\t\t\t\t\tre: /^__TRAIT__\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_DIR,\n\t\t\t\t\t\tre: /^__DIR__\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CLASS_C,\n\t\t\t\t\t\tre: /^__CLASS__\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_AND_EQUAL,\n\t\t\t\t\t\tre: /^&=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ARRAY_CAST,\n\t\t\t\t\t\tre: /^\\([ \\t]*array[ \\t]*\\)/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_BOOL_CAST,\n\t\t\t\t\t\tre: /^\\([ \\t]*(?:bool|boolean)[ \\t]*\\)/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_DOUBLE_CAST,\n\t\t\t\t\t\tre: /^\\([ \\t]*(?:real|float|double)[ \\t]*\\)/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_INT_CAST,\n\t\t\t\t\t\tre: /^\\([ \\t]*(?:int|integer)[ \\t]*\\)/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_OBJECT_CAST,\n\t\t\t\t\t\tre: /^\\([ \\t]*object[ \\t]*\\)/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_STRING_CAST,\n\t\t\t\t\t\tre: /^\\([ \\t]*(?:binary|string)[ \\t]*\\)/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_UNSET_CAST,\n\t\t\t\t\t\tre: /^\\([ \\t]*unset[ \\t]*\\)/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_BOOLEAN_AND,\n\t\t\t\t\t\tre: /^&&/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG,\n\t\t\t\t\t\tre: /^&(?=[$])/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG,\n\t\t\t\t\t\tre: /^(&)(?=[^\\$|^&])/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_BOOLEAN_OR,\n\t\t\t\t\t\tre: /^\\|\\|/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CLOSE_TAG,\n\t\t\t\t\t\tre: /^(?:\\?>|<\\/script>)(\\r\\n|\\r|\\n)?/i,\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tswapState('INITIAL');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_DOUBLE_ARROW,\n\t\t\t\t\t\tre: /^=>/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_PAAMAYIM_NEKUDOTAYIM,\n\t\t\t\t\t\tre: /^::/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_INC,\n\t\t\t\t\t\tre: /^\\+\\+/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_DEC,\n\t\t\t\t\t\tre: /^--/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CONCAT_EQUAL,\n\t\t\t\t\t\tre: /^\\.=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_DIV_EQUAL,\n\t\t\t\t\t\tre: /^\\/=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_XOR_EQUAL,\n\t\t\t\t\t\tre: /^\\^=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_MUL_EQUAL,\n\t\t\t\t\t\tre: /^\\*=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_MOD_EQUAL,\n\t\t\t\t\t\tre: /^%=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_SL_EQUAL,\n\t\t\t\t\t\tre: /^<<=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_START_HEREDOC,\n\t\t\t\t\t\tre: new RegExp('^[bB]?<<<[ \\\\t]*\\'(' + labelRegexPart + ')\\'(?:\\\\r\\\\n|\\\\r|\\\\n)'),\n\t\t\t\t\t\tfunc: function (result) {\n\t\t\t\t\t\t\theredoc = result[1];\n\t\t\t\t\t\t\tswapState('NOWDOC');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_START_HEREDOC,\n\t\t\t\t\t\tre: new RegExp('^[bB]?<<<[ \\\\t]*(\"?)(' + labelRegexPart + ')\\\\1(?:\\\\r\\\\n|\\\\r|\\\\n)'),\n\t\t\t\t\t\tfunc: function (result) {\n\t\t\t\t\t\t\theredoc = result[2];\n\t\t\t\t\t\t\theredocEndAllowed = true;\n\t\t\t\t\t\t\tswapState('HEREDOC');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_SL,\n\t\t\t\t\t\tre: /^<</\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_SPACESHIP,\n\t\t\t\t\t\tre: /^<=>/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_IS_SMALLER_OR_EQUAL,\n\t\t\t\t\t\tre: /^<=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_SR_EQUAL,\n\t\t\t\t\t\tre: /^>>=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_SR,\n\t\t\t\t\t\tre: /^>>/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_IS_GREATER_OR_EQUAL,\n\t\t\t\t\t\tre: /^>=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_OR_EQUAL,\n\t\t\t\t\t\tre: /^\\|=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_PLUS_EQUAL,\n\t\t\t\t\t\tre: /^\\+=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_MINUS_EQUAL,\n\t\t\t\t\t\tre: /^-=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_OBJECT_OPERATOR,\n\t\t\t\t\t\tre: new RegExp('^->(?=[ \\n\\r\\t]*' + labelRegexPart + ')'),\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tpushState('LOOKING_FOR_PROPERTY');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_OBJECT_OPERATOR,\n\t\t\t\t\t\tre: /^->/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ELLIPSIS,\n\t\t\t\t\t\tre: /^\\.\\.\\./\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_POW_EQUAL,\n\t\t\t\t\t\tre: /^\\*\\*=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_POW,\n\t\t\t\t\t\tre: /^\\*\\*/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_COALESCE_EQUAL,\n\t\t\t\t\t\tre: /^\\?\\?=/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_COALESCE,\n\t\t\t\t\t\tre: /^\\?\\?/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_NULLSAFE_OBJECT_OPERATOR,\n\t\t\t\t\t\tre: /^\\?->/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_NAME_FULLY_QUALIFIED,\n\t\t\t\t\t\tre: /^\\\\\\w+(?:\\\\\\w+)*/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_NAME_QUALIFIED,\n\t\t\t\t\t\tre: /^\\w+\\\\\\w+(?:\\\\\\w+)*/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_NAME_RELATIVE,\n\t\t\t\t\t\tre: /^namespace\\\\\\w+(?:\\\\\\w+)*/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_NAMESPACE,\n\t\t\t\t\t\tre: /^namespace\\b/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ATTRIBUTE,\n\t\t\t\t\t\tre: /^#\\[([\\S\\s]*?)]/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_COMMENT,\n\t\t\t\t\t\tre: /^\\/\\*([\\S\\s]*?)(?:\\*\\/|$)/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_COMMENT,\n\t\t\t\t\t\tre: /^(?:\\/\\/|#)[^\\r\\n?]*(?:\\?(?!>)[^\\r\\n?]*)*(?:\\r\\n|\\r|\\n)?/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_IS_IDENTICAL,\n\t\t\t\t\t\tre: /^===/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_IS_EQUAL,\n\t\t\t\t\t\tre: /^==/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_IS_NOT_IDENTICAL,\n\t\t\t\t\t\tre: /^!==/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_IS_NOT_EQUAL,\n\t\t\t\t\t\tre: /^(!=|<>)/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_DNUMBER,\n\t\t\t\t\t\tre: /^(?:[0-9]+\\.[0-9]*|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_DNUMBER,\n\t\t\t\t\t\tre: /^[0-9]+[eE][+-]?[0-9]+/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_LNUMBER,\n\t\t\t\t\t\tre: /^(?:0x[0-9A-F]+|0b[01]+|[0-9]+)/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_VARIABLE,\n\t\t\t\t\t\tre: new RegExp('^\\\\$' + labelRegexPart)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CONSTANT_ENCAPSED_STRING,\n\t\t\t\t\t\tre: /^[bB]?'[^'\\\\]*(?:\\\\[\\s\\S][^'\\\\]*)*'/,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_CONSTANT_ENCAPSED_STRING,\n\t\t\t\t\t\tre: new RegExp('^[bB]?\"' + stringRegexPart('\"') + '\"')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: -1,\n\t\t\t\t\t\tre: /^[bB]?\"/,\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tswapState('DOUBLE_QUOTES');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: -1,\n\t\t\t\t\t\tre: /^`/,\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tswapState('BACKTICKS');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_NS_SEPARATOR,\n\t\t\t\t\t\tre: /^\\\\/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_STRING,\n\t\t\t\t\t\tre: /^[a-zA-Z_\\x7f-\\uffff][a-zA-Z0-9_\\x7f-\\uffff]*/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: -1,\n\t\t\t\t\t\tre: /^\\{/,\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tpushState('IN_SCRIPTING');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: -1,\n\t\t\t\t\t\tre: /^\\}/,\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tif (stackPos > 0) {\n\t\t\t\t\t\t\t\tpopState();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: -1,\n\t\t\t\t\t\tre: /^[\\[\\];:?()!.,><=+-/*|&@^%\"'$~]/\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t'DOUBLE_QUOTES': sharedStringTokens.concat([\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: -1,\n\t\t\t\t\t\tre: /^\"/,\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tswapState('IN_SCRIPTING');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENCAPSED_AND_WHITESPACE,\n\t\t\t\t\t\tre: new RegExp('^' + stringRegexPart('\"'))\n\t\t\t\t\t}\n\t\t\t\t]),\n\t\t\t\t'BACKTICKS': sharedStringTokens.concat([\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: -1,\n\t\t\t\t\t\tre: /^`/,\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tswapState('IN_SCRIPTING');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENCAPSED_AND_WHITESPACE,\n\t\t\t\t\t\tre: new RegExp('^' + stringRegexPart('`'))\n\t\t\t\t\t}\n\t\t\t\t]),\n\t\t\t\t'VAR_OFFSET': [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: -1,\n\t\t\t\t\t\tre: /^\\]/,\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tpopState();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_NUM_STRING,\n\t\t\t\t\t\tre: /^(?:0x[0-9A-F]+|0b[01]+|[0-9]+)/i\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_VARIABLE,\n\t\t\t\t\t\tre: new RegExp('^\\\\$' + labelRegexPart)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_STRING,\n\t\t\t\t\t\tre: new RegExp('^' + labelRegexPart)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: -1,\n\t\t\t\t\t\tre: /^[;:,.\\[()|^&+-/*=%!~$<>?@{}\"`]/\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t'LOOKING_FOR_PROPERTY': [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_OBJECT_OPERATOR,\n\t\t\t\t\t\tre: /^->/\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_STRING,\n\t\t\t\t\t\tre: new RegExp('^' + labelRegexPart),\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tpopState();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_WHITESPACE,\n\t\t\t\t\t\tre: /^[ \\n\\r\\t]+/\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t'LOOKING_FOR_VARNAME': [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_STRING_VARNAME,\n\t\t\t\t\t\tre: new RegExp('^' + labelRegexPart + '(?=[\\\\[}])'),\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tswapState('IN_SCRIPTING');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t'NOWDOC': [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_END_HEREDOC,\n\t\t\t\t\t\tmatchFunc: function (src) {\n\t\t\t\t\t\t\tvar re = new RegExp('^' + heredoc + '(?=;?[\\\\r\\\\n])');\n\t\t\t\t\t\t\tif (src.match(re)) {\n\t\t\t\t\t\t\t\treturn [src.substr(0, heredoc.length)];\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tswapState('IN_SCRIPTING');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENCAPSED_AND_WHITESPACE,\n\t\t\t\t\t\tmatchFunc: function (src) {\n\t\t\t\t\t\t\tvar re = new RegExp('[\\\\r\\\\n]' + heredoc + '(?=;?[\\\\r\\\\n])');\n\t\t\t\t\t\t\tvar result = re.exec(src);\n\t\t\t\t\t\t\tvar end = result ? result.index + 1 : src.length;\n\t\t\t\t\t\t\treturn [src.substring(0, end)];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t'HEREDOC': sharedStringTokens.concat([\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_END_HEREDOC,\n\t\t\t\t\t\tmatchFunc: function (src) {\n\t\t\t\t\t\t\tif (!heredocEndAllowed) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar re = new RegExp('^' + heredoc + '(?=;?[\\\\r\\\\n])');\n\t\t\t\t\t\t\tif (src.match(re)) {\n\t\t\t\t\t\t\t\treturn [src.substr(0, heredoc.length)];\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunc: function () {\n\t\t\t\t\t\t\tswapState('IN_SCRIPTING');\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: PHP.Constants.T_ENCAPSED_AND_WHITESPACE,\n\t\t\t\t\t\tmatchFunc: function (src) {\n\t\t\t\t\t\t\tvar end = src.length;\n\t\t\t\t\t\t\tvar re = new RegExp('^' + stringRegexPart(''));\n\t\t\t\t\t\t\tvar result = re.exec(src);\n\t\t\t\t\t\t\tif (result) {\n\t\t\t\t\t\t\t\tend = result[0].length;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tre = new RegExp('([\\\\r\\\\n])' + heredoc + '(?=;?[\\\\r\\\\n])');\n\t\t\t\t\t\t\tresult = re.exec(src.substring(0, end));\n\t\t\t\t\t\t\tif (result) {\n\t\t\t\t\t\t\t\tend = result.index + 1;\n\t\t\t\t\t\t\t\theredocEndAllowed = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\theredocEndAllowed = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (end == 0) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn [src.substring(0, end)];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t])\n\t\t\t};\n\n\t\tvar results = [],\n\t\t\tline = 1,\n\t\t\tcancel = true;\n\n\t\tif (src === null) {\n\t\t\treturn results;\n\t\t}\n\n\t\tif (typeof src !== \"string\") {\n\t\t\tsrc = src.toString();\n\t\t}\n\n\t\twhile (src.length > 0 && cancel === true) {\n\t\t\tvar state = stateStack[stackPos];\n\t\t\tvar tokens = data[state];\n\t\t\tcancel = tokens.some(function (token) {\n\t\t\t\tvar result = token.matchFunc !== undefined\n\t\t\t\t\t? token.matchFunc(src)\n\t\t\t\t\t: src.match(token.re);\n\t\t\t\tif (result !== null) {\n\t\t\t\t\tif (result[0].length == 0) {\n\t\t\t\t\t\tthrow new Error(\"empty match\");\n\t\t\t\t\t}\n\n\t\t\t\t\tif (token.func !== undefined) {\n\t\t\t\t\t\ttoken.func(result);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (token.value === -1) {\n\t\t\t\t\t\tresults.push(result[0]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar resultString = result[0];\n\t\t\t\t\t\tresults.push([\n\t\t\t\t\t\t\tparseInt(token.value, 10),\n\t\t\t\t\t\t\tresultString,\n\t\t\t\t\t\t\tline\n\t\t\t\t\t\t]);\n\t\t\t\t\t\tline += resultString.split('\\n').length - 1;\n\t\t\t\t\t}\n\n\t\t\t\t\tsrc = src.substring(result[0].length);\n\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\n\t\treturn results;\n\t};\n\n\n\tPHP.Parser = function (preprocessedTokens, evaluate) {\n\n\t\tvar yybase = this.yybase,\n\t\t\tyydefault = this.yydefault,\n\t\t\tyycheck = this.yycheck,\n\t\t\tyyaction = this.yyaction,\n\t\t\tyylen = this.yylen,\n\t\t\tyygbase = this.yygbase,\n\t\t\tyygcheck = this.yygcheck,\n\t\t\tyyp = this.yyp,\n\t\t\tyygoto = this.yygoto,\n\t\t\tyylhs = this.yylhs,\n\t\t\tterminals = this.terminals,\n\t\t\ttranslate = this.translate,\n\t\t\tyygdefault = this.yygdefault;\n\n\n\t\tthis.pos = -1;\n\t\tthis.line = 1;\n\n\t\tthis.tokenMap = this.createTokenMap();\n\n\t\tthis.dropTokens = {};\n\t\tthis.dropTokens[PHP.Constants.T_WHITESPACE] = 1;\n\t\tthis.dropTokens[PHP.Constants.T_OPEN_TAG] = 1;\n\t\tvar tokens = [];\n\t\tpreprocessedTokens.forEach(function (token, index) {\n\t\t\tif (typeof token === \"object\" && token[0] === PHP.Constants.T_OPEN_TAG_WITH_ECHO) {\n\t\t\t\ttokens.push([\n\t\t\t\t\tPHP.Constants.T_OPEN_TAG,\n\t\t\t\t\ttoken[1],\n\t\t\t\t\ttoken[2]\n\t\t\t\t]);\n\t\t\t\ttokens.push([\n\t\t\t\t\tPHP.Constants.T_ECHO,\n\t\t\t\t\ttoken[1],\n\t\t\t\t\ttoken[2]\n\t\t\t\t]);\n\t\t\t} else {\n\t\t\t\ttokens.push(token);\n\t\t\t}\n\t\t});\n\t\tthis.tokens = tokens;\n\t\tvar tokenId = this.TOKEN_NONE;\n\t\tthis.startAttributes = {\n\t\t\t'startLine': 1\n\t\t};\n\n\t\tthis.endAttributes = {};\n\t\tvar attributeStack = [this.startAttributes];\n\t\tvar state = 0;\n\t\tvar stateStack = [state];\n\t\tthis.yyastk = [];\n\t\tthis.stackPos = 0;\n\n\t\tvar yyn;\n\n\t\tvar origTokenId;\n\n\n\t\tfor (; ;) {\n\n\t\t\tif (yybase[state] === 0) {\n\t\t\t\tyyn = yydefault[state];\n\t\t\t} else {\n\t\t\t\tif (tokenId === this.TOKEN_NONE) {\n\t\t\t\t\torigTokenId = this.getNextToken();\n\t\t\t\t\ttokenId = (origTokenId >= 0 && origTokenId < this.TOKEN_MAP_SIZE) ? translate[origTokenId] : this.TOKEN_INVALID;\n\n\t\t\t\t\tattributeStack[this.stackPos] = this.startAttributes;\n\t\t\t\t}\n\n\t\t\t\tif (((yyn = yybase[state] + tokenId) >= 0\n\t\t\t\t\t\t&& yyn < this.YYLAST && yycheck[yyn] === tokenId\n\t\t\t\t\t\t|| (state < this.YY2TBLSTATE\n\t\t\t\t\t\t\t&& (yyn = yybase[state + this.YYNLSTATES] + tokenId) >= 0\n\t\t\t\t\t\t\t&& yyn < this.YYLAST\n\t\t\t\t\t\t\t&& yycheck[yyn] === tokenId))\n\t\t\t\t\t&& (yyn = yyaction[yyn]) !== this.YYDEFAULT) {\n\t\t\t\t\tif (yyn > 0) {\n\t\t\t\t\t\t++this.stackPos;\n\n\t\t\t\t\t\tstateStack[this.stackPos] = state = yyn;\n\t\t\t\t\t\tthis.yyastk[this.stackPos] = this.tokenValue;\n\t\t\t\t\t\tattributeStack[this.stackPos] = this.startAttributes;\n\t\t\t\t\t\ttokenId = this.TOKEN_NONE;\n\n\t\t\t\t\t\tif (yyn < this.YYNLSTATES)\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\tyyn -= this.YYNLSTATES;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyyn = -yyn;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tyyn = yydefault[state];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (; ;) {\n\n\t\t\t\tif (yyn === 0) {\n\t\t\t\t\treturn this.yyval;\n\t\t\t\t} else if (yyn !== this.YYUNEXPECTED) {\n\t\t\t\t\tfor (var attr in this.endAttributes) {\n\t\t\t\t\t\tattributeStack[this.stackPos - yylen[yyn]][attr] = this.endAttributes[attr];\n\t\t\t\t\t}\n\t\t\t\t\tthis.stackPos -= yylen[yyn];\n\t\t\t\t\tyyn = yylhs[yyn];\n\t\t\t\t\tif ((yyp = yygbase[yyn] + stateStack[this.stackPos]) >= 0\n\t\t\t\t\t\t&& yyp < this.YYGLAST\n\t\t\t\t\t\t&& yygcheck[yyp] === yyn) {\n\t\t\t\t\t\tstate = yygoto[yyp];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = yygdefault[yyn];\n\t\t\t\t\t}\n\n\t\t\t\t\t++this.stackPos;\n\n\t\t\t\t\tstateStack[this.stackPos] = state;\n\t\t\t\t\tthis.yyastk[this.stackPos] = this.yyval;\n\t\t\t\t\tattributeStack[this.stackPos] = this.startAttributes;\n\t\t\t\t} else {\n\t\t\t\t\tif (evaluate !== true) {\n\n\t\t\t\t\t\tvar expected = [];\n\n\t\t\t\t\t\tfor (var i = 0; i < this.TOKEN_MAP_SIZE; ++i) {\n\t\t\t\t\t\t\tif ((yyn = yybase[state] + i) >= 0 && yyn < this.YYLAST && yycheck[yyn] == i\n\t\t\t\t\t\t\t\t|| state < this.YY2TBLSTATE\n\t\t\t\t\t\t\t\t&& (yyn = yybase[state + this.YYNLSTATES] + i)\n\t\t\t\t\t\t\t\t&& yyn < this.YYLAST && yycheck[yyn] == i\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tif (yyaction[yyn] != this.YYUNEXPECTED) {\n\t\t\t\t\t\t\t\t\tif (expected.length == 4) {\n\t\t\t\t\t\t\t\t\t\texpected = [];\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\texpected.push(this.terminals[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar expectedString = '';\n\t\t\t\t\t\tif (expected.length) {\n\t\t\t\t\t\t\texpectedString = ', expecting ' + expected.join(' or ');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthrow new PHP.ParseError('syntax error, unexpected ' + terminals[tokenId] + expectedString, this.startAttributes['startLine']);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.startAttributes['startLine'];\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tif (state < this.YYNLSTATES)\n\t\t\t\t\tbreak;\n\t\t\t\tyyn = state - this.YYNLSTATES;\n\t\t\t}\n\t\t}\n\t};\n\n\tPHP.ParseError = function (msg, line) {\n\t\tthis.message = msg;\n\t\tthis.line = line;\n\t};\n\n\tPHP.Parser.prototype.getNextToken = function () {\n\n\t\tthis.startAttributes = {};\n\t\tthis.endAttributes = {};\n\n\t\tvar token,\n\t\t\ttmp;\n\n\t\twhile (this.tokens[++this.pos] !== undefined) {\n\t\t\ttoken = this.tokens[this.pos];\n\n\t\t\tif (typeof token === \"string\") {\n\t\t\t\tthis.startAttributes['startLine'] = this.line;\n\t\t\t\tthis.endAttributes['endLine'] = this.line;\n\t\t\t\tif ('b\"' === token) {\n\t\t\t\t\tthis.tokenValue = 'b\"';\n\t\t\t\t\treturn '\"'.charCodeAt(0);\n\t\t\t\t} else {\n\t\t\t\t\tthis.tokenValue = token;\n\t\t\t\t\treturn token.charCodeAt(0);\n\t\t\t\t}\n\t\t\t} else {\n\n\n\t\t\t\tthis.line += ((tmp = token[1].match(/\\n/g)) === null) ? 0 : tmp.length;\n\n\t\t\t\tif (PHP.Constants.T_COMMENT === token[0]) {\n\n\t\t\t\t\tif (!Array.isArray(this.startAttributes['comments'])) {\n\t\t\t\t\t\tthis.startAttributes['comments'] = [];\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.startAttributes['comments'].push({\n\t\t\t\t\t\ttype: \"comment\",\n\t\t\t\t\t\tcomment: token[1],\n\t\t\t\t\t\tline: token[2]\n\t\t\t\t\t});\n\n\t\t\t\t}\n\t\t\t\telse if (PHP.Constants.T_ATTRIBUTE === token[0]) {\n\t\t\t\t\tthis.tokenValue = token[1];\n\t\t\t\t\tthis.startAttributes['startLine'] = token[2];\n\t\t\t\t\tthis.endAttributes['endLine'] = this.line;\n\t\t\t\t} else if (PHP.Constants.T_DOC_COMMENT === token[0]) {\n\t\t\t\t\tthis.startAttributes['comments'].push(new PHPParser_Comment_Doc(token[1], token[2]));\n\t\t\t\t} else if (this.dropTokens[token[0]] === undefined) {\n\t\t\t\t\tthis.tokenValue = token[1];\n\t\t\t\t\tthis.startAttributes['startLine'] = token[2];\n\t\t\t\t\tthis.endAttributes['endLine'] = this.line;\n\n\t\t\t\t\treturn this.tokenMap[token[0]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.startAttributes['startLine'] = this.line;\n\t\treturn 0;\n\t};\n\n\tPHP.Parser.prototype.tokenName = function (token) {\n\t\tvar constants = [\"T_THROW\",\"T_INCLUDE\",\"T_INCLUDE_ONCE\",\"T_EVAL\",\"T_REQUIRE\",\"T_REQUIRE_ONCE\",\"T_LOGICAL_OR\",\"T_LOGICAL_XOR\",\"T_LOGICAL_AND\",\"T_PRINT\",\"T_YIELD\",\"T_DOUBLE_ARROW\",\"T_YIELD_FROM\",\"T_PLUS_EQUAL\",\"T_MINUS_EQUAL\",\"T_MUL_EQUAL\",\"T_DIV_EQUAL\",\"T_CONCAT_EQUAL\",\"T_MOD_EQUAL\",\"T_AND_EQUAL\",\"T_OR_EQUAL\",\"T_XOR_EQUAL\",\"T_SL_EQUAL\",\"T_SR_EQUAL\",\"T_POW_EQUAL\",\"T_COALESCE_EQUAL\",\"T_COALESCE\",\"T_BOOLEAN_OR\",\"T_BOOLEAN_AND\",\"T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG\",\"T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG\",\"T_IS_EQUAL\",\"T_IS_NOT_EQUAL\",\"T_IS_IDENTICAL\",\"T_IS_NOT_IDENTICAL\",\"T_SPACESHIP\",\"T_IS_SMALLER_OR_EQUAL\",\"T_IS_GREATER_OR_EQUAL\",\"T_SL\",\"T_SR\",\"T_INSTANCEOF\",\"T_INC\",\"T_DEC\",\"T_INT_CAST\",\"T_DOUBLE_CAST\",\"T_STRING_CAST\",\"T_ARRAY_CAST\",\"T_OBJECT_CAST\",\"T_BOOL_CAST\",\"T_UNSET_CAST\",\"T_POW\",\"T_NEW\",\"T_CLONE\",\"T_EXIT\",\"T_IF\",\"T_ELSEIF\",\"T_ELSE\",\"T_ENDIF\",\"T_LNUMBER\",\"T_DNUMBER\",\"T_STRING\",\"T_STRING_VARNAME\",\"T_VARIABLE\",\"T_NUM_STRING\",\"T_INLINE_HTML\",\"T_ENCAPSED_AND_WHITESPACE\",\"T_CONSTANT_ENCAPSED_STRING\",\"T_ECHO\",\"T_DO\",\"T_WHILE\",\"T_ENDWHILE\",\"T_FOR\",\"T_ENDFOR\",\"T_FOREACH\",\"T_ENDFOREACH\",\"T_DECLARE\",\"T_ENDDECLARE\",\"T_AS\",\"T_SWITCH\",\"T_MATCH\",\"T_ENDSWITCH\",\"T_CASE\",\"T_DEFAULT\",\"T_BREAK\",\"T_CONTINUE\",\"T_GOTO\",\"T_FUNCTION\",\"T_FN\",\"T_CONST\",\"T_RETURN\",\"T_TRY\",\"T_CATCH\",\"T_FINALLY\",\"T_THROW\",\"T_USE\",\"T_INSTEADOF\",\"T_GLOBAL\",\"T_STATIC\",\"T_ABSTRACT\",\"T_FINAL\",\"T_PRIVATE\",\"T_PROTECTED\",\"T_PUBLIC\",\"T_READONLY\",\"T_VAR\",\"T_UNSET\",\"T_ISSET\",\"T_EMPTY\",\"T_HALT_COMPILER\",\"T_CLASS\",\"T_TRAIT\",\"T_INTERFACE\",\"T_ENUM\",\"T_EXTENDS\",\"T_IMPLEMENTS\",\"T_OBJECT_OPERATOR\",\"T_NULLSAFE_OBJECT_OPERATOR\",\"T_DOUBLE_ARROW\",\"T_LIST\",\"T_ARRAY\",\"T_CALLABLE\",\"T_CLASS_C\",\"T_TRAIT_C\",\"T_METHOD_C\",\"T_FUNC_C\",\"T_LINE\",\"T_FILE\",\"T_START_HEREDOC\",\"T_END_HEREDOC\",\"T_DOLLAR_OPEN_CURLY_BRACES\",\"T_CURLY_OPEN\",\"T_PAAMAYIM_NEKUDOTAYIM\",\"T_NAMESPACE\",\"T_NS_C\",\"T_DIR\",\"T_NS_SEPARATOR\",\"T_ELLIPSIS\",\"T_NAME_FULLY_QUALIFIED\",\"T_NAME_QUALIFIED\",\"T_NAME_RELATIVE\",\"T_ATTRIBUTE\",\"T_ENUM\",\"T_BAD_CHARACTER\",\"T_COMMENT\",\"T_DOC_COMMENT\",\"T_OPEN_TAG\",\"T_OPEN_TAG_WITH_ECHO\",\"T_CLOSE_TAG\",\"T_WHITESPACE\"];\n\t\tvar current = \"UNKNOWN\";\n\t\tconstants.some(function (constant) {\n\t\t\tif (PHP.Constants[constant] === token) {\n\t\t\t\tcurrent = constant;\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\treturn current;\n\t};\n\n\tPHP.Parser.prototype.createTokenMap = function () {\n\t\tvar tokenMap = {},\n\t\t\tname,\n\t\t\ti;\n\t\tfor (i = 256; i < 1000; ++i) {\n\t\t\tif (PHP.Constants.T_OPEN_TAG_WITH_ECHO === i) {\n\t\t\t\ttokenMap[i] = PHP.Constants.T_ECHO;\n\t\t\t} else if (PHP.Constants.T_CLOSE_TAG === i) {\n\t\t\t\ttokenMap[i] = 59;\n\t\t\t} else if ('UNKNOWN' !== (name = this.tokenName(i))) {\n\t\t\t\ttokenMap[i] = this[name];\n\t\t\t}\n\t\t}\n\t\treturn tokenMap;\n\t};\n\n\tPHP.Parser.prototype.TOKEN_NONE = -1;\n\tPHP.Parser.prototype.TOKEN_INVALID = 175;\n\n\tPHP.Parser.prototype.TOKEN_MAP_SIZE = 403;\n\n\tPHP.Parser.prototype.YYLAST = 1196;\n\tPHP.Parser.prototype.YY2TBLSTATE = 420;\n\tPHP.Parser.prototype.YYGLAST = 545;\n\tPHP.Parser.prototype.YYNLSTATES = 710;\n\tPHP.Parser.prototype.YYUNEXPECTED = 32767;\n\tPHP.Parser.prototype.YYDEFAULT = -32766;\n\tPHP.Parser.prototype.YYERRTOK = 256;\n\tPHP.Parser.prototype.T_THROW = 257;\n\tPHP.Parser.prototype.T_INCLUDE = 258;\n\tPHP.Parser.prototype.T_INCLUDE_ONCE = 259;\n\tPHP.Parser.prototype.T_EVAL = 260;\n\tPHP.Parser.prototype.T_REQUIRE = 261;\n\tPHP.Parser.prototype.T_REQUIRE_ONCE = 262;\n\tPHP.Parser.prototype.T_LOGICAL_OR = 263;\n\tPHP.Parser.prototype.T_LOGICAL_XOR = 264;\n\tPHP.Parser.prototype.T_LOGICAL_AND = 265;\n\tPHP.Parser.prototype.T_PRINT = 266;\n\tPHP.Parser.prototype.T_YIELD = 267;\n\tPHP.Parser.prototype.T_DOUBLE_ARROW = 268;\n\tPHP.Parser.prototype.T_YIELD_FROM = 269;\n\tPHP.Parser.prototype.T_PLUS_EQUAL = 270;\n\tPHP.Parser.prototype.T_MINUS_EQUAL = 271;\n\tPHP.Parser.prototype.T_MUL_EQUAL = 272;\n\tPHP.Parser.prototype.T_DIV_EQUAL = 273;\n\tPHP.Parser.prototype.T_CONCAT_EQUAL = 274;\n\tPHP.Parser.prototype.T_MOD_EQUAL = 275;\n\tPHP.Parser.prototype.T_AND_EQUAL = 276;\n\tPHP.Parser.prototype.T_OR_EQUAL = 277;\n\tPHP.Parser.prototype.T_XOR_EQUAL = 278;\n\tPHP.Parser.prototype.T_SL_EQUAL = 279;\n\tPHP.Parser.prototype.T_SR_EQUAL = 280;\n\tPHP.Parser.prototype.T_POW_EQUAL = 281;\n\tPHP.Parser.prototype.T_COALESCE_EQUAL = 282;\n\tPHP.Parser.prototype.T_COALESCE = 283;\n\tPHP.Parser.prototype.T_BOOLEAN_OR = 284;\n\tPHP.Parser.prototype.T_BOOLEAN_AND = 285;\n\tPHP.Parser.prototype.T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG = 286;\n\tPHP.Parser.prototype.T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG = 287;\n\tPHP.Parser.prototype.T_IS_EQUAL = 288;\n\tPHP.Parser.prototype.T_IS_NOT_EQUAL = 289;\n\tPHP.Parser.prototype.T_IS_IDENTICAL = 290;\n\tPHP.Parser.prototype.T_IS_NOT_IDENTICAL = 291;\n\tPHP.Parser.prototype.T_SPACESHIP = 292;\n\tPHP.Parser.prototype.T_IS_SMALLER_OR_EQUAL = 293;\n\tPHP.Parser.prototype.T_IS_GREATER_OR_EQUAL = 294;\n\tPHP.Parser.prototype.T_SL = 295;\n\tPHP.Parser.prototype.T_SR = 296;\n\tPHP.Parser.prototype.T_INSTANCEOF = 297;\n\tPHP.Parser.prototype.T_INC = 298;\n\tPHP.Parser.prototype.T_DEC = 299;\n\tPHP.Parser.prototype.T_INT_CAST = 300;\n\tPHP.Parser.prototype.T_DOUBLE_CAST = 301;\n\tPHP.Parser.prototype.T_STRING_CAST = 302;\n\tPHP.Parser.prototype.T_ARRAY_CAST = 303;\n\tPHP.Parser.prototype.T_OBJECT_CAST = 304;\n\tPHP.Parser.prototype.T_BOOL_CAST = 305;\n\tPHP.Parser.prototype.T_UNSET_CAST = 306;\n\tPHP.Parser.prototype.T_POW = 307;\n\tPHP.Parser.prototype.T_NEW = 308;\n\tPHP.Parser.prototype.T_CLONE = 309;\n\tPHP.Parser.prototype.T_EXIT = 310;\n\tPHP.Parser.prototype.T_IF = 311;\n\tPHP.Parser.prototype.T_ELSEIF = 312;\n\tPHP.Parser.prototype.T_ELSE = 313;\n\tPHP.Parser.prototype.T_ENDIF = 314;\n\tPHP.Parser.prototype.T_LNUMBER = 315;\n\tPHP.Parser.prototype.T_DNUMBER = 316;\n\tPHP.Parser.prototype.T_STRING = 317;\n\tPHP.Parser.prototype.T_STRING_VARNAME = 318;\n\tPHP.Parser.prototype.T_VARIABLE = 319;\n\tPHP.Parser.prototype.T_NUM_STRING = 320;\n\tPHP.Parser.prototype.T_INLINE_HTML = 321;\n\tPHP.Parser.prototype.T_ENCAPSED_AND_WHITESPACE = 322;\n\tPHP.Parser.prototype.T_CONSTANT_ENCAPSED_STRING = 323;\n\tPHP.Parser.prototype.T_ECHO = 324;\n\tPHP.Parser.prototype.T_DO = 325;\n\tPHP.Parser.prototype.T_WHILE = 326;\n\tPHP.Parser.prototype.T_ENDWHILE = 327;\n\tPHP.Parser.prototype.T_FOR = 328;\n\tPHP.Parser.prototype.T_ENDFOR = 329;\n\tPHP.Parser.prototype.T_FOREACH = 330;\n\tPHP.Parser.prototype.T_ENDFOREACH = 331;\n\tPHP.Parser.prototype.T_DECLARE = 332;\n\tPHP.Parser.prototype.T_ENDDECLARE = 333;\n\tPHP.Parser.prototype.T_AS = 334;\n\tPHP.Parser.prototype.T_SWITCH = 335;\n\tPHP.Parser.prototype.T_MATCH = 336;\n\tPHP.Parser.prototype.T_ENDSWITCH = 337;\n\tPHP.Parser.prototype.T_CASE = 338;\n\tPHP.Parser.prototype.T_DEFAULT = 339;\n\tPHP.Parser.prototype.T_BREAK = 340;\n\tPHP.Parser.prototype.T_CONTINUE = 341;\n\tPHP.Parser.prototype.T_GOTO = 342;\n\tPHP.Parser.prototype.T_FUNCTION = 343;\n\tPHP.Parser.prototype.T_FN = 344;\n\tPHP.Parser.prototype.T_CONST = 345;\n\tPHP.Parser.prototype.T_RETURN = 346;\n\tPHP.Parser.prototype.T_TRY = 347;\n\tPHP.Parser.prototype.T_CATCH = 348;\n\tPHP.Parser.prototype.T_FINALLY = 349;\n\tPHP.Parser.prototype.T_USE = 350;\n\tPHP.Parser.prototype.T_INSTEADOF = 351;\n\tPHP.Parser.prototype.T_GLOBAL = 352;\n\tPHP.Parser.prototype.T_STATIC = 353;\n\tPHP.Parser.prototype.T_ABSTRACT = 354;\n\tPHP.Parser.prototype.T_FINAL = 355;\n\tPHP.Parser.prototype.T_PRIVATE = 356;\n\tPHP.Parser.prototype.T_PROTECTED = 357;\n\tPHP.Parser.prototype.T_PUBLIC = 358;\n\tPHP.Parser.prototype.T_READONLY = 359;\n\tPHP.Parser.prototype.T_VAR = 360;\n\tPHP.Parser.prototype.T_UNSET = 361;\n\tPHP.Parser.prototype.T_ISSET = 362;\n\tPHP.Parser.prototype.T_EMPTY = 363;\n\tPHP.Parser.prototype.T_HALT_COMPILER = 364;\n\tPHP.Parser.prototype.T_CLASS = 365;\n\tPHP.Parser.prototype.T_TRAIT = 366;\n\tPHP.Parser.prototype.T_INTERFACE = 367;\n\tPHP.Parser.prototype.T_ENUM = 368;\n\tPHP.Parser.prototype.T_EXTENDS = 369;\n\tPHP.Parser.prototype.T_IMPLEMENTS = 370;\n\tPHP.Parser.prototype.T_OBJECT_OPERATOR = 371;\n\tPHP.Parser.prototype.T_NULLSAFE_OBJECT_OPERATOR = 372;\n\tPHP.Parser.prototype.T_LIST = 373;\n\tPHP.Parser.prototype.T_ARRAY = 374;\n\tPHP.Parser.prototype.T_CALLABLE = 375;\n\tPHP.Parser.prototype.T_CLASS_C = 376;\n\tPHP.Parser.prototype.T_TRAIT_C = 377;\n\tPHP.Parser.prototype.T_METHOD_C = 378;\n\tPHP.Parser.prototype.T_FUNC_C = 379;\n\tPHP.Parser.prototype.T_LINE = 380;\n\tPHP.Parser.prototype.T_FILE = 381;\n\tPHP.Parser.prototype.T_START_HEREDOC = 382;\n\tPHP.Parser.prototype.T_END_HEREDOC = 383;\n\tPHP.Parser.prototype.T_DOLLAR_OPEN_CURLY_BRACES = 384;\n\tPHP.Parser.prototype.T_CURLY_OPEN = 385;\n\tPHP.Parser.prototype.T_PAAMAYIM_NEKUDOTAYIM = 386;\n\tPHP.Parser.prototype.T_NAMESPACE = 387;\n\tPHP.Parser.prototype.T_NS_C = 388;\n\tPHP.Parser.prototype.T_DIR = 389;\n\tPHP.Parser.prototype.T_NS_SEPARATOR = 390;\n\tPHP.Parser.prototype.T_ELLIPSIS = 391;\n\tPHP.Parser.prototype.T_NAME_FULLY_QUALIFIED = 392;\n\tPHP.Parser.prototype.T_NAME_QUALIFIED = 393;\n\tPHP.Parser.prototype.T_NAME_RELATIVE = 394;\n\tPHP.Parser.prototype.T_ATTRIBUTE = 395;\n\tPHP.Parser.prototype.T_BAD_CHARACTER = 396;\n\tPHP.Parser.prototype.T_COMMENT = 397;\n\tPHP.Parser.prototype.T_DOC_COMMENT = 398;\n\tPHP.Parser.prototype.T_OPEN_TAG = 399;\n\tPHP.Parser.prototype.T_OPEN_TAG_WITH_ECHO = 400;\n\tPHP.Parser.prototype.T_CLOSE_TAG = 401;\n\tPHP.Parser.prototype.T_WHITESPACE = 402;\n\tPHP.Parser.prototype.terminals = [\n\t\t\"EOF\",\n\t\t\"error\",\n\t\t\"T_THROW\",\n\t\t\"T_INCLUDE\",\n\t\t\"T_INCLUDE_ONCE\",\n\t\t\"T_EVAL\",\n\t\t\"T_REQUIRE\",\n\t\t\"T_REQUIRE_ONCE\",\n\t\t\"','\",\n\t\t\"T_LOGICAL_OR\",\n\t\t\"T_LOGICAL_XOR\",\n\t\t\"T_LOGICAL_AND\",\n\t\t\"T_PRINT\",\n\t\t\"T_YIELD\",\n\t\t\"T_DOUBLE_ARROW\",\n\t\t\"T_YIELD_FROM\",\n\t\t\"'='\",\n\t\t\"T_PLUS_EQUAL\",\n\t\t\"T_MINUS_EQUAL\",\n\t\t\"T_MUL_EQUAL\",\n\t\t\"T_DIV_EQUAL\",\n\t\t\"T_CONCAT_EQUAL\",\n\t\t\"T_MOD_EQUAL\",\n\t\t\"T_AND_EQUAL\",\n\t\t\"T_OR_EQUAL\",\n\t\t\"T_XOR_EQUAL\",\n\t\t\"T_SL_EQUAL\",\n\t\t\"T_SR_EQUAL\",\n\t\t\"T_POW_EQUAL\",\n\t\t\"T_COALESCE_EQUAL\",\n\t\t\"'?'\",\n\t\t\"':'\",\n\t\t\"T_COALESCE\",\n\t\t\"T_BOOLEAN_OR\",\n\t\t\"T_BOOLEAN_AND\",\n\t\t\"'|'\",\n\t\t\"'^'\",\n\t\t\"T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG\",\n\t\t\"T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG\",\n\t\t\"T_IS_EQUAL\",\n\t\t\"T_IS_NOT_EQUAL\",\n\t\t\"T_IS_IDENTICAL\",\n\t\t\"T_IS_NOT_IDENTICAL\",\n\t\t\"T_SPACESHIP\",\n\t\t\"'<'\",\n\t\t\"T_IS_SMALLER_OR_EQUAL\",\n\t\t\"'>'\",\n\t\t\"T_IS_GREATER_OR_EQUAL\",\n\t\t\"T_SL\",\n\t\t\"T_SR\",\n\t\t\"'+'\",\n\t\t\"'-'\",\n\t\t\"'.'\",\n\t\t\"'*'\",\n\t\t\"'/'\",\n\t\t\"'%'\",\n\t\t\"'!'\",\n\t\t\"T_INSTANCEOF\",\n\t\t\"'~'\",\n\t\t\"T_INC\",\n\t\t\"T_DEC\",\n\t\t\"T_INT_CAST\",\n\t\t\"T_DOUBLE_CAST\",\n\t\t\"T_STRING_CAST\",\n\t\t\"T_ARRAY_CAST\",\n\t\t\"T_OBJECT_CAST\",\n\t\t\"T_BOOL_CAST\",\n\t\t\"T_UNSET_CAST\",\n\t\t\"'@'\",\n\t\t\"T_POW\",\n\t\t\"'['\",\n\t\t\"T_NEW\",\n\t\t\"T_CLONE\",\n\t\t\"T_EXIT\",\n\t\t\"T_IF\",\n\t\t\"T_ELSEIF\",\n\t\t\"T_ELSE\",\n\t\t\"T_ENDIF\",\n\t\t\"T_LNUMBER\",\n\t\t\"T_DNUMBER\",\n\t\t\"T_STRING\",\n\t\t\"T_STRING_VARNAME\",\n\t\t\"T_VARIABLE\",\n\t\t\"T_NUM_STRING\",\n\t\t\"T_INLINE_HTML\",\n\t\t\"T_ENCAPSED_AND_WHITESPACE\",\n\t\t\"T_CONSTANT_ENCAPSED_STRING\",\n\t\t\"T_ECHO\",\n\t\t\"T_DO\",\n\t\t\"T_WHILE\",\n\t\t\"T_ENDWHILE\",\n\t\t\"T_FOR\",\n\t\t\"T_ENDFOR\",\n\t\t\"T_FOREACH\",\n\t\t\"T_ENDFOREACH\",\n\t\t\"T_DECLARE\",\n\t\t\"T_ENDDECLARE\",\n\t\t\"T_AS\",\n\t\t\"T_SWITCH\",\n\t\t\"T_MATCH\",\n\t\t\"T_ENDSWITCH\",\n\t\t\"T_CASE\",\n\t\t\"T_DEFAULT\",\n\t\t\"T_BREAK\",\n\t\t\"T_CONTINUE\",\n\t\t\"T_GOTO\",\n\t\t\"T_FUNCTION\",\n\t\t\"T_FN\",\n\t\t\"T_CONST\",\n\t\t\"T_RETURN\",\n\t\t\"T_TRY\",\n\t\t\"T_CATCH\",\n\t\t\"T_FINALLY\",\n\t\t\"T_USE\",\n\t\t\"T_INSTEADOF\",\n\t\t\"T_GLOBAL\",\n\t\t\"T_STATIC\",\n\t\t\"T_ABSTRACT\",\n\t\t\"T_FINAL\",\n\t\t\"T_PRIVATE\",\n\t\t\"T_PROTECTED\",\n\t\t\"T_PUBLIC\",\n\t\t\"T_READONLY\",\n\t\t\"T_VAR\",\n\t\t\"T_UNSET\",\n\t\t\"T_ISSET\",\n\t\t\"T_EMPTY\",\n\t\t\"T_HALT_COMPILER\",\n\t\t\"T_CLASS\",\n\t\t\"T_TRAIT\",\n\t\t\"T_INTERFACE\",\n\t\t\"T_ENUM\",\n\t\t\"T_EXTENDS\",\n\t\t\"T_IMPLEMENTS\",\n\t\t\"T_OBJECT_OPERATOR\",\n\t\t\"T_NULLSAFE_OBJECT_OPERATOR\",\n\t\t\"T_LIST\",\n\t\t\"T_ARRAY\",\n\t\t\"T_CALLABLE\",\n\t\t\"T_CLASS_C\",\n\t\t\"T_TRAIT_C\",\n\t\t\"T_METHOD_C\",\n\t\t\"T_FUNC_C\",\n\t\t\"T_LINE\",\n\t\t\"T_FILE\",\n\t\t\"T_START_HEREDOC\",\n\t\t\"T_END_HEREDOC\",\n\t\t\"T_DOLLAR_OPEN_CURLY_BRACES\",\n\t\t\"T_CURLY_OPEN\",\n\t\t\"T_PAAMAYIM_NEKUDOTAYIM\",\n\t\t\"T_NAMESPACE\",\n\t\t\"T_NS_C\",\n\t\t\"T_DIR\",\n\t\t\"T_NS_SEPARATOR\",\n\t\t\"T_ELLIPSIS\",\n\t\t\"T_NAME_FULLY_QUALIFIED\",\n\t\t\"T_NAME_QUALIFIED\",\n\t\t\"T_NAME_RELATIVE\",\n\t\t\"T_ATTRIBUTE\",\n\t\t\"';'\",\n\t\t\"']'\",\n\t\t\"'{'\",\n\t\t\"'}'\",\n\t\t\"'('\",\n\t\t\"')'\",\n\t\t\"'`'\",\n\t\t\"'\\\"'\",\n\t\t\"'$'\",\n\t\t\"T_BAD_CHARACTER\",\n\t\t\"T_COMMENT\",\n\t\t\"T_DOC_COMMENT\",\n\t\t\"T_OPEN_TAG\",\n\t\t\"T_OPEN_TAG_WITH_ECHO\",\n\t\t\"T_CLOSE_TAG\",\n\t\t\"T_WHITESPACE\"\n\t\t, \"???\"\n\t];\n\tPHP.Parser.prototype.translate = [\n\t\t0, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 56, 166, 175, 167, 55, 175, 175,\n\t\t163, 164, 53, 50, 8, 51, 52, 54, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 31, 159,\n\t\t44, 16, 46, 30, 68, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 70, 175, 160, 36, 175, 165, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 161, 35, 162, 58, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 175, 175, 175, 175,\n\t\t175, 175, 175, 175, 175, 175, 1, 2, 3, 4,\n\t\t5, 6, 7, 9, 10, 11, 12, 13, 14, 15,\n\t\t17, 18, 19, 20, 21, 22, 23, 24, 25, 26,\n\t\t27, 28, 29, 32, 33, 34, 37, 38, 39, 40,\n\t\t41, 42, 43, 45, 47, 48, 49, 57, 59, 60,\n\t\t61, 62, 63, 64, 65, 66, 67, 69, 71, 72,\n\t\t73, 74, 75, 76, 77, 78, 79, 80, 81, 82,\n\t\t83, 84, 85, 86, 87, 88, 89, 90, 91, 92,\n\t\t93, 94, 95, 96, 97, 98, 99, 100, 101, 102,\n\t\t103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n\t\t113, 114, 115, 116, 117, 118, 119, 120, 121, 122,\n\t\t123, 124, 125, 126, 127, 128, 129, 130, 131, 132,\n\t\t133, 134, 135, 136, 137, 138, 139, 140, 141, 142,\n\t\t143, 144, 145, 146, 147, 148, 149, 150, 151, 152,\n\t\t153, 154, 155, 156, 157, 158, 168, 169, 170, 171,\n\t\t172, 173, 174\n\t];\n\n\tPHP.Parser.prototype.yyaction = [\n\t\t132, 133, 134, 569, 135, 136, 0, 722, 723, 724,\n\t\t137, 37, 834, 911, 835, 469,-32766,-32766,-32766,-32767,\n\t\t-32767,-32767,-32767, 101, 102, 103, 104, 105, 1068, 1069,\n\t\t1070, 1067, 1066, 1065, 1071, 716, 715,-32766,-32766,-32766,\n\t\t-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767,\n\t\t-32767, 545, 546,-32766,-32766, 725,-32766,-32766,-32766, 998,\n\t\t999, 806, 922, 447, 448, 449, 370, 371, 2, 267,\n\t\t138, 396, 729, 730, 731, 732, 414,-32766, 420,-32766,\n\t\t-32766,-32766,-32766,-32766, 990, 733, 734, 735, 736, 737,\n\t\t738, 739, 740, 741, 742, 743, 763, 570, 764, 765,\n\t\t766, 767, 755, 756, 336, 337, 758, 759, 744, 745,\n\t\t746, 748, 749, 750, 346, 790, 791, 792, 793, 794,\n\t\t795, 751, 752, 571, 572, 784, 775, 773, 774, 787,\n\t\t770, 771, 283, 420, 573, 574, 769, 575, 576, 577,\n\t\t578, 579, 580, 598, -575, 470, 14, 798, 772, 581,\n\t\t582, -575, 139,-32766,-32766,-32766, 132, 133, 134, 569,\n\t\t135, 136, 1017, 722, 723, 724, 137, 37, 1060,-32766,\n\t\t-32766,-32766, 1303, 696,-32766, 1304,-32766,-32766,-32766,-32766,\n\t\t-32766,-32766,-32766, 1068, 1069, 1070, 1067, 1066, 1065, 1071,\n\t\t-32766, 716, 715, 372, 371, 1258,-32766,-32766,-32766, -572,\n\t\t106, 107, 108, 414, 270, 891, -572, 240, 1193, 1192,\n\t\t1194, 725,-32766,-32766,-32766, 1046, 109,-32766,-32766,-32766,\n\t\t-32766, 986, 985, 984, 987, 267, 138, 396, 729, 730,\n\t\t731, 732, 12,-32766, 420,-32766,-32766,-32766,-32766, 998,\n\t\t999, 733, 734, 735, 736, 737, 738, 739, 740, 741,\n\t\t742, 743, 763, 570, 764, 765, 766, 767, 755, 756,\n\t\t336, 337, 758, 759, 744, 745, 746, 748, 749, 750,\n\t\t346, 790, 791, 792, 793, 794, 795, 751, 752, 571,\n\t\t572, 784, 775, 773, 774, 787, 770, 771, 881, 321,\n\t\t573, 574, 769, 575, 576, 577, 578, 579, 580,-32766,\n\t\t82, 83, 84, -575, 772, 581, 582, -575, 148, 747,\n\t\t717, 718, 719, 720, 721, 1278, 722, 723, 724, 760,\n\t\t761, 36, 1277, 85, 86, 87, 88, 89, 90, 91,\n\t\t92, 93, 94, 95, 96, 97, 98, 99, 100, 101,\n\t\t102, 103, 104, 105, 106, 107, 108, 996, 270, 150,\n\t\t-32766,-32766,-32766, 455, 456, 81, 34, -264, -572, 1016,\n\t\t109, 320, -572, 893, 725, 682, 803, 128, 998, 999,\n\t\t592,-32766, 1044,-32766,-32766,-32766, 809, 151, 726, 727,\n\t\t728, 729, 730, 731, 732, -88, 1198, 796, 278, -526,\n\t\t283,-32766,-32766,-32766, 733, 734, 735, 736, 737, 738,\n\t\t739, 740, 741, 742, 743, 763, 786, 764, 765, 766,\n\t\t767, 755, 756, 757, 785, 758, 759, 744, 745, 746,\n\t\t748, 749, 750, 789, 790, 791, 792, 793, 794, 795,\n\t\t751, 752, 753, 754, 784, 775, 773, 774, 787, 770,\n\t\t771, 144, 804, 762, 768, 769, 776, 777, 779, 778,\n\t\t780, 781, -314, -526, -526, -193, -192, 772, 783, 782,\n\t\t49, 50, 51, 500, 52, 53, 239, 807, -526, -86,\n\t\t54, 55, -111, 56, 996, 253,-32766, -111, 800, -111,\n\t\t-526, 541, -532, -352, 300, -352, 304, -111, -111, -111,\n\t\t-111, -111, -111, -111, -111, 998, 999, 998, 999, 153,\n\t\t-32766,-32766,-32766, 1191, 807, 126, 306, 1293, 57, 58,\n\t\t103, 104, 105, -111, 59, 1218, 60, 246, 247, 61,\n\t\t62, 63, 64, 65, 66, 67, 68, -525, 27, 268,\n\t\t69, 436, 501, -328, 808, -86, 1224, 1225, 502, 1189,\n\t\t807, 1198, 1230, 293, 1222, 41, 24, 503, 74, 504,\n\t\t953, 505, 320, 506, 802, 154, 507, 508, 279, 684,\n\t\t280, 43, 44, 437, 367, 366, 891, 45, 509, 35,\n\t\t249, -16, -566, 358, 332, 318, -566, 1198, 1193, 1192,\n\t\t1194, -527, 510, 511, 512, 333, -524, 1274, 48, 716,\n\t\t715, -525, -525, 334, 513, 514, 807, 1212, 1213, 1214,\n\t\t1215, 1209, 1210, 292, 360, 284, -525, 285, -314, 1216,\n\t\t1211, -193, -192, 1193, 1192, 1194, 293, 891, -525, 364,\n\t\t-531, 70, 807, 316, 317, 320, 31, 110, 111, 112,\n\t\t113, 114, 115, 116, 117, 118, 119, 120, 121, 122,\n\t\t-153, -153, -153, 638, 25, -527, -527, 687, 379, 881,\n\t\t-524, -524, 296, 297, 891, -153, 432, -153, 807, -153,\n\t\t-527, -153, 716, 715, 433, -524, 798, 363, -111, 1105,\n\t\t1107, 365, -527, 434, 891, 140, 435, -524, 954, 127,\n\t\t-524, 320, -111, -111, 688, 813, 381, -529, 11, 834,\n\t\t155, 835, 867, -111, -111, -111, -111, 47, 293,-32766,\n\t\t881, 654, 655, 74, 689, 1191, 1045, 320, 708, 149,\n\t\t399, 157,-32766,-32766,-32766, 32,-32766, -79,-32766, 123,\n\t\t-32766, 716, 715,-32766, 893, 891, 682, -153,-32766,-32766,\n\t\t-32766, 716, 715, 891,-32766,-32766, 124, 881, 129, 74,\n\t\t-32766, 411, 130, 320, -524, -524, 143, 141, -75,-32766,\n\t\t158, -529, -529, 320, 27, 691, 159, 881, 160, -524,\n\t\t161, 294, 295, 698, 368, 369, 807, -73,-32766, -72,\n\t\t1222, -524, 373, 374, 1191, 893, -71, 682, -529, 73,\n\t\t-70,-32766,-32766,-32766, -69,-32766, -68,-32766, 125,-32766,\n\t\t630, 631,-32766, -67, -66, -47, -51,-32766,-32766,-32766,\n\t\t-18, 147, 271,-32766,-32766, 277, 697, 700, 881,-32766,\n\t\t411, 890, 893, 146, 682, 282, 881, 907,-32766, 281,\n\t\t513, 514, 286, 1212, 1213, 1214, 1215, 1209, 1210, 326,\n\t\t131, 145, 939, 287, 682, 1216, 1211, 109, 270,-32766,\n\t\t798, 807,-32766, 662, 639, 1191, 657, 72, 675, 1075,\n\t\t317, 320,-32766,-32766,-32766, 1305,-32766, 301,-32766, 628,\n\t\t-32766, 431, 543,-32766,-32766, 923, 555, 924,-32766,-32766,\n\t\t-32766, 1229, 549,-32766,-32766,-32766, -4, 891, -490, 1191,\n\t\t-32766, 411, 644, 893, 299, 682,-32766,-32766,-32766,-32766,\n\t\t-32766, 893,-32766, 682,-32766, 13, 1231,-32766, 452, 480,\n\t\t645, 909,-32766,-32766,-32766,-32766, 658, -480,-32766,-32766,\n\t\t0, 1191, 0, 0,-32766, 411, 0, 298,-32766,-32766,\n\t\t-32766, 305,-32766,-32766,-32766, 0,-32766, 0, 806,-32766,\n\t\t0, 0, 0, 475,-32766,-32766,-32766,-32766, 0, 7,\n\t\t-32766,-32766, 16, 1191, 561, 596,-32766, 411, 1219, 891,\n\t\t-32766,-32766,-32766, 362,-32766,-32766,-32766, 818,-32766, -267,\n\t\t881,-32766, 39, 293, 0, 0,-32766,-32766,-32766, 40,\n\t\t705, 706,-32766,-32766, 872, 963, 940, 947,-32766, 411,\n\t\t937, 948, 365, 870, 427, 891, 935,-32766, 1049, 291,\n\t\t1244, 1052, 1053, -111, -111, 1050, 1051, 1057, -560, 1262,\n\t\t1296, 633, 0, 826, -111, -111, -111, -111, 33, 315,\n\t\t-32766, 361, 683, 686, 690, 692, 1191, 693, 694, 695,\n\t\t699, 685, 320,-32766,-32766,-32766, 9,-32766, 702,-32766,\n\t\t868,-32766, 881, 1300,-32766, 893, 1302, 682, -4,-32766,\n\t\t-32766,-32766, 829, 828, 837,-32766,-32766, 916, -242, -242,\n\t\t-242,-32766, 411, 955, 365, 27, 836, 1301, 915, 917,\n\t\t-32766, 914, 1177, 900, 910, -111, -111, 807, 881, 898,\n\t\t945, 1222, 946, 1299, 1256, 867, -111, -111, -111, -111,\n\t\t1245, 1263, 1269, 1272, -241, -241, -241, -558, -532, -531,\n\t\t365, -530, 1, 28, 29, 38, 42, 46, 71, 0,\n\t\t75, -111, -111, 76, 77, 78, 79, 893, 80, 682,\n\t\t-242, 867, -111, -111, -111, -111, 142, 152, 156, 245,\n\t\t322, 347, 514, 348, 1212, 1213, 1214, 1215, 1209, 1210,\n\t\t349, 350, 351, 352, 353, 354, 1216, 1211, 355, 356,\n\t\t357, 359, 428, 893, -265, 682, -241, -264, 72, 0,\n\t\t18, 317, 320, 19, 20, 21, 23, 398, 471, 472,\n\t\t479, 482, 483, 484, 485, 489, 490, 491, 498, 669,\n\t\t1202, 1145, 1220, 1019, 1018, 1181, -269, -103, 17, 22,\n\t\t26, 290, 397, 589, 593, 620, 674, 1149, 1197, 1146,\n\t\t1275, 0, -494, 1162, 0, 1223\n\t];\n\n\tPHP.Parser.prototype.yycheck = [\n\t\t2, 3, 4, 5, 6, 7, 0, 9, 10, 11,\n\t\t12, 13, 106, 1, 108, 31, 9, 10, 11, 44,\n\t\t45, 46, 47, 48, 49, 50, 51, 52, 116, 117,\n\t\t118, 119, 120, 121, 122, 37, 38, 30, 116, 32,\n\t\t33, 34, 35, 36, 37, 38, 39, 40, 41, 42,\n\t\t43, 117, 118, 9, 10, 57, 9, 10, 11, 137,\n\t\t138, 155, 128, 129, 130, 131, 106, 107, 8, 71,\n\t\t72, 73, 74, 75, 76, 77, 116, 30, 80, 32,\n\t\t33, 34, 35, 36, 1, 87, 88, 89, 90, 91,\n\t\t92, 93, 94, 95, 96, 97, 98, 99, 100, 101,\n\t\t102, 103, 104, 105, 106, 107, 108, 109, 110, 111,\n\t\t112, 113, 114, 115, 116, 117, 118, 119, 120, 121,\n\t\t122, 123, 124, 125, 126, 127, 128, 129, 130, 131,\n\t\t132, 133, 30, 80, 136, 137, 138, 139, 140, 141,\n\t\t142, 143, 144, 51, 1, 161, 101, 80, 150, 151,\n\t\t152, 8, 154, 9, 10, 11, 2, 3, 4, 5,\n\t\t6, 7, 164, 9, 10, 11, 12, 13, 123, 9,\n\t\t10, 11, 80, 161, 30, 83, 32, 33, 34, 35,\n\t\t36, 37, 38, 116, 117, 118, 119, 120, 121, 122,\n\t\t30, 37, 38, 106, 107, 1, 9, 10, 11, 1,\n\t\t53, 54, 55, 116, 57, 1, 8, 14, 155, 156,\n\t\t157, 57, 9, 10, 11, 162, 69, 30, 116, 32,\n\t\t33, 119, 120, 121, 122, 71, 72, 73, 74, 75,\n\t\t76, 77, 8, 30, 80, 32, 33, 34, 35, 137,\n\t\t138, 87, 88, 89, 90, 91, 92, 93, 94, 95,\n\t\t96, 97, 98, 99, 100, 101, 102, 103, 104, 105,\n\t\t106, 107, 108, 109, 110, 111, 112, 113, 114, 115,\n\t\t116, 117, 118, 119, 120, 121, 122, 123, 124, 125,\n\t\t126, 127, 128, 129, 130, 131, 132, 133, 84, 70,\n\t\t136, 137, 138, 139, 140, 141, 142, 143, 144, 9,\n\t\t9, 10, 11, 160, 150, 151, 152, 164, 154, 2,\n\t\t3, 4, 5, 6, 7, 1, 9, 10, 11, 12,\n\t\t13, 30, 8, 32, 33, 34, 35, 36, 37, 38,\n\t\t39, 40, 41, 42, 43, 44, 45, 46, 47, 48,\n\t\t49, 50, 51, 52, 53, 54, 55, 116, 57, 14,\n\t\t9, 10, 11, 134, 135, 161, 8, 164, 160, 1,\n\t\t69, 167, 164, 159, 57, 161, 80, 8, 137, 138,\n\t\t1, 30, 1, 32, 33, 34, 1, 14, 71, 72,\n\t\t73, 74, 75, 76, 77, 31, 1, 80, 30, 70,\n\t\t30, 9, 10, 11, 87, 88, 89, 90, 91, 92,\n\t\t93, 94, 95, 96, 97, 98, 99, 100, 101, 102,\n\t\t103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n\t\t113, 114, 115, 116, 117, 118, 119, 120, 121, 122,\n\t\t123, 124, 125, 126, 127, 128, 129, 130, 131, 132,\n\t\t133, 8, 156, 136, 137, 138, 139, 140, 141, 142,\n\t\t143, 144, 8, 134, 135, 8, 8, 150, 151, 152,\n\t\t2, 3, 4, 5, 6, 7, 97, 82, 149, 31,\n\t\t12, 13, 101, 15, 116, 8, 116, 106, 80, 108,\n\t\t161, 85, 163, 106, 113, 108, 8, 116, 117, 118,\n\t\t119, 120, 121, 122, 123, 137, 138, 137, 138, 14,\n\t\t9, 10, 11, 80, 82, 14, 8, 85, 50, 51,\n\t\t50, 51, 52, 128, 56, 1, 58, 59, 60, 61,\n\t\t62, 63, 64, 65, 66, 67, 68, 70, 70, 71,\n\t\t72, 73, 74, 162, 159, 97, 78, 79, 80, 116,\n\t\t82, 1, 146, 158, 86, 87, 88, 89, 163, 91,\n\t\t31, 93, 167, 95, 156, 14, 98, 99, 35, 161,\n\t\t37, 103, 104, 105, 106, 107, 1, 109, 110, 147,\n\t\t148, 31, 160, 115, 116, 8, 164, 1, 155, 156,\n\t\t157, 70, 124, 125, 126, 8, 70, 1, 70, 37,\n\t\t38, 134, 135, 8, 136, 137, 82, 139, 140, 141,\n\t\t142, 143, 144, 145, 8, 35, 149, 37, 164, 151,\n\t\t152, 164, 164, 155, 156, 157, 158, 1, 161, 8,\n\t\t163, 163, 82, 165, 166, 167, 16, 17, 18, 19,\n\t\t20, 21, 22, 23, 24, 25, 26, 27, 28, 29,\n\t\t75, 76, 77, 75, 76, 134, 135, 31, 8, 84,\n\t\t134, 135, 134, 135, 1, 90, 8, 92, 82, 94,\n\t\t149, 96, 37, 38, 8, 149, 80, 149, 128, 59,\n\t\t60, 106, 161, 8, 1, 161, 8, 161, 159, 161,\n\t\t70, 167, 117, 118, 31, 8, 106, 70, 108, 106,\n\t\t14, 108, 127, 128, 129, 130, 131, 70, 158, 74,\n\t\t84, 75, 76, 163, 31, 80, 159, 167, 161, 101,\n\t\t102, 14, 87, 88, 89, 14, 91, 31, 93, 16,\n\t\t95, 37, 38, 98, 159, 1, 161, 162, 103, 104,\n\t\t105, 37, 38, 1, 109, 110, 16, 84, 16, 163,\n\t\t115, 116, 16, 167, 134, 135, 16, 161, 31, 124,\n\t\t16, 134, 135, 167, 70, 31, 16, 84, 16, 149,\n\t\t16, 134, 135, 31, 106, 107, 82, 31, 74, 31,\n\t\t86, 161, 106, 107, 80, 159, 31, 161, 161, 154,\n\t\t31, 87, 88, 89, 31, 91, 31, 93, 161, 95,\n\t\t111, 112, 98, 31, 31, 31, 31, 103, 104, 105,\n\t\t31, 31, 31, 109, 110, 31, 31, 31, 84, 115,\n\t\t116, 31, 159, 31, 161, 37, 84, 38, 124, 35,\n\t\t136, 137, 35, 139, 140, 141, 142, 143, 144, 35,\n\t\t31, 70, 159, 37, 161, 151, 152, 69, 57, 74,\n\t\t80, 82, 85, 77, 90, 80, 94, 163, 92, 82,\n\t\t166, 167, 87, 88, 89, 83, 91, 114, 93, 113,\n\t\t95, 128, 85, 98, 116, 128, 153, 128, 103, 104,\n\t\t105, 146, 89, 74, 109, 110, 0, 1, 149, 80,\n\t\t115, 116, 96, 159, 133, 161, 87, 88, 89, 124,\n\t\t91, 159, 93, 161, 95, 97, 146, 98, 97, 97,\n\t\t100, 154, 103, 104, 105, 74, 100, 149, 109, 110,\n\t\t-1, 80, -1, -1, 115, 116, -1, 132, 87, 88,\n\t\t89, 132, 91, 124, 93, -1, 95, -1, 155, 98,\n\t\t-1, -1, -1, 102, 103, 104, 105, 74, -1, 149,\n\t\t109, 110, 149, 80, 81, 153, 115, 116, 160, 1,\n\t\t87, 88, 89, 149, 91, 124, 93, 160, 95, 164,\n\t\t84, 98, 159, 158, -1, -1, 103, 104, 105, 159,\n\t\t159, 159, 109, 110, 159, 159, 159, 159, 115, 116,\n\t\t159, 159, 106, 159, 108, 1, 159, 124, 159, 113,\n\t\t160, 159, 159, 117, 118, 159, 159, 159, 163, 160,\n\t\t160, 160, -1, 127, 128, 129, 130, 131, 161, 161,\n\t\t74, 161, 161, 161, 161, 161, 80, 161, 161, 161,\n\t\t161, 161, 167, 87, 88, 89, 150, 91, 162, 93,\n\t\t162, 95, 84, 162, 98, 159, 162, 161, 162, 103,\n\t\t104, 105, 162, 162, 162, 109, 110, 162, 100, 101,\n\t\t102, 115, 116, 162, 106, 70, 162, 162, 162, 162,\n\t\t124, 162, 162, 162, 162, 117, 118, 82, 84, 162,\n\t\t162, 86, 162, 162, 162, 127, 128, 129, 130, 131,\n\t\t162, 162, 162, 162, 100, 101, 102, 163, 163, 163,\n\t\t106, 163, 163, 163, 163, 163, 163, 163, 163, -1,\n\t\t163, 117, 118, 163, 163, 163, 163, 159, 163, 161,\n\t\t162, 127, 128, 129, 130, 131, 163, 163, 163, 163,\n\t\t163, 163, 137, 163, 139, 140, 141, 142, 143, 144,\n\t\t163, 163, 163, 163, 163, 163, 151, 152, 163, 163,\n\t\t163, 163, 163, 159, 164, 161, 162, 164, 163, -1,\n\t\t164, 166, 167, 164, 164, 164, 164, 164, 164, 164,\n\t\t164, 164, 164, 164, 164, 164, 164, 164, 164, 164,\n\t\t164, 164, 164, 164, 164, 164, 164, 164, 164, 164,\n\t\t164, 164, 164, 164, 164, 164, 164, 164, 164, 164,\n\t\t164, -1, 165, 165, -1, 166\n\t];\n\n\tPHP.Parser.prototype.yybase = [\n\t\t0, -2, 154, 565, 876, 948, 984, 514, 53, 398,\n\t\t837, 307, 307, 67, 307, 307, 307, 653, 724, 724,\n\t\t732, 724, 616, 673, 204, 204, 204, 625, 625, 625,\n\t\t625, 694, 694, 831, 831, 863, 799, 765, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 936, 936, 936, 936, 936, 936, 936, 936,\n\t\t936, 936, 375, 519, 369, 701, 1017, 1023, 1019, 1024,\n\t\t1015, 1014, 1018, 1020, 1025, 911, 912, 782, 918, 919,\n\t\t920, 921, 1021, 841, 1016, 1022, 291, 291, 291, 291,\n\t\t291, 291, 291, 291, 291, 291, 291, 291, 291, 291,\n\t\t291, 291, 291, 291, 291, 291, 291, 291, 291, 291,\n\t\t291, 291, 290, 491, 44, 382, 382, 382, 382, 382,\n\t\t382, 382, 382, 382, 382, 382, 382, 382, 382, 382,\n\t\t382, 382, 382, 382, 382, 160, 160, 160, 187, 684,\n\t\t684, 341, 203, 610, 47, 985, 985, 985, 985, 985,\n\t\t985, 985, 985, 985, 985, 144, 144, 7, 7, 7,\n\t\t7, 7, 371, -25, -25, -25, -25, 540, 385, 102,\n\t\t576, 358, 45, 377, 460, 460, 360, 231, 231, 231,\n\t\t231, 231, 231, -78, -78, -78, -78, -78, -66, 319,\n\t\t457, -94, 396, 423, 586, 586, 586, 586, 423, 423,\n\t\t423, 423, 750, 1029, 423, 423, 423, 511, 516, 516,\n\t\t518, 147, 147, 147, 516, 583, 777, 422, 583, 422,\n\t\t194, 92, 748, -40, 87, 412, 748, 617, 627, 198,\n\t\t143, 773, 658, 773, 1013, 757, 764, 717, 838, 860,\n\t\t1026, 800, 908, 806, 910, 219, 686, 1012, 1012, 1012,\n\t\t1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 855, 552,\n\t\t1013, 286, 855, 855, 855, 552, 552, 552, 552, 552,\n\t\t552, 552, 552, 552, 552, 679, 286, 568, 626, 286,\n\t\t794, 552, 375, 758, 375, 375, 375, 375, 958, 375,\n\t\t375, 375, 375, 375, 375, 970, 769, -16, 375, 519,\n\t\t12, 12, 547, 83, 12, 12, 12, 12, 375, 375,\n\t\t375, 658, 781, 713, 666, 792, 448, 781, 781, 781,\n\t\t438, 444, 193, 447, 570, 523, 580, 760, 760, 767,\n\t\t929, 929, 760, 759, 760, 767, 934, 760, 929, 805,\n\t\t359, 648, 577, 611, 656, 929, 478, 760, 760, 760,\n\t\t760, 665, 760, 467, 433, 760, 760, 785, 774, 789,\n\t\t60, 929, 929, 929, 789, 596, 751, 751, 751, 811,\n\t\t812, 746, 771, 567, 498, 677, 348, 779, 771, 771,\n\t\t760, 640, 746, 771, 746, 771, 747, 771, 771, 771,\n\t\t746, 771, 759, 585, 771, 734, 668, 224, 771, 6,\n\t\t935, 937, 354, 940, 932, 941, 979, 942, 943, 851,\n\t\t956, 933, 945, 931, 930, 780, 703, 720, 790, 729,\n\t\t928, 768, 768, 768, 925, 768, 768, 768, 768, 768,\n\t\t768, 768, 768, 703, 788, 804, 733, 783, 960, 722,\n\t\t726, 725, 868, 1027, 1028, 737, 739, 958, 1006, 953,\n\t\t803, 730, 992, 967, 866, 848, 968, 969, 993, 1007,\n\t\t1008, 871, 761, 874, 880, 797, 971, 852, 768, 935,\n\t\t943, 933, 945, 931, 930, 763, 762, 753, 755, 749,\n\t\t745, 736, 738, 770, 1009, 924, 835, 830, 970, 926,\n\t\t703, 839, 986, 847, 994, 995, 850, 801, 772, 840,\n\t\t881, 972, 975, 976, 853, 1010, 810, 989, 795, 996,\n\t\t802, 882, 997, 998, 999, 1000, 885, 854, 856, 857,\n\t\t815, 754, 980, 786, 891, 335, 787, 796, 978, 363,\n\t\t957, 858, 894, 895, 1001, 1002, 1003, 896, 954, 816,\n\t\t990, 752, 991, 983, 817, 818, 485, 784, 778, 541,\n\t\t676, 897, 899, 900, 955, 775, 766, 821, 822, 1011,\n\t\t901, 697, 824, 740, 902, 1005, 742, 744, 756, 859,\n\t\t793, 743, 798, 977, 776, 827, 907, 829, 832, 833,\n\t\t1004, 836, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t0, 458, 458, 458, 458, 458, 458, 307, 307, 307,\n\t\t307, 0, 0, 307, 0, 0, 0, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 458, 458, 458, 458, 458, 458, 458, 458,\n\t\t458, 458, 291, 291, 291, 291, 291, 291, 291, 291,\n\t\t291, 291, 291, 291, 291, 291, 291, 291, 291, 291,\n\t\t291, 291, 291, 291, 291, 291, 0, 0, 0, 0,\n\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t0, 0, 291, 291, 291, 291, 291, 291, 291, 291,\n\t\t291, 291, 291, 291, 291, 291, 291, 291, 291, 291,\n\t\t291, 291, 291, 291, 291, 291, 291, 291, 291, 423,\n\t\t423, 291, 291, 0, 291, 423, 423, 423, 423, 423,\n\t\t423, 423, 423, 423, 423, 291, 291, 291, 291, 291,\n\t\t291, 291, 805, 147, 147, 147, 147, 423, 423, 423,\n\t\t423, 423, -88, -88, 147, 147, 423, 423, 423, 423,\n\t\t423, 423, 423, 423, 423, 423, 423, 423, 0, 0,\n\t\t0, 286, 422, 0, 759, 759, 759, 759, 0, 0,\n\t\t0, 0, 422, 422, 0, 0, 0, 0, 0, 0,\n\t\t0, 0, 0, 0, 0, 286, 422, 0, 286, 0,\n\t\t759, 759, 423, 805, 805, 314, 423, 0, 0, 0,\n\t\t0, 286, 759, 286, 552, 422, 552, 552, 12, 375,\n\t\t314, 608, 608, 608, 608, 0, 658, 805, 805, 805,\n\t\t805, 805, 805, 805, 805, 805, 805, 805, 759, 0,\n\t\t805, 0, 759, 759, 759, 0, 0, 0, 0, 0,\n\t\t0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n\t\t759, 0, 0, 929, 0, 0, 0, 0, 760, 0,\n\t\t0, 0, 0, 0, 0, 760, 934, 0, 0, 0,\n\t\t0, 0, 0, 759, 0, 0, 0, 0, 0, 0,\n\t\t0, 0, 768, 801, 0, 801, 0, 768, 768, 768\n\t];\n\n\tPHP.Parser.prototype.yydefault = [\n\t\t3,32767, 103,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767, 101,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767, 578, 578, 578,\n\t\t578,32767,32767, 246, 103,32767,32767, 454, 372, 372,\n\t\t372,32767,32767, 522, 522, 522, 522, 522, 522,32767,\n\t\t32767,32767,32767,32767,32767, 454,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767, 101,32767,\n\t\t32767,32767, 37, 7, 8, 10, 11, 50, 17, 310,\n\t\t32767,32767,32767,32767, 103,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767, 571,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767, 458, 437, 438, 440,\n\t\t441, 371, 523, 577, 313, 574, 370, 146, 325, 315,\n\t\t234, 316, 250, 459, 251, 460, 463, 464, 211, 279,\n\t\t367, 150, 401, 455, 403, 453, 457, 402, 377, 382,\n\t\t383, 384, 385, 386, 387, 388, 389, 390, 391, 392,\n\t\t393, 394, 375, 376, 456, 434, 433, 432, 399,32767,\n\t\t32767, 400, 404, 374, 407,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767, 103,32767, 405, 406, 423, 424, 421,\n\t\t422, 425,32767, 426, 427, 428, 429,32767,32767, 302,\n\t\t32767,32767, 351, 349, 414, 415, 302,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767, 516,\n\t\t431,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767, 103,32767, 101, 518, 396, 398,\n\t\t486, 409, 410, 408, 378,32767, 493,32767, 103, 495,\n\t\t32767,32767,32767, 112,32767,32767,32767, 517,32767, 524,\n\t\t524,32767, 479, 101, 194,32767, 194, 194,32767,32767,\n\t\t32767,32767,32767,32767,32767, 585, 479, 111, 111, 111,\n\t\t111, 111, 111, 111, 111, 111, 111, 111,32767, 194,\n\t\t111,32767,32767,32767, 101, 194, 194, 194, 194, 194,\n\t\t194, 194, 194, 194, 194, 189,32767, 260, 262, 103,\n\t\t539, 194,32767, 498,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767, 491,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767, 479, 419, 139,32767, 139, 524, 411, 412, 413,\n\t\t481, 524, 524, 524, 298, 281,32767,32767,32767,32767,\n\t\t496, 496, 101, 101, 101, 101, 491,32767,32767, 112,\n\t\t100, 100, 100, 100, 100, 104, 102,32767,32767,32767,\n\t\t32767, 100,32767, 102, 102,32767,32767, 217, 208, 215,\n\t\t102,32767, 543, 544, 215, 102, 219, 219, 219, 239,\n\t\t239, 470, 304, 102, 100, 102, 102, 196, 304, 304,\n\t\t32767, 102, 470, 304, 470, 304, 198, 304, 304, 304,\n\t\t470, 304,32767, 102, 304, 210, 100, 100, 304,32767,\n\t\t32767,32767, 481,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767, 511,32767, 528,\n\t\t541, 417, 418, 420, 526, 442, 443, 444, 445, 446,\n\t\t447, 448, 450, 573,32767, 485,32767,32767,32767,32767,\n\t\t324, 583,32767, 583,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767, 584,32767, 524,32767,32767,32767,32767, 416, 9,\n\t\t76, 43, 44, 52, 58, 502, 503, 504, 505, 499,\n\t\t500, 506, 501,32767,32767, 507, 549,32767,32767, 525,\n\t\t576,32767,32767,32767,32767,32767,32767, 139,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767, 511,32767,\n\t\t137,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767, 524,32767,32767,32767, 300, 301,32767,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767, 524,32767,32767,32767, 283, 284,32767,\n\t\t32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767,32767, 278,32767,32767, 366,32767,32767,32767,\n\t\t32767, 345,32767,32767,32767,32767,32767,32767,32767,32767,\n\t\t32767,32767, 152, 152, 3, 3, 327, 152, 152, 152,\n\t\t327, 152, 327, 327, 327, 152, 152, 152, 152, 152,\n\t\t152, 272, 184, 254, 257, 239, 239, 152, 337, 152\n\t];\n\n\tPHP.Parser.prototype.yygoto = [\n\t\t194, 194, 670, 422, 643, 463, 1264, 1265, 1022, 416,\n\t\t308, 309, 329, 563, 314, 421, 330, 423, 622, 801,\n\t\t678, 637, 586, 651, 652, 653, 165, 165, 165, 165,\n\t\t218, 195, 191, 191, 175, 177, 213, 191, 191, 191,\n\t\t191, 191, 192, 192, 192, 192, 192, 192, 186, 187,\n\t\t188, 189, 190, 215, 213, 216, 521, 522, 412, 523,\n\t\t525, 526, 527, 528, 529, 530, 531, 532, 1091, 166,\n\t\t167, 168, 193, 169, 170, 171, 164, 172, 173, 174,\n\t\t176, 212, 214, 217, 235, 238, 241, 242, 244, 255,\n\t\t256, 257, 258, 259, 260, 261, 263, 264, 265, 266,\n\t\t274, 275, 311, 312, 313, 417, 418, 419, 568, 219,\n\t\t220, 221, 222, 223, 224, 225, 226, 227, 228, 229,\n\t\t230, 231, 232, 233, 178, 234, 179, 196, 197, 198,\n\t\t236, 186, 187, 188, 189, 190, 215, 1091, 199, 180,\n\t\t181, 182, 200, 196, 183, 237, 201, 199, 163, 202,\n\t\t203, 184, 204, 205, 206, 185, 207, 208, 209, 210,\n\t\t211, 323, 323, 323, 323, 827, 608, 608, 824, 547,\n\t\t538, 342, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,\n\t\t1221, 1221, 1239, 1239, 288, 288, 288, 288, 1239, 1239,\n\t\t1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 388, 538,\n\t\t547, 556, 557, 395, 566, 588, 602, 603, 832, 825,\n\t\t880, 875, 876, 889, 15, 833, 877, 830, 878, 879,\n\t\t831, 799, 251, 251, 883, 919, 992, 1000, 1004, 1001,\n\t\t1005, 1237, 1237, 938, 1043, 1039, 1040, 1237, 1237, 1237,\n\t\t1237, 1237, 1237, 1237, 1237, 1237, 1237, 858, 248, 248,\n\t\t248, 248, 250, 252, 533, 533, 533, 533, 487, 590,\n\t\t488, 1190, 1190, 997, 1190, 997, 494, 1290, 1290, 560,\n\t\t997, 997, 997, 997, 997, 997, 997, 997, 997, 997,\n\t\t997, 997, 1261, 1261, 1290, 1261, 340, 1190, 930, 402,\n\t\t677, 1279, 1190, 1190, 1190, 1190, 959, 345, 1190, 1190,\n\t\t1190, 1271, 1271, 1271, 1271, 606, 640, 345, 345, 1273,\n\t\t1273, 1273, 1273, 820, 820, 805, 896, 884, 840, 885,\n\t\t897, 345, 345, 5, 345, 6, 1306, 384, 535, 535,\n\t\t559, 535, 415, 852, 597, 1257, 839, 540, 524, 524,\n\t\t345, 1289, 1289, 642, 524, 524, 524, 524, 524, 524,\n\t\t524, 524, 524, 524, 445, 805, 1140, 805, 1289, 932,\n\t\t932, 932, 932, 1063, 1064, 445, 926, 933, 386, 390,\n\t\t548, 587, 591, 1030, 1292, 331, 554, 1259, 1259, 1030,\n\t\t704, 621, 623, 823, 641, 1250, 319, 303, 660, 664,\n\t\t973, 668, 676, 969, 429, 553, 962, 936, 936, 934,\n\t\t936, 703, 601, 537, 971, 966, 343, 344, 663, 817,\n\t\t595, 609, 612, 613, 614, 615, 634, 635, 636, 680,\n\t\t439, 1186, 845, 454, 454, 439, 439, 1266, 1267, 820,\n\t\t901, 1079, 454, 394, 539, 551, 1183, 605, 540, 539,\n\t\t842, 551, 978, 272, 387, 618, 619, 981, 536, 536,\n\t\t844, 707, 646, 957, 567, 457, 458, 459, 838, 850,\n\t\t254, 254, 1297, 1298, 400, 401, 976, 976, 464, 649,\n\t\t1182, 650, 1028, 404, 405, 406, 1187, 661, 424, 1032,\n\t\t407, 564, 600, 815, 338, 424, 854, 848, 853, 841,\n\t\t1027, 1031, 1009, 1002, 1006, 1003, 1007, 1185, 941, 1188,\n\t\t1247, 1248, 943, 0, 1074, 439, 439, 439, 439, 439,\n\t\t439, 439, 439, 439, 439, 439, 0, 468, 439, 585,\n\t\t1056, 931, 681, 667, 667, 0, 495, 673, 1054, 1171,\n\t\t912, 0, 0, 1172, 1175, 913, 1176, 0, 0, 0,\n\t\t0, 0, 0, 1072, 857\n\t];\n\n\tPHP.Parser.prototype.yygcheck = [\n\t\t42, 42, 72, 65, 65, 166, 166, 166, 119, 65,\n\t\t65, 65, 65, 65, 65, 65, 65, 65, 65, 7,\n\t\t9, 84, 122, 84, 84, 84, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 23, 23, 23, 23, 15, 104, 104, 26, 75,\n\t\t75, 93, 104, 104, 104, 104, 104, 104, 104, 104,\n\t\t104, 104, 160, 160, 24, 24, 24, 24, 160, 160,\n\t\t160, 160, 160, 160, 160, 160, 160, 160, 75, 75,\n\t\t75, 75, 75, 75, 75, 75, 75, 75, 15, 27,\n\t\t15, 15, 15, 15, 75, 15, 15, 15, 15, 15,\n\t\t15, 6, 5, 5, 15, 87, 87, 87, 87, 87,\n\t\t87, 161, 161, 49, 15, 15, 15, 161, 161, 161,\n\t\t161, 161, 161, 161, 161, 161, 161, 45, 5, 5,\n\t\t5, 5, 5, 5, 103, 103, 103, 103, 147, 103,\n\t\t147, 72, 72, 72, 72, 72, 147, 173, 173, 162,\n\t\t72, 72, 72, 72, 72, 72, 72, 72, 72, 72,\n\t\t72, 72, 122, 122, 173, 122, 169, 72, 89, 89,\n\t\t89, 171, 72, 72, 72, 72, 99, 14, 72, 72,\n\t\t72, 9, 9, 9, 9, 55, 55, 14, 14, 122,\n\t\t122, 122, 122, 22, 22, 12, 72, 64, 35, 64,\n\t\t72, 14, 14, 46, 14, 46, 14, 61, 19, 19,\n\t\t100, 19, 13, 35, 13, 122, 35, 14, 163, 163,\n\t\t14, 172, 172, 63, 163, 163, 163, 163, 163, 163,\n\t\t163, 163, 163, 163, 19, 12, 143, 12, 172, 19,\n\t\t19, 19, 19, 136, 136, 19, 19, 19, 58, 58,\n\t\t58, 58, 58, 122, 172, 29, 48, 122, 122, 122,\n\t\t48, 48, 48, 25, 48, 14, 159, 159, 48, 48,\n\t\t48, 48, 48, 48, 109, 9, 25, 25, 25, 25,\n\t\t25, 25, 9, 25, 25, 25, 93, 93, 14, 18,\n\t\t79, 79, 79, 79, 79, 79, 79, 79, 79, 79,\n\t\t23, 20, 39, 141, 141, 23, 23, 168, 168, 22,\n\t\t17, 17, 141, 28, 9, 9, 152, 17, 14, 9,\n\t\t37, 9, 17, 24, 9, 83, 83, 106, 24, 24,\n\t\t17, 95, 17, 17, 9, 9, 9, 9, 17, 9,\n\t\t5, 5, 9, 9, 80, 80, 103, 103, 149, 80,\n\t\t17, 80, 121, 80, 80, 80, 20, 80, 113, 124,\n\t\t80, 2, 2, 20, 80, 113, 41, 9, 16, 16,\n\t\t16, 16, 113, 113, 113, 113, 113, 14, 16, 20,\n\t\t20, 20, 92, -1, 139, 23, 23, 23, 23, 23,\n\t\t23, 23, 23, 23, 23, 23, -1, 82, 23, 8,\n\t\t8, 16, 8, 8, 8, -1, 8, 8, 8, 78,\n\t\t78, -1, -1, 78, 78, 78, 78, -1, -1, -1,\n\t\t-1, -1, -1, 16, 16\n\t];\n\n\tPHP.Parser.prototype.yygbase = [\n\t\t0, 0, -203, 0, 0, 221, 208, 10, 512, 7,\n\t\t0, 0, 24, 1, 5, -174, 47, -23, 105, 61,\n\t\t38, 0, -10, 158, 181, 379, 164, 205, 102, 84,\n\t\t0, 0, 0, 0, 0, -43, 0, 107, 0, 104,\n\t\t0, 54, -1, 0, 0, 235, -384, 0, -307, 210,\n\t\t0, 0, 0, 0, 0, 266, 0, 0, 324, 0,\n\t\t0, 286, 0, 103, 298, -236, 0, 0, 0, 0,\n\t\t0, 0, -6, 0, 0, -167, 0, 0, 129, 62,\n\t\t-14, 0, 53, -22, -669, 0, 0, -52, 0, -11,\n\t\t0, 0, 68, -299, 0, 52, 0, 0, 0, 262,\n\t\t288, 0, 0, 227, -73, 0, 87, 0, 0, 118,\n\t\t0, 0, 0, 209, 0, 0, 0, 0, 0, 6,\n\t\t0, 108, 15, 0, 46, 0, 0, 0, 0, 0,\n\t\t0, 0, 0, 0, 0, 0, 91, 0, 0, 69,\n\t\t0, 390, 0, 86, 0, 0, 0, -224, 0, 37,\n\t\t0, 0, 77, 0, 0, 0, 0, 0, 0, 70,\n\t\t-57, -8, 241, 99, 0, 0, -290, 0, 65, 257,\n\t\t0, 261, 39, -35, 0, 0\n\t];\n\n\tPHP.Parser.prototype.yygdefault = [\n\t\t-32768, 499, 711, 4, 712, 905, 788, 797, 583, 515,\n\t\t679, 339, 610, 413, 1255, 882, 1078, 565, 816, 1199,\n\t\t1207, 446, 819, 324, 701, 864, 865, 866, 391, 376,\n\t\t382, 389, 632, 611, 481, 851, 442, 843, 473, 846,\n\t\t441, 855, 162, 410, 497, 859, 3, 861, 542, 892,\n\t\t377, 869, 378, 656, 871, 550, 873, 874, 385, 392,\n\t\t393, 1083, 558, 607, 886, 243, 552, 887, 375, 888,\n\t\t895, 380, 383, 665, 453, 492, 486, 403, 1058, 594,\n\t\t629, 450, 467, 617, 616, 604, 466, 425, 408, 928,\n\t\t474, 451, 942, 341, 950, 709, 1090, 624, 476, 958,\n\t\t625, 965, 968, 516, 517, 465, 980, 269, 983, 477,\n\t\t1015, 647, 648, 995, 626, 627, 1013, 460, 584, 1021,\n\t\t443, 1029, 1243, 444, 1033, 262, 1036, 276, 409, 426,\n\t\t1041, 1042, 8, 1048, 671, 672, 10, 273, 496, 1073,\n\t\t666, 440, 1089, 430, 1159, 1161, 544, 478, 1179, 1178,\n\t\t659, 493, 1184, 1246, 438, 518, 461, 310, 519, 302,\n\t\t327, 307, 534, 289, 328, 520, 462, 1252, 1260, 325,\n\t\t30, 1280, 1291, 335, 562, 599\n\t];\n\n\tPHP.Parser.prototype.yylhs = [\n\t\t0, 1, 3, 3, 2, 5, 5, 6, 6, 6,\n\t\t6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n\t\t6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n\t\t6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n\t\t6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n\t\t6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n\t\t6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n\t\t6, 6, 6, 6, 6, 6, 6, 6, 7, 7,\n\t\t7, 7, 7, 7, 7, 7, 8, 8, 9, 10,\n\t\t11, 11, 11, 12, 12, 13, 13, 14, 15, 15,\n\t\t16, 16, 17, 17, 18, 18, 21, 21, 22, 23,\n\t\t23, 24, 24, 4, 4, 4, 4, 4, 4, 4,\n\t\t4, 4, 4, 4, 29, 29, 30, 30, 32, 34,\n\t\t34, 28, 36, 36, 33, 38, 38, 35, 35, 37,\n\t\t37, 39, 39, 31, 40, 40, 41, 43, 44, 44,\n\t\t45, 46, 46, 48, 47, 47, 47, 47, 49, 49,\n\t\t49, 49, 49, 49, 49, 49, 49, 49, 49, 49,\n\t\t49, 49, 49, 49, 49, 49, 49, 49, 49, 49,\n\t\t49, 49, 25, 25, 68, 68, 71, 71, 70, 69,\n\t\t69, 62, 74, 74, 75, 75, 76, 76, 77, 77,\n\t\t78, 78, 26, 26, 27, 27, 27, 27, 86, 86,\n\t\t88, 88, 81, 81, 81, 82, 82, 85, 85, 83,\n\t\t83, 89, 90, 90, 56, 56, 64, 64, 67, 67,\n\t\t67, 66, 91, 91, 92, 57, 57, 57, 57, 93,\n\t\t93, 94, 94, 95, 95, 96, 97, 97, 98, 98,\n\t\t99, 99, 54, 54, 50, 50, 101, 52, 52, 102,\n\t\t51, 51, 53, 53, 63, 63, 63, 63, 79, 79,\n\t\t105, 105, 107, 107, 108, 108, 108, 108, 106, 106,\n\t\t106, 110, 110, 110, 110, 87, 87, 113, 113, 113,\n\t\t111, 111, 114, 114, 112, 112, 115, 115, 116, 116,\n\t\t116, 116, 109, 109, 80, 80, 80, 20, 20, 20,\n\t\t118, 117, 117, 119, 119, 119, 119, 59, 120, 120,\n\t\t121, 60, 123, 123, 124, 124, 125, 125, 84, 126,\n\t\t126, 126, 126, 126, 126, 131, 131, 132, 132, 133,\n\t\t133, 133, 133, 133, 134, 135, 135, 130, 130, 127,\n\t\t127, 129, 129, 137, 137, 136, 136, 136, 136, 136,\n\t\t136, 136, 128, 138, 138, 140, 139, 139, 61, 100,\n\t\t141, 141, 55, 55, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 42, 42, 42,\n\t\t42, 42, 42, 42, 42, 42, 42, 148, 142, 142,\n\t\t147, 147, 150, 151, 151, 152, 153, 153, 153, 19,\n\t\t19, 72, 72, 72, 72, 143, 143, 143, 143, 155,\n\t\t155, 144, 144, 146, 146, 146, 149, 149, 160, 160,\n\t\t160, 160, 160, 160, 160, 160, 160, 161, 161, 104,\n\t\t163, 163, 163, 163, 145, 145, 145, 145, 145, 145,\n\t\t145, 145, 58, 58, 158, 158, 158, 158, 164, 164,\n\t\t154, 154, 154, 165, 165, 165, 165, 165, 165, 73,\n\t\t73, 65, 65, 65, 65, 122, 122, 122, 122, 168,\n\t\t167, 157, 157, 157, 157, 157, 157, 157, 156, 156,\n\t\t156, 166, 166, 166, 166, 103, 162, 170, 170, 169,\n\t\t169, 171, 171, 171, 171, 171, 171, 171, 171, 159,\n\t\t159, 159, 159, 173, 174, 172, 172, 172, 172, 172,\n\t\t172, 172, 172, 175, 175, 175, 175\n\t];\n\n\tPHP.Parser.prototype.yylen = [\n\t\t1, 1, 2, 0, 1, 1, 1, 1, 1, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n\t\t0, 1, 0, 1, 1, 2, 1, 3, 4, 1,\n\t\t2, 0, 1, 1, 1, 1, 1, 3, 5, 4,\n\t\t3, 4, 2, 3, 1, 1, 7, 6, 2, 3,\n\t\t1, 2, 3, 1, 2, 3, 1, 1, 3, 1,\n\t\t3, 1, 2, 2, 3, 1, 3, 2, 3, 1,\n\t\t3, 2, 0, 1, 1, 1, 1, 1, 3, 7,\n\t\t10, 5, 7, 9, 5, 3, 3, 3, 3, 3,\n\t\t3, 1, 2, 5, 7, 9, 6, 5, 6, 3,\n\t\t2, 1, 1, 1, 0, 2, 1, 3, 8, 0,\n\t\t4, 2, 1, 3, 0, 1, 0, 1, 0, 1,\n\t\t3, 1, 8, 9, 8, 7, 6, 8, 0, 2,\n\t\t0, 2, 1, 2, 2, 0, 2, 0, 2, 0,\n\t\t2, 2, 1, 3, 1, 4, 1, 4, 1, 1,\n\t\t4, 2, 1, 3, 3, 3, 4, 4, 5, 0,\n\t\t2, 4, 3, 1, 1, 7, 0, 2, 1, 3,\n\t\t3, 4, 1, 4, 0, 2, 5, 0, 2, 6,\n\t\t0, 2, 0, 3, 1, 2, 1, 1, 2, 0,\n\t\t1, 3, 0, 2, 1, 1, 1, 1, 6, 8,\n\t\t6, 1, 2, 1, 1, 1, 1, 1, 1, 1,\n\t\t3, 3, 3, 3, 3, 3, 3, 3, 1, 2,\n\t\t1, 1, 0, 1, 0, 2, 2, 2, 4, 3,\n\t\t1, 1, 3, 1, 2, 2, 3, 2, 3, 1,\n\t\t1, 2, 3, 1, 1, 3, 2, 0, 1, 5,\n\t\t5, 10, 3, 5, 1, 1, 3, 0, 2, 4,\n\t\t5, 4, 4, 4, 3, 1, 1, 1, 1, 1,\n\t\t1, 0, 1, 1, 2, 1, 1, 1, 1, 1,\n\t\t1, 1, 2, 1, 3, 1, 1, 3, 2, 2,\n\t\t3, 1, 0, 1, 1, 3, 3, 3, 4, 1,\n\t\t1, 2, 3, 3, 3, 3, 3, 3, 3, 3,\n\t\t3, 3, 3, 3, 3, 2, 2, 2, 2, 3,\n\t\t3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n\t\t3, 3, 3, 3, 3, 3, 3, 2, 2, 2,\n\t\t2, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n\t\t3, 3, 5, 4, 3, 4, 4, 2, 2, 4,\n\t\t2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n\t\t2, 1, 3, 2, 1, 2, 4, 2, 2, 8,\n\t\t9, 8, 9, 9, 10, 9, 10, 8, 3, 2,\n\t\t0, 4, 2, 1, 3, 2, 2, 2, 4, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 3, 1, 1,\n\t\t1, 0, 3, 0, 1, 1, 0, 1, 1, 1,\n\t\t1, 1, 1, 1, 1, 1, 1, 3, 3, 3,\n\t\t4, 1, 1, 3, 1, 1, 1, 1, 1, 3,\n\t\t2, 3, 0, 1, 1, 3, 1, 1, 1, 1,\n\t\t1, 3, 1, 1, 4, 4, 1, 4, 4, 0,\n\t\t1, 1, 1, 3, 3, 1, 4, 2, 2, 1,\n\t\t3, 1, 4, 4, 3, 3, 3, 3, 1, 3,\n\t\t1, 1, 3, 1, 1, 4, 1, 1, 1, 3,\n\t\t1, 1, 2, 1, 3, 4, 3, 2, 0, 2,\n\t\t2, 1, 2, 1, 1, 1, 4, 3, 3, 3,\n\t\t3, 6, 3, 1, 1, 2, 1\n\t];\n\n\n\n\texports.PHP = PHP;\n});\n\nace.define(\"ace/mode/php_worker\",[], function(require, exports, module) {\n\"use strict\";\n\nvar oop = require(\"../lib/oop\");\nvar Mirror = require(\"../worker/mirror\").Mirror;\nvar PHP = require(\"./php/php\").PHP;\n\nvar PhpWorker = exports.PhpWorker = function(sender) {\n Mirror.call(this, sender);\n this.setTimeout(500);\n};\n\noop.inherits(PhpWorker, Mirror);\n\n(function() {\n this.setOptions = function(opts) {\n this.inlinePhp = opts && opts.inline;\n };\n \n this.onUpdate = function() {\n var value = this.doc.getValue();\n var errors = [];\n if (this.inlinePhp)\n value = \"<?\" + value + \"?>\";\n\n var tokens = PHP.Lexer(value, {short_open_tag: 1});\n try {\n new PHP.Parser(tokens);\n } catch(e) {\n errors.push({\n row: e.line - 1,\n column: null,\n text: e.message.charAt(0).toUpperCase() + e.message.substring(1),\n type: \"error\"\n });\n }\n\n this.sender.emit(\"annotate\", errors);\n };\n\n}).call(PhpWorker.prototype);\n\n});\n"],"names":["window","msgs","message","file","line","col","err","parentId","moduleName","chunks","base","previous","id","module","path","resolveModuleId","paths","testPath","tail","alias","i","deps","factory","req","childId","returnExports","dep","topLevelNamespaces","EventEmitter","oop","Sender","data","callbackId","name","main","sender","e","msg","clazz","this","require","exports","ctor","superCtor","obj","mixin","key","proto","docLines","delta","doNotValidate","row","startColumn","lines","args","endColumn","endRow","stopPropagation","preventDefault","eventName","listeners","defaultHandler","callback","_self","newCallback","resolve","handlers","old","disabled","capturing","index","comparePoints","p1","p2","Range","startRow","range","column","cmp","end","start","p","firstRow","lastRow","session","screenPosStart","screenPosEnd","Anchor","doc","point","$getTransformedPoint","noClip","pos","$pointsInOrder","point1","point2","equalPointsInOrder","bColIsAfter","moveIfEqual","deltaIsInsert","deltaRowShift","deltaColShift","deltaStart","deltaEnd","applyDelta","Document","textOrLines","text","len","match","newLineMode","l","position","length","deleteFirstNewLine","deleteLastNewLine","startCol","endCol","deletedLines","deltas","isInsert","docLength","MAX","from","to","chunk","newlineLength","a","string","count","result","trimBeginRegexp","trimEndRegexp","copy","array","deepCopy","arr","map","props","value","str","regExp","matches","fcn","timer","deferred","timeout","defaultTimeout","lang","Mirror","deferredUpdate","d","PHP","src","ini","heredoc","heredocEndAllowed","stateStack","stackPos","swapState","state","pushState","popState","shortOpenTag","openTag","inlineHtml","labelRegexPart","stringRegexPart","quote","sharedStringTokens","re","results","cancel","tokens","token","resultString","preprocessedTokens","evaluate","yybase","yydefault","yycheck","yyaction","yylen","yygbase","yygcheck","yyp","yygoto","yylhs","terminals","translate","yygdefault","tokenId","attributeStack","yyn","origTokenId","attr","expected","expectedString","tmp","constants","current","constant","tokenMap","PhpWorker","opts","errors"],"mappings":"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,OAAO,UAAU,YAAc,IACnCA,EAAI,OAAO,UAAU,gBAAkB,IACvCA,EAAI,OAAO,UAAU,UAAY,IACjCA,EAAI,OAAO,UAAU,cAAgB,IACrCA,EAAI,OAAO,UAAU,WAAa,IAClCA,EAAI,OAAO,UAAU,qBAAuB,IAC5CA,EAAI,OAAO,UAAU,YAAc,IACnCA,EAAI,OAAO,UAAU,aAAe,IACpCA,EAAI,OAAO,UAAU,UAAY,CAChC,MACA,QACA,UACA,YACA,iBACA,SACA,YACA,iBACA,MACA,eACA,gBACA,gBACA,UACA,UACA,iBACA,eACA,MACA,eACA,gBACA,cACA,cACA,iBACA,cACA,cACA,aACA,cACA,aACA,aACA,cACA,mBACA,MACA,MACA,aACA,eACA,gBACA,MACA,MACA,4CACA,wCACA,aACA,iBACA,iBACA,qBACA,cACA,MACA,wBACA,MACA,wBACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,eACA,MACA,QACA,QACA,aACA,gBACA,gBACA,eACA,gBACA,cACA,eACA,MACA,QACA,MACA,QACA,UACA,SACA,OACA,WACA,SACA,UACA,YACA,YACA,WACA,mBACA,aACA,eACA,gBACA,4BACA,6BACA,SACA,OACA,UACA,aACA,QACA,WACA,YACA,eACA,YACA,eACA,OACA,WACA,UACA,cACA,SACA,YACA,UACA,aACA,SACA,aACA,OACA,UACA,WACA,QACA,UACA,YACA,QACA,cACA,WACA,WACA,aACA,UACA,YACA,cACA,WACA,aACA,QACA,UACA,UACA,UACA,kBACA,UACA,UACA,cACA,SACA,YACA,eACA,oBACA,6BACA,SACA,UACA,aACA,YACA,YACA,aACA,WACA,SACA,SACA,kBACA,gBACA,6BACA,eACA,yBACA,cACA,SACA,QACA,iBACA,aACA,yBACA,mBACA,kBACA,cACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,kBACA,YACA,gBACA,aACA,uBACA,cACA,eACE,KACJ,EACCA,EAAI,OAAO,UAAU,UAAY,CAChC,EAAI,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACpD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAO,GAAK,IAAM,IAAM,IAAO,GAAK,IAAM,IACtD,IAAM,IAAO,GAAM,GAAO,EAAK,GAAM,GAAM,GAAK,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAO,GAAK,IACtD,GAAM,GAAM,GAAM,GAAM,GAAK,IAAM,IAAM,IAAM,IAAM,IACrD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAO,GAAK,IAAM,IAAO,GAAK,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAO,GAAK,IAAO,GAAK,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,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AAM,IAAO,GAAK,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,KAAM,KAAM,KAAM,KACrD,KAAM,KAAM,KAAM,KAAM,KAAO,IAAM,IAAM,IAAM,IAAM,IACvD,IAAM,IAAK,KAAO,IAAK,KAAM,KAAO,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAO,GAAK,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAO,GAAK,IAAM,IAA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AAM,IAAM,IACpD,IAAQ,EAAM,EAAI,IAAQ,EAAM,EAAM,EAAI,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAQ,EAAM,EAAM,EAAM,EACxD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAI,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACpD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IA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,MAAM,MAAQ,IACxD,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MACpD,MAAM,MAAM,MAAM,MAAQ,IAAI,MAAQ,IAAM,IAAM,IAAM,IACxD,IAAM,IAAM,IAAM,IAAM,IAAI,MAAQ,IAAI,MAAQ,IAAM,IACtD,MAAM,MAAM,MAAQ,IAAI,MAAM,MAAM,MAAQ,IAAI,MAAQ,IACxD,IAAI,MAAQ,IAAM,IAAM,IAAI,MAAQ,IAAM,IAAI,MAAM,MACpD,MAAM,MAAM,MAAM,MAAM,MAAQ,IAAM,IAAM,IAAM,IAAM,IACxD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAI,MAAQ,IACtD,IAAI,MAAM,MAAM,MAAQ,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAI,MAAQ,IAAM,IAAM,IACtD,IAAM,IAAI,MAAQ,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MACpD,MAAM,MAAM,MAAM,MAAM,MAAM,MAAQ,IAAI,MAAM,MAAM,MACtD,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MACtD,MAAQ,IAAM,IAAM,IAAI,MAAQ,IAAM,IAAM,IAAM,IAAM,IACxD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAI,MAAM,MAAM,MAAM,MACpD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAI,MAAM,MAAQ,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAI,MAAM,MAAM,MACpD,MAAQ,IAAI,MAAQ,IAAM,IAAI,MAAM,MAAQ,IAAM,IAAM,IACxD,IAAI,MAAQ,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,MAAQ,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACxD,IAAM,IAAI,MAAQ,IAAM,IAAM,IAAM,IAAM,IAAM,IAAI,MACpD,MAAM,MAAQ,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MACtD,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAQ,IAAI,MAAQ,IACxD,IAAM,IAAM,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M,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAK,IAAO,GAAM,GAAK,IACrD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAO,GAAM,GAAK,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GACvD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAO,GAAK,IAAM,IACtD,IAAO,GAAK,IAAM,IAAM,IAAM,IAAM,IAAM,IAAO,GAAK,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAO,GAAK,IACtD,IAAM,IAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACvD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GACtD,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAK,IAAM,IAAM,IACrD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAO,GACvD,GAAM,GAAM,GAAM,GAAM,GAAK,IAAM,IAAM,IAAM,IAAM,IACrD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAO,GAAM,GAAK,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAO,GACvD,GAAM,GAAM,GAAM,GAAM,GAAK,IAAM,IAAM,IAAM,IAAM,IACrD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACtD,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GACtC,EAECA,EAAI,OAAO,UAAU,MAAQ,CAC5B,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,GAAO,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACvD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAK,GAAO,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAK,GAAO,EAAK,GAAO,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACtD,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CACtC,EAIC/G,EAAQ,IAAM+G,CACf,CAAC,EAED,IAAI,OAAO,sBAAsB,CAAA,EAAI,SAAShH,EAASC,EAAS5B,EAAQ,CAGxE,IAAIgB,EAAMW,EAAQ,YAAY,EAC1B6G,EAAS7G,EAAQ,kBAAkB,EAAE,OACrCgH,EAAMhH,EAAQ,WAAW,EAAE,IAE3BmK,EAAYlK,EAAQ,UAAY,SAASN,EAAQ,CACjDkH,EAAO,KAAK,KAAMlH,CAAM,EACxB,KAAK,WAAW,GAAG,CACvB,EAEAN,EAAI,SAAS8K,EAAWtD,CAAM,EAE7B,UAAW,CACR,KAAK,WAAa,SAASuD,EAAM,CAC7B,KAAK,UAAYA,GAAQA,EAAK,MACtC,EAEI,KAAK,SAAW,UAAW,CACvB,IAAIjE,EAAQ,KAAK,IAAI,SAAQ,EACzBkE,EAAS,CAAA,EACT,KAAK,YACLlE,EAAQ,KAAOA,EAAQ,MAE3B,IAAIkC,EAASrB,EAAI,MAAMb,EAAO,CAAC,eAAgB,CAAC,CAAC,EACjD,GAAI,CACA,IAAIa,EAAI,OAAOqB,CAAM,CACxB,OAAOzI,EAAN,CACEyK,EAAO,KAAK,CACR,IAAKzK,EAAE,KAAO,EACd,OAAQ,KACR,KAAMA,EAAE,QAAQ,OAAO,CAAC,EAAE,YAAW,EAAKA,EAAE,QAAQ,UAAU,CAAC,EAC/D,KAAM,OACtB,CAAa,CACJ,CAED,KAAK,OAAO,KAAK,WAAYyK,CAAM,CAC3C,CAEA,EAAG,KAAKF,EAAU,SAAS,CAE3B,CAAC","x_google_ignoreList":[0]}