'},_getCacheCanvasDimensions:function(){var t=this.callSuper("_getCacheCanvasDimensions"),e=this.fontSize;return t.width+=e*t.zoomX,t.height+=e*t.zoomY,t},_render:function(t){var e=this.path;e&&!e.isNotVisible()&&e._render(t),this._setTextStyles(t),this._renderTextLinesBackground(t),this._renderTextDecoration(t,"underline"),this._renderText(t),this._renderTextDecoration(t,"overline"),this._renderTextDecoration(t,"linethrough")},_renderText:function(t){"stroke"===this.paintFirst?(this._renderTextStroke(t),this._renderTextFill(t)):(this._renderTextFill(t),this._renderTextStroke(t))},_setTextStyles:function(t,e,i){if(t.textBaseline="alphabetical",this.path)switch(this.pathAlign){case"center":t.textBaseline="middle";break;case"ascender":t.textBaseline="top";break;case"descender":t.textBaseline="bottom"}t.font=this._getFontDeclaration(e,i)},calcTextWidth:function(){for(var t=this.getLineWidth(0),e=1,i=this._textLines.length;et&&(t=n)}return t},_renderTextLine:function(t,e,i,n,r,s){this._renderChars(t,e,i,n,r,s)},_renderTextLinesBackground:function(t){if(this.textBackgroundColor||this.styleHas("textBackgroundColor")){for(var e,i,n,r,s,o,a,l=t.fillStyle,h=this._getLeftOffset(),c=this._getTopOffset(),u=0,d=0,f=this.path,g=0,p=this._textLines.length;g=0:ia?u%=a:u<0&&(u+=a),this._setGraphemeOnPath(u,s,o),u+=s.kernedWidth}return{width:l,numOfSpaces:0}},_setGraphemeOnPath:function(t,i,n){var r=t+i.kernedWidth/2,s=this.path,o=e.util.getPointOnPath(s.path,r,s.segmentsInfo);i.renderLeft=o.x-n.x,i.renderTop=o.y-n.y,i.angle=o.angle+("right"===this.pathSide?Math.PI:0)},_getGraphemeBox:function(t,e,i,n,r){var s,o=this.getCompleteStyleDeclaration(e,i),a=n?this.getCompleteStyleDeclaration(e,i-1):{},l=this._measureChar(t,o,n,a),h=l.kernedWidth,c=l.width;0!==this.charSpacing&&(c+=s=this._getWidthOfCharSpacing(),h+=s);var u={width:c,left:0,height:o.fontSize,kernedWidth:h,deltaY:o.deltaY};if(i>0&&!r){var d=this.__charBounds[e][i-1];u.left=d.left+d.width+l.kernedWidth-l.width}return u},getHeightOfLine:function(t){if(this.__lineHeights[t])return this.__lineHeights[t];for(var e=this._textLines[t],i=this.getHeightOfChar(t,0),n=1,r=e.length;n0){var E=y+s+u;"rtl"===this.direction&&(E=this.width-E-d),h&&m&&(t.fillStyle=m,t.fillRect(E,c+C*n+o,d,this.fontSize/15)),u=f.left,d=f.width,h=g,m=v,n=r,o=a}else d+=f.kernedWidth;E=y+s+u;"rtl"===this.direction&&(E=this.width-E-d),t.fillStyle=v,g&&v&&t.fillRect(E,c+C*n+o,d-_,this.fontSize/15),b+=i}else b+=i;this._removeShadow(t)}},_getFontDeclaration:function(t,i){var n=t||this,r=this.fontFamily,s=e.Text.genericFonts.indexOf(r.toLowerCase())>-1,o=void 0===r||r.indexOf("'")>-1||r.indexOf(",")>-1||r.indexOf('"')>-1||s?n.fontFamily:'"'+n.fontFamily+'"';return[e.isLikelyNode?n.fontWeight:n.fontStyle,e.isLikelyNode?n.fontStyle:n.fontWeight,i?this.CACHE_FONT_SIZE+"px":n.fontSize+"px",o].join(" ")},render:function(t){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._shouldClearDimensionCache()&&this.initDimensions(),this.callSuper("render",t)))},_splitTextIntoLines:function(t){for(var i=t.split(this._reNewline),n=new Array(i.length),r=["\n"],s=[],o=0;o-1&&(t.underline=!0),t.textDecoration.indexOf("line-through")>-1&&(t.linethrough=!0),t.textDecoration.indexOf("overline")>-1&&(t.overline=!0),delete t.textDecoration)}r.IText=r.util.createClass(r.Text,r.Observable,{type:"i-text",selectionStart:0,selectionEnd:0,selectionColor:"rgba(17,119,255,0.3)",isEditing:!1,editable:!0,editingBorderColor:"rgba(102,153,255,0.25)",cursorWidth:2,cursorColor:"",cursorDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,_reSpace:/\s|\n/,_currentCursorOpacity:0,_selectionDirection:null,_abortCursorAnimation:!1,__widthOfSpace:[],inCompositionMode:!1,initialize:function(t,e){this.callSuper("initialize",t,e),this.initBehavior()},setSelectionStart:function(t){t=Math.max(t,0),this._updateAndFire("selectionStart",t)},setSelectionEnd:function(t){t=Math.min(t,this.text.length),this._updateAndFire("selectionEnd",t)},_updateAndFire:function(t,e){this[t]!==e&&(this._fireSelectionChanged(),this[t]=e),this._updateTextarea()},_fireSelectionChanged:function(){this.fire("selection:changed"),this.canvas&&this.canvas.fire("text:selection:changed",{target:this})},initDimensions:function(){this.isEditing&&this.initDelayedCursor(),this.clearContextTop(),this.callSuper("initDimensions")},render:function(t){this.clearContextTop(),this.callSuper("render",t),this.cursorOffsetCache={},this.renderCursorOrSelection()},_render:function(t){this.callSuper("_render",t)},clearContextTop:function(t){if(this.isEditing&&this.canvas&&this.canvas.contextTop){var e=this.canvas.contextTop,i=this.canvas.viewportTransform;e.save(),e.transform(i[0],i[1],i[2],i[3],i[4],i[5]),this.transform(e),this._clearTextArea(e),t||e.restore()}},renderCursorOrSelection:function(){if(this.isEditing&&this.canvas&&this.canvas.contextTop){var t=this._getCursorBoundaries(),e=this.canvas.contextTop;this.clearContextTop(!0),this.selectionStart===this.selectionEnd?this.renderCursor(t,e):this.renderSelection(t,e),e.restore()}},_clearTextArea:function(t){var e=this.width+4,i=this.height+4;t.clearRect(-e/2,-i/2,e,i)},_getCursorBoundaries:function(t){"undefined"===typeof t&&(t=this.selectionStart);var e=this._getLeftOffset(),i=this._getTopOffset(),n=this._getCursorBoundariesOffsets(t);return{left:e,top:i,leftOffset:n.left,topOffset:n.top}},_getCursorBoundariesOffsets:function(t){if(this.cursorOffsetCache&&"top"in this.cursorOffsetCache)return this.cursorOffsetCache;var e,i,n,r,s=0,o=0,a=this.get2DCursorLocation(t);n=a.charIndex,i=a.lineIndex;for(var l=0;l0?o:0)},"rtl"===this.direction&&(r.left*=-1),this.cursorOffsetCache=r,this.cursorOffsetCache},renderCursor:function(t,e){var i=this.get2DCursorLocation(),n=i.lineIndex,r=i.charIndex>0?i.charIndex-1:0,s=this.getValueOfPropertyAt(n,r,"fontSize"),o=this.scaleX*this.canvas.getZoom(),a=this.cursorWidth/o,l=t.topOffset,h=this.getValueOfPropertyAt(n,r,"deltaY");l+=(1-this._fontSizeFraction)*this.getHeightOfLine(n)/this.lineHeight-s*(1-this._fontSizeFraction),this.inCompositionMode&&this.renderSelection(t,e),e.fillStyle=this.cursorColor||this.getValueOfPropertyAt(n,r,"fill"),e.globalAlpha=this.__isMousedown?1:this._currentCursorOpacity,e.fillRect(t.left+t.leftOffset-a/2,l+t.top+h,a,s)},renderSelection:function(t,e){for(var i=this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,n=this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd,r=-1!==this.textAlign.indexOf("justify"),s=this.get2DCursorLocation(i),o=this.get2DCursorLocation(n),a=s.lineIndex,l=o.lineIndex,h=s.charIndex<0?0:s.charIndex,c=o.charIndex<0?0:o.charIndex,u=a;u<=l;u++){var d,f=this._getLineLeftOffset(u)||0,g=this.getHeightOfLine(u),p=0,v=0;if(u===a&&(p=this.__charBounds[a][h].left),u>=a&&u1)&&(g/=this.lineHeight);var y=t.left+f+p,b=v-p,x=g,_=0;this.inCompositionMode?(e.fillStyle=this.compositionColor||"black",x=1,_=g):e.fillStyle=this.selectionColor,"rtl"===this.direction&&(y=this.width-y-b),e.fillRect(y,t.top+t.topOffset+_,b,x),t.topOffset+=d}},getCurrentCharFontSize:function(){var t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,"fontSize")},getCurrentCharColor:function(){var t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,"fill")},_getCurrentCharIndex:function(){var t=this.get2DCursorLocation(this.selectionStart,!0),e=t.charIndex>0?t.charIndex-1:0;return{l:t.lineIndex,c:e}}}),r.IText.fromObject=function(e,i){var n=r.util.stylesFromArray(e.styles,e.text),s=Object.assign({},e,{styles:n});if(t(s),s.styles)for(var o in s.styles)for(var a in s.styles[o])t(s.styles[o][a]);r.Object._fromObject("IText",s,i,"text")}}(),function(){var t=r.util.object.clone;r.util.object.extend(r.IText.prototype,{initBehavior:function(){this.initAddedHandler(),this.initRemovedHandler(),this.initCursorSelectionHandlers(),this.initDoubleClickSimulation(),this.mouseMoveHandler=this.mouseMoveHandler.bind(this)},onDeselect:function(){this.isEditing&&this.exitEditing(),this.selected=!1},initAddedHandler:function(){var t=this;this.on("added",(function(){var e=t.canvas;e&&(e._hasITextHandlers||(e._hasITextHandlers=!0,t._initCanvasHandlers(e)),e._iTextInstances=e._iTextInstances||[],e._iTextInstances.push(t))}))},initRemovedHandler:function(){var t=this;this.on("removed",(function(){var e=t.canvas;e&&(e._iTextInstances=e._iTextInstances||[],r.util.removeFromArray(e._iTextInstances,t),0===e._iTextInstances.length&&(e._hasITextHandlers=!1,t._removeCanvasHandlers(e)))}))},_initCanvasHandlers:function(t){t._mouseUpITextHandler=function(){t._iTextInstances&&t._iTextInstances.forEach((function(t){t.__isMousedown=!1}))},t.on("mouse:up",t._mouseUpITextHandler)},_removeCanvasHandlers:function(t){t.off("mouse:up",t._mouseUpITextHandler)},_tick:function(){this._currentTickState=this._animateCursor(this,1,this.cursorDuration,"_onTickComplete")},_animateCursor:function(t,e,i,n){var r;return r={isAborted:!1,abort:function(){this.isAborted=!0}},t.animate("_currentCursorOpacity",e,{duration:i,onComplete:function(){r.isAborted||t[n]()},onChange:function(){t.canvas&&t.selectionStart===t.selectionEnd&&t.renderCursorOrSelection()},abort:function(){return r.isAborted}}),r},_onTickComplete:function(){var t=this;this._cursorTimeout1&&clearTimeout(this._cursorTimeout1),this._cursorTimeout1=setTimeout((function(){t._currentTickCompleteState=t._animateCursor(t,0,this.cursorDuration/2,"_tick")}),100)},initDelayedCursor:function(t){var e=this,i=t?0:this.cursorDelay;this.abortCursorAnimation(),this._currentCursorOpacity=1,this._cursorTimeout2=setTimeout((function(){e._tick()}),i)},abortCursorAnimation:function(){var t=this._currentTickState||this._currentTickCompleteState,e=this.canvas;this._currentTickState&&this._currentTickState.abort(),this._currentTickCompleteState&&this._currentTickCompleteState.abort(),clearTimeout(this._cursorTimeout1),clearTimeout(this._cursorTimeout2),this._currentCursorOpacity=0,t&&e&&e.clearContext(e.contextTop||e.contextContainer)},selectAll:function(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this},getSelectedText:function(){return this._text.slice(this.selectionStart,this.selectionEnd).join("")},findWordBoundaryLeft:function(t){var e=0,i=t-1;if(this._reSpace.test(this._text[i]))for(;this._reSpace.test(this._text[i]);)e++,i--;for(;/\S/.test(this._text[i])&&i>-1;)e++,i--;return t-e},findWordBoundaryRight:function(t){var e=0,i=t;if(this._reSpace.test(this._text[i]))for(;this._reSpace.test(this._text[i]);)e++,i++;for(;/\S/.test(this._text[i])&&i-1;)e++,i--;return t-e},findLineBoundaryRight:function(t){for(var e=0,i=t;!/\n/.test(this._text[i])&&i0&&nthis.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=e):(this.selectionStart=e,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===i&&this.selectionEnd===n||(this.restartCursorIfNeeded(),this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}},_setEditingProps:function(){this.hoverCursor="text",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor="text"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0},fromStringToGraphemeSelection:function(t,e,i){var n=i.slice(0,t),s=r.util.string.graphemeSplit(n).length;if(t===e)return{selectionStart:s,selectionEnd:s};var o=i.slice(t,e);return{selectionStart:s,selectionEnd:s+r.util.string.graphemeSplit(o).length}},fromGraphemeToStringSelection:function(t,e,i){var n=i.slice(0,t).join("").length;return t===e?{selectionStart:n,selectionEnd:n}:{selectionStart:n,selectionEnd:n+i.slice(t,e).join("").length}},_updateTextarea:function(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){var t=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=t.selectionStart,this.hiddenTextarea.selectionEnd=t.selectionEnd}this.updateTextareaPosition()}},updateFromTextArea:function(){if(this.hiddenTextarea){this.cursorOffsetCache={},this.text=this.hiddenTextarea.value,this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords());var t=this.fromStringToGraphemeSelection(this.hiddenTextarea.selectionStart,this.hiddenTextarea.selectionEnd,this.hiddenTextarea.value);this.selectionEnd=this.selectionStart=t.selectionEnd,this.inCompositionMode||(this.selectionStart=t.selectionStart),this.updateTextareaPosition()}},updateTextareaPosition:function(){if(this.selectionStart===this.selectionEnd){var t=this._calcTextareaPosition();this.hiddenTextarea.style.left=t.left,this.hiddenTextarea.style.top=t.top}},_calcTextareaPosition:function(){if(!this.canvas)return{x:1,y:1};var t=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(t),i=this.get2DCursorLocation(t),n=i.lineIndex,s=i.charIndex,o=this.getValueOfPropertyAt(n,s,"fontSize")*this.lineHeight,a=e.leftOffset,l=this.calcTransformMatrix(),h={x:e.left+a,y:e.top+e.topOffset+o},c=this.canvas.getRetinaScaling(),u=this.canvas.upperCanvasEl,d=u.width/c,f=u.height/c,g=d-o,p=f-o,v=u.clientWidth/d,m=u.clientHeight/f;return h=r.util.transformPoint(h,l),(h=r.util.transformPoint(h,this.canvas.viewportTransform)).x*=v,h.y*=m,h.x<0&&(h.x=0),h.x>g&&(h.x=g),h.y<0&&(h.y=0),h.y>p&&(h.y=p),h.x+=this.canvas._offset.left,h.y+=this.canvas._offset.top,{left:h.x+"px",top:h.y+"px",fontSize:o+"px",charHeight:o}},_saveEditingProps:function(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}},_restoreEditingProps:function(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor))},exitEditing:function(){var t=this._textBeforeEdit!==this.text,e=this.hiddenTextarea;return this.selected=!1,this.isEditing=!1,this.selectionEnd=this.selectionStart,e&&(e.blur&&e.blur(),e.parentNode&&e.parentNode.removeChild(e)),this.hiddenTextarea=null,this.abortCursorAnimation(),this._restoreEditingProps(),this._currentCursorOpacity=0,this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords()),this.fire("editing:exited"),t&&this.fire("modified"),this.canvas&&(this.canvas.off("mouse:move",this.mouseMoveHandler),this.canvas.fire("text:editing:exited",{target:this}),t&&this.canvas.fire("object:modified",{target:this})),this},_removeExtraneousStyles:function(){for(var t in this.styles)this._textLines[t]||delete this.styles[t]},removeStyleFromTo:function(t,e){var i,n,r=this.get2DCursorLocation(t,!0),s=this.get2DCursorLocation(e,!0),o=r.lineIndex,a=r.charIndex,l=s.lineIndex,h=s.charIndex;if(o!==l){if(this.styles[o])for(i=a;i=h&&(n[c-d]=n[u],delete n[u])}},shiftLineStyles:function(e,i){var n=t(this.styles);for(var r in this.styles){var s=parseInt(r,10);s>e&&(this.styles[s+i]=n[s],n[s-i]||delete this.styles[s])}},restartCursorIfNeeded:function(){this._currentTickState&&!this._currentTickState.isAborted&&this._currentTickCompleteState&&!this._currentTickCompleteState.isAborted||this.initDelayedCursor()},insertNewlineStyleObject:function(e,i,n,r){var s,o={},a=!1,l=this._unwrappedTextLines[e].length===i;for(var h in n||(n=1),this.shiftLineStyles(e,n),this.styles[e]&&(s=this.styles[e][0===i?i:i-1]),this.styles[e]){var c=parseInt(h,10);c>=i&&(a=!0,o[c-i]=this.styles[e][h],l&&0===i||delete this.styles[e][h])}var u=!1;for(a&&!l&&(this.styles[e+n]=o,u=!0),u&&n--;n>0;)r&&r[n-1]?this.styles[e+n]={0:t(r[n-1])}:s?this.styles[e+n]={0:t(s)}:delete this.styles[e+n],n--;this._forceClearCache=!0},insertCharStyleObject:function(e,i,n,r){this.styles||(this.styles={});var s=this.styles[e],o=s?t(s):{};for(var a in n||(n=1),o){var l=parseInt(a,10);l>=i&&(s[l+n]=o[l],o[l-n]||delete s[l])}if(this._forceClearCache=!0,r)for(;n--;)Object.keys(r[n]).length&&(this.styles[e]||(this.styles[e]={}),this.styles[e][i+n]=t(r[n]));else if(s)for(var h=s[i?i-1:1];h&&n--;)this.styles[e][i+n]=t(h)},insertNewStyleBlock:function(t,e,i){for(var n=this.get2DCursorLocation(e,!0),r=[0],s=0,o=0;o0&&(this.insertCharStyleObject(n.lineIndex,n.charIndex,r[0],i),i=i&&i.slice(r[0]+1)),s&&this.insertNewlineStyleObject(n.lineIndex,n.charIndex+r[0],s);for(o=1;o0?this.insertCharStyleObject(n.lineIndex+o,0,r[o],i):i&&this.styles[n.lineIndex+o]&&i[0]&&(this.styles[n.lineIndex+o][0]=i[0]),i=i&&i.slice(r[o]+1);r[o]>0&&this.insertCharStyleObject(n.lineIndex+o,0,r[o],i)},setSelectionStartEndWithShift:function(t,e,i){i<=t?(e===t?this._selectionDirection="left":"right"===this._selectionDirection&&(this._selectionDirection="left",this.selectionEnd=t),this.selectionStart=i):i>t&&it?this.selectionStart=t:this.selectionStart<0&&(this.selectionStart=0),this.selectionEnd>t?this.selectionEnd=t:this.selectionEnd<0&&(this.selectionEnd=0)}})}(),r.util.object.extend(r.IText.prototype,{initDoubleClickSimulation:function(){this.__lastClickTime=+new Date,this.__lastLastClickTime=+new Date,this.__lastPointer={},this.on("mousedown",this.onMouseDown)},onMouseDown:function(t){if(this.canvas){this.__newClickTime=+new Date;var e=t.pointer;this.isTripleClick(e)&&(this.fire("tripleclick",t),this._stopEvent(t.e)),this.__lastLastClickTime=this.__lastClickTime,this.__lastClickTime=this.__newClickTime,this.__lastPointer=e,this.__lastIsEditing=this.isEditing,this.__lastSelected=this.selected}},isTripleClick:function(t){return this.__newClickTime-this.__lastClickTime<500&&this.__lastClickTime-this.__lastLastClickTime<500&&this.__lastPointer.x===t.x&&this.__lastPointer.y===t.y},_stopEvent:function(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation()},initCursorSelectionHandlers:function(){this.initMousedownHandler(),this.initMouseupHandler(),this.initClicks()},doubleClickHandler:function(t){this.isEditing&&this.selectWord(this.getSelectionStartFromPointer(t.e))},tripleClickHandler:function(t){this.isEditing&&this.selectLine(this.getSelectionStartFromPointer(t.e))},initClicks:function(){this.on("mousedblclick",this.doubleClickHandler),this.on("tripleclick",this.tripleClickHandler)},_mouseDownHandler:function(t){!this.canvas||!this.editable||t.e.button&&1!==t.e.button||(this.__isMousedown=!0,this.selected&&(this.inCompositionMode=!1,this.setCursorByClick(t.e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection()))},_mouseDownHandlerBefore:function(t){!this.canvas||!this.editable||t.e.button&&1!==t.e.button||(this.selected=this===this.canvas._activeObject)},initMousedownHandler:function(){this.on("mousedown",this._mouseDownHandler),this.on("mousedown:before",this._mouseDownHandlerBefore)},initMouseupHandler:function(){this.on("mouseup",this.mouseUpHandler)},mouseUpHandler:function(t){if(this.__isMousedown=!1,!(!this.editable||this.group||t.transform&&t.transform.actionPerformed||t.e.button&&1!==t.e.button)){if(this.canvas){var e=this.canvas._activeObject;if(e&&e!==this)return}this.__lastSelected&&!this.__corner?(this.selected=!1,this.__lastSelected=!1,this.enterEditing(t.e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection()):this.selected=!0}},setCursorByClick:function(t){var e=this.getSelectionStartFromPointer(t),i=this.selectionStart,n=this.selectionEnd;t.shiftKey?this.setSelectionStartEndWithShift(i,n,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())},getSelectionStartFromPointer:function(t){for(var e,i=this.getLocalPointer(t),n=0,r=0,s=0,o=0,a=0,l=0,h=this._textLines.length;l0&&(o+=this._textLines[l-1].length+this.missingNewlineOffset(l-1));r=this._getLineLeftOffset(a)*this.scaleX,e=this._textLines[a],"rtl"===this.direction&&(i.x=this.width*this.scaleX-i.x+r);for(var c=0,u=e.length;cs||o<0?0:1);return this.flipX&&(a=r-a),a>this._text.length&&(a=this._text.length),a}}),r.util.object.extend(r.IText.prototype,{initHiddenTextarea:function(){this.hiddenTextarea=r.document.createElement("textarea"),this.hiddenTextarea.setAttribute("autocapitalize","off"),this.hiddenTextarea.setAttribute("autocorrect","off"),this.hiddenTextarea.setAttribute("autocomplete","off"),this.hiddenTextarea.setAttribute("spellcheck","false"),this.hiddenTextarea.setAttribute("data-fabric-hiddentextarea",""),this.hiddenTextarea.setAttribute("wrap","off");var t=this._calcTextareaPosition();this.hiddenTextarea.style.cssText="position: absolute; top: "+t.top+"; left: "+t.left+"; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: "+t.fontSize+";",this.hiddenTextareaContainer?this.hiddenTextareaContainer.appendChild(this.hiddenTextarea):r.document.body.appendChild(this.hiddenTextarea),r.util.addListener(this.hiddenTextarea,"keydown",this.onKeyDown.bind(this)),r.util.addListener(this.hiddenTextarea,"keyup",this.onKeyUp.bind(this)),r.util.addListener(this.hiddenTextarea,"input",this.onInput.bind(this)),r.util.addListener(this.hiddenTextarea,"copy",this.copy.bind(this)),r.util.addListener(this.hiddenTextarea,"cut",this.copy.bind(this)),r.util.addListener(this.hiddenTextarea,"paste",this.paste.bind(this)),r.util.addListener(this.hiddenTextarea,"compositionstart",this.onCompositionStart.bind(this)),r.util.addListener(this.hiddenTextarea,"compositionupdate",this.onCompositionUpdate.bind(this)),r.util.addListener(this.hiddenTextarea,"compositionend",this.onCompositionEnd.bind(this)),!this._clickHandlerInitialized&&this.canvas&&(r.util.addListener(this.canvas.upperCanvasEl,"click",this.onClick.bind(this)),this._clickHandlerInitialized=!0)},keysMap:{9:"exitEditing",27:"exitEditing",33:"moveCursorUp",34:"moveCursorDown",35:"moveCursorRight",36:"moveCursorLeft",37:"moveCursorLeft",38:"moveCursorUp",39:"moveCursorRight",40:"moveCursorDown"},keysMapRtl:{9:"exitEditing",27:"exitEditing",33:"moveCursorUp",34:"moveCursorDown",35:"moveCursorLeft",36:"moveCursorRight",37:"moveCursorRight",38:"moveCursorUp",39:"moveCursorLeft",40:"moveCursorDown"},ctrlKeysMapUp:{67:"copy",88:"cut"},ctrlKeysMapDown:{65:"selectAll"},onClick:function(){this.hiddenTextarea&&this.hiddenTextarea.focus()},onKeyDown:function(t){if(this.isEditing){var e="rtl"===this.direction?this.keysMapRtl:this.keysMap;if(t.keyCode in e)this[e[t.keyCode]](t);else{if(!(t.keyCode in this.ctrlKeysMapDown)||!t.ctrlKey&&!t.metaKey)return;this[this.ctrlKeysMapDown[t.keyCode]](t)}t.stopImmediatePropagation(),t.preventDefault(),t.keyCode>=33&&t.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}},onKeyUp:function(t){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:t.keyCode in this.ctrlKeysMapUp&&(t.ctrlKey||t.metaKey)&&(this[this.ctrlKeysMapUp[t.keyCode]](t),t.stopImmediatePropagation(),t.preventDefault(),this.canvas&&this.canvas.requestRenderAll())},onInput:function(t){var e=this.fromPaste;if(this.fromPaste=!1,t&&t.stopPropagation(),this.isEditing){var i,n,s,o,a,l=this._splitTextIntoLines(this.hiddenTextarea.value).graphemeText,h=this._text.length,c=l.length,u=c-h,d=this.selectionStart,f=this.selectionEnd,g=d!==f;if(""===this.hiddenTextarea.value)return this.styles={},this.updateFromTextArea(),this.fire("changed"),void(this.canvas&&(this.canvas.fire("text:changed",{target:this}),this.canvas.requestRenderAll()));var p=this.fromStringToGraphemeSelection(this.hiddenTextarea.selectionStart,this.hiddenTextarea.selectionEnd,this.hiddenTextarea.value),v=d>p.selectionStart;g?(i=this._text.slice(d,f),u+=f-d):c0&&(n+=(i=this.__charBounds[t][e-1]).left+i.width),n},getDownCursorOffset:function(t,e){var i=this._getSelectionForOffset(t,e),n=this.get2DCursorLocation(i),r=n.lineIndex;if(r===this._textLines.length-1||t.metaKey||34===t.keyCode)return this._text.length-i;var s=n.charIndex,o=this._getWidthBeforeCursor(r,s),a=this._getIndexOnLine(r+1,o);return this._textLines[r].slice(s).length+a+1+this.missingNewlineOffset(r)},_getSelectionForOffset:function(t,e){return t.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart},getUpCursorOffset:function(t,e){var i=this._getSelectionForOffset(t,e),n=this.get2DCursorLocation(i),r=n.lineIndex;if(0===r||t.metaKey||33===t.keyCode)return-i;var s=n.charIndex,o=this._getWidthBeforeCursor(r,s),a=this._getIndexOnLine(r-1,o),l=this._textLines[r].slice(0,s),h=this.missingNewlineOffset(r-1);return-this._textLines[r-1].length+a-l.length+(1-h)},_getIndexOnLine:function(t,e){for(var i,n,r=this._textLines[t],s=this._getLineLeftOffset(t),o=0,a=0,l=r.length;ae){n=!0;var h=s-i,c=s,u=Math.abs(h-e);o=Math.abs(c-e)=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown("Down",t)},moveCursorUp:function(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown("Up",t)},_moveCursorUpOrDown:function(t,e){var i=this["get"+t+"CursorOffset"](e,"right"===this._selectionDirection);e.shiftKey?this.moveCursorWithShift(i):this.moveCursorWithoutShift(i),0!==i&&(this.setSelectionInBoundaries(),this.abortCursorAnimation(),this._currentCursorOpacity=1,this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())},moveCursorWithShift:function(t){var e="left"===this._selectionDirection?this.selectionStart+t:this.selectionEnd+t;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),0!==t},moveCursorWithoutShift:function(t){return t<0?(this.selectionStart+=t,this.selectionEnd=this.selectionStart):(this.selectionEnd+=t,this.selectionStart=this.selectionEnd),0!==t},moveCursorLeft:function(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight("Left",t)},_move:function(t,e,i){var n;if(t.altKey)n=this["findWordBoundary"+i](this[e]);else{if(!t.metaKey&&35!==t.keyCode&&36!==t.keyCode)return this[e]+="Left"===i?-1:1,!0;n=this["findLineBoundary"+i](this[e])}if("undefined"!==typeof n&&this[e]!==n)return this[e]=n,!0},_moveLeft:function(t,e){return this._move(t,e,"Left")},_moveRight:function(t,e){return this._move(t,e,"Right")},moveCursorLeftWithoutShift:function(t){var e=!0;return this._selectionDirection="left",this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(e=this._moveLeft(t,"selectionStart")),this.selectionEnd=this.selectionStart,e},moveCursorLeftWithShift:function(t){return"right"===this._selectionDirection&&this.selectionStart!==this.selectionEnd?this._moveLeft(t,"selectionEnd"):0!==this.selectionStart?(this._selectionDirection="left",this._moveLeft(t,"selectionStart")):void 0},moveCursorRight:function(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight("Right",t)},_moveCursorLeftOrRight:function(t,e){var i="moveCursor"+t+"With";this._currentCursorOpacity=1,e.shiftKey?i+="Shift":i+="outShift",this[i](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())},moveCursorRightWithShift:function(t){return"left"===this._selectionDirection&&this.selectionStart!==this.selectionEnd?this._moveRight(t,"selectionStart"):this.selectionEnd!==this._text.length?(this._selectionDirection="right",this._moveRight(t,"selectionEnd")):void 0},moveCursorRightWithoutShift:function(t){var e=!0;return this._selectionDirection="right",this.selectionStart===this.selectionEnd?(e=this._moveRight(t,"selectionStart"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e},removeChars:function(t,e){"undefined"===typeof e&&(e=t+1),this.removeStyleFromTo(t,e),this._text.splice(t,e-t),this.text=this._text.join(""),this.set("dirty",!0),this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords()),this._removeExtraneousStyles()},insertChars:function(t,e,i,n){"undefined"===typeof n&&(n=i),n>i&&this.removeStyleFromTo(i,n);var s=r.util.string.graphemeSplit(t);this.insertNewStyleBlock(s,i,e),this._text=[].concat(this._text.slice(0,i),s,this._text.slice(n)),this.text=this._text.join(""),this.set("dirty",!0),this._shouldClearDimensionCache()&&(this.initDimensions(),this.setCoords()),this._removeExtraneousStyles()}}),function(){var t=r.util.toFixed,e=/ +/g;r.util.object.extend(r.Text.prototype,{_toSVG:function(){var t=this._getSVGLeftTopOffsets(),e=this._getSVGTextAndBg(t.textTop,t.textLeft);return this._wrapSVGTextAndBg(e)},toSVG:function(t){return this._createBaseSVGMarkup(this._toSVG(),{reviver:t,noStyle:!0,withShadow:!0})},_getSVGLeftTopOffsets:function(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}},_wrapSVGTextAndBg:function(t){var e=this.getSvgTextDecoration(this);return[t.textBgRects.join(""),'\t\t",t.textSpans.join(""),"\n"]},_getSVGTextAndBg:function(t,e){var i,n=[],r=[],s=t;this._setSVGBg(r);for(var o=0,a=this._textLines.length;o",r.util.string.escapeXml(i),""].join("")},_setSVGTextLineText:function(t,e,i,n){var s,o,a,l,h,c=this.getHeightOfLine(e),u=-1!==this.textAlign.indexOf("justify"),d="",f=0,g=this._textLines[e];n+=c*(1-this._fontSizeFraction)/this.lineHeight;for(var p=0,v=g.length-1;p<=v;p++)h=p===v||this.charSpacing,d+=g[p],a=this.__charBounds[e][p],0===f?(i+=a.kernedWidth-a.width,f+=a.width):f+=a.kernedWidth,u&&!h&&this._reSpaceAndTab.test(g[p])&&(h=!0),h||(s=s||this.getCompleteStyleDeclaration(e,p),o=this.getCompleteStyleDeclaration(e,p+1),h=r.util.hasStyleChanged(s,o,!0)),h&&(l=this._getStyleDeclaration(e,p)||{},t.push(this._createTextCharSpan(d,l,i,n)),d="",s=o,i+=f,f=0)},_pushTextBgRect:function(e,i,n,s,o,a){var l=r.Object.NUM_FRACTION_DIGITS;e.push("\t\t\n')},_setSVGTextLineBg:function(t,e,i,n){for(var r,s,o=this._textLines[e],a=this.getHeightOfLine(e)/this.lineHeight,l=0,h=0,c=this.getValueOfPropertyAt(e,0,"textBackgroundColor"),u=0,d=o.length;uthis.width&&this._set("width",this.dynamicMinWidth),-1!==this.textAlign.indexOf("justify")&&this.enlargeSpaces(),this.height=this.calcTextHeight(),this.saveState({propertySet:"_dimensionAffectingProps"}))},_generateStyleMap:function(t){for(var e=0,i=0,n=0,r={},s=0;s0?(i=0,n++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(t.graphemeText[n])&&s>0&&(i++,n++),r[s]={line:e,offset:i},n+=t.graphemeLines[s].length,i+=t.graphemeLines[s].length;return r},styleHas:function(t,i){if(this._styleMap&&!this.isWrapping){var n=this._styleMap[i];n&&(i=n.line)}return e.Text.prototype.styleHas.call(this,t,i)},isEmptyStyles:function(t){if(!this.styles)return!0;var e,i,n=0,r=!1,s=this._styleMap[t],o=this._styleMap[t+1];for(var a in s&&(t=s.line,n=s.offset),o&&(r=o.line===t,e=o.offset),i="undefined"===typeof t?this.styles:{line:this.styles[t]})for(var l in i[a])if(l>=n&&(!r||ln&&!v?(a.push(l),l=[],s=f,v=!0):s+=m,v||o||l.push(d),l=l.concat(c),g=o?0:this._measureWord([d],i,u),u++,v=!1,f>p&&(p=f);return y&&a.push(l),p+r>this.dynamicMinWidth&&(this.dynamicMinWidth=p-m+r),a},isEndOfWrapping:function(t){return!this._styleMap[t+1]||this._styleMap[t+1].line!==this._styleMap[t].line},missingNewlineOffset:function(t){return this.splitByGrapheme?this.isEndOfWrapping(t)?1:0:1},_splitTextIntoLines:function(t){for(var i=e.Text.prototype._splitTextIntoLines.call(this,t),n=this._wrapText(i.lines,this.width),r=new Array(n.length),s=0;s{var n=i(17174),r=i(85157);t.exports=function t(e,i,s,o,a){var l=-1,h=e.length;for(s||(s=r),a||(a=[]);++l0&&s(c)?i>1?t(c,i-1,s,o,a):n(a,c):o||(a[a.length]=c)}return a}},32684:(t,e,i)=>{var n=i(31534),r=i(10207),s=i(25472),o=i(6996);t.exports=function(t,e){return e=n(e,t),null==(t=s(t,e))||delete t[o(r(e))]}},96274:(t,e,i)=>{var n=i(39010);t.exports=function(t){return n(t)?void 0:t}},65573:(t,e,i)=>{var n=i(83298),r=i(60485),s=i(37232);t.exports=function(t){return s(r(t,void 0,n),t+"")}},85157:(t,e,i)=>{var n=i(62279),r=i(38492),s=i(46296),o=n?n.isConcatSpreadable:void 0;t.exports=function(t){return s(t)||r(t)||!!(o&&t&&t[o])}},25472:(t,e,i)=>{var n=i(8013),r=i(12287);t.exports=function(t,e){return e.length<2?t:n(t,r(e,0,-1))}},83298:(t,e,i)=>{var n=i(54412);t.exports=function(t){return(null==t?0:t.length)?n(t,1):[]}},10207:t=>{t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},51804:(t,e,i)=>{var n=i(28141),r=i(89490)((function(t,e,i,r){n(t,e,i,r)}));t.exports=r},87863:(t,e,i)=>{var n=i(40341),r=i(1952),s=i(32684),o=i(31534),a=i(81742),l=i(96274),h=i(65573),c=i(99970),u=h((function(t,e){var i={};if(null==t)return i;var h=!1;e=n(e,(function(e){return e=o(e,t),h||(h=e.length>1),e})),a(t,c(t),i),h&&(i=r(i,7,l));for(var u=e.length;u--;)s(i,e[u]);return i}));t.exports=u},93838:(t,e,i)=>{"use strict";i.d(e,{Z:()=>k});var n=i(68963),r=i(50134),s=i.n(r),o="undefined"!==typeof window?window:null,a=null===o,l=a?void 0:o.document,h="addEventListener",c="removeEventListener",u="getBoundingClientRect",d="_a",f="_b",g="_c",p="horizontal",v=function(){return!1},m=a?"calc":["","-webkit-","-moz-","-o-"].filter((function(t){var e=l.createElement("div");return e.style.cssText="width:"+t+"calc(9px)",!!e.style.length})).shift()+"calc",y=function(t){return"string"===typeof t||t instanceof String},b=function(t){if(y(t)){var e=l.querySelector(t);if(!e)throw new Error("Selector "+t+" did not match a DOM element");return e}return t},x=function(t,e,i){var n=t[e];return void 0!==n?n:i},_=function(t,e,i,n){if(e){if("end"===n)return 0;if("center"===n)return t/2}else if(i){if("start"===n)return 0;if("center"===n)return t/2}return t},C=function(t,e){var i=l.createElement("div");return i.className="gutter gutter-"+e,i},w=function(t,e,i){var n={};return y(e)?n[t]=e:n[t]=m+"("+e+"% - "+i+"px)",n},S=function(t,e){var i;return(i={})[t]=e+"px",i};const T=function(t,e){if(void 0===e&&(e={}),a)return{};var i,n,r,s,m,y,T=t;Array.from&&(T=Array.from(T));var O=b(T[0]).parentNode,E=getComputedStyle?getComputedStyle(O):null,k=E?E.flexDirection:null,j=x(e,"sizes")||T.map((function(){return 100/T.length})),P=x(e,"minSize",100),A=Array.isArray(P)?P:T.map((function(){return P})),M=x(e,"maxSize",1/0),D=Array.isArray(M)?M:T.map((function(){return M})),F=x(e,"expandToMin",!1),L=x(e,"gutterSize",10),R=x(e,"gutterAlign","center"),I=x(e,"snapOffset",30),B=Array.isArray(I)?I:T.map((function(){return I})),H=x(e,"dragInterval",1),z=x(e,"direction",p),N=x(e,"cursor",z===p?"col-resize":"row-resize"),W=x(e,"gutter",C),V=x(e,"elementStyle",w),X=x(e,"gutterStyle",S);function G(t,e,n,r){var s=V(i,e,n,r);Object.keys(s).forEach((function(e){t.style[e]=s[e]}))}function Y(){return y.map((function(t){return t.size}))}function U(t){return"touches"in t?t.touches[0][n]:t[n]}function q(t){var e=y[this.a],i=y[this.b],n=e.size+i.size;e.size=t/this.size*n,i.size=n-t/this.size*n,G(e.element,e.size,this[f],e.i),G(i.element,i.size,this[g],i.i)}function Z(t){var i,n=y[this.a],r=y[this.b];this.dragging&&(i=U(t)-this.start+(this[f]-this.dragOffset),H>1&&(i=Math.round(i/H)*H),i<=n.minSize+n.snapOffset+this[f]?i=n.minSize+this[f]:i>=this.size-(r.minSize+r.snapOffset+this[g])&&(i=this.size-(r.minSize+this[g])),i>=n.maxSize-n.snapOffset+this[f]?i=n.maxSize+this[f]:i<=this.size-(r.maxSize-r.snapOffset+this[g])&&(i=this.size-(r.maxSize+this[g])),q.call(this,i),x(e,"onDrag",v)(Y()))}function K(){var t=y[this.a].element,e=y[this.b].element,n=t[u](),o=e[u]();this.size=n[i]+o[i]+this[f]+this[g],this.start=n[r],this.end=n[s]}function J(t){var e=function(t){if(!getComputedStyle)return null;var e=getComputedStyle(t);if(!e)return null;var i=t[m];return 0===i?null:i-=z===p?parseFloat(e.paddingLeft)+parseFloat(e.paddingRight):parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)}(O);if(null===e)return t;if(A.reduce((function(t,e){return t+e}),0)>e)return t;var i=0,n=[],r=t.map((function(r,s){var o=e*r/100,a=_(L,0===s,s===t.length-1,R),l=A[s]+a;return o0&&n[r]-i>0){var o=Math.min(i,n[r]-i);i-=o,s=t-o}return s/e*100}))}function $(){var t=this,i=y[t.a].element,n=y[t.b].element;t.dragging&&x(e,"onDragEnd",v)(Y()),t.dragging=!1,o[c]("mouseup",t.stop),o[c]("touchend",t.stop),o[c]("touchcancel",t.stop),o[c]("mousemove",t.move),o[c]("touchmove",t.move),t.stop=null,t.move=null,i[c]("selectstart",v),i[c]("dragstart",v),n[c]("selectstart",v),n[c]("dragstart",v),i.style.userSelect="",i.style.webkitUserSelect="",i.style.MozUserSelect="",i.style.pointerEvents="",n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",t.gutter.style.cursor="",t.parent.style.cursor="",l.body.style.cursor=""}function Q(t){if(!("button"in t)||0===t.button){var i=this,n=y[i.a].element,r=y[i.b].element;i.dragging||x(e,"onDragStart",v)(Y()),t.preventDefault(),i.dragging=!0,i.move=Z.bind(i),i.stop=$.bind(i),o[h]("mouseup",i.stop),o[h]("touchend",i.stop),o[h]("touchcancel",i.stop),o[h]("mousemove",i.move),o[h]("touchmove",i.move),n[h]("selectstart",v),n[h]("dragstart",v),r[h]("selectstart",v),r[h]("dragstart",v),n.style.userSelect="none",n.style.webkitUserSelect="none",n.style.MozUserSelect="none",n.style.pointerEvents="none",r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",i.gutter.style.cursor=N,i.parent.style.cursor=N,l.body.style.cursor=N,K.call(i),i.dragOffset=U(t)-i.end}}z===p?(i="width",n="clientX",r="left",s="right",m="clientWidth"):"vertical"===z&&(i="height",n="clientY",r="top",s="bottom",m="clientHeight"),j=J(j);var tt=[];function et(t){var e=t.i===tt.length,i=e?tt[t.i-1]:tt[t.i];K.call(i);var n=e?i.size-t.minSize-i[g]:t.minSize+i[f];q.call(i,n)}return(y=T.map((function(t,e){var n,r={element:b(t),size:j[e],minSize:A[e],maxSize:D[e],snapOffset:B[e],i:e};if(e>0&&((n={a:e-1,b:e,dragging:!1,direction:z,parent:O})[f]=_(L,e-1===0,!1,R),n[g]=_(L,!1,e===T.length-1,R),"row-reverse"===k||"column-reverse"===k)){var s=n.a;n.a=n.b,n.b=s}if(e>0){var o=W(e,z,r.element);!function(t,e,n){var r=X(i,e,n);Object.keys(r).forEach((function(e){t.style[e]=r[e]}))}(o,L,e),n[d]=Q.bind(n),o[h]("mousedown",n[d]),o[h]("touchstart",n[d]),O.insertBefore(o,r.element),n.gutter=o}return G(r.element,r.size,_(L,0===e,e===T.length-1,R),e),e>0&&tt.push(n),r}))).forEach((function(t){var e=t.element[u]()[i];e0){var n=tt[i-1],r=y[n.a],s=y[n.b];r.size=e[i-1],s.size=t,G(r.element,r.size,n[f],r.i),G(s.element,s.size,n[g],s.i)}}))},getSizes:Y,collapse:function(t){et(y[t])},destroy:function(t,e){tt.forEach((function(n){if(!0!==e?n.parent.removeChild(n.gutter):(n.gutter[c]("mousedown",n[d]),n.gutter[c]("touchstart",n[d])),!0!==t){var r=V(i,n.a.size,n[f]);Object.keys(r).forEach((function(t){y[n.a].element.style[t]="",y[n.b].element.style[t]=""}))}}))},parent:O,pairs:tt}};function O(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&-1===e.indexOf(n)&&(i[n]=t[n]);return i}var E=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.componentDidMount=function(){var t=this.props;t.children;var e=t.gutter,i=O(t,["children","gutter"]);i.gutter=function(t,i){var n;return e?n=e(t,i):(n=document.createElement("div")).className="gutter gutter-"+i,n.__isSplitGutter=!0,n},this.split=T(this.parent.children,i)},e.prototype.componentDidUpdate=function(t){var e=this,i=this.props;i.children;var n=i.minSize,r=i.sizes,s=i.collapsed,o=O(i,["children","minSize","sizes","collapsed"]),a=t.minSize,l=t.sizes,h=t.collapsed,c=["maxSize","expandToMin","gutterSize","gutterAlign","snapOffset","dragInterval","direction","cursor"].map((function(i){return e.props[i]!==t[i]})).reduce((function(t,e){return t||e}),!1);if(Array.isArray(n)&&Array.isArray(a)){var u=!1;n.forEach((function(t,e){u=u||t!==a[e]})),c=c||u}else c=!(!Array.isArray(n)&&!Array.isArray(a))||(c||n!==a);if(c)o.minSize=n,o.sizes=r||this.split.getSizes(),this.split.destroy(!0,!0),o.gutter=function(t,e,i){return i.previousSibling},this.split=T(Array.from(this.parent.children).filter((function(t){return!t.__isSplitGutter})),o);else if(r){var d=!1;r.forEach((function(t,e){d=d||t!==l[e]})),d&&this.split.setSizes(this.props.sizes)}Number.isInteger(s)&&(s!==h||c)&&this.split.collapse(s)},e.prototype.componentWillUnmount=function(){this.split.destroy(),delete this.split},e.prototype.render=function(){var t=this,e=this.props;e.sizes,e.minSize,e.maxSize,e.expandToMin,e.gutterSize,e.gutterAlign,e.snapOffset,e.dragInterval,e.direction,e.cursor,e.gutter,e.elementStyle,e.gutterStyle,e.onDrag,e.onDragStart,e.onDragEnd,e.collapsed;var i=e.children,r=O(e,["sizes","minSize","maxSize","expandToMin","gutterSize","gutterAlign","snapOffset","dragInterval","direction","cursor","gutter","elementStyle","gutterStyle","onDrag","onDragStart","onDragEnd","collapsed","children"]);return n.createElement("div",Object.assign({},{ref:function(e){t.parent=e}},r),i)},e}(n.Component);E.propTypes={sizes:s().arrayOf(s().number),minSize:s().oneOfType([s().number,s().arrayOf(s().number)]),maxSize:s().oneOfType([s().number,s().arrayOf(s().number)]),expandToMin:s().bool,gutterSize:s().number,gutterAlign:s().string,snapOffset:s().oneOfType([s().number,s().arrayOf(s().number)]),dragInterval:s().number,direction:s().string,cursor:s().string,gutter:s().func,elementStyle:s().func,gutterStyle:s().func,onDrag:s().func,onDragStart:s().func,onDragEnd:s().func,collapsed:s().number,children:s().arrayOf(s().element)},E.defaultProps={sizes:void 0,minSize:void 0,maxSize:void 0,expandToMin:void 0,gutterSize:void 0,gutterAlign:void 0,snapOffset:void 0,dragInterval:void 0,direction:void 0,cursor:void 0,gutter:void 0,elementStyle:void 0,gutterStyle:void 0,onDrag:void 0,onDragStart:void 0,onDragEnd:void 0,collapsed:void 0,children:void 0};const k=E},7504:(t,e,i)=>{"use strict";i.d(e,{f:()=>N});var n=i(75859),r=i(68963),s=i(83570),o=i.n(s),a=i(99879),l=i(40067),h=i(54973);const c=JSON.parse('{"label_error":"Error","label_empty":"No data"}'),u=JSON.parse('{"label_error":"\u041e\u0448\u0438\u0431\u043a\u0430","label_empty":"\u041d\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445"}'),d=(0,h.e)({en:c,ru:u},"ydb-navigation-tree"),f=(0,a.G)("ydb-navigation-tree-view-empty");function g(t){let{level:e}=t;return(0,n.jsx)(l.L,{name:(0,n.jsx)("span",{className:f(),children:d("label_empty")}),level:e})}const p=(0,a.G)("ydb-navigation-tree-view-error");function v(t){let{level:e}=t;return(0,n.jsx)(l.L,{name:(0,n.jsx)("span",{className:p(),children:d("label_error")}),level:e})}const m=(0,i(36951).Ge)("spin"),y=r.forwardRef((function(t,e){const{size:i="m",style:n,className:s,qa:o}=t;return r.createElement("div",{ref:e,style:n,className:m({size:i},s),"data-qa":o},r.createElement("div",{className:m("inner")}))})),b=(0,a.G)("ydb-navigation-tree-view-loader");function x(t){let{level:e}=t;return(0,n.jsx)(l.L,{name:(0,n.jsx)("div",{className:b(),children:(0,n.jsx)(y,{size:"xs"})}),level:e})}function _(t){return(0,n.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor"},t,{children:(0,n.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.22 15.03s-.001 0 0 0a.75.75 0 0 0 1.06-1.06l-.47-.47H10a3.016 3.016 0 0 0 1.507-.405A2.999 2.999 0 0 0 13 10.5V7.896h.003a2.735 2.735 0 0 0 .785-.366 2.75 2.75 0 1 0-2.288.366V10.5A1.5 1.5 0 0 1 10 12h-.19l.47-.47s0 .001 0 0a.75.75 0 0 0-1.06-1.06l-.47.47-1.28 1.28a.75.75 0 0 0 0 1.06l1.75 1.75ZM5.72 2.97a.75.75 0 0 1 1.06 0l.47.47 1.28 1.28a.748.748 0 0 1 0 1.06L6.78 7.53c.001 0 0 0 0 0a.751.751 0 0 1-1.06-1.06L6.19 6H6a1.5 1.5 0 0 0-1.5 1.5v2.604a2.757 2.757 0 0 1 2 2.646 2.738 2.738 0 0 1-1.212 2.28 2.737 2.737 0 0 1-1.538.47A2.747 2.747 0 0 1 1 12.75a2.751 2.751 0 0 1 2-2.646V7.5a2.999 2.999 0 0 1 3-3h.19l-.47-.47a.75.75 0 0 1 0-1.06Zm-.908 9.121A1.246 1.246 0 0 1 5 12.75a1.25 1.25 0 1 1-.188-.659ZM11 5.25a1.25 1.25 0 1 1 2.5 0 1.25 1.25 0 0 1-2.5 0Z"})}))}function C(t){return(0,n.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor"},t,{children:(0,n.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.01033 3.79551C2.11275 2.787 2.96447 2 4 2H5.5H7H9H10.5H12C13.1046 2 14 2.89543 14 4V5.5V12C14 13.1046 13.1046 14 12 14H10.5H9H7H5.5H4C2.89543 14 2 13.1046 2 12V5.5V4C2 3.93096 2.0035 3.86275 2.01033 3.79551ZM10.5 12.5H11.5C12.0523 12.5 12.5 12.0523 12.5 11.5V5.5H10.5L10.5 12.5ZM9 5.5L9 12.5H7L7 5.5H9ZM3.5 5.5H5.5L5.5 12.5H4.5C3.94772 12.5 3.5 12.0523 3.5 11.5V5.5Z"})}))}function w(t){return(0,n.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",fill:"currentColor"},t,{children:(0,n.jsx)("path",{d:"M448 80V128C448 172.2 347.7 208 224 208C100.3 208 0 172.2 0 128V80C0 35.82 100.3 0 224 0C347.7 0 448 35.82 448 80zM393.2 214.7C413.1 207.3 433.1 197.8 448 186.1V288C448 332.2 347.7 368 224 368C100.3 368 0 332.2 0 288V186.1C14.93 197.8 34.02 207.3 54.85 214.7C99.66 230.7 159.5 240 224 240C288.5 240 348.3 230.7 393.2 214.7V214.7zM54.85 374.7C99.66 390.7 159.5 400 224 400C288.5 400 348.3 390.7 393.2 374.7C413.1 367.3 433.1 357.8 448 346.1V432C448 476.2 347.7 512 224 512C100.3 512 0 476.2 0 432V346.1C14.93 357.8 34.02 367.3 54.85 374.7z"})}))}function S(t){return(0,n.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor"},t,{children:(0,n.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 6.75C0 6.35156 0.338542 6 0.722222 6L3.61111 6V3L0.722222 3C0.338542 3 0 2.67188 0 2.25C0 1.85156 0.338542 1.5 0.722222 1.5L3.61111 1.5V0.750001C3.61111 0.351563 3.94965 0 4.33333 0C4.73958 0 5.05556 0.351563 5.05556 0.750001H5.77778C7.53819 0.750001 8.98264 2.03906 9.32118 3.75H12V5.25H9.32118C9.29095 5.4049 9.25189 5.55606 9.20457 5.70291C9.10459 5.73587 9.00778 5.77066 8.9144 5.80723C8.505 5.96755 8.12646 6.17556 7.83841 6.44187C7.5498 6.70871 7.3 7.08678 7.3 7.56255V7.90902C6.83862 8.12843 6.32337 8.25 5.77778 8.25H5.05556C5.05556 8.67188 4.73958 9 4.33333 9C3.94965 9 3.61111 8.67188 3.61111 8.25V7.5L0.722222 7.5C0.338542 7.5 0 7.17188 0 6.75ZM16 8.5V7.5625C16 6.70312 14.1964 6 12 6C9.78571 6 8 6.70312 8 7.5625V8.5C8 9.37891 9.78571 10.0625 12 10.0625C14.1964 10.0625 16 9.37891 16 8.5ZM16 9.65234C15.7321 9.86719 15.375 10.0625 15.0179 10.1992C14.2143 10.5117 13.1429 10.6875 12 10.6875C10.8393 10.6875 9.76786 10.5117 8.96429 10.1992C8.60714 10.0625 8.25 9.86719 8 9.65234V11.625C8 12.5039 9.78571 13.1875 12 13.1875C14.1964 13.1875 16 12.5039 16 11.625V9.65234ZM12 13.8125C10.8393 13.8125 9.76786 13.6367 8.96429 13.3242C8.60714 13.1875 8.25 12.9922 8 12.7773V14.4375C8 15.3164 9.78571 16 12 16C14.1964 16 16 15.3164 16 14.4375V12.7773C15.7321 12.9922 15.375 13.1875 15.0179 13.3242C14.2143 13.6367 13.1429 13.8125 12 13.8125Z"})}))}function T(t){return(0,n.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor"},t,{children:(0,n.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 6.75C0 6.35156 0.351562 6 0.75 6L3.75 6V3L0.75 3C0.351562 3 0 2.67188 0 2.25C0 1.85156 0.351562 1.5 0.75 1.5L3.75 1.5V0.750001C3.75 0.351563 4.10156 0 4.5 0C4.92188 0 5.25 0.351563 5.25 0.750001H6C7.82812 0.750001 9.32812 2.03906 9.67969 3.75H12V5.25H9.67969C9.60376 5.62455 9.47428 5.97724 9.2995 6.30005H7.19969C6.09701 6.30005 5.26846 7.20143 5.25 8.25C5.25 8.67188 4.92188 9 4.5 9C4.10156 9 3.75 8.67188 3.75 8.25V7.5L0.75 7.5C0.351562 7.5 0 7.17188 0 6.75ZM16 8.28571C16 7.58259 15.4336 7 14.75 7H7.25C6.54688 7 6 7.58259 6 8.28571V14.7143C6 15.4375 6.54688 16 7.25 16H14.75C15.4336 16 16 15.4375 16 14.7143V8.28571ZM10.375 9.57143V11.5H7.25V9.57143H10.375ZM7.25 14.7143V12.7857H10.375V14.7143H7.25ZM14.75 14.7143H11.625V12.7857H14.75V14.7143ZM14.75 9.57143V11.5H11.625V9.57143H14.75Z"})}))}function O(t){return(0,n.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor"},t,{children:(0,n.jsx)("path",{d:"M13.2812 4.875H8.40625L6.78125 3.25H2.71875C2.0332 3.25 1.5 3.80859 1.5 4.46875V11.7812C1.5 12.4668 2.0332 13 2.71875 13H13.2812C13.9414 13 14.5 12.4668 14.5 11.7812V6.09375C14.5 5.43359 13.9414 4.875 13.2812 4.875Z"})}))}function E(t){return(0,n.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor"},t,{children:(0,n.jsx)("path",{d:"M15.2109 9.06445C15.4648 8.6582 15.1602 8.125 14.6777 8.125H4.54688C4.01367 8.125 3.37891 8.50586 3.125 8.9375L1.29688 12.0859C1.04297 12.4922 1.34766 13 1.83008 13H11.9609C12.4941 13 13.1289 12.6445 13.3828 12.2129L15.2109 9.06445ZM4.54688 7.3125H12.875V6.09375C12.875 5.43359 12.3164 4.875 11.6562 4.875H7.59375L5.96875 3.25H1.90625C1.2207 3.25 0.6875 3.80859 0.6875 4.46875V11.5527L2.43945 8.53125C2.87109 7.79492 3.6582 7.3125 4.54688 7.3125Z"})}))}function k(t){return(0,n.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor"},t,{children:(0,n.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.24935 2.94323L8.5 9.5H12.1L11.1446 14.2772C11.0322 14.839 11.7994 15.1177 12.0738 14.6147L15.9111 7.57956C16.1765 7.09311 15.8244 6.5 15.2703 6.5H12.9L13.5325 3.33728C13.6192 2.90413 13.2879 2.5 12.8461 2.5H9.74611C9.49194 2.5 9.27821 2.69069 9.24935 2.94323ZM7.40003 10.5L8.25717 3H1.625C0.710938 3 0 3.73633 0 4.625V12.75C0 13.6641 0.710938 14.375 1.625 14.375H10.1517C10.1538 14.2803 10.1646 14.1822 10.1848 14.0811L10.901 10.5H7.40003ZM5.6875 8.6875V6.25H1.625V8.6875H5.6875ZM1.625 10.3125V12.75H5.6875V10.3125H1.625Z"})}))}function j(t){return(0,n.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor"},t,{children:(0,n.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.01033 3.79551C2.11275 2.787 2.96447 2 4 2H7.3H8.8H12C13.1046 2 14 2.89543 14 4V5.5V8.2002V9.7002V12C14 13.1046 13.1046 14 12 14H8.8H7.3H4C2.89543 14 2 13.1046 2 12V9.7002V8.2002V5.5V4C2 3.93096 2.0035 3.86275 2.01033 3.79551ZM8.8 12.5H11.5C12.0523 12.5 12.5 12.0523 12.5 11.5V9.7002H8.8V12.5ZM7.3 9.7002V12.5H4.5C3.94772 12.5 3.5 12.0523 3.5 11.5V9.7002H7.3ZM8.8 8.2002H12.5V5.5H8.8L8.8 8.2002ZM7.3 5.5L7.3 8.2002H3.5V5.5H7.3Z"})}))}function P(t){return(0,n.jsxs)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor"},t,{children:[(0,n.jsx)("rect",{x:"2",y:"2.20001",width:"9",height:"2.5",rx:"0.5"}),(0,n.jsx)("rect",{x:"5",y:"6.70001",width:"9",height:"2.5",rx:"0.5"}),(0,n.jsx)("rect",{x:"2",y:"11.2",width:"9",height:"2.5",rx:"0.5"})]}))}function A(t){return(0,n.jsxs)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor"},t,{children:[(0,n.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.625 2H7.49951C6.47457 2.77006 5.7552 3.92488 5.55588 5.25H1.625V7.6875H5.79193C6.48417 9.6186 8.33076 11 10.5 11C10.877 11 11.2443 10.9583 11.5974 10.8792L12.7748 12.5799C12.4905 13.0601 11.9665 13.375 11.375 13.375H1.625C0.710938 13.375 0 12.6641 0 11.75V3.625C0 2.73633 0.710938 2 1.625 2ZM1.625 11.75V9.3125H5.6875V11.75H1.625Z"}),(0,n.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M13.4411 8.71106C14.0985 7.9983 14.5 7.04604 14.5 6C14.5 3.79086 12.7091 2 10.5 2C8.29086 2 6.5 3.79086 6.5 6C6.5 8.20914 8.29086 10 10.5 10C11.0316 10 11.5389 9.89631 12.0029 9.70806L14.2807 12.9981C14.5557 13.3955 15.1008 13.4946 15.4981 13.2195C15.8955 12.9444 15.9946 12.3993 15.7195 12.002L13.4411 8.71106ZM12.5 6C12.5 7.10457 11.6046 8 10.5 8C9.39543 8 8.5 7.10457 8.5 6C8.5 4.89543 9.39543 4 10.5 4C11.6046 4 12.5 4.89543 12.5 6Z"})]}))}function M(t){return"status"in t}function D(t,e,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const r=t[e];if(r&&(i(r,n,e,t),!r.collapsed))for(const s of r.children)D(t,"".concat(e,"/").concat(s),i,n+1)}var F;function L(t){return Object.assign(Object.assign(Object.assign({},{collapsed:!0,loading:!1,loaded:!1,error:!1,children:[]}),{expandable:"database"===t.type||"directory"===t.type}),t)}function R(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;var i,n;switch(e.type){case F.ToggleCollapsed:return Object.assign(Object.assign({},t),{[e.payload.path]:Object.assign(Object.assign({},t[e.payload.path]),{collapsed:!t[e.payload.path].collapsed})});case F.StartLoading:return Object.assign(Object.assign({},t),{[e.payload.path]:Object.assign(Object.assign({},t[e.payload.path]),{loading:!0,loaded:!1,error:!1,children:[]})});case F.FinishLoading:{const r=Object.assign(Object.assign({},t),{[e.payload.path]:Object.assign(Object.assign({},t[e.payload.path]),{loading:!1,loaded:Boolean(e.payload.data),error:!1})});if(e.payload.data){r[e.payload.path].children=e.payload.data.map((t=>{let{name:e}=t;return e}));for(const s of e.payload.data){const o="".concat(e.payload.path,"/").concat(s.name),{activePath:a=""}=e.payload,l=null!==(n=null===(i=t[o])||void 0===i?void 0:i.collapsed)&&void 0!==n?n:!a.startsWith("".concat(o,"/"));r[o]=L(Object.assign(Object.assign({},s),{collapsed:l,path:o}))}}return r}case F.ErrorLoading:return Object.assign(Object.assign({},t),{[e.payload.path]:Object.assign(Object.assign({},t[e.payload.path]),{loading:!1,loaded:!1,error:!0})});case F.ResetNode:return Object.assign(Object.assign({},t),{[e.payload.path]:Object.assign(Object.assign({},t[e.payload.path]),{collapsed:!0,loading:!1,loaded:!1,error:!1,children:[]})});default:return t}}function I(t,e){const i=[];return D(t,e,((t,e)=>{i.push(Object.assign(Object.assign({},t),{level:e}));const n=function(t,e){if(!t.collapsed)return t.loading?{path:t.path,status:"loading",level:e+1}:t.error?{path:t.path,status:"error",level:e+1}:t.loaded&&0===t.children.length?{path:t.path,status:"empty",level:e+1}:void 0}(t,e);n&&i.push(n)})),i}function B(t,e){switch(t){case"async_replication":return(0,n.jsx)(_,{height:16});case"database":return(0,n.jsx)(w,{height:14});case"directory":return e?(0,n.jsx)(O,{height:16}):(0,n.jsx)(E,{height:16});case"index":return(0,n.jsx)(k,{height:16});case"table":case"index_table":return(0,n.jsx)(j,{height:16});case"column_table":return(0,n.jsx)(C,{height:16});case"stream":case"topic":return(0,n.jsx)(P,{height:16});case"external_table":return(0,n.jsx)(T,{height:16});case"external_data_source":return(0,n.jsx)(S,{height:16});case"view":return(0,n.jsx)(A,{height:16});default:return null}}function H(t){let{path:e,fetchPath:i,activePath:s,state:o,level:a,dispatch:h,children:c,onActivate:u,getActions:d,renderAdditionalNodeElements:f,cache:g}=t;const p=o[e];r.useEffect((()=>{p.collapsed?g||h({type:F.ResetNode,payload:{path:e}}):p.loaded||p.loading||(h({type:F.StartLoading,payload:{path:e}}),i(e).then((t=>{h({type:F.FinishLoading,payload:{path:e,activePath:s,data:t}})})).catch((t=>{h({type:F.ErrorLoading,payload:{path:e,error:t}})})))}),[p.collapsed]);const v=r.useCallback((()=>{u&&u(e)}),[e,u]),m=r.useCallback((()=>{h({type:F.ToggleCollapsed,payload:{path:e}})}),[h,e]),y=r.useMemo((()=>null===f||void 0===f?void 0:f(p.path,p.type)),[f,p]),b=r.useMemo((()=>null===d||void 0===d?void 0:d(p.path,p.type)),[d,p]);return(0,n.jsx)(l.L,{name:p.name,icon:B(p.type,p.collapsed),collapsed:p.collapsed,active:p.path===s,actions:b,additionalNodeElements:y,hasArrow:p.expandable,onClick:v,onArrowClick:m,level:a,children:c})}!function(t){t.ToggleCollapsed="toggle-collapsed",t.StartLoading="start-loading",t.FinishLoading="finish-loading",t.ErrorLoading="error-loading",t.ResetNode="reset-node"}(F||(F={}));const z=t=>{const e="".concat(t.path,"|").concat(t.status);return"loading"===t.status?(0,n.jsx)(x,{level:t.level},e):"error"===t.status?(0,n.jsx)(v,{level:t.level},e):(0,n.jsx)(g,{level:t.level},e)};function N(t){let{rootState:e,fetchPath:i,getActions:s,renderAdditionalNodeElements:a,activePath:l,onActivePathUpdate:h,cache:c=!0,virtualize:u=!1}=t;const[d,f]=r.useReducer(R,{[e.path]:L(e)}),g=r.useMemo((()=>I(d,e.path)),[e.path,d]),p=t=>(0,n.jsx)(H,{state:d,path:t.path,activePath:l,fetchPath:i,dispatch:f,onActivate:h,getActions:s,renderAdditionalNodeElements:a,cache:c,level:t.level},t.path);return u?(0,n.jsx)(o(),{type:"uniform",length:g.length,useStaticSize:!0,itemRenderer:t=>{const e=g[t];return M(e)?z(e):p(e)}}):(0,n.jsx)(r.Fragment,{children:g.map((t=>M(t)?z(t):p(t)))})}},40067:(t,e,i)=>{"use strict";i.d(e,{L:()=>h});var n=i(75859),r=i(68963),s=i(30044),o=i(99879);const a="--ydb-tree-view-level",l=(0,o.G)("ydb-tree-view");function h(t){let{children:e,name:i,title:o,icon:h,collapsed:c=!0,active:u=!1,onClick:d,onArrowClick:f,hasArrow:g=!1,actions:p,additionalNodeElements:v,level:m}=t;const y=r.useCallback((t=>{if(!d)return;t.nativeEvent.composedPath().some((t=>t instanceof HTMLElement&&("BUTTON"===t.nodeName&&!t.hasAttribute("disabled")||t.hasAttribute("tabindex")&&t.tabIndex>-1)))||d()}),[d]),b=f||d;let x="tree-view_arrow",_="tree-view_children";return c&&(x+=" tree-view_arrow-collapsed",_+=" tree-view_children-collapsed"),(0,n.jsx)("div",{className:l(),style:{[a]:m},children:(0,n.jsxs)("div",{className:"tree-view",children:[(0,n.jsxs)("div",{className:"".concat("tree-view_item"," ").concat(l("item",{active:u})),onClick:y,children:[(0,n.jsx)("button",{type:"button",className:"".concat(x," ").concat(l("arrow",{collapsed:c,hidden:!g})),disabled:!b,onClick:b}),(0,n.jsxs)("div",{className:l("content"),children:[h&&(0,n.jsx)("div",{className:l("icon"),children:h}),(0,n.jsx)("div",{className:l("text"),title:o,children:i}),p&&p.length>0&&(0,n.jsxs)("div",{className:l("actions"),children:[v,(0,n.jsx)(s.h,{defaultSwitcherProps:{view:"flat-secondary",size:"s",pin:"brick-brick"},items:p})]})]})]}),(0,n.jsx)("div",{className:"".concat(_," ").concat(l("container",{collapsed:c})),children:c?null:e})]})})}},99879:(t,e,i)=>{"use strict";i.d(e,{G:()=>n});const n=(0,i(5247).withNaming)({e:"__",m:"_"})},55895:()=>{},39633:(t,e,i)=>{"use strict";i.d(e,{Vi:()=>j});var n={grad:.9,turn:360,rad:360/(2*Math.PI)},r=function(t){return"string"==typeof t?t.length>0:"number"==typeof t},s=function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=Math.pow(10,e)),Math.round(i*t)/i+0},o=function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=1),t>i?i:t>e?t:e},a=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},l=function(t){return{r:o(t.r,0,255),g:o(t.g,0,255),b:o(t.b,0,255),a:o(t.a)}},h=function(t){return{r:s(t.r),g:s(t.g),b:s(t.b),a:s(t.a,3)}},c=/^#([0-9a-f]{3,8})$/i,u=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},d=function(t){var e=t.r,i=t.g,n=t.b,r=t.a,s=Math.max(e,i,n),o=s-Math.min(e,i,n),a=o?s===e?(i-n)/o:s===i?2+(n-e)/o:4+(e-i)/o:0;return{h:60*(a<0?a+6:a),s:s?o/s*100:0,v:s/255*100,a:r}},f=function(t){var e=t.h,i=t.s,n=t.v,r=t.a;e=e/360*6,i/=100,n/=100;var s=Math.floor(e),o=n*(1-i),a=n*(1-(e-s)*i),l=n*(1-(1-e+s)*i),h=s%6;return{r:255*[n,a,o,o,l,n][h],g:255*[l,n,n,a,o,o][h],b:255*[o,o,l,n,n,a][h],a:r}},g=function(t){return{h:a(t.h),s:o(t.s,0,100),l:o(t.l,0,100),a:o(t.a)}},p=function(t){return{h:s(t.h),s:s(t.s),l:s(t.l),a:s(t.a,3)}},v=function(t){return f((i=(e=t).s,{h:e.h,s:(i*=((n=e.l)<50?n:100-n)/100)>0?2*i/(n+i)*100:0,v:n+i,a:e.a}));var e,i,n},m=function(t){return{h:(e=d(t)).h,s:(r=(200-(i=e.s))*(n=e.v)/100)>0&&r<200?i*n/100/(r<=100?r:200-r)*100:0,l:r/2,a:e.a};var e,i,n,r},y=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,b=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,x=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,_=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,C={string:[[function(t){var e=c.exec(t);return e?(t=e[1]).length<=4?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:4===t.length?s(parseInt(t[3]+t[3],16)/255,2):1}:6===t.length||8===t.length?{r:parseInt(t.substr(0,2),16),g:parseInt(t.substr(2,2),16),b:parseInt(t.substr(4,2),16),a:8===t.length?s(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=x.exec(t)||_.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:l({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:void 0===e[7]?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(t){var e=y.exec(t)||b.exec(t);if(!e)return null;var i,r,s=g({h:(i=e[1],r=e[2],void 0===r&&(r="deg"),Number(i)*(n[r]||1)),s:Number(e[3]),l:Number(e[4]),a:void 0===e[5]?1:Number(e[5])/(e[6]?100:1)});return v(s)},"hsl"]],object:[[function(t){var e=t.r,i=t.g,n=t.b,s=t.a,o=void 0===s?1:s;return r(e)&&r(i)&&r(n)?l({r:Number(e),g:Number(i),b:Number(n),a:Number(o)}):null},"rgb"],[function(t){var e=t.h,i=t.s,n=t.l,s=t.a,o=void 0===s?1:s;if(!r(e)||!r(i)||!r(n))return null;var a=g({h:Number(e),s:Number(i),l:Number(n),a:Number(o)});return v(a)},"hsl"],[function(t){var e=t.h,i=t.s,n=t.v,s=t.a,l=void 0===s?1:s;if(!r(e)||!r(i)||!r(n))return null;var h=function(t){return{h:a(t.h),s:o(t.s,0,100),v:o(t.v,0,100),a:o(t.a)}}({h:Number(e),s:Number(i),v:Number(n),a:Number(l)});return f(h)},"hsv"]]},w=function(t,e){for(var i=0;i=.5},t.prototype.toHex=function(){return e=(t=h(this.rgba)).r,i=t.g,n=t.b,o=(r=t.a)<1?u(s(255*r)):"","#"+u(e)+u(i)+u(n)+o;var t,e,i,n,r,o},t.prototype.toRgb=function(){return h(this.rgba)},t.prototype.toRgbString=function(){return e=(t=h(this.rgba)).r,i=t.g,n=t.b,(r=t.a)<1?"rgba("+e+", "+i+", "+n+", "+r+")":"rgb("+e+", "+i+", "+n+")";var t,e,i,n,r},t.prototype.toHsl=function(){return p(m(this.rgba))},t.prototype.toHslString=function(){return e=(t=p(m(this.rgba))).h,i=t.s,n=t.l,(r=t.a)<1?"hsla("+e+", "+i+"%, "+n+"%, "+r+")":"hsl("+e+", "+i+"%, "+n+"%)";var t,e,i,n,r},t.prototype.toHsv=function(){return t=d(this.rgba),{h:s(t.h),s:s(t.s),v:s(t.v),a:s(t.a,3)};var t},t.prototype.invert=function(){return j({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},t.prototype.saturate=function(t){return void 0===t&&(t=.1),j(T(this.rgba,t))},t.prototype.desaturate=function(t){return void 0===t&&(t=.1),j(T(this.rgba,-t))},t.prototype.grayscale=function(){return j(T(this.rgba,-1))},t.prototype.lighten=function(t){return void 0===t&&(t=.1),j(E(this.rgba,t))},t.prototype.darken=function(t){return void 0===t&&(t=.1),j(E(this.rgba,-t))},t.prototype.rotate=function(t){return void 0===t&&(t=15),this.hue(this.hue()+t)},t.prototype.alpha=function(t){return"number"==typeof t?j({r:(e=this.rgba).r,g:e.g,b:e.b,a:t}):s(this.rgba.a,3);var e},t.prototype.hue=function(t){var e=m(this.rgba);return"number"==typeof t?j({h:t,s:e.s,l:e.l,a:e.a}):s(e.h)},t.prototype.isEqual=function(t){return this.toHex()===j(t).toHex()},t}(),j=function(t){return t instanceof k?t:new k(t)}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/321.9a9868e1.chunk.js.LICENSE.txt b/ydb/core/viewer/monitoring/static/js/321.9a9868e1.chunk.js.LICENSE.txt
new file mode 100644
index 000000000000..53debc06f187
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/321.9a9868e1.chunk.js.LICENSE.txt
@@ -0,0 +1,3 @@
+/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */
+
+/*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */
diff --git a/ydb/core/viewer/monitoring/static/js/328.4a94f418.chunk.js b/ydb/core/viewer/monitoring/static/js/328.4a94f418.chunk.js
new file mode 100644
index 000000000000..561a55889c81
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/328.4a94f418.chunk.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[328],{67585:(e,t,l)=>{l.d(t,{Z:()=>a});var n=l(68963);const a=e=>n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),n.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm1-9.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8 7.75a.75.75 0 0 1 .75.75V11a.75.75 0 0 1-1.5 0V8.5A.75.75 0 0 1 8 7.75Z",clipRule:"evenodd"}))},80518:(e,t,l)=>{l.d(t,{Z:()=>a});var n=l(68963);const a=e=>n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),n.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M13.5 8a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0ZM15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM6.53 5.47a.75.75 0 0 0-1.06 1.06L6.94 8 5.47 9.47a.75.75 0 1 0 1.06 1.06L8 9.06l1.47 1.47a.75.75 0 1 0 1.06-1.06L9.06 8l1.47-1.47a.75.75 0 1 0-1.06-1.06L8 6.94 6.53 5.47Z",clipRule:"evenodd"}))},76506:(e,t,l)=>{l.d(t,{Z:()=>a});var n=l(68963);const a=e=>n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),n.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14ZM6.53 5.47a.75.75 0 0 0-1.06 1.06L6.94 8 5.47 9.47a.75.75 0 1 0 1.06 1.06L8 9.06l1.47 1.47a.75.75 0 1 0 1.06-1.06L9.06 8l1.47-1.47a.75.75 0 1 0-1.06-1.06L8 6.94 6.53 5.47Z",clipRule:"evenodd"}))},71586:(e,t,l)=>{l.d(t,{Z:()=>a});var n=l(68963);const a=e=>n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),n.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.836 2.244c.962-1.665 3.366-1.665 4.328 0l4.917 8.505c.964 1.666-.239 3.751-2.164 3.751H3.083c-1.925 0-3.128-2.085-2.164-3.751l4.917-8.505ZM8 5a.75.75 0 0 1 .75.75v2a.75.75 0 1 1-1.5 0v-2A.75.75 0 0 1 8 5Zm1 5.75a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z",clipRule:"evenodd"}))},30328:(e,t,l)=>{l.r(t),l.d(t,{TopPanel:()=>I});var n=l(68963),a=l(77280),o=l(17176),r=l(91387),i=l(88776),s=l(39137),c=l(95216),d=l(77796);const m=n.createContext(null),u=()=>{const e=n.useContext(m);if(!e)throw new Error('Alert: `useAlertContext` hook is used out of "AlertContext"');return e},v=e=>{const{view:t}=u();return n.createElement(o.z,Object.assign({view:"filled"===t?"normal-contrast":void 0},e))};var w=l(36951);const p=18,g=(0,w.Ge)("alert"),h=e=>{let{layout:t,view:l,children:a}=e;return n.createElement(m.Provider,{value:{layout:t,view:l}},a)};var f=l(76506),E=l(80518),b=l(67585),Z=l(68010);const y=e=>n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),n.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm3.1-8.55a.75.75 0 1 0-1.2-.9L7.419 8.858 6.03 7.47a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.13-.08l3-4Z",clipRule:"evenodd"}));var x=l(96261),C=l(71586),A=l(93316);const k=e=>n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),n.createElement("path",{fill:"currentColor",d:"m14.61 6.914-7.632 8.08a1.614 1.614 0 0 1-2.69-1.66L5.5 10H2.677A1.677 1.677 0 0 1 1.12 7.7l2.323-5.807A2.216 2.216 0 0 1 5.5.5h4c.968 0 1.637.967 1.298 1.873L10 4.5h3.569a1.431 1.431 0 0 1 1.04 2.414Z"}));var N=l(3442);const z={danger:{filled:f.Z,outlined:E.Z},info:{filled:b.Z,outlined:Z.Z},success:{filled:y,outlined:x.Z},warning:{filled:C.Z,outlined:A.Z},utility:{filled:k,outlined:N.Z},normal:null};var L=l(10288);var R=l(54973);const M=JSON.parse('{"label_close":"Close"}'),O=JSON.parse('{"label_close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c"}'),j=(0,R.e)({en:M,ru:O},"Alert"),B=e=>{const{theme:t="normal",view:l="filled",layout:m="vertical",message:u,className:v,corners:w,style:f,onClose:E,align:b,qa:Z}=e;return n.createElement(h,{layout:m,view:l},n.createElement(r.Z,{style:f,className:g({corners:w},(0,c.W)({py:4,px:5},v)),theme:t,view:l,qa:Z},n.createElement(d.k,{gap:"3",alignItems:b},"undefined"===typeof e.icon?n.createElement(B.Icon,{theme:t,view:l}):e.icon,n.createElement(d.k,{direction:"vertical"===m?"column":"row",gap:"5",grow:!0},n.createElement(d.k,{gap:"2",grow:!0,className:g("text-content")},n.createElement(d.k,{direction:"column",gap:"1",grow:!0,justifyContent:b},"string"===typeof e.title?n.createElement(B.Title,{text:e.title}):e.title,u)),Array.isArray(e.actions)?n.createElement(B.Actions,{items:e.actions}):e.actions),E&&n.createElement(o.z,{view:"flat",className:g("close-btn"),onClick:E,extraProps:{"aria-label":j("label_close")}},n.createElement(i.J,{data:a.Z,size:p,className:(0,s.V)({color:"secondary"})})))))};B.Icon=e=>{let{className:t,theme:l,view:a="filled",size:o=p}=e;const r=z[l];if(!r)return null;let c;return"success"===l?c="positive":"normal"!==l&&(c=l),n.createElement("div",{className:g("icon",(0,s.V)({color:c},t))},n.createElement(i.J,{data:r[a],size:o}))},B.Title=e=>{let{text:t,className:l}=e;return n.createElement(L.x,{variant:"subheader-2",className:g("title",l)},t)},B.Actions=e=>{let{items:t,children:l,className:a}=e;const{layout:o}=u();return n.createElement(d.k,{className:g("actions",{minContent:"horizontal"===o},a),direction:"row",gap:"3",wrap:!0,alignItems:"horizontal"===o?"center":"flex-start"},(null===t||void 0===t?void 0:t.map(((e,t)=>{let{handler:l,text:a}=e;return n.createElement(v,{key:t,onClick:l},a)})))||l)},B.Action=v;var _=l(5687),T=l(50528);l(5247);const S=e=>{let{topAlert:t}=e;const l=n.useRef(null),a=(e=>{const[t,l]=n.useState(0);return n.useEffect((()=>{if(e.current){const{current:t}=e;l(t.clientHeight)}}),[e]),t})(l),o=n.useCallback((e=>{const t=document.getElementsByClassName("g-root").item(0);null===t||void 0===t||t.style.setProperty("--gn-aside-top-panel-height",e+"px")}),[]),r=n.useCallback((()=>{var e;l.current&&o((null===(e=l.current)||void 0===e?void 0:e.clientHeight)||0)}),[l,o]);return n.useLayoutEffect((()=>{const e=(0,_.d)(r,200,{leading:!0});return t&&(window.addEventListener("resize",e),e()),()=>{window.removeEventListener("resize",e),o(0)}}),[t,a,l,r,o]),{topRef:l,updateTopSize:r}},I=e=>{let{topAlert:t}=e;const{topRef:l,updateTopSize:a}=S({topAlert:t}),[o,r]=n.useState(!0),i=n.useCallback((()=>{var e;r(!1),null===(e=null===t||void 0===t?void 0:t.onCloseTopAlert)||void 0===e||e.call(t)}),[t]);return n.useEffect((()=>{o||a()}),[o,a]),t&&t.message?n.createElement("div",{ref:l,className:(0,T.b)("pane-top",{opened:o})},o&&n.createElement(n.Fragment,null,n.createElement(B,{className:(0,T.b)("pane-top-alert",{centered:t.centered,dense:t.dense}),corners:"square",layout:"horizontal",theme:t.theme||"warning",icon:t.icon,title:t.title,message:t.message,actions:t.actions,onClose:t.closable?i:void 0}),n.createElement("div",{className:(0,T.b)("pane-top-divider")}))):null}},91387:(e,t,l)=>{l.d(t,{Z:()=>s});var n=l(95097),a=l(68963),o=l(68512),r=l(28989);const i=(0,l(36951).Ge)("card"),s=a.forwardRef((function(e,t){const{type:l="container",theme:s,view:c,size:d="m",children:m,className:u,onClick:v,disabled:w,selected:p}=e,g=(0,n._T)(e,["type","theme","view","size","children","className","onClick","disabled","selected"]),h="selection"===l,f="container"===l,E=("action"===l||h)&&Boolean(v)&&!(w||p),b=f?"normal":void 0,Z=f||h?"outlined":void 0,y=E?v:void 0,{onKeyDown:x}=(0,o.b)(v);return a.createElement(r.x,Object.assign({ref:t,role:E?"button":void 0,className:i({theme:s||b,view:c||Z,type:l,selected:p,size:d,disabled:w,clickable:E},u),onClick:y,onKeyDown:E?x:void 0,tabIndex:E?0:void 0},g),m)}))}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/328.f24db8bf.chunk.js b/ydb/core/viewer/monitoring/static/js/328.f24db8bf.chunk.js
deleted file mode 100644
index 5b6725dbd319..000000000000
--- a/ydb/core/viewer/monitoring/static/js/328.f24db8bf.chunk.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[328],{30328:(e,t,l)=>{l.r(t),l.d(t,{TopPanel:()=>P});var n=l(68963),a=l(77280),r=l(17176),o=l(91387),s=l(88776),i=l(39137),c=l(95216),u=l(77796);const d=n.createContext(null),m=()=>{const e=n.useContext(d);if(!e)throw new Error('Alert: `useAlertContext` hook is used out of "AlertContext"');return e},v=e=>{const{view:t}=m();return n.createElement(r.z,Object.assign({view:"filled"===t?"normal-contrast":void 0},e))};var p=l(36951);const g=18,w=(0,p.Ge)("alert"),f=e=>{let{layout:t,view:l,children:a}=e;return n.createElement(d.Provider,{value:{layout:t,view:l}},a)};var h=l(76506),E=l(80518),y=l(67585),b=l(68010);const C=e=>n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),n.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm3.1-8.55a.75.75 0 1 0-1.2-.9L7.419 8.858 6.03 7.47a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.13-.08l3-4Z",clipRule:"evenodd"}));var x=l(96261),N=l(71586),k=l(93316);const A=e=>n.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),n.createElement("path",{fill:"currentColor",d:"m14.61 6.914-7.632 8.08a1.614 1.614 0 0 1-2.69-1.66L5.5 10H2.677A1.677 1.677 0 0 1 1.12 7.7l2.323-5.807A2.216 2.216 0 0 1 5.5.5h4c.968 0 1.637.967 1.298 1.873L10 4.5h3.569a1.431 1.431 0 0 1 1.04 2.414Z"}));var Z=l(3442);const z={danger:{filled:h.Z,outlined:E.Z},info:{filled:y.Z,outlined:b.Z},success:{filled:C,outlined:x.Z},warning:{filled:N.Z,outlined:k.Z},utility:{filled:A,outlined:Z.Z},normal:null};var _=l(10288);var L=l(54973);const S=JSON.parse('{"label_close":"Close"}'),T=JSON.parse('{"label_close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c"}'),O=(0,L.e)({en:S,ru:T},"Alert"),R=e=>{const{theme:t="normal",view:l="filled",layout:d="vertical",message:m,className:v,corners:p,style:h,onClose:E,align:y,qa:b}=e;return n.createElement(f,{layout:d,view:l},n.createElement(o.Z,{style:h,className:w({corners:p},(0,c.W)({py:4,px:5},v)),theme:t,view:l,qa:b},n.createElement(u.k,{gap:"3",alignItems:y},"undefined"===typeof e.icon?n.createElement(R.Icon,{theme:t,view:l}):e.icon,n.createElement(u.k,{direction:"vertical"===d?"column":"row",gap:"5",grow:!0},n.createElement(u.k,{gap:"2",grow:!0,className:w("text-content")},n.createElement(u.k,{direction:"column",gap:"1",grow:!0,justifyContent:y},"string"===typeof e.title?n.createElement(R.Title,{text:e.title}):e.title,m)),Array.isArray(e.actions)?n.createElement(R.Actions,{items:e.actions}):e.actions),E&&n.createElement(r.z,{view:"flat",className:w("close-btn"),onClick:E,extraProps:{"aria-label":O("label_close")}},n.createElement(s.J,{data:a.Z,size:g,className:(0,i.V)({color:"secondary"})})))))};R.Icon=e=>{let{className:t,theme:l,view:a="filled",size:r=g}=e;const o=z[l];if(!o)return null;let c;return"success"===l?c="positive":"normal"!==l&&(c=l),n.createElement("div",{className:w("icon",(0,i.V)({color:c},t))},n.createElement(s.J,{data:o[a],size:r}))},R.Title=e=>{let{text:t,className:l}=e;return n.createElement(_.x,{variant:"subheader-2",className:w("title",l)},t)},R.Actions=e=>{let{items:t,children:l,className:a}=e;const{layout:r}=m();return n.createElement(u.k,{className:w("actions",{minContent:"horizontal"===r},a),direction:"row",gap:"3",wrap:!0,alignItems:"horizontal"===r?"center":"flex-start"},(null===t||void 0===t?void 0:t.map(((e,t)=>{let{handler:l,text:a}=e;return n.createElement(v,{key:t,onClick:l},a)})))||l)},R.Action=v;var j=l(5687),I=l(50528);l(5247);const J=e=>{let{topAlert:t}=e;const l=n.useRef(null),a=(e=>{const[t,l]=n.useState(0);return n.useEffect((()=>{if(e.current){const{current:t}=e;l(t.clientHeight)}}),[e]),t})(l),r=n.useCallback((e=>{const t=document.getElementsByClassName("g-root").item(0);null===t||void 0===t||t.style.setProperty("--gn-aside-top-panel-height",e+"px")}),[]),o=n.useCallback((()=>{var e;l.current&&r((null===(e=l.current)||void 0===e?void 0:e.clientHeight)||0)}),[l,r]);return n.useLayoutEffect((()=>{const e=(0,j.d)(o,200,{leading:!0});return t&&(window.addEventListener("resize",e),e()),()=>{window.removeEventListener("resize",e),r(0)}}),[t,a,l,o,r]),{topRef:l,updateTopSize:o}},P=e=>{let{topAlert:t}=e;const{topRef:l,updateTopSize:a}=J({topAlert:t}),[r,o]=n.useState(!0),s=n.useCallback((()=>{var e;o(!1),null===(e=null===t||void 0===t?void 0:t.onCloseTopAlert)||void 0===e||e.call(t)}),[t]);return n.useEffect((()=>{r||a()}),[r,a]),t&&t.message?n.createElement("div",{ref:l,className:(0,I.b)("pane-top",{opened:r})},r&&n.createElement(n.Fragment,null,n.createElement(R,{className:(0,I.b)("pane-top-alert",{centered:t.centered,dense:t.dense}),corners:"square",layout:"horizontal",theme:t.theme||"warning",icon:t.icon,title:t.title,message:t.message,actions:t.actions,onClose:t.closable?s:void 0}),n.createElement("div",{className:(0,I.b)("pane-top-divider")}))):null}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/496.5964f8aa.chunk.js b/ydb/core/viewer/monitoring/static/js/496.5964f8aa.chunk.js
new file mode 100644
index 000000000000..09a33689e1a4
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/496.5964f8aa.chunk.js
@@ -0,0 +1 @@
+(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[496],{84317:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var a=n(68963);const l=e=>a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 1.5a6.501 6.501 0 0 1 6.445 5.649.75.75 0 1 1-1.488.194A5.001 5.001 0 0 0 4.43 4.5h1.32a.75.75 0 0 1 0 1.5h-3A.75.75 0 0 1 2 5.25v-3a.75.75 0 1 1 1.5 0v1.06A6.48 6.48 0 0 1 8 1.5Zm5.25 13a.75.75 0 0 0 .75-.75v-3a.75.75 0 0 0-.75-.75h-3a.75.75 0 1 0 0 1.5h1.32a5.001 5.001 0 0 1-8.528-2.843.75.75 0 1 0-1.487.194 6.501 6.501 0 0 0 10.945 3.84v1.059c0 .414.336.75.75.75Z",clipRule:"evenodd"}))},57225:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var a=n(68963);const l=e=>a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0Zm-6 2.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8.75 5a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0V5Z",clipRule:"evenodd"}))},67585:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var a=n(68963);const l=e=>a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm1-9.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8 7.75a.75.75 0 0 1 .75.75V11a.75.75 0 0 1-1.5 0V8.5A.75.75 0 0 1 8 7.75Z",clipRule:"evenodd"}))},71549:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var a=n(68963);const l=e=>a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"m3.003 4.702 4.22-2.025a1.796 1.796 0 0 1 1.554 0l4.22 2.025a.886.886 0 0 1 .503.8V6a8.55 8.55 0 0 1-3.941 7.201l-.986.631a1.063 1.063 0 0 1-1.146 0l-.986-.63A8.55 8.55 0 0 1 2.5 6v-.498c0-.341.196-.652.503-.8Zm3.57-3.377L2.354 3.35A2.387 2.387 0 0 0 1 5.502V6a10.05 10.05 0 0 0 4.632 8.465l.986.63a2.563 2.563 0 0 0 2.764 0l.986-.63A10.05 10.05 0 0 0 15 6v-.498c0-.918-.526-1.755-1.354-2.152l-4.22-2.025a3.296 3.296 0 0 0-2.852 0ZM9.5 7a1.5 1.5 0 0 1-.75 1.3v1.95a.75.75 0 0 1-1.5 0V8.3A1.5 1.5 0 1 1 9.5 7Z",clipRule:"evenodd"}))},71586:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var a=n(68963);const l=e=>a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.836 2.244c.962-1.665 3.366-1.665 4.328 0l4.917 8.505c.964 1.666-.239 3.751-2.164 3.751H3.083c-1.925 0-3.128-2.085-2.164-3.751l4.917-8.505ZM8 5a.75.75 0 0 1 .75.75v2a.75.75 0 1 1-1.5 0v-2A.75.75 0 0 1 8 5Zm1 5.75a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z",clipRule:"evenodd"}))},2639:(e,t,n)=>{"use strict";n.d(t,{B:()=>l,M:()=>s});var a=n(68963);function l(e,t){return e.map((e=>{var n;let a;e.sub&&(a=l(e.sub,t));const s=null!==(n=t[e.name])&&void 0!==n?n:e.width;return Object.assign(Object.assign({},e),{width:s,sub:a})}))}function s(e){let{saveSizes:t,getSizes:n}=e;const[l,s]=a.useState((()=>n()));return[l,a.useCallback(((e,n)=>{s((a=>{const l=Object.assign(Object.assign({},a),{[e]:n});return t(l),l}))}),[t])]}},48897:(e,t,n)=>{"use strict";n.d(t,{X:()=>o});var a=n(68963),l=n(33180),s=n(24288);function c(e){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 17 17",width:"16",height:"16",fill:"currentColor"},e),a.createElement("path",{d:"M4 7h9v3H4z"}))}function r(e){return a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12 10",width:"16",height:"16",fill:"currentColor"},e),a.createElement("path",{d:"M.49 5.385l1.644-1.644 4.385 4.385L4.874 9.77.49 5.385zm4.384 1.096L10.356 1 12 2.644 6.519 8.126 4.874 6.48v.001z"}))}const i=(0,n(36951).Ge)("checkbox"),o=a.forwardRef((function(e,t){const{size:n="m",indeterminate:o,disabled:d=!1,content:m,children:u,title:v,style:h,className:f,qa:w}=e,{checked:p,inputProps:g}=(0,l.O)(e),b=m||u,E=a.createElement("span",{className:i("indicator")},a.createElement("span",{className:i("icon"),"aria-hidden":!0},o?a.createElement(c,{className:i("icon-svg",{type:"dash"})}):a.createElement(r,{className:i("icon-svg",{type:"tick"})})),a.createElement("input",Object.assign({},g,{className:i("control")})),a.createElement("span",{className:i("outline")}));return a.createElement(s.J,{ref:t,title:v,style:h,size:n,disabled:d,className:i({size:n,disabled:d,indeterminate:o,checked:p},f),qa:w,control:E},b)}))},84893:(e,t,n)=>{"use strict";n.d(t,{E:()=>m});var a=n(68963);const l=(0,n(36951).Ge)("progress");function s(e){const{text:t,offset:n=0}=e;return t?a.createElement("div",{className:l("text-inner"),style:{transform:"translateX(calc(var(--g-flow-direction) * ".concat(-n,"%))")}},t):null}function c(e){let{item:t}=e;const{value:n,color:s,className:c,theme:r,title:i,content:o,loading:d}=t,m={loading:d};return"undefined"===typeof s&&(m.theme=r||"default"),Number.isFinite(n)?a.createElement("div",{className:l("item",m,c),style:{width:"".concat(n,"%"),backgroundColor:s},title:i},o):null}function r(e){return e<100?e-100:0}function i(e){const{theme:t,colorStops:n,colorStopsValue:a,value:l}=e;if(n){const e=n.find(((e,t)=>{const s="number"===typeof a?a:l,c=t>1?n[t-1].stop:0,r=t=c&&s<=r}));return e?e.theme:t}return t}function o(e){const{stack:t,stackClassName:n,value:i,text:o}=e,d=r(i||function(e){return e.reduce(((e,t)=>{let{value:n}=t;return e+n}),0)}(t));return a.createElement("div",{className:l("stack",n),style:{transform:"translateX(calc(var(--g-flow-direction) * ".concat(d,"%))")}},a.createElement("div",{className:l("item"),style:{width:"".concat(-d,"%")}}),t.map(((e,t)=>a.createElement(c,{key:t,item:e}))),a.createElement(s,{offset:d,text:o}))}function d(e){const{value:t,loading:n,text:c}=e,o=r(t);return Number.isFinite(t)?a.createElement("div",{className:l("item",{theme:i(e),loading:n}),style:{transform:"translateX(calc(var(--g-flow-direction) * ".concat(o,"%))")}},a.createElement(s,{offset:o,text:c})):null}const m=a.forwardRef((function(e,t){const{text:n="",theme:s="default",size:c="m",loading:r=!1,className:i,qa:m}=e,u=Object.assign(Object.assign({},e),{text:n,theme:s,size:c,loading:r});return a.createElement("div",{ref:t,className:l({size:c},i),"data-qa":m},a.createElement("div",{className:l("text")},n),function(e){return void 0!==e.stack}(u)?a.createElement(o,Object.assign({},u)):a.createElement(d,Object.assign({},u)))}))},56711:(e,t,n)=>{"use strict";n.d(t,{O:()=>s});var a=n(68963);const l=(0,n(36951).Ge)("skeleton");function s(e){let{className:t,style:n,qa:s}=e;return a.createElement("div",{className:l(null,t),style:n,"data-qa":s})}},27320:(e,t,n)=>{"use strict";n.d(t,{u:()=>d});var a=n(68963),l=n(48027),s=n(79004),c=n(44920),r=n(10288);const i=(0,n(36951).Ge)("tooltip"),o=["bottom","top"],d=e=>{const{children:t,content:n,disabled:d,placement:m=o,qa:u,id:v,className:h,style:f,disablePortal:w,contentClassName:p,openDelay:g=1e3,closeDelay:b}=e,[E,x]=a.useState(null),N=(0,s.p)(E,{openDelay:g,closeDelay:b,preventTriggerOnFocus:!0}),y=a.Children.only(t),j=y.ref,k=(0,l.c)(x,j);return a.createElement(a.Fragment,null,a.cloneElement(y,{ref:k}),E?a.createElement(c.G,{id:v,role:"tooltip",className:i(null,h),style:f,open:N&&!d,placement:m,anchorRef:{current:E},disablePortal:w,disableEscapeKeyDown:!0,disableOutsideClick:!0,disableLayer:!0,qa:u},a.createElement("div",{className:i("content",p)},a.createElement(r.x,{variant:"body-short",color:"complementary"},n))):null)}},56829:(e,t,n)=>{"use strict";n.d(t,{F:()=>l});var a=n(40797);function l(){return(0,a.T)().theme}},38626:e=>{e.exports=function(e,t,n,a){for(var l=-1,s=null==e?0:e.length;++l{var a=n(46067);e.exports=function(e,t,n,l){return a(e,(function(e,a,s){t(l,e,n(e),s)})),l}},81670:(e,t,n)=>{var a=n(38626),l=n(30277),s=n(67173),c=n(46296);e.exports=function(e,t){return function(n,r){var i=c(n)?a:l,o=t?t():{};return i(n,e,s(r,2),o)}}},46754:(e,t,n)=>{var a=n(69519),l=n(81670),s=Object.prototype.hasOwnProperty,c=l((function(e,t,n){s.call(e,n)?e[n].push(t):a(e,n,[t])}));e.exports=c},40067:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var a=n(75859),l=n(68963),s=n(30044),c=n(99879);const r="--ydb-tree-view-level",i=(0,c.G)("ydb-tree-view");function o(e){let{children:t,name:n,title:c,icon:o,collapsed:d=!0,active:m=!1,onClick:u,onArrowClick:v,hasArrow:h=!1,actions:f,additionalNodeElements:w,level:p}=e;const g=l.useCallback((e=>{if(!u)return;e.nativeEvent.composedPath().some((e=>e instanceof HTMLElement&&("BUTTON"===e.nodeName&&!e.hasAttribute("disabled")||e.hasAttribute("tabindex")&&e.tabIndex>-1)))||u()}),[u]),b=v||u;let E="tree-view_arrow",x="tree-view_children";return d&&(E+=" tree-view_arrow-collapsed",x+=" tree-view_children-collapsed"),(0,a.jsx)("div",{className:i(),style:{[r]:p},children:(0,a.jsxs)("div",{className:"tree-view",children:[(0,a.jsxs)("div",{className:"".concat("tree-view_item"," ").concat(i("item",{active:m})),onClick:g,children:[(0,a.jsx)("button",{type:"button",className:"".concat(E," ").concat(i("arrow",{collapsed:d,hidden:!h})),disabled:!b,onClick:b}),(0,a.jsxs)("div",{className:i("content"),children:[o&&(0,a.jsx)("div",{className:i("icon"),children:o}),(0,a.jsx)("div",{className:i("text"),title:c,children:n}),f&&f.length>0&&(0,a.jsxs)("div",{className:i("actions"),children:[w,(0,a.jsx)(s.h,{defaultSwitcherProps:{view:"flat-secondary",size:"s",pin:"brick-brick"},items:f})]})]})]}),(0,a.jsx)("div",{className:"".concat(x," ").concat(i("container",{collapsed:d})),children:d?null:t})]})})}},99879:(e,t,n)=>{"use strict";n.d(t,{G:()=>a});const a=(0,n(5247).withNaming)({e:"__",m:"_"})}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/5246.224ba018.chunk.js b/ydb/core/viewer/monitoring/static/js/5246.224ba018.chunk.js
new file mode 100644
index 000000000000..19c7987771fd
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/5246.224ba018.chunk.js
@@ -0,0 +1 @@
+(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[5246],{94790:(e,t,s)=>{"use strict";s.d(t,{f:()=>l});var a=s(68963),r=s(44920),n=s(75859);const l=e=>{let{children:t,content:s,className:l,hasArrow:i=!0,placement:o=["top","bottom"],...c}=e;const[d,p]=a.useState(!1),u=a.useRef(null);return(0,n.jsxs)(a.Fragment,{children:[(0,n.jsx)(r.G,{anchorRef:u,open:d,placement:o,hasArrow:i,...c,children:s}),(0,n.jsx)("span",{className:l,ref:u,onMouseEnter:()=>{p(!0)},onMouseLeave:()=>{p(!1)},children:t})]})}},79023:(e,t,s)=>{"use strict";s.d(t,{u:()=>b});var a,r,n,l,i,o,c,d,p,u,h,m=s(88776),v=s(24362),g=s(68963);function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{image:t,title:s,description:a,actions:r,size:n="m",position:l="center"}=e;return(0,x.jsx)("div",{className:y({size:n}),children:(0,x.jsxs)("div",{className:y("wrapper",{size:n,position:l}),children:[(0,x.jsx)("div",{className:y("image"),children:t||(0,x.jsx)(m.J,{data:j,width:z[n],height:z[n]})}),(0,x.jsx)("div",{className:y("title",{size:n}),children:s}),(0,x.jsx)("div",{className:y("description"),children:a}),(0,x.jsx)("div",{className:y("actions"),children:r})]})})}},82073:(e,t,s)=>{"use strict";s.d(t,{J:()=>i});var a=s(79023),r=s(56350),n=s(68746),l=s(75859);const i=e=>{let{title:t,description:s,...i}=e;return(0,l.jsx)(a.u,{image:(0,l.jsx)(r.Q,{name:"403"}),title:t||(0,n.Z)("403.title"),description:s||(0,n.Z)("403.description"),...i})}},86969:(e,t,s)=>{"use strict";s.d(t,{J:()=>a.J});var a=s(82073)},8747:(e,t,s)=>{"use strict";s.d(t,{V:()=>n});var a=s(68746),r=s(75859);const n=e=>{let{error:t,className:s,defaultMessage:n=(0,a.Z)("responseError.defaultMessage")}=e,l="";return t&&"string"===typeof t&&(l=t),t&&"object"===typeof t&&("data"in t&&"string"===typeof t.data?l=t.data:"statusText"in t&&"string"===typeof t.statusText?l=t.statusText:"message"in t&&"string"===typeof t.message&&(l=t.message)),(0,r.jsx)("div",{className:"error ".concat(s),children:l||n})}},26688:(e,t,s)=>{"use strict";s.d(t,{V:()=>a.V});var a=s(8747)},68746:(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var a=s(30817);const r=JSON.parse('{"403.title":"Access denied","403.description":"You don\u2019t have the necessary roles to view this page.","responseError.defaultMessage":"Response error"}'),n=JSON.parse('{"403.title":"\u0414\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d","403.description":"\u0423 \u0432\u0430\u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0430\u0432 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.","responseError.defaultMessage":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430"}'),l=(0,a.wZ)("ydb-errors-access-denied",{ru:n,en:r})},63104:(e,t,s)=>{"use strict";s.d(t,{Y:()=>u});var a=s(54665),r=s(24362),n=s(52317),l=s(94790),i=s(74170),o=s(42784),c=s(27506),d=s(75859);const p=(0,r.cn)("tablet"),u=e=>{var t;let{tablet:s={},tenantName:r}=e;const{TabletId:u,NodeId:h,Type:m}=s,v=null===(t=s.Overall)||void 0===t?void 0:t.toLowerCase(),g=u&&(0,a.ax)(a.ZP.tablet,{id:u},{nodeId:h,tenantName:r,type:m});return(0,d.jsx)(l.f,{className:p("wrapper"),content:(0,d.jsx)(c.Fb,{data:s,className:p("popup-content")}),children:(0,d.jsx)(i.h,{to:g,children:(0,d.jsx)(o.v,{className:p({status:v}),text:(0,n.qV)(s.Type)})})})}},55246:(e,t,s)=>{"use strict";s.r(t),s.d(t,{TabletsFilters:()=>Y});var a=s(68963),r=s(2982),n=s(2418),l=s(99090),i=s.n(l),o=s(49352),c=s(83570),d=s.n(c),p=s(52846),u=s(95408),h=s(86969),m=s(26688),v=s(63104),g=s(79061),f=s(99337),j=s(99399),x=s(36313),y=s(87555);const z=[],b=(0,x.P1)(((e,t)=>{var s;return null===(s=(0,j.em)(e,t))||void 0===s?void 0:s.TabletStateInfo}),((e,t,s)=>s),((e,t,s,a)=>a),((e,t,s)=>{let a=null!==e&&void 0!==e?e:z;var r,n;s.length>0&&(a=null===(r=a)||void 0===r?void 0:r.filter((e=>s.some((t=>e.Type===t)))));t.length>0&&(a=null===(n=a)||void 0===n?void 0:n.filter((e=>t.some((t=>e.State===t)))));return a.length>0?a:z}),{argsMemoize:x.PP,argsMemoizeOptions:{equalityCheck:y.wU}});var N=s(24362),w=s(52317),E=s(34051),k=s(83496),S=s(30817);const F=JSON.parse('{"page.title":"Tablets"}'),M=JSON.parse('{"page.title":"\u0422\u0430\u0431\u043b\u0435\u0442\u043a\u0438"}'),A=(0,S.wZ)("ydb-tablets-filters-page",{en:F,ru:M});var C=s(75859);const K=(0,N.cn)("tablets-filters"),O=u.z.preprocess((e=>Array.isArray(e)?e.filter(Boolean).sort():[]),u.z.string().array()),T=u.z.preprocess((e=>Array.isArray(e)?e.flatMap((e=>k.LV[e]||e)).filter(Boolean):[]),u.z.string().array()),I=220,P=300;function Y(){var e;const[t,s]=(0,p.useQueryParams)({nodeIds:p.ArrayParam,type:p.ArrayParam,state:p.ArrayParam,path:p.StringParam,clusterName:p.StringParam}),n=null!==(e=t.path)&&void 0!==e?e:void 0,l=(0,E.zL)();a.useEffect((()=>{l((0,g.J)("tablets",{tenantName:n}))}),[l,n]);const c=O.parse(t.nodeIds),{currentData:u,isFetching:x,error:y}=j.zg.useGetTabletsInfoQuery({nodes:c,path:n},{pollingInterval:w.t_}),{data:z}=f.W.useGetNodesListQuery({},{pollingInterval:w.t_}),N=x&&void 0===u,S=T.parse(t.state),F=k.uk.map((e=>({value:e,content:e}))),M=O.parse(t.type),I=Array.from(new Set(...[i()(null===u||void 0===u?void 0:u.TabletStateInfo,(e=>e.Type))])).map((e=>({value:String(e),content:e}))),P=(0,E.ix)((e=>b(e,{nodes:c,path:n},S,M))),Y=(e,t)=>(0,C.jsx)(v.Y,{tablet:P[e],tenantName:n},t),L=i()(z,(e=>({content:e.Id,value:String(e.Id),data:e.Host})));return(0,C.jsxs)(a.Fragment,{children:[(0,C.jsx)(o.ql,{children:(0,C.jsx)("title",{children:"".concat(A("page.title")," \u2014 ").concat(n||t.clusterName||w.DO)})}),N?(0,C.jsx)("div",{className:"loader",children:(0,C.jsx)(r.a,{size:"l"})}):y&&"object"===typeof y&&"status"in y&&403===y.status?(0,C.jsx)(h.J,{}):(0,C.jsxs)("div",{className:K(),children:[n?(0,C.jsxs)("div",{className:K("tenant"),children:[(0,C.jsx)("span",{className:K("label"),children:"Database: "})," ",n]}):null,(0,C.jsx)(D,{nodesForSelect:L,nodeFilter:c,onChangeNodes:e=>s({nodeIds:e}),states:F,stateFilter:S,onChangeStates:e=>s({state:e}),types:I,typeFilter:M,onChangeTypes:e=>s({type:e})}),y?(0,C.jsx)(m.V,{error:y}):null,P.length>0?(0,C.jsx)("div",{className:K("items"),children:(0,C.jsx)(d(),{itemRenderer:Y,length:P.length,type:"uniform"})}):!y&&(0,C.jsx)("div",{className:K("empty-message"),children:"no tablets"})]})]})}function D(e){let{nodesForSelect:t,nodeFilter:s,onChangeNodes:a,states:r,stateFilter:l,onChangeStates:i,types:o,typeFilter:c,onChangeTypes:d}=e;return(0,C.jsxs)("div",{className:K("filters"),children:[(0,C.jsx)("div",{className:K("filter-wrapper"),children:(0,C.jsx)(n.P,{multiple:!0,label:"Node ID",width:I,popupWidth:P,placeholder:"All",options:t,value:s,onUpdate:a,renderOption:e=>(0,C.jsxs)("div",{className:K("node"),children:[(0,C.jsx)("div",{children:e.content}),(0,C.jsx)("div",{className:K("node-meta"),title:e.data,children:e.data})]}),getOptionHeight:()=>40})}),(0,C.jsx)("div",{className:K("filter-wrapper"),children:(0,C.jsx)(n.P,{multiple:!0,label:"multiple",width:I,placeholder:"All",options:r,value:l,onUpdate:i})}),(0,C.jsx)("div",{className:K("filter-wrapper"),children:(0,C.jsx)(n.P,{multiple:!0,label:"Types",width:I,placeholder:"All",options:o,value:c,onUpdate:d})})]})}},83496:(e,t,s)=>{"use strict";s.d(t,{FW:()=>o,KR:()=>c,LV:()=>i,uk:()=>l});var a=s(75850),r=s(28164);const n={[r.g.Dead]:a.K.Red,[r.g.Created]:a.K.Yellow,[r.g.ResolveStateStorage]:a.K.Yellow,[r.g.Candidate]:a.K.Yellow,[r.g.BlockBlobStorage]:a.K.Yellow,[r.g.WriteZeroEntry]:a.K.Yellow,[r.g.Restored]:a.K.Yellow,[r.g.Discover]:a.K.Yellow,[r.g.Lock]:a.K.Yellow,[r.g.Stopped]:a.K.Yellow,[r.g.ResolveLeader]:a.K.Yellow,[r.g.RebuildGraph]:a.K.Yellow,[r.g.Deleted]:a.K.Green,[r.g.Active]:a.K.Green},l=Object.keys(r.g),i=Object.entries(n).reduce(((e,t)=>{let[s,a]=t;return e[a]?e[a].push(s):e[a]=[s],e}),{}),o=e=>{if(!e)return a.K.Grey;return t=e,Object.values(a.K).includes(t)?e:n[e];var t};function c(e){if(!e)return"unknown";switch(e){case r.g.Dead:return"danger";case r.g.Active:case r.g.Deleted:return"success";default:return"warning"}}},16484:(e,t,s)=>{var a=s(46067),r=s(75345);e.exports=function(e,t){var s=-1,n=r(e)?Array(e.length):[];return a(e,(function(e,a,r){n[++s]=t(e,a,r)})),n}},99090:(e,t,s)=>{var a=s(40341),r=s(67173),n=s(16484),l=s(46296);e.exports=function(e,t){return(l(e)?a:n)(e,r(t,3))}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/530.582a0d34.chunk.js b/ydb/core/viewer/monitoring/static/js/530.582a0d34.chunk.js
new file mode 100644
index 000000000000..28343bc2e6c1
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/530.582a0d34.chunk.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[530],{21986:(e,t,n)=>{n.d(t,{J:()=>o});var i=n(68963),a=n(32257),s=n(68330),l=n(88776);const d=(0,n(31580).G)("help-popover"),r=16;function o(e){var t;return i.createElement(s.J,Object.assign({},e,{className:d(null,e.className)}),i.createElement("button",Object.assign({ref:e.buttonRef,type:"button"},e.buttonProps,{className:d("button",null===(t=e.buttonProps)||void 0===t?void 0:t.className)}),i.createElement(l.J,{data:a.Z,size:r})))}},31580:(e,t,n)=>{n.d(t,{G:()=>a});var i=n(5247);(0,i.withNaming)({e:"__",m:"_",v:"_"});const a=(0,i.withNaming)({n:"gc-",e:"__",m:"_",v:"_"})},84317:(e,t,n)=>{n.d(t,{Z:()=>a});var i=n(68963);const a=e=>i.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),i.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 1.5a6.501 6.501 0 0 1 6.445 5.649.75.75 0 1 1-1.488.194A5.001 5.001 0 0 0 4.43 4.5h1.32a.75.75 0 0 1 0 1.5h-3A.75.75 0 0 1 2 5.25v-3a.75.75 0 1 1 1.5 0v1.06A6.48 6.48 0 0 1 8 1.5Zm5.25 13a.75.75 0 0 0 .75-.75v-3a.75.75 0 0 0-.75-.75h-3a.75.75 0 1 0 0 1.5h1.32a5.001 5.001 0 0 1-8.528-2.843.75.75 0 1 0-1.487.194 6.501 6.501 0 0 0 10.945 3.84v1.059c0 .414.336.75.75.75Z",clipRule:"evenodd"}))},2639:(e,t,n)=>{n.d(t,{B:()=>a,M:()=>s});var i=n(68963);function a(e,t){return e.map((e=>{var n;let i;e.sub&&(i=a(e.sub,t));const s=null!==(n=t[e.name])&&void 0!==n?n:e.width;return Object.assign(Object.assign({},e),{width:s,sub:i})}))}function s(e){let{saveSizes:t,getSizes:n}=e;const[a,s]=i.useState((()=>n()));return[a,i.useCallback(((e,n)=>{s((i=>{const a=Object.assign(Object.assign({},i),{[e]:n});return t(a),a}))}),[t])]}},48857:(e,t,n)=>{n.d(t,{N:()=>Se});var i=n(68963),a=n(21645),s=n(17176),l=n(88776),d=n(20397);const r=e=>i.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),i.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M10.5 6V5a2.5 2.5 0 0 0-5 0v1h5ZM4 5v1a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3V5a4 4 0 0 0-8 0Zm6.5 2.5H12A1.5 1.5 0 0 1 13.5 9v3a1.5 1.5 0 0 1-1.5 1.5H4A1.5 1.5 0 0 1 2.5 12V9A1.5 1.5 0 0 1 4 7.5h6.5Zm-1.75 2a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2Z",clipRule:"evenodd"}));var o=n(90966),c=n(89646),u=n(68512),m=n(10288),p=n(48027),I=n(38581),v=n(34505),b=n(24119),g=n(58414),f=n(95097),h=n(77796),y=n(36951);const S=(0,y.Ge)("list-container-view"),x=i.forwardRef((function(e,t){let{as:n="div",role:a="listbox",children:s,id:l,className:d,fixedHeight:r,extraProps:o,qa:c,style:u}=e;return i.createElement(h.k,Object.assign({qa:c,as:n,direction:"column",ref:t,grow:!0,tabIndex:-1,id:l,role:a,style:u,className:S({"fixed-height":r},d)},o),s)})),B=e=>null!==e&&"object"===typeof e&&"data"in e,E=(0,y.Ge)("list-recursive-renderer");function O(e){var t,{id:n,itemSchema:a,list:s}=e,l=(0,f._T)(e,["id","itemSchema","list"]);const d=l.children(n,s.structure.idToFlattenIndex[n]);if(B(a)&&a.children){const e=!s.state.expandedById||!(n in s.state.expandedById)||s.state.expandedById[n];return i.createElement("ul",{style:l.style,className:E(null,l.className),role:"group"},d,e&&Boolean(null===(t=s.structure.groupsState[n])||void 0===t?void 0:t.childrenIds)&&a.children.map(((e,t)=>i.createElement(O,Object.assign({list:s,id:s.structure.groupsState[n].childrenIds[t],itemSchema:e,key:t},l)))))}return d}function w(e){var{containerRef:t,renderItem:n,list:a}=e,s=(0,f._T)(e,["containerRef","renderItem","list"]);return i.createElement(x,Object.assign({ref:t},s),a.structure.items.map(((e,t)=>i.createElement(O,{key:t,itemSchema:e,id:a.structure.rootIds[t],list:a},n))))}const C=e=>{let{list:t,multiple:n}=e;return e=>{let{id:i}=e;t.state.disabledById[i]||(t.state.setActiveItemId(i),t.state.expandedById&&i in t.state.expandedById&&t.state.setExpanded?t.state.setExpanded((e=>Object.assign(Object.assign({},e),{[i]:!e[i]}))):t.state.setSelected((e=>Object.assign(Object.assign({},n?e:{}),{[i]:!n||!e[i]}))))}};var j=n(59926);const k=e=>{let{list:t,index:n,step:i,disabledItems:a={}}=e;const s=t.length;let l=(n+s)%s;for(let d=0;d{var n;if(document){const i=(t||document).querySelector("[".concat(N,'="').concat(e,'"]'));i&&(null===(n=i.scrollIntoView)||void 0===n||n.call(i,{block:"nearest"}))}};var F=n(46318),P=n(57542);const D=e=>i.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),i.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M13.03 10.53a.75.75 0 0 1-1.06 0L8 6.56l-3.97 3.97a.75.75 0 1 1-1.06-1.06l4.5-4.5a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1 0 1.06Z",clipRule:"evenodd"}));var z=n(39137),T=n(95216);const L=(0,y.Ge)("list-item-view"),A=e=>{var{children:t,indentation:n=1,className:a}=e,s=(0,f._T)(e,["children","indentation","className"]);return i.createElement(h.k,Object.assign({width:16*n,className:L("slot",a)},s),t)},q=i.forwardRef((function(e,t){var{id:n,as:a,size:s="m",active:d,selected:r,disabled:o,activeOnHover:c,className:u,hasSelectionIcon:p=!0,indentation:I,startSlot:v,subtitle:b,endSlot:g,title:y,height:S,expanded:x,dragging:B,style:E,role:O="option",onClick:w}=e,C=(0,f._T)(e,["id","as","size","active","selected","disabled","activeOnHover","className","hasSelectionIcon","indentation","startSlot","subtitle","endSlot","title","height","expanded","dragging","style","role","onClick"]);const j=a||"div",k="boolean"===typeof x,_=o?void 0:w,q="boolean"===typeof c?c:Boolean(_);return i.createElement(h.k,Object.assign({[N]:n,role:O,"aria-selected":r,onClick:_,className:L({active:B||d,selected:r&&!p,activeOnHover:q,radius:s,dragging:B,clickable:Boolean(_)},(0,T.W)({px:2},u)),style:Object.assign({minHeight:null!==S&&void 0!==S?S:R[s][Number(Boolean(b))]},E),as:j,ref:t,alignItems:"center",gap:"4",justifyContent:"space-between"},C),i.createElement(h.k,{gap:"2",alignItems:"center",grow:!0},p&&i.createElement(A,null,r?i.createElement(l.J,{data:F.Z,size:16,className:(0,z.V)({color:"info"})}):null),(e=>e&&e>=1?i.createElement(A,{indentation:Math.floor(e)}):null)(I),k?i.createElement(l.J,{className:L("icon",(0,z.V)({color:o?"hint":void 0})),data:x?P.Z:D,size:16}):null,v,i.createElement("div",{className:L("main-content")},"string"===typeof y?i.createElement(m.x,{ellipsis:!0,color:o?"hint":void 0,variant:k?"subheader-1":void 0},y):y,"string"===typeof b?i.createElement(m.x,{ellipsis:!0,color:o?"hint":"secondary"},b):b)),g)})),M=(0,y.Ge)("tree-list"),V=e=>{let{qa:t,id:n,size:a="m",className:s,list:l,multiple:d,containerRef:r,renderItem:o,renderContainer:u=w,onItemClick:m,mapItemDataToProps:p}=e;const I=(0,c.u)(),v=null!==n&&void 0!==n?n:I,b=i.useRef(null),g=null!==r&&void 0!==r?r:b,f=i.useMemo((()=>{if(null===m)return;return(e,t)=>{const n={id:e.id,list:l};if(m)null===m||void 0===m||m(n,t);else{C({list:l,multiple:d})(n,t)}}}),[m,l,d]);(e=>{let{containerRef:t,onItemClick:n,enabled:a,list:s}=e;const l=i.useCallback((function(e){let n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];var i,a;"number"===typeof e&&s.structure.visibleFlattenIds[e]&&(n&&_(s.structure.visibleFlattenIds[e],null===t||void 0===t?void 0:t.current),null===(a=(i=s.state).setActiveItemId)||void 0===a||a.call(i,s.structure.visibleFlattenIds[e]))}),[s.structure.visibleFlattenIds,s.state,t]),d=i.useCallback((function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;e.preventDefault();const i=s.structure.visibleFlattenIds.findIndex((e=>e===s.state.activeItemId)),a=k({list:s.structure.visibleFlattenIds,index:(i>-1?i:n)+t,step:Math.sign(t),disabledItems:s.state.disabledById});l(a)}),[l,s.state.activeItemId,s.state.disabledById,s.structure.visibleFlattenIds]);i.useLayoutEffect((()=>{const e=null===t||void 0===t?void 0:t.current;if(a||!e)return;const i=e=>{switch(e.key){case j.V.ARROW_DOWN:d(e,1,-1);break;case j.V.ARROW_UP:d(e,-1);break;case j.V.SPACEBAR:case j.V.ENTER:s.state.activeItemId&&!s.state.disabledById[s.state.activeItemId]&&(e.preventDefault(),null===n||void 0===n||n({id:s.state.activeItemId}))}};return e.addEventListener("keydown",i),()=>{e.removeEventListener("keydown",i)}}),[t,a,d,s.state.activeItemId,s.state.disabledById,n])})({containerRef:g,onItemClick:f,list:l});return u({qa:t,id:"list-".concat(v),size:a,containerRef:g,className:M(null,s),list:l,renderItem:(e,n,s)=>{const r=(e=>{let{qa:t,list:n,onItemClick:i,mapItemDataToProps:a,size:s="m",multiple:l=!1,id:d}=e;var r;const o=Object.assign(Object.assign(Object.assign({},n.structure.itemsState[d]),n.structure.groupsState[d]),{isLastItem:d===n.structure.visibleFlattenIds[n.structure.visibleFlattenIds.length-1]});let c;n.state.expandedById&&d in n.state.expandedById&&(c=n.state.expandedById[d]);const u=Object.assign({id:d,size:s,expanded:c,active:d===n.state.activeItemId,indentation:o.indentation,disabled:Boolean(null===(r=n.state.disabledById)||void 0===r?void 0:r[d]),selected:Boolean(n.state.selectedById[d]),hasSelectionIcon:Boolean(l)&&!o.childrenIds,onClick:i?e=>i({id:d},e):void 0},a(n.structure.itemsById[d]));return t&&(u.qa=((e,t)=>"".concat(e,"-").concat(t))(t,d)),{data:n.structure.itemsById[d],props:u,context:o}})({qa:t,id:e,size:a,multiple:d,mapItemDataToProps:p,onItemClick:f,list:l});return o?o({data:r.data,props:r.props,context:r.context,index:n,renderContainerProps:s,list:l}):i.createElement(q,Object.assign({},r.props,s))}})};var Z=n(79805);const J=e=>{let{item:t,groupedId:n,getItemId:i}=e,a=n;return"function"===typeof i?a=i(B(t)?t.data:t):t&&"object"===typeof t&&"id"in t&&t.id&&(a=t.id),a},U=(e,t)=>t?"".concat(t).concat("-").concat(e):"".concat(e),W=e=>e.split("-");function G(e){let{items:t,expandedById:n,getItemId:a}=e;const s=i.useMemo((()=>function(e){let{items:t,getItemId:n,expandedById:i={}}=e;const a=[],s=(e,t,l,d)=>{const r=U(l,d),o=J({groupedId:r,item:t,getItemId:n});return d||a.push(o),e.push(o),B(t)&&t.children&&(o in i&&!i[o]||e.push(...t.children.reduce(((e,t,n)=>s(e,t,n,o)),[]))),e},l=t.reduce(((e,t,n)=>s(e,t,n)),[]),d={};for(const[r,o]of l.entries())d[o]=r;return{rootIds:a,visibleFlattenIds:l,idToFlattenIndex:d}}({items:t,expandedById:n,getItemId:a})),[t,n,a]);return s}function H(e){let{items:t,defaultExpandedState:n="expanded",getItemId:i}=e;const a={itemsById:{},groupsState:{},itemsState:{},initialState:{disabledById:{},selectedById:{},expandedById:{}}},s=e=>{let{item:t,index:l,parentGroupedId:d,parentId:r}=e;const o=U(l,d),c=J({groupedId:o,item:t,getItemId:i});r&&a.groupsState[r].childrenIds.push(c),a.itemsById[c]=t.data,a.itemsState[c]||(a.itemsState[c]={indentation:0}),"undefined"!==typeof r&&(a.itemsState[c].parentId=r),"undefined"!==typeof t.selected&&(a.initialState.selectedById[c]=t.selected),"undefined"!==typeof t.disabled&&(a.initialState.disabledById[c]=t.disabled),o&&(a.itemsState[c].indentation=W(o).length-1),t.children&&(a.groupsState[c]={childrenIds:[]},a.initialState.expandedById&&("undefined"===typeof t.expanded?a.initialState.expandedById[c]="expanded"===n:a.initialState.expandedById[c]=t.expanded),t.children.forEach(((e,t)=>{s({item:e,index:t,parentGroupedId:o,parentId:c})})))};return t.forEach(((e,t)=>B(e)?s({item:e,index:t}):(e=>{let{item:t,index:n}=e;const s=J({groupedId:String(n),item:t,getItemId:i});a.itemsById[s]=t,a.itemsState[s]||(a.itemsState[s]={indentation:0}),t&&"object"===typeof t&&("selected"in t&&"boolean"===typeof t.selected&&(a.initialState.selectedById[s]=t.selected),"disabled"in t&&"boolean"===typeof t.disabled&&(a.initialState.disabledById[s]=t.disabled))})({item:e,index:t}))),a}const K=e=>{let{items:t,getItemId:n,defaultExpandedState:a="expanded",withExpandedState:s=!0,initialState:l,controlledState:d}=e;const{itemsById:r,groupsState:o,itemsState:c,initialState:u}=function(e){let{items:t,getItemId:n,defaultExpandedState:a}=e;const s=i.useRef(n).current;return i.useMemo((()=>H({items:t,getItemId:s,defaultExpandedState:a})),[s,a,t])}({items:t,getItemId:n,defaultExpandedState:a}),m=(e=>{let{initialState:t,withExpandedState:n}=e;const a=i.useRef(t),s=a.current!==t;a.current=t;const[l,d]=i.useState((()=>{var e;return null!==(e=null===t||void 0===t?void 0:t.disabledById)&&void 0!==e?e:{}})),[r,o]=i.useState((()=>{var e;return null!==(e=null===t||void 0===t?void 0:t.selectedById)&&void 0!==e?e:{}})),[c,u]=i.useState((()=>{var e;return null!==(e=null===t||void 0===t?void 0:t.expandedById)&&void 0!==e?e:{}})),[m,p]=i.useState((()=>null===t||void 0===t?void 0:t.activeItemId));s&&((null===t||void 0===t?void 0:t.disabledById)&&d((e=>Object.assign(Object.assign({},t.disabledById),e))),(null===t||void 0===t?void 0:t.selectedById)&&o((e=>Object.assign(Object.assign({},t.selectedById),e))),(null===t||void 0===t?void 0:t.expandedById)&&u((e=>Object.assign(Object.assign({},t.expandedById),e))),p((e=>null!==e&&void 0!==e?e:null===t||void 0===t?void 0:t.activeItemId)));const I={disabledById:l,selectedById:r,activeItemId:m,setDisabled:d,setSelected:o,setActiveItemId:p};return n&&(I.expandedById=c,I.setExpanded=u),I})({initialState:i.useMemo((()=>({expandedById:Object.assign(Object.assign({},null===l||void 0===l?void 0:l.expandedById),u.expandedById),selectedById:Object.assign(Object.assign({},null===l||void 0===l?void 0:l.selectedById),u.selectedById),disabledById:Object.assign(Object.assign({},null===l||void 0===l?void 0:l.disabledById),u.disabledById)})),[u.disabledById,u.expandedById,u.selectedById,null===l||void 0===l?void 0:l.disabledById,null===l||void 0===l?void 0:l.expandedById,null===l||void 0===l?void 0:l.selectedById]),withExpandedState:s}),{visibleFlattenIds:p,idToFlattenIndex:I,rootIds:v}=G({items:t,expandedById:m.expandedById,getItemId:n});return{state:i.useMemo((()=>d?Object.assign(Object.assign({},m),d):m),[d,m]),structure:{rootIds:v,items:t,visibleFlattenIds:p,idToFlattenIndex:I,itemsById:r,groupsState:o,itemsState:c}}},X=e=>{let{defaultValue:t=[],value:n,onUpdate:a}=e;const[s,l]=i.useState(t),d=null!==n&&void 0!==n?n:s,r=!n;return i.useMemo((()=>{const e=d.reduce(((e,t)=>(e[t]=!0,e)),{});return{value:d,selectedById:e,setSelected:t=>{const n=(e=>Object.entries(e).reduce(((e,t)=>{let[n,i]=t;return i&&e.push(n),e}),[]))("function"===typeof t?t(e):t);r?l(n):null===a||void 0===a||a(n)},setInnerValue:r?l:void 0}}),[a,r,d])},Y=(0,y.Ge)("tree-select"),Q=e=>i.createElement(q,Object.assign({},e.props,e.renderContainerProps)),$=i.forwardRef((function(e,t){let{id:n,qa:a,title:s,placement:l,slotBeforeListBody:d,slotAfterListBody:r,size:o="m",defaultOpen:u,width:m,containerRef:f,className:h,containerClassName:y,popupClassName:S,open:x,multiple:B,popupWidth:E,popupDisablePortal:O,items:w,value:j,defaultValue:k,withExpandedState:N=!0,defaultExpandedState:R="expanded",onClose:_,onOpenChange:F,onUpdate:P,renderControl:D,renderItem:z=Q,renderContainer:T,mapItemDataToProps:L,onFocus:A,onBlur:q,getItemId:M,onItemClick:J}=e;const U=(0,Z.X)(),W=(0,c.u)(),G=null!==n&&void 0!==n?n:W,H="tree-select-popup-".concat(G),$=i.useRef(null),ee=i.useRef(null),te=i.useRef(null),ne=null!==f&&void 0!==f?f:te,ie=(0,p.c)(t,ee),{toggleOpen:ae,open:se}=(0,v.Z)({defaultOpen:u,onClose:_,onOpenChange:F,open:x}),{value:le,selectedById:de,setSelected:re}=X({value:j,defaultValue:k,onUpdate:P}),oe=K({controlledState:{selectedById:de,setSelected:re},items:w,getItemId:M,defaultExpandedState:R,withExpandedState:N}),ce=i.useMemo((()=>{if(null===J)return;return(e,t)=>{const n={id:e.id,list:oe};if(J)null===J||void 0===J||J(n,t);else{C({list:oe,multiple:B})(n,t);const i=oe.state.expandedById&&e.id in oe.state.expandedById;B||i||ae(!1)}}}),[J,oe,B,ae]);i.useLayoutEffect((()=>{var e;return se&&(null===(e=ne.current)||void 0===e||e.focus()),()=>oe.state.setActiveItemId(void 0)}),[se]);const ue=i.useCallback((()=>ae(!1)),[ae]),{focusWithinProps:me}=(0,I.L)({onFocusWithin:A,onBlurWithin:i.useCallback((e=>{null===q||void 0===q||q(e),ue()}),[ue,q])}),pe={list:oe,open:se,toggleOpen:ae,clearValue:()=>oe.state.setSelected({}),ref:ie,size:o,value:le,id:G,activeItemId:oe.state.activeItemId,title:s},Ie=D?D(pe):i.createElement(b.Y,Object.assign({},pe,{selectedOptionsContent:i.Children.toArray(le.map((e=>L(oe.structure.itemsById[e]).title))).join(", "),view:"normal",pin:"round-round",popupId:H,selectId:G})),ve=Object.assign({},"max"===m&&{width:m}),be={};return"number"===typeof m&&(be.width=m),i.createElement("div",Object.assign({ref:$},me,{className:Y(ve,h),style:be}),Ie,i.createElement(g.h,{ref:$,className:Y("popup",{size:o},S),controlRef:ee,width:E,placement:l,open:se,handleClose:ue,disablePortal:O,mobile:U,id:H},d,i.createElement(V,{list:oe,size:o,className:Y("list",y),qa:a,multiple:B,id:"list-".concat(G),containerRef:ne,onItemClick:ce,renderContainer:T,mapItemDataToProps:L,renderItem:null!==z&&void 0!==z?z:Q}),r))}));var ee=n(77264),te=n(57002),ne=n.n(te);function ie(e,t){return!t||"object"!==typeof t||!("title"in t)||"string"!==typeof t.title||t.title.toLowerCase().includes((e||"").toLowerCase())}function ae(e){let{items:t,initialFilterValue:n="",filterItem:a,onFilterChange:s,filterItems:l,debounceTimeout:d=300}=e;const r=i.useRef(null),[o,c]=i.useState(n),[u,m]=i.useState(t),[p,I]=i.useState(t),v=i.useCallback(((e,t)=>{if(l)return()=>l(e,t);if(e){const n=a||ie;return()=>function(e,t){const n=(e,i)=>{if(B(i)&&i.children){const a=i.children.reduce(n,[]);a.length?e.push(Object.assign(Object.assign({},i),{data:i.data,children:a})):t(i.data)&&e.push(Object.assign(Object.assign({},i),{data:i.data,children:[]}))}else if(B(i)&&t(i.data)){const{children:t}=i,n=(0,f._T)(i,["children"]);e.push(n)}else!B(i)&&t(i)&&e.push(i);return e};return e.reduce(n,[])}(t,(t=>n(e,t)))}return()=>t}),[a,l]);t!==u&&(I(v(o,t)),m(t));const b=i.useCallback(ne()((e=>I(v(e,t))),d),[I,v,d]),{onFilterUpdate:g,reset:h}=i.useMemo((()=>({reset:()=>{c(n),null===s||void 0===s||s(n),b(n)},onFilterUpdate:e=>{c(e),null===s||void 0===s||s(e),b(e)}})),[b,n,s]);return{filterRef:r,filter:o,reset:h,items:p,onFilterUpdate:g}}var se=n(54973);const le=JSON.parse('{"button_apply":"Apply","button_reset":"Reset","button_switcher":"Columns"}'),de=JSON.parse('{"button_apply":"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c","button_reset":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c","button_switcher":"\u041a\u043e\u043b\u043e\u043d\u043a\u0438"}'),re=(0,se.e)({en:le,ru:de},"TableColumnSetupInner"),oe=(0,y.Ge)("inner-table-column-setup"),ce=oe("controls"),ue=oe("filter-input"),me=oe("empty-placeholder"),pe={isDragDisabled:!0},Ie=e=>({title:e.title}),ve=(e,t)=>"string"!==typeof t.title||t.title.toLowerCase().includes(e.trim().toLowerCase()),be=e=>{const{renderSwitcher:t,popupWidth:n,popupPlacement:p,items:I,onUpdate:v,sortable:b,renderControls:g,className:f,defaultItems:y=I,showResetButton:S,filterable:B,filterPlaceholder:E,filterEmptyMessage:O,filterSettings:w=ve}=e,[C,j]=i.useState(!1),[k,N]=i.useState(b),[R,_]=i.useState(b);b!==R&&(_(b),N(b));const[F,P]=i.useState(I),[D,z]=i.useState(I);I!==D&&(z(I),P(I));const T=ae({items:F,filterItem:w,debounceTimeout:0}),L=()=>{const e=F.map((e=>{let{id:t,isSelected:n}=e;return{id:t,isSelected:n}}));v(e),J(!1)},A=()=>i.createElement(s.z,{view:"action",width:"max",onClick:L},re("button_apply")),M="function"===typeof S?S(F):S,V=(e=>{let{onDragEnd:t,renderControls:n}=e;const a=(0,c.u)();return e=>{let{renderItem:s,list:l,containerRef:d,id:r,className:c}=e;const{stickyStartItemIdList:u,sortableItemIdList:m,stickyEndItemIdList:p}=((e,t)=>{let n=0;for(;n!==t.length;n++){const i=e[t[n]];if("left"!==(null===i||void 0===i?void 0:i.sticky)&&"start"!==(null===i||void 0===i?void 0:i.sticky))break}let i=t.length;for(;0!==i;i--){const n=e[t[i-1]];if("right"!==(null===n||void 0===n?void 0:n.sticky)&&"end"!==(null===n||void 0===n?void 0:n.sticky))break}return{stickyStartItemIdList:t.slice(0,n),sortableItemIdList:t.slice(n,i),stickyEndItemIdList:t.slice(i)}})(l.structure.itemsById,l.structure.visibleFlattenIds),I=u.map(((e,t)=>s(e,t,pe))),v=m.map(((e,t)=>s(e,t+u.length))),b=p.map(((e,t)=>s(e,I.length+v.length+t,pe)));return i.createElement(i.Fragment,null,i.createElement(x,{ref:d,id:r,className:c},I,i.createElement(o.Z5,{onDragEnd:t},i.createElement(o.bK,{droppableId:a,renderClone:(e,t,n)=>{const i={provided:e,snapshot:t};return s(l.structure.visibleFlattenIds[n.source.index],n.source.index,i)}},(e=>i.createElement("div",Object.assign({},e.droppableProps,{ref:e.innerRef}),v,e.placeholder)))),b),i.createElement("div",{className:ce},n()))}})({onDragEnd:e=>{let{destination:t,source:n}=e;void 0!==(null===t||void 0===t?void 0:t.index)&&(null===t||void 0===t?void 0:t.index)!==n.index&&P((e=>((e,t,n)=>{const i=[...e],[a]=i.splice(t,1);return i.splice(n,0,a),i})(e,n.index,t.index)))},renderControls:()=>g?g({DefaultApplyButton:A,onApply:L}):i.createElement(h.k,{gapRow:1,direction:"column",className:ce},M&&i.createElement(s.z,{onClick:()=>{P(y)},width:"max"},re("button_reset")),i.createElement(A,null))}),Z=(e=>t=>{let{data:n,props:a,index:s,renderContainerProps:c}=t;const u=!1===e||!0===(null===c||void 0===c?void 0:c.isDragDisabled),m=u?void 0:i.createElement(l.J,{data:d.Z,size:16}),p=!n.isRequired,I=n.isRequired?i.createElement(l.J,{data:r}):void 0,v=!n.isRequired&&a.selected,b=Object.assign(Object.assign({},a),{selected:v,startSlot:I,hasSelectionIcon:p,endSlot:m});if(u)return i.createElement(q,Object.assign({},b,{key:b.id}));const g=(e,t)=>i.createElement(q,Object.assign({},b,e.draggableProps,e.dragHandleProps,{ref:e.innerRef,dragging:t.isDragging}));return(null===c||void 0===c?void 0:c.provided)&&c.snapshot?g(c.provided,c.snapshot):i.createElement(o._l,{draggableId:a.id,index:s,key:"item-key-".concat(a.id),isDragDisabled:u},g)})(k),J=e=>{j(e),!1===e&&(P(I),N(b),T.reset())},U=i.useMemo((()=>(e=>{const t=[];return e.forEach((e=>{let{id:n,isSelected:i}=e;i&&t.push(n)})),t})(F)),[F]),W=(G=O,()=>i.createElement(m.x,{className:me},G));var G;const H=B?i.createElement(ee.o,{size:"m",view:"clear",placeholder:E,value:T.filter,className:ue,onUpdate:e=>{T.onFilterUpdate(e),N(!e.length)},hasClear:!0}):null,K=T.filter&&!T.items.length?W:V;return i.createElement($,{className:oe(null,f),mapItemDataToProps:Ie,multiple:!0,size:"l",open:C,value:U,items:T.filter?T.items:F,onUpdate:e=>{P((t=>t.map((t=>Object.assign(Object.assign({},t),{isSelected:t.isRequired||e.includes(t.id)})))))},popupWidth:n,onOpenChange:J,placement:p,slotBeforeListBody:H,renderContainer:K,renderControl:e=>{let{toggleOpen:n}=e;const d=(0,u.S)(n);return(null===t||void 0===t?void 0:t({onClick:n,onKeyDown:d}))||i.createElement(s.z,{onClick:n,extraProps:{onKeyDown:d}},i.createElement(l.J,{data:a.Z}),re("button_switcher"))},renderItem:Z})},ge=JSON.parse('{"button_switcher":"Columns"}'),fe=JSON.parse('{"button_switcher":"\u041a\u043e\u043b\u043e\u043d\u043a\u0438"}'),he=(0,se.e)({en:ge,ru:fe},"TableColumnSetup"),ye=(0,y.Ge)("table-column-setup"),Se=e=>{const{switcher:t,renderSwitcher:n,disabled:d,popupWidth:r,popupPlacement:o,className:c,items:u,sortable:m=!0,showStatus:p,onUpdate:I}=e,v=u.map((e=>{let{id:t,title:n,required:i,selected:a,sticky:s}=e;return{id:t,title:n,isRequired:i,isSelected:a,sticky:s}}));return i.createElement(be,{items:v,onUpdate:e=>{I(e.map((e=>{let{id:t,isSelected:n}=e;const i=u.find((e=>e.id===t));return{id:t,selected:n,title:null===i||void 0===i?void 0:i.title,required:null===i||void 0===i?void 0:i.required}})))},popupPlacement:o,popupWidth:r,renderSwitcher:e=>(null===n||void 0===n?void 0:n(e))||t||i.createElement(s.z,{disabled:d,onClick:e.onClick},i.createElement(l.J,{data:a.Z}),he("button_switcher"),(()=>{if(!p)return null;const e=u.reduce(((e,t)=>t.selected?e+1:e),0),t=u.length,n="".concat(e,"/").concat(t);return i.createElement("span",{className:ye("status")},n)})()),sortable:m,className:ye(null,c)})}},56829:(e,t,n)=>{n.d(t,{F:()=>a});var i=n(40797);function a(){return(0,i.T)().theme}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/5715.0941d934.chunk.js b/ydb/core/viewer/monitoring/static/js/5715.0941d934.chunk.js
new file mode 100644
index 000000000000..3b8e110e9ef8
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/5715.0941d934.chunk.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[5715],{22200:(e,a,i)=>{i.d(a,{K:()=>I});var s=i(54665),o=i(5922),t=i(24362),n=i(4119),l=i(48169),d=i(47651),u=i(69214),r=i(62206),c=i(32270),v=i(67359),D=i(30817);const p=JSON.parse('{"slot-id":"VDisk Slot Id","pool-name":"Storage Pool Name","kind":"Kind","guid":"GUID","incarnation-guid":"Incarnation GUID","instance-guid":"Instance GUID","replication-status":"Replicated","state-status":"VDisk State","space-status":"Disk Space","fresh-rank-satisfaction":"Fresh Rank Satisfaction","level-rank-satisfaction":"Level Rank Satisfaction","front-queues":"Front Queues","has-unreadable-blobs":"Has Unreadable Blobs","size":"Size","read-throughput":"Read Throughput","write-throughput":"Write Throughput","links":"Links","vdisk-page":"VDisk Page","developer-ui":"Developer UI","yes":"Yes","no":"No"}'),k=(0,D.wZ)("ydb-vDisk-info",{en:p});var g=i(75859);const h=(0,t.cn)("ydb-vdisk-info");function I(e){var a,i;let{data:t,isVDiskPage:D=!1,...p}=e;const{AllocatedSize:I,DiskSpace:b,FrontQueues:f,Guid:m,Replicated:N,VDiskState:S,VDiskSlotId:w,Kind:x,SatisfactionRank:y,AvailableSize:j,HasUnreadableBlobs:P,IncarnationGuid:V,InstanceGuid:G,StoragePoolName:R,ReadThroughput:F,WriteThroughput:T,PDiskId:C,NodeId:z}=t,q=[];var A,L;((0,o.D)(w)&&q.push({label:k("slot-id"),value:w}),(0,o.D)(R)&&q.push({label:k("pool-name"),value:R}),(0,o.D)(S)&&q.push({label:k("state-status"),value:S}),Number(I)>=0&&Number(j)>=0&&q.push({label:k("size"),value:(0,g.jsx)(v.y,{value:I,capacity:Number(I)+Number(j),formatValues:n.q3,colorizeProgress:!0})}),(0,o.D)(x)&&q.push({label:k("kind"),value:x}),(0,o.D)(m)&&q.push({label:k("guid"),value:m}),(0,o.D)(V)&&q.push({label:k("incarnation-guid"),value:V}),(0,o.D)(G)&&q.push({label:k("instance-guid"),value:G}),(0,o.D)(N)&&q.push({label:k("replication-status"),value:k(N?"yes":"no")}),(0,o.D)(b)&&q.push({label:k("space-status"),value:(0,g.jsx)(u.A,{status:b})}),(0,o.D)(null===y||void 0===y||null===(a=y.FreshRank)||void 0===a?void 0:a.Flag))&&q.push({label:k("fresh-rank-satisfaction"),value:(0,g.jsx)(u.A,{status:null===y||void 0===y||null===(A=y.FreshRank)||void 0===A?void 0:A.Flag})});(0,o.D)(null===y||void 0===y||null===(i=y.LevelRank)||void 0===i?void 0:i.Flag)&&q.push({label:k("level-rank-satisfaction"),value:(0,g.jsx)(u.A,{status:null===y||void 0===y||null===(L=y.LevelRank)||void 0===L?void 0:L.Flag})});if((0,o.D)(f)&&q.push({label:k("front-queues"),value:(0,g.jsx)(u.A,{status:f})}),(0,o.D)(P)&&q.push({label:k("has-unreadable-blobs"),value:k(P?"yes":"no")}),(0,o.D)(F)&&q.push({label:k("read-throughput"),value:(0,d.Qt)(F)}),(0,o.D)(T)&&q.push({label:k("write-throughput"),value:(0,d.Qt)(T)}),(0,o.D)(C)&&(0,o.D)(z)&&(0,o.D)(w)){const e=(0,s.By)(w,C,z),a=(0,l.yf)({nodeId:z,pDiskId:C,vDiskSlotId:w});q.push({label:k("links"),value:(0,g.jsxs)("span",{className:h("links"),children:[!D&&(0,g.jsx)(c.j,{title:k("vdisk-page"),url:e,external:!1}),(0,g.jsx)(c.j,{title:k("developer-ui"),url:a})]})})}return(0,g.jsx)(r._P,{info:q,...p})}},65915:(e,a,i)=>{i.r(a),i.d(a,{VDiskPage:()=>U});var s=i(68963);const o=e=>s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),s.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M9.28 4.78a.75.75 0 0 0 0-1.06l-2.5-2.5a.75.75 0 1 0-1.06 1.06L6.94 3.5H1.75a.75.75 0 1 0 0 1.5h5.19L5.72 6.22a.75.75 0 1 0 1.06 1.06l2.5-2.5Zm-.06 3.94-2.5 2.5a.75.75 0 0 0 0 1.06l2.5 2.5a.75.75 0 1 0 1.06-1.06L9.06 12.5h5.19a.75.75 0 0 0 0-1.5H9.06l1.22-1.22a.75.75 0 1 0-1.06-1.06ZM14 4.25a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0ZM3.75 13.5a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z",clipRule:"evenodd"}));var t=i(88776),n=i(17095),l=i(49352),d=i(52846),u=i(50422),r=i(14659),c=i(12824),v=i(5922),D=i(4119),p=i(62206),k=i(67359),g=i(30817);const h=JSON.parse('{"group-id":"Group ID","pool-name":"Storage Pool Name","size":"Size","erasure":"Erasure"}'),I=(0,g.wZ)("ydb-group-info",{en:h});var b=i(75859);function f(e){let{data:a,...i}=e;const{GroupID:s,PoolName:o,Used:t,Limit:n,ErasureSpecies:l}=a,d=[];return(0,v.D)(s)&&d.push({label:I("group-id"),value:s}),(0,v.D)(o)&&d.push({label:I("pool-name"),value:o}),(0,v.D)(l)&&d.push({label:I("erasure"),value:l}),Number(t)>=0&&Number(n)>=0&&d.push({label:I("size"),value:(0,b.jsx)(k.y,{value:t,capacity:n,formatValues:D.q3,colorizeProgress:!0})}),(0,b.jsx)(p._P,{info:d,...i})}var m=i(91816),N=i(16084),S=i(79255),w=i(22200),x=i(79061),y=i(99337),j=i(11431),P=i(905),V=i(3764),G=i(51688),R=i(92092);const F=P.h.injectEndpoints({endpoints:e=>({getVDiskData:e.query({queryFn:async e=>{let{nodeId:a,pDiskId:i,vDiskSlotId:s}=e;try{const{vDiskData:e,groupData:o}=await async function(e){let{nodeId:a,pDiskId:i,vDiskSlotId:s}=e,{signal:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const t=await Promise.all([window.api.getVDiskInfo({nodeId:a,pDiskId:i,vDiskSlotId:s},{signal:o}),window.api.getPDiskInfo({nodeId:a,pDiskId:i},{signal:o}),window.api.getNodeInfo(a,{signal:o})]),n=function(e){var a,i,s,o,t,n,l;let[d,u,r]=e;const c=null===(a=d.VDiskStateInfo)||void 0===a?void 0:a[0],v=(0,V.w)(c),D=null===(i=u.PDiskStateInfo)||void 0===i?void 0:i[0],p=(0,V.b)(D),k=null===(s=r.SystemStateInfo)||void 0===s?void 0:s[0],g=(0,G.Ns)(k),h=null!==(o=null!==(t=v.NodeId)&&void 0!==t?t:p.NodeId)&&void 0!==o?o:g.NodeId,I=g.Host,b=null===(n=g.Roles)||void 0===n?void 0:n[0],f=g.DC,m=null!==(l=v.PDiskId)&&void 0!==l?l:p.PDiskId,N=p.Type;return{...v,NodeId:h,NodeHost:I,NodeType:b,NodeDC:f,PDiskId:m,PDiskType:N}}(t),{StoragePoolName:l,VDiskId:d={}}=n,{GroupID:u}=d;let r;if((0,v.D)(l)&&(0,v.D)(u)){r=function(e,a,i){var s,o;const t=null===(s=e.StoragePools)||void 0===s?void 0:s.find((e=>e.Name===a)),n=null===t||void 0===t||null===(o=t.Groups)||void 0===o?void 0:o.find((e=>e.GroupID===i));if(n&&t)return(0,R.mD)(n,t)}(await window.api.getStorageInfo({nodeId:a,poolName:l,groupId:u,version:j.w.v1},{signal:o}),l,u)}return{vDiskData:n,groupData:r}}({nodeId:a,pDiskId:i,vDiskSlotId:s});return{data:{vDiskData:e,groupData:o}}}catch(o){return{error:o}}},providesTags:["All"]})}),overrideExisting:"throw"});var T=i(24362),C=i(92666),z=i(34051);const q=JSON.parse('{"fqdn":"FQDN","node":"Node","pdisk":"PDisk","vdisk":"VDisk","group":"Group","evict-vdisk-button":"Evict VDisk","evict-vdisk-dialog":"VDisk will be evicted. Do you want to proceed?","evict-vdisk-not-allowed":"You don\'t have enough rights to evict VDisk"}'),A=(0,g.wZ)("ydb-vDisk-page",{en:q}),L=(0,T.cn)("ydb-vdisk-page");function U(){const e=(0,z.zL)(),a=(0,z.ix)(y.d),{isUserAllowedToMakeChanges:i}=(0,z.ix)((e=>e.authentication)),[{nodeId:p,pDiskId:k,vDiskSlotId:g}]=(0,d.useQueryParams)({nodeId:d.StringParam,pDiskId:d.StringParam,vDiskSlotId:d.StringParam});s.useEffect((()=>{e((0,x.J)("vDisk",{nodeId:p,pDiskId:k,vDiskSlotId:g}))}),[e,p,k,g]);const[h]=(0,z.Rj)(),I=(0,v.D)(p)&&(0,v.D)(k)&&(0,v.D)(g)?{nodeId:p,pDiskId:k,vDiskSlotId:g}:n.CN,{currentData:j,isFetching:P,refetch:V}=F.useGetVDiskDataQuery(I,{pollingInterval:h}),G=P&&void 0===j,{vDiskData:R={},groupData:T}=j||{},{NodeHost:q,NodeId:U,NodeType:E,NodeDC:H,PDiskId:Q,PDiskType:Z,Severity:B,VDiskId:M}=R,_=async()=>{const{GroupID:e,GroupGeneration:a,Ring:i,Domain:s,VDisk:o}=M||{};if((0,v.D)(e)&&(0,v.D)(a)&&(0,v.D)(i)&&(0,v.D)(s)&&(0,v.D)(o))return window.api.evictVDisk({groupId:e,groupGeneration:a,failRealmIdx:i,failDomainIdx:s,vDiskIdx:o})},J=async()=>V(),K=()=>{var e;return T?(0,b.jsxs)(s.Fragment,{children:[(0,b.jsx)("div",{className:L("group-title"),children:A("group")}),(0,b.jsx)(f,{data:T}),(0,b.jsx)("div",{className:L("group-disks"),children:null===(e=T.VDisks)||void 0===e?void 0:e.map((e=>(0,b.jsx)(S.c,{data:e,nodes:a,className:L("group-disk")},(0,D.a2)(e.VDiskId))))})]}):null};return(0,b.jsxs)("div",{className:L(null),children:[(()=>{const e=g?"".concat(A("vdisk")," ").concat(g):A("vdisk"),a=k?"".concat(A("pdisk")," ").concat(k):A("pdisk"),i=q||A("node");return(0,b.jsx)(l.ql,{titleTemplate:"%s - ".concat(e," - ").concat(a," \u2014 ").concat(i," \u2014 YDB Monitoring"),defaultTitle:"".concat(e," - ").concat(a," \u2014 ").concat(i," \u2014 YDB Monitoring")})})(),(()=>{const e=q?"".concat(A("fqdn"),": ").concat(q):void 0,a=U?"".concat(A("node"),": ").concat(U):void 0,i=U?"".concat(A("pdisk"),": ").concat(Q):void 0;return(0,b.jsx)(N.V,{loading:G,items:[e,a,E,H,i,Z]})})(),(0,b.jsx)(c.b,{entityName:A("vdisk"),status:(0,C.b)(B),id:(0,D.a2)(null===R||void 0===R?void 0:R.VDiskId)}),(0,b.jsxs)("div",{className:L("controls"),children:[(0,b.jsxs)(r.U,{onConfirmAction:_,onConfirmActionSuccess:J,buttonDisabled:!M||!i,buttonView:"normal",dialogContent:A("evict-vdisk-dialog"),withPopover:!0,popoverContent:A("evict-vdisk-not-allowed"),popoverDisabled:i,children:[(0,b.jsx)(t.J,{data:o}),A("evict-vdisk-button")]}),(0,b.jsx)(u.q,{className:L("auto-refresh-control")})]}),G?(0,b.jsx)(m.b,{rows:20}):(0,b.jsxs)(s.Fragment,{children:[(0,b.jsx)(w.K,{data:R,isVDiskPage:!0}),K()]})]})}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/6531.7eac62d1.chunk.js b/ydb/core/viewer/monitoring/static/js/6531.fbd78a3e.chunk.js
similarity index 96%
rename from ydb/core/viewer/monitoring/static/js/6531.7eac62d1.chunk.js
rename to ydb/core/viewer/monitoring/static/js/6531.fbd78a3e.chunk.js
index 89ffe7c2c119..c87a395e78d6 100644
--- a/ydb/core/viewer/monitoring/static/js/6531.7eac62d1.chunk.js
+++ b/ydb/core/viewer/monitoring/static/js/6531.fbd78a3e.chunk.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[6531],{16531:(t,e,n)=>{n.r(e),n.d(e,{registerYQLCompletionItemProvider:()=>I});var s=n(88424),i=n(62729),a=n(41551);const r={Method:0,Function:1,Constructor:2,Field:3,Variable:4,Class:5,Struct:6,Interface:7,Module:8,Property:9,Event:10,Operator:11,Unit:12,Value:13,Constant:14,Enum:15,EnumMember:16,Keyword:17,Text:18,Color:19,File:20,Reference:21,Customcolor:22,Folder:23,TypeParameter:24,User:25,Issue:26,Snippet:27},u=/[\s'"-/@]/,o={externalDataSource:["external_data_source"],externalTable:["external_table"],replication:["replication"],table:["table","column_table"],tableStore:["column_store"],topic:["pers_queue_group"],view:["view"],tableIndex:["table_index","index"]},l=["dir","unknown"];function c(t){let e=t;return t.match(u)&&(e="`".concat(t,"`")),e}function g(t){let e=0,n=t.length;return t.startsWith("`")&&(e=1),t.endsWith("`")&&(n=-1),t.slice(e,n)}function d(t){return t.startsWith("/")?t.slice(1):t}function m(){let t=arguments.length>1?arguments[1]:void 0,e=d(g(arguments.length>0&&void 0!==arguments[0]?arguments[0]:""));const n=d(t);return e.startsWith(n)&&(e=e.slice(n.length)),d(e)}const f={suggestTemplates:0,suggestPragmas:1,suggestEntity:2,suggestColumns:3,suggestColumnAliases:4,suggestTableIndexes:5,suggestTableHints:6,suggestEntitySettings:7,suggestSimpleTypes:8,suggestKeywords:9,suggestAggregateFunctions:10,suggestTableFunctions:11,suggestWindowFunctions:12,suggestFunctions:13,suggestUdfs:14};function p(t){return f[t]}async function y(t,e,n,s){const i=m(s,n),u=await window.api.autocomplete({database:n,prefix:i,limit:1e3}),c=null===s||void 0===s?void 0:s.startsWith("`");if(u.Success){return function(t,e){const n=e.reduce(((t,e)=>{const n=o[e];return n&&n.forEach((e=>t.add(e))),t}),new Set(l));return t.filter((t=>{let{Type:e}=t;return n.has(e)}))}(u.Result.Entities,e).reduce(((e,n)=>{var s;let{Name:i,Type:u}=n;const o="dir"===u,l=o?"".concat(i,"/"):i;let g;return o&&!c&&(g="`".concat(l,"$0`")),e.push({label:l,insertText:null!==(s=g)&&void 0!==s?s:l,kind:o?r.Folder:r.Text,insertTextRules:g?a.languages.CompletionItemInsertTextRule.InsertAsSnippet:a.languages.CompletionItemInsertTextRule.None,detail:u,range:t,command:l.endsWith("/")?{id:"editor.action.triggerSuggest",title:""}:void 0,sortText:S(p("suggestEntity"))}),e}),[])}return[]}async function b(t){return(await async function(){return i.j}()).map((e=>({label:e,insertText:e,kind:r.Function,detail:"Function",range:t,sortText:S(p("suggestFunctions"))})))}async function T(t){return(await async function(){return i.vy}()).map((e=>({label:e,insertText:e,kind:r.TypeParameter,detail:"Type",range:t,sortText:S(p("suggestSimpleTypes"))})))}async function w(t){return(await async function(){return i.t6}()).map((e=>({label:e,insertText:e,kind:r.Function,detail:"UDF",range:t,sortText:S(p("suggestUdfs"))})))}async function v(t){return(await async function(){return i.JX}()).map((e=>({label:e,insertText:e,kind:r.Function,detail:"Window function",range:t,sortText:S(p("suggestWindowFunctions"))})))}async function x(t){return(await async function(){return i.yJ}()).map((e=>({label:e,insertText:e,kind:r.Function,detail:"Table function",range:t,sortText:S(p("suggestTableFunctions"))})))}async function h(t){return(await async function(){return i.Ot}()).map((e=>({label:e,insertText:e,kind:r.Function,detail:"Aggregate function",range:t,sortText:S(p("suggestAggregateFunctions"))})))}async function C(t){return(await async function(){return i.EQ}()).map((e=>({label:e,insertText:e,kind:r.Module,detail:"Pragma",range:t,sortText:S(p("suggestPragmas"))})))}async function F(t,e){const n=await async function(t){return i.S8[t]}(e);return n.map((e=>({label:e,insertText:e,kind:r.Property,detail:"Setting",range:t,sortText:S(p("suggestEntitySettings"))})))}const k="abcdefghijklmnopqrstuvwxyz";function S(t){const e=k[t];if(e)return e;const n=Math.floor(t/k.length),s=t%k.length;return k.slice(-1).repeat(n)+k[s]}function E(t){return async(e,s,i,a)=>{const u=function(t,e){const{startColumn:n,endColumn:s}=t.getWordUntilPosition(e),i="$"===t.getLineContent(e.lineNumber)[n-2]?1:0;return{startColumn:n-i,startLineNumber:e.lineNumber,endColumn:s,endLineNumber:e.lineNumber}}(e,s),o=await async function(t,e,s,i){const{parseYqlQuery:a}=await n.e(8607).then(n.bind(n,68607)),u={line:e.lineNumber,column:e.column},o=a(t.getValue(),u);let l=[],d=[],f=[],k=[],E=[],P=[],I=[],W=[],_=[];if(o.suggestEntity){const n=function(t,e){var n,s,i,a;const r=t.findPreviousMatch("\\s(`?[^\\s]*)",e,!0,!1,null,!0),u=t.findNextMatch("([^\\s]*)`?",e,!0,!1,null,!0);return"".concat(null!==(n=null===r||void 0===r||null===(s=r.matches)||void 0===s?void 0:s[1])&&void 0!==n?n:"").concat(null!==(i=null===u||void 0===u||null===(a=u.matches)||void 0===a?void 0:a[1])&&void 0!==i?i:"")}(t,e);l=await y(s,o.suggestEntity,i,n)}o.suggestFunctions&&(d=await b(s));o.suggestAggregateFunctions&&(f=await h(s));o.suggestWindowFunctions&&(k=await v(s));o.suggestTableFunctions&&(E=await x(s));o.suggestSimpleTypes&&(I=await T(s));o.suggestUdfs&&(P=await w(s));o.suggestPragmas&&(W=await C(s));o.suggestEntitySettings&&(_=await F(s,o.suggestEntitySettings));const N=await function(t,e){return e?null===e||void 0===e?void 0:e.map((e=>({label:e.name,insertText:e.name,kind:r.Field,detail:"Column alias",range:t,sortText:S(p("suggestColumnAliases"))}))):[]}(s,o.suggestColumnAliases),A=await async function(t,e,n){var s,i,a;if(null===e||void 0===e||!e.tables)return[];const u=[],o=e.tables.length>1,l=null!==(s=null===(i=e.tables)||void 0===i?void 0:i.map((t=>{let e=g(t.name);return e.endsWith("/")||(e="".concat(e,"/")),m(e,n)})))&&void 0!==s?s:[],d=Array.from(new Set(l)),f=await window.api.autocomplete({database:n,table:d,limit:1e3});if(!f.Success)return[];const y=null===(a=e.tables)||void 0===a?void 0:a.reduce(((t,e)=>{var s;const i=m(g(e.name),n),a=null!==(s=t[i])&&void 0!==s?s:[];return e.alias&&a.push(e.alias),t[i]=a,t}),{});return f.Result.Entities.forEach((e=>{if("column"!==e.Type)return;const s=c(e.Name),i=m(e.Parent,n),a=y[i];if(null!==a&&void 0!==a&&a.length)a.forEach((e=>{const n="".concat(e,".").concat(s);u.push({label:n,insertText:n,kind:r.Field,detail:"Column",range:t,sortText:S(p("suggestColumns"))})}));else{let e=s;o&&(e="".concat(c(i),".").concat(s)),u.push({label:e,insertText:e,kind:r.Field,detail:"Column",range:t,sortText:S(p("suggestColumns"))})}})),u}(s,o.suggestColumns,i),M=function(t,e){return e?null===e||void 0===e?void 0:e.map((e=>({label:e.value,insertText:e.value,kind:r.Keyword,detail:"Keyword",range:t,sortText:S(p("suggestKeywords"))}))):[]}(s,o.suggestKeywords),U=[...l,...d,...k,...E,...P,...I,...W,...N,...A,...M,...f,..._];return U}(e,s,u,t);return{suggestions:o}}}let P;function I(t){P&&P.dispose(),P=s.Mj.registerCompletionItemProvider(i.Oo,{triggerCharacters:[" ","",",",".","`","(","/"],provideCompletionItems:E(t)})}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[6531],{16531:(t,e,n)=>{n.r(e),n.d(e,{registerYQLCompletionItemProvider:()=>I});var s=n(88424),i=n(62729),a=n(41551);const r={Method:0,Function:1,Constructor:2,Field:3,Variable:4,Class:5,Struct:6,Interface:7,Module:8,Property:9,Event:10,Operator:11,Unit:12,Value:13,Constant:14,Enum:15,EnumMember:16,Keyword:17,Text:18,Color:19,File:20,Reference:21,Customcolor:22,Folder:23,TypeParameter:24,User:25,Issue:26,Snippet:27},u=/[\s'"-/@]/,o={externalDataSource:["external_data_source"],externalTable:["external_table"],replication:["replication"],table:["table","column_table"],tableStore:["column_store"],topic:["pers_queue_group"],view:["view"],tableIndex:["table_index","index"]},l=["dir","unknown"];function c(t){let e=t;return t.match(u)&&(e="`".concat(t,"`")),e}function g(t){let e=0,n=t.length;return t.startsWith("`")&&(e=1),t.endsWith("`")&&(n=-1),t.slice(e,n)}function d(t){return t.startsWith("/")?t.slice(1):t}function m(){let t=arguments.length>1?arguments[1]:void 0,e=d(g(arguments.length>0&&void 0!==arguments[0]?arguments[0]:""));const n=d(t);return e.startsWith(n)&&(e=e.slice(n.length)),d(e)}const f={suggestTemplates:0,suggestPragmas:1,suggestEntity:2,suggestColumns:3,suggestColumnAliases:4,suggestTableIndexes:5,suggestTableHints:6,suggestEntitySettings:7,suggestKeywords:8,suggestAggregateFunctions:9,suggestTableFunctions:10,suggestWindowFunctions:11,suggestFunctions:12,suggestSimpleTypes:13,suggestUdfs:14};function p(t){return f[t]}async function y(t,e,n,s){const i=m(s,n),u=await window.api.autocomplete({database:n,prefix:i,limit:1e3}),c=null===s||void 0===s?void 0:s.startsWith("`");if(u.Success){return function(t,e){const n=e.reduce(((t,e)=>{const n=o[e];return n&&n.forEach((e=>t.add(e))),t}),new Set(l));return t.filter((t=>{let{Type:e}=t;return n.has(e)}))}(u.Result.Entities,e).reduce(((e,n)=>{var s;let{Name:i,Type:u}=n;const o="dir"===u,l=o?"".concat(i,"/"):i;let g;return o&&!c&&(g="`".concat(l,"$0`")),e.push({label:l,insertText:null!==(s=g)&&void 0!==s?s:l,kind:o?r.Folder:r.Text,insertTextRules:g?a.languages.CompletionItemInsertTextRule.InsertAsSnippet:a.languages.CompletionItemInsertTextRule.None,detail:u,range:t,command:l.endsWith("/")?{id:"editor.action.triggerSuggest",title:""}:void 0,sortText:S(p("suggestEntity"))}),e}),[])}return[]}async function b(t){return(await async function(){return i.j}()).map((e=>({label:e,insertText:e,kind:r.Function,detail:"Function",range:t,sortText:S(p("suggestFunctions"))})))}async function T(t){return(await async function(){return i.vy}()).map((e=>({label:e,insertText:e,kind:r.TypeParameter,detail:"Type",range:t,sortText:S(p("suggestSimpleTypes"))})))}async function w(t){return(await async function(){return i.t6}()).map((e=>({label:e,insertText:e,kind:r.Function,detail:"UDF",range:t,sortText:S(p("suggestUdfs"))})))}async function v(t){return(await async function(){return i.JX}()).map((e=>({label:e,insertText:e,kind:r.Function,detail:"Window function",range:t,sortText:S(p("suggestWindowFunctions"))})))}async function x(t){return(await async function(){return i.yJ}()).map((e=>({label:e,insertText:e,kind:r.Function,detail:"Table function",range:t,sortText:S(p("suggestTableFunctions"))})))}async function h(t){return(await async function(){return i.Ot}()).map((e=>({label:e,insertText:e,kind:r.Function,detail:"Aggregate function",range:t,sortText:S(p("suggestAggregateFunctions"))})))}async function C(t){return(await async function(){return i.EQ}()).map((e=>({label:e,insertText:e,kind:r.Module,detail:"Pragma",range:t,sortText:S(p("suggestPragmas"))})))}async function F(t,e){const n=await async function(t){return i.S8[t]}(e);return n.map((e=>({label:e,insertText:e,kind:r.Property,detail:"Setting",range:t,sortText:S(p("suggestEntitySettings"))})))}const k="abcdefghijklmnopqrstuvwxyz";function S(t){const e=k[t];if(e)return e;const n=Math.floor(t/k.length),s=t%k.length;return k.slice(-1).repeat(n)+k[s]}function E(t){return async(e,s,i,a)=>{const u=function(t,e){const{startColumn:n,endColumn:s}=t.getWordUntilPosition(e),i="$"===t.getLineContent(e.lineNumber)[n-2]?1:0;return{startColumn:n-i,startLineNumber:e.lineNumber,endColumn:s,endLineNumber:e.lineNumber}}(e,s),o=await async function(t,e,s,i){const{parseYqlQuery:a}=await n.e(8607).then(n.bind(n,68607)),u={line:e.lineNumber,column:e.column},o=a(t.getValue(),u);let l=[],d=[],f=[],k=[],E=[],P=[],I=[],W=[],_=[];if(o.suggestEntity){const n=function(t,e){var n,s,i,a;const r=t.findPreviousMatch("\\s(`?[^\\s]*)",e,!0,!1,null,!0),u=t.findNextMatch("([^\\s]*)`?",e,!0,!1,null,!0);return"".concat(null!==(n=null===r||void 0===r||null===(s=r.matches)||void 0===s?void 0:s[1])&&void 0!==n?n:"").concat(null!==(i=null===u||void 0===u||null===(a=u.matches)||void 0===a?void 0:a[1])&&void 0!==i?i:"")}(t,e);l=await y(s,o.suggestEntity,i,n)}o.suggestFunctions&&(d=await b(s));o.suggestAggregateFunctions&&(f=await h(s));o.suggestWindowFunctions&&(k=await v(s));o.suggestTableFunctions&&(E=await x(s));o.suggestSimpleTypes&&(I=await T(s));o.suggestUdfs&&(P=await w(s));o.suggestPragmas&&(W=await C(s));o.suggestEntitySettings&&(_=await F(s,o.suggestEntitySettings));const N=await function(t,e){return e?null===e||void 0===e?void 0:e.map((e=>({label:e.name,insertText:e.name,kind:r.Field,detail:"Column alias",range:t,sortText:S(p("suggestColumnAliases"))}))):[]}(s,o.suggestColumnAliases),A=await async function(t,e,n){var s,i,a;if(null===e||void 0===e||!e.tables)return[];const u=[],o=e.tables.length>1,l=null!==(s=null===(i=e.tables)||void 0===i?void 0:i.map((t=>{let e=g(t.name);return e.endsWith("/")||(e="".concat(e,"/")),m(e,n)})))&&void 0!==s?s:[],d=Array.from(new Set(l)),f=await window.api.autocomplete({database:n,table:d,limit:1e3});if(!f.Success)return[];const y=null===(a=e.tables)||void 0===a?void 0:a.reduce(((t,e)=>{var s;const i=m(g(e.name),n),a=null!==(s=t[i])&&void 0!==s?s:[];return e.alias&&a.push(e.alias),t[i]=a,t}),{});return f.Result.Entities.forEach((e=>{if("column"!==e.Type)return;const s=c(e.Name),i=m(e.Parent,n),a=y[i];if(null!==a&&void 0!==a&&a.length)a.forEach((e=>{const n="".concat(e,".").concat(s);u.push({label:n,insertText:n,kind:r.Field,detail:"Column",range:t,sortText:S(p("suggestColumns"))})}));else{let e=s;o&&(e="".concat(c(i),".").concat(s)),u.push({label:e,insertText:e,kind:r.Field,detail:"Column",range:t,sortText:S(p("suggestColumns"))})}})),u}(s,o.suggestColumns,i),M=function(t,e){return e?null===e||void 0===e?void 0:e.map((e=>({label:e.value,insertText:e.value,kind:r.Keyword,detail:"Keyword",range:t,sortText:S(p("suggestKeywords"))}))):[]}(s,o.suggestKeywords),U=[...l,...d,...k,...E,...P,...I,...W,...N,...A,...M,...f,..._];return U}(e,s,u,t);return{suggestions:o}}}let P;function I(t){P&&P.dispose(),P=s.Mj.registerCompletionItemProvider(i.Oo,{triggerCharacters:[" ",".","`","(","/"],provideCompletionItems:E(t)})}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/7045.53fa1aaf.chunk.js b/ydb/core/viewer/monitoring/static/js/7045.53fa1aaf.chunk.js
new file mode 100644
index 000000000000..a2b650f31866
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/7045.53fa1aaf.chunk.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[7045],{14659:(e,t,s)=>{s.d(t,{U:()=>g});var a=s(68963),n=s(17176),l=s(68330),i=s(76506),o=s(71586),r=s(25822),d=s(88776),c=s(24362),u=s(30817);const v=JSON.parse('{"default-error":"Something went wrong, action cannot be completed","no-rights-error":"You don\'t have enough rights to complete the operation","button-confirm":"Confirm","button-cancel":"Cancel","button-close":"Close"}'),p=(0,u.wZ)("ydb-critical-action-dialog",{en:v});var h=s(75859);const m=(0,c.cn)("ydb-critical-dialog"),b=e=>403===e.status?p("no-rights-error"):e.statusText?e.statusText:p("default-error");function x(e){let{visible:t,text:s,onClose:n,onConfirm:l,onConfirmActionSuccess:c,onConfirmActionError:u}=e;const[v,x]=a.useState(!1),[g,j]=a.useState(),N=async e=>(e.preventDefault(),x(!0),l().then((()=>{c(),n()})).catch((e=>{u(),j(e)})).finally((()=>{x(!1)})));return(0,h.jsx)(r.V,{open:t,hasCloseButton:!1,className:m(),size:"s",onClose:n,onTransitionExited:()=>j(void 0),children:g?(0,h.jsxs)(a.Fragment,{children:[(0,h.jsxs)(r.V.Body,{className:m("body"),children:[(0,h.jsx)("span",{className:m("error-icon"),children:(0,h.jsx)(i.Z,{width:"24",height:"22"})}),b(g)]}),(0,h.jsx)(r.V.Footer,{loading:!1,preset:"default",textButtonCancel:p("button-close"),onClickButtonCancel:n})]}):(0,h.jsxs)("form",{onSubmit:N,children:[(0,h.jsxs)(r.V.Body,{className:m("body"),children:[(0,h.jsx)("span",{className:m("warning-icon"),children:(0,h.jsx)(d.J,{data:o.Z,size:24})}),s]}),(0,h.jsx)(r.V.Footer,{loading:v,preset:"default",textButtonApply:p("button-confirm"),textButtonCancel:p("button-cancel"),propsButtonApply:{type:"submit"},onClickButtonCancel:n,onClickButtonApply:()=>{}})]})})}function g(e){let{children:t,onConfirmAction:s,onConfirmActionSuccess:i,dialogContent:o,buttonDisabled:r=!1,buttonView:d="action",buttonClassName:c,withPopover:u=!1,popoverContent:v,popoverPlacement:p="right",popoverDisabled:m=!0}=e;const[b,g]=a.useState(!1),[j,N]=a.useState(!1),k=()=>(0,h.jsx)(n.z,{onClick:()=>g(!0),view:d,disabled:r,loading:!r&&j,className:c,children:t});return(0,h.jsxs)(a.Fragment,{children:[(0,h.jsx)(x,{visible:b,text:o,onConfirm:async()=>{N(!0),await s(),N(!1)},onConfirmActionSuccess:async()=>{if(i){N(!0);try{await i()}catch{}finally{N(!1)}}},onConfirmActionError:()=>{N(!1)},onClose:()=>{g(!1)}}),u?(0,h.jsx)(l.J,{content:v,placement:p,disabled:m,children:k()}):k()]})}},58682:(e,t,s)=>{s.d(t,{T:()=>d});var a=s(39683),n=s(17176),l=s(88776),i=s(24362),o=s(75859);const r=(0,i.cn)("developer-ui-link");function d(e){let{href:t,visible:s=!1,className:i}=e;return(0,o.jsx)(n.z,{size:"s",href:t,className:r({visible:s},i),target:"_blank",children:(0,o.jsx)(l.J,{data:a.Z})})}},8659:(e,t,s)=>{s.d(t,{P:()=>g});var a=s(54665),n=s(5922),l=s(24362),i=s(52317),o=s(4119),r=s(48169),d=s(69214),c=s(23373),u=s(32270),v=s(67359),p=s(30817);const h=JSON.parse('{"path":"Path","guid":"GUID","category":"Category","type":"Type","size":"Size","state":"State","device":"Device","realtime":"Realtime","serial-number":"SerialNumber","links":"Links","developer-ui":"Developer UI","pdisk-page":"PDisk page"}'),m=(0,p.wZ)("ydb-pDisk-info",{en:h});var b=s(75859);const x=(0,l.cn)("ydb-pdisk-info");function g(e){let{pDisk:t,nodeId:s,isPDiskPage:l=!1,...p}=e;const{PDiskId:h,Path:g,Guid:j,Category:N,Type:k,Device:f,Realtime:D,State:I,SerialNumber:S,TotalSize:y,AvailableSize:w}=t,T=Number(y),C=Number(w),V=[];if((0,n.D)(g)&&V.push({label:m("path"),value:g}),(0,n.D)(j)&&V.push({label:m("guid"),value:j}),(0,n.D)(N)&&(V.push({label:m("category"),value:N}),V.push({label:m("type"),value:k})),T>=0&&C>=0&&V.push({label:m("size"),value:(0,b.jsx)(v.y,{value:T-C,capacity:T,formatValues:o.q3,colorizeProgress:!0})}),(0,n.D)(I)&&V.push({label:m("state"),value:I}),(0,n.D)(f)&&V.push({label:m("device"),value:(0,b.jsx)(d.A,{status:f})}),(0,n.D)(D)&&V.push({label:m("realtime"),value:(0,b.jsx)(d.A,{status:D})}),(0,n.D)(S)&&V.push({label:m("serial-number"),value:S||i.jX}),(0,n.D)(h)&&(0,n.D)(s)){const e=(0,a.ds)(h,s),t=(0,r.ok)({nodeId:s,pDiskId:h});V.push({label:m("links"),value:(0,b.jsxs)("span",{className:x("links"),children:[!l&&(0,b.jsx)(u.j,{title:m("pdisk-page"),url:e,external:!1}),(0,b.jsx)(u.j,{title:m("developer-ui"),url:t})]})})}return(0,b.jsx)(c._,{info:V,...p})}},94178:(e,t,s)=>{s.d(t,{V:()=>i});var a=s(24362),n=s(75859);const l=(0,a.cn)("tag"),i=e=>{let{text:t,type:s}=e;return(0,n.jsx)("div",{className:l({type:s}),children:t})}},47057:(e,t,s)=>{s.d(t,{$:()=>o});var a=s(24362),n=s(94178),l=s(75859);const i=(0,a.cn)("tags"),o=e=>{let{tags:t,tagsType:s,className:a=""}=e;return(0,l.jsx)("div",{className:i(null,a),children:t&&t.map(((e,t)=>(0,l.jsx)(n.V,{text:e,type:s},t)))})}},22200:(e,t,s)=>{s.d(t,{K:()=>g});var a=s(54665),n=s(5922),l=s(24362),i=s(4119),o=s(48169),r=s(47651),d=s(69214),c=s(62206),u=s(32270),v=s(67359),p=s(30817);const h=JSON.parse('{"slot-id":"VDisk Slot Id","pool-name":"Storage Pool Name","kind":"Kind","guid":"GUID","incarnation-guid":"Incarnation GUID","instance-guid":"Instance GUID","replication-status":"Replicated","state-status":"VDisk State","space-status":"Disk Space","fresh-rank-satisfaction":"Fresh Rank Satisfaction","level-rank-satisfaction":"Level Rank Satisfaction","front-queues":"Front Queues","has-unreadable-blobs":"Has Unreadable Blobs","size":"Size","read-throughput":"Read Throughput","write-throughput":"Write Throughput","links":"Links","vdisk-page":"VDisk Page","developer-ui":"Developer UI","yes":"Yes","no":"No"}'),m=(0,p.wZ)("ydb-vDisk-info",{en:h});var b=s(75859);const x=(0,l.cn)("ydb-vdisk-info");function g(e){var t,s;let{data:l,isVDiskPage:p=!1,...h}=e;const{AllocatedSize:g,DiskSpace:j,FrontQueues:N,Guid:k,Replicated:f,VDiskState:D,VDiskSlotId:I,Kind:S,SatisfactionRank:y,AvailableSize:w,HasUnreadableBlobs:T,IncarnationGuid:C,InstanceGuid:V,StoragePoolName:P,ReadThroughput:z,WriteThroughput:A,PDiskId:R,NodeId:F}=l,U=[];var Z,E;((0,n.D)(I)&&U.push({label:m("slot-id"),value:I}),(0,n.D)(P)&&U.push({label:m("pool-name"),value:P}),(0,n.D)(D)&&U.push({label:m("state-status"),value:D}),Number(g)>=0&&Number(w)>=0&&U.push({label:m("size"),value:(0,b.jsx)(v.y,{value:g,capacity:Number(g)+Number(w),formatValues:i.q3,colorizeProgress:!0})}),(0,n.D)(S)&&U.push({label:m("kind"),value:S}),(0,n.D)(k)&&U.push({label:m("guid"),value:k}),(0,n.D)(C)&&U.push({label:m("incarnation-guid"),value:C}),(0,n.D)(V)&&U.push({label:m("instance-guid"),value:V}),(0,n.D)(f)&&U.push({label:m("replication-status"),value:m(f?"yes":"no")}),(0,n.D)(j)&&U.push({label:m("space-status"),value:(0,b.jsx)(d.A,{status:j})}),(0,n.D)(null===y||void 0===y||null===(t=y.FreshRank)||void 0===t?void 0:t.Flag))&&U.push({label:m("fresh-rank-satisfaction"),value:(0,b.jsx)(d.A,{status:null===y||void 0===y||null===(Z=y.FreshRank)||void 0===Z?void 0:Z.Flag})});(0,n.D)(null===y||void 0===y||null===(s=y.LevelRank)||void 0===s?void 0:s.Flag)&&U.push({label:m("level-rank-satisfaction"),value:(0,b.jsx)(d.A,{status:null===y||void 0===y||null===(E=y.LevelRank)||void 0===E?void 0:E.Flag})});if((0,n.D)(N)&&U.push({label:m("front-queues"),value:(0,b.jsx)(d.A,{status:N})}),(0,n.D)(T)&&U.push({label:m("has-unreadable-blobs"),value:m(T?"yes":"no")}),(0,n.D)(z)&&U.push({label:m("read-throughput"),value:(0,r.Qt)(z)}),(0,n.D)(A)&&U.push({label:m("write-throughput"),value:(0,r.Qt)(A)}),(0,n.D)(R)&&(0,n.D)(F)&&(0,n.D)(I)){const e=(0,a.By)(I,R,F),t=(0,o.yf)({nodeId:F,pDiskId:R,vDiskSlotId:I});U.push({label:m("links"),value:(0,b.jsxs)("span",{className:x("links"),children:[!p&&(0,b.jsx)(u.j,{title:m("vdisk-page"),url:e,external:!1}),(0,b.jsx)(u.j,{title:m("developer-ui"),url:t})]})})}return(0,b.jsx)(c._P,{info:U,...h})}},55515:(e,t,s)=>{s.r(t),s.d(t,{Node:()=>ke,STORAGE_ROLE:()=>Ne});var a=s(68963),n=s(8179),l=s(49352),i=s(86974),o=s(83203),r=s(50422),d=s(39683),c=s(88776),u=s(24362),v=s(48169),p=s(69214),h=s(47057),m=s(75859);const b=(0,u.cn)("basic-node-viewer"),x=e=>{let t,{node:s,additionalNodesProps:n,className:l}=e;return null!==n&&void 0!==n&&n.getNodeRef?t=n.getNodeRef(s)+"internal":s.NodeId&&(t=(0,v.wq)(s.NodeId)+"internal"),(0,m.jsx)("div",{className:b(null,l),children:s?(0,m.jsxs)(a.Fragment,{children:[(0,m.jsx)("div",{className:b("title"),children:"Node"}),(0,m.jsx)(p.A,{status:s.SystemState,name:s.Host}),t&&(0,m.jsx)("a",{rel:"noopener noreferrer",className:b("link",{external:!0}),href:t,target:"_blank",children:(0,m.jsx)(c.J,{data:d.Z})}),(0,m.jsxs)("div",{className:b("id"),children:[(0,m.jsx)("label",{className:b("label"),children:"NodeID"}),(0,m.jsx)("label",{children:s.NodeId})]}),s.DC&&(0,m.jsx)(h.$,{tags:[s.DC]}),s.Roles&&(0,m.jsx)(h.$,{tags:s.Roles,tagsType:"blue"})]}):(0,m.jsx)("div",{className:"error",children:"no data"})})};var g=s(26688),j=s(52317),N=s(23373);const k=(0,u.cn)("ydb-pool-usage"),f=e=>{let t="green";return e>60&&e<=80?t="yellow":e>80&&(t="red"),t},D=e=>{let{data:t={}}=e;const{Threads:s,Name:a="Unknown",Usage:n=0}=t,l=n&&s,i=Math.floor(100*n),o=i>100?100:i;return(0,m.jsxs)("div",{className:k(),children:[(0,m.jsxs)("div",{className:k("info"),children:[(0,m.jsx)("div",{className:k("pool-name"),children:a}),l&&(0,m.jsxs)("div",{className:k("value"),children:[(0,m.jsxs)("div",{className:k("percents"),children:[i<1?"<1":i,"%"]}),(0,m.jsxs)("div",{className:k("threads"),children:["(\xd7",s,")"]})]})]}),(0,m.jsx)("div",{className:k("visual"),children:(0,m.jsx)("div",{className:k("usage-line",{type:f(o)}),style:{width:"".concat(o,"%")}})})]})};var I=s(67359);const S=(0,u.cn)("full-node-viewer"),y=e=>{var t,s,a,n;let{node:l,className:i}=e;const o=null===l||void 0===l||null===(t=l.Endpoints)||void 0===t?void 0:t.map((e=>{let{Name:t,Address:s}=e;return{label:t,value:s}})),r=[];null!==l&&void 0!==l&&null!==(s=l.Tenants)&&void 0!==s&&s.length&&r.push({label:"Database",value:l.Tenants[0]}),r.push({label:"Version",value:null===l||void 0===l?void 0:l.Version},{label:"Uptime",value:null===l||void 0===l?void 0:l.Uptime},{label:"DC",value:(null===l||void 0===l?void 0:l.DataCenterDescription)||(null===l||void 0===l?void 0:l.DC)},{label:"Rack",value:null===l||void 0===l?void 0:l.Rack});const d=null===l||void 0===l||null===(a=l.LoadAveragePercents)||void 0===a?void 0:a.map(((e,t)=>({label:j.x5[t],value:(0,m.jsx)(I.y,{value:e,percents:!0,colorizeProgress:!0,capacity:100})})));return(0,m.jsx)("div",{className:"".concat(S()," ").concat(i),children:l?(0,m.jsxs)("div",{className:S("common-info"),children:[(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{className:S("section-title"),children:"Pools"}),(0,m.jsx)("div",{className:S("section",{pools:!0}),children:null===l||void 0===l||null===(n=l.PoolStats)||void 0===n?void 0:n.map(((e,t)=>(0,m.jsx)(D,{data:e},t)))})]}),o&&o.length&&(0,m.jsx)(N.Z,{title:"Endpoints",className:S("section"),info:o}),(0,m.jsx)(N.Z,{title:"Common info",className:S("section"),info:r}),(0,m.jsx)(N.Z,{title:"Load average",className:S("section",{average:!0}),info:d})]}):(0,m.jsx)("div",{className:"error",children:"no data"})})};var w=s(16670),T=s(54665),C=s(79061),V=s(905),P=s(51688);const z=e=>{var t;if(null===(t=e.SystemStateInfo)||void 0===t||!t.length)return{};const s=e.SystemStateInfo[0];return(0,P.Ns)(s)},A=V.h.injectEndpoints({endpoints:e=>({getNodeInfo:e.query({queryFn:async(e,t)=>{let{nodeId:s}=e,{signal:a}=t;try{const e=await window.api.getNodeInfo(s,{signal:a});return{data:z(e)}}catch(n){return{error:n}}},providesTags:["All"]}),getNodeStructure:e.query({queryFn:async(e,t)=>{let{nodeId:s}=e,{signal:a}=t;try{return{data:await window.api.getStorageInfo({nodeId:s},{signal:a})}}catch(n){return{error:n}}},providesTags:["All"]})}),overrideExisting:"throw"});var R=s(34051),F=s(70885),U=s(66809),Z=s(92398),E=s(92820),G=s(85198),B=s.n(G),q=s(36313),J=s(4119),O=s(3764);const L=(0,q.P1)((e=>e),(e=>A.endpoints.getNodeStructure.select({nodeId:e}))),_=(0,q.P1)((e=>e),((e,t)=>L(t)),((e,t)=>t(e).data)),K=(0,q.P1)(((e,t)=>Number(t)),((e,t)=>_(e,t)),((e,t)=>{const s=null===t||void 0===t?void 0:t.StoragePools,a={};null===s||void 0===s||s.forEach((t=>{const s=t.Groups;null===s||void 0===s||s.forEach((s=>{var n;const l=null===(n=s.VDisks)||void 0===n?void 0:n.filter((t=>t.NodeId===e));null===l||void 0===l||l.forEach((s=>{const n=(0,J.a2)(s.VDiskId),l=(0,O.b)(s.PDisk),i=l.PDiskId;a[String(i)]||(a[String(i)]={vDisks:{},...l}),a[String(i)].vDisks[n]={...s,PDiskId:i,NodeId:e,StoragePoolName:t.Name}}))}))}));return Object.keys(a).reduce(((e,t)=>{const s=a[t].vDisks,n=Object.keys(s).reduce(((e,t,a)=>(e.push({...s[t],id:t,order:a}),e)),[]);return e[t]={...a[t],vDisks:n},e}),{})}));var Q=s(67585),H=s(19812),M=s(17176),Y=s(68330),$=s(33569),W=s(8659),X=s(75850),ee=s(17632),te=s(5922),se=s(30817);const ae=JSON.parse('{"pdisk.developer-ui-button-title":"PDisk Developer UI page","vdisk.developer-ui-button-title":"VDisk Developer UI page"}'),ne=JSON.parse('{"pdisk.developer-ui-button-title":"\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 PDisk \u0432 Developer UI","vdisk.developer-ui-button-title":"\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 VDisk \u0432 Developer UI"}'),le=(0,se.wZ)("ydb-node-page",{en:ae,ru:ne}),ie=(0,u.cn)("kv-node-structure");function oe(e){let{label:t,value:s,className:a}=e;return(0,m.jsxs)("span",{className:ie("pdisk-title-item",a),children:[t&&(0,m.jsxs)("span",{className:ie("pdisk-title-item-label"),children:[t,":"]}),(0,m.jsx)("span",{className:ie("pdisk-title-item-value"),children:s})]})}var re=s(22200);const de=(0,u.cn)("kv-node-structure");function ce(e){let{data:t}=e;const{VDiskState:s,VDiskId:n}=t;return(0,m.jsxs)(a.Fragment,{children:[(0,m.jsxs)("div",{className:de("row"),children:[(0,m.jsx)("span",{className:de("title"),children:"VDisk "}),(0,m.jsx)(p.A,{status:s===ee.H.OK?X.K.Green:X.K.Red,name:(0,J.a2)(n)})]}),(0,m.jsx)("div",{className:de("column"),children:(0,m.jsx)(re.K,{className:de("section"),data:t})})]})}const ue=(0,u.cn)("kv-node-structure");var ve;!function(e){e.slotId="VDiskSlotId",e.VDiskState="VDiskState",e.Size="Size",e.Info="Info"}(ve||(ve={}));const pe={VDiskSlotId:"Slot id",VDiskState:"Status",Size:"Size",Info:""};function he(e){let{pDiskId:t,selectedVdiskId:s,nodeId:a}=e;return[{name:ve.slotId,header:pe[ve.slotId],width:100,render:e=>{let{row:n}=e;const l=n.VDiskSlotId;let i=null;return(0,te.D)(a)&&(0,te.D)(t)&&(0,te.D)(l)&&(i=(0,v.yf)({nodeId:a,pDiskId:t,vDiskSlotId:l})),(0,m.jsxs)("div",{className:ue("vdisk-id",{selected:n.id===s}),children:[(0,m.jsx)("span",{children:l}),i&&(0,m.jsx)(M.z,{size:"s",className:ue("external-button",{hidden:!0}),href:i,target:"_blank",title:le("vdisk.developer-ui-button-title"),children:(0,m.jsx)(c.J,{data:d.Z})})]})},align:H.ZP.LEFT},{name:ve.VDiskState,header:pe[ve.VDiskState],width:70,render:e=>{let{row:t}=e;return(0,m.jsx)(p.A,{status:t.VDiskState===ee.H.OK?X.K.Green:X.K.Red})},sortAccessor:e=>e.VDiskState===ee.H.OK?1:0,align:H.ZP.CENTER},{name:ve.Size,header:pe[ve.Size],width:100,render:e=>{let{row:t}=e;return(0,m.jsx)(I.y,{value:t.AllocatedSize,capacity:Number(t.AllocatedSize)+Number(t.AvailableSize),formatValues:J.q3,colorizeProgress:!0})},sortAccessor:e=>Number(e.AllocatedSize),align:H.ZP.CENTER},{name:ve.Info,header:pe[ve.Info],width:70,render:e=>{let{row:t}=e;return(0,m.jsx)(Y.J,{placement:["right"],content:(0,m.jsx)(ce,{data:t}),tooltipContentClassName:ue("vdisk-details"),children:(0,m.jsx)(M.z,{view:"flat-secondary",className:ue("vdisk-details-button",{selected:t.id===s}),children:(0,m.jsx)(c.J,{data:Q.Z,size:18})})})},sortable:!1}]}function me(e){let{id:t,data:s,selectedVdiskId:n,nodeId:l,unfolded:i}=e;const[o,r]=a.useState(null!==i&&void 0!==i&&i),{TotalSize:d=0,AvailableSize:c=0,Device:u,PDiskId:v,Type:h,vDisks:b}=s,x=Number(d),g=Number(c);return(0,m.jsxs)("div",{className:ue("pdisk"),id:t,children:[(0,m.jsxs)("div",{className:ue("pdisk-header"),children:[(0,m.jsxs)("div",{className:ue("pdisk-title-wrapper"),children:[(0,m.jsx)(p.A,{status:u}),(0,m.jsx)(oe,{label:"PDiskID",value:v,className:ue("pdisk-title-id")}),(0,m.jsx)(oe,{value:h,className:ue("pdisk-title-type")}),(0,m.jsx)(I.y,{value:x-g,capacity:x,formatValues:J.q3,colorizeProgress:!0,className:ue("pdisk-title-size")}),(0,m.jsx)(oe,{label:"VDisks",value:b.length})]}),(0,m.jsx)(M.z,{onClick:o?()=>{r(!1)}:()=>{r(!0)},view:"flat-secondary",children:(0,m.jsx)($.F,{direction:o?"top":"bottom"})})]}),o&&(B()(s)?(0,m.jsx)("div",{children:"No information about PDisk"}):(0,m.jsxs)("div",{children:[(0,m.jsx)(W.P,{pDisk:s,nodeId:l,className:ue("pdisk-details")}),(0,m.jsxs)("div",{className:ue("vdisks-container"),children:[(0,m.jsx)("div",{className:ue("vdisks-header"),children:"VDisks"}),(0,m.jsx)(H.ZP,{theme:"yandex-cloud",data:b,columns:he({nodeId:l,pDiskId:v,selectedVdiskId:n}),settings:{...j.LE,dynamicRender:!1},rowClassName:e=>e.id===n?ue("selected-vdisk"):""})]})]}))]})}const be=(0,u.cn)("kv-node-structure");function xe(e){let{type:t,id:s}=e;return"".concat(t,"-").concat(s)}const ge=function(e){let{nodeId:t,className:s}=e;const n=(0,R.ix)((e=>K(e,t))),[l]=(0,R.Rj)(),{currentData:i,isFetching:o,error:r}=A.useGetNodeStructureQuery({nodeId:t},{pollingInterval:l}),d=o&&void 0===i,{pdiskId:c,vdiskId:u}=E.parse(window.location.href,!0).query,v=a.useRef(null),p=a.useRef(!1);return a.useEffect((()=>{if(!B()(n)&&!p.current&&v.current){const t=document.getElementById(xe({type:"pdisk",id:c}));let s=0;if(u){var e;const t=null===(e=n[c])||void 0===e?void 0:e.vDisks,a=null===t||void 0===t?void 0:t.find((e=>e.id===u)),l=a?document.querySelector(".data-table"):void 0,i=(null===a||void 0===a?void 0:a.order)||0;l&&(s+=l.offsetTop+40*i)}t&&(v.current.scrollTo({behavior:"smooth",top:s||t.offsetTop}),p.current=!0)}}),[n,c,u]),(0,m.jsx)("div",{className:be(),ref:v,children:(0,m.jsx)("div",{className:s,children:d?(0,m.jsx)(w.a,{size:"m"}):r?(0,m.jsx)(g.V,{error:r}):(()=>{const e=Object.keys(n);return e.length>0?e.map((e=>(0,m.jsx)(me,{data:n[e],id:xe({type:"pdisk",id:e}),unfolded:c===e,selectedVdiskId:u,nodeId:t},e))):"There is no information about node structure."})()})})},je=(0,u.cn)("node"),Ne="Storage";function ke(e){var t;const s=a.useRef(null),d=(0,R.zL)(),c=(0,i.TH)(),u=null!==(t=(0,i.$B)(T.ZP.node))&&void 0!==t?t:Object.create(null),{id:v,activeTab:p}=u.params,{tenantName:h}=(0,T.mB)(c),[b]=(0,R.Rj)(),{currentData:j,isFetching:N,error:k}=A.useGetNodeInfoQuery({nodeId:v},{pollingInterval:b}),f=N&&void 0===j,D=j,{activeTabVerified:I,nodeTabs:S}=a.useMemo((()=>{var e;const t=((null===D||void 0===D||null===(e=D.Roles)||void 0===e?void 0:e.find((e=>e===Ne)))?Z.ZJ:Z.ZJ.filter((e=>e.id!==Z.P_))).map((e=>({...e,title:e.name})));let s=t.find((e=>{let{id:t}=e;return t===p}));return s||(s=t[0]),{activeTabVerified:s,nodeTabs:t}}),[p,D]);a.useEffect((()=>{var e;const t=(null===D||void 0===D||null===(e=D.Tenants)||void 0===e?void 0:e[0])||(null===h||void 0===h?void 0:h.toString());d((0,C.J)("node",{tenantName:t,nodeId:v}))}),[d,D,v,h]);const V=()=>{switch(I.id){case Z.P_:return(0,m.jsx)("div",{className:je("storage"),children:(0,m.jsx)(F.V,{nodeId:v,parentContainer:s.current})});case Z.IA:return(0,m.jsx)(U.J,{nodeId:v,className:je("node-page-wrapper")});case Z.mD:return(0,m.jsx)(y,{node:D,className:je("overview-wrapper")});case Z.pV:return(0,m.jsx)(ge,{className:je("node-page-wrapper"),nodeId:v});default:return!1}};return f?(0,m.jsx)(w.a,{size:"l"}):k?(0,m.jsx)(g.V,{error:k}):D?(0,m.jsxs)("div",{className:je(null,e.className),ref:s,children:[(0,m.jsx)(l.ql,{titleTemplate:"%s \u2014 ".concat(D.Host," \u2014 YDB Monitoring"),defaultTitle:"".concat(D.Host," \u2014 YDB Monitoring"),children:(0,m.jsx)("title",{children:I.title})}),(0,m.jsx)(x,{node:D,additionalNodesProps:e.additionalNodesProps,className:je("header")}),(0,m.jsxs)("div",{className:je("tabs"),children:[(0,m.jsx)(n.m,{size:"l",items:S,activeTab:I.id,wrapTo:(e,t)=>{let{id:s}=e;return(0,m.jsx)(o.rU,{to:(0,T.ax)(T.ZP.node,{id:v,activeTab:s}),className:je("tab"),children:t},s)},allowNotSelected:!0}),(0,m.jsx)(r.q,{})]}),(0,m.jsx)("div",{className:je("content"),children:V()})]}):(0,m.jsx)("div",{className:"error",children:"no node data"})}},66809:(e,t,s)=>{s.d(t,{J:()=>z});var a=s(66950),n=s(10288),l=s(14979),i=s(88776),o=s(17095),r=s(14659),d=s(58682),c=s(69214),u=s(26688),v=s(74170),p=s(2098),h=s(22692),m=s(54665),b=s(27102),x=s(99399),g=s(28164),j=s(24362),N=s(52317),k=s(4119),f=s(34051),D=s(83496),I=s(92398),S=s(30817);const y=JSON.parse('{"noTabletsData":"No tablets data","Type":"Type","Tablet":"Tablet","State":"State","Node ID":"Node ID","Node FQDN":"Node FQDN","Generation":"Generation","Uptime":"Uptime","dialog.kill":"The tablet will be restarted. Do you want to proceed?","controls.kill-not-allowed":"You don\'t have enough rights to restart tablet"}'),w=(0,S.wZ)("ydb-tablets",{en:y});var T=s(75859);const C=(0,j.cn)("tablets"),V=[{name:"Type",get header(){return w("Type")},render:e=>{let{row:t}=e;return(0,T.jsxs)("span",{children:[t.Type," ",t.Leader?"":(0,T.jsx)(n.x,{color:"secondary",children:"follower"})]})}},{name:"TabletId",width:230,get header(){return w("Tablet")},render:e=>{var t;let{row:s}=e;const a=s.TabletId&&(0,m.ax)(m.ZP.tablet,{id:s.TabletId},{nodeId:s.NodeId,type:s.Type});return(0,T.jsx)(c.A,{name:null===(t=s.TabletId)||void 0===t?void 0:t.toString(),path:a,hasClipboardButton:!0,showStatus:!1,additionalControls:(0,T.jsx)(d.T,{href:"".concat(b.y3,"/tablets?TabletID=").concat(s.TabletId)})})}},{name:"State",get header(){return w("State")},render:e=>{let{row:t}=e;return(0,T.jsx)(l._,{theme:(0,D.KR)(t.State),children:t.State})}},{name:"NodeId",get header(){return w("Node ID")},render:e=>{let{row:t}=e;const s=void 0===t.NodeId?void 0:(0,I.a3)(t.NodeId);return(0,T.jsx)(v.h,{to:s,children:t.NodeId})},align:"right"},{name:"fqdn",get header(){return w("Node FQDN")},render:e=>{let{row:t}=e;return t.fqdn?(0,T.jsx)(c.A,{name:t.fqdn,showStatus:!1,hasClipboardButton:!0}):(0,T.jsx)("span",{children:"\u2014"})}},{name:"Generation",get header(){return w("Generation")},align:"right"},{name:"Uptime",get header(){return w("Uptime")},render:e=>{let{row:t}=e;return(0,k.fG)(t.ChangeTime)},sortAccessor:e=>-Number(e.ChangeTime),align:"right"},{name:"Actions",sortable:!1,resizeable:!1,header:"",render:e=>{let{row:t}=e;return(0,T.jsx)(P,{...t})}}];function P(e){const t=e.State===g.g.Stopped,s=(0,f.zL)(),{isUserAllowedToMakeChanges:n}=(0,f.ix)((e=>e.authentication));return(0,T.jsx)(r.U,{buttonView:"outlined",dialogContent:w("dialog.kill"),onConfirmAction:()=>window.api.killTablet(e.TabletId),onConfirmActionSuccess:()=>{s(x.zg.util.invalidateTags(["All"]))},buttonDisabled:t||!n,withPopover:!0,popoverContent:w("controls.kill-not-allowed"),popoverDisabled:n,children:(0,T.jsx)(i.J,{data:a.Z})})}function z(e){let{nodeId:t,path:s,className:a}=e;const[n]=(0,f.Rj)();let l={};const i=void 0===t?void 0:String(t);void 0!==i?l={nodes:[String(i)]}:s&&(l={path:s});const{currentData:r,isFetching:d,error:c}=x.zg.useGetTabletsInfoQuery(0===Object.keys(l).length?o.CN:l,{pollingInterval:n}),v=d&&void 0===r,m=(0,f.ix)((e=>(0,x.Sq)(e,l)));return v?(0,T.jsx)(h.h,{}):c?(0,T.jsx)(u.V,{error:c}):(0,T.jsx)("div",{className:C(null,a),children:(0,T.jsx)(p.G,{columns:V,data:m,settings:N.LE,emptyDataMessage:w("noTabletsData")})})}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/7418.8548a710.chunk.js b/ydb/core/viewer/monitoring/static/js/7418.8548a710.chunk.js
new file mode 100644
index 000000000000..3cd799d11d52
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/7418.8548a710.chunk.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[7418],{84317:(e,t,n)=>{n.d(t,{Z:()=>a});var l=n(68963);const a=e=>l.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),l.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 1.5a6.501 6.501 0 0 1 6.445 5.649.75.75 0 1 1-1.488.194A5.001 5.001 0 0 0 4.43 4.5h1.32a.75.75 0 0 1 0 1.5h-3A.75.75 0 0 1 2 5.25v-3a.75.75 0 1 1 1.5 0v1.06A6.48 6.48 0 0 1 8 1.5Zm5.25 13a.75.75 0 0 0 .75-.75v-3a.75.75 0 0 0-.75-.75h-3a.75.75 0 1 0 0 1.5h1.32a5.001 5.001 0 0 1-8.528-2.843.75.75 0 1 0-1.487.194 6.501 6.501 0 0 0 10.945 3.84v1.059c0 .414.336.75.75.75Z",clipRule:"evenodd"}))},66950:(e,t,n)=>{n.d(t,{Z:()=>a});var l=n(68963);const a=e=>l.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),l.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 1.5a6.501 6.501 0 0 0-6.445 5.649.75.75 0 1 0 1.488.194A5.001 5.001 0 0 1 11.57 4.5h-1.32a.75.75 0 0 0 0 1.5h3a.75.75 0 0 0 .75-.75v-3a.75.75 0 0 0-1.5 0v1.06A6.48 6.48 0 0 0 8 1.5Zm-5.25 13a.75.75 0 0 1-.75-.75v-3a.75.75 0 0 1 .75-.75h3a.75.75 0 0 1 0 1.5H4.43a5.001 5.001 0 0 0 8.528-2.843.75.75 0 1 1 1.487.194A6.501 6.501 0 0 1 3.5 12.691v1.059a.75.75 0 0 1-.75.75Z",clipRule:"evenodd"}))},57225:(e,t,n)=>{n.d(t,{Z:()=>a});var l=n(68963);const a=e=>l.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),l.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0Zm-6 2.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8.75 5a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0V5Z",clipRule:"evenodd"}))},67585:(e,t,n)=>{n.d(t,{Z:()=>a});var l=n(68963);const a=e=>l.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),l.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm1-9.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8 7.75a.75.75 0 0 1 .75.75V11a.75.75 0 0 1-1.5 0V8.5A.75.75 0 0 1 8 7.75Z",clipRule:"evenodd"}))},76506:(e,t,n)=>{n.d(t,{Z:()=>a});var l=n(68963);const a=e=>l.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),l.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14ZM6.53 5.47a.75.75 0 0 0-1.06 1.06L6.94 8 5.47 9.47a.75.75 0 1 0 1.06 1.06L8 9.06l1.47 1.47a.75.75 0 1 0 1.06-1.06L9.06 8l1.47-1.47a.75.75 0 1 0-1.06-1.06L8 6.94 6.53 5.47Z",clipRule:"evenodd"}))},71549:(e,t,n)=>{n.d(t,{Z:()=>a});var l=n(68963);const a=e=>l.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),l.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"m3.003 4.702 4.22-2.025a1.796 1.796 0 0 1 1.554 0l4.22 2.025a.886.886 0 0 1 .503.8V6a8.55 8.55 0 0 1-3.941 7.201l-.986.631a1.063 1.063 0 0 1-1.146 0l-.986-.63A8.55 8.55 0 0 1 2.5 6v-.498c0-.341.196-.652.503-.8Zm3.57-3.377L2.354 3.35A2.387 2.387 0 0 0 1 5.502V6a10.05 10.05 0 0 0 4.632 8.465l.986.63a2.563 2.563 0 0 0 2.764 0l.986-.63A10.05 10.05 0 0 0 15 6v-.498c0-.918-.526-1.755-1.354-2.152l-4.22-2.025a3.296 3.296 0 0 0-2.852 0ZM9.5 7a1.5 1.5 0 0 1-.75 1.3v1.95a.75.75 0 0 1-1.5 0V8.3A1.5 1.5 0 1 1 9.5 7Z",clipRule:"evenodd"}))},71586:(e,t,n)=>{n.d(t,{Z:()=>a});var l=n(68963);const a=e=>l.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),l.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.836 2.244c.962-1.665 3.366-1.665 4.328 0l4.917 8.505c.964 1.666-.239 3.751-2.164 3.751H3.083c-1.925 0-3.128-2.085-2.164-3.751l4.917-8.505ZM8 5a.75.75 0 0 1 .75.75v2a.75.75 0 1 1-1.5 0v-2A.75.75 0 0 1 8 5Zm1 5.75a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z",clipRule:"evenodd"}))},2639:(e,t,n)=>{n.d(t,{B:()=>a,M:()=>o});var l=n(68963);function a(e,t){return e.map((e=>{var n;let l;e.sub&&(l=a(e.sub,t));const o=null!==(n=t[e.name])&&void 0!==n?n:e.width;return Object.assign(Object.assign({},e),{width:o,sub:l})}))}function o(e){let{saveSizes:t,getSizes:n}=e;const[a,o]=l.useState((()=>n()));return[a,l.useCallback(((e,n)=>{o((l=>{const a=Object.assign(Object.assign({},l),{[e]:n});return t(a),a}))}),[t])]}},25822:(e,t,n)=>{n.d(t,{V:()=>R});var l=n(68963),a=n(62685),o=n(74100),s=n(95753),i=n(57107),r=n(89459),c=n(36951),d=n(3262),u=n(31445);const m=(0,c.Ge)("modal");function p(e){let{open:t=!1,keepMounted:n=!1,disableBodyScrollLock:c=!1,disableEscapeKeyDown:p,disableOutsideClick:v,disableFocusTrap:h,disableAutoFocus:E,focusTrap:w=!0,autoFocus:b=!0,restoreFocusRef:y,onEscapeKeyDown:f,onEnterKeyDown:g,onOutsideClick:C,onClose:k,onTransitionEnter:N,onTransitionEntered:O,onTransitionExit:x,onTransitionExited:D,children:B,style:K,contentOverflow:R="visible",className:Z,contentClassName:A,"aria-labelledby":T,"aria-label":L,container:F,qa:M}=e;const j=l.useRef(null),z=l.useRef(null),[G,S]=l.useState(!1);(0,o.y)({enabled:!c&&(t||G)});const q=(0,s.H)({enabled:t||G,restoreFocusRef:y,focusTrapped:!0});return(0,d.s)({open:t,disableEscapeKeyDown:p,disableOutsideClick:v,onEscapeKeyDown:f,onEnterKeyDown:g,onOutsideClick:C,onClose:k,contentRefs:[z],type:"modal"}),l.createElement(a.Z,{nodeRef:j,in:t,addEndListener:e=>{var t;return null===(t=j.current)||void 0===t?void 0:t.addEventListener("animationend",e)},classNames:(0,u.Y)(m),mountOnEnter:!n,unmountOnExit:!n,appear:!0,onEnter:()=>{S(!0),null===N||void 0===N||N()},onExit:()=>{S(!0),null===x||void 0===x||x()},onEntered:()=>{S(!1),null===O||void 0===O||O()},onExited:()=>{S(!1),null===D||void 0===D||D()}},l.createElement(i.h,{container:F},l.createElement("div",{ref:j,style:K,className:m({open:t},Z),"data-qa":M},l.createElement("div",{className:m("content-aligner")},l.createElement("div",{className:m("content-wrapper")},l.createElement(r.i,{enabled:!h&&w&&t&&!G,autoFocus:!E&&b},l.createElement("div",Object.assign({ref:z,tabIndex:-1,role:"dialog","aria-modal":t,"aria-label":L,"aria-labelledby":T,className:m("content",{"has-scroll":"auto"===R},A)},q),B)))))))}var v=n(77280),h=n(17176),E=n(88776),w=n(54973);const b=JSON.parse('{"close":"Close dialog"}'),y=JSON.parse('{"close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e"}'),f=(0,w.e)({en:b,ru:y},"Dialog"),g=(0,c.Ge)("dialog-btn-close");function C(e){let{onClose:t}=e;return l.createElement("div",{className:g()},l.createElement(h.z,{view:"flat",size:"l",className:g("btn"),onClick:e=>t(e,{isOutsideClick:!1}),extraProps:{"aria-label":f("close")}},l.createElement(E.J,{data:v.Z,size:20})))}const k=(0,c.Ge)("dialog-body");const N=(0,c.Ge)("dialog-divider");var O=n(44920);const x=(0,c.Ge)("dialog-footer");class D extends l.Component{constructor(){super(...arguments),this.errorTooltipRef=l.createRef(),this.handleKeyDown=e=>{"Enter"===e.key&&(e.preventDefault(),this.props.onClickButtonApply&&this.props.onClickButtonApply(e))}}componentDidMount(){this.props.listenKeyEnter&&this.attachKeyDownListeners()}componentDidUpdate(e){!this.props.listenKeyEnter&&e.listenKeyEnter&&this.detachKeyDownListeners(),this.props.listenKeyEnter&&!e.listenKeyEnter&&this.attachKeyDownListeners()}componentWillUnmount(){this.detachKeyDownListeners()}render(){const{onClickButtonCancel:e,onClickButtonApply:t,loading:n,textButtonCancel:a,textButtonApply:o,propsButtonCancel:s,propsButtonApply:i,preset:r,children:c,errorText:d,showError:u,renderButtons:m}=this.props,p=l.createElement("div",{className:x("button",{action:"cancel"})},l.createElement(h.z,Object.assign({view:o?"flat":"normal",size:"l",width:"max",onClick:e,disabled:n},s),a)),v=l.createElement("div",{className:x("button",{action:"apply"})},l.createElement(h.z,Object.assign({ref:this.errorTooltipRef,type:"submit",view:"action",size:"l",width:"max",onClick:t,loading:n,className:x("button-apply",{preset:r})},i),o),d&&l.createElement(O.G,{open:u,anchorRef:this.errorTooltipRef,placement:["bottom","top"],disableLayer:!0,disablePortal:!0,hasArrow:!0},l.createElement("div",{className:x("error")},d)));return l.createElement("div",{className:x()},l.createElement("div",{className:x("children")},c),l.createElement("div",{className:x("bts-wrapper")},m?m(v,p):l.createElement(l.Fragment,null,a&&p,o&&v)))}attachKeyDownListeners(){setTimeout((()=>{window.addEventListener("keydown",this.handleKeyDown)}),0)}detachKeyDownListeners(){window.removeEventListener("keydown",this.handleKeyDown)}}D.defaultProps={preset:"default",showError:!1,listenKeyEnter:!1};const B=(0,c.Ge)("dialog-header");const K=(0,c.Ge)("dialog");class R extends l.Component{constructor(){super(...arguments),this.handleCloseButtonClick=e=>{const{onClose:t}=this.props;t(e.nativeEvent,"closeButtonClick")}}render(){const{container:e,children:t,open:n,disableBodyScrollLock:a,disableEscapeKeyDown:o,disableOutsideClick:s,disableFocusTrap:i,disableAutoFocus:r,restoreFocusRef:c,keepMounted:d,size:u,contentOverflow:m="visible",className:v,modalClassName:h,hasCloseButton:E,onEscapeKeyDown:w,onEnterKeyDown:b,onOutsideClick:y,onClose:f,onTransitionEnter:g,onTransitionEntered:k,onTransitionExit:N,onTransitionExited:O,"aria-label":x,"aria-labelledby":D,qa:B}=this.props;return l.createElement(p,{open:n,contentOverflow:m,disableBodyScrollLock:a,disableEscapeKeyDown:o,disableOutsideClick:s,disableFocusTrap:i,disableAutoFocus:r,restoreFocusRef:c,keepMounted:d,onEscapeKeyDown:w,onEnterKeyDown:b,onOutsideClick:y,onClose:f,onTransitionEnter:g,onTransitionEntered:k,onTransitionExit:N,onTransitionExited:O,className:K("modal",h),"aria-label":x,"aria-labelledby":D,container:e,qa:B},l.createElement("div",{className:K({size:u,"has-close":E,"has-scroll":"auto"===m},v)},t,E&&l.createElement(C,{onClose:this.handleCloseButtonClick})))}}R.defaultProps={disableBodyScrollLock:!1,disableEscapeKeyDown:!1,disableOutsideClick:!1,keepMounted:!1,hasCloseButton:!0},R.Footer=D,R.Header=function(e){const{caption:t="",insertBefore:n,insertAfter:a,className:o,id:s}=e;return l.createElement("div",{className:B(null,o)},n,l.createElement("div",{className:B("caption"),id:s},t),a)},R.Body=function(e){const{className:t,hasBorders:n=!1}=e;return l.createElement("div",{className:k({"has-borders":n},t)},e.children)},R.Divider=function(e){let{className:t}=e;return l.createElement("div",{className:N(null,t)})}},56711:(e,t,n)=>{n.d(t,{O:()=>o});var l=n(68963);const a=(0,n(36951).Ge)("skeleton");function o(e){let{className:t,style:n,qa:o}=e;return l.createElement("div",{className:a(null,t),style:n,"data-qa":o})}},27320:(e,t,n)=>{n.d(t,{u:()=>d});var l=n(68963),a=n(48027),o=n(79004),s=n(44920),i=n(10288);const r=(0,n(36951).Ge)("tooltip"),c=["bottom","top"],d=e=>{const{children:t,content:n,disabled:d,placement:u=c,qa:m,id:p,className:v,style:h,disablePortal:E,contentClassName:w,openDelay:b=1e3,closeDelay:y}=e,[f,g]=l.useState(null),C=(0,o.p)(f,{openDelay:b,closeDelay:y,preventTriggerOnFocus:!0}),k=l.Children.only(t),N=k.ref,O=(0,a.c)(g,N);return l.createElement(l.Fragment,null,l.cloneElement(k,{ref:O}),f?l.createElement(s.G,{id:p,role:"tooltip",className:r(null,v),style:h,open:C&&!d,placement:u,anchorRef:{current:f},disablePortal:E,disableEscapeKeyDown:!0,disableOutsideClick:!0,disableLayer:!0,qa:m},l.createElement("div",{className:r("content",w)},l.createElement(i.x,{variant:"body-short",color:"complementary"},n))):null)}},56829:(e,t,n)=>{n.d(t,{F:()=>a});var l=n(40797);function a(){return(0,l.T)().theme}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/7542.d61fc913.chunk.js b/ydb/core/viewer/monitoring/static/js/7542.d61fc913.chunk.js
new file mode 100644
index 000000000000..75a6c4c1a78d
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/7542.d61fc913.chunk.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[7542],{14659:(e,t,n)=>{n.d(t,{U:()=>w});var a=n(68963),s=n(17176),o=n(68330),l=n(76506),r=n(71586),i=n(25822),c=n(88776),d=n(24362),u=n(30817);const m=JSON.parse('{"default-error":"Something went wrong, action cannot be completed","no-rights-error":"You don\'t have enough rights to complete the operation","button-confirm":"Confirm","button-cancel":"Cancel","button-close":"Close"}'),p=(0,u.wZ)("ydb-critical-action-dialog",{en:m});var h=n(75859);const b=(0,d.cn)("ydb-critical-dialog"),v=e=>403===e.status?p("no-rights-error"):e.statusText?e.statusText:p("default-error");function g(e){let{visible:t,text:n,onClose:s,onConfirm:o,onConfirmActionSuccess:d,onConfirmActionError:u}=e;const[m,g]=a.useState(!1),[w,f]=a.useState(),y=async e=>(e.preventDefault(),g(!0),o().then((()=>{d(),s()})).catch((e=>{u(),f(e)})).finally((()=>{g(!1)})));return(0,h.jsx)(i.V,{open:t,hasCloseButton:!1,className:b(),size:"s",onClose:s,onTransitionExited:()=>f(void 0),children:w?(0,h.jsxs)(a.Fragment,{children:[(0,h.jsxs)(i.V.Body,{className:b("body"),children:[(0,h.jsx)("span",{className:b("error-icon"),children:(0,h.jsx)(l.Z,{width:"24",height:"22"})}),v(w)]}),(0,h.jsx)(i.V.Footer,{loading:!1,preset:"default",textButtonCancel:p("button-close"),onClickButtonCancel:s})]}):(0,h.jsxs)("form",{onSubmit:y,children:[(0,h.jsxs)(i.V.Body,{className:b("body"),children:[(0,h.jsx)("span",{className:b("warning-icon"),children:(0,h.jsx)(c.J,{data:r.Z,size:24})}),n]}),(0,h.jsx)(i.V.Footer,{loading:m,preset:"default",textButtonApply:p("button-confirm"),textButtonCancel:p("button-cancel"),propsButtonApply:{type:"submit"},onClickButtonCancel:s,onClickButtonApply:()=>{}})]})})}function w(e){let{children:t,onConfirmAction:n,onConfirmActionSuccess:l,dialogContent:r,buttonDisabled:i=!1,buttonView:c="action",buttonClassName:d,withPopover:u=!1,popoverContent:m,popoverPlacement:p="right",popoverDisabled:b=!0}=e;const[v,w]=a.useState(!1),[f,y]=a.useState(!1),x=()=>(0,h.jsx)(s.z,{onClick:()=>w(!0),view:c,disabled:i,loading:!i&&f,className:d,children:t});return(0,h.jsxs)(a.Fragment,{children:[(0,h.jsx)(g,{visible:v,text:r,onConfirm:async()=>{y(!0),await n(),y(!1)},onConfirmActionSuccess:async()=>{if(l){y(!0);try{await l()}catch{}finally{y(!1)}}},onConfirmActionError:()=>{y(!1)},onClose:()=>{w(!1)}}),u?(0,h.jsx)(o.J,{content:m,placement:p,disabled:b,children:x()}):x()]})}},90861:(e,t,n)=>{n.d(t,{m:()=>u});var a=n(27320),s=n(17176),o=n(11050),l=n(81434),r=n(24362),i=n(75859);const c=(0,r.cn)("clipboard-button");function d(e){let{className:t,status:n,title:l,...r}=e;return(0,i.jsx)(a.u,{content:"success"===n?"Copied!":l||"Copy",placement:"bottom-start",children:(0,i.jsx)(s.z,{...r,className:c(null,t),children:(0,i.jsx)(s.z.Icon,{children:(0,i.jsx)(o.K,{status:n,size:16})})})})}function u(e){let{text:t,...n}=e;return(0,i.jsx)(l.h,{text:t,timeout:1e3,children:e=>(0,i.jsx)(d,{...n,status:e})})}},79023:(e,t,n)=>{n.d(t,{u:()=>E});var a,s,o,l,r,i,c,d,u,m,p,h=n(88776),b=n(24362),v=n(68963);function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{image:t,title:n,description:a,actions:s,size:o="m",position:l="center"}=e;return(0,f.jsx)("div",{className:y({size:o}),children:(0,f.jsxs)("div",{className:y("wrapper",{size:o,position:l}),children:[(0,f.jsx)("div",{className:y("image"),children:t||(0,f.jsx)(h.J,{data:w,width:x[o],height:x[o]})}),(0,f.jsx)("div",{className:y("title",{size:o}),children:n}),(0,f.jsx)("div",{className:y("description"),children:a}),(0,f.jsx)("div",{className:y("actions"),children:s})]})})}},69214:(e,t,n)=>{n.d(t,{A:()=>u});var a=n(86017),s=n(75850),o=n(24362),l=n(90861),r=n(68036),i=n(98366),c=n(75859);const d=(0,o.cn)("entity-status");function u(e){let{status:t=s.K.Grey,name:n="",label:o,path:u,iconPath:m,size:p="s",mode:h="color",showStatus:b=!0,externalLink:v=!1,withLeftTrim:g=!1,hasClipboardButton:w,clipboardButtonAlwaysVisible:f=!1,className:y,additionalControls:x}=e;const E=()=>b?(0,c.jsx)(i.J,{className:d("icon"),status:t,size:p,mode:h}):null;return(0,c.jsxs)("div",{className:d(null,y),title:n,children:[m?(C=m,(0,c.jsx)(a.r,{target:"_blank",href:C,children:E()})):E(),o&&(0,c.jsx)("span",{title:o,className:d("label",{size:p,state:t.toLowerCase()}),children:o}),(0,c.jsx)("span",{className:d("link",{"with-left-trim":g}),children:u?v?(0,c.jsx)(a.r,{className:d("name"),href:u,children:n}):(0,c.jsx)(r.h,{className:d("name"),to:u,children:n}):n&&(0,c.jsx)("span",{className:d("name"),children:n})}),w&&(0,c.jsx)(l.m,{text:n,size:"s",className:d("clipboard-button",{visible:f})}),x]});var C}},8747:(e,t,n)=>{n.d(t,{V:()=>o});var a=n(68746),s=n(75859);const o=e=>{let{error:t,className:n,defaultMessage:o=(0,a.Z)("responseError.defaultMessage")}=e,l="";return t&&"string"===typeof t&&(l=t),t&&"object"===typeof t&&("data"in t&&"string"===typeof t.data?l=t.data:"statusText"in t&&"string"===typeof t.statusText?l=t.statusText:"message"in t&&"string"===typeof t.message&&(l=t.message)),(0,s.jsx)("div",{className:"error ".concat(n),children:l||o})}},26688:(e,t,n)=>{n.d(t,{V:()=>a.V});var a=n(8747)},68746:(e,t,n)=>{n.d(t,{Z:()=>l});var a=n(30817);const s=JSON.parse('{"403.title":"Access denied","403.description":"You don\u2019t have the necessary roles to view this page.","responseError.defaultMessage":"Response error"}'),o=JSON.parse('{"403.title":"\u0414\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d","403.description":"\u0423 \u0432\u0430\u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0430\u0432 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.","responseError.defaultMessage":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430"}'),l=(0,a.wZ)("ydb-errors-access-denied",{ru:o,en:s})},16670:(e,t,n)=>{n.d(t,{a:()=>r});var a=n(2982),s=n(24362),o=n(75859);const l=(0,s.cn)("ydb-loader"),r=e=>{let{size:t="m",className:n}=e;return(0,o.jsx)("div",{className:l(null,n),children:(0,o.jsx)(a.a,{size:t})})}},2098:(e,t,n)=>{n.d(t,{G:()=>c});var a=n(2639),s=n(19812),o=n(24362),l=n(89712),r=n(75859);const i=(0,o.cn)("ydb-resizeable-data-table");function c(e){let{columnsWidthLSKey:t,columns:n,settings:o,wrapperClassName:c,...d}=e;const[u,m]=(0,l.M)(t),p=(0,a.B)(n,u),h={...o,defaultResizeable:!0};return(0,r.jsx)("div",{className:i(null,c),children:(0,r.jsx)(s.ZP,{theme:"yandex-cloud",columns:p,onResize:m,settings:h,...d})})}},98366:(e,t,n)=>{n.d(t,{J:()=>m});var a=n(67585),s=n(57225),o=n(71586),l=n(88776),r=n(75850),i=n(24362),c=n(75859);const d=(0,i.cn)("ydb-status-icon"),u={[r.K.Blue]:a.Z,[r.K.Yellow]:s.Z,[r.K.Orange]:o.Z,[r.K.Red]:s.Z};function m(e){let{status:t=r.K.Grey,size:n="s",mode:a="color",className:s}=e;const o={state:t.toLowerCase(),size:n};return"icons"===a&&t in u?(0,c.jsx)(l.J,{className:d("status-icon",o,s),data:u[t]}):(0,c.jsx)("div",{className:d("status-color",o,s)})}},94178:(e,t,n)=>{n.d(t,{V:()=>l});var a=n(24362),s=n(75859);const o=(0,a.cn)("tag"),l=e=>{let{text:t,type:n}=e;return(0,s.jsx)("div",{className:o({type:n}),children:t})}},47542:(e,t,n)=>{n.r(t),n.d(t,{Tablet:()=>G,b:()=>P});var a=n(68963),s=n(39683),o=n(86017),l=n(88776),r=n(17095),i=n(49352),c=n(86974),d=n(79023),u=n(69214),m=n(26688),p=n(16670),h=n(94178),b=n(54665),v=n(27102),g=n(79061),w=n(51688);const f=n(905).h.injectEndpoints({endpoints:e=>({getTablet:e.query({queryFn:async(e,t)=>{let{id:n}=e,{signal:a}=t;try{const[e,t,s]=await Promise.all([window.api.getTablet({id:n},{signal:a}),window.api.getTabletHistory({id:n},{signal:a}),window.api.getNodesList({signal:a})]),o=(0,w.dn)(s),l=Object.keys(t).reduce(((e,n)=>{var a;const s=null===(a=t[n])||void 0===a?void 0:a.TabletStateInfo;if(s&&s.length){const t=s.find((e=>e.Leader))||s[0],{ChangeTime:a,Generation:l,State:r,Leader:i,FollowerId:c}=t,d=o&&n?o.get(Number(n)):void 0;e.push({nodeId:n,generation:l,changeTime:a,state:r,leader:i,followerId:c,fqdn:d})}return e}),[]),{TabletStateInfo:r=[]}=e,[i={}]=r,{TabletId:c}=i;return{data:{id:c,data:i,history:l}}}catch(s){return{error:s}}},providesTags:["All"]}),getTabletDescribe:e.query({queryFn:async(e,t)=>{let{tenantId:n}=e,{signal:a}=t;try{const e=await window.api.getTabletDescribe(n,{signal:a}),{SchemeShard:t,PathId:s}=n;return{data:(null===e||void 0===e?void 0:e.Path)||"".concat(t,":").concat(s)}}catch(s){return{error:s}}},providesTags:["All"]})}),overrideExisting:"throw"});var y=n(24362),x=n(52317),E=n(34051),C=n(14659),j=n(28164),N=n(30817);const k=JSON.parse('{"tablet.header":"Tablet","controls.kill":"Restart","controls.stop":"Stop","controls.resume":"Resume","controls.kill-not-allowed":"You don\'t have enough rights to restart tablet","controls.stop-not-allowed":"You don\'t have enough rights to stop tablet","controls.resume-not-allowed":"You don\'t have enough rights to resume tablet","dialog.kill":"The tablet will be restarted. Do you want to proceed?","dialog.stop":"The tablet will be stopped. Do you want to proceed?","dialog.resume":"The tablet will be resumed. Do you want to proceed?","emptyState":"The tablet was not found"}'),T=(0,N.wZ)("ydb-tablet-page",{en:k});var z=n(75859);const D=e=>{let{tablet:t,fetchData:n}=e;const{TabletId:s,HiveId:o}=t,{isUserAllowedToMakeChanges:l}=(0,E.ix)((e=>e.authentication)),r=t.State===j.g.Stopped,i=t.State!==j.g.Stopped&&t.State!==j.g.Dead,c=t.State===j.g.Stopped||t.State===j.g.Deleted;return(0,z.jsxs)("div",{className:P("controls"),children:[(0,z.jsx)(C.U,{dialogContent:T("dialog.kill"),onConfirmAction:()=>window.api.killTablet(s),onConfirmActionSuccess:n,buttonClassName:P("control"),buttonDisabled:r||!l,withPopover:!0,popoverContent:T("controls.kill-not-allowed"),popoverPlacement:"bottom",popoverDisabled:l,children:T("controls.kill")}),o&&"0"!==o?(0,z.jsxs)(a.Fragment,{children:[(0,z.jsx)(C.U,{dialogContent:T("dialog.stop"),onConfirmAction:()=>window.api.stopTablet(s,o),onConfirmActionSuccess:n,buttonClassName:P("control"),buttonDisabled:c||!l,withPopover:!0,popoverContent:T("controls.stop-not-allowed"),popoverPlacement:"bottom",popoverDisabled:l,children:T("controls.stop")}),(0,z.jsx)(C.U,{dialogContent:T("dialog.resume"),onConfirmAction:()=>window.api.resumeTablet(s,o),onConfirmActionSuccess:n,buttonClassName:P("control"),buttonDisabled:i||!l,withPopover:!0,popoverContent:T("controls.resume-not-allowed"),popoverPlacement:"bottom",popoverDisabled:l,children:T("controls.resume")})]}):null]})};var S=n(83203),B=n(62206),O=n(4119),A=n(92398);const I=e=>{let{tablet:t,tenantPath:n}=e;const{ChangeTime:a,Generation:s,FollowerId:l,NodeId:r,HiveId:i,State:c,Type:d,TenantId:{SchemeShard:u}={}}=t,m=i&&"0"!==i,p=c===j.g.Active,h=[{label:"Database",value:n||"-"}];return m&&h.push({label:"HiveId",value:(0,z.jsx)(o.r,{href:(0,b.ax)(b.ZP.tablet,{id:i}),target:"_blank",children:i})}),u&&h.push({label:"SchemeShard",value:(0,z.jsx)(o.r,{href:(0,b.ax)(b.ZP.tablet,{id:u}),target:"_blank",children:u})}),h.push({label:"Type",value:d},{label:"State",value:c}),p&&h.push({label:"Uptime",value:(0,O.fG)(a)}),h.push({label:"Generation",value:s},{label:"Node",value:(0,z.jsx)(S.rU,{className:P("link"),to:(0,A.a3)(String(r)),children:r})}),l&&h.push({label:"Follower",value:l}),(0,z.jsx)(B._P,{info:h})};var K=n(19812),F=n(68036),L=n(2098);const Z=[{name:"Generation",align:K.ZP.RIGHT,render:e=>{let{row:t}=e;return t.generation}},{name:"Change time",align:K.ZP.RIGHT,sortable:!1,render:e=>{let{row:t}=e;return(0,O.fG)(t.changeTime)}},{name:"State",sortable:!1,render:e=>{let{row:t}=e;return t.state}},{name:"Follower ID",sortable:!1,render:e=>{let{row:t}=e;return t.leader?"leader":t.followerId}},{name:"Node ID",align:K.ZP.RIGHT,sortable:!1,render:e=>{let{row:t}=e;return(0,z.jsx)(F.h,{to:(0,A.a3)(t.nodeId),children:t.nodeId})}},{name:"Node FQDN",sortable:!1,width:300,render:e=>{let{row:t}=e;return t.fqdn?(0,z.jsx)(u.A,{name:t.fqdn,showStatus:!1,hasClipboardButton:!0}):(0,z.jsx)("span",{children:"\u2014"})}}],M={displayIndices:!1},R=e=>{let{history:t}=e;return(0,z.jsx)(L.G,{columnsWidthLSKey:"tabletTableColumnsWidth",data:t,columns:Z,settings:M,initialSortOrder:{columnId:"Generation",order:K.ZP.DESCENDING}})},P=(0,y.cn)("tablet-page"),G=()=>{var e;const t=a.useRef(!0),n=(0,E.zL)(),w=(0,c.TH)(),y=(0,c.UO)(),{id:C}=y,{nodeId:j,tenantName:N,type:k,clusterName:S}=(0,b.mB)(w),[B]=(0,E.Rj)(),{currentData:O,isFetching:A,error:K,refetch:F}=f.useGetTabletQuery({id:C},{pollingInterval:B}),L=A&&void 0===O,{id:Z,data:M={},history:G=[]}=O||{},{currentData:V}=f.useGetTabletDescribeQuery(M.TenantId?{tenantId:M.TenantId}:r.CN),J=(null===(e=M.NodeId)||void 0===e?void 0:e.toString())||(null===j||void 0===j?void 0:j.toString()),q=V||(null===N||void 0===N?void 0:N.toString()),U=M.Type||(null===k||void 0===k?void 0:k.toString());a.useEffect((()=>{n((0,g.J)("tablet",{nodeIds:J?[J]:[],tenantName:q,tabletId:C,tabletType:U}))}),[n,q,C,J,U]);const H=(e,t)=>(0,z.jsx)("li",{className:P("link",{external:!0}),children:(0,z.jsx)(o.r,{href:"".concat(v.y3).concat(e.path),target:"_blank",children:e.name})},t);return(0,z.jsxs)(a.Fragment,{children:[(0,z.jsx)(i.ql,{children:(0,z.jsx)("title",{children:"".concat(C," \u2014 ").concat(T("tablet.header")," \u2014 ").concat(q||S||x.DO)})}),(()=>{if(L&&C!==Z&&t.current)return(0,z.jsx)(p.a,{size:"l"});if(K)return(0,z.jsx)(m.V,{error:K});if(!M||!Object.keys(M).length)return(0,z.jsx)("div",{className:P("placeholder"),children:(0,z.jsx)(d.u,{title:T("emptyState")})});const{TabletId:e,Overall:n,Leader:a}=M,o=[{name:"".concat(x.Ah," - tablet"),path:"/tablets?TabletID=".concat(e)}];return(0,z.jsx)("div",{className:P(),children:(0,z.jsxs)("div",{className:P("pane-wrapper"),children:[(0,z.jsxs)("div",{className:P("left-pane"),children:[(0,z.jsx)("ul",{className:P("links"),children:o.map(H)}),(0,z.jsxs)("div",{className:P("row",{header:!0}),children:[(0,z.jsx)("span",{className:P("title"),children:T("tablet.header")}),(0,z.jsx)(u.A,{status:n,name:e}),(0,z.jsx)("a",{rel:"noopener noreferrer",className:P("link",{external:!0}),href:"".concat(v.y3,"/tablets?TabletID=").concat(e),target:"_blank",children:(0,z.jsx)(l.J,{data:s.Z})}),a&&(0,z.jsx)(h.V,{text:"Leader",type:"blue"}),(0,z.jsx)("span",{className:P("loader"),children:L&&(0,z.jsx)(p.a,{size:"s"})})]}),(0,z.jsx)(I,{tablet:M,tenantPath:q}),(0,z.jsx)(D,{tablet:M,fetchData:F})]}),(0,z.jsx)("div",{className:P("rigth-pane"),children:(0,z.jsx)(R,{history:G})})]})})})()]})}},89712:(e,t,n)=>{n.d(t,{M:()=>l});var a=n(68963),s=n(2639),o=n(18193);const l=e=>{const t=a.useCallback((()=>e?o.r.readUserSettingsValue(e,{}):{}),[e]),n=a.useCallback((t=>{e&&o.r.setUserSettingsValue(e,t)}),[e]);return(0,s.M)({saveSizes:n,getSizes:t})}},57225:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(68963);const s=e=>a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0Zm-6 2.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8.75 5a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0V5Z",clipRule:"evenodd"}))},67585:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(68963);const s=e=>a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm1-9.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8 7.75a.75.75 0 0 1 .75.75V11a.75.75 0 0 1-1.5 0V8.5A.75.75 0 0 1 8 7.75Z",clipRule:"evenodd"}))},76506:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(68963);const s=e=>a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14ZM6.53 5.47a.75.75 0 0 0-1.06 1.06L6.94 8 5.47 9.47a.75.75 0 1 0 1.06 1.06L8 9.06l1.47 1.47a.75.75 0 1 0 1.06-1.06L9.06 8l1.47-1.47a.75.75 0 1 0-1.06-1.06L8 6.94 6.53 5.47Z",clipRule:"evenodd"}))},71586:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(68963);const s=e=>a.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),a.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.836 2.244c.962-1.665 3.366-1.665 4.328 0l4.917 8.505c.964 1.666-.239 3.751-2.164 3.751H3.083c-1.925 0-3.128-2.085-2.164-3.751l4.917-8.505ZM8 5a.75.75 0 0 1 .75.75v2a.75.75 0 1 1-1.5 0v-2A.75.75 0 0 1 8 5Zm1 5.75a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z",clipRule:"evenodd"}))},2639:(e,t,n)=>{n.d(t,{B:()=>s,M:()=>o});var a=n(68963);function s(e,t){return e.map((e=>{var n;let a;e.sub&&(a=s(e.sub,t));const o=null!==(n=t[e.name])&&void 0!==n?n:e.width;return Object.assign(Object.assign({},e),{width:o,sub:a})}))}function o(e){let{saveSizes:t,getSizes:n}=e;const[s,o]=a.useState((()=>n()));return[s,a.useCallback(((e,n)=>{o((a=>{const s=Object.assign(Object.assign({},a),{[e]:n});return t(s),s}))}),[t])]}},25822:(e,t,n)=>{n.d(t,{V:()=>S});var a=n(68963),s=n(62685),o=n(74100),l=n(95753),r=n(57107),i=n(89459),c=n(36951),d=n(3262),u=n(31445);const m=(0,c.Ge)("modal");function p(e){let{open:t=!1,keepMounted:n=!1,disableBodyScrollLock:c=!1,disableEscapeKeyDown:p,disableOutsideClick:h,disableFocusTrap:b,disableAutoFocus:v,focusTrap:g=!0,autoFocus:w=!0,restoreFocusRef:f,onEscapeKeyDown:y,onEnterKeyDown:x,onOutsideClick:E,onClose:C,onTransitionEnter:j,onTransitionEntered:N,onTransitionExit:k,onTransitionExited:T,children:z,style:D,contentOverflow:S="visible",className:B,contentClassName:O,"aria-labelledby":A,"aria-label":I,container:K,qa:F}=e;const L=a.useRef(null),Z=a.useRef(null),[M,R]=a.useState(!1);(0,o.y)({enabled:!c&&(t||M)});const P=(0,l.H)({enabled:t||M,restoreFocusRef:f,focusTrapped:!0});return(0,d.s)({open:t,disableEscapeKeyDown:p,disableOutsideClick:h,onEscapeKeyDown:y,onEnterKeyDown:x,onOutsideClick:E,onClose:C,contentRefs:[Z],type:"modal"}),a.createElement(s.Z,{nodeRef:L,in:t,addEndListener:e=>{var t;return null===(t=L.current)||void 0===t?void 0:t.addEventListener("animationend",e)},classNames:(0,u.Y)(m),mountOnEnter:!n,unmountOnExit:!n,appear:!0,onEnter:()=>{R(!0),null===j||void 0===j||j()},onExit:()=>{R(!0),null===k||void 0===k||k()},onEntered:()=>{R(!1),null===N||void 0===N||N()},onExited:()=>{R(!1),null===T||void 0===T||T()}},a.createElement(r.h,{container:K},a.createElement("div",{ref:L,style:D,className:m({open:t},B),"data-qa":F},a.createElement("div",{className:m("content-aligner")},a.createElement("div",{className:m("content-wrapper")},a.createElement(i.i,{enabled:!b&&g&&t&&!M,autoFocus:!v&&w},a.createElement("div",Object.assign({ref:Z,tabIndex:-1,role:"dialog","aria-modal":t,"aria-label":I,"aria-labelledby":A,className:m("content",{"has-scroll":"auto"===S},O)},P),z)))))))}var h=n(77280),b=n(17176),v=n(88776),g=n(54973);const w=JSON.parse('{"close":"Close dialog"}'),f=JSON.parse('{"close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e"}'),y=(0,g.e)({en:w,ru:f},"Dialog"),x=(0,c.Ge)("dialog-btn-close");function E(e){let{onClose:t}=e;return a.createElement("div",{className:x()},a.createElement(b.z,{view:"flat",size:"l",className:x("btn"),onClick:e=>t(e,{isOutsideClick:!1}),extraProps:{"aria-label":y("close")}},a.createElement(v.J,{data:h.Z,size:20})))}const C=(0,c.Ge)("dialog-body");const j=(0,c.Ge)("dialog-divider");var N=n(44920);const k=(0,c.Ge)("dialog-footer");class T extends a.Component{constructor(){super(...arguments),this.errorTooltipRef=a.createRef(),this.handleKeyDown=e=>{"Enter"===e.key&&(e.preventDefault(),this.props.onClickButtonApply&&this.props.onClickButtonApply(e))}}componentDidMount(){this.props.listenKeyEnter&&this.attachKeyDownListeners()}componentDidUpdate(e){!this.props.listenKeyEnter&&e.listenKeyEnter&&this.detachKeyDownListeners(),this.props.listenKeyEnter&&!e.listenKeyEnter&&this.attachKeyDownListeners()}componentWillUnmount(){this.detachKeyDownListeners()}render(){const{onClickButtonCancel:e,onClickButtonApply:t,loading:n,textButtonCancel:s,textButtonApply:o,propsButtonCancel:l,propsButtonApply:r,preset:i,children:c,errorText:d,showError:u,renderButtons:m}=this.props,p=a.createElement("div",{className:k("button",{action:"cancel"})},a.createElement(b.z,Object.assign({view:o?"flat":"normal",size:"l",width:"max",onClick:e,disabled:n},l),s)),h=a.createElement("div",{className:k("button",{action:"apply"})},a.createElement(b.z,Object.assign({ref:this.errorTooltipRef,type:"submit",view:"action",size:"l",width:"max",onClick:t,loading:n,className:k("button-apply",{preset:i})},r),o),d&&a.createElement(N.G,{open:u,anchorRef:this.errorTooltipRef,placement:["bottom","top"],disableLayer:!0,disablePortal:!0,hasArrow:!0},a.createElement("div",{className:k("error")},d)));return a.createElement("div",{className:k()},a.createElement("div",{className:k("children")},c),a.createElement("div",{className:k("bts-wrapper")},m?m(h,p):a.createElement(a.Fragment,null,s&&p,o&&h)))}attachKeyDownListeners(){setTimeout((()=>{window.addEventListener("keydown",this.handleKeyDown)}),0)}detachKeyDownListeners(){window.removeEventListener("keydown",this.handleKeyDown)}}T.defaultProps={preset:"default",showError:!1,listenKeyEnter:!1};const z=(0,c.Ge)("dialog-header");const D=(0,c.Ge)("dialog");class S extends a.Component{constructor(){super(...arguments),this.handleCloseButtonClick=e=>{const{onClose:t}=this.props;t(e.nativeEvent,"closeButtonClick")}}render(){const{container:e,children:t,open:n,disableBodyScrollLock:s,disableEscapeKeyDown:o,disableOutsideClick:l,disableFocusTrap:r,disableAutoFocus:i,restoreFocusRef:c,keepMounted:d,size:u,contentOverflow:m="visible",className:h,modalClassName:b,hasCloseButton:v,onEscapeKeyDown:g,onEnterKeyDown:w,onOutsideClick:f,onClose:y,onTransitionEnter:x,onTransitionEntered:C,onTransitionExit:j,onTransitionExited:N,"aria-label":k,"aria-labelledby":T,qa:z}=this.props;return a.createElement(p,{open:n,contentOverflow:m,disableBodyScrollLock:s,disableEscapeKeyDown:o,disableOutsideClick:l,disableFocusTrap:r,disableAutoFocus:i,restoreFocusRef:c,keepMounted:d,onEscapeKeyDown:g,onEnterKeyDown:w,onOutsideClick:f,onClose:y,onTransitionEnter:x,onTransitionEntered:C,onTransitionExit:j,onTransitionExited:N,className:D("modal",b),"aria-label":k,"aria-labelledby":T,container:e,qa:z},a.createElement("div",{className:D({size:u,"has-close":v,"has-scroll":"auto"===m},h)},t,v&&a.createElement(E,{onClose:this.handleCloseButtonClick})))}}S.defaultProps={disableBodyScrollLock:!1,disableEscapeKeyDown:!1,disableOutsideClick:!1,keepMounted:!1,hasCloseButton:!0},S.Footer=T,S.Header=function(e){const{caption:t="",insertBefore:n,insertAfter:s,className:o,id:l}=e;return a.createElement("div",{className:z(null,o)},n,a.createElement("div",{className:z("caption"),id:l},t),s)},S.Body=function(e){const{className:t,hasBorders:n=!1}=e;return a.createElement("div",{className:C({"has-borders":n},t)},e.children)},S.Divider=function(e){let{className:t}=e;return a.createElement("div",{className:j(null,t)})}},27320:(e,t,n)=>{n.d(t,{u:()=>d});var a=n(68963),s=n(48027),o=n(79004),l=n(44920),r=n(10288);const i=(0,n(36951).Ge)("tooltip"),c=["bottom","top"],d=e=>{const{children:t,content:n,disabled:d,placement:u=c,qa:m,id:p,className:h,style:b,disablePortal:v,contentClassName:g,openDelay:w=1e3,closeDelay:f}=e,[y,x]=a.useState(null),E=(0,o.p)(y,{openDelay:w,closeDelay:f,preventTriggerOnFocus:!0}),C=a.Children.only(t),j=C.ref,N=(0,s.c)(x,j);return a.createElement(a.Fragment,null,a.cloneElement(C,{ref:N}),y?a.createElement(l.G,{id:p,role:"tooltip",className:i(null,h),style:b,open:E&&!d,placement:u,anchorRef:{current:y},disablePortal:v,disableEscapeKeyDown:!0,disableOutsideClick:!0,disableLayer:!0,qa:m},a.createElement("div",{className:i("content",g)},a.createElement(r.x,{variant:"body-short",color:"complementary"},n))):null)}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/783.95eb5b37.chunk.js b/ydb/core/viewer/monitoring/static/js/783.95eb5b37.chunk.js
new file mode 100644
index 000000000000..208998af06db
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/783.95eb5b37.chunk.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[783],{14659:(e,t,n)=>{n.d(t,{U:()=>y});var o=n(68963),a=n(17176),s=n(68330),l=n(76506),i=n(71586),r=n(25822),c=n(88776),d=n(24362),u=n(30817);const m=JSON.parse('{"default-error":"Something went wrong, action cannot be completed","no-rights-error":"You don\'t have enough rights to complete the operation","button-confirm":"Confirm","button-cancel":"Cancel","button-close":"Close"}'),p=(0,u.wZ)("ydb-critical-action-dialog",{en:m});var h=n(75859);const v=(0,d.cn)("ydb-critical-dialog"),b=e=>403===e.status?p("no-rights-error"):e.statusText?e.statusText:p("default-error");function E(e){let{visible:t,text:n,onClose:a,onConfirm:s,onConfirmActionSuccess:d,onConfirmActionError:u}=e;const[m,E]=o.useState(!1),[y,w]=o.useState(),f=async e=>(e.preventDefault(),E(!0),s().then((()=>{d(),a()})).catch((e=>{u(),w(e)})).finally((()=>{E(!1)})));return(0,h.jsx)(r.V,{open:t,hasCloseButton:!1,className:v(),size:"s",onClose:a,onTransitionExited:()=>w(void 0),children:y?(0,h.jsxs)(o.Fragment,{children:[(0,h.jsxs)(r.V.Body,{className:v("body"),children:[(0,h.jsx)("span",{className:v("error-icon"),children:(0,h.jsx)(l.Z,{width:"24",height:"22"})}),b(y)]}),(0,h.jsx)(r.V.Footer,{loading:!1,preset:"default",textButtonCancel:p("button-close"),onClickButtonCancel:a})]}):(0,h.jsxs)("form",{onSubmit:f,children:[(0,h.jsxs)(r.V.Body,{className:v("body"),children:[(0,h.jsx)("span",{className:v("warning-icon"),children:(0,h.jsx)(c.J,{data:i.Z,size:24})}),n]}),(0,h.jsx)(r.V.Footer,{loading:m,preset:"default",textButtonApply:p("button-confirm"),textButtonCancel:p("button-cancel"),propsButtonApply:{type:"submit"},onClickButtonCancel:a,onClickButtonApply:()=>{}})]})})}function y(e){let{children:t,onConfirmAction:n,onConfirmActionSuccess:l,dialogContent:i,buttonDisabled:r=!1,buttonView:c="action",buttonClassName:d,withPopover:u=!1,popoverContent:m,popoverPlacement:p="right",popoverDisabled:v=!0}=e;const[b,y]=o.useState(!1),[w,f]=o.useState(!1),C=()=>(0,h.jsx)(a.z,{onClick:()=>y(!0),view:c,disabled:r,loading:!r&&w,className:d,children:t});return(0,h.jsxs)(o.Fragment,{children:[(0,h.jsx)(E,{visible:b,text:i,onConfirm:async()=>{f(!0),await n(),f(!1)},onConfirmActionSuccess:async()=>{if(l){f(!0);try{await l()}catch{}finally{f(!1)}}},onConfirmActionError:()=>{f(!1)},onClose:()=>{y(!1)}}),u?(0,h.jsx)(s.J,{content:m,placement:p,disabled:v,children:C()}):C()]})}},12824:(e,t,n)=>{n.d(t,{b:()=>i});var o=n(24362),a=n(98366),s=n(75859);const l=(0,o.cn)("ydb-disk-page-title");function i(e){let{entityName:t,status:n,id:o,className:i}=e;return(0,s.jsxs)("div",{className:l(null,i),children:[(0,s.jsx)("span",{className:l("prefix"),children:t}),(0,s.jsx)(a.J,{className:l("icon"),status:n,size:"s"}),o]})}},91816:(e,t,n)=>{n.d(t,{b:()=>r});var o=n(56711),a=n(24362),s=n(75859);const l=(0,a.cn)("ydb-info-viewer-skeleton"),i=()=>(0,s.jsxs)("div",{className:l("label"),children:[(0,s.jsx)(o.O,{className:l("label__text")}),(0,s.jsx)("div",{className:l("label__dots")})]}),r=e=>{let{rows:t=8,className:n}=e;return(0,s.jsx)("div",{className:l(null,n),children:[...new Array(t)].map(((e,t)=>(0,s.jsxs)("div",{className:l("row"),children:[(0,s.jsx)(i,{}),(0,s.jsx)(o.O,{className:l("value")})]},"skeleton-row-".concat(t))))})}},16084:(e,t,n)=>{n.d(t,{V:()=>i});var o=n(56711),a=n(24362),s=n(75859);const l=(0,a.cn)("ydb-page-meta");function i(e){let{items:t,loading:n,className:a}=e;return(0,s.jsx)("div",{className:l(null,a),children:n?(0,s.jsx)(o.O,{className:l("skeleton")}):t.filter((e=>Boolean(e))).join("\xa0\xa0\xb7\xa0\xa0")})}},84317:(e,t,n)=>{n.d(t,{Z:()=>a});var o=n(68963);const a=e=>o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),o.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 1.5a6.501 6.501 0 0 1 6.445 5.649.75.75 0 1 1-1.488.194A5.001 5.001 0 0 0 4.43 4.5h1.32a.75.75 0 0 1 0 1.5h-3A.75.75 0 0 1 2 5.25v-3a.75.75 0 1 1 1.5 0v1.06A6.48 6.48 0 0 1 8 1.5Zm5.25 13a.75.75 0 0 0 .75-.75v-3a.75.75 0 0 0-.75-.75h-3a.75.75 0 1 0 0 1.5h1.32a5.001 5.001 0 0 1-8.528-2.843.75.75 0 1 0-1.487.194 6.501 6.501 0 0 0 10.945 3.84v1.059c0 .414.336.75.75.75Z",clipRule:"evenodd"}))},57225:(e,t,n)=>{n.d(t,{Z:()=>a});var o=n(68963);const a=e=>o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),o.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0Zm-6 2.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8.75 5a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0V5Z",clipRule:"evenodd"}))},67585:(e,t,n)=>{n.d(t,{Z:()=>a});var o=n(68963);const a=e=>o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),o.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm1-9.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8 7.75a.75.75 0 0 1 .75.75V11a.75.75 0 0 1-1.5 0V8.5A.75.75 0 0 1 8 7.75Z",clipRule:"evenodd"}))},76506:(e,t,n)=>{n.d(t,{Z:()=>a});var o=n(68963);const a=e=>o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),o.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14ZM6.53 5.47a.75.75 0 0 0-1.06 1.06L6.94 8 5.47 9.47a.75.75 0 1 0 1.06 1.06L8 9.06l1.47 1.47a.75.75 0 1 0 1.06-1.06L9.06 8l1.47-1.47a.75.75 0 1 0-1.06-1.06L8 6.94 6.53 5.47Z",clipRule:"evenodd"}))},71586:(e,t,n)=>{n.d(t,{Z:()=>a});var o=n(68963);const a=e=>o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),o.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.836 2.244c.962-1.665 3.366-1.665 4.328 0l4.917 8.505c.964 1.666-.239 3.751-2.164 3.751H3.083c-1.925 0-3.128-2.085-2.164-3.751l4.917-8.505ZM8 5a.75.75 0 0 1 .75.75v2a.75.75 0 1 1-1.5 0v-2A.75.75 0 0 1 8 5Zm1 5.75a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z",clipRule:"evenodd"}))},25822:(e,t,n)=>{n.d(t,{V:()=>K});var o=n(68963),a=n(62685),s=n(74100),l=n(95753),i=n(57107),r=n(89459),c=n(36951),d=n(3262),u=n(31445);const m=(0,c.Ge)("modal");function p(e){let{open:t=!1,keepMounted:n=!1,disableBodyScrollLock:c=!1,disableEscapeKeyDown:p,disableOutsideClick:h,disableFocusTrap:v,disableAutoFocus:b,focusTrap:E=!0,autoFocus:y=!0,restoreFocusRef:w,onEscapeKeyDown:f,onEnterKeyDown:C,onOutsideClick:x,onClose:g,onTransitionEnter:N,onTransitionEntered:k,onTransitionExit:B,onTransitionExited:j,children:D,style:O,contentOverflow:K="visible",className:A,contentClassName:T,"aria-labelledby":R,"aria-label":Z,container:F,qa:L}=e;const S=o.useRef(null),M=o.useRef(null),[z,G]=o.useState(!1);(0,s.y)({enabled:!c&&(t||z)});const V=(0,l.H)({enabled:t||z,restoreFocusRef:w,focusTrapped:!0});return(0,d.s)({open:t,disableEscapeKeyDown:p,disableOutsideClick:h,onEscapeKeyDown:f,onEnterKeyDown:C,onOutsideClick:x,onClose:g,contentRefs:[M],type:"modal"}),o.createElement(a.Z,{nodeRef:S,in:t,addEndListener:e=>{var t;return null===(t=S.current)||void 0===t?void 0:t.addEventListener("animationend",e)},classNames:(0,u.Y)(m),mountOnEnter:!n,unmountOnExit:!n,appear:!0,onEnter:()=>{G(!0),null===N||void 0===N||N()},onExit:()=>{G(!0),null===B||void 0===B||B()},onEntered:()=>{G(!1),null===k||void 0===k||k()},onExited:()=>{G(!1),null===j||void 0===j||j()}},o.createElement(i.h,{container:F},o.createElement("div",{ref:S,style:O,className:m({open:t},A),"data-qa":L},o.createElement("div",{className:m("content-aligner")},o.createElement("div",{className:m("content-wrapper")},o.createElement(r.i,{enabled:!v&&E&&t&&!z,autoFocus:!b&&y},o.createElement("div",Object.assign({ref:M,tabIndex:-1,role:"dialog","aria-modal":t,"aria-label":Z,"aria-labelledby":R,className:m("content",{"has-scroll":"auto"===K},T)},V),D)))))))}var h=n(77280),v=n(17176),b=n(88776),E=n(54973);const y=JSON.parse('{"close":"Close dialog"}'),w=JSON.parse('{"close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e"}'),f=(0,E.e)({en:y,ru:w},"Dialog"),C=(0,c.Ge)("dialog-btn-close");function x(e){let{onClose:t}=e;return o.createElement("div",{className:C()},o.createElement(v.z,{view:"flat",size:"l",className:C("btn"),onClick:e=>t(e,{isOutsideClick:!1}),extraProps:{"aria-label":f("close")}},o.createElement(b.J,{data:h.Z,size:20})))}const g=(0,c.Ge)("dialog-body");const N=(0,c.Ge)("dialog-divider");var k=n(44920);const B=(0,c.Ge)("dialog-footer");class j extends o.Component{constructor(){super(...arguments),this.errorTooltipRef=o.createRef(),this.handleKeyDown=e=>{"Enter"===e.key&&(e.preventDefault(),this.props.onClickButtonApply&&this.props.onClickButtonApply(e))}}componentDidMount(){this.props.listenKeyEnter&&this.attachKeyDownListeners()}componentDidUpdate(e){!this.props.listenKeyEnter&&e.listenKeyEnter&&this.detachKeyDownListeners(),this.props.listenKeyEnter&&!e.listenKeyEnter&&this.attachKeyDownListeners()}componentWillUnmount(){this.detachKeyDownListeners()}render(){const{onClickButtonCancel:e,onClickButtonApply:t,loading:n,textButtonCancel:a,textButtonApply:s,propsButtonCancel:l,propsButtonApply:i,preset:r,children:c,errorText:d,showError:u,renderButtons:m}=this.props,p=o.createElement("div",{className:B("button",{action:"cancel"})},o.createElement(v.z,Object.assign({view:s?"flat":"normal",size:"l",width:"max",onClick:e,disabled:n},l),a)),h=o.createElement("div",{className:B("button",{action:"apply"})},o.createElement(v.z,Object.assign({ref:this.errorTooltipRef,type:"submit",view:"action",size:"l",width:"max",onClick:t,loading:n,className:B("button-apply",{preset:r})},i),s),d&&o.createElement(k.G,{open:u,anchorRef:this.errorTooltipRef,placement:["bottom","top"],disableLayer:!0,disablePortal:!0,hasArrow:!0},o.createElement("div",{className:B("error")},d)));return o.createElement("div",{className:B()},o.createElement("div",{className:B("children")},c),o.createElement("div",{className:B("bts-wrapper")},m?m(h,p):o.createElement(o.Fragment,null,a&&p,s&&h)))}attachKeyDownListeners(){setTimeout((()=>{window.addEventListener("keydown",this.handleKeyDown)}),0)}detachKeyDownListeners(){window.removeEventListener("keydown",this.handleKeyDown)}}j.defaultProps={preset:"default",showError:!1,listenKeyEnter:!1};const D=(0,c.Ge)("dialog-header");const O=(0,c.Ge)("dialog");class K extends o.Component{constructor(){super(...arguments),this.handleCloseButtonClick=e=>{const{onClose:t}=this.props;t(e.nativeEvent,"closeButtonClick")}}render(){const{container:e,children:t,open:n,disableBodyScrollLock:a,disableEscapeKeyDown:s,disableOutsideClick:l,disableFocusTrap:i,disableAutoFocus:r,restoreFocusRef:c,keepMounted:d,size:u,contentOverflow:m="visible",className:h,modalClassName:v,hasCloseButton:b,onEscapeKeyDown:E,onEnterKeyDown:y,onOutsideClick:w,onClose:f,onTransitionEnter:C,onTransitionEntered:g,onTransitionExit:N,onTransitionExited:k,"aria-label":B,"aria-labelledby":j,qa:D}=this.props;return o.createElement(p,{open:n,contentOverflow:m,disableBodyScrollLock:a,disableEscapeKeyDown:s,disableOutsideClick:l,disableFocusTrap:i,disableAutoFocus:r,restoreFocusRef:c,keepMounted:d,onEscapeKeyDown:E,onEnterKeyDown:y,onOutsideClick:w,onClose:f,onTransitionEnter:C,onTransitionEntered:g,onTransitionExit:N,onTransitionExited:k,className:O("modal",v),"aria-label":B,"aria-labelledby":j,container:e,qa:D},o.createElement("div",{className:O({size:u,"has-close":b,"has-scroll":"auto"===m},h)},t,b&&o.createElement(x,{onClose:this.handleCloseButtonClick})))}}K.defaultProps={disableBodyScrollLock:!1,disableEscapeKeyDown:!1,disableOutsideClick:!1,keepMounted:!1,hasCloseButton:!0},K.Footer=j,K.Header=function(e){const{caption:t="",insertBefore:n,insertAfter:a,className:s,id:l}=e;return o.createElement("div",{className:D(null,s)},n,o.createElement("div",{className:D("caption"),id:l},t),a)},K.Body=function(e){const{className:t,hasBorders:n=!1}=e;return o.createElement("div",{className:g({"has-borders":n},t)},e.children)},K.Divider=function(e){let{className:t}=e;return o.createElement("div",{className:N(null,t)})}},56711:(e,t,n)=>{n.d(t,{O:()=>s});var o=n(68963);const a=(0,n(36951).Ge)("skeleton");function s(e){let{className:t,style:n,qa:s}=e;return o.createElement("div",{className:a(null,t),style:n,"data-qa":s})}},27320:(e,t,n)=>{n.d(t,{u:()=>d});var o=n(68963),a=n(48027),s=n(79004),l=n(44920),i=n(10288);const r=(0,n(36951).Ge)("tooltip"),c=["bottom","top"],d=e=>{const{children:t,content:n,disabled:d,placement:u=c,qa:m,id:p,className:h,style:v,disablePortal:b,contentClassName:E,openDelay:y=1e3,closeDelay:w}=e,[f,C]=o.useState(null),x=(0,s.p)(f,{openDelay:y,closeDelay:w,preventTriggerOnFocus:!0}),g=o.Children.only(t),N=g.ref,k=(0,a.c)(C,N);return o.createElement(o.Fragment,null,o.cloneElement(g,{ref:k}),f?o.createElement(l.G,{id:p,role:"tooltip",className:r(null,h),style:v,open:x&&!d,placement:u,anchorRef:{current:f},disablePortal:b,disableEscapeKeyDown:!0,disableOutsideClick:!0,disableLayer:!0,qa:m},o.createElement("div",{className:r("content",E)},o.createElement(i.x,{variant:"body-short",color:"complementary"},n))):null)}},56829:(e,t,n)=>{n.d(t,{F:()=>a});var o=n(40797);function a(){return(0,o.T)().theme}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/8076.dac0f4f1.chunk.js b/ydb/core/viewer/monitoring/static/js/8076.dac0f4f1.chunk.js
new file mode 100644
index 000000000000..981f7f8bae14
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/8076.dac0f4f1.chunk.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[8076],{99683:(e,s,a)=>{a.d(s,{l:()=>i});var r=a(68330),t=a(24362),n=a(75859);const o=(0,t.cn)("ydb-cell-with-popover");function i(e){let{children:s,className:a,wrapperClassName:t,...i}=e;return(0,n.jsx)("div",{className:o(null,t),children:(0,n.jsx)(r.J,{className:o("popover",a),...i,children:s})})}},8659:(e,s,a)=>{a.d(s,{P:()=>D});var r=a(54665),t=a(5922),n=a(24362),o=a(52317),i=a(4119),l=a(48169),d=a(69214),c=a(23373),u=a(32270),p=a(67359),m=a(30817);const g=JSON.parse('{"path":"Path","guid":"GUID","category":"Category","type":"Type","size":"Size","state":"State","device":"Device","realtime":"Realtime","serial-number":"SerialNumber","links":"Links","developer-ui":"Developer UI","pdisk-page":"PDisk page"}'),h=(0,m.wZ)("ydb-pDisk-info",{en:g});var v=a(75859);const w=(0,n.cn)("ydb-pdisk-info");function D(e){let{pDisk:s,nodeId:a,isPDiskPage:n=!1,...m}=e;const{PDiskId:g,Path:D,Guid:b,Category:N,Type:k,Device:x,Realtime:f,State:j,SerialNumber:y,TotalSize:I,AvailableSize:P}=s,S=Number(I),E=Number(P),T=[];if((0,t.D)(D)&&T.push({label:h("path"),value:D}),(0,t.D)(b)&&T.push({label:h("guid"),value:b}),(0,t.D)(N)&&(T.push({label:h("category"),value:N}),T.push({label:h("type"),value:k})),S>=0&&E>=0&&T.push({label:h("size"),value:(0,v.jsx)(p.y,{value:S-E,capacity:S,formatValues:i.q3,colorizeProgress:!0})}),(0,t.D)(j)&&T.push({label:h("state"),value:j}),(0,t.D)(x)&&T.push({label:h("device"),value:(0,v.jsx)(d.A,{status:x})}),(0,t.D)(f)&&T.push({label:h("realtime"),value:(0,v.jsx)(d.A,{status:f})}),(0,t.D)(y)&&T.push({label:h("serial-number"),value:y||o.jX}),(0,t.D)(g)&&(0,t.D)(a)){const e=(0,r.ds)(g,a),s=(0,l.ok)({nodeId:a,pDiskId:g});T.push({label:h("links"),value:(0,v.jsxs)("span",{className:w("links"),children:[!n&&(0,v.jsx)(u.j,{title:h("pdisk-page"),url:e,external:!1}),(0,v.jsx)(u.j,{title:h("developer-ui"),url:s})]})})}return(0,v.jsx)(c._,{info:T,...m})}},2098:(e,s,a)=>{a.d(s,{G:()=>d});var r=a(2639),t=a(19812),n=a(24362),o=a(89712),i=a(75859);const l=(0,n.cn)("ydb-resizeable-data-table");function d(e){let{columnsWidthLSKey:s,columns:a,settings:n,wrapperClassName:d,...c}=e;const[u,p]=(0,o.M)(s),m=(0,r.B)(a,u),g={...n,defaultResizeable:!0};return(0,i.jsx)("div",{className:l(null,d),children:(0,i.jsx)(t.ZP,{theme:"yandex-cloud",columns:m,onResize:p,settings:g,...c})})}},22692:(e,s,a)=>{a.d(s,{h:()=>i});var r=a(56711),t=a(24362),n=a(75859);const o=(0,t.cn)("table-skeleton"),i=e=>{let{rows:s=2,className:a}=e;return(0,n.jsxs)("div",{className:o(null,a),children:[(0,n.jsxs)("div",{className:o("row"),children:[(0,n.jsx)(r.O,{className:o("col-1")}),(0,n.jsx)(r.O,{className:o("col-2")}),(0,n.jsx)(r.O,{className:o("col-3")}),(0,n.jsx)(r.O,{className:o("col-4")}),(0,n.jsx)(r.O,{className:o("col-5")})]}),[...new Array(s)].map(((e,s)=>(0,n.jsx)("div",{className:o("row"),children:(0,n.jsx)(r.O,{className:o("col-full")})},"skeleton-row-".concat(s))))]})}},80816:(e,s,a)=>{a.d(s,{a:()=>i});var r=a(14979),t=a(24362),n=a(75859);const o=(0,t.cn)("ydb-usage-label");function i(e){let{value:s,overloadThreshold:a=90,theme:t,...i}=e;return(0,n.jsxs)(r._,{theme:t,className:o({overload:Number(s)>=a}),...i,children:[s||0,"%"]})}},25747:(e,s,a)=>{a.r(s),a.d(s,{PDiskPage:()=>z});var r=a(68963);const t=e=>r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 1.5a6.5 6.5 0 1 1-6.445 7.348.75.75 0 1 1 1.487-.194A5.001 5.001 0 1 0 4.43 4.5h1.32a.75.75 0 0 1 0 1.5h-3A.75.75 0 0 1 2 5.25v-3a.75.75 0 0 1 1.5 0v1.06A6.48 6.48 0 0 1 8 1.5Z",clipRule:"evenodd"}));var n=a(88776),o=a(17095),i=a(49352),l=a(52846),d=a(50422),c=a(14659),u=a(12824),p=a(91816),m=a(8659),g=a(16084),h=a(79061),v=a(99337),w=a(11431),D=a(905),b=a(3764),N=a(51688),k=a(92092);const x=D.h.injectEndpoints({endpoints:e=>({getPdiskInfo:e.query({queryFn:async(e,s)=>{let{nodeId:a,pDiskId:r}=e,{signal:t}=s;try{const e=function(e){var s,a,r,t;let[n,o]=e;const i=null===(s=n.PDiskStateInfo)||void 0===s?void 0:s[0],l=(0,b.b)(i),d=null===(a=o.SystemStateInfo)||void 0===a?void 0:a[0],c=(0,N.Ns)(d);return{...l,NodeId:null!==(r=l.NodeId)&&void 0!==r?r:c.NodeId,NodeHost:c.Host,NodeType:null===(t=c.Roles)||void 0===t?void 0:t[0],NodeDC:c.DC}}(await Promise.all([window.api.getPDiskInfo({nodeId:a,pDiskId:r},{signal:t}),window.api.getNodeInfo(a,{signal:t})]));return{data:e}}catch(n){return{error:n}}},providesTags:["All"]}),getStorageInfo:e.query({queryFn:async(e,s)=>{let{nodeId:a,pDiskId:r}=e,{signal:t}=s;try{const e=function(e,s,a){var r;const t=[];return null===(r=e.StoragePools)||void 0===r||r.forEach((e=>{var r;return null===(r=e.Groups)||void 0===r?void 0:r.forEach((r=>{var n;(null===(n=r.VDisks)||void 0===n?void 0:n.some((e=>{var r,t,n,o;const i=null!==(r=e.PDiskId)&&void 0!==r?r:null===(t=e.PDisk)||void 0===t?void 0:t.PDiskId,l=null!==(n=e.NodeId)&&void 0!==n?n:null===(o=e.PDisk)||void 0===o?void 0:o.NodeId;return i===Number(s)&&l===Number(a)})))&&t.push((0,k.mD)(r,e))}))})),t}(await window.api.getStorageInfo({nodeId:a,version:w.w.v1},{signal:t}),r,a);return{data:e}}catch(n){return{error:n}}},providesTags:["All"]})}),overrideExisting:"throw"});var f=a(5922),j=a(92666),y=a(34051),I=a(2098),P=a(22692),S=a(52317),E=a(92076),T=a(30817);const C=JSON.parse('{"fqdn":"FQDN","pdisk":"PDisk","groups":"Groups","node":"Node","restart-pdisk-button":"Restart PDisk","restart-pdisk-dialog":"PDisk will be restarted. Do you want to proceed?","restart-pdisk-not-allowed":"You don\'t have enough rights to restart PDisk"}'),G=(0,T.wZ)("ydb-pDisk-page",{en:C});const Z=(0,a(24362).cn)("ydb-pdisk-page");var O=a(75859);function R(e){let{data:s,nodesMap:a,loading:t}=e;const n=r.useMemo((()=>(0,E.HI)(a)),[a]);return(0,O.jsxs)(r.Fragment,{children:[(0,O.jsx)("div",{className:Z("groups-title"),children:G("groups")}),(0,O.jsx)("div",{children:t?(0,O.jsx)(P.h,{}):(0,O.jsx)(I.G,{columnsWidthLSKey:E.Ty,data:s,columns:n,settings:S.LE})})]})}function z(){var e;const s=(0,y.zL)(),a=(0,y.ix)(v.d),{isUserAllowedToMakeChanges:w}=(0,y.ix)((e=>e.authentication)),[{nodeId:D,pDiskId:b}]=(0,l.useQueryParams)({nodeId:l.StringParam,pDiskId:l.StringParam});r.useEffect((()=>{s((0,h.J)("pDisk",{nodeId:D,pDiskId:b}))}),[s,D,b]);const[N]=(0,y.Rj)(),k=(0,f.D)(D)&&(0,f.D)(b)?{nodeId:D,pDiskId:b}:o.CN,I=x.useGetPdiskInfoQuery(k,{pollingInterval:N}),P=I.isFetching&&void 0===I.currentData,S=I.currentData||{},{NodeHost:E,NodeId:T,NodeType:C,NodeDC:z,Severity:A}=S,U=x.useGetStorageInfoQuery(k,{pollingInterval:N}),_=U.isFetching&&void 0===U.currentData,M=null!==(e=U.currentData)&&void 0!==e?e:[],V=async()=>{if((0,f.D)(D)&&(0,f.D)(b))return window.api.restartPDisk(D,b).then((e=>{if(!1===(null===e||void 0===e?void 0:e.result)){throw{statusText:e.error}}}))},L=async()=>Promise.all([I.refetch(),U.refetch()]);return(0,O.jsxs)("div",{className:Z(null),children:[(()=>{const e=b?"".concat(G("pdisk")," ").concat(b):G("pdisk"),s=E||G("node");return(0,O.jsx)(i.ql,{titleTemplate:"%s - ".concat(e," \u2014 ").concat(s," \u2014 YDB Monitoring"),defaultTitle:"".concat(e," \u2014 ").concat(s," \u2014 YDB Monitoring")})})(),(()=>{const e=E?"".concat(G("fqdn"),": ").concat(E):void 0,s=T?"".concat(G("node"),": ").concat(T):void 0;return(0,O.jsx)(g.V,{className:Z("meta"),loading:P,items:[e,s,C,z]})})(),(0,O.jsx)(u.b,{entityName:G("pdisk"),status:(0,j.b)(A),id:b,className:Z("title")}),(0,O.jsxs)("div",{className:Z("controls"),children:[(0,O.jsxs)(c.U,{onConfirmAction:V,onConfirmActionSuccess:L,buttonDisabled:!D||!b||!w,buttonView:"normal",dialogContent:G("restart-pdisk-dialog"),withPopover:!0,popoverContent:G("restart-pdisk-not-allowed"),popoverDisabled:w,children:[(0,O.jsx)(n.J,{data:t}),G("restart-pdisk-button")]}),(0,O.jsx)(d.q,{className:Z("auto-refresh-control")})]}),P?(0,O.jsx)(p.b,{className:Z("info"),rows:10}):(0,O.jsx)(m.P,{pDisk:S,nodeId:D,className:Z("info"),isPDiskPage:!0}),(0,O.jsx)(R,{data:M,nodesMap:a,loading:_})]})}},92076:(e,s,a)=>{a.d(s,{HI:()=>Y,Ty:()=>j,k8:()=>B,mk:()=>K});var r=a(68963),t=a(71549),n=a(19812),o=a(10502),i=a(14979),l=a(68330),d=a(88776),c=a(99683),u=a(69214),p=a(80816),m=a(79255),g=a(95829),h=a(75850),v=a(24362),w=a(4119),D=a(15106),b=a(47651),N=a(10703),k=a(43817),x=(a(5384),a(75859));const f=(0,v.cn)("global-storage-groups"),j="storageGroupsColumnsWidth",y="MediaType",I="Erasure",P="GroupId",S="Used",E="Limit",T="Usage",C="UsedSpaceFlag",G="Read",Z="Write",O="VDisks",R="Degraded",z={name:"PoolName",header:"Pool Name",width:250,render:e=>{var s;let{row:a}=e;const r=null===(s=a.PoolName)||void 0===s?void 0:s.split("/");return r&&(0,x.jsx)(c.l,{wrapperClassName:f("pool-name-wrapper"),content:a.PoolName,placement:["right"],behavior:o.x.Immediate,children:r[r.length-1]})},align:n.ZP.LEFT},A={name:y,header:"Type",width:100,resizeMinWidth:100,align:n.ZP.LEFT,render:e=>{let{row:s}=e;return(0,x.jsxs)(r.Fragment,{children:[(0,x.jsx)(i._,{children:s.MediaType||"\u2014"}),"\xa0",s.Encryption&&(0,x.jsx)(l.J,{content:(0,k.Z)("encrypted"),placement:"right",behavior:o.x.Immediate,children:(0,x.jsx)(i._,{children:(0,x.jsx)(d.J,{data:t.Z,size:18})})})]})},sortable:!1},U={name:I,header:"Erasure",width:100,render:e=>{let{row:s}=e;return s.ErasureSpecies?s.ErasureSpecies:"-"},align:n.ZP.LEFT,sortable:!1},_={name:R,header:"Degraded",width:110,resizeMinWidth:110,render:e=>{let{row:s}=e;return s.Degraded?(0,x.jsxs)(i._,{theme:(0,N._O)(s),children:["Degraded: ",s.Degraded]}):"-"},align:n.ZP.LEFT,defaultOrder:n.ZP.DESCENDING},M={name:T,header:"Usage",width:75,resizeMinWidth:75,render:e=>{let{row:s}=e;return s.Limit?(0,x.jsx)(p.a,{value:s.Usage,theme:(0,N.YC)(s.Usage)}):"-"},sortAccessor:e=>e.Limit?e.Usage:null,align:n.ZP.LEFT,sortable:!1},V={name:P,header:"Group ID",width:130,render:e=>{let{row:s}=e;return(0,x.jsx)("span",{className:f("group-id"),children:s.GroupID})},sortAccessor:e=>Number(e.GroupID),align:n.ZP.RIGHT,sortable:!1},L={name:S,header:"Used",width:100,render:e=>{let{row:s}=e;return(0,b.Uz)(s.Used,!0)},align:n.ZP.RIGHT,sortable:!1},F={name:E,header:"Limit",width:100,render:e=>{let{row:s}=e;return(0,b.Uz)(s.Limit)},align:n.ZP.RIGHT,sortable:!1},H={name:C,header:"Space",width:110,render:e=>{let{row:s}=e;const a=s.UsedSpaceFlag;let r=h.K.Red;return a<100?r=h.K.Green:a<1e4?r=h.K.Yellow:a<1e6&&(r=h.K.Orange),(0,x.jsx)(u.A,{status:r})},align:n.ZP.CENTER},W={name:G,header:"Read",width:100,render:e=>{let{row:s}=e;return s.Read?(0,b.Qt)(s.Read):"-"},align:n.ZP.RIGHT},q={name:Z,header:"Write",width:100,render:e=>{let{row:s}=e;return s.Write?(0,b.Qt)(s.Write):"-"},align:n.ZP.RIGHT},J=e=>({name:O,className:f("vdisks-column"),header:"VDisks",render:s=>{var a;let{row:r}=s;return(0,x.jsx)("div",{className:f("vdisks-wrapper"),children:null===(a=r.VDisks)||void 0===a?void 0:a.map((s=>(0,x.jsx)(m.c,{data:s,nodes:e,className:f("vdisks-item")},(0,w.a2)(s.VDiskId))))})},align:n.ZP.CENTER,width:900,resizeable:!1}),K=()=>[V,A,U,M,L,F],Y=e=>[z,A,U,_,V,M,L,J(e)],B=(e,s)=>{const a=((e,s)=>s===g.G.space?e.filter((e=>e.name!==R)):s===g.G.missing?e.filter((e=>e.name!==C)):e.filter((e=>e.name!==R&&e.name!==C)))([z,A,U,_,M,V,L,F,H,W,q,J(e)],s);return a.map((e=>({...e,sortable:(0,D.P7)(e.name)})))}},43817:(e,s,a)=>{a.d(s,{Z:()=>o});var r=a(30817);const t=JSON.parse('{"empty.default":"No such groups","empty.out_of_space":"No groups with out of space errors","empty.degraded":"No degraded groups","show_all":"Show all groups","encrypted":"Encrypted group"}'),n=JSON.parse('{"empty.default":"\u041d\u0435\u0442 \u0433\u0440\u0443\u043f\u043f","empty.out_of_space":"\u041d\u0435\u0442 \u0433\u0440\u0443\u043f\u043f, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043a\u043e\u043d\u0447\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0441\u0442\u043e","empty.degraded":"\u041d\u0435\u0442 \u0434\u0435\u0433\u0440\u0430\u0434\u0438\u0440\u043e\u0432\u0430\u0432\u0448\u0438\u0445 \u0433\u0440\u0443\u043f\u043f","show_all":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0441\u0435 \u0433\u0440\u0443\u043f\u043f\u044b","encrypted":"\u0417\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430"}'),o=(0,r.wZ)("ydb-storage-groups",{ru:n,en:t})},10703:(e,s,a)=>{a.d(s,{CZ:()=>m,TP:()=>g,YC:()=>p,_O:()=>u,_r:()=>D});var r=a(81413),t=a(95829),n=a(75850),o=a(99106),i=a(51688),l=a(15106);const d=(0,o.p)(1,2,["success","warning","danger"]),c={"block-4-2":(0,o.p)(1,2,["success","warning","danger"]),"mirror-3-dc":(0,o.p)(1,3,["success","warning","danger"])},u=e=>{var s;return(void 0!==(s=e.ErasureSpecies)&&s in c?c[e.ErasureSpecies]:d)(e.Degraded)},p=(0,o.p)(80,85,["success","warning","danger"]),m=(0,o.p)(80,85,[n.K.Green,n.K.Yellow,n.K.Red]),g={sortValue:i.Hk.NodeId,sortOrder:r.zE},h={sortValue:l.t5.PoolName,sortOrder:r.zE},v={sortValue:l.t5.Degraded,sortOrder:r.hr},w={sortValue:l.t5.Usage,sortOrder:r.hr};function D(e){return e===t.G.missing?v:e===t.G.space?w:h}},95829:(e,s,a)=>{a.d(s,{G:()=>r,d:()=>t});const r={all:"all",missing:"missing",space:"space"},t={groups:"groups",nodes:"nodes"}},89712:(e,s,a)=>{a.d(s,{M:()=>o});var r=a(68963),t=a(2639),n=a(18193);const o=e=>{const s=r.useCallback((()=>e?n.r.readUserSettingsValue(e,{}):{}),[e]),a=r.useCallback((s=>{e&&n.r.setUserSettingsValue(e,s)}),[e]);return(0,t.M)({saveSizes:a,getSizes:s})}},71549:(e,s,a)=>{a.d(s,{Z:()=>t});var r=a(68963);const t=e=>r.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),r.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"m3.003 4.702 4.22-2.025a1.796 1.796 0 0 1 1.554 0l4.22 2.025a.886.886 0 0 1 .503.8V6a8.55 8.55 0 0 1-3.941 7.201l-.986.631a1.063 1.063 0 0 1-1.146 0l-.986-.63A8.55 8.55 0 0 1 2.5 6v-.498c0-.341.196-.652.503-.8Zm3.57-3.377L2.354 3.35A2.387 2.387 0 0 0 1 5.502V6a10.05 10.05 0 0 0 4.632 8.465l.986.63a2.563 2.563 0 0 0 2.764 0l.986-.63A10.05 10.05 0 0 0 15 6v-.498c0-.918-.526-1.755-1.354-2.152l-4.22-2.025a3.296 3.296 0 0 0-2.852 0ZM9.5 7a1.5 1.5 0 0 1-.75 1.3v1.95a.75.75 0 0 1-1.5 0V8.3A1.5 1.5 0 1 1 9.5 7Z",clipRule:"evenodd"}))},2639:(e,s,a)=>{a.d(s,{B:()=>t,M:()=>n});var r=a(68963);function t(e,s){return e.map((e=>{var a;let r;e.sub&&(r=t(e.sub,s));const n=null!==(a=s[e.name])&&void 0!==a?a:e.width;return Object.assign(Object.assign({},e),{width:n,sub:r})}))}function n(e){let{saveSizes:s,getSizes:a}=e;const[t,n]=r.useState((()=>a()));return[t,r.useCallback(((e,a)=>{n((r=>{const t=Object.assign(Object.assign({},r),{[e]:a});return s(t),t}))}),[s])]}},5384:()=>{}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/8429.b285ce5a.chunk.js b/ydb/core/viewer/monitoring/static/js/8429.b285ce5a.chunk.js
new file mode 100644
index 000000000000..f67340dd15f5
--- /dev/null
+++ b/ydb/core/viewer/monitoring/static/js/8429.b285ce5a.chunk.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[8429],{91816:(e,s,t)=>{t.d(s,{b:()=>i});var r=t(56711),a=t(24362),n=t(75859);const l=(0,a.cn)("ydb-info-viewer-skeleton"),o=()=>(0,n.jsxs)("div",{className:l("label"),children:[(0,n.jsx)(r.O,{className:l("label__text")}),(0,n.jsx)("div",{className:l("label__dots")})]}),i=e=>{let{rows:s=8,className:t}=e;return(0,n.jsx)("div",{className:l(null,t),children:[...new Array(s)].map(((e,s)=>(0,n.jsxs)("div",{className:l("row"),children:[(0,n.jsx)(o,{}),(0,n.jsx)(r.O,{className:l("value")})]},"skeleton-row-".concat(s))))})}},63104:(e,s,t)=>{t.d(s,{Y:()=>v});var r=t(54665),a=t(24362),n=t(52317),l=t(94790),o=t(74170),i=t(42784),d=t(27506),c=t(75859);const u=(0,a.cn)("tablet"),v=e=>{var s;let{tablet:t={},tenantName:a}=e;const{TabletId:v,NodeId:m,Type:h}=t,p=null===(s=t.Overall)||void 0===s?void 0:s.toLowerCase(),x=v&&(0,r.ax)(r.ZP.tablet,{id:v},{nodeId:m,tenantName:a,type:h});return(0,c.jsx)(l.f,{className:u("wrapper"),content:(0,c.jsx)(d.Fb,{data:t,className:u("popup-content")}),children:(0,c.jsx)(o.h,{to:x,children:(0,c.jsx)(i.v,{className:u({status:p}),text:(0,n.qV)(t.Type)})})})}},94178:(e,s,t)=>{t.d(s,{V:()=>l});var r=t(24362),a=t(75859);const n=(0,r.cn)("tag"),l=e=>{let{text:s,type:t}=e;return(0,a.jsx)("div",{className:n({type:t}),children:s})}},47057:(e,s,t)=>{t.d(s,{$:()=>o});var r=t(24362),a=t(94178),n=t(75859);const l=(0,r.cn)("tags"),o=e=>{let{tags:s,tagsType:t,className:r=""}=e;return(0,n.jsx)("div",{className:l(null,r),children:s&&s.map(((e,s)=>(0,n.jsx)(a.V,{text:e,type:t},s)))})}},33091:(e,s,t)=>{t.r(s),t.d(s,{Cluster:()=>Fe});var r=t(68963),a=t(56711),n=t(8179),l=t(49352),o=t(86974),i=t(52846),d=t(50422),c=t(69214),u=t(74170),v=t(54665),m=t(77915),h=t(51688);const p=t(905).h.injectEndpoints({endpoints:e=>({getClusterNodes:e.query({queryFn:async()=>{try{const e=await window.api.getClusterNodes(),{SystemStateInfo:s=[]}=e;return{data:s.map(h.Ns)}}catch(e){return{error:e}}},providesTags:["All"]})}),overrideExisting:"throw"});var x=t(79061),j=t(24362),N=t(52317),g=t(34051),b=t(94076),y=t(30601);const T=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1?arguments[1]:void 0;const t=e.reduce(((e,s)=>(s.Version&&(e[s.Version]?e[s.Version]=e[s.Version]+1:e[s.Version]=1),e)),{});return Object.keys(t).map((r=>({title:r,version:r,color:null===s||void 0===s?void 0:s.get((0,y.H)(r)),value:t[r]/e.length*100})))};var C=t(2335),w=t(70885),f=t(19812),S=t(17176),P=t(36985),E=t(26688),k=t(56350),O=t(68242),L=t(74221),A=t(2098),V=t(11551),D=t(47101),I=t(43070),z=t(27102),G=t(80839),M=t(36313),Z=t(43680),F=t.n(Z),R=t(75850),B=t(53809);const W=(0,M.P1)((e=>e),(e=>B.Xv.endpoints.getTenantsInfo.select({clusterName:e}))),H=(0,M.P1)((e=>e),((e,s)=>W(s)),((e,s)=>{var t;return null!==(t=s(e).data)&&void 0!==t?t:[]})),U=e=>e.tenants.searchValue,_=(0,M.P1)([H,G.qz,U],((e,s,t)=>{let r=((e,s)=>s===G.pu.ALL?e:e.filter((e=>e.Overall&&e.Overall!==R.K.Green)))(e,s);return r=((e,s)=>e.filter((e=>{const t=new RegExp(F()(s),"i");return t.test(e.Name||"")||t.test(e.controlPlaneName)})))(r,t),r}));var q=t(4119),Q=t(95478),Y=t(75859);const X=(0,j.cn)("tenants"),J=e=>{let{additionalTenantsProps:s}=e;const t=(0,g.zL)(),[a]=(0,g.Rj)(),{currentData:n,isFetching:l,error:o}=B.Xv.useGetTenantsInfoQuery({clusterName:z.qw},{pollingInterval:a}),i=l&&void 0===n,d=null!==n&&void 0!==n?n:[],u=(0,g.ix)(U),v=(0,g.ix)((e=>_(e,z.qw))),m=(0,g.ix)(G.qz),h=e=>{t((0,G.M6)(e))},p=e=>{t((0,B.gI)(e))};return o?(0,Y.jsx)(E.V,{error:o}):(0,Y.jsxs)(D.l,{children:[(0,Y.jsx)(D.l.Controls,{children:(0,Y.jsxs)(r.Fragment,{children:[(0,Y.jsx)(V.o,{value:u,onChange:p,placeholder:"Database name",className:X("search")}),(0,Y.jsx)(L.T,{value:m,onChange:h}),(0,Y.jsx)(P.C,{total:d.length,current:(null===v||void 0===v?void 0:v.length)||0,label:"Databases",loading:i})]})}),(0,Y.jsx)(D.l.Table,{loading:i,children:(()=>{const e=e=>{var t,r;const a=null!==(t=e.MonitoringEndpoint)&&void 0!==t?t:e.backend;return null===s||void 0===s||null===(r=s.prepareTenantBackend)||void 0===r?void 0:r.call(s,a)},t=[{name:"Name",header:"Database",render:t=>{var r;let{row:a}=t;const n=e(a),l=Boolean(n);return(0,Y.jsx)(c.A,{externalLink:l,className:X("name"),name:a.Name||"unknown database",withLeftTrim:!0,status:a.Overall,hasClipboardButton:!0,path:(0,Q.Sj)({name:a.Name,backend:n}),additionalControls:(0,Y.jsx)("span",{className:X("monitoring-button"),children:null===s||void 0===s||null===(r=s.getMonitoringLink)||void 0===r?void 0:r.call(s,a.Name,a.Type)})})},width:440,sortable:!0,defaultOrder:f.ZP.DESCENDING},{name:"controlPlaneName",header:"Name",render:e=>{let{row:s}=e;return s.controlPlaneName},width:200,sortable:!0,defaultOrder:f.ZP.DESCENDING},{name:"Type",width:200,resizeMinWidth:150,render:e=>{let{row:s}=e;return"Serverless"!==s.Type?s.Type:(0,Y.jsxs)("div",{className:X("type"),children:[(0,Y.jsx)("span",{className:X("type-value"),children:s.Type}),(0,Y.jsx)(S.z,{className:X("type-button"),onClick:()=>p(s.sharedTenantName||""),children:"Show shared"})]})}},{name:"State",width:90,render:e=>{let{row:s}=e;return s.State?s.State.toLowerCase():"\u2014"},customStyle:()=>({textTransform:"capitalize"})},{name:"cpu",header:"CPU",width:80,render:e=>{let{row:s}=e;return s.cpu&&s.cpu>1e4?(0,q.LO)(s.cpu):"\u2014"},align:f.ZP.RIGHT,defaultOrder:f.ZP.DESCENDING},{name:"memory",header:"Memory",width:120,render:e=>{let{row:s}=e;return s.memory?(0,q.SX)(s.memory):"\u2014"},align:f.ZP.RIGHT,defaultOrder:f.ZP.DESCENDING},{name:"storage",header:"Storage",width:120,render:e=>{let{row:s}=e;return s.storage?(0,q.SX)(s.storage):"\u2014"},align:f.ZP.RIGHT,defaultOrder:f.ZP.DESCENDING},{name:"nodesCount",header:"Nodes",width:100,render:e=>{let{row:s}=e;return s.nodesCount?(0,q.uf)(s.nodesCount):"\u2014"},align:f.ZP.RIGHT,defaultOrder:f.ZP.DESCENDING},{name:"groupsCount",header:"Groups",width:100,render:e=>{let{row:s}=e;return s.groupsCount?(0,q.uf)(s.groupsCount):"\u2014"},align:f.ZP.RIGHT,defaultOrder:f.ZP.DESCENDING},{name:"PoolStats",header:"Pools",width:100,resizeMinWidth:60,sortAccessor:e=>{let{PoolStats:s=[]}=e;return s.reduce(((e,s)=>e+(s.Usage||0)),0)},defaultOrder:f.ZP.DESCENDING,align:f.ZP.LEFT,render:e=>{let{row:s}=e;return(0,Y.jsx)(O.m,{pools:s.PoolStats})}},{name:"Tablets",header:"Tablets States",sortable:!1,width:500,resizeMinWidth:500,render:s=>{let{row:t}=s;const r=e(t);return t.Tablets?(0,Y.jsx)(I.e,{path:t.Name,tablets:t.Tablets,nodeIds:t.NodeIds||[],backend:r}):"\u2014"}}];return 0===v.length&&m!==G.pu.ALL?(0,Y.jsx)(k.Q,{name:"thumbsUp",width:"200"}):(0,Y.jsx)(A.G,{columnsWidthLSKey:"databasesTableColumnsWidth",data:v,columns:t,settings:N.LE,emptyDataMessage:"No such tenants"})})()})]})};var K=t(79734),$=t(48897),ee=t(16670),se=t(40067),te=t(67359),re=t(92398);const ae=[{name:"NodeId",header:"#",width:80,resizeMinWidth:80,align:f.ZP.LEFT,render:e=>{let{row:s}=e;return s.NodeId}},{name:"Host",render:e=>{var s;let{row:t}=e;const r=t.Endpoints&&(null===(s=t.Endpoints.find((e=>"http-mon"===e.Name)))||void 0===s?void 0:s.Address),a=t.Host&&"".concat(t.Host).concat(r||"")||"unknown",n=!(0,h.TA)(t)&&t.NodeId?(0,re.a3)(t.NodeId):void 0;return(0,Y.jsx)(c.A,{name:a,path:n,hasClipboardButton:!0,showStatus:!1})},width:400,align:f.ZP.LEFT},{name:"Endpoints",sortable:!1,render:e=>{let{row:s}=e;return s.Endpoints?s.Endpoints.map((e=>{let{Name:s,Address:t}=e;return"".concat(s," ").concat(t)})).join(", "):"-"},width:300,align:f.ZP.LEFT},{name:"Uptime",header:"Uptime",sortAccessor:e=>{let{StartTime:s}=e;return s&&-s},width:120,align:f.ZP.LEFT,render:e=>{let{row:s}=e;return s.Uptime}},{name:"MemoryUsed",header:"Memory used",sortAccessor:e=>{let{MemoryUsed:s=0}=e;return Number(s)},defaultOrder:f.ZP.DESCENDING,render:e=>{let{row:s}=e;return s.MemoryUsed?(0,q.td)(s.MemoryUsed):"\u2014"},width:120,align:f.ZP.RIGHT},{name:"MemoryLimit",header:"Memory limit",sortAccessor:e=>{let{MemoryLimit:s=0}=e;return Number(s)},defaultOrder:f.ZP.DESCENDING,render:e=>{let{row:s}=e;return s.MemoryLimit?(0,q.td)(s.MemoryLimit):"\u2014"},width:120,align:f.ZP.RIGHT},{name:"PoolStats",header:"Pools",sortAccessor:e=>{let{PoolStats:s=[]}=e;return s.reduce(((e,s)=>e+(s.Usage||0)),0)},defaultOrder:f.ZP.DESCENDING,width:80,resizeMinWidth:60,render:e=>{let{row:s}=e;return s.PoolStats?(0,Y.jsx)(O.m,{pools:s.PoolStats}):"\u2014"},align:f.ZP.LEFT},{name:"LoadAverage",header:"Load average",sortAccessor:e=>{let{LoadAveragePercents:s=[]}=e;return s[0]},defaultOrder:f.ZP.DESCENDING,width:140,resizeMinWidth:140,render:e=>{let{row:s}=e;return s.LoadAveragePercents&&s.LoadAveragePercents.length>0?(0,Y.jsx)(te.y,{value:s.LoadAveragePercents[0],percents:!0,capacity:100,colorizeProgress:!0}):"\u2014"},align:f.ZP.LEFT}],ne=e=>{let{nodes:s}=e;return(0,Y.jsx)(A.G,{columnsWidthLSKey:"versionsTableColumnsWidth",data:s,columns:ae,settings:N.LE})};var le=t(84893),oe=t(90861);const ie=(0,j.cn)("ydb-versions-nodes-tree-title"),de=e=>{let s,{title:t,nodes:r,items:a,versionColor:n,versionsValues:l}=e;return s=a?a.reduce(((e,s)=>s.nodes?e+s.nodes.length:e),0):r?r.length:0,(0,Y.jsxs)("div",{className:ie("overview"),children:[(0,Y.jsxs)("div",{className:ie("overview-container"),children:[n?(0,Y.jsx)("div",{className:ie("version-color"),style:{background:n}}):null,t?(0,Y.jsxs)("span",{className:ie("overview-title"),children:[t,(0,Y.jsx)(oe.m,{text:t,size:"s",className:ie("clipboard-button")})]}):null]}),(0,Y.jsxs)("div",{className:ie("overview-info"),children:[(0,Y.jsxs)("div",{children:[(0,Y.jsx)("span",{className:ie("info-value"),children:s}),(0,Y.jsx)("span",{className:ie("info-label",{margin:"left"}),children:"Nodes"})]}),l?(0,Y.jsxs)("div",{className:ie("version-progress"),children:[(0,Y.jsx)("span",{className:ie("info-label",{margin:"right"}),children:"Versions"}),(0,Y.jsx)(le.E,{size:"s",value:100,stack:l})]}):null]})]})},ce=(0,j.cn)("ydb-versions-grouped-node-tree"),ue=e=>{let{title:s,nodes:t,items:a,expanded:n=!1,versionColor:l,versionsValues:o,level:i=0}=e;const[d,c]=r.useState(!1);r.useEffect((()=>{c(n)}),[n]);const u=(0,Y.jsx)(de,{title:s,nodes:t,items:a,versionColor:l,versionsValues:o}),v=()=>{c((e=>!e))};return a?(0,Y.jsx)("div",{className:ce({"first-level":0===i}),children:(0,Y.jsx)(se.L,{name:u,collapsed:!d,hasArrow:!0,onClick:v,onArrowClick:v,children:a.map(((e,s)=>(0,Y.jsx)(ue,{title:e.title,nodes:e.nodes,expanded:n,versionColor:e.versionColor,level:i+1},s)))},s)}):(0,Y.jsx)("div",{className:ce({"first-level":0===i}),children:(0,Y.jsx)(se.L,{name:u,collapsed:!d,hasArrow:!0,onClick:v,onArrowClick:v,children:(0,Y.jsx)("div",{className:ce("dt-wrapper"),children:(0,Y.jsx)(ne,{nodes:t||[]})})},s)})};var ve=t(46754),me=t.n(ve);let he;!function(e){e.VERSION="Version",e.TENANT="Database",e.STORAGE="Storage"}(he||(he={}));const pe=(e,s)=>{var t;return(null===(t=e.title)||void 0===t?void 0:t.localeCompare(s.title||""))||-1},xe=(0,j.cn)("ydb-versions"),je=e=>{let{versionToColor:s}=e;const[t]=(0,g.Rj)(),{data:a=[],isLoading:n}=p.useGetClusterNodesQuery(void 0,{pollingInterval:t}),[l,o]=r.useState(he.VERSION),[i,d]=r.useState(!1),c=e=>{o(e)};if(n)return(0,Y.jsx)(ee.a,{});const u=((e,s,t)=>{if(e&&e.length){if(t===he.VERSION){const t=me()(e,"Version");return Object.keys(t).map((e=>{const r=t[e].filter((e=>{let{Tenants:s}=e;return Boolean(s)})),a=me()(r,"Tenants"),n=Object.keys(a).map((e=>({title:e,nodes:a[e]}))).sort(pe);return n.length?{title:e,items:n,versionColor:null===s||void 0===s?void 0:s.get((0,y.H)(e))}:null})).filter((e=>Boolean(e)))}{const t=e.filter((e=>{let{Tenants:s}=e;return Boolean(s)})),r=me()(t,"Tenants");return Object.keys(r).map((e=>{const t=T(r[e],s),a=me()(r[e],"Version"),n=Object.keys(a).map((e=>({title:e,nodes:a[e],versionColor:null===s||void 0===s?void 0:s.get((0,y.H)(e))})));return n.length?{title:e,items:n,versionsValues:t}:null})).filter((e=>Boolean(e))).sort(pe)}}})(a,s,l),v=((e,s)=>{if(!e||!e.length)return;const t=e.filter((e=>{let{Roles:s}=e;return null===s||void 0===s?void 0:s.includes("Storage")})),r=me()(t,"Version");return Object.keys(r).map((e=>({title:e,nodes:r[e],versionColor:null===s||void 0===s?void 0:s.get((0,y.H)(e))})))})(a,s),m=((e,s)=>{if(!e||!e.length)return;const t=e.filter((e=>{let{Roles:s}=e;return!s})),r=me()(t,"Version");return Object.keys(r).map((e=>({title:e,nodes:r[e],versionColor:null===s||void 0===s?void 0:s.get((0,y.H)(e))})))})(a,s),h=null!==v&&void 0!==v&&v.length?(0,Y.jsxs)(r.Fragment,{children:[(0,Y.jsx)("h3",{children:"Storage nodes"}),v.map((e=>{let{title:s,nodes:t,items:r,versionColor:a}=e;return(0,Y.jsx)(ue,{title:s,nodes:t,items:r,versionColor:a},"storage-nodes-".concat(s))}))]}):null,x=null!==u&&void 0!==u&&u.length?(0,Y.jsxs)(r.Fragment,{children:[(0,Y.jsx)("h3",{children:"Database nodes"}),(0,Y.jsxs)("div",{className:xe("controls"),children:[(0,Y.jsxs)("div",{className:xe("group"),children:[(0,Y.jsx)("span",{className:xe("label"),children:"Group by:"}),(0,Y.jsxs)(K.E,{value:l,onUpdate:c,children:[(0,Y.jsx)(K.E.Option,{value:he.TENANT,children:he.TENANT}),(0,Y.jsx)(K.E.Option,{value:he.VERSION,children:he.VERSION})]})]}),(0,Y.jsx)($.X,{className:xe("checkbox"),onChange:()=>d((e=>!e)),checked:i,children:"All expanded"})]}),u.map((e=>{let{title:s,nodes:t,items:r,versionColor:a,versionsValues:n}=e;return(0,Y.jsx)(ue,{title:s,nodes:t,items:r,expanded:i,versionColor:a,versionsValues:n},"tenant-nodes-".concat(s))}))]}):null,j=null!==m&&void 0!==m&&m.length?(0,Y.jsxs)(r.Fragment,{children:[(0,Y.jsx)("h3",{children:"Other nodes"}),m.map((e=>{let{title:s,nodes:t,items:r,versionColor:a,versionsValues:n}=e;return(0,Y.jsx)(ue,{title:s,nodes:t,items:r,versionColor:a,versionsValues:n},"other-nodes-".concat(s))}))]}):null;return(0,Y.jsxs)("div",{className:xe("versions"),children:[h,x,j]})};var Ne=t(94790),ge=t(23373),be=t(91816),ye=t(32270),Te=t(63104),Ce=t(47057),we=t(81854);const fe=(0,j.cn)("ydb-cluster-versions-bar"),Se=e=>{let{versionsValues:s=[]}=e;return(0,Y.jsxs)("div",{className:fe(),children:[(0,Y.jsx)(le.E,{value:100,stack:s,size:"s"}),(0,Y.jsx)("div",{className:fe("versions"),children:s.map(((e,t)=>(0,Y.jsx)("div",{className:fe("version-title"),style:{color:e.color},title:e.version,children:"".concat(e.version).concat(t===s.length-1?"":",")},e.version)))})]})};var Pe=t(30817);const Ee=JSON.parse('{"disk-type":"Disk Type","erasure":"Erasure","allocated":"Allocated","available":"Available","usage":"Usage","dc":"DC","tablets":"Tablets","databases":"Databases","nodes":"Nodes","load":"Load","storage-size":"Storage size","storage-groups":"Storage groups, {{diskType}}","links":"Links","versions":"Versions"}'),ke=JSON.parse('{"disk-type":"\u0422\u0438\u043f \u0434\u0438\u0441\u043a\u0430","erasure":"\u0420\u0435\u0436\u0438\u043c","allocated":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043e","available":"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e","usage":"\u041f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435","dc":"\u0414\u0426","tablets":"\u0422\u0430\u0431\u043b\u0435\u0442\u043a\u0438","databases":"\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445","nodes":"\u0423\u0437\u043b\u044b","load":"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430","storage-size":"\u0420\u0430\u0437\u043c\u0435\u0440 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430","storage-groups":"\u0413\u0440\u0443\u043f\u043f\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, {{diskType}}","links":"\u0421\u0441\u044b\u043b\u043a\u0438","versions":"\u0412\u0435\u0440\u0441\u0438\u0438"}'),Oe=(0,Pe.wZ)("ydb-cluster",{ru:ke,en:Ee});var Le=t(28164);const Ae=(e,s)=>e.Type===Le.F.TxAllocator?1:s.Type===Le.F.TxAllocator?-1:0,Ve=(0,j.cn)("cluster-info"),De=e=>{let{stats:s}=e;const{diskType:t,erasure:r,allocatedSize:a,availableSize:n}=s,l=(0,we.dT)(Math.max(a,n),2),o=(0,we.td)({value:a,size:l}),i=(0,we.td)({value:n,size:l}),d=Math.round(a/(a+n)*100),c=[{label:Oe("disk-type"),value:t},{label:Oe("erasure"),value:r},{label:Oe("allocated"),value:o},{label:Oe("available"),value:i},{label:Oe("usage"),value:d+"%"}];return(0,Y.jsx)(ge.Z,{dots:!0,info:c,className:Ve("groups-stats-popup-content"),size:"s"})},Ie=e=>{let{stats:s}=e;return(0,Y.jsx)("div",{className:Ve("storage-groups-stats"),children:Object.values(s).map((e=>(0,Y.jsx)(Ne.f,{placement:["right"],content:(0,Y.jsx)(De,{stats:e}),children:(0,Y.jsx)(te.y,{className:Ve("groups-stats-bar"),value:e.createdGroups,capacity:e.totalGroups})},e.erasure)))})},ze=(e,s,t,r,a)=>{const n=[];if(e.DataCenters&&n.push({label:Oe("dc"),value:(0,Y.jsx)(Ce.$,{tags:e.DataCenters})}),e.SystemTablets){const s=e.SystemTablets.slice(0).sort(Ae);n.push({label:Oe("tablets"),value:(0,Y.jsx)("div",{className:Ve("system-tablets"),children:s.map(((e,s)=>(0,Y.jsx)(Te.Y,{tablet:e},s)))})})}return e.Tenants&&n.push({label:Oe("databases"),value:e.Tenants}),n.push({label:Oe("nodes"),value:(0,Y.jsx)(te.y,{value:null===e||void 0===e?void 0:e.NodesAlive,capacity:null===e||void 0===e?void 0:e.NodesTotal})},{label:Oe("load"),value:(0,Y.jsx)(te.y,{value:null===e||void 0===e?void 0:e.LoadAverage,capacity:null===e||void 0===e?void 0:e.NumberOfCpus})},{label:Oe("storage-size"),value:(0,Y.jsx)(te.y,{value:null===e||void 0===e?void 0:e.StorageUsed,capacity:null===e||void 0===e?void 0:e.StorageTotal,formatValues:q.QO})}),Object.keys(t).length&&n.push(...(e=>Object.keys(e).map((s=>({label:Oe("storage-groups",{diskType:s}),value:(0,Y.jsx)(Ie,{stats:e[s]})}))))(t)),n.push(...r,{label:Oe("links"),value:(0,Y.jsx)("div",{className:Ve("links"),children:a.map((e=>{let{title:s,url:t}=e;return(0,Y.jsx)(ye.j,{title:s,url:t},s)}))})},{label:Oe("versions"),value:(0,Y.jsx)(Se,{versionsValues:s})}),n},Ge=e=>{let{cluster:s={},versionsValues:t=[],groupsStats:r={},loading:a,error:n,additionalClusterProps:l={}}=e;const o=(0,g.ix)((e=>e.singleClusterMode));let i=z.y3+"/internal";o&&!z.j4&&(i="/internal");const{info:d=[],links:c=[]}=l,u=ze(s,t,r,d,[{title:N.Ah,url:i},...c]);return(0,Y.jsx)("div",{className:Ve(),children:(0,Y.jsx)("div",{className:Ve("info"),children:a?(0,Y.jsx)(be.b,{className:Ve("skeleton"),rows:9}):n?(0,Y.jsx)(E.V,{error:n,className:Ve("error")}):(0,Y.jsx)(ge.Z,{dots:!0,info:u})})})};var Me=t(81003);const Ze=(0,j.cn)("cluster");function Fe(e){var s,t;let{additionalClusterProps:h,additionalTenantsProps:j,additionalNodesProps:y,additionalVersionsProps:f}=e;const S=r.useRef(null),P=(0,g.zL)(),E=function(){const e=(0,g.zL)(),s=(0,g.ix)((e=>e.cluster.defaultClusterTab)),t=(0,o.$B)(v.ZP.cluster),{activeTab:a}=(null===t||void 0===t?void 0:t.params)||{};let n;n=(0,Me.V2)(a)?a:s;return r.useEffect((()=>{n!==s&&e((0,m.LQ)(n))}),[n,s,e]),n}(),[{clusterName:k,backend:O}]=(0,i.useQueryParams)({clusterName:i.StringParam,backend:i.StringParam}),[L]=(0,g.Rj)(),{data:{clusterData:A={},groupsStats:V}={},isLoading:D,error:I}=m.UM.useGetClusterInfoQuery(null!==k&&void 0!==k?k:void 0,{pollingInterval:L}),z=I&&"object"===typeof I?I:void 0,{data:G=[],isLoading:M}=p.useGetClusterNodesQuery(void 0),Z=D||M,{Name:F}=A;r.useEffect((()=>{P((0,x.J)("cluster",{}))}),[P,F]);const R=r.useMemo((()=>null!==f&&void 0!==f&&f.getVersionToColorMap?null===f||void 0===f?void 0:f.getVersionToColorMap():(0,b.ZP)(null===A||void 0===A?void 0:A.Versions)),[f,A]),B=r.useMemo((()=>T(G,R)),[G,R]),W=null!==(s=null!==(t=null===A||void 0===A?void 0:A.Name)&&void 0!==t?t:k)&&void 0!==s?s:N.DO,H=r.useMemo((()=>Me._Y.find((e=>{let{id:s}=e;return s===E}))),[E]);return(0,Y.jsxs)("div",{className:Ze(),ref:S,children:[(0,Y.jsx)(l.ql,{defaultTitle:"".concat(W," \u2014 YDB Monitoring"),titleTemplate:"%s \u2014 ".concat(W," \u2014 YDB Monitoring"),children:H?(0,Y.jsx)("title",{children:H.title}):null}),(0,Y.jsx)("div",{className:Ze("header"),children:(()=>{var e;return Z?(0,Y.jsx)(a.O,{className:Ze("title-skeleton")}):(0,Y.jsx)(c.A,{size:"m",status:null===A||void 0===A?void 0:A.Overall,name:null!==(e=null===A||void 0===A?void 0:A.Name)&&void 0!==e?e:N.DO,className:Ze("title")})})()}),(0,Y.jsxs)("div",{className:Ze("tabs"),children:[(0,Y.jsx)(n.m,{size:"l",allowNotSelected:!0,activeTab:E,items:Me._Y,wrapTo:(e,s)=>{let{id:t}=e;const r=(0,Me.B7)(t,{clusterName:k,backend:O});return(0,Y.jsx)(u.h,{to:r,onClick:()=>{P((0,m.LQ)(t))},children:s},t)}}),(0,Y.jsx)(d.q,{})]}),(0,Y.jsx)("div",{children:(0,Y.jsxs)(o.rs,{children:[(0,Y.jsx)(o.AW,{path:(0,v.Fz)((0,Me.B7)(Me.xu.overview)).pathname,children:(0,Y.jsx)(Ge,{cluster:A,groupsStats:V,versionsValues:B,loading:Z,error:z,additionalClusterProps:h})}),(0,Y.jsx)(o.AW,{path:(0,v.Fz)((0,Me.B7)(Me.xu.tenants)).pathname,children:(0,Y.jsx)(J,{additionalTenantsProps:j})}),(0,Y.jsx)(o.AW,{path:(0,v.Fz)((0,Me.B7)(Me.xu.nodes)).pathname,children:(0,Y.jsx)(C.G,{parentContainer:S.current,additionalNodesProps:y})}),(0,Y.jsx)(o.AW,{path:(0,v.Fz)((0,Me.B7)(Me.xu.storage)).pathname,children:(0,Y.jsx)(w.V,{parentContainer:S.current,additionalNodesProps:y})}),(0,Y.jsx)(o.AW,{path:(0,v.Fz)((0,Me.B7)(Me.xu.versions)).pathname,children:(0,Y.jsx)(je,{versionToColor:R})}),(0,Y.jsx)(o.AW,{render:()=>(0,Y.jsx)(o.l_,{to:(0,v.Fz)((0,Me.B7)(E))})})]})})]})}}}]);
\ No newline at end of file
diff --git a/ydb/core/viewer/monitoring/static/js/8607.1e377882.chunk.js b/ydb/core/viewer/monitoring/static/js/8607.e8952666.chunk.js
similarity index 99%
rename from ydb/core/viewer/monitoring/static/js/8607.1e377882.chunk.js
rename to ydb/core/viewer/monitoring/static/js/8607.e8952666.chunk.js
index bbfd94bb25ef..fbfed346d4c9 100644
--- a/ydb/core/viewer/monitoring/static/js/8607.1e377882.chunk.js
+++ b/ydb/core/viewer/monitoring/static/js/8607.e8952666.chunk.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[8607],{68607:(t,e,s)=>{function a(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function r(t,e,s){a(t,e),e.set(t,s)}s.r(e),s.d(e,{TableOrViewSuggestion:()=>tn,parseClickHouseQuery:()=>$K,parseClickHouseQueryWithoutCursor:()=>zK,parseMySqlQuery:()=>ZK,parseMySqlQueryWithoutCursor:()=>JK,parsePostgreSqlQuery:()=>jK,parsePostgreSqlQueryWithoutCursor:()=>qK,parseYqQuery:()=>aQ,parseYqQueryWithoutCursor:()=>sQ,parseYqlQuery:()=>eQ,parseYqlQueryWithoutCursor:()=>tQ});var i,c,n,h,E,T,o,R,A,S,l,O,I,u,N,L,C,_,P,M,d,U,m,D,p,g,x,k,H,G,F,v,B,y,f,Y,w,b,W,V,X,K,Q,J,Z,q,j,z,$,tt,et,st,at,rt,it,ct,nt,ht,Et,Tt,ot,Rt,At,St,lt,Ot,It,ut,Nt,Lt,Ct,_t,Pt,Mt,dt,Ut,mt,Dt,pt,gt,xt,kt,Ht,Gt,Ft,vt,Bt,yt,ft,Yt,wt,bt,Wt,Vt,Xt,Kt,Qt,Jt,Zt,qt,jt,zt,$t,te,ee,se,ae,re,ie,ce,ne,he,Ee,Te,oe,Re,Ae,Se,le,Oe,Ie,ue,Ne,Le,Ce,_e,Pe,Me,de,Ue,me,De,pe,ge,xe,ke,He,Ge,Fe,ve,Be,ye,fe,Ye,we,be,We,Ve,Xe,Ke,Qe,Je,Ze,qe,je,ze,$e,ts,es,ss,as,rs,is,cs,ns,hs,Es,Ts,os,Rs,As,Ss,ls,Os,Is,us,Ns,Ls,Cs,_s,Ps,Ms,ds,Us,ms,Ds,ps,gs,xs,ks,Hs,Gs,Fs,vs,Bs,ys,fs,Ys,ws,bs,Ws,Vs,Xs,Ks,Qs,Js,Zs,qs,js=s(64572);function zs(t,e,s){if(!e.has(t))throw new TypeError("attempted to "+s+" private field on non-instance");return e.get(t)}function $s(t,e,s){return function(t,e,s){if(e.set)e.set.call(t,s);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=s}}(t,zs(t,e,"set"),s),s}function ta(t,e){return e.get?e.get.call(t):e.value}function ea(t,e){return ta(t,zs(t,e,"get"))}function sa(t,e,s){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return s}function aa(t,e,s){return function(t,e){if(t!==e)throw new TypeError("Private static access of wrong provenance")}(t,e),function(t,e){if(void 0===t)throw new TypeError("attempted to "+e+" private static field before its declaration")}(s,"get"),ta(t,s)}var ra,ia,ca,na,ha=Object.defineProperty,Ea=(t,e)=>ha(t,"name",{value:e,configurable:!0});(ia=ra||(ra={})).EOF=-1,ia.UNKNOWN_SOURCE_NAME="",(na=ca||(ca={})).INVALID_TYPE=0,na.EPSILON=-2,na.MIN_USER_TOKEN_TYPE=1,na.EOF=ra.EOF,na.DEFAULT_CHANNEL=0,na.HIDDEN_CHANNEL=1,na.MIN_USER_CHANNEL_VALUE=2;var Ta=Ea((t=>{const e=t;return void 0!==e.tokenSource&&void 0!==e.channel}),"isToken"),oa=(c=new WeakMap,i=class t{constructor(t,e){(0,js.Z)(this,"start",void 0),(0,js.Z)(this,"stop",void 0),r(this,c,{writable:!0,value:void 0}),this.start=t,this.stop=e,$s(this,c,Math.imul(651+t,31)+e)}static of(e,s){return e!==s||e<0||e>t.INTERVAL_POOL_MAX_VALUE?new t(e,s):(aa(t,i,n)[e]||(aa(t,i,n)[e]=new t(e,e)),aa(t,i,n)[e])}equals(t){return this.start===t.start&&this.stop===t.stop}hashCode(){return ea(this,c)}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(e){return t.of(Math.min(this.start,e.start),Math.max(this.stop,e.stop))}intersection(e){return t.of(Math.max(this.start,e.start),Math.min(this.stop,e.stop))}differenceNotProperlyContained(e){let s=null;return e.startsBeforeNonDisjoint(this)?s=t.of(Math.max(this.start,e.stop+1),this.stop):e.startsAfterNonDisjoint(this)&&(s=t.of(this.start,e.start-1)),s}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop0){const e=r.charAt(0);if("'"===e){a[t]=null;continue}if(e.toUpperCase()===e){s[t]=null;continue}}s[t]=null,a[t]=null}}return new t(s,a,e)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t0&&void 0!==arguments[0]?arguments[0]:aa(t,E,T)}static updateFromComparable(t,e){var s;return this.update(t,null!==(s=null===e||void 0===e?void 0:e.hashCode())&&void 0!==s?s:0)}static update(t,e){return e=(e=Math.imul(e,3432918353))<<15|e>>>17,t=(t^=e=Math.imul(e,461845907))<<13|t>>>19,t=Math.imul(t,5)+3864292196}},"MurmurHash"),T={writable:!0,value:701},(0,js.Z)(E,"finish",((t,e)=>(t^=4*e,t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16))),(0,js.Z)(E,"hashCode",((t,e)=>E.finish(E.update(null!==e&&void 0!==e?e:aa(E,E,T),t),1))),E),Sa=(R=new WeakMap,A=new WeakMap,o=class t{constructor(t){r(this,R,{writable:!0,value:[]}),r(this,A,{writable:!0,value:void 0}),t&&this.addSet(t)}static of(e,s){const a=new t;return a.addRange(e,s),a}[Symbol.iterator](){return ea(this,R)[Symbol.iterator]()}get(t){return ea(this,R)[t]}get minElement(){return 0===ea(this,R).length?ca.INVALID_TYPE:ea(this,R)[0].start}get maxElement(){return 0===ea(this,R).length?ca.INVALID_TYPE:ea(this,R)[ea(this,R).length-1].stop}clear(){$s(this,A,void 0),$s(this,R,[])}addOne(t){this.addInterval(new oa(t,t))}addRange(t,e){this.addInterval(new oa(t,e))}addInterval(t){if($s(this,A,void 0),0===ea(this,R).length)ea(this,R).push(t);else{for(let e=0;ethis.addInterval(t)),this),this}complementWithVocabulary(e){const s=new t;return e?0===e.length?s:(s.addSet(e),s.subtract(this)):s}complement(e,s){const a=new t;return a.addInterval(new oa(e,s)),a.subtract(this)}or(e){const s=new t;return s.addSet(this),e.forEach((t=>s.addSet(t))),s}and(e){if(0===e.length)return new t;const s=ea(this,R),a=ea(e,R);let r;const i=s.length,c=a.length;let n=0,h=0;for(;nt.stop){a++;continue}let c,n;i.start>t.start&&(c=new oa(t.start,i.start-1)),i.stopt))return!0;s=a-1}}return!1}removeRange(t){if($s(this,A,void 0),t.start===t.stop)this.removeOne(t.start);else if(null!==ea(this,R)){let e=0;for(const s of ea(this,R)){if(t.stop<=s.start)return;if(t.start>s.start&&t.stop=s.stop?(ea(this,R).splice(e,1),e-=1):t.start1&&(e+="{");for(let s=0;s":e+=t?"'"+String.fromCodePoint(r)+"'":r:e+=t?"'"+String.fromCodePoint(r)+"'..'"+String.fromCodePoint(i)+"'":r+".."+i,s1&&(e+="}"),e}toStringWithVocabulary(t){if(0===ea(this,R).length)return"{}";let e="";this.length>1&&(e+="{");for(let s=0;s":e+=this.elementName(t,r);else for(let s=r;s<=i;++s)s>r&&(e+=", "),e+=this.elementName(t,s);s1&&(e+="}"),e}toStringWithRuleNames(t){if(0===ea(this,R).length)return"{}";let e="";this.length>1&&(e+="{");const s=Ra.fromTokenNames(t);for(let a=0;a":e+=this.elementName(s,r);else for(let a=r;a<=i;++a)a>r&&(e+=", "),e+=this.elementName(s,a);a1&&(e+="}"),e}toArray(){const t=[];for(const e of ea(this,R))for(let s=e.start;s<=e.stop;s++)t.push(s);return t}get length(){let t=0;if(1===ea(this,R).length){const t=ea(this,R)[0];return t.stop-t.start+1}for(const e of ea(this,R))t+=e.length;return t}elementName(t,e){return e===ca.EOF?"":e===ca.EPSILON?"":t.getDisplayName(e)}},Ea(o,"IntervalSet"),o),la=(Ea(S=class{constructor(t){(0,js.Z)(this,"target",void 0),this.target=t}get isEpsilon(){return!1}get label(){return null}},"Transition"),(0,js.Z)(S,"INVALID",0),(0,js.Z)(S,"EPSILON",1),(0,js.Z)(S,"RANGE",2),(0,js.Z)(S,"RULE",3),(0,js.Z)(S,"PREDICATE",4),(0,js.Z)(S,"ATOM",5),(0,js.Z)(S,"ACTION",6),(0,js.Z)(S,"SET",7),(0,js.Z)(S,"NOT_SET",8),(0,js.Z)(S,"WILDCARD",9),(0,js.Z)(S,"PRECEDENCE",10),S),Oa=(Ea(l=class extends la{constructor(t,e){super(t),(0,js.Z)(this,"set",void 0),this.set=e||Sa.of(ca.INVALID_TYPE,ca.INVALID_TYPE)}get transitionType(){return la.SET}get label(){return this.set}matches(t,e,s){return this.set.contains(t)}toString(){return this.set.toString()}},"SetTransition"),l),Ia=(Ea(O=class extends Oa{get transitionType(){return la.NOT_SET}matches(t,e,s){return t>=e&&t<=s&&!super.matches(t,e,s)}toString(){return"~"+super.toString()}},"NotSetTransition"),O),ua=(u=new WeakMap,Ea(I=class t{constructor(t){r(this,u,{writable:!0,value:void 0}),$s(this,u,t)}static calculateEmptyHashCode(){let t=Aa.initialize(31);return t=Aa.finish(t,0),t}static calculateHashCodeSingle(t,e){let s=Aa.initialize(31);return s=Aa.updateFromComparable(s,t),s=Aa.update(s,e),s=Aa.finish(s,2),s}static calculateHashCodeList(t,e){let s=Aa.initialize(31);for(const a of t)s=Aa.updateFromComparable(s,a);for(const a of e)s=Aa.update(s,a);return s=Aa.finish(s,2*t.length),s}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===t.EMPTY_RETURN_STATE}hashCode(){return ea(this,u)}toString(t){return""}},"PredictionContext"),(0,js.Z)(I,"EMPTY_RETURN_STATE",2147483647),(0,js.Z)(I,"EMPTY",void 0),(0,js.Z)(I,"traceATNSimulator",!1),I),Na=Ea((t=>null===t?"null":t),"valueToString"),La=Ea((t=>Array.isArray(t)?"["+t.map(Na).join(", ")+"]":"null"),"arrayToString"),Ca=Ea(((t,e)=>{if(t===e)return!0;if(t.length!==e.length)return!1;for(let s=0;s{if(t===e)return!0;if(t.length!==e.length)return!1;for(let s=0;s1&&void 0!==arguments[1]&&arguments[1];return t=t.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),e&&(t=t.replace(/ /g,"\xb7")),t}),"escapeWhitespace"),Ma=(N=class t extends ua{constructor(t,e){return super(ua.calculateHashCodeList(t,e)),(0,js.Z)(this,"parents",[]),(0,js.Z)(this,"returnStates",[]),this.parents=t,this.returnStates=e,this}isEmpty(){return this.returnStates[0]===ua.EMPTY_RETURN_STATE}get length(){return this.returnStates.length}getParent(t){return this.parents[t]}getReturnState(t){return this.returnStates[t]}equals(e){return this===e||e instanceof t&&this.hashCode()===e.hashCode()&&(_a(this.returnStates,e.returnStates)&&Ca(this.parents,e.parents))}toString(){if(this.isEmpty())return"[]";const t=[];for(let e=0;e":null!==(e=null===(s=this.symbol)||void 0===s?void 0:s.text)&&void 0!==e?e:""}toStringTree(){return this.toString()}},"TerminalNode"),_),Da=(Ea(P=class extends ma{accept(t){return t.visitErrorNode(this)}},"ErrorNode"),P),pa=(M=class t{static toStringTree(e,s,a){var r,i;s=null!==(r=s)&&void 0!==r?r:null,null!==(a=null!==(i=a)&&void 0!==i?i:null)&&(s=a.ruleNames);let c=t.getNodeText(e,s);c=Pa(c,!1);const n=e.getChildCount();if(0===n)return c;let h="("+c+" ";n>0&&(c=t.toStringTree(e.getChild(0),s),h=h.concat(c));for(let E=1;E1&&void 0!==arguments[1]?arguments[1]:-1;(0,js.Z)(this,"start",null),(0,js.Z)(this,"stop",null),(0,js.Z)(this,"children",[]),(0,js.Z)(this,"invokingState",void 0),r(this,U,{writable:!0,value:void 0}),$s(this,U,t),this.invokingState=e}copyFrom(t){$s(this,U,ea(t,U)),this.invokingState=t.invokingState,this.children.slice(0,this.children.length),this.start=t.start,this.stop=t.stop,t.children&&t.children.forEach((t=>{t instanceof Da&&(this.children.push(t),t.parent=this)}))}enterRule(t){}exitRule(t){}addChild(t){return this.children.push(t),t}removeLastChild(){this.children.pop()}addTokenNode(t){const e=new ma(t);return this.children.push(e),e.parent=this,e}addErrorNode(t){return t.parent=this,this.children.push(t),t}getChild(t,e){if(t<0||t>=this.children.length)return null;if(!e)return this.children[t];for(const s of this.children)if(s instanceof e){if(0===t)return s;t-=1}return null}getToken(t,e){if(e<0||e>=this.children.length)return null;for(const a of this.children){var s;if("symbol"in a)if((null===(s=a.symbol)||void 0===s?void 0:s.type)===t){if(0===e)return a;e-=1}}return null}getTokens(t){const e=[];for(const a of this.children){var s;if("symbol"in a)(null===(s=a.symbol)||void 0===s?void 0:s.type)===t&&e.push(a)}return e}getRuleContext(t,e){return this.getChild(t,e)}getRuleContexts(t){const e=[];for(const s of this.children)s instanceof t&&e.push(s);return e}getChildCount(){return this.children.length}getSourceInterval(){return null===this.start||null===this.stop?oa.INVALID_INTERVAL:new oa(this.start.tokenIndex,this.stop.tokenIndex)}get parent(){return ea(this,U)}set parent(t){$s(this,U,t)}depth(){let t=0,e=this;for(;null!==e;)e=e.parent,t+=1;return t}isEmpty(){return-1===this.invokingState}get ruleContext(){return this}get ruleIndex(){return-1}getPayload(){return this}getText(){return 0===this.children.length?"":this.children.map((t=>t.getText())).join("")}getAltNumber(){return ja.INVALID_ALT_NUMBER}setAltNumber(t){}accept(t){return t.visitChildren(this)}toStringTree(){return 1===arguments.length?pa.toStringTree(this,null,arguments.length<=0?void 0:arguments[0]):pa.toStringTree(this,arguments.length<=0?void 0:arguments[0],arguments.length<=1?void 0:arguments[1])}toString(t,e){var s,a;t=null!==(s=t)&&void 0!==s?s:null,e=null!==(a=e)&&void 0!==a?a:null;let r=this,i="[";for(;null!==r&&r!==e;){if(null===t)r.isEmpty()||(i+=r.invokingState);else{const e=r.ruleIndex;i+=e>=0&&e1&&void 0!==arguments[1]?arguments[1]:aa(t,p,F);if(r(this,g,{writable:!0,value:void 0}),r(this,x,{writable:!0,value:void 0}),r(this,k,{writable:!0,value:0}),r(this,H,{writable:!0,value:void 0}),e instanceof t){$s(this,g,ea(e,g)),$s(this,x,ea(e,x).slice(0));for(let t=0;tea(this,H)&&this.expand();const s=this.getBucket(t);let a=ea(this,x)[s];var r;if(!a)return a=[t],ea(this,x)[s]=a,$s(this,k,(r=ea(this,k),++r)),t;for(const i of a)if(ea(this,g).equals(i,t))return i;return a.push(t),$s(this,k,(e=ea(this,k),++e)),t}get(t){if(null==t)return t;const e=this.getBucket(t),s=ea(this,x)[e];if(s)for(const a of s)if(ea(this,g).equals(a,t))return a}hashCode(){let t=Aa.initialize();for(const e of ea(this,x))if(null!=e)for(const s of e){if(null==s)break;t=Aa.update(t,ea(this,g).hashCode(s))}return t=Aa.finish(t,this.size),t}equals(e){return e===this||e instanceof t&&(e.size===this.size&&this.containsAll(e))}add(t){return this.getOrAdd(t)===t}contains(t){return this.containsFast(t)}containsFast(t){return null!=t&&void 0!==this.get(t)}*[Symbol.iterator](){yield*this.toArray()}toArray(){const t=new Array(this.size);let e=0;for(const s of ea(this,x))if(null!=s)for(const a of s){if(null==a)break;t[e++]=a}return t}containsAll(e){if(e instanceof t){for(const t of ea(e,x))if(null!=t)for(const e of t){if(null==e)break;if(!this.containsFast(e))return!1}}else for(const t of e)if(!this.containsFast(t))return!1;return!0}addAll(t){let e=!1;for(const s of t){this.getOrAdd(s)!==s&&(e=!0)}return e}clear(){$s(this,x,this.createBuckets(aa(t,p,F))),$s(this,k,0),$s(this,H,Math.floor(aa(t,p,F)*aa(t,p,G)))}toString(){if(0===this.size)return"{}";let t="{",e=!0;for(const s of ea(this,x))if(null!=s)for(const a of s){if(null==a)break;e?e=!1:t+=", ",t+=a.toString()}return t+="}",t}toTableString(){let t="";for(const e of ea(this,x)){if(null==e){t+="null\n";continue}t+="[";let s=!0;for(const a of e)s?s=!1:t+=" ",t+=null==a?"_":a.toString();t+="]\n"}return t}getBucket(t){return ea(this,g).hashCode(t)&ea(this,x).length-1}expand(){const e=ea(this,x),s=2*ea(this,x).length,a=this.createBuckets(s);$s(this,x,a),$s(this,H,Math.floor(s*aa(t,p,G)));for(const t of e)if(t)for(const e of t){const t=this.getBucket(e);let s=ea(this,x)[t];s||(s=[],ea(this,x)[t]=s),s.push(e)}}get size(){return ea(this,k)}get isEmpty(){return 0===ea(this,k)}createBuckets(t){return new Array(t)}},Ea(p,"HashSet"),G={writable:!0,value:.75},F={writable:!0,value:16},p),Ga=(v=class{constructor(t){(0,js.Z)(this,"keyComparator",void 0),this.keyComparator=t}hashCode(t){return this.keyComparator.hashCode(t.key)}equals(t,e){return this.keyComparator.equals(t.key,e.key)}},Ea(v,"MapKeyEqualityComparator"),v),Fa=(Ea(B=class t{constructor(e){(0,js.Z)(this,"backingStore",void 0),this.backingStore=new Ha(e instanceof t?e.backingStore:new Ga(e))}clear(){this.backingStore.clear()}containsKey(t){return this.backingStore.contains({key:t})}get(t){const e=this.backingStore.get({key:t});if(e)return e.value}get isEmpty(){return this.backingStore.isEmpty}set(t,e){const s=this.backingStore.get({key:t,value:e});let a;return s?(a=s.value,s.value=e):this.backingStore.add({key:t,value:e}),a}setIfAbsent(t,e){const s=this.backingStore.get({key:t,value:e});let a;return s?a=s.value:this.backingStore.add({key:t,value:e}),a}values(){return this.backingStore.toArray().map((t=>t.value))}get size(){return this.backingStore.size}hashCode(){return this.backingStore.hashCode()}equals(t){return this.backingStore.equals(t.backingStore)}},"HashMap"),B),va=Ea(((t,e)=>{if(e||(e=ga.empty),!e.parent||e===ga.empty)return ua.EMPTY;const s=va(t,e.parent),a=t.states[e.invokingState].transitions[0];return da.create(s,a.followState.stateNumber)}),"predictionContextFromRuleContext"),Ba=Ea(((t,e,s)=>{if(t.isEmpty())return t;let a=s.get(t);if(a)return a;if(a=e.get(t),a)return s.set(t,a),a;let r,i=!1,c=[];for(let h=0;h{if(t===e)return t;if(t instanceof da&&e instanceof da)return wa(t,e,s,a);if(s){if(t instanceof Ua)return t;if(e instanceof Ua)return e}return t instanceof da&&(t=new Ma([t.parent],[t.returnState])),e instanceof da&&(e=new Ma([e.parent],[e.returnState])),fa(t,e,s,a)}),"merge"),fa=Ea(((t,e,s,a)=>{if(a){let s=a.get(t,e);if(s)return s;if(s=a.get(e,t),s)return s}let r=0,i=0,c=0,n=new Array(t.returnStates.length+e.returnStates.length).fill(0),h=new Array(t.returnStates.length+e.returnStates.length).fill(null);for(;r a"),t):T.equals(e)?(null!==a&&a.set(t,e,e),e):(Ya(h),null!==a&&a.set(t,e,T),ua.traceATNSimulator&&console.log("mergeArrays a="+t+",b="+e+" -> "+T),T)}),"mergeArrays"),Ya=Ea((t=>{const e=new Fa(xa.instance);for(const a of t)a&&(e.containsKey(a)||e.set(a,a));for(let a=0;a{if(null!==a){let s=a.get(t,e);if(null!==s)return s;if(s=a.get(e,t),null!==s)return s}const r=ba(t,e,s);if(null!==r)return null!==a&&a.set(t,e,r),r;if(t.returnState===e.returnState){const r=ya(t.parent,e.parent,s,a);if(r===t.parent)return t;if(r===e.parent)return e;const i=da.create(r,t.returnState);return null!==a&&a.set(t,e,i),i}{let s=null;if((t===e||null!==t.parent&&t.parent===e.parent)&&(s=t.parent),null!==s){const r=[t.returnState,e.returnState];t.returnState>e.returnState&&(r[0]=e.returnState,r[1]=t.returnState);const i=new Ma([s,s],r);return null!==a&&a.set(t,e,i),i}const r=[t.returnState,e.returnState];let i=[t.parent,e.parent];t.returnState>e.returnState&&(r[0]=e.returnState,r[1]=t.returnState,i=[e.parent,t.parent]);const c=new Ma(i,r);return null!==a&&a.set(t,e,c),c}}),"mergeSingletons"),ba=Ea(((t,e,s)=>{if(s){if(t===ua.EMPTY||e===ua.EMPTY)return ua.EMPTY}else{if(t===ua.EMPTY&&e===ua.EMPTY)return ua.EMPTY;if(t===ua.EMPTY){const t=[e.returnState,ua.EMPTY_RETURN_STATE],s=[e.parent,null];return new Ma(s,t)}if(e===ua.EMPTY){const e=[t.returnState,ua.EMPTY_RETURN_STATE],s=[t.parent,null];return new Ma(s,e)}}return null}),"mergeRoot"),Wa=(y=class{constructor(t){(0,js.Z)(this,"data",void 0),this.data=t?new Uint32Array(t.map((t=>t>>>0))):new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let e=0,s=this.data[e];const a=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;e>>5]&=~(1<>>5;return!(e>=this.data.length)&&0!==(this.data[e]&1<t)return e}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(e<=this.data.length)return;const s=new Uint32Array(e);s.set(this.data),s.fill(0,this.data.length),this.data=s}bitCount(t){return t=(t=(858993459&(t-=t>>1&1431655765))+(t>>2&858993459))+(t>>4)&252645135,t+=t>>8,63&(t+=t>>16)}},Ea(y,"BitSet"),y),Va=(f=class{constructor(){(0,js.Z)(this,"stateNumber",0),(0,js.Z)(this,"ruleIndex",0),(0,js.Z)(this,"epsilonOnlyTransitions",!1),(0,js.Z)(this,"nextTokenWithinRule",void 0),(0,js.Z)(this,"transitions",[])}hashCode(){return this.stateNumber}equals(t){return this.stateNumber===t.stateNumber}toString(){return"".concat(this.stateNumber)}addTransitionAtIndex(t,e){0===this.transitions.length?this.epsilonOnlyTransitions=e.isEpsilon:this.epsilonOnlyTransitions!==e.isEpsilon&&(this.epsilonOnlyTransitions=!1),this.transitions.splice(t,1,e)}addTransition(t){0===this.transitions.length?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),this.transitions.push(t)}setTransition(t,e){this.transitions.splice(t,1,e)}removeTransition(t){return this.transitions.splice(t,1)[0]}},Ea(f,"ATNState"),(0,js.Z)(f,"INVALID_STATE_NUMBER",-1),(0,js.Z)(f,"INVALID_TYPE",0),(0,js.Z)(f,"BASIC",1),(0,js.Z)(f,"RULE_START",2),(0,js.Z)(f,"BLOCK_START",3),(0,js.Z)(f,"PLUS_BLOCK_START",4),(0,js.Z)(f,"STAR_BLOCK_START",5),(0,js.Z)(f,"TOKEN_START",6),(0,js.Z)(f,"RULE_STOP",7),(0,js.Z)(f,"BLOCK_END",8),(0,js.Z)(f,"STAR_LOOP_BACK",9),(0,js.Z)(f,"STAR_LOOP_ENTRY",10),(0,js.Z)(f,"PLUS_LOOP_BACK",11),(0,js.Z)(f,"LOOP_END",12),(0,js.Z)(f,"stateType",f.INVALID_STATE_NUMBER),f),Xa=(Y=class t{constructor(){(0,js.Z)(this,"cachedHashCode",void 0)}static andContext(e,s){if(null===e||e===t.NONE)return s;if(null===s||s===t.NONE)return e;const a=new Ka(e,s);return 1===a.operands.length?a.operands[0]:a}static orContext(e,s){if(null===e)return s;if(null===s)return e;if(e===t.NONE||s===t.NONE)return t.NONE;const a=new Qa(e,s);return 1===a.operands.length?a.operands[0]:a}static filterPrecedencePredicates(e){const s=[];for(const a of e)a instanceof t.PrecedencePredicate&&s.push(a);return s}evalPrecedence(t,e){return this}},Ea(Y,"SemanticContext"),Y),Ka=(w=class t extends Xa{constructor(e,s){super(),(0,js.Z)(this,"operands",void 0);const a=new Ha;e instanceof t?e.operands.forEach((t=>{a.add(t)})):a.add(e),s instanceof t?s.operands.forEach((t=>{a.add(t)})):a.add(s);const r=Xa.filterPrecedencePredicates(a);if(r.length>0){let t=null;r.forEach((e=>{(null===t||e.precedence{r=null===r?t:Xa.andContext(r,t)})),r}toString(){const t=this.operands.map((t=>t.toString()));return(t.length>3?t.slice(3):t).join("&&")}},Ea(w,"AND"),w),Qa=(b=class t extends Xa{constructor(e,s){super(),(0,js.Z)(this,"operands",void 0);const a=new Ha;e instanceof t?e.operands.forEach((t=>{a.add(t)})):a.add(e),s instanceof t?s.operands.forEach((t=>{a.add(t)})):a.add(s);const r=Xa.filterPrecedencePredicates(a);if(r.length>0){const t=r.sort(((t,e)=>t.compareTo(e))),e=t[t.length-1];a.add(e)}this.operands=a.toArray()}equals(e){return this===e||e instanceof t&&Ca(this.operands,e.operands)}hashCode(){if(void 0===this.cachedHashCode){let t=Aa.initialize();for(const e of this.operands)t=Aa.updateFromComparable(t,e);t=Aa.update(t,3383313031),this.cachedHashCode=Aa.finish(t,this.operands.length+1)}return this.cachedHashCode}evaluate(t,e){for(const s of this.operands)if(s.evaluate(t,e))return!0;return!1}evalPrecedence(t,e){let s=!1;const a=[];for(const i of this.operands){const r=i.evalPrecedence(t,e);if(s||(s=r!==i),r===Xa.NONE)return Xa.NONE;null!==r&&a.push(r)}if(!s)return this;if(0===a.length)return null;let r=null;return a.forEach((t=>{r=null===r?t:Xa.orContext(r,t)})),r}toString(){const t=this.operands.map((t=>t.toString()));return(t.length>3?t.slice(3):t).join("||")}},Ea(b,"OR"),b);(t=>{class e extends t{constructor(t,e,s){super(),(0,js.Z)(this,"ruleIndex",void 0),(0,js.Z)(this,"predIndex",void 0),(0,js.Z)(this,"isCtxDependent",void 0),this.ruleIndex=null!==t&&void 0!==t?t:-1,this.predIndex=null!==e&&void 0!==e?e:-1,this.isCtxDependent=null!==s&&void 0!==s&&s}evaluate(t,e){const s=this.isCtxDependent?e:null;return t.sempred(s,this.ruleIndex,this.predIndex)}hashCode(){if(void 0===this.cachedHashCode){let t=Aa.initialize();t=Aa.update(t,this.ruleIndex),t=Aa.update(t,this.predIndex),t=Aa.update(t,this.isCtxDependent?1:0),t=Aa.finish(t,3),this.cachedHashCode=t}return this.cachedHashCode}equals(t){return this===t||this.ruleIndex===t.ruleIndex&&this.predIndex===t.predIndex&&this.isCtxDependent===t.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}Ea(e,"Predicate"),t.Predicate=e;class s extends t{constructor(t){super(),(0,js.Z)(this,"precedence",void 0),this.precedence=null!==t&&void 0!==t?t:0}evaluate(t,e){return t.precpred(e,this.precedence)}evalPrecedence(e,s){return e.precpred(null!==s&&void 0!==s?s:null,this.precedence)?t.NONE:null}compareTo(t){return this.precedence-t.precedence}hashCode(){return 31+this.precedence}equals(t){return this===t||this.precedence===t.precedence}toString(){return"{"+this.precedence+">=prec}?"}}Ea(s,"PrecedencePredicate"),t.PrecedencePredicate=s,t.NONE=new e})(Xa||(Xa={}));var Ja,Za=(V=new WeakMap,X=new WeakMap,W=class t{get semanticContext(){return ea(this,X)}constructor(t,e,s,a){(0,js.Z)(this,"state",void 0),(0,js.Z)(this,"alt",void 0),(0,js.Z)(this,"reachesIntoOuterContext",!1),(0,js.Z)(this,"precedenceFilterSuppressed",!1),(0,js.Z)(this,"cachedHashCode",void 0),r(this,V,{writable:!0,value:null}),r(this,X,{writable:!0,value:void 0}),this.state=e,this.alt=t.alt,this.context=s,$s(this,X,null!==a&&void 0!==a?a:Xa.NONE),this.reachesIntoOuterContext=t.reachesIntoOuterContext,void 0!==t.precedenceFilterSuppressed&&(this.precedenceFilterSuppressed=t.precedenceFilterSuppressed)}static duplicate(e,s){return new t(e,e.state,e.context,null!==s&&void 0!==s?s:e.semanticContext)}static createWithContext(e,s,a,r){return new t({alt:s},e,a,r)}static createWithConfig(e,s,a){return new t(s,e,null!==a&&void 0!==a?a:s.context,s.semanticContext)}static createWithSemanticContext(e,s,a){return new t(s,null!==e&&void 0!==e?e:s.state,s.context,a)}hashCode(){if(void 0===this.cachedHashCode){let t=Aa.initialize(7);t=Aa.update(t,this.state.stateNumber),t=Aa.update(t,this.alt),t=Aa.updateFromComparable(t,ea(this,V)),t=Aa.updateFromComparable(t,this.semanticContext),t=Aa.finish(t,4),this.cachedHashCode=t}return this.cachedHashCode}get context(){return ea(this,V)}set context(t){$s(this,V,t),this.cachedHashCode=void 0}equals(t){return this===t||this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(null===this.context?null===t.context:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed}toString(t){let e="";return(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e=","+this.alt),"("+this.state+e+(null!==this.context?",["+this.context.toString()+"]":"")+(this.semanticContext!==Xa.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext?",up="+this.reachesIntoOuterContext:"")+")"}},Ea(W,"ATNConfig"),W),qa=(Q=new WeakMap,K=class t{constructor(){r(this,Q,{writable:!0,value:void 0})}getDecisionLookahead(e){if(!e)return;const s=e.transitions.length,a=new Array(s);for(let r=0;r0&&!s.contains(t.hitPredicate)&&(a[r]=s)}return a}look(t,e,s,a){$s(this,Q,t);const r=new Sa,i=a?va(t,a):null;return this.doLook(e,s,i,r,new Ha,new Wa,!0,!0),r}doLook(e,s,a,r,i,c,n,h){const E=Za.createWithContext(e,0,a);if(!i.get(E)){if(i.add(E),e===s){if(!a)return void r.addOne(ca.EPSILON);if(a.isEmpty()&&h)return void r.addOne(ca.EOF)}if(e.constructor.stateType===Va.RULE_STOP){if(!a)return void r.addOne(ca.EPSILON);if(a.isEmpty()&&h)return void r.addOne(ca.EOF);if(a!==ua.EMPTY){const t=c.get(e.ruleIndex);try{c.clear(e.ruleIndex);for(let t=0;t=this.states.length)throw new Error("Invalid state number.");const s=this.states[t];let a=this.nextTokens(s);if(!a.contains(ca.EPSILON))return a;let r=e;const i=new Sa;for(i.addSet(a),i.removeOne(ca.EPSILON);null!==r&&r.invokingState>=0&&a.contains(ca.EPSILON);){const t=this.states[r.invokingState].transitions[0];a=this.nextTokens(t.followState),i.addSet(a),i.removeOne(ca.EPSILON),r=r.parent}return a.contains(ca.EPSILON)&&i.addOne(ca.EOF),i}},Ea(J,"ATN"),(0,js.Z)(J,"INVALID_ALT_NUMBER",0),(0,js.Z)(J,"LEXER",0),(0,js.Z)(J,"PARSER",1),Z={writable:!0,value:new qa},J),za=(q=class{hashCode(t){let e=7;return e=31*e+t.state.stateNumber,e=31*e+t.alt,e=31*e+t.semanticContext.hashCode(),e}equals(t,e){return t===e||t.state.stateNumber===e.state.stateNumber&&t.alt===e.alt&&t.semanticContext.equals(e.semanticContext)}},Ea(q,"KeyTypeEqualityComparer"),(0,js.Z)(q,"instance",new q),q),$a=(z=new WeakMap,j=class{constructor(t){if((0,js.Z)(this,"configLookup",new Ha(za.instance)),(0,js.Z)(this,"configs",[]),(0,js.Z)(this,"uniqueAlt",0),(0,js.Z)(this,"hasSemanticContext",!1),(0,js.Z)(this,"dipsIntoOuterContext",!1),(0,js.Z)(this,"fullCtx",!1),(0,js.Z)(this,"readOnly",!1),(0,js.Z)(this,"conflictingAlts",null),(0,js.Z)(this,"firstStopState",void 0),r(this,z,{writable:!0,value:-1}),void 0!==t)if("boolean"===typeof t)this.fullCtx=null===t||void 0===t||t;else{const e=t;this.addAll(e.configs),this.uniqueAlt=e.uniqueAlt,this.conflictingAlts=e.conflictingAlts,this.hasSemanticContext=e.hasSemanticContext,this.dipsIntoOuterContext=e.dipsIntoOuterContext}}[Symbol.iterator](){return this.configs[Symbol.iterator]()}add(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.readOnly)throw new Error("This set is readonly");this.firstStopState||t.state.constructor.stateType!==Va.RULE_STOP||(this.firstStopState=t),this.hasSemanticContext||(this.hasSemanticContext=t.semanticContext!==Xa.NONE),this.dipsIntoOuterContext||(this.dipsIntoOuterContext=t.reachesIntoOuterContext);const s=this.configLookup.getOrAdd(t);if(s===t)return $s(this,z,-1),void this.configs.push(t);const a=!this.fullCtx,r=ya(s.context,t.context,a,e);s.reachesIntoOuterContext||(s.reachesIntoOuterContext=t.reachesIntoOuterContext),s.precedenceFilterSuppressed||(s.precedenceFilterSuppressed=t.precedenceFilterSuppressed),s.context=r}get elements(){return this.configs}getAlts(){const t=new Wa;for(const e of this.configs)t.set(e.alt);return t}getPredicates(){const t=[];for(const e of this.configs)e.semanticContext!==Xa.NONE&&t.push(e.semanticContext);return t}getStates(){const t=new Ha;for(const e of this.configs)t.add(e.state);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(0!==this.configLookup.size)for(const e of this.configs)e.context=t.getCachedContext(e.context)}addAll(t){for(const e of t)this.add(e);return!1}equals(t){return this===t||!(this.fullCtx!==t.fullCtx||this.uniqueAlt!==t.uniqueAlt||this.conflictingAlts!==t.conflictingAlts||this.hasSemanticContext!==t.hasSemanticContext||this.dipsIntoOuterContext!==t.dipsIntoOuterContext||!Ca(this.configs,t.configs))}hashCode(){return-1===ea(this,z)&&$s(this,z,this.computeHashCode()),ea(this,z)}get length(){return this.configs.length}isEmpty(){return 0===this.configs.length}contains(t){if(null===this.configLookup)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.contains(t)}containsFast(t){if(null===this.configLookup)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.contains(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],$s(this,z,-1),this.configLookup=new Ha(za.instance)}setReadonly(t){this.readOnly=t,t&&(this.configLookup=null)}toString(){return La(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==ja.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(null!==this.conflictingAlts?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}computeHashCode(){let t=Aa.initialize();return this.configs.forEach((e=>{t=Aa.update(t,e.hashCode())})),t=Aa.finish(t,this.configs.length),t}},Ea(j,"ATNConfigSet"),j),tr=(Ea($=class extends Va{},"BasicState"),(0,js.Z)($,"stateType",Va.BASIC),$),er=(Ea(tt=class extends Va{constructor(){super(...arguments),(0,js.Z)(this,"decision",-1),(0,js.Z)(this,"nonGreedy",!1)}},"DecisionState"),tt),sr=(Ea(et=class extends er{constructor(){super(...arguments),(0,js.Z)(this,"endState",void 0)}},"BlockStartState"),et),ar=(Ea(st=class extends Va{constructor(){super(...arguments),(0,js.Z)(this,"startState",void 0)}},"BlockEndState"),(0,js.Z)(st,"stateType",Va.BLOCK_END),st),rr=(Ea(at=class extends Va{constructor(){super(...arguments),(0,js.Z)(this,"loopBackState",void 0)}},"LoopEndState"),(0,js.Z)(at,"stateType",Va.LOOP_END),at),ir=(Ea(rt=class extends Va{constructor(){super(...arguments),(0,js.Z)(this,"stopState",void 0),(0,js.Z)(this,"isLeftRecursiveRule",!1),(0,js.Z)(this,"isPrecedenceRule",!1)}},"RuleStartState"),(0,js.Z)(rt,"stateType",Va.RULE_START),rt),cr=(Ea(it=class extends Va{},"RuleStopState"),(0,js.Z)(it,"stateType",Va.RULE_STOP),it),nr=(Ea(ct=class extends er{},"TokensStartState"),(0,js.Z)(ct,"stateType",Va.TOKEN_START),ct),hr=(Ea(nt=class extends er{},"PlusLoopbackState"),(0,js.Z)(nt,"stateType",Va.PLUS_LOOP_BACK),nt),Er=(Ea(ht=class extends Va{},"StarLoopbackState"),(0,js.Z)(ht,"stateType",Va.STAR_LOOP_BACK),ht),Tr=(Ea(Et=class extends er{constructor(){super(...arguments),(0,js.Z)(this,"loopBackState",void 0),(0,js.Z)(this,"precedenceRuleDecision",!1)}},"StarLoopEntryState"),(0,js.Z)(Et,"stateType",Va.STAR_LOOP_ENTRY),Et),or=(Ea(Tt=class extends sr{constructor(){super(...arguments),(0,js.Z)(this,"loopBackState",void 0)}},"PlusBlockStartState"),(0,js.Z)(Tt,"stateType",Va.PLUS_BLOCK_START),Tt),Rr=(Ea(ot=class extends sr{},"StarBlockStartState"),(0,js.Z)(ot,"stateType",Va.STAR_BLOCK_START),ot),Ar=(Ea(Rt=class extends sr{},"BasicBlockStartState"),(0,js.Z)(Rt,"stateType",Va.BLOCK_START),Rt),Sr=(St=new WeakMap,Ea(At=class extends la{constructor(t,e){super(t),(0,js.Z)(this,"labelValue",void 0),r(this,St,{writable:!0,value:void 0}),this.labelValue=e,$s(this,St,Sa.of(e,e))}get label(){return ea(this,St)}get transitionType(){return la.ATOM}matches(t){return this.labelValue===t}toString(){return this.labelValue.toString()}},"AtomTransition"),At),lr=(Ea(lt=class extends la{constructor(t,e,s,a){super(t),(0,js.Z)(this,"ruleIndex",void 0),(0,js.Z)(this,"precedence",void 0),(0,js.Z)(this,"followState",void 0),this.ruleIndex=e,this.precedence=s,this.followState=a}get isEpsilon(){return!0}get transitionType(){return la.RULE}matches(t,e,s){return!1}},"RuleTransition"),lt),Or=(It=new WeakMap,Ea(Ot=class extends la{constructor(t,e,s){super(t),(0,js.Z)(this,"start",void 0),(0,js.Z)(this,"stop",void 0),r(this,It,{writable:!0,value:new Sa}),this.start=e,this.stop=s,ea(this,It).addRange(e,s)}get label(){return ea(this,It)}get transitionType(){return la.RANGE}matches(t,e,s){return t>=this.start&&t<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},"RangeTransition"),Ot),Ir=(Ea(ut=class extends la{constructor(t,e,s,a){super(t),(0,js.Z)(this,"ruleIndex",void 0),(0,js.Z)(this,"actionIndex",void 0),(0,js.Z)(this,"isCtxDependent",void 0),this.ruleIndex=e,this.actionIndex=void 0===s?-1:s,this.isCtxDependent=void 0!==a&&a}get isEpsilon(){return!0}get transitionType(){return la.ACTION}matches(t,e,s){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},"ActionTransition"),ut),ur=(Lt=new WeakMap,Ea(Nt=class extends la{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;super(t),r(this,Lt,{writable:!0,value:void 0}),$s(this,Lt,e)}get outermostPrecedenceReturn(){return ea(this,Lt)}get isEpsilon(){return!0}get transitionType(){return la.EPSILON}matches(){return!1}toString(){return"epsilon"}},"EpsilonTransition"),Nt),Nr=(Ea(Ct=class extends la{get transitionType(){return la.WILDCARD}matches(t,e,s){return t>=e&&t<=s}toString(){return"."}},"WildcardTransition"),Ct),Lr=(Ea(_t=class extends la{constructor(t){super(t)}},"AbstractPredicateTransition"),_t),Cr=(Ea(Pt=class extends Lr{constructor(t,e,s,a){super(t),(0,js.Z)(this,"ruleIndex",void 0),(0,js.Z)(this,"predIndex",void 0),(0,js.Z)(this,"isCtxDependent",void 0),this.ruleIndex=e,this.predIndex=s,this.isCtxDependent=a}get isEpsilon(){return!0}matches(t,e,s){return!1}get transitionType(){return la.PREDICATE}getPredicate(){return new Xa.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},"PredicateTransition"),Pt),_r=(Ea(Mt=class extends Lr{constructor(t,e){super(t),(0,js.Z)(this,"precedence",void 0),this.precedence=e}get isEpsilon(){return!0}matches(t,e,s){return!1}getPredicate(){return new Xa.PrecedencePredicate(this.precedence)}get transitionType(){return la.PRECEDENCE}toString(){return this.precedence+" >= _p"}},"PrecedencePredicateTransition"),Mt),Pr=0,Mr=1,dr=2,Ur=3,mr=4,Dr=5,pr=6,gr=7,xr=(Ea(dt=class{constructor(){(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),this.actionType=pr}equals(t){return t===this}hashCode(){return pr}execute(t){t.skip()}toString(){return"skip"}},"LexerSkipAction"),(0,js.Z)(dt,"instance",new dt),dt),kr=(mt=new WeakMap,Ea(Ut=class t{constructor(t){(0,js.Z)(this,"channel",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),r(this,mt,{writable:!0,value:void 0}),this.actionType=Pr,this.channel=t}execute(t){t.channel=this.channel}hashCode(){if(void 0===ea(this,mt)){let t=Aa.initialize();t=Aa.update(t,this.actionType),t=Aa.update(t,this.channel),$s(this,mt,Aa.finish(t,2))}return ea(this,mt)}equals(e){return this===e||e instanceof t&&this.channel===e.channel}toString(){return"channel("+this.channel+")"}},"LexerChannelAction"),Ut),Hr=(pt=new WeakMap,Ea(Dt=class t{constructor(t,e){(0,js.Z)(this,"ruleIndex",void 0),(0,js.Z)(this,"actionIndex",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!0),r(this,pt,{writable:!0,value:void 0}),this.actionType=Mr,this.ruleIndex=t,this.actionIndex=e}execute(t){t.action(null,this.ruleIndex,this.actionIndex)}hashCode(){if(void 0===ea(this,pt)){let t=Aa.initialize();t=Aa.update(t,this.actionType),t=Aa.update(t,this.ruleIndex),t=Aa.update(t,this.actionIndex),$s(this,pt,Aa.finish(t,3))}return ea(this,pt)}equals(e){return this===e||e instanceof t&&(this.ruleIndex===e.ruleIndex&&this.actionIndex===e.actionIndex)}},"LexerCustomAction"),Dt),Gr=(Ea(gt=class{constructor(){(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),this.actionType=Ur}equals(t){return t===this}hashCode(){return Ur}execute(t){t.more()}toString(){return"more"}},"LexerMoreAction"),(0,js.Z)(gt,"instance",new gt),gt),Fr=(kt=new WeakMap,Ea(xt=class t{constructor(t){(0,js.Z)(this,"type",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),r(this,kt,{writable:!0,value:void 0}),this.actionType=gr,this.type=t}execute(t){t.type=this.type}hashCode(){if(void 0===ea(this,kt)){let t=Aa.initialize();t=Aa.update(t,this.actionType),t=Aa.update(t,this.type),$s(this,kt,Aa.finish(t,2))}return ea(this,kt)}equals(e){return this===e||e instanceof t&&this.type===e.type}toString(){return"type("+this.type+")"}},"LexerTypeAction"),xt),vr=(Gt=new WeakMap,Ea(Ht=class t{constructor(t){(0,js.Z)(this,"mode",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),r(this,Gt,{writable:!0,value:void 0}),this.actionType=Dr,this.mode=t}execute(t){t.pushMode(this.mode)}hashCode(){if(void 0===ea(this,Gt)){let t=Aa.initialize();t=Aa.update(t,this.actionType),t=Aa.update(t,this.mode),$s(this,Gt,Aa.finish(t,2))}return ea(this,Gt)}equals(e){return this===e||e instanceof t&&this.mode===e.mode}toString(){return"pushMode("+this.mode+")"}},"LexerPushModeAction"),Ht),Br=(Ea(Ft=class{constructor(){(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),this.actionType=mr}equals(t){return t===this}hashCode(){return mr}execute(t){t.popMode()}toString(){return"popMode"}},"LexerPopModeAction"),(0,js.Z)(Ft,"instance",new Ft),Ft),yr=(Bt=new WeakMap,Ea(vt=class t{constructor(t){(0,js.Z)(this,"mode",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),r(this,Bt,{writable:!0,value:void 0}),this.actionType=dr,this.mode=t}execute(t){t.mode=this.mode}hashCode(){if(void 0===ea(this,Bt)){let t=Aa.initialize();t=Aa.update(t,this.actionType),t=Aa.update(t,this.mode),$s(this,Bt,Aa.finish(t,2))}return ea(this,Bt)}equals(e){return this===e||e instanceof t&&this.mode===e.mode}toString(){return"mode("+this.mode+")"}},"LexerModeAction"),vt),fr=(yt=class t{constructor(t){(0,js.Z)(this,"data",[]),(0,js.Z)(this,"pos",0),(0,js.Z)(this,"deserializationOptions",void 0),(0,js.Z)(this,"actionFactories",void 0),t||(t={readOnly:!1,verifyATN:!0,generateRuleBypassTransitions:!1}),this.deserializationOptions=t}deserialize(t){this.data=t,this.checkVersion();const e=this.readATN();this.readStates(e),this.readRules(e),this.readModes(e);const s=[];return this.readSets(e,s),this.readEdges(e,s),this.readDecisions(e),this.readLexerActions(e),this.markPrecedenceDecisions(e),this.verifyATN(e),this.deserializationOptions.generateRuleBypassTransitions&&e.grammarType===ja.PARSER&&(this.generateRuleBypassTransitions(e),this.verifyATN(e)),e}checkVersion(){const e=this.data[this.pos++];if(e!==t.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+e+" (expected "+t.SERIALIZED_VERSION+").")}readATN(){const t=this.data[this.pos++],e=this.data[this.pos++];return new ja(t,e)}readStates(t){let e,s;const a=[],r=[],i=this.data[this.pos++];for(let E=0;E0;)r.addTransition(h.transitions[E-1]),h.transitions=h.transitions.slice(-1);t.ruleToStartState[e].addTransition(new ur(r)),n&&i.addTransition(new ur(n));const T=new tr;t.addState(T),T.addTransition(new Sr(i,t.ruleToTokenType[e])),r.addTransition(new ur(T))}stateIsEndStateFor(t,e){if(t.ruleIndex!==e)return null;if(!(t instanceof Tr))return null;const s=t.transitions[t.transitions.length-1].target;return s instanceof rr&&s.epsilonOnlyTransitions&&s.transitions[0].target instanceof cr?t:null}markPrecedenceDecisions(t){for(const e of t.states)if(e instanceof Tr&&t.ruleToStartState[e.ruleIndex].isPrecedenceRule){const t=e.transitions[e.transitions.length-1].target;t instanceof rr&&t.epsilonOnlyTransitions&&t.transitions[0].target instanceof cr&&(e.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN)for(const e of t.states)if(null!==e)if(this.checkCondition(e.epsilonOnlyTransitions||e.transitions.length<=1),e instanceof or)this.checkCondition(null!==e.loopBackState);else if(e instanceof Tr)if(this.checkCondition(null!==e.loopBackState),this.checkCondition(2===e.transitions.length),e.transitions[0].target instanceof Rr)this.checkCondition(e.transitions[1].target instanceof rr),this.checkCondition(!e.nonGreedy);else{if(!(e.transitions[0].target instanceof rr))throw new Error("IllegalState");this.checkCondition(e.transitions[1].target instanceof Rr),this.checkCondition(e.nonGreedy)}else e instanceof Er?(this.checkCondition(1===e.transitions.length),this.checkCondition(e.transitions[0].target instanceof Tr)):e instanceof rr?this.checkCondition(null!==e.loopBackState):e instanceof ir?this.checkCondition(null!==e.stopState):e instanceof sr?this.checkCondition(null!==e.endState):e instanceof ar?this.checkCondition(null!==e.startState):e instanceof er?this.checkCondition(e.transitions.length<=1||e.decision>=0):this.checkCondition(e.transitions.length<=1||e instanceof cr)}checkCondition(t,e){if(!t)throw void 0!==e&&null!==e||(e="IllegalState"),e}edgeFactory(t,e,s,a,r,i,c){const n=t.states[s];switch(e){case la.EPSILON:return new ur(n);case la.RANGE:return new Or(n,0!==i?ca.EOF:a,r);case la.RULE:return new lr(t.states[a],r,i,n);case la.PREDICATE:return new Cr(n,a,r,0!==i);case la.PRECEDENCE:return new _r(n,a);case la.ATOM:return new Sr(n,0!==i?ca.EOF:a);case la.ACTION:return new Ir(n,a,r,0!==i);case la.SET:return new Oa(n,c[a]);case la.NOT_SET:return new Ia(n,c[a]);case la.WILDCARD:return new Nr(n);default:throw new Error("The specified transition type: "+e+" is not valid.")}}stateFactory(e,s){const a=t.stateTypeMapper.get(e);if(!a)throw new Error("The specified state type "+e+" is not valid.");const r=new a;return r.ruleIndex=s,r}lexerActionFactory(e,s,a){const r=t.lexerActionFactoryMapper.get(e);if(!r)throw new Error("The specified lexer action type "+e+" is not valid.");return r(s,a)}},Ea(yt,"ATNDeserializer"),(0,js.Z)(yt,"SERIALIZED_VERSION",4),(0,js.Z)(yt,"stateTypeMapper",new Map([[Va.INVALID_TYPE,void 0],[Va.BASIC,tr],[Va.RULE_START,ir],[Va.BLOCK_START,Ar],[Va.PLUS_BLOCK_START,or],[Va.STAR_BLOCK_START,Rr],[Va.TOKEN_START,nr],[Va.RULE_STOP,cr],[Va.BLOCK_END,ar],[Va.STAR_LOOP_BACK,Er],[Va.STAR_LOOP_ENTRY,Tr],[Va.PLUS_LOOP_BACK,hr],[Va.LOOP_END,rr]])),(0,js.Z)(yt,"lexerActionFactoryMapper",new Map([[Pr,t=>new kr(t)],[Mr,(t,e)=>new Hr(t,e)],[dr,t=>new yr(t)],[Ur,()=>Gr.instance],[mr,()=>Br.instance],[Dr,t=>new vr(t)],[pr,()=>xr.instance],[gr,t=>new Fr(t)]])),yt),Yr=(Yt=new WeakMap,Ea(ft=class t extends Fa{constructor(){super(...arguments),r(this,Yt,{writable:!0,value:[]})}clear(){super.clear(),$s(this,Yt,[])}get(t){return super.get(t)}set(t,e){const s=super.set(t,e);return void 0===s&&ea(this,Yt).push(t),s}setIfAbsent(t,e){const s=super.setIfAbsent(t,e);return void 0===s&&ea(this,Yt).push(t),s}values(){return{[Symbol.iterator]:()=>{let t=0;return{next:()=>t0)for(const e of this.atn.modeToStartState)this.data.push(e.stateNumber)}addRuleStatesAndLexerTokenTypes(){const t=this.atn.ruleToStartState.length;this.data.push(t);for(let e=0;e",this.predicates?t+=La(this.predicates):t+=this.prediction),t.toString()}},Ea(bt,"DFAState"),bt),br=(Ea(Wt=class{constructor(t,e){return(0,js.Z)(this,"atn",void 0),(0,js.Z)(this,"sharedContextCache",void 0),this.atn=t,this.sharedContextCache=e,this}getCachedContext(t){if(!this.sharedContextCache)return t;const e=new Fa(xa.instance);return Ba(t,this.sharedContextCache,e)}},"ATNSimulator"),(0,js.Z)(Wt,"ERROR",wr.fromState(2147483647)),Wt),Wr=(Ea(Vt=class t{static createWithCodePoint(e,s){return t.createWithCodePointRange(e,s,s)}static createWithCodePointRange(t,e,s){return e===s?new Sr(t,e):new Or(t,e,s)}},"CodePointTransitions"),Ea(Xt=class{constructor(t){(0,js.Z)(this,"decision",0),(0,js.Z)(this,"invocations",0),(0,js.Z)(this,"timeInPrediction",0),(0,js.Z)(this,"sllTotalLook",0),(0,js.Z)(this,"sllMinLook",0),(0,js.Z)(this,"sllMaxLook",0),(0,js.Z)(this,"sllMaxLookEvent",void 0),(0,js.Z)(this,"llTotalLook",0),(0,js.Z)(this,"llMinLook",0),(0,js.Z)(this,"llMaxLook",0),(0,js.Z)(this,"llMaxLookEvent",void 0),(0,js.Z)(this,"contextSensitivities",void 0),(0,js.Z)(this,"errors",void 0),(0,js.Z)(this,"ambiguities",void 0),(0,js.Z)(this,"predicateEvals",void 0),(0,js.Z)(this,"sllATNTransitions",0),(0,js.Z)(this,"sllDFATransitions",0),(0,js.Z)(this,"llFallback",0),(0,js.Z)(this,"llATNTransitions",0),(0,js.Z)(this,"llDFATransitions",0),this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString1(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", sllLookahead="+this.sllTotalLook+", sllATNTransitions="+this.sllATNTransitions+", sllDFATransitions="+this.sllDFATransitions+", llFallback="+this.llFallback+", llLookahead="+this.llTotalLook+", llATNTransitions="+this.llATNTransitions+"}"}},"DecisionInfo"),Xt),Vr=(Ea(Kt=class t extends Za{constructor(e,s,a,r){var i;return super(e,s,null!==a&&void 0!==a?a:e.context,a?Xa.NONE:e.semanticContext),(0,js.Z)(this,"lexerActionExecutor",void 0),(0,js.Z)(this,"passedThroughNonGreedyDecision",void 0),this.lexerActionExecutor=a?r:null!==(i=e.lexerActionExecutor)&&void 0!==i?i:null,this.passedThroughNonGreedyDecision=t.checkNonGreedyDecision(e,this.state),this}static createWithExecutor(e,s,a){return new t(e,s,e.context,a)}static createWithConfig(e,s,a){return new t(s,e,null!==a&&void 0!==a?a:null,s.lexerActionExecutor)}static createWithContext(e,s,a){return new t({alt:s},e,a,null)}static checkNonGreedyDecision(t,e){return t.passedThroughNonGreedyDecision||"nonGreedy"in e&&e.nonGreedy}hashCode(){if(void 0===this.cachedHashCode){let t=Aa.initialize(7);t=Aa.update(t,this.state.stateNumber),t=Aa.update(t,this.alt),t=Aa.updateFromComparable(t,this.context),t=Aa.updateFromComparable(t,this.semanticContext),t=Aa.update(t,this.passedThroughNonGreedyDecision?1:0),t=Aa.updateFromComparable(t,this.lexerActionExecutor),t=Aa.finish(t,6),this.cachedHashCode=t}return this.cachedHashCode}equals(t){return this===t||this.passedThroughNonGreedyDecision===t.passedThroughNonGreedyDecision&&(this.lexerActionExecutor&&t.lexerActionExecutor?this.lexerActionExecutor.equals(t.lexerActionExecutor):!t.lexerActionExecutor)&&super.equals(t)}},"LexerATNConfig"),Kt),Xr=(Ea(Qt=class{syntaxError(t,e,s,a,r,i){}reportAmbiguity(t,e,s,a,r,i,c){}reportAttemptingFullContext(t,e,s,a,r,i){}reportContextSensitivity(t,e,s,a,r,i){}},"BaseErrorListener"),Qt),Kr=(Ea(Jt=class extends Xr{syntaxError(t,e,s,a,r,i){console.error("line "+s+":"+a+" "+r)}},"ConsoleErrorListener"),(0,js.Z)(Jt,"instance",new Jt),Jt),Qr=(Zt=class extends Xr{constructor(t){return super(),this.delegates=t,this}syntaxError(t,e,s,a,r,i){this.delegates.forEach((c=>{c.syntaxError(t,e,s,a,r,i)}))}reportAmbiguity(t,e,s,a,r,i,c){this.delegates.forEach((n=>{n.reportAmbiguity(t,e,s,a,r,i,c)}))}reportAttemptingFullContext(t,e,s,a,r,i){this.delegates.forEach((c=>{c.reportAttemptingFullContext(t,e,s,a,r,i)}))}reportContextSensitivity(t,e,s,a,r,i){this.delegates.forEach((c=>{c.reportContextSensitivity(t,e,s,a,r,i)}))}},Ea(Zt,"ProxyErrorListener"),Zt),Jr=(jt=new WeakMap,zt=new WeakMap,qt=class t{constructor(){(0,js.Z)(this,"interpreter",void 0),r(this,jt,{writable:!0,value:[Kr.instance]}),r(this,zt,{writable:!0,value:-1})}checkVersion(t){const e="4.13.1";e!==t&&console.error("ANTLR runtime and generated code versions disagree: "+e+"!="+t)}addErrorListener(t){ea(this,jt).push(t)}removeErrorListeners(){$s(this,jt,[])}removeErrorListener(t){for(let e=0;es.set(t,e))),t.ruleIndexMapCache.set(e,s)),s}getTokenType(t){const e=this.getTokenTypeMap().get(t);return e||ca.INVALID_TYPE}getErrorHeader(t){var e,s;return"line "+(null===(e=t.offendingToken)||void 0===e?void 0:e.line)+":"+(null===(s=t.offendingToken)||void 0===s?void 0:s.column)}get errorListenerDispatch(){return new Qr(ea(this,jt))}sempred(t,e,s){return!0}precpred(t,e){return!0}action(t,e,s){}get atn(){return this.interpreter.atn}get state(){return ea(this,zt)}set state(t){$s(this,zt,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},Ea(qt,"Recognizer"),(0,js.Z)(qt,"EOF",-1),(0,js.Z)(qt,"tokenTypeMapCache",new Map),(0,js.Z)(qt,"ruleIndexMapCache",new Map),qt),Zr=(te=new WeakMap,$t=class t{constructor(t){var e,s,a,i,c,n;(0,js.Z)(this,"source",void 0),(0,js.Z)(this,"tokenIndex",void 0),(0,js.Z)(this,"start",void 0),(0,js.Z)(this,"stop",void 0),(0,js.Z)(this,"type",void 0),(0,js.Z)(this,"line",void 0),(0,js.Z)(this,"column",void 0),(0,js.Z)(this,"channel",void 0),r(this,te,{writable:!0,value:void 0}),this.type=t.type,this.source=t.source,this.tokenIndex=null!==(e=t.tokenIndex)&&void 0!==e?e:-1,this.line=null!==(s=t.line)&&void 0!==s?s:0,this.column=null!==(a=t.column)&&void 0!==a?a:-1,this.channel=null!==(i=t.channel)&&void 0!==i?i:ca.DEFAULT_CHANNEL,this.start=null!==(c=t.start)&&void 0!==c?c:0,this.stop=null!==(n=t.stop)&&void 0!==n?n:0,$s(this,te,t.text),null!==t.source[0]&&(this.line=t.source[0].line,this.column=t.source[0].column)}static fromToken(e){let s;return s="source"in e?e.source:[e.tokenSource,e.inputStream],new t({type:e.type,line:e.line,tokenIndex:e.tokenIndex,column:e.column,channel:e.channel,start:e.start,stop:e.stop,text:e.text,source:s})}static fromType(e,s){return new t({type:e,text:s,source:t.EMPTY_SOURCE})}static fromSource(e,s,a,r,i){return new t({type:s,channel:a,start:r,stop:i,source:e})}get tokenSource(){return this.source[0]}get inputStream(){return this.source[1]}clone(){return new t({source:this.source,type:this.type,channel:this.channel,start:this.start,stop:this.stop,tokenIndex:this.tokenIndex,line:this.line,column:this.column,text:ea(this,te)})}toString(t){let e="";this.channel>0&&(e=",channel="+this.channel);let s=this.text;s?(s=s.replace(/\n/g,"\\n"),s=s.replace(/\r/g,"\\r"),s=s.replace(/\t/g,"\\t")):s="";let a=String(this.type);var r;t&&(a=null!==(r=t.vocabulary.getDisplayName(this.type))&&void 0!==r?r:"");return"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+s+"',<"+a+">"+e+","+this.line+":"+this.column+"]"}get text(){if(ea(this,te))return ea(this,te);const t=this.inputStream;if(!t)return;const e=t.size;return this.start"}set text(t){$s(this,te,t)}setText(t){$s(this,te,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},Ea($t,"CommonToken"),(0,js.Z)($t,"EMPTY_SOURCE",[null,null]),$t),qr=(Ea(ee=class{constructor(t){(0,js.Z)(this,"copyText",!1),this.copyText=null!==t&&void 0!==t&&t}create(t,e,s,a,r,i,c,n){const h=Zr.fromSource(t,e,a,r,i);return h.line=c,h.column=n,s?h.text=s:this.copyText&&null!==t[1]&&(h.text=t[1].getTextFromRange(r,i)),h}},"CommonTokenFactory"),(0,js.Z)(ee,"DEFAULT",new ee),ee),jr=(se=class t extends Error{constructor(e){super(e.message),(0,js.Z)(this,"ctx",void 0),(0,js.Z)(this,"offendingToken",null),(0,js.Z)(this,"offendingState",-1),(0,js.Z)(this,"recognizer",void 0),(0,js.Z)(this,"input",void 0),Error.captureStackTrace&&Error.captureStackTrace(this,t),this.message=e.message,this.recognizer=e.recognizer,this.input=e.input,this.ctx=e.ctx,null!==this.recognizer&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return null!==this.recognizer&&null!==this.ctx?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},Ea(se,"RecognitionException"),se),zr=(Ea(ae=class extends jr{constructor(t,e,s,a){super({message:"",recognizer:t,input:e,ctx:null}),(0,js.Z)(this,"startIndex",void 0),(0,js.Z)(this,"deadEndConfigs",void 0),this.startIndex=s,this.deadEndConfigs=a}toString(){let t="";return this.input&&this.startIndex>=0&&this.startIndex0&&void 0!==arguments[0])||arguments[0])&&ea(this,ie).seek(0),$s(this,ce,null),this.type=ca.INVALID_TYPE,this.channel=ca.DEFAULT_CHANNEL,this.tokenStartCharIndex=-1,this.currentTokenColumn=-1,this.currentTokenStartLine=-1,$s(this,Ee,void 0),$s(this,ne,!1),this.mode=t.DEFAULT_MODE,$s(this,he,[]),this.interpreter.reset()}nextToken(){if(null===ea(this,ie))throw new Error("nextToken requires a non-null input stream.");const e=ea(this,ie).mark();try{for(;;){if(ea(this,ne))return this.emitEOF(),ea(this,ce);$s(this,ce,null),this.channel=ca.DEFAULT_CHANNEL,this.tokenStartCharIndex=ea(this,ie).index,this.currentTokenColumn=this.interpreter.column,this.currentTokenStartLine=this.interpreter.line,$s(this,Ee,void 0);let e=!1;for(;;){this.type=ca.INVALID_TYPE;let a=t.SKIP;try{a=this.interpreter.match(ea(this,ie),this.mode)}catch(s){if(!(s instanceof zr))throw s;this.notifyListeners(s),this.recover(s)}if(ea(this,ie).LA(1)===ca.EOF&&$s(this,ne,!0),this.type===ca.INVALID_TYPE&&(this.type=a),this.type===t.SKIP){e=!0;break}if(this.type!==t.MORE)break}if(!e)return null===ea(this,ce)&&this.emit(),ea(this,ce)}}finally{ea(this,ie).release(e)}}skip(){this.type=t.SKIP}more(){this.type=t.MORE}pushMode(t){hi.debug&&console.log("pushMode "+t),ea(this,he).push(this.mode),this.mode=t}popMode(){if(0===ea(this,he).length)throw new Error("Empty Stack");return hi.debug&&console.log("popMode back to "+ea(this,he).slice(0,-1)),this.mode=ea(this,he).pop(),this.mode}get modeStack(){return ea(this,he)}emitToken(t){$s(this,ce,t)}emit(){const t=ea(this,Te).create([this,ea(this,ie)],this.type,ea(this,Ee),this.channel,this.tokenStartCharIndex,this.getCharIndex()-1,this.currentTokenStartLine,this.currentTokenColumn);return this.emitToken(t),t}emitEOF(){const t=ea(this,Te).create([this,ea(this,ie)],ca.EOF,void 0,ca.DEFAULT_CHANNEL,ea(this,ie).index,ea(this,ie).index-1,this.line,this.column);return this.emitToken(t),t}getCharIndex(){return ea(this,ie).index}getAllTokens(){const t=[];let e=this.nextToken();for(;e.type!==ca.EOF;)t.push(e),e=this.nextToken();return t}notifyListeners(t){const e=this.tokenStartCharIndex,s=ea(this,ie).index,a=ea(this,ie).getTextFromRange(e,s),r="token recognition error at: '"+this.getErrorDisplay(a)+"'";this.errorListenerDispatch.syntaxError(this,null,this.currentTokenStartLine,this.currentTokenColumn,r,t)}getErrorDisplay(t){return t}getErrorDisplayForChar(t){return t.charCodeAt(0)===ca.EOF?"":"\n"===t?"\\n":"\t"===t?"\\t":"\r"===t?"\\r":t}getCharErrorDisplay(t){return"'"+this.getErrorDisplayForChar(t)+"'"}recover(t){ea(this,ie).LA(1)!==ca.EOF&&(t instanceof zr?this.interpreter.consume(ea(this,ie)):ea(this,ie).consume())}get inputStream(){return ea(this,ie)}set inputStream(t){this.reset(!1),$s(this,ie,t)}set tokenFactory(t){$s(this,Te,t)}get tokenFactory(){return ea(this,Te)}get sourceName(){return ea(this,ie).getSourceName()}get line(){return this.interpreter.line}set line(t){this.interpreter.line=t}get column(){return this.interpreter.column}set column(t){this.interpreter.column=t}get text(){return ea(this,Ee)?ea(this,Ee):this.interpreter.getText(ea(this,ie))}set text(t){$s(this,Ee,t)}},Ea(re,"Lexer"),(0,js.Z)(re,"DEFAULT_MODE",0),(0,js.Z)(re,"MORE",-2),(0,js.Z)(re,"SKIP",-3),(0,js.Z)(re,"DEFAULT_TOKEN_CHANNEL",ca.DEFAULT_CHANNEL),(0,js.Z)(re,"HIDDEN",ca.HIDDEN_CHANNEL),re),ti=(oe=class t extends Error{constructor(e){super(),Error.captureStackTrace(this,t)}},Ea(oe,"ParseCancellationException"),oe),ei=(Re=class{static parseInterpreterData(t){const e=[],s=[],a=[],r=[],i=[],c=t.split("\n");let n=0,h=c[n++];if("token literal names:"!==h)throw new Error("Unexpected data entry");for(;;){if(h=c[n++],0===h.length)break;r.push("null"===h?null:h)}if(h=c[n++],"token symbolic names:"!==h)throw new Error("Unexpected data entry");for(;;){if(h=c[n++],0===h.length)break;i.push("null"===h?null:h)}if(h=c[n++],"rule names:"!==h)throw new Error("Unexpected data entry");for(;;){if(h=c[n++],0===h.length)break;e.push(h)}if(h=c[n++],"channel names:"===h){for(;;){if(h=c[n++],0===h.length)break;s.push(h)}if(h=c[n++],"mode names:"!==h)throw new Error("Unexpected data entry");for(;;){if(h=c[n++],0===h.length)break;a.push(h)}}if(h=c[n++],"atn:"!==h)throw new Error("Unexpected data entry");h=c[n++];const E=h.split(",");let T;const o=[];for(let R=0;R0?s:void 0,modes:a.length>0?a:void 0}}},Ea(Re,"InterpreterDataReader"),Se=new WeakMap,Ae=class t extends Ha{constructor(){super(...arguments),r(this,Se,{writable:!0,value:[]})}getOrAdd(t){const e=this.size,s=super.getOrAdd(t);return this.size>e&&ea(this,Se).push(t),s}equals(e){return e instanceof t&&super.equals(e)}add(t){return!!super.add(t)&&(ea(this,Se).push(t),!0)}clear(){super.clear(),$s(this,Se,[])}*[Symbol.iterator](){yield*ea(this,Se)}toArray(){return ea(this,Se).slice(0)}},Ea(Ae,"OrderedHashSet"),Ae),si=(Ea(le=class extends $a{constructor(){super(),this.configLookup=new ei}},"OrderedATNConfigSet"),le),ai=(Ie=new WeakMap,Ea(Oe=class t{constructor(t,e){(0,js.Z)(this,"offset",void 0),(0,js.Z)(this,"action",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!0),r(this,Ie,{writable:!0,value:void 0}),this.actionType=e.actionType,this.offset=t,this.action=e}execute(t){this.action.execute(t)}hashCode(){if(void 0===ea(this,Ie)){let t=Aa.initialize();t=Aa.update(t,this.offset),t=Aa.updateFromComparable(t,this.action),$s(this,Ie,Aa.finish(t,2))}return ea(this,Ie)}equals(e){return this===e||e instanceof t&&(this.offset===e.offset&&this.action===e.action)}},"LexerIndexedCustomAction"),Oe),ri=(Ne=new WeakMap,ue=class t{constructor(t){return(0,js.Z)(this,"lexerActions",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),r(this,Ne,{writable:!0,value:void 0}),this.actionType=-1,this.lexerActions=null!==t&&void 0!==t?t:[],this}static append(e,s){if(null===e)return new t([s]);const a=e.lexerActions.concat([s]);return new t(a)}fixOffsetBeforeMatch(e){let s=null;for(let t=0;te.equals(t.lexerActions[s]))))}},Ea(ue,"LexerActionExecutor"),ue),ii=(Le=class{constructor(t,e){(0,js.Z)(this,"dfa",void 0),(0,js.Z)(this,"vocabulary",void 0),this.dfa=t,this.vocabulary=e}toString(){if(!this.dfa.s0)return"";let t="";const e=this.dfa.getStates();for(const s of e){let e=0;e=s.edges.length;for(let a=0;a",t+=this.getStateString(e),t+="\n"}}}return t}getEdgeLabel(t){const e=this.vocabulary.getDisplayName(t-1);return"".concat(e)}getStateString(t){const e=t.stateNumber,s=(t.isAcceptState?":":"")+"s"+e+(t.requiresFullContext?"^":"");return t.isAcceptState?null!==t.predicates?"".concat(s,"=>").concat(t.predicates.toString()):"".concat(s,"=>").concat(t.prediction):"".concat(s)}},Ea(Le,"DFASerializer"),Le),ci=(Ce=class extends ii{constructor(t){super(t,Ra.EMPTY_VOCABULARY),(0,js.Z)(this,"getEdgeLabel",(t=>"'"+String.fromCharCode(t)+"'"))}},Ea(Ce,"LexerDFASerializer"),Ce),ni=(Pe=new WeakMap,_e=class{constructor(t,e){(0,js.Z)(this,"s0",void 0),(0,js.Z)(this,"decision",void 0),(0,js.Z)(this,"atnStartState",void 0),(0,js.Z)(this,"isPrecedenceDfa",void 0),r(this,Pe,{writable:!0,value:new Map}),(0,js.Z)(this,Symbol.iterator,(()=>ea(this,Pe).values()[Symbol.iterator]())),(0,js.Z)(this,"getPrecedenceStartState",(t=>{if(!this.isPrecedenceDfa)throw new Error("Only precedence DFAs may contain a precedence start state.");if(!(!this.s0||!this.s0.edges||t<0||t>=this.s0.edges.length))return this.s0.edges[t]})),(0,js.Z)(this,"setPrecedenceStartState",((t,e)=>{if(!this.isPrecedenceDfa)throw new Error("Only precedence DFAs may contain a precedence start state.");t<0||!this.s0||(this.s0.edges[t]=e)})),this.atnStartState=t,this.decision=null!==e&&void 0!==e?e:0;let s=!1;t instanceof Tr&&t.precedenceRuleDecision&&(s=!0,this.s0=wr.fromState(-1)),this.isPrecedenceDfa=s}getStates(){const t=[...ea(this,Pe).values()];return t.sort(((t,e)=>t.stateNumber-e.stateNumber)),t}getState(t){var e;return null!==(e=ea(this,Pe).get(t.configs.hashCode()))&&void 0!==e?e:null}getStateForConfigs(t){var e;return null!==(e=ea(this,Pe).get(t.hashCode()))&&void 0!==e?e:null}addState(t){const e=t.configs.hashCode();ea(this,Pe).has(e)||(ea(this,Pe).set(e,t),t.stateNumber=ea(this,Pe).size-1)}toString(t){var e;if(!t)return this.toString(Ra.EMPTY_VOCABULARY);if(!this.s0)return"";return null!==(e=new ii(this,t).toString())&&void 0!==e?e:""}toLexerString(){var t;if(!this.s0)return"";return null!==(t=new ci(this).toString())&&void 0!==t?t:""}get length(){return ea(this,Pe).size}},Ea(_e,"DFA"),_e),hi=(de=new WeakMap,Ue=new WeakMap,me=new WeakMap,Me=class t extends br{constructor(t,e,s,a){super(e,a),(0,js.Z)(this,"decisionToDFA",void 0),(0,js.Z)(this,"recognizer",null),(0,js.Z)(this,"startIndex",-1),(0,js.Z)(this,"line",1),(0,js.Z)(this,"column",0),(0,js.Z)(this,"mode",$r.DEFAULT_MODE),r(this,de,{writable:!0,value:void 0}),r(this,Ue,{writable:!0,value:void 0}),r(this,me,{writable:!0,value:void 0}),this.decisionToDFA=s,this.recognizer=t,t&&$s(this,Ue,t.options)}match(t,e){this.mode=e;const s=t.mark();try{this.startIndex=t.index,$s(this,de,void 0);const s=this.decisionToDFA[e];return s.s0?this.execATN(t,s.s0):this.matchATN(t)}finally{t.release(s)}}reset(){$s(this,de,void 0),this.startIndex=-1,this.line=1,this.column=0,this.mode=$r.DEFAULT_MODE}clearDFA(){for(let t=0;t=ea(this,Ue).minDFAEdge&&s<=ea(this,Ue).maxDFAEdge){const a=e.edges[s-ea(this,Ue).minDFAEdge];return t.debug&&a&&console.log("reuse state "+e.stateNumber+" edge to "+a.stateNumber),a}}computeTargetState(t,e,s){const a=new si;return this.getReachableConfigSet(t,e.configs,a,s),0===a.length?(a.hasSemanticContext||this.addDFAEdge(e,s,br.ERROR),br.ERROR):this.addDFAEdge(e,s,null,a)}failOrAccept(t,e,s){var a;if(null!==(a=ea(this,de))&&void 0!==a&&a.dfaState){const{dfaState:e,index:s,line:a,column:r}=ea(this,de);return this.accept(t,e.lexerActionExecutor,this.startIndex,s,a,r),e.prediction}if(s===ca.EOF&&t.index===this.startIndex)return ca.EOF;throw new zr(this.recognizer,t,this.startIndex,e)}getReachableConfigSet(e,s,a,r){let i=ja.INVALID_ALT_NUMBER;for(const c of s){const s=c.alt===i;if(!s||!c.passedThroughNonGreedyDecision){t.debug&&console.log("testing %s at %s\n",this.getTokenName(r),c.toString(this.recognizer,!0));for(const t of c.state.transitions){const n=this.getReachableTarget(t,r);if(n){let t=c.lexerActionExecutor;t&&(t=t.fixOffsetBeforeMatch(e.index-this.startIndex));const h=r===ca.EOF,E=Vr.createWithExecutor(c,n,t);this.closure(e,E,a,s,!0,h)&&(i=c.alt)}}}}}accept(e,s,a,r,i,c){t.debug&&console.log("ACTION %s\n",s),e.seek(r),this.line=i,this.column=c,s&&this.recognizer&&s.execute(this.recognizer,e,a)}getReachableTarget(t,e){return t.matches(e,ea(this,Ue).minCodePoint,ea(this,Ue).maxCodePoint)?t.target:void 0}computeStartState(t,e){const s=ua.EMPTY,a=new si;for(let r=0;r{var a;const r=da.create(null!==(a=e.context)&&void 0!==a?a:void 0,s.followState.stateNumber);return Vr.createWithConfig(s.target,e,r)},ea(this,me)[la.PRECEDENCE]=()=>{throw new Error("Precedence predicates are not supported in lexers.")},ea(this,me)[la.PREDICATE]=(e,s,a,r,i)=>{const c=a;return t.debug&&console.log("EVAL rule "+c.ruleIndex+":"+c.predIndex),r.hasSemanticContext=!0,this.evaluatePredicate(e,c.ruleIndex,c.predIndex,i)?Vr.createWithConfig(a.target,s):null},ea(this,me)[la.ACTION]=(t,e,s)=>{if(null===e.context||e.context.hasEmptyPath()){const t=ri.append(e.lexerActionExecutor,this.atn.lexerActions[s.actionIndex]);return Vr.createWithExecutor(e,s.target,t)}return Vr.createWithConfig(s.target,e)},ea(this,me)[la.EPSILON]=(t,e,s)=>Vr.createWithConfig(s.target,e);const e=Ea(((t,e,s,a,r,i)=>i&&s.matches(ca.EOF,ea(this,Ue).minCodePoint,ea(this,Ue).maxCodePoint)?Vr.createWithConfig(s.target,e):null),"simple");ea(this,me)[la.ATOM]=e,ea(this,me)[la.RANGE]=e,ea(this,me)[la.SET]=e}evaluatePredicate(t,e,s,a){if(!this.recognizer)return!0;if(!a)return this.recognizer.sempred(null,e,s);const r=this.column,i=this.line,c=t.index,n=t.mark();try{return this.consume(t),this.recognizer.sempred(null,e,s)}finally{this.column=r,this.line=i,t.seek(c),t.release(n)}}captureSimState(t,e){$s(this,de,{index:t.index,line:this.line,column:this.column,dfaState:e})}addDFAEdge(e,s,a,r){if(!a&&r){const t=r.hasSemanticContext;if(r.hasSemanticContext=!1,a=this.addDFAState(r),t)return a}return sea(this,Ue).maxDFAEdge||(t.debug&&console.log("EDGE "+e+" -> "+a+" upon "+s),e.edges[s-ea(this,Ue).minDFAEdge]=a),a}addDFAState(t){const e=this.decisionToDFA[this.mode],s=e.getStateForConfigs(t);if(s)return s;const a=wr.fromConfigs(t),r=t.firstStopState;return r&&(a.isAcceptState=!0,a.lexerActionExecutor=r.lexerActionExecutor,a.prediction=this.atn.ruleToTokenType[r.state.ruleIndex]),t.setReadonly(!0),e.addState(a),a}},Ea(Me,"LexerATNSimulator"),(0,js.Z)(Me,"debug",!1),Me),Ei=(De=class{constructor(t){(0,js.Z)(this,"atnSimulator",void 0),this.atnSimulator=t}getDecisionInfo(){return this.atnSimulator.getDecisionInfo()}getLLDecisions(){const t=this.atnSimulator.getDecisionInfo(),e=new Array;for(let s=0;s0&&e.push(s)}return e}getTotalTimeInPrediction(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(const s of t)e+=s.timeInPrediction;return e}getTotalSLLLookaheadOps(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(const s of t)e+=s.sllTotalLook;return e}getTotalLLLookaheadOps(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(const s of t)e+=s.llTotalLook;return e}getTotalSLLATNLookaheadOps(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(const s of t)e+=s.sllATNTransitions;return e}getTotalLLATNLookaheadOps(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(const s of t)e+=s.llATNTransitions;return e}getTotalATNLookaheadOps(){const t=this.atnSimulator.getDecisionInfo();let e=0;for(const s of t)e+=s.sllATNTransitions,e+=s.llATNTransitions;return e}getDFASize(t){if(void 0===t){let t=0;const e=this.atnSimulator.decisionToDFA;for(let s=0;s1&&void 0!==arguments[1]?arguments[1]:null,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,E=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;E=null!==(e=E)&&void 0!==e?e:t.context,n=null!==(s=n)&&void 0!==s?s:t.getCurrentToken(),c=null!==(a=c)&&void 0!==a?a:t.getCurrentToken(),i=null!==(r=i)&&void 0!==r?r:t.inputStream,super({message:"",recognizer:t,input:i,ctx:E}),(0,js.Z)(this,"deadEndConfigs",null),(0,js.Z)(this,"startToken",void 0),this.deadEndConfigs=h,this.startToken=c,this.offendingToken=n}},"NoViableAltException"),pe),Ti=(ge=class{constructor(){(0,js.Z)(this,"cacheMap",void 0),this.cacheMap=new Fa(ka.instance)}get(t,e){var s,a;const r=null!==(s=this.cacheMap.get(t))&&void 0!==s?s:null;return null===r?null:null!==(a=r.get(e))&&void 0!==a?a:null}set(t,e,s){let a=this.cacheMap.get(t);a||(a=new Fa(ka.instance),this.cacheMap.set(t,a)),a.set(e,s)}},Ea(ge,"DoubleDict"),ge),oi=(xe=class{hashCode(t){let e=Aa.initialize(7);return e=Aa.update(e,t.state.stateNumber),e=Aa.updateFromComparable(e,t.context),e=Aa.finish(e,2),e}equals(t,e){var s,a;return t.state.stateNumber===e.state.stateNumber&&(null===(s=null===(a=t.context)||void 0===a?void 0:a.equals(e.context))||void 0===s||s)}},Ea(xe,"SubsetEqualityComparer"),(0,js.Z)(xe,"instance",new xe),xe),Ri=(ke=class t{static hasSLLConflictTerminatingPrediction(e,s){if(t.allConfigsInRuleStopStates(s))return!0;if(e===t.SLL&&s.hasSemanticContext){const t=new $a;for(let e of s)e=Za.duplicate(e,Xa.NONE),t.add(e);s=t}const a=t.getConflictingAltSubsets(s);return t.hasConflictingAltSet(a)&&!t.hasStateAssociatedWithOneAlt(s)}static hasConfigInRuleStopState(t){for(const e of t)if(e.state instanceof cr)return!0;return!1}static allConfigsInRuleStopStates(t){for(const e of t)if(!(e.state instanceof cr))return!1;return!0}static resolvesToJustOneViableAlt(e){return t.getSingleViableAlt(e)}static allSubsetsConflict(e){return!t.hasNonConflictingAltSet(e)}static hasNonConflictingAltSet(t){for(const e of t)if(1===e.length)return!0;return!1}static hasConflictingAltSet(t){for(const e of t)if(e.length>1)return!0;return!1}static allSubsetsEqual(t){let e=null;for(const s of t)if(null===e)e=s;else if(s!==e)return!1;return!0}static getUniqueAlt(e){const s=t.getAlts(e);return 1===s.length?s.nextSetBit(0):ja.INVALID_ALT_NUMBER}static getAlts(t){const e=new Wa;return t.forEach((t=>{e.or(t)})),e}static getConflictingAltSubsets(t){const e=new Fa(oi.instance);for(const s of t){let t=e.get(s);t||(t=new Wa,e.set(s,t)),t.set(s.alt)}return Array.from(e.values())}static getStateToAltMap(t){const e=new Fa(xa.instance);for(const s of t){let t=e.get(s.state);t||(t=new Wa,e.set(s.state,t)),t.set(s.alt)}return e}static hasStateAssociatedWithOneAlt(t){const e={};for(const s of t){const t=s.state.stateNumber;e[t]||(e[t]=0),e[t]++}return Object.values(e).some((t=>1===t))}static getSingleViableAlt(t){var e;let s=null;for(const a of t){const t=a.nextSetBit(0);if(null===s)s=t;else if(s!==t)return ja.INVALID_ALT_NUMBER}return null!==(e=s)&&void 0!==e?e:0}},Ea(ke,"PredictionMode"),(0,js.Z)(ke,"SLL",0),(0,js.Z)(ke,"LL",1),(0,js.Z)(ke,"LL_EXACT_AMBIG_DETECTION",2),ke),Ai=(He=class t extends br{constructor(t,e,s,a){super(e,a),(0,js.Z)(this,"predictionMode",void 0),(0,js.Z)(this,"decisionToDFA",void 0),(0,js.Z)(this,"parser",void 0),(0,js.Z)(this,"mergeCache",new Ti),(0,js.Z)(this,"predictionState",void 0),this.parser=t,this.decisionToDFA=s}static getUniqueAlt(t){let e=ja.INVALID_ALT_NUMBER;for(const s of t)if(e===ja.INVALID_ALT_NUMBER)e=s.alt;else if(s.alt!==e)return ja.INVALID_ALT_NUMBER;return e}reset(){}clearDFA(){for(let t=0;t"}getTokenName(t){var e,s;if(t===ca.EOF)return"EOF";const a=(null!==(e=null===(s=this.parser)||void 0===s?void 0:s.vocabulary)&&void 0!==e?e:Ra.EMPTY_VOCABULARY).getDisplayName(t);return a===t.toString()?a:a+"<"+t+">"}getLookaheadName(t){return this.getTokenName(t.LA(1))}dumpDeadEndConfigs(t){console.log("dead end configs: ");const e=t.deadEndConfigs;for(const s of e){let t="no edges";if(s.state.transitions.length>0){const e=s.state.transitions[0];if(e instanceof Sr)t="Atom "+this.getTokenName(e.labelValue);else if(e instanceof Oa){t=(e instanceof Ia?"~":"")+"Set "+e.label}}console.error(s.toString(this.parser,!0)+":"+t)}}predicateDFAState(t,e){const s=e.transitions.length,a=this.getConflictingAltsOrUniqueAlt(t.configs),r=this.getPredsForAmbigAlts(a,t.configs,s);null!==r?(t.predicates=this.getPredicatePredictions(a,r),t.prediction=ja.INVALID_ALT_NUMBER):t.prediction=a.nextSetBit(0)}execATNWithFullContext(e,s,a,r,i,c){(t.debug||t.traceATNSimulator)&&console.log("execATNWithFullContext "+a);let n,h=!1,E=a;r.seek(i);let T=r.LA(1),o=-1;for(;;){if(n=this.computeReachSet(E,T,true),null===n){const t=this.noViableAlt(r,c,E,i);r.seek(i);const e=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(E,c);if(e!==ja.INVALID_ALT_NUMBER)return e;throw t}const e=Ri.getConflictingAltSubsets(n);if(t.debug&&console.log("LL altSubSets="+e+", predict="+Ri.getUniqueAlt(e)+", resolvesToJustOneViableAlt="+Ri.resolvesToJustOneViableAlt(e)),n.uniqueAlt=t.getUniqueAlt(n),n.uniqueAlt!==ja.INVALID_ALT_NUMBER){o=n.uniqueAlt;break}if(this.predictionMode!==Ri.LL_EXACT_AMBIG_DETECTION){if(o=Ri.resolvesToJustOneViableAlt(e),o!==ja.INVALID_ALT_NUMBER)break}else if(Ri.allSubsetsConflict(e)&&Ri.allSubsetsEqual(e)){h=!0,o=Ri.getSingleViableAlt(e);break}E=n,T!==ca.EOF&&(r.consume(),T=r.LA(1))}return n.uniqueAlt!==ja.INVALID_ALT_NUMBER?(this.reportContextSensitivity(e,o,n,i,r.index),o):(this.reportAmbiguity(e,s,i,r.index,h,void 0,n),o)}computeReachSet(e,s,a){t.debug&&console.log("in computeReachSet, starting closure: "+e);const r=new $a(a);let i=null;for(const n of e)if(t.debug&&console.log("testing "+this.getTokenName(s)+" at "+n),n.state instanceof cr)(a||s===ca.EOF)&&(null===i&&(i=[]),i.push(n));else for(const e of n.state.transitions){const a=this.getReachableTarget(e,s);if(null!==a){const e=Za.createWithConfig(a,n);r.add(e,this.mergeCache),t.debugAdd&&console.log("added "+e+" to intermediate")}}let c=null;if(null===i&&s!==ca.EOF&&(1===r.length||t.getUniqueAlt(r)!==ja.INVALID_ALT_NUMBER)&&(c=r),null===c){c=new $a(a);const t=new Ha,e=s===ca.EOF;for(const s of r)this.closure(s,c,t,!1,a,e)}if(s===ca.EOF&&(c=this.removeAllConfigsNotInRuleStopState(c,c===r)),null!==i&&(!a||!Ri.hasConfigInRuleStopState(c)))for(const t of i)c.add(t,this.mergeCache);return t.traceATNSimulator&&console.log("computeReachSet "+e+" -> "+c),0===c.length?null:c}removeAllConfigsNotInRuleStopState(t,e){if(Ri.allConfigsInRuleStopStates(t))return t;const s=new $a(t.fullCtx);for(const a of t)if(a.state instanceof cr)s.add(a,this.mergeCache);else if(e&&a.state.epsilonOnlyTransitions){if(this.atn.nextTokens(a.state).contains(ca.EPSILON)){const t=this.atn.ruleToStopState[a.state.ruleIndex];s.add(Za.createWithConfig(t,a),this.mergeCache)}}return s}computeStartState(e,s,a){const r=va(this.atn,s),i=new $a(a);t.traceATNSimulator&&console.log("computeStartState from ATN state "+e+" initialContext="+r.toString(this.parser));for(let t=0;t0&&(i=this.getAltThatFinishedDecisionEntryRule(r),i!==ja.INVALID_ALT_NUMBER)?i:ja.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(t){const e=[];for(const s of t)(s.reachesIntoOuterContext||s.state instanceof cr&&s.context.hasEmptyPath())&&e.indexOf(s.alt)<0&&e.push(s.alt);return 0===e.length?ja.INVALID_ALT_NUMBER:Math.min(...e)}splitAccordingToSemanticValidity(t,e){const s=new $a(t.fullCtx),a=new $a(t.fullCtx);for(const r of t)if(r.semanticContext!==Xa.NONE){r.semanticContext.evaluate(this.parser,e)?s.add(r):a.add(r)}else s.add(r);return[s,a]}evalSemanticContext(e,s,a){const r=new Wa;for(const i of e){if(i.pred===Xa.NONE){if(r.set(i.alt),!a)break;continue}const e=i.pred.evaluate(this.parser,s);if((t.debug||t.dfaDebug)&&console.log("eval pred "+i+"="+e),e&&(r.set(i.alt),!a))break}return r}closure(t,e,s,a,r,i){this.closureCheckingStopState(t,e,s,a,r,0,i)}closureCheckingStopState(e,s,a,r,i,c,n){if((t.traceATNSimulator||t.debugClosure)&&console.log("closure("+e.toString(this.parser,!0)+")"),e.state instanceof cr){if(e.context&&!e.context.isEmpty()){for(let h=0;h=0&&(r+=1)}this.closureCheckingStopState(l,s,a,S,i,r,n)}}}canDropLoopEntryEdgeInLeftRecursiveRule(t){const e=t.state;if(e.constructor.stateType!==Va.STAR_LOOP_ENTRY||!t.context)return!1;if(!e.precedenceRuleDecision||t.context.isEmpty()||t.context.hasEmptyPath())return!1;const s=t.context.length;for(let i=0;i=_p, ctx dependent=true"),null!==this.parser&&console.log("context surrounding pred is "+La(this.parser.getRuleInvocationStack())));let c=null;var n;if(a&&r)if(i&&null!==(n=this.predictionState)&&void 0!==n&&n.input){const t=this.predictionState.input.index;this.predictionState.input.seek(this.predictionState.startIndex);const a=s.getPredicate().evaluate(this.parser,this.predictionState.outerContext);this.predictionState.input.seek(t),a&&(c=Za.createWithConfig(s.target,e))}else{const t=Xa.andContext(e.semanticContext,s.getPredicate());c=Za.createWithSemanticContext(s.target,e,t)}else c=Za.createWithConfig(s.target,e);return t.debug&&console.log("config from pred transition="+c),c}predTransition(e,s,a,r,i){t.debug&&(console.log("PRED (collectPredicates="+a+") "+s.ruleIndex+":"+s.predIndex+", ctx dependent="+s.isCtxDependent),null!==this.parser&&console.log("context surrounding pred is "+La(this.parser.getRuleInvocationStack())));let c=null;var n;if(a&&(s.isCtxDependent&&r||!s.isCtxDependent))if(i&&null!==(n=this.predictionState)&&void 0!==n&&n.input){const t=this.predictionState.input.index;this.predictionState.input.seek(this.predictionState.startIndex);const a=s.getPredicate().evaluate(this.parser,this.predictionState.outerContext);this.predictionState.input.seek(t),a&&(c=Za.createWithConfig(s.target,e))}else{const t=Xa.andContext(e.semanticContext,s.getPredicate());c=Za.createWithSemanticContext(s.target,e,t)}else c=Za.createWithConfig(s.target,e);return t.debug&&console.log("config from pred transition="+c),c}ruleTransition(e,s){var a;t.debug&&console.log("CALL rule "+this.getRuleName(s.target.ruleIndex)+", ctx="+e.context);const r=s.followState,i=da.create(null!==(a=e.context)&&void 0!==a?a:void 0,r.stateNumber);return Za.createWithConfig(s.target,e,i)}getConflictingAlts(t){const e=Ri.getConflictingAltSubsets(t);return Ri.getAlts(e)}getConflictingAltsOrUniqueAlt(t){let e;return t.uniqueAlt!==ja.INVALID_ALT_NUMBER?(e=new Wa,e.set(t.uniqueAlt)):e=t.conflictingAlts,e}noViableAlt(t,e,s,a){return new Ei(this.parser,t,t.get(a),t.LT(1),s,e)}addDFAEdge(e,s,a,r){return t.debug&&console.log("EDGE "+s+" -> "+r+" upon "+this.getTokenName(a)),r=this.addDFAState(e,r),a<-1||a>this.atn.maxTokenType||(t.debug&&console.log("DFA=\n"+e.toString(null!=this.parser?this.parser.vocabulary:Ra.EMPTY_VOCABULARY)),s.edges[a+1]=r),r}addDFAState(e,s){if(s===br.ERROR)return s;const a=e.getState(s);return null!==a?a:(s.configs.readOnly||(s.configs.optimizeConfigs(this),s.configs.setReadonly(!0)),t.traceATNSimulator&&console.log("addDFAState new "+s),e.addState(s),s)}reportAttemptingFullContext(e,s,a,r,i){if(t.debug||t.retryDebug){const t=new oa(r,i+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+a+", input="+this.parser.tokenStream.getTextFromInterval(t))}this.parser.errorListenerDispatch.reportAttemptingFullContext(this.parser,e,r,i,s,a)}reportContextSensitivity(e,s,a,r,i){if(t.debug||t.retryDebug){const t=new oa(r,i+1);console.log("reportContextSensitivity decision="+e.decision+":"+a+", input="+this.parser.tokenStream.getTextFromInterval(t))}this.parser.errorListenerDispatch.reportContextSensitivity(this.parser,e,r,i,s,a)}reportAmbiguity(e,s,a,r,i,c,n){if(t.debug||t.retryDebug){const t=new oa(a,r+1);console.log("reportAmbiguity "+c+":"+n+", input="+this.parser.tokenStream.getTextFromInterval(t))}this.parser.errorListenerDispatch.reportAmbiguity(this.parser,e,a,r,i,c,n)}},Ea(He,"ParserATNSimulator"),(0,js.Z)(He,"traceATNSimulator",!1),(0,js.Z)(He,"debug",void 0),(0,js.Z)(He,"debugAdd",!1),(0,js.Z)(He,"debugClosure",!1),(0,js.Z)(He,"dfaDebug",!1),(0,js.Z)(He,"retryDebug",!1),He),Si=(Ea(Ge=class{constructor(){(0,js.Z)(this,"cache",new Fa(xa.instance))}add(t){if(t===ua.EMPTY)return t;const e=this.cache.get(t);return e||(this.cache.set(t,t),t)}get(t){return this.cache.get(t)}get length(){return this.cache.size}},"PredictionContextCache"),Ge),li=(ve=new WeakMap,Be=new WeakMap,Fe=class extends Ai{constructor(t){const e=t.interpreter.sharedContextCache;if(super(t,t.interpreter.atn,t.interpreter.decisionToDFA,e),(0,js.Z)(this,"decisions",void 0),(0,js.Z)(this,"numDecisions",0),(0,js.Z)(this,"currentDecision",0),(0,js.Z)(this,"currentState",void 0),(0,js.Z)(this,"conflictingAltResolvedBySLL",void 0),r(this,ve,{writable:!0,value:0}),r(this,Be,{writable:!0,value:0}),e){this.numDecisions=this.atn.decisionToState.length,this.decisions=new Array(this.numDecisions);for(let t=0;tthis.decisions[e].sllMaxLook&&(this.decisions[e].sllMaxLook=c,this.decisions[e].sllMaxLookEvent={decision:e,configs:null,predictedAlt:r,input:t,startIndex:this.predictionState.startIndex,stopIndex:ea(this,ve),fullCtx:!1}),ea(this,Be)>=0){const s=ea(this,Be)-this.predictionState.startIndex+1;this.decisions[e].llTotalLook+=s,this.decisions[e].llMinLook=0===this.decisions[e].llMinLook?s:Math.min(this.decisions[e].llMinLook,s),s>this.decisions[e].llMaxLook&&(this.decisions[e].llMaxLook=s,this.decisions[e].llMaxLookEvent={decision:e,configs:null,predictedAlt:r,input:t,startIndex:this.predictionState.startIndex,stopIndex:ea(this,Be),fullCtx:!0})}return r}finally{this.currentDecision=-1}}getExistingTargetState(t,e){var s;if(null!==(s=this.predictionState)&&void 0!==s&&s.input){$s(this,ve,this.predictionState.input.index);const s=super.getExistingTargetState(t,e);return null!==s&&(this.decisions[this.currentDecision].sllDFATransitions++,s===br.ERROR&&this.decisions[this.currentDecision].errors.push({decision:this.currentDecision,configs:t.configs,input:this.predictionState.input,startIndex:this.predictionState.startIndex,stopIndex:ea(this,ve),fullCtx:!1})),this.currentState=s,s}}computeTargetState(t,e,s){const a=super.computeTargetState(t,e,s);return this.currentState=a,a}computeReachSet(t,e,s){var a,r;s&&null!==(a=this.predictionState)&&void 0!==a&&a.input&&$s(this,Be,this.predictionState.input.index);const i=super.computeReachSet(t,e,s);return null!==(r=this.predictionState)&&void 0!==r&&r.input&&(s?(this.decisions[this.currentDecision].llATNTransitions++,null===i&&this.decisions[this.currentDecision].errors.push({decision:this.currentDecision,configs:t,input:this.predictionState.input,startIndex:this.predictionState.startIndex,stopIndex:ea(this,ve),fullCtx:!0})):(this.decisions[this.currentDecision].sllATNTransitions++,null===i&&this.decisions[this.currentDecision].errors.push({decision:this.currentDecision,configs:t,input:this.predictionState.input,startIndex:this.predictionState.startIndex,stopIndex:ea(this,ve),fullCtx:!1}))),i}reportAttemptingFullContext(t,e,s,a,r){this.conflictingAltResolvedBySLL=null!==e?e.nextSetBit(0):s.getAlts().nextSetBit(0),this.decisions[this.currentDecision].llFallback++,e&&super.reportAttemptingFullContext(t,e,s,a,r)}reportContextSensitivity(t,e,s,a,r){e!==this.conflictingAltResolvedBySLL&&this.predictionState.input&&this.decisions[this.currentDecision].contextSensitivities.push({decision:this.currentDecision,configs:s,input:this.predictionState.input,startIndex:a,stopIndex:r,fullCtx:!0}),super.reportContextSensitivity(t,e,s,a,r)}reportAmbiguity(t,e,s,a,r,i,c){var n;let h;h=i?i.nextSetBit(0):c.getAlts().nextSetBit(0),null!==(n=this.predictionState)&&void 0!==n&&n.input&&(c.fullCtx&&h!==this.conflictingAltResolvedBySLL&&this.decisions[this.currentDecision].contextSensitivities.push({decision:this.currentDecision,configs:c,input:this.predictionState.input,startIndex:s,stopIndex:a,fullCtx:!0}),this.decisions[this.currentDecision].ambiguities.push({ambigAlts:i,decision:this.currentDecision,configs:c,input:this.predictionState.input,startIndex:s,stopIndex:a,fullCtx:c.fullCtx})),super.reportAmbiguity(t,e,s,a,r,i,c)}getDecisionInfo(){return this.decisions}getCurrentState(){return this.currentState}},Ea(Fe,"ProfilingATNSimulator"),Fe);(Ja||(Ja={})).toString=Ea((t=>"(".concat(t.pred,", ").concat(t.alt,")")),"toString");var Oi,Ii=(ye=class{visit(t){return t.accept(this)}visitChildren(t){let e=this.defaultResult();const s=t.getChildCount();for(let a=0;anew ui(t)),"fromString");var ui=(we=new WeakSet,Ea(Ye=class{constructor(t){var e,s;a(e=this,s=we),s.add(e),(0,js.Z)(this,"name",""),(0,js.Z)(this,"index",0),(0,js.Z)(this,"data",void 0);const r=[];for(const a of t)r.push(a.codePointAt(0));this.data=new Uint32Array(r)}reset(){this.index=0}consume(){if(this.index>=this.data.length)throw new Error("cannot consume EOF");this.index+=1}LA(t){if(0===t)return 0;t<0&&(t+=1);const e=this.index+t-1;return e<0||e>=this.data.length?ca.EOF:this.data[e]}mark(){return-1}release(t){}seek(t){t<=this.index?this.index=t:this.index=Math.min(t,this.data.length)}getTextFromRange(t,e){var s;return(e=null!==(s=e)&&void 0!==s?s:this.data.length-1)>=this.data.length&&(e=this.data.length-1),t>=this.data.length?"":sa(this,we,Ni).call(this,t,e+1)}getTextFromInterval(t){const e=t.start;let s=t.stop;return s>=this.data.length&&(s=this.data.length-1),e>=this.data.length?"":sa(this,we,Ni).call(this,e,s+1)}toString(){return sa(this,we,Ni).call(this,0)}get size(){return this.data.length}getSourceName(){return this.name?this.name:ra.UNKNOWN_SOURCE_NAME}},"CharStreamImpl"),Ye);function Ni(t,e){const s=this.data.slice(t,e);let a="";return s.forEach((t=>{a+=String.fromCodePoint(t)})),a}var Li,Ci,_i,Pi,Mi,di,Ui,mi,Di,pi,gi,xi,ki,Hi,Gi,Fi,vi,Bi,yi,fi,Yi,wi,bi,Wi,Vi,Xi,Ki,Qi,Ji,Zi,qi,ji,zi=(be=class{constructor(t){(0,js.Z)(this,"tokenSource",void 0),(0,js.Z)(this,"tokens",[]),(0,js.Z)(this,"p",-1),(0,js.Z)(this,"fetchedEOF",!1),this.tokenSource=t}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.p=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get index(){return this.p}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(t=this.p>=0&&(this.fetchedEOF?this.p0){return this.fetch(e)>=e}return!0}fetch(t){if(this.fetchedEOF)return 0;for(let e=0;e=this.tokens.length||e<0||t>=this.tokens.length)throw new RangeError("start "+t+" or stop "+e+" not in 0.."+(this.tokens.length-1));if(t>e)return[];if(void 0===s)return this.tokens.slice(t,e+1);const r=[];e>=this.tokens.length&&(e=this.tokens.length-1);for(let i=t;i=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[e]}adjustSeekIndex(t){return t}lazyInit(){-1===this.p&&this.setup()}setup(){this.sync(0),this.p=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.p=-1,this.fetchedEOF=!1}nextTokenOnChannel(t,e){if(this.sync(t),t>=this.tokens.length)return-1;let s=this.tokens[t];for(;s.channel!==e;){if(s.type===ca.EOF)return-1;t+=1,this.sync(t),s=this.tokens[t]}return t}previousTokenOnChannel(t,e){for(;t>=0&&this.tokens[t].channel!==e;)t-=1;return t}getHiddenTokensToRight(t,e){if(void 0===e&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error("".concat(t," not in 0..").concat(this.tokens.length-1));const s=this.nextTokenOnChannel(t+1,$r.DEFAULT_TOKEN_CHANNEL),a=t+1,r=-1===s?this.tokens.length-1:s;return this.filterForChannel(a,r,e)}getHiddenTokensToLeft(t,e){if(void 0===e&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw new Error("".concat(t," not in 0..").concat(this.tokens.length-1));const s=this.previousTokenOnChannel(t-1,$r.DEFAULT_TOKEN_CHANNEL);if(s===t-1)return;const a=s+1,r=t-1;return this.filterForChannel(a,r,e)}filterForChannel(t,e,s){const a=[];for(let r=t;r=this.tokens.length&&(s=this.tokens.length-1);let a="";for(let r=e;r<=s;++r){const t=this.tokens[r];if(t.type===ca.EOF)break;a+=t.text}return a}getTextFromContext(t){return this.getTextFromInterval(t.getSourceInterval())}getTextFromRange(t,e){return null!==t&&null!==e?this.getTextFromInterval(oa.of(t.tokenIndex,e.tokenIndex)):""}fill(){for(this.lazyInit();1e3===this.fetch(1e3););}},Ea(be,"BufferedTokenStream"),be),$i=(We=class extends zi{constructor(t,e){super(t),(0,js.Z)(this,"channel",ca.DEFAULT_CHANNEL),this.channel=null!==e&&void 0!==e?e:ca.DEFAULT_CHANNEL}adjustSeekIndex(t){return this.nextTokenOnChannel(t,this.channel)}LB(t){if(0===t||this.index-t<0)return null;let e=this.index,s=1;for(;s<=t;)e=this.previousTokenOnChannel(e-1,this.channel),s+=1;return e<0?null:this.tokens[e]}LT(t){if(this.lazyInit(),0===t)return null;if(t<0)return this.LB(-t);let e=this.index,s=1;for(;snew ni(t,e)))),Ve),ec=(Ea(Xe=class extends Xr{syntaxError(t,e,s,a,r,i){}},"XPathLexerErrorListener"),Xe),sc=(Ea(Ke=class{constructor(t){(0,js.Z)(this,"invert",void 0),(0,js.Z)(this,"nodeName",void 0),this.nodeName=t,this.invert=!1}toString(){return"XPathElement["+(this.invert?"!":"")+this.nodeName+"]"}},"XPathElement"),Ke),ac=(Ea(Qe=class extends sc{constructor(t,e){super(t),(0,js.Z)(this,"ruleIndex",void 0),this.ruleIndex=e}evaluate(t){return pa.findAllRuleNodes(t,this.ruleIndex)}toString(){return"XPathRuleAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},"XPathRuleAnywhereElement"),Qe),rc=(Je=class extends sc{constructor(t,e){super(t),(0,js.Z)(this,"ruleIndex",void 0),this.ruleIndex=e}evaluate(t){const e=[];for(const s of pa.getChildren(t))s instanceof ga&&(s.ruleIndex===this.ruleIndex&&!this.invert||s.ruleIndex!==this.ruleIndex&&this.invert)&&e.push(s);return e}toString(){return"XPathRuleElement["+(this.invert?"!":"")+this.nodeName+"]"}},Ea(Je,"XPathRuleElement"),Je),ic=(Ea(Ze=class extends sc{constructor(t,e){super(t),(0,js.Z)(this,"tokenType",void 0),this.tokenType=e}evaluate(t){return pa.findAllTokenNodes(t,this.tokenType)}toString(){return"XPathTokenAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},"XPathTokenAnywhereElement"),Ze),cc=(qe=class extends sc{constructor(t,e){super(t),(0,js.Z)(this,"tokenType",void 0),this.tokenType=e}evaluate(t){const e=[];for(const s of pa.getChildren(t))s instanceof ma&&s.symbol&&(s.symbol.type===this.tokenType&&!this.invert||s.symbol.type!==this.tokenType&&this.invert)&&e.push(s);return e}toString(){return"XPathTokenElement["+(this.invert?"!":"")+this.nodeName+"]"}},Ea(qe,"XPathTokenElement"),qe),nc=(Ea(je=class extends sc{constructor(){super(Ec.WILDCARD)}evaluate(t){return this.invert?[]:pa.descendants(t)}toString(){return"XPathWildcardAnywhereElement["+(this.invert?"!":"")+this.nodeName+"]"}},"XPathWildcardAnywhereElement"),je),hc=(ze=class extends sc{constructor(){super(Ec.WILDCARD)}evaluate(t){const e=[];if(this.invert)return e;for(const s of pa.getChildren(t))e.push(s);return e}toString(){return"XPathWildcardElement["+(this.invert?"!":"")+this.nodeName+"]"}},Ea(ze,"XPathWildcardElement"),ze),Ec=($e=class t{constructor(t,e){(0,js.Z)(this,"path",void 0),(0,js.Z)(this,"elements",void 0),(0,js.Z)(this,"parser",void 0),this.parser=t,this.path=e,this.elements=this.split(e)}static findAll(e,s,a){return new t(a,s).evaluate(e)}split(t){const e=new tc(Oi.fromString(t));e.recover=t=>{throw t},e.removeErrorListeners(),e.addErrorListener(new ec);const s=new $i(e);try{s.fill()}catch(n){if(n instanceof zr){const s="Invalid tokens or characters at index "+e.column+" in path '"+t+"' -- "+n.message;throw new RangeError(s)}throw n}const a=s.getTokens(),r=[],i=a.length;let c=0;t:for(;c0){this.elements[a].evaluate(e).forEach((e=>{t.add(e)}),t)}a++,s=t}return s}getXPathElement(t,e){if(t.type===ca.EOF)throw new Error("Missing path element at end of path");const s=t.text;if(null==s)throw new Error("Expected wordToken to have text content.");const a=this.parser.getTokenType(s),r=this.parser.getRuleIndex(s);switch(t.type){case tc.WILDCARD:return e?new nc:new hc;case tc.TOKEN_REF:case tc.STRING:if(a===ca.INVALID_TYPE)throw new Error(s+" at index "+t.start+" isn't a valid token name");return e?new ic(s,a):new cc(s,a);default:if(-1===r)throw new Error(s+" at index "+t.start+" isn't a valid rule name");return e?new ac(s,r):new rc(s,r)}}},Ea($e,"XPath"),(0,js.Z)($e,"WILDCARD","*"),(0,js.Z)($e,"NOT","!"),$e),Tc=(Ea(ts=class{},"Chunk"),ts),oc=(Ea(es=class{constructor(t,e,s,a){(0,js.Z)(this,"tree",void 0),(0,js.Z)(this,"pattern",void 0),(0,js.Z)(this,"labels",void 0),(0,js.Z)(this,"mismatchedNode",void 0),this.tree=t,this.pattern=e,this.labels=s,this.mismatchedNode=a}get(t){const e=this.labels.get(t);return e&&0!==e.length?e[e.length-1]:null}getAll(t){const e=this.labels.get(t);return null!==e&&void 0!==e?e:[]}getLabels(){return this.labels}getMismatchedNode(){return this.mismatchedNode}succeeded(){return!this.mismatchedNode}getPattern(){return this.pattern}getTree(){return this.tree}toString(){return"Match ".concat(this.succeeded()?"succeeded":"failed","; found ").concat(this.getLabels().size," labels")}},"ParseTreeMatch"),es),Rc=(Ea(ss=class{constructor(t,e,s,a){(0,js.Z)(this,"patternRuleIndex",void 0),(0,js.Z)(this,"pattern",void 0),(0,js.Z)(this,"patternTree",void 0),(0,js.Z)(this,"matcher",void 0),this.matcher=t,this.patternRuleIndex=s,this.pattern=e,this.patternTree=a}match(t){return this.matcher.match(t,this)}matches(t){return this.matcher.match(t,this).succeeded()}findAll(t,e){const s=Ec.findAll(t,e,this.matcher.getParser()),a=new Array;for(const r of s){const t=this.match(r);t.succeeded()&&a.push(t)}return a}getMatcher(){return this.matcher}getPattern(){return this.pattern}getPatternRuleIndex(){return this.patternRuleIndex}getPatternTree(){return this.patternTree}},"ParseTreePattern"),ss),Ac=(Ea(as=class extends jr{constructor(t){super({message:"",recognizer:t,input:t.inputStream,ctx:t.context}),this.offendingToken=t.getCurrentToken()}},"InputMismatchException"),as),Sc=(Ea(rs=class extends jr{constructor(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;super({message:lc(null!==e&&void 0!==e?e:"no predicate",null!==s&&void 0!==s?s:null),recognizer:t,input:t.inputStream,ctx:t.context}),(0,js.Z)(this,"ruleIndex",0),(0,js.Z)(this,"predicateIndex",0),(0,js.Z)(this,"predicate",void 0);const a=t.atn.states[t.state].transitions[0];a instanceof Cr?(this.ruleIndex=a.ruleIndex,this.predicateIndex=a.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=e,this.offendingToken=t.getCurrentToken()}},"FailedPredicateException"),rs),lc=Ea(((t,e)=>null!==e?e:"failed predicate: {"+t+"}?"),"formatMessage"),Oc=(is=class{constructor(){(0,js.Z)(this,"errorRecoveryMode",!1),(0,js.Z)(this,"lastErrorIndex",-1),(0,js.Z)(this,"lastErrorStates",new Sa),(0,js.Z)(this,"nextTokensContext",null),(0,js.Z)(this,"nextTokenState",0)}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=new Sa,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,e){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),e instanceof Ei?this.reportNoViableAlternative(t,e):e instanceof Ac?this.reportInputMismatch(t,e):e instanceof Sc?this.reportFailedPredicate(t,e):t.notifyErrorListeners(e.message,e.offendingToken,e))}recover(t,e){var s,a,r;this.lastErrorIndex===(null===(s=t.inputStream)||void 0===s?void 0:s.index)&&this.lastErrorStates.contains(t.state)&&t.consume(),this.lastErrorIndex=null!==(a=null===(r=t.inputStream)||void 0===r?void 0:r.index)&&void 0!==a?a:0,this.lastErrorStates.addOne(t.state);const i=this.getErrorRecoverySet(t);this.consumeUntil(t,i)}sync(t){if(this.inErrorRecoveryMode(t))return;const e=t.atn.states[t.state],s=t.tokenStream.LA(1),a=t.atn.nextTokens(e);if(a.contains(s))return this.nextTokensContext=null,void(this.nextTokenState=Va.INVALID_STATE_NUMBER);if(a.contains(ca.EPSILON))null===this.nextTokensContext&&(this.nextTokensContext=t.context,this.nextTokenState=t.state);else switch(e.constructor.stateType){case Va.BLOCK_START:case Va.STAR_BLOCK_START:case Va.PLUS_BLOCK_START:case Va.STAR_LOOP_ENTRY:if(null!==this.singleTokenDeletion(t))return;throw new Ac(t);case Va.PLUS_LOOP_BACK:case Va.STAR_LOOP_BACK:{this.reportUnwantedToken(t);const e=new Sa;e.addSet(t.getExpectedTokens());const s=e.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,s);break}}}reportNoViableAlternative(t,e){if(e.message.length>0)return void t.notifyErrorListeners(e.message,e.offendingToken,e);const s=t.tokenStream;let a;a=null!==s&&e.startToken?e.startToken.type===ca.EOF?"":s.getTextFromRange(e.startToken,e.offendingToken):"";const r="no viable alternative at input "+this.escapeWSAndQuote(a);t.notifyErrorListeners(r,e.offendingToken,e)}reportInputMismatch(t,e){if(e.message.length>0)return void t.notifyErrorListeners(e.message,e.offendingToken,e);const s="mismatched input "+this.getTokenErrorDisplay(e.offendingToken)+" expecting "+e.getExpectedTokens().toStringWithVocabulary(t.vocabulary);t.notifyErrorListeners(s,e.offendingToken,e)}reportFailedPredicate(t,e){const s="rule "+t.ruleNames[t.context.ruleIndex]+" "+e.message;t.notifyErrorListeners(s,e.offendingToken,e)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),s="extraneous input "+this.getTokenErrorDisplay(e)+" expecting "+this.getExpectedTokens(t).toStringWithVocabulary(t.vocabulary);t.notifyErrorListeners(s,e,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);const e=t.getCurrentToken(),s="missing "+this.getExpectedTokens(t).toStringWithVocabulary(t.vocabulary)+" at "+this.getTokenErrorDisplay(e);t.notifyErrorListeners(s,e,null)}recoverInline(t){const e=this.singleTokenDeletion(t);if(e)return t.consume(),e;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new Ac(t)}singleTokenInsertion(t){var e,s,a;const r=null!==(e=null===(s=t.tokenStream)||void 0===s?void 0:s.LA(1))&&void 0!==e?e:-1,i=t.atn,c=i.states[t.state].transitions[0].target;return!!i.nextTokens(c,null!==(a=t.context)&&void 0!==a?a:void 0).contains(r)&&(this.reportMissingToken(t),!0)}singleTokenDeletion(t){var e,s;const a=null!==(e=null===(s=t.tokenStream)||void 0===s?void 0:s.LA(2))&&void 0!==e?e:-1;if(this.getExpectedTokens(t).contains(a)){this.reportUnwantedToken(t),t.consume();const e=t.getCurrentToken();return this.reportMatch(t),e}return null}getMissingSymbol(t){var e;const s=t.getCurrentToken(),a=this.getExpectedTokens(t);let r,i=ca.INVALID_TYPE;0!==a.length&&(i=a.minElement),r=i===ca.EOF?"":"";let c=s;const n=null===(e=t.tokenStream)||void 0===e?void 0:e.LT(-1);return c.type===ca.EOF&&null!==n&&(c=n),t.getTokenFactory().create(c.source,i,r,ca.DEFAULT_CHANNEL,-1,-1,c.line,c.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(null===t)return"";let e=t.text;return e||(e=t.type===ca.EOF?"":"<"+t.type+">"),this.escapeWSAndQuote(e)}escapeWSAndQuote(t){return"'"+(t=(t=(t=t.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}getErrorRecoverySet(t){const e=t.atn;let s=t.context;const a=new Sa;for(;null!==s&&s.invokingState>=0;){const t=e.states[s.invokingState].transitions[0],r=e.nextTokens(t.followState);a.addSet(r),s=s.parent}return a.removeOne(ca.EPSILON),a}consumeUntil(t,e){var s,a;let r=null!==(s=null===(a=t.tokenStream)||void 0===a?void 0:a.LA(1))&&void 0!==s?s:-1;for(;r!==ca.EOF&&!e.contains(r);){var i,c;t.consume(),r=null!==(i=null===(c=t.tokenStream)||void 0===c?void 0:c.LA(1))&&void 0!==i?i:-1}}},Ea(is,"DefaultErrorStrategy"),is),Ic=(Ea(cs=class extends Oc{recover(t,e){throw new ti(e)}recoverInline(t){const e=new Ac(t);throw new ti(e)}sync(t){}},"BailErrorStrategy"),cs),uc=(Ea(ns=class{constructor(t,e){(0,js.Z)(this,"sourceName",void 0),(0,js.Z)(this,"tokenFactory",qr.DEFAULT),(0,js.Z)(this,"tokens",void 0),(0,js.Z)(this,"i",void 0),(0,js.Z)(this,"eofToken",void 0),this.tokens=t,this.sourceName=null!==e&&void 0!==e?e:""}get column(){if(this.i0){const t=this.tokens[this.tokens.length-1],e=t.text;if(e){const t=e.lastIndexOf("\n");if(t>=0)return e.length-t-1}return t.column+t.stop-t.start+1}return 0}nextToken(){if(this.i>=this.tokens.length){if(null===this.eofToken){let t=-1;if(this.tokens.length>0){const e=this.tokens[this.tokens.length-1].stop;-1!==e&&(t=e+1)}const e=Math.max(-1,t-1);this.eofToken=this.tokenFactory.create([this,this.inputStream],ca.EOF,"EOF",ca.DEFAULT_CHANNEL,t,e,this.line,this.column)}return this.eofToken}const t=this.tokens[this.i];return this.i===this.tokens.length-1&&t.type===ca.EOF&&(this.eofToken=t),this.i++,t}get line(){if(this.i0){const t=this.tokens[this.tokens.length-1];let e=t.line;const s=t.text;if(s)for(const a of s)"\n"===a&&e++;return e}return 1}get inputStream(){return this.i0?this.tokens[this.tokens.length-1].inputStream:null}getSourceName(){if(null!==this.sourceName)return this.sourceName;const t=this.inputStream;return null!==t?t.getSourceName():"List"}},"ListTokenSource"),ns),Nc=(Es=new WeakMap,Ea(hs=class extends ga{constructor(t,e,s){super(e,s),r(this,Es,{writable:!0,value:void 0}),$s(this,Es,t)}get ruleIndex(){return ea(this,Es)}},"InterpreterRuleContext"),hs),Lc=(Ea(Ts=class{constructor(t){(0,js.Z)(this,"parser",void 0),this.parser=t}enterEveryRule(t){var e,s;console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+(null===(e=this.parser.inputStream)||void 0===e||null===(s=e.LT(1))||void 0===s?void 0:s.text))}visitTerminal(t){console.log("consume "+t.getSymbol()+" rule "+this.parser.ruleNames[this.parser.context.ruleIndex])}exitEveryRule(t){var e,s;console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+(null===(e=this.parser.inputStream)||void 0===e||null===(s=e.LT(1))||void 0===s?void 0:s.text))}visitErrorNode(t){}},"TraceListener"),Ts),Cc=(Rs=new WeakMap,As=new WeakMap,Ss=new WeakMap,os=class extends Jr{constructor(t){super(),(0,js.Z)(this,"printer",null),(0,js.Z)(this,"buildParseTrees",!0),(0,js.Z)(this,"errorHandler",new Oc),(0,js.Z)(this,"context",null),(0,js.Z)(this,"precedenceStack",[]),(0,js.Z)(this,"parseListeners",null),(0,js.Z)(this,"syntaxErrors",0),(0,js.Z)(this,"matchedEOF",!1),r(this,Rs,{writable:!0,value:null}),r(this,As,{writable:!0,value:null}),r(this,Ss,{writable:!0,value:void 0}),this.precedenceStack.push(0),this.syntaxErrors=0,$s(this,Ss,t)}reset(){(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&this.inputStream.seek(0),this.errorHandler.reset(this),this.context=null,this.syntaxErrors=0,this.setTrace(!1),this.precedenceStack=[],this.precedenceStack.push(0),this.interpreter&&this.interpreter.reset()}match(t){let e=this.getCurrentToken();return e.type===t?(this.errorHandler.reportMatch(this),this.consume()):(e=this.errorHandler.recoverInline(this),this.buildParseTrees&&-1===e.tokenIndex&&this.context.addErrorNode(this.createErrorNode(this.context,e))),e}matchWildcard(){let t=this.getCurrentToken();return t.type>0?(this.errorHandler.reportMatch(this),this.consume()):(t=this.errorHandler.recoverInline(this),this.buildParseTrees&&-1===t.tokenIndex&&this.context.addErrorNode(this.createErrorNode(this.context,t))),t}getParseListeners(){var t;return null!==(t=this.parseListeners)&&void 0!==t?t:[]}addParseListener(t){if(null===t)throw new Error("listener");null===this.parseListeners&&(this.parseListeners=[]),this.parseListeners.push(t)}removeParseListener(t){if(null!==this.parseListeners&&null!==t){const e=this.parseListeners.indexOf(t);e>=0&&this.parseListeners.splice(e,1),0===this.parseListeners.length&&(this.parseListeners=null)}}removeParseListeners(){this.parseListeners=null}triggerEnterRuleEvent(){if(null!==this.parseListeners){const t=this.context;this.parseListeners.forEach((e=>{e.enterEveryRule(t),t.enterRule(e)}))}}triggerExitRuleEvent(){if(null!==this.parseListeners){const t=this.context;this.parseListeners.slice(0).reverse().forEach((e=>{t.exitRule(e),e.exitEveryRule(t)}))}}getTokenFactory(){return this.inputStream.tokenSource.tokenFactory}setTokenFactory(t){this.inputStream.tokenSource.tokenFactory=t}compileParseTreePattern(t,e,s){if(!s&&null!==this.tokenStream){const t=this.tokenStream.tokenSource;t instanceof $r&&(s=t)}if(!s)throw new Error("Parser can't discover a lexer to use");return new Dc(s,this).compile(t,e)}getATNWithBypassAlts(){const t=this.getSerializedATN();if(null===t)throw new Error("The current parser does not support an ATN with bypass alternatives.");if(null!==ea(this,As))return ea(this,As);return $s(this,As,new fr({readOnly:!1,verifyATN:!0,generateRuleBypassTransitions:!0}).deserialize(t)),ea(this,As)}get numberOfSyntaxErrors(){return this.syntaxErrors}get inputStream(){return ea(this,Ss)}set inputStream(t){this.tokenStream=t}get tokenStream(){return ea(this,Ss)}set tokenStream(t){this.reset(!1),$s(this,Ss,t)}getCurrentToken(){return this.inputStream.LT(1)}notifyErrorListeners(t,e,s){var a,r;s=null!==(r=s)&&void 0!==r?r:null,null===(e=null!==(a=e)&&void 0!==a?a:null)&&(e=this.getCurrentToken()),this.syntaxErrors+=1;const i=e.line,c=e.column;this.errorListenerDispatch.syntaxError(this,e,i,c,t,s)}consume(){const t=this.getCurrentToken();t.type!==ca.EOF&&this.tokenStream.consume();const e=null!==this.parseListeners&&this.parseListeners.length>0;if(this.buildParseTrees||e){let s;s=this.errorHandler.inErrorRecoveryMode(this)?this.context.addErrorNode(this.createErrorNode(this.context,t)):this.context.addTokenNode(t),e&&this.parseListeners.forEach((t=>{s instanceof Da?t.visitErrorNode(s):t.visitTerminal(s)}))}return t}addContextToParseTree(){var t;null!==(null===(t=this.context)||void 0===t?void 0:t.parent)&&this.context.parent.addChild(this.context)}enterRule(t,e,s){this.state=e,this.context=t,this.context.start=this.inputStream.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this.context.stop=this.inputStream.LT(-1),this.triggerExitRuleEvent(),this.state=this.context.invokingState,this.context=this.context.parent}enterOuterAlt(t,e){t.setAltNumber(e),this.buildParseTrees&&this.context!==t&&null!==this.context.parent&&(this.context.parent.removeLastChild(),this.context.parent.addChild(t)),this.context=t}getPrecedence(){return 0===this.precedenceStack.length?-1:this.precedenceStack[this.precedenceStack.length-1]}enterRecursionRule(t,e,s,a){this.state=e,this.precedenceStack.push(a),this.context=t,this.context.start=this.inputStream.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(t,e,s){const a=this.context;a.parent=t,a.invokingState=e,a.stop=this.inputStream.LT(-1),this.context=t,this.context.start=a.start,this.buildParseTrees&&this.context.addChild(a),this.triggerEnterRuleEvent()}unrollRecursionContexts(t){this.precedenceStack.pop(),this.context.stop=this.inputStream.LT(-1);const e=this.context,s=this.getParseListeners();if(null!==s&&s.length>0)for(;this.context!==t;)this.triggerExitRuleEvent(),this.context=this.context.parent;else this.context=t;e.parent=t,this.buildParseTrees&&null!==t&&t.addChild(e)}getInvokingContext(t){let e=this.context;for(;null!==e;){if(e.ruleIndex===t)return e;e=e.parent}return null}precpred(t,e){return e>=this.precedenceStack[this.precedenceStack.length-1]}inContext(t){return!1}isExpectedToken(t){const e=this.interpreter.atn;let s=this.context;const a=e.states[this.state];let r=e.nextTokens(a);if(r.contains(t))return!0;if(!r.contains(ca.EPSILON))return!1;for(;null!==s&&s.invokingState>=0&&r.contains(ca.EPSILON);){const a=e.states[s.invokingState].transitions[0];if(r=e.nextTokens(a.followState),r.contains(t))return!0;s=s.parent}return!(!r.contains(ca.EPSILON)||t!==ca.EOF)}getExpectedTokens(){return this.interpreter.atn.getExpectedTokens(this.state,this.context)}getExpectedTokensWithinCurrentRule(){const t=this.interpreter.atn,e=t.states[this.state];return t.nextTokens(e)}getRuleIndex(t){var e;return null!==(e=this.getRuleIndexMap().get(t))&&void 0!==e?e:-1}getRuleInvocationStack(t){var e;null===(t=null!==(e=t)&&void 0!==e?e:null)&&(t=this.context);const s=[];for(;null!==t;){const e=t.ruleIndex;e<0?s.push("n/a"):s.push(this.ruleNames[e]),t=t.parent}return s}getDFAStrings(){return this.interpreter.decisionToDFA.toString()}dumpDFA(){let t=!1;for(const e of this.interpreter.decisionToDFA)e.length>0&&(t&&console.log(),this.printer&&(this.printer.println("Decision "+e.decision+":"),this.printer.print(e.toString(this.vocabulary))),t=!0)}getSourceName(){return this.inputStream.getSourceName()}setProfile(t){const e=this.interpreter,s=e.predictionMode;if(t)e instanceof li||(this.interpreter=new li(this));else if(e instanceof li){const t=e.sharedContextCache;if(t){const s=new Ai(this,this.atn,e.decisionToDFA,t);this.interpreter=s}}this.interpreter.predictionMode=s}setTrace(t){t?(null!==ea(this,Rs)&&this.removeParseListener(ea(this,Rs)),$s(this,Rs,new Lc(this)),this.addParseListener(ea(this,Rs))):(this.removeParseListener(ea(this,Rs)),$s(this,Rs,null))}createTerminalNode(t,e){return new ma(e)}createErrorNode(t,e){return new Da(e)}},Ea(os,"Parser"),os),_c=(Os=new WeakMap,Is=new WeakMap,us=new WeakMap,Ns=new WeakMap,Ls=new WeakMap,Cs=new WeakMap,_s=new WeakMap,Ps=new WeakMap,Ms=new WeakMap,ds=new WeakMap,Us=new WeakMap,ms=new WeakMap,ls=class extends Cc{constructor(t,e,s,a,i){super(i),(0,js.Z)(this,"rootContext",void 0),(0,js.Z)(this,"parentContextStack",[]),r(this,Os,{writable:!0,value:-1}),r(this,Is,{writable:!0,value:-1}),r(this,us,{writable:!0,value:-1}),r(this,Ns,{writable:!0,value:!1}),r(this,Ls,{writable:!0,value:null}),r(this,Cs,{writable:!0,value:void 0}),r(this,_s,{writable:!0,value:void 0}),r(this,Ps,{writable:!0,value:void 0}),r(this,Ms,{writable:!0,value:void 0}),r(this,ds,{writable:!0,value:void 0}),r(this,Us,{writable:!0,value:new Si}),r(this,ms,{writable:!0,value:void 0}),$s(this,Cs,t),$s(this,_s,a),$s(this,Ps,s.slice(0)),$s(this,Ms,e),$s(this,ms,new Wa);for(const r of a.states)r instanceof Tr&&r.precedenceRuleDecision&&ea(this,ms).set(r.stateNumber);$s(this,ds,a.decisionToState.map(((t,e)=>new ni(t,e)))),this.interpreter=new Ai(this,a,ea(this,ds),ea(this,Us))}reset(){super.reset(),$s(this,Ns,!1),$s(this,Ls,null)}get atn(){return ea(this,_s)}get vocabulary(){return ea(this,Ms)}get ruleNames(){return ea(this,Ps)}get grammarFileName(){return ea(this,Cs)}get atnState(){return ea(this,_s).states[this.state]}parse(t){var e;const s=ea(this,_s).ruleToStartState[t];for(this.rootContext=this.createInterpreterRuleContext(null,Va.INVALID_STATE_NUMBER,t),s.isPrecedenceRule?this.enterRecursionRule(this.rootContext,s.stateNumber,t,0):this.enterRule(this.rootContext,s.stateNumber,t);;){const t=this.atnState;if(t.constructor.stateType===Va.RULE_STOP){if(null!==(e=this.context)&&void 0!==e&&e.isEmpty){if(s.isPrecedenceRule){const t=this.context,e=this.parentContextStack.pop();return this.unrollRecursionContexts(e[0]),t}return this.exitRule(),this.rootContext}this.visitRuleStopState(t)}else try{this.visitState(t)}catch(a){if(!(a instanceof jr))throw a;this.state=ea(this,_s).ruleToStopState[t.ruleIndex].stateNumber,this.errorHandler.reportError(this,a),this.recover(a)}}}addDecisionOverride(t,e,s){$s(this,Os,t),$s(this,Is,e),$s(this,us,s)}get overrideDecisionRoot(){return ea(this,Ls)}enterRecursionRule(t,e,s,a){this.parentContextStack.push([this.context,t.invokingState]),super.enterRecursionRule(t,e,s,a)}visitState(t){let e=1;t instanceof er&&(e=this.visitDecisionState(t));const s=t.transitions[e-1];switch(s.transitionType){case la.EPSILON:if(ea(this,ms).get(t.stateNumber)&&s.target.constructor.stateType!==Va.LOOP_END){const e=this.parentContextStack[this.parentContextStack.length-1],s=this.createInterpreterRuleContext(e[0],e[1],this.context.ruleIndex);this.pushNewRecursionContext(s,ea(this,_s).ruleToStartState[t.ruleIndex].stateNumber,this.context.ruleIndex)}break;case la.ATOM:this.match(s.label.minElement);break;case la.RANGE:case la.SET:case la.NOT_SET:s.matches(this.inputStream.LA(1),ca.MIN_USER_TOKEN_TYPE,65535)||this.recoverInline(),this.matchWildcard();break;case la.WILDCARD:this.matchWildcard();break;case la.RULE:const e=s.target,a=e.ruleIndex,r=this.createInterpreterRuleContext(this.context,t.stateNumber,a);e.isPrecedenceRule?this.enterRecursionRule(r,e.stateNumber,a,s.precedence):this.enterRule(r,s.target.stateNumber,a);break;case la.PREDICATE:const i=s;if(!this.sempred(this.context,i.ruleIndex,i.predIndex))throw new Sc(this);break;case la.ACTION:const c=s;this.action(this.context,c.ruleIndex,c.actionIndex);break;case la.PRECEDENCE:if(!this.precpred(this.context,s.precedence)){const t=s.precedence;throw new Sc(this,"precpred(_ctx, ".concat(t,")"))}break;default:throw new Error("UnsupportedOperationException: Unrecognized ATN transition type.")}this.state=s.target.stateNumber}visitDecisionState(t){let e=1;if(t.transitions.length>1){this.errorHandler.sync(this);const s=t.decision;s!==ea(this,Os)||this.inputStream.index!==ea(this,Is)||ea(this,Ns)?e=this.interpreter.adaptivePredict(this.inputStream,s,this.context):(e=ea(this,us),$s(this,Ns,!0))}return e}createInterpreterRuleContext(t,e,s){return new Nc(s,t,e)}visitRuleStopState(t){if(ea(this,_s).ruleToStartState[t.ruleIndex].isPrecedenceRule){const[t,e]=this.parentContextStack.pop();this.unrollRecursionContexts(t),this.state=e}else this.exitRule();const e=ea(this,_s).states[this.state].transitions[0];this.state=e.followState.stateNumber}recover(t){const e=this.inputStream.index;if(this.errorHandler.recover(this,t),this.inputStream.index===e){var s;const e=t.offendingToken;if(!e)throw new Error("Expected exception to have an offending token");const a=e.tokenSource,r=[a,null!==(s=null===a||void 0===a?void 0:a.inputStream)&&void 0!==s?s:null];if(t instanceof Ac){const s=t.getExpectedTokens();if(!s)throw new Error("Expected the exception to provide expected tokens");let a=ca.INVALID_TYPE;0!==s.length&&(a=s.minElement);const i=this.getTokenFactory().create(r,a,e.text,ca.DEFAULT_CHANNEL,-1,-1,e.line,e.column);this.context.addErrorNode(this.createErrorNode(this.context,i))}else{const t=this.getTokenFactory().create(r,ca.INVALID_TYPE,e.text,ca.DEFAULT_CHANNEL,-1,-1,e.line,e.column);this.context.addErrorNode(this.createErrorNode(this.context,t))}}}recoverInline(){return this.errorHandler.recoverInline(this)}},Ea(ls,"ParserInterpreter"),ls),Pc=(Ds=class extends Map{map(t,e){let s=this.get(t);s||(s=new Array,this.set(t,s)),s.push(e)}getPairs(){const t=new Array;for(const s of this.keys()){var e;const a=null!==(e=this.get(s))&&void 0!==e?e:[];for(const e of a)t.push([s,e])}return t}},Ea(Ds,"MultiMap"),Ds),Mc=(Ea(ps=class{constructor(t,e,s){(0,js.Z)(this,"label",void 0),(0,js.Z)(this,"ruleName",void 0),(0,js.Z)(this,"bypassTokenType",void 0),this.ruleName=t,this.bypassTokenType=e,this.label=s}get channel(){return ca.DEFAULT_CHANNEL}get text(){return null!==this.label?"<"+this.label+":"+this.ruleName+">":"<"+this.ruleName+">"}get type(){return this.bypassTokenType}get line(){return 0}get column(){return-1}get tokenIndex(){return-1}get start(){return-1}get stop(){return-1}get tokenSource(){return null}get inputStream(){return null}toString(){return this.ruleName+":"+this.bypassTokenType}},"RuleTagToken"),ps),dc=(Ea(gs=class extends Tc{constructor(){let t,e;if(1===arguments.length?e=arguments.length<=0?void 0:arguments[0]:(t=arguments.length<=0?void 0:arguments[0],e=arguments.length<=1?void 0:arguments[1]),super(),(0,js.Z)(this,"tag",void 0),(0,js.Z)(this,"label",void 0),!e)throw new Error("tag cannot be null or empty");this.label=t,this.tag=e}toString(){return null!==this.label?this.label+":"+this.tag:this.tag}},"TagChunk"),gs),Uc=(Ea(xs=class extends Tc{constructor(t){super(),(0,js.Z)(this,"text",void 0),this.text=t}toString(){return"'"+this.text+"'"}},"TextChunk"),xs),mc=(Ea(ks=class extends Zr{constructor(t,e,s){super({type:e,source:Zr.EMPTY_SOURCE}),(0,js.Z)(this,"tokenName",void 0),(0,js.Z)(this,"label",void 0),this.tokenName=t,this.label=s}get text(){return null!==this.label?"<"+this.label+":"+this.tokenName+">":"<"+this.tokenName+">"}toString(){return this.tokenName+":"+this.type}},"TokenTagToken"),ks),Dc=(Hs=class t{constructor(t,e){(0,js.Z)(this,"start","<"),(0,js.Z)(this,"stop",">"),(0,js.Z)(this,"escape","\\"),(0,js.Z)(this,"lexer",void 0),(0,js.Z)(this,"parser",void 0),this.lexer=t,this.parser=e}setDelimiters(t,e,s){if(null===t||0===t.length)throw new Error("start cannot be null or empty");if(null===e||0===e.length)throw new Error("stop cannot be null or empty");this.start=t,this.stop=e,this.escape=s}matches(){for(var t=arguments.length,e=new Array(t),s=0;si.length)throw new Error("unterminated tag in pattern: "+t);if(r.length=i[n])throw new Error("tag delimiters out of order in pattern: "+t);if(0===c){const e=t.substring(0,s);a.push(new Uc(e))}if(c>0&&r[0]>0){const e=t.substring(0,r[0]);a.push(new Uc(e))}for(let n=0;n=0&&(s=e.substring(0,E),h=e.substring(E+1,e.length)),a.push(new dc(s,h)),n+10){const e=i[c-1]+this.stop.length;if(e{var n;if(this.exactOnly&&!r)return;const h=this.getDecisionDescription(t,e),E=this.getConflictingAlts(i,c),T=null===(n=t.tokenStream)||void 0===n?void 0:n.getTextFromInterval(oa.of(s,a)),o="reportAmbiguity d=".concat(h,": ambigAlts=").concat(E,", input='").concat(T,"'");t.notifyErrorListeners(o,null,null)})),(0,js.Z)(this,"reportAttemptingFullContext",((t,e,s,a,r,i)=>{var c;const n=this.getDecisionDescription(t,e),h=null===(c=t.tokenStream)||void 0===c?void 0:c.getTextFromInterval(oa.of(s,a)),E="reportAttemptingFullContext d=".concat(n,", input='").concat(h,"'");t.notifyErrorListeners(E,null,null)})),(0,js.Z)(this,"reportContextSensitivity",((t,e,s,a,r,i)=>{var c;const n=this.getDecisionDescription(t,e),h=null===(c=t.tokenStream)||void 0===c?void 0:c.getTextFromInterval(oa.of(s,a)),E="reportContextSensitivity d=".concat(n,", input='").concat(h,"'");t.notifyErrorListeners(E,null,null)})),(0,js.Z)(this,"getDecisionDescription",((t,e)=>{const s=e.decision,a=e.atnStartState.ruleIndex,r=t.ruleNames;if(a<0||a>=r.length)return s.toString();const i=r[a];return 0===i.length?s.toString():"".concat(s," (").concat(i,")")})),(0,js.Z)(this,"getConflictingAlts",((t,e)=>{if(t)return t;const s=new Wa;for(let a=0;anew ni(t,e)))),this.interpreter=new hi(this,c,ea(this,Vs),ea(this,Xs))}get atn(){return ea(this,fs)}get grammarFileName(){return ea(this,ys)}get ruleNames(){return ea(this,Ys)}get channelNames(){return ea(this,ws)}get modeNames(){return ea(this,bs)}get vocabulary(){return ea(this,Ws)}},Ea(Bs,"LexerInterpreter"),Ks=class t{constructor(t){(0,js.Z)(this,"tokens",void 0),(0,js.Z)(this,"programs",new Map),(0,js.Z)(this,"lastRewriteTokenIndexes",void 0),this.tokens=t}getTokenStream(){return this.tokens}insertAfter(e,s){let a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.DEFAULT_PROGRAM_NAME;a="number"===typeof e?e:e.tokenIndex;const i=this.getProgram(r),c=new xc(this.tokens,a,i.length,s);i.push(c)}insertBefore(e,s){let a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.DEFAULT_PROGRAM_NAME;a="number"===typeof e?e:e.tokenIndex;const i=this.getProgram(r),c=new gc(this.tokens,a,i.length,s);i.push(c)}replaceSingle(e,s){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.DEFAULT_PROGRAM_NAME;this.replace(e,e,s,a)}replace(e,s,a){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.DEFAULT_PROGRAM_NAME;if("number"!==typeof e&&(e=e.tokenIndex),"number"!==typeof s&&(s=s.tokenIndex),e>s||e<0||s<0||s>=this.tokens.size)throw new RangeError("replace: range invalid: ".concat(e,"..").concat(s,"(size=").concat(this.tokens.size,")"));const i=this.getProgram(r),c=new kc(this.tokens,e,s,i.length,a);i.push(c)}delete(e,s){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.DEFAULT_PROGRAM_NAME;null==s&&(s=e),this.replace(e,s,null,a)}getProgram(t){let e=this.programs.get(t);return null==e&&(e=this.initializeProgram(t)),e}initializeProgram(t){const e=[];return this.programs.set(t,e),e}getText(e){let s,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.DEFAULT_PROGRAM_NAME;s=e instanceof oa?e:new oa(0,this.tokens.size-1),"string"===typeof e&&(a=e);const r=this.programs.get(a);let i=s.start,c=s.stop;if(c>this.tokens.size-1&&(c=this.tokens.size-1),i<0&&(i=0),null==r||0===r.length)return this.tokens.getTextFromInterval(new oa(i,c));const n=[],h=this.reduceToSingleOperationPerIndex(r);let E=i;for(;E<=c&&E=this.tokens.size-1&&n.push(String(t.text));return n.join("")}reduceToSingleOperationPerIndex(t){for(let s=0;sa.index&&s.index<=a.lastIndex&&(t[s.instructionIndex]=null);const i=this.getKindOfOps(t,kc,s);for(const s of i){if(s.index>=a.index&&s.lastIndex<=a.lastIndex){t[s.instructionIndex]=null;continue}const e=s.lastIndexa.lastIndex;if(null!=s.text||null!=a.text||e){if(!e)throw new Error("replace op boundaries of ".concat(a," overlap with previous ").concat(s))}else t[s.instructionIndex]=null,a.index=Math.min(s.index,a.index),a.lastIndex=Math.max(s.lastIndex,a.lastIndex)}}for(let s=0;s=c.index&&a.index<=c.lastIndex)throw new Error("insert op ".concat(a," within boundaries of previous ").concat(c))}else c.text=this.catOpText(a.text,c.text),t[s]=null}const e=new Map;for(const s of t)if(null!=s){if(null!=e.get(s.index))throw new Error("should only be one op per index");e.set(s.index,s)}return e}catOpText(t,e){let s="",a="";return null!=t&&(s=t.toString()),null!=e&&(a=e.toString()),s+a}getKindOfOps(t,e,s){return t.slice(0,s).filter((t=>t&&t instanceof e))}},Ea(Ks,"TokenStreamRewriter"),(0,js.Z)(Ks,"DEFAULT_PROGRAM_NAME","default"),(0,js.Z)(Ks,"PROGRAM_INIT_SIZE",100),(0,js.Z)(Ks,"MIN_TOKEN_INDEX",0),Ea(Qs=class{constructor(t,e,s,a){(0,js.Z)(this,"instructionIndex",void 0),(0,js.Z)(this,"index",void 0),(0,js.Z)(this,"text",void 0),(0,js.Z)(this,"tokens",void 0),this.tokens=t,this.instructionIndex=s,this.index=e,this.text=void 0===a?"":a}execute(t){return this.index}toString(){return"'}},"RewriteOperation"),Qs),gc=(Ea(Js=class extends pc{constructor(t,e,s,a){super(t,e,s,a)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==ca.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}toString(){return"'}},"InsertBeforeOp"),Js),xc=(Ea(Zs=class extends gc{constructor(t,e,s,a){super(t,e+1,s,a)}toString(){return"'}},"InsertAfterOp"),Zs),kc=(qs=class extends pc{constructor(t,e,s,a,r){super(t,e,a,r),(0,js.Z)(this,"lastIndex",void 0),this.lastIndex=s}execute(t){return this.text&&t.push(this.text.toString()),this.lastIndex+1}toString(){return null==this.text?"":"'}},Ea(qs,"ReplaceOp"),qs),Hc=Object.defineProperty,Gc=(t,e)=>Hc(t,"name",{value:e,configurable:!0}),Fc=(Ci=new WeakMap,Gc(Li=class{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";(0,js.Z)(this,"name",void 0),(0,js.Z)(this,"context",void 0),(0,js.Z)(this,"modifiers",new Set),(0,js.Z)(this,"visibility",0),r(this,Ci,{writable:!0,value:void 0}),this.name=t}get parent(){return ea(this,Ci)}get firstSibling(){var t;if(ea(this,Ci))return null===(t=ea(this,Ci))||void 0===t?void 0:t.firstChild}get previousSibling(){if(ea(this,Ci))return ea(this,Ci)?ea(this,Ci).previousSiblingOf(this):this}get nextSibling(){var t;return null===(t=ea(this,Ci))||void 0===t?void 0:t.nextSiblingOf(this)}get lastSibling(){var t;return null===(t=ea(this,Ci))||void 0===t?void 0:t.lastChild}get next(){var t;return null===(t=ea(this,Ci))||void 0===t?void 0:t.nextOf(this)}get root(){let t=ea(this,Ci);for(;t;){if(!t.parent||this.isSymbolTable(t.parent))return t;t=t.parent}return t}get symbolTable(){if(this.isSymbolTable(this))return this;let t=ea(this,Ci);for(;t;){if(this.isSymbolTable(t))return t;t=t.parent}}get symbolPath(){const t=[];let e=this;for(;e&&(t.push(e),e.parent);)e=e.parent;return t}setParent(t){$s(this,Ci,t)}removeFromParent(){var t;null===(t=ea(this,Ci))||void 0===t||t.removeSymbol(this),$s(this,Ci,void 0)}async resolve(t){var e;let s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return null===(e=ea(this,Ci))||void 0===e?void 0:e.resolve(t,s)}resolveSync(t){var e;let s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return null===(e=ea(this,Ci))||void 0===e?void 0:e.resolveSync(t,s)}getParentOfType(t){let e=ea(this,Ci);for(;e;){if(e instanceof t)return e;e=e.parent}}qualifiedName(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:".",e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!s&&0===this.name.length)return"";let a=0===this.name.length?"":this.name,r=ea(this,Ci);for(;r&&((s||r.name.length>0)&&(a=(0===r.name.length?"":r.name)+t+a),e&&r.parent);)r=r.parent;return a}isSymbolTable(t){return void 0!==t.info}},"BaseSymbol"),Li),vc=(Gc(_i=class extends Fc{constructor(t,e,s){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;super(t),(0,js.Z)(this,"elementType",void 0),(0,js.Z)(this,"size",void 0),(0,js.Z)(this,"referenceKind",void 0),this.referenceKind=e,this.elementType=s,this.size=a}get baseTypes(){return[]}get kind(){return 9}get reference(){return this.referenceKind}},"ArrayType"),Pi=class extends Error{},Gc(Pi,"DuplicateSymbolError"),Pi),Bc=(di=new WeakMap,Ui=new WeakMap,Gc(Mi=class t extends Fc{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:""),r(this,di,{writable:!0,value:[]}),r(this,Ui,{writable:!0,value:new Map})}get directScopes(){return this.getSymbolsOfType(t)}get children(){return ea(this,di)}get firstChild(){if(ea(this,di).length>0)return ea(this,di)[0]}get lastChild(){if(ea(this,di).length>0)return ea(this,di)[ea(this,di).length-1]}clear(){$s(this,di,[]),ea(this,Ui).clear()}addSymbol(t){t.removeFromParent();const e=this.symbolTable,s=ea(this,Ui).get(t.name);if(e&&e.options.allowDuplicateSymbols)ea(this,Ui).set(t.name,void 0===s?1:s+1);else{var a;if(void 0!==s)throw new vc("Attempt to add duplicate symbol '"+(null!==(a=t.name)&&void 0!==a?a:"")+"'");ea(this,Ui).set(t.name,1);var r;if(ea(this,di).indexOf(t)>-1)throw new vc("Attempt to add duplicate symbol '"+(null!==(r=t.name)&&void 0!==r?r:"")+"'")}ea(this,di).push(t),t.setParent(this)}removeSymbol(t){const e=ea(this,di).indexOf(t);if(e>-1){ea(this,di).splice(e,1),t.setParent(void 0);const s=ea(this,Ui).get(t.name);void 0!==s&&(1===s?ea(this,Ui).delete(t.name):ea(this,Ui).set(t.name,s-1))}}async getNestedSymbolsOfType(e){const s=[],a=[];ea(this,di).forEach((r=>{r instanceof e&&s.push(r),r instanceof t&&a.push(r.getNestedSymbolsOfType(e))}));return(await Promise.all(a)).forEach((t=>{s.push(...t)})),s}getNestedSymbolsOfTypeSync(e){const s=[];return ea(this,di).forEach((a=>{a instanceof e&&s.push(a),a instanceof t&&s.push(...a.getNestedSymbolsOfTypeSync(e))})),s}async getAllNestedSymbols(e){const s=[],a=[];ea(this,di).forEach((r=>{e&&r.name!==e||s.push(r),r instanceof t&&a.push(r.getAllNestedSymbols(e))}));return(await Promise.all(a)).forEach((t=>{s.push(...t)})),s}getAllNestedSymbolsSync(e){const s=[];return ea(this,di).forEach((a=>{e&&a.name!==e||s.push(a),a instanceof t&&s.push(...a.getAllNestedSymbolsSync(e))})),s}getSymbolsOfType(t){return new Promise((e=>{const s=[];ea(this,di).forEach((e=>{e instanceof t&&s.push(e)})),e(s)}))}async getAllSymbols(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=[];for(const a of ea(this,di))if(a instanceof t&&s.push(a),this.isNamespace(a)){const e=await a.getAllSymbols(t,!0);s.push(...e)}if(!e&&this.parent){const e=await this.getAllSymbols(t,!0);s.push(...e)}return s}getAllSymbolsSync(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=[];for(const a of ea(this,di))if(a instanceof t&&s.push(a),this.isNamespace(a)){const e=a.getAllSymbolsSync(t,!0);s.push(...e)}if(!e&&this.parent){const e=this.getAllSymbolsSync(t,!0);s.push(...e)}return s}async resolve(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise((s=>{for(const e of ea(this,di))if(e.name===t)return void s(e);e||!this.parent?s(void 0):s(this.parent.resolve(t,!1))}))}resolveSync(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(const s of ea(this,di))if(s.name===t)return s;if(!e&&this.parent)return this.parent.resolveSync(t,!1)}symbolFromPath(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:".";const a=e.split(s);let r=0;a[0]!==this.name&&0!==a[0].length||++r;let i=this;for(;rt.name===a[r]));if(!e)return;i=e,++r}return i}indexOfChild(t){return ea(this,di).findIndex((e=>e===t))}nextSiblingOf(t){const e=this.indexOfChild(t);if(!(-1===e||e>=ea(this,di).length-1))return ea(this,di)[e+1]}previousSiblingOf(t){const e=this.indexOfChild(t);if(!(e<1))return ea(this,di)[e-1]}nextOf(e){if(!e.parent)return;if(e.parent!==this)return e.parent.nextOf(e);if(e instanceof t&&e.children.length>0)return e.children[0];const s=this.nextSiblingOf(e);return s||this.parent.nextOf(this)}isNamespace(t){return void 0!==t.inline&&void 0!==t.attributes}},"ScopedSymbol"),Mi),yc=(Gc(mi=class extends Bc{},"BlockSymbol"),Gc(Di=class extends Fc{constructor(t,e){super(t),(0,js.Z)(this,"type",void 0),this.type=e}},"TypedSymbol"),Di),fc=(Gc(pi=class extends yc{constructor(t,e,s){super(t,s),(0,js.Z)(this,"value",void 0),this.value=e}},"VariableSymbol"),pi),Yc=(Gc(gi=class extends fc{constructor(){super(...arguments),(0,js.Z)(this,"setter",void 0),(0,js.Z)(this,"getter",void 0)}},"FieldSymbol"),gi),wc=(Gc(xi=class extends fc{},"ParameterSymbol"),xi),bc=(Gc(ki=class extends Bc{constructor(t,e){super(t),(0,js.Z)(this,"returnType",void 0),this.returnType=e}getVariables(){return this.getSymbolsOfType(fc)}getParameters(){return this.getSymbolsOfType(wc)}},"RoutineSymbol"),ki),Wc=(Gc(Hi=class extends bc{constructor(){super(...arguments),(0,js.Z)(this,"methodFlags",0)}},"MethodSymbol"),Hi),Vc=(Gc(Gi=class extends Bc{constructor(t,e,s){super(t),(0,js.Z)(this,"isStruct",!1),(0,js.Z)(this,"reference",0),(0,js.Z)(this,"extends",void 0),(0,js.Z)(this,"implements",void 0),this.extends=e,this.implements=s}get baseTypes(){return this.extends}get kind(){return 7}getMethods(){return this.getSymbolsOfType(Wc)}getFields(){return this.getSymbolsOfType(Yc)}},"ClassSymbol"),Gc(Fi=class{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;(0,js.Z)(this,"name",void 0),(0,js.Z)(this,"typeKind",void 0),(0,js.Z)(this,"referenceKind",void 0),this.name=t,this.typeKind=e,this.referenceKind=s}get baseTypes(){return[]}get kind(){return this.typeKind}get reference(){return this.referenceKind}},"FundamentalType"),(0,js.Z)(Fi,"integerType",new Fi("int",1,3)),(0,js.Z)(Fi,"floatType",new Fi("float",2,3)),(0,js.Z)(Fi,"stringType",new Fi("string",4,3)),(0,js.Z)(Fi,"boolType",new Fi("bool",6,3)),Gc(vi=class extends Bc{constructor(t,e){super(t),(0,js.Z)(this,"reference",0),(0,js.Z)(this,"extends",void 0),this.extends=e}get baseTypes(){return this.extends}get kind(){return 8}getMethods(){return this.getSymbolsOfType(Wc)}getFields(){return this.getSymbolsOfType(Yc)}},"InterfaceSymbol"),Gc(Bi=class extends yc{constructor(t,e,s){super(t,s),(0,js.Z)(this,"value",void 0),this.value=e}},"LiteralSymbol"),Gc(yi=class extends Bc{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];super(t),(0,js.Z)(this,"inline",void 0),(0,js.Z)(this,"attributes",void 0),this.inline=e,this.attributes=s}},"NamespaceSymbol"),yi),Xc=(Gc(fi=class extends Fc{constructor(t,e){super(t),(0,js.Z)(this,"targetType",void 0),this.targetType=e}get baseTypes(){return[this.targetType]}get kind(){return 12}get reference(){return 0}},"TypeAlias"),Gc(((t,e)=>{if(!t||!e)return[];let s;for(s=0;s=t||e.type===ca.EOF))break;if(e.type===ca.EOF)break}const r=e?e.ruleIndex:0;if(this.processRule(this.atn.ruleToStartState[r],0,[],0,0),this.showResult){console.log("States processed: ".concat(this.statesProcessed)),console.log("\n\nCollected rules:\n");for(const e of this.candidates.rules){let t="";for(const s of e[1].ruleList)t+=this.ruleNames[s]+" ";console.log(this.ruleNames[e[0]]+", path: ",t)}const t=new Set;for(const e of this.candidates.tokens){var i;let s=null!==(i=this.vocabulary.getDisplayName(e[0]))&&void 0!==i?i:"";for(const t of e[1])s+=" "+this.vocabulary.getDisplayName(t);t.add(s)}console.log("\n\nCollected tokens:\n");for(const e of t)console.log(e);console.log("\n\n")}return this.candidates}checkPredicate(t){return t.getPredicate().evaluate(this.parser,ga.empty)}translateStackToRuleIndex(t){if(0===this.preferredRules.size)return!1;if(this.translateRulesTopDown){for(let e=t.length-1;e>=0;e--)if(this.translateToRuleIndex(e,t))return!0}else for(let e=0;e{let{ruleIndex:e}=t;return e}));let i=!0;for(const t of this.candidates.rules)if(t[0]===s&&t[1].ruleList.length===r.length&&r.every(((e,s)=>e===t[1].ruleList[s]))){i=!1;break}return i&&(this.candidates.rules.set(s,{startTokenIndex:a,ruleList:r}),this.showDebugOutput&&console.log("=====> collected: ",this.ruleNames[s])),!0}return!1}getFollowingTokens(t){const e=[],s=[t.target];for(;s.length>0;){const t=s.pop();t&&t.transitions.forEach((t=>{if(t.transitionType===la.ATOM)if(t.isEpsilon)s.push(t.target);else{const a=t.label.toArray();1!==a.length||this.ignoredTokens.has(a[0])||(e.push(a[0]),s.push(t.target))}}))}return e}determineFollowSets(t,e){const s=[],a=this.collectFollowSets(t,e,s,[],[]),r=new Sa;for(const i of s)r.addSet(i.intervals);return{sets:s,isExhaustive:a,combined:r}}collectFollowSets(t,e,s,a,r){if(a.find((e=>e===t)))return!0;if(a.push(t),t===e||t.constructor.stateType===Va.RULE_STOP)return a.pop(),!1;let i=!0;for(const n of t.transitions)if(n.transitionType===la.RULE){const t=n;if(-1!==r.indexOf(t.target.ruleIndex))continue;r.push(t.target.ruleIndex);const c=this.collectFollowSets(n.target,e,s,a,r);if(r.pop(),!c){const c=this.collectFollowSets(t.followState,e,s,a,r);i&&(i=c)}}else if(n.transitionType===la.PREDICATE){if(this.checkPredicate(n)){const t=this.collectFollowSets(n.target,e,s,a,r);i&&(i=t)}}else if(n.isEpsilon){const t=this.collectFollowSets(n.target,e,s,a,r);i&&(i=t)}else if(n.transitionType===la.WILDCARD){const t=new Qc;t.intervals=Sa.of(ca.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType),t.path=r.slice(),s.push(t)}else{let t=n.label;if(t&&t.length>0){var c;n.transitionType===la.NOT_SET&&(t=t.complement(ca.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType));const e=new Qc;e.intervals=null!==(c=t)&&void 0!==c?c:new Sa,e.path=r.slice(),e.following=this.getFollowingTokens(n),s.push(e)}}return a.pop(),i}processRule(e,s,a,r,i){let c=this.shortcutMap.get(e.ruleIndex);if(c){if(c.has(s))return this.showDebugOutput&&console.log("=====> shortcut"),c.get(s)}else c=new Map,this.shortcutMap.set(e.ruleIndex,c);const n=new Set;let h=t.followSetsByATN.get(this.parser.constructor.name);h||(h=new Map,t.followSetsByATN.set(this.parser.constructor.name,h));let E=h.get(e.stateNumber);if(!E){const t=this.atn.ruleToStopState[e.ruleIndex];E=this.determineFollowSets(e,t),h.set(e.stateNumber,E)}const T=this.tokens[s].tokenIndex;if(a.push({startTokenIndex:T,ruleIndex:e.ruleIndex}),s>=this.tokens.length-1){if(this.preferredRules.has(e.ruleIndex))this.translateStackToRuleIndex(a);else for(const t of E.sets){const e=a.slice(),s=t.path.map((t=>({startTokenIndex:T,ruleIndex:t})));if(e.push(...s),!this.translateStackToRuleIndex(e))for(const a of t.intervals.toArray())this.ignoredTokens.has(a)||(this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(a)),this.candidates.tokens.has(a)?this.candidates.tokens.get(a)!==t.following&&this.candidates.tokens.set(a,[]):this.candidates.tokens.set(a,t.following))}return E.isExhaustive||n.add(s),a.pop(),n}{const t=this.tokens[s].type;if(E.isExhaustive&&!E.combined.contains(t))return a.pop(),n}e.isPrecedenceRule&&this.precedenceStack.push(r);const o=[];let R;for(o.push({state:e,tokenListIndex:s});o.length>0;){R=o.pop(),++this.statesProcessed;const t=this.tokens[R.tokenListIndex].type,e=R.tokenListIndex>=this.tokens.length-1;if(this.showDebugOutput&&(this.printDescription(i,R.state,this.generateBaseDescription(R.state),R.tokenListIndex),this.showRuleStack&&this.printRuleState(a)),R.state.constructor.stateType===Va.RULE_STOP){n.add(R.tokenListIndex);continue}const s=R.state.transitions;for(const r of s)switch(r.transitionType){case la.RULE:{const t=r,e=this.processRule(r.target,R.tokenListIndex,a,t.precedence,i+1);for(const s of e)o.push({state:r.followState,tokenListIndex:s});break}case la.PREDICATE:this.checkPredicate(r)&&o.push({state:r.target,tokenListIndex:R.tokenListIndex});break;case la.PRECEDENCE:r.precedence>=this.precedenceStack[this.precedenceStack.length-1]&&o.push({state:r.target,tokenListIndex:R.tokenListIndex});break;case la.WILDCARD:if(e){if(!this.translateStackToRuleIndex(a))for(const t of Sa.of(ca.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType).toArray())this.ignoredTokens.has(t)||this.candidates.tokens.set(t,[])}else o.push({state:r.target,tokenListIndex:R.tokenListIndex+1});break;default:{if(r.isEpsilon){o.push({state:r.target,tokenListIndex:R.tokenListIndex});continue}let s=r.label;if(s&&s.length>0)if(r.transitionType===la.NOT_SET&&(s=s.complement(ca.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),e){if(!this.translateStackToRuleIndex(a)){const t=s.toArray(),e=1===t.length;for(const s of t)if(!this.ignoredTokens.has(s)){this.showDebugOutput&&console.log("=====> collected: ",this.vocabulary.getDisplayName(s));const t=e?this.getFollowingTokens(r):[];this.candidates.tokens.has(s)?this.candidates.tokens.set(s,Xc(t,this.candidates.tokens.get(s))):this.candidates.tokens.set(s,t)}}}else s.contains(t)&&(this.showDebugOutput&&console.log("=====> consumed: ",this.vocabulary.getDisplayName(t)),o.push({state:r.target,tokenListIndex:R.tokenListIndex+1}))}}}return a.pop(),e.isPrecedenceRule&&this.precedenceStack.pop(),c.set(s,n),n}generateBaseDescription(e){const s=e.stateNumber===Va.INVALID_STATE_NUMBER?"Invalid":e.stateNumber,a=t.atnStateTypeMap[e.constructor.stateType];return"[".concat(s," ").concat(a,"] in ").concat(this.ruleNames[e.ruleIndex])}printDescription(e,s,a,r){const i=" ".repeat(e);let c=i,n="";if(this.debugOutputWithTransitions)for(const h of s.transitions){let e="";const s=h.label?h.label.toArray():[];if(s.length>2)e=this.vocabulary.getDisplayName(s[0])+" .. "+this.vocabulary.getDisplayName(s[s.length-1]);else for(const t of s)e.length>0&&(e+=", "),e+=this.vocabulary.getDisplayName(t);0===e.length&&(e="\u03b5");const a=t.atnStateTypeMap[h.target.constructor.stateType];n+="\n".concat(i,"\t(").concat(e,") [").concat(h.target.stateNumber," ").concat(a,"] in ").concat(this.ruleNames[h.target.ruleIndex])}r>=this.tokens.length-1?c+="<<".concat(this.tokenStartIndex+r,">> "):c+="<".concat(this.tokenStartIndex+r,"> "),console.log(c+"Current state: "+a+n)}printRuleState(t){if(0!==t.length)for(const e of t)console.log(this.ruleNames[e.ruleIndex]);else console.log("")}},Gc(bi,"CodeCompletionCore"),(0,js.Z)(bi,"followSetsByATN",new Map),(0,js.Z)(bi,"atnStateTypeMap",["invalid","basic","rule start","block start","plus block start","star block start","token start","rule stop","block end","star loop back","star loop entry","plus loop back","loop end"]),bi),Zc=(Wi=class extends Bc{constructor(t,e){super(t),(0,js.Z)(this,"dependencies",new Set),this.options=e}get info(){return{dependencyCount:this.dependencies.size,symbolCount:this.children.length}}clear(){super.clear(),this.dependencies.clear()}addDependencies(){for(var t=arguments.length,e=new Array(t),s=0;s{this.dependencies.add(t)}))}removeDependency(t){this.dependencies.has(t)&&this.dependencies.delete(t)}addNewSymbolOfType(t,e){for(var s=arguments.length,a=new Array(s>2?s-2:0),r=2;r2&&void 0!==arguments[2]?arguments[2]:".";const a=e.split(s);let r=0,i=void 0===t?this:t;for(;r2&&void 0!==arguments[2]?arguments[2]:".";const a=e.split(s);let r=0,i=void 0===t?this:t;for(;r1&&void 0!==arguments[1]&&arguments[1];const s=await super.getAllSymbols(t,e);if(!e){(await Promise.all([...this.dependencies].map((s=>s.getAllSymbols(t,e))))).forEach((t=>{s.push(...t)}))}return s}getAllSymbolsSync(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=super.getAllSymbolsSync(t,e);return e||this.dependencies.forEach((a=>{s.push(...a.getAllSymbolsSync(t,e))})),s}async symbolWithContext(t){const e=Gc((s=>{if(s.context===t)return s;if(s instanceof Bc)for(const t of s.children){const s=e(t);if(s)return s}}),"findRecursive");let s=await this.getAllSymbols(Fc);for(const a of s){const t=e(a);if(t)return t}for(const a of this.dependencies){s=await a.getAllSymbols(Fc);for(const t of s){const s=e(t);if(s)return s}}}symbolWithContextSync(t){const e=Gc((s=>{if(s.context===t)return s;if(s instanceof Bc)for(const t of s.children){const s=e(t);if(s)return s}}),"findRecursive");let s=this.getAllSymbolsSync(Fc);for(const a of s){const t=e(a);if(t)return t}for(const a of this.dependencies){s=a.getAllSymbolsSync(Fc);for(const t of s){const s=e(t);if(s)return s}}}async resolve(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=await super.resolve(t,e);if(!s&&!e)for(const a of this.dependencies)if(s=await a.resolve(t,!1),s)return s;return s}resolveSync(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=super.resolveSync(t,e);if(!s&&!e)for(const a of this.dependencies)if(s=a.resolveSync(t,!1),s)return s;return s}},Gc(Wi,"SymbolTable"),Wi),qc=class extends yc{constructor(t,e,s){super(t,s),this.name=t,this.alias=e}};function jc(t){return function(){let t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce(((t,e)=>{var s;let a=null!==(s=t[e.name])&&void 0!==s?s:new Set;return e.alias&&a.add(e.alias),t[e.name]=a,t}),{});return Object.keys(t).reduce(((e,s)=>{let a=t[s];return a.size>0?null===a||void 0===a||a.forEach((t=>{e.push({name:s,alias:t})})):e.push({name:s}),e}),[])}(t.symbolTable.getNestedSymbolsOfTypeSync(qc))}var zc=class extends yc{constructor(t,e){super(t,e),this.name=t}};var $c,tn=($c=tn||{},$c.ALL="ALL",$c.TABLES="TABLES",$c.VIEWS="VIEWS",$c),en=/^\p{L}+$/u,sn=class extends $r{constructor(){super(...arguments),this.tags=[]}pushTag(){this.tags.push(this.text)}isTag(){return this.text===this.tags[0]}popTag(){this.tags.shift()}checkLA(t){return this.inputStream.LA(1)!==t}charIsLetter(){return en.test(this.inputStream.LA(-1))}HandleNumericFail(){this.inputStream.seek(this.inputStream.index-2),this.type=658}HandleLessLessGreaterGreater(){"<<"==this.text?this.type=18:">>"==this.text&&(this.type=19)}UnterminatedBlockCommentDebugAssert(){}CheckIfUtf32Letter(){let t,e=this.inputStream.LA(-2)<<8+this.inputStream.LA(-1);return e<65536?t=[e]:(e-=65536,t=[e/1024+55296,e%1024+56320]),en.test("".concat(t[0]))}},an=(Vi=class t extends sn{constructor(e){super(e),this.interpreter=new hi(this,t._ATN,t.decisionsToDFA,new Si)}get grammarFileName(){return"PostgreSqlLexer.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}get channelNames(){return t.channelNames}get modeNames(){return t.modeNames}action(t,e,s){switch(e){case 28:this.Operator_action(t,s);break;case 656:this.BeginDollarStringConstant_action(t,s);break;case 667:this.NumericFail_action(t,s);break;case 676:this.UnterminatedBlockComment_action(t,s);break;case 688:this.AfterEscapeStringConstantMode_NotContinued_action(t,s);break;case 692:this.AfterEscapeStringConstantWithNewlineMode_NotContinued_action(t,s);break;case 694:this.EndDollarStringConstant_action(t,s)}}Operator_action(t,e){if(0===e)this.HandleLessLessGreaterGreater()}BeginDollarStringConstant_action(t,e){if(1===e)this.pushTag()}NumericFail_action(t,e){if(2===e)this.HandleNumericFail()}UnterminatedBlockComment_action(t,e){if(3===e)this.UnterminatedBlockCommentDebugAssert()}AfterEscapeStringConstantMode_NotContinued_action(t,e){e}AfterEscapeStringConstantWithNewlineMode_NotContinued_action(t,e){e}EndDollarStringConstant_action(t,e){if(6===e)this.popTag()}sempred(t,e,s){switch(e){case 28:return this.Operator_sempred(t,s);case 29:return this.OperatorEndingWithPlusMinus_sempred(t,s);case 640:return this.IdentifierStartChar_sempred(t,s);case 694:return this.EndDollarStringConstant_sempred(t,s)}return!0}Operator_sempred(t,e){switch(e){case 0:return this.checkLA("-");case 1:case 2:return this.checkLA("*")}return!0}OperatorEndingWithPlusMinus_sempred(t,e){switch(e){case 3:case 5:return this.checkLA("-");case 4:return this.checkLA("*")}return!0}IdentifierStartChar_sempred(t,e){switch(e){case 6:return this.charIsLetter();case 7:return}return!0}EndDollarStringConstant_sempred(t,e){return 8!==e||this.isTag()}static get _ATN(){return t.__ATN||(t.__ATN=(new fr).deserialize(t._serializedATN)),t.__ATN}get vocabulary(){return t.vocabulary}},Vi.Dollar=1,Vi.OPEN_PAREN=2,Vi.CLOSE_PAREN=3,Vi.OPEN_BRACKET=4,Vi.CLOSE_BRACKET=5,Vi.COMMA=6,Vi.SEMI=7,Vi.COLON=8,Vi.STAR=9,Vi.EQUAL=10,Vi.DOT=11,Vi.PLUS=12,Vi.MINUS=13,Vi.SLASH=14,Vi.CARET=15,Vi.LT=16,Vi.GT=17,Vi.LESS_LESS=18,Vi.GREATER_GREATER=19,Vi.COLON_EQUALS=20,Vi.LESS_EQUALS=21,Vi.EQUALS_GREATER=22,Vi.GREATER_EQUALS=23,Vi.DOT_DOT=24,Vi.NOT_EQUALS=25,Vi.TYPECAST=26,Vi.PERCENT=27,Vi.PARAM=28,Vi.Operator=29,Vi.ALL=30,Vi.ANALYSE=31,Vi.ANALYZE=32,Vi.AND=33,Vi.ANY=34,Vi.ARRAY=35,Vi.AS=36,Vi.ASC=37,Vi.ASYMMETRIC=38,Vi.BOTH=39,Vi.CASE=40,Vi.CAST=41,Vi.CHECK=42,Vi.COLLATE=43,Vi.COLUMN=44,Vi.CONSTRAINT=45,Vi.CREATE=46,Vi.CURRENT_CATALOG=47,Vi.CURRENT_DATE=48,Vi.CURRENT_ROLE=49,Vi.CURRENT_TIME=50,Vi.CURRENT_TIMESTAMP=51,Vi.CURRENT_USER=52,Vi.DEFAULT=53,Vi.DEFERRABLE=54,Vi.DESC=55,Vi.DISTINCT=56,Vi.DO=57,Vi.ELSE=58,Vi.EXCEPT=59,Vi.FALSE_P=60,Vi.FETCH=61,Vi.FOR=62,Vi.FOREIGN=63,Vi.FROM=64,Vi.GRANT=65,Vi.GROUP_P=66,Vi.HAVING=67,Vi.IN_P=68,Vi.INITIALLY=69,Vi.INTERSECT=70,Vi.INTO=71,Vi.LATERAL_P=72,Vi.LEADING=73,Vi.LIMIT=74,Vi.LOCALTIME=75,Vi.LOCALTIMESTAMP=76,Vi.NOT=77,Vi.NULL_P=78,Vi.OFFSET=79,Vi.ON=80,Vi.ONLY=81,Vi.OR=82,Vi.ORDER=83,Vi.PLACING=84,Vi.PRIMARY=85,Vi.REFERENCES=86,Vi.RETURNING=87,Vi.SELECT=88,Vi.SESSION_USER=89,Vi.SOME=90,Vi.SYMMETRIC=91,Vi.TABLE=92,Vi.THEN=93,Vi.TO=94,Vi.TRAILING=95,Vi.TRUE_P=96,Vi.UNION=97,Vi.UNIQUE=98,Vi.USER=99,Vi.USING=100,Vi.VARIADIC=101,Vi.WHEN=102,Vi.WHERE=103,Vi.WINDOW=104,Vi.WITH=105,Vi.AUTHORIZATION=106,Vi.BINARY=107,Vi.COLLATION=108,Vi.CONCURRENTLY=109,Vi.CROSS=110,Vi.CURRENT_SCHEMA=111,Vi.FREEZE=112,Vi.FULL=113,Vi.ILIKE=114,Vi.INNER_P=115,Vi.IS=116,Vi.ISNULL=117,Vi.JOIN=118,Vi.LEFT=119,Vi.LIKE=120,Vi.NATURAL=121,Vi.NOTNULL=122,Vi.OUTER_P=123,Vi.OVER=124,Vi.OVERLAPS=125,Vi.RIGHT=126,Vi.SIMILAR=127,Vi.VERBOSE=128,Vi.ABORT_P=129,Vi.ABSOLUTE_P=130,Vi.ACCESS=131,Vi.ACTION=132,Vi.ADD_P=133,Vi.ADMIN=134,Vi.AFTER=135,Vi.AGGREGATE=136,Vi.ALSO=137,Vi.ALTER=138,Vi.ALWAYS=139,Vi.ASSERTION=140,Vi.ASSIGNMENT=141,Vi.AT=142,Vi.ATTRIBUTE=143,Vi.BACKWARD=144,Vi.BEFORE=145,Vi.BEGIN_P=146,Vi.BY=147,Vi.CACHE=148,Vi.CALLED=149,Vi.CASCADE=150,Vi.CASCADED=151,Vi.CATALOG=152,Vi.CHAIN=153,Vi.CHARACTERISTICS=154,Vi.CHECKPOINT=155,Vi.CLASS=156,Vi.CLOSE=157,Vi.CLUSTER=158,Vi.COMMENT=159,Vi.COMMENTS=160,Vi.COMMIT=161,Vi.COMMITTED=162,Vi.CONFIGURATION=163,Vi.CONNECTION=164,Vi.CONSTRAINTS=165,Vi.CONTENT_P=166,Vi.CONTINUE_P=167,Vi.CONVERSION_P=168,Vi.COPY=169,Vi.COST=170,Vi.CSV=171,Vi.CURSOR=172,Vi.CYCLE=173,Vi.DATA_P=174,Vi.DATABASE=175,Vi.DAY_P=176,Vi.DEALLOCATE=177,Vi.DECLARE=178,Vi.DEFAULTS=179,Vi.DEFERRED=180,Vi.DEFINER=181,Vi.DELETE_P=182,Vi.DELIMITER=183,Vi.DELIMITERS=184,Vi.DICTIONARY=185,Vi.DISABLE_P=186,Vi.DISCARD=187,Vi.DOCUMENT_P=188,Vi.DOMAIN_P=189,Vi.DOUBLE_P=190,Vi.DROP=191,Vi.EACH=192,Vi.ENABLE_P=193,Vi.ENCODING=194,Vi.ENCRYPTED=195,Vi.ENUM_P=196,Vi.ESCAPE=197,Vi.EVENT=198,Vi.EXCLUDE=199,Vi.EXCLUDING=200,Vi.EXCLUSIVE=201,Vi.EXECUTE=202,Vi.EXPLAIN=203,Vi.EXTENSION=204,Vi.EXTERNAL=205,Vi.FAMILY=206,Vi.FIRST_P=207,Vi.FOLLOWING=208,Vi.FORCE=209,Vi.FORWARD=210,Vi.FUNCTION=211,Vi.FUNCTIONS=212,Vi.GLOBAL=213,Vi.GRANTED=214,Vi.HANDLER=215,Vi.HEADER_P=216,Vi.HOLD=217,Vi.HOUR_P=218,Vi.IDENTITY_P=219,Vi.IF_P=220,Vi.IMMEDIATE=221,Vi.IMMUTABLE=222,Vi.IMPLICIT_P=223,Vi.INCLUDING=224,Vi.INCREMENT=225,Vi.INDEX=226,Vi.INDEXES=227,Vi.INHERIT=228,Vi.INHERITS=229,Vi.INLINE_P=230,Vi.INSENSITIVE=231,Vi.INSERT=232,Vi.INSTEAD=233,Vi.INVOKER=234,Vi.ISOLATION=235,Vi.KEY=236,Vi.LABEL=237,Vi.LANGUAGE=238,Vi.LARGE_P=239,Vi.LAST_P=240,Vi.LEAKPROOF=241,Vi.LEVEL=242,Vi.LISTEN=243,Vi.LOAD=244,Vi.LOCAL=245,Vi.LOCATION=246,Vi.LOCK_P=247,Vi.MAPPING=248,Vi.MATCH=249,Vi.MATCHED=250,Vi.MATERIALIZED=251,Vi.MAXVALUE=252,Vi.MERGE=253,Vi.MINUTE_P=254,Vi.MINVALUE=255,Vi.MODE=256,Vi.MONTH_P=257,Vi.MOVE=258,Vi.NAME_P=259,Vi.NAMES=260,Vi.NEXT=261,Vi.NO=262,Vi.NOTHING=263,Vi.NOTIFY=264,Vi.NOWAIT=265,Vi.NULLS_P=266,Vi.OBJECT_P=267,Vi.OF=268,Vi.OFF=269,Vi.OIDS=270,Vi.OPERATOR=271,Vi.OPTION=272,Vi.OPTIONS=273,Vi.OWNED=274,Vi.OWNER=275,Vi.PARSER=276,Vi.PARTIAL=277,Vi.PARTITION=278,Vi.PASSING=279,Vi.PASSWORD=280,Vi.PLANS=281,Vi.PRECEDING=282,Vi.PREPARE=283,Vi.PREPARED=284,Vi.PRESERVE=285,Vi.PRIOR=286,Vi.PRIVILEGES=287,Vi.PROCEDURAL=288,Vi.PROCEDURE=289,Vi.PROGRAM=290,Vi.QUOTE=291,Vi.RANGE=292,Vi.READ=293,Vi.REASSIGN=294,Vi.RECHECK=295,Vi.RECURSIVE=296,Vi.REF=297,Vi.REFRESH=298,Vi.REINDEX=299,Vi.RELATIVE_P=300,Vi.RELEASE=301,Vi.RENAME=302,Vi.REPEATABLE=303,Vi.REPLACE=304,Vi.REPLICA=305,Vi.RESET=306,Vi.RESTART=307,Vi.RESTRICT=308,Vi.RETURNS=309,Vi.REVOKE=310,Vi.ROLE=311,Vi.ROLLBACK=312,Vi.ROWS=313,Vi.RULE=314,Vi.SAVEPOINT=315,Vi.SCHEMA=316,Vi.SCROLL=317,Vi.SEARCH=318,Vi.SECOND_P=319,Vi.SECURITY=320,Vi.SEQUENCE=321,Vi.SEQUENCES=322,Vi.SERIALIZABLE=323,Vi.SERVER=324,Vi.SESSION=325,Vi.SET=326,Vi.SHARE=327,Vi.SHOW=328,Vi.SIMPLE=329,Vi.SNAPSHOT=330,Vi.STABLE=331,Vi.STANDALONE_P=332,Vi.START=333,Vi.STATEMENT=334,Vi.STATISTICS=335,Vi.STDIN=336,Vi.STDOUT=337,Vi.STORAGE=338,Vi.STRICT_P=339,Vi.STRIP_P=340,Vi.SYSID=341,Vi.SYSTEM_P=342,Vi.TABLES=343,Vi.TABLESPACE=344,Vi.TEMP=345,Vi.TEMPLATE=346,Vi.TEMPORARY=347,Vi.TEXT_P=348,Vi.TRANSACTION=349,Vi.TRIGGER=350,Vi.TRUNCATE=351,Vi.TRUSTED=352,Vi.TYPE_P=353,Vi.TYPES_P=354,Vi.UNBOUNDED=355,Vi.UNCOMMITTED=356,Vi.UNENCRYPTED=357,Vi.UNKNOWN=358,Vi.UNLISTEN=359,Vi.UNLOGGED=360,Vi.UNTIL=361,Vi.UPDATE=362,Vi.VACUUM=363,Vi.VALID=364,Vi.VALIDATE=365,Vi.VALIDATOR=366,Vi.VARYING=367,Vi.VERSION_P=368,Vi.VIEW=369,Vi.VOLATILE=370,Vi.WHITESPACE_P=371,Vi.WITHOUT=372,Vi.WORK=373,Vi.WRAPPER=374,Vi.WRITE=375,Vi.XML_P=376,Vi.YEAR_P=377,Vi.YES_P=378,Vi.ZONE=379,Vi.BETWEEN=380,Vi.BIGINT=381,Vi.BIT=382,Vi.BOOLEAN_P=383,Vi.CHAR_P=384,Vi.CHARACTER=385,Vi.COALESCE=386,Vi.DEC=387,Vi.DECIMAL_P=388,Vi.EXISTS=389,Vi.EXTRACT=390,Vi.FLOAT_P=391,Vi.GREATEST=392,Vi.INOUT=393,Vi.INT_P=394,Vi.INTEGER=395,Vi.INTERVAL=396,Vi.LEAST=397,Vi.NATIONAL=398,Vi.NCHAR=399,Vi.NONE=400,Vi.NULLIF=401,Vi.NUMERIC=402,Vi.OVERLAY=403,Vi.POSITION=404,Vi.PRECISION=405,Vi.REAL=406,Vi.ROW=407,Vi.SETOF=408,Vi.SMALLINT=409,Vi.SUBSTRING=410,Vi.TIME=411,Vi.TIMESTAMP=412,Vi.TREAT=413,Vi.TRIM=414,Vi.VALUES=415,Vi.VARCHAR=416,Vi.XMLATTRIBUTES=417,Vi.XMLCOMMENT=418,Vi.XMLAGG=419,Vi.XML_IS_WELL_FORMED=420,Vi.XML_IS_WELL_FORMED_DOCUMENT=421,Vi.XML_IS_WELL_FORMED_CONTENT=422,Vi.XPATH=423,Vi.XPATH_EXISTS=424,Vi.XMLCONCAT=425,Vi.XMLELEMENT=426,Vi.XMLEXISTS=427,Vi.XMLFOREST=428,Vi.XMLPARSE=429,Vi.XMLPI=430,Vi.XMLROOT=431,Vi.XMLSERIALIZE=432,Vi.CALL=433,Vi.CURRENT_P=434,Vi.ATTACH=435,Vi.DETACH=436,Vi.EXPRESSION=437,Vi.GENERATED=438,Vi.LOGGED=439,Vi.STORED=440,Vi.INCLUDE=441,Vi.ROUTINE=442,Vi.TRANSFORM=443,Vi.IMPORT_P=444,Vi.POLICY=445,Vi.METHOD=446,Vi.REFERENCING=447,Vi.NEW=448,Vi.OLD=449,Vi.VALUE_P=450,Vi.SUBSCRIPTION=451,Vi.PUBLICATION=452,Vi.OUT_P=453,Vi.END_P=454,Vi.ROUTINES=455,Vi.SCHEMAS=456,Vi.PROCEDURES=457,Vi.INPUT_P=458,Vi.SUPPORT=459,Vi.PARALLEL=460,Vi.SQL_P=461,Vi.DEPENDS=462,Vi.OVERRIDING=463,Vi.CONFLICT=464,Vi.SKIP_P=465,Vi.LOCKED=466,Vi.TIES=467,Vi.ROLLUP=468,Vi.CUBE=469,Vi.GROUPING=470,Vi.SETS=471,Vi.TABLESAMPLE=472,Vi.ORDINALITY=473,Vi.XMLTABLE=474,Vi.COLUMNS=475,Vi.XMLNAMESPACES=476,Vi.ROWTYPE=477,Vi.NORMALIZED=478,Vi.WITHIN=479,Vi.FILTER=480,Vi.GROUPS=481,Vi.OTHERS=482,Vi.NFC=483,Vi.NFD=484,Vi.NFKC=485,Vi.NFKD=486,Vi.UESCAPE=487,Vi.VIEWS=488,Vi.NORMALIZE=489,Vi.DUMP=490,Vi.PRINT_STRICT_PARAMS=491,Vi.VARIABLE_CONFLICT=492,Vi.ERROR=493,Vi.USE_VARIABLE=494,Vi.USE_COLUMN=495,Vi.ALIAS=496,Vi.CONSTANT=497,Vi.PERFORM=498,Vi.GET=499,Vi.DIAGNOSTICS=500,Vi.STACKED=501,Vi.ELSIF=502,Vi.WHILE=503,Vi.REVERSE=504,Vi.FOREACH=505,Vi.SLICE=506,Vi.EXIT=507,Vi.RETURN=508,Vi.QUERY=509,Vi.RAISE=510,Vi.SQLSTATE=511,Vi.DEBUG=512,Vi.LOG=513,Vi.INFO=514,Vi.NOTICE=515,Vi.WARNING=516,Vi.EXCEPTION=517,Vi.ASSERT=518,Vi.LOOP=519,Vi.OPEN=520,Vi.ABS=521,Vi.CBRT=522,Vi.CEIL=523,Vi.CEILING=524,Vi.DEGREES=525,Vi.DIV=526,Vi.EXP=527,Vi.FACTORIAL=528,Vi.FLOOR=529,Vi.GCD=530,Vi.LCM=531,Vi.LN=532,Vi.LOG10=533,Vi.MIN_SCALE=534,Vi.MOD=535,Vi.PI=536,Vi.POWER=537,Vi.RADIANS=538,Vi.ROUND=539,Vi.SCALE=540,Vi.SIGN=541,Vi.SQRT=542,Vi.TRIM_SCALE=543,Vi.TRUNC=544,Vi.WIDTH_BUCKET=545,Vi.RANDOM=546,Vi.SETSEED=547,Vi.ACOS=548,Vi.ACOSD=549,Vi.ASIN=550,Vi.ASIND=551,Vi.ATAN=552,Vi.ATAND=553,Vi.ATAN2=554,Vi.ATAN2D=555,Vi.COS=556,Vi.COSD=557,Vi.COT=558,Vi.COTD=559,Vi.SIN=560,Vi.SIND=561,Vi.TAN=562,Vi.TAND=563,Vi.SINH=564,Vi.COSH=565,Vi.TANH=566,Vi.ASINH=567,Vi.ACOSH=568,Vi.ATANH=569,Vi.BIT_LENGTH=570,Vi.CHAR_LENGTH=571,Vi.CHARACTER_LENGTH=572,Vi.LOWER=573,Vi.OCTET_LENGTH=574,Vi.UPPER=575,Vi.ASCII=576,Vi.BTRIM=577,Vi.CHR=578,Vi.CONCAT=579,Vi.CONCAT_WS=580,Vi.FORMAT=581,Vi.INITCAP=582,Vi.LENGTH=583,Vi.LPAD=584,Vi.LTRIM=585,Vi.MD5=586,Vi.PARSE_IDENT=587,Vi.PG_CLIENT_ENCODING=588,Vi.QUOTE_IDENT=589,Vi.QUOTE_LITERAL=590,Vi.QUOTE_NULLABLE=591,Vi.REGEXP_COUNT=592,Vi.REGEXP_INSTR=593,Vi.REGEXP_LIKE=594,Vi.REGEXP_MATCH=595,Vi.REGEXP_MATCHES=596,Vi.REGEXP_REPLACE=597,Vi.REGEXP_SPLIT_TO_ARRAY=598,Vi.REGEXP_SPLIT_TO_TABLE=599,Vi.REGEXP_SUBSTR=600,Vi.REPEAT=601,Vi.RPAD=602,Vi.RTRIM=603,Vi.SPLIT_PART=604,Vi.STARTS_WITH=605,Vi.STRING_TO_ARRAY=606,Vi.STRING_TO_TABLE=607,Vi.STRPOS=608,Vi.SUBSTR=609,Vi.TO_ASCII=610,Vi.TO_HEX=611,Vi.TRANSLATE=612,Vi.UNISTR=613,Vi.AGE=614,Vi.CLOCK_TIMESTAMP=615,Vi.DATE_BIN=616,Vi.DATE_PART=617,Vi.DATE_TRUNC=618,Vi.ISFINITE=619,Vi.JUSTIFY_DAYS=620,Vi.JUSTIFY_HOURS=621,Vi.JUSTIFY_INTERVAL=622,Vi.MAKE_DATE=623,Vi.MAKE_INTERVAL=624,Vi.MAKE_TIME=625,Vi.MAKE_TIMESTAMP=626,Vi.MAKE_TIMESTAMPTZ=627,Vi.NOW=628,Vi.STATEMENT_TIMESTAMP=629,Vi.TIMEOFDAY=630,Vi.TRANSACTION_TIMESTAMP=631,Vi.TO_TIMESTAMP=632,Vi.TO_CHAR=633,Vi.TO_DATE=634,Vi.TO_NUMBER=635,Vi.Identifier=636,Vi.QuotedIdentifier=637,Vi.UnterminatedQuotedIdentifier=638,Vi.InvalidQuotedIdentifier=639,Vi.InvalidUnterminatedQuotedIdentifier=640,Vi.UnicodeQuotedIdentifier=641,Vi.UnterminatedUnicodeQuotedIdentifier=642,Vi.InvalidUnicodeQuotedIdentifier=643,Vi.InvalidUnterminatedUnicodeQuotedIdentifier=644,Vi.StringConstant=645,Vi.UnterminatedStringConstant=646,Vi.UnicodeEscapeStringConstant=647,Vi.UnterminatedUnicodeEscapeStringConstant=648,Vi.BeginDollarStringConstant=649,Vi.BinaryStringConstant=650,Vi.UnterminatedBinaryStringConstant=651,Vi.InvalidBinaryStringConstant=652,Vi.InvalidUnterminatedBinaryStringConstant=653,Vi.HexadecimalStringConstant=654,Vi.UnterminatedHexadecimalStringConstant=655,Vi.InvalidHexadecimalStringConstant=656,Vi.InvalidUnterminatedHexadecimalStringConstant=657,Vi.Integral=658,Vi.NumericFail=659,Vi.Numeric=660,Vi.PLSQLVARIABLENAME=661,Vi.PLSQLIDENTIFIER=662,Vi.Whitespace=663,Vi.Newline=664,Vi.LineComment=665,Vi.BlockComment=666,Vi.UnterminatedBlockComment=667,Vi.MetaCommand=668,Vi.EndMetaCommand=669,Vi.ErrorCharacter=670,Vi.EscapeStringConstant=671,Vi.UnterminatedEscapeStringConstant=672,Vi.InvalidEscapeStringConstant=673,Vi.InvalidUnterminatedEscapeStringConstant=674,Vi.AfterEscapeStringConstantMode_NotContinued=675,Vi.AfterEscapeStringConstantWithNewlineMode_NotContinued=676,Vi.DollarText=677,Vi.EndDollarStringConstant=678,Vi.AfterEscapeStringConstantWithNewlineMode_Continued=679,Vi.EscapeStringConstantMode=1,Vi.AfterEscapeStringConstantMode=2,Vi.AfterEscapeStringConstantWithNewlineMode=3,Vi.DollarQuotedStringMode=4,Vi.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],Vi.literalNames=[null,"'$'","'('","')'","'['","']'","','","';'","':'","'*'","'='","'.'","'+'","'-'","'/'","'^'","'<'","'>'","'<<'","'>>'","':='","'<='","'=>'","'>='","'..'","'<>'","'::'","'%'",null,null,"'ALL'","'ANALYSE'","'ANALYZE'","'AND'","'ANY'","'ARRAY'","'AS'","'ASC'","'ASYMMETRIC'","'BOTH'","'CASE'","'CAST'","'CHECK'","'COLLATE'","'COLUMN'","'CONSTRAINT'","'CREATE'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_ROLE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DEFAULT'","'DEFERRABLE'","'DESC'","'DISTINCT'","'DO'","'ELSE'","'EXCEPT'","'FALSE'","'FETCH'","'FOR'","'FOREIGN'","'FROM'","'GRANT'","'GROUP'","'HAVING'","'IN'","'INITIALLY'","'INTERSECT'","'INTO'","'LATERAL'","'LEADING'","'LIMIT'","'LOCALTIME'","'LOCALTIMESTAMP'","'NOT'","'NULL'","'OFFSET'","'ON'","'ONLY'","'OR'","'ORDER'","'PLACING'","'PRIMARY'","'REFERENCES'","'RETURNING'","'SELECT'","'SESSION_USER'","'SOME'","'SYMMETRIC'","'TABLE'","'THEN'","'TO'","'TRAILING'","'TRUE'","'UNION'","'UNIQUE'","'USER'","'USING'","'VARIADIC'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'AUTHORIZATION'","'BINARY'","'COLLATION'","'CONCURRENTLY'","'CROSS'","'CURRENT_SCHEMA'","'FREEZE'","'FULL'","'ILIKE'","'INNER'","'IS'","'ISNULL'","'JOIN'","'LEFT'","'LIKE'","'NATURAL'","'NOTNULL'","'OUTER'","'OVER'","'OVERLAPS'","'RIGHT'","'SIMILAR'","'VERBOSE'","'ABORT'","'ABSOLUTE'","'ACCESS'","'ACTION'","'ADD'","'ADMIN'","'AFTER'","'AGGREGATE'","'ALSO'","'ALTER'","'ALWAYS'","'ASSERTION'","'ASSIGNMENT'","'AT'","'ATTRIBUTE'","'BACKWARD'","'BEFORE'","'BEGIN'","'BY'","'CACHE'","'CALLED'","'CASCADE'","'CASCADED'","'CATALOG'","'CHAIN'","'CHARACTERISTICS'","'CHECKPOINT'","'CLASS'","'CLOSE'","'CLUSTER'","'COMMENT'","'COMMENTS'","'COMMIT'","'COMMITTED'","'CONFIGURATION'","'CONNECTION'","'CONSTRAINTS'","'CONTENT'","'CONTINUE'","'CONVERSION'","'COPY'","'COST'","'CSV'","'CURSOR'","'CYCLE'","'DATA'","'DATABASE'","'DAY'","'DEALLOCATE'","'DECLARE'","'DEFAULTS'","'DEFERRED'","'DEFINER'","'DELETE'","'DELIMITER'","'DELIMITERS'","'DICTIONARY'","'DISABLE'","'DISCARD'","'DOCUMENT'","'DOMAIN'","'DOUBLE'","'DROP'","'EACH'","'ENABLE'","'ENCODING'","'ENCRYPTED'","'ENUM'","'ESCAPE'","'EVENT'","'EXCLUDE'","'EXCLUDING'","'EXCLUSIVE'","'EXECUTE'","'EXPLAIN'","'EXTENSION'","'EXTERNAL'","'FAMILY'","'FIRST'","'FOLLOWING'","'FORCE'","'FORWARD'","'FUNCTION'","'FUNCTIONS'","'GLOBAL'","'GRANTED'","'HANDLER'","'HEADER'","'HOLD'","'HOUR'","'IDENTITY'","'IF'","'IMMEDIATE'","'IMMUTABLE'","'IMPLICIT'","'INCLUDING'","'INCREMENT'","'INDEX'","'INDEXES'","'INHERIT'","'INHERITS'","'INLINE'","'INSENSITIVE'","'INSERT'","'INSTEAD'","'INVOKER'","'ISOLATION'","'KEY'","'LABEL'","'LANGUAGE'","'LARGE'","'LAST'","'LEAKPROOF'","'LEVEL'","'LISTEN'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'MAPPING'","'MATCH'","'MATCHED'","'MATERIALIZED'","'MAXVALUE'","'MERGE'","'MINUTE'","'MINVALUE'","'MODE'","'MONTH'","'MOVE'","'NAME'","'NAMES'","'NEXT'","'NO'","'NOTHING'","'NOTIFY'","'NOWAIT'","'NULLS'","'OBJECT'","'OF'","'OFF'","'OIDS'","'OPERATOR'","'OPTION'","'OPTIONS'","'OWNED'","'OWNER'","'PARSER'","'PARTIAL'","'PARTITION'","'PASSING'","'PASSWORD'","'PLANS'","'PRECEDING'","'PREPARE'","'PREPARED'","'PRESERVE'","'PRIOR'","'PRIVILEGES'","'PROCEDURAL'","'PROCEDURE'","'PROGRAM'","'QUOTE'","'RANGE'","'READ'","'REASSIGN'","'RECHECK'","'RECURSIVE'","'REF'","'REFRESH'","'REINDEX'","'RELATIVE'","'RELEASE'","'RENAME'","'REPEATABLE'","'REPLACE'","'REPLICA'","'RESET'","'RESTART'","'RESTRICT'","'RETURNS'","'REVOKE'","'ROLE'","'ROLLBACK'","'ROWS'","'RULE'","'SAVEPOINT'","'SCHEMA'","'SCROLL'","'SEARCH'","'SECOND'","'SECURITY'","'SEQUENCE'","'SEQUENCES'","'SERIALIZABLE'","'SERVER'","'SESSION'","'SET'","'SHARE'","'SHOW'","'SIMPLE'","'SNAPSHOT'","'STABLE'","'STANDALONE'","'START'","'STATEMENT'","'STATISTICS'","'STDIN'","'STDOUT'","'STORAGE'","'STRICT'","'STRIP'","'SYSID'","'SYSTEM'","'TABLES'","'TABLESPACE'","'TEMP'","'TEMPLATE'","'TEMPORARY'","'TEXT'","'TRANSACTION'","'TRIGGER'","'TRUNCATE'","'TRUSTED'","'TYPE'","'TYPES'","'UNBOUNDED'","'UNCOMMITTED'","'UNENCRYPTED'","'UNKNOWN'","'UNLISTEN'","'UNLOGGED'","'UNTIL'","'UPDATE'","'VACUUM'","'VALID'","'VALIDATE'","'VALIDATOR'","'VARYING'","'VERSION'","'VIEW'","'VOLATILE'","'WHITESPACE'","'WITHOUT'","'WORK'","'WRAPPER'","'WRITE'","'XML'","'YEAR'","'YES'","'ZONE'","'BETWEEN'","'BIGINT'","'BIT'","'BOOLEAN'","'CHAR'","'CHARACTER'","'COALESCE'","'DEC'","'DECIMAL'","'EXISTS'","'EXTRACT'","'FLOAT'","'GREATEST'","'INOUT'","'INT'","'INTEGER'","'INTERVAL'","'LEAST'","'NATIONAL'","'NCHAR'","'NONE'","'NULLIF'","'NUMERIC'","'OVERLAY'","'POSITION'","'PRECISION'","'REAL'","'ROW'","'SETOF'","'SMALLINT'","'SUBSTRING'","'TIME'","'TIMESTAMP'","'TREAT'","'TRIM'","'VALUES'","'VARCHAR'","'XMLATTRIBUTES'","'XMLCOMMENT'","'XMLAGG'","'XML_IS_WELL_FORMED'","'XML_IS_WELL_FORMED_DOCUMENT'","'XML_IS_WELL_FORMED_CONTENT'","'XPATH'","'XPATH_EXISTS'","'XMLCONCAT'","'XMLELEMENT'","'XMLEXISTS'","'XMLFOREST'","'XMLPARSE'","'XMLPI'","'XMLROOT'","'XMLSERIALIZE'","'CALL'","'CURRENT'","'ATTACH'","'DETACH'","'EXPRESSION'","'GENERATED'","'LOGGED'","'STORED'","'INCLUDE'","'ROUTINE'","'TRANSFORM'","'IMPORT'","'POLICY'","'METHOD'","'REFERENCING'","'NEW'","'OLD'","'VALUE'","'SUBSCRIPTION'","'PUBLICATION'","'OUT'","'END'","'ROUTINES'","'SCHEMAS'","'PROCEDURES'","'INPUT'","'SUPPORT'","'PARALLEL'","'SQL'","'DEPENDS'","'OVERRIDING'","'CONFLICT'","'SKIP'","'LOCKED'","'TIES'","'ROLLUP'","'CUBE'","'GROUPING'","'SETS'","'TABLESAMPLE'","'ORDINALITY'","'XMLTABLE'","'COLUMNS'","'XMLNAMESPACES'","'ROWTYPE'","'NORMALIZED'","'WITHIN'","'FILTER'","'GROUPS'","'OTHERS'","'NFC'","'NFD'","'NFKC'","'NFKD'","'UESCAPE'","'VIEWS'","'NORMALIZE'","'DUMP'","'PRINT_STRICT_PARAMS'","'VARIABLE_CONFLICT'","'ERROR'","'USE_VARIABLE'","'USE_COLUMN'","'ALIAS'","'CONSTANT'","'PERFORM'","'GET'","'DIAGNOSTICS'","'STACKED'","'ELSIF'","'WHILE'","'REVERSE'","'FOREACH'","'SLICE'","'EXIT'","'RETURN'","'QUERY'","'RAISE'","'SQLSTATE'","'DEBUG'","'LOG'","'INFO'","'NOTICE'","'WARNING'","'EXCEPTION'","'ASSERT'","'LOOP'","'OPEN'","'ABS'","'CBRT'","'CEIL'","'CEILING'","'DEGREES'","'DIV'","'EXP'","'FACTORIAL'","'FLOOR'","'GCD'","'LCM'","'LN'","'LOG10'","'MIN_SCALE'","'MOD'","'PI'","'POWER'","'RADIANS'","'ROUND'","'SCALE'","'SIGN'","'SQRT'","'TRIM_SCALE'","'TRUNC'","'WIDTH_BUCKET'","'RANDOM'","'SETSEED'","'ACOS'","'ACOSD'","'ASIN'","'ASIND'","'ATAN'","'ATAND'","'ATAN2'","'ATAN2D'","'COS'","'COSD'","'COT'","'COTD'","'SIN'","'SIND'","'TAN'","'TAND'","'SINH'","'COSH'","'TANH'","'ASINH'","'ACOSH'","'ATANH'","'BIT_LENGTH'","'CHAR_LENGTH'","'CHARACTER_LENGTH'","'LOWER'","'OCTET_LENGTH'","'UPPER'","'ASCII'","'BTRIM'","'CHR'","'CONCAT'","'CONCAT_WS'","'FORMAT'","'INITCAP'","'LENGTH'","'LPAD'","'LTRIM'","'MD5'","'PARSE_IDENT'","'PG_CLIENT_ENCODING'","'QUOTE_IDENT'","'QUOTE_LITERAL'","'QUOTE_NULLABLE'","'REGEXP_COUNT'","'REGEXP_INSTR'","'REGEXP_LIKE'","'REGEXP_MATCH'","'REGEXP_MATCHES'","'REGEXP_REPLACE'","'REGEXP_SPLIT_TO_ARRAY'","'REGEXP_SPLIT_TO_TABLE'","'REGEXP_SUBSTR'","'REPEAT'","'RPAD'","'RTRIM'","'SPLIT_PART'","'STARTS_WITH'","'STRING_TO_ARRAY'","'STRING_TO_TABLE'","'STRPOS'","'SUBSTR'","'TO_ASCII'","'TO_HEX'","'TRANSLATE'","'UNISTR'","'AGE'","'CLOCK_TIMESTAMP'","'DATE_BIN'","'DATE_PART'","'DATE_TRUNC'","'ISFINITE'","'JUSTIFY_DAYS'","'JUSTIFY_HOURS'","'JUSTIFY_INTERVAL'","'MAKE_DATE'","'MAKE_INTERVAL'","'MAKE_TIME'","'MAKE_TIMESTAMP'","'MAKE_TIMESTAMPTZ'","'NOW'","'STATEMENT_TIMESTAMP'","'TIMEOFDAY'","'TRANSACTION_TIMESTAMP'","'TO_TIMESTAMP'","'TO_CHAR'","'TO_DATE'","'TO_NUMBER'",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'\\'",null,null,null,null,null,null,null,null,null,"'''"],Vi.symbolicNames=[null,"Dollar","OPEN_PAREN","CLOSE_PAREN","OPEN_BRACKET","CLOSE_BRACKET","COMMA","SEMI","COLON","STAR","EQUAL","DOT","PLUS","MINUS","SLASH","CARET","LT","GT","LESS_LESS","GREATER_GREATER","COLON_EQUALS","LESS_EQUALS","EQUALS_GREATER","GREATER_EQUALS","DOT_DOT","NOT_EQUALS","TYPECAST","PERCENT","PARAM","Operator","ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","EXCEPT","FALSE_P","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP_P","HAVING","IN_P","INITIALLY","INTERSECT","INTO","LATERAL_P","LEADING","LIMIT","LOCALTIME","LOCALTIMESTAMP","NOT","NULL_P","OFFSET","ON","ONLY","OR","ORDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SESSION_USER","SOME","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE_P","UNION","UNIQUE","USER","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH","AUTHORIZATION","BINARY","COLLATION","CONCURRENTLY","CROSS","CURRENT_SCHEMA","FREEZE","FULL","ILIKE","INNER_P","IS","ISNULL","JOIN","LEFT","LIKE","NATURAL","NOTNULL","OUTER_P","OVER","OVERLAPS","RIGHT","SIMILAR","VERBOSE","ABORT_P","ABSOLUTE_P","ACCESS","ACTION","ADD_P","ADMIN","AFTER","AGGREGATE","ALSO","ALTER","ALWAYS","ASSERTION","ASSIGNMENT","AT","ATTRIBUTE","BACKWARD","BEFORE","BEGIN_P","BY","CACHE","CALLED","CASCADE","CASCADED","CATALOG","CHAIN","CHARACTERISTICS","CHECKPOINT","CLASS","CLOSE","CLUSTER","COMMENT","COMMENTS","COMMIT","COMMITTED","CONFIGURATION","CONNECTION","CONSTRAINTS","CONTENT_P","CONTINUE_P","CONVERSION_P","COPY","COST","CSV","CURSOR","CYCLE","DATA_P","DATABASE","DAY_P","DEALLOCATE","DECLARE","DEFAULTS","DEFERRED","DEFINER","DELETE_P","DELIMITER","DELIMITERS","DICTIONARY","DISABLE_P","DISCARD","DOCUMENT_P","DOMAIN_P","DOUBLE_P","DROP","EACH","ENABLE_P","ENCODING","ENCRYPTED","ENUM_P","ESCAPE","EVENT","EXCLUDE","EXCLUDING","EXCLUSIVE","EXECUTE","EXPLAIN","EXTENSION","EXTERNAL","FAMILY","FIRST_P","FOLLOWING","FORCE","FORWARD","FUNCTION","FUNCTIONS","GLOBAL","GRANTED","HANDLER","HEADER_P","HOLD","HOUR_P","IDENTITY_P","IF_P","IMMEDIATE","IMMUTABLE","IMPLICIT_P","INCLUDING","INCREMENT","INDEX","INDEXES","INHERIT","INHERITS","INLINE_P","INSENSITIVE","INSERT","INSTEAD","INVOKER","ISOLATION","KEY","LABEL","LANGUAGE","LARGE_P","LAST_P","LEAKPROOF","LEVEL","LISTEN","LOAD","LOCAL","LOCATION","LOCK_P","MAPPING","MATCH","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MINUTE_P","MINVALUE","MODE","MONTH_P","MOVE","NAME_P","NAMES","NEXT","NO","NOTHING","NOTIFY","NOWAIT","NULLS_P","OBJECT_P","OF","OFF","OIDS","OPERATOR","OPTION","OPTIONS","OWNED","OWNER","PARSER","PARTIAL","PARTITION","PASSING","PASSWORD","PLANS","PRECEDING","PREPARE","PREPARED","PRESERVE","PRIOR","PRIVILEGES","PROCEDURAL","PROCEDURE","PROGRAM","QUOTE","RANGE","READ","REASSIGN","RECHECK","RECURSIVE","REF","REFRESH","REINDEX","RELATIVE_P","RELEASE","RENAME","REPEATABLE","REPLACE","REPLICA","RESET","RESTART","RESTRICT","RETURNS","REVOKE","ROLE","ROLLBACK","ROWS","RULE","SAVEPOINT","SCHEMA","SCROLL","SEARCH","SECOND_P","SECURITY","SEQUENCE","SEQUENCES","SERIALIZABLE","SERVER","SESSION","SET","SHARE","SHOW","SIMPLE","SNAPSHOT","STABLE","STANDALONE_P","START","STATEMENT","STATISTICS","STDIN","STDOUT","STORAGE","STRICT_P","STRIP_P","SYSID","SYSTEM_P","TABLES","TABLESPACE","TEMP","TEMPLATE","TEMPORARY","TEXT_P","TRANSACTION","TRIGGER","TRUNCATE","TRUSTED","TYPE_P","TYPES_P","UNBOUNDED","UNCOMMITTED","UNENCRYPTED","UNKNOWN","UNLISTEN","UNLOGGED","UNTIL","UPDATE","VACUUM","VALID","VALIDATE","VALIDATOR","VARYING","VERSION_P","VIEW","VOLATILE","WHITESPACE_P","WITHOUT","WORK","WRAPPER","WRITE","XML_P","YEAR_P","YES_P","ZONE","BETWEEN","BIGINT","BIT","BOOLEAN_P","CHAR_P","CHARACTER","COALESCE","DEC","DECIMAL_P","EXISTS","EXTRACT","FLOAT_P","GREATEST","INOUT","INT_P","INTEGER","INTERVAL","LEAST","NATIONAL","NCHAR","NONE","NULLIF","NUMERIC","OVERLAY","POSITION","PRECISION","REAL","ROW","SETOF","SMALLINT","SUBSTRING","TIME","TIMESTAMP","TREAT","TRIM","VALUES","VARCHAR","XMLATTRIBUTES","XMLCOMMENT","XMLAGG","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_DOCUMENT","XML_IS_WELL_FORMED_CONTENT","XPATH","XPATH_EXISTS","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","CALL","CURRENT_P","ATTACH","DETACH","EXPRESSION","GENERATED","LOGGED","STORED","INCLUDE","ROUTINE","TRANSFORM","IMPORT_P","POLICY","METHOD","REFERENCING","NEW","OLD","VALUE_P","SUBSCRIPTION","PUBLICATION","OUT_P","END_P","ROUTINES","SCHEMAS","PROCEDURES","INPUT_P","SUPPORT","PARALLEL","SQL_P","DEPENDS","OVERRIDING","CONFLICT","SKIP_P","LOCKED","TIES","ROLLUP","CUBE","GROUPING","SETS","TABLESAMPLE","ORDINALITY","XMLTABLE","COLUMNS","XMLNAMESPACES","ROWTYPE","NORMALIZED","WITHIN","FILTER","GROUPS","OTHERS","NFC","NFD","NFKC","NFKD","UESCAPE","VIEWS","NORMALIZE","DUMP","PRINT_STRICT_PARAMS","VARIABLE_CONFLICT","ERROR","USE_VARIABLE","USE_COLUMN","ALIAS","CONSTANT","PERFORM","GET","DIAGNOSTICS","STACKED","ELSIF","WHILE","REVERSE","FOREACH","SLICE","EXIT","RETURN","QUERY","RAISE","SQLSTATE","DEBUG","LOG","INFO","NOTICE","WARNING","EXCEPTION","ASSERT","LOOP","OPEN","ABS","CBRT","CEIL","CEILING","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","ROUND","SCALE","SIGN","SQRT","TRIM_SCALE","TRUNC","WIDTH_BUCKET","RANDOM","SETSEED","ACOS","ACOSD","ASIN","ASIND","ATAN","ATAND","ATAN2","ATAN2D","COS","COSD","COT","COTD","SIN","SIND","TAN","TAND","SINH","COSH","TANH","ASINH","ACOSH","ATANH","BIT_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","LOWER","OCTET_LENGTH","UPPER","ASCII","BTRIM","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LENGTH","LPAD","LTRIM","MD5","PARSE_IDENT","PG_CLIENT_ENCODING","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGEXP_SUBSTR","REPEAT","RPAD","RTRIM","SPLIT_PART","STARTS_WITH","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","TO_ASCII","TO_HEX","TRANSLATE","UNISTR","AGE","CLOCK_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","STATEMENT_TIMESTAMP","TIMEOFDAY","TRANSACTION_TIMESTAMP","TO_TIMESTAMP","TO_CHAR","TO_DATE","TO_NUMBER","Identifier","QuotedIdentifier","UnterminatedQuotedIdentifier","InvalidQuotedIdentifier","InvalidUnterminatedQuotedIdentifier","UnicodeQuotedIdentifier","UnterminatedUnicodeQuotedIdentifier","InvalidUnicodeQuotedIdentifier","InvalidUnterminatedUnicodeQuotedIdentifier","StringConstant","UnterminatedStringConstant","UnicodeEscapeStringConstant","UnterminatedUnicodeEscapeStringConstant","BeginDollarStringConstant","BinaryStringConstant","UnterminatedBinaryStringConstant","InvalidBinaryStringConstant","InvalidUnterminatedBinaryStringConstant","HexadecimalStringConstant","UnterminatedHexadecimalStringConstant","InvalidHexadecimalStringConstant","InvalidUnterminatedHexadecimalStringConstant","Integral","NumericFail","Numeric","PLSQLVARIABLENAME","PLSQLIDENTIFIER","Whitespace","Newline","LineComment","BlockComment","UnterminatedBlockComment","MetaCommand","EndMetaCommand","ErrorCharacter","EscapeStringConstant","UnterminatedEscapeStringConstant","InvalidEscapeStringConstant","InvalidUnterminatedEscapeStringConstant","AfterEscapeStringConstantMode_NotContinued","AfterEscapeStringConstantWithNewlineMode_NotContinued","DollarText","EndDollarStringConstant","AfterEscapeStringConstantWithNewlineMode_Continued"],Vi.modeNames=["DEFAULT_MODE","EscapeStringConstantMode","AfterEscapeStringConstantMode","AfterEscapeStringConstantWithNewlineMode","DollarQuotedStringMode"],Vi.ruleNames=["Dollar","OPEN_PAREN","CLOSE_PAREN","OPEN_BRACKET","CLOSE_BRACKET","COMMA","SEMI","COLON","STAR","EQUAL","DOT","PLUS","MINUS","SLASH","CARET","LT","GT","LESS_LESS","GREATER_GREATER","COLON_EQUALS","LESS_EQUALS","EQUALS_GREATER","GREATER_EQUALS","DOT_DOT","NOT_EQUALS","TYPECAST","PERCENT","PARAM","Operator","OperatorEndingWithPlusMinus","OperatorCharacter","OperatorCharacterNotAllowPlusMinusAtEnd","OperatorCharacterAllowPlusMinusAtEnd","ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","EXCEPT","FALSE_P","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP_P","HAVING","IN_P","INITIALLY","INTERSECT","INTO","LATERAL_P","LEADING","LIMIT","LOCALTIME","LOCALTIMESTAMP","NOT","NULL_P","OFFSET","ON","ONLY","OR","ORDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SESSION_USER","SOME","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE_P","UNION","UNIQUE","USER","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH","AUTHORIZATION","BINARY","COLLATION","CONCURRENTLY","CROSS","CURRENT_SCHEMA","FREEZE","FULL","ILIKE","INNER_P","IS","ISNULL","JOIN","LEFT","LIKE","NATURAL","NOTNULL","OUTER_P","OVER","OVERLAPS","RIGHT","SIMILAR","VERBOSE","ABORT_P","ABSOLUTE_P","ACCESS","ACTION","ADD_P","ADMIN","AFTER","AGGREGATE","ALSO","ALTER","ALWAYS","ASSERTION","ASSIGNMENT","AT","ATTRIBUTE","BACKWARD","BEFORE","BEGIN_P","BY","CACHE","CALLED","CASCADE","CASCADED","CATALOG","CHAIN","CHARACTERISTICS","CHECKPOINT","CLASS","CLOSE","CLUSTER","COMMENT","COMMENTS","COMMIT","COMMITTED","CONFIGURATION","CONNECTION","CONSTRAINTS","CONTENT_P","CONTINUE_P","CONVERSION_P","COPY","COST","CSV","CURSOR","CYCLE","DATA_P","DATABASE","DAY_P","DEALLOCATE","DECLARE","DEFAULTS","DEFERRED","DEFINER","DELETE_P","DELIMITER","DELIMITERS","DICTIONARY","DISABLE_P","DISCARD","DOCUMENT_P","DOMAIN_P","DOUBLE_P","DROP","EACH","ENABLE_P","ENCODING","ENCRYPTED","ENUM_P","ESCAPE","EVENT","EXCLUDE","EXCLUDING","EXCLUSIVE","EXECUTE","EXPLAIN","EXTENSION","EXTERNAL","FAMILY","FIRST_P","FOLLOWING","FORCE","FORWARD","FUNCTION","FUNCTIONS","GLOBAL","GRANTED","HANDLER","HEADER_P","HOLD","HOUR_P","IDENTITY_P","IF_P","IMMEDIATE","IMMUTABLE","IMPLICIT_P","INCLUDING","INCREMENT","INDEX","INDEXES","INHERIT","INHERITS","INLINE_P","INSENSITIVE","INSERT","INSTEAD","INVOKER","ISOLATION","KEY","LABEL","LANGUAGE","LARGE_P","LAST_P","LEAKPROOF","LEVEL","LISTEN","LOAD","LOCAL","LOCATION","LOCK_P","MAPPING","MATCH","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MINUTE_P","MINVALUE","MODE","MONTH_P","MOVE","NAME_P","NAMES","NEXT","NO","NOTHING","NOTIFY","NOWAIT","NULLS_P","OBJECT_P","OF","OFF","OIDS","OPERATOR","OPTION","OPTIONS","OWNED","OWNER","PARSER","PARTIAL","PARTITION","PASSING","PASSWORD","PLANS","PRECEDING","PREPARE","PREPARED","PRESERVE","PRIOR","PRIVILEGES","PROCEDURAL","PROCEDURE","PROGRAM","QUOTE","RANGE","READ","REASSIGN","RECHECK","RECURSIVE","REF","REFRESH","REINDEX","RELATIVE_P","RELEASE","RENAME","REPEATABLE","REPLACE","REPLICA","RESET","RESTART","RESTRICT","RETURNS","REVOKE","ROLE","ROLLBACK","ROWS","RULE","SAVEPOINT","SCHEMA","SCROLL","SEARCH","SECOND_P","SECURITY","SEQUENCE","SEQUENCES","SERIALIZABLE","SERVER","SESSION","SET","SHARE","SHOW","SIMPLE","SNAPSHOT","STABLE","STANDALONE_P","START","STATEMENT","STATISTICS","STDIN","STDOUT","STORAGE","STRICT_P","STRIP_P","SYSID","SYSTEM_P","TABLES","TABLESPACE","TEMP","TEMPLATE","TEMPORARY","TEXT_P","TRANSACTION","TRIGGER","TRUNCATE","TRUSTED","TYPE_P","TYPES_P","UNBOUNDED","UNCOMMITTED","UNENCRYPTED","UNKNOWN","UNLISTEN","UNLOGGED","UNTIL","UPDATE","VACUUM","VALID","VALIDATE","VALIDATOR","VARYING","VERSION_P","VIEW","VOLATILE","WHITESPACE_P","WITHOUT","WORK","WRAPPER","WRITE","XML_P","YEAR_P","YES_P","ZONE","BETWEEN","BIGINT","BIT","BOOLEAN_P","CHAR_P","CHARACTER","COALESCE","DEC","DECIMAL_P","EXISTS","EXTRACT","FLOAT_P","GREATEST","INOUT","INT_P","INTEGER","INTERVAL","LEAST","NATIONAL","NCHAR","NONE","NULLIF","NUMERIC","OVERLAY","POSITION","PRECISION","REAL","ROW","SETOF","SMALLINT","SUBSTRING","TIME","TIMESTAMP","TREAT","TRIM","VALUES","VARCHAR","XMLATTRIBUTES","XMLCOMMENT","XMLAGG","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_DOCUMENT","XML_IS_WELL_FORMED_CONTENT","XPATH","XPATH_EXISTS","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","CALL","CURRENT_P","ATTACH","DETACH","EXPRESSION","GENERATED","LOGGED","STORED","INCLUDE","ROUTINE","TRANSFORM","IMPORT_P","POLICY","METHOD","REFERENCING","NEW","OLD","VALUE_P","SUBSCRIPTION","PUBLICATION","OUT_P","END_P","ROUTINES","SCHEMAS","PROCEDURES","INPUT_P","SUPPORT","PARALLEL","SQL_P","DEPENDS","OVERRIDING","CONFLICT","SKIP_P","LOCKED","TIES","ROLLUP","CUBE","GROUPING","SETS","TABLESAMPLE","ORDINALITY","XMLTABLE","COLUMNS","XMLNAMESPACES","ROWTYPE","NORMALIZED","WITHIN","FILTER","GROUPS","OTHERS","NFC","NFD","NFKC","NFKD","UESCAPE","VIEWS","NORMALIZE","DUMP","PRINT_STRICT_PARAMS","VARIABLE_CONFLICT","ERROR","USE_VARIABLE","USE_COLUMN","ALIAS","CONSTANT","PERFORM","GET","DIAGNOSTICS","STACKED","ELSIF","WHILE","REVERSE","FOREACH","SLICE","EXIT","RETURN","QUERY","RAISE","SQLSTATE","DEBUG","LOG","INFO","NOTICE","WARNING","EXCEPTION","ASSERT","LOOP","OPEN","ABS","CBRT","CEIL","CEILING","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","ROUND","SCALE","SIGN","SQRT","TRIM_SCALE","TRUNC","WIDTH_BUCKET","RANDOM","SETSEED","ACOS","ACOSD","ASIN","ASIND","ATAN","ATAND","ATAN2","ATAN2D","COS","COSD","COT","COTD","SIN","SIND","TAN","TAND","SINH","COSH","TANH","ASINH","ACOSH","ATANH","BIT_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","LOWER","OCTET_LENGTH","UPPER","ASCII","BTRIM","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LENGTH","LPAD","LTRIM","MD5","PARSE_IDENT","PG_CLIENT_ENCODING","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGEXP_SUBSTR","REPEAT","RPAD","RTRIM","SPLIT_PART","STARTS_WITH","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","TO_ASCII","TO_HEX","TRANSLATE","UNISTR","AGE","CLOCK_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","STATEMENT_TIMESTAMP","TIMEOFDAY","TRANSACTION_TIMESTAMP","TO_TIMESTAMP","TO_CHAR","TO_DATE","TO_NUMBER","Identifier","IdentifierStartChar","IdentifierChar","StrictIdentifierChar","QuotedIdentifier","UnterminatedQuotedIdentifier","InvalidQuotedIdentifier","InvalidUnterminatedQuotedIdentifier","UnicodeQuotedIdentifier","UnterminatedUnicodeQuotedIdentifier","InvalidUnicodeQuotedIdentifier","InvalidUnterminatedUnicodeQuotedIdentifier","StringConstant","UnterminatedStringConstant","BeginEscapeStringConstant","UnicodeEscapeStringConstant","UnterminatedUnicodeEscapeStringConstant","BeginDollarStringConstant","Tag","BinaryStringConstant","UnterminatedBinaryStringConstant","InvalidBinaryStringConstant","InvalidUnterminatedBinaryStringConstant","HexadecimalStringConstant","UnterminatedHexadecimalStringConstant","InvalidHexadecimalStringConstant","InvalidUnterminatedHexadecimalStringConstant","Integral","NumericFail","Numeric","Digits","PLSQLVARIABLENAME","PLSQLIDENTIFIER","Whitespace","Newline","LineComment","BlockComment","UnterminatedBlockComment","MetaCommand","EndMetaCommand","ErrorCharacter","EscapeStringConstant","UnterminatedEscapeStringConstant","EscapeStringText","InvalidEscapeStringConstant","InvalidUnterminatedEscapeStringConstant","InvalidEscapeStringText","AfterEscapeStringConstantMode_Whitespace","AfterEscapeStringConstantMode_Newline","AfterEscapeStringConstantMode_NotContinued","AfterEscapeStringConstantWithNewlineMode_Whitespace","AfterEscapeStringConstantWithNewlineMode_Newline","AfterEscapeStringConstantWithNewlineMode_Continued","AfterEscapeStringConstantWithNewlineMode_NotContinued","DollarText","EndDollarStringConstant"],Vi._serializedATN=[4,0,679,6791,6,-1,6,-1,6,-1,6,-1,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,2,495,7,495,2,496,7,496,2,497,7,497,2,498,7,498,2,499,7,499,2,500,7,500,2,501,7,501,2,502,7,502,2,503,7,503,2,504,7,504,2,505,7,505,2,506,7,506,2,507,7,507,2,508,7,508,2,509,7,509,2,510,7,510,2,511,7,511,2,512,7,512,2,513,7,513,2,514,7,514,2,515,7,515,2,516,7,516,2,517,7,517,2,518,7,518,2,519,7,519,2,520,7,520,2,521,7,521,2,522,7,522,2,523,7,523,2,524,7,524,2,525,7,525,2,526,7,526,2,527,7,527,2,528,7,528,2,529,7,529,2,530,7,530,2,531,7,531,2,532,7,532,2,533,7,533,2,534,7,534,2,535,7,535,2,536,7,536,2,537,7,537,2,538,7,538,2,539,7,539,2,540,7,540,2,541,7,541,2,542,7,542,2,543,7,543,2,544,7,544,2,545,7,545,2,546,7,546,2,547,7,547,2,548,7,548,2,549,7,549,2,550,7,550,2,551,7,551,2,552,7,552,2,553,7,553,2,554,7,554,2,555,7,555,2,556,7,556,2,557,7,557,2,558,7,558,2,559,7,559,2,560,7,560,2,561,7,561,2,562,7,562,2,563,7,563,2,564,7,564,2,565,7,565,2,566,7,566,2,567,7,567,2,568,7,568,2,569,7,569,2,570,7,570,2,571,7,571,2,572,7,572,2,573,7,573,2,574,7,574,2,575,7,575,2,576,7,576,2,577,7,577,2,578,7,578,2,579,7,579,2,580,7,580,2,581,7,581,2,582,7,582,2,583,7,583,2,584,7,584,2,585,7,585,2,586,7,586,2,587,7,587,2,588,7,588,2,589,7,589,2,590,7,590,2,591,7,591,2,592,7,592,2,593,7,593,2,594,7,594,2,595,7,595,2,596,7,596,2,597,7,597,2,598,7,598,2,599,7,599,2,600,7,600,2,601,7,601,2,602,7,602,2,603,7,603,2,604,7,604,2,605,7,605,2,606,7,606,2,607,7,607,2,608,7,608,2,609,7,609,2,610,7,610,2,611,7,611,2,612,7,612,2,613,7,613,2,614,7,614,2,615,7,615,2,616,7,616,2,617,7,617,2,618,7,618,2,619,7,619,2,620,7,620,2,621,7,621,2,622,7,622,2,623,7,623,2,624,7,624,2,625,7,625,2,626,7,626,2,627,7,627,2,628,7,628,2,629,7,629,2,630,7,630,2,631,7,631,2,632,7,632,2,633,7,633,2,634,7,634,2,635,7,635,2,636,7,636,2,637,7,637,2,638,7,638,2,639,7,639,2,640,7,640,2,641,7,641,2,642,7,642,2,643,7,643,2,644,7,644,2,645,7,645,2,646,7,646,2,647,7,647,2,648,7,648,2,649,7,649,2,650,7,650,2,651,7,651,2,652,7,652,2,653,7,653,2,654,7,654,2,655,7,655,2,656,7,656,2,657,7,657,2,658,7,658,2,659,7,659,2,660,7,660,2,661,7,661,2,662,7,662,2,663,7,663,2,664,7,664,2,665,7,665,2,666,7,666,2,667,7,667,2,668,7,668,2,669,7,669,2,670,7,670,2,671,7,671,2,672,7,672,2,673,7,673,2,674,7,674,2,675,7,675,2,676,7,676,2,677,7,677,2,678,7,678,2,679,7,679,2,680,7,680,2,681,7,681,2,682,7,682,2,683,7,683,2,684,7,684,2,685,7,685,2,686,7,686,2,687,7,687,2,688,7,688,2,689,7,689,2,690,7,690,2,691,7,691,2,692,7,692,2,693,7,693,2,694,7,694,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,26,1,26,1,27,1,27,4,27,1461,8,27,11,27,12,27,1462,1,28,1,28,1,28,1,28,4,28,1469,8,28,11,28,12,28,1470,1,28,1,28,1,28,3,28,1476,8,28,1,28,1,28,4,28,1480,8,28,11,28,12,28,1481,1,28,3,28,1485,8,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,5,29,1494,8,29,10,29,12,29,1497,9,29,1,29,1,29,3,29,1501,8,29,1,29,1,29,1,29,4,29,1506,8,29,11,29,12,29,1507,1,29,1,29,1,30,1,30,1,31,1,31,1,32,1,32,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,1,356,1,357,1,357,1,357,1,357,1,357,1,357,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,363,1,364,1,364,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,387,1,387,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,1,394,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,396,1,396,1,396,1,396,1,396,1,396,1,397,1,397,1,397,1,397,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,400,1,400,1,400,1,400,1,400,1,400,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,402,1,402,1,402,1,402,1,402,1,402,1,403,1,403,1,403,1,403,1,403,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,406,1,407,1,407,1,407,1,407,1,407,1,407,1,407,1,407,1,407,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,409,1,409,1,409,1,409,1,409,1,410,1,410,1,410,1,410,1,411,1,411,1,411,1,411,1,411,1,411,1,412,1,412,1,412,1,412,1,412,1,412,1,412,1,412,1,412,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,413,1,414,1,414,1,414,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,416,1,416,1,416,1,416,1,416,1,416,1,417,1,417,1,417,1,417,1,417,1,418,1,418,1,418,1,418,1,418,1,418,1,418,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,421,1,421,1,421,1,421,1,421,1,421,1,421,1,421,1,421,1,421,1,421,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,426,1,426,1,426,1,426,1,426,1,426,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,429,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,433,1,433,1,433,1,433,1,433,1,433,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,434,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,436,1,436,1,436,1,436,1,436,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,442,1,442,1,442,1,442,1,442,1,442,1,442,1,443,1,443,1,443,1,443,1,443,1,443,1,443,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,445,1,445,1,445,1,445,1,445,1,445,1,445,1,445,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,446,1,447,1,447,1,447,1,447,1,447,1,447,1,447,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,449,1,449,1,449,1,449,1,449,1,449,1,449,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,451,1,451,1,451,1,451,1,452,1,452,1,452,1,452,1,453,1,453,1,453,1,453,1,453,1,453,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,456,1,456,1,456,1,456,1,457,1,457,1,457,1,457,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,460,1,461,1,461,1,461,1,461,1,461,1,461,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,462,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,464,1,464,1,464,1,464,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,465,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,468,1,468,1,468,1,468,1,468,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,470,1,470,1,470,1,470,1,470,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,472,1,472,1,472,1,472,1,472,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,473,1,474,1,474,1,474,1,474,1,474,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,475,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,486,1,486,1,486,1,486,1,487,1,487,1,487,1,487,1,488,1,488,1,488,1,488,1,488,1,489,1,489,1,489,1,489,1,489,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,491,1,491,1,491,1,491,1,491,1,491,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,493,1,493,1,493,1,493,1,493,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,496,1,496,1,496,1,496,1,496,1,496,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,499,1,499,1,499,1,499,1,499,1,499,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,502,1,502,1,502,1,502,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,504,1,504,1,504,1,504,1,504,1,504,1,504,1,504,1,505,1,505,1,505,1,505,1,505,1,505,1,506,1,506,1,506,1,506,1,506,1,506,1,507,1,507,1,507,1,507,1,507,1,507,1,507,1,507,1,508,1,508,1,508,1,508,1,508,1,508,1,508,1,508,1,509,1,509,1,509,1,509,1,509,1,509,1,510,1,510,1,510,1,510,1,510,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,512,1,512,1,512,1,512,1,512,1,512,1,513,1,513,1,513,1,513,1,513,1,513,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,515,1,515,1,515,1,515,1,515,1,515,1,516,1,516,1,516,1,516,1,517,1,517,1,517,1,517,1,517,1,518,1,518,1,518,1,518,1,518,1,518,1,518,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,519,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,520,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,522,1,522,1,522,1,522,1,522,1,523,1,523,1,523,1,523,1,523,1,524,1,524,1,524,1,524,1,525,1,525,1,525,1,525,1,525,1,526,1,526,1,526,1,526,1,526,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,529,1,529,1,529,1,529,1,530,1,530,1,530,1,530,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,532,1,532,1,532,1,532,1,532,1,532,1,533,1,533,1,533,1,533,1,534,1,534,1,534,1,534,1,535,1,535,1,535,1,536,1,536,1,536,1,536,1,536,1,536,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,537,1,538,1,538,1,538,1,538,1,539,1,539,1,539,1,540,1,540,1,540,1,540,1,540,1,540,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,542,1,542,1,542,1,542,1,542,1,542,1,543,1,543,1,543,1,543,1,543,1,543,1,544,1,544,1,544,1,544,1,544,1,545,1,545,1,545,1,545,1,545,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,547,1,547,1,547,1,547,1,547,1,547,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,549,1,549,1,549,1,549,1,549,1,549,1,549,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,551,1,551,1,551,1,551,1,551,1,552,1,552,1,552,1,552,1,552,1,552,1,553,1,553,1,553,1,553,1,553,1,554,1,554,1,554,1,554,1,554,1,554,1,555,1,555,1,555,1,555,1,555,1,556,1,556,1,556,1,556,1,556,1,556,1,557,1,557,1,557,1,557,1,557,1,557,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,559,1,559,1,559,1,559,1,560,1,560,1,560,1,560,1,560,1,561,1,561,1,561,1,561,1,562,1,562,1,562,1,562,1,562,1,563,1,563,1,563,1,563,1,564,1,564,1,564,1,564,1,564,1,565,1,565,1,565,1,565,1,566,1,566,1,566,1,566,1,566,1,567,1,567,1,567,1,567,1,567,1,568,1,568,1,568,1,568,1,568,1,569,1,569,1,569,1,569,1,569,1,570,1,570,1,570,1,570,1,570,1,570,1,571,1,571,1,571,1,571,1,571,1,571,1,572,1,572,1,572,1,572,1,572,1,572,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,573,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,576,1,576,1,576,1,576,1,576,1,576,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,578,1,578,1,578,1,578,1,578,1,578,1,579,1,579,1,579,1,579,1,579,1,579,1,580,1,580,1,580,1,580,1,580,1,580,1,581,1,581,1,581,1,581,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,587,1,587,1,587,1,587,1,587,1,588,1,588,1,588,1,588,1,588,1,588,1,589,1,589,1,589,1,589,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,593,1,593,1,593,1,593,1,593,1,593,1,593,1,593,1,593,1,593,1,593,1,593,1,593,1,593,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,594,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,595,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,597,1,597,1,597,1,597,1,597,1,597,1,597,1,597,1,597,1,597,1,597,1,597,1,598,1,598,1,598,1,598,1,598,1,598,1,598,1,598,1,598,1,598,1,598,1,598,1,598,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,599,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,600,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,602,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,604,1,604,1,604,1,604,1,604,1,604,1,604,1,605,1,605,1,605,1,605,1,605,1,606,1,606,1,606,1,606,1,606,1,606,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,609,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,613,1,614,1,614,1,614,1,614,1,614,1,614,1,614,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,617,1,617,1,617,1,617,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,628,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,631,1,631,1,631,1,631,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,634,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,639,1,639,5,639,6323,8,639,10,639,12,639,6326,9,639,1,640,1,640,1,640,1,640,1,640,1,640,3,640,6334,8,640,1,641,1,641,3,641,6338,8,641,1,642,1,642,3,642,6342,8,642,1,643,1,643,1,643,1,644,1,644,1,644,1,644,5,644,6351,8,644,10,644,12,644,6354,9,644,1,645,1,645,1,645,1,646,1,646,1,646,1,646,5,646,6363,8,646,10,646,12,646,6366,9,646,1,647,1,647,1,647,1,647,1,648,1,648,1,648,1,648,1,649,1,649,1,649,1,649,1,650,1,650,1,650,1,650,1,651,1,651,1,651,1,652,1,652,1,652,1,652,5,652,6391,8,652,10,652,12,652,6394,9,652,1,653,1,653,1,653,1,653,1,653,1,653,1,654,1,654,1,654,1,655,1,655,1,655,1,655,1,656,1,656,3,656,6411,8,656,1,656,1,656,1,656,1,656,1,656,1,657,1,657,5,657,6420,8,657,10,657,12,657,6423,9,657,1,658,1,658,1,658,1,659,1,659,1,659,5,659,6431,8,659,10,659,12,659,6434,9,659,1,660,1,660,1,660,1,661,1,661,1,661,1,662,1,662,1,662,1,663,1,663,1,663,5,663,6448,8,663,10,663,12,663,6451,9,663,1,664,1,664,1,664,1,665,1,665,1,665,1,666,1,666,1,667,1,667,1,667,1,667,1,667,1,667,1,668,1,668,1,668,3,668,6470,8,668,1,668,1,668,3,668,6474,8,668,1,668,3,668,6477,8,668,1,668,1,668,1,668,1,668,3,668,6483,8,668,1,668,3,668,6486,8,668,1,668,1,668,1,668,3,668,6491,8,668,1,668,1,668,3,668,6495,8,668,1,669,4,669,6498,8,669,11,669,12,669,6499,1,670,1,670,1,670,5,670,6505,8,670,10,670,12,670,6508,9,670,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,5,671,6518,8,671,10,671,12,671,6521,9,671,1,671,1,671,1,672,4,672,6526,8,672,11,672,12,672,6527,1,672,1,672,1,673,1,673,3,673,6534,8,673,1,673,3,673,6537,8,673,1,673,1,673,1,674,1,674,1,674,1,674,5,674,6545,8,674,10,674,12,674,6548,9,674,1,674,1,674,1,675,1,675,1,675,1,675,5,675,6556,8,675,10,675,12,675,6559,9,675,1,675,1,675,1,675,4,675,6564,8,675,11,675,12,675,6565,1,675,1,675,4,675,6570,8,675,11,675,12,675,6571,1,675,5,675,6575,8,675,10,675,12,675,6578,9,675,1,675,5,675,6581,8,675,10,675,12,675,6584,9,675,1,675,1,675,1,675,1,675,1,675,1,676,1,676,1,676,1,676,5,676,6595,8,676,10,676,12,676,6598,9,676,1,676,1,676,1,676,4,676,6603,8,676,11,676,12,676,6604,1,676,1,676,4,676,6609,8,676,11,676,12,676,6610,1,676,3,676,6614,8,676,5,676,6616,8,676,10,676,12,676,6619,9,676,1,676,4,676,6622,8,676,11,676,12,676,6623,1,676,4,676,6627,8,676,11,676,12,676,6628,1,676,5,676,6632,8,676,10,676,12,676,6635,9,676,1,676,3,676,6638,8,676,1,676,1,676,1,677,1,677,1,677,1,677,5,677,6646,8,677,10,677,12,677,6649,9,677,1,677,5,677,6652,8,677,10,677,12,677,6655,9,677,1,677,1,677,5,677,6659,8,677,10,677,12,677,6662,9,677,3,677,6664,8,677,1,678,1,678,1,678,1,679,1,679,1,680,1,680,1,680,1,680,1,680,1,681,1,681,3,681,6678,8,681,1,681,1,681,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,1,682,3,682,6702,8,682,1,682,5,682,6705,8,682,10,682,12,682,6708,9,682,1,683,1,683,1,683,1,683,1,683,1,684,1,684,3,684,6717,8,684,1,684,1,684,1,685,1,685,1,685,1,685,1,685,5,685,6726,8,685,10,685,12,685,6729,9,685,1,686,1,686,1,686,1,686,1,686,1,687,1,687,1,687,1,687,1,687,1,687,1,688,1,688,1,688,1,688,1,688,1,689,1,689,1,689,1,689,1,689,1,690,1,690,1,690,1,690,1,690,1,691,1,691,1,691,1,691,1,691,1,692,1,692,1,692,1,692,1,692,1,693,4,693,6768,8,693,11,693,12,693,6769,1,693,1,693,5,693,6774,8,693,10,693,12,693,6777,9,693,3,693,6779,8,693,1,694,1,694,3,694,6783,8,694,1,694,1,694,1,694,1,694,1,694,1,694,1,694,0,0,695,5,1,7,2,9,3,11,4,13,5,15,6,17,7,19,8,21,9,23,10,25,11,27,12,29,13,31,14,33,15,35,16,37,17,39,18,41,19,43,20,45,21,47,22,49,23,51,24,53,25,55,26,57,27,59,28,61,29,63,0,65,0,67,0,69,0,71,30,73,31,75,32,77,33,79,34,81,35,83,36,85,37,87,38,89,39,91,40,93,41,95,42,97,43,99,44,101,45,103,46,105,47,107,48,109,49,111,50,113,51,115,52,117,53,119,54,121,55,123,56,125,57,127,58,129,59,131,60,133,61,135,62,137,63,139,64,141,65,143,66,145,67,147,68,149,69,151,70,153,71,155,72,157,73,159,74,161,75,163,76,165,77,167,78,169,79,171,80,173,81,175,82,177,83,179,84,181,85,183,86,185,87,187,88,189,89,191,90,193,91,195,92,197,93,199,94,201,95,203,96,205,97,207,98,209,99,211,100,213,101,215,102,217,103,219,104,221,105,223,106,225,107,227,108,229,109,231,110,233,111,235,112,237,113,239,114,241,115,243,116,245,117,247,118,249,119,251,120,253,121,255,122,257,123,259,124,261,125,263,126,265,127,267,128,269,129,271,130,273,131,275,132,277,133,279,134,281,135,283,136,285,137,287,138,289,139,291,140,293,141,295,142,297,143,299,144,301,145,303,146,305,147,307,148,309,149,311,150,313,151,315,152,317,153,319,154,321,155,323,156,325,157,327,158,329,159,331,160,333,161,335,162,337,163,339,164,341,165,343,166,345,167,347,168,349,169,351,170,353,171,355,172,357,173,359,174,361,175,363,176,365,177,367,178,369,179,371,180,373,181,375,182,377,183,379,184,381,185,383,186,385,187,387,188,389,189,391,190,393,191,395,192,397,193,399,194,401,195,403,196,405,197,407,198,409,199,411,200,413,201,415,202,417,203,419,204,421,205,423,206,425,207,427,208,429,209,431,210,433,211,435,212,437,213,439,214,441,215,443,216,445,217,447,218,449,219,451,220,453,221,455,222,457,223,459,224,461,225,463,226,465,227,467,228,469,229,471,230,473,231,475,232,477,233,479,234,481,235,483,236,485,237,487,238,489,239,491,240,493,241,495,242,497,243,499,244,501,245,503,246,505,247,507,248,509,249,511,250,513,251,515,252,517,253,519,254,521,255,523,256,525,257,527,258,529,259,531,260,533,261,535,262,537,263,539,264,541,265,543,266,545,267,547,268,549,269,551,270,553,271,555,272,557,273,559,274,561,275,563,276,565,277,567,278,569,279,571,280,573,281,575,282,577,283,579,284,581,285,583,286,585,287,587,288,589,289,591,290,593,291,595,292,597,293,599,294,601,295,603,296,605,297,607,298,609,299,611,300,613,301,615,302,617,303,619,304,621,305,623,306,625,307,627,308,629,309,631,310,633,311,635,312,637,313,639,314,641,315,643,316,645,317,647,318,649,319,651,320,653,321,655,322,657,323,659,324,661,325,663,326,665,327,667,328,669,329,671,330,673,331,675,332,677,333,679,334,681,335,683,336,685,337,687,338,689,339,691,340,693,341,695,342,697,343,699,344,701,345,703,346,705,347,707,348,709,349,711,350,713,351,715,352,717,353,719,354,721,355,723,356,725,357,727,358,729,359,731,360,733,361,735,362,737,363,739,364,741,365,743,366,745,367,747,368,749,369,751,370,753,371,755,372,757,373,759,374,761,375,763,376,765,377,767,378,769,379,771,380,773,381,775,382,777,383,779,384,781,385,783,386,785,387,787,388,789,389,791,390,793,391,795,392,797,393,799,394,801,395,803,396,805,397,807,398,809,399,811,400,813,401,815,402,817,403,819,404,821,405,823,406,825,407,827,408,829,409,831,410,833,411,835,412,837,413,839,414,841,415,843,416,845,417,847,418,849,419,851,420,853,421,855,422,857,423,859,424,861,425,863,426,865,427,867,428,869,429,871,430,873,431,875,432,877,433,879,434,881,435,883,436,885,437,887,438,889,439,891,440,893,441,895,442,897,443,899,444,901,445,903,446,905,447,907,448,909,449,911,450,913,451,915,452,917,453,919,454,921,455,923,456,925,457,927,458,929,459,931,460,933,461,935,462,937,463,939,464,941,465,943,466,945,467,947,468,949,469,951,470,953,471,955,472,957,473,959,474,961,475,963,476,965,477,967,478,969,479,971,480,973,481,975,482,977,483,979,484,981,485,983,486,985,487,987,488,989,489,991,490,993,491,995,492,997,493,999,494,1001,495,1003,496,1005,497,1007,498,1009,499,1011,500,1013,501,1015,502,1017,503,1019,504,1021,505,1023,506,1025,507,1027,508,1029,509,1031,510,1033,511,1035,512,1037,513,1039,514,1041,515,1043,516,1045,517,1047,518,1049,519,1051,520,1053,521,1055,522,1057,523,1059,524,1061,525,1063,526,1065,527,1067,528,1069,529,1071,530,1073,531,1075,532,1077,533,1079,534,1081,535,1083,536,1085,537,1087,538,1089,539,1091,540,1093,541,1095,542,1097,543,1099,544,1101,545,1103,546,1105,547,1107,548,1109,549,1111,550,1113,551,1115,552,1117,553,1119,554,1121,555,1123,556,1125,557,1127,558,1129,559,1131,560,1133,561,1135,562,1137,563,1139,564,1141,565,1143,566,1145,567,1147,568,1149,569,1151,570,1153,571,1155,572,1157,573,1159,574,1161,575,1163,576,1165,577,1167,578,1169,579,1171,580,1173,581,1175,582,1177,583,1179,584,1181,585,1183,586,1185,587,1187,588,1189,589,1191,590,1193,591,1195,592,1197,593,1199,594,1201,595,1203,596,1205,597,1207,598,1209,599,1211,600,1213,601,1215,602,1217,603,1219,604,1221,605,1223,606,1225,607,1227,608,1229,609,1231,610,1233,611,1235,612,1237,613,1239,614,1241,615,1243,616,1245,617,1247,618,1249,619,1251,620,1253,621,1255,622,1257,623,1259,624,1261,625,1263,626,1265,627,1267,628,1269,629,1271,630,1273,631,1275,632,1277,633,1279,634,1281,635,1283,636,1285,0,1287,0,1289,0,1291,637,1293,638,1295,639,1297,640,1299,641,1301,642,1303,643,1305,644,1307,645,1309,646,1311,0,1313,647,1315,648,1317,649,1319,0,1321,650,1323,651,1325,652,1327,653,1329,654,1331,655,1333,656,1335,657,1337,658,1339,659,1341,660,1343,0,1345,661,1347,662,1349,663,1351,664,1353,665,1355,666,1357,667,1359,668,1361,669,1363,670,1365,671,1367,672,1369,0,1371,673,1373,674,1375,0,1377,0,1379,0,1381,675,1383,0,1385,0,1387,679,1389,676,1391,677,1393,678,5,0,1,2,3,4,51,1,0,48,57,2,0,43,43,45,45,9,0,33,33,35,35,37,38,42,42,60,64,94,94,96,96,124,124,126,126,2,0,42,43,60,62,8,0,33,33,35,35,37,38,63,64,94,94,96,96,124,124,126,126,2,0,65,65,97,97,2,0,76,76,108,108,2,0,78,78,110,110,2,0,89,89,121,121,2,0,83,83,115,115,2,0,69,69,101,101,2,0,90,90,122,122,2,0,68,68,100,100,2,0,82,82,114,114,2,0,67,67,99,99,2,0,77,77,109,109,2,0,84,84,116,116,2,0,73,73,105,105,2,0,66,66,98,98,2,0,79,79,111,111,2,0,72,72,104,104,2,0,75,75,107,107,2,0,85,85,117,117,2,0,71,71,103,103,2,0,80,80,112,112,2,0,70,70,102,102,2,0,88,88,120,120,2,0,86,86,118,118,2,0,81,81,113,113,2,0,87,87,119,119,2,0,74,74,106,106,9,0,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,255,2,0,256,55295,57344,65535,1,0,55296,56319,1,0,56320,57343,2,0,0,0,34,34,1,0,34,34,1,0,39,39,1,0,48,49,3,0,48,57,65,70,97,102,3,0,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,34,34,92,92,2,0,9,9,32,32,2,0,10,10,13,13,2,0,42,42,47,47,4,0,10,10,13,13,34,34,92,92,3,0,10,10,13,13,34,34,3,0,85,85,117,117,120,120,2,0,39,39,92,92,1,0,36,36,6863,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,779,1,0,0,0,0,781,1,0,0,0,0,783,1,0,0,0,0,785,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,0,795,1,0,0,0,0,797,1,0,0,0,0,799,1,0,0,0,0,801,1,0,0,0,0,803,1,0,0,0,0,805,1,0,0,0,0,807,1,0,0,0,0,809,1,0,0,0,0,811,1,0,0,0,0,813,1,0,0,0,0,815,1,0,0,0,0,817,1,0,0,0,0,819,1,0,0,0,0,821,1,0,0,0,0,823,1,0,0,0,0,825,1,0,0,0,0,827,1,0,0,0,0,829,1,0,0,0,0,831,1,0,0,0,0,833,1,0,0,0,0,835,1,0,0,0,0,837,1,0,0,0,0,839,1,0,0,0,0,841,1,0,0,0,0,843,1,0,0,0,0,845,1,0,0,0,0,847,1,0,0,0,0,849,1,0,0,0,0,851,1,0,0,0,0,853,1,0,0,0,0,855,1,0,0,0,0,857,1,0,0,0,0,859,1,0,0,0,0,861,1,0,0,0,0,863,1,0,0,0,0,865,1,0,0,0,0,867,1,0,0,0,0,869,1,0,0,0,0,871,1,0,0,0,0,873,1,0,0,0,0,875,1,0,0,0,0,877,1,0,0,0,0,879,1,0,0,0,0,881,1,0,0,0,0,883,1,0,0,0,0,885,1,0,0,0,0,887,1,0,0,0,0,889,1,0,0,0,0,891,1,0,0,0,0,893,1,0,0,0,0,895,1,0,0,0,0,897,1,0,0,0,0,899,1,0,0,0,0,901,1,0,0,0,0,903,1,0,0,0,0,905,1,0,0,0,0,907,1,0,0,0,0,909,1,0,0,0,0,911,1,0,0,0,0,913,1,0,0,0,0,915,1,0,0,0,0,917,1,0,0,0,0,919,1,0,0,0,0,921,1,0,0,0,0,923,1,0,0,0,0,925,1,0,0,0,0,927,1,0,0,0,0,929,1,0,0,0,0,931,1,0,0,0,0,933,1,0,0,0,0,935,1,0,0,0,0,937,1,0,0,0,0,939,1,0,0,0,0,941,1,0,0,0,0,943,1,0,0,0,0,945,1,0,0,0,0,947,1,0,0,0,0,949,1,0,0,0,0,951,1,0,0,0,0,953,1,0,0,0,0,955,1,0,0,0,0,957,1,0,0,0,0,959,1,0,0,0,0,961,1,0,0,0,0,963,1,0,0,0,0,965,1,0,0,0,0,967,1,0,0,0,0,969,1,0,0,0,0,971,1,0,0,0,0,973,1,0,0,0,0,975,1,0,0,0,0,977,1,0,0,0,0,979,1,0,0,0,0,981,1,0,0,0,0,983,1,0,0,0,0,985,1,0,0,0,0,987,1,0,0,0,0,989,1,0,0,0,0,991,1,0,0,0,0,993,1,0,0,0,0,995,1,0,0,0,0,997,1,0,0,0,0,999,1,0,0,0,0,1001,1,0,0,0,0,1003,1,0,0,0,0,1005,1,0,0,0,0,1007,1,0,0,0,0,1009,1,0,0,0,0,1011,1,0,0,0,0,1013,1,0,0,0,0,1015,1,0,0,0,0,1017,1,0,0,0,0,1019,1,0,0,0,0,1021,1,0,0,0,0,1023,1,0,0,0,0,1025,1,0,0,0,0,1027,1,0,0,0,0,1029,1,0,0,0,0,1031,1,0,0,0,0,1033,1,0,0,0,0,1035,1,0,0,0,0,1037,1,0,0,0,0,1039,1,0,0,0,0,1041,1,0,0,0,0,1043,1,0,0,0,0,1045,1,0,0,0,0,1047,1,0,0,0,0,1049,1,0,0,0,0,1051,1,0,0,0,0,1053,1,0,0,0,0,1055,1,0,0,0,0,1057,1,0,0,0,0,1059,1,0,0,0,0,1061,1,0,0,0,0,1063,1,0,0,0,0,1065,1,0,0,0,0,1067,1,0,0,0,0,1069,1,0,0,0,0,1071,1,0,0,0,0,1073,1,0,0,0,0,1075,1,0,0,0,0,1077,1,0,0,0,0,1079,1,0,0,0,0,1081,1,0,0,0,0,1083,1,0,0,0,0,1085,1,0,0,0,0,1087,1,0,0,0,0,1089,1,0,0,0,0,1091,1,0,0,0,0,1093,1,0,0,0,0,1095,1,0,0,0,0,1097,1,0,0,0,0,1099,1,0,0,0,0,1101,1,0,0,0,0,1103,1,0,0,0,0,1105,1,0,0,0,0,1107,1,0,0,0,0,1109,1,0,0,0,0,1111,1,0,0,0,0,1113,1,0,0,0,0,1115,1,0,0,0,0,1117,1,0,0,0,0,1119,1,0,0,0,0,1121,1,0,0,0,0,1123,1,0,0,0,0,1125,1,0,0,0,0,1127,1,0,0,0,0,1129,1,0,0,0,0,1131,1,0,0,0,0,1133,1,0,0,0,0,1135,1,0,0,0,0,1137,1,0,0,0,0,1139,1,0,0,0,0,1141,1,0,0,0,0,1143,1,0,0,0,0,1145,1,0,0,0,0,1147,1,0,0,0,0,1149,1,0,0,0,0,1151,1,0,0,0,0,1153,1,0,0,0,0,1155,1,0,0,0,0,1157,1,0,0,0,0,1159,1,0,0,0,0,1161,1,0,0,0,0,1163,1,0,0,0,0,1165,1,0,0,0,0,1167,1,0,0,0,0,1169,1,0,0,0,0,1171,1,0,0,0,0,1173,1,0,0,0,0,1175,1,0,0,0,0,1177,1,0,0,0,0,1179,1,0,0,0,0,1181,1,0,0,0,0,1183,1,0,0,0,0,1185,1,0,0,0,0,1187,1,0,0,0,0,1189,1,0,0,0,0,1191,1,0,0,0,0,1193,1,0,0,0,0,1195,1,0,0,0,0,1197,1,0,0,0,0,1199,1,0,0,0,0,1201,1,0,0,0,0,1203,1,0,0,0,0,1205,1,0,0,0,0,1207,1,0,0,0,0,1209,1,0,0,0,0,1211,1,0,0,0,0,1213,1,0,0,0,0,1215,1,0,0,0,0,1217,1,0,0,0,0,1219,1,0,0,0,0,1221,1,0,0,0,0,1223,1,0,0,0,0,1225,1,0,0,0,0,1227,1,0,0,0,0,1229,1,0,0,0,0,1231,1,0,0,0,0,1233,1,0,0,0,0,1235,1,0,0,0,0,1237,1,0,0,0,0,1239,1,0,0,0,0,1241,1,0,0,0,0,1243,1,0,0,0,0,1245,1,0,0,0,0,1247,1,0,0,0,0,1249,1,0,0,0,0,1251,1,0,0,0,0,1253,1,0,0,0,0,1255,1,0,0,0,0,1257,1,0,0,0,0,1259,1,0,0,0,0,1261,1,0,0,0,0,1263,1,0,0,0,0,1265,1,0,0,0,0,1267,1,0,0,0,0,1269,1,0,0,0,0,1271,1,0,0,0,0,1273,1,0,0,0,0,1275,1,0,0,0,0,1277,1,0,0,0,0,1279,1,0,0,0,0,1281,1,0,0,0,0,1283,1,0,0,0,0,1291,1,0,0,0,0,1293,1,0,0,0,0,1295,1,0,0,0,0,1297,1,0,0,0,0,1299,1,0,0,0,0,1301,1,0,0,0,0,1303,1,0,0,0,0,1305,1,0,0,0,0,1307,1,0,0,0,0,1309,1,0,0,0,0,1311,1,0,0,0,0,1313,1,0,0,0,0,1315,1,0,0,0,0,1317,1,0,0,0,0,1321,1,0,0,0,0,1323,1,0,0,0,0,1325,1,0,0,0,0,1327,1,0,0,0,0,1329,1,0,0,0,0,1331,1,0,0,0,0,1333,1,0,0,0,0,1335,1,0,0,0,0,1337,1,0,0,0,0,1339,1,0,0,0,0,1341,1,0,0,0,0,1345,1,0,0,0,0,1347,1,0,0,0,0,1349,1,0,0,0,0,1351,1,0,0,0,0,1353,1,0,0,0,0,1355,1,0,0,0,0,1357,1,0,0,0,0,1359,1,0,0,0,0,1361,1,0,0,0,0,1363,1,0,0,0,1,1365,1,0,0,0,1,1367,1,0,0,0,1,1371,1,0,0,0,1,1373,1,0,0,0,2,1377,1,0,0,0,2,1379,1,0,0,0,2,1381,1,0,0,0,3,1383,1,0,0,0,3,1385,1,0,0,0,3,1387,1,0,0,0,3,1389,1,0,0,0,4,1391,1,0,0,0,4,1393,1,0,0,0,5,1395,1,0,0,0,7,1397,1,0,0,0,9,1399,1,0,0,0,11,1401,1,0,0,0,13,1403,1,0,0,0,15,1405,1,0,0,0,17,1407,1,0,0,0,19,1409,1,0,0,0,21,1411,1,0,0,0,23,1413,1,0,0,0,25,1415,1,0,0,0,27,1417,1,0,0,0,29,1419,1,0,0,0,31,1421,1,0,0,0,33,1423,1,0,0,0,35,1425,1,0,0,0,37,1427,1,0,0,0,39,1429,1,0,0,0,41,1432,1,0,0,0,43,1435,1,0,0,0,45,1438,1,0,0,0,47,1441,1,0,0,0,49,1444,1,0,0,0,51,1447,1,0,0,0,53,1450,1,0,0,0,55,1453,1,0,0,0,57,1456,1,0,0,0,59,1458,1,0,0,0,61,1484,1,0,0,0,63,1495,1,0,0,0,65,1511,1,0,0,0,67,1513,1,0,0,0,69,1515,1,0,0,0,71,1517,1,0,0,0,73,1521,1,0,0,0,75,1529,1,0,0,0,77,1537,1,0,0,0,79,1541,1,0,0,0,81,1545,1,0,0,0,83,1551,1,0,0,0,85,1554,1,0,0,0,87,1558,1,0,0,0,89,1569,1,0,0,0,91,1574,1,0,0,0,93,1579,1,0,0,0,95,1584,1,0,0,0,97,1590,1,0,0,0,99,1598,1,0,0,0,101,1605,1,0,0,0,103,1616,1,0,0,0,105,1623,1,0,0,0,107,1639,1,0,0,0,109,1652,1,0,0,0,111,1665,1,0,0,0,113,1678,1,0,0,0,115,1696,1,0,0,0,117,1709,1,0,0,0,119,1717,1,0,0,0,121,1728,1,0,0,0,123,1733,1,0,0,0,125,1742,1,0,0,0,127,1745,1,0,0,0,129,1750,1,0,0,0,131,1757,1,0,0,0,133,1763,1,0,0,0,135,1769,1,0,0,0,137,1773,1,0,0,0,139,1781,1,0,0,0,141,1786,1,0,0,0,143,1792,1,0,0,0,145,1798,1,0,0,0,147,1805,1,0,0,0,149,1808,1,0,0,0,151,1818,1,0,0,0,153,1828,1,0,0,0,155,1833,1,0,0,0,157,1841,1,0,0,0,159,1849,1,0,0,0,161,1855,1,0,0,0,163,1865,1,0,0,0,165,1880,1,0,0,0,167,1884,1,0,0,0,169,1889,1,0,0,0,171,1896,1,0,0,0,173,1899,1,0,0,0,175,1904,1,0,0,0,177,1907,1,0,0,0,179,1913,1,0,0,0,181,1921,1,0,0,0,183,1929,1,0,0,0,185,1940,1,0,0,0,187,1950,1,0,0,0,189,1957,1,0,0,0,191,1970,1,0,0,0,193,1975,1,0,0,0,195,1985,1,0,0,0,197,1991,1,0,0,0,199,1996,1,0,0,0,201,1999,1,0,0,0,203,2008,1,0,0,0,205,2013,1,0,0,0,207,2019,1,0,0,0,209,2026,1,0,0,0,211,2031,1,0,0,0,213,2037,1,0,0,0,215,2046,1,0,0,0,217,2051,1,0,0,0,219,2057,1,0,0,0,221,2064,1,0,0,0,223,2069,1,0,0,0,225,2083,1,0,0,0,227,2090,1,0,0,0,229,2100,1,0,0,0,231,2113,1,0,0,0,233,2119,1,0,0,0,235,2134,1,0,0,0,237,2141,1,0,0,0,239,2146,1,0,0,0,241,2152,1,0,0,0,243,2158,1,0,0,0,245,2161,1,0,0,0,247,2168,1,0,0,0,249,2173,1,0,0,0,251,2178,1,0,0,0,253,2183,1,0,0,0,255,2191,1,0,0,0,257,2199,1,0,0,0,259,2205,1,0,0,0,261,2210,1,0,0,0,263,2219,1,0,0,0,265,2225,1,0,0,0,267,2233,1,0,0,0,269,2241,1,0,0,0,271,2247,1,0,0,0,273,2256,1,0,0,0,275,2263,1,0,0,0,277,2270,1,0,0,0,279,2274,1,0,0,0,281,2280,1,0,0,0,283,2286,1,0,0,0,285,2296,1,0,0,0,287,2301,1,0,0,0,289,2307,1,0,0,0,291,2314,1,0,0,0,293,2324,1,0,0,0,295,2335,1,0,0,0,297,2338,1,0,0,0,299,2348,1,0,0,0,301,2357,1,0,0,0,303,2364,1,0,0,0,305,2370,1,0,0,0,307,2373,1,0,0,0,309,2379,1,0,0,0,311,2386,1,0,0,0,313,2394,1,0,0,0,315,2403,1,0,0,0,317,2411,1,0,0,0,319,2417,1,0,0,0,321,2433,1,0,0,0,323,2444,1,0,0,0,325,2450,1,0,0,0,327,2456,1,0,0,0,329,2464,1,0,0,0,331,2472,1,0,0,0,333,2481,1,0,0,0,335,2488,1,0,0,0,337,2498,1,0,0,0,339,2512,1,0,0,0,341,2523,1,0,0,0,343,2535,1,0,0,0,345,2543,1,0,0,0,347,2552,1,0,0,0,349,2563,1,0,0,0,351,2568,1,0,0,0,353,2573,1,0,0,0,355,2577,1,0,0,0,357,2584,1,0,0,0,359,2590,1,0,0,0,361,2595,1,0,0,0,363,2604,1,0,0,0,365,2608,1,0,0,0,367,2619,1,0,0,0,369,2627,1,0,0,0,371,2636,1,0,0,0,373,2645,1,0,0,0,375,2653,1,0,0,0,377,2660,1,0,0,0,379,2670,1,0,0,0,381,2681,1,0,0,0,383,2692,1,0,0,0,385,2700,1,0,0,0,387,2708,1,0,0,0,389,2717,1,0,0,0,391,2724,1,0,0,0,393,2731,1,0,0,0,395,2736,1,0,0,0,397,2741,1,0,0,0,399,2748,1,0,0,0,401,2757,1,0,0,0,403,2767,1,0,0,0,405,2772,1,0,0,0,407,2779,1,0,0,0,409,2785,1,0,0,0,411,2793,1,0,0,0,413,2803,1,0,0,0,415,2813,1,0,0,0,417,2821,1,0,0,0,419,2829,1,0,0,0,421,2839,1,0,0,0,423,2848,1,0,0,0,425,2855,1,0,0,0,427,2861,1,0,0,0,429,2871,1,0,0,0,431,2877,1,0,0,0,433,2885,1,0,0,0,435,2894,1,0,0,0,437,2904,1,0,0,0,439,2911,1,0,0,0,441,2919,1,0,0,0,443,2927,1,0,0,0,445,2934,1,0,0,0,447,2939,1,0,0,0,449,2944,1,0,0,0,451,2953,1,0,0,0,453,2956,1,0,0,0,455,2966,1,0,0,0,457,2976,1,0,0,0,459,2985,1,0,0,0,461,2995,1,0,0,0,463,3005,1,0,0,0,465,3011,1,0,0,0,467,3019,1,0,0,0,469,3027,1,0,0,0,471,3036,1,0,0,0,473,3043,1,0,0,0,475,3055,1,0,0,0,477,3062,1,0,0,0,479,3070,1,0,0,0,481,3078,1,0,0,0,483,3088,1,0,0,0,485,3092,1,0,0,0,487,3098,1,0,0,0,489,3107,1,0,0,0,491,3113,1,0,0,0,493,3118,1,0,0,0,495,3128,1,0,0,0,497,3134,1,0,0,0,499,3141,1,0,0,0,501,3146,1,0,0,0,503,3152,1,0,0,0,505,3161,1,0,0,0,507,3166,1,0,0,0,509,3174,1,0,0,0,511,3180,1,0,0,0,513,3188,1,0,0,0,515,3201,1,0,0,0,517,3210,1,0,0,0,519,3216,1,0,0,0,521,3223,1,0,0,0,523,3232,1,0,0,0,525,3237,1,0,0,0,527,3243,1,0,0,0,529,3248,1,0,0,0,531,3253,1,0,0,0,533,3259,1,0,0,0,535,3264,1,0,0,0,537,3267,1,0,0,0,539,3275,1,0,0,0,541,3282,1,0,0,0,543,3289,1,0,0,0,545,3295,1,0,0,0,547,3302,1,0,0,0,549,3305,1,0,0,0,551,3309,1,0,0,0,553,3314,1,0,0,0,555,3323,1,0,0,0,557,3330,1,0,0,0,559,3338,1,0,0,0,561,3344,1,0,0,0,563,3350,1,0,0,0,565,3357,1,0,0,0,567,3365,1,0,0,0,569,3375,1,0,0,0,571,3383,1,0,0,0,573,3392,1,0,0,0,575,3398,1,0,0,0,577,3408,1,0,0,0,579,3416,1,0,0,0,581,3425,1,0,0,0,583,3434,1,0,0,0,585,3440,1,0,0,0,587,3451,1,0,0,0,589,3462,1,0,0,0,591,3472,1,0,0,0,593,3480,1,0,0,0,595,3486,1,0,0,0,597,3492,1,0,0,0,599,3497,1,0,0,0,601,3506,1,0,0,0,603,3514,1,0,0,0,605,3524,1,0,0,0,607,3528,1,0,0,0,609,3536,1,0,0,0,611,3544,1,0,0,0,613,3553,1,0,0,0,615,3561,1,0,0,0,617,3568,1,0,0,0,619,3579,1,0,0,0,621,3587,1,0,0,0,623,3595,1,0,0,0,625,3601,1,0,0,0,627,3609,1,0,0,0,629,3618,1,0,0,0,631,3626,1,0,0,0,633,3633,1,0,0,0,635,3638,1,0,0,0,637,3647,1,0,0,0,639,3652,1,0,0,0,641,3657,1,0,0,0,643,3667,1,0,0,0,645,3674,1,0,0,0,647,3681,1,0,0,0,649,3688,1,0,0,0,651,3695,1,0,0,0,653,3704,1,0,0,0,655,3713,1,0,0,0,657,3723,1,0,0,0,659,3736,1,0,0,0,661,3743,1,0,0,0,663,3751,1,0,0,0,665,3755,1,0,0,0,667,3761,1,0,0,0,669,3766,1,0,0,0,671,3773,1,0,0,0,673,3782,1,0,0,0,675,3789,1,0,0,0,677,3800,1,0,0,0,679,3806,1,0,0,0,681,3816,1,0,0,0,683,3827,1,0,0,0,685,3833,1,0,0,0,687,3840,1,0,0,0,689,3848,1,0,0,0,691,3855,1,0,0,0,693,3861,1,0,0,0,695,3867,1,0,0,0,697,3874,1,0,0,0,699,3881,1,0,0,0,701,3892,1,0,0,0,703,3897,1,0,0,0,705,3906,1,0,0,0,707,3916,1,0,0,0,709,3921,1,0,0,0,711,3933,1,0,0,0,713,3941,1,0,0,0,715,3950,1,0,0,0,717,3958,1,0,0,0,719,3963,1,0,0,0,721,3969,1,0,0,0,723,3979,1,0,0,0,725,3991,1,0,0,0,727,4003,1,0,0,0,729,4011,1,0,0,0,731,4020,1,0,0,0,733,4029,1,0,0,0,735,4035,1,0,0,0,737,4042,1,0,0,0,739,4049,1,0,0,0,741,4055,1,0,0,0,743,4064,1,0,0,0,745,4074,1,0,0,0,747,4082,1,0,0,0,749,4090,1,0,0,0,751,4095,1,0,0,0,753,4104,1,0,0,0,755,4115,1,0,0,0,757,4123,1,0,0,0,759,4128,1,0,0,0,761,4136,1,0,0,0,763,4142,1,0,0,0,765,4146,1,0,0,0,767,4151,1,0,0,0,769,4155,1,0,0,0,771,4160,1,0,0,0,773,4168,1,0,0,0,775,4175,1,0,0,0,777,4179,1,0,0,0,779,4187,1,0,0,0,781,4192,1,0,0,0,783,4202,1,0,0,0,785,4211,1,0,0,0,787,4215,1,0,0,0,789,4223,1,0,0,0,791,4230,1,0,0,0,793,4238,1,0,0,0,795,4244,1,0,0,0,797,4253,1,0,0,0,799,4259,1,0,0,0,801,4263,1,0,0,0,803,4271,1,0,0,0,805,4280,1,0,0,0,807,4286,1,0,0,0,809,4295,1,0,0,0,811,4301,1,0,0,0,813,4306,1,0,0,0,815,4313,1,0,0,0,817,4321,1,0,0,0,819,4329,1,0,0,0,821,4338,1,0,0,0,823,4348,1,0,0,0,825,4353,1,0,0,0,827,4357,1,0,0,0,829,4363,1,0,0,0,831,4372,1,0,0,0,833,4382,1,0,0,0,835,4387,1,0,0,0,837,4397,1,0,0,0,839,4403,1,0,0,0,841,4408,1,0,0,0,843,4415,1,0,0,0,845,4423,1,0,0,0,847,4437,1,0,0,0,849,4448,1,0,0,0,851,4455,1,0,0,0,853,4474,1,0,0,0,855,4502,1,0,0,0,857,4529,1,0,0,0,859,4535,1,0,0,0,861,4548,1,0,0,0,863,4558,1,0,0,0,865,4569,1,0,0,0,867,4579,1,0,0,0,869,4589,1,0,0,0,871,4598,1,0,0,0,873,4604,1,0,0,0,875,4612,1,0,0,0,877,4625,1,0,0,0,879,4630,1,0,0,0,881,4638,1,0,0,0,883,4645,1,0,0,0,885,4652,1,0,0,0,887,4663,1,0,0,0,889,4673,1,0,0,0,891,4680,1,0,0,0,893,4687,1,0,0,0,895,4695,1,0,0,0,897,4703,1,0,0,0,899,4713,1,0,0,0,901,4720,1,0,0,0,903,4727,1,0,0,0,905,4734,1,0,0,0,907,4746,1,0,0,0,909,4750,1,0,0,0,911,4754,1,0,0,0,913,4760,1,0,0,0,915,4773,1,0,0,0,917,4785,1,0,0,0,919,4789,1,0,0,0,921,4793,1,0,0,0,923,4802,1,0,0,0,925,4810,1,0,0,0,927,4821,1,0,0,0,929,4827,1,0,0,0,931,4835,1,0,0,0,933,4844,1,0,0,0,935,4848,1,0,0,0,937,4856,1,0,0,0,939,4867,1,0,0,0,941,4876,1,0,0,0,943,4881,1,0,0,0,945,4888,1,0,0,0,947,4893,1,0,0,0,949,4900,1,0,0,0,951,4905,1,0,0,0,953,4914,1,0,0,0,955,4919,1,0,0,0,957,4931,1,0,0,0,959,4942,1,0,0,0,961,4951,1,0,0,0,963,4959,1,0,0,0,965,4973,1,0,0,0,967,4981,1,0,0,0,969,4992,1,0,0,0,971,4999,1,0,0,0,973,5006,1,0,0,0,975,5013,1,0,0,0,977,5020,1,0,0,0,979,5024,1,0,0,0,981,5028,1,0,0,0,983,5033,1,0,0,0,985,5038,1,0,0,0,987,5046,1,0,0,0,989,5052,1,0,0,0,991,5062,1,0,0,0,993,5067,1,0,0,0,995,5087,1,0,0,0,997,5105,1,0,0,0,999,5111,1,0,0,0,1001,5124,1,0,0,0,1003,5135,1,0,0,0,1005,5141,1,0,0,0,1007,5150,1,0,0,0,1009,5158,1,0,0,0,1011,5162,1,0,0,0,1013,5174,1,0,0,0,1015,5182,1,0,0,0,1017,5188,1,0,0,0,1019,5194,1,0,0,0,1021,5202,1,0,0,0,1023,5210,1,0,0,0,1025,5216,1,0,0,0,1027,5221,1,0,0,0,1029,5228,1,0,0,0,1031,5234,1,0,0,0,1033,5240,1,0,0,0,1035,5249,1,0,0,0,1037,5255,1,0,0,0,1039,5259,1,0,0,0,1041,5264,1,0,0,0,1043,5271,1,0,0,0,1045,5279,1,0,0,0,1047,5289,1,0,0,0,1049,5296,1,0,0,0,1051,5301,1,0,0,0,1053,5306,1,0,0,0,1055,5310,1,0,0,0,1057,5315,1,0,0,0,1059,5320,1,0,0,0,1061,5328,1,0,0,0,1063,5336,1,0,0,0,1065,5340,1,0,0,0,1067,5344,1,0,0,0,1069,5354,1,0,0,0,1071,5360,1,0,0,0,1073,5364,1,0,0,0,1075,5368,1,0,0,0,1077,5371,1,0,0,0,1079,5377,1,0,0,0,1081,5387,1,0,0,0,1083,5391,1,0,0,0,1085,5394,1,0,0,0,1087,5400,1,0,0,0,1089,5408,1,0,0,0,1091,5414,1,0,0,0,1093,5420,1,0,0,0,1095,5425,1,0,0,0,1097,5430,1,0,0,0,1099,5441,1,0,0,0,1101,5447,1,0,0,0,1103,5460,1,0,0,0,1105,5467,1,0,0,0,1107,5475,1,0,0,0,1109,5480,1,0,0,0,1111,5486,1,0,0,0,1113,5491,1,0,0,0,1115,5497,1,0,0,0,1117,5502,1,0,0,0,1119,5508,1,0,0,0,1121,5514,1,0,0,0,1123,5521,1,0,0,0,1125,5525,1,0,0,0,1127,5530,1,0,0,0,1129,5534,1,0,0,0,1131,5539,1,0,0,0,1133,5543,1,0,0,0,1135,5548,1,0,0,0,1137,5552,1,0,0,0,1139,5557,1,0,0,0,1141,5562,1,0,0,0,1143,5567,1,0,0,0,1145,5572,1,0,0,0,1147,5578,1,0,0,0,1149,5584,1,0,0,0,1151,5590,1,0,0,0,1153,5601,1,0,0,0,1155,5613,1,0,0,0,1157,5630,1,0,0,0,1159,5636,1,0,0,0,1161,5649,1,0,0,0,1163,5655,1,0,0,0,1165,5661,1,0,0,0,1167,5667,1,0,0,0,1169,5671,1,0,0,0,1171,5678,1,0,0,0,1173,5688,1,0,0,0,1175,5695,1,0,0,0,1177,5703,1,0,0,0,1179,5710,1,0,0,0,1181,5715,1,0,0,0,1183,5721,1,0,0,0,1185,5725,1,0,0,0,1187,5737,1,0,0,0,1189,5756,1,0,0,0,1191,5768,1,0,0,0,1193,5782,1,0,0,0,1195,5797,1,0,0,0,1197,5810,1,0,0,0,1199,5823,1,0,0,0,1201,5835,1,0,0,0,1203,5848,1,0,0,0,1205,5863,1,0,0,0,1207,5878,1,0,0,0,1209,5900,1,0,0,0,1211,5922,1,0,0,0,1213,5936,1,0,0,0,1215,5943,1,0,0,0,1217,5948,1,0,0,0,1219,5954,1,0,0,0,1221,5965,1,0,0,0,1223,5977,1,0,0,0,1225,5993,1,0,0,0,1227,6009,1,0,0,0,1229,6016,1,0,0,0,1231,6023,1,0,0,0,1233,6032,1,0,0,0,1235,6039,1,0,0,0,1237,6049,1,0,0,0,1239,6056,1,0,0,0,1241,6060,1,0,0,0,1243,6076,1,0,0,0,1245,6085,1,0,0,0,1247,6095,1,0,0,0,1249,6106,1,0,0,0,1251,6115,1,0,0,0,1253,6128,1,0,0,0,1255,6142,1,0,0,0,1257,6159,1,0,0,0,1259,6169,1,0,0,0,1261,6183,1,0,0,0,1263,6193,1,0,0,0,1265,6208,1,0,0,0,1267,6225,1,0,0,0,1269,6229,1,0,0,0,1271,6249,1,0,0,0,1273,6259,1,0,0,0,1275,6281,1,0,0,0,1277,6294,1,0,0,0,1279,6302,1,0,0,0,1281,6310,1,0,0,0,1283,6320,1,0,0,0,1285,6333,1,0,0,0,1287,6337,1,0,0,0,1289,6341,1,0,0,0,1291,6343,1,0,0,0,1293,6346,1,0,0,0,1295,6355,1,0,0,0,1297,6358,1,0,0,0,1299,6367,1,0,0,0,1301,6371,1,0,0,0,1303,6375,1,0,0,0,1305,6379,1,0,0,0,1307,6383,1,0,0,0,1309,6386,1,0,0,0,1311,6395,1,0,0,0,1313,6401,1,0,0,0,1315,6404,1,0,0,0,1317,6408,1,0,0,0,1319,6417,1,0,0,0,1321,6424,1,0,0,0,1323,6427,1,0,0,0,1325,6435,1,0,0,0,1327,6438,1,0,0,0,1329,6441,1,0,0,0,1331,6444,1,0,0,0,1333,6452,1,0,0,0,1335,6455,1,0,0,0,1337,6458,1,0,0,0,1339,6460,1,0,0,0,1341,6494,1,0,0,0,1343,6497,1,0,0,0,1345,6501,1,0,0,0,1347,6509,1,0,0,0,1349,6525,1,0,0,0,1351,6536,1,0,0,0,1353,6540,1,0,0,0,1355,6551,1,0,0,0,1357,6590,1,0,0,0,1359,6641,1,0,0,0,1361,6665,1,0,0,0,1363,6668,1,0,0,0,1365,6670,1,0,0,0,1367,6675,1,0,0,0,1369,6706,1,0,0,0,1371,6709,1,0,0,0,1373,6714,1,0,0,0,1375,6727,1,0,0,0,1377,6730,1,0,0,0,1379,6735,1,0,0,0,1381,6741,1,0,0,0,1383,6746,1,0,0,0,1385,6751,1,0,0,0,1387,6756,1,0,0,0,1389,6761,1,0,0,0,1391,6778,1,0,0,0,1393,6780,1,0,0,0,1395,1396,5,36,0,0,1396,6,1,0,0,0,1397,1398,5,40,0,0,1398,8,1,0,0,0,1399,1400,5,41,0,0,1400,10,1,0,0,0,1401,1402,5,91,0,0,1402,12,1,0,0,0,1403,1404,5,93,0,0,1404,14,1,0,0,0,1405,1406,5,44,0,0,1406,16,1,0,0,0,1407,1408,5,59,0,0,1408,18,1,0,0,0,1409,1410,5,58,0,0,1410,20,1,0,0,0,1411,1412,5,42,0,0,1412,22,1,0,0,0,1413,1414,5,61,0,0,1414,24,1,0,0,0,1415,1416,5,46,0,0,1416,26,1,0,0,0,1417,1418,5,43,0,0,1418,28,1,0,0,0,1419,1420,5,45,0,0,1420,30,1,0,0,0,1421,1422,5,47,0,0,1422,32,1,0,0,0,1423,1424,5,94,0,0,1424,34,1,0,0,0,1425,1426,5,60,0,0,1426,36,1,0,0,0,1427,1428,5,62,0,0,1428,38,1,0,0,0,1429,1430,5,60,0,0,1430,1431,5,60,0,0,1431,40,1,0,0,0,1432,1433,5,62,0,0,1433,1434,5,62,0,0,1434,42,1,0,0,0,1435,1436,5,58,0,0,1436,1437,5,61,0,0,1437,44,1,0,0,0,1438,1439,5,60,0,0,1439,1440,5,61,0,0,1440,46,1,0,0,0,1441,1442,5,61,0,0,1442,1443,5,62,0,0,1443,48,1,0,0,0,1444,1445,5,62,0,0,1445,1446,5,61,0,0,1446,50,1,0,0,0,1447,1448,5,46,0,0,1448,1449,5,46,0,0,1449,52,1,0,0,0,1450,1451,5,60,0,0,1451,1452,5,62,0,0,1452,54,1,0,0,0,1453,1454,5,58,0,0,1454,1455,5,58,0,0,1455,56,1,0,0,0,1456,1457,5,37,0,0,1457,58,1,0,0,0,1458,1460,5,36,0,0,1459,1461,7,0,0,0,1460,1459,1,0,0,0,1461,1462,1,0,0,0,1462,1460,1,0,0,0,1462,1463,1,0,0,0,1463,60,1,0,0,0,1464,1480,3,65,30,0,1465,1469,5,43,0,0,1466,1467,5,45,0,0,1467,1469,4,28,0,0,1468,1465,1,0,0,0,1468,1466,1,0,0,0,1469,1470,1,0,0,0,1470,1468,1,0,0,0,1470,1471,1,0,0,0,1471,1475,1,0,0,0,1472,1476,3,65,30,0,1473,1474,5,47,0,0,1474,1476,4,28,1,0,1475,1472,1,0,0,0,1475,1473,1,0,0,0,1476,1480,1,0,0,0,1477,1478,5,47,0,0,1478,1480,4,28,2,0,1479,1464,1,0,0,0,1479,1468,1,0,0,0,1479,1477,1,0,0,0,1480,1481,1,0,0,0,1481,1479,1,0,0,0,1481,1482,1,0,0,0,1482,1485,1,0,0,0,1483,1485,7,1,0,0,1484,1479,1,0,0,0,1484,1483,1,0,0,0,1485,1486,1,0,0,0,1486,1487,6,28,0,0,1487,62,1,0,0,0,1488,1494,3,67,31,0,1489,1490,5,45,0,0,1490,1494,4,29,3,0,1491,1492,5,47,0,0,1492,1494,4,29,4,0,1493,1488,1,0,0,0,1493,1489,1,0,0,0,1493,1491,1,0,0,0,1494,1497,1,0,0,0,1495,1493,1,0,0,0,1495,1496,1,0,0,0,1496,1498,1,0,0,0,1497,1495,1,0,0,0,1498,1500,3,69,32,0,1499,1501,3,61,28,0,1500,1499,1,0,0,0,1500,1501,1,0,0,0,1501,1505,1,0,0,0,1502,1506,5,43,0,0,1503,1504,5,45,0,0,1504,1506,4,29,5,0,1505,1502,1,0,0,0,1505,1503,1,0,0,0,1506,1507,1,0,0,0,1507,1505,1,0,0,0,1507,1508,1,0,0,0,1508,1509,1,0,0,0,1509,1510,6,29,1,0,1510,64,1,0,0,0,1511,1512,7,2,0,0,1512,66,1,0,0,0,1513,1514,7,3,0,0,1514,68,1,0,0,0,1515,1516,7,4,0,0,1516,70,1,0,0,0,1517,1518,7,5,0,0,1518,1519,7,6,0,0,1519,1520,7,6,0,0,1520,72,1,0,0,0,1521,1522,7,5,0,0,1522,1523,7,7,0,0,1523,1524,7,5,0,0,1524,1525,7,6,0,0,1525,1526,7,8,0,0,1526,1527,7,9,0,0,1527,1528,7,10,0,0,1528,74,1,0,0,0,1529,1530,7,5,0,0,1530,1531,7,7,0,0,1531,1532,7,5,0,0,1532,1533,7,6,0,0,1533,1534,7,8,0,0,1534,1535,7,11,0,0,1535,1536,7,10,0,0,1536,76,1,0,0,0,1537,1538,7,5,0,0,1538,1539,7,7,0,0,1539,1540,7,12,0,0,1540,78,1,0,0,0,1541,1542,7,5,0,0,1542,1543,7,7,0,0,1543,1544,7,8,0,0,1544,80,1,0,0,0,1545,1546,7,5,0,0,1546,1547,7,13,0,0,1547,1548,7,13,0,0,1548,1549,7,5,0,0,1549,1550,7,8,0,0,1550,82,1,0,0,0,1551,1552,7,5,0,0,1552,1553,7,9,0,0,1553,84,1,0,0,0,1554,1555,7,5,0,0,1555,1556,7,9,0,0,1556,1557,7,14,0,0,1557,86,1,0,0,0,1558,1559,7,5,0,0,1559,1560,7,9,0,0,1560,1561,7,8,0,0,1561,1562,7,15,0,0,1562,1563,7,15,0,0,1563,1564,7,10,0,0,1564,1565,7,16,0,0,1565,1566,7,13,0,0,1566,1567,7,17,0,0,1567,1568,7,14,0,0,1568,88,1,0,0,0,1569,1570,7,18,0,0,1570,1571,7,19,0,0,1571,1572,7,16,0,0,1572,1573,7,20,0,0,1573,90,1,0,0,0,1574,1575,7,14,0,0,1575,1576,7,5,0,0,1576,1577,7,9,0,0,1577,1578,7,10,0,0,1578,92,1,0,0,0,1579,1580,7,14,0,0,1580,1581,7,5,0,0,1581,1582,7,9,0,0,1582,1583,7,16,0,0,1583,94,1,0,0,0,1584,1585,7,14,0,0,1585,1586,7,20,0,0,1586,1587,7,10,0,0,1587,1588,7,14,0,0,1588,1589,7,21,0,0,1589,96,1,0,0,0,1590,1591,7,14,0,0,1591,1592,7,19,0,0,1592,1593,7,6,0,0,1593,1594,7,6,0,0,1594,1595,7,5,0,0,1595,1596,7,16,0,0,1596,1597,7,10,0,0,1597,98,1,0,0,0,1598,1599,7,14,0,0,1599,1600,7,19,0,0,1600,1601,7,6,0,0,1601,1602,7,22,0,0,1602,1603,7,15,0,0,1603,1604,7,7,0,0,1604,100,1,0,0,0,1605,1606,7,14,0,0,1606,1607,7,19,0,0,1607,1608,7,7,0,0,1608,1609,7,9,0,0,1609,1610,7,16,0,0,1610,1611,7,13,0,0,1611,1612,7,5,0,0,1612,1613,7,17,0,0,1613,1614,7,7,0,0,1614,1615,7,16,0,0,1615,102,1,0,0,0,1616,1617,7,14,0,0,1617,1618,7,13,0,0,1618,1619,7,10,0,0,1619,1620,7,5,0,0,1620,1621,7,16,0,0,1621,1622,7,10,0,0,1622,104,1,0,0,0,1623,1624,7,14,0,0,1624,1625,7,22,0,0,1625,1626,7,13,0,0,1626,1627,7,13,0,0,1627,1628,7,10,0,0,1628,1629,7,7,0,0,1629,1630,7,16,0,0,1630,1631,5,95,0,0,1631,1632,7,14,0,0,1632,1633,7,5,0,0,1633,1634,7,16,0,0,1634,1635,7,5,0,0,1635,1636,7,6,0,0,1636,1637,7,19,0,0,1637,1638,7,23,0,0,1638,106,1,0,0,0,1639,1640,7,14,0,0,1640,1641,7,22,0,0,1641,1642,7,13,0,0,1642,1643,7,13,0,0,1643,1644,7,10,0,0,1644,1645,7,7,0,0,1645,1646,7,16,0,0,1646,1647,5,95,0,0,1647,1648,7,12,0,0,1648,1649,7,5,0,0,1649,1650,7,16,0,0,1650,1651,7,10,0,0,1651,108,1,0,0,0,1652,1653,7,14,0,0,1653,1654,7,22,0,0,1654,1655,7,13,0,0,1655,1656,7,13,0,0,1656,1657,7,10,0,0,1657,1658,7,7,0,0,1658,1659,7,16,0,0,1659,1660,5,95,0,0,1660,1661,7,13,0,0,1661,1662,7,19,0,0,1662,1663,7,6,0,0,1663,1664,7,10,0,0,1664,110,1,0,0,0,1665,1666,7,14,0,0,1666,1667,7,22,0,0,1667,1668,7,13,0,0,1668,1669,7,13,0,0,1669,1670,7,10,0,0,1670,1671,7,7,0,0,1671,1672,7,16,0,0,1672,1673,5,95,0,0,1673,1674,7,16,0,0,1674,1675,7,17,0,0,1675,1676,7,15,0,0,1676,1677,7,10,0,0,1677,112,1,0,0,0,1678,1679,7,14,0,0,1679,1680,7,22,0,0,1680,1681,7,13,0,0,1681,1682,7,13,0,0,1682,1683,7,10,0,0,1683,1684,7,7,0,0,1684,1685,7,16,0,0,1685,1686,5,95,0,0,1686,1687,7,16,0,0,1687,1688,7,17,0,0,1688,1689,7,15,0,0,1689,1690,7,10,0,0,1690,1691,7,9,0,0,1691,1692,7,16,0,0,1692,1693,7,5,0,0,1693,1694,7,15,0,0,1694,1695,7,24,0,0,1695,114,1,0,0,0,1696,1697,7,14,0,0,1697,1698,7,22,0,0,1698,1699,7,13,0,0,1699,1700,7,13,0,0,1700,1701,7,10,0,0,1701,1702,7,7,0,0,1702,1703,7,16,0,0,1703,1704,5,95,0,0,1704,1705,7,22,0,0,1705,1706,7,9,0,0,1706,1707,7,10,0,0,1707,1708,7,13,0,0,1708,116,1,0,0,0,1709,1710,7,12,0,0,1710,1711,7,10,0,0,1711,1712,7,25,0,0,1712,1713,7,5,0,0,1713,1714,7,22,0,0,1714,1715,7,6,0,0,1715,1716,7,16,0,0,1716,118,1,0,0,0,1717,1718,7,12,0,0,1718,1719,7,10,0,0,1719,1720,7,25,0,0,1720,1721,7,10,0,0,1721,1722,7,13,0,0,1722,1723,7,13,0,0,1723,1724,7,5,0,0,1724,1725,7,18,0,0,1725,1726,7,6,0,0,1726,1727,7,10,0,0,1727,120,1,0,0,0,1728,1729,7,12,0,0,1729,1730,7,10,0,0,1730,1731,7,9,0,0,1731,1732,7,14,0,0,1732,122,1,0,0,0,1733,1734,7,12,0,0,1734,1735,7,17,0,0,1735,1736,7,9,0,0,1736,1737,7,16,0,0,1737,1738,7,17,0,0,1738,1739,7,7,0,0,1739,1740,7,14,0,0,1740,1741,7,16,0,0,1741,124,1,0,0,0,1742,1743,7,12,0,0,1743,1744,7,19,0,0,1744,126,1,0,0,0,1745,1746,7,10,0,0,1746,1747,7,6,0,0,1747,1748,7,9,0,0,1748,1749,7,10,0,0,1749,128,1,0,0,0,1750,1751,7,10,0,0,1751,1752,7,26,0,0,1752,1753,7,14,0,0,1753,1754,7,10,0,0,1754,1755,7,24,0,0,1755,1756,7,16,0,0,1756,130,1,0,0,0,1757,1758,7,25,0,0,1758,1759,7,5,0,0,1759,1760,7,6,0,0,1760,1761,7,9,0,0,1761,1762,7,10,0,0,1762,132,1,0,0,0,1763,1764,7,25,0,0,1764,1765,7,10,0,0,1765,1766,7,16,0,0,1766,1767,7,14,0,0,1767,1768,7,20,0,0,1768,134,1,0,0,0,1769,1770,7,25,0,0,1770,1771,7,19,0,0,1771,1772,7,13,0,0,1772,136,1,0,0,0,1773,1774,7,25,0,0,1774,1775,7,19,0,0,1775,1776,7,13,0,0,1776,1777,7,10,0,0,1777,1778,7,17,0,0,1778,1779,7,23,0,0,1779,1780,7,7,0,0,1780,138,1,0,0,0,1781,1782,7,25,0,0,1782,1783,7,13,0,0,1783,1784,7,19,0,0,1784,1785,7,15,0,0,1785,140,1,0,0,0,1786,1787,7,23,0,0,1787,1788,7,13,0,0,1788,1789,7,5,0,0,1789,1790,7,7,0,0,1790,1791,7,16,0,0,1791,142,1,0,0,0,1792,1793,7,23,0,0,1793,1794,7,13,0,0,1794,1795,7,19,0,0,1795,1796,7,22,0,0,1796,1797,7,24,0,0,1797,144,1,0,0,0,1798,1799,7,20,0,0,1799,1800,7,5,0,0,1800,1801,7,27,0,0,1801,1802,7,17,0,0,1802,1803,7,7,0,0,1803,1804,7,23,0,0,1804,146,1,0,0,0,1805,1806,7,17,0,0,1806,1807,7,7,0,0,1807,148,1,0,0,0,1808,1809,7,17,0,0,1809,1810,7,7,0,0,1810,1811,7,17,0,0,1811,1812,7,16,0,0,1812,1813,7,17,0,0,1813,1814,7,5,0,0,1814,1815,7,6,0,0,1815,1816,7,6,0,0,1816,1817,7,8,0,0,1817,150,1,0,0,0,1818,1819,7,17,0,0,1819,1820,7,7,0,0,1820,1821,7,16,0,0,1821,1822,7,10,0,0,1822,1823,7,13,0,0,1823,1824,7,9,0,0,1824,1825,7,10,0,0,1825,1826,7,14,0,0,1826,1827,7,16,0,0,1827,152,1,0,0,0,1828,1829,7,17,0,0,1829,1830,7,7,0,0,1830,1831,7,16,0,0,1831,1832,7,19,0,0,1832,154,1,0,0,0,1833,1834,7,6,0,0,1834,1835,7,5,0,0,1835,1836,7,16,0,0,1836,1837,7,10,0,0,1837,1838,7,13,0,0,1838,1839,7,5,0,0,1839,1840,7,6,0,0,1840,156,1,0,0,0,1841,1842,7,6,0,0,1842,1843,7,10,0,0,1843,1844,7,5,0,0,1844,1845,7,12,0,0,1845,1846,7,17,0,0,1846,1847,7,7,0,0,1847,1848,7,23,0,0,1848,158,1,0,0,0,1849,1850,7,6,0,0,1850,1851,7,17,0,0,1851,1852,7,15,0,0,1852,1853,7,17,0,0,1853,1854,7,16,0,0,1854,160,1,0,0,0,1855,1856,7,6,0,0,1856,1857,7,19,0,0,1857,1858,7,14,0,0,1858,1859,7,5,0,0,1859,1860,7,6,0,0,1860,1861,7,16,0,0,1861,1862,7,17,0,0,1862,1863,7,15,0,0,1863,1864,7,10,0,0,1864,162,1,0,0,0,1865,1866,7,6,0,0,1866,1867,7,19,0,0,1867,1868,7,14,0,0,1868,1869,7,5,0,0,1869,1870,7,6,0,0,1870,1871,7,16,0,0,1871,1872,7,17,0,0,1872,1873,7,15,0,0,1873,1874,7,10,0,0,1874,1875,7,9,0,0,1875,1876,7,16,0,0,1876,1877,7,5,0,0,1877,1878,7,15,0,0,1878,1879,7,24,0,0,1879,164,1,0,0,0,1880,1881,7,7,0,0,1881,1882,7,19,0,0,1882,1883,7,16,0,0,1883,166,1,0,0,0,1884,1885,7,7,0,0,1885,1886,7,22,0,0,1886,1887,7,6,0,0,1887,1888,7,6,0,0,1888,168,1,0,0,0,1889,1890,7,19,0,0,1890,1891,7,25,0,0,1891,1892,7,25,0,0,1892,1893,7,9,0,0,1893,1894,7,10,0,0,1894,1895,7,16,0,0,1895,170,1,0,0,0,1896,1897,7,19,0,0,1897,1898,7,7,0,0,1898,172,1,0,0,0,1899,1900,7,19,0,0,1900,1901,7,7,0,0,1901,1902,7,6,0,0,1902,1903,7,8,0,0,1903,174,1,0,0,0,1904,1905,7,19,0,0,1905,1906,7,13,0,0,1906,176,1,0,0,0,1907,1908,7,19,0,0,1908,1909,7,13,0,0,1909,1910,7,12,0,0,1910,1911,7,10,0,0,1911,1912,7,13,0,0,1912,178,1,0,0,0,1913,1914,7,24,0,0,1914,1915,7,6,0,0,1915,1916,7,5,0,0,1916,1917,7,14,0,0,1917,1918,7,17,0,0,1918,1919,7,7,0,0,1919,1920,7,23,0,0,1920,180,1,0,0,0,1921,1922,7,24,0,0,1922,1923,7,13,0,0,1923,1924,7,17,0,0,1924,1925,7,15,0,0,1925,1926,7,5,0,0,1926,1927,7,13,0,0,1927,1928,7,8,0,0,1928,182,1,0,0,0,1929,1930,7,13,0,0,1930,1931,7,10,0,0,1931,1932,7,25,0,0,1932,1933,7,10,0,0,1933,1934,7,13,0,0,1934,1935,7,10,0,0,1935,1936,7,7,0,0,1936,1937,7,14,0,0,1937,1938,7,10,0,0,1938,1939,7,9,0,0,1939,184,1,0,0,0,1940,1941,7,13,0,0,1941,1942,7,10,0,0,1942,1943,7,16,0,0,1943,1944,7,22,0,0,1944,1945,7,13,0,0,1945,1946,7,7,0,0,1946,1947,7,17,0,0,1947,1948,7,7,0,0,1948,1949,7,23,0,0,1949,186,1,0,0,0,1950,1951,7,9,0,0,1951,1952,7,10,0,0,1952,1953,7,6,0,0,1953,1954,7,10,0,0,1954,1955,7,14,0,0,1955,1956,7,16,0,0,1956,188,1,0,0,0,1957,1958,7,9,0,0,1958,1959,7,10,0,0,1959,1960,7,9,0,0,1960,1961,7,9,0,0,1961,1962,7,17,0,0,1962,1963,7,19,0,0,1963,1964,7,7,0,0,1964,1965,5,95,0,0,1965,1966,7,22,0,0,1966,1967,7,9,0,0,1967,1968,7,10,0,0,1968,1969,7,13,0,0,1969,190,1,0,0,0,1970,1971,7,9,0,0,1971,1972,7,19,0,0,1972,1973,7,15,0,0,1973,1974,7,10,0,0,1974,192,1,0,0,0,1975,1976,7,9,0,0,1976,1977,7,8,0,0,1977,1978,7,15,0,0,1978,1979,7,15,0,0,1979,1980,7,10,0,0,1980,1981,7,16,0,0,1981,1982,7,13,0,0,1982,1983,7,17,0,0,1983,1984,7,14,0,0,1984,194,1,0,0,0,1985,1986,7,16,0,0,1986,1987,7,5,0,0,1987,1988,7,18,0,0,1988,1989,7,6,0,0,1989,1990,7,10,0,0,1990,196,1,0,0,0,1991,1992,7,16,0,0,1992,1993,7,20,0,0,1993,1994,7,10,0,0,1994,1995,7,7,0,0,1995,198,1,0,0,0,1996,1997,7,16,0,0,1997,1998,7,19,0,0,1998,200,1,0,0,0,1999,2e3,7,16,0,0,2e3,2001,7,13,0,0,2001,2002,7,5,0,0,2002,2003,7,17,0,0,2003,2004,7,6,0,0,2004,2005,7,17,0,0,2005,2006,7,7,0,0,2006,2007,7,23,0,0,2007,202,1,0,0,0,2008,2009,7,16,0,0,2009,2010,7,13,0,0,2010,2011,7,22,0,0,2011,2012,7,10,0,0,2012,204,1,0,0,0,2013,2014,7,22,0,0,2014,2015,7,7,0,0,2015,2016,7,17,0,0,2016,2017,7,19,0,0,2017,2018,7,7,0,0,2018,206,1,0,0,0,2019,2020,7,22,0,0,2020,2021,7,7,0,0,2021,2022,7,17,0,0,2022,2023,7,28,0,0,2023,2024,7,22,0,0,2024,2025,7,10,0,0,2025,208,1,0,0,0,2026,2027,7,22,0,0,2027,2028,7,9,0,0,2028,2029,7,10,0,0,2029,2030,7,13,0,0,2030,210,1,0,0,0,2031,2032,7,22,0,0,2032,2033,7,9,0,0,2033,2034,7,17,0,0,2034,2035,7,7,0,0,2035,2036,7,23,0,0,2036,212,1,0,0,0,2037,2038,7,27,0,0,2038,2039,7,5,0,0,2039,2040,7,13,0,0,2040,2041,7,17,0,0,2041,2042,7,5,0,0,2042,2043,7,12,0,0,2043,2044,7,17,0,0,2044,2045,7,14,0,0,2045,214,1,0,0,0,2046,2047,7,29,0,0,2047,2048,7,20,0,0,2048,2049,7,10,0,0,2049,2050,7,7,0,0,2050,216,1,0,0,0,2051,2052,7,29,0,0,2052,2053,7,20,0,0,2053,2054,7,10,0,0,2054,2055,7,13,0,0,2055,2056,7,10,0,0,2056,218,1,0,0,0,2057,2058,7,29,0,0,2058,2059,7,17,0,0,2059,2060,7,7,0,0,2060,2061,7,12,0,0,2061,2062,7,19,0,0,2062,2063,7,29,0,0,2063,220,1,0,0,0,2064,2065,7,29,0,0,2065,2066,7,17,0,0,2066,2067,7,16,0,0,2067,2068,7,20,0,0,2068,222,1,0,0,0,2069,2070,7,5,0,0,2070,2071,7,22,0,0,2071,2072,7,16,0,0,2072,2073,7,20,0,0,2073,2074,7,19,0,0,2074,2075,7,13,0,0,2075,2076,7,17,0,0,2076,2077,7,11,0,0,2077,2078,7,5,0,0,2078,2079,7,16,0,0,2079,2080,7,17,0,0,2080,2081,7,19,0,0,2081,2082,7,7,0,0,2082,224,1,0,0,0,2083,2084,7,18,0,0,2084,2085,7,17,0,0,2085,2086,7,7,0,0,2086,2087,7,5,0,0,2087,2088,7,13,0,0,2088,2089,7,8,0,0,2089,226,1,0,0,0,2090,2091,7,14,0,0,2091,2092,7,19,0,0,2092,2093,7,6,0,0,2093,2094,7,6,0,0,2094,2095,7,5,0,0,2095,2096,7,16,0,0,2096,2097,7,17,0,0,2097,2098,7,19,0,0,2098,2099,7,7,0,0,2099,228,1,0,0,0,2100,2101,7,14,0,0,2101,2102,7,19,0,0,2102,2103,7,7,0,0,2103,2104,7,14,0,0,2104,2105,7,22,0,0,2105,2106,7,13,0,0,2106,2107,7,13,0,0,2107,2108,7,10,0,0,2108,2109,7,7,0,0,2109,2110,7,16,0,0,2110,2111,7,6,0,0,2111,2112,7,8,0,0,2112,230,1,0,0,0,2113,2114,7,14,0,0,2114,2115,7,13,0,0,2115,2116,7,19,0,0,2116,2117,7,9,0,0,2117,2118,7,9,0,0,2118,232,1,0,0,0,2119,2120,7,14,0,0,2120,2121,7,22,0,0,2121,2122,7,13,0,0,2122,2123,7,13,0,0,2123,2124,7,10,0,0,2124,2125,7,7,0,0,2125,2126,7,16,0,0,2126,2127,5,95,0,0,2127,2128,7,9,0,0,2128,2129,7,14,0,0,2129,2130,7,20,0,0,2130,2131,7,10,0,0,2131,2132,7,15,0,0,2132,2133,7,5,0,0,2133,234,1,0,0,0,2134,2135,7,25,0,0,2135,2136,7,13,0,0,2136,2137,7,10,0,0,2137,2138,7,10,0,0,2138,2139,7,11,0,0,2139,2140,7,10,0,0,2140,236,1,0,0,0,2141,2142,7,25,0,0,2142,2143,7,22,0,0,2143,2144,7,6,0,0,2144,2145,7,6,0,0,2145,238,1,0,0,0,2146,2147,7,17,0,0,2147,2148,7,6,0,0,2148,2149,7,17,0,0,2149,2150,7,21,0,0,2150,2151,7,10,0,0,2151,240,1,0,0,0,2152,2153,7,17,0,0,2153,2154,7,7,0,0,2154,2155,7,7,0,0,2155,2156,7,10,0,0,2156,2157,7,13,0,0,2157,242,1,0,0,0,2158,2159,7,17,0,0,2159,2160,7,9,0,0,2160,244,1,0,0,0,2161,2162,7,17,0,0,2162,2163,7,9,0,0,2163,2164,7,7,0,0,2164,2165,7,22,0,0,2165,2166,7,6,0,0,2166,2167,7,6,0,0,2167,246,1,0,0,0,2168,2169,7,30,0,0,2169,2170,7,19,0,0,2170,2171,7,17,0,0,2171,2172,7,7,0,0,2172,248,1,0,0,0,2173,2174,7,6,0,0,2174,2175,7,10,0,0,2175,2176,7,25,0,0,2176,2177,7,16,0,0,2177,250,1,0,0,0,2178,2179,7,6,0,0,2179,2180,7,17,0,0,2180,2181,7,21,0,0,2181,2182,7,10,0,0,2182,252,1,0,0,0,2183,2184,7,7,0,0,2184,2185,7,5,0,0,2185,2186,7,16,0,0,2186,2187,7,22,0,0,2187,2188,7,13,0,0,2188,2189,7,5,0,0,2189,2190,7,6,0,0,2190,254,1,0,0,0,2191,2192,7,7,0,0,2192,2193,7,19,0,0,2193,2194,7,16,0,0,2194,2195,7,7,0,0,2195,2196,7,22,0,0,2196,2197,7,6,0,0,2197,2198,7,6,0,0,2198,256,1,0,0,0,2199,2200,7,19,0,0,2200,2201,7,22,0,0,2201,2202,7,16,0,0,2202,2203,7,10,0,0,2203,2204,7,13,0,0,2204,258,1,0,0,0,2205,2206,7,19,0,0,2206,2207,7,27,0,0,2207,2208,7,10,0,0,2208,2209,7,13,0,0,2209,260,1,0,0,0,2210,2211,7,19,0,0,2211,2212,7,27,0,0,2212,2213,7,10,0,0,2213,2214,7,13,0,0,2214,2215,7,6,0,0,2215,2216,7,5,0,0,2216,2217,7,24,0,0,2217,2218,7,9,0,0,2218,262,1,0,0,0,2219,2220,7,13,0,0,2220,2221,7,17,0,0,2221,2222,7,23,0,0,2222,2223,7,20,0,0,2223,2224,7,16,0,0,2224,264,1,0,0,0,2225,2226,7,9,0,0,2226,2227,7,17,0,0,2227,2228,7,15,0,0,2228,2229,7,17,0,0,2229,2230,7,6,0,0,2230,2231,7,5,0,0,2231,2232,7,13,0,0,2232,266,1,0,0,0,2233,2234,7,27,0,0,2234,2235,7,10,0,0,2235,2236,7,13,0,0,2236,2237,7,18,0,0,2237,2238,7,19,0,0,2238,2239,7,9,0,0,2239,2240,7,10,0,0,2240,268,1,0,0,0,2241,2242,7,5,0,0,2242,2243,7,18,0,0,2243,2244,7,19,0,0,2244,2245,7,13,0,0,2245,2246,7,16,0,0,2246,270,1,0,0,0,2247,2248,7,5,0,0,2248,2249,7,18,0,0,2249,2250,7,9,0,0,2250,2251,7,19,0,0,2251,2252,7,6,0,0,2252,2253,7,22,0,0,2253,2254,7,16,0,0,2254,2255,7,10,0,0,2255,272,1,0,0,0,2256,2257,7,5,0,0,2257,2258,7,14,0,0,2258,2259,7,14,0,0,2259,2260,7,10,0,0,2260,2261,7,9,0,0,2261,2262,7,9,0,0,2262,274,1,0,0,0,2263,2264,7,5,0,0,2264,2265,7,14,0,0,2265,2266,7,16,0,0,2266,2267,7,17,0,0,2267,2268,7,19,0,0,2268,2269,7,7,0,0,2269,276,1,0,0,0,2270,2271,7,5,0,0,2271,2272,7,12,0,0,2272,2273,7,12,0,0,2273,278,1,0,0,0,2274,2275,7,5,0,0,2275,2276,7,12,0,0,2276,2277,7,15,0,0,2277,2278,7,17,0,0,2278,2279,7,7,0,0,2279,280,1,0,0,0,2280,2281,7,5,0,0,2281,2282,7,25,0,0,2282,2283,7,16,0,0,2283,2284,7,10,0,0,2284,2285,7,13,0,0,2285,282,1,0,0,0,2286,2287,7,5,0,0,2287,2288,7,23,0,0,2288,2289,7,23,0,0,2289,2290,7,13,0,0,2290,2291,7,10,0,0,2291,2292,7,23,0,0,2292,2293,7,5,0,0,2293,2294,7,16,0,0,2294,2295,7,10,0,0,2295,284,1,0,0,0,2296,2297,7,5,0,0,2297,2298,7,6,0,0,2298,2299,7,9,0,0,2299,2300,7,19,0,0,2300,286,1,0,0,0,2301,2302,7,5,0,0,2302,2303,7,6,0,0,2303,2304,7,16,0,0,2304,2305,7,10,0,0,2305,2306,7,13,0,0,2306,288,1,0,0,0,2307,2308,7,5,0,0,2308,2309,7,6,0,0,2309,2310,7,29,0,0,2310,2311,7,5,0,0,2311,2312,7,8,0,0,2312,2313,7,9,0,0,2313,290,1,0,0,0,2314,2315,7,5,0,0,2315,2316,7,9,0,0,2316,2317,7,9,0,0,2317,2318,7,10,0,0,2318,2319,7,13,0,0,2319,2320,7,16,0,0,2320,2321,7,17,0,0,2321,2322,7,19,0,0,2322,2323,7,7,0,0,2323,292,1,0,0,0,2324,2325,7,5,0,0,2325,2326,7,9,0,0,2326,2327,7,9,0,0,2327,2328,7,17,0,0,2328,2329,7,23,0,0,2329,2330,7,7,0,0,2330,2331,7,15,0,0,2331,2332,7,10,0,0,2332,2333,7,7,0,0,2333,2334,7,16,0,0,2334,294,1,0,0,0,2335,2336,7,5,0,0,2336,2337,7,16,0,0,2337,296,1,0,0,0,2338,2339,7,5,0,0,2339,2340,7,16,0,0,2340,2341,7,16,0,0,2341,2342,7,13,0,0,2342,2343,7,17,0,0,2343,2344,7,18,0,0,2344,2345,7,22,0,0,2345,2346,7,16,0,0,2346,2347,7,10,0,0,2347,298,1,0,0,0,2348,2349,7,18,0,0,2349,2350,7,5,0,0,2350,2351,7,14,0,0,2351,2352,7,21,0,0,2352,2353,7,29,0,0,2353,2354,7,5,0,0,2354,2355,7,13,0,0,2355,2356,7,12,0,0,2356,300,1,0,0,0,2357,2358,7,18,0,0,2358,2359,7,10,0,0,2359,2360,7,25,0,0,2360,2361,7,19,0,0,2361,2362,7,13,0,0,2362,2363,7,10,0,0,2363,302,1,0,0,0,2364,2365,7,18,0,0,2365,2366,7,10,0,0,2366,2367,7,23,0,0,2367,2368,7,17,0,0,2368,2369,7,7,0,0,2369,304,1,0,0,0,2370,2371,7,18,0,0,2371,2372,7,8,0,0,2372,306,1,0,0,0,2373,2374,7,14,0,0,2374,2375,7,5,0,0,2375,2376,7,14,0,0,2376,2377,7,20,0,0,2377,2378,7,10,0,0,2378,308,1,0,0,0,2379,2380,7,14,0,0,2380,2381,7,5,0,0,2381,2382,7,6,0,0,2382,2383,7,6,0,0,2383,2384,7,10,0,0,2384,2385,7,12,0,0,2385,310,1,0,0,0,2386,2387,7,14,0,0,2387,2388,7,5,0,0,2388,2389,7,9,0,0,2389,2390,7,14,0,0,2390,2391,7,5,0,0,2391,2392,7,12,0,0,2392,2393,7,10,0,0,2393,312,1,0,0,0,2394,2395,7,14,0,0,2395,2396,7,5,0,0,2396,2397,7,9,0,0,2397,2398,7,14,0,0,2398,2399,7,5,0,0,2399,2400,7,12,0,0,2400,2401,7,10,0,0,2401,2402,7,12,0,0,2402,314,1,0,0,0,2403,2404,7,14,0,0,2404,2405,7,5,0,0,2405,2406,7,16,0,0,2406,2407,7,5,0,0,2407,2408,7,6,0,0,2408,2409,7,19,0,0,2409,2410,7,23,0,0,2410,316,1,0,0,0,2411,2412,7,14,0,0,2412,2413,7,20,0,0,2413,2414,7,5,0,0,2414,2415,7,17,0,0,2415,2416,7,7,0,0,2416,318,1,0,0,0,2417,2418,7,14,0,0,2418,2419,7,20,0,0,2419,2420,7,5,0,0,2420,2421,7,13,0,0,2421,2422,7,5,0,0,2422,2423,7,14,0,0,2423,2424,7,16,0,0,2424,2425,7,10,0,0,2425,2426,7,13,0,0,2426,2427,7,17,0,0,2427,2428,7,9,0,0,2428,2429,7,16,0,0,2429,2430,7,17,0,0,2430,2431,7,14,0,0,2431,2432,7,9,0,0,2432,320,1,0,0,0,2433,2434,7,14,0,0,2434,2435,7,20,0,0,2435,2436,7,10,0,0,2436,2437,7,14,0,0,2437,2438,7,21,0,0,2438,2439,7,24,0,0,2439,2440,7,19,0,0,2440,2441,7,17,0,0,2441,2442,7,7,0,0,2442,2443,7,16,0,0,2443,322,1,0,0,0,2444,2445,7,14,0,0,2445,2446,7,6,0,0,2446,2447,7,5,0,0,2447,2448,7,9,0,0,2448,2449,7,9,0,0,2449,324,1,0,0,0,2450,2451,7,14,0,0,2451,2452,7,6,0,0,2452,2453,7,19,0,0,2453,2454,7,9,0,0,2454,2455,7,10,0,0,2455,326,1,0,0,0,2456,2457,7,14,0,0,2457,2458,7,6,0,0,2458,2459,7,22,0,0,2459,2460,7,9,0,0,2460,2461,7,16,0,0,2461,2462,7,10,0,0,2462,2463,7,13,0,0,2463,328,1,0,0,0,2464,2465,7,14,0,0,2465,2466,7,19,0,0,2466,2467,7,15,0,0,2467,2468,7,15,0,0,2468,2469,7,10,0,0,2469,2470,7,7,0,0,2470,2471,7,16,0,0,2471,330,1,0,0,0,2472,2473,7,14,0,0,2473,2474,7,19,0,0,2474,2475,7,15,0,0,2475,2476,7,15,0,0,2476,2477,7,10,0,0,2477,2478,7,7,0,0,2478,2479,7,16,0,0,2479,2480,7,9,0,0,2480,332,1,0,0,0,2481,2482,7,14,0,0,2482,2483,7,19,0,0,2483,2484,7,15,0,0,2484,2485,7,15,0,0,2485,2486,7,17,0,0,2486,2487,7,16,0,0,2487,334,1,0,0,0,2488,2489,7,14,0,0,2489,2490,7,19,0,0,2490,2491,7,15,0,0,2491,2492,7,15,0,0,2492,2493,7,17,0,0,2493,2494,7,16,0,0,2494,2495,7,16,0,0,2495,2496,7,10,0,0,2496,2497,7,12,0,0,2497,336,1,0,0,0,2498,2499,7,14,0,0,2499,2500,7,19,0,0,2500,2501,7,7,0,0,2501,2502,7,25,0,0,2502,2503,7,17,0,0,2503,2504,7,23,0,0,2504,2505,7,22,0,0,2505,2506,7,13,0,0,2506,2507,7,5,0,0,2507,2508,7,16,0,0,2508,2509,7,17,0,0,2509,2510,7,19,0,0,2510,2511,7,7,0,0,2511,338,1,0,0,0,2512,2513,7,14,0,0,2513,2514,7,19,0,0,2514,2515,7,7,0,0,2515,2516,7,7,0,0,2516,2517,7,10,0,0,2517,2518,7,14,0,0,2518,2519,7,16,0,0,2519,2520,7,17,0,0,2520,2521,7,19,0,0,2521,2522,7,7,0,0,2522,340,1,0,0,0,2523,2524,7,14,0,0,2524,2525,7,19,0,0,2525,2526,7,7,0,0,2526,2527,7,9,0,0,2527,2528,7,16,0,0,2528,2529,7,13,0,0,2529,2530,7,5,0,0,2530,2531,7,17,0,0,2531,2532,7,7,0,0,2532,2533,7,16,0,0,2533,2534,7,9,0,0,2534,342,1,0,0,0,2535,2536,7,14,0,0,2536,2537,7,19,0,0,2537,2538,7,7,0,0,2538,2539,7,16,0,0,2539,2540,7,10,0,0,2540,2541,7,7,0,0,2541,2542,7,16,0,0,2542,344,1,0,0,0,2543,2544,7,14,0,0,2544,2545,7,19,0,0,2545,2546,7,7,0,0,2546,2547,7,16,0,0,2547,2548,7,17,0,0,2548,2549,7,7,0,0,2549,2550,7,22,0,0,2550,2551,7,10,0,0,2551,346,1,0,0,0,2552,2553,7,14,0,0,2553,2554,7,19,0,0,2554,2555,7,7,0,0,2555,2556,7,27,0,0,2556,2557,7,10,0,0,2557,2558,7,13,0,0,2558,2559,7,9,0,0,2559,2560,7,17,0,0,2560,2561,7,19,0,0,2561,2562,7,7,0,0,2562,348,1,0,0,0,2563,2564,7,14,0,0,2564,2565,7,19,0,0,2565,2566,7,24,0,0,2566,2567,7,8,0,0,2567,350,1,0,0,0,2568,2569,7,14,0,0,2569,2570,7,19,0,0,2570,2571,7,9,0,0,2571,2572,7,16,0,0,2572,352,1,0,0,0,2573,2574,7,14,0,0,2574,2575,7,9,0,0,2575,2576,7,27,0,0,2576,354,1,0,0,0,2577,2578,7,14,0,0,2578,2579,7,22,0,0,2579,2580,7,13,0,0,2580,2581,7,9,0,0,2581,2582,7,19,0,0,2582,2583,7,13,0,0,2583,356,1,0,0,0,2584,2585,7,14,0,0,2585,2586,7,8,0,0,2586,2587,7,14,0,0,2587,2588,7,6,0,0,2588,2589,7,10,0,0,2589,358,1,0,0,0,2590,2591,7,12,0,0,2591,2592,7,5,0,0,2592,2593,7,16,0,0,2593,2594,7,5,0,0,2594,360,1,0,0,0,2595,2596,7,12,0,0,2596,2597,7,5,0,0,2597,2598,7,16,0,0,2598,2599,7,5,0,0,2599,2600,7,18,0,0,2600,2601,7,5,0,0,2601,2602,7,9,0,0,2602,2603,7,10,0,0,2603,362,1,0,0,0,2604,2605,7,12,0,0,2605,2606,7,5,0,0,2606,2607,7,8,0,0,2607,364,1,0,0,0,2608,2609,7,12,0,0,2609,2610,7,10,0,0,2610,2611,7,5,0,0,2611,2612,7,6,0,0,2612,2613,7,6,0,0,2613,2614,7,19,0,0,2614,2615,7,14,0,0,2615,2616,7,5,0,0,2616,2617,7,16,0,0,2617,2618,7,10,0,0,2618,366,1,0,0,0,2619,2620,7,12,0,0,2620,2621,7,10,0,0,2621,2622,7,14,0,0,2622,2623,7,6,0,0,2623,2624,7,5,0,0,2624,2625,7,13,0,0,2625,2626,7,10,0,0,2626,368,1,0,0,0,2627,2628,7,12,0,0,2628,2629,7,10,0,0,2629,2630,7,25,0,0,2630,2631,7,5,0,0,2631,2632,7,22,0,0,2632,2633,7,6,0,0,2633,2634,7,16,0,0,2634,2635,7,9,0,0,2635,370,1,0,0,0,2636,2637,7,12,0,0,2637,2638,7,10,0,0,2638,2639,7,25,0,0,2639,2640,7,10,0,0,2640,2641,7,13,0,0,2641,2642,7,13,0,0,2642,2643,7,10,0,0,2643,2644,7,12,0,0,2644,372,1,0,0,0,2645,2646,7,12,0,0,2646,2647,7,10,0,0,2647,2648,7,25,0,0,2648,2649,7,17,0,0,2649,2650,7,7,0,0,2650,2651,7,10,0,0,2651,2652,7,13,0,0,2652,374,1,0,0,0,2653,2654,7,12,0,0,2654,2655,7,10,0,0,2655,2656,7,6,0,0,2656,2657,7,10,0,0,2657,2658,7,16,0,0,2658,2659,7,10,0,0,2659,376,1,0,0,0,2660,2661,7,12,0,0,2661,2662,7,10,0,0,2662,2663,7,6,0,0,2663,2664,7,17,0,0,2664,2665,7,15,0,0,2665,2666,7,17,0,0,2666,2667,7,16,0,0,2667,2668,7,10,0,0,2668,2669,7,13,0,0,2669,378,1,0,0,0,2670,2671,7,12,0,0,2671,2672,7,10,0,0,2672,2673,7,6,0,0,2673,2674,7,17,0,0,2674,2675,7,15,0,0,2675,2676,7,17,0,0,2676,2677,7,16,0,0,2677,2678,7,10,0,0,2678,2679,7,13,0,0,2679,2680,7,9,0,0,2680,380,1,0,0,0,2681,2682,7,12,0,0,2682,2683,7,17,0,0,2683,2684,7,14,0,0,2684,2685,7,16,0,0,2685,2686,7,17,0,0,2686,2687,7,19,0,0,2687,2688,7,7,0,0,2688,2689,7,5,0,0,2689,2690,7,13,0,0,2690,2691,7,8,0,0,2691,382,1,0,0,0,2692,2693,7,12,0,0,2693,2694,7,17,0,0,2694,2695,7,9,0,0,2695,2696,7,5,0,0,2696,2697,7,18,0,0,2697,2698,7,6,0,0,2698,2699,7,10,0,0,2699,384,1,0,0,0,2700,2701,7,12,0,0,2701,2702,7,17,0,0,2702,2703,7,9,0,0,2703,2704,7,14,0,0,2704,2705,7,5,0,0,2705,2706,7,13,0,0,2706,2707,7,12,0,0,2707,386,1,0,0,0,2708,2709,7,12,0,0,2709,2710,7,19,0,0,2710,2711,7,14,0,0,2711,2712,7,22,0,0,2712,2713,7,15,0,0,2713,2714,7,10,0,0,2714,2715,7,7,0,0,2715,2716,7,16,0,0,2716,388,1,0,0,0,2717,2718,7,12,0,0,2718,2719,7,19,0,0,2719,2720,7,15,0,0,2720,2721,7,5,0,0,2721,2722,7,17,0,0,2722,2723,7,7,0,0,2723,390,1,0,0,0,2724,2725,7,12,0,0,2725,2726,7,19,0,0,2726,2727,7,22,0,0,2727,2728,7,18,0,0,2728,2729,7,6,0,0,2729,2730,7,10,0,0,2730,392,1,0,0,0,2731,2732,7,12,0,0,2732,2733,7,13,0,0,2733,2734,7,19,0,0,2734,2735,7,24,0,0,2735,394,1,0,0,0,2736,2737,7,10,0,0,2737,2738,7,5,0,0,2738,2739,7,14,0,0,2739,2740,7,20,0,0,2740,396,1,0,0,0,2741,2742,7,10,0,0,2742,2743,7,7,0,0,2743,2744,7,5,0,0,2744,2745,7,18,0,0,2745,2746,7,6,0,0,2746,2747,7,10,0,0,2747,398,1,0,0,0,2748,2749,7,10,0,0,2749,2750,7,7,0,0,2750,2751,7,14,0,0,2751,2752,7,19,0,0,2752,2753,7,12,0,0,2753,2754,7,17,0,0,2754,2755,7,7,0,0,2755,2756,7,23,0,0,2756,400,1,0,0,0,2757,2758,7,10,0,0,2758,2759,7,7,0,0,2759,2760,7,14,0,0,2760,2761,7,13,0,0,2761,2762,7,8,0,0,2762,2763,7,24,0,0,2763,2764,7,16,0,0,2764,2765,7,10,0,0,2765,2766,7,12,0,0,2766,402,1,0,0,0,2767,2768,7,10,0,0,2768,2769,7,7,0,0,2769,2770,7,22,0,0,2770,2771,7,15,0,0,2771,404,1,0,0,0,2772,2773,7,10,0,0,2773,2774,7,9,0,0,2774,2775,7,14,0,0,2775,2776,7,5,0,0,2776,2777,7,24,0,0,2777,2778,7,10,0,0,2778,406,1,0,0,0,2779,2780,7,10,0,0,2780,2781,7,27,0,0,2781,2782,7,10,0,0,2782,2783,7,7,0,0,2783,2784,7,16,0,0,2784,408,1,0,0,0,2785,2786,7,10,0,0,2786,2787,7,26,0,0,2787,2788,7,14,0,0,2788,2789,7,6,0,0,2789,2790,7,22,0,0,2790,2791,7,12,0,0,2791,2792,7,10,0,0,2792,410,1,0,0,0,2793,2794,7,10,0,0,2794,2795,7,26,0,0,2795,2796,7,14,0,0,2796,2797,7,6,0,0,2797,2798,7,22,0,0,2798,2799,7,12,0,0,2799,2800,7,17,0,0,2800,2801,7,7,0,0,2801,2802,7,23,0,0,2802,412,1,0,0,0,2803,2804,7,10,0,0,2804,2805,7,26,0,0,2805,2806,7,14,0,0,2806,2807,7,6,0,0,2807,2808,7,22,0,0,2808,2809,7,9,0,0,2809,2810,7,17,0,0,2810,2811,7,27,0,0,2811,2812,7,10,0,0,2812,414,1,0,0,0,2813,2814,7,10,0,0,2814,2815,7,26,0,0,2815,2816,7,10,0,0,2816,2817,7,14,0,0,2817,2818,7,22,0,0,2818,2819,7,16,0,0,2819,2820,7,10,0,0,2820,416,1,0,0,0,2821,2822,7,10,0,0,2822,2823,7,26,0,0,2823,2824,7,24,0,0,2824,2825,7,6,0,0,2825,2826,7,5,0,0,2826,2827,7,17,0,0,2827,2828,7,7,0,0,2828,418,1,0,0,0,2829,2830,7,10,0,0,2830,2831,7,26,0,0,2831,2832,7,16,0,0,2832,2833,7,10,0,0,2833,2834,7,7,0,0,2834,2835,7,9,0,0,2835,2836,7,17,0,0,2836,2837,7,19,0,0,2837,2838,7,7,0,0,2838,420,1,0,0,0,2839,2840,7,10,0,0,2840,2841,7,26,0,0,2841,2842,7,16,0,0,2842,2843,7,10,0,0,2843,2844,7,13,0,0,2844,2845,7,7,0,0,2845,2846,7,5,0,0,2846,2847,7,6,0,0,2847,422,1,0,0,0,2848,2849,7,25,0,0,2849,2850,7,5,0,0,2850,2851,7,15,0,0,2851,2852,7,17,0,0,2852,2853,7,6,0,0,2853,2854,7,8,0,0,2854,424,1,0,0,0,2855,2856,7,25,0,0,2856,2857,7,17,0,0,2857,2858,7,13,0,0,2858,2859,7,9,0,0,2859,2860,7,16,0,0,2860,426,1,0,0,0,2861,2862,7,25,0,0,2862,2863,7,19,0,0,2863,2864,7,6,0,0,2864,2865,7,6,0,0,2865,2866,7,19,0,0,2866,2867,7,29,0,0,2867,2868,7,17,0,0,2868,2869,7,7,0,0,2869,2870,7,23,0,0,2870,428,1,0,0,0,2871,2872,7,25,0,0,2872,2873,7,19,0,0,2873,2874,7,13,0,0,2874,2875,7,14,0,0,2875,2876,7,10,0,0,2876,430,1,0,0,0,2877,2878,7,25,0,0,2878,2879,7,19,0,0,2879,2880,7,13,0,0,2880,2881,7,29,0,0,2881,2882,7,5,0,0,2882,2883,7,13,0,0,2883,2884,7,12,0,0,2884,432,1,0,0,0,2885,2886,7,25,0,0,2886,2887,7,22,0,0,2887,2888,7,7,0,0,2888,2889,7,14,0,0,2889,2890,7,16,0,0,2890,2891,7,17,0,0,2891,2892,7,19,0,0,2892,2893,7,7,0,0,2893,434,1,0,0,0,2894,2895,7,25,0,0,2895,2896,7,22,0,0,2896,2897,7,7,0,0,2897,2898,7,14,0,0,2898,2899,7,16,0,0,2899,2900,7,17,0,0,2900,2901,7,19,0,0,2901,2902,7,7,0,0,2902,2903,7,9,0,0,2903,436,1,0,0,0,2904,2905,7,23,0,0,2905,2906,7,6,0,0,2906,2907,7,19,0,0,2907,2908,7,18,0,0,2908,2909,7,5,0,0,2909,2910,7,6,0,0,2910,438,1,0,0,0,2911,2912,7,23,0,0,2912,2913,7,13,0,0,2913,2914,7,5,0,0,2914,2915,7,7,0,0,2915,2916,7,16,0,0,2916,2917,7,10,0,0,2917,2918,7,12,0,0,2918,440,1,0,0,0,2919,2920,7,20,0,0,2920,2921,7,5,0,0,2921,2922,7,7,0,0,2922,2923,7,12,0,0,2923,2924,7,6,0,0,2924,2925,7,10,0,0,2925,2926,7,13,0,0,2926,442,1,0,0,0,2927,2928,7,20,0,0,2928,2929,7,10,0,0,2929,2930,7,5,0,0,2930,2931,7,12,0,0,2931,2932,7,10,0,0,2932,2933,7,13,0,0,2933,444,1,0,0,0,2934,2935,7,20,0,0,2935,2936,7,19,0,0,2936,2937,7,6,0,0,2937,2938,7,12,0,0,2938,446,1,0,0,0,2939,2940,7,20,0,0,2940,2941,7,19,0,0,2941,2942,7,22,0,0,2942,2943,7,13,0,0,2943,448,1,0,0,0,2944,2945,7,17,0,0,2945,2946,7,12,0,0,2946,2947,7,10,0,0,2947,2948,7,7,0,0,2948,2949,7,16,0,0,2949,2950,7,17,0,0,2950,2951,7,16,0,0,2951,2952,7,8,0,0,2952,450,1,0,0,0,2953,2954,7,17,0,0,2954,2955,7,25,0,0,2955,452,1,0,0,0,2956,2957,7,17,0,0,2957,2958,7,15,0,0,2958,2959,7,15,0,0,2959,2960,7,10,0,0,2960,2961,7,12,0,0,2961,2962,7,17,0,0,2962,2963,7,5,0,0,2963,2964,7,16,0,0,2964,2965,7,10,0,0,2965,454,1,0,0,0,2966,2967,7,17,0,0,2967,2968,7,15,0,0,2968,2969,7,15,0,0,2969,2970,7,22,0,0,2970,2971,7,16,0,0,2971,2972,7,5,0,0,2972,2973,7,18,0,0,2973,2974,7,6,0,0,2974,2975,7,10,0,0,2975,456,1,0,0,0,2976,2977,7,17,0,0,2977,2978,7,15,0,0,2978,2979,7,24,0,0,2979,2980,7,6,0,0,2980,2981,7,17,0,0,2981,2982,7,14,0,0,2982,2983,7,17,0,0,2983,2984,7,16,0,0,2984,458,1,0,0,0,2985,2986,7,17,0,0,2986,2987,7,7,0,0,2987,2988,7,14,0,0,2988,2989,7,6,0,0,2989,2990,7,22,0,0,2990,2991,7,12,0,0,2991,2992,7,17,0,0,2992,2993,7,7,0,0,2993,2994,7,23,0,0,2994,460,1,0,0,0,2995,2996,7,17,0,0,2996,2997,7,7,0,0,2997,2998,7,14,0,0,2998,2999,7,13,0,0,2999,3e3,7,10,0,0,3e3,3001,7,15,0,0,3001,3002,7,10,0,0,3002,3003,7,7,0,0,3003,3004,7,16,0,0,3004,462,1,0,0,0,3005,3006,7,17,0,0,3006,3007,7,7,0,0,3007,3008,7,12,0,0,3008,3009,7,10,0,0,3009,3010,7,26,0,0,3010,464,1,0,0,0,3011,3012,7,17,0,0,3012,3013,7,7,0,0,3013,3014,7,12,0,0,3014,3015,7,10,0,0,3015,3016,7,26,0,0,3016,3017,7,10,0,0,3017,3018,7,9,0,0,3018,466,1,0,0,0,3019,3020,7,17,0,0,3020,3021,7,7,0,0,3021,3022,7,20,0,0,3022,3023,7,10,0,0,3023,3024,7,13,0,0,3024,3025,7,17,0,0,3025,3026,7,16,0,0,3026,468,1,0,0,0,3027,3028,7,17,0,0,3028,3029,7,7,0,0,3029,3030,7,20,0,0,3030,3031,7,10,0,0,3031,3032,7,13,0,0,3032,3033,7,17,0,0,3033,3034,7,16,0,0,3034,3035,7,9,0,0,3035,470,1,0,0,0,3036,3037,7,17,0,0,3037,3038,7,7,0,0,3038,3039,7,6,0,0,3039,3040,7,17,0,0,3040,3041,7,7,0,0,3041,3042,7,10,0,0,3042,472,1,0,0,0,3043,3044,7,17,0,0,3044,3045,7,7,0,0,3045,3046,7,9,0,0,3046,3047,7,10,0,0,3047,3048,7,7,0,0,3048,3049,7,9,0,0,3049,3050,7,17,0,0,3050,3051,7,16,0,0,3051,3052,7,17,0,0,3052,3053,7,27,0,0,3053,3054,7,10,0,0,3054,474,1,0,0,0,3055,3056,7,17,0,0,3056,3057,7,7,0,0,3057,3058,7,9,0,0,3058,3059,7,10,0,0,3059,3060,7,13,0,0,3060,3061,7,16,0,0,3061,476,1,0,0,0,3062,3063,7,17,0,0,3063,3064,7,7,0,0,3064,3065,7,9,0,0,3065,3066,7,16,0,0,3066,3067,7,10,0,0,3067,3068,7,5,0,0,3068,3069,7,12,0,0,3069,478,1,0,0,0,3070,3071,7,17,0,0,3071,3072,7,7,0,0,3072,3073,7,27,0,0,3073,3074,7,19,0,0,3074,3075,7,21,0,0,3075,3076,7,10,0,0,3076,3077,7,13,0,0,3077,480,1,0,0,0,3078,3079,7,17,0,0,3079,3080,7,9,0,0,3080,3081,7,19,0,0,3081,3082,7,6,0,0,3082,3083,7,5,0,0,3083,3084,7,16,0,0,3084,3085,7,17,0,0,3085,3086,7,19,0,0,3086,3087,7,7,0,0,3087,482,1,0,0,0,3088,3089,7,21,0,0,3089,3090,7,10,0,0,3090,3091,7,8,0,0,3091,484,1,0,0,0,3092,3093,7,6,0,0,3093,3094,7,5,0,0,3094,3095,7,18,0,0,3095,3096,7,10,0,0,3096,3097,7,6,0,0,3097,486,1,0,0,0,3098,3099,7,6,0,0,3099,3100,7,5,0,0,3100,3101,7,7,0,0,3101,3102,7,23,0,0,3102,3103,7,22,0,0,3103,3104,7,5,0,0,3104,3105,7,23,0,0,3105,3106,7,10,0,0,3106,488,1,0,0,0,3107,3108,7,6,0,0,3108,3109,7,5,0,0,3109,3110,7,13,0,0,3110,3111,7,23,0,0,3111,3112,7,10,0,0,3112,490,1,0,0,0,3113,3114,7,6,0,0,3114,3115,7,5,0,0,3115,3116,7,9,0,0,3116,3117,7,16,0,0,3117,492,1,0,0,0,3118,3119,7,6,0,0,3119,3120,7,10,0,0,3120,3121,7,5,0,0,3121,3122,7,21,0,0,3122,3123,7,24,0,0,3123,3124,7,13,0,0,3124,3125,7,19,0,0,3125,3126,7,19,0,0,3126,3127,7,25,0,0,3127,494,1,0,0,0,3128,3129,7,6,0,0,3129,3130,7,10,0,0,3130,3131,7,27,0,0,3131,3132,7,10,0,0,3132,3133,7,6,0,0,3133,496,1,0,0,0,3134,3135,7,6,0,0,3135,3136,7,17,0,0,3136,3137,7,9,0,0,3137,3138,7,16,0,0,3138,3139,7,10,0,0,3139,3140,7,7,0,0,3140,498,1,0,0,0,3141,3142,7,6,0,0,3142,3143,7,19,0,0,3143,3144,7,5,0,0,3144,3145,7,12,0,0,3145,500,1,0,0,0,3146,3147,7,6,0,0,3147,3148,7,19,0,0,3148,3149,7,14,0,0,3149,3150,7,5,0,0,3150,3151,7,6,0,0,3151,502,1,0,0,0,3152,3153,7,6,0,0,3153,3154,7,19,0,0,3154,3155,7,14,0,0,3155,3156,7,5,0,0,3156,3157,7,16,0,0,3157,3158,7,17,0,0,3158,3159,7,19,0,0,3159,3160,7,7,0,0,3160,504,1,0,0,0,3161,3162,7,6,0,0,3162,3163,7,19,0,0,3163,3164,7,14,0,0,3164,3165,7,21,0,0,3165,506,1,0,0,0,3166,3167,7,15,0,0,3167,3168,7,5,0,0,3168,3169,7,24,0,0,3169,3170,7,24,0,0,3170,3171,7,17,0,0,3171,3172,7,7,0,0,3172,3173,7,23,0,0,3173,508,1,0,0,0,3174,3175,7,15,0,0,3175,3176,7,5,0,0,3176,3177,7,16,0,0,3177,3178,7,14,0,0,3178,3179,7,20,0,0,3179,510,1,0,0,0,3180,3181,7,15,0,0,3181,3182,7,5,0,0,3182,3183,7,16,0,0,3183,3184,7,14,0,0,3184,3185,7,20,0,0,3185,3186,7,10,0,0,3186,3187,7,12,0,0,3187,512,1,0,0,0,3188,3189,7,15,0,0,3189,3190,7,5,0,0,3190,3191,7,16,0,0,3191,3192,7,10,0,0,3192,3193,7,13,0,0,3193,3194,7,17,0,0,3194,3195,7,5,0,0,3195,3196,7,6,0,0,3196,3197,7,17,0,0,3197,3198,7,11,0,0,3198,3199,7,10,0,0,3199,3200,7,12,0,0,3200,514,1,0,0,0,3201,3202,7,15,0,0,3202,3203,7,5,0,0,3203,3204,7,26,0,0,3204,3205,7,27,0,0,3205,3206,7,5,0,0,3206,3207,7,6,0,0,3207,3208,7,22,0,0,3208,3209,7,10,0,0,3209,516,1,0,0,0,3210,3211,7,15,0,0,3211,3212,7,10,0,0,3212,3213,7,13,0,0,3213,3214,7,23,0,0,3214,3215,7,10,0,0,3215,518,1,0,0,0,3216,3217,7,15,0,0,3217,3218,7,17,0,0,3218,3219,7,7,0,0,3219,3220,7,22,0,0,3220,3221,7,16,0,0,3221,3222,7,10,0,0,3222,520,1,0,0,0,3223,3224,7,15,0,0,3224,3225,7,17,0,0,3225,3226,7,7,0,0,3226,3227,7,27,0,0,3227,3228,7,5,0,0,3228,3229,7,6,0,0,3229,3230,7,22,0,0,3230,3231,7,10,0,0,3231,522,1,0,0,0,3232,3233,7,15,0,0,3233,3234,7,19,0,0,3234,3235,7,12,0,0,3235,3236,7,10,0,0,3236,524,1,0,0,0,3237,3238,7,15,0,0,3238,3239,7,19,0,0,3239,3240,7,7,0,0,3240,3241,7,16,0,0,3241,3242,7,20,0,0,3242,526,1,0,0,0,3243,3244,7,15,0,0,3244,3245,7,19,0,0,3245,3246,7,27,0,0,3246,3247,7,10,0,0,3247,528,1,0,0,0,3248,3249,7,7,0,0,3249,3250,7,5,0,0,3250,3251,7,15,0,0,3251,3252,7,10,0,0,3252,530,1,0,0,0,3253,3254,7,7,0,0,3254,3255,7,5,0,0,3255,3256,7,15,0,0,3256,3257,7,10,0,0,3257,3258,7,9,0,0,3258,532,1,0,0,0,3259,3260,7,7,0,0,3260,3261,7,10,0,0,3261,3262,7,26,0,0,3262,3263,7,16,0,0,3263,534,1,0,0,0,3264,3265,7,7,0,0,3265,3266,7,19,0,0,3266,536,1,0,0,0,3267,3268,7,7,0,0,3268,3269,7,19,0,0,3269,3270,7,16,0,0,3270,3271,7,20,0,0,3271,3272,7,17,0,0,3272,3273,7,7,0,0,3273,3274,7,23,0,0,3274,538,1,0,0,0,3275,3276,7,7,0,0,3276,3277,7,19,0,0,3277,3278,7,16,0,0,3278,3279,7,17,0,0,3279,3280,7,25,0,0,3280,3281,7,8,0,0,3281,540,1,0,0,0,3282,3283,7,7,0,0,3283,3284,7,19,0,0,3284,3285,7,29,0,0,3285,3286,7,5,0,0,3286,3287,7,17,0,0,3287,3288,7,16,0,0,3288,542,1,0,0,0,3289,3290,7,7,0,0,3290,3291,7,22,0,0,3291,3292,7,6,0,0,3292,3293,7,6,0,0,3293,3294,7,9,0,0,3294,544,1,0,0,0,3295,3296,7,19,0,0,3296,3297,7,18,0,0,3297,3298,7,30,0,0,3298,3299,7,10,0,0,3299,3300,7,14,0,0,3300,3301,7,16,0,0,3301,546,1,0,0,0,3302,3303,7,19,0,0,3303,3304,7,25,0,0,3304,548,1,0,0,0,3305,3306,7,19,0,0,3306,3307,7,25,0,0,3307,3308,7,25,0,0,3308,550,1,0,0,0,3309,3310,7,19,0,0,3310,3311,7,17,0,0,3311,3312,7,12,0,0,3312,3313,7,9,0,0,3313,552,1,0,0,0,3314,3315,7,19,0,0,3315,3316,7,24,0,0,3316,3317,7,10,0,0,3317,3318,7,13,0,0,3318,3319,7,5,0,0,3319,3320,7,16,0,0,3320,3321,7,19,0,0,3321,3322,7,13,0,0,3322,554,1,0,0,0,3323,3324,7,19,0,0,3324,3325,7,24,0,0,3325,3326,7,16,0,0,3326,3327,7,17,0,0,3327,3328,7,19,0,0,3328,3329,7,7,0,0,3329,556,1,0,0,0,3330,3331,7,19,0,0,3331,3332,7,24,0,0,3332,3333,7,16,0,0,3333,3334,7,17,0,0,3334,3335,7,19,0,0,3335,3336,7,7,0,0,3336,3337,7,9,0,0,3337,558,1,0,0,0,3338,3339,7,19,0,0,3339,3340,7,29,0,0,3340,3341,7,7,0,0,3341,3342,7,10,0,0,3342,3343,7,12,0,0,3343,560,1,0,0,0,3344,3345,7,19,0,0,3345,3346,7,29,0,0,3346,3347,7,7,0,0,3347,3348,7,10,0,0,3348,3349,7,13,0,0,3349,562,1,0,0,0,3350,3351,7,24,0,0,3351,3352,7,5,0,0,3352,3353,7,13,0,0,3353,3354,7,9,0,0,3354,3355,7,10,0,0,3355,3356,7,13,0,0,3356,564,1,0,0,0,3357,3358,7,24,0,0,3358,3359,7,5,0,0,3359,3360,7,13,0,0,3360,3361,7,16,0,0,3361,3362,7,17,0,0,3362,3363,7,5,0,0,3363,3364,7,6,0,0,3364,566,1,0,0,0,3365,3366,7,24,0,0,3366,3367,7,5,0,0,3367,3368,7,13,0,0,3368,3369,7,16,0,0,3369,3370,7,17,0,0,3370,3371,7,16,0,0,3371,3372,7,17,0,0,3372,3373,7,19,0,0,3373,3374,7,7,0,0,3374,568,1,0,0,0,3375,3376,7,24,0,0,3376,3377,7,5,0,0,3377,3378,7,9,0,0,3378,3379,7,9,0,0,3379,3380,7,17,0,0,3380,3381,7,7,0,0,3381,3382,7,23,0,0,3382,570,1,0,0,0,3383,3384,7,24,0,0,3384,3385,7,5,0,0,3385,3386,7,9,0,0,3386,3387,7,9,0,0,3387,3388,7,29,0,0,3388,3389,7,19,0,0,3389,3390,7,13,0,0,3390,3391,7,12,0,0,3391,572,1,0,0,0,3392,3393,7,24,0,0,3393,3394,7,6,0,0,3394,3395,7,5,0,0,3395,3396,7,7,0,0,3396,3397,7,9,0,0,3397,574,1,0,0,0,3398,3399,7,24,0,0,3399,3400,7,13,0,0,3400,3401,7,10,0,0,3401,3402,7,14,0,0,3402,3403,7,10,0,0,3403,3404,7,12,0,0,3404,3405,7,17,0,0,3405,3406,7,7,0,0,3406,3407,7,23,0,0,3407,576,1,0,0,0,3408,3409,7,24,0,0,3409,3410,7,13,0,0,3410,3411,7,10,0,0,3411,3412,7,24,0,0,3412,3413,7,5,0,0,3413,3414,7,13,0,0,3414,3415,7,10,0,0,3415,578,1,0,0,0,3416,3417,7,24,0,0,3417,3418,7,13,0,0,3418,3419,7,10,0,0,3419,3420,7,24,0,0,3420,3421,7,5,0,0,3421,3422,7,13,0,0,3422,3423,7,10,0,0,3423,3424,7,12,0,0,3424,580,1,0,0,0,3425,3426,7,24,0,0,3426,3427,7,13,0,0,3427,3428,7,10,0,0,3428,3429,7,9,0,0,3429,3430,7,10,0,0,3430,3431,7,13,0,0,3431,3432,7,27,0,0,3432,3433,7,10,0,0,3433,582,1,0,0,0,3434,3435,7,24,0,0,3435,3436,7,13,0,0,3436,3437,7,17,0,0,3437,3438,7,19,0,0,3438,3439,7,13,0,0,3439,584,1,0,0,0,3440,3441,7,24,0,0,3441,3442,7,13,0,0,3442,3443,7,17,0,0,3443,3444,7,27,0,0,3444,3445,7,17,0,0,3445,3446,7,6,0,0,3446,3447,7,10,0,0,3447,3448,7,23,0,0,3448,3449,7,10,0,0,3449,3450,7,9,0,0,3450,586,1,0,0,0,3451,3452,7,24,0,0,3452,3453,7,13,0,0,3453,3454,7,19,0,0,3454,3455,7,14,0,0,3455,3456,7,10,0,0,3456,3457,7,12,0,0,3457,3458,7,22,0,0,3458,3459,7,13,0,0,3459,3460,7,5,0,0,3460,3461,7,6,0,0,3461,588,1,0,0,0,3462,3463,7,24,0,0,3463,3464,7,13,0,0,3464,3465,7,19,0,0,3465,3466,7,14,0,0,3466,3467,7,10,0,0,3467,3468,7,12,0,0,3468,3469,7,22,0,0,3469,3470,7,13,0,0,3470,3471,7,10,0,0,3471,590,1,0,0,0,3472,3473,7,24,0,0,3473,3474,7,13,0,0,3474,3475,7,19,0,0,3475,3476,7,23,0,0,3476,3477,7,13,0,0,3477,3478,7,5,0,0,3478,3479,7,15,0,0,3479,592,1,0,0,0,3480,3481,7,28,0,0,3481,3482,7,22,0,0,3482,3483,7,19,0,0,3483,3484,7,16,0,0,3484,3485,7,10,0,0,3485,594,1,0,0,0,3486,3487,7,13,0,0,3487,3488,7,5,0,0,3488,3489,7,7,0,0,3489,3490,7,23,0,0,3490,3491,7,10,0,0,3491,596,1,0,0,0,3492,3493,7,13,0,0,3493,3494,7,10,0,0,3494,3495,7,5,0,0,3495,3496,7,12,0,0,3496,598,1,0,0,0,3497,3498,7,13,0,0,3498,3499,7,10,0,0,3499,3500,7,5,0,0,3500,3501,7,9,0,0,3501,3502,7,9,0,0,3502,3503,7,17,0,0,3503,3504,7,23,0,0,3504,3505,7,7,0,0,3505,600,1,0,0,0,3506,3507,7,13,0,0,3507,3508,7,10,0,0,3508,3509,7,14,0,0,3509,3510,7,20,0,0,3510,3511,7,10,0,0,3511,3512,7,14,0,0,3512,3513,7,21,0,0,3513,602,1,0,0,0,3514,3515,7,13,0,0,3515,3516,7,10,0,0,3516,3517,7,14,0,0,3517,3518,7,22,0,0,3518,3519,7,13,0,0,3519,3520,7,9,0,0,3520,3521,7,17,0,0,3521,3522,7,27,0,0,3522,3523,7,10,0,0,3523,604,1,0,0,0,3524,3525,7,13,0,0,3525,3526,7,10,0,0,3526,3527,7,25,0,0,3527,606,1,0,0,0,3528,3529,7,13,0,0,3529,3530,7,10,0,0,3530,3531,7,25,0,0,3531,3532,7,13,0,0,3532,3533,7,10,0,0,3533,3534,7,9,0,0,3534,3535,7,20,0,0,3535,608,1,0,0,0,3536,3537,7,13,0,0,3537,3538,7,10,0,0,3538,3539,7,17,0,0,3539,3540,7,7,0,0,3540,3541,7,12,0,0,3541,3542,7,10,0,0,3542,3543,7,26,0,0,3543,610,1,0,0,0,3544,3545,7,13,0,0,3545,3546,7,10,0,0,3546,3547,7,6,0,0,3547,3548,7,5,0,0,3548,3549,7,16,0,0,3549,3550,7,17,0,0,3550,3551,7,27,0,0,3551,3552,7,10,0,0,3552,612,1,0,0,0,3553,3554,7,13,0,0,3554,3555,7,10,0,0,3555,3556,7,6,0,0,3556,3557,7,10,0,0,3557,3558,7,5,0,0,3558,3559,7,9,0,0,3559,3560,7,10,0,0,3560,614,1,0,0,0,3561,3562,7,13,0,0,3562,3563,7,10,0,0,3563,3564,7,7,0,0,3564,3565,7,5,0,0,3565,3566,7,15,0,0,3566,3567,7,10,0,0,3567,616,1,0,0,0,3568,3569,7,13,0,0,3569,3570,7,10,0,0,3570,3571,7,24,0,0,3571,3572,7,10,0,0,3572,3573,7,5,0,0,3573,3574,7,16,0,0,3574,3575,7,5,0,0,3575,3576,7,18,0,0,3576,3577,7,6,0,0,3577,3578,7,10,0,0,3578,618,1,0,0,0,3579,3580,7,13,0,0,3580,3581,7,10,0,0,3581,3582,7,24,0,0,3582,3583,7,6,0,0,3583,3584,7,5,0,0,3584,3585,7,14,0,0,3585,3586,7,10,0,0,3586,620,1,0,0,0,3587,3588,7,13,0,0,3588,3589,7,10,0,0,3589,3590,7,24,0,0,3590,3591,7,6,0,0,3591,3592,7,17,0,0,3592,3593,7,14,0,0,3593,3594,7,5,0,0,3594,622,1,0,0,0,3595,3596,7,13,0,0,3596,3597,7,10,0,0,3597,3598,7,9,0,0,3598,3599,7,10,0,0,3599,3600,7,16,0,0,3600,624,1,0,0,0,3601,3602,7,13,0,0,3602,3603,7,10,0,0,3603,3604,7,9,0,0,3604,3605,7,16,0,0,3605,3606,7,5,0,0,3606,3607,7,13,0,0,3607,3608,7,16,0,0,3608,626,1,0,0,0,3609,3610,7,13,0,0,3610,3611,7,10,0,0,3611,3612,7,9,0,0,3612,3613,7,16,0,0,3613,3614,7,13,0,0,3614,3615,7,17,0,0,3615,3616,7,14,0,0,3616,3617,7,16,0,0,3617,628,1,0,0,0,3618,3619,7,13,0,0,3619,3620,7,10,0,0,3620,3621,7,16,0,0,3621,3622,7,22,0,0,3622,3623,7,13,0,0,3623,3624,7,7,0,0,3624,3625,7,9,0,0,3625,630,1,0,0,0,3626,3627,7,13,0,0,3627,3628,7,10,0,0,3628,3629,7,27,0,0,3629,3630,7,19,0,0,3630,3631,7,21,0,0,3631,3632,7,10,0,0,3632,632,1,0,0,0,3633,3634,7,13,0,0,3634,3635,7,19,0,0,3635,3636,7,6,0,0,3636,3637,7,10,0,0,3637,634,1,0,0,0,3638,3639,7,13,0,0,3639,3640,7,19,0,0,3640,3641,7,6,0,0,3641,3642,7,6,0,0,3642,3643,7,18,0,0,3643,3644,7,5,0,0,3644,3645,7,14,0,0,3645,3646,7,21,0,0,3646,636,1,0,0,0,3647,3648,7,13,0,0,3648,3649,7,19,0,0,3649,3650,7,29,0,0,3650,3651,7,9,0,0,3651,638,1,0,0,0,3652,3653,7,13,0,0,3653,3654,7,22,0,0,3654,3655,7,6,0,0,3655,3656,7,10,0,0,3656,640,1,0,0,0,3657,3658,7,9,0,0,3658,3659,7,5,0,0,3659,3660,7,27,0,0,3660,3661,7,10,0,0,3661,3662,7,24,0,0,3662,3663,7,19,0,0,3663,3664,7,17,0,0,3664,3665,7,7,0,0,3665,3666,7,16,0,0,3666,642,1,0,0,0,3667,3668,7,9,0,0,3668,3669,7,14,0,0,3669,3670,7,20,0,0,3670,3671,7,10,0,0,3671,3672,7,15,0,0,3672,3673,7,5,0,0,3673,644,1,0,0,0,3674,3675,7,9,0,0,3675,3676,7,14,0,0,3676,3677,7,13,0,0,3677,3678,7,19,0,0,3678,3679,7,6,0,0,3679,3680,7,6,0,0,3680,646,1,0,0,0,3681,3682,7,9,0,0,3682,3683,7,10,0,0,3683,3684,7,5,0,0,3684,3685,7,13,0,0,3685,3686,7,14,0,0,3686,3687,7,20,0,0,3687,648,1,0,0,0,3688,3689,7,9,0,0,3689,3690,7,10,0,0,3690,3691,7,14,0,0,3691,3692,7,19,0,0,3692,3693,7,7,0,0,3693,3694,7,12,0,0,3694,650,1,0,0,0,3695,3696,7,9,0,0,3696,3697,7,10,0,0,3697,3698,7,14,0,0,3698,3699,7,22,0,0,3699,3700,7,13,0,0,3700,3701,7,17,0,0,3701,3702,7,16,0,0,3702,3703,7,8,0,0,3703,652,1,0,0,0,3704,3705,7,9,0,0,3705,3706,7,10,0,0,3706,3707,7,28,0,0,3707,3708,7,22,0,0,3708,3709,7,10,0,0,3709,3710,7,7,0,0,3710,3711,7,14,0,0,3711,3712,7,10,0,0,3712,654,1,0,0,0,3713,3714,7,9,0,0,3714,3715,7,10,0,0,3715,3716,7,28,0,0,3716,3717,7,22,0,0,3717,3718,7,10,0,0,3718,3719,7,7,0,0,3719,3720,7,14,0,0,3720,3721,7,10,0,0,3721,3722,7,9,0,0,3722,656,1,0,0,0,3723,3724,7,9,0,0,3724,3725,7,10,0,0,3725,3726,7,13,0,0,3726,3727,7,17,0,0,3727,3728,7,5,0,0,3728,3729,7,6,0,0,3729,3730,7,17,0,0,3730,3731,7,11,0,0,3731,3732,7,5,0,0,3732,3733,7,18,0,0,3733,3734,7,6,0,0,3734,3735,7,10,0,0,3735,658,1,0,0,0,3736,3737,7,9,0,0,3737,3738,7,10,0,0,3738,3739,7,13,0,0,3739,3740,7,27,0,0,3740,3741,7,10,0,0,3741,3742,7,13,0,0,3742,660,1,0,0,0,3743,3744,7,9,0,0,3744,3745,7,10,0,0,3745,3746,7,9,0,0,3746,3747,7,9,0,0,3747,3748,7,17,0,0,3748,3749,7,19,0,0,3749,3750,7,7,0,0,3750,662,1,0,0,0,3751,3752,7,9,0,0,3752,3753,7,10,0,0,3753,3754,7,16,0,0,3754,664,1,0,0,0,3755,3756,7,9,0,0,3756,3757,7,20,0,0,3757,3758,7,5,0,0,3758,3759,7,13,0,0,3759,3760,7,10,0,0,3760,666,1,0,0,0,3761,3762,7,9,0,0,3762,3763,7,20,0,0,3763,3764,7,19,0,0,3764,3765,7,29,0,0,3765,668,1,0,0,0,3766,3767,7,9,0,0,3767,3768,7,17,0,0,3768,3769,7,15,0,0,3769,3770,7,24,0,0,3770,3771,7,6,0,0,3771,3772,7,10,0,0,3772,670,1,0,0,0,3773,3774,7,9,0,0,3774,3775,7,7,0,0,3775,3776,7,5,0,0,3776,3777,7,24,0,0,3777,3778,7,9,0,0,3778,3779,7,20,0,0,3779,3780,7,19,0,0,3780,3781,7,16,0,0,3781,672,1,0,0,0,3782,3783,7,9,0,0,3783,3784,7,16,0,0,3784,3785,7,5,0,0,3785,3786,7,18,0,0,3786,3787,7,6,0,0,3787,3788,7,10,0,0,3788,674,1,0,0,0,3789,3790,7,9,0,0,3790,3791,7,16,0,0,3791,3792,7,5,0,0,3792,3793,7,7,0,0,3793,3794,7,12,0,0,3794,3795,7,5,0,0,3795,3796,7,6,0,0,3796,3797,7,19,0,0,3797,3798,7,7,0,0,3798,3799,7,10,0,0,3799,676,1,0,0,0,3800,3801,7,9,0,0,3801,3802,7,16,0,0,3802,3803,7,5,0,0,3803,3804,7,13,0,0,3804,3805,7,16,0,0,3805,678,1,0,0,0,3806,3807,7,9,0,0,3807,3808,7,16,0,0,3808,3809,7,5,0,0,3809,3810,7,16,0,0,3810,3811,7,10,0,0,3811,3812,7,15,0,0,3812,3813,7,10,0,0,3813,3814,7,7,0,0,3814,3815,7,16,0,0,3815,680,1,0,0,0,3816,3817,7,9,0,0,3817,3818,7,16,0,0,3818,3819,7,5,0,0,3819,3820,7,16,0,0,3820,3821,7,17,0,0,3821,3822,7,9,0,0,3822,3823,7,16,0,0,3823,3824,7,17,0,0,3824,3825,7,14,0,0,3825,3826,7,9,0,0,3826,682,1,0,0,0,3827,3828,7,9,0,0,3828,3829,7,16,0,0,3829,3830,7,12,0,0,3830,3831,7,17,0,0,3831,3832,7,7,0,0,3832,684,1,0,0,0,3833,3834,7,9,0,0,3834,3835,7,16,0,0,3835,3836,7,12,0,0,3836,3837,7,19,0,0,3837,3838,7,22,0,0,3838,3839,7,16,0,0,3839,686,1,0,0,0,3840,3841,7,9,0,0,3841,3842,7,16,0,0,3842,3843,7,19,0,0,3843,3844,7,13,0,0,3844,3845,7,5,0,0,3845,3846,7,23,0,0,3846,3847,7,10,0,0,3847,688,1,0,0,0,3848,3849,7,9,0,0,3849,3850,7,16,0,0,3850,3851,7,13,0,0,3851,3852,7,17,0,0,3852,3853,7,14,0,0,3853,3854,7,16,0,0,3854,690,1,0,0,0,3855,3856,7,9,0,0,3856,3857,7,16,0,0,3857,3858,7,13,0,0,3858,3859,7,17,0,0,3859,3860,7,24,0,0,3860,692,1,0,0,0,3861,3862,7,9,0,0,3862,3863,7,8,0,0,3863,3864,7,9,0,0,3864,3865,7,17,0,0,3865,3866,7,12,0,0,3866,694,1,0,0,0,3867,3868,7,9,0,0,3868,3869,7,8,0,0,3869,3870,7,9,0,0,3870,3871,7,16,0,0,3871,3872,7,10,0,0,3872,3873,7,15,0,0,3873,696,1,0,0,0,3874,3875,7,16,0,0,3875,3876,7,5,0,0,3876,3877,7,18,0,0,3877,3878,7,6,0,0,3878,3879,7,10,0,0,3879,3880,7,9,0,0,3880,698,1,0,0,0,3881,3882,7,16,0,0,3882,3883,7,5,0,0,3883,3884,7,18,0,0,3884,3885,7,6,0,0,3885,3886,7,10,0,0,3886,3887,7,9,0,0,3887,3888,7,24,0,0,3888,3889,7,5,0,0,3889,3890,7,14,0,0,3890,3891,7,10,0,0,3891,700,1,0,0,0,3892,3893,7,16,0,0,3893,3894,7,10,0,0,3894,3895,7,15,0,0,3895,3896,7,24,0,0,3896,702,1,0,0,0,3897,3898,7,16,0,0,3898,3899,7,10,0,0,3899,3900,7,15,0,0,3900,3901,7,24,0,0,3901,3902,7,6,0,0,3902,3903,7,5,0,0,3903,3904,7,16,0,0,3904,3905,7,10,0,0,3905,704,1,0,0,0,3906,3907,7,16,0,0,3907,3908,7,10,0,0,3908,3909,7,15,0,0,3909,3910,7,24,0,0,3910,3911,7,19,0,0,3911,3912,7,13,0,0,3912,3913,7,5,0,0,3913,3914,7,13,0,0,3914,3915,7,8,0,0,3915,706,1,0,0,0,3916,3917,7,16,0,0,3917,3918,7,10,0,0,3918,3919,7,26,0,0,3919,3920,7,16,0,0,3920,708,1,0,0,0,3921,3922,7,16,0,0,3922,3923,7,13,0,0,3923,3924,7,5,0,0,3924,3925,7,7,0,0,3925,3926,7,9,0,0,3926,3927,7,5,0,0,3927,3928,7,14,0,0,3928,3929,7,16,0,0,3929,3930,7,17,0,0,3930,3931,7,19,0,0,3931,3932,7,7,0,0,3932,710,1,0,0,0,3933,3934,7,16,0,0,3934,3935,7,13,0,0,3935,3936,7,17,0,0,3936,3937,7,23,0,0,3937,3938,7,23,0,0,3938,3939,7,10,0,0,3939,3940,7,13,0,0,3940,712,1,0,0,0,3941,3942,7,16,0,0,3942,3943,7,13,0,0,3943,3944,7,22,0,0,3944,3945,7,7,0,0,3945,3946,7,14,0,0,3946,3947,7,5,0,0,3947,3948,7,16,0,0,3948,3949,7,10,0,0,3949,714,1,0,0,0,3950,3951,7,16,0,0,3951,3952,7,13,0,0,3952,3953,7,22,0,0,3953,3954,7,9,0,0,3954,3955,7,16,0,0,3955,3956,7,10,0,0,3956,3957,7,12,0,0,3957,716,1,0,0,0,3958,3959,7,16,0,0,3959,3960,7,8,0,0,3960,3961,7,24,0,0,3961,3962,7,10,0,0,3962,718,1,0,0,0,3963,3964,7,16,0,0,3964,3965,7,8,0,0,3965,3966,7,24,0,0,3966,3967,7,10,0,0,3967,3968,7,9,0,0,3968,720,1,0,0,0,3969,3970,7,22,0,0,3970,3971,7,7,0,0,3971,3972,7,18,0,0,3972,3973,7,19,0,0,3973,3974,7,22,0,0,3974,3975,7,7,0,0,3975,3976,7,12,0,0,3976,3977,7,10,0,0,3977,3978,7,12,0,0,3978,722,1,0,0,0,3979,3980,7,22,0,0,3980,3981,7,7,0,0,3981,3982,7,14,0,0,3982,3983,7,19,0,0,3983,3984,7,15,0,0,3984,3985,7,15,0,0,3985,3986,7,17,0,0,3986,3987,7,16,0,0,3987,3988,7,16,0,0,3988,3989,7,10,0,0,3989,3990,7,12,0,0,3990,724,1,0,0,0,3991,3992,7,22,0,0,3992,3993,7,7,0,0,3993,3994,7,10,0,0,3994,3995,7,7,0,0,3995,3996,7,14,0,0,3996,3997,7,13,0,0,3997,3998,7,8,0,0,3998,3999,7,24,0,0,3999,4e3,7,16,0,0,4e3,4001,7,10,0,0,4001,4002,7,12,0,0,4002,726,1,0,0,0,4003,4004,7,22,0,0,4004,4005,7,7,0,0,4005,4006,7,21,0,0,4006,4007,7,7,0,0,4007,4008,7,19,0,0,4008,4009,7,29,0,0,4009,4010,7,7,0,0,4010,728,1,0,0,0,4011,4012,7,22,0,0,4012,4013,7,7,0,0,4013,4014,7,6,0,0,4014,4015,7,17,0,0,4015,4016,7,9,0,0,4016,4017,7,16,0,0,4017,4018,7,10,0,0,4018,4019,7,7,0,0,4019,730,1,0,0,0,4020,4021,7,22,0,0,4021,4022,7,7,0,0,4022,4023,7,6,0,0,4023,4024,7,19,0,0,4024,4025,7,23,0,0,4025,4026,7,23,0,0,4026,4027,7,10,0,0,4027,4028,7,12,0,0,4028,732,1,0,0,0,4029,4030,7,22,0,0,4030,4031,7,7,0,0,4031,4032,7,16,0,0,4032,4033,7,17,0,0,4033,4034,7,6,0,0,4034,734,1,0,0,0,4035,4036,7,22,0,0,4036,4037,7,24,0,0,4037,4038,7,12,0,0,4038,4039,7,5,0,0,4039,4040,7,16,0,0,4040,4041,7,10,0,0,4041,736,1,0,0,0,4042,4043,7,27,0,0,4043,4044,7,5,0,0,4044,4045,7,14,0,0,4045,4046,7,22,0,0,4046,4047,7,22,0,0,4047,4048,7,15,0,0,4048,738,1,0,0,0,4049,4050,7,27,0,0,4050,4051,7,5,0,0,4051,4052,7,6,0,0,4052,4053,7,17,0,0,4053,4054,7,12,0,0,4054,740,1,0,0,0,4055,4056,7,27,0,0,4056,4057,7,5,0,0,4057,4058,7,6,0,0,4058,4059,7,17,0,0,4059,4060,7,12,0,0,4060,4061,7,5,0,0,4061,4062,7,16,0,0,4062,4063,7,10,0,0,4063,742,1,0,0,0,4064,4065,7,27,0,0,4065,4066,7,5,0,0,4066,4067,7,6,0,0,4067,4068,7,17,0,0,4068,4069,7,12,0,0,4069,4070,7,5,0,0,4070,4071,7,16,0,0,4071,4072,7,19,0,0,4072,4073,7,13,0,0,4073,744,1,0,0,0,4074,4075,7,27,0,0,4075,4076,7,5,0,0,4076,4077,7,13,0,0,4077,4078,7,8,0,0,4078,4079,7,17,0,0,4079,4080,7,7,0,0,4080,4081,7,23,0,0,4081,746,1,0,0,0,4082,4083,7,27,0,0,4083,4084,7,10,0,0,4084,4085,7,13,0,0,4085,4086,7,9,0,0,4086,4087,7,17,0,0,4087,4088,7,19,0,0,4088,4089,7,7,0,0,4089,748,1,0,0,0,4090,4091,7,27,0,0,4091,4092,7,17,0,0,4092,4093,7,10,0,0,4093,4094,7,29,0,0,4094,750,1,0,0,0,4095,4096,7,27,0,0,4096,4097,7,19,0,0,4097,4098,7,6,0,0,4098,4099,7,5,0,0,4099,4100,7,16,0,0,4100,4101,7,17,0,0,4101,4102,7,6,0,0,4102,4103,7,10,0,0,4103,752,1,0,0,0,4104,4105,7,29,0,0,4105,4106,7,20,0,0,4106,4107,7,17,0,0,4107,4108,7,16,0,0,4108,4109,7,10,0,0,4109,4110,7,9,0,0,4110,4111,7,24,0,0,4111,4112,7,5,0,0,4112,4113,7,14,0,0,4113,4114,7,10,0,0,4114,754,1,0,0,0,4115,4116,7,29,0,0,4116,4117,7,17,0,0,4117,4118,7,16,0,0,4118,4119,7,20,0,0,4119,4120,7,19,0,0,4120,4121,7,22,0,0,4121,4122,7,16,0,0,4122,756,1,0,0,0,4123,4124,7,29,0,0,4124,4125,7,19,0,0,4125,4126,7,13,0,0,4126,4127,7,21,0,0,4127,758,1,0,0,0,4128,4129,7,29,0,0,4129,4130,7,13,0,0,4130,4131,7,5,0,0,4131,4132,7,24,0,0,4132,4133,7,24,0,0,4133,4134,7,10,0,0,4134,4135,7,13,0,0,4135,760,1,0,0,0,4136,4137,7,29,0,0,4137,4138,7,13,0,0,4138,4139,7,17,0,0,4139,4140,7,16,0,0,4140,4141,7,10,0,0,4141,762,1,0,0,0,4142,4143,7,26,0,0,4143,4144,7,15,0,0,4144,4145,7,6,0,0,4145,764,1,0,0,0,4146,4147,7,8,0,0,4147,4148,7,10,0,0,4148,4149,7,5,0,0,4149,4150,7,13,0,0,4150,766,1,0,0,0,4151,4152,7,8,0,0,4152,4153,7,10,0,0,4153,4154,7,9,0,0,4154,768,1,0,0,0,4155,4156,7,11,0,0,4156,4157,7,19,0,0,4157,4158,7,7,0,0,4158,4159,7,10,0,0,4159,770,1,0,0,0,4160,4161,7,18,0,0,4161,4162,7,10,0,0,4162,4163,7,16,0,0,4163,4164,7,29,0,0,4164,4165,7,10,0,0,4165,4166,7,10,0,0,4166,4167,7,7,0,0,4167,772,1,0,0,0,4168,4169,7,18,0,0,4169,4170,7,17,0,0,4170,4171,7,23,0,0,4171,4172,7,17,0,0,4172,4173,7,7,0,0,4173,4174,7,16,0,0,4174,774,1,0,0,0,4175,4176,7,18,0,0,4176,4177,7,17,0,0,4177,4178,7,16,0,0,4178,776,1,0,0,0,4179,4180,7,18,0,0,4180,4181,7,19,0,0,4181,4182,7,19,0,0,4182,4183,7,6,0,0,4183,4184,7,10,0,0,4184,4185,7,5,0,0,4185,4186,7,7,0,0,4186,778,1,0,0,0,4187,4188,7,14,0,0,4188,4189,7,20,0,0,4189,4190,7,5,0,0,4190,4191,7,13,0,0,4191,780,1,0,0,0,4192,4193,7,14,0,0,4193,4194,7,20,0,0,4194,4195,7,5,0,0,4195,4196,7,13,0,0,4196,4197,7,5,0,0,4197,4198,7,14,0,0,4198,4199,7,16,0,0,4199,4200,7,10,0,0,4200,4201,7,13,0,0,4201,782,1,0,0,0,4202,4203,7,14,0,0,4203,4204,7,19,0,0,4204,4205,7,5,0,0,4205,4206,7,6,0,0,4206,4207,7,10,0,0,4207,4208,7,9,0,0,4208,4209,7,14,0,0,4209,4210,7,10,0,0,4210,784,1,0,0,0,4211,4212,7,12,0,0,4212,4213,7,10,0,0,4213,4214,7,14,0,0,4214,786,1,0,0,0,4215,4216,7,12,0,0,4216,4217,7,10,0,0,4217,4218,7,14,0,0,4218,4219,7,17,0,0,4219,4220,7,15,0,0,4220,4221,7,5,0,0,4221,4222,7,6,0,0,4222,788,1,0,0,0,4223,4224,7,10,0,0,4224,4225,7,26,0,0,4225,4226,7,17,0,0,4226,4227,7,9,0,0,4227,4228,7,16,0,0,4228,4229,7,9,0,0,4229,790,1,0,0,0,4230,4231,7,10,0,0,4231,4232,7,26,0,0,4232,4233,7,16,0,0,4233,4234,7,13,0,0,4234,4235,7,5,0,0,4235,4236,7,14,0,0,4236,4237,7,16,0,0,4237,792,1,0,0,0,4238,4239,7,25,0,0,4239,4240,7,6,0,0,4240,4241,7,19,0,0,4241,4242,7,5,0,0,4242,4243,7,16,0,0,4243,794,1,0,0,0,4244,4245,7,23,0,0,4245,4246,7,13,0,0,4246,4247,7,10,0,0,4247,4248,7,5,0,0,4248,4249,7,16,0,0,4249,4250,7,10,0,0,4250,4251,7,9,0,0,4251,4252,7,16,0,0,4252,796,1,0,0,0,4253,4254,7,17,0,0,4254,4255,7,7,0,0,4255,4256,7,19,0,0,4256,4257,7,22,0,0,4257,4258,7,16,0,0,4258,798,1,0,0,0,4259,4260,7,17,0,0,4260,4261,7,7,0,0,4261,4262,7,16,0,0,4262,800,1,0,0,0,4263,4264,7,17,0,0,4264,4265,7,7,0,0,4265,4266,7,16,0,0,4266,4267,7,10,0,0,4267,4268,7,23,0,0,4268,4269,7,10,0,0,4269,4270,7,13,0,0,4270,802,1,0,0,0,4271,4272,7,17,0,0,4272,4273,7,7,0,0,4273,4274,7,16,0,0,4274,4275,7,10,0,0,4275,4276,7,13,0,0,4276,4277,7,27,0,0,4277,4278,7,5,0,0,4278,4279,7,6,0,0,4279,804,1,0,0,0,4280,4281,7,6,0,0,4281,4282,7,10,0,0,4282,4283,7,5,0,0,4283,4284,7,9,0,0,4284,4285,7,16,0,0,4285,806,1,0,0,0,4286,4287,7,7,0,0,4287,4288,7,5,0,0,4288,4289,7,16,0,0,4289,4290,7,17,0,0,4290,4291,7,19,0,0,4291,4292,7,7,0,0,4292,4293,7,5,0,0,4293,4294,7,6,0,0,4294,808,1,0,0,0,4295,4296,7,7,0,0,4296,4297,7,14,0,0,4297,4298,7,20,0,0,4298,4299,7,5,0,0,4299,4300,7,13,0,0,4300,810,1,0,0,0,4301,4302,7,7,0,0,4302,4303,7,19,0,0,4303,4304,7,7,0,0,4304,4305,7,10,0,0,4305,812,1,0,0,0,4306,4307,7,7,0,0,4307,4308,7,22,0,0,4308,4309,7,6,0,0,4309,4310,7,6,0,0,4310,4311,7,17,0,0,4311,4312,7,25,0,0,4312,814,1,0,0,0,4313,4314,7,7,0,0,4314,4315,7,22,0,0,4315,4316,7,15,0,0,4316,4317,7,10,0,0,4317,4318,7,13,0,0,4318,4319,7,17,0,0,4319,4320,7,14,0,0,4320,816,1,0,0,0,4321,4322,7,19,0,0,4322,4323,7,27,0,0,4323,4324,7,10,0,0,4324,4325,7,13,0,0,4325,4326,7,6,0,0,4326,4327,7,5,0,0,4327,4328,7,8,0,0,4328,818,1,0,0,0,4329,4330,7,24,0,0,4330,4331,7,19,0,0,4331,4332,7,9,0,0,4332,4333,7,17,0,0,4333,4334,7,16,0,0,4334,4335,7,17,0,0,4335,4336,7,19,0,0,4336,4337,7,7,0,0,4337,820,1,0,0,0,4338,4339,7,24,0,0,4339,4340,7,13,0,0,4340,4341,7,10,0,0,4341,4342,7,14,0,0,4342,4343,7,17,0,0,4343,4344,7,9,0,0,4344,4345,7,17,0,0,4345,4346,7,19,0,0,4346,4347,7,7,0,0,4347,822,1,0,0,0,4348,4349,7,13,0,0,4349,4350,7,10,0,0,4350,4351,7,5,0,0,4351,4352,7,6,0,0,4352,824,1,0,0,0,4353,4354,7,13,0,0,4354,4355,7,19,0,0,4355,4356,7,29,0,0,4356,826,1,0,0,0,4357,4358,7,9,0,0,4358,4359,7,10,0,0,4359,4360,7,16,0,0,4360,4361,7,19,0,0,4361,4362,7,25,0,0,4362,828,1,0,0,0,4363,4364,7,9,0,0,4364,4365,7,15,0,0,4365,4366,7,5,0,0,4366,4367,7,6,0,0,4367,4368,7,6,0,0,4368,4369,7,17,0,0,4369,4370,7,7,0,0,4370,4371,7,16,0,0,4371,830,1,0,0,0,4372,4373,7,9,0,0,4373,4374,7,22,0,0,4374,4375,7,18,0,0,4375,4376,7,9,0,0,4376,4377,7,16,0,0,4377,4378,7,13,0,0,4378,4379,7,17,0,0,4379,4380,7,7,0,0,4380,4381,7,23,0,0,4381,832,1,0,0,0,4382,4383,7,16,0,0,4383,4384,7,17,0,0,4384,4385,7,15,0,0,4385,4386,7,10,0,0,4386,834,1,0,0,0,4387,4388,7,16,0,0,4388,4389,7,17,0,0,4389,4390,7,15,0,0,4390,4391,7,10,0,0,4391,4392,7,9,0,0,4392,4393,7,16,0,0,4393,4394,7,5,0,0,4394,4395,7,15,0,0,4395,4396,7,24,0,0,4396,836,1,0,0,0,4397,4398,7,16,0,0,4398,4399,7,13,0,0,4399,4400,7,10,0,0,4400,4401,7,5,0,0,4401,4402,7,16,0,0,4402,838,1,0,0,0,4403,4404,7,16,0,0,4404,4405,7,13,0,0,4405,4406,7,17,0,0,4406,4407,7,15,0,0,4407,840,1,0,0,0,4408,4409,7,27,0,0,4409,4410,7,5,0,0,4410,4411,7,6,0,0,4411,4412,7,22,0,0,4412,4413,7,10,0,0,4413,4414,7,9,0,0,4414,842,1,0,0,0,4415,4416,7,27,0,0,4416,4417,7,5,0,0,4417,4418,7,13,0,0,4418,4419,7,14,0,0,4419,4420,7,20,0,0,4420,4421,7,5,0,0,4421,4422,7,13,0,0,4422,844,1,0,0,0,4423,4424,7,26,0,0,4424,4425,7,15,0,0,4425,4426,7,6,0,0,4426,4427,7,5,0,0,4427,4428,7,16,0,0,4428,4429,7,16,0,0,4429,4430,7,13,0,0,4430,4431,7,17,0,0,4431,4432,7,18,0,0,4432,4433,7,22,0,0,4433,4434,7,16,0,0,4434,4435,7,10,0,0,4435,4436,7,9,0,0,4436,846,1,0,0,0,4437,4438,7,26,0,0,4438,4439,7,15,0,0,4439,4440,7,6,0,0,4440,4441,7,14,0,0,4441,4442,7,19,0,0,4442,4443,7,15,0,0,4443,4444,7,15,0,0,4444,4445,7,10,0,0,4445,4446,7,7,0,0,4446,4447,7,16,0,0,4447,848,1,0,0,0,4448,4449,7,26,0,0,4449,4450,7,15,0,0,4450,4451,7,6,0,0,4451,4452,7,5,0,0,4452,4453,7,23,0,0,4453,4454,7,23,0,0,4454,850,1,0,0,0,4455,4456,7,26,0,0,4456,4457,7,15,0,0,4457,4458,7,6,0,0,4458,4459,5,95,0,0,4459,4460,7,17,0,0,4460,4461,7,9,0,0,4461,4462,5,95,0,0,4462,4463,7,29,0,0,4463,4464,7,10,0,0,4464,4465,7,6,0,0,4465,4466,7,6,0,0,4466,4467,5,95,0,0,4467,4468,7,25,0,0,4468,4469,7,19,0,0,4469,4470,7,13,0,0,4470,4471,7,15,0,0,4471,4472,7,10,0,0,4472,4473,7,12,0,0,4473,852,1,0,0,0,4474,4475,7,26,0,0,4475,4476,7,15,0,0,4476,4477,7,6,0,0,4477,4478,5,95,0,0,4478,4479,7,17,0,0,4479,4480,7,9,0,0,4480,4481,5,95,0,0,4481,4482,7,29,0,0,4482,4483,7,10,0,0,4483,4484,7,6,0,0,4484,4485,7,6,0,0,4485,4486,5,95,0,0,4486,4487,7,25,0,0,4487,4488,7,19,0,0,4488,4489,7,13,0,0,4489,4490,7,15,0,0,4490,4491,7,10,0,0,4491,4492,7,12,0,0,4492,4493,5,95,0,0,4493,4494,7,12,0,0,4494,4495,7,19,0,0,4495,4496,7,14,0,0,4496,4497,7,22,0,0,4497,4498,7,15,0,0,4498,4499,7,10,0,0,4499,4500,7,7,0,0,4500,4501,7,16,0,0,4501,854,1,0,0,0,4502,4503,7,26,0,0,4503,4504,7,15,0,0,4504,4505,7,6,0,0,4505,4506,5,95,0,0,4506,4507,7,17,0,0,4507,4508,7,9,0,0,4508,4509,5,95,0,0,4509,4510,7,29,0,0,4510,4511,7,10,0,0,4511,4512,7,6,0,0,4512,4513,7,6,0,0,4513,4514,5,95,0,0,4514,4515,7,25,0,0,4515,4516,7,19,0,0,4516,4517,7,13,0,0,4517,4518,7,15,0,0,4518,4519,7,10,0,0,4519,4520,7,12,0,0,4520,4521,5,95,0,0,4521,4522,7,14,0,0,4522,4523,7,19,0,0,4523,4524,7,7,0,0,4524,4525,7,16,0,0,4525,4526,7,10,0,0,4526,4527,7,7,0,0,4527,4528,7,16,0,0,4528,856,1,0,0,0,4529,4530,7,26,0,0,4530,4531,7,24,0,0,4531,4532,7,5,0,0,4532,4533,7,16,0,0,4533,4534,7,20,0,0,4534,858,1,0,0,0,4535,4536,7,26,0,0,4536,4537,7,24,0,0,4537,4538,7,5,0,0,4538,4539,7,16,0,0,4539,4540,7,20,0,0,4540,4541,5,95,0,0,4541,4542,7,10,0,0,4542,4543,7,26,0,0,4543,4544,7,17,0,0,4544,4545,7,9,0,0,4545,4546,7,16,0,0,4546,4547,7,9,0,0,4547,860,1,0,0,0,4548,4549,7,26,0,0,4549,4550,7,15,0,0,4550,4551,7,6,0,0,4551,4552,7,14,0,0,4552,4553,7,19,0,0,4553,4554,7,7,0,0,4554,4555,7,14,0,0,4555,4556,7,5,0,0,4556,4557,7,16,0,0,4557,862,1,0,0,0,4558,4559,7,26,0,0,4559,4560,7,15,0,0,4560,4561,7,6,0,0,4561,4562,7,10,0,0,4562,4563,7,6,0,0,4563,4564,7,10,0,0,4564,4565,7,15,0,0,4565,4566,7,10,0,0,4566,4567,7,7,0,0,4567,4568,7,16,0,0,4568,864,1,0,0,0,4569,4570,7,26,0,0,4570,4571,7,15,0,0,4571,4572,7,6,0,0,4572,4573,7,10,0,0,4573,4574,7,26,0,0,4574,4575,7,17,0,0,4575,4576,7,9,0,0,4576,4577,7,16,0,0,4577,4578,7,9,0,0,4578,866,1,0,0,0,4579,4580,7,26,0,0,4580,4581,7,15,0,0,4581,4582,7,6,0,0,4582,4583,7,25,0,0,4583,4584,7,19,0,0,4584,4585,7,13,0,0,4585,4586,7,10,0,0,4586,4587,7,9,0,0,4587,4588,7,16,0,0,4588,868,1,0,0,0,4589,4590,7,26,0,0,4590,4591,7,15,0,0,4591,4592,7,6,0,0,4592,4593,7,24,0,0,4593,4594,7,5,0,0,4594,4595,7,13,0,0,4595,4596,7,9,0,0,4596,4597,7,10,0,0,4597,870,1,0,0,0,4598,4599,7,26,0,0,4599,4600,7,15,0,0,4600,4601,7,6,0,0,4601,4602,7,24,0,0,4602,4603,7,17,0,0,4603,872,1,0,0,0,4604,4605,7,26,0,0,4605,4606,7,15,0,0,4606,4607,7,6,0,0,4607,4608,7,13,0,0,4608,4609,7,19,0,0,4609,4610,7,19,0,0,4610,4611,7,16,0,0,4611,874,1,0,0,0,4612,4613,7,26,0,0,4613,4614,7,15,0,0,4614,4615,7,6,0,0,4615,4616,7,9,0,0,4616,4617,7,10,0,0,4617,4618,7,13,0,0,4618,4619,7,17,0,0,4619,4620,7,5,0,0,4620,4621,7,6,0,0,4621,4622,7,17,0,0,4622,4623,7,11,0,0,4623,4624,7,10,0,0,4624,876,1,0,0,0,4625,4626,7,14,0,0,4626,4627,7,5,0,0,4627,4628,7,6,0,0,4628,4629,7,6,0,0,4629,878,1,0,0,0,4630,4631,7,14,0,0,4631,4632,7,22,0,0,4632,4633,7,13,0,0,4633,4634,7,13,0,0,4634,4635,7,10,0,0,4635,4636,7,7,0,0,4636,4637,7,16,0,0,4637,880,1,0,0,0,4638,4639,7,5,0,0,4639,4640,7,16,0,0,4640,4641,7,16,0,0,4641,4642,7,5,0,0,4642,4643,7,14,0,0,4643,4644,7,20,0,0,4644,882,1,0,0,0,4645,4646,7,12,0,0,4646,4647,7,10,0,0,4647,4648,7,16,0,0,4648,4649,7,5,0,0,4649,4650,7,14,0,0,4650,4651,7,20,0,0,4651,884,1,0,0,0,4652,4653,7,10,0,0,4653,4654,7,26,0,0,4654,4655,7,24,0,0,4655,4656,7,13,0,0,4656,4657,7,10,0,0,4657,4658,7,9,0,0,4658,4659,7,9,0,0,4659,4660,7,17,0,0,4660,4661,7,19,0,0,4661,4662,7,7,0,0,4662,886,1,0,0,0,4663,4664,7,23,0,0,4664,4665,7,10,0,0,4665,4666,7,7,0,0,4666,4667,7,10,0,0,4667,4668,7,13,0,0,4668,4669,7,5,0,0,4669,4670,7,16,0,0,4670,4671,7,10,0,0,4671,4672,7,12,0,0,4672,888,1,0,0,0,4673,4674,7,6,0,0,4674,4675,7,19,0,0,4675,4676,7,23,0,0,4676,4677,7,23,0,0,4677,4678,7,10,0,0,4678,4679,7,12,0,0,4679,890,1,0,0,0,4680,4681,7,9,0,0,4681,4682,7,16,0,0,4682,4683,7,19,0,0,4683,4684,7,13,0,0,4684,4685,7,10,0,0,4685,4686,7,12,0,0,4686,892,1,0,0,0,4687,4688,7,17,0,0,4688,4689,7,7,0,0,4689,4690,7,14,0,0,4690,4691,7,6,0,0,4691,4692,7,22,0,0,4692,4693,7,12,0,0,4693,4694,7,10,0,0,4694,894,1,0,0,0,4695,4696,7,13,0,0,4696,4697,7,19,0,0,4697,4698,7,22,0,0,4698,4699,7,16,0,0,4699,4700,7,17,0,0,4700,4701,7,7,0,0,4701,4702,7,10,0,0,4702,896,1,0,0,0,4703,4704,7,16,0,0,4704,4705,7,13,0,0,4705,4706,7,5,0,0,4706,4707,7,7,0,0,4707,4708,7,9,0,0,4708,4709,7,25,0,0,4709,4710,7,19,0,0,4710,4711,7,13,0,0,4711,4712,7,15,0,0,4712,898,1,0,0,0,4713,4714,7,17,0,0,4714,4715,7,15,0,0,4715,4716,7,24,0,0,4716,4717,7,19,0,0,4717,4718,7,13,0,0,4718,4719,7,16,0,0,4719,900,1,0,0,0,4720,4721,7,24,0,0,4721,4722,7,19,0,0,4722,4723,7,6,0,0,4723,4724,7,17,0,0,4724,4725,7,14,0,0,4725,4726,7,8,0,0,4726,902,1,0,0,0,4727,4728,7,15,0,0,4728,4729,7,10,0,0,4729,4730,7,16,0,0,4730,4731,7,20,0,0,4731,4732,7,19,0,0,4732,4733,7,12,0,0,4733,904,1,0,0,0,4734,4735,7,13,0,0,4735,4736,7,10,0,0,4736,4737,7,25,0,0,4737,4738,7,10,0,0,4738,4739,7,13,0,0,4739,4740,7,10,0,0,4740,4741,7,7,0,0,4741,4742,7,14,0,0,4742,4743,7,17,0,0,4743,4744,7,7,0,0,4744,4745,7,23,0,0,4745,906,1,0,0,0,4746,4747,7,7,0,0,4747,4748,7,10,0,0,4748,4749,7,29,0,0,4749,908,1,0,0,0,4750,4751,7,19,0,0,4751,4752,7,6,0,0,4752,4753,7,12,0,0,4753,910,1,0,0,0,4754,4755,7,27,0,0,4755,4756,7,5,0,0,4756,4757,7,6,0,0,4757,4758,7,22,0,0,4758,4759,7,10,0,0,4759,912,1,0,0,0,4760,4761,7,9,0,0,4761,4762,7,22,0,0,4762,4763,7,18,0,0,4763,4764,7,9,0,0,4764,4765,7,14,0,0,4765,4766,7,13,0,0,4766,4767,7,17,0,0,4767,4768,7,24,0,0,4768,4769,7,16,0,0,4769,4770,7,17,0,0,4770,4771,7,19,0,0,4771,4772,7,7,0,0,4772,914,1,0,0,0,4773,4774,7,24,0,0,4774,4775,7,22,0,0,4775,4776,7,18,0,0,4776,4777,7,6,0,0,4777,4778,7,17,0,0,4778,4779,7,14,0,0,4779,4780,7,5,0,0,4780,4781,7,16,0,0,4781,4782,7,17,0,0,4782,4783,7,19,0,0,4783,4784,7,7,0,0,4784,916,1,0,0,0,4785,4786,7,19,0,0,4786,4787,7,22,0,0,4787,4788,7,16,0,0,4788,918,1,0,0,0,4789,4790,7,10,0,0,4790,4791,7,7,0,0,4791,4792,7,12,0,0,4792,920,1,0,0,0,4793,4794,7,13,0,0,4794,4795,7,19,0,0,4795,4796,7,22,0,0,4796,4797,7,16,0,0,4797,4798,7,17,0,0,4798,4799,7,7,0,0,4799,4800,7,10,0,0,4800,4801,7,9,0,0,4801,922,1,0,0,0,4802,4803,7,9,0,0,4803,4804,7,14,0,0,4804,4805,7,20,0,0,4805,4806,7,10,0,0,4806,4807,7,15,0,0,4807,4808,7,5,0,0,4808,4809,7,9,0,0,4809,924,1,0,0,0,4810,4811,7,24,0,0,4811,4812,7,13,0,0,4812,4813,7,19,0,0,4813,4814,7,14,0,0,4814,4815,7,10,0,0,4815,4816,7,12,0,0,4816,4817,7,22,0,0,4817,4818,7,13,0,0,4818,4819,7,10,0,0,4819,4820,7,9,0,0,4820,926,1,0,0,0,4821,4822,7,17,0,0,4822,4823,7,7,0,0,4823,4824,7,24,0,0,4824,4825,7,22,0,0,4825,4826,7,16,0,0,4826,928,1,0,0,0,4827,4828,7,9,0,0,4828,4829,7,22,0,0,4829,4830,7,24,0,0,4830,4831,7,24,0,0,4831,4832,7,19,0,0,4832,4833,7,13,0,0,4833,4834,7,16,0,0,4834,930,1,0,0,0,4835,4836,7,24,0,0,4836,4837,7,5,0,0,4837,4838,7,13,0,0,4838,4839,7,5,0,0,4839,4840,7,6,0,0,4840,4841,7,6,0,0,4841,4842,7,10,0,0,4842,4843,7,6,0,0,4843,932,1,0,0,0,4844,4845,7,9,0,0,4845,4846,7,28,0,0,4846,4847,7,6,0,0,4847,934,1,0,0,0,4848,4849,7,12,0,0,4849,4850,7,10,0,0,4850,4851,7,24,0,0,4851,4852,7,10,0,0,4852,4853,7,7,0,0,4853,4854,7,12,0,0,4854,4855,7,9,0,0,4855,936,1,0,0,0,4856,4857,7,19,0,0,4857,4858,7,27,0,0,4858,4859,7,10,0,0,4859,4860,7,13,0,0,4860,4861,7,13,0,0,4861,4862,7,17,0,0,4862,4863,7,12,0,0,4863,4864,7,17,0,0,4864,4865,7,7,0,0,4865,4866,7,23,0,0,4866,938,1,0,0,0,4867,4868,7,14,0,0,4868,4869,7,19,0,0,4869,4870,7,7,0,0,4870,4871,7,25,0,0,4871,4872,7,6,0,0,4872,4873,7,17,0,0,4873,4874,7,14,0,0,4874,4875,7,16,0,0,4875,940,1,0,0,0,4876,4877,7,9,0,0,4877,4878,7,21,0,0,4878,4879,7,17,0,0,4879,4880,7,24,0,0,4880,942,1,0,0,0,4881,4882,7,6,0,0,4882,4883,7,19,0,0,4883,4884,7,14,0,0,4884,4885,7,21,0,0,4885,4886,7,10,0,0,4886,4887,7,12,0,0,4887,944,1,0,0,0,4888,4889,7,16,0,0,4889,4890,7,17,0,0,4890,4891,7,10,0,0,4891,4892,7,9,0,0,4892,946,1,0,0,0,4893,4894,7,13,0,0,4894,4895,7,19,0,0,4895,4896,7,6,0,0,4896,4897,7,6,0,0,4897,4898,7,22,0,0,4898,4899,7,24,0,0,4899,948,1,0,0,0,4900,4901,7,14,0,0,4901,4902,7,22,0,0,4902,4903,7,18,0,0,4903,4904,7,10,0,0,4904,950,1,0,0,0,4905,4906,7,23,0,0,4906,4907,7,13,0,0,4907,4908,7,19,0,0,4908,4909,7,22,0,0,4909,4910,7,24,0,0,4910,4911,7,17,0,0,4911,4912,7,7,0,0,4912,4913,7,23,0,0,4913,952,1,0,0,0,4914,4915,7,9,0,0,4915,4916,7,10,0,0,4916,4917,7,16,0,0,4917,4918,7,9,0,0,4918,954,1,0,0,0,4919,4920,7,16,0,0,4920,4921,7,5,0,0,4921,4922,7,18,0,0,4922,4923,7,6,0,0,4923,4924,7,10,0,0,4924,4925,7,9,0,0,4925,4926,7,5,0,0,4926,4927,7,15,0,0,4927,4928,7,24,0,0,4928,4929,7,6,0,0,4929,4930,7,10,0,0,4930,956,1,0,0,0,4931,4932,7,19,0,0,4932,4933,7,13,0,0,4933,4934,7,12,0,0,4934,4935,7,17,0,0,4935,4936,7,7,0,0,4936,4937,7,5,0,0,4937,4938,7,6,0,0,4938,4939,7,17,0,0,4939,4940,7,16,0,0,4940,4941,7,8,0,0,4941,958,1,0,0,0,4942,4943,7,26,0,0,4943,4944,7,15,0,0,4944,4945,7,6,0,0,4945,4946,7,16,0,0,4946,4947,7,5,0,0,4947,4948,7,18,0,0,4948,4949,7,6,0,0,4949,4950,7,10,0,0,4950,960,1,0,0,0,4951,4952,7,14,0,0,4952,4953,7,19,0,0,4953,4954,7,6,0,0,4954,4955,7,22,0,0,4955,4956,7,15,0,0,4956,4957,7,7,0,0,4957,4958,7,9,0,0,4958,962,1,0,0,0,4959,4960,7,26,0,0,4960,4961,7,15,0,0,4961,4962,7,6,0,0,4962,4963,7,7,0,0,4963,4964,7,5,0,0,4964,4965,7,15,0,0,4965,4966,7,10,0,0,4966,4967,7,9,0,0,4967,4968,7,24,0,0,4968,4969,7,5,0,0,4969,4970,7,14,0,0,4970,4971,7,10,0,0,4971,4972,7,9,0,0,4972,964,1,0,0,0,4973,4974,7,13,0,0,4974,4975,7,19,0,0,4975,4976,7,29,0,0,4976,4977,7,16,0,0,4977,4978,7,8,0,0,4978,4979,7,24,0,0,4979,4980,7,10,0,0,4980,966,1,0,0,0,4981,4982,7,7,0,0,4982,4983,7,19,0,0,4983,4984,7,13,0,0,4984,4985,7,15,0,0,4985,4986,7,5,0,0,4986,4987,7,6,0,0,4987,4988,7,17,0,0,4988,4989,7,11,0,0,4989,4990,7,10,0,0,4990,4991,7,12,0,0,4991,968,1,0,0,0,4992,4993,7,29,0,0,4993,4994,7,17,0,0,4994,4995,7,16,0,0,4995,4996,7,20,0,0,4996,4997,7,17,0,0,4997,4998,7,7,0,0,4998,970,1,0,0,0,4999,5e3,7,25,0,0,5e3,5001,7,17,0,0,5001,5002,7,6,0,0,5002,5003,7,16,0,0,5003,5004,7,10,0,0,5004,5005,7,13,0,0,5005,972,1,0,0,0,5006,5007,7,23,0,0,5007,5008,7,13,0,0,5008,5009,7,19,0,0,5009,5010,7,22,0,0,5010,5011,7,24,0,0,5011,5012,7,9,0,0,5012,974,1,0,0,0,5013,5014,7,19,0,0,5014,5015,7,16,0,0,5015,5016,7,20,0,0,5016,5017,7,10,0,0,5017,5018,7,13,0,0,5018,5019,7,9,0,0,5019,976,1,0,0,0,5020,5021,7,7,0,0,5021,5022,7,25,0,0,5022,5023,7,14,0,0,5023,978,1,0,0,0,5024,5025,7,7,0,0,5025,5026,7,25,0,0,5026,5027,7,12,0,0,5027,980,1,0,0,0,5028,5029,7,7,0,0,5029,5030,7,25,0,0,5030,5031,7,21,0,0,5031,5032,7,14,0,0,5032,982,1,0,0,0,5033,5034,7,7,0,0,5034,5035,7,25,0,0,5035,5036,7,21,0,0,5036,5037,7,12,0,0,5037,984,1,0,0,0,5038,5039,7,22,0,0,5039,5040,7,10,0,0,5040,5041,7,9,0,0,5041,5042,7,14,0,0,5042,5043,7,5,0,0,5043,5044,7,24,0,0,5044,5045,7,10,0,0,5045,986,1,0,0,0,5046,5047,7,27,0,0,5047,5048,7,17,0,0,5048,5049,7,10,0,0,5049,5050,7,29,0,0,5050,5051,7,9,0,0,5051,988,1,0,0,0,5052,5053,7,7,0,0,5053,5054,7,19,0,0,5054,5055,7,13,0,0,5055,5056,7,15,0,0,5056,5057,7,5,0,0,5057,5058,7,6,0,0,5058,5059,7,17,0,0,5059,5060,7,11,0,0,5060,5061,7,10,0,0,5061,990,1,0,0,0,5062,5063,7,12,0,0,5063,5064,7,22,0,0,5064,5065,7,15,0,0,5065,5066,7,24,0,0,5066,992,1,0,0,0,5067,5068,7,24,0,0,5068,5069,7,13,0,0,5069,5070,7,17,0,0,5070,5071,7,7,0,0,5071,5072,7,16,0,0,5072,5073,5,95,0,0,5073,5074,7,9,0,0,5074,5075,7,16,0,0,5075,5076,7,13,0,0,5076,5077,7,17,0,0,5077,5078,7,14,0,0,5078,5079,7,16,0,0,5079,5080,5,95,0,0,5080,5081,7,24,0,0,5081,5082,7,5,0,0,5082,5083,7,13,0,0,5083,5084,7,5,0,0,5084,5085,7,15,0,0,5085,5086,7,9,0,0,5086,994,1,0,0,0,5087,5088,7,27,0,0,5088,5089,7,5,0,0,5089,5090,7,13,0,0,5090,5091,7,17,0,0,5091,5092,7,5,0,0,5092,5093,7,18,0,0,5093,5094,7,6,0,0,5094,5095,7,10,0,0,5095,5096,5,95,0,0,5096,5097,7,14,0,0,5097,5098,7,19,0,0,5098,5099,7,7,0,0,5099,5100,7,25,0,0,5100,5101,7,6,0,0,5101,5102,7,17,0,0,5102,5103,7,14,0,0,5103,5104,7,16,0,0,5104,996,1,0,0,0,5105,5106,7,10,0,0,5106,5107,7,13,0,0,5107,5108,7,13,0,0,5108,5109,7,19,0,0,5109,5110,7,13,0,0,5110,998,1,0,0,0,5111,5112,7,22,0,0,5112,5113,7,9,0,0,5113,5114,7,10,0,0,5114,5115,5,95,0,0,5115,5116,7,27,0,0,5116,5117,7,5,0,0,5117,5118,7,13,0,0,5118,5119,7,17,0,0,5119,5120,7,5,0,0,5120,5121,7,18,0,0,5121,5122,7,6,0,0,5122,5123,7,10,0,0,5123,1e3,1,0,0,0,5124,5125,7,22,0,0,5125,5126,7,9,0,0,5126,5127,7,10,0,0,5127,5128,5,95,0,0,5128,5129,7,14,0,0,5129,5130,7,19,0,0,5130,5131,7,6,0,0,5131,5132,7,22,0,0,5132,5133,7,15,0,0,5133,5134,7,7,0,0,5134,1002,1,0,0,0,5135,5136,7,5,0,0,5136,5137,7,6,0,0,5137,5138,7,17,0,0,5138,5139,7,5,0,0,5139,5140,7,9,0,0,5140,1004,1,0,0,0,5141,5142,7,14,0,0,5142,5143,7,19,0,0,5143,5144,7,7,0,0,5144,5145,7,9,0,0,5145,5146,7,16,0,0,5146,5147,7,5,0,0,5147,5148,7,7,0,0,5148,5149,7,16,0,0,5149,1006,1,0,0,0,5150,5151,7,24,0,0,5151,5152,7,10,0,0,5152,5153,7,13,0,0,5153,5154,7,25,0,0,5154,5155,7,19,0,0,5155,5156,7,13,0,0,5156,5157,7,15,0,0,5157,1008,1,0,0,0,5158,5159,7,23,0,0,5159,5160,7,10,0,0,5160,5161,7,16,0,0,5161,1010,1,0,0,0,5162,5163,7,12,0,0,5163,5164,7,17,0,0,5164,5165,7,5,0,0,5165,5166,7,23,0,0,5166,5167,7,7,0,0,5167,5168,7,19,0,0,5168,5169,7,9,0,0,5169,5170,7,16,0,0,5170,5171,7,17,0,0,5171,5172,7,14,0,0,5172,5173,7,9,0,0,5173,1012,1,0,0,0,5174,5175,7,9,0,0,5175,5176,7,16,0,0,5176,5177,7,5,0,0,5177,5178,7,14,0,0,5178,5179,7,21,0,0,5179,5180,7,10,0,0,5180,5181,7,12,0,0,5181,1014,1,0,0,0,5182,5183,7,10,0,0,5183,5184,7,6,0,0,5184,5185,7,9,0,0,5185,5186,7,17,0,0,5186,5187,7,25,0,0,5187,1016,1,0,0,0,5188,5189,7,29,0,0,5189,5190,7,20,0,0,5190,5191,7,17,0,0,5191,5192,7,6,0,0,5192,5193,7,10,0,0,5193,1018,1,0,0,0,5194,5195,7,13,0,0,5195,5196,7,10,0,0,5196,5197,7,27,0,0,5197,5198,7,10,0,0,5198,5199,7,13,0,0,5199,5200,7,9,0,0,5200,5201,7,10,0,0,5201,1020,1,0,0,0,5202,5203,7,25,0,0,5203,5204,7,19,0,0,5204,5205,7,13,0,0,5205,5206,7,10,0,0,5206,5207,7,5,0,0,5207,5208,7,14,0,0,5208,5209,7,20,0,0,5209,1022,1,0,0,0,5210,5211,7,9,0,0,5211,5212,7,6,0,0,5212,5213,7,17,0,0,5213,5214,7,14,0,0,5214,5215,7,10,0,0,5215,1024,1,0,0,0,5216,5217,7,10,0,0,5217,5218,7,26,0,0,5218,5219,7,17,0,0,5219,5220,7,16,0,0,5220,1026,1,0,0,0,5221,5222,7,13,0,0,5222,5223,7,10,0,0,5223,5224,7,16,0,0,5224,5225,7,22,0,0,5225,5226,7,13,0,0,5226,5227,7,7,0,0,5227,1028,1,0,0,0,5228,5229,7,28,0,0,5229,5230,7,22,0,0,5230,5231,7,10,0,0,5231,5232,7,13,0,0,5232,5233,7,8,0,0,5233,1030,1,0,0,0,5234,5235,7,13,0,0,5235,5236,7,5,0,0,5236,5237,7,17,0,0,5237,5238,7,9,0,0,5238,5239,7,10,0,0,5239,1032,1,0,0,0,5240,5241,7,9,0,0,5241,5242,7,28,0,0,5242,5243,7,6,0,0,5243,5244,7,9,0,0,5244,5245,7,16,0,0,5245,5246,7,5,0,0,5246,5247,7,16,0,0,5247,5248,7,10,0,0,5248,1034,1,0,0,0,5249,5250,7,12,0,0,5250,5251,7,10,0,0,5251,5252,7,18,0,0,5252,5253,7,22,0,0,5253,5254,7,23,0,0,5254,1036,1,0,0,0,5255,5256,7,6,0,0,5256,5257,7,19,0,0,5257,5258,7,23,0,0,5258,1038,1,0,0,0,5259,5260,7,17,0,0,5260,5261,7,7,0,0,5261,5262,7,25,0,0,5262,5263,7,19,0,0,5263,1040,1,0,0,0,5264,5265,7,7,0,0,5265,5266,7,19,0,0,5266,5267,7,16,0,0,5267,5268,7,17,0,0,5268,5269,7,14,0,0,5269,5270,7,10,0,0,5270,1042,1,0,0,0,5271,5272,7,29,0,0,5272,5273,7,5,0,0,5273,5274,7,13,0,0,5274,5275,7,7,0,0,5275,5276,7,17,0,0,5276,5277,7,7,0,0,5277,5278,7,23,0,0,5278,1044,1,0,0,0,5279,5280,7,10,0,0,5280,5281,7,26,0,0,5281,5282,7,14,0,0,5282,5283,7,10,0,0,5283,5284,7,24,0,0,5284,5285,7,16,0,0,5285,5286,7,17,0,0,5286,5287,7,19,0,0,5287,5288,7,7,0,0,5288,1046,1,0,0,0,5289,5290,7,5,0,0,5290,5291,7,9,0,0,5291,5292,7,9,0,0,5292,5293,7,10,0,0,5293,5294,7,13,0,0,5294,5295,7,16,0,0,5295,1048,1,0,0,0,5296,5297,7,6,0,0,5297,5298,7,19,0,0,5298,5299,7,19,0,0,5299,5300,7,24,0,0,5300,1050,1,0,0,0,5301,5302,7,19,0,0,5302,5303,7,24,0,0,5303,5304,7,10,0,0,5304,5305,7,7,0,0,5305,1052,1,0,0,0,5306,5307,7,5,0,0,5307,5308,7,18,0,0,5308,5309,7,9,0,0,5309,1054,1,0,0,0,5310,5311,7,14,0,0,5311,5312,7,18,0,0,5312,5313,7,13,0,0,5313,5314,7,16,0,0,5314,1056,1,0,0,0,5315,5316,7,14,0,0,5316,5317,7,10,0,0,5317,5318,7,17,0,0,5318,5319,7,6,0,0,5319,1058,1,0,0,0,5320,5321,7,14,0,0,5321,5322,7,10,0,0,5322,5323,7,17,0,0,5323,5324,7,6,0,0,5324,5325,7,17,0,0,5325,5326,7,7,0,0,5326,5327,7,23,0,0,5327,1060,1,0,0,0,5328,5329,7,12,0,0,5329,5330,7,10,0,0,5330,5331,7,23,0,0,5331,5332,7,13,0,0,5332,5333,7,10,0,0,5333,5334,7,10,0,0,5334,5335,7,9,0,0,5335,1062,1,0,0,0,5336,5337,7,12,0,0,5337,5338,7,17,0,0,5338,5339,7,27,0,0,5339,1064,1,0,0,0,5340,5341,7,10,0,0,5341,5342,7,26,0,0,5342,5343,7,24,0,0,5343,1066,1,0,0,0,5344,5345,7,25,0,0,5345,5346,7,5,0,0,5346,5347,7,14,0,0,5347,5348,7,16,0,0,5348,5349,7,19,0,0,5349,5350,7,13,0,0,5350,5351,7,17,0,0,5351,5352,7,5,0,0,5352,5353,7,6,0,0,5353,1068,1,0,0,0,5354,5355,7,25,0,0,5355,5356,7,6,0,0,5356,5357,7,19,0,0,5357,5358,7,19,0,0,5358,5359,7,13,0,0,5359,1070,1,0,0,0,5360,5361,7,23,0,0,5361,5362,7,14,0,0,5362,5363,7,12,0,0,5363,1072,1,0,0,0,5364,5365,7,6,0,0,5365,5366,7,14,0,0,5366,5367,7,15,0,0,5367,1074,1,0,0,0,5368,5369,7,6,0,0,5369,5370,7,7,0,0,5370,1076,1,0,0,0,5371,5372,7,6,0,0,5372,5373,7,19,0,0,5373,5374,7,23,0,0,5374,5375,5,49,0,0,5375,5376,5,48,0,0,5376,1078,1,0,0,0,5377,5378,7,15,0,0,5378,5379,7,17,0,0,5379,5380,7,7,0,0,5380,5381,5,95,0,0,5381,5382,7,9,0,0,5382,5383,7,14,0,0,5383,5384,7,5,0,0,5384,5385,7,6,0,0,5385,5386,7,10,0,0,5386,1080,1,0,0,0,5387,5388,7,15,0,0,5388,5389,7,19,0,0,5389,5390,7,12,0,0,5390,1082,1,0,0,0,5391,5392,7,24,0,0,5392,5393,7,17,0,0,5393,1084,1,0,0,0,5394,5395,7,24,0,0,5395,5396,7,19,0,0,5396,5397,7,29,0,0,5397,5398,7,10,0,0,5398,5399,7,13,0,0,5399,1086,1,0,0,0,5400,5401,7,13,0,0,5401,5402,7,5,0,0,5402,5403,7,12,0,0,5403,5404,7,17,0,0,5404,5405,7,5,0,0,5405,5406,7,7,0,0,5406,5407,7,9,0,0,5407,1088,1,0,0,0,5408,5409,7,13,0,0,5409,5410,7,19,0,0,5410,5411,7,22,0,0,5411,5412,7,7,0,0,5412,5413,7,12,0,0,5413,1090,1,0,0,0,5414,5415,7,9,0,0,5415,5416,7,14,0,0,5416,5417,7,5,0,0,5417,5418,7,6,0,0,5418,5419,7,10,0,0,5419,1092,1,0,0,0,5420,5421,7,9,0,0,5421,5422,7,17,0,0,5422,5423,7,23,0,0,5423,5424,7,7,0,0,5424,1094,1,0,0,0,5425,5426,7,9,0,0,5426,5427,7,28,0,0,5427,5428,7,13,0,0,5428,5429,7,16,0,0,5429,1096,1,0,0,0,5430,5431,7,16,0,0,5431,5432,7,13,0,0,5432,5433,7,17,0,0,5433,5434,7,15,0,0,5434,5435,5,95,0,0,5435,5436,7,9,0,0,5436,5437,7,14,0,0,5437,5438,7,5,0,0,5438,5439,7,6,0,0,5439,5440,7,10,0,0,5440,1098,1,0,0,0,5441,5442,7,16,0,0,5442,5443,7,13,0,0,5443,5444,7,22,0,0,5444,5445,7,7,0,0,5445,5446,7,14,0,0,5446,1100,1,0,0,0,5447,5448,7,29,0,0,5448,5449,7,17,0,0,5449,5450,7,12,0,0,5450,5451,7,16,0,0,5451,5452,7,20,0,0,5452,5453,5,95,0,0,5453,5454,7,18,0,0,5454,5455,7,22,0,0,5455,5456,7,14,0,0,5456,5457,7,21,0,0,5457,5458,7,10,0,0,5458,5459,7,16,0,0,5459,1102,1,0,0,0,5460,5461,7,13,0,0,5461,5462,7,5,0,0,5462,5463,7,7,0,0,5463,5464,7,12,0,0,5464,5465,7,19,0,0,5465,5466,7,15,0,0,5466,1104,1,0,0,0,5467,5468,7,9,0,0,5468,5469,7,10,0,0,5469,5470,7,16,0,0,5470,5471,7,9,0,0,5471,5472,7,10,0,0,5472,5473,7,10,0,0,5473,5474,7,12,0,0,5474,1106,1,0,0,0,5475,5476,7,5,0,0,5476,5477,7,14,0,0,5477,5478,7,19,0,0,5478,5479,7,9,0,0,5479,1108,1,0,0,0,5480,5481,7,5,0,0,5481,5482,7,14,0,0,5482,5483,7,19,0,0,5483,5484,7,9,0,0,5484,5485,7,12,0,0,5485,1110,1,0,0,0,5486,5487,7,5,0,0,5487,5488,7,9,0,0,5488,5489,7,17,0,0,5489,5490,7,7,0,0,5490,1112,1,0,0,0,5491,5492,7,5,0,0,5492,5493,7,9,0,0,5493,5494,7,17,0,0,5494,5495,7,7,0,0,5495,5496,7,12,0,0,5496,1114,1,0,0,0,5497,5498,7,5,0,0,5498,5499,7,16,0,0,5499,5500,7,5,0,0,5500,5501,7,7,0,0,5501,1116,1,0,0,0,5502,5503,7,5,0,0,5503,5504,7,16,0,0,5504,5505,7,5,0,0,5505,5506,7,7,0,0,5506,5507,7,12,0,0,5507,1118,1,0,0,0,5508,5509,7,5,0,0,5509,5510,7,16,0,0,5510,5511,7,5,0,0,5511,5512,7,7,0,0,5512,5513,5,50,0,0,5513,1120,1,0,0,0,5514,5515,7,5,0,0,5515,5516,7,16,0,0,5516,5517,7,5,0,0,5517,5518,7,7,0,0,5518,5519,5,50,0,0,5519,5520,7,12,0,0,5520,1122,1,0,0,0,5521,5522,7,14,0,0,5522,5523,7,19,0,0,5523,5524,7,9,0,0,5524,1124,1,0,0,0,5525,5526,7,14,0,0,5526,5527,7,19,0,0,5527,5528,7,9,0,0,5528,5529,7,12,0,0,5529,1126,1,0,0,0,5530,5531,7,14,0,0,5531,5532,7,19,0,0,5532,5533,7,16,0,0,5533,1128,1,0,0,0,5534,5535,7,14,0,0,5535,5536,7,19,0,0,5536,5537,7,16,0,0,5537,5538,7,12,0,0,5538,1130,1,0,0,0,5539,5540,7,9,0,0,5540,5541,7,17,0,0,5541,5542,7,7,0,0,5542,1132,1,0,0,0,5543,5544,7,9,0,0,5544,5545,7,17,0,0,5545,5546,7,7,0,0,5546,5547,7,12,0,0,5547,1134,1,0,0,0,5548,5549,7,16,0,0,5549,5550,7,5,0,0,5550,5551,7,7,0,0,5551,1136,1,0,0,0,5552,5553,7,16,0,0,5553,5554,7,5,0,0,5554,5555,7,7,0,0,5555,5556,7,12,0,0,5556,1138,1,0,0,0,5557,5558,7,9,0,0,5558,5559,7,17,0,0,5559,5560,7,7,0,0,5560,5561,7,20,0,0,5561,1140,1,0,0,0,5562,5563,7,14,0,0,5563,5564,7,19,0,0,5564,5565,7,9,0,0,5565,5566,7,20,0,0,5566,1142,1,0,0,0,5567,5568,7,16,0,0,5568,5569,7,5,0,0,5569,5570,7,7,0,0,5570,5571,7,20,0,0,5571,1144,1,0,0,0,5572,5573,7,5,0,0,5573,5574,7,9,0,0,5574,5575,7,17,0,0,5575,5576,7,7,0,0,5576,5577,7,20,0,0,5577,1146,1,0,0,0,5578,5579,7,5,0,0,5579,5580,7,14,0,0,5580,5581,7,19,0,0,5581,5582,7,9,0,0,5582,5583,7,20,0,0,5583,1148,1,0,0,0,5584,5585,7,5,0,0,5585,5586,7,16,0,0,5586,5587,7,5,0,0,5587,5588,7,7,0,0,5588,5589,7,20,0,0,5589,1150,1,0,0,0,5590,5591,7,18,0,0,5591,5592,7,17,0,0,5592,5593,7,16,0,0,5593,5594,5,95,0,0,5594,5595,7,6,0,0,5595,5596,7,10,0,0,5596,5597,7,7,0,0,5597,5598,7,23,0,0,5598,5599,7,16,0,0,5599,5600,7,20,0,0,5600,1152,1,0,0,0,5601,5602,7,14,0,0,5602,5603,7,20,0,0,5603,5604,7,5,0,0,5604,5605,7,13,0,0,5605,5606,5,95,0,0,5606,5607,7,6,0,0,5607,5608,7,10,0,0,5608,5609,7,7,0,0,5609,5610,7,23,0,0,5610,5611,7,16,0,0,5611,5612,7,20,0,0,5612,1154,1,0,0,0,5613,5614,7,14,0,0,5614,5615,7,20,0,0,5615,5616,7,5,0,0,5616,5617,7,13,0,0,5617,5618,7,5,0,0,5618,5619,7,14,0,0,5619,5620,7,16,0,0,5620,5621,7,10,0,0,5621,5622,7,13,0,0,5622,5623,5,95,0,0,5623,5624,7,6,0,0,5624,5625,7,10,0,0,5625,5626,7,7,0,0,5626,5627,7,23,0,0,5627,5628,7,16,0,0,5628,5629,7,20,0,0,5629,1156,1,0,0,0,5630,5631,7,6,0,0,5631,5632,7,19,0,0,5632,5633,7,29,0,0,5633,5634,7,10,0,0,5634,5635,7,13,0,0,5635,1158,1,0,0,0,5636,5637,7,19,0,0,5637,5638,7,14,0,0,5638,5639,7,16,0,0,5639,5640,7,10,0,0,5640,5641,7,16,0,0,5641,5642,5,95,0,0,5642,5643,7,6,0,0,5643,5644,7,10,0,0,5644,5645,7,7,0,0,5645,5646,7,23,0,0,5646,5647,7,16,0,0,5647,5648,7,20,0,0,5648,1160,1,0,0,0,5649,5650,7,22,0,0,5650,5651,7,24,0,0,5651,5652,7,24,0,0,5652,5653,7,10,0,0,5653,5654,7,13,0,0,5654,1162,1,0,0,0,5655,5656,7,5,0,0,5656,5657,7,9,0,0,5657,5658,7,14,0,0,5658,5659,7,17,0,0,5659,5660,7,17,0,0,5660,1164,1,0,0,0,5661,5662,7,18,0,0,5662,5663,7,16,0,0,5663,5664,7,13,0,0,5664,5665,7,17,0,0,5665,5666,7,15,0,0,5666,1166,1,0,0,0,5667,5668,7,14,0,0,5668,5669,7,20,0,0,5669,5670,7,13,0,0,5670,1168,1,0,0,0,5671,5672,7,14,0,0,5672,5673,7,19,0,0,5673,5674,7,7,0,0,5674,5675,7,14,0,0,5675,5676,7,5,0,0,5676,5677,7,16,0,0,5677,1170,1,0,0,0,5678,5679,7,14,0,0,5679,5680,7,19,0,0,5680,5681,7,7,0,0,5681,5682,7,14,0,0,5682,5683,7,5,0,0,5683,5684,7,16,0,0,5684,5685,5,95,0,0,5685,5686,7,29,0,0,5686,5687,7,9,0,0,5687,1172,1,0,0,0,5688,5689,7,25,0,0,5689,5690,7,19,0,0,5690,5691,7,13,0,0,5691,5692,7,15,0,0,5692,5693,7,5,0,0,5693,5694,7,16,0,0,5694,1174,1,0,0,0,5695,5696,7,17,0,0,5696,5697,7,7,0,0,5697,5698,7,17,0,0,5698,5699,7,16,0,0,5699,5700,7,14,0,0,5700,5701,7,5,0,0,5701,5702,7,24,0,0,5702,1176,1,0,0,0,5703,5704,7,6,0,0,5704,5705,7,10,0,0,5705,5706,7,7,0,0,5706,5707,7,23,0,0,5707,5708,7,16,0,0,5708,5709,7,20,0,0,5709,1178,1,0,0,0,5710,5711,7,6,0,0,5711,5712,7,24,0,0,5712,5713,7,5,0,0,5713,5714,7,12,0,0,5714,1180,1,0,0,0,5715,5716,7,6,0,0,5716,5717,7,16,0,0,5717,5718,7,13,0,0,5718,5719,7,17,0,0,5719,5720,7,15,0,0,5720,1182,1,0,0,0,5721,5722,7,15,0,0,5722,5723,7,12,0,0,5723,5724,5,53,0,0,5724,1184,1,0,0,0,5725,5726,7,24,0,0,5726,5727,7,5,0,0,5727,5728,7,13,0,0,5728,5729,7,9,0,0,5729,5730,7,10,0,0,5730,5731,5,95,0,0,5731,5732,7,17,0,0,5732,5733,7,12,0,0,5733,5734,7,10,0,0,5734,5735,7,7,0,0,5735,5736,7,16,0,0,5736,1186,1,0,0,0,5737,5738,7,24,0,0,5738,5739,7,23,0,0,5739,5740,5,95,0,0,5740,5741,7,14,0,0,5741,5742,7,6,0,0,5742,5743,7,17,0,0,5743,5744,7,10,0,0,5744,5745,7,7,0,0,5745,5746,7,16,0,0,5746,5747,5,95,0,0,5747,5748,7,10,0,0,5748,5749,7,7,0,0,5749,5750,7,14,0,0,5750,5751,7,19,0,0,5751,5752,7,12,0,0,5752,5753,7,17,0,0,5753,5754,7,7,0,0,5754,5755,7,23,0,0,5755,1188,1,0,0,0,5756,5757,7,28,0,0,5757,5758,7,22,0,0,5758,5759,7,19,0,0,5759,5760,7,16,0,0,5760,5761,7,10,0,0,5761,5762,5,95,0,0,5762,5763,7,17,0,0,5763,5764,7,12,0,0,5764,5765,7,10,0,0,5765,5766,7,7,0,0,5766,5767,7,16,0,0,5767,1190,1,0,0,0,5768,5769,7,28,0,0,5769,5770,7,22,0,0,5770,5771,7,19,0,0,5771,5772,7,16,0,0,5772,5773,7,10,0,0,5773,5774,5,95,0,0,5774,5775,7,6,0,0,5775,5776,7,17,0,0,5776,5777,7,16,0,0,5777,5778,7,10,0,0,5778,5779,7,13,0,0,5779,5780,7,5,0,0,5780,5781,7,6,0,0,5781,1192,1,0,0,0,5782,5783,7,28,0,0,5783,5784,7,22,0,0,5784,5785,7,19,0,0,5785,5786,7,16,0,0,5786,5787,7,10,0,0,5787,5788,5,95,0,0,5788,5789,7,7,0,0,5789,5790,7,22,0,0,5790,5791,7,6,0,0,5791,5792,7,6,0,0,5792,5793,7,5,0,0,5793,5794,7,18,0,0,5794,5795,7,6,0,0,5795,5796,7,10,0,0,5796,1194,1,0,0,0,5797,5798,7,13,0,0,5798,5799,7,10,0,0,5799,5800,7,23,0,0,5800,5801,7,10,0,0,5801,5802,7,26,0,0,5802,5803,7,24,0,0,5803,5804,5,95,0,0,5804,5805,7,14,0,0,5805,5806,7,19,0,0,5806,5807,7,22,0,0,5807,5808,7,7,0,0,5808,5809,7,16,0,0,5809,1196,1,0,0,0,5810,5811,7,13,0,0,5811,5812,7,10,0,0,5812,5813,7,23,0,0,5813,5814,7,10,0,0,5814,5815,7,26,0,0,5815,5816,7,24,0,0,5816,5817,5,95,0,0,5817,5818,7,17,0,0,5818,5819,7,7,0,0,5819,5820,7,9,0,0,5820,5821,7,16,0,0,5821,5822,7,13,0,0,5822,1198,1,0,0,0,5823,5824,7,13,0,0,5824,5825,7,10,0,0,5825,5826,7,23,0,0,5826,5827,7,10,0,0,5827,5828,7,26,0,0,5828,5829,7,24,0,0,5829,5830,5,95,0,0,5830,5831,7,6,0,0,5831,5832,7,17,0,0,5832,5833,7,21,0,0,5833,5834,7,10,0,0,5834,1200,1,0,0,0,5835,5836,7,13,0,0,5836,5837,7,10,0,0,5837,5838,7,23,0,0,5838,5839,7,10,0,0,5839,5840,7,26,0,0,5840,5841,7,24,0,0,5841,5842,5,95,0,0,5842,5843,7,15,0,0,5843,5844,7,5,0,0,5844,5845,7,16,0,0,5845,5846,7,14,0,0,5846,5847,7,20,0,0,5847,1202,1,0,0,0,5848,5849,7,13,0,0,5849,5850,7,10,0,0,5850,5851,7,23,0,0,5851,5852,7,10,0,0,5852,5853,7,26,0,0,5853,5854,7,24,0,0,5854,5855,5,95,0,0,5855,5856,7,15,0,0,5856,5857,7,5,0,0,5857,5858,7,16,0,0,5858,5859,7,14,0,0,5859,5860,7,20,0,0,5860,5861,7,10,0,0,5861,5862,7,9,0,0,5862,1204,1,0,0,0,5863,5864,7,13,0,0,5864,5865,7,10,0,0,5865,5866,7,23,0,0,5866,5867,7,10,0,0,5867,5868,7,26,0,0,5868,5869,7,24,0,0,5869,5870,5,95,0,0,5870,5871,7,13,0,0,5871,5872,7,10,0,0,5872,5873,7,24,0,0,5873,5874,7,6,0,0,5874,5875,7,5,0,0,5875,5876,7,14,0,0,5876,5877,7,10,0,0,5877,1206,1,0,0,0,5878,5879,7,13,0,0,5879,5880,7,10,0,0,5880,5881,7,23,0,0,5881,5882,7,10,0,0,5882,5883,7,26,0,0,5883,5884,7,24,0,0,5884,5885,5,95,0,0,5885,5886,7,9,0,0,5886,5887,7,24,0,0,5887,5888,7,6,0,0,5888,5889,7,17,0,0,5889,5890,7,16,0,0,5890,5891,5,95,0,0,5891,5892,7,16,0,0,5892,5893,7,19,0,0,5893,5894,5,95,0,0,5894,5895,7,5,0,0,5895,5896,7,13,0,0,5896,5897,7,13,0,0,5897,5898,7,5,0,0,5898,5899,7,8,0,0,5899,1208,1,0,0,0,5900,5901,7,13,0,0,5901,5902,7,10,0,0,5902,5903,7,23,0,0,5903,5904,7,10,0,0,5904,5905,7,26,0,0,5905,5906,7,24,0,0,5906,5907,5,95,0,0,5907,5908,7,9,0,0,5908,5909,7,24,0,0,5909,5910,7,6,0,0,5910,5911,7,17,0,0,5911,5912,7,16,0,0,5912,5913,5,95,0,0,5913,5914,7,16,0,0,5914,5915,7,19,0,0,5915,5916,5,95,0,0,5916,5917,7,16,0,0,5917,5918,7,5,0,0,5918,5919,7,18,0,0,5919,5920,7,6,0,0,5920,5921,7,10,0,0,5921,1210,1,0,0,0,5922,5923,7,13,0,0,5923,5924,7,10,0,0,5924,5925,7,23,0,0,5925,5926,7,10,0,0,5926,5927,7,26,0,0,5927,5928,7,24,0,0,5928,5929,5,95,0,0,5929,5930,7,9,0,0,5930,5931,7,22,0,0,5931,5932,7,18,0,0,5932,5933,7,9,0,0,5933,5934,7,16,0,0,5934,5935,7,13,0,0,5935,1212,1,0,0,0,5936,5937,7,13,0,0,5937,5938,7,10,0,0,5938,5939,7,24,0,0,5939,5940,7,10,0,0,5940,5941,7,5,0,0,5941,5942,7,16,0,0,5942,1214,1,0,0,0,5943,5944,7,13,0,0,5944,5945,7,24,0,0,5945,5946,7,5,0,0,5946,5947,7,12,0,0,5947,1216,1,0,0,0,5948,5949,7,13,0,0,5949,5950,7,16,0,0,5950,5951,7,13,0,0,5951,5952,7,17,0,0,5952,5953,7,15,0,0,5953,1218,1,0,0,0,5954,5955,7,9,0,0,5955,5956,7,24,0,0,5956,5957,7,6,0,0,5957,5958,7,17,0,0,5958,5959,7,16,0,0,5959,5960,5,95,0,0,5960,5961,7,24,0,0,5961,5962,7,5,0,0,5962,5963,7,13,0,0,5963,5964,7,16,0,0,5964,1220,1,0,0,0,5965,5966,7,9,0,0,5966,5967,7,16,0,0,5967,5968,7,5,0,0,5968,5969,7,13,0,0,5969,5970,7,16,0,0,5970,5971,7,9,0,0,5971,5972,5,95,0,0,5972,5973,7,29,0,0,5973,5974,7,17,0,0,5974,5975,7,16,0,0,5975,5976,7,20,0,0,5976,1222,1,0,0,0,5977,5978,7,9,0,0,5978,5979,7,16,0,0,5979,5980,7,13,0,0,5980,5981,7,17,0,0,5981,5982,7,7,0,0,5982,5983,7,23,0,0,5983,5984,5,95,0,0,5984,5985,7,16,0,0,5985,5986,7,19,0,0,5986,5987,5,95,0,0,5987,5988,7,5,0,0,5988,5989,7,13,0,0,5989,5990,7,13,0,0,5990,5991,7,5,0,0,5991,5992,7,8,0,0,5992,1224,1,0,0,0,5993,5994,7,9,0,0,5994,5995,7,16,0,0,5995,5996,7,13,0,0,5996,5997,7,17,0,0,5997,5998,7,7,0,0,5998,5999,7,23,0,0,5999,6e3,5,95,0,0,6e3,6001,7,16,0,0,6001,6002,7,19,0,0,6002,6003,5,95,0,0,6003,6004,7,16,0,0,6004,6005,7,5,0,0,6005,6006,7,18,0,0,6006,6007,7,6,0,0,6007,6008,7,10,0,0,6008,1226,1,0,0,0,6009,6010,7,9,0,0,6010,6011,7,16,0,0,6011,6012,7,13,0,0,6012,6013,7,24,0,0,6013,6014,7,19,0,0,6014,6015,7,9,0,0,6015,1228,1,0,0,0,6016,6017,7,9,0,0,6017,6018,7,22,0,0,6018,6019,7,18,0,0,6019,6020,7,9,0,0,6020,6021,7,16,0,0,6021,6022,7,13,0,0,6022,1230,1,0,0,0,6023,6024,7,16,0,0,6024,6025,7,19,0,0,6025,6026,5,95,0,0,6026,6027,7,5,0,0,6027,6028,7,9,0,0,6028,6029,7,14,0,0,6029,6030,7,17,0,0,6030,6031,7,17,0,0,6031,1232,1,0,0,0,6032,6033,7,16,0,0,6033,6034,7,19,0,0,6034,6035,5,95,0,0,6035,6036,7,20,0,0,6036,6037,7,10,0,0,6037,6038,7,26,0,0,6038,1234,1,0,0,0,6039,6040,7,16,0,0,6040,6041,7,13,0,0,6041,6042,7,5,0,0,6042,6043,7,7,0,0,6043,6044,7,9,0,0,6044,6045,7,6,0,0,6045,6046,7,5,0,0,6046,6047,7,16,0,0,6047,6048,7,10,0,0,6048,1236,1,0,0,0,6049,6050,7,22,0,0,6050,6051,7,7,0,0,6051,6052,7,17,0,0,6052,6053,7,9,0,0,6053,6054,7,16,0,0,6054,6055,7,13,0,0,6055,1238,1,0,0,0,6056,6057,7,5,0,0,6057,6058,7,23,0,0,6058,6059,7,10,0,0,6059,1240,1,0,0,0,6060,6061,7,14,0,0,6061,6062,7,6,0,0,6062,6063,7,19,0,0,6063,6064,7,14,0,0,6064,6065,7,21,0,0,6065,6066,5,95,0,0,6066,6067,7,16,0,0,6067,6068,7,17,0,0,6068,6069,7,15,0,0,6069,6070,7,10,0,0,6070,6071,7,9,0,0,6071,6072,7,16,0,0,6072,6073,7,5,0,0,6073,6074,7,15,0,0,6074,6075,7,24,0,0,6075,1242,1,0,0,0,6076,6077,7,12,0,0,6077,6078,7,5,0,0,6078,6079,7,16,0,0,6079,6080,7,10,0,0,6080,6081,5,95,0,0,6081,6082,7,18,0,0,6082,6083,7,17,0,0,6083,6084,7,7,0,0,6084,1244,1,0,0,0,6085,6086,7,12,0,0,6086,6087,7,5,0,0,6087,6088,7,16,0,0,6088,6089,7,10,0,0,6089,6090,5,95,0,0,6090,6091,7,24,0,0,6091,6092,7,5,0,0,6092,6093,7,13,0,0,6093,6094,7,16,0,0,6094,1246,1,0,0,0,6095,6096,7,12,0,0,6096,6097,7,5,0,0,6097,6098,7,16,0,0,6098,6099,7,10,0,0,6099,6100,5,95,0,0,6100,6101,7,16,0,0,6101,6102,7,13,0,0,6102,6103,7,22,0,0,6103,6104,7,7,0,0,6104,6105,7,14,0,0,6105,1248,1,0,0,0,6106,6107,7,17,0,0,6107,6108,7,9,0,0,6108,6109,7,25,0,0,6109,6110,7,17,0,0,6110,6111,7,7,0,0,6111,6112,7,17,0,0,6112,6113,7,16,0,0,6113,6114,7,10,0,0,6114,1250,1,0,0,0,6115,6116,7,30,0,0,6116,6117,7,22,0,0,6117,6118,7,9,0,0,6118,6119,7,16,0,0,6119,6120,7,17,0,0,6120,6121,7,25,0,0,6121,6122,7,8,0,0,6122,6123,5,95,0,0,6123,6124,7,12,0,0,6124,6125,7,5,0,0,6125,6126,7,8,0,0,6126,6127,7,9,0,0,6127,1252,1,0,0,0,6128,6129,7,30,0,0,6129,6130,7,22,0,0,6130,6131,7,9,0,0,6131,6132,7,16,0,0,6132,6133,7,17,0,0,6133,6134,7,25,0,0,6134,6135,7,8,0,0,6135,6136,5,95,0,0,6136,6137,7,20,0,0,6137,6138,7,19,0,0,6138,6139,7,22,0,0,6139,6140,7,13,0,0,6140,6141,7,9,0,0,6141,1254,1,0,0,0,6142,6143,7,30,0,0,6143,6144,7,22,0,0,6144,6145,7,9,0,0,6145,6146,7,16,0,0,6146,6147,7,17,0,0,6147,6148,7,25,0,0,6148,6149,7,8,0,0,6149,6150,5,95,0,0,6150,6151,7,17,0,0,6151,6152,7,7,0,0,6152,6153,7,16,0,0,6153,6154,7,10,0,0,6154,6155,7,13,0,0,6155,6156,7,27,0,0,6156,6157,7,5,0,0,6157,6158,7,6,0,0,6158,1256,1,0,0,0,6159,6160,7,15,0,0,6160,6161,7,5,0,0,6161,6162,7,21,0,0,6162,6163,7,10,0,0,6163,6164,5,95,0,0,6164,6165,7,12,0,0,6165,6166,7,5,0,0,6166,6167,7,16,0,0,6167,6168,7,10,0,0,6168,1258,1,0,0,0,6169,6170,7,15,0,0,6170,6171,7,5,0,0,6171,6172,7,21,0,0,6172,6173,7,10,0,0,6173,6174,5,95,0,0,6174,6175,7,17,0,0,6175,6176,7,7,0,0,6176,6177,7,16,0,0,6177,6178,7,10,0,0,6178,6179,7,13,0,0,6179,6180,7,27,0,0,6180,6181,7,5,0,0,6181,6182,7,6,0,0,6182,1260,1,0,0,0,6183,6184,7,15,0,0,6184,6185,7,5,0,0,6185,6186,7,21,0,0,6186,6187,7,10,0,0,6187,6188,5,95,0,0,6188,6189,7,16,0,0,6189,6190,7,17,0,0,6190,6191,7,15,0,0,6191,6192,7,10,0,0,6192,1262,1,0,0,0,6193,6194,7,15,0,0,6194,6195,7,5,0,0,6195,6196,7,21,0,0,6196,6197,7,10,0,0,6197,6198,5,95,0,0,6198,6199,7,16,0,0,6199,6200,7,17,0,0,6200,6201,7,15,0,0,6201,6202,7,10,0,0,6202,6203,7,9,0,0,6203,6204,7,16,0,0,6204,6205,7,5,0,0,6205,6206,7,15,0,0,6206,6207,7,24,0,0,6207,1264,1,0,0,0,6208,6209,7,15,0,0,6209,6210,7,5,0,0,6210,6211,7,21,0,0,6211,6212,7,10,0,0,6212,6213,5,95,0,0,6213,6214,7,16,0,0,6214,6215,7,17,0,0,6215,6216,7,15,0,0,6216,6217,7,10,0,0,6217,6218,7,9,0,0,6218,6219,7,16,0,0,6219,6220,7,5,0,0,6220,6221,7,15,0,0,6221,6222,7,24,0,0,6222,6223,7,16,0,0,6223,6224,7,11,0,0,6224,1266,1,0,0,0,6225,6226,7,7,0,0,6226,6227,7,19,0,0,6227,6228,7,29,0,0,6228,1268,1,0,0,0,6229,6230,7,9,0,0,6230,6231,7,16,0,0,6231,6232,7,5,0,0,6232,6233,7,16,0,0,6233,6234,7,10,0,0,6234,6235,7,15,0,0,6235,6236,7,10,0,0,6236,6237,7,7,0,0,6237,6238,7,16,0,0,6238,6239,5,95,0,0,6239,6240,7,16,0,0,6240,6241,7,17,0,0,6241,6242,7,15,0,0,6242,6243,7,10,0,0,6243,6244,7,9,0,0,6244,6245,7,16,0,0,6245,6246,7,5,0,0,6246,6247,7,15,0,0,6247,6248,7,24,0,0,6248,1270,1,0,0,0,6249,6250,7,16,0,0,6250,6251,7,17,0,0,6251,6252,7,15,0,0,6252,6253,7,10,0,0,6253,6254,7,19,0,0,6254,6255,7,25,0,0,6255,6256,7,12,0,0,6256,6257,7,5,0,0,6257,6258,7,8,0,0,6258,1272,1,0,0,0,6259,6260,7,16,0,0,6260,6261,7,13,0,0,6261,6262,7,5,0,0,6262,6263,7,7,0,0,6263,6264,7,9,0,0,6264,6265,7,5,0,0,6265,6266,7,14,0,0,6266,6267,7,16,0,0,6267,6268,7,17,0,0,6268,6269,7,19,0,0,6269,6270,7,7,0,0,6270,6271,5,95,0,0,6271,6272,7,16,0,0,6272,6273,7,17,0,0,6273,6274,7,15,0,0,6274,6275,7,10,0,0,6275,6276,7,9,0,0,6276,6277,7,16,0,0,6277,6278,7,5,0,0,6278,6279,7,15,0,0,6279,6280,7,24,0,0,6280,1274,1,0,0,0,6281,6282,7,16,0,0,6282,6283,7,19,0,0,6283,6284,5,95,0,0,6284,6285,7,16,0,0,6285,6286,7,17,0,0,6286,6287,7,15,0,0,6287,6288,7,10,0,0,6288,6289,7,9,0,0,6289,6290,7,16,0,0,6290,6291,7,5,0,0,6291,6292,7,15,0,0,6292,6293,7,24,0,0,6293,1276,1,0,0,0,6294,6295,7,16,0,0,6295,6296,7,19,0,0,6296,6297,5,95,0,0,6297,6298,7,14,0,0,6298,6299,7,20,0,0,6299,6300,7,5,0,0,6300,6301,7,13,0,0,6301,1278,1,0,0,0,6302,6303,7,16,0,0,6303,6304,7,19,0,0,6304,6305,5,95,0,0,6305,6306,7,12,0,0,6306,6307,7,5,0,0,6307,6308,7,16,0,0,6308,6309,7,10,0,0,6309,1280,1,0,0,0,6310,6311,7,16,0,0,6311,6312,7,19,0,0,6312,6313,5,95,0,0,6313,6314,7,7,0,0,6314,6315,7,22,0,0,6315,6316,7,15,0,0,6316,6317,7,18,0,0,6317,6318,7,10,0,0,6318,6319,7,13,0,0,6319,1282,1,0,0,0,6320,6324,3,1285,640,0,6321,6323,3,1287,641,0,6322,6321,1,0,0,0,6323,6326,1,0,0,0,6324,6322,1,0,0,0,6324,6325,1,0,0,0,6325,1284,1,0,0,0,6326,6324,1,0,0,0,6327,6334,7,31,0,0,6328,6329,7,32,0,0,6329,6334,4,640,6,0,6330,6331,7,33,0,0,6331,6332,7,34,0,0,6332,6334,4,640,7,0,6333,6327,1,0,0,0,6333,6328,1,0,0,0,6333,6330,1,0,0,0,6334,1286,1,0,0,0,6335,6338,3,1289,642,0,6336,6338,5,36,0,0,6337,6335,1,0,0,0,6337,6336,1,0,0,0,6338,1288,1,0,0,0,6339,6342,3,1285,640,0,6340,6342,7,0,0,0,6341,6339,1,0,0,0,6341,6340,1,0,0,0,6342,1290,1,0,0,0,6343,6344,3,1293,644,0,6344,6345,5,34,0,0,6345,1292,1,0,0,0,6346,6352,5,34,0,0,6347,6348,5,34,0,0,6348,6351,5,34,0,0,6349,6351,8,35,0,0,6350,6347,1,0,0,0,6350,6349,1,0,0,0,6351,6354,1,0,0,0,6352,6350,1,0,0,0,6352,6353,1,0,0,0,6353,1294,1,0,0,0,6354,6352,1,0,0,0,6355,6356,3,1297,646,0,6356,6357,5,34,0,0,6357,1296,1,0,0,0,6358,6364,5,34,0,0,6359,6360,5,34,0,0,6360,6363,5,34,0,0,6361,6363,8,36,0,0,6362,6359,1,0,0,0,6362,6361,1,0,0,0,6363,6366,1,0,0,0,6364,6362,1,0,0,0,6364,6365,1,0,0,0,6365,1298,1,0,0,0,6366,6364,1,0,0,0,6367,6368,7,22,0,0,6368,6369,5,38,0,0,6369,6370,3,1291,643,0,6370,1300,1,0,0,0,6371,6372,7,22,0,0,6372,6373,5,38,0,0,6373,6374,3,1293,644,0,6374,1302,1,0,0,0,6375,6376,7,22,0,0,6376,6377,5,38,0,0,6377,6378,3,1295,645,0,6378,1304,1,0,0,0,6379,6380,7,22,0,0,6380,6381,5,38,0,0,6381,6382,3,1297,646,0,6382,1306,1,0,0,0,6383,6384,3,1309,652,0,6384,6385,5,39,0,0,6385,1308,1,0,0,0,6386,6392,5,39,0,0,6387,6388,5,39,0,0,6388,6391,5,39,0,0,6389,6391,8,37,0,0,6390,6387,1,0,0,0,6390,6389,1,0,0,0,6391,6394,1,0,0,0,6392,6390,1,0,0,0,6392,6393,1,0,0,0,6393,1310,1,0,0,0,6394,6392,1,0,0,0,6395,6396,7,10,0,0,6396,6397,5,39,0,0,6397,6398,1,0,0,0,6398,6399,6,653,2,0,6399,6400,6,653,3,0,6400,1312,1,0,0,0,6401,6402,3,1315,655,0,6402,6403,5,39,0,0,6403,1314,1,0,0,0,6404,6405,7,22,0,0,6405,6406,5,38,0,0,6406,6407,3,1309,652,0,6407,1316,1,0,0,0,6408,6410,5,36,0,0,6409,6411,3,1319,657,0,6410,6409,1,0,0,0,6410,6411,1,0,0,0,6411,6412,1,0,0,0,6412,6413,5,36,0,0,6413,6414,6,656,4,0,6414,6415,1,0,0,0,6415,6416,6,656,5,0,6416,1318,1,0,0,0,6417,6421,3,1285,640,0,6418,6420,3,1289,642,0,6419,6418,1,0,0,0,6420,6423,1,0,0,0,6421,6419,1,0,0,0,6421,6422,1,0,0,0,6422,1320,1,0,0,0,6423,6421,1,0,0,0,6424,6425,3,1323,659,0,6425,6426,5,39,0,0,6426,1322,1,0,0,0,6427,6428,7,18,0,0,6428,6432,5,39,0,0,6429,6431,7,38,0,0,6430,6429,1,0,0,0,6431,6434,1,0,0,0,6432,6430,1,0,0,0,6432,6433,1,0,0,0,6433,1324,1,0,0,0,6434,6432,1,0,0,0,6435,6436,3,1327,661,0,6436,6437,5,39,0,0,6437,1326,1,0,0,0,6438,6439,7,18,0,0,6439,6440,3,1309,652,0,6440,1328,1,0,0,0,6441,6442,3,1331,663,0,6442,6443,5,39,0,0,6443,1330,1,0,0,0,6444,6445,7,26,0,0,6445,6449,5,39,0,0,6446,6448,7,39,0,0,6447,6446,1,0,0,0,6448,6451,1,0,0,0,6449,6447,1,0,0,0,6449,6450,1,0,0,0,6450,1332,1,0,0,0,6451,6449,1,0,0,0,6452,6453,3,1335,665,0,6453,6454,5,39,0,0,6454,1334,1,0,0,0,6455,6456,7,26,0,0,6456,6457,3,1309,652,0,6457,1336,1,0,0,0,6458,6459,3,1343,669,0,6459,1338,1,0,0,0,6460,6461,3,1343,669,0,6461,6462,5,46,0,0,6462,6463,5,46,0,0,6463,6464,1,0,0,0,6464,6465,6,667,6,0,6465,1340,1,0,0,0,6466,6467,3,1343,669,0,6467,6469,5,46,0,0,6468,6470,3,1343,669,0,6469,6468,1,0,0,0,6469,6470,1,0,0,0,6470,6476,1,0,0,0,6471,6473,7,10,0,0,6472,6474,7,1,0,0,6473,6472,1,0,0,0,6473,6474,1,0,0,0,6474,6475,1,0,0,0,6475,6477,3,1343,669,0,6476,6471,1,0,0,0,6476,6477,1,0,0,0,6477,6495,1,0,0,0,6478,6479,5,46,0,0,6479,6485,3,1343,669,0,6480,6482,7,10,0,0,6481,6483,7,1,0,0,6482,6481,1,0,0,0,6482,6483,1,0,0,0,6483,6484,1,0,0,0,6484,6486,3,1343,669,0,6485,6480,1,0,0,0,6485,6486,1,0,0,0,6486,6495,1,0,0,0,6487,6488,3,1343,669,0,6488,6490,7,10,0,0,6489,6491,7,1,0,0,6490,6489,1,0,0,0,6490,6491,1,0,0,0,6491,6492,1,0,0,0,6492,6493,3,1343,669,0,6493,6495,1,0,0,0,6494,6466,1,0,0,0,6494,6478,1,0,0,0,6494,6487,1,0,0,0,6495,1342,1,0,0,0,6496,6498,7,0,0,0,6497,6496,1,0,0,0,6498,6499,1,0,0,0,6499,6497,1,0,0,0,6499,6500,1,0,0,0,6500,1344,1,0,0,0,6501,6502,5,58,0,0,6502,6506,7,40,0,0,6503,6505,7,41,0,0,6504,6503,1,0,0,0,6505,6508,1,0,0,0,6506,6504,1,0,0,0,6506,6507,1,0,0,0,6507,1346,1,0,0,0,6508,6506,1,0,0,0,6509,6510,5,58,0,0,6510,6511,5,34,0,0,6511,6519,1,0,0,0,6512,6513,5,92,0,0,6513,6518,9,0,0,0,6514,6515,5,34,0,0,6515,6518,5,34,0,0,6516,6518,8,42,0,0,6517,6512,1,0,0,0,6517,6514,1,0,0,0,6517,6516,1,0,0,0,6518,6521,1,0,0,0,6519,6517,1,0,0,0,6519,6520,1,0,0,0,6520,6522,1,0,0,0,6521,6519,1,0,0,0,6522,6523,5,34,0,0,6523,1348,1,0,0,0,6524,6526,7,43,0,0,6525,6524,1,0,0,0,6526,6527,1,0,0,0,6527,6525,1,0,0,0,6527,6528,1,0,0,0,6528,6529,1,0,0,0,6529,6530,6,672,7,0,6530,1350,1,0,0,0,6531,6533,5,13,0,0,6532,6534,5,10,0,0,6533,6532,1,0,0,0,6533,6534,1,0,0,0,6534,6537,1,0,0,0,6535,6537,5,10,0,0,6536,6531,1,0,0,0,6536,6535,1,0,0,0,6537,6538,1,0,0,0,6538,6539,6,673,7,0,6539,1352,1,0,0,0,6540,6541,5,45,0,0,6541,6542,5,45,0,0,6542,6546,1,0,0,0,6543,6545,8,44,0,0,6544,6543,1,0,0,0,6545,6548,1,0,0,0,6546,6544,1,0,0,0,6546,6547,1,0,0,0,6547,6549,1,0,0,0,6548,6546,1,0,0,0,6549,6550,6,674,8,0,6550,1354,1,0,0,0,6551,6552,5,47,0,0,6552,6553,5,42,0,0,6553,6576,1,0,0,0,6554,6556,5,47,0,0,6555,6554,1,0,0,0,6556,6559,1,0,0,0,6557,6555,1,0,0,0,6557,6558,1,0,0,0,6558,6560,1,0,0,0,6559,6557,1,0,0,0,6560,6575,3,1355,675,0,6561,6575,8,45,0,0,6562,6564,5,47,0,0,6563,6562,1,0,0,0,6564,6565,1,0,0,0,6565,6563,1,0,0,0,6565,6566,1,0,0,0,6566,6567,1,0,0,0,6567,6575,8,45,0,0,6568,6570,5,42,0,0,6569,6568,1,0,0,0,6570,6571,1,0,0,0,6571,6569,1,0,0,0,6571,6572,1,0,0,0,6572,6573,1,0,0,0,6573,6575,8,45,0,0,6574,6557,1,0,0,0,6574,6561,1,0,0,0,6574,6563,1,0,0,0,6574,6569,1,0,0,0,6575,6578,1,0,0,0,6576,6574,1,0,0,0,6576,6577,1,0,0,0,6577,6582,1,0,0,0,6578,6576,1,0,0,0,6579,6581,5,42,0,0,6580,6579,1,0,0,0,6581,6584,1,0,0,0,6582,6580,1,0,0,0,6582,6583,1,0,0,0,6583,6585,1,0,0,0,6584,6582,1,0,0,0,6585,6586,5,42,0,0,6586,6587,5,47,0,0,6587,6588,1,0,0,0,6588,6589,6,675,8,0,6589,1356,1,0,0,0,6590,6591,5,47,0,0,6591,6592,5,42,0,0,6592,6617,1,0,0,0,6593,6595,5,47,0,0,6594,6593,1,0,0,0,6595,6598,1,0,0,0,6596,6594,1,0,0,0,6596,6597,1,0,0,0,6597,6599,1,0,0,0,6598,6596,1,0,0,0,6599,6616,3,1355,675,0,6600,6616,8,45,0,0,6601,6603,5,47,0,0,6602,6601,1,0,0,0,6603,6604,1,0,0,0,6604,6602,1,0,0,0,6604,6605,1,0,0,0,6605,6606,1,0,0,0,6606,6614,8,45,0,0,6607,6609,5,42,0,0,6608,6607,1,0,0,0,6609,6610,1,0,0,0,6610,6608,1,0,0,0,6610,6611,1,0,0,0,6611,6612,1,0,0,0,6612,6614,8,45,0,0,6613,6602,1,0,0,0,6613,6608,1,0,0,0,6614,6616,1,0,0,0,6615,6596,1,0,0,0,6615,6600,1,0,0,0,6615,6613,1,0,0,0,6616,6619,1,0,0,0,6617,6615,1,0,0,0,6617,6618,1,0,0,0,6618,6637,1,0,0,0,6619,6617,1,0,0,0,6620,6622,5,47,0,0,6621,6620,1,0,0,0,6622,6623,1,0,0,0,6623,6621,1,0,0,0,6623,6624,1,0,0,0,6624,6638,1,0,0,0,6625,6627,5,42,0,0,6626,6625,1,0,0,0,6627,6628,1,0,0,0,6628,6626,1,0,0,0,6628,6629,1,0,0,0,6629,6638,1,0,0,0,6630,6632,5,47,0,0,6631,6630,1,0,0,0,6632,6635,1,0,0,0,6633,6631,1,0,0,0,6633,6634,1,0,0,0,6634,6636,1,0,0,0,6635,6633,1,0,0,0,6636,6638,3,1357,676,0,6637,6621,1,0,0,0,6637,6626,1,0,0,0,6637,6633,1,0,0,0,6637,6638,1,0,0,0,6638,6639,1,0,0,0,6639,6640,6,676,9,0,6640,1358,1,0,0,0,6641,6653,5,92,0,0,6642,6652,8,46,0,0,6643,6647,5,34,0,0,6644,6646,8,47,0,0,6645,6644,1,0,0,0,6646,6649,1,0,0,0,6647,6645,1,0,0,0,6647,6648,1,0,0,0,6648,6650,1,0,0,0,6649,6647,1,0,0,0,6650,6652,5,34,0,0,6651,6642,1,0,0,0,6651,6643,1,0,0,0,6652,6655,1,0,0,0,6653,6651,1,0,0,0,6653,6654,1,0,0,0,6654,6663,1,0,0,0,6655,6653,1,0,0,0,6656,6660,5,34,0,0,6657,6659,8,47,0,0,6658,6657,1,0,0,0,6659,6662,1,0,0,0,6660,6658,1,0,0,0,6660,6661,1,0,0,0,6661,6664,1,0,0,0,6662,6660,1,0,0,0,6663,6656,1,0,0,0,6663,6664,1,0,0,0,6664,1360,1,0,0,0,6665,6666,5,92,0,0,6666,6667,5,92,0,0,6667,1362,1,0,0,0,6668,6669,9,0,0,0,6669,1364,1,0,0,0,6670,6671,3,1369,682,0,6671,6672,5,39,0,0,6672,6673,1,0,0,0,6673,6674,6,680,10,0,6674,1366,1,0,0,0,6675,6677,3,1369,682,0,6676,6678,5,92,0,0,6677,6676,1,0,0,0,6677,6678,1,0,0,0,6678,6679,1,0,0,0,6679,6680,5,0,0,1,6680,1368,1,0,0,0,6681,6682,5,39,0,0,6682,6705,5,39,0,0,6683,6701,5,92,0,0,6684,6685,5,120,0,0,6685,6702,7,39,0,0,6686,6687,5,117,0,0,6687,6688,7,39,0,0,6688,6689,7,39,0,0,6689,6690,7,39,0,0,6690,6702,7,39,0,0,6691,6692,5,85,0,0,6692,6693,7,39,0,0,6693,6694,7,39,0,0,6694,6695,7,39,0,0,6695,6696,7,39,0,0,6696,6697,7,39,0,0,6697,6698,7,39,0,0,6698,6699,7,39,0,0,6699,6702,7,39,0,0,6700,6702,8,48,0,0,6701,6684,1,0,0,0,6701,6686,1,0,0,0,6701,6691,1,0,0,0,6701,6700,1,0,0,0,6702,6705,1,0,0,0,6703,6705,8,49,0,0,6704,6681,1,0,0,0,6704,6683,1,0,0,0,6704,6703,1,0,0,0,6705,6708,1,0,0,0,6706,6704,1,0,0,0,6706,6707,1,0,0,0,6707,1370,1,0,0,0,6708,6706,1,0,0,0,6709,6710,3,1375,685,0,6710,6711,5,39,0,0,6711,6712,1,0,0,0,6712,6713,6,683,10,0,6713,1372,1,0,0,0,6714,6716,3,1375,685,0,6715,6717,5,92,0,0,6716,6715,1,0,0,0,6716,6717,1,0,0,0,6717,6718,1,0,0,0,6718,6719,5,0,0,1,6719,1374,1,0,0,0,6720,6721,5,39,0,0,6721,6726,5,39,0,0,6722,6723,5,92,0,0,6723,6726,9,0,0,0,6724,6726,8,49,0,0,6725,6720,1,0,0,0,6725,6722,1,0,0,0,6725,6724,1,0,0,0,6726,6729,1,0,0,0,6727,6725,1,0,0,0,6727,6728,1,0,0,0,6728,1376,1,0,0,0,6729,6727,1,0,0,0,6730,6731,3,1349,672,0,6731,6732,1,0,0,0,6732,6733,6,686,11,0,6733,6734,6,686,7,0,6734,1378,1,0,0,0,6735,6736,3,1351,673,0,6736,6737,1,0,0,0,6737,6738,6,687,12,0,6738,6739,6,687,7,0,6739,6740,6,687,13,0,6740,1380,1,0,0,0,6741,6742,6,688,14,0,6742,6743,1,0,0,0,6743,6744,6,688,8,0,6744,6745,6,688,15,0,6745,1382,1,0,0,0,6746,6747,3,1349,672,0,6747,6748,1,0,0,0,6748,6749,6,689,11,0,6749,6750,6,689,7,0,6750,1384,1,0,0,0,6751,6752,3,1351,673,0,6752,6753,1,0,0,0,6753,6754,6,690,12,0,6754,6755,6,690,7,0,6755,1386,1,0,0,0,6756,6757,5,39,0,0,6757,6758,1,0,0,0,6758,6759,6,691,2,0,6759,6760,6,691,16,0,6760,1388,1,0,0,0,6761,6762,6,692,17,0,6762,6763,1,0,0,0,6763,6764,6,692,8,0,6764,6765,6,692,15,0,6765,1390,1,0,0,0,6766,6768,8,50,0,0,6767,6766,1,0,0,0,6768,6769,1,0,0,0,6769,6767,1,0,0,0,6769,6770,1,0,0,0,6770,6779,1,0,0,0,6771,6775,5,36,0,0,6772,6774,8,50,0,0,6773,6772,1,0,0,0,6774,6777,1,0,0,0,6775,6773,1,0,0,0,6775,6776,1,0,0,0,6776,6779,1,0,0,0,6777,6775,1,0,0,0,6778,6767,1,0,0,0,6778,6771,1,0,0,0,6779,1392,1,0,0,0,6780,6782,5,36,0,0,6781,6783,3,1319,657,0,6782,6781,1,0,0,0,6782,6783,1,0,0,0,6783,6784,1,0,0,0,6784,6785,5,36,0,0,6785,6786,1,0,0,0,6786,6787,4,694,8,0,6787,6788,6,694,18,0,6788,6789,1,0,0,0,6789,6790,6,694,15,0,6790,1394,1,0,0,0,78,0,1,2,3,4,1462,1468,1470,1475,1479,1481,1484,1493,1495,1500,1505,1507,6324,6333,6337,6341,6350,6352,6362,6364,6390,6392,6410,6421,6432,6449,6469,6473,6476,6482,6485,6490,6494,6499,6506,6517,6519,6527,6533,6536,6546,6557,6565,6571,6574,6576,6582,6596,6604,6610,6613,6615,6617,6623,6628,6633,6637,6647,6651,6653,6660,6663,6677,6701,6704,6706,6716,6725,6727,6769,6775,6778,6782,19,1,28,0,7,29,0,3,0,0,5,1,0,1,656,1,5,4,0,1,667,2,0,1,0,6,0,0,1,676,3,2,2,0,7,663,0,7,664,0,2,3,0,1,688,4,4,0,0,2,1,0,1,692,5,1,694,6],Vi.vocabulary=new Ra(Vi.literalNames,Vi.symbolicNames,[]),Vi.decisionsToDFA=Vi._ATN.decisionToState.map(((t,e)=>new ni(t,e))),Vi),rn=class extends Cc{ParseRoutineBody(t){let e=null;for(let S of t.createFunctionOptionItem()){var s,a,r,i,c,n;if(null!==S.LANGUAGE()&&null!==S.nonReservedWordOrSconst()&&null!==(null===(s=S.nonReservedWordOrSconst())||void 0===s?void 0:s.nonReservedWord())&&null!==(null===(a=S.nonReservedWordOrSconst())||void 0===a||null===(r=a.nonReservedWord())||void 0===r?void 0:r.identifier())&&null!==(null===(i=S.nonReservedWordOrSconst())||void 0===i||null===(c=i.nonReservedWord())||void 0===c||null===(n=c.identifier())||void 0===n?void 0:n.Identifier())){var h,E,T,o;e=null===(h=S.nonReservedWordOrSconst())||void 0===h||null===(E=h.nonReservedWord())||void 0===E||null===(T=E.identifier())||void 0===T||null===(o=T.Identifier())||void 0===o?void 0:o.getText();break}}if(null===e)return;let R=null;for(let S of t.createFunctionOptionItem())if(null!==S.functionAs()){R=S;break}if(null!==R){var A;let t=this.GetRoutineBodyString(null===(A=R.functionAs())||void 0===A?void 0:A.sconst(0)),s=this.getPostgreSQLParser(t);switch(e){case"plpgsql":R.functionAs().Definition=s.plsqlroot();break;case"sql":R.functionAs().Definition=s.root()}}}unquote(t){let e=t.length,s="",a=0;for(;a'","'<<'","'>>'","':='","'<='","'=>'","'>='","'..'","'<>'","'::'","'%'",null,null,"'ALL'","'ANALYSE'","'ANALYZE'","'AND'","'ANY'","'ARRAY'","'AS'","'ASC'","'ASYMMETRIC'","'BOTH'","'CASE'","'CAST'","'CHECK'","'COLLATE'","'COLUMN'","'CONSTRAINT'","'CREATE'","'CURRENT_CATALOG'","'CURRENT_DATE'","'CURRENT_ROLE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'CURRENT_USER'","'DEFAULT'","'DEFERRABLE'","'DESC'","'DISTINCT'","'DO'","'ELSE'","'EXCEPT'","'FALSE'","'FETCH'","'FOR'","'FOREIGN'","'FROM'","'GRANT'","'GROUP'","'HAVING'","'IN'","'INITIALLY'","'INTERSECT'","'INTO'","'LATERAL'","'LEADING'","'LIMIT'","'LOCALTIME'","'LOCALTIMESTAMP'","'NOT'","'NULL'","'OFFSET'","'ON'","'ONLY'","'OR'","'ORDER'","'PLACING'","'PRIMARY'","'REFERENCES'","'RETURNING'","'SELECT'","'SESSION_USER'","'SOME'","'SYMMETRIC'","'TABLE'","'THEN'","'TO'","'TRAILING'","'TRUE'","'UNION'","'UNIQUE'","'USER'","'USING'","'VARIADIC'","'WHEN'","'WHERE'","'WINDOW'","'WITH'","'AUTHORIZATION'","'BINARY'","'COLLATION'","'CONCURRENTLY'","'CROSS'","'CURRENT_SCHEMA'","'FREEZE'","'FULL'","'ILIKE'","'INNER'","'IS'","'ISNULL'","'JOIN'","'LEFT'","'LIKE'","'NATURAL'","'NOTNULL'","'OUTER'","'OVER'","'OVERLAPS'","'RIGHT'","'SIMILAR'","'VERBOSE'","'ABORT'","'ABSOLUTE'","'ACCESS'","'ACTION'","'ADD'","'ADMIN'","'AFTER'","'AGGREGATE'","'ALSO'","'ALTER'","'ALWAYS'","'ASSERTION'","'ASSIGNMENT'","'AT'","'ATTRIBUTE'","'BACKWARD'","'BEFORE'","'BEGIN'","'BY'","'CACHE'","'CALLED'","'CASCADE'","'CASCADED'","'CATALOG'","'CHAIN'","'CHARACTERISTICS'","'CHECKPOINT'","'CLASS'","'CLOSE'","'CLUSTER'","'COMMENT'","'COMMENTS'","'COMMIT'","'COMMITTED'","'CONFIGURATION'","'CONNECTION'","'CONSTRAINTS'","'CONTENT'","'CONTINUE'","'CONVERSION'","'COPY'","'COST'","'CSV'","'CURSOR'","'CYCLE'","'DATA'","'DATABASE'","'DAY'","'DEALLOCATE'","'DECLARE'","'DEFAULTS'","'DEFERRED'","'DEFINER'","'DELETE'","'DELIMITER'","'DELIMITERS'","'DICTIONARY'","'DISABLE'","'DISCARD'","'DOCUMENT'","'DOMAIN'","'DOUBLE'","'DROP'","'EACH'","'ENABLE'","'ENCODING'","'ENCRYPTED'","'ENUM'","'ESCAPE'","'EVENT'","'EXCLUDE'","'EXCLUDING'","'EXCLUSIVE'","'EXECUTE'","'EXPLAIN'","'EXTENSION'","'EXTERNAL'","'FAMILY'","'FIRST'","'FOLLOWING'","'FORCE'","'FORWARD'","'FUNCTION'","'FUNCTIONS'","'GLOBAL'","'GRANTED'","'HANDLER'","'HEADER'","'HOLD'","'HOUR'","'IDENTITY'","'IF'","'IMMEDIATE'","'IMMUTABLE'","'IMPLICIT'","'INCLUDING'","'INCREMENT'","'INDEX'","'INDEXES'","'INHERIT'","'INHERITS'","'INLINE'","'INSENSITIVE'","'INSERT'","'INSTEAD'","'INVOKER'","'ISOLATION'","'KEY'","'LABEL'","'LANGUAGE'","'LARGE'","'LAST'","'LEAKPROOF'","'LEVEL'","'LISTEN'","'LOAD'","'LOCAL'","'LOCATION'","'LOCK'","'MAPPING'","'MATCH'","'MATCHED'","'MATERIALIZED'","'MAXVALUE'","'MERGE'","'MINUTE'","'MINVALUE'","'MODE'","'MONTH'","'MOVE'","'NAME'","'NAMES'","'NEXT'","'NO'","'NOTHING'","'NOTIFY'","'NOWAIT'","'NULLS'","'OBJECT'","'OF'","'OFF'","'OIDS'","'OPERATOR'","'OPTION'","'OPTIONS'","'OWNED'","'OWNER'","'PARSER'","'PARTIAL'","'PARTITION'","'PASSING'","'PASSWORD'","'PLANS'","'PRECEDING'","'PREPARE'","'PREPARED'","'PRESERVE'","'PRIOR'","'PRIVILEGES'","'PROCEDURAL'","'PROCEDURE'","'PROGRAM'","'QUOTE'","'RANGE'","'READ'","'REASSIGN'","'RECHECK'","'RECURSIVE'","'REF'","'REFRESH'","'REINDEX'","'RELATIVE'","'RELEASE'","'RENAME'","'REPEATABLE'","'REPLACE'","'REPLICA'","'RESET'","'RESTART'","'RESTRICT'","'RETURNS'","'REVOKE'","'ROLE'","'ROLLBACK'","'ROWS'","'RULE'","'SAVEPOINT'","'SCHEMA'","'SCROLL'","'SEARCH'","'SECOND'","'SECURITY'","'SEQUENCE'","'SEQUENCES'","'SERIALIZABLE'","'SERVER'","'SESSION'","'SET'","'SHARE'","'SHOW'","'SIMPLE'","'SNAPSHOT'","'STABLE'","'STANDALONE'","'START'","'STATEMENT'","'STATISTICS'","'STDIN'","'STDOUT'","'STORAGE'","'STRICT'","'STRIP'","'SYSID'","'SYSTEM'","'TABLES'","'TABLESPACE'","'TEMP'","'TEMPLATE'","'TEMPORARY'","'TEXT'","'TRANSACTION'","'TRIGGER'","'TRUNCATE'","'TRUSTED'","'TYPE'","'TYPES'","'UNBOUNDED'","'UNCOMMITTED'","'UNENCRYPTED'","'UNKNOWN'","'UNLISTEN'","'UNLOGGED'","'UNTIL'","'UPDATE'","'VACUUM'","'VALID'","'VALIDATE'","'VALIDATOR'","'VARYING'","'VERSION'","'VIEW'","'VOLATILE'","'WHITESPACE'","'WITHOUT'","'WORK'","'WRAPPER'","'WRITE'","'XML'","'YEAR'","'YES'","'ZONE'","'BETWEEN'","'BIGINT'","'BIT'","'BOOLEAN'","'CHAR'","'CHARACTER'","'COALESCE'","'DEC'","'DECIMAL'","'EXISTS'","'EXTRACT'","'FLOAT'","'GREATEST'","'INOUT'","'INT'","'INTEGER'","'INTERVAL'","'LEAST'","'NATIONAL'","'NCHAR'","'NONE'","'NULLIF'","'NUMERIC'","'OVERLAY'","'POSITION'","'PRECISION'","'REAL'","'ROW'","'SETOF'","'SMALLINT'","'SUBSTRING'","'TIME'","'TIMESTAMP'","'TREAT'","'TRIM'","'VALUES'","'VARCHAR'","'XMLATTRIBUTES'","'XMLCOMMENT'","'XMLAGG'","'XML_IS_WELL_FORMED'","'XML_IS_WELL_FORMED_DOCUMENT'","'XML_IS_WELL_FORMED_CONTENT'","'XPATH'","'XPATH_EXISTS'","'XMLCONCAT'","'XMLELEMENT'","'XMLEXISTS'","'XMLFOREST'","'XMLPARSE'","'XMLPI'","'XMLROOT'","'XMLSERIALIZE'","'CALL'","'CURRENT'","'ATTACH'","'DETACH'","'EXPRESSION'","'GENERATED'","'LOGGED'","'STORED'","'INCLUDE'","'ROUTINE'","'TRANSFORM'","'IMPORT'","'POLICY'","'METHOD'","'REFERENCING'","'NEW'","'OLD'","'VALUE'","'SUBSCRIPTION'","'PUBLICATION'","'OUT'","'END'","'ROUTINES'","'SCHEMAS'","'PROCEDURES'","'INPUT'","'SUPPORT'","'PARALLEL'","'SQL'","'DEPENDS'","'OVERRIDING'","'CONFLICT'","'SKIP'","'LOCKED'","'TIES'","'ROLLUP'","'CUBE'","'GROUPING'","'SETS'","'TABLESAMPLE'","'ORDINALITY'","'XMLTABLE'","'COLUMNS'","'XMLNAMESPACES'","'ROWTYPE'","'NORMALIZED'","'WITHIN'","'FILTER'","'GROUPS'","'OTHERS'","'NFC'","'NFD'","'NFKC'","'NFKD'","'UESCAPE'","'VIEWS'","'NORMALIZE'","'DUMP'","'PRINT_STRICT_PARAMS'","'VARIABLE_CONFLICT'","'ERROR'","'USE_VARIABLE'","'USE_COLUMN'","'ALIAS'","'CONSTANT'","'PERFORM'","'GET'","'DIAGNOSTICS'","'STACKED'","'ELSIF'","'WHILE'","'REVERSE'","'FOREACH'","'SLICE'","'EXIT'","'RETURN'","'QUERY'","'RAISE'","'SQLSTATE'","'DEBUG'","'LOG'","'INFO'","'NOTICE'","'WARNING'","'EXCEPTION'","'ASSERT'","'LOOP'","'OPEN'","'ABS'","'CBRT'","'CEIL'","'CEILING'","'DEGREES'","'DIV'","'EXP'","'FACTORIAL'","'FLOOR'","'GCD'","'LCM'","'LN'","'LOG10'","'MIN_SCALE'","'MOD'","'PI'","'POWER'","'RADIANS'","'ROUND'","'SCALE'","'SIGN'","'SQRT'","'TRIM_SCALE'","'TRUNC'","'WIDTH_BUCKET'","'RANDOM'","'SETSEED'","'ACOS'","'ACOSD'","'ASIN'","'ASIND'","'ATAN'","'ATAND'","'ATAN2'","'ATAN2D'","'COS'","'COSD'","'COT'","'COTD'","'SIN'","'SIND'","'TAN'","'TAND'","'SINH'","'COSH'","'TANH'","'ASINH'","'ACOSH'","'ATANH'","'BIT_LENGTH'","'CHAR_LENGTH'","'CHARACTER_LENGTH'","'LOWER'","'OCTET_LENGTH'","'UPPER'","'ASCII'","'BTRIM'","'CHR'","'CONCAT'","'CONCAT_WS'","'FORMAT'","'INITCAP'","'LENGTH'","'LPAD'","'LTRIM'","'MD5'","'PARSE_IDENT'","'PG_CLIENT_ENCODING'","'QUOTE_IDENT'","'QUOTE_LITERAL'","'QUOTE_NULLABLE'","'REGEXP_COUNT'","'REGEXP_INSTR'","'REGEXP_LIKE'","'REGEXP_MATCH'","'REGEXP_MATCHES'","'REGEXP_REPLACE'","'REGEXP_SPLIT_TO_ARRAY'","'REGEXP_SPLIT_TO_TABLE'","'REGEXP_SUBSTR'","'REPEAT'","'RPAD'","'RTRIM'","'SPLIT_PART'","'STARTS_WITH'","'STRING_TO_ARRAY'","'STRING_TO_TABLE'","'STRPOS'","'SUBSTR'","'TO_ASCII'","'TO_HEX'","'TRANSLATE'","'UNISTR'","'AGE'","'CLOCK_TIMESTAMP'","'DATE_BIN'","'DATE_PART'","'DATE_TRUNC'","'ISFINITE'","'JUSTIFY_DAYS'","'JUSTIFY_HOURS'","'JUSTIFY_INTERVAL'","'MAKE_DATE'","'MAKE_INTERVAL'","'MAKE_TIME'","'MAKE_TIMESTAMP'","'MAKE_TIMESTAMPTZ'","'NOW'","'STATEMENT_TIMESTAMP'","'TIMEOFDAY'","'TRANSACTION_TIMESTAMP'","'TO_TIMESTAMP'","'TO_CHAR'","'TO_DATE'","'TO_NUMBER'",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'\\'",null,null,null,null,null,null,null,null,null,"'''"],Xi.symbolicNames=[null,"Dollar","OPEN_PAREN","CLOSE_PAREN","OPEN_BRACKET","CLOSE_BRACKET","COMMA","SEMI","COLON","STAR","EQUAL","DOT","PLUS","MINUS","SLASH","CARET","LT","GT","LESS_LESS","GREATER_GREATER","COLON_EQUALS","LESS_EQUALS","EQUALS_GREATER","GREATER_EQUALS","DOT_DOT","NOT_EQUALS","TYPECAST","PERCENT","PARAM","Operator","ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","EXCEPT","FALSE_P","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP_P","HAVING","IN_P","INITIALLY","INTERSECT","INTO","LATERAL_P","LEADING","LIMIT","LOCALTIME","LOCALTIMESTAMP","NOT","NULL_P","OFFSET","ON","ONLY","OR","ORDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SESSION_USER","SOME","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE_P","UNION","UNIQUE","USER","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH","AUTHORIZATION","BINARY","COLLATION","CONCURRENTLY","CROSS","CURRENT_SCHEMA","FREEZE","FULL","ILIKE","INNER_P","IS","ISNULL","JOIN","LEFT","LIKE","NATURAL","NOTNULL","OUTER_P","OVER","OVERLAPS","RIGHT","SIMILAR","VERBOSE","ABORT_P","ABSOLUTE_P","ACCESS","ACTION","ADD_P","ADMIN","AFTER","AGGREGATE","ALSO","ALTER","ALWAYS","ASSERTION","ASSIGNMENT","AT","ATTRIBUTE","BACKWARD","BEFORE","BEGIN_P","BY","CACHE","CALLED","CASCADE","CASCADED","CATALOG","CHAIN","CHARACTERISTICS","CHECKPOINT","CLASS","CLOSE","CLUSTER","COMMENT","COMMENTS","COMMIT","COMMITTED","CONFIGURATION","CONNECTION","CONSTRAINTS","CONTENT_P","CONTINUE_P","CONVERSION_P","COPY","COST","CSV","CURSOR","CYCLE","DATA_P","DATABASE","DAY_P","DEALLOCATE","DECLARE","DEFAULTS","DEFERRED","DEFINER","DELETE_P","DELIMITER","DELIMITERS","DICTIONARY","DISABLE_P","DISCARD","DOCUMENT_P","DOMAIN_P","DOUBLE_P","DROP","EACH","ENABLE_P","ENCODING","ENCRYPTED","ENUM_P","ESCAPE","EVENT","EXCLUDE","EXCLUDING","EXCLUSIVE","EXECUTE","EXPLAIN","EXTENSION","EXTERNAL","FAMILY","FIRST_P","FOLLOWING","FORCE","FORWARD","FUNCTION","FUNCTIONS","GLOBAL","GRANTED","HANDLER","HEADER_P","HOLD","HOUR_P","IDENTITY_P","IF_P","IMMEDIATE","IMMUTABLE","IMPLICIT_P","INCLUDING","INCREMENT","INDEX","INDEXES","INHERIT","INHERITS","INLINE_P","INSENSITIVE","INSERT","INSTEAD","INVOKER","ISOLATION","KEY","LABEL","LANGUAGE","LARGE_P","LAST_P","LEAKPROOF","LEVEL","LISTEN","LOAD","LOCAL","LOCATION","LOCK_P","MAPPING","MATCH","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MINUTE_P","MINVALUE","MODE","MONTH_P","MOVE","NAME_P","NAMES","NEXT","NO","NOTHING","NOTIFY","NOWAIT","NULLS_P","OBJECT_P","OF","OFF","OIDS","OPERATOR","OPTION","OPTIONS","OWNED","OWNER","PARSER","PARTIAL","PARTITION","PASSING","PASSWORD","PLANS","PRECEDING","PREPARE","PREPARED","PRESERVE","PRIOR","PRIVILEGES","PROCEDURAL","PROCEDURE","PROGRAM","QUOTE","RANGE","READ","REASSIGN","RECHECK","RECURSIVE","REF","REFRESH","REINDEX","RELATIVE_P","RELEASE","RENAME","REPEATABLE","REPLACE","REPLICA","RESET","RESTART","RESTRICT","RETURNS","REVOKE","ROLE","ROLLBACK","ROWS","RULE","SAVEPOINT","SCHEMA","SCROLL","SEARCH","SECOND_P","SECURITY","SEQUENCE","SEQUENCES","SERIALIZABLE","SERVER","SESSION","SET","SHARE","SHOW","SIMPLE","SNAPSHOT","STABLE","STANDALONE_P","START","STATEMENT","STATISTICS","STDIN","STDOUT","STORAGE","STRICT_P","STRIP_P","SYSID","SYSTEM_P","TABLES","TABLESPACE","TEMP","TEMPLATE","TEMPORARY","TEXT_P","TRANSACTION","TRIGGER","TRUNCATE","TRUSTED","TYPE_P","TYPES_P","UNBOUNDED","UNCOMMITTED","UNENCRYPTED","UNKNOWN","UNLISTEN","UNLOGGED","UNTIL","UPDATE","VACUUM","VALID","VALIDATE","VALIDATOR","VARYING","VERSION_P","VIEW","VOLATILE","WHITESPACE_P","WITHOUT","WORK","WRAPPER","WRITE","XML_P","YEAR_P","YES_P","ZONE","BETWEEN","BIGINT","BIT","BOOLEAN_P","CHAR_P","CHARACTER","COALESCE","DEC","DECIMAL_P","EXISTS","EXTRACT","FLOAT_P","GREATEST","INOUT","INT_P","INTEGER","INTERVAL","LEAST","NATIONAL","NCHAR","NONE","NULLIF","NUMERIC","OVERLAY","POSITION","PRECISION","REAL","ROW","SETOF","SMALLINT","SUBSTRING","TIME","TIMESTAMP","TREAT","TRIM","VALUES","VARCHAR","XMLATTRIBUTES","XMLCOMMENT","XMLAGG","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_DOCUMENT","XML_IS_WELL_FORMED_CONTENT","XPATH","XPATH_EXISTS","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","CALL","CURRENT_P","ATTACH","DETACH","EXPRESSION","GENERATED","LOGGED","STORED","INCLUDE","ROUTINE","TRANSFORM","IMPORT_P","POLICY","METHOD","REFERENCING","NEW","OLD","VALUE_P","SUBSCRIPTION","PUBLICATION","OUT_P","END_P","ROUTINES","SCHEMAS","PROCEDURES","INPUT_P","SUPPORT","PARALLEL","SQL_P","DEPENDS","OVERRIDING","CONFLICT","SKIP_P","LOCKED","TIES","ROLLUP","CUBE","GROUPING","SETS","TABLESAMPLE","ORDINALITY","XMLTABLE","COLUMNS","XMLNAMESPACES","ROWTYPE","NORMALIZED","WITHIN","FILTER","GROUPS","OTHERS","NFC","NFD","NFKC","NFKD","UESCAPE","VIEWS","NORMALIZE","DUMP","PRINT_STRICT_PARAMS","VARIABLE_CONFLICT","ERROR","USE_VARIABLE","USE_COLUMN","ALIAS","CONSTANT","PERFORM","GET","DIAGNOSTICS","STACKED","ELSIF","WHILE","REVERSE","FOREACH","SLICE","EXIT","RETURN","QUERY","RAISE","SQLSTATE","DEBUG","LOG","INFO","NOTICE","WARNING","EXCEPTION","ASSERT","LOOP","OPEN","ABS","CBRT","CEIL","CEILING","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","ROUND","SCALE","SIGN","SQRT","TRIM_SCALE","TRUNC","WIDTH_BUCKET","RANDOM","SETSEED","ACOS","ACOSD","ASIN","ASIND","ATAN","ATAND","ATAN2","ATAN2D","COS","COSD","COT","COTD","SIN","SIND","TAN","TAND","SINH","COSH","TANH","ASINH","ACOSH","ATANH","BIT_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","LOWER","OCTET_LENGTH","UPPER","ASCII","BTRIM","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LENGTH","LPAD","LTRIM","MD5","PARSE_IDENT","PG_CLIENT_ENCODING","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGEXP_SUBSTR","REPEAT","RPAD","RTRIM","SPLIT_PART","STARTS_WITH","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","TO_ASCII","TO_HEX","TRANSLATE","UNISTR","AGE","CLOCK_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","STATEMENT_TIMESTAMP","TIMEOFDAY","TRANSACTION_TIMESTAMP","TO_TIMESTAMP","TO_CHAR","TO_DATE","TO_NUMBER","Identifier","QuotedIdentifier","UnterminatedQuotedIdentifier","InvalidQuotedIdentifier","InvalidUnterminatedQuotedIdentifier","UnicodeQuotedIdentifier","UnterminatedUnicodeQuotedIdentifier","InvalidUnicodeQuotedIdentifier","InvalidUnterminatedUnicodeQuotedIdentifier","StringConstant","UnterminatedStringConstant","UnicodeEscapeStringConstant","UnterminatedUnicodeEscapeStringConstant","BeginDollarStringConstant","BinaryStringConstant","UnterminatedBinaryStringConstant","InvalidBinaryStringConstant","InvalidUnterminatedBinaryStringConstant","HexadecimalStringConstant","UnterminatedHexadecimalStringConstant","InvalidHexadecimalStringConstant","InvalidUnterminatedHexadecimalStringConstant","Integral","NumericFail","Numeric","PLSQLVARIABLENAME","PLSQLIDENTIFIER","Whitespace","Newline","LineComment","BlockComment","UnterminatedBlockComment","MetaCommand","EndMetaCommand","ErrorCharacter","EscapeStringConstant","UnterminatedEscapeStringConstant","InvalidEscapeStringConstant","InvalidUnterminatedEscapeStringConstant","AfterEscapeStringConstantMode_NotContinued","AfterEscapeStringConstantWithNewlineMode_NotContinued","DollarText","EndDollarStringConstant","AfterEscapeStringConstantWithNewlineMode_Continued"],Xi.ruleNames=["root","plsqlRoot","statements","statement","plsqlConsoleCommand","callStatement","optionalWith","optionalRoleList","alterOptionalRoleList","alterRoleElemement","createRoleElement","createRoleStatement","alterRoleStatement","optionalInDatabase","alterRoleSetStatement","dropRoleStatement","addOrDrop","createSchemaStatement","optionalSchemaName","optionalSchemaList","schemaStatement","variableSetStatement","setStatementEnding","genericSetClause","setStatementMore","variableName","variableList","variableValue","isoLevel","booleanOrString","zoneValue","optionalEncoding","nonReservedWordOrSconst","variableResetStatement","resetClauseRest","genericResetClause","setResetClause","functionSetResetClause","variableShowStatement","setConstraintsStatement","constraintsSetList","constraintsSetMode","checkpointStatement","discardStatement","alterTableStatement","alterTableCommands","partitionCommand","indexPartitionCommand","alterTableCommand","alterColumnDefault","optionalDropBehavior","optionalCollateClause","alterUsing","replicaIdentity","relOptions","optionalRelOptions","relOptionList","relOptionElem","alterIdentityColumnOptionList","alterIdentityColumnOption","partitionBoundSpecification","hashPartitionBoundElement","hashPartitionBound","alterCompositeTypeStatement","alterTypeCommands","alterTypeCommand","closePortalStatement","copyStatement","fromOrTo","copyFileName","copyOptions","copyOptionsItem","copyDelimiter","copyGenericOptionList","copyGenericOptionElem","copyGenericOptionArgument","createStatement","temporaryOption","optionalTableElementList","optionalTypedTableElementList","tableElementList","typedTableElementList","tableElement","typedTableElement","columnDefinition","columnOptions","columnQualifierList","columnConstraint","columnConstraintElement","generatedWhen","constraintAttribute","tableLikeClause","tableLikeOptionList","tableLikeOption","tableConstraint","constraintElement","columnListWithParentheses","columnList","columnElement","optionalColumnListInclude","matchClause","exclusionConstraintList","exclusionConstraintElement","exclusionWhereClause","keyActions","onKeyUpdateClause","onKeyDeleteClause","keyAction","inheritClause","optionalPartitionSpecification","partitionSpecification","partitionElements","partitionElement","optionalTableAccessMethodClause","with","onCommitOption","optionalTablespace","usingIndexTablespace","existingIndex","createStatsStatement","alterStatsStatement","createAsStatement","createAsTarget","withData","createMaterializedViewStatement","createMaterializedViewTarget","refreshMaterializedViewStatement","createSequenceStatement","alterSequenceStatement","optionalParenthesizedSeqOptionsList","sequenceOptionList","sequenceOptionItem","numericOnly","numericOnlyList","createProcedureLangStatement","handlerName","optionalInlineHandler","validatorClause","optionalProcedural","createTablespaceStatement","optionalTablespaceOwner","dropTablespaceStatement","createExtensionStatement","createExtensionOptionItem","alterExtensionStatement","alterExtensionOptionItem","alterExtensionContentsStatement","createForeignDataWrapperStatement","forwardOption","forwardOptions","alterForeignDataWrapperStatement","createGenericOptions","genericOptionList","alterGenericOptions","alterGenericOptionList","alterGenericOptionElem","genericOptionElement","genericOptionName","genericOptionArgument","createForeignServerStatement","optionalType","foreignServerVersion","alterForeignServerStatement","createForeignTableStatement","importForeignSchemaStatement","importQualificationType","importQualification","createUserMappingStatement","authIdentifier","dropUserMappingStatement","alterUserMappingStatement","createPolicyStatement","alterPolicyStatement","rowSecurityOptionalExpression","rowSecurityOptionalWithCheck","rowSecurityOptionalToUser","rowSecurityDefaultPermissive","rowSecurityDefaultForCmd","rowSecurityCommand","createAccessMethodStatement","accessMethodType","createTriggerStatement","triggerActionTime","triggerEvents","triggerOneEvent","triggerReferencing","triggerTransitions","triggerTransition","transitionOldOrNew","transitionRowOrTable","transitionRelName","triggerForSpec","triggerForType","triggerWhen","functionOrProcedure","triggerFunctionArguments","triggerFunctionArgument","optionalConstraintFromTable","constraintAttributeSpecification","constraintAttributeElement","createEventTriggerStatement","eventTriggerWhenList","eventTriggerWhenItem","eventTriggerValueList","alterEventTriggerStatement","enableTrigger","createAssertionStatement","defineStatement","definition","definitionElement","definitionArgument","oldAggregateDefinition","oldAggregateElement","enumValueList","alterEnumStatement","optionalIfNotExists","createOperatorClassStatement","operatorClassItemList","operatorClassItem","optionalOperatorFamily","operatorClassPurpose","createOperatorFamilyStatement","alterOperatorFamilyStatement","operatorClassDropList","operatorClassDrop","dropOperatorClassStatement","dropOperatorFamilyStatement","dropOwnedStatement","reassignOwnedStatement","dropStatement","objectTypeAnyName","objectTypeName","dropTypeName","objectTypeNameOnAnyName","anyNameList","anyName","attributes","typeNameList","truncateStatement","optionalRestartSequences","commentStatement","commentText","securityLabelStatement","optionalProvider","securityLabel","fetchStatement","fetchArguments","fromOrIn","optionalFromOrIn","grantStatement","revokeStatement","privileges","privilegeList","privilege","privilegeTarget","granteeList","grantee","optionalWithGrantOption","grantPrivilegeStatement","revokePrivilegeStatement","optionalGrantAdminOption","optionalGrantedBy","alterDefaultPrivilegesStatement","defultPrivilegeOption","defaultPrivelegeAction","defultPrivilegeTarget","indexStatement","optionalAccessMethodClause","indexParameters","indexElemOptions","indexElement","optionalInclude","optionalCollate","optionalClass","optionalAscOrDesc","optionalNullsOrder","createFunctionStatement","optionalOrReplace","functionArgumentsList","functionWithArgumentTypesList","functionWithArgumentTypes","functionArgumentsWithDefaultsList","functionArgumentWithDefault","functionArgument","argumentClass","parameterName","functionReturn","functionType","aggregateArguments","aggregateArgumentsList","aggregateWithArgumentTypes","aggregateWithArgumentTypesList","createFunctionOptionList","commonFunctionOptionItem","createFunctionOptionItem","functionAs","transformTypeList","optionalDefinition","tableFunctionColumn","tableFunctionColumnList","alterFunctionStatement","removeFunctionStatement","removeAggregateStatement","removeOperatorStatement","operatorArgumentTypes","anyOperator","operatorWithArgumentTypesList","operatorWithArgumentTypes","doStatement","doStatementOptionsList","doStatementOptionItem","createCastStatement","castContext","dropCastStatement","optionalIfExists","createTransformStatement","transformElementList","dropTransformStatement","reindexStatement","reindexTargetType","reindexOptionList","reindexOptionElement","alterTablespaceStatement","renameStatement","optionalColumn","optionalSetData","alterObjectDependsStatement","alterObjectSchemaStatement","alterOperatorStatement","operatorDefinitionList","operatorDefinitionElement","operatorDefinitionArgument","alterTypeStatement","alterOwnerStatement","createPublicationStatement","optionalPublicationForTables","publicationForTables","alterPublicationStatement","createSubscriptionStatement","publicationNameList","publicationNameItem","alterSubscriptionStatement","dropSubscriptionStatement","ruleStatement","ruleActionList","ruleActionMulti","ruleActionStatement","ruleActionStatementOrEmpty","event","optionalInstead","notifyStatement","notifyPayload","listenStatement","unlistenStatement","transactionStatement","optionalTransaction","transactionModeItem","transactionModeList","optionalTransactionChain","viewStatement","optionalCheckOption","loadStatement","createDatabaseStatement","createDatabaseOptionList","createDatabaseOptionItem","createDatabaseOptionName","alterDatabaseStatement","alterDatabaseSetStatement","dropDatabaseStatement","alterCollationStatement","alterSystemStatement","createDomainStatement","alterDomainStatement","alterDomainCommand","optionalAs","altertsDictionaryStatement","altertsConfigurationStatement","createConversionStatement","clusterStatement","clusterIndexSpecification","vacuumStatement","analyzeStatement","vacuumAnalyzeOptionList","analyzeKeyword","vacuumAnalyzeOptionElement","vacuumAnalyzeOptionName","vacuumAnalyzeOptionArgument","optionalVerbose","optionalNameList","vacuumRelation","optionalVacuumRelationList","explainStatement","explainableStatement","explainOptionElement","explainOptionName","explainOptionArgument","prepareStatement","prepareTypeClause","preparableStatement","executeStatement","executeParameterClause","deallocateStatement","insertStatement","insertTarget","insertRest","overrideKind","insertColumnList","insertColumnItem","optionalOnConflict","optionalConflictExpr","returningClause","mergeStatement","mergeInsertClause","mergeUpdateClause","mergeDeleteClause","deleteStatement","usingClause","lockStatement","optionalLock","lockType","optionalNowait","optionalNowaitOrSkip","updateStatement","setClauseList","setClause","setTarget","declareCursorStatement","cursorName","optionalHold","selectStatement","selectWithParenthesis","selectWithoutParenthesis","selectClause","simpleSelectIntersect","simpleSelectStart","simpleSelectPramary","withClause","commonTableExpression","optionalMaterialized","intoClause","optionalTemporaryTableName","optionalTable","allOrDistinct","distinctClause","allClause","optionalSortClause","sortClause","sortByList","sortBy","selectLimit","optionalSelectLimit","limitClause","offsetClause","selectLimitValue","selectOffsetValue","selectFetchFirstValue","anyConst","rowOrRows","firstOrNext","groupClause","groupByList","groupByItem","havingClause","forLockingClause","forLockingItem","forLockingStrength","lockedRelationsList","valuesClause","fromClause","fromList","nonAnsiJoin","tableReference","aliasClause","optionalAliasClause","tableAliasClause","functionAliasClause","joinType","joinQualifier","viewName","relationExpression","relationExpressionList","relationExpressionOptionalAlias","tableSampleClause","functionTable","rowsFromItem","optionalColumnDefinitionList","optionalOrdinality","whereClause","whereOrCurrentClause","optionalTableFunctionElementList","tableFunctionElementList","tableFunctionElement","xmlTable","xmlTableColumnElement","xmlTableColumnOptionList","xmlTableColumnOptionElement","xmlNamespaceList","xmlNamespaceElement","typeName","simpleTypeName","constTypeName","genericType","optionalTypeModifiers","numeric","optionalFloat","bit","constBit","bitWithLength","bitWithoutLength","character","constCharacter","characterChar","optionalVarying","constDateTime","constInterval","optionalTimezone","optionalInterval","intervalSecond","optionalEscape","expression1","expression1Qualifier","expression1LessLess","expression1Or","expression1And","expression1Between","expression1In","expression1UnaryNot","expression1IsNull","expression1IsNot","expression1Compare","expression1Like","expression1qualifierOperator","expression1UnaryQualifierOperator","expression1Add","expressionMultiply","expression1Caret","expression1UnarySign","expression1AtTimeZone","expression1Collate","expression1Typecast","expression2","expression3","plsqlVariableName","functionApplication","functionExpression","functionExpressionWindowless","functionExpressionCommonSubexpr","xmlRootVersion","optionalXmlRootStandalone","xmlAttributes","xmlAttributeList","xmlAttributeElement","documentOrContent","xmlWhitespaceOption","xmlExistsArgument","xmlPassingMech","withinGroupClause","filterClause","windowClause","windowDefinitionList","windowDefinition","overClause","windowSpecification","optionalExistingWindowName","optionalPartitionClause","optionalFrameClause","frameExtent","frameBound","optionalWindowExclusionClause","row","explicitRow","implicitRow","subType","allOperator","mathOperator","operatorQualifier","allOperatorQualifier","subqueryOperator","expressionList","functionArgumentList","functionArgumentExpression","typeList","arrayExpression","arrayExpressionList","extractList","extractArgument","unicodeNormalForm","overlayList","positionList","substrList","trimList","inExpression","caseExpression","whenClauseList","whenClause","caseDefault","caseArg","columnReference","indirectionElement","indirection","optionalIndirection","optionalTargetList","targetList","targetElement","qualifiedNameList","databaseName","databaseNameList","schemaName","schemaNameList","indexName","indexNameList","triggerName","constraintName","sequenceName","sequenceNameList","qualifiedName","nameList","name","attributeName","fileName","functionName","aExpressionConst","xconst","bconst","fconst","iconst","sconst","anySconst","optionalUescape","signedIconst","roleName","roleNameList","columnId","tableAlias","typeFunctionName","nonReservedWord","columnLabel","identifier","plsqlIdentifier","unreservedKeyword","columnNameKeyword","typeFunctionNameKeyword","reservedKeyword","builtinFunctionName","plsqlFunction","computeOptions","computeOption","sharp","optionValue","optionalSemi","plsqlBlock","declareSection","declareStart","declareStatements","labelDeclaration","declareStatement","declareStatement2","optionalScrollable","declareCursorQuery","declareCursorArgs","declareCursorArglist","declareCursorArg","declareIsOrFor","declareAliasItem","declareVarname","declareConst","declareDatatype","declareCollate","declareNotNull","declareDefaultValue","declareDefaultKey","assignOperator","procedureSection","proceduralStatement","statementPerform","statementCall","optionalExpressionList","statementAssign","statementGetDiagram","optionalGetDiagramArea","getDiagramList","getDiagramListItem","getDiagramItem","getDiagramTarget","assignVariable","statementIf","statementElsifs","statementElse","statementCase","optionalExpressionUntilWhen","caseWhenList","caseWhen","optionalCaseElse","statementLoop","statementWhile","statementFor","forControl","optionalForUsingExpression","optionalCursorParameters","optionalReverse","optionalByExpression","forVariable","statementForeachA","foreachSlice","statementExit","exitType","statementReturn","optionalReturnResult","statementRaise","optionalStatementRaiseLevel","optionalRaiseList","optionalRaiseUsing","optionalRaiseUsingElement","statementAssert","optionalStatementAssertMessage","loopBody","statementExecSql","statementDynExecute","optionalExecuteUsing","optionalExecuteUsingList","optionalExecuteInto","statementOpen","optionalOpenBoundListItem","statementFetch","intoTarget","optionalCursorFrom","optionalFetchDirection","statementMove","statementClose","statementNull","statementCommit","statementRollback","plsqlOptionalTransactionChain","statementSet","cursorVariable","exceptionSection","procedureExceptions","procedureException","procedureConditions","procedureCondition","optionalBlockLabel","optionalLoopLabel","optionalLabel","optionalExitCondition","anyIdentifier","plsqlUnreservedKeyword","sqlExpression","expressionUntilThen","expressionUntilSemi","expressionUntilRightbracket","expressionUntilLoop","makeExecuteSqlStatement","optionalReturningClauseInto","roleOrAliases"],Xi._serializedATN=[4,1,679,10614,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,2,495,7,495,2,496,7,496,2,497,7,497,2,498,7,498,2,499,7,499,2,500,7,500,2,501,7,501,2,502,7,502,2,503,7,503,2,504,7,504,2,505,7,505,2,506,7,506,2,507,7,507,2,508,7,508,2,509,7,509,2,510,7,510,2,511,7,511,2,512,7,512,2,513,7,513,2,514,7,514,2,515,7,515,2,516,7,516,2,517,7,517,2,518,7,518,2,519,7,519,2,520,7,520,2,521,7,521,2,522,7,522,2,523,7,523,2,524,7,524,2,525,7,525,2,526,7,526,2,527,7,527,2,528,7,528,2,529,7,529,2,530,7,530,2,531,7,531,2,532,7,532,2,533,7,533,2,534,7,534,2,535,7,535,2,536,7,536,2,537,7,537,2,538,7,538,2,539,7,539,2,540,7,540,2,541,7,541,2,542,7,542,2,543,7,543,2,544,7,544,2,545,7,545,2,546,7,546,2,547,7,547,2,548,7,548,2,549,7,549,2,550,7,550,2,551,7,551,2,552,7,552,2,553,7,553,2,554,7,554,2,555,7,555,2,556,7,556,2,557,7,557,2,558,7,558,2,559,7,559,2,560,7,560,2,561,7,561,2,562,7,562,2,563,7,563,2,564,7,564,2,565,7,565,2,566,7,566,2,567,7,567,2,568,7,568,2,569,7,569,2,570,7,570,2,571,7,571,2,572,7,572,2,573,7,573,2,574,7,574,2,575,7,575,2,576,7,576,2,577,7,577,2,578,7,578,2,579,7,579,2,580,7,580,2,581,7,581,2,582,7,582,2,583,7,583,2,584,7,584,2,585,7,585,2,586,7,586,2,587,7,587,2,588,7,588,2,589,7,589,2,590,7,590,2,591,7,591,2,592,7,592,2,593,7,593,2,594,7,594,2,595,7,595,2,596,7,596,2,597,7,597,2,598,7,598,2,599,7,599,2,600,7,600,2,601,7,601,2,602,7,602,2,603,7,603,2,604,7,604,2,605,7,605,2,606,7,606,2,607,7,607,2,608,7,608,2,609,7,609,2,610,7,610,2,611,7,611,2,612,7,612,2,613,7,613,2,614,7,614,2,615,7,615,2,616,7,616,2,617,7,617,2,618,7,618,2,619,7,619,2,620,7,620,2,621,7,621,2,622,7,622,2,623,7,623,2,624,7,624,2,625,7,625,2,626,7,626,2,627,7,627,2,628,7,628,2,629,7,629,2,630,7,630,2,631,7,631,2,632,7,632,2,633,7,633,2,634,7,634,2,635,7,635,2,636,7,636,2,637,7,637,2,638,7,638,2,639,7,639,2,640,7,640,2,641,7,641,2,642,7,642,2,643,7,643,2,644,7,644,2,645,7,645,2,646,7,646,2,647,7,647,2,648,7,648,2,649,7,649,2,650,7,650,2,651,7,651,2,652,7,652,2,653,7,653,2,654,7,654,2,655,7,655,2,656,7,656,2,657,7,657,2,658,7,658,2,659,7,659,2,660,7,660,2,661,7,661,2,662,7,662,2,663,7,663,2,664,7,664,2,665,7,665,2,666,7,666,2,667,7,667,2,668,7,668,2,669,7,669,2,670,7,670,2,671,7,671,2,672,7,672,2,673,7,673,2,674,7,674,2,675,7,675,2,676,7,676,2,677,7,677,2,678,7,678,2,679,7,679,2,680,7,680,2,681,7,681,2,682,7,682,2,683,7,683,2,684,7,684,2,685,7,685,2,686,7,686,2,687,7,687,2,688,7,688,2,689,7,689,2,690,7,690,2,691,7,691,2,692,7,692,2,693,7,693,2,694,7,694,2,695,7,695,2,696,7,696,2,697,7,697,2,698,7,698,2,699,7,699,2,700,7,700,2,701,7,701,2,702,7,702,2,703,7,703,2,704,7,704,2,705,7,705,2,706,7,706,2,707,7,707,2,708,7,708,2,709,7,709,2,710,7,710,2,711,7,711,2,712,7,712,2,713,7,713,2,714,7,714,2,715,7,715,2,716,7,716,2,717,7,717,2,718,7,718,2,719,7,719,2,720,7,720,2,721,7,721,2,722,7,722,2,723,7,723,2,724,7,724,2,725,7,725,2,726,7,726,2,727,7,727,2,728,7,728,2,729,7,729,2,730,7,730,2,731,7,731,2,732,7,732,2,733,7,733,2,734,7,734,2,735,7,735,2,736,7,736,2,737,7,737,2,738,7,738,2,739,7,739,2,740,7,740,2,741,7,741,2,742,7,742,2,743,7,743,2,744,7,744,2,745,7,745,2,746,7,746,2,747,7,747,2,748,7,748,2,749,7,749,2,750,7,750,2,751,7,751,2,752,7,752,2,753,7,753,1,0,3,0,1510,8,0,1,0,1,0,1,1,1,1,1,2,1,2,3,2,1518,8,2,1,2,1,2,1,2,1,2,3,2,1524,8,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,1648,8,3,1,4,1,4,3,4,1652,8,4,1,5,1,5,1,5,1,6,1,6,3,6,1659,8,6,1,7,5,7,1662,8,7,10,7,12,7,1665,9,7,1,8,5,8,1668,8,8,10,8,12,8,1671,9,8,1,9,1,9,1,9,3,9,1676,8,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,3,9,1692,8,9,1,10,1,10,1,10,1,10,1,10,1,10,3,10,1700,8,10,1,10,1,10,1,10,3,10,1705,8,10,1,11,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,3,13,1723,8,13,1,14,1,14,1,14,3,14,1728,8,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,3,15,1738,8,15,1,15,1,15,1,16,1,16,1,17,1,17,1,17,1,17,1,17,3,17,1749,8,17,1,17,1,17,1,17,1,17,1,17,3,17,1756,8,17,1,17,1,17,1,18,1,18,3,18,1762,8,18,1,19,5,19,1765,8,19,10,19,12,19,1768,9,19,1,20,1,20,1,20,1,20,1,20,1,20,3,20,1776,8,20,1,21,1,21,3,21,1780,8,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,3,22,1792,8,22,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,3,24,1824,8,24,1,25,1,25,1,25,5,25,1829,8,25,10,25,12,25,1832,9,25,1,26,1,26,1,26,5,26,1837,8,26,10,26,12,26,1840,9,26,1,27,1,27,3,27,1844,8,27,1,28,1,28,1,28,1,28,1,28,3,28,1851,8,28,1,29,1,29,1,29,1,29,3,29,1857,8,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,3,30,1874,8,30,1,31,1,31,1,31,3,31,1879,8,31,1,32,1,32,3,32,1883,8,32,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,3,34,1896,8,34,1,35,1,35,3,35,1900,8,35,1,36,1,36,1,36,3,36,1905,8,36,1,37,1,37,1,37,3,37,1910,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,1922,8,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,3,40,1931,8,40,1,41,1,41,1,42,1,42,1,43,1,43,1,43,1,44,1,44,1,44,1,44,3,44,1944,8,44,1,44,1,44,1,44,3,44,1949,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1960,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1971,8,44,1,44,1,44,1,44,3,44,1976,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1987,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1998,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,2008,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,2023,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,2035,8,44,1,44,1,44,1,44,3,44,2040,8,44,1,45,1,45,1,45,5,45,2045,8,45,10,45,12,45,2048,9,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,2058,8,46,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,4,48,2207,8,48,11,48,12,48,2208,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,2218,8,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,2238,8,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,3,48,2305,8,48,1,49,1,49,1,49,1,49,1,49,3,49,2312,8,49,1,50,1,50,1,50,3,50,2317,8,50,1,51,1,51,1,51,3,51,2322,8,51,1,52,1,52,1,52,3,52,2327,8,52,1,53,1,53,1,53,1,53,1,53,1,53,3,53,2335,8,53,1,54,1,54,1,54,1,54,1,55,1,55,1,55,3,55,2344,8,55,1,56,1,56,1,56,5,56,2349,8,56,10,56,12,56,2352,9,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,3,57,2361,8,57,3,57,2363,8,57,1,58,4,58,2366,8,58,11,58,12,58,2367,1,59,1,59,1,59,1,59,3,59,2374,8,59,1,59,1,59,1,59,1,59,3,59,2380,8,59,3,59,2382,8,59,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,1,60,3,60,2410,8,60,1,61,1,61,1,61,1,62,1,62,1,62,5,62,2418,8,62,10,62,12,62,2421,9,62,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,5,64,2431,8,64,10,64,12,64,2434,9,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,3,65,2445,8,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,3,65,2459,8,65,1,66,1,66,1,66,3,66,2464,8,66,1,67,1,67,3,67,2468,8,67,1,67,1,67,1,67,1,67,3,67,2474,8,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,3,67,2488,8,67,1,67,1,67,1,67,1,67,3,67,2494,8,67,1,68,1,68,1,69,1,69,1,69,3,69,2501,8,69,1,70,5,70,2504,8,70,10,70,12,70,2507,9,70,1,70,1,70,1,70,1,70,3,70,2513,8,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,3,71,2550,8,71,1,72,3,72,2553,8,72,1,72,1,72,1,72,3,72,2558,8,72,1,73,1,73,1,73,5,73,2563,8,73,10,73,12,73,2566,9,73,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,5,75,2578,8,75,10,75,12,75,2581,9,75,1,75,1,75,1,75,3,75,2586,8,75,1,76,1,76,1,76,1,76,1,76,1,76,3,76,2594,8,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,1,76,3,76,2627,8,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,77,3,77,2637,8,77,1,78,1,78,3,78,2641,8,78,1,79,1,79,1,79,1,79,1,79,3,79,2648,8,79,1,80,1,80,1,80,5,80,2653,8,80,10,80,12,80,2656,9,80,1,81,1,81,1,81,5,81,2661,8,81,10,81,12,81,2664,9,81,1,82,1,82,1,82,3,82,2669,8,82,1,83,1,83,3,83,2673,8,83,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,3,85,2683,8,85,1,85,1,85,1,86,5,86,2688,8,86,10,86,12,86,2691,9,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,3,87,2701,8,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,3,88,2721,8,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,3,88,2735,8,88,1,88,1,88,1,88,1,88,1,88,1,88,3,88,2743,8,88,1,89,1,89,1,89,3,89,2748,8,89,1,90,1,90,1,90,1,90,1,90,3,90,2755,8,90,1,91,1,91,1,91,1,91,1,92,1,92,5,92,2763,8,92,10,92,12,92,2766,9,92,1,93,1,93,1,94,1,94,1,94,1,94,1,94,3,94,2775,8,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,3,95,2795,8,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,3,95,2810,8,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,3,95,2835,8,95,1,96,1,96,1,96,1,96,1,96,3,96,2842,8,96,1,97,1,97,1,97,5,97,2847,8,97,10,97,12,97,2850,9,97,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,3,99,2860,8,99,1,100,1,100,1,100,3,100,2865,8,100,1,101,1,101,1,101,5,101,2870,8,101,10,101,12,101,2873,9,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,3,102,2883,8,102,1,103,1,103,1,103,1,103,1,103,1,103,3,103,2891,8,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,3,104,2902,8,104,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,3,107,2918,8,107,1,108,1,108,1,108,1,108,1,108,1,108,3,108,2926,8,108,1,109,1,109,3,109,2930,8,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,5,111,2942,8,111,10,111,12,111,2945,9,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,3,112,2961,8,112,1,113,1,113,1,113,3,113,2966,8,113,1,114,1,114,1,114,1,114,1,114,3,114,2973,8,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,3,115,2982,8,115,1,115,3,115,2985,8,115,1,116,1,116,1,116,3,116,2990,8,116,1,117,1,117,1,117,1,117,1,117,3,117,2997,8,117,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,3,119,3008,8,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,3,120,3021,8,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,3,121,3034,8,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,3,123,3052,8,123,1,123,3,123,3055,8,123,1,124,1,124,3,124,3059,8,124,1,124,1,124,1,124,1,124,1,124,3,124,3066,8,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,3,126,3083,8,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,3,127,3094,8,127,1,127,1,127,3,127,3098,8,127,1,128,1,128,1,128,1,128,3,128,3104,8,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,3,129,3114,8,129,1,130,4,130,3117,8,130,11,130,12,130,3118,1,131,1,131,1,131,1,131,1,131,1,131,1,131,3,131,3128,8,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,3,131,3150,8,131,3,131,3152,8,131,1,132,1,132,1,132,1,132,1,132,1,132,3,132,3160,8,132,1,133,1,133,1,133,5,133,3165,8,133,10,133,12,133,3168,9,133,1,134,1,134,1,134,3,134,3173,8,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,3,134,3182,8,134,3,134,3184,8,134,1,135,1,135,3,135,3188,8,135,1,136,1,136,1,136,3,136,3193,8,136,1,137,1,137,1,137,1,137,3,137,3199,8,137,1,138,1,138,3,138,3203,8,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,3,140,3216,8,140,1,141,1,141,1,141,1,141,3,141,3222,8,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,3,142,3231,8,142,1,142,1,142,1,142,5,142,3236,8,142,10,142,12,142,3239,9,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,3,143,3248,8,143,1,144,1,144,1,144,1,144,1,144,5,144,3255,8,144,10,144,12,144,3258,9,144,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,146,3,146,3402,8,146,1,147,1,147,1,147,1,147,1,147,1,147,3,147,3410,8,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,3,148,3422,8,148,1,149,4,149,3425,8,149,11,149,12,149,3426,1,150,1,150,1,150,1,150,1,150,1,150,3,150,3435,8,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,3,150,3446,8,150,1,151,1,151,1,151,1,151,1,151,1,151,3,151,3454,8,151,1,152,1,152,1,152,5,152,3459,8,152,10,152,12,152,3462,9,152,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,5,154,3472,8,154,10,154,12,154,3475,9,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,3,155,3484,8,155,1,156,1,156,1,156,1,157,1,157,1,158,1,158,1,159,1,159,1,159,1,159,1,159,3,159,3498,8,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,159,3,159,3514,8,159,1,159,1,159,1,159,1,159,1,159,1,159,3,159,3522,8,159,1,160,1,160,1,160,3,160,3527,8,160,1,161,1,161,1,161,3,161,3532,8,161,1,162,1,162,1,162,1,162,1,162,1,162,3,162,3540,8,162,3,162,3542,8,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,3,163,3600,8,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,3,165,3617,8,165,1,166,1,166,1,166,1,166,1,166,1,166,3,166,3625,8,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,3,167,3648,8,167,1,168,1,168,3,168,3652,8,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,3,169,3672,8,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173,3,173,3709,8,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,3,174,3718,8,174,1,175,1,175,1,175,3,175,3723,8,175,1,176,1,176,1,176,3,176,3728,8,176,1,177,1,177,1,177,3,177,3733,8,177,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,3,181,3786,8,181,1,182,1,182,1,182,1,182,3,182,3792,8,182,1,183,1,183,1,183,5,183,3797,8,183,10,183,12,183,3800,9,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,3,184,3809,8,184,1,185,1,185,1,185,3,185,3814,8,185,1,186,4,186,3817,8,186,11,186,12,186,3818,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,189,1,189,1,190,1,190,1,191,1,191,3,191,3834,8,191,1,191,1,191,3,191,3838,8,191,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,3,193,3848,8,193,1,194,1,194,1,195,1,195,3,195,3854,8,195,1,195,1,195,5,195,3858,8,195,10,195,12,195,3861,9,195,1,196,1,196,1,196,1,196,3,196,3867,8,196,1,197,1,197,1,197,3,197,3872,8,197,1,198,5,198,3875,8,198,10,198,12,198,3878,9,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,3,199,3891,8,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,3,200,3919,8,200,1,201,1,201,1,201,5,201,3924,8,201,10,201,12,201,3927,9,201,1,202,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,5,203,3938,8,203,10,203,12,203,3941,9,203,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,3,205,3955,8,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,4007,8,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,1,207,3,207,4074,8,207,1,208,1,208,1,208,1,208,5,208,4080,8,208,10,208,12,208,4083,9,208,1,208,1,208,1,209,1,209,1,209,3,209,4090,8,209,1,210,1,210,1,210,1,210,1,210,1,210,3,210,4098,8,210,1,211,1,211,1,211,1,211,5,211,4104,8,211,10,211,12,211,4107,9,211,1,211,1,211,1,212,1,212,1,212,1,212,1,213,1,213,1,213,5,213,4118,8,213,10,213,12,213,4121,9,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,3,214,4160,8,214,1,215,1,215,1,215,1,215,3,215,4166,8,215,1,216,1,216,1,216,1,216,1,216,3,216,4173,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,5,217,4187,8,217,10,217,12,217,4190,9,217,1,218,1,218,1,218,1,218,1,218,3,218,4197,8,218,1,218,1,218,1,218,1,218,1,218,3,218,4204,8,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,3,218,4219,8,218,1,219,1,219,1,219,3,219,4224,8,219,1,220,1,220,1,220,1,220,1,220,1,220,1,220,3,220,4233,8,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,3,222,4260,8,222,1,223,1,223,1,223,5,223,4265,8,223,10,223,12,223,4268,9,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,3,224,4282,8,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,3,225,4302,8,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,3,226,4322,8,226,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,3,229,4341,8,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,3,229,4350,8,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,3,229,4359,8,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,3,229,4368,8,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,3,229,4377,8,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,3,229,4386,8,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,3,229,4397,8,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,3,229,4442,8,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,3,230,4465,8,230,1,231,1,231,1,231,3,231,4470,8,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,3,232,4485,8,232,1,233,1,233,1,234,1,234,1,234,5,234,4492,8,234,10,234,12,234,4495,9,234,1,235,1,235,3,235,4499,8,235,1,236,1,236,4,236,4503,8,236,11,236,12,236,4504,1,237,1,237,1,237,5,237,4510,8,237,10,237,12,237,4513,9,237,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,3,239,4526,8,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,3,240,4625,8,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,3,240,4712,8,240,1,241,1,241,3,241,4716,8,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,3,242,4854,8,242,1,243,1,243,1,243,3,243,4859,8,243,1,244,1,244,3,244,4863,8,244,1,245,1,245,1,245,1,245,3,245,4869,8,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,3,246,4937,8,246,1,247,1,247,1,248,1,248,3,248,4943,8,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,3,250,4972,8,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,3,251,4989,8,251,1,252,1,252,1,252,5,252,4994,8,252,10,252,12,252,4997,9,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,3,253,5008,8,253,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,3,254,5048,8,254,1,255,1,255,1,255,5,255,5053,8,255,10,255,12,255,5056,9,255,1,256,1,256,1,256,3,256,5061,8,256,1,257,1,257,1,257,1,257,3,257,5067,8,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,3,259,5093,8,259,1,260,1,260,1,260,1,260,3,260,5099,8,260,1,261,1,261,1,261,1,261,3,261,5105,8,261,1,262,1,262,1,262,1,262,5,262,5111,8,262,10,262,12,262,5114,9,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,3,263,5125,8,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,3,264,5154,8,264,1,265,1,265,1,266,1,266,3,266,5160,8,266,1,266,1,266,3,266,5164,8,266,1,266,3,266,5167,8,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,3,266,5182,8,266,1,266,1,266,3,266,5186,8,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,3,266,5203,8,266,1,267,1,267,1,267,3,267,5208,8,267,1,268,1,268,1,268,5,268,5213,8,268,10,268,12,268,5216,9,268,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,3,269,5229,8,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,3,270,5242,8,270,1,271,1,271,1,271,1,271,1,271,5,271,5249,8,271,10,271,12,271,5252,9,271,1,271,1,271,1,271,3,271,5257,8,271,1,272,1,272,1,272,3,272,5262,8,272,1,273,1,273,3,273,5266,8,273,1,274,1,274,1,274,3,274,5271,8,274,1,275,1,275,1,275,1,275,1,275,3,275,5278,8,275,1,276,1,276,1,276,1,276,1,276,1,276,3,276,5286,8,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,3,276,5296,8,276,3,276,5298,8,276,1,276,1,276,1,277,1,277,1,277,3,277,5305,8,277,1,278,1,278,1,278,5,278,5310,8,278,10,278,12,278,5313,9,278,1,279,1,279,1,279,5,279,5318,8,279,10,279,12,279,5321,9,279,1,280,1,280,1,280,3,280,5326,8,280,1,280,1,280,1,280,1,280,1,280,3,280,5333,8,280,3,280,5335,8,280,1,281,1,281,1,281,5,281,5340,8,281,10,281,12,281,5343,9,281,1,282,1,282,1,282,3,282,5348,8,282,1,283,1,283,3,283,5352,8,283,1,283,1,283,1,283,1,283,3,283,5358,8,283,1,283,1,283,1,283,3,283,5363,8,283,1,284,1,284,3,284,5367,8,284,1,284,1,284,1,284,3,284,5372,8,284,1,285,1,285,1,285,1,285,3,285,5378,8,285,1,286,1,286,1,287,1,287,3,287,5384,8,287,1,287,1,287,1,287,1,287,3,287,5390,8,287,1,287,1,287,1,287,1,287,3,287,5396,8,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,3,288,5409,8,288,1,288,1,288,1,289,1,289,1,289,5,289,5416,8,289,10,289,12,289,5419,9,289,1,290,1,290,1,290,1,291,1,291,1,291,5,291,5427,8,291,10,291,12,291,5430,9,291,1,292,4,292,5433,8,292,11,292,12,292,5434,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,3,293,5474,8,293,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,294,3,294,5484,8,294,1,295,1,295,1,295,1,295,1,295,3,295,5491,8,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,5,296,5500,8,296,10,296,12,296,5503,9,296,1,297,1,297,1,297,3,297,5508,8,297,1,298,1,298,1,298,1,299,1,299,1,299,5,299,5516,8,299,10,299,12,299,5519,9,299,1,300,1,300,1,300,1,300,4,300,5525,8,300,11,300,12,300,5526,1,300,3,300,5530,8,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,3,301,5568,8,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,3,302,5582,8,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,3,303,5596,8,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,3,304,5620,8,304,1,305,1,305,1,305,5,305,5625,8,305,10,305,12,305,5628,9,305,1,305,1,305,1,306,1,306,1,306,5,306,5635,8,306,10,306,12,306,5638,9,306,1,307,1,307,1,307,1,308,1,308,1,308,1,309,4,309,5647,8,309,11,309,12,309,5648,1,310,1,310,1,310,3,310,5654,8,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,3,311,5690,8,311,1,312,1,312,1,312,1,312,1,312,3,312,5697,8,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,3,314,5712,8,314,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,3,316,5759,8,316,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,3,318,5775,8,318,1,318,1,318,3,318,5779,8,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,3,318,5788,8,318,1,318,1,318,3,318,5792,8,318,1,318,1,318,1,318,1,318,1,318,1,318,3,318,5800,8,318,1,318,1,318,3,318,5804,8,318,1,318,1,318,1,318,1,318,1,318,1,318,3,318,5812,8,318,1,318,1,318,3,318,5816,8,318,1,318,1,318,1,318,1,318,1,318,1,318,3,318,5824,8,318,1,318,1,318,3,318,5828,8,318,1,318,3,318,5831,8,318,1,319,1,319,1,320,1,320,1,320,5,320,5838,8,320,10,320,12,320,5841,9,320,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,3,322,5857,8,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,3,323,6029,8,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,3,323,6074,8,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,3,323,6165,8,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,3,323,6296,8,323,1,324,1,324,3,324,6300,8,324,1,325,1,325,1,325,3,325,6305,8,325,1,326,1,326,1,326,1,326,3,326,6311,8,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,3,326,6322,8,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,3,326,6333,8,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,3,326,6346,8,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,3,326,6358,8,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,3,326,6369,8,326,1,326,1,326,1,326,1,326,1,326,3,326,6376,8,326,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,3,327,6524,8,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,1,327,3,327,6590,8,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,5,329,6603,8,329,10,329,12,329,6606,9,329,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,3,330,6616,8,330,1,331,1,331,1,331,1,331,1,331,3,331,6623,8,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,3,333,6816,8,333,1,334,1,334,1,334,1,334,1,334,1,334,1,335,1,335,3,335,6826,8,335,1,336,1,336,1,336,1,336,1,336,1,336,3,336,6834,8,336,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,1,337,3,337,6863,8,337,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,5,339,6877,8,339,10,339,12,339,6880,9,339,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,3,341,6921,8,341,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,3,342,6935,8,342,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,3,344,6957,8,344,1,345,1,345,1,345,5,345,6962,8,345,10,345,12,345,6965,9,345,1,346,1,346,1,346,1,346,1,346,3,346,6972,8,346,1,347,1,347,3,347,6976,8,347,1,348,1,348,1,349,1,349,1,349,3,349,6983,8,349,1,350,1,350,1,350,1,350,1,351,1,351,1,351,3,351,6992,8,351,1,352,1,352,1,352,1,353,1,353,1,353,1,353,3,353,7001,8,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,3,354,7010,8,354,1,354,1,354,1,354,3,354,7015,8,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,3,354,7056,8,354,1,355,1,355,1,355,3,355,7061,8,355,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,3,356,7073,8,356,1,357,1,357,3,357,7077,8,357,1,357,5,357,7080,8,357,10,357,12,357,7083,9,357,1,358,1,358,3,358,7087,8,358,1,358,1,358,3,358,7091,8,358,1,359,1,359,1,359,3,359,7096,8,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,3,359,7112,8,359,1,359,1,359,1,359,1,359,1,360,1,360,3,360,7120,8,360,1,360,1,360,1,360,3,360,7125,8,360,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,363,4,363,7137,8,363,11,363,12,363,7138,1,363,3,363,7142,8,363,1,364,1,364,3,364,7146,8,364,1,364,1,364,1,364,3,364,7151,8,364,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,3,365,7161,8,365,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,3,366,7172,8,366,1,367,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,3,368,7183,8,368,1,368,1,368,1,368,1,368,1,368,1,368,5,368,7191,8,368,10,368,12,368,7194,9,368,1,368,1,368,3,368,7198,8,368,1,369,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,3,373,7236,8,373,1,373,1,373,1,373,1,373,1,373,1,373,3,373,7244,8,373,1,374,1,374,3,374,7248,8,374,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,3,376,7329,8,376,1,377,1,377,3,377,7333,8,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,3,378,7357,8,378,1,379,1,379,1,379,3,379,7362,8,379,1,380,1,380,3,380,7366,8,380,1,380,3,380,7369,8,380,1,380,1,380,3,380,7373,8,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,3,380,7383,8,380,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,7395,8,381,1,382,1,382,1,382,5,382,7400,8,382,10,382,12,382,7403,9,382,1,383,1,383,1,384,1,384,1,384,1,385,1,385,3,385,7412,8,385,1,386,1,386,1,386,3,386,7417,8,386,1,387,1,387,3,387,7421,8,387,1,388,1,388,1,388,1,388,1,388,3,388,7428,8,388,1,389,1,389,1,389,1,390,1,390,1,390,5,390,7436,8,390,10,390,12,390,7439,9,390,1,390,3,390,7442,8,390,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,5,391,7459,8,391,10,391,12,391,7462,9,391,1,391,1,391,1,391,3,391,7467,8,391,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,3,392,7478,8,392,1,393,1,393,1,393,1,394,1,394,3,394,7485,8,394,1,395,1,395,1,395,3,395,7490,8,395,1,396,1,396,1,396,1,396,1,396,1,396,1,397,1,397,1,397,1,397,1,397,3,397,7503,8,397,1,398,1,398,1,398,1,398,3,398,7509,8,398,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,3,399,7538,8,399,1,400,1,400,1,400,1,400,1,400,3,400,7545,8,400,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,3,401,7557,8,401,1,402,3,402,7560,8,402,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,403,1,403,1,403,3,403,7572,8,403,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,3,404,7587,8,404,1,404,1,404,1,404,1,404,3,404,7593,8,404,1,405,1,405,1,406,1,406,1,406,5,406,7600,8,406,10,406,12,406,7603,9,406,1,407,1,407,1,407,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,408,3,408,7618,8,408,1,408,3,408,7621,8,408,1,409,1,409,1,409,1,409,1,409,1,409,1,409,1,409,1,409,3,409,7632,8,409,1,410,1,410,1,410,3,410,7637,8,410,1,411,1,411,3,411,7641,8,411,1,411,1,411,3,411,7645,8,411,1,411,1,411,1,411,3,411,7650,8,411,1,411,3,411,7653,8,411,1,411,1,411,1,411,1,411,3,411,7659,8,411,1,411,1,411,3,411,7663,8,411,3,411,7665,8,411,1,411,3,411,7668,8,411,1,412,1,412,1,412,1,412,1,412,3,412,7675,8,412,1,412,3,412,7678,8,412,1,412,1,412,1,412,1,412,1,412,3,412,7685,8,412,1,412,1,412,1,413,1,413,1,413,1,413,3,413,7693,8,413,1,413,3,413,7696,8,413,1,413,1,413,1,413,1,413,1,414,1,414,1,414,3,414,7705,8,414,1,414,1,414,1,415,3,415,7710,8,415,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,416,1,416,1,416,3,416,7722,8,416,1,417,1,417,1,417,1,417,1,417,1,417,1,418,1,418,1,418,1,418,1,418,3,418,7735,8,418,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,419,3,419,7746,8,419,1,419,3,419,7749,8,419,1,420,1,420,3,420,7753,8,420,1,421,1,421,1,421,1,421,3,421,7759,8,421,1,422,3,422,7762,8,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,423,1,423,1,423,5,423,7775,8,423,10,423,12,423,7778,9,423,1,424,1,424,1,424,1,424,1,424,1,424,1,424,1,424,5,424,7788,8,424,10,424,12,424,7791,9,424,1,424,1,424,1,424,1,424,3,424,7797,8,424,1,425,1,425,1,425,1,426,1,426,1,426,1,426,1,426,1,426,1,426,5,426,7809,8,426,10,426,12,426,7812,9,426,1,426,1,426,1,426,1,426,1,426,1,427,1,427,1,428,1,428,1,428,1,428,1,428,3,428,7826,8,428,1,429,1,429,3,429,7830,8,429,1,430,1,430,1,430,1,430,1,430,1,430,1,430,1,430,3,430,7840,8,430,1,431,1,431,1,431,1,431,1,431,1,431,1,431,3,431,7849,8,431,3,431,7851,8,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,1,431,3,431,7861,8,431,3,431,7863,8,431,3,431,7865,8,431,1,432,1,432,1,432,1,432,1,432,5,432,7872,8,432,10,432,12,432,7875,9,432,1,433,1,433,1,433,1,433,1,433,5,433,7882,8,433,10,433,12,433,7885,9,433,1,434,1,434,3,434,7889,8,434,1,434,1,434,1,434,3,434,7894,8,434,1,434,1,434,1,434,3,434,7899,8,434,1,434,3,434,7902,8,434,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,1,435,3,435,7916,8,435,1,436,1,436,3,436,7920,8,436,1,436,1,436,1,436,5,436,7925,8,436,10,436,12,436,7928,9,436,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,438,1,438,1,438,1,438,3,438,7942,8,438,1,439,1,439,3,439,7946,8,439,1,439,1,439,3,439,7950,8,439,1,440,3,440,7953,8,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,3,440,7966,8,440,1,441,1,441,3,441,7970,8,441,1,442,1,442,1,442,3,442,7975,8,442,1,443,1,443,1,443,1,443,1,443,1,443,3,443,7983,8,443,1,444,1,444,1,445,1,445,3,445,7989,8,445,1,446,1,446,1,446,1,446,1,447,1,447,1,447,5,447,7998,8,447,10,447,12,447,8001,9,447,1,448,1,448,1,448,1,448,3,448,8007,8,448,1,448,1,448,1,449,1,449,3,449,8013,8,449,1,449,1,449,3,449,8017,8,449,3,449,8019,8,449,1,450,1,450,3,450,8023,8,450,1,451,1,451,1,451,1,451,3,451,8029,8,451,1,451,1,451,1,451,1,451,1,451,1,451,1,451,3,451,8038,8,451,1,451,1,451,1,451,1,451,3,451,8044,8,451,3,451,8046,8,451,3,451,8048,8,451,1,452,1,452,1,452,1,452,1,452,3,452,8055,8,452,1,453,1,453,3,453,8059,8,453,1,454,1,454,1,455,1,455,1,455,1,455,1,455,3,455,8068,8,455,1,456,1,456,3,456,8072,8,456,1,457,1,457,1,458,1,458,1,459,1,459,1,459,1,459,3,459,8082,8,459,1,460,1,460,1,460,5,460,8087,8,460,10,460,12,460,8090,9,460,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,3,461,8111,8,461,1,462,1,462,1,462,3,462,8116,8,462,1,463,4,463,8119,8,463,11,463,12,463,8120,1,463,1,463,1,463,3,463,8126,8,463,1,464,1,464,1,464,1,464,1,465,1,465,1,465,3,465,8135,8,465,1,465,1,465,3,465,8139,8,465,1,465,3,465,8142,8,465,1,466,1,466,1,466,3,466,8147,8,466,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,5,467,8158,8,467,10,467,12,467,8161,9,467,1,468,1,468,1,468,3,468,8166,8,468,1,469,1,469,1,469,1,469,5,469,8172,8,469,10,469,12,469,8175,9,469,3,469,8177,8,469,1,470,1,470,1,470,4,470,8182,8,470,11,470,12,470,8183,1,471,1,471,1,471,3,471,8189,8,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,3,471,8210,8,471,1,471,1,471,1,471,1,471,1,471,1,471,1,471,3,471,8219,8,471,1,471,1,471,1,471,3,471,8224,8,471,1,471,1,471,1,471,1,471,3,471,8230,8,471,1,471,1,471,1,471,3,471,8235,8,471,1,471,1,471,1,471,1,471,1,471,3,471,8242,8,471,1,471,1,471,1,471,3,471,8247,8,471,1,471,1,471,1,471,1,471,5,471,8253,8,471,10,471,12,471,8256,9,471,1,472,3,472,8259,8,472,1,472,1,472,1,472,1,472,1,472,3,472,8266,8,472,1,473,1,473,3,473,8270,8,473,1,474,3,474,8273,8,474,1,474,1,474,1,474,1,474,1,474,3,474,8280,8,474,1,475,1,475,1,475,3,475,8285,8,475,1,475,3,475,8288,8,475,1,475,1,475,1,475,1,475,1,475,3,475,8295,8,475,1,476,1,476,3,476,8299,8,476,1,477,1,477,1,477,1,477,1,477,1,477,1,477,3,477,8308,8,477,1,478,1,478,1,479,1,479,3,479,8314,8,479,1,479,1,479,1,479,1,479,1,479,1,479,3,479,8322,8,479,3,479,8324,8,479,1,480,1,480,1,480,5,480,8329,8,480,10,480,12,480,8332,9,480,1,481,1,481,3,481,8336,8,481,1,481,3,481,8339,8,481,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,5,483,8360,8,483,10,483,12,483,8363,9,483,1,483,1,483,1,483,3,483,8368,8,483,1,484,1,484,1,484,1,485,1,485,1,485,1,485,1,485,1,485,3,485,8379,8,485,1,486,1,486,1,486,3,486,8384,8,486,1,487,1,487,1,487,3,487,8389,8,487,1,488,1,488,1,488,1,488,1,488,3,488,8396,8,488,1,488,3,488,8399,8,488,1,489,1,489,3,489,8403,8,489,1,490,1,490,1,490,5,490,8408,8,490,10,490,12,490,8411,9,490,1,491,1,491,1,491,1,491,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,5,492,8425,8,492,10,492,12,492,8428,9,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,5,492,8441,8,492,10,492,12,492,8444,9,492,3,492,8446,8,492,1,492,1,492,1,493,1,493,1,493,3,493,8453,8,493,1,493,1,493,3,493,8457,8,493,1,494,4,494,8460,8,494,11,494,12,494,8461,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,3,495,8472,8,495,1,496,1,496,1,496,5,496,8477,8,496,10,496,12,496,8480,9,496,1,497,1,497,1,497,1,497,1,497,1,497,3,497,8488,8,497,1,498,3,498,8491,8,498,1,498,1,498,1,498,3,498,8496,8,498,1,498,5,498,8499,8,498,10,498,12,498,8502,9,498,1,498,1,498,1,498,1,498,1,498,3,498,8509,8,498,3,498,8511,8,498,1,498,1,498,1,498,1,498,3,498,8517,8,498,1,499,1,499,1,499,1,499,1,499,1,499,1,499,1,499,1,499,1,499,1,499,3,499,8530,8,499,3,499,8532,8,499,1,500,1,500,1,500,1,500,3,500,8538,8,500,1,501,1,501,1,501,1,501,3,501,8544,8,501,1,501,3,501,8547,8,501,1,501,1,501,1,502,1,502,1,502,1,502,1,502,3,502,8556,8,502,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,503,3,503,8574,8,503,1,504,1,504,1,504,1,504,1,504,3,504,8581,8,504,1,505,1,505,3,505,8585,8,505,1,506,1,506,3,506,8589,8,506,1,507,1,507,1,507,1,507,1,507,1,507,1,508,1,508,1,508,1,509,1,509,1,509,1,509,1,509,3,509,8605,8,509,1,510,1,510,1,510,1,510,1,510,3,510,8612,8,510,1,511,1,511,1,511,1,511,1,511,1,511,3,511,8620,8,511,1,512,1,512,3,512,8624,8,512,1,513,1,513,1,513,1,513,1,513,3,513,8631,8,513,1,513,1,513,1,514,1,514,1,515,1,515,1,515,1,515,1,515,1,515,1,515,3,515,8644,8,515,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,1,516,3,516,8660,8,516,1,516,1,516,1,516,1,516,3,516,8666,8,516,1,516,1,516,1,516,1,516,3,516,8672,8,516,1,517,1,517,1,517,1,517,1,517,3,517,8679,8,517,1,518,1,518,1,518,3,518,8684,8,518,1,519,1,519,1,520,1,520,3,520,8690,8,520,1,521,1,521,1,521,5,521,8695,8,521,10,521,12,521,8698,9,521,1,522,1,522,1,522,5,522,8703,8,522,10,522,12,522,8706,9,522,1,523,1,523,1,523,5,523,8711,8,523,10,523,12,523,8714,9,523,1,524,1,524,3,524,8718,8,524,1,524,1,524,3,524,8722,8,524,1,524,1,524,1,524,1,524,3,524,8728,8,524,1,525,1,525,3,525,8732,8,525,1,525,1,525,3,525,8736,8,525,1,526,3,526,8739,8,526,1,526,1,526,1,527,1,527,3,527,8745,8,527,1,528,1,528,1,528,3,528,8750,8,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,1,528,3,528,8766,8,528,1,528,3,528,8769,8,528,3,528,8771,8,528,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,1,529,3,529,8783,8,529,3,529,8785,8,529,1,530,1,530,3,530,8789,8,530,1,530,1,530,1,530,1,530,3,530,8795,8,530,1,530,1,530,1,530,3,530,8800,8,530,1,531,1,531,1,531,1,531,5,531,8806,8,531,10,531,12,531,8809,9,531,1,532,3,532,8812,8,532,1,532,1,532,1,533,1,533,1,533,5,533,8819,8,533,10,533,12,533,8822,9,533,1,534,1,534,1,534,5,534,8827,8,534,10,534,12,534,8830,9,534,1,535,1,535,1,535,3,535,8835,8,535,1,536,3,536,8838,8,536,1,536,1,536,1,537,1,537,1,537,1,537,1,537,3,537,8847,8,537,1,538,1,538,1,538,3,538,8852,8,538,1,539,1,539,1,539,5,539,8857,8,539,10,539,12,539,8860,9,539,1,540,1,540,1,540,1,540,1,540,1,540,1,540,3,540,8869,8,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,3,540,8895,8,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,3,540,8906,8,540,5,540,8908,8,540,10,540,12,540,8911,9,540,1,541,1,541,1,541,1,541,1,541,3,541,8918,8,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,1,541,3,541,8941,8,541,1,541,1,541,1,541,1,541,1,541,1,541,3,541,8949,8,541,1,542,1,542,1,543,1,543,1,543,1,543,1,543,1,543,3,543,8959,8,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,1,543,3,543,8973,8,543,1,543,1,543,1,544,1,544,1,544,1,544,1,544,1,544,3,544,8983,8,544,1,545,1,545,3,545,8987,8,545,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,3,546,9001,8,546,1,546,1,546,1,546,1,546,1,546,3,546,9008,8,546,1,546,1,546,1,546,1,546,1,546,3,546,9015,8,546,1,546,1,546,1,546,1,546,1,546,3,546,9022,8,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,3,546,9047,8,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,3,546,9076,8,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,3,546,9115,8,546,3,546,9117,8,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,3,546,9145,8,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,546,3,546,9166,8,546,1,547,1,547,1,547,1,547,1,547,3,547,9173,8,547,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,3,548,9186,8,548,1,549,1,549,1,549,1,549,1,549,1,550,1,550,1,550,5,550,9196,8,550,10,550,12,550,9199,9,550,1,551,1,551,1,551,3,551,9204,8,551,1,552,1,552,1,553,1,553,1,553,1,553,1,553,3,553,9213,8,553,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,3,554,9230,8,554,1,555,1,555,1,555,1,556,1,556,1,556,1,556,1,556,1,556,1,556,3,556,9242,8,556,1,557,1,557,1,557,1,557,1,557,1,557,1,557,3,557,9251,8,557,1,558,1,558,1,558,3,558,9256,8,558,1,559,1,559,1,559,5,559,9261,8,559,10,559,12,559,9264,9,559,1,560,1,560,1,560,1,560,1,561,1,561,1,561,3,561,9273,8,561,1,561,3,561,9276,8,561,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,563,1,563,3,563,9287,8,563,1,564,1,564,1,564,1,564,3,564,9293,8,564,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,1,565,3,565,9308,8,565,1,566,1,566,1,566,1,566,1,566,1,566,3,566,9316,8,566,1,567,1,567,1,567,1,567,1,567,1,567,1,567,3,567,9325,8,567,1,568,1,568,1,568,1,568,1,568,1,568,1,568,3,568,9334,8,568,1,568,3,568,9337,8,568,1,569,1,569,1,569,3,569,9342,8,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,3,569,9351,8,569,1,570,1,570,1,570,3,570,9356,8,570,1,570,1,570,1,571,1,571,1,571,1,571,1,571,1,571,1,572,1,572,1,573,1,573,3,573,9370,8,573,1,574,1,574,1,575,1,575,1,575,1,575,1,575,1,575,3,575,9380,8,575,1,576,1,576,1,576,1,576,1,576,1,576,3,576,9388,8,576,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,577,3,577,9402,8,577,1,578,1,578,1,578,5,578,9407,8,578,10,578,12,578,9410,9,578,1,579,1,579,1,579,5,579,9415,8,579,10,579,12,579,9418,9,579,1,580,1,580,1,580,1,580,1,580,3,580,9425,8,580,1,581,1,581,1,581,5,581,9430,8,581,10,581,12,581,9433,9,581,1,582,1,582,1,582,3,582,9438,8,582,1,582,1,582,1,583,1,583,1,583,5,583,9445,8,583,10,583,12,583,9448,9,583,1,584,1,584,1,584,1,584,1,584,3,584,9455,8,584,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,3,585,9465,8,585,1,586,1,586,1,587,1,587,1,587,1,587,1,587,1,587,1,587,3,587,9476,8,587,1,588,1,588,1,588,1,588,1,588,3,588,9483,8,588,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,3,589,9512,8,589,1,590,1,590,1,590,1,590,1,590,1,590,1,590,3,590,9521,8,590,1,591,1,591,1,591,1,591,1,591,3,591,9528,8,591,1,592,1,592,1,592,1,592,1,592,1,592,1,593,4,593,9537,8,593,11,593,12,593,9538,1,594,1,594,1,594,1,594,1,594,1,595,1,595,1,595,3,595,9549,8,595,1,596,1,596,3,596,9553,8,596,1,597,1,597,3,597,9557,8,597,1,598,1,598,1,598,3,598,9562,8,598,1,598,1,598,1,598,3,598,9567,8,598,1,598,1,598,3,598,9571,8,598,3,598,9573,8,598,1,598,3,598,9576,8,598,1,599,4,599,9579,8,599,11,599,12,599,9580,1,600,5,600,9584,8,600,10,600,12,600,9587,9,600,1,601,1,601,3,601,9591,8,601,1,602,1,602,1,602,5,602,9596,8,602,10,602,12,602,9599,9,602,1,603,1,603,1,603,1,603,1,603,1,603,3,603,9607,8,603,3,603,9609,8,603,1,604,1,604,1,604,5,604,9614,8,604,10,604,12,604,9617,9,604,1,605,1,605,1,606,1,606,1,606,5,606,9624,8,606,10,606,12,606,9627,9,606,1,607,1,607,1,608,1,608,1,608,5,608,9634,8,608,10,608,12,608,9637,9,608,1,609,1,609,1,610,1,610,1,610,5,610,9644,8,610,10,610,12,610,9647,9,610,1,611,1,611,1,612,1,612,1,613,1,613,1,614,1,614,1,614,5,614,9658,8,614,10,614,12,614,9661,9,614,1,615,1,615,3,615,9665,8,615,1,616,1,616,1,616,5,616,9670,8,616,10,616,12,616,9673,9,616,1,617,1,617,1,618,1,618,1,619,1,619,1,620,1,620,1,620,1,620,1,620,1,620,1,620,3,620,9688,8,620,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,3,621,9703,8,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,3,621,9717,8,621,1,621,1,621,1,621,3,621,9722,8,621,1,622,1,622,1,623,1,623,1,624,1,624,1,625,1,625,1,626,1,626,1,626,1,627,1,627,1,627,1,627,5,627,9739,8,627,10,627,12,627,9742,9,627,1,627,1,627,3,627,9746,8,627,1,628,1,628,1,628,3,628,9751,8,628,1,629,1,629,1,629,1,629,1,629,3,629,9758,8,629,1,630,1,630,1,630,3,630,9763,8,630,1,631,1,631,1,631,5,631,9768,8,631,10,631,12,631,9771,9,631,1,632,1,632,1,632,1,632,1,632,1,632,3,632,9779,8,632,1,633,1,633,1,633,1,633,3,633,9785,8,633,1,634,1,634,1,634,1,634,3,634,9791,8,634,1,635,1,635,1,635,1,635,3,635,9797,8,635,1,636,1,636,1,636,1,636,1,636,1,636,3,636,9805,8,636,1,637,1,637,1,637,1,637,1,637,1,637,1,637,3,637,9814,8,637,1,638,1,638,1,639,1,639,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,3,640,9872,8,640,1,641,1,641,1,642,1,642,1,643,1,643,1,644,1,644,1,644,1,644,1,645,5,645,9885,8,645,10,645,12,645,9888,9,645,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,3,646,9910,8,646,1,647,1,647,1,648,1,648,1,648,1,648,3,648,9918,8,648,1,649,1,649,3,649,9922,8,649,1,650,1,650,1,650,1,650,1,650,1,650,1,650,1,651,1,651,1,651,3,651,9934,8,651,3,651,9936,8,651,1,652,1,652,1,653,4,653,9941,8,653,11,653,12,653,9942,1,654,1,654,1,654,1,654,1,655,1,655,1,655,3,655,9952,8,655,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,3,656,9970,8,656,1,656,1,656,1,657,1,657,1,657,1,657,3,657,9978,8,657,1,658,1,658,1,659,1,659,1,659,1,659,1,659,3,659,9987,8,659,1,660,1,660,1,660,5,660,9992,8,660,10,660,12,660,9995,9,660,1,661,1,661,1,661,1,662,1,662,1,663,1,663,3,663,10004,8,663,1,664,1,664,1,665,1,665,3,665,10010,8,665,1,666,1,666,1,667,1,667,1,667,3,667,10017,8,667,1,668,1,668,1,668,3,668,10022,8,668,1,669,1,669,1,669,1,669,3,669,10028,8,669,1,670,1,670,3,670,10032,8,670,1,671,1,671,1,672,5,672,10037,8,672,10,672,12,672,10040,9,672,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,1,673,3,673,10069,8,673,1,674,1,674,1,674,1,674,1,675,1,675,1,675,1,675,1,675,1,675,1,675,1,675,1,675,1,675,1,675,1,675,1,675,1,675,3,675,10089,8,675,1,676,1,676,3,676,10093,8,676,1,677,1,677,1,677,1,677,1,677,1,678,1,678,1,678,1,678,1,678,1,678,1,679,1,679,1,679,3,679,10109,8,679,1,680,1,680,1,680,5,680,10114,8,680,10,680,12,680,10117,9,680,1,681,1,681,1,681,1,681,1,682,1,682,1,683,1,683,1,684,1,684,3,684,10129,8,684,1,684,1,684,1,684,1,684,5,684,10135,8,684,10,684,12,684,10138,9,684,1,685,1,685,1,685,1,685,1,685,1,685,1,685,1,685,1,685,1,685,1,686,1,686,1,686,1,686,1,686,5,686,10155,8,686,10,686,12,686,10158,9,686,1,687,1,687,1,687,3,687,10163,8,687,1,688,1,688,1,688,1,688,1,688,1,688,1,688,1,688,1,689,1,689,3,689,10175,8,689,1,690,4,690,10178,8,690,11,690,12,690,10179,1,691,1,691,1,691,1,691,1,691,1,692,1,692,1,692,3,692,10190,8,692,1,693,1,693,1,693,1,694,1,694,1,694,1,694,1,694,1,695,1,695,1,695,1,695,1,695,1,696,1,696,1,696,1,696,1,696,1,696,1,696,1,696,1,696,1,696,1,696,1,696,1,696,1,696,1,696,1,696,1,696,3,696,10222,8,696,1,697,1,697,1,697,3,697,10227,8,697,1,698,1,698,1,698,1,698,1,698,5,698,10234,8,698,10,698,12,698,10237,9,698,1,698,1,698,3,698,10241,8,698,1,699,1,699,3,699,10245,8,699,1,700,1,700,1,700,3,700,10250,8,700,1,701,1,701,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,703,1,703,1,703,3,703,10266,8,703,1,704,1,704,1,704,1,704,1,704,1,705,1,705,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,3,706,10284,8,706,1,706,3,706,10287,8,706,1,706,1,706,1,707,1,707,3,707,10293,8,707,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,1,708,3,708,10321,8,708,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,3,709,10331,8,709,1,710,1,710,1,710,4,710,10336,8,710,11,710,12,710,10337,3,710,10340,8,710,1,711,1,711,1,711,1,711,1,711,5,711,10347,8,711,10,711,12,711,10350,9,711,3,711,10352,8,711,1,712,1,712,1,712,1,712,1,713,1,713,1,713,1,713,1,713,1,714,1,714,1,714,3,714,10366,8,714,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,716,1,716,1,716,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,3,717,10387,8,717,1,717,1,717,1,718,1,718,1,718,3,718,10394,8,718,1,719,1,719,1,719,5,719,10399,8,719,10,719,12,719,10402,9,719,1,720,1,720,1,720,3,720,10407,8,720,1,720,3,720,10410,8,720,1,721,1,721,1,721,3,721,10415,8,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,3,721,10425,8,721,1,721,1,721,1,721,1,721,1,721,5,721,10432,8,721,10,721,12,721,10435,9,721,1,721,1,721,3,721,10439,8,721,3,721,10441,8,721,1,721,1,721,1,722,1,722,1,722,1,722,1,722,3,722,10450,8,722,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,724,1,724,1,725,1,725,1,725,3,725,10465,8,725,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,726,3,726,10482,8,726,3,726,10484,8,726,1,727,1,727,1,727,1,727,1,727,1,728,1,728,1,728,1,728,1,729,1,729,1,729,1,730,1,730,1,730,1,730,1,731,1,731,1,731,1,731,1,732,1,732,3,732,10508,8,732,1,732,1,732,3,732,10512,8,732,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,733,1,733,3,733,10523,8,733,1,733,3,733,10526,8,733,1,734,1,734,3,734,10530,8,734,1,735,1,735,1,735,3,735,10535,8,735,1,736,4,736,10538,8,736,11,736,12,736,10539,1,737,1,737,1,737,1,737,1,737,1,738,1,738,1,738,5,738,10550,8,738,10,738,12,738,10553,9,738,1,739,1,739,1,739,3,739,10558,8,739,1,740,1,740,3,740,10562,8,740,1,741,1,741,3,741,10566,8,741,1,742,1,742,3,742,10570,8,742,1,743,1,743,1,743,3,743,10575,8,743,1,744,1,744,3,744,10579,8,744,1,745,1,745,1,746,1,746,3,746,10585,8,746,1,746,1,746,1,746,1,746,1,746,1,746,1,747,1,747,1,748,1,748,1,749,1,749,1,750,1,750,1,751,1,751,1,751,1,752,1,752,3,752,10606,8,752,1,752,1,752,3,752,10610,8,752,1,753,1,753,1,753,0,1,1080,754,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,0,69,2,0,195,195,357,357,2,0,133,133,191,191,2,0,245,245,325,325,2,0,10,10,94,94,2,0,162,162,356,356,2,0,180,180,221,221,5,0,30,30,281,281,322,322,345,345,347,347,2,0,139,139,305,305,2,0,30,30,99,99,2,0,64,64,94,94,2,0,345,345,347,347,2,0,200,200,224,224,9,0,30,30,160,160,165,165,179,179,219,219,227,227,335,335,338,338,438,438,3,0,113,113,277,277,329,329,2,0,53,53,78,78,3,0,173,173,252,252,255,255,5,0,30,30,88,88,182,182,232,232,362,362,2,0,92,92,226,226,1,0,448,449,2,0,92,92,407,407,2,0,334,334,407,407,2,0,211,211,289,289,2,0,314,314,445,445,2,0,64,64,68,68,5,0,212,212,322,322,343,343,455,455,457,457,5,0,212,212,322,322,343,343,354,354,455,456,2,0,10,10,53,53,3,0,211,211,289,289,442,442,2,0,92,92,342,342,3,0,109,109,128,128,344,344,4,0,88,88,182,182,232,232,362,362,2,0,151,151,245,245,2,0,306,306,326,326,1,0,31,32,2,0,99,99,342,342,2,0,201,201,327,327,2,0,59,59,97,97,2,0,213,213,245,245,2,0,313,313,407,407,2,0,207,207,261,261,4,0,113,113,115,115,119,119,126,126,2,0,353,353,477,477,2,0,384,385,399,399,1,0,384,385,1,0,411,412,1,0,18,19,2,0,117,117,122,122,5,0,10,10,16,17,21,21,23,23,25,25,1,0,12,13,3,0,9,9,14,14,27,27,2,0,30,30,56,56,3,0,39,39,73,73,95,95,2,0,166,166,188,188,2,0,297,297,450,450,2,0,208,208,282,282,3,0,30,30,34,34,90,90,6,0,9,10,12,17,21,21,23,23,25,25,27,27,2,0,20,20,22,22,1,0,483,486,11,0,124,124,129,249,251,252,254,303,305,379,433,452,455,469,471,471,473,473,475,475,478,488,5,0,106,118,120,123,125,125,127,128,472,472,4,0,30,52,54,70,72,105,454,454,5,0,304,304,418,424,504,504,513,513,521,635,2,0,62,62,116,116,2,0,10,10,20,20,2,0,167,167,507,507,2,0,144,144,210,210,36,0,33,33,35,35,43,45,53,53,57,57,61,61,92,92,116,116,123,123,130,130,144,144,153,153,157,157,161,161,167,167,172,172,207,207,210,210,232,232,240,240,258,258,261,262,272,272,286,286,300,300,306,306,312,312,316,317,326,326,353,353,433,434,477,477,490,502,506,512,514,518,520,520,3,0,66,66,99,99,311,311,11574,0,1509,1,0,0,0,2,1513,1,0,0,0,4,1523,1,0,0,0,6,1647,1,0,0,0,8,1649,1,0,0,0,10,1653,1,0,0,0,12,1658,1,0,0,0,14,1663,1,0,0,0,16,1669,1,0,0,0,18,1691,1,0,0,0,20,1704,1,0,0,0,22,1706,1,0,0,0,24,1712,1,0,0,0,26,1722,1,0,0,0,28,1724,1,0,0,0,30,1733,1,0,0,0,32,1741,1,0,0,0,34,1743,1,0,0,0,36,1761,1,0,0,0,38,1766,1,0,0,0,40,1775,1,0,0,0,42,1777,1,0,0,0,44,1791,1,0,0,0,46,1793,1,0,0,0,48,1823,1,0,0,0,50,1825,1,0,0,0,52,1833,1,0,0,0,54,1843,1,0,0,0,56,1850,1,0,0,0,58,1856,1,0,0,0,60,1873,1,0,0,0,62,1878,1,0,0,0,64,1882,1,0,0,0,66,1884,1,0,0,0,68,1895,1,0,0,0,70,1899,1,0,0,0,72,1904,1,0,0,0,74,1909,1,0,0,0,76,1911,1,0,0,0,78,1923,1,0,0,0,80,1930,1,0,0,0,82,1932,1,0,0,0,84,1934,1,0,0,0,86,1936,1,0,0,0,88,2039,1,0,0,0,90,2041,1,0,0,0,92,2057,1,0,0,0,94,2059,1,0,0,0,96,2304,1,0,0,0,98,2311,1,0,0,0,100,2316,1,0,0,0,102,2321,1,0,0,0,104,2326,1,0,0,0,106,2334,1,0,0,0,108,2336,1,0,0,0,110,2343,1,0,0,0,112,2345,1,0,0,0,114,2353,1,0,0,0,116,2365,1,0,0,0,118,2381,1,0,0,0,120,2409,1,0,0,0,122,2411,1,0,0,0,124,2414,1,0,0,0,126,2422,1,0,0,0,128,2427,1,0,0,0,130,2458,1,0,0,0,132,2460,1,0,0,0,134,2493,1,0,0,0,136,2495,1,0,0,0,138,2500,1,0,0,0,140,2512,1,0,0,0,142,2549,1,0,0,0,144,2557,1,0,0,0,146,2559,1,0,0,0,148,2567,1,0,0,0,150,2585,1,0,0,0,152,2587,1,0,0,0,154,2636,1,0,0,0,156,2640,1,0,0,0,158,2647,1,0,0,0,160,2649,1,0,0,0,162,2657,1,0,0,0,164,2668,1,0,0,0,166,2672,1,0,0,0,168,2674,1,0,0,0,170,2679,1,0,0,0,172,2689,1,0,0,0,174,2700,1,0,0,0,176,2742,1,0,0,0,178,2747,1,0,0,0,180,2754,1,0,0,0,182,2756,1,0,0,0,184,2764,1,0,0,0,186,2767,1,0,0,0,188,2774,1,0,0,0,190,2834,1,0,0,0,192,2841,1,0,0,0,194,2843,1,0,0,0,196,2851,1,0,0,0,198,2859,1,0,0,0,200,2864,1,0,0,0,202,2866,1,0,0,0,204,2874,1,0,0,0,206,2890,1,0,0,0,208,2901,1,0,0,0,210,2903,1,0,0,0,212,2907,1,0,0,0,214,2917,1,0,0,0,216,2925,1,0,0,0,218,2929,1,0,0,0,220,2931,1,0,0,0,222,2938,1,0,0,0,224,2960,1,0,0,0,226,2965,1,0,0,0,228,2972,1,0,0,0,230,2984,1,0,0,0,232,2989,1,0,0,0,234,2996,1,0,0,0,236,2998,1,0,0,0,238,3002,1,0,0,0,240,3016,1,0,0,0,242,3027,1,0,0,0,244,3040,1,0,0,0,246,3054,1,0,0,0,248,3056,1,0,0,0,250,3072,1,0,0,0,252,3078,1,0,0,0,254,3087,1,0,0,0,256,3099,1,0,0,0,258,3113,1,0,0,0,260,3116,1,0,0,0,262,3151,1,0,0,0,264,3159,1,0,0,0,266,3161,1,0,0,0,268,3169,1,0,0,0,270,3185,1,0,0,0,272,3192,1,0,0,0,274,3198,1,0,0,0,276,3202,1,0,0,0,278,3204,1,0,0,0,280,3215,1,0,0,0,282,3217,1,0,0,0,284,3225,1,0,0,0,286,3247,1,0,0,0,288,3249,1,0,0,0,290,3259,1,0,0,0,292,3401,1,0,0,0,294,3403,1,0,0,0,296,3421,1,0,0,0,298,3424,1,0,0,0,300,3445,1,0,0,0,302,3453,1,0,0,0,304,3455,1,0,0,0,306,3463,1,0,0,0,308,3468,1,0,0,0,310,3483,1,0,0,0,312,3485,1,0,0,0,314,3488,1,0,0,0,316,3490,1,0,0,0,318,3521,1,0,0,0,320,3526,1,0,0,0,322,3528,1,0,0,0,324,3533,1,0,0,0,326,3599,1,0,0,0,328,3601,1,0,0,0,330,3616,1,0,0,0,332,3624,1,0,0,0,334,3647,1,0,0,0,336,3651,1,0,0,0,338,3671,1,0,0,0,340,3673,1,0,0,0,342,3682,1,0,0,0,344,3693,1,0,0,0,346,3708,1,0,0,0,348,3717,1,0,0,0,350,3722,1,0,0,0,352,3727,1,0,0,0,354,3732,1,0,0,0,356,3734,1,0,0,0,358,3736,1,0,0,0,360,3745,1,0,0,0,362,3785,1,0,0,0,364,3791,1,0,0,0,366,3793,1,0,0,0,368,3808,1,0,0,0,370,3813,1,0,0,0,372,3816,1,0,0,0,374,3820,1,0,0,0,376,3825,1,0,0,0,378,3827,1,0,0,0,380,3829,1,0,0,0,382,3837,1,0,0,0,384,3839,1,0,0,0,386,3847,1,0,0,0,388,3849,1,0,0,0,390,3853,1,0,0,0,392,3866,1,0,0,0,394,3871,1,0,0,0,396,3876,1,0,0,0,398,3890,1,0,0,0,400,3918,1,0,0,0,402,3920,1,0,0,0,404,3928,1,0,0,0,406,3934,1,0,0,0,408,3942,1,0,0,0,410,3954,1,0,0,0,412,3956,1,0,0,0,414,4073,1,0,0,0,416,4075,1,0,0,0,418,4086,1,0,0,0,420,4097,1,0,0,0,422,4099,1,0,0,0,424,4110,1,0,0,0,426,4114,1,0,0,0,428,4159,1,0,0,0,430,4165,1,0,0,0,432,4167,1,0,0,0,434,4183,1,0,0,0,436,4218,1,0,0,0,438,4223,1,0,0,0,440,4232,1,0,0,0,442,4234,1,0,0,0,444,4259,1,0,0,0,446,4261,1,0,0,0,448,4281,1,0,0,0,450,4301,1,0,0,0,452,4321,1,0,0,0,454,4323,1,0,0,0,456,4329,1,0,0,0,458,4441,1,0,0,0,460,4464,1,0,0,0,462,4469,1,0,0,0,464,4484,1,0,0,0,466,4486,1,0,0,0,468,4488,1,0,0,0,470,4496,1,0,0,0,472,4502,1,0,0,0,474,4506,1,0,0,0,476,4514,1,0,0,0,478,4525,1,0,0,0,480,4711,1,0,0,0,482,4715,1,0,0,0,484,4853,1,0,0,0,486,4858,1,0,0,0,488,4862,1,0,0,0,490,4868,1,0,0,0,492,4936,1,0,0,0,494,4938,1,0,0,0,496,4942,1,0,0,0,498,4944,1,0,0,0,500,4971,1,0,0,0,502,4988,1,0,0,0,504,4990,1,0,0,0,506,5007,1,0,0,0,508,5047,1,0,0,0,510,5049,1,0,0,0,512,5060,1,0,0,0,514,5066,1,0,0,0,516,5068,1,0,0,0,518,5092,1,0,0,0,520,5098,1,0,0,0,522,5104,1,0,0,0,524,5106,1,0,0,0,526,5124,1,0,0,0,528,5153,1,0,0,0,530,5155,1,0,0,0,532,5202,1,0,0,0,534,5207,1,0,0,0,536,5209,1,0,0,0,538,5228,1,0,0,0,540,5241,1,0,0,0,542,5256,1,0,0,0,544,5261,1,0,0,0,546,5265,1,0,0,0,548,5270,1,0,0,0,550,5277,1,0,0,0,552,5279,1,0,0,0,554,5304,1,0,0,0,556,5306,1,0,0,0,558,5314,1,0,0,0,560,5334,1,0,0,0,562,5336,1,0,0,0,564,5344,1,0,0,0,566,5362,1,0,0,0,568,5371,1,0,0,0,570,5377,1,0,0,0,572,5379,1,0,0,0,574,5395,1,0,0,0,576,5397,1,0,0,0,578,5412,1,0,0,0,580,5420,1,0,0,0,582,5423,1,0,0,0,584,5432,1,0,0,0,586,5473,1,0,0,0,588,5483,1,0,0,0,590,5490,1,0,0,0,592,5492,1,0,0,0,594,5507,1,0,0,0,596,5509,1,0,0,0,598,5512,1,0,0,0,600,5520,1,0,0,0,602,5567,1,0,0,0,604,5581,1,0,0,0,606,5595,1,0,0,0,608,5619,1,0,0,0,610,5626,1,0,0,0,612,5631,1,0,0,0,614,5639,1,0,0,0,616,5642,1,0,0,0,618,5646,1,0,0,0,620,5653,1,0,0,0,622,5689,1,0,0,0,624,5696,1,0,0,0,626,5698,1,0,0,0,628,5711,1,0,0,0,630,5713,1,0,0,0,632,5758,1,0,0,0,634,5760,1,0,0,0,636,5830,1,0,0,0,638,5832,1,0,0,0,640,5834,1,0,0,0,642,5842,1,0,0,0,644,5856,1,0,0,0,646,6295,1,0,0,0,648,6299,1,0,0,0,650,6304,1,0,0,0,652,6375,1,0,0,0,654,6589,1,0,0,0,656,6591,1,0,0,0,658,6599,1,0,0,0,660,6615,1,0,0,0,662,6622,1,0,0,0,664,6624,1,0,0,0,666,6815,1,0,0,0,668,6817,1,0,0,0,670,6825,1,0,0,0,672,6833,1,0,0,0,674,6862,1,0,0,0,676,6864,1,0,0,0,678,6873,1,0,0,0,680,6881,1,0,0,0,682,6920,1,0,0,0,684,6934,1,0,0,0,686,6936,1,0,0,0,688,6956,1,0,0,0,690,6958,1,0,0,0,692,6971,1,0,0,0,694,6975,1,0,0,0,696,6977,1,0,0,0,698,6982,1,0,0,0,700,6984,1,0,0,0,702,6991,1,0,0,0,704,6993,1,0,0,0,706,7e3,1,0,0,0,708,7055,1,0,0,0,710,7060,1,0,0,0,712,7072,1,0,0,0,714,7074,1,0,0,0,716,7090,1,0,0,0,718,7092,1,0,0,0,720,7124,1,0,0,0,722,7126,1,0,0,0,724,7129,1,0,0,0,726,7141,1,0,0,0,728,7143,1,0,0,0,730,7160,1,0,0,0,732,7162,1,0,0,0,734,7173,1,0,0,0,736,7178,1,0,0,0,738,7199,1,0,0,0,740,7205,1,0,0,0,742,7210,1,0,0,0,744,7217,1,0,0,0,746,7243,1,0,0,0,748,7247,1,0,0,0,750,7249,1,0,0,0,752,7328,1,0,0,0,754,7330,1,0,0,0,756,7356,1,0,0,0,758,7361,1,0,0,0,760,7382,1,0,0,0,762,7394,1,0,0,0,764,7396,1,0,0,0,766,7404,1,0,0,0,768,7406,1,0,0,0,770,7411,1,0,0,0,772,7416,1,0,0,0,774,7420,1,0,0,0,776,7427,1,0,0,0,778,7429,1,0,0,0,780,7441,1,0,0,0,782,7466,1,0,0,0,784,7477,1,0,0,0,786,7479,1,0,0,0,788,7484,1,0,0,0,790,7489,1,0,0,0,792,7491,1,0,0,0,794,7502,1,0,0,0,796,7508,1,0,0,0,798,7537,1,0,0,0,800,7544,1,0,0,0,802,7556,1,0,0,0,804,7559,1,0,0,0,806,7568,1,0,0,0,808,7592,1,0,0,0,810,7594,1,0,0,0,812,7596,1,0,0,0,814,7604,1,0,0,0,816,7620,1,0,0,0,818,7631,1,0,0,0,820,7636,1,0,0,0,822,7638,1,0,0,0,824,7669,1,0,0,0,826,7688,1,0,0,0,828,7701,1,0,0,0,830,7709,1,0,0,0,832,7721,1,0,0,0,834,7723,1,0,0,0,836,7734,1,0,0,0,838,7748,1,0,0,0,840,7752,1,0,0,0,842,7758,1,0,0,0,844,7761,1,0,0,0,846,7771,1,0,0,0,848,7796,1,0,0,0,850,7798,1,0,0,0,852,7801,1,0,0,0,854,7818,1,0,0,0,856,7825,1,0,0,0,858,7829,1,0,0,0,860,7839,1,0,0,0,862,7864,1,0,0,0,864,7866,1,0,0,0,866,7876,1,0,0,0,868,7901,1,0,0,0,870,7915,1,0,0,0,872,7917,1,0,0,0,874,7929,1,0,0,0,876,7941,1,0,0,0,878,7943,1,0,0,0,880,7965,1,0,0,0,882,7969,1,0,0,0,884,7974,1,0,0,0,886,7976,1,0,0,0,888,7984,1,0,0,0,890,7988,1,0,0,0,892,7990,1,0,0,0,894,7994,1,0,0,0,896,8002,1,0,0,0,898,8018,1,0,0,0,900,8022,1,0,0,0,902,8047,1,0,0,0,904,8049,1,0,0,0,906,8058,1,0,0,0,908,8060,1,0,0,0,910,8067,1,0,0,0,912,8071,1,0,0,0,914,8073,1,0,0,0,916,8075,1,0,0,0,918,8081,1,0,0,0,920,8083,1,0,0,0,922,8110,1,0,0,0,924,8115,1,0,0,0,926,8125,1,0,0,0,928,8127,1,0,0,0,930,8131,1,0,0,0,932,8146,1,0,0,0,934,8148,1,0,0,0,936,8165,1,0,0,0,938,8176,1,0,0,0,940,8178,1,0,0,0,942,8234,1,0,0,0,944,8258,1,0,0,0,946,8269,1,0,0,0,948,8272,1,0,0,0,950,8294,1,0,0,0,952,8296,1,0,0,0,954,8307,1,0,0,0,956,8309,1,0,0,0,958,8323,1,0,0,0,960,8325,1,0,0,0,962,8333,1,0,0,0,964,8340,1,0,0,0,966,8367,1,0,0,0,968,8369,1,0,0,0,970,8378,1,0,0,0,972,8383,1,0,0,0,974,8388,1,0,0,0,976,8398,1,0,0,0,978,8402,1,0,0,0,980,8404,1,0,0,0,982,8412,1,0,0,0,984,8416,1,0,0,0,986,8449,1,0,0,0,988,8459,1,0,0,0,990,8471,1,0,0,0,992,8473,1,0,0,0,994,8487,1,0,0,0,996,8516,1,0,0,0,998,8531,1,0,0,0,1e3,8537,1,0,0,0,1002,8543,1,0,0,0,1004,8555,1,0,0,0,1006,8573,1,0,0,0,1008,8580,1,0,0,0,1010,8584,1,0,0,0,1012,8588,1,0,0,0,1014,8590,1,0,0,0,1016,8596,1,0,0,0,1018,8599,1,0,0,0,1020,8606,1,0,0,0,1022,8619,1,0,0,0,1024,8623,1,0,0,0,1026,8625,1,0,0,0,1028,8634,1,0,0,0,1030,8643,1,0,0,0,1032,8671,1,0,0,0,1034,8673,1,0,0,0,1036,8683,1,0,0,0,1038,8685,1,0,0,0,1040,8687,1,0,0,0,1042,8691,1,0,0,0,1044,8699,1,0,0,0,1046,8707,1,0,0,0,1048,8715,1,0,0,0,1050,8729,1,0,0,0,1052,8738,1,0,0,0,1054,8742,1,0,0,0,1056,8746,1,0,0,0,1058,8772,1,0,0,0,1060,8786,1,0,0,0,1062,8801,1,0,0,0,1064,8811,1,0,0,0,1066,8815,1,0,0,0,1068,8823,1,0,0,0,1070,8831,1,0,0,0,1072,8837,1,0,0,0,1074,8841,1,0,0,0,1076,8848,1,0,0,0,1078,8853,1,0,0,0,1080,8868,1,0,0,0,1082,8948,1,0,0,0,1084,8950,1,0,0,0,1086,8952,1,0,0,0,1088,8982,1,0,0,0,1090,8986,1,0,0,0,1092,9165,1,0,0,0,1094,9172,1,0,0,0,1096,9185,1,0,0,0,1098,9187,1,0,0,0,1100,9192,1,0,0,0,1102,9200,1,0,0,0,1104,9205,1,0,0,0,1106,9212,1,0,0,0,1108,9229,1,0,0,0,1110,9231,1,0,0,0,1112,9241,1,0,0,0,1114,9250,1,0,0,0,1116,9255,1,0,0,0,1118,9257,1,0,0,0,1120,9265,1,0,0,0,1122,9275,1,0,0,0,1124,9277,1,0,0,0,1126,9286,1,0,0,0,1128,9292,1,0,0,0,1130,9307,1,0,0,0,1132,9315,1,0,0,0,1134,9324,1,0,0,0,1136,9336,1,0,0,0,1138,9350,1,0,0,0,1140,9352,1,0,0,0,1142,9359,1,0,0,0,1144,9365,1,0,0,0,1146,9369,1,0,0,0,1148,9371,1,0,0,0,1150,9379,1,0,0,0,1152,9387,1,0,0,0,1154,9401,1,0,0,0,1156,9403,1,0,0,0,1158,9411,1,0,0,0,1160,9424,1,0,0,0,1162,9426,1,0,0,0,1164,9434,1,0,0,0,1166,9441,1,0,0,0,1168,9454,1,0,0,0,1170,9464,1,0,0,0,1172,9466,1,0,0,0,1174,9468,1,0,0,0,1176,9482,1,0,0,0,1178,9511,1,0,0,0,1180,9520,1,0,0,0,1182,9527,1,0,0,0,1184,9529,1,0,0,0,1186,9536,1,0,0,0,1188,9540,1,0,0,0,1190,9548,1,0,0,0,1192,9552,1,0,0,0,1194,9554,1,0,0,0,1196,9575,1,0,0,0,1198,9578,1,0,0,0,1200,9585,1,0,0,0,1202,9590,1,0,0,0,1204,9592,1,0,0,0,1206,9608,1,0,0,0,1208,9610,1,0,0,0,1210,9618,1,0,0,0,1212,9620,1,0,0,0,1214,9628,1,0,0,0,1216,9630,1,0,0,0,1218,9638,1,0,0,0,1220,9640,1,0,0,0,1222,9648,1,0,0,0,1224,9650,1,0,0,0,1226,9652,1,0,0,0,1228,9654,1,0,0,0,1230,9662,1,0,0,0,1232,9666,1,0,0,0,1234,9674,1,0,0,0,1236,9676,1,0,0,0,1238,9678,1,0,0,0,1240,9687,1,0,0,0,1242,9721,1,0,0,0,1244,9723,1,0,0,0,1246,9725,1,0,0,0,1248,9727,1,0,0,0,1250,9729,1,0,0,0,1252,9731,1,0,0,0,1254,9745,1,0,0,0,1256,9750,1,0,0,0,1258,9757,1,0,0,0,1260,9762,1,0,0,0,1262,9764,1,0,0,0,1264,9778,1,0,0,0,1266,9784,1,0,0,0,1268,9790,1,0,0,0,1270,9796,1,0,0,0,1272,9804,1,0,0,0,1274,9813,1,0,0,0,1276,9815,1,0,0,0,1278,9817,1,0,0,0,1280,9871,1,0,0,0,1282,9873,1,0,0,0,1284,9875,1,0,0,0,1286,9877,1,0,0,0,1288,9879,1,0,0,0,1290,9886,1,0,0,0,1292,9909,1,0,0,0,1294,9911,1,0,0,0,1296,9917,1,0,0,0,1298,9921,1,0,0,0,1300,9923,1,0,0,0,1302,9930,1,0,0,0,1304,9937,1,0,0,0,1306,9940,1,0,0,0,1308,9944,1,0,0,0,1310,9951,1,0,0,0,1312,9953,1,0,0,0,1314,9977,1,0,0,0,1316,9979,1,0,0,0,1318,9986,1,0,0,0,1320,9988,1,0,0,0,1322,9996,1,0,0,0,1324,9999,1,0,0,0,1326,10003,1,0,0,0,1328,10005,1,0,0,0,1330,10009,1,0,0,0,1332,10011,1,0,0,0,1334,10016,1,0,0,0,1336,10021,1,0,0,0,1338,10027,1,0,0,0,1340,10031,1,0,0,0,1342,10033,1,0,0,0,1344,10038,1,0,0,0,1346,10068,1,0,0,0,1348,10070,1,0,0,0,1350,10088,1,0,0,0,1352,10092,1,0,0,0,1354,10094,1,0,0,0,1356,10099,1,0,0,0,1358,10108,1,0,0,0,1360,10110,1,0,0,0,1362,10118,1,0,0,0,1364,10122,1,0,0,0,1366,10124,1,0,0,0,1368,10128,1,0,0,0,1370,10139,1,0,0,0,1372,10156,1,0,0,0,1374,10162,1,0,0,0,1376,10164,1,0,0,0,1378,10174,1,0,0,0,1380,10177,1,0,0,0,1382,10181,1,0,0,0,1384,10189,1,0,0,0,1386,10191,1,0,0,0,1388,10194,1,0,0,0,1390,10199,1,0,0,0,1392,10204,1,0,0,0,1394,10226,1,0,0,0,1396,10240,1,0,0,0,1398,10244,1,0,0,0,1400,10249,1,0,0,0,1402,10251,1,0,0,0,1404,10253,1,0,0,0,1406,10265,1,0,0,0,1408,10267,1,0,0,0,1410,10272,1,0,0,0,1412,10274,1,0,0,0,1414,10292,1,0,0,0,1416,10320,1,0,0,0,1418,10330,1,0,0,0,1420,10339,1,0,0,0,1422,10351,1,0,0,0,1424,10353,1,0,0,0,1426,10357,1,0,0,0,1428,10365,1,0,0,0,1430,10367,1,0,0,0,1432,10374,1,0,0,0,1434,10377,1,0,0,0,1436,10393,1,0,0,0,1438,10395,1,0,0,0,1440,10409,1,0,0,0,1442,10411,1,0,0,0,1444,10449,1,0,0,0,1446,10451,1,0,0,0,1448,10459,1,0,0,0,1450,10464,1,0,0,0,1452,10483,1,0,0,0,1454,10485,1,0,0,0,1456,10490,1,0,0,0,1458,10494,1,0,0,0,1460,10497,1,0,0,0,1462,10501,1,0,0,0,1464,10511,1,0,0,0,1466,10525,1,0,0,0,1468,10529,1,0,0,0,1470,10534,1,0,0,0,1472,10537,1,0,0,0,1474,10541,1,0,0,0,1476,10546,1,0,0,0,1478,10557,1,0,0,0,1480,10561,1,0,0,0,1482,10565,1,0,0,0,1484,10569,1,0,0,0,1486,10574,1,0,0,0,1488,10578,1,0,0,0,1490,10580,1,0,0,0,1492,10582,1,0,0,0,1494,10592,1,0,0,0,1496,10594,1,0,0,0,1498,10596,1,0,0,0,1500,10598,1,0,0,0,1502,10600,1,0,0,0,1504,10609,1,0,0,0,1506,10611,1,0,0,0,1508,1510,3,4,2,0,1509,1508,1,0,0,0,1509,1510,1,0,0,0,1510,1511,1,0,0,0,1511,1512,5,0,0,1,1512,1,1,0,0,0,1513,1514,3,1288,644,0,1514,3,1,0,0,0,1515,1517,3,6,3,0,1516,1518,5,7,0,0,1517,1516,1,0,0,0,1517,1518,1,0,0,0,1518,1524,1,0,0,0,1519,1520,3,6,3,0,1520,1521,5,7,0,0,1521,1522,3,4,2,0,1522,1524,1,0,0,0,1523,1515,1,0,0,0,1523,1519,1,0,0,0,1524,5,1,0,0,0,1525,1648,3,408,204,0,1526,1648,3,738,369,0,1527,1648,3,732,366,0,1528,1648,3,734,367,0,1529,1648,3,524,262,0,1530,1648,3,744,372,0,1531,1648,3,428,214,0,1532,1648,3,288,144,0,1533,1648,3,292,146,0,1534,1648,3,300,150,0,1535,1648,3,324,162,0,1536,1648,3,600,300,0,1537,1648,3,652,326,0,1538,1648,3,654,327,0,1539,1648,3,666,333,0,1540,1648,3,656,328,0,1541,1648,3,664,332,0,1542,1648,3,344,172,0,1543,1648,3,256,128,0,1544,1648,3,740,370,0,1545,1648,3,88,44,0,1546,1648,3,644,322,0,1547,1648,3,126,63,0,1548,1648,3,674,337,0,1549,1648,3,28,14,0,1550,1648,3,24,12,0,1551,1648,3,682,341,0,1552,1648,3,240,120,0,1553,1648,3,752,376,0,1554,1648,3,750,375,0,1555,1648,3,340,170,0,1556,1648,3,762,381,0,1557,1648,3,10,5,0,1558,1648,3,84,42,0,1559,1648,3,132,66,0,1560,1648,3,756,378,0,1561,1648,3,480,240,0,1562,1648,3,78,39,0,1563,1648,3,134,67,0,1564,1648,3,358,179,0,1565,1648,3,242,121,0,1566,1648,3,412,206,0,1567,1648,3,622,311,0,1568,1648,3,754,377,0,1569,1648,3,742,371,0,1570,1648,3,284,142,0,1571,1648,3,294,147,0,1572,1648,3,318,159,0,1573,1648,3,326,163,0,1574,1648,3,552,276,0,1575,1648,3,248,124,0,1576,1648,3,432,216,0,1577,1648,3,442,221,0,1578,1648,3,668,334,0,1579,1648,3,444,222,0,1580,1648,3,342,171,0,1581,1648,3,268,134,0,1582,1648,3,34,17,0,1583,1648,3,254,127,0,1584,1648,3,152,76,0,1585,1648,3,676,338,0,1586,1648,3,238,119,0,1587,1648,3,278,139,0,1588,1648,3,630,315,0,1589,1648,3,362,181,0,1590,1648,3,400,200,0,1591,1648,3,22,11,0,1592,1648,3,334,167,0,1593,1648,3,724,362,0,1594,1648,3,802,401,0,1595,1648,3,852,426,0,1596,1648,3,414,207,0,1597,1648,3,830,415,0,1598,1648,3,86,43,0,1599,1648,3,616,308,0,1600,1648,3,626,313,0,1601,1648,3,450,225,0,1602,1648,3,452,226,0,1603,1648,3,454,227,0,1604,1648,3,458,229,0,1605,1648,3,684,342,0,1606,1648,3,282,141,0,1607,1648,3,634,317,0,1608,1648,3,30,15,0,1609,1648,3,338,169,0,1610,1648,3,736,368,0,1611,1648,3,798,399,0,1612,1648,3,782,391,0,1613,1648,3,490,245,0,1614,1648,3,498,249,0,1615,1648,3,516,258,0,1616,1648,3,328,164,0,1617,1648,3,532,266,0,1618,1648,3,804,402,0,1619,1648,3,822,411,0,1620,1648,3,704,352,0,1621,1648,3,252,126,0,1622,1648,3,722,361,0,1623,1648,3,834,417,0,1624,1648,3,700,350,0,1625,1648,3,792,396,0,1626,1648,3,456,228,0,1627,1648,3,636,318,0,1628,1648,3,604,302,0,1629,1648,3,602,301,0,1630,1648,3,606,303,0,1631,1648,3,646,323,0,1632,1648,3,500,250,0,1633,1648,3,518,259,0,1634,1648,3,686,343,0,1635,1648,3,484,242,0,1636,1648,3,858,429,0,1637,1648,3,708,354,0,1638,1648,3,476,238,0,1639,1648,3,706,353,0,1640,1648,3,844,422,0,1641,1648,3,760,380,0,1642,1648,3,66,33,0,1643,1648,3,42,21,0,1644,1648,3,76,38,0,1645,1648,3,718,359,0,1646,1648,3,8,4,0,1647,1525,1,0,0,0,1647,1526,1,0,0,0,1647,1527,1,0,0,0,1647,1528,1,0,0,0,1647,1529,1,0,0,0,1647,1530,1,0,0,0,1647,1531,1,0,0,0,1647,1532,1,0,0,0,1647,1533,1,0,0,0,1647,1534,1,0,0,0,1647,1535,1,0,0,0,1647,1536,1,0,0,0,1647,1537,1,0,0,0,1647,1538,1,0,0,0,1647,1539,1,0,0,0,1647,1540,1,0,0,0,1647,1541,1,0,0,0,1647,1542,1,0,0,0,1647,1543,1,0,0,0,1647,1544,1,0,0,0,1647,1545,1,0,0,0,1647,1546,1,0,0,0,1647,1547,1,0,0,0,1647,1548,1,0,0,0,1647,1549,1,0,0,0,1647,1550,1,0,0,0,1647,1551,1,0,0,0,1647,1552,1,0,0,0,1647,1553,1,0,0,0,1647,1554,1,0,0,0,1647,1555,1,0,0,0,1647,1556,1,0,0,0,1647,1557,1,0,0,0,1647,1558,1,0,0,0,1647,1559,1,0,0,0,1647,1560,1,0,0,0,1647,1561,1,0,0,0,1647,1562,1,0,0,0,1647,1563,1,0,0,0,1647,1564,1,0,0,0,1647,1565,1,0,0,0,1647,1566,1,0,0,0,1647,1567,1,0,0,0,1647,1568,1,0,0,0,1647,1569,1,0,0,0,1647,1570,1,0,0,0,1647,1571,1,0,0,0,1647,1572,1,0,0,0,1647,1573,1,0,0,0,1647,1574,1,0,0,0,1647,1575,1,0,0,0,1647,1576,1,0,0,0,1647,1577,1,0,0,0,1647,1578,1,0,0,0,1647,1579,1,0,0,0,1647,1580,1,0,0,0,1647,1581,1,0,0,0,1647,1582,1,0,0,0,1647,1583,1,0,0,0,1647,1584,1,0,0,0,1647,1585,1,0,0,0,1647,1586,1,0,0,0,1647,1587,1,0,0,0,1647,1588,1,0,0,0,1647,1589,1,0,0,0,1647,1590,1,0,0,0,1647,1591,1,0,0,0,1647,1592,1,0,0,0,1647,1593,1,0,0,0,1647,1594,1,0,0,0,1647,1595,1,0,0,0,1647,1596,1,0,0,0,1647,1597,1,0,0,0,1647,1598,1,0,0,0,1647,1599,1,0,0,0,1647,1600,1,0,0,0,1647,1601,1,0,0,0,1647,1602,1,0,0,0,1647,1603,1,0,0,0,1647,1604,1,0,0,0,1647,1605,1,0,0,0,1647,1606,1,0,0,0,1647,1607,1,0,0,0,1647,1608,1,0,0,0,1647,1609,1,0,0,0,1647,1610,1,0,0,0,1647,1611,1,0,0,0,1647,1612,1,0,0,0,1647,1613,1,0,0,0,1647,1614,1,0,0,0,1647,1615,1,0,0,0,1647,1616,1,0,0,0,1647,1617,1,0,0,0,1647,1618,1,0,0,0,1647,1619,1,0,0,0,1647,1620,1,0,0,0,1647,1621,1,0,0,0,1647,1622,1,0,0,0,1647,1623,1,0,0,0,1647,1624,1,0,0,0,1647,1625,1,0,0,0,1647,1626,1,0,0,0,1647,1627,1,0,0,0,1647,1628,1,0,0,0,1647,1629,1,0,0,0,1647,1630,1,0,0,0,1647,1631,1,0,0,0,1647,1632,1,0,0,0,1647,1633,1,0,0,0,1647,1634,1,0,0,0,1647,1635,1,0,0,0,1647,1636,1,0,0,0,1647,1637,1,0,0,0,1647,1638,1,0,0,0,1647,1639,1,0,0,0,1647,1640,1,0,0,0,1647,1641,1,0,0,0,1647,1642,1,0,0,0,1647,1643,1,0,0,0,1647,1644,1,0,0,0,1647,1645,1,0,0,0,1647,1646,1,0,0,0,1648,7,1,0,0,0,1649,1651,5,668,0,0,1650,1652,5,669,0,0,1651,1650,1,0,0,0,1651,1652,1,0,0,0,1652,9,1,0,0,0,1653,1654,5,433,0,0,1654,1655,3,1086,543,0,1655,11,1,0,0,0,1656,1659,5,105,0,0,1657,1659,1,0,0,0,1658,1656,1,0,0,0,1658,1657,1,0,0,0,1659,13,1,0,0,0,1660,1662,3,20,10,0,1661,1660,1,0,0,0,1662,1665,1,0,0,0,1663,1661,1,0,0,0,1663,1664,1,0,0,0,1664,15,1,0,0,0,1665,1663,1,0,0,0,1666,1668,3,18,9,0,1667,1666,1,0,0,0,1668,1671,1,0,0,0,1669,1667,1,0,0,0,1669,1670,1,0,0,0,1670,17,1,0,0,0,1671,1669,1,0,0,0,1672,1675,5,280,0,0,1673,1676,3,1252,626,0,1674,1676,5,78,0,0,1675,1673,1,0,0,0,1675,1674,1,0,0,0,1676,1692,1,0,0,0,1677,1678,7,0,0,0,1678,1679,5,280,0,0,1679,1692,3,1252,626,0,1680,1692,5,228,0,0,1681,1682,5,164,0,0,1682,1683,5,74,0,0,1683,1692,3,1258,629,0,1684,1685,5,364,0,0,1685,1686,5,361,0,0,1686,1692,3,1252,626,0,1687,1688,3,1506,753,0,1688,1689,3,1262,631,0,1689,1692,1,0,0,0,1690,1692,3,1274,637,0,1691,1672,1,0,0,0,1691,1677,1,0,0,0,1691,1680,1,0,0,0,1691,1681,1,0,0,0,1691,1684,1,0,0,0,1691,1687,1,0,0,0,1691,1690,1,0,0,0,1692,19,1,0,0,0,1693,1705,3,18,9,0,1694,1695,5,341,0,0,1695,1705,3,1250,625,0,1696,1697,5,134,0,0,1697,1705,3,1262,631,0,1698,1700,5,68,0,0,1699,1698,1,0,0,0,1699,1700,1,0,0,0,1700,1701,1,0,0,0,1701,1702,3,1506,753,0,1702,1703,3,1262,631,0,1703,1705,1,0,0,0,1704,1693,1,0,0,0,1704,1694,1,0,0,0,1704,1696,1,0,0,0,1704,1699,1,0,0,0,1705,21,1,0,0,0,1706,1707,5,46,0,0,1707,1708,3,1506,753,0,1708,1709,3,1260,630,0,1709,1710,3,12,6,0,1710,1711,3,14,7,0,1711,23,1,0,0,0,1712,1713,5,138,0,0,1713,1714,3,1506,753,0,1714,1715,3,1260,630,0,1715,1716,3,12,6,0,1716,1717,3,16,8,0,1717,25,1,0,0,0,1718,1723,1,0,0,0,1719,1720,5,68,0,0,1720,1721,5,175,0,0,1721,1723,3,1210,605,0,1722,1718,1,0,0,0,1722,1719,1,0,0,0,1723,27,1,0,0,0,1724,1725,5,138,0,0,1725,1727,3,1506,753,0,1726,1728,5,30,0,0,1727,1726,1,0,0,0,1727,1728,1,0,0,0,1728,1729,1,0,0,0,1729,1730,3,1260,630,0,1730,1731,3,26,13,0,1731,1732,3,72,36,0,1732,29,1,0,0,0,1733,1734,5,191,0,0,1734,1737,3,1506,753,0,1735,1736,5,220,0,0,1736,1738,5,389,0,0,1737,1735,1,0,0,0,1737,1738,1,0,0,0,1738,1739,1,0,0,0,1739,1740,3,1262,631,0,1740,31,1,0,0,0,1741,1742,7,1,0,0,1742,33,1,0,0,0,1743,1744,5,46,0,0,1744,1748,5,316,0,0,1745,1746,5,220,0,0,1746,1747,5,77,0,0,1747,1749,5,389,0,0,1748,1745,1,0,0,0,1748,1749,1,0,0,0,1749,1755,1,0,0,0,1750,1751,3,36,18,0,1751,1752,5,106,0,0,1752,1753,3,1260,630,0,1753,1756,1,0,0,0,1754,1756,3,1264,632,0,1755,1750,1,0,0,0,1755,1754,1,0,0,0,1756,1757,1,0,0,0,1757,1758,3,38,19,0,1758,35,1,0,0,0,1759,1762,3,1264,632,0,1760,1762,1,0,0,0,1761,1759,1,0,0,0,1761,1760,1,0,0,0,1762,37,1,0,0,0,1763,1765,3,40,20,0,1764,1763,1,0,0,0,1765,1768,1,0,0,0,1766,1764,1,0,0,0,1766,1767,1,0,0,0,1767,39,1,0,0,0,1768,1766,1,0,0,0,1769,1776,3,152,76,0,1770,1776,3,532,266,0,1771,1776,3,254,127,0,1772,1776,3,362,181,0,1773,1776,3,498,249,0,1774,1776,3,718,359,0,1775,1769,1,0,0,0,1775,1770,1,0,0,0,1775,1771,1,0,0,0,1775,1772,1,0,0,0,1775,1773,1,0,0,0,1775,1774,1,0,0,0,1776,41,1,0,0,0,1777,1779,5,326,0,0,1778,1780,7,2,0,0,1779,1778,1,0,0,0,1779,1780,1,0,0,0,1780,1781,1,0,0,0,1781,1782,3,44,22,0,1782,43,1,0,0,0,1783,1784,5,349,0,0,1784,1792,3,714,357,0,1785,1786,5,325,0,0,1786,1787,5,154,0,0,1787,1788,5,36,0,0,1788,1789,5,349,0,0,1789,1792,3,714,357,0,1790,1792,3,48,24,0,1791,1783,1,0,0,0,1791,1785,1,0,0,0,1791,1790,1,0,0,0,1792,45,1,0,0,0,1793,1794,3,50,25,0,1794,1795,7,3,0,0,1795,1796,3,52,26,0,1796,47,1,0,0,0,1797,1824,3,46,23,0,1798,1799,3,50,25,0,1799,1800,5,64,0,0,1800,1801,5,434,0,0,1801,1824,1,0,0,0,1802,1803,5,411,0,0,1803,1804,5,379,0,0,1804,1824,3,60,30,0,1805,1806,5,152,0,0,1806,1824,3,1252,626,0,1807,1808,5,316,0,0,1808,1824,3,1214,607,0,1809,1810,5,260,0,0,1810,1824,3,62,31,0,1811,1812,3,1506,753,0,1812,1813,3,64,32,0,1813,1824,1,0,0,0,1814,1815,5,325,0,0,1815,1816,5,106,0,0,1816,1824,3,64,32,0,1817,1818,5,376,0,0,1818,1819,5,272,0,0,1819,1824,3,1104,552,0,1820,1821,5,349,0,0,1821,1822,5,330,0,0,1822,1824,3,1252,626,0,1823,1797,1,0,0,0,1823,1798,1,0,0,0,1823,1802,1,0,0,0,1823,1805,1,0,0,0,1823,1807,1,0,0,0,1823,1809,1,0,0,0,1823,1811,1,0,0,0,1823,1814,1,0,0,0,1823,1817,1,0,0,0,1823,1820,1,0,0,0,1824,49,1,0,0,0,1825,1830,3,1264,632,0,1826,1827,5,11,0,0,1827,1829,3,1264,632,0,1828,1826,1,0,0,0,1829,1832,1,0,0,0,1830,1828,1,0,0,0,1830,1831,1,0,0,0,1831,51,1,0,0,0,1832,1830,1,0,0,0,1833,1838,3,54,27,0,1834,1835,5,6,0,0,1835,1837,3,54,27,0,1836,1834,1,0,0,0,1837,1840,1,0,0,0,1838,1836,1,0,0,0,1838,1839,1,0,0,0,1839,53,1,0,0,0,1840,1838,1,0,0,0,1841,1844,3,58,29,0,1842,1844,3,264,132,0,1843,1841,1,0,0,0,1843,1842,1,0,0,0,1844,55,1,0,0,0,1845,1846,5,293,0,0,1846,1851,7,4,0,0,1847,1848,5,303,0,0,1848,1851,5,293,0,0,1849,1851,5,323,0,0,1850,1845,1,0,0,0,1850,1847,1,0,0,0,1850,1849,1,0,0,0,1851,57,1,0,0,0,1852,1857,5,96,0,0,1853,1857,5,60,0,0,1854,1857,5,80,0,0,1855,1857,3,64,32,0,1856,1852,1,0,0,0,1856,1853,1,0,0,0,1856,1854,1,0,0,0,1856,1855,1,0,0,0,1857,59,1,0,0,0,1858,1874,3,1252,626,0,1859,1874,3,1274,637,0,1860,1861,3,1028,514,0,1861,1862,3,1252,626,0,1862,1863,3,1032,516,0,1863,1874,1,0,0,0,1864,1865,3,1028,514,0,1865,1866,5,2,0,0,1866,1867,3,1250,625,0,1867,1868,5,3,0,0,1868,1869,3,1252,626,0,1869,1874,1,0,0,0,1870,1874,3,264,132,0,1871,1874,5,53,0,0,1872,1874,5,245,0,0,1873,1858,1,0,0,0,1873,1859,1,0,0,0,1873,1860,1,0,0,0,1873,1864,1,0,0,0,1873,1870,1,0,0,0,1873,1871,1,0,0,0,1873,1872,1,0,0,0,1874,61,1,0,0,0,1875,1879,3,1252,626,0,1876,1879,5,53,0,0,1877,1879,1,0,0,0,1878,1875,1,0,0,0,1878,1876,1,0,0,0,1878,1877,1,0,0,0,1879,63,1,0,0,0,1880,1883,3,1270,635,0,1881,1883,3,1252,626,0,1882,1880,1,0,0,0,1882,1881,1,0,0,0,1883,65,1,0,0,0,1884,1885,5,306,0,0,1885,1886,3,68,34,0,1886,67,1,0,0,0,1887,1896,3,70,35,0,1888,1889,5,411,0,0,1889,1896,5,379,0,0,1890,1891,5,349,0,0,1891,1892,5,235,0,0,1892,1896,5,242,0,0,1893,1894,5,325,0,0,1894,1896,5,106,0,0,1895,1887,1,0,0,0,1895,1888,1,0,0,0,1895,1890,1,0,0,0,1895,1893,1,0,0,0,1896,69,1,0,0,0,1897,1900,3,50,25,0,1898,1900,5,30,0,0,1899,1897,1,0,0,0,1899,1898,1,0,0,0,1900,71,1,0,0,0,1901,1902,5,326,0,0,1902,1905,3,44,22,0,1903,1905,3,66,33,0,1904,1901,1,0,0,0,1904,1903,1,0,0,0,1905,73,1,0,0,0,1906,1907,5,326,0,0,1907,1910,3,48,24,0,1908,1910,3,66,33,0,1909,1906,1,0,0,0,1909,1908,1,0,0,0,1910,75,1,0,0,0,1911,1921,5,328,0,0,1912,1922,3,50,25,0,1913,1914,5,411,0,0,1914,1922,5,379,0,0,1915,1916,5,349,0,0,1916,1917,5,235,0,0,1917,1922,5,242,0,0,1918,1919,5,325,0,0,1919,1922,5,106,0,0,1920,1922,5,30,0,0,1921,1912,1,0,0,0,1921,1913,1,0,0,0,1921,1915,1,0,0,0,1921,1918,1,0,0,0,1921,1920,1,0,0,0,1922,77,1,0,0,0,1923,1924,5,326,0,0,1924,1925,5,165,0,0,1925,1926,3,80,40,0,1926,1927,3,82,41,0,1927,79,1,0,0,0,1928,1931,5,30,0,0,1929,1931,3,1208,604,0,1930,1928,1,0,0,0,1930,1929,1,0,0,0,1931,81,1,0,0,0,1932,1933,7,5,0,0,1933,83,1,0,0,0,1934,1935,5,155,0,0,1935,85,1,0,0,0,1936,1937,5,187,0,0,1937,1938,7,6,0,0,1938,87,1,0,0,0,1939,1940,5,138,0,0,1940,1943,5,92,0,0,1941,1942,5,220,0,0,1942,1944,5,389,0,0,1943,1941,1,0,0,0,1943,1944,1,0,0,0,1944,1945,1,0,0,0,1945,1948,3,958,479,0,1946,1949,3,90,45,0,1947,1949,3,92,46,0,1948,1946,1,0,0,0,1948,1947,1,0,0,0,1949,2040,1,0,0,0,1950,1951,5,138,0,0,1951,1952,5,92,0,0,1952,1953,5,30,0,0,1953,1954,5,68,0,0,1954,1955,5,344,0,0,1955,1959,3,1234,617,0,1956,1957,5,274,0,0,1957,1958,5,147,0,0,1958,1960,3,1262,631,0,1959,1956,1,0,0,0,1959,1960,1,0,0,0,1960,1961,1,0,0,0,1961,1962,5,326,0,0,1962,1963,5,344,0,0,1963,1964,3,1234,617,0,1964,1965,3,840,420,0,1965,2040,1,0,0,0,1966,1967,5,138,0,0,1967,1970,5,226,0,0,1968,1969,5,220,0,0,1969,1971,5,389,0,0,1970,1968,1,0,0,0,1970,1971,1,0,0,0,1971,1972,1,0,0,0,1972,1975,3,1218,609,0,1973,1976,3,90,45,0,1974,1976,3,94,47,0,1975,1973,1,0,0,0,1975,1974,1,0,0,0,1976,2040,1,0,0,0,1977,1978,5,138,0,0,1978,1979,5,226,0,0,1979,1980,5,30,0,0,1980,1981,5,68,0,0,1981,1982,5,344,0,0,1982,1986,3,1234,617,0,1983,1984,5,274,0,0,1984,1985,5,147,0,0,1985,1987,3,1262,631,0,1986,1983,1,0,0,0,1986,1987,1,0,0,0,1987,1988,1,0,0,0,1988,1989,5,326,0,0,1989,1990,5,344,0,0,1990,1991,3,1234,617,0,1991,1992,3,840,420,0,1992,2040,1,0,0,0,1993,1994,5,138,0,0,1994,1997,5,369,0,0,1995,1996,5,220,0,0,1996,1998,5,389,0,0,1997,1995,1,0,0,0,1997,1998,1,0,0,0,1998,1999,1,0,0,0,1999,2e3,3,956,478,0,2e3,2001,3,90,45,0,2001,2040,1,0,0,0,2002,2003,5,138,0,0,2003,2004,5,251,0,0,2004,2007,5,369,0,0,2005,2006,5,220,0,0,2006,2008,5,389,0,0,2007,2005,1,0,0,0,2007,2008,1,0,0,0,2008,2009,1,0,0,0,2009,2010,3,1230,615,0,2010,2011,3,90,45,0,2011,2040,1,0,0,0,2012,2013,5,138,0,0,2013,2014,5,251,0,0,2014,2015,5,369,0,0,2015,2016,5,30,0,0,2016,2017,5,68,0,0,2017,2018,5,344,0,0,2018,2022,3,1234,617,0,2019,2020,5,274,0,0,2020,2021,5,147,0,0,2021,2023,3,1262,631,0,2022,2019,1,0,0,0,2022,2023,1,0,0,0,2023,2024,1,0,0,0,2024,2025,5,326,0,0,2025,2026,5,344,0,0,2026,2027,3,1234,617,0,2027,2028,3,840,420,0,2028,2040,1,0,0,0,2029,2030,5,138,0,0,2030,2031,5,63,0,0,2031,2034,5,92,0,0,2032,2033,5,220,0,0,2033,2035,5,389,0,0,2034,2032,1,0,0,0,2034,2035,1,0,0,0,2035,2036,1,0,0,0,2036,2037,3,958,479,0,2037,2038,3,90,45,0,2038,2040,1,0,0,0,2039,1939,1,0,0,0,2039,1950,1,0,0,0,2039,1966,1,0,0,0,2039,1977,1,0,0,0,2039,1993,1,0,0,0,2039,2002,1,0,0,0,2039,2012,1,0,0,0,2039,2029,1,0,0,0,2040,89,1,0,0,0,2041,2046,3,96,48,0,2042,2043,5,6,0,0,2043,2045,3,96,48,0,2044,2042,1,0,0,0,2045,2048,1,0,0,0,2046,2044,1,0,0,0,2046,2047,1,0,0,0,2047,91,1,0,0,0,2048,2046,1,0,0,0,2049,2050,5,435,0,0,2050,2051,5,278,0,0,2051,2052,3,1230,615,0,2052,2053,3,120,60,0,2053,2058,1,0,0,0,2054,2055,5,436,0,0,2055,2056,5,278,0,0,2056,2058,3,1230,615,0,2057,2049,1,0,0,0,2057,2054,1,0,0,0,2058,93,1,0,0,0,2059,2060,5,435,0,0,2060,2061,5,278,0,0,2061,2062,3,1230,615,0,2062,95,1,0,0,0,2063,2064,5,133,0,0,2064,2305,3,168,84,0,2065,2066,5,133,0,0,2066,2067,5,220,0,0,2067,2068,5,77,0,0,2068,2069,5,389,0,0,2069,2305,3,168,84,0,2070,2071,5,133,0,0,2071,2072,5,44,0,0,2072,2305,3,168,84,0,2073,2074,5,133,0,0,2074,2075,5,44,0,0,2075,2076,5,220,0,0,2076,2077,5,77,0,0,2077,2078,5,389,0,0,2078,2305,3,168,84,0,2079,2080,5,138,0,0,2080,2081,3,648,324,0,2081,2082,3,1264,632,0,2082,2083,3,98,49,0,2083,2305,1,0,0,0,2084,2085,5,138,0,0,2085,2086,3,648,324,0,2086,2087,3,1264,632,0,2087,2088,5,191,0,0,2088,2089,5,77,0,0,2089,2090,5,78,0,0,2090,2305,1,0,0,0,2091,2092,5,138,0,0,2092,2093,3,648,324,0,2093,2094,3,1264,632,0,2094,2095,5,326,0,0,2095,2096,5,77,0,0,2096,2097,5,78,0,0,2097,2305,1,0,0,0,2098,2099,5,138,0,0,2099,2100,3,648,324,0,2100,2101,3,1264,632,0,2101,2102,5,191,0,0,2102,2103,5,437,0,0,2103,2305,1,0,0,0,2104,2105,5,138,0,0,2105,2106,3,648,324,0,2106,2107,3,1264,632,0,2107,2108,5,191,0,0,2108,2109,5,437,0,0,2109,2110,5,220,0,0,2110,2111,5,389,0,0,2111,2305,1,0,0,0,2112,2113,5,138,0,0,2113,2114,3,648,324,0,2114,2115,3,1264,632,0,2115,2116,5,326,0,0,2116,2117,5,335,0,0,2117,2118,3,1258,629,0,2118,2305,1,0,0,0,2119,2120,5,138,0,0,2120,2121,3,648,324,0,2121,2122,3,1250,625,0,2122,2123,5,326,0,0,2123,2124,5,335,0,0,2124,2125,3,1258,629,0,2125,2305,1,0,0,0,2126,2127,5,138,0,0,2127,2128,3,648,324,0,2128,2129,3,1264,632,0,2129,2130,5,326,0,0,2130,2131,3,108,54,0,2131,2305,1,0,0,0,2132,2133,5,138,0,0,2133,2134,3,648,324,0,2134,2135,3,1264,632,0,2135,2136,5,306,0,0,2136,2137,3,108,54,0,2137,2305,1,0,0,0,2138,2139,5,138,0,0,2139,2140,3,648,324,0,2140,2141,3,1264,632,0,2141,2142,5,326,0,0,2142,2143,5,338,0,0,2143,2144,3,1264,632,0,2144,2305,1,0,0,0,2145,2146,5,138,0,0,2146,2147,3,648,324,0,2147,2148,3,1264,632,0,2148,2149,5,133,0,0,2149,2150,5,438,0,0,2150,2151,3,178,89,0,2151,2152,5,36,0,0,2152,2153,5,219,0,0,2153,2154,3,258,129,0,2154,2305,1,0,0,0,2155,2156,5,138,0,0,2156,2157,3,648,324,0,2157,2158,3,1264,632,0,2158,2159,3,116,58,0,2159,2305,1,0,0,0,2160,2161,5,138,0,0,2161,2162,3,648,324,0,2162,2163,3,1264,632,0,2163,2164,5,191,0,0,2164,2165,5,219,0,0,2165,2305,1,0,0,0,2166,2167,5,138,0,0,2167,2168,3,648,324,0,2168,2169,3,1264,632,0,2169,2170,5,191,0,0,2170,2171,5,219,0,0,2171,2172,5,220,0,0,2172,2173,5,389,0,0,2173,2305,1,0,0,0,2174,2175,5,191,0,0,2175,2176,3,648,324,0,2176,2177,5,220,0,0,2177,2178,5,389,0,0,2178,2179,3,1264,632,0,2179,2180,3,100,50,0,2180,2305,1,0,0,0,2181,2182,5,191,0,0,2182,2183,3,648,324,0,2183,2184,3,1264,632,0,2184,2185,3,100,50,0,2185,2305,1,0,0,0,2186,2187,5,138,0,0,2187,2188,3,648,324,0,2188,2189,3,1264,632,0,2189,2190,3,650,325,0,2190,2191,5,353,0,0,2191,2192,3,996,498,0,2192,2193,3,102,51,0,2193,2194,3,104,52,0,2194,2305,1,0,0,0,2195,2196,5,138,0,0,2196,2197,3,648,324,0,2197,2198,3,1264,632,0,2198,2199,3,306,153,0,2199,2305,1,0,0,0,2200,2201,5,133,0,0,2201,2305,3,188,94,0,2202,2203,5,138,0,0,2203,2204,5,45,0,0,2204,2206,3,1224,612,0,2205,2207,3,398,199,0,2206,2205,1,0,0,0,2207,2208,1,0,0,0,2208,2206,1,0,0,0,2208,2209,1,0,0,0,2209,2305,1,0,0,0,2210,2211,5,365,0,0,2211,2212,5,45,0,0,2212,2305,3,1224,612,0,2213,2214,5,191,0,0,2214,2217,5,45,0,0,2215,2216,5,220,0,0,2216,2218,5,389,0,0,2217,2215,1,0,0,0,2217,2218,1,0,0,0,2218,2219,1,0,0,0,2219,2220,3,1224,612,0,2220,2221,3,100,50,0,2221,2305,1,0,0,0,2222,2223,5,326,0,0,2223,2224,5,372,0,0,2224,2305,5,270,0,0,2225,2226,5,158,0,0,2226,2227,5,80,0,0,2227,2305,3,1234,617,0,2228,2229,5,326,0,0,2229,2230,5,372,0,0,2230,2305,5,158,0,0,2231,2232,5,326,0,0,2232,2305,5,439,0,0,2233,2234,5,326,0,0,2234,2305,5,360,0,0,2235,2237,5,193,0,0,2236,2238,7,7,0,0,2237,2236,1,0,0,0,2237,2238,1,0,0,0,2238,2239,1,0,0,0,2239,2240,5,350,0,0,2240,2305,3,1222,611,0,2241,2242,5,193,0,0,2242,2243,5,350,0,0,2243,2305,7,8,0,0,2244,2245,5,186,0,0,2245,2246,5,350,0,0,2246,2305,3,1222,611,0,2247,2248,5,186,0,0,2248,2249,5,350,0,0,2249,2305,7,8,0,0,2250,2251,5,193,0,0,2251,2252,5,314,0,0,2252,2305,3,1234,617,0,2253,2254,5,193,0,0,2254,2255,5,139,0,0,2255,2256,5,314,0,0,2256,2305,3,1234,617,0,2257,2258,5,193,0,0,2258,2259,5,305,0,0,2259,2260,5,314,0,0,2260,2305,3,1234,617,0,2261,2262,5,186,0,0,2262,2263,5,314,0,0,2263,2305,3,1234,617,0,2264,2265,5,228,0,0,2265,2305,3,1230,615,0,2266,2267,5,262,0,0,2267,2268,5,228,0,0,2268,2305,3,1230,615,0,2269,2270,5,268,0,0,2270,2305,3,470,235,0,2271,2272,5,77,0,0,2272,2305,5,268,0,0,2273,2274,5,275,0,0,2274,2275,5,94,0,0,2275,2305,3,1260,630,0,2276,2277,5,326,0,0,2277,2278,5,344,0,0,2278,2305,3,1234,617,0,2279,2280,5,326,0,0,2280,2305,3,108,54,0,2281,2282,5,306,0,0,2282,2305,3,108,54,0,2283,2284,5,305,0,0,2284,2285,5,219,0,0,2285,2305,3,106,53,0,2286,2287,5,193,0,0,2287,2288,5,407,0,0,2288,2289,5,242,0,0,2289,2305,5,320,0,0,2290,2291,5,186,0,0,2291,2292,5,407,0,0,2292,2293,5,242,0,0,2293,2305,5,320,0,0,2294,2295,5,209,0,0,2295,2296,5,407,0,0,2296,2297,5,242,0,0,2297,2305,5,320,0,0,2298,2299,5,262,0,0,2299,2300,5,209,0,0,2300,2301,5,407,0,0,2301,2302,5,242,0,0,2302,2305,5,320,0,0,2303,2305,3,306,153,0,2304,2063,1,0,0,0,2304,2065,1,0,0,0,2304,2070,1,0,0,0,2304,2073,1,0,0,0,2304,2079,1,0,0,0,2304,2084,1,0,0,0,2304,2091,1,0,0,0,2304,2098,1,0,0,0,2304,2104,1,0,0,0,2304,2112,1,0,0,0,2304,2119,1,0,0,0,2304,2126,1,0,0,0,2304,2132,1,0,0,0,2304,2138,1,0,0,0,2304,2145,1,0,0,0,2304,2155,1,0,0,0,2304,2160,1,0,0,0,2304,2166,1,0,0,0,2304,2174,1,0,0,0,2304,2181,1,0,0,0,2304,2186,1,0,0,0,2304,2195,1,0,0,0,2304,2200,1,0,0,0,2304,2202,1,0,0,0,2304,2210,1,0,0,0,2304,2213,1,0,0,0,2304,2222,1,0,0,0,2304,2225,1,0,0,0,2304,2228,1,0,0,0,2304,2231,1,0,0,0,2304,2233,1,0,0,0,2304,2235,1,0,0,0,2304,2241,1,0,0,0,2304,2244,1,0,0,0,2304,2247,1,0,0,0,2304,2250,1,0,0,0,2304,2253,1,0,0,0,2304,2257,1,0,0,0,2304,2261,1,0,0,0,2304,2264,1,0,0,0,2304,2266,1,0,0,0,2304,2269,1,0,0,0,2304,2271,1,0,0,0,2304,2273,1,0,0,0,2304,2276,1,0,0,0,2304,2279,1,0,0,0,2304,2281,1,0,0,0,2304,2283,1,0,0,0,2304,2286,1,0,0,0,2304,2290,1,0,0,0,2304,2294,1,0,0,0,2304,2298,1,0,0,0,2304,2303,1,0,0,0,2305,97,1,0,0,0,2306,2307,5,326,0,0,2307,2308,5,53,0,0,2308,2312,3,1038,519,0,2309,2310,5,191,0,0,2310,2312,5,53,0,0,2311,2306,1,0,0,0,2311,2309,1,0,0,0,2312,99,1,0,0,0,2313,2317,5,150,0,0,2314,2317,5,308,0,0,2315,2317,1,0,0,0,2316,2313,1,0,0,0,2316,2314,1,0,0,0,2316,2315,1,0,0,0,2317,101,1,0,0,0,2318,2319,5,43,0,0,2319,2322,3,470,235,0,2320,2322,1,0,0,0,2321,2318,1,0,0,0,2321,2320,1,0,0,0,2322,103,1,0,0,0,2323,2324,5,100,0,0,2324,2327,3,1038,519,0,2325,2327,1,0,0,0,2326,2323,1,0,0,0,2326,2325,1,0,0,0,2327,105,1,0,0,0,2328,2335,5,263,0,0,2329,2335,5,113,0,0,2330,2335,5,53,0,0,2331,2332,5,100,0,0,2332,2333,5,226,0,0,2333,2335,3,1218,609,0,2334,2328,1,0,0,0,2334,2329,1,0,0,0,2334,2330,1,0,0,0,2334,2331,1,0,0,0,2335,107,1,0,0,0,2336,2337,5,2,0,0,2337,2338,3,112,56,0,2338,2339,5,3,0,0,2339,109,1,0,0,0,2340,2341,5,105,0,0,2341,2344,3,108,54,0,2342,2344,1,0,0,0,2343,2340,1,0,0,0,2343,2342,1,0,0,0,2344,111,1,0,0,0,2345,2350,3,114,57,0,2346,2347,5,6,0,0,2347,2349,3,114,57,0,2348,2346,1,0,0,0,2349,2352,1,0,0,0,2350,2348,1,0,0,0,2350,2351,1,0,0,0,2351,113,1,0,0,0,2352,2350,1,0,0,0,2353,2362,3,1272,636,0,2354,2355,5,10,0,0,2355,2363,3,420,210,0,2356,2357,5,11,0,0,2357,2360,3,1272,636,0,2358,2359,5,10,0,0,2359,2361,3,420,210,0,2360,2358,1,0,0,0,2360,2361,1,0,0,0,2361,2363,1,0,0,0,2362,2354,1,0,0,0,2362,2356,1,0,0,0,2362,2363,1,0,0,0,2363,115,1,0,0,0,2364,2366,3,118,59,0,2365,2364,1,0,0,0,2366,2367,1,0,0,0,2367,2365,1,0,0,0,2367,2368,1,0,0,0,2368,117,1,0,0,0,2369,2373,5,307,0,0,2370,2371,3,12,6,0,2371,2372,3,264,132,0,2372,2374,1,0,0,0,2373,2370,1,0,0,0,2373,2374,1,0,0,0,2374,2382,1,0,0,0,2375,2379,5,326,0,0,2376,2380,3,262,131,0,2377,2378,5,438,0,0,2378,2380,3,178,89,0,2379,2376,1,0,0,0,2379,2377,1,0,0,0,2380,2382,1,0,0,0,2381,2369,1,0,0,0,2381,2375,1,0,0,0,2382,119,1,0,0,0,2383,2384,5,62,0,0,2384,2385,5,415,0,0,2385,2386,5,105,0,0,2386,2387,5,2,0,0,2387,2388,3,124,62,0,2388,2389,5,3,0,0,2389,2410,1,0,0,0,2390,2391,5,62,0,0,2391,2392,5,415,0,0,2392,2393,5,68,0,0,2393,2394,5,2,0,0,2394,2395,3,1156,578,0,2395,2396,5,3,0,0,2396,2410,1,0,0,0,2397,2398,5,62,0,0,2398,2399,5,415,0,0,2399,2400,5,64,0,0,2400,2401,5,2,0,0,2401,2402,3,1156,578,0,2402,2403,5,3,0,0,2403,2404,5,94,0,0,2404,2405,5,2,0,0,2405,2406,3,1156,578,0,2406,2407,5,3,0,0,2407,2410,1,0,0,0,2408,2410,5,53,0,0,2409,2383,1,0,0,0,2409,2390,1,0,0,0,2409,2397,1,0,0,0,2409,2408,1,0,0,0,2410,121,1,0,0,0,2411,2412,3,1270,635,0,2412,2413,3,1250,625,0,2413,123,1,0,0,0,2414,2419,3,122,61,0,2415,2416,5,6,0,0,2416,2418,3,122,61,0,2417,2415,1,0,0,0,2418,2421,1,0,0,0,2419,2417,1,0,0,0,2419,2420,1,0,0,0,2420,125,1,0,0,0,2421,2419,1,0,0,0,2422,2423,5,138,0,0,2423,2424,5,353,0,0,2424,2425,3,470,235,0,2425,2426,3,128,64,0,2426,127,1,0,0,0,2427,2432,3,130,65,0,2428,2429,5,6,0,0,2429,2431,3,130,65,0,2430,2428,1,0,0,0,2431,2434,1,0,0,0,2432,2430,1,0,0,0,2432,2433,1,0,0,0,2433,129,1,0,0,0,2434,2432,1,0,0,0,2435,2436,5,133,0,0,2436,2437,5,143,0,0,2437,2438,3,982,491,0,2438,2439,3,100,50,0,2439,2459,1,0,0,0,2440,2441,5,191,0,0,2441,2444,5,143,0,0,2442,2443,5,220,0,0,2443,2445,5,389,0,0,2444,2442,1,0,0,0,2444,2445,1,0,0,0,2445,2446,1,0,0,0,2446,2447,3,1264,632,0,2447,2448,3,100,50,0,2448,2459,1,0,0,0,2449,2450,5,138,0,0,2450,2451,5,143,0,0,2451,2452,3,1264,632,0,2452,2453,3,650,325,0,2453,2454,5,353,0,0,2454,2455,3,996,498,0,2455,2456,3,102,51,0,2456,2457,3,100,50,0,2457,2459,1,0,0,0,2458,2435,1,0,0,0,2458,2440,1,0,0,0,2458,2449,1,0,0,0,2459,131,1,0,0,0,2460,2463,5,157,0,0,2461,2464,3,854,427,0,2462,2464,5,30,0,0,2463,2461,1,0,0,0,2463,2462,1,0,0,0,2464,133,1,0,0,0,2465,2467,5,169,0,0,2466,2468,5,107,0,0,2467,2466,1,0,0,0,2467,2468,1,0,0,0,2468,2469,1,0,0,0,2469,2470,3,1230,615,0,2470,2471,3,192,96,0,2471,2473,3,136,68,0,2472,2474,5,290,0,0,2473,2472,1,0,0,0,2473,2474,1,0,0,0,2474,2475,1,0,0,0,2475,2476,3,138,69,0,2476,2477,3,144,72,0,2477,2478,3,12,6,0,2478,2479,3,140,70,0,2479,2480,3,974,487,0,2480,2494,1,0,0,0,2481,2482,5,169,0,0,2482,2483,5,2,0,0,2483,2484,3,796,398,0,2484,2485,5,3,0,0,2485,2487,5,94,0,0,2486,2488,5,290,0,0,2487,2486,1,0,0,0,2487,2488,1,0,0,0,2488,2489,1,0,0,0,2489,2490,3,138,69,0,2490,2491,3,12,6,0,2491,2492,3,140,70,0,2492,2494,1,0,0,0,2493,2465,1,0,0,0,2493,2481,1,0,0,0,2494,135,1,0,0,0,2495,2496,7,9,0,0,2496,137,1,0,0,0,2497,2501,3,1252,626,0,2498,2501,5,336,0,0,2499,2501,5,337,0,0,2500,2497,1,0,0,0,2500,2498,1,0,0,0,2500,2499,1,0,0,0,2501,139,1,0,0,0,2502,2504,3,142,71,0,2503,2502,1,0,0,0,2504,2507,1,0,0,0,2505,2503,1,0,0,0,2505,2506,1,0,0,0,2506,2513,1,0,0,0,2507,2505,1,0,0,0,2508,2509,5,2,0,0,2509,2510,3,146,73,0,2510,2511,5,3,0,0,2511,2513,1,0,0,0,2512,2505,1,0,0,0,2512,2508,1,0,0,0,2513,141,1,0,0,0,2514,2550,5,107,0,0,2515,2550,5,112,0,0,2516,2517,5,183,0,0,2517,2518,3,748,374,0,2518,2519,3,1252,626,0,2519,2550,1,0,0,0,2520,2521,5,78,0,0,2521,2522,3,748,374,0,2522,2523,3,1252,626,0,2523,2550,1,0,0,0,2524,2550,5,171,0,0,2525,2550,5,216,0,0,2526,2527,5,291,0,0,2527,2528,3,748,374,0,2528,2529,3,1252,626,0,2529,2550,1,0,0,0,2530,2531,5,197,0,0,2531,2532,3,748,374,0,2532,2533,3,1252,626,0,2533,2550,1,0,0,0,2534,2535,5,209,0,0,2535,2536,5,291,0,0,2536,2550,3,194,97,0,2537,2538,5,209,0,0,2538,2539,5,291,0,0,2539,2550,5,9,0,0,2540,2541,5,209,0,0,2541,2542,5,77,0,0,2542,2543,5,78,0,0,2543,2550,3,194,97,0,2544,2545,5,209,0,0,2545,2546,5,78,0,0,2546,2550,3,194,97,0,2547,2548,5,194,0,0,2548,2550,3,1252,626,0,2549,2514,1,0,0,0,2549,2515,1,0,0,0,2549,2516,1,0,0,0,2549,2520,1,0,0,0,2549,2524,1,0,0,0,2549,2525,1,0,0,0,2549,2526,1,0,0,0,2549,2530,1,0,0,0,2549,2534,1,0,0,0,2549,2537,1,0,0,0,2549,2540,1,0,0,0,2549,2544,1,0,0,0,2549,2547,1,0,0,0,2550,143,1,0,0,0,2551,2553,5,100,0,0,2552,2551,1,0,0,0,2552,2553,1,0,0,0,2553,2554,1,0,0,0,2554,2555,5,184,0,0,2555,2558,3,1252,626,0,2556,2558,1,0,0,0,2557,2552,1,0,0,0,2557,2556,1,0,0,0,2558,145,1,0,0,0,2559,2564,3,148,74,0,2560,2561,5,6,0,0,2561,2563,3,148,74,0,2562,2560,1,0,0,0,2563,2566,1,0,0,0,2564,2562,1,0,0,0,2564,2565,1,0,0,0,2565,147,1,0,0,0,2566,2564,1,0,0,0,2567,2568,3,1272,636,0,2568,2569,3,150,75,0,2569,149,1,0,0,0,2570,2586,3,58,29,0,2571,2586,3,264,132,0,2572,2586,5,9,0,0,2573,2574,5,2,0,0,2574,2579,3,58,29,0,2575,2576,5,6,0,0,2576,2578,3,58,29,0,2577,2575,1,0,0,0,2578,2581,1,0,0,0,2579,2577,1,0,0,0,2579,2580,1,0,0,0,2580,2582,1,0,0,0,2581,2579,1,0,0,0,2582,2583,5,3,0,0,2583,2586,1,0,0,0,2584,2586,1,0,0,0,2585,2570,1,0,0,0,2585,2571,1,0,0,0,2585,2572,1,0,0,0,2585,2573,1,0,0,0,2585,2584,1,0,0,0,2586,151,1,0,0,0,2587,2588,5,46,0,0,2588,2589,3,154,77,0,2589,2593,5,92,0,0,2590,2591,5,220,0,0,2591,2592,5,77,0,0,2592,2594,5,389,0,0,2593,2590,1,0,0,0,2593,2594,1,0,0,0,2594,2595,1,0,0,0,2595,2626,3,1230,615,0,2596,2597,5,2,0,0,2597,2598,3,156,78,0,2598,2599,5,3,0,0,2599,2600,3,216,108,0,2600,2601,3,218,109,0,2601,2602,3,226,113,0,2602,2603,3,228,114,0,2603,2604,3,230,115,0,2604,2605,3,232,116,0,2605,2627,1,0,0,0,2606,2607,5,268,0,0,2607,2608,3,470,235,0,2608,2609,3,158,79,0,2609,2610,3,218,109,0,2610,2611,3,226,113,0,2611,2612,3,228,114,0,2612,2613,3,230,115,0,2613,2614,3,232,116,0,2614,2627,1,0,0,0,2615,2616,5,278,0,0,2616,2617,5,268,0,0,2617,2618,3,1230,615,0,2618,2619,3,158,79,0,2619,2620,3,120,60,0,2620,2621,3,218,109,0,2621,2622,3,226,113,0,2622,2623,3,228,114,0,2623,2624,3,230,115,0,2624,2625,3,232,116,0,2625,2627,1,0,0,0,2626,2596,1,0,0,0,2626,2606,1,0,0,0,2626,2615,1,0,0,0,2627,153,1,0,0,0,2628,2637,5,347,0,0,2629,2637,5,345,0,0,2630,2631,5,245,0,0,2631,2637,7,10,0,0,2632,2633,5,213,0,0,2633,2637,7,10,0,0,2634,2637,5,360,0,0,2635,2637,1,0,0,0,2636,2628,1,0,0,0,2636,2629,1,0,0,0,2636,2630,1,0,0,0,2636,2632,1,0,0,0,2636,2634,1,0,0,0,2636,2635,1,0,0,0,2637,155,1,0,0,0,2638,2641,3,160,80,0,2639,2641,1,0,0,0,2640,2638,1,0,0,0,2640,2639,1,0,0,0,2641,157,1,0,0,0,2642,2643,5,2,0,0,2643,2644,3,162,81,0,2644,2645,5,3,0,0,2645,2648,1,0,0,0,2646,2648,1,0,0,0,2647,2642,1,0,0,0,2647,2646,1,0,0,0,2648,159,1,0,0,0,2649,2654,3,164,82,0,2650,2651,5,6,0,0,2651,2653,3,164,82,0,2652,2650,1,0,0,0,2653,2656,1,0,0,0,2654,2652,1,0,0,0,2654,2655,1,0,0,0,2655,161,1,0,0,0,2656,2654,1,0,0,0,2657,2662,3,166,83,0,2658,2659,5,6,0,0,2659,2661,3,166,83,0,2660,2658,1,0,0,0,2661,2664,1,0,0,0,2662,2660,1,0,0,0,2662,2663,1,0,0,0,2663,163,1,0,0,0,2664,2662,1,0,0,0,2665,2669,3,188,94,0,2666,2669,3,182,91,0,2667,2669,3,168,84,0,2668,2665,1,0,0,0,2668,2666,1,0,0,0,2668,2667,1,0,0,0,2669,165,1,0,0,0,2670,2673,3,170,85,0,2671,2673,3,188,94,0,2672,2670,1,0,0,0,2672,2671,1,0,0,0,2673,167,1,0,0,0,2674,2675,3,1264,632,0,2675,2676,3,996,498,0,2676,2677,3,302,151,0,2677,2678,3,172,86,0,2678,169,1,0,0,0,2679,2682,3,1264,632,0,2680,2681,5,105,0,0,2681,2683,5,273,0,0,2682,2680,1,0,0,0,2682,2683,1,0,0,0,2683,2684,1,0,0,0,2684,2685,3,172,86,0,2685,171,1,0,0,0,2686,2688,3,174,87,0,2687,2686,1,0,0,0,2688,2691,1,0,0,0,2689,2687,1,0,0,0,2689,2690,1,0,0,0,2690,173,1,0,0,0,2691,2689,1,0,0,0,2692,2693,5,45,0,0,2693,2694,3,1234,617,0,2694,2695,3,176,88,0,2695,2701,1,0,0,0,2696,2701,3,176,88,0,2697,2701,3,180,90,0,2698,2699,5,43,0,0,2699,2701,3,470,235,0,2700,2692,1,0,0,0,2700,2696,1,0,0,0,2700,2697,1,0,0,0,2700,2698,1,0,0,0,2701,175,1,0,0,0,2702,2703,5,77,0,0,2703,2743,5,78,0,0,2704,2743,5,78,0,0,2705,2706,5,98,0,0,2706,2707,3,594,297,0,2707,2708,3,234,117,0,2708,2743,1,0,0,0,2709,2710,5,85,0,0,2710,2711,5,236,0,0,2711,2712,3,594,297,0,2712,2713,3,234,117,0,2713,2743,1,0,0,0,2714,2715,5,42,0,0,2715,2716,5,2,0,0,2716,2717,3,1038,519,0,2717,2720,5,3,0,0,2718,2719,5,262,0,0,2719,2721,5,228,0,0,2720,2718,1,0,0,0,2720,2721,1,0,0,0,2721,2743,1,0,0,0,2722,2723,5,53,0,0,2723,2743,3,1080,540,0,2724,2725,5,438,0,0,2725,2726,3,178,89,0,2726,2734,5,36,0,0,2727,2728,5,219,0,0,2728,2735,3,258,129,0,2729,2730,5,2,0,0,2730,2731,3,1038,519,0,2731,2732,5,3,0,0,2732,2733,5,440,0,0,2733,2735,1,0,0,0,2734,2727,1,0,0,0,2734,2729,1,0,0,0,2735,2743,1,0,0,0,2736,2737,5,86,0,0,2737,2738,3,1230,615,0,2738,2739,3,192,96,0,2739,2740,3,200,100,0,2740,2741,3,208,104,0,2741,2743,1,0,0,0,2742,2702,1,0,0,0,2742,2704,1,0,0,0,2742,2705,1,0,0,0,2742,2709,1,0,0,0,2742,2714,1,0,0,0,2742,2722,1,0,0,0,2742,2724,1,0,0,0,2742,2736,1,0,0,0,2743,177,1,0,0,0,2744,2748,5,139,0,0,2745,2746,5,147,0,0,2746,2748,5,53,0,0,2747,2744,1,0,0,0,2747,2745,1,0,0,0,2748,179,1,0,0,0,2749,2755,5,54,0,0,2750,2751,5,77,0,0,2751,2755,5,54,0,0,2752,2753,5,69,0,0,2753,2755,7,5,0,0,2754,2749,1,0,0,0,2754,2750,1,0,0,0,2754,2752,1,0,0,0,2755,181,1,0,0,0,2756,2757,5,120,0,0,2757,2758,3,1230,615,0,2758,2759,3,184,92,0,2759,183,1,0,0,0,2760,2761,7,11,0,0,2761,2763,3,186,93,0,2762,2760,1,0,0,0,2763,2766,1,0,0,0,2764,2762,1,0,0,0,2764,2765,1,0,0,0,2765,185,1,0,0,0,2766,2764,1,0,0,0,2767,2768,7,12,0,0,2768,187,1,0,0,0,2769,2770,5,45,0,0,2770,2771,3,1234,617,0,2771,2772,3,190,95,0,2772,2775,1,0,0,0,2773,2775,3,190,95,0,2774,2769,1,0,0,0,2774,2773,1,0,0,0,2775,189,1,0,0,0,2776,2777,5,42,0,0,2777,2778,5,2,0,0,2778,2779,3,1038,519,0,2779,2780,5,3,0,0,2780,2781,3,396,198,0,2781,2835,1,0,0,0,2782,2794,5,98,0,0,2783,2784,5,2,0,0,2784,2785,3,194,97,0,2785,2786,5,3,0,0,2786,2787,3,198,99,0,2787,2788,3,594,297,0,2788,2789,3,234,117,0,2789,2790,3,396,198,0,2790,2795,1,0,0,0,2791,2792,3,236,118,0,2792,2793,3,396,198,0,2793,2795,1,0,0,0,2794,2783,1,0,0,0,2794,2791,1,0,0,0,2795,2835,1,0,0,0,2796,2797,5,85,0,0,2797,2809,5,236,0,0,2798,2799,5,2,0,0,2799,2800,3,194,97,0,2800,2801,5,3,0,0,2801,2802,3,198,99,0,2802,2803,3,594,297,0,2803,2804,3,234,117,0,2804,2805,3,396,198,0,2805,2810,1,0,0,0,2806,2807,3,236,118,0,2807,2808,3,396,198,0,2808,2810,1,0,0,0,2809,2798,1,0,0,0,2809,2806,1,0,0,0,2810,2835,1,0,0,0,2811,2812,5,199,0,0,2812,2813,3,534,267,0,2813,2814,5,2,0,0,2814,2815,3,202,101,0,2815,2816,5,3,0,0,2816,2817,3,198,99,0,2817,2818,3,594,297,0,2818,2819,3,234,117,0,2819,2820,3,206,103,0,2820,2821,3,396,198,0,2821,2835,1,0,0,0,2822,2823,5,63,0,0,2823,2824,5,236,0,0,2824,2825,5,2,0,0,2825,2826,3,194,97,0,2826,2827,5,3,0,0,2827,2828,5,86,0,0,2828,2829,3,1230,615,0,2829,2830,3,192,96,0,2830,2831,3,200,100,0,2831,2832,3,208,104,0,2832,2833,3,396,198,0,2833,2835,1,0,0,0,2834,2776,1,0,0,0,2834,2782,1,0,0,0,2834,2796,1,0,0,0,2834,2811,1,0,0,0,2834,2822,1,0,0,0,2835,191,1,0,0,0,2836,2837,5,2,0,0,2837,2838,3,194,97,0,2838,2839,5,3,0,0,2839,2842,1,0,0,0,2840,2842,1,0,0,0,2841,2836,1,0,0,0,2841,2840,1,0,0,0,2842,193,1,0,0,0,2843,2848,3,196,98,0,2844,2845,5,6,0,0,2845,2847,3,196,98,0,2846,2844,1,0,0,0,2847,2850,1,0,0,0,2848,2846,1,0,0,0,2848,2849,1,0,0,0,2849,195,1,0,0,0,2850,2848,1,0,0,0,2851,2852,3,1264,632,0,2852,197,1,0,0,0,2853,2854,5,441,0,0,2854,2855,5,2,0,0,2855,2856,3,194,97,0,2856,2857,5,3,0,0,2857,2860,1,0,0,0,2858,2860,1,0,0,0,2859,2853,1,0,0,0,2859,2858,1,0,0,0,2860,199,1,0,0,0,2861,2862,5,249,0,0,2862,2865,7,13,0,0,2863,2865,1,0,0,0,2864,2861,1,0,0,0,2864,2863,1,0,0,0,2865,201,1,0,0,0,2866,2871,3,204,102,0,2867,2868,5,6,0,0,2868,2870,3,204,102,0,2869,2867,1,0,0,0,2870,2873,1,0,0,0,2871,2869,1,0,0,0,2871,2872,1,0,0,0,2872,203,1,0,0,0,2873,2871,1,0,0,0,2874,2875,3,540,270,0,2875,2882,5,105,0,0,2876,2883,3,610,305,0,2877,2878,5,271,0,0,2878,2879,5,2,0,0,2879,2880,3,610,305,0,2880,2881,5,3,0,0,2881,2883,1,0,0,0,2882,2876,1,0,0,0,2882,2877,1,0,0,0,2883,205,1,0,0,0,2884,2885,5,103,0,0,2885,2886,5,2,0,0,2886,2887,3,1038,519,0,2887,2888,5,3,0,0,2888,2891,1,0,0,0,2889,2891,1,0,0,0,2890,2884,1,0,0,0,2890,2889,1,0,0,0,2891,207,1,0,0,0,2892,2902,3,210,105,0,2893,2902,3,212,106,0,2894,2895,3,210,105,0,2895,2896,3,212,106,0,2896,2902,1,0,0,0,2897,2898,3,212,106,0,2898,2899,3,210,105,0,2899,2902,1,0,0,0,2900,2902,1,0,0,0,2901,2892,1,0,0,0,2901,2893,1,0,0,0,2901,2894,1,0,0,0,2901,2897,1,0,0,0,2901,2900,1,0,0,0,2902,209,1,0,0,0,2903,2904,5,80,0,0,2904,2905,5,362,0,0,2905,2906,3,214,107,0,2906,211,1,0,0,0,2907,2908,5,80,0,0,2908,2909,5,182,0,0,2909,2910,3,214,107,0,2910,213,1,0,0,0,2911,2912,5,262,0,0,2912,2918,5,132,0,0,2913,2918,5,308,0,0,2914,2918,5,150,0,0,2915,2916,5,326,0,0,2916,2918,7,14,0,0,2917,2911,1,0,0,0,2917,2913,1,0,0,0,2917,2914,1,0,0,0,2917,2915,1,0,0,0,2918,215,1,0,0,0,2919,2920,5,229,0,0,2920,2921,5,2,0,0,2921,2922,3,1208,604,0,2922,2923,5,3,0,0,2923,2926,1,0,0,0,2924,2926,1,0,0,0,2925,2919,1,0,0,0,2925,2924,1,0,0,0,2926,217,1,0,0,0,2927,2930,3,220,110,0,2928,2930,1,0,0,0,2929,2927,1,0,0,0,2929,2928,1,0,0,0,2930,219,1,0,0,0,2931,2932,5,278,0,0,2932,2933,5,147,0,0,2933,2934,3,1264,632,0,2934,2935,5,2,0,0,2935,2936,3,222,111,0,2936,2937,5,3,0,0,2937,221,1,0,0,0,2938,2943,3,224,112,0,2939,2940,5,6,0,0,2940,2942,3,224,112,0,2941,2939,1,0,0,0,2942,2945,1,0,0,0,2943,2941,1,0,0,0,2943,2944,1,0,0,0,2944,223,1,0,0,0,2945,2943,1,0,0,0,2946,2947,3,1264,632,0,2947,2948,3,544,272,0,2948,2949,3,546,273,0,2949,2961,1,0,0,0,2950,2951,3,1090,545,0,2951,2952,3,544,272,0,2952,2953,3,546,273,0,2953,2961,1,0,0,0,2954,2955,5,2,0,0,2955,2956,3,1038,519,0,2956,2957,5,3,0,0,2957,2958,3,544,272,0,2958,2959,3,546,273,0,2959,2961,1,0,0,0,2960,2946,1,0,0,0,2960,2950,1,0,0,0,2960,2954,1,0,0,0,2961,225,1,0,0,0,2962,2963,5,100,0,0,2963,2966,3,1234,617,0,2964,2966,1,0,0,0,2965,2962,1,0,0,0,2965,2964,1,0,0,0,2966,227,1,0,0,0,2967,2968,5,105,0,0,2968,2973,3,108,54,0,2969,2970,5,372,0,0,2970,2973,5,270,0,0,2971,2973,1,0,0,0,2972,2967,1,0,0,0,2972,2969,1,0,0,0,2972,2971,1,0,0,0,2973,229,1,0,0,0,2974,2975,5,80,0,0,2975,2981,5,161,0,0,2976,2982,5,191,0,0,2977,2978,5,182,0,0,2978,2982,5,313,0,0,2979,2980,5,285,0,0,2980,2982,5,313,0,0,2981,2976,1,0,0,0,2981,2977,1,0,0,0,2981,2979,1,0,0,0,2982,2985,1,0,0,0,2983,2985,1,0,0,0,2984,2974,1,0,0,0,2984,2983,1,0,0,0,2985,231,1,0,0,0,2986,2987,5,344,0,0,2987,2990,3,1234,617,0,2988,2990,1,0,0,0,2989,2986,1,0,0,0,2989,2988,1,0,0,0,2990,233,1,0,0,0,2991,2992,5,100,0,0,2992,2993,5,226,0,0,2993,2994,5,344,0,0,2994,2997,3,1234,617,0,2995,2997,1,0,0,0,2996,2991,1,0,0,0,2996,2995,1,0,0,0,2997,235,1,0,0,0,2998,2999,5,100,0,0,2999,3e3,5,226,0,0,3e3,3001,3,1218,609,0,3001,237,1,0,0,0,3002,3003,5,46,0,0,3003,3007,5,335,0,0,3004,3005,5,220,0,0,3005,3006,5,77,0,0,3006,3008,5,389,0,0,3007,3004,1,0,0,0,3007,3008,1,0,0,0,3008,3009,1,0,0,0,3009,3010,3,470,235,0,3010,3011,3,776,388,0,3011,3012,5,80,0,0,3012,3013,3,1156,578,0,3013,3014,5,64,0,0,3014,3015,3,938,469,0,3015,239,1,0,0,0,3016,3017,5,138,0,0,3017,3020,5,335,0,0,3018,3019,5,220,0,0,3019,3021,5,389,0,0,3020,3018,1,0,0,0,3020,3021,1,0,0,0,3021,3022,1,0,0,0,3022,3023,3,470,235,0,3023,3024,5,326,0,0,3024,3025,5,335,0,0,3025,3026,3,1258,629,0,3026,241,1,0,0,0,3027,3028,5,46,0,0,3028,3029,3,154,77,0,3029,3033,5,92,0,0,3030,3031,5,220,0,0,3031,3032,5,77,0,0,3032,3034,5,389,0,0,3033,3030,1,0,0,0,3033,3034,1,0,0,0,3034,3035,1,0,0,0,3035,3036,3,244,122,0,3036,3037,5,36,0,0,3037,3038,3,858,429,0,3038,3039,3,246,123,0,3039,243,1,0,0,0,3040,3041,3,1230,615,0,3041,3042,3,192,96,0,3042,3043,3,226,113,0,3043,3044,3,228,114,0,3044,3045,3,230,115,0,3045,3046,3,232,116,0,3046,245,1,0,0,0,3047,3051,5,105,0,0,3048,3052,5,174,0,0,3049,3050,5,262,0,0,3050,3052,5,174,0,0,3051,3048,1,0,0,0,3051,3049,1,0,0,0,3052,3055,1,0,0,0,3053,3055,1,0,0,0,3054,3047,1,0,0,0,3054,3053,1,0,0,0,3055,247,1,0,0,0,3056,3058,5,46,0,0,3057,3059,5,360,0,0,3058,3057,1,0,0,0,3058,3059,1,0,0,0,3059,3060,1,0,0,0,3060,3061,5,251,0,0,3061,3065,5,369,0,0,3062,3063,5,220,0,0,3063,3064,5,77,0,0,3064,3066,5,389,0,0,3065,3062,1,0,0,0,3065,3066,1,0,0,0,3066,3067,1,0,0,0,3067,3068,3,250,125,0,3068,3069,5,36,0,0,3069,3070,3,858,429,0,3070,3071,3,246,123,0,3071,249,1,0,0,0,3072,3073,3,1230,615,0,3073,3074,3,192,96,0,3074,3075,3,226,113,0,3075,3076,3,110,55,0,3076,3077,3,232,116,0,3077,251,1,0,0,0,3078,3079,5,298,0,0,3079,3080,5,251,0,0,3080,3082,5,369,0,0,3081,3083,5,109,0,0,3082,3081,1,0,0,0,3082,3083,1,0,0,0,3083,3084,1,0,0,0,3084,3085,3,1230,615,0,3085,3086,3,246,123,0,3086,253,1,0,0,0,3087,3088,5,46,0,0,3088,3089,3,154,77,0,3089,3093,5,321,0,0,3090,3091,5,220,0,0,3091,3092,5,77,0,0,3092,3094,5,389,0,0,3093,3090,1,0,0,0,3093,3094,1,0,0,0,3094,3095,1,0,0,0,3095,3097,3,1230,615,0,3096,3098,3,260,130,0,3097,3096,1,0,0,0,3097,3098,1,0,0,0,3098,255,1,0,0,0,3099,3100,5,138,0,0,3100,3103,5,321,0,0,3101,3102,5,220,0,0,3102,3104,5,389,0,0,3103,3101,1,0,0,0,3103,3104,1,0,0,0,3104,3105,1,0,0,0,3105,3106,3,1226,613,0,3106,3107,3,260,130,0,3107,257,1,0,0,0,3108,3109,5,2,0,0,3109,3110,3,260,130,0,3110,3111,5,3,0,0,3111,3114,1,0,0,0,3112,3114,1,0,0,0,3113,3108,1,0,0,0,3113,3112,1,0,0,0,3114,259,1,0,0,0,3115,3117,3,262,131,0,3116,3115,1,0,0,0,3117,3118,1,0,0,0,3118,3116,1,0,0,0,3118,3119,1,0,0,0,3119,261,1,0,0,0,3120,3121,5,36,0,0,3121,3152,3,998,499,0,3122,3123,5,148,0,0,3123,3152,3,264,132,0,3124,3152,5,173,0,0,3125,3127,5,225,0,0,3126,3128,5,147,0,0,3127,3126,1,0,0,0,3127,3128,1,0,0,0,3128,3129,1,0,0,0,3129,3152,3,264,132,0,3130,3131,5,252,0,0,3131,3152,3,264,132,0,3132,3133,5,255,0,0,3133,3152,3,264,132,0,3134,3135,5,262,0,0,3135,3152,7,15,0,0,3136,3137,5,274,0,0,3137,3138,5,147,0,0,3138,3152,3,470,235,0,3139,3140,5,321,0,0,3140,3141,5,259,0,0,3141,3152,3,470,235,0,3142,3143,5,333,0,0,3143,3144,3,12,6,0,3144,3145,3,264,132,0,3145,3152,1,0,0,0,3146,3147,5,307,0,0,3147,3149,3,12,6,0,3148,3150,3,264,132,0,3149,3148,1,0,0,0,3149,3150,1,0,0,0,3150,3152,1,0,0,0,3151,3120,1,0,0,0,3151,3122,1,0,0,0,3151,3124,1,0,0,0,3151,3125,1,0,0,0,3151,3130,1,0,0,0,3151,3132,1,0,0,0,3151,3134,1,0,0,0,3151,3136,1,0,0,0,3151,3139,1,0,0,0,3151,3142,1,0,0,0,3151,3146,1,0,0,0,3152,263,1,0,0,0,3153,3160,3,1248,624,0,3154,3155,5,12,0,0,3155,3160,3,1248,624,0,3156,3157,5,13,0,0,3157,3160,3,1248,624,0,3158,3160,3,1258,629,0,3159,3153,1,0,0,0,3159,3154,1,0,0,0,3159,3156,1,0,0,0,3159,3158,1,0,0,0,3160,265,1,0,0,0,3161,3166,3,264,132,0,3162,3163,5,6,0,0,3163,3165,3,264,132,0,3164,3162,1,0,0,0,3165,3168,1,0,0,0,3166,3164,1,0,0,0,3166,3167,1,0,0,0,3167,267,1,0,0,0,3168,3166,1,0,0,0,3169,3170,5,46,0,0,3170,3172,3,554,277,0,3171,3173,5,352,0,0,3172,3171,1,0,0,0,3172,3173,1,0,0,0,3173,3174,1,0,0,0,3174,3175,3,276,138,0,3175,3176,5,238,0,0,3176,3183,3,1234,617,0,3177,3178,5,215,0,0,3178,3179,3,270,135,0,3179,3181,3,272,136,0,3180,3182,3,274,137,0,3181,3180,1,0,0,0,3181,3182,1,0,0,0,3182,3184,1,0,0,0,3183,3177,1,0,0,0,3183,3184,1,0,0,0,3184,269,1,0,0,0,3185,3187,3,1234,617,0,3186,3188,3,472,236,0,3187,3186,1,0,0,0,3187,3188,1,0,0,0,3188,271,1,0,0,0,3189,3190,5,230,0,0,3190,3193,3,270,135,0,3191,3193,1,0,0,0,3192,3189,1,0,0,0,3192,3191,1,0,0,0,3193,273,1,0,0,0,3194,3195,5,366,0,0,3195,3199,3,270,135,0,3196,3197,5,262,0,0,3197,3199,5,366,0,0,3198,3194,1,0,0,0,3198,3196,1,0,0,0,3199,275,1,0,0,0,3200,3203,5,288,0,0,3201,3203,1,0,0,0,3202,3200,1,0,0,0,3202,3201,1,0,0,0,3203,277,1,0,0,0,3204,3205,5,46,0,0,3205,3206,5,344,0,0,3206,3207,3,1234,617,0,3207,3208,3,280,140,0,3208,3209,5,246,0,0,3209,3210,3,1252,626,0,3210,3211,3,110,55,0,3211,279,1,0,0,0,3212,3213,5,275,0,0,3213,3216,3,1260,630,0,3214,3216,1,0,0,0,3215,3212,1,0,0,0,3215,3214,1,0,0,0,3216,281,1,0,0,0,3217,3218,5,191,0,0,3218,3221,5,344,0,0,3219,3220,5,220,0,0,3220,3222,5,389,0,0,3221,3219,1,0,0,0,3221,3222,1,0,0,0,3222,3223,1,0,0,0,3223,3224,3,1234,617,0,3224,283,1,0,0,0,3225,3226,5,46,0,0,3226,3230,5,204,0,0,3227,3228,5,220,0,0,3228,3229,5,77,0,0,3229,3231,5,389,0,0,3230,3227,1,0,0,0,3230,3231,1,0,0,0,3231,3232,1,0,0,0,3232,3233,3,1234,617,0,3233,3237,3,12,6,0,3234,3236,3,286,143,0,3235,3234,1,0,0,0,3236,3239,1,0,0,0,3237,3235,1,0,0,0,3237,3238,1,0,0,0,3238,285,1,0,0,0,3239,3237,1,0,0,0,3240,3241,5,316,0,0,3241,3248,3,1214,607,0,3242,3243,5,368,0,0,3243,3248,3,64,32,0,3244,3245,5,64,0,0,3245,3248,3,64,32,0,3246,3248,5,150,0,0,3247,3240,1,0,0,0,3247,3242,1,0,0,0,3247,3244,1,0,0,0,3247,3246,1,0,0,0,3248,287,1,0,0,0,3249,3250,5,138,0,0,3250,3251,5,204,0,0,3251,3252,3,1234,617,0,3252,3256,5,362,0,0,3253,3255,3,290,145,0,3254,3253,1,0,0,0,3255,3258,1,0,0,0,3256,3254,1,0,0,0,3256,3257,1,0,0,0,3257,289,1,0,0,0,3258,3256,1,0,0,0,3259,3260,5,94,0,0,3260,3261,3,64,32,0,3261,291,1,0,0,0,3262,3263,5,138,0,0,3263,3264,5,204,0,0,3264,3265,3,1234,617,0,3265,3266,3,32,16,0,3266,3267,3,462,231,0,3267,3268,3,1234,617,0,3268,3402,1,0,0,0,3269,3270,5,138,0,0,3270,3271,5,204,0,0,3271,3272,3,1234,617,0,3272,3273,3,32,16,0,3273,3274,5,311,0,0,3274,3275,3,1260,630,0,3275,3402,1,0,0,0,3276,3277,5,138,0,0,3277,3278,5,204,0,0,3278,3279,3,1234,617,0,3279,3280,3,32,16,0,3280,3281,5,175,0,0,3281,3282,3,1210,605,0,3282,3402,1,0,0,0,3283,3284,5,138,0,0,3284,3285,5,204,0,0,3285,3286,3,1234,617,0,3286,3287,3,32,16,0,3287,3288,5,316,0,0,3288,3289,3,1214,607,0,3289,3402,1,0,0,0,3290,3291,5,138,0,0,3291,3292,5,204,0,0,3292,3293,3,1234,617,0,3293,3294,3,32,16,0,3294,3295,5,226,0,0,3295,3296,3,1218,609,0,3296,3402,1,0,0,0,3297,3298,5,138,0,0,3298,3299,5,204,0,0,3299,3300,3,1234,617,0,3300,3301,3,32,16,0,3301,3302,3,460,230,0,3302,3303,3,470,235,0,3303,3402,1,0,0,0,3304,3305,5,138,0,0,3305,3306,5,204,0,0,3306,3307,3,1234,617,0,3307,3308,3,32,16,0,3308,3309,5,321,0,0,3309,3310,3,1226,613,0,3310,3402,1,0,0,0,3311,3312,5,138,0,0,3312,3313,5,204,0,0,3313,3314,3,1234,617,0,3314,3315,3,32,16,0,3315,3316,5,136,0,0,3316,3317,3,580,290,0,3317,3402,1,0,0,0,3318,3319,5,138,0,0,3319,3320,5,204,0,0,3320,3321,3,1234,617,0,3321,3322,3,32,16,0,3322,3323,5,41,0,0,3323,3324,5,2,0,0,3324,3325,3,996,498,0,3325,3326,5,36,0,0,3326,3327,3,996,498,0,3327,3328,5,3,0,0,3328,3402,1,0,0,0,3329,3330,5,138,0,0,3330,3331,5,204,0,0,3331,3332,3,1234,617,0,3332,3333,3,32,16,0,3333,3334,5,189,0,0,3334,3335,3,996,498,0,3335,3402,1,0,0,0,3336,3337,5,138,0,0,3337,3338,5,204,0,0,3338,3339,3,1234,617,0,3339,3340,3,32,16,0,3340,3341,5,211,0,0,3341,3342,3,560,280,0,3342,3402,1,0,0,0,3343,3344,5,138,0,0,3344,3345,5,204,0,0,3345,3346,3,1234,617,0,3346,3347,3,32,16,0,3347,3348,5,271,0,0,3348,3349,3,614,307,0,3349,3402,1,0,0,0,3350,3351,5,138,0,0,3351,3352,5,204,0,0,3352,3353,3,1234,617,0,3353,3354,3,32,16,0,3354,3355,5,271,0,0,3355,3356,5,156,0,0,3356,3357,3,470,235,0,3357,3358,5,100,0,0,3358,3359,3,1234,617,0,3359,3402,1,0,0,0,3360,3361,5,138,0,0,3361,3362,5,204,0,0,3362,3363,3,1234,617,0,3363,3364,3,32,16,0,3364,3365,5,271,0,0,3365,3366,5,206,0,0,3366,3367,3,470,235,0,3367,3368,5,100,0,0,3368,3369,3,1234,617,0,3369,3402,1,0,0,0,3370,3371,5,138,0,0,3371,3372,5,204,0,0,3372,3373,3,1234,617,0,3373,3374,3,32,16,0,3374,3375,5,289,0,0,3375,3376,3,560,280,0,3376,3402,1,0,0,0,3377,3378,5,138,0,0,3378,3379,5,204,0,0,3379,3380,3,1234,617,0,3380,3381,3,32,16,0,3381,3382,5,442,0,0,3382,3383,3,560,280,0,3383,3402,1,0,0,0,3384,3385,5,138,0,0,3385,3386,5,204,0,0,3386,3387,3,1234,617,0,3387,3388,3,32,16,0,3388,3389,5,443,0,0,3389,3390,5,62,0,0,3390,3391,3,996,498,0,3391,3392,5,238,0,0,3392,3393,3,1234,617,0,3393,3402,1,0,0,0,3394,3395,5,138,0,0,3395,3396,5,204,0,0,3396,3397,3,1234,617,0,3397,3398,3,32,16,0,3398,3399,5,353,0,0,3399,3400,3,996,498,0,3400,3402,1,0,0,0,3401,3262,1,0,0,0,3401,3269,1,0,0,0,3401,3276,1,0,0,0,3401,3283,1,0,0,0,3401,3290,1,0,0,0,3401,3297,1,0,0,0,3401,3304,1,0,0,0,3401,3311,1,0,0,0,3401,3318,1,0,0,0,3401,3329,1,0,0,0,3401,3336,1,0,0,0,3401,3343,1,0,0,0,3401,3350,1,0,0,0,3401,3360,1,0,0,0,3401,3370,1,0,0,0,3401,3377,1,0,0,0,3401,3384,1,0,0,0,3401,3394,1,0,0,0,3402,293,1,0,0,0,3403,3404,5,46,0,0,3404,3405,5,63,0,0,3405,3406,5,174,0,0,3406,3407,5,374,0,0,3407,3409,3,1234,617,0,3408,3410,3,298,149,0,3409,3408,1,0,0,0,3409,3410,1,0,0,0,3410,3411,1,0,0,0,3411,3412,3,302,151,0,3412,295,1,0,0,0,3413,3414,5,215,0,0,3414,3422,3,270,135,0,3415,3416,5,262,0,0,3416,3422,5,215,0,0,3417,3418,5,366,0,0,3418,3422,3,270,135,0,3419,3420,5,262,0,0,3420,3422,5,366,0,0,3421,3413,1,0,0,0,3421,3415,1,0,0,0,3421,3417,1,0,0,0,3421,3419,1,0,0,0,3422,297,1,0,0,0,3423,3425,3,296,148,0,3424,3423,1,0,0,0,3425,3426,1,0,0,0,3426,3424,1,0,0,0,3426,3427,1,0,0,0,3427,299,1,0,0,0,3428,3429,5,138,0,0,3429,3430,5,63,0,0,3430,3431,5,174,0,0,3431,3432,5,374,0,0,3432,3434,3,1234,617,0,3433,3435,3,298,149,0,3434,3433,1,0,0,0,3434,3435,1,0,0,0,3435,3436,1,0,0,0,3436,3437,3,306,153,0,3437,3446,1,0,0,0,3438,3439,5,138,0,0,3439,3440,5,63,0,0,3440,3441,5,174,0,0,3441,3442,5,374,0,0,3442,3443,3,1234,617,0,3443,3444,3,298,149,0,3444,3446,1,0,0,0,3445,3428,1,0,0,0,3445,3438,1,0,0,0,3446,301,1,0,0,0,3447,3448,5,273,0,0,3448,3449,5,2,0,0,3449,3450,3,304,152,0,3450,3451,5,3,0,0,3451,3454,1,0,0,0,3452,3454,1,0,0,0,3453,3447,1,0,0,0,3453,3452,1,0,0,0,3454,303,1,0,0,0,3455,3460,3,312,156,0,3456,3457,5,6,0,0,3457,3459,3,312,156,0,3458,3456,1,0,0,0,3459,3462,1,0,0,0,3460,3458,1,0,0,0,3460,3461,1,0,0,0,3461,305,1,0,0,0,3462,3460,1,0,0,0,3463,3464,5,273,0,0,3464,3465,5,2,0,0,3465,3466,3,308,154,0,3466,3467,5,3,0,0,3467,307,1,0,0,0,3468,3473,3,310,155,0,3469,3470,5,6,0,0,3470,3472,3,310,155,0,3471,3469,1,0,0,0,3472,3475,1,0,0,0,3473,3471,1,0,0,0,3473,3474,1,0,0,0,3474,309,1,0,0,0,3475,3473,1,0,0,0,3476,3484,3,312,156,0,3477,3478,5,326,0,0,3478,3484,3,312,156,0,3479,3480,5,133,0,0,3480,3484,3,312,156,0,3481,3482,5,191,0,0,3482,3484,3,314,157,0,3483,3476,1,0,0,0,3483,3477,1,0,0,0,3483,3479,1,0,0,0,3483,3481,1,0,0,0,3484,311,1,0,0,0,3485,3486,3,314,157,0,3486,3487,3,316,158,0,3487,313,1,0,0,0,3488,3489,3,1272,636,0,3489,315,1,0,0,0,3490,3491,3,1252,626,0,3491,317,1,0,0,0,3492,3493,5,46,0,0,3493,3494,5,324,0,0,3494,3495,3,1234,617,0,3495,3497,3,320,160,0,3496,3498,3,322,161,0,3497,3496,1,0,0,0,3497,3498,1,0,0,0,3498,3499,1,0,0,0,3499,3500,5,63,0,0,3500,3501,5,174,0,0,3501,3502,5,374,0,0,3502,3503,3,1234,617,0,3503,3504,3,302,151,0,3504,3522,1,0,0,0,3505,3506,5,46,0,0,3506,3507,5,324,0,0,3507,3508,5,220,0,0,3508,3509,5,77,0,0,3509,3510,5,389,0,0,3510,3511,3,1234,617,0,3511,3513,3,320,160,0,3512,3514,3,322,161,0,3513,3512,1,0,0,0,3513,3514,1,0,0,0,3514,3515,1,0,0,0,3515,3516,5,63,0,0,3516,3517,5,174,0,0,3517,3518,5,374,0,0,3518,3519,3,1234,617,0,3519,3520,3,302,151,0,3520,3522,1,0,0,0,3521,3492,1,0,0,0,3521,3505,1,0,0,0,3522,319,1,0,0,0,3523,3524,5,353,0,0,3524,3527,3,1252,626,0,3525,3527,1,0,0,0,3526,3523,1,0,0,0,3526,3525,1,0,0,0,3527,321,1,0,0,0,3528,3531,5,368,0,0,3529,3532,3,1252,626,0,3530,3532,5,78,0,0,3531,3529,1,0,0,0,3531,3530,1,0,0,0,3532,323,1,0,0,0,3533,3534,5,138,0,0,3534,3535,5,324,0,0,3535,3541,3,1234,617,0,3536,3542,3,306,153,0,3537,3539,3,322,161,0,3538,3540,3,306,153,0,3539,3538,1,0,0,0,3539,3540,1,0,0,0,3540,3542,1,0,0,0,3541,3536,1,0,0,0,3541,3537,1,0,0,0,3542,325,1,0,0,0,3543,3544,5,46,0,0,3544,3545,5,63,0,0,3545,3546,5,92,0,0,3546,3547,3,1230,615,0,3547,3548,5,2,0,0,3548,3549,3,156,78,0,3549,3550,5,3,0,0,3550,3551,3,216,108,0,3551,3552,5,324,0,0,3552,3553,3,1234,617,0,3553,3554,3,302,151,0,3554,3600,1,0,0,0,3555,3556,5,46,0,0,3556,3557,5,63,0,0,3557,3558,5,92,0,0,3558,3559,5,220,0,0,3559,3560,5,77,0,0,3560,3561,5,389,0,0,3561,3562,3,1230,615,0,3562,3563,5,2,0,0,3563,3564,3,156,78,0,3564,3565,5,3,0,0,3565,3566,3,216,108,0,3566,3567,5,324,0,0,3567,3568,3,1234,617,0,3568,3569,3,302,151,0,3569,3600,1,0,0,0,3570,3571,5,46,0,0,3571,3572,5,63,0,0,3572,3573,5,92,0,0,3573,3574,3,1230,615,0,3574,3575,5,278,0,0,3575,3576,5,268,0,0,3576,3577,3,1230,615,0,3577,3578,3,158,79,0,3578,3579,3,120,60,0,3579,3580,5,324,0,0,3580,3581,3,1234,617,0,3581,3582,3,302,151,0,3582,3600,1,0,0,0,3583,3584,5,46,0,0,3584,3585,5,63,0,0,3585,3586,5,92,0,0,3586,3587,5,220,0,0,3587,3588,5,77,0,0,3588,3589,5,389,0,0,3589,3590,3,1230,615,0,3590,3591,5,278,0,0,3591,3592,5,268,0,0,3592,3593,3,1230,615,0,3593,3594,3,158,79,0,3594,3595,3,120,60,0,3595,3596,5,324,0,0,3596,3597,3,1234,617,0,3597,3598,3,302,151,0,3598,3600,1,0,0,0,3599,3543,1,0,0,0,3599,3555,1,0,0,0,3599,3570,1,0,0,0,3599,3583,1,0,0,0,3600,327,1,0,0,0,3601,3602,5,444,0,0,3602,3603,5,63,0,0,3603,3604,5,316,0,0,3604,3605,3,1234,617,0,3605,3606,3,332,166,0,3606,3607,5,64,0,0,3607,3608,5,324,0,0,3608,3609,3,1234,617,0,3609,3610,5,71,0,0,3610,3611,3,1234,617,0,3611,3612,3,302,151,0,3612,329,1,0,0,0,3613,3614,5,74,0,0,3614,3617,5,94,0,0,3615,3617,5,59,0,0,3616,3613,1,0,0,0,3616,3615,1,0,0,0,3617,331,1,0,0,0,3618,3619,3,330,165,0,3619,3620,5,2,0,0,3620,3621,3,960,480,0,3621,3622,5,3,0,0,3622,3625,1,0,0,0,3623,3625,1,0,0,0,3624,3618,1,0,0,0,3624,3623,1,0,0,0,3625,333,1,0,0,0,3626,3627,5,46,0,0,3627,3628,5,99,0,0,3628,3629,5,248,0,0,3629,3630,5,62,0,0,3630,3631,3,336,168,0,3631,3632,5,324,0,0,3632,3633,3,1234,617,0,3633,3634,3,302,151,0,3634,3648,1,0,0,0,3635,3636,5,46,0,0,3636,3637,5,99,0,0,3637,3638,5,248,0,0,3638,3639,5,220,0,0,3639,3640,5,77,0,0,3640,3641,5,389,0,0,3641,3642,5,62,0,0,3642,3643,3,336,168,0,3643,3644,5,324,0,0,3644,3645,3,1234,617,0,3645,3646,3,302,151,0,3646,3648,1,0,0,0,3647,3626,1,0,0,0,3647,3635,1,0,0,0,3648,335,1,0,0,0,3649,3652,3,1260,630,0,3650,3652,5,99,0,0,3651,3649,1,0,0,0,3651,3650,1,0,0,0,3652,337,1,0,0,0,3653,3654,5,191,0,0,3654,3655,5,99,0,0,3655,3656,5,248,0,0,3656,3657,5,62,0,0,3657,3658,3,336,168,0,3658,3659,5,324,0,0,3659,3660,3,1234,617,0,3660,3672,1,0,0,0,3661,3662,5,191,0,0,3662,3663,5,99,0,0,3663,3664,5,248,0,0,3664,3665,5,220,0,0,3665,3666,5,389,0,0,3666,3667,5,62,0,0,3667,3668,3,336,168,0,3668,3669,5,324,0,0,3669,3670,3,1234,617,0,3670,3672,1,0,0,0,3671,3653,1,0,0,0,3671,3661,1,0,0,0,3672,339,1,0,0,0,3673,3674,5,138,0,0,3674,3675,5,99,0,0,3675,3676,5,248,0,0,3676,3677,5,62,0,0,3677,3678,3,336,168,0,3678,3679,5,324,0,0,3679,3680,3,1234,617,0,3680,3681,3,306,153,0,3681,341,1,0,0,0,3682,3683,5,46,0,0,3683,3684,5,445,0,0,3684,3685,3,1234,617,0,3685,3686,5,80,0,0,3686,3687,3,1230,615,0,3687,3688,3,352,176,0,3688,3689,3,354,177,0,3689,3690,3,350,175,0,3690,3691,3,346,173,0,3691,3692,3,348,174,0,3692,343,1,0,0,0,3693,3694,5,138,0,0,3694,3695,5,445,0,0,3695,3696,3,1234,617,0,3696,3697,5,80,0,0,3697,3698,3,1230,615,0,3698,3699,3,350,175,0,3699,3700,3,346,173,0,3700,3701,3,348,174,0,3701,345,1,0,0,0,3702,3703,5,100,0,0,3703,3704,5,2,0,0,3704,3705,3,1038,519,0,3705,3706,5,3,0,0,3706,3709,1,0,0,0,3707,3709,1,0,0,0,3708,3702,1,0,0,0,3708,3707,1,0,0,0,3709,347,1,0,0,0,3710,3711,5,105,0,0,3711,3712,5,42,0,0,3712,3713,5,2,0,0,3713,3714,3,1038,519,0,3714,3715,5,3,0,0,3715,3718,1,0,0,0,3716,3718,1,0,0,0,3717,3710,1,0,0,0,3717,3716,1,0,0,0,3718,349,1,0,0,0,3719,3720,5,94,0,0,3720,3723,3,1262,631,0,3721,3723,1,0,0,0,3722,3719,1,0,0,0,3722,3721,1,0,0,0,3723,351,1,0,0,0,3724,3725,5,36,0,0,3725,3728,3,1274,637,0,3726,3728,1,0,0,0,3727,3724,1,0,0,0,3727,3726,1,0,0,0,3728,353,1,0,0,0,3729,3730,5,62,0,0,3730,3733,3,356,178,0,3731,3733,1,0,0,0,3732,3729,1,0,0,0,3732,3731,1,0,0,0,3733,355,1,0,0,0,3734,3735,7,16,0,0,3735,357,1,0,0,0,3736,3737,5,46,0,0,3737,3738,5,131,0,0,3738,3739,5,446,0,0,3739,3740,3,1234,617,0,3740,3741,5,353,0,0,3741,3742,3,360,180,0,3742,3743,5,215,0,0,3743,3744,3,270,135,0,3744,359,1,0,0,0,3745,3746,7,17,0,0,3746,361,1,0,0,0,3747,3748,5,46,0,0,3748,3749,5,350,0,0,3749,3750,3,1234,617,0,3750,3751,3,364,182,0,3751,3752,3,366,183,0,3752,3753,5,80,0,0,3753,3754,3,1230,615,0,3754,3755,3,370,185,0,3755,3756,3,382,191,0,3756,3757,3,386,193,0,3757,3758,5,202,0,0,3758,3759,3,388,194,0,3759,3760,3,1240,620,0,3760,3761,5,2,0,0,3761,3762,3,390,195,0,3762,3763,5,3,0,0,3763,3786,1,0,0,0,3764,3765,5,46,0,0,3765,3766,5,45,0,0,3766,3767,5,350,0,0,3767,3768,3,1234,617,0,3768,3769,5,135,0,0,3769,3770,3,366,183,0,3770,3771,5,80,0,0,3771,3772,3,1230,615,0,3772,3773,3,394,197,0,3773,3774,3,396,198,0,3774,3775,5,62,0,0,3775,3776,5,192,0,0,3776,3777,5,407,0,0,3777,3778,3,386,193,0,3778,3779,5,202,0,0,3779,3780,3,388,194,0,3780,3781,3,1240,620,0,3781,3782,5,2,0,0,3782,3783,3,390,195,0,3783,3784,5,3,0,0,3784,3786,1,0,0,0,3785,3747,1,0,0,0,3785,3764,1,0,0,0,3786,363,1,0,0,0,3787,3792,5,145,0,0,3788,3792,5,135,0,0,3789,3790,5,233,0,0,3790,3792,5,268,0,0,3791,3787,1,0,0,0,3791,3788,1,0,0,0,3791,3789,1,0,0,0,3792,365,1,0,0,0,3793,3798,3,368,184,0,3794,3795,5,82,0,0,3795,3797,3,368,184,0,3796,3794,1,0,0,0,3797,3800,1,0,0,0,3798,3796,1,0,0,0,3798,3799,1,0,0,0,3799,367,1,0,0,0,3800,3798,1,0,0,0,3801,3809,5,232,0,0,3802,3809,5,182,0,0,3803,3809,5,362,0,0,3804,3805,5,362,0,0,3805,3806,5,268,0,0,3806,3809,3,194,97,0,3807,3809,5,351,0,0,3808,3801,1,0,0,0,3808,3802,1,0,0,0,3808,3803,1,0,0,0,3808,3804,1,0,0,0,3808,3807,1,0,0,0,3809,369,1,0,0,0,3810,3811,5,447,0,0,3811,3814,3,372,186,0,3812,3814,1,0,0,0,3813,3810,1,0,0,0,3813,3812,1,0,0,0,3814,371,1,0,0,0,3815,3817,3,374,187,0,3816,3815,1,0,0,0,3817,3818,1,0,0,0,3818,3816,1,0,0,0,3818,3819,1,0,0,0,3819,373,1,0,0,0,3820,3821,3,376,188,0,3821,3822,3,378,189,0,3822,3823,3,748,374,0,3823,3824,3,380,190,0,3824,375,1,0,0,0,3825,3826,7,18,0,0,3826,377,1,0,0,0,3827,3828,7,19,0,0,3828,379,1,0,0,0,3829,3830,3,1264,632,0,3830,381,1,0,0,0,3831,3833,5,62,0,0,3832,3834,5,192,0,0,3833,3832,1,0,0,0,3833,3834,1,0,0,0,3834,3835,1,0,0,0,3835,3838,3,384,192,0,3836,3838,1,0,0,0,3837,3831,1,0,0,0,3837,3836,1,0,0,0,3838,383,1,0,0,0,3839,3840,7,20,0,0,3840,385,1,0,0,0,3841,3842,5,102,0,0,3842,3843,5,2,0,0,3843,3844,3,1038,519,0,3844,3845,5,3,0,0,3845,3848,1,0,0,0,3846,3848,1,0,0,0,3847,3841,1,0,0,0,3847,3846,1,0,0,0,3848,387,1,0,0,0,3849,3850,7,21,0,0,3850,389,1,0,0,0,3851,3854,3,392,196,0,3852,3854,1,0,0,0,3853,3851,1,0,0,0,3853,3852,1,0,0,0,3854,3859,1,0,0,0,3855,3856,5,6,0,0,3856,3858,3,392,196,0,3857,3855,1,0,0,0,3858,3861,1,0,0,0,3859,3857,1,0,0,0,3859,3860,1,0,0,0,3860,391,1,0,0,0,3861,3859,1,0,0,0,3862,3867,3,1250,625,0,3863,3867,3,1248,624,0,3864,3867,3,1252,626,0,3865,3867,3,1272,636,0,3866,3862,1,0,0,0,3866,3863,1,0,0,0,3866,3864,1,0,0,0,3866,3865,1,0,0,0,3867,393,1,0,0,0,3868,3869,5,64,0,0,3869,3872,3,1230,615,0,3870,3872,1,0,0,0,3871,3868,1,0,0,0,3871,3870,1,0,0,0,3872,395,1,0,0,0,3873,3875,3,398,199,0,3874,3873,1,0,0,0,3875,3878,1,0,0,0,3876,3874,1,0,0,0,3876,3877,1,0,0,0,3877,397,1,0,0,0,3878,3876,1,0,0,0,3879,3880,5,77,0,0,3880,3891,5,54,0,0,3881,3891,5,54,0,0,3882,3883,5,69,0,0,3883,3891,5,221,0,0,3884,3885,5,69,0,0,3885,3891,5,180,0,0,3886,3887,5,77,0,0,3887,3891,5,364,0,0,3888,3889,5,262,0,0,3889,3891,5,228,0,0,3890,3879,1,0,0,0,3890,3881,1,0,0,0,3890,3882,1,0,0,0,3890,3884,1,0,0,0,3890,3886,1,0,0,0,3890,3888,1,0,0,0,3891,399,1,0,0,0,3892,3893,5,46,0,0,3893,3894,5,198,0,0,3894,3895,5,350,0,0,3895,3896,3,1234,617,0,3896,3897,5,80,0,0,3897,3898,3,1272,636,0,3898,3899,5,202,0,0,3899,3900,3,388,194,0,3900,3901,3,1240,620,0,3901,3902,5,2,0,0,3902,3903,5,3,0,0,3903,3919,1,0,0,0,3904,3905,5,46,0,0,3905,3906,5,198,0,0,3906,3907,5,350,0,0,3907,3908,3,1234,617,0,3908,3909,5,80,0,0,3909,3910,3,1272,636,0,3910,3911,5,102,0,0,3911,3912,3,402,201,0,3912,3913,5,202,0,0,3913,3914,3,388,194,0,3914,3915,3,1240,620,0,3915,3916,5,2,0,0,3916,3917,5,3,0,0,3917,3919,1,0,0,0,3918,3892,1,0,0,0,3918,3904,1,0,0,0,3919,401,1,0,0,0,3920,3925,3,404,202,0,3921,3922,5,33,0,0,3922,3924,3,404,202,0,3923,3921,1,0,0,0,3924,3927,1,0,0,0,3925,3923,1,0,0,0,3925,3926,1,0,0,0,3926,403,1,0,0,0,3927,3925,1,0,0,0,3928,3929,3,1264,632,0,3929,3930,5,68,0,0,3930,3931,5,2,0,0,3931,3932,3,406,203,0,3932,3933,5,3,0,0,3933,405,1,0,0,0,3934,3939,3,1252,626,0,3935,3936,5,6,0,0,3936,3938,3,1252,626,0,3937,3935,1,0,0,0,3938,3941,1,0,0,0,3939,3937,1,0,0,0,3939,3940,1,0,0,0,3940,407,1,0,0,0,3941,3939,1,0,0,0,3942,3943,5,138,0,0,3943,3944,5,198,0,0,3944,3945,5,350,0,0,3945,3946,3,1234,617,0,3946,3947,3,410,205,0,3947,409,1,0,0,0,3948,3955,5,193,0,0,3949,3950,5,193,0,0,3950,3955,5,305,0,0,3951,3952,5,193,0,0,3952,3955,5,139,0,0,3953,3955,5,186,0,0,3954,3948,1,0,0,0,3954,3949,1,0,0,0,3954,3951,1,0,0,0,3954,3953,1,0,0,0,3955,411,1,0,0,0,3956,3957,5,46,0,0,3957,3958,5,140,0,0,3958,3959,3,470,235,0,3959,3960,5,42,0,0,3960,3961,5,2,0,0,3961,3962,3,1038,519,0,3962,3963,5,3,0,0,3963,3964,3,396,198,0,3964,413,1,0,0,0,3965,3966,5,46,0,0,3966,3967,3,554,277,0,3967,3968,5,136,0,0,3968,3969,3,1240,620,0,3969,3970,3,576,288,0,3970,3971,3,416,208,0,3971,4074,1,0,0,0,3972,3973,5,46,0,0,3973,3974,3,554,277,0,3974,3975,5,136,0,0,3975,3976,3,1240,620,0,3976,3977,3,422,211,0,3977,4074,1,0,0,0,3978,3979,5,46,0,0,3979,3980,5,271,0,0,3980,3981,3,610,305,0,3981,3982,3,416,208,0,3982,4074,1,0,0,0,3983,3984,5,46,0,0,3984,3985,5,353,0,0,3985,3986,3,470,235,0,3986,3987,3,416,208,0,3987,4074,1,0,0,0,3988,3989,5,46,0,0,3989,3990,5,353,0,0,3990,4074,3,470,235,0,3991,3992,5,46,0,0,3992,3993,5,353,0,0,3993,3994,3,470,235,0,3994,3995,5,36,0,0,3995,3996,5,2,0,0,3996,3997,3,978,489,0,3997,3998,5,3,0,0,3998,4074,1,0,0,0,3999,4e3,5,46,0,0,4e3,4001,5,353,0,0,4001,4002,3,470,235,0,4002,4003,5,36,0,0,4003,4004,5,196,0,0,4004,4006,5,2,0,0,4005,4007,3,426,213,0,4006,4005,1,0,0,0,4006,4007,1,0,0,0,4007,4008,1,0,0,0,4008,4009,5,3,0,0,4009,4074,1,0,0,0,4010,4011,5,46,0,0,4011,4012,5,353,0,0,4012,4013,3,470,235,0,4013,4014,5,36,0,0,4014,4015,5,292,0,0,4015,4016,3,416,208,0,4016,4074,1,0,0,0,4017,4018,5,46,0,0,4018,4019,5,348,0,0,4019,4020,5,318,0,0,4020,4021,5,276,0,0,4021,4022,3,470,235,0,4022,4023,3,416,208,0,4023,4074,1,0,0,0,4024,4025,5,46,0,0,4025,4026,5,348,0,0,4026,4027,5,318,0,0,4027,4028,5,185,0,0,4028,4029,3,470,235,0,4029,4030,3,416,208,0,4030,4074,1,0,0,0,4031,4032,5,46,0,0,4032,4033,5,348,0,0,4033,4034,5,318,0,0,4034,4035,5,346,0,0,4035,4036,3,470,235,0,4036,4037,3,416,208,0,4037,4074,1,0,0,0,4038,4039,5,46,0,0,4039,4040,5,348,0,0,4040,4041,5,318,0,0,4041,4042,5,163,0,0,4042,4043,3,470,235,0,4043,4044,3,416,208,0,4044,4074,1,0,0,0,4045,4046,5,46,0,0,4046,4047,5,108,0,0,4047,4048,3,470,235,0,4048,4049,3,416,208,0,4049,4074,1,0,0,0,4050,4051,5,46,0,0,4051,4052,5,108,0,0,4052,4053,5,220,0,0,4053,4054,5,77,0,0,4054,4055,5,389,0,0,4055,4056,3,470,235,0,4056,4057,3,416,208,0,4057,4074,1,0,0,0,4058,4059,5,46,0,0,4059,4060,5,108,0,0,4060,4061,3,470,235,0,4061,4062,5,64,0,0,4062,4063,3,470,235,0,4063,4074,1,0,0,0,4064,4065,5,46,0,0,4065,4066,5,108,0,0,4066,4067,5,220,0,0,4067,4068,5,77,0,0,4068,4069,5,389,0,0,4069,4070,3,470,235,0,4070,4071,5,64,0,0,4071,4072,3,470,235,0,4072,4074,1,0,0,0,4073,3965,1,0,0,0,4073,3972,1,0,0,0,4073,3978,1,0,0,0,4073,3983,1,0,0,0,4073,3988,1,0,0,0,4073,3991,1,0,0,0,4073,3999,1,0,0,0,4073,4010,1,0,0,0,4073,4017,1,0,0,0,4073,4024,1,0,0,0,4073,4031,1,0,0,0,4073,4038,1,0,0,0,4073,4045,1,0,0,0,4073,4050,1,0,0,0,4073,4058,1,0,0,0,4073,4064,1,0,0,0,4074,415,1,0,0,0,4075,4076,5,2,0,0,4076,4081,3,418,209,0,4077,4078,5,6,0,0,4078,4080,3,418,209,0,4079,4077,1,0,0,0,4080,4083,1,0,0,0,4081,4079,1,0,0,0,4081,4082,1,0,0,0,4082,4084,1,0,0,0,4083,4081,1,0,0,0,4084,4085,5,3,0,0,4085,417,1,0,0,0,4086,4089,3,1272,636,0,4087,4088,5,10,0,0,4088,4090,3,420,210,0,4089,4087,1,0,0,0,4089,4090,1,0,0,0,4090,419,1,0,0,0,4091,4098,3,574,287,0,4092,4098,3,1284,642,0,4093,4098,3,1152,576,0,4094,4098,3,264,132,0,4095,4098,3,1252,626,0,4096,4098,5,400,0,0,4097,4091,1,0,0,0,4097,4092,1,0,0,0,4097,4093,1,0,0,0,4097,4094,1,0,0,0,4097,4095,1,0,0,0,4097,4096,1,0,0,0,4098,421,1,0,0,0,4099,4100,5,2,0,0,4100,4105,3,424,212,0,4101,4102,5,6,0,0,4102,4104,3,424,212,0,4103,4101,1,0,0,0,4104,4107,1,0,0,0,4105,4103,1,0,0,0,4105,4106,1,0,0,0,4106,4108,1,0,0,0,4107,4105,1,0,0,0,4108,4109,5,3,0,0,4109,423,1,0,0,0,4110,4111,3,1274,637,0,4111,4112,5,10,0,0,4112,4113,3,420,210,0,4113,425,1,0,0,0,4114,4119,3,1252,626,0,4115,4116,5,6,0,0,4116,4118,3,1252,626,0,4117,4115,1,0,0,0,4118,4121,1,0,0,0,4119,4117,1,0,0,0,4119,4120,1,0,0,0,4120,427,1,0,0,0,4121,4119,1,0,0,0,4122,4123,5,138,0,0,4123,4124,5,353,0,0,4124,4125,3,470,235,0,4125,4126,5,133,0,0,4126,4127,5,450,0,0,4127,4128,3,430,215,0,4128,4129,3,1252,626,0,4129,4160,1,0,0,0,4130,4131,5,138,0,0,4131,4132,5,353,0,0,4132,4133,3,470,235,0,4133,4134,5,133,0,0,4134,4135,5,450,0,0,4135,4136,3,430,215,0,4136,4137,3,1252,626,0,4137,4138,5,145,0,0,4138,4139,3,1252,626,0,4139,4160,1,0,0,0,4140,4141,5,138,0,0,4141,4142,5,353,0,0,4142,4143,3,470,235,0,4143,4144,5,133,0,0,4144,4145,5,450,0,0,4145,4146,3,430,215,0,4146,4147,3,1252,626,0,4147,4148,5,135,0,0,4148,4149,3,1252,626,0,4149,4160,1,0,0,0,4150,4151,5,138,0,0,4151,4152,5,353,0,0,4152,4153,3,470,235,0,4153,4154,5,302,0,0,4154,4155,5,450,0,0,4155,4156,3,1252,626,0,4156,4157,5,94,0,0,4157,4158,3,1252,626,0,4158,4160,1,0,0,0,4159,4122,1,0,0,0,4159,4130,1,0,0,0,4159,4140,1,0,0,0,4159,4150,1,0,0,0,4160,429,1,0,0,0,4161,4162,5,220,0,0,4162,4163,5,77,0,0,4163,4166,5,389,0,0,4164,4166,1,0,0,0,4165,4161,1,0,0,0,4165,4164,1,0,0,0,4166,431,1,0,0,0,4167,4168,5,46,0,0,4168,4169,5,271,0,0,4169,4170,5,156,0,0,4170,4172,3,470,235,0,4171,4173,5,53,0,0,4172,4171,1,0,0,0,4172,4173,1,0,0,0,4173,4174,1,0,0,0,4174,4175,5,62,0,0,4175,4176,5,353,0,0,4176,4177,3,996,498,0,4177,4178,5,100,0,0,4178,4179,3,1234,617,0,4179,4180,3,438,219,0,4180,4181,5,36,0,0,4181,4182,3,434,217,0,4182,433,1,0,0,0,4183,4188,3,436,218,0,4184,4185,5,6,0,0,4185,4187,3,436,218,0,4186,4184,1,0,0,0,4187,4190,1,0,0,0,4188,4186,1,0,0,0,4188,4189,1,0,0,0,4189,435,1,0,0,0,4190,4188,1,0,0,0,4191,4192,5,271,0,0,4192,4193,3,1250,625,0,4193,4194,3,610,305,0,4194,4196,3,440,220,0,4195,4197,5,295,0,0,4196,4195,1,0,0,0,4196,4197,1,0,0,0,4197,4219,1,0,0,0,4198,4199,5,271,0,0,4199,4200,3,1250,625,0,4200,4201,3,614,307,0,4201,4203,3,440,220,0,4202,4204,5,295,0,0,4203,4202,1,0,0,0,4203,4204,1,0,0,0,4204,4219,1,0,0,0,4205,4206,5,211,0,0,4206,4207,3,1250,625,0,4207,4208,3,560,280,0,4208,4219,1,0,0,0,4209,4210,5,211,0,0,4210,4211,3,1250,625,0,4211,4212,5,2,0,0,4212,4213,3,1162,581,0,4213,4214,5,3,0,0,4214,4215,3,560,280,0,4215,4219,1,0,0,0,4216,4217,5,338,0,0,4217,4219,3,996,498,0,4218,4191,1,0,0,0,4218,4198,1,0,0,0,4218,4205,1,0,0,0,4218,4209,1,0,0,0,4218,4216,1,0,0,0,4219,437,1,0,0,0,4220,4221,5,206,0,0,4221,4224,3,470,235,0,4222,4224,1,0,0,0,4223,4220,1,0,0,0,4223,4222,1,0,0,0,4224,439,1,0,0,0,4225,4226,5,62,0,0,4226,4233,5,318,0,0,4227,4228,5,62,0,0,4228,4229,5,83,0,0,4229,4230,5,147,0,0,4230,4233,3,470,235,0,4231,4233,1,0,0,0,4232,4225,1,0,0,0,4232,4227,1,0,0,0,4232,4231,1,0,0,0,4233,441,1,0,0,0,4234,4235,5,46,0,0,4235,4236,5,271,0,0,4236,4237,5,206,0,0,4237,4238,3,470,235,0,4238,4239,5,100,0,0,4239,4240,3,1234,617,0,4240,443,1,0,0,0,4241,4242,5,138,0,0,4242,4243,5,271,0,0,4243,4244,5,206,0,0,4244,4245,3,470,235,0,4245,4246,5,100,0,0,4246,4247,3,1234,617,0,4247,4248,5,133,0,0,4248,4249,3,434,217,0,4249,4260,1,0,0,0,4250,4251,5,138,0,0,4251,4252,5,271,0,0,4252,4253,5,206,0,0,4253,4254,3,470,235,0,4254,4255,5,100,0,0,4255,4256,3,1234,617,0,4256,4257,5,191,0,0,4257,4258,3,446,223,0,4258,4260,1,0,0,0,4259,4241,1,0,0,0,4259,4250,1,0,0,0,4260,445,1,0,0,0,4261,4266,3,448,224,0,4262,4263,5,6,0,0,4263,4265,3,448,224,0,4264,4262,1,0,0,0,4265,4268,1,0,0,0,4266,4264,1,0,0,0,4266,4267,1,0,0,0,4267,447,1,0,0,0,4268,4266,1,0,0,0,4269,4270,5,271,0,0,4270,4271,3,1250,625,0,4271,4272,5,2,0,0,4272,4273,3,1162,581,0,4273,4274,5,3,0,0,4274,4282,1,0,0,0,4275,4276,5,211,0,0,4276,4277,3,1250,625,0,4277,4278,5,2,0,0,4278,4279,3,1162,581,0,4279,4280,5,3,0,0,4280,4282,1,0,0,0,4281,4269,1,0,0,0,4281,4275,1,0,0,0,4282,449,1,0,0,0,4283,4284,5,191,0,0,4284,4285,5,271,0,0,4285,4286,5,156,0,0,4286,4287,3,470,235,0,4287,4288,5,100,0,0,4288,4289,3,1234,617,0,4289,4290,3,100,50,0,4290,4302,1,0,0,0,4291,4292,5,191,0,0,4292,4293,5,271,0,0,4293,4294,5,156,0,0,4294,4295,5,220,0,0,4295,4296,5,389,0,0,4296,4297,3,470,235,0,4297,4298,5,100,0,0,4298,4299,3,1234,617,0,4299,4300,3,100,50,0,4300,4302,1,0,0,0,4301,4283,1,0,0,0,4301,4291,1,0,0,0,4302,451,1,0,0,0,4303,4304,5,191,0,0,4304,4305,5,271,0,0,4305,4306,5,206,0,0,4306,4307,3,470,235,0,4307,4308,5,100,0,0,4308,4309,3,1234,617,0,4309,4310,3,100,50,0,4310,4322,1,0,0,0,4311,4312,5,191,0,0,4312,4313,5,271,0,0,4313,4314,5,206,0,0,4314,4315,5,220,0,0,4315,4316,5,389,0,0,4316,4317,3,470,235,0,4317,4318,5,100,0,0,4318,4319,3,1234,617,0,4319,4320,3,100,50,0,4320,4322,1,0,0,0,4321,4303,1,0,0,0,4321,4311,1,0,0,0,4322,453,1,0,0,0,4323,4324,5,191,0,0,4324,4325,5,274,0,0,4325,4326,5,147,0,0,4326,4327,3,1262,631,0,4327,4328,3,100,50,0,4328,455,1,0,0,0,4329,4330,5,294,0,0,4330,4331,5,274,0,0,4331,4332,5,147,0,0,4332,4333,3,1262,631,0,4333,4334,5,94,0,0,4334,4335,3,1260,630,0,4335,457,1,0,0,0,4336,4337,5,191,0,0,4337,4340,3,460,230,0,4338,4339,5,220,0,0,4339,4341,5,389,0,0,4340,4338,1,0,0,0,4340,4341,1,0,0,0,4341,4342,1,0,0,0,4342,4343,3,468,234,0,4343,4344,3,100,50,0,4344,4442,1,0,0,0,4345,4346,5,191,0,0,4346,4349,5,321,0,0,4347,4348,5,220,0,0,4348,4350,5,389,0,0,4349,4347,1,0,0,0,4349,4350,1,0,0,0,4350,4351,1,0,0,0,4351,4352,3,1228,614,0,4352,4353,3,100,50,0,4353,4442,1,0,0,0,4354,4355,5,191,0,0,4355,4358,5,226,0,0,4356,4357,5,220,0,0,4357,4359,5,389,0,0,4358,4356,1,0,0,0,4358,4359,1,0,0,0,4359,4360,1,0,0,0,4360,4361,3,1220,610,0,4361,4362,3,100,50,0,4362,4442,1,0,0,0,4363,4364,5,191,0,0,4364,4367,5,316,0,0,4365,4366,5,220,0,0,4366,4368,5,389,0,0,4367,4365,1,0,0,0,4367,4368,1,0,0,0,4368,4369,1,0,0,0,4369,4370,3,1216,608,0,4370,4371,3,100,50,0,4371,4442,1,0,0,0,4372,4373,5,191,0,0,4373,4376,3,464,232,0,4374,4375,5,220,0,0,4375,4377,5,389,0,0,4376,4374,1,0,0,0,4376,4377,1,0,0,0,4377,4378,1,0,0,0,4378,4379,3,1232,616,0,4379,4380,3,100,50,0,4380,4442,1,0,0,0,4381,4382,5,191,0,0,4382,4385,3,466,233,0,4383,4384,5,220,0,0,4384,4386,5,389,0,0,4385,4383,1,0,0,0,4385,4386,1,0,0,0,4386,4387,1,0,0,0,4387,4388,3,1234,617,0,4388,4389,5,80,0,0,4389,4390,3,470,235,0,4390,4391,3,100,50,0,4391,4442,1,0,0,0,4392,4393,5,191,0,0,4393,4396,5,350,0,0,4394,4395,5,220,0,0,4395,4397,5,389,0,0,4396,4394,1,0,0,0,4396,4397,1,0,0,0,4397,4398,1,0,0,0,4398,4399,3,1222,611,0,4399,4400,5,80,0,0,4400,4401,3,470,235,0,4401,4402,3,100,50,0,4402,4442,1,0,0,0,4403,4404,5,191,0,0,4404,4405,5,353,0,0,4405,4406,3,474,237,0,4406,4407,3,100,50,0,4407,4442,1,0,0,0,4408,4409,5,191,0,0,4409,4410,5,353,0,0,4410,4411,5,220,0,0,4411,4412,5,389,0,0,4412,4413,3,474,237,0,4413,4414,3,100,50,0,4414,4442,1,0,0,0,4415,4416,5,191,0,0,4416,4417,5,189,0,0,4417,4418,3,474,237,0,4418,4419,3,100,50,0,4419,4442,1,0,0,0,4420,4421,5,191,0,0,4421,4422,5,189,0,0,4422,4423,5,220,0,0,4423,4424,5,389,0,0,4424,4425,3,474,237,0,4425,4426,3,100,50,0,4426,4442,1,0,0,0,4427,4428,5,191,0,0,4428,4429,5,226,0,0,4429,4430,5,109,0,0,4430,4431,3,1218,609,0,4431,4432,3,100,50,0,4432,4442,1,0,0,0,4433,4434,5,191,0,0,4434,4435,5,226,0,0,4435,4436,5,109,0,0,4436,4437,5,220,0,0,4437,4438,5,389,0,0,4438,4439,3,1218,609,0,4439,4440,3,100,50,0,4440,4442,1,0,0,0,4441,4336,1,0,0,0,4441,4345,1,0,0,0,4441,4354,1,0,0,0,4441,4363,1,0,0,0,4441,4372,1,0,0,0,4441,4381,1,0,0,0,4441,4392,1,0,0,0,4441,4403,1,0,0,0,4441,4408,1,0,0,0,4441,4415,1,0,0,0,4441,4420,1,0,0,0,4441,4427,1,0,0,0,4441,4433,1,0,0,0,4442,459,1,0,0,0,4443,4465,5,92,0,0,4444,4465,5,369,0,0,4445,4446,5,251,0,0,4446,4465,5,369,0,0,4447,4448,5,63,0,0,4448,4465,5,92,0,0,4449,4465,5,108,0,0,4450,4465,5,168,0,0,4451,4465,5,335,0,0,4452,4453,5,348,0,0,4453,4454,5,318,0,0,4454,4465,5,276,0,0,4455,4456,5,348,0,0,4456,4457,5,318,0,0,4457,4465,5,185,0,0,4458,4459,5,348,0,0,4459,4460,5,318,0,0,4460,4465,5,346,0,0,4461,4462,5,348,0,0,4462,4463,5,318,0,0,4463,4465,5,163,0,0,4464,4443,1,0,0,0,4464,4444,1,0,0,0,4464,4445,1,0,0,0,4464,4447,1,0,0,0,4464,4449,1,0,0,0,4464,4450,1,0,0,0,4464,4451,1,0,0,0,4464,4452,1,0,0,0,4464,4455,1,0,0,0,4464,4458,1,0,0,0,4464,4461,1,0,0,0,4465,461,1,0,0,0,4466,4470,3,464,232,0,4467,4470,5,451,0,0,4468,4470,5,344,0,0,4469,4466,1,0,0,0,4469,4467,1,0,0,0,4469,4468,1,0,0,0,4470,463,1,0,0,0,4471,4472,5,131,0,0,4472,4485,5,446,0,0,4473,4474,5,198,0,0,4474,4485,5,350,0,0,4475,4485,5,204,0,0,4476,4477,5,63,0,0,4477,4478,5,174,0,0,4478,4485,5,374,0,0,4479,4480,3,276,138,0,4480,4481,5,238,0,0,4481,4485,1,0,0,0,4482,4485,5,452,0,0,4483,4485,5,324,0,0,4484,4471,1,0,0,0,4484,4473,1,0,0,0,4484,4475,1,0,0,0,4484,4476,1,0,0,0,4484,4479,1,0,0,0,4484,4482,1,0,0,0,4484,4483,1,0,0,0,4485,465,1,0,0,0,4486,4487,7,22,0,0,4487,467,1,0,0,0,4488,4493,3,470,235,0,4489,4490,5,6,0,0,4490,4492,3,470,235,0,4491,4489,1,0,0,0,4492,4495,1,0,0,0,4493,4491,1,0,0,0,4493,4494,1,0,0,0,4494,469,1,0,0,0,4495,4493,1,0,0,0,4496,4498,3,1264,632,0,4497,4499,3,472,236,0,4498,4497,1,0,0,0,4498,4499,1,0,0,0,4499,471,1,0,0,0,4500,4501,5,11,0,0,4501,4503,3,1236,618,0,4502,4500,1,0,0,0,4503,4504,1,0,0,0,4504,4502,1,0,0,0,4504,4505,1,0,0,0,4505,473,1,0,0,0,4506,4511,3,996,498,0,4507,4508,5,6,0,0,4508,4510,3,996,498,0,4509,4507,1,0,0,0,4510,4513,1,0,0,0,4511,4509,1,0,0,0,4511,4512,1,0,0,0,4512,475,1,0,0,0,4513,4511,1,0,0,0,4514,4515,5,351,0,0,4515,4516,3,882,441,0,4516,4517,3,960,480,0,4517,4518,3,478,239,0,4518,4519,3,100,50,0,4519,477,1,0,0,0,4520,4521,5,167,0,0,4521,4526,5,219,0,0,4522,4523,5,307,0,0,4523,4526,5,219,0,0,4524,4526,1,0,0,0,4525,4520,1,0,0,0,4525,4522,1,0,0,0,4525,4524,1,0,0,0,4526,479,1,0,0,0,4527,4528,5,159,0,0,4528,4529,5,80,0,0,4529,4530,3,460,230,0,4530,4531,3,470,235,0,4531,4532,5,116,0,0,4532,4533,3,482,241,0,4533,4712,1,0,0,0,4534,4535,5,159,0,0,4535,4536,5,80,0,0,4536,4537,5,321,0,0,4537,4538,3,1226,613,0,4538,4539,5,116,0,0,4539,4540,3,482,241,0,4540,4712,1,0,0,0,4541,4542,5,159,0,0,4542,4543,5,80,0,0,4543,4544,5,226,0,0,4544,4545,3,1218,609,0,4545,4546,5,116,0,0,4546,4547,3,482,241,0,4547,4712,1,0,0,0,4548,4549,5,159,0,0,4549,4550,5,80,0,0,4550,4551,5,44,0,0,4551,4552,3,470,235,0,4552,4553,5,116,0,0,4553,4554,3,482,241,0,4554,4712,1,0,0,0,4555,4556,5,159,0,0,4556,4557,5,80,0,0,4557,4558,3,462,231,0,4558,4559,3,1234,617,0,4559,4560,5,116,0,0,4560,4561,3,482,241,0,4561,4712,1,0,0,0,4562,4563,5,159,0,0,4563,4564,5,80,0,0,4564,4565,5,311,0,0,4565,4566,3,1260,630,0,4566,4567,5,116,0,0,4567,4568,3,482,241,0,4568,4712,1,0,0,0,4569,4570,5,159,0,0,4570,4571,5,80,0,0,4571,4572,5,175,0,0,4572,4573,3,1210,605,0,4573,4574,5,116,0,0,4574,4575,3,482,241,0,4575,4712,1,0,0,0,4576,4577,5,159,0,0,4577,4578,5,80,0,0,4578,4579,5,316,0,0,4579,4580,3,1214,607,0,4580,4581,5,116,0,0,4581,4582,3,482,241,0,4582,4712,1,0,0,0,4583,4584,5,159,0,0,4584,4585,5,80,0,0,4585,4586,5,353,0,0,4586,4587,3,996,498,0,4587,4588,5,116,0,0,4588,4589,3,482,241,0,4589,4712,1,0,0,0,4590,4591,5,159,0,0,4591,4592,5,80,0,0,4592,4593,5,189,0,0,4593,4594,3,996,498,0,4594,4595,5,116,0,0,4595,4596,3,482,241,0,4596,4712,1,0,0,0,4597,4598,5,159,0,0,4598,4599,5,80,0,0,4599,4600,5,136,0,0,4600,4601,3,580,290,0,4601,4602,5,116,0,0,4602,4603,3,482,241,0,4603,4712,1,0,0,0,4604,4605,5,159,0,0,4605,4606,5,80,0,0,4606,4607,5,211,0,0,4607,4608,3,560,280,0,4608,4609,5,116,0,0,4609,4610,3,482,241,0,4610,4712,1,0,0,0,4611,4612,5,159,0,0,4612,4613,5,80,0,0,4613,4614,5,271,0,0,4614,4615,3,614,307,0,4615,4616,5,116,0,0,4616,4617,3,482,241,0,4617,4712,1,0,0,0,4618,4619,5,159,0,0,4619,4620,5,80,0,0,4620,4621,5,45,0,0,4621,4622,3,1224,612,0,4622,4624,5,80,0,0,4623,4625,5,189,0,0,4624,4623,1,0,0,0,4624,4625,1,0,0,0,4625,4626,1,0,0,0,4626,4627,3,470,235,0,4627,4628,5,116,0,0,4628,4629,3,482,241,0,4629,4712,1,0,0,0,4630,4631,5,159,0,0,4631,4632,5,80,0,0,4632,4633,3,466,233,0,4633,4634,3,1234,617,0,4634,4635,5,80,0,0,4635,4636,3,470,235,0,4636,4637,5,116,0,0,4637,4638,3,482,241,0,4638,4712,1,0,0,0,4639,4640,5,159,0,0,4640,4641,5,80,0,0,4641,4642,5,350,0,0,4642,4643,3,1222,611,0,4643,4644,5,80,0,0,4644,4645,3,470,235,0,4645,4646,5,116,0,0,4646,4647,3,482,241,0,4647,4712,1,0,0,0,4648,4649,5,159,0,0,4649,4650,5,80,0,0,4650,4651,5,289,0,0,4651,4652,3,560,280,0,4652,4653,5,116,0,0,4653,4654,3,482,241,0,4654,4712,1,0,0,0,4655,4656,5,159,0,0,4656,4657,5,80,0,0,4657,4658,5,442,0,0,4658,4659,3,560,280,0,4659,4660,5,116,0,0,4660,4661,3,482,241,0,4661,4712,1,0,0,0,4662,4663,5,159,0,0,4663,4664,5,80,0,0,4664,4665,5,443,0,0,4665,4666,5,62,0,0,4666,4667,3,996,498,0,4667,4668,5,238,0,0,4668,4669,3,1234,617,0,4669,4670,5,116,0,0,4670,4671,3,482,241,0,4671,4712,1,0,0,0,4672,4673,5,159,0,0,4673,4674,5,80,0,0,4674,4675,5,271,0,0,4675,4676,5,156,0,0,4676,4677,3,470,235,0,4677,4678,5,100,0,0,4678,4679,3,1234,617,0,4679,4680,5,116,0,0,4680,4681,3,482,241,0,4681,4712,1,0,0,0,4682,4683,5,159,0,0,4683,4684,5,80,0,0,4684,4685,5,271,0,0,4685,4686,5,206,0,0,4686,4687,3,470,235,0,4687,4688,5,100,0,0,4688,4689,3,1234,617,0,4689,4690,5,116,0,0,4690,4691,3,482,241,0,4691,4712,1,0,0,0,4692,4693,5,159,0,0,4693,4694,5,80,0,0,4694,4695,5,239,0,0,4695,4696,5,267,0,0,4696,4697,3,264,132,0,4697,4698,5,116,0,0,4698,4699,3,482,241,0,4699,4712,1,0,0,0,4700,4701,5,159,0,0,4701,4702,5,80,0,0,4702,4703,5,41,0,0,4703,4704,5,2,0,0,4704,4705,3,996,498,0,4705,4706,5,36,0,0,4706,4707,3,996,498,0,4707,4708,5,3,0,0,4708,4709,5,116,0,0,4709,4710,3,482,241,0,4710,4712,1,0,0,0,4711,4527,1,0,0,0,4711,4534,1,0,0,0,4711,4541,1,0,0,0,4711,4548,1,0,0,0,4711,4555,1,0,0,0,4711,4562,1,0,0,0,4711,4569,1,0,0,0,4711,4576,1,0,0,0,4711,4583,1,0,0,0,4711,4590,1,0,0,0,4711,4597,1,0,0,0,4711,4604,1,0,0,0,4711,4611,1,0,0,0,4711,4618,1,0,0,0,4711,4630,1,0,0,0,4711,4639,1,0,0,0,4711,4648,1,0,0,0,4711,4655,1,0,0,0,4711,4662,1,0,0,0,4711,4672,1,0,0,0,4711,4682,1,0,0,0,4711,4692,1,0,0,0,4711,4700,1,0,0,0,4712,481,1,0,0,0,4713,4716,3,1252,626,0,4714,4716,5,78,0,0,4715,4713,1,0,0,0,4715,4714,1,0,0,0,4716,483,1,0,0,0,4717,4718,5,320,0,0,4718,4719,5,237,0,0,4719,4720,3,486,243,0,4720,4721,5,80,0,0,4721,4722,3,460,230,0,4722,4723,3,470,235,0,4723,4724,5,116,0,0,4724,4725,3,488,244,0,4725,4854,1,0,0,0,4726,4727,5,320,0,0,4727,4728,5,237,0,0,4728,4729,3,486,243,0,4729,4730,5,80,0,0,4730,4731,5,321,0,0,4731,4732,3,1226,613,0,4732,4733,5,116,0,0,4733,4734,3,488,244,0,4734,4854,1,0,0,0,4735,4736,5,320,0,0,4736,4737,5,237,0,0,4737,4738,3,486,243,0,4738,4739,5,80,0,0,4739,4740,5,226,0,0,4740,4741,3,1218,609,0,4741,4742,5,116,0,0,4742,4743,3,488,244,0,4743,4854,1,0,0,0,4744,4745,5,320,0,0,4745,4746,5,237,0,0,4746,4747,3,486,243,0,4747,4748,5,80,0,0,4748,4749,5,44,0,0,4749,4750,3,470,235,0,4750,4751,5,116,0,0,4751,4752,3,488,244,0,4752,4854,1,0,0,0,4753,4754,5,320,0,0,4754,4755,5,237,0,0,4755,4756,3,486,243,0,4756,4757,5,80,0,0,4757,4758,3,462,231,0,4758,4759,3,1234,617,0,4759,4760,5,116,0,0,4760,4761,3,488,244,0,4761,4854,1,0,0,0,4762,4763,5,320,0,0,4763,4764,5,237,0,0,4764,4765,3,486,243,0,4765,4766,5,80,0,0,4766,4767,5,311,0,0,4767,4768,3,1260,630,0,4768,4769,5,116,0,0,4769,4770,3,488,244,0,4770,4854,1,0,0,0,4771,4772,5,320,0,0,4772,4773,5,237,0,0,4773,4774,3,486,243,0,4774,4775,5,80,0,0,4775,4776,5,175,0,0,4776,4777,3,1210,605,0,4777,4778,5,116,0,0,4778,4779,3,488,244,0,4779,4854,1,0,0,0,4780,4781,5,320,0,0,4781,4782,5,237,0,0,4782,4783,3,486,243,0,4783,4784,5,80,0,0,4784,4785,5,316,0,0,4785,4786,3,1214,607,0,4786,4787,5,116,0,0,4787,4788,3,488,244,0,4788,4854,1,0,0,0,4789,4790,5,320,0,0,4790,4791,5,237,0,0,4791,4792,3,486,243,0,4792,4793,5,80,0,0,4793,4794,5,353,0,0,4794,4795,3,996,498,0,4795,4796,5,116,0,0,4796,4797,3,488,244,0,4797,4854,1,0,0,0,4798,4799,5,320,0,0,4799,4800,5,237,0,0,4800,4801,3,486,243,0,4801,4802,5,80,0,0,4802,4803,5,189,0,0,4803,4804,3,996,498,0,4804,4805,5,116,0,0,4805,4806,3,488,244,0,4806,4854,1,0,0,0,4807,4808,5,320,0,0,4808,4809,5,237,0,0,4809,4810,3,486,243,0,4810,4811,5,80,0,0,4811,4812,5,136,0,0,4812,4813,3,580,290,0,4813,4814,5,116,0,0,4814,4815,3,488,244,0,4815,4854,1,0,0,0,4816,4817,5,320,0,0,4817,4818,5,237,0,0,4818,4819,3,486,243,0,4819,4820,5,80,0,0,4820,4821,5,211,0,0,4821,4822,3,560,280,0,4822,4823,5,116,0,0,4823,4824,3,488,244,0,4824,4854,1,0,0,0,4825,4826,5,320,0,0,4826,4827,5,237,0,0,4827,4828,3,486,243,0,4828,4829,5,80,0,0,4829,4830,5,239,0,0,4830,4831,5,267,0,0,4831,4832,3,264,132,0,4832,4833,5,116,0,0,4833,4834,3,488,244,0,4834,4854,1,0,0,0,4835,4836,5,320,0,0,4836,4837,5,237,0,0,4837,4838,3,486,243,0,4838,4839,5,80,0,0,4839,4840,5,289,0,0,4840,4841,3,560,280,0,4841,4842,5,116,0,0,4842,4843,3,488,244,0,4843,4854,1,0,0,0,4844,4845,5,320,0,0,4845,4846,5,237,0,0,4846,4847,3,486,243,0,4847,4848,5,80,0,0,4848,4849,5,442,0,0,4849,4850,3,560,280,0,4850,4851,5,116,0,0,4851,4852,3,488,244,0,4852,4854,1,0,0,0,4853,4717,1,0,0,0,4853,4726,1,0,0,0,4853,4735,1,0,0,0,4853,4744,1,0,0,0,4853,4753,1,0,0,0,4853,4762,1,0,0,0,4853,4771,1,0,0,0,4853,4780,1,0,0,0,4853,4789,1,0,0,0,4853,4798,1,0,0,0,4853,4807,1,0,0,0,4853,4816,1,0,0,0,4853,4825,1,0,0,0,4853,4835,1,0,0,0,4853,4844,1,0,0,0,4854,485,1,0,0,0,4855,4856,5,62,0,0,4856,4859,3,64,32,0,4857,4859,1,0,0,0,4858,4855,1,0,0,0,4858,4857,1,0,0,0,4859,487,1,0,0,0,4860,4863,3,1252,626,0,4861,4863,5,78,0,0,4862,4860,1,0,0,0,4862,4861,1,0,0,0,4863,489,1,0,0,0,4864,4865,5,61,0,0,4865,4869,3,492,246,0,4866,4867,5,258,0,0,4867,4869,3,492,246,0,4868,4864,1,0,0,0,4868,4866,1,0,0,0,4869,491,1,0,0,0,4870,4937,3,854,427,0,4871,4872,3,494,247,0,4872,4873,3,854,427,0,4873,4937,1,0,0,0,4874,4875,5,261,0,0,4875,4876,3,496,248,0,4876,4877,3,854,427,0,4877,4937,1,0,0,0,4878,4879,5,286,0,0,4879,4880,3,496,248,0,4880,4881,3,854,427,0,4881,4937,1,0,0,0,4882,4883,5,207,0,0,4883,4884,3,496,248,0,4884,4885,3,854,427,0,4885,4937,1,0,0,0,4886,4887,5,240,0,0,4887,4888,3,496,248,0,4888,4889,3,854,427,0,4889,4937,1,0,0,0,4890,4891,5,130,0,0,4891,4892,3,1258,629,0,4892,4893,3,496,248,0,4893,4894,3,854,427,0,4894,4937,1,0,0,0,4895,4896,5,300,0,0,4896,4897,3,1258,629,0,4897,4898,3,496,248,0,4898,4899,3,854,427,0,4899,4937,1,0,0,0,4900,4901,3,1258,629,0,4901,4902,3,496,248,0,4902,4903,3,854,427,0,4903,4937,1,0,0,0,4904,4905,5,30,0,0,4905,4906,3,496,248,0,4906,4907,3,854,427,0,4907,4937,1,0,0,0,4908,4909,5,210,0,0,4909,4910,3,496,248,0,4910,4911,3,854,427,0,4911,4937,1,0,0,0,4912,4913,5,210,0,0,4913,4914,3,1258,629,0,4914,4915,3,496,248,0,4915,4916,3,854,427,0,4916,4937,1,0,0,0,4917,4918,5,210,0,0,4918,4919,5,30,0,0,4919,4920,3,496,248,0,4920,4921,3,854,427,0,4921,4937,1,0,0,0,4922,4923,5,144,0,0,4923,4924,3,496,248,0,4924,4925,3,854,427,0,4925,4937,1,0,0,0,4926,4927,5,144,0,0,4927,4928,3,1258,629,0,4928,4929,3,496,248,0,4929,4930,3,854,427,0,4930,4937,1,0,0,0,4931,4932,5,144,0,0,4932,4933,5,30,0,0,4933,4934,3,496,248,0,4934,4935,3,854,427,0,4935,4937,1,0,0,0,4936,4870,1,0,0,0,4936,4871,1,0,0,0,4936,4874,1,0,0,0,4936,4878,1,0,0,0,4936,4882,1,0,0,0,4936,4886,1,0,0,0,4936,4890,1,0,0,0,4936,4895,1,0,0,0,4936,4900,1,0,0,0,4936,4904,1,0,0,0,4936,4908,1,0,0,0,4936,4912,1,0,0,0,4936,4917,1,0,0,0,4936,4922,1,0,0,0,4936,4926,1,0,0,0,4936,4931,1,0,0,0,4937,493,1,0,0,0,4938,4939,7,23,0,0,4939,495,1,0,0,0,4940,4943,3,494,247,0,4941,4943,1,0,0,0,4942,4940,1,0,0,0,4942,4941,1,0,0,0,4943,497,1,0,0,0,4944,4945,5,65,0,0,4945,4946,3,502,251,0,4946,4947,5,80,0,0,4947,4948,3,508,254,0,4948,4949,5,94,0,0,4949,4950,3,510,255,0,4950,4951,3,514,257,0,4951,499,1,0,0,0,4952,4953,5,310,0,0,4953,4954,3,502,251,0,4954,4955,5,80,0,0,4955,4956,3,508,254,0,4956,4957,5,64,0,0,4957,4958,3,510,255,0,4958,4959,3,100,50,0,4959,4972,1,0,0,0,4960,4961,5,310,0,0,4961,4962,5,65,0,0,4962,4963,5,272,0,0,4963,4964,5,62,0,0,4964,4965,3,502,251,0,4965,4966,5,80,0,0,4966,4967,3,508,254,0,4967,4968,5,64,0,0,4968,4969,3,510,255,0,4969,4970,3,100,50,0,4970,4972,1,0,0,0,4971,4952,1,0,0,0,4971,4960,1,0,0,0,4972,501,1,0,0,0,4973,4989,3,504,252,0,4974,4989,5,30,0,0,4975,4976,5,30,0,0,4976,4989,5,287,0,0,4977,4978,5,30,0,0,4978,4979,5,2,0,0,4979,4980,3,194,97,0,4980,4981,5,3,0,0,4981,4989,1,0,0,0,4982,4983,5,30,0,0,4983,4984,5,287,0,0,4984,4985,5,2,0,0,4985,4986,3,194,97,0,4986,4987,5,3,0,0,4987,4989,1,0,0,0,4988,4973,1,0,0,0,4988,4974,1,0,0,0,4988,4975,1,0,0,0,4988,4977,1,0,0,0,4988,4982,1,0,0,0,4989,503,1,0,0,0,4990,4995,3,506,253,0,4991,4992,5,6,0,0,4992,4994,3,506,253,0,4993,4991,1,0,0,0,4994,4997,1,0,0,0,4995,4993,1,0,0,0,4995,4996,1,0,0,0,4996,505,1,0,0,0,4997,4995,1,0,0,0,4998,4999,5,88,0,0,4999,5008,3,192,96,0,5e3,5001,5,86,0,0,5001,5008,3,192,96,0,5002,5003,5,46,0,0,5003,5008,3,192,96,0,5004,5005,3,1264,632,0,5005,5006,3,192,96,0,5006,5008,1,0,0,0,5007,4998,1,0,0,0,5007,5e3,1,0,0,0,5007,5002,1,0,0,0,5007,5004,1,0,0,0,5008,507,1,0,0,0,5009,5048,3,1208,604,0,5010,5011,5,92,0,0,5011,5048,3,1208,604,0,5012,5013,5,321,0,0,5013,5048,3,1228,614,0,5014,5015,5,63,0,0,5015,5016,5,174,0,0,5016,5017,5,374,0,0,5017,5048,3,1232,616,0,5018,5019,5,63,0,0,5019,5020,5,324,0,0,5020,5048,3,1232,616,0,5021,5022,5,211,0,0,5022,5048,3,558,279,0,5023,5024,5,289,0,0,5024,5048,3,558,279,0,5025,5026,5,442,0,0,5026,5048,3,558,279,0,5027,5028,5,175,0,0,5028,5048,3,1212,606,0,5029,5030,5,189,0,0,5030,5048,3,468,234,0,5031,5032,5,238,0,0,5032,5048,3,1232,616,0,5033,5034,5,239,0,0,5034,5035,5,267,0,0,5035,5048,3,266,133,0,5036,5037,5,316,0,0,5037,5048,3,1216,608,0,5038,5039,5,344,0,0,5039,5048,3,1232,616,0,5040,5041,5,353,0,0,5041,5048,3,468,234,0,5042,5043,5,30,0,0,5043,5044,7,24,0,0,5044,5045,5,68,0,0,5045,5046,5,316,0,0,5046,5048,3,1216,608,0,5047,5009,1,0,0,0,5047,5010,1,0,0,0,5047,5012,1,0,0,0,5047,5014,1,0,0,0,5047,5018,1,0,0,0,5047,5021,1,0,0,0,5047,5023,1,0,0,0,5047,5025,1,0,0,0,5047,5027,1,0,0,0,5047,5029,1,0,0,0,5047,5031,1,0,0,0,5047,5033,1,0,0,0,5047,5036,1,0,0,0,5047,5038,1,0,0,0,5047,5040,1,0,0,0,5047,5042,1,0,0,0,5048,509,1,0,0,0,5049,5054,3,512,256,0,5050,5051,5,6,0,0,5051,5053,3,512,256,0,5052,5050,1,0,0,0,5053,5056,1,0,0,0,5054,5052,1,0,0,0,5054,5055,1,0,0,0,5055,511,1,0,0,0,5056,5054,1,0,0,0,5057,5061,3,1260,630,0,5058,5059,5,66,0,0,5059,5061,3,1260,630,0,5060,5057,1,0,0,0,5060,5058,1,0,0,0,5061,513,1,0,0,0,5062,5063,5,105,0,0,5063,5064,5,65,0,0,5064,5067,5,272,0,0,5065,5067,1,0,0,0,5066,5062,1,0,0,0,5066,5065,1,0,0,0,5067,515,1,0,0,0,5068,5069,5,65,0,0,5069,5070,3,504,252,0,5070,5071,5,94,0,0,5071,5072,3,1262,631,0,5072,5073,3,520,260,0,5073,5074,3,522,261,0,5074,517,1,0,0,0,5075,5076,5,310,0,0,5076,5077,3,504,252,0,5077,5078,5,64,0,0,5078,5079,3,1262,631,0,5079,5080,3,522,261,0,5080,5081,3,100,50,0,5081,5093,1,0,0,0,5082,5083,5,310,0,0,5083,5084,5,134,0,0,5084,5085,5,272,0,0,5085,5086,5,62,0,0,5086,5087,3,504,252,0,5087,5088,5,64,0,0,5088,5089,3,1262,631,0,5089,5090,3,522,261,0,5090,5091,3,100,50,0,5091,5093,1,0,0,0,5092,5075,1,0,0,0,5092,5082,1,0,0,0,5093,519,1,0,0,0,5094,5095,5,105,0,0,5095,5096,5,134,0,0,5096,5099,5,272,0,0,5097,5099,1,0,0,0,5098,5094,1,0,0,0,5098,5097,1,0,0,0,5099,521,1,0,0,0,5100,5101,5,214,0,0,5101,5102,5,147,0,0,5102,5105,3,1260,630,0,5103,5105,1,0,0,0,5104,5100,1,0,0,0,5104,5103,1,0,0,0,5105,523,1,0,0,0,5106,5107,5,138,0,0,5107,5108,5,53,0,0,5108,5112,5,287,0,0,5109,5111,3,526,263,0,5110,5109,1,0,0,0,5111,5114,1,0,0,0,5112,5110,1,0,0,0,5112,5113,1,0,0,0,5113,5115,1,0,0,0,5114,5112,1,0,0,0,5115,5116,3,528,264,0,5116,525,1,0,0,0,5117,5118,5,68,0,0,5118,5119,5,316,0,0,5119,5125,3,1216,608,0,5120,5121,5,62,0,0,5121,5122,3,1506,753,0,5122,5123,3,1262,631,0,5123,5125,1,0,0,0,5124,5117,1,0,0,0,5124,5120,1,0,0,0,5125,527,1,0,0,0,5126,5127,5,65,0,0,5127,5128,3,502,251,0,5128,5129,5,80,0,0,5129,5130,3,530,265,0,5130,5131,5,94,0,0,5131,5132,3,510,255,0,5132,5133,3,514,257,0,5133,5154,1,0,0,0,5134,5135,5,310,0,0,5135,5136,3,502,251,0,5136,5137,5,80,0,0,5137,5138,3,530,265,0,5138,5139,5,64,0,0,5139,5140,3,510,255,0,5140,5141,3,100,50,0,5141,5154,1,0,0,0,5142,5143,5,310,0,0,5143,5144,5,65,0,0,5144,5145,5,272,0,0,5145,5146,5,62,0,0,5146,5147,3,502,251,0,5147,5148,5,80,0,0,5148,5149,3,530,265,0,5149,5150,5,64,0,0,5150,5151,3,510,255,0,5151,5152,3,100,50,0,5152,5154,1,0,0,0,5153,5126,1,0,0,0,5153,5134,1,0,0,0,5153,5142,1,0,0,0,5154,529,1,0,0,0,5155,5156,7,25,0,0,5156,531,1,0,0,0,5157,5159,5,46,0,0,5158,5160,5,98,0,0,5159,5158,1,0,0,0,5159,5160,1,0,0,0,5160,5161,1,0,0,0,5161,5163,5,226,0,0,5162,5164,5,109,0,0,5163,5162,1,0,0,0,5163,5164,1,0,0,0,5164,5166,1,0,0,0,5165,5167,3,1234,617,0,5166,5165,1,0,0,0,5166,5167,1,0,0,0,5167,5168,1,0,0,0,5168,5169,5,80,0,0,5169,5170,3,958,479,0,5170,5171,3,534,267,0,5171,5172,5,2,0,0,5172,5173,3,536,268,0,5173,5174,5,3,0,0,5174,5175,3,542,271,0,5175,5176,3,110,55,0,5176,5177,3,232,116,0,5177,5178,3,974,487,0,5178,5203,1,0,0,0,5179,5181,5,46,0,0,5180,5182,5,98,0,0,5181,5180,1,0,0,0,5181,5182,1,0,0,0,5182,5183,1,0,0,0,5183,5185,5,226,0,0,5184,5186,5,109,0,0,5185,5184,1,0,0,0,5185,5186,1,0,0,0,5186,5187,1,0,0,0,5187,5188,5,220,0,0,5188,5189,5,77,0,0,5189,5190,5,389,0,0,5190,5191,3,1234,617,0,5191,5192,5,80,0,0,5192,5193,3,958,479,0,5193,5194,3,534,267,0,5194,5195,5,2,0,0,5195,5196,3,536,268,0,5196,5197,5,3,0,0,5197,5198,3,542,271,0,5198,5199,3,110,55,0,5199,5200,3,232,116,0,5200,5201,3,974,487,0,5201,5203,1,0,0,0,5202,5157,1,0,0,0,5202,5179,1,0,0,0,5203,533,1,0,0,0,5204,5205,5,100,0,0,5205,5208,3,1234,617,0,5206,5208,1,0,0,0,5207,5204,1,0,0,0,5207,5206,1,0,0,0,5208,535,1,0,0,0,5209,5214,3,540,270,0,5210,5211,5,6,0,0,5211,5213,3,540,270,0,5212,5210,1,0,0,0,5213,5216,1,0,0,0,5214,5212,1,0,0,0,5214,5215,1,0,0,0,5215,537,1,0,0,0,5216,5214,1,0,0,0,5217,5218,3,544,272,0,5218,5219,3,546,273,0,5219,5220,3,548,274,0,5220,5221,3,550,275,0,5221,5229,1,0,0,0,5222,5223,3,544,272,0,5223,5224,3,470,235,0,5224,5225,3,108,54,0,5225,5226,3,548,274,0,5226,5227,3,550,275,0,5227,5229,1,0,0,0,5228,5217,1,0,0,0,5228,5222,1,0,0,0,5229,539,1,0,0,0,5230,5231,3,1264,632,0,5231,5232,3,538,269,0,5232,5242,1,0,0,0,5233,5234,3,1090,545,0,5234,5235,3,538,269,0,5235,5242,1,0,0,0,5236,5237,5,2,0,0,5237,5238,3,1038,519,0,5238,5239,5,3,0,0,5239,5240,3,538,269,0,5240,5242,1,0,0,0,5241,5230,1,0,0,0,5241,5233,1,0,0,0,5241,5236,1,0,0,0,5242,541,1,0,0,0,5243,5244,5,441,0,0,5244,5245,5,2,0,0,5245,5250,3,540,270,0,5246,5247,5,6,0,0,5247,5249,3,540,270,0,5248,5246,1,0,0,0,5249,5252,1,0,0,0,5250,5248,1,0,0,0,5250,5251,1,0,0,0,5251,5253,1,0,0,0,5252,5250,1,0,0,0,5253,5254,5,3,0,0,5254,5257,1,0,0,0,5255,5257,1,0,0,0,5256,5243,1,0,0,0,5256,5255,1,0,0,0,5257,543,1,0,0,0,5258,5259,5,43,0,0,5259,5262,3,470,235,0,5260,5262,1,0,0,0,5261,5258,1,0,0,0,5261,5260,1,0,0,0,5262,545,1,0,0,0,5263,5266,3,470,235,0,5264,5266,1,0,0,0,5265,5263,1,0,0,0,5265,5264,1,0,0,0,5266,547,1,0,0,0,5267,5271,5,37,0,0,5268,5271,5,55,0,0,5269,5271,1,0,0,0,5270,5267,1,0,0,0,5270,5268,1,0,0,0,5270,5269,1,0,0,0,5271,549,1,0,0,0,5272,5273,5,266,0,0,5273,5278,5,207,0,0,5274,5275,5,266,0,0,5275,5278,5,240,0,0,5276,5278,1,0,0,0,5277,5272,1,0,0,0,5277,5274,1,0,0,0,5277,5276,1,0,0,0,5278,551,1,0,0,0,5279,5280,5,46,0,0,5280,5281,3,554,277,0,5281,5282,7,21,0,0,5282,5283,3,1240,620,0,5283,5285,5,2,0,0,5284,5286,3,562,281,0,5285,5284,1,0,0,0,5285,5286,1,0,0,0,5286,5287,1,0,0,0,5287,5297,5,3,0,0,5288,5295,5,309,0,0,5289,5296,3,572,286,0,5290,5291,5,92,0,0,5291,5292,5,2,0,0,5292,5293,3,598,299,0,5293,5294,5,3,0,0,5294,5296,1,0,0,0,5295,5289,1,0,0,0,5295,5290,1,0,0,0,5296,5298,1,0,0,0,5297,5288,1,0,0,0,5297,5298,1,0,0,0,5298,5299,1,0,0,0,5299,5300,3,584,292,0,5300,553,1,0,0,0,5301,5302,5,82,0,0,5302,5305,5,304,0,0,5303,5305,1,0,0,0,5304,5301,1,0,0,0,5304,5303,1,0,0,0,5305,555,1,0,0,0,5306,5311,3,566,283,0,5307,5308,5,6,0,0,5308,5310,3,566,283,0,5309,5307,1,0,0,0,5310,5313,1,0,0,0,5311,5309,1,0,0,0,5311,5312,1,0,0,0,5312,557,1,0,0,0,5313,5311,1,0,0,0,5314,5319,3,560,280,0,5315,5316,5,6,0,0,5316,5318,3,560,280,0,5317,5315,1,0,0,0,5318,5321,1,0,0,0,5319,5317,1,0,0,0,5319,5320,1,0,0,0,5320,559,1,0,0,0,5321,5319,1,0,0,0,5322,5323,3,1240,620,0,5323,5325,5,2,0,0,5324,5326,3,556,278,0,5325,5324,1,0,0,0,5325,5326,1,0,0,0,5326,5327,1,0,0,0,5327,5328,5,3,0,0,5328,5335,1,0,0,0,5329,5335,3,1282,641,0,5330,5332,3,1264,632,0,5331,5333,3,1198,599,0,5332,5331,1,0,0,0,5332,5333,1,0,0,0,5333,5335,1,0,0,0,5334,5322,1,0,0,0,5334,5329,1,0,0,0,5334,5330,1,0,0,0,5335,561,1,0,0,0,5336,5341,3,564,282,0,5337,5338,5,6,0,0,5338,5340,3,564,282,0,5339,5337,1,0,0,0,5340,5343,1,0,0,0,5341,5339,1,0,0,0,5341,5342,1,0,0,0,5342,563,1,0,0,0,5343,5341,1,0,0,0,5344,5347,3,566,283,0,5345,5346,7,26,0,0,5346,5348,3,1038,519,0,5347,5345,1,0,0,0,5347,5348,1,0,0,0,5348,565,1,0,0,0,5349,5351,3,568,284,0,5350,5352,3,570,285,0,5351,5350,1,0,0,0,5351,5352,1,0,0,0,5352,5353,1,0,0,0,5353,5354,3,574,287,0,5354,5363,1,0,0,0,5355,5357,3,570,285,0,5356,5358,3,568,284,0,5357,5356,1,0,0,0,5357,5358,1,0,0,0,5358,5359,1,0,0,0,5359,5360,3,574,287,0,5360,5363,1,0,0,0,5361,5363,3,574,287,0,5362,5349,1,0,0,0,5362,5355,1,0,0,0,5362,5361,1,0,0,0,5363,567,1,0,0,0,5364,5366,5,68,0,0,5365,5367,5,453,0,0,5366,5365,1,0,0,0,5366,5367,1,0,0,0,5367,5372,1,0,0,0,5368,5372,5,453,0,0,5369,5372,5,393,0,0,5370,5372,5,101,0,0,5371,5364,1,0,0,0,5371,5368,1,0,0,0,5371,5369,1,0,0,0,5371,5370,1,0,0,0,5372,569,1,0,0,0,5373,5378,3,1268,634,0,5374,5378,3,1286,643,0,5375,5378,5,119,0,0,5376,5378,5,126,0,0,5377,5373,1,0,0,0,5377,5374,1,0,0,0,5377,5375,1,0,0,0,5377,5376,1,0,0,0,5378,571,1,0,0,0,5379,5380,3,574,287,0,5380,573,1,0,0,0,5381,5396,3,996,498,0,5382,5384,5,408,0,0,5383,5382,1,0,0,0,5383,5384,1,0,0,0,5384,5389,1,0,0,0,5385,5390,3,1286,643,0,5386,5390,3,1268,634,0,5387,5390,5,119,0,0,5388,5390,5,126,0,0,5389,5385,1,0,0,0,5389,5386,1,0,0,0,5389,5387,1,0,0,0,5389,5388,1,0,0,0,5390,5391,1,0,0,0,5391,5392,3,472,236,0,5392,5393,5,27,0,0,5393,5394,5,353,0,0,5394,5396,1,0,0,0,5395,5381,1,0,0,0,5395,5383,1,0,0,0,5396,575,1,0,0,0,5397,5408,5,2,0,0,5398,5409,5,9,0,0,5399,5409,3,578,289,0,5400,5401,5,83,0,0,5401,5402,5,147,0,0,5402,5409,3,578,289,0,5403,5404,3,578,289,0,5404,5405,5,83,0,0,5405,5406,5,147,0,0,5406,5407,3,578,289,0,5407,5409,1,0,0,0,5408,5398,1,0,0,0,5408,5399,1,0,0,0,5408,5400,1,0,0,0,5408,5403,1,0,0,0,5409,5410,1,0,0,0,5410,5411,5,3,0,0,5411,577,1,0,0,0,5412,5417,3,566,283,0,5413,5414,5,6,0,0,5414,5416,3,566,283,0,5415,5413,1,0,0,0,5416,5419,1,0,0,0,5417,5415,1,0,0,0,5417,5418,1,0,0,0,5418,579,1,0,0,0,5419,5417,1,0,0,0,5420,5421,3,1240,620,0,5421,5422,3,576,288,0,5422,581,1,0,0,0,5423,5428,3,580,290,0,5424,5425,5,6,0,0,5425,5427,3,580,290,0,5426,5424,1,0,0,0,5427,5430,1,0,0,0,5428,5426,1,0,0,0,5428,5429,1,0,0,0,5429,583,1,0,0,0,5430,5428,1,0,0,0,5431,5433,3,588,294,0,5432,5431,1,0,0,0,5433,5434,1,0,0,0,5434,5432,1,0,0,0,5434,5435,1,0,0,0,5435,5436,1,0,0,0,5436,5437,6,292,-1,0,5437,585,1,0,0,0,5438,5439,5,149,0,0,5439,5440,5,80,0,0,5440,5441,5,78,0,0,5441,5474,5,458,0,0,5442,5443,5,309,0,0,5443,5444,5,78,0,0,5444,5445,5,80,0,0,5445,5446,5,78,0,0,5446,5474,5,458,0,0,5447,5474,5,339,0,0,5448,5474,5,222,0,0,5449,5474,5,331,0,0,5450,5474,5,370,0,0,5451,5452,5,205,0,0,5452,5453,5,320,0,0,5453,5474,5,181,0,0,5454,5455,5,205,0,0,5455,5456,5,320,0,0,5456,5474,5,234,0,0,5457,5458,5,320,0,0,5458,5474,5,181,0,0,5459,5460,5,320,0,0,5460,5474,5,234,0,0,5461,5474,5,241,0,0,5462,5463,5,77,0,0,5463,5474,5,241,0,0,5464,5465,5,170,0,0,5465,5474,3,264,132,0,5466,5467,5,313,0,0,5467,5474,3,264,132,0,5468,5469,5,459,0,0,5469,5474,3,470,235,0,5470,5474,3,74,37,0,5471,5472,5,460,0,0,5472,5474,3,1264,632,0,5473,5438,1,0,0,0,5473,5442,1,0,0,0,5473,5447,1,0,0,0,5473,5448,1,0,0,0,5473,5449,1,0,0,0,5473,5450,1,0,0,0,5473,5451,1,0,0,0,5473,5454,1,0,0,0,5473,5457,1,0,0,0,5473,5459,1,0,0,0,5473,5461,1,0,0,0,5473,5462,1,0,0,0,5473,5464,1,0,0,0,5473,5466,1,0,0,0,5473,5468,1,0,0,0,5473,5470,1,0,0,0,5473,5471,1,0,0,0,5474,587,1,0,0,0,5475,5476,5,36,0,0,5476,5484,3,590,295,0,5477,5478,5,238,0,0,5478,5484,3,64,32,0,5479,5480,5,443,0,0,5480,5484,3,592,296,0,5481,5484,5,104,0,0,5482,5484,3,586,293,0,5483,5475,1,0,0,0,5483,5477,1,0,0,0,5483,5479,1,0,0,0,5483,5481,1,0,0,0,5483,5482,1,0,0,0,5484,589,1,0,0,0,5485,5491,3,1252,626,0,5486,5487,3,1252,626,0,5487,5488,5,6,0,0,5488,5489,3,1252,626,0,5489,5491,1,0,0,0,5490,5485,1,0,0,0,5490,5486,1,0,0,0,5491,591,1,0,0,0,5492,5493,5,62,0,0,5493,5494,5,353,0,0,5494,5501,3,996,498,0,5495,5496,5,6,0,0,5496,5497,5,62,0,0,5497,5498,5,353,0,0,5498,5500,3,996,498,0,5499,5495,1,0,0,0,5500,5503,1,0,0,0,5501,5499,1,0,0,0,5501,5502,1,0,0,0,5502,593,1,0,0,0,5503,5501,1,0,0,0,5504,5505,5,105,0,0,5505,5508,3,416,208,0,5506,5508,1,0,0,0,5507,5504,1,0,0,0,5507,5506,1,0,0,0,5508,595,1,0,0,0,5509,5510,3,570,285,0,5510,5511,3,574,287,0,5511,597,1,0,0,0,5512,5517,3,596,298,0,5513,5514,5,6,0,0,5514,5516,3,596,298,0,5515,5513,1,0,0,0,5516,5519,1,0,0,0,5517,5515,1,0,0,0,5517,5518,1,0,0,0,5518,599,1,0,0,0,5519,5517,1,0,0,0,5520,5521,5,138,0,0,5521,5522,7,27,0,0,5522,5524,3,560,280,0,5523,5525,3,586,293,0,5524,5523,1,0,0,0,5525,5526,1,0,0,0,5526,5524,1,0,0,0,5526,5527,1,0,0,0,5527,5529,1,0,0,0,5528,5530,5,308,0,0,5529,5528,1,0,0,0,5529,5530,1,0,0,0,5530,601,1,0,0,0,5531,5532,5,191,0,0,5532,5533,5,211,0,0,5533,5534,3,558,279,0,5534,5535,3,100,50,0,5535,5568,1,0,0,0,5536,5537,5,191,0,0,5537,5538,5,211,0,0,5538,5539,5,220,0,0,5539,5540,5,389,0,0,5540,5541,3,558,279,0,5541,5542,3,100,50,0,5542,5568,1,0,0,0,5543,5544,5,191,0,0,5544,5545,5,289,0,0,5545,5546,3,558,279,0,5546,5547,3,100,50,0,5547,5568,1,0,0,0,5548,5549,5,191,0,0,5549,5550,5,289,0,0,5550,5551,5,220,0,0,5551,5552,5,389,0,0,5552,5553,3,558,279,0,5553,5554,3,100,50,0,5554,5568,1,0,0,0,5555,5556,5,191,0,0,5556,5557,5,442,0,0,5557,5558,3,558,279,0,5558,5559,3,100,50,0,5559,5568,1,0,0,0,5560,5561,5,191,0,0,5561,5562,5,442,0,0,5562,5563,5,220,0,0,5563,5564,5,389,0,0,5564,5565,3,558,279,0,5565,5566,3,100,50,0,5566,5568,1,0,0,0,5567,5531,1,0,0,0,5567,5536,1,0,0,0,5567,5543,1,0,0,0,5567,5548,1,0,0,0,5567,5555,1,0,0,0,5567,5560,1,0,0,0,5568,603,1,0,0,0,5569,5570,5,191,0,0,5570,5571,5,136,0,0,5571,5572,3,582,291,0,5572,5573,3,100,50,0,5573,5582,1,0,0,0,5574,5575,5,191,0,0,5575,5576,5,136,0,0,5576,5577,5,220,0,0,5577,5578,5,389,0,0,5578,5579,3,582,291,0,5579,5580,3,100,50,0,5580,5582,1,0,0,0,5581,5569,1,0,0,0,5581,5574,1,0,0,0,5582,605,1,0,0,0,5583,5584,5,191,0,0,5584,5585,5,271,0,0,5585,5586,3,612,306,0,5586,5587,3,100,50,0,5587,5596,1,0,0,0,5588,5589,5,191,0,0,5589,5590,5,271,0,0,5590,5591,5,220,0,0,5591,5592,5,389,0,0,5592,5593,3,612,306,0,5593,5594,3,100,50,0,5594,5596,1,0,0,0,5595,5583,1,0,0,0,5595,5588,1,0,0,0,5596,607,1,0,0,0,5597,5598,5,2,0,0,5598,5599,3,996,498,0,5599,5600,5,3,0,0,5600,5620,1,0,0,0,5601,5602,5,2,0,0,5602,5603,3,996,498,0,5603,5604,5,6,0,0,5604,5605,3,996,498,0,5605,5606,5,3,0,0,5606,5620,1,0,0,0,5607,5608,5,2,0,0,5608,5609,5,400,0,0,5609,5610,5,6,0,0,5610,5611,3,996,498,0,5611,5612,5,3,0,0,5612,5620,1,0,0,0,5613,5614,5,2,0,0,5614,5615,3,996,498,0,5615,5616,5,6,0,0,5616,5617,5,400,0,0,5617,5618,5,3,0,0,5618,5620,1,0,0,0,5619,5597,1,0,0,0,5619,5601,1,0,0,0,5619,5607,1,0,0,0,5619,5613,1,0,0,0,5620,609,1,0,0,0,5621,5622,3,1264,632,0,5622,5623,5,11,0,0,5623,5625,1,0,0,0,5624,5621,1,0,0,0,5625,5628,1,0,0,0,5626,5624,1,0,0,0,5626,5627,1,0,0,0,5627,5629,1,0,0,0,5628,5626,1,0,0,0,5629,5630,3,1146,573,0,5630,611,1,0,0,0,5631,5636,3,614,307,0,5632,5633,5,6,0,0,5633,5635,3,614,307,0,5634,5632,1,0,0,0,5635,5638,1,0,0,0,5636,5634,1,0,0,0,5636,5637,1,0,0,0,5637,613,1,0,0,0,5638,5636,1,0,0,0,5639,5640,3,610,305,0,5640,5641,3,608,304,0,5641,615,1,0,0,0,5642,5643,5,57,0,0,5643,5644,3,618,309,0,5644,617,1,0,0,0,5645,5647,3,620,310,0,5646,5645,1,0,0,0,5647,5648,1,0,0,0,5648,5646,1,0,0,0,5648,5649,1,0,0,0,5649,619,1,0,0,0,5650,5654,3,1252,626,0,5651,5652,5,238,0,0,5652,5654,3,64,32,0,5653,5650,1,0,0,0,5653,5651,1,0,0,0,5654,621,1,0,0,0,5655,5656,5,46,0,0,5656,5657,5,41,0,0,5657,5658,5,2,0,0,5658,5659,3,996,498,0,5659,5660,5,36,0,0,5660,5661,3,996,498,0,5661,5662,5,3,0,0,5662,5663,5,105,0,0,5663,5664,5,211,0,0,5664,5665,3,560,280,0,5665,5666,3,624,312,0,5666,5690,1,0,0,0,5667,5668,5,46,0,0,5668,5669,5,41,0,0,5669,5670,5,2,0,0,5670,5671,3,996,498,0,5671,5672,5,36,0,0,5672,5673,3,996,498,0,5673,5674,5,3,0,0,5674,5675,5,372,0,0,5675,5676,5,211,0,0,5676,5677,3,624,312,0,5677,5690,1,0,0,0,5678,5679,5,46,0,0,5679,5680,5,41,0,0,5680,5681,5,2,0,0,5681,5682,3,996,498,0,5682,5683,5,36,0,0,5683,5684,3,996,498,0,5684,5685,5,3,0,0,5685,5686,5,105,0,0,5686,5687,5,393,0,0,5687,5688,3,624,312,0,5688,5690,1,0,0,0,5689,5655,1,0,0,0,5689,5667,1,0,0,0,5689,5678,1,0,0,0,5690,623,1,0,0,0,5691,5692,5,36,0,0,5692,5697,5,223,0,0,5693,5694,5,36,0,0,5694,5697,5,141,0,0,5695,5697,1,0,0,0,5696,5691,1,0,0,0,5696,5693,1,0,0,0,5696,5695,1,0,0,0,5697,625,1,0,0,0,5698,5699,5,191,0,0,5699,5700,5,41,0,0,5700,5701,3,628,314,0,5701,5702,5,2,0,0,5702,5703,3,996,498,0,5703,5704,5,36,0,0,5704,5705,3,996,498,0,5705,5706,5,3,0,0,5706,5707,3,100,50,0,5707,627,1,0,0,0,5708,5709,5,220,0,0,5709,5712,5,389,0,0,5710,5712,1,0,0,0,5711,5708,1,0,0,0,5711,5710,1,0,0,0,5712,629,1,0,0,0,5713,5714,5,46,0,0,5714,5715,3,554,277,0,5715,5716,5,443,0,0,5716,5717,5,62,0,0,5717,5718,3,996,498,0,5718,5719,5,238,0,0,5719,5720,3,1234,617,0,5720,5721,5,2,0,0,5721,5722,3,632,316,0,5722,5723,5,3,0,0,5723,631,1,0,0,0,5724,5725,5,64,0,0,5725,5726,5,461,0,0,5726,5727,5,105,0,0,5727,5728,5,211,0,0,5728,5729,3,560,280,0,5729,5730,5,6,0,0,5730,5731,5,94,0,0,5731,5732,5,461,0,0,5732,5733,5,105,0,0,5733,5734,5,211,0,0,5734,5735,3,560,280,0,5735,5759,1,0,0,0,5736,5737,5,94,0,0,5737,5738,5,461,0,0,5738,5739,5,105,0,0,5739,5740,5,211,0,0,5740,5741,3,560,280,0,5741,5742,5,6,0,0,5742,5743,5,64,0,0,5743,5744,5,461,0,0,5744,5745,5,105,0,0,5745,5746,5,211,0,0,5746,5747,3,560,280,0,5747,5759,1,0,0,0,5748,5749,5,64,0,0,5749,5750,5,461,0,0,5750,5751,5,105,0,0,5751,5752,5,211,0,0,5752,5759,3,560,280,0,5753,5754,5,94,0,0,5754,5755,5,461,0,0,5755,5756,5,105,0,0,5756,5757,5,211,0,0,5757,5759,3,560,280,0,5758,5724,1,0,0,0,5758,5736,1,0,0,0,5758,5748,1,0,0,0,5758,5753,1,0,0,0,5759,633,1,0,0,0,5760,5761,5,191,0,0,5761,5762,5,443,0,0,5762,5763,3,628,314,0,5763,5764,5,62,0,0,5764,5765,3,996,498,0,5765,5766,5,238,0,0,5766,5767,3,1234,617,0,5767,5768,3,100,50,0,5768,635,1,0,0,0,5769,5774,5,299,0,0,5770,5771,5,2,0,0,5771,5772,3,640,320,0,5772,5773,5,3,0,0,5773,5775,1,0,0,0,5774,5770,1,0,0,0,5774,5775,1,0,0,0,5775,5776,1,0,0,0,5776,5778,3,638,319,0,5777,5779,5,109,0,0,5778,5777,1,0,0,0,5778,5779,1,0,0,0,5779,5780,1,0,0,0,5780,5781,3,1230,615,0,5781,5831,1,0,0,0,5782,5787,5,299,0,0,5783,5784,5,2,0,0,5784,5785,3,640,320,0,5785,5786,5,3,0,0,5786,5788,1,0,0,0,5787,5783,1,0,0,0,5787,5788,1,0,0,0,5788,5789,1,0,0,0,5789,5791,5,175,0,0,5790,5792,5,109,0,0,5791,5790,1,0,0,0,5791,5792,1,0,0,0,5792,5793,1,0,0,0,5793,5831,3,1210,605,0,5794,5799,5,299,0,0,5795,5796,5,2,0,0,5796,5797,3,640,320,0,5797,5798,5,3,0,0,5798,5800,1,0,0,0,5799,5795,1,0,0,0,5799,5800,1,0,0,0,5800,5801,1,0,0,0,5801,5803,5,316,0,0,5802,5804,5,109,0,0,5803,5802,1,0,0,0,5803,5804,1,0,0,0,5804,5805,1,0,0,0,5805,5831,3,1214,607,0,5806,5811,5,299,0,0,5807,5808,5,2,0,0,5808,5809,3,640,320,0,5809,5810,5,3,0,0,5810,5812,1,0,0,0,5811,5807,1,0,0,0,5811,5812,1,0,0,0,5812,5813,1,0,0,0,5813,5815,5,226,0,0,5814,5816,5,109,0,0,5815,5814,1,0,0,0,5815,5816,1,0,0,0,5816,5817,1,0,0,0,5817,5831,3,1218,609,0,5818,5823,5,299,0,0,5819,5820,5,2,0,0,5820,5821,3,640,320,0,5821,5822,5,3,0,0,5822,5824,1,0,0,0,5823,5819,1,0,0,0,5823,5824,1,0,0,0,5824,5825,1,0,0,0,5825,5827,5,342,0,0,5826,5828,5,109,0,0,5827,5826,1,0,0,0,5827,5828,1,0,0,0,5828,5829,1,0,0,0,5829,5831,3,1234,617,0,5830,5769,1,0,0,0,5830,5782,1,0,0,0,5830,5794,1,0,0,0,5830,5806,1,0,0,0,5830,5818,1,0,0,0,5831,637,1,0,0,0,5832,5833,7,28,0,0,5833,639,1,0,0,0,5834,5839,3,642,321,0,5835,5836,5,6,0,0,5836,5838,3,642,321,0,5837,5835,1,0,0,0,5838,5841,1,0,0,0,5839,5837,1,0,0,0,5839,5840,1,0,0,0,5840,641,1,0,0,0,5841,5839,1,0,0,0,5842,5843,7,29,0,0,5843,643,1,0,0,0,5844,5845,5,138,0,0,5845,5846,5,344,0,0,5846,5847,3,1234,617,0,5847,5848,5,326,0,0,5848,5849,3,108,54,0,5849,5857,1,0,0,0,5850,5851,5,138,0,0,5851,5852,5,344,0,0,5852,5853,3,1234,617,0,5853,5854,5,306,0,0,5854,5855,3,108,54,0,5855,5857,1,0,0,0,5856,5844,1,0,0,0,5856,5850,1,0,0,0,5857,645,1,0,0,0,5858,5859,5,138,0,0,5859,5860,5,136,0,0,5860,5861,3,580,290,0,5861,5862,5,302,0,0,5862,5863,5,94,0,0,5863,5864,3,1234,617,0,5864,6296,1,0,0,0,5865,5866,5,138,0,0,5866,5867,5,108,0,0,5867,5868,3,470,235,0,5868,5869,5,302,0,0,5869,5870,5,94,0,0,5870,5871,3,1234,617,0,5871,6296,1,0,0,0,5872,5873,5,138,0,0,5873,5874,5,168,0,0,5874,5875,3,470,235,0,5875,5876,5,302,0,0,5876,5877,5,94,0,0,5877,5878,3,1234,617,0,5878,6296,1,0,0,0,5879,5880,5,138,0,0,5880,5881,5,175,0,0,5881,5882,3,1210,605,0,5882,5883,5,302,0,0,5883,5884,5,94,0,0,5884,5885,3,1234,617,0,5885,6296,1,0,0,0,5886,5887,5,138,0,0,5887,5888,5,189,0,0,5888,5889,3,470,235,0,5889,5890,5,302,0,0,5890,5891,5,94,0,0,5891,5892,3,1234,617,0,5892,6296,1,0,0,0,5893,5894,5,138,0,0,5894,5895,5,189,0,0,5895,5896,3,470,235,0,5896,5897,5,302,0,0,5897,5898,5,45,0,0,5898,5899,3,1224,612,0,5899,5900,5,94,0,0,5900,5901,3,1234,617,0,5901,6296,1,0,0,0,5902,5903,5,138,0,0,5903,5904,5,63,0,0,5904,5905,5,174,0,0,5905,5906,5,374,0,0,5906,5907,3,1234,617,0,5907,5908,5,302,0,0,5908,5909,5,94,0,0,5909,5910,3,1234,617,0,5910,6296,1,0,0,0,5911,5912,5,138,0,0,5912,5913,5,211,0,0,5913,5914,3,560,280,0,5914,5915,5,302,0,0,5915,5916,5,94,0,0,5916,5917,3,1234,617,0,5917,6296,1,0,0,0,5918,5919,5,138,0,0,5919,5920,3,276,138,0,5920,5921,5,238,0,0,5921,5922,3,1234,617,0,5922,5923,5,302,0,0,5923,5924,5,94,0,0,5924,5925,3,1234,617,0,5925,6296,1,0,0,0,5926,5927,5,138,0,0,5927,5928,5,271,0,0,5928,5929,5,156,0,0,5929,5930,3,470,235,0,5930,5931,5,100,0,0,5931,5932,3,1234,617,0,5932,5933,5,302,0,0,5933,5934,5,94,0,0,5934,5935,3,1234,617,0,5935,6296,1,0,0,0,5936,5937,5,138,0,0,5937,5938,5,271,0,0,5938,5939,5,206,0,0,5939,5940,3,470,235,0,5940,5941,5,100,0,0,5941,5942,3,1234,617,0,5942,5943,5,302,0,0,5943,5944,5,94,0,0,5944,5945,3,1234,617,0,5945,6296,1,0,0,0,5946,5947,5,138,0,0,5947,5948,5,445,0,0,5948,5949,3,1234,617,0,5949,5950,5,80,0,0,5950,5951,3,1230,615,0,5951,5952,5,302,0,0,5952,5953,5,94,0,0,5953,5954,3,1234,617,0,5954,6296,1,0,0,0,5955,5956,5,138,0,0,5956,5957,5,445,0,0,5957,5958,5,220,0,0,5958,5959,5,389,0,0,5959,5960,3,1234,617,0,5960,5961,5,80,0,0,5961,5962,3,1230,615,0,5962,5963,5,302,0,0,5963,5964,5,94,0,0,5964,5965,3,1234,617,0,5965,6296,1,0,0,0,5966,5967,5,138,0,0,5967,5968,5,289,0,0,5968,5969,3,560,280,0,5969,5970,5,302,0,0,5970,5971,5,94,0,0,5971,5972,3,1234,617,0,5972,6296,1,0,0,0,5973,5974,5,138,0,0,5974,5975,5,452,0,0,5975,5976,3,1234,617,0,5976,5977,5,302,0,0,5977,5978,5,94,0,0,5978,5979,3,1234,617,0,5979,6296,1,0,0,0,5980,5981,5,138,0,0,5981,5982,5,442,0,0,5982,5983,3,560,280,0,5983,5984,5,302,0,0,5984,5985,5,94,0,0,5985,5986,3,1234,617,0,5986,6296,1,0,0,0,5987,5988,5,138,0,0,5988,5989,5,316,0,0,5989,5990,3,1214,607,0,5990,5991,5,302,0,0,5991,5992,5,94,0,0,5992,5993,3,1234,617,0,5993,6296,1,0,0,0,5994,5995,5,138,0,0,5995,5996,5,324,0,0,5996,5997,3,1234,617,0,5997,5998,5,302,0,0,5998,5999,5,94,0,0,5999,6e3,3,1234,617,0,6e3,6296,1,0,0,0,6001,6002,5,138,0,0,6002,6003,5,451,0,0,6003,6004,3,1234,617,0,6004,6005,5,302,0,0,6005,6006,5,94,0,0,6006,6007,3,1234,617,0,6007,6296,1,0,0,0,6008,6009,5,138,0,0,6009,6010,5,92,0,0,6010,6011,3,958,479,0,6011,6012,5,302,0,0,6012,6013,5,94,0,0,6013,6014,3,1234,617,0,6014,6296,1,0,0,0,6015,6016,5,138,0,0,6016,6017,5,92,0,0,6017,6018,5,220,0,0,6018,6019,5,389,0,0,6019,6020,3,958,479,0,6020,6021,5,302,0,0,6021,6022,5,94,0,0,6022,6023,3,1234,617,0,6023,6296,1,0,0,0,6024,6025,5,138,0,0,6025,6028,5,321,0,0,6026,6027,5,220,0,0,6027,6029,5,389,0,0,6028,6026,1,0,0,0,6028,6029,1,0,0,0,6029,6030,1,0,0,0,6030,6031,3,1226,613,0,6031,6032,5,302,0,0,6032,6033,5,94,0,0,6033,6034,3,1234,617,0,6034,6296,1,0,0,0,6035,6036,5,138,0,0,6036,6037,5,369,0,0,6037,6038,3,1230,615,0,6038,6039,5,302,0,0,6039,6040,5,94,0,0,6040,6041,3,1234,617,0,6041,6296,1,0,0,0,6042,6043,5,138,0,0,6043,6044,5,369,0,0,6044,6045,5,220,0,0,6045,6046,5,389,0,0,6046,6047,3,1230,615,0,6047,6048,5,302,0,0,6048,6049,5,94,0,0,6049,6050,3,1234,617,0,6050,6296,1,0,0,0,6051,6052,5,138,0,0,6052,6053,5,251,0,0,6053,6054,5,369,0,0,6054,6055,3,1230,615,0,6055,6056,5,302,0,0,6056,6057,5,94,0,0,6057,6058,3,1234,617,0,6058,6296,1,0,0,0,6059,6060,5,138,0,0,6060,6061,5,251,0,0,6061,6062,5,369,0,0,6062,6063,5,220,0,0,6063,6064,5,389,0,0,6064,6065,3,1230,615,0,6065,6066,5,302,0,0,6066,6067,5,94,0,0,6067,6068,3,1234,617,0,6068,6296,1,0,0,0,6069,6070,5,138,0,0,6070,6073,5,226,0,0,6071,6072,5,220,0,0,6072,6074,5,389,0,0,6073,6071,1,0,0,0,6073,6074,1,0,0,0,6074,6075,1,0,0,0,6075,6076,3,1218,609,0,6076,6077,5,302,0,0,6077,6078,5,94,0,0,6078,6079,3,1234,617,0,6079,6296,1,0,0,0,6080,6081,5,138,0,0,6081,6082,5,63,0,0,6082,6083,5,92,0,0,6083,6084,3,958,479,0,6084,6085,5,302,0,0,6085,6086,5,94,0,0,6086,6087,3,1234,617,0,6087,6296,1,0,0,0,6088,6089,5,138,0,0,6089,6090,5,63,0,0,6090,6091,5,92,0,0,6091,6092,5,220,0,0,6092,6093,5,389,0,0,6093,6094,3,958,479,0,6094,6095,5,302,0,0,6095,6096,5,94,0,0,6096,6097,3,1234,617,0,6097,6296,1,0,0,0,6098,6099,5,138,0,0,6099,6100,5,92,0,0,6100,6101,3,958,479,0,6101,6102,5,302,0,0,6102,6103,3,648,324,0,6103,6104,3,1234,617,0,6104,6105,5,94,0,0,6105,6106,3,1234,617,0,6106,6296,1,0,0,0,6107,6108,5,138,0,0,6108,6109,5,92,0,0,6109,6110,5,220,0,0,6110,6111,5,389,0,0,6111,6112,3,958,479,0,6112,6113,5,302,0,0,6113,6114,3,648,324,0,6114,6115,3,1234,617,0,6115,6116,5,94,0,0,6116,6117,3,1234,617,0,6117,6296,1,0,0,0,6118,6119,5,138,0,0,6119,6120,5,369,0,0,6120,6121,3,1230,615,0,6121,6122,5,302,0,0,6122,6123,3,648,324,0,6123,6124,3,1234,617,0,6124,6125,5,94,0,0,6125,6126,3,1234,617,0,6126,6296,1,0,0,0,6127,6128,5,138,0,0,6128,6129,5,369,0,0,6129,6130,5,220,0,0,6130,6131,5,389,0,0,6131,6132,3,1230,615,0,6132,6133,5,302,0,0,6133,6134,3,648,324,0,6134,6135,3,1234,617,0,6135,6136,5,94,0,0,6136,6137,3,1234,617,0,6137,6296,1,0,0,0,6138,6139,5,138,0,0,6139,6140,5,251,0,0,6140,6141,5,369,0,0,6141,6142,3,1230,615,0,6142,6143,5,302,0,0,6143,6144,3,648,324,0,6144,6145,3,1234,617,0,6145,6146,5,94,0,0,6146,6147,3,1234,617,0,6147,6296,1,0,0,0,6148,6149,5,138,0,0,6149,6150,5,251,0,0,6150,6151,5,369,0,0,6151,6152,5,220,0,0,6152,6153,5,389,0,0,6153,6154,3,1230,615,0,6154,6155,5,302,0,0,6155,6156,3,648,324,0,6156,6157,3,1234,617,0,6157,6158,5,94,0,0,6158,6159,3,1234,617,0,6159,6296,1,0,0,0,6160,6161,5,138,0,0,6161,6164,5,92,0,0,6162,6163,5,220,0,0,6163,6165,5,389,0,0,6164,6162,1,0,0,0,6164,6165,1,0,0,0,6165,6166,1,0,0,0,6166,6167,3,958,479,0,6167,6168,5,302,0,0,6168,6169,5,45,0,0,6169,6170,3,1224,612,0,6170,6171,5,94,0,0,6171,6172,3,1234,617,0,6172,6296,1,0,0,0,6173,6174,5,138,0,0,6174,6175,5,63,0,0,6175,6176,5,92,0,0,6176,6177,3,958,479,0,6177,6178,5,302,0,0,6178,6179,3,648,324,0,6179,6180,3,1234,617,0,6180,6181,5,94,0,0,6181,6182,3,1234,617,0,6182,6296,1,0,0,0,6183,6184,5,138,0,0,6184,6185,5,63,0,0,6185,6186,5,92,0,0,6186,6187,5,220,0,0,6187,6188,5,389,0,0,6188,6189,3,958,479,0,6189,6190,5,302,0,0,6190,6191,3,648,324,0,6191,6192,3,1234,617,0,6192,6193,5,94,0,0,6193,6194,3,1234,617,0,6194,6296,1,0,0,0,6195,6196,5,138,0,0,6196,6197,5,314,0,0,6197,6198,3,1234,617,0,6198,6199,5,80,0,0,6199,6200,3,1230,615,0,6200,6201,5,302,0,0,6201,6202,5,94,0,0,6202,6203,3,1234,617,0,6203,6296,1,0,0,0,6204,6205,5,138,0,0,6205,6206,5,350,0,0,6206,6207,3,1222,611,0,6207,6208,5,80,0,0,6208,6209,3,1230,615,0,6209,6210,5,302,0,0,6210,6211,5,94,0,0,6211,6212,3,1234,617,0,6212,6296,1,0,0,0,6213,6214,5,138,0,0,6214,6215,5,198,0,0,6215,6216,5,350,0,0,6216,6217,3,1234,617,0,6217,6218,5,302,0,0,6218,6219,5,94,0,0,6219,6220,3,1234,617,0,6220,6296,1,0,0,0,6221,6222,5,138,0,0,6222,6223,3,1506,753,0,6223,6224,3,1260,630,0,6224,6225,5,302,0,0,6225,6226,5,94,0,0,6226,6227,3,1260,630,0,6227,6296,1,0,0,0,6228,6229,5,138,0,0,6229,6230,5,344,0,0,6230,6231,3,1234,617,0,6231,6232,5,302,0,0,6232,6233,5,94,0,0,6233,6234,3,1234,617,0,6234,6296,1,0,0,0,6235,6236,5,138,0,0,6236,6237,5,335,0,0,6237,6238,3,470,235,0,6238,6239,5,302,0,0,6239,6240,5,94,0,0,6240,6241,3,1234,617,0,6241,6296,1,0,0,0,6242,6243,5,138,0,0,6243,6244,5,348,0,0,6244,6245,5,318,0,0,6245,6246,5,276,0,0,6246,6247,3,470,235,0,6247,6248,5,302,0,0,6248,6249,5,94,0,0,6249,6250,3,1234,617,0,6250,6296,1,0,0,0,6251,6252,5,138,0,0,6252,6253,5,348,0,0,6253,6254,5,318,0,0,6254,6255,5,185,0,0,6255,6256,3,470,235,0,6256,6257,5,302,0,0,6257,6258,5,94,0,0,6258,6259,3,1234,617,0,6259,6296,1,0,0,0,6260,6261,5,138,0,0,6261,6262,5,348,0,0,6262,6263,5,318,0,0,6263,6264,5,346,0,0,6264,6265,3,470,235,0,6265,6266,5,302,0,0,6266,6267,5,94,0,0,6267,6268,3,1234,617,0,6268,6296,1,0,0,0,6269,6270,5,138,0,0,6270,6271,5,348,0,0,6271,6272,5,318,0,0,6272,6273,5,163,0,0,6273,6274,3,470,235,0,6274,6275,5,302,0,0,6275,6276,5,94,0,0,6276,6277,3,1234,617,0,6277,6296,1,0,0,0,6278,6279,5,138,0,0,6279,6280,5,353,0,0,6280,6281,3,470,235,0,6281,6282,5,302,0,0,6282,6283,5,94,0,0,6283,6284,3,1234,617,0,6284,6296,1,0,0,0,6285,6286,5,138,0,0,6286,6287,5,353,0,0,6287,6288,3,470,235,0,6288,6289,5,302,0,0,6289,6290,5,143,0,0,6290,6291,3,1234,617,0,6291,6292,5,94,0,0,6292,6293,3,1234,617,0,6293,6294,3,100,50,0,6294,6296,1,0,0,0,6295,5858,1,0,0,0,6295,5865,1,0,0,0,6295,5872,1,0,0,0,6295,5879,1,0,0,0,6295,5886,1,0,0,0,6295,5893,1,0,0,0,6295,5902,1,0,0,0,6295,5911,1,0,0,0,6295,5918,1,0,0,0,6295,5926,1,0,0,0,6295,5936,1,0,0,0,6295,5946,1,0,0,0,6295,5955,1,0,0,0,6295,5966,1,0,0,0,6295,5973,1,0,0,0,6295,5980,1,0,0,0,6295,5987,1,0,0,0,6295,5994,1,0,0,0,6295,6001,1,0,0,0,6295,6008,1,0,0,0,6295,6015,1,0,0,0,6295,6024,1,0,0,0,6295,6035,1,0,0,0,6295,6042,1,0,0,0,6295,6051,1,0,0,0,6295,6059,1,0,0,0,6295,6069,1,0,0,0,6295,6080,1,0,0,0,6295,6088,1,0,0,0,6295,6098,1,0,0,0,6295,6107,1,0,0,0,6295,6118,1,0,0,0,6295,6127,1,0,0,0,6295,6138,1,0,0,0,6295,6148,1,0,0,0,6295,6160,1,0,0,0,6295,6173,1,0,0,0,6295,6183,1,0,0,0,6295,6195,1,0,0,0,6295,6204,1,0,0,0,6295,6213,1,0,0,0,6295,6221,1,0,0,0,6295,6228,1,0,0,0,6295,6235,1,0,0,0,6295,6242,1,0,0,0,6295,6251,1,0,0,0,6295,6260,1,0,0,0,6295,6269,1,0,0,0,6295,6278,1,0,0,0,6295,6285,1,0,0,0,6296,647,1,0,0,0,6297,6300,5,44,0,0,6298,6300,1,0,0,0,6299,6297,1,0,0,0,6299,6298,1,0,0,0,6300,649,1,0,0,0,6301,6302,5,326,0,0,6302,6305,5,174,0,0,6303,6305,1,0,0,0,6304,6301,1,0,0,0,6304,6303,1,0,0,0,6305,651,1,0,0,0,6306,6307,5,138,0,0,6307,6308,5,211,0,0,6308,6310,3,560,280,0,6309,6311,5,262,0,0,6310,6309,1,0,0,0,6310,6311,1,0,0,0,6311,6312,1,0,0,0,6312,6313,5,462,0,0,6313,6314,5,80,0,0,6314,6315,5,204,0,0,6315,6316,3,1234,617,0,6316,6376,1,0,0,0,6317,6318,5,138,0,0,6318,6319,5,289,0,0,6319,6321,3,560,280,0,6320,6322,5,262,0,0,6321,6320,1,0,0,0,6321,6322,1,0,0,0,6322,6323,1,0,0,0,6323,6324,5,462,0,0,6324,6325,5,80,0,0,6325,6326,5,204,0,0,6326,6327,3,1234,617,0,6327,6376,1,0,0,0,6328,6329,5,138,0,0,6329,6330,5,442,0,0,6330,6332,3,560,280,0,6331,6333,5,262,0,0,6332,6331,1,0,0,0,6332,6333,1,0,0,0,6333,6334,1,0,0,0,6334,6335,5,462,0,0,6335,6336,5,80,0,0,6336,6337,5,204,0,0,6337,6338,3,1234,617,0,6338,6376,1,0,0,0,6339,6340,5,138,0,0,6340,6341,5,350,0,0,6341,6342,3,1222,611,0,6342,6343,5,80,0,0,6343,6345,3,1230,615,0,6344,6346,5,262,0,0,6345,6344,1,0,0,0,6345,6346,1,0,0,0,6346,6347,1,0,0,0,6347,6348,5,462,0,0,6348,6349,5,80,0,0,6349,6350,5,204,0,0,6350,6351,3,1234,617,0,6351,6376,1,0,0,0,6352,6353,5,138,0,0,6353,6354,5,251,0,0,6354,6355,5,369,0,0,6355,6357,3,1230,615,0,6356,6358,5,262,0,0,6357,6356,1,0,0,0,6357,6358,1,0,0,0,6358,6359,1,0,0,0,6359,6360,5,462,0,0,6360,6361,5,80,0,0,6361,6362,5,204,0,0,6362,6363,3,1234,617,0,6363,6376,1,0,0,0,6364,6365,5,138,0,0,6365,6366,5,226,0,0,6366,6368,3,1218,609,0,6367,6369,5,262,0,0,6368,6367,1,0,0,0,6368,6369,1,0,0,0,6369,6370,1,0,0,0,6370,6371,5,462,0,0,6371,6372,5,80,0,0,6372,6373,5,204,0,0,6373,6374,3,1234,617,0,6374,6376,1,0,0,0,6375,6306,1,0,0,0,6375,6317,1,0,0,0,6375,6328,1,0,0,0,6375,6339,1,0,0,0,6375,6352,1,0,0,0,6375,6364,1,0,0,0,6376,653,1,0,0,0,6377,6378,5,138,0,0,6378,6379,5,136,0,0,6379,6380,3,580,290,0,6380,6381,5,326,0,0,6381,6382,5,316,0,0,6382,6383,3,1214,607,0,6383,6590,1,0,0,0,6384,6385,5,138,0,0,6385,6386,5,108,0,0,6386,6387,3,470,235,0,6387,6388,5,326,0,0,6388,6389,5,316,0,0,6389,6390,3,1214,607,0,6390,6590,1,0,0,0,6391,6392,5,138,0,0,6392,6393,5,168,0,0,6393,6394,3,470,235,0,6394,6395,5,326,0,0,6395,6396,5,316,0,0,6396,6397,3,1214,607,0,6397,6590,1,0,0,0,6398,6399,5,138,0,0,6399,6400,5,189,0,0,6400,6401,3,470,235,0,6401,6402,5,326,0,0,6402,6403,5,316,0,0,6403,6404,3,1214,607,0,6404,6590,1,0,0,0,6405,6406,5,138,0,0,6406,6407,5,204,0,0,6407,6408,3,1234,617,0,6408,6409,5,326,0,0,6409,6410,5,316,0,0,6410,6411,3,1214,607,0,6411,6590,1,0,0,0,6412,6413,5,138,0,0,6413,6414,5,211,0,0,6414,6415,3,560,280,0,6415,6416,5,326,0,0,6416,6417,5,316,0,0,6417,6418,3,1214,607,0,6418,6590,1,0,0,0,6419,6420,5,138,0,0,6420,6421,5,271,0,0,6421,6422,3,614,307,0,6422,6423,5,326,0,0,6423,6424,5,316,0,0,6424,6425,3,1214,607,0,6425,6590,1,0,0,0,6426,6427,5,138,0,0,6427,6428,5,271,0,0,6428,6429,5,156,0,0,6429,6430,3,470,235,0,6430,6431,5,100,0,0,6431,6432,3,1234,617,0,6432,6433,5,326,0,0,6433,6434,5,316,0,0,6434,6435,3,1214,607,0,6435,6590,1,0,0,0,6436,6437,5,138,0,0,6437,6438,5,271,0,0,6438,6439,5,206,0,0,6439,6440,3,470,235,0,6440,6441,5,100,0,0,6441,6442,3,1234,617,0,6442,6443,5,326,0,0,6443,6444,5,316,0,0,6444,6445,3,1214,607,0,6445,6590,1,0,0,0,6446,6447,5,138,0,0,6447,6448,5,289,0,0,6448,6449,3,560,280,0,6449,6450,5,326,0,0,6450,6451,5,316,0,0,6451,6452,3,1214,607,0,6452,6590,1,0,0,0,6453,6454,5,138,0,0,6454,6455,5,442,0,0,6455,6456,3,560,280,0,6456,6457,5,326,0,0,6457,6458,5,316,0,0,6458,6459,3,1214,607,0,6459,6590,1,0,0,0,6460,6461,5,138,0,0,6461,6462,5,92,0,0,6462,6463,3,958,479,0,6463,6464,5,326,0,0,6464,6465,5,316,0,0,6465,6466,3,1214,607,0,6466,6590,1,0,0,0,6467,6468,5,138,0,0,6468,6469,5,92,0,0,6469,6470,5,220,0,0,6470,6471,5,389,0,0,6471,6472,3,958,479,0,6472,6473,5,326,0,0,6473,6474,5,316,0,0,6474,6475,3,1214,607,0,6475,6590,1,0,0,0,6476,6477,5,138,0,0,6477,6478,5,335,0,0,6478,6479,3,470,235,0,6479,6480,5,326,0,0,6480,6481,5,316,0,0,6481,6482,3,1214,607,0,6482,6590,1,0,0,0,6483,6484,5,138,0,0,6484,6485,5,348,0,0,6485,6486,5,318,0,0,6486,6487,5,276,0,0,6487,6488,3,470,235,0,6488,6489,5,326,0,0,6489,6490,5,316,0,0,6490,6491,3,1214,607,0,6491,6590,1,0,0,0,6492,6493,5,138,0,0,6493,6494,5,348,0,0,6494,6495,5,318,0,0,6495,6496,5,185,0,0,6496,6497,3,470,235,0,6497,6498,5,326,0,0,6498,6499,5,316,0,0,6499,6500,3,1214,607,0,6500,6590,1,0,0,0,6501,6502,5,138,0,0,6502,6503,5,348,0,0,6503,6504,5,318,0,0,6504,6505,5,346,0,0,6505,6506,3,470,235,0,6506,6507,5,326,0,0,6507,6508,5,316,0,0,6508,6509,3,1214,607,0,6509,6590,1,0,0,0,6510,6511,5,138,0,0,6511,6512,5,348,0,0,6512,6513,5,318,0,0,6513,6514,5,163,0,0,6514,6515,3,470,235,0,6515,6516,5,326,0,0,6516,6517,5,316,0,0,6517,6518,3,1214,607,0,6518,6590,1,0,0,0,6519,6520,5,138,0,0,6520,6523,5,321,0,0,6521,6522,5,220,0,0,6522,6524,5,389,0,0,6523,6521,1,0,0,0,6523,6524,1,0,0,0,6524,6525,1,0,0,0,6525,6526,3,1226,613,0,6526,6527,5,326,0,0,6527,6528,5,316,0,0,6528,6529,3,1214,607,0,6529,6590,1,0,0,0,6530,6531,5,138,0,0,6531,6532,5,369,0,0,6532,6533,3,1230,615,0,6533,6534,5,326,0,0,6534,6535,5,316,0,0,6535,6536,3,1214,607,0,6536,6590,1,0,0,0,6537,6538,5,138,0,0,6538,6539,5,369,0,0,6539,6540,5,220,0,0,6540,6541,5,389,0,0,6541,6542,3,1230,615,0,6542,6543,5,326,0,0,6543,6544,5,316,0,0,6544,6545,3,1214,607,0,6545,6590,1,0,0,0,6546,6547,5,138,0,0,6547,6548,5,251,0,0,6548,6549,5,369,0,0,6549,6550,3,1230,615,0,6550,6551,5,326,0,0,6551,6552,5,316,0,0,6552,6553,3,1214,607,0,6553,6590,1,0,0,0,6554,6555,5,138,0,0,6555,6556,5,251,0,0,6556,6557,5,369,0,0,6557,6558,5,220,0,0,6558,6559,5,389,0,0,6559,6560,3,1230,615,0,6560,6561,5,326,0,0,6561,6562,5,316,0,0,6562,6563,3,1214,607,0,6563,6590,1,0,0,0,6564,6565,5,138,0,0,6565,6566,5,63,0,0,6566,6567,5,92,0,0,6567,6568,3,958,479,0,6568,6569,5,326,0,0,6569,6570,5,316,0,0,6570,6571,3,1214,607,0,6571,6590,1,0,0,0,6572,6573,5,138,0,0,6573,6574,5,63,0,0,6574,6575,5,92,0,0,6575,6576,5,220,0,0,6576,6577,5,389,0,0,6577,6578,3,958,479,0,6578,6579,5,326,0,0,6579,6580,5,316,0,0,6580,6581,3,1214,607,0,6581,6590,1,0,0,0,6582,6583,5,138,0,0,6583,6584,5,353,0,0,6584,6585,3,470,235,0,6585,6586,5,326,0,0,6586,6587,5,316,0,0,6587,6588,3,1214,607,0,6588,6590,1,0,0,0,6589,6377,1,0,0,0,6589,6384,1,0,0,0,6589,6391,1,0,0,0,6589,6398,1,0,0,0,6589,6405,1,0,0,0,6589,6412,1,0,0,0,6589,6419,1,0,0,0,6589,6426,1,0,0,0,6589,6436,1,0,0,0,6589,6446,1,0,0,0,6589,6453,1,0,0,0,6589,6460,1,0,0,0,6589,6467,1,0,0,0,6589,6476,1,0,0,0,6589,6483,1,0,0,0,6589,6492,1,0,0,0,6589,6501,1,0,0,0,6589,6510,1,0,0,0,6589,6519,1,0,0,0,6589,6530,1,0,0,0,6589,6537,1,0,0,0,6589,6546,1,0,0,0,6589,6554,1,0,0,0,6589,6564,1,0,0,0,6589,6572,1,0,0,0,6589,6582,1,0,0,0,6590,655,1,0,0,0,6591,6592,5,138,0,0,6592,6593,5,271,0,0,6593,6594,3,614,307,0,6594,6595,5,326,0,0,6595,6596,5,2,0,0,6596,6597,3,658,329,0,6597,6598,5,3,0,0,6598,657,1,0,0,0,6599,6604,3,660,330,0,6600,6601,5,6,0,0,6601,6603,3,660,330,0,6602,6600,1,0,0,0,6603,6606,1,0,0,0,6604,6602,1,0,0,0,6604,6605,1,0,0,0,6605,659,1,0,0,0,6606,6604,1,0,0,0,6607,6608,3,1272,636,0,6608,6609,5,10,0,0,6609,6610,5,400,0,0,6610,6616,1,0,0,0,6611,6612,3,1272,636,0,6612,6613,5,10,0,0,6613,6614,3,662,331,0,6614,6616,1,0,0,0,6615,6607,1,0,0,0,6615,6611,1,0,0,0,6616,661,1,0,0,0,6617,6623,3,574,287,0,6618,6623,3,1284,642,0,6619,6623,3,1152,576,0,6620,6623,3,264,132,0,6621,6623,3,1252,626,0,6622,6617,1,0,0,0,6622,6618,1,0,0,0,6622,6619,1,0,0,0,6622,6620,1,0,0,0,6622,6621,1,0,0,0,6623,663,1,0,0,0,6624,6625,5,138,0,0,6625,6626,5,353,0,0,6626,6627,3,470,235,0,6627,6628,5,326,0,0,6628,6629,5,2,0,0,6629,6630,3,658,329,0,6630,6631,5,3,0,0,6631,665,1,0,0,0,6632,6633,5,138,0,0,6633,6634,5,136,0,0,6634,6635,3,580,290,0,6635,6636,5,275,0,0,6636,6637,5,94,0,0,6637,6638,3,1260,630,0,6638,6816,1,0,0,0,6639,6640,5,138,0,0,6640,6641,5,108,0,0,6641,6642,3,470,235,0,6642,6643,5,275,0,0,6643,6644,5,94,0,0,6644,6645,3,1260,630,0,6645,6816,1,0,0,0,6646,6647,5,138,0,0,6647,6648,5,168,0,0,6648,6649,3,470,235,0,6649,6650,5,275,0,0,6650,6651,5,94,0,0,6651,6652,3,1260,630,0,6652,6816,1,0,0,0,6653,6654,5,138,0,0,6654,6655,5,175,0,0,6655,6656,3,1210,605,0,6656,6657,5,275,0,0,6657,6658,5,94,0,0,6658,6659,3,1260,630,0,6659,6816,1,0,0,0,6660,6661,5,138,0,0,6661,6662,5,189,0,0,6662,6663,3,470,235,0,6663,6664,5,275,0,0,6664,6665,5,94,0,0,6665,6666,3,1260,630,0,6666,6816,1,0,0,0,6667,6668,5,138,0,0,6668,6669,5,211,0,0,6669,6670,3,560,280,0,6670,6671,5,275,0,0,6671,6672,5,94,0,0,6672,6673,3,1260,630,0,6673,6816,1,0,0,0,6674,6675,5,138,0,0,6675,6676,3,276,138,0,6676,6677,5,238,0,0,6677,6678,3,1234,617,0,6678,6679,5,275,0,0,6679,6680,5,94,0,0,6680,6681,3,1260,630,0,6681,6816,1,0,0,0,6682,6683,5,138,0,0,6683,6684,5,239,0,0,6684,6685,5,267,0,0,6685,6686,3,264,132,0,6686,6687,5,275,0,0,6687,6688,5,94,0,0,6688,6689,3,1260,630,0,6689,6816,1,0,0,0,6690,6691,5,138,0,0,6691,6692,5,271,0,0,6692,6693,3,614,307,0,6693,6694,5,275,0,0,6694,6695,5,94,0,0,6695,6696,3,1260,630,0,6696,6816,1,0,0,0,6697,6698,5,138,0,0,6698,6699,5,271,0,0,6699,6700,5,156,0,0,6700,6701,3,470,235,0,6701,6702,5,100,0,0,6702,6703,3,1234,617,0,6703,6704,5,275,0,0,6704,6705,5,94,0,0,6705,6706,3,1260,630,0,6706,6816,1,0,0,0,6707,6708,5,138,0,0,6708,6709,5,271,0,0,6709,6710,5,206,0,0,6710,6711,3,470,235,0,6711,6712,5,100,0,0,6712,6713,3,1234,617,0,6713,6714,5,275,0,0,6714,6715,5,94,0,0,6715,6716,3,1260,630,0,6716,6816,1,0,0,0,6717,6718,5,138,0,0,6718,6719,5,289,0,0,6719,6720,3,560,280,0,6720,6721,5,275,0,0,6721,6722,5,94,0,0,6722,6723,3,1260,630,0,6723,6816,1,0,0,0,6724,6725,5,138,0,0,6725,6726,5,442,0,0,6726,6727,3,560,280,0,6727,6728,5,275,0,0,6728,6729,5,94,0,0,6729,6730,3,1260,630,0,6730,6816,1,0,0,0,6731,6732,5,138,0,0,6732,6733,5,316,0,0,6733,6734,3,1214,607,0,6734,6735,5,275,0,0,6735,6736,5,94,0,0,6736,6737,3,1260,630,0,6737,6816,1,0,0,0,6738,6739,5,138,0,0,6739,6740,5,353,0,0,6740,6741,3,470,235,0,6741,6742,5,275,0,0,6742,6743,5,94,0,0,6743,6744,3,1260,630,0,6744,6816,1,0,0,0,6745,6746,5,138,0,0,6746,6747,5,344,0,0,6747,6748,3,1234,617,0,6748,6749,5,275,0,0,6749,6750,5,94,0,0,6750,6751,3,1260,630,0,6751,6816,1,0,0,0,6752,6753,5,138,0,0,6753,6754,5,335,0,0,6754,6755,3,470,235,0,6755,6756,5,275,0,0,6756,6757,5,94,0,0,6757,6758,3,1260,630,0,6758,6816,1,0,0,0,6759,6760,5,138,0,0,6760,6761,5,348,0,0,6761,6762,5,318,0,0,6762,6763,5,185,0,0,6763,6764,3,470,235,0,6764,6765,5,275,0,0,6765,6766,5,94,0,0,6766,6767,3,1260,630,0,6767,6816,1,0,0,0,6768,6769,5,138,0,0,6769,6770,5,348,0,0,6770,6771,5,318,0,0,6771,6772,5,163,0,0,6772,6773,3,470,235,0,6773,6774,5,275,0,0,6774,6775,5,94,0,0,6775,6776,3,1260,630,0,6776,6816,1,0,0,0,6777,6778,5,138,0,0,6778,6779,5,63,0,0,6779,6780,5,174,0,0,6780,6781,5,374,0,0,6781,6782,3,1234,617,0,6782,6783,5,275,0,0,6783,6784,5,94,0,0,6784,6785,3,1260,630,0,6785,6816,1,0,0,0,6786,6787,5,138,0,0,6787,6788,5,324,0,0,6788,6789,3,1234,617,0,6789,6790,5,275,0,0,6790,6791,5,94,0,0,6791,6792,3,1260,630,0,6792,6816,1,0,0,0,6793,6794,5,138,0,0,6794,6795,5,198,0,0,6795,6796,5,350,0,0,6796,6797,3,1234,617,0,6797,6798,5,275,0,0,6798,6799,5,94,0,0,6799,6800,3,1260,630,0,6800,6816,1,0,0,0,6801,6802,5,138,0,0,6802,6803,5,452,0,0,6803,6804,3,1234,617,0,6804,6805,5,275,0,0,6805,6806,5,94,0,0,6806,6807,3,1260,630,0,6807,6816,1,0,0,0,6808,6809,5,138,0,0,6809,6810,5,451,0,0,6810,6811,3,1234,617,0,6811,6812,5,275,0,0,6812,6813,5,94,0,0,6813,6814,3,1260,630,0,6814,6816,1,0,0,0,6815,6632,1,0,0,0,6815,6639,1,0,0,0,6815,6646,1,0,0,0,6815,6653,1,0,0,0,6815,6660,1,0,0,0,6815,6667,1,0,0,0,6815,6674,1,0,0,0,6815,6682,1,0,0,0,6815,6690,1,0,0,0,6815,6697,1,0,0,0,6815,6707,1,0,0,0,6815,6717,1,0,0,0,6815,6724,1,0,0,0,6815,6731,1,0,0,0,6815,6738,1,0,0,0,6815,6745,1,0,0,0,6815,6752,1,0,0,0,6815,6759,1,0,0,0,6815,6768,1,0,0,0,6815,6777,1,0,0,0,6815,6786,1,0,0,0,6815,6793,1,0,0,0,6815,6801,1,0,0,0,6815,6808,1,0,0,0,6816,667,1,0,0,0,6817,6818,5,46,0,0,6818,6819,5,452,0,0,6819,6820,3,1234,617,0,6820,6821,3,670,335,0,6821,6822,3,594,297,0,6822,669,1,0,0,0,6823,6826,3,672,336,0,6824,6826,1,0,0,0,6825,6823,1,0,0,0,6825,6824,1,0,0,0,6826,671,1,0,0,0,6827,6828,5,62,0,0,6828,6829,5,92,0,0,6829,6834,3,960,480,0,6830,6831,5,62,0,0,6831,6832,5,30,0,0,6832,6834,5,343,0,0,6833,6827,1,0,0,0,6833,6830,1,0,0,0,6834,673,1,0,0,0,6835,6836,5,138,0,0,6836,6837,5,452,0,0,6837,6838,3,1234,617,0,6838,6839,5,326,0,0,6839,6840,3,416,208,0,6840,6863,1,0,0,0,6841,6842,5,138,0,0,6842,6843,5,452,0,0,6843,6844,3,1234,617,0,6844,6845,5,133,0,0,6845,6846,5,92,0,0,6846,6847,3,960,480,0,6847,6863,1,0,0,0,6848,6849,5,138,0,0,6849,6850,5,452,0,0,6850,6851,3,1234,617,0,6851,6852,5,326,0,0,6852,6853,5,92,0,0,6853,6854,3,960,480,0,6854,6863,1,0,0,0,6855,6856,5,138,0,0,6856,6857,5,452,0,0,6857,6858,3,1234,617,0,6858,6859,5,191,0,0,6859,6860,5,92,0,0,6860,6861,3,960,480,0,6861,6863,1,0,0,0,6862,6835,1,0,0,0,6862,6841,1,0,0,0,6862,6848,1,0,0,0,6862,6855,1,0,0,0,6863,675,1,0,0,0,6864,6865,5,46,0,0,6865,6866,5,451,0,0,6866,6867,3,1234,617,0,6867,6868,5,164,0,0,6868,6869,3,1252,626,0,6869,6870,5,452,0,0,6870,6871,3,678,339,0,6871,6872,3,594,297,0,6872,677,1,0,0,0,6873,6878,3,680,340,0,6874,6875,5,6,0,0,6875,6877,3,680,340,0,6876,6874,1,0,0,0,6877,6880,1,0,0,0,6878,6876,1,0,0,0,6878,6879,1,0,0,0,6879,679,1,0,0,0,6880,6878,1,0,0,0,6881,6882,3,1272,636,0,6882,681,1,0,0,0,6883,6884,5,138,0,0,6884,6885,5,451,0,0,6885,6886,3,1234,617,0,6886,6887,5,326,0,0,6887,6888,3,416,208,0,6888,6921,1,0,0,0,6889,6890,5,138,0,0,6890,6891,5,451,0,0,6891,6892,3,1234,617,0,6892,6893,5,164,0,0,6893,6894,3,1252,626,0,6894,6921,1,0,0,0,6895,6896,5,138,0,0,6896,6897,5,451,0,0,6897,6898,3,1234,617,0,6898,6899,5,298,0,0,6899,6900,5,452,0,0,6900,6901,3,594,297,0,6901,6921,1,0,0,0,6902,6903,5,138,0,0,6903,6904,5,451,0,0,6904,6905,3,1234,617,0,6905,6906,5,326,0,0,6906,6907,5,452,0,0,6907,6908,3,678,339,0,6908,6909,3,594,297,0,6909,6921,1,0,0,0,6910,6911,5,138,0,0,6911,6912,5,451,0,0,6912,6913,3,1234,617,0,6913,6914,5,193,0,0,6914,6921,1,0,0,0,6915,6916,5,138,0,0,6916,6917,5,451,0,0,6917,6918,3,1234,617,0,6918,6919,5,186,0,0,6919,6921,1,0,0,0,6920,6883,1,0,0,0,6920,6889,1,0,0,0,6920,6895,1,0,0,0,6920,6902,1,0,0,0,6920,6910,1,0,0,0,6920,6915,1,0,0,0,6921,683,1,0,0,0,6922,6923,5,191,0,0,6923,6924,5,451,0,0,6924,6925,3,1234,617,0,6925,6926,3,100,50,0,6926,6935,1,0,0,0,6927,6928,5,191,0,0,6928,6929,5,451,0,0,6929,6930,5,220,0,0,6930,6931,5,389,0,0,6931,6932,3,1234,617,0,6932,6933,3,100,50,0,6933,6935,1,0,0,0,6934,6922,1,0,0,0,6934,6927,1,0,0,0,6935,685,1,0,0,0,6936,6937,5,46,0,0,6937,6938,3,554,277,0,6938,6939,5,314,0,0,6939,6940,3,1234,617,0,6940,6941,5,36,0,0,6941,6942,5,80,0,0,6942,6943,3,696,348,0,6943,6944,5,94,0,0,6944,6945,3,1230,615,0,6945,6946,3,974,487,0,6946,6947,5,57,0,0,6947,6948,3,698,349,0,6948,6949,3,688,344,0,6949,687,1,0,0,0,6950,6957,5,263,0,0,6951,6957,3,692,346,0,6952,6953,5,2,0,0,6953,6954,3,690,345,0,6954,6955,5,3,0,0,6955,6957,1,0,0,0,6956,6950,1,0,0,0,6956,6951,1,0,0,0,6956,6952,1,0,0,0,6957,689,1,0,0,0,6958,6963,3,694,347,0,6959,6960,5,7,0,0,6960,6962,3,694,347,0,6961,6959,1,0,0,0,6962,6965,1,0,0,0,6963,6961,1,0,0,0,6963,6964,1,0,0,0,6964,691,1,0,0,0,6965,6963,1,0,0,0,6966,6972,3,858,429,0,6967,6972,3,804,402,0,6968,6972,3,844,422,0,6969,6972,3,830,415,0,6970,6972,3,700,350,0,6971,6966,1,0,0,0,6971,6967,1,0,0,0,6971,6968,1,0,0,0,6971,6969,1,0,0,0,6971,6970,1,0,0,0,6972,693,1,0,0,0,6973,6976,3,692,346,0,6974,6976,1,0,0,0,6975,6973,1,0,0,0,6975,6974,1,0,0,0,6976,695,1,0,0,0,6977,6978,7,30,0,0,6978,697,1,0,0,0,6979,6983,5,233,0,0,6980,6983,5,137,0,0,6981,6983,1,0,0,0,6982,6979,1,0,0,0,6982,6980,1,0,0,0,6982,6981,1,0,0,0,6983,699,1,0,0,0,6984,6985,5,264,0,0,6985,6986,3,1264,632,0,6986,6987,3,702,351,0,6987,701,1,0,0,0,6988,6989,5,6,0,0,6989,6992,3,1252,626,0,6990,6992,1,0,0,0,6991,6988,1,0,0,0,6991,6990,1,0,0,0,6992,703,1,0,0,0,6993,6994,5,243,0,0,6994,6995,3,1264,632,0,6995,705,1,0,0,0,6996,6997,5,359,0,0,6997,7001,3,1264,632,0,6998,6999,5,359,0,0,6999,7001,5,9,0,0,7e3,6996,1,0,0,0,7e3,6998,1,0,0,0,7001,707,1,0,0,0,7002,7003,5,129,0,0,7003,7004,3,710,355,0,7004,7005,3,716,358,0,7005,7056,1,0,0,0,7006,7007,5,146,0,0,7007,7009,3,710,355,0,7008,7010,3,714,357,0,7009,7008,1,0,0,0,7009,7010,1,0,0,0,7010,7056,1,0,0,0,7011,7012,5,333,0,0,7012,7014,5,349,0,0,7013,7015,3,714,357,0,7014,7013,1,0,0,0,7014,7015,1,0,0,0,7015,7056,1,0,0,0,7016,7017,5,161,0,0,7017,7018,3,710,355,0,7018,7019,3,716,358,0,7019,7056,1,0,0,0,7020,7021,5,454,0,0,7021,7022,3,710,355,0,7022,7023,3,716,358,0,7023,7056,1,0,0,0,7024,7025,5,312,0,0,7025,7026,3,710,355,0,7026,7027,3,716,358,0,7027,7056,1,0,0,0,7028,7029,5,315,0,0,7029,7056,3,1264,632,0,7030,7031,5,301,0,0,7031,7032,5,315,0,0,7032,7056,3,1264,632,0,7033,7034,5,301,0,0,7034,7056,3,1264,632,0,7035,7036,5,312,0,0,7036,7037,3,710,355,0,7037,7038,5,94,0,0,7038,7039,5,315,0,0,7039,7040,3,1264,632,0,7040,7056,1,0,0,0,7041,7042,5,312,0,0,7042,7043,3,710,355,0,7043,7044,5,94,0,0,7044,7045,3,1264,632,0,7045,7056,1,0,0,0,7046,7047,5,283,0,0,7047,7048,5,349,0,0,7048,7056,3,1252,626,0,7049,7050,5,161,0,0,7050,7051,5,284,0,0,7051,7056,3,1252,626,0,7052,7053,5,312,0,0,7053,7054,5,284,0,0,7054,7056,3,1252,626,0,7055,7002,1,0,0,0,7055,7006,1,0,0,0,7055,7011,1,0,0,0,7055,7016,1,0,0,0,7055,7020,1,0,0,0,7055,7024,1,0,0,0,7055,7028,1,0,0,0,7055,7030,1,0,0,0,7055,7033,1,0,0,0,7055,7035,1,0,0,0,7055,7041,1,0,0,0,7055,7046,1,0,0,0,7055,7049,1,0,0,0,7055,7052,1,0,0,0,7056,709,1,0,0,0,7057,7061,5,373,0,0,7058,7061,5,349,0,0,7059,7061,1,0,0,0,7060,7057,1,0,0,0,7060,7058,1,0,0,0,7060,7059,1,0,0,0,7061,711,1,0,0,0,7062,7063,5,235,0,0,7063,7064,5,242,0,0,7064,7073,3,56,28,0,7065,7066,5,293,0,0,7066,7073,5,81,0,0,7067,7068,5,293,0,0,7068,7073,5,375,0,0,7069,7073,5,54,0,0,7070,7071,5,77,0,0,7071,7073,5,54,0,0,7072,7062,1,0,0,0,7072,7065,1,0,0,0,7072,7067,1,0,0,0,7072,7069,1,0,0,0,7072,7070,1,0,0,0,7073,713,1,0,0,0,7074,7081,3,712,356,0,7075,7077,5,6,0,0,7076,7075,1,0,0,0,7076,7077,1,0,0,0,7077,7078,1,0,0,0,7078,7080,3,712,356,0,7079,7076,1,0,0,0,7080,7083,1,0,0,0,7081,7079,1,0,0,0,7081,7082,1,0,0,0,7082,715,1,0,0,0,7083,7081,1,0,0,0,7084,7086,5,33,0,0,7085,7087,5,262,0,0,7086,7085,1,0,0,0,7086,7087,1,0,0,0,7087,7088,1,0,0,0,7088,7091,5,153,0,0,7089,7091,1,0,0,0,7090,7084,1,0,0,0,7090,7089,1,0,0,0,7091,717,1,0,0,0,7092,7095,5,46,0,0,7093,7094,5,82,0,0,7094,7096,5,304,0,0,7095,7093,1,0,0,0,7095,7096,1,0,0,0,7096,7097,1,0,0,0,7097,7111,3,154,77,0,7098,7099,5,369,0,0,7099,7100,3,1230,615,0,7100,7101,3,192,96,0,7101,7102,3,110,55,0,7102,7112,1,0,0,0,7103,7104,5,296,0,0,7104,7105,5,369,0,0,7105,7106,3,1230,615,0,7106,7107,5,2,0,0,7107,7108,3,194,97,0,7108,7109,5,3,0,0,7109,7110,3,110,55,0,7110,7112,1,0,0,0,7111,7098,1,0,0,0,7111,7103,1,0,0,0,7112,7113,1,0,0,0,7113,7114,5,36,0,0,7114,7115,3,858,429,0,7115,7116,3,720,360,0,7116,719,1,0,0,0,7117,7119,5,105,0,0,7118,7120,7,31,0,0,7119,7118,1,0,0,0,7119,7120,1,0,0,0,7120,7121,1,0,0,0,7121,7122,5,42,0,0,7122,7125,5,272,0,0,7123,7125,1,0,0,0,7124,7117,1,0,0,0,7124,7123,1,0,0,0,7125,721,1,0,0,0,7126,7127,5,244,0,0,7127,7128,3,1238,619,0,7128,723,1,0,0,0,7129,7130,5,46,0,0,7130,7131,5,175,0,0,7131,7132,3,1234,617,0,7132,7133,3,12,6,0,7133,7134,3,726,363,0,7134,725,1,0,0,0,7135,7137,3,728,364,0,7136,7135,1,0,0,0,7137,7138,1,0,0,0,7138,7136,1,0,0,0,7138,7139,1,0,0,0,7139,7142,1,0,0,0,7140,7142,1,0,0,0,7141,7136,1,0,0,0,7141,7140,1,0,0,0,7142,727,1,0,0,0,7143,7145,3,730,365,0,7144,7146,5,10,0,0,7145,7144,1,0,0,0,7145,7146,1,0,0,0,7146,7150,1,0,0,0,7147,7151,3,1258,629,0,7148,7151,3,58,29,0,7149,7151,5,53,0,0,7150,7147,1,0,0,0,7150,7148,1,0,0,0,7150,7149,1,0,0,0,7151,729,1,0,0,0,7152,7161,3,1274,637,0,7153,7154,5,164,0,0,7154,7161,5,74,0,0,7155,7161,5,194,0,0,7156,7161,5,246,0,0,7157,7161,5,275,0,0,7158,7161,5,344,0,0,7159,7161,5,346,0,0,7160,7152,1,0,0,0,7160,7153,1,0,0,0,7160,7155,1,0,0,0,7160,7156,1,0,0,0,7160,7157,1,0,0,0,7160,7158,1,0,0,0,7160,7159,1,0,0,0,7161,731,1,0,0,0,7162,7163,5,138,0,0,7163,7164,5,175,0,0,7164,7171,3,1210,605,0,7165,7166,5,105,0,0,7166,7172,3,726,363,0,7167,7172,3,726,363,0,7168,7169,5,326,0,0,7169,7170,5,344,0,0,7170,7172,3,1234,617,0,7171,7165,1,0,0,0,7171,7167,1,0,0,0,7171,7168,1,0,0,0,7172,733,1,0,0,0,7173,7174,5,138,0,0,7174,7175,5,175,0,0,7175,7176,3,1210,605,0,7176,7177,3,72,36,0,7177,735,1,0,0,0,7178,7179,5,191,0,0,7179,7182,5,175,0,0,7180,7181,5,220,0,0,7181,7183,5,389,0,0,7182,7180,1,0,0,0,7182,7183,1,0,0,0,7183,7184,1,0,0,0,7184,7197,3,1210,605,0,7185,7186,3,12,6,0,7186,7187,5,2,0,0,7187,7192,5,209,0,0,7188,7189,5,6,0,0,7189,7191,5,209,0,0,7190,7188,1,0,0,0,7191,7194,1,0,0,0,7192,7190,1,0,0,0,7192,7193,1,0,0,0,7193,7195,1,0,0,0,7194,7192,1,0,0,0,7195,7196,5,3,0,0,7196,7198,1,0,0,0,7197,7185,1,0,0,0,7197,7198,1,0,0,0,7198,737,1,0,0,0,7199,7200,5,138,0,0,7200,7201,5,108,0,0,7201,7202,3,470,235,0,7202,7203,5,298,0,0,7203,7204,5,368,0,0,7204,739,1,0,0,0,7205,7206,5,138,0,0,7206,7207,5,342,0,0,7207,7208,7,32,0,0,7208,7209,3,46,23,0,7209,741,1,0,0,0,7210,7211,5,46,0,0,7211,7212,5,189,0,0,7212,7213,3,470,235,0,7213,7214,3,748,374,0,7214,7215,3,996,498,0,7215,7216,3,172,86,0,7216,743,1,0,0,0,7217,7218,5,138,0,0,7218,7219,5,189,0,0,7219,7220,3,470,235,0,7220,7221,3,746,373,0,7221,745,1,0,0,0,7222,7244,3,98,49,0,7223,7224,5,191,0,0,7224,7225,5,77,0,0,7225,7244,5,78,0,0,7226,7227,5,326,0,0,7227,7228,5,77,0,0,7228,7244,5,78,0,0,7229,7230,5,133,0,0,7230,7244,3,188,94,0,7231,7232,5,191,0,0,7232,7235,5,45,0,0,7233,7234,5,220,0,0,7234,7236,5,389,0,0,7235,7233,1,0,0,0,7235,7236,1,0,0,0,7236,7237,1,0,0,0,7237,7238,3,1224,612,0,7238,7239,3,100,50,0,7239,7244,1,0,0,0,7240,7241,5,365,0,0,7241,7242,5,45,0,0,7242,7244,3,1224,612,0,7243,7222,1,0,0,0,7243,7223,1,0,0,0,7243,7226,1,0,0,0,7243,7229,1,0,0,0,7243,7231,1,0,0,0,7243,7240,1,0,0,0,7244,747,1,0,0,0,7245,7248,5,36,0,0,7246,7248,1,0,0,0,7247,7245,1,0,0,0,7247,7246,1,0,0,0,7248,749,1,0,0,0,7249,7250,5,138,0,0,7250,7251,5,348,0,0,7251,7252,5,318,0,0,7252,7253,5,185,0,0,7253,7254,3,470,235,0,7254,7255,3,416,208,0,7255,751,1,0,0,0,7256,7257,5,138,0,0,7257,7258,5,348,0,0,7258,7259,5,318,0,0,7259,7260,5,163,0,0,7260,7261,3,470,235,0,7261,7262,5,133,0,0,7262,7263,5,248,0,0,7263,7264,5,62,0,0,7264,7265,3,1232,616,0,7265,7266,5,105,0,0,7266,7267,3,468,234,0,7267,7329,1,0,0,0,7268,7269,5,138,0,0,7269,7270,5,348,0,0,7270,7271,5,318,0,0,7271,7272,5,163,0,0,7272,7273,3,470,235,0,7273,7274,5,138,0,0,7274,7275,5,248,0,0,7275,7276,5,62,0,0,7276,7277,3,1232,616,0,7277,7278,5,105,0,0,7278,7279,3,468,234,0,7279,7329,1,0,0,0,7280,7281,5,138,0,0,7281,7282,5,348,0,0,7282,7283,5,318,0,0,7283,7284,5,163,0,0,7284,7285,3,470,235,0,7285,7286,5,138,0,0,7286,7287,5,248,0,0,7287,7288,5,304,0,0,7288,7289,3,470,235,0,7289,7290,5,105,0,0,7290,7291,3,470,235,0,7291,7329,1,0,0,0,7292,7293,5,138,0,0,7293,7294,5,348,0,0,7294,7295,5,318,0,0,7295,7296,5,163,0,0,7296,7297,3,470,235,0,7297,7298,5,138,0,0,7298,7299,5,248,0,0,7299,7300,5,62,0,0,7300,7301,3,1232,616,0,7301,7302,5,304,0,0,7302,7303,3,470,235,0,7303,7304,5,105,0,0,7304,7305,3,470,235,0,7305,7329,1,0,0,0,7306,7307,5,138,0,0,7307,7308,5,348,0,0,7308,7309,5,318,0,0,7309,7310,5,163,0,0,7310,7311,3,470,235,0,7311,7312,5,191,0,0,7312,7313,5,248,0,0,7313,7314,5,62,0,0,7314,7315,3,1232,616,0,7315,7329,1,0,0,0,7316,7317,5,138,0,0,7317,7318,5,348,0,0,7318,7319,5,318,0,0,7319,7320,5,163,0,0,7320,7321,3,470,235,0,7321,7322,5,191,0,0,7322,7323,5,248,0,0,7323,7324,5,220,0,0,7324,7325,5,389,0,0,7325,7326,5,62,0,0,7326,7327,3,1232,616,0,7327,7329,1,0,0,0,7328,7256,1,0,0,0,7328,7268,1,0,0,0,7328,7280,1,0,0,0,7328,7292,1,0,0,0,7328,7306,1,0,0,0,7328,7316,1,0,0,0,7329,753,1,0,0,0,7330,7332,5,46,0,0,7331,7333,5,53,0,0,7332,7331,1,0,0,0,7332,7333,1,0,0,0,7333,7334,1,0,0,0,7334,7335,5,168,0,0,7335,7336,3,470,235,0,7336,7337,5,62,0,0,7337,7338,3,1252,626,0,7338,7339,5,94,0,0,7339,7340,3,1252,626,0,7340,7341,5,64,0,0,7341,7342,3,470,235,0,7342,755,1,0,0,0,7343,7344,5,158,0,0,7344,7345,3,774,387,0,7345,7346,3,1230,615,0,7346,7347,3,758,379,0,7347,7357,1,0,0,0,7348,7349,5,158,0,0,7349,7357,3,774,387,0,7350,7351,5,158,0,0,7351,7352,3,774,387,0,7352,7353,3,1234,617,0,7353,7354,5,80,0,0,7354,7355,3,1230,615,0,7355,7357,1,0,0,0,7356,7343,1,0,0,0,7356,7348,1,0,0,0,7356,7350,1,0,0,0,7357,757,1,0,0,0,7358,7359,5,100,0,0,7359,7362,3,1234,617,0,7360,7362,1,0,0,0,7361,7358,1,0,0,0,7361,7360,1,0,0,0,7362,759,1,0,0,0,7363,7365,5,363,0,0,7364,7366,5,113,0,0,7365,7364,1,0,0,0,7365,7366,1,0,0,0,7366,7368,1,0,0,0,7367,7369,5,112,0,0,7368,7367,1,0,0,0,7368,7369,1,0,0,0,7369,7370,1,0,0,0,7370,7372,3,774,387,0,7371,7373,3,766,383,0,7372,7371,1,0,0,0,7372,7373,1,0,0,0,7373,7374,1,0,0,0,7374,7375,3,780,390,0,7375,7383,1,0,0,0,7376,7377,5,363,0,0,7377,7378,5,2,0,0,7378,7379,3,764,382,0,7379,7380,5,3,0,0,7380,7381,3,780,390,0,7381,7383,1,0,0,0,7382,7363,1,0,0,0,7382,7376,1,0,0,0,7383,761,1,0,0,0,7384,7385,3,766,383,0,7385,7386,3,774,387,0,7386,7387,3,780,390,0,7387,7395,1,0,0,0,7388,7389,3,766,383,0,7389,7390,5,2,0,0,7390,7391,3,764,382,0,7391,7392,5,3,0,0,7392,7393,3,780,390,0,7393,7395,1,0,0,0,7394,7384,1,0,0,0,7394,7388,1,0,0,0,7395,763,1,0,0,0,7396,7401,3,768,384,0,7397,7398,5,6,0,0,7398,7400,3,768,384,0,7399,7397,1,0,0,0,7400,7403,1,0,0,0,7401,7399,1,0,0,0,7401,7402,1,0,0,0,7402,765,1,0,0,0,7403,7401,1,0,0,0,7404,7405,7,33,0,0,7405,767,1,0,0,0,7406,7407,3,770,385,0,7407,7408,3,772,386,0,7408,769,1,0,0,0,7409,7412,3,1270,635,0,7410,7412,3,766,383,0,7411,7409,1,0,0,0,7411,7410,1,0,0,0,7412,771,1,0,0,0,7413,7417,3,58,29,0,7414,7417,3,264,132,0,7415,7417,1,0,0,0,7416,7413,1,0,0,0,7416,7414,1,0,0,0,7416,7415,1,0,0,0,7417,773,1,0,0,0,7418,7421,5,128,0,0,7419,7421,1,0,0,0,7420,7418,1,0,0,0,7420,7419,1,0,0,0,7421,775,1,0,0,0,7422,7423,5,2,0,0,7423,7424,3,1232,616,0,7424,7425,5,3,0,0,7425,7428,1,0,0,0,7426,7428,1,0,0,0,7427,7422,1,0,0,0,7427,7426,1,0,0,0,7428,777,1,0,0,0,7429,7430,3,1230,615,0,7430,7431,3,776,388,0,7431,779,1,0,0,0,7432,7437,3,778,389,0,7433,7434,5,6,0,0,7434,7436,3,778,389,0,7435,7433,1,0,0,0,7436,7439,1,0,0,0,7437,7435,1,0,0,0,7437,7438,1,0,0,0,7438,7442,1,0,0,0,7439,7437,1,0,0,0,7440,7442,1,0,0,0,7441,7432,1,0,0,0,7441,7440,1,0,0,0,7442,781,1,0,0,0,7443,7444,5,203,0,0,7444,7467,3,784,392,0,7445,7446,5,203,0,0,7446,7447,3,766,383,0,7447,7448,3,774,387,0,7448,7449,3,784,392,0,7449,7467,1,0,0,0,7450,7451,5,203,0,0,7451,7452,5,128,0,0,7452,7467,3,784,392,0,7453,7454,5,203,0,0,7454,7455,5,2,0,0,7455,7460,3,786,393,0,7456,7457,5,6,0,0,7457,7459,3,786,393,0,7458,7456,1,0,0,0,7459,7462,1,0,0,0,7460,7458,1,0,0,0,7460,7461,1,0,0,0,7461,7463,1,0,0,0,7462,7460,1,0,0,0,7463,7464,5,3,0,0,7464,7465,3,784,392,0,7465,7467,1,0,0,0,7466,7443,1,0,0,0,7466,7445,1,0,0,0,7466,7450,1,0,0,0,7466,7453,1,0,0,0,7467,783,1,0,0,0,7468,7478,3,858,429,0,7469,7478,3,804,402,0,7470,7478,3,844,422,0,7471,7478,3,830,415,0,7472,7478,3,852,426,0,7473,7478,3,242,121,0,7474,7478,3,248,124,0,7475,7478,3,252,126,0,7476,7478,3,798,399,0,7477,7468,1,0,0,0,7477,7469,1,0,0,0,7477,7470,1,0,0,0,7477,7471,1,0,0,0,7477,7472,1,0,0,0,7477,7473,1,0,0,0,7477,7474,1,0,0,0,7477,7475,1,0,0,0,7477,7476,1,0,0,0,7478,785,1,0,0,0,7479,7480,3,788,394,0,7480,7481,3,790,395,0,7481,787,1,0,0,0,7482,7485,3,1270,635,0,7483,7485,3,766,383,0,7484,7482,1,0,0,0,7484,7483,1,0,0,0,7485,789,1,0,0,0,7486,7490,3,58,29,0,7487,7490,3,264,132,0,7488,7490,1,0,0,0,7489,7486,1,0,0,0,7489,7487,1,0,0,0,7489,7488,1,0,0,0,7490,791,1,0,0,0,7491,7492,5,283,0,0,7492,7493,3,1234,617,0,7493,7494,3,794,397,0,7494,7495,5,36,0,0,7495,7496,3,796,398,0,7496,793,1,0,0,0,7497,7498,5,2,0,0,7498,7499,3,1162,581,0,7499,7500,5,3,0,0,7500,7503,1,0,0,0,7501,7503,1,0,0,0,7502,7497,1,0,0,0,7502,7501,1,0,0,0,7503,795,1,0,0,0,7504,7509,3,858,429,0,7505,7509,3,804,402,0,7506,7509,3,844,422,0,7507,7509,3,830,415,0,7508,7504,1,0,0,0,7508,7505,1,0,0,0,7508,7506,1,0,0,0,7508,7507,1,0,0,0,7509,797,1,0,0,0,7510,7511,5,202,0,0,7511,7512,3,1234,617,0,7512,7513,3,800,400,0,7513,7538,1,0,0,0,7514,7515,5,46,0,0,7515,7516,3,154,77,0,7516,7517,5,92,0,0,7517,7518,3,244,122,0,7518,7519,5,36,0,0,7519,7520,5,202,0,0,7520,7521,3,1234,617,0,7521,7522,3,800,400,0,7522,7523,3,246,123,0,7523,7538,1,0,0,0,7524,7525,5,46,0,0,7525,7526,3,154,77,0,7526,7527,5,92,0,0,7527,7528,5,220,0,0,7528,7529,5,77,0,0,7529,7530,5,389,0,0,7530,7531,3,244,122,0,7531,7532,5,36,0,0,7532,7533,5,202,0,0,7533,7534,3,1234,617,0,7534,7535,3,800,400,0,7535,7536,3,246,123,0,7536,7538,1,0,0,0,7537,7510,1,0,0,0,7537,7514,1,0,0,0,7537,7524,1,0,0,0,7538,799,1,0,0,0,7539,7540,5,2,0,0,7540,7541,3,1156,578,0,7541,7542,5,3,0,0,7542,7545,1,0,0,0,7543,7545,1,0,0,0,7544,7539,1,0,0,0,7544,7543,1,0,0,0,7545,801,1,0,0,0,7546,7547,5,177,0,0,7547,7557,3,1234,617,0,7548,7549,5,177,0,0,7549,7550,5,283,0,0,7550,7557,3,1234,617,0,7551,7552,5,177,0,0,7552,7557,5,30,0,0,7553,7554,5,177,0,0,7554,7555,5,283,0,0,7555,7557,5,30,0,0,7556,7546,1,0,0,0,7556,7548,1,0,0,0,7556,7551,1,0,0,0,7556,7553,1,0,0,0,7557,803,1,0,0,0,7558,7560,3,872,436,0,7559,7558,1,0,0,0,7559,7560,1,0,0,0,7560,7561,1,0,0,0,7561,7562,5,232,0,0,7562,7563,5,71,0,0,7563,7564,3,806,403,0,7564,7565,3,808,404,0,7565,7566,3,816,408,0,7566,7567,3,820,410,0,7567,805,1,0,0,0,7568,7571,3,1230,615,0,7569,7570,5,36,0,0,7570,7572,3,1264,632,0,7571,7569,1,0,0,0,7571,7572,1,0,0,0,7572,807,1,0,0,0,7573,7593,3,858,429,0,7574,7575,5,463,0,0,7575,7576,3,810,405,0,7576,7577,5,450,0,0,7577,7578,3,858,429,0,7578,7593,1,0,0,0,7579,7580,5,2,0,0,7580,7581,3,812,406,0,7581,7586,5,3,0,0,7582,7583,5,463,0,0,7583,7584,3,810,405,0,7584,7585,5,450,0,0,7585,7587,1,0,0,0,7586,7582,1,0,0,0,7586,7587,1,0,0,0,7587,7588,1,0,0,0,7588,7589,3,858,429,0,7589,7593,1,0,0,0,7590,7591,5,53,0,0,7591,7593,5,415,0,0,7592,7573,1,0,0,0,7592,7574,1,0,0,0,7592,7579,1,0,0,0,7592,7590,1,0,0,0,7593,809,1,0,0,0,7594,7595,7,34,0,0,7595,811,1,0,0,0,7596,7601,3,814,407,0,7597,7598,5,6,0,0,7598,7600,3,814,407,0,7599,7597,1,0,0,0,7600,7603,1,0,0,0,7601,7599,1,0,0,0,7601,7602,1,0,0,0,7602,813,1,0,0,0,7603,7601,1,0,0,0,7604,7605,3,1264,632,0,7605,7606,3,1200,600,0,7606,815,1,0,0,0,7607,7608,5,80,0,0,7608,7609,5,464,0,0,7609,7610,3,818,409,0,7610,7617,5,57,0,0,7611,7612,5,362,0,0,7612,7613,5,326,0,0,7613,7614,3,846,423,0,7614,7615,3,974,487,0,7615,7618,1,0,0,0,7616,7618,5,263,0,0,7617,7611,1,0,0,0,7617,7616,1,0,0,0,7618,7621,1,0,0,0,7619,7621,1,0,0,0,7620,7607,1,0,0,0,7620,7619,1,0,0,0,7621,817,1,0,0,0,7622,7623,5,2,0,0,7623,7624,3,536,268,0,7624,7625,5,3,0,0,7625,7626,3,974,487,0,7626,7632,1,0,0,0,7627,7628,5,80,0,0,7628,7629,5,45,0,0,7629,7632,3,1224,612,0,7630,7632,1,0,0,0,7631,7622,1,0,0,0,7631,7627,1,0,0,0,7631,7630,1,0,0,0,7632,819,1,0,0,0,7633,7634,5,87,0,0,7634,7637,3,1204,602,0,7635,7637,1,0,0,0,7636,7633,1,0,0,0,7636,7635,1,0,0,0,7637,821,1,0,0,0,7638,7640,5,253,0,0,7639,7641,5,71,0,0,7640,7639,1,0,0,0,7640,7641,1,0,0,0,7641,7642,1,0,0,0,7642,7644,3,1230,615,0,7643,7645,3,944,472,0,7644,7643,1,0,0,0,7644,7645,1,0,0,0,7645,7646,1,0,0,0,7646,7649,5,100,0,0,7647,7650,3,860,430,0,7648,7650,3,1230,615,0,7649,7647,1,0,0,0,7649,7648,1,0,0,0,7650,7652,1,0,0,0,7651,7653,3,944,472,0,7652,7651,1,0,0,0,7652,7653,1,0,0,0,7653,7654,1,0,0,0,7654,7655,5,80,0,0,7655,7664,3,1038,519,0,7656,7658,3,824,412,0,7657,7659,3,826,413,0,7658,7657,1,0,0,0,7658,7659,1,0,0,0,7659,7665,1,0,0,0,7660,7662,3,826,413,0,7661,7663,3,824,412,0,7662,7661,1,0,0,0,7662,7663,1,0,0,0,7663,7665,1,0,0,0,7664,7656,1,0,0,0,7664,7660,1,0,0,0,7665,7667,1,0,0,0,7666,7668,3,828,414,0,7667,7666,1,0,0,0,7667,7668,1,0,0,0,7668,823,1,0,0,0,7669,7670,5,102,0,0,7670,7671,5,77,0,0,7671,7674,5,250,0,0,7672,7673,5,33,0,0,7673,7675,3,1038,519,0,7674,7672,1,0,0,0,7674,7675,1,0,0,0,7675,7677,1,0,0,0,7676,7678,5,93,0,0,7677,7676,1,0,0,0,7677,7678,1,0,0,0,7678,7679,1,0,0,0,7679,7684,5,232,0,0,7680,7681,5,2,0,0,7681,7682,3,812,406,0,7682,7683,5,3,0,0,7683,7685,1,0,0,0,7684,7680,1,0,0,0,7684,7685,1,0,0,0,7685,7686,1,0,0,0,7686,7687,3,934,467,0,7687,825,1,0,0,0,7688,7689,5,102,0,0,7689,7692,5,250,0,0,7690,7691,5,33,0,0,7691,7693,3,1038,519,0,7692,7690,1,0,0,0,7692,7693,1,0,0,0,7693,7695,1,0,0,0,7694,7696,5,93,0,0,7695,7694,1,0,0,0,7695,7696,1,0,0,0,7696,7697,1,0,0,0,7697,7698,5,362,0,0,7698,7699,5,326,0,0,7699,7700,3,846,423,0,7700,827,1,0,0,0,7701,7702,5,102,0,0,7702,7704,5,250,0,0,7703,7705,5,93,0,0,7704,7703,1,0,0,0,7704,7705,1,0,0,0,7705,7706,1,0,0,0,7706,7707,5,182,0,0,7707,829,1,0,0,0,7708,7710,3,872,436,0,7709,7708,1,0,0,0,7709,7710,1,0,0,0,7710,7711,1,0,0,0,7711,7712,5,182,0,0,7712,7713,5,64,0,0,7713,7714,3,962,481,0,7714,7715,3,832,416,0,7715,7716,3,976,488,0,7716,7717,3,820,410,0,7717,831,1,0,0,0,7718,7719,5,100,0,0,7719,7722,3,938,469,0,7720,7722,1,0,0,0,7721,7718,1,0,0,0,7721,7720,1,0,0,0,7722,833,1,0,0,0,7723,7724,5,247,0,0,7724,7725,3,882,441,0,7725,7726,3,960,480,0,7726,7727,3,836,418,0,7727,7728,3,840,420,0,7728,835,1,0,0,0,7729,7730,5,68,0,0,7730,7731,3,838,419,0,7731,7732,5,256,0,0,7732,7735,1,0,0,0,7733,7735,1,0,0,0,7734,7729,1,0,0,0,7734,7733,1,0,0,0,7735,837,1,0,0,0,7736,7737,5,131,0,0,7737,7749,7,35,0,0,7738,7739,5,407,0,0,7739,7749,7,35,0,0,7740,7745,5,327,0,0,7741,7742,5,362,0,0,7742,7746,5,201,0,0,7743,7744,5,407,0,0,7744,7746,5,201,0,0,7745,7741,1,0,0,0,7745,7743,1,0,0,0,7745,7746,1,0,0,0,7746,7749,1,0,0,0,7747,7749,5,201,0,0,7748,7736,1,0,0,0,7748,7738,1,0,0,0,7748,7740,1,0,0,0,7748,7747,1,0,0,0,7749,839,1,0,0,0,7750,7753,5,265,0,0,7751,7753,1,0,0,0,7752,7750,1,0,0,0,7752,7751,1,0,0,0,7753,841,1,0,0,0,7754,7759,5,265,0,0,7755,7756,5,465,0,0,7756,7759,5,466,0,0,7757,7759,1,0,0,0,7758,7754,1,0,0,0,7758,7755,1,0,0,0,7758,7757,1,0,0,0,7759,843,1,0,0,0,7760,7762,3,872,436,0,7761,7760,1,0,0,0,7761,7762,1,0,0,0,7762,7763,1,0,0,0,7763,7764,5,362,0,0,7764,7765,3,962,481,0,7765,7766,5,326,0,0,7766,7767,3,846,423,0,7767,7768,3,936,468,0,7768,7769,3,976,488,0,7769,7770,3,820,410,0,7770,845,1,0,0,0,7771,7776,3,848,424,0,7772,7773,5,6,0,0,7773,7775,3,848,424,0,7774,7772,1,0,0,0,7775,7778,1,0,0,0,7776,7774,1,0,0,0,7776,7777,1,0,0,0,7777,847,1,0,0,0,7778,7776,1,0,0,0,7779,7780,3,850,425,0,7780,7781,5,10,0,0,7781,7782,3,1038,519,0,7782,7797,1,0,0,0,7783,7784,5,2,0,0,7784,7789,3,850,425,0,7785,7786,5,6,0,0,7786,7788,3,850,425,0,7787,7785,1,0,0,0,7788,7791,1,0,0,0,7789,7787,1,0,0,0,7789,7790,1,0,0,0,7790,7792,1,0,0,0,7791,7789,1,0,0,0,7792,7793,5,3,0,0,7793,7794,5,10,0,0,7794,7795,3,1038,519,0,7795,7797,1,0,0,0,7796,7779,1,0,0,0,7796,7783,1,0,0,0,7797,849,1,0,0,0,7798,7799,3,1264,632,0,7799,7800,3,1200,600,0,7800,851,1,0,0,0,7801,7802,5,178,0,0,7802,7810,3,854,427,0,7803,7804,5,262,0,0,7804,7809,5,317,0,0,7805,7809,5,317,0,0,7806,7809,5,107,0,0,7807,7809,5,231,0,0,7808,7803,1,0,0,0,7808,7805,1,0,0,0,7808,7806,1,0,0,0,7808,7807,1,0,0,0,7809,7812,1,0,0,0,7810,7808,1,0,0,0,7810,7811,1,0,0,0,7811,7813,1,0,0,0,7812,7810,1,0,0,0,7813,7814,5,172,0,0,7814,7815,3,856,428,0,7815,7816,5,62,0,0,7816,7817,3,858,429,0,7817,853,1,0,0,0,7818,7819,3,1234,617,0,7819,855,1,0,0,0,7820,7826,1,0,0,0,7821,7822,5,105,0,0,7822,7826,5,217,0,0,7823,7824,5,372,0,0,7824,7826,5,217,0,0,7825,7820,1,0,0,0,7825,7821,1,0,0,0,7825,7823,1,0,0,0,7826,857,1,0,0,0,7827,7830,3,862,431,0,7828,7830,3,860,430,0,7829,7827,1,0,0,0,7829,7828,1,0,0,0,7830,859,1,0,0,0,7831,7832,5,2,0,0,7832,7833,3,862,431,0,7833,7834,5,3,0,0,7834,7840,1,0,0,0,7835,7836,5,2,0,0,7836,7837,3,860,430,0,7837,7838,5,3,0,0,7838,7840,1,0,0,0,7839,7831,1,0,0,0,7839,7835,1,0,0,0,7840,861,1,0,0,0,7841,7842,3,864,432,0,7842,7850,3,890,445,0,7843,7844,3,926,463,0,7844,7845,3,900,450,0,7845,7851,1,0,0,0,7846,7848,3,898,449,0,7847,7849,3,926,463,0,7848,7847,1,0,0,0,7848,7849,1,0,0,0,7849,7851,1,0,0,0,7850,7843,1,0,0,0,7850,7846,1,0,0,0,7850,7851,1,0,0,0,7851,7865,1,0,0,0,7852,7853,3,872,436,0,7853,7854,3,864,432,0,7854,7862,3,890,445,0,7855,7856,3,926,463,0,7856,7857,3,900,450,0,7857,7863,1,0,0,0,7858,7860,3,898,449,0,7859,7861,3,926,463,0,7860,7859,1,0,0,0,7860,7861,1,0,0,0,7861,7863,1,0,0,0,7862,7855,1,0,0,0,7862,7858,1,0,0,0,7862,7863,1,0,0,0,7863,7865,1,0,0,0,7864,7841,1,0,0,0,7864,7852,1,0,0,0,7865,863,1,0,0,0,7866,7873,3,866,433,0,7867,7868,7,36,0,0,7868,7869,3,884,442,0,7869,7870,3,866,433,0,7870,7872,1,0,0,0,7871,7867,1,0,0,0,7872,7875,1,0,0,0,7873,7871,1,0,0,0,7873,7874,1,0,0,0,7874,865,1,0,0,0,7875,7873,1,0,0,0,7876,7883,3,870,435,0,7877,7878,5,70,0,0,7878,7879,3,884,442,0,7879,7880,3,870,435,0,7880,7882,1,0,0,0,7881,7877,1,0,0,0,7882,7885,1,0,0,0,7883,7881,1,0,0,0,7883,7884,1,0,0,0,7884,867,1,0,0,0,7885,7883,1,0,0,0,7886,7888,3,1204,602,0,7887,7889,3,878,439,0,7888,7887,1,0,0,0,7888,7889,1,0,0,0,7889,7902,1,0,0,0,7890,7891,3,888,444,0,7891,7893,3,1202,601,0,7892,7894,3,878,439,0,7893,7892,1,0,0,0,7893,7894,1,0,0,0,7894,7902,1,0,0,0,7895,7896,3,886,443,0,7896,7898,3,1204,602,0,7897,7899,3,878,439,0,7898,7897,1,0,0,0,7898,7899,1,0,0,0,7899,7902,1,0,0,0,7900,7902,3,878,439,0,7901,7886,1,0,0,0,7901,7890,1,0,0,0,7901,7895,1,0,0,0,7901,7900,1,0,0,0,7902,869,1,0,0,0,7903,7904,5,88,0,0,7904,7905,3,868,434,0,7905,7906,3,936,468,0,7906,7907,3,974,487,0,7907,7908,3,918,459,0,7908,7909,3,924,462,0,7909,7910,3,1116,558,0,7910,7916,1,0,0,0,7911,7916,3,934,467,0,7912,7913,5,92,0,0,7913,7916,3,958,479,0,7914,7916,3,860,430,0,7915,7903,1,0,0,0,7915,7911,1,0,0,0,7915,7912,1,0,0,0,7915,7914,1,0,0,0,7916,871,1,0,0,0,7917,7919,5,105,0,0,7918,7920,5,296,0,0,7919,7918,1,0,0,0,7919,7920,1,0,0,0,7920,7921,1,0,0,0,7921,7926,3,874,437,0,7922,7923,5,6,0,0,7923,7925,3,874,437,0,7924,7922,1,0,0,0,7925,7928,1,0,0,0,7926,7924,1,0,0,0,7926,7927,1,0,0,0,7927,873,1,0,0,0,7928,7926,1,0,0,0,7929,7930,3,1234,617,0,7930,7931,3,776,388,0,7931,7932,5,36,0,0,7932,7933,3,876,438,0,7933,7934,5,2,0,0,7934,7935,3,796,398,0,7935,7936,5,3,0,0,7936,875,1,0,0,0,7937,7942,5,251,0,0,7938,7939,5,77,0,0,7939,7942,5,251,0,0,7940,7942,1,0,0,0,7941,7937,1,0,0,0,7941,7938,1,0,0,0,7941,7940,1,0,0,0,7942,877,1,0,0,0,7943,7949,5,71,0,0,7944,7946,5,339,0,0,7945,7944,1,0,0,0,7945,7946,1,0,0,0,7946,7947,1,0,0,0,7947,7950,3,880,440,0,7948,7950,3,1448,724,0,7949,7945,1,0,0,0,7949,7948,1,0,0,0,7950,879,1,0,0,0,7951,7953,7,37,0,0,7952,7951,1,0,0,0,7952,7953,1,0,0,0,7953,7954,1,0,0,0,7954,7955,7,10,0,0,7955,7956,3,882,441,0,7956,7957,3,1230,615,0,7957,7966,1,0,0,0,7958,7959,5,360,0,0,7959,7960,3,882,441,0,7960,7961,3,1230,615,0,7961,7966,1,0,0,0,7962,7963,5,92,0,0,7963,7966,3,1230,615,0,7964,7966,3,1230,615,0,7965,7952,1,0,0,0,7965,7958,1,0,0,0,7965,7962,1,0,0,0,7965,7964,1,0,0,0,7966,881,1,0,0,0,7967,7970,5,92,0,0,7968,7970,1,0,0,0,7969,7967,1,0,0,0,7969,7968,1,0,0,0,7970,883,1,0,0,0,7971,7975,5,30,0,0,7972,7975,5,56,0,0,7973,7975,1,0,0,0,7974,7971,1,0,0,0,7974,7972,1,0,0,0,7974,7973,1,0,0,0,7975,885,1,0,0,0,7976,7982,5,56,0,0,7977,7978,5,80,0,0,7978,7979,5,2,0,0,7979,7980,3,1156,578,0,7980,7981,5,3,0,0,7981,7983,1,0,0,0,7982,7977,1,0,0,0,7982,7983,1,0,0,0,7983,887,1,0,0,0,7984,7985,5,30,0,0,7985,889,1,0,0,0,7986,7989,3,892,446,0,7987,7989,1,0,0,0,7988,7986,1,0,0,0,7988,7987,1,0,0,0,7989,891,1,0,0,0,7990,7991,5,83,0,0,7991,7992,5,147,0,0,7992,7993,3,894,447,0,7993,893,1,0,0,0,7994,7999,3,896,448,0,7995,7996,5,6,0,0,7996,7998,3,896,448,0,7997,7995,1,0,0,0,7998,8001,1,0,0,0,7999,7997,1,0,0,0,7999,8e3,1,0,0,0,8e3,895,1,0,0,0,8001,7999,1,0,0,0,8002,8006,3,1038,519,0,8003,8004,5,100,0,0,8004,8007,3,1152,576,0,8005,8007,3,548,274,0,8006,8003,1,0,0,0,8006,8005,1,0,0,0,8007,8008,1,0,0,0,8008,8009,3,550,275,0,8009,897,1,0,0,0,8010,8012,3,902,451,0,8011,8013,3,904,452,0,8012,8011,1,0,0,0,8012,8013,1,0,0,0,8013,8019,1,0,0,0,8014,8016,3,904,452,0,8015,8017,3,902,451,0,8016,8015,1,0,0,0,8016,8017,1,0,0,0,8017,8019,1,0,0,0,8018,8010,1,0,0,0,8018,8014,1,0,0,0,8019,899,1,0,0,0,8020,8023,3,898,449,0,8021,8023,1,0,0,0,8022,8020,1,0,0,0,8022,8021,1,0,0,0,8023,901,1,0,0,0,8024,8025,5,74,0,0,8025,8028,3,906,453,0,8026,8027,5,6,0,0,8027,8029,3,908,454,0,8028,8026,1,0,0,0,8028,8029,1,0,0,0,8029,8048,1,0,0,0,8030,8031,5,61,0,0,8031,8045,3,916,458,0,8032,8033,3,910,455,0,8033,8037,3,914,457,0,8034,8038,5,81,0,0,8035,8036,5,105,0,0,8036,8038,5,467,0,0,8037,8034,1,0,0,0,8037,8035,1,0,0,0,8038,8046,1,0,0,0,8039,8043,3,914,457,0,8040,8044,5,81,0,0,8041,8042,5,105,0,0,8042,8044,5,467,0,0,8043,8040,1,0,0,0,8043,8041,1,0,0,0,8044,8046,1,0,0,0,8045,8032,1,0,0,0,8045,8039,1,0,0,0,8046,8048,1,0,0,0,8047,8024,1,0,0,0,8047,8030,1,0,0,0,8048,903,1,0,0,0,8049,8054,5,79,0,0,8050,8055,3,908,454,0,8051,8052,3,910,455,0,8052,8053,3,914,457,0,8053,8055,1,0,0,0,8054,8050,1,0,0,0,8054,8051,1,0,0,0,8055,905,1,0,0,0,8056,8059,3,1038,519,0,8057,8059,5,30,0,0,8058,8056,1,0,0,0,8058,8057,1,0,0,0,8059,907,1,0,0,0,8060,8061,3,1038,519,0,8061,909,1,0,0,0,8062,8068,3,1082,541,0,8063,8064,5,12,0,0,8064,8068,3,912,456,0,8065,8066,5,13,0,0,8066,8068,3,912,456,0,8067,8062,1,0,0,0,8067,8063,1,0,0,0,8067,8065,1,0,0,0,8068,911,1,0,0,0,8069,8072,3,1250,625,0,8070,8072,3,1248,624,0,8071,8069,1,0,0,0,8071,8070,1,0,0,0,8072,913,1,0,0,0,8073,8074,7,38,0,0,8074,915,1,0,0,0,8075,8076,7,39,0,0,8076,917,1,0,0,0,8077,8078,5,66,0,0,8078,8079,5,147,0,0,8079,8082,3,920,460,0,8080,8082,1,0,0,0,8081,8077,1,0,0,0,8081,8080,1,0,0,0,8082,919,1,0,0,0,8083,8088,3,922,461,0,8084,8085,5,6,0,0,8085,8087,3,922,461,0,8086,8084,1,0,0,0,8087,8090,1,0,0,0,8088,8086,1,0,0,0,8088,8089,1,0,0,0,8089,921,1,0,0,0,8090,8088,1,0,0,0,8091,8111,3,1038,519,0,8092,8093,5,2,0,0,8093,8111,5,3,0,0,8094,8095,5,469,0,0,8095,8096,5,2,0,0,8096,8097,3,1156,578,0,8097,8098,5,3,0,0,8098,8111,1,0,0,0,8099,8100,5,468,0,0,8100,8101,5,2,0,0,8101,8102,3,1156,578,0,8102,8103,5,3,0,0,8103,8111,1,0,0,0,8104,8105,5,470,0,0,8105,8106,5,471,0,0,8106,8107,5,2,0,0,8107,8108,3,920,460,0,8108,8109,5,3,0,0,8109,8111,1,0,0,0,8110,8091,1,0,0,0,8110,8092,1,0,0,0,8110,8094,1,0,0,0,8110,8099,1,0,0,0,8110,8104,1,0,0,0,8111,923,1,0,0,0,8112,8113,5,67,0,0,8113,8116,3,1038,519,0,8114,8116,1,0,0,0,8115,8112,1,0,0,0,8115,8114,1,0,0,0,8116,925,1,0,0,0,8117,8119,3,928,464,0,8118,8117,1,0,0,0,8119,8120,1,0,0,0,8120,8118,1,0,0,0,8120,8121,1,0,0,0,8121,8126,1,0,0,0,8122,8123,5,62,0,0,8123,8124,5,293,0,0,8124,8126,5,81,0,0,8125,8118,1,0,0,0,8125,8122,1,0,0,0,8126,927,1,0,0,0,8127,8128,3,930,465,0,8128,8129,3,932,466,0,8129,8130,3,842,421,0,8130,929,1,0,0,0,8131,8141,5,62,0,0,8132,8133,5,262,0,0,8133,8135,5,236,0,0,8134,8132,1,0,0,0,8134,8135,1,0,0,0,8135,8136,1,0,0,0,8136,8142,5,362,0,0,8137,8139,5,236,0,0,8138,8137,1,0,0,0,8138,8139,1,0,0,0,8139,8140,1,0,0,0,8140,8142,5,327,0,0,8141,8134,1,0,0,0,8141,8138,1,0,0,0,8142,931,1,0,0,0,8143,8144,5,268,0,0,8144,8147,3,1208,604,0,8145,8147,1,0,0,0,8146,8143,1,0,0,0,8146,8145,1,0,0,0,8147,933,1,0,0,0,8148,8149,5,415,0,0,8149,8150,5,2,0,0,8150,8151,3,1156,578,0,8151,8159,5,3,0,0,8152,8153,5,6,0,0,8153,8154,5,2,0,0,8154,8155,3,1156,578,0,8155,8156,5,3,0,0,8156,8158,1,0,0,0,8157,8152,1,0,0,0,8158,8161,1,0,0,0,8159,8157,1,0,0,0,8159,8160,1,0,0,0,8160,935,1,0,0,0,8161,8159,1,0,0,0,8162,8163,5,64,0,0,8163,8166,3,938,469,0,8164,8166,1,0,0,0,8165,8162,1,0,0,0,8165,8164,1,0,0,0,8166,937,1,0,0,0,8167,8177,3,940,470,0,8168,8173,3,942,471,0,8169,8170,5,6,0,0,8170,8172,3,942,471,0,8171,8169,1,0,0,0,8172,8175,1,0,0,0,8173,8171,1,0,0,0,8173,8174,1,0,0,0,8174,8177,1,0,0,0,8175,8173,1,0,0,0,8176,8167,1,0,0,0,8176,8168,1,0,0,0,8177,939,1,0,0,0,8178,8181,3,942,471,0,8179,8180,5,6,0,0,8180,8182,3,942,471,0,8181,8179,1,0,0,0,8182,8183,1,0,0,0,8183,8181,1,0,0,0,8183,8184,1,0,0,0,8184,941,1,0,0,0,8185,8186,3,958,479,0,8186,8188,3,946,473,0,8187,8189,3,964,482,0,8188,8187,1,0,0,0,8188,8189,1,0,0,0,8189,8235,1,0,0,0,8190,8191,3,966,483,0,8191,8192,3,950,475,0,8192,8235,1,0,0,0,8193,8194,3,984,492,0,8194,8195,3,946,473,0,8195,8235,1,0,0,0,8196,8197,3,860,430,0,8197,8198,3,946,473,0,8198,8235,1,0,0,0,8199,8209,5,72,0,0,8200,8201,3,984,492,0,8201,8202,3,946,473,0,8202,8210,1,0,0,0,8203,8204,3,966,483,0,8204,8205,3,950,475,0,8205,8210,1,0,0,0,8206,8207,3,860,430,0,8207,8208,3,946,473,0,8208,8210,1,0,0,0,8209,8200,1,0,0,0,8209,8203,1,0,0,0,8209,8206,1,0,0,0,8210,8235,1,0,0,0,8211,8212,5,2,0,0,8212,8229,3,942,471,0,8213,8214,5,110,0,0,8214,8215,5,118,0,0,8215,8230,3,942,471,0,8216,8218,5,121,0,0,8217,8219,3,952,476,0,8218,8217,1,0,0,0,8218,8219,1,0,0,0,8219,8220,1,0,0,0,8220,8221,5,118,0,0,8221,8230,3,942,471,0,8222,8224,3,952,476,0,8223,8222,1,0,0,0,8223,8224,1,0,0,0,8224,8225,1,0,0,0,8225,8226,5,118,0,0,8226,8227,3,942,471,0,8227,8228,3,954,477,0,8228,8230,1,0,0,0,8229,8213,1,0,0,0,8229,8216,1,0,0,0,8229,8223,1,0,0,0,8229,8230,1,0,0,0,8230,8231,1,0,0,0,8231,8232,5,3,0,0,8232,8233,3,946,473,0,8233,8235,1,0,0,0,8234,8185,1,0,0,0,8234,8190,1,0,0,0,8234,8193,1,0,0,0,8234,8196,1,0,0,0,8234,8199,1,0,0,0,8234,8211,1,0,0,0,8235,8254,1,0,0,0,8236,8237,5,110,0,0,8237,8238,5,118,0,0,8238,8253,3,942,471,0,8239,8241,5,121,0,0,8240,8242,3,952,476,0,8241,8240,1,0,0,0,8241,8242,1,0,0,0,8242,8243,1,0,0,0,8243,8244,5,118,0,0,8244,8253,3,942,471,0,8245,8247,3,952,476,0,8246,8245,1,0,0,0,8246,8247,1,0,0,0,8247,8248,1,0,0,0,8248,8249,5,118,0,0,8249,8250,3,942,471,0,8250,8251,3,954,477,0,8251,8253,1,0,0,0,8252,8236,1,0,0,0,8252,8239,1,0,0,0,8252,8246,1,0,0,0,8253,8256,1,0,0,0,8254,8252,1,0,0,0,8254,8255,1,0,0,0,8255,943,1,0,0,0,8256,8254,1,0,0,0,8257,8259,5,36,0,0,8258,8257,1,0,0,0,8258,8259,1,0,0,0,8259,8260,1,0,0,0,8260,8265,3,1264,632,0,8261,8262,5,2,0,0,8262,8263,3,1232,616,0,8263,8264,5,3,0,0,8264,8266,1,0,0,0,8265,8261,1,0,0,0,8265,8266,1,0,0,0,8266,945,1,0,0,0,8267,8270,3,948,474,0,8268,8270,1,0,0,0,8269,8267,1,0,0,0,8269,8268,1,0,0,0,8270,947,1,0,0,0,8271,8273,5,36,0,0,8272,8271,1,0,0,0,8272,8273,1,0,0,0,8273,8274,1,0,0,0,8274,8279,3,1266,633,0,8275,8276,5,2,0,0,8276,8277,3,1232,616,0,8277,8278,5,3,0,0,8278,8280,1,0,0,0,8279,8275,1,0,0,0,8279,8280,1,0,0,0,8280,949,1,0,0,0,8281,8295,3,944,472,0,8282,8284,5,36,0,0,8283,8285,3,1264,632,0,8284,8283,1,0,0,0,8284,8285,1,0,0,0,8285,8288,1,0,0,0,8286,8288,3,1264,632,0,8287,8282,1,0,0,0,8287,8286,1,0,0,0,8288,8289,1,0,0,0,8289,8290,5,2,0,0,8290,8291,3,980,490,0,8291,8292,5,3,0,0,8292,8295,1,0,0,0,8293,8295,1,0,0,0,8294,8281,1,0,0,0,8294,8287,1,0,0,0,8294,8293,1,0,0,0,8295,951,1,0,0,0,8296,8298,7,40,0,0,8297,8299,5,123,0,0,8298,8297,1,0,0,0,8298,8299,1,0,0,0,8299,953,1,0,0,0,8300,8301,5,100,0,0,8301,8302,5,2,0,0,8302,8303,3,1232,616,0,8303,8304,5,3,0,0,8304,8308,1,0,0,0,8305,8306,5,80,0,0,8306,8308,3,1038,519,0,8307,8300,1,0,0,0,8307,8305,1,0,0,0,8308,955,1,0,0,0,8309,8310,3,1230,615,0,8310,957,1,0,0,0,8311,8313,3,1230,615,0,8312,8314,5,9,0,0,8313,8312,1,0,0,0,8313,8314,1,0,0,0,8314,8324,1,0,0,0,8315,8321,5,81,0,0,8316,8322,3,1230,615,0,8317,8318,5,2,0,0,8318,8319,3,1230,615,0,8319,8320,5,3,0,0,8320,8322,1,0,0,0,8321,8316,1,0,0,0,8321,8317,1,0,0,0,8322,8324,1,0,0,0,8323,8311,1,0,0,0,8323,8315,1,0,0,0,8324,959,1,0,0,0,8325,8330,3,958,479,0,8326,8327,5,6,0,0,8327,8329,3,958,479,0,8328,8326,1,0,0,0,8329,8332,1,0,0,0,8330,8328,1,0,0,0,8330,8331,1,0,0,0,8331,961,1,0,0,0,8332,8330,1,0,0,0,8333,8338,3,958,479,0,8334,8336,5,36,0,0,8335,8334,1,0,0,0,8335,8336,1,0,0,0,8336,8337,1,0,0,0,8337,8339,3,1264,632,0,8338,8335,1,0,0,0,8338,8339,1,0,0,0,8339,963,1,0,0,0,8340,8341,5,472,0,0,8341,8342,3,1240,620,0,8342,8343,5,2,0,0,8343,8344,3,1156,578,0,8344,8345,5,3,0,0,8345,8346,5,303,0,0,8346,8347,5,2,0,0,8347,8348,3,1038,519,0,8348,8349,5,3,0,0,8349,965,1,0,0,0,8350,8351,3,1090,545,0,8351,8352,3,972,486,0,8352,8368,1,0,0,0,8353,8354,5,313,0,0,8354,8355,5,64,0,0,8355,8356,5,2,0,0,8356,8361,3,968,484,0,8357,8358,5,6,0,0,8358,8360,3,968,484,0,8359,8357,1,0,0,0,8360,8363,1,0,0,0,8361,8359,1,0,0,0,8361,8362,1,0,0,0,8362,8364,1,0,0,0,8363,8361,1,0,0,0,8364,8365,5,3,0,0,8365,8366,3,972,486,0,8366,8368,1,0,0,0,8367,8350,1,0,0,0,8367,8353,1,0,0,0,8368,967,1,0,0,0,8369,8370,3,1090,545,0,8370,8371,3,970,485,0,8371,969,1,0,0,0,8372,8373,5,36,0,0,8373,8374,5,2,0,0,8374,8375,3,980,490,0,8375,8376,5,3,0,0,8376,8379,1,0,0,0,8377,8379,1,0,0,0,8378,8372,1,0,0,0,8378,8377,1,0,0,0,8379,971,1,0,0,0,8380,8381,5,105,0,0,8381,8384,5,473,0,0,8382,8384,1,0,0,0,8383,8380,1,0,0,0,8383,8382,1,0,0,0,8384,973,1,0,0,0,8385,8386,5,103,0,0,8386,8389,3,1038,519,0,8387,8389,1,0,0,0,8388,8385,1,0,0,0,8388,8387,1,0,0,0,8389,975,1,0,0,0,8390,8395,5,103,0,0,8391,8392,5,434,0,0,8392,8393,5,268,0,0,8393,8396,3,854,427,0,8394,8396,3,1038,519,0,8395,8391,1,0,0,0,8395,8394,1,0,0,0,8396,8399,1,0,0,0,8397,8399,1,0,0,0,8398,8390,1,0,0,0,8398,8397,1,0,0,0,8399,977,1,0,0,0,8400,8403,3,980,490,0,8401,8403,1,0,0,0,8402,8400,1,0,0,0,8402,8401,1,0,0,0,8403,979,1,0,0,0,8404,8409,3,982,491,0,8405,8406,5,6,0,0,8406,8408,3,982,491,0,8407,8405,1,0,0,0,8408,8411,1,0,0,0,8409,8407,1,0,0,0,8409,8410,1,0,0,0,8410,981,1,0,0,0,8411,8409,1,0,0,0,8412,8413,3,1264,632,0,8413,8414,3,996,498,0,8414,8415,3,102,51,0,8415,983,1,0,0,0,8416,8417,5,474,0,0,8417,8445,5,2,0,0,8418,8419,3,1082,541,0,8419,8420,3,1108,554,0,8420,8421,5,475,0,0,8421,8426,3,986,493,0,8422,8423,5,6,0,0,8423,8425,3,986,493,0,8424,8422,1,0,0,0,8425,8428,1,0,0,0,8426,8424,1,0,0,0,8426,8427,1,0,0,0,8427,8446,1,0,0,0,8428,8426,1,0,0,0,8429,8430,5,476,0,0,8430,8431,5,2,0,0,8431,8432,3,992,496,0,8432,8433,5,3,0,0,8433,8434,5,6,0,0,8434,8435,3,1082,541,0,8435,8436,3,1108,554,0,8436,8437,5,475,0,0,8437,8442,3,986,493,0,8438,8439,5,6,0,0,8439,8441,3,986,493,0,8440,8438,1,0,0,0,8441,8444,1,0,0,0,8442,8440,1,0,0,0,8442,8443,1,0,0,0,8443,8446,1,0,0,0,8444,8442,1,0,0,0,8445,8418,1,0,0,0,8445,8429,1,0,0,0,8446,8447,1,0,0,0,8447,8448,5,3,0,0,8448,985,1,0,0,0,8449,8456,3,1264,632,0,8450,8452,3,996,498,0,8451,8453,3,988,494,0,8452,8451,1,0,0,0,8452,8453,1,0,0,0,8453,8457,1,0,0,0,8454,8455,5,62,0,0,8455,8457,5,473,0,0,8456,8450,1,0,0,0,8456,8454,1,0,0,0,8457,987,1,0,0,0,8458,8460,3,990,495,0,8459,8458,1,0,0,0,8460,8461,1,0,0,0,8461,8459,1,0,0,0,8461,8462,1,0,0,0,8462,989,1,0,0,0,8463,8464,5,53,0,0,8464,8472,3,1038,519,0,8465,8466,3,1274,637,0,8466,8467,3,1038,519,0,8467,8472,1,0,0,0,8468,8469,5,77,0,0,8469,8472,5,78,0,0,8470,8472,5,78,0,0,8471,8463,1,0,0,0,8471,8465,1,0,0,0,8471,8468,1,0,0,0,8471,8470,1,0,0,0,8472,991,1,0,0,0,8473,8478,3,994,497,0,8474,8475,5,6,0,0,8475,8477,3,994,497,0,8476,8474,1,0,0,0,8477,8480,1,0,0,0,8478,8476,1,0,0,0,8478,8479,1,0,0,0,8479,993,1,0,0,0,8480,8478,1,0,0,0,8481,8482,3,1080,540,0,8482,8483,5,36,0,0,8483,8484,3,1272,636,0,8484,8488,1,0,0,0,8485,8486,5,53,0,0,8486,8488,3,1080,540,0,8487,8481,1,0,0,0,8487,8485,1,0,0,0,8488,995,1,0,0,0,8489,8491,5,408,0,0,8490,8489,1,0,0,0,8490,8491,1,0,0,0,8491,8492,1,0,0,0,8492,8510,3,998,499,0,8493,8495,5,4,0,0,8494,8496,3,1250,625,0,8495,8494,1,0,0,0,8495,8496,1,0,0,0,8496,8497,1,0,0,0,8497,8499,5,5,0,0,8498,8493,1,0,0,0,8499,8502,1,0,0,0,8500,8498,1,0,0,0,8500,8501,1,0,0,0,8501,8511,1,0,0,0,8502,8500,1,0,0,0,8503,8508,5,35,0,0,8504,8505,5,4,0,0,8505,8506,3,1250,625,0,8506,8507,5,5,0,0,8507,8509,1,0,0,0,8508,8504,1,0,0,0,8508,8509,1,0,0,0,8509,8511,1,0,0,0,8510,8500,1,0,0,0,8510,8503,1,0,0,0,8511,8517,1,0,0,0,8512,8513,3,1230,615,0,8513,8514,5,27,0,0,8514,8515,7,41,0,0,8515,8517,1,0,0,0,8516,8490,1,0,0,0,8516,8512,1,0,0,0,8517,997,1,0,0,0,8518,8532,3,1002,501,0,8519,8532,3,1006,503,0,8520,8532,3,1010,505,0,8521,8532,3,1018,509,0,8522,8532,3,1026,513,0,8523,8529,3,1028,514,0,8524,8530,3,1032,516,0,8525,8526,5,2,0,0,8526,8527,3,1250,625,0,8527,8528,5,3,0,0,8528,8530,1,0,0,0,8529,8524,1,0,0,0,8529,8525,1,0,0,0,8530,8532,1,0,0,0,8531,8518,1,0,0,0,8531,8519,1,0,0,0,8531,8520,1,0,0,0,8531,8521,1,0,0,0,8531,8522,1,0,0,0,8531,8523,1,0,0,0,8532,999,1,0,0,0,8533,8538,3,1006,503,0,8534,8538,3,1012,506,0,8535,8538,3,1020,510,0,8536,8538,3,1026,513,0,8537,8533,1,0,0,0,8537,8534,1,0,0,0,8537,8535,1,0,0,0,8537,8536,1,0,0,0,8538,1001,1,0,0,0,8539,8544,3,1286,643,0,8540,8544,3,1268,634,0,8541,8544,5,119,0,0,8542,8544,5,126,0,0,8543,8539,1,0,0,0,8543,8540,1,0,0,0,8543,8541,1,0,0,0,8543,8542,1,0,0,0,8544,8546,1,0,0,0,8545,8547,3,472,236,0,8546,8545,1,0,0,0,8546,8547,1,0,0,0,8547,8548,1,0,0,0,8548,8549,3,1004,502,0,8549,1003,1,0,0,0,8550,8551,5,2,0,0,8551,8552,3,1156,578,0,8552,8553,5,3,0,0,8553,8556,1,0,0,0,8554,8556,1,0,0,0,8555,8550,1,0,0,0,8555,8554,1,0,0,0,8556,1005,1,0,0,0,8557,8574,5,394,0,0,8558,8574,5,395,0,0,8559,8574,5,409,0,0,8560,8574,5,381,0,0,8561,8574,5,406,0,0,8562,8563,5,391,0,0,8563,8574,3,1008,504,0,8564,8565,5,190,0,0,8565,8574,5,405,0,0,8566,8567,5,388,0,0,8567,8574,3,1004,502,0,8568,8569,5,387,0,0,8569,8574,3,1004,502,0,8570,8571,5,402,0,0,8571,8574,3,1004,502,0,8572,8574,5,383,0,0,8573,8557,1,0,0,0,8573,8558,1,0,0,0,8573,8559,1,0,0,0,8573,8560,1,0,0,0,8573,8561,1,0,0,0,8573,8562,1,0,0,0,8573,8564,1,0,0,0,8573,8566,1,0,0,0,8573,8568,1,0,0,0,8573,8570,1,0,0,0,8573,8572,1,0,0,0,8574,1007,1,0,0,0,8575,8576,5,2,0,0,8576,8577,3,1250,625,0,8577,8578,5,3,0,0,8578,8581,1,0,0,0,8579,8581,1,0,0,0,8580,8575,1,0,0,0,8580,8579,1,0,0,0,8581,1009,1,0,0,0,8582,8585,3,1014,507,0,8583,8585,3,1016,508,0,8584,8582,1,0,0,0,8584,8583,1,0,0,0,8585,1011,1,0,0,0,8586,8589,3,1014,507,0,8587,8589,3,1016,508,0,8588,8586,1,0,0,0,8588,8587,1,0,0,0,8589,1013,1,0,0,0,8590,8591,5,382,0,0,8591,8592,3,1024,512,0,8592,8593,5,2,0,0,8593,8594,3,1156,578,0,8594,8595,5,3,0,0,8595,1015,1,0,0,0,8596,8597,5,382,0,0,8597,8598,3,1024,512,0,8598,1017,1,0,0,0,8599,8604,3,1022,511,0,8600,8601,5,2,0,0,8601,8602,3,1250,625,0,8602,8603,5,3,0,0,8603,8605,1,0,0,0,8604,8600,1,0,0,0,8604,8605,1,0,0,0,8605,1019,1,0,0,0,8606,8611,3,1022,511,0,8607,8608,5,2,0,0,8608,8609,3,1250,625,0,8609,8610,5,3,0,0,8610,8612,1,0,0,0,8611,8607,1,0,0,0,8611,8612,1,0,0,0,8612,1021,1,0,0,0,8613,8614,7,42,0,0,8614,8620,3,1024,512,0,8615,8620,5,416,0,0,8616,8617,5,398,0,0,8617,8618,7,43,0,0,8618,8620,3,1024,512,0,8619,8613,1,0,0,0,8619,8615,1,0,0,0,8619,8616,1,0,0,0,8620,1023,1,0,0,0,8621,8624,5,367,0,0,8622,8624,1,0,0,0,8623,8621,1,0,0,0,8623,8622,1,0,0,0,8624,1025,1,0,0,0,8625,8630,7,44,0,0,8626,8627,5,2,0,0,8627,8628,3,1250,625,0,8628,8629,5,3,0,0,8629,8631,1,0,0,0,8630,8626,1,0,0,0,8630,8631,1,0,0,0,8631,8632,1,0,0,0,8632,8633,3,1030,515,0,8633,1027,1,0,0,0,8634,8635,5,396,0,0,8635,1029,1,0,0,0,8636,8637,5,105,0,0,8637,8638,5,411,0,0,8638,8644,5,379,0,0,8639,8640,5,372,0,0,8640,8641,5,411,0,0,8641,8644,5,379,0,0,8642,8644,1,0,0,0,8643,8636,1,0,0,0,8643,8639,1,0,0,0,8643,8642,1,0,0,0,8644,1031,1,0,0,0,8645,8672,5,377,0,0,8646,8672,5,257,0,0,8647,8672,5,176,0,0,8648,8672,5,218,0,0,8649,8672,5,254,0,0,8650,8672,3,1034,517,0,8651,8652,5,377,0,0,8652,8653,5,94,0,0,8653,8672,5,257,0,0,8654,8655,5,176,0,0,8655,8659,5,94,0,0,8656,8660,5,218,0,0,8657,8660,5,254,0,0,8658,8660,3,1034,517,0,8659,8656,1,0,0,0,8659,8657,1,0,0,0,8659,8658,1,0,0,0,8660,8672,1,0,0,0,8661,8662,5,218,0,0,8662,8665,5,94,0,0,8663,8666,5,254,0,0,8664,8666,3,1034,517,0,8665,8663,1,0,0,0,8665,8664,1,0,0,0,8666,8672,1,0,0,0,8667,8668,5,254,0,0,8668,8669,5,94,0,0,8669,8672,3,1034,517,0,8670,8672,1,0,0,0,8671,8645,1,0,0,0,8671,8646,1,0,0,0,8671,8647,1,0,0,0,8671,8648,1,0,0,0,8671,8649,1,0,0,0,8671,8650,1,0,0,0,8671,8651,1,0,0,0,8671,8654,1,0,0,0,8671,8661,1,0,0,0,8671,8667,1,0,0,0,8671,8670,1,0,0,0,8672,1033,1,0,0,0,8673,8678,5,319,0,0,8674,8675,5,2,0,0,8675,8676,3,1250,625,0,8676,8677,5,3,0,0,8677,8679,1,0,0,0,8678,8674,1,0,0,0,8678,8679,1,0,0,0,8679,1035,1,0,0,0,8680,8681,5,197,0,0,8681,8684,3,1038,519,0,8682,8684,1,0,0,0,8683,8680,1,0,0,0,8683,8682,1,0,0,0,8684,1037,1,0,0,0,8685,8686,3,1040,520,0,8686,1039,1,0,0,0,8687,8689,3,1042,521,0,8688,8690,3,1150,575,0,8689,8688,1,0,0,0,8689,8690,1,0,0,0,8690,1041,1,0,0,0,8691,8696,3,1044,522,0,8692,8693,7,45,0,0,8693,8695,3,1044,522,0,8694,8692,1,0,0,0,8695,8698,1,0,0,0,8696,8694,1,0,0,0,8696,8697,1,0,0,0,8697,1043,1,0,0,0,8698,8696,1,0,0,0,8699,8704,3,1046,523,0,8700,8701,5,82,0,0,8701,8703,3,1046,523,0,8702,8700,1,0,0,0,8703,8706,1,0,0,0,8704,8702,1,0,0,0,8704,8705,1,0,0,0,8705,1045,1,0,0,0,8706,8704,1,0,0,0,8707,8712,3,1048,524,0,8708,8709,5,33,0,0,8709,8711,3,1048,524,0,8710,8708,1,0,0,0,8711,8714,1,0,0,0,8712,8710,1,0,0,0,8712,8713,1,0,0,0,8713,1047,1,0,0,0,8714,8712,1,0,0,0,8715,8727,3,1050,525,0,8716,8718,5,77,0,0,8717,8716,1,0,0,0,8717,8718,1,0,0,0,8718,8719,1,0,0,0,8719,8721,5,380,0,0,8720,8722,5,91,0,0,8721,8720,1,0,0,0,8721,8722,1,0,0,0,8722,8723,1,0,0,0,8723,8724,3,1050,525,0,8724,8725,5,33,0,0,8725,8726,3,1050,525,0,8726,8728,1,0,0,0,8727,8717,1,0,0,0,8727,8728,1,0,0,0,8728,1049,1,0,0,0,8729,8735,3,1052,526,0,8730,8732,5,77,0,0,8731,8730,1,0,0,0,8731,8732,1,0,0,0,8732,8733,1,0,0,0,8733,8734,5,68,0,0,8734,8736,3,1182,591,0,8735,8731,1,0,0,0,8735,8736,1,0,0,0,8736,1051,1,0,0,0,8737,8739,5,77,0,0,8738,8737,1,0,0,0,8738,8739,1,0,0,0,8739,8740,1,0,0,0,8740,8741,3,1054,527,0,8741,1053,1,0,0,0,8742,8744,3,1056,528,0,8743,8745,7,46,0,0,8744,8743,1,0,0,0,8744,8745,1,0,0,0,8745,1055,1,0,0,0,8746,8770,3,1058,529,0,8747,8749,5,116,0,0,8748,8750,5,77,0,0,8749,8748,1,0,0,0,8749,8750,1,0,0,0,8750,8768,1,0,0,0,8751,8769,5,78,0,0,8752,8769,5,96,0,0,8753,8769,5,60,0,0,8754,8769,5,358,0,0,8755,8756,5,56,0,0,8756,8757,5,64,0,0,8757,8769,3,1038,519,0,8758,8759,5,268,0,0,8759,8760,5,2,0,0,8760,8761,3,1162,581,0,8761,8762,5,3,0,0,8762,8769,1,0,0,0,8763,8769,5,188,0,0,8764,8766,3,1172,586,0,8765,8764,1,0,0,0,8765,8766,1,0,0,0,8766,8767,1,0,0,0,8767,8769,5,478,0,0,8768,8751,1,0,0,0,8768,8752,1,0,0,0,8768,8753,1,0,0,0,8768,8754,1,0,0,0,8768,8755,1,0,0,0,8768,8758,1,0,0,0,8768,8763,1,0,0,0,8768,8765,1,0,0,0,8769,8771,1,0,0,0,8770,8747,1,0,0,0,8770,8771,1,0,0,0,8771,1057,1,0,0,0,8772,8784,3,1060,530,0,8773,8774,7,47,0,0,8774,8785,3,1060,530,0,8775,8776,3,1154,577,0,8776,8782,3,1144,572,0,8777,8783,3,860,430,0,8778,8779,5,2,0,0,8779,8780,3,1038,519,0,8780,8781,5,3,0,0,8781,8783,1,0,0,0,8782,8777,1,0,0,0,8782,8778,1,0,0,0,8783,8785,1,0,0,0,8784,8773,1,0,0,0,8784,8775,1,0,0,0,8784,8785,1,0,0,0,8785,1059,1,0,0,0,8786,8799,3,1062,531,0,8787,8789,5,77,0,0,8788,8787,1,0,0,0,8788,8789,1,0,0,0,8789,8794,1,0,0,0,8790,8795,5,120,0,0,8791,8795,5,114,0,0,8792,8793,5,127,0,0,8793,8795,5,94,0,0,8794,8790,1,0,0,0,8794,8791,1,0,0,0,8794,8792,1,0,0,0,8795,8796,1,0,0,0,8796,8797,3,1062,531,0,8797,8798,3,1036,518,0,8798,8800,1,0,0,0,8799,8788,1,0,0,0,8799,8800,1,0,0,0,8800,1061,1,0,0,0,8801,8807,3,1064,532,0,8802,8803,3,1150,575,0,8803,8804,3,1064,532,0,8804,8806,1,0,0,0,8805,8802,1,0,0,0,8806,8809,1,0,0,0,8807,8805,1,0,0,0,8807,8808,1,0,0,0,8808,1063,1,0,0,0,8809,8807,1,0,0,0,8810,8812,3,1150,575,0,8811,8810,1,0,0,0,8811,8812,1,0,0,0,8812,8813,1,0,0,0,8813,8814,3,1066,533,0,8814,1065,1,0,0,0,8815,8820,3,1068,534,0,8816,8817,7,48,0,0,8817,8819,3,1068,534,0,8818,8816,1,0,0,0,8819,8822,1,0,0,0,8820,8818,1,0,0,0,8820,8821,1,0,0,0,8821,1067,1,0,0,0,8822,8820,1,0,0,0,8823,8828,3,1070,535,0,8824,8825,7,49,0,0,8825,8827,3,1070,535,0,8826,8824,1,0,0,0,8827,8830,1,0,0,0,8828,8826,1,0,0,0,8828,8829,1,0,0,0,8829,1069,1,0,0,0,8830,8828,1,0,0,0,8831,8834,3,1072,536,0,8832,8833,5,15,0,0,8833,8835,3,1038,519,0,8834,8832,1,0,0,0,8834,8835,1,0,0,0,8835,1071,1,0,0,0,8836,8838,7,48,0,0,8837,8836,1,0,0,0,8837,8838,1,0,0,0,8838,8839,1,0,0,0,8839,8840,3,1074,537,0,8840,1073,1,0,0,0,8841,8846,3,1076,538,0,8842,8843,5,142,0,0,8843,8844,5,411,0,0,8844,8845,5,379,0,0,8845,8847,3,1038,519,0,8846,8842,1,0,0,0,8846,8847,1,0,0,0,8847,1075,1,0,0,0,8848,8851,3,1078,539,0,8849,8850,5,43,0,0,8850,8852,3,470,235,0,8851,8849,1,0,0,0,8851,8852,1,0,0,0,8852,1077,1,0,0,0,8853,8858,3,1082,541,0,8854,8855,5,26,0,0,8855,8857,3,996,498,0,8856,8854,1,0,0,0,8857,8860,1,0,0,0,8858,8856,1,0,0,0,8858,8859,1,0,0,0,8859,1079,1,0,0,0,8860,8858,1,0,0,0,8861,8862,6,540,-1,0,8862,8869,3,1082,541,0,8863,8864,7,48,0,0,8864,8869,3,1080,540,9,8865,8866,3,1150,575,0,8866,8867,3,1080,540,3,8867,8869,1,0,0,0,8868,8861,1,0,0,0,8868,8863,1,0,0,0,8868,8865,1,0,0,0,8869,8909,1,0,0,0,8870,8871,10,8,0,0,8871,8872,5,15,0,0,8872,8908,3,1080,540,9,8873,8874,10,7,0,0,8874,8875,7,49,0,0,8875,8908,3,1080,540,8,8876,8877,10,6,0,0,8877,8878,7,48,0,0,8878,8908,3,1080,540,7,8879,8880,10,5,0,0,8880,8881,3,1150,575,0,8881,8882,3,1080,540,6,8882,8908,1,0,0,0,8883,8884,10,4,0,0,8884,8885,7,47,0,0,8885,8908,3,1080,540,5,8886,8887,10,10,0,0,8887,8888,5,26,0,0,8888,8908,3,996,498,0,8889,8890,10,2,0,0,8890,8908,3,1150,575,0,8891,8892,10,1,0,0,8892,8894,5,116,0,0,8893,8895,5,77,0,0,8894,8893,1,0,0,0,8894,8895,1,0,0,0,8895,8905,1,0,0,0,8896,8897,5,56,0,0,8897,8898,5,64,0,0,8898,8906,3,1080,540,0,8899,8900,5,268,0,0,8900,8901,5,2,0,0,8901,8902,3,1162,581,0,8902,8903,5,3,0,0,8903,8906,1,0,0,0,8904,8906,5,188,0,0,8905,8896,1,0,0,0,8905,8899,1,0,0,0,8905,8904,1,0,0,0,8906,8908,1,0,0,0,8907,8870,1,0,0,0,8907,8873,1,0,0,0,8907,8876,1,0,0,0,8907,8879,1,0,0,0,8907,8883,1,0,0,0,8907,8886,1,0,0,0,8907,8889,1,0,0,0,8907,8891,1,0,0,0,8908,8911,1,0,0,0,8909,8907,1,0,0,0,8909,8910,1,0,0,0,8910,1081,1,0,0,0,8911,8909,1,0,0,0,8912,8913,5,389,0,0,8913,8949,3,860,430,0,8914,8917,5,35,0,0,8915,8918,3,860,430,0,8916,8918,3,1164,582,0,8917,8915,1,0,0,0,8917,8916,1,0,0,0,8918,8949,1,0,0,0,8919,8920,5,28,0,0,8920,8949,3,1200,600,0,8921,8922,5,470,0,0,8922,8923,5,2,0,0,8923,8924,3,1156,578,0,8924,8925,5,3,0,0,8925,8949,1,0,0,0,8926,8927,5,98,0,0,8927,8949,3,860,430,0,8928,8949,3,1194,597,0,8929,8949,3,1242,621,0,8930,8949,3,1084,542,0,8931,8932,5,2,0,0,8932,8933,3,1038,519,0,8933,8934,5,3,0,0,8934,8935,3,1200,600,0,8935,8949,1,0,0,0,8936,8949,3,1184,592,0,8937,8949,3,1088,544,0,8938,8940,3,860,430,0,8939,8941,3,1198,599,0,8940,8939,1,0,0,0,8940,8941,1,0,0,0,8941,8949,1,0,0,0,8942,8949,3,1140,570,0,8943,8949,3,1142,571,0,8944,8945,3,1138,569,0,8945,8946,5,125,0,0,8946,8947,3,1138,569,0,8947,8949,1,0,0,0,8948,8912,1,0,0,0,8948,8914,1,0,0,0,8948,8919,1,0,0,0,8948,8921,1,0,0,0,8948,8926,1,0,0,0,8948,8928,1,0,0,0,8948,8929,1,0,0,0,8948,8930,1,0,0,0,8948,8931,1,0,0,0,8948,8936,1,0,0,0,8948,8937,1,0,0,0,8948,8938,1,0,0,0,8948,8942,1,0,0,0,8948,8943,1,0,0,0,8948,8944,1,0,0,0,8949,1083,1,0,0,0,8950,8951,5,661,0,0,8951,1085,1,0,0,0,8952,8953,3,1240,620,0,8953,8972,5,2,0,0,8954,8958,3,1158,579,0,8955,8956,5,6,0,0,8956,8957,5,101,0,0,8957,8959,3,1160,580,0,8958,8955,1,0,0,0,8958,8959,1,0,0,0,8959,8960,1,0,0,0,8960,8961,3,890,445,0,8961,8973,1,0,0,0,8962,8963,5,101,0,0,8963,8964,3,1160,580,0,8964,8965,3,890,445,0,8965,8973,1,0,0,0,8966,8967,7,50,0,0,8967,8968,3,1158,579,0,8968,8969,3,890,445,0,8969,8973,1,0,0,0,8970,8973,5,9,0,0,8971,8973,1,0,0,0,8972,8954,1,0,0,0,8972,8962,1,0,0,0,8972,8966,1,0,0,0,8972,8970,1,0,0,0,8972,8971,1,0,0,0,8973,8974,1,0,0,0,8974,8975,5,3,0,0,8975,1087,1,0,0,0,8976,8977,3,1086,543,0,8977,8978,3,1112,556,0,8978,8979,3,1114,557,0,8979,8980,3,1122,561,0,8980,8983,1,0,0,0,8981,8983,3,1092,546,0,8982,8976,1,0,0,0,8982,8981,1,0,0,0,8983,1089,1,0,0,0,8984,8987,3,1086,543,0,8985,8987,3,1092,546,0,8986,8984,1,0,0,0,8986,8985,1,0,0,0,8987,1091,1,0,0,0,8988,8989,5,108,0,0,8989,8990,5,62,0,0,8990,8991,5,2,0,0,8991,8992,3,1038,519,0,8992,8993,5,3,0,0,8993,9166,1,0,0,0,8994,9166,5,48,0,0,8995,9e3,5,50,0,0,8996,8997,5,2,0,0,8997,8998,3,1250,625,0,8998,8999,5,3,0,0,8999,9001,1,0,0,0,9e3,8996,1,0,0,0,9e3,9001,1,0,0,0,9001,9166,1,0,0,0,9002,9007,5,51,0,0,9003,9004,5,2,0,0,9004,9005,3,1250,625,0,9005,9006,5,3,0,0,9006,9008,1,0,0,0,9007,9003,1,0,0,0,9007,9008,1,0,0,0,9008,9166,1,0,0,0,9009,9014,5,75,0,0,9010,9011,5,2,0,0,9011,9012,3,1250,625,0,9012,9013,5,3,0,0,9013,9015,1,0,0,0,9014,9010,1,0,0,0,9014,9015,1,0,0,0,9015,9166,1,0,0,0,9016,9021,5,76,0,0,9017,9018,5,2,0,0,9018,9019,3,1250,625,0,9019,9020,5,3,0,0,9020,9022,1,0,0,0,9021,9017,1,0,0,0,9021,9022,1,0,0,0,9022,9166,1,0,0,0,9023,9166,5,49,0,0,9024,9166,5,52,0,0,9025,9166,5,89,0,0,9026,9166,5,99,0,0,9027,9166,5,47,0,0,9028,9166,5,111,0,0,9029,9030,5,41,0,0,9030,9031,5,2,0,0,9031,9032,3,1038,519,0,9032,9033,5,36,0,0,9033,9034,3,996,498,0,9034,9035,5,3,0,0,9035,9166,1,0,0,0,9036,9037,5,390,0,0,9037,9038,5,2,0,0,9038,9039,3,1168,584,0,9039,9040,5,3,0,0,9040,9166,1,0,0,0,9041,9042,5,489,0,0,9042,9043,5,2,0,0,9043,9046,3,1038,519,0,9044,9045,5,6,0,0,9045,9047,3,1172,586,0,9046,9044,1,0,0,0,9046,9047,1,0,0,0,9047,9048,1,0,0,0,9048,9049,5,3,0,0,9049,9166,1,0,0,0,9050,9051,5,403,0,0,9051,9052,5,2,0,0,9052,9053,3,1174,587,0,9053,9054,5,3,0,0,9054,9166,1,0,0,0,9055,9056,5,404,0,0,9056,9057,5,2,0,0,9057,9058,3,1176,588,0,9058,9059,5,3,0,0,9059,9166,1,0,0,0,9060,9061,5,410,0,0,9061,9062,5,2,0,0,9062,9063,3,1178,589,0,9063,9064,5,3,0,0,9064,9166,1,0,0,0,9065,9066,5,413,0,0,9066,9067,5,2,0,0,9067,9068,3,1038,519,0,9068,9069,5,36,0,0,9069,9070,3,996,498,0,9070,9071,5,3,0,0,9071,9166,1,0,0,0,9072,9073,5,414,0,0,9073,9075,5,2,0,0,9074,9076,7,51,0,0,9075,9074,1,0,0,0,9075,9076,1,0,0,0,9076,9077,1,0,0,0,9077,9078,3,1180,590,0,9078,9079,5,3,0,0,9079,9166,1,0,0,0,9080,9081,5,401,0,0,9081,9082,5,2,0,0,9082,9083,3,1038,519,0,9083,9084,5,6,0,0,9084,9085,3,1038,519,0,9085,9086,5,3,0,0,9086,9166,1,0,0,0,9087,9088,5,386,0,0,9088,9089,5,2,0,0,9089,9090,3,1156,578,0,9090,9091,5,3,0,0,9091,9166,1,0,0,0,9092,9093,5,392,0,0,9093,9094,5,2,0,0,9094,9095,3,1156,578,0,9095,9096,5,3,0,0,9096,9166,1,0,0,0,9097,9098,5,397,0,0,9098,9099,5,2,0,0,9099,9100,3,1156,578,0,9100,9101,5,3,0,0,9101,9166,1,0,0,0,9102,9103,5,425,0,0,9103,9104,5,2,0,0,9104,9105,3,1156,578,0,9105,9106,5,3,0,0,9106,9166,1,0,0,0,9107,9108,5,426,0,0,9108,9109,5,2,0,0,9109,9110,5,259,0,0,9110,9116,3,1272,636,0,9111,9114,5,6,0,0,9112,9115,3,1098,549,0,9113,9115,3,1156,578,0,9114,9112,1,0,0,0,9114,9113,1,0,0,0,9115,9117,1,0,0,0,9116,9111,1,0,0,0,9116,9117,1,0,0,0,9117,9118,1,0,0,0,9118,9119,5,3,0,0,9119,9166,1,0,0,0,9120,9121,5,427,0,0,9121,9122,5,2,0,0,9122,9123,3,1082,541,0,9123,9124,3,1108,554,0,9124,9125,5,3,0,0,9125,9166,1,0,0,0,9126,9127,5,428,0,0,9127,9128,5,2,0,0,9128,9129,3,1100,550,0,9129,9130,5,3,0,0,9130,9166,1,0,0,0,9131,9132,5,429,0,0,9132,9133,5,2,0,0,9133,9134,3,1104,552,0,9134,9135,3,1038,519,0,9135,9136,3,1106,553,0,9136,9137,5,3,0,0,9137,9166,1,0,0,0,9138,9139,5,430,0,0,9139,9140,5,2,0,0,9140,9141,5,259,0,0,9141,9144,3,1272,636,0,9142,9143,5,6,0,0,9143,9145,3,1038,519,0,9144,9142,1,0,0,0,9144,9145,1,0,0,0,9145,9146,1,0,0,0,9146,9147,5,3,0,0,9147,9166,1,0,0,0,9148,9149,5,431,0,0,9149,9150,5,2,0,0,9150,9151,5,376,0,0,9151,9152,3,1038,519,0,9152,9153,5,6,0,0,9153,9154,3,1094,547,0,9154,9155,3,1096,548,0,9155,9156,5,3,0,0,9156,9166,1,0,0,0,9157,9158,5,432,0,0,9158,9159,5,2,0,0,9159,9160,3,1104,552,0,9160,9161,3,1038,519,0,9161,9162,5,36,0,0,9162,9163,3,998,499,0,9163,9164,5,3,0,0,9164,9166,1,0,0,0,9165,8988,1,0,0,0,9165,8994,1,0,0,0,9165,8995,1,0,0,0,9165,9002,1,0,0,0,9165,9009,1,0,0,0,9165,9016,1,0,0,0,9165,9023,1,0,0,0,9165,9024,1,0,0,0,9165,9025,1,0,0,0,9165,9026,1,0,0,0,9165,9027,1,0,0,0,9165,9028,1,0,0,0,9165,9029,1,0,0,0,9165,9036,1,0,0,0,9165,9041,1,0,0,0,9165,9050,1,0,0,0,9165,9055,1,0,0,0,9165,9060,1,0,0,0,9165,9065,1,0,0,0,9165,9072,1,0,0,0,9165,9080,1,0,0,0,9165,9087,1,0,0,0,9165,9092,1,0,0,0,9165,9097,1,0,0,0,9165,9102,1,0,0,0,9165,9107,1,0,0,0,9165,9120,1,0,0,0,9165,9126,1,0,0,0,9165,9131,1,0,0,0,9165,9138,1,0,0,0,9165,9148,1,0,0,0,9165,9157,1,0,0,0,9166,1093,1,0,0,0,9167,9168,5,368,0,0,9168,9173,3,1038,519,0,9169,9170,5,368,0,0,9170,9171,5,262,0,0,9171,9173,5,450,0,0,9172,9167,1,0,0,0,9172,9169,1,0,0,0,9173,1095,1,0,0,0,9174,9175,5,6,0,0,9175,9176,5,332,0,0,9176,9186,5,378,0,0,9177,9178,5,6,0,0,9178,9179,5,332,0,0,9179,9186,5,262,0,0,9180,9181,5,6,0,0,9181,9182,5,332,0,0,9182,9183,5,262,0,0,9183,9186,5,450,0,0,9184,9186,1,0,0,0,9185,9174,1,0,0,0,9185,9177,1,0,0,0,9185,9180,1,0,0,0,9185,9184,1,0,0,0,9186,1097,1,0,0,0,9187,9188,5,417,0,0,9188,9189,5,2,0,0,9189,9190,3,1100,550,0,9190,9191,5,3,0,0,9191,1099,1,0,0,0,9192,9197,3,1102,551,0,9193,9194,5,6,0,0,9194,9196,3,1102,551,0,9195,9193,1,0,0,0,9196,9199,1,0,0,0,9197,9195,1,0,0,0,9197,9198,1,0,0,0,9198,1101,1,0,0,0,9199,9197,1,0,0,0,9200,9203,3,1038,519,0,9201,9202,5,36,0,0,9202,9204,3,1272,636,0,9203,9201,1,0,0,0,9203,9204,1,0,0,0,9204,1103,1,0,0,0,9205,9206,7,52,0,0,9206,1105,1,0,0,0,9207,9208,5,285,0,0,9208,9213,5,371,0,0,9209,9210,5,340,0,0,9210,9213,5,371,0,0,9211,9213,1,0,0,0,9212,9207,1,0,0,0,9212,9209,1,0,0,0,9212,9211,1,0,0,0,9213,1107,1,0,0,0,9214,9215,5,279,0,0,9215,9230,3,1082,541,0,9216,9217,5,279,0,0,9217,9218,3,1082,541,0,9218,9219,3,1110,555,0,9219,9230,1,0,0,0,9220,9221,5,279,0,0,9221,9222,3,1110,555,0,9222,9223,3,1082,541,0,9223,9230,1,0,0,0,9224,9225,5,279,0,0,9225,9226,3,1110,555,0,9226,9227,3,1082,541,0,9227,9228,3,1110,555,0,9228,9230,1,0,0,0,9229,9214,1,0,0,0,9229,9216,1,0,0,0,9229,9220,1,0,0,0,9229,9224,1,0,0,0,9230,1109,1,0,0,0,9231,9232,5,147,0,0,9232,9233,7,53,0,0,9233,1111,1,0,0,0,9234,9235,5,479,0,0,9235,9236,5,66,0,0,9236,9237,5,2,0,0,9237,9238,3,892,446,0,9238,9239,5,3,0,0,9239,9242,1,0,0,0,9240,9242,1,0,0,0,9241,9234,1,0,0,0,9241,9240,1,0,0,0,9242,1113,1,0,0,0,9243,9244,5,480,0,0,9244,9245,5,2,0,0,9245,9246,5,103,0,0,9246,9247,3,1038,519,0,9247,9248,5,3,0,0,9248,9251,1,0,0,0,9249,9251,1,0,0,0,9250,9243,1,0,0,0,9250,9249,1,0,0,0,9251,1115,1,0,0,0,9252,9253,5,104,0,0,9253,9256,3,1118,559,0,9254,9256,1,0,0,0,9255,9252,1,0,0,0,9255,9254,1,0,0,0,9256,1117,1,0,0,0,9257,9262,3,1120,560,0,9258,9259,5,6,0,0,9259,9261,3,1120,560,0,9260,9258,1,0,0,0,9261,9264,1,0,0,0,9262,9260,1,0,0,0,9262,9263,1,0,0,0,9263,1119,1,0,0,0,9264,9262,1,0,0,0,9265,9266,3,1264,632,0,9266,9267,5,36,0,0,9267,9268,3,1124,562,0,9268,1121,1,0,0,0,9269,9272,5,124,0,0,9270,9273,3,1124,562,0,9271,9273,3,1264,632,0,9272,9270,1,0,0,0,9272,9271,1,0,0,0,9273,9276,1,0,0,0,9274,9276,1,0,0,0,9275,9269,1,0,0,0,9275,9274,1,0,0,0,9276,1123,1,0,0,0,9277,9278,5,2,0,0,9278,9279,3,1126,563,0,9279,9280,3,1128,564,0,9280,9281,3,890,445,0,9281,9282,3,1130,565,0,9282,9283,5,3,0,0,9283,1125,1,0,0,0,9284,9287,3,1264,632,0,9285,9287,1,0,0,0,9286,9284,1,0,0,0,9286,9285,1,0,0,0,9287,1127,1,0,0,0,9288,9289,5,278,0,0,9289,9290,5,147,0,0,9290,9293,3,1156,578,0,9291,9293,1,0,0,0,9292,9288,1,0,0,0,9292,9291,1,0,0,0,9293,1129,1,0,0,0,9294,9295,5,292,0,0,9295,9296,3,1132,566,0,9296,9297,3,1136,568,0,9297,9308,1,0,0,0,9298,9299,5,313,0,0,9299,9300,3,1132,566,0,9300,9301,3,1136,568,0,9301,9308,1,0,0,0,9302,9303,5,481,0,0,9303,9304,3,1132,566,0,9304,9305,3,1136,568,0,9305,9308,1,0,0,0,9306,9308,1,0,0,0,9307,9294,1,0,0,0,9307,9298,1,0,0,0,9307,9302,1,0,0,0,9307,9306,1,0,0,0,9308,1131,1,0,0,0,9309,9316,3,1134,567,0,9310,9311,5,380,0,0,9311,9312,3,1134,567,0,9312,9313,5,33,0,0,9313,9314,3,1134,567,0,9314,9316,1,0,0,0,9315,9309,1,0,0,0,9315,9310,1,0,0,0,9316,1133,1,0,0,0,9317,9318,5,355,0,0,9318,9325,7,54,0,0,9319,9320,5,434,0,0,9320,9325,5,407,0,0,9321,9322,3,1038,519,0,9322,9323,7,54,0,0,9323,9325,1,0,0,0,9324,9317,1,0,0,0,9324,9319,1,0,0,0,9324,9321,1,0,0,0,9325,1135,1,0,0,0,9326,9333,5,199,0,0,9327,9328,5,434,0,0,9328,9334,5,407,0,0,9329,9334,5,66,0,0,9330,9334,5,467,0,0,9331,9332,5,262,0,0,9332,9334,5,482,0,0,9333,9327,1,0,0,0,9333,9329,1,0,0,0,9333,9330,1,0,0,0,9333,9331,1,0,0,0,9334,9337,1,0,0,0,9335,9337,1,0,0,0,9336,9326,1,0,0,0,9336,9335,1,0,0,0,9337,1137,1,0,0,0,9338,9339,5,407,0,0,9339,9341,5,2,0,0,9340,9342,3,1156,578,0,9341,9340,1,0,0,0,9341,9342,1,0,0,0,9342,9343,1,0,0,0,9343,9351,5,3,0,0,9344,9345,5,2,0,0,9345,9346,3,1156,578,0,9346,9347,5,6,0,0,9347,9348,3,1038,519,0,9348,9349,5,3,0,0,9349,9351,1,0,0,0,9350,9338,1,0,0,0,9350,9344,1,0,0,0,9351,1139,1,0,0,0,9352,9353,5,407,0,0,9353,9355,5,2,0,0,9354,9356,3,1156,578,0,9355,9354,1,0,0,0,9355,9356,1,0,0,0,9356,9357,1,0,0,0,9357,9358,5,3,0,0,9358,1141,1,0,0,0,9359,9360,5,2,0,0,9360,9361,3,1156,578,0,9361,9362,5,6,0,0,9362,9363,3,1038,519,0,9363,9364,5,3,0,0,9364,1143,1,0,0,0,9365,9366,7,55,0,0,9366,1145,1,0,0,0,9367,9370,5,29,0,0,9368,9370,3,1148,574,0,9369,9367,1,0,0,0,9369,9368,1,0,0,0,9370,1147,1,0,0,0,9371,9372,7,56,0,0,9372,1149,1,0,0,0,9373,9380,5,29,0,0,9374,9375,5,271,0,0,9375,9376,5,2,0,0,9376,9377,3,610,305,0,9377,9378,5,3,0,0,9378,9380,1,0,0,0,9379,9373,1,0,0,0,9379,9374,1,0,0,0,9380,1151,1,0,0,0,9381,9388,3,1146,573,0,9382,9383,5,271,0,0,9383,9384,5,2,0,0,9384,9385,3,610,305,0,9385,9386,5,3,0,0,9386,9388,1,0,0,0,9387,9381,1,0,0,0,9387,9382,1,0,0,0,9388,1153,1,0,0,0,9389,9402,3,1146,573,0,9390,9391,5,271,0,0,9391,9392,5,2,0,0,9392,9393,3,610,305,0,9393,9394,5,3,0,0,9394,9402,1,0,0,0,9395,9402,5,120,0,0,9396,9397,5,77,0,0,9397,9402,5,120,0,0,9398,9402,5,114,0,0,9399,9400,5,77,0,0,9400,9402,5,114,0,0,9401,9389,1,0,0,0,9401,9390,1,0,0,0,9401,9395,1,0,0,0,9401,9396,1,0,0,0,9401,9398,1,0,0,0,9401,9399,1,0,0,0,9402,1155,1,0,0,0,9403,9408,3,1038,519,0,9404,9405,5,6,0,0,9405,9407,3,1038,519,0,9406,9404,1,0,0,0,9407,9410,1,0,0,0,9408,9406,1,0,0,0,9408,9409,1,0,0,0,9409,1157,1,0,0,0,9410,9408,1,0,0,0,9411,9416,3,1160,580,0,9412,9413,5,6,0,0,9413,9415,3,1160,580,0,9414,9412,1,0,0,0,9415,9418,1,0,0,0,9416,9414,1,0,0,0,9416,9417,1,0,0,0,9417,1159,1,0,0,0,9418,9416,1,0,0,0,9419,9425,3,1038,519,0,9420,9421,3,570,285,0,9421,9422,7,57,0,0,9422,9423,3,1038,519,0,9423,9425,1,0,0,0,9424,9419,1,0,0,0,9424,9420,1,0,0,0,9425,1161,1,0,0,0,9426,9431,3,996,498,0,9427,9428,5,6,0,0,9428,9430,3,996,498,0,9429,9427,1,0,0,0,9430,9433,1,0,0,0,9431,9429,1,0,0,0,9431,9432,1,0,0,0,9432,1163,1,0,0,0,9433,9431,1,0,0,0,9434,9437,5,4,0,0,9435,9438,3,1156,578,0,9436,9438,3,1166,583,0,9437,9435,1,0,0,0,9437,9436,1,0,0,0,9437,9438,1,0,0,0,9438,9439,1,0,0,0,9439,9440,5,5,0,0,9440,1165,1,0,0,0,9441,9446,3,1164,582,0,9442,9443,5,6,0,0,9443,9445,3,1164,582,0,9444,9442,1,0,0,0,9445,9448,1,0,0,0,9446,9444,1,0,0,0,9446,9447,1,0,0,0,9447,1167,1,0,0,0,9448,9446,1,0,0,0,9449,9450,3,1170,585,0,9450,9451,5,64,0,0,9451,9452,3,1038,519,0,9452,9455,1,0,0,0,9453,9455,1,0,0,0,9454,9449,1,0,0,0,9454,9453,1,0,0,0,9455,1169,1,0,0,0,9456,9465,3,1274,637,0,9457,9465,5,377,0,0,9458,9465,5,257,0,0,9459,9465,5,176,0,0,9460,9465,5,218,0,0,9461,9465,5,254,0,0,9462,9465,5,319,0,0,9463,9465,3,1252,626,0,9464,9456,1,0,0,0,9464,9457,1,0,0,0,9464,9458,1,0,0,0,9464,9459,1,0,0,0,9464,9460,1,0,0,0,9464,9461,1,0,0,0,9464,9462,1,0,0,0,9464,9463,1,0,0,0,9465,1171,1,0,0,0,9466,9467,7,58,0,0,9467,1173,1,0,0,0,9468,9469,3,1038,519,0,9469,9470,5,84,0,0,9470,9471,3,1038,519,0,9471,9472,5,64,0,0,9472,9475,3,1038,519,0,9473,9474,5,62,0,0,9474,9476,3,1038,519,0,9475,9473,1,0,0,0,9475,9476,1,0,0,0,9476,1175,1,0,0,0,9477,9478,3,1080,540,0,9478,9479,5,68,0,0,9479,9480,3,1080,540,0,9480,9483,1,0,0,0,9481,9483,1,0,0,0,9482,9477,1,0,0,0,9482,9481,1,0,0,0,9483,1177,1,0,0,0,9484,9485,3,1038,519,0,9485,9486,5,64,0,0,9486,9487,3,1038,519,0,9487,9488,5,62,0,0,9488,9489,3,1038,519,0,9489,9512,1,0,0,0,9490,9491,3,1038,519,0,9491,9492,5,62,0,0,9492,9493,3,1038,519,0,9493,9494,5,64,0,0,9494,9495,3,1038,519,0,9495,9512,1,0,0,0,9496,9497,3,1038,519,0,9497,9498,5,64,0,0,9498,9499,3,1038,519,0,9499,9512,1,0,0,0,9500,9501,3,1038,519,0,9501,9502,5,62,0,0,9502,9503,3,1038,519,0,9503,9512,1,0,0,0,9504,9505,3,1038,519,0,9505,9506,5,127,0,0,9506,9507,3,1038,519,0,9507,9508,5,197,0,0,9508,9509,3,1038,519,0,9509,9512,1,0,0,0,9510,9512,3,1156,578,0,9511,9484,1,0,0,0,9511,9490,1,0,0,0,9511,9496,1,0,0,0,9511,9500,1,0,0,0,9511,9504,1,0,0,0,9511,9510,1,0,0,0,9512,1179,1,0,0,0,9513,9514,3,1038,519,0,9514,9515,5,64,0,0,9515,9516,3,1156,578,0,9516,9521,1,0,0,0,9517,9518,5,64,0,0,9518,9521,3,1156,578,0,9519,9521,3,1156,578,0,9520,9513,1,0,0,0,9520,9517,1,0,0,0,9520,9519,1,0,0,0,9521,1181,1,0,0,0,9522,9528,3,860,430,0,9523,9524,5,2,0,0,9524,9525,3,1156,578,0,9525,9526,5,3,0,0,9526,9528,1,0,0,0,9527,9522,1,0,0,0,9527,9523,1,0,0,0,9528,1183,1,0,0,0,9529,9530,5,40,0,0,9530,9531,3,1192,596,0,9531,9532,3,1186,593,0,9532,9533,3,1190,595,0,9533,9534,5,454,0,0,9534,1185,1,0,0,0,9535,9537,3,1188,594,0,9536,9535,1,0,0,0,9537,9538,1,0,0,0,9538,9536,1,0,0,0,9538,9539,1,0,0,0,9539,1187,1,0,0,0,9540,9541,5,102,0,0,9541,9542,3,1038,519,0,9542,9543,5,93,0,0,9543,9544,3,1038,519,0,9544,1189,1,0,0,0,9545,9546,5,58,0,0,9546,9549,3,1038,519,0,9547,9549,1,0,0,0,9548,9545,1,0,0,0,9548,9547,1,0,0,0,9549,1191,1,0,0,0,9550,9553,3,1038,519,0,9551,9553,1,0,0,0,9552,9550,1,0,0,0,9552,9551,1,0,0,0,9553,1193,1,0,0,0,9554,9556,3,1264,632,0,9555,9557,3,1198,599,0,9556,9555,1,0,0,0,9556,9557,1,0,0,0,9557,1195,1,0,0,0,9558,9561,5,11,0,0,9559,9562,3,1236,618,0,9560,9562,5,9,0,0,9561,9559,1,0,0,0,9561,9560,1,0,0,0,9562,9576,1,0,0,0,9563,9572,5,4,0,0,9564,9573,3,1038,519,0,9565,9567,3,1038,519,0,9566,9565,1,0,0,0,9566,9567,1,0,0,0,9567,9568,1,0,0,0,9568,9570,5,8,0,0,9569,9571,3,1038,519,0,9570,9569,1,0,0,0,9570,9571,1,0,0,0,9571,9573,1,0,0,0,9572,9564,1,0,0,0,9572,9566,1,0,0,0,9573,9574,1,0,0,0,9574,9576,5,5,0,0,9575,9558,1,0,0,0,9575,9563,1,0,0,0,9576,1197,1,0,0,0,9577,9579,3,1196,598,0,9578,9577,1,0,0,0,9579,9580,1,0,0,0,9580,9578,1,0,0,0,9580,9581,1,0,0,0,9581,1199,1,0,0,0,9582,9584,3,1196,598,0,9583,9582,1,0,0,0,9584,9587,1,0,0,0,9585,9583,1,0,0,0,9585,9586,1,0,0,0,9586,1201,1,0,0,0,9587,9585,1,0,0,0,9588,9591,3,1204,602,0,9589,9591,1,0,0,0,9590,9588,1,0,0,0,9590,9589,1,0,0,0,9591,1203,1,0,0,0,9592,9597,3,1206,603,0,9593,9594,5,6,0,0,9594,9596,3,1206,603,0,9595,9593,1,0,0,0,9596,9599,1,0,0,0,9597,9595,1,0,0,0,9597,9598,1,0,0,0,9598,1205,1,0,0,0,9599,9597,1,0,0,0,9600,9609,5,9,0,0,9601,9606,3,1038,519,0,9602,9603,5,36,0,0,9603,9607,3,1272,636,0,9604,9607,3,1274,637,0,9605,9607,1,0,0,0,9606,9602,1,0,0,0,9606,9604,1,0,0,0,9606,9605,1,0,0,0,9607,9609,1,0,0,0,9608,9600,1,0,0,0,9608,9601,1,0,0,0,9609,1207,1,0,0,0,9610,9615,3,1230,615,0,9611,9612,5,6,0,0,9612,9614,3,1230,615,0,9613,9611,1,0,0,0,9614,9617,1,0,0,0,9615,9613,1,0,0,0,9615,9616,1,0,0,0,9616,1209,1,0,0,0,9617,9615,1,0,0,0,9618,9619,3,1234,617,0,9619,1211,1,0,0,0,9620,9625,3,1210,605,0,9621,9622,5,6,0,0,9622,9624,3,1210,605,0,9623,9621,1,0,0,0,9624,9627,1,0,0,0,9625,9623,1,0,0,0,9625,9626,1,0,0,0,9626,1213,1,0,0,0,9627,9625,1,0,0,0,9628,9629,3,1234,617,0,9629,1215,1,0,0,0,9630,9635,3,1214,607,0,9631,9632,5,6,0,0,9632,9634,3,1214,607,0,9633,9631,1,0,0,0,9634,9637,1,0,0,0,9635,9633,1,0,0,0,9635,9636,1,0,0,0,9636,1217,1,0,0,0,9637,9635,1,0,0,0,9638,9639,3,1230,615,0,9639,1219,1,0,0,0,9640,9645,3,1218,609,0,9641,9642,5,6,0,0,9642,9644,3,1218,609,0,9643,9641,1,0,0,0,9644,9647,1,0,0,0,9645,9643,1,0,0,0,9645,9646,1,0,0,0,9646,1221,1,0,0,0,9647,9645,1,0,0,0,9648,9649,3,1234,617,0,9649,1223,1,0,0,0,9650,9651,3,1234,617,0,9651,1225,1,0,0,0,9652,9653,3,1230,615,0,9653,1227,1,0,0,0,9654,9659,3,1226,613,0,9655,9656,5,6,0,0,9656,9658,3,1226,613,0,9657,9655,1,0,0,0,9658,9661,1,0,0,0,9659,9657,1,0,0,0,9659,9660,1,0,0,0,9660,1229,1,0,0,0,9661,9659,1,0,0,0,9662,9664,3,1264,632,0,9663,9665,3,1198,599,0,9664,9663,1,0,0,0,9664,9665,1,0,0,0,9665,1231,1,0,0,0,9666,9671,3,1234,617,0,9667,9668,5,6,0,0,9668,9670,3,1234,617,0,9669,9667,1,0,0,0,9670,9673,1,0,0,0,9671,9669,1,0,0,0,9671,9672,1,0,0,0,9672,1233,1,0,0,0,9673,9671,1,0,0,0,9674,9675,3,1264,632,0,9675,1235,1,0,0,0,9676,9677,3,1272,636,0,9677,1237,1,0,0,0,9678,9679,3,1252,626,0,9679,1239,1,0,0,0,9680,9688,3,1286,643,0,9681,9688,3,1268,634,0,9682,9683,3,1264,632,0,9683,9684,3,1198,599,0,9684,9688,1,0,0,0,9685,9688,5,119,0,0,9686,9688,5,126,0,0,9687,9680,1,0,0,0,9687,9681,1,0,0,0,9687,9682,1,0,0,0,9687,9685,1,0,0,0,9687,9686,1,0,0,0,9688,1241,1,0,0,0,9689,9722,3,1250,625,0,9690,9722,3,1248,624,0,9691,9722,3,1252,626,0,9692,9722,3,1246,623,0,9693,9722,3,1244,622,0,9694,9702,3,1240,620,0,9695,9703,3,1252,626,0,9696,9697,5,2,0,0,9697,9698,3,1158,579,0,9698,9699,3,890,445,0,9699,9700,5,3,0,0,9700,9701,3,1252,626,0,9701,9703,1,0,0,0,9702,9695,1,0,0,0,9702,9696,1,0,0,0,9703,9722,1,0,0,0,9704,9705,3,1e3,500,0,9705,9706,3,1252,626,0,9706,9722,1,0,0,0,9707,9716,3,1028,514,0,9708,9709,3,1252,626,0,9709,9710,3,1032,516,0,9710,9717,1,0,0,0,9711,9712,5,2,0,0,9712,9713,3,1250,625,0,9713,9714,5,3,0,0,9714,9715,3,1252,626,0,9715,9717,1,0,0,0,9716,9708,1,0,0,0,9716,9711,1,0,0,0,9717,9722,1,0,0,0,9718,9722,5,96,0,0,9719,9722,5,60,0,0,9720,9722,5,78,0,0,9721,9689,1,0,0,0,9721,9690,1,0,0,0,9721,9691,1,0,0,0,9721,9692,1,0,0,0,9721,9693,1,0,0,0,9721,9694,1,0,0,0,9721,9704,1,0,0,0,9721,9707,1,0,0,0,9721,9718,1,0,0,0,9721,9719,1,0,0,0,9721,9720,1,0,0,0,9722,1243,1,0,0,0,9723,9724,5,654,0,0,9724,1245,1,0,0,0,9725,9726,5,650,0,0,9726,1247,1,0,0,0,9727,9728,5,660,0,0,9728,1249,1,0,0,0,9729,9730,5,658,0,0,9730,1251,1,0,0,0,9731,9732,3,1254,627,0,9732,9733,3,1256,628,0,9733,1253,1,0,0,0,9734,9746,5,645,0,0,9735,9746,5,647,0,0,9736,9740,5,649,0,0,9737,9739,5,677,0,0,9738,9737,1,0,0,0,9739,9742,1,0,0,0,9740,9738,1,0,0,0,9740,9741,1,0,0,0,9741,9743,1,0,0,0,9742,9740,1,0,0,0,9743,9746,5,678,0,0,9744,9746,5,671,0,0,9745,9734,1,0,0,0,9745,9735,1,0,0,0,9745,9736,1,0,0,0,9745,9744,1,0,0,0,9746,1255,1,0,0,0,9747,9748,5,487,0,0,9748,9751,3,1254,627,0,9749,9751,1,0,0,0,9750,9747,1,0,0,0,9750,9749,1,0,0,0,9751,1257,1,0,0,0,9752,9758,3,1250,625,0,9753,9754,5,12,0,0,9754,9758,3,1250,625,0,9755,9756,5,13,0,0,9756,9758,3,1250,625,0,9757,9752,1,0,0,0,9757,9753,1,0,0,0,9757,9755,1,0,0,0,9758,1259,1,0,0,0,9759,9763,3,1270,635,0,9760,9763,5,52,0,0,9761,9763,5,89,0,0,9762,9759,1,0,0,0,9762,9760,1,0,0,0,9762,9761,1,0,0,0,9763,1261,1,0,0,0,9764,9769,3,1260,630,0,9765,9766,5,6,0,0,9766,9768,3,1260,630,0,9767,9765,1,0,0,0,9768,9771,1,0,0,0,9769,9767,1,0,0,0,9769,9770,1,0,0,0,9770,1263,1,0,0,0,9771,9769,1,0,0,0,9772,9779,3,1274,637,0,9773,9779,3,1278,639,0,9774,9779,3,1280,640,0,9775,9779,3,1490,745,0,9776,9779,5,119,0,0,9777,9779,5,126,0,0,9778,9772,1,0,0,0,9778,9773,1,0,0,0,9778,9774,1,0,0,0,9778,9775,1,0,0,0,9778,9776,1,0,0,0,9778,9777,1,0,0,0,9779,1265,1,0,0,0,9780,9785,3,1274,637,0,9781,9785,3,1278,639,0,9782,9785,3,1280,640,0,9783,9785,3,1490,745,0,9784,9780,1,0,0,0,9784,9781,1,0,0,0,9784,9782,1,0,0,0,9784,9783,1,0,0,0,9785,1267,1,0,0,0,9786,9791,3,1274,637,0,9787,9791,3,1278,639,0,9788,9791,3,1490,745,0,9789,9791,3,1282,641,0,9790,9786,1,0,0,0,9790,9787,1,0,0,0,9790,9788,1,0,0,0,9790,9789,1,0,0,0,9791,1269,1,0,0,0,9792,9797,3,1274,637,0,9793,9797,3,1278,639,0,9794,9797,3,1280,640,0,9795,9797,3,1282,641,0,9796,9792,1,0,0,0,9796,9793,1,0,0,0,9796,9794,1,0,0,0,9796,9795,1,0,0,0,9797,1271,1,0,0,0,9798,9805,3,1274,637,0,9799,9805,3,1490,745,0,9800,9805,3,1278,639,0,9801,9805,3,1280,640,0,9802,9805,3,1282,641,0,9803,9805,3,1284,642,0,9804,9798,1,0,0,0,9804,9799,1,0,0,0,9804,9800,1,0,0,0,9804,9801,1,0,0,0,9804,9802,1,0,0,0,9804,9803,1,0,0,0,9805,1273,1,0,0,0,9806,9807,5,636,0,0,9807,9814,3,1256,628,0,9808,9814,5,637,0,0,9809,9814,5,641,0,0,9810,9814,3,1084,542,0,9811,9814,3,1276,638,0,9812,9814,3,1490,745,0,9813,9806,1,0,0,0,9813,9808,1,0,0,0,9813,9809,1,0,0,0,9813,9810,1,0,0,0,9813,9811,1,0,0,0,9813,9812,1,0,0,0,9814,1275,1,0,0,0,9815,9816,5,662,0,0,9816,1277,1,0,0,0,9817,9818,7,59,0,0,9818,1279,1,0,0,0,9819,9872,5,380,0,0,9820,9872,5,381,0,0,9821,9872,3,1010,505,0,9822,9872,5,383,0,0,9823,9872,5,384,0,0,9824,9872,3,1018,509,0,9825,9872,5,386,0,0,9826,9872,5,387,0,0,9827,9872,5,388,0,0,9828,9872,5,389,0,0,9829,9872,5,390,0,0,9830,9872,5,391,0,0,9831,9872,5,392,0,0,9832,9872,5,470,0,0,9833,9872,5,393,0,0,9834,9872,5,394,0,0,9835,9872,5,395,0,0,9836,9872,5,396,0,0,9837,9872,5,397,0,0,9838,9872,5,398,0,0,9839,9872,5,399,0,0,9840,9872,5,400,0,0,9841,9872,5,489,0,0,9842,9872,5,401,0,0,9843,9872,3,1006,503,0,9844,9872,5,453,0,0,9845,9872,5,403,0,0,9846,9872,5,404,0,0,9847,9872,5,405,0,0,9848,9872,5,406,0,0,9849,9872,5,407,0,0,9850,9872,5,408,0,0,9851,9872,5,409,0,0,9852,9872,5,410,0,0,9853,9872,5,411,0,0,9854,9872,5,412,0,0,9855,9872,5,413,0,0,9856,9872,5,414,0,0,9857,9872,5,415,0,0,9858,9872,5,416,0,0,9859,9872,5,417,0,0,9860,9872,5,425,0,0,9861,9872,5,426,0,0,9862,9872,5,427,0,0,9863,9872,5,428,0,0,9864,9872,5,476,0,0,9865,9872,5,429,0,0,9866,9872,5,430,0,0,9867,9872,5,431,0,0,9868,9872,5,432,0,0,9869,9872,5,474,0,0,9870,9872,3,1286,643,0,9871,9819,1,0,0,0,9871,9820,1,0,0,0,9871,9821,1,0,0,0,9871,9822,1,0,0,0,9871,9823,1,0,0,0,9871,9824,1,0,0,0,9871,9825,1,0,0,0,9871,9826,1,0,0,0,9871,9827,1,0,0,0,9871,9828,1,0,0,0,9871,9829,1,0,0,0,9871,9830,1,0,0,0,9871,9831,1,0,0,0,9871,9832,1,0,0,0,9871,9833,1,0,0,0,9871,9834,1,0,0,0,9871,9835,1,0,0,0,9871,9836,1,0,0,0,9871,9837,1,0,0,0,9871,9838,1,0,0,0,9871,9839,1,0,0,0,9871,9840,1,0,0,0,9871,9841,1,0,0,0,9871,9842,1,0,0,0,9871,9843,1,0,0,0,9871,9844,1,0,0,0,9871,9845,1,0,0,0,9871,9846,1,0,0,0,9871,9847,1,0,0,0,9871,9848,1,0,0,0,9871,9849,1,0,0,0,9871,9850,1,0,0,0,9871,9851,1,0,0,0,9871,9852,1,0,0,0,9871,9853,1,0,0,0,9871,9854,1,0,0,0,9871,9855,1,0,0,0,9871,9856,1,0,0,0,9871,9857,1,0,0,0,9871,9858,1,0,0,0,9871,9859,1,0,0,0,9871,9860,1,0,0,0,9871,9861,1,0,0,0,9871,9862,1,0,0,0,9871,9863,1,0,0,0,9871,9864,1,0,0,0,9871,9865,1,0,0,0,9871,9866,1,0,0,0,9871,9867,1,0,0,0,9871,9868,1,0,0,0,9871,9869,1,0,0,0,9871,9870,1,0,0,0,9872,1281,1,0,0,0,9873,9874,7,60,0,0,9874,1283,1,0,0,0,9875,9876,7,61,0,0,9876,1285,1,0,0,0,9877,9878,7,62,0,0,9878,1287,1,0,0,0,9879,9880,3,1290,645,0,9880,9881,3,1300,650,0,9881,9882,3,1298,649,0,9882,1289,1,0,0,0,9883,9885,3,1292,646,0,9884,9883,1,0,0,0,9885,9888,1,0,0,0,9886,9884,1,0,0,0,9886,9887,1,0,0,0,9887,1291,1,0,0,0,9888,9886,1,0,0,0,9889,9890,3,1294,647,0,9890,9891,5,272,0,0,9891,9892,5,490,0,0,9892,9910,1,0,0,0,9893,9894,3,1294,647,0,9894,9895,5,491,0,0,9895,9896,3,1296,648,0,9896,9910,1,0,0,0,9897,9898,3,1294,647,0,9898,9899,5,492,0,0,9899,9900,5,493,0,0,9900,9910,1,0,0,0,9901,9902,3,1294,647,0,9902,9903,5,492,0,0,9903,9904,5,494,0,0,9904,9910,1,0,0,0,9905,9906,3,1294,647,0,9906,9907,5,492,0,0,9907,9908,5,495,0,0,9908,9910,1,0,0,0,9909,9889,1,0,0,0,9909,9893,1,0,0,0,9909,9897,1,0,0,0,9909,9901,1,0,0,0,9909,9905,1,0,0,0,9910,1293,1,0,0,0,9911,9912,5,29,0,0,9912,1295,1,0,0,0,9913,9918,3,1252,626,0,9914,9918,3,1284,642,0,9915,9918,3,1490,745,0,9916,9918,3,1278,639,0,9917,9913,1,0,0,0,9917,9914,1,0,0,0,9917,9915,1,0,0,0,9917,9916,1,0,0,0,9918,1297,1,0,0,0,9919,9922,1,0,0,0,9920,9922,5,7,0,0,9921,9919,1,0,0,0,9921,9920,1,0,0,0,9922,1299,1,0,0,0,9923,9924,3,1302,651,0,9924,9925,5,146,0,0,9925,9926,3,1344,672,0,9926,9927,3,1470,735,0,9927,9928,5,454,0,0,9928,9929,3,1484,742,0,9929,1301,1,0,0,0,9930,9935,3,1480,740,0,9931,9933,3,1304,652,0,9932,9934,3,1306,653,0,9933,9932,1,0,0,0,9933,9934,1,0,0,0,9934,9936,1,0,0,0,9935,9931,1,0,0,0,9935,9936,1,0,0,0,9936,1303,1,0,0,0,9937,9938,5,178,0,0,9938,1305,1,0,0,0,9939,9941,3,1310,655,0,9940,9939,1,0,0,0,9941,9942,1,0,0,0,9942,9940,1,0,0,0,9942,9943,1,0,0,0,9943,1307,1,0,0,0,9944,9945,5,18,0,0,9945,9946,3,1488,744,0,9946,9947,5,19,0,0,9947,1309,1,0,0,0,9948,9952,3,1312,656,0,9949,9952,5,178,0,0,9950,9952,3,1308,654,0,9951,9948,1,0,0,0,9951,9949,1,0,0,0,9951,9950,1,0,0,0,9952,1311,1,0,0,0,9953,9969,3,1328,664,0,9954,9955,5,496,0,0,9955,9956,5,62,0,0,9956,9970,3,1326,663,0,9957,9958,3,1330,665,0,9958,9959,3,1332,666,0,9959,9960,3,1334,667,0,9960,9961,3,1336,668,0,9961,9962,3,1338,669,0,9962,9970,1,0,0,0,9963,9964,3,1314,657,0,9964,9965,5,172,0,0,9965,9966,3,1318,659,0,9966,9967,3,1324,662,0,9967,9968,3,1316,658,0,9968,9970,1,0,0,0,9969,9954,1,0,0,0,9969,9957,1,0,0,0,9969,9963,1,0,0,0,9970,9971,1,0,0,0,9971,9972,5,7,0,0,9972,1313,1,0,0,0,9973,9978,1,0,0,0,9974,9975,5,262,0,0,9975,9978,5,317,0,0,9976,9978,5,317,0,0,9977,9973,1,0,0,0,9977,9974,1,0,0,0,9977,9976,1,0,0,0,9978,1315,1,0,0,0,9979,9980,3,858,429,0,9980,1317,1,0,0,0,9981,9987,1,0,0,0,9982,9983,5,2,0,0,9983,9984,3,1320,660,0,9984,9985,5,3,0,0,9985,9987,1,0,0,0,9986,9981,1,0,0,0,9986,9982,1,0,0,0,9987,1319,1,0,0,0,9988,9993,3,1322,661,0,9989,9990,5,6,0,0,9990,9992,3,1322,661,0,9991,9989,1,0,0,0,9992,9995,1,0,0,0,9993,9991,1,0,0,0,9993,9994,1,0,0,0,9994,1321,1,0,0,0,9995,9993,1,0,0,0,9996,9997,3,1328,664,0,9997,9998,3,1332,666,0,9998,1323,1,0,0,0,9999,1e4,7,63,0,0,1e4,1325,1,0,0,0,10001,10004,5,28,0,0,10002,10004,3,1264,632,0,10003,10001,1,0,0,0,10003,10002,1,0,0,0,10004,1327,1,0,0,0,10005,10006,3,1488,744,0,10006,1329,1,0,0,0,10007,10010,1,0,0,0,10008,10010,5,497,0,0,10009,10007,1,0,0,0,10009,10008,1,0,0,0,10010,1331,1,0,0,0,10011,10012,3,996,498,0,10012,1333,1,0,0,0,10013,10017,1,0,0,0,10014,10015,5,43,0,0,10015,10017,3,470,235,0,10016,10013,1,0,0,0,10016,10014,1,0,0,0,10017,1335,1,0,0,0,10018,10022,1,0,0,0,10019,10020,5,77,0,0,10020,10022,5,78,0,0,10021,10018,1,0,0,0,10021,10019,1,0,0,0,10022,1337,1,0,0,0,10023,10028,1,0,0,0,10024,10025,3,1340,670,0,10025,10026,3,1492,746,0,10026,10028,1,0,0,0,10027,10023,1,0,0,0,10027,10024,1,0,0,0,10028,1339,1,0,0,0,10029,10032,3,1342,671,0,10030,10032,5,53,0,0,10031,10029,1,0,0,0,10031,10030,1,0,0,0,10032,1341,1,0,0,0,10033,10034,7,64,0,0,10034,1343,1,0,0,0,10035,10037,3,1346,673,0,10036,10035,1,0,0,0,10037,10040,1,0,0,0,10038,10036,1,0,0,0,10038,10039,1,0,0,0,10039,1345,1,0,0,0,10040,10038,1,0,0,0,10041,10042,3,1300,650,0,10042,10043,5,7,0,0,10043,10069,1,0,0,0,10044,10069,3,1412,706,0,10045,10069,3,1416,708,0,10046,10069,3,1354,677,0,10047,10069,3,1370,685,0,10048,10069,3,1376,688,0,10049,10069,3,1386,693,0,10050,10069,3,1388,694,0,10051,10069,3,1390,695,0,10052,10069,3,1404,702,0,10053,10069,3,1408,704,0,10054,10069,3,1426,713,0,10055,10069,3,1432,716,0,10056,10069,3,1434,717,0,10057,10069,3,1348,674,0,10058,10069,3,1350,675,0,10059,10069,3,1356,678,0,10060,10069,3,1442,721,0,10061,10069,3,1446,723,0,10062,10069,3,1454,727,0,10063,10069,3,1456,728,0,10064,10069,3,1458,729,0,10065,10069,3,1460,730,0,10066,10069,3,1462,731,0,10067,10069,3,1466,733,0,10068,10041,1,0,0,0,10068,10044,1,0,0,0,10068,10045,1,0,0,0,10068,10046,1,0,0,0,10068,10047,1,0,0,0,10068,10048,1,0,0,0,10068,10049,1,0,0,0,10068,10050,1,0,0,0,10068,10051,1,0,0,0,10068,10052,1,0,0,0,10068,10053,1,0,0,0,10068,10054,1,0,0,0,10068,10055,1,0,0,0,10068,10056,1,0,0,0,10068,10057,1,0,0,0,10068,10058,1,0,0,0,10068,10059,1,0,0,0,10068,10060,1,0,0,0,10068,10061,1,0,0,0,10068,10062,1,0,0,0,10068,10063,1,0,0,0,10068,10064,1,0,0,0,10068,10065,1,0,0,0,10068,10066,1,0,0,0,10068,10067,1,0,0,0,10069,1347,1,0,0,0,10070,10071,5,498,0,0,10071,10072,3,1496,748,0,10072,10073,5,7,0,0,10073,1349,1,0,0,0,10074,10075,5,433,0,0,10075,10076,3,1488,744,0,10076,10077,5,2,0,0,10077,10078,3,1352,676,0,10078,10079,5,3,0,0,10079,10080,5,7,0,0,10080,10089,1,0,0,0,10081,10082,5,57,0,0,10082,10083,3,1488,744,0,10083,10084,5,2,0,0,10084,10085,3,1352,676,0,10085,10086,5,3,0,0,10086,10087,5,7,0,0,10087,10089,1,0,0,0,10088,10074,1,0,0,0,10088,10081,1,0,0,0,10089,1351,1,0,0,0,10090,10093,1,0,0,0,10091,10093,3,1156,578,0,10092,10090,1,0,0,0,10092,10091,1,0,0,0,10093,1353,1,0,0,0,10094,10095,3,1368,684,0,10095,10096,3,1342,671,0,10096,10097,3,1492,746,0,10097,10098,5,7,0,0,10098,1355,1,0,0,0,10099,10100,5,499,0,0,10100,10101,3,1358,679,0,10101,10102,5,500,0,0,10102,10103,3,1360,680,0,10103,10104,5,7,0,0,10104,1357,1,0,0,0,10105,10109,1,0,0,0,10106,10109,5,434,0,0,10107,10109,5,501,0,0,10108,10105,1,0,0,0,10108,10106,1,0,0,0,10108,10107,1,0,0,0,10109,1359,1,0,0,0,10110,10115,3,1362,681,0,10111,10112,5,6,0,0,10112,10114,3,1362,681,0,10113,10111,1,0,0,0,10114,10117,1,0,0,0,10115,10113,1,0,0,0,10115,10116,1,0,0,0,10116,1361,1,0,0,0,10117,10115,1,0,0,0,10118,10119,3,1366,683,0,10119,10120,3,1342,671,0,10120,10121,3,1364,682,0,10121,1363,1,0,0,0,10122,10123,3,1264,632,0,10123,1365,1,0,0,0,10124,10125,3,1368,684,0,10125,1367,1,0,0,0,10126,10129,3,470,235,0,10127,10129,5,28,0,0,10128,10126,1,0,0,0,10128,10127,1,0,0,0,10129,10136,1,0,0,0,10130,10131,5,4,0,0,10131,10132,3,1498,749,0,10132,10133,5,5,0,0,10133,10135,1,0,0,0,10134,10130,1,0,0,0,10135,10138,1,0,0,0,10136,10134,1,0,0,0,10136,10137,1,0,0,0,10137,1369,1,0,0,0,10138,10136,1,0,0,0,10139,10140,5,220,0,0,10140,10141,3,1494,747,0,10141,10142,5,93,0,0,10142,10143,3,1344,672,0,10143,10144,3,1372,686,0,10144,10145,3,1374,687,0,10145,10146,5,454,0,0,10146,10147,5,220,0,0,10147,10148,5,7,0,0,10148,1371,1,0,0,0,10149,10150,5,502,0,0,10150,10151,3,1038,519,0,10151,10152,5,93,0,0,10152,10153,3,1344,672,0,10153,10155,1,0,0,0,10154,10149,1,0,0,0,10155,10158,1,0,0,0,10156,10154,1,0,0,0,10156,10157,1,0,0,0,10157,1373,1,0,0,0,10158,10156,1,0,0,0,10159,10163,1,0,0,0,10160,10161,5,58,0,0,10161,10163,3,1344,672,0,10162,10159,1,0,0,0,10162,10160,1,0,0,0,10163,1375,1,0,0,0,10164,10165,5,40,0,0,10165,10166,3,1378,689,0,10166,10167,3,1380,690,0,10167,10168,3,1384,692,0,10168,10169,5,454,0,0,10169,10170,5,40,0,0,10170,10171,5,7,0,0,10171,1377,1,0,0,0,10172,10175,1,0,0,0,10173,10175,3,1492,746,0,10174,10172,1,0,0,0,10174,10173,1,0,0,0,10175,1379,1,0,0,0,10176,10178,3,1382,691,0,10177,10176,1,0,0,0,10178,10179,1,0,0,0,10179,10177,1,0,0,0,10179,10180,1,0,0,0,10180,1381,1,0,0,0,10181,10182,5,102,0,0,10182,10183,3,1156,578,0,10183,10184,5,93,0,0,10184,10185,3,1344,672,0,10185,1383,1,0,0,0,10186,10190,1,0,0,0,10187,10188,5,58,0,0,10188,10190,3,1344,672,0,10189,10186,1,0,0,0,10189,10187,1,0,0,0,10190,1385,1,0,0,0,10191,10192,3,1482,741,0,10192,10193,3,1430,715,0,10193,1387,1,0,0,0,10194,10195,3,1482,741,0,10195,10196,5,503,0,0,10196,10197,3,1500,750,0,10197,10198,3,1430,715,0,10198,1389,1,0,0,0,10199,10200,3,1482,741,0,10200,10201,5,62,0,0,10201,10202,3,1392,696,0,10202,10203,3,1430,715,0,10203,1391,1,0,0,0,10204,10205,3,1402,701,0,10205,10221,5,68,0,0,10206,10207,3,854,427,0,10207,10208,3,1396,698,0,10208,10222,1,0,0,0,10209,10222,3,858,429,0,10210,10222,3,782,391,0,10211,10212,5,202,0,0,10212,10213,3,1038,519,0,10213,10214,3,1394,697,0,10214,10222,1,0,0,0,10215,10216,3,1398,699,0,10216,10217,3,1038,519,0,10217,10218,5,24,0,0,10218,10219,3,1038,519,0,10219,10220,3,1400,700,0,10220,10222,1,0,0,0,10221,10206,1,0,0,0,10221,10209,1,0,0,0,10221,10210,1,0,0,0,10221,10211,1,0,0,0,10221,10215,1,0,0,0,10222,1393,1,0,0,0,10223,10227,1,0,0,0,10224,10225,5,100,0,0,10225,10227,3,1156,578,0,10226,10223,1,0,0,0,10226,10224,1,0,0,0,10227,1395,1,0,0,0,10228,10241,1,0,0,0,10229,10230,5,2,0,0,10230,10235,3,1038,519,0,10231,10232,5,6,0,0,10232,10234,3,1038,519,0,10233,10231,1,0,0,0,10234,10237,1,0,0,0,10235,10233,1,0,0,0,10235,10236,1,0,0,0,10236,10238,1,0,0,0,10237,10235,1,0,0,0,10238,10239,5,3,0,0,10239,10241,1,0,0,0,10240,10228,1,0,0,0,10240,10229,1,0,0,0,10241,1397,1,0,0,0,10242,10245,1,0,0,0,10243,10245,5,504,0,0,10244,10242,1,0,0,0,10244,10243,1,0,0,0,10245,1399,1,0,0,0,10246,10250,1,0,0,0,10247,10248,5,147,0,0,10248,10250,3,1038,519,0,10249,10246,1,0,0,0,10249,10247,1,0,0,0,10250,1401,1,0,0,0,10251,10252,3,468,234,0,10252,1403,1,0,0,0,10253,10254,3,1482,741,0,10254,10255,5,505,0,0,10255,10256,3,1402,701,0,10256,10257,3,1406,703,0,10257,10258,5,68,0,0,10258,10259,5,35,0,0,10259,10260,3,1038,519,0,10260,10261,3,1430,715,0,10261,1405,1,0,0,0,10262,10266,1,0,0,0,10263,10264,5,506,0,0,10264,10266,3,1250,625,0,10265,10262,1,0,0,0,10265,10263,1,0,0,0,10266,1407,1,0,0,0,10267,10268,3,1410,705,0,10268,10269,3,1484,742,0,10269,10270,3,1486,743,0,10270,10271,5,7,0,0,10271,1409,1,0,0,0,10272,10273,7,65,0,0,10273,1411,1,0,0,0,10274,10286,5,508,0,0,10275,10276,5,261,0,0,10276,10287,3,1492,746,0,10277,10283,5,509,0,0,10278,10279,5,202,0,0,10279,10280,3,1038,519,0,10280,10281,3,1394,697,0,10281,10284,1,0,0,0,10282,10284,3,858,429,0,10283,10278,1,0,0,0,10283,10282,1,0,0,0,10284,10287,1,0,0,0,10285,10287,3,1414,707,0,10286,10275,1,0,0,0,10286,10277,1,0,0,0,10286,10285,1,0,0,0,10287,10288,1,0,0,0,10288,10289,5,7,0,0,10289,1413,1,0,0,0,10290,10293,1,0,0,0,10291,10293,3,1492,746,0,10292,10290,1,0,0,0,10292,10291,1,0,0,0,10293,1415,1,0,0,0,10294,10295,5,510,0,0,10295,10296,3,1418,709,0,10296,10297,3,1252,626,0,10297,10298,3,1420,710,0,10298,10299,3,1422,711,0,10299,10300,5,7,0,0,10300,10321,1,0,0,0,10301,10302,5,510,0,0,10302,10303,3,1418,709,0,10303,10304,3,1274,637,0,10304,10305,3,1422,711,0,10305,10306,5,7,0,0,10306,10321,1,0,0,0,10307,10308,5,510,0,0,10308,10309,3,1418,709,0,10309,10310,5,511,0,0,10310,10311,3,1252,626,0,10311,10312,3,1422,711,0,10312,10313,5,7,0,0,10313,10321,1,0,0,0,10314,10315,5,510,0,0,10315,10316,3,1418,709,0,10316,10317,3,1422,711,0,10317,10318,5,7,0,0,10318,10321,1,0,0,0,10319,10321,5,510,0,0,10320,10294,1,0,0,0,10320,10301,1,0,0,0,10320,10307,1,0,0,0,10320,10314,1,0,0,0,10320,10319,1,0,0,0,10321,1417,1,0,0,0,10322,10331,1,0,0,0,10323,10331,1,0,0,0,10324,10331,5,512,0,0,10325,10331,5,513,0,0,10326,10331,5,514,0,0,10327,10331,5,515,0,0,10328,10331,5,516,0,0,10329,10331,5,517,0,0,10330,10322,1,0,0,0,10330,10323,1,0,0,0,10330,10324,1,0,0,0,10330,10325,1,0,0,0,10330,10326,1,0,0,0,10330,10327,1,0,0,0,10330,10328,1,0,0,0,10330,10329,1,0,0,0,10331,1419,1,0,0,0,10332,10340,1,0,0,0,10333,10334,5,6,0,0,10334,10336,3,1038,519,0,10335,10333,1,0,0,0,10336,10337,1,0,0,0,10337,10335,1,0,0,0,10337,10338,1,0,0,0,10338,10340,1,0,0,0,10339,10332,1,0,0,0,10339,10335,1,0,0,0,10340,1421,1,0,0,0,10341,10352,1,0,0,0,10342,10343,5,100,0,0,10343,10348,3,1424,712,0,10344,10345,5,6,0,0,10345,10347,3,1424,712,0,10346,10344,1,0,0,0,10347,10350,1,0,0,0,10348,10346,1,0,0,0,10348,10349,1,0,0,0,10349,10352,1,0,0,0,10350,10348,1,0,0,0,10351,10341,1,0,0,0,10351,10342,1,0,0,0,10352,1423,1,0,0,0,10353,10354,3,1274,637,0,10354,10355,5,10,0,0,10355,10356,3,1038,519,0,10356,1425,1,0,0,0,10357,10358,5,518,0,0,10358,10359,3,1492,746,0,10359,10360,3,1428,714,0,10360,10361,5,7,0,0,10361,1427,1,0,0,0,10362,10366,1,0,0,0,10363,10364,5,6,0,0,10364,10366,3,1492,746,0,10365,10362,1,0,0,0,10365,10363,1,0,0,0,10366,1429,1,0,0,0,10367,10368,5,519,0,0,10368,10369,3,1344,672,0,10369,10370,5,454,0,0,10370,10371,5,519,0,0,10371,10372,3,1484,742,0,10372,10373,5,7,0,0,10373,1431,1,0,0,0,10374,10375,3,1502,751,0,10375,10376,5,7,0,0,10376,1433,1,0,0,0,10377,10378,5,202,0,0,10378,10386,3,1038,519,0,10379,10380,3,1440,720,0,10380,10381,3,1436,718,0,10381,10387,1,0,0,0,10382,10383,3,1436,718,0,10383,10384,3,1440,720,0,10384,10387,1,0,0,0,10385,10387,1,0,0,0,10386,10379,1,0,0,0,10386,10382,1,0,0,0,10386,10385,1,0,0,0,10387,10388,1,0,0,0,10388,10389,5,7,0,0,10389,1435,1,0,0,0,10390,10394,1,0,0,0,10391,10392,5,100,0,0,10392,10394,3,1438,719,0,10393,10390,1,0,0,0,10393,10391,1,0,0,0,10394,1437,1,0,0,0,10395,10400,3,1038,519,0,10396,10397,5,6,0,0,10397,10399,3,1038,519,0,10398,10396,1,0,0,0,10399,10402,1,0,0,0,10400,10398,1,0,0,0,10400,10401,1,0,0,0,10401,1439,1,0,0,0,10402,10400,1,0,0,0,10403,10410,1,0,0,0,10404,10406,5,71,0,0,10405,10407,5,339,0,0,10406,10405,1,0,0,0,10406,10407,1,0,0,0,10407,10408,1,0,0,0,10408,10410,3,1448,724,0,10409,10403,1,0,0,0,10409,10404,1,0,0,0,10410,1441,1,0,0,0,10411,10440,5,520,0,0,10412,10414,3,1468,734,0,10413,10415,5,262,0,0,10414,10413,1,0,0,0,10414,10415,1,0,0,0,10415,10416,1,0,0,0,10416,10417,5,317,0,0,10417,10424,5,62,0,0,10418,10425,3,858,429,0,10419,10420,5,202,0,0,10420,10421,3,1492,746,0,10421,10422,5,100,0,0,10422,10423,3,1156,578,0,10423,10425,1,0,0,0,10424,10418,1,0,0,0,10424,10419,1,0,0,0,10425,10441,1,0,0,0,10426,10438,3,1264,632,0,10427,10428,5,2,0,0,10428,10433,3,1444,722,0,10429,10430,5,6,0,0,10430,10432,3,1444,722,0,10431,10429,1,0,0,0,10432,10435,1,0,0,0,10433,10431,1,0,0,0,10433,10434,1,0,0,0,10434,10436,1,0,0,0,10435,10433,1,0,0,0,10436,10437,5,3,0,0,10437,10439,1,0,0,0,10438,10427,1,0,0,0,10438,10439,1,0,0,0,10439,10441,1,0,0,0,10440,10412,1,0,0,0,10440,10426,1,0,0,0,10441,10442,1,0,0,0,10442,10443,5,7,0,0,10443,1443,1,0,0,0,10444,10445,3,1264,632,0,10445,10446,5,20,0,0,10446,10447,3,1038,519,0,10447,10450,1,0,0,0,10448,10450,3,1038,519,0,10449,10444,1,0,0,0,10449,10448,1,0,0,0,10450,1445,1,0,0,0,10451,10452,5,61,0,0,10452,10453,3,1452,726,0,10453,10454,3,1450,725,0,10454,10455,3,1468,734,0,10455,10456,5,71,0,0,10456,10457,3,1448,724,0,10457,10458,5,7,0,0,10458,1447,1,0,0,0,10459,10460,3,1156,578,0,10460,1449,1,0,0,0,10461,10465,1,0,0,0,10462,10465,5,64,0,0,10463,10465,5,68,0,0,10464,10461,1,0,0,0,10464,10462,1,0,0,0,10464,10463,1,0,0,0,10465,1451,1,0,0,0,10466,10484,1,0,0,0,10467,10484,1,0,0,0,10468,10484,5,261,0,0,10469,10484,5,286,0,0,10470,10484,5,207,0,0,10471,10484,5,240,0,0,10472,10473,5,130,0,0,10473,10484,3,1038,519,0,10474,10475,5,300,0,0,10475,10484,3,1038,519,0,10476,10484,3,1038,519,0,10477,10484,5,30,0,0,10478,10481,7,66,0,0,10479,10482,3,1038,519,0,10480,10482,5,30,0,0,10481,10479,1,0,0,0,10481,10480,1,0,0,0,10481,10482,1,0,0,0,10482,10484,1,0,0,0,10483,10466,1,0,0,0,10483,10467,1,0,0,0,10483,10468,1,0,0,0,10483,10469,1,0,0,0,10483,10470,1,0,0,0,10483,10471,1,0,0,0,10483,10472,1,0,0,0,10483,10474,1,0,0,0,10483,10476,1,0,0,0,10483,10477,1,0,0,0,10483,10478,1,0,0,0,10484,1453,1,0,0,0,10485,10486,5,258,0,0,10486,10487,3,1452,726,0,10487,10488,3,1468,734,0,10488,10489,5,7,0,0,10489,1455,1,0,0,0,10490,10491,5,157,0,0,10491,10492,3,1468,734,0,10492,10493,5,7,0,0,10493,1457,1,0,0,0,10494,10495,5,78,0,0,10495,10496,5,7,0,0,10496,1459,1,0,0,0,10497,10498,5,161,0,0,10498,10499,3,1464,732,0,10499,10500,5,7,0,0,10500,1461,1,0,0,0,10501,10502,5,312,0,0,10502,10503,3,1464,732,0,10503,10504,5,7,0,0,10504,1463,1,0,0,0,10505,10507,5,33,0,0,10506,10508,5,262,0,0,10507,10506,1,0,0,0,10507,10508,1,0,0,0,10508,10509,1,0,0,0,10509,10512,5,153,0,0,10510,10512,1,0,0,0,10511,10505,1,0,0,0,10511,10510,1,0,0,0,10512,1465,1,0,0,0,10513,10514,5,326,0,0,10514,10515,3,470,235,0,10515,10516,5,94,0,0,10516,10517,5,53,0,0,10517,10518,5,7,0,0,10518,10526,1,0,0,0,10519,10522,5,306,0,0,10520,10523,3,470,235,0,10521,10523,5,30,0,0,10522,10520,1,0,0,0,10522,10521,1,0,0,0,10523,10524,1,0,0,0,10524,10526,5,7,0,0,10525,10513,1,0,0,0,10525,10519,1,0,0,0,10526,1467,1,0,0,0,10527,10530,3,1264,632,0,10528,10530,5,28,0,0,10529,10527,1,0,0,0,10529,10528,1,0,0,0,10530,1469,1,0,0,0,10531,10535,1,0,0,0,10532,10533,5,517,0,0,10533,10535,3,1472,736,0,10534,10531,1,0,0,0,10534,10532,1,0,0,0,10535,1471,1,0,0,0,10536,10538,3,1474,737,0,10537,10536,1,0,0,0,10538,10539,1,0,0,0,10539,10537,1,0,0,0,10539,10540,1,0,0,0,10540,1473,1,0,0,0,10541,10542,5,102,0,0,10542,10543,3,1476,738,0,10543,10544,5,93,0,0,10544,10545,3,1344,672,0,10545,1475,1,0,0,0,10546,10551,3,1478,739,0,10547,10548,5,82,0,0,10548,10550,3,1478,739,0,10549,10547,1,0,0,0,10550,10553,1,0,0,0,10551,10549,1,0,0,0,10551,10552,1,0,0,0,10552,1477,1,0,0,0,10553,10551,1,0,0,0,10554,10558,3,1488,744,0,10555,10556,5,511,0,0,10556,10558,3,1252,626,0,10557,10554,1,0,0,0,10557,10555,1,0,0,0,10558,1479,1,0,0,0,10559,10562,1,0,0,0,10560,10562,3,1308,654,0,10561,10559,1,0,0,0,10561,10560,1,0,0,0,10562,1481,1,0,0,0,10563,10566,1,0,0,0,10564,10566,3,1308,654,0,10565,10563,1,0,0,0,10565,10564,1,0,0,0,10566,1483,1,0,0,0,10567,10570,1,0,0,0,10568,10570,3,1488,744,0,10569,10567,1,0,0,0,10569,10568,1,0,0,0,10570,1485,1,0,0,0,10571,10572,5,102,0,0,10572,10575,3,1496,748,0,10573,10575,1,0,0,0,10574,10571,1,0,0,0,10574,10573,1,0,0,0,10575,1487,1,0,0,0,10576,10579,3,1264,632,0,10577,10579,3,1490,745,0,10578,10576,1,0,0,0,10578,10577,1,0,0,0,10579,1489,1,0,0,0,10580,10581,7,67,0,0,10581,1491,1,0,0,0,10582,10584,3,1202,601,0,10583,10585,3,878,439,0,10584,10583,1,0,0,0,10584,10585,1,0,0,0,10585,10586,1,0,0,0,10586,10587,3,936,468,0,10587,10588,3,974,487,0,10588,10589,3,918,459,0,10589,10590,3,924,462,0,10590,10591,3,1116,558,0,10591,1493,1,0,0,0,10592,10593,3,1492,746,0,10593,1495,1,0,0,0,10594,10595,3,1492,746,0,10595,1497,1,0,0,0,10596,10597,3,1038,519,0,10597,1499,1,0,0,0,10598,10599,3,1038,519,0,10599,1501,1,0,0,0,10600,10601,3,6,3,0,10601,10602,3,1504,752,0,10602,1503,1,0,0,0,10603,10605,5,71,0,0,10604,10606,5,339,0,0,10605,10604,1,0,0,0,10605,10606,1,0,0,0,10606,10607,1,0,0,0,10607,10610,3,1448,724,0,10608,10610,1,0,0,0,10609,10603,1,0,0,0,10609,10608,1,0,0,0,10610,1505,1,0,0,0,10611,10612,7,68,0,0,10612,1507,1,0,0,0,792,1509,1517,1523,1647,1651,1658,1663,1669,1675,1691,1699,1704,1722,1727,1737,1748,1755,1761,1766,1775,1779,1791,1823,1830,1838,1843,1850,1856,1873,1878,1882,1895,1899,1904,1909,1921,1930,1943,1948,1959,1970,1975,1986,1997,2007,2022,2034,2039,2046,2057,2208,2217,2237,2304,2311,2316,2321,2326,2334,2343,2350,2360,2362,2367,2373,2379,2381,2409,2419,2432,2444,2458,2463,2467,2473,2487,2493,2500,2505,2512,2549,2552,2557,2564,2579,2585,2593,2626,2636,2640,2647,2654,2662,2668,2672,2682,2689,2700,2720,2734,2742,2747,2754,2764,2774,2794,2809,2834,2841,2848,2859,2864,2871,2882,2890,2901,2917,2925,2929,2943,2960,2965,2972,2981,2984,2989,2996,3007,3020,3033,3051,3054,3058,3065,3082,3093,3097,3103,3113,3118,3127,3149,3151,3159,3166,3172,3181,3183,3187,3192,3198,3202,3215,3221,3230,3237,3247,3256,3401,3409,3421,3426,3434,3445,3453,3460,3473,3483,3497,3513,3521,3526,3531,3539,3541,3599,3616,3624,3647,3651,3671,3708,3717,3722,3727,3732,3785,3791,3798,3808,3813,3818,3833,3837,3847,3853,3859,3866,3871,3876,3890,3918,3925,3939,3954,4006,4073,4081,4089,4097,4105,4119,4159,4165,4172,4188,4196,4203,4218,4223,4232,4259,4266,4281,4301,4321,4340,4349,4358,4367,4376,4385,4396,4441,4464,4469,4484,4493,4498,4504,4511,4525,4624,4711,4715,4853,4858,4862,4868,4936,4942,4971,4988,4995,5007,5047,5054,5060,5066,5092,5098,5104,5112,5124,5153,5159,5163,5166,5181,5185,5202,5207,5214,5228,5241,5250,5256,5261,5265,5270,5277,5285,5295,5297,5304,5311,5319,5325,5332,5334,5341,5347,5351,5357,5362,5366,5371,5377,5383,5389,5395,5408,5417,5428,5434,5473,5483,5490,5501,5507,5517,5526,5529,5567,5581,5595,5619,5626,5636,5648,5653,5689,5696,5711,5758,5774,5778,5787,5791,5799,5803,5811,5815,5823,5827,5830,5839,5856,6028,6073,6164,6295,6299,6304,6310,6321,6332,6345,6357,6368,6375,6523,6589,6604,6615,6622,6815,6825,6833,6862,6878,6920,6934,6956,6963,6971,6975,6982,6991,7e3,7009,7014,7055,7060,7072,7076,7081,7086,7090,7095,7111,7119,7124,7138,7141,7145,7150,7160,7171,7182,7192,7197,7235,7243,7247,7328,7332,7356,7361,7365,7368,7372,7382,7394,7401,7411,7416,7420,7427,7437,7441,7460,7466,7477,7484,7489,7502,7508,7537,7544,7556,7559,7571,7586,7592,7601,7617,7620,7631,7636,7640,7644,7649,7652,7658,7662,7664,7667,7674,7677,7684,7692,7695,7704,7709,7721,7734,7745,7748,7752,7758,7761,7776,7789,7796,7808,7810,7825,7829,7839,7848,7850,7860,7862,7864,7873,7883,7888,7893,7898,7901,7915,7919,7926,7941,7945,7949,7952,7965,7969,7974,7982,7988,7999,8006,8012,8016,8018,8022,8028,8037,8043,8045,8047,8054,8058,8067,8071,8081,8088,8110,8115,8120,8125,8134,8138,8141,8146,8159,8165,8173,8176,8183,8188,8209,8218,8223,8229,8234,8241,8246,8252,8254,8258,8265,8269,8272,8279,8284,8287,8294,8298,8307,8313,8321,8323,8330,8335,8338,8361,8367,8378,8383,8388,8395,8398,8402,8409,8426,8442,8445,8452,8456,8461,8471,8478,8487,8490,8495,8500,8508,8510,8516,8529,8531,8537,8543,8546,8555,8573,8580,8584,8588,8604,8611,8619,8623,8630,8643,8659,8665,8671,8678,8683,8689,8696,8704,8712,8717,8721,8727,8731,8735,8738,8744,8749,8765,8768,8770,8782,8784,8788,8794,8799,8807,8811,8820,8828,8834,8837,8846,8851,8858,8868,8894,8905,8907,8909,8917,8940,8948,8958,8972,8982,8986,9e3,9007,9014,9021,9046,9075,9114,9116,9144,9165,9172,9185,9197,9203,9212,9229,9241,9250,9255,9262,9272,9275,9286,9292,9307,9315,9324,9333,9336,9341,9350,9355,9369,9379,9387,9401,9408,9416,9424,9431,9437,9446,9454,9464,9475,9482,9511,9520,9527,9538,9548,9552,9556,9561,9566,9570,9572,9575,9580,9585,9590,9597,9606,9608,9615,9625,9635,9645,9659,9664,9671,9687,9702,9716,9721,9740,9745,9750,9757,9762,9769,9778,9784,9790,9796,9804,9813,9871,9886,9909,9917,9921,9933,9935,9942,9951,9969,9977,9986,9993,10003,10009,10016,10021,10027,10031,10038,10068,10088,10092,10108,10115,10128,10136,10156,10162,10174,10179,10189,10221,10226,10235,10240,10244,10249,10265,10283,10286,10292,10320,10330,10337,10339,10348,10351,10365,10386,10393,10400,10406,10409,10414,10424,10433,10438,10440,10449,10464,10481,10483,10507,10511,10522,10525,10529,10534,10539,10551,10557,10561,10565,10569,10574,10578,10584,10605,10609],Xi.vocabulary=new Ra(Xi.literalNames,Xi.symbolicNames,[]),Xi.decisionsToDFA=Xi._ATN.decisionToState.map(((t,e)=>new ni(t,e))),Xi),nn=class extends ga{constructor(t,e){super(t,e)}EOF(){return this.getToken(cn.EOF,0)}statements(){return this.getRuleContext(0,En)}get ruleIndex(){return cn.RULE_root}accept(t){return t.visitRoot?t.visitRoot(this):t.visitChildren(this)}},hn=class extends ga{constructor(t,e){super(t,e)}plsqlFunction(){return this.getRuleContext(0,oN)}get ruleIndex(){return cn.RULE_plsqlRoot}accept(t){return t.visitPlsqlRoot?t.visitPlsqlRoot(this):t.visitChildren(this)}},En=class t extends ga{constructor(t,e){super(t,e)}statement(){return this.getRuleContext(0,Tn)}SEMI(){return this.getToken(cn.SEMI,0)}statements(){return this.getRuleContext(0,t)}get ruleIndex(){return cn.RULE_statements}accept(t){return t.visitStatements?t.visitStatements(this):t.visitChildren(this)}},Tn=class extends ga{constructor(t,e){super(t,e)}alterEventTriggerStatement(){return this.getRuleContext(0,ZT)}alterCollationStatement(){return this.getRuleContext(0,$A)}alterDatabaseStatement(){return this.getRuleContext(0,qA)}alterDatabaseSetStatement(){return this.getRuleContext(0,jA)}alterDefaultPrivilegesStatement(){return this.getRuleContext(0,tR)}alterDomainStatement(){return this.getRuleContext(0,sS)}alterEnumStatement(){return this.getRuleContext(0,io)}alterExtensionStatement(){return this.getRuleContext(0,WE)}alterExtensionContentsStatement(){return this.getRuleContext(0,XE)}alterForeignDataWrapperStatement(){return this.getRuleContext(0,ZE)}alterForeignServerStatement(){return this.getRuleContext(0,nT)}alterFunctionStatement(){return this.getRuleContext(0,yR)}alterObjectDependsStatement(){return this.getRuleContext(0,TA)}alterObjectSchemaStatement(){return this.getRuleContext(0,oA)}alterOwnerStatement(){return this.getRuleContext(0,IA)}alterOperatorStatement(){return this.getRuleContext(0,RA)}alterTypeStatement(){return this.getRuleContext(0,OA)}alterPolicyStatement(){return this.getRuleContext(0,IT)}alterSequenceStatement(){return this.getRuleContext(0,mE)}alterSystemStatement(){return this.getRuleContext(0,tS)}alterTableStatement(){return this.getRuleContext(0,jn)}alterTablespaceStatement(){return this.getRuleContext(0,cA)}alterCompositeTypeStatement(){return this.getRuleContext(0,Oh)}alterPublicationStatement(){return this.getRuleContext(0,CA)}alterRoleSetStatement(){return this.getRuleContext(0,Cn)}alterRoleStatement(){return this.getRuleContext(0,Nn)}alterSubscriptionStatement(){return this.getRuleContext(0,dA)}alterStatsStatement(){return this.getRuleContext(0,NE)}altertsConfigurationStatement(){return this.getRuleContext(0,cS)}altertsDictionaryStatement(){return this.getRuleContext(0,iS)}alterUserMappingStatement(){return this.getRuleContext(0,lT)}analyzeStatement(){return this.getRuleContext(0,oS)}callStatement(){return this.getRuleContext(0,Rn)}checkpointStatement(){return this.getRuleContext(0,Zn)}closePortalStatement(){return this.getRuleContext(0,Nh)}clusterStatement(){return this.getRuleContext(0,hS)}commentStatement(){return this.getRuleContext(0,ko)}setConstraintsStatement(){return this.getRuleContext(0,Kn)}copyStatement(){return this.getRuleContext(0,Lh)}createAccessMethodStatement(){return this.getRuleContext(0,MT)}createAsStatement(){return this.getRuleContext(0,LE)}createAssertionStatement(){return this.getRuleContext(0,jT)}createCastStatement(){return this.getRuleContext(0,ZR)}createConversionStatement(){return this.getRuleContext(0,nS)}createDomainStatement(){return this.getRuleContext(0,eS)}createExtensionStatement(){return this.getRuleContext(0,wE)}createForeignDataWrapperStatement(){return this.getRuleContext(0,KE)}createForeignServerStatement(){return this.getRuleContext(0,rT)}createForeignTableStatement(){return this.getRuleContext(0,hT)}createFunctionStatement(){return this.getRuleContext(0,SR)}createMaterializedViewStatement(){return this.getRuleContext(0,PE)}createOperatorClassStatement(){return this.getRuleContext(0,no)}createOperatorFamilyStatement(){return this.getRuleContext(0,Ro)}createPublicationStatement(){return this.getRuleContext(0,uA)}alterOperatorFamilyStatement(){return this.getRuleContext(0,Ao)}createPolicyStatement(){return this.getRuleContext(0,OT)}createProcedureLangStatement(){return this.getRuleContext(0,HE)}createSchemaStatement(){return this.getRuleContext(0,Mn)}createSequenceStatement(){return this.getRuleContext(0,UE)}createStatement(){return this.getRuleContext(0,ph)}createSubscriptionStatement(){return this.getRuleContext(0,_A)}createStatsStatement(){return this.getRuleContext(0,uE)}createTablespaceStatement(){return this.getRuleContext(0,yE)}createTransformStatement(){return this.getRuleContext(0,$R)}createTriggerStatement(){return this.getRuleContext(0,UT)}createEventTriggerStatement(){return this.getRuleContext(0,XT)}createRoleStatement(){return this.getRuleContext(0,un)}createUserMappingStatement(){return this.getRuleContext(0,RT)}createDatabaseStatement(){return this.getRuleContext(0,KA)}deallocateStatement(){return this.getRuleContext(0,xS)}declareCursorStatement(){return this.getRuleContext(0,sl)}defineStatement(){return this.getRuleContext(0,zT)}deleteStatement(){return this.getRuleContext(0,XS)}discardStatement(){return this.getRuleContext(0,qn)}doStatement(){return this.getRuleContext(0,KR)}dropCastStatement(){return this.getRuleContext(0,jR)}dropOperatorClassStatement(){return this.getRuleContext(0,Oo)}dropOperatorFamilyStatement(){return this.getRuleContext(0,Io)}dropOwnedStatement(){return this.getRuleContext(0,uo)}dropStatement(){return this.getRuleContext(0,Lo)}dropSubscriptionStatement(){return this.getRuleContext(0,UA)}dropTablespaceStatement(){return this.getRuleContext(0,YE)}dropTransformStatement(){return this.getRuleContext(0,eA)}dropRoleStatement(){return this.getRuleContext(0,_n)}dropUserMappingStatement(){return this.getRuleContext(0,ST)}dropDatabaseStatement(){return this.getRuleContext(0,zA)}executeStatement(){return this.getRuleContext(0,pS)}explainStatement(){return this.getRuleContext(0,CS)}fetchStatement(){return this.getRuleContext(0,Bo)}grantStatement(){return this.getRuleContext(0,wo)}grantPrivilegeStatement(){return this.getRuleContext(0,qo)}importForeignSchemaStatement(){return this.getRuleContext(0,ET)}indexStatement(){return this.getRuleContext(0,rR)}insertStatement(){return this.getRuleContext(0,kS)}mergeStatement(){return this.getRuleContext(0,wS)}listenStatement(){return this.getRuleContext(0,vA)}refreshMaterializedViewStatement(){return this.getRuleContext(0,dE)}loadStatement(){return this.getRuleContext(0,XA)}lockStatement(){return this.getRuleContext(0,QS)}notifyStatement(){return this.getRuleContext(0,GA)}prepareStatement(){return this.getRuleContext(0,US)}reassignOwnedStatement(){return this.getRuleContext(0,No)}reindexStatement(){return this.getRuleContext(0,sA)}removeAggregateStatement(){return this.getRuleContext(0,YR)}removeFunctionStatement(){return this.getRuleContext(0,fR)}removeOperatorStatement(){return this.getRuleContext(0,wR)}renameStatement(){return this.getRuleContext(0,nA)}revokeStatement(){return this.getRuleContext(0,bo)}revokePrivilegeStatement(){return this.getRuleContext(0,jo)}ruleStatement(){return this.getRuleContext(0,mA)}securityLabelStatement(){return this.getRuleContext(0,Go)}selectStatement(){return this.getRuleContext(0,il)}transactionStatement(){return this.getRuleContext(0,yA)}truncateStatement(){return this.getRuleContext(0,go)}unlistenStatement(){return this.getRuleContext(0,BA)}updateStatement(){return this.getRuleContext(0,zS)}vacuumStatement(){return this.getRuleContext(0,TS)}variableResetStatement(){return this.getRuleContext(0,Yn)}variableSetStatement(){return this.getRuleContext(0,Dn)}variableShowStatement(){return this.getRuleContext(0,Xn)}viewStatement(){return this.getRuleContext(0,WA)}plsqlConsoleCommand(){return this.getRuleContext(0,on)}get ruleIndex(){return cn.RULE_statement}accept(t){return t.visitStatement?t.visitStatement(this):t.visitChildren(this)}},on=class extends ga{constructor(t,e){super(t,e)}MetaCommand(){return this.getToken(cn.MetaCommand,0)}EndMetaCommand(){return this.getToken(cn.EndMetaCommand,0)}get ruleIndex(){return cn.RULE_plsqlConsoleCommand}accept(t){return t.visitPlsqlConsoleCommand?t.visitPlsqlConsoleCommand(this):t.visitChildren(this)}},Rn=class extends ga{constructor(t,e){super(t,e)}CALL(){return this.getToken(cn.CALL,0)}functionApplication(){return this.getRuleContext(0,SI)}get ruleIndex(){return cn.RULE_callStatement}accept(t){return t.visitCallStatement?t.visitCallStatement(this):t.visitChildren(this)}},An=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}get ruleIndex(){return cn.RULE_optionalWith}accept(t){return t.visitOptionalWith?t.visitOptionalWith(this):t.visitChildren(this)}},Sn=class extends ga{constructor(t,e){super(t,e)}createRoleElement(t){return void 0===t?this.getRuleContexts(In):this.getRuleContext(t,In)}get ruleIndex(){return cn.RULE_optionalRoleList}accept(t){return t.visitOptionalRoleList?t.visitOptionalRoleList(this):t.visitChildren(this)}},ln=class extends ga{constructor(t,e){super(t,e)}alterRoleElemement(t){return void 0===t?this.getRuleContexts(On):this.getRuleContext(t,On)}get ruleIndex(){return cn.RULE_alterOptionalRoleList}accept(t){return t.visitAlterOptionalRoleList?t.visitAlterOptionalRoleList(this):t.visitChildren(this)}},On=class extends ga{constructor(t,e){super(t,e)}PASSWORD(){return this.getToken(cn.PASSWORD,0)}sconst(){return this.getRuleContext(0,Qu)}NULL_P(){return this.getToken(cn.NULL_P,0)}ENCRYPTED(){return this.getToken(cn.ENCRYPTED,0)}UNENCRYPTED(){return this.getToken(cn.UNENCRYPTED,0)}INHERIT(){return this.getToken(cn.INHERIT,0)}CONNECTION(){return this.getToken(cn.CONNECTION,0)}LIMIT(){return this.getToken(cn.LIMIT,0)}signedIconst(){return this.getRuleContext(0,qu)}VALID(){return this.getToken(cn.VALID,0)}UNTIL(){return this.getToken(cn.UNTIL,0)}roleOrAliases(){return this.getRuleContext(0,RC)}roleNameList(){return this.getRuleContext(0,zu)}identifier(){return this.getRuleContext(0,rN)}get ruleIndex(){return cn.RULE_alterRoleElemement}accept(t){return t.visitAlterRoleElemement?t.visitAlterRoleElemement(this):t.visitChildren(this)}},In=class extends ga{constructor(t,e){super(t,e)}alterRoleElemement(){return this.getRuleContext(0,On)}SYSID(){return this.getToken(cn.SYSID,0)}iconst(){return this.getRuleContext(0,Ku)}ADMIN(){return this.getToken(cn.ADMIN,0)}roleNameList(){return this.getRuleContext(0,zu)}roleOrAliases(){return this.getRuleContext(0,RC)}IN_P(){return this.getToken(cn.IN_P,0)}get ruleIndex(){return cn.RULE_createRoleElement}accept(t){return t.visitCreateRoleElement?t.visitCreateRoleElement(this):t.visitChildren(this)}},un=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}roleOrAliases(){return this.getRuleContext(0,RC)}roleName(){return this.getRuleContext(0,ju)}optionalWith(){return this.getRuleContext(0,An)}optionalRoleList(){return this.getRuleContext(0,Sn)}get ruleIndex(){return cn.RULE_createRoleStatement}accept(t){return t.visitCreateRoleStatement?t.visitCreateRoleStatement(this):t.visitChildren(this)}},Nn=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}roleOrAliases(){return this.getRuleContext(0,RC)}roleName(){return this.getRuleContext(0,ju)}optionalWith(){return this.getRuleContext(0,An)}alterOptionalRoleList(){return this.getRuleContext(0,ln)}get ruleIndex(){return cn.RULE_alterRoleStatement}accept(t){return t.visitAlterRoleStatement?t.visitAlterRoleStatement(this):t.visitChildren(this)}},Ln=class extends ga{constructor(t,e){super(t,e)}IN_P(){return this.getToken(cn.IN_P,0)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseName(){return this.getRuleContext(0,Uu)}get ruleIndex(){return cn.RULE_optionalInDatabase}accept(t){return t.visitOptionalInDatabase?t.visitOptionalInDatabase(this):t.visitChildren(this)}},Cn=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}roleOrAliases(){return this.getRuleContext(0,RC)}roleName(){return this.getRuleContext(0,ju)}optionalInDatabase(){return this.getRuleContext(0,Ln)}setResetClause(){return this.getRuleContext(0,Wn)}ALL(){return this.getToken(cn.ALL,0)}get ruleIndex(){return cn.RULE_alterRoleSetStatement}accept(t){return t.visitAlterRoleSetStatement?t.visitAlterRoleSetStatement(this):t.visitChildren(this)}},_n=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}roleOrAliases(){return this.getRuleContext(0,RC)}roleNameList(){return this.getRuleContext(0,zu)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_dropRoleStatement}accept(t){return t.visitDropRoleStatement?t.visitDropRoleStatement(this):t.visitChildren(this)}},Pn=class extends ga{constructor(t,e){super(t,e)}ADD_P(){return this.getToken(cn.ADD_P,0)}DROP(){return this.getToken(cn.DROP,0)}get ruleIndex(){return cn.RULE_addOrDrop}accept(t){return t.visitAddOrDrop?t.visitAddOrDrop(this):t.visitChildren(this)}},Mn=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}optionalSchemaList(){return this.getRuleContext(0,Un)}optionalSchemaName(){return this.getRuleContext(0,dn)}AUTHORIZATION(){return this.getToken(cn.AUTHORIZATION,0)}roleName(){return this.getRuleContext(0,ju)}columnId(){return this.getRuleContext(0,$u)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_createSchemaStatement}accept(t){return t.visitCreateSchemaStatement?t.visitCreateSchemaStatement(this):t.visitChildren(this)}},dn=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_optionalSchemaName}accept(t){return t.visitOptionalSchemaName?t.visitOptionalSchemaName(this):t.visitChildren(this)}},Un=class extends ga{constructor(t,e){super(t,e)}schemaStatement(t){return void 0===t?this.getRuleContexts(mn):this.getRuleContext(t,mn)}get ruleIndex(){return cn.RULE_optionalSchemaList}accept(t){return t.visitOptionalSchemaList?t.visitOptionalSchemaList(this):t.visitChildren(this)}},mn=class extends ga{constructor(t,e){super(t,e)}createStatement(){return this.getRuleContext(0,ph)}indexStatement(){return this.getRuleContext(0,rR)}createSequenceStatement(){return this.getRuleContext(0,UE)}createTriggerStatement(){return this.getRuleContext(0,UT)}grantStatement(){return this.getRuleContext(0,wo)}viewStatement(){return this.getRuleContext(0,WA)}get ruleIndex(){return cn.RULE_schemaStatement}accept(t){return t.visitSchemaStatement?t.visitSchemaStatement(this):t.visitChildren(this)}},Dn=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(cn.SET,0)}setStatementEnding(){return this.getRuleContext(0,pn)}LOCAL(){return this.getToken(cn.LOCAL,0)}SESSION(){return this.getToken(cn.SESSION,0)}get ruleIndex(){return cn.RULE_variableSetStatement}accept(t){return t.visitVariableSetStatement?t.visitVariableSetStatement(this):t.visitChildren(this)}},pn=class extends ga{constructor(t,e){super(t,e)}TRANSACTION(){return this.getToken(cn.TRANSACTION,0)}transactionModeList(){return this.getRuleContext(0,wA)}SESSION(){return this.getToken(cn.SESSION,0)}CHARACTERISTICS(){return this.getToken(cn.CHARACTERISTICS,0)}AS(){return this.getToken(cn.AS,0)}setStatementMore(){return this.getRuleContext(0,xn)}get ruleIndex(){return cn.RULE_setStatementEnding}accept(t){return t.visitSetStatementEnding?t.visitSetStatementEnding(this):t.visitChildren(this)}},gn=class extends ga{constructor(t,e){super(t,e)}variableName(){return this.getRuleContext(0,kn)}variableList(){return this.getRuleContext(0,Hn)}TO(){return this.getToken(cn.TO,0)}EQUAL(){return this.getToken(cn.EQUAL,0)}get ruleIndex(){return cn.RULE_genericSetClause}accept(t){return t.visitGenericSetClause?t.visitGenericSetClause(this):t.visitChildren(this)}},xn=class extends ga{constructor(t,e){super(t,e)}genericSetClause(){return this.getRuleContext(0,gn)}variableName(){return this.getRuleContext(0,kn)}FROM(){return this.getToken(cn.FROM,0)}CURRENT_P(){return this.getToken(cn.CURRENT_P,0)}TIME(){return this.getToken(cn.TIME,0)}ZONE(){return this.getToken(cn.ZONE,0)}zoneValue(){return this.getRuleContext(0,Bn)}CATALOG(){return this.getToken(cn.CATALOG,0)}sconst(){return this.getRuleContext(0,Qu)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaName(){return this.getRuleContext(0,Du)}NAMES(){return this.getToken(cn.NAMES,0)}optionalEncoding(){return this.getRuleContext(0,yn)}roleOrAliases(){return this.getRuleContext(0,RC)}nonReservedWordOrSconst(){return this.getRuleContext(0,fn)}SESSION(){return this.getToken(cn.SESSION,0)}AUTHORIZATION(){return this.getToken(cn.AUTHORIZATION,0)}XML_P(){return this.getToken(cn.XML_P,0)}OPTION(){return this.getToken(cn.OPTION,0)}documentOrContent(){return this.getRuleContext(0,PI)}TRANSACTION(){return this.getToken(cn.TRANSACTION,0)}SNAPSHOT(){return this.getToken(cn.SNAPSHOT,0)}get ruleIndex(){return cn.RULE_setStatementMore}accept(t){return t.visitSetStatementMore?t.visitSetStatementMore(this):t.visitChildren(this)}},kn=class extends ga{constructor(t,e){super(t,e)}columnId(t){return void 0===t?this.getRuleContexts($u):this.getRuleContext(t,$u)}DOT(t){return void 0===t?this.getTokens(cn.DOT):this.getToken(cn.DOT,t)}get ruleIndex(){return cn.RULE_variableName}accept(t){return t.visitVariableName?t.visitVariableName(this):t.visitChildren(this)}},Hn=class extends ga{constructor(t,e){super(t,e)}variableValue(t){return void 0===t?this.getRuleContexts(Gn):this.getRuleContext(t,Gn)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_variableList}accept(t){return t.visitVariableList?t.visitVariableList(this):t.visitChildren(this)}},Gn=class extends ga{constructor(t,e){super(t,e)}booleanOrString(){return this.getRuleContext(0,vn)}numericOnly(){return this.getRuleContext(0,xE)}get ruleIndex(){return cn.RULE_variableValue}accept(t){return t.visitVariableValue?t.visitVariableValue(this):t.visitChildren(this)}},Fn=class extends ga{constructor(t,e){super(t,e)}READ(){return this.getToken(cn.READ,0)}UNCOMMITTED(){return this.getToken(cn.UNCOMMITTED,0)}COMMITTED(){return this.getToken(cn.COMMITTED,0)}REPEATABLE(){return this.getToken(cn.REPEATABLE,0)}SERIALIZABLE(){return this.getToken(cn.SERIALIZABLE,0)}get ruleIndex(){return cn.RULE_isoLevel}accept(t){return t.visitIsoLevel?t.visitIsoLevel(this):t.visitChildren(this)}},vn=class extends ga{constructor(t,e){super(t,e)}TRUE_P(){return this.getToken(cn.TRUE_P,0)}FALSE_P(){return this.getToken(cn.FALSE_P,0)}ON(){return this.getToken(cn.ON,0)}nonReservedWordOrSconst(){return this.getRuleContext(0,fn)}get ruleIndex(){return cn.RULE_booleanOrString}accept(t){return t.visitBooleanOrString?t.visitBooleanOrString(this):t.visitChildren(this)}},Bn=class extends ga{constructor(t,e){super(t,e)}sconst(){return this.getRuleContext(0,Qu)}identifier(){return this.getRuleContext(0,rN)}constInterval(){return this.getRuleContext(0,vO)}optionalInterval(){return this.getRuleContext(0,yO)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,Ku)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}numericOnly(){return this.getRuleContext(0,xE)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}LOCAL(){return this.getToken(cn.LOCAL,0)}get ruleIndex(){return cn.RULE_zoneValue}accept(t){return t.visitZoneValue?t.visitZoneValue(this):t.visitChildren(this)}},yn=class extends ga{constructor(t,e){super(t,e)}sconst(){return this.getRuleContext(0,Qu)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}get ruleIndex(){return cn.RULE_optionalEncoding}accept(t){return t.visitOptionalEncoding?t.visitOptionalEncoding(this):t.visitChildren(this)}},fn=class extends ga{constructor(t,e){super(t,e)}nonReservedWord(){return this.getRuleContext(0,sN)}sconst(){return this.getRuleContext(0,Qu)}get ruleIndex(){return cn.RULE_nonReservedWordOrSconst}accept(t){return t.visitNonReservedWordOrSconst?t.visitNonReservedWordOrSconst(this):t.visitChildren(this)}},Yn=class extends ga{constructor(t,e){super(t,e)}RESET(){return this.getToken(cn.RESET,0)}resetClauseRest(){return this.getRuleContext(0,wn)}get ruleIndex(){return cn.RULE_variableResetStatement}accept(t){return t.visitVariableResetStatement?t.visitVariableResetStatement(this):t.visitChildren(this)}},wn=class extends ga{constructor(t,e){super(t,e)}genericResetClause(){return this.getRuleContext(0,bn)}TIME(){return this.getToken(cn.TIME,0)}ZONE(){return this.getToken(cn.ZONE,0)}TRANSACTION(){return this.getToken(cn.TRANSACTION,0)}ISOLATION(){return this.getToken(cn.ISOLATION,0)}LEVEL(){return this.getToken(cn.LEVEL,0)}SESSION(){return this.getToken(cn.SESSION,0)}AUTHORIZATION(){return this.getToken(cn.AUTHORIZATION,0)}get ruleIndex(){return cn.RULE_resetClauseRest}accept(t){return t.visitResetClauseRest?t.visitResetClauseRest(this):t.visitChildren(this)}},bn=class extends ga{constructor(t,e){super(t,e)}variableName(){return this.getRuleContext(0,kn)}ALL(){return this.getToken(cn.ALL,0)}get ruleIndex(){return cn.RULE_genericResetClause}accept(t){return t.visitGenericResetClause?t.visitGenericResetClause(this):t.visitChildren(this)}},Wn=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(cn.SET,0)}setStatementEnding(){return this.getRuleContext(0,pn)}variableResetStatement(){return this.getRuleContext(0,Yn)}get ruleIndex(){return cn.RULE_setResetClause}accept(t){return t.visitSetResetClause?t.visitSetResetClause(this):t.visitChildren(this)}},Vn=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(cn.SET,0)}setStatementMore(){return this.getRuleContext(0,xn)}variableResetStatement(){return this.getRuleContext(0,Yn)}get ruleIndex(){return cn.RULE_functionSetResetClause}accept(t){return t.visitFunctionSetResetClause?t.visitFunctionSetResetClause(this):t.visitChildren(this)}},Xn=class extends ga{constructor(t,e){super(t,e)}SHOW(){return this.getToken(cn.SHOW,0)}variableName(){return this.getRuleContext(0,kn)}TIME(){return this.getToken(cn.TIME,0)}ZONE(){return this.getToken(cn.ZONE,0)}TRANSACTION(){return this.getToken(cn.TRANSACTION,0)}ISOLATION(){return this.getToken(cn.ISOLATION,0)}LEVEL(){return this.getToken(cn.LEVEL,0)}SESSION(){return this.getToken(cn.SESSION,0)}AUTHORIZATION(){return this.getToken(cn.AUTHORIZATION,0)}ALL(){return this.getToken(cn.ALL,0)}get ruleIndex(){return cn.RULE_variableShowStatement}accept(t){return t.visitVariableShowStatement?t.visitVariableShowStatement(this):t.visitChildren(this)}},Kn=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(cn.SET,0)}CONSTRAINTS(){return this.getToken(cn.CONSTRAINTS,0)}constraintsSetList(){return this.getRuleContext(0,Qn)}constraintsSetMode(){return this.getRuleContext(0,Jn)}get ruleIndex(){return cn.RULE_setConstraintsStatement}accept(t){return t.visitSetConstraintsStatement?t.visitSetConstraintsStatement(this):t.visitChildren(this)}},Qn=class extends ga{constructor(t,e){super(t,e)}ALL(){return this.getToken(cn.ALL,0)}qualifiedNameList(){return this.getRuleContext(0,du)}get ruleIndex(){return cn.RULE_constraintsSetList}accept(t){return t.visitConstraintsSetList?t.visitConstraintsSetList(this):t.visitChildren(this)}},Jn=class extends ga{constructor(t,e){super(t,e)}DEFERRED(){return this.getToken(cn.DEFERRED,0)}IMMEDIATE(){return this.getToken(cn.IMMEDIATE,0)}get ruleIndex(){return cn.RULE_constraintsSetMode}accept(t){return t.visitConstraintsSetMode?t.visitConstraintsSetMode(this):t.visitChildren(this)}},Zn=class extends ga{constructor(t,e){super(t,e)}CHECKPOINT(){return this.getToken(cn.CHECKPOINT,0)}get ruleIndex(){return cn.RULE_checkpointStatement}accept(t){return t.visitCheckpointStatement?t.visitCheckpointStatement(this):t.visitChildren(this)}},qn=class extends ga{constructor(t,e){super(t,e)}DISCARD(){return this.getToken(cn.DISCARD,0)}ALL(){return this.getToken(cn.ALL,0)}TEMP(){return this.getToken(cn.TEMP,0)}TEMPORARY(){return this.getToken(cn.TEMPORARY,0)}PLANS(){return this.getToken(cn.PLANS,0)}SEQUENCES(){return this.getToken(cn.SEQUENCES,0)}get ruleIndex(){return cn.RULE_discardStatement}accept(t){return t.visitDiscardStatement?t.visitDiscardStatement(this):t.visitChildren(this)}},jn=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}TABLE(){return this.getToken(cn.TABLE,0)}relationExpression(){return this.getRuleContext(0,eO)}alterTableCommands(){return this.getRuleContext(0,zn)}partitionCommand(){return this.getRuleContext(0,$n)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}ALL(){return this.getToken(cn.ALL,0)}IN_P(){return this.getToken(cn.IN_P,0)}TABLESPACE(t){return void 0===t?this.getTokens(cn.TABLESPACE):this.getToken(cn.TABLESPACE,t)}name(t){return void 0===t?this.getRuleContexts(yu):this.getRuleContext(t,yu)}SET(){return this.getToken(cn.SET,0)}optionalNowait(){return this.getRuleContext(0,qS)}OWNED(){return this.getToken(cn.OWNED,0)}BY(){return this.getToken(cn.BY,0)}roleNameList(){return this.getRuleContext(0,zu)}INDEX(){return this.getToken(cn.INDEX,0)}indexName(){return this.getRuleContext(0,gu)}indexPartitionCommand(){return this.getRuleContext(0,th)}VIEW(){return this.getToken(cn.VIEW,0)}viewName(){return this.getRuleContext(0,tO)}MATERIALIZED(){return this.getToken(cn.MATERIALIZED,0)}qualifiedName(){return this.getRuleContext(0,vu)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}get ruleIndex(){return cn.RULE_alterTableStatement}accept(t){return t.visitAlterTableStatement?t.visitAlterTableStatement(this):t.visitChildren(this)}},zn=class extends ga{constructor(t,e){super(t,e)}alterTableCommand(t){return void 0===t?this.getRuleContexts(eh):this.getRuleContext(t,eh)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_alterTableCommands}accept(t){return t.visitAlterTableCommands?t.visitAlterTableCommands(this):t.visitChildren(this)}},$n=class extends ga{constructor(t,e){super(t,e)}ATTACH(){return this.getToken(cn.ATTACH,0)}PARTITION(){return this.getToken(cn.PARTITION,0)}qualifiedName(){return this.getRuleContext(0,vu)}partitionBoundSpecification(){return this.getRuleContext(0,Ah)}DETACH(){return this.getToken(cn.DETACH,0)}get ruleIndex(){return cn.RULE_partitionCommand}accept(t){return t.visitPartitionCommand?t.visitPartitionCommand(this):t.visitChildren(this)}},th=class extends ga{constructor(t,e){super(t,e)}ATTACH(){return this.getToken(cn.ATTACH,0)}PARTITION(){return this.getToken(cn.PARTITION,0)}qualifiedName(){return this.getRuleContext(0,vu)}get ruleIndex(){return cn.RULE_indexPartitionCommand}accept(t){return t.visitIndexPartitionCommand?t.visitIndexPartitionCommand(this):t.visitChildren(this)}},eh=class extends ga{constructor(t,e){super(t,e)}ADD_P(){return this.getToken(cn.ADD_P,0)}columnDefinition(){return this.getRuleContext(0,Bh)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}COLUMN(){return this.getToken(cn.COLUMN,0)}ALTER(){return this.getToken(cn.ALTER,0)}optionalColumn(){return this.getRuleContext(0,hA)}columnId(t){return void 0===t?this.getRuleContexts($u):this.getRuleContext(t,$u)}alterColumnDefault(){return this.getRuleContext(0,sh)}DROP(){return this.getToken(cn.DROP,0)}NULL_P(){return this.getToken(cn.NULL_P,0)}SET(){return this.getToken(cn.SET,0)}EXPRESSION(){return this.getToken(cn.EXPRESSION,0)}STATISTICS(){return this.getToken(cn.STATISTICS,0)}signedIconst(){return this.getRuleContext(0,qu)}iconst(){return this.getRuleContext(0,Ku)}relOptions(){return this.getRuleContext(0,nh)}RESET(){return this.getToken(cn.RESET,0)}STORAGE(){return this.getToken(cn.STORAGE,0)}GENERATED(){return this.getToken(cn.GENERATED,0)}generatedWhen(){return this.getRuleContext(0,bh)}AS(){return this.getToken(cn.AS,0)}IDENTITY_P(){return this.getToken(cn.IDENTITY_P,0)}optionalParenthesizedSeqOptionsList(){return this.getRuleContext(0,DE)}alterIdentityColumnOptionList(){return this.getRuleContext(0,oh)}optionalDropBehavior(){return this.getRuleContext(0,ah)}optionalSetData(){return this.getRuleContext(0,EA)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}typeName(){return this.getRuleContext(0,LO)}optionalCollateClause(){return this.getRuleContext(0,rh)}alterUsing(){return this.getRuleContext(0,ih)}alterGenericOptions(){return this.getRuleContext(0,zE)}tableConstraint(){return this.getRuleContext(0,Qh)}CONSTRAINT(){return this.getToken(cn.CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,Hu)}constraintAttributeElement(t){return void 0===t?this.getRuleContexts(VT):this.getRuleContext(t,VT)}VALIDATE(){return this.getToken(cn.VALIDATE,0)}WITHOUT(){return this.getToken(cn.WITHOUT,0)}OIDS(){return this.getToken(cn.OIDS,0)}CLUSTER(){return this.getToken(cn.CLUSTER,0)}ON(){return this.getToken(cn.ON,0)}name(){return this.getRuleContext(0,yu)}LOGGED(){return this.getToken(cn.LOGGED,0)}UNLOGGED(){return this.getToken(cn.UNLOGGED,0)}ENABLE_P(){return this.getToken(cn.ENABLE_P,0)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}triggerName(){return this.getRuleContext(0,ku)}ALWAYS(){return this.getToken(cn.ALWAYS,0)}REPLICA(){return this.getToken(cn.REPLICA,0)}ALL(){return this.getToken(cn.ALL,0)}USER(){return this.getToken(cn.USER,0)}DISABLE_P(){return this.getToken(cn.DISABLE_P,0)}RULE(){return this.getToken(cn.RULE,0)}INHERIT(){return this.getToken(cn.INHERIT,0)}qualifiedName(){return this.getRuleContext(0,vu)}NO(){return this.getToken(cn.NO,0)}OF(){return this.getToken(cn.OF,0)}anyName(){return this.getRuleContext(0,mo)}OWNER(){return this.getToken(cn.OWNER,0)}TO(){return this.getToken(cn.TO,0)}roleName(){return this.getRuleContext(0,ju)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}replicaIdentity(){return this.getRuleContext(0,ch)}ROW(){return this.getToken(cn.ROW,0)}LEVEL(){return this.getToken(cn.LEVEL,0)}SECURITY(){return this.getToken(cn.SECURITY,0)}FORCE(){return this.getToken(cn.FORCE,0)}get ruleIndex(){return cn.RULE_alterTableCommand}accept(t){return t.visitAlterTableCommand?t.visitAlterTableCommand(this):t.visitChildren(this)}},sh=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(cn.SET,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}expression1(){return this.getRuleContext(0,wO)}DROP(){return this.getToken(cn.DROP,0)}get ruleIndex(){return cn.RULE_alterColumnDefault}accept(t){return t.visitAlterColumnDefault?t.visitAlterColumnDefault(this):t.visitChildren(this)}},ah=class extends ga{constructor(t,e){super(t,e)}CASCADE(){return this.getToken(cn.CASCADE,0)}RESTRICT(){return this.getToken(cn.RESTRICT,0)}get ruleIndex(){return cn.RULE_optionalDropBehavior}accept(t){return t.visitOptionalDropBehavior?t.visitOptionalDropBehavior(this):t.visitChildren(this)}},rh=class extends ga{constructor(t,e){super(t,e)}COLLATE(){return this.getToken(cn.COLLATE,0)}anyName(){return this.getRuleContext(0,mo)}get ruleIndex(){return cn.RULE_optionalCollateClause}accept(t){return t.visitOptionalCollateClause?t.visitOptionalCollateClause(this):t.visitChildren(this)}},ih=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_alterUsing}accept(t){return t.visitAlterUsing?t.visitAlterUsing(this):t.visitChildren(this)}},ch=class extends ga{constructor(t,e){super(t,e)}NOTHING(){return this.getToken(cn.NOTHING,0)}FULL(){return this.getToken(cn.FULL,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}USING(){return this.getToken(cn.USING,0)}INDEX(){return this.getToken(cn.INDEX,0)}indexName(){return this.getRuleContext(0,gu)}get ruleIndex(){return cn.RULE_replicaIdentity}accept(t){return t.visitReplicaIdentity?t.visitReplicaIdentity(this):t.visitChildren(this)}},nh=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}relOptionList(){return this.getRuleContext(0,Eh)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_relOptions}accept(t){return t.visitRelOptions?t.visitRelOptions(this):t.visitChildren(this)}},hh=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}relOptions(){return this.getRuleContext(0,nh)}get ruleIndex(){return cn.RULE_optionalRelOptions}accept(t){return t.visitOptionalRelOptions?t.visitOptionalRelOptions(this):t.visitChildren(this)}},Eh=class extends ga{constructor(t,e){super(t,e)}relOptionElem(t){return void 0===t?this.getRuleContexts(Th):this.getRuleContext(t,Th)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_relOptionList}accept(t){return t.visitRelOptionList?t.visitRelOptionList(this):t.visitChildren(this)}},Th=class extends ga{constructor(t,e){super(t,e)}columnLabel(t){return void 0===t?this.getRuleContexts(aN):this.getRuleContext(t,aN)}EQUAL(){return this.getToken(cn.EQUAL,0)}definitionArgument(){return this.getRuleContext(0,eo)}DOT(){return this.getToken(cn.DOT,0)}get ruleIndex(){return cn.RULE_relOptionElem}accept(t){return t.visitRelOptionElem?t.visitRelOptionElem(this):t.visitChildren(this)}},oh=class extends ga{constructor(t,e){super(t,e)}alterIdentityColumnOption(t){return void 0===t?this.getRuleContexts(Rh):this.getRuleContext(t,Rh)}get ruleIndex(){return cn.RULE_alterIdentityColumnOptionList}accept(t){return t.visitAlterIdentityColumnOptionList?t.visitAlterIdentityColumnOptionList(this):t.visitChildren(this)}},Rh=class extends ga{constructor(t,e){super(t,e)}RESTART(){return this.getToken(cn.RESTART,0)}optionalWith(){return this.getRuleContext(0,An)}numericOnly(){return this.getRuleContext(0,xE)}SET(){return this.getToken(cn.SET,0)}sequenceOptionItem(){return this.getRuleContext(0,gE)}GENERATED(){return this.getToken(cn.GENERATED,0)}generatedWhen(){return this.getRuleContext(0,bh)}get ruleIndex(){return cn.RULE_alterIdentityColumnOption}accept(t){return t.visitAlterIdentityColumnOption?t.visitAlterIdentityColumnOption(this):t.visitChildren(this)}},Ah=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(cn.FOR,0)}VALUES(){return this.getToken(cn.VALUES,0)}WITH(){return this.getToken(cn.WITH,0)}OPEN_PAREN(t){return void 0===t?this.getTokens(cn.OPEN_PAREN):this.getToken(cn.OPEN_PAREN,t)}hashPartitionBound(){return this.getRuleContext(0,lh)}CLOSE_PAREN(t){return void 0===t?this.getTokens(cn.CLOSE_PAREN):this.getToken(cn.CLOSE_PAREN,t)}IN_P(){return this.getToken(cn.IN_P,0)}expressionList(t){return void 0===t?this.getRuleContexts(ZI):this.getRuleContext(t,ZI)}FROM(){return this.getToken(cn.FROM,0)}TO(){return this.getToken(cn.TO,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}get ruleIndex(){return cn.RULE_partitionBoundSpecification}accept(t){return t.visitPartitionBoundSpecification?t.visitPartitionBoundSpecification(this):t.visitChildren(this)}},Sh=class extends ga{constructor(t,e){super(t,e)}nonReservedWord(){return this.getRuleContext(0,sN)}iconst(){return this.getRuleContext(0,Ku)}get ruleIndex(){return cn.RULE_hashPartitionBoundElement}accept(t){return t.visitHashPartitionBoundElement?t.visitHashPartitionBoundElement(this):t.visitChildren(this)}},lh=class extends ga{constructor(t,e){super(t,e)}hashPartitionBoundElement(t){return void 0===t?this.getRuleContexts(Sh):this.getRuleContext(t,Sh)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_hashPartitionBound}accept(t){return t.visitHashPartitionBound?t.visitHashPartitionBound(this):t.visitChildren(this)}},Oh=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}anyName(){return this.getRuleContext(0,mo)}alterTypeCommands(){return this.getRuleContext(0,Ih)}get ruleIndex(){return cn.RULE_alterCompositeTypeStatement}accept(t){return t.visitAlterCompositeTypeStatement?t.visitAlterCompositeTypeStatement(this):t.visitChildren(this)}},Ih=class extends ga{constructor(t,e){super(t,e)}alterTypeCommand(t){return void 0===t?this.getRuleContexts(uh):this.getRuleContext(t,uh)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_alterTypeCommands}accept(t){return t.visitAlterTypeCommands?t.visitAlterTypeCommands(this):t.visitChildren(this)}},uh=class extends ga{constructor(t,e){super(t,e)}ADD_P(){return this.getToken(cn.ADD_P,0)}ATTRIBUTE(){return this.getToken(cn.ATTRIBUTE,0)}tableFunctionElement(){return this.getRuleContext(0,AO)}optionalDropBehavior(){return this.getRuleContext(0,ah)}DROP(){return this.getToken(cn.DROP,0)}columnId(){return this.getRuleContext(0,$u)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}ALTER(){return this.getToken(cn.ALTER,0)}optionalSetData(){return this.getRuleContext(0,EA)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}typeName(){return this.getRuleContext(0,LO)}optionalCollateClause(){return this.getRuleContext(0,rh)}get ruleIndex(){return cn.RULE_alterTypeCommand}accept(t){return t.visitAlterTypeCommand?t.visitAlterTypeCommand(this):t.visitChildren(this)}},Nh=class extends ga{constructor(t,e){super(t,e)}CLOSE(){return this.getToken(cn.CLOSE,0)}cursorName(){return this.getRuleContext(0,al)}ALL(){return this.getToken(cn.ALL,0)}get ruleIndex(){return cn.RULE_closePortalStatement}accept(t){return t.visitClosePortalStatement?t.visitClosePortalStatement(this):t.visitChildren(this)}},Lh=class extends ga{constructor(t,e){super(t,e)}COPY(){return this.getToken(cn.COPY,0)}qualifiedName(){return this.getRuleContext(0,vu)}columnListWithParentheses(){return this.getRuleContext(0,Zh)}fromOrTo(){return this.getRuleContext(0,Ch)}copyFileName(){return this.getRuleContext(0,_h)}copyDelimiter(){return this.getRuleContext(0,dh)}optionalWith(){return this.getRuleContext(0,An)}copyOptions(){return this.getRuleContext(0,Ph)}whereClause(){return this.getRuleContext(0,EO)}BINARY(){return this.getToken(cn.BINARY,0)}PROGRAM(){return this.getToken(cn.PROGRAM,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}preparableStatement(){return this.getRuleContext(0,DS)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}TO(){return this.getToken(cn.TO,0)}get ruleIndex(){return cn.RULE_copyStatement}accept(t){return t.visitCopyStatement?t.visitCopyStatement(this):t.visitChildren(this)}},Ch=class extends ga{constructor(t,e){super(t,e)}FROM(){return this.getToken(cn.FROM,0)}TO(){return this.getToken(cn.TO,0)}get ruleIndex(){return cn.RULE_fromOrTo}accept(t){return t.visitFromOrTo?t.visitFromOrTo(this):t.visitChildren(this)}},_h=class extends ga{constructor(t,e){super(t,e)}sconst(){return this.getRuleContext(0,Qu)}STDIN(){return this.getToken(cn.STDIN,0)}STDOUT(){return this.getToken(cn.STDOUT,0)}get ruleIndex(){return cn.RULE_copyFileName}accept(t){return t.visitCopyFileName?t.visitCopyFileName(this):t.visitChildren(this)}},Ph=class extends ga{constructor(t,e){super(t,e)}copyOptionsItem(t){return void 0===t?this.getRuleContexts(Mh):this.getRuleContext(t,Mh)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}copyGenericOptionList(){return this.getRuleContext(0,Uh)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_copyOptions}accept(t){return t.visitCopyOptions?t.visitCopyOptions(this):t.visitChildren(this)}},Mh=class extends ga{constructor(t,e){super(t,e)}BINARY(){return this.getToken(cn.BINARY,0)}FREEZE(){return this.getToken(cn.FREEZE,0)}DELIMITER(){return this.getToken(cn.DELIMITER,0)}optionalAs(){return this.getRuleContext(0,rS)}sconst(){return this.getRuleContext(0,Qu)}NULL_P(){return this.getToken(cn.NULL_P,0)}CSV(){return this.getToken(cn.CSV,0)}HEADER_P(){return this.getToken(cn.HEADER_P,0)}QUOTE(){return this.getToken(cn.QUOTE,0)}ESCAPE(){return this.getToken(cn.ESCAPE,0)}FORCE(){return this.getToken(cn.FORCE,0)}columnList(){return this.getRuleContext(0,qh)}STAR(){return this.getToken(cn.STAR,0)}NOT(){return this.getToken(cn.NOT,0)}ENCODING(){return this.getToken(cn.ENCODING,0)}get ruleIndex(){return cn.RULE_copyOptionsItem}accept(t){return t.visitCopyOptionsItem?t.visitCopyOptionsItem(this):t.visitChildren(this)}},dh=class extends ga{constructor(t,e){super(t,e)}DELIMITERS(){return this.getToken(cn.DELIMITERS,0)}sconst(){return this.getRuleContext(0,Qu)}USING(){return this.getToken(cn.USING,0)}get ruleIndex(){return cn.RULE_copyDelimiter}accept(t){return t.visitCopyDelimiter?t.visitCopyDelimiter(this):t.visitChildren(this)}},Uh=class extends ga{constructor(t,e){super(t,e)}copyGenericOptionElem(t){return void 0===t?this.getRuleContexts(mh):this.getRuleContext(t,mh)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_copyGenericOptionList}accept(t){return t.visitCopyGenericOptionList?t.visitCopyGenericOptionList(this):t.visitChildren(this)}},mh=class extends ga{constructor(t,e){super(t,e)}columnLabel(){return this.getRuleContext(0,aN)}copyGenericOptionArgument(){return this.getRuleContext(0,Dh)}get ruleIndex(){return cn.RULE_copyGenericOptionElem}accept(t){return t.visitCopyGenericOptionElem?t.visitCopyGenericOptionElem(this):t.visitChildren(this)}},Dh=class extends ga{constructor(t,e){super(t,e)}booleanOrString(t){return void 0===t?this.getRuleContexts(vn):this.getRuleContext(t,vn)}numericOnly(){return this.getRuleContext(0,xE)}STAR(){return this.getToken(cn.STAR,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_copyGenericOptionArgument}accept(t){return t.visitCopyGenericOptionArgument?t.visitCopyGenericOptionArgument(this):t.visitChildren(this)}},ph=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}temporaryOption(){return this.getRuleContext(0,gh)}TABLE(){return this.getToken(cn.TABLE,0)}qualifiedName(t){return void 0===t?this.getRuleContexts(vu):this.getRuleContext(t,vu)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}optionalTableElementList(){return this.getRuleContext(0,xh)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}inheritClause(){return this.getRuleContext(0,nE)}optionalPartitionSpecification(){return this.getRuleContext(0,hE)}optionalTableAccessMethodClause(){return this.getRuleContext(0,RE)}with(){return this.getRuleContext(0,AE)}onCommitOption(){return this.getRuleContext(0,SE)}optionalTablespace(){return this.getRuleContext(0,lE)}OF(){return this.getToken(cn.OF,0)}anyName(){return this.getRuleContext(0,mo)}optionalTypedTableElementList(){return this.getRuleContext(0,kh)}PARTITION(){return this.getToken(cn.PARTITION,0)}partitionBoundSpecification(){return this.getRuleContext(0,Ah)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_createStatement}accept(t){return t.visitCreateStatement?t.visitCreateStatement(this):t.visitChildren(this)}},gh=class extends ga{constructor(t,e){super(t,e)}TEMPORARY(){return this.getToken(cn.TEMPORARY,0)}TEMP(){return this.getToken(cn.TEMP,0)}LOCAL(){return this.getToken(cn.LOCAL,0)}GLOBAL(){return this.getToken(cn.GLOBAL,0)}UNLOGGED(){return this.getToken(cn.UNLOGGED,0)}get ruleIndex(){return cn.RULE_temporaryOption}accept(t){return t.visitTemporaryOption?t.visitTemporaryOption(this):t.visitChildren(this)}},xh=class extends ga{constructor(t,e){super(t,e)}tableElementList(){return this.getRuleContext(0,Hh)}get ruleIndex(){return cn.RULE_optionalTableElementList}accept(t){return t.visitOptionalTableElementList?t.visitOptionalTableElementList(this):t.visitChildren(this)}},kh=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}typedTableElementList(){return this.getRuleContext(0,Gh)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_optionalTypedTableElementList}accept(t){return t.visitOptionalTypedTableElementList?t.visitOptionalTypedTableElementList(this):t.visitChildren(this)}},Hh=class extends ga{constructor(t,e){super(t,e)}tableElement(t){return void 0===t?this.getRuleContexts(Fh):this.getRuleContext(t,Fh)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_tableElementList}accept(t){return t.visitTableElementList?t.visitTableElementList(this):t.visitChildren(this)}},Gh=class extends ga{constructor(t,e){super(t,e)}typedTableElement(t){return void 0===t?this.getRuleContexts(vh):this.getRuleContext(t,vh)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_typedTableElementList}accept(t){return t.visitTypedTableElementList?t.visitTypedTableElementList(this):t.visitChildren(this)}},Fh=class extends ga{constructor(t,e){super(t,e)}tableConstraint(){return this.getRuleContext(0,Qh)}tableLikeClause(){return this.getRuleContext(0,Vh)}columnDefinition(){return this.getRuleContext(0,Bh)}get ruleIndex(){return cn.RULE_tableElement}accept(t){return t.visitTableElement?t.visitTableElement(this):t.visitChildren(this)}},vh=class extends ga{constructor(t,e){super(t,e)}columnOptions(){return this.getRuleContext(0,yh)}tableConstraint(){return this.getRuleContext(0,Qh)}get ruleIndex(){return cn.RULE_typedTableElement}accept(t){return t.visitTypedTableElement?t.visitTypedTableElement(this):t.visitChildren(this)}},Bh=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}typeName(){return this.getRuleContext(0,LO)}createGenericOptions(){return this.getRuleContext(0,qE)}columnQualifierList(){return this.getRuleContext(0,fh)}get ruleIndex(){return cn.RULE_columnDefinition}accept(t){return t.visitColumnDefinition?t.visitColumnDefinition(this):t.visitChildren(this)}},yh=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}columnQualifierList(){return this.getRuleContext(0,fh)}WITH(){return this.getToken(cn.WITH,0)}OPTIONS(){return this.getToken(cn.OPTIONS,0)}get ruleIndex(){return cn.RULE_columnOptions}accept(t){return t.visitColumnOptions?t.visitColumnOptions(this):t.visitChildren(this)}},fh=class extends ga{constructor(t,e){super(t,e)}columnConstraint(t){return void 0===t?this.getRuleContexts(Yh):this.getRuleContext(t,Yh)}get ruleIndex(){return cn.RULE_columnQualifierList}accept(t){return t.visitColumnQualifierList?t.visitColumnQualifierList(this):t.visitChildren(this)}},Yh=class extends ga{constructor(t,e){super(t,e)}CONSTRAINT(){return this.getToken(cn.CONSTRAINT,0)}name(){return this.getRuleContext(0,yu)}columnConstraintElement(){return this.getRuleContext(0,wh)}constraintAttribute(){return this.getRuleContext(0,Wh)}COLLATE(){return this.getToken(cn.COLLATE,0)}anyName(){return this.getRuleContext(0,mo)}get ruleIndex(){return cn.RULE_columnConstraint}accept(t){return t.visitColumnConstraint?t.visitColumnConstraint(this):t.visitChildren(this)}},wh=class extends ga{constructor(t,e){super(t,e)}NOT(){return this.getToken(cn.NOT,0)}NULL_P(){return this.getToken(cn.NULL_P,0)}UNIQUE(){return this.getToken(cn.UNIQUE,0)}optionalDefinition(){return this.getRuleContext(0,FR)}usingIndexTablespace(){return this.getRuleContext(0,OE)}PRIMARY(){return this.getToken(cn.PRIMARY,0)}KEY(){return this.getToken(cn.KEY,0)}CHECK(){return this.getToken(cn.CHECK,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}NO(){return this.getToken(cn.NO,0)}INHERIT(){return this.getToken(cn.INHERIT,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}expression2(){return this.getRuleContext(0,hI)}GENERATED(){return this.getToken(cn.GENERATED,0)}generatedWhen(){return this.getRuleContext(0,bh)}AS(){return this.getToken(cn.AS,0)}IDENTITY_P(){return this.getToken(cn.IDENTITY_P,0)}optionalParenthesizedSeqOptionsList(){return this.getRuleContext(0,DE)}STORED(){return this.getToken(cn.STORED,0)}REFERENCES(){return this.getToken(cn.REFERENCES,0)}qualifiedName(){return this.getRuleContext(0,vu)}columnListWithParentheses(){return this.getRuleContext(0,Zh)}matchClause(){return this.getRuleContext(0,$h)}keyActions(){return this.getRuleContext(0,aE)}get ruleIndex(){return cn.RULE_columnConstraintElement}accept(t){return t.visitColumnConstraintElement?t.visitColumnConstraintElement(this):t.visitChildren(this)}},bh=class extends ga{constructor(t,e){super(t,e)}ALWAYS(){return this.getToken(cn.ALWAYS,0)}BY(){return this.getToken(cn.BY,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}get ruleIndex(){return cn.RULE_generatedWhen}accept(t){return t.visitGeneratedWhen?t.visitGeneratedWhen(this):t.visitChildren(this)}},Wh=class extends ga{constructor(t,e){super(t,e)}DEFERRABLE(){return this.getToken(cn.DEFERRABLE,0)}NOT(){return this.getToken(cn.NOT,0)}INITIALLY(){return this.getToken(cn.INITIALLY,0)}DEFERRED(){return this.getToken(cn.DEFERRED,0)}IMMEDIATE(){return this.getToken(cn.IMMEDIATE,0)}get ruleIndex(){return cn.RULE_constraintAttribute}accept(t){return t.visitConstraintAttribute?t.visitConstraintAttribute(this):t.visitChildren(this)}},Vh=class extends ga{constructor(t,e){super(t,e)}LIKE(){return this.getToken(cn.LIKE,0)}qualifiedName(){return this.getRuleContext(0,vu)}tableLikeOptionList(){return this.getRuleContext(0,Xh)}get ruleIndex(){return cn.RULE_tableLikeClause}accept(t){return t.visitTableLikeClause?t.visitTableLikeClause(this):t.visitChildren(this)}},Xh=class extends ga{constructor(t,e){super(t,e)}tableLikeOption(t){return void 0===t?this.getRuleContexts(Kh):this.getRuleContext(t,Kh)}INCLUDING(t){return void 0===t?this.getTokens(cn.INCLUDING):this.getToken(cn.INCLUDING,t)}EXCLUDING(t){return void 0===t?this.getTokens(cn.EXCLUDING):this.getToken(cn.EXCLUDING,t)}get ruleIndex(){return cn.RULE_tableLikeOptionList}accept(t){return t.visitTableLikeOptionList?t.visitTableLikeOptionList(this):t.visitChildren(this)}},Kh=class extends ga{constructor(t,e){super(t,e)}COMMENTS(){return this.getToken(cn.COMMENTS,0)}CONSTRAINTS(){return this.getToken(cn.CONSTRAINTS,0)}DEFAULTS(){return this.getToken(cn.DEFAULTS,0)}IDENTITY_P(){return this.getToken(cn.IDENTITY_P,0)}GENERATED(){return this.getToken(cn.GENERATED,0)}INDEXES(){return this.getToken(cn.INDEXES,0)}STATISTICS(){return this.getToken(cn.STATISTICS,0)}STORAGE(){return this.getToken(cn.STORAGE,0)}ALL(){return this.getToken(cn.ALL,0)}get ruleIndex(){return cn.RULE_tableLikeOption}accept(t){return t.visitTableLikeOption?t.visitTableLikeOption(this):t.visitChildren(this)}},Qh=class extends ga{constructor(t,e){super(t,e)}CONSTRAINT(){return this.getToken(cn.CONSTRAINT,0)}name(){return this.getRuleContext(0,yu)}constraintElement(){return this.getRuleContext(0,Jh)}get ruleIndex(){return cn.RULE_tableConstraint}accept(t){return t.visitTableConstraint?t.visitTableConstraint(this):t.visitChildren(this)}},Jh=class extends ga{constructor(t,e){super(t,e)}CHECK(){return this.getToken(cn.CHECK,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}constraintAttributeSpecification(){return this.getRuleContext(0,WT)}UNIQUE(){return this.getToken(cn.UNIQUE,0)}columnList(){return this.getRuleContext(0,qh)}optionalColumnListInclude(){return this.getRuleContext(0,zh)}optionalDefinition(){return this.getRuleContext(0,FR)}usingIndexTablespace(){return this.getRuleContext(0,OE)}existingIndex(){return this.getRuleContext(0,IE)}PRIMARY(){return this.getToken(cn.PRIMARY,0)}KEY(){return this.getToken(cn.KEY,0)}EXCLUDE(){return this.getToken(cn.EXCLUDE,0)}optionalAccessMethodClause(){return this.getRuleContext(0,iR)}exclusionConstraintList(){return this.getRuleContext(0,tE)}exclusionWhereClause(){return this.getRuleContext(0,sE)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}REFERENCES(){return this.getToken(cn.REFERENCES,0)}qualifiedName(){return this.getRuleContext(0,vu)}columnListWithParentheses(){return this.getRuleContext(0,Zh)}matchClause(){return this.getRuleContext(0,$h)}keyActions(){return this.getRuleContext(0,aE)}get ruleIndex(){return cn.RULE_constraintElement}accept(t){return t.visitConstraintElement?t.visitConstraintElement(this):t.visitChildren(this)}},Zh=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}columnList(){return this.getRuleContext(0,qh)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_columnListWithParentheses}accept(t){return t.visitColumnListWithParentheses?t.visitColumnListWithParentheses(this):t.visitChildren(this)}},qh=class extends ga{constructor(t,e){super(t,e)}columnElement(t){return void 0===t?this.getRuleContexts(jh):this.getRuleContext(t,jh)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_columnList}accept(t){return t.visitColumnList?t.visitColumnList(this):t.visitChildren(this)}},jh=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_columnElement}accept(t){return t.visitColumnElement?t.visitColumnElement(this):t.visitChildren(this)}},zh=class extends ga{constructor(t,e){super(t,e)}INCLUDE(){return this.getToken(cn.INCLUDE,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}columnList(){return this.getRuleContext(0,qh)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_optionalColumnListInclude}accept(t){return t.visitOptionalColumnListInclude?t.visitOptionalColumnListInclude(this):t.visitChildren(this)}},$h=class extends ga{constructor(t,e){super(t,e)}MATCH(){return this.getToken(cn.MATCH,0)}FULL(){return this.getToken(cn.FULL,0)}PARTIAL(){return this.getToken(cn.PARTIAL,0)}SIMPLE(){return this.getToken(cn.SIMPLE,0)}get ruleIndex(){return cn.RULE_matchClause}accept(t){return t.visitMatchClause?t.visitMatchClause(this):t.visitChildren(this)}},tE=class extends ga{constructor(t,e){super(t,e)}exclusionConstraintElement(t){return void 0===t?this.getRuleContexts(eE):this.getRuleContext(t,eE)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_exclusionConstraintList}accept(t){return t.visitExclusionConstraintList?t.visitExclusionConstraintList(this):t.visitChildren(this)}},eE=class extends ga{constructor(t,e){super(t,e)}indexElement(){return this.getRuleContext(0,hR)}WITH(){return this.getToken(cn.WITH,0)}anyOperator(){return this.getRuleContext(0,WR)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_exclusionConstraintElement}accept(t){return t.visitExclusionConstraintElement?t.visitExclusionConstraintElement(this):t.visitChildren(this)}},sE=class extends ga{constructor(t,e){super(t,e)}WHERE(){return this.getToken(cn.WHERE,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_exclusionWhereClause}accept(t){return t.visitExclusionWhereClause?t.visitExclusionWhereClause(this):t.visitChildren(this)}},aE=class extends ga{constructor(t,e){super(t,e)}onKeyUpdateClause(){return this.getRuleContext(0,rE)}onKeyDeleteClause(){return this.getRuleContext(0,iE)}get ruleIndex(){return cn.RULE_keyActions}accept(t){return t.visitKeyActions?t.visitKeyActions(this):t.visitChildren(this)}},rE=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(cn.ON,0)}UPDATE(){return this.getToken(cn.UPDATE,0)}keyAction(){return this.getRuleContext(0,cE)}get ruleIndex(){return cn.RULE_onKeyUpdateClause}accept(t){return t.visitOnKeyUpdateClause?t.visitOnKeyUpdateClause(this):t.visitChildren(this)}},iE=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(cn.ON,0)}DELETE_P(){return this.getToken(cn.DELETE_P,0)}keyAction(){return this.getRuleContext(0,cE)}get ruleIndex(){return cn.RULE_onKeyDeleteClause}accept(t){return t.visitOnKeyDeleteClause?t.visitOnKeyDeleteClause(this):t.visitChildren(this)}},cE=class extends ga{constructor(t,e){super(t,e)}NO(){return this.getToken(cn.NO,0)}ACTION(){return this.getToken(cn.ACTION,0)}RESTRICT(){return this.getToken(cn.RESTRICT,0)}CASCADE(){return this.getToken(cn.CASCADE,0)}SET(){return this.getToken(cn.SET,0)}NULL_P(){return this.getToken(cn.NULL_P,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}get ruleIndex(){return cn.RULE_keyAction}accept(t){return t.visitKeyAction?t.visitKeyAction(this):t.visitChildren(this)}},nE=class extends ga{constructor(t,e){super(t,e)}INHERITS(){return this.getToken(cn.INHERITS,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}qualifiedNameList(){return this.getRuleContext(0,du)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_inheritClause}accept(t){return t.visitInheritClause?t.visitInheritClause(this):t.visitChildren(this)}},hE=class extends ga{constructor(t,e){super(t,e)}partitionSpecification(){return this.getRuleContext(0,EE)}get ruleIndex(){return cn.RULE_optionalPartitionSpecification}accept(t){return t.visitOptionalPartitionSpecification?t.visitOptionalPartitionSpecification(this):t.visitChildren(this)}},EE=class extends ga{constructor(t,e){super(t,e)}PARTITION(){return this.getToken(cn.PARTITION,0)}BY(){return this.getToken(cn.BY,0)}columnId(){return this.getRuleContext(0,$u)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}partitionElements(){return this.getRuleContext(0,TE)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_partitionSpecification}accept(t){return t.visitPartitionSpecification?t.visitPartitionSpecification(this):t.visitChildren(this)}},TE=class extends ga{constructor(t,e){super(t,e)}partitionElement(t){return void 0===t?this.getRuleContexts(oE):this.getRuleContext(t,oE)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_partitionElements}accept(t){return t.visitPartitionElements?t.visitPartitionElements(this):t.visitChildren(this)}},oE=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}optionalCollate(){return this.getRuleContext(0,TR)}optionalClass(){return this.getRuleContext(0,oR)}functionExpressionWindowless(){return this.getRuleContext(0,OI)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_partitionElement}accept(t){return t.visitPartitionElement?t.visitPartitionElement(this):t.visitChildren(this)}},RE=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_optionalTableAccessMethodClause}accept(t){return t.visitOptionalTableAccessMethodClause?t.visitOptionalTableAccessMethodClause(this):t.visitChildren(this)}},AE=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}relOptions(){return this.getRuleContext(0,nh)}WITHOUT(){return this.getToken(cn.WITHOUT,0)}OIDS(){return this.getToken(cn.OIDS,0)}get ruleIndex(){return cn.RULE_with}accept(t){return t.visitWith?t.visitWith(this):t.visitChildren(this)}},SE=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(cn.ON,0)}COMMIT(){return this.getToken(cn.COMMIT,0)}DROP(){return this.getToken(cn.DROP,0)}DELETE_P(){return this.getToken(cn.DELETE_P,0)}ROWS(){return this.getToken(cn.ROWS,0)}PRESERVE(){return this.getToken(cn.PRESERVE,0)}get ruleIndex(){return cn.RULE_onCommitOption}accept(t){return t.visitOnCommitOption?t.visitOnCommitOption(this):t.visitChildren(this)}},lE=class extends ga{constructor(t,e){super(t,e)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_optionalTablespace}accept(t){return t.visitOptionalTablespace?t.visitOptionalTablespace(this):t.visitChildren(this)}},OE=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}INDEX(){return this.getToken(cn.INDEX,0)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_usingIndexTablespace}accept(t){return t.visitUsingIndexTablespace?t.visitUsingIndexTablespace(this):t.visitChildren(this)}},IE=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}INDEX(){return this.getToken(cn.INDEX,0)}indexName(){return this.getRuleContext(0,gu)}get ruleIndex(){return cn.RULE_existingIndex}accept(t){return t.visitExistingIndex?t.visitExistingIndex(this):t.visitChildren(this)}},uE=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}STATISTICS(){return this.getToken(cn.STATISTICS,0)}anyName(){return this.getRuleContext(0,mo)}optionalNameList(){return this.getRuleContext(0,uS)}ON(){return this.getToken(cn.ON,0)}expressionList(){return this.getRuleContext(0,ZI)}FROM(){return this.getToken(cn.FROM,0)}fromList(){return this.getRuleContext(0,Xl)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_createStatsStatement}accept(t){return t.visitCreateStatsStatement?t.visitCreateStatsStatement(this):t.visitChildren(this)}},NE=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}STATISTICS(t){return void 0===t?this.getTokens(cn.STATISTICS):this.getToken(cn.STATISTICS,t)}anyName(){return this.getRuleContext(0,mo)}SET(){return this.getToken(cn.SET,0)}signedIconst(){return this.getRuleContext(0,qu)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_alterStatsStatement}accept(t){return t.visitAlterStatsStatement?t.visitAlterStatsStatement(this):t.visitChildren(this)}},LE=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}temporaryOption(){return this.getRuleContext(0,gh)}TABLE(){return this.getToken(cn.TABLE,0)}createAsTarget(){return this.getRuleContext(0,CE)}AS(){return this.getToken(cn.AS,0)}selectStatement(){return this.getRuleContext(0,il)}withData(){return this.getRuleContext(0,_E)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_createAsStatement}accept(t){return t.visitCreateAsStatement?t.visitCreateAsStatement(this):t.visitChildren(this)}},CE=class extends ga{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,vu)}columnListWithParentheses(){return this.getRuleContext(0,Zh)}optionalTableAccessMethodClause(){return this.getRuleContext(0,RE)}with(){return this.getRuleContext(0,AE)}onCommitOption(){return this.getRuleContext(0,SE)}optionalTablespace(){return this.getRuleContext(0,lE)}get ruleIndex(){return cn.RULE_createAsTarget}accept(t){return t.visitCreateAsTarget?t.visitCreateAsTarget(this):t.visitChildren(this)}},_E=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}DATA_P(){return this.getToken(cn.DATA_P,0)}NO(){return this.getToken(cn.NO,0)}get ruleIndex(){return cn.RULE_withData}accept(t){return t.visitWithData?t.visitWithData(this):t.visitChildren(this)}},PE=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}MATERIALIZED(){return this.getToken(cn.MATERIALIZED,0)}VIEW(){return this.getToken(cn.VIEW,0)}createMaterializedViewTarget(){return this.getRuleContext(0,ME)}AS(){return this.getToken(cn.AS,0)}selectStatement(){return this.getRuleContext(0,il)}withData(){return this.getRuleContext(0,_E)}UNLOGGED(){return this.getToken(cn.UNLOGGED,0)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_createMaterializedViewStatement}accept(t){return t.visitCreateMaterializedViewStatement?t.visitCreateMaterializedViewStatement(this):t.visitChildren(this)}},ME=class extends ga{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,vu)}columnListWithParentheses(){return this.getRuleContext(0,Zh)}optionalTableAccessMethodClause(){return this.getRuleContext(0,RE)}optionalRelOptions(){return this.getRuleContext(0,hh)}optionalTablespace(){return this.getRuleContext(0,lE)}get ruleIndex(){return cn.RULE_createMaterializedViewTarget}accept(t){return t.visitCreateMaterializedViewTarget?t.visitCreateMaterializedViewTarget(this):t.visitChildren(this)}},dE=class extends ga{constructor(t,e){super(t,e)}REFRESH(){return this.getToken(cn.REFRESH,0)}MATERIALIZED(){return this.getToken(cn.MATERIALIZED,0)}VIEW(){return this.getToken(cn.VIEW,0)}qualifiedName(){return this.getRuleContext(0,vu)}withData(){return this.getRuleContext(0,_E)}CONCURRENTLY(){return this.getToken(cn.CONCURRENTLY,0)}get ruleIndex(){return cn.RULE_refreshMaterializedViewStatement}accept(t){return t.visitRefreshMaterializedViewStatement?t.visitRefreshMaterializedViewStatement(this):t.visitChildren(this)}},UE=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}temporaryOption(){return this.getRuleContext(0,gh)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}qualifiedName(){return this.getRuleContext(0,vu)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}sequenceOptionList(){return this.getRuleContext(0,pE)}get ruleIndex(){return cn.RULE_createSequenceStatement}accept(t){return t.visitCreateSequenceStatement?t.visitCreateSequenceStatement(this):t.visitChildren(this)}},mE=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}sequenceName(){return this.getRuleContext(0,Gu)}sequenceOptionList(){return this.getRuleContext(0,pE)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_alterSequenceStatement}accept(t){return t.visitAlterSequenceStatement?t.visitAlterSequenceStatement(this):t.visitChildren(this)}},DE=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}sequenceOptionList(){return this.getRuleContext(0,pE)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_optionalParenthesizedSeqOptionsList}accept(t){return t.visitOptionalParenthesizedSeqOptionsList?t.visitOptionalParenthesizedSeqOptionsList(this):t.visitChildren(this)}},pE=class extends ga{constructor(t,e){super(t,e)}sequenceOptionItem(t){return void 0===t?this.getRuleContexts(gE):this.getRuleContext(t,gE)}get ruleIndex(){return cn.RULE_sequenceOptionList}accept(t){return t.visitSequenceOptionList?t.visitSequenceOptionList(this):t.visitChildren(this)}},gE=class extends ga{constructor(t,e){super(t,e)}AS(){return this.getToken(cn.AS,0)}simpleTypeName(){return this.getRuleContext(0,CO)}CACHE(){return this.getToken(cn.CACHE,0)}numericOnly(){return this.getRuleContext(0,xE)}CYCLE(){return this.getToken(cn.CYCLE,0)}INCREMENT(){return this.getToken(cn.INCREMENT,0)}BY(){return this.getToken(cn.BY,0)}MAXVALUE(){return this.getToken(cn.MAXVALUE,0)}MINVALUE(){return this.getToken(cn.MINVALUE,0)}NO(){return this.getToken(cn.NO,0)}OWNED(){return this.getToken(cn.OWNED,0)}anyName(){return this.getRuleContext(0,mo)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}NAME_P(){return this.getToken(cn.NAME_P,0)}START(){return this.getToken(cn.START,0)}optionalWith(){return this.getRuleContext(0,An)}RESTART(){return this.getToken(cn.RESTART,0)}get ruleIndex(){return cn.RULE_sequenceOptionItem}accept(t){return t.visitSequenceOptionItem?t.visitSequenceOptionItem(this):t.visitChildren(this)}},xE=class extends ga{constructor(t,e){super(t,e)}fconst(){return this.getRuleContext(0,Xu)}PLUS(){return this.getToken(cn.PLUS,0)}MINUS(){return this.getToken(cn.MINUS,0)}signedIconst(){return this.getRuleContext(0,qu)}get ruleIndex(){return cn.RULE_numericOnly}accept(t){return t.visitNumericOnly?t.visitNumericOnly(this):t.visitChildren(this)}},kE=class extends ga{constructor(t,e){super(t,e)}numericOnly(t){return void 0===t?this.getRuleContexts(xE):this.getRuleContext(t,xE)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_numericOnlyList}accept(t){return t.visitNumericOnlyList?t.visitNumericOnlyList(this):t.visitChildren(this)}},HE=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}optionalOrReplace(){return this.getRuleContext(0,lR)}optionalProcedural(){return this.getRuleContext(0,BE)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}name(){return this.getRuleContext(0,yu)}TRUSTED(){return this.getToken(cn.TRUSTED,0)}HANDLER(){return this.getToken(cn.HANDLER,0)}handlerName(){return this.getRuleContext(0,GE)}optionalInlineHandler(){return this.getRuleContext(0,FE)}validatorClause(){return this.getRuleContext(0,vE)}get ruleIndex(){return cn.RULE_createProcedureLangStatement}accept(t){return t.visitCreateProcedureLangStatement?t.visitCreateProcedureLangStatement(this):t.visitChildren(this)}},GE=class extends ga{constructor(t,e){super(t,e)}name(){return this.getRuleContext(0,yu)}attributes(){return this.getRuleContext(0,Do)}get ruleIndex(){return cn.RULE_handlerName}accept(t){return t.visitHandlerName?t.visitHandlerName(this):t.visitChildren(this)}},FE=class extends ga{constructor(t,e){super(t,e)}INLINE_P(){return this.getToken(cn.INLINE_P,0)}handlerName(){return this.getRuleContext(0,GE)}get ruleIndex(){return cn.RULE_optionalInlineHandler}accept(t){return t.visitOptionalInlineHandler?t.visitOptionalInlineHandler(this):t.visitChildren(this)}},vE=class extends ga{constructor(t,e){super(t,e)}VALIDATOR(){return this.getToken(cn.VALIDATOR,0)}handlerName(){return this.getRuleContext(0,GE)}NO(){return this.getToken(cn.NO,0)}get ruleIndex(){return cn.RULE_validatorClause}accept(t){return t.visitValidatorClause?t.visitValidatorClause(this):t.visitChildren(this)}},BE=class extends ga{constructor(t,e){super(t,e)}PROCEDURAL(){return this.getToken(cn.PROCEDURAL,0)}get ruleIndex(){return cn.RULE_optionalProcedural}accept(t){return t.visitOptionalProcedural?t.visitOptionalProcedural(this):t.visitChildren(this)}},yE=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}name(){return this.getRuleContext(0,yu)}optionalTablespaceOwner(){return this.getRuleContext(0,fE)}LOCATION(){return this.getToken(cn.LOCATION,0)}sconst(){return this.getRuleContext(0,Qu)}optionalRelOptions(){return this.getRuleContext(0,hh)}get ruleIndex(){return cn.RULE_createTablespaceStatement}accept(t){return t.visitCreateTablespaceStatement?t.visitCreateTablespaceStatement(this):t.visitChildren(this)}},fE=class extends ga{constructor(t,e){super(t,e)}OWNER(){return this.getToken(cn.OWNER,0)}roleName(){return this.getRuleContext(0,ju)}get ruleIndex(){return cn.RULE_optionalTablespaceOwner}accept(t){return t.visitOptionalTablespaceOwner?t.visitOptionalTablespaceOwner(this):t.visitChildren(this)}},YE=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}name(){return this.getRuleContext(0,yu)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_dropTablespaceStatement}accept(t){return t.visitDropTablespaceStatement?t.visitDropTablespaceStatement(this):t.visitChildren(this)}},wE=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}EXTENSION(){return this.getToken(cn.EXTENSION,0)}name(){return this.getRuleContext(0,yu)}optionalWith(){return this.getRuleContext(0,An)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}createExtensionOptionItem(t){return void 0===t?this.getRuleContexts(bE):this.getRuleContext(t,bE)}get ruleIndex(){return cn.RULE_createExtensionStatement}accept(t){return t.visitCreateExtensionStatement?t.visitCreateExtensionStatement(this):t.visitChildren(this)}},bE=class extends ga{constructor(t,e){super(t,e)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaName(){return this.getRuleContext(0,Du)}VERSION_P(){return this.getToken(cn.VERSION_P,0)}nonReservedWordOrSconst(){return this.getRuleContext(0,fn)}FROM(){return this.getToken(cn.FROM,0)}CASCADE(){return this.getToken(cn.CASCADE,0)}get ruleIndex(){return cn.RULE_createExtensionOptionItem}accept(t){return t.visitCreateExtensionOptionItem?t.visitCreateExtensionOptionItem(this):t.visitChildren(this)}},WE=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}EXTENSION(){return this.getToken(cn.EXTENSION,0)}name(){return this.getRuleContext(0,yu)}UPDATE(){return this.getToken(cn.UPDATE,0)}alterExtensionOptionItem(t){return void 0===t?this.getRuleContexts(VE):this.getRuleContext(t,VE)}get ruleIndex(){return cn.RULE_alterExtensionStatement}accept(t){return t.visitAlterExtensionStatement?t.visitAlterExtensionStatement(this):t.visitChildren(this)}},VE=class extends ga{constructor(t,e){super(t,e)}TO(){return this.getToken(cn.TO,0)}nonReservedWordOrSconst(){return this.getRuleContext(0,fn)}get ruleIndex(){return cn.RULE_alterExtensionOptionItem}accept(t){return t.visitAlterExtensionOptionItem?t.visitAlterExtensionOptionItem(this):t.visitChildren(this)}},XE=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}EXTENSION(){return this.getToken(cn.EXTENSION,0)}name(t){return void 0===t?this.getRuleContexts(yu):this.getRuleContext(t,yu)}addOrDrop(){return this.getRuleContext(0,Pn)}objectTypeName(){return this.getRuleContext(0,_o)}ROLE(){return this.getToken(cn.ROLE,0)}roleName(){return this.getRuleContext(0,ju)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseName(){return this.getRuleContext(0,Uu)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaName(){return this.getRuleContext(0,Du)}INDEX(){return this.getToken(cn.INDEX,0)}indexName(){return this.getRuleContext(0,gu)}objectTypeAnyName(){return this.getRuleContext(0,Co)}anyName(){return this.getRuleContext(0,mo)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}sequenceName(){return this.getRuleContext(0,Gu)}AGGREGATE(){return this.getToken(cn.AGGREGATE,0)}aggregateWithArgumentTypes(){return this.getRuleContext(0,DR)}CAST(){return this.getToken(cn.CAST,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}typeName(t){return void 0===t?this.getRuleContexts(LO):this.getRuleContext(t,LO)}AS(){return this.getToken(cn.AS,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypes(){return this.getRuleContext(0,uR)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}operatorWithArgumentTypes(){return this.getRuleContext(0,XR)}CLASS(){return this.getToken(cn.CLASS,0)}USING(){return this.getToken(cn.USING,0)}FAMILY(){return this.getToken(cn.FAMILY,0)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}TRANSFORM(){return this.getToken(cn.TRANSFORM,0)}FOR(){return this.getToken(cn.FOR,0)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}get ruleIndex(){return cn.RULE_alterExtensionContentsStatement}accept(t){return t.visitAlterExtensionContentsStatement?t.visitAlterExtensionContentsStatement(this):t.visitChildren(this)}},KE=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}DATA_P(){return this.getToken(cn.DATA_P,0)}WRAPPER(){return this.getToken(cn.WRAPPER,0)}name(){return this.getRuleContext(0,yu)}createGenericOptions(){return this.getRuleContext(0,qE)}forwardOptions(){return this.getRuleContext(0,JE)}get ruleIndex(){return cn.RULE_createForeignDataWrapperStatement}accept(t){return t.visitCreateForeignDataWrapperStatement?t.visitCreateForeignDataWrapperStatement(this):t.visitChildren(this)}},QE=class extends ga{constructor(t,e){super(t,e)}HANDLER(){return this.getToken(cn.HANDLER,0)}handlerName(){return this.getRuleContext(0,GE)}NO(){return this.getToken(cn.NO,0)}VALIDATOR(){return this.getToken(cn.VALIDATOR,0)}get ruleIndex(){return cn.RULE_forwardOption}accept(t){return t.visitForwardOption?t.visitForwardOption(this):t.visitChildren(this)}},JE=class extends ga{constructor(t,e){super(t,e)}forwardOption(t){return void 0===t?this.getRuleContexts(QE):this.getRuleContext(t,QE)}get ruleIndex(){return cn.RULE_forwardOptions}accept(t){return t.visitForwardOptions?t.visitForwardOptions(this):t.visitChildren(this)}},ZE=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}DATA_P(){return this.getToken(cn.DATA_P,0)}WRAPPER(){return this.getToken(cn.WRAPPER,0)}name(){return this.getRuleContext(0,yu)}alterGenericOptions(){return this.getRuleContext(0,zE)}forwardOptions(){return this.getRuleContext(0,JE)}get ruleIndex(){return cn.RULE_alterForeignDataWrapperStatement}accept(t){return t.visitAlterForeignDataWrapperStatement?t.visitAlterForeignDataWrapperStatement(this):t.visitChildren(this)}},qE=class extends ga{constructor(t,e){super(t,e)}OPTIONS(){return this.getToken(cn.OPTIONS,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}genericOptionList(){return this.getRuleContext(0,jE)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_createGenericOptions}accept(t){return t.visitCreateGenericOptions?t.visitCreateGenericOptions(this):t.visitChildren(this)}},jE=class extends ga{constructor(t,e){super(t,e)}genericOptionElement(t){return void 0===t?this.getRuleContexts(eT):this.getRuleContext(t,eT)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_genericOptionList}accept(t){return t.visitGenericOptionList?t.visitGenericOptionList(this):t.visitChildren(this)}},zE=class extends ga{constructor(t,e){super(t,e)}OPTIONS(){return this.getToken(cn.OPTIONS,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}alterGenericOptionList(){return this.getRuleContext(0,$E)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_alterGenericOptions}accept(t){return t.visitAlterGenericOptions?t.visitAlterGenericOptions(this):t.visitChildren(this)}},$E=class extends ga{constructor(t,e){super(t,e)}alterGenericOptionElem(t){return void 0===t?this.getRuleContexts(tT):this.getRuleContext(t,tT)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_alterGenericOptionList}accept(t){return t.visitAlterGenericOptionList?t.visitAlterGenericOptionList(this):t.visitChildren(this)}},tT=class extends ga{constructor(t,e){super(t,e)}genericOptionElement(){return this.getRuleContext(0,eT)}SET(){return this.getToken(cn.SET,0)}ADD_P(){return this.getToken(cn.ADD_P,0)}DROP(){return this.getToken(cn.DROP,0)}genericOptionName(){return this.getRuleContext(0,sT)}get ruleIndex(){return cn.RULE_alterGenericOptionElem}accept(t){return t.visitAlterGenericOptionElem?t.visitAlterGenericOptionElem(this):t.visitChildren(this)}},eT=class extends ga{constructor(t,e){super(t,e)}genericOptionName(){return this.getRuleContext(0,sT)}genericOptionArgument(){return this.getRuleContext(0,aT)}get ruleIndex(){return cn.RULE_genericOptionElement}accept(t){return t.visitGenericOptionElement?t.visitGenericOptionElement(this):t.visitChildren(this)}},sT=class extends ga{constructor(t,e){super(t,e)}columnLabel(){return this.getRuleContext(0,aN)}get ruleIndex(){return cn.RULE_genericOptionName}accept(t){return t.visitGenericOptionName?t.visitGenericOptionName(this):t.visitChildren(this)}},aT=class extends ga{constructor(t,e){super(t,e)}sconst(){return this.getRuleContext(0,Qu)}get ruleIndex(){return cn.RULE_genericOptionArgument}accept(t){return t.visitGenericOptionArgument?t.visitGenericOptionArgument(this):t.visitChildren(this)}},rT=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}SERVER(){return this.getToken(cn.SERVER,0)}name(t){return void 0===t?this.getRuleContexts(yu):this.getRuleContext(t,yu)}optionalType(){return this.getRuleContext(0,iT)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}DATA_P(){return this.getToken(cn.DATA_P,0)}WRAPPER(){return this.getToken(cn.WRAPPER,0)}createGenericOptions(){return this.getRuleContext(0,qE)}foreignServerVersion(){return this.getRuleContext(0,cT)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_createForeignServerStatement}accept(t){return t.visitCreateForeignServerStatement?t.visitCreateForeignServerStatement(this):t.visitChildren(this)}},iT=class extends ga{constructor(t,e){super(t,e)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}sconst(){return this.getRuleContext(0,Qu)}get ruleIndex(){return cn.RULE_optionalType}accept(t){return t.visitOptionalType?t.visitOptionalType(this):t.visitChildren(this)}},cT=class extends ga{constructor(t,e){super(t,e)}VERSION_P(){return this.getToken(cn.VERSION_P,0)}sconst(){return this.getRuleContext(0,Qu)}NULL_P(){return this.getToken(cn.NULL_P,0)}get ruleIndex(){return cn.RULE_foreignServerVersion}accept(t){return t.visitForeignServerVersion?t.visitForeignServerVersion(this):t.visitChildren(this)}},nT=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}SERVER(){return this.getToken(cn.SERVER,0)}name(){return this.getRuleContext(0,yu)}alterGenericOptions(){return this.getRuleContext(0,zE)}foreignServerVersion(){return this.getRuleContext(0,cT)}get ruleIndex(){return cn.RULE_alterForeignServerStatement}accept(t){return t.visitAlterForeignServerStatement?t.visitAlterForeignServerStatement(this):t.visitChildren(this)}},hT=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}TABLE(){return this.getToken(cn.TABLE,0)}qualifiedName(t){return void 0===t?this.getRuleContexts(vu):this.getRuleContext(t,vu)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}optionalTableElementList(){return this.getRuleContext(0,xh)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}inheritClause(){return this.getRuleContext(0,nE)}SERVER(){return this.getToken(cn.SERVER,0)}name(){return this.getRuleContext(0,yu)}createGenericOptions(){return this.getRuleContext(0,qE)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}PARTITION(){return this.getToken(cn.PARTITION,0)}OF(){return this.getToken(cn.OF,0)}optionalTypedTableElementList(){return this.getRuleContext(0,kh)}partitionBoundSpecification(){return this.getRuleContext(0,Ah)}get ruleIndex(){return cn.RULE_createForeignTableStatement}accept(t){return t.visitCreateForeignTableStatement?t.visitCreateForeignTableStatement(this):t.visitChildren(this)}},ET=class extends ga{constructor(t,e){super(t,e)}IMPORT_P(){return this.getToken(cn.IMPORT_P,0)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}name(t){return void 0===t?this.getRuleContexts(yu):this.getRuleContext(t,yu)}importQualification(){return this.getRuleContext(0,oT)}FROM(){return this.getToken(cn.FROM,0)}SERVER(){return this.getToken(cn.SERVER,0)}INTO(){return this.getToken(cn.INTO,0)}createGenericOptions(){return this.getRuleContext(0,qE)}get ruleIndex(){return cn.RULE_importForeignSchemaStatement}accept(t){return t.visitImportForeignSchemaStatement?t.visitImportForeignSchemaStatement(this):t.visitChildren(this)}},TT=class extends ga{constructor(t,e){super(t,e)}LIMIT(){return this.getToken(cn.LIMIT,0)}TO(){return this.getToken(cn.TO,0)}EXCEPT(){return this.getToken(cn.EXCEPT,0)}get ruleIndex(){return cn.RULE_importQualificationType}accept(t){return t.visitImportQualificationType?t.visitImportQualificationType(this):t.visitChildren(this)}},oT=class extends ga{constructor(t,e){super(t,e)}importQualificationType(){return this.getRuleContext(0,TT)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}relationExpressionList(){return this.getRuleContext(0,sO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_importQualification}accept(t){return t.visitImportQualification?t.visitImportQualification(this):t.visitChildren(this)}},RT=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}USER(){return this.getToken(cn.USER,0)}MAPPING(){return this.getToken(cn.MAPPING,0)}FOR(){return this.getToken(cn.FOR,0)}authIdentifier(){return this.getRuleContext(0,AT)}SERVER(){return this.getToken(cn.SERVER,0)}name(){return this.getRuleContext(0,yu)}createGenericOptions(){return this.getRuleContext(0,qE)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_createUserMappingStatement}accept(t){return t.visitCreateUserMappingStatement?t.visitCreateUserMappingStatement(this):t.visitChildren(this)}},AT=class extends ga{constructor(t,e){super(t,e)}roleName(){return this.getRuleContext(0,ju)}USER(){return this.getToken(cn.USER,0)}get ruleIndex(){return cn.RULE_authIdentifier}accept(t){return t.visitAuthIdentifier?t.visitAuthIdentifier(this):t.visitChildren(this)}},ST=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}USER(){return this.getToken(cn.USER,0)}MAPPING(){return this.getToken(cn.MAPPING,0)}FOR(){return this.getToken(cn.FOR,0)}authIdentifier(){return this.getRuleContext(0,AT)}SERVER(){return this.getToken(cn.SERVER,0)}name(){return this.getRuleContext(0,yu)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_dropUserMappingStatement}accept(t){return t.visitDropUserMappingStatement?t.visitDropUserMappingStatement(this):t.visitChildren(this)}},lT=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}USER(){return this.getToken(cn.USER,0)}MAPPING(){return this.getToken(cn.MAPPING,0)}FOR(){return this.getToken(cn.FOR,0)}authIdentifier(){return this.getRuleContext(0,AT)}SERVER(){return this.getToken(cn.SERVER,0)}name(){return this.getRuleContext(0,yu)}alterGenericOptions(){return this.getRuleContext(0,zE)}get ruleIndex(){return cn.RULE_alterUserMappingStatement}accept(t){return t.visitAlterUserMappingStatement?t.visitAlterUserMappingStatement(this):t.visitChildren(this)}},OT=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}POLICY(){return this.getToken(cn.POLICY,0)}name(){return this.getRuleContext(0,yu)}ON(){return this.getToken(cn.ON,0)}qualifiedName(){return this.getRuleContext(0,vu)}rowSecurityDefaultPermissive(){return this.getRuleContext(0,CT)}rowSecurityDefaultForCmd(){return this.getRuleContext(0,_T)}rowSecurityOptionalToUser(){return this.getRuleContext(0,LT)}rowSecurityOptionalExpression(){return this.getRuleContext(0,uT)}rowSecurityOptionalWithCheck(){return this.getRuleContext(0,NT)}get ruleIndex(){return cn.RULE_createPolicyStatement}accept(t){return t.visitCreatePolicyStatement?t.visitCreatePolicyStatement(this):t.visitChildren(this)}},IT=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}POLICY(){return this.getToken(cn.POLICY,0)}name(){return this.getRuleContext(0,yu)}ON(){return this.getToken(cn.ON,0)}qualifiedName(){return this.getRuleContext(0,vu)}rowSecurityOptionalToUser(){return this.getRuleContext(0,LT)}rowSecurityOptionalExpression(){return this.getRuleContext(0,uT)}rowSecurityOptionalWithCheck(){return this.getRuleContext(0,NT)}get ruleIndex(){return cn.RULE_alterPolicyStatement}accept(t){return t.visitAlterPolicyStatement?t.visitAlterPolicyStatement(this):t.visitChildren(this)}},uT=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_rowSecurityOptionalExpression}accept(t){return t.visitRowSecurityOptionalExpression?t.visitRowSecurityOptionalExpression(this):t.visitChildren(this)}},NT=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}CHECK(){return this.getToken(cn.CHECK,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_rowSecurityOptionalWithCheck}accept(t){return t.visitRowSecurityOptionalWithCheck?t.visitRowSecurityOptionalWithCheck(this):t.visitChildren(this)}},LT=class extends ga{constructor(t,e){super(t,e)}TO(){return this.getToken(cn.TO,0)}roleNameList(){return this.getRuleContext(0,zu)}get ruleIndex(){return cn.RULE_rowSecurityOptionalToUser}accept(t){return t.visitRowSecurityOptionalToUser?t.visitRowSecurityOptionalToUser(this):t.visitChildren(this)}},CT=class extends ga{constructor(t,e){super(t,e)}AS(){return this.getToken(cn.AS,0)}identifier(){return this.getRuleContext(0,rN)}get ruleIndex(){return cn.RULE_rowSecurityDefaultPermissive}accept(t){return t.visitRowSecurityDefaultPermissive?t.visitRowSecurityDefaultPermissive(this):t.visitChildren(this)}},_T=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(cn.FOR,0)}rowSecurityCommand(){return this.getRuleContext(0,PT)}get ruleIndex(){return cn.RULE_rowSecurityDefaultForCmd}accept(t){return t.visitRowSecurityDefaultForCmd?t.visitRowSecurityDefaultForCmd(this):t.visitChildren(this)}},PT=class extends ga{constructor(t,e){super(t,e)}ALL(){return this.getToken(cn.ALL,0)}SELECT(){return this.getToken(cn.SELECT,0)}INSERT(){return this.getToken(cn.INSERT,0)}UPDATE(){return this.getToken(cn.UPDATE,0)}DELETE_P(){return this.getToken(cn.DELETE_P,0)}get ruleIndex(){return cn.RULE_rowSecurityCommand}accept(t){return t.visitRowSecurityCommand?t.visitRowSecurityCommand(this):t.visitChildren(this)}},MT=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}ACCESS(){return this.getToken(cn.ACCESS,0)}METHOD(){return this.getToken(cn.METHOD,0)}name(){return this.getRuleContext(0,yu)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}accessMethodType(){return this.getRuleContext(0,dT)}HANDLER(){return this.getToken(cn.HANDLER,0)}handlerName(){return this.getRuleContext(0,GE)}get ruleIndex(){return cn.RULE_createAccessMethodStatement}accept(t){return t.visitCreateAccessMethodStatement?t.visitCreateAccessMethodStatement(this):t.visitChildren(this)}},dT=class extends ga{constructor(t,e){super(t,e)}INDEX(){return this.getToken(cn.INDEX,0)}TABLE(){return this.getToken(cn.TABLE,0)}get ruleIndex(){return cn.RULE_accessMethodType}accept(t){return t.visitAccessMethodType?t.visitAccessMethodType(this):t.visitChildren(this)}},UT=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}name(){return this.getRuleContext(0,yu)}triggerActionTime(){return this.getRuleContext(0,mT)}triggerEvents(){return this.getRuleContext(0,DT)}ON(){return this.getToken(cn.ON,0)}qualifiedName(){return this.getRuleContext(0,vu)}triggerReferencing(){return this.getRuleContext(0,gT)}triggerForSpec(){return this.getRuleContext(0,vT)}triggerWhen(){return this.getRuleContext(0,yT)}EXECUTE(){return this.getToken(cn.EXECUTE,0)}functionOrProcedure(){return this.getRuleContext(0,fT)}functionName(){return this.getRuleContext(0,wu)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}triggerFunctionArguments(){return this.getRuleContext(0,YT)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}CONSTRAINT(){return this.getToken(cn.CONSTRAINT,0)}AFTER(){return this.getToken(cn.AFTER,0)}optionalConstraintFromTable(){return this.getRuleContext(0,bT)}constraintAttributeSpecification(){return this.getRuleContext(0,WT)}FOR(){return this.getToken(cn.FOR,0)}EACH(){return this.getToken(cn.EACH,0)}ROW(){return this.getToken(cn.ROW,0)}get ruleIndex(){return cn.RULE_createTriggerStatement}accept(t){return t.visitCreateTriggerStatement?t.visitCreateTriggerStatement(this):t.visitChildren(this)}},mT=class extends ga{constructor(t,e){super(t,e)}BEFORE(){return this.getToken(cn.BEFORE,0)}AFTER(){return this.getToken(cn.AFTER,0)}INSTEAD(){return this.getToken(cn.INSTEAD,0)}OF(){return this.getToken(cn.OF,0)}get ruleIndex(){return cn.RULE_triggerActionTime}accept(t){return t.visitTriggerActionTime?t.visitTriggerActionTime(this):t.visitChildren(this)}},DT=class extends ga{constructor(t,e){super(t,e)}triggerOneEvent(t){return void 0===t?this.getRuleContexts(pT):this.getRuleContext(t,pT)}OR(t){return void 0===t?this.getTokens(cn.OR):this.getToken(cn.OR,t)}get ruleIndex(){return cn.RULE_triggerEvents}accept(t){return t.visitTriggerEvents?t.visitTriggerEvents(this):t.visitChildren(this)}},pT=class extends ga{constructor(t,e){super(t,e)}INSERT(){return this.getToken(cn.INSERT,0)}DELETE_P(){return this.getToken(cn.DELETE_P,0)}UPDATE(){return this.getToken(cn.UPDATE,0)}OF(){return this.getToken(cn.OF,0)}columnList(){return this.getRuleContext(0,qh)}TRUNCATE(){return this.getToken(cn.TRUNCATE,0)}get ruleIndex(){return cn.RULE_triggerOneEvent}accept(t){return t.visitTriggerOneEvent?t.visitTriggerOneEvent(this):t.visitChildren(this)}},gT=class extends ga{constructor(t,e){super(t,e)}REFERENCING(){return this.getToken(cn.REFERENCING,0)}triggerTransitions(){return this.getRuleContext(0,xT)}get ruleIndex(){return cn.RULE_triggerReferencing}accept(t){return t.visitTriggerReferencing?t.visitTriggerReferencing(this):t.visitChildren(this)}},xT=class extends ga{constructor(t,e){super(t,e)}triggerTransition(t){return void 0===t?this.getRuleContexts(kT):this.getRuleContext(t,kT)}get ruleIndex(){return cn.RULE_triggerTransitions}accept(t){return t.visitTriggerTransitions?t.visitTriggerTransitions(this):t.visitChildren(this)}},kT=class extends ga{constructor(t,e){super(t,e)}transitionOldOrNew(){return this.getRuleContext(0,HT)}transitionRowOrTable(){return this.getRuleContext(0,GT)}optionalAs(){return this.getRuleContext(0,rS)}transitionRelName(){return this.getRuleContext(0,FT)}get ruleIndex(){return cn.RULE_triggerTransition}accept(t){return t.visitTriggerTransition?t.visitTriggerTransition(this):t.visitChildren(this)}},HT=class extends ga{constructor(t,e){super(t,e)}NEW(){return this.getToken(cn.NEW,0)}OLD(){return this.getToken(cn.OLD,0)}get ruleIndex(){return cn.RULE_transitionOldOrNew}accept(t){return t.visitTransitionOldOrNew?t.visitTransitionOldOrNew(this):t.visitChildren(this)}},GT=class extends ga{constructor(t,e){super(t,e)}TABLE(){return this.getToken(cn.TABLE,0)}ROW(){return this.getToken(cn.ROW,0)}get ruleIndex(){return cn.RULE_transitionRowOrTable}accept(t){return t.visitTransitionRowOrTable?t.visitTransitionRowOrTable(this):t.visitChildren(this)}},FT=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_transitionRelName}accept(t){return t.visitTransitionRelName?t.visitTransitionRelName(this):t.visitChildren(this)}},vT=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(cn.FOR,0)}triggerForType(){return this.getRuleContext(0,BT)}EACH(){return this.getToken(cn.EACH,0)}get ruleIndex(){return cn.RULE_triggerForSpec}accept(t){return t.visitTriggerForSpec?t.visitTriggerForSpec(this):t.visitChildren(this)}},BT=class extends ga{constructor(t,e){super(t,e)}ROW(){return this.getToken(cn.ROW,0)}STATEMENT(){return this.getToken(cn.STATEMENT,0)}get ruleIndex(){return cn.RULE_triggerForType}accept(t){return t.visitTriggerForType?t.visitTriggerForType(this):t.visitChildren(this)}},yT=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(cn.WHEN,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_triggerWhen}accept(t){return t.visitTriggerWhen?t.visitTriggerWhen(this):t.visitChildren(this)}},fT=class extends ga{constructor(t,e){super(t,e)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}get ruleIndex(){return cn.RULE_functionOrProcedure}accept(t){return t.visitFunctionOrProcedure?t.visitFunctionOrProcedure(this):t.visitChildren(this)}},YT=class extends ga{constructor(t,e){super(t,e)}triggerFunctionArgument(t){return void 0===t?this.getRuleContexts(wT):this.getRuleContext(t,wT)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_triggerFunctionArguments}accept(t){return t.visitTriggerFunctionArguments?t.visitTriggerFunctionArguments(this):t.visitChildren(this)}},wT=class extends ga{constructor(t,e){super(t,e)}iconst(){return this.getRuleContext(0,Ku)}fconst(){return this.getRuleContext(0,Xu)}sconst(){return this.getRuleContext(0,Qu)}columnLabel(){return this.getRuleContext(0,aN)}get ruleIndex(){return cn.RULE_triggerFunctionArgument}accept(t){return t.visitTriggerFunctionArgument?t.visitTriggerFunctionArgument(this):t.visitChildren(this)}},bT=class extends ga{constructor(t,e){super(t,e)}FROM(){return this.getToken(cn.FROM,0)}qualifiedName(){return this.getRuleContext(0,vu)}get ruleIndex(){return cn.RULE_optionalConstraintFromTable}accept(t){return t.visitOptionalConstraintFromTable?t.visitOptionalConstraintFromTable(this):t.visitChildren(this)}},WT=class extends ga{constructor(t,e){super(t,e)}constraintAttributeElement(t){return void 0===t?this.getRuleContexts(VT):this.getRuleContext(t,VT)}get ruleIndex(){return cn.RULE_constraintAttributeSpecification}accept(t){return t.visitConstraintAttributeSpecification?t.visitConstraintAttributeSpecification(this):t.visitChildren(this)}},VT=class extends ga{constructor(t,e){super(t,e)}NOT(){return this.getToken(cn.NOT,0)}DEFERRABLE(){return this.getToken(cn.DEFERRABLE,0)}INITIALLY(){return this.getToken(cn.INITIALLY,0)}IMMEDIATE(){return this.getToken(cn.IMMEDIATE,0)}DEFERRED(){return this.getToken(cn.DEFERRED,0)}VALID(){return this.getToken(cn.VALID,0)}NO(){return this.getToken(cn.NO,0)}INHERIT(){return this.getToken(cn.INHERIT,0)}get ruleIndex(){return cn.RULE_constraintAttributeElement}accept(t){return t.visitConstraintAttributeElement?t.visitConstraintAttributeElement(this):t.visitChildren(this)}},XT=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}EVENT(){return this.getToken(cn.EVENT,0)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}name(){return this.getRuleContext(0,yu)}ON(){return this.getToken(cn.ON,0)}columnLabel(){return this.getRuleContext(0,aN)}EXECUTE(){return this.getToken(cn.EXECUTE,0)}functionOrProcedure(){return this.getRuleContext(0,fT)}functionName(){return this.getRuleContext(0,wu)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}WHEN(){return this.getToken(cn.WHEN,0)}eventTriggerWhenList(){return this.getRuleContext(0,KT)}get ruleIndex(){return cn.RULE_createEventTriggerStatement}accept(t){return t.visitCreateEventTriggerStatement?t.visitCreateEventTriggerStatement(this):t.visitChildren(this)}},KT=class extends ga{constructor(t,e){super(t,e)}eventTriggerWhenItem(t){return void 0===t?this.getRuleContexts(QT):this.getRuleContext(t,QT)}AND(t){return void 0===t?this.getTokens(cn.AND):this.getToken(cn.AND,t)}get ruleIndex(){return cn.RULE_eventTriggerWhenList}accept(t){return t.visitEventTriggerWhenList?t.visitEventTriggerWhenList(this):t.visitChildren(this)}},QT=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}IN_P(){return this.getToken(cn.IN_P,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}eventTriggerValueList(){return this.getRuleContext(0,JT)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_eventTriggerWhenItem}accept(t){return t.visitEventTriggerWhenItem?t.visitEventTriggerWhenItem(this):t.visitChildren(this)}},JT=class extends ga{constructor(t,e){super(t,e)}sconst(t){return void 0===t?this.getRuleContexts(Qu):this.getRuleContext(t,Qu)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_eventTriggerValueList}accept(t){return t.visitEventTriggerValueList?t.visitEventTriggerValueList(this):t.visitChildren(this)}},ZT=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}EVENT(){return this.getToken(cn.EVENT,0)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}name(){return this.getRuleContext(0,yu)}enableTrigger(){return this.getRuleContext(0,qT)}get ruleIndex(){return cn.RULE_alterEventTriggerStatement}accept(t){return t.visitAlterEventTriggerStatement?t.visitAlterEventTriggerStatement(this):t.visitChildren(this)}},qT=class extends ga{constructor(t,e){super(t,e)}ENABLE_P(){return this.getToken(cn.ENABLE_P,0)}REPLICA(){return this.getToken(cn.REPLICA,0)}ALWAYS(){return this.getToken(cn.ALWAYS,0)}DISABLE_P(){return this.getToken(cn.DISABLE_P,0)}get ruleIndex(){return cn.RULE_enableTrigger}accept(t){return t.visitEnableTrigger?t.visitEnableTrigger(this):t.visitChildren(this)}},jT=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}ASSERTION(){return this.getToken(cn.ASSERTION,0)}anyName(){return this.getRuleContext(0,mo)}CHECK(){return this.getToken(cn.CHECK,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}constraintAttributeSpecification(){return this.getRuleContext(0,WT)}get ruleIndex(){return cn.RULE_createAssertionStatement}accept(t){return t.visitCreateAssertionStatement?t.visitCreateAssertionStatement(this):t.visitChildren(this)}},zT=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}optionalOrReplace(){return this.getRuleContext(0,lR)}AGGREGATE(){return this.getToken(cn.AGGREGATE,0)}functionName(){return this.getRuleContext(0,wu)}aggregateArguments(){return this.getRuleContext(0,UR)}definition(){return this.getRuleContext(0,$T)}oldAggregateDefinition(){return this.getRuleContext(0,so)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}anyOperator(){return this.getRuleContext(0,WR)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}anyName(t){return void 0===t?this.getRuleContexts(mo):this.getRuleContext(t,mo)}AS(){return this.getToken(cn.AS,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}optionalTableFunctionElementList(){return this.getRuleContext(0,oO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}ENUM_P(){return this.getToken(cn.ENUM_P,0)}enumValueList(){return this.getRuleContext(0,ro)}RANGE(){return this.getToken(cn.RANGE,0)}TEXT_P(){return this.getToken(cn.TEXT_P,0)}SEARCH(){return this.getToken(cn.SEARCH,0)}PARSER(){return this.getToken(cn.PARSER,0)}DICTIONARY(){return this.getToken(cn.DICTIONARY,0)}TEMPLATE(){return this.getToken(cn.TEMPLATE,0)}CONFIGURATION(){return this.getToken(cn.CONFIGURATION,0)}COLLATION(){return this.getToken(cn.COLLATION,0)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}FROM(){return this.getToken(cn.FROM,0)}get ruleIndex(){return cn.RULE_defineStatement}accept(t){return t.visitDefineStatement?t.visitDefineStatement(this):t.visitChildren(this)}},$T=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}definitionElement(t){return void 0===t?this.getRuleContexts(to):this.getRuleContext(t,to)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_definition}accept(t){return t.visitDefinition?t.visitDefinition(this):t.visitChildren(this)}},to=class extends ga{constructor(t,e){super(t,e)}columnLabel(){return this.getRuleContext(0,aN)}EQUAL(){return this.getToken(cn.EQUAL,0)}definitionArgument(){return this.getRuleContext(0,eo)}get ruleIndex(){return cn.RULE_definitionElement}accept(t){return t.visitDefinitionElement?t.visitDefinitionElement(this):t.visitChildren(this)}},eo=class extends ga{constructor(t,e){super(t,e)}functionType(){return this.getRuleContext(0,dR)}reservedKeyword(){return this.getRuleContext(0,EN)}allOperatorQualifier(){return this.getRuleContext(0,QI)}numericOnly(){return this.getRuleContext(0,xE)}sconst(){return this.getRuleContext(0,Qu)}NONE(){return this.getToken(cn.NONE,0)}get ruleIndex(){return cn.RULE_definitionArgument}accept(t){return t.visitDefinitionArgument?t.visitDefinitionArgument(this):t.visitChildren(this)}},so=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}oldAggregateElement(t){return void 0===t?this.getRuleContexts(ao):this.getRuleContext(t,ao)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_oldAggregateDefinition}accept(t){return t.visitOldAggregateDefinition?t.visitOldAggregateDefinition(this):t.visitChildren(this)}},ao=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,rN)}EQUAL(){return this.getToken(cn.EQUAL,0)}definitionArgument(){return this.getRuleContext(0,eo)}get ruleIndex(){return cn.RULE_oldAggregateElement}accept(t){return t.visitOldAggregateElement?t.visitOldAggregateElement(this):t.visitChildren(this)}},ro=class extends ga{constructor(t,e){super(t,e)}sconst(t){return void 0===t?this.getRuleContexts(Qu):this.getRuleContext(t,Qu)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_enumValueList}accept(t){return t.visitEnumValueList?t.visitEnumValueList(this):t.visitChildren(this)}},io=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}anyName(){return this.getRuleContext(0,mo)}ADD_P(){return this.getToken(cn.ADD_P,0)}VALUE_P(){return this.getToken(cn.VALUE_P,0)}optionalIfNotExists(){return this.getRuleContext(0,co)}sconst(t){return void 0===t?this.getRuleContexts(Qu):this.getRuleContext(t,Qu)}BEFORE(){return this.getToken(cn.BEFORE,0)}AFTER(){return this.getToken(cn.AFTER,0)}RENAME(){return this.getToken(cn.RENAME,0)}TO(){return this.getToken(cn.TO,0)}get ruleIndex(){return cn.RULE_alterEnumStatement}accept(t){return t.visitAlterEnumStatement?t.visitAlterEnumStatement(this):t.visitChildren(this)}},co=class extends ga{constructor(t,e){super(t,e)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_optionalIfNotExists}accept(t){return t.visitOptionalIfNotExists?t.visitOptionalIfNotExists(this):t.visitChildren(this)}},no=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}CLASS(){return this.getToken(cn.CLASS,0)}anyName(){return this.getRuleContext(0,mo)}FOR(){return this.getToken(cn.FOR,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}typeName(){return this.getRuleContext(0,LO)}USING(){return this.getToken(cn.USING,0)}name(){return this.getRuleContext(0,yu)}optionalOperatorFamily(){return this.getRuleContext(0,To)}AS(){return this.getToken(cn.AS,0)}operatorClassItemList(){return this.getRuleContext(0,ho)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}get ruleIndex(){return cn.RULE_createOperatorClassStatement}accept(t){return t.visitCreateOperatorClassStatement?t.visitCreateOperatorClassStatement(this):t.visitChildren(this)}},ho=class extends ga{constructor(t,e){super(t,e)}operatorClassItem(t){return void 0===t?this.getRuleContexts(Eo):this.getRuleContext(t,Eo)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_operatorClassItemList}accept(t){return t.visitOperatorClassItemList?t.visitOperatorClassItemList(this):t.visitChildren(this)}},Eo=class extends ga{constructor(t,e){super(t,e)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}iconst(){return this.getRuleContext(0,Ku)}anyOperator(){return this.getRuleContext(0,WR)}operatorClassPurpose(){return this.getRuleContext(0,oo)}RECHECK(){return this.getToken(cn.RECHECK,0)}operatorWithArgumentTypes(){return this.getRuleContext(0,XR)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypes(){return this.getRuleContext(0,uR)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}typeList(){return this.getRuleContext(0,zI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}STORAGE(){return this.getToken(cn.STORAGE,0)}typeName(){return this.getRuleContext(0,LO)}get ruleIndex(){return cn.RULE_operatorClassItem}accept(t){return t.visitOperatorClassItem?t.visitOperatorClassItem(this):t.visitChildren(this)}},To=class extends ga{constructor(t,e){super(t,e)}FAMILY(){return this.getToken(cn.FAMILY,0)}anyName(){return this.getRuleContext(0,mo)}get ruleIndex(){return cn.RULE_optionalOperatorFamily}accept(t){return t.visitOptionalOperatorFamily?t.visitOptionalOperatorFamily(this):t.visitChildren(this)}},oo=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(cn.FOR,0)}SEARCH(){return this.getToken(cn.SEARCH,0)}ORDER(){return this.getToken(cn.ORDER,0)}BY(){return this.getToken(cn.BY,0)}anyName(){return this.getRuleContext(0,mo)}get ruleIndex(){return cn.RULE_operatorClassPurpose}accept(t){return t.visitOperatorClassPurpose?t.visitOperatorClassPurpose(this):t.visitChildren(this)}},Ro=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}FAMILY(){return this.getToken(cn.FAMILY,0)}anyName(){return this.getRuleContext(0,mo)}USING(){return this.getToken(cn.USING,0)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_createOperatorFamilyStatement}accept(t){return t.visitCreateOperatorFamilyStatement?t.visitCreateOperatorFamilyStatement(this):t.visitChildren(this)}},Ao=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}FAMILY(){return this.getToken(cn.FAMILY,0)}anyName(){return this.getRuleContext(0,mo)}USING(){return this.getToken(cn.USING,0)}name(){return this.getRuleContext(0,yu)}ADD_P(){return this.getToken(cn.ADD_P,0)}operatorClassItemList(){return this.getRuleContext(0,ho)}DROP(){return this.getToken(cn.DROP,0)}operatorClassDropList(){return this.getRuleContext(0,So)}get ruleIndex(){return cn.RULE_alterOperatorFamilyStatement}accept(t){return t.visitAlterOperatorFamilyStatement?t.visitAlterOperatorFamilyStatement(this):t.visitChildren(this)}},So=class extends ga{constructor(t,e){super(t,e)}operatorClassDrop(t){return void 0===t?this.getRuleContexts(lo):this.getRuleContext(t,lo)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_operatorClassDropList}accept(t){return t.visitOperatorClassDropList?t.visitOperatorClassDropList(this):t.visitChildren(this)}},lo=class extends ga{constructor(t,e){super(t,e)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}iconst(){return this.getRuleContext(0,Ku)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}typeList(){return this.getRuleContext(0,zI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}get ruleIndex(){return cn.RULE_operatorClassDrop}accept(t){return t.visitOperatorClassDrop?t.visitOperatorClassDrop(this):t.visitChildren(this)}},Oo=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}CLASS(){return this.getToken(cn.CLASS,0)}anyName(){return this.getRuleContext(0,mo)}USING(){return this.getToken(cn.USING,0)}name(){return this.getRuleContext(0,yu)}optionalDropBehavior(){return this.getRuleContext(0,ah)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_dropOperatorClassStatement}accept(t){return t.visitDropOperatorClassStatement?t.visitDropOperatorClassStatement(this):t.visitChildren(this)}},Io=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}FAMILY(){return this.getToken(cn.FAMILY,0)}anyName(){return this.getRuleContext(0,mo)}USING(){return this.getToken(cn.USING,0)}name(){return this.getRuleContext(0,yu)}optionalDropBehavior(){return this.getRuleContext(0,ah)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_dropOperatorFamilyStatement}accept(t){return t.visitDropOperatorFamilyStatement?t.visitDropOperatorFamilyStatement(this):t.visitChildren(this)}},uo=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}OWNED(){return this.getToken(cn.OWNED,0)}BY(){return this.getToken(cn.BY,0)}roleNameList(){return this.getRuleContext(0,zu)}optionalDropBehavior(){return this.getRuleContext(0,ah)}get ruleIndex(){return cn.RULE_dropOwnedStatement}accept(t){return t.visitDropOwnedStatement?t.visitDropOwnedStatement(this):t.visitChildren(this)}},No=class extends ga{constructor(t,e){super(t,e)}REASSIGN(){return this.getToken(cn.REASSIGN,0)}OWNED(){return this.getToken(cn.OWNED,0)}BY(){return this.getToken(cn.BY,0)}roleNameList(){return this.getRuleContext(0,zu)}TO(){return this.getToken(cn.TO,0)}roleName(){return this.getRuleContext(0,ju)}get ruleIndex(){return cn.RULE_reassignOwnedStatement}accept(t){return t.visitReassignOwnedStatement?t.visitReassignOwnedStatement(this):t.visitChildren(this)}},Lo=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}objectTypeAnyName(){return this.getRuleContext(0,Co)}anyNameList(){return this.getRuleContext(0,Uo)}optionalDropBehavior(){return this.getRuleContext(0,ah)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}sequenceNameList(){return this.getRuleContext(0,Fu)}INDEX(){return this.getToken(cn.INDEX,0)}indexNameList(){return this.getRuleContext(0,xu)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaNameList(){return this.getRuleContext(0,pu)}dropTypeName(){return this.getRuleContext(0,Po)}nameList(){return this.getRuleContext(0,Bu)}objectTypeNameOnAnyName(){return this.getRuleContext(0,Mo)}name(){return this.getRuleContext(0,yu)}ON(){return this.getToken(cn.ON,0)}anyName(){return this.getRuleContext(0,mo)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}triggerName(){return this.getRuleContext(0,ku)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}typeNameList(){return this.getRuleContext(0,po)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}CONCURRENTLY(){return this.getToken(cn.CONCURRENTLY,0)}indexName(){return this.getRuleContext(0,gu)}get ruleIndex(){return cn.RULE_dropStatement}accept(t){return t.visitDropStatement?t.visitDropStatement(this):t.visitChildren(this)}},Co=class extends ga{constructor(t,e){super(t,e)}TABLE(){return this.getToken(cn.TABLE,0)}VIEW(){return this.getToken(cn.VIEW,0)}MATERIALIZED(){return this.getToken(cn.MATERIALIZED,0)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}COLLATION(){return this.getToken(cn.COLLATION,0)}CONVERSION_P(){return this.getToken(cn.CONVERSION_P,0)}STATISTICS(){return this.getToken(cn.STATISTICS,0)}TEXT_P(){return this.getToken(cn.TEXT_P,0)}SEARCH(){return this.getToken(cn.SEARCH,0)}PARSER(){return this.getToken(cn.PARSER,0)}DICTIONARY(){return this.getToken(cn.DICTIONARY,0)}TEMPLATE(){return this.getToken(cn.TEMPLATE,0)}CONFIGURATION(){return this.getToken(cn.CONFIGURATION,0)}get ruleIndex(){return cn.RULE_objectTypeAnyName}accept(t){return t.visitObjectTypeAnyName?t.visitObjectTypeAnyName(this):t.visitChildren(this)}},_o=class extends ga{constructor(t,e){super(t,e)}dropTypeName(){return this.getRuleContext(0,Po)}SUBSCRIPTION(){return this.getToken(cn.SUBSCRIPTION,0)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}get ruleIndex(){return cn.RULE_objectTypeName}accept(t){return t.visitObjectTypeName?t.visitObjectTypeName(this):t.visitChildren(this)}},Po=class extends ga{constructor(t,e){super(t,e)}ACCESS(){return this.getToken(cn.ACCESS,0)}METHOD(){return this.getToken(cn.METHOD,0)}EVENT(){return this.getToken(cn.EVENT,0)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}EXTENSION(){return this.getToken(cn.EXTENSION,0)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}DATA_P(){return this.getToken(cn.DATA_P,0)}WRAPPER(){return this.getToken(cn.WRAPPER,0)}optionalProcedural(){return this.getRuleContext(0,BE)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}PUBLICATION(){return this.getToken(cn.PUBLICATION,0)}SERVER(){return this.getToken(cn.SERVER,0)}get ruleIndex(){return cn.RULE_dropTypeName}accept(t){return t.visitDropTypeName?t.visitDropTypeName(this):t.visitChildren(this)}},Mo=class extends ga{constructor(t,e){super(t,e)}POLICY(){return this.getToken(cn.POLICY,0)}RULE(){return this.getToken(cn.RULE,0)}get ruleIndex(){return cn.RULE_objectTypeNameOnAnyName}accept(t){return t.visitObjectTypeNameOnAnyName?t.visitObjectTypeNameOnAnyName(this):t.visitChildren(this)}},Uo=class extends ga{constructor(t,e){super(t,e)}anyName(t){return void 0===t?this.getRuleContexts(mo):this.getRuleContext(t,mo)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_anyNameList}accept(t){return t.visitAnyNameList?t.visitAnyNameList(this):t.visitChildren(this)}},mo=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}attributes(){return this.getRuleContext(0,Do)}get ruleIndex(){return cn.RULE_anyName}accept(t){return t.visitAnyName?t.visitAnyName(this):t.visitChildren(this)}},Do=class extends ga{constructor(t,e){super(t,e)}DOT(t){return void 0===t?this.getTokens(cn.DOT):this.getToken(cn.DOT,t)}attributeName(t){return void 0===t?this.getRuleContexts(fu):this.getRuleContext(t,fu)}get ruleIndex(){return cn.RULE_attributes}accept(t){return t.visitAttributes?t.visitAttributes(this):t.visitChildren(this)}},po=class extends ga{constructor(t,e){super(t,e)}typeName(t){return void 0===t?this.getRuleContexts(LO):this.getRuleContext(t,LO)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_typeNameList}accept(t){return t.visitTypeNameList?t.visitTypeNameList(this):t.visitChildren(this)}},go=class extends ga{constructor(t,e){super(t,e)}TRUNCATE(){return this.getToken(cn.TRUNCATE,0)}optionalTable(){return this.getRuleContext(0,Il)}relationExpressionList(){return this.getRuleContext(0,sO)}optionalRestartSequences(){return this.getRuleContext(0,xo)}optionalDropBehavior(){return this.getRuleContext(0,ah)}get ruleIndex(){return cn.RULE_truncateStatement}accept(t){return t.visitTruncateStatement?t.visitTruncateStatement(this):t.visitChildren(this)}},xo=class extends ga{constructor(t,e){super(t,e)}CONTINUE_P(){return this.getToken(cn.CONTINUE_P,0)}IDENTITY_P(){return this.getToken(cn.IDENTITY_P,0)}RESTART(){return this.getToken(cn.RESTART,0)}get ruleIndex(){return cn.RULE_optionalRestartSequences}accept(t){return t.visitOptionalRestartSequences?t.visitOptionalRestartSequences(this):t.visitChildren(this)}},ko=class extends ga{constructor(t,e){super(t,e)}COMMENT(){return this.getToken(cn.COMMENT,0)}ON(t){return void 0===t?this.getTokens(cn.ON):this.getToken(cn.ON,t)}objectTypeAnyName(){return this.getRuleContext(0,Co)}anyName(){return this.getRuleContext(0,mo)}IS(){return this.getToken(cn.IS,0)}commentText(){return this.getRuleContext(0,Ho)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}sequenceName(){return this.getRuleContext(0,Gu)}INDEX(){return this.getToken(cn.INDEX,0)}indexName(){return this.getRuleContext(0,gu)}COLUMN(){return this.getToken(cn.COLUMN,0)}objectTypeName(){return this.getRuleContext(0,_o)}name(){return this.getRuleContext(0,yu)}ROLE(){return this.getToken(cn.ROLE,0)}roleName(){return this.getRuleContext(0,ju)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseName(){return this.getRuleContext(0,Uu)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaName(){return this.getRuleContext(0,Du)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}typeName(t){return void 0===t?this.getRuleContexts(LO):this.getRuleContext(t,LO)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}AGGREGATE(){return this.getToken(cn.AGGREGATE,0)}aggregateWithArgumentTypes(){return this.getRuleContext(0,DR)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypes(){return this.getRuleContext(0,uR)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}operatorWithArgumentTypes(){return this.getRuleContext(0,XR)}CONSTRAINT(){return this.getToken(cn.CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,Hu)}objectTypeNameOnAnyName(){return this.getRuleContext(0,Mo)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}triggerName(){return this.getRuleContext(0,ku)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}TRANSFORM(){return this.getToken(cn.TRANSFORM,0)}FOR(){return this.getToken(cn.FOR,0)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}CLASS(){return this.getToken(cn.CLASS,0)}USING(){return this.getToken(cn.USING,0)}FAMILY(){return this.getToken(cn.FAMILY,0)}LARGE_P(){return this.getToken(cn.LARGE_P,0)}OBJECT_P(){return this.getToken(cn.OBJECT_P,0)}numericOnly(){return this.getRuleContext(0,xE)}CAST(){return this.getToken(cn.CAST,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}AS(){return this.getToken(cn.AS,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_commentStatement}accept(t){return t.visitCommentStatement?t.visitCommentStatement(this):t.visitChildren(this)}},Ho=class extends ga{constructor(t,e){super(t,e)}sconst(){return this.getRuleContext(0,Qu)}NULL_P(){return this.getToken(cn.NULL_P,0)}get ruleIndex(){return cn.RULE_commentText}accept(t){return t.visitCommentText?t.visitCommentText(this):t.visitChildren(this)}},Go=class extends ga{constructor(t,e){super(t,e)}SECURITY(){return this.getToken(cn.SECURITY,0)}LABEL(){return this.getToken(cn.LABEL,0)}optionalProvider(){return this.getRuleContext(0,Fo)}ON(){return this.getToken(cn.ON,0)}objectTypeAnyName(){return this.getRuleContext(0,Co)}anyName(){return this.getRuleContext(0,mo)}IS(){return this.getToken(cn.IS,0)}securityLabel(){return this.getRuleContext(0,vo)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}sequenceName(){return this.getRuleContext(0,Gu)}INDEX(){return this.getToken(cn.INDEX,0)}indexName(){return this.getRuleContext(0,gu)}COLUMN(){return this.getToken(cn.COLUMN,0)}objectTypeName(){return this.getRuleContext(0,_o)}name(){return this.getRuleContext(0,yu)}ROLE(){return this.getToken(cn.ROLE,0)}roleName(){return this.getRuleContext(0,ju)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseName(){return this.getRuleContext(0,Uu)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaName(){return this.getRuleContext(0,Du)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}typeName(){return this.getRuleContext(0,LO)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}AGGREGATE(){return this.getToken(cn.AGGREGATE,0)}aggregateWithArgumentTypes(){return this.getRuleContext(0,DR)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypes(){return this.getRuleContext(0,uR)}LARGE_P(){return this.getToken(cn.LARGE_P,0)}OBJECT_P(){return this.getToken(cn.OBJECT_P,0)}numericOnly(){return this.getRuleContext(0,xE)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}get ruleIndex(){return cn.RULE_securityLabelStatement}accept(t){return t.visitSecurityLabelStatement?t.visitSecurityLabelStatement(this):t.visitChildren(this)}},Fo=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(cn.FOR,0)}nonReservedWordOrSconst(){return this.getRuleContext(0,fn)}get ruleIndex(){return cn.RULE_optionalProvider}accept(t){return t.visitOptionalProvider?t.visitOptionalProvider(this):t.visitChildren(this)}},vo=class extends ga{constructor(t,e){super(t,e)}sconst(){return this.getRuleContext(0,Qu)}NULL_P(){return this.getToken(cn.NULL_P,0)}get ruleIndex(){return cn.RULE_securityLabel}accept(t){return t.visitSecurityLabel?t.visitSecurityLabel(this):t.visitChildren(this)}},Bo=class extends ga{constructor(t,e){super(t,e)}FETCH(){return this.getToken(cn.FETCH,0)}fetchArguments(){return this.getRuleContext(0,yo)}MOVE(){return this.getToken(cn.MOVE,0)}get ruleIndex(){return cn.RULE_fetchStatement}accept(t){return t.visitFetchStatement?t.visitFetchStatement(this):t.visitChildren(this)}},yo=class extends ga{constructor(t,e){super(t,e)}cursorName(){return this.getRuleContext(0,al)}fromOrIn(){return this.getRuleContext(0,fo)}NEXT(){return this.getToken(cn.NEXT,0)}optionalFromOrIn(){return this.getRuleContext(0,Yo)}PRIOR(){return this.getToken(cn.PRIOR,0)}FIRST_P(){return this.getToken(cn.FIRST_P,0)}LAST_P(){return this.getToken(cn.LAST_P,0)}ABSOLUTE_P(){return this.getToken(cn.ABSOLUTE_P,0)}signedIconst(){return this.getRuleContext(0,qu)}RELATIVE_P(){return this.getToken(cn.RELATIVE_P,0)}ALL(){return this.getToken(cn.ALL,0)}FORWARD(){return this.getToken(cn.FORWARD,0)}BACKWARD(){return this.getToken(cn.BACKWARD,0)}get ruleIndex(){return cn.RULE_fetchArguments}accept(t){return t.visitFetchArguments?t.visitFetchArguments(this):t.visitChildren(this)}},fo=class extends ga{constructor(t,e){super(t,e)}FROM(){return this.getToken(cn.FROM,0)}IN_P(){return this.getToken(cn.IN_P,0)}get ruleIndex(){return cn.RULE_fromOrIn}accept(t){return t.visitFromOrIn?t.visitFromOrIn(this):t.visitChildren(this)}},Yo=class extends ga{constructor(t,e){super(t,e)}fromOrIn(){return this.getRuleContext(0,fo)}get ruleIndex(){return cn.RULE_optionalFromOrIn}accept(t){return t.visitOptionalFromOrIn?t.visitOptionalFromOrIn(this):t.visitChildren(this)}},wo=class extends ga{constructor(t,e){super(t,e)}GRANT(){return this.getToken(cn.GRANT,0)}privileges(){return this.getRuleContext(0,Wo)}ON(){return this.getToken(cn.ON,0)}privilegeTarget(){return this.getRuleContext(0,Ko)}TO(){return this.getToken(cn.TO,0)}granteeList(){return this.getRuleContext(0,Qo)}optionalWithGrantOption(){return this.getRuleContext(0,Zo)}get ruleIndex(){return cn.RULE_grantStatement}accept(t){return t.visitGrantStatement?t.visitGrantStatement(this):t.visitChildren(this)}},bo=class extends ga{constructor(t,e){super(t,e)}REVOKE(){return this.getToken(cn.REVOKE,0)}privileges(){return this.getRuleContext(0,Wo)}ON(){return this.getToken(cn.ON,0)}privilegeTarget(){return this.getRuleContext(0,Ko)}FROM(){return this.getToken(cn.FROM,0)}granteeList(){return this.getRuleContext(0,Qo)}optionalDropBehavior(){return this.getRuleContext(0,ah)}GRANT(){return this.getToken(cn.GRANT,0)}OPTION(){return this.getToken(cn.OPTION,0)}FOR(){return this.getToken(cn.FOR,0)}get ruleIndex(){return cn.RULE_revokeStatement}accept(t){return t.visitRevokeStatement?t.visitRevokeStatement(this):t.visitChildren(this)}},Wo=class extends ga{constructor(t,e){super(t,e)}privilegeList(){return this.getRuleContext(0,Vo)}ALL(){return this.getToken(cn.ALL,0)}PRIVILEGES(){return this.getToken(cn.PRIVILEGES,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}columnList(){return this.getRuleContext(0,qh)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_privileges}accept(t){return t.visitPrivileges?t.visitPrivileges(this):t.visitChildren(this)}},Vo=class extends ga{constructor(t,e){super(t,e)}privilege(t){return void 0===t?this.getRuleContexts(Xo):this.getRuleContext(t,Xo)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_privilegeList}accept(t){return t.visitPrivilegeList?t.visitPrivilegeList(this):t.visitChildren(this)}},Xo=class extends ga{constructor(t,e){super(t,e)}SELECT(){return this.getToken(cn.SELECT,0)}columnListWithParentheses(){return this.getRuleContext(0,Zh)}REFERENCES(){return this.getToken(cn.REFERENCES,0)}CREATE(){return this.getToken(cn.CREATE,0)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_privilege}accept(t){return t.visitPrivilege?t.visitPrivilege(this):t.visitChildren(this)}},Ko=class extends ga{constructor(t,e){super(t,e)}qualifiedNameList(){return this.getRuleContext(0,du)}TABLE(){return this.getToken(cn.TABLE,0)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}sequenceNameList(){return this.getRuleContext(0,Fu)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}DATA_P(){return this.getToken(cn.DATA_P,0)}WRAPPER(){return this.getToken(cn.WRAPPER,0)}nameList(){return this.getRuleContext(0,Bu)}SERVER(){return this.getToken(cn.SERVER,0)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypesList(){return this.getRuleContext(0,IR)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseNameList(){return this.getRuleContext(0,mu)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}anyNameList(){return this.getRuleContext(0,Uo)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}LARGE_P(){return this.getToken(cn.LARGE_P,0)}OBJECT_P(){return this.getToken(cn.OBJECT_P,0)}numericOnlyList(){return this.getRuleContext(0,kE)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaNameList(){return this.getRuleContext(0,pu)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}ALL(){return this.getToken(cn.ALL,0)}IN_P(){return this.getToken(cn.IN_P,0)}TABLES(){return this.getToken(cn.TABLES,0)}SEQUENCES(){return this.getToken(cn.SEQUENCES,0)}FUNCTIONS(){return this.getToken(cn.FUNCTIONS,0)}PROCEDURES(){return this.getToken(cn.PROCEDURES,0)}ROUTINES(){return this.getToken(cn.ROUTINES,0)}get ruleIndex(){return cn.RULE_privilegeTarget}accept(t){return t.visitPrivilegeTarget?t.visitPrivilegeTarget(this):t.visitChildren(this)}},Qo=class extends ga{constructor(t,e){super(t,e)}grantee(t){return void 0===t?this.getRuleContexts(Jo):this.getRuleContext(t,Jo)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_granteeList}accept(t){return t.visitGranteeList?t.visitGranteeList(this):t.visitChildren(this)}},Jo=class extends ga{constructor(t,e){super(t,e)}roleName(){return this.getRuleContext(0,ju)}GROUP_P(){return this.getToken(cn.GROUP_P,0)}get ruleIndex(){return cn.RULE_grantee}accept(t){return t.visitGrantee?t.visitGrantee(this):t.visitChildren(this)}},Zo=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}GRANT(){return this.getToken(cn.GRANT,0)}OPTION(){return this.getToken(cn.OPTION,0)}get ruleIndex(){return cn.RULE_optionalWithGrantOption}accept(t){return t.visitOptionalWithGrantOption?t.visitOptionalWithGrantOption(this):t.visitChildren(this)}},qo=class extends ga{constructor(t,e){super(t,e)}GRANT(){return this.getToken(cn.GRANT,0)}privilegeList(){return this.getRuleContext(0,Vo)}TO(){return this.getToken(cn.TO,0)}roleNameList(){return this.getRuleContext(0,zu)}optionalGrantAdminOption(){return this.getRuleContext(0,zo)}optionalGrantedBy(){return this.getRuleContext(0,$o)}get ruleIndex(){return cn.RULE_grantPrivilegeStatement}accept(t){return t.visitGrantPrivilegeStatement?t.visitGrantPrivilegeStatement(this):t.visitChildren(this)}},jo=class extends ga{constructor(t,e){super(t,e)}REVOKE(){return this.getToken(cn.REVOKE,0)}privilegeList(){return this.getRuleContext(0,Vo)}FROM(){return this.getToken(cn.FROM,0)}roleNameList(){return this.getRuleContext(0,zu)}optionalGrantedBy(){return this.getRuleContext(0,$o)}optionalDropBehavior(){return this.getRuleContext(0,ah)}ADMIN(){return this.getToken(cn.ADMIN,0)}OPTION(){return this.getToken(cn.OPTION,0)}FOR(){return this.getToken(cn.FOR,0)}get ruleIndex(){return cn.RULE_revokePrivilegeStatement}accept(t){return t.visitRevokePrivilegeStatement?t.visitRevokePrivilegeStatement(this):t.visitChildren(this)}},zo=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}ADMIN(){return this.getToken(cn.ADMIN,0)}OPTION(){return this.getToken(cn.OPTION,0)}get ruleIndex(){return cn.RULE_optionalGrantAdminOption}accept(t){return t.visitOptionalGrantAdminOption?t.visitOptionalGrantAdminOption(this):t.visitChildren(this)}},$o=class extends ga{constructor(t,e){super(t,e)}GRANTED(){return this.getToken(cn.GRANTED,0)}BY(){return this.getToken(cn.BY,0)}roleName(){return this.getRuleContext(0,ju)}get ruleIndex(){return cn.RULE_optionalGrantedBy}accept(t){return t.visitOptionalGrantedBy?t.visitOptionalGrantedBy(this):t.visitChildren(this)}},tR=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}PRIVILEGES(){return this.getToken(cn.PRIVILEGES,0)}defaultPrivelegeAction(){return this.getRuleContext(0,sR)}defultPrivilegeOption(t){return void 0===t?this.getRuleContexts(eR):this.getRuleContext(t,eR)}get ruleIndex(){return cn.RULE_alterDefaultPrivilegesStatement}accept(t){return t.visitAlterDefaultPrivilegesStatement?t.visitAlterDefaultPrivilegesStatement(this):t.visitChildren(this)}},eR=class extends ga{constructor(t,e){super(t,e)}IN_P(){return this.getToken(cn.IN_P,0)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaNameList(){return this.getRuleContext(0,pu)}FOR(){return this.getToken(cn.FOR,0)}roleOrAliases(){return this.getRuleContext(0,RC)}roleNameList(){return this.getRuleContext(0,zu)}get ruleIndex(){return cn.RULE_defultPrivilegeOption}accept(t){return t.visitDefultPrivilegeOption?t.visitDefultPrivilegeOption(this):t.visitChildren(this)}},sR=class extends ga{constructor(t,e){super(t,e)}GRANT(){return this.getToken(cn.GRANT,0)}privileges(){return this.getRuleContext(0,Wo)}ON(){return this.getToken(cn.ON,0)}defultPrivilegeTarget(){return this.getRuleContext(0,aR)}TO(){return this.getToken(cn.TO,0)}granteeList(){return this.getRuleContext(0,Qo)}optionalWithGrantOption(){return this.getRuleContext(0,Zo)}REVOKE(){return this.getToken(cn.REVOKE,0)}FROM(){return this.getToken(cn.FROM,0)}optionalDropBehavior(){return this.getRuleContext(0,ah)}OPTION(){return this.getToken(cn.OPTION,0)}FOR(){return this.getToken(cn.FOR,0)}get ruleIndex(){return cn.RULE_defaultPrivelegeAction}accept(t){return t.visitDefaultPrivelegeAction?t.visitDefaultPrivelegeAction(this):t.visitChildren(this)}},aR=class extends ga{constructor(t,e){super(t,e)}TABLES(){return this.getToken(cn.TABLES,0)}FUNCTIONS(){return this.getToken(cn.FUNCTIONS,0)}ROUTINES(){return this.getToken(cn.ROUTINES,0)}SEQUENCES(){return this.getToken(cn.SEQUENCES,0)}TYPES_P(){return this.getToken(cn.TYPES_P,0)}SCHEMAS(){return this.getToken(cn.SCHEMAS,0)}get ruleIndex(){return cn.RULE_defultPrivilegeTarget}accept(t){return t.visitDefultPrivilegeTarget?t.visitDefultPrivilegeTarget(this):t.visitChildren(this)}},rR=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}INDEX(){return this.getToken(cn.INDEX,0)}ON(){return this.getToken(cn.ON,0)}relationExpression(){return this.getRuleContext(0,eO)}optionalAccessMethodClause(){return this.getRuleContext(0,iR)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}indexParameters(){return this.getRuleContext(0,cR)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}optionalInclude(){return this.getRuleContext(0,ER)}optionalRelOptions(){return this.getRuleContext(0,hh)}optionalTablespace(){return this.getRuleContext(0,lE)}whereClause(){return this.getRuleContext(0,EO)}UNIQUE(){return this.getToken(cn.UNIQUE,0)}CONCURRENTLY(){return this.getToken(cn.CONCURRENTLY,0)}name(){return this.getRuleContext(0,yu)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_indexStatement}accept(t){return t.visitIndexStatement?t.visitIndexStatement(this):t.visitChildren(this)}},iR=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_optionalAccessMethodClause}accept(t){return t.visitOptionalAccessMethodClause?t.visitOptionalAccessMethodClause(this):t.visitChildren(this)}},cR=class extends ga{constructor(t,e){super(t,e)}indexElement(t){return void 0===t?this.getRuleContexts(hR):this.getRuleContext(t,hR)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_indexParameters}accept(t){return t.visitIndexParameters?t.visitIndexParameters(this):t.visitChildren(this)}},nR=class extends ga{constructor(t,e){super(t,e)}optionalCollate(){return this.getRuleContext(0,TR)}optionalClass(){return this.getRuleContext(0,oR)}optionalAscOrDesc(){return this.getRuleContext(0,RR)}optionalNullsOrder(){return this.getRuleContext(0,AR)}anyName(){return this.getRuleContext(0,mo)}relOptions(){return this.getRuleContext(0,nh)}get ruleIndex(){return cn.RULE_indexElemOptions}accept(t){return t.visitIndexElemOptions?t.visitIndexElemOptions(this):t.visitChildren(this)}},hR=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}indexElemOptions(){return this.getRuleContext(0,nR)}functionExpressionWindowless(){return this.getRuleContext(0,OI)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_indexElement}accept(t){return t.visitIndexElement?t.visitIndexElement(this):t.visitChildren(this)}},ER=class extends ga{constructor(t,e){super(t,e)}INCLUDE(){return this.getToken(cn.INCLUDE,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}indexElement(t){return void 0===t?this.getRuleContexts(hR):this.getRuleContext(t,hR)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_optionalInclude}accept(t){return t.visitOptionalInclude?t.visitOptionalInclude(this):t.visitChildren(this)}},TR=class extends ga{constructor(t,e){super(t,e)}COLLATE(){return this.getToken(cn.COLLATE,0)}anyName(){return this.getRuleContext(0,mo)}get ruleIndex(){return cn.RULE_optionalCollate}accept(t){return t.visitOptionalCollate?t.visitOptionalCollate(this):t.visitChildren(this)}},oR=class extends ga{constructor(t,e){super(t,e)}anyName(){return this.getRuleContext(0,mo)}get ruleIndex(){return cn.RULE_optionalClass}accept(t){return t.visitOptionalClass?t.visitOptionalClass(this):t.visitChildren(this)}},RR=class extends ga{constructor(t,e){super(t,e)}ASC(){return this.getToken(cn.ASC,0)}DESC(){return this.getToken(cn.DESC,0)}get ruleIndex(){return cn.RULE_optionalAscOrDesc}accept(t){return t.visitOptionalAscOrDesc?t.visitOptionalAscOrDesc(this):t.visitChildren(this)}},AR=class extends ga{constructor(t,e){super(t,e)}NULLS_P(){return this.getToken(cn.NULLS_P,0)}FIRST_P(){return this.getToken(cn.FIRST_P,0)}LAST_P(){return this.getToken(cn.LAST_P,0)}get ruleIndex(){return cn.RULE_optionalNullsOrder}accept(t){return t.visitOptionalNullsOrder?t.visitOptionalNullsOrder(this):t.visitChildren(this)}},SR=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}optionalOrReplace(){return this.getRuleContext(0,lR)}functionName(){return this.getRuleContext(0,wu)}OPEN_PAREN(t){return void 0===t?this.getTokens(cn.OPEN_PAREN):this.getToken(cn.OPEN_PAREN,t)}CLOSE_PAREN(t){return void 0===t?this.getTokens(cn.CLOSE_PAREN):this.getToken(cn.CLOSE_PAREN,t)}createFunctionOptionList(){return this.getRuleContext(0,gR)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}functionArgumentsWithDefaultsList(){return this.getRuleContext(0,NR)}RETURNS(){return this.getToken(cn.RETURNS,0)}functionReturn(){return this.getRuleContext(0,MR)}TABLE(){return this.getToken(cn.TABLE,0)}tableFunctionColumnList(){return this.getRuleContext(0,BR)}get ruleIndex(){return cn.RULE_createFunctionStatement}accept(t){return t.visitCreateFunctionStatement?t.visitCreateFunctionStatement(this):t.visitChildren(this)}},lR=class extends ga{constructor(t,e){super(t,e)}OR(){return this.getToken(cn.OR,0)}REPLACE(){return this.getToken(cn.REPLACE,0)}get ruleIndex(){return cn.RULE_optionalOrReplace}accept(t){return t.visitOptionalOrReplace?t.visitOptionalOrReplace(this):t.visitChildren(this)}},OR=class extends ga{constructor(t,e){super(t,e)}functionArgument(t){return void 0===t?this.getRuleContexts(CR):this.getRuleContext(t,CR)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_functionArgumentsList}accept(t){return t.visitFunctionArgumentsList?t.visitFunctionArgumentsList(this):t.visitChildren(this)}},IR=class extends ga{constructor(t,e){super(t,e)}functionWithArgumentTypes(t){return void 0===t?this.getRuleContexts(uR):this.getRuleContext(t,uR)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_functionWithArgumentTypesList}accept(t){return t.visitFunctionWithArgumentTypesList?t.visitFunctionWithArgumentTypesList(this):t.visitChildren(this)}},uR=class extends ga{constructor(t,e){super(t,e)}functionName(){return this.getRuleContext(0,wu)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}functionArgumentsList(){return this.getRuleContext(0,OR)}typeFunctionNameKeyword(){return this.getRuleContext(0,hN)}columnId(){return this.getRuleContext(0,$u)}indirection(){return this.getRuleContext(0,uu)}get ruleIndex(){return cn.RULE_functionWithArgumentTypes}accept(t){return t.visitFunctionWithArgumentTypes?t.visitFunctionWithArgumentTypes(this):t.visitChildren(this)}},NR=class extends ga{constructor(t,e){super(t,e)}functionArgumentWithDefault(t){return void 0===t?this.getRuleContexts(LR):this.getRuleContext(t,LR)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_functionArgumentsWithDefaultsList}accept(t){return t.visitFunctionArgumentsWithDefaultsList?t.visitFunctionArgumentsWithDefaultsList(this):t.visitChildren(this)}},LR=class extends ga{constructor(t,e){super(t,e)}functionArgument(){return this.getRuleContext(0,CR)}expression1(){return this.getRuleContext(0,wO)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}EQUAL(){return this.getToken(cn.EQUAL,0)}get ruleIndex(){return cn.RULE_functionArgumentWithDefault}accept(t){return t.visitFunctionArgumentWithDefault?t.visitFunctionArgumentWithDefault(this):t.visitChildren(this)}},CR=class extends ga{constructor(t,e){super(t,e)}argumentClass(){return this.getRuleContext(0,_R)}functionType(){return this.getRuleContext(0,dR)}parameterName(){return this.getRuleContext(0,PR)}get ruleIndex(){return cn.RULE_functionArgument}accept(t){return t.visitFunctionArgument?t.visitFunctionArgument(this):t.visitChildren(this)}},_R=class extends ga{constructor(t,e){super(t,e)}IN_P(){return this.getToken(cn.IN_P,0)}OUT_P(){return this.getToken(cn.OUT_P,0)}INOUT(){return this.getToken(cn.INOUT,0)}VARIADIC(){return this.getToken(cn.VARIADIC,0)}get ruleIndex(){return cn.RULE_argumentClass}accept(t){return t.visitArgumentClass?t.visitArgumentClass(this):t.visitChildren(this)}},PR=class extends ga{constructor(t,e){super(t,e)}typeFunctionName(){return this.getRuleContext(0,eN)}builtinFunctionName(){return this.getRuleContext(0,TN)}LEFT(){return this.getToken(cn.LEFT,0)}RIGHT(){return this.getToken(cn.RIGHT,0)}get ruleIndex(){return cn.RULE_parameterName}accept(t){return t.visitParameterName?t.visitParameterName(this):t.visitChildren(this)}},MR=class extends ga{constructor(t,e){super(t,e)}functionType(){return this.getRuleContext(0,dR)}get ruleIndex(){return cn.RULE_functionReturn}accept(t){return t.visitFunctionReturn?t.visitFunctionReturn(this):t.visitChildren(this)}},dR=class extends ga{constructor(t,e){super(t,e)}typeName(){return this.getRuleContext(0,LO)}attributes(){return this.getRuleContext(0,Do)}PERCENT(){return this.getToken(cn.PERCENT,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}builtinFunctionName(){return this.getRuleContext(0,TN)}typeFunctionName(){return this.getRuleContext(0,eN)}LEFT(){return this.getToken(cn.LEFT,0)}RIGHT(){return this.getToken(cn.RIGHT,0)}SETOF(){return this.getToken(cn.SETOF,0)}get ruleIndex(){return cn.RULE_functionType}accept(t){return t.visitFunctionType?t.visitFunctionType(this):t.visitChildren(this)}},UR=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}STAR(){return this.getToken(cn.STAR,0)}aggregateArgumentsList(t){return void 0===t?this.getRuleContexts(mR):this.getRuleContext(t,mR)}ORDER(){return this.getToken(cn.ORDER,0)}BY(){return this.getToken(cn.BY,0)}get ruleIndex(){return cn.RULE_aggregateArguments}accept(t){return t.visitAggregateArguments?t.visitAggregateArguments(this):t.visitChildren(this)}},mR=class extends ga{constructor(t,e){super(t,e)}functionArgument(t){return void 0===t?this.getRuleContexts(CR):this.getRuleContext(t,CR)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_aggregateArgumentsList}accept(t){return t.visitAggregateArgumentsList?t.visitAggregateArgumentsList(this):t.visitChildren(this)}},DR=class extends ga{constructor(t,e){super(t,e)}functionName(){return this.getRuleContext(0,wu)}aggregateArguments(){return this.getRuleContext(0,UR)}get ruleIndex(){return cn.RULE_aggregateWithArgumentTypes}accept(t){return t.visitAggregateWithArgumentTypes?t.visitAggregateWithArgumentTypes(this):t.visitChildren(this)}},pR=class extends ga{constructor(t,e){super(t,e)}aggregateWithArgumentTypes(t){return void 0===t?this.getRuleContexts(DR):this.getRuleContext(t,DR)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_aggregateWithArgumentTypesList}accept(t){return t.visitAggregateWithArgumentTypesList?t.visitAggregateWithArgumentTypesList(this):t.visitChildren(this)}},gR=class extends ga{constructor(t,e){super(t,e)}createFunctionOptionItem(t){return void 0===t?this.getRuleContexts(kR):this.getRuleContext(t,kR)}get ruleIndex(){return cn.RULE_createFunctionOptionList}accept(t){return t.visitCreateFunctionOptionList?t.visitCreateFunctionOptionList(this):t.visitChildren(this)}},xR=class extends ga{constructor(t,e){super(t,e)}CALLED(){return this.getToken(cn.CALLED,0)}ON(){return this.getToken(cn.ON,0)}NULL_P(t){return void 0===t?this.getTokens(cn.NULL_P):this.getToken(cn.NULL_P,t)}INPUT_P(){return this.getToken(cn.INPUT_P,0)}RETURNS(){return this.getToken(cn.RETURNS,0)}STRICT_P(){return this.getToken(cn.STRICT_P,0)}IMMUTABLE(){return this.getToken(cn.IMMUTABLE,0)}STABLE(){return this.getToken(cn.STABLE,0)}VOLATILE(){return this.getToken(cn.VOLATILE,0)}EXTERNAL(){return this.getToken(cn.EXTERNAL,0)}SECURITY(){return this.getToken(cn.SECURITY,0)}DEFINER(){return this.getToken(cn.DEFINER,0)}INVOKER(){return this.getToken(cn.INVOKER,0)}LEAKPROOF(){return this.getToken(cn.LEAKPROOF,0)}NOT(){return this.getToken(cn.NOT,0)}COST(){return this.getToken(cn.COST,0)}numericOnly(){return this.getRuleContext(0,xE)}ROWS(){return this.getToken(cn.ROWS,0)}SUPPORT(){return this.getToken(cn.SUPPORT,0)}anyName(){return this.getRuleContext(0,mo)}functionSetResetClause(){return this.getRuleContext(0,Vn)}PARALLEL(){return this.getToken(cn.PARALLEL,0)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_commonFunctionOptionItem}accept(t){return t.visitCommonFunctionOptionItem?t.visitCommonFunctionOptionItem(this):t.visitChildren(this)}},kR=class extends ga{constructor(t,e){super(t,e)}AS(){return this.getToken(cn.AS,0)}functionAs(){return this.getRuleContext(0,HR)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}nonReservedWordOrSconst(){return this.getRuleContext(0,fn)}TRANSFORM(){return this.getToken(cn.TRANSFORM,0)}transformTypeList(){return this.getRuleContext(0,GR)}WINDOW(){return this.getToken(cn.WINDOW,0)}commonFunctionOptionItem(){return this.getRuleContext(0,xR)}get ruleIndex(){return cn.RULE_createFunctionOptionItem}accept(t){return t.visitCreateFunctionOptionItem?t.visitCreateFunctionOptionItem(this):t.visitChildren(this)}},HR=class extends ga{constructor(t,e){super(t,e)}sconst(t){return void 0===t?this.getRuleContexts(Qu):this.getRuleContext(t,Qu)}COMMA(){return this.getToken(cn.COMMA,0)}get ruleIndex(){return cn.RULE_functionAs}accept(t){return t.visitFunctionAs?t.visitFunctionAs(this):t.visitChildren(this)}},GR=class extends ga{constructor(t,e){super(t,e)}FOR(t){return void 0===t?this.getTokens(cn.FOR):this.getToken(cn.FOR,t)}TYPE_P(t){return void 0===t?this.getTokens(cn.TYPE_P):this.getToken(cn.TYPE_P,t)}typeName(t){return void 0===t?this.getRuleContexts(LO):this.getRuleContext(t,LO)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_transformTypeList}accept(t){return t.visitTransformTypeList?t.visitTransformTypeList(this):t.visitChildren(this)}},FR=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}definition(){return this.getRuleContext(0,$T)}get ruleIndex(){return cn.RULE_optionalDefinition}accept(t){return t.visitOptionalDefinition?t.visitOptionalDefinition(this):t.visitChildren(this)}},vR=class extends ga{constructor(t,e){super(t,e)}parameterName(){return this.getRuleContext(0,PR)}functionType(){return this.getRuleContext(0,dR)}get ruleIndex(){return cn.RULE_tableFunctionColumn}accept(t){return t.visitTableFunctionColumn?t.visitTableFunctionColumn(this):t.visitChildren(this)}},BR=class extends ga{constructor(t,e){super(t,e)}tableFunctionColumn(t){return void 0===t?this.getRuleContexts(vR):this.getRuleContext(t,vR)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_tableFunctionColumnList}accept(t){return t.visitTableFunctionColumnList?t.visitTableFunctionColumnList(this):t.visitChildren(this)}},yR=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}functionWithArgumentTypes(){return this.getRuleContext(0,uR)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}commonFunctionOptionItem(t){return void 0===t?this.getRuleContexts(xR):this.getRuleContext(t,xR)}RESTRICT(){return this.getToken(cn.RESTRICT,0)}get ruleIndex(){return cn.RULE_alterFunctionStatement}accept(t){return t.visitAlterFunctionStatement?t.visitAlterFunctionStatement(this):t.visitChildren(this)}},fR=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypesList(){return this.getRuleContext(0,IR)}optionalDropBehavior(){return this.getRuleContext(0,ah)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}get ruleIndex(){return cn.RULE_removeFunctionStatement}accept(t){return t.visitRemoveFunctionStatement?t.visitRemoveFunctionStatement(this):t.visitChildren(this)}},YR=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}AGGREGATE(){return this.getToken(cn.AGGREGATE,0)}aggregateWithArgumentTypesList(){return this.getRuleContext(0,pR)}optionalDropBehavior(){return this.getRuleContext(0,ah)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_removeAggregateStatement}accept(t){return t.visitRemoveAggregateStatement?t.visitRemoveAggregateStatement(this):t.visitChildren(this)}},wR=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}operatorWithArgumentTypesList(){return this.getRuleContext(0,VR)}optionalDropBehavior(){return this.getRuleContext(0,ah)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_removeOperatorStatement}accept(t){return t.visitRemoveOperatorStatement?t.visitRemoveOperatorStatement(this):t.visitChildren(this)}},bR=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}typeName(t){return void 0===t?this.getRuleContexts(LO):this.getRuleContext(t,LO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(){return this.getToken(cn.COMMA,0)}NONE(){return this.getToken(cn.NONE,0)}get ruleIndex(){return cn.RULE_operatorArgumentTypes}accept(t){return t.visitOperatorArgumentTypes?t.visitOperatorArgumentTypes(this):t.visitChildren(this)}},WR=class extends ga{constructor(t,e){super(t,e)}allOperator(){return this.getRuleContext(0,VI)}columnId(t){return void 0===t?this.getRuleContexts($u):this.getRuleContext(t,$u)}DOT(t){return void 0===t?this.getTokens(cn.DOT):this.getToken(cn.DOT,t)}get ruleIndex(){return cn.RULE_anyOperator}accept(t){return t.visitAnyOperator?t.visitAnyOperator(this):t.visitChildren(this)}},VR=class extends ga{constructor(t,e){super(t,e)}operatorWithArgumentTypes(t){return void 0===t?this.getRuleContexts(XR):this.getRuleContext(t,XR)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_operatorWithArgumentTypesList}accept(t){return t.visitOperatorWithArgumentTypesList?t.visitOperatorWithArgumentTypesList(this):t.visitChildren(this)}},XR=class extends ga{constructor(t,e){super(t,e)}anyOperator(){return this.getRuleContext(0,WR)}operatorArgumentTypes(){return this.getRuleContext(0,bR)}get ruleIndex(){return cn.RULE_operatorWithArgumentTypes}accept(t){return t.visitOperatorWithArgumentTypes?t.visitOperatorWithArgumentTypes(this):t.visitChildren(this)}},KR=class extends ga{constructor(t,e){super(t,e)}DO(){return this.getToken(cn.DO,0)}doStatementOptionsList(){return this.getRuleContext(0,QR)}get ruleIndex(){return cn.RULE_doStatement}accept(t){return t.visitDoStatement?t.visitDoStatement(this):t.visitChildren(this)}},QR=class extends ga{constructor(t,e){super(t,e)}doStatementOptionItem(t){return void 0===t?this.getRuleContexts(JR):this.getRuleContext(t,JR)}get ruleIndex(){return cn.RULE_doStatementOptionsList}accept(t){return t.visitDoStatementOptionsList?t.visitDoStatementOptionsList(this):t.visitChildren(this)}},JR=class extends ga{constructor(t,e){super(t,e)}sconst(){return this.getRuleContext(0,Qu)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}nonReservedWordOrSconst(){return this.getRuleContext(0,fn)}get ruleIndex(){return cn.RULE_doStatementOptionItem}accept(t){return t.visitDoStatementOptionItem?t.visitDoStatementOptionItem(this):t.visitChildren(this)}},ZR=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}CAST(){return this.getToken(cn.CAST,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}typeName(t){return void 0===t?this.getRuleContexts(LO):this.getRuleContext(t,LO)}AS(){return this.getToken(cn.AS,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}WITH(){return this.getToken(cn.WITH,0)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypes(){return this.getRuleContext(0,uR)}castContext(){return this.getRuleContext(0,qR)}WITHOUT(){return this.getToken(cn.WITHOUT,0)}INOUT(){return this.getToken(cn.INOUT,0)}get ruleIndex(){return cn.RULE_createCastStatement}accept(t){return t.visitCreateCastStatement?t.visitCreateCastStatement(this):t.visitChildren(this)}},qR=class extends ga{constructor(t,e){super(t,e)}AS(){return this.getToken(cn.AS,0)}IMPLICIT_P(){return this.getToken(cn.IMPLICIT_P,0)}ASSIGNMENT(){return this.getToken(cn.ASSIGNMENT,0)}get ruleIndex(){return cn.RULE_castContext}accept(t){return t.visitCastContext?t.visitCastContext(this):t.visitChildren(this)}},jR=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}CAST(){return this.getToken(cn.CAST,0)}optionalIfExists(){return this.getRuleContext(0,zR)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}typeName(t){return void 0===t?this.getRuleContexts(LO):this.getRuleContext(t,LO)}AS(){return this.getToken(cn.AS,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}optionalDropBehavior(){return this.getRuleContext(0,ah)}get ruleIndex(){return cn.RULE_dropCastStatement}accept(t){return t.visitDropCastStatement?t.visitDropCastStatement(this):t.visitChildren(this)}},zR=class extends ga{constructor(t,e){super(t,e)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_optionalIfExists}accept(t){return t.visitOptionalIfExists?t.visitOptionalIfExists(this):t.visitChildren(this)}},$R=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}optionalOrReplace(){return this.getRuleContext(0,lR)}TRANSFORM(){return this.getToken(cn.TRANSFORM,0)}FOR(){return this.getToken(cn.FOR,0)}typeName(){return this.getRuleContext(0,LO)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}name(){return this.getRuleContext(0,yu)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}transformElementList(){return this.getRuleContext(0,tA)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_createTransformStatement}accept(t){return t.visitCreateTransformStatement?t.visitCreateTransformStatement(this):t.visitChildren(this)}},tA=class extends ga{constructor(t,e){super(t,e)}FROM(){return this.getToken(cn.FROM,0)}SQL_P(t){return void 0===t?this.getTokens(cn.SQL_P):this.getToken(cn.SQL_P,t)}WITH(t){return void 0===t?this.getTokens(cn.WITH):this.getToken(cn.WITH,t)}FUNCTION(t){return void 0===t?this.getTokens(cn.FUNCTION):this.getToken(cn.FUNCTION,t)}functionWithArgumentTypes(t){return void 0===t?this.getRuleContexts(uR):this.getRuleContext(t,uR)}COMMA(){return this.getToken(cn.COMMA,0)}TO(){return this.getToken(cn.TO,0)}get ruleIndex(){return cn.RULE_transformElementList}accept(t){return t.visitTransformElementList?t.visitTransformElementList(this):t.visitChildren(this)}},eA=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}TRANSFORM(){return this.getToken(cn.TRANSFORM,0)}optionalIfExists(){return this.getRuleContext(0,zR)}FOR(){return this.getToken(cn.FOR,0)}typeName(){return this.getRuleContext(0,LO)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}name(){return this.getRuleContext(0,yu)}optionalDropBehavior(){return this.getRuleContext(0,ah)}get ruleIndex(){return cn.RULE_dropTransformStatement}accept(t){return t.visitDropTransformStatement?t.visitDropTransformStatement(this):t.visitChildren(this)}},sA=class extends ga{constructor(t,e){super(t,e)}REINDEX(){return this.getToken(cn.REINDEX,0)}reindexTargetType(){return this.getRuleContext(0,aA)}qualifiedName(){return this.getRuleContext(0,vu)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}reindexOptionList(){return this.getRuleContext(0,rA)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}CONCURRENTLY(){return this.getToken(cn.CONCURRENTLY,0)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseName(){return this.getRuleContext(0,Uu)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaName(){return this.getRuleContext(0,Du)}INDEX(){return this.getToken(cn.INDEX,0)}indexName(){return this.getRuleContext(0,gu)}SYSTEM_P(){return this.getToken(cn.SYSTEM_P,0)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_reindexStatement}accept(t){return t.visitReindexStatement?t.visitReindexStatement(this):t.visitChildren(this)}},aA=class extends ga{constructor(t,e){super(t,e)}TABLE(){return this.getToken(cn.TABLE,0)}SYSTEM_P(){return this.getToken(cn.SYSTEM_P,0)}get ruleIndex(){return cn.RULE_reindexTargetType}accept(t){return t.visitReindexTargetType?t.visitReindexTargetType(this):t.visitChildren(this)}},rA=class extends ga{constructor(t,e){super(t,e)}reindexOptionElement(t){return void 0===t?this.getRuleContexts(iA):this.getRuleContext(t,iA)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_reindexOptionList}accept(t){return t.visitReindexOptionList?t.visitReindexOptionList(this):t.visitChildren(this)}},iA=class extends ga{constructor(t,e){super(t,e)}VERBOSE(){return this.getToken(cn.VERBOSE,0)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}CONCURRENTLY(){return this.getToken(cn.CONCURRENTLY,0)}get ruleIndex(){return cn.RULE_reindexOptionElement}accept(t){return t.visitReindexOptionElement?t.visitReindexOptionElement(this):t.visitChildren(this)}},cA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}name(){return this.getRuleContext(0,yu)}SET(){return this.getToken(cn.SET,0)}relOptions(){return this.getRuleContext(0,nh)}RESET(){return this.getToken(cn.RESET,0)}get ruleIndex(){return cn.RULE_alterTablespaceStatement}accept(t){return t.visitAlterTablespaceStatement?t.visitAlterTablespaceStatement(this):t.visitChildren(this)}},nA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}AGGREGATE(){return this.getToken(cn.AGGREGATE,0)}aggregateWithArgumentTypes(){return this.getRuleContext(0,DR)}RENAME(){return this.getToken(cn.RENAME,0)}TO(){return this.getToken(cn.TO,0)}name(t){return void 0===t?this.getRuleContexts(yu):this.getRuleContext(t,yu)}COLLATION(){return this.getToken(cn.COLLATION,0)}anyName(){return this.getRuleContext(0,mo)}CONVERSION_P(){return this.getToken(cn.CONVERSION_P,0)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseName(){return this.getRuleContext(0,Uu)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}CONSTRAINT(){return this.getToken(cn.CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,Hu)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}DATA_P(){return this.getToken(cn.DATA_P,0)}WRAPPER(){return this.getToken(cn.WRAPPER,0)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypes(){return this.getRuleContext(0,uR)}optionalProcedural(){return this.getRuleContext(0,BE)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}CLASS(){return this.getToken(cn.CLASS,0)}USING(){return this.getToken(cn.USING,0)}FAMILY(){return this.getToken(cn.FAMILY,0)}POLICY(){return this.getToken(cn.POLICY,0)}ON(){return this.getToken(cn.ON,0)}qualifiedName(){return this.getRuleContext(0,vu)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}PUBLICATION(){return this.getToken(cn.PUBLICATION,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaName(){return this.getRuleContext(0,Du)}SERVER(){return this.getToken(cn.SERVER,0)}SUBSCRIPTION(){return this.getToken(cn.SUBSCRIPTION,0)}TABLE(){return this.getToken(cn.TABLE,0)}relationExpression(){return this.getRuleContext(0,eO)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}sequenceName(){return this.getRuleContext(0,Gu)}VIEW(){return this.getToken(cn.VIEW,0)}MATERIALIZED(){return this.getToken(cn.MATERIALIZED,0)}INDEX(){return this.getToken(cn.INDEX,0)}indexName(){return this.getRuleContext(0,gu)}optionalColumn(){return this.getRuleContext(0,hA)}RULE(){return this.getToken(cn.RULE,0)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}triggerName(){return this.getRuleContext(0,ku)}EVENT(){return this.getToken(cn.EVENT,0)}roleOrAliases(){return this.getRuleContext(0,RC)}roleName(t){return void 0===t?this.getRuleContexts(ju):this.getRuleContext(t,ju)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}STATISTICS(){return this.getToken(cn.STATISTICS,0)}TEXT_P(){return this.getToken(cn.TEXT_P,0)}SEARCH(){return this.getToken(cn.SEARCH,0)}PARSER(){return this.getToken(cn.PARSER,0)}DICTIONARY(){return this.getToken(cn.DICTIONARY,0)}TEMPLATE(){return this.getToken(cn.TEMPLATE,0)}CONFIGURATION(){return this.getToken(cn.CONFIGURATION,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}ATTRIBUTE(){return this.getToken(cn.ATTRIBUTE,0)}optionalDropBehavior(){return this.getRuleContext(0,ah)}get ruleIndex(){return cn.RULE_renameStatement}accept(t){return t.visitRenameStatement?t.visitRenameStatement(this):t.visitChildren(this)}},hA=class extends ga{constructor(t,e){super(t,e)}COLUMN(){return this.getToken(cn.COLUMN,0)}get ruleIndex(){return cn.RULE_optionalColumn}accept(t){return t.visitOptionalColumn?t.visitOptionalColumn(this):t.visitChildren(this)}},EA=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(cn.SET,0)}DATA_P(){return this.getToken(cn.DATA_P,0)}get ruleIndex(){return cn.RULE_optionalSetData}accept(t){return t.visitOptionalSetData?t.visitOptionalSetData(this):t.visitChildren(this)}},TA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypes(){return this.getRuleContext(0,uR)}DEPENDS(){return this.getToken(cn.DEPENDS,0)}ON(t){return void 0===t?this.getTokens(cn.ON):this.getToken(cn.ON,t)}EXTENSION(){return this.getToken(cn.EXTENSION,0)}name(){return this.getRuleContext(0,yu)}NO(){return this.getToken(cn.NO,0)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}triggerName(){return this.getRuleContext(0,ku)}qualifiedName(){return this.getRuleContext(0,vu)}MATERIALIZED(){return this.getToken(cn.MATERIALIZED,0)}VIEW(){return this.getToken(cn.VIEW,0)}INDEX(){return this.getToken(cn.INDEX,0)}indexName(){return this.getRuleContext(0,gu)}get ruleIndex(){return cn.RULE_alterObjectDependsStatement}accept(t){return t.visitAlterObjectDependsStatement?t.visitAlterObjectDependsStatement(this):t.visitChildren(this)}},oA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}AGGREGATE(){return this.getToken(cn.AGGREGATE,0)}aggregateWithArgumentTypes(){return this.getRuleContext(0,DR)}SET(){return this.getToken(cn.SET,0)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaName(){return this.getRuleContext(0,Du)}COLLATION(){return this.getToken(cn.COLLATION,0)}anyName(){return this.getRuleContext(0,mo)}CONVERSION_P(){return this.getToken(cn.CONVERSION_P,0)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}EXTENSION(){return this.getToken(cn.EXTENSION,0)}name(){return this.getRuleContext(0,yu)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypes(){return this.getRuleContext(0,uR)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}operatorWithArgumentTypes(){return this.getRuleContext(0,XR)}CLASS(){return this.getToken(cn.CLASS,0)}USING(){return this.getToken(cn.USING,0)}FAMILY(){return this.getToken(cn.FAMILY,0)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}TABLE(){return this.getToken(cn.TABLE,0)}relationExpression(){return this.getRuleContext(0,eO)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}STATISTICS(){return this.getToken(cn.STATISTICS,0)}TEXT_P(){return this.getToken(cn.TEXT_P,0)}SEARCH(){return this.getToken(cn.SEARCH,0)}PARSER(){return this.getToken(cn.PARSER,0)}DICTIONARY(){return this.getToken(cn.DICTIONARY,0)}TEMPLATE(){return this.getToken(cn.TEMPLATE,0)}CONFIGURATION(){return this.getToken(cn.CONFIGURATION,0)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}sequenceName(){return this.getRuleContext(0,Gu)}VIEW(){return this.getToken(cn.VIEW,0)}qualifiedName(){return this.getRuleContext(0,vu)}MATERIALIZED(){return this.getToken(cn.MATERIALIZED,0)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}get ruleIndex(){return cn.RULE_alterObjectSchemaStatement}accept(t){return t.visitAlterObjectSchemaStatement?t.visitAlterObjectSchemaStatement(this):t.visitChildren(this)}},RA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}operatorWithArgumentTypes(){return this.getRuleContext(0,XR)}SET(){return this.getToken(cn.SET,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}operatorDefinitionList(){return this.getRuleContext(0,AA)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_alterOperatorStatement}accept(t){return t.visitAlterOperatorStatement?t.visitAlterOperatorStatement(this):t.visitChildren(this)}},AA=class extends ga{constructor(t,e){super(t,e)}operatorDefinitionElement(t){return void 0===t?this.getRuleContexts(SA):this.getRuleContext(t,SA)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_operatorDefinitionList}accept(t){return t.visitOperatorDefinitionList?t.visitOperatorDefinitionList(this):t.visitChildren(this)}},SA=class extends ga{constructor(t,e){super(t,e)}columnLabel(){return this.getRuleContext(0,aN)}EQUAL(){return this.getToken(cn.EQUAL,0)}NONE(){return this.getToken(cn.NONE,0)}operatorDefinitionArgument(){return this.getRuleContext(0,lA)}get ruleIndex(){return cn.RULE_operatorDefinitionElement}accept(t){return t.visitOperatorDefinitionElement?t.visitOperatorDefinitionElement(this):t.visitChildren(this)}},lA=class extends ga{constructor(t,e){super(t,e)}functionType(){return this.getRuleContext(0,dR)}reservedKeyword(){return this.getRuleContext(0,EN)}allOperatorQualifier(){return this.getRuleContext(0,QI)}numericOnly(){return this.getRuleContext(0,xE)}sconst(){return this.getRuleContext(0,Qu)}get ruleIndex(){return cn.RULE_operatorDefinitionArgument}accept(t){return t.visitOperatorDefinitionArgument?t.visitOperatorDefinitionArgument(this):t.visitChildren(this)}},OA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}anyName(){return this.getRuleContext(0,mo)}SET(){return this.getToken(cn.SET,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}operatorDefinitionList(){return this.getRuleContext(0,AA)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_alterTypeStatement}accept(t){return t.visitAlterTypeStatement?t.visitAlterTypeStatement(this):t.visitChildren(this)}},IA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}AGGREGATE(){return this.getToken(cn.AGGREGATE,0)}aggregateWithArgumentTypes(){return this.getRuleContext(0,DR)}OWNER(){return this.getToken(cn.OWNER,0)}TO(){return this.getToken(cn.TO,0)}roleName(){return this.getRuleContext(0,ju)}COLLATION(){return this.getToken(cn.COLLATION,0)}anyName(){return this.getRuleContext(0,mo)}CONVERSION_P(){return this.getToken(cn.CONVERSION_P,0)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseName(){return this.getRuleContext(0,Uu)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}functionWithArgumentTypes(){return this.getRuleContext(0,uR)}optionalProcedural(){return this.getRuleContext(0,BE)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}name(){return this.getRuleContext(0,yu)}LARGE_P(){return this.getToken(cn.LARGE_P,0)}OBJECT_P(){return this.getToken(cn.OBJECT_P,0)}numericOnly(){return this.getRuleContext(0,xE)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}operatorWithArgumentTypes(){return this.getRuleContext(0,XR)}CLASS(){return this.getToken(cn.CLASS,0)}USING(){return this.getToken(cn.USING,0)}FAMILY(){return this.getToken(cn.FAMILY,0)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}schemaName(){return this.getRuleContext(0,Du)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}STATISTICS(){return this.getToken(cn.STATISTICS,0)}TEXT_P(){return this.getToken(cn.TEXT_P,0)}SEARCH(){return this.getToken(cn.SEARCH,0)}DICTIONARY(){return this.getToken(cn.DICTIONARY,0)}CONFIGURATION(){return this.getToken(cn.CONFIGURATION,0)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}DATA_P(){return this.getToken(cn.DATA_P,0)}WRAPPER(){return this.getToken(cn.WRAPPER,0)}SERVER(){return this.getToken(cn.SERVER,0)}EVENT(){return this.getToken(cn.EVENT,0)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}PUBLICATION(){return this.getToken(cn.PUBLICATION,0)}SUBSCRIPTION(){return this.getToken(cn.SUBSCRIPTION,0)}get ruleIndex(){return cn.RULE_alterOwnerStatement}accept(t){return t.visitAlterOwnerStatement?t.visitAlterOwnerStatement(this):t.visitChildren(this)}},uA=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}PUBLICATION(){return this.getToken(cn.PUBLICATION,0)}name(){return this.getRuleContext(0,yu)}optionalPublicationForTables(){return this.getRuleContext(0,NA)}optionalDefinition(){return this.getRuleContext(0,FR)}get ruleIndex(){return cn.RULE_createPublicationStatement}accept(t){return t.visitCreatePublicationStatement?t.visitCreatePublicationStatement(this):t.visitChildren(this)}},NA=class extends ga{constructor(t,e){super(t,e)}publicationForTables(){return this.getRuleContext(0,LA)}get ruleIndex(){return cn.RULE_optionalPublicationForTables}accept(t){return t.visitOptionalPublicationForTables?t.visitOptionalPublicationForTables(this):t.visitChildren(this)}},LA=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(cn.FOR,0)}TABLE(){return this.getToken(cn.TABLE,0)}relationExpressionList(){return this.getRuleContext(0,sO)}ALL(){return this.getToken(cn.ALL,0)}TABLES(){return this.getToken(cn.TABLES,0)}get ruleIndex(){return cn.RULE_publicationForTables}accept(t){return t.visitPublicationForTables?t.visitPublicationForTables(this):t.visitChildren(this)}},CA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}PUBLICATION(){return this.getToken(cn.PUBLICATION,0)}name(){return this.getRuleContext(0,yu)}SET(){return this.getToken(cn.SET,0)}definition(){return this.getRuleContext(0,$T)}ADD_P(){return this.getToken(cn.ADD_P,0)}TABLE(){return this.getToken(cn.TABLE,0)}relationExpressionList(){return this.getRuleContext(0,sO)}DROP(){return this.getToken(cn.DROP,0)}get ruleIndex(){return cn.RULE_alterPublicationStatement}accept(t){return t.visitAlterPublicationStatement?t.visitAlterPublicationStatement(this):t.visitChildren(this)}},_A=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}SUBSCRIPTION(){return this.getToken(cn.SUBSCRIPTION,0)}name(){return this.getRuleContext(0,yu)}CONNECTION(){return this.getToken(cn.CONNECTION,0)}sconst(){return this.getRuleContext(0,Qu)}PUBLICATION(){return this.getToken(cn.PUBLICATION,0)}publicationNameList(){return this.getRuleContext(0,PA)}optionalDefinition(){return this.getRuleContext(0,FR)}get ruleIndex(){return cn.RULE_createSubscriptionStatement}accept(t){return t.visitCreateSubscriptionStatement?t.visitCreateSubscriptionStatement(this):t.visitChildren(this)}},PA=class extends ga{constructor(t,e){super(t,e)}publicationNameItem(t){return void 0===t?this.getRuleContexts(MA):this.getRuleContext(t,MA)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_publicationNameList}accept(t){return t.visitPublicationNameList?t.visitPublicationNameList(this):t.visitChildren(this)}},MA=class extends ga{constructor(t,e){super(t,e)}columnLabel(){return this.getRuleContext(0,aN)}get ruleIndex(){return cn.RULE_publicationNameItem}accept(t){return t.visitPublicationNameItem?t.visitPublicationNameItem(this):t.visitChildren(this)}},dA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}SUBSCRIPTION(){return this.getToken(cn.SUBSCRIPTION,0)}name(){return this.getRuleContext(0,yu)}SET(){return this.getToken(cn.SET,0)}definition(){return this.getRuleContext(0,$T)}CONNECTION(){return this.getToken(cn.CONNECTION,0)}sconst(){return this.getRuleContext(0,Qu)}REFRESH(){return this.getToken(cn.REFRESH,0)}PUBLICATION(){return this.getToken(cn.PUBLICATION,0)}optionalDefinition(){return this.getRuleContext(0,FR)}publicationNameList(){return this.getRuleContext(0,PA)}ENABLE_P(){return this.getToken(cn.ENABLE_P,0)}DISABLE_P(){return this.getToken(cn.DISABLE_P,0)}get ruleIndex(){return cn.RULE_alterSubscriptionStatement}accept(t){return t.visitAlterSubscriptionStatement?t.visitAlterSubscriptionStatement(this):t.visitChildren(this)}},UA=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}SUBSCRIPTION(){return this.getToken(cn.SUBSCRIPTION,0)}name(){return this.getRuleContext(0,yu)}optionalDropBehavior(){return this.getRuleContext(0,ah)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_dropSubscriptionStatement}accept(t){return t.visitDropSubscriptionStatement?t.visitDropSubscriptionStatement(this):t.visitChildren(this)}},mA=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}optionalOrReplace(){return this.getRuleContext(0,lR)}RULE(){return this.getToken(cn.RULE,0)}name(){return this.getRuleContext(0,yu)}AS(){return this.getToken(cn.AS,0)}ON(){return this.getToken(cn.ON,0)}event(){return this.getRuleContext(0,kA)}TO(){return this.getToken(cn.TO,0)}qualifiedName(){return this.getRuleContext(0,vu)}whereClause(){return this.getRuleContext(0,EO)}DO(){return this.getToken(cn.DO,0)}optionalInstead(){return this.getRuleContext(0,HA)}ruleActionList(){return this.getRuleContext(0,DA)}get ruleIndex(){return cn.RULE_ruleStatement}accept(t){return t.visitRuleStatement?t.visitRuleStatement(this):t.visitChildren(this)}},DA=class extends ga{constructor(t,e){super(t,e)}NOTHING(){return this.getToken(cn.NOTHING,0)}ruleActionStatement(){return this.getRuleContext(0,gA)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}ruleActionMulti(){return this.getRuleContext(0,pA)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_ruleActionList}accept(t){return t.visitRuleActionList?t.visitRuleActionList(this):t.visitChildren(this)}},pA=class extends ga{constructor(t,e){super(t,e)}ruleActionStatementOrEmpty(t){return void 0===t?this.getRuleContexts(xA):this.getRuleContext(t,xA)}SEMI(t){return void 0===t?this.getTokens(cn.SEMI):this.getToken(cn.SEMI,t)}get ruleIndex(){return cn.RULE_ruleActionMulti}accept(t){return t.visitRuleActionMulti?t.visitRuleActionMulti(this):t.visitChildren(this)}},gA=class extends ga{constructor(t,e){super(t,e)}selectStatement(){return this.getRuleContext(0,il)}insertStatement(){return this.getRuleContext(0,kS)}updateStatement(){return this.getRuleContext(0,zS)}deleteStatement(){return this.getRuleContext(0,XS)}notifyStatement(){return this.getRuleContext(0,GA)}get ruleIndex(){return cn.RULE_ruleActionStatement}accept(t){return t.visitRuleActionStatement?t.visitRuleActionStatement(this):t.visitChildren(this)}},xA=class extends ga{constructor(t,e){super(t,e)}ruleActionStatement(){return this.getRuleContext(0,gA)}get ruleIndex(){return cn.RULE_ruleActionStatementOrEmpty}accept(t){return t.visitRuleActionStatementOrEmpty?t.visitRuleActionStatementOrEmpty(this):t.visitChildren(this)}},kA=class extends ga{constructor(t,e){super(t,e)}SELECT(){return this.getToken(cn.SELECT,0)}UPDATE(){return this.getToken(cn.UPDATE,0)}DELETE_P(){return this.getToken(cn.DELETE_P,0)}INSERT(){return this.getToken(cn.INSERT,0)}get ruleIndex(){return cn.RULE_event}accept(t){return t.visitEvent?t.visitEvent(this):t.visitChildren(this)}},HA=class extends ga{constructor(t,e){super(t,e)}INSTEAD(){return this.getToken(cn.INSTEAD,0)}ALSO(){return this.getToken(cn.ALSO,0)}get ruleIndex(){return cn.RULE_optionalInstead}accept(t){return t.visitOptionalInstead?t.visitOptionalInstead(this):t.visitChildren(this)}},GA=class extends ga{constructor(t,e){super(t,e)}NOTIFY(){return this.getToken(cn.NOTIFY,0)}columnId(){return this.getRuleContext(0,$u)}notifyPayload(){return this.getRuleContext(0,FA)}get ruleIndex(){return cn.RULE_notifyStatement}accept(t){return t.visitNotifyStatement?t.visitNotifyStatement(this):t.visitChildren(this)}},FA=class extends ga{constructor(t,e){super(t,e)}COMMA(){return this.getToken(cn.COMMA,0)}sconst(){return this.getRuleContext(0,Qu)}get ruleIndex(){return cn.RULE_notifyPayload}accept(t){return t.visitNotifyPayload?t.visitNotifyPayload(this):t.visitChildren(this)}},vA=class extends ga{constructor(t,e){super(t,e)}LISTEN(){return this.getToken(cn.LISTEN,0)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_listenStatement}accept(t){return t.visitListenStatement?t.visitListenStatement(this):t.visitChildren(this)}},BA=class extends ga{constructor(t,e){super(t,e)}UNLISTEN(){return this.getToken(cn.UNLISTEN,0)}columnId(){return this.getRuleContext(0,$u)}STAR(){return this.getToken(cn.STAR,0)}get ruleIndex(){return cn.RULE_unlistenStatement}accept(t){return t.visitUnlistenStatement?t.visitUnlistenStatement(this):t.visitChildren(this)}},yA=class extends ga{constructor(t,e){super(t,e)}ABORT_P(){return this.getToken(cn.ABORT_P,0)}optionalTransaction(){return this.getRuleContext(0,fA)}optionalTransactionChain(){return this.getRuleContext(0,bA)}BEGIN_P(){return this.getToken(cn.BEGIN_P,0)}transactionModeList(){return this.getRuleContext(0,wA)}START(){return this.getToken(cn.START,0)}TRANSACTION(){return this.getToken(cn.TRANSACTION,0)}COMMIT(){return this.getToken(cn.COMMIT,0)}END_P(){return this.getToken(cn.END_P,0)}ROLLBACK(){return this.getToken(cn.ROLLBACK,0)}SAVEPOINT(){return this.getToken(cn.SAVEPOINT,0)}columnId(){return this.getRuleContext(0,$u)}RELEASE(){return this.getToken(cn.RELEASE,0)}TO(){return this.getToken(cn.TO,0)}PREPARE(){return this.getToken(cn.PREPARE,0)}sconst(){return this.getRuleContext(0,Qu)}PREPARED(){return this.getToken(cn.PREPARED,0)}get ruleIndex(){return cn.RULE_transactionStatement}accept(t){return t.visitTransactionStatement?t.visitTransactionStatement(this):t.visitChildren(this)}},fA=class extends ga{constructor(t,e){super(t,e)}WORK(){return this.getToken(cn.WORK,0)}TRANSACTION(){return this.getToken(cn.TRANSACTION,0)}get ruleIndex(){return cn.RULE_optionalTransaction}accept(t){return t.visitOptionalTransaction?t.visitOptionalTransaction(this):t.visitChildren(this)}},YA=class extends ga{constructor(t,e){super(t,e)}ISOLATION(){return this.getToken(cn.ISOLATION,0)}LEVEL(){return this.getToken(cn.LEVEL,0)}isoLevel(){return this.getRuleContext(0,Fn)}READ(){return this.getToken(cn.READ,0)}ONLY(){return this.getToken(cn.ONLY,0)}WRITE(){return this.getToken(cn.WRITE,0)}DEFERRABLE(){return this.getToken(cn.DEFERRABLE,0)}NOT(){return this.getToken(cn.NOT,0)}get ruleIndex(){return cn.RULE_transactionModeItem}accept(t){return t.visitTransactionModeItem?t.visitTransactionModeItem(this):t.visitChildren(this)}},wA=class extends ga{constructor(t,e){super(t,e)}transactionModeItem(t){return void 0===t?this.getRuleContexts(YA):this.getRuleContext(t,YA)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_transactionModeList}accept(t){return t.visitTransactionModeList?t.visitTransactionModeList(this):t.visitChildren(this)}},bA=class extends ga{constructor(t,e){super(t,e)}AND(){return this.getToken(cn.AND,0)}CHAIN(){return this.getToken(cn.CHAIN,0)}NO(){return this.getToken(cn.NO,0)}get ruleIndex(){return cn.RULE_optionalTransactionChain}accept(t){return t.visitOptionalTransactionChain?t.visitOptionalTransactionChain(this):t.visitChildren(this)}},WA=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}temporaryOption(){return this.getRuleContext(0,gh)}AS(){return this.getToken(cn.AS,0)}selectStatement(){return this.getRuleContext(0,il)}optionalCheckOption(){return this.getRuleContext(0,VA)}VIEW(){return this.getToken(cn.VIEW,0)}qualifiedName(){return this.getRuleContext(0,vu)}columnListWithParentheses(){return this.getRuleContext(0,Zh)}optionalRelOptions(){return this.getRuleContext(0,hh)}RECURSIVE(){return this.getToken(cn.RECURSIVE,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}columnList(){return this.getRuleContext(0,qh)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}OR(){return this.getToken(cn.OR,0)}REPLACE(){return this.getToken(cn.REPLACE,0)}get ruleIndex(){return cn.RULE_viewStatement}accept(t){return t.visitViewStatement?t.visitViewStatement(this):t.visitChildren(this)}},VA=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}CHECK(){return this.getToken(cn.CHECK,0)}OPTION(){return this.getToken(cn.OPTION,0)}CASCADED(){return this.getToken(cn.CASCADED,0)}LOCAL(){return this.getToken(cn.LOCAL,0)}get ruleIndex(){return cn.RULE_optionalCheckOption}accept(t){return t.visitOptionalCheckOption?t.visitOptionalCheckOption(this):t.visitChildren(this)}},XA=class extends ga{constructor(t,e){super(t,e)}LOAD(){return this.getToken(cn.LOAD,0)}fileName(){return this.getRuleContext(0,Yu)}get ruleIndex(){return cn.RULE_loadStatement}accept(t){return t.visitLoadStatement?t.visitLoadStatement(this):t.visitChildren(this)}},KA=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}DATABASE(){return this.getToken(cn.DATABASE,0)}name(){return this.getRuleContext(0,yu)}optionalWith(){return this.getRuleContext(0,An)}createDatabaseOptionList(){return this.getRuleContext(0,QA)}get ruleIndex(){return cn.RULE_createDatabaseStatement}accept(t){return t.visitCreateDatabaseStatement?t.visitCreateDatabaseStatement(this):t.visitChildren(this)}},QA=class extends ga{constructor(t,e){super(t,e)}createDatabaseOptionItem(t){return void 0===t?this.getRuleContexts(JA):this.getRuleContext(t,JA)}get ruleIndex(){return cn.RULE_createDatabaseOptionList}accept(t){return t.visitCreateDatabaseOptionList?t.visitCreateDatabaseOptionList(this):t.visitChildren(this)}},JA=class extends ga{constructor(t,e){super(t,e)}createDatabaseOptionName(){return this.getRuleContext(0,ZA)}signedIconst(){return this.getRuleContext(0,qu)}booleanOrString(){return this.getRuleContext(0,vn)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}EQUAL(){return this.getToken(cn.EQUAL,0)}get ruleIndex(){return cn.RULE_createDatabaseOptionItem}accept(t){return t.visitCreateDatabaseOptionItem?t.visitCreateDatabaseOptionItem(this):t.visitChildren(this)}},ZA=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,rN)}CONNECTION(){return this.getToken(cn.CONNECTION,0)}LIMIT(){return this.getToken(cn.LIMIT,0)}ENCODING(){return this.getToken(cn.ENCODING,0)}LOCATION(){return this.getToken(cn.LOCATION,0)}OWNER(){return this.getToken(cn.OWNER,0)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}TEMPLATE(){return this.getToken(cn.TEMPLATE,0)}get ruleIndex(){return cn.RULE_createDatabaseOptionName}accept(t){return t.visitCreateDatabaseOptionName?t.visitCreateDatabaseOptionName(this):t.visitChildren(this)}},qA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseName(){return this.getRuleContext(0,Uu)}WITH(){return this.getToken(cn.WITH,0)}createDatabaseOptionList(){return this.getRuleContext(0,QA)}SET(){return this.getToken(cn.SET,0)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_alterDatabaseStatement}accept(t){return t.visitAlterDatabaseStatement?t.visitAlterDatabaseStatement(this):t.visitChildren(this)}},jA=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseName(){return this.getRuleContext(0,Uu)}setResetClause(){return this.getRuleContext(0,Wn)}get ruleIndex(){return cn.RULE_alterDatabaseSetStatement}accept(t){return t.visitAlterDatabaseSetStatement?t.visitAlterDatabaseSetStatement(this):t.visitChildren(this)}},zA=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(cn.DROP,0)}DATABASE(){return this.getToken(cn.DATABASE,0)}databaseName(){return this.getRuleContext(0,Uu)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}optionalWith(){return this.getRuleContext(0,An)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}FORCE(t){return void 0===t?this.getTokens(cn.FORCE):this.getToken(cn.FORCE,t)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_dropDatabaseStatement}accept(t){return t.visitDropDatabaseStatement?t.visitDropDatabaseStatement(this):t.visitChildren(this)}},$A=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}COLLATION(){return this.getToken(cn.COLLATION,0)}anyName(){return this.getRuleContext(0,mo)}REFRESH(){return this.getToken(cn.REFRESH,0)}VERSION_P(){return this.getToken(cn.VERSION_P,0)}get ruleIndex(){return cn.RULE_alterCollationStatement}accept(t){return t.visitAlterCollationStatement?t.visitAlterCollationStatement(this):t.visitChildren(this)}},tS=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}SYSTEM_P(){return this.getToken(cn.SYSTEM_P,0)}genericSetClause(){return this.getRuleContext(0,gn)}SET(){return this.getToken(cn.SET,0)}RESET(){return this.getToken(cn.RESET,0)}get ruleIndex(){return cn.RULE_alterSystemStatement}accept(t){return t.visitAlterSystemStatement?t.visitAlterSystemStatement(this):t.visitChildren(this)}},eS=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}anyName(){return this.getRuleContext(0,mo)}optionalAs(){return this.getRuleContext(0,rS)}typeName(){return this.getRuleContext(0,LO)}columnQualifierList(){return this.getRuleContext(0,fh)}get ruleIndex(){return cn.RULE_createDomainStatement}accept(t){return t.visitCreateDomainStatement?t.visitCreateDomainStatement(this):t.visitChildren(this)}},sS=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}anyName(){return this.getRuleContext(0,mo)}alterDomainCommand(){return this.getRuleContext(0,aS)}get ruleIndex(){return cn.RULE_alterDomainStatement}accept(t){return t.visitAlterDomainStatement?t.visitAlterDomainStatement(this):t.visitChildren(this)}},aS=class extends ga{constructor(t,e){super(t,e)}alterColumnDefault(){return this.getRuleContext(0,sh)}DROP(){return this.getToken(cn.DROP,0)}NOT(){return this.getToken(cn.NOT,0)}NULL_P(){return this.getToken(cn.NULL_P,0)}SET(){return this.getToken(cn.SET,0)}ADD_P(){return this.getToken(cn.ADD_P,0)}tableConstraint(){return this.getRuleContext(0,Qh)}CONSTRAINT(){return this.getToken(cn.CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,Hu)}optionalDropBehavior(){return this.getRuleContext(0,ah)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}VALIDATE(){return this.getToken(cn.VALIDATE,0)}get ruleIndex(){return cn.RULE_alterDomainCommand}accept(t){return t.visitAlterDomainCommand?t.visitAlterDomainCommand(this):t.visitChildren(this)}},rS=class extends ga{constructor(t,e){super(t,e)}AS(){return this.getToken(cn.AS,0)}get ruleIndex(){return cn.RULE_optionalAs}accept(t){return t.visitOptionalAs?t.visitOptionalAs(this):t.visitChildren(this)}},iS=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(cn.ALTER,0)}TEXT_P(){return this.getToken(cn.TEXT_P,0)}SEARCH(){return this.getToken(cn.SEARCH,0)}DICTIONARY(){return this.getToken(cn.DICTIONARY,0)}anyName(){return this.getRuleContext(0,mo)}definition(){return this.getRuleContext(0,$T)}get ruleIndex(){return cn.RULE_altertsDictionaryStatement}accept(t){return t.visitAltertsDictionaryStatement?t.visitAltertsDictionaryStatement(this):t.visitChildren(this)}},cS=class extends ga{constructor(t,e){super(t,e)}ALTER(t){return void 0===t?this.getTokens(cn.ALTER):this.getToken(cn.ALTER,t)}TEXT_P(){return this.getToken(cn.TEXT_P,0)}SEARCH(){return this.getToken(cn.SEARCH,0)}CONFIGURATION(){return this.getToken(cn.CONFIGURATION,0)}anyName(t){return void 0===t?this.getRuleContexts(mo):this.getRuleContext(t,mo)}ADD_P(){return this.getToken(cn.ADD_P,0)}MAPPING(){return this.getToken(cn.MAPPING,0)}FOR(){return this.getToken(cn.FOR,0)}nameList(){return this.getRuleContext(0,Bu)}WITH(){return this.getToken(cn.WITH,0)}anyNameList(){return this.getRuleContext(0,Uo)}REPLACE(){return this.getToken(cn.REPLACE,0)}DROP(){return this.getToken(cn.DROP,0)}IF_P(){return this.getToken(cn.IF_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_altertsConfigurationStatement}accept(t){return t.visitAltertsConfigurationStatement?t.visitAltertsConfigurationStatement(this):t.visitChildren(this)}},nS=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(cn.CREATE,0)}CONVERSION_P(){return this.getToken(cn.CONVERSION_P,0)}anyName(t){return void 0===t?this.getRuleContexts(mo):this.getRuleContext(t,mo)}FOR(){return this.getToken(cn.FOR,0)}sconst(t){return void 0===t?this.getRuleContexts(Qu):this.getRuleContext(t,Qu)}TO(){return this.getToken(cn.TO,0)}FROM(){return this.getToken(cn.FROM,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}get ruleIndex(){return cn.RULE_createConversionStatement}accept(t){return t.visitCreateConversionStatement?t.visitCreateConversionStatement(this):t.visitChildren(this)}},hS=class extends ga{constructor(t,e){super(t,e)}CLUSTER(){return this.getToken(cn.CLUSTER,0)}optionalVerbose(){return this.getRuleContext(0,IS)}qualifiedName(){return this.getRuleContext(0,vu)}clusterIndexSpecification(){return this.getRuleContext(0,ES)}name(){return this.getRuleContext(0,yu)}ON(){return this.getToken(cn.ON,0)}get ruleIndex(){return cn.RULE_clusterStatement}accept(t){return t.visitClusterStatement?t.visitClusterStatement(this):t.visitChildren(this)}},ES=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_clusterIndexSpecification}accept(t){return t.visitClusterIndexSpecification?t.visitClusterIndexSpecification(this):t.visitChildren(this)}},TS=class extends ga{constructor(t,e){super(t,e)}VACUUM(){return this.getToken(cn.VACUUM,0)}optionalVerbose(){return this.getRuleContext(0,IS)}optionalVacuumRelationList(){return this.getRuleContext(0,LS)}FULL(){return this.getToken(cn.FULL,0)}FREEZE(){return this.getToken(cn.FREEZE,0)}analyzeKeyword(){return this.getRuleContext(0,AS)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}vacuumAnalyzeOptionList(){return this.getRuleContext(0,RS)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_vacuumStatement}accept(t){return t.visitVacuumStatement?t.visitVacuumStatement(this):t.visitChildren(this)}},oS=class extends ga{constructor(t,e){super(t,e)}analyzeKeyword(){return this.getRuleContext(0,AS)}optionalVerbose(){return this.getRuleContext(0,IS)}optionalVacuumRelationList(){return this.getRuleContext(0,LS)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}vacuumAnalyzeOptionList(){return this.getRuleContext(0,RS)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_analyzeStatement}accept(t){return t.visitAnalyzeStatement?t.visitAnalyzeStatement(this):t.visitChildren(this)}},RS=class extends ga{constructor(t,e){super(t,e)}vacuumAnalyzeOptionElement(t){return void 0===t?this.getRuleContexts(SS):this.getRuleContext(t,SS)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_vacuumAnalyzeOptionList}accept(t){return t.visitVacuumAnalyzeOptionList?t.visitVacuumAnalyzeOptionList(this):t.visitChildren(this)}},AS=class extends ga{constructor(t,e){super(t,e)}ANALYZE(){return this.getToken(cn.ANALYZE,0)}ANALYSE(){return this.getToken(cn.ANALYSE,0)}get ruleIndex(){return cn.RULE_analyzeKeyword}accept(t){return t.visitAnalyzeKeyword?t.visitAnalyzeKeyword(this):t.visitChildren(this)}},SS=class extends ga{constructor(t,e){super(t,e)}vacuumAnalyzeOptionName(){return this.getRuleContext(0,lS)}vacuumAnalyzeOptionArgument(){return this.getRuleContext(0,OS)}get ruleIndex(){return cn.RULE_vacuumAnalyzeOptionElement}accept(t){return t.visitVacuumAnalyzeOptionElement?t.visitVacuumAnalyzeOptionElement(this):t.visitChildren(this)}},lS=class extends ga{constructor(t,e){super(t,e)}nonReservedWord(){return this.getRuleContext(0,sN)}analyzeKeyword(){return this.getRuleContext(0,AS)}get ruleIndex(){return cn.RULE_vacuumAnalyzeOptionName}accept(t){return t.visitVacuumAnalyzeOptionName?t.visitVacuumAnalyzeOptionName(this):t.visitChildren(this)}},OS=class extends ga{constructor(t,e){super(t,e)}booleanOrString(){return this.getRuleContext(0,vn)}numericOnly(){return this.getRuleContext(0,xE)}get ruleIndex(){return cn.RULE_vacuumAnalyzeOptionArgument}accept(t){return t.visitVacuumAnalyzeOptionArgument?t.visitVacuumAnalyzeOptionArgument(this):t.visitChildren(this)}},IS=class extends ga{constructor(t,e){super(t,e)}VERBOSE(){return this.getToken(cn.VERBOSE,0)}get ruleIndex(){return cn.RULE_optionalVerbose}accept(t){return t.visitOptionalVerbose?t.visitOptionalVerbose(this):t.visitChildren(this)}},uS=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}nameList(){return this.getRuleContext(0,Bu)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_optionalNameList}accept(t){return t.visitOptionalNameList?t.visitOptionalNameList(this):t.visitChildren(this)}},NS=class extends ga{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,vu)}optionalNameList(){return this.getRuleContext(0,uS)}get ruleIndex(){return cn.RULE_vacuumRelation}accept(t){return t.visitVacuumRelation?t.visitVacuumRelation(this):t.visitChildren(this)}},LS=class extends ga{constructor(t,e){super(t,e)}vacuumRelation(t){return void 0===t?this.getRuleContexts(NS):this.getRuleContext(t,NS)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_optionalVacuumRelationList}accept(t){return t.visitOptionalVacuumRelationList?t.visitOptionalVacuumRelationList(this):t.visitChildren(this)}},CS=class extends ga{constructor(t,e){super(t,e)}EXPLAIN(){return this.getToken(cn.EXPLAIN,0)}explainableStatement(){return this.getRuleContext(0,_S)}analyzeKeyword(){return this.getRuleContext(0,AS)}optionalVerbose(){return this.getRuleContext(0,IS)}VERBOSE(){return this.getToken(cn.VERBOSE,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}explainOptionElement(t){return void 0===t?this.getRuleContexts(PS):this.getRuleContext(t,PS)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_explainStatement}accept(t){return t.visitExplainStatement?t.visitExplainStatement(this):t.visitChildren(this)}},_S=class extends ga{constructor(t,e){super(t,e)}selectStatement(){return this.getRuleContext(0,il)}insertStatement(){return this.getRuleContext(0,kS)}updateStatement(){return this.getRuleContext(0,zS)}deleteStatement(){return this.getRuleContext(0,XS)}declareCursorStatement(){return this.getRuleContext(0,sl)}createAsStatement(){return this.getRuleContext(0,LE)}createMaterializedViewStatement(){return this.getRuleContext(0,PE)}refreshMaterializedViewStatement(){return this.getRuleContext(0,dE)}executeStatement(){return this.getRuleContext(0,pS)}get ruleIndex(){return cn.RULE_explainableStatement}accept(t){return t.visitExplainableStatement?t.visitExplainableStatement(this):t.visitChildren(this)}},PS=class extends ga{constructor(t,e){super(t,e)}explainOptionName(){return this.getRuleContext(0,MS)}explainOptionArgument(){return this.getRuleContext(0,dS)}get ruleIndex(){return cn.RULE_explainOptionElement}accept(t){return t.visitExplainOptionElement?t.visitExplainOptionElement(this):t.visitChildren(this)}},MS=class extends ga{constructor(t,e){super(t,e)}nonReservedWord(){return this.getRuleContext(0,sN)}analyzeKeyword(){return this.getRuleContext(0,AS)}get ruleIndex(){return cn.RULE_explainOptionName}accept(t){return t.visitExplainOptionName?t.visitExplainOptionName(this):t.visitChildren(this)}},dS=class extends ga{constructor(t,e){super(t,e)}booleanOrString(){return this.getRuleContext(0,vn)}numericOnly(){return this.getRuleContext(0,xE)}get ruleIndex(){return cn.RULE_explainOptionArgument}accept(t){return t.visitExplainOptionArgument?t.visitExplainOptionArgument(this):t.visitChildren(this)}},US=class extends ga{constructor(t,e){super(t,e)}PREPARE(){return this.getToken(cn.PREPARE,0)}name(){return this.getRuleContext(0,yu)}prepareTypeClause(){return this.getRuleContext(0,mS)}AS(){return this.getToken(cn.AS,0)}preparableStatement(){return this.getRuleContext(0,DS)}get ruleIndex(){return cn.RULE_prepareStatement}accept(t){return t.visitPrepareStatement?t.visitPrepareStatement(this):t.visitChildren(this)}},mS=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}typeList(){return this.getRuleContext(0,zI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_prepareTypeClause}accept(t){return t.visitPrepareTypeClause?t.visitPrepareTypeClause(this):t.visitChildren(this)}},DS=class extends ga{constructor(t,e){super(t,e)}selectStatement(){return this.getRuleContext(0,il)}insertStatement(){return this.getRuleContext(0,kS)}updateStatement(){return this.getRuleContext(0,zS)}deleteStatement(){return this.getRuleContext(0,XS)}get ruleIndex(){return cn.RULE_preparableStatement}accept(t){return t.visitPreparableStatement?t.visitPreparableStatement(this):t.visitChildren(this)}},pS=class extends ga{constructor(t,e){super(t,e)}EXECUTE(){return this.getToken(cn.EXECUTE,0)}name(){return this.getRuleContext(0,yu)}executeParameterClause(){return this.getRuleContext(0,gS)}CREATE(){return this.getToken(cn.CREATE,0)}temporaryOption(){return this.getRuleContext(0,gh)}TABLE(){return this.getToken(cn.TABLE,0)}createAsTarget(){return this.getRuleContext(0,CE)}AS(){return this.getToken(cn.AS,0)}withData(){return this.getRuleContext(0,_E)}IF_P(){return this.getToken(cn.IF_P,0)}NOT(){return this.getToken(cn.NOT,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}get ruleIndex(){return cn.RULE_executeStatement}accept(t){return t.visitExecuteStatement?t.visitExecuteStatement(this):t.visitChildren(this)}},gS=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expressionList(){return this.getRuleContext(0,ZI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_executeParameterClause}accept(t){return t.visitExecuteParameterClause?t.visitExecuteParameterClause(this):t.visitChildren(this)}},xS=class extends ga{constructor(t,e){super(t,e)}DEALLOCATE(){return this.getToken(cn.DEALLOCATE,0)}name(){return this.getRuleContext(0,yu)}PREPARE(){return this.getToken(cn.PREPARE,0)}ALL(){return this.getToken(cn.ALL,0)}get ruleIndex(){return cn.RULE_deallocateStatement}accept(t){return t.visitDeallocateStatement?t.visitDeallocateStatement(this):t.visitChildren(this)}},kS=class extends ga{constructor(t,e){super(t,e)}INSERT(){return this.getToken(cn.INSERT,0)}INTO(){return this.getToken(cn.INTO,0)}insertTarget(){return this.getRuleContext(0,HS)}insertRest(){return this.getRuleContext(0,GS)}optionalOnConflict(){return this.getRuleContext(0,yS)}returningClause(){return this.getRuleContext(0,YS)}withClause(){return this.getRuleContext(0,Rl)}get ruleIndex(){return cn.RULE_insertStatement}accept(t){return t.visitInsertStatement?t.visitInsertStatement(this):t.visitChildren(this)}},HS=class extends ga{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,vu)}AS(){return this.getToken(cn.AS,0)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_insertTarget}accept(t){return t.visitInsertTarget?t.visitInsertTarget(this):t.visitChildren(this)}},GS=class extends ga{constructor(t,e){super(t,e)}selectStatement(){return this.getRuleContext(0,il)}OVERRIDING(){return this.getToken(cn.OVERRIDING,0)}overrideKind(){return this.getRuleContext(0,FS)}VALUE_P(){return this.getToken(cn.VALUE_P,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}insertColumnList(){return this.getRuleContext(0,vS)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}VALUES(){return this.getToken(cn.VALUES,0)}get ruleIndex(){return cn.RULE_insertRest}accept(t){return t.visitInsertRest?t.visitInsertRest(this):t.visitChildren(this)}},FS=class extends ga{constructor(t,e){super(t,e)}USER(){return this.getToken(cn.USER,0)}SYSTEM_P(){return this.getToken(cn.SYSTEM_P,0)}get ruleIndex(){return cn.RULE_overrideKind}accept(t){return t.visitOverrideKind?t.visitOverrideKind(this):t.visitChildren(this)}},vS=class extends ga{constructor(t,e){super(t,e)}insertColumnItem(t){return void 0===t?this.getRuleContexts(BS):this.getRuleContext(t,BS)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_insertColumnList}accept(t){return t.visitInsertColumnList?t.visitInsertColumnList(this):t.visitChildren(this)}},BS=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}optionalIndirection(){return this.getRuleContext(0,Nu)}get ruleIndex(){return cn.RULE_insertColumnItem}accept(t){return t.visitInsertColumnItem?t.visitInsertColumnItem(this):t.visitChildren(this)}},yS=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(cn.ON,0)}CONFLICT(){return this.getToken(cn.CONFLICT,0)}optionalConflictExpr(){return this.getRuleContext(0,fS)}DO(){return this.getToken(cn.DO,0)}UPDATE(){return this.getToken(cn.UPDATE,0)}SET(){return this.getToken(cn.SET,0)}setClauseList(){return this.getRuleContext(0,$S)}whereClause(){return this.getRuleContext(0,EO)}NOTHING(){return this.getToken(cn.NOTHING,0)}get ruleIndex(){return cn.RULE_optionalOnConflict}accept(t){return t.visitOptionalOnConflict?t.visitOptionalOnConflict(this):t.visitChildren(this)}},fS=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}indexParameters(){return this.getRuleContext(0,cR)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}whereClause(){return this.getRuleContext(0,EO)}ON(){return this.getToken(cn.ON,0)}CONSTRAINT(){return this.getToken(cn.CONSTRAINT,0)}constraintName(){return this.getRuleContext(0,Hu)}get ruleIndex(){return cn.RULE_optionalConflictExpr}accept(t){return t.visitOptionalConflictExpr?t.visitOptionalConflictExpr(this):t.visitChildren(this)}},YS=class extends ga{constructor(t,e){super(t,e)}RETURNING(){return this.getToken(cn.RETURNING,0)}targetList(){return this.getRuleContext(0,Cu)}get ruleIndex(){return cn.RULE_returningClause}accept(t){return t.visitReturningClause?t.visitReturningClause(this):t.visitChildren(this)}},wS=class extends ga{constructor(t,e){super(t,e)}MERGE(){return this.getToken(cn.MERGE,0)}qualifiedName(t){return void 0===t?this.getRuleContexts(vu):this.getRuleContext(t,vu)}USING(){return this.getToken(cn.USING,0)}ON(){return this.getToken(cn.ON,0)}expression1(){return this.getRuleContext(0,wO)}selectWithParenthesis(){return this.getRuleContext(0,cl)}mergeInsertClause(){return this.getRuleContext(0,bS)}mergeUpdateClause(){return this.getRuleContext(0,WS)}INTO(){return this.getToken(cn.INTO,0)}aliasClause(t){return void 0===t?this.getRuleContexts(Jl):this.getRuleContext(t,Jl)}mergeDeleteClause(){return this.getRuleContext(0,VS)}get ruleIndex(){return cn.RULE_mergeStatement}accept(t){return t.visitMergeStatement?t.visitMergeStatement(this):t.visitChildren(this)}},bS=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(cn.WHEN,0)}NOT(){return this.getToken(cn.NOT,0)}MATCHED(){return this.getToken(cn.MATCHED,0)}INSERT(){return this.getToken(cn.INSERT,0)}valuesClause(){return this.getRuleContext(0,Wl)}AND(){return this.getToken(cn.AND,0)}expression1(){return this.getRuleContext(0,wO)}THEN(){return this.getToken(cn.THEN,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}insertColumnList(){return this.getRuleContext(0,vS)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_mergeInsertClause}accept(t){return t.visitMergeInsertClause?t.visitMergeInsertClause(this):t.visitChildren(this)}},WS=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(cn.WHEN,0)}MATCHED(){return this.getToken(cn.MATCHED,0)}UPDATE(){return this.getToken(cn.UPDATE,0)}SET(){return this.getToken(cn.SET,0)}setClauseList(){return this.getRuleContext(0,$S)}AND(){return this.getToken(cn.AND,0)}expression1(){return this.getRuleContext(0,wO)}THEN(){return this.getToken(cn.THEN,0)}get ruleIndex(){return cn.RULE_mergeUpdateClause}accept(t){return t.visitMergeUpdateClause?t.visitMergeUpdateClause(this):t.visitChildren(this)}},VS=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(cn.WHEN,0)}MATCHED(){return this.getToken(cn.MATCHED,0)}DELETE_P(){return this.getToken(cn.DELETE_P,0)}THEN(){return this.getToken(cn.THEN,0)}get ruleIndex(){return cn.RULE_mergeDeleteClause}accept(t){return t.visitMergeDeleteClause?t.visitMergeDeleteClause(this):t.visitChildren(this)}},XS=class extends ga{constructor(t,e){super(t,e)}DELETE_P(){return this.getToken(cn.DELETE_P,0)}FROM(){return this.getToken(cn.FROM,0)}relationExpressionOptionalAlias(){return this.getRuleContext(0,aO)}usingClause(){return this.getRuleContext(0,KS)}whereOrCurrentClause(){return this.getRuleContext(0,TO)}returningClause(){return this.getRuleContext(0,YS)}withClause(){return this.getRuleContext(0,Rl)}get ruleIndex(){return cn.RULE_deleteStatement}accept(t){return t.visitDeleteStatement?t.visitDeleteStatement(this):t.visitChildren(this)}},KS=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}fromList(){return this.getRuleContext(0,Xl)}get ruleIndex(){return cn.RULE_usingClause}accept(t){return t.visitUsingClause?t.visitUsingClause(this):t.visitChildren(this)}},QS=class extends ga{constructor(t,e){super(t,e)}LOCK_P(){return this.getToken(cn.LOCK_P,0)}optionalTable(){return this.getRuleContext(0,Il)}relationExpressionList(){return this.getRuleContext(0,sO)}optionalLock(){return this.getRuleContext(0,JS)}optionalNowait(){return this.getRuleContext(0,qS)}get ruleIndex(){return cn.RULE_lockStatement}accept(t){return t.visitLockStatement?t.visitLockStatement(this):t.visitChildren(this)}},JS=class extends ga{constructor(t,e){super(t,e)}IN_P(){return this.getToken(cn.IN_P,0)}lockType(){return this.getRuleContext(0,ZS)}MODE(){return this.getToken(cn.MODE,0)}get ruleIndex(){return cn.RULE_optionalLock}accept(t){return t.visitOptionalLock?t.visitOptionalLock(this):t.visitChildren(this)}},ZS=class extends ga{constructor(t,e){super(t,e)}ACCESS(){return this.getToken(cn.ACCESS,0)}SHARE(){return this.getToken(cn.SHARE,0)}EXCLUSIVE(){return this.getToken(cn.EXCLUSIVE,0)}ROW(){return this.getToken(cn.ROW,0)}UPDATE(){return this.getToken(cn.UPDATE,0)}get ruleIndex(){return cn.RULE_lockType}accept(t){return t.visitLockType?t.visitLockType(this):t.visitChildren(this)}},qS=class extends ga{constructor(t,e){super(t,e)}NOWAIT(){return this.getToken(cn.NOWAIT,0)}get ruleIndex(){return cn.RULE_optionalNowait}accept(t){return t.visitOptionalNowait?t.visitOptionalNowait(this):t.visitChildren(this)}},jS=class extends ga{constructor(t,e){super(t,e)}NOWAIT(){return this.getToken(cn.NOWAIT,0)}SKIP_P(){return this.getToken(cn.SKIP_P,0)}LOCKED(){return this.getToken(cn.LOCKED,0)}get ruleIndex(){return cn.RULE_optionalNowaitOrSkip}accept(t){return t.visitOptionalNowaitOrSkip?t.visitOptionalNowaitOrSkip(this):t.visitChildren(this)}},zS=class extends ga{constructor(t,e){super(t,e)}UPDATE(){return this.getToken(cn.UPDATE,0)}relationExpressionOptionalAlias(){return this.getRuleContext(0,aO)}SET(){return this.getToken(cn.SET,0)}setClauseList(){return this.getRuleContext(0,$S)}fromClause(){return this.getRuleContext(0,Vl)}whereOrCurrentClause(){return this.getRuleContext(0,TO)}returningClause(){return this.getRuleContext(0,YS)}withClause(){return this.getRuleContext(0,Rl)}get ruleIndex(){return cn.RULE_updateStatement}accept(t){return t.visitUpdateStatement?t.visitUpdateStatement(this):t.visitChildren(this)}},$S=class extends ga{constructor(t,e){super(t,e)}setClause(t){return void 0===t?this.getRuleContexts(tl):this.getRuleContext(t,tl)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_setClauseList}accept(t){return t.visitSetClauseList?t.visitSetClauseList(this):t.visitChildren(this)}},tl=class extends ga{constructor(t,e){super(t,e)}setTarget(t){return void 0===t?this.getRuleContexts(el):this.getRuleContext(t,el)}EQUAL(){return this.getToken(cn.EQUAL,0)}expression1(){return this.getRuleContext(0,wO)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_setClause}accept(t){return t.visitSetClause?t.visitSetClause(this):t.visitChildren(this)}},el=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}optionalIndirection(){return this.getRuleContext(0,Nu)}get ruleIndex(){return cn.RULE_setTarget}accept(t){return t.visitSetTarget?t.visitSetTarget(this):t.visitChildren(this)}},sl=class extends ga{constructor(t,e){super(t,e)}DECLARE(){return this.getToken(cn.DECLARE,0)}cursorName(){return this.getRuleContext(0,al)}CURSOR(){return this.getToken(cn.CURSOR,0)}optionalHold(){return this.getRuleContext(0,rl)}FOR(){return this.getToken(cn.FOR,0)}selectStatement(){return this.getRuleContext(0,il)}NO(t){return void 0===t?this.getTokens(cn.NO):this.getToken(cn.NO,t)}SCROLL(t){return void 0===t?this.getTokens(cn.SCROLL):this.getToken(cn.SCROLL,t)}BINARY(t){return void 0===t?this.getTokens(cn.BINARY):this.getToken(cn.BINARY,t)}INSENSITIVE(t){return void 0===t?this.getTokens(cn.INSENSITIVE):this.getToken(cn.INSENSITIVE,t)}get ruleIndex(){return cn.RULE_declareCursorStatement}accept(t){return t.visitDeclareCursorStatement?t.visitDeclareCursorStatement(this):t.visitChildren(this)}},al=class extends ga{constructor(t,e){super(t,e)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_cursorName}accept(t){return t.visitCursorName?t.visitCursorName(this):t.visitChildren(this)}},rl=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}HOLD(){return this.getToken(cn.HOLD,0)}WITHOUT(){return this.getToken(cn.WITHOUT,0)}get ruleIndex(){return cn.RULE_optionalHold}accept(t){return t.visitOptionalHold?t.visitOptionalHold(this):t.visitChildren(this)}},il=class extends ga{constructor(t,e){super(t,e)}selectWithoutParenthesis(){return this.getRuleContext(0,nl)}selectWithParenthesis(){return this.getRuleContext(0,cl)}get ruleIndex(){return cn.RULE_selectStatement}accept(t){return t.visitSelectStatement?t.visitSelectStatement(this):t.visitChildren(this)}},cl=class t extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}selectWithoutParenthesis(){return this.getRuleContext(0,nl)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}selectWithParenthesis(){return this.getRuleContext(0,t)}get ruleIndex(){return cn.RULE_selectWithParenthesis}accept(t){return t.visitSelectWithParenthesis?t.visitSelectWithParenthesis(this):t.visitChildren(this)}},nl=class extends ga{constructor(t,e){super(t,e)}selectClause(){return this.getRuleContext(0,hl)}optionalSortClause(){return this.getRuleContext(0,Cl)}forLockingClause(){return this.getRuleContext(0,fl)}optionalSelectLimit(){return this.getRuleContext(0,Ul)}selectLimit(){return this.getRuleContext(0,dl)}withClause(){return this.getRuleContext(0,Rl)}get ruleIndex(){return cn.RULE_selectWithoutParenthesis}accept(t){return t.visitSelectWithoutParenthesis?t.visitSelectWithoutParenthesis(this):t.visitChildren(this)}},hl=class extends ga{constructor(t,e){super(t,e)}simpleSelectIntersect(t){return void 0===t?this.getRuleContexts(El):this.getRuleContext(t,El)}allOrDistinct(t){return void 0===t?this.getRuleContexts(ul):this.getRuleContext(t,ul)}UNION(t){return void 0===t?this.getTokens(cn.UNION):this.getToken(cn.UNION,t)}EXCEPT(t){return void 0===t?this.getTokens(cn.EXCEPT):this.getToken(cn.EXCEPT,t)}get ruleIndex(){return cn.RULE_selectClause}accept(t){return t.visitSelectClause?t.visitSelectClause(this):t.visitChildren(this)}},El=class extends ga{constructor(t,e){super(t,e)}simpleSelectPramary(t){return void 0===t?this.getRuleContexts(ol):this.getRuleContext(t,ol)}INTERSECT(t){return void 0===t?this.getTokens(cn.INTERSECT):this.getToken(cn.INTERSECT,t)}allOrDistinct(t){return void 0===t?this.getRuleContexts(ul):this.getRuleContext(t,ul)}get ruleIndex(){return cn.RULE_simpleSelectIntersect}accept(t){return t.visitSimpleSelectIntersect?t.visitSimpleSelectIntersect(this):t.visitChildren(this)}},Tl=class extends ga{constructor(t,e){super(t,e)}targetList(){return this.getRuleContext(0,Cu)}intoClause(){return this.getRuleContext(0,ll)}allClause(){return this.getRuleContext(0,Ll)}optionalTargetList(){return this.getRuleContext(0,Lu)}distinctClause(){return this.getRuleContext(0,Nl)}get ruleIndex(){return cn.RULE_simpleSelectStart}accept(t){return t.visitSimpleSelectStart?t.visitSimpleSelectStart(this):t.visitChildren(this)}},ol=class extends ga{constructor(t,e){super(t,e)}SELECT(){return this.getToken(cn.SELECT,0)}simpleSelectStart(){return this.getRuleContext(0,Tl)}fromClause(){return this.getRuleContext(0,Vl)}whereClause(){return this.getRuleContext(0,EO)}groupClause(){return this.getRuleContext(0,Fl)}havingClause(){return this.getRuleContext(0,yl)}windowClause(){return this.getRuleContext(0,pI)}valuesClause(){return this.getRuleContext(0,Wl)}TABLE(){return this.getToken(cn.TABLE,0)}relationExpression(){return this.getRuleContext(0,eO)}selectWithParenthesis(){return this.getRuleContext(0,cl)}get ruleIndex(){return cn.RULE_simpleSelectPramary}accept(t){return t.visitSimpleSelectPramary?t.visitSimpleSelectPramary(this):t.visitChildren(this)}},Rl=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}commonTableExpression(t){return void 0===t?this.getRuleContexts(Al):this.getRuleContext(t,Al)}RECURSIVE(){return this.getToken(cn.RECURSIVE,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_withClause}accept(t){return t.visitWithClause?t.visitWithClause(this):t.visitChildren(this)}},Al=class extends ga{constructor(t,e){super(t,e)}name(){return this.getRuleContext(0,yu)}optionalNameList(){return this.getRuleContext(0,uS)}AS(){return this.getToken(cn.AS,0)}optionalMaterialized(){return this.getRuleContext(0,Sl)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}preparableStatement(){return this.getRuleContext(0,DS)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_commonTableExpression}accept(t){return t.visitCommonTableExpression?t.visitCommonTableExpression(this):t.visitChildren(this)}},Sl=class extends ga{constructor(t,e){super(t,e)}MATERIALIZED(){return this.getToken(cn.MATERIALIZED,0)}NOT(){return this.getToken(cn.NOT,0)}get ruleIndex(){return cn.RULE_optionalMaterialized}accept(t){return t.visitOptionalMaterialized?t.visitOptionalMaterialized(this):t.visitChildren(this)}},ll=class extends ga{constructor(t,e){super(t,e)}INTO(){return this.getToken(cn.INTO,0)}optionalTemporaryTableName(){return this.getRuleContext(0,Ol)}intoTarget(){return this.getRuleContext(0,BL)}STRICT_P(){return this.getToken(cn.STRICT_P,0)}get ruleIndex(){return cn.RULE_intoClause}accept(t){return t.visitIntoClause?t.visitIntoClause(this):t.visitChildren(this)}},Ol=class extends ga{constructor(t,e){super(t,e)}optionalTable(){return this.getRuleContext(0,Il)}qualifiedName(){return this.getRuleContext(0,vu)}TEMPORARY(){return this.getToken(cn.TEMPORARY,0)}TEMP(){return this.getToken(cn.TEMP,0)}LOCAL(){return this.getToken(cn.LOCAL,0)}GLOBAL(){return this.getToken(cn.GLOBAL,0)}UNLOGGED(){return this.getToken(cn.UNLOGGED,0)}TABLE(){return this.getToken(cn.TABLE,0)}get ruleIndex(){return cn.RULE_optionalTemporaryTableName}accept(t){return t.visitOptionalTemporaryTableName?t.visitOptionalTemporaryTableName(this):t.visitChildren(this)}},Il=class extends ga{constructor(t,e){super(t,e)}TABLE(){return this.getToken(cn.TABLE,0)}get ruleIndex(){return cn.RULE_optionalTable}accept(t){return t.visitOptionalTable?t.visitOptionalTable(this):t.visitChildren(this)}},ul=class extends ga{constructor(t,e){super(t,e)}ALL(){return this.getToken(cn.ALL,0)}DISTINCT(){return this.getToken(cn.DISTINCT,0)}get ruleIndex(){return cn.RULE_allOrDistinct}accept(t){return t.visitAllOrDistinct?t.visitAllOrDistinct(this):t.visitChildren(this)}},Nl=class extends ga{constructor(t,e){super(t,e)}DISTINCT(){return this.getToken(cn.DISTINCT,0)}ON(){return this.getToken(cn.ON,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expressionList(){return this.getRuleContext(0,ZI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_distinctClause}accept(t){return t.visitDistinctClause?t.visitDistinctClause(this):t.visitChildren(this)}},Ll=class extends ga{constructor(t,e){super(t,e)}ALL(){return this.getToken(cn.ALL,0)}get ruleIndex(){return cn.RULE_allClause}accept(t){return t.visitAllClause?t.visitAllClause(this):t.visitChildren(this)}},Cl=class extends ga{constructor(t,e){super(t,e)}sortClause(){return this.getRuleContext(0,_l)}get ruleIndex(){return cn.RULE_optionalSortClause}accept(t){return t.visitOptionalSortClause?t.visitOptionalSortClause(this):t.visitChildren(this)}},_l=class extends ga{constructor(t,e){super(t,e)}ORDER(){return this.getToken(cn.ORDER,0)}BY(){return this.getToken(cn.BY,0)}sortByList(){return this.getRuleContext(0,Pl)}get ruleIndex(){return cn.RULE_sortClause}accept(t){return t.visitSortClause?t.visitSortClause(this):t.visitChildren(this)}},Pl=class extends ga{constructor(t,e){super(t,e)}sortBy(t){return void 0===t?this.getRuleContexts(Ml):this.getRuleContext(t,Ml)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_sortByList}accept(t){return t.visitSortByList?t.visitSortByList(this):t.visitChildren(this)}},Ml=class extends ga{constructor(t,e){super(t,e)}expression1(){return this.getRuleContext(0,wO)}optionalNullsOrder(){return this.getRuleContext(0,AR)}USING(){return this.getToken(cn.USING,0)}allOperatorQualifier(){return this.getRuleContext(0,QI)}optionalAscOrDesc(){return this.getRuleContext(0,RR)}get ruleIndex(){return cn.RULE_sortBy}accept(t){return t.visitSortBy?t.visitSortBy(this):t.visitChildren(this)}},dl=class extends ga{constructor(t,e){super(t,e)}limitClause(){return this.getRuleContext(0,ml)}offsetClause(){return this.getRuleContext(0,Dl)}get ruleIndex(){return cn.RULE_selectLimit}accept(t){return t.visitSelectLimit?t.visitSelectLimit(this):t.visitChildren(this)}},Ul=class extends ga{constructor(t,e){super(t,e)}selectLimit(){return this.getRuleContext(0,dl)}get ruleIndex(){return cn.RULE_optionalSelectLimit}accept(t){return t.visitOptionalSelectLimit?t.visitOptionalSelectLimit(this):t.visitChildren(this)}},ml=class extends ga{constructor(t,e){super(t,e)}LIMIT(){return this.getToken(cn.LIMIT,0)}selectLimitValue(){return this.getRuleContext(0,pl)}COMMA(){return this.getToken(cn.COMMA,0)}selectOffsetValue(){return this.getRuleContext(0,gl)}FETCH(){return this.getToken(cn.FETCH,0)}firstOrNext(){return this.getRuleContext(0,Gl)}selectFetchFirstValue(){return this.getRuleContext(0,xl)}rowOrRows(){return this.getRuleContext(0,Hl)}ONLY(){return this.getToken(cn.ONLY,0)}WITH(){return this.getToken(cn.WITH,0)}TIES(){return this.getToken(cn.TIES,0)}get ruleIndex(){return cn.RULE_limitClause}accept(t){return t.visitLimitClause?t.visitLimitClause(this):t.visitChildren(this)}},Dl=class extends ga{constructor(t,e){super(t,e)}OFFSET(){return this.getToken(cn.OFFSET,0)}selectOffsetValue(){return this.getRuleContext(0,gl)}selectFetchFirstValue(){return this.getRuleContext(0,xl)}rowOrRows(){return this.getRuleContext(0,Hl)}get ruleIndex(){return cn.RULE_offsetClause}accept(t){return t.visitOffsetClause?t.visitOffsetClause(this):t.visitChildren(this)}},pl=class extends ga{constructor(t,e){super(t,e)}expression1(){return this.getRuleContext(0,wO)}ALL(){return this.getToken(cn.ALL,0)}get ruleIndex(){return cn.RULE_selectLimitValue}accept(t){return t.visitSelectLimitValue?t.visitSelectLimitValue(this):t.visitChildren(this)}},gl=class extends ga{constructor(t,e){super(t,e)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_selectOffsetValue}accept(t){return t.visitSelectOffsetValue?t.visitSelectOffsetValue(this):t.visitChildren(this)}},xl=class extends ga{constructor(t,e){super(t,e)}expression3(){return this.getRuleContext(0,EI)}PLUS(){return this.getToken(cn.PLUS,0)}anyConst(){return this.getRuleContext(0,kl)}MINUS(){return this.getToken(cn.MINUS,0)}get ruleIndex(){return cn.RULE_selectFetchFirstValue}accept(t){return t.visitSelectFetchFirstValue?t.visitSelectFetchFirstValue(this):t.visitChildren(this)}},kl=class extends ga{constructor(t,e){super(t,e)}iconst(){return this.getRuleContext(0,Ku)}fconst(){return this.getRuleContext(0,Xu)}get ruleIndex(){return cn.RULE_anyConst}accept(t){return t.visitAnyConst?t.visitAnyConst(this):t.visitChildren(this)}},Hl=class extends ga{constructor(t,e){super(t,e)}ROW(){return this.getToken(cn.ROW,0)}ROWS(){return this.getToken(cn.ROWS,0)}get ruleIndex(){return cn.RULE_rowOrRows}accept(t){return t.visitRowOrRows?t.visitRowOrRows(this):t.visitChildren(this)}},Gl=class extends ga{constructor(t,e){super(t,e)}FIRST_P(){return this.getToken(cn.FIRST_P,0)}NEXT(){return this.getToken(cn.NEXT,0)}get ruleIndex(){return cn.RULE_firstOrNext}accept(t){return t.visitFirstOrNext?t.visitFirstOrNext(this):t.visitChildren(this)}},Fl=class extends ga{constructor(t,e){super(t,e)}GROUP_P(){return this.getToken(cn.GROUP_P,0)}BY(){return this.getToken(cn.BY,0)}groupByList(){return this.getRuleContext(0,vl)}get ruleIndex(){return cn.RULE_groupClause}accept(t){return t.visitGroupClause?t.visitGroupClause(this):t.visitChildren(this)}},vl=class extends ga{constructor(t,e){super(t,e)}groupByItem(t){return void 0===t?this.getRuleContexts(Bl):this.getRuleContext(t,Bl)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_groupByList}accept(t){return t.visitGroupByList?t.visitGroupByList(this):t.visitChildren(this)}},Bl=class extends ga{constructor(t,e){super(t,e)}expression1(){return this.getRuleContext(0,wO)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}CUBE(){return this.getToken(cn.CUBE,0)}expressionList(){return this.getRuleContext(0,ZI)}ROLLUP(){return this.getToken(cn.ROLLUP,0)}GROUPING(){return this.getToken(cn.GROUPING,0)}SETS(){return this.getToken(cn.SETS,0)}groupByList(){return this.getRuleContext(0,vl)}get ruleIndex(){return cn.RULE_groupByItem}accept(t){return t.visitGroupByItem?t.visitGroupByItem(this):t.visitChildren(this)}},yl=class extends ga{constructor(t,e){super(t,e)}HAVING(){return this.getToken(cn.HAVING,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_havingClause}accept(t){return t.visitHavingClause?t.visitHavingClause(this):t.visitChildren(this)}},fl=class extends ga{constructor(t,e){super(t,e)}forLockingItem(t){return void 0===t?this.getRuleContexts(Yl):this.getRuleContext(t,Yl)}FOR(){return this.getToken(cn.FOR,0)}READ(){return this.getToken(cn.READ,0)}ONLY(){return this.getToken(cn.ONLY,0)}get ruleIndex(){return cn.RULE_forLockingClause}accept(t){return t.visitForLockingClause?t.visitForLockingClause(this):t.visitChildren(this)}},Yl=class extends ga{constructor(t,e){super(t,e)}forLockingStrength(){return this.getRuleContext(0,wl)}lockedRelationsList(){return this.getRuleContext(0,bl)}optionalNowaitOrSkip(){return this.getRuleContext(0,jS)}get ruleIndex(){return cn.RULE_forLockingItem}accept(t){return t.visitForLockingItem?t.visitForLockingItem(this):t.visitChildren(this)}},wl=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(cn.FOR,0)}UPDATE(){return this.getToken(cn.UPDATE,0)}SHARE(){return this.getToken(cn.SHARE,0)}NO(){return this.getToken(cn.NO,0)}KEY(){return this.getToken(cn.KEY,0)}get ruleIndex(){return cn.RULE_forLockingStrength}accept(t){return t.visitForLockingStrength?t.visitForLockingStrength(this):t.visitChildren(this)}},bl=class extends ga{constructor(t,e){super(t,e)}OF(){return this.getToken(cn.OF,0)}qualifiedNameList(){return this.getRuleContext(0,du)}get ruleIndex(){return cn.RULE_lockedRelationsList}accept(t){return t.visitLockedRelationsList?t.visitLockedRelationsList(this):t.visitChildren(this)}},Wl=class extends ga{constructor(t,e){super(t,e)}VALUES(){return this.getToken(cn.VALUES,0)}OPEN_PAREN(t){return void 0===t?this.getTokens(cn.OPEN_PAREN):this.getToken(cn.OPEN_PAREN,t)}expressionList(t){return void 0===t?this.getRuleContexts(ZI):this.getRuleContext(t,ZI)}CLOSE_PAREN(t){return void 0===t?this.getTokens(cn.CLOSE_PAREN):this.getToken(cn.CLOSE_PAREN,t)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_valuesClause}accept(t){return t.visitValuesClause?t.visitValuesClause(this):t.visitChildren(this)}},Vl=class extends ga{constructor(t,e){super(t,e)}FROM(){return this.getToken(cn.FROM,0)}fromList(){return this.getRuleContext(0,Xl)}get ruleIndex(){return cn.RULE_fromClause}accept(t){return t.visitFromClause?t.visitFromClause(this):t.visitChildren(this)}},Xl=class extends ga{constructor(t,e){super(t,e)}nonAnsiJoin(){return this.getRuleContext(0,Kl)}tableReference(t){return void 0===t?this.getRuleContexts(Ql):this.getRuleContext(t,Ql)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_fromList}accept(t){return t.visitFromList?t.visitFromList(this):t.visitChildren(this)}},Kl=class extends ga{constructor(t,e){super(t,e)}tableReference(t){return void 0===t?this.getRuleContexts(Ql):this.getRuleContext(t,Ql)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_nonAnsiJoin}accept(t){return t.visitNonAnsiJoin?t.visitNonAnsiJoin(this):t.visitChildren(this)}},Ql=class t extends ga{constructor(t,e){super(t,e)}relationExpression(){return this.getRuleContext(0,eO)}optionalAliasClause(){return this.getRuleContext(0,Zl)}functionTable(){return this.getRuleContext(0,iO)}functionAliasClause(){return this.getRuleContext(0,jl)}xmlTable(){return this.getRuleContext(0,SO)}selectWithParenthesis(){return this.getRuleContext(0,cl)}LATERAL_P(){return this.getToken(cn.LATERAL_P,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}tableReference(e){return void 0===e?this.getRuleContexts(t):this.getRuleContext(e,t)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}CROSS(t){return void 0===t?this.getTokens(cn.CROSS):this.getToken(cn.CROSS,t)}JOIN(t){return void 0===t?this.getTokens(cn.JOIN):this.getToken(cn.JOIN,t)}NATURAL(t){return void 0===t?this.getTokens(cn.NATURAL):this.getToken(cn.NATURAL,t)}joinQualifier(t){return void 0===t?this.getRuleContexts($l):this.getRuleContext(t,$l)}tableSampleClause(){return this.getRuleContext(0,rO)}joinType(t){return void 0===t?this.getRuleContexts(zl):this.getRuleContext(t,zl)}get ruleIndex(){return cn.RULE_tableReference}accept(t){return t.visitTableReference?t.visitTableReference(this):t.visitChildren(this)}},Jl=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}AS(){return this.getToken(cn.AS,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}nameList(){return this.getRuleContext(0,Bu)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_aliasClause}accept(t){return t.visitAliasClause?t.visitAliasClause(this):t.visitChildren(this)}},Zl=class extends ga{constructor(t,e){super(t,e)}tableAliasClause(){return this.getRuleContext(0,ql)}get ruleIndex(){return cn.RULE_optionalAliasClause}accept(t){return t.visitOptionalAliasClause?t.visitOptionalAliasClause(this):t.visitChildren(this)}},ql=class extends ga{constructor(t,e){super(t,e)}tableAlias(){return this.getRuleContext(0,tN)}AS(){return this.getToken(cn.AS,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}nameList(){return this.getRuleContext(0,Bu)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_tableAliasClause}accept(t){return t.visitTableAliasClause?t.visitTableAliasClause(this):t.visitChildren(this)}},jl=class extends ga{constructor(t,e){super(t,e)}aliasClause(){return this.getRuleContext(0,Jl)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}tableFunctionElementList(){return this.getRuleContext(0,RO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}AS(){return this.getToken(cn.AS,0)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_functionAliasClause}accept(t){return t.visitFunctionAliasClause?t.visitFunctionAliasClause(this):t.visitChildren(this)}},zl=class extends ga{constructor(t,e){super(t,e)}FULL(){return this.getToken(cn.FULL,0)}LEFT(){return this.getToken(cn.LEFT,0)}RIGHT(){return this.getToken(cn.RIGHT,0)}INNER_P(){return this.getToken(cn.INNER_P,0)}OUTER_P(){return this.getToken(cn.OUTER_P,0)}get ruleIndex(){return cn.RULE_joinType}accept(t){return t.visitJoinType?t.visitJoinType(this):t.visitChildren(this)}},$l=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}nameList(){return this.getRuleContext(0,Bu)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}ON(){return this.getToken(cn.ON,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_joinQualifier}accept(t){return t.visitJoinQualifier?t.visitJoinQualifier(this):t.visitChildren(this)}},tO=class extends ga{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,vu)}get ruleIndex(){return cn.RULE_viewName}accept(t){return t.visitViewName?t.visitViewName(this):t.visitChildren(this)}},eO=class extends ga{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,vu)}STAR(){return this.getToken(cn.STAR,0)}ONLY(){return this.getToken(cn.ONLY,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_relationExpression}accept(t){return t.visitRelationExpression?t.visitRelationExpression(this):t.visitChildren(this)}},sO=class extends ga{constructor(t,e){super(t,e)}relationExpression(t){return void 0===t?this.getRuleContexts(eO):this.getRuleContext(t,eO)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_relationExpressionList}accept(t){return t.visitRelationExpressionList?t.visitRelationExpressionList(this):t.visitChildren(this)}},aO=class extends ga{constructor(t,e){super(t,e)}relationExpression(){return this.getRuleContext(0,eO)}columnId(){return this.getRuleContext(0,$u)}AS(){return this.getToken(cn.AS,0)}get ruleIndex(){return cn.RULE_relationExpressionOptionalAlias}accept(t){return t.visitRelationExpressionOptionalAlias?t.visitRelationExpressionOptionalAlias(this):t.visitChildren(this)}},rO=class extends ga{constructor(t,e){super(t,e)}TABLESAMPLE(){return this.getToken(cn.TABLESAMPLE,0)}functionName(){return this.getRuleContext(0,wu)}OPEN_PAREN(t){return void 0===t?this.getTokens(cn.OPEN_PAREN):this.getToken(cn.OPEN_PAREN,t)}expressionList(){return this.getRuleContext(0,ZI)}CLOSE_PAREN(t){return void 0===t?this.getTokens(cn.CLOSE_PAREN):this.getToken(cn.CLOSE_PAREN,t)}REPEATABLE(){return this.getToken(cn.REPEATABLE,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_tableSampleClause}accept(t){return t.visitTableSampleClause?t.visitTableSampleClause(this):t.visitChildren(this)}},iO=class extends ga{constructor(t,e){super(t,e)}functionExpressionWindowless(){return this.getRuleContext(0,OI)}optionalOrdinality(){return this.getRuleContext(0,hO)}ROWS(){return this.getToken(cn.ROWS,0)}FROM(){return this.getToken(cn.FROM,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}rowsFromItem(t){return void 0===t?this.getRuleContexts(cO):this.getRuleContext(t,cO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_functionTable}accept(t){return t.visitFunctionTable?t.visitFunctionTable(this):t.visitChildren(this)}},cO=class extends ga{constructor(t,e){super(t,e)}functionExpressionWindowless(){return this.getRuleContext(0,OI)}optionalColumnDefinitionList(){return this.getRuleContext(0,nO)}get ruleIndex(){return cn.RULE_rowsFromItem}accept(t){return t.visitRowsFromItem?t.visitRowsFromItem(this):t.visitChildren(this)}},nO=class extends ga{constructor(t,e){super(t,e)}AS(){return this.getToken(cn.AS,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}tableFunctionElementList(){return this.getRuleContext(0,RO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_optionalColumnDefinitionList}accept(t){return t.visitOptionalColumnDefinitionList?t.visitOptionalColumnDefinitionList(this):t.visitChildren(this)}},hO=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}ORDINALITY(){return this.getToken(cn.ORDINALITY,0)}get ruleIndex(){return cn.RULE_optionalOrdinality}accept(t){return t.visitOptionalOrdinality?t.visitOptionalOrdinality(this):t.visitChildren(this)}},EO=class extends ga{constructor(t,e){super(t,e)}WHERE(){return this.getToken(cn.WHERE,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_whereClause}accept(t){return t.visitWhereClause?t.visitWhereClause(this):t.visitChildren(this)}},TO=class extends ga{constructor(t,e){super(t,e)}WHERE(){return this.getToken(cn.WHERE,0)}CURRENT_P(){return this.getToken(cn.CURRENT_P,0)}OF(){return this.getToken(cn.OF,0)}cursorName(){return this.getRuleContext(0,al)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_whereOrCurrentClause}accept(t){return t.visitWhereOrCurrentClause?t.visitWhereOrCurrentClause(this):t.visitChildren(this)}},oO=class extends ga{constructor(t,e){super(t,e)}tableFunctionElementList(){return this.getRuleContext(0,RO)}get ruleIndex(){return cn.RULE_optionalTableFunctionElementList}accept(t){return t.visitOptionalTableFunctionElementList?t.visitOptionalTableFunctionElementList(this):t.visitChildren(this)}},RO=class extends ga{constructor(t,e){super(t,e)}tableFunctionElement(t){return void 0===t?this.getRuleContexts(AO):this.getRuleContext(t,AO)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_tableFunctionElementList}accept(t){return t.visitTableFunctionElementList?t.visitTableFunctionElementList(this):t.visitChildren(this)}},AO=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}typeName(){return this.getRuleContext(0,LO)}optionalCollateClause(){return this.getRuleContext(0,rh)}get ruleIndex(){return cn.RULE_tableFunctionElement}accept(t){return t.visitTableFunctionElement?t.visitTableFunctionElement(this):t.visitChildren(this)}},SO=class extends ga{constructor(t,e){super(t,e)}XMLTABLE(){return this.getToken(cn.XMLTABLE,0)}OPEN_PAREN(t){return void 0===t?this.getTokens(cn.OPEN_PAREN):this.getToken(cn.OPEN_PAREN,t)}CLOSE_PAREN(t){return void 0===t?this.getTokens(cn.CLOSE_PAREN):this.getToken(cn.CLOSE_PAREN,t)}expression3(){return this.getRuleContext(0,EI)}xmlExistsArgument(){return this.getRuleContext(0,dI)}COLUMNS(){return this.getToken(cn.COLUMNS,0)}xmlTableColumnElement(t){return void 0===t?this.getRuleContexts(lO):this.getRuleContext(t,lO)}XMLNAMESPACES(){return this.getToken(cn.XMLNAMESPACES,0)}xmlNamespaceList(){return this.getRuleContext(0,uO)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_xmlTable}accept(t){return t.visitXmlTable?t.visitXmlTable(this):t.visitChildren(this)}},lO=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}typeName(){return this.getRuleContext(0,LO)}FOR(){return this.getToken(cn.FOR,0)}ORDINALITY(){return this.getToken(cn.ORDINALITY,0)}xmlTableColumnOptionList(){return this.getRuleContext(0,OO)}get ruleIndex(){return cn.RULE_xmlTableColumnElement}accept(t){return t.visitXmlTableColumnElement?t.visitXmlTableColumnElement(this):t.visitChildren(this)}},OO=class extends ga{constructor(t,e){super(t,e)}xmlTableColumnOptionElement(t){return void 0===t?this.getRuleContexts(IO):this.getRuleContext(t,IO)}get ruleIndex(){return cn.RULE_xmlTableColumnOptionList}accept(t){return t.visitXmlTableColumnOptionList?t.visitXmlTableColumnOptionList(this):t.visitChildren(this)}},IO=class extends ga{constructor(t,e){super(t,e)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}expression1(){return this.getRuleContext(0,wO)}identifier(){return this.getRuleContext(0,rN)}NOT(){return this.getToken(cn.NOT,0)}NULL_P(){return this.getToken(cn.NULL_P,0)}get ruleIndex(){return cn.RULE_xmlTableColumnOptionElement}accept(t){return t.visitXmlTableColumnOptionElement?t.visitXmlTableColumnOptionElement(this):t.visitChildren(this)}},uO=class extends ga{constructor(t,e){super(t,e)}xmlNamespaceElement(t){return void 0===t?this.getRuleContexts(NO):this.getRuleContext(t,NO)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_xmlNamespaceList}accept(t){return t.visitXmlNamespaceList?t.visitXmlNamespaceList(this):t.visitChildren(this)}},NO=class extends ga{constructor(t,e){super(t,e)}expression2(){return this.getRuleContext(0,hI)}AS(){return this.getToken(cn.AS,0)}columnLabel(){return this.getRuleContext(0,aN)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}get ruleIndex(){return cn.RULE_xmlNamespaceElement}accept(t){return t.visitXmlNamespaceElement?t.visitXmlNamespaceElement(this):t.visitChildren(this)}},LO=class extends ga{constructor(t,e){super(t,e)}simpleTypeName(){return this.getRuleContext(0,CO)}ARRAY(){return this.getToken(cn.ARRAY,0)}SETOF(){return this.getToken(cn.SETOF,0)}OPEN_BRACKET(t){return void 0===t?this.getTokens(cn.OPEN_BRACKET):this.getToken(cn.OPEN_BRACKET,t)}CLOSE_BRACKET(t){return void 0===t?this.getTokens(cn.CLOSE_BRACKET):this.getToken(cn.CLOSE_BRACKET,t)}iconst(t){return void 0===t?this.getRuleContexts(Ku):this.getRuleContext(t,Ku)}qualifiedName(){return this.getRuleContext(0,vu)}PERCENT(){return this.getToken(cn.PERCENT,0)}ROWTYPE(){return this.getToken(cn.ROWTYPE,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}get ruleIndex(){return cn.RULE_typeName}accept(t){return t.visitTypeName?t.visitTypeName(this):t.visitChildren(this)}},CO=class extends ga{constructor(t,e){super(t,e)}genericType(){return this.getRuleContext(0,PO)}numeric(){return this.getRuleContext(0,dO)}bit(){return this.getRuleContext(0,mO)}character(){return this.getRuleContext(0,xO)}constDateTime(){return this.getRuleContext(0,FO)}constInterval(){return this.getRuleContext(0,vO)}optionalInterval(){return this.getRuleContext(0,yO)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,Ku)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_simpleTypeName}accept(t){return t.visitSimpleTypeName?t.visitSimpleTypeName(this):t.visitChildren(this)}},_O=class extends ga{constructor(t,e){super(t,e)}numeric(){return this.getRuleContext(0,dO)}constBit(){return this.getRuleContext(0,DO)}constCharacter(){return this.getRuleContext(0,kO)}constDateTime(){return this.getRuleContext(0,FO)}get ruleIndex(){return cn.RULE_constTypeName}accept(t){return t.visitConstTypeName?t.visitConstTypeName(this):t.visitChildren(this)}},PO=class extends ga{constructor(t,e){super(t,e)}optionalTypeModifiers(){return this.getRuleContext(0,MO)}builtinFunctionName(){return this.getRuleContext(0,TN)}typeFunctionName(){return this.getRuleContext(0,eN)}LEFT(){return this.getToken(cn.LEFT,0)}RIGHT(){return this.getToken(cn.RIGHT,0)}attributes(){return this.getRuleContext(0,Do)}get ruleIndex(){return cn.RULE_genericType}accept(t){return t.visitGenericType?t.visitGenericType(this):t.visitChildren(this)}},MO=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expressionList(){return this.getRuleContext(0,ZI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_optionalTypeModifiers}accept(t){return t.visitOptionalTypeModifiers?t.visitOptionalTypeModifiers(this):t.visitChildren(this)}},dO=class extends ga{constructor(t,e){super(t,e)}INT_P(){return this.getToken(cn.INT_P,0)}INTEGER(){return this.getToken(cn.INTEGER,0)}SMALLINT(){return this.getToken(cn.SMALLINT,0)}BIGINT(){return this.getToken(cn.BIGINT,0)}REAL(){return this.getToken(cn.REAL,0)}FLOAT_P(){return this.getToken(cn.FLOAT_P,0)}optionalFloat(){return this.getRuleContext(0,UO)}DOUBLE_P(){return this.getToken(cn.DOUBLE_P,0)}PRECISION(){return this.getToken(cn.PRECISION,0)}DECIMAL_P(){return this.getToken(cn.DECIMAL_P,0)}optionalTypeModifiers(){return this.getRuleContext(0,MO)}DEC(){return this.getToken(cn.DEC,0)}NUMERIC(){return this.getToken(cn.NUMERIC,0)}BOOLEAN_P(){return this.getToken(cn.BOOLEAN_P,0)}get ruleIndex(){return cn.RULE_numeric}accept(t){return t.visitNumeric?t.visitNumeric(this):t.visitChildren(this)}},UO=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,Ku)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_optionalFloat}accept(t){return t.visitOptionalFloat?t.visitOptionalFloat(this):t.visitChildren(this)}},mO=class extends ga{constructor(t,e){super(t,e)}bitWithLength(){return this.getRuleContext(0,pO)}bitWithoutLength(){return this.getRuleContext(0,gO)}get ruleIndex(){return cn.RULE_bit}accept(t){return t.visitBit?t.visitBit(this):t.visitChildren(this)}},DO=class extends ga{constructor(t,e){super(t,e)}bitWithLength(){return this.getRuleContext(0,pO)}bitWithoutLength(){return this.getRuleContext(0,gO)}get ruleIndex(){return cn.RULE_constBit}accept(t){return t.visitConstBit?t.visitConstBit(this):t.visitChildren(this)}},pO=class extends ga{constructor(t,e){super(t,e)}BIT(){return this.getToken(cn.BIT,0)}optionalVarying(){return this.getRuleContext(0,GO)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expressionList(){return this.getRuleContext(0,ZI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_bitWithLength}accept(t){return t.visitBitWithLength?t.visitBitWithLength(this):t.visitChildren(this)}},gO=class extends ga{constructor(t,e){super(t,e)}BIT(){return this.getToken(cn.BIT,0)}optionalVarying(){return this.getRuleContext(0,GO)}get ruleIndex(){return cn.RULE_bitWithoutLength}accept(t){return t.visitBitWithoutLength?t.visitBitWithoutLength(this):t.visitChildren(this)}},xO=class extends ga{constructor(t,e){super(t,e)}characterChar(){return this.getRuleContext(0,HO)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,Ku)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_character}accept(t){return t.visitCharacter?t.visitCharacter(this):t.visitChildren(this)}},kO=class extends ga{constructor(t,e){super(t,e)}characterChar(){return this.getRuleContext(0,HO)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,Ku)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_constCharacter}accept(t){return t.visitConstCharacter?t.visitConstCharacter(this):t.visitChildren(this)}},HO=class extends ga{constructor(t,e){super(t,e)}optionalVarying(){return this.getRuleContext(0,GO)}CHARACTER(){return this.getToken(cn.CHARACTER,0)}CHAR_P(){return this.getToken(cn.CHAR_P,0)}NCHAR(){return this.getToken(cn.NCHAR,0)}VARCHAR(){return this.getToken(cn.VARCHAR,0)}NATIONAL(){return this.getToken(cn.NATIONAL,0)}get ruleIndex(){return cn.RULE_characterChar}accept(t){return t.visitCharacterChar?t.visitCharacterChar(this):t.visitChildren(this)}},GO=class extends ga{constructor(t,e){super(t,e)}VARYING(){return this.getToken(cn.VARYING,0)}get ruleIndex(){return cn.RULE_optionalVarying}accept(t){return t.visitOptionalVarying?t.visitOptionalVarying(this):t.visitChildren(this)}},FO=class extends ga{constructor(t,e){super(t,e)}optionalTimezone(){return this.getRuleContext(0,BO)}TIMESTAMP(){return this.getToken(cn.TIMESTAMP,0)}TIME(){return this.getToken(cn.TIME,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,Ku)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_constDateTime}accept(t){return t.visitConstDateTime?t.visitConstDateTime(this):t.visitChildren(this)}},vO=class extends ga{constructor(t,e){super(t,e)}INTERVAL(){return this.getToken(cn.INTERVAL,0)}get ruleIndex(){return cn.RULE_constInterval}accept(t){return t.visitConstInterval?t.visitConstInterval(this):t.visitChildren(this)}},BO=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(cn.WITH,0)}TIME(){return this.getToken(cn.TIME,0)}ZONE(){return this.getToken(cn.ZONE,0)}WITHOUT(){return this.getToken(cn.WITHOUT,0)}get ruleIndex(){return cn.RULE_optionalTimezone}accept(t){return t.visitOptionalTimezone?t.visitOptionalTimezone(this):t.visitChildren(this)}},yO=class extends ga{constructor(t,e){super(t,e)}YEAR_P(){return this.getToken(cn.YEAR_P,0)}MONTH_P(){return this.getToken(cn.MONTH_P,0)}DAY_P(){return this.getToken(cn.DAY_P,0)}HOUR_P(){return this.getToken(cn.HOUR_P,0)}MINUTE_P(){return this.getToken(cn.MINUTE_P,0)}intervalSecond(){return this.getRuleContext(0,fO)}TO(){return this.getToken(cn.TO,0)}get ruleIndex(){return cn.RULE_optionalInterval}accept(t){return t.visitOptionalInterval?t.visitOptionalInterval(this):t.visitChildren(this)}},fO=class extends ga{constructor(t,e){super(t,e)}SECOND_P(){return this.getToken(cn.SECOND_P,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}iconst(){return this.getRuleContext(0,Ku)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_intervalSecond}accept(t){return t.visitIntervalSecond?t.visitIntervalSecond(this):t.visitChildren(this)}},YO=class extends ga{constructor(t,e){super(t,e)}ESCAPE(){return this.getToken(cn.ESCAPE,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_optionalEscape}accept(t){return t.visitOptionalEscape?t.visitOptionalEscape(this):t.visitChildren(this)}},wO=class extends ga{constructor(t,e){super(t,e)}expression1Qualifier(){return this.getRuleContext(0,bO)}get ruleIndex(){return cn.RULE_expression1}accept(t){return t.visitExpression1?t.visitExpression1(this):t.visitChildren(this)}},bO=class extends ga{constructor(t,e){super(t,e)}expression1LessLess(){return this.getRuleContext(0,WO)}operatorQualifier(){return this.getRuleContext(0,KI)}get ruleIndex(){return cn.RULE_expression1Qualifier}accept(t){return t.visitExpression1Qualifier?t.visitExpression1Qualifier(this):t.visitChildren(this)}},WO=class extends ga{constructor(t,e){super(t,e)}expression1Or(t){return void 0===t?this.getRuleContexts(VO):this.getRuleContext(t,VO)}LESS_LESS(t){return void 0===t?this.getTokens(cn.LESS_LESS):this.getToken(cn.LESS_LESS,t)}GREATER_GREATER(t){return void 0===t?this.getTokens(cn.GREATER_GREATER):this.getToken(cn.GREATER_GREATER,t)}get ruleIndex(){return cn.RULE_expression1LessLess}accept(t){return t.visitExpression1LessLess?t.visitExpression1LessLess(this):t.visitChildren(this)}},VO=class extends ga{constructor(t,e){super(t,e)}expression1And(t){return void 0===t?this.getRuleContexts(XO):this.getRuleContext(t,XO)}OR(t){return void 0===t?this.getTokens(cn.OR):this.getToken(cn.OR,t)}get ruleIndex(){return cn.RULE_expression1Or}accept(t){return t.visitExpression1Or?t.visitExpression1Or(this):t.visitChildren(this)}},XO=class extends ga{constructor(t,e){super(t,e)}expression1Between(t){return void 0===t?this.getRuleContexts(KO):this.getRuleContext(t,KO)}AND(t){return void 0===t?this.getTokens(cn.AND):this.getToken(cn.AND,t)}get ruleIndex(){return cn.RULE_expression1And}accept(t){return t.visitExpression1And?t.visitExpression1And(this):t.visitChildren(this)}},KO=class extends ga{constructor(t,e){super(t,e)}expression1In(t){return void 0===t?this.getRuleContexts(QO):this.getRuleContext(t,QO)}BETWEEN(){return this.getToken(cn.BETWEEN,0)}AND(){return this.getToken(cn.AND,0)}NOT(){return this.getToken(cn.NOT,0)}SYMMETRIC(){return this.getToken(cn.SYMMETRIC,0)}get ruleIndex(){return cn.RULE_expression1Between}accept(t){return t.visitExpression1Between?t.visitExpression1Between(this):t.visitChildren(this)}},QO=class extends ga{constructor(t,e){super(t,e)}expression1UnaryNot(){return this.getRuleContext(0,JO)}IN_P(){return this.getToken(cn.IN_P,0)}inExpression(){return this.getRuleContext(0,hu)}NOT(){return this.getToken(cn.NOT,0)}get ruleIndex(){return cn.RULE_expression1In}accept(t){return t.visitExpression1In?t.visitExpression1In(this):t.visitChildren(this)}},JO=class extends ga{constructor(t,e){super(t,e)}expression1IsNull(){return this.getRuleContext(0,ZO)}NOT(){return this.getToken(cn.NOT,0)}get ruleIndex(){return cn.RULE_expression1UnaryNot}accept(t){return t.visitExpression1UnaryNot?t.visitExpression1UnaryNot(this):t.visitChildren(this)}},ZO=class extends ga{constructor(t,e){super(t,e)}expression1IsNot(){return this.getRuleContext(0,qO)}ISNULL(){return this.getToken(cn.ISNULL,0)}NOTNULL(){return this.getToken(cn.NOTNULL,0)}get ruleIndex(){return cn.RULE_expression1IsNull}accept(t){return t.visitExpression1IsNull?t.visitExpression1IsNull(this):t.visitChildren(this)}},qO=class extends ga{constructor(t,e){super(t,e)}expression1Compare(){return this.getRuleContext(0,jO)}IS(){return this.getToken(cn.IS,0)}NULL_P(){return this.getToken(cn.NULL_P,0)}TRUE_P(){return this.getToken(cn.TRUE_P,0)}FALSE_P(){return this.getToken(cn.FALSE_P,0)}UNKNOWN(){return this.getToken(cn.UNKNOWN,0)}DISTINCT(){return this.getToken(cn.DISTINCT,0)}FROM(){return this.getToken(cn.FROM,0)}expression1(){return this.getRuleContext(0,wO)}OF(){return this.getToken(cn.OF,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}typeList(){return this.getRuleContext(0,zI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}DOCUMENT_P(){return this.getToken(cn.DOCUMENT_P,0)}NORMALIZED(){return this.getToken(cn.NORMALIZED,0)}NOT(){return this.getToken(cn.NOT,0)}unicodeNormalForm(){return this.getRuleContext(0,au)}get ruleIndex(){return cn.RULE_expression1IsNot}accept(t){return t.visitExpression1IsNot?t.visitExpression1IsNot(this):t.visitChildren(this)}},jO=class extends ga{constructor(t,e){super(t,e)}expression1Like(t){return void 0===t?this.getRuleContexts(zO):this.getRuleContext(t,zO)}subqueryOperator(){return this.getRuleContext(0,JI)}subType(){return this.getRuleContext(0,WI)}LT(){return this.getToken(cn.LT,0)}GT(){return this.getToken(cn.GT,0)}EQUAL(){return this.getToken(cn.EQUAL,0)}LESS_EQUALS(){return this.getToken(cn.LESS_EQUALS,0)}GREATER_EQUALS(){return this.getToken(cn.GREATER_EQUALS,0)}NOT_EQUALS(){return this.getToken(cn.NOT_EQUALS,0)}selectWithParenthesis(){return this.getRuleContext(0,cl)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_expression1Compare}accept(t){return t.visitExpression1Compare?t.visitExpression1Compare(this):t.visitChildren(this)}},zO=class extends ga{constructor(t,e){super(t,e)}expression1qualifierOperator(t){return void 0===t?this.getRuleContexts($O):this.getRuleContext(t,$O)}optionalEscape(){return this.getRuleContext(0,YO)}LIKE(){return this.getToken(cn.LIKE,0)}ILIKE(){return this.getToken(cn.ILIKE,0)}SIMILAR(){return this.getToken(cn.SIMILAR,0)}TO(){return this.getToken(cn.TO,0)}NOT(){return this.getToken(cn.NOT,0)}get ruleIndex(){return cn.RULE_expression1Like}accept(t){return t.visitExpression1Like?t.visitExpression1Like(this):t.visitChildren(this)}},$O=class extends ga{constructor(t,e){super(t,e)}expression1UnaryQualifierOperator(t){return void 0===t?this.getRuleContexts(tI):this.getRuleContext(t,tI)}operatorQualifier(t){return void 0===t?this.getRuleContexts(KI):this.getRuleContext(t,KI)}get ruleIndex(){return cn.RULE_expression1qualifierOperator}accept(t){return t.visitExpression1qualifierOperator?t.visitExpression1qualifierOperator(this):t.visitChildren(this)}},tI=class extends ga{constructor(t,e){super(t,e)}expression1Add(){return this.getRuleContext(0,eI)}operatorQualifier(){return this.getRuleContext(0,KI)}get ruleIndex(){return cn.RULE_expression1UnaryQualifierOperator}accept(t){return t.visitExpression1UnaryQualifierOperator?t.visitExpression1UnaryQualifierOperator(this):t.visitChildren(this)}},eI=class extends ga{constructor(t,e){super(t,e)}expressionMultiply(t){return void 0===t?this.getRuleContexts(sI):this.getRuleContext(t,sI)}MINUS(t){return void 0===t?this.getTokens(cn.MINUS):this.getToken(cn.MINUS,t)}PLUS(t){return void 0===t?this.getTokens(cn.PLUS):this.getToken(cn.PLUS,t)}get ruleIndex(){return cn.RULE_expression1Add}accept(t){return t.visitExpression1Add?t.visitExpression1Add(this):t.visitChildren(this)}},sI=class extends ga{constructor(t,e){super(t,e)}expression1Caret(t){return void 0===t?this.getRuleContexts(aI):this.getRuleContext(t,aI)}STAR(t){return void 0===t?this.getTokens(cn.STAR):this.getToken(cn.STAR,t)}SLASH(t){return void 0===t?this.getTokens(cn.SLASH):this.getToken(cn.SLASH,t)}PERCENT(t){return void 0===t?this.getTokens(cn.PERCENT):this.getToken(cn.PERCENT,t)}get ruleIndex(){return cn.RULE_expressionMultiply}accept(t){return t.visitExpressionMultiply?t.visitExpressionMultiply(this):t.visitChildren(this)}},aI=class extends ga{constructor(t,e){super(t,e)}expression1UnarySign(){return this.getRuleContext(0,rI)}CARET(){return this.getToken(cn.CARET,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_expression1Caret}accept(t){return t.visitExpression1Caret?t.visitExpression1Caret(this):t.visitChildren(this)}},rI=class extends ga{constructor(t,e){super(t,e)}expression1AtTimeZone(){return this.getRuleContext(0,iI)}MINUS(){return this.getToken(cn.MINUS,0)}PLUS(){return this.getToken(cn.PLUS,0)}get ruleIndex(){return cn.RULE_expression1UnarySign}accept(t){return t.visitExpression1UnarySign?t.visitExpression1UnarySign(this):t.visitChildren(this)}},iI=class extends ga{constructor(t,e){super(t,e)}expression1Collate(){return this.getRuleContext(0,cI)}AT(){return this.getToken(cn.AT,0)}TIME(){return this.getToken(cn.TIME,0)}ZONE(){return this.getToken(cn.ZONE,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_expression1AtTimeZone}accept(t){return t.visitExpression1AtTimeZone?t.visitExpression1AtTimeZone(this):t.visitChildren(this)}},cI=class extends ga{constructor(t,e){super(t,e)}expression1Typecast(){return this.getRuleContext(0,nI)}COLLATE(){return this.getToken(cn.COLLATE,0)}anyName(){return this.getRuleContext(0,mo)}get ruleIndex(){return cn.RULE_expression1Collate}accept(t){return t.visitExpression1Collate?t.visitExpression1Collate(this):t.visitChildren(this)}},nI=class extends ga{constructor(t,e){super(t,e)}expression3(){return this.getRuleContext(0,EI)}TYPECAST(t){return void 0===t?this.getTokens(cn.TYPECAST):this.getToken(cn.TYPECAST,t)}typeName(t){return void 0===t?this.getRuleContexts(LO):this.getRuleContext(t,LO)}get ruleIndex(){return cn.RULE_expression1Typecast}accept(t){return t.visitExpression1Typecast?t.visitExpression1Typecast(this):t.visitChildren(this)}},hI=class t extends ga{constructor(t,e){super(t,e)}expression3(){return this.getRuleContext(0,EI)}expression2(e){return void 0===e?this.getRuleContexts(t):this.getRuleContext(e,t)}PLUS(){return this.getToken(cn.PLUS,0)}MINUS(){return this.getToken(cn.MINUS,0)}operatorQualifier(){return this.getRuleContext(0,KI)}CARET(){return this.getToken(cn.CARET,0)}STAR(){return this.getToken(cn.STAR,0)}SLASH(){return this.getToken(cn.SLASH,0)}PERCENT(){return this.getToken(cn.PERCENT,0)}LT(){return this.getToken(cn.LT,0)}GT(){return this.getToken(cn.GT,0)}EQUAL(){return this.getToken(cn.EQUAL,0)}LESS_EQUALS(){return this.getToken(cn.LESS_EQUALS,0)}GREATER_EQUALS(){return this.getToken(cn.GREATER_EQUALS,0)}NOT_EQUALS(){return this.getToken(cn.NOT_EQUALS,0)}TYPECAST(){return this.getToken(cn.TYPECAST,0)}typeName(){return this.getRuleContext(0,LO)}IS(){return this.getToken(cn.IS,0)}DISTINCT(){return this.getToken(cn.DISTINCT,0)}FROM(){return this.getToken(cn.FROM,0)}OF(){return this.getToken(cn.OF,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}typeList(){return this.getRuleContext(0,zI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}DOCUMENT_P(){return this.getToken(cn.DOCUMENT_P,0)}NOT(){return this.getToken(cn.NOT,0)}get ruleIndex(){return cn.RULE_expression2}accept(t){return t.visitExpression2?t.visitExpression2(this):t.visitChildren(this)}},EI=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return cn.RULE_expression3}copyFrom(t){super.copyFrom(t)}},TI=class extends EI{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXISTS(){return this.getToken(cn.EXISTS,0)}selectWithParenthesis(){return this.getRuleContext(0,cl)}accept(t){return t.visitC_expr_exists?t.visitC_expr_exists(this):t.visitChildren(this)}},oI=class extends EI{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}caseExpression(){return this.getRuleContext(0,ou)}accept(t){return t.visitC_expr_case?t.visitC_expr_case(this):t.visitChildren(this)}},RI=class extends EI{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ARRAY(){return this.getToken(cn.ARRAY,0)}selectWithParenthesis(){return this.getRuleContext(0,cl)}arrayExpression(){return this.getRuleContext(0,$I)}PARAM(){return this.getToken(cn.PARAM,0)}optionalIndirection(){return this.getRuleContext(0,Nu)}GROUPING(){return this.getToken(cn.GROUPING,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expressionList(){return this.getRuleContext(0,ZI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}UNIQUE(){return this.getToken(cn.UNIQUE,0)}columnReference(){return this.getRuleContext(0,Ou)}aExpressionConst(){return this.getRuleContext(0,bu)}plsqlVariableName(){return this.getRuleContext(0,AI)}expression1(){return this.getRuleContext(0,wO)}functionExpression(){return this.getRuleContext(0,lI)}indirection(){return this.getRuleContext(0,uu)}explicitRow(){return this.getRuleContext(0,wI)}implicitRow(){return this.getRuleContext(0,bI)}row(t){return void 0===t?this.getRuleContexts(YI):this.getRuleContext(t,YI)}OVERLAPS(){return this.getToken(cn.OVERLAPS,0)}accept(t){return t.visitC_expr_expr?t.visitC_expr_expr(this):t.visitChildren(this)}},AI=class extends ga{constructor(t,e){super(t,e)}PLSQLVARIABLENAME(){return this.getToken(cn.PLSQLVARIABLENAME,0)}get ruleIndex(){return cn.RULE_plsqlVariableName}accept(t){return t.visitPlsqlVariableName?t.visitPlsqlVariableName(this):t.visitChildren(this)}},SI=class extends ga{constructor(t,e){super(t,e)}functionName(){return this.getRuleContext(0,wu)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}functionArgumentList(){return this.getRuleContext(0,qI)}optionalSortClause(){return this.getRuleContext(0,Cl)}VARIADIC(){return this.getToken(cn.VARIADIC,0)}functionArgumentExpression(){return this.getRuleContext(0,jI)}STAR(){return this.getToken(cn.STAR,0)}ALL(){return this.getToken(cn.ALL,0)}DISTINCT(){return this.getToken(cn.DISTINCT,0)}COMMA(){return this.getToken(cn.COMMA,0)}get ruleIndex(){return cn.RULE_functionApplication}accept(t){return t.visitFunctionApplication?t.visitFunctionApplication(this):t.visitChildren(this)}},lI=class extends ga{constructor(t,e){super(t,e)}functionApplication(){return this.getRuleContext(0,SI)}withinGroupClause(){return this.getRuleContext(0,mI)}filterClause(){return this.getRuleContext(0,DI)}overClause(){return this.getRuleContext(0,kI)}functionExpressionCommonSubexpr(){return this.getRuleContext(0,II)}get ruleIndex(){return cn.RULE_functionExpression}accept(t){return t.visitFunctionExpression?t.visitFunctionExpression(this):t.visitChildren(this)}},OI=class extends ga{constructor(t,e){super(t,e)}functionApplication(){return this.getRuleContext(0,SI)}functionExpressionCommonSubexpr(){return this.getRuleContext(0,II)}get ruleIndex(){return cn.RULE_functionExpressionWindowless}accept(t){return t.visitFunctionExpressionWindowless?t.visitFunctionExpressionWindowless(this):t.visitChildren(this)}},II=class extends ga{constructor(t,e){super(t,e)}COLLATION(){return this.getToken(cn.COLLATION,0)}FOR(){return this.getToken(cn.FOR,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}CURRENT_DATE(){return this.getToken(cn.CURRENT_DATE,0)}CURRENT_TIME(){return this.getToken(cn.CURRENT_TIME,0)}iconst(){return this.getRuleContext(0,Ku)}CURRENT_TIMESTAMP(){return this.getToken(cn.CURRENT_TIMESTAMP,0)}LOCALTIME(){return this.getToken(cn.LOCALTIME,0)}LOCALTIMESTAMP(){return this.getToken(cn.LOCALTIMESTAMP,0)}CURRENT_ROLE(){return this.getToken(cn.CURRENT_ROLE,0)}CURRENT_USER(){return this.getToken(cn.CURRENT_USER,0)}SESSION_USER(){return this.getToken(cn.SESSION_USER,0)}USER(){return this.getToken(cn.USER,0)}CURRENT_CATALOG(){return this.getToken(cn.CURRENT_CATALOG,0)}CURRENT_SCHEMA(){return this.getToken(cn.CURRENT_SCHEMA,0)}CAST(){return this.getToken(cn.CAST,0)}AS(){return this.getToken(cn.AS,0)}typeName(){return this.getRuleContext(0,LO)}EXTRACT(){return this.getToken(cn.EXTRACT,0)}extractList(){return this.getRuleContext(0,eu)}NORMALIZE(){return this.getToken(cn.NORMALIZE,0)}COMMA(){return this.getToken(cn.COMMA,0)}unicodeNormalForm(){return this.getRuleContext(0,au)}OVERLAY(){return this.getToken(cn.OVERLAY,0)}overlayList(){return this.getRuleContext(0,ru)}POSITION(){return this.getToken(cn.POSITION,0)}positionList(){return this.getRuleContext(0,iu)}SUBSTRING(){return this.getToken(cn.SUBSTRING,0)}substrList(){return this.getRuleContext(0,cu)}TREAT(){return this.getToken(cn.TREAT,0)}TRIM(){return this.getToken(cn.TRIM,0)}trimList(){return this.getRuleContext(0,nu)}BOTH(){return this.getToken(cn.BOTH,0)}LEADING(){return this.getToken(cn.LEADING,0)}TRAILING(){return this.getToken(cn.TRAILING,0)}NULLIF(){return this.getToken(cn.NULLIF,0)}COALESCE(){return this.getToken(cn.COALESCE,0)}expressionList(){return this.getRuleContext(0,ZI)}GREATEST(){return this.getToken(cn.GREATEST,0)}LEAST(){return this.getToken(cn.LEAST,0)}XMLCONCAT(){return this.getToken(cn.XMLCONCAT,0)}XMLELEMENT(){return this.getToken(cn.XMLELEMENT,0)}NAME_P(){return this.getToken(cn.NAME_P,0)}columnLabel(){return this.getRuleContext(0,aN)}xmlAttributes(){return this.getRuleContext(0,LI)}XMLEXISTS(){return this.getToken(cn.XMLEXISTS,0)}expression3(){return this.getRuleContext(0,EI)}xmlExistsArgument(){return this.getRuleContext(0,dI)}XMLFOREST(){return this.getToken(cn.XMLFOREST,0)}xmlAttributeList(){return this.getRuleContext(0,CI)}XMLPARSE(){return this.getToken(cn.XMLPARSE,0)}documentOrContent(){return this.getRuleContext(0,PI)}xmlWhitespaceOption(){return this.getRuleContext(0,MI)}XMLPI(){return this.getToken(cn.XMLPI,0)}XMLROOT(){return this.getToken(cn.XMLROOT,0)}XML_P(){return this.getToken(cn.XML_P,0)}xmlRootVersion(){return this.getRuleContext(0,uI)}optionalXmlRootStandalone(){return this.getRuleContext(0,NI)}XMLSERIALIZE(){return this.getToken(cn.XMLSERIALIZE,0)}simpleTypeName(){return this.getRuleContext(0,CO)}get ruleIndex(){return cn.RULE_functionExpressionCommonSubexpr}accept(t){return t.visitFunctionExpressionCommonSubexpr?t.visitFunctionExpressionCommonSubexpr(this):t.visitChildren(this)}},uI=class extends ga{constructor(t,e){super(t,e)}VERSION_P(){return this.getToken(cn.VERSION_P,0)}expression1(){return this.getRuleContext(0,wO)}NO(){return this.getToken(cn.NO,0)}VALUE_P(){return this.getToken(cn.VALUE_P,0)}get ruleIndex(){return cn.RULE_xmlRootVersion}accept(t){return t.visitXmlRootVersion?t.visitXmlRootVersion(this):t.visitChildren(this)}},NI=class extends ga{constructor(t,e){super(t,e)}COMMA(){return this.getToken(cn.COMMA,0)}STANDALONE_P(){return this.getToken(cn.STANDALONE_P,0)}YES_P(){return this.getToken(cn.YES_P,0)}NO(){return this.getToken(cn.NO,0)}VALUE_P(){return this.getToken(cn.VALUE_P,0)}get ruleIndex(){return cn.RULE_optionalXmlRootStandalone}accept(t){return t.visitOptionalXmlRootStandalone?t.visitOptionalXmlRootStandalone(this):t.visitChildren(this)}},LI=class extends ga{constructor(t,e){super(t,e)}XMLATTRIBUTES(){return this.getToken(cn.XMLATTRIBUTES,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}xmlAttributeList(){return this.getRuleContext(0,CI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_xmlAttributes}accept(t){return t.visitXmlAttributes?t.visitXmlAttributes(this):t.visitChildren(this)}},CI=class extends ga{constructor(t,e){super(t,e)}xmlAttributeElement(t){return void 0===t?this.getRuleContexts(_I):this.getRuleContext(t,_I)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_xmlAttributeList}accept(t){return t.visitXmlAttributeList?t.visitXmlAttributeList(this):t.visitChildren(this)}},_I=class extends ga{constructor(t,e){super(t,e)}expression1(){return this.getRuleContext(0,wO)}AS(){return this.getToken(cn.AS,0)}columnLabel(){return this.getRuleContext(0,aN)}get ruleIndex(){return cn.RULE_xmlAttributeElement}accept(t){return t.visitXmlAttributeElement?t.visitXmlAttributeElement(this):t.visitChildren(this)}},PI=class extends ga{constructor(t,e){super(t,e)}DOCUMENT_P(){return this.getToken(cn.DOCUMENT_P,0)}CONTENT_P(){return this.getToken(cn.CONTENT_P,0)}get ruleIndex(){return cn.RULE_documentOrContent}accept(t){return t.visitDocumentOrContent?t.visitDocumentOrContent(this):t.visitChildren(this)}},MI=class extends ga{constructor(t,e){super(t,e)}PRESERVE(){return this.getToken(cn.PRESERVE,0)}WHITESPACE_P(){return this.getToken(cn.WHITESPACE_P,0)}STRIP_P(){return this.getToken(cn.STRIP_P,0)}get ruleIndex(){return cn.RULE_xmlWhitespaceOption}accept(t){return t.visitXmlWhitespaceOption?t.visitXmlWhitespaceOption(this):t.visitChildren(this)}},dI=class extends ga{constructor(t,e){super(t,e)}PASSING(){return this.getToken(cn.PASSING,0)}expression3(){return this.getRuleContext(0,EI)}xmlPassingMech(t){return void 0===t?this.getRuleContexts(UI):this.getRuleContext(t,UI)}get ruleIndex(){return cn.RULE_xmlExistsArgument}accept(t){return t.visitXmlExistsArgument?t.visitXmlExistsArgument(this):t.visitChildren(this)}},UI=class extends ga{constructor(t,e){super(t,e)}BY(){return this.getToken(cn.BY,0)}REF(){return this.getToken(cn.REF,0)}VALUE_P(){return this.getToken(cn.VALUE_P,0)}get ruleIndex(){return cn.RULE_xmlPassingMech}accept(t){return t.visitXmlPassingMech?t.visitXmlPassingMech(this):t.visitChildren(this)}},mI=class extends ga{constructor(t,e){super(t,e)}WITHIN(){return this.getToken(cn.WITHIN,0)}GROUP_P(){return this.getToken(cn.GROUP_P,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}sortClause(){return this.getRuleContext(0,_l)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_withinGroupClause}accept(t){return t.visitWithinGroupClause?t.visitWithinGroupClause(this):t.visitChildren(this)}},DI=class extends ga{constructor(t,e){super(t,e)}FILTER(){return this.getToken(cn.FILTER,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}WHERE(){return this.getToken(cn.WHERE,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_filterClause}accept(t){return t.visitFilterClause?t.visitFilterClause(this):t.visitChildren(this)}},pI=class extends ga{constructor(t,e){super(t,e)}WINDOW(){return this.getToken(cn.WINDOW,0)}windowDefinitionList(){return this.getRuleContext(0,gI)}get ruleIndex(){return cn.RULE_windowClause}accept(t){return t.visitWindowClause?t.visitWindowClause(this):t.visitChildren(this)}},gI=class extends ga{constructor(t,e){super(t,e)}windowDefinition(t){return void 0===t?this.getRuleContexts(xI):this.getRuleContext(t,xI)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_windowDefinitionList}accept(t){return t.visitWindowDefinitionList?t.visitWindowDefinitionList(this):t.visitChildren(this)}},xI=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}AS(){return this.getToken(cn.AS,0)}windowSpecification(){return this.getRuleContext(0,HI)}get ruleIndex(){return cn.RULE_windowDefinition}accept(t){return t.visitWindowDefinition?t.visitWindowDefinition(this):t.visitChildren(this)}},kI=class extends ga{constructor(t,e){super(t,e)}OVER(){return this.getToken(cn.OVER,0)}windowSpecification(){return this.getRuleContext(0,HI)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_overClause}accept(t){return t.visitOverClause?t.visitOverClause(this):t.visitChildren(this)}},HI=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}optionalExistingWindowName(){return this.getRuleContext(0,GI)}optionalPartitionClause(){return this.getRuleContext(0,FI)}optionalSortClause(){return this.getRuleContext(0,Cl)}optionalFrameClause(){return this.getRuleContext(0,vI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_windowSpecification}accept(t){return t.visitWindowSpecification?t.visitWindowSpecification(this):t.visitChildren(this)}},GI=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_optionalExistingWindowName}accept(t){return t.visitOptionalExistingWindowName?t.visitOptionalExistingWindowName(this):t.visitChildren(this)}},FI=class extends ga{constructor(t,e){super(t,e)}PARTITION(){return this.getToken(cn.PARTITION,0)}BY(){return this.getToken(cn.BY,0)}expressionList(){return this.getRuleContext(0,ZI)}get ruleIndex(){return cn.RULE_optionalPartitionClause}accept(t){return t.visitOptionalPartitionClause?t.visitOptionalPartitionClause(this):t.visitChildren(this)}},vI=class extends ga{constructor(t,e){super(t,e)}RANGE(){return this.getToken(cn.RANGE,0)}frameExtent(){return this.getRuleContext(0,BI)}optionalWindowExclusionClause(){return this.getRuleContext(0,fI)}ROWS(){return this.getToken(cn.ROWS,0)}GROUPS(){return this.getToken(cn.GROUPS,0)}get ruleIndex(){return cn.RULE_optionalFrameClause}accept(t){return t.visitOptionalFrameClause?t.visitOptionalFrameClause(this):t.visitChildren(this)}},BI=class extends ga{constructor(t,e){super(t,e)}frameBound(t){return void 0===t?this.getRuleContexts(yI):this.getRuleContext(t,yI)}BETWEEN(){return this.getToken(cn.BETWEEN,0)}AND(){return this.getToken(cn.AND,0)}get ruleIndex(){return cn.RULE_frameExtent}accept(t){return t.visitFrameExtent?t.visitFrameExtent(this):t.visitChildren(this)}},yI=class extends ga{constructor(t,e){super(t,e)}UNBOUNDED(){return this.getToken(cn.UNBOUNDED,0)}PRECEDING(){return this.getToken(cn.PRECEDING,0)}FOLLOWING(){return this.getToken(cn.FOLLOWING,0)}CURRENT_P(){return this.getToken(cn.CURRENT_P,0)}ROW(){return this.getToken(cn.ROW,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_frameBound}accept(t){return t.visitFrameBound?t.visitFrameBound(this):t.visitChildren(this)}},fI=class extends ga{constructor(t,e){super(t,e)}EXCLUDE(){return this.getToken(cn.EXCLUDE,0)}CURRENT_P(){return this.getToken(cn.CURRENT_P,0)}ROW(){return this.getToken(cn.ROW,0)}GROUP_P(){return this.getToken(cn.GROUP_P,0)}TIES(){return this.getToken(cn.TIES,0)}NO(){return this.getToken(cn.NO,0)}OTHERS(){return this.getToken(cn.OTHERS,0)}get ruleIndex(){return cn.RULE_optionalWindowExclusionClause}accept(t){return t.visitOptionalWindowExclusionClause?t.visitOptionalWindowExclusionClause(this):t.visitChildren(this)}},YI=class extends ga{constructor(t,e){super(t,e)}ROW(){return this.getToken(cn.ROW,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}expressionList(){return this.getRuleContext(0,ZI)}COMMA(){return this.getToken(cn.COMMA,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_row}accept(t){return t.visitRow?t.visitRow(this):t.visitChildren(this)}},wI=class extends ga{constructor(t,e){super(t,e)}ROW(){return this.getToken(cn.ROW,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}expressionList(){return this.getRuleContext(0,ZI)}get ruleIndex(){return cn.RULE_explicitRow}accept(t){return t.visitExplicitRow?t.visitExplicitRow(this):t.visitChildren(this)}},bI=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expressionList(){return this.getRuleContext(0,ZI)}COMMA(){return this.getToken(cn.COMMA,0)}expression1(){return this.getRuleContext(0,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_implicitRow}accept(t){return t.visitImplicitRow?t.visitImplicitRow(this):t.visitChildren(this)}},WI=class extends ga{constructor(t,e){super(t,e)}ANY(){return this.getToken(cn.ANY,0)}SOME(){return this.getToken(cn.SOME,0)}ALL(){return this.getToken(cn.ALL,0)}get ruleIndex(){return cn.RULE_subType}accept(t){return t.visitSubType?t.visitSubType(this):t.visitChildren(this)}},VI=class extends ga{constructor(t,e){super(t,e)}Operator(){return this.getToken(cn.Operator,0)}mathOperator(){return this.getRuleContext(0,XI)}get ruleIndex(){return cn.RULE_allOperator}accept(t){return t.visitAllOperator?t.visitAllOperator(this):t.visitChildren(this)}},XI=class extends ga{constructor(t,e){super(t,e)}PLUS(){return this.getToken(cn.PLUS,0)}MINUS(){return this.getToken(cn.MINUS,0)}STAR(){return this.getToken(cn.STAR,0)}SLASH(){return this.getToken(cn.SLASH,0)}PERCENT(){return this.getToken(cn.PERCENT,0)}CARET(){return this.getToken(cn.CARET,0)}LT(){return this.getToken(cn.LT,0)}GT(){return this.getToken(cn.GT,0)}EQUAL(){return this.getToken(cn.EQUAL,0)}LESS_EQUALS(){return this.getToken(cn.LESS_EQUALS,0)}GREATER_EQUALS(){return this.getToken(cn.GREATER_EQUALS,0)}NOT_EQUALS(){return this.getToken(cn.NOT_EQUALS,0)}get ruleIndex(){return cn.RULE_mathOperator}accept(t){return t.visitMathOperator?t.visitMathOperator(this):t.visitChildren(this)}},KI=class extends ga{constructor(t,e){super(t,e)}Operator(){return this.getToken(cn.Operator,0)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}anyOperator(){return this.getRuleContext(0,WR)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_operatorQualifier}accept(t){return t.visitOperatorQualifier?t.visitOperatorQualifier(this):t.visitChildren(this)}},QI=class extends ga{constructor(t,e){super(t,e)}allOperator(){return this.getRuleContext(0,VI)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}anyOperator(){return this.getRuleContext(0,WR)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_allOperatorQualifier}accept(t){return t.visitAllOperatorQualifier?t.visitAllOperatorQualifier(this):t.visitChildren(this)}},JI=class extends ga{constructor(t,e){super(t,e)}allOperator(){return this.getRuleContext(0,VI)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}anyOperator(){return this.getRuleContext(0,WR)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}LIKE(){return this.getToken(cn.LIKE,0)}NOT(){return this.getToken(cn.NOT,0)}ILIKE(){return this.getToken(cn.ILIKE,0)}get ruleIndex(){return cn.RULE_subqueryOperator}accept(t){return t.visitSubqueryOperator?t.visitSubqueryOperator(this):t.visitChildren(this)}},ZI=class extends ga{constructor(t,e){super(t,e)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_expressionList}accept(t){return t.visitExpressionList?t.visitExpressionList(this):t.visitChildren(this)}},qI=class extends ga{constructor(t,e){super(t,e)}functionArgumentExpression(t){return void 0===t?this.getRuleContexts(jI):this.getRuleContext(t,jI)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_functionArgumentList}accept(t){return t.visitFunctionArgumentList?t.visitFunctionArgumentList(this):t.visitChildren(this)}},jI=class extends ga{constructor(t,e){super(t,e)}expression1(){return this.getRuleContext(0,wO)}parameterName(){return this.getRuleContext(0,PR)}COLON_EQUALS(){return this.getToken(cn.COLON_EQUALS,0)}EQUALS_GREATER(){return this.getToken(cn.EQUALS_GREATER,0)}get ruleIndex(){return cn.RULE_functionArgumentExpression}accept(t){return t.visitFunctionArgumentExpression?t.visitFunctionArgumentExpression(this):t.visitChildren(this)}},zI=class extends ga{constructor(t,e){super(t,e)}typeName(t){return void 0===t?this.getRuleContexts(LO):this.getRuleContext(t,LO)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_typeList}accept(t){return t.visitTypeList?t.visitTypeList(this):t.visitChildren(this)}},$I=class extends ga{constructor(t,e){super(t,e)}OPEN_BRACKET(){return this.getToken(cn.OPEN_BRACKET,0)}CLOSE_BRACKET(){return this.getToken(cn.CLOSE_BRACKET,0)}expressionList(){return this.getRuleContext(0,ZI)}arrayExpressionList(){return this.getRuleContext(0,tu)}get ruleIndex(){return cn.RULE_arrayExpression}accept(t){return t.visitArrayExpression?t.visitArrayExpression(this):t.visitChildren(this)}},tu=class extends ga{constructor(t,e){super(t,e)}arrayExpression(t){return void 0===t?this.getRuleContexts($I):this.getRuleContext(t,$I)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_arrayExpressionList}accept(t){return t.visitArrayExpressionList?t.visitArrayExpressionList(this):t.visitChildren(this)}},eu=class extends ga{constructor(t,e){super(t,e)}extractArgument(){return this.getRuleContext(0,su)}FROM(){return this.getToken(cn.FROM,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_extractList}accept(t){return t.visitExtractList?t.visitExtractList(this):t.visitChildren(this)}},su=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,rN)}YEAR_P(){return this.getToken(cn.YEAR_P,0)}MONTH_P(){return this.getToken(cn.MONTH_P,0)}DAY_P(){return this.getToken(cn.DAY_P,0)}HOUR_P(){return this.getToken(cn.HOUR_P,0)}MINUTE_P(){return this.getToken(cn.MINUTE_P,0)}SECOND_P(){return this.getToken(cn.SECOND_P,0)}sconst(){return this.getRuleContext(0,Qu)}get ruleIndex(){return cn.RULE_extractArgument}accept(t){return t.visitExtractArgument?t.visitExtractArgument(this):t.visitChildren(this)}},au=class extends ga{constructor(t,e){super(t,e)}NFC(){return this.getToken(cn.NFC,0)}NFD(){return this.getToken(cn.NFD,0)}NFKC(){return this.getToken(cn.NFKC,0)}NFKD(){return this.getToken(cn.NFKD,0)}get ruleIndex(){return cn.RULE_unicodeNormalForm}accept(t){return t.visitUnicodeNormalForm?t.visitUnicodeNormalForm(this):t.visitChildren(this)}},ru=class extends ga{constructor(t,e){super(t,e)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}PLACING(){return this.getToken(cn.PLACING,0)}FROM(){return this.getToken(cn.FROM,0)}FOR(){return this.getToken(cn.FOR,0)}get ruleIndex(){return cn.RULE_overlayList}accept(t){return t.visitOverlayList?t.visitOverlayList(this):t.visitChildren(this)}},iu=class extends ga{constructor(t,e){super(t,e)}expression2(t){return void 0===t?this.getRuleContexts(hI):this.getRuleContext(t,hI)}IN_P(){return this.getToken(cn.IN_P,0)}get ruleIndex(){return cn.RULE_positionList}accept(t){return t.visitPositionList?t.visitPositionList(this):t.visitChildren(this)}},cu=class extends ga{constructor(t,e){super(t,e)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}FROM(){return this.getToken(cn.FROM,0)}FOR(){return this.getToken(cn.FOR,0)}SIMILAR(){return this.getToken(cn.SIMILAR,0)}ESCAPE(){return this.getToken(cn.ESCAPE,0)}expressionList(){return this.getRuleContext(0,ZI)}get ruleIndex(){return cn.RULE_substrList}accept(t){return t.visitSubstrList?t.visitSubstrList(this):t.visitChildren(this)}},nu=class extends ga{constructor(t,e){super(t,e)}expression1(){return this.getRuleContext(0,wO)}FROM(){return this.getToken(cn.FROM,0)}expressionList(){return this.getRuleContext(0,ZI)}get ruleIndex(){return cn.RULE_trimList}accept(t){return t.visitTrimList?t.visitTrimList(this):t.visitChildren(this)}},hu=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return cn.RULE_inExpression}copyFrom(t){super.copyFrom(t)}},Eu=class extends hu{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expressionList(){return this.getRuleContext(0,ZI)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}accept(t){return t.visitIn_expr_list?t.visitIn_expr_list(this):t.visitChildren(this)}},Tu=class extends hu{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}selectWithParenthesis(){return this.getRuleContext(0,cl)}accept(t){return t.visitIn_expr_select?t.visitIn_expr_select(this):t.visitChildren(this)}},ou=class extends ga{constructor(t,e){super(t,e)}CASE(){return this.getToken(cn.CASE,0)}caseArg(){return this.getRuleContext(0,lu)}whenClauseList(){return this.getRuleContext(0,Ru)}caseDefault(){return this.getRuleContext(0,Su)}END_P(){return this.getToken(cn.END_P,0)}get ruleIndex(){return cn.RULE_caseExpression}accept(t){return t.visitCaseExpression?t.visitCaseExpression(this):t.visitChildren(this)}},Ru=class extends ga{constructor(t,e){super(t,e)}whenClause(t){return void 0===t?this.getRuleContexts(Au):this.getRuleContext(t,Au)}get ruleIndex(){return cn.RULE_whenClauseList}accept(t){return t.visitWhenClauseList?t.visitWhenClauseList(this):t.visitChildren(this)}},Au=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(cn.WHEN,0)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}THEN(){return this.getToken(cn.THEN,0)}get ruleIndex(){return cn.RULE_whenClause}accept(t){return t.visitWhenClause?t.visitWhenClause(this):t.visitChildren(this)}},Su=class extends ga{constructor(t,e){super(t,e)}ELSE(){return this.getToken(cn.ELSE,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_caseDefault}accept(t){return t.visitCaseDefault?t.visitCaseDefault(this):t.visitChildren(this)}},lu=class extends ga{constructor(t,e){super(t,e)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_caseArg}accept(t){return t.visitCaseArg?t.visitCaseArg(this):t.visitChildren(this)}},Ou=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}indirection(){return this.getRuleContext(0,uu)}get ruleIndex(){return cn.RULE_columnReference}accept(t){return t.visitColumnReference?t.visitColumnReference(this):t.visitChildren(this)}},Iu=class extends ga{constructor(t,e){super(t,e)}DOT(){return this.getToken(cn.DOT,0)}attributeName(){return this.getRuleContext(0,fu)}STAR(){return this.getToken(cn.STAR,0)}OPEN_BRACKET(){return this.getToken(cn.OPEN_BRACKET,0)}CLOSE_BRACKET(){return this.getToken(cn.CLOSE_BRACKET,0)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}COLON(){return this.getToken(cn.COLON,0)}get ruleIndex(){return cn.RULE_indirectionElement}accept(t){return t.visitIndirectionElement?t.visitIndirectionElement(this):t.visitChildren(this)}},uu=class extends ga{constructor(t,e){super(t,e)}indirectionElement(t){return void 0===t?this.getRuleContexts(Iu):this.getRuleContext(t,Iu)}get ruleIndex(){return cn.RULE_indirection}accept(t){return t.visitIndirection?t.visitIndirection(this):t.visitChildren(this)}},Nu=class extends ga{constructor(t,e){super(t,e)}indirectionElement(t){return void 0===t?this.getRuleContexts(Iu):this.getRuleContext(t,Iu)}get ruleIndex(){return cn.RULE_optionalIndirection}accept(t){return t.visitOptionalIndirection?t.visitOptionalIndirection(this):t.visitChildren(this)}},Lu=class extends ga{constructor(t,e){super(t,e)}targetList(){return this.getRuleContext(0,Cu)}get ruleIndex(){return cn.RULE_optionalTargetList}accept(t){return t.visitOptionalTargetList?t.visitOptionalTargetList(this):t.visitChildren(this)}},Cu=class extends ga{constructor(t,e){super(t,e)}targetElement(t){return void 0===t?this.getRuleContexts(_u):this.getRuleContext(t,_u)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_targetList}accept(t){return t.visitTargetList?t.visitTargetList(this):t.visitChildren(this)}},_u=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return cn.RULE_targetElement}copyFrom(t){super.copyFrom(t)}},Pu=class extends _u{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STAR(){return this.getToken(cn.STAR,0)}accept(t){return t.visitTarget_star?t.visitTarget_star(this):t.visitChildren(this)}},Mu=class extends _u{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression1(){return this.getRuleContext(0,wO)}AS(){return this.getToken(cn.AS,0)}columnLabel(){return this.getRuleContext(0,aN)}identifier(){return this.getRuleContext(0,rN)}accept(t){return t.visitTarget_label?t.visitTarget_label(this):t.visitChildren(this)}},du=class extends ga{constructor(t,e){super(t,e)}qualifiedName(t){return void 0===t?this.getRuleContexts(vu):this.getRuleContext(t,vu)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_qualifiedNameList}accept(t){return t.visitQualifiedNameList?t.visitQualifiedNameList(this):t.visitChildren(this)}},Uu=class extends ga{constructor(t,e){super(t,e)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_databaseName}accept(t){return t.visitDatabaseName?t.visitDatabaseName(this):t.visitChildren(this)}},mu=class extends ga{constructor(t,e){super(t,e)}databaseName(t){return void 0===t?this.getRuleContexts(Uu):this.getRuleContext(t,Uu)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_databaseNameList}accept(t){return t.visitDatabaseNameList?t.visitDatabaseNameList(this):t.visitChildren(this)}},Du=class extends ga{constructor(t,e){super(t,e)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_schemaName}accept(t){return t.visitSchemaName?t.visitSchemaName(this):t.visitChildren(this)}},pu=class extends ga{constructor(t,e){super(t,e)}schemaName(t){return void 0===t?this.getRuleContexts(Du):this.getRuleContext(t,Du)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_schemaNameList}accept(t){return t.visitSchemaNameList?t.visitSchemaNameList(this):t.visitChildren(this)}},gu=class extends ga{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,vu)}get ruleIndex(){return cn.RULE_indexName}accept(t){return t.visitIndexName?t.visitIndexName(this):t.visitChildren(this)}},xu=class extends ga{constructor(t,e){super(t,e)}indexName(t){return void 0===t?this.getRuleContexts(gu):this.getRuleContext(t,gu)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_indexNameList}accept(t){return t.visitIndexNameList?t.visitIndexNameList(this):t.visitChildren(this)}},ku=class extends ga{constructor(t,e){super(t,e)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_triggerName}accept(t){return t.visitTriggerName?t.visitTriggerName(this):t.visitChildren(this)}},Hu=class extends ga{constructor(t,e){super(t,e)}name(){return this.getRuleContext(0,yu)}get ruleIndex(){return cn.RULE_constraintName}accept(t){return t.visitConstraintName?t.visitConstraintName(this):t.visitChildren(this)}},Gu=class extends ga{constructor(t,e){super(t,e)}qualifiedName(){return this.getRuleContext(0,vu)}get ruleIndex(){return cn.RULE_sequenceName}accept(t){return t.visitSequenceName?t.visitSequenceName(this):t.visitChildren(this)}},Fu=class extends ga{constructor(t,e){super(t,e)}sequenceName(t){return void 0===t?this.getRuleContexts(Gu):this.getRuleContext(t,Gu)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_sequenceNameList}accept(t){return t.visitSequenceNameList?t.visitSequenceNameList(this):t.visitChildren(this)}},vu=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}indirection(){return this.getRuleContext(0,uu)}get ruleIndex(){return cn.RULE_qualifiedName}accept(t){return t.visitQualifiedName?t.visitQualifiedName(this):t.visitChildren(this)}},Bu=class extends ga{constructor(t,e){super(t,e)}name(t){return void 0===t?this.getRuleContexts(yu):this.getRuleContext(t,yu)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_nameList}accept(t){return t.visitNameList?t.visitNameList(this):t.visitChildren(this)}},yu=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_name}accept(t){return t.visitName?t.visitName(this):t.visitChildren(this)}},fu=class extends ga{constructor(t,e){super(t,e)}columnLabel(){return this.getRuleContext(0,aN)}get ruleIndex(){return cn.RULE_attributeName}accept(t){return t.visitAttributeName?t.visitAttributeName(this):t.visitChildren(this)}},Yu=class extends ga{constructor(t,e){super(t,e)}sconst(){return this.getRuleContext(0,Qu)}get ruleIndex(){return cn.RULE_fileName}accept(t){return t.visitFileName?t.visitFileName(this):t.visitChildren(this)}},wu=class extends ga{constructor(t,e){super(t,e)}builtinFunctionName(){return this.getRuleContext(0,TN)}typeFunctionName(){return this.getRuleContext(0,eN)}columnId(){return this.getRuleContext(0,$u)}indirection(){return this.getRuleContext(0,uu)}LEFT(){return this.getToken(cn.LEFT,0)}RIGHT(){return this.getToken(cn.RIGHT,0)}get ruleIndex(){return cn.RULE_functionName}accept(t){return t.visitFunctionName?t.visitFunctionName(this):t.visitChildren(this)}},bu=class extends ga{constructor(t,e){super(t,e)}iconst(){return this.getRuleContext(0,Ku)}fconst(){return this.getRuleContext(0,Xu)}sconst(){return this.getRuleContext(0,Qu)}bconst(){return this.getRuleContext(0,Vu)}xconst(){return this.getRuleContext(0,Wu)}functionName(){return this.getRuleContext(0,wu)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}functionArgumentList(){return this.getRuleContext(0,qI)}optionalSortClause(){return this.getRuleContext(0,Cl)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}constTypeName(){return this.getRuleContext(0,_O)}constInterval(){return this.getRuleContext(0,vO)}optionalInterval(){return this.getRuleContext(0,yO)}TRUE_P(){return this.getToken(cn.TRUE_P,0)}FALSE_P(){return this.getToken(cn.FALSE_P,0)}NULL_P(){return this.getToken(cn.NULL_P,0)}get ruleIndex(){return cn.RULE_aExpressionConst}accept(t){return t.visitAExpressionConst?t.visitAExpressionConst(this):t.visitChildren(this)}},Wu=class extends ga{constructor(t,e){super(t,e)}HexadecimalStringConstant(){return this.getToken(cn.HexadecimalStringConstant,0)}get ruleIndex(){return cn.RULE_xconst}accept(t){return t.visitXconst?t.visitXconst(this):t.visitChildren(this)}},Vu=class extends ga{constructor(t,e){super(t,e)}BinaryStringConstant(){return this.getToken(cn.BinaryStringConstant,0)}get ruleIndex(){return cn.RULE_bconst}accept(t){return t.visitBconst?t.visitBconst(this):t.visitChildren(this)}},Xu=class extends ga{constructor(t,e){super(t,e)}Numeric(){return this.getToken(cn.Numeric,0)}get ruleIndex(){return cn.RULE_fconst}accept(t){return t.visitFconst?t.visitFconst(this):t.visitChildren(this)}},Ku=class extends ga{constructor(t,e){super(t,e)}Integral(){return this.getToken(cn.Integral,0)}get ruleIndex(){return cn.RULE_iconst}accept(t){return t.visitIconst?t.visitIconst(this):t.visitChildren(this)}},Qu=class extends ga{constructor(t,e){super(t,e)}anySconst(){return this.getRuleContext(0,Ju)}optionalUescape(){return this.getRuleContext(0,Zu)}get ruleIndex(){return cn.RULE_sconst}accept(t){return t.visitSconst?t.visitSconst(this):t.visitChildren(this)}},Ju=class extends ga{constructor(t,e){super(t,e)}StringConstant(){return this.getToken(cn.StringConstant,0)}UnicodeEscapeStringConstant(){return this.getToken(cn.UnicodeEscapeStringConstant,0)}BeginDollarStringConstant(){return this.getToken(cn.BeginDollarStringConstant,0)}EndDollarStringConstant(){return this.getToken(cn.EndDollarStringConstant,0)}DollarText(t){return void 0===t?this.getTokens(cn.DollarText):this.getToken(cn.DollarText,t)}EscapeStringConstant(){return this.getToken(cn.EscapeStringConstant,0)}get ruleIndex(){return cn.RULE_anySconst}accept(t){return t.visitAnySconst?t.visitAnySconst(this):t.visitChildren(this)}},Zu=class extends ga{constructor(t,e){super(t,e)}UESCAPE(){return this.getToken(cn.UESCAPE,0)}anySconst(){return this.getRuleContext(0,Ju)}get ruleIndex(){return cn.RULE_optionalUescape}accept(t){return t.visitOptionalUescape?t.visitOptionalUescape(this):t.visitChildren(this)}},qu=class extends ga{constructor(t,e){super(t,e)}iconst(){return this.getRuleContext(0,Ku)}PLUS(){return this.getToken(cn.PLUS,0)}MINUS(){return this.getToken(cn.MINUS,0)}get ruleIndex(){return cn.RULE_signedIconst}accept(t){return t.visitSignedIconst?t.visitSignedIconst(this):t.visitChildren(this)}},ju=class extends ga{constructor(t,e){super(t,e)}nonReservedWord(){return this.getRuleContext(0,sN)}CURRENT_USER(){return this.getToken(cn.CURRENT_USER,0)}SESSION_USER(){return this.getToken(cn.SESSION_USER,0)}get ruleIndex(){return cn.RULE_roleName}accept(t){return t.visitRoleName?t.visitRoleName(this):t.visitChildren(this)}},zu=class extends ga{constructor(t,e){super(t,e)}roleName(t){return void 0===t?this.getRuleContexts(ju):this.getRuleContext(t,ju)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_roleNameList}accept(t){return t.visitRoleNameList?t.visitRoleNameList(this):t.visitChildren(this)}},$u=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,rN)}unreservedKeyword(){return this.getRuleContext(0,cN)}columnNameKeyword(){return this.getRuleContext(0,nN)}plsqlUnreservedKeyword(){return this.getRuleContext(0,rC)}LEFT(){return this.getToken(cn.LEFT,0)}RIGHT(){return this.getToken(cn.RIGHT,0)}get ruleIndex(){return cn.RULE_columnId}accept(t){return t.visitColumnId?t.visitColumnId(this):t.visitChildren(this)}},tN=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,rN)}unreservedKeyword(){return this.getRuleContext(0,cN)}columnNameKeyword(){return this.getRuleContext(0,nN)}plsqlUnreservedKeyword(){return this.getRuleContext(0,rC)}get ruleIndex(){return cn.RULE_tableAlias}accept(t){return t.visitTableAlias?t.visitTableAlias(this):t.visitChildren(this)}},eN=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,rN)}unreservedKeyword(){return this.getRuleContext(0,cN)}plsqlUnreservedKeyword(){return this.getRuleContext(0,rC)}typeFunctionNameKeyword(){return this.getRuleContext(0,hN)}get ruleIndex(){return cn.RULE_typeFunctionName}accept(t){return t.visitTypeFunctionName?t.visitTypeFunctionName(this):t.visitChildren(this)}},sN=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,rN)}unreservedKeyword(){return this.getRuleContext(0,cN)}columnNameKeyword(){return this.getRuleContext(0,nN)}typeFunctionNameKeyword(){return this.getRuleContext(0,hN)}get ruleIndex(){return cn.RULE_nonReservedWord}accept(t){return t.visitNonReservedWord?t.visitNonReservedWord(this):t.visitChildren(this)}},aN=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,rN)}plsqlUnreservedKeyword(){return this.getRuleContext(0,rC)}unreservedKeyword(){return this.getRuleContext(0,cN)}columnNameKeyword(){return this.getRuleContext(0,nN)}typeFunctionNameKeyword(){return this.getRuleContext(0,hN)}reservedKeyword(){return this.getRuleContext(0,EN)}get ruleIndex(){return cn.RULE_columnLabel}accept(t){return t.visitColumnLabel?t.visitColumnLabel(this):t.visitChildren(this)}},rN=class extends ga{constructor(t,e){super(t,e)}Identifier(){return this.getToken(cn.Identifier,0)}optionalUescape(){return this.getRuleContext(0,Zu)}QuotedIdentifier(){return this.getToken(cn.QuotedIdentifier,0)}UnicodeQuotedIdentifier(){return this.getToken(cn.UnicodeQuotedIdentifier,0)}plsqlVariableName(){return this.getRuleContext(0,AI)}plsqlIdentifier(){return this.getRuleContext(0,iN)}plsqlUnreservedKeyword(){return this.getRuleContext(0,rC)}get ruleIndex(){return cn.RULE_identifier}accept(t){return t.visitIdentifier?t.visitIdentifier(this):t.visitChildren(this)}},iN=class extends ga{constructor(t,e){super(t,e)}PLSQLIDENTIFIER(){return this.getToken(cn.PLSQLIDENTIFIER,0)}get ruleIndex(){return cn.RULE_plsqlIdentifier}accept(t){return t.visitPlsqlIdentifier?t.visitPlsqlIdentifier(this):t.visitChildren(this)}},cN=class extends ga{constructor(t,e){super(t,e)}ABORT_P(){return this.getToken(cn.ABORT_P,0)}ABSOLUTE_P(){return this.getToken(cn.ABSOLUTE_P,0)}ACCESS(){return this.getToken(cn.ACCESS,0)}ACTION(){return this.getToken(cn.ACTION,0)}ADD_P(){return this.getToken(cn.ADD_P,0)}ADMIN(){return this.getToken(cn.ADMIN,0)}AFTER(){return this.getToken(cn.AFTER,0)}AGGREGATE(){return this.getToken(cn.AGGREGATE,0)}ALSO(){return this.getToken(cn.ALSO,0)}ALTER(){return this.getToken(cn.ALTER,0)}ALWAYS(){return this.getToken(cn.ALWAYS,0)}ASSERTION(){return this.getToken(cn.ASSERTION,0)}ASSIGNMENT(){return this.getToken(cn.ASSIGNMENT,0)}AT(){return this.getToken(cn.AT,0)}ATTACH(){return this.getToken(cn.ATTACH,0)}ATTRIBUTE(){return this.getToken(cn.ATTRIBUTE,0)}BACKWARD(){return this.getToken(cn.BACKWARD,0)}BEFORE(){return this.getToken(cn.BEFORE,0)}BEGIN_P(){return this.getToken(cn.BEGIN_P,0)}BY(){return this.getToken(cn.BY,0)}CACHE(){return this.getToken(cn.CACHE,0)}CALL(){return this.getToken(cn.CALL,0)}CALLED(){return this.getToken(cn.CALLED,0)}CASCADE(){return this.getToken(cn.CASCADE,0)}CASCADED(){return this.getToken(cn.CASCADED,0)}CATALOG(){return this.getToken(cn.CATALOG,0)}CHAIN(){return this.getToken(cn.CHAIN,0)}CHARACTERISTICS(){return this.getToken(cn.CHARACTERISTICS,0)}CHECKPOINT(){return this.getToken(cn.CHECKPOINT,0)}CLASS(){return this.getToken(cn.CLASS,0)}CLOSE(){return this.getToken(cn.CLOSE,0)}CLUSTER(){return this.getToken(cn.CLUSTER,0)}COLUMNS(){return this.getToken(cn.COLUMNS,0)}COMMENT(){return this.getToken(cn.COMMENT,0)}COMMENTS(){return this.getToken(cn.COMMENTS,0)}COMMIT(){return this.getToken(cn.COMMIT,0)}COMMITTED(){return this.getToken(cn.COMMITTED,0)}CONFIGURATION(){return this.getToken(cn.CONFIGURATION,0)}CONFLICT(){return this.getToken(cn.CONFLICT,0)}CONNECTION(){return this.getToken(cn.CONNECTION,0)}CONSTRAINTS(){return this.getToken(cn.CONSTRAINTS,0)}CONTENT_P(){return this.getToken(cn.CONTENT_P,0)}CONTINUE_P(){return this.getToken(cn.CONTINUE_P,0)}CONVERSION_P(){return this.getToken(cn.CONVERSION_P,0)}COPY(){return this.getToken(cn.COPY,0)}COST(){return this.getToken(cn.COST,0)}CSV(){return this.getToken(cn.CSV,0)}CUBE(){return this.getToken(cn.CUBE,0)}CURRENT_P(){return this.getToken(cn.CURRENT_P,0)}CURSOR(){return this.getToken(cn.CURSOR,0)}CYCLE(){return this.getToken(cn.CYCLE,0)}DATA_P(){return this.getToken(cn.DATA_P,0)}DATABASE(){return this.getToken(cn.DATABASE,0)}DAY_P(){return this.getToken(cn.DAY_P,0)}DEALLOCATE(){return this.getToken(cn.DEALLOCATE,0)}DECLARE(){return this.getToken(cn.DECLARE,0)}DEFAULTS(){return this.getToken(cn.DEFAULTS,0)}DEFERRED(){return this.getToken(cn.DEFERRED,0)}DEFINER(){return this.getToken(cn.DEFINER,0)}DELETE_P(){return this.getToken(cn.DELETE_P,0)}DELIMITER(){return this.getToken(cn.DELIMITER,0)}DELIMITERS(){return this.getToken(cn.DELIMITERS,0)}DEPENDS(){return this.getToken(cn.DEPENDS,0)}DETACH(){return this.getToken(cn.DETACH,0)}DICTIONARY(){return this.getToken(cn.DICTIONARY,0)}DISABLE_P(){return this.getToken(cn.DISABLE_P,0)}DISCARD(){return this.getToken(cn.DISCARD,0)}DOCUMENT_P(){return this.getToken(cn.DOCUMENT_P,0)}DOMAIN_P(){return this.getToken(cn.DOMAIN_P,0)}DOUBLE_P(){return this.getToken(cn.DOUBLE_P,0)}DROP(){return this.getToken(cn.DROP,0)}EACH(){return this.getToken(cn.EACH,0)}ENABLE_P(){return this.getToken(cn.ENABLE_P,0)}ENCODING(){return this.getToken(cn.ENCODING,0)}ENCRYPTED(){return this.getToken(cn.ENCRYPTED,0)}ENUM_P(){return this.getToken(cn.ENUM_P,0)}ESCAPE(){return this.getToken(cn.ESCAPE,0)}EVENT(){return this.getToken(cn.EVENT,0)}EXCLUDE(){return this.getToken(cn.EXCLUDE,0)}EXCLUDING(){return this.getToken(cn.EXCLUDING,0)}EXCLUSIVE(){return this.getToken(cn.EXCLUSIVE,0)}EXECUTE(){return this.getToken(cn.EXECUTE,0)}EXPLAIN(){return this.getToken(cn.EXPLAIN,0)}EXPRESSION(){return this.getToken(cn.EXPRESSION,0)}EXTENSION(){return this.getToken(cn.EXTENSION,0)}EXTERNAL(){return this.getToken(cn.EXTERNAL,0)}FAMILY(){return this.getToken(cn.FAMILY,0)}FILTER(){return this.getToken(cn.FILTER,0)}FIRST_P(){return this.getToken(cn.FIRST_P,0)}FOLLOWING(){return this.getToken(cn.FOLLOWING,0)}FORCE(){return this.getToken(cn.FORCE,0)}FORWARD(){return this.getToken(cn.FORWARD,0)}FUNCTION(){return this.getToken(cn.FUNCTION,0)}FUNCTIONS(){return this.getToken(cn.FUNCTIONS,0)}GENERATED(){return this.getToken(cn.GENERATED,0)}GLOBAL(){return this.getToken(cn.GLOBAL,0)}GRANTED(){return this.getToken(cn.GRANTED,0)}GROUPS(){return this.getToken(cn.GROUPS,0)}HANDLER(){return this.getToken(cn.HANDLER,0)}HEADER_P(){return this.getToken(cn.HEADER_P,0)}HOLD(){return this.getToken(cn.HOLD,0)}HOUR_P(){return this.getToken(cn.HOUR_P,0)}IDENTITY_P(){return this.getToken(cn.IDENTITY_P,0)}IF_P(){return this.getToken(cn.IF_P,0)}IMMEDIATE(){return this.getToken(cn.IMMEDIATE,0)}IMMUTABLE(){return this.getToken(cn.IMMUTABLE,0)}IMPLICIT_P(){return this.getToken(cn.IMPLICIT_P,0)}IMPORT_P(){return this.getToken(cn.IMPORT_P,0)}INCLUDE(){return this.getToken(cn.INCLUDE,0)}INCLUDING(){return this.getToken(cn.INCLUDING,0)}INCREMENT(){return this.getToken(cn.INCREMENT,0)}INDEX(){return this.getToken(cn.INDEX,0)}INDEXES(){return this.getToken(cn.INDEXES,0)}INHERIT(){return this.getToken(cn.INHERIT,0)}INHERITS(){return this.getToken(cn.INHERITS,0)}INLINE_P(){return this.getToken(cn.INLINE_P,0)}INPUT_P(){return this.getToken(cn.INPUT_P,0)}INSENSITIVE(){return this.getToken(cn.INSENSITIVE,0)}INSERT(){return this.getToken(cn.INSERT,0)}INSTEAD(){return this.getToken(cn.INSTEAD,0)}INVOKER(){return this.getToken(cn.INVOKER,0)}ISOLATION(){return this.getToken(cn.ISOLATION,0)}KEY(){return this.getToken(cn.KEY,0)}LABEL(){return this.getToken(cn.LABEL,0)}LANGUAGE(){return this.getToken(cn.LANGUAGE,0)}LARGE_P(){return this.getToken(cn.LARGE_P,0)}LAST_P(){return this.getToken(cn.LAST_P,0)}LEAKPROOF(){return this.getToken(cn.LEAKPROOF,0)}LEVEL(){return this.getToken(cn.LEVEL,0)}LISTEN(){return this.getToken(cn.LISTEN,0)}LOAD(){return this.getToken(cn.LOAD,0)}LOCAL(){return this.getToken(cn.LOCAL,0)}LOCATION(){return this.getToken(cn.LOCATION,0)}LOCK_P(){return this.getToken(cn.LOCK_P,0)}LOCKED(){return this.getToken(cn.LOCKED,0)}LOGGED(){return this.getToken(cn.LOGGED,0)}MAPPING(){return this.getToken(cn.MAPPING,0)}MATCH(){return this.getToken(cn.MATCH,0)}MATERIALIZED(){return this.getToken(cn.MATERIALIZED,0)}MAXVALUE(){return this.getToken(cn.MAXVALUE,0)}METHOD(){return this.getToken(cn.METHOD,0)}MINUTE_P(){return this.getToken(cn.MINUTE_P,0)}MINVALUE(){return this.getToken(cn.MINVALUE,0)}MODE(){return this.getToken(cn.MODE,0)}MONTH_P(){return this.getToken(cn.MONTH_P,0)}MOVE(){return this.getToken(cn.MOVE,0)}NAME_P(){return this.getToken(cn.NAME_P,0)}NAMES(){return this.getToken(cn.NAMES,0)}NEW(){return this.getToken(cn.NEW,0)}NEXT(){return this.getToken(cn.NEXT,0)}NFC(){return this.getToken(cn.NFC,0)}NFD(){return this.getToken(cn.NFD,0)}NFKC(){return this.getToken(cn.NFKC,0)}NFKD(){return this.getToken(cn.NFKD,0)}NO(){return this.getToken(cn.NO,0)}NORMALIZED(){return this.getToken(cn.NORMALIZED,0)}NOTHING(){return this.getToken(cn.NOTHING,0)}NOTIFY(){return this.getToken(cn.NOTIFY,0)}NOWAIT(){return this.getToken(cn.NOWAIT,0)}NULLS_P(){return this.getToken(cn.NULLS_P,0)}OBJECT_P(){return this.getToken(cn.OBJECT_P,0)}OF(){return this.getToken(cn.OF,0)}OFF(){return this.getToken(cn.OFF,0)}OIDS(){return this.getToken(cn.OIDS,0)}OLD(){return this.getToken(cn.OLD,0)}OPERATOR(){return this.getToken(cn.OPERATOR,0)}OPTION(){return this.getToken(cn.OPTION,0)}OPTIONS(){return this.getToken(cn.OPTIONS,0)}ORDINALITY(){return this.getToken(cn.ORDINALITY,0)}OTHERS(){return this.getToken(cn.OTHERS,0)}OVER(){return this.getToken(cn.OVER,0)}OVERRIDING(){return this.getToken(cn.OVERRIDING,0)}OWNED(){return this.getToken(cn.OWNED,0)}OWNER(){return this.getToken(cn.OWNER,0)}PARALLEL(){return this.getToken(cn.PARALLEL,0)}PARSER(){return this.getToken(cn.PARSER,0)}PARTIAL(){return this.getToken(cn.PARTIAL,0)}PARTITION(){return this.getToken(cn.PARTITION,0)}PASSING(){return this.getToken(cn.PASSING,0)}PASSWORD(){return this.getToken(cn.PASSWORD,0)}PLANS(){return this.getToken(cn.PLANS,0)}POLICY(){return this.getToken(cn.POLICY,0)}PRECEDING(){return this.getToken(cn.PRECEDING,0)}PREPARE(){return this.getToken(cn.PREPARE,0)}PREPARED(){return this.getToken(cn.PREPARED,0)}PRESERVE(){return this.getToken(cn.PRESERVE,0)}PRIOR(){return this.getToken(cn.PRIOR,0)}PRIVILEGES(){return this.getToken(cn.PRIVILEGES,0)}PROCEDURAL(){return this.getToken(cn.PROCEDURAL,0)}PROCEDURE(){return this.getToken(cn.PROCEDURE,0)}PROCEDURES(){return this.getToken(cn.PROCEDURES,0)}PROGRAM(){return this.getToken(cn.PROGRAM,0)}PUBLICATION(){return this.getToken(cn.PUBLICATION,0)}QUOTE(){return this.getToken(cn.QUOTE,0)}RANGE(){return this.getToken(cn.RANGE,0)}READ(){return this.getToken(cn.READ,0)}REASSIGN(){return this.getToken(cn.REASSIGN,0)}RECHECK(){return this.getToken(cn.RECHECK,0)}RECURSIVE(){return this.getToken(cn.RECURSIVE,0)}REF(){return this.getToken(cn.REF,0)}REFERENCING(){return this.getToken(cn.REFERENCING,0)}REFRESH(){return this.getToken(cn.REFRESH,0)}REINDEX(){return this.getToken(cn.REINDEX,0)}RELATIVE_P(){return this.getToken(cn.RELATIVE_P,0)}RELEASE(){return this.getToken(cn.RELEASE,0)}RENAME(){return this.getToken(cn.RENAME,0)}REPEATABLE(){return this.getToken(cn.REPEATABLE,0)}REPLICA(){return this.getToken(cn.REPLICA,0)}RESET(){return this.getToken(cn.RESET,0)}RESTART(){return this.getToken(cn.RESTART,0)}RESTRICT(){return this.getToken(cn.RESTRICT,0)}RETURNS(){return this.getToken(cn.RETURNS,0)}REVOKE(){return this.getToken(cn.REVOKE,0)}ROLE(){return this.getToken(cn.ROLE,0)}ROLLBACK(){return this.getToken(cn.ROLLBACK,0)}ROLLUP(){return this.getToken(cn.ROLLUP,0)}ROUTINE(){return this.getToken(cn.ROUTINE,0)}ROUTINES(){return this.getToken(cn.ROUTINES,0)}ROWS(){return this.getToken(cn.ROWS,0)}RULE(){return this.getToken(cn.RULE,0)}SAVEPOINT(){return this.getToken(cn.SAVEPOINT,0)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}SCHEMAS(){return this.getToken(cn.SCHEMAS,0)}SCROLL(){return this.getToken(cn.SCROLL,0)}SEARCH(){return this.getToken(cn.SEARCH,0)}SECOND_P(){return this.getToken(cn.SECOND_P,0)}SECURITY(){return this.getToken(cn.SECURITY,0)}SEQUENCE(){return this.getToken(cn.SEQUENCE,0)}SEQUENCES(){return this.getToken(cn.SEQUENCES,0)}SERIALIZABLE(){return this.getToken(cn.SERIALIZABLE,0)}SERVER(){return this.getToken(cn.SERVER,0)}SESSION(){return this.getToken(cn.SESSION,0)}SET(){return this.getToken(cn.SET,0)}SETS(){return this.getToken(cn.SETS,0)}SHARE(){return this.getToken(cn.SHARE,0)}SHOW(){return this.getToken(cn.SHOW,0)}SIMPLE(){return this.getToken(cn.SIMPLE,0)}SKIP_P(){return this.getToken(cn.SKIP_P,0)}SNAPSHOT(){return this.getToken(cn.SNAPSHOT,0)}SQL_P(){return this.getToken(cn.SQL_P,0)}STABLE(){return this.getToken(cn.STABLE,0)}STANDALONE_P(){return this.getToken(cn.STANDALONE_P,0)}START(){return this.getToken(cn.START,0)}STATEMENT(){return this.getToken(cn.STATEMENT,0)}STATISTICS(){return this.getToken(cn.STATISTICS,0)}STDIN(){return this.getToken(cn.STDIN,0)}STDOUT(){return this.getToken(cn.STDOUT,0)}STORAGE(){return this.getToken(cn.STORAGE,0)}STORED(){return this.getToken(cn.STORED,0)}STRICT_P(){return this.getToken(cn.STRICT_P,0)}STRIP_P(){return this.getToken(cn.STRIP_P,0)}SUBSCRIPTION(){return this.getToken(cn.SUBSCRIPTION,0)}SUPPORT(){return this.getToken(cn.SUPPORT,0)}SYSID(){return this.getToken(cn.SYSID,0)}SYSTEM_P(){return this.getToken(cn.SYSTEM_P,0)}TABLES(){return this.getToken(cn.TABLES,0)}TABLESPACE(){return this.getToken(cn.TABLESPACE,0)}TEMP(){return this.getToken(cn.TEMP,0)}TEMPLATE(){return this.getToken(cn.TEMPLATE,0)}TEMPORARY(){return this.getToken(cn.TEMPORARY,0)}TEXT_P(){return this.getToken(cn.TEXT_P,0)}TIES(){return this.getToken(cn.TIES,0)}TRANSACTION(){return this.getToken(cn.TRANSACTION,0)}TRANSFORM(){return this.getToken(cn.TRANSFORM,0)}TRIGGER(){return this.getToken(cn.TRIGGER,0)}TRUNCATE(){return this.getToken(cn.TRUNCATE,0)}TRUSTED(){return this.getToken(cn.TRUSTED,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}TYPES_P(){return this.getToken(cn.TYPES_P,0)}UESCAPE(){return this.getToken(cn.UESCAPE,0)}UNBOUNDED(){return this.getToken(cn.UNBOUNDED,0)}UNCOMMITTED(){return this.getToken(cn.UNCOMMITTED,0)}UNENCRYPTED(){return this.getToken(cn.UNENCRYPTED,0)}UNKNOWN(){return this.getToken(cn.UNKNOWN,0)}UNLISTEN(){return this.getToken(cn.UNLISTEN,0)}UNLOGGED(){return this.getToken(cn.UNLOGGED,0)}UNTIL(){return this.getToken(cn.UNTIL,0)}UPDATE(){return this.getToken(cn.UPDATE,0)}VACUUM(){return this.getToken(cn.VACUUM,0)}VALID(){return this.getToken(cn.VALID,0)}VALIDATE(){return this.getToken(cn.VALIDATE,0)}VALIDATOR(){return this.getToken(cn.VALIDATOR,0)}VALUE_P(){return this.getToken(cn.VALUE_P,0)}VARYING(){return this.getToken(cn.VARYING,0)}VERSION_P(){return this.getToken(cn.VERSION_P,0)}VIEW(){return this.getToken(cn.VIEW,0)}VIEWS(){return this.getToken(cn.VIEWS,0)}VOLATILE(){return this.getToken(cn.VOLATILE,0)}WHITESPACE_P(){return this.getToken(cn.WHITESPACE_P,0)}WITHIN(){return this.getToken(cn.WITHIN,0)}WITHOUT(){return this.getToken(cn.WITHOUT,0)}WORK(){return this.getToken(cn.WORK,0)}WRAPPER(){return this.getToken(cn.WRAPPER,0)}WRITE(){return this.getToken(cn.WRITE,0)}XML_P(){return this.getToken(cn.XML_P,0)}YEAR_P(){return this.getToken(cn.YEAR_P,0)}YES_P(){return this.getToken(cn.YES_P,0)}ZONE(){return this.getToken(cn.ZONE,0)}get ruleIndex(){return cn.RULE_unreservedKeyword}accept(t){return t.visitUnreservedKeyword?t.visitUnreservedKeyword(this):t.visitChildren(this)}},nN=class extends ga{constructor(t,e){super(t,e)}BETWEEN(){return this.getToken(cn.BETWEEN,0)}BIGINT(){return this.getToken(cn.BIGINT,0)}bit(){return this.getRuleContext(0,mO)}BOOLEAN_P(){return this.getToken(cn.BOOLEAN_P,0)}CHAR_P(){return this.getToken(cn.CHAR_P,0)}character(){return this.getRuleContext(0,xO)}COALESCE(){return this.getToken(cn.COALESCE,0)}DEC(){return this.getToken(cn.DEC,0)}DECIMAL_P(){return this.getToken(cn.DECIMAL_P,0)}EXISTS(){return this.getToken(cn.EXISTS,0)}EXTRACT(){return this.getToken(cn.EXTRACT,0)}FLOAT_P(){return this.getToken(cn.FLOAT_P,0)}GREATEST(){return this.getToken(cn.GREATEST,0)}GROUPING(){return this.getToken(cn.GROUPING,0)}INOUT(){return this.getToken(cn.INOUT,0)}INT_P(){return this.getToken(cn.INT_P,0)}INTEGER(){return this.getToken(cn.INTEGER,0)}INTERVAL(){return this.getToken(cn.INTERVAL,0)}LEAST(){return this.getToken(cn.LEAST,0)}NATIONAL(){return this.getToken(cn.NATIONAL,0)}NCHAR(){return this.getToken(cn.NCHAR,0)}NONE(){return this.getToken(cn.NONE,0)}NORMALIZE(){return this.getToken(cn.NORMALIZE,0)}NULLIF(){return this.getToken(cn.NULLIF,0)}numeric(){return this.getRuleContext(0,dO)}OUT_P(){return this.getToken(cn.OUT_P,0)}OVERLAY(){return this.getToken(cn.OVERLAY,0)}POSITION(){return this.getToken(cn.POSITION,0)}PRECISION(){return this.getToken(cn.PRECISION,0)}REAL(){return this.getToken(cn.REAL,0)}ROW(){return this.getToken(cn.ROW,0)}SETOF(){return this.getToken(cn.SETOF,0)}SMALLINT(){return this.getToken(cn.SMALLINT,0)}SUBSTRING(){return this.getToken(cn.SUBSTRING,0)}TIME(){return this.getToken(cn.TIME,0)}TIMESTAMP(){return this.getToken(cn.TIMESTAMP,0)}TREAT(){return this.getToken(cn.TREAT,0)}TRIM(){return this.getToken(cn.TRIM,0)}VALUES(){return this.getToken(cn.VALUES,0)}VARCHAR(){return this.getToken(cn.VARCHAR,0)}XMLATTRIBUTES(){return this.getToken(cn.XMLATTRIBUTES,0)}XMLCONCAT(){return this.getToken(cn.XMLCONCAT,0)}XMLELEMENT(){return this.getToken(cn.XMLELEMENT,0)}XMLEXISTS(){return this.getToken(cn.XMLEXISTS,0)}XMLFOREST(){return this.getToken(cn.XMLFOREST,0)}XMLNAMESPACES(){return this.getToken(cn.XMLNAMESPACES,0)}XMLPARSE(){return this.getToken(cn.XMLPARSE,0)}XMLPI(){return this.getToken(cn.XMLPI,0)}XMLROOT(){return this.getToken(cn.XMLROOT,0)}XMLSERIALIZE(){return this.getToken(cn.XMLSERIALIZE,0)}XMLTABLE(){return this.getToken(cn.XMLTABLE,0)}builtinFunctionName(){return this.getRuleContext(0,TN)}get ruleIndex(){return cn.RULE_columnNameKeyword}accept(t){return t.visitColumnNameKeyword?t.visitColumnNameKeyword(this):t.visitChildren(this)}},hN=class extends ga{constructor(t,e){super(t,e)}AUTHORIZATION(){return this.getToken(cn.AUTHORIZATION,0)}BINARY(){return this.getToken(cn.BINARY,0)}COLLATION(){return this.getToken(cn.COLLATION,0)}CONCURRENTLY(){return this.getToken(cn.CONCURRENTLY,0)}CROSS(){return this.getToken(cn.CROSS,0)}CURRENT_SCHEMA(){return this.getToken(cn.CURRENT_SCHEMA,0)}FREEZE(){return this.getToken(cn.FREEZE,0)}FULL(){return this.getToken(cn.FULL,0)}ILIKE(){return this.getToken(cn.ILIKE,0)}INNER_P(){return this.getToken(cn.INNER_P,0)}IS(){return this.getToken(cn.IS,0)}ISNULL(){return this.getToken(cn.ISNULL,0)}JOIN(){return this.getToken(cn.JOIN,0)}LIKE(){return this.getToken(cn.LIKE,0)}NATURAL(){return this.getToken(cn.NATURAL,0)}NOTNULL(){return this.getToken(cn.NOTNULL,0)}OUTER_P(){return this.getToken(cn.OUTER_P,0)}OVERLAPS(){return this.getToken(cn.OVERLAPS,0)}SIMILAR(){return this.getToken(cn.SIMILAR,0)}TABLESAMPLE(){return this.getToken(cn.TABLESAMPLE,0)}VERBOSE(){return this.getToken(cn.VERBOSE,0)}get ruleIndex(){return cn.RULE_typeFunctionNameKeyword}accept(t){return t.visitTypeFunctionNameKeyword?t.visitTypeFunctionNameKeyword(this):t.visitChildren(this)}},EN=class extends ga{constructor(t,e){super(t,e)}ALL(){return this.getToken(cn.ALL,0)}ANALYSE(){return this.getToken(cn.ANALYSE,0)}ANALYZE(){return this.getToken(cn.ANALYZE,0)}AND(){return this.getToken(cn.AND,0)}ANY(){return this.getToken(cn.ANY,0)}ARRAY(){return this.getToken(cn.ARRAY,0)}AS(){return this.getToken(cn.AS,0)}ASC(){return this.getToken(cn.ASC,0)}ASYMMETRIC(){return this.getToken(cn.ASYMMETRIC,0)}BOTH(){return this.getToken(cn.BOTH,0)}CASE(){return this.getToken(cn.CASE,0)}CAST(){return this.getToken(cn.CAST,0)}CHECK(){return this.getToken(cn.CHECK,0)}COLLATE(){return this.getToken(cn.COLLATE,0)}COLUMN(){return this.getToken(cn.COLUMN,0)}CONSTRAINT(){return this.getToken(cn.CONSTRAINT,0)}CREATE(){return this.getToken(cn.CREATE,0)}CURRENT_CATALOG(){return this.getToken(cn.CURRENT_CATALOG,0)}CURRENT_DATE(){return this.getToken(cn.CURRENT_DATE,0)}CURRENT_ROLE(){return this.getToken(cn.CURRENT_ROLE,0)}CURRENT_TIME(){return this.getToken(cn.CURRENT_TIME,0)}CURRENT_TIMESTAMP(){return this.getToken(cn.CURRENT_TIMESTAMP,0)}CURRENT_USER(){return this.getToken(cn.CURRENT_USER,0)}DEFERRABLE(){return this.getToken(cn.DEFERRABLE,0)}DESC(){return this.getToken(cn.DESC,0)}DISTINCT(){return this.getToken(cn.DISTINCT,0)}DO(){return this.getToken(cn.DO,0)}ELSE(){return this.getToken(cn.ELSE,0)}END_P(){return this.getToken(cn.END_P,0)}EXCEPT(){return this.getToken(cn.EXCEPT,0)}FALSE_P(){return this.getToken(cn.FALSE_P,0)}FETCH(){return this.getToken(cn.FETCH,0)}FOR(){return this.getToken(cn.FOR,0)}FOREIGN(){return this.getToken(cn.FOREIGN,0)}FROM(){return this.getToken(cn.FROM,0)}GRANT(){return this.getToken(cn.GRANT,0)}GROUP_P(){return this.getToken(cn.GROUP_P,0)}HAVING(){return this.getToken(cn.HAVING,0)}IN_P(){return this.getToken(cn.IN_P,0)}INITIALLY(){return this.getToken(cn.INITIALLY,0)}INTERSECT(){return this.getToken(cn.INTERSECT,0)}LATERAL_P(){return this.getToken(cn.LATERAL_P,0)}LEADING(){return this.getToken(cn.LEADING,0)}LIMIT(){return this.getToken(cn.LIMIT,0)}LOCALTIME(){return this.getToken(cn.LOCALTIME,0)}LOCALTIMESTAMP(){return this.getToken(cn.LOCALTIMESTAMP,0)}NOT(){return this.getToken(cn.NOT,0)}NULL_P(){return this.getToken(cn.NULL_P,0)}OFFSET(){return this.getToken(cn.OFFSET,0)}ON(){return this.getToken(cn.ON,0)}ONLY(){return this.getToken(cn.ONLY,0)}OR(){return this.getToken(cn.OR,0)}ORDER(){return this.getToken(cn.ORDER,0)}PLACING(){return this.getToken(cn.PLACING,0)}PRIMARY(){return this.getToken(cn.PRIMARY,0)}REFERENCES(){return this.getToken(cn.REFERENCES,0)}RETURNING(){return this.getToken(cn.RETURNING,0)}SELECT(){return this.getToken(cn.SELECT,0)}SESSION_USER(){return this.getToken(cn.SESSION_USER,0)}SOME(){return this.getToken(cn.SOME,0)}SYMMETRIC(){return this.getToken(cn.SYMMETRIC,0)}TABLE(){return this.getToken(cn.TABLE,0)}THEN(){return this.getToken(cn.THEN,0)}TO(){return this.getToken(cn.TO,0)}TRAILING(){return this.getToken(cn.TRAILING,0)}TRUE_P(){return this.getToken(cn.TRUE_P,0)}UNION(){return this.getToken(cn.UNION,0)}UNIQUE(){return this.getToken(cn.UNIQUE,0)}USER(){return this.getToken(cn.USER,0)}USING(){return this.getToken(cn.USING,0)}VARIADIC(){return this.getToken(cn.VARIADIC,0)}WHEN(){return this.getToken(cn.WHEN,0)}WHERE(){return this.getToken(cn.WHERE,0)}WINDOW(){return this.getToken(cn.WINDOW,0)}WITH(){return this.getToken(cn.WITH,0)}get ruleIndex(){return cn.RULE_reservedKeyword}accept(t){return t.visitReservedKeyword?t.visitReservedKeyword(this):t.visitChildren(this)}},TN=class extends ga{constructor(t,e){super(t,e)}XMLCOMMENT(){return this.getToken(cn.XMLCOMMENT,0)}XML_IS_WELL_FORMED(){return this.getToken(cn.XML_IS_WELL_FORMED,0)}XML_IS_WELL_FORMED_DOCUMENT(){return this.getToken(cn.XML_IS_WELL_FORMED_DOCUMENT,0)}XML_IS_WELL_FORMED_CONTENT(){return this.getToken(cn.XML_IS_WELL_FORMED_CONTENT,0)}XMLAGG(){return this.getToken(cn.XMLAGG,0)}XPATH(){return this.getToken(cn.XPATH,0)}XPATH_EXISTS(){return this.getToken(cn.XPATH_EXISTS,0)}ABS(){return this.getToken(cn.ABS,0)}CBRT(){return this.getToken(cn.CBRT,0)}CEIL(){return this.getToken(cn.CEIL,0)}CEILING(){return this.getToken(cn.CEILING,0)}DEGREES(){return this.getToken(cn.DEGREES,0)}DIV(){return this.getToken(cn.DIV,0)}EXP(){return this.getToken(cn.EXP,0)}FACTORIAL(){return this.getToken(cn.FACTORIAL,0)}FLOOR(){return this.getToken(cn.FLOOR,0)}GCD(){return this.getToken(cn.GCD,0)}LCM(){return this.getToken(cn.LCM,0)}LN(){return this.getToken(cn.LN,0)}LOG(){return this.getToken(cn.LOG,0)}LOG10(){return this.getToken(cn.LOG10,0)}MIN_SCALE(){return this.getToken(cn.MIN_SCALE,0)}MOD(){return this.getToken(cn.MOD,0)}PI(){return this.getToken(cn.PI,0)}POWER(){return this.getToken(cn.POWER,0)}RADIANS(){return this.getToken(cn.RADIANS,0)}ROUND(){return this.getToken(cn.ROUND,0)}SCALE(){return this.getToken(cn.SCALE,0)}SIGN(){return this.getToken(cn.SIGN,0)}SQRT(){return this.getToken(cn.SQRT,0)}TRIM_SCALE(){return this.getToken(cn.TRIM_SCALE,0)}TRUNC(){return this.getToken(cn.TRUNC,0)}WIDTH_BUCKET(){return this.getToken(cn.WIDTH_BUCKET,0)}RANDOM(){return this.getToken(cn.RANDOM,0)}SETSEED(){return this.getToken(cn.SETSEED,0)}ACOS(){return this.getToken(cn.ACOS,0)}ACOSD(){return this.getToken(cn.ACOSD,0)}ACOSH(){return this.getToken(cn.ACOSH,0)}ASIN(){return this.getToken(cn.ASIN,0)}ASIND(){return this.getToken(cn.ASIND,0)}ASINH(){return this.getToken(cn.ASINH,0)}ATAN(){return this.getToken(cn.ATAN,0)}ATAND(){return this.getToken(cn.ATAND,0)}ATANH(){return this.getToken(cn.ATANH,0)}ATAN2(){return this.getToken(cn.ATAN2,0)}ATAN2D(){return this.getToken(cn.ATAN2D,0)}COS(){return this.getToken(cn.COS,0)}COSD(){return this.getToken(cn.COSD,0)}COSH(){return this.getToken(cn.COSH,0)}COT(){return this.getToken(cn.COT,0)}COTD(){return this.getToken(cn.COTD,0)}SIN(){return this.getToken(cn.SIN,0)}SIND(){return this.getToken(cn.SIND,0)}SINH(){return this.getToken(cn.SINH,0)}TAN(){return this.getToken(cn.TAN,0)}TAND(){return this.getToken(cn.TAND,0)}TANH(){return this.getToken(cn.TANH,0)}BIT_LENGTH(){return this.getToken(cn.BIT_LENGTH,0)}CHAR_LENGTH(){return this.getToken(cn.CHAR_LENGTH,0)}CHARACTER_LENGTH(){return this.getToken(cn.CHARACTER_LENGTH,0)}LOWER(){return this.getToken(cn.LOWER,0)}OCTET_LENGTH(){return this.getToken(cn.OCTET_LENGTH,0)}UPPER(){return this.getToken(cn.UPPER,0)}ASCII(){return this.getToken(cn.ASCII,0)}BTRIM(){return this.getToken(cn.BTRIM,0)}CHR(){return this.getToken(cn.CHR,0)}CONCAT(){return this.getToken(cn.CONCAT,0)}CONCAT_WS(){return this.getToken(cn.CONCAT_WS,0)}FORMAT(){return this.getToken(cn.FORMAT,0)}INITCAP(){return this.getToken(cn.INITCAP,0)}LENGTH(){return this.getToken(cn.LENGTH,0)}LPAD(){return this.getToken(cn.LPAD,0)}LTRIM(){return this.getToken(cn.LTRIM,0)}MD5(){return this.getToken(cn.MD5,0)}PARSE_IDENT(){return this.getToken(cn.PARSE_IDENT,0)}PG_CLIENT_ENCODING(){return this.getToken(cn.PG_CLIENT_ENCODING,0)}QUOTE_IDENT(){return this.getToken(cn.QUOTE_IDENT,0)}QUOTE_LITERAL(){return this.getToken(cn.QUOTE_LITERAL,0)}QUOTE_NULLABLE(){return this.getToken(cn.QUOTE_NULLABLE,0)}REGEXP_COUNT(){return this.getToken(cn.REGEXP_COUNT,0)}REGEXP_INSTR(){return this.getToken(cn.REGEXP_INSTR,0)}REGEXP_LIKE(){return this.getToken(cn.REGEXP_LIKE,0)}REGEXP_MATCH(){return this.getToken(cn.REGEXP_MATCH,0)}REGEXP_MATCHES(){return this.getToken(cn.REGEXP_MATCHES,0)}REGEXP_REPLACE(){return this.getToken(cn.REGEXP_REPLACE,0)}REGEXP_SPLIT_TO_ARRAY(){return this.getToken(cn.REGEXP_SPLIT_TO_ARRAY,0)}REGEXP_SPLIT_TO_TABLE(){return this.getToken(cn.REGEXP_SPLIT_TO_TABLE,0)}REGEXP_SUBSTR(){return this.getToken(cn.REGEXP_SUBSTR,0)}REPEAT(){return this.getToken(cn.REPEAT,0)}REPLACE(){return this.getToken(cn.REPLACE,0)}REVERSE(){return this.getToken(cn.REVERSE,0)}RPAD(){return this.getToken(cn.RPAD,0)}RTRIM(){return this.getToken(cn.RTRIM,0)}SPLIT_PART(){return this.getToken(cn.SPLIT_PART,0)}STARTS_WITH(){return this.getToken(cn.STARTS_WITH,0)}STRING_TO_ARRAY(){return this.getToken(cn.STRING_TO_ARRAY,0)}STRING_TO_TABLE(){return this.getToken(cn.STRING_TO_TABLE,0)}STRPOS(){return this.getToken(cn.STRPOS,0)}SUBSTR(){return this.getToken(cn.SUBSTR,0)}TO_ASCII(){return this.getToken(cn.TO_ASCII,0)}TO_HEX(){return this.getToken(cn.TO_HEX,0)}TRANSLATE(){return this.getToken(cn.TRANSLATE,0)}UNISTR(){return this.getToken(cn.UNISTR,0)}AGE(){return this.getToken(cn.AGE,0)}DATE_BIN(){return this.getToken(cn.DATE_BIN,0)}DATE_PART(){return this.getToken(cn.DATE_PART,0)}DATE_TRUNC(){return this.getToken(cn.DATE_TRUNC,0)}ISFINITE(){return this.getToken(cn.ISFINITE,0)}JUSTIFY_DAYS(){return this.getToken(cn.JUSTIFY_DAYS,0)}JUSTIFY_HOURS(){return this.getToken(cn.JUSTIFY_HOURS,0)}JUSTIFY_INTERVAL(){return this.getToken(cn.JUSTIFY_INTERVAL,0)}MAKE_DATE(){return this.getToken(cn.MAKE_DATE,0)}MAKE_INTERVAL(){return this.getToken(cn.MAKE_INTERVAL,0)}MAKE_TIME(){return this.getToken(cn.MAKE_TIME,0)}MAKE_TIMESTAMP(){return this.getToken(cn.MAKE_TIMESTAMP,0)}MAKE_TIMESTAMPTZ(){return this.getToken(cn.MAKE_TIMESTAMPTZ,0)}CLOCK_TIMESTAMP(){return this.getToken(cn.CLOCK_TIMESTAMP,0)}NOW(){return this.getToken(cn.NOW,0)}STATEMENT_TIMESTAMP(){return this.getToken(cn.STATEMENT_TIMESTAMP,0)}TIMEOFDAY(){return this.getToken(cn.TIMEOFDAY,0)}TRANSACTION_TIMESTAMP(){return this.getToken(cn.TRANSACTION_TIMESTAMP,0)}TO_TIMESTAMP(){return this.getToken(cn.TO_TIMESTAMP,0)}TO_CHAR(){return this.getToken(cn.TO_CHAR,0)}TO_DATE(){return this.getToken(cn.TO_DATE,0)}TO_NUMBER(){return this.getToken(cn.TO_NUMBER,0)}get ruleIndex(){return cn.RULE_builtinFunctionName}accept(t){return t.visitBuiltinFunctionName?t.visitBuiltinFunctionName(this):t.visitChildren(this)}},oN=class extends ga{constructor(t,e){super(t,e)}computeOptions(){return this.getRuleContext(0,RN)}plsqlBlock(){return this.getRuleContext(0,IN)}optionalSemi(){return this.getRuleContext(0,ON)}get ruleIndex(){return cn.RULE_plsqlFunction}accept(t){return t.visitPlsqlFunction?t.visitPlsqlFunction(this):t.visitChildren(this)}},RN=class extends ga{constructor(t,e){super(t,e)}computeOption(t){return void 0===t?this.getRuleContexts(AN):this.getRuleContext(t,AN)}get ruleIndex(){return cn.RULE_computeOptions}accept(t){return t.visitComputeOptions?t.visitComputeOptions(this):t.visitChildren(this)}},AN=class extends ga{constructor(t,e){super(t,e)}sharp(){return this.getRuleContext(0,SN)}OPTION(){return this.getToken(cn.OPTION,0)}DUMP(){return this.getToken(cn.DUMP,0)}PRINT_STRICT_PARAMS(){return this.getToken(cn.PRINT_STRICT_PARAMS,0)}optionValue(){return this.getRuleContext(0,lN)}VARIABLE_CONFLICT(){return this.getToken(cn.VARIABLE_CONFLICT,0)}ERROR(){return this.getToken(cn.ERROR,0)}USE_VARIABLE(){return this.getToken(cn.USE_VARIABLE,0)}USE_COLUMN(){return this.getToken(cn.USE_COLUMN,0)}get ruleIndex(){return cn.RULE_computeOption}accept(t){return t.visitComputeOption?t.visitComputeOption(this):t.visitChildren(this)}},SN=class extends ga{constructor(t,e){super(t,e)}Operator(){return this.getToken(cn.Operator,0)}get ruleIndex(){return cn.RULE_sharp}accept(t){return t.visitSharp?t.visitSharp(this):t.visitChildren(this)}},lN=class extends ga{constructor(t,e){super(t,e)}sconst(){return this.getRuleContext(0,Qu)}reservedKeyword(){return this.getRuleContext(0,EN)}plsqlUnreservedKeyword(){return this.getRuleContext(0,rC)}unreservedKeyword(){return this.getRuleContext(0,cN)}get ruleIndex(){return cn.RULE_optionValue}accept(t){return t.visitOptionValue?t.visitOptionValue(this):t.visitChildren(this)}},ON=class extends ga{constructor(t,e){super(t,e)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_optionalSemi}accept(t){return t.visitOptionalSemi?t.visitOptionalSemi(this):t.visitChildren(this)}},IN=class extends ga{constructor(t,e){super(t,e)}declareSection(){return this.getRuleContext(0,uN)}BEGIN_P(){return this.getToken(cn.BEGIN_P,0)}procedureSection(){return this.getRuleContext(0,fN)}exceptionSection(){return this.getRuleContext(0,JL)}END_P(){return this.getToken(cn.END_P,0)}optionalLabel(){return this.getRuleContext(0,eC)}get ruleIndex(){return cn.RULE_plsqlBlock}accept(t){return t.visitPlsqlBlock?t.visitPlsqlBlock(this):t.visitChildren(this)}},uN=class extends ga{constructor(t,e){super(t,e)}optionalBlockLabel(){return this.getRuleContext(0,$L)}declareStart(){return this.getRuleContext(0,NN)}declareStatements(){return this.getRuleContext(0,LN)}get ruleIndex(){return cn.RULE_declareSection}accept(t){return t.visitDeclareSection?t.visitDeclareSection(this):t.visitChildren(this)}},NN=class extends ga{constructor(t,e){super(t,e)}DECLARE(){return this.getToken(cn.DECLARE,0)}get ruleIndex(){return cn.RULE_declareStart}accept(t){return t.visitDeclareStart?t.visitDeclareStart(this):t.visitChildren(this)}},LN=class extends ga{constructor(t,e){super(t,e)}declareStatement(t){return void 0===t?this.getRuleContexts(_N):this.getRuleContext(t,_N)}get ruleIndex(){return cn.RULE_declareStatements}accept(t){return t.visitDeclareStatements?t.visitDeclareStatements(this):t.visitChildren(this)}},CN=class extends ga{constructor(t,e){super(t,e)}LESS_LESS(){return this.getToken(cn.LESS_LESS,0)}anyIdentifier(){return this.getRuleContext(0,aC)}GREATER_GREATER(){return this.getToken(cn.GREATER_GREATER,0)}get ruleIndex(){return cn.RULE_labelDeclaration}accept(t){return t.visitLabelDeclaration?t.visitLabelDeclaration(this):t.visitChildren(this)}},_N=class extends ga{constructor(t,e){super(t,e)}declareStatement2(){return this.getRuleContext(0,PN)}DECLARE(){return this.getToken(cn.DECLARE,0)}labelDeclaration(){return this.getRuleContext(0,CN)}get ruleIndex(){return cn.RULE_declareStatement}accept(t){return t.visitDeclareStatement?t.visitDeclareStatement(this):t.visitChildren(this)}},PN=class extends ga{constructor(t,e){super(t,e)}declareVarname(){return this.getRuleContext(0,xN)}SEMI(){return this.getToken(cn.SEMI,0)}ALIAS(){return this.getToken(cn.ALIAS,0)}FOR(){return this.getToken(cn.FOR,0)}declareAliasItem(){return this.getRuleContext(0,gN)}declareConst(){return this.getRuleContext(0,kN)}declareDatatype(){return this.getRuleContext(0,HN)}declareCollate(){return this.getRuleContext(0,GN)}declareNotNull(){return this.getRuleContext(0,FN)}declareDefaultValue(){return this.getRuleContext(0,vN)}optionalScrollable(){return this.getRuleContext(0,MN)}CURSOR(){return this.getToken(cn.CURSOR,0)}declareCursorArgs(){return this.getRuleContext(0,UN)}declareIsOrFor(){return this.getRuleContext(0,pN)}declareCursorQuery(){return this.getRuleContext(0,dN)}get ruleIndex(){return cn.RULE_declareStatement2}accept(t){return t.visitDeclareStatement2?t.visitDeclareStatement2(this):t.visitChildren(this)}},MN=class extends ga{constructor(t,e){super(t,e)}NO(){return this.getToken(cn.NO,0)}SCROLL(){return this.getToken(cn.SCROLL,0)}get ruleIndex(){return cn.RULE_optionalScrollable}accept(t){return t.visitOptionalScrollable?t.visitOptionalScrollable(this):t.visitChildren(this)}},dN=class extends ga{constructor(t,e){super(t,e)}selectStatement(){return this.getRuleContext(0,il)}get ruleIndex(){return cn.RULE_declareCursorQuery}accept(t){return t.visitDeclareCursorQuery?t.visitDeclareCursorQuery(this):t.visitChildren(this)}},UN=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}declareCursorArglist(){return this.getRuleContext(0,mN)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}get ruleIndex(){return cn.RULE_declareCursorArgs}accept(t){return t.visitDeclareCursorArgs?t.visitDeclareCursorArgs(this):t.visitChildren(this)}},mN=class extends ga{constructor(t,e){super(t,e)}declareCursorArg(t){return void 0===t?this.getRuleContexts(DN):this.getRuleContext(t,DN)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_declareCursorArglist}accept(t){return t.visitDeclareCursorArglist?t.visitDeclareCursorArglist(this):t.visitChildren(this)}},DN=class extends ga{constructor(t,e){super(t,e)}declareVarname(){return this.getRuleContext(0,xN)}declareDatatype(){return this.getRuleContext(0,HN)}get ruleIndex(){return cn.RULE_declareCursorArg}accept(t){return t.visitDeclareCursorArg?t.visitDeclareCursorArg(this):t.visitChildren(this)}},pN=class extends ga{constructor(t,e){super(t,e)}IS(){return this.getToken(cn.IS,0)}FOR(){return this.getToken(cn.FOR,0)}get ruleIndex(){return cn.RULE_declareIsOrFor}accept(t){return t.visitDeclareIsOrFor?t.visitDeclareIsOrFor(this):t.visitChildren(this)}},gN=class extends ga{constructor(t,e){super(t,e)}PARAM(){return this.getToken(cn.PARAM,0)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_declareAliasItem}accept(t){return t.visitDeclareAliasItem?t.visitDeclareAliasItem(this):t.visitChildren(this)}},xN=class extends ga{constructor(t,e){super(t,e)}anyIdentifier(){return this.getRuleContext(0,aC)}get ruleIndex(){return cn.RULE_declareVarname}accept(t){return t.visitDeclareVarname?t.visitDeclareVarname(this):t.visitChildren(this)}},kN=class extends ga{constructor(t,e){super(t,e)}CONSTANT(){return this.getToken(cn.CONSTANT,0)}get ruleIndex(){return cn.RULE_declareConst}accept(t){return t.visitDeclareConst?t.visitDeclareConst(this):t.visitChildren(this)}},HN=class extends ga{constructor(t,e){super(t,e)}typeName(){return this.getRuleContext(0,LO)}get ruleIndex(){return cn.RULE_declareDatatype}accept(t){return t.visitDeclareDatatype?t.visitDeclareDatatype(this):t.visitChildren(this)}},GN=class extends ga{constructor(t,e){super(t,e)}COLLATE(){return this.getToken(cn.COLLATE,0)}anyName(){return this.getRuleContext(0,mo)}get ruleIndex(){return cn.RULE_declareCollate}accept(t){return t.visitDeclareCollate?t.visitDeclareCollate(this):t.visitChildren(this)}},FN=class extends ga{constructor(t,e){super(t,e)}NOT(){return this.getToken(cn.NOT,0)}NULL_P(){return this.getToken(cn.NULL_P,0)}get ruleIndex(){return cn.RULE_declareNotNull}accept(t){return t.visitDeclareNotNull?t.visitDeclareNotNull(this):t.visitChildren(this)}},vN=class extends ga{constructor(t,e){super(t,e)}declareDefaultKey(){return this.getRuleContext(0,BN)}sqlExpression(){return this.getRuleContext(0,iC)}get ruleIndex(){return cn.RULE_declareDefaultValue}accept(t){return t.visitDeclareDefaultValue?t.visitDeclareDefaultValue(this):t.visitChildren(this)}},BN=class extends ga{constructor(t,e){super(t,e)}assignOperator(){return this.getRuleContext(0,yN)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}get ruleIndex(){return cn.RULE_declareDefaultKey}accept(t){return t.visitDeclareDefaultKey?t.visitDeclareDefaultKey(this):t.visitChildren(this)}},yN=class extends ga{constructor(t,e){super(t,e)}EQUAL(){return this.getToken(cn.EQUAL,0)}COLON_EQUALS(){return this.getToken(cn.COLON_EQUALS,0)}get ruleIndex(){return cn.RULE_assignOperator}accept(t){return t.visitAssignOperator?t.visitAssignOperator(this):t.visitChildren(this)}},fN=class extends ga{constructor(t,e){super(t,e)}proceduralStatement(t){return void 0===t?this.getRuleContexts(YN):this.getRuleContext(t,YN)}get ruleIndex(){return cn.RULE_procedureSection}accept(t){return t.visitProcedureSection?t.visitProcedureSection(this):t.visitChildren(this)}},YN=class extends ga{constructor(t,e){super(t,e)}plsqlBlock(){return this.getRuleContext(0,IN)}SEMI(){return this.getToken(cn.SEMI,0)}statementReturn(){return this.getRuleContext(0,NL)}statementRaise(){return this.getRuleContext(0,CL)}statementAssign(){return this.getRuleContext(0,VN)}statementIf(){return this.getRuleContext(0,zN)}statementCase(){return this.getRuleContext(0,eL)}statementLoop(){return this.getRuleContext(0,cL)}statementWhile(){return this.getRuleContext(0,nL)}statementFor(){return this.getRuleContext(0,hL)}statementForeachA(){return this.getRuleContext(0,lL)}statementExit(){return this.getRuleContext(0,IL)}statementAssert(){return this.getRuleContext(0,UL)}statementExecSql(){return this.getRuleContext(0,pL)}statementDynExecute(){return this.getRuleContext(0,gL)}statementPerform(){return this.getRuleContext(0,wN)}statementCall(){return this.getRuleContext(0,bN)}statementGetDiagram(){return this.getRuleContext(0,XN)}statementOpen(){return this.getRuleContext(0,GL)}statementFetch(){return this.getRuleContext(0,vL)}statementMove(){return this.getRuleContext(0,YL)}statementClose(){return this.getRuleContext(0,wL)}statementNull(){return this.getRuleContext(0,bL)}statementCommit(){return this.getRuleContext(0,WL)}statementRollback(){return this.getRuleContext(0,VL)}statementSet(){return this.getRuleContext(0,KL)}get ruleIndex(){return cn.RULE_proceduralStatement}accept(t){return t.visitProceduralStatement?t.visitProceduralStatement(this):t.visitChildren(this)}},wN=class extends ga{constructor(t,e){super(t,e)}PERFORM(){return this.getToken(cn.PERFORM,0)}expressionUntilSemi(){return this.getRuleContext(0,nC)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementPerform}accept(t){return t.visitStatementPerform?t.visitStatementPerform(this):t.visitChildren(this)}},bN=class extends ga{constructor(t,e){super(t,e)}CALL(){return this.getToken(cn.CALL,0)}anyIdentifier(){return this.getRuleContext(0,aC)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}optionalExpressionList(){return this.getRuleContext(0,WN)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}SEMI(){return this.getToken(cn.SEMI,0)}DO(){return this.getToken(cn.DO,0)}get ruleIndex(){return cn.RULE_statementCall}accept(t){return t.visitStatementCall?t.visitStatementCall(this):t.visitChildren(this)}},WN=class extends ga{constructor(t,e){super(t,e)}expressionList(){return this.getRuleContext(0,ZI)}get ruleIndex(){return cn.RULE_optionalExpressionList}accept(t){return t.visitOptionalExpressionList?t.visitOptionalExpressionList(this):t.visitChildren(this)}},VN=class extends ga{constructor(t,e){super(t,e)}assignVariable(){return this.getRuleContext(0,jN)}assignOperator(){return this.getRuleContext(0,yN)}sqlExpression(){return this.getRuleContext(0,iC)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementAssign}accept(t){return t.visitStatementAssign?t.visitStatementAssign(this):t.visitChildren(this)}},XN=class extends ga{constructor(t,e){super(t,e)}GET(){return this.getToken(cn.GET,0)}optionalGetDiagramArea(){return this.getRuleContext(0,KN)}DIAGNOSTICS(){return this.getToken(cn.DIAGNOSTICS,0)}getDiagramList(){return this.getRuleContext(0,QN)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementGetDiagram}accept(t){return t.visitStatementGetDiagram?t.visitStatementGetDiagram(this):t.visitChildren(this)}},KN=class extends ga{constructor(t,e){super(t,e)}CURRENT_P(){return this.getToken(cn.CURRENT_P,0)}STACKED(){return this.getToken(cn.STACKED,0)}get ruleIndex(){return cn.RULE_optionalGetDiagramArea}accept(t){return t.visitOptionalGetDiagramArea?t.visitOptionalGetDiagramArea(this):t.visitChildren(this)}},QN=class extends ga{constructor(t,e){super(t,e)}getDiagramListItem(t){return void 0===t?this.getRuleContexts(JN):this.getRuleContext(t,JN)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_getDiagramList}accept(t){return t.visitGetDiagramList?t.visitGetDiagramList(this):t.visitChildren(this)}},JN=class extends ga{constructor(t,e){super(t,e)}getDiagramTarget(){return this.getRuleContext(0,qN)}assignOperator(){return this.getRuleContext(0,yN)}getDiagramItem(){return this.getRuleContext(0,ZN)}get ruleIndex(){return cn.RULE_getDiagramListItem}accept(t){return t.visitGetDiagramListItem?t.visitGetDiagramListItem(this):t.visitChildren(this)}},ZN=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}get ruleIndex(){return cn.RULE_getDiagramItem}accept(t){return t.visitGetDiagramItem?t.visitGetDiagramItem(this):t.visitChildren(this)}},qN=class extends ga{constructor(t,e){super(t,e)}assignVariable(){return this.getRuleContext(0,jN)}get ruleIndex(){return cn.RULE_getDiagramTarget}accept(t){return t.visitGetDiagramTarget?t.visitGetDiagramTarget(this):t.visitChildren(this)}},jN=class extends ga{constructor(t,e){super(t,e)}anyName(){return this.getRuleContext(0,mo)}PARAM(){return this.getToken(cn.PARAM,0)}OPEN_BRACKET(t){return void 0===t?this.getTokens(cn.OPEN_BRACKET):this.getToken(cn.OPEN_BRACKET,t)}expressionUntilRightbracket(t){return void 0===t?this.getRuleContexts(hC):this.getRuleContext(t,hC)}CLOSE_BRACKET(t){return void 0===t?this.getTokens(cn.CLOSE_BRACKET):this.getToken(cn.CLOSE_BRACKET,t)}get ruleIndex(){return cn.RULE_assignVariable}accept(t){return t.visitAssignVariable?t.visitAssignVariable(this):t.visitChildren(this)}},zN=class extends ga{constructor(t,e){super(t,e)}IF_P(t){return void 0===t?this.getTokens(cn.IF_P):this.getToken(cn.IF_P,t)}expressionUntilThen(){return this.getRuleContext(0,cC)}THEN(){return this.getToken(cn.THEN,0)}procedureSection(){return this.getRuleContext(0,fN)}statementElsifs(){return this.getRuleContext(0,$N)}statementElse(){return this.getRuleContext(0,tL)}END_P(){return this.getToken(cn.END_P,0)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementIf}accept(t){return t.visitStatementIf?t.visitStatementIf(this):t.visitChildren(this)}},$N=class extends ga{constructor(t,e){super(t,e)}ELSIF(t){return void 0===t?this.getTokens(cn.ELSIF):this.getToken(cn.ELSIF,t)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}THEN(t){return void 0===t?this.getTokens(cn.THEN):this.getToken(cn.THEN,t)}procedureSection(t){return void 0===t?this.getRuleContexts(fN):this.getRuleContext(t,fN)}get ruleIndex(){return cn.RULE_statementElsifs}accept(t){return t.visitStatementElsifs?t.visitStatementElsifs(this):t.visitChildren(this)}},tL=class extends ga{constructor(t,e){super(t,e)}ELSE(){return this.getToken(cn.ELSE,0)}procedureSection(){return this.getRuleContext(0,fN)}get ruleIndex(){return cn.RULE_statementElse}accept(t){return t.visitStatementElse?t.visitStatementElse(this):t.visitChildren(this)}},eL=class extends ga{constructor(t,e){super(t,e)}CASE(t){return void 0===t?this.getTokens(cn.CASE):this.getToken(cn.CASE,t)}optionalExpressionUntilWhen(){return this.getRuleContext(0,sL)}caseWhenList(){return this.getRuleContext(0,aL)}optionalCaseElse(){return this.getRuleContext(0,iL)}END_P(){return this.getToken(cn.END_P,0)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementCase}accept(t){return t.visitStatementCase?t.visitStatementCase(this):t.visitChildren(this)}},sL=class extends ga{constructor(t,e){super(t,e)}sqlExpression(){return this.getRuleContext(0,iC)}get ruleIndex(){return cn.RULE_optionalExpressionUntilWhen}accept(t){return t.visitOptionalExpressionUntilWhen?t.visitOptionalExpressionUntilWhen(this):t.visitChildren(this)}},aL=class extends ga{constructor(t,e){super(t,e)}caseWhen(t){return void 0===t?this.getRuleContexts(rL):this.getRuleContext(t,rL)}get ruleIndex(){return cn.RULE_caseWhenList}accept(t){return t.visitCaseWhenList?t.visitCaseWhenList(this):t.visitChildren(this)}},rL=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(cn.WHEN,0)}expressionList(){return this.getRuleContext(0,ZI)}THEN(){return this.getToken(cn.THEN,0)}procedureSection(){return this.getRuleContext(0,fN)}get ruleIndex(){return cn.RULE_caseWhen}accept(t){return t.visitCaseWhen?t.visitCaseWhen(this):t.visitChildren(this)}},iL=class extends ga{constructor(t,e){super(t,e)}ELSE(){return this.getToken(cn.ELSE,0)}procedureSection(){return this.getRuleContext(0,fN)}get ruleIndex(){return cn.RULE_optionalCaseElse}accept(t){return t.visitOptionalCaseElse?t.visitOptionalCaseElse(this):t.visitChildren(this)}},cL=class extends ga{constructor(t,e){super(t,e)}optionalLoopLabel(){return this.getRuleContext(0,tC)}loopBody(){return this.getRuleContext(0,DL)}get ruleIndex(){return cn.RULE_statementLoop}accept(t){return t.visitStatementLoop?t.visitStatementLoop(this):t.visitChildren(this)}},nL=class extends ga{constructor(t,e){super(t,e)}optionalLoopLabel(){return this.getRuleContext(0,tC)}WHILE(){return this.getToken(cn.WHILE,0)}expressionUntilLoop(){return this.getRuleContext(0,EC)}loopBody(){return this.getRuleContext(0,DL)}get ruleIndex(){return cn.RULE_statementWhile}accept(t){return t.visitStatementWhile?t.visitStatementWhile(this):t.visitChildren(this)}},hL=class extends ga{constructor(t,e){super(t,e)}optionalLoopLabel(){return this.getRuleContext(0,tC)}FOR(){return this.getToken(cn.FOR,0)}forControl(){return this.getRuleContext(0,EL)}loopBody(){return this.getRuleContext(0,DL)}get ruleIndex(){return cn.RULE_statementFor}accept(t){return t.visitStatementFor?t.visitStatementFor(this):t.visitChildren(this)}},EL=class extends ga{constructor(t,e){super(t,e)}forVariable(){return this.getRuleContext(0,SL)}IN_P(){return this.getToken(cn.IN_P,0)}cursorName(){return this.getRuleContext(0,al)}optionalCursorParameters(){return this.getRuleContext(0,oL)}selectStatement(){return this.getRuleContext(0,il)}explainStatement(){return this.getRuleContext(0,CS)}EXECUTE(){return this.getToken(cn.EXECUTE,0)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}optionalForUsingExpression(){return this.getRuleContext(0,TL)}optionalReverse(){return this.getRuleContext(0,RL)}DOT_DOT(){return this.getToken(cn.DOT_DOT,0)}optionalByExpression(){return this.getRuleContext(0,AL)}get ruleIndex(){return cn.RULE_forControl}accept(t){return t.visitForControl?t.visitForControl(this):t.visitChildren(this)}},TL=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}expressionList(){return this.getRuleContext(0,ZI)}get ruleIndex(){return cn.RULE_optionalForUsingExpression}accept(t){return t.visitOptionalForUsingExpression?t.visitOptionalForUsingExpression(this):t.visitChildren(this)}},oL=class extends ga{constructor(t,e){super(t,e)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_optionalCursorParameters}accept(t){return t.visitOptionalCursorParameters?t.visitOptionalCursorParameters(this):t.visitChildren(this)}},RL=class extends ga{constructor(t,e){super(t,e)}REVERSE(){return this.getToken(cn.REVERSE,0)}get ruleIndex(){return cn.RULE_optionalReverse}accept(t){return t.visitOptionalReverse?t.visitOptionalReverse(this):t.visitChildren(this)}},AL=class extends ga{constructor(t,e){super(t,e)}BY(){return this.getToken(cn.BY,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_optionalByExpression}accept(t){return t.visitOptionalByExpression?t.visitOptionalByExpression(this):t.visitChildren(this)}},SL=class extends ga{constructor(t,e){super(t,e)}anyNameList(){return this.getRuleContext(0,Uo)}get ruleIndex(){return cn.RULE_forVariable}accept(t){return t.visitForVariable?t.visitForVariable(this):t.visitChildren(this)}},lL=class extends ga{constructor(t,e){super(t,e)}optionalLoopLabel(){return this.getRuleContext(0,tC)}FOREACH(){return this.getToken(cn.FOREACH,0)}forVariable(){return this.getRuleContext(0,SL)}foreachSlice(){return this.getRuleContext(0,OL)}IN_P(){return this.getToken(cn.IN_P,0)}ARRAY(){return this.getToken(cn.ARRAY,0)}expression1(){return this.getRuleContext(0,wO)}loopBody(){return this.getRuleContext(0,DL)}get ruleIndex(){return cn.RULE_statementForeachA}accept(t){return t.visitStatementForeachA?t.visitStatementForeachA(this):t.visitChildren(this)}},OL=class extends ga{constructor(t,e){super(t,e)}SLICE(){return this.getToken(cn.SLICE,0)}iconst(){return this.getRuleContext(0,Ku)}get ruleIndex(){return cn.RULE_foreachSlice}accept(t){return t.visitForeachSlice?t.visitForeachSlice(this):t.visitChildren(this)}},IL=class extends ga{constructor(t,e){super(t,e)}exitType(){return this.getRuleContext(0,uL)}optionalLabel(){return this.getRuleContext(0,eC)}optionalExitCondition(){return this.getRuleContext(0,sC)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementExit}accept(t){return t.visitStatementExit?t.visitStatementExit(this):t.visitChildren(this)}},uL=class extends ga{constructor(t,e){super(t,e)}EXIT(){return this.getToken(cn.EXIT,0)}CONTINUE_P(){return this.getToken(cn.CONTINUE_P,0)}get ruleIndex(){return cn.RULE_exitType}accept(t){return t.visitExitType?t.visitExitType(this):t.visitChildren(this)}},NL=class extends ga{constructor(t,e){super(t,e)}RETURN(){return this.getToken(cn.RETURN,0)}SEMI(){return this.getToken(cn.SEMI,0)}NEXT(){return this.getToken(cn.NEXT,0)}sqlExpression(){return this.getRuleContext(0,iC)}QUERY(){return this.getToken(cn.QUERY,0)}optionalReturnResult(){return this.getRuleContext(0,LL)}EXECUTE(){return this.getToken(cn.EXECUTE,0)}expression1(){return this.getRuleContext(0,wO)}optionalForUsingExpression(){return this.getRuleContext(0,TL)}selectStatement(){return this.getRuleContext(0,il)}get ruleIndex(){return cn.RULE_statementReturn}accept(t){return t.visitStatementReturn?t.visitStatementReturn(this):t.visitChildren(this)}},LL=class extends ga{constructor(t,e){super(t,e)}sqlExpression(){return this.getRuleContext(0,iC)}get ruleIndex(){return cn.RULE_optionalReturnResult}accept(t){return t.visitOptionalReturnResult?t.visitOptionalReturnResult(this):t.visitChildren(this)}},CL=class extends ga{constructor(t,e){super(t,e)}RAISE(){return this.getToken(cn.RAISE,0)}optionalStatementRaiseLevel(){return this.getRuleContext(0,_L)}sconst(){return this.getRuleContext(0,Qu)}optionalRaiseList(){return this.getRuleContext(0,PL)}optionalRaiseUsing(){return this.getRuleContext(0,ML)}SEMI(){return this.getToken(cn.SEMI,0)}identifier(){return this.getRuleContext(0,rN)}SQLSTATE(){return this.getToken(cn.SQLSTATE,0)}get ruleIndex(){return cn.RULE_statementRaise}accept(t){return t.visitStatementRaise?t.visitStatementRaise(this):t.visitChildren(this)}},_L=class extends ga{constructor(t,e){super(t,e)}DEBUG(){return this.getToken(cn.DEBUG,0)}LOG(){return this.getToken(cn.LOG,0)}INFO(){return this.getToken(cn.INFO,0)}NOTICE(){return this.getToken(cn.NOTICE,0)}WARNING(){return this.getToken(cn.WARNING,0)}EXCEPTION(){return this.getToken(cn.EXCEPTION,0)}get ruleIndex(){return cn.RULE_optionalStatementRaiseLevel}accept(t){return t.visitOptionalStatementRaiseLevel?t.visitOptionalStatementRaiseLevel(this):t.visitChildren(this)}},PL=class extends ga{constructor(t,e){super(t,e)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}get ruleIndex(){return cn.RULE_optionalRaiseList}accept(t){return t.visitOptionalRaiseList?t.visitOptionalRaiseList(this):t.visitChildren(this)}},ML=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}optionalRaiseUsingElement(t){return void 0===t?this.getRuleContexts(dL):this.getRuleContext(t,dL)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_optionalRaiseUsing}accept(t){return t.visitOptionalRaiseUsing?t.visitOptionalRaiseUsing(this):t.visitChildren(this)}},dL=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,rN)}EQUAL(){return this.getToken(cn.EQUAL,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_optionalRaiseUsingElement}accept(t){return t.visitOptionalRaiseUsingElement?t.visitOptionalRaiseUsingElement(this):t.visitChildren(this)}},UL=class extends ga{constructor(t,e){super(t,e)}ASSERT(){return this.getToken(cn.ASSERT,0)}sqlExpression(){return this.getRuleContext(0,iC)}optionalStatementAssertMessage(){return this.getRuleContext(0,mL)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementAssert}accept(t){return t.visitStatementAssert?t.visitStatementAssert(this):t.visitChildren(this)}},mL=class extends ga{constructor(t,e){super(t,e)}COMMA(){return this.getToken(cn.COMMA,0)}sqlExpression(){return this.getRuleContext(0,iC)}get ruleIndex(){return cn.RULE_optionalStatementAssertMessage}accept(t){return t.visitOptionalStatementAssertMessage?t.visitOptionalStatementAssertMessage(this):t.visitChildren(this)}},DL=class extends ga{constructor(t,e){super(t,e)}LOOP(t){return void 0===t?this.getTokens(cn.LOOP):this.getToken(cn.LOOP,t)}procedureSection(){return this.getRuleContext(0,fN)}END_P(){return this.getToken(cn.END_P,0)}optionalLabel(){return this.getRuleContext(0,eC)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_loopBody}accept(t){return t.visitLoopBody?t.visitLoopBody(this):t.visitChildren(this)}},pL=class extends ga{constructor(t,e){super(t,e)}makeExecuteSqlStatement(){return this.getRuleContext(0,TC)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementExecSql}accept(t){return t.visitStatementExecSql?t.visitStatementExecSql(this):t.visitChildren(this)}},gL=class extends ga{constructor(t,e){super(t,e)}EXECUTE(){return this.getToken(cn.EXECUTE,0)}expression1(){return this.getRuleContext(0,wO)}SEMI(){return this.getToken(cn.SEMI,0)}optionalExecuteInto(){return this.getRuleContext(0,HL)}optionalExecuteUsing(){return this.getRuleContext(0,xL)}get ruleIndex(){return cn.RULE_statementDynExecute}accept(t){return t.visitStatementDynExecute?t.visitStatementDynExecute(this):t.visitChildren(this)}},xL=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(cn.USING,0)}optionalExecuteUsingList(){return this.getRuleContext(0,kL)}get ruleIndex(){return cn.RULE_optionalExecuteUsing}accept(t){return t.visitOptionalExecuteUsing?t.visitOptionalExecuteUsing(this):t.visitChildren(this)}},kL=class extends ga{constructor(t,e){super(t,e)}expression1(t){return void 0===t?this.getRuleContexts(wO):this.getRuleContext(t,wO)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_optionalExecuteUsingList}accept(t){return t.visitOptionalExecuteUsingList?t.visitOptionalExecuteUsingList(this):t.visitChildren(this)}},HL=class extends ga{constructor(t,e){super(t,e)}INTO(){return this.getToken(cn.INTO,0)}intoTarget(){return this.getRuleContext(0,BL)}STRICT_P(){return this.getToken(cn.STRICT_P,0)}get ruleIndex(){return cn.RULE_optionalExecuteInto}accept(t){return t.visitOptionalExecuteInto?t.visitOptionalExecuteInto(this):t.visitChildren(this)}},GL=class extends ga{constructor(t,e){super(t,e)}OPEN(){return this.getToken(cn.OPEN,0)}SEMI(){return this.getToken(cn.SEMI,0)}cursorVariable(){return this.getRuleContext(0,QL)}SCROLL(){return this.getToken(cn.SCROLL,0)}FOR(){return this.getToken(cn.FOR,0)}columnId(){return this.getRuleContext(0,$u)}selectStatement(){return this.getRuleContext(0,il)}EXECUTE(){return this.getToken(cn.EXECUTE,0)}sqlExpression(){return this.getRuleContext(0,iC)}USING(){return this.getToken(cn.USING,0)}expressionList(){return this.getRuleContext(0,ZI)}NO(){return this.getToken(cn.NO,0)}OPEN_PAREN(){return this.getToken(cn.OPEN_PAREN,0)}optionalOpenBoundListItem(t){return void 0===t?this.getRuleContexts(FL):this.getRuleContext(t,FL)}CLOSE_PAREN(){return this.getToken(cn.CLOSE_PAREN,0)}COMMA(t){return void 0===t?this.getTokens(cn.COMMA):this.getToken(cn.COMMA,t)}get ruleIndex(){return cn.RULE_statementOpen}accept(t){return t.visitStatementOpen?t.visitStatementOpen(this):t.visitChildren(this)}},FL=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}COLON_EQUALS(){return this.getToken(cn.COLON_EQUALS,0)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_optionalOpenBoundListItem}accept(t){return t.visitOptionalOpenBoundListItem?t.visitOptionalOpenBoundListItem(this):t.visitChildren(this)}},vL=class extends ga{constructor(t,e){super(t,e)}FETCH(){return this.getToken(cn.FETCH,0)}optionalCursorFrom(){return this.getRuleContext(0,yL)}cursorVariable(){return this.getRuleContext(0,QL)}INTO(){return this.getToken(cn.INTO,0)}intoTarget(){return this.getRuleContext(0,BL)}SEMI(){return this.getToken(cn.SEMI,0)}optionalFetchDirection(){return this.getRuleContext(0,fL)}get ruleIndex(){return cn.RULE_statementFetch}accept(t){return t.visitStatementFetch?t.visitStatementFetch(this):t.visitChildren(this)}},BL=class extends ga{constructor(t,e){super(t,e)}expressionList(){return this.getRuleContext(0,ZI)}get ruleIndex(){return cn.RULE_intoTarget}accept(t){return t.visitIntoTarget?t.visitIntoTarget(this):t.visitChildren(this)}},yL=class extends ga{constructor(t,e){super(t,e)}FROM(){return this.getToken(cn.FROM,0)}IN_P(){return this.getToken(cn.IN_P,0)}get ruleIndex(){return cn.RULE_optionalCursorFrom}accept(t){return t.visitOptionalCursorFrom?t.visitOptionalCursorFrom(this):t.visitChildren(this)}},fL=class extends ga{constructor(t,e){super(t,e)}NEXT(){return this.getToken(cn.NEXT,0)}PRIOR(){return this.getToken(cn.PRIOR,0)}FIRST_P(){return this.getToken(cn.FIRST_P,0)}LAST_P(){return this.getToken(cn.LAST_P,0)}ABSOLUTE_P(){return this.getToken(cn.ABSOLUTE_P,0)}expression1(){return this.getRuleContext(0,wO)}RELATIVE_P(){return this.getToken(cn.RELATIVE_P,0)}ALL(){return this.getToken(cn.ALL,0)}FORWARD(){return this.getToken(cn.FORWARD,0)}BACKWARD(){return this.getToken(cn.BACKWARD,0)}get ruleIndex(){return cn.RULE_optionalFetchDirection}accept(t){return t.visitOptionalFetchDirection?t.visitOptionalFetchDirection(this):t.visitChildren(this)}},YL=class extends ga{constructor(t,e){super(t,e)}MOVE(){return this.getToken(cn.MOVE,0)}optionalFetchDirection(){return this.getRuleContext(0,fL)}cursorVariable(){return this.getRuleContext(0,QL)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementMove}accept(t){return t.visitStatementMove?t.visitStatementMove(this):t.visitChildren(this)}},wL=class extends ga{constructor(t,e){super(t,e)}CLOSE(){return this.getToken(cn.CLOSE,0)}cursorVariable(){return this.getRuleContext(0,QL)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementClose}accept(t){return t.visitStatementClose?t.visitStatementClose(this):t.visitChildren(this)}},bL=class extends ga{constructor(t,e){super(t,e)}NULL_P(){return this.getToken(cn.NULL_P,0)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementNull}accept(t){return t.visitStatementNull?t.visitStatementNull(this):t.visitChildren(this)}},WL=class extends ga{constructor(t,e){super(t,e)}COMMIT(){return this.getToken(cn.COMMIT,0)}plsqlOptionalTransactionChain(){return this.getRuleContext(0,XL)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementCommit}accept(t){return t.visitStatementCommit?t.visitStatementCommit(this):t.visitChildren(this)}},VL=class extends ga{constructor(t,e){super(t,e)}ROLLBACK(){return this.getToken(cn.ROLLBACK,0)}plsqlOptionalTransactionChain(){return this.getRuleContext(0,XL)}SEMI(){return this.getToken(cn.SEMI,0)}get ruleIndex(){return cn.RULE_statementRollback}accept(t){return t.visitStatementRollback?t.visitStatementRollback(this):t.visitChildren(this)}},XL=class extends ga{constructor(t,e){super(t,e)}AND(){return this.getToken(cn.AND,0)}CHAIN(){return this.getToken(cn.CHAIN,0)}NO(){return this.getToken(cn.NO,0)}get ruleIndex(){return cn.RULE_plsqlOptionalTransactionChain}accept(t){return t.visitPlsqlOptionalTransactionChain?t.visitPlsqlOptionalTransactionChain(this):t.visitChildren(this)}},KL=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(cn.SET,0)}anyName(){return this.getRuleContext(0,mo)}TO(){return this.getToken(cn.TO,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}SEMI(){return this.getToken(cn.SEMI,0)}RESET(){return this.getToken(cn.RESET,0)}ALL(){return this.getToken(cn.ALL,0)}get ruleIndex(){return cn.RULE_statementSet}accept(t){return t.visitStatementSet?t.visitStatementSet(this):t.visitChildren(this)}},QL=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}PARAM(){return this.getToken(cn.PARAM,0)}get ruleIndex(){return cn.RULE_cursorVariable}accept(t){return t.visitCursorVariable?t.visitCursorVariable(this):t.visitChildren(this)}},JL=class extends ga{constructor(t,e){super(t,e)}EXCEPTION(){return this.getToken(cn.EXCEPTION,0)}procedureExceptions(){return this.getRuleContext(0,ZL)}get ruleIndex(){return cn.RULE_exceptionSection}accept(t){return t.visitExceptionSection?t.visitExceptionSection(this):t.visitChildren(this)}},ZL=class extends ga{constructor(t,e){super(t,e)}procedureException(t){return void 0===t?this.getRuleContexts(qL):this.getRuleContext(t,qL)}get ruleIndex(){return cn.RULE_procedureExceptions}accept(t){return t.visitProcedureExceptions?t.visitProcedureExceptions(this):t.visitChildren(this)}},qL=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(cn.WHEN,0)}procedureConditions(){return this.getRuleContext(0,jL)}THEN(){return this.getToken(cn.THEN,0)}procedureSection(){return this.getRuleContext(0,fN)}get ruleIndex(){return cn.RULE_procedureException}accept(t){return t.visitProcedureException?t.visitProcedureException(this):t.visitChildren(this)}},jL=class extends ga{constructor(t,e){super(t,e)}procedureCondition(t){return void 0===t?this.getRuleContexts(zL):this.getRuleContext(t,zL)}OR(t){return void 0===t?this.getTokens(cn.OR):this.getToken(cn.OR,t)}get ruleIndex(){return cn.RULE_procedureConditions}accept(t){return t.visitProcedureConditions?t.visitProcedureConditions(this):t.visitChildren(this)}},zL=class extends ga{constructor(t,e){super(t,e)}anyIdentifier(){return this.getRuleContext(0,aC)}SQLSTATE(){return this.getToken(cn.SQLSTATE,0)}sconst(){return this.getRuleContext(0,Qu)}get ruleIndex(){return cn.RULE_procedureCondition}accept(t){return t.visitProcedureCondition?t.visitProcedureCondition(this):t.visitChildren(this)}},$L=class extends ga{constructor(t,e){super(t,e)}labelDeclaration(){return this.getRuleContext(0,CN)}get ruleIndex(){return cn.RULE_optionalBlockLabel}accept(t){return t.visitOptionalBlockLabel?t.visitOptionalBlockLabel(this):t.visitChildren(this)}},tC=class extends ga{constructor(t,e){super(t,e)}labelDeclaration(){return this.getRuleContext(0,CN)}get ruleIndex(){return cn.RULE_optionalLoopLabel}accept(t){return t.visitOptionalLoopLabel?t.visitOptionalLoopLabel(this):t.visitChildren(this)}},eC=class extends ga{constructor(t,e){super(t,e)}anyIdentifier(){return this.getRuleContext(0,aC)}get ruleIndex(){return cn.RULE_optionalLabel}accept(t){return t.visitOptionalLabel?t.visitOptionalLabel(this):t.visitChildren(this)}},sC=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(cn.WHEN,0)}expressionUntilSemi(){return this.getRuleContext(0,nC)}get ruleIndex(){return cn.RULE_optionalExitCondition}accept(t){return t.visitOptionalExitCondition?t.visitOptionalExitCondition(this):t.visitChildren(this)}},aC=class extends ga{constructor(t,e){super(t,e)}columnId(){return this.getRuleContext(0,$u)}plsqlUnreservedKeyword(){return this.getRuleContext(0,rC)}get ruleIndex(){return cn.RULE_anyIdentifier}accept(t){return t.visitAnyIdentifier?t.visitAnyIdentifier(this):t.visitChildren(this)}},rC=class extends ga{constructor(t,e){super(t,e)}ABSOLUTE_P(){return this.getToken(cn.ABSOLUTE_P,0)}ALIAS(){return this.getToken(cn.ALIAS,0)}AND(){return this.getToken(cn.AND,0)}ARRAY(){return this.getToken(cn.ARRAY,0)}ASSERT(){return this.getToken(cn.ASSERT,0)}BACKWARD(){return this.getToken(cn.BACKWARD,0)}CALL(){return this.getToken(cn.CALL,0)}CHAIN(){return this.getToken(cn.CHAIN,0)}CLOSE(){return this.getToken(cn.CLOSE,0)}COLLATE(){return this.getToken(cn.COLLATE,0)}COLUMN(){return this.getToken(cn.COLUMN,0)}COMMIT(){return this.getToken(cn.COMMIT,0)}CONSTANT(){return this.getToken(cn.CONSTANT,0)}CONSTRAINT(){return this.getToken(cn.CONSTRAINT,0)}CONTINUE_P(){return this.getToken(cn.CONTINUE_P,0)}CURRENT_P(){return this.getToken(cn.CURRENT_P,0)}CURSOR(){return this.getToken(cn.CURSOR,0)}DEBUG(){return this.getToken(cn.DEBUG,0)}DEFAULT(){return this.getToken(cn.DEFAULT,0)}DIAGNOSTICS(){return this.getToken(cn.DIAGNOSTICS,0)}DO(){return this.getToken(cn.DO,0)}DUMP(){return this.getToken(cn.DUMP,0)}ELSIF(){return this.getToken(cn.ELSIF,0)}ERROR(){return this.getToken(cn.ERROR,0)}EXCEPTION(){return this.getToken(cn.EXCEPTION,0)}EXIT(){return this.getToken(cn.EXIT,0)}FETCH(){return this.getToken(cn.FETCH,0)}FIRST_P(){return this.getToken(cn.FIRST_P,0)}FORWARD(){return this.getToken(cn.FORWARD,0)}GET(){return this.getToken(cn.GET,0)}INFO(){return this.getToken(cn.INFO,0)}INSERT(){return this.getToken(cn.INSERT,0)}IS(){return this.getToken(cn.IS,0)}LAST_P(){return this.getToken(cn.LAST_P,0)}MOVE(){return this.getToken(cn.MOVE,0)}NEXT(){return this.getToken(cn.NEXT,0)}NO(){return this.getToken(cn.NO,0)}NOTICE(){return this.getToken(cn.NOTICE,0)}OPEN(){return this.getToken(cn.OPEN,0)}OPTION(){return this.getToken(cn.OPTION,0)}PERFORM(){return this.getToken(cn.PERFORM,0)}PRINT_STRICT_PARAMS(){return this.getToken(cn.PRINT_STRICT_PARAMS,0)}PRIOR(){return this.getToken(cn.PRIOR,0)}QUERY(){return this.getToken(cn.QUERY,0)}RAISE(){return this.getToken(cn.RAISE,0)}RELATIVE_P(){return this.getToken(cn.RELATIVE_P,0)}RESET(){return this.getToken(cn.RESET,0)}RETURN(){return this.getToken(cn.RETURN,0)}ROLLBACK(){return this.getToken(cn.ROLLBACK,0)}ROWTYPE(){return this.getToken(cn.ROWTYPE,0)}SCHEMA(){return this.getToken(cn.SCHEMA,0)}SCROLL(){return this.getToken(cn.SCROLL,0)}SET(){return this.getToken(cn.SET,0)}SLICE(){return this.getToken(cn.SLICE,0)}SQLSTATE(){return this.getToken(cn.SQLSTATE,0)}STACKED(){return this.getToken(cn.STACKED,0)}TABLE(){return this.getToken(cn.TABLE,0)}TYPE_P(){return this.getToken(cn.TYPE_P,0)}USE_COLUMN(){return this.getToken(cn.USE_COLUMN,0)}USE_VARIABLE(){return this.getToken(cn.USE_VARIABLE,0)}VARIABLE_CONFLICT(){return this.getToken(cn.VARIABLE_CONFLICT,0)}WARNING(){return this.getToken(cn.WARNING,0)}OUTER_P(){return this.getToken(cn.OUTER_P,0)}get ruleIndex(){return cn.RULE_plsqlUnreservedKeyword}accept(t){return t.visitPlsqlUnreservedKeyword?t.visitPlsqlUnreservedKeyword(this):t.visitChildren(this)}},iC=class extends ga{constructor(t,e){super(t,e)}optionalTargetList(){return this.getRuleContext(0,Lu)}fromClause(){return this.getRuleContext(0,Vl)}whereClause(){return this.getRuleContext(0,EO)}groupClause(){return this.getRuleContext(0,Fl)}havingClause(){return this.getRuleContext(0,yl)}windowClause(){return this.getRuleContext(0,pI)}intoClause(){return this.getRuleContext(0,ll)}get ruleIndex(){return cn.RULE_sqlExpression}accept(t){return t.visitSqlExpression?t.visitSqlExpression(this):t.visitChildren(this)}},cC=class extends ga{constructor(t,e){super(t,e)}sqlExpression(){return this.getRuleContext(0,iC)}get ruleIndex(){return cn.RULE_expressionUntilThen}accept(t){return t.visitExpressionUntilThen?t.visitExpressionUntilThen(this):t.visitChildren(this)}},nC=class extends ga{constructor(t,e){super(t,e)}sqlExpression(){return this.getRuleContext(0,iC)}get ruleIndex(){return cn.RULE_expressionUntilSemi}accept(t){return t.visitExpressionUntilSemi?t.visitExpressionUntilSemi(this):t.visitChildren(this)}},hC=class extends ga{constructor(t,e){super(t,e)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_expressionUntilRightbracket}accept(t){return t.visitExpressionUntilRightbracket?t.visitExpressionUntilRightbracket(this):t.visitChildren(this)}},EC=class extends ga{constructor(t,e){super(t,e)}expression1(){return this.getRuleContext(0,wO)}get ruleIndex(){return cn.RULE_expressionUntilLoop}accept(t){return t.visitExpressionUntilLoop?t.visitExpressionUntilLoop(this):t.visitChildren(this)}},TC=class extends ga{constructor(t,e){super(t,e)}statement(){return this.getRuleContext(0,Tn)}optionalReturningClauseInto(){return this.getRuleContext(0,oC)}get ruleIndex(){return cn.RULE_makeExecuteSqlStatement}accept(t){return t.visitMakeExecuteSqlStatement?t.visitMakeExecuteSqlStatement(this):t.visitChildren(this)}},oC=class extends ga{constructor(t,e){super(t,e)}INTO(){return this.getToken(cn.INTO,0)}intoTarget(){return this.getRuleContext(0,BL)}STRICT_P(){return this.getToken(cn.STRICT_P,0)}get ruleIndex(){return cn.RULE_optionalReturningClauseInto}accept(t){return t.visitOptionalReturningClauseInto?t.visitOptionalReturningClauseInto(this):t.visitChildren(this)}},RC=class extends ga{constructor(t,e){super(t,e)}ROLE(){return this.getToken(cn.ROLE,0)}USER(){return this.getToken(cn.USER,0)}GROUP_P(){return this.getToken(cn.GROUP_P,0)}get ruleIndex(){return cn.RULE_roleOrAliases}accept(t){return t.visitRoleOrAliases?t.visitRoleOrAliases(this):t.visitChildren(this)}},AC=class extends Ii{},SC=/[\w]$/,lC=/\r\n|\n|\r/g;function OC(t,e){var s,a;let r=t.column,i=t.column+((null===(s=t.text)||void 0===s?void 0:s.length)||0),c=t.line;return{startColumn:r,startLine:c,endColumn:i,endLine:t.type===e&&t.text?c+((null===(a=t.text.match(lC))||void 0===a?void 0:a.length)||0):c}}function IC(t,e,s,a){let r=e.column-1;for(let i=0;ie.line||h===e.line&&E>r)return a?i:i>0&&h===e.line&&n===r&&SC.test(t.get(i-1).text||"")?i-1:t.get(i).type===s?i+1:i}}function uC(t,e){return t===e.startTokenIndex}var NC="(\\s|\r\n|\n|\r)+",LC=new RegExp("^(".concat(NC,")?explain").concat(NC,"$")),CC=new RegExp("^(".concat(NC,")?\\S+").concat(NC));function _C(t,e){let s=function(t,e){let s=t.split(lC),a=t.match(lC),r="";a&&(r=a[0]);let i=0;return s.reduce(((t,s,a)=>(e.line-1===a&&(i=t.length?t.length+e.column:e.column-1),0===a?s:t+r+s)),""),i}(t,e),a=function(t,e){let s=t.slice(0,e-1),a=t.slice(e-1),r=s.lastIndexOf(";"),i=a.indexOf(";"),c=r>-1?r+1:0,n=i>-1?i+s.length:t.length;return{statement:t.slice(c,n),cursorIndex:e-c}}(t,s),r=a.statement.slice(0,a.cursorIndex).toLowerCase();return!(0!==s&&r.match(CC)&&!r.match(LC))}function PC(t,e,s){let a=new t(Oi.fromString(s)),r=new e(new $i(a));return r.removeErrorListeners(),r}function MC(t,e,s){let a=e;for(;a-1;){let s=t.get(r);if(s.type===e.SEMICOLON)return;if(s.type===a)return s;r--}}function mC(t,e,s,a,r,i,c,n,h){let E=IC(i,c,a.SPACE,!0);if(!E)throw new Error("Could not find actualCursorTokenIndex at Ln ".concat(c.line,", Col ").concat(c.column));let T={},o=function(t,e,s){let a=t.get(t.size-1).start,r=e,i=!1;for(;r>=0&&r=0;){let e=t.get(r);if(e.type===s.SEMICOLON)return;if(e.type===s.ALTER&&!UC(t,s,r,s.ALTER))return{start:e.start,end:a,type:"alter"};if(e.type===s.INSERT)return{start:e.start,end:a,type:"insert"};if(e.type===s.UPDATE)return{start:e.start,end:a,type:"update"};r--}}(i,E,a);if(o){let a=r(PC(t,e,n.slice(o.start,o.end)),o.type);if(s.visit(a),h&&o.joinTableQueryPosition){let a=r(PC(t,e,n.slice(o.joinTableQueryPosition.start,o.joinTableQueryPosition.end)),"from");s.visit(a)}if(o.selectTableQueryPosition){let a=r(PC(t,e,n.slice(o.selectTableQueryPosition.start,o.selectTableQueryPosition.end)),"select");s.visit(a)}let i=jc(s);i.length&&(T.tableContextSuggestion={tables:i});let c=function(t){return t.symbolTable.getNestedSymbolsOfTypeSync(zc).map((t=>{let{name:e}=t;return{name:e}}))}(s);c.length&&(T.suggestColumnAliases=c.map((t=>{let{name:e}=t;return{name:e}})))}return T}var DC={SPACE:cn.Whitespace,FROM:cn.FROM,OPENING_BRACKET:cn.OPEN_PAREN,CLOSING_BRACKET:cn.CLOSE_PAREN,ALTER:cn.ALTER,INSERT:cn.INSERT,UPDATE:cn.UPDATE,JOIN:cn.JOIN,SEMICOLON:cn.SEMI,SELECT:cn.SELECT};var pC=new Set(function(){let t=[],e=cn.Dollar,s=cn.Operator;for(let i=e;i<=s;i++)i!==cn.STAR&&t.push(i);let a=cn.ABS,r=cn.AfterEscapeStringConstantWithNewlineMode_Continued;for(let i=a;i<=r;i++)t.push(i);return t.push(cn.EOF),t}()),gC=new Set([cn.RULE_columnId,cn.RULE_functionName,cn.RULE_functionExpressionCommonSubexpr,cn.RULE_indexName,cn.RULE_triggerName,cn.RULE_constraintName,cn.RULE_sequenceName,cn.RULE_schemaName,cn.RULE_databaseName,cn.RULE_roleName,cn.RULE_identifier,cn.RULE_plsqlVariableName,cn.RULE_constTypeName,cn.RULE_columnNameKeyword,cn.RULE_unreservedKeyword,cn.RULE_plsqlUnreservedKeyword,cn.RULE_typeFunctionNameKeyword,cn.RULE_reservedKeyword]),xC=class extends AC{constructor(){super(),this.visitRelationExpression=t=>{try{var e;this.symbolTable.addNewSymbolOfType(qc,this.scope,(null===(e=t.qualifiedName())||void 0===e?void 0:e.getText())||"")}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitTableReference=t=>{try{var e,s,a,r,i;this.symbolTable.addNewSymbolOfType(qc,this.scope,(null===(e=t.relationExpression())||void 0===e||null===(s=e.qualifiedName())||void 0===s?void 0:s.getText())||"",null===(a=t.optionalAliasClause())||void 0===a||null===(r=a.tableAliasClause())||void 0===r||null===(i=r.tableAlias())||void 0===i?void 0:i.getText())}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitInsertTarget=t=>{try{var e,s;this.symbolTable.addNewSymbolOfType(qc,this.scope,(null===(e=t.qualifiedName())||void 0===e?void 0:e.getText())||"",null===(s=t.columnId())||void 0===s?void 0:s.getText())}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitTarget_label=t=>{try{var e,s;let a=(null===(e=t.columnLabel())||void 0===e?void 0:e.getText())||(null===(s=t.identifier())||void 0===s?void 0:s.getText());a&&this.symbolTable.addNewSymbolOfType(zc,this.scope,a)}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitViewName=t=>{try{this.symbolTable.addNewSymbolOfType(qc,this.scope,t.getText())}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.symbolTable=new Zc("",{allowDuplicateSymbols:!0}),this.scope=this.symbolTable.addNewSymbolOfType(Bc,void 0)}};function kC(t,e){if(!e)return t.root();switch(e){case"from":return t.nonAnsiJoin();case"alter":return t.alterTableStatement();case"insert":return t.insertStatement();case"update":return t.updateStatement();case"select":return t.selectStatement()}}var HC={Lexer:an,Parser:cn,tokenDictionary:DC,ignoredTokens:pC,rulesToVisit:gC,getParseTree:kC,enrichAutocompleteResult:function(t,e,s,a,r,i){let{shouldSuggestColumns:c,shouldSuggestColumnAliases:n,shouldSuggestConstraints:h,...E}=function(t,e,s){let a,r=!1,i=!1,c=!1,n=!1,h=!1,E=!1,T=!1,o=!1,R=!1,A=!1,S=!1;for(let[l,O]of t)if(uC(e,O))switch(l){case cn.RULE_functionExpressionCommonSubexpr:case cn.RULE_functionName:i=!0,r=!0;break;case cn.RULE_columnId:{let t=O.ruleList.includes(cn.RULE_qualifiedName)&&(O.ruleList.includes(cn.RULE_insertTarget)||O.ruleList.includes(cn.RULE_relationExpression)),r=!O.ruleList.includes(cn.RULE_createStatement)&&(t||O.ruleList.includes(cn.RULE_functionTable));UC(s,DC,e,cn.VIEW)&&!UC(s,DC,e,cn.Identifier)&&(O.ruleList.includes(cn.RULE_alterTableStatement)||O.ruleList.includes(cn.RULE_refreshMaterializedViewStatement)||O.ruleList.includes(cn.RULE_renameStatement)||O.ruleList.includes(cn.RULE_alterObjectDependsStatement)||O.ruleList.includes(cn.RULE_alterObjectSchemaStatement)||O.ruleList.includes(cn.RULE_dropStatement))?a="VIEWS":UC(s,DC,e,cn.TABLE)&&(O.ruleList.includes(cn.RULE_dropStatement)||r)?a="TABLES":r?a="ALL":!O.ruleList.includes(cn.RULE_selectLimitValue)&&!O.ruleList.includes(cn.RULE_selectOffsetValue)&&(A=!0,(O.ruleList.includes(cn.RULE_groupByItem)||O.ruleList.includes(cn.RULE_sortBy))&&(S=!0));break}case cn.RULE_indexName:c=!0;break;case cn.RULE_triggerName:n=!0;break;case cn.RULE_constraintName:R=!0;break;case cn.RULE_sequenceName:h=!0;break;case cn.RULE_schemaName:E=!0;break;case cn.RULE_databaseName:T=!0;break;case cn.RULE_roleName:o=!0}return{suggestViewsOrTables:a,suggestAggregateFunctions:r,suggestFunctions:i,suggestIndexes:c,suggestTriggers:n,shouldSuggestConstraints:R,suggestSequences:h,suggestSchemas:E,suggestDatabases:T,suggestRoles:o,shouldSuggestColumns:A,shouldSuggestColumnAliases:S}}(e,a,s),T={...t,...E,suggestTemplates:_C(i,r)};if(c||h||n){let t=new xC,{tableContextSuggestion:e,suggestColumnAliases:a}=mC(an,cn,t,DC,kC,s,r,i,!0);c&&e&&(T.suggestColumns=e),h&&e&&(T.suggestConstraints=e),n&&a&&(T.suggestColumnAliases=a)}return T}},GC=(Ki=class t extends $r{constructor(e){super(e),this.interpreter=new hi(this,t._ATN,t.decisionsToDFA,new Si)}get grammarFileName(){return"MySqlLexer.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}get channelNames(){return t.channelNames}get modeNames(){return t.modeNames}static get _ATN(){return t.__ATN||(t.__ATN=(new fr).deserialize(t._serializedATN)),t.__ATN}get vocabulary(){return t.vocabulary}},Ki.SPACE=1,Ki.SPEC_MYSQL_COMMENT=2,Ki.COMMENT_INPUT=3,Ki.LINE_COMMENT=4,Ki.ADD=5,Ki.ALL=6,Ki.ALTER=7,Ki.ALWAYS=8,Ki.ANALYZE=9,Ki.AND=10,Ki.ARRAY=11,Ki.AS=12,Ki.ASC=13,Ki.ATTRIBUTE=14,Ki.BEFORE=15,Ki.BETWEEN=16,Ki.BOTH=17,Ki.BUCKETS=18,Ki.BY=19,Ki.CALL=20,Ki.CASCADE=21,Ki.CASE=22,Ki.CAST=23,Ki.CHANGE=24,Ki.CHARACTER=25,Ki.CHECK=26,Ki.COLLATE=27,Ki.COLUMN=28,Ki.CONDITION=29,Ki.CONSTRAINT=30,Ki.CONTINUE=31,Ki.CONVERT=32,Ki.CREATE=33,Ki.CROSS=34,Ki.CURRENT=35,Ki.CURRENT_ROLE=36,Ki.CURRENT_USER=37,Ki.CURSOR=38,Ki.DATABASE=39,Ki.DATABASES=40,Ki.DECLARE=41,Ki.DEFAULT=42,Ki.DELAYED=43,Ki.DELETE=44,Ki.DESC=45,Ki.DESCRIBE=46,Ki.DETERMINISTIC=47,Ki.DIAGNOSTICS=48,Ki.DISTINCT=49,Ki.DISTINCTROW=50,Ki.DROP=51,Ki.EACH=52,Ki.ELSE=53,Ki.ELSEIF=54,Ki.EMPTY=55,Ki.ENCLOSED=56,Ki.ENFORCED=57,Ki.ESCAPED=58,Ki.EXCEPT=59,Ki.EXISTS=60,Ki.EXIT=61,Ki.EXPLAIN=62,Ki.FALSE=63,Ki.FETCH=64,Ki.FOR=65,Ki.FORCE=66,Ki.FOREIGN=67,Ki.FROM=68,Ki.FULLTEXT=69,Ki.GENERATED=70,Ki.GET=71,Ki.GRANT=72,Ki.GROUP=73,Ki.HAVING=74,Ki.HIGH_PRIORITY=75,Ki.HISTOGRAM=76,Ki.IF=77,Ki.IGNORE=78,Ki.IGNORED=79,Ki.IN=80,Ki.INDEX=81,Ki.INFILE=82,Ki.INNER=83,Ki.INOUT=84,Ki.INSERT=85,Ki.INTERVAL=86,Ki.INTO=87,Ki.IS=88,Ki.ITERATE=89,Ki.JOIN=90,Ki.KEY=91,Ki.KEYS=92,Ki.KILL=93,Ki.LATERAL=94,Ki.LEADING=95,Ki.LEAVE=96,Ki.LEFT=97,Ki.LIKE=98,Ki.LIMIT=99,Ki.LINEAR=100,Ki.LINES=101,Ki.LOAD=102,Ki.LOCK=103,Ki.LOCKED=104,Ki.LOOP=105,Ki.LOW_PRIORITY=106,Ki.MASTER_BIND=107,Ki.MASTER_SSL_VERIFY_SERVER_CERT=108,Ki.MATCH=109,Ki.MAXVALUE=110,Ki.MINVALUE=111,Ki.MODIFIES=112,Ki.NATURAL=113,Ki.NOT=114,Ki.NO_WRITE_TO_BINLOG=115,Ki.NULL_LITERAL=116,Ki.NUMBER=117,Ki.ON=118,Ki.OPTIMIZE=119,Ki.OPTION=120,Ki.OPTIONAL=121,Ki.OPTIONALLY=122,Ki.OR=123,Ki.ORDER=124,Ki.OUT=125,Ki.OUTER=126,Ki.OUTFILE=127,Ki.OVER=128,Ki.PARTITION=129,Ki.PRIMARY=130,Ki.PROCEDURE=131,Ki.PURGE=132,Ki.RANGE=133,Ki.READ=134,Ki.READS=135,Ki.REFERENCES=136,Ki.REGEXP=137,Ki.RELEASE=138,Ki.RENAME=139,Ki.REPEAT=140,Ki.REPLACE=141,Ki.REQUIRE=142,Ki.RESIGNAL=143,Ki.RESTRICT=144,Ki.RETAIN=145,Ki.RETURN=146,Ki.REVOKE=147,Ki.RIGHT=148,Ki.RLIKE=149,Ki.SCHEMA=150,Ki.SCHEMAS=151,Ki.SELECT=152,Ki.SET=153,Ki.SEPARATOR=154,Ki.SHOW=155,Ki.SIGNAL=156,Ki.SKIP_=157,Ki.SKIP_QUERY_REWRITE=158,Ki.SPATIAL=159,Ki.SQL=160,Ki.SQLEXCEPTION=161,Ki.SQLSTATE=162,Ki.SQLWARNING=163,Ki.SQL_BIG_RESULT=164,Ki.SQL_CALC_FOUND_ROWS=165,Ki.SQL_SMALL_RESULT=166,Ki.SSL=167,Ki.STACKED=168,Ki.STARTING=169,Ki.STATEMENT=170,Ki.STRAIGHT_JOIN=171,Ki.TABLE=172,Ki.TERMINATED=173,Ki.THEN=174,Ki.TO=175,Ki.TRAILING=176,Ki.TRIGGER=177,Ki.TRUE=178,Ki.UNDO=179,Ki.UNION=180,Ki.UNIQUE=181,Ki.UNLOCK=182,Ki.UNSIGNED=183,Ki.UPDATE=184,Ki.USAGE=185,Ki.USE=186,Ki.USING=187,Ki.VALUES=188,Ki.WHEN=189,Ki.WHERE=190,Ki.WHILE=191,Ki.WITH=192,Ki.WRITE=193,Ki.XOR=194,Ki.ZEROFILL=195,Ki.TINYINT=196,Ki.SMALLINT=197,Ki.MEDIUMINT=198,Ki.MIDDLEINT=199,Ki.INT=200,Ki.INT1=201,Ki.INT2=202,Ki.INT3=203,Ki.INT4=204,Ki.INT8=205,Ki.INTEGER=206,Ki.BIGINT=207,Ki.REAL=208,Ki.DOUBLE=209,Ki.PRECISION=210,Ki.FLOAT=211,Ki.FLOAT4=212,Ki.FLOAT8=213,Ki.DECIMAL=214,Ki.DEC=215,Ki.NUMERIC=216,Ki.DATE=217,Ki.TIME=218,Ki.TIMESTAMP=219,Ki.DATETIME=220,Ki.YEAR=221,Ki.CHAR=222,Ki.VARCHAR=223,Ki.NVARCHAR=224,Ki.NATIONAL=225,Ki.BINARY=226,Ki.VARBINARY=227,Ki.TINYBLOB=228,Ki.BLOB=229,Ki.MEDIUMBLOB=230,Ki.LONG=231,Ki.LONGBLOB=232,Ki.TINYTEXT=233,Ki.TEXT=234,Ki.MEDIUMTEXT=235,Ki.LONGTEXT=236,Ki.ENUM=237,Ki.VARYING=238,Ki.SERIAL=239,Ki.YEAR_MONTH=240,Ki.DAY_HOUR=241,Ki.DAY_MINUTE=242,Ki.DAY_SECOND=243,Ki.HOUR_MINUTE=244,Ki.HOUR_SECOND=245,Ki.MINUTE_SECOND=246,Ki.SECOND_MICROSECOND=247,Ki.MINUTE_MICROSECOND=248,Ki.HOUR_MICROSECOND=249,Ki.DAY_MICROSECOND=250,Ki.JSON_ARRAY=251,Ki.JSON_ARRAYAGG=252,Ki.JSON_ARRAY_APPEND=253,Ki.JSON_ARRAY_INSERT=254,Ki.JSON_CONTAINS=255,Ki.JSON_CONTAINS_PATH=256,Ki.JSON_DEPTH=257,Ki.JSON_EXTRACT=258,Ki.JSON_INSERT=259,Ki.JSON_KEYS=260,Ki.JSON_LENGTH=261,Ki.JSON_MERGE=262,Ki.JSON_MERGE_PATCH=263,Ki.JSON_MERGE_PRESERVE=264,Ki.JSON_OBJECT=265,Ki.JSON_OBJECTAGG=266,Ki.JSON_OVERLAPS=267,Ki.JSON_PRETTY=268,Ki.JSON_QUOTE=269,Ki.JSON_REMOVE=270,Ki.JSON_REPLACE=271,Ki.JSON_SCHEMA_VALID=272,Ki.JSON_SCHEMA_VALIDATION_REPORT=273,Ki.JSON_SEARCH=274,Ki.JSON_SET=275,Ki.JSON_STORAGE_FREE=276,Ki.JSON_STORAGE_SIZE=277,Ki.JSON_TABLE=278,Ki.JSON_TYPE=279,Ki.JSON_UNQUOTE=280,Ki.JSON_VALID=281,Ki.JSON_VALUE=282,Ki.NESTED=283,Ki.ORDINALITY=284,Ki.PATH=285,Ki.AVG=286,Ki.BIT_AND=287,Ki.BIT_OR=288,Ki.BIT_XOR=289,Ki.COUNT=290,Ki.CUME_DIST=291,Ki.DENSE_RANK=292,Ki.FIRST_VALUE=293,Ki.GROUP_CONCAT=294,Ki.LAG=295,Ki.LAST_VALUE=296,Ki.LEAD=297,Ki.MAX=298,Ki.MIN=299,Ki.NTILE=300,Ki.NTH_VALUE=301,Ki.PERCENT_RANK=302,Ki.RANK=303,Ki.ROW_NUMBER=304,Ki.STD=305,Ki.STDDEV=306,Ki.STDDEV_POP=307,Ki.STDDEV_SAMP=308,Ki.SUM=309,Ki.VAR_POP=310,Ki.VAR_SAMP=311,Ki.VARIANCE=312,Ki.CURRENT_DATE=313,Ki.CURRENT_TIME=314,Ki.CURRENT_TIMESTAMP=315,Ki.LOCALTIME=316,Ki.CURDATE=317,Ki.CURTIME=318,Ki.DATE_ADD=319,Ki.DATE_SUB=320,Ki.EXTRACT=321,Ki.LOCALTIMESTAMP=322,Ki.NOW=323,Ki.POSITION=324,Ki.SUBSTR=325,Ki.SUBSTRING=326,Ki.SYSDATE=327,Ki.TRIM=328,Ki.UTC_DATE=329,Ki.UTC_TIME=330,Ki.UTC_TIMESTAMP=331,Ki.ACCOUNT=332,Ki.ACTION=333,Ki.AFTER=334,Ki.AGGREGATE=335,Ki.ALGORITHM=336,Ki.ANY=337,Ki.AT=338,Ki.AUTHORS=339,Ki.AUTOCOMMIT=340,Ki.AUTOEXTEND_SIZE=341,Ki.AUTO_INCREMENT=342,Ki.AVG_ROW_LENGTH=343,Ki.BEGIN=344,Ki.BINLOG=345,Ki.BIT=346,Ki.BLOCK=347,Ki.BOOL=348,Ki.BOOLEAN=349,Ki.BTREE=350,Ki.CACHE=351,Ki.CASCADED=352,Ki.CHAIN=353,Ki.CHANGED=354,Ki.CHANNEL=355,Ki.CHECKSUM=356,Ki.PAGE_CHECKSUM=357,Ki.CIPHER=358,Ki.CLASS_ORIGIN=359,Ki.CLIENT=360,Ki.CLOSE=361,Ki.CLUSTERING=362,Ki.COALESCE=363,Ki.CODE=364,Ki.COLUMNS=365,Ki.COLUMN_FORMAT=366,Ki.COLUMN_NAME=367,Ki.COMMENT=368,Ki.COMMIT=369,Ki.COMPACT=370,Ki.COMPLETION=371,Ki.COMPRESSED=372,Ki.COMPRESSION=373,Ki.CONCURRENT=374,Ki.CONNECT=375,Ki.CONNECTION=376,Ki.CONSISTENT=377,Ki.CONSTRAINT_CATALOG=378,Ki.CONSTRAINT_SCHEMA=379,Ki.CONSTRAINT_NAME=380,Ki.CONTAINS=381,Ki.CONTEXT=382,Ki.CONTRIBUTORS=383,Ki.COPY=384,Ki.CPU=385,Ki.CYCLE=386,Ki.CURSOR_NAME=387,Ki.DATA=388,Ki.DATAFILE=389,Ki.DEALLOCATE=390,Ki.DEFAULT_AUTH=391,Ki.DEFINER=392,Ki.DELAY_KEY_WRITE=393,Ki.DES_KEY_FILE=394,Ki.DIRECTORY=395,Ki.DISABLE=396,Ki.DISCARD=397,Ki.DISK=398,Ki.DO=399,Ki.DUMPFILE=400,Ki.DUPLICATE=401,Ki.DYNAMIC=402,Ki.ENABLE=403,Ki.ENCRYPTED=404,Ki.ENCRYPTION=405,Ki.ENCRYPTION_KEY_ID=406,Ki.END=407,Ki.ENDS=408,Ki.ENGINE=409,Ki.ENGINES=410,Ki.ERROR=411,Ki.ERRORS=412,Ki.ESCAPE=413,Ki.EVEN=414,Ki.EVENT=415,Ki.EVENTS=416,Ki.EVERY=417,Ki.EXCHANGE=418,Ki.EXCLUSIVE=419,Ki.EXPIRE=420,Ki.EXPORT=421,Ki.EXTENDED=422,Ki.EXTENT_SIZE=423,Ki.FAILED_LOGIN_ATTEMPTS=424,Ki.FAST=425,Ki.FAULTS=426,Ki.FIELDS=427,Ki.FILE_BLOCK_SIZE=428,Ki.FILTER=429,Ki.FIRST=430,Ki.FIXED=431,Ki.FLUSH=432,Ki.FOLLOWING=433,Ki.FOLLOWS=434,Ki.FOUND=435,Ki.FULL=436,Ki.FUNCTION=437,Ki.GENERAL=438,Ki.GLOBAL=439,Ki.GRANTS=440,Ki.GROUP_REPLICATION=441,Ki.HANDLER=442,Ki.HASH=443,Ki.HELP=444,Ki.HISTORY=445,Ki.HOST=446,Ki.HOSTS=447,Ki.IDENTIFIED=448,Ki.IGNORE_SERVER_IDS=449,Ki.IMPORT=450,Ki.INCREMENT=451,Ki.INDEXES=452,Ki.INITIAL_SIZE=453,Ki.INPLACE=454,Ki.INSERT_METHOD=455,Ki.INSTALL=456,Ki.INSTANCE=457,Ki.INSTANT=458,Ki.INVISIBLE=459,Ki.INVOKER=460,Ki.IO=461,Ki.IO_THREAD=462,Ki.IPC=463,Ki.ISOLATION=464,Ki.ISSUER=465,Ki.JSON=466,Ki.KEY_BLOCK_SIZE=467,Ki.LANGUAGE=468,Ki.LAST=469,Ki.LEAVES=470,Ki.LESS=471,Ki.LEVEL=472,Ki.LIST=473,Ki.LOCAL=474,Ki.LOGFILE=475,Ki.LOGS=476,Ki.MASTER=477,Ki.MASTER_AUTO_POSITION=478,Ki.MASTER_CONNECT_RETRY=479,Ki.MASTER_DELAY=480,Ki.MASTER_HEARTBEAT_PERIOD=481,Ki.MASTER_HOST=482,Ki.MASTER_LOG_FILE=483,Ki.MASTER_LOG_POS=484,Ki.MASTER_PASSWORD=485,Ki.MASTER_PORT=486,Ki.MASTER_RETRY_COUNT=487,Ki.MASTER_SSL=488,Ki.MASTER_SSL_CA=489,Ki.MASTER_SSL_CAPATH=490,Ki.MASTER_SSL_CERT=491,Ki.MASTER_SSL_CIPHER=492,Ki.MASTER_SSL_CRL=493,Ki.MASTER_SSL_CRLPATH=494,Ki.MASTER_SSL_KEY=495,Ki.MASTER_TLS_VERSION=496,Ki.MASTER_USER=497,Ki.MAX_CONNECTIONS_PER_HOUR=498,Ki.MAX_QUERIES_PER_HOUR=499,Ki.MAX_ROWS=500,Ki.MAX_SIZE=501,Ki.MAX_UPDATES_PER_HOUR=502,Ki.MAX_USER_CONNECTIONS=503,Ki.MEDIUM=504,Ki.MEMBER=505,Ki.MERGE=506,Ki.MESSAGE_TEXT=507,Ki.MID=508,Ki.MIGRATE=509,Ki.MIN_ROWS=510,Ki.MODE=511,Ki.MODIFY=512,Ki.MUTEX=513,Ki.MYSQL=514,Ki.MYSQL_ERRNO=515,Ki.NAME=516,Ki.NAMES=517,Ki.NCHAR=518,Ki.NEVER=519,Ki.NEXT=520,Ki.NO=521,Ki.NOCACHE=522,Ki.NOCOPY=523,Ki.NOCYCLE=524,Ki.NOMAXVALUE=525,Ki.NOMINVALUE=526,Ki.NOWAIT=527,Ki.NODEGROUP=528,Ki.NONE=529,Ki.ODBC=530,Ki.OFFLINE=531,Ki.OFFSET=532,Ki.OF=533,Ki.OJ=534,Ki.OLD_PASSWORD=535,Ki.ONE=536,Ki.ONLINE=537,Ki.ONLY=538,Ki.OPEN=539,Ki.OPTIMIZER_COSTS=540,Ki.OPTIONS=541,Ki.OWNER=542,Ki.PACK_KEYS=543,Ki.PAGE=544,Ki.PAGE_COMPRESSED=545,Ki.PAGE_COMPRESSION_LEVEL=546,Ki.PARSER=547,Ki.PARTIAL=548,Ki.PARTITIONING=549,Ki.PARTITIONS=550,Ki.PASSWORD=551,Ki.PASSWORD_LOCK_TIME=552,Ki.PHASE=553,Ki.PLUGIN=554,Ki.PLUGIN_DIR=555,Ki.PLUGINS=556,Ki.PORT=557,Ki.PRECEDES=558,Ki.PRECEDING=559,Ki.PREPARE=560,Ki.PRESERVE=561,Ki.PREV=562,Ki.PROCESSLIST=563,Ki.PROFILE=564,Ki.PROFILES=565,Ki.PROXY=566,Ki.QUERY=567,Ki.QUICK=568,Ki.REBUILD=569,Ki.RECOVER=570,Ki.RECURSIVE=571,Ki.REDO_BUFFER_SIZE=572,Ki.REDUNDANT=573,Ki.RELAY=574,Ki.RELAY_LOG_FILE=575,Ki.RELAY_LOG_POS=576,Ki.RELAYLOG=577,Ki.REMOVE=578,Ki.REORGANIZE=579,Ki.REPAIR=580,Ki.REPLICATE_DO_DB=581,Ki.REPLICATE_DO_TABLE=582,Ki.REPLICATE_IGNORE_DB=583,Ki.REPLICATE_IGNORE_TABLE=584,Ki.REPLICATE_REWRITE_DB=585,Ki.REPLICATE_WILD_DO_TABLE=586,Ki.REPLICATE_WILD_IGNORE_TABLE=587,Ki.REPLICATION=588,Ki.RESET=589,Ki.RESTART=590,Ki.RESUME=591,Ki.RETURNED_SQLSTATE=592,Ki.RETURNING=593,Ki.RETURNS=594,Ki.REUSE=595,Ki.ROLE=596,Ki.ROLLBACK=597,Ki.ROLLUP=598,Ki.ROTATE=599,Ki.ROW=600,Ki.ROWS=601,Ki.ROW_FORMAT=602,Ki.RTREE=603,Ki.SAVEPOINT=604,Ki.SCHEDULE=605,Ki.SECURITY=606,Ki.SEQUENCE=607,Ki.SERVER=608,Ki.SESSION=609,Ki.SHARE=610,Ki.SHARED=611,Ki.SIGNED=612,Ki.SIMPLE=613,Ki.SLAVE=614,Ki.SLOW=615,Ki.SNAPSHOT=616,Ki.SOCKET=617,Ki.SOME=618,Ki.SONAME=619,Ki.SOUNDS=620,Ki.SOURCE=621,Ki.SQL_AFTER_GTIDS=622,Ki.SQL_AFTER_MTS_GAPS=623,Ki.SQL_BEFORE_GTIDS=624,Ki.SQL_BUFFER_RESULT=625,Ki.SQL_CACHE=626,Ki.SQL_NO_CACHE=627,Ki.SQL_THREAD=628,Ki.START=629,Ki.STARTS=630,Ki.STATS_AUTO_RECALC=631,Ki.STATS_PERSISTENT=632,Ki.STATS_SAMPLE_PAGES=633,Ki.STATUS=634,Ki.STOP=635,Ki.STORAGE=636,Ki.STORED=637,Ki.STRING=638,Ki.SUBCLASS_ORIGIN=639,Ki.SUBJECT=640,Ki.SUBPARTITION=641,Ki.SUBPARTITIONS=642,Ki.SUSPEND=643,Ki.SWAPS=644,Ki.SWITCHES=645,Ki.TABLE_NAME=646,Ki.TABLESPACE=647,Ki.TABLE_TYPE=648,Ki.TEMPORARY=649,Ki.TEMPTABLE=650,Ki.THAN=651,Ki.TRADITIONAL=652,Ki.TRANSACTION=653,Ki.TRANSACTIONAL=654,Ki.TRIGGERS=655,Ki.TRUNCATE=656,Ki.UNBOUNDED=657,Ki.UNDEFINED=658,Ki.UNDOFILE=659,Ki.UNDO_BUFFER_SIZE=660,Ki.UNINSTALL=661,Ki.UNKNOWN=662,Ki.UNTIL=663,Ki.UPGRADE=664,Ki.USER=665,Ki.USE_FRM=666,Ki.USER_RESOURCES=667,Ki.VALIDATION=668,Ki.VALUE=669,Ki.VARIABLES=670,Ki.VIEW=671,Ki.VIRTUAL=672,Ki.VISIBLE=673,Ki.WAIT=674,Ki.WARNINGS=675,Ki.WINDOW=676,Ki.WITHOUT=677,Ki.WORK=678,Ki.WRAPPER=679,Ki.X509=680,Ki.XA=681,Ki.XML=682,Ki.YES=683,Ki.EUR=684,Ki.USA=685,Ki.JIS=686,Ki.ISO=687,Ki.INTERNAL=688,Ki.QUARTER=689,Ki.MONTH=690,Ki.DAY=691,Ki.HOUR=692,Ki.MINUTE=693,Ki.WEEK=694,Ki.SECOND=695,Ki.MICROSECOND=696,Ki.ADMIN=697,Ki.APPLICATION_PASSWORD_ADMIN=698,Ki.AUDIT_ABORT_EXEMPT=699,Ki.AUDIT_ADMIN=700,Ki.AUTHENTICATION_POLICY_ADMIN=701,Ki.BACKUP_ADMIN=702,Ki.BINLOG_ADMIN=703,Ki.BINLOG_ENCRYPTION_ADMIN=704,Ki.CLONE_ADMIN=705,Ki.CONNECTION_ADMIN=706,Ki.ENCRYPTION_KEY_ADMIN=707,Ki.EXECUTE=708,Ki.FILE=709,Ki.FIREWALL_ADMIN=710,Ki.FIREWALL_EXEMPT=711,Ki.FIREWALL_USER=712,Ki.FLUSH_OPTIMIZER_COSTS=713,Ki.FLUSH_STATUS=714,Ki.FLUSH_TABLES=715,Ki.FLUSH_USER_RESOURCES=716,Ki.GROUP_REPLICATION_ADMIN=717,Ki.INNODB_REDO_LOG_ARCHIVE=718,Ki.INNODB_REDO_LOG_ENABLE=719,Ki.INVOKE=720,Ki.LAMBDA=721,Ki.NDB_STORED_USER=722,Ki.PASSWORDLESS_USER_ADMIN=723,Ki.PERSIST_RO_VARIABLES_ADMIN=724,Ki.PRIVILEGES=725,Ki.PROCESS=726,Ki.RELOAD=727,Ki.REPLICATION_APPLIER=728,Ki.REPLICATION_SLAVE_ADMIN=729,Ki.RESOURCE_GROUP_ADMIN=730,Ki.RESOURCE_GROUP_USER=731,Ki.ROLE_ADMIN=732,Ki.ROUTINE=733,Ki.S3=734,Ki.SERVICE_CONNECTION_ADMIN=735,Ki.SESSION_VARIABLES_ADMIN=736,Ki.SET_USER_ID=737,Ki.SHOW_ROUTINE=738,Ki.SHUTDOWN=739,Ki.SUPER=740,Ki.SYSTEM_VARIABLES_ADMIN=741,Ki.TABLES=742,Ki.TABLE_ENCRYPTION_ADMIN=743,Ki.VERSION_TOKEN_ADMIN=744,Ki.XA_RECOVER_ADMIN=745,Ki.ARMSCII8=746,Ki.ASCII=747,Ki.BIG5=748,Ki.CP1250=749,Ki.CP1251=750,Ki.CP1256=751,Ki.CP1257=752,Ki.CP850=753,Ki.CP852=754,Ki.CP866=755,Ki.CP932=756,Ki.DEC8=757,Ki.EUCJPMS=758,Ki.EUCKR=759,Ki.GB18030=760,Ki.GB2312=761,Ki.GBK=762,Ki.GEOSTD8=763,Ki.GREEK=764,Ki.HEBREW=765,Ki.HP8=766,Ki.KEYBCS2=767,Ki.KOI8R=768,Ki.KOI8U=769,Ki.LATIN1=770,Ki.LATIN2=771,Ki.LATIN5=772,Ki.LATIN7=773,Ki.MACCE=774,Ki.MACROMAN=775,Ki.SJIS=776,Ki.SWE7=777,Ki.TIS620=778,Ki.UCS2=779,Ki.UJIS=780,Ki.UTF16=781,Ki.UTF16LE=782,Ki.UTF32=783,Ki.UTF8=784,Ki.UTF8MB3=785,Ki.UTF8MB4=786,Ki.ARCHIVE=787,Ki.BLACKHOLE=788,Ki.CSV=789,Ki.FEDERATED=790,Ki.INNODB=791,Ki.MEMORY=792,Ki.MRG_MYISAM=793,Ki.MYISAM=794,Ki.NDB=795,Ki.NDBCLUSTER=796,Ki.PERFORMANCE_SCHEMA=797,Ki.TOKUDB=798,Ki.REPEATABLE=799,Ki.COMMITTED=800,Ki.UNCOMMITTED=801,Ki.SERIALIZABLE=802,Ki.GEOMETRYCOLLECTION=803,Ki.GEOMCOLLECTION=804,Ki.GEOMETRY=805,Ki.LINESTRING=806,Ki.MULTILINESTRING=807,Ki.MULTIPOINT=808,Ki.MULTIPOLYGON=809,Ki.POINT=810,Ki.POLYGON=811,Ki.ABS=812,Ki.ACOS=813,Ki.ADDDATE=814,Ki.ADDTIME=815,Ki.AES_DECRYPT=816,Ki.AES_ENCRYPT=817,Ki.AREA=818,Ki.ASBINARY=819,Ki.ASIN=820,Ki.ASTEXT=821,Ki.ASWKB=822,Ki.ASWKT=823,Ki.ASYMMETRIC_DECRYPT=824,Ki.ASYMMETRIC_DERIVE=825,Ki.ASYMMETRIC_ENCRYPT=826,Ki.ASYMMETRIC_SIGN=827,Ki.ASYMMETRIC_VERIFY=828,Ki.ATAN=829,Ki.ATAN2=830,Ki.BENCHMARK=831,Ki.BIN=832,Ki.BIT_COUNT=833,Ki.BIT_LENGTH=834,Ki.BUFFER=835,Ki.CATALOG_NAME=836,Ki.CEIL=837,Ki.CEILING=838,Ki.CENTROID=839,Ki.CHARACTER_LENGTH=840,Ki.CHARSET=841,Ki.CHAR_LENGTH=842,Ki.COERCIBILITY=843,Ki.COLLATION=844,Ki.COMPRESS=845,Ki.CONCAT=846,Ki.CONCAT_WS=847,Ki.CONNECTION_ID=848,Ki.CONV=849,Ki.CONVERT_TZ=850,Ki.COS=851,Ki.COT=852,Ki.CRC32=853,Ki.CREATE_ASYMMETRIC_PRIV_KEY=854,Ki.CREATE_ASYMMETRIC_PUB_KEY=855,Ki.CREATE_DH_PARAMETERS=856,Ki.CREATE_DIGEST=857,Ki.CROSSES=858,Ki.DATEDIFF=859,Ki.DATE_FORMAT=860,Ki.DAYNAME=861,Ki.DAYOFMONTH=862,Ki.DAYOFWEEK=863,Ki.DAYOFYEAR=864,Ki.DECODE=865,Ki.DEGREES=866,Ki.DES_DECRYPT=867,Ki.DES_ENCRYPT=868,Ki.DIMENSION=869,Ki.DISJOINT=870,Ki.ELT=871,Ki.ENCODE=872,Ki.ENCRYPT=873,Ki.ENDPOINT=874,Ki.ENGINE_ATTRIBUTE=875,Ki.ENVELOPE=876,Ki.EQUALS=877,Ki.EXP=878,Ki.EXPORT_SET=879,Ki.EXTERIORRING=880,Ki.EXTRACTVALUE=881,Ki.FIELD=882,Ki.FIND_IN_SET=883,Ki.FLOOR=884,Ki.FORMAT=885,Ki.FOUND_ROWS=886,Ki.FROM_BASE64=887,Ki.FROM_DAYS=888,Ki.FROM_UNIXTIME=889,Ki.GEOMCOLLFROMTEXT=890,Ki.GEOMCOLLFROMWKB=891,Ki.GEOMETRYCOLLECTIONFROMTEXT=892,Ki.GEOMETRYCOLLECTIONFROMWKB=893,Ki.GEOMETRYFROMTEXT=894,Ki.GEOMETRYFROMWKB=895,Ki.GEOMETRYN=896,Ki.GEOMETRYTYPE=897,Ki.GEOMFROMTEXT=898,Ki.GEOMFROMWKB=899,Ki.GET_FORMAT=900,Ki.GET_LOCK=901,Ki.GLENGTH=902,Ki.GREATEST=903,Ki.GTID_SUBSET=904,Ki.GTID_SUBTRACT=905,Ki.HEX=906,Ki.IFNULL=907,Ki.INET6_ATON=908,Ki.INET6_NTOA=909,Ki.INET_ATON=910,Ki.INET_NTOA=911,Ki.INSTR=912,Ki.INTERIORRINGN=913,Ki.INTERSECTS=914,Ki.ISCLOSED=915,Ki.ISEMPTY=916,Ki.ISNULL=917,Ki.ISSIMPLE=918,Ki.IS_FREE_LOCK=919,Ki.IS_IPV4=920,Ki.IS_IPV4_COMPAT=921,Ki.IS_IPV4_MAPPED=922,Ki.IS_IPV6=923,Ki.IS_USED_LOCK=924,Ki.LAST_INSERT_ID=925,Ki.LCASE=926,Ki.LEAST=927,Ki.LENGTH=928,Ki.LINEFROMTEXT=929,Ki.LINEFROMWKB=930,Ki.LINESTRINGFROMTEXT=931,Ki.LINESTRINGFROMWKB=932,Ki.LN=933,Ki.LOAD_FILE=934,Ki.LOCATE=935,Ki.LOG=936,Ki.LOG10=937,Ki.LOG2=938,Ki.LOWER=939,Ki.LPAD=940,Ki.LTRIM=941,Ki.MAKEDATE=942,Ki.MAKETIME=943,Ki.MAKE_SET=944,Ki.MASTER_POS_WAIT=945,Ki.MBRCONTAINS=946,Ki.MBRDISJOINT=947,Ki.MBREQUAL=948,Ki.MBRINTERSECTS=949,Ki.MBROVERLAPS=950,Ki.MBRTOUCHES=951,Ki.MBRWITHIN=952,Ki.MD5=953,Ki.MLINEFROMTEXT=954,Ki.MLINEFROMWKB=955,Ki.MONTHNAME=956,Ki.MPOINTFROMTEXT=957,Ki.MPOINTFROMWKB=958,Ki.MPOLYFROMTEXT=959,Ki.MPOLYFROMWKB=960,Ki.MULTILINESTRINGFROMTEXT=961,Ki.MULTILINESTRINGFROMWKB=962,Ki.MULTIPOINTFROMTEXT=963,Ki.MULTIPOINTFROMWKB=964,Ki.MULTIPOLYGONFROMTEXT=965,Ki.MULTIPOLYGONFROMWKB=966,Ki.NAME_CONST=967,Ki.NULLIF=968,Ki.NUMGEOMETRIES=969,Ki.NUMINTERIORRINGS=970,Ki.NUMPOINTS=971,Ki.OCT=972,Ki.OCTET_LENGTH=973,Ki.ORD=974,Ki.OVERLAPS=975,Ki.PERIOD_ADD=976,Ki.PERIOD_DIFF=977,Ki.PI=978,Ki.POINTFROMTEXT=979,Ki.POINTFROMWKB=980,Ki.POINTN=981,Ki.POLYFROMTEXT=982,Ki.POLYFROMWKB=983,Ki.POLYGONFROMTEXT=984,Ki.POLYGONFROMWKB=985,Ki.POW=986,Ki.POWER=987,Ki.QUOTE=988,Ki.RADIANS=989,Ki.RAND=990,Ki.RANDOM=991,Ki.RANDOM_BYTES=992,Ki.RELEASE_LOCK=993,Ki.REVERSE=994,Ki.ROUND=995,Ki.ROW_COUNT=996,Ki.RPAD=997,Ki.RTRIM=998,Ki.SEC_TO_TIME=999,Ki.SECONDARY_ENGINE_ATTRIBUTE=1e3,Ki.SESSION_USER=1001,Ki.SHA=1002,Ki.SHA1=1003,Ki.SHA2=1004,Ki.SCHEMA_NAME=1005,Ki.SIGN=1006,Ki.SIN=1007,Ki.SLEEP=1008,Ki.SOUNDEX=1009,Ki.SQL_THREAD_WAIT_AFTER_GTIDS=1010,Ki.SQRT=1011,Ki.SRID=1012,Ki.STARTPOINT=1013,Ki.STRCMP=1014,Ki.STR_TO_DATE=1015,Ki.ST_AREA=1016,Ki.ST_ASBINARY=1017,Ki.ST_ASTEXT=1018,Ki.ST_ASWKB=1019,Ki.ST_ASWKT=1020,Ki.ST_BUFFER=1021,Ki.ST_CENTROID=1022,Ki.ST_CONTAINS=1023,Ki.ST_CROSSES=1024,Ki.ST_DIFFERENCE=1025,Ki.ST_DIMENSION=1026,Ki.ST_DISJOINT=1027,Ki.ST_DISTANCE=1028,Ki.ST_ENDPOINT=1029,Ki.ST_ENVELOPE=1030,Ki.ST_EQUALS=1031,Ki.ST_EXTERIORRING=1032,Ki.ST_GEOMCOLLFROMTEXT=1033,Ki.ST_GEOMCOLLFROMTXT=1034,Ki.ST_GEOMCOLLFROMWKB=1035,Ki.ST_GEOMETRYCOLLECTIONFROMTEXT=1036,Ki.ST_GEOMETRYCOLLECTIONFROMWKB=1037,Ki.ST_GEOMETRYFROMTEXT=1038,Ki.ST_GEOMETRYFROMWKB=1039,Ki.ST_GEOMETRYN=1040,Ki.ST_GEOMETRYTYPE=1041,Ki.ST_GEOMFROMTEXT=1042,Ki.ST_GEOMFROMWKB=1043,Ki.ST_INTERIORRINGN=1044,Ki.ST_INTERSECTION=1045,Ki.ST_INTERSECTS=1046,Ki.ST_ISCLOSED=1047,Ki.ST_ISEMPTY=1048,Ki.ST_ISSIMPLE=1049,Ki.ST_LINEFROMTEXT=1050,Ki.ST_LINEFROMWKB=1051,Ki.ST_LINESTRINGFROMTEXT=1052,Ki.ST_LINESTRINGFROMWKB=1053,Ki.ST_NUMGEOMETRIES=1054,Ki.ST_NUMINTERIORRING=1055,Ki.ST_NUMINTERIORRINGS=1056,Ki.ST_NUMPOINTS=1057,Ki.ST_OVERLAPS=1058,Ki.ST_POINTFROMTEXT=1059,Ki.ST_POINTFROMWKB=1060,Ki.ST_POINTN=1061,Ki.ST_POLYFROMTEXT=1062,Ki.ST_POLYFROMWKB=1063,Ki.ST_POLYGONFROMTEXT=1064,Ki.ST_POLYGONFROMWKB=1065,Ki.ST_SRID=1066,Ki.ST_STARTPOINT=1067,Ki.ST_SYMDIFFERENCE=1068,Ki.ST_TOUCHES=1069,Ki.ST_UNION=1070,Ki.ST_WITHIN=1071,Ki.ST_X=1072,Ki.ST_Y=1073,Ki.SUBDATE=1074,Ki.SUBSTRING_INDEX=1075,Ki.SUBTIME=1076,Ki.SYSTEM_USER=1077,Ki.TAN=1078,Ki.TIMEDIFF=1079,Ki.TIMESTAMPADD=1080,Ki.TIMESTAMPDIFF=1081,Ki.TIME_FORMAT=1082,Ki.TIME_TO_SEC=1083,Ki.TOUCHES=1084,Ki.TO_BASE64=1085,Ki.TO_DAYS=1086,Ki.TO_SECONDS=1087,Ki.TP_CONNECTION_ADMIN=1088,Ki.UCASE=1089,Ki.UNCOMPRESS=1090,Ki.UNCOMPRESSED_LENGTH=1091,Ki.UNHEX=1092,Ki.UNIX_TIMESTAMP=1093,Ki.UPDATEXML=1094,Ki.UPPER=1095,Ki.UUID=1096,Ki.UUID_SHORT=1097,Ki.VALIDATE_PASSWORD_STRENGTH=1098,Ki.VERSION=1099,Ki.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS=1100,Ki.WEEKDAY=1101,Ki.WEEKOFYEAR=1102,Ki.WEIGHT_STRING=1103,Ki.WITHIN=1104,Ki.YEARWEEK=1105,Ki.Y_FUNCTION=1106,Ki.X_FUNCTION=1107,Ki.VAR_ASSIGN=1108,Ki.PLUS_ASSIGN=1109,Ki.MINUS_ASSIGN=1110,Ki.MULT_ASSIGN=1111,Ki.DIV_ASSIGN=1112,Ki.MOD_ASSIGN=1113,Ki.AND_ASSIGN=1114,Ki.XOR_ASSIGN=1115,Ki.OR_ASSIGN=1116,Ki.STAR=1117,Ki.DIVIDE=1118,Ki.MODULE=1119,Ki.PLUS=1120,Ki.MINUS=1121,Ki.DIV=1122,Ki.MOD=1123,Ki.EQUAL_SYMBOL=1124,Ki.GREATER_SYMBOL=1125,Ki.LESS_SYMBOL=1126,Ki.EXCLAMATION_SYMBOL=1127,Ki.BIT_NOT_OP=1128,Ki.BIT_OR_OP=1129,Ki.BIT_AND_OP=1130,Ki.BIT_XOR_OP=1131,Ki.DOT=1132,Ki.LR_BRACKET=1133,Ki.RR_BRACKET=1134,Ki.COMMA=1135,Ki.SEMI=1136,Ki.AT_SIGN=1137,Ki.ZERO_DECIMAL=1138,Ki.ONE_DECIMAL=1139,Ki.TWO_DECIMAL=1140,Ki.SINGLE_QUOTE_SYMB=1141,Ki.DOUBLE_QUOTE_SYMB=1142,Ki.REVERSE_QUOTE_SYMB=1143,Ki.COLON_SYMB=1144,Ki.CHARSET_REVERSE_QOUTE_STRING=1145,Ki.FILESIZE_LITERAL=1146,Ki.START_NATIONAL_STRING_LITERAL=1147,Ki.STRING_LITERAL=1148,Ki.DECIMAL_LITERAL=1149,Ki.HEXADECIMAL_LITERAL=1150,Ki.REAL_LITERAL=1151,Ki.NULL_SPEC_LITERAL=1152,Ki.BIT_STRING=1153,Ki.STRING_CHARSET_NAME=1154,Ki.DOT_ID=1155,Ki.ID=1156,Ki.REVERSE_QUOTE_ID=1157,Ki.HOST_IP_ADDRESS=1158,Ki.LOCAL_ID=1159,Ki.GLOBAL_ID=1160,Ki.ERROR_RECONGNIGION=1161,Ki.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN","MYSQLCOMMENT","ERRORCHANNEL"],Ki.literalNames=[null,null,null,null,null,"'ADD'","'ALL'","'ALTER'","'ALWAYS'","'ANALYZE'","'AND'","'ARRAY'","'AS'","'ASC'","'ATTRIBUTE'","'BEFORE'","'BETWEEN'","'BOTH'","'BUCKETS'","'BY'","'CALL'","'CASCADE'","'CASE'","'CAST'","'CHANGE'","'CHARACTER'","'CHECK'","'COLLATE'","'COLUMN'","'CONDITION'","'CONSTRAINT'","'CONTINUE'","'CONVERT'","'CREATE'","'CROSS'","'CURRENT'","'CURRENT_ROLE'","'CURRENT_USER'","'CURSOR'","'DATABASE'","'DATABASES'","'DECLARE'","'DEFAULT'","'DELAYED'","'DELETE'","'DESC'","'DESCRIBE'","'DETERMINISTIC'","'DIAGNOSTICS'","'DISTINCT'","'DISTINCTROW'","'DROP'","'EACH'","'ELSE'","'ELSEIF'","'EMPTY'","'ENCLOSED'","'ENFORCED'","'ESCAPED'","'EXCEPT'","'EXISTS'","'EXIT'","'EXPLAIN'","'FALSE'","'FETCH'","'FOR'","'FORCE'","'FOREIGN'","'FROM'","'FULLTEXT'","'GENERATED'","'GET'","'GRANT'","'GROUP'","'HAVING'","'HIGH_PRIORITY'","'HISTOGRAM'","'IF'","'IGNORE'","'IGNORED'","'IN'","'INDEX'","'INFILE'","'INNER'","'INOUT'","'INSERT'","'INTERVAL'","'INTO'","'IS'","'ITERATE'","'JOIN'","'KEY'","'KEYS'","'KILL'","'LATERAL'","'LEADING'","'LEAVE'","'LEFT'","'LIKE'","'LIMIT'","'LINEAR'","'LINES'","'LOAD'","'LOCK'","'LOCKED'","'LOOP'","'LOW_PRIORITY'","'MASTER_BIND'","'MASTER_SSL_VERIFY_SERVER_CERT'","'MATCH'","'MAXVALUE'","'MINVALUE'","'MODIFIES'","'NATURAL'","'NOT'","'NO_WRITE_TO_BINLOG'","'NULL'","'NUMBER'","'ON'","'OPTIMIZE'","'OPTION'","'OPTIONAL'","'OPTIONALLY'","'OR'","'ORDER'","'OUT'","'OUTER'","'OUTFILE'","'OVER'","'PARTITION'","'PRIMARY'","'PROCEDURE'","'PURGE'","'RANGE'","'READ'","'READS'","'REFERENCES'","'REGEXP'","'RELEASE'","'RENAME'","'REPEAT'","'REPLACE'","'REQUIRE'","'RESIGNAL'","'RESTRICT'","'RETAIN'","'RETURN'","'REVOKE'","'RIGHT'","'RLIKE'","'SCHEMA'","'SCHEMAS'","'SELECT'","'SET'","'SEPARATOR'","'SHOW'","'SIGNAL'","'SKIP'","'SKIP_QUERY_REWRITE'","'SPATIAL'","'SQL'","'SQLEXCEPTION'","'SQLSTATE'","'SQLWARNING'","'SQL_BIG_RESULT'","'SQL_CALC_FOUND_ROWS'","'SQL_SMALL_RESULT'","'SSL'","'STACKED'","'STARTING'","'STATEMENT'","'STRAIGHT_JOIN'","'TABLE'","'TERMINATED'","'THEN'","'TO'","'TRAILING'","'TRIGGER'","'TRUE'","'UNDO'","'UNION'","'UNIQUE'","'UNLOCK'","'UNSIGNED'","'UPDATE'","'USAGE'","'USE'","'USING'","'VALUES'","'WHEN'","'WHERE'","'WHILE'","'WITH'","'WRITE'","'XOR'","'ZEROFILL'","'TINYINT'","'SMALLINT'","'MEDIUMINT'","'MIDDLEINT'","'INT'","'INT1'","'INT2'","'INT3'","'INT4'","'INT8'","'INTEGER'","'BIGINT'","'REAL'","'DOUBLE'","'PRECISION'","'FLOAT'","'FLOAT4'","'FLOAT8'","'DECIMAL'","'DEC'","'NUMERIC'","'DATE'","'TIME'","'TIMESTAMP'","'DATETIME'","'YEAR'","'CHAR'","'VARCHAR'","'NVARCHAR'","'NATIONAL'","'BINARY'","'VARBINARY'","'TINYBLOB'","'BLOB'","'MEDIUMBLOB'","'LONG'","'LONGBLOB'","'TINYTEXT'","'TEXT'","'MEDIUMTEXT'","'LONGTEXT'","'ENUM'","'VARYING'","'SERIAL'","'YEAR_MONTH'","'DAY_HOUR'","'DAY_MINUTE'","'DAY_SECOND'","'HOUR_MINUTE'","'HOUR_SECOND'","'MINUTE_SECOND'","'SECOND_MICROSECOND'","'MINUTE_MICROSECOND'","'HOUR_MICROSECOND'","'DAY_MICROSECOND'","'JSON_ARRAY'","'JSON_ARRAYAGG'","'JSON_ARRAY_APPEND'","'JSON_ARRAY_INSERT'","'JSON_CONTAINS'","'JSON_CONTAINS_PATH'","'JSON_DEPTH'","'JSON_EXTRACT'","'JSON_INSERT'","'JSON_KEYS'","'JSON_LENGTH'","'JSON_MERGE'","'JSON_MERGE_PATCH'","'JSON_MERGE_PRESERVE'","'JSON_OBJECT'","'JSON_OBJECTAGG'","'JSON_OVERLAPS'","'JSON_PRETTY'","'JSON_QUOTE'","'JSON_REMOVE'","'JSON_REPLACE'","'JSON_SCHEMA_VALID'","'JSON_SCHEMA_VALIDATION_REPORT'","'JSON_SEARCH'","'JSON_SET'","'JSON_STORAGE_FREE'","'JSON_STORAGE_SIZE'","'JSON_TABLE'","'JSON_TYPE'","'JSON_UNQUOTE'","'JSON_VALID'","'JSON_VALUE'","'NESTED'","'ORDINALITY'","'PATH'","'AVG'","'BIT_AND'","'BIT_OR'","'BIT_XOR'","'COUNT'","'CUME_DIST'","'DENSE_RANK'","'FIRST_VALUE'","'GROUP_CONCAT'","'LAG'","'LAST_VALUE'","'LEAD'","'MAX'","'MIN'","'NTILE'","'NTH_VALUE'","'PERCENT_RANK'","'RANK'","'ROW_NUMBER'","'STD'","'STDDEV'","'STDDEV_POP'","'STDDEV_SAMP'","'SUM'","'VAR_POP'","'VAR_SAMP'","'VARIANCE'","'CURRENT_DATE'","'CURRENT_TIME'","'CURRENT_TIMESTAMP'","'LOCALTIME'","'CURDATE'","'CURTIME'","'DATE_ADD'","'DATE_SUB'","'EXTRACT'","'LOCALTIMESTAMP'","'NOW'","'POSITION'","'SUBSTR'","'SUBSTRING'","'SYSDATE'","'TRIM'","'UTC_DATE'","'UTC_TIME'","'UTC_TIMESTAMP'","'ACCOUNT'","'ACTION'","'AFTER'","'AGGREGATE'","'ALGORITHM'","'ANY'","'AT'","'AUTHORS'","'AUTOCOMMIT'","'AUTOEXTEND_SIZE'","'AUTO_INCREMENT'","'AVG_ROW_LENGTH'","'BEGIN'","'BINLOG'","'BIT'","'BLOCK'","'BOOL'","'BOOLEAN'","'BTREE'","'CACHE'","'CASCADED'","'CHAIN'","'CHANGED'","'CHANNEL'","'CHECKSUM'","'PAGE_CHECKSUM'","'CIPHER'","'CLASS_ORIGIN'","'CLIENT'","'CLOSE'","'CLUSTERING'","'COALESCE'","'CODE'","'COLUMNS'","'COLUMN_FORMAT'","'COLUMN_NAME'","'COMMENT'","'COMMIT'","'COMPACT'","'COMPLETION'","'COMPRESSED'","'COMPRESSION'","'CONCURRENT'","'CONNECT'","'CONNECTION'","'CONSISTENT'","'CONSTRAINT_CATALOG'","'CONSTRAINT_SCHEMA'","'CONSTRAINT_NAME'","'CONTAINS'","'CONTEXT'","'CONTRIBUTORS'","'COPY'","'CPU'","'CYCLE'","'CURSOR_NAME'","'DATA'","'DATAFILE'","'DEALLOCATE'","'DEFAULT_AUTH'","'DEFINER'","'DELAY_KEY_WRITE'","'DES_KEY_FILE'","'DIRECTORY'","'DISABLE'","'DISCARD'","'DISK'","'DO'","'DUMPFILE'","'DUPLICATE'","'DYNAMIC'","'ENABLE'","'ENCRYPTED'","'ENCRYPTION'","'ENCRYPTION_KEY_ID'","'END'","'ENDS'","'ENGINE'","'ENGINES'","'ERROR'","'ERRORS'","'ESCAPE'","'EVEN'","'EVENT'","'EVENTS'","'EVERY'","'EXCHANGE'","'EXCLUSIVE'","'EXPIRE'","'EXPORT'","'EXTENDED'","'EXTENT_SIZE'","'FAILED_LOGIN_ATTEMPTS'","'FAST'","'FAULTS'","'FIELDS'","'FILE_BLOCK_SIZE'","'FILTER'","'FIRST'","'FIXED'","'FLUSH'","'FOLLOWING'","'FOLLOWS'","'FOUND'","'FULL'","'FUNCTION'","'GENERAL'","'GLOBAL'","'GRANTS'","'GROUP_REPLICATION'","'HANDLER'","'HASH'","'HELP'","'HISTORY'","'HOST'","'HOSTS'","'IDENTIFIED'","'IGNORE_SERVER_IDS'","'IMPORT'","'INCREMENT'","'INDEXES'","'INITIAL_SIZE'","'INPLACE'","'INSERT_METHOD'","'INSTALL'","'INSTANCE'","'INSTANT'","'INVISIBLE'","'INVOKER'","'IO'","'IO_THREAD'","'IPC'","'ISOLATION'","'ISSUER'","'JSON'","'KEY_BLOCK_SIZE'","'LANGUAGE'","'LAST'","'LEAVES'","'LESS'","'LEVEL'","'LIST'","'LOCAL'","'LOGFILE'","'LOGS'","'MASTER'","'MASTER_AUTO_POSITION'","'MASTER_CONNECT_RETRY'","'MASTER_DELAY'","'MASTER_HEARTBEAT_PERIOD'","'MASTER_HOST'","'MASTER_LOG_FILE'","'MASTER_LOG_POS'","'MASTER_PASSWORD'","'MASTER_PORT'","'MASTER_RETRY_COUNT'","'MASTER_SSL'","'MASTER_SSL_CA'","'MASTER_SSL_CAPATH'","'MASTER_SSL_CERT'","'MASTER_SSL_CIPHER'","'MASTER_SSL_CRL'","'MASTER_SSL_CRLPATH'","'MASTER_SSL_KEY'","'MASTER_TLS_VERSION'","'MASTER_USER'","'MAX_CONNECTIONS_PER_HOUR'","'MAX_QUERIES_PER_HOUR'","'MAX_ROWS'","'MAX_SIZE'","'MAX_UPDATES_PER_HOUR'","'MAX_USER_CONNECTIONS'","'MEDIUM'","'MEMBER'","'MERGE'","'MESSAGE_TEXT'","'MID'","'MIGRATE'","'MIN_ROWS'","'MODE'","'MODIFY'","'MUTEX'","'MYSQL'","'MYSQL_ERRNO'","'NAME'","'NAMES'","'NCHAR'","'NEVER'","'NEXT'","'NO'","'NOCACHE'","'NOCOPY'","'NOCYCLE'","'NOMAXVALUE'","'NOMINVALUE'","'NOWAIT'","'NODEGROUP'","'NONE'","'ODBC'","'OFFLINE'","'OFFSET'","'OF'","'OJ'","'OLD_PASSWORD'","'ONE'","'ONLINE'","'ONLY'","'OPEN'","'OPTIMIZER_COSTS'","'OPTIONS'","'OWNER'","'PACK_KEYS'","'PAGE'","'PAGE_COMPRESSED'","'PAGE_COMPRESSION_LEVEL'","'PARSER'","'PARTIAL'","'PARTITIONING'","'PARTITIONS'","'PASSWORD'","'PASSWORD_LOCK_TIME'","'PHASE'","'PLUGIN'","'PLUGIN_DIR'","'PLUGINS'","'PORT'","'PRECEDES'","'PRECEDING'","'PREPARE'","'PRESERVE'","'PREV'","'PROCESSLIST'","'PROFILE'","'PROFILES'","'PROXY'","'QUERY'","'QUICK'","'REBUILD'","'RECOVER'","'RECURSIVE'","'REDO_BUFFER_SIZE'","'REDUNDANT'","'RELAY'","'RELAY_LOG_FILE'","'RELAY_LOG_POS'","'RELAYLOG'","'REMOVE'","'REORGANIZE'","'REPAIR'","'REPLICATE_DO_DB'","'REPLICATE_DO_TABLE'","'REPLICATE_IGNORE_DB'","'REPLICATE_IGNORE_TABLE'","'REPLICATE_REWRITE_DB'","'REPLICATE_WILD_DO_TABLE'","'REPLICATE_WILD_IGNORE_TABLE'","'REPLICATION'","'RESET'","'RESTART'","'RESUME'","'RETURNED_SQLSTATE'","'RETURNING'","'RETURNS'","'REUSE'","'ROLE'","'ROLLBACK'","'ROLLUP'","'ROTATE'","'ROW'","'ROWS'","'ROW_FORMAT'","'RTREE'","'SAVEPOINT'","'SCHEDULE'","'SECURITY'","'SEQUENCE'","'SERVER'","'SESSION'","'SHARE'","'SHARED'","'SIGNED'","'SIMPLE'","'SLAVE'","'SLOW'","'SNAPSHOT'","'SOCKET'","'SOME'","'SONAME'","'SOUNDS'","'SOURCE'","'SQL_AFTER_GTIDS'","'SQL_AFTER_MTS_GAPS'","'SQL_BEFORE_GTIDS'","'SQL_BUFFER_RESULT'","'SQL_CACHE'","'SQL_NO_CACHE'","'SQL_THREAD'","'START'","'STARTS'","'STATS_AUTO_RECALC'","'STATS_PERSISTENT'","'STATS_SAMPLE_PAGES'","'STATUS'","'STOP'","'STORAGE'","'STORED'","'STRING'","'SUBCLASS_ORIGIN'","'SUBJECT'","'SUBPARTITION'","'SUBPARTITIONS'","'SUSPEND'","'SWAPS'","'SWITCHES'","'TABLE_NAME'","'TABLESPACE'","'TABLE_TYPE'","'TEMPORARY'","'TEMPTABLE'","'THAN'","'TRADITIONAL'","'TRANSACTION'","'TRANSACTIONAL'","'TRIGGERS'","'TRUNCATE'","'UNBOUNDED'","'UNDEFINED'","'UNDOFILE'","'UNDO_BUFFER_SIZE'","'UNINSTALL'","'UNKNOWN'","'UNTIL'","'UPGRADE'","'USER'","'USE_FRM'","'USER_RESOURCES'","'VALIDATION'","'VALUE'","'VARIABLES'","'VIEW'","'VIRTUAL'","'VISIBLE'","'WAIT'","'WARNINGS'","'WINDOW'","'WITHOUT'","'WORK'","'WRAPPER'","'X509'","'XA'","'XML'","'YES'","'EUR'","'USA'","'JIS'","'ISO'","'INTERNAL'","'QUARTER'","'MONTH'","'DAY'","'HOUR'","'MINUTE'","'WEEK'","'SECOND'","'MICROSECOND'","'ADMIN'","'APPLICATION_PASSWORD_ADMIN'","'AUDIT_ABORT_EXEMPT'","'AUDIT_ADMIN'","'AUTHENTICATION_POLICY_ADMIN'","'BACKUP_ADMIN'","'BINLOG_ADMIN'","'BINLOG_ENCRYPTION_ADMIN'","'CLONE_ADMIN'","'CONNECTION_ADMIN'","'ENCRYPTION_KEY_ADMIN'","'EXECUTE'","'FILE'","'FIREWALL_ADMIN'","'FIREWALL_EXEMPT'","'FIREWALL_USER'","'FLUSH_OPTIMIZER_COSTS'","'FLUSH_STATUS'","'FLUSH_TABLES'","'FLUSH_USER_RESOURCES'","'GROUP_REPLICATION_ADMIN'","'INNODB_REDO_LOG_ARCHIVE'","'INNODB_REDO_LOG_ENABLE'","'INVOKE'","'LAMBDA'","'NDB_STORED_USER'","'PASSWORDLESS_USER_ADMIN'","'PERSIST_RO_VARIABLES_ADMIN'","'PRIVILEGES'","'PROCESS'","'RELOAD'","'REPLICATION_APPLIER'","'REPLICATION_SLAVE_ADMIN'","'RESOURCE_GROUP_ADMIN'","'RESOURCE_GROUP_USER'","'ROLE_ADMIN'","'ROUTINE'","'S3'","'SERVICE_CONNECTION_ADMIN'",null,"'SET_USER_ID'","'SHOW_ROUTINE'","'SHUTDOWN'","'SUPER'","'SYSTEM_VARIABLES_ADMIN'","'TABLES'","'TABLE_ENCRYPTION_ADMIN'","'VERSION_TOKEN_ADMIN'","'XA_RECOVER_ADMIN'","'ARMSCII8'","'ASCII'","'BIG5'","'CP1250'","'CP1251'","'CP1256'","'CP1257'","'CP850'","'CP852'","'CP866'","'CP932'","'DEC8'","'EUCJPMS'","'EUCKR'","'GB18030'","'GB2312'","'GBK'","'GEOSTD8'","'GREEK'","'HEBREW'","'HP8'","'KEYBCS2'","'KOI8R'","'KOI8U'","'LATIN1'","'LATIN2'","'LATIN5'","'LATIN7'","'MACCE'","'MACROMAN'","'SJIS'","'SWE7'","'TIS620'","'UCS2'","'UJIS'","'UTF16'","'UTF16LE'","'UTF32'","'UTF8'","'UTF8MB3'","'UTF8MB4'","'ARCHIVE'","'BLACKHOLE'","'CSV'","'FEDERATED'","'INNODB'","'MEMORY'","'MRG_MYISAM'","'MYISAM'","'NDB'","'NDBCLUSTER'","'PERFORMANCE_SCHEMA'","'TOKUDB'","'REPEATABLE'","'COMMITTED'","'UNCOMMITTED'","'SERIALIZABLE'","'GEOMETRYCOLLECTION'","'GEOMCOLLECTION'","'GEOMETRY'","'LINESTRING'","'MULTILINESTRING'","'MULTIPOINT'","'MULTIPOLYGON'","'POINT'","'POLYGON'","'ABS'","'ACOS'","'ADDDATE'","'ADDTIME'","'AES_DECRYPT'","'AES_ENCRYPT'","'AREA'","'ASBINARY'","'ASIN'","'ASTEXT'","'ASWKB'","'ASWKT'","'ASYMMETRIC_DECRYPT'","'ASYMMETRIC_DERIVE'","'ASYMMETRIC_ENCRYPT'","'ASYMMETRIC_SIGN'","'ASYMMETRIC_VERIFY'","'ATAN'","'ATAN2'","'BENCHMARK'","'BIN'","'BIT_COUNT'","'BIT_LENGTH'","'BUFFER'","'CATALOG_NAME'","'CEIL'","'CEILING'","'CENTROID'","'CHARACTER_LENGTH'","'CHARSET'","'CHAR_LENGTH'","'COERCIBILITY'","'COLLATION'","'COMPRESS'","'CONCAT'","'CONCAT_WS'","'CONNECTION_ID'","'CONV'","'CONVERT_TZ'","'COS'","'COT'","'CRC32'","'CREATE_ASYMMETRIC_PRIV_KEY'","'CREATE_ASYMMETRIC_PUB_KEY'","'CREATE_DH_PARAMETERS'","'CREATE_DIGEST'","'CROSSES'","'DATEDIFF'","'DATE_FORMAT'","'DAYNAME'","'DAYOFMONTH'","'DAYOFWEEK'","'DAYOFYEAR'","'DECODE'","'DEGREES'","'DES_DECRYPT'","'DES_ENCRYPT'","'DIMENSION'","'DISJOINT'","'ELT'","'ENCODE'","'ENCRYPT'","'ENDPOINT'","'ENGINE_ATTRIBUTE'","'ENVELOPE'","'EQUALS'","'EXP'","'EXPORT_SET'","'EXTERIORRING'","'EXTRACTVALUE'","'FIELD'","'FIND_IN_SET'","'FLOOR'","'FORMAT'","'FOUND_ROWS'","'FROM_BASE64'","'FROM_DAYS'","'FROM_UNIXTIME'","'GEOMCOLLFROMTEXT'","'GEOMCOLLFROMWKB'","'GEOMETRYCOLLECTIONFROMTEXT'","'GEOMETRYCOLLECTIONFROMWKB'","'GEOMETRYFROMTEXT'","'GEOMETRYFROMWKB'","'GEOMETRYN'","'GEOMETRYTYPE'","'GEOMFROMTEXT'","'GEOMFROMWKB'","'GET_FORMAT'","'GET_LOCK'","'GLENGTH'","'GREATEST'","'GTID_SUBSET'","'GTID_SUBTRACT'","'HEX'","'IFNULL'","'INET6_ATON'","'INET6_NTOA'","'INET_ATON'","'INET_NTOA'","'INSTR'","'INTERIORRINGN'","'INTERSECTS'","'ISCLOSED'","'ISEMPTY'","'ISNULL'","'ISSIMPLE'","'IS_FREE_LOCK'","'IS_IPV4'","'IS_IPV4_COMPAT'","'IS_IPV4_MAPPED'","'IS_IPV6'","'IS_USED_LOCK'","'LAST_INSERT_ID'","'LCASE'","'LEAST'","'LENGTH'","'LINEFROMTEXT'","'LINEFROMWKB'","'LINESTRINGFROMTEXT'","'LINESTRINGFROMWKB'","'LN'","'LOAD_FILE'","'LOCATE'","'LOG'","'LOG10'","'LOG2'","'LOWER'","'LPAD'","'LTRIM'","'MAKEDATE'","'MAKETIME'","'MAKE_SET'","'MASTER_POS_WAIT'","'MBRCONTAINS'","'MBRDISJOINT'","'MBREQUAL'","'MBRINTERSECTS'","'MBROVERLAPS'","'MBRTOUCHES'","'MBRWITHIN'","'MD5'","'MLINEFROMTEXT'","'MLINEFROMWKB'","'MONTHNAME'","'MPOINTFROMTEXT'","'MPOINTFROMWKB'","'MPOLYFROMTEXT'","'MPOLYFROMWKB'","'MULTILINESTRINGFROMTEXT'","'MULTILINESTRINGFROMWKB'","'MULTIPOINTFROMTEXT'","'MULTIPOINTFROMWKB'","'MULTIPOLYGONFROMTEXT'","'MULTIPOLYGONFROMWKB'","'NAME_CONST'","'NULLIF'","'NUMGEOMETRIES'","'NUMINTERIORRINGS'","'NUMPOINTS'","'OCT'","'OCTET_LENGTH'","'ORD'","'OVERLAPS'","'PERIOD_ADD'","'PERIOD_DIFF'","'PI'","'POINTFROMTEXT'","'POINTFROMWKB'","'POINTN'","'POLYFROMTEXT'","'POLYFROMWKB'","'POLYGONFROMTEXT'","'POLYGONFROMWKB'","'POW'","'POWER'","'QUOTE'","'RADIANS'","'RAND'","'RANDOM'","'RANDOM_BYTES'","'RELEASE_LOCK'","'REVERSE'","'ROUND'","'ROW_COUNT'","'RPAD'","'RTRIM'","'SEC_TO_TIME'","'SECONDARY_ENGINE_ATTRIBUTE'","'SESSION_USER'","'SHA'","'SHA1'","'SHA2'","'SCHEMA_NAME'","'SIGN'","'SIN'","'SLEEP'","'SOUNDEX'","'SQL_THREAD_WAIT_AFTER_GTIDS'","'SQRT'","'SRID'","'STARTPOINT'","'STRCMP'","'STR_TO_DATE'","'ST_AREA'","'ST_ASBINARY'","'ST_ASTEXT'","'ST_ASWKB'","'ST_ASWKT'","'ST_BUFFER'","'ST_CENTROID'","'ST_CONTAINS'","'ST_CROSSES'","'ST_DIFFERENCE'","'ST_DIMENSION'","'ST_DISJOINT'","'ST_DISTANCE'","'ST_ENDPOINT'","'ST_ENVELOPE'","'ST_EQUALS'","'ST_EXTERIORRING'","'ST_GEOMCOLLFROMTEXT'","'ST_GEOMCOLLFROMTXT'","'ST_GEOMCOLLFROMWKB'","'ST_GEOMETRYCOLLECTIONFROMTEXT'","'ST_GEOMETRYCOLLECTIONFROMWKB'","'ST_GEOMETRYFROMTEXT'","'ST_GEOMETRYFROMWKB'","'ST_GEOMETRYN'","'ST_GEOMETRYTYPE'","'ST_GEOMFROMTEXT'","'ST_GEOMFROMWKB'","'ST_INTERIORRINGN'","'ST_INTERSECTION'","'ST_INTERSECTS'","'ST_ISCLOSED'","'ST_ISEMPTY'","'ST_ISSIMPLE'","'ST_LINEFROMTEXT'","'ST_LINEFROMWKB'","'ST_LINESTRINGFROMTEXT'","'ST_LINESTRINGFROMWKB'","'ST_NUMGEOMETRIES'","'ST_NUMINTERIORRING'","'ST_NUMINTERIORRINGS'","'ST_NUMPOINTS'","'ST_OVERLAPS'","'ST_POINTFROMTEXT'","'ST_POINTFROMWKB'","'ST_POINTN'","'ST_POLYFROMTEXT'","'ST_POLYFROMWKB'","'ST_POLYGONFROMTEXT'","'ST_POLYGONFROMWKB'","'ST_SRID'","'ST_STARTPOINT'","'ST_SYMDIFFERENCE'","'ST_TOUCHES'","'ST_UNION'","'ST_WITHIN'","'ST_X'","'ST_Y'","'SUBDATE'","'SUBSTRING_INDEX'","'SUBTIME'","'SYSTEM_USER'","'TAN'","'TIMEDIFF'","'TIMESTAMPADD'","'TIMESTAMPDIFF'","'TIME_FORMAT'","'TIME_TO_SEC'","'TOUCHES'","'TO_BASE64'","'TO_DAYS'","'TO_SECONDS'","'TP_CONNECTION_ADMIN'","'UCASE'","'UNCOMPRESS'","'UNCOMPRESSED_LENGTH'","'UNHEX'","'UNIX_TIMESTAMP'","'UPDATEXML'","'UPPER'","'UUID'","'UUID_SHORT'","'VALIDATE_PASSWORD_STRENGTH'","'VERSION'","'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS'","'WEEKDAY'","'WEEKOFYEAR'","'WEIGHT_STRING'","'WITHIN'","'YEARWEEK'","'Y'","'X'","':='","'+='","'-='","'*='","'/='","'%='","'&='","'^='","'|='","'*'","'/'","'%'","'+'","'-'","'DIV'","'MOD'","'='","'>'","'<'","'!'","'~'","'|'","'&'","'^'","'.'","'('","')'","','","';'","'@'","'0'","'1'","'2'","'''","'\"'","'`'","':'"],Ki.symbolicNames=[null,"SPACE","SPEC_MYSQL_COMMENT","COMMENT_INPUT","LINE_COMMENT","ADD","ALL","ALTER","ALWAYS","ANALYZE","AND","ARRAY","AS","ASC","ATTRIBUTE","BEFORE","BETWEEN","BOTH","BUCKETS","BY","CALL","CASCADE","CASE","CAST","CHANGE","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_ROLE","CURRENT_USER","CURSOR","DATABASE","DATABASES","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DIAGNOSTICS","DISTINCT","DISTINCTROW","DROP","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ENFORCED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GET","GRANT","GROUP","HAVING","HIGH_PRIORITY","HISTOGRAM","IF","IGNORE","IGNORED","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LATERAL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCK","LOCKED","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINVALUE","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL_LITERAL","NUMBER","ON","OPTIMIZE","OPTION","OPTIONAL","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETAIN","RETURN","REVOKE","RIGHT","RLIKE","SCHEMA","SCHEMAS","SELECT","SET","SEPARATOR","SHOW","SIGNAL","SKIP_","SKIP_QUERY_REWRITE","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STACKED","STARTING","STATEMENT","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","VALUES","WHEN","WHERE","WHILE","WITH","WRITE","XOR","ZEROFILL","TINYINT","SMALLINT","MEDIUMINT","MIDDLEINT","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","BIGINT","REAL","DOUBLE","PRECISION","FLOAT","FLOAT4","FLOAT8","DECIMAL","DEC","NUMERIC","DATE","TIME","TIMESTAMP","DATETIME","YEAR","CHAR","VARCHAR","NVARCHAR","NATIONAL","BINARY","VARBINARY","TINYBLOB","BLOB","MEDIUMBLOB","LONG","LONGBLOB","TINYTEXT","TEXT","MEDIUMTEXT","LONGTEXT","ENUM","VARYING","SERIAL","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND","SECOND_MICROSECOND","MINUTE_MICROSECOND","HOUR_MICROSECOND","DAY_MICROSECOND","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","NESTED","ORDINALITY","PATH","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","GROUP_CONCAT","LAG","LAST_VALUE","LEAD","MAX","MIN","NTILE","NTH_VALUE","PERCENT_RANK","RANK","ROW_NUMBER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","LOCALTIME","CURDATE","CURTIME","DATE_ADD","DATE_SUB","EXTRACT","LOCALTIMESTAMP","NOW","POSITION","SUBSTR","SUBSTRING","SYSDATE","TRIM","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","ACCOUNT","ACTION","AFTER","AGGREGATE","ALGORITHM","ANY","AT","AUTHORS","AUTOCOMMIT","AUTOEXTEND_SIZE","AUTO_INCREMENT","AVG_ROW_LENGTH","BEGIN","BINLOG","BIT","BLOCK","BOOL","BOOLEAN","BTREE","CACHE","CASCADED","CHAIN","CHANGED","CHANNEL","CHECKSUM","PAGE_CHECKSUM","CIPHER","CLASS_ORIGIN","CLIENT","CLOSE","CLUSTERING","COALESCE","CODE","COLUMNS","COLUMN_FORMAT","COLUMN_NAME","COMMENT","COMMIT","COMPACT","COMPLETION","COMPRESSED","COMPRESSION","CONCURRENT","CONNECT","CONNECTION","CONSISTENT","CONSTRAINT_CATALOG","CONSTRAINT_SCHEMA","CONSTRAINT_NAME","CONTAINS","CONTEXT","CONTRIBUTORS","COPY","CPU","CYCLE","CURSOR_NAME","DATA","DATAFILE","DEALLOCATE","DEFAULT_AUTH","DEFINER","DELAY_KEY_WRITE","DES_KEY_FILE","DIRECTORY","DISABLE","DISCARD","DISK","DO","DUMPFILE","DUPLICATE","DYNAMIC","ENABLE","ENCRYPTED","ENCRYPTION","ENCRYPTION_KEY_ID","END","ENDS","ENGINE","ENGINES","ERROR","ERRORS","ESCAPE","EVEN","EVENT","EVENTS","EVERY","EXCHANGE","EXCLUSIVE","EXPIRE","EXPORT","EXTENDED","EXTENT_SIZE","FAILED_LOGIN_ATTEMPTS","FAST","FAULTS","FIELDS","FILE_BLOCK_SIZE","FILTER","FIRST","FIXED","FLUSH","FOLLOWING","FOLLOWS","FOUND","FULL","FUNCTION","GENERAL","GLOBAL","GRANTS","GROUP_REPLICATION","HANDLER","HASH","HELP","HISTORY","HOST","HOSTS","IDENTIFIED","IGNORE_SERVER_IDS","IMPORT","INCREMENT","INDEXES","INITIAL_SIZE","INPLACE","INSERT_METHOD","INSTALL","INSTANCE","INSTANT","INVISIBLE","INVOKER","IO","IO_THREAD","IPC","ISOLATION","ISSUER","JSON","KEY_BLOCK_SIZE","LANGUAGE","LAST","LEAVES","LESS","LEVEL","LIST","LOCAL","LOGFILE","LOGS","MASTER","MASTER_AUTO_POSITION","MASTER_CONNECT_RETRY","MASTER_DELAY","MASTER_HEARTBEAT_PERIOD","MASTER_HOST","MASTER_LOG_FILE","MASTER_LOG_POS","MASTER_PASSWORD","MASTER_PORT","MASTER_RETRY_COUNT","MASTER_SSL","MASTER_SSL_CA","MASTER_SSL_CAPATH","MASTER_SSL_CERT","MASTER_SSL_CIPHER","MASTER_SSL_CRL","MASTER_SSL_CRLPATH","MASTER_SSL_KEY","MASTER_TLS_VERSION","MASTER_USER","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_SIZE","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MEMBER","MERGE","MESSAGE_TEXT","MID","MIGRATE","MIN_ROWS","MODE","MODIFY","MUTEX","MYSQL","MYSQL_ERRNO","NAME","NAMES","NCHAR","NEVER","NEXT","NO","NOCACHE","NOCOPY","NOCYCLE","NOMAXVALUE","NOMINVALUE","NOWAIT","NODEGROUP","NONE","ODBC","OFFLINE","OFFSET","OF","OJ","OLD_PASSWORD","ONE","ONLINE","ONLY","OPEN","OPTIMIZER_COSTS","OPTIONS","OWNER","PACK_KEYS","PAGE","PAGE_COMPRESSED","PAGE_COMPRESSION_LEVEL","PARSER","PARTIAL","PARTITIONING","PARTITIONS","PASSWORD","PASSWORD_LOCK_TIME","PHASE","PLUGIN","PLUGIN_DIR","PLUGINS","PORT","PRECEDES","PRECEDING","PREPARE","PRESERVE","PREV","PROCESSLIST","PROFILE","PROFILES","PROXY","QUERY","QUICK","REBUILD","RECOVER","RECURSIVE","REDO_BUFFER_SIZE","REDUNDANT","RELAY","RELAY_LOG_FILE","RELAY_LOG_POS","RELAYLOG","REMOVE","REORGANIZE","REPAIR","REPLICATE_DO_DB","REPLICATE_DO_TABLE","REPLICATE_IGNORE_DB","REPLICATE_IGNORE_TABLE","REPLICATE_REWRITE_DB","REPLICATE_WILD_DO_TABLE","REPLICATE_WILD_IGNORE_TABLE","REPLICATION","RESET","RESTART","RESUME","RETURNED_SQLSTATE","RETURNING","RETURNS","REUSE","ROLE","ROLLBACK","ROLLUP","ROTATE","ROW","ROWS","ROW_FORMAT","RTREE","SAVEPOINT","SCHEDULE","SECURITY","SEQUENCE","SERVER","SESSION","SHARE","SHARED","SIGNED","SIMPLE","SLAVE","SLOW","SNAPSHOT","SOCKET","SOME","SONAME","SOUNDS","SOURCE","SQL_AFTER_GTIDS","SQL_AFTER_MTS_GAPS","SQL_BEFORE_GTIDS","SQL_BUFFER_RESULT","SQL_CACHE","SQL_NO_CACHE","SQL_THREAD","START","STARTS","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STATUS","STOP","STORAGE","STORED","STRING","SUBCLASS_ORIGIN","SUBJECT","SUBPARTITION","SUBPARTITIONS","SUSPEND","SWAPS","SWITCHES","TABLE_NAME","TABLESPACE","TABLE_TYPE","TEMPORARY","TEMPTABLE","THAN","TRADITIONAL","TRANSACTION","TRANSACTIONAL","TRIGGERS","TRUNCATE","UNBOUNDED","UNDEFINED","UNDOFILE","UNDO_BUFFER_SIZE","UNINSTALL","UNKNOWN","UNTIL","UPGRADE","USER","USE_FRM","USER_RESOURCES","VALIDATION","VALUE","VARIABLES","VIEW","VIRTUAL","VISIBLE","WAIT","WARNINGS","WINDOW","WITHOUT","WORK","WRAPPER","X509","XA","XML","YES","EUR","USA","JIS","ISO","INTERNAL","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","MICROSECOND","ADMIN","APPLICATION_PASSWORD_ADMIN","AUDIT_ABORT_EXEMPT","AUDIT_ADMIN","AUTHENTICATION_POLICY_ADMIN","BACKUP_ADMIN","BINLOG_ADMIN","BINLOG_ENCRYPTION_ADMIN","CLONE_ADMIN","CONNECTION_ADMIN","ENCRYPTION_KEY_ADMIN","EXECUTE","FILE","FIREWALL_ADMIN","FIREWALL_EXEMPT","FIREWALL_USER","FLUSH_OPTIMIZER_COSTS","FLUSH_STATUS","FLUSH_TABLES","FLUSH_USER_RESOURCES","GROUP_REPLICATION_ADMIN","INNODB_REDO_LOG_ARCHIVE","INNODB_REDO_LOG_ENABLE","INVOKE","LAMBDA","NDB_STORED_USER","PASSWORDLESS_USER_ADMIN","PERSIST_RO_VARIABLES_ADMIN","PRIVILEGES","PROCESS","RELOAD","REPLICATION_APPLIER","REPLICATION_SLAVE_ADMIN","RESOURCE_GROUP_ADMIN","RESOURCE_GROUP_USER","ROLE_ADMIN","ROUTINE","S3","SERVICE_CONNECTION_ADMIN","SESSION_VARIABLES_ADMIN","SET_USER_ID","SHOW_ROUTINE","SHUTDOWN","SUPER","SYSTEM_VARIABLES_ADMIN","TABLES","TABLE_ENCRYPTION_ADMIN","VERSION_TOKEN_ADMIN","XA_RECOVER_ADMIN","ARMSCII8","ASCII","BIG5","CP1250","CP1251","CP1256","CP1257","CP850","CP852","CP866","CP932","DEC8","EUCJPMS","EUCKR","GB18030","GB2312","GBK","GEOSTD8","GREEK","HEBREW","HP8","KEYBCS2","KOI8R","KOI8U","LATIN1","LATIN2","LATIN5","LATIN7","MACCE","MACROMAN","SJIS","SWE7","TIS620","UCS2","UJIS","UTF16","UTF16LE","UTF32","UTF8","UTF8MB3","UTF8MB4","ARCHIVE","BLACKHOLE","CSV","FEDERATED","INNODB","MEMORY","MRG_MYISAM","MYISAM","NDB","NDBCLUSTER","PERFORMANCE_SCHEMA","TOKUDB","REPEATABLE","COMMITTED","UNCOMMITTED","SERIALIZABLE","GEOMETRYCOLLECTION","GEOMCOLLECTION","GEOMETRY","LINESTRING","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","POINT","POLYGON","ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","AREA","ASBINARY","ASIN","ASTEXT","ASWKB","ASWKT","ASYMMETRIC_DECRYPT","ASYMMETRIC_DERIVE","ASYMMETRIC_ENCRYPT","ASYMMETRIC_SIGN","ASYMMETRIC_VERIFY","ATAN","ATAN2","BENCHMARK","BIN","BIT_COUNT","BIT_LENGTH","BUFFER","CATALOG_NAME","CEIL","CEILING","CENTROID","CHARACTER_LENGTH","CHARSET","CHAR_LENGTH","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","CREATE_ASYMMETRIC_PRIV_KEY","CREATE_ASYMMETRIC_PUB_KEY","CREATE_DH_PARAMETERS","CREATE_DIGEST","CROSSES","DATEDIFF","DATE_FORMAT","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEGREES","DES_DECRYPT","DES_ENCRYPT","DIMENSION","DISJOINT","ELT","ENCODE","ENCRYPT","ENDPOINT","ENGINE_ATTRIBUTE","ENVELOPE","EQUALS","EXP","EXPORT_SET","EXTERIORRING","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLFROMTEXT","GEOMCOLLFROMWKB","GEOMETRYCOLLECTIONFROMTEXT","GEOMETRYCOLLECTIONFROMWKB","GEOMETRYFROMTEXT","GEOMETRYFROMWKB","GEOMETRYN","GEOMETRYTYPE","GEOMFROMTEXT","GEOMFROMWKB","GET_FORMAT","GET_LOCK","GLENGTH","GREATEST","GTID_SUBSET","GTID_SUBTRACT","HEX","IFNULL","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSTR","INTERIORRINGN","INTERSECTS","ISCLOSED","ISEMPTY","ISNULL","ISSIMPLE","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LINEFROMTEXT","LINEFROMWKB","LINESTRINGFROMTEXT","LINESTRINGFROMWKB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKEDATE","MAKETIME","MAKE_SET","MASTER_POS_WAIT","MBRCONTAINS","MBRDISJOINT","MBREQUAL","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MLINEFROMTEXT","MLINEFROMWKB","MONTHNAME","MPOINTFROMTEXT","MPOINTFROMWKB","MPOLYFROMTEXT","MPOLYFROMWKB","MULTILINESTRINGFROMTEXT","MULTILINESTRINGFROMWKB","MULTIPOINTFROMTEXT","MULTIPOINTFROMWKB","MULTIPOLYGONFROMTEXT","MULTIPOLYGONFROMWKB","NAME_CONST","NULLIF","NUMGEOMETRIES","NUMINTERIORRINGS","NUMPOINTS","OCT","OCTET_LENGTH","ORD","OVERLAPS","PERIOD_ADD","PERIOD_DIFF","PI","POINTFROMTEXT","POINTFROMWKB","POINTN","POLYFROMTEXT","POLYFROMWKB","POLYGONFROMTEXT","POLYGONFROMWKB","POW","POWER","QUOTE","RADIANS","RAND","RANDOM","RANDOM_BYTES","RELEASE_LOCK","REVERSE","ROUND","ROW_COUNT","RPAD","RTRIM","SEC_TO_TIME","SECONDARY_ENGINE_ATTRIBUTE","SESSION_USER","SHA","SHA1","SHA2","SCHEMA_NAME","SIGN","SIN","SLEEP","SOUNDEX","SQL_THREAD_WAIT_AFTER_GTIDS","SQRT","SRID","STARTPOINT","STRCMP","STR_TO_DATE","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_ASWKB","ST_ASWKT","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMTXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYCOLLECTIONFROMTEXT","ST_GEOMETRYCOLLECTIONFROMWKB","ST_GEOMETRYFROMTEXT","ST_GEOMETRYFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINESTRINGFROMTEXT","ST_LINESTRINGFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMINTERIORRINGS","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_POLYGONFROMTEXT","ST_POLYGONFROMWKB","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_Y","SUBDATE","SUBSTRING_INDEX","SUBTIME","SYSTEM_USER","TAN","TIMEDIFF","TIMESTAMPADD","TIMESTAMPDIFF","TIME_FORMAT","TIME_TO_SEC","TOUCHES","TO_BASE64","TO_DAYS","TO_SECONDS","TP_CONNECTION_ADMIN","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VALIDATE_PASSWORD_STRENGTH","VERSION","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","WITHIN","YEARWEEK","Y_FUNCTION","X_FUNCTION","VAR_ASSIGN","PLUS_ASSIGN","MINUS_ASSIGN","MULT_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","STAR","DIVIDE","MODULE","PLUS","MINUS","DIV","MOD","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LR_BRACKET","RR_BRACKET","COMMA","SEMI","AT_SIGN","ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","CHARSET_REVERSE_QOUTE_STRING","FILESIZE_LITERAL","START_NATIONAL_STRING_LITERAL","STRING_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","REAL_LITERAL","NULL_SPEC_LITERAL","BIT_STRING","STRING_CHARSET_NAME","DOT_ID","ID","REVERSE_QUOTE_ID","HOST_IP_ADDRESS","LOCAL_ID","GLOBAL_ID","ERROR_RECONGNIGION"],Ki.modeNames=["DEFAULT_MODE"],Ki.ruleNames=["SPACE","SPEC_MYSQL_COMMENT","COMMENT_INPUT","LINE_COMMENT","ADD","ALL","ALTER","ALWAYS","ANALYZE","AND","ARRAY","AS","ASC","ATTRIBUTE","BEFORE","BETWEEN","BOTH","BUCKETS","BY","CALL","CASCADE","CASE","CAST","CHANGE","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_ROLE","CURRENT_USER","CURSOR","DATABASE","DATABASES","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DIAGNOSTICS","DISTINCT","DISTINCTROW","DROP","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ENFORCED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GET","GRANT","GROUP","HAVING","HIGH_PRIORITY","HISTOGRAM","IF","IGNORE","IGNORED","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LATERAL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCK","LOCKED","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINVALUE","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL_LITERAL","NUMBER","ON","OPTIMIZE","OPTION","OPTIONAL","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETAIN","RETURN","REVOKE","RIGHT","RLIKE","SCHEMA","SCHEMAS","SELECT","SET","SEPARATOR","SHOW","SIGNAL","SKIP_","SKIP_QUERY_REWRITE","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STACKED","STARTING","STATEMENT","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","VALUES","WHEN","WHERE","WHILE","WITH","WRITE","XOR","ZEROFILL","TINYINT","SMALLINT","MEDIUMINT","MIDDLEINT","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","BIGINT","REAL","DOUBLE","PRECISION","FLOAT","FLOAT4","FLOAT8","DECIMAL","DEC","NUMERIC","DATE","TIME","TIMESTAMP","DATETIME","YEAR","CHAR","VARCHAR","NVARCHAR","NATIONAL","BINARY","VARBINARY","TINYBLOB","BLOB","MEDIUMBLOB","LONG","LONGBLOB","TINYTEXT","TEXT","MEDIUMTEXT","LONGTEXT","ENUM","VARYING","SERIAL","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND","SECOND_MICROSECOND","MINUTE_MICROSECOND","HOUR_MICROSECOND","DAY_MICROSECOND","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","NESTED","ORDINALITY","PATH","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","GROUP_CONCAT","LAG","LAST_VALUE","LEAD","MAX","MIN","NTILE","NTH_VALUE","PERCENT_RANK","RANK","ROW_NUMBER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","LOCALTIME","CURDATE","CURTIME","DATE_ADD","DATE_SUB","EXTRACT","LOCALTIMESTAMP","NOW","POSITION","SUBSTR","SUBSTRING","SYSDATE","TRIM","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","ACCOUNT","ACTION","AFTER","AGGREGATE","ALGORITHM","ANY","AT","AUTHORS","AUTOCOMMIT","AUTOEXTEND_SIZE","AUTO_INCREMENT","AVG_ROW_LENGTH","BEGIN","BINLOG","BIT","BLOCK","BOOL","BOOLEAN","BTREE","CACHE","CASCADED","CHAIN","CHANGED","CHANNEL","CHECKSUM","PAGE_CHECKSUM","CIPHER","CLASS_ORIGIN","CLIENT","CLOSE","CLUSTERING","COALESCE","CODE","COLUMNS","COLUMN_FORMAT","COLUMN_NAME","COMMENT","COMMIT","COMPACT","COMPLETION","COMPRESSED","COMPRESSION","CONCURRENT","CONNECT","CONNECTION","CONSISTENT","CONSTRAINT_CATALOG","CONSTRAINT_SCHEMA","CONSTRAINT_NAME","CONTAINS","CONTEXT","CONTRIBUTORS","COPY","CPU","CYCLE","CURSOR_NAME","DATA","DATAFILE","DEALLOCATE","DEFAULT_AUTH","DEFINER","DELAY_KEY_WRITE","DES_KEY_FILE","DIRECTORY","DISABLE","DISCARD","DISK","DO","DUMPFILE","DUPLICATE","DYNAMIC","ENABLE","ENCRYPTED","ENCRYPTION","ENCRYPTION_KEY_ID","END","ENDS","ENGINE","ENGINES","ERROR","ERRORS","ESCAPE","EVEN","EVENT","EVENTS","EVERY","EXCHANGE","EXCLUSIVE","EXPIRE","EXPORT","EXTENDED","EXTENT_SIZE","FAILED_LOGIN_ATTEMPTS","FAST","FAULTS","FIELDS","FILE_BLOCK_SIZE","FILTER","FIRST","FIXED","FLUSH","FOLLOWING","FOLLOWS","FOUND","FULL","FUNCTION","GENERAL","GLOBAL","GRANTS","GROUP_REPLICATION","HANDLER","HASH","HELP","HISTORY","HOST","HOSTS","IDENTIFIED","IGNORE_SERVER_IDS","IMPORT","INCREMENT","INDEXES","INITIAL_SIZE","INPLACE","INSERT_METHOD","INSTALL","INSTANCE","INSTANT","INVISIBLE","INVOKER","IO","IO_THREAD","IPC","ISOLATION","ISSUER","JSON","KEY_BLOCK_SIZE","LANGUAGE","LAST","LEAVES","LESS","LEVEL","LIST","LOCAL","LOGFILE","LOGS","MASTER","MASTER_AUTO_POSITION","MASTER_CONNECT_RETRY","MASTER_DELAY","MASTER_HEARTBEAT_PERIOD","MASTER_HOST","MASTER_LOG_FILE","MASTER_LOG_POS","MASTER_PASSWORD","MASTER_PORT","MASTER_RETRY_COUNT","MASTER_SSL","MASTER_SSL_CA","MASTER_SSL_CAPATH","MASTER_SSL_CERT","MASTER_SSL_CIPHER","MASTER_SSL_CRL","MASTER_SSL_CRLPATH","MASTER_SSL_KEY","MASTER_TLS_VERSION","MASTER_USER","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_SIZE","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MEMBER","MERGE","MESSAGE_TEXT","MID","MIGRATE","MIN_ROWS","MODE","MODIFY","MUTEX","MYSQL","MYSQL_ERRNO","NAME","NAMES","NCHAR","NEVER","NEXT","NO","NOCACHE","NOCOPY","NOCYCLE","NOMAXVALUE","NOMINVALUE","NOWAIT","NODEGROUP","NONE","ODBC","OFFLINE","OFFSET","OF","OJ","OLD_PASSWORD","ONE","ONLINE","ONLY","OPEN","OPTIMIZER_COSTS","OPTIONS","OWNER","PACK_KEYS","PAGE","PAGE_COMPRESSED","PAGE_COMPRESSION_LEVEL","PARSER","PARTIAL","PARTITIONING","PARTITIONS","PASSWORD","PASSWORD_LOCK_TIME","PHASE","PLUGIN","PLUGIN_DIR","PLUGINS","PORT","PRECEDES","PRECEDING","PREPARE","PRESERVE","PREV","PROCESSLIST","PROFILE","PROFILES","PROXY","QUERY","QUICK","REBUILD","RECOVER","RECURSIVE","REDO_BUFFER_SIZE","REDUNDANT","RELAY","RELAY_LOG_FILE","RELAY_LOG_POS","RELAYLOG","REMOVE","REORGANIZE","REPAIR","REPLICATE_DO_DB","REPLICATE_DO_TABLE","REPLICATE_IGNORE_DB","REPLICATE_IGNORE_TABLE","REPLICATE_REWRITE_DB","REPLICATE_WILD_DO_TABLE","REPLICATE_WILD_IGNORE_TABLE","REPLICATION","RESET","RESTART","RESUME","RETURNED_SQLSTATE","RETURNING","RETURNS","REUSE","ROLE","ROLLBACK","ROLLUP","ROTATE","ROW","ROWS","ROW_FORMAT","RTREE","SAVEPOINT","SCHEDULE","SECURITY","SEQUENCE","SERVER","SESSION","SHARE","SHARED","SIGNED","SIMPLE","SLAVE","SLOW","SNAPSHOT","SOCKET","SOME","SONAME","SOUNDS","SOURCE","SQL_AFTER_GTIDS","SQL_AFTER_MTS_GAPS","SQL_BEFORE_GTIDS","SQL_BUFFER_RESULT","SQL_CACHE","SQL_NO_CACHE","SQL_THREAD","START","STARTS","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STATUS","STOP","STORAGE","STORED","STRING","SUBCLASS_ORIGIN","SUBJECT","SUBPARTITION","SUBPARTITIONS","SUSPEND","SWAPS","SWITCHES","TABLE_NAME","TABLESPACE","TABLE_TYPE","TEMPORARY","TEMPTABLE","THAN","TRADITIONAL","TRANSACTION","TRANSACTIONAL","TRIGGERS","TRUNCATE","UNBOUNDED","UNDEFINED","UNDOFILE","UNDO_BUFFER_SIZE","UNINSTALL","UNKNOWN","UNTIL","UPGRADE","USER","USE_FRM","USER_RESOURCES","VALIDATION","VALUE","VARIABLES","VIEW","VIRTUAL","VISIBLE","WAIT","WARNINGS","WINDOW","WITHOUT","WORK","WRAPPER","X509","XA","XML","YES","EUR","USA","JIS","ISO","INTERNAL","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","MICROSECOND","ADMIN","APPLICATION_PASSWORD_ADMIN","AUDIT_ABORT_EXEMPT","AUDIT_ADMIN","AUTHENTICATION_POLICY_ADMIN","BACKUP_ADMIN","BINLOG_ADMIN","BINLOG_ENCRYPTION_ADMIN","CLONE_ADMIN","CONNECTION_ADMIN","ENCRYPTION_KEY_ADMIN","EXECUTE","FILE","FIREWALL_ADMIN","FIREWALL_EXEMPT","FIREWALL_USER","FLUSH_OPTIMIZER_COSTS","FLUSH_STATUS","FLUSH_TABLES","FLUSH_USER_RESOURCES","GROUP_REPLICATION_ADMIN","INNODB_REDO_LOG_ARCHIVE","INNODB_REDO_LOG_ENABLE","INVOKE","LAMBDA","NDB_STORED_USER","PASSWORDLESS_USER_ADMIN","PERSIST_RO_VARIABLES_ADMIN","PRIVILEGES","PROCESS","RELOAD","REPLICATION_APPLIER","REPLICATION_SLAVE_ADMIN","RESOURCE_GROUP_ADMIN","RESOURCE_GROUP_USER","ROLE_ADMIN","ROUTINE","S3","SERVICE_CONNECTION_ADMIN","SESSION_VARIABLES_ADMIN","SET_USER_ID","SHOW_ROUTINE","SHUTDOWN","SUPER","SYSTEM_VARIABLES_ADMIN","TABLES","TABLE_ENCRYPTION_ADMIN","VERSION_TOKEN_ADMIN","XA_RECOVER_ADMIN","ARMSCII8","ASCII","BIG5","CP1250","CP1251","CP1256","CP1257","CP850","CP852","CP866","CP932","DEC8","EUCJPMS","EUCKR","GB18030","GB2312","GBK","GEOSTD8","GREEK","HEBREW","HP8","KEYBCS2","KOI8R","KOI8U","LATIN1","LATIN2","LATIN5","LATIN7","MACCE","MACROMAN","SJIS","SWE7","TIS620","UCS2","UJIS","UTF16","UTF16LE","UTF32","UTF8","UTF8MB3","UTF8MB4","ARCHIVE","BLACKHOLE","CSV","FEDERATED","INNODB","MEMORY","MRG_MYISAM","MYISAM","NDB","NDBCLUSTER","PERFORMANCE_SCHEMA","TOKUDB","REPEATABLE","COMMITTED","UNCOMMITTED","SERIALIZABLE","GEOMETRYCOLLECTION","GEOMCOLLECTION","GEOMETRY","LINESTRING","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","POINT","POLYGON","ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","AREA","ASBINARY","ASIN","ASTEXT","ASWKB","ASWKT","ASYMMETRIC_DECRYPT","ASYMMETRIC_DERIVE","ASYMMETRIC_ENCRYPT","ASYMMETRIC_SIGN","ASYMMETRIC_VERIFY","ATAN","ATAN2","BENCHMARK","BIN","BIT_COUNT","BIT_LENGTH","BUFFER","CATALOG_NAME","CEIL","CEILING","CENTROID","CHARACTER_LENGTH","CHARSET","CHAR_LENGTH","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","CREATE_ASYMMETRIC_PRIV_KEY","CREATE_ASYMMETRIC_PUB_KEY","CREATE_DH_PARAMETERS","CREATE_DIGEST","CROSSES","DATEDIFF","DATE_FORMAT","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEGREES","DES_DECRYPT","DES_ENCRYPT","DIMENSION","DISJOINT","ELT","ENCODE","ENCRYPT","ENDPOINT","ENGINE_ATTRIBUTE","ENVELOPE","EQUALS","EXP","EXPORT_SET","EXTERIORRING","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLFROMTEXT","GEOMCOLLFROMWKB","GEOMETRYCOLLECTIONFROMTEXT","GEOMETRYCOLLECTIONFROMWKB","GEOMETRYFROMTEXT","GEOMETRYFROMWKB","GEOMETRYN","GEOMETRYTYPE","GEOMFROMTEXT","GEOMFROMWKB","GET_FORMAT","GET_LOCK","GLENGTH","GREATEST","GTID_SUBSET","GTID_SUBTRACT","HEX","IFNULL","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSTR","INTERIORRINGN","INTERSECTS","ISCLOSED","ISEMPTY","ISNULL","ISSIMPLE","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LINEFROMTEXT","LINEFROMWKB","LINESTRINGFROMTEXT","LINESTRINGFROMWKB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKEDATE","MAKETIME","MAKE_SET","MASTER_POS_WAIT","MBRCONTAINS","MBRDISJOINT","MBREQUAL","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MLINEFROMTEXT","MLINEFROMWKB","MONTHNAME","MPOINTFROMTEXT","MPOINTFROMWKB","MPOLYFROMTEXT","MPOLYFROMWKB","MULTILINESTRINGFROMTEXT","MULTILINESTRINGFROMWKB","MULTIPOINTFROMTEXT","MULTIPOINTFROMWKB","MULTIPOLYGONFROMTEXT","MULTIPOLYGONFROMWKB","NAME_CONST","NULLIF","NUMGEOMETRIES","NUMINTERIORRINGS","NUMPOINTS","OCT","OCTET_LENGTH","ORD","OVERLAPS","PERIOD_ADD","PERIOD_DIFF","PI","POINTFROMTEXT","POINTFROMWKB","POINTN","POLYFROMTEXT","POLYFROMWKB","POLYGONFROMTEXT","POLYGONFROMWKB","POW","POWER","QUOTE","RADIANS","RAND","RANDOM","RANDOM_BYTES","RELEASE_LOCK","REVERSE","ROUND","ROW_COUNT","RPAD","RTRIM","SEC_TO_TIME","SECONDARY_ENGINE_ATTRIBUTE","SESSION_USER","SHA","SHA1","SHA2","SCHEMA_NAME","SIGN","SIN","SLEEP","SOUNDEX","SQL_THREAD_WAIT_AFTER_GTIDS","SQRT","SRID","STARTPOINT","STRCMP","STR_TO_DATE","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_ASWKB","ST_ASWKT","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMTXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYCOLLECTIONFROMTEXT","ST_GEOMETRYCOLLECTIONFROMWKB","ST_GEOMETRYFROMTEXT","ST_GEOMETRYFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINESTRINGFROMTEXT","ST_LINESTRINGFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMINTERIORRINGS","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_POLYGONFROMTEXT","ST_POLYGONFROMWKB","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_Y","SUBDATE","SUBSTRING_INDEX","SUBTIME","SYSTEM_USER","TAN","TIMEDIFF","TIMESTAMPADD","TIMESTAMPDIFF","TIME_FORMAT","TIME_TO_SEC","TOUCHES","TO_BASE64","TO_DAYS","TO_SECONDS","TP_CONNECTION_ADMIN","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VALIDATE_PASSWORD_STRENGTH","VERSION","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","WITHIN","YEARWEEK","Y_FUNCTION","X_FUNCTION","VAR_ASSIGN","PLUS_ASSIGN","MINUS_ASSIGN","MULT_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","STAR","DIVIDE","MODULE","PLUS","MINUS","DIV","MOD","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LR_BRACKET","RR_BRACKET","COMMA","SEMI","AT_SIGN","ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","QUOTE_SYMB","CHARSET_REVERSE_QOUTE_STRING","FILESIZE_LITERAL","START_NATIONAL_STRING_LITERAL","STRING_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","REAL_LITERAL","NULL_SPEC_LITERAL","BIT_STRING","STRING_CHARSET_NAME","DOT_ID","ID","REVERSE_QUOTE_ID","HOST_IP_ADDRESS","LOCAL_ID","GLOBAL_ID","CHARSET_NAME","EXPONENT_NUM_PART","ID_LITERAL","DQUOTA_STRING","SQUOTA_STRING","BQUOTA_STRING","HEX_DIGIT","DEC_DIGIT","BIT_STRING_L","IP_ADDRESS","ERROR_RECONGNIGION"],Ki._serializedATN=[4,0,1161,13703,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,2,403,7,403,2,404,7,404,2,405,7,405,2,406,7,406,2,407,7,407,2,408,7,408,2,409,7,409,2,410,7,410,2,411,7,411,2,412,7,412,2,413,7,413,2,414,7,414,2,415,7,415,2,416,7,416,2,417,7,417,2,418,7,418,2,419,7,419,2,420,7,420,2,421,7,421,2,422,7,422,2,423,7,423,2,424,7,424,2,425,7,425,2,426,7,426,2,427,7,427,2,428,7,428,2,429,7,429,2,430,7,430,2,431,7,431,2,432,7,432,2,433,7,433,2,434,7,434,2,435,7,435,2,436,7,436,2,437,7,437,2,438,7,438,2,439,7,439,2,440,7,440,2,441,7,441,2,442,7,442,2,443,7,443,2,444,7,444,2,445,7,445,2,446,7,446,2,447,7,447,2,448,7,448,2,449,7,449,2,450,7,450,2,451,7,451,2,452,7,452,2,453,7,453,2,454,7,454,2,455,7,455,2,456,7,456,2,457,7,457,2,458,7,458,2,459,7,459,2,460,7,460,2,461,7,461,2,462,7,462,2,463,7,463,2,464,7,464,2,465,7,465,2,466,7,466,2,467,7,467,2,468,7,468,2,469,7,469,2,470,7,470,2,471,7,471,2,472,7,472,2,473,7,473,2,474,7,474,2,475,7,475,2,476,7,476,2,477,7,477,2,478,7,478,2,479,7,479,2,480,7,480,2,481,7,481,2,482,7,482,2,483,7,483,2,484,7,484,2,485,7,485,2,486,7,486,2,487,7,487,2,488,7,488,2,489,7,489,2,490,7,490,2,491,7,491,2,492,7,492,2,493,7,493,2,494,7,494,2,495,7,495,2,496,7,496,2,497,7,497,2,498,7,498,2,499,7,499,2,500,7,500,2,501,7,501,2,502,7,502,2,503,7,503,2,504,7,504,2,505,7,505,2,506,7,506,2,507,7,507,2,508,7,508,2,509,7,509,2,510,7,510,2,511,7,511,2,512,7,512,2,513,7,513,2,514,7,514,2,515,7,515,2,516,7,516,2,517,7,517,2,518,7,518,2,519,7,519,2,520,7,520,2,521,7,521,2,522,7,522,2,523,7,523,2,524,7,524,2,525,7,525,2,526,7,526,2,527,7,527,2,528,7,528,2,529,7,529,2,530,7,530,2,531,7,531,2,532,7,532,2,533,7,533,2,534,7,534,2,535,7,535,2,536,7,536,2,537,7,537,2,538,7,538,2,539,7,539,2,540,7,540,2,541,7,541,2,542,7,542,2,543,7,543,2,544,7,544,2,545,7,545,2,546,7,546,2,547,7,547,2,548,7,548,2,549,7,549,2,550,7,550,2,551,7,551,2,552,7,552,2,553,7,553,2,554,7,554,2,555,7,555,2,556,7,556,2,557,7,557,2,558,7,558,2,559,7,559,2,560,7,560,2,561,7,561,2,562,7,562,2,563,7,563,2,564,7,564,2,565,7,565,2,566,7,566,2,567,7,567,2,568,7,568,2,569,7,569,2,570,7,570,2,571,7,571,2,572,7,572,2,573,7,573,2,574,7,574,2,575,7,575,2,576,7,576,2,577,7,577,2,578,7,578,2,579,7,579,2,580,7,580,2,581,7,581,2,582,7,582,2,583,7,583,2,584,7,584,2,585,7,585,2,586,7,586,2,587,7,587,2,588,7,588,2,589,7,589,2,590,7,590,2,591,7,591,2,592,7,592,2,593,7,593,2,594,7,594,2,595,7,595,2,596,7,596,2,597,7,597,2,598,7,598,2,599,7,599,2,600,7,600,2,601,7,601,2,602,7,602,2,603,7,603,2,604,7,604,2,605,7,605,2,606,7,606,2,607,7,607,2,608,7,608,2,609,7,609,2,610,7,610,2,611,7,611,2,612,7,612,2,613,7,613,2,614,7,614,2,615,7,615,2,616,7,616,2,617,7,617,2,618,7,618,2,619,7,619,2,620,7,620,2,621,7,621,2,622,7,622,2,623,7,623,2,624,7,624,2,625,7,625,2,626,7,626,2,627,7,627,2,628,7,628,2,629,7,629,2,630,7,630,2,631,7,631,2,632,7,632,2,633,7,633,2,634,7,634,2,635,7,635,2,636,7,636,2,637,7,637,2,638,7,638,2,639,7,639,2,640,7,640,2,641,7,641,2,642,7,642,2,643,7,643,2,644,7,644,2,645,7,645,2,646,7,646,2,647,7,647,2,648,7,648,2,649,7,649,2,650,7,650,2,651,7,651,2,652,7,652,2,653,7,653,2,654,7,654,2,655,7,655,2,656,7,656,2,657,7,657,2,658,7,658,2,659,7,659,2,660,7,660,2,661,7,661,2,662,7,662,2,663,7,663,2,664,7,664,2,665,7,665,2,666,7,666,2,667,7,667,2,668,7,668,2,669,7,669,2,670,7,670,2,671,7,671,2,672,7,672,2,673,7,673,2,674,7,674,2,675,7,675,2,676,7,676,2,677,7,677,2,678,7,678,2,679,7,679,2,680,7,680,2,681,7,681,2,682,7,682,2,683,7,683,2,684,7,684,2,685,7,685,2,686,7,686,2,687,7,687,2,688,7,688,2,689,7,689,2,690,7,690,2,691,7,691,2,692,7,692,2,693,7,693,2,694,7,694,2,695,7,695,2,696,7,696,2,697,7,697,2,698,7,698,2,699,7,699,2,700,7,700,2,701,7,701,2,702,7,702,2,703,7,703,2,704,7,704,2,705,7,705,2,706,7,706,2,707,7,707,2,708,7,708,2,709,7,709,2,710,7,710,2,711,7,711,2,712,7,712,2,713,7,713,2,714,7,714,2,715,7,715,2,716,7,716,2,717,7,717,2,718,7,718,2,719,7,719,2,720,7,720,2,721,7,721,2,722,7,722,2,723,7,723,2,724,7,724,2,725,7,725,2,726,7,726,2,727,7,727,2,728,7,728,2,729,7,729,2,730,7,730,2,731,7,731,2,732,7,732,2,733,7,733,2,734,7,734,2,735,7,735,2,736,7,736,2,737,7,737,2,738,7,738,2,739,7,739,2,740,7,740,2,741,7,741,2,742,7,742,2,743,7,743,2,744,7,744,2,745,7,745,2,746,7,746,2,747,7,747,2,748,7,748,2,749,7,749,2,750,7,750,2,751,7,751,2,752,7,752,2,753,7,753,2,754,7,754,2,755,7,755,2,756,7,756,2,757,7,757,2,758,7,758,2,759,7,759,2,760,7,760,2,761,7,761,2,762,7,762,2,763,7,763,2,764,7,764,2,765,7,765,2,766,7,766,2,767,7,767,2,768,7,768,2,769,7,769,2,770,7,770,2,771,7,771,2,772,7,772,2,773,7,773,2,774,7,774,2,775,7,775,2,776,7,776,2,777,7,777,2,778,7,778,2,779,7,779,2,780,7,780,2,781,7,781,2,782,7,782,2,783,7,783,2,784,7,784,2,785,7,785,2,786,7,786,2,787,7,787,2,788,7,788,2,789,7,789,2,790,7,790,2,791,7,791,2,792,7,792,2,793,7,793,2,794,7,794,2,795,7,795,2,796,7,796,2,797,7,797,2,798,7,798,2,799,7,799,2,800,7,800,2,801,7,801,2,802,7,802,2,803,7,803,2,804,7,804,2,805,7,805,2,806,7,806,2,807,7,807,2,808,7,808,2,809,7,809,2,810,7,810,2,811,7,811,2,812,7,812,2,813,7,813,2,814,7,814,2,815,7,815,2,816,7,816,2,817,7,817,2,818,7,818,2,819,7,819,2,820,7,820,2,821,7,821,2,822,7,822,2,823,7,823,2,824,7,824,2,825,7,825,2,826,7,826,2,827,7,827,2,828,7,828,2,829,7,829,2,830,7,830,2,831,7,831,2,832,7,832,2,833,7,833,2,834,7,834,2,835,7,835,2,836,7,836,2,837,7,837,2,838,7,838,2,839,7,839,2,840,7,840,2,841,7,841,2,842,7,842,2,843,7,843,2,844,7,844,2,845,7,845,2,846,7,846,2,847,7,847,2,848,7,848,2,849,7,849,2,850,7,850,2,851,7,851,2,852,7,852,2,853,7,853,2,854,7,854,2,855,7,855,2,856,7,856,2,857,7,857,2,858,7,858,2,859,7,859,2,860,7,860,2,861,7,861,2,862,7,862,2,863,7,863,2,864,7,864,2,865,7,865,2,866,7,866,2,867,7,867,2,868,7,868,2,869,7,869,2,870,7,870,2,871,7,871,2,872,7,872,2,873,7,873,2,874,7,874,2,875,7,875,2,876,7,876,2,877,7,877,2,878,7,878,2,879,7,879,2,880,7,880,2,881,7,881,2,882,7,882,2,883,7,883,2,884,7,884,2,885,7,885,2,886,7,886,2,887,7,887,2,888,7,888,2,889,7,889,2,890,7,890,2,891,7,891,2,892,7,892,2,893,7,893,2,894,7,894,2,895,7,895,2,896,7,896,2,897,7,897,2,898,7,898,2,899,7,899,2,900,7,900,2,901,7,901,2,902,7,902,2,903,7,903,2,904,7,904,2,905,7,905,2,906,7,906,2,907,7,907,2,908,7,908,2,909,7,909,2,910,7,910,2,911,7,911,2,912,7,912,2,913,7,913,2,914,7,914,2,915,7,915,2,916,7,916,2,917,7,917,2,918,7,918,2,919,7,919,2,920,7,920,2,921,7,921,2,922,7,922,2,923,7,923,2,924,7,924,2,925,7,925,2,926,7,926,2,927,7,927,2,928,7,928,2,929,7,929,2,930,7,930,2,931,7,931,2,932,7,932,2,933,7,933,2,934,7,934,2,935,7,935,2,936,7,936,2,937,7,937,2,938,7,938,2,939,7,939,2,940,7,940,2,941,7,941,2,942,7,942,2,943,7,943,2,944,7,944,2,945,7,945,2,946,7,946,2,947,7,947,2,948,7,948,2,949,7,949,2,950,7,950,2,951,7,951,2,952,7,952,2,953,7,953,2,954,7,954,2,955,7,955,2,956,7,956,2,957,7,957,2,958,7,958,2,959,7,959,2,960,7,960,2,961,7,961,2,962,7,962,2,963,7,963,2,964,7,964,2,965,7,965,2,966,7,966,2,967,7,967,2,968,7,968,2,969,7,969,2,970,7,970,2,971,7,971,2,972,7,972,2,973,7,973,2,974,7,974,2,975,7,975,2,976,7,976,2,977,7,977,2,978,7,978,2,979,7,979,2,980,7,980,2,981,7,981,2,982,7,982,2,983,7,983,2,984,7,984,2,985,7,985,2,986,7,986,2,987,7,987,2,988,7,988,2,989,7,989,2,990,7,990,2,991,7,991,2,992,7,992,2,993,7,993,2,994,7,994,2,995,7,995,2,996,7,996,2,997,7,997,2,998,7,998,2,999,7,999,2,1e3,7,1e3,2,1001,7,1001,2,1002,7,1002,2,1003,7,1003,2,1004,7,1004,2,1005,7,1005,2,1006,7,1006,2,1007,7,1007,2,1008,7,1008,2,1009,7,1009,2,1010,7,1010,2,1011,7,1011,2,1012,7,1012,2,1013,7,1013,2,1014,7,1014,2,1015,7,1015,2,1016,7,1016,2,1017,7,1017,2,1018,7,1018,2,1019,7,1019,2,1020,7,1020,2,1021,7,1021,2,1022,7,1022,2,1023,7,1023,2,1024,7,1024,2,1025,7,1025,2,1026,7,1026,2,1027,7,1027,2,1028,7,1028,2,1029,7,1029,2,1030,7,1030,2,1031,7,1031,2,1032,7,1032,2,1033,7,1033,2,1034,7,1034,2,1035,7,1035,2,1036,7,1036,2,1037,7,1037,2,1038,7,1038,2,1039,7,1039,2,1040,7,1040,2,1041,7,1041,2,1042,7,1042,2,1043,7,1043,2,1044,7,1044,2,1045,7,1045,2,1046,7,1046,2,1047,7,1047,2,1048,7,1048,2,1049,7,1049,2,1050,7,1050,2,1051,7,1051,2,1052,7,1052,2,1053,7,1053,2,1054,7,1054,2,1055,7,1055,2,1056,7,1056,2,1057,7,1057,2,1058,7,1058,2,1059,7,1059,2,1060,7,1060,2,1061,7,1061,2,1062,7,1062,2,1063,7,1063,2,1064,7,1064,2,1065,7,1065,2,1066,7,1066,2,1067,7,1067,2,1068,7,1068,2,1069,7,1069,2,1070,7,1070,2,1071,7,1071,2,1072,7,1072,2,1073,7,1073,2,1074,7,1074,2,1075,7,1075,2,1076,7,1076,2,1077,7,1077,2,1078,7,1078,2,1079,7,1079,2,1080,7,1080,2,1081,7,1081,2,1082,7,1082,2,1083,7,1083,2,1084,7,1084,2,1085,7,1085,2,1086,7,1086,2,1087,7,1087,2,1088,7,1088,2,1089,7,1089,2,1090,7,1090,2,1091,7,1091,2,1092,7,1092,2,1093,7,1093,2,1094,7,1094,2,1095,7,1095,2,1096,7,1096,2,1097,7,1097,2,1098,7,1098,2,1099,7,1099,2,1100,7,1100,2,1101,7,1101,2,1102,7,1102,2,1103,7,1103,2,1104,7,1104,2,1105,7,1105,2,1106,7,1106,2,1107,7,1107,2,1108,7,1108,2,1109,7,1109,2,1110,7,1110,2,1111,7,1111,2,1112,7,1112,2,1113,7,1113,2,1114,7,1114,2,1115,7,1115,2,1116,7,1116,2,1117,7,1117,2,1118,7,1118,2,1119,7,1119,2,1120,7,1120,2,1121,7,1121,2,1122,7,1122,2,1123,7,1123,2,1124,7,1124,2,1125,7,1125,2,1126,7,1126,2,1127,7,1127,2,1128,7,1128,2,1129,7,1129,2,1130,7,1130,2,1131,7,1131,2,1132,7,1132,2,1133,7,1133,2,1134,7,1134,2,1135,7,1135,2,1136,7,1136,2,1137,7,1137,2,1138,7,1138,2,1139,7,1139,2,1140,7,1140,2,1141,7,1141,2,1142,7,1142,2,1143,7,1143,2,1144,7,1144,2,1145,7,1145,2,1146,7,1146,2,1147,7,1147,2,1148,7,1148,2,1149,7,1149,2,1150,7,1150,2,1151,7,1151,2,1152,7,1152,2,1153,7,1153,2,1154,7,1154,2,1155,7,1155,2,1156,7,1156,2,1157,7,1157,2,1158,7,1158,2,1159,7,1159,2,1160,7,1160,2,1161,7,1161,2,1162,7,1162,2,1163,7,1163,2,1164,7,1164,2,1165,7,1165,2,1166,7,1166,2,1167,7,1167,2,1168,7,1168,2,1169,7,1169,2,1170,7,1170,2,1171,7,1171,1,0,4,0,2347,8,0,11,0,12,0,2348,1,0,1,0,1,1,1,1,1,1,1,1,1,1,4,1,2358,8,1,11,1,12,1,2359,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,5,2,2371,8,2,10,2,12,2,2374,9,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,5,3,2385,8,3,10,3,12,3,2388,9,3,1,3,3,3,2391,8,3,1,3,5,3,2394,8,3,10,3,12,3,2397,9,3,1,3,3,3,2400,8,3,1,3,1,3,3,3,2404,8,3,1,3,1,3,1,3,1,3,3,3,2410,8,3,1,3,1,3,3,3,2414,8,3,3,3,2416,8,3,1,3,1,3,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,341,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,342,1,343,1,343,1,343,1,343,1,343,1,343,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,1,346,1,346,1,346,1,346,1,346,1,346,1,347,1,347,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,348,1,349,1,349,1,349,1,349,1,349,1,349,1,350,1,350,1,350,1,350,1,350,1,350,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,356,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,358,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,360,1,360,1,360,1,360,1,360,1,360,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,363,1,363,1,363,1,363,1,363,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,364,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,365,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,366,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,367,1,368,1,368,1,368,1,368,1,368,1,368,1,368,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,369,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,370,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,371,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,372,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,373,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,374,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,375,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,376,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,377,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,378,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,379,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,380,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,382,1,383,1,383,1,383,1,383,1,383,1,384,1,384,1,384,1,384,1,385,1,385,1,385,1,385,1,385,1,385,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,386,1,387,1,387,1,387,1,387,1,387,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,388,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,389,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,390,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,391,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,392,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,393,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,394,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,395,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,396,1,397,1,397,1,397,1,397,1,397,1,398,1,398,1,398,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,399,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,400,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,401,1,402,1,402,1,402,1,402,1,402,1,402,1,402,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,403,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,404,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,405,1,406,1,406,1,406,1,406,1,407,1,407,1,407,1,407,1,407,1,408,1,408,1,408,1,408,1,408,1,408,1,408,1,409,1,409,1,409,1,409,1,409,1,409,1,409,1,409,1,410,1,410,1,410,1,410,1,410,1,410,1,411,1,411,1,411,1,411,1,411,1,411,1,411,1,412,1,412,1,412,1,412,1,412,1,412,1,412,1,413,1,413,1,413,1,413,1,413,1,414,1,414,1,414,1,414,1,414,1,414,1,415,1,415,1,415,1,415,1,415,1,415,1,415,1,416,1,416,1,416,1,416,1,416,1,416,1,417,1,417,1,417,1,417,1,417,1,417,1,417,1,417,1,417,1,418,1,418,1,418,1,418,1,418,1,418,1,418,1,418,1,418,1,418,1,419,1,419,1,419,1,419,1,419,1,419,1,419,1,420,1,420,1,420,1,420,1,420,1,420,1,420,1,421,1,421,1,421,1,421,1,421,1,421,1,421,1,421,1,421,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,422,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,423,1,424,1,424,1,424,1,424,1,424,1,425,1,425,1,425,1,425,1,425,1,425,1,425,1,426,1,426,1,426,1,426,1,426,1,426,1,426,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,427,1,428,1,428,1,428,1,428,1,428,1,428,1,428,1,429,1,429,1,429,1,429,1,429,1,429,1,430,1,430,1,430,1,430,1,430,1,430,1,431,1,431,1,431,1,431,1,431,1,431,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,432,1,433,1,433,1,433,1,433,1,433,1,433,1,433,1,433,1,434,1,434,1,434,1,434,1,434,1,434,1,435,1,435,1,435,1,435,1,435,1,436,1,436,1,436,1,436,1,436,1,436,1,436,1,436,1,436,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,437,1,438,1,438,1,438,1,438,1,438,1,438,1,438,1,439,1,439,1,439,1,439,1,439,1,439,1,439,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,440,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,441,1,442,1,442,1,442,1,442,1,442,1,443,1,443,1,443,1,443,1,443,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,444,1,445,1,445,1,445,1,445,1,445,1,446,1,446,1,446,1,446,1,446,1,446,1,447,1,447,1,447,1,447,1,447,1,447,1,447,1,447,1,447,1,447,1,447,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,448,1,449,1,449,1,449,1,449,1,449,1,449,1,449,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,450,1,451,1,451,1,451,1,451,1,451,1,451,1,451,1,451,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,452,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,453,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,454,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,455,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,456,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,457,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,458,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,459,1,460,1,460,1,460,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,461,1,462,1,462,1,462,1,462,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,463,1,464,1,464,1,464,1,464,1,464,1,464,1,464,1,465,1,465,1,465,1,465,1,465,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,466,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,467,1,468,1,468,1,468,1,468,1,468,1,469,1,469,1,469,1,469,1,469,1,469,1,469,1,470,1,470,1,470,1,470,1,470,1,471,1,471,1,471,1,471,1,471,1,471,1,472,1,472,1,472,1,472,1,472,1,473,1,473,1,473,1,473,1,473,1,473,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,474,1,475,1,475,1,475,1,475,1,475,1,476,1,476,1,476,1,476,1,476,1,476,1,476,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,477,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,478,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,479,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,480,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,481,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,482,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,483,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,484,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,485,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,486,1,487,1,487,1,487,1,487,1,487,1,487,1,487,1,487,1,487,1,487,1,487,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,488,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,489,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,490,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,491,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,492,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,493,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,494,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,495,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,496,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,497,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,498,1,499,1,499,1,499,1,499,1,499,1,499,1,499,1,499,1,499,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,500,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,501,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,502,1,503,1,503,1,503,1,503,1,503,1,503,1,503,1,504,1,504,1,504,1,504,1,504,1,504,1,504,1,505,1,505,1,505,1,505,1,505,1,505,1,506,1,506,1,506,1,506,1,506,1,506,1,506,1,506,1,506,1,506,1,506,1,506,1,506,1,507,1,507,1,507,1,507,1,508,1,508,1,508,1,508,1,508,1,508,1,508,1,508,1,509,1,509,1,509,1,509,1,509,1,509,1,509,1,509,1,509,1,510,1,510,1,510,1,510,1,510,1,511,1,511,1,511,1,511,1,511,1,511,1,511,1,512,1,512,1,512,1,512,1,512,1,512,1,513,1,513,1,513,1,513,1,513,1,513,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,514,1,515,1,515,1,515,1,515,1,515,1,516,1,516,1,516,1,516,1,516,1,516,1,517,1,517,1,517,1,517,1,517,1,517,1,518,1,518,1,518,1,518,1,518,1,518,1,519,1,519,1,519,1,519,1,519,1,520,1,520,1,520,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,521,1,522,1,522,1,522,1,522,1,522,1,522,1,522,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,523,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,524,1,525,1,525,1,525,1,525,1,525,1,525,1,525,1,525,1,525,1,525,1,525,1,526,1,526,1,526,1,526,1,526,1,526,1,526,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,527,1,528,1,528,1,528,1,528,1,528,1,529,1,529,1,529,1,529,1,529,1,530,1,530,1,530,1,530,1,530,1,530,1,530,1,530,1,531,1,531,1,531,1,531,1,531,1,531,1,531,1,532,1,532,1,532,1,533,1,533,1,533,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,534,1,535,1,535,1,535,1,535,1,536,1,536,1,536,1,536,1,536,1,536,1,536,1,537,1,537,1,537,1,537,1,537,1,538,1,538,1,538,1,538,1,538,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,539,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,540,1,541,1,541,1,541,1,541,1,541,1,541,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,542,1,543,1,543,1,543,1,543,1,543,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,544,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,545,1,546,1,546,1,546,1,546,1,546,1,546,1,546,1,547,1,547,1,547,1,547,1,547,1,547,1,547,1,547,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,548,1,549,1,549,1,549,1,549,1,549,1,549,1,549,1,549,1,549,1,549,1,549,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,550,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,551,1,552,1,552,1,552,1,552,1,552,1,552,1,553,1,553,1,553,1,553,1,553,1,553,1,553,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,554,1,555,1,555,1,555,1,555,1,555,1,555,1,555,1,555,1,556,1,556,1,556,1,556,1,556,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,557,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,558,1,559,1,559,1,559,1,559,1,559,1,559,1,559,1,559,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,560,1,561,1,561,1,561,1,561,1,561,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,562,1,563,1,563,1,563,1,563,1,563,1,563,1,563,1,563,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,564,1,565,1,565,1,565,1,565,1,565,1,565,1,566,1,566,1,566,1,566,1,566,1,566,1,567,1,567,1,567,1,567,1,567,1,567,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,568,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,569,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,570,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,571,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,572,1,573,1,573,1,573,1,573,1,573,1,573,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,574,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,575,1,576,1,576,1,576,1,576,1,576,1,576,1,576,1,576,1,576,1,577,1,577,1,577,1,577,1,577,1,577,1,577,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,578,1,579,1,579,1,579,1,579,1,579,1,579,1,579,1,580,1,580,1,580,1,580,1,580,1,580,1,580,1,580,1,580,1,580,1,580,1,580,1,580,1,580,1,580,1,580,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,581,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,582,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,583,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,584,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,585,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,586,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,587,1,588,1,588,1,588,1,588,1,588,1,588,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,589,1,590,1,590,1,590,1,590,1,590,1,590,1,590,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,591,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,592,1,593,1,593,1,593,1,593,1,593,1,593,1,593,1,593,1,594,1,594,1,594,1,594,1,594,1,594,1,595,1,595,1,595,1,595,1,595,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,596,1,597,1,597,1,597,1,597,1,597,1,597,1,597,1,598,1,598,1,598,1,598,1,598,1,598,1,598,1,599,1,599,1,599,1,599,1,600,1,600,1,600,1,600,1,600,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,601,1,602,1,602,1,602,1,602,1,602,1,602,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,603,1,604,1,604,1,604,1,604,1,604,1,604,1,604,1,604,1,604,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,605,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,606,1,607,1,607,1,607,1,607,1,607,1,607,1,607,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,608,1,609,1,609,1,609,1,609,1,609,1,609,1,610,1,610,1,610,1,610,1,610,1,610,1,610,1,611,1,611,1,611,1,611,1,611,1,611,1,611,1,612,1,612,1,612,1,612,1,612,1,612,1,612,1,613,1,613,1,613,1,613,1,613,1,613,1,614,1,614,1,614,1,614,1,614,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,615,1,616,1,616,1,616,1,616,1,616,1,616,1,616,1,617,1,617,1,617,1,617,1,617,1,618,1,618,1,618,1,618,1,618,1,618,1,618,1,619,1,619,1,619,1,619,1,619,1,619,1,619,1,620,1,620,1,620,1,620,1,620,1,620,1,620,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,621,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,622,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,623,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,624,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,625,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,626,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,627,1,628,1,628,1,628,1,628,1,628,1,628,1,629,1,629,1,629,1,629,1,629,1,629,1,629,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,630,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,631,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,632,1,633,1,633,1,633,1,633,1,633,1,633,1,633,1,634,1,634,1,634,1,634,1,634,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,635,1,636,1,636,1,636,1,636,1,636,1,636,1,636,1,637,1,637,1,637,1,637,1,637,1,637,1,637,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,638,1,639,1,639,1,639,1,639,1,639,1,639,1,639,1,639,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,640,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,641,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,642,1,643,1,643,1,643,1,643,1,643,1,643,1,644,1,644,1,644,1,644,1,644,1,644,1,644,1,644,1,644,1,645,1,645,1,645,1,645,1,645,1,645,1,645,1,645,1,645,1,645,1,645,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,646,1,647,1,647,1,647,1,647,1,647,1,647,1,647,1,647,1,647,1,647,1,647,1,648,1,648,1,648,1,648,1,648,1,648,1,648,1,648,1,648,1,648,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,649,1,650,1,650,1,650,1,650,1,650,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,651,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,652,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,653,1,654,1,654,1,654,1,654,1,654,1,654,1,654,1,654,1,654,1,655,1,655,1,655,1,655,1,655,1,655,1,655,1,655,1,655,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,656,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,657,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,658,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,659,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,660,1,661,1,661,1,661,1,661,1,661,1,661,1,661,1,661,1,662,1,662,1,662,1,662,1,662,1,662,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,663,1,664,1,664,1,664,1,664,1,664,1,665,1,665,1,665,1,665,1,665,1,665,1,665,1,665,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,666,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,667,1,668,1,668,1,668,1,668,1,668,1,668,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,669,1,670,1,670,1,670,1,670,1,670,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,671,1,672,1,672,1,672,1,672,1,672,1,672,1,672,1,672,1,673,1,673,1,673,1,673,1,673,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,674,1,675,1,675,1,675,1,675,1,675,1,675,1,675,1,676,1,676,1,676,1,676,1,676,1,676,1,676,1,676,1,677,1,677,1,677,1,677,1,677,1,678,1,678,1,678,1,678,1,678,1,678,1,678,1,678,1,679,1,679,1,679,1,679,1,679,1,680,1,680,1,680,1,681,1,681,1,681,1,681,1,682,1,682,1,682,1,682,1,683,1,683,1,683,1,683,1,684,1,684,1,684,1,684,1,685,1,685,1,685,1,685,1,686,1,686,1,686,1,686,1,687,1,687,1,687,1,687,1,687,1,687,1,687,1,687,1,687,1,688,1,688,1,688,1,688,1,688,1,688,1,688,1,688,1,689,1,689,1,689,1,689,1,689,1,689,1,690,1,690,1,690,1,690,1,691,1,691,1,691,1,691,1,691,1,692,1,692,1,692,1,692,1,692,1,692,1,692,1,693,1,693,1,693,1,693,1,693,1,694,1,694,1,694,1,694,1,694,1,694,1,694,1,695,1,695,1,695,1,695,1,695,1,695,1,695,1,695,1,695,1,695,1,695,1,695,1,696,1,696,1,696,1,696,1,696,1,696,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,697,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,698,1,699,1,699,1,699,1,699,1,699,1,699,1,699,1,699,1,699,1,699,1,699,1,699,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,700,1,701,1,701,1,701,1,701,1,701,1,701,1,701,1,701,1,701,1,701,1,701,1,701,1,701,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,702,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,703,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,704,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,705,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,706,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,707,1,708,1,708,1,708,1,708,1,708,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,709,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,710,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,711,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,712,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,713,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,714,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,715,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,716,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,717,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,718,1,719,1,719,1,719,1,719,1,719,1,719,1,719,1,720,1,720,1,720,1,720,1,720,1,720,1,720,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,721,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,722,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,723,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,724,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,725,1,726,1,726,1,726,1,726,1,726,1,726,1,726,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,727,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,728,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,729,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,730,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,731,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,732,1,733,1,733,1,733,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,734,1,735,3,735,9262,8,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,1,735,3,735,9289,8,735,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,736,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,737,1,738,1,738,1,738,1,738,1,738,1,738,1,738,1,738,1,738,1,739,1,739,1,739,1,739,1,739,1,739,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,740,1,741,1,741,1,741,1,741,1,741,1,741,1,741,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,742,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,743,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,744,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,745,1,746,1,746,1,746,1,746,1,746,1,746,1,747,1,747,1,747,1,747,1,747,1,748,1,748,1,748,1,748,1,748,1,748,1,748,1,749,1,749,1,749,1,749,1,749,1,749,1,749,1,750,1,750,1,750,1,750,1,750,1,750,1,750,1,751,1,751,1,751,1,751,1,751,1,751,1,751,1,752,1,752,1,752,1,752,1,752,1,752,1,753,1,753,1,753,1,753,1,753,1,753,1,754,1,754,1,754,1,754,1,754,1,754,1,755,1,755,1,755,1,755,1,755,1,755,1,756,1,756,1,756,1,756,1,756,1,757,1,757,1,757,1,757,1,757,1,757,1,757,1,757,1,758,1,758,1,758,1,758,1,758,1,758,1,759,1,759,1,759,1,759,1,759,1,759,1,759,1,759,1,760,1,760,1,760,1,760,1,760,1,760,1,760,1,761,1,761,1,761,1,761,1,762,1,762,1,762,1,762,1,762,1,762,1,762,1,762,1,763,1,763,1,763,1,763,1,763,1,763,1,764,1,764,1,764,1,764,1,764,1,764,1,764,1,765,1,765,1,765,1,765,1,766,1,766,1,766,1,766,1,766,1,766,1,766,1,766,1,767,1,767,1,767,1,767,1,767,1,767,1,768,1,768,1,768,1,768,1,768,1,768,1,769,1,769,1,769,1,769,1,769,1,769,1,769,1,770,1,770,1,770,1,770,1,770,1,770,1,770,1,771,1,771,1,771,1,771,1,771,1,771,1,771,1,772,1,772,1,772,1,772,1,772,1,772,1,772,1,773,1,773,1,773,1,773,1,773,1,773,1,774,1,774,1,774,1,774,1,774,1,774,1,774,1,774,1,774,1,775,1,775,1,775,1,775,1,775,1,776,1,776,1,776,1,776,1,776,1,777,1,777,1,777,1,777,1,777,1,777,1,777,1,778,1,778,1,778,1,778,1,778,1,779,1,779,1,779,1,779,1,779,1,780,1,780,1,780,1,780,1,780,1,780,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,781,1,782,1,782,1,782,1,782,1,782,1,782,1,783,1,783,1,783,1,783,1,783,1,784,1,784,1,784,1,784,1,784,1,784,1,784,1,784,1,785,1,785,1,785,1,785,1,785,1,785,1,785,1,785,1,786,1,786,1,786,1,786,1,786,1,786,1,786,1,786,1,787,1,787,1,787,1,787,1,787,1,787,1,787,1,787,1,787,1,787,1,788,1,788,1,788,1,788,1,789,1,789,1,789,1,789,1,789,1,789,1,789,1,789,1,789,1,789,1,790,1,790,1,790,1,790,1,790,1,790,1,790,1,791,1,791,1,791,1,791,1,791,1,791,1,791,1,792,1,792,1,792,1,792,1,792,1,792,1,792,1,792,1,792,1,792,1,792,1,793,1,793,1,793,1,793,1,793,1,793,1,793,1,794,1,794,1,794,1,794,1,795,1,795,1,795,1,795,1,795,1,795,1,795,1,795,1,795,1,795,1,795,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,796,1,797,1,797,1,797,1,797,1,797,1,797,1,797,1,798,1,798,1,798,1,798,1,798,1,798,1,798,1,798,1,798,1,798,1,798,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,799,1,800,1,800,1,800,1,800,1,800,1,800,1,800,1,800,1,800,1,800,1,800,1,800,1,801,1,801,1,801,1,801,1,801,1,801,1,801,1,801,1,801,1,801,1,801,1,801,1,801,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,802,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,803,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,804,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,805,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,806,1,807,1,807,1,807,1,807,1,807,1,807,1,807,1,807,1,807,1,807,1,807,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,808,1,809,1,809,1,809,1,809,1,809,1,809,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,810,1,811,1,811,1,811,1,811,1,812,1,812,1,812,1,812,1,812,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,813,1,814,1,814,1,814,1,814,1,814,1,814,1,814,1,814,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,815,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,816,1,817,1,817,1,817,1,817,1,817,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,818,1,819,1,819,1,819,1,819,1,819,1,820,1,820,1,820,1,820,1,820,1,820,1,820,1,821,1,821,1,821,1,821,1,821,1,821,1,822,1,822,1,822,1,822,1,822,1,822,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,823,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,824,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,825,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,826,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,827,1,828,1,828,1,828,1,828,1,828,1,829,1,829,1,829,1,829,1,829,1,829,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,830,1,831,1,831,1,831,1,831,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,832,1,833,1,833,1,833,1,833,1,833,1,833,1,833,1,833,1,833,1,833,1,833,1,834,1,834,1,834,1,834,1,834,1,834,1,834,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,835,1,836,1,836,1,836,1,836,1,836,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,837,1,838,1,838,1,838,1,838,1,838,1,838,1,838,1,838,1,838,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,839,1,840,1,840,1,840,1,840,1,840,1,840,1,840,1,840,1,841,1,841,1,841,1,841,1,841,1,841,1,841,1,841,1,841,1,841,1,841,1,841,1,842,1,842,1,842,1,842,1,842,1,842,1,842,1,842,1,842,1,842,1,842,1,842,1,842,1,843,1,843,1,843,1,843,1,843,1,843,1,843,1,843,1,843,1,843,1,844,1,844,1,844,1,844,1,844,1,844,1,844,1,844,1,844,1,845,1,845,1,845,1,845,1,845,1,845,1,845,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,846,1,847,1,847,1,847,1,847,1,847,1,847,1,847,1,847,1,847,1,847,1,847,1,847,1,847,1,847,1,848,1,848,1,848,1,848,1,848,1,849,1,849,1,849,1,849,1,849,1,849,1,849,1,849,1,849,1,849,1,849,1,850,1,850,1,850,1,850,1,851,1,851,1,851,1,851,1,852,1,852,1,852,1,852,1,852,1,852,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,853,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,854,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,855,1,856,1,856,1,856,1,856,1,856,1,856,1,856,1,856,1,856,1,856,1,856,1,856,1,856,1,856,1,857,1,857,1,857,1,857,1,857,1,857,1,857,1,857,1,858,1,858,1,858,1,858,1,858,1,858,1,858,1,858,1,858,1,859,1,859,1,859,1,859,1,859,1,859,1,859,1,859,1,859,1,859,1,859,1,859,1,860,1,860,1,860,1,860,1,860,1,860,1,860,1,860,1,861,1,861,1,861,1,861,1,861,1,861,1,861,1,861,1,861,1,861,1,861,1,862,1,862,1,862,1,862,1,862,1,862,1,862,1,862,1,862,1,862,1,863,1,863,1,863,1,863,1,863,1,863,1,863,1,863,1,863,1,863,1,864,1,864,1,864,1,864,1,864,1,864,1,864,1,865,1,865,1,865,1,865,1,865,1,865,1,865,1,865,1,866,1,866,1,866,1,866,1,866,1,866,1,866,1,866,1,866,1,866,1,866,1,866,1,867,1,867,1,867,1,867,1,867,1,867,1,867,1,867,1,867,1,867,1,867,1,867,1,868,1,868,1,868,1,868,1,868,1,868,1,868,1,868,1,868,1,868,1,869,1,869,1,869,1,869,1,869,1,869,1,869,1,869,1,869,1,870,1,870,1,870,1,870,1,871,1,871,1,871,1,871,1,871,1,871,1,871,1,872,1,872,1,872,1,872,1,872,1,872,1,872,1,872,1,873,1,873,1,873,1,873,1,873,1,873,1,873,1,873,1,873,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,874,1,875,1,875,1,875,1,875,1,875,1,875,1,875,1,875,1,875,1,876,1,876,1,876,1,876,1,876,1,876,1,876,1,877,1,877,1,877,1,877,1,878,1,878,1,878,1,878,1,878,1,878,1,878,1,878,1,878,1,878,1,878,1,879,1,879,1,879,1,879,1,879,1,879,1,879,1,879,1,879,1,879,1,879,1,879,1,879,1,880,1,880,1,880,1,880,1,880,1,880,1,880,1,880,1,880,1,880,1,880,1,880,1,880,1,881,1,881,1,881,1,881,1,881,1,881,1,882,1,882,1,882,1,882,1,882,1,882,1,882,1,882,1,882,1,882,1,882,1,882,1,883,1,883,1,883,1,883,1,883,1,883,1,884,1,884,1,884,1,884,1,884,1,884,1,884,1,885,1,885,1,885,1,885,1,885,1,885,1,885,1,885,1,885,1,885,1,885,1,886,1,886,1,886,1,886,1,886,1,886,1,886,1,886,1,886,1,886,1,886,1,886,1,887,1,887,1,887,1,887,1,887,1,887,1,887,1,887,1,887,1,887,1,888,1,888,1,888,1,888,1,888,1,888,1,888,1,888,1,888,1,888,1,888,1,888,1,888,1,888,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,889,1,890,1,890,1,890,1,890,1,890,1,890,1,890,1,890,1,890,1,890,1,890,1,890,1,890,1,890,1,890,1,890,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,891,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,892,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,893,1,894,1,894,1,894,1,894,1,894,1,894,1,894,1,894,1,894,1,894,1,894,1,894,1,894,1,894,1,894,1,894,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,895,1,896,1,896,1,896,1,896,1,896,1,896,1,896,1,896,1,896,1,896,1,896,1,896,1,896,1,897,1,897,1,897,1,897,1,897,1,897,1,897,1,897,1,897,1,897,1,897,1,897,1,897,1,898,1,898,1,898,1,898,1,898,1,898,1,898,1,898,1,898,1,898,1,898,1,898,1,899,1,899,1,899,1,899,1,899,1,899,1,899,1,899,1,899,1,899,1,899,1,900,1,900,1,900,1,900,1,900,1,900,1,900,1,900,1,900,1,901,1,901,1,901,1,901,1,901,1,901,1,901,1,901,1,902,1,902,1,902,1,902,1,902,1,902,1,902,1,902,1,902,1,903,1,903,1,903,1,903,1,903,1,903,1,903,1,903,1,903,1,903,1,903,1,903,1,904,1,904,1,904,1,904,1,904,1,904,1,904,1,904,1,904,1,904,1,904,1,904,1,904,1,904,1,905,1,905,1,905,1,905,1,906,1,906,1,906,1,906,1,906,1,906,1,906,1,907,1,907,1,907,1,907,1,907,1,907,1,907,1,907,1,907,1,907,1,907,1,908,1,908,1,908,1,908,1,908,1,908,1,908,1,908,1,908,1,908,1,908,1,909,1,909,1,909,1,909,1,909,1,909,1,909,1,909,1,909,1,909,1,910,1,910,1,910,1,910,1,910,1,910,1,910,1,910,1,910,1,910,1,911,1,911,1,911,1,911,1,911,1,911,1,912,1,912,1,912,1,912,1,912,1,912,1,912,1,912,1,912,1,912,1,912,1,912,1,912,1,912,1,913,1,913,1,913,1,913,1,913,1,913,1,913,1,913,1,913,1,913,1,913,1,914,1,914,1,914,1,914,1,914,1,914,1,914,1,914,1,914,1,915,1,915,1,915,1,915,1,915,1,915,1,915,1,915,1,916,1,916,1,916,1,916,1,916,1,916,1,916,1,917,1,917,1,917,1,917,1,917,1,917,1,917,1,917,1,917,1,918,1,918,1,918,1,918,1,918,1,918,1,918,1,918,1,918,1,918,1,918,1,918,1,918,1,919,1,919,1,919,1,919,1,919,1,919,1,919,1,919,1,920,1,920,1,920,1,920,1,920,1,920,1,920,1,920,1,920,1,920,1,920,1,920,1,920,1,920,1,920,1,921,1,921,1,921,1,921,1,921,1,921,1,921,1,921,1,921,1,921,1,921,1,921,1,921,1,921,1,921,1,922,1,922,1,922,1,922,1,922,1,922,1,922,1,922,1,923,1,923,1,923,1,923,1,923,1,923,1,923,1,923,1,923,1,923,1,923,1,923,1,923,1,924,1,924,1,924,1,924,1,924,1,924,1,924,1,924,1,924,1,924,1,924,1,924,1,924,1,924,1,924,1,925,1,925,1,925,1,925,1,925,1,925,1,926,1,926,1,926,1,926,1,926,1,926,1,927,1,927,1,927,1,927,1,927,1,927,1,927,1,928,1,928,1,928,1,928,1,928,1,928,1,928,1,928,1,928,1,928,1,928,1,928,1,928,1,929,1,929,1,929,1,929,1,929,1,929,1,929,1,929,1,929,1,929,1,929,1,929,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,930,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,931,1,932,1,932,1,932,1,933,1,933,1,933,1,933,1,933,1,933,1,933,1,933,1,933,1,933,1,934,1,934,1,934,1,934,1,934,1,934,1,934,1,935,1,935,1,935,1,935,1,936,1,936,1,936,1,936,1,936,1,936,1,937,1,937,1,937,1,937,1,937,1,938,1,938,1,938,1,938,1,938,1,938,1,939,1,939,1,939,1,939,1,939,1,940,1,940,1,940,1,940,1,940,1,940,1,941,1,941,1,941,1,941,1,941,1,941,1,941,1,941,1,941,1,942,1,942,1,942,1,942,1,942,1,942,1,942,1,942,1,942,1,943,1,943,1,943,1,943,1,943,1,943,1,943,1,943,1,943,1,944,1,944,1,944,1,944,1,944,1,944,1,944,1,944,1,944,1,944,1,944,1,944,1,944,1,944,1,944,1,944,1,945,1,945,1,945,1,945,1,945,1,945,1,945,1,945,1,945,1,945,1,945,1,945,1,946,1,946,1,946,1,946,1,946,1,946,1,946,1,946,1,946,1,946,1,946,1,946,1,947,1,947,1,947,1,947,1,947,1,947,1,947,1,947,1,947,1,948,1,948,1,948,1,948,1,948,1,948,1,948,1,948,1,948,1,948,1,948,1,948,1,948,1,948,1,949,1,949,1,949,1,949,1,949,1,949,1,949,1,949,1,949,1,949,1,949,1,949,1,950,1,950,1,950,1,950,1,950,1,950,1,950,1,950,1,950,1,950,1,950,1,951,1,951,1,951,1,951,1,951,1,951,1,951,1,951,1,951,1,951,1,952,1,952,1,952,1,952,1,953,1,953,1,953,1,953,1,953,1,953,1,953,1,953,1,953,1,953,1,953,1,953,1,953,1,953,1,954,1,954,1,954,1,954,1,954,1,954,1,954,1,954,1,954,1,954,1,954,1,954,1,954,1,955,1,955,1,955,1,955,1,955,1,955,1,955,1,955,1,955,1,955,1,956,1,956,1,956,1,956,1,956,1,956,1,956,1,956,1,956,1,956,1,956,1,956,1,956,1,956,1,956,1,957,1,957,1,957,1,957,1,957,1,957,1,957,1,957,1,957,1,957,1,957,1,957,1,957,1,957,1,958,1,958,1,958,1,958,1,958,1,958,1,958,1,958,1,958,1,958,1,958,1,958,1,958,1,958,1,959,1,959,1,959,1,959,1,959,1,959,1,959,1,959,1,959,1,959,1,959,1,959,1,959,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,960,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,961,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,962,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,963,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,964,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,965,1,966,1,966,1,966,1,966,1,966,1,966,1,966,1,966,1,966,1,966,1,966,1,967,1,967,1,967,1,967,1,967,1,967,1,967,1,968,1,968,1,968,1,968,1,968,1,968,1,968,1,968,1,968,1,968,1,968,1,968,1,968,1,968,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,969,1,970,1,970,1,970,1,970,1,970,1,970,1,970,1,970,1,970,1,970,1,971,1,971,1,971,1,971,1,972,1,972,1,972,1,972,1,972,1,972,1,972,1,972,1,972,1,972,1,972,1,972,1,972,1,973,1,973,1,973,1,973,1,974,1,974,1,974,1,974,1,974,1,974,1,974,1,974,1,974,1,975,1,975,1,975,1,975,1,975,1,975,1,975,1,975,1,975,1,975,1,975,1,976,1,976,1,976,1,976,1,976,1,976,1,976,1,976,1,976,1,976,1,976,1,976,1,977,1,977,1,977,1,978,1,978,1,978,1,978,1,978,1,978,1,978,1,978,1,978,1,978,1,978,1,978,1,978,1,978,1,979,1,979,1,979,1,979,1,979,1,979,1,979,1,979,1,979,1,979,1,979,1,979,1,979,1,980,1,980,1,980,1,980,1,980,1,980,1,980,1,981,1,981,1,981,1,981,1,981,1,981,1,981,1,981,1,981,1,981,1,981,1,981,1,981,1,982,1,982,1,982,1,982,1,982,1,982,1,982,1,982,1,982,1,982,1,982,1,982,1,983,1,983,1,983,1,983,1,983,1,983,1,983,1,983,1,983,1,983,1,983,1,983,1,983,1,983,1,983,1,983,1,984,1,984,1,984,1,984,1,984,1,984,1,984,1,984,1,984,1,984,1,984,1,984,1,984,1,984,1,984,1,985,1,985,1,985,1,985,1,986,1,986,1,986,1,986,1,986,1,986,1,987,1,987,1,987,1,987,1,987,1,987,1,988,1,988,1,988,1,988,1,988,1,988,1,988,1,988,1,989,1,989,1,989,1,989,1,989,1,990,1,990,1,990,1,990,1,990,1,990,1,990,1,991,1,991,1,991,1,991,1,991,1,991,1,991,1,991,1,991,1,991,1,991,1,991,1,991,1,992,1,992,1,992,1,992,1,992,1,992,1,992,1,992,1,992,1,992,1,992,1,992,1,992,1,993,1,993,1,993,1,993,1,993,1,993,1,993,1,993,1,994,1,994,1,994,1,994,1,994,1,994,1,995,1,995,1,995,1,995,1,995,1,995,1,995,1,995,1,995,1,995,1,996,1,996,1,996,1,996,1,996,1,997,1,997,1,997,1,997,1,997,1,997,1,998,1,998,1,998,1,998,1,998,1,998,1,998,1,998,1,998,1,998,1,998,1,998,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,999,1,1e3,1,1e3,1,1e3,1,1e3,1,1e3,1,1e3,1,1e3,1,1e3,1,1e3,1,1e3,1,1e3,1,1e3,1,1e3,1,1001,1,1001,1,1001,1,1001,1,1002,1,1002,1,1002,1,1002,1,1002,1,1003,1,1003,1,1003,1,1003,1,1003,1,1004,1,1004,1,1004,1,1004,1,1004,1,1004,1,1004,1,1004,1,1004,1,1004,1,1004,1,1004,1,1005,1,1005,1,1005,1,1005,1,1005,1,1006,1,1006,1,1006,1,1006,1,1007,1,1007,1,1007,1,1007,1,1007,1,1007,1,1008,1,1008,1,1008,1,1008,1,1008,1,1008,1,1008,1,1008,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1009,1,1010,1,1010,1,1010,1,1010,1,1010,1,1011,1,1011,1,1011,1,1011,1,1011,1,1012,1,1012,1,1012,1,1012,1,1012,1,1012,1,1012,1,1012,1,1012,1,1012,1,1012,1,1013,1,1013,1,1013,1,1013,1,1013,1,1013,1,1013,1,1014,1,1014,1,1014,1,1014,1,1014,1,1014,1,1014,1,1014,1,1014,1,1014,1,1014,1,1014,1,1015,1,1015,1,1015,1,1015,1,1015,1,1015,1,1015,1,1015,1,1016,1,1016,1,1016,1,1016,1,1016,1,1016,1,1016,1,1016,1,1016,1,1016,1,1016,1,1016,1,1017,1,1017,1,1017,1,1017,1,1017,1,1017,1,1017,1,1017,1,1017,1,1017,1,1018,1,1018,1,1018,1,1018,1,1018,1,1018,1,1018,1,1018,1,1018,1,1019,1,1019,1,1019,1,1019,1,1019,1,1019,1,1019,1,1019,1,1019,1,1020,1,1020,1,1020,1,1020,1,1020,1,1020,1,1020,1,1020,1,1020,1,1020,1,1021,1,1021,1,1021,1,1021,1,1021,1,1021,1,1021,1,1021,1,1021,1,1021,1,1021,1,1021,1,1022,1,1022,1,1022,1,1022,1,1022,1,1022,1,1022,1,1022,1,1022,1,1022,1,1022,1,1022,1,1023,1,1023,1,1023,1,1023,1,1023,1,1023,1,1023,1,1023,1,1023,1,1023,1,1023,1,1024,1,1024,1,1024,1,1024,1,1024,1,1024,1,1024,1,1024,1,1024,1,1024,1,1024,1,1024,1,1024,1,1024,1,1025,1,1025,1,1025,1,1025,1,1025,1,1025,1,1025,1,1025,1,1025,1,1025,1,1025,1,1025,1,1025,1,1026,1,1026,1,1026,1,1026,1,1026,1,1026,1,1026,1,1026,1,1026,1,1026,1,1026,1,1026,1,1027,1,1027,1,1027,1,1027,1,1027,1,1027,1,1027,1,1027,1,1027,1,1027,1,1027,1,1027,1,1028,1,1028,1,1028,1,1028,1,1028,1,1028,1,1028,1,1028,1,1028,1,1028,1,1028,1,1028,1,1029,1,1029,1,1029,1,1029,1,1029,1,1029,1,1029,1,1029,1,1029,1,1029,1,1029,1,1029,1,1030,1,1030,1,1030,1,1030,1,1030,1,1030,1,1030,1,1030,1,1030,1,1030,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1031,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1032,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1033,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1034,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1035,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1036,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1037,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1038,1,1039,1,1039,1,1039,1,1039,1,1039,1,1039,1,1039,1,1039,1,1039,1,1039,1,1039,1,1039,1,1039,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1040,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1041,1,1042,1,1042,1,1042,1,1042,1,1042,1,1042,1,1042,1,1042,1,1042,1,1042,1,1042,1,1042,1,1042,1,1042,1,1042,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1043,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1044,1,1045,1,1045,1,1045,1,1045,1,1045,1,1045,1,1045,1,1045,1,1045,1,1045,1,1045,1,1045,1,1045,1,1045,1,1046,1,1046,1,1046,1,1046,1,1046,1,1046,1,1046,1,1046,1,1046,1,1046,1,1046,1,1046,1,1047,1,1047,1,1047,1,1047,1,1047,1,1047,1,1047,1,1047,1,1047,1,1047,1,1047,1,1048,1,1048,1,1048,1,1048,1,1048,1,1048,1,1048,1,1048,1,1048,1,1048,1,1048,1,1048,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1049,1,1050,1,1050,1,1050,1,1050,1,1050,1,1050,1,1050,1,1050,1,1050,1,1050,1,1050,1,1050,1,1050,1,1050,1,1050,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1051,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1052,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1053,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1054,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1055,1,1056,1,1056,1,1056,1,1056,1,1056,1,1056,1,1056,1,1056,1,1056,1,1056,1,1056,1,1056,1,1056,1,1057,1,1057,1,1057,1,1057,1,1057,1,1057,1,1057,1,1057,1,1057,1,1057,1,1057,1,1057,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1058,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1059,1,1060,1,1060,1,1060,1,1060,1,1060,1,1060,1,1060,1,1060,1,1060,1,1060,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1061,1,1062,1,1062,1,1062,1,1062,1,1062,1,1062,1,1062,1,1062,1,1062,1,1062,1,1062,1,1062,1,1062,1,1062,1,1062,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1063,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1064,1,1065,1,1065,1,1065,1,1065,1,1065,1,1065,1,1065,1,1065,1,1066,1,1066,1,1066,1,1066,1,1066,1,1066,1,1066,1,1066,1,1066,1,1066,1,1066,1,1066,1,1066,1,1066,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1067,1,1068,1,1068,1,1068,1,1068,1,1068,1,1068,1,1068,1,1068,1,1068,1,1068,1,1068,1,1069,1,1069,1,1069,1,1069,1,1069,1,1069,1,1069,1,1069,1,1069,1,1070,1,1070,1,1070,1,1070,1,1070,1,1070,1,1070,1,1070,1,1070,1,1070,1,1071,1,1071,1,1071,1,1071,1,1071,1,1072,1,1072,1,1072,1,1072,1,1072,1,1073,1,1073,1,1073,1,1073,1,1073,1,1073,1,1073,1,1073,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1074,1,1075,1,1075,1,1075,1,1075,1,1075,1,1075,1,1075,1,1075,1,1076,1,1076,1,1076,1,1076,1,1076,1,1076,1,1076,1,1076,1,1076,1,1076,1,1076,1,1076,1,1077,1,1077,1,1077,1,1077,1,1078,1,1078,1,1078,1,1078,1,1078,1,1078,1,1078,1,1078,1,1078,1,1079,1,1079,1,1079,1,1079,1,1079,1,1079,1,1079,1,1079,1,1079,1,1079,1,1079,1,1079,1,1079,1,1080,1,1080,1,1080,1,1080,1,1080,1,1080,1,1080,1,1080,1,1080,1,1080,1,1080,1,1080,1,1080,1,1080,1,1081,1,1081,1,1081,1,1081,1,1081,1,1081,1,1081,1,1081,1,1081,1,1081,1,1081,1,1081,1,1082,1,1082,1,1082,1,1082,1,1082,1,1082,1,1082,1,1082,1,1082,1,1082,1,1082,1,1082,1,1083,1,1083,1,1083,1,1083,1,1083,1,1083,1,1083,1,1083,1,1084,1,1084,1,1084,1,1084,1,1084,1,1084,1,1084,1,1084,1,1084,1,1084,1,1085,1,1085,1,1085,1,1085,1,1085,1,1085,1,1085,1,1085,1,1086,1,1086,1,1086,1,1086,1,1086,1,1086,1,1086,1,1086,1,1086,1,1086,1,1086,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1087,1,1088,1,1088,1,1088,1,1088,1,1088,1,1088,1,1089,1,1089,1,1089,1,1089,1,1089,1,1089,1,1089,1,1089,1,1089,1,1089,1,1089,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1090,1,1091,1,1091,1,1091,1,1091,1,1091,1,1091,1,1092,1,1092,1,1092,1,1092,1,1092,1,1092,1,1092,1,1092,1,1092,1,1092,1,1092,1,1092,1,1092,1,1092,1,1092,1,1093,1,1093,1,1093,1,1093,1,1093,1,1093,1,1093,1,1093,1,1093,1,1093,1,1094,1,1094,1,1094,1,1094,1,1094,1,1094,1,1095,1,1095,1,1095,1,1095,1,1095,1,1096,1,1096,1,1096,1,1096,1,1096,1,1096,1,1096,1,1096,1,1096,1,1096,1,1096,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1097,1,1098,1,1098,1,1098,1,1098,1,1098,1,1098,1,1098,1,1098,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1099,1,1100,1,1100,1,1100,1,1100,1,1100,1,1100,1,1100,1,1100,1,1101,1,1101,1,1101,1,1101,1,1101,1,1101,1,1101,1,1101,1,1101,1,1101,1,1101,1,1102,1,1102,1,1102,1,1102,1,1102,1,1102,1,1102,1,1102,1,1102,1,1102,1,1102,1,1102,1,1102,1,1102,1,1103,1,1103,1,1103,1,1103,1,1103,1,1103,1,1103,1,1104,1,1104,1,1104,1,1104,1,1104,1,1104,1,1104,1,1104,1,1104,1,1105,1,1105,1,1106,1,1106,1,1107,1,1107,1,1107,1,1108,1,1108,1,1108,1,1109,1,1109,1,1109,1,1110,1,1110,1,1110,1,1111,1,1111,1,1111,1,1112,1,1112,1,1112,1,1113,1,1113,1,1113,1,1114,1,1114,1,1114,1,1115,1,1115,1,1115,1,1116,1,1116,1,1117,1,1117,1,1118,1,1118,1,1119,1,1119,1,1120,1,1120,1,1121,1,1121,1,1121,1,1121,1,1122,1,1122,1,1122,1,1122,1,1123,1,1123,1,1124,1,1124,1,1125,1,1125,1,1126,1,1126,1,1127,1,1127,1,1128,1,1128,1,1129,1,1129,1,1130,1,1130,1,1131,1,1131,1,1132,1,1132,1,1133,1,1133,1,1134,1,1134,1,1135,1,1135,1,1136,1,1136,1,1137,1,1137,1,1138,1,1138,1,1139,1,1139,1,1140,1,1140,1,1141,1,1141,1,1142,1,1142,1,1143,1,1143,1,1144,1,1144,1,1144,3,1144,13422,8,1144,1,1145,1,1145,1,1145,1,1145,1,1146,4,1146,13429,8,1146,11,1146,12,1146,13430,1,1146,1,1146,1,1147,1,1147,1,1147,1,1148,1,1148,1,1148,3,1148,13441,8,1148,1,1149,4,1149,13444,8,1149,11,1149,12,1149,13445,1,1150,1,1150,1,1150,1,1150,1,1150,4,1150,13453,8,1150,11,1150,12,1150,13454,1,1150,1,1150,1,1150,1,1150,1,1150,1,1150,4,1150,13463,8,1150,11,1150,12,1150,13464,3,1150,13467,8,1150,1,1151,5,1151,13470,8,1151,10,1151,12,1151,13473,9,1151,1,1151,1,1151,4,1151,13477,8,1151,11,1151,12,1151,13478,1,1151,4,1151,13482,8,1151,11,1151,12,1151,13483,1,1151,1,1151,1,1151,1,1151,5,1151,13490,8,1151,10,1151,12,1151,13493,9,1151,1,1151,1,1151,4,1151,13497,8,1151,11,1151,12,1151,13498,1,1151,1,1151,1,1151,4,1151,13504,8,1151,11,1151,12,1151,13505,1,1151,1,1151,3,1151,13510,8,1151,1,1152,1,1152,1,1152,1,1153,1,1153,1,1154,1,1154,1,1154,1,1155,1,1155,1,1155,1,1156,1,1156,1,1157,1,1157,1,1158,1,1158,1,1158,1,1159,1,1159,1,1159,4,1159,13533,8,1159,11,1159,12,1159,13534,3,1159,13537,8,1159,1,1160,1,1160,1,1160,4,1160,13542,8,1160,11,1160,12,1160,13543,1,1160,3,1160,13547,8,1160,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,1,1161,3,1161,13590,8,1161,1,1162,1,1162,3,1162,13594,8,1162,1,1162,4,1162,13597,8,1162,11,1162,12,1162,13598,1,1163,5,1163,13602,8,1163,10,1163,12,1163,13605,9,1163,1,1163,4,1163,13608,8,1163,11,1163,12,1163,13609,1,1163,5,1163,13613,8,1163,10,1163,12,1163,13616,9,1163,1,1164,1,1164,1,1164,1,1164,1,1164,1,1164,5,1164,13624,8,1164,10,1164,12,1164,13627,9,1164,1,1164,1,1164,1,1165,1,1165,1,1165,1,1165,1,1165,1,1165,5,1165,13637,8,1165,10,1165,12,1165,13640,9,1165,1,1165,1,1165,1,1166,1,1166,1,1166,1,1166,5,1166,13648,8,1166,10,1166,12,1166,13651,9,1166,1,1166,1,1166,1,1167,1,1167,1,1168,1,1168,1,1169,1,1169,1,1169,4,1169,13662,8,1169,11,1169,12,1169,13663,1,1169,1,1169,1,1170,4,1170,13669,8,1170,11,1170,12,1170,13670,1,1170,1,1170,4,1170,13675,8,1170,11,1170,12,1170,13676,1,1170,5,1170,13680,8,1170,10,1170,12,1170,13683,9,1170,1,1170,1,1170,5,1170,13687,8,1170,10,1170,12,1170,13690,9,1170,1,1170,1,1170,4,1170,13694,8,1170,11,1170,12,1170,13695,3,1170,13698,8,1170,1,1171,1,1171,1,1171,1,1171,4,2359,2372,13603,13609,0,1172,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413,207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431,216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449,225,451,226,453,227,455,228,457,229,459,230,461,231,463,232,465,233,467,234,469,235,471,236,473,237,475,238,477,239,479,240,481,241,483,242,485,243,487,244,489,245,491,246,493,247,495,248,497,249,499,250,501,251,503,252,505,253,507,254,509,255,511,256,513,257,515,258,517,259,519,260,521,261,523,262,525,263,527,264,529,265,531,266,533,267,535,268,537,269,539,270,541,271,543,272,545,273,547,274,549,275,551,276,553,277,555,278,557,279,559,280,561,281,563,282,565,283,567,284,569,285,571,286,573,287,575,288,577,289,579,290,581,291,583,292,585,293,587,294,589,295,591,296,593,297,595,298,597,299,599,300,601,301,603,302,605,303,607,304,609,305,611,306,613,307,615,308,617,309,619,310,621,311,623,312,625,313,627,314,629,315,631,316,633,317,635,318,637,319,639,320,641,321,643,322,645,323,647,324,649,325,651,326,653,327,655,328,657,329,659,330,661,331,663,332,665,333,667,334,669,335,671,336,673,337,675,338,677,339,679,340,681,341,683,342,685,343,687,344,689,345,691,346,693,347,695,348,697,349,699,350,701,351,703,352,705,353,707,354,709,355,711,356,713,357,715,358,717,359,719,360,721,361,723,362,725,363,727,364,729,365,731,366,733,367,735,368,737,369,739,370,741,371,743,372,745,373,747,374,749,375,751,376,753,377,755,378,757,379,759,380,761,381,763,382,765,383,767,384,769,385,771,386,773,387,775,388,777,389,779,390,781,391,783,392,785,393,787,394,789,395,791,396,793,397,795,398,797,399,799,400,801,401,803,402,805,403,807,404,809,405,811,406,813,407,815,408,817,409,819,410,821,411,823,412,825,413,827,414,829,415,831,416,833,417,835,418,837,419,839,420,841,421,843,422,845,423,847,424,849,425,851,426,853,427,855,428,857,429,859,430,861,431,863,432,865,433,867,434,869,435,871,436,873,437,875,438,877,439,879,440,881,441,883,442,885,443,887,444,889,445,891,446,893,447,895,448,897,449,899,450,901,451,903,452,905,453,907,454,909,455,911,456,913,457,915,458,917,459,919,460,921,461,923,462,925,463,927,464,929,465,931,466,933,467,935,468,937,469,939,470,941,471,943,472,945,473,947,474,949,475,951,476,953,477,955,478,957,479,959,480,961,481,963,482,965,483,967,484,969,485,971,486,973,487,975,488,977,489,979,490,981,491,983,492,985,493,987,494,989,495,991,496,993,497,995,498,997,499,999,500,1001,501,1003,502,1005,503,1007,504,1009,505,1011,506,1013,507,1015,508,1017,509,1019,510,1021,511,1023,512,1025,513,1027,514,1029,515,1031,516,1033,517,1035,518,1037,519,1039,520,1041,521,1043,522,1045,523,1047,524,1049,525,1051,526,1053,527,1055,528,1057,529,1059,530,1061,531,1063,532,1065,533,1067,534,1069,535,1071,536,1073,537,1075,538,1077,539,1079,540,1081,541,1083,542,1085,543,1087,544,1089,545,1091,546,1093,547,1095,548,1097,549,1099,550,1101,551,1103,552,1105,553,1107,554,1109,555,1111,556,1113,557,1115,558,1117,559,1119,560,1121,561,1123,562,1125,563,1127,564,1129,565,1131,566,1133,567,1135,568,1137,569,1139,570,1141,571,1143,572,1145,573,1147,574,1149,575,1151,576,1153,577,1155,578,1157,579,1159,580,1161,581,1163,582,1165,583,1167,584,1169,585,1171,586,1173,587,1175,588,1177,589,1179,590,1181,591,1183,592,1185,593,1187,594,1189,595,1191,596,1193,597,1195,598,1197,599,1199,600,1201,601,1203,602,1205,603,1207,604,1209,605,1211,606,1213,607,1215,608,1217,609,1219,610,1221,611,1223,612,1225,613,1227,614,1229,615,1231,616,1233,617,1235,618,1237,619,1239,620,1241,621,1243,622,1245,623,1247,624,1249,625,1251,626,1253,627,1255,628,1257,629,1259,630,1261,631,1263,632,1265,633,1267,634,1269,635,1271,636,1273,637,1275,638,1277,639,1279,640,1281,641,1283,642,1285,643,1287,644,1289,645,1291,646,1293,647,1295,648,1297,649,1299,650,1301,651,1303,652,1305,653,1307,654,1309,655,1311,656,1313,657,1315,658,1317,659,1319,660,1321,661,1323,662,1325,663,1327,664,1329,665,1331,666,1333,667,1335,668,1337,669,1339,670,1341,671,1343,672,1345,673,1347,674,1349,675,1351,676,1353,677,1355,678,1357,679,1359,680,1361,681,1363,682,1365,683,1367,684,1369,685,1371,686,1373,687,1375,688,1377,689,1379,690,1381,691,1383,692,1385,693,1387,694,1389,695,1391,696,1393,697,1395,698,1397,699,1399,700,1401,701,1403,702,1405,703,1407,704,1409,705,1411,706,1413,707,1415,708,1417,709,1419,710,1421,711,1423,712,1425,713,1427,714,1429,715,1431,716,1433,717,1435,718,1437,719,1439,720,1441,721,1443,722,1445,723,1447,724,1449,725,1451,726,1453,727,1455,728,1457,729,1459,730,1461,731,1463,732,1465,733,1467,734,1469,735,1471,736,1473,737,1475,738,1477,739,1479,740,1481,741,1483,742,1485,743,1487,744,1489,745,1491,746,1493,747,1495,748,1497,749,1499,750,1501,751,1503,752,1505,753,1507,754,1509,755,1511,756,1513,757,1515,758,1517,759,1519,760,1521,761,1523,762,1525,763,1527,764,1529,765,1531,766,1533,767,1535,768,1537,769,1539,770,1541,771,1543,772,1545,773,1547,774,1549,775,1551,776,1553,777,1555,778,1557,779,1559,780,1561,781,1563,782,1565,783,1567,784,1569,785,1571,786,1573,787,1575,788,1577,789,1579,790,1581,791,1583,792,1585,793,1587,794,1589,795,1591,796,1593,797,1595,798,1597,799,1599,800,1601,801,1603,802,1605,803,1607,804,1609,805,1611,806,1613,807,1615,808,1617,809,1619,810,1621,811,1623,812,1625,813,1627,814,1629,815,1631,816,1633,817,1635,818,1637,819,1639,820,1641,821,1643,822,1645,823,1647,824,1649,825,1651,826,1653,827,1655,828,1657,829,1659,830,1661,831,1663,832,1665,833,1667,834,1669,835,1671,836,1673,837,1675,838,1677,839,1679,840,1681,841,1683,842,1685,843,1687,844,1689,845,1691,846,1693,847,1695,848,1697,849,1699,850,1701,851,1703,852,1705,853,1707,854,1709,855,1711,856,1713,857,1715,858,1717,859,1719,860,1721,861,1723,862,1725,863,1727,864,1729,865,1731,866,1733,867,1735,868,1737,869,1739,870,1741,871,1743,872,1745,873,1747,874,1749,875,1751,876,1753,877,1755,878,1757,879,1759,880,1761,881,1763,882,1765,883,1767,884,1769,885,1771,886,1773,887,1775,888,1777,889,1779,890,1781,891,1783,892,1785,893,1787,894,1789,895,1791,896,1793,897,1795,898,1797,899,1799,900,1801,901,1803,902,1805,903,1807,904,1809,905,1811,906,1813,907,1815,908,1817,909,1819,910,1821,911,1823,912,1825,913,1827,914,1829,915,1831,916,1833,917,1835,918,1837,919,1839,920,1841,921,1843,922,1845,923,1847,924,1849,925,1851,926,1853,927,1855,928,1857,929,1859,930,1861,931,1863,932,1865,933,1867,934,1869,935,1871,936,1873,937,1875,938,1877,939,1879,940,1881,941,1883,942,1885,943,1887,944,1889,945,1891,946,1893,947,1895,948,1897,949,1899,950,1901,951,1903,952,1905,953,1907,954,1909,955,1911,956,1913,957,1915,958,1917,959,1919,960,1921,961,1923,962,1925,963,1927,964,1929,965,1931,966,1933,967,1935,968,1937,969,1939,970,1941,971,1943,972,1945,973,1947,974,1949,975,1951,976,1953,977,1955,978,1957,979,1959,980,1961,981,1963,982,1965,983,1967,984,1969,985,1971,986,1973,987,1975,988,1977,989,1979,990,1981,991,1983,992,1985,993,1987,994,1989,995,1991,996,1993,997,1995,998,1997,999,1999,1e3,2001,1001,2003,1002,2005,1003,2007,1004,2009,1005,2011,1006,2013,1007,2015,1008,2017,1009,2019,1010,2021,1011,2023,1012,2025,1013,2027,1014,2029,1015,2031,1016,2033,1017,2035,1018,2037,1019,2039,1020,2041,1021,2043,1022,2045,1023,2047,1024,2049,1025,2051,1026,2053,1027,2055,1028,2057,1029,2059,1030,2061,1031,2063,1032,2065,1033,2067,1034,2069,1035,2071,1036,2073,1037,2075,1038,2077,1039,2079,1040,2081,1041,2083,1042,2085,1043,2087,1044,2089,1045,2091,1046,2093,1047,2095,1048,2097,1049,2099,1050,2101,1051,2103,1052,2105,1053,2107,1054,2109,1055,2111,1056,2113,1057,2115,1058,2117,1059,2119,1060,2121,1061,2123,1062,2125,1063,2127,1064,2129,1065,2131,1066,2133,1067,2135,1068,2137,1069,2139,1070,2141,1071,2143,1072,2145,1073,2147,1074,2149,1075,2151,1076,2153,1077,2155,1078,2157,1079,2159,1080,2161,1081,2163,1082,2165,1083,2167,1084,2169,1085,2171,1086,2173,1087,2175,1088,2177,1089,2179,1090,2181,1091,2183,1092,2185,1093,2187,1094,2189,1095,2191,1096,2193,1097,2195,1098,2197,1099,2199,1100,2201,1101,2203,1102,2205,1103,2207,1104,2209,1105,2211,1106,2213,1107,2215,1108,2217,1109,2219,1110,2221,1111,2223,1112,2225,1113,2227,1114,2229,1115,2231,1116,2233,1117,2235,1118,2237,1119,2239,1120,2241,1121,2243,1122,2245,1123,2247,1124,2249,1125,2251,1126,2253,1127,2255,1128,2257,1129,2259,1130,2261,1131,2263,1132,2265,1133,2267,1134,2269,1135,2271,1136,2273,1137,2275,1138,2277,1139,2279,1140,2281,1141,2283,1142,2285,1143,2287,1144,2289,0,2291,1145,2293,1146,2295,1147,2297,1148,2299,1149,2301,1150,2303,1151,2305,1152,2307,1153,2309,1154,2311,1155,2313,1156,2315,1157,2317,1158,2319,1159,2321,1160,2323,0,2325,0,2327,0,2329,0,2331,0,2333,0,2335,0,2337,0,2339,0,2341,0,2343,1161,1,0,42,3,0,9,10,13,13,32,32,2,0,9,9,32,32,2,0,10,10,13,13,2,0,65,65,97,97,2,0,68,68,100,100,2,0,76,76,108,108,2,0,84,84,116,116,2,0,69,69,101,101,2,0,82,82,114,114,2,0,87,87,119,119,2,0,89,89,121,121,2,0,83,83,115,115,2,0,78,78,110,110,2,0,90,90,122,122,2,0,67,67,99,99,2,0,73,73,105,105,2,0,66,66,98,98,2,0,85,85,117,117,2,0,70,70,102,102,2,0,79,79,111,111,2,0,72,72,104,104,2,0,75,75,107,107,2,0,71,71,103,103,2,0,77,77,109,109,2,0,86,86,118,118,2,0,80,80,112,112,2,0,88,88,120,120,2,0,74,74,106,106,2,0,81,81,113,113,8,0,71,71,75,75,77,77,84,84,103,103,107,107,109,109,116,116,7,0,36,36,46,46,48,57,65,90,95,95,97,122,128,65535,2,0,43,43,45,45,6,0,36,36,48,57,65,90,95,95,97,122,128,65535,5,0,36,36,65,90,95,95,97,122,128,65535,2,0,34,34,92,92,2,0,39,39,92,92,1,0,96,96,3,0,48,57,65,70,97,102,1,0,48,57,1,0,48,49,2,0,46,46,48,57,3,0,48,58,65,70,97,102,13786,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,683,1,0,0,0,0,685,1,0,0,0,0,687,1,0,0,0,0,689,1,0,0,0,0,691,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,697,1,0,0,0,0,699,1,0,0,0,0,701,1,0,0,0,0,703,1,0,0,0,0,705,1,0,0,0,0,707,1,0,0,0,0,709,1,0,0,0,0,711,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,717,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,723,1,0,0,0,0,725,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,0,731,1,0,0,0,0,733,1,0,0,0,0,735,1,0,0,0,0,737,1,0,0,0,0,739,1,0,0,0,0,741,1,0,0,0,0,743,1,0,0,0,0,745,1,0,0,0,0,747,1,0,0,0,0,749,1,0,0,0,0,751,1,0,0,0,0,753,1,0,0,0,0,755,1,0,0,0,0,757,1,0,0,0,0,759,1,0,0,0,0,761,1,0,0,0,0,763,1,0,0,0,0,765,1,0,0,0,0,767,1,0,0,0,0,769,1,0,0,0,0,771,1,0,0,0,0,773,1,0,0,0,0,775,1,0,0,0,0,777,1,0,0,0,0,779,1,0,0,0,0,781,1,0,0,0,0,783,1,0,0,0,0,785,1,0,0,0,0,787,1,0,0,0,0,789,1,0,0,0,0,791,1,0,0,0,0,793,1,0,0,0,0,795,1,0,0,0,0,797,1,0,0,0,0,799,1,0,0,0,0,801,1,0,0,0,0,803,1,0,0,0,0,805,1,0,0,0,0,807,1,0,0,0,0,809,1,0,0,0,0,811,1,0,0,0,0,813,1,0,0,0,0,815,1,0,0,0,0,817,1,0,0,0,0,819,1,0,0,0,0,821,1,0,0,0,0,823,1,0,0,0,0,825,1,0,0,0,0,827,1,0,0,0,0,829,1,0,0,0,0,831,1,0,0,0,0,833,1,0,0,0,0,835,1,0,0,0,0,837,1,0,0,0,0,839,1,0,0,0,0,841,1,0,0,0,0,843,1,0,0,0,0,845,1,0,0,0,0,847,1,0,0,0,0,849,1,0,0,0,0,851,1,0,0,0,0,853,1,0,0,0,0,855,1,0,0,0,0,857,1,0,0,0,0,859,1,0,0,0,0,861,1,0,0,0,0,863,1,0,0,0,0,865,1,0,0,0,0,867,1,0,0,0,0,869,1,0,0,0,0,871,1,0,0,0,0,873,1,0,0,0,0,875,1,0,0,0,0,877,1,0,0,0,0,879,1,0,0,0,0,881,1,0,0,0,0,883,1,0,0,0,0,885,1,0,0,0,0,887,1,0,0,0,0,889,1,0,0,0,0,891,1,0,0,0,0,893,1,0,0,0,0,895,1,0,0,0,0,897,1,0,0,0,0,899,1,0,0,0,0,901,1,0,0,0,0,903,1,0,0,0,0,905,1,0,0,0,0,907,1,0,0,0,0,909,1,0,0,0,0,911,1,0,0,0,0,913,1,0,0,0,0,915,1,0,0,0,0,917,1,0,0,0,0,919,1,0,0,0,0,921,1,0,0,0,0,923,1,0,0,0,0,925,1,0,0,0,0,927,1,0,0,0,0,929,1,0,0,0,0,931,1,0,0,0,0,933,1,0,0,0,0,935,1,0,0,0,0,937,1,0,0,0,0,939,1,0,0,0,0,941,1,0,0,0,0,943,1,0,0,0,0,945,1,0,0,0,0,947,1,0,0,0,0,949,1,0,0,0,0,951,1,0,0,0,0,953,1,0,0,0,0,955,1,0,0,0,0,957,1,0,0,0,0,959,1,0,0,0,0,961,1,0,0,0,0,963,1,0,0,0,0,965,1,0,0,0,0,967,1,0,0,0,0,969,1,0,0,0,0,971,1,0,0,0,0,973,1,0,0,0,0,975,1,0,0,0,0,977,1,0,0,0,0,979,1,0,0,0,0,981,1,0,0,0,0,983,1,0,0,0,0,985,1,0,0,0,0,987,1,0,0,0,0,989,1,0,0,0,0,991,1,0,0,0,0,993,1,0,0,0,0,995,1,0,0,0,0,997,1,0,0,0,0,999,1,0,0,0,0,1001,1,0,0,0,0,1003,1,0,0,0,0,1005,1,0,0,0,0,1007,1,0,0,0,0,1009,1,0,0,0,0,1011,1,0,0,0,0,1013,1,0,0,0,0,1015,1,0,0,0,0,1017,1,0,0,0,0,1019,1,0,0,0,0,1021,1,0,0,0,0,1023,1,0,0,0,0,1025,1,0,0,0,0,1027,1,0,0,0,0,1029,1,0,0,0,0,1031,1,0,0,0,0,1033,1,0,0,0,0,1035,1,0,0,0,0,1037,1,0,0,0,0,1039,1,0,0,0,0,1041,1,0,0,0,0,1043,1,0,0,0,0,1045,1,0,0,0,0,1047,1,0,0,0,0,1049,1,0,0,0,0,1051,1,0,0,0,0,1053,1,0,0,0,0,1055,1,0,0,0,0,1057,1,0,0,0,0,1059,1,0,0,0,0,1061,1,0,0,0,0,1063,1,0,0,0,0,1065,1,0,0,0,0,1067,1,0,0,0,0,1069,1,0,0,0,0,1071,1,0,0,0,0,1073,1,0,0,0,0,1075,1,0,0,0,0,1077,1,0,0,0,0,1079,1,0,0,0,0,1081,1,0,0,0,0,1083,1,0,0,0,0,1085,1,0,0,0,0,1087,1,0,0,0,0,1089,1,0,0,0,0,1091,1,0,0,0,0,1093,1,0,0,0,0,1095,1,0,0,0,0,1097,1,0,0,0,0,1099,1,0,0,0,0,1101,1,0,0,0,0,1103,1,0,0,0,0,1105,1,0,0,0,0,1107,1,0,0,0,0,1109,1,0,0,0,0,1111,1,0,0,0,0,1113,1,0,0,0,0,1115,1,0,0,0,0,1117,1,0,0,0,0,1119,1,0,0,0,0,1121,1,0,0,0,0,1123,1,0,0,0,0,1125,1,0,0,0,0,1127,1,0,0,0,0,1129,1,0,0,0,0,1131,1,0,0,0,0,1133,1,0,0,0,0,1135,1,0,0,0,0,1137,1,0,0,0,0,1139,1,0,0,0,0,1141,1,0,0,0,0,1143,1,0,0,0,0,1145,1,0,0,0,0,1147,1,0,0,0,0,1149,1,0,0,0,0,1151,1,0,0,0,0,1153,1,0,0,0,0,1155,1,0,0,0,0,1157,1,0,0,0,0,1159,1,0,0,0,0,1161,1,0,0,0,0,1163,1,0,0,0,0,1165,1,0,0,0,0,1167,1,0,0,0,0,1169,1,0,0,0,0,1171,1,0,0,0,0,1173,1,0,0,0,0,1175,1,0,0,0,0,1177,1,0,0,0,0,1179,1,0,0,0,0,1181,1,0,0,0,0,1183,1,0,0,0,0,1185,1,0,0,0,0,1187,1,0,0,0,0,1189,1,0,0,0,0,1191,1,0,0,0,0,1193,1,0,0,0,0,1195,1,0,0,0,0,1197,1,0,0,0,0,1199,1,0,0,0,0,1201,1,0,0,0,0,1203,1,0,0,0,0,1205,1,0,0,0,0,1207,1,0,0,0,0,1209,1,0,0,0,0,1211,1,0,0,0,0,1213,1,0,0,0,0,1215,1,0,0,0,0,1217,1,0,0,0,0,1219,1,0,0,0,0,1221,1,0,0,0,0,1223,1,0,0,0,0,1225,1,0,0,0,0,1227,1,0,0,0,0,1229,1,0,0,0,0,1231,1,0,0,0,0,1233,1,0,0,0,0,1235,1,0,0,0,0,1237,1,0,0,0,0,1239,1,0,0,0,0,1241,1,0,0,0,0,1243,1,0,0,0,0,1245,1,0,0,0,0,1247,1,0,0,0,0,1249,1,0,0,0,0,1251,1,0,0,0,0,1253,1,0,0,0,0,1255,1,0,0,0,0,1257,1,0,0,0,0,1259,1,0,0,0,0,1261,1,0,0,0,0,1263,1,0,0,0,0,1265,1,0,0,0,0,1267,1,0,0,0,0,1269,1,0,0,0,0,1271,1,0,0,0,0,1273,1,0,0,0,0,1275,1,0,0,0,0,1277,1,0,0,0,0,1279,1,0,0,0,0,1281,1,0,0,0,0,1283,1,0,0,0,0,1285,1,0,0,0,0,1287,1,0,0,0,0,1289,1,0,0,0,0,1291,1,0,0,0,0,1293,1,0,0,0,0,1295,1,0,0,0,0,1297,1,0,0,0,0,1299,1,0,0,0,0,1301,1,0,0,0,0,1303,1,0,0,0,0,1305,1,0,0,0,0,1307,1,0,0,0,0,1309,1,0,0,0,0,1311,1,0,0,0,0,1313,1,0,0,0,0,1315,1,0,0,0,0,1317,1,0,0,0,0,1319,1,0,0,0,0,1321,1,0,0,0,0,1323,1,0,0,0,0,1325,1,0,0,0,0,1327,1,0,0,0,0,1329,1,0,0,0,0,1331,1,0,0,0,0,1333,1,0,0,0,0,1335,1,0,0,0,0,1337,1,0,0,0,0,1339,1,0,0,0,0,1341,1,0,0,0,0,1343,1,0,0,0,0,1345,1,0,0,0,0,1347,1,0,0,0,0,1349,1,0,0,0,0,1351,1,0,0,0,0,1353,1,0,0,0,0,1355,1,0,0,0,0,1357,1,0,0,0,0,1359,1,0,0,0,0,1361,1,0,0,0,0,1363,1,0,0,0,0,1365,1,0,0,0,0,1367,1,0,0,0,0,1369,1,0,0,0,0,1371,1,0,0,0,0,1373,1,0,0,0,0,1375,1,0,0,0,0,1377,1,0,0,0,0,1379,1,0,0,0,0,1381,1,0,0,0,0,1383,1,0,0,0,0,1385,1,0,0,0,0,1387,1,0,0,0,0,1389,1,0,0,0,0,1391,1,0,0,0,0,1393,1,0,0,0,0,1395,1,0,0,0,0,1397,1,0,0,0,0,1399,1,0,0,0,0,1401,1,0,0,0,0,1403,1,0,0,0,0,1405,1,0,0,0,0,1407,1,0,0,0,0,1409,1,0,0,0,0,1411,1,0,0,0,0,1413,1,0,0,0,0,1415,1,0,0,0,0,1417,1,0,0,0,0,1419,1,0,0,0,0,1421,1,0,0,0,0,1423,1,0,0,0,0,1425,1,0,0,0,0,1427,1,0,0,0,0,1429,1,0,0,0,0,1431,1,0,0,0,0,1433,1,0,0,0,0,1435,1,0,0,0,0,1437,1,0,0,0,0,1439,1,0,0,0,0,1441,1,0,0,0,0,1443,1,0,0,0,0,1445,1,0,0,0,0,1447,1,0,0,0,0,1449,1,0,0,0,0,1451,1,0,0,0,0,1453,1,0,0,0,0,1455,1,0,0,0,0,1457,1,0,0,0,0,1459,1,0,0,0,0,1461,1,0,0,0,0,1463,1,0,0,0,0,1465,1,0,0,0,0,1467,1,0,0,0,0,1469,1,0,0,0,0,1471,1,0,0,0,0,1473,1,0,0,0,0,1475,1,0,0,0,0,1477,1,0,0,0,0,1479,1,0,0,0,0,1481,1,0,0,0,0,1483,1,0,0,0,0,1485,1,0,0,0,0,1487,1,0,0,0,0,1489,1,0,0,0,0,1491,1,0,0,0,0,1493,1,0,0,0,0,1495,1,0,0,0,0,1497,1,0,0,0,0,1499,1,0,0,0,0,1501,1,0,0,0,0,1503,1,0,0,0,0,1505,1,0,0,0,0,1507,1,0,0,0,0,1509,1,0,0,0,0,1511,1,0,0,0,0,1513,1,0,0,0,0,1515,1,0,0,0,0,1517,1,0,0,0,0,1519,1,0,0,0,0,1521,1,0,0,0,0,1523,1,0,0,0,0,1525,1,0,0,0,0,1527,1,0,0,0,0,1529,1,0,0,0,0,1531,1,0,0,0,0,1533,1,0,0,0,0,1535,1,0,0,0,0,1537,1,0,0,0,0,1539,1,0,0,0,0,1541,1,0,0,0,0,1543,1,0,0,0,0,1545,1,0,0,0,0,1547,1,0,0,0,0,1549,1,0,0,0,0,1551,1,0,0,0,0,1553,1,0,0,0,0,1555,1,0,0,0,0,1557,1,0,0,0,0,1559,1,0,0,0,0,1561,1,0,0,0,0,1563,1,0,0,0,0,1565,1,0,0,0,0,1567,1,0,0,0,0,1569,1,0,0,0,0,1571,1,0,0,0,0,1573,1,0,0,0,0,1575,1,0,0,0,0,1577,1,0,0,0,0,1579,1,0,0,0,0,1581,1,0,0,0,0,1583,1,0,0,0,0,1585,1,0,0,0,0,1587,1,0,0,0,0,1589,1,0,0,0,0,1591,1,0,0,0,0,1593,1,0,0,0,0,1595,1,0,0,0,0,1597,1,0,0,0,0,1599,1,0,0,0,0,1601,1,0,0,0,0,1603,1,0,0,0,0,1605,1,0,0,0,0,1607,1,0,0,0,0,1609,1,0,0,0,0,1611,1,0,0,0,0,1613,1,0,0,0,0,1615,1,0,0,0,0,1617,1,0,0,0,0,1619,1,0,0,0,0,1621,1,0,0,0,0,1623,1,0,0,0,0,1625,1,0,0,0,0,1627,1,0,0,0,0,1629,1,0,0,0,0,1631,1,0,0,0,0,1633,1,0,0,0,0,1635,1,0,0,0,0,1637,1,0,0,0,0,1639,1,0,0,0,0,1641,1,0,0,0,0,1643,1,0,0,0,0,1645,1,0,0,0,0,1647,1,0,0,0,0,1649,1,0,0,0,0,1651,1,0,0,0,0,1653,1,0,0,0,0,1655,1,0,0,0,0,1657,1,0,0,0,0,1659,1,0,0,0,0,1661,1,0,0,0,0,1663,1,0,0,0,0,1665,1,0,0,0,0,1667,1,0,0,0,0,1669,1,0,0,0,0,1671,1,0,0,0,0,1673,1,0,0,0,0,1675,1,0,0,0,0,1677,1,0,0,0,0,1679,1,0,0,0,0,1681,1,0,0,0,0,1683,1,0,0,0,0,1685,1,0,0,0,0,1687,1,0,0,0,0,1689,1,0,0,0,0,1691,1,0,0,0,0,1693,1,0,0,0,0,1695,1,0,0,0,0,1697,1,0,0,0,0,1699,1,0,0,0,0,1701,1,0,0,0,0,1703,1,0,0,0,0,1705,1,0,0,0,0,1707,1,0,0,0,0,1709,1,0,0,0,0,1711,1,0,0,0,0,1713,1,0,0,0,0,1715,1,0,0,0,0,1717,1,0,0,0,0,1719,1,0,0,0,0,1721,1,0,0,0,0,1723,1,0,0,0,0,1725,1,0,0,0,0,1727,1,0,0,0,0,1729,1,0,0,0,0,1731,1,0,0,0,0,1733,1,0,0,0,0,1735,1,0,0,0,0,1737,1,0,0,0,0,1739,1,0,0,0,0,1741,1,0,0,0,0,1743,1,0,0,0,0,1745,1,0,0,0,0,1747,1,0,0,0,0,1749,1,0,0,0,0,1751,1,0,0,0,0,1753,1,0,0,0,0,1755,1,0,0,0,0,1757,1,0,0,0,0,1759,1,0,0,0,0,1761,1,0,0,0,0,1763,1,0,0,0,0,1765,1,0,0,0,0,1767,1,0,0,0,0,1769,1,0,0,0,0,1771,1,0,0,0,0,1773,1,0,0,0,0,1775,1,0,0,0,0,1777,1,0,0,0,0,1779,1,0,0,0,0,1781,1,0,0,0,0,1783,1,0,0,0,0,1785,1,0,0,0,0,1787,1,0,0,0,0,1789,1,0,0,0,0,1791,1,0,0,0,0,1793,1,0,0,0,0,1795,1,0,0,0,0,1797,1,0,0,0,0,1799,1,0,0,0,0,1801,1,0,0,0,0,1803,1,0,0,0,0,1805,1,0,0,0,0,1807,1,0,0,0,0,1809,1,0,0,0,0,1811,1,0,0,0,0,1813,1,0,0,0,0,1815,1,0,0,0,0,1817,1,0,0,0,0,1819,1,0,0,0,0,1821,1,0,0,0,0,1823,1,0,0,0,0,1825,1,0,0,0,0,1827,1,0,0,0,0,1829,1,0,0,0,0,1831,1,0,0,0,0,1833,1,0,0,0,0,1835,1,0,0,0,0,1837,1,0,0,0,0,1839,1,0,0,0,0,1841,1,0,0,0,0,1843,1,0,0,0,0,1845,1,0,0,0,0,1847,1,0,0,0,0,1849,1,0,0,0,0,1851,1,0,0,0,0,1853,1,0,0,0,0,1855,1,0,0,0,0,1857,1,0,0,0,0,1859,1,0,0,0,0,1861,1,0,0,0,0,1863,1,0,0,0,0,1865,1,0,0,0,0,1867,1,0,0,0,0,1869,1,0,0,0,0,1871,1,0,0,0,0,1873,1,0,0,0,0,1875,1,0,0,0,0,1877,1,0,0,0,0,1879,1,0,0,0,0,1881,1,0,0,0,0,1883,1,0,0,0,0,1885,1,0,0,0,0,1887,1,0,0,0,0,1889,1,0,0,0,0,1891,1,0,0,0,0,1893,1,0,0,0,0,1895,1,0,0,0,0,1897,1,0,0,0,0,1899,1,0,0,0,0,1901,1,0,0,0,0,1903,1,0,0,0,0,1905,1,0,0,0,0,1907,1,0,0,0,0,1909,1,0,0,0,0,1911,1,0,0,0,0,1913,1,0,0,0,0,1915,1,0,0,0,0,1917,1,0,0,0,0,1919,1,0,0,0,0,1921,1,0,0,0,0,1923,1,0,0,0,0,1925,1,0,0,0,0,1927,1,0,0,0,0,1929,1,0,0,0,0,1931,1,0,0,0,0,1933,1,0,0,0,0,1935,1,0,0,0,0,1937,1,0,0,0,0,1939,1,0,0,0,0,1941,1,0,0,0,0,1943,1,0,0,0,0,1945,1,0,0,0,0,1947,1,0,0,0,0,1949,1,0,0,0,0,1951,1,0,0,0,0,1953,1,0,0,0,0,1955,1,0,0,0,0,1957,1,0,0,0,0,1959,1,0,0,0,0,1961,1,0,0,0,0,1963,1,0,0,0,0,1965,1,0,0,0,0,1967,1,0,0,0,0,1969,1,0,0,0,0,1971,1,0,0,0,0,1973,1,0,0,0,0,1975,1,0,0,0,0,1977,1,0,0,0,0,1979,1,0,0,0,0,1981,1,0,0,0,0,1983,1,0,0,0,0,1985,1,0,0,0,0,1987,1,0,0,0,0,1989,1,0,0,0,0,1991,1,0,0,0,0,1993,1,0,0,0,0,1995,1,0,0,0,0,1997,1,0,0,0,0,1999,1,0,0,0,0,2001,1,0,0,0,0,2003,1,0,0,0,0,2005,1,0,0,0,0,2007,1,0,0,0,0,2009,1,0,0,0,0,2011,1,0,0,0,0,2013,1,0,0,0,0,2015,1,0,0,0,0,2017,1,0,0,0,0,2019,1,0,0,0,0,2021,1,0,0,0,0,2023,1,0,0,0,0,2025,1,0,0,0,0,2027,1,0,0,0,0,2029,1,0,0,0,0,2031,1,0,0,0,0,2033,1,0,0,0,0,2035,1,0,0,0,0,2037,1,0,0,0,0,2039,1,0,0,0,0,2041,1,0,0,0,0,2043,1,0,0,0,0,2045,1,0,0,0,0,2047,1,0,0,0,0,2049,1,0,0,0,0,2051,1,0,0,0,0,2053,1,0,0,0,0,2055,1,0,0,0,0,2057,1,0,0,0,0,2059,1,0,0,0,0,2061,1,0,0,0,0,2063,1,0,0,0,0,2065,1,0,0,0,0,2067,1,0,0,0,0,2069,1,0,0,0,0,2071,1,0,0,0,0,2073,1,0,0,0,0,2075,1,0,0,0,0,2077,1,0,0,0,0,2079,1,0,0,0,0,2081,1,0,0,0,0,2083,1,0,0,0,0,2085,1,0,0,0,0,2087,1,0,0,0,0,2089,1,0,0,0,0,2091,1,0,0,0,0,2093,1,0,0,0,0,2095,1,0,0,0,0,2097,1,0,0,0,0,2099,1,0,0,0,0,2101,1,0,0,0,0,2103,1,0,0,0,0,2105,1,0,0,0,0,2107,1,0,0,0,0,2109,1,0,0,0,0,2111,1,0,0,0,0,2113,1,0,0,0,0,2115,1,0,0,0,0,2117,1,0,0,0,0,2119,1,0,0,0,0,2121,1,0,0,0,0,2123,1,0,0,0,0,2125,1,0,0,0,0,2127,1,0,0,0,0,2129,1,0,0,0,0,2131,1,0,0,0,0,2133,1,0,0,0,0,2135,1,0,0,0,0,2137,1,0,0,0,0,2139,1,0,0,0,0,2141,1,0,0,0,0,2143,1,0,0,0,0,2145,1,0,0,0,0,2147,1,0,0,0,0,2149,1,0,0,0,0,2151,1,0,0,0,0,2153,1,0,0,0,0,2155,1,0,0,0,0,2157,1,0,0,0,0,2159,1,0,0,0,0,2161,1,0,0,0,0,2163,1,0,0,0,0,2165,1,0,0,0,0,2167,1,0,0,0,0,2169,1,0,0,0,0,2171,1,0,0,0,0,2173,1,0,0,0,0,2175,1,0,0,0,0,2177,1,0,0,0,0,2179,1,0,0,0,0,2181,1,0,0,0,0,2183,1,0,0,0,0,2185,1,0,0,0,0,2187,1,0,0,0,0,2189,1,0,0,0,0,2191,1,0,0,0,0,2193,1,0,0,0,0,2195,1,0,0,0,0,2197,1,0,0,0,0,2199,1,0,0,0,0,2201,1,0,0,0,0,2203,1,0,0,0,0,2205,1,0,0,0,0,2207,1,0,0,0,0,2209,1,0,0,0,0,2211,1,0,0,0,0,2213,1,0,0,0,0,2215,1,0,0,0,0,2217,1,0,0,0,0,2219,1,0,0,0,0,2221,1,0,0,0,0,2223,1,0,0,0,0,2225,1,0,0,0,0,2227,1,0,0,0,0,2229,1,0,0,0,0,2231,1,0,0,0,0,2233,1,0,0,0,0,2235,1,0,0,0,0,2237,1,0,0,0,0,2239,1,0,0,0,0,2241,1,0,0,0,0,2243,1,0,0,0,0,2245,1,0,0,0,0,2247,1,0,0,0,0,2249,1,0,0,0,0,2251,1,0,0,0,0,2253,1,0,0,0,0,2255,1,0,0,0,0,2257,1,0,0,0,0,2259,1,0,0,0,0,2261,1,0,0,0,0,2263,1,0,0,0,0,2265,1,0,0,0,0,2267,1,0,0,0,0,2269,1,0,0,0,0,2271,1,0,0,0,0,2273,1,0,0,0,0,2275,1,0,0,0,0,2277,1,0,0,0,0,2279,1,0,0,0,0,2281,1,0,0,0,0,2283,1,0,0,0,0,2285,1,0,0,0,0,2287,1,0,0,0,0,2291,1,0,0,0,0,2293,1,0,0,0,0,2295,1,0,0,0,0,2297,1,0,0,0,0,2299,1,0,0,0,0,2301,1,0,0,0,0,2303,1,0,0,0,0,2305,1,0,0,0,0,2307,1,0,0,0,0,2309,1,0,0,0,0,2311,1,0,0,0,0,2313,1,0,0,0,0,2315,1,0,0,0,0,2317,1,0,0,0,0,2319,1,0,0,0,0,2321,1,0,0,0,0,2343,1,0,0,0,1,2346,1,0,0,0,3,2352,1,0,0,0,5,2366,1,0,0,0,7,2415,1,0,0,0,9,2419,1,0,0,0,11,2423,1,0,0,0,13,2427,1,0,0,0,15,2433,1,0,0,0,17,2440,1,0,0,0,19,2448,1,0,0,0,21,2452,1,0,0,0,23,2458,1,0,0,0,25,2461,1,0,0,0,27,2465,1,0,0,0,29,2475,1,0,0,0,31,2482,1,0,0,0,33,2490,1,0,0,0,35,2495,1,0,0,0,37,2503,1,0,0,0,39,2506,1,0,0,0,41,2511,1,0,0,0,43,2519,1,0,0,0,45,2524,1,0,0,0,47,2529,1,0,0,0,49,2536,1,0,0,0,51,2546,1,0,0,0,53,2552,1,0,0,0,55,2560,1,0,0,0,57,2567,1,0,0,0,59,2577,1,0,0,0,61,2588,1,0,0,0,63,2597,1,0,0,0,65,2605,1,0,0,0,67,2612,1,0,0,0,69,2618,1,0,0,0,71,2626,1,0,0,0,73,2639,1,0,0,0,75,2652,1,0,0,0,77,2659,1,0,0,0,79,2668,1,0,0,0,81,2678,1,0,0,0,83,2686,1,0,0,0,85,2694,1,0,0,0,87,2702,1,0,0,0,89,2709,1,0,0,0,91,2714,1,0,0,0,93,2723,1,0,0,0,95,2737,1,0,0,0,97,2749,1,0,0,0,99,2758,1,0,0,0,101,2770,1,0,0,0,103,2775,1,0,0,0,105,2780,1,0,0,0,107,2785,1,0,0,0,109,2792,1,0,0,0,111,2798,1,0,0,0,113,2807,1,0,0,0,115,2816,1,0,0,0,117,2824,1,0,0,0,119,2831,1,0,0,0,121,2838,1,0,0,0,123,2843,1,0,0,0,125,2851,1,0,0,0,127,2857,1,0,0,0,129,2863,1,0,0,0,131,2867,1,0,0,0,133,2873,1,0,0,0,135,2881,1,0,0,0,137,2886,1,0,0,0,139,2895,1,0,0,0,141,2905,1,0,0,0,143,2909,1,0,0,0,145,2915,1,0,0,0,147,2921,1,0,0,0,149,2928,1,0,0,0,151,2942,1,0,0,0,153,2952,1,0,0,0,155,2955,1,0,0,0,157,2962,1,0,0,0,159,2970,1,0,0,0,161,2973,1,0,0,0,163,2979,1,0,0,0,165,2986,1,0,0,0,167,2992,1,0,0,0,169,2998,1,0,0,0,171,3005,1,0,0,0,173,3014,1,0,0,0,175,3019,1,0,0,0,177,3022,1,0,0,0,179,3030,1,0,0,0,181,3035,1,0,0,0,183,3039,1,0,0,0,185,3044,1,0,0,0,187,3049,1,0,0,0,189,3057,1,0,0,0,191,3065,1,0,0,0,193,3071,1,0,0,0,195,3076,1,0,0,0,197,3081,1,0,0,0,199,3087,1,0,0,0,201,3094,1,0,0,0,203,3100,1,0,0,0,205,3105,1,0,0,0,207,3110,1,0,0,0,209,3117,1,0,0,0,211,3122,1,0,0,0,213,3135,1,0,0,0,215,3147,1,0,0,0,217,3177,1,0,0,0,219,3183,1,0,0,0,221,3192,1,0,0,0,223,3201,1,0,0,0,225,3210,1,0,0,0,227,3218,1,0,0,0,229,3222,1,0,0,0,231,3241,1,0,0,0,233,3246,1,0,0,0,235,3253,1,0,0,0,237,3256,1,0,0,0,239,3265,1,0,0,0,241,3272,1,0,0,0,243,3281,1,0,0,0,245,3292,1,0,0,0,247,3295,1,0,0,0,249,3301,1,0,0,0,251,3305,1,0,0,0,253,3311,1,0,0,0,255,3319,1,0,0,0,257,3324,1,0,0,0,259,3334,1,0,0,0,261,3342,1,0,0,0,263,3352,1,0,0,0,265,3358,1,0,0,0,267,3364,1,0,0,0,269,3369,1,0,0,0,271,3375,1,0,0,0,273,3386,1,0,0,0,275,3393,1,0,0,0,277,3401,1,0,0,0,279,3408,1,0,0,0,281,3415,1,0,0,0,283,3423,1,0,0,0,285,3431,1,0,0,0,287,3440,1,0,0,0,289,3449,1,0,0,0,291,3456,1,0,0,0,293,3463,1,0,0,0,295,3470,1,0,0,0,297,3476,1,0,0,0,299,3482,1,0,0,0,301,3489,1,0,0,0,303,3497,1,0,0,0,305,3504,1,0,0,0,307,3508,1,0,0,0,309,3518,1,0,0,0,311,3523,1,0,0,0,313,3530,1,0,0,0,315,3535,1,0,0,0,317,3554,1,0,0,0,319,3562,1,0,0,0,321,3566,1,0,0,0,323,3579,1,0,0,0,325,3588,1,0,0,0,327,3599,1,0,0,0,329,3614,1,0,0,0,331,3634,1,0,0,0,333,3651,1,0,0,0,335,3655,1,0,0,0,337,3663,1,0,0,0,339,3672,1,0,0,0,341,3682,1,0,0,0,343,3696,1,0,0,0,345,3702,1,0,0,0,347,3713,1,0,0,0,349,3718,1,0,0,0,351,3721,1,0,0,0,353,3730,1,0,0,0,355,3738,1,0,0,0,357,3743,1,0,0,0,359,3748,1,0,0,0,361,3754,1,0,0,0,363,3761,1,0,0,0,365,3768,1,0,0,0,367,3777,1,0,0,0,369,3784,1,0,0,0,371,3790,1,0,0,0,373,3794,1,0,0,0,375,3800,1,0,0,0,377,3807,1,0,0,0,379,3812,1,0,0,0,381,3818,1,0,0,0,383,3824,1,0,0,0,385,3829,1,0,0,0,387,3835,1,0,0,0,389,3839,1,0,0,0,391,3848,1,0,0,0,393,3856,1,0,0,0,395,3865,1,0,0,0,397,3875,1,0,0,0,399,3885,1,0,0,0,401,3889,1,0,0,0,403,3894,1,0,0,0,405,3899,1,0,0,0,407,3904,1,0,0,0,409,3909,1,0,0,0,411,3914,1,0,0,0,413,3922,1,0,0,0,415,3929,1,0,0,0,417,3934,1,0,0,0,419,3941,1,0,0,0,421,3951,1,0,0,0,423,3957,1,0,0,0,425,3964,1,0,0,0,427,3971,1,0,0,0,429,3979,1,0,0,0,431,3983,1,0,0,0,433,3991,1,0,0,0,435,3996,1,0,0,0,437,4001,1,0,0,0,439,4011,1,0,0,0,441,4020,1,0,0,0,443,4025,1,0,0,0,445,4030,1,0,0,0,447,4038,1,0,0,0,449,4047,1,0,0,0,451,4056,1,0,0,0,453,4063,1,0,0,0,455,4073,1,0,0,0,457,4082,1,0,0,0,459,4087,1,0,0,0,461,4098,1,0,0,0,463,4103,1,0,0,0,465,4112,1,0,0,0,467,4121,1,0,0,0,469,4126,1,0,0,0,471,4137,1,0,0,0,473,4146,1,0,0,0,475,4151,1,0,0,0,477,4159,1,0,0,0,479,4166,1,0,0,0,481,4177,1,0,0,0,483,4186,1,0,0,0,485,4197,1,0,0,0,487,4208,1,0,0,0,489,4220,1,0,0,0,491,4232,1,0,0,0,493,4246,1,0,0,0,495,4265,1,0,0,0,497,4284,1,0,0,0,499,4301,1,0,0,0,501,4317,1,0,0,0,503,4328,1,0,0,0,505,4342,1,0,0,0,507,4360,1,0,0,0,509,4378,1,0,0,0,511,4392,1,0,0,0,513,4411,1,0,0,0,515,4422,1,0,0,0,517,4435,1,0,0,0,519,4447,1,0,0,0,521,4457,1,0,0,0,523,4469,1,0,0,0,525,4480,1,0,0,0,527,4497,1,0,0,0,529,4517,1,0,0,0,531,4529,1,0,0,0,533,4544,1,0,0,0,535,4558,1,0,0,0,537,4570,1,0,0,0,539,4581,1,0,0,0,541,4593,1,0,0,0,543,4606,1,0,0,0,545,4624,1,0,0,0,547,4654,1,0,0,0,549,4666,1,0,0,0,551,4675,1,0,0,0,553,4693,1,0,0,0,555,4711,1,0,0,0,557,4722,1,0,0,0,559,4732,1,0,0,0,561,4745,1,0,0,0,563,4756,1,0,0,0,565,4767,1,0,0,0,567,4774,1,0,0,0,569,4785,1,0,0,0,571,4790,1,0,0,0,573,4794,1,0,0,0,575,4802,1,0,0,0,577,4809,1,0,0,0,579,4817,1,0,0,0,581,4823,1,0,0,0,583,4833,1,0,0,0,585,4844,1,0,0,0,587,4856,1,0,0,0,589,4869,1,0,0,0,591,4873,1,0,0,0,593,4884,1,0,0,0,595,4889,1,0,0,0,597,4893,1,0,0,0,599,4897,1,0,0,0,601,4903,1,0,0,0,603,4913,1,0,0,0,605,4926,1,0,0,0,607,4931,1,0,0,0,609,4942,1,0,0,0,611,4946,1,0,0,0,613,4953,1,0,0,0,615,4964,1,0,0,0,617,4976,1,0,0,0,619,4980,1,0,0,0,621,4988,1,0,0,0,623,4997,1,0,0,0,625,5006,1,0,0,0,627,5019,1,0,0,0,629,5032,1,0,0,0,631,5050,1,0,0,0,633,5060,1,0,0,0,635,5068,1,0,0,0,637,5076,1,0,0,0,639,5085,1,0,0,0,641,5094,1,0,0,0,643,5102,1,0,0,0,645,5117,1,0,0,0,647,5121,1,0,0,0,649,5130,1,0,0,0,651,5137,1,0,0,0,653,5147,1,0,0,0,655,5155,1,0,0,0,657,5160,1,0,0,0,659,5169,1,0,0,0,661,5178,1,0,0,0,663,5192,1,0,0,0,665,5200,1,0,0,0,667,5207,1,0,0,0,669,5213,1,0,0,0,671,5223,1,0,0,0,673,5233,1,0,0,0,675,5237,1,0,0,0,677,5240,1,0,0,0,679,5248,1,0,0,0,681,5259,1,0,0,0,683,5275,1,0,0,0,685,5290,1,0,0,0,687,5305,1,0,0,0,689,5311,1,0,0,0,691,5318,1,0,0,0,693,5322,1,0,0,0,695,5328,1,0,0,0,697,5333,1,0,0,0,699,5341,1,0,0,0,701,5347,1,0,0,0,703,5353,1,0,0,0,705,5362,1,0,0,0,707,5368,1,0,0,0,709,5376,1,0,0,0,711,5384,1,0,0,0,713,5393,1,0,0,0,715,5407,1,0,0,0,717,5414,1,0,0,0,719,5427,1,0,0,0,721,5434,1,0,0,0,723,5440,1,0,0,0,725,5451,1,0,0,0,727,5460,1,0,0,0,729,5465,1,0,0,0,731,5473,1,0,0,0,733,5487,1,0,0,0,735,5499,1,0,0,0,737,5507,1,0,0,0,739,5514,1,0,0,0,741,5522,1,0,0,0,743,5533,1,0,0,0,745,5544,1,0,0,0,747,5556,1,0,0,0,749,5567,1,0,0,0,751,5575,1,0,0,0,753,5586,1,0,0,0,755,5597,1,0,0,0,757,5616,1,0,0,0,759,5634,1,0,0,0,761,5650,1,0,0,0,763,5659,1,0,0,0,765,5667,1,0,0,0,767,5680,1,0,0,0,769,5685,1,0,0,0,771,5689,1,0,0,0,773,5695,1,0,0,0,775,5707,1,0,0,0,777,5712,1,0,0,0,779,5721,1,0,0,0,781,5732,1,0,0,0,783,5745,1,0,0,0,785,5753,1,0,0,0,787,5769,1,0,0,0,789,5782,1,0,0,0,791,5792,1,0,0,0,793,5800,1,0,0,0,795,5808,1,0,0,0,797,5813,1,0,0,0,799,5816,1,0,0,0,801,5825,1,0,0,0,803,5835,1,0,0,0,805,5843,1,0,0,0,807,5850,1,0,0,0,809,5860,1,0,0,0,811,5871,1,0,0,0,813,5889,1,0,0,0,815,5893,1,0,0,0,817,5898,1,0,0,0,819,5905,1,0,0,0,821,5913,1,0,0,0,823,5919,1,0,0,0,825,5926,1,0,0,0,827,5933,1,0,0,0,829,5938,1,0,0,0,831,5944,1,0,0,0,833,5951,1,0,0,0,835,5957,1,0,0,0,837,5966,1,0,0,0,839,5976,1,0,0,0,841,5983,1,0,0,0,843,5990,1,0,0,0,845,5999,1,0,0,0,847,6011,1,0,0,0,849,6033,1,0,0,0,851,6038,1,0,0,0,853,6045,1,0,0,0,855,6052,1,0,0,0,857,6068,1,0,0,0,859,6075,1,0,0,0,861,6081,1,0,0,0,863,6087,1,0,0,0,865,6093,1,0,0,0,867,6103,1,0,0,0,869,6111,1,0,0,0,871,6117,1,0,0,0,873,6122,1,0,0,0,875,6131,1,0,0,0,877,6139,1,0,0,0,879,6146,1,0,0,0,881,6153,1,0,0,0,883,6171,1,0,0,0,885,6179,1,0,0,0,887,6184,1,0,0,0,889,6189,1,0,0,0,891,6197,1,0,0,0,893,6202,1,0,0,0,895,6208,1,0,0,0,897,6219,1,0,0,0,899,6237,1,0,0,0,901,6244,1,0,0,0,903,6254,1,0,0,0,905,6262,1,0,0,0,907,6275,1,0,0,0,909,6283,1,0,0,0,911,6297,1,0,0,0,913,6305,1,0,0,0,915,6314,1,0,0,0,917,6322,1,0,0,0,919,6332,1,0,0,0,921,6340,1,0,0,0,923,6343,1,0,0,0,925,6353,1,0,0,0,927,6357,1,0,0,0,929,6367,1,0,0,0,931,6374,1,0,0,0,933,6379,1,0,0,0,935,6394,1,0,0,0,937,6403,1,0,0,0,939,6408,1,0,0,0,941,6415,1,0,0,0,943,6420,1,0,0,0,945,6426,1,0,0,0,947,6431,1,0,0,0,949,6437,1,0,0,0,951,6445,1,0,0,0,953,6450,1,0,0,0,955,6457,1,0,0,0,957,6478,1,0,0,0,959,6499,1,0,0,0,961,6512,1,0,0,0,963,6536,1,0,0,0,965,6548,1,0,0,0,967,6564,1,0,0,0,969,6579,1,0,0,0,971,6595,1,0,0,0,973,6607,1,0,0,0,975,6626,1,0,0,0,977,6637,1,0,0,0,979,6651,1,0,0,0,981,6669,1,0,0,0,983,6685,1,0,0,0,985,6703,1,0,0,0,987,6718,1,0,0,0,989,6737,1,0,0,0,991,6752,1,0,0,0,993,6771,1,0,0,0,995,6783,1,0,0,0,997,6808,1,0,0,0,999,6829,1,0,0,0,1001,6838,1,0,0,0,1003,6847,1,0,0,0,1005,6868,1,0,0,0,1007,6889,1,0,0,0,1009,6896,1,0,0,0,1011,6903,1,0,0,0,1013,6909,1,0,0,0,1015,6922,1,0,0,0,1017,6926,1,0,0,0,1019,6934,1,0,0,0,1021,6943,1,0,0,0,1023,6948,1,0,0,0,1025,6955,1,0,0,0,1027,6961,1,0,0,0,1029,6967,1,0,0,0,1031,6979,1,0,0,0,1033,6984,1,0,0,0,1035,6990,1,0,0,0,1037,6996,1,0,0,0,1039,7002,1,0,0,0,1041,7007,1,0,0,0,1043,7010,1,0,0,0,1045,7018,1,0,0,0,1047,7025,1,0,0,0,1049,7033,1,0,0,0,1051,7044,1,0,0,0,1053,7055,1,0,0,0,1055,7062,1,0,0,0,1057,7072,1,0,0,0,1059,7077,1,0,0,0,1061,7082,1,0,0,0,1063,7090,1,0,0,0,1065,7097,1,0,0,0,1067,7100,1,0,0,0,1069,7103,1,0,0,0,1071,7116,1,0,0,0,1073,7120,1,0,0,0,1075,7127,1,0,0,0,1077,7132,1,0,0,0,1079,7137,1,0,0,0,1081,7153,1,0,0,0,1083,7161,1,0,0,0,1085,7167,1,0,0,0,1087,7177,1,0,0,0,1089,7182,1,0,0,0,1091,7198,1,0,0,0,1093,7221,1,0,0,0,1095,7228,1,0,0,0,1097,7236,1,0,0,0,1099,7249,1,0,0,0,1101,7260,1,0,0,0,1103,7269,1,0,0,0,1105,7288,1,0,0,0,1107,7294,1,0,0,0,1109,7301,1,0,0,0,1111,7312,1,0,0,0,1113,7320,1,0,0,0,1115,7325,1,0,0,0,1117,7334,1,0,0,0,1119,7344,1,0,0,0,1121,7352,1,0,0,0,1123,7361,1,0,0,0,1125,7366,1,0,0,0,1127,7378,1,0,0,0,1129,7386,1,0,0,0,1131,7395,1,0,0,0,1133,7401,1,0,0,0,1135,7407,1,0,0,0,1137,7413,1,0,0,0,1139,7421,1,0,0,0,1141,7429,1,0,0,0,1143,7439,1,0,0,0,1145,7456,1,0,0,0,1147,7466,1,0,0,0,1149,7472,1,0,0,0,1151,7487,1,0,0,0,1153,7501,1,0,0,0,1155,7510,1,0,0,0,1157,7517,1,0,0,0,1159,7528,1,0,0,0,1161,7535,1,0,0,0,1163,7551,1,0,0,0,1165,7570,1,0,0,0,1167,7590,1,0,0,0,1169,7613,1,0,0,0,1171,7634,1,0,0,0,1173,7658,1,0,0,0,1175,7686,1,0,0,0,1177,7698,1,0,0,0,1179,7704,1,0,0,0,1181,7712,1,0,0,0,1183,7719,1,0,0,0,1185,7737,1,0,0,0,1187,7747,1,0,0,0,1189,7755,1,0,0,0,1191,7761,1,0,0,0,1193,7766,1,0,0,0,1195,7775,1,0,0,0,1197,7782,1,0,0,0,1199,7789,1,0,0,0,1201,7793,1,0,0,0,1203,7798,1,0,0,0,1205,7809,1,0,0,0,1207,7815,1,0,0,0,1209,7825,1,0,0,0,1211,7834,1,0,0,0,1213,7843,1,0,0,0,1215,7852,1,0,0,0,1217,7859,1,0,0,0,1219,7867,1,0,0,0,1221,7873,1,0,0,0,1223,7880,1,0,0,0,1225,7887,1,0,0,0,1227,7894,1,0,0,0,1229,7900,1,0,0,0,1231,7905,1,0,0,0,1233,7914,1,0,0,0,1235,7921,1,0,0,0,1237,7926,1,0,0,0,1239,7933,1,0,0,0,1241,7940,1,0,0,0,1243,7947,1,0,0,0,1245,7963,1,0,0,0,1247,7982,1,0,0,0,1249,7999,1,0,0,0,1251,8017,1,0,0,0,1253,8027,1,0,0,0,1255,8040,1,0,0,0,1257,8051,1,0,0,0,1259,8057,1,0,0,0,1261,8064,1,0,0,0,1263,8082,1,0,0,0,1265,8099,1,0,0,0,1267,8118,1,0,0,0,1269,8125,1,0,0,0,1271,8130,1,0,0,0,1273,8138,1,0,0,0,1275,8145,1,0,0,0,1277,8152,1,0,0,0,1279,8168,1,0,0,0,1281,8176,1,0,0,0,1283,8189,1,0,0,0,1285,8203,1,0,0,0,1287,8211,1,0,0,0,1289,8217,1,0,0,0,1291,8226,1,0,0,0,1293,8237,1,0,0,0,1295,8248,1,0,0,0,1297,8259,1,0,0,0,1299,8269,1,0,0,0,1301,8279,1,0,0,0,1303,8284,1,0,0,0,1305,8296,1,0,0,0,1307,8308,1,0,0,0,1309,8322,1,0,0,0,1311,8331,1,0,0,0,1313,8340,1,0,0,0,1315,8350,1,0,0,0,1317,8360,1,0,0,0,1319,8369,1,0,0,0,1321,8386,1,0,0,0,1323,8396,1,0,0,0,1325,8404,1,0,0,0,1327,8410,1,0,0,0,1329,8418,1,0,0,0,1331,8423,1,0,0,0,1333,8431,1,0,0,0,1335,8446,1,0,0,0,1337,8457,1,0,0,0,1339,8463,1,0,0,0,1341,8473,1,0,0,0,1343,8478,1,0,0,0,1345,8486,1,0,0,0,1347,8494,1,0,0,0,1349,8499,1,0,0,0,1351,8508,1,0,0,0,1353,8515,1,0,0,0,1355,8523,1,0,0,0,1357,8528,1,0,0,0,1359,8536,1,0,0,0,1361,8541,1,0,0,0,1363,8544,1,0,0,0,1365,8548,1,0,0,0,1367,8552,1,0,0,0,1369,8556,1,0,0,0,1371,8560,1,0,0,0,1373,8564,1,0,0,0,1375,8568,1,0,0,0,1377,8577,1,0,0,0,1379,8585,1,0,0,0,1381,8591,1,0,0,0,1383,8595,1,0,0,0,1385,8600,1,0,0,0,1387,8607,1,0,0,0,1389,8612,1,0,0,0,1391,8619,1,0,0,0,1393,8631,1,0,0,0,1395,8637,1,0,0,0,1397,8664,1,0,0,0,1399,8683,1,0,0,0,1401,8695,1,0,0,0,1403,8723,1,0,0,0,1405,8736,1,0,0,0,1407,8749,1,0,0,0,1409,8773,1,0,0,0,1411,8785,1,0,0,0,1413,8802,1,0,0,0,1415,8823,1,0,0,0,1417,8831,1,0,0,0,1419,8836,1,0,0,0,1421,8851,1,0,0,0,1423,8867,1,0,0,0,1425,8881,1,0,0,0,1427,8903,1,0,0,0,1429,8916,1,0,0,0,1431,8929,1,0,0,0,1433,8950,1,0,0,0,1435,8974,1,0,0,0,1437,8998,1,0,0,0,1439,9021,1,0,0,0,1441,9028,1,0,0,0,1443,9035,1,0,0,0,1445,9051,1,0,0,0,1447,9075,1,0,0,0,1449,9102,1,0,0,0,1451,9113,1,0,0,0,1453,9121,1,0,0,0,1455,9128,1,0,0,0,1457,9148,1,0,0,0,1459,9172,1,0,0,0,1461,9193,1,0,0,0,1463,9213,1,0,0,0,1465,9224,1,0,0,0,1467,9232,1,0,0,0,1469,9235,1,0,0,0,1471,9261,1,0,0,0,1473,9290,1,0,0,0,1475,9302,1,0,0,0,1477,9315,1,0,0,0,1479,9324,1,0,0,0,1481,9330,1,0,0,0,1483,9353,1,0,0,0,1485,9360,1,0,0,0,1487,9383,1,0,0,0,1489,9403,1,0,0,0,1491,9420,1,0,0,0,1493,9429,1,0,0,0,1495,9435,1,0,0,0,1497,9440,1,0,0,0,1499,9447,1,0,0,0,1501,9454,1,0,0,0,1503,9461,1,0,0,0,1505,9468,1,0,0,0,1507,9474,1,0,0,0,1509,9480,1,0,0,0,1511,9486,1,0,0,0,1513,9492,1,0,0,0,1515,9497,1,0,0,0,1517,9505,1,0,0,0,1519,9511,1,0,0,0,1521,9519,1,0,0,0,1523,9526,1,0,0,0,1525,9530,1,0,0,0,1527,9538,1,0,0,0,1529,9544,1,0,0,0,1531,9551,1,0,0,0,1533,9555,1,0,0,0,1535,9563,1,0,0,0,1537,9569,1,0,0,0,1539,9575,1,0,0,0,1541,9582,1,0,0,0,1543,9589,1,0,0,0,1545,9596,1,0,0,0,1547,9603,1,0,0,0,1549,9609,1,0,0,0,1551,9618,1,0,0,0,1553,9623,1,0,0,0,1555,9628,1,0,0,0,1557,9635,1,0,0,0,1559,9640,1,0,0,0,1561,9645,1,0,0,0,1563,9651,1,0,0,0,1565,9659,1,0,0,0,1567,9665,1,0,0,0,1569,9670,1,0,0,0,1571,9678,1,0,0,0,1573,9686,1,0,0,0,1575,9694,1,0,0,0,1577,9704,1,0,0,0,1579,9708,1,0,0,0,1581,9718,1,0,0,0,1583,9725,1,0,0,0,1585,9732,1,0,0,0,1587,9743,1,0,0,0,1589,9750,1,0,0,0,1591,9754,1,0,0,0,1593,9765,1,0,0,0,1595,9784,1,0,0,0,1597,9791,1,0,0,0,1599,9802,1,0,0,0,1601,9812,1,0,0,0,1603,9824,1,0,0,0,1605,9837,1,0,0,0,1607,9856,1,0,0,0,1609,9871,1,0,0,0,1611,9880,1,0,0,0,1613,9891,1,0,0,0,1615,9907,1,0,0,0,1617,9918,1,0,0,0,1619,9931,1,0,0,0,1621,9937,1,0,0,0,1623,9945,1,0,0,0,1625,9949,1,0,0,0,1627,9954,1,0,0,0,1629,9962,1,0,0,0,1631,9970,1,0,0,0,1633,9982,1,0,0,0,1635,9994,1,0,0,0,1637,9999,1,0,0,0,1639,10008,1,0,0,0,1641,10013,1,0,0,0,1643,10020,1,0,0,0,1645,10026,1,0,0,0,1647,10032,1,0,0,0,1649,10051,1,0,0,0,1651,10069,1,0,0,0,1653,10088,1,0,0,0,1655,10104,1,0,0,0,1657,10122,1,0,0,0,1659,10127,1,0,0,0,1661,10133,1,0,0,0,1663,10143,1,0,0,0,1665,10147,1,0,0,0,1667,10157,1,0,0,0,1669,10168,1,0,0,0,1671,10175,1,0,0,0,1673,10188,1,0,0,0,1675,10193,1,0,0,0,1677,10201,1,0,0,0,1679,10210,1,0,0,0,1681,10227,1,0,0,0,1683,10235,1,0,0,0,1685,10247,1,0,0,0,1687,10260,1,0,0,0,1689,10270,1,0,0,0,1691,10279,1,0,0,0,1693,10286,1,0,0,0,1695,10296,1,0,0,0,1697,10310,1,0,0,0,1699,10315,1,0,0,0,1701,10326,1,0,0,0,1703,10330,1,0,0,0,1705,10334,1,0,0,0,1707,10340,1,0,0,0,1709,10367,1,0,0,0,1711,10393,1,0,0,0,1713,10414,1,0,0,0,1715,10428,1,0,0,0,1717,10436,1,0,0,0,1719,10445,1,0,0,0,1721,10457,1,0,0,0,1723,10465,1,0,0,0,1725,10476,1,0,0,0,1727,10486,1,0,0,0,1729,10496,1,0,0,0,1731,10503,1,0,0,0,1733,10511,1,0,0,0,1735,10523,1,0,0,0,1737,10535,1,0,0,0,1739,10545,1,0,0,0,1741,10554,1,0,0,0,1743,10558,1,0,0,0,1745,10565,1,0,0,0,1747,10573,1,0,0,0,1749,10582,1,0,0,0,1751,10599,1,0,0,0,1753,10608,1,0,0,0,1755,10615,1,0,0,0,1757,10619,1,0,0,0,1759,10630,1,0,0,0,1761,10643,1,0,0,0,1763,10656,1,0,0,0,1765,10662,1,0,0,0,1767,10674,1,0,0,0,1769,10680,1,0,0,0,1771,10687,1,0,0,0,1773,10698,1,0,0,0,1775,10710,1,0,0,0,1777,10720,1,0,0,0,1779,10734,1,0,0,0,1781,10751,1,0,0,0,1783,10767,1,0,0,0,1785,10794,1,0,0,0,1787,10820,1,0,0,0,1789,10837,1,0,0,0,1791,10853,1,0,0,0,1793,10863,1,0,0,0,1795,10876,1,0,0,0,1797,10889,1,0,0,0,1799,10901,1,0,0,0,1801,10912,1,0,0,0,1803,10921,1,0,0,0,1805,10929,1,0,0,0,1807,10938,1,0,0,0,1809,10950,1,0,0,0,1811,10964,1,0,0,0,1813,10968,1,0,0,0,1815,10975,1,0,0,0,1817,10986,1,0,0,0,1819,10997,1,0,0,0,1821,11007,1,0,0,0,1823,11017,1,0,0,0,1825,11023,1,0,0,0,1827,11037,1,0,0,0,1829,11048,1,0,0,0,1831,11057,1,0,0,0,1833,11065,1,0,0,0,1835,11072,1,0,0,0,1837,11081,1,0,0,0,1839,11094,1,0,0,0,1841,11102,1,0,0,0,1843,11117,1,0,0,0,1845,11132,1,0,0,0,1847,11140,1,0,0,0,1849,11153,1,0,0,0,1851,11168,1,0,0,0,1853,11174,1,0,0,0,1855,11180,1,0,0,0,1857,11187,1,0,0,0,1859,11200,1,0,0,0,1861,11212,1,0,0,0,1863,11231,1,0,0,0,1865,11249,1,0,0,0,1867,11252,1,0,0,0,1869,11262,1,0,0,0,1871,11269,1,0,0,0,1873,11273,1,0,0,0,1875,11279,1,0,0,0,1877,11284,1,0,0,0,1879,11290,1,0,0,0,1881,11295,1,0,0,0,1883,11301,1,0,0,0,1885,11310,1,0,0,0,1887,11319,1,0,0,0,1889,11328,1,0,0,0,1891,11344,1,0,0,0,1893,11356,1,0,0,0,1895,11368,1,0,0,0,1897,11377,1,0,0,0,1899,11391,1,0,0,0,1901,11403,1,0,0,0,1903,11414,1,0,0,0,1905,11424,1,0,0,0,1907,11428,1,0,0,0,1909,11442,1,0,0,0,1911,11455,1,0,0,0,1913,11465,1,0,0,0,1915,11480,1,0,0,0,1917,11494,1,0,0,0,1919,11508,1,0,0,0,1921,11521,1,0,0,0,1923,11545,1,0,0,0,1925,11568,1,0,0,0,1927,11587,1,0,0,0,1929,11605,1,0,0,0,1931,11626,1,0,0,0,1933,11646,1,0,0,0,1935,11657,1,0,0,0,1937,11664,1,0,0,0,1939,11678,1,0,0,0,1941,11695,1,0,0,0,1943,11705,1,0,0,0,1945,11709,1,0,0,0,1947,11722,1,0,0,0,1949,11726,1,0,0,0,1951,11735,1,0,0,0,1953,11746,1,0,0,0,1955,11758,1,0,0,0,1957,11761,1,0,0,0,1959,11775,1,0,0,0,1961,11788,1,0,0,0,1963,11795,1,0,0,0,1965,11808,1,0,0,0,1967,11820,1,0,0,0,1969,11836,1,0,0,0,1971,11851,1,0,0,0,1973,11855,1,0,0,0,1975,11861,1,0,0,0,1977,11867,1,0,0,0,1979,11875,1,0,0,0,1981,11880,1,0,0,0,1983,11887,1,0,0,0,1985,11900,1,0,0,0,1987,11913,1,0,0,0,1989,11921,1,0,0,0,1991,11927,1,0,0,0,1993,11937,1,0,0,0,1995,11942,1,0,0,0,1997,11948,1,0,0,0,1999,11960,1,0,0,0,2001,11987,1,0,0,0,2003,12e3,1,0,0,0,2005,12004,1,0,0,0,2007,12009,1,0,0,0,2009,12014,1,0,0,0,2011,12026,1,0,0,0,2013,12031,1,0,0,0,2015,12035,1,0,0,0,2017,12041,1,0,0,0,2019,12049,1,0,0,0,2021,12077,1,0,0,0,2023,12082,1,0,0,0,2025,12087,1,0,0,0,2027,12098,1,0,0,0,2029,12105,1,0,0,0,2031,12117,1,0,0,0,2033,12125,1,0,0,0,2035,12137,1,0,0,0,2037,12147,1,0,0,0,2039,12156,1,0,0,0,2041,12165,1,0,0,0,2043,12175,1,0,0,0,2045,12187,1,0,0,0,2047,12199,1,0,0,0,2049,12210,1,0,0,0,2051,12224,1,0,0,0,2053,12237,1,0,0,0,2055,12249,1,0,0,0,2057,12261,1,0,0,0,2059,12273,1,0,0,0,2061,12285,1,0,0,0,2063,12295,1,0,0,0,2065,12311,1,0,0,0,2067,12331,1,0,0,0,2069,12350,1,0,0,0,2071,12369,1,0,0,0,2073,12399,1,0,0,0,2075,12428,1,0,0,0,2077,12448,1,0,0,0,2079,12467,1,0,0,0,2081,12480,1,0,0,0,2083,12496,1,0,0,0,2085,12512,1,0,0,0,2087,12527,1,0,0,0,2089,12544,1,0,0,0,2091,12560,1,0,0,0,2093,12574,1,0,0,0,2095,12586,1,0,0,0,2097,12597,1,0,0,0,2099,12609,1,0,0,0,2101,12625,1,0,0,0,2103,12640,1,0,0,0,2105,12662,1,0,0,0,2107,12683,1,0,0,0,2109,12700,1,0,0,0,2111,12719,1,0,0,0,2113,12739,1,0,0,0,2115,12752,1,0,0,0,2117,12764,1,0,0,0,2119,12781,1,0,0,0,2121,12797,1,0,0,0,2123,12807,1,0,0,0,2125,12823,1,0,0,0,2127,12838,1,0,0,0,2129,12857,1,0,0,0,2131,12875,1,0,0,0,2133,12883,1,0,0,0,2135,12897,1,0,0,0,2137,12914,1,0,0,0,2139,12925,1,0,0,0,2141,12934,1,0,0,0,2143,12944,1,0,0,0,2145,12949,1,0,0,0,2147,12954,1,0,0,0,2149,12962,1,0,0,0,2151,12978,1,0,0,0,2153,12986,1,0,0,0,2155,12998,1,0,0,0,2157,13002,1,0,0,0,2159,13011,1,0,0,0,2161,13024,1,0,0,0,2163,13038,1,0,0,0,2165,13050,1,0,0,0,2167,13062,1,0,0,0,2169,13070,1,0,0,0,2171,13080,1,0,0,0,2173,13088,1,0,0,0,2175,13099,1,0,0,0,2177,13119,1,0,0,0,2179,13125,1,0,0,0,2181,13136,1,0,0,0,2183,13156,1,0,0,0,2185,13162,1,0,0,0,2187,13177,1,0,0,0,2189,13187,1,0,0,0,2191,13193,1,0,0,0,2193,13198,1,0,0,0,2195,13209,1,0,0,0,2197,13236,1,0,0,0,2199,13244,1,0,0,0,2201,13278,1,0,0,0,2203,13286,1,0,0,0,2205,13297,1,0,0,0,2207,13311,1,0,0,0,2209,13318,1,0,0,0,2211,13327,1,0,0,0,2213,13329,1,0,0,0,2215,13331,1,0,0,0,2217,13334,1,0,0,0,2219,13337,1,0,0,0,2221,13340,1,0,0,0,2223,13343,1,0,0,0,2225,13346,1,0,0,0,2227,13349,1,0,0,0,2229,13352,1,0,0,0,2231,13355,1,0,0,0,2233,13358,1,0,0,0,2235,13360,1,0,0,0,2237,13362,1,0,0,0,2239,13364,1,0,0,0,2241,13366,1,0,0,0,2243,13368,1,0,0,0,2245,13372,1,0,0,0,2247,13376,1,0,0,0,2249,13378,1,0,0,0,2251,13380,1,0,0,0,2253,13382,1,0,0,0,2255,13384,1,0,0,0,2257,13386,1,0,0,0,2259,13388,1,0,0,0,2261,13390,1,0,0,0,2263,13392,1,0,0,0,2265,13394,1,0,0,0,2267,13396,1,0,0,0,2269,13398,1,0,0,0,2271,13400,1,0,0,0,2273,13402,1,0,0,0,2275,13404,1,0,0,0,2277,13406,1,0,0,0,2279,13408,1,0,0,0,2281,13410,1,0,0,0,2283,13412,1,0,0,0,2285,13414,1,0,0,0,2287,13416,1,0,0,0,2289,13421,1,0,0,0,2291,13423,1,0,0,0,2293,13428,1,0,0,0,2295,13434,1,0,0,0,2297,13440,1,0,0,0,2299,13443,1,0,0,0,2301,13466,1,0,0,0,2303,13509,1,0,0,0,2305,13511,1,0,0,0,2307,13514,1,0,0,0,2309,13516,1,0,0,0,2311,13519,1,0,0,0,2313,13522,1,0,0,0,2315,13524,1,0,0,0,2317,13526,1,0,0,0,2319,13529,1,0,0,0,2321,13538,1,0,0,0,2323,13589,1,0,0,0,2325,13591,1,0,0,0,2327,13603,1,0,0,0,2329,13617,1,0,0,0,2331,13630,1,0,0,0,2333,13643,1,0,0,0,2335,13654,1,0,0,0,2337,13656,1,0,0,0,2339,13658,1,0,0,0,2341,13697,1,0,0,0,2343,13699,1,0,0,0,2345,2347,7,0,0,0,2346,2345,1,0,0,0,2347,2348,1,0,0,0,2348,2346,1,0,0,0,2348,2349,1,0,0,0,2349,2350,1,0,0,0,2350,2351,6,0,0,0,2351,2,1,0,0,0,2352,2353,5,47,0,0,2353,2354,5,42,0,0,2354,2355,5,33,0,0,2355,2357,1,0,0,0,2356,2358,9,0,0,0,2357,2356,1,0,0,0,2358,2359,1,0,0,0,2359,2360,1,0,0,0,2359,2357,1,0,0,0,2360,2361,1,0,0,0,2361,2362,5,42,0,0,2362,2363,5,47,0,0,2363,2364,1,0,0,0,2364,2365,6,1,1,0,2365,4,1,0,0,0,2366,2367,5,47,0,0,2367,2368,5,42,0,0,2368,2372,1,0,0,0,2369,2371,9,0,0,0,2370,2369,1,0,0,0,2371,2374,1,0,0,0,2372,2373,1,0,0,0,2372,2370,1,0,0,0,2373,2375,1,0,0,0,2374,2372,1,0,0,0,2375,2376,5,42,0,0,2376,2377,5,47,0,0,2377,2378,1,0,0,0,2378,2379,6,2,1,0,2379,6,1,0,0,0,2380,2381,5,45,0,0,2381,2382,5,45,0,0,2382,2386,1,0,0,0,2383,2385,7,1,0,0,2384,2383,1,0,0,0,2385,2388,1,0,0,0,2386,2384,1,0,0,0,2386,2387,1,0,0,0,2387,2391,1,0,0,0,2388,2386,1,0,0,0,2389,2391,5,35,0,0,2390,2380,1,0,0,0,2390,2389,1,0,0,0,2391,2395,1,0,0,0,2392,2394,8,2,0,0,2393,2392,1,0,0,0,2394,2397,1,0,0,0,2395,2393,1,0,0,0,2395,2396,1,0,0,0,2396,2403,1,0,0,0,2397,2395,1,0,0,0,2398,2400,5,13,0,0,2399,2398,1,0,0,0,2399,2400,1,0,0,0,2400,2401,1,0,0,0,2401,2404,5,10,0,0,2402,2404,5,0,0,1,2403,2399,1,0,0,0,2403,2402,1,0,0,0,2404,2416,1,0,0,0,2405,2406,5,45,0,0,2406,2407,5,45,0,0,2407,2413,1,0,0,0,2408,2410,5,13,0,0,2409,2408,1,0,0,0,2409,2410,1,0,0,0,2410,2411,1,0,0,0,2411,2414,5,10,0,0,2412,2414,5,0,0,1,2413,2409,1,0,0,0,2413,2412,1,0,0,0,2414,2416,1,0,0,0,2415,2390,1,0,0,0,2415,2405,1,0,0,0,2416,2417,1,0,0,0,2417,2418,6,3,1,0,2418,8,1,0,0,0,2419,2420,7,3,0,0,2420,2421,7,4,0,0,2421,2422,7,4,0,0,2422,10,1,0,0,0,2423,2424,7,3,0,0,2424,2425,7,5,0,0,2425,2426,7,5,0,0,2426,12,1,0,0,0,2427,2428,7,3,0,0,2428,2429,7,5,0,0,2429,2430,7,6,0,0,2430,2431,7,7,0,0,2431,2432,7,8,0,0,2432,14,1,0,0,0,2433,2434,7,3,0,0,2434,2435,7,5,0,0,2435,2436,7,9,0,0,2436,2437,7,3,0,0,2437,2438,7,10,0,0,2438,2439,7,11,0,0,2439,16,1,0,0,0,2440,2441,7,3,0,0,2441,2442,7,12,0,0,2442,2443,7,3,0,0,2443,2444,7,5,0,0,2444,2445,7,10,0,0,2445,2446,7,13,0,0,2446,2447,7,7,0,0,2447,18,1,0,0,0,2448,2449,7,3,0,0,2449,2450,7,12,0,0,2450,2451,7,4,0,0,2451,20,1,0,0,0,2452,2453,7,3,0,0,2453,2454,7,8,0,0,2454,2455,7,8,0,0,2455,2456,7,3,0,0,2456,2457,7,10,0,0,2457,22,1,0,0,0,2458,2459,7,3,0,0,2459,2460,7,11,0,0,2460,24,1,0,0,0,2461,2462,7,3,0,0,2462,2463,7,11,0,0,2463,2464,7,14,0,0,2464,26,1,0,0,0,2465,2466,7,3,0,0,2466,2467,7,6,0,0,2467,2468,7,6,0,0,2468,2469,7,8,0,0,2469,2470,7,15,0,0,2470,2471,7,16,0,0,2471,2472,7,17,0,0,2472,2473,7,6,0,0,2473,2474,7,7,0,0,2474,28,1,0,0,0,2475,2476,7,16,0,0,2476,2477,7,7,0,0,2477,2478,7,18,0,0,2478,2479,7,19,0,0,2479,2480,7,8,0,0,2480,2481,7,7,0,0,2481,30,1,0,0,0,2482,2483,7,16,0,0,2483,2484,7,7,0,0,2484,2485,7,6,0,0,2485,2486,7,9,0,0,2486,2487,7,7,0,0,2487,2488,7,7,0,0,2488,2489,7,12,0,0,2489,32,1,0,0,0,2490,2491,7,16,0,0,2491,2492,7,19,0,0,2492,2493,7,6,0,0,2493,2494,7,20,0,0,2494,34,1,0,0,0,2495,2496,7,16,0,0,2496,2497,7,17,0,0,2497,2498,7,14,0,0,2498,2499,7,21,0,0,2499,2500,7,7,0,0,2500,2501,7,6,0,0,2501,2502,7,11,0,0,2502,36,1,0,0,0,2503,2504,7,16,0,0,2504,2505,7,10,0,0,2505,38,1,0,0,0,2506,2507,7,14,0,0,2507,2508,7,3,0,0,2508,2509,7,5,0,0,2509,2510,7,5,0,0,2510,40,1,0,0,0,2511,2512,7,14,0,0,2512,2513,7,3,0,0,2513,2514,7,11,0,0,2514,2515,7,14,0,0,2515,2516,7,3,0,0,2516,2517,7,4,0,0,2517,2518,7,7,0,0,2518,42,1,0,0,0,2519,2520,7,14,0,0,2520,2521,7,3,0,0,2521,2522,7,11,0,0,2522,2523,7,7,0,0,2523,44,1,0,0,0,2524,2525,7,14,0,0,2525,2526,7,3,0,0,2526,2527,7,11,0,0,2527,2528,7,6,0,0,2528,46,1,0,0,0,2529,2530,7,14,0,0,2530,2531,7,20,0,0,2531,2532,7,3,0,0,2532,2533,7,12,0,0,2533,2534,7,22,0,0,2534,2535,7,7,0,0,2535,48,1,0,0,0,2536,2537,7,14,0,0,2537,2538,7,20,0,0,2538,2539,7,3,0,0,2539,2540,7,8,0,0,2540,2541,7,3,0,0,2541,2542,7,14,0,0,2542,2543,7,6,0,0,2543,2544,7,7,0,0,2544,2545,7,8,0,0,2545,50,1,0,0,0,2546,2547,7,14,0,0,2547,2548,7,20,0,0,2548,2549,7,7,0,0,2549,2550,7,14,0,0,2550,2551,7,21,0,0,2551,52,1,0,0,0,2552,2553,7,14,0,0,2553,2554,7,19,0,0,2554,2555,7,5,0,0,2555,2556,7,5,0,0,2556,2557,7,3,0,0,2557,2558,7,6,0,0,2558,2559,7,7,0,0,2559,54,1,0,0,0,2560,2561,7,14,0,0,2561,2562,7,19,0,0,2562,2563,7,5,0,0,2563,2564,7,17,0,0,2564,2565,7,23,0,0,2565,2566,7,12,0,0,2566,56,1,0,0,0,2567,2568,7,14,0,0,2568,2569,7,19,0,0,2569,2570,7,12,0,0,2570,2571,7,4,0,0,2571,2572,7,15,0,0,2572,2573,7,6,0,0,2573,2574,7,15,0,0,2574,2575,7,19,0,0,2575,2576,7,12,0,0,2576,58,1,0,0,0,2577,2578,7,14,0,0,2578,2579,7,19,0,0,2579,2580,7,12,0,0,2580,2581,7,11,0,0,2581,2582,7,6,0,0,2582,2583,7,8,0,0,2583,2584,7,3,0,0,2584,2585,7,15,0,0,2585,2586,7,12,0,0,2586,2587,7,6,0,0,2587,60,1,0,0,0,2588,2589,7,14,0,0,2589,2590,7,19,0,0,2590,2591,7,12,0,0,2591,2592,7,6,0,0,2592,2593,7,15,0,0,2593,2594,7,12,0,0,2594,2595,7,17,0,0,2595,2596,7,7,0,0,2596,62,1,0,0,0,2597,2598,7,14,0,0,2598,2599,7,19,0,0,2599,2600,7,12,0,0,2600,2601,7,24,0,0,2601,2602,7,7,0,0,2602,2603,7,8,0,0,2603,2604,7,6,0,0,2604,64,1,0,0,0,2605,2606,7,14,0,0,2606,2607,7,8,0,0,2607,2608,7,7,0,0,2608,2609,7,3,0,0,2609,2610,7,6,0,0,2610,2611,7,7,0,0,2611,66,1,0,0,0,2612,2613,7,14,0,0,2613,2614,7,8,0,0,2614,2615,7,19,0,0,2615,2616,7,11,0,0,2616,2617,7,11,0,0,2617,68,1,0,0,0,2618,2619,7,14,0,0,2619,2620,7,17,0,0,2620,2621,7,8,0,0,2621,2622,7,8,0,0,2622,2623,7,7,0,0,2623,2624,7,12,0,0,2624,2625,7,6,0,0,2625,70,1,0,0,0,2626,2627,7,14,0,0,2627,2628,7,17,0,0,2628,2629,7,8,0,0,2629,2630,7,8,0,0,2630,2631,7,7,0,0,2631,2632,7,12,0,0,2632,2633,7,6,0,0,2633,2634,5,95,0,0,2634,2635,7,8,0,0,2635,2636,7,19,0,0,2636,2637,7,5,0,0,2637,2638,7,7,0,0,2638,72,1,0,0,0,2639,2640,7,14,0,0,2640,2641,7,17,0,0,2641,2642,7,8,0,0,2642,2643,7,8,0,0,2643,2644,7,7,0,0,2644,2645,7,12,0,0,2645,2646,7,6,0,0,2646,2647,5,95,0,0,2647,2648,7,17,0,0,2648,2649,7,11,0,0,2649,2650,7,7,0,0,2650,2651,7,8,0,0,2651,74,1,0,0,0,2652,2653,7,14,0,0,2653,2654,7,17,0,0,2654,2655,7,8,0,0,2655,2656,7,11,0,0,2656,2657,7,19,0,0,2657,2658,7,8,0,0,2658,76,1,0,0,0,2659,2660,7,4,0,0,2660,2661,7,3,0,0,2661,2662,7,6,0,0,2662,2663,7,3,0,0,2663,2664,7,16,0,0,2664,2665,7,3,0,0,2665,2666,7,11,0,0,2666,2667,7,7,0,0,2667,78,1,0,0,0,2668,2669,7,4,0,0,2669,2670,7,3,0,0,2670,2671,7,6,0,0,2671,2672,7,3,0,0,2672,2673,7,16,0,0,2673,2674,7,3,0,0,2674,2675,7,11,0,0,2675,2676,7,7,0,0,2676,2677,7,11,0,0,2677,80,1,0,0,0,2678,2679,7,4,0,0,2679,2680,7,7,0,0,2680,2681,7,14,0,0,2681,2682,7,5,0,0,2682,2683,7,3,0,0,2683,2684,7,8,0,0,2684,2685,7,7,0,0,2685,82,1,0,0,0,2686,2687,7,4,0,0,2687,2688,7,7,0,0,2688,2689,7,18,0,0,2689,2690,7,3,0,0,2690,2691,7,17,0,0,2691,2692,7,5,0,0,2692,2693,7,6,0,0,2693,84,1,0,0,0,2694,2695,7,4,0,0,2695,2696,7,7,0,0,2696,2697,7,5,0,0,2697,2698,7,3,0,0,2698,2699,7,10,0,0,2699,2700,7,7,0,0,2700,2701,7,4,0,0,2701,86,1,0,0,0,2702,2703,7,4,0,0,2703,2704,7,7,0,0,2704,2705,7,5,0,0,2705,2706,7,7,0,0,2706,2707,7,6,0,0,2707,2708,7,7,0,0,2708,88,1,0,0,0,2709,2710,7,4,0,0,2710,2711,7,7,0,0,2711,2712,7,11,0,0,2712,2713,7,14,0,0,2713,90,1,0,0,0,2714,2715,7,4,0,0,2715,2716,7,7,0,0,2716,2717,7,11,0,0,2717,2718,7,14,0,0,2718,2719,7,8,0,0,2719,2720,7,15,0,0,2720,2721,7,16,0,0,2721,2722,7,7,0,0,2722,92,1,0,0,0,2723,2724,7,4,0,0,2724,2725,7,7,0,0,2725,2726,7,6,0,0,2726,2727,7,7,0,0,2727,2728,7,8,0,0,2728,2729,7,23,0,0,2729,2730,7,15,0,0,2730,2731,7,12,0,0,2731,2732,7,15,0,0,2732,2733,7,11,0,0,2733,2734,7,6,0,0,2734,2735,7,15,0,0,2735,2736,7,14,0,0,2736,94,1,0,0,0,2737,2738,7,4,0,0,2738,2739,7,15,0,0,2739,2740,7,3,0,0,2740,2741,7,22,0,0,2741,2742,7,12,0,0,2742,2743,7,19,0,0,2743,2744,7,11,0,0,2744,2745,7,6,0,0,2745,2746,7,15,0,0,2746,2747,7,14,0,0,2747,2748,7,11,0,0,2748,96,1,0,0,0,2749,2750,7,4,0,0,2750,2751,7,15,0,0,2751,2752,7,11,0,0,2752,2753,7,6,0,0,2753,2754,7,15,0,0,2754,2755,7,12,0,0,2755,2756,7,14,0,0,2756,2757,7,6,0,0,2757,98,1,0,0,0,2758,2759,7,4,0,0,2759,2760,7,15,0,0,2760,2761,7,11,0,0,2761,2762,7,6,0,0,2762,2763,7,15,0,0,2763,2764,7,12,0,0,2764,2765,7,14,0,0,2765,2766,7,6,0,0,2766,2767,7,8,0,0,2767,2768,7,19,0,0,2768,2769,7,9,0,0,2769,100,1,0,0,0,2770,2771,7,4,0,0,2771,2772,7,8,0,0,2772,2773,7,19,0,0,2773,2774,7,25,0,0,2774,102,1,0,0,0,2775,2776,7,7,0,0,2776,2777,7,3,0,0,2777,2778,7,14,0,0,2778,2779,7,20,0,0,2779,104,1,0,0,0,2780,2781,7,7,0,0,2781,2782,7,5,0,0,2782,2783,7,11,0,0,2783,2784,7,7,0,0,2784,106,1,0,0,0,2785,2786,7,7,0,0,2786,2787,7,5,0,0,2787,2788,7,11,0,0,2788,2789,7,7,0,0,2789,2790,7,15,0,0,2790,2791,7,18,0,0,2791,108,1,0,0,0,2792,2793,7,7,0,0,2793,2794,7,23,0,0,2794,2795,7,25,0,0,2795,2796,7,6,0,0,2796,2797,7,10,0,0,2797,110,1,0,0,0,2798,2799,7,7,0,0,2799,2800,7,12,0,0,2800,2801,7,14,0,0,2801,2802,7,5,0,0,2802,2803,7,19,0,0,2803,2804,7,11,0,0,2804,2805,7,7,0,0,2805,2806,7,4,0,0,2806,112,1,0,0,0,2807,2808,7,7,0,0,2808,2809,7,12,0,0,2809,2810,7,18,0,0,2810,2811,7,19,0,0,2811,2812,7,8,0,0,2812,2813,7,14,0,0,2813,2814,7,7,0,0,2814,2815,7,4,0,0,2815,114,1,0,0,0,2816,2817,7,7,0,0,2817,2818,7,11,0,0,2818,2819,7,14,0,0,2819,2820,7,3,0,0,2820,2821,7,25,0,0,2821,2822,7,7,0,0,2822,2823,7,4,0,0,2823,116,1,0,0,0,2824,2825,7,7,0,0,2825,2826,7,26,0,0,2826,2827,7,14,0,0,2827,2828,7,7,0,0,2828,2829,7,25,0,0,2829,2830,7,6,0,0,2830,118,1,0,0,0,2831,2832,7,7,0,0,2832,2833,7,26,0,0,2833,2834,7,15,0,0,2834,2835,7,11,0,0,2835,2836,7,6,0,0,2836,2837,7,11,0,0,2837,120,1,0,0,0,2838,2839,7,7,0,0,2839,2840,7,26,0,0,2840,2841,7,15,0,0,2841,2842,7,6,0,0,2842,122,1,0,0,0,2843,2844,7,7,0,0,2844,2845,7,26,0,0,2845,2846,7,25,0,0,2846,2847,7,5,0,0,2847,2848,7,3,0,0,2848,2849,7,15,0,0,2849,2850,7,12,0,0,2850,124,1,0,0,0,2851,2852,7,18,0,0,2852,2853,7,3,0,0,2853,2854,7,5,0,0,2854,2855,7,11,0,0,2855,2856,7,7,0,0,2856,126,1,0,0,0,2857,2858,7,18,0,0,2858,2859,7,7,0,0,2859,2860,7,6,0,0,2860,2861,7,14,0,0,2861,2862,7,20,0,0,2862,128,1,0,0,0,2863,2864,7,18,0,0,2864,2865,7,19,0,0,2865,2866,7,8,0,0,2866,130,1,0,0,0,2867,2868,7,18,0,0,2868,2869,7,19,0,0,2869,2870,7,8,0,0,2870,2871,7,14,0,0,2871,2872,7,7,0,0,2872,132,1,0,0,0,2873,2874,7,18,0,0,2874,2875,7,19,0,0,2875,2876,7,8,0,0,2876,2877,7,7,0,0,2877,2878,7,15,0,0,2878,2879,7,22,0,0,2879,2880,7,12,0,0,2880,134,1,0,0,0,2881,2882,7,18,0,0,2882,2883,7,8,0,0,2883,2884,7,19,0,0,2884,2885,7,23,0,0,2885,136,1,0,0,0,2886,2887,7,18,0,0,2887,2888,7,17,0,0,2888,2889,7,5,0,0,2889,2890,7,5,0,0,2890,2891,7,6,0,0,2891,2892,7,7,0,0,2892,2893,7,26,0,0,2893,2894,7,6,0,0,2894,138,1,0,0,0,2895,2896,7,22,0,0,2896,2897,7,7,0,0,2897,2898,7,12,0,0,2898,2899,7,7,0,0,2899,2900,7,8,0,0,2900,2901,7,3,0,0,2901,2902,7,6,0,0,2902,2903,7,7,0,0,2903,2904,7,4,0,0,2904,140,1,0,0,0,2905,2906,7,22,0,0,2906,2907,7,7,0,0,2907,2908,7,6,0,0,2908,142,1,0,0,0,2909,2910,7,22,0,0,2910,2911,7,8,0,0,2911,2912,7,3,0,0,2912,2913,7,12,0,0,2913,2914,7,6,0,0,2914,144,1,0,0,0,2915,2916,7,22,0,0,2916,2917,7,8,0,0,2917,2918,7,19,0,0,2918,2919,7,17,0,0,2919,2920,7,25,0,0,2920,146,1,0,0,0,2921,2922,7,20,0,0,2922,2923,7,3,0,0,2923,2924,7,24,0,0,2924,2925,7,15,0,0,2925,2926,7,12,0,0,2926,2927,7,22,0,0,2927,148,1,0,0,0,2928,2929,7,20,0,0,2929,2930,7,15,0,0,2930,2931,7,22,0,0,2931,2932,7,20,0,0,2932,2933,5,95,0,0,2933,2934,7,25,0,0,2934,2935,7,8,0,0,2935,2936,7,15,0,0,2936,2937,7,19,0,0,2937,2938,7,8,0,0,2938,2939,7,15,0,0,2939,2940,7,6,0,0,2940,2941,7,10,0,0,2941,150,1,0,0,0,2942,2943,7,20,0,0,2943,2944,7,15,0,0,2944,2945,7,11,0,0,2945,2946,7,6,0,0,2946,2947,7,19,0,0,2947,2948,7,22,0,0,2948,2949,7,8,0,0,2949,2950,7,3,0,0,2950,2951,7,23,0,0,2951,152,1,0,0,0,2952,2953,7,15,0,0,2953,2954,7,18,0,0,2954,154,1,0,0,0,2955,2956,7,15,0,0,2956,2957,7,22,0,0,2957,2958,7,12,0,0,2958,2959,7,19,0,0,2959,2960,7,8,0,0,2960,2961,7,7,0,0,2961,156,1,0,0,0,2962,2963,7,15,0,0,2963,2964,7,22,0,0,2964,2965,7,12,0,0,2965,2966,7,19,0,0,2966,2967,7,8,0,0,2967,2968,7,7,0,0,2968,2969,7,4,0,0,2969,158,1,0,0,0,2970,2971,7,15,0,0,2971,2972,7,12,0,0,2972,160,1,0,0,0,2973,2974,7,15,0,0,2974,2975,7,12,0,0,2975,2976,7,4,0,0,2976,2977,7,7,0,0,2977,2978,7,26,0,0,2978,162,1,0,0,0,2979,2980,7,15,0,0,2980,2981,7,12,0,0,2981,2982,7,18,0,0,2982,2983,7,15,0,0,2983,2984,7,5,0,0,2984,2985,7,7,0,0,2985,164,1,0,0,0,2986,2987,7,15,0,0,2987,2988,7,12,0,0,2988,2989,7,12,0,0,2989,2990,7,7,0,0,2990,2991,7,8,0,0,2991,166,1,0,0,0,2992,2993,7,15,0,0,2993,2994,7,12,0,0,2994,2995,7,19,0,0,2995,2996,7,17,0,0,2996,2997,7,6,0,0,2997,168,1,0,0,0,2998,2999,7,15,0,0,2999,3e3,7,12,0,0,3e3,3001,7,11,0,0,3001,3002,7,7,0,0,3002,3003,7,8,0,0,3003,3004,7,6,0,0,3004,170,1,0,0,0,3005,3006,7,15,0,0,3006,3007,7,12,0,0,3007,3008,7,6,0,0,3008,3009,7,7,0,0,3009,3010,7,8,0,0,3010,3011,7,24,0,0,3011,3012,7,3,0,0,3012,3013,7,5,0,0,3013,172,1,0,0,0,3014,3015,7,15,0,0,3015,3016,7,12,0,0,3016,3017,7,6,0,0,3017,3018,7,19,0,0,3018,174,1,0,0,0,3019,3020,7,15,0,0,3020,3021,7,11,0,0,3021,176,1,0,0,0,3022,3023,7,15,0,0,3023,3024,7,6,0,0,3024,3025,7,7,0,0,3025,3026,7,8,0,0,3026,3027,7,3,0,0,3027,3028,7,6,0,0,3028,3029,7,7,0,0,3029,178,1,0,0,0,3030,3031,7,27,0,0,3031,3032,7,19,0,0,3032,3033,7,15,0,0,3033,3034,7,12,0,0,3034,180,1,0,0,0,3035,3036,7,21,0,0,3036,3037,7,7,0,0,3037,3038,7,10,0,0,3038,182,1,0,0,0,3039,3040,7,21,0,0,3040,3041,7,7,0,0,3041,3042,7,10,0,0,3042,3043,7,11,0,0,3043,184,1,0,0,0,3044,3045,7,21,0,0,3045,3046,7,15,0,0,3046,3047,7,5,0,0,3047,3048,7,5,0,0,3048,186,1,0,0,0,3049,3050,7,5,0,0,3050,3051,7,3,0,0,3051,3052,7,6,0,0,3052,3053,7,7,0,0,3053,3054,7,8,0,0,3054,3055,7,3,0,0,3055,3056,7,5,0,0,3056,188,1,0,0,0,3057,3058,7,5,0,0,3058,3059,7,7,0,0,3059,3060,7,3,0,0,3060,3061,7,4,0,0,3061,3062,7,15,0,0,3062,3063,7,12,0,0,3063,3064,7,22,0,0,3064,190,1,0,0,0,3065,3066,7,5,0,0,3066,3067,7,7,0,0,3067,3068,7,3,0,0,3068,3069,7,24,0,0,3069,3070,7,7,0,0,3070,192,1,0,0,0,3071,3072,7,5,0,0,3072,3073,7,7,0,0,3073,3074,7,18,0,0,3074,3075,7,6,0,0,3075,194,1,0,0,0,3076,3077,7,5,0,0,3077,3078,7,15,0,0,3078,3079,7,21,0,0,3079,3080,7,7,0,0,3080,196,1,0,0,0,3081,3082,7,5,0,0,3082,3083,7,15,0,0,3083,3084,7,23,0,0,3084,3085,7,15,0,0,3085,3086,7,6,0,0,3086,198,1,0,0,0,3087,3088,7,5,0,0,3088,3089,7,15,0,0,3089,3090,7,12,0,0,3090,3091,7,7,0,0,3091,3092,7,3,0,0,3092,3093,7,8,0,0,3093,200,1,0,0,0,3094,3095,7,5,0,0,3095,3096,7,15,0,0,3096,3097,7,12,0,0,3097,3098,7,7,0,0,3098,3099,7,11,0,0,3099,202,1,0,0,0,3100,3101,7,5,0,0,3101,3102,7,19,0,0,3102,3103,7,3,0,0,3103,3104,7,4,0,0,3104,204,1,0,0,0,3105,3106,7,5,0,0,3106,3107,7,19,0,0,3107,3108,7,14,0,0,3108,3109,7,21,0,0,3109,206,1,0,0,0,3110,3111,7,5,0,0,3111,3112,7,19,0,0,3112,3113,7,14,0,0,3113,3114,7,21,0,0,3114,3115,7,7,0,0,3115,3116,7,4,0,0,3116,208,1,0,0,0,3117,3118,7,5,0,0,3118,3119,7,19,0,0,3119,3120,7,19,0,0,3120,3121,7,25,0,0,3121,210,1,0,0,0,3122,3123,7,5,0,0,3123,3124,7,19,0,0,3124,3125,7,9,0,0,3125,3126,5,95,0,0,3126,3127,7,25,0,0,3127,3128,7,8,0,0,3128,3129,7,15,0,0,3129,3130,7,19,0,0,3130,3131,7,8,0,0,3131,3132,7,15,0,0,3132,3133,7,6,0,0,3133,3134,7,10,0,0,3134,212,1,0,0,0,3135,3136,7,23,0,0,3136,3137,7,3,0,0,3137,3138,7,11,0,0,3138,3139,7,6,0,0,3139,3140,7,7,0,0,3140,3141,7,8,0,0,3141,3142,5,95,0,0,3142,3143,7,16,0,0,3143,3144,7,15,0,0,3144,3145,7,12,0,0,3145,3146,7,4,0,0,3146,214,1,0,0,0,3147,3148,7,23,0,0,3148,3149,7,3,0,0,3149,3150,7,11,0,0,3150,3151,7,6,0,0,3151,3152,7,7,0,0,3152,3153,7,8,0,0,3153,3154,5,95,0,0,3154,3155,7,11,0,0,3155,3156,7,11,0,0,3156,3157,7,5,0,0,3157,3158,5,95,0,0,3158,3159,7,24,0,0,3159,3160,7,7,0,0,3160,3161,7,8,0,0,3161,3162,7,15,0,0,3162,3163,7,18,0,0,3163,3164,7,10,0,0,3164,3165,5,95,0,0,3165,3166,7,11,0,0,3166,3167,7,7,0,0,3167,3168,7,8,0,0,3168,3169,7,24,0,0,3169,3170,7,7,0,0,3170,3171,7,8,0,0,3171,3172,5,95,0,0,3172,3173,7,14,0,0,3173,3174,7,7,0,0,3174,3175,7,8,0,0,3175,3176,7,6,0,0,3176,216,1,0,0,0,3177,3178,7,23,0,0,3178,3179,7,3,0,0,3179,3180,7,6,0,0,3180,3181,7,14,0,0,3181,3182,7,20,0,0,3182,218,1,0,0,0,3183,3184,7,23,0,0,3184,3185,7,3,0,0,3185,3186,7,26,0,0,3186,3187,7,24,0,0,3187,3188,7,3,0,0,3188,3189,7,5,0,0,3189,3190,7,17,0,0,3190,3191,7,7,0,0,3191,220,1,0,0,0,3192,3193,7,23,0,0,3193,3194,7,15,0,0,3194,3195,7,12,0,0,3195,3196,7,24,0,0,3196,3197,7,3,0,0,3197,3198,7,5,0,0,3198,3199,7,17,0,0,3199,3200,7,7,0,0,3200,222,1,0,0,0,3201,3202,7,23,0,0,3202,3203,7,19,0,0,3203,3204,7,4,0,0,3204,3205,7,15,0,0,3205,3206,7,18,0,0,3206,3207,7,15,0,0,3207,3208,7,7,0,0,3208,3209,7,11,0,0,3209,224,1,0,0,0,3210,3211,7,12,0,0,3211,3212,7,3,0,0,3212,3213,7,6,0,0,3213,3214,7,17,0,0,3214,3215,7,8,0,0,3215,3216,7,3,0,0,3216,3217,7,5,0,0,3217,226,1,0,0,0,3218,3219,7,12,0,0,3219,3220,7,19,0,0,3220,3221,7,6,0,0,3221,228,1,0,0,0,3222,3223,7,12,0,0,3223,3224,7,19,0,0,3224,3225,5,95,0,0,3225,3226,7,9,0,0,3226,3227,7,8,0,0,3227,3228,7,15,0,0,3228,3229,7,6,0,0,3229,3230,7,7,0,0,3230,3231,5,95,0,0,3231,3232,7,6,0,0,3232,3233,7,19,0,0,3233,3234,5,95,0,0,3234,3235,7,16,0,0,3235,3236,7,15,0,0,3236,3237,7,12,0,0,3237,3238,7,5,0,0,3238,3239,7,19,0,0,3239,3240,7,22,0,0,3240,230,1,0,0,0,3241,3242,7,12,0,0,3242,3243,7,17,0,0,3243,3244,7,5,0,0,3244,3245,7,5,0,0,3245,232,1,0,0,0,3246,3247,7,12,0,0,3247,3248,7,17,0,0,3248,3249,7,23,0,0,3249,3250,7,16,0,0,3250,3251,7,7,0,0,3251,3252,7,8,0,0,3252,234,1,0,0,0,3253,3254,7,19,0,0,3254,3255,7,12,0,0,3255,236,1,0,0,0,3256,3257,7,19,0,0,3257,3258,7,25,0,0,3258,3259,7,6,0,0,3259,3260,7,15,0,0,3260,3261,7,23,0,0,3261,3262,7,15,0,0,3262,3263,7,13,0,0,3263,3264,7,7,0,0,3264,238,1,0,0,0,3265,3266,7,19,0,0,3266,3267,7,25,0,0,3267,3268,7,6,0,0,3268,3269,7,15,0,0,3269,3270,7,19,0,0,3270,3271,7,12,0,0,3271,240,1,0,0,0,3272,3273,7,19,0,0,3273,3274,7,25,0,0,3274,3275,7,6,0,0,3275,3276,7,15,0,0,3276,3277,7,19,0,0,3277,3278,7,12,0,0,3278,3279,7,3,0,0,3279,3280,7,5,0,0,3280,242,1,0,0,0,3281,3282,7,19,0,0,3282,3283,7,25,0,0,3283,3284,7,6,0,0,3284,3285,7,15,0,0,3285,3286,7,19,0,0,3286,3287,7,12,0,0,3287,3288,7,3,0,0,3288,3289,7,5,0,0,3289,3290,7,5,0,0,3290,3291,7,10,0,0,3291,244,1,0,0,0,3292,3293,7,19,0,0,3293,3294,7,8,0,0,3294,246,1,0,0,0,3295,3296,7,19,0,0,3296,3297,7,8,0,0,3297,3298,7,4,0,0,3298,3299,7,7,0,0,3299,3300,7,8,0,0,3300,248,1,0,0,0,3301,3302,7,19,0,0,3302,3303,7,17,0,0,3303,3304,7,6,0,0,3304,250,1,0,0,0,3305,3306,7,19,0,0,3306,3307,7,17,0,0,3307,3308,7,6,0,0,3308,3309,7,7,0,0,3309,3310,7,8,0,0,3310,252,1,0,0,0,3311,3312,7,19,0,0,3312,3313,7,17,0,0,3313,3314,7,6,0,0,3314,3315,7,18,0,0,3315,3316,7,15,0,0,3316,3317,7,5,0,0,3317,3318,7,7,0,0,3318,254,1,0,0,0,3319,3320,7,19,0,0,3320,3321,7,24,0,0,3321,3322,7,7,0,0,3322,3323,7,8,0,0,3323,256,1,0,0,0,3324,3325,7,25,0,0,3325,3326,7,3,0,0,3326,3327,7,8,0,0,3327,3328,7,6,0,0,3328,3329,7,15,0,0,3329,3330,7,6,0,0,3330,3331,7,15,0,0,3331,3332,7,19,0,0,3332,3333,7,12,0,0,3333,258,1,0,0,0,3334,3335,7,25,0,0,3335,3336,7,8,0,0,3336,3337,7,15,0,0,3337,3338,7,23,0,0,3338,3339,7,3,0,0,3339,3340,7,8,0,0,3340,3341,7,10,0,0,3341,260,1,0,0,0,3342,3343,7,25,0,0,3343,3344,7,8,0,0,3344,3345,7,19,0,0,3345,3346,7,14,0,0,3346,3347,7,7,0,0,3347,3348,7,4,0,0,3348,3349,7,17,0,0,3349,3350,7,8,0,0,3350,3351,7,7,0,0,3351,262,1,0,0,0,3352,3353,7,25,0,0,3353,3354,7,17,0,0,3354,3355,7,8,0,0,3355,3356,7,22,0,0,3356,3357,7,7,0,0,3357,264,1,0,0,0,3358,3359,7,8,0,0,3359,3360,7,3,0,0,3360,3361,7,12,0,0,3361,3362,7,22,0,0,3362,3363,7,7,0,0,3363,266,1,0,0,0,3364,3365,7,8,0,0,3365,3366,7,7,0,0,3366,3367,7,3,0,0,3367,3368,7,4,0,0,3368,268,1,0,0,0,3369,3370,7,8,0,0,3370,3371,7,7,0,0,3371,3372,7,3,0,0,3372,3373,7,4,0,0,3373,3374,7,11,0,0,3374,270,1,0,0,0,3375,3376,7,8,0,0,3376,3377,7,7,0,0,3377,3378,7,18,0,0,3378,3379,7,7,0,0,3379,3380,7,8,0,0,3380,3381,7,7,0,0,3381,3382,7,12,0,0,3382,3383,7,14,0,0,3383,3384,7,7,0,0,3384,3385,7,11,0,0,3385,272,1,0,0,0,3386,3387,7,8,0,0,3387,3388,7,7,0,0,3388,3389,7,22,0,0,3389,3390,7,7,0,0,3390,3391,7,26,0,0,3391,3392,7,25,0,0,3392,274,1,0,0,0,3393,3394,7,8,0,0,3394,3395,7,7,0,0,3395,3396,7,5,0,0,3396,3397,7,7,0,0,3397,3398,7,3,0,0,3398,3399,7,11,0,0,3399,3400,7,7,0,0,3400,276,1,0,0,0,3401,3402,7,8,0,0,3402,3403,7,7,0,0,3403,3404,7,12,0,0,3404,3405,7,3,0,0,3405,3406,7,23,0,0,3406,3407,7,7,0,0,3407,278,1,0,0,0,3408,3409,7,8,0,0,3409,3410,7,7,0,0,3410,3411,7,25,0,0,3411,3412,7,7,0,0,3412,3413,7,3,0,0,3413,3414,7,6,0,0,3414,280,1,0,0,0,3415,3416,7,8,0,0,3416,3417,7,7,0,0,3417,3418,7,25,0,0,3418,3419,7,5,0,0,3419,3420,7,3,0,0,3420,3421,7,14,0,0,3421,3422,7,7,0,0,3422,282,1,0,0,0,3423,3424,7,8,0,0,3424,3425,7,7,0,0,3425,3426,7,28,0,0,3426,3427,7,17,0,0,3427,3428,7,15,0,0,3428,3429,7,8,0,0,3429,3430,7,7,0,0,3430,284,1,0,0,0,3431,3432,7,8,0,0,3432,3433,7,7,0,0,3433,3434,7,11,0,0,3434,3435,7,15,0,0,3435,3436,7,22,0,0,3436,3437,7,12,0,0,3437,3438,7,3,0,0,3438,3439,7,5,0,0,3439,286,1,0,0,0,3440,3441,7,8,0,0,3441,3442,7,7,0,0,3442,3443,7,11,0,0,3443,3444,7,6,0,0,3444,3445,7,8,0,0,3445,3446,7,15,0,0,3446,3447,7,14,0,0,3447,3448,7,6,0,0,3448,288,1,0,0,0,3449,3450,7,8,0,0,3450,3451,7,7,0,0,3451,3452,7,6,0,0,3452,3453,7,3,0,0,3453,3454,7,15,0,0,3454,3455,7,12,0,0,3455,290,1,0,0,0,3456,3457,7,8,0,0,3457,3458,7,7,0,0,3458,3459,7,6,0,0,3459,3460,7,17,0,0,3460,3461,7,8,0,0,3461,3462,7,12,0,0,3462,292,1,0,0,0,3463,3464,7,8,0,0,3464,3465,7,7,0,0,3465,3466,7,24,0,0,3466,3467,7,19,0,0,3467,3468,7,21,0,0,3468,3469,7,7,0,0,3469,294,1,0,0,0,3470,3471,7,8,0,0,3471,3472,7,15,0,0,3472,3473,7,22,0,0,3473,3474,7,20,0,0,3474,3475,7,6,0,0,3475,296,1,0,0,0,3476,3477,7,8,0,0,3477,3478,7,5,0,0,3478,3479,7,15,0,0,3479,3480,7,21,0,0,3480,3481,7,7,0,0,3481,298,1,0,0,0,3482,3483,7,11,0,0,3483,3484,7,14,0,0,3484,3485,7,20,0,0,3485,3486,7,7,0,0,3486,3487,7,23,0,0,3487,3488,7,3,0,0,3488,300,1,0,0,0,3489,3490,7,11,0,0,3490,3491,7,14,0,0,3491,3492,7,20,0,0,3492,3493,7,7,0,0,3493,3494,7,23,0,0,3494,3495,7,3,0,0,3495,3496,7,11,0,0,3496,302,1,0,0,0,3497,3498,7,11,0,0,3498,3499,7,7,0,0,3499,3500,7,5,0,0,3500,3501,7,7,0,0,3501,3502,7,14,0,0,3502,3503,7,6,0,0,3503,304,1,0,0,0,3504,3505,7,11,0,0,3505,3506,7,7,0,0,3506,3507,7,6,0,0,3507,306,1,0,0,0,3508,3509,7,11,0,0,3509,3510,7,7,0,0,3510,3511,7,25,0,0,3511,3512,7,3,0,0,3512,3513,7,8,0,0,3513,3514,7,3,0,0,3514,3515,7,6,0,0,3515,3516,7,19,0,0,3516,3517,7,8,0,0,3517,308,1,0,0,0,3518,3519,7,11,0,0,3519,3520,7,20,0,0,3520,3521,7,19,0,0,3521,3522,7,9,0,0,3522,310,1,0,0,0,3523,3524,7,11,0,0,3524,3525,7,15,0,0,3525,3526,7,22,0,0,3526,3527,7,12,0,0,3527,3528,7,3,0,0,3528,3529,7,5,0,0,3529,312,1,0,0,0,3530,3531,7,11,0,0,3531,3532,7,21,0,0,3532,3533,7,15,0,0,3533,3534,7,25,0,0,3534,314,1,0,0,0,3535,3536,7,11,0,0,3536,3537,7,21,0,0,3537,3538,7,15,0,0,3538,3539,7,25,0,0,3539,3540,5,95,0,0,3540,3541,7,28,0,0,3541,3542,7,17,0,0,3542,3543,7,7,0,0,3543,3544,7,8,0,0,3544,3545,7,10,0,0,3545,3546,5,95,0,0,3546,3547,7,8,0,0,3547,3548,7,7,0,0,3548,3549,7,9,0,0,3549,3550,7,8,0,0,3550,3551,7,15,0,0,3551,3552,7,6,0,0,3552,3553,7,7,0,0,3553,316,1,0,0,0,3554,3555,7,11,0,0,3555,3556,7,25,0,0,3556,3557,7,3,0,0,3557,3558,7,6,0,0,3558,3559,7,15,0,0,3559,3560,7,3,0,0,3560,3561,7,5,0,0,3561,318,1,0,0,0,3562,3563,7,11,0,0,3563,3564,7,28,0,0,3564,3565,7,5,0,0,3565,320,1,0,0,0,3566,3567,7,11,0,0,3567,3568,7,28,0,0,3568,3569,7,5,0,0,3569,3570,7,7,0,0,3570,3571,7,26,0,0,3571,3572,7,14,0,0,3572,3573,7,7,0,0,3573,3574,7,25,0,0,3574,3575,7,6,0,0,3575,3576,7,15,0,0,3576,3577,7,19,0,0,3577,3578,7,12,0,0,3578,322,1,0,0,0,3579,3580,7,11,0,0,3580,3581,7,28,0,0,3581,3582,7,5,0,0,3582,3583,7,11,0,0,3583,3584,7,6,0,0,3584,3585,7,3,0,0,3585,3586,7,6,0,0,3586,3587,7,7,0,0,3587,324,1,0,0,0,3588,3589,7,11,0,0,3589,3590,7,28,0,0,3590,3591,7,5,0,0,3591,3592,7,9,0,0,3592,3593,7,3,0,0,3593,3594,7,8,0,0,3594,3595,7,12,0,0,3595,3596,7,15,0,0,3596,3597,7,12,0,0,3597,3598,7,22,0,0,3598,326,1,0,0,0,3599,3600,7,11,0,0,3600,3601,7,28,0,0,3601,3602,7,5,0,0,3602,3603,5,95,0,0,3603,3604,7,16,0,0,3604,3605,7,15,0,0,3605,3606,7,22,0,0,3606,3607,5,95,0,0,3607,3608,7,8,0,0,3608,3609,7,7,0,0,3609,3610,7,11,0,0,3610,3611,7,17,0,0,3611,3612,7,5,0,0,3612,3613,7,6,0,0,3613,328,1,0,0,0,3614,3615,7,11,0,0,3615,3616,7,28,0,0,3616,3617,7,5,0,0,3617,3618,5,95,0,0,3618,3619,7,14,0,0,3619,3620,7,3,0,0,3620,3621,7,5,0,0,3621,3622,7,14,0,0,3622,3623,5,95,0,0,3623,3624,7,18,0,0,3624,3625,7,19,0,0,3625,3626,7,17,0,0,3626,3627,7,12,0,0,3627,3628,7,4,0,0,3628,3629,5,95,0,0,3629,3630,7,8,0,0,3630,3631,7,19,0,0,3631,3632,7,9,0,0,3632,3633,7,11,0,0,3633,330,1,0,0,0,3634,3635,7,11,0,0,3635,3636,7,28,0,0,3636,3637,7,5,0,0,3637,3638,5,95,0,0,3638,3639,7,11,0,0,3639,3640,7,23,0,0,3640,3641,7,3,0,0,3641,3642,7,5,0,0,3642,3643,7,5,0,0,3643,3644,5,95,0,0,3644,3645,7,8,0,0,3645,3646,7,7,0,0,3646,3647,7,11,0,0,3647,3648,7,17,0,0,3648,3649,7,5,0,0,3649,3650,7,6,0,0,3650,332,1,0,0,0,3651,3652,7,11,0,0,3652,3653,7,11,0,0,3653,3654,7,5,0,0,3654,334,1,0,0,0,3655,3656,7,11,0,0,3656,3657,7,6,0,0,3657,3658,7,3,0,0,3658,3659,7,14,0,0,3659,3660,7,21,0,0,3660,3661,7,7,0,0,3661,3662,7,4,0,0,3662,336,1,0,0,0,3663,3664,7,11,0,0,3664,3665,7,6,0,0,3665,3666,7,3,0,0,3666,3667,7,8,0,0,3667,3668,7,6,0,0,3668,3669,7,15,0,0,3669,3670,7,12,0,0,3670,3671,7,22,0,0,3671,338,1,0,0,0,3672,3673,7,11,0,0,3673,3674,7,6,0,0,3674,3675,7,3,0,0,3675,3676,7,6,0,0,3676,3677,7,7,0,0,3677,3678,7,23,0,0,3678,3679,7,7,0,0,3679,3680,7,12,0,0,3680,3681,7,6,0,0,3681,340,1,0,0,0,3682,3683,7,11,0,0,3683,3684,7,6,0,0,3684,3685,7,8,0,0,3685,3686,7,3,0,0,3686,3687,7,15,0,0,3687,3688,7,22,0,0,3688,3689,7,20,0,0,3689,3690,7,6,0,0,3690,3691,5,95,0,0,3691,3692,7,27,0,0,3692,3693,7,19,0,0,3693,3694,7,15,0,0,3694,3695,7,12,0,0,3695,342,1,0,0,0,3696,3697,7,6,0,0,3697,3698,7,3,0,0,3698,3699,7,16,0,0,3699,3700,7,5,0,0,3700,3701,7,7,0,0,3701,344,1,0,0,0,3702,3703,7,6,0,0,3703,3704,7,7,0,0,3704,3705,7,8,0,0,3705,3706,7,23,0,0,3706,3707,7,15,0,0,3707,3708,7,12,0,0,3708,3709,7,3,0,0,3709,3710,7,6,0,0,3710,3711,7,7,0,0,3711,3712,7,4,0,0,3712,346,1,0,0,0,3713,3714,7,6,0,0,3714,3715,7,20,0,0,3715,3716,7,7,0,0,3716,3717,7,12,0,0,3717,348,1,0,0,0,3718,3719,7,6,0,0,3719,3720,7,19,0,0,3720,350,1,0,0,0,3721,3722,7,6,0,0,3722,3723,7,8,0,0,3723,3724,7,3,0,0,3724,3725,7,15,0,0,3725,3726,7,5,0,0,3726,3727,7,15,0,0,3727,3728,7,12,0,0,3728,3729,7,22,0,0,3729,352,1,0,0,0,3730,3731,7,6,0,0,3731,3732,7,8,0,0,3732,3733,7,15,0,0,3733,3734,7,22,0,0,3734,3735,7,22,0,0,3735,3736,7,7,0,0,3736,3737,7,8,0,0,3737,354,1,0,0,0,3738,3739,7,6,0,0,3739,3740,7,8,0,0,3740,3741,7,17,0,0,3741,3742,7,7,0,0,3742,356,1,0,0,0,3743,3744,7,17,0,0,3744,3745,7,12,0,0,3745,3746,7,4,0,0,3746,3747,7,19,0,0,3747,358,1,0,0,0,3748,3749,7,17,0,0,3749,3750,7,12,0,0,3750,3751,7,15,0,0,3751,3752,7,19,0,0,3752,3753,7,12,0,0,3753,360,1,0,0,0,3754,3755,7,17,0,0,3755,3756,7,12,0,0,3756,3757,7,15,0,0,3757,3758,7,28,0,0,3758,3759,7,17,0,0,3759,3760,7,7,0,0,3760,362,1,0,0,0,3761,3762,7,17,0,0,3762,3763,7,12,0,0,3763,3764,7,5,0,0,3764,3765,7,19,0,0,3765,3766,7,14,0,0,3766,3767,7,21,0,0,3767,364,1,0,0,0,3768,3769,7,17,0,0,3769,3770,7,12,0,0,3770,3771,7,11,0,0,3771,3772,7,15,0,0,3772,3773,7,22,0,0,3773,3774,7,12,0,0,3774,3775,7,7,0,0,3775,3776,7,4,0,0,3776,366,1,0,0,0,3777,3778,7,17,0,0,3778,3779,7,25,0,0,3779,3780,7,4,0,0,3780,3781,7,3,0,0,3781,3782,7,6,0,0,3782,3783,7,7,0,0,3783,368,1,0,0,0,3784,3785,7,17,0,0,3785,3786,7,11,0,0,3786,3787,7,3,0,0,3787,3788,7,22,0,0,3788,3789,7,7,0,0,3789,370,1,0,0,0,3790,3791,7,17,0,0,3791,3792,7,11,0,0,3792,3793,7,7,0,0,3793,372,1,0,0,0,3794,3795,7,17,0,0,3795,3796,7,11,0,0,3796,3797,7,15,0,0,3797,3798,7,12,0,0,3798,3799,7,22,0,0,3799,374,1,0,0,0,3800,3801,7,24,0,0,3801,3802,7,3,0,0,3802,3803,7,5,0,0,3803,3804,7,17,0,0,3804,3805,7,7,0,0,3805,3806,7,11,0,0,3806,376,1,0,0,0,3807,3808,7,9,0,0,3808,3809,7,20,0,0,3809,3810,7,7,0,0,3810,3811,7,12,0,0,3811,378,1,0,0,0,3812,3813,7,9,0,0,3813,3814,7,20,0,0,3814,3815,7,7,0,0,3815,3816,7,8,0,0,3816,3817,7,7,0,0,3817,380,1,0,0,0,3818,3819,7,9,0,0,3819,3820,7,20,0,0,3820,3821,7,15,0,0,3821,3822,7,5,0,0,3822,3823,7,7,0,0,3823,382,1,0,0,0,3824,3825,7,9,0,0,3825,3826,7,15,0,0,3826,3827,7,6,0,0,3827,3828,7,20,0,0,3828,384,1,0,0,0,3829,3830,7,9,0,0,3830,3831,7,8,0,0,3831,3832,7,15,0,0,3832,3833,7,6,0,0,3833,3834,7,7,0,0,3834,386,1,0,0,0,3835,3836,7,26,0,0,3836,3837,7,19,0,0,3837,3838,7,8,0,0,3838,388,1,0,0,0,3839,3840,7,13,0,0,3840,3841,7,7,0,0,3841,3842,7,8,0,0,3842,3843,7,19,0,0,3843,3844,7,18,0,0,3844,3845,7,15,0,0,3845,3846,7,5,0,0,3846,3847,7,5,0,0,3847,390,1,0,0,0,3848,3849,7,6,0,0,3849,3850,7,15,0,0,3850,3851,7,12,0,0,3851,3852,7,10,0,0,3852,3853,7,15,0,0,3853,3854,7,12,0,0,3854,3855,7,6,0,0,3855,392,1,0,0,0,3856,3857,7,11,0,0,3857,3858,7,23,0,0,3858,3859,7,3,0,0,3859,3860,7,5,0,0,3860,3861,7,5,0,0,3861,3862,7,15,0,0,3862,3863,7,12,0,0,3863,3864,7,6,0,0,3864,394,1,0,0,0,3865,3866,7,23,0,0,3866,3867,7,7,0,0,3867,3868,7,4,0,0,3868,3869,7,15,0,0,3869,3870,7,17,0,0,3870,3871,7,23,0,0,3871,3872,7,15,0,0,3872,3873,7,12,0,0,3873,3874,7,6,0,0,3874,396,1,0,0,0,3875,3876,7,23,0,0,3876,3877,7,15,0,0,3877,3878,7,4,0,0,3878,3879,7,4,0,0,3879,3880,7,5,0,0,3880,3881,7,7,0,0,3881,3882,7,15,0,0,3882,3883,7,12,0,0,3883,3884,7,6,0,0,3884,398,1,0,0,0,3885,3886,7,15,0,0,3886,3887,7,12,0,0,3887,3888,7,6,0,0,3888,400,1,0,0,0,3889,3890,7,15,0,0,3890,3891,7,12,0,0,3891,3892,7,6,0,0,3892,3893,5,49,0,0,3893,402,1,0,0,0,3894,3895,7,15,0,0,3895,3896,7,12,0,0,3896,3897,7,6,0,0,3897,3898,5,50,0,0,3898,404,1,0,0,0,3899,3900,7,15,0,0,3900,3901,7,12,0,0,3901,3902,7,6,0,0,3902,3903,5,51,0,0,3903,406,1,0,0,0,3904,3905,7,15,0,0,3905,3906,7,12,0,0,3906,3907,7,6,0,0,3907,3908,5,52,0,0,3908,408,1,0,0,0,3909,3910,7,15,0,0,3910,3911,7,12,0,0,3911,3912,7,6,0,0,3912,3913,5,56,0,0,3913,410,1,0,0,0,3914,3915,7,15,0,0,3915,3916,7,12,0,0,3916,3917,7,6,0,0,3917,3918,7,7,0,0,3918,3919,7,22,0,0,3919,3920,7,7,0,0,3920,3921,7,8,0,0,3921,412,1,0,0,0,3922,3923,7,16,0,0,3923,3924,7,15,0,0,3924,3925,7,22,0,0,3925,3926,7,15,0,0,3926,3927,7,12,0,0,3927,3928,7,6,0,0,3928,414,1,0,0,0,3929,3930,7,8,0,0,3930,3931,7,7,0,0,3931,3932,7,3,0,0,3932,3933,7,5,0,0,3933,416,1,0,0,0,3934,3935,7,4,0,0,3935,3936,7,19,0,0,3936,3937,7,17,0,0,3937,3938,7,16,0,0,3938,3939,7,5,0,0,3939,3940,7,7,0,0,3940,418,1,0,0,0,3941,3942,7,25,0,0,3942,3943,7,8,0,0,3943,3944,7,7,0,0,3944,3945,7,14,0,0,3945,3946,7,15,0,0,3946,3947,7,11,0,0,3947,3948,7,15,0,0,3948,3949,7,19,0,0,3949,3950,7,12,0,0,3950,420,1,0,0,0,3951,3952,7,18,0,0,3952,3953,7,5,0,0,3953,3954,7,19,0,0,3954,3955,7,3,0,0,3955,3956,7,6,0,0,3956,422,1,0,0,0,3957,3958,7,18,0,0,3958,3959,7,5,0,0,3959,3960,7,19,0,0,3960,3961,7,3,0,0,3961,3962,7,6,0,0,3962,3963,5,52,0,0,3963,424,1,0,0,0,3964,3965,7,18,0,0,3965,3966,7,5,0,0,3966,3967,7,19,0,0,3967,3968,7,3,0,0,3968,3969,7,6,0,0,3969,3970,5,56,0,0,3970,426,1,0,0,0,3971,3972,7,4,0,0,3972,3973,7,7,0,0,3973,3974,7,14,0,0,3974,3975,7,15,0,0,3975,3976,7,23,0,0,3976,3977,7,3,0,0,3977,3978,7,5,0,0,3978,428,1,0,0,0,3979,3980,7,4,0,0,3980,3981,7,7,0,0,3981,3982,7,14,0,0,3982,430,1,0,0,0,3983,3984,7,12,0,0,3984,3985,7,17,0,0,3985,3986,7,23,0,0,3986,3987,7,7,0,0,3987,3988,7,8,0,0,3988,3989,7,15,0,0,3989,3990,7,14,0,0,3990,432,1,0,0,0,3991,3992,7,4,0,0,3992,3993,7,3,0,0,3993,3994,7,6,0,0,3994,3995,7,7,0,0,3995,434,1,0,0,0,3996,3997,7,6,0,0,3997,3998,7,15,0,0,3998,3999,7,23,0,0,3999,4e3,7,7,0,0,4e3,436,1,0,0,0,4001,4002,7,6,0,0,4002,4003,7,15,0,0,4003,4004,7,23,0,0,4004,4005,7,7,0,0,4005,4006,7,11,0,0,4006,4007,7,6,0,0,4007,4008,7,3,0,0,4008,4009,7,23,0,0,4009,4010,7,25,0,0,4010,438,1,0,0,0,4011,4012,7,4,0,0,4012,4013,7,3,0,0,4013,4014,7,6,0,0,4014,4015,7,7,0,0,4015,4016,7,6,0,0,4016,4017,7,15,0,0,4017,4018,7,23,0,0,4018,4019,7,7,0,0,4019,440,1,0,0,0,4020,4021,7,10,0,0,4021,4022,7,7,0,0,4022,4023,7,3,0,0,4023,4024,7,8,0,0,4024,442,1,0,0,0,4025,4026,7,14,0,0,4026,4027,7,20,0,0,4027,4028,7,3,0,0,4028,4029,7,8,0,0,4029,444,1,0,0,0,4030,4031,7,24,0,0,4031,4032,7,3,0,0,4032,4033,7,8,0,0,4033,4034,7,14,0,0,4034,4035,7,20,0,0,4035,4036,7,3,0,0,4036,4037,7,8,0,0,4037,446,1,0,0,0,4038,4039,7,12,0,0,4039,4040,7,24,0,0,4040,4041,7,3,0,0,4041,4042,7,8,0,0,4042,4043,7,14,0,0,4043,4044,7,20,0,0,4044,4045,7,3,0,0,4045,4046,7,8,0,0,4046,448,1,0,0,0,4047,4048,7,12,0,0,4048,4049,7,3,0,0,4049,4050,7,6,0,0,4050,4051,7,15,0,0,4051,4052,7,19,0,0,4052,4053,7,12,0,0,4053,4054,7,3,0,0,4054,4055,7,5,0,0,4055,450,1,0,0,0,4056,4057,7,16,0,0,4057,4058,7,15,0,0,4058,4059,7,12,0,0,4059,4060,7,3,0,0,4060,4061,7,8,0,0,4061,4062,7,10,0,0,4062,452,1,0,0,0,4063,4064,7,24,0,0,4064,4065,7,3,0,0,4065,4066,7,8,0,0,4066,4067,7,16,0,0,4067,4068,7,15,0,0,4068,4069,7,12,0,0,4069,4070,7,3,0,0,4070,4071,7,8,0,0,4071,4072,7,10,0,0,4072,454,1,0,0,0,4073,4074,7,6,0,0,4074,4075,7,15,0,0,4075,4076,7,12,0,0,4076,4077,7,10,0,0,4077,4078,7,16,0,0,4078,4079,7,5,0,0,4079,4080,7,19,0,0,4080,4081,7,16,0,0,4081,456,1,0,0,0,4082,4083,7,16,0,0,4083,4084,7,5,0,0,4084,4085,7,19,0,0,4085,4086,7,16,0,0,4086,458,1,0,0,0,4087,4088,7,23,0,0,4088,4089,7,7,0,0,4089,4090,7,4,0,0,4090,4091,7,15,0,0,4091,4092,7,17,0,0,4092,4093,7,23,0,0,4093,4094,7,16,0,0,4094,4095,7,5,0,0,4095,4096,7,19,0,0,4096,4097,7,16,0,0,4097,460,1,0,0,0,4098,4099,7,5,0,0,4099,4100,7,19,0,0,4100,4101,7,12,0,0,4101,4102,7,22,0,0,4102,462,1,0,0,0,4103,4104,7,5,0,0,4104,4105,7,19,0,0,4105,4106,7,12,0,0,4106,4107,7,22,0,0,4107,4108,7,16,0,0,4108,4109,7,5,0,0,4109,4110,7,19,0,0,4110,4111,7,16,0,0,4111,464,1,0,0,0,4112,4113,7,6,0,0,4113,4114,7,15,0,0,4114,4115,7,12,0,0,4115,4116,7,10,0,0,4116,4117,7,6,0,0,4117,4118,7,7,0,0,4118,4119,7,26,0,0,4119,4120,7,6,0,0,4120,466,1,0,0,0,4121,4122,7,6,0,0,4122,4123,7,7,0,0,4123,4124,7,26,0,0,4124,4125,7,6,0,0,4125,468,1,0,0,0,4126,4127,7,23,0,0,4127,4128,7,7,0,0,4128,4129,7,4,0,0,4129,4130,7,15,0,0,4130,4131,7,17,0,0,4131,4132,7,23,0,0,4132,4133,7,6,0,0,4133,4134,7,7,0,0,4134,4135,7,26,0,0,4135,4136,7,6,0,0,4136,470,1,0,0,0,4137,4138,7,5,0,0,4138,4139,7,19,0,0,4139,4140,7,12,0,0,4140,4141,7,22,0,0,4141,4142,7,6,0,0,4142,4143,7,7,0,0,4143,4144,7,26,0,0,4144,4145,7,6,0,0,4145,472,1,0,0,0,4146,4147,7,7,0,0,4147,4148,7,12,0,0,4148,4149,7,17,0,0,4149,4150,7,23,0,0,4150,474,1,0,0,0,4151,4152,7,24,0,0,4152,4153,7,3,0,0,4153,4154,7,8,0,0,4154,4155,7,10,0,0,4155,4156,7,15,0,0,4156,4157,7,12,0,0,4157,4158,7,22,0,0,4158,476,1,0,0,0,4159,4160,7,11,0,0,4160,4161,7,7,0,0,4161,4162,7,8,0,0,4162,4163,7,15,0,0,4163,4164,7,3,0,0,4164,4165,7,5,0,0,4165,478,1,0,0,0,4166,4167,7,10,0,0,4167,4168,7,7,0,0,4168,4169,7,3,0,0,4169,4170,7,8,0,0,4170,4171,5,95,0,0,4171,4172,7,23,0,0,4172,4173,7,19,0,0,4173,4174,7,12,0,0,4174,4175,7,6,0,0,4175,4176,7,20,0,0,4176,480,1,0,0,0,4177,4178,7,4,0,0,4178,4179,7,3,0,0,4179,4180,7,10,0,0,4180,4181,5,95,0,0,4181,4182,7,20,0,0,4182,4183,7,19,0,0,4183,4184,7,17,0,0,4184,4185,7,8,0,0,4185,482,1,0,0,0,4186,4187,7,4,0,0,4187,4188,7,3,0,0,4188,4189,7,10,0,0,4189,4190,5,95,0,0,4190,4191,7,23,0,0,4191,4192,7,15,0,0,4192,4193,7,12,0,0,4193,4194,7,17,0,0,4194,4195,7,6,0,0,4195,4196,7,7,0,0,4196,484,1,0,0,0,4197,4198,7,4,0,0,4198,4199,7,3,0,0,4199,4200,7,10,0,0,4200,4201,5,95,0,0,4201,4202,7,11,0,0,4202,4203,7,7,0,0,4203,4204,7,14,0,0,4204,4205,7,19,0,0,4205,4206,7,12,0,0,4206,4207,7,4,0,0,4207,486,1,0,0,0,4208,4209,7,20,0,0,4209,4210,7,19,0,0,4210,4211,7,17,0,0,4211,4212,7,8,0,0,4212,4213,5,95,0,0,4213,4214,7,23,0,0,4214,4215,7,15,0,0,4215,4216,7,12,0,0,4216,4217,7,17,0,0,4217,4218,7,6,0,0,4218,4219,7,7,0,0,4219,488,1,0,0,0,4220,4221,7,20,0,0,4221,4222,7,19,0,0,4222,4223,7,17,0,0,4223,4224,7,8,0,0,4224,4225,5,95,0,0,4225,4226,7,11,0,0,4226,4227,7,7,0,0,4227,4228,7,14,0,0,4228,4229,7,19,0,0,4229,4230,7,12,0,0,4230,4231,7,4,0,0,4231,490,1,0,0,0,4232,4233,7,23,0,0,4233,4234,7,15,0,0,4234,4235,7,12,0,0,4235,4236,7,17,0,0,4236,4237,7,6,0,0,4237,4238,7,7,0,0,4238,4239,5,95,0,0,4239,4240,7,11,0,0,4240,4241,7,7,0,0,4241,4242,7,14,0,0,4242,4243,7,19,0,0,4243,4244,7,12,0,0,4244,4245,7,4,0,0,4245,492,1,0,0,0,4246,4247,7,11,0,0,4247,4248,7,7,0,0,4248,4249,7,14,0,0,4249,4250,7,19,0,0,4250,4251,7,12,0,0,4251,4252,7,4,0,0,4252,4253,5,95,0,0,4253,4254,7,23,0,0,4254,4255,7,15,0,0,4255,4256,7,14,0,0,4256,4257,7,8,0,0,4257,4258,7,19,0,0,4258,4259,7,11,0,0,4259,4260,7,7,0,0,4260,4261,7,14,0,0,4261,4262,7,19,0,0,4262,4263,7,12,0,0,4263,4264,7,4,0,0,4264,494,1,0,0,0,4265,4266,7,23,0,0,4266,4267,7,15,0,0,4267,4268,7,12,0,0,4268,4269,7,17,0,0,4269,4270,7,6,0,0,4270,4271,7,7,0,0,4271,4272,5,95,0,0,4272,4273,7,23,0,0,4273,4274,7,15,0,0,4274,4275,7,14,0,0,4275,4276,7,8,0,0,4276,4277,7,19,0,0,4277,4278,7,11,0,0,4278,4279,7,7,0,0,4279,4280,7,14,0,0,4280,4281,7,19,0,0,4281,4282,7,12,0,0,4282,4283,7,4,0,0,4283,496,1,0,0,0,4284,4285,7,20,0,0,4285,4286,7,19,0,0,4286,4287,7,17,0,0,4287,4288,7,8,0,0,4288,4289,5,95,0,0,4289,4290,7,23,0,0,4290,4291,7,15,0,0,4291,4292,7,14,0,0,4292,4293,7,8,0,0,4293,4294,7,19,0,0,4294,4295,7,11,0,0,4295,4296,7,7,0,0,4296,4297,7,14,0,0,4297,4298,7,19,0,0,4298,4299,7,12,0,0,4299,4300,7,4,0,0,4300,498,1,0,0,0,4301,4302,7,4,0,0,4302,4303,7,3,0,0,4303,4304,7,10,0,0,4304,4305,5,95,0,0,4305,4306,7,23,0,0,4306,4307,7,15,0,0,4307,4308,7,14,0,0,4308,4309,7,8,0,0,4309,4310,7,19,0,0,4310,4311,7,11,0,0,4311,4312,7,7,0,0,4312,4313,7,14,0,0,4313,4314,7,19,0,0,4314,4315,7,12,0,0,4315,4316,7,4,0,0,4316,500,1,0,0,0,4317,4318,7,27,0,0,4318,4319,7,11,0,0,4319,4320,7,19,0,0,4320,4321,7,12,0,0,4321,4322,5,95,0,0,4322,4323,7,3,0,0,4323,4324,7,8,0,0,4324,4325,7,8,0,0,4325,4326,7,3,0,0,4326,4327,7,10,0,0,4327,502,1,0,0,0,4328,4329,7,27,0,0,4329,4330,7,11,0,0,4330,4331,7,19,0,0,4331,4332,7,12,0,0,4332,4333,5,95,0,0,4333,4334,7,3,0,0,4334,4335,7,8,0,0,4335,4336,7,8,0,0,4336,4337,7,3,0,0,4337,4338,7,10,0,0,4338,4339,7,3,0,0,4339,4340,7,22,0,0,4340,4341,7,22,0,0,4341,504,1,0,0,0,4342,4343,7,27,0,0,4343,4344,7,11,0,0,4344,4345,7,19,0,0,4345,4346,7,12,0,0,4346,4347,5,95,0,0,4347,4348,7,3,0,0,4348,4349,7,8,0,0,4349,4350,7,8,0,0,4350,4351,7,3,0,0,4351,4352,7,10,0,0,4352,4353,5,95,0,0,4353,4354,7,3,0,0,4354,4355,7,25,0,0,4355,4356,7,25,0,0,4356,4357,7,7,0,0,4357,4358,7,12,0,0,4358,4359,7,4,0,0,4359,506,1,0,0,0,4360,4361,7,27,0,0,4361,4362,7,11,0,0,4362,4363,7,19,0,0,4363,4364,7,12,0,0,4364,4365,5,95,0,0,4365,4366,7,3,0,0,4366,4367,7,8,0,0,4367,4368,7,8,0,0,4368,4369,7,3,0,0,4369,4370,7,10,0,0,4370,4371,5,95,0,0,4371,4372,7,15,0,0,4372,4373,7,12,0,0,4373,4374,7,11,0,0,4374,4375,7,7,0,0,4375,4376,7,8,0,0,4376,4377,7,6,0,0,4377,508,1,0,0,0,4378,4379,7,27,0,0,4379,4380,7,11,0,0,4380,4381,7,19,0,0,4381,4382,7,12,0,0,4382,4383,5,95,0,0,4383,4384,7,14,0,0,4384,4385,7,19,0,0,4385,4386,7,12,0,0,4386,4387,7,6,0,0,4387,4388,7,3,0,0,4388,4389,7,15,0,0,4389,4390,7,12,0,0,4390,4391,7,11,0,0,4391,510,1,0,0,0,4392,4393,7,27,0,0,4393,4394,7,11,0,0,4394,4395,7,19,0,0,4395,4396,7,12,0,0,4396,4397,5,95,0,0,4397,4398,7,14,0,0,4398,4399,7,19,0,0,4399,4400,7,12,0,0,4400,4401,7,6,0,0,4401,4402,7,3,0,0,4402,4403,7,15,0,0,4403,4404,7,12,0,0,4404,4405,7,11,0,0,4405,4406,5,95,0,0,4406,4407,7,25,0,0,4407,4408,7,3,0,0,4408,4409,7,6,0,0,4409,4410,7,20,0,0,4410,512,1,0,0,0,4411,4412,7,27,0,0,4412,4413,7,11,0,0,4413,4414,7,19,0,0,4414,4415,7,12,0,0,4415,4416,5,95,0,0,4416,4417,7,4,0,0,4417,4418,7,7,0,0,4418,4419,7,25,0,0,4419,4420,7,6,0,0,4420,4421,7,20,0,0,4421,514,1,0,0,0,4422,4423,7,27,0,0,4423,4424,7,11,0,0,4424,4425,7,19,0,0,4425,4426,7,12,0,0,4426,4427,5,95,0,0,4427,4428,7,7,0,0,4428,4429,7,26,0,0,4429,4430,7,6,0,0,4430,4431,7,8,0,0,4431,4432,7,3,0,0,4432,4433,7,14,0,0,4433,4434,7,6,0,0,4434,516,1,0,0,0,4435,4436,7,27,0,0,4436,4437,7,11,0,0,4437,4438,7,19,0,0,4438,4439,7,12,0,0,4439,4440,5,95,0,0,4440,4441,7,15,0,0,4441,4442,7,12,0,0,4442,4443,7,11,0,0,4443,4444,7,7,0,0,4444,4445,7,8,0,0,4445,4446,7,6,0,0,4446,518,1,0,0,0,4447,4448,7,27,0,0,4448,4449,7,11,0,0,4449,4450,7,19,0,0,4450,4451,7,12,0,0,4451,4452,5,95,0,0,4452,4453,7,21,0,0,4453,4454,7,7,0,0,4454,4455,7,10,0,0,4455,4456,7,11,0,0,4456,520,1,0,0,0,4457,4458,7,27,0,0,4458,4459,7,11,0,0,4459,4460,7,19,0,0,4460,4461,7,12,0,0,4461,4462,5,95,0,0,4462,4463,7,5,0,0,4463,4464,7,7,0,0,4464,4465,7,12,0,0,4465,4466,7,22,0,0,4466,4467,7,6,0,0,4467,4468,7,20,0,0,4468,522,1,0,0,0,4469,4470,7,27,0,0,4470,4471,7,11,0,0,4471,4472,7,19,0,0,4472,4473,7,12,0,0,4473,4474,5,95,0,0,4474,4475,7,23,0,0,4475,4476,7,7,0,0,4476,4477,7,8,0,0,4477,4478,7,22,0,0,4478,4479,7,7,0,0,4479,524,1,0,0,0,4480,4481,7,27,0,0,4481,4482,7,11,0,0,4482,4483,7,19,0,0,4483,4484,7,12,0,0,4484,4485,5,95,0,0,4485,4486,7,23,0,0,4486,4487,7,7,0,0,4487,4488,7,8,0,0,4488,4489,7,22,0,0,4489,4490,7,7,0,0,4490,4491,5,95,0,0,4491,4492,7,25,0,0,4492,4493,7,3,0,0,4493,4494,7,6,0,0,4494,4495,7,14,0,0,4495,4496,7,20,0,0,4496,526,1,0,0,0,4497,4498,7,27,0,0,4498,4499,7,11,0,0,4499,4500,7,19,0,0,4500,4501,7,12,0,0,4501,4502,5,95,0,0,4502,4503,7,23,0,0,4503,4504,7,7,0,0,4504,4505,7,8,0,0,4505,4506,7,22,0,0,4506,4507,7,7,0,0,4507,4508,5,95,0,0,4508,4509,7,25,0,0,4509,4510,7,8,0,0,4510,4511,7,7,0,0,4511,4512,7,11,0,0,4512,4513,7,7,0,0,4513,4514,7,8,0,0,4514,4515,7,24,0,0,4515,4516,7,7,0,0,4516,528,1,0,0,0,4517,4518,7,27,0,0,4518,4519,7,11,0,0,4519,4520,7,19,0,0,4520,4521,7,12,0,0,4521,4522,5,95,0,0,4522,4523,7,19,0,0,4523,4524,7,16,0,0,4524,4525,7,27,0,0,4525,4526,7,7,0,0,4526,4527,7,14,0,0,4527,4528,7,6,0,0,4528,530,1,0,0,0,4529,4530,7,27,0,0,4530,4531,7,11,0,0,4531,4532,7,19,0,0,4532,4533,7,12,0,0,4533,4534,5,95,0,0,4534,4535,7,19,0,0,4535,4536,7,16,0,0,4536,4537,7,27,0,0,4537,4538,7,7,0,0,4538,4539,7,14,0,0,4539,4540,7,6,0,0,4540,4541,7,3,0,0,4541,4542,7,22,0,0,4542,4543,7,22,0,0,4543,532,1,0,0,0,4544,4545,7,27,0,0,4545,4546,7,11,0,0,4546,4547,7,19,0,0,4547,4548,7,12,0,0,4548,4549,5,95,0,0,4549,4550,7,19,0,0,4550,4551,7,24,0,0,4551,4552,7,7,0,0,4552,4553,7,8,0,0,4553,4554,7,5,0,0,4554,4555,7,3,0,0,4555,4556,7,25,0,0,4556,4557,7,11,0,0,4557,534,1,0,0,0,4558,4559,7,27,0,0,4559,4560,7,11,0,0,4560,4561,7,19,0,0,4561,4562,7,12,0,0,4562,4563,5,95,0,0,4563,4564,7,25,0,0,4564,4565,7,8,0,0,4565,4566,7,7,0,0,4566,4567,7,6,0,0,4567,4568,7,6,0,0,4568,4569,7,10,0,0,4569,536,1,0,0,0,4570,4571,7,27,0,0,4571,4572,7,11,0,0,4572,4573,7,19,0,0,4573,4574,7,12,0,0,4574,4575,5,95,0,0,4575,4576,7,28,0,0,4576,4577,7,17,0,0,4577,4578,7,19,0,0,4578,4579,7,6,0,0,4579,4580,7,7,0,0,4580,538,1,0,0,0,4581,4582,7,27,0,0,4582,4583,7,11,0,0,4583,4584,7,19,0,0,4584,4585,7,12,0,0,4585,4586,5,95,0,0,4586,4587,7,8,0,0,4587,4588,7,7,0,0,4588,4589,7,23,0,0,4589,4590,7,19,0,0,4590,4591,7,24,0,0,4591,4592,7,7,0,0,4592,540,1,0,0,0,4593,4594,7,27,0,0,4594,4595,7,11,0,0,4595,4596,7,19,0,0,4596,4597,7,12,0,0,4597,4598,5,95,0,0,4598,4599,7,8,0,0,4599,4600,7,7,0,0,4600,4601,7,25,0,0,4601,4602,7,5,0,0,4602,4603,7,3,0,0,4603,4604,7,14,0,0,4604,4605,7,7,0,0,4605,542,1,0,0,0,4606,4607,7,27,0,0,4607,4608,7,11,0,0,4608,4609,7,19,0,0,4609,4610,7,12,0,0,4610,4611,5,95,0,0,4611,4612,7,11,0,0,4612,4613,7,14,0,0,4613,4614,7,20,0,0,4614,4615,7,7,0,0,4615,4616,7,23,0,0,4616,4617,7,3,0,0,4617,4618,5,95,0,0,4618,4619,7,24,0,0,4619,4620,7,3,0,0,4620,4621,7,5,0,0,4621,4622,7,15,0,0,4622,4623,7,4,0,0,4623,544,1,0,0,0,4624,4625,7,27,0,0,4625,4626,7,11,0,0,4626,4627,7,19,0,0,4627,4628,7,12,0,0,4628,4629,5,95,0,0,4629,4630,7,11,0,0,4630,4631,7,14,0,0,4631,4632,7,20,0,0,4632,4633,7,7,0,0,4633,4634,7,23,0,0,4634,4635,7,3,0,0,4635,4636,5,95,0,0,4636,4637,7,24,0,0,4637,4638,7,3,0,0,4638,4639,7,5,0,0,4639,4640,7,15,0,0,4640,4641,7,4,0,0,4641,4642,7,3,0,0,4642,4643,7,6,0,0,4643,4644,7,15,0,0,4644,4645,7,19,0,0,4645,4646,7,12,0,0,4646,4647,5,95,0,0,4647,4648,7,8,0,0,4648,4649,7,7,0,0,4649,4650,7,25,0,0,4650,4651,7,19,0,0,4651,4652,7,8,0,0,4652,4653,7,6,0,0,4653,546,1,0,0,0,4654,4655,7,27,0,0,4655,4656,7,11,0,0,4656,4657,7,19,0,0,4657,4658,7,12,0,0,4658,4659,5,95,0,0,4659,4660,7,11,0,0,4660,4661,7,7,0,0,4661,4662,7,3,0,0,4662,4663,7,8,0,0,4663,4664,7,14,0,0,4664,4665,7,20,0,0,4665,548,1,0,0,0,4666,4667,7,27,0,0,4667,4668,7,11,0,0,4668,4669,7,19,0,0,4669,4670,7,12,0,0,4670,4671,5,95,0,0,4671,4672,7,11,0,0,4672,4673,7,7,0,0,4673,4674,7,6,0,0,4674,550,1,0,0,0,4675,4676,7,27,0,0,4676,4677,7,11,0,0,4677,4678,7,19,0,0,4678,4679,7,12,0,0,4679,4680,5,95,0,0,4680,4681,7,11,0,0,4681,4682,7,6,0,0,4682,4683,7,19,0,0,4683,4684,7,8,0,0,4684,4685,7,3,0,0,4685,4686,7,22,0,0,4686,4687,7,7,0,0,4687,4688,5,95,0,0,4688,4689,7,18,0,0,4689,4690,7,8,0,0,4690,4691,7,7,0,0,4691,4692,7,7,0,0,4692,552,1,0,0,0,4693,4694,7,27,0,0,4694,4695,7,11,0,0,4695,4696,7,19,0,0,4696,4697,7,12,0,0,4697,4698,5,95,0,0,4698,4699,7,11,0,0,4699,4700,7,6,0,0,4700,4701,7,19,0,0,4701,4702,7,8,0,0,4702,4703,7,3,0,0,4703,4704,7,22,0,0,4704,4705,7,7,0,0,4705,4706,5,95,0,0,4706,4707,7,11,0,0,4707,4708,7,15,0,0,4708,4709,7,13,0,0,4709,4710,7,7,0,0,4710,554,1,0,0,0,4711,4712,7,27,0,0,4712,4713,7,11,0,0,4713,4714,7,19,0,0,4714,4715,7,12,0,0,4715,4716,5,95,0,0,4716,4717,7,6,0,0,4717,4718,7,3,0,0,4718,4719,7,16,0,0,4719,4720,7,5,0,0,4720,4721,7,7,0,0,4721,556,1,0,0,0,4722,4723,7,27,0,0,4723,4724,7,11,0,0,4724,4725,7,19,0,0,4725,4726,7,12,0,0,4726,4727,5,95,0,0,4727,4728,7,6,0,0,4728,4729,7,10,0,0,4729,4730,7,25,0,0,4730,4731,7,7,0,0,4731,558,1,0,0,0,4732,4733,7,27,0,0,4733,4734,7,11,0,0,4734,4735,7,19,0,0,4735,4736,7,12,0,0,4736,4737,5,95,0,0,4737,4738,7,17,0,0,4738,4739,7,12,0,0,4739,4740,7,28,0,0,4740,4741,7,17,0,0,4741,4742,7,19,0,0,4742,4743,7,6,0,0,4743,4744,7,7,0,0,4744,560,1,0,0,0,4745,4746,7,27,0,0,4746,4747,7,11,0,0,4747,4748,7,19,0,0,4748,4749,7,12,0,0,4749,4750,5,95,0,0,4750,4751,7,24,0,0,4751,4752,7,3,0,0,4752,4753,7,5,0,0,4753,4754,7,15,0,0,4754,4755,7,4,0,0,4755,562,1,0,0,0,4756,4757,7,27,0,0,4757,4758,7,11,0,0,4758,4759,7,19,0,0,4759,4760,7,12,0,0,4760,4761,5,95,0,0,4761,4762,7,24,0,0,4762,4763,7,3,0,0,4763,4764,7,5,0,0,4764,4765,7,17,0,0,4765,4766,7,7,0,0,4766,564,1,0,0,0,4767,4768,7,12,0,0,4768,4769,7,7,0,0,4769,4770,7,11,0,0,4770,4771,7,6,0,0,4771,4772,7,7,0,0,4772,4773,7,4,0,0,4773,566,1,0,0,0,4774,4775,7,19,0,0,4775,4776,7,8,0,0,4776,4777,7,4,0,0,4777,4778,7,15,0,0,4778,4779,7,12,0,0,4779,4780,7,3,0,0,4780,4781,7,5,0,0,4781,4782,7,15,0,0,4782,4783,7,6,0,0,4783,4784,7,10,0,0,4784,568,1,0,0,0,4785,4786,7,25,0,0,4786,4787,7,3,0,0,4787,4788,7,6,0,0,4788,4789,7,20,0,0,4789,570,1,0,0,0,4790,4791,7,3,0,0,4791,4792,7,24,0,0,4792,4793,7,22,0,0,4793,572,1,0,0,0,4794,4795,7,16,0,0,4795,4796,7,15,0,0,4796,4797,7,6,0,0,4797,4798,5,95,0,0,4798,4799,7,3,0,0,4799,4800,7,12,0,0,4800,4801,7,4,0,0,4801,574,1,0,0,0,4802,4803,7,16,0,0,4803,4804,7,15,0,0,4804,4805,7,6,0,0,4805,4806,5,95,0,0,4806,4807,7,19,0,0,4807,4808,7,8,0,0,4808,576,1,0,0,0,4809,4810,7,16,0,0,4810,4811,7,15,0,0,4811,4812,7,6,0,0,4812,4813,5,95,0,0,4813,4814,7,26,0,0,4814,4815,7,19,0,0,4815,4816,7,8,0,0,4816,578,1,0,0,0,4817,4818,7,14,0,0,4818,4819,7,19,0,0,4819,4820,7,17,0,0,4820,4821,7,12,0,0,4821,4822,7,6,0,0,4822,580,1,0,0,0,4823,4824,7,14,0,0,4824,4825,7,17,0,0,4825,4826,7,23,0,0,4826,4827,7,7,0,0,4827,4828,5,95,0,0,4828,4829,7,4,0,0,4829,4830,7,15,0,0,4830,4831,7,11,0,0,4831,4832,7,6,0,0,4832,582,1,0,0,0,4833,4834,7,4,0,0,4834,4835,7,7,0,0,4835,4836,7,12,0,0,4836,4837,7,11,0,0,4837,4838,7,7,0,0,4838,4839,5,95,0,0,4839,4840,7,8,0,0,4840,4841,7,3,0,0,4841,4842,7,12,0,0,4842,4843,7,21,0,0,4843,584,1,0,0,0,4844,4845,7,18,0,0,4845,4846,7,15,0,0,4846,4847,7,8,0,0,4847,4848,7,11,0,0,4848,4849,7,6,0,0,4849,4850,5,95,0,0,4850,4851,7,24,0,0,4851,4852,7,3,0,0,4852,4853,7,5,0,0,4853,4854,7,17,0,0,4854,4855,7,7,0,0,4855,586,1,0,0,0,4856,4857,7,22,0,0,4857,4858,7,8,0,0,4858,4859,7,19,0,0,4859,4860,7,17,0,0,4860,4861,7,25,0,0,4861,4862,5,95,0,0,4862,4863,7,14,0,0,4863,4864,7,19,0,0,4864,4865,7,12,0,0,4865,4866,7,14,0,0,4866,4867,7,3,0,0,4867,4868,7,6,0,0,4868,588,1,0,0,0,4869,4870,7,5,0,0,4870,4871,7,3,0,0,4871,4872,7,22,0,0,4872,590,1,0,0,0,4873,4874,7,5,0,0,4874,4875,7,3,0,0,4875,4876,7,11,0,0,4876,4877,7,6,0,0,4877,4878,5,95,0,0,4878,4879,7,24,0,0,4879,4880,7,3,0,0,4880,4881,7,5,0,0,4881,4882,7,17,0,0,4882,4883,7,7,0,0,4883,592,1,0,0,0,4884,4885,7,5,0,0,4885,4886,7,7,0,0,4886,4887,7,3,0,0,4887,4888,7,4,0,0,4888,594,1,0,0,0,4889,4890,7,23,0,0,4890,4891,7,3,0,0,4891,4892,7,26,0,0,4892,596,1,0,0,0,4893,4894,7,23,0,0,4894,4895,7,15,0,0,4895,4896,7,12,0,0,4896,598,1,0,0,0,4897,4898,7,12,0,0,4898,4899,7,6,0,0,4899,4900,7,15,0,0,4900,4901,7,5,0,0,4901,4902,7,7,0,0,4902,600,1,0,0,0,4903,4904,7,12,0,0,4904,4905,7,6,0,0,4905,4906,7,20,0,0,4906,4907,5,95,0,0,4907,4908,7,24,0,0,4908,4909,7,3,0,0,4909,4910,7,5,0,0,4910,4911,7,17,0,0,4911,4912,7,7,0,0,4912,602,1,0,0,0,4913,4914,7,25,0,0,4914,4915,7,7,0,0,4915,4916,7,8,0,0,4916,4917,7,14,0,0,4917,4918,7,7,0,0,4918,4919,7,12,0,0,4919,4920,7,6,0,0,4920,4921,5,95,0,0,4921,4922,7,8,0,0,4922,4923,7,3,0,0,4923,4924,7,12,0,0,4924,4925,7,21,0,0,4925,604,1,0,0,0,4926,4927,7,8,0,0,4927,4928,7,3,0,0,4928,4929,7,12,0,0,4929,4930,7,21,0,0,4930,606,1,0,0,0,4931,4932,7,8,0,0,4932,4933,7,19,0,0,4933,4934,7,9,0,0,4934,4935,5,95,0,0,4935,4936,7,12,0,0,4936,4937,7,17,0,0,4937,4938,7,23,0,0,4938,4939,7,16,0,0,4939,4940,7,7,0,0,4940,4941,7,8,0,0,4941,608,1,0,0,0,4942,4943,7,11,0,0,4943,4944,7,6,0,0,4944,4945,7,4,0,0,4945,610,1,0,0,0,4946,4947,7,11,0,0,4947,4948,7,6,0,0,4948,4949,7,4,0,0,4949,4950,7,4,0,0,4950,4951,7,7,0,0,4951,4952,7,24,0,0,4952,612,1,0,0,0,4953,4954,7,11,0,0,4954,4955,7,6,0,0,4955,4956,7,4,0,0,4956,4957,7,4,0,0,4957,4958,7,7,0,0,4958,4959,7,24,0,0,4959,4960,5,95,0,0,4960,4961,7,25,0,0,4961,4962,7,19,0,0,4962,4963,7,25,0,0,4963,614,1,0,0,0,4964,4965,7,11,0,0,4965,4966,7,6,0,0,4966,4967,7,4,0,0,4967,4968,7,4,0,0,4968,4969,7,7,0,0,4969,4970,7,24,0,0,4970,4971,5,95,0,0,4971,4972,7,11,0,0,4972,4973,7,3,0,0,4973,4974,7,23,0,0,4974,4975,7,25,0,0,4975,616,1,0,0,0,4976,4977,7,11,0,0,4977,4978,7,17,0,0,4978,4979,7,23,0,0,4979,618,1,0,0,0,4980,4981,7,24,0,0,4981,4982,7,3,0,0,4982,4983,7,8,0,0,4983,4984,5,95,0,0,4984,4985,7,25,0,0,4985,4986,7,19,0,0,4986,4987,7,25,0,0,4987,620,1,0,0,0,4988,4989,7,24,0,0,4989,4990,7,3,0,0,4990,4991,7,8,0,0,4991,4992,5,95,0,0,4992,4993,7,11,0,0,4993,4994,7,3,0,0,4994,4995,7,23,0,0,4995,4996,7,25,0,0,4996,622,1,0,0,0,4997,4998,7,24,0,0,4998,4999,7,3,0,0,4999,5e3,7,8,0,0,5e3,5001,7,15,0,0,5001,5002,7,3,0,0,5002,5003,7,12,0,0,5003,5004,7,14,0,0,5004,5005,7,7,0,0,5005,624,1,0,0,0,5006,5007,7,14,0,0,5007,5008,7,17,0,0,5008,5009,7,8,0,0,5009,5010,7,8,0,0,5010,5011,7,7,0,0,5011,5012,7,12,0,0,5012,5013,7,6,0,0,5013,5014,5,95,0,0,5014,5015,7,4,0,0,5015,5016,7,3,0,0,5016,5017,7,6,0,0,5017,5018,7,7,0,0,5018,626,1,0,0,0,5019,5020,7,14,0,0,5020,5021,7,17,0,0,5021,5022,7,8,0,0,5022,5023,7,8,0,0,5023,5024,7,7,0,0,5024,5025,7,12,0,0,5025,5026,7,6,0,0,5026,5027,5,95,0,0,5027,5028,7,6,0,0,5028,5029,7,15,0,0,5029,5030,7,23,0,0,5030,5031,7,7,0,0,5031,628,1,0,0,0,5032,5033,7,14,0,0,5033,5034,7,17,0,0,5034,5035,7,8,0,0,5035,5036,7,8,0,0,5036,5037,7,7,0,0,5037,5038,7,12,0,0,5038,5039,7,6,0,0,5039,5040,5,95,0,0,5040,5041,7,6,0,0,5041,5042,7,15,0,0,5042,5043,7,23,0,0,5043,5044,7,7,0,0,5044,5045,7,11,0,0,5045,5046,7,6,0,0,5046,5047,7,3,0,0,5047,5048,7,23,0,0,5048,5049,7,25,0,0,5049,630,1,0,0,0,5050,5051,7,5,0,0,5051,5052,7,19,0,0,5052,5053,7,14,0,0,5053,5054,7,3,0,0,5054,5055,7,5,0,0,5055,5056,7,6,0,0,5056,5057,7,15,0,0,5057,5058,7,23,0,0,5058,5059,7,7,0,0,5059,632,1,0,0,0,5060,5061,7,14,0,0,5061,5062,7,17,0,0,5062,5063,7,8,0,0,5063,5064,7,4,0,0,5064,5065,7,3,0,0,5065,5066,7,6,0,0,5066,5067,7,7,0,0,5067,634,1,0,0,0,5068,5069,7,14,0,0,5069,5070,7,17,0,0,5070,5071,7,8,0,0,5071,5072,7,6,0,0,5072,5073,7,15,0,0,5073,5074,7,23,0,0,5074,5075,7,7,0,0,5075,636,1,0,0,0,5076,5077,7,4,0,0,5077,5078,7,3,0,0,5078,5079,7,6,0,0,5079,5080,7,7,0,0,5080,5081,5,95,0,0,5081,5082,7,3,0,0,5082,5083,7,4,0,0,5083,5084,7,4,0,0,5084,638,1,0,0,0,5085,5086,7,4,0,0,5086,5087,7,3,0,0,5087,5088,7,6,0,0,5088,5089,7,7,0,0,5089,5090,5,95,0,0,5090,5091,7,11,0,0,5091,5092,7,17,0,0,5092,5093,7,16,0,0,5093,640,1,0,0,0,5094,5095,7,7,0,0,5095,5096,7,26,0,0,5096,5097,7,6,0,0,5097,5098,7,8,0,0,5098,5099,7,3,0,0,5099,5100,7,14,0,0,5100,5101,7,6,0,0,5101,642,1,0,0,0,5102,5103,7,5,0,0,5103,5104,7,19,0,0,5104,5105,7,14,0,0,5105,5106,7,3,0,0,5106,5107,7,5,0,0,5107,5108,7,6,0,0,5108,5109,7,15,0,0,5109,5110,7,23,0,0,5110,5111,7,7,0,0,5111,5112,7,11,0,0,5112,5113,7,6,0,0,5113,5114,7,3,0,0,5114,5115,7,23,0,0,5115,5116,7,25,0,0,5116,644,1,0,0,0,5117,5118,7,12,0,0,5118,5119,7,19,0,0,5119,5120,7,9,0,0,5120,646,1,0,0,0,5121,5122,7,25,0,0,5122,5123,7,19,0,0,5123,5124,7,11,0,0,5124,5125,7,15,0,0,5125,5126,7,6,0,0,5126,5127,7,15,0,0,5127,5128,7,19,0,0,5128,5129,7,12,0,0,5129,648,1,0,0,0,5130,5131,7,11,0,0,5131,5132,7,17,0,0,5132,5133,7,16,0,0,5133,5134,7,11,0,0,5134,5135,7,6,0,0,5135,5136,7,8,0,0,5136,650,1,0,0,0,5137,5138,7,11,0,0,5138,5139,7,17,0,0,5139,5140,7,16,0,0,5140,5141,7,11,0,0,5141,5142,7,6,0,0,5142,5143,7,8,0,0,5143,5144,7,15,0,0,5144,5145,7,12,0,0,5145,5146,7,22,0,0,5146,652,1,0,0,0,5147,5148,7,11,0,0,5148,5149,7,10,0,0,5149,5150,7,11,0,0,5150,5151,7,4,0,0,5151,5152,7,3,0,0,5152,5153,7,6,0,0,5153,5154,7,7,0,0,5154,654,1,0,0,0,5155,5156,7,6,0,0,5156,5157,7,8,0,0,5157,5158,7,15,0,0,5158,5159,7,23,0,0,5159,656,1,0,0,0,5160,5161,7,17,0,0,5161,5162,7,6,0,0,5162,5163,7,14,0,0,5163,5164,5,95,0,0,5164,5165,7,4,0,0,5165,5166,7,3,0,0,5166,5167,7,6,0,0,5167,5168,7,7,0,0,5168,658,1,0,0,0,5169,5170,7,17,0,0,5170,5171,7,6,0,0,5171,5172,7,14,0,0,5172,5173,5,95,0,0,5173,5174,7,6,0,0,5174,5175,7,15,0,0,5175,5176,7,23,0,0,5176,5177,7,7,0,0,5177,660,1,0,0,0,5178,5179,7,17,0,0,5179,5180,7,6,0,0,5180,5181,7,14,0,0,5181,5182,5,95,0,0,5182,5183,7,6,0,0,5183,5184,7,15,0,0,5184,5185,7,23,0,0,5185,5186,7,7,0,0,5186,5187,7,11,0,0,5187,5188,7,6,0,0,5188,5189,7,3,0,0,5189,5190,7,23,0,0,5190,5191,7,25,0,0,5191,662,1,0,0,0,5192,5193,7,3,0,0,5193,5194,7,14,0,0,5194,5195,7,14,0,0,5195,5196,7,19,0,0,5196,5197,7,17,0,0,5197,5198,7,12,0,0,5198,5199,7,6,0,0,5199,664,1,0,0,0,5200,5201,7,3,0,0,5201,5202,7,14,0,0,5202,5203,7,6,0,0,5203,5204,7,15,0,0,5204,5205,7,19,0,0,5205,5206,7,12,0,0,5206,666,1,0,0,0,5207,5208,7,3,0,0,5208,5209,7,18,0,0,5209,5210,7,6,0,0,5210,5211,7,7,0,0,5211,5212,7,8,0,0,5212,668,1,0,0,0,5213,5214,7,3,0,0,5214,5215,7,22,0,0,5215,5216,7,22,0,0,5216,5217,7,8,0,0,5217,5218,7,7,0,0,5218,5219,7,22,0,0,5219,5220,7,3,0,0,5220,5221,7,6,0,0,5221,5222,7,7,0,0,5222,670,1,0,0,0,5223,5224,7,3,0,0,5224,5225,7,5,0,0,5225,5226,7,22,0,0,5226,5227,7,19,0,0,5227,5228,7,8,0,0,5228,5229,7,15,0,0,5229,5230,7,6,0,0,5230,5231,7,20,0,0,5231,5232,7,23,0,0,5232,672,1,0,0,0,5233,5234,7,3,0,0,5234,5235,7,12,0,0,5235,5236,7,10,0,0,5236,674,1,0,0,0,5237,5238,7,3,0,0,5238,5239,7,6,0,0,5239,676,1,0,0,0,5240,5241,7,3,0,0,5241,5242,7,17,0,0,5242,5243,7,6,0,0,5243,5244,7,20,0,0,5244,5245,7,19,0,0,5245,5246,7,8,0,0,5246,5247,7,11,0,0,5247,678,1,0,0,0,5248,5249,7,3,0,0,5249,5250,7,17,0,0,5250,5251,7,6,0,0,5251,5252,7,19,0,0,5252,5253,7,14,0,0,5253,5254,7,19,0,0,5254,5255,7,23,0,0,5255,5256,7,23,0,0,5256,5257,7,15,0,0,5257,5258,7,6,0,0,5258,680,1,0,0,0,5259,5260,7,3,0,0,5260,5261,7,17,0,0,5261,5262,7,6,0,0,5262,5263,7,19,0,0,5263,5264,7,7,0,0,5264,5265,7,26,0,0,5265,5266,7,6,0,0,5266,5267,7,7,0,0,5267,5268,7,12,0,0,5268,5269,7,4,0,0,5269,5270,5,95,0,0,5270,5271,7,11,0,0,5271,5272,7,15,0,0,5272,5273,7,13,0,0,5273,5274,7,7,0,0,5274,682,1,0,0,0,5275,5276,7,3,0,0,5276,5277,7,17,0,0,5277,5278,7,6,0,0,5278,5279,7,19,0,0,5279,5280,5,95,0,0,5280,5281,7,15,0,0,5281,5282,7,12,0,0,5282,5283,7,14,0,0,5283,5284,7,8,0,0,5284,5285,7,7,0,0,5285,5286,7,23,0,0,5286,5287,7,7,0,0,5287,5288,7,12,0,0,5288,5289,7,6,0,0,5289,684,1,0,0,0,5290,5291,7,3,0,0,5291,5292,7,24,0,0,5292,5293,7,22,0,0,5293,5294,5,95,0,0,5294,5295,7,8,0,0,5295,5296,7,19,0,0,5296,5297,7,9,0,0,5297,5298,5,95,0,0,5298,5299,7,5,0,0,5299,5300,7,7,0,0,5300,5301,7,12,0,0,5301,5302,7,22,0,0,5302,5303,7,6,0,0,5303,5304,7,20,0,0,5304,686,1,0,0,0,5305,5306,7,16,0,0,5306,5307,7,7,0,0,5307,5308,7,22,0,0,5308,5309,7,15,0,0,5309,5310,7,12,0,0,5310,688,1,0,0,0,5311,5312,7,16,0,0,5312,5313,7,15,0,0,5313,5314,7,12,0,0,5314,5315,7,5,0,0,5315,5316,7,19,0,0,5316,5317,7,22,0,0,5317,690,1,0,0,0,5318,5319,7,16,0,0,5319,5320,7,15,0,0,5320,5321,7,6,0,0,5321,692,1,0,0,0,5322,5323,7,16,0,0,5323,5324,7,5,0,0,5324,5325,7,19,0,0,5325,5326,7,14,0,0,5326,5327,7,21,0,0,5327,694,1,0,0,0,5328,5329,7,16,0,0,5329,5330,7,19,0,0,5330,5331,7,19,0,0,5331,5332,7,5,0,0,5332,696,1,0,0,0,5333,5334,7,16,0,0,5334,5335,7,19,0,0,5335,5336,7,19,0,0,5336,5337,7,5,0,0,5337,5338,7,7,0,0,5338,5339,7,3,0,0,5339,5340,7,12,0,0,5340,698,1,0,0,0,5341,5342,7,16,0,0,5342,5343,7,6,0,0,5343,5344,7,8,0,0,5344,5345,7,7,0,0,5345,5346,7,7,0,0,5346,700,1,0,0,0,5347,5348,7,14,0,0,5348,5349,7,3,0,0,5349,5350,7,14,0,0,5350,5351,7,20,0,0,5351,5352,7,7,0,0,5352,702,1,0,0,0,5353,5354,7,14,0,0,5354,5355,7,3,0,0,5355,5356,7,11,0,0,5356,5357,7,14,0,0,5357,5358,7,3,0,0,5358,5359,7,4,0,0,5359,5360,7,7,0,0,5360,5361,7,4,0,0,5361,704,1,0,0,0,5362,5363,7,14,0,0,5363,5364,7,20,0,0,5364,5365,7,3,0,0,5365,5366,7,15,0,0,5366,5367,7,12,0,0,5367,706,1,0,0,0,5368,5369,7,14,0,0,5369,5370,7,20,0,0,5370,5371,7,3,0,0,5371,5372,7,12,0,0,5372,5373,7,22,0,0,5373,5374,7,7,0,0,5374,5375,7,4,0,0,5375,708,1,0,0,0,5376,5377,7,14,0,0,5377,5378,7,20,0,0,5378,5379,7,3,0,0,5379,5380,7,12,0,0,5380,5381,7,12,0,0,5381,5382,7,7,0,0,5382,5383,7,5,0,0,5383,710,1,0,0,0,5384,5385,7,14,0,0,5385,5386,7,20,0,0,5386,5387,7,7,0,0,5387,5388,7,14,0,0,5388,5389,7,21,0,0,5389,5390,7,11,0,0,5390,5391,7,17,0,0,5391,5392,7,23,0,0,5392,712,1,0,0,0,5393,5394,7,25,0,0,5394,5395,7,3,0,0,5395,5396,7,22,0,0,5396,5397,7,7,0,0,5397,5398,5,95,0,0,5398,5399,7,14,0,0,5399,5400,7,20,0,0,5400,5401,7,7,0,0,5401,5402,7,14,0,0,5402,5403,7,21,0,0,5403,5404,7,11,0,0,5404,5405,7,17,0,0,5405,5406,7,23,0,0,5406,714,1,0,0,0,5407,5408,7,14,0,0,5408,5409,7,15,0,0,5409,5410,7,25,0,0,5410,5411,7,20,0,0,5411,5412,7,7,0,0,5412,5413,7,8,0,0,5413,716,1,0,0,0,5414,5415,7,14,0,0,5415,5416,7,5,0,0,5416,5417,7,3,0,0,5417,5418,7,11,0,0,5418,5419,7,11,0,0,5419,5420,5,95,0,0,5420,5421,7,19,0,0,5421,5422,7,8,0,0,5422,5423,7,15,0,0,5423,5424,7,22,0,0,5424,5425,7,15,0,0,5425,5426,7,12,0,0,5426,718,1,0,0,0,5427,5428,7,14,0,0,5428,5429,7,5,0,0,5429,5430,7,15,0,0,5430,5431,7,7,0,0,5431,5432,7,12,0,0,5432,5433,7,6,0,0,5433,720,1,0,0,0,5434,5435,7,14,0,0,5435,5436,7,5,0,0,5436,5437,7,19,0,0,5437,5438,7,11,0,0,5438,5439,7,7,0,0,5439,722,1,0,0,0,5440,5441,7,14,0,0,5441,5442,7,5,0,0,5442,5443,7,17,0,0,5443,5444,7,11,0,0,5444,5445,7,6,0,0,5445,5446,7,7,0,0,5446,5447,7,8,0,0,5447,5448,7,15,0,0,5448,5449,7,12,0,0,5449,5450,7,22,0,0,5450,724,1,0,0,0,5451,5452,7,14,0,0,5452,5453,7,19,0,0,5453,5454,7,3,0,0,5454,5455,7,5,0,0,5455,5456,7,7,0,0,5456,5457,7,11,0,0,5457,5458,7,14,0,0,5458,5459,7,7,0,0,5459,726,1,0,0,0,5460,5461,7,14,0,0,5461,5462,7,19,0,0,5462,5463,7,4,0,0,5463,5464,7,7,0,0,5464,728,1,0,0,0,5465,5466,7,14,0,0,5466,5467,7,19,0,0,5467,5468,7,5,0,0,5468,5469,7,17,0,0,5469,5470,7,23,0,0,5470,5471,7,12,0,0,5471,5472,7,11,0,0,5472,730,1,0,0,0,5473,5474,7,14,0,0,5474,5475,7,19,0,0,5475,5476,7,5,0,0,5476,5477,7,17,0,0,5477,5478,7,23,0,0,5478,5479,7,12,0,0,5479,5480,5,95,0,0,5480,5481,7,18,0,0,5481,5482,7,19,0,0,5482,5483,7,8,0,0,5483,5484,7,23,0,0,5484,5485,7,3,0,0,5485,5486,7,6,0,0,5486,732,1,0,0,0,5487,5488,7,14,0,0,5488,5489,7,19,0,0,5489,5490,7,5,0,0,5490,5491,7,17,0,0,5491,5492,7,23,0,0,5492,5493,7,12,0,0,5493,5494,5,95,0,0,5494,5495,7,12,0,0,5495,5496,7,3,0,0,5496,5497,7,23,0,0,5497,5498,7,7,0,0,5498,734,1,0,0,0,5499,5500,7,14,0,0,5500,5501,7,19,0,0,5501,5502,7,23,0,0,5502,5503,7,23,0,0,5503,5504,7,7,0,0,5504,5505,7,12,0,0,5505,5506,7,6,0,0,5506,736,1,0,0,0,5507,5508,7,14,0,0,5508,5509,7,19,0,0,5509,5510,7,23,0,0,5510,5511,7,23,0,0,5511,5512,7,15,0,0,5512,5513,7,6,0,0,5513,738,1,0,0,0,5514,5515,7,14,0,0,5515,5516,7,19,0,0,5516,5517,7,23,0,0,5517,5518,7,25,0,0,5518,5519,7,3,0,0,5519,5520,7,14,0,0,5520,5521,7,6,0,0,5521,740,1,0,0,0,5522,5523,7,14,0,0,5523,5524,7,19,0,0,5524,5525,7,23,0,0,5525,5526,7,25,0,0,5526,5527,7,5,0,0,5527,5528,7,7,0,0,5528,5529,7,6,0,0,5529,5530,7,15,0,0,5530,5531,7,19,0,0,5531,5532,7,12,0,0,5532,742,1,0,0,0,5533,5534,7,14,0,0,5534,5535,7,19,0,0,5535,5536,7,23,0,0,5536,5537,7,25,0,0,5537,5538,7,8,0,0,5538,5539,7,7,0,0,5539,5540,7,11,0,0,5540,5541,7,11,0,0,5541,5542,7,7,0,0,5542,5543,7,4,0,0,5543,744,1,0,0,0,5544,5545,7,14,0,0,5545,5546,7,19,0,0,5546,5547,7,23,0,0,5547,5548,7,25,0,0,5548,5549,7,8,0,0,5549,5550,7,7,0,0,5550,5551,7,11,0,0,5551,5552,7,11,0,0,5552,5553,7,15,0,0,5553,5554,7,19,0,0,5554,5555,7,12,0,0,5555,746,1,0,0,0,5556,5557,7,14,0,0,5557,5558,7,19,0,0,5558,5559,7,12,0,0,5559,5560,7,14,0,0,5560,5561,7,17,0,0,5561,5562,7,8,0,0,5562,5563,7,8,0,0,5563,5564,7,7,0,0,5564,5565,7,12,0,0,5565,5566,7,6,0,0,5566,748,1,0,0,0,5567,5568,7,14,0,0,5568,5569,7,19,0,0,5569,5570,7,12,0,0,5570,5571,7,12,0,0,5571,5572,7,7,0,0,5572,5573,7,14,0,0,5573,5574,7,6,0,0,5574,750,1,0,0,0,5575,5576,7,14,0,0,5576,5577,7,19,0,0,5577,5578,7,12,0,0,5578,5579,7,12,0,0,5579,5580,7,7,0,0,5580,5581,7,14,0,0,5581,5582,7,6,0,0,5582,5583,7,15,0,0,5583,5584,7,19,0,0,5584,5585,7,12,0,0,5585,752,1,0,0,0,5586,5587,7,14,0,0,5587,5588,7,19,0,0,5588,5589,7,12,0,0,5589,5590,7,11,0,0,5590,5591,7,15,0,0,5591,5592,7,11,0,0,5592,5593,7,6,0,0,5593,5594,7,7,0,0,5594,5595,7,12,0,0,5595,5596,7,6,0,0,5596,754,1,0,0,0,5597,5598,7,14,0,0,5598,5599,7,19,0,0,5599,5600,7,12,0,0,5600,5601,7,11,0,0,5601,5602,7,6,0,0,5602,5603,7,8,0,0,5603,5604,7,3,0,0,5604,5605,7,15,0,0,5605,5606,7,12,0,0,5606,5607,7,6,0,0,5607,5608,5,95,0,0,5608,5609,7,14,0,0,5609,5610,7,3,0,0,5610,5611,7,6,0,0,5611,5612,7,3,0,0,5612,5613,7,5,0,0,5613,5614,7,19,0,0,5614,5615,7,22,0,0,5615,756,1,0,0,0,5616,5617,7,14,0,0,5617,5618,7,19,0,0,5618,5619,7,12,0,0,5619,5620,7,11,0,0,5620,5621,7,6,0,0,5621,5622,7,8,0,0,5622,5623,7,3,0,0,5623,5624,7,15,0,0,5624,5625,7,12,0,0,5625,5626,7,6,0,0,5626,5627,5,95,0,0,5627,5628,7,11,0,0,5628,5629,7,14,0,0,5629,5630,7,20,0,0,5630,5631,7,7,0,0,5631,5632,7,23,0,0,5632,5633,7,3,0,0,5633,758,1,0,0,0,5634,5635,7,14,0,0,5635,5636,7,19,0,0,5636,5637,7,12,0,0,5637,5638,7,11,0,0,5638,5639,7,6,0,0,5639,5640,7,8,0,0,5640,5641,7,3,0,0,5641,5642,7,15,0,0,5642,5643,7,12,0,0,5643,5644,7,6,0,0,5644,5645,5,95,0,0,5645,5646,7,12,0,0,5646,5647,7,3,0,0,5647,5648,7,23,0,0,5648,5649,7,7,0,0,5649,760,1,0,0,0,5650,5651,7,14,0,0,5651,5652,7,19,0,0,5652,5653,7,12,0,0,5653,5654,7,6,0,0,5654,5655,7,3,0,0,5655,5656,7,15,0,0,5656,5657,7,12,0,0,5657,5658,7,11,0,0,5658,762,1,0,0,0,5659,5660,7,14,0,0,5660,5661,7,19,0,0,5661,5662,7,12,0,0,5662,5663,7,6,0,0,5663,5664,7,7,0,0,5664,5665,7,26,0,0,5665,5666,7,6,0,0,5666,764,1,0,0,0,5667,5668,7,14,0,0,5668,5669,7,19,0,0,5669,5670,7,12,0,0,5670,5671,7,6,0,0,5671,5672,7,8,0,0,5672,5673,7,15,0,0,5673,5674,7,16,0,0,5674,5675,7,17,0,0,5675,5676,7,6,0,0,5676,5677,7,19,0,0,5677,5678,7,8,0,0,5678,5679,7,11,0,0,5679,766,1,0,0,0,5680,5681,7,14,0,0,5681,5682,7,19,0,0,5682,5683,7,25,0,0,5683,5684,7,10,0,0,5684,768,1,0,0,0,5685,5686,7,14,0,0,5686,5687,7,25,0,0,5687,5688,7,17,0,0,5688,770,1,0,0,0,5689,5690,7,14,0,0,5690,5691,7,10,0,0,5691,5692,7,14,0,0,5692,5693,7,5,0,0,5693,5694,7,7,0,0,5694,772,1,0,0,0,5695,5696,7,14,0,0,5696,5697,7,17,0,0,5697,5698,7,8,0,0,5698,5699,7,11,0,0,5699,5700,7,19,0,0,5700,5701,7,8,0,0,5701,5702,5,95,0,0,5702,5703,7,12,0,0,5703,5704,7,3,0,0,5704,5705,7,23,0,0,5705,5706,7,7,0,0,5706,774,1,0,0,0,5707,5708,7,4,0,0,5708,5709,7,3,0,0,5709,5710,7,6,0,0,5710,5711,7,3,0,0,5711,776,1,0,0,0,5712,5713,7,4,0,0,5713,5714,7,3,0,0,5714,5715,7,6,0,0,5715,5716,7,3,0,0,5716,5717,7,18,0,0,5717,5718,7,15,0,0,5718,5719,7,5,0,0,5719,5720,7,7,0,0,5720,778,1,0,0,0,5721,5722,7,4,0,0,5722,5723,7,7,0,0,5723,5724,7,3,0,0,5724,5725,7,5,0,0,5725,5726,7,5,0,0,5726,5727,7,19,0,0,5727,5728,7,14,0,0,5728,5729,7,3,0,0,5729,5730,7,6,0,0,5730,5731,7,7,0,0,5731,780,1,0,0,0,5732,5733,7,4,0,0,5733,5734,7,7,0,0,5734,5735,7,18,0,0,5735,5736,7,3,0,0,5736,5737,7,17,0,0,5737,5738,7,5,0,0,5738,5739,7,6,0,0,5739,5740,5,95,0,0,5740,5741,7,3,0,0,5741,5742,7,17,0,0,5742,5743,7,6,0,0,5743,5744,7,20,0,0,5744,782,1,0,0,0,5745,5746,7,4,0,0,5746,5747,7,7,0,0,5747,5748,7,18,0,0,5748,5749,7,15,0,0,5749,5750,7,12,0,0,5750,5751,7,7,0,0,5751,5752,7,8,0,0,5752,784,1,0,0,0,5753,5754,7,4,0,0,5754,5755,7,7,0,0,5755,5756,7,5,0,0,5756,5757,7,3,0,0,5757,5758,7,10,0,0,5758,5759,5,95,0,0,5759,5760,7,21,0,0,5760,5761,7,7,0,0,5761,5762,7,10,0,0,5762,5763,5,95,0,0,5763,5764,7,9,0,0,5764,5765,7,8,0,0,5765,5766,7,15,0,0,5766,5767,7,6,0,0,5767,5768,7,7,0,0,5768,786,1,0,0,0,5769,5770,7,4,0,0,5770,5771,7,7,0,0,5771,5772,7,11,0,0,5772,5773,5,95,0,0,5773,5774,7,21,0,0,5774,5775,7,7,0,0,5775,5776,7,10,0,0,5776,5777,5,95,0,0,5777,5778,7,18,0,0,5778,5779,7,15,0,0,5779,5780,7,5,0,0,5780,5781,7,7,0,0,5781,788,1,0,0,0,5782,5783,7,4,0,0,5783,5784,7,15,0,0,5784,5785,7,8,0,0,5785,5786,7,7,0,0,5786,5787,7,14,0,0,5787,5788,7,6,0,0,5788,5789,7,19,0,0,5789,5790,7,8,0,0,5790,5791,7,10,0,0,5791,790,1,0,0,0,5792,5793,7,4,0,0,5793,5794,7,15,0,0,5794,5795,7,11,0,0,5795,5796,7,3,0,0,5796,5797,7,16,0,0,5797,5798,7,5,0,0,5798,5799,7,7,0,0,5799,792,1,0,0,0,5800,5801,7,4,0,0,5801,5802,7,15,0,0,5802,5803,7,11,0,0,5803,5804,7,14,0,0,5804,5805,7,3,0,0,5805,5806,7,8,0,0,5806,5807,7,4,0,0,5807,794,1,0,0,0,5808,5809,7,4,0,0,5809,5810,7,15,0,0,5810,5811,7,11,0,0,5811,5812,7,21,0,0,5812,796,1,0,0,0,5813,5814,7,4,0,0,5814,5815,7,19,0,0,5815,798,1,0,0,0,5816,5817,7,4,0,0,5817,5818,7,17,0,0,5818,5819,7,23,0,0,5819,5820,7,25,0,0,5820,5821,7,18,0,0,5821,5822,7,15,0,0,5822,5823,7,5,0,0,5823,5824,7,7,0,0,5824,800,1,0,0,0,5825,5826,7,4,0,0,5826,5827,7,17,0,0,5827,5828,7,25,0,0,5828,5829,7,5,0,0,5829,5830,7,15,0,0,5830,5831,7,14,0,0,5831,5832,7,3,0,0,5832,5833,7,6,0,0,5833,5834,7,7,0,0,5834,802,1,0,0,0,5835,5836,7,4,0,0,5836,5837,7,10,0,0,5837,5838,7,12,0,0,5838,5839,7,3,0,0,5839,5840,7,23,0,0,5840,5841,7,15,0,0,5841,5842,7,14,0,0,5842,804,1,0,0,0,5843,5844,7,7,0,0,5844,5845,7,12,0,0,5845,5846,7,3,0,0,5846,5847,7,16,0,0,5847,5848,7,5,0,0,5848,5849,7,7,0,0,5849,806,1,0,0,0,5850,5851,7,7,0,0,5851,5852,7,12,0,0,5852,5853,7,14,0,0,5853,5854,7,8,0,0,5854,5855,7,10,0,0,5855,5856,7,25,0,0,5856,5857,7,6,0,0,5857,5858,7,7,0,0,5858,5859,7,4,0,0,5859,808,1,0,0,0,5860,5861,7,7,0,0,5861,5862,7,12,0,0,5862,5863,7,14,0,0,5863,5864,7,8,0,0,5864,5865,7,10,0,0,5865,5866,7,25,0,0,5866,5867,7,6,0,0,5867,5868,7,15,0,0,5868,5869,7,19,0,0,5869,5870,7,12,0,0,5870,810,1,0,0,0,5871,5872,7,7,0,0,5872,5873,7,12,0,0,5873,5874,7,14,0,0,5874,5875,7,8,0,0,5875,5876,7,10,0,0,5876,5877,7,25,0,0,5877,5878,7,6,0,0,5878,5879,7,15,0,0,5879,5880,7,19,0,0,5880,5881,7,12,0,0,5881,5882,5,95,0,0,5882,5883,7,21,0,0,5883,5884,7,7,0,0,5884,5885,7,10,0,0,5885,5886,5,95,0,0,5886,5887,7,15,0,0,5887,5888,7,4,0,0,5888,812,1,0,0,0,5889,5890,7,7,0,0,5890,5891,7,12,0,0,5891,5892,7,4,0,0,5892,814,1,0,0,0,5893,5894,7,7,0,0,5894,5895,7,12,0,0,5895,5896,7,4,0,0,5896,5897,7,11,0,0,5897,816,1,0,0,0,5898,5899,7,7,0,0,5899,5900,7,12,0,0,5900,5901,7,22,0,0,5901,5902,7,15,0,0,5902,5903,7,12,0,0,5903,5904,7,7,0,0,5904,818,1,0,0,0,5905,5906,7,7,0,0,5906,5907,7,12,0,0,5907,5908,7,22,0,0,5908,5909,7,15,0,0,5909,5910,7,12,0,0,5910,5911,7,7,0,0,5911,5912,7,11,0,0,5912,820,1,0,0,0,5913,5914,7,7,0,0,5914,5915,7,8,0,0,5915,5916,7,8,0,0,5916,5917,7,19,0,0,5917,5918,7,8,0,0,5918,822,1,0,0,0,5919,5920,7,7,0,0,5920,5921,7,8,0,0,5921,5922,7,8,0,0,5922,5923,7,19,0,0,5923,5924,7,8,0,0,5924,5925,7,11,0,0,5925,824,1,0,0,0,5926,5927,7,7,0,0,5927,5928,7,11,0,0,5928,5929,7,14,0,0,5929,5930,7,3,0,0,5930,5931,7,25,0,0,5931,5932,7,7,0,0,5932,826,1,0,0,0,5933,5934,7,7,0,0,5934,5935,7,24,0,0,5935,5936,7,7,0,0,5936,5937,7,12,0,0,5937,828,1,0,0,0,5938,5939,7,7,0,0,5939,5940,7,24,0,0,5940,5941,7,7,0,0,5941,5942,7,12,0,0,5942,5943,7,6,0,0,5943,830,1,0,0,0,5944,5945,7,7,0,0,5945,5946,7,24,0,0,5946,5947,7,7,0,0,5947,5948,7,12,0,0,5948,5949,7,6,0,0,5949,5950,7,11,0,0,5950,832,1,0,0,0,5951,5952,7,7,0,0,5952,5953,7,24,0,0,5953,5954,7,7,0,0,5954,5955,7,8,0,0,5955,5956,7,10,0,0,5956,834,1,0,0,0,5957,5958,7,7,0,0,5958,5959,7,26,0,0,5959,5960,7,14,0,0,5960,5961,7,20,0,0,5961,5962,7,3,0,0,5962,5963,7,12,0,0,5963,5964,7,22,0,0,5964,5965,7,7,0,0,5965,836,1,0,0,0,5966,5967,7,7,0,0,5967,5968,7,26,0,0,5968,5969,7,14,0,0,5969,5970,7,5,0,0,5970,5971,7,17,0,0,5971,5972,7,11,0,0,5972,5973,7,15,0,0,5973,5974,7,24,0,0,5974,5975,7,7,0,0,5975,838,1,0,0,0,5976,5977,7,7,0,0,5977,5978,7,26,0,0,5978,5979,7,25,0,0,5979,5980,7,15,0,0,5980,5981,7,8,0,0,5981,5982,7,7,0,0,5982,840,1,0,0,0,5983,5984,7,7,0,0,5984,5985,7,26,0,0,5985,5986,7,25,0,0,5986,5987,7,19,0,0,5987,5988,7,8,0,0,5988,5989,7,6,0,0,5989,842,1,0,0,0,5990,5991,7,7,0,0,5991,5992,7,26,0,0,5992,5993,7,6,0,0,5993,5994,7,7,0,0,5994,5995,7,12,0,0,5995,5996,7,4,0,0,5996,5997,7,7,0,0,5997,5998,7,4,0,0,5998,844,1,0,0,0,5999,6e3,7,7,0,0,6e3,6001,7,26,0,0,6001,6002,7,6,0,0,6002,6003,7,7,0,0,6003,6004,7,12,0,0,6004,6005,7,6,0,0,6005,6006,5,95,0,0,6006,6007,7,11,0,0,6007,6008,7,15,0,0,6008,6009,7,13,0,0,6009,6010,7,7,0,0,6010,846,1,0,0,0,6011,6012,7,18,0,0,6012,6013,7,3,0,0,6013,6014,7,15,0,0,6014,6015,7,5,0,0,6015,6016,7,7,0,0,6016,6017,7,4,0,0,6017,6018,5,95,0,0,6018,6019,7,5,0,0,6019,6020,7,19,0,0,6020,6021,7,22,0,0,6021,6022,7,15,0,0,6022,6023,7,12,0,0,6023,6024,5,95,0,0,6024,6025,7,3,0,0,6025,6026,7,6,0,0,6026,6027,7,6,0,0,6027,6028,7,7,0,0,6028,6029,7,23,0,0,6029,6030,7,25,0,0,6030,6031,7,6,0,0,6031,6032,7,11,0,0,6032,848,1,0,0,0,6033,6034,7,18,0,0,6034,6035,7,3,0,0,6035,6036,7,11,0,0,6036,6037,7,6,0,0,6037,850,1,0,0,0,6038,6039,7,18,0,0,6039,6040,7,3,0,0,6040,6041,7,17,0,0,6041,6042,7,5,0,0,6042,6043,7,6,0,0,6043,6044,7,11,0,0,6044,852,1,0,0,0,6045,6046,7,18,0,0,6046,6047,7,15,0,0,6047,6048,7,7,0,0,6048,6049,7,5,0,0,6049,6050,7,4,0,0,6050,6051,7,11,0,0,6051,854,1,0,0,0,6052,6053,7,18,0,0,6053,6054,7,15,0,0,6054,6055,7,5,0,0,6055,6056,7,7,0,0,6056,6057,5,95,0,0,6057,6058,7,16,0,0,6058,6059,7,5,0,0,6059,6060,7,19,0,0,6060,6061,7,14,0,0,6061,6062,7,21,0,0,6062,6063,5,95,0,0,6063,6064,7,11,0,0,6064,6065,7,15,0,0,6065,6066,7,13,0,0,6066,6067,7,7,0,0,6067,856,1,0,0,0,6068,6069,7,18,0,0,6069,6070,7,15,0,0,6070,6071,7,5,0,0,6071,6072,7,6,0,0,6072,6073,7,7,0,0,6073,6074,7,8,0,0,6074,858,1,0,0,0,6075,6076,7,18,0,0,6076,6077,7,15,0,0,6077,6078,7,8,0,0,6078,6079,7,11,0,0,6079,6080,7,6,0,0,6080,860,1,0,0,0,6081,6082,7,18,0,0,6082,6083,7,15,0,0,6083,6084,7,26,0,0,6084,6085,7,7,0,0,6085,6086,7,4,0,0,6086,862,1,0,0,0,6087,6088,7,18,0,0,6088,6089,7,5,0,0,6089,6090,7,17,0,0,6090,6091,7,11,0,0,6091,6092,7,20,0,0,6092,864,1,0,0,0,6093,6094,7,18,0,0,6094,6095,7,19,0,0,6095,6096,7,5,0,0,6096,6097,7,5,0,0,6097,6098,7,19,0,0,6098,6099,7,9,0,0,6099,6100,7,15,0,0,6100,6101,7,12,0,0,6101,6102,7,22,0,0,6102,866,1,0,0,0,6103,6104,7,18,0,0,6104,6105,7,19,0,0,6105,6106,7,5,0,0,6106,6107,7,5,0,0,6107,6108,7,19,0,0,6108,6109,7,9,0,0,6109,6110,7,11,0,0,6110,868,1,0,0,0,6111,6112,7,18,0,0,6112,6113,7,19,0,0,6113,6114,7,17,0,0,6114,6115,7,12,0,0,6115,6116,7,4,0,0,6116,870,1,0,0,0,6117,6118,7,18,0,0,6118,6119,7,17,0,0,6119,6120,7,5,0,0,6120,6121,7,5,0,0,6121,872,1,0,0,0,6122,6123,7,18,0,0,6123,6124,7,17,0,0,6124,6125,7,12,0,0,6125,6126,7,14,0,0,6126,6127,7,6,0,0,6127,6128,7,15,0,0,6128,6129,7,19,0,0,6129,6130,7,12,0,0,6130,874,1,0,0,0,6131,6132,7,22,0,0,6132,6133,7,7,0,0,6133,6134,7,12,0,0,6134,6135,7,7,0,0,6135,6136,7,8,0,0,6136,6137,7,3,0,0,6137,6138,7,5,0,0,6138,876,1,0,0,0,6139,6140,7,22,0,0,6140,6141,7,5,0,0,6141,6142,7,19,0,0,6142,6143,7,16,0,0,6143,6144,7,3,0,0,6144,6145,7,5,0,0,6145,878,1,0,0,0,6146,6147,7,22,0,0,6147,6148,7,8,0,0,6148,6149,7,3,0,0,6149,6150,7,12,0,0,6150,6151,7,6,0,0,6151,6152,7,11,0,0,6152,880,1,0,0,0,6153,6154,7,22,0,0,6154,6155,7,8,0,0,6155,6156,7,19,0,0,6156,6157,7,17,0,0,6157,6158,7,25,0,0,6158,6159,5,95,0,0,6159,6160,7,8,0,0,6160,6161,7,7,0,0,6161,6162,7,25,0,0,6162,6163,7,5,0,0,6163,6164,7,15,0,0,6164,6165,7,14,0,0,6165,6166,7,3,0,0,6166,6167,7,6,0,0,6167,6168,7,15,0,0,6168,6169,7,19,0,0,6169,6170,7,12,0,0,6170,882,1,0,0,0,6171,6172,7,20,0,0,6172,6173,7,3,0,0,6173,6174,7,12,0,0,6174,6175,7,4,0,0,6175,6176,7,5,0,0,6176,6177,7,7,0,0,6177,6178,7,8,0,0,6178,884,1,0,0,0,6179,6180,7,20,0,0,6180,6181,7,3,0,0,6181,6182,7,11,0,0,6182,6183,7,20,0,0,6183,886,1,0,0,0,6184,6185,7,20,0,0,6185,6186,7,7,0,0,6186,6187,7,5,0,0,6187,6188,7,25,0,0,6188,888,1,0,0,0,6189,6190,7,20,0,0,6190,6191,7,15,0,0,6191,6192,7,11,0,0,6192,6193,7,6,0,0,6193,6194,7,19,0,0,6194,6195,7,8,0,0,6195,6196,7,10,0,0,6196,890,1,0,0,0,6197,6198,7,20,0,0,6198,6199,7,19,0,0,6199,6200,7,11,0,0,6200,6201,7,6,0,0,6201,892,1,0,0,0,6202,6203,7,20,0,0,6203,6204,7,19,0,0,6204,6205,7,11,0,0,6205,6206,7,6,0,0,6206,6207,7,11,0,0,6207,894,1,0,0,0,6208,6209,7,15,0,0,6209,6210,7,4,0,0,6210,6211,7,7,0,0,6211,6212,7,12,0,0,6212,6213,7,6,0,0,6213,6214,7,15,0,0,6214,6215,7,18,0,0,6215,6216,7,15,0,0,6216,6217,7,7,0,0,6217,6218,7,4,0,0,6218,896,1,0,0,0,6219,6220,7,15,0,0,6220,6221,7,22,0,0,6221,6222,7,12,0,0,6222,6223,7,19,0,0,6223,6224,7,8,0,0,6224,6225,7,7,0,0,6225,6226,5,95,0,0,6226,6227,7,11,0,0,6227,6228,7,7,0,0,6228,6229,7,8,0,0,6229,6230,7,24,0,0,6230,6231,7,7,0,0,6231,6232,7,8,0,0,6232,6233,5,95,0,0,6233,6234,7,15,0,0,6234,6235,7,4,0,0,6235,6236,7,11,0,0,6236,898,1,0,0,0,6237,6238,7,15,0,0,6238,6239,7,23,0,0,6239,6240,7,25,0,0,6240,6241,7,19,0,0,6241,6242,7,8,0,0,6242,6243,7,6,0,0,6243,900,1,0,0,0,6244,6245,7,15,0,0,6245,6246,7,12,0,0,6246,6247,7,14,0,0,6247,6248,7,8,0,0,6248,6249,7,7,0,0,6249,6250,7,23,0,0,6250,6251,7,7,0,0,6251,6252,7,12,0,0,6252,6253,7,6,0,0,6253,902,1,0,0,0,6254,6255,7,15,0,0,6255,6256,7,12,0,0,6256,6257,7,4,0,0,6257,6258,7,7,0,0,6258,6259,7,26,0,0,6259,6260,7,7,0,0,6260,6261,7,11,0,0,6261,904,1,0,0,0,6262,6263,7,15,0,0,6263,6264,7,12,0,0,6264,6265,7,15,0,0,6265,6266,7,6,0,0,6266,6267,7,15,0,0,6267,6268,7,3,0,0,6268,6269,7,5,0,0,6269,6270,5,95,0,0,6270,6271,7,11,0,0,6271,6272,7,15,0,0,6272,6273,7,13,0,0,6273,6274,7,7,0,0,6274,906,1,0,0,0,6275,6276,7,15,0,0,6276,6277,7,12,0,0,6277,6278,7,25,0,0,6278,6279,7,5,0,0,6279,6280,7,3,0,0,6280,6281,7,14,0,0,6281,6282,7,7,0,0,6282,908,1,0,0,0,6283,6284,7,15,0,0,6284,6285,7,12,0,0,6285,6286,7,11,0,0,6286,6287,7,7,0,0,6287,6288,7,8,0,0,6288,6289,7,6,0,0,6289,6290,5,95,0,0,6290,6291,7,23,0,0,6291,6292,7,7,0,0,6292,6293,7,6,0,0,6293,6294,7,20,0,0,6294,6295,7,19,0,0,6295,6296,7,4,0,0,6296,910,1,0,0,0,6297,6298,7,15,0,0,6298,6299,7,12,0,0,6299,6300,7,11,0,0,6300,6301,7,6,0,0,6301,6302,7,3,0,0,6302,6303,7,5,0,0,6303,6304,7,5,0,0,6304,912,1,0,0,0,6305,6306,7,15,0,0,6306,6307,7,12,0,0,6307,6308,7,11,0,0,6308,6309,7,6,0,0,6309,6310,7,3,0,0,6310,6311,7,12,0,0,6311,6312,7,14,0,0,6312,6313,7,7,0,0,6313,914,1,0,0,0,6314,6315,7,15,0,0,6315,6316,7,12,0,0,6316,6317,7,11,0,0,6317,6318,7,6,0,0,6318,6319,7,3,0,0,6319,6320,7,12,0,0,6320,6321,7,6,0,0,6321,916,1,0,0,0,6322,6323,7,15,0,0,6323,6324,7,12,0,0,6324,6325,7,24,0,0,6325,6326,7,15,0,0,6326,6327,7,11,0,0,6327,6328,7,15,0,0,6328,6329,7,16,0,0,6329,6330,7,5,0,0,6330,6331,7,7,0,0,6331,918,1,0,0,0,6332,6333,7,15,0,0,6333,6334,7,12,0,0,6334,6335,7,24,0,0,6335,6336,7,19,0,0,6336,6337,7,21,0,0,6337,6338,7,7,0,0,6338,6339,7,8,0,0,6339,920,1,0,0,0,6340,6341,7,15,0,0,6341,6342,7,19,0,0,6342,922,1,0,0,0,6343,6344,7,15,0,0,6344,6345,7,19,0,0,6345,6346,5,95,0,0,6346,6347,7,6,0,0,6347,6348,7,20,0,0,6348,6349,7,8,0,0,6349,6350,7,7,0,0,6350,6351,7,3,0,0,6351,6352,7,4,0,0,6352,924,1,0,0,0,6353,6354,7,15,0,0,6354,6355,7,25,0,0,6355,6356,7,14,0,0,6356,926,1,0,0,0,6357,6358,7,15,0,0,6358,6359,7,11,0,0,6359,6360,7,19,0,0,6360,6361,7,5,0,0,6361,6362,7,3,0,0,6362,6363,7,6,0,0,6363,6364,7,15,0,0,6364,6365,7,19,0,0,6365,6366,7,12,0,0,6366,928,1,0,0,0,6367,6368,7,15,0,0,6368,6369,7,11,0,0,6369,6370,7,11,0,0,6370,6371,7,17,0,0,6371,6372,7,7,0,0,6372,6373,7,8,0,0,6373,930,1,0,0,0,6374,6375,7,27,0,0,6375,6376,7,11,0,0,6376,6377,7,19,0,0,6377,6378,7,12,0,0,6378,932,1,0,0,0,6379,6380,7,21,0,0,6380,6381,7,7,0,0,6381,6382,7,10,0,0,6382,6383,5,95,0,0,6383,6384,7,16,0,0,6384,6385,7,5,0,0,6385,6386,7,19,0,0,6386,6387,7,14,0,0,6387,6388,7,21,0,0,6388,6389,5,95,0,0,6389,6390,7,11,0,0,6390,6391,7,15,0,0,6391,6392,7,13,0,0,6392,6393,7,7,0,0,6393,934,1,0,0,0,6394,6395,7,5,0,0,6395,6396,7,3,0,0,6396,6397,7,12,0,0,6397,6398,7,22,0,0,6398,6399,7,17,0,0,6399,6400,7,3,0,0,6400,6401,7,22,0,0,6401,6402,7,7,0,0,6402,936,1,0,0,0,6403,6404,7,5,0,0,6404,6405,7,3,0,0,6405,6406,7,11,0,0,6406,6407,7,6,0,0,6407,938,1,0,0,0,6408,6409,7,5,0,0,6409,6410,7,7,0,0,6410,6411,7,3,0,0,6411,6412,7,24,0,0,6412,6413,7,7,0,0,6413,6414,7,11,0,0,6414,940,1,0,0,0,6415,6416,7,5,0,0,6416,6417,7,7,0,0,6417,6418,7,11,0,0,6418,6419,7,11,0,0,6419,942,1,0,0,0,6420,6421,7,5,0,0,6421,6422,7,7,0,0,6422,6423,7,24,0,0,6423,6424,7,7,0,0,6424,6425,7,5,0,0,6425,944,1,0,0,0,6426,6427,7,5,0,0,6427,6428,7,15,0,0,6428,6429,7,11,0,0,6429,6430,7,6,0,0,6430,946,1,0,0,0,6431,6432,7,5,0,0,6432,6433,7,19,0,0,6433,6434,7,14,0,0,6434,6435,7,3,0,0,6435,6436,7,5,0,0,6436,948,1,0,0,0,6437,6438,7,5,0,0,6438,6439,7,19,0,0,6439,6440,7,22,0,0,6440,6441,7,18,0,0,6441,6442,7,15,0,0,6442,6443,7,5,0,0,6443,6444,7,7,0,0,6444,950,1,0,0,0,6445,6446,7,5,0,0,6446,6447,7,19,0,0,6447,6448,7,22,0,0,6448,6449,7,11,0,0,6449,952,1,0,0,0,6450,6451,7,23,0,0,6451,6452,7,3,0,0,6452,6453,7,11,0,0,6453,6454,7,6,0,0,6454,6455,7,7,0,0,6455,6456,7,8,0,0,6456,954,1,0,0,0,6457,6458,7,23,0,0,6458,6459,7,3,0,0,6459,6460,7,11,0,0,6460,6461,7,6,0,0,6461,6462,7,7,0,0,6462,6463,7,8,0,0,6463,6464,5,95,0,0,6464,6465,7,3,0,0,6465,6466,7,17,0,0,6466,6467,7,6,0,0,6467,6468,7,19,0,0,6468,6469,5,95,0,0,6469,6470,7,25,0,0,6470,6471,7,19,0,0,6471,6472,7,11,0,0,6472,6473,7,15,0,0,6473,6474,7,6,0,0,6474,6475,7,15,0,0,6475,6476,7,19,0,0,6476,6477,7,12,0,0,6477,956,1,0,0,0,6478,6479,7,23,0,0,6479,6480,7,3,0,0,6480,6481,7,11,0,0,6481,6482,7,6,0,0,6482,6483,7,7,0,0,6483,6484,7,8,0,0,6484,6485,5,95,0,0,6485,6486,7,14,0,0,6486,6487,7,19,0,0,6487,6488,7,12,0,0,6488,6489,7,12,0,0,6489,6490,7,7,0,0,6490,6491,7,14,0,0,6491,6492,7,6,0,0,6492,6493,5,95,0,0,6493,6494,7,8,0,0,6494,6495,7,7,0,0,6495,6496,7,6,0,0,6496,6497,7,8,0,0,6497,6498,7,10,0,0,6498,958,1,0,0,0,6499,6500,7,23,0,0,6500,6501,7,3,0,0,6501,6502,7,11,0,0,6502,6503,7,6,0,0,6503,6504,7,7,0,0,6504,6505,7,8,0,0,6505,6506,5,95,0,0,6506,6507,7,4,0,0,6507,6508,7,7,0,0,6508,6509,7,5,0,0,6509,6510,7,3,0,0,6510,6511,7,10,0,0,6511,960,1,0,0,0,6512,6513,7,23,0,0,6513,6514,7,3,0,0,6514,6515,7,11,0,0,6515,6516,7,6,0,0,6516,6517,7,7,0,0,6517,6518,7,8,0,0,6518,6519,5,95,0,0,6519,6520,7,20,0,0,6520,6521,7,7,0,0,6521,6522,7,3,0,0,6522,6523,7,8,0,0,6523,6524,7,6,0,0,6524,6525,7,16,0,0,6525,6526,7,7,0,0,6526,6527,7,3,0,0,6527,6528,7,6,0,0,6528,6529,5,95,0,0,6529,6530,7,25,0,0,6530,6531,7,7,0,0,6531,6532,7,8,0,0,6532,6533,7,15,0,0,6533,6534,7,19,0,0,6534,6535,7,4,0,0,6535,962,1,0,0,0,6536,6537,7,23,0,0,6537,6538,7,3,0,0,6538,6539,7,11,0,0,6539,6540,7,6,0,0,6540,6541,7,7,0,0,6541,6542,7,8,0,0,6542,6543,5,95,0,0,6543,6544,7,20,0,0,6544,6545,7,19,0,0,6545,6546,7,11,0,0,6546,6547,7,6,0,0,6547,964,1,0,0,0,6548,6549,7,23,0,0,6549,6550,7,3,0,0,6550,6551,7,11,0,0,6551,6552,7,6,0,0,6552,6553,7,7,0,0,6553,6554,7,8,0,0,6554,6555,5,95,0,0,6555,6556,7,5,0,0,6556,6557,7,19,0,0,6557,6558,7,22,0,0,6558,6559,5,95,0,0,6559,6560,7,18,0,0,6560,6561,7,15,0,0,6561,6562,7,5,0,0,6562,6563,7,7,0,0,6563,966,1,0,0,0,6564,6565,7,23,0,0,6565,6566,7,3,0,0,6566,6567,7,11,0,0,6567,6568,7,6,0,0,6568,6569,7,7,0,0,6569,6570,7,8,0,0,6570,6571,5,95,0,0,6571,6572,7,5,0,0,6572,6573,7,19,0,0,6573,6574,7,22,0,0,6574,6575,5,95,0,0,6575,6576,7,25,0,0,6576,6577,7,19,0,0,6577,6578,7,11,0,0,6578,968,1,0,0,0,6579,6580,7,23,0,0,6580,6581,7,3,0,0,6581,6582,7,11,0,0,6582,6583,7,6,0,0,6583,6584,7,7,0,0,6584,6585,7,8,0,0,6585,6586,5,95,0,0,6586,6587,7,25,0,0,6587,6588,7,3,0,0,6588,6589,7,11,0,0,6589,6590,7,11,0,0,6590,6591,7,9,0,0,6591,6592,7,19,0,0,6592,6593,7,8,0,0,6593,6594,7,4,0,0,6594,970,1,0,0,0,6595,6596,7,23,0,0,6596,6597,7,3,0,0,6597,6598,7,11,0,0,6598,6599,7,6,0,0,6599,6600,7,7,0,0,6600,6601,7,8,0,0,6601,6602,5,95,0,0,6602,6603,7,25,0,0,6603,6604,7,19,0,0,6604,6605,7,8,0,0,6605,6606,7,6,0,0,6606,972,1,0,0,0,6607,6608,7,23,0,0,6608,6609,7,3,0,0,6609,6610,7,11,0,0,6610,6611,7,6,0,0,6611,6612,7,7,0,0,6612,6613,7,8,0,0,6613,6614,5,95,0,0,6614,6615,7,8,0,0,6615,6616,7,7,0,0,6616,6617,7,6,0,0,6617,6618,7,8,0,0,6618,6619,7,10,0,0,6619,6620,5,95,0,0,6620,6621,7,14,0,0,6621,6622,7,19,0,0,6622,6623,7,17,0,0,6623,6624,7,12,0,0,6624,6625,7,6,0,0,6625,974,1,0,0,0,6626,6627,7,23,0,0,6627,6628,7,3,0,0,6628,6629,7,11,0,0,6629,6630,7,6,0,0,6630,6631,7,7,0,0,6631,6632,7,8,0,0,6632,6633,5,95,0,0,6633,6634,7,11,0,0,6634,6635,7,11,0,0,6635,6636,7,5,0,0,6636,976,1,0,0,0,6637,6638,7,23,0,0,6638,6639,7,3,0,0,6639,6640,7,11,0,0,6640,6641,7,6,0,0,6641,6642,7,7,0,0,6642,6643,7,8,0,0,6643,6644,5,95,0,0,6644,6645,7,11,0,0,6645,6646,7,11,0,0,6646,6647,7,5,0,0,6647,6648,5,95,0,0,6648,6649,7,14,0,0,6649,6650,7,3,0,0,6650,978,1,0,0,0,6651,6652,7,23,0,0,6652,6653,7,3,0,0,6653,6654,7,11,0,0,6654,6655,7,6,0,0,6655,6656,7,7,0,0,6656,6657,7,8,0,0,6657,6658,5,95,0,0,6658,6659,7,11,0,0,6659,6660,7,11,0,0,6660,6661,7,5,0,0,6661,6662,5,95,0,0,6662,6663,7,14,0,0,6663,6664,7,3,0,0,6664,6665,7,25,0,0,6665,6666,7,3,0,0,6666,6667,7,6,0,0,6667,6668,7,20,0,0,6668,980,1,0,0,0,6669,6670,7,23,0,0,6670,6671,7,3,0,0,6671,6672,7,11,0,0,6672,6673,7,6,0,0,6673,6674,7,7,0,0,6674,6675,7,8,0,0,6675,6676,5,95,0,0,6676,6677,7,11,0,0,6677,6678,7,11,0,0,6678,6679,7,5,0,0,6679,6680,5,95,0,0,6680,6681,7,14,0,0,6681,6682,7,7,0,0,6682,6683,7,8,0,0,6683,6684,7,6,0,0,6684,982,1,0,0,0,6685,6686,7,23,0,0,6686,6687,7,3,0,0,6687,6688,7,11,0,0,6688,6689,7,6,0,0,6689,6690,7,7,0,0,6690,6691,7,8,0,0,6691,6692,5,95,0,0,6692,6693,7,11,0,0,6693,6694,7,11,0,0,6694,6695,7,5,0,0,6695,6696,5,95,0,0,6696,6697,7,14,0,0,6697,6698,7,15,0,0,6698,6699,7,25,0,0,6699,6700,7,20,0,0,6700,6701,7,7,0,0,6701,6702,7,8,0,0,6702,984,1,0,0,0,6703,6704,7,23,0,0,6704,6705,7,3,0,0,6705,6706,7,11,0,0,6706,6707,7,6,0,0,6707,6708,7,7,0,0,6708,6709,7,8,0,0,6709,6710,5,95,0,0,6710,6711,7,11,0,0,6711,6712,7,11,0,0,6712,6713,7,5,0,0,6713,6714,5,95,0,0,6714,6715,7,14,0,0,6715,6716,7,8,0,0,6716,6717,7,5,0,0,6717,986,1,0,0,0,6718,6719,7,23,0,0,6719,6720,7,3,0,0,6720,6721,7,11,0,0,6721,6722,7,6,0,0,6722,6723,7,7,0,0,6723,6724,7,8,0,0,6724,6725,5,95,0,0,6725,6726,7,11,0,0,6726,6727,7,11,0,0,6727,6728,7,5,0,0,6728,6729,5,95,0,0,6729,6730,7,14,0,0,6730,6731,7,8,0,0,6731,6732,7,5,0,0,6732,6733,7,25,0,0,6733,6734,7,3,0,0,6734,6735,7,6,0,0,6735,6736,7,20,0,0,6736,988,1,0,0,0,6737,6738,7,23,0,0,6738,6739,7,3,0,0,6739,6740,7,11,0,0,6740,6741,7,6,0,0,6741,6742,7,7,0,0,6742,6743,7,8,0,0,6743,6744,5,95,0,0,6744,6745,7,11,0,0,6745,6746,7,11,0,0,6746,6747,7,5,0,0,6747,6748,5,95,0,0,6748,6749,7,21,0,0,6749,6750,7,7,0,0,6750,6751,7,10,0,0,6751,990,1,0,0,0,6752,6753,7,23,0,0,6753,6754,7,3,0,0,6754,6755,7,11,0,0,6755,6756,7,6,0,0,6756,6757,7,7,0,0,6757,6758,7,8,0,0,6758,6759,5,95,0,0,6759,6760,7,6,0,0,6760,6761,7,5,0,0,6761,6762,7,11,0,0,6762,6763,5,95,0,0,6763,6764,7,24,0,0,6764,6765,7,7,0,0,6765,6766,7,8,0,0,6766,6767,7,11,0,0,6767,6768,7,15,0,0,6768,6769,7,19,0,0,6769,6770,7,12,0,0,6770,992,1,0,0,0,6771,6772,7,23,0,0,6772,6773,7,3,0,0,6773,6774,7,11,0,0,6774,6775,7,6,0,0,6775,6776,7,7,0,0,6776,6777,7,8,0,0,6777,6778,5,95,0,0,6778,6779,7,17,0,0,6779,6780,7,11,0,0,6780,6781,7,7,0,0,6781,6782,7,8,0,0,6782,994,1,0,0,0,6783,6784,7,23,0,0,6784,6785,7,3,0,0,6785,6786,7,26,0,0,6786,6787,5,95,0,0,6787,6788,7,14,0,0,6788,6789,7,19,0,0,6789,6790,7,12,0,0,6790,6791,7,12,0,0,6791,6792,7,7,0,0,6792,6793,7,14,0,0,6793,6794,7,6,0,0,6794,6795,7,15,0,0,6795,6796,7,19,0,0,6796,6797,7,12,0,0,6797,6798,7,11,0,0,6798,6799,5,95,0,0,6799,6800,7,25,0,0,6800,6801,7,7,0,0,6801,6802,7,8,0,0,6802,6803,5,95,0,0,6803,6804,7,20,0,0,6804,6805,7,19,0,0,6805,6806,7,17,0,0,6806,6807,7,8,0,0,6807,996,1,0,0,0,6808,6809,7,23,0,0,6809,6810,7,3,0,0,6810,6811,7,26,0,0,6811,6812,5,95,0,0,6812,6813,7,28,0,0,6813,6814,7,17,0,0,6814,6815,7,7,0,0,6815,6816,7,8,0,0,6816,6817,7,15,0,0,6817,6818,7,7,0,0,6818,6819,7,11,0,0,6819,6820,5,95,0,0,6820,6821,7,25,0,0,6821,6822,7,7,0,0,6822,6823,7,8,0,0,6823,6824,5,95,0,0,6824,6825,7,20,0,0,6825,6826,7,19,0,0,6826,6827,7,17,0,0,6827,6828,7,8,0,0,6828,998,1,0,0,0,6829,6830,7,23,0,0,6830,6831,7,3,0,0,6831,6832,7,26,0,0,6832,6833,5,95,0,0,6833,6834,7,8,0,0,6834,6835,7,19,0,0,6835,6836,7,9,0,0,6836,6837,7,11,0,0,6837,1e3,1,0,0,0,6838,6839,7,23,0,0,6839,6840,7,3,0,0,6840,6841,7,26,0,0,6841,6842,5,95,0,0,6842,6843,7,11,0,0,6843,6844,7,15,0,0,6844,6845,7,13,0,0,6845,6846,7,7,0,0,6846,1002,1,0,0,0,6847,6848,7,23,0,0,6848,6849,7,3,0,0,6849,6850,7,26,0,0,6850,6851,5,95,0,0,6851,6852,7,17,0,0,6852,6853,7,25,0,0,6853,6854,7,4,0,0,6854,6855,7,3,0,0,6855,6856,7,6,0,0,6856,6857,7,7,0,0,6857,6858,7,11,0,0,6858,6859,5,95,0,0,6859,6860,7,25,0,0,6860,6861,7,7,0,0,6861,6862,7,8,0,0,6862,6863,5,95,0,0,6863,6864,7,20,0,0,6864,6865,7,19,0,0,6865,6866,7,17,0,0,6866,6867,7,8,0,0,6867,1004,1,0,0,0,6868,6869,7,23,0,0,6869,6870,7,3,0,0,6870,6871,7,26,0,0,6871,6872,5,95,0,0,6872,6873,7,17,0,0,6873,6874,7,11,0,0,6874,6875,7,7,0,0,6875,6876,7,8,0,0,6876,6877,5,95,0,0,6877,6878,7,14,0,0,6878,6879,7,19,0,0,6879,6880,7,12,0,0,6880,6881,7,12,0,0,6881,6882,7,7,0,0,6882,6883,7,14,0,0,6883,6884,7,6,0,0,6884,6885,7,15,0,0,6885,6886,7,19,0,0,6886,6887,7,12,0,0,6887,6888,7,11,0,0,6888,1006,1,0,0,0,6889,6890,7,23,0,0,6890,6891,7,7,0,0,6891,6892,7,4,0,0,6892,6893,7,15,0,0,6893,6894,7,17,0,0,6894,6895,7,23,0,0,6895,1008,1,0,0,0,6896,6897,7,23,0,0,6897,6898,7,7,0,0,6898,6899,7,23,0,0,6899,6900,7,16,0,0,6900,6901,7,7,0,0,6901,6902,7,8,0,0,6902,1010,1,0,0,0,6903,6904,7,23,0,0,6904,6905,7,7,0,0,6905,6906,7,8,0,0,6906,6907,7,22,0,0,6907,6908,7,7,0,0,6908,1012,1,0,0,0,6909,6910,7,23,0,0,6910,6911,7,7,0,0,6911,6912,7,11,0,0,6912,6913,7,11,0,0,6913,6914,7,3,0,0,6914,6915,7,22,0,0,6915,6916,7,7,0,0,6916,6917,5,95,0,0,6917,6918,7,6,0,0,6918,6919,7,7,0,0,6919,6920,7,26,0,0,6920,6921,7,6,0,0,6921,1014,1,0,0,0,6922,6923,7,23,0,0,6923,6924,7,15,0,0,6924,6925,7,4,0,0,6925,1016,1,0,0,0,6926,6927,7,23,0,0,6927,6928,7,15,0,0,6928,6929,7,22,0,0,6929,6930,7,8,0,0,6930,6931,7,3,0,0,6931,6932,7,6,0,0,6932,6933,7,7,0,0,6933,1018,1,0,0,0,6934,6935,7,23,0,0,6935,6936,7,15,0,0,6936,6937,7,12,0,0,6937,6938,5,95,0,0,6938,6939,7,8,0,0,6939,6940,7,19,0,0,6940,6941,7,9,0,0,6941,6942,7,11,0,0,6942,1020,1,0,0,0,6943,6944,7,23,0,0,6944,6945,7,19,0,0,6945,6946,7,4,0,0,6946,6947,7,7,0,0,6947,1022,1,0,0,0,6948,6949,7,23,0,0,6949,6950,7,19,0,0,6950,6951,7,4,0,0,6951,6952,7,15,0,0,6952,6953,7,18,0,0,6953,6954,7,10,0,0,6954,1024,1,0,0,0,6955,6956,7,23,0,0,6956,6957,7,17,0,0,6957,6958,7,6,0,0,6958,6959,7,7,0,0,6959,6960,7,26,0,0,6960,1026,1,0,0,0,6961,6962,7,23,0,0,6962,6963,7,10,0,0,6963,6964,7,11,0,0,6964,6965,7,28,0,0,6965,6966,7,5,0,0,6966,1028,1,0,0,0,6967,6968,7,23,0,0,6968,6969,7,10,0,0,6969,6970,7,11,0,0,6970,6971,7,28,0,0,6971,6972,7,5,0,0,6972,6973,5,95,0,0,6973,6974,7,7,0,0,6974,6975,7,8,0,0,6975,6976,7,8,0,0,6976,6977,7,12,0,0,6977,6978,7,19,0,0,6978,1030,1,0,0,0,6979,6980,7,12,0,0,6980,6981,7,3,0,0,6981,6982,7,23,0,0,6982,6983,7,7,0,0,6983,1032,1,0,0,0,6984,6985,7,12,0,0,6985,6986,7,3,0,0,6986,6987,7,23,0,0,6987,6988,7,7,0,0,6988,6989,7,11,0,0,6989,1034,1,0,0,0,6990,6991,7,12,0,0,6991,6992,7,14,0,0,6992,6993,7,20,0,0,6993,6994,7,3,0,0,6994,6995,7,8,0,0,6995,1036,1,0,0,0,6996,6997,7,12,0,0,6997,6998,7,7,0,0,6998,6999,7,24,0,0,6999,7e3,7,7,0,0,7e3,7001,7,8,0,0,7001,1038,1,0,0,0,7002,7003,7,12,0,0,7003,7004,7,7,0,0,7004,7005,7,26,0,0,7005,7006,7,6,0,0,7006,1040,1,0,0,0,7007,7008,7,12,0,0,7008,7009,7,19,0,0,7009,1042,1,0,0,0,7010,7011,7,12,0,0,7011,7012,7,19,0,0,7012,7013,7,14,0,0,7013,7014,7,3,0,0,7014,7015,7,14,0,0,7015,7016,7,20,0,0,7016,7017,7,7,0,0,7017,1044,1,0,0,0,7018,7019,7,12,0,0,7019,7020,7,19,0,0,7020,7021,7,14,0,0,7021,7022,7,19,0,0,7022,7023,7,25,0,0,7023,7024,7,10,0,0,7024,1046,1,0,0,0,7025,7026,7,12,0,0,7026,7027,7,19,0,0,7027,7028,7,14,0,0,7028,7029,7,10,0,0,7029,7030,7,14,0,0,7030,7031,7,5,0,0,7031,7032,7,7,0,0,7032,1048,1,0,0,0,7033,7034,7,12,0,0,7034,7035,7,19,0,0,7035,7036,7,23,0,0,7036,7037,7,3,0,0,7037,7038,7,26,0,0,7038,7039,7,24,0,0,7039,7040,7,3,0,0,7040,7041,7,5,0,0,7041,7042,7,17,0,0,7042,7043,7,7,0,0,7043,1050,1,0,0,0,7044,7045,7,12,0,0,7045,7046,7,19,0,0,7046,7047,7,23,0,0,7047,7048,7,15,0,0,7048,7049,7,12,0,0,7049,7050,7,24,0,0,7050,7051,7,3,0,0,7051,7052,7,5,0,0,7052,7053,7,17,0,0,7053,7054,7,7,0,0,7054,1052,1,0,0,0,7055,7056,7,12,0,0,7056,7057,7,19,0,0,7057,7058,7,9,0,0,7058,7059,7,3,0,0,7059,7060,7,15,0,0,7060,7061,7,6,0,0,7061,1054,1,0,0,0,7062,7063,7,12,0,0,7063,7064,7,19,0,0,7064,7065,7,4,0,0,7065,7066,7,7,0,0,7066,7067,7,22,0,0,7067,7068,7,8,0,0,7068,7069,7,19,0,0,7069,7070,7,17,0,0,7070,7071,7,25,0,0,7071,1056,1,0,0,0,7072,7073,7,12,0,0,7073,7074,7,19,0,0,7074,7075,7,12,0,0,7075,7076,7,7,0,0,7076,1058,1,0,0,0,7077,7078,7,19,0,0,7078,7079,7,4,0,0,7079,7080,7,16,0,0,7080,7081,7,14,0,0,7081,1060,1,0,0,0,7082,7083,7,19,0,0,7083,7084,7,18,0,0,7084,7085,7,18,0,0,7085,7086,7,5,0,0,7086,7087,7,15,0,0,7087,7088,7,12,0,0,7088,7089,7,7,0,0,7089,1062,1,0,0,0,7090,7091,7,19,0,0,7091,7092,7,18,0,0,7092,7093,7,18,0,0,7093,7094,7,11,0,0,7094,7095,7,7,0,0,7095,7096,7,6,0,0,7096,1064,1,0,0,0,7097,7098,7,19,0,0,7098,7099,7,18,0,0,7099,1066,1,0,0,0,7100,7101,7,19,0,0,7101,7102,7,27,0,0,7102,1068,1,0,0,0,7103,7104,7,19,0,0,7104,7105,7,5,0,0,7105,7106,7,4,0,0,7106,7107,5,95,0,0,7107,7108,7,25,0,0,7108,7109,7,3,0,0,7109,7110,7,11,0,0,7110,7111,7,11,0,0,7111,7112,7,9,0,0,7112,7113,7,19,0,0,7113,7114,7,8,0,0,7114,7115,7,4,0,0,7115,1070,1,0,0,0,7116,7117,7,19,0,0,7117,7118,7,12,0,0,7118,7119,7,7,0,0,7119,1072,1,0,0,0,7120,7121,7,19,0,0,7121,7122,7,12,0,0,7122,7123,7,5,0,0,7123,7124,7,15,0,0,7124,7125,7,12,0,0,7125,7126,7,7,0,0,7126,1074,1,0,0,0,7127,7128,7,19,0,0,7128,7129,7,12,0,0,7129,7130,7,5,0,0,7130,7131,7,10,0,0,7131,1076,1,0,0,0,7132,7133,7,19,0,0,7133,7134,7,25,0,0,7134,7135,7,7,0,0,7135,7136,7,12,0,0,7136,1078,1,0,0,0,7137,7138,7,19,0,0,7138,7139,7,25,0,0,7139,7140,7,6,0,0,7140,7141,7,15,0,0,7141,7142,7,23,0,0,7142,7143,7,15,0,0,7143,7144,7,13,0,0,7144,7145,7,7,0,0,7145,7146,7,8,0,0,7146,7147,5,95,0,0,7147,7148,7,14,0,0,7148,7149,7,19,0,0,7149,7150,7,11,0,0,7150,7151,7,6,0,0,7151,7152,7,11,0,0,7152,1080,1,0,0,0,7153,7154,7,19,0,0,7154,7155,7,25,0,0,7155,7156,7,6,0,0,7156,7157,7,15,0,0,7157,7158,7,19,0,0,7158,7159,7,12,0,0,7159,7160,7,11,0,0,7160,1082,1,0,0,0,7161,7162,7,19,0,0,7162,7163,7,9,0,0,7163,7164,7,12,0,0,7164,7165,7,7,0,0,7165,7166,7,8,0,0,7166,1084,1,0,0,0,7167,7168,7,25,0,0,7168,7169,7,3,0,0,7169,7170,7,14,0,0,7170,7171,7,21,0,0,7171,7172,5,95,0,0,7172,7173,7,21,0,0,7173,7174,7,7,0,0,7174,7175,7,10,0,0,7175,7176,7,11,0,0,7176,1086,1,0,0,0,7177,7178,7,25,0,0,7178,7179,7,3,0,0,7179,7180,7,22,0,0,7180,7181,7,7,0,0,7181,1088,1,0,0,0,7182,7183,7,25,0,0,7183,7184,7,3,0,0,7184,7185,7,22,0,0,7185,7186,7,7,0,0,7186,7187,5,95,0,0,7187,7188,7,14,0,0,7188,7189,7,19,0,0,7189,7190,7,23,0,0,7190,7191,7,25,0,0,7191,7192,7,8,0,0,7192,7193,7,7,0,0,7193,7194,7,11,0,0,7194,7195,7,11,0,0,7195,7196,7,7,0,0,7196,7197,7,4,0,0,7197,1090,1,0,0,0,7198,7199,7,25,0,0,7199,7200,7,3,0,0,7200,7201,7,22,0,0,7201,7202,7,7,0,0,7202,7203,5,95,0,0,7203,7204,7,14,0,0,7204,7205,7,19,0,0,7205,7206,7,23,0,0,7206,7207,7,25,0,0,7207,7208,7,8,0,0,7208,7209,7,7,0,0,7209,7210,7,11,0,0,7210,7211,7,11,0,0,7211,7212,7,15,0,0,7212,7213,7,19,0,0,7213,7214,7,12,0,0,7214,7215,5,95,0,0,7215,7216,7,5,0,0,7216,7217,7,7,0,0,7217,7218,7,24,0,0,7218,7219,7,7,0,0,7219,7220,7,5,0,0,7220,1092,1,0,0,0,7221,7222,7,25,0,0,7222,7223,7,3,0,0,7223,7224,7,8,0,0,7224,7225,7,11,0,0,7225,7226,7,7,0,0,7226,7227,7,8,0,0,7227,1094,1,0,0,0,7228,7229,7,25,0,0,7229,7230,7,3,0,0,7230,7231,7,8,0,0,7231,7232,7,6,0,0,7232,7233,7,15,0,0,7233,7234,7,3,0,0,7234,7235,7,5,0,0,7235,1096,1,0,0,0,7236,7237,7,25,0,0,7237,7238,7,3,0,0,7238,7239,7,8,0,0,7239,7240,7,6,0,0,7240,7241,7,15,0,0,7241,7242,7,6,0,0,7242,7243,7,15,0,0,7243,7244,7,19,0,0,7244,7245,7,12,0,0,7245,7246,7,15,0,0,7246,7247,7,12,0,0,7247,7248,7,22,0,0,7248,1098,1,0,0,0,7249,7250,7,25,0,0,7250,7251,7,3,0,0,7251,7252,7,8,0,0,7252,7253,7,6,0,0,7253,7254,7,15,0,0,7254,7255,7,6,0,0,7255,7256,7,15,0,0,7256,7257,7,19,0,0,7257,7258,7,12,0,0,7258,7259,7,11,0,0,7259,1100,1,0,0,0,7260,7261,7,25,0,0,7261,7262,7,3,0,0,7262,7263,7,11,0,0,7263,7264,7,11,0,0,7264,7265,7,9,0,0,7265,7266,7,19,0,0,7266,7267,7,8,0,0,7267,7268,7,4,0,0,7268,1102,1,0,0,0,7269,7270,7,25,0,0,7270,7271,7,3,0,0,7271,7272,7,11,0,0,7272,7273,7,11,0,0,7273,7274,7,9,0,0,7274,7275,7,19,0,0,7275,7276,7,8,0,0,7276,7277,7,4,0,0,7277,7278,5,95,0,0,7278,7279,7,5,0,0,7279,7280,7,19,0,0,7280,7281,7,14,0,0,7281,7282,7,21,0,0,7282,7283,5,95,0,0,7283,7284,7,6,0,0,7284,7285,7,15,0,0,7285,7286,7,23,0,0,7286,7287,7,7,0,0,7287,1104,1,0,0,0,7288,7289,7,25,0,0,7289,7290,7,20,0,0,7290,7291,7,3,0,0,7291,7292,7,11,0,0,7292,7293,7,7,0,0,7293,1106,1,0,0,0,7294,7295,7,25,0,0,7295,7296,7,5,0,0,7296,7297,7,17,0,0,7297,7298,7,22,0,0,7298,7299,7,15,0,0,7299,7300,7,12,0,0,7300,1108,1,0,0,0,7301,7302,7,25,0,0,7302,7303,7,5,0,0,7303,7304,7,17,0,0,7304,7305,7,22,0,0,7305,7306,7,15,0,0,7306,7307,7,12,0,0,7307,7308,5,95,0,0,7308,7309,7,4,0,0,7309,7310,7,15,0,0,7310,7311,7,8,0,0,7311,1110,1,0,0,0,7312,7313,7,25,0,0,7313,7314,7,5,0,0,7314,7315,7,17,0,0,7315,7316,7,22,0,0,7316,7317,7,15,0,0,7317,7318,7,12,0,0,7318,7319,7,11,0,0,7319,1112,1,0,0,0,7320,7321,7,25,0,0,7321,7322,7,19,0,0,7322,7323,7,8,0,0,7323,7324,7,6,0,0,7324,1114,1,0,0,0,7325,7326,7,25,0,0,7326,7327,7,8,0,0,7327,7328,7,7,0,0,7328,7329,7,14,0,0,7329,7330,7,7,0,0,7330,7331,7,4,0,0,7331,7332,7,7,0,0,7332,7333,7,11,0,0,7333,1116,1,0,0,0,7334,7335,7,25,0,0,7335,7336,7,8,0,0,7336,7337,7,7,0,0,7337,7338,7,14,0,0,7338,7339,7,7,0,0,7339,7340,7,4,0,0,7340,7341,7,15,0,0,7341,7342,7,12,0,0,7342,7343,7,22,0,0,7343,1118,1,0,0,0,7344,7345,7,25,0,0,7345,7346,7,8,0,0,7346,7347,7,7,0,0,7347,7348,7,25,0,0,7348,7349,7,3,0,0,7349,7350,7,8,0,0,7350,7351,7,7,0,0,7351,1120,1,0,0,0,7352,7353,7,25,0,0,7353,7354,7,8,0,0,7354,7355,7,7,0,0,7355,7356,7,11,0,0,7356,7357,7,7,0,0,7357,7358,7,8,0,0,7358,7359,7,24,0,0,7359,7360,7,7,0,0,7360,1122,1,0,0,0,7361,7362,7,25,0,0,7362,7363,7,8,0,0,7363,7364,7,7,0,0,7364,7365,7,24,0,0,7365,1124,1,0,0,0,7366,7367,7,25,0,0,7367,7368,7,8,0,0,7368,7369,7,19,0,0,7369,7370,7,14,0,0,7370,7371,7,7,0,0,7371,7372,7,11,0,0,7372,7373,7,11,0,0,7373,7374,7,5,0,0,7374,7375,7,15,0,0,7375,7376,7,11,0,0,7376,7377,7,6,0,0,7377,1126,1,0,0,0,7378,7379,7,25,0,0,7379,7380,7,8,0,0,7380,7381,7,19,0,0,7381,7382,7,18,0,0,7382,7383,7,15,0,0,7383,7384,7,5,0,0,7384,7385,7,7,0,0,7385,1128,1,0,0,0,7386,7387,7,25,0,0,7387,7388,7,8,0,0,7388,7389,7,19,0,0,7389,7390,7,18,0,0,7390,7391,7,15,0,0,7391,7392,7,5,0,0,7392,7393,7,7,0,0,7393,7394,7,11,0,0,7394,1130,1,0,0,0,7395,7396,7,25,0,0,7396,7397,7,8,0,0,7397,7398,7,19,0,0,7398,7399,7,26,0,0,7399,7400,7,10,0,0,7400,1132,1,0,0,0,7401,7402,7,28,0,0,7402,7403,7,17,0,0,7403,7404,7,7,0,0,7404,7405,7,8,0,0,7405,7406,7,10,0,0,7406,1134,1,0,0,0,7407,7408,7,28,0,0,7408,7409,7,17,0,0,7409,7410,7,15,0,0,7410,7411,7,14,0,0,7411,7412,7,21,0,0,7412,1136,1,0,0,0,7413,7414,7,8,0,0,7414,7415,7,7,0,0,7415,7416,7,16,0,0,7416,7417,7,17,0,0,7417,7418,7,15,0,0,7418,7419,7,5,0,0,7419,7420,7,4,0,0,7420,1138,1,0,0,0,7421,7422,7,8,0,0,7422,7423,7,7,0,0,7423,7424,7,14,0,0,7424,7425,7,19,0,0,7425,7426,7,24,0,0,7426,7427,7,7,0,0,7427,7428,7,8,0,0,7428,1140,1,0,0,0,7429,7430,7,8,0,0,7430,7431,7,7,0,0,7431,7432,7,14,0,0,7432,7433,7,17,0,0,7433,7434,7,8,0,0,7434,7435,7,11,0,0,7435,7436,7,15,0,0,7436,7437,7,24,0,0,7437,7438,7,7,0,0,7438,1142,1,0,0,0,7439,7440,7,8,0,0,7440,7441,7,7,0,0,7441,7442,7,4,0,0,7442,7443,7,19,0,0,7443,7444,5,95,0,0,7444,7445,7,16,0,0,7445,7446,7,17,0,0,7446,7447,7,18,0,0,7447,7448,7,18,0,0,7448,7449,7,7,0,0,7449,7450,7,8,0,0,7450,7451,5,95,0,0,7451,7452,7,11,0,0,7452,7453,7,15,0,0,7453,7454,7,13,0,0,7454,7455,7,7,0,0,7455,1144,1,0,0,0,7456,7457,7,8,0,0,7457,7458,7,7,0,0,7458,7459,7,4,0,0,7459,7460,7,17,0,0,7460,7461,7,12,0,0,7461,7462,7,4,0,0,7462,7463,7,3,0,0,7463,7464,7,12,0,0,7464,7465,7,6,0,0,7465,1146,1,0,0,0,7466,7467,7,8,0,0,7467,7468,7,7,0,0,7468,7469,7,5,0,0,7469,7470,7,3,0,0,7470,7471,7,10,0,0,7471,1148,1,0,0,0,7472,7473,7,8,0,0,7473,7474,7,7,0,0,7474,7475,7,5,0,0,7475,7476,7,3,0,0,7476,7477,7,10,0,0,7477,7478,5,95,0,0,7478,7479,7,5,0,0,7479,7480,7,19,0,0,7480,7481,7,22,0,0,7481,7482,5,95,0,0,7482,7483,7,18,0,0,7483,7484,7,15,0,0,7484,7485,7,5,0,0,7485,7486,7,7,0,0,7486,1150,1,0,0,0,7487,7488,7,8,0,0,7488,7489,7,7,0,0,7489,7490,7,5,0,0,7490,7491,7,3,0,0,7491,7492,7,10,0,0,7492,7493,5,95,0,0,7493,7494,7,5,0,0,7494,7495,7,19,0,0,7495,7496,7,22,0,0,7496,7497,5,95,0,0,7497,7498,7,25,0,0,7498,7499,7,19,0,0,7499,7500,7,11,0,0,7500,1152,1,0,0,0,7501,7502,7,8,0,0,7502,7503,7,7,0,0,7503,7504,7,5,0,0,7504,7505,7,3,0,0,7505,7506,7,10,0,0,7506,7507,7,5,0,0,7507,7508,7,19,0,0,7508,7509,7,22,0,0,7509,1154,1,0,0,0,7510,7511,7,8,0,0,7511,7512,7,7,0,0,7512,7513,7,23,0,0,7513,7514,7,19,0,0,7514,7515,7,24,0,0,7515,7516,7,7,0,0,7516,1156,1,0,0,0,7517,7518,7,8,0,0,7518,7519,7,7,0,0,7519,7520,7,19,0,0,7520,7521,7,8,0,0,7521,7522,7,22,0,0,7522,7523,7,3,0,0,7523,7524,7,12,0,0,7524,7525,7,15,0,0,7525,7526,7,13,0,0,7526,7527,7,7,0,0,7527,1158,1,0,0,0,7528,7529,7,8,0,0,7529,7530,7,7,0,0,7530,7531,7,25,0,0,7531,7532,7,3,0,0,7532,7533,7,15,0,0,7533,7534,7,8,0,0,7534,1160,1,0,0,0,7535,7536,7,8,0,0,7536,7537,7,7,0,0,7537,7538,7,25,0,0,7538,7539,7,5,0,0,7539,7540,7,15,0,0,7540,7541,7,14,0,0,7541,7542,7,3,0,0,7542,7543,7,6,0,0,7543,7544,7,7,0,0,7544,7545,5,95,0,0,7545,7546,7,4,0,0,7546,7547,7,19,0,0,7547,7548,5,95,0,0,7548,7549,7,4,0,0,7549,7550,7,16,0,0,7550,1162,1,0,0,0,7551,7552,7,8,0,0,7552,7553,7,7,0,0,7553,7554,7,25,0,0,7554,7555,7,5,0,0,7555,7556,7,15,0,0,7556,7557,7,14,0,0,7557,7558,7,3,0,0,7558,7559,7,6,0,0,7559,7560,7,7,0,0,7560,7561,5,95,0,0,7561,7562,7,4,0,0,7562,7563,7,19,0,0,7563,7564,5,95,0,0,7564,7565,7,6,0,0,7565,7566,7,3,0,0,7566,7567,7,16,0,0,7567,7568,7,5,0,0,7568,7569,7,7,0,0,7569,1164,1,0,0,0,7570,7571,7,8,0,0,7571,7572,7,7,0,0,7572,7573,7,25,0,0,7573,7574,7,5,0,0,7574,7575,7,15,0,0,7575,7576,7,14,0,0,7576,7577,7,3,0,0,7577,7578,7,6,0,0,7578,7579,7,7,0,0,7579,7580,5,95,0,0,7580,7581,7,15,0,0,7581,7582,7,22,0,0,7582,7583,7,12,0,0,7583,7584,7,19,0,0,7584,7585,7,8,0,0,7585,7586,7,7,0,0,7586,7587,5,95,0,0,7587,7588,7,4,0,0,7588,7589,7,16,0,0,7589,1166,1,0,0,0,7590,7591,7,8,0,0,7591,7592,7,7,0,0,7592,7593,7,25,0,0,7593,7594,7,5,0,0,7594,7595,7,15,0,0,7595,7596,7,14,0,0,7596,7597,7,3,0,0,7597,7598,7,6,0,0,7598,7599,7,7,0,0,7599,7600,5,95,0,0,7600,7601,7,15,0,0,7601,7602,7,22,0,0,7602,7603,7,12,0,0,7603,7604,7,19,0,0,7604,7605,7,8,0,0,7605,7606,7,7,0,0,7606,7607,5,95,0,0,7607,7608,7,6,0,0,7608,7609,7,3,0,0,7609,7610,7,16,0,0,7610,7611,7,5,0,0,7611,7612,7,7,0,0,7612,1168,1,0,0,0,7613,7614,7,8,0,0,7614,7615,7,7,0,0,7615,7616,7,25,0,0,7616,7617,7,5,0,0,7617,7618,7,15,0,0,7618,7619,7,14,0,0,7619,7620,7,3,0,0,7620,7621,7,6,0,0,7621,7622,7,7,0,0,7622,7623,5,95,0,0,7623,7624,7,8,0,0,7624,7625,7,7,0,0,7625,7626,7,9,0,0,7626,7627,7,8,0,0,7627,7628,7,15,0,0,7628,7629,7,6,0,0,7629,7630,7,7,0,0,7630,7631,5,95,0,0,7631,7632,7,4,0,0,7632,7633,7,16,0,0,7633,1170,1,0,0,0,7634,7635,7,8,0,0,7635,7636,7,7,0,0,7636,7637,7,25,0,0,7637,7638,7,5,0,0,7638,7639,7,15,0,0,7639,7640,7,14,0,0,7640,7641,7,3,0,0,7641,7642,7,6,0,0,7642,7643,7,7,0,0,7643,7644,5,95,0,0,7644,7645,7,9,0,0,7645,7646,7,15,0,0,7646,7647,7,5,0,0,7647,7648,7,4,0,0,7648,7649,5,95,0,0,7649,7650,7,4,0,0,7650,7651,7,19,0,0,7651,7652,5,95,0,0,7652,7653,7,6,0,0,7653,7654,7,3,0,0,7654,7655,7,16,0,0,7655,7656,7,5,0,0,7656,7657,7,7,0,0,7657,1172,1,0,0,0,7658,7659,7,8,0,0,7659,7660,7,7,0,0,7660,7661,7,25,0,0,7661,7662,7,5,0,0,7662,7663,7,15,0,0,7663,7664,7,14,0,0,7664,7665,7,3,0,0,7665,7666,7,6,0,0,7666,7667,7,7,0,0,7667,7668,5,95,0,0,7668,7669,7,9,0,0,7669,7670,7,15,0,0,7670,7671,7,5,0,0,7671,7672,7,4,0,0,7672,7673,5,95,0,0,7673,7674,7,15,0,0,7674,7675,7,22,0,0,7675,7676,7,12,0,0,7676,7677,7,19,0,0,7677,7678,7,8,0,0,7678,7679,7,7,0,0,7679,7680,5,95,0,0,7680,7681,7,6,0,0,7681,7682,7,3,0,0,7682,7683,7,16,0,0,7683,7684,7,5,0,0,7684,7685,7,7,0,0,7685,1174,1,0,0,0,7686,7687,7,8,0,0,7687,7688,7,7,0,0,7688,7689,7,25,0,0,7689,7690,7,5,0,0,7690,7691,7,15,0,0,7691,7692,7,14,0,0,7692,7693,7,3,0,0,7693,7694,7,6,0,0,7694,7695,7,15,0,0,7695,7696,7,19,0,0,7696,7697,7,12,0,0,7697,1176,1,0,0,0,7698,7699,7,8,0,0,7699,7700,7,7,0,0,7700,7701,7,11,0,0,7701,7702,7,7,0,0,7702,7703,7,6,0,0,7703,1178,1,0,0,0,7704,7705,7,8,0,0,7705,7706,7,7,0,0,7706,7707,7,11,0,0,7707,7708,7,6,0,0,7708,7709,7,3,0,0,7709,7710,7,8,0,0,7710,7711,7,6,0,0,7711,1180,1,0,0,0,7712,7713,7,8,0,0,7713,7714,7,7,0,0,7714,7715,7,11,0,0,7715,7716,7,17,0,0,7716,7717,7,23,0,0,7717,7718,7,7,0,0,7718,1182,1,0,0,0,7719,7720,7,8,0,0,7720,7721,7,7,0,0,7721,7722,7,6,0,0,7722,7723,7,17,0,0,7723,7724,7,8,0,0,7724,7725,7,12,0,0,7725,7726,7,7,0,0,7726,7727,7,4,0,0,7727,7728,5,95,0,0,7728,7729,7,11,0,0,7729,7730,7,28,0,0,7730,7731,7,5,0,0,7731,7732,7,11,0,0,7732,7733,7,6,0,0,7733,7734,7,3,0,0,7734,7735,7,6,0,0,7735,7736,7,7,0,0,7736,1184,1,0,0,0,7737,7738,7,8,0,0,7738,7739,7,7,0,0,7739,7740,7,6,0,0,7740,7741,7,17,0,0,7741,7742,7,8,0,0,7742,7743,7,12,0,0,7743,7744,7,15,0,0,7744,7745,7,12,0,0,7745,7746,7,22,0,0,7746,1186,1,0,0,0,7747,7748,7,8,0,0,7748,7749,7,7,0,0,7749,7750,7,6,0,0,7750,7751,7,17,0,0,7751,7752,7,8,0,0,7752,7753,7,12,0,0,7753,7754,7,11,0,0,7754,1188,1,0,0,0,7755,7756,7,8,0,0,7756,7757,7,7,0,0,7757,7758,7,17,0,0,7758,7759,7,11,0,0,7759,7760,7,7,0,0,7760,1190,1,0,0,0,7761,7762,7,8,0,0,7762,7763,7,19,0,0,7763,7764,7,5,0,0,7764,7765,7,7,0,0,7765,1192,1,0,0,0,7766,7767,7,8,0,0,7767,7768,7,19,0,0,7768,7769,7,5,0,0,7769,7770,7,5,0,0,7770,7771,7,16,0,0,7771,7772,7,3,0,0,7772,7773,7,14,0,0,7773,7774,7,21,0,0,7774,1194,1,0,0,0,7775,7776,7,8,0,0,7776,7777,7,19,0,0,7777,7778,7,5,0,0,7778,7779,7,5,0,0,7779,7780,7,17,0,0,7780,7781,7,25,0,0,7781,1196,1,0,0,0,7782,7783,7,8,0,0,7783,7784,7,19,0,0,7784,7785,7,6,0,0,7785,7786,7,3,0,0,7786,7787,7,6,0,0,7787,7788,7,7,0,0,7788,1198,1,0,0,0,7789,7790,7,8,0,0,7790,7791,7,19,0,0,7791,7792,7,9,0,0,7792,1200,1,0,0,0,7793,7794,7,8,0,0,7794,7795,7,19,0,0,7795,7796,7,9,0,0,7796,7797,7,11,0,0,7797,1202,1,0,0,0,7798,7799,7,8,0,0,7799,7800,7,19,0,0,7800,7801,7,9,0,0,7801,7802,5,95,0,0,7802,7803,7,18,0,0,7803,7804,7,19,0,0,7804,7805,7,8,0,0,7805,7806,7,23,0,0,7806,7807,7,3,0,0,7807,7808,7,6,0,0,7808,1204,1,0,0,0,7809,7810,7,8,0,0,7810,7811,7,6,0,0,7811,7812,7,8,0,0,7812,7813,7,7,0,0,7813,7814,7,7,0,0,7814,1206,1,0,0,0,7815,7816,7,11,0,0,7816,7817,7,3,0,0,7817,7818,7,24,0,0,7818,7819,7,7,0,0,7819,7820,7,25,0,0,7820,7821,7,19,0,0,7821,7822,7,15,0,0,7822,7823,7,12,0,0,7823,7824,7,6,0,0,7824,1208,1,0,0,0,7825,7826,7,11,0,0,7826,7827,7,14,0,0,7827,7828,7,20,0,0,7828,7829,7,7,0,0,7829,7830,7,4,0,0,7830,7831,7,17,0,0,7831,7832,7,5,0,0,7832,7833,7,7,0,0,7833,1210,1,0,0,0,7834,7835,7,11,0,0,7835,7836,7,7,0,0,7836,7837,7,14,0,0,7837,7838,7,17,0,0,7838,7839,7,8,0,0,7839,7840,7,15,0,0,7840,7841,7,6,0,0,7841,7842,7,10,0,0,7842,1212,1,0,0,0,7843,7844,7,11,0,0,7844,7845,7,7,0,0,7845,7846,7,28,0,0,7846,7847,7,17,0,0,7847,7848,7,7,0,0,7848,7849,7,12,0,0,7849,7850,7,14,0,0,7850,7851,7,7,0,0,7851,1214,1,0,0,0,7852,7853,7,11,0,0,7853,7854,7,7,0,0,7854,7855,7,8,0,0,7855,7856,7,24,0,0,7856,7857,7,7,0,0,7857,7858,7,8,0,0,7858,1216,1,0,0,0,7859,7860,7,11,0,0,7860,7861,7,7,0,0,7861,7862,7,11,0,0,7862,7863,7,11,0,0,7863,7864,7,15,0,0,7864,7865,7,19,0,0,7865,7866,7,12,0,0,7866,1218,1,0,0,0,7867,7868,7,11,0,0,7868,7869,7,20,0,0,7869,7870,7,3,0,0,7870,7871,7,8,0,0,7871,7872,7,7,0,0,7872,1220,1,0,0,0,7873,7874,7,11,0,0,7874,7875,7,20,0,0,7875,7876,7,3,0,0,7876,7877,7,8,0,0,7877,7878,7,7,0,0,7878,7879,7,4,0,0,7879,1222,1,0,0,0,7880,7881,7,11,0,0,7881,7882,7,15,0,0,7882,7883,7,22,0,0,7883,7884,7,12,0,0,7884,7885,7,7,0,0,7885,7886,7,4,0,0,7886,1224,1,0,0,0,7887,7888,7,11,0,0,7888,7889,7,15,0,0,7889,7890,7,23,0,0,7890,7891,7,25,0,0,7891,7892,7,5,0,0,7892,7893,7,7,0,0,7893,1226,1,0,0,0,7894,7895,7,11,0,0,7895,7896,7,5,0,0,7896,7897,7,3,0,0,7897,7898,7,24,0,0,7898,7899,7,7,0,0,7899,1228,1,0,0,0,7900,7901,7,11,0,0,7901,7902,7,5,0,0,7902,7903,7,19,0,0,7903,7904,7,9,0,0,7904,1230,1,0,0,0,7905,7906,7,11,0,0,7906,7907,7,12,0,0,7907,7908,7,3,0,0,7908,7909,7,25,0,0,7909,7910,7,11,0,0,7910,7911,7,20,0,0,7911,7912,7,19,0,0,7912,7913,7,6,0,0,7913,1232,1,0,0,0,7914,7915,7,11,0,0,7915,7916,7,19,0,0,7916,7917,7,14,0,0,7917,7918,7,21,0,0,7918,7919,7,7,0,0,7919,7920,7,6,0,0,7920,1234,1,0,0,0,7921,7922,7,11,0,0,7922,7923,7,19,0,0,7923,7924,7,23,0,0,7924,7925,7,7,0,0,7925,1236,1,0,0,0,7926,7927,7,11,0,0,7927,7928,7,19,0,0,7928,7929,7,12,0,0,7929,7930,7,3,0,0,7930,7931,7,23,0,0,7931,7932,7,7,0,0,7932,1238,1,0,0,0,7933,7934,7,11,0,0,7934,7935,7,19,0,0,7935,7936,7,17,0,0,7936,7937,7,12,0,0,7937,7938,7,4,0,0,7938,7939,7,11,0,0,7939,1240,1,0,0,0,7940,7941,7,11,0,0,7941,7942,7,19,0,0,7942,7943,7,17,0,0,7943,7944,7,8,0,0,7944,7945,7,14,0,0,7945,7946,7,7,0,0,7946,1242,1,0,0,0,7947,7948,7,11,0,0,7948,7949,7,28,0,0,7949,7950,7,5,0,0,7950,7951,5,95,0,0,7951,7952,7,3,0,0,7952,7953,7,18,0,0,7953,7954,7,6,0,0,7954,7955,7,7,0,0,7955,7956,7,8,0,0,7956,7957,5,95,0,0,7957,7958,7,22,0,0,7958,7959,7,6,0,0,7959,7960,7,15,0,0,7960,7961,7,4,0,0,7961,7962,7,11,0,0,7962,1244,1,0,0,0,7963,7964,7,11,0,0,7964,7965,7,28,0,0,7965,7966,7,5,0,0,7966,7967,5,95,0,0,7967,7968,7,3,0,0,7968,7969,7,18,0,0,7969,7970,7,6,0,0,7970,7971,7,7,0,0,7971,7972,7,8,0,0,7972,7973,5,95,0,0,7973,7974,7,23,0,0,7974,7975,7,6,0,0,7975,7976,7,11,0,0,7976,7977,5,95,0,0,7977,7978,7,22,0,0,7978,7979,7,3,0,0,7979,7980,7,25,0,0,7980,7981,7,11,0,0,7981,1246,1,0,0,0,7982,7983,7,11,0,0,7983,7984,7,28,0,0,7984,7985,7,5,0,0,7985,7986,5,95,0,0,7986,7987,7,16,0,0,7987,7988,7,7,0,0,7988,7989,7,18,0,0,7989,7990,7,19,0,0,7990,7991,7,8,0,0,7991,7992,7,7,0,0,7992,7993,5,95,0,0,7993,7994,7,22,0,0,7994,7995,7,6,0,0,7995,7996,7,15,0,0,7996,7997,7,4,0,0,7997,7998,7,11,0,0,7998,1248,1,0,0,0,7999,8e3,7,11,0,0,8e3,8001,7,28,0,0,8001,8002,7,5,0,0,8002,8003,5,95,0,0,8003,8004,7,16,0,0,8004,8005,7,17,0,0,8005,8006,7,18,0,0,8006,8007,7,18,0,0,8007,8008,7,7,0,0,8008,8009,7,8,0,0,8009,8010,5,95,0,0,8010,8011,7,8,0,0,8011,8012,7,7,0,0,8012,8013,7,11,0,0,8013,8014,7,17,0,0,8014,8015,7,5,0,0,8015,8016,7,6,0,0,8016,1250,1,0,0,0,8017,8018,7,11,0,0,8018,8019,7,28,0,0,8019,8020,7,5,0,0,8020,8021,5,95,0,0,8021,8022,7,14,0,0,8022,8023,7,3,0,0,8023,8024,7,14,0,0,8024,8025,7,20,0,0,8025,8026,7,7,0,0,8026,1252,1,0,0,0,8027,8028,7,11,0,0,8028,8029,7,28,0,0,8029,8030,7,5,0,0,8030,8031,5,95,0,0,8031,8032,7,12,0,0,8032,8033,7,19,0,0,8033,8034,5,95,0,0,8034,8035,7,14,0,0,8035,8036,7,3,0,0,8036,8037,7,14,0,0,8037,8038,7,20,0,0,8038,8039,7,7,0,0,8039,1254,1,0,0,0,8040,8041,7,11,0,0,8041,8042,7,28,0,0,8042,8043,7,5,0,0,8043,8044,5,95,0,0,8044,8045,7,6,0,0,8045,8046,7,20,0,0,8046,8047,7,8,0,0,8047,8048,7,7,0,0,8048,8049,7,3,0,0,8049,8050,7,4,0,0,8050,1256,1,0,0,0,8051,8052,7,11,0,0,8052,8053,7,6,0,0,8053,8054,7,3,0,0,8054,8055,7,8,0,0,8055,8056,7,6,0,0,8056,1258,1,0,0,0,8057,8058,7,11,0,0,8058,8059,7,6,0,0,8059,8060,7,3,0,0,8060,8061,7,8,0,0,8061,8062,7,6,0,0,8062,8063,7,11,0,0,8063,1260,1,0,0,0,8064,8065,7,11,0,0,8065,8066,7,6,0,0,8066,8067,7,3,0,0,8067,8068,7,6,0,0,8068,8069,7,11,0,0,8069,8070,5,95,0,0,8070,8071,7,3,0,0,8071,8072,7,17,0,0,8072,8073,7,6,0,0,8073,8074,7,19,0,0,8074,8075,5,95,0,0,8075,8076,7,8,0,0,8076,8077,7,7,0,0,8077,8078,7,14,0,0,8078,8079,7,3,0,0,8079,8080,7,5,0,0,8080,8081,7,14,0,0,8081,1262,1,0,0,0,8082,8083,7,11,0,0,8083,8084,7,6,0,0,8084,8085,7,3,0,0,8085,8086,7,6,0,0,8086,8087,7,11,0,0,8087,8088,5,95,0,0,8088,8089,7,25,0,0,8089,8090,7,7,0,0,8090,8091,7,8,0,0,8091,8092,7,11,0,0,8092,8093,7,15,0,0,8093,8094,7,11,0,0,8094,8095,7,6,0,0,8095,8096,7,7,0,0,8096,8097,7,12,0,0,8097,8098,7,6,0,0,8098,1264,1,0,0,0,8099,8100,7,11,0,0,8100,8101,7,6,0,0,8101,8102,7,3,0,0,8102,8103,7,6,0,0,8103,8104,7,11,0,0,8104,8105,5,95,0,0,8105,8106,7,11,0,0,8106,8107,7,3,0,0,8107,8108,7,23,0,0,8108,8109,7,25,0,0,8109,8110,7,5,0,0,8110,8111,7,7,0,0,8111,8112,5,95,0,0,8112,8113,7,25,0,0,8113,8114,7,3,0,0,8114,8115,7,22,0,0,8115,8116,7,7,0,0,8116,8117,7,11,0,0,8117,1266,1,0,0,0,8118,8119,7,11,0,0,8119,8120,7,6,0,0,8120,8121,7,3,0,0,8121,8122,7,6,0,0,8122,8123,7,17,0,0,8123,8124,7,11,0,0,8124,1268,1,0,0,0,8125,8126,7,11,0,0,8126,8127,7,6,0,0,8127,8128,7,19,0,0,8128,8129,7,25,0,0,8129,1270,1,0,0,0,8130,8131,7,11,0,0,8131,8132,7,6,0,0,8132,8133,7,19,0,0,8133,8134,7,8,0,0,8134,8135,7,3,0,0,8135,8136,7,22,0,0,8136,8137,7,7,0,0,8137,1272,1,0,0,0,8138,8139,7,11,0,0,8139,8140,7,6,0,0,8140,8141,7,19,0,0,8141,8142,7,8,0,0,8142,8143,7,7,0,0,8143,8144,7,4,0,0,8144,1274,1,0,0,0,8145,8146,7,11,0,0,8146,8147,7,6,0,0,8147,8148,7,8,0,0,8148,8149,7,15,0,0,8149,8150,7,12,0,0,8150,8151,7,22,0,0,8151,1276,1,0,0,0,8152,8153,7,11,0,0,8153,8154,7,17,0,0,8154,8155,7,16,0,0,8155,8156,7,14,0,0,8156,8157,7,5,0,0,8157,8158,7,3,0,0,8158,8159,7,11,0,0,8159,8160,7,11,0,0,8160,8161,5,95,0,0,8161,8162,7,19,0,0,8162,8163,7,8,0,0,8163,8164,7,15,0,0,8164,8165,7,22,0,0,8165,8166,7,15,0,0,8166,8167,7,12,0,0,8167,1278,1,0,0,0,8168,8169,7,11,0,0,8169,8170,7,17,0,0,8170,8171,7,16,0,0,8171,8172,7,27,0,0,8172,8173,7,7,0,0,8173,8174,7,14,0,0,8174,8175,7,6,0,0,8175,1280,1,0,0,0,8176,8177,7,11,0,0,8177,8178,7,17,0,0,8178,8179,7,16,0,0,8179,8180,7,25,0,0,8180,8181,7,3,0,0,8181,8182,7,8,0,0,8182,8183,7,6,0,0,8183,8184,7,15,0,0,8184,8185,7,6,0,0,8185,8186,7,15,0,0,8186,8187,7,19,0,0,8187,8188,7,12,0,0,8188,1282,1,0,0,0,8189,8190,7,11,0,0,8190,8191,7,17,0,0,8191,8192,7,16,0,0,8192,8193,7,25,0,0,8193,8194,7,3,0,0,8194,8195,7,8,0,0,8195,8196,7,6,0,0,8196,8197,7,15,0,0,8197,8198,7,6,0,0,8198,8199,7,15,0,0,8199,8200,7,19,0,0,8200,8201,7,12,0,0,8201,8202,7,11,0,0,8202,1284,1,0,0,0,8203,8204,7,11,0,0,8204,8205,7,17,0,0,8205,8206,7,11,0,0,8206,8207,7,25,0,0,8207,8208,7,7,0,0,8208,8209,7,12,0,0,8209,8210,7,4,0,0,8210,1286,1,0,0,0,8211,8212,7,11,0,0,8212,8213,7,9,0,0,8213,8214,7,3,0,0,8214,8215,7,25,0,0,8215,8216,7,11,0,0,8216,1288,1,0,0,0,8217,8218,7,11,0,0,8218,8219,7,9,0,0,8219,8220,7,15,0,0,8220,8221,7,6,0,0,8221,8222,7,14,0,0,8222,8223,7,20,0,0,8223,8224,7,7,0,0,8224,8225,7,11,0,0,8225,1290,1,0,0,0,8226,8227,7,6,0,0,8227,8228,7,3,0,0,8228,8229,7,16,0,0,8229,8230,7,5,0,0,8230,8231,7,7,0,0,8231,8232,5,95,0,0,8232,8233,7,12,0,0,8233,8234,7,3,0,0,8234,8235,7,23,0,0,8235,8236,7,7,0,0,8236,1292,1,0,0,0,8237,8238,7,6,0,0,8238,8239,7,3,0,0,8239,8240,7,16,0,0,8240,8241,7,5,0,0,8241,8242,7,7,0,0,8242,8243,7,11,0,0,8243,8244,7,25,0,0,8244,8245,7,3,0,0,8245,8246,7,14,0,0,8246,8247,7,7,0,0,8247,1294,1,0,0,0,8248,8249,7,6,0,0,8249,8250,7,3,0,0,8250,8251,7,16,0,0,8251,8252,7,5,0,0,8252,8253,7,7,0,0,8253,8254,5,95,0,0,8254,8255,7,6,0,0,8255,8256,7,10,0,0,8256,8257,7,25,0,0,8257,8258,7,7,0,0,8258,1296,1,0,0,0,8259,8260,7,6,0,0,8260,8261,7,7,0,0,8261,8262,7,23,0,0,8262,8263,7,25,0,0,8263,8264,7,19,0,0,8264,8265,7,8,0,0,8265,8266,7,3,0,0,8266,8267,7,8,0,0,8267,8268,7,10,0,0,8268,1298,1,0,0,0,8269,8270,7,6,0,0,8270,8271,7,7,0,0,8271,8272,7,23,0,0,8272,8273,7,25,0,0,8273,8274,7,6,0,0,8274,8275,7,3,0,0,8275,8276,7,16,0,0,8276,8277,7,5,0,0,8277,8278,7,7,0,0,8278,1300,1,0,0,0,8279,8280,7,6,0,0,8280,8281,7,20,0,0,8281,8282,7,3,0,0,8282,8283,7,12,0,0,8283,1302,1,0,0,0,8284,8285,7,6,0,0,8285,8286,7,8,0,0,8286,8287,7,3,0,0,8287,8288,7,4,0,0,8288,8289,7,15,0,0,8289,8290,7,6,0,0,8290,8291,7,15,0,0,8291,8292,7,19,0,0,8292,8293,7,12,0,0,8293,8294,7,3,0,0,8294,8295,7,5,0,0,8295,1304,1,0,0,0,8296,8297,7,6,0,0,8297,8298,7,8,0,0,8298,8299,7,3,0,0,8299,8300,7,12,0,0,8300,8301,7,11,0,0,8301,8302,7,3,0,0,8302,8303,7,14,0,0,8303,8304,7,6,0,0,8304,8305,7,15,0,0,8305,8306,7,19,0,0,8306,8307,7,12,0,0,8307,1306,1,0,0,0,8308,8309,7,6,0,0,8309,8310,7,8,0,0,8310,8311,7,3,0,0,8311,8312,7,12,0,0,8312,8313,7,11,0,0,8313,8314,7,3,0,0,8314,8315,7,14,0,0,8315,8316,7,6,0,0,8316,8317,7,15,0,0,8317,8318,7,19,0,0,8318,8319,7,12,0,0,8319,8320,7,3,0,0,8320,8321,7,5,0,0,8321,1308,1,0,0,0,8322,8323,7,6,0,0,8323,8324,7,8,0,0,8324,8325,7,15,0,0,8325,8326,7,22,0,0,8326,8327,7,22,0,0,8327,8328,7,7,0,0,8328,8329,7,8,0,0,8329,8330,7,11,0,0,8330,1310,1,0,0,0,8331,8332,7,6,0,0,8332,8333,7,8,0,0,8333,8334,7,17,0,0,8334,8335,7,12,0,0,8335,8336,7,14,0,0,8336,8337,7,3,0,0,8337,8338,7,6,0,0,8338,8339,7,7,0,0,8339,1312,1,0,0,0,8340,8341,7,17,0,0,8341,8342,7,12,0,0,8342,8343,7,16,0,0,8343,8344,7,19,0,0,8344,8345,7,17,0,0,8345,8346,7,12,0,0,8346,8347,7,4,0,0,8347,8348,7,7,0,0,8348,8349,7,4,0,0,8349,1314,1,0,0,0,8350,8351,7,17,0,0,8351,8352,7,12,0,0,8352,8353,7,4,0,0,8353,8354,7,7,0,0,8354,8355,7,18,0,0,8355,8356,7,15,0,0,8356,8357,7,12,0,0,8357,8358,7,7,0,0,8358,8359,7,4,0,0,8359,1316,1,0,0,0,8360,8361,7,17,0,0,8361,8362,7,12,0,0,8362,8363,7,4,0,0,8363,8364,7,19,0,0,8364,8365,7,18,0,0,8365,8366,7,15,0,0,8366,8367,7,5,0,0,8367,8368,7,7,0,0,8368,1318,1,0,0,0,8369,8370,7,17,0,0,8370,8371,7,12,0,0,8371,8372,7,4,0,0,8372,8373,7,19,0,0,8373,8374,5,95,0,0,8374,8375,7,16,0,0,8375,8376,7,17,0,0,8376,8377,7,18,0,0,8377,8378,7,18,0,0,8378,8379,7,7,0,0,8379,8380,7,8,0,0,8380,8381,5,95,0,0,8381,8382,7,11,0,0,8382,8383,7,15,0,0,8383,8384,7,13,0,0,8384,8385,7,7,0,0,8385,1320,1,0,0,0,8386,8387,7,17,0,0,8387,8388,7,12,0,0,8388,8389,7,15,0,0,8389,8390,7,12,0,0,8390,8391,7,11,0,0,8391,8392,7,6,0,0,8392,8393,7,3,0,0,8393,8394,7,5,0,0,8394,8395,7,5,0,0,8395,1322,1,0,0,0,8396,8397,7,17,0,0,8397,8398,7,12,0,0,8398,8399,7,21,0,0,8399,8400,7,12,0,0,8400,8401,7,19,0,0,8401,8402,7,9,0,0,8402,8403,7,12,0,0,8403,1324,1,0,0,0,8404,8405,7,17,0,0,8405,8406,7,12,0,0,8406,8407,7,6,0,0,8407,8408,7,15,0,0,8408,8409,7,5,0,0,8409,1326,1,0,0,0,8410,8411,7,17,0,0,8411,8412,7,25,0,0,8412,8413,7,22,0,0,8413,8414,7,8,0,0,8414,8415,7,3,0,0,8415,8416,7,4,0,0,8416,8417,7,7,0,0,8417,1328,1,0,0,0,8418,8419,7,17,0,0,8419,8420,7,11,0,0,8420,8421,7,7,0,0,8421,8422,7,8,0,0,8422,1330,1,0,0,0,8423,8424,7,17,0,0,8424,8425,7,11,0,0,8425,8426,7,7,0,0,8426,8427,5,95,0,0,8427,8428,7,18,0,0,8428,8429,7,8,0,0,8429,8430,7,23,0,0,8430,1332,1,0,0,0,8431,8432,7,17,0,0,8432,8433,7,11,0,0,8433,8434,7,7,0,0,8434,8435,7,8,0,0,8435,8436,5,95,0,0,8436,8437,7,8,0,0,8437,8438,7,7,0,0,8438,8439,7,11,0,0,8439,8440,7,19,0,0,8440,8441,7,17,0,0,8441,8442,7,8,0,0,8442,8443,7,14,0,0,8443,8444,7,7,0,0,8444,8445,7,11,0,0,8445,1334,1,0,0,0,8446,8447,7,24,0,0,8447,8448,7,3,0,0,8448,8449,7,5,0,0,8449,8450,7,15,0,0,8450,8451,7,4,0,0,8451,8452,7,3,0,0,8452,8453,7,6,0,0,8453,8454,7,15,0,0,8454,8455,7,19,0,0,8455,8456,7,12,0,0,8456,1336,1,0,0,0,8457,8458,7,24,0,0,8458,8459,7,3,0,0,8459,8460,7,5,0,0,8460,8461,7,17,0,0,8461,8462,7,7,0,0,8462,1338,1,0,0,0,8463,8464,7,24,0,0,8464,8465,7,3,0,0,8465,8466,7,8,0,0,8466,8467,7,15,0,0,8467,8468,7,3,0,0,8468,8469,7,16,0,0,8469,8470,7,5,0,0,8470,8471,7,7,0,0,8471,8472,7,11,0,0,8472,1340,1,0,0,0,8473,8474,7,24,0,0,8474,8475,7,15,0,0,8475,8476,7,7,0,0,8476,8477,7,9,0,0,8477,1342,1,0,0,0,8478,8479,7,24,0,0,8479,8480,7,15,0,0,8480,8481,7,8,0,0,8481,8482,7,6,0,0,8482,8483,7,17,0,0,8483,8484,7,3,0,0,8484,8485,7,5,0,0,8485,1344,1,0,0,0,8486,8487,7,24,0,0,8487,8488,7,15,0,0,8488,8489,7,11,0,0,8489,8490,7,15,0,0,8490,8491,7,16,0,0,8491,8492,7,5,0,0,8492,8493,7,7,0,0,8493,1346,1,0,0,0,8494,8495,7,9,0,0,8495,8496,7,3,0,0,8496,8497,7,15,0,0,8497,8498,7,6,0,0,8498,1348,1,0,0,0,8499,8500,7,9,0,0,8500,8501,7,3,0,0,8501,8502,7,8,0,0,8502,8503,7,12,0,0,8503,8504,7,15,0,0,8504,8505,7,12,0,0,8505,8506,7,22,0,0,8506,8507,7,11,0,0,8507,1350,1,0,0,0,8508,8509,7,9,0,0,8509,8510,7,15,0,0,8510,8511,7,12,0,0,8511,8512,7,4,0,0,8512,8513,7,19,0,0,8513,8514,7,9,0,0,8514,1352,1,0,0,0,8515,8516,7,9,0,0,8516,8517,7,15,0,0,8517,8518,7,6,0,0,8518,8519,7,20,0,0,8519,8520,7,19,0,0,8520,8521,7,17,0,0,8521,8522,7,6,0,0,8522,1354,1,0,0,0,8523,8524,7,9,0,0,8524,8525,7,19,0,0,8525,8526,7,8,0,0,8526,8527,7,21,0,0,8527,1356,1,0,0,0,8528,8529,7,9,0,0,8529,8530,7,8,0,0,8530,8531,7,3,0,0,8531,8532,7,25,0,0,8532,8533,7,25,0,0,8533,8534,7,7,0,0,8534,8535,7,8,0,0,8535,1358,1,0,0,0,8536,8537,7,26,0,0,8537,8538,5,53,0,0,8538,8539,5,48,0,0,8539,8540,5,57,0,0,8540,1360,1,0,0,0,8541,8542,7,26,0,0,8542,8543,7,3,0,0,8543,1362,1,0,0,0,8544,8545,7,26,0,0,8545,8546,7,23,0,0,8546,8547,7,5,0,0,8547,1364,1,0,0,0,8548,8549,7,10,0,0,8549,8550,7,7,0,0,8550,8551,7,11,0,0,8551,1366,1,0,0,0,8552,8553,7,7,0,0,8553,8554,7,17,0,0,8554,8555,7,8,0,0,8555,1368,1,0,0,0,8556,8557,7,17,0,0,8557,8558,7,11,0,0,8558,8559,7,3,0,0,8559,1370,1,0,0,0,8560,8561,7,27,0,0,8561,8562,7,15,0,0,8562,8563,7,11,0,0,8563,1372,1,0,0,0,8564,8565,7,15,0,0,8565,8566,7,11,0,0,8566,8567,7,19,0,0,8567,1374,1,0,0,0,8568,8569,7,15,0,0,8569,8570,7,12,0,0,8570,8571,7,6,0,0,8571,8572,7,7,0,0,8572,8573,7,8,0,0,8573,8574,7,12,0,0,8574,8575,7,3,0,0,8575,8576,7,5,0,0,8576,1376,1,0,0,0,8577,8578,7,28,0,0,8578,8579,7,17,0,0,8579,8580,7,3,0,0,8580,8581,7,8,0,0,8581,8582,7,6,0,0,8582,8583,7,7,0,0,8583,8584,7,8,0,0,8584,1378,1,0,0,0,8585,8586,7,23,0,0,8586,8587,7,19,0,0,8587,8588,7,12,0,0,8588,8589,7,6,0,0,8589,8590,7,20,0,0,8590,1380,1,0,0,0,8591,8592,7,4,0,0,8592,8593,7,3,0,0,8593,8594,7,10,0,0,8594,1382,1,0,0,0,8595,8596,7,20,0,0,8596,8597,7,19,0,0,8597,8598,7,17,0,0,8598,8599,7,8,0,0,8599,1384,1,0,0,0,8600,8601,7,23,0,0,8601,8602,7,15,0,0,8602,8603,7,12,0,0,8603,8604,7,17,0,0,8604,8605,7,6,0,0,8605,8606,7,7,0,0,8606,1386,1,0,0,0,8607,8608,7,9,0,0,8608,8609,7,7,0,0,8609,8610,7,7,0,0,8610,8611,7,21,0,0,8611,1388,1,0,0,0,8612,8613,7,11,0,0,8613,8614,7,7,0,0,8614,8615,7,14,0,0,8615,8616,7,19,0,0,8616,8617,7,12,0,0,8617,8618,7,4,0,0,8618,1390,1,0,0,0,8619,8620,7,23,0,0,8620,8621,7,15,0,0,8621,8622,7,14,0,0,8622,8623,7,8,0,0,8623,8624,7,19,0,0,8624,8625,7,11,0,0,8625,8626,7,7,0,0,8626,8627,7,14,0,0,8627,8628,7,19,0,0,8628,8629,7,12,0,0,8629,8630,7,4,0,0,8630,1392,1,0,0,0,8631,8632,7,3,0,0,8632,8633,7,4,0,0,8633,8634,7,23,0,0,8634,8635,7,15,0,0,8635,8636,7,12,0,0,8636,1394,1,0,0,0,8637,8638,7,3,0,0,8638,8639,7,25,0,0,8639,8640,7,25,0,0,8640,8641,7,5,0,0,8641,8642,7,15,0,0,8642,8643,7,14,0,0,8643,8644,7,3,0,0,8644,8645,7,6,0,0,8645,8646,7,15,0,0,8646,8647,7,19,0,0,8647,8648,7,12,0,0,8648,8649,5,95,0,0,8649,8650,7,25,0,0,8650,8651,7,3,0,0,8651,8652,7,11,0,0,8652,8653,7,11,0,0,8653,8654,7,9,0,0,8654,8655,7,19,0,0,8655,8656,7,8,0,0,8656,8657,7,4,0,0,8657,8658,5,95,0,0,8658,8659,7,3,0,0,8659,8660,7,4,0,0,8660,8661,7,23,0,0,8661,8662,7,15,0,0,8662,8663,7,12,0,0,8663,1396,1,0,0,0,8664,8665,7,3,0,0,8665,8666,7,17,0,0,8666,8667,7,4,0,0,8667,8668,7,15,0,0,8668,8669,7,6,0,0,8669,8670,5,95,0,0,8670,8671,7,3,0,0,8671,8672,7,16,0,0,8672,8673,7,19,0,0,8673,8674,7,8,0,0,8674,8675,7,6,0,0,8675,8676,5,95,0,0,8676,8677,7,7,0,0,8677,8678,7,26,0,0,8678,8679,7,7,0,0,8679,8680,7,23,0,0,8680,8681,7,25,0,0,8681,8682,7,6,0,0,8682,1398,1,0,0,0,8683,8684,7,3,0,0,8684,8685,7,17,0,0,8685,8686,7,4,0,0,8686,8687,7,15,0,0,8687,8688,7,6,0,0,8688,8689,5,95,0,0,8689,8690,7,3,0,0,8690,8691,7,4,0,0,8691,8692,7,23,0,0,8692,8693,7,15,0,0,8693,8694,7,12,0,0,8694,1400,1,0,0,0,8695,8696,7,3,0,0,8696,8697,7,17,0,0,8697,8698,7,6,0,0,8698,8699,7,20,0,0,8699,8700,7,7,0,0,8700,8701,7,12,0,0,8701,8702,7,6,0,0,8702,8703,7,15,0,0,8703,8704,7,14,0,0,8704,8705,7,3,0,0,8705,8706,7,6,0,0,8706,8707,7,15,0,0,8707,8708,7,19,0,0,8708,8709,7,12,0,0,8709,8710,5,95,0,0,8710,8711,7,25,0,0,8711,8712,7,19,0,0,8712,8713,7,5,0,0,8713,8714,7,15,0,0,8714,8715,7,14,0,0,8715,8716,7,10,0,0,8716,8717,5,95,0,0,8717,8718,7,3,0,0,8718,8719,7,4,0,0,8719,8720,7,23,0,0,8720,8721,7,15,0,0,8721,8722,7,12,0,0,8722,1402,1,0,0,0,8723,8724,7,16,0,0,8724,8725,7,3,0,0,8725,8726,7,14,0,0,8726,8727,7,21,0,0,8727,8728,7,17,0,0,8728,8729,7,25,0,0,8729,8730,5,95,0,0,8730,8731,7,3,0,0,8731,8732,7,4,0,0,8732,8733,7,23,0,0,8733,8734,7,15,0,0,8734,8735,7,12,0,0,8735,1404,1,0,0,0,8736,8737,7,16,0,0,8737,8738,7,15,0,0,8738,8739,7,12,0,0,8739,8740,7,5,0,0,8740,8741,7,19,0,0,8741,8742,7,22,0,0,8742,8743,5,95,0,0,8743,8744,7,3,0,0,8744,8745,7,4,0,0,8745,8746,7,23,0,0,8746,8747,7,15,0,0,8747,8748,7,12,0,0,8748,1406,1,0,0,0,8749,8750,7,16,0,0,8750,8751,7,15,0,0,8751,8752,7,12,0,0,8752,8753,7,5,0,0,8753,8754,7,19,0,0,8754,8755,7,22,0,0,8755,8756,5,95,0,0,8756,8757,7,7,0,0,8757,8758,7,12,0,0,8758,8759,7,14,0,0,8759,8760,7,8,0,0,8760,8761,7,10,0,0,8761,8762,7,25,0,0,8762,8763,7,6,0,0,8763,8764,7,15,0,0,8764,8765,7,19,0,0,8765,8766,7,12,0,0,8766,8767,5,95,0,0,8767,8768,7,3,0,0,8768,8769,7,4,0,0,8769,8770,7,23,0,0,8770,8771,7,15,0,0,8771,8772,7,12,0,0,8772,1408,1,0,0,0,8773,8774,7,14,0,0,8774,8775,7,5,0,0,8775,8776,7,19,0,0,8776,8777,7,12,0,0,8777,8778,7,7,0,0,8778,8779,5,95,0,0,8779,8780,7,3,0,0,8780,8781,7,4,0,0,8781,8782,7,23,0,0,8782,8783,7,15,0,0,8783,8784,7,12,0,0,8784,1410,1,0,0,0,8785,8786,7,14,0,0,8786,8787,7,19,0,0,8787,8788,7,12,0,0,8788,8789,7,12,0,0,8789,8790,7,7,0,0,8790,8791,7,14,0,0,8791,8792,7,6,0,0,8792,8793,7,15,0,0,8793,8794,7,19,0,0,8794,8795,7,12,0,0,8795,8796,5,95,0,0,8796,8797,7,3,0,0,8797,8798,7,4,0,0,8798,8799,7,23,0,0,8799,8800,7,15,0,0,8800,8801,7,12,0,0,8801,1412,1,0,0,0,8802,8803,7,7,0,0,8803,8804,7,12,0,0,8804,8805,7,14,0,0,8805,8806,7,8,0,0,8806,8807,7,10,0,0,8807,8808,7,25,0,0,8808,8809,7,6,0,0,8809,8810,7,15,0,0,8810,8811,7,19,0,0,8811,8812,7,12,0,0,8812,8813,5,95,0,0,8813,8814,7,21,0,0,8814,8815,7,7,0,0,8815,8816,7,10,0,0,8816,8817,5,95,0,0,8817,8818,7,3,0,0,8818,8819,7,4,0,0,8819,8820,7,23,0,0,8820,8821,7,15,0,0,8821,8822,7,12,0,0,8822,1414,1,0,0,0,8823,8824,7,7,0,0,8824,8825,7,26,0,0,8825,8826,7,7,0,0,8826,8827,7,14,0,0,8827,8828,7,17,0,0,8828,8829,7,6,0,0,8829,8830,7,7,0,0,8830,1416,1,0,0,0,8831,8832,7,18,0,0,8832,8833,7,15,0,0,8833,8834,7,5,0,0,8834,8835,7,7,0,0,8835,1418,1,0,0,0,8836,8837,7,18,0,0,8837,8838,7,15,0,0,8838,8839,7,8,0,0,8839,8840,7,7,0,0,8840,8841,7,9,0,0,8841,8842,7,3,0,0,8842,8843,7,5,0,0,8843,8844,7,5,0,0,8844,8845,5,95,0,0,8845,8846,7,3,0,0,8846,8847,7,4,0,0,8847,8848,7,23,0,0,8848,8849,7,15,0,0,8849,8850,7,12,0,0,8850,1420,1,0,0,0,8851,8852,7,18,0,0,8852,8853,7,15,0,0,8853,8854,7,8,0,0,8854,8855,7,7,0,0,8855,8856,7,9,0,0,8856,8857,7,3,0,0,8857,8858,7,5,0,0,8858,8859,7,5,0,0,8859,8860,5,95,0,0,8860,8861,7,7,0,0,8861,8862,7,26,0,0,8862,8863,7,7,0,0,8863,8864,7,23,0,0,8864,8865,7,25,0,0,8865,8866,7,6,0,0,8866,1422,1,0,0,0,8867,8868,7,18,0,0,8868,8869,7,15,0,0,8869,8870,7,8,0,0,8870,8871,7,7,0,0,8871,8872,7,9,0,0,8872,8873,7,3,0,0,8873,8874,7,5,0,0,8874,8875,7,5,0,0,8875,8876,5,95,0,0,8876,8877,7,17,0,0,8877,8878,7,11,0,0,8878,8879,7,7,0,0,8879,8880,7,8,0,0,8880,1424,1,0,0,0,8881,8882,7,18,0,0,8882,8883,7,5,0,0,8883,8884,7,17,0,0,8884,8885,7,11,0,0,8885,8886,7,20,0,0,8886,8887,5,95,0,0,8887,8888,7,19,0,0,8888,8889,7,25,0,0,8889,8890,7,6,0,0,8890,8891,7,15,0,0,8891,8892,7,23,0,0,8892,8893,7,15,0,0,8893,8894,7,13,0,0,8894,8895,7,7,0,0,8895,8896,7,8,0,0,8896,8897,5,95,0,0,8897,8898,7,14,0,0,8898,8899,7,19,0,0,8899,8900,7,11,0,0,8900,8901,7,6,0,0,8901,8902,7,11,0,0,8902,1426,1,0,0,0,8903,8904,7,18,0,0,8904,8905,7,5,0,0,8905,8906,7,17,0,0,8906,8907,7,11,0,0,8907,8908,7,20,0,0,8908,8909,5,95,0,0,8909,8910,7,11,0,0,8910,8911,7,6,0,0,8911,8912,7,3,0,0,8912,8913,7,6,0,0,8913,8914,7,17,0,0,8914,8915,7,11,0,0,8915,1428,1,0,0,0,8916,8917,7,18,0,0,8917,8918,7,5,0,0,8918,8919,7,17,0,0,8919,8920,7,11,0,0,8920,8921,7,20,0,0,8921,8922,5,95,0,0,8922,8923,7,6,0,0,8923,8924,7,3,0,0,8924,8925,7,16,0,0,8925,8926,7,5,0,0,8926,8927,7,7,0,0,8927,8928,7,11,0,0,8928,1430,1,0,0,0,8929,8930,7,18,0,0,8930,8931,7,5,0,0,8931,8932,7,17,0,0,8932,8933,7,11,0,0,8933,8934,7,20,0,0,8934,8935,5,95,0,0,8935,8936,7,17,0,0,8936,8937,7,11,0,0,8937,8938,7,7,0,0,8938,8939,7,8,0,0,8939,8940,5,95,0,0,8940,8941,7,8,0,0,8941,8942,7,7,0,0,8942,8943,7,11,0,0,8943,8944,7,19,0,0,8944,8945,7,17,0,0,8945,8946,7,8,0,0,8946,8947,7,14,0,0,8947,8948,7,7,0,0,8948,8949,7,11,0,0,8949,1432,1,0,0,0,8950,8951,7,22,0,0,8951,8952,7,8,0,0,8952,8953,7,19,0,0,8953,8954,7,17,0,0,8954,8955,7,25,0,0,8955,8956,5,95,0,0,8956,8957,7,8,0,0,8957,8958,7,7,0,0,8958,8959,7,25,0,0,8959,8960,7,5,0,0,8960,8961,7,15,0,0,8961,8962,7,14,0,0,8962,8963,7,3,0,0,8963,8964,7,6,0,0,8964,8965,7,15,0,0,8965,8966,7,19,0,0,8966,8967,7,12,0,0,8967,8968,5,95,0,0,8968,8969,7,3,0,0,8969,8970,7,4,0,0,8970,8971,7,23,0,0,8971,8972,7,15,0,0,8972,8973,7,12,0,0,8973,1434,1,0,0,0,8974,8975,7,15,0,0,8975,8976,7,12,0,0,8976,8977,7,12,0,0,8977,8978,7,19,0,0,8978,8979,7,4,0,0,8979,8980,7,16,0,0,8980,8981,5,95,0,0,8981,8982,7,8,0,0,8982,8983,7,7,0,0,8983,8984,7,4,0,0,8984,8985,7,19,0,0,8985,8986,5,95,0,0,8986,8987,7,5,0,0,8987,8988,7,19,0,0,8988,8989,7,22,0,0,8989,8990,5,95,0,0,8990,8991,7,3,0,0,8991,8992,7,8,0,0,8992,8993,7,14,0,0,8993,8994,7,20,0,0,8994,8995,7,15,0,0,8995,8996,7,24,0,0,8996,8997,7,7,0,0,8997,1436,1,0,0,0,8998,8999,7,15,0,0,8999,9e3,7,12,0,0,9e3,9001,7,12,0,0,9001,9002,7,19,0,0,9002,9003,7,4,0,0,9003,9004,7,16,0,0,9004,9005,5,95,0,0,9005,9006,7,8,0,0,9006,9007,7,7,0,0,9007,9008,7,4,0,0,9008,9009,7,19,0,0,9009,9010,5,95,0,0,9010,9011,7,5,0,0,9011,9012,7,19,0,0,9012,9013,7,22,0,0,9013,9014,5,95,0,0,9014,9015,7,7,0,0,9015,9016,7,12,0,0,9016,9017,7,3,0,0,9017,9018,7,16,0,0,9018,9019,7,5,0,0,9019,9020,7,7,0,0,9020,1438,1,0,0,0,9021,9022,7,15,0,0,9022,9023,7,12,0,0,9023,9024,7,24,0,0,9024,9025,7,19,0,0,9025,9026,7,21,0,0,9026,9027,7,7,0,0,9027,1440,1,0,0,0,9028,9029,7,5,0,0,9029,9030,7,3,0,0,9030,9031,7,23,0,0,9031,9032,7,16,0,0,9032,9033,7,4,0,0,9033,9034,7,3,0,0,9034,1442,1,0,0,0,9035,9036,7,12,0,0,9036,9037,7,4,0,0,9037,9038,7,16,0,0,9038,9039,5,95,0,0,9039,9040,7,11,0,0,9040,9041,7,6,0,0,9041,9042,7,19,0,0,9042,9043,7,8,0,0,9043,9044,7,7,0,0,9044,9045,7,4,0,0,9045,9046,5,95,0,0,9046,9047,7,17,0,0,9047,9048,7,11,0,0,9048,9049,7,7,0,0,9049,9050,7,8,0,0,9050,1444,1,0,0,0,9051,9052,7,25,0,0,9052,9053,7,3,0,0,9053,9054,7,11,0,0,9054,9055,7,11,0,0,9055,9056,7,9,0,0,9056,9057,7,19,0,0,9057,9058,7,8,0,0,9058,9059,7,4,0,0,9059,9060,7,5,0,0,9060,9061,7,7,0,0,9061,9062,7,11,0,0,9062,9063,7,11,0,0,9063,9064,5,95,0,0,9064,9065,7,17,0,0,9065,9066,7,11,0,0,9066,9067,7,7,0,0,9067,9068,7,8,0,0,9068,9069,5,95,0,0,9069,9070,7,3,0,0,9070,9071,7,4,0,0,9071,9072,7,23,0,0,9072,9073,7,15,0,0,9073,9074,7,12,0,0,9074,1446,1,0,0,0,9075,9076,7,25,0,0,9076,9077,7,7,0,0,9077,9078,7,8,0,0,9078,9079,7,11,0,0,9079,9080,7,15,0,0,9080,9081,7,11,0,0,9081,9082,7,6,0,0,9082,9083,5,95,0,0,9083,9084,7,8,0,0,9084,9085,7,19,0,0,9085,9086,5,95,0,0,9086,9087,7,24,0,0,9087,9088,7,3,0,0,9088,9089,7,8,0,0,9089,9090,7,15,0,0,9090,9091,7,3,0,0,9091,9092,7,16,0,0,9092,9093,7,5,0,0,9093,9094,7,7,0,0,9094,9095,7,11,0,0,9095,9096,5,95,0,0,9096,9097,7,3,0,0,9097,9098,7,4,0,0,9098,9099,7,23,0,0,9099,9100,7,15,0,0,9100,9101,7,12,0,0,9101,1448,1,0,0,0,9102,9103,7,25,0,0,9103,9104,7,8,0,0,9104,9105,7,15,0,0,9105,9106,7,24,0,0,9106,9107,7,15,0,0,9107,9108,7,5,0,0,9108,9109,7,7,0,0,9109,9110,7,22,0,0,9110,9111,7,7,0,0,9111,9112,7,11,0,0,9112,1450,1,0,0,0,9113,9114,7,25,0,0,9114,9115,7,8,0,0,9115,9116,7,19,0,0,9116,9117,7,14,0,0,9117,9118,7,7,0,0,9118,9119,7,11,0,0,9119,9120,7,11,0,0,9120,1452,1,0,0,0,9121,9122,7,8,0,0,9122,9123,7,7,0,0,9123,9124,7,5,0,0,9124,9125,7,19,0,0,9125,9126,7,3,0,0,9126,9127,7,4,0,0,9127,1454,1,0,0,0,9128,9129,7,8,0,0,9129,9130,7,7,0,0,9130,9131,7,25,0,0,9131,9132,7,5,0,0,9132,9133,7,15,0,0,9133,9134,7,14,0,0,9134,9135,7,3,0,0,9135,9136,7,6,0,0,9136,9137,7,15,0,0,9137,9138,7,19,0,0,9138,9139,7,12,0,0,9139,9140,5,95,0,0,9140,9141,7,3,0,0,9141,9142,7,25,0,0,9142,9143,7,25,0,0,9143,9144,7,5,0,0,9144,9145,7,15,0,0,9145,9146,7,7,0,0,9146,9147,7,8,0,0,9147,1456,1,0,0,0,9148,9149,7,8,0,0,9149,9150,7,7,0,0,9150,9151,7,25,0,0,9151,9152,7,5,0,0,9152,9153,7,15,0,0,9153,9154,7,14,0,0,9154,9155,7,3,0,0,9155,9156,7,6,0,0,9156,9157,7,15,0,0,9157,9158,7,19,0,0,9158,9159,7,12,0,0,9159,9160,5,95,0,0,9160,9161,7,11,0,0,9161,9162,7,5,0,0,9162,9163,7,3,0,0,9163,9164,7,24,0,0,9164,9165,7,7,0,0,9165,9166,5,95,0,0,9166,9167,7,3,0,0,9167,9168,7,4,0,0,9168,9169,7,23,0,0,9169,9170,7,15,0,0,9170,9171,7,12,0,0,9171,1458,1,0,0,0,9172,9173,7,8,0,0,9173,9174,7,7,0,0,9174,9175,7,11,0,0,9175,9176,7,19,0,0,9176,9177,7,17,0,0,9177,9178,7,8,0,0,9178,9179,7,14,0,0,9179,9180,7,7,0,0,9180,9181,5,95,0,0,9181,9182,7,22,0,0,9182,9183,7,8,0,0,9183,9184,7,19,0,0,9184,9185,7,17,0,0,9185,9186,7,25,0,0,9186,9187,5,95,0,0,9187,9188,7,3,0,0,9188,9189,7,4,0,0,9189,9190,7,23,0,0,9190,9191,7,15,0,0,9191,9192,7,12,0,0,9192,1460,1,0,0,0,9193,9194,7,8,0,0,9194,9195,7,7,0,0,9195,9196,7,11,0,0,9196,9197,7,19,0,0,9197,9198,7,17,0,0,9198,9199,7,8,0,0,9199,9200,7,14,0,0,9200,9201,7,7,0,0,9201,9202,5,95,0,0,9202,9203,7,22,0,0,9203,9204,7,8,0,0,9204,9205,7,19,0,0,9205,9206,7,17,0,0,9206,9207,7,25,0,0,9207,9208,5,95,0,0,9208,9209,7,17,0,0,9209,9210,7,11,0,0,9210,9211,7,7,0,0,9211,9212,7,8,0,0,9212,1462,1,0,0,0,9213,9214,7,8,0,0,9214,9215,7,19,0,0,9215,9216,7,5,0,0,9216,9217,7,7,0,0,9217,9218,5,95,0,0,9218,9219,7,3,0,0,9219,9220,7,4,0,0,9220,9221,7,23,0,0,9221,9222,7,15,0,0,9222,9223,7,12,0,0,9223,1464,1,0,0,0,9224,9225,7,8,0,0,9225,9226,7,19,0,0,9226,9227,7,17,0,0,9227,9228,7,6,0,0,9228,9229,7,15,0,0,9229,9230,7,12,0,0,9230,9231,7,7,0,0,9231,1466,1,0,0,0,9232,9233,7,11,0,0,9233,9234,5,51,0,0,9234,1468,1,0,0,0,9235,9236,7,11,0,0,9236,9237,7,7,0,0,9237,9238,7,8,0,0,9238,9239,7,24,0,0,9239,9240,7,15,0,0,9240,9241,7,14,0,0,9241,9242,7,7,0,0,9242,9243,5,95,0,0,9243,9244,7,14,0,0,9244,9245,7,19,0,0,9245,9246,7,12,0,0,9246,9247,7,12,0,0,9247,9248,7,7,0,0,9248,9249,7,14,0,0,9249,9250,7,6,0,0,9250,9251,7,15,0,0,9251,9252,7,19,0,0,9252,9253,7,12,0,0,9253,9254,5,95,0,0,9254,9255,7,3,0,0,9255,9256,7,4,0,0,9256,9257,7,23,0,0,9257,9258,7,15,0,0,9258,9259,7,12,0,0,9259,1470,1,0,0,0,9260,9262,3,2289,1144,0,9261,9260,1,0,0,0,9261,9262,1,0,0,0,9262,9263,1,0,0,0,9263,9264,7,11,0,0,9264,9265,7,7,0,0,9265,9266,7,11,0,0,9266,9267,7,11,0,0,9267,9268,7,15,0,0,9268,9269,7,19,0,0,9269,9270,7,12,0,0,9270,9271,5,95,0,0,9271,9272,7,24,0,0,9272,9273,7,3,0,0,9273,9274,7,8,0,0,9274,9275,7,15,0,0,9275,9276,7,3,0,0,9276,9277,7,16,0,0,9277,9278,7,5,0,0,9278,9279,7,7,0,0,9279,9280,7,11,0,0,9280,9281,5,95,0,0,9281,9282,7,3,0,0,9282,9283,7,4,0,0,9283,9284,7,23,0,0,9284,9285,7,15,0,0,9285,9286,7,12,0,0,9286,9288,1,0,0,0,9287,9289,3,2289,1144,0,9288,9287,1,0,0,0,9288,9289,1,0,0,0,9289,1472,1,0,0,0,9290,9291,7,11,0,0,9291,9292,7,7,0,0,9292,9293,7,6,0,0,9293,9294,5,95,0,0,9294,9295,7,17,0,0,9295,9296,7,11,0,0,9296,9297,7,7,0,0,9297,9298,7,8,0,0,9298,9299,5,95,0,0,9299,9300,7,15,0,0,9300,9301,7,4,0,0,9301,1474,1,0,0,0,9302,9303,7,11,0,0,9303,9304,7,20,0,0,9304,9305,7,19,0,0,9305,9306,7,9,0,0,9306,9307,5,95,0,0,9307,9308,7,8,0,0,9308,9309,7,19,0,0,9309,9310,7,17,0,0,9310,9311,7,6,0,0,9311,9312,7,15,0,0,9312,9313,7,12,0,0,9313,9314,7,7,0,0,9314,1476,1,0,0,0,9315,9316,7,11,0,0,9316,9317,7,20,0,0,9317,9318,7,17,0,0,9318,9319,7,6,0,0,9319,9320,7,4,0,0,9320,9321,7,19,0,0,9321,9322,7,9,0,0,9322,9323,7,12,0,0,9323,1478,1,0,0,0,9324,9325,7,11,0,0,9325,9326,7,17,0,0,9326,9327,7,25,0,0,9327,9328,7,7,0,0,9328,9329,7,8,0,0,9329,1480,1,0,0,0,9330,9331,7,11,0,0,9331,9332,7,10,0,0,9332,9333,7,11,0,0,9333,9334,7,6,0,0,9334,9335,7,7,0,0,9335,9336,7,23,0,0,9336,9337,5,95,0,0,9337,9338,7,24,0,0,9338,9339,7,3,0,0,9339,9340,7,8,0,0,9340,9341,7,15,0,0,9341,9342,7,3,0,0,9342,9343,7,16,0,0,9343,9344,7,5,0,0,9344,9345,7,7,0,0,9345,9346,7,11,0,0,9346,9347,5,95,0,0,9347,9348,7,3,0,0,9348,9349,7,4,0,0,9349,9350,7,23,0,0,9350,9351,7,15,0,0,9351,9352,7,12,0,0,9352,1482,1,0,0,0,9353,9354,7,6,0,0,9354,9355,7,3,0,0,9355,9356,7,16,0,0,9356,9357,7,5,0,0,9357,9358,7,7,0,0,9358,9359,7,11,0,0,9359,1484,1,0,0,0,9360,9361,7,6,0,0,9361,9362,7,3,0,0,9362,9363,7,16,0,0,9363,9364,7,5,0,0,9364,9365,7,7,0,0,9365,9366,5,95,0,0,9366,9367,7,7,0,0,9367,9368,7,12,0,0,9368,9369,7,14,0,0,9369,9370,7,8,0,0,9370,9371,7,10,0,0,9371,9372,7,25,0,0,9372,9373,7,6,0,0,9373,9374,7,15,0,0,9374,9375,7,19,0,0,9375,9376,7,12,0,0,9376,9377,5,95,0,0,9377,9378,7,3,0,0,9378,9379,7,4,0,0,9379,9380,7,23,0,0,9380,9381,7,15,0,0,9381,9382,7,12,0,0,9382,1486,1,0,0,0,9383,9384,7,24,0,0,9384,9385,7,7,0,0,9385,9386,7,8,0,0,9386,9387,7,11,0,0,9387,9388,7,15,0,0,9388,9389,7,19,0,0,9389,9390,7,12,0,0,9390,9391,5,95,0,0,9391,9392,7,6,0,0,9392,9393,7,19,0,0,9393,9394,7,21,0,0,9394,9395,7,7,0,0,9395,9396,7,12,0,0,9396,9397,5,95,0,0,9397,9398,7,3,0,0,9398,9399,7,4,0,0,9399,9400,7,23,0,0,9400,9401,7,15,0,0,9401,9402,7,12,0,0,9402,1488,1,0,0,0,9403,9404,7,26,0,0,9404,9405,7,3,0,0,9405,9406,5,95,0,0,9406,9407,7,8,0,0,9407,9408,7,7,0,0,9408,9409,7,14,0,0,9409,9410,7,19,0,0,9410,9411,7,24,0,0,9411,9412,7,7,0,0,9412,9413,7,8,0,0,9413,9414,5,95,0,0,9414,9415,7,3,0,0,9415,9416,7,4,0,0,9416,9417,7,23,0,0,9417,9418,7,15,0,0,9418,9419,7,12,0,0,9419,1490,1,0,0,0,9420,9421,7,3,0,0,9421,9422,7,8,0,0,9422,9423,7,23,0,0,9423,9424,7,11,0,0,9424,9425,7,14,0,0,9425,9426,7,15,0,0,9426,9427,7,15,0,0,9427,9428,5,56,0,0,9428,1492,1,0,0,0,9429,9430,7,3,0,0,9430,9431,7,11,0,0,9431,9432,7,14,0,0,9432,9433,7,15,0,0,9433,9434,7,15,0,0,9434,1494,1,0,0,0,9435,9436,7,16,0,0,9436,9437,7,15,0,0,9437,9438,7,22,0,0,9438,9439,5,53,0,0,9439,1496,1,0,0,0,9440,9441,7,14,0,0,9441,9442,7,25,0,0,9442,9443,5,49,0,0,9443,9444,5,50,0,0,9444,9445,5,53,0,0,9445,9446,5,48,0,0,9446,1498,1,0,0,0,9447,9448,7,14,0,0,9448,9449,7,25,0,0,9449,9450,5,49,0,0,9450,9451,5,50,0,0,9451,9452,5,53,0,0,9452,9453,5,49,0,0,9453,1500,1,0,0,0,9454,9455,7,14,0,0,9455,9456,7,25,0,0,9456,9457,5,49,0,0,9457,9458,5,50,0,0,9458,9459,5,53,0,0,9459,9460,5,54,0,0,9460,1502,1,0,0,0,9461,9462,7,14,0,0,9462,9463,7,25,0,0,9463,9464,5,49,0,0,9464,9465,5,50,0,0,9465,9466,5,53,0,0,9466,9467,5,55,0,0,9467,1504,1,0,0,0,9468,9469,7,14,0,0,9469,9470,7,25,0,0,9470,9471,5,56,0,0,9471,9472,5,53,0,0,9472,9473,5,48,0,0,9473,1506,1,0,0,0,9474,9475,7,14,0,0,9475,9476,7,25,0,0,9476,9477,5,56,0,0,9477,9478,5,53,0,0,9478,9479,5,50,0,0,9479,1508,1,0,0,0,9480,9481,7,14,0,0,9481,9482,7,25,0,0,9482,9483,5,56,0,0,9483,9484,5,54,0,0,9484,9485,5,54,0,0,9485,1510,1,0,0,0,9486,9487,7,14,0,0,9487,9488,7,25,0,0,9488,9489,5,57,0,0,9489,9490,5,51,0,0,9490,9491,5,50,0,0,9491,1512,1,0,0,0,9492,9493,7,4,0,0,9493,9494,7,7,0,0,9494,9495,7,14,0,0,9495,9496,5,56,0,0,9496,1514,1,0,0,0,9497,9498,7,7,0,0,9498,9499,7,17,0,0,9499,9500,7,14,0,0,9500,9501,7,27,0,0,9501,9502,7,25,0,0,9502,9503,7,23,0,0,9503,9504,7,11,0,0,9504,1516,1,0,0,0,9505,9506,7,7,0,0,9506,9507,7,17,0,0,9507,9508,7,14,0,0,9508,9509,7,21,0,0,9509,9510,7,8,0,0,9510,1518,1,0,0,0,9511,9512,7,22,0,0,9512,9513,7,16,0,0,9513,9514,5,49,0,0,9514,9515,5,56,0,0,9515,9516,5,48,0,0,9516,9517,5,51,0,0,9517,9518,5,48,0,0,9518,1520,1,0,0,0,9519,9520,7,22,0,0,9520,9521,7,16,0,0,9521,9522,5,50,0,0,9522,9523,5,51,0,0,9523,9524,5,49,0,0,9524,9525,5,50,0,0,9525,1522,1,0,0,0,9526,9527,7,22,0,0,9527,9528,7,16,0,0,9528,9529,7,21,0,0,9529,1524,1,0,0,0,9530,9531,7,22,0,0,9531,9532,7,7,0,0,9532,9533,7,19,0,0,9533,9534,7,11,0,0,9534,9535,7,6,0,0,9535,9536,7,4,0,0,9536,9537,5,56,0,0,9537,1526,1,0,0,0,9538,9539,7,22,0,0,9539,9540,7,8,0,0,9540,9541,7,7,0,0,9541,9542,7,7,0,0,9542,9543,7,21,0,0,9543,1528,1,0,0,0,9544,9545,7,20,0,0,9545,9546,7,7,0,0,9546,9547,7,16,0,0,9547,9548,7,8,0,0,9548,9549,7,7,0,0,9549,9550,7,9,0,0,9550,1530,1,0,0,0,9551,9552,7,20,0,0,9552,9553,7,25,0,0,9553,9554,5,56,0,0,9554,1532,1,0,0,0,9555,9556,7,21,0,0,9556,9557,7,7,0,0,9557,9558,7,10,0,0,9558,9559,7,16,0,0,9559,9560,7,14,0,0,9560,9561,7,11,0,0,9561,9562,5,50,0,0,9562,1534,1,0,0,0,9563,9564,7,21,0,0,9564,9565,7,19,0,0,9565,9566,7,15,0,0,9566,9567,5,56,0,0,9567,9568,7,8,0,0,9568,1536,1,0,0,0,9569,9570,7,21,0,0,9570,9571,7,19,0,0,9571,9572,7,15,0,0,9572,9573,5,56,0,0,9573,9574,7,17,0,0,9574,1538,1,0,0,0,9575,9576,7,5,0,0,9576,9577,7,3,0,0,9577,9578,7,6,0,0,9578,9579,7,15,0,0,9579,9580,7,12,0,0,9580,9581,5,49,0,0,9581,1540,1,0,0,0,9582,9583,7,5,0,0,9583,9584,7,3,0,0,9584,9585,7,6,0,0,9585,9586,7,15,0,0,9586,9587,7,12,0,0,9587,9588,5,50,0,0,9588,1542,1,0,0,0,9589,9590,7,5,0,0,9590,9591,7,3,0,0,9591,9592,7,6,0,0,9592,9593,7,15,0,0,9593,9594,7,12,0,0,9594,9595,5,53,0,0,9595,1544,1,0,0,0,9596,9597,7,5,0,0,9597,9598,7,3,0,0,9598,9599,7,6,0,0,9599,9600,7,15,0,0,9600,9601,7,12,0,0,9601,9602,5,55,0,0,9602,1546,1,0,0,0,9603,9604,7,23,0,0,9604,9605,7,3,0,0,9605,9606,7,14,0,0,9606,9607,7,14,0,0,9607,9608,7,7,0,0,9608,1548,1,0,0,0,9609,9610,7,23,0,0,9610,9611,7,3,0,0,9611,9612,7,14,0,0,9612,9613,7,8,0,0,9613,9614,7,19,0,0,9614,9615,7,23,0,0,9615,9616,7,3,0,0,9616,9617,7,12,0,0,9617,1550,1,0,0,0,9618,9619,7,11,0,0,9619,9620,7,27,0,0,9620,9621,7,15,0,0,9621,9622,7,11,0,0,9622,1552,1,0,0,0,9623,9624,7,11,0,0,9624,9625,7,9,0,0,9625,9626,7,7,0,0,9626,9627,5,55,0,0,9627,1554,1,0,0,0,9628,9629,7,6,0,0,9629,9630,7,15,0,0,9630,9631,7,11,0,0,9631,9632,5,54,0,0,9632,9633,5,50,0,0,9633,9634,5,48,0,0,9634,1556,1,0,0,0,9635,9636,7,17,0,0,9636,9637,7,14,0,0,9637,9638,7,11,0,0,9638,9639,5,50,0,0,9639,1558,1,0,0,0,9640,9641,7,17,0,0,9641,9642,7,27,0,0,9642,9643,7,15,0,0,9643,9644,7,11,0,0,9644,1560,1,0,0,0,9645,9646,7,17,0,0,9646,9647,7,6,0,0,9647,9648,7,18,0,0,9648,9649,5,49,0,0,9649,9650,5,54,0,0,9650,1562,1,0,0,0,9651,9652,7,17,0,0,9652,9653,7,6,0,0,9653,9654,7,18,0,0,9654,9655,5,49,0,0,9655,9656,5,54,0,0,9656,9657,7,5,0,0,9657,9658,7,7,0,0,9658,1564,1,0,0,0,9659,9660,7,17,0,0,9660,9661,7,6,0,0,9661,9662,7,18,0,0,9662,9663,5,51,0,0,9663,9664,5,50,0,0,9664,1566,1,0,0,0,9665,9666,7,17,0,0,9666,9667,7,6,0,0,9667,9668,7,18,0,0,9668,9669,5,56,0,0,9669,1568,1,0,0,0,9670,9671,7,17,0,0,9671,9672,7,6,0,0,9672,9673,7,18,0,0,9673,9674,5,56,0,0,9674,9675,7,23,0,0,9675,9676,7,16,0,0,9676,9677,5,51,0,0,9677,1570,1,0,0,0,9678,9679,7,17,0,0,9679,9680,7,6,0,0,9680,9681,7,18,0,0,9681,9682,5,56,0,0,9682,9683,7,23,0,0,9683,9684,7,16,0,0,9684,9685,5,52,0,0,9685,1572,1,0,0,0,9686,9687,7,3,0,0,9687,9688,7,8,0,0,9688,9689,7,14,0,0,9689,9690,7,20,0,0,9690,9691,7,15,0,0,9691,9692,7,24,0,0,9692,9693,7,7,0,0,9693,1574,1,0,0,0,9694,9695,7,16,0,0,9695,9696,7,5,0,0,9696,9697,7,3,0,0,9697,9698,7,14,0,0,9698,9699,7,21,0,0,9699,9700,7,20,0,0,9700,9701,7,19,0,0,9701,9702,7,5,0,0,9702,9703,7,7,0,0,9703,1576,1,0,0,0,9704,9705,7,14,0,0,9705,9706,7,11,0,0,9706,9707,7,24,0,0,9707,1578,1,0,0,0,9708,9709,7,18,0,0,9709,9710,7,7,0,0,9710,9711,7,4,0,0,9711,9712,7,7,0,0,9712,9713,7,8,0,0,9713,9714,7,3,0,0,9714,9715,7,6,0,0,9715,9716,7,7,0,0,9716,9717,7,4,0,0,9717,1580,1,0,0,0,9718,9719,7,15,0,0,9719,9720,7,12,0,0,9720,9721,7,12,0,0,9721,9722,7,19,0,0,9722,9723,7,4,0,0,9723,9724,7,16,0,0,9724,1582,1,0,0,0,9725,9726,7,23,0,0,9726,9727,7,7,0,0,9727,9728,7,23,0,0,9728,9729,7,19,0,0,9729,9730,7,8,0,0,9730,9731,7,10,0,0,9731,1584,1,0,0,0,9732,9733,7,23,0,0,9733,9734,7,8,0,0,9734,9735,7,22,0,0,9735,9736,5,95,0,0,9736,9737,7,23,0,0,9737,9738,7,10,0,0,9738,9739,7,15,0,0,9739,9740,7,11,0,0,9740,9741,7,3,0,0,9741,9742,7,23,0,0,9742,1586,1,0,0,0,9743,9744,7,23,0,0,9744,9745,7,10,0,0,9745,9746,7,15,0,0,9746,9747,7,11,0,0,9747,9748,7,3,0,0,9748,9749,7,23,0,0,9749,1588,1,0,0,0,9750,9751,7,12,0,0,9751,9752,7,4,0,0,9752,9753,7,16,0,0,9753,1590,1,0,0,0,9754,9755,7,12,0,0,9755,9756,7,4,0,0,9756,9757,7,16,0,0,9757,9758,7,14,0,0,9758,9759,7,5,0,0,9759,9760,7,17,0,0,9760,9761,7,11,0,0,9761,9762,7,6,0,0,9762,9763,7,7,0,0,9763,9764,7,8,0,0,9764,1592,1,0,0,0,9765,9766,7,25,0,0,9766,9767,7,7,0,0,9767,9768,7,8,0,0,9768,9769,7,18,0,0,9769,9770,7,19,0,0,9770,9771,7,8,0,0,9771,9772,7,23,0,0,9772,9773,7,3,0,0,9773,9774,7,12,0,0,9774,9775,7,14,0,0,9775,9776,7,7,0,0,9776,9777,5,95,0,0,9777,9778,7,11,0,0,9778,9779,7,14,0,0,9779,9780,7,20,0,0,9780,9781,7,7,0,0,9781,9782,7,23,0,0,9782,9783,7,3,0,0,9783,1594,1,0,0,0,9784,9785,7,6,0,0,9785,9786,7,19,0,0,9786,9787,7,21,0,0,9787,9788,7,17,0,0,9788,9789,7,4,0,0,9789,9790,7,16,0,0,9790,1596,1,0,0,0,9791,9792,7,8,0,0,9792,9793,7,7,0,0,9793,9794,7,25,0,0,9794,9795,7,7,0,0,9795,9796,7,3,0,0,9796,9797,7,6,0,0,9797,9798,7,3,0,0,9798,9799,7,16,0,0,9799,9800,7,5,0,0,9800,9801,7,7,0,0,9801,1598,1,0,0,0,9802,9803,7,14,0,0,9803,9804,7,19,0,0,9804,9805,7,23,0,0,9805,9806,7,23,0,0,9806,9807,7,15,0,0,9807,9808,7,6,0,0,9808,9809,7,6,0,0,9809,9810,7,7,0,0,9810,9811,7,4,0,0,9811,1600,1,0,0,0,9812,9813,7,17,0,0,9813,9814,7,12,0,0,9814,9815,7,14,0,0,9815,9816,7,19,0,0,9816,9817,7,23,0,0,9817,9818,7,23,0,0,9818,9819,7,15,0,0,9819,9820,7,6,0,0,9820,9821,7,6,0,0,9821,9822,7,7,0,0,9822,9823,7,4,0,0,9823,1602,1,0,0,0,9824,9825,7,11,0,0,9825,9826,7,7,0,0,9826,9827,7,8,0,0,9827,9828,7,15,0,0,9828,9829,7,3,0,0,9829,9830,7,5,0,0,9830,9831,7,15,0,0,9831,9832,7,13,0,0,9832,9833,7,3,0,0,9833,9834,7,16,0,0,9834,9835,7,5,0,0,9835,9836,7,7,0,0,9836,1604,1,0,0,0,9837,9838,7,22,0,0,9838,9839,7,7,0,0,9839,9840,7,19,0,0,9840,9841,7,23,0,0,9841,9842,7,7,0,0,9842,9843,7,6,0,0,9843,9844,7,8,0,0,9844,9845,7,10,0,0,9845,9846,7,14,0,0,9846,9847,7,19,0,0,9847,9848,7,5,0,0,9848,9849,7,5,0,0,9849,9850,7,7,0,0,9850,9851,7,14,0,0,9851,9852,7,6,0,0,9852,9853,7,15,0,0,9853,9854,7,19,0,0,9854,9855,7,12,0,0,9855,1606,1,0,0,0,9856,9857,7,22,0,0,9857,9858,7,7,0,0,9858,9859,7,19,0,0,9859,9860,7,23,0,0,9860,9861,7,14,0,0,9861,9862,7,19,0,0,9862,9863,7,5,0,0,9863,9864,7,5,0,0,9864,9865,7,7,0,0,9865,9866,7,14,0,0,9866,9867,7,6,0,0,9867,9868,7,15,0,0,9868,9869,7,19,0,0,9869,9870,7,12,0,0,9870,1608,1,0,0,0,9871,9872,7,22,0,0,9872,9873,7,7,0,0,9873,9874,7,19,0,0,9874,9875,7,23,0,0,9875,9876,7,7,0,0,9876,9877,7,6,0,0,9877,9878,7,8,0,0,9878,9879,7,10,0,0,9879,1610,1,0,0,0,9880,9881,7,5,0,0,9881,9882,7,15,0,0,9882,9883,7,12,0,0,9883,9884,7,7,0,0,9884,9885,7,11,0,0,9885,9886,7,6,0,0,9886,9887,7,8,0,0,9887,9888,7,15,0,0,9888,9889,7,12,0,0,9889,9890,7,22,0,0,9890,1612,1,0,0,0,9891,9892,7,23,0,0,9892,9893,7,17,0,0,9893,9894,7,5,0,0,9894,9895,7,6,0,0,9895,9896,7,15,0,0,9896,9897,7,5,0,0,9897,9898,7,15,0,0,9898,9899,7,12,0,0,9899,9900,7,7,0,0,9900,9901,7,11,0,0,9901,9902,7,6,0,0,9902,9903,7,8,0,0,9903,9904,7,15,0,0,9904,9905,7,12,0,0,9905,9906,7,22,0,0,9906,1614,1,0,0,0,9907,9908,7,23,0,0,9908,9909,7,17,0,0,9909,9910,7,5,0,0,9910,9911,7,6,0,0,9911,9912,7,15,0,0,9912,9913,7,25,0,0,9913,9914,7,19,0,0,9914,9915,7,15,0,0,9915,9916,7,12,0,0,9916,9917,7,6,0,0,9917,1616,1,0,0,0,9918,9919,7,23,0,0,9919,9920,7,17,0,0,9920,9921,7,5,0,0,9921,9922,7,6,0,0,9922,9923,7,15,0,0,9923,9924,7,25,0,0,9924,9925,7,19,0,0,9925,9926,7,5,0,0,9926,9927,7,10,0,0,9927,9928,7,22,0,0,9928,9929,7,19,0,0,9929,9930,7,12,0,0,9930,1618,1,0,0,0,9931,9932,7,25,0,0,9932,9933,7,19,0,0,9933,9934,7,15,0,0,9934,9935,7,12,0,0,9935,9936,7,6,0,0,9936,1620,1,0,0,0,9937,9938,7,25,0,0,9938,9939,7,19,0,0,9939,9940,7,5,0,0,9940,9941,7,10,0,0,9941,9942,7,22,0,0,9942,9943,7,19,0,0,9943,9944,7,12,0,0,9944,1622,1,0,0,0,9945,9946,7,3,0,0,9946,9947,7,16,0,0,9947,9948,7,11,0,0,9948,1624,1,0,0,0,9949,9950,7,3,0,0,9950,9951,7,14,0,0,9951,9952,7,19,0,0,9952,9953,7,11,0,0,9953,1626,1,0,0,0,9954,9955,7,3,0,0,9955,9956,7,4,0,0,9956,9957,7,4,0,0,9957,9958,7,4,0,0,9958,9959,7,3,0,0,9959,9960,7,6,0,0,9960,9961,7,7,0,0,9961,1628,1,0,0,0,9962,9963,7,3,0,0,9963,9964,7,4,0,0,9964,9965,7,4,0,0,9965,9966,7,6,0,0,9966,9967,7,15,0,0,9967,9968,7,23,0,0,9968,9969,7,7,0,0,9969,1630,1,0,0,0,9970,9971,7,3,0,0,9971,9972,7,7,0,0,9972,9973,7,11,0,0,9973,9974,5,95,0,0,9974,9975,7,4,0,0,9975,9976,7,7,0,0,9976,9977,7,14,0,0,9977,9978,7,8,0,0,9978,9979,7,10,0,0,9979,9980,7,25,0,0,9980,9981,7,6,0,0,9981,1632,1,0,0,0,9982,9983,7,3,0,0,9983,9984,7,7,0,0,9984,9985,7,11,0,0,9985,9986,5,95,0,0,9986,9987,7,7,0,0,9987,9988,7,12,0,0,9988,9989,7,14,0,0,9989,9990,7,8,0,0,9990,9991,7,10,0,0,9991,9992,7,25,0,0,9992,9993,7,6,0,0,9993,1634,1,0,0,0,9994,9995,7,3,0,0,9995,9996,7,8,0,0,9996,9997,7,7,0,0,9997,9998,7,3,0,0,9998,1636,1,0,0,0,9999,1e4,7,3,0,0,1e4,10001,7,11,0,0,10001,10002,7,16,0,0,10002,10003,7,15,0,0,10003,10004,7,12,0,0,10004,10005,7,3,0,0,10005,10006,7,8,0,0,10006,10007,7,10,0,0,10007,1638,1,0,0,0,10008,10009,7,3,0,0,10009,10010,7,11,0,0,10010,10011,7,15,0,0,10011,10012,7,12,0,0,10012,1640,1,0,0,0,10013,10014,7,3,0,0,10014,10015,7,11,0,0,10015,10016,7,6,0,0,10016,10017,7,7,0,0,10017,10018,7,26,0,0,10018,10019,7,6,0,0,10019,1642,1,0,0,0,10020,10021,7,3,0,0,10021,10022,7,11,0,0,10022,10023,7,9,0,0,10023,10024,7,21,0,0,10024,10025,7,16,0,0,10025,1644,1,0,0,0,10026,10027,7,3,0,0,10027,10028,7,11,0,0,10028,10029,7,9,0,0,10029,10030,7,21,0,0,10030,10031,7,6,0,0,10031,1646,1,0,0,0,10032,10033,7,3,0,0,10033,10034,7,11,0,0,10034,10035,7,10,0,0,10035,10036,7,23,0,0,10036,10037,7,23,0,0,10037,10038,7,7,0,0,10038,10039,7,6,0,0,10039,10040,7,8,0,0,10040,10041,7,15,0,0,10041,10042,7,14,0,0,10042,10043,5,95,0,0,10043,10044,7,4,0,0,10044,10045,7,7,0,0,10045,10046,7,14,0,0,10046,10047,7,8,0,0,10047,10048,7,10,0,0,10048,10049,7,25,0,0,10049,10050,7,6,0,0,10050,1648,1,0,0,0,10051,10052,7,3,0,0,10052,10053,7,11,0,0,10053,10054,7,10,0,0,10054,10055,7,23,0,0,10055,10056,7,23,0,0,10056,10057,7,7,0,0,10057,10058,7,6,0,0,10058,10059,7,8,0,0,10059,10060,7,15,0,0,10060,10061,7,14,0,0,10061,10062,5,95,0,0,10062,10063,7,4,0,0,10063,10064,7,7,0,0,10064,10065,7,8,0,0,10065,10066,7,15,0,0,10066,10067,7,24,0,0,10067,10068,7,7,0,0,10068,1650,1,0,0,0,10069,10070,7,3,0,0,10070,10071,7,11,0,0,10071,10072,7,10,0,0,10072,10073,7,23,0,0,10073,10074,7,23,0,0,10074,10075,7,7,0,0,10075,10076,7,6,0,0,10076,10077,7,8,0,0,10077,10078,7,15,0,0,10078,10079,7,14,0,0,10079,10080,5,95,0,0,10080,10081,7,7,0,0,10081,10082,7,12,0,0,10082,10083,7,14,0,0,10083,10084,7,8,0,0,10084,10085,7,10,0,0,10085,10086,7,25,0,0,10086,10087,7,6,0,0,10087,1652,1,0,0,0,10088,10089,7,3,0,0,10089,10090,7,11,0,0,10090,10091,7,10,0,0,10091,10092,7,23,0,0,10092,10093,7,23,0,0,10093,10094,7,7,0,0,10094,10095,7,6,0,0,10095,10096,7,8,0,0,10096,10097,7,15,0,0,10097,10098,7,14,0,0,10098,10099,5,95,0,0,10099,10100,7,11,0,0,10100,10101,7,15,0,0,10101,10102,7,22,0,0,10102,10103,7,12,0,0,10103,1654,1,0,0,0,10104,10105,7,3,0,0,10105,10106,7,11,0,0,10106,10107,7,10,0,0,10107,10108,7,23,0,0,10108,10109,7,23,0,0,10109,10110,7,7,0,0,10110,10111,7,6,0,0,10111,10112,7,8,0,0,10112,10113,7,15,0,0,10113,10114,7,14,0,0,10114,10115,5,95,0,0,10115,10116,7,24,0,0,10116,10117,7,7,0,0,10117,10118,7,8,0,0,10118,10119,7,15,0,0,10119,10120,7,18,0,0,10120,10121,7,10,0,0,10121,1656,1,0,0,0,10122,10123,7,3,0,0,10123,10124,7,6,0,0,10124,10125,7,3,0,0,10125,10126,7,12,0,0,10126,1658,1,0,0,0,10127,10128,7,3,0,0,10128,10129,7,6,0,0,10129,10130,7,3,0,0,10130,10131,7,12,0,0,10131,10132,5,50,0,0,10132,1660,1,0,0,0,10133,10134,7,16,0,0,10134,10135,7,7,0,0,10135,10136,7,12,0,0,10136,10137,7,14,0,0,10137,10138,7,20,0,0,10138,10139,7,23,0,0,10139,10140,7,3,0,0,10140,10141,7,8,0,0,10141,10142,7,21,0,0,10142,1662,1,0,0,0,10143,10144,7,16,0,0,10144,10145,7,15,0,0,10145,10146,7,12,0,0,10146,1664,1,0,0,0,10147,10148,7,16,0,0,10148,10149,7,15,0,0,10149,10150,7,6,0,0,10150,10151,5,95,0,0,10151,10152,7,14,0,0,10152,10153,7,19,0,0,10153,10154,7,17,0,0,10154,10155,7,12,0,0,10155,10156,7,6,0,0,10156,1666,1,0,0,0,10157,10158,7,16,0,0,10158,10159,7,15,0,0,10159,10160,7,6,0,0,10160,10161,5,95,0,0,10161,10162,7,5,0,0,10162,10163,7,7,0,0,10163,10164,7,12,0,0,10164,10165,7,22,0,0,10165,10166,7,6,0,0,10166,10167,7,20,0,0,10167,1668,1,0,0,0,10168,10169,7,16,0,0,10169,10170,7,17,0,0,10170,10171,7,18,0,0,10171,10172,7,18,0,0,10172,10173,7,7,0,0,10173,10174,7,8,0,0,10174,1670,1,0,0,0,10175,10176,7,14,0,0,10176,10177,7,3,0,0,10177,10178,7,6,0,0,10178,10179,7,3,0,0,10179,10180,7,5,0,0,10180,10181,7,19,0,0,10181,10182,7,22,0,0,10182,10183,5,95,0,0,10183,10184,7,12,0,0,10184,10185,7,3,0,0,10185,10186,7,23,0,0,10186,10187,7,7,0,0,10187,1672,1,0,0,0,10188,10189,7,14,0,0,10189,10190,7,7,0,0,10190,10191,7,15,0,0,10191,10192,7,5,0,0,10192,1674,1,0,0,0,10193,10194,7,14,0,0,10194,10195,7,7,0,0,10195,10196,7,15,0,0,10196,10197,7,5,0,0,10197,10198,7,15,0,0,10198,10199,7,12,0,0,10199,10200,7,22,0,0,10200,1676,1,0,0,0,10201,10202,7,14,0,0,10202,10203,7,7,0,0,10203,10204,7,12,0,0,10204,10205,7,6,0,0,10205,10206,7,8,0,0,10206,10207,7,19,0,0,10207,10208,7,15,0,0,10208,10209,7,4,0,0,10209,1678,1,0,0,0,10210,10211,7,14,0,0,10211,10212,7,20,0,0,10212,10213,7,3,0,0,10213,10214,7,8,0,0,10214,10215,7,3,0,0,10215,10216,7,14,0,0,10216,10217,7,6,0,0,10217,10218,7,7,0,0,10218,10219,7,8,0,0,10219,10220,5,95,0,0,10220,10221,7,5,0,0,10221,10222,7,7,0,0,10222,10223,7,12,0,0,10223,10224,7,22,0,0,10224,10225,7,6,0,0,10225,10226,7,20,0,0,10226,1680,1,0,0,0,10227,10228,7,14,0,0,10228,10229,7,20,0,0,10229,10230,7,3,0,0,10230,10231,7,8,0,0,10231,10232,7,11,0,0,10232,10233,7,7,0,0,10233,10234,7,6,0,0,10234,1682,1,0,0,0,10235,10236,7,14,0,0,10236,10237,7,20,0,0,10237,10238,7,3,0,0,10238,10239,7,8,0,0,10239,10240,5,95,0,0,10240,10241,7,5,0,0,10241,10242,7,7,0,0,10242,10243,7,12,0,0,10243,10244,7,22,0,0,10244,10245,7,6,0,0,10245,10246,7,20,0,0,10246,1684,1,0,0,0,10247,10248,7,14,0,0,10248,10249,7,19,0,0,10249,10250,7,7,0,0,10250,10251,7,8,0,0,10251,10252,7,14,0,0,10252,10253,7,15,0,0,10253,10254,7,16,0,0,10254,10255,7,15,0,0,10255,10256,7,5,0,0,10256,10257,7,15,0,0,10257,10258,7,6,0,0,10258,10259,7,10,0,0,10259,1686,1,0,0,0,10260,10261,7,14,0,0,10261,10262,7,19,0,0,10262,10263,7,5,0,0,10263,10264,7,5,0,0,10264,10265,7,3,0,0,10265,10266,7,6,0,0,10266,10267,7,15,0,0,10267,10268,7,19,0,0,10268,10269,7,12,0,0,10269,1688,1,0,0,0,10270,10271,7,14,0,0,10271,10272,7,19,0,0,10272,10273,7,23,0,0,10273,10274,7,25,0,0,10274,10275,7,8,0,0,10275,10276,7,7,0,0,10276,10277,7,11,0,0,10277,10278,7,11,0,0,10278,1690,1,0,0,0,10279,10280,7,14,0,0,10280,10281,7,19,0,0,10281,10282,7,12,0,0,10282,10283,7,14,0,0,10283,10284,7,3,0,0,10284,10285,7,6,0,0,10285,1692,1,0,0,0,10286,10287,7,14,0,0,10287,10288,7,19,0,0,10288,10289,7,12,0,0,10289,10290,7,14,0,0,10290,10291,7,3,0,0,10291,10292,7,6,0,0,10292,10293,5,95,0,0,10293,10294,7,9,0,0,10294,10295,7,11,0,0,10295,1694,1,0,0,0,10296,10297,7,14,0,0,10297,10298,7,19,0,0,10298,10299,7,12,0,0,10299,10300,7,12,0,0,10300,10301,7,7,0,0,10301,10302,7,14,0,0,10302,10303,7,6,0,0,10303,10304,7,15,0,0,10304,10305,7,19,0,0,10305,10306,7,12,0,0,10306,10307,5,95,0,0,10307,10308,7,15,0,0,10308,10309,7,4,0,0,10309,1696,1,0,0,0,10310,10311,7,14,0,0,10311,10312,7,19,0,0,10312,10313,7,12,0,0,10313,10314,7,24,0,0,10314,1698,1,0,0,0,10315,10316,7,14,0,0,10316,10317,7,19,0,0,10317,10318,7,12,0,0,10318,10319,7,24,0,0,10319,10320,7,7,0,0,10320,10321,7,8,0,0,10321,10322,7,6,0,0,10322,10323,5,95,0,0,10323,10324,7,6,0,0,10324,10325,7,13,0,0,10325,1700,1,0,0,0,10326,10327,7,14,0,0,10327,10328,7,19,0,0,10328,10329,7,11,0,0,10329,1702,1,0,0,0,10330,10331,7,14,0,0,10331,10332,7,19,0,0,10332,10333,7,6,0,0,10333,1704,1,0,0,0,10334,10335,7,14,0,0,10335,10336,7,8,0,0,10336,10337,7,14,0,0,10337,10338,5,51,0,0,10338,10339,5,50,0,0,10339,1706,1,0,0,0,10340,10341,7,14,0,0,10341,10342,7,8,0,0,10342,10343,7,7,0,0,10343,10344,7,3,0,0,10344,10345,7,6,0,0,10345,10346,7,7,0,0,10346,10347,5,95,0,0,10347,10348,7,3,0,0,10348,10349,7,11,0,0,10349,10350,7,10,0,0,10350,10351,7,23,0,0,10351,10352,7,23,0,0,10352,10353,7,7,0,0,10353,10354,7,6,0,0,10354,10355,7,8,0,0,10355,10356,7,15,0,0,10356,10357,7,14,0,0,10357,10358,5,95,0,0,10358,10359,7,25,0,0,10359,10360,7,8,0,0,10360,10361,7,15,0,0,10361,10362,7,24,0,0,10362,10363,5,95,0,0,10363,10364,7,21,0,0,10364,10365,7,7,0,0,10365,10366,7,10,0,0,10366,1708,1,0,0,0,10367,10368,7,14,0,0,10368,10369,7,8,0,0,10369,10370,7,7,0,0,10370,10371,7,3,0,0,10371,10372,7,6,0,0,10372,10373,7,7,0,0,10373,10374,5,95,0,0,10374,10375,7,3,0,0,10375,10376,7,11,0,0,10376,10377,7,10,0,0,10377,10378,7,23,0,0,10378,10379,7,23,0,0,10379,10380,7,7,0,0,10380,10381,7,6,0,0,10381,10382,7,8,0,0,10382,10383,7,15,0,0,10383,10384,7,14,0,0,10384,10385,5,95,0,0,10385,10386,7,25,0,0,10386,10387,7,17,0,0,10387,10388,7,16,0,0,10388,10389,5,95,0,0,10389,10390,7,21,0,0,10390,10391,7,7,0,0,10391,10392,7,10,0,0,10392,1710,1,0,0,0,10393,10394,7,14,0,0,10394,10395,7,8,0,0,10395,10396,7,7,0,0,10396,10397,7,3,0,0,10397,10398,7,6,0,0,10398,10399,7,7,0,0,10399,10400,5,95,0,0,10400,10401,7,4,0,0,10401,10402,7,20,0,0,10402,10403,5,95,0,0,10403,10404,7,25,0,0,10404,10405,7,3,0,0,10405,10406,7,8,0,0,10406,10407,7,3,0,0,10407,10408,7,23,0,0,10408,10409,7,7,0,0,10409,10410,7,6,0,0,10410,10411,7,7,0,0,10411,10412,7,8,0,0,10412,10413,7,11,0,0,10413,1712,1,0,0,0,10414,10415,7,14,0,0,10415,10416,7,8,0,0,10416,10417,7,7,0,0,10417,10418,7,3,0,0,10418,10419,7,6,0,0,10419,10420,7,7,0,0,10420,10421,5,95,0,0,10421,10422,7,4,0,0,10422,10423,7,15,0,0,10423,10424,7,22,0,0,10424,10425,7,7,0,0,10425,10426,7,11,0,0,10426,10427,7,6,0,0,10427,1714,1,0,0,0,10428,10429,7,14,0,0,10429,10430,7,8,0,0,10430,10431,7,19,0,0,10431,10432,7,11,0,0,10432,10433,7,11,0,0,10433,10434,7,7,0,0,10434,10435,7,11,0,0,10435,1716,1,0,0,0,10436,10437,7,4,0,0,10437,10438,7,3,0,0,10438,10439,7,6,0,0,10439,10440,7,7,0,0,10440,10441,7,4,0,0,10441,10442,7,15,0,0,10442,10443,7,18,0,0,10443,10444,7,18,0,0,10444,1718,1,0,0,0,10445,10446,7,4,0,0,10446,10447,7,3,0,0,10447,10448,7,6,0,0,10448,10449,7,7,0,0,10449,10450,5,95,0,0,10450,10451,7,18,0,0,10451,10452,7,19,0,0,10452,10453,7,8,0,0,10453,10454,7,23,0,0,10454,10455,7,3,0,0,10455,10456,7,6,0,0,10456,1720,1,0,0,0,10457,10458,7,4,0,0,10458,10459,7,3,0,0,10459,10460,7,10,0,0,10460,10461,7,12,0,0,10461,10462,7,3,0,0,10462,10463,7,23,0,0,10463,10464,7,7,0,0,10464,1722,1,0,0,0,10465,10466,7,4,0,0,10466,10467,7,3,0,0,10467,10468,7,10,0,0,10468,10469,7,19,0,0,10469,10470,7,18,0,0,10470,10471,7,23,0,0,10471,10472,7,19,0,0,10472,10473,7,12,0,0,10473,10474,7,6,0,0,10474,10475,7,20,0,0,10475,1724,1,0,0,0,10476,10477,7,4,0,0,10477,10478,7,3,0,0,10478,10479,7,10,0,0,10479,10480,7,19,0,0,10480,10481,7,18,0,0,10481,10482,7,9,0,0,10482,10483,7,7,0,0,10483,10484,7,7,0,0,10484,10485,7,21,0,0,10485,1726,1,0,0,0,10486,10487,7,4,0,0,10487,10488,7,3,0,0,10488,10489,7,10,0,0,10489,10490,7,19,0,0,10490,10491,7,18,0,0,10491,10492,7,10,0,0,10492,10493,7,7,0,0,10493,10494,7,3,0,0,10494,10495,7,8,0,0,10495,1728,1,0,0,0,10496,10497,7,4,0,0,10497,10498,7,7,0,0,10498,10499,7,14,0,0,10499,10500,7,19,0,0,10500,10501,7,4,0,0,10501,10502,7,7,0,0,10502,1730,1,0,0,0,10503,10504,7,4,0,0,10504,10505,7,7,0,0,10505,10506,7,22,0,0,10506,10507,7,8,0,0,10507,10508,7,7,0,0,10508,10509,7,7,0,0,10509,10510,7,11,0,0,10510,1732,1,0,0,0,10511,10512,7,4,0,0,10512,10513,7,7,0,0,10513,10514,7,11,0,0,10514,10515,5,95,0,0,10515,10516,7,4,0,0,10516,10517,7,7,0,0,10517,10518,7,14,0,0,10518,10519,7,8,0,0,10519,10520,7,10,0,0,10520,10521,7,25,0,0,10521,10522,7,6,0,0,10522,1734,1,0,0,0,10523,10524,7,4,0,0,10524,10525,7,7,0,0,10525,10526,7,11,0,0,10526,10527,5,95,0,0,10527,10528,7,7,0,0,10528,10529,7,12,0,0,10529,10530,7,14,0,0,10530,10531,7,8,0,0,10531,10532,7,10,0,0,10532,10533,7,25,0,0,10533,10534,7,6,0,0,10534,1736,1,0,0,0,10535,10536,7,4,0,0,10536,10537,7,15,0,0,10537,10538,7,23,0,0,10538,10539,7,7,0,0,10539,10540,7,12,0,0,10540,10541,7,11,0,0,10541,10542,7,15,0,0,10542,10543,7,19,0,0,10543,10544,7,12,0,0,10544,1738,1,0,0,0,10545,10546,7,4,0,0,10546,10547,7,15,0,0,10547,10548,7,11,0,0,10548,10549,7,27,0,0,10549,10550,7,19,0,0,10550,10551,7,15,0,0,10551,10552,7,12,0,0,10552,10553,7,6,0,0,10553,1740,1,0,0,0,10554,10555,7,7,0,0,10555,10556,7,5,0,0,10556,10557,7,6,0,0,10557,1742,1,0,0,0,10558,10559,7,7,0,0,10559,10560,7,12,0,0,10560,10561,7,14,0,0,10561,10562,7,19,0,0,10562,10563,7,4,0,0,10563,10564,7,7,0,0,10564,1744,1,0,0,0,10565,10566,7,7,0,0,10566,10567,7,12,0,0,10567,10568,7,14,0,0,10568,10569,7,8,0,0,10569,10570,7,10,0,0,10570,10571,7,25,0,0,10571,10572,7,6,0,0,10572,1746,1,0,0,0,10573,10574,7,7,0,0,10574,10575,7,12,0,0,10575,10576,7,4,0,0,10576,10577,7,25,0,0,10577,10578,7,19,0,0,10578,10579,7,15,0,0,10579,10580,7,12,0,0,10580,10581,7,6,0,0,10581,1748,1,0,0,0,10582,10583,7,7,0,0,10583,10584,7,12,0,0,10584,10585,7,22,0,0,10585,10586,7,15,0,0,10586,10587,7,12,0,0,10587,10588,7,7,0,0,10588,10589,5,95,0,0,10589,10590,7,3,0,0,10590,10591,7,6,0,0,10591,10592,7,6,0,0,10592,10593,7,8,0,0,10593,10594,7,15,0,0,10594,10595,7,16,0,0,10595,10596,7,17,0,0,10596,10597,7,6,0,0,10597,10598,7,7,0,0,10598,1750,1,0,0,0,10599,10600,7,7,0,0,10600,10601,7,12,0,0,10601,10602,7,24,0,0,10602,10603,7,7,0,0,10603,10604,7,5,0,0,10604,10605,7,19,0,0,10605,10606,7,25,0,0,10606,10607,7,7,0,0,10607,1752,1,0,0,0,10608,10609,7,7,0,0,10609,10610,7,28,0,0,10610,10611,7,17,0,0,10611,10612,7,3,0,0,10612,10613,7,5,0,0,10613,10614,7,11,0,0,10614,1754,1,0,0,0,10615,10616,7,7,0,0,10616,10617,7,26,0,0,10617,10618,7,25,0,0,10618,1756,1,0,0,0,10619,10620,7,7,0,0,10620,10621,7,26,0,0,10621,10622,7,25,0,0,10622,10623,7,19,0,0,10623,10624,7,8,0,0,10624,10625,7,6,0,0,10625,10626,5,95,0,0,10626,10627,7,11,0,0,10627,10628,7,7,0,0,10628,10629,7,6,0,0,10629,1758,1,0,0,0,10630,10631,7,7,0,0,10631,10632,7,26,0,0,10632,10633,7,6,0,0,10633,10634,7,7,0,0,10634,10635,7,8,0,0,10635,10636,7,15,0,0,10636,10637,7,19,0,0,10637,10638,7,8,0,0,10638,10639,7,8,0,0,10639,10640,7,15,0,0,10640,10641,7,12,0,0,10641,10642,7,22,0,0,10642,1760,1,0,0,0,10643,10644,7,7,0,0,10644,10645,7,26,0,0,10645,10646,7,6,0,0,10646,10647,7,8,0,0,10647,10648,7,3,0,0,10648,10649,7,14,0,0,10649,10650,7,6,0,0,10650,10651,7,24,0,0,10651,10652,7,3,0,0,10652,10653,7,5,0,0,10653,10654,7,17,0,0,10654,10655,7,7,0,0,10655,1762,1,0,0,0,10656,10657,7,18,0,0,10657,10658,7,15,0,0,10658,10659,7,7,0,0,10659,10660,7,5,0,0,10660,10661,7,4,0,0,10661,1764,1,0,0,0,10662,10663,7,18,0,0,10663,10664,7,15,0,0,10664,10665,7,12,0,0,10665,10666,7,4,0,0,10666,10667,5,95,0,0,10667,10668,7,15,0,0,10668,10669,7,12,0,0,10669,10670,5,95,0,0,10670,10671,7,11,0,0,10671,10672,7,7,0,0,10672,10673,7,6,0,0,10673,1766,1,0,0,0,10674,10675,7,18,0,0,10675,10676,7,5,0,0,10676,10677,7,19,0,0,10677,10678,7,19,0,0,10678,10679,7,8,0,0,10679,1768,1,0,0,0,10680,10681,7,18,0,0,10681,10682,7,19,0,0,10682,10683,7,8,0,0,10683,10684,7,23,0,0,10684,10685,7,3,0,0,10685,10686,7,6,0,0,10686,1770,1,0,0,0,10687,10688,7,18,0,0,10688,10689,7,19,0,0,10689,10690,7,17,0,0,10690,10691,7,12,0,0,10691,10692,7,4,0,0,10692,10693,5,95,0,0,10693,10694,7,8,0,0,10694,10695,7,19,0,0,10695,10696,7,9,0,0,10696,10697,7,11,0,0,10697,1772,1,0,0,0,10698,10699,7,18,0,0,10699,10700,7,8,0,0,10700,10701,7,19,0,0,10701,10702,7,23,0,0,10702,10703,5,95,0,0,10703,10704,7,16,0,0,10704,10705,7,3,0,0,10705,10706,7,11,0,0,10706,10707,7,7,0,0,10707,10708,5,54,0,0,10708,10709,5,52,0,0,10709,1774,1,0,0,0,10710,10711,7,18,0,0,10711,10712,7,8,0,0,10712,10713,7,19,0,0,10713,10714,7,23,0,0,10714,10715,5,95,0,0,10715,10716,7,4,0,0,10716,10717,7,3,0,0,10717,10718,7,10,0,0,10718,10719,7,11,0,0,10719,1776,1,0,0,0,10720,10721,7,18,0,0,10721,10722,7,8,0,0,10722,10723,7,19,0,0,10723,10724,7,23,0,0,10724,10725,5,95,0,0,10725,10726,7,17,0,0,10726,10727,7,12,0,0,10727,10728,7,15,0,0,10728,10729,7,26,0,0,10729,10730,7,6,0,0,10730,10731,7,15,0,0,10731,10732,7,23,0,0,10732,10733,7,7,0,0,10733,1778,1,0,0,0,10734,10735,7,22,0,0,10735,10736,7,7,0,0,10736,10737,7,19,0,0,10737,10738,7,23,0,0,10738,10739,7,14,0,0,10739,10740,7,19,0,0,10740,10741,7,5,0,0,10741,10742,7,5,0,0,10742,10743,7,18,0,0,10743,10744,7,8,0,0,10744,10745,7,19,0,0,10745,10746,7,23,0,0,10746,10747,7,6,0,0,10747,10748,7,7,0,0,10748,10749,7,26,0,0,10749,10750,7,6,0,0,10750,1780,1,0,0,0,10751,10752,7,22,0,0,10752,10753,7,7,0,0,10753,10754,7,19,0,0,10754,10755,7,23,0,0,10755,10756,7,14,0,0,10756,10757,7,19,0,0,10757,10758,7,5,0,0,10758,10759,7,5,0,0,10759,10760,7,18,0,0,10760,10761,7,8,0,0,10761,10762,7,19,0,0,10762,10763,7,23,0,0,10763,10764,7,9,0,0,10764,10765,7,21,0,0,10765,10766,7,16,0,0,10766,1782,1,0,0,0,10767,10768,7,22,0,0,10768,10769,7,7,0,0,10769,10770,7,19,0,0,10770,10771,7,23,0,0,10771,10772,7,7,0,0,10772,10773,7,6,0,0,10773,10774,7,8,0,0,10774,10775,7,10,0,0,10775,10776,7,14,0,0,10776,10777,7,19,0,0,10777,10778,7,5,0,0,10778,10779,7,5,0,0,10779,10780,7,7,0,0,10780,10781,7,14,0,0,10781,10782,7,6,0,0,10782,10783,7,15,0,0,10783,10784,7,19,0,0,10784,10785,7,12,0,0,10785,10786,7,18,0,0,10786,10787,7,8,0,0,10787,10788,7,19,0,0,10788,10789,7,23,0,0,10789,10790,7,6,0,0,10790,10791,7,7,0,0,10791,10792,7,26,0,0,10792,10793,7,6,0,0,10793,1784,1,0,0,0,10794,10795,7,22,0,0,10795,10796,7,7,0,0,10796,10797,7,19,0,0,10797,10798,7,23,0,0,10798,10799,7,7,0,0,10799,10800,7,6,0,0,10800,10801,7,8,0,0,10801,10802,7,10,0,0,10802,10803,7,14,0,0,10803,10804,7,19,0,0,10804,10805,7,5,0,0,10805,10806,7,5,0,0,10806,10807,7,7,0,0,10807,10808,7,14,0,0,10808,10809,7,6,0,0,10809,10810,7,15,0,0,10810,10811,7,19,0,0,10811,10812,7,12,0,0,10812,10813,7,18,0,0,10813,10814,7,8,0,0,10814,10815,7,19,0,0,10815,10816,7,23,0,0,10816,10817,7,9,0,0,10817,10818,7,21,0,0,10818,10819,7,16,0,0,10819,1786,1,0,0,0,10820,10821,7,22,0,0,10821,10822,7,7,0,0,10822,10823,7,19,0,0,10823,10824,7,23,0,0,10824,10825,7,7,0,0,10825,10826,7,6,0,0,10826,10827,7,8,0,0,10827,10828,7,10,0,0,10828,10829,7,18,0,0,10829,10830,7,8,0,0,10830,10831,7,19,0,0,10831,10832,7,23,0,0,10832,10833,7,6,0,0,10833,10834,7,7,0,0,10834,10835,7,26,0,0,10835,10836,7,6,0,0,10836,1788,1,0,0,0,10837,10838,7,22,0,0,10838,10839,7,7,0,0,10839,10840,7,19,0,0,10840,10841,7,23,0,0,10841,10842,7,7,0,0,10842,10843,7,6,0,0,10843,10844,7,8,0,0,10844,10845,7,10,0,0,10845,10846,7,18,0,0,10846,10847,7,8,0,0,10847,10848,7,19,0,0,10848,10849,7,23,0,0,10849,10850,7,9,0,0,10850,10851,7,21,0,0,10851,10852,7,16,0,0,10852,1790,1,0,0,0,10853,10854,7,22,0,0,10854,10855,7,7,0,0,10855,10856,7,19,0,0,10856,10857,7,23,0,0,10857,10858,7,7,0,0,10858,10859,7,6,0,0,10859,10860,7,8,0,0,10860,10861,7,10,0,0,10861,10862,7,12,0,0,10862,1792,1,0,0,0,10863,10864,7,22,0,0,10864,10865,7,7,0,0,10865,10866,7,19,0,0,10866,10867,7,23,0,0,10867,10868,7,7,0,0,10868,10869,7,6,0,0,10869,10870,7,8,0,0,10870,10871,7,10,0,0,10871,10872,7,6,0,0,10872,10873,7,10,0,0,10873,10874,7,25,0,0,10874,10875,7,7,0,0,10875,1794,1,0,0,0,10876,10877,7,22,0,0,10877,10878,7,7,0,0,10878,10879,7,19,0,0,10879,10880,7,23,0,0,10880,10881,7,18,0,0,10881,10882,7,8,0,0,10882,10883,7,19,0,0,10883,10884,7,23,0,0,10884,10885,7,6,0,0,10885,10886,7,7,0,0,10886,10887,7,26,0,0,10887,10888,7,6,0,0,10888,1796,1,0,0,0,10889,10890,7,22,0,0,10890,10891,7,7,0,0,10891,10892,7,19,0,0,10892,10893,7,23,0,0,10893,10894,7,18,0,0,10894,10895,7,8,0,0,10895,10896,7,19,0,0,10896,10897,7,23,0,0,10897,10898,7,9,0,0,10898,10899,7,21,0,0,10899,10900,7,16,0,0,10900,1798,1,0,0,0,10901,10902,7,22,0,0,10902,10903,7,7,0,0,10903,10904,7,6,0,0,10904,10905,5,95,0,0,10905,10906,7,18,0,0,10906,10907,7,19,0,0,10907,10908,7,8,0,0,10908,10909,7,23,0,0,10909,10910,7,3,0,0,10910,10911,7,6,0,0,10911,1800,1,0,0,0,10912,10913,7,22,0,0,10913,10914,7,7,0,0,10914,10915,7,6,0,0,10915,10916,5,95,0,0,10916,10917,7,5,0,0,10917,10918,7,19,0,0,10918,10919,7,14,0,0,10919,10920,7,21,0,0,10920,1802,1,0,0,0,10921,10922,7,22,0,0,10922,10923,7,5,0,0,10923,10924,7,7,0,0,10924,10925,7,12,0,0,10925,10926,7,22,0,0,10926,10927,7,6,0,0,10927,10928,7,20,0,0,10928,1804,1,0,0,0,10929,10930,7,22,0,0,10930,10931,7,8,0,0,10931,10932,7,7,0,0,10932,10933,7,3,0,0,10933,10934,7,6,0,0,10934,10935,7,7,0,0,10935,10936,7,11,0,0,10936,10937,7,6,0,0,10937,1806,1,0,0,0,10938,10939,7,22,0,0,10939,10940,7,6,0,0,10940,10941,7,15,0,0,10941,10942,7,4,0,0,10942,10943,5,95,0,0,10943,10944,7,11,0,0,10944,10945,7,17,0,0,10945,10946,7,16,0,0,10946,10947,7,11,0,0,10947,10948,7,7,0,0,10948,10949,7,6,0,0,10949,1808,1,0,0,0,10950,10951,7,22,0,0,10951,10952,7,6,0,0,10952,10953,7,15,0,0,10953,10954,7,4,0,0,10954,10955,5,95,0,0,10955,10956,7,11,0,0,10956,10957,7,17,0,0,10957,10958,7,16,0,0,10958,10959,7,6,0,0,10959,10960,7,8,0,0,10960,10961,7,3,0,0,10961,10962,7,14,0,0,10962,10963,7,6,0,0,10963,1810,1,0,0,0,10964,10965,7,20,0,0,10965,10966,7,7,0,0,10966,10967,7,26,0,0,10967,1812,1,0,0,0,10968,10969,7,15,0,0,10969,10970,7,18,0,0,10970,10971,7,12,0,0,10971,10972,7,17,0,0,10972,10973,7,5,0,0,10973,10974,7,5,0,0,10974,1814,1,0,0,0,10975,10976,7,15,0,0,10976,10977,7,12,0,0,10977,10978,7,7,0,0,10978,10979,7,6,0,0,10979,10980,5,54,0,0,10980,10981,5,95,0,0,10981,10982,7,3,0,0,10982,10983,7,6,0,0,10983,10984,7,19,0,0,10984,10985,7,12,0,0,10985,1816,1,0,0,0,10986,10987,7,15,0,0,10987,10988,7,12,0,0,10988,10989,7,7,0,0,10989,10990,7,6,0,0,10990,10991,5,54,0,0,10991,10992,5,95,0,0,10992,10993,7,12,0,0,10993,10994,7,6,0,0,10994,10995,7,19,0,0,10995,10996,7,3,0,0,10996,1818,1,0,0,0,10997,10998,7,15,0,0,10998,10999,7,12,0,0,10999,11e3,7,7,0,0,11e3,11001,7,6,0,0,11001,11002,5,95,0,0,11002,11003,7,3,0,0,11003,11004,7,6,0,0,11004,11005,7,19,0,0,11005,11006,7,12,0,0,11006,1820,1,0,0,0,11007,11008,7,15,0,0,11008,11009,7,12,0,0,11009,11010,7,7,0,0,11010,11011,7,6,0,0,11011,11012,5,95,0,0,11012,11013,7,12,0,0,11013,11014,7,6,0,0,11014,11015,7,19,0,0,11015,11016,7,3,0,0,11016,1822,1,0,0,0,11017,11018,7,15,0,0,11018,11019,7,12,0,0,11019,11020,7,11,0,0,11020,11021,7,6,0,0,11021,11022,7,8,0,0,11022,1824,1,0,0,0,11023,11024,7,15,0,0,11024,11025,7,12,0,0,11025,11026,7,6,0,0,11026,11027,7,7,0,0,11027,11028,7,8,0,0,11028,11029,7,15,0,0,11029,11030,7,19,0,0,11030,11031,7,8,0,0,11031,11032,7,8,0,0,11032,11033,7,15,0,0,11033,11034,7,12,0,0,11034,11035,7,22,0,0,11035,11036,7,12,0,0,11036,1826,1,0,0,0,11037,11038,7,15,0,0,11038,11039,7,12,0,0,11039,11040,7,6,0,0,11040,11041,7,7,0,0,11041,11042,7,8,0,0,11042,11043,7,11,0,0,11043,11044,7,7,0,0,11044,11045,7,14,0,0,11045,11046,7,6,0,0,11046,11047,7,11,0,0,11047,1828,1,0,0,0,11048,11049,7,15,0,0,11049,11050,7,11,0,0,11050,11051,7,14,0,0,11051,11052,7,5,0,0,11052,11053,7,19,0,0,11053,11054,7,11,0,0,11054,11055,7,7,0,0,11055,11056,7,4,0,0,11056,1830,1,0,0,0,11057,11058,7,15,0,0,11058,11059,7,11,0,0,11059,11060,7,7,0,0,11060,11061,7,23,0,0,11061,11062,7,25,0,0,11062,11063,7,6,0,0,11063,11064,7,10,0,0,11064,1832,1,0,0,0,11065,11066,7,15,0,0,11066,11067,7,11,0,0,11067,11068,7,12,0,0,11068,11069,7,17,0,0,11069,11070,7,5,0,0,11070,11071,7,5,0,0,11071,1834,1,0,0,0,11072,11073,7,15,0,0,11073,11074,7,11,0,0,11074,11075,7,11,0,0,11075,11076,7,15,0,0,11076,11077,7,23,0,0,11077,11078,7,25,0,0,11078,11079,7,5,0,0,11079,11080,7,7,0,0,11080,1836,1,0,0,0,11081,11082,7,15,0,0,11082,11083,7,11,0,0,11083,11084,5,95,0,0,11084,11085,7,18,0,0,11085,11086,7,8,0,0,11086,11087,7,7,0,0,11087,11088,7,7,0,0,11088,11089,5,95,0,0,11089,11090,7,5,0,0,11090,11091,7,19,0,0,11091,11092,7,14,0,0,11092,11093,7,21,0,0,11093,1838,1,0,0,0,11094,11095,7,15,0,0,11095,11096,7,11,0,0,11096,11097,5,95,0,0,11097,11098,7,15,0,0,11098,11099,7,25,0,0,11099,11100,7,24,0,0,11100,11101,5,52,0,0,11101,1840,1,0,0,0,11102,11103,7,15,0,0,11103,11104,7,11,0,0,11104,11105,5,95,0,0,11105,11106,7,15,0,0,11106,11107,7,25,0,0,11107,11108,7,24,0,0,11108,11109,5,52,0,0,11109,11110,5,95,0,0,11110,11111,7,14,0,0,11111,11112,7,19,0,0,11112,11113,7,23,0,0,11113,11114,7,25,0,0,11114,11115,7,3,0,0,11115,11116,7,6,0,0,11116,1842,1,0,0,0,11117,11118,7,15,0,0,11118,11119,7,11,0,0,11119,11120,5,95,0,0,11120,11121,7,15,0,0,11121,11122,7,25,0,0,11122,11123,7,24,0,0,11123,11124,5,52,0,0,11124,11125,5,95,0,0,11125,11126,7,23,0,0,11126,11127,7,3,0,0,11127,11128,7,25,0,0,11128,11129,7,25,0,0,11129,11130,7,7,0,0,11130,11131,7,4,0,0,11131,1844,1,0,0,0,11132,11133,7,15,0,0,11133,11134,7,11,0,0,11134,11135,5,95,0,0,11135,11136,7,15,0,0,11136,11137,7,25,0,0,11137,11138,7,24,0,0,11138,11139,5,54,0,0,11139,1846,1,0,0,0,11140,11141,7,15,0,0,11141,11142,7,11,0,0,11142,11143,5,95,0,0,11143,11144,7,17,0,0,11144,11145,7,11,0,0,11145,11146,7,7,0,0,11146,11147,7,4,0,0,11147,11148,5,95,0,0,11148,11149,7,5,0,0,11149,11150,7,19,0,0,11150,11151,7,14,0,0,11151,11152,7,21,0,0,11152,1848,1,0,0,0,11153,11154,7,5,0,0,11154,11155,7,3,0,0,11155,11156,7,11,0,0,11156,11157,7,6,0,0,11157,11158,5,95,0,0,11158,11159,7,15,0,0,11159,11160,7,12,0,0,11160,11161,7,11,0,0,11161,11162,7,7,0,0,11162,11163,7,8,0,0,11163,11164,7,6,0,0,11164,11165,5,95,0,0,11165,11166,7,15,0,0,11166,11167,7,4,0,0,11167,1850,1,0,0,0,11168,11169,7,5,0,0,11169,11170,7,14,0,0,11170,11171,7,3,0,0,11171,11172,7,11,0,0,11172,11173,7,7,0,0,11173,1852,1,0,0,0,11174,11175,7,5,0,0,11175,11176,7,7,0,0,11176,11177,7,3,0,0,11177,11178,7,11,0,0,11178,11179,7,6,0,0,11179,1854,1,0,0,0,11180,11181,7,5,0,0,11181,11182,7,7,0,0,11182,11183,7,12,0,0,11183,11184,7,22,0,0,11184,11185,7,6,0,0,11185,11186,7,20,0,0,11186,1856,1,0,0,0,11187,11188,7,5,0,0,11188,11189,7,15,0,0,11189,11190,7,12,0,0,11190,11191,7,7,0,0,11191,11192,7,18,0,0,11192,11193,7,8,0,0,11193,11194,7,19,0,0,11194,11195,7,23,0,0,11195,11196,7,6,0,0,11196,11197,7,7,0,0,11197,11198,7,26,0,0,11198,11199,7,6,0,0,11199,1858,1,0,0,0,11200,11201,7,5,0,0,11201,11202,7,15,0,0,11202,11203,7,12,0,0,11203,11204,7,7,0,0,11204,11205,7,18,0,0,11205,11206,7,8,0,0,11206,11207,7,19,0,0,11207,11208,7,23,0,0,11208,11209,7,9,0,0,11209,11210,7,21,0,0,11210,11211,7,16,0,0,11211,1860,1,0,0,0,11212,11213,7,5,0,0,11213,11214,7,15,0,0,11214,11215,7,12,0,0,11215,11216,7,7,0,0,11216,11217,7,11,0,0,11217,11218,7,6,0,0,11218,11219,7,8,0,0,11219,11220,7,15,0,0,11220,11221,7,12,0,0,11221,11222,7,22,0,0,11222,11223,7,18,0,0,11223,11224,7,8,0,0,11224,11225,7,19,0,0,11225,11226,7,23,0,0,11226,11227,7,6,0,0,11227,11228,7,7,0,0,11228,11229,7,26,0,0,11229,11230,7,6,0,0,11230,1862,1,0,0,0,11231,11232,7,5,0,0,11232,11233,7,15,0,0,11233,11234,7,12,0,0,11234,11235,7,7,0,0,11235,11236,7,11,0,0,11236,11237,7,6,0,0,11237,11238,7,8,0,0,11238,11239,7,15,0,0,11239,11240,7,12,0,0,11240,11241,7,22,0,0,11241,11242,7,18,0,0,11242,11243,7,8,0,0,11243,11244,7,19,0,0,11244,11245,7,23,0,0,11245,11246,7,9,0,0,11246,11247,7,21,0,0,11247,11248,7,16,0,0,11248,1864,1,0,0,0,11249,11250,7,5,0,0,11250,11251,7,12,0,0,11251,1866,1,0,0,0,11252,11253,7,5,0,0,11253,11254,7,19,0,0,11254,11255,7,3,0,0,11255,11256,7,4,0,0,11256,11257,5,95,0,0,11257,11258,7,18,0,0,11258,11259,7,15,0,0,11259,11260,7,5,0,0,11260,11261,7,7,0,0,11261,1868,1,0,0,0,11262,11263,7,5,0,0,11263,11264,7,19,0,0,11264,11265,7,14,0,0,11265,11266,7,3,0,0,11266,11267,7,6,0,0,11267,11268,7,7,0,0,11268,1870,1,0,0,0,11269,11270,7,5,0,0,11270,11271,7,19,0,0,11271,11272,7,22,0,0,11272,1872,1,0,0,0,11273,11274,7,5,0,0,11274,11275,7,19,0,0,11275,11276,7,22,0,0,11276,11277,5,49,0,0,11277,11278,5,48,0,0,11278,1874,1,0,0,0,11279,11280,7,5,0,0,11280,11281,7,19,0,0,11281,11282,7,22,0,0,11282,11283,5,50,0,0,11283,1876,1,0,0,0,11284,11285,7,5,0,0,11285,11286,7,19,0,0,11286,11287,7,9,0,0,11287,11288,7,7,0,0,11288,11289,7,8,0,0,11289,1878,1,0,0,0,11290,11291,7,5,0,0,11291,11292,7,25,0,0,11292,11293,7,3,0,0,11293,11294,7,4,0,0,11294,1880,1,0,0,0,11295,11296,7,5,0,0,11296,11297,7,6,0,0,11297,11298,7,8,0,0,11298,11299,7,15,0,0,11299,11300,7,23,0,0,11300,1882,1,0,0,0,11301,11302,7,23,0,0,11302,11303,7,3,0,0,11303,11304,7,21,0,0,11304,11305,7,7,0,0,11305,11306,7,4,0,0,11306,11307,7,3,0,0,11307,11308,7,6,0,0,11308,11309,7,7,0,0,11309,1884,1,0,0,0,11310,11311,7,23,0,0,11311,11312,7,3,0,0,11312,11313,7,21,0,0,11313,11314,7,7,0,0,11314,11315,7,6,0,0,11315,11316,7,15,0,0,11316,11317,7,23,0,0,11317,11318,7,7,0,0,11318,1886,1,0,0,0,11319,11320,7,23,0,0,11320,11321,7,3,0,0,11321,11322,7,21,0,0,11322,11323,7,7,0,0,11323,11324,5,95,0,0,11324,11325,7,11,0,0,11325,11326,7,7,0,0,11326,11327,7,6,0,0,11327,1888,1,0,0,0,11328,11329,7,23,0,0,11329,11330,7,3,0,0,11330,11331,7,11,0,0,11331,11332,7,6,0,0,11332,11333,7,7,0,0,11333,11334,7,8,0,0,11334,11335,5,95,0,0,11335,11336,7,25,0,0,11336,11337,7,19,0,0,11337,11338,7,11,0,0,11338,11339,5,95,0,0,11339,11340,7,9,0,0,11340,11341,7,3,0,0,11341,11342,7,15,0,0,11342,11343,7,6,0,0,11343,1890,1,0,0,0,11344,11345,7,23,0,0,11345,11346,7,16,0,0,11346,11347,7,8,0,0,11347,11348,7,14,0,0,11348,11349,7,19,0,0,11349,11350,7,12,0,0,11350,11351,7,6,0,0,11351,11352,7,3,0,0,11352,11353,7,15,0,0,11353,11354,7,12,0,0,11354,11355,7,11,0,0,11355,1892,1,0,0,0,11356,11357,7,23,0,0,11357,11358,7,16,0,0,11358,11359,7,8,0,0,11359,11360,7,4,0,0,11360,11361,7,15,0,0,11361,11362,7,11,0,0,11362,11363,7,27,0,0,11363,11364,7,19,0,0,11364,11365,7,15,0,0,11365,11366,7,12,0,0,11366,11367,7,6,0,0,11367,1894,1,0,0,0,11368,11369,7,23,0,0,11369,11370,7,16,0,0,11370,11371,7,8,0,0,11371,11372,7,7,0,0,11372,11373,7,28,0,0,11373,11374,7,17,0,0,11374,11375,7,3,0,0,11375,11376,7,5,0,0,11376,1896,1,0,0,0,11377,11378,7,23,0,0,11378,11379,7,16,0,0,11379,11380,7,8,0,0,11380,11381,7,15,0,0,11381,11382,7,12,0,0,11382,11383,7,6,0,0,11383,11384,7,7,0,0,11384,11385,7,8,0,0,11385,11386,7,11,0,0,11386,11387,7,7,0,0,11387,11388,7,14,0,0,11388,11389,7,6,0,0,11389,11390,7,11,0,0,11390,1898,1,0,0,0,11391,11392,7,23,0,0,11392,11393,7,16,0,0,11393,11394,7,8,0,0,11394,11395,7,19,0,0,11395,11396,7,24,0,0,11396,11397,7,7,0,0,11397,11398,7,8,0,0,11398,11399,7,5,0,0,11399,11400,7,3,0,0,11400,11401,7,25,0,0,11401,11402,7,11,0,0,11402,1900,1,0,0,0,11403,11404,7,23,0,0,11404,11405,7,16,0,0,11405,11406,7,8,0,0,11406,11407,7,6,0,0,11407,11408,7,19,0,0,11408,11409,7,17,0,0,11409,11410,7,14,0,0,11410,11411,7,20,0,0,11411,11412,7,7,0,0,11412,11413,7,11,0,0,11413,1902,1,0,0,0,11414,11415,7,23,0,0,11415,11416,7,16,0,0,11416,11417,7,8,0,0,11417,11418,7,9,0,0,11418,11419,7,15,0,0,11419,11420,7,6,0,0,11420,11421,7,20,0,0,11421,11422,7,15,0,0,11422,11423,7,12,0,0,11423,1904,1,0,0,0,11424,11425,7,23,0,0,11425,11426,7,4,0,0,11426,11427,5,53,0,0,11427,1906,1,0,0,0,11428,11429,7,23,0,0,11429,11430,7,5,0,0,11430,11431,7,15,0,0,11431,11432,7,12,0,0,11432,11433,7,7,0,0,11433,11434,7,18,0,0,11434,11435,7,8,0,0,11435,11436,7,19,0,0,11436,11437,7,23,0,0,11437,11438,7,6,0,0,11438,11439,7,7,0,0,11439,11440,7,26,0,0,11440,11441,7,6,0,0,11441,1908,1,0,0,0,11442,11443,7,23,0,0,11443,11444,7,5,0,0,11444,11445,7,15,0,0,11445,11446,7,12,0,0,11446,11447,7,7,0,0,11447,11448,7,18,0,0,11448,11449,7,8,0,0,11449,11450,7,19,0,0,11450,11451,7,23,0,0,11451,11452,7,9,0,0,11452,11453,7,21,0,0,11453,11454,7,16,0,0,11454,1910,1,0,0,0,11455,11456,7,23,0,0,11456,11457,7,19,0,0,11457,11458,7,12,0,0,11458,11459,7,6,0,0,11459,11460,7,20,0,0,11460,11461,7,12,0,0,11461,11462,7,3,0,0,11462,11463,7,23,0,0,11463,11464,7,7,0,0,11464,1912,1,0,0,0,11465,11466,7,23,0,0,11466,11467,7,25,0,0,11467,11468,7,19,0,0,11468,11469,7,15,0,0,11469,11470,7,12,0,0,11470,11471,7,6,0,0,11471,11472,7,18,0,0,11472,11473,7,8,0,0,11473,11474,7,19,0,0,11474,11475,7,23,0,0,11475,11476,7,6,0,0,11476,11477,7,7,0,0,11477,11478,7,26,0,0,11478,11479,7,6,0,0,11479,1914,1,0,0,0,11480,11481,7,23,0,0,11481,11482,7,25,0,0,11482,11483,7,19,0,0,11483,11484,7,15,0,0,11484,11485,7,12,0,0,11485,11486,7,6,0,0,11486,11487,7,18,0,0,11487,11488,7,8,0,0,11488,11489,7,19,0,0,11489,11490,7,23,0,0,11490,11491,7,9,0,0,11491,11492,7,21,0,0,11492,11493,7,16,0,0,11493,1916,1,0,0,0,11494,11495,7,23,0,0,11495,11496,7,25,0,0,11496,11497,7,19,0,0,11497,11498,7,5,0,0,11498,11499,7,10,0,0,11499,11500,7,18,0,0,11500,11501,7,8,0,0,11501,11502,7,19,0,0,11502,11503,7,23,0,0,11503,11504,7,6,0,0,11504,11505,7,7,0,0,11505,11506,7,26,0,0,11506,11507,7,6,0,0,11507,1918,1,0,0,0,11508,11509,7,23,0,0,11509,11510,7,25,0,0,11510,11511,7,19,0,0,11511,11512,7,5,0,0,11512,11513,7,10,0,0,11513,11514,7,18,0,0,11514,11515,7,8,0,0,11515,11516,7,19,0,0,11516,11517,7,23,0,0,11517,11518,7,9,0,0,11518,11519,7,21,0,0,11519,11520,7,16,0,0,11520,1920,1,0,0,0,11521,11522,7,23,0,0,11522,11523,7,17,0,0,11523,11524,7,5,0,0,11524,11525,7,6,0,0,11525,11526,7,15,0,0,11526,11527,7,5,0,0,11527,11528,7,15,0,0,11528,11529,7,12,0,0,11529,11530,7,7,0,0,11530,11531,7,11,0,0,11531,11532,7,6,0,0,11532,11533,7,8,0,0,11533,11534,7,15,0,0,11534,11535,7,12,0,0,11535,11536,7,22,0,0,11536,11537,7,18,0,0,11537,11538,7,8,0,0,11538,11539,7,19,0,0,11539,11540,7,23,0,0,11540,11541,7,6,0,0,11541,11542,7,7,0,0,11542,11543,7,26,0,0,11543,11544,7,6,0,0,11544,1922,1,0,0,0,11545,11546,7,23,0,0,11546,11547,7,17,0,0,11547,11548,7,5,0,0,11548,11549,7,6,0,0,11549,11550,7,15,0,0,11550,11551,7,5,0,0,11551,11552,7,15,0,0,11552,11553,7,12,0,0,11553,11554,7,7,0,0,11554,11555,7,11,0,0,11555,11556,7,6,0,0,11556,11557,7,8,0,0,11557,11558,7,15,0,0,11558,11559,7,12,0,0,11559,11560,7,22,0,0,11560,11561,7,18,0,0,11561,11562,7,8,0,0,11562,11563,7,19,0,0,11563,11564,7,23,0,0,11564,11565,7,9,0,0,11565,11566,7,21,0,0,11566,11567,7,16,0,0,11567,1924,1,0,0,0,11568,11569,7,23,0,0,11569,11570,7,17,0,0,11570,11571,7,5,0,0,11571,11572,7,6,0,0,11572,11573,7,15,0,0,11573,11574,7,25,0,0,11574,11575,7,19,0,0,11575,11576,7,15,0,0,11576,11577,7,12,0,0,11577,11578,7,6,0,0,11578,11579,7,18,0,0,11579,11580,7,8,0,0,11580,11581,7,19,0,0,11581,11582,7,23,0,0,11582,11583,7,6,0,0,11583,11584,7,7,0,0,11584,11585,7,26,0,0,11585,11586,7,6,0,0,11586,1926,1,0,0,0,11587,11588,7,23,0,0,11588,11589,7,17,0,0,11589,11590,7,5,0,0,11590,11591,7,6,0,0,11591,11592,7,15,0,0,11592,11593,7,25,0,0,11593,11594,7,19,0,0,11594,11595,7,15,0,0,11595,11596,7,12,0,0,11596,11597,7,6,0,0,11597,11598,7,18,0,0,11598,11599,7,8,0,0,11599,11600,7,19,0,0,11600,11601,7,23,0,0,11601,11602,7,9,0,0,11602,11603,7,21,0,0,11603,11604,7,16,0,0,11604,1928,1,0,0,0,11605,11606,7,23,0,0,11606,11607,7,17,0,0,11607,11608,7,5,0,0,11608,11609,7,6,0,0,11609,11610,7,15,0,0,11610,11611,7,25,0,0,11611,11612,7,19,0,0,11612,11613,7,5,0,0,11613,11614,7,10,0,0,11614,11615,7,22,0,0,11615,11616,7,19,0,0,11616,11617,7,12,0,0,11617,11618,7,18,0,0,11618,11619,7,8,0,0,11619,11620,7,19,0,0,11620,11621,7,23,0,0,11621,11622,7,6,0,0,11622,11623,7,7,0,0,11623,11624,7,26,0,0,11624,11625,7,6,0,0,11625,1930,1,0,0,0,11626,11627,7,23,0,0,11627,11628,7,17,0,0,11628,11629,7,5,0,0,11629,11630,7,6,0,0,11630,11631,7,15,0,0,11631,11632,7,25,0,0,11632,11633,7,19,0,0,11633,11634,7,5,0,0,11634,11635,7,10,0,0,11635,11636,7,22,0,0,11636,11637,7,19,0,0,11637,11638,7,12,0,0,11638,11639,7,18,0,0,11639,11640,7,8,0,0,11640,11641,7,19,0,0,11641,11642,7,23,0,0,11642,11643,7,9,0,0,11643,11644,7,21,0,0,11644,11645,7,16,0,0,11645,1932,1,0,0,0,11646,11647,7,12,0,0,11647,11648,7,3,0,0,11648,11649,7,23,0,0,11649,11650,7,7,0,0,11650,11651,5,95,0,0,11651,11652,7,14,0,0,11652,11653,7,19,0,0,11653,11654,7,12,0,0,11654,11655,7,11,0,0,11655,11656,7,6,0,0,11656,1934,1,0,0,0,11657,11658,7,12,0,0,11658,11659,7,17,0,0,11659,11660,7,5,0,0,11660,11661,7,5,0,0,11661,11662,7,15,0,0,11662,11663,7,18,0,0,11663,1936,1,0,0,0,11664,11665,7,12,0,0,11665,11666,7,17,0,0,11666,11667,7,23,0,0,11667,11668,7,22,0,0,11668,11669,7,7,0,0,11669,11670,7,19,0,0,11670,11671,7,23,0,0,11671,11672,7,7,0,0,11672,11673,7,6,0,0,11673,11674,7,8,0,0,11674,11675,7,15,0,0,11675,11676,7,7,0,0,11676,11677,7,11,0,0,11677,1938,1,0,0,0,11678,11679,7,12,0,0,11679,11680,7,17,0,0,11680,11681,7,23,0,0,11681,11682,7,15,0,0,11682,11683,7,12,0,0,11683,11684,7,6,0,0,11684,11685,7,7,0,0,11685,11686,7,8,0,0,11686,11687,7,15,0,0,11687,11688,7,19,0,0,11688,11689,7,8,0,0,11689,11690,7,8,0,0,11690,11691,7,15,0,0,11691,11692,7,12,0,0,11692,11693,7,22,0,0,11693,11694,7,11,0,0,11694,1940,1,0,0,0,11695,11696,7,12,0,0,11696,11697,7,17,0,0,11697,11698,7,23,0,0,11698,11699,7,25,0,0,11699,11700,7,19,0,0,11700,11701,7,15,0,0,11701,11702,7,12,0,0,11702,11703,7,6,0,0,11703,11704,7,11,0,0,11704,1942,1,0,0,0,11705,11706,7,19,0,0,11706,11707,7,14,0,0,11707,11708,7,6,0,0,11708,1944,1,0,0,0,11709,11710,7,19,0,0,11710,11711,7,14,0,0,11711,11712,7,6,0,0,11712,11713,7,7,0,0,11713,11714,7,6,0,0,11714,11715,5,95,0,0,11715,11716,7,5,0,0,11716,11717,7,7,0,0,11717,11718,7,12,0,0,11718,11719,7,22,0,0,11719,11720,7,6,0,0,11720,11721,7,20,0,0,11721,1946,1,0,0,0,11722,11723,7,19,0,0,11723,11724,7,8,0,0,11724,11725,7,4,0,0,11725,1948,1,0,0,0,11726,11727,7,19,0,0,11727,11728,7,24,0,0,11728,11729,7,7,0,0,11729,11730,7,8,0,0,11730,11731,7,5,0,0,11731,11732,7,3,0,0,11732,11733,7,25,0,0,11733,11734,7,11,0,0,11734,1950,1,0,0,0,11735,11736,7,25,0,0,11736,11737,7,7,0,0,11737,11738,7,8,0,0,11738,11739,7,15,0,0,11739,11740,7,19,0,0,11740,11741,7,4,0,0,11741,11742,5,95,0,0,11742,11743,7,3,0,0,11743,11744,7,4,0,0,11744,11745,7,4,0,0,11745,1952,1,0,0,0,11746,11747,7,25,0,0,11747,11748,7,7,0,0,11748,11749,7,8,0,0,11749,11750,7,15,0,0,11750,11751,7,19,0,0,11751,11752,7,4,0,0,11752,11753,5,95,0,0,11753,11754,7,4,0,0,11754,11755,7,15,0,0,11755,11756,7,18,0,0,11756,11757,7,18,0,0,11757,1954,1,0,0,0,11758,11759,7,25,0,0,11759,11760,7,15,0,0,11760,1956,1,0,0,0,11761,11762,7,25,0,0,11762,11763,7,19,0,0,11763,11764,7,15,0,0,11764,11765,7,12,0,0,11765,11766,7,6,0,0,11766,11767,7,18,0,0,11767,11768,7,8,0,0,11768,11769,7,19,0,0,11769,11770,7,23,0,0,11770,11771,7,6,0,0,11771,11772,7,7,0,0,11772,11773,7,26,0,0,11773,11774,7,6,0,0,11774,1958,1,0,0,0,11775,11776,7,25,0,0,11776,11777,7,19,0,0,11777,11778,7,15,0,0,11778,11779,7,12,0,0,11779,11780,7,6,0,0,11780,11781,7,18,0,0,11781,11782,7,8,0,0,11782,11783,7,19,0,0,11783,11784,7,23,0,0,11784,11785,7,9,0,0,11785,11786,7,21,0,0,11786,11787,7,16,0,0,11787,1960,1,0,0,0,11788,11789,7,25,0,0,11789,11790,7,19,0,0,11790,11791,7,15,0,0,11791,11792,7,12,0,0,11792,11793,7,6,0,0,11793,11794,7,12,0,0,11794,1962,1,0,0,0,11795,11796,7,25,0,0,11796,11797,7,19,0,0,11797,11798,7,5,0,0,11798,11799,7,10,0,0,11799,11800,7,18,0,0,11800,11801,7,8,0,0,11801,11802,7,19,0,0,11802,11803,7,23,0,0,11803,11804,7,6,0,0,11804,11805,7,7,0,0,11805,11806,7,26,0,0,11806,11807,7,6,0,0,11807,1964,1,0,0,0,11808,11809,7,25,0,0,11809,11810,7,19,0,0,11810,11811,7,5,0,0,11811,11812,7,10,0,0,11812,11813,7,18,0,0,11813,11814,7,8,0,0,11814,11815,7,19,0,0,11815,11816,7,23,0,0,11816,11817,7,9,0,0,11817,11818,7,21,0,0,11818,11819,7,16,0,0,11819,1966,1,0,0,0,11820,11821,7,25,0,0,11821,11822,7,19,0,0,11822,11823,7,5,0,0,11823,11824,7,10,0,0,11824,11825,7,22,0,0,11825,11826,7,19,0,0,11826,11827,7,12,0,0,11827,11828,7,18,0,0,11828,11829,7,8,0,0,11829,11830,7,19,0,0,11830,11831,7,23,0,0,11831,11832,7,6,0,0,11832,11833,7,7,0,0,11833,11834,7,26,0,0,11834,11835,7,6,0,0,11835,1968,1,0,0,0,11836,11837,7,25,0,0,11837,11838,7,19,0,0,11838,11839,7,5,0,0,11839,11840,7,10,0,0,11840,11841,7,22,0,0,11841,11842,7,19,0,0,11842,11843,7,12,0,0,11843,11844,7,18,0,0,11844,11845,7,8,0,0,11845,11846,7,19,0,0,11846,11847,7,23,0,0,11847,11848,7,9,0,0,11848,11849,7,21,0,0,11849,11850,7,16,0,0,11850,1970,1,0,0,0,11851,11852,7,25,0,0,11852,11853,7,19,0,0,11853,11854,7,9,0,0,11854,1972,1,0,0,0,11855,11856,7,25,0,0,11856,11857,7,19,0,0,11857,11858,7,9,0,0,11858,11859,7,7,0,0,11859,11860,7,8,0,0,11860,1974,1,0,0,0,11861,11862,7,28,0,0,11862,11863,7,17,0,0,11863,11864,7,19,0,0,11864,11865,7,6,0,0,11865,11866,7,7,0,0,11866,1976,1,0,0,0,11867,11868,7,8,0,0,11868,11869,7,3,0,0,11869,11870,7,4,0,0,11870,11871,7,15,0,0,11871,11872,7,3,0,0,11872,11873,7,12,0,0,11873,11874,7,11,0,0,11874,1978,1,0,0,0,11875,11876,7,8,0,0,11876,11877,7,3,0,0,11877,11878,7,12,0,0,11878,11879,7,4,0,0,11879,1980,1,0,0,0,11880,11881,7,8,0,0,11881,11882,7,3,0,0,11882,11883,7,12,0,0,11883,11884,7,4,0,0,11884,11885,7,19,0,0,11885,11886,7,23,0,0,11886,1982,1,0,0,0,11887,11888,7,8,0,0,11888,11889,7,3,0,0,11889,11890,7,12,0,0,11890,11891,7,4,0,0,11891,11892,7,19,0,0,11892,11893,7,23,0,0,11893,11894,5,95,0,0,11894,11895,7,16,0,0,11895,11896,7,10,0,0,11896,11897,7,6,0,0,11897,11898,7,7,0,0,11898,11899,7,11,0,0,11899,1984,1,0,0,0,11900,11901,7,8,0,0,11901,11902,7,7,0,0,11902,11903,7,5,0,0,11903,11904,7,7,0,0,11904,11905,7,3,0,0,11905,11906,7,11,0,0,11906,11907,7,7,0,0,11907,11908,5,95,0,0,11908,11909,7,5,0,0,11909,11910,7,19,0,0,11910,11911,7,14,0,0,11911,11912,7,21,0,0,11912,1986,1,0,0,0,11913,11914,7,8,0,0,11914,11915,7,7,0,0,11915,11916,7,24,0,0,11916,11917,7,7,0,0,11917,11918,7,8,0,0,11918,11919,7,11,0,0,11919,11920,7,7,0,0,11920,1988,1,0,0,0,11921,11922,7,8,0,0,11922,11923,7,19,0,0,11923,11924,7,17,0,0,11924,11925,7,12,0,0,11925,11926,7,4,0,0,11926,1990,1,0,0,0,11927,11928,7,8,0,0,11928,11929,7,19,0,0,11929,11930,7,9,0,0,11930,11931,5,95,0,0,11931,11932,7,14,0,0,11932,11933,7,19,0,0,11933,11934,7,17,0,0,11934,11935,7,12,0,0,11935,11936,7,6,0,0,11936,1992,1,0,0,0,11937,11938,7,8,0,0,11938,11939,7,25,0,0,11939,11940,7,3,0,0,11940,11941,7,4,0,0,11941,1994,1,0,0,0,11942,11943,7,8,0,0,11943,11944,7,6,0,0,11944,11945,7,8,0,0,11945,11946,7,15,0,0,11946,11947,7,23,0,0,11947,1996,1,0,0,0,11948,11949,7,11,0,0,11949,11950,7,7,0,0,11950,11951,7,14,0,0,11951,11952,5,95,0,0,11952,11953,7,6,0,0,11953,11954,7,19,0,0,11954,11955,5,95,0,0,11955,11956,7,6,0,0,11956,11957,7,15,0,0,11957,11958,7,23,0,0,11958,11959,7,7,0,0,11959,1998,1,0,0,0,11960,11961,7,11,0,0,11961,11962,7,7,0,0,11962,11963,7,14,0,0,11963,11964,7,19,0,0,11964,11965,7,12,0,0,11965,11966,7,4,0,0,11966,11967,7,3,0,0,11967,11968,7,8,0,0,11968,11969,7,10,0,0,11969,11970,5,95,0,0,11970,11971,7,7,0,0,11971,11972,7,12,0,0,11972,11973,7,22,0,0,11973,11974,7,15,0,0,11974,11975,7,12,0,0,11975,11976,7,7,0,0,11976,11977,5,95,0,0,11977,11978,7,3,0,0,11978,11979,7,6,0,0,11979,11980,7,6,0,0,11980,11981,7,8,0,0,11981,11982,7,15,0,0,11982,11983,7,16,0,0,11983,11984,7,17,0,0,11984,11985,7,6,0,0,11985,11986,7,7,0,0,11986,2e3,1,0,0,0,11987,11988,7,11,0,0,11988,11989,7,7,0,0,11989,11990,7,11,0,0,11990,11991,7,11,0,0,11991,11992,7,15,0,0,11992,11993,7,19,0,0,11993,11994,7,12,0,0,11994,11995,5,95,0,0,11995,11996,7,17,0,0,11996,11997,7,11,0,0,11997,11998,7,7,0,0,11998,11999,7,8,0,0,11999,2002,1,0,0,0,12e3,12001,7,11,0,0,12001,12002,7,20,0,0,12002,12003,7,3,0,0,12003,2004,1,0,0,0,12004,12005,7,11,0,0,12005,12006,7,20,0,0,12006,12007,7,3,0,0,12007,12008,5,49,0,0,12008,2006,1,0,0,0,12009,12010,7,11,0,0,12010,12011,7,20,0,0,12011,12012,7,3,0,0,12012,12013,5,50,0,0,12013,2008,1,0,0,0,12014,12015,7,11,0,0,12015,12016,7,14,0,0,12016,12017,7,20,0,0,12017,12018,7,7,0,0,12018,12019,7,23,0,0,12019,12020,7,3,0,0,12020,12021,5,95,0,0,12021,12022,7,12,0,0,12022,12023,7,3,0,0,12023,12024,7,23,0,0,12024,12025,7,7,0,0,12025,2010,1,0,0,0,12026,12027,7,11,0,0,12027,12028,7,15,0,0,12028,12029,7,22,0,0,12029,12030,7,12,0,0,12030,2012,1,0,0,0,12031,12032,7,11,0,0,12032,12033,7,15,0,0,12033,12034,7,12,0,0,12034,2014,1,0,0,0,12035,12036,7,11,0,0,12036,12037,7,5,0,0,12037,12038,7,7,0,0,12038,12039,7,7,0,0,12039,12040,7,25,0,0,12040,2016,1,0,0,0,12041,12042,7,11,0,0,12042,12043,7,19,0,0,12043,12044,7,17,0,0,12044,12045,7,12,0,0,12045,12046,7,4,0,0,12046,12047,7,7,0,0,12047,12048,7,26,0,0,12048,2018,1,0,0,0,12049,12050,7,11,0,0,12050,12051,7,28,0,0,12051,12052,7,5,0,0,12052,12053,5,95,0,0,12053,12054,7,6,0,0,12054,12055,7,20,0,0,12055,12056,7,8,0,0,12056,12057,7,7,0,0,12057,12058,7,3,0,0,12058,12059,7,4,0,0,12059,12060,5,95,0,0,12060,12061,7,9,0,0,12061,12062,7,3,0,0,12062,12063,7,15,0,0,12063,12064,7,6,0,0,12064,12065,5,95,0,0,12065,12066,7,3,0,0,12066,12067,7,18,0,0,12067,12068,7,6,0,0,12068,12069,7,7,0,0,12069,12070,7,8,0,0,12070,12071,5,95,0,0,12071,12072,7,22,0,0,12072,12073,7,6,0,0,12073,12074,7,15,0,0,12074,12075,7,4,0,0,12075,12076,7,11,0,0,12076,2020,1,0,0,0,12077,12078,7,11,0,0,12078,12079,7,28,0,0,12079,12080,7,8,0,0,12080,12081,7,6,0,0,12081,2022,1,0,0,0,12082,12083,7,11,0,0,12083,12084,7,8,0,0,12084,12085,7,15,0,0,12085,12086,7,4,0,0,12086,2024,1,0,0,0,12087,12088,7,11,0,0,12088,12089,7,6,0,0,12089,12090,7,3,0,0,12090,12091,7,8,0,0,12091,12092,7,6,0,0,12092,12093,7,25,0,0,12093,12094,7,19,0,0,12094,12095,7,15,0,0,12095,12096,7,12,0,0,12096,12097,7,6,0,0,12097,2026,1,0,0,0,12098,12099,7,11,0,0,12099,12100,7,6,0,0,12100,12101,7,8,0,0,12101,12102,7,14,0,0,12102,12103,7,23,0,0,12103,12104,7,25,0,0,12104,2028,1,0,0,0,12105,12106,7,11,0,0,12106,12107,7,6,0,0,12107,12108,7,8,0,0,12108,12109,5,95,0,0,12109,12110,7,6,0,0,12110,12111,7,19,0,0,12111,12112,5,95,0,0,12112,12113,7,4,0,0,12113,12114,7,3,0,0,12114,12115,7,6,0,0,12115,12116,7,7,0,0,12116,2030,1,0,0,0,12117,12118,7,11,0,0,12118,12119,7,6,0,0,12119,12120,5,95,0,0,12120,12121,7,3,0,0,12121,12122,7,8,0,0,12122,12123,7,7,0,0,12123,12124,7,3,0,0,12124,2032,1,0,0,0,12125,12126,7,11,0,0,12126,12127,7,6,0,0,12127,12128,5,95,0,0,12128,12129,7,3,0,0,12129,12130,7,11,0,0,12130,12131,7,16,0,0,12131,12132,7,15,0,0,12132,12133,7,12,0,0,12133,12134,7,3,0,0,12134,12135,7,8,0,0,12135,12136,7,10,0,0,12136,2034,1,0,0,0,12137,12138,7,11,0,0,12138,12139,7,6,0,0,12139,12140,5,95,0,0,12140,12141,7,3,0,0,12141,12142,7,11,0,0,12142,12143,7,6,0,0,12143,12144,7,7,0,0,12144,12145,7,26,0,0,12145,12146,7,6,0,0,12146,2036,1,0,0,0,12147,12148,7,11,0,0,12148,12149,7,6,0,0,12149,12150,5,95,0,0,12150,12151,7,3,0,0,12151,12152,7,11,0,0,12152,12153,7,9,0,0,12153,12154,7,21,0,0,12154,12155,7,16,0,0,12155,2038,1,0,0,0,12156,12157,7,11,0,0,12157,12158,7,6,0,0,12158,12159,5,95,0,0,12159,12160,7,3,0,0,12160,12161,7,11,0,0,12161,12162,7,9,0,0,12162,12163,7,21,0,0,12163,12164,7,6,0,0,12164,2040,1,0,0,0,12165,12166,7,11,0,0,12166,12167,7,6,0,0,12167,12168,5,95,0,0,12168,12169,7,16,0,0,12169,12170,7,17,0,0,12170,12171,7,18,0,0,12171,12172,7,18,0,0,12172,12173,7,7,0,0,12173,12174,7,8,0,0,12174,2042,1,0,0,0,12175,12176,7,11,0,0,12176,12177,7,6,0,0,12177,12178,5,95,0,0,12178,12179,7,14,0,0,12179,12180,7,7,0,0,12180,12181,7,12,0,0,12181,12182,7,6,0,0,12182,12183,7,8,0,0,12183,12184,7,19,0,0,12184,12185,7,15,0,0,12185,12186,7,4,0,0,12186,2044,1,0,0,0,12187,12188,7,11,0,0,12188,12189,7,6,0,0,12189,12190,5,95,0,0,12190,12191,7,14,0,0,12191,12192,7,19,0,0,12192,12193,7,12,0,0,12193,12194,7,6,0,0,12194,12195,7,3,0,0,12195,12196,7,15,0,0,12196,12197,7,12,0,0,12197,12198,7,11,0,0,12198,2046,1,0,0,0,12199,12200,7,11,0,0,12200,12201,7,6,0,0,12201,12202,5,95,0,0,12202,12203,7,14,0,0,12203,12204,7,8,0,0,12204,12205,7,19,0,0,12205,12206,7,11,0,0,12206,12207,7,11,0,0,12207,12208,7,7,0,0,12208,12209,7,11,0,0,12209,2048,1,0,0,0,12210,12211,7,11,0,0,12211,12212,7,6,0,0,12212,12213,5,95,0,0,12213,12214,7,4,0,0,12214,12215,7,15,0,0,12215,12216,7,18,0,0,12216,12217,7,18,0,0,12217,12218,7,7,0,0,12218,12219,7,8,0,0,12219,12220,7,7,0,0,12220,12221,7,12,0,0,12221,12222,7,14,0,0,12222,12223,7,7,0,0,12223,2050,1,0,0,0,12224,12225,7,11,0,0,12225,12226,7,6,0,0,12226,12227,5,95,0,0,12227,12228,7,4,0,0,12228,12229,7,15,0,0,12229,12230,7,23,0,0,12230,12231,7,7,0,0,12231,12232,7,12,0,0,12232,12233,7,11,0,0,12233,12234,7,15,0,0,12234,12235,7,19,0,0,12235,12236,7,12,0,0,12236,2052,1,0,0,0,12237,12238,7,11,0,0,12238,12239,7,6,0,0,12239,12240,5,95,0,0,12240,12241,7,4,0,0,12241,12242,7,15,0,0,12242,12243,7,11,0,0,12243,12244,7,27,0,0,12244,12245,7,19,0,0,12245,12246,7,15,0,0,12246,12247,7,12,0,0,12247,12248,7,6,0,0,12248,2054,1,0,0,0,12249,12250,7,11,0,0,12250,12251,7,6,0,0,12251,12252,5,95,0,0,12252,12253,7,4,0,0,12253,12254,7,15,0,0,12254,12255,7,11,0,0,12255,12256,7,6,0,0,12256,12257,7,3,0,0,12257,12258,7,12,0,0,12258,12259,7,14,0,0,12259,12260,7,7,0,0,12260,2056,1,0,0,0,12261,12262,7,11,0,0,12262,12263,7,6,0,0,12263,12264,5,95,0,0,12264,12265,7,7,0,0,12265,12266,7,12,0,0,12266,12267,7,4,0,0,12267,12268,7,25,0,0,12268,12269,7,19,0,0,12269,12270,7,15,0,0,12270,12271,7,12,0,0,12271,12272,7,6,0,0,12272,2058,1,0,0,0,12273,12274,7,11,0,0,12274,12275,7,6,0,0,12275,12276,5,95,0,0,12276,12277,7,7,0,0,12277,12278,7,12,0,0,12278,12279,7,24,0,0,12279,12280,7,7,0,0,12280,12281,7,5,0,0,12281,12282,7,19,0,0,12282,12283,7,25,0,0,12283,12284,7,7,0,0,12284,2060,1,0,0,0,12285,12286,7,11,0,0,12286,12287,7,6,0,0,12287,12288,5,95,0,0,12288,12289,7,7,0,0,12289,12290,7,28,0,0,12290,12291,7,17,0,0,12291,12292,7,3,0,0,12292,12293,7,5,0,0,12293,12294,7,11,0,0,12294,2062,1,0,0,0,12295,12296,7,11,0,0,12296,12297,7,6,0,0,12297,12298,5,95,0,0,12298,12299,7,7,0,0,12299,12300,7,26,0,0,12300,12301,7,6,0,0,12301,12302,7,7,0,0,12302,12303,7,8,0,0,12303,12304,7,15,0,0,12304,12305,7,19,0,0,12305,12306,7,8,0,0,12306,12307,7,8,0,0,12307,12308,7,15,0,0,12308,12309,7,12,0,0,12309,12310,7,22,0,0,12310,2064,1,0,0,0,12311,12312,7,11,0,0,12312,12313,7,6,0,0,12313,12314,5,95,0,0,12314,12315,7,22,0,0,12315,12316,7,7,0,0,12316,12317,7,19,0,0,12317,12318,7,23,0,0,12318,12319,7,14,0,0,12319,12320,7,19,0,0,12320,12321,7,5,0,0,12321,12322,7,5,0,0,12322,12323,7,18,0,0,12323,12324,7,8,0,0,12324,12325,7,19,0,0,12325,12326,7,23,0,0,12326,12327,7,6,0,0,12327,12328,7,7,0,0,12328,12329,7,26,0,0,12329,12330,7,6,0,0,12330,2066,1,0,0,0,12331,12332,7,11,0,0,12332,12333,7,6,0,0,12333,12334,5,95,0,0,12334,12335,7,22,0,0,12335,12336,7,7,0,0,12336,12337,7,19,0,0,12337,12338,7,23,0,0,12338,12339,7,14,0,0,12339,12340,7,19,0,0,12340,12341,7,5,0,0,12341,12342,7,5,0,0,12342,12343,7,18,0,0,12343,12344,7,8,0,0,12344,12345,7,19,0,0,12345,12346,7,23,0,0,12346,12347,7,6,0,0,12347,12348,7,26,0,0,12348,12349,7,6,0,0,12349,2068,1,0,0,0,12350,12351,7,11,0,0,12351,12352,7,6,0,0,12352,12353,5,95,0,0,12353,12354,7,22,0,0,12354,12355,7,7,0,0,12355,12356,7,19,0,0,12356,12357,7,23,0,0,12357,12358,7,14,0,0,12358,12359,7,19,0,0,12359,12360,7,5,0,0,12360,12361,7,5,0,0,12361,12362,7,18,0,0,12362,12363,7,8,0,0,12363,12364,7,19,0,0,12364,12365,7,23,0,0,12365,12366,7,9,0,0,12366,12367,7,21,0,0,12367,12368,7,16,0,0,12368,2070,1,0,0,0,12369,12370,7,11,0,0,12370,12371,7,6,0,0,12371,12372,5,95,0,0,12372,12373,7,22,0,0,12373,12374,7,7,0,0,12374,12375,7,19,0,0,12375,12376,7,23,0,0,12376,12377,7,7,0,0,12377,12378,7,6,0,0,12378,12379,7,8,0,0,12379,12380,7,10,0,0,12380,12381,7,14,0,0,12381,12382,7,19,0,0,12382,12383,7,5,0,0,12383,12384,7,5,0,0,12384,12385,7,7,0,0,12385,12386,7,14,0,0,12386,12387,7,6,0,0,12387,12388,7,15,0,0,12388,12389,7,19,0,0,12389,12390,7,12,0,0,12390,12391,7,18,0,0,12391,12392,7,8,0,0,12392,12393,7,19,0,0,12393,12394,7,23,0,0,12394,12395,7,6,0,0,12395,12396,7,7,0,0,12396,12397,7,26,0,0,12397,12398,7,6,0,0,12398,2072,1,0,0,0,12399,12400,7,11,0,0,12400,12401,7,6,0,0,12401,12402,5,95,0,0,12402,12403,7,22,0,0,12403,12404,7,7,0,0,12404,12405,7,19,0,0,12405,12406,7,23,0,0,12406,12407,7,7,0,0,12407,12408,7,6,0,0,12408,12409,7,8,0,0,12409,12410,7,10,0,0,12410,12411,7,14,0,0,12411,12412,7,19,0,0,12412,12413,7,5,0,0,12413,12414,7,5,0,0,12414,12415,7,7,0,0,12415,12416,7,14,0,0,12416,12417,7,6,0,0,12417,12418,7,15,0,0,12418,12419,7,19,0,0,12419,12420,7,12,0,0,12420,12421,7,18,0,0,12421,12422,7,8,0,0,12422,12423,7,19,0,0,12423,12424,7,23,0,0,12424,12425,7,9,0,0,12425,12426,7,21,0,0,12426,12427,7,16,0,0,12427,2074,1,0,0,0,12428,12429,7,11,0,0,12429,12430,7,6,0,0,12430,12431,5,95,0,0,12431,12432,7,22,0,0,12432,12433,7,7,0,0,12433,12434,7,19,0,0,12434,12435,7,23,0,0,12435,12436,7,7,0,0,12436,12437,7,6,0,0,12437,12438,7,8,0,0,12438,12439,7,10,0,0,12439,12440,7,18,0,0,12440,12441,7,8,0,0,12441,12442,7,19,0,0,12442,12443,7,23,0,0,12443,12444,7,6,0,0,12444,12445,7,7,0,0,12445,12446,7,26,0,0,12446,12447,7,6,0,0,12447,2076,1,0,0,0,12448,12449,7,11,0,0,12449,12450,7,6,0,0,12450,12451,5,95,0,0,12451,12452,7,22,0,0,12452,12453,7,7,0,0,12453,12454,7,19,0,0,12454,12455,7,23,0,0,12455,12456,7,7,0,0,12456,12457,7,6,0,0,12457,12458,7,8,0,0,12458,12459,7,10,0,0,12459,12460,7,18,0,0,12460,12461,7,8,0,0,12461,12462,7,19,0,0,12462,12463,7,23,0,0,12463,12464,7,9,0,0,12464,12465,7,21,0,0,12465,12466,7,16,0,0,12466,2078,1,0,0,0,12467,12468,7,11,0,0,12468,12469,7,6,0,0,12469,12470,5,95,0,0,12470,12471,7,22,0,0,12471,12472,7,7,0,0,12472,12473,7,19,0,0,12473,12474,7,23,0,0,12474,12475,7,7,0,0,12475,12476,7,6,0,0,12476,12477,7,8,0,0,12477,12478,7,10,0,0,12478,12479,7,12,0,0,12479,2080,1,0,0,0,12480,12481,7,11,0,0,12481,12482,7,6,0,0,12482,12483,5,95,0,0,12483,12484,7,22,0,0,12484,12485,7,7,0,0,12485,12486,7,19,0,0,12486,12487,7,23,0,0,12487,12488,7,7,0,0,12488,12489,7,6,0,0,12489,12490,7,8,0,0,12490,12491,7,10,0,0,12491,12492,7,6,0,0,12492,12493,7,10,0,0,12493,12494,7,25,0,0,12494,12495,7,7,0,0,12495,2082,1,0,0,0,12496,12497,7,11,0,0,12497,12498,7,6,0,0,12498,12499,5,95,0,0,12499,12500,7,22,0,0,12500,12501,7,7,0,0,12501,12502,7,19,0,0,12502,12503,7,23,0,0,12503,12504,7,18,0,0,12504,12505,7,8,0,0,12505,12506,7,19,0,0,12506,12507,7,23,0,0,12507,12508,7,6,0,0,12508,12509,7,7,0,0,12509,12510,7,26,0,0,12510,12511,7,6,0,0,12511,2084,1,0,0,0,12512,12513,7,11,0,0,12513,12514,7,6,0,0,12514,12515,5,95,0,0,12515,12516,7,22,0,0,12516,12517,7,7,0,0,12517,12518,7,19,0,0,12518,12519,7,23,0,0,12519,12520,7,18,0,0,12520,12521,7,8,0,0,12521,12522,7,19,0,0,12522,12523,7,23,0,0,12523,12524,7,9,0,0,12524,12525,7,21,0,0,12525,12526,7,16,0,0,12526,2086,1,0,0,0,12527,12528,7,11,0,0,12528,12529,7,6,0,0,12529,12530,5,95,0,0,12530,12531,7,15,0,0,12531,12532,7,12,0,0,12532,12533,7,6,0,0,12533,12534,7,7,0,0,12534,12535,7,8,0,0,12535,12536,7,15,0,0,12536,12537,7,19,0,0,12537,12538,7,8,0,0,12538,12539,7,8,0,0,12539,12540,7,15,0,0,12540,12541,7,12,0,0,12541,12542,7,22,0,0,12542,12543,7,12,0,0,12543,2088,1,0,0,0,12544,12545,7,11,0,0,12545,12546,7,6,0,0,12546,12547,5,95,0,0,12547,12548,7,15,0,0,12548,12549,7,12,0,0,12549,12550,7,6,0,0,12550,12551,7,7,0,0,12551,12552,7,8,0,0,12552,12553,7,11,0,0,12553,12554,7,7,0,0,12554,12555,7,14,0,0,12555,12556,7,6,0,0,12556,12557,7,15,0,0,12557,12558,7,19,0,0,12558,12559,7,12,0,0,12559,2090,1,0,0,0,12560,12561,7,11,0,0,12561,12562,7,6,0,0,12562,12563,5,95,0,0,12563,12564,7,15,0,0,12564,12565,7,12,0,0,12565,12566,7,6,0,0,12566,12567,7,7,0,0,12567,12568,7,8,0,0,12568,12569,7,11,0,0,12569,12570,7,7,0,0,12570,12571,7,14,0,0,12571,12572,7,6,0,0,12572,12573,7,11,0,0,12573,2092,1,0,0,0,12574,12575,7,11,0,0,12575,12576,7,6,0,0,12576,12577,5,95,0,0,12577,12578,7,15,0,0,12578,12579,7,11,0,0,12579,12580,7,14,0,0,12580,12581,7,5,0,0,12581,12582,7,19,0,0,12582,12583,7,11,0,0,12583,12584,7,7,0,0,12584,12585,7,4,0,0,12585,2094,1,0,0,0,12586,12587,7,11,0,0,12587,12588,7,6,0,0,12588,12589,5,95,0,0,12589,12590,7,15,0,0,12590,12591,7,11,0,0,12591,12592,7,7,0,0,12592,12593,7,23,0,0,12593,12594,7,25,0,0,12594,12595,7,6,0,0,12595,12596,7,10,0,0,12596,2096,1,0,0,0,12597,12598,7,11,0,0,12598,12599,7,6,0,0,12599,12600,5,95,0,0,12600,12601,7,15,0,0,12601,12602,7,11,0,0,12602,12603,7,11,0,0,12603,12604,7,15,0,0,12604,12605,7,23,0,0,12605,12606,7,25,0,0,12606,12607,7,5,0,0,12607,12608,7,7,0,0,12608,2098,1,0,0,0,12609,12610,7,11,0,0,12610,12611,7,6,0,0,12611,12612,5,95,0,0,12612,12613,7,5,0,0,12613,12614,7,15,0,0,12614,12615,7,12,0,0,12615,12616,7,7,0,0,12616,12617,7,18,0,0,12617,12618,7,8,0,0,12618,12619,7,19,0,0,12619,12620,7,23,0,0,12620,12621,7,6,0,0,12621,12622,7,7,0,0,12622,12623,7,26,0,0,12623,12624,7,6,0,0,12624,2100,1,0,0,0,12625,12626,7,11,0,0,12626,12627,7,6,0,0,12627,12628,5,95,0,0,12628,12629,7,5,0,0,12629,12630,7,15,0,0,12630,12631,7,12,0,0,12631,12632,7,7,0,0,12632,12633,7,18,0,0,12633,12634,7,8,0,0,12634,12635,7,19,0,0,12635,12636,7,23,0,0,12636,12637,7,9,0,0,12637,12638,7,21,0,0,12638,12639,7,16,0,0,12639,2102,1,0,0,0,12640,12641,7,11,0,0,12641,12642,7,6,0,0,12642,12643,5,95,0,0,12643,12644,7,5,0,0,12644,12645,7,15,0,0,12645,12646,7,12,0,0,12646,12647,7,7,0,0,12647,12648,7,11,0,0,12648,12649,7,6,0,0,12649,12650,7,8,0,0,12650,12651,7,15,0,0,12651,12652,7,12,0,0,12652,12653,7,22,0,0,12653,12654,7,18,0,0,12654,12655,7,8,0,0,12655,12656,7,19,0,0,12656,12657,7,23,0,0,12657,12658,7,6,0,0,12658,12659,7,7,0,0,12659,12660,7,26,0,0,12660,12661,7,6,0,0,12661,2104,1,0,0,0,12662,12663,7,11,0,0,12663,12664,7,6,0,0,12664,12665,5,95,0,0,12665,12666,7,5,0,0,12666,12667,7,15,0,0,12667,12668,7,12,0,0,12668,12669,7,7,0,0,12669,12670,7,11,0,0,12670,12671,7,6,0,0,12671,12672,7,8,0,0,12672,12673,7,15,0,0,12673,12674,7,12,0,0,12674,12675,7,22,0,0,12675,12676,7,18,0,0,12676,12677,7,8,0,0,12677,12678,7,19,0,0,12678,12679,7,23,0,0,12679,12680,7,9,0,0,12680,12681,7,21,0,0,12681,12682,7,16,0,0,12682,2106,1,0,0,0,12683,12684,7,11,0,0,12684,12685,7,6,0,0,12685,12686,5,95,0,0,12686,12687,7,12,0,0,12687,12688,7,17,0,0,12688,12689,7,23,0,0,12689,12690,7,22,0,0,12690,12691,7,7,0,0,12691,12692,7,19,0,0,12692,12693,7,23,0,0,12693,12694,7,7,0,0,12694,12695,7,6,0,0,12695,12696,7,8,0,0,12696,12697,7,15,0,0,12697,12698,7,7,0,0,12698,12699,7,11,0,0,12699,2108,1,0,0,0,12700,12701,7,11,0,0,12701,12702,7,6,0,0,12702,12703,5,95,0,0,12703,12704,7,12,0,0,12704,12705,7,17,0,0,12705,12706,7,23,0,0,12706,12707,7,15,0,0,12707,12708,7,12,0,0,12708,12709,7,6,0,0,12709,12710,7,7,0,0,12710,12711,7,8,0,0,12711,12712,7,15,0,0,12712,12713,7,19,0,0,12713,12714,7,8,0,0,12714,12715,7,8,0,0,12715,12716,7,15,0,0,12716,12717,7,12,0,0,12717,12718,7,22,0,0,12718,2110,1,0,0,0,12719,12720,7,11,0,0,12720,12721,7,6,0,0,12721,12722,5,95,0,0,12722,12723,7,12,0,0,12723,12724,7,17,0,0,12724,12725,7,23,0,0,12725,12726,7,15,0,0,12726,12727,7,12,0,0,12727,12728,7,6,0,0,12728,12729,7,7,0,0,12729,12730,7,8,0,0,12730,12731,7,15,0,0,12731,12732,7,19,0,0,12732,12733,7,8,0,0,12733,12734,7,8,0,0,12734,12735,7,15,0,0,12735,12736,7,12,0,0,12736,12737,7,22,0,0,12737,12738,7,11,0,0,12738,2112,1,0,0,0,12739,12740,7,11,0,0,12740,12741,7,6,0,0,12741,12742,5,95,0,0,12742,12743,7,12,0,0,12743,12744,7,17,0,0,12744,12745,7,23,0,0,12745,12746,7,25,0,0,12746,12747,7,19,0,0,12747,12748,7,15,0,0,12748,12749,7,12,0,0,12749,12750,7,6,0,0,12750,12751,7,11,0,0,12751,2114,1,0,0,0,12752,12753,7,11,0,0,12753,12754,7,6,0,0,12754,12755,5,95,0,0,12755,12756,7,19,0,0,12756,12757,7,24,0,0,12757,12758,7,7,0,0,12758,12759,7,8,0,0,12759,12760,7,5,0,0,12760,12761,7,3,0,0,12761,12762,7,25,0,0,12762,12763,7,11,0,0,12763,2116,1,0,0,0,12764,12765,7,11,0,0,12765,12766,7,6,0,0,12766,12767,5,95,0,0,12767,12768,7,25,0,0,12768,12769,7,19,0,0,12769,12770,7,15,0,0,12770,12771,7,12,0,0,12771,12772,7,6,0,0,12772,12773,7,18,0,0,12773,12774,7,8,0,0,12774,12775,7,19,0,0,12775,12776,7,23,0,0,12776,12777,7,6,0,0,12777,12778,7,7,0,0,12778,12779,7,26,0,0,12779,12780,7,6,0,0,12780,2118,1,0,0,0,12781,12782,7,11,0,0,12782,12783,7,6,0,0,12783,12784,5,95,0,0,12784,12785,7,25,0,0,12785,12786,7,19,0,0,12786,12787,7,15,0,0,12787,12788,7,12,0,0,12788,12789,7,6,0,0,12789,12790,7,18,0,0,12790,12791,7,8,0,0,12791,12792,7,19,0,0,12792,12793,7,23,0,0,12793,12794,7,9,0,0,12794,12795,7,21,0,0,12795,12796,7,16,0,0,12796,2120,1,0,0,0,12797,12798,7,11,0,0,12798,12799,7,6,0,0,12799,12800,5,95,0,0,12800,12801,7,25,0,0,12801,12802,7,19,0,0,12802,12803,7,15,0,0,12803,12804,7,12,0,0,12804,12805,7,6,0,0,12805,12806,7,12,0,0,12806,2122,1,0,0,0,12807,12808,7,11,0,0,12808,12809,7,6,0,0,12809,12810,5,95,0,0,12810,12811,7,25,0,0,12811,12812,7,19,0,0,12812,12813,7,5,0,0,12813,12814,7,10,0,0,12814,12815,7,18,0,0,12815,12816,7,8,0,0,12816,12817,7,19,0,0,12817,12818,7,23,0,0,12818,12819,7,6,0,0,12819,12820,7,7,0,0,12820,12821,7,26,0,0,12821,12822,7,6,0,0,12822,2124,1,0,0,0,12823,12824,7,11,0,0,12824,12825,7,6,0,0,12825,12826,5,95,0,0,12826,12827,7,25,0,0,12827,12828,7,19,0,0,12828,12829,7,5,0,0,12829,12830,7,10,0,0,12830,12831,7,18,0,0,12831,12832,7,8,0,0,12832,12833,7,19,0,0,12833,12834,7,23,0,0,12834,12835,7,9,0,0,12835,12836,7,21,0,0,12836,12837,7,16,0,0,12837,2126,1,0,0,0,12838,12839,7,11,0,0,12839,12840,7,6,0,0,12840,12841,5,95,0,0,12841,12842,7,25,0,0,12842,12843,7,19,0,0,12843,12844,7,5,0,0,12844,12845,7,10,0,0,12845,12846,7,22,0,0,12846,12847,7,19,0,0,12847,12848,7,12,0,0,12848,12849,7,18,0,0,12849,12850,7,8,0,0,12850,12851,7,19,0,0,12851,12852,7,23,0,0,12852,12853,7,6,0,0,12853,12854,7,7,0,0,12854,12855,7,26,0,0,12855,12856,7,6,0,0,12856,2128,1,0,0,0,12857,12858,7,11,0,0,12858,12859,7,6,0,0,12859,12860,5,95,0,0,12860,12861,7,25,0,0,12861,12862,7,19,0,0,12862,12863,7,5,0,0,12863,12864,7,10,0,0,12864,12865,7,22,0,0,12865,12866,7,19,0,0,12866,12867,7,12,0,0,12867,12868,7,18,0,0,12868,12869,7,8,0,0,12869,12870,7,19,0,0,12870,12871,7,23,0,0,12871,12872,7,9,0,0,12872,12873,7,21,0,0,12873,12874,7,16,0,0,12874,2130,1,0,0,0,12875,12876,7,11,0,0,12876,12877,7,6,0,0,12877,12878,5,95,0,0,12878,12879,7,11,0,0,12879,12880,7,8,0,0,12880,12881,7,15,0,0,12881,12882,7,4,0,0,12882,2132,1,0,0,0,12883,12884,7,11,0,0,12884,12885,7,6,0,0,12885,12886,5,95,0,0,12886,12887,7,11,0,0,12887,12888,7,6,0,0,12888,12889,7,3,0,0,12889,12890,7,8,0,0,12890,12891,7,6,0,0,12891,12892,7,25,0,0,12892,12893,7,19,0,0,12893,12894,7,15,0,0,12894,12895,7,12,0,0,12895,12896,7,6,0,0,12896,2134,1,0,0,0,12897,12898,7,11,0,0,12898,12899,7,6,0,0,12899,12900,5,95,0,0,12900,12901,7,11,0,0,12901,12902,7,10,0,0,12902,12903,7,23,0,0,12903,12904,7,4,0,0,12904,12905,7,15,0,0,12905,12906,7,18,0,0,12906,12907,7,18,0,0,12907,12908,7,7,0,0,12908,12909,7,8,0,0,12909,12910,7,7,0,0,12910,12911,7,12,0,0,12911,12912,7,14,0,0,12912,12913,7,7,0,0,12913,2136,1,0,0,0,12914,12915,7,11,0,0,12915,12916,7,6,0,0,12916,12917,5,95,0,0,12917,12918,7,6,0,0,12918,12919,7,19,0,0,12919,12920,7,17,0,0,12920,12921,7,14,0,0,12921,12922,7,20,0,0,12922,12923,7,7,0,0,12923,12924,7,11,0,0,12924,2138,1,0,0,0,12925,12926,7,11,0,0,12926,12927,7,6,0,0,12927,12928,5,95,0,0,12928,12929,7,17,0,0,12929,12930,7,12,0,0,12930,12931,7,15,0,0,12931,12932,7,19,0,0,12932,12933,7,12,0,0,12933,2140,1,0,0,0,12934,12935,7,11,0,0,12935,12936,7,6,0,0,12936,12937,5,95,0,0,12937,12938,7,9,0,0,12938,12939,7,15,0,0,12939,12940,7,6,0,0,12940,12941,7,20,0,0,12941,12942,7,15,0,0,12942,12943,7,12,0,0,12943,2142,1,0,0,0,12944,12945,7,11,0,0,12945,12946,7,6,0,0,12946,12947,5,95,0,0,12947,12948,7,26,0,0,12948,2144,1,0,0,0,12949,12950,7,11,0,0,12950,12951,7,6,0,0,12951,12952,5,95,0,0,12952,12953,7,10,0,0,12953,2146,1,0,0,0,12954,12955,7,11,0,0,12955,12956,7,17,0,0,12956,12957,7,16,0,0,12957,12958,7,4,0,0,12958,12959,7,3,0,0,12959,12960,7,6,0,0,12960,12961,7,7,0,0,12961,2148,1,0,0,0,12962,12963,7,11,0,0,12963,12964,7,17,0,0,12964,12965,7,16,0,0,12965,12966,7,11,0,0,12966,12967,7,6,0,0,12967,12968,7,8,0,0,12968,12969,7,15,0,0,12969,12970,7,12,0,0,12970,12971,7,22,0,0,12971,12972,5,95,0,0,12972,12973,7,15,0,0,12973,12974,7,12,0,0,12974,12975,7,4,0,0,12975,12976,7,7,0,0,12976,12977,7,26,0,0,12977,2150,1,0,0,0,12978,12979,7,11,0,0,12979,12980,7,17,0,0,12980,12981,7,16,0,0,12981,12982,7,6,0,0,12982,12983,7,15,0,0,12983,12984,7,23,0,0,12984,12985,7,7,0,0,12985,2152,1,0,0,0,12986,12987,7,11,0,0,12987,12988,7,10,0,0,12988,12989,7,11,0,0,12989,12990,7,6,0,0,12990,12991,7,7,0,0,12991,12992,7,23,0,0,12992,12993,5,95,0,0,12993,12994,7,17,0,0,12994,12995,7,11,0,0,12995,12996,7,7,0,0,12996,12997,7,8,0,0,12997,2154,1,0,0,0,12998,12999,7,6,0,0,12999,13e3,7,3,0,0,13e3,13001,7,12,0,0,13001,2156,1,0,0,0,13002,13003,7,6,0,0,13003,13004,7,15,0,0,13004,13005,7,23,0,0,13005,13006,7,7,0,0,13006,13007,7,4,0,0,13007,13008,7,15,0,0,13008,13009,7,18,0,0,13009,13010,7,18,0,0,13010,2158,1,0,0,0,13011,13012,7,6,0,0,13012,13013,7,15,0,0,13013,13014,7,23,0,0,13014,13015,7,7,0,0,13015,13016,7,11,0,0,13016,13017,7,6,0,0,13017,13018,7,3,0,0,13018,13019,7,23,0,0,13019,13020,7,25,0,0,13020,13021,7,3,0,0,13021,13022,7,4,0,0,13022,13023,7,4,0,0,13023,2160,1,0,0,0,13024,13025,7,6,0,0,13025,13026,7,15,0,0,13026,13027,7,23,0,0,13027,13028,7,7,0,0,13028,13029,7,11,0,0,13029,13030,7,6,0,0,13030,13031,7,3,0,0,13031,13032,7,23,0,0,13032,13033,7,25,0,0,13033,13034,7,4,0,0,13034,13035,7,15,0,0,13035,13036,7,18,0,0,13036,13037,7,18,0,0,13037,2162,1,0,0,0,13038,13039,7,6,0,0,13039,13040,7,15,0,0,13040,13041,7,23,0,0,13041,13042,7,7,0,0,13042,13043,5,95,0,0,13043,13044,7,18,0,0,13044,13045,7,19,0,0,13045,13046,7,8,0,0,13046,13047,7,23,0,0,13047,13048,7,3,0,0,13048,13049,7,6,0,0,13049,2164,1,0,0,0,13050,13051,7,6,0,0,13051,13052,7,15,0,0,13052,13053,7,23,0,0,13053,13054,7,7,0,0,13054,13055,5,95,0,0,13055,13056,7,6,0,0,13056,13057,7,19,0,0,13057,13058,5,95,0,0,13058,13059,7,11,0,0,13059,13060,7,7,0,0,13060,13061,7,14,0,0,13061,2166,1,0,0,0,13062,13063,7,6,0,0,13063,13064,7,19,0,0,13064,13065,7,17,0,0,13065,13066,7,14,0,0,13066,13067,7,20,0,0,13067,13068,7,7,0,0,13068,13069,7,11,0,0,13069,2168,1,0,0,0,13070,13071,7,6,0,0,13071,13072,7,19,0,0,13072,13073,5,95,0,0,13073,13074,7,16,0,0,13074,13075,7,3,0,0,13075,13076,7,11,0,0,13076,13077,7,7,0,0,13077,13078,5,54,0,0,13078,13079,5,52,0,0,13079,2170,1,0,0,0,13080,13081,7,6,0,0,13081,13082,7,19,0,0,13082,13083,5,95,0,0,13083,13084,7,4,0,0,13084,13085,7,3,0,0,13085,13086,7,10,0,0,13086,13087,7,11,0,0,13087,2172,1,0,0,0,13088,13089,7,6,0,0,13089,13090,7,19,0,0,13090,13091,5,95,0,0,13091,13092,7,11,0,0,13092,13093,7,7,0,0,13093,13094,7,14,0,0,13094,13095,7,19,0,0,13095,13096,7,12,0,0,13096,13097,7,4,0,0,13097,13098,7,11,0,0,13098,2174,1,0,0,0,13099,13100,7,6,0,0,13100,13101,7,25,0,0,13101,13102,5,95,0,0,13102,13103,7,14,0,0,13103,13104,7,19,0,0,13104,13105,7,12,0,0,13105,13106,7,12,0,0,13106,13107,7,7,0,0,13107,13108,7,14,0,0,13108,13109,7,6,0,0,13109,13110,7,15,0,0,13110,13111,7,19,0,0,13111,13112,7,12,0,0,13112,13113,5,95,0,0,13113,13114,7,3,0,0,13114,13115,7,4,0,0,13115,13116,7,23,0,0,13116,13117,7,15,0,0,13117,13118,7,12,0,0,13118,2176,1,0,0,0,13119,13120,7,17,0,0,13120,13121,7,14,0,0,13121,13122,7,3,0,0,13122,13123,7,11,0,0,13123,13124,7,7,0,0,13124,2178,1,0,0,0,13125,13126,7,17,0,0,13126,13127,7,12,0,0,13127,13128,7,14,0,0,13128,13129,7,19,0,0,13129,13130,7,23,0,0,13130,13131,7,25,0,0,13131,13132,7,8,0,0,13132,13133,7,7,0,0,13133,13134,7,11,0,0,13134,13135,7,11,0,0,13135,2180,1,0,0,0,13136,13137,7,17,0,0,13137,13138,7,12,0,0,13138,13139,7,14,0,0,13139,13140,7,19,0,0,13140,13141,7,23,0,0,13141,13142,7,25,0,0,13142,13143,7,8,0,0,13143,13144,7,7,0,0,13144,13145,7,11,0,0,13145,13146,7,11,0,0,13146,13147,7,7,0,0,13147,13148,7,4,0,0,13148,13149,5,95,0,0,13149,13150,7,5,0,0,13150,13151,7,7,0,0,13151,13152,7,12,0,0,13152,13153,7,22,0,0,13153,13154,7,6,0,0,13154,13155,7,20,0,0,13155,2182,1,0,0,0,13156,13157,7,17,0,0,13157,13158,7,12,0,0,13158,13159,7,20,0,0,13159,13160,7,7,0,0,13160,13161,7,26,0,0,13161,2184,1,0,0,0,13162,13163,7,17,0,0,13163,13164,7,12,0,0,13164,13165,7,15,0,0,13165,13166,7,26,0,0,13166,13167,5,95,0,0,13167,13168,7,6,0,0,13168,13169,7,15,0,0,13169,13170,7,23,0,0,13170,13171,7,7,0,0,13171,13172,7,11,0,0,13172,13173,7,6,0,0,13173,13174,7,3,0,0,13174,13175,7,23,0,0,13175,13176,7,25,0,0,13176,2186,1,0,0,0,13177,13178,7,17,0,0,13178,13179,7,25,0,0,13179,13180,7,4,0,0,13180,13181,7,3,0,0,13181,13182,7,6,0,0,13182,13183,7,7,0,0,13183,13184,7,26,0,0,13184,13185,7,23,0,0,13185,13186,7,5,0,0,13186,2188,1,0,0,0,13187,13188,7,17,0,0,13188,13189,7,25,0,0,13189,13190,7,25,0,0,13190,13191,7,7,0,0,13191,13192,7,8,0,0,13192,2190,1,0,0,0,13193,13194,7,17,0,0,13194,13195,7,17,0,0,13195,13196,7,15,0,0,13196,13197,7,4,0,0,13197,2192,1,0,0,0,13198,13199,7,17,0,0,13199,13200,7,17,0,0,13200,13201,7,15,0,0,13201,13202,7,4,0,0,13202,13203,5,95,0,0,13203,13204,7,11,0,0,13204,13205,7,20,0,0,13205,13206,7,19,0,0,13206,13207,7,8,0,0,13207,13208,7,6,0,0,13208,2194,1,0,0,0,13209,13210,7,24,0,0,13210,13211,7,3,0,0,13211,13212,7,5,0,0,13212,13213,7,15,0,0,13213,13214,7,4,0,0,13214,13215,7,3,0,0,13215,13216,7,6,0,0,13216,13217,7,7,0,0,13217,13218,5,95,0,0,13218,13219,7,25,0,0,13219,13220,7,3,0,0,13220,13221,7,11,0,0,13221,13222,7,11,0,0,13222,13223,7,9,0,0,13223,13224,7,19,0,0,13224,13225,7,8,0,0,13225,13226,7,4,0,0,13226,13227,5,95,0,0,13227,13228,7,11,0,0,13228,13229,7,6,0,0,13229,13230,7,8,0,0,13230,13231,7,7,0,0,13231,13232,7,12,0,0,13232,13233,7,22,0,0,13233,13234,7,6,0,0,13234,13235,7,20,0,0,13235,2196,1,0,0,0,13236,13237,7,24,0,0,13237,13238,7,7,0,0,13238,13239,7,8,0,0,13239,13240,7,11,0,0,13240,13241,7,15,0,0,13241,13242,7,19,0,0,13242,13243,7,12,0,0,13243,2198,1,0,0,0,13244,13245,7,9,0,0,13245,13246,7,3,0,0,13246,13247,7,15,0,0,13247,13248,7,6,0,0,13248,13249,5,95,0,0,13249,13250,7,17,0,0,13250,13251,7,12,0,0,13251,13252,7,6,0,0,13252,13253,7,15,0,0,13253,13254,7,5,0,0,13254,13255,5,95,0,0,13255,13256,7,11,0,0,13256,13257,7,28,0,0,13257,13258,7,5,0,0,13258,13259,5,95,0,0,13259,13260,7,6,0,0,13260,13261,7,20,0,0,13261,13262,7,8,0,0,13262,13263,7,7,0,0,13263,13264,7,3,0,0,13264,13265,7,4,0,0,13265,13266,5,95,0,0,13266,13267,7,3,0,0,13267,13268,7,18,0,0,13268,13269,7,6,0,0,13269,13270,7,7,0,0,13270,13271,7,8,0,0,13271,13272,5,95,0,0,13272,13273,7,22,0,0,13273,13274,7,6,0,0,13274,13275,7,15,0,0,13275,13276,7,4,0,0,13276,13277,7,11,0,0,13277,2200,1,0,0,0,13278,13279,7,9,0,0,13279,13280,7,7,0,0,13280,13281,7,7,0,0,13281,13282,7,21,0,0,13282,13283,7,4,0,0,13283,13284,7,3,0,0,13284,13285,7,10,0,0,13285,2202,1,0,0,0,13286,13287,7,9,0,0,13287,13288,7,7,0,0,13288,13289,7,7,0,0,13289,13290,7,21,0,0,13290,13291,7,19,0,0,13291,13292,7,18,0,0,13292,13293,7,10,0,0,13293,13294,7,7,0,0,13294,13295,7,3,0,0,13295,13296,7,8,0,0,13296,2204,1,0,0,0,13297,13298,7,9,0,0,13298,13299,7,7,0,0,13299,13300,7,15,0,0,13300,13301,7,22,0,0,13301,13302,7,20,0,0,13302,13303,7,6,0,0,13303,13304,5,95,0,0,13304,13305,7,11,0,0,13305,13306,7,6,0,0,13306,13307,7,8,0,0,13307,13308,7,15,0,0,13308,13309,7,12,0,0,13309,13310,7,22,0,0,13310,2206,1,0,0,0,13311,13312,7,9,0,0,13312,13313,7,15,0,0,13313,13314,7,6,0,0,13314,13315,7,20,0,0,13315,13316,7,15,0,0,13316,13317,7,12,0,0,13317,2208,1,0,0,0,13318,13319,7,10,0,0,13319,13320,7,7,0,0,13320,13321,7,3,0,0,13321,13322,7,8,0,0,13322,13323,7,9,0,0,13323,13324,7,7,0,0,13324,13325,7,7,0,0,13325,13326,7,21,0,0,13326,2210,1,0,0,0,13327,13328,7,10,0,0,13328,2212,1,0,0,0,13329,13330,7,26,0,0,13330,2214,1,0,0,0,13331,13332,5,58,0,0,13332,13333,5,61,0,0,13333,2216,1,0,0,0,13334,13335,5,43,0,0,13335,13336,5,61,0,0,13336,2218,1,0,0,0,13337,13338,5,45,0,0,13338,13339,5,61,0,0,13339,2220,1,0,0,0,13340,13341,5,42,0,0,13341,13342,5,61,0,0,13342,2222,1,0,0,0,13343,13344,5,47,0,0,13344,13345,5,61,0,0,13345,2224,1,0,0,0,13346,13347,5,37,0,0,13347,13348,5,61,0,0,13348,2226,1,0,0,0,13349,13350,5,38,0,0,13350,13351,5,61,0,0,13351,2228,1,0,0,0,13352,13353,5,94,0,0,13353,13354,5,61,0,0,13354,2230,1,0,0,0,13355,13356,5,124,0,0,13356,13357,5,61,0,0,13357,2232,1,0,0,0,13358,13359,5,42,0,0,13359,2234,1,0,0,0,13360,13361,5,47,0,0,13361,2236,1,0,0,0,13362,13363,5,37,0,0,13363,2238,1,0,0,0,13364,13365,5,43,0,0,13365,2240,1,0,0,0,13366,13367,5,45,0,0,13367,2242,1,0,0,0,13368,13369,7,4,0,0,13369,13370,7,15,0,0,13370,13371,7,24,0,0,13371,2244,1,0,0,0,13372,13373,7,23,0,0,13373,13374,7,19,0,0,13374,13375,7,4,0,0,13375,2246,1,0,0,0,13376,13377,5,61,0,0,13377,2248,1,0,0,0,13378,13379,5,62,0,0,13379,2250,1,0,0,0,13380,13381,5,60,0,0,13381,2252,1,0,0,0,13382,13383,5,33,0,0,13383,2254,1,0,0,0,13384,13385,5,126,0,0,13385,2256,1,0,0,0,13386,13387,5,124,0,0,13387,2258,1,0,0,0,13388,13389,5,38,0,0,13389,2260,1,0,0,0,13390,13391,5,94,0,0,13391,2262,1,0,0,0,13392,13393,5,46,0,0,13393,2264,1,0,0,0,13394,13395,5,40,0,0,13395,2266,1,0,0,0,13396,13397,5,41,0,0,13397,2268,1,0,0,0,13398,13399,5,44,0,0,13399,2270,1,0,0,0,13400,13401,5,59,0,0,13401,2272,1,0,0,0,13402,13403,5,64,0,0,13403,2274,1,0,0,0,13404,13405,5,48,0,0,13405,2276,1,0,0,0,13406,13407,5,49,0,0,13407,2278,1,0,0,0,13408,13409,5,50,0,0,13409,2280,1,0,0,0,13410,13411,5,39,0,0,13411,2282,1,0,0,0,13412,13413,5,34,0,0,13413,2284,1,0,0,0,13414,13415,5,96,0,0,13415,2286,1,0,0,0,13416,13417,5,58,0,0,13417,2288,1,0,0,0,13418,13422,3,2281,1140,0,13419,13422,3,2283,1141,0,13420,13422,3,2285,1142,0,13421,13418,1,0,0,0,13421,13419,1,0,0,0,13421,13420,1,0,0,0,13422,2290,1,0,0,0,13423,13424,5,96,0,0,13424,13425,3,2323,1161,0,13425,13426,5,96,0,0,13426,2292,1,0,0,0,13427,13429,3,2337,1168,0,13428,13427,1,0,0,0,13429,13430,1,0,0,0,13430,13428,1,0,0,0,13430,13431,1,0,0,0,13431,13432,1,0,0,0,13432,13433,7,29,0,0,13433,2294,1,0,0,0,13434,13435,7,12,0,0,13435,13436,3,2331,1165,0,13436,2296,1,0,0,0,13437,13441,3,2329,1164,0,13438,13441,3,2331,1165,0,13439,13441,3,2333,1166,0,13440,13437,1,0,0,0,13440,13438,1,0,0,0,13440,13439,1,0,0,0,13441,2298,1,0,0,0,13442,13444,3,2337,1168,0,13443,13442,1,0,0,0,13444,13445,1,0,0,0,13445,13443,1,0,0,0,13445,13446,1,0,0,0,13446,2300,1,0,0,0,13447,13448,7,26,0,0,13448,13452,5,39,0,0,13449,13450,3,2335,1167,0,13450,13451,3,2335,1167,0,13451,13453,1,0,0,0,13452,13449,1,0,0,0,13453,13454,1,0,0,0,13454,13452,1,0,0,0,13454,13455,1,0,0,0,13455,13456,1,0,0,0,13456,13457,5,39,0,0,13457,13467,1,0,0,0,13458,13459,5,48,0,0,13459,13460,7,26,0,0,13460,13462,1,0,0,0,13461,13463,3,2335,1167,0,13462,13461,1,0,0,0,13463,13464,1,0,0,0,13464,13462,1,0,0,0,13464,13465,1,0,0,0,13465,13467,1,0,0,0,13466,13447,1,0,0,0,13466,13458,1,0,0,0,13467,2302,1,0,0,0,13468,13470,3,2337,1168,0,13469,13468,1,0,0,0,13470,13473,1,0,0,0,13471,13469,1,0,0,0,13471,13472,1,0,0,0,13472,13474,1,0,0,0,13473,13471,1,0,0,0,13474,13476,5,46,0,0,13475,13477,3,2337,1168,0,13476,13475,1,0,0,0,13477,13478,1,0,0,0,13478,13476,1,0,0,0,13478,13479,1,0,0,0,13479,13510,1,0,0,0,13480,13482,3,2337,1168,0,13481,13480,1,0,0,0,13482,13483,1,0,0,0,13483,13481,1,0,0,0,13483,13484,1,0,0,0,13484,13485,1,0,0,0,13485,13486,5,46,0,0,13486,13487,3,2325,1162,0,13487,13510,1,0,0,0,13488,13490,3,2337,1168,0,13489,13488,1,0,0,0,13490,13493,1,0,0,0,13491,13489,1,0,0,0,13491,13492,1,0,0,0,13492,13494,1,0,0,0,13493,13491,1,0,0,0,13494,13496,5,46,0,0,13495,13497,3,2337,1168,0,13496,13495,1,0,0,0,13497,13498,1,0,0,0,13498,13496,1,0,0,0,13498,13499,1,0,0,0,13499,13500,1,0,0,0,13500,13501,3,2325,1162,0,13501,13510,1,0,0,0,13502,13504,3,2337,1168,0,13503,13502,1,0,0,0,13504,13505,1,0,0,0,13505,13503,1,0,0,0,13505,13506,1,0,0,0,13506,13507,1,0,0,0,13507,13508,3,2325,1162,0,13508,13510,1,0,0,0,13509,13471,1,0,0,0,13509,13481,1,0,0,0,13509,13491,1,0,0,0,13509,13503,1,0,0,0,13510,2304,1,0,0,0,13511,13512,5,92,0,0,13512,13513,7,12,0,0,13513,2306,1,0,0,0,13514,13515,3,2339,1169,0,13515,2308,1,0,0,0,13516,13517,5,95,0,0,13517,13518,3,2323,1161,0,13518,2310,1,0,0,0,13519,13520,5,46,0,0,13520,13521,3,2327,1163,0,13521,2312,1,0,0,0,13522,13523,3,2327,1163,0,13523,2314,1,0,0,0,13524,13525,3,2333,1166,0,13525,2316,1,0,0,0,13526,13527,3,2273,1136,0,13527,13528,3,2341,1170,0,13528,2318,1,0,0,0,13529,13536,3,2273,1136,0,13530,13537,3,2297,1148,0,13531,13533,7,30,0,0,13532,13531,1,0,0,0,13533,13534,1,0,0,0,13534,13532,1,0,0,0,13534,13535,1,0,0,0,13535,13537,1,0,0,0,13536,13530,1,0,0,0,13536,13532,1,0,0,0,13537,2320,1,0,0,0,13538,13539,3,2273,1136,0,13539,13546,3,2273,1136,0,13540,13542,7,30,0,0,13541,13540,1,0,0,0,13542,13543,1,0,0,0,13543,13541,1,0,0,0,13543,13544,1,0,0,0,13544,13547,1,0,0,0,13545,13547,3,2333,1166,0,13546,13541,1,0,0,0,13546,13545,1,0,0,0,13547,2322,1,0,0,0,13548,13590,3,1491,745,0,13549,13590,3,1493,746,0,13550,13590,3,1495,747,0,13551,13590,3,451,225,0,13552,13590,3,1497,748,0,13553,13590,3,1499,749,0,13554,13590,3,1501,750,0,13555,13590,3,1503,751,0,13556,13590,3,1505,752,0,13557,13590,3,1507,753,0,13558,13590,3,1509,754,0,13559,13590,3,1511,755,0,13560,13590,3,1513,756,0,13561,13590,3,1515,757,0,13562,13590,3,1517,758,0,13563,13590,3,1521,760,0,13564,13590,3,1523,761,0,13565,13590,3,1525,762,0,13566,13590,3,1527,763,0,13567,13590,3,1529,764,0,13568,13590,3,1531,765,0,13569,13590,3,1533,766,0,13570,13590,3,1535,767,0,13571,13590,3,1537,768,0,13572,13590,3,1539,769,0,13573,13590,3,1541,770,0,13574,13590,3,1543,771,0,13575,13590,3,1545,772,0,13576,13590,3,1547,773,0,13577,13590,3,1549,774,0,13578,13590,3,1551,775,0,13579,13590,3,1553,776,0,13580,13590,3,1555,777,0,13581,13590,3,1557,778,0,13582,13590,3,1559,779,0,13583,13590,3,1561,780,0,13584,13590,3,1563,781,0,13585,13590,3,1565,782,0,13586,13590,3,1567,783,0,13587,13590,3,1569,784,0,13588,13590,3,1571,785,0,13589,13548,1,0,0,0,13589,13549,1,0,0,0,13589,13550,1,0,0,0,13589,13551,1,0,0,0,13589,13552,1,0,0,0,13589,13553,1,0,0,0,13589,13554,1,0,0,0,13589,13555,1,0,0,0,13589,13556,1,0,0,0,13589,13557,1,0,0,0,13589,13558,1,0,0,0,13589,13559,1,0,0,0,13589,13560,1,0,0,0,13589,13561,1,0,0,0,13589,13562,1,0,0,0,13589,13563,1,0,0,0,13589,13564,1,0,0,0,13589,13565,1,0,0,0,13589,13566,1,0,0,0,13589,13567,1,0,0,0,13589,13568,1,0,0,0,13589,13569,1,0,0,0,13589,13570,1,0,0,0,13589,13571,1,0,0,0,13589,13572,1,0,0,0,13589,13573,1,0,0,0,13589,13574,1,0,0,0,13589,13575,1,0,0,0,13589,13576,1,0,0,0,13589,13577,1,0,0,0,13589,13578,1,0,0,0,13589,13579,1,0,0,0,13589,13580,1,0,0,0,13589,13581,1,0,0,0,13589,13582,1,0,0,0,13589,13583,1,0,0,0,13589,13584,1,0,0,0,13589,13585,1,0,0,0,13589,13586,1,0,0,0,13589,13587,1,0,0,0,13589,13588,1,0,0,0,13590,2324,1,0,0,0,13591,13593,7,7,0,0,13592,13594,7,31,0,0,13593,13592,1,0,0,0,13593,13594,1,0,0,0,13594,13596,1,0,0,0,13595,13597,3,2337,1168,0,13596,13595,1,0,0,0,13597,13598,1,0,0,0,13598,13596,1,0,0,0,13598,13599,1,0,0,0,13599,2326,1,0,0,0,13600,13602,7,32,0,0,13601,13600,1,0,0,0,13602,13605,1,0,0,0,13603,13604,1,0,0,0,13603,13601,1,0,0,0,13604,13607,1,0,0,0,13605,13603,1,0,0,0,13606,13608,7,33,0,0,13607,13606,1,0,0,0,13608,13609,1,0,0,0,13609,13610,1,0,0,0,13609,13607,1,0,0,0,13610,13614,1,0,0,0,13611,13613,7,32,0,0,13612,13611,1,0,0,0,13613,13616,1,0,0,0,13614,13612,1,0,0,0,13614,13615,1,0,0,0,13615,2328,1,0,0,0,13616,13614,1,0,0,0,13617,13625,5,34,0,0,13618,13619,5,92,0,0,13619,13624,9,0,0,0,13620,13621,5,34,0,0,13621,13624,5,34,0,0,13622,13624,8,34,0,0,13623,13618,1,0,0,0,13623,13620,1,0,0,0,13623,13622,1,0,0,0,13624,13627,1,0,0,0,13625,13623,1,0,0,0,13625,13626,1,0,0,0,13626,13628,1,0,0,0,13627,13625,1,0,0,0,13628,13629,5,34,0,0,13629,2330,1,0,0,0,13630,13638,5,39,0,0,13631,13632,5,92,0,0,13632,13637,9,0,0,0,13633,13634,5,39,0,0,13634,13637,5,39,0,0,13635,13637,8,35,0,0,13636,13631,1,0,0,0,13636,13633,1,0,0,0,13636,13635,1,0,0,0,13637,13640,1,0,0,0,13638,13636,1,0,0,0,13638,13639,1,0,0,0,13639,13641,1,0,0,0,13640,13638,1,0,0,0,13641,13642,5,39,0,0,13642,2332,1,0,0,0,13643,13649,5,96,0,0,13644,13648,8,36,0,0,13645,13646,5,96,0,0,13646,13648,5,96,0,0,13647,13644,1,0,0,0,13647,13645,1,0,0,0,13648,13651,1,0,0,0,13649,13647,1,0,0,0,13649,13650,1,0,0,0,13650,13652,1,0,0,0,13651,13649,1,0,0,0,13652,13653,5,96,0,0,13653,2334,1,0,0,0,13654,13655,7,37,0,0,13655,2336,1,0,0,0,13656,13657,7,38,0,0,13657,2338,1,0,0,0,13658,13659,7,16,0,0,13659,13661,5,39,0,0,13660,13662,7,39,0,0,13661,13660,1,0,0,0,13662,13663,1,0,0,0,13663,13661,1,0,0,0,13663,13664,1,0,0,0,13664,13665,1,0,0,0,13665,13666,5,39,0,0,13666,2340,1,0,0,0,13667,13669,7,38,0,0,13668,13667,1,0,0,0,13669,13670,1,0,0,0,13670,13668,1,0,0,0,13670,13671,1,0,0,0,13671,13672,1,0,0,0,13672,13674,5,46,0,0,13673,13675,7,40,0,0,13674,13673,1,0,0,0,13675,13676,1,0,0,0,13676,13674,1,0,0,0,13676,13677,1,0,0,0,13677,13698,1,0,0,0,13678,13680,7,37,0,0,13679,13678,1,0,0,0,13680,13683,1,0,0,0,13681,13679,1,0,0,0,13681,13682,1,0,0,0,13682,13684,1,0,0,0,13683,13681,1,0,0,0,13684,13688,5,58,0,0,13685,13687,7,37,0,0,13686,13685,1,0,0,0,13687,13690,1,0,0,0,13688,13686,1,0,0,0,13688,13689,1,0,0,0,13689,13691,1,0,0,0,13690,13688,1,0,0,0,13691,13693,5,58,0,0,13692,13694,7,41,0,0,13693,13692,1,0,0,0,13694,13695,1,0,0,0,13695,13693,1,0,0,0,13695,13696,1,0,0,0,13696,13698,1,0,0,0,13697,13668,1,0,0,0,13697,13681,1,0,0,0,13698,2342,1,0,0,0,13699,13700,9,0,0,0,13700,13701,1,0,0,0,13701,13702,6,1171,2,0,13702,2344,1,0,0,0,51,0,2348,2359,2372,2386,2390,2395,2399,2403,2409,2413,2415,9261,9288,13421,13430,13440,13445,13454,13464,13466,13471,13478,13483,13491,13498,13505,13509,13534,13536,13543,13546,13589,13593,13598,13603,13609,13614,13623,13625,13636,13638,13647,13649,13663,13670,13676,13681,13688,13695,13697,3,0,1,0,6,0,0,0,3,0],Ki.vocabulary=new Ra(Ki.literalNames,Ki.symbolicNames,[]),Ki.decisionsToDFA=Ki._ATN.decisionToState.map(((t,e)=>new ni(t,e))),Ki),FC=(Qi=class t extends Cc{get grammarFileName(){return"MySqlParser.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}createFailedPredicateException(t,e){return new Sc(this,t,e)}constructor(e){super(e),this.interpreter=new Ai(this,t._ATN,t.decisionsToDFA,new Si)}root(){let e,s=new vC(this.context,this.state);this.enterRule(s,0,t.RULE_root);try{this.enterOuterAlt(s,1),this.state=751,this.errorHandler.sync(this),e=this.tokenStream.LA(1),(!(-32&e)&&1<'","'<'","'!'","'~'","'|'","'&'","'^'","'.'","'('","')'","','","';'","'@'","'0'","'1'","'2'","'''","'\"'","'`'","':'"],Qi.symbolicNames=[null,"SPACE","SPEC_MYSQL_COMMENT","COMMENT_INPUT","LINE_COMMENT","ADD","ALL","ALTER","ALWAYS","ANALYZE","AND","ARRAY","AS","ASC","ATTRIBUTE","BEFORE","BETWEEN","BOTH","BUCKETS","BY","CALL","CASCADE","CASE","CAST","CHANGE","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_ROLE","CURRENT_USER","CURSOR","DATABASE","DATABASES","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DIAGNOSTICS","DISTINCT","DISTINCTROW","DROP","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ENFORCED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GET","GRANT","GROUP","HAVING","HIGH_PRIORITY","HISTOGRAM","IF","IGNORE","IGNORED","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LATERAL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCK","LOCKED","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINVALUE","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL_LITERAL","NUMBER","ON","OPTIMIZE","OPTION","OPTIONAL","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETAIN","RETURN","REVOKE","RIGHT","RLIKE","SCHEMA","SCHEMAS","SELECT","SET","SEPARATOR","SHOW","SIGNAL","SKIP_","SKIP_QUERY_REWRITE","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STACKED","STARTING","STATEMENT","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","VALUES","WHEN","WHERE","WHILE","WITH","WRITE","XOR","ZEROFILL","TINYINT","SMALLINT","MEDIUMINT","MIDDLEINT","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","BIGINT","REAL","DOUBLE","PRECISION","FLOAT","FLOAT4","FLOAT8","DECIMAL","DEC","NUMERIC","DATE","TIME","TIMESTAMP","DATETIME","YEAR","CHAR","VARCHAR","NVARCHAR","NATIONAL","BINARY","VARBINARY","TINYBLOB","BLOB","MEDIUMBLOB","LONG","LONGBLOB","TINYTEXT","TEXT","MEDIUMTEXT","LONGTEXT","ENUM","VARYING","SERIAL","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND","SECOND_MICROSECOND","MINUTE_MICROSECOND","HOUR_MICROSECOND","DAY_MICROSECOND","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","NESTED","ORDINALITY","PATH","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","GROUP_CONCAT","LAG","LAST_VALUE","LEAD","MAX","MIN","NTILE","NTH_VALUE","PERCENT_RANK","RANK","ROW_NUMBER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","LOCALTIME","CURDATE","CURTIME","DATE_ADD","DATE_SUB","EXTRACT","LOCALTIMESTAMP","NOW","POSITION","SUBSTR","SUBSTRING","SYSDATE","TRIM","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","ACCOUNT","ACTION","AFTER","AGGREGATE","ALGORITHM","ANY","AT","AUTHORS","AUTOCOMMIT","AUTOEXTEND_SIZE","AUTO_INCREMENT","AVG_ROW_LENGTH","BEGIN","BINLOG","BIT","BLOCK","BOOL","BOOLEAN","BTREE","CACHE","CASCADED","CHAIN","CHANGED","CHANNEL","CHECKSUM","PAGE_CHECKSUM","CIPHER","CLASS_ORIGIN","CLIENT","CLOSE","CLUSTERING","COALESCE","CODE","COLUMNS","COLUMN_FORMAT","COLUMN_NAME","COMMENT","COMMIT","COMPACT","COMPLETION","COMPRESSED","COMPRESSION","CONCURRENT","CONNECT","CONNECTION","CONSISTENT","CONSTRAINT_CATALOG","CONSTRAINT_SCHEMA","CONSTRAINT_NAME","CONTAINS","CONTEXT","CONTRIBUTORS","COPY","CPU","CYCLE","CURSOR_NAME","DATA","DATAFILE","DEALLOCATE","DEFAULT_AUTH","DEFINER","DELAY_KEY_WRITE","DES_KEY_FILE","DIRECTORY","DISABLE","DISCARD","DISK","DO","DUMPFILE","DUPLICATE","DYNAMIC","ENABLE","ENCRYPTED","ENCRYPTION","ENCRYPTION_KEY_ID","END","ENDS","ENGINE","ENGINES","ERROR","ERRORS","ESCAPE","EVEN","EVENT","EVENTS","EVERY","EXCHANGE","EXCLUSIVE","EXPIRE","EXPORT","EXTENDED","EXTENT_SIZE","FAILED_LOGIN_ATTEMPTS","FAST","FAULTS","FIELDS","FILE_BLOCK_SIZE","FILTER","FIRST","FIXED","FLUSH","FOLLOWING","FOLLOWS","FOUND","FULL","FUNCTION","GENERAL","GLOBAL","GRANTS","GROUP_REPLICATION","HANDLER","HASH","HELP","HISTORY","HOST","HOSTS","IDENTIFIED","IGNORE_SERVER_IDS","IMPORT","INCREMENT","INDEXES","INITIAL_SIZE","INPLACE","INSERT_METHOD","INSTALL","INSTANCE","INSTANT","INVISIBLE","INVOKER","IO","IO_THREAD","IPC","ISOLATION","ISSUER","JSON","KEY_BLOCK_SIZE","LANGUAGE","LAST","LEAVES","LESS","LEVEL","LIST","LOCAL","LOGFILE","LOGS","MASTER","MASTER_AUTO_POSITION","MASTER_CONNECT_RETRY","MASTER_DELAY","MASTER_HEARTBEAT_PERIOD","MASTER_HOST","MASTER_LOG_FILE","MASTER_LOG_POS","MASTER_PASSWORD","MASTER_PORT","MASTER_RETRY_COUNT","MASTER_SSL","MASTER_SSL_CA","MASTER_SSL_CAPATH","MASTER_SSL_CERT","MASTER_SSL_CIPHER","MASTER_SSL_CRL","MASTER_SSL_CRLPATH","MASTER_SSL_KEY","MASTER_TLS_VERSION","MASTER_USER","MAX_CONNECTIONS_PER_HOUR","MAX_QUERIES_PER_HOUR","MAX_ROWS","MAX_SIZE","MAX_UPDATES_PER_HOUR","MAX_USER_CONNECTIONS","MEDIUM","MEMBER","MERGE","MESSAGE_TEXT","MID","MIGRATE","MIN_ROWS","MODE","MODIFY","MUTEX","MYSQL","MYSQL_ERRNO","NAME","NAMES","NCHAR","NEVER","NEXT","NO","NOCACHE","NOCOPY","NOCYCLE","NOMAXVALUE","NOMINVALUE","NOWAIT","NODEGROUP","NONE","ODBC","OFFLINE","OFFSET","OF","OJ","OLD_PASSWORD","ONE","ONLINE","ONLY","OPEN","OPTIMIZER_COSTS","OPTIONS","OWNER","PACK_KEYS","PAGE","PAGE_COMPRESSED","PAGE_COMPRESSION_LEVEL","PARSER","PARTIAL","PARTITIONING","PARTITIONS","PASSWORD","PASSWORD_LOCK_TIME","PHASE","PLUGIN","PLUGIN_DIR","PLUGINS","PORT","PRECEDES","PRECEDING","PREPARE","PRESERVE","PREV","PROCESSLIST","PROFILE","PROFILES","PROXY","QUERY","QUICK","REBUILD","RECOVER","RECURSIVE","REDO_BUFFER_SIZE","REDUNDANT","RELAY","RELAY_LOG_FILE","RELAY_LOG_POS","RELAYLOG","REMOVE","REORGANIZE","REPAIR","REPLICATE_DO_DB","REPLICATE_DO_TABLE","REPLICATE_IGNORE_DB","REPLICATE_IGNORE_TABLE","REPLICATE_REWRITE_DB","REPLICATE_WILD_DO_TABLE","REPLICATE_WILD_IGNORE_TABLE","REPLICATION","RESET","RESTART","RESUME","RETURNED_SQLSTATE","RETURNING","RETURNS","REUSE","ROLE","ROLLBACK","ROLLUP","ROTATE","ROW","ROWS","ROW_FORMAT","RTREE","SAVEPOINT","SCHEDULE","SECURITY","SEQUENCE","SERVER","SESSION","SHARE","SHARED","SIGNED","SIMPLE","SLAVE","SLOW","SNAPSHOT","SOCKET","SOME","SONAME","SOUNDS","SOURCE","SQL_AFTER_GTIDS","SQL_AFTER_MTS_GAPS","SQL_BEFORE_GTIDS","SQL_BUFFER_RESULT","SQL_CACHE","SQL_NO_CACHE","SQL_THREAD","START","STARTS","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STATUS","STOP","STORAGE","STORED","STRING","SUBCLASS_ORIGIN","SUBJECT","SUBPARTITION","SUBPARTITIONS","SUSPEND","SWAPS","SWITCHES","TABLE_NAME","TABLESPACE","TABLE_TYPE","TEMPORARY","TEMPTABLE","THAN","TRADITIONAL","TRANSACTION","TRANSACTIONAL","TRIGGERS","TRUNCATE","UNBOUNDED","UNDEFINED","UNDOFILE","UNDO_BUFFER_SIZE","UNINSTALL","UNKNOWN","UNTIL","UPGRADE","USER","USE_FRM","USER_RESOURCES","VALIDATION","VALUE","VARIABLES","VIEW","VIRTUAL","VISIBLE","WAIT","WARNINGS","WINDOW","WITHOUT","WORK","WRAPPER","X509","XA","XML","YES","EUR","USA","JIS","ISO","INTERNAL","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","MICROSECOND","ADMIN","APPLICATION_PASSWORD_ADMIN","AUDIT_ABORT_EXEMPT","AUDIT_ADMIN","AUTHENTICATION_POLICY_ADMIN","BACKUP_ADMIN","BINLOG_ADMIN","BINLOG_ENCRYPTION_ADMIN","CLONE_ADMIN","CONNECTION_ADMIN","ENCRYPTION_KEY_ADMIN","EXECUTE","FILE","FIREWALL_ADMIN","FIREWALL_EXEMPT","FIREWALL_USER","FLUSH_OPTIMIZER_COSTS","FLUSH_STATUS","FLUSH_TABLES","FLUSH_USER_RESOURCES","GROUP_REPLICATION_ADMIN","INNODB_REDO_LOG_ARCHIVE","INNODB_REDO_LOG_ENABLE","INVOKE","LAMBDA","NDB_STORED_USER","PASSWORDLESS_USER_ADMIN","PERSIST_RO_VARIABLES_ADMIN","PRIVILEGES","PROCESS","RELOAD","REPLICATION_APPLIER","REPLICATION_SLAVE_ADMIN","RESOURCE_GROUP_ADMIN","RESOURCE_GROUP_USER","ROLE_ADMIN","ROUTINE","S3","SERVICE_CONNECTION_ADMIN","SESSION_VARIABLES_ADMIN","SET_USER_ID","SHOW_ROUTINE","SHUTDOWN","SUPER","SYSTEM_VARIABLES_ADMIN","TABLES","TABLE_ENCRYPTION_ADMIN","VERSION_TOKEN_ADMIN","XA_RECOVER_ADMIN","ARMSCII8","ASCII","BIG5","CP1250","CP1251","CP1256","CP1257","CP850","CP852","CP866","CP932","DEC8","EUCJPMS","EUCKR","GB18030","GB2312","GBK","GEOSTD8","GREEK","HEBREW","HP8","KEYBCS2","KOI8R","KOI8U","LATIN1","LATIN2","LATIN5","LATIN7","MACCE","MACROMAN","SJIS","SWE7","TIS620","UCS2","UJIS","UTF16","UTF16LE","UTF32","UTF8","UTF8MB3","UTF8MB4","ARCHIVE","BLACKHOLE","CSV","FEDERATED","INNODB","MEMORY","MRG_MYISAM","MYISAM","NDB","NDBCLUSTER","PERFORMANCE_SCHEMA","TOKUDB","REPEATABLE","COMMITTED","UNCOMMITTED","SERIALIZABLE","GEOMETRYCOLLECTION","GEOMCOLLECTION","GEOMETRY","LINESTRING","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","POINT","POLYGON","ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","AREA","ASBINARY","ASIN","ASTEXT","ASWKB","ASWKT","ASYMMETRIC_DECRYPT","ASYMMETRIC_DERIVE","ASYMMETRIC_ENCRYPT","ASYMMETRIC_SIGN","ASYMMETRIC_VERIFY","ATAN","ATAN2","BENCHMARK","BIN","BIT_COUNT","BIT_LENGTH","BUFFER","CATALOG_NAME","CEIL","CEILING","CENTROID","CHARACTER_LENGTH","CHARSET","CHAR_LENGTH","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","CREATE_ASYMMETRIC_PRIV_KEY","CREATE_ASYMMETRIC_PUB_KEY","CREATE_DH_PARAMETERS","CREATE_DIGEST","CROSSES","DATEDIFF","DATE_FORMAT","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEGREES","DES_DECRYPT","DES_ENCRYPT","DIMENSION","DISJOINT","ELT","ENCODE","ENCRYPT","ENDPOINT","ENGINE_ATTRIBUTE","ENVELOPE","EQUALS","EXP","EXPORT_SET","EXTERIORRING","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLFROMTEXT","GEOMCOLLFROMWKB","GEOMETRYCOLLECTIONFROMTEXT","GEOMETRYCOLLECTIONFROMWKB","GEOMETRYFROMTEXT","GEOMETRYFROMWKB","GEOMETRYN","GEOMETRYTYPE","GEOMFROMTEXT","GEOMFROMWKB","GET_FORMAT","GET_LOCK","GLENGTH","GREATEST","GTID_SUBSET","GTID_SUBTRACT","HEX","IFNULL","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSTR","INTERIORRINGN","INTERSECTS","ISCLOSED","ISEMPTY","ISNULL","ISSIMPLE","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LINEFROMTEXT","LINEFROMWKB","LINESTRINGFROMTEXT","LINESTRINGFROMWKB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKEDATE","MAKETIME","MAKE_SET","MASTER_POS_WAIT","MBRCONTAINS","MBRDISJOINT","MBREQUAL","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MLINEFROMTEXT","MLINEFROMWKB","MONTHNAME","MPOINTFROMTEXT","MPOINTFROMWKB","MPOLYFROMTEXT","MPOLYFROMWKB","MULTILINESTRINGFROMTEXT","MULTILINESTRINGFROMWKB","MULTIPOINTFROMTEXT","MULTIPOINTFROMWKB","MULTIPOLYGONFROMTEXT","MULTIPOLYGONFROMWKB","NAME_CONST","NULLIF","NUMGEOMETRIES","NUMINTERIORRINGS","NUMPOINTS","OCT","OCTET_LENGTH","ORD","OVERLAPS","PERIOD_ADD","PERIOD_DIFF","PI","POINTFROMTEXT","POINTFROMWKB","POINTN","POLYFROMTEXT","POLYFROMWKB","POLYGONFROMTEXT","POLYGONFROMWKB","POW","POWER","QUOTE","RADIANS","RAND","RANDOM","RANDOM_BYTES","RELEASE_LOCK","REVERSE","ROUND","ROW_COUNT","RPAD","RTRIM","SEC_TO_TIME","SECONDARY_ENGINE_ATTRIBUTE","SESSION_USER","SHA","SHA1","SHA2","SCHEMA_NAME","SIGN","SIN","SLEEP","SOUNDEX","SQL_THREAD_WAIT_AFTER_GTIDS","SQRT","SRID","STARTPOINT","STRCMP","STR_TO_DATE","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_ASWKB","ST_ASWKT","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMTXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYCOLLECTIONFROMTEXT","ST_GEOMETRYCOLLECTIONFROMWKB","ST_GEOMETRYFROMTEXT","ST_GEOMETRYFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINESTRINGFROMTEXT","ST_LINESTRINGFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMINTERIORRINGS","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_POLYGONFROMTEXT","ST_POLYGONFROMWKB","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_Y","SUBDATE","SUBSTRING_INDEX","SUBTIME","SYSTEM_USER","TAN","TIMEDIFF","TIMESTAMPADD","TIMESTAMPDIFF","TIME_FORMAT","TIME_TO_SEC","TOUCHES","TO_BASE64","TO_DAYS","TO_SECONDS","TP_CONNECTION_ADMIN","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VALIDATE_PASSWORD_STRENGTH","VERSION","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","WITHIN","YEARWEEK","Y_FUNCTION","X_FUNCTION","VAR_ASSIGN","PLUS_ASSIGN","MINUS_ASSIGN","MULT_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","STAR","DIVIDE","MODULE","PLUS","MINUS","DIV","MOD","EQUAL_SYMBOL","GREATER_SYMBOL","LESS_SYMBOL","EXCLAMATION_SYMBOL","BIT_NOT_OP","BIT_OR_OP","BIT_AND_OP","BIT_XOR_OP","DOT","LR_BRACKET","RR_BRACKET","COMMA","SEMI","AT_SIGN","ZERO_DECIMAL","ONE_DECIMAL","TWO_DECIMAL","SINGLE_QUOTE_SYMB","DOUBLE_QUOTE_SYMB","REVERSE_QUOTE_SYMB","COLON_SYMB","CHARSET_REVERSE_QOUTE_STRING","FILESIZE_LITERAL","START_NATIONAL_STRING_LITERAL","STRING_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","REAL_LITERAL","NULL_SPEC_LITERAL","BIT_STRING","STRING_CHARSET_NAME","DOT_ID","ID","REVERSE_QUOTE_ID","HOST_IP_ADDRESS","LOCAL_ID","GLOBAL_ID","ERROR_RECONGNIGION"],Qi.ruleNames=["root","statements","statement","ddlStatement","dmlStatement","transactionStatement","replicationStatement","preparedStatement","compoundStatement","administrationStatement","utilityStatement","createDatabase","createEvent","createIndex","createLogfileGroup","createProcedure","createFunction","createRole","createServer","createTable","createTablespaceInnodb","createTablespaceNdb","createTrigger","withClause","commonTableExpressions","cteName","cteColumnName","createView","createDatabaseOption","charSet","currentUserExpression","ownerStatement","scheduleExpression","timestampValue","intervalExpr","intervalType","enableType","indexType","indexOption","procedureParameter","functionParameter","routineOption","serverOption","createDefinitions","createDefinition","columnDefinition","columnConstraint","tableConstraint","referenceDefinition","referenceAction","referenceControlType","indexColumnDefinition","tableOption","tableType","tablespaceStorage","partitionDefinitions","partitionFunctionDefinition","subpartitionFunctionDefinition","partitionDefinition","partitionDefinerAtom","partitionDefinerVector","subpartitionDefinition","partitionOption","alterDatabase","alterEvent","alterFunction","alterInstance","alterLogfileGroup","alterProcedure","alterServer","alterTable","alterTablespace","alterView","alterSpecification","alterPartitionSpecification","dropDatabase","dropEvent","dropIndex","dropLogfileGroup","dropProcedure","dropFunction","dropServer","dropTable","dropTablespace","dropTrigger","dropView","dropRole","setRole","renameTable","renameTableClause","truncateTable","callStatement","deleteStatement","doStatement","handlerStatement","insertStatement","loadDataStatement","loadXmlStatement","replaceStatement","selectStatement","updateStatement","valuesStatement","insertStatementValue","updatedElement","assignmentField","lockClause","singleDeleteStatement","multipleDeleteStatement","handlerOpenStatement","handlerReadIndexStatement","handlerReadStatement","handlerCloseStatement","singleUpdateStatement","multipleUpdateStatement","orderByClause","orderByExpression","tableSources","tableSource","tableSourceItem","indexHint","indexHintType","joinPart","joinSpec","queryExpression","queryExpressionNointo","querySpecification","querySpecificationNointo","unionParenthesis","unionStatement","lateralStatement","jsonTable","jsonColumnList","jsonColumn","jsonOnEmpty","jsonOnError","selectSpec","selectElements","selectElementAlias","selectElement","selectIntoExpression","selectFieldsInto","selectLinesInto","fromClause","groupByClause","havingClause","windowClause","groupByItem","limitClause","limitClauseAtom","startTransaction","beginWork","commitWork","rollbackWork","savepointStatement","rollbackStatement","releaseStatement","lockTables","unlockTables","setAutocommitStatement","setTransactionStatement","transactionMode","lockTableElement","lockAction","transactionOption","transactionLevel","changeMaster","changeReplicationFilter","purgeBinaryLogs","resetMaster","resetSlave","startSlave","stopSlave","startGroupReplication","stopGroupReplication","masterOption","stringMasterOption","decimalMasterOption","boolMasterOption","channelOption","replicationFilter","tablePair","threadType","untilOption","connectionOption","gtuidSet","xaStartTransaction","xaEndTransaction","xaPrepareStatement","xaCommitWork","xaRollbackWork","xaRecoverWork","prepareStatement","executeStatement","deallocatePrepare","routineBody","blockStatement","caseStatement","ifStatement","iterateStatement","leaveStatement","loopStatement","repeatStatement","returnStatement","whileStatement","cursorStatement","declareVariable","declareCondition","declareCursor","declareHandler","handlerConditionValue","procedureSqlStatement","caseAlternative","elifAlternative","alterUser","createUser","dropUser","grantStatement","roleOption","grantProxy","renameUser","revokeStatement","revokeProxy","setPasswordStatement","userSpecification","newUserAuthOptionList","newUserAuthOption","authOptionClause","authenticationRule","tlsOption","userResourceOption","userPasswordOption","userLockOption","privelegeClause","privilege","privilegeLevel","renameUserClause","analyzeTable","checkTable","checksumTable","optimizeTable","repairTable","checkTableOption","createUdfunction","installPlugin","uninstallPlugin","setStatement","showStatement","variableClause","showCommonEntity","showFilter","showGlobalInfoClause","showSchemaEntity","showProfileType","binlogStatement","cacheIndexStatement","flushStatement","killStatement","loadIndexIntoCache","resetStatement","shutdownStatement","tableIndexes","flushOption","flushTableOption","loadedTableIndexes","simpleDescribeStatement","fullDescribeStatement","helpStatement","useStatement","signalStatement","resignalStatement","signalConditionInformation","withStatement","tableStatement","diagnosticsStatement","diagnosticsConditionInformationName","describeObjectClause","fullId","tableName","tableNames","userOrRoleName","userOrRoleNameList","newRoleNameList","newRoleName","roleNameList","roleName","fullColumnName","databaseName","indexName","constraintName","triggerName","indexNameList","indexColumnName","simpleUserName","hostName","userNameList","newUserName","userName","mysqlVariable","charsetName","collationName","engineName","engineNameBase","uuidSet","xid","xuidStringId","authPlugin","uid","simpleId","dottedId","decimalLiteral","fileSizeLiteral","stringLiteral","booleanLiteral","hexadecimalLiteral","nullNotnull","constant","dataType","collectionOptions","convertedDataType","lengthOneDimension","lengthTwoDimension","lengthTwoOptionalDimension","uidList","fullColumnNameList","tables","indexColumnNames","expressions","expressionsWithDefaults","constants","simpleStrings","userVariables","defaultValue","currentTimestamp","expressionOrDefault","ifExists","ifNotExists","orReplace","waitNowaitClause","functionCall","specificFunction","caseFuncAlternative","levelsInWeightString","levelInWeightListElement","aggregateWindowedFunction","nonAggregateWindowedFunction","overClause","windowSpec","windowName","frameClause","frameUnits","frameExtent","frameBetween","frameRange","partitionClause","scalarFunctionName","passwordFunctionClause","functionArgs","functionArg","expression","predicate","expressionAtom","unaryOperator","comparisonOperator","logicalOperator","bitOperator","multOperator","addOperator","jsonOperator","charsetNameBase","transactionLevelBase","privilegesBase","intervalTypeBase","dataTypeBase","keywordsCanBeId","functionNameBase"],Qi._serializedATN=[4,1,1161,7380,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,1,0,3,0,752,8,0,1,0,1,0,1,1,1,1,3,1,758,8,1,1,1,1,1,1,1,1,1,3,1,764,8,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,773,8,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,813,8,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,828,8,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,839,8,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,856,8,6,1,7,1,7,1,7,3,7,861,8,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,873,8,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,3,9,900,8,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,3,10,909,8,10,1,11,1,11,1,11,3,11,914,8,11,1,11,1,11,5,11,918,8,11,10,11,12,11,921,9,11,1,12,1,12,3,12,925,8,12,1,12,1,12,3,12,929,8,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,3,12,938,8,12,1,12,3,12,941,8,12,1,12,3,12,944,8,12,1,12,1,12,3,12,948,8,12,1,12,1,12,1,12,1,13,1,13,3,13,955,8,13,1,13,3,13,958,8,13,1,13,1,13,1,13,3,13,963,8,13,1,13,1,13,1,13,1,13,5,13,969,8,13,10,13,12,13,972,9,13,1,13,1,13,3,13,976,8,13,1,13,1,13,1,13,3,13,981,8,13,1,13,5,13,984,8,13,10,13,12,13,987,9,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,3,14,998,8,14,1,14,3,14,1001,8,14,1,14,1,14,3,14,1005,8,14,1,14,3,14,1008,8,14,1,14,1,14,3,14,1012,8,14,1,14,3,14,1015,8,14,1,14,1,14,3,14,1019,8,14,1,14,3,14,1022,8,14,1,14,3,14,1025,8,14,1,14,1,14,3,14,1029,8,14,1,14,3,14,1032,8,14,1,14,1,14,3,14,1036,8,14,1,14,1,14,1,15,1,15,3,15,1042,8,15,1,15,1,15,1,15,1,15,3,15,1048,8,15,1,15,1,15,5,15,1052,8,15,10,15,12,15,1055,9,15,1,15,1,15,5,15,1059,8,15,10,15,12,15,1062,9,15,1,15,1,15,1,16,1,16,3,16,1068,8,16,1,16,3,16,1071,8,16,1,16,1,16,3,16,1075,8,16,1,16,1,16,1,16,3,16,1080,8,16,1,16,1,16,5,16,1084,8,16,10,16,12,16,1087,9,16,1,16,1,16,1,16,1,16,5,16,1093,8,16,10,16,12,16,1096,9,16,1,16,1,16,3,16,1100,8,16,1,17,1,17,1,17,3,17,1105,8,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,5,18,1121,8,18,10,18,12,18,1124,9,18,1,18,1,18,1,19,1,19,3,19,1130,8,19,1,19,1,19,3,19,1134,8,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,3,19,1144,8,19,1,19,1,19,3,19,1148,8,19,1,19,1,19,3,19,1152,8,19,1,19,1,19,3,19,1156,8,19,1,19,1,19,3,19,1160,8,19,1,19,5,19,1163,8,19,10,19,12,19,1166,9,19,3,19,1168,8,19,1,19,3,19,1171,8,19,1,19,3,19,1174,8,19,1,19,3,19,1177,8,19,1,19,1,19,1,19,1,19,3,19,1183,8,19,1,19,1,19,3,19,1187,8,19,1,19,1,19,1,19,1,19,3,19,1193,8,19,1,19,5,19,1196,8,19,10,19,12,19,1199,9,19,3,19,1201,8,19,1,19,3,19,1204,8,19,3,19,1206,8,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,20,3,20,1217,8,20,1,20,1,20,3,20,1221,8,20,1,20,3,20,1224,8,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,21,3,21,1238,8,21,1,21,3,21,1241,8,21,1,21,1,21,3,21,1245,8,21,1,21,3,21,1248,8,21,1,21,1,21,3,21,1252,8,21,1,21,3,21,1255,8,21,1,21,1,21,3,21,1259,8,21,1,21,3,21,1262,8,21,1,21,1,21,3,21,1266,8,21,1,21,3,21,1269,8,21,1,21,3,21,1272,8,21,1,21,1,21,3,21,1276,8,21,1,21,3,21,1279,8,21,1,21,1,21,3,21,1283,8,21,1,21,1,21,1,22,1,22,3,22,1289,8,22,1,22,1,22,3,22,1293,8,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,3,22,1305,8,22,1,22,1,22,1,23,1,23,3,23,1311,8,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,5,24,1320,8,24,10,24,12,24,1323,9,24,1,24,1,24,3,24,1327,8,24,1,24,1,24,1,24,1,24,1,24,1,24,3,24,1335,8,24,1,25,1,25,1,26,1,26,1,27,1,27,3,27,1343,8,27,1,27,1,27,1,27,3,27,1348,8,27,1,27,3,27,1351,8,27,1,27,1,27,1,27,3,27,1356,8,27,1,27,1,27,1,27,1,27,1,27,1,27,3,27,1364,8,27,1,27,1,27,1,27,3,27,1369,8,27,1,27,1,27,1,27,1,27,3,27,1375,8,27,1,27,1,27,1,27,3,27,1380,8,27,1,27,1,27,3,27,1384,8,27,3,27,1386,8,27,1,28,3,28,1389,8,28,1,28,1,28,3,28,1393,8,28,1,28,1,28,3,28,1397,8,28,1,28,3,28,1400,8,28,1,28,1,28,3,28,1404,8,28,1,28,1,28,3,28,1408,8,28,1,28,1,28,3,28,1412,8,28,1,28,1,28,1,28,1,28,3,28,1418,8,28,1,28,3,28,1421,8,28,1,29,1,29,1,29,1,29,1,29,3,29,1428,8,29,1,30,1,30,1,30,3,30,1433,8,30,1,31,1,31,1,31,1,31,3,31,1439,8,31,1,32,1,32,1,32,5,32,1444,8,32,10,32,12,32,1447,9,32,1,32,1,32,1,32,3,32,1452,8,32,1,32,1,32,1,32,1,32,5,32,1458,8,32,10,32,12,32,1461,9,32,3,32,1463,8,32,1,32,1,32,1,32,5,32,1468,8,32,10,32,12,32,1471,9,32,3,32,1473,8,32,3,32,1475,8,32,1,33,1,33,1,33,1,33,3,33,1481,8,33,1,34,1,34,1,34,1,34,3,34,1487,8,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,1504,8,35,1,36,1,36,1,36,1,36,1,36,3,36,1511,8,36,1,37,1,37,1,37,1,38,1,38,3,38,1518,8,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,1530,8,38,1,38,1,38,1,38,3,38,1535,8,38,1,38,3,38,1538,8,38,1,39,3,39,1541,8,39,1,39,1,39,1,39,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,3,41,1554,8,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,3,41,1567,8,41,1,41,1,41,1,41,3,41,1572,8,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,3,42,1588,8,42,1,43,1,43,1,43,1,43,5,43,1594,8,43,10,43,12,43,1597,9,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,3,44,1606,8,44,1,44,3,44,1609,8,44,1,44,3,44,1612,8,44,1,45,1,45,5,45,1616,8,45,10,45,12,45,1619,9,45,1,45,3,45,1622,8,45,1,45,3,45,1625,8,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1636,8,46,1,46,3,46,1639,8,46,1,46,1,46,1,46,3,46,1644,8,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,1,46,3,46,1657,8,46,1,46,1,46,1,46,1,46,1,46,3,46,1664,8,46,1,46,1,46,1,46,1,46,1,46,3,46,1671,8,46,3,46,1673,8,46,1,46,1,46,1,46,1,46,1,46,3,46,1680,8,46,1,47,1,47,3,47,1684,8,47,3,47,1686,8,47,1,47,1,47,1,47,3,47,1691,8,47,1,47,3,47,1694,8,47,1,47,1,47,5,47,1698,8,47,10,47,12,47,1701,9,47,1,47,1,47,3,47,1705,8,47,3,47,1707,8,47,1,47,1,47,3,47,1711,8,47,1,47,3,47,1714,8,47,1,47,3,47,1717,8,47,1,47,1,47,5,47,1721,8,47,10,47,12,47,1724,9,47,1,47,1,47,3,47,1728,8,47,3,47,1730,8,47,1,47,1,47,1,47,3,47,1735,8,47,1,47,1,47,1,47,1,47,1,47,3,47,1742,8,47,3,47,1744,8,47,1,47,1,47,1,47,1,47,1,47,3,47,1751,8,47,1,48,1,48,1,48,3,48,1756,8,48,1,48,1,48,3,48,1760,8,48,1,48,3,48,1763,8,48,1,49,1,49,1,49,1,49,1,49,1,49,3,49,1771,8,49,1,49,1,49,1,49,1,49,1,49,1,49,3,49,1779,8,49,3,49,1781,8,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,3,50,1791,8,50,1,51,1,51,3,51,1795,8,51,1,51,3,51,1798,8,51,1,51,1,51,5,51,1802,8,51,10,51,12,51,1805,9,51,1,51,1,51,3,51,1809,8,51,1,51,3,51,1812,8,51,1,51,1,51,5,51,1816,8,51,10,51,12,51,1819,9,51,3,51,1821,8,51,1,52,1,52,3,52,1825,8,52,1,52,3,52,1828,8,52,1,52,1,52,3,52,1832,8,52,1,52,1,52,1,52,3,52,1837,8,52,1,52,1,52,1,52,3,52,1842,8,52,1,52,1,52,1,52,3,52,1847,8,52,1,52,1,52,3,52,1851,8,52,1,52,1,52,3,52,1855,8,52,1,52,1,52,3,52,1859,8,52,1,52,1,52,3,52,1863,8,52,1,52,1,52,3,52,1867,8,52,1,52,1,52,3,52,1871,8,52,1,52,1,52,1,52,3,52,1876,8,52,1,52,1,52,1,52,3,52,1881,8,52,1,52,1,52,1,52,3,52,1886,8,52,1,52,1,52,1,52,1,52,3,52,1892,8,52,1,52,1,52,1,52,3,52,1897,8,52,1,52,1,52,1,52,3,52,1902,8,52,1,52,1,52,1,52,3,52,1907,8,52,1,52,1,52,1,52,3,52,1912,8,52,1,52,1,52,1,52,3,52,1917,8,52,1,52,1,52,1,52,1,52,3,52,1923,8,52,1,52,1,52,1,52,3,52,1928,8,52,1,52,1,52,1,52,3,52,1933,8,52,1,52,1,52,1,52,3,52,1938,8,52,1,52,1,52,1,52,3,52,1943,8,52,1,52,1,52,1,52,3,52,1948,8,52,1,52,1,52,1,52,3,52,1953,8,52,1,52,1,52,1,52,3,52,1958,8,52,1,52,1,52,1,52,1,52,1,52,3,52,1965,8,52,1,52,1,52,1,52,3,52,1970,8,52,1,52,1,52,1,52,3,52,1975,8,52,1,52,1,52,1,52,3,52,1980,8,52,1,52,1,52,3,52,1984,8,52,1,52,1,52,1,52,3,52,1989,8,52,1,52,1,52,1,52,1,52,1,52,1,52,3,52,1997,8,52,1,52,1,52,1,52,3,52,2002,8,52,1,52,1,52,1,52,1,52,3,52,2008,8,52,1,53,1,53,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,3,55,2020,8,55,1,55,1,55,1,55,1,55,1,55,3,55,2027,8,55,3,55,2029,8,55,1,55,1,55,1,55,1,55,5,55,2035,8,55,10,55,12,55,2038,9,55,1,55,1,55,3,55,2042,8,55,1,56,3,56,2045,8,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,2053,8,56,1,56,1,56,1,56,1,56,3,56,2059,8,56,1,56,1,56,3,56,2063,8,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,2076,8,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,3,56,2088,8,56,3,56,2090,8,56,1,57,3,57,2093,8,57,1,57,1,57,1,57,1,57,1,57,1,57,3,57,2101,8,57,1,57,1,57,1,57,1,57,3,57,2107,8,57,1,57,1,57,1,57,1,57,3,57,2113,8,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,5,58,2124,8,58,10,58,12,58,2127,9,58,1,58,1,58,5,58,2131,8,58,10,58,12,58,2134,9,58,1,58,1,58,1,58,1,58,5,58,2140,8,58,10,58,12,58,2143,9,58,1,58,1,58,3,58,2147,8,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,5,58,2156,8,58,10,58,12,58,2159,9,58,1,58,1,58,1,58,1,58,5,58,2165,8,58,10,58,12,58,2168,9,58,1,58,1,58,3,58,2172,8,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,5,58,2182,8,58,10,58,12,58,2185,9,58,1,58,1,58,5,58,2189,8,58,10,58,12,58,2192,9,58,1,58,1,58,1,58,1,58,5,58,2198,8,58,10,58,12,58,2201,9,58,1,58,1,58,3,58,2205,8,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,5,58,2215,8,58,10,58,12,58,2218,9,58,1,58,1,58,5,58,2222,8,58,10,58,12,58,2225,9,58,1,58,1,58,1,58,1,58,5,58,2231,8,58,10,58,12,58,2234,9,58,1,58,1,58,3,58,2238,8,58,1,58,1,58,1,58,5,58,2243,8,58,10,58,12,58,2246,9,58,1,58,1,58,1,58,1,58,5,58,2252,8,58,10,58,12,58,2255,9,58,1,58,1,58,3,58,2259,8,58,3,58,2261,8,58,1,59,1,59,1,59,3,59,2266,8,59,1,60,1,60,1,60,1,60,4,60,2272,8,60,11,60,12,60,2273,1,60,1,60,1,61,1,61,1,61,5,61,2281,8,61,10,61,12,61,2284,9,61,1,62,3,62,2287,8,62,1,62,3,62,2290,8,62,1,62,1,62,3,62,2294,8,62,1,62,1,62,1,62,3,62,2299,8,62,1,62,1,62,1,62,1,62,3,62,2305,8,62,1,62,1,62,1,62,1,62,3,62,2311,8,62,1,62,1,62,1,62,3,62,2316,8,62,1,62,1,62,1,62,3,62,2321,8,62,1,62,1,62,1,62,3,62,2326,8,62,1,62,1,62,1,62,3,62,2331,8,62,1,62,3,62,2334,8,62,1,63,1,63,1,63,1,63,4,63,2340,8,63,11,63,12,63,2341,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,3,63,2352,8,63,1,64,1,64,3,64,2356,8,64,1,64,1,64,1,64,1,64,1,64,3,64,2363,8,64,1,64,1,64,1,64,3,64,2368,8,64,1,64,3,64,2371,8,64,1,64,1,64,1,64,3,64,2376,8,64,1,64,3,64,2379,8,64,1,64,1,64,3,64,2383,8,64,1,64,1,64,3,64,2387,8,64,1,65,1,65,1,65,1,65,5,65,2393,8,65,10,65,12,65,2396,9,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,3,67,2414,8,67,1,67,3,67,2417,8,67,1,67,3,67,2420,8,67,1,67,1,67,3,67,2424,8,67,1,67,1,67,1,68,1,68,1,68,1,68,5,68,2432,8,68,10,68,12,68,2435,9,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,5,69,2445,8,69,10,69,12,69,2448,9,69,1,69,1,69,1,70,1,70,3,70,2454,8,70,1,70,3,70,2457,8,70,1,70,1,70,1,70,3,70,2462,8,70,1,70,1,70,1,70,5,70,2467,8,70,10,70,12,70,2470,9,70,3,70,2472,8,70,1,70,3,70,2475,8,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,3,71,2486,8,71,1,71,3,71,2489,8,71,1,71,1,71,3,71,2493,8,71,1,71,1,71,1,72,1,72,1,72,1,72,3,72,2501,8,72,1,72,3,72,2504,8,72,1,72,1,72,1,72,3,72,2509,8,72,1,72,1,72,1,72,1,72,1,72,1,72,3,72,2517,8,72,1,72,1,72,1,72,1,72,3,72,2523,8,72,1,72,1,72,3,72,2527,8,72,1,73,1,73,3,73,2531,8,73,1,73,5,73,2534,8,73,10,73,12,73,2537,9,73,1,73,1,73,3,73,2541,8,73,1,73,1,73,1,73,1,73,1,73,3,73,2548,8,73,1,73,1,73,3,73,2552,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,5,73,2561,8,73,10,73,12,73,2564,9,73,1,73,1,73,1,73,1,73,1,73,3,73,2571,8,73,1,73,3,73,2574,8,73,1,73,1,73,5,73,2578,8,73,10,73,12,73,2581,9,73,1,73,1,73,1,73,3,73,2586,8,73,3,73,2588,8,73,1,73,1,73,1,73,3,73,2593,8,73,1,73,3,73,2596,8,73,1,73,1,73,5,73,2600,8,73,10,73,12,73,2603,9,73,1,73,1,73,1,73,3,73,2608,8,73,3,73,2610,8,73,1,73,1,73,3,73,2614,8,73,1,73,3,73,2617,8,73,1,73,3,73,2620,8,73,1,73,1,73,5,73,2624,8,73,10,73,12,73,2627,9,73,1,73,1,73,1,73,3,73,2632,8,73,1,73,3,73,2635,8,73,1,73,1,73,5,73,2639,8,73,10,73,12,73,2642,9,73,1,73,1,73,1,73,3,73,2647,8,73,3,73,2649,8,73,1,73,1,73,1,73,3,73,2654,8,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2662,8,73,3,73,2664,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2673,8,73,1,73,3,73,2676,8,73,1,73,3,73,2679,8,73,1,73,1,73,1,73,3,73,2684,8,73,3,73,2686,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2695,8,73,1,73,3,73,2698,8,73,1,73,3,73,2701,8,73,1,73,1,73,1,73,3,73,2706,8,73,3,73,2708,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2717,8,73,1,73,1,73,1,73,3,73,2722,8,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2730,8,73,1,73,1,73,3,73,2734,8,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2742,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2752,8,73,1,73,1,73,1,73,3,73,2757,8,73,1,73,1,73,1,73,1,73,1,73,3,73,2764,8,73,1,73,1,73,3,73,2768,8,73,1,73,1,73,3,73,2772,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2791,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2801,8,73,1,73,1,73,1,73,1,73,3,73,2807,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2824,8,73,1,73,1,73,3,73,2828,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2838,8,73,1,73,1,73,1,73,3,73,2843,8,73,1,73,3,73,2846,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2855,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,2866,8,73,1,73,1,73,1,73,1,73,5,73,2872,8,73,10,73,12,73,2875,9,73,1,73,1,73,1,73,3,73,2880,8,73,1,74,1,74,1,74,1,74,1,74,1,74,5,74,2888,8,74,10,74,12,74,2891,9,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,3,74,2902,8,74,1,74,1,74,1,74,1,74,1,74,3,74,2909,8,74,1,74,1,74,1,74,1,74,1,74,3,74,2916,8,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,5,74,2929,8,74,10,74,12,74,2932,9,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,3,74,2944,8,74,1,74,1,74,1,74,1,74,3,74,2950,8,74,1,74,1,74,1,74,1,74,3,74,2956,8,74,1,74,1,74,1,74,1,74,3,74,2962,8,74,1,74,1,74,1,74,1,74,3,74,2968,8,74,1,74,1,74,1,74,1,74,3,74,2974,8,74,1,74,1,74,1,74,1,74,3,74,2980,8,74,1,75,1,75,1,75,3,75,2985,8,75,1,75,1,75,1,76,1,76,1,76,3,76,2992,8,76,1,76,1,76,1,77,1,77,1,77,3,77,2999,8,77,1,77,1,77,1,77,1,77,1,77,3,77,3006,8,77,1,77,1,77,1,77,3,77,3011,8,77,1,77,5,77,3014,8,77,10,77,12,77,3017,9,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,3,79,3030,8,79,1,79,1,79,1,80,1,80,1,80,3,80,3037,8,80,1,80,1,80,1,81,1,81,1,81,3,81,3044,8,81,1,81,1,81,1,82,1,82,3,82,3050,8,82,1,82,1,82,3,82,3054,8,82,1,82,1,82,3,82,3058,8,82,1,83,1,83,1,83,1,83,1,83,3,83,3065,8,83,1,83,3,83,3068,8,83,1,84,1,84,1,84,3,84,3073,8,84,1,84,1,84,1,85,1,85,1,85,3,85,3080,8,85,1,85,1,85,1,85,5,85,3085,8,85,10,85,12,85,3088,9,85,1,85,3,85,3091,8,85,1,86,1,86,1,86,3,86,3096,8,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,3,87,3106,8,87,1,87,1,87,1,87,1,87,1,87,3,87,3113,8,87,1,88,1,88,1,88,1,88,1,88,5,88,3120,8,88,10,88,12,88,3123,9,88,1,89,1,89,1,89,1,89,1,90,1,90,3,90,3131,8,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,3,91,3140,8,91,1,91,3,91,3143,8,91,1,92,1,92,3,92,3147,8,92,1,93,1,93,1,93,1,94,1,94,1,94,1,94,3,94,3156,8,94,1,95,1,95,3,95,3160,8,95,1,95,3,95,3163,8,95,1,95,3,95,3166,8,95,1,95,1,95,1,95,1,95,3,95,3172,8,95,1,95,3,95,3175,8,95,1,95,1,95,3,95,3179,8,95,1,95,3,95,3182,8,95,1,95,1,95,3,95,3186,8,95,1,95,3,95,3189,8,95,1,95,1,95,1,95,1,95,5,95,3195,8,95,10,95,12,95,3198,9,95,3,95,3200,8,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,5,95,3209,8,95,10,95,12,95,3212,9,95,3,95,3214,8,95,1,96,1,96,1,96,3,96,3219,8,96,1,96,3,96,3222,8,96,1,96,1,96,1,96,3,96,3227,8,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,3,96,3237,8,96,1,96,1,96,1,96,3,96,3242,8,96,1,96,1,96,4,96,3246,8,96,11,96,12,96,3247,3,96,3250,8,96,1,96,1,96,4,96,3254,8,96,11,96,12,96,3255,3,96,3258,8,96,1,96,1,96,1,96,1,96,3,96,3264,8,96,1,96,1,96,1,96,1,96,5,96,3270,8,96,10,96,12,96,3273,9,96,1,96,1,96,3,96,3277,8,96,1,96,1,96,1,96,1,96,5,96,3283,8,96,10,96,12,96,3286,9,96,3,96,3288,8,96,1,97,1,97,1,97,3,97,3293,8,97,1,97,3,97,3296,8,97,1,97,1,97,1,97,3,97,3301,8,97,1,97,1,97,1,97,1,97,1,97,1,97,3,97,3309,8,97,1,97,1,97,1,97,1,97,1,97,1,97,3,97,3317,8,97,1,97,1,97,1,97,1,97,3,97,3323,8,97,1,97,1,97,1,97,1,97,5,97,3329,8,97,10,97,12,97,3332,9,97,1,97,1,97,3,97,3336,8,97,1,97,1,97,1,97,1,97,5,97,3342,8,97,10,97,12,97,3345,9,97,3,97,3347,8,97,1,98,1,98,3,98,3351,8,98,1,98,3,98,3354,8,98,1,98,1,98,1,98,1,98,1,98,1,98,3,98,3362,8,98,1,98,1,98,1,98,1,98,3,98,3368,8,98,1,98,1,98,1,98,1,98,1,98,5,98,3375,8,98,10,98,12,98,3378,9,98,3,98,3380,8,98,1,99,1,99,3,99,3384,8,99,1,99,1,99,3,99,3388,8,99,1,99,1,99,3,99,3392,8,99,1,99,4,99,3395,8,99,11,99,12,99,3396,1,99,1,99,3,99,3401,8,99,1,99,1,99,3,99,3405,8,99,3,99,3407,8,99,1,99,3,99,3410,8,99,1,99,3,99,3413,8,99,1,99,3,99,3416,8,99,1,99,1,99,4,99,3420,8,99,11,99,12,99,3421,1,99,1,99,3,99,3426,8,99,1,99,3,99,3429,8,99,1,99,3,99,3432,8,99,1,99,3,99,3435,8,99,1,99,3,99,3438,8,99,1,99,1,99,1,99,4,99,3443,8,99,11,99,12,99,3444,3,99,3447,8,99,1,100,1,100,3,100,3451,8,100,1,101,1,101,1,101,3,101,3456,8,101,1,101,1,101,1,101,1,101,3,101,3462,8,101,1,101,5,101,3465,8,101,10,101,12,101,3468,9,101,1,102,1,102,1,102,1,102,3,102,3474,8,102,1,102,1,102,1,102,1,102,3,102,3480,8,102,1,102,5,102,3483,8,102,10,102,12,102,3486,9,102,3,102,3488,8,102,1,103,1,103,1,103,1,103,3,103,3494,8,103,1,104,1,104,3,104,3498,8,104,1,105,1,105,1,105,1,105,1,105,1,105,3,105,3506,8,105,1,106,1,106,3,106,3510,8,106,1,106,3,106,3513,8,106,1,106,3,106,3516,8,106,1,106,1,106,1,106,3,106,3521,8,106,1,106,3,106,3524,8,106,1,106,1,106,1,106,1,106,1,106,3,106,3531,8,106,1,106,1,106,3,106,3535,8,106,1,106,3,106,3538,8,106,1,106,1,106,3,106,3542,8,106,1,107,1,107,3,107,3546,8,107,1,107,3,107,3549,8,107,1,107,3,107,3552,8,107,1,107,1,107,1,107,3,107,3557,8,107,1,107,1,107,1,107,1,107,3,107,3563,8,107,5,107,3565,8,107,10,107,12,107,3568,9,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,3,107,3577,8,107,1,107,1,107,1,107,1,107,3,107,3583,8,107,5,107,3585,8,107,10,107,12,107,3588,9,107,1,107,1,107,1,107,3,107,3593,8,107,1,107,1,107,3,107,3597,8,107,1,108,1,108,1,108,1,108,3,108,3603,8,108,1,108,3,108,3606,8,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,3,109,3618,8,109,1,109,1,109,3,109,3622,8,109,1,109,1,109,3,109,3626,8,109,1,110,1,110,1,110,1,110,1,110,1,110,3,110,3634,8,110,1,110,1,110,3,110,3638,8,110,1,111,1,111,1,111,1,111,1,112,1,112,3,112,3646,8,112,1,112,3,112,3649,8,112,1,112,1,112,3,112,3653,8,112,1,112,3,112,3656,8,112,1,112,1,112,1,112,1,112,5,112,3662,8,112,10,112,12,112,3665,9,112,1,112,1,112,3,112,3669,8,112,1,112,3,112,3672,8,112,1,112,3,112,3675,8,112,1,113,1,113,3,113,3679,8,113,1,113,3,113,3682,8,113,1,113,1,113,1,113,1,113,1,113,5,113,3689,8,113,10,113,12,113,3692,9,113,1,113,1,113,3,113,3696,8,113,1,114,1,114,1,114,1,114,1,114,5,114,3703,8,114,10,114,12,114,3706,9,114,1,115,1,115,3,115,3710,8,115,1,116,1,116,1,116,5,116,3715,8,116,10,116,12,116,3718,9,116,1,117,1,117,5,117,3722,8,117,10,117,12,117,3725,9,117,1,117,1,117,1,117,5,117,3730,8,117,10,117,12,117,3733,9,117,1,117,1,117,1,117,3,117,3738,8,117,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3746,8,118,1,118,3,118,3749,8,118,1,118,3,118,3752,8,118,1,118,1,118,1,118,5,118,3757,8,118,10,118,12,118,3760,9,118,3,118,3762,8,118,1,118,1,118,1,118,1,118,1,118,3,118,3769,8,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,3777,8,118,1,119,1,119,1,119,1,119,3,119,3783,8,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,3,120,3794,8,120,1,121,3,121,3797,8,121,1,121,1,121,3,121,3801,8,121,1,121,1,121,5,121,3805,8,121,10,121,12,121,3808,9,121,1,121,1,121,1,121,1,121,5,121,3814,8,121,10,121,12,121,3817,9,121,1,121,1,121,3,121,3821,8,121,1,121,1,121,3,121,3825,8,121,1,121,1,121,5,121,3829,8,121,10,121,12,121,3832,9,121,1,121,1,121,1,121,3,121,3837,8,121,3,121,3839,8,121,1,121,1,121,3,121,3843,8,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,3,122,3852,8,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,3,123,3862,8,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,3,124,3872,8,124,1,125,1,125,5,125,3876,8,125,10,125,12,125,3879,9,125,1,125,1,125,3,125,3883,8,125,1,125,1,125,3,125,3887,8,125,1,125,3,125,3890,8,125,1,125,3,125,3893,8,125,1,125,3,125,3896,8,125,1,125,3,125,3899,8,125,1,125,1,125,5,125,3903,8,125,10,125,12,125,3906,9,125,1,125,1,125,1,125,3,125,3911,8,125,1,125,3,125,3914,8,125,1,125,3,125,3917,8,125,1,125,3,125,3920,8,125,1,125,3,125,3923,8,125,1,125,3,125,3926,8,125,3,125,3928,8,125,1,126,1,126,5,126,3932,8,126,10,126,12,126,3935,9,126,1,126,1,126,1,126,3,126,3940,8,126,1,126,3,126,3943,8,126,1,126,3,126,3946,8,126,1,126,3,126,3949,8,126,1,126,3,126,3952,8,126,1,126,3,126,3955,8,126,1,127,1,127,3,127,3959,8,127,1,127,1,127,1,128,1,128,3,128,3965,8,128,1,128,1,128,3,128,3969,8,128,1,129,1,129,1,129,1,129,1,129,1,129,3,129,3977,8,129,1,129,1,129,3,129,3981,8,129,1,129,3,129,3984,8,129,3,129,3986,8,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,3,130,3999,8,130,1,130,3,130,4002,8,130,1,131,1,131,1,131,5,131,4007,8,131,10,131,12,131,4010,9,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,3,132,4019,8,132,1,132,3,132,4022,8,132,1,132,1,132,1,132,3,132,4027,8,132,3,132,4029,8,132,1,132,1,132,3,132,4033,8,132,1,132,1,132,1,132,1,132,1,132,1,132,3,132,4041,8,132,1,133,1,133,1,133,1,133,3,133,4047,8,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,3,134,4056,8,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,3,135,4069,8,135,1,136,1,136,3,136,4073,8,136,1,136,1,136,5,136,4077,8,136,10,136,12,136,4080,9,136,1,137,3,137,4083,8,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,3,138,4093,8,138,1,138,1,138,3,138,4097,8,138,1,138,1,138,3,138,4101,8,138,1,138,1,138,3,138,4105,8,138,3,138,4107,8,138,1,139,1,139,1,139,1,139,5,139,4113,8,139,10,139,12,139,4116,9,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,3,139,4127,8,139,1,139,1,139,4,139,4131,8,139,11,139,12,139,4132,3,139,4135,8,139,1,139,1,139,4,139,4139,8,139,11,139,12,139,4140,3,139,4143,8,139,3,139,4145,8,139,1,140,1,140,1,140,1,140,3,140,4151,8,140,1,140,1,140,1,140,1,140,1,140,1,140,3,140,4159,8,140,1,141,1,141,1,141,1,141,1,141,1,141,3,141,4167,8,141,1,142,1,142,3,142,4171,8,142,1,142,1,142,3,142,4175,8,142,1,143,1,143,1,143,1,143,1,143,5,143,4182,8,143,10,143,12,143,4185,9,143,1,143,1,143,3,143,4189,8,143,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,145,5,145,4207,8,145,10,145,12,145,4210,9,145,1,146,1,146,3,146,4214,8,146,1,147,1,147,1,147,1,147,3,147,4220,8,147,1,147,1,147,1,147,1,147,1,147,3,147,4227,8,147,1,148,1,148,1,148,3,148,4232,8,148,1,149,1,149,1,149,1,149,1,149,5,149,4239,8,149,10,149,12,149,4242,9,149,3,149,4244,8,149,1,150,1,150,3,150,4248,8,150,1,151,1,151,3,151,4252,8,151,1,151,1,151,3,151,4256,8,151,1,151,3,151,4259,8,151,1,151,3,151,4262,8,151,1,151,3,151,4265,8,151,1,152,1,152,3,152,4269,8,152,1,152,1,152,3,152,4273,8,152,1,152,3,152,4276,8,152,1,152,3,152,4279,8,152,1,152,3,152,4282,8,152,1,153,1,153,1,153,1,154,1,154,3,154,4289,8,154,1,154,1,154,3,154,4293,8,154,1,154,1,154,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,5,156,4306,8,156,10,156,12,156,4309,9,156,1,156,3,156,4312,8,156,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,159,1,159,3,159,4324,8,159,1,159,1,159,1,159,1,159,5,159,4330,8,159,10,159,12,159,4333,9,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,3,160,4342,8,160,1,161,1,161,3,161,4346,8,161,1,161,3,161,4349,8,161,1,161,1,161,1,162,1,162,3,162,4355,8,162,1,162,3,162,4358,8,162,1,162,3,162,4361,8,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,3,163,4370,8,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,3,164,4379,8,164,1,165,1,165,1,165,1,165,1,165,1,165,5,165,4387,8,165,10,165,12,165,4390,9,165,1,165,3,165,4393,8,165,1,166,1,166,1,166,1,166,1,166,1,166,5,166,4401,8,166,10,166,12,166,4404,9,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,3,167,4413,8,167,1,168,1,168,1,168,1,169,1,169,1,169,3,169,4421,8,169,1,169,3,169,4424,8,169,1,170,1,170,1,170,1,170,1,170,5,170,4431,8,170,10,170,12,170,4434,9,170,3,170,4436,8,170,1,170,1,170,3,170,4440,8,170,1,170,5,170,4443,8,170,10,170,12,170,4446,9,170,1,170,3,170,4449,8,170,1,171,1,171,1,171,1,171,1,171,5,171,4456,8,171,10,171,12,171,4459,9,171,3,171,4461,8,171,1,172,1,172,1,172,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,5,174,4490,8,174,10,174,12,174,4493,9,174,3,174,4495,8,174,1,174,3,174,4498,8,174,1,175,1,175,1,176,1,176,1,177,1,177,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,5,179,4552,8,179,10,179,12,179,4555,9,179,1,179,1,179,3,179,4559,8,179,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,3,182,4587,8,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,3,183,4601,8,183,1,184,1,184,1,184,5,184,4606,8,184,10,184,12,184,4609,9,184,1,184,3,184,4612,8,184,1,185,1,185,1,185,1,185,3,185,4618,8,185,1,186,1,186,1,186,1,186,1,186,1,186,3,186,4626,8,186,3,186,4628,8,186,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,3,188,4639,8,188,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,3,190,4649,8,190,1,191,1,191,1,191,1,191,1,191,3,191,4656,8,191,1,192,1,192,1,192,1,192,3,192,4662,8,192,1,193,1,193,1,193,1,193,1,194,1,194,3,194,4670,8,194,1,195,1,195,1,195,3,195,4675,8,195,1,195,1,195,1,195,1,195,5,195,4681,8,195,10,195,12,195,4684,9,195,1,195,1,195,1,195,5,195,4689,8,195,10,195,12,195,4692,9,195,1,195,1,195,1,195,5,195,4697,8,195,10,195,12,195,4700,9,195,1,195,1,195,1,195,5,195,4705,8,195,10,195,12,195,4708,9,195,1,195,5,195,4711,8,195,10,195,12,195,4714,9,195,1,195,1,195,3,195,4718,8,195,1,196,1,196,1,196,3,196,4723,8,196,1,196,4,196,4726,8,196,11,196,12,196,4727,1,196,1,196,4,196,4732,8,196,11,196,12,196,4733,3,196,4736,8,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,4,197,4745,8,197,11,197,12,197,4746,1,197,5,197,4750,8,197,10,197,12,197,4753,9,197,1,197,1,197,4,197,4757,8,197,11,197,12,197,4758,3,197,4761,8,197,1,197,1,197,1,197,1,198,1,198,1,198,1,199,1,199,1,199,1,200,1,200,1,200,3,200,4775,8,200,1,200,1,200,4,200,4779,8,200,11,200,12,200,4780,1,200,1,200,1,200,3,200,4786,8,200,1,201,1,201,1,201,3,201,4791,8,201,1,201,1,201,4,201,4795,8,201,11,201,12,201,4796,1,201,1,201,1,201,1,201,1,201,3,201,4804,8,201,1,202,1,202,1,202,1,203,1,203,1,203,3,203,4812,8,203,1,203,1,203,1,203,1,203,4,203,4818,8,203,11,203,12,203,4819,1,203,1,203,1,203,3,203,4825,8,203,1,204,1,204,1,204,1,204,3,204,4831,8,204,1,204,3,204,4834,8,204,1,204,1,204,1,204,1,204,1,204,1,204,3,204,4842,8,204,1,205,1,205,1,205,1,205,1,205,3,205,4849,8,205,1,206,1,206,1,206,1,206,1,206,1,206,1,206,3,206,4858,8,206,1,206,3,206,4861,8,206,1,207,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,208,5,208,4876,8,208,10,208,12,208,4879,9,208,1,208,1,208,1,209,1,209,1,209,3,209,4886,8,209,1,209,1,209,1,209,1,209,1,209,1,209,3,209,4894,8,209,1,210,1,210,3,210,4898,8,210,1,210,1,210,1,211,1,211,1,211,3,211,4905,8,211,1,211,1,211,4,211,4909,8,211,11,211,12,211,4910,1,212,1,212,1,212,1,212,4,212,4917,8,212,11,212,12,212,4918,1,213,1,213,1,213,1,213,1,213,5,213,4926,8,213,10,213,12,213,4929,9,213,1,213,1,213,1,213,3,213,4934,8,213,1,213,1,213,1,213,1,213,1,213,3,213,4941,8,213,1,213,5,213,4944,8,213,10,213,12,213,4947,9,213,3,213,4949,8,213,3,213,4951,8,213,1,213,1,213,4,213,4955,8,213,11,213,12,213,4956,3,213,4959,8,213,1,213,1,213,5,213,4963,8,213,10,213,12,213,4966,9,213,1,213,1,213,1,213,1,213,3,213,4972,8,213,1,213,1,213,1,213,3,213,4977,8,213,1,213,1,213,1,213,1,213,1,213,3,213,4984,8,213,1,214,1,214,1,214,1,214,1,214,1,214,3,214,4992,8,214,1,214,1,214,1,214,1,214,3,214,4998,8,214,1,214,1,214,1,214,1,214,3,214,5004,8,214,1,214,5,214,5007,8,214,10,214,12,214,5010,9,214,3,214,5012,8,214,3,214,5014,8,214,1,214,1,214,4,214,5018,8,214,11,214,12,214,5019,3,214,5022,8,214,1,214,1,214,5,214,5026,8,214,10,214,12,214,5029,9,214,1,214,1,214,1,214,1,214,3,214,5035,8,214,3,214,5037,8,214,1,215,1,215,1,215,3,215,5042,8,215,1,215,1,215,1,216,1,216,1,216,1,216,5,216,5050,8,216,10,216,12,216,5053,9,216,1,216,1,216,3,216,5057,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,5066,8,216,1,216,5,216,5069,8,216,10,216,12,216,5072,9,216,3,216,5074,8,216,3,216,5076,8,216,1,216,1,216,1,216,1,216,5,216,5082,8,216,10,216,12,216,5085,9,216,3,216,5087,8,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,5095,8,216,1,216,1,216,1,216,1,216,1,216,1,216,1,216,3,216,5104,8,216,3,216,5106,8,216,1,217,1,217,1,217,1,217,1,217,3,217,5113,8,217,1,217,3,217,5116,8,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,5,218,5126,8,218,10,218,12,218,5129,9,218,1,218,1,218,1,218,3,218,5134,8,218,1,219,1,219,1,219,1,219,1,219,5,219,5141,8,219,10,219,12,219,5144,9,219,1,220,1,220,1,220,1,220,5,220,5150,8,220,10,220,12,220,5153,9,220,1,220,1,220,3,220,5157,8,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,3,220,5166,8,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,1,220,5,220,5177,8,220,10,220,12,220,5180,9,220,3,220,5182,8,220,1,221,1,221,1,221,1,221,1,221,1,221,1,221,1,221,5,221,5192,8,221,10,221,12,221,5195,9,221,1,222,1,222,1,222,1,222,3,222,5201,8,222,1,222,1,222,1,222,3,222,5206,8,222,1,223,1,223,1,223,1,224,1,224,1,224,5,224,5214,8,224,10,224,12,224,5217,9,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,225,3,225,5244,8,225,1,226,1,226,3,226,5248,8,226,1,226,1,226,1,226,3,226,5253,8,226,1,227,1,227,1,227,1,227,1,227,3,227,5260,8,227,1,227,3,227,5263,8,227,1,227,1,227,1,227,1,227,3,227,5269,8,227,1,228,1,228,1,228,1,228,1,228,1,228,1,228,1,228,3,228,5279,8,228,1,229,1,229,1,229,1,229,1,229,1,229,1,229,1,229,3,229,5289,8,229,1,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,3,230,5299,8,230,1,230,1,230,1,230,1,230,3,230,5305,8,230,1,230,1,230,1,230,1,230,1,230,1,230,1,230,3,230,5314,8,230,1,230,1,230,1,230,1,230,3,230,5320,8,230,1,230,1,230,1,230,1,230,1,230,3,230,5327,8,230,3,230,5329,8,230,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,3,232,5339,8,232,1,233,1,233,3,233,5343,8,233,1,233,1,233,3,233,5347,8,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,3,233,5357,8,233,1,233,1,233,1,233,3,233,5362,8,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,3,233,5434,8,233,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,1,234,3,234,5452,8,234,1,235,1,235,1,235,1,235,1,236,1,236,3,236,5460,8,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,236,5,236,5470,8,236,10,236,12,236,5473,9,236,1,236,1,236,1,236,1,236,3,236,5479,8,236,3,236,5481,8,236,1,236,1,236,1,236,1,236,1,236,1,236,5,236,5489,8,236,10,236,12,236,5492,9,236,3,236,5494,8,236,1,237,1,237,1,237,1,237,5,237,5500,8,237,10,237,12,237,5503,9,237,1,238,1,238,1,238,1,238,3,238,5509,8,238,1,239,1,239,3,239,5513,8,239,1,239,1,239,1,239,1,240,1,240,3,240,5520,8,240,1,240,1,240,1,240,3,240,5525,8,240,1,240,3,240,5528,8,240,1,240,3,240,5531,8,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,3,241,5540,8,241,1,242,1,242,3,242,5544,8,242,1,242,1,242,3,242,5548,8,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,3,245,5571,8,245,1,245,1,245,1,245,1,245,1,245,3,245,5578,8,245,5,245,5580,8,245,10,245,12,245,5583,9,245,1,245,1,245,1,245,1,245,3,245,5589,8,245,1,245,1,245,1,245,1,245,1,245,3,245,5596,8,245,1,245,3,245,5599,8,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,1,245,5,245,5613,8,245,10,245,12,245,5616,9,245,3,245,5618,8,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,3,246,5628,8,246,1,246,1,246,3,246,5632,8,246,1,246,1,246,1,246,1,246,3,246,5638,8,246,1,246,3,246,5641,8,246,1,246,1,246,1,246,3,246,5646,8,246,1,246,1,246,3,246,5650,8,246,1,246,1,246,1,246,1,246,1,246,3,246,5657,8,246,1,246,3,246,5660,8,246,1,246,1,246,1,246,1,246,3,246,5666,8,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,3,246,5698,8,246,1,246,3,246,5701,8,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,3,246,5713,8,246,1,246,3,246,5716,8,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,3,246,5726,8,246,1,246,1,246,1,246,1,246,1,246,1,246,3,246,5734,8,246,1,246,1,246,3,246,5738,8,246,1,246,1,246,1,246,1,246,1,246,3,246,5745,8,246,1,246,3,246,5748,8,246,1,246,1,246,1,246,1,246,1,246,5,246,5755,8,246,10,246,12,246,5758,9,246,1,246,1,246,1,246,3,246,5763,8,246,1,246,1,246,1,246,1,246,3,246,5769,8,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,3,246,5779,8,246,3,246,5781,8,246,1,247,1,247,1,247,1,247,3,247,5787,8,247,1,247,3,247,5790,8,247,1,247,3,247,5793,8,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,248,3,248,5805,8,248,1,248,3,248,5808,8,248,1,249,1,249,1,249,1,249,3,249,5814,8,249,1,250,3,250,5817,8,250,1,250,1,250,1,250,1,250,1,250,1,250,3,250,5825,8,250,1,250,1,250,1,250,1,250,1,250,1,250,3,250,5833,8,250,1,251,1,251,1,251,1,251,3,251,5839,8,251,1,251,1,251,3,251,5843,8,251,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,3,252,5857,8,252,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,5,254,5867,8,254,10,254,12,254,5870,9,254,1,254,1,254,1,254,1,254,3,254,5876,8,254,1,254,3,254,5879,8,254,1,254,1,254,1,254,1,255,1,255,3,255,5886,8,255,1,255,1,255,1,255,5,255,5891,8,255,10,255,12,255,5894,9,255,1,256,1,256,3,256,5898,8,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,257,5,257,5909,8,257,10,257,12,257,5912,9,257,1,258,1,258,1,258,1,258,1,259,1,259,1,260,1,260,3,260,5922,8,260,1,260,1,260,1,260,1,260,3,260,5928,8,260,1,261,1,261,1,261,3,261,5933,8,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,3,261,5946,8,261,3,261,5948,8,261,1,261,1,261,1,261,3,261,5953,8,261,1,261,1,261,3,261,5957,8,261,1,261,3,261,5960,8,261,3,261,5962,8,261,1,262,1,262,1,262,1,262,1,262,3,262,5969,8,262,1,263,1,263,1,263,1,263,1,263,3,263,5976,8,263,1,263,3,263,5979,8,263,1,263,3,263,5982,8,263,1,263,1,263,1,263,1,263,3,263,5988,8,263,1,263,1,263,3,263,5992,8,263,1,264,1,264,1,264,1,264,3,264,5998,8,264,1,265,1,265,1,265,1,265,3,265,6004,8,265,1,265,1,265,1,266,1,266,1,266,1,267,1,267,1,267,1,268,1,268,1,268,3,268,6017,8,268,1,268,1,268,1,268,3,268,6022,8,268,1,268,1,268,1,268,1,268,5,268,6028,8,268,10,268,12,268,6031,9,268,3,268,6033,8,268,1,269,1,269,1,269,3,269,6038,8,269,1,269,1,269,1,269,3,269,6043,8,269,1,269,1,269,1,269,1,269,5,269,6049,8,269,10,269,12,269,6052,9,269,3,269,6054,8,269,1,270,1,270,1,270,1,270,1,270,1,270,3,270,6062,8,270,1,271,1,271,3,271,6066,8,271,1,271,1,271,1,271,5,271,6071,8,271,10,271,12,271,6074,9,271,1,272,1,272,1,272,3,272,6079,8,272,1,272,3,272,6082,8,272,1,273,1,273,3,273,6086,8,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,5,273,6097,8,273,10,273,12,273,6100,9,273,1,273,1,273,1,273,3,273,6105,8,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,5,273,6115,8,273,10,273,12,273,6118,9,273,3,273,6120,8,273,1,274,1,274,1,275,1,275,1,275,1,275,1,275,3,275,6129,8,275,1,275,1,275,1,275,3,275,6134,8,275,1,276,1,276,1,276,1,276,3,276,6140,8,276,1,277,1,277,1,278,1,278,1,278,5,278,6147,8,278,10,278,12,278,6150,9,278,1,279,1,279,3,279,6154,8,279,1,280,1,280,1,280,5,280,6159,8,280,10,280,12,280,6162,9,280,1,281,1,281,1,281,5,281,6167,8,281,10,281,12,281,6170,9,281,1,282,1,282,1,283,1,283,1,283,5,283,6177,8,283,10,283,12,283,6180,9,283,1,284,1,284,1,285,1,285,1,285,3,285,6187,8,285,3,285,6189,8,285,1,285,3,285,6192,8,285,1,285,1,285,3,285,6196,8,285,3,285,6198,8,285,1,286,1,286,1,287,1,287,1,288,1,288,1,289,1,289,1,290,1,290,1,290,5,290,6211,8,290,10,290,12,290,6214,9,290,1,291,1,291,3,291,6218,8,291,1,291,1,291,1,291,1,291,3,291,6224,8,291,1,291,3,291,6227,8,291,1,291,3,291,6230,8,291,1,292,1,292,1,292,1,292,3,292,6236,8,292,1,293,1,293,1,294,1,294,1,294,5,294,6243,8,294,10,294,12,294,6246,9,294,1,295,1,295,1,295,1,295,1,295,3,295,6253,8,295,1,296,1,296,1,297,1,297,1,298,1,298,1,298,1,298,3,298,6263,8,298,1,299,1,299,3,299,6267,8,299,1,300,1,300,1,300,3,300,6272,8,300,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,1,302,4,302,6290,8,302,11,302,12,302,6291,1,303,1,303,1,303,1,303,1,303,3,303,6299,8,303,3,303,6301,8,303,1,304,1,304,1,304,4,304,6306,8,304,11,304,12,304,6307,3,304,6310,8,304,1,305,1,305,3,305,6314,8,305,1,306,1,306,1,306,3,306,6319,8,306,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,1,307,3,307,6330,8,307,1,308,1,308,1,308,3,308,6335,8,308,1,309,1,309,1,310,1,310,3,310,6341,8,310,1,311,3,311,6344,8,311,1,311,1,311,3,311,6348,8,311,1,311,4,311,6351,8,311,11,311,12,311,6352,1,311,3,311,6356,8,311,1,311,1,311,3,311,6360,8,311,1,311,1,311,3,311,6364,8,311,3,311,6366,8,311,1,312,1,312,1,313,3,313,6371,8,313,1,313,1,313,1,314,3,314,6376,8,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,1,315,3,315,6389,8,315,1,315,3,315,6392,8,315,1,316,1,316,3,316,6396,8,316,1,316,3,316,6399,8,316,1,316,3,316,6402,8,316,1,316,1,316,1,316,3,316,6407,8,316,1,316,1,316,1,316,3,316,6412,8,316,1,316,1,316,1,316,1,316,3,316,6418,8,316,1,316,3,316,6421,8,316,1,316,1,316,1,316,3,316,6426,8,316,1,316,3,316,6429,8,316,1,316,1,316,1,316,3,316,6434,8,316,1,316,3,316,6437,8,316,1,316,1,316,3,316,6441,8,316,1,316,5,316,6444,8,316,10,316,12,316,6447,9,316,1,316,1,316,3,316,6451,8,316,1,316,5,316,6454,8,316,10,316,12,316,6457,9,316,1,316,1,316,3,316,6461,8,316,1,316,3,316,6464,8,316,1,316,5,316,6467,8,316,10,316,12,316,6470,9,316,1,316,1,316,3,316,6474,8,316,1,316,5,316,6477,8,316,10,316,12,316,6480,9,316,1,316,1,316,1,316,3,316,6485,8,316,1,316,1,316,1,316,3,316,6490,8,316,1,316,1,316,1,316,3,316,6495,8,316,1,316,1,316,1,316,3,316,6500,8,316,1,316,1,316,3,316,6504,8,316,1,316,3,316,6507,8,316,1,316,1,316,1,316,3,316,6512,8,316,1,316,1,316,3,316,6516,8,316,1,316,1,316,3,316,6520,8,316,1,317,1,317,1,317,1,317,5,317,6526,8,317,10,317,12,317,6529,9,317,1,317,1,317,1,318,1,318,3,318,6535,8,318,1,318,1,318,3,318,6539,8,318,1,318,1,318,1,318,3,318,6544,8,318,1,318,1,318,1,318,3,318,6549,8,318,1,318,1,318,3,318,6553,8,318,3,318,6555,8,318,1,318,3,318,6558,8,318,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,3,321,6574,8,321,1,321,1,321,1,322,1,322,1,322,5,322,6581,8,322,10,322,12,322,6584,9,322,1,323,1,323,1,323,5,323,6589,8,323,10,323,12,323,6592,9,323,1,324,1,324,1,324,5,324,6597,8,324,10,324,12,324,6600,9,324,1,325,1,325,1,325,1,325,5,325,6606,8,325,10,325,12,325,6609,9,325,1,325,1,325,1,326,1,326,1,326,5,326,6616,8,326,10,326,12,326,6619,9,326,1,327,1,327,1,327,5,327,6624,8,327,10,327,12,327,6627,9,327,1,328,1,328,1,328,5,328,6632,8,328,10,328,12,328,6635,9,328,1,329,1,329,1,329,5,329,6640,8,329,10,329,12,329,6643,9,329,1,330,1,330,1,330,5,330,6648,8,330,10,330,12,330,6651,9,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,3,331,6662,8,331,1,331,1,331,1,331,1,331,1,331,3,331,6669,8,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,3,331,6679,8,331,1,332,1,332,1,332,3,332,6684,8,332,1,332,3,332,6687,8,332,1,332,1,332,1,332,3,332,6692,8,332,1,332,3,332,6695,8,332,1,333,1,333,3,333,6699,8,333,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,337,1,337,1,337,3,337,6714,8,337,1,338,1,338,1,338,1,338,1,338,1,338,3,338,6722,8,338,1,338,1,338,1,338,1,338,1,338,3,338,6729,8,338,1,338,1,338,1,338,3,338,6734,8,338,1,339,1,339,1,339,3,339,6739,8,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,4,339,6771,8,339,11,339,12,339,6772,1,339,1,339,3,339,6777,8,339,1,339,1,339,1,339,1,339,4,339,6783,8,339,11,339,12,339,6784,1,339,1,339,3,339,6789,8,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6798,8,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6806,8,339,1,339,1,339,1,339,3,339,6811,8,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6819,8,339,1,339,1,339,1,339,3,339,6824,8,339,1,339,1,339,1,339,3,339,6829,8,339,3,339,6831,8,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6840,8,339,1,339,1,339,1,339,3,339,6845,8,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6853,8,339,1,339,1,339,1,339,3,339,6858,8,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6866,8,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6874,8,339,1,339,3,339,6877,8,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6887,8,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,3,339,6905,8,339,1,339,3,339,6908,8,339,1,339,3,339,6911,8,339,1,339,1,339,3,339,6915,8,339,1,340,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,5,341,6926,8,341,10,341,12,341,6929,9,341,1,341,1,341,1,341,1,341,1,341,3,341,6936,8,341,1,342,1,342,3,342,6940,8,342,1,343,1,343,1,343,3,343,6945,8,343,1,343,1,343,1,343,3,343,6950,8,343,1,343,1,343,1,343,1,343,3,343,6956,8,343,1,343,1,343,1,343,3,343,6961,8,343,1,343,1,343,3,343,6965,8,343,1,343,1,343,1,343,3,343,6970,8,343,1,343,1,343,1,343,3,343,6975,8,343,1,343,1,343,1,343,3,343,6980,8,343,1,343,1,343,1,343,1,343,1,343,1,343,5,343,6988,8,343,10,343,12,343,6991,9,343,3,343,6993,8,343,1,343,1,343,3,343,6997,8,343,1,343,1,343,3,343,7001,8,343,1,344,1,344,1,344,1,344,1,344,3,344,7008,8,344,1,344,1,344,3,344,7012,8,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,1,344,3,344,7041,8,344,1,345,1,345,1,345,1,345,1,345,1,345,3,345,7049,8,345,1,346,3,346,7052,8,346,1,346,3,346,7055,8,346,1,346,3,346,7058,8,346,1,346,3,346,7061,8,346,1,347,1,347,1,348,1,348,1,348,1,349,1,349,1,350,1,350,3,350,7072,8,350,1,351,1,351,1,351,1,351,1,351,1,352,1,352,1,352,1,352,1,352,1,352,1,352,3,352,7086,8,352,1,353,1,353,1,353,1,353,1,353,5,353,7093,8,353,10,353,12,353,7096,9,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,1,354,3,354,7122,8,354,1,355,1,355,1,355,1,355,1,355,1,356,1,356,1,356,1,356,3,356,7133,8,356,1,356,1,356,1,356,1,356,1,356,3,356,7140,8,356,5,356,7142,8,356,10,356,12,356,7145,9,356,1,357,1,357,1,357,1,357,3,357,7151,8,357,1,358,1,358,1,358,1,358,1,358,1,358,3,358,7159,8,358,1,358,1,358,1,358,3,358,7164,8,358,1,358,1,358,1,358,1,358,5,358,7170,8,358,10,358,12,358,7173,9,358,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,3,359,7184,8,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,3,359,7197,8,359,1,359,1,359,1,359,1,359,3,359,7203,8,359,1,359,1,359,1,359,1,359,3,359,7209,8,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,3,359,7225,8,359,1,359,1,359,1,359,1,359,3,359,7231,8,359,1,359,1,359,1,359,1,359,1,359,1,359,1,359,5,359,7240,8,359,10,359,12,359,7243,9,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,5,360,7262,8,360,10,360,12,360,7265,9,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,4,360,7274,8,360,11,360,12,360,7275,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,3,360,7293,8,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,5,360,7314,8,360,10,360,12,360,7317,9,360,1,361,1,361,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,1,362,3,362,7335,8,362,1,363,1,363,1,363,1,363,1,363,1,363,1,363,3,363,7344,8,363,1,364,1,364,1,364,1,364,1,364,1,364,1,364,3,364,7353,8,364,1,365,1,365,1,366,1,366,1,367,1,367,1,367,1,367,1,367,3,367,7364,8,367,1,368,1,368,1,369,1,369,1,370,1,370,1,371,1,371,1,372,1,372,1,373,1,373,1,374,1,374,1,374,0,3,716,718,720,375,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,0,145,2,0,39,39,150,150,2,0,531,531,537,537,3,0,69,69,159,159,181,181,3,0,42,42,384,384,454,454,4,0,42,42,419,419,529,529,611,611,2,0,514,514,1148,1148,2,0,78,78,141,141,2,0,15,15,334,334,3,0,44,44,85,85,184,184,2,0,434,434,558,558,3,0,506,506,650,650,658,658,2,0,392,392,460,460,2,0,352,352,474,474,2,0,42,42,1138,1139,2,0,350,350,443,443,2,0,459,459,673,673,3,0,80,80,84,84,125,125,3,0,42,42,402,402,431,431,3,0,42,42,398,398,792,792,2,0,637,637,672,672,2,0,81,81,91,91,3,0,436,436,548,548,613,613,2,0,69,69,159,159,1,0,356,357,1,0,1138,1139,2,0,1148,1148,1156,1156,2,0,81,81,388,388,2,0,545,545,1148,1148,2,0,546,546,1148,1148,3,0,430,430,469,469,521,521,7,0,42,42,370,370,372,372,402,402,431,431,573,573,1156,1156,2,0,514,514,530,530,1,0,1139,1140,2,0,5,5,51,51,4,0,42,42,384,384,454,454,458,458,2,0,26,26,30,30,2,0,12,12,175,175,2,0,192,192,677,677,2,0,21,21,144,144,3,0,43,43,75,75,106,106,2,0,106,106,374,374,2,0,365,365,427,427,2,0,101,101,601,601,2,0,43,43,106,106,2,0,6,6,49,49,2,0,188,188,669,669,4,0,430,430,469,469,520,520,562,562,2,0,430,430,520,520,2,0,13,13,45,45,3,0,66,66,78,78,186,186,2,0,34,34,83,83,2,0,97,97,148,148,2,0,6,6,49,50,1,0,626,627,2,0,172,172,742,742,2,0,439,439,609,609,2,0,226,226,477,477,5,0,107,107,482,483,485,485,489,497,575,575,4,0,479,480,484,484,486,487,576,576,3,0,108,108,478,478,488,488,2,0,462,462,628,628,2,0,622,622,624,624,2,0,344,344,629,629,2,0,90,90,591,591,2,0,51,51,390,390,3,0,31,31,61,61,179,179,3,0,131,131,172,172,437,437,3,0,12,12,19,19,187,187,2,0,42,42,121,121,2,0,103,103,182,182,2,0,360,360,614,614,2,0,40,40,671,671,2,0,115,115,474,474,2,0,422,422,568,568,4,0,206,206,208,208,214,214,638,638,2,0,1108,1108,1124,1124,2,0,345,345,577,577,2,0,68,68,80,80,3,0,131,131,415,415,437,437,2,0,172,172,671,671,2,0,513,513,634,634,2,0,412,412,675,675,2,0,131,131,437,437,3,0,81,81,92,92,452,452,3,0,439,439,474,474,609,609,2,0,634,634,670,670,2,0,376,376,567,567,6,0,226,226,409,409,411,411,438,438,574,574,615,615,2,0,45,46,62,62,3,0,422,422,550,550,885,885,2,0,466,466,652,652,10,0,359,359,367,367,378,380,387,387,507,507,515,515,639,639,646,646,836,836,1005,1005,2,0,35,35,168,168,2,0,117,117,996,996,11,0,359,359,367,367,378,380,387,387,507,507,515,515,592,592,639,639,646,646,836,836,1005,1005,2,0,1137,1137,1158,1159,1,0,1159,1160,2,0,375,375,787,798,3,0,1138,1140,1149,1149,1151,1151,2,0,63,63,178,178,2,0,116,116,1152,1152,5,0,25,25,222,224,231,231,233,236,518,518,2,0,25,25,222,222,2,0,25,25,222,223,1,0,196,207,3,0,183,183,195,195,612,612,2,0,211,216,431,431,6,0,217,217,228,228,230,230,232,232,239,239,348,349,4,0,218,221,226,227,229,229,346,346,2,0,153,153,237,237,2,0,466,466,803,811,3,0,211,211,226,226,518,518,6,0,200,200,206,206,209,209,217,218,220,221,466,466,1,0,214,215,2,0,183,183,612,612,2,0,200,200,206,206,2,0,315,316,322,322,3,0,150,150,313,316,331,331,1,0,325,326,3,0,17,17,95,95,176,176,2,0,222,222,226,226,2,0,217,218,220,220,3,0,13,13,45,45,994,994,3,0,286,286,298,299,309,309,3,0,287,289,305,308,310,312,2,0,295,295,297,297,2,0,293,293,296,296,2,0,291,292,302,304,2,0,133,133,601,601,2,0,433,433,559,559,2,0,535,535,551,551,2,0,114,114,1127,1127,3,0,63,63,178,178,662,662,2,0,137,137,149,149,3,0,6,6,337,337,618,618,3,0,114,114,1120,1121,1127,1128,2,0,1117,1119,1122,1123,1,0,1120,1121,2,0,226,226,746,786,1,0,799,802,5,0,708,709,725,727,733,733,739,740,742,742,1,0,689,696,3,0,217,221,234,234,237,237,59,0,11,11,14,14,18,18,29,29,35,35,37,37,42,42,48,48,55,55,57,57,59,59,73,73,79,79,94,94,117,117,121,121,124,124,130,130,158,158,168,168,239,239,283,290,294,294,298,299,305,312,332,385,387,403,405,405,407,432,434,450,452,458,460,521,523,523,527,544,547,558,560,589,591,592,594,606,608,636,638,672,674,675,677,682,684,688,697,697,699,707,710,712,717,718,720,724,728,732,734,734,736,738,741,741,743,745,792,792,836,836,875,875,1e3,1e3,1005,1005,1088,1088,23,0,39,39,97,97,148,148,150,150,217,219,221,221,251,282,290,293,295,297,300,304,324,324,459,459,673,673,689,696,736,736,803,803,806,835,837,874,876,999,1001,1004,1006,1087,1089,1107,1123,1123,8658,0,751,1,0,0,0,2,763,1,0,0,0,4,772,1,0,0,0,6,812,1,0,0,0,8,827,1,0,0,0,10,838,1,0,0,0,12,855,1,0,0,0,14,860,1,0,0,0,16,872,1,0,0,0,18,899,1,0,0,0,20,908,1,0,0,0,22,910,1,0,0,0,24,922,1,0,0,0,26,952,1,0,0,0,28,988,1,0,0,0,30,1039,1,0,0,0,32,1065,1,0,0,0,34,1101,1,0,0,0,36,1108,1,0,0,0,38,1205,1,0,0,0,40,1207,1,0,0,0,42,1225,1,0,0,0,44,1286,1,0,0,0,46,1308,1,0,0,0,48,1314,1,0,0,0,50,1336,1,0,0,0,52,1338,1,0,0,0,54,1340,1,0,0,0,56,1420,1,0,0,0,58,1427,1,0,0,0,60,1429,1,0,0,0,62,1434,1,0,0,0,64,1474,1,0,0,0,66,1480,1,0,0,0,68,1482,1,0,0,0,70,1503,1,0,0,0,72,1510,1,0,0,0,74,1512,1,0,0,0,76,1537,1,0,0,0,78,1540,1,0,0,0,80,1545,1,0,0,0,82,1571,1,0,0,0,84,1587,1,0,0,0,86,1589,1,0,0,0,88,1611,1,0,0,0,90,1613,1,0,0,0,92,1679,1,0,0,0,94,1750,1,0,0,0,96,1752,1,0,0,0,98,1780,1,0,0,0,100,1790,1,0,0,0,102,1820,1,0,0,0,104,2007,1,0,0,0,106,2009,1,0,0,0,108,2011,1,0,0,0,110,2014,1,0,0,0,112,2089,1,0,0,0,114,2112,1,0,0,0,116,2260,1,0,0,0,118,2265,1,0,0,0,120,2267,1,0,0,0,122,2277,1,0,0,0,124,2333,1,0,0,0,126,2351,1,0,0,0,128,2353,1,0,0,0,130,2388,1,0,0,0,132,2397,1,0,0,0,134,2404,1,0,0,0,136,2427,1,0,0,0,138,2436,1,0,0,0,140,2451,1,0,0,0,142,2476,1,0,0,0,144,2496,1,0,0,0,146,2879,1,0,0,0,148,2979,1,0,0,0,150,2981,1,0,0,0,152,2988,1,0,0,0,154,2995,1,0,0,0,156,3018,1,0,0,0,158,3026,1,0,0,0,160,3033,1,0,0,0,162,3040,1,0,0,0,164,3047,1,0,0,0,166,3059,1,0,0,0,168,3069,1,0,0,0,170,3076,1,0,0,0,172,3092,1,0,0,0,174,3112,1,0,0,0,176,3114,1,0,0,0,178,3124,1,0,0,0,180,3128,1,0,0,0,182,3134,1,0,0,0,184,3146,1,0,0,0,186,3148,1,0,0,0,188,3155,1,0,0,0,190,3157,1,0,0,0,192,3215,1,0,0,0,194,3289,1,0,0,0,196,3348,1,0,0,0,198,3446,1,0,0,0,200,3450,1,0,0,0,202,3452,1,0,0,0,204,3487,1,0,0,0,206,3489,1,0,0,0,208,3497,1,0,0,0,210,3505,1,0,0,0,212,3507,1,0,0,0,214,3543,1,0,0,0,216,3598,1,0,0,0,218,3607,1,0,0,0,220,3627,1,0,0,0,222,3639,1,0,0,0,224,3643,1,0,0,0,226,3676,1,0,0,0,228,3697,1,0,0,0,230,3707,1,0,0,0,232,3711,1,0,0,0,234,3737,1,0,0,0,236,3776,1,0,0,0,238,3778,1,0,0,0,240,3793,1,0,0,0,242,3842,1,0,0,0,244,3851,1,0,0,0,246,3861,1,0,0,0,248,3871,1,0,0,0,250,3927,1,0,0,0,252,3929,1,0,0,0,254,3956,1,0,0,0,256,3962,1,0,0,0,258,3970,1,0,0,0,260,3987,1,0,0,0,262,4003,1,0,0,0,264,4040,1,0,0,0,266,4046,1,0,0,0,268,4055,1,0,0,0,270,4068,1,0,0,0,272,4072,1,0,0,0,274,4082,1,0,0,0,276,4106,1,0,0,0,278,4144,1,0,0,0,280,4158,1,0,0,0,282,4166,1,0,0,0,284,4170,1,0,0,0,286,4176,1,0,0,0,288,4190,1,0,0,0,290,4193,1,0,0,0,292,4211,1,0,0,0,294,4215,1,0,0,0,296,4231,1,0,0,0,298,4233,1,0,0,0,300,4245,1,0,0,0,302,4249,1,0,0,0,304,4266,1,0,0,0,306,4283,1,0,0,0,308,4286,1,0,0,0,310,4296,1,0,0,0,312,4300,1,0,0,0,314,4313,1,0,0,0,316,4316,1,0,0,0,318,4321,1,0,0,0,320,4341,1,0,0,0,322,4343,1,0,0,0,324,4360,1,0,0,0,326,4369,1,0,0,0,328,4378,1,0,0,0,330,4380,1,0,0,0,332,4394,1,0,0,0,334,4405,1,0,0,0,336,4414,1,0,0,0,338,4417,1,0,0,0,340,4425,1,0,0,0,342,4450,1,0,0,0,344,4462,1,0,0,0,346,4465,1,0,0,0,348,4497,1,0,0,0,350,4499,1,0,0,0,352,4501,1,0,0,0,354,4503,1,0,0,0,356,4505,1,0,0,0,358,4558,1,0,0,0,360,4560,1,0,0,0,362,4566,1,0,0,0,364,4586,1,0,0,0,366,4600,1,0,0,0,368,4611,1,0,0,0,370,4613,1,0,0,0,372,4619,1,0,0,0,374,4629,1,0,0,0,376,4633,1,0,0,0,378,4640,1,0,0,0,380,4644,1,0,0,0,382,4650,1,0,0,0,384,4657,1,0,0,0,386,4663,1,0,0,0,388,4669,1,0,0,0,390,4674,1,0,0,0,392,4719,1,0,0,0,394,4740,1,0,0,0,396,4765,1,0,0,0,398,4768,1,0,0,0,400,4774,1,0,0,0,402,4790,1,0,0,0,404,4805,1,0,0,0,406,4811,1,0,0,0,408,4841,1,0,0,0,410,4843,1,0,0,0,412,4850,1,0,0,0,414,4862,1,0,0,0,416,4868,1,0,0,0,418,4893,1,0,0,0,420,4897,1,0,0,0,422,4901,1,0,0,0,424,4912,1,0,0,0,426,4983,1,0,0,0,428,5036,1,0,0,0,430,5038,1,0,0,0,432,5105,1,0,0,0,434,5115,1,0,0,0,436,5117,1,0,0,0,438,5135,1,0,0,0,440,5181,1,0,0,0,442,5183,1,0,0,0,444,5196,1,0,0,0,446,5207,1,0,0,0,448,5210,1,0,0,0,450,5243,1,0,0,0,452,5247,1,0,0,0,454,5268,1,0,0,0,456,5278,1,0,0,0,458,5288,1,0,0,0,460,5328,1,0,0,0,462,5330,1,0,0,0,464,5333,1,0,0,0,466,5433,1,0,0,0,468,5451,1,0,0,0,470,5453,1,0,0,0,472,5457,1,0,0,0,474,5495,1,0,0,0,476,5504,1,0,0,0,478,5510,1,0,0,0,480,5517,1,0,0,0,482,5539,1,0,0,0,484,5541,1,0,0,0,486,5555,1,0,0,0,488,5561,1,0,0,0,490,5617,1,0,0,0,492,5780,1,0,0,0,494,5792,1,0,0,0,496,5807,1,0,0,0,498,5813,1,0,0,0,500,5832,1,0,0,0,502,5842,1,0,0,0,504,5856,1,0,0,0,506,5858,1,0,0,0,508,5861,1,0,0,0,510,5883,1,0,0,0,512,5895,1,0,0,0,514,5901,1,0,0,0,516,5913,1,0,0,0,518,5917,1,0,0,0,520,5919,1,0,0,0,522,5961,1,0,0,0,524,5968,1,0,0,0,526,5970,1,0,0,0,528,5993,1,0,0,0,530,5999,1,0,0,0,532,6007,1,0,0,0,534,6010,1,0,0,0,536,6013,1,0,0,0,538,6034,1,0,0,0,540,6055,1,0,0,0,542,6063,1,0,0,0,544,6075,1,0,0,0,546,6083,1,0,0,0,548,6121,1,0,0,0,550,6133,1,0,0,0,552,6135,1,0,0,0,554,6141,1,0,0,0,556,6143,1,0,0,0,558,6153,1,0,0,0,560,6155,1,0,0,0,562,6163,1,0,0,0,564,6171,1,0,0,0,566,6173,1,0,0,0,568,6181,1,0,0,0,570,6197,1,0,0,0,572,6199,1,0,0,0,574,6201,1,0,0,0,576,6203,1,0,0,0,578,6205,1,0,0,0,580,6207,1,0,0,0,582,6226,1,0,0,0,584,6235,1,0,0,0,586,6237,1,0,0,0,588,6239,1,0,0,0,590,6252,1,0,0,0,592,6254,1,0,0,0,594,6256,1,0,0,0,596,6262,1,0,0,0,598,6266,1,0,0,0,600,6271,1,0,0,0,602,6273,1,0,0,0,604,6275,1,0,0,0,606,6293,1,0,0,0,608,6309,1,0,0,0,610,6313,1,0,0,0,612,6318,1,0,0,0,614,6329,1,0,0,0,616,6334,1,0,0,0,618,6336,1,0,0,0,620,6340,1,0,0,0,622,6365,1,0,0,0,624,6367,1,0,0,0,626,6370,1,0,0,0,628,6375,1,0,0,0,630,6391,1,0,0,0,632,6519,1,0,0,0,634,6521,1,0,0,0,636,6554,1,0,0,0,638,6559,1,0,0,0,640,6563,1,0,0,0,642,6569,1,0,0,0,644,6577,1,0,0,0,646,6585,1,0,0,0,648,6593,1,0,0,0,650,6601,1,0,0,0,652,6612,1,0,0,0,654,6620,1,0,0,0,656,6628,1,0,0,0,658,6636,1,0,0,0,660,6644,1,0,0,0,662,6678,1,0,0,0,664,6694,1,0,0,0,666,6698,1,0,0,0,668,6700,1,0,0,0,670,6703,1,0,0,0,672,6707,1,0,0,0,674,6713,1,0,0,0,676,6733,1,0,0,0,678,6914,1,0,0,0,680,6916,1,0,0,0,682,6935,1,0,0,0,684,6937,1,0,0,0,686,7e3,1,0,0,0,688,7040,1,0,0,0,690,7042,1,0,0,0,692,7051,1,0,0,0,694,7062,1,0,0,0,696,7064,1,0,0,0,698,7067,1,0,0,0,700,7071,1,0,0,0,702,7073,1,0,0,0,704,7085,1,0,0,0,706,7087,1,0,0,0,708,7121,1,0,0,0,710,7123,1,0,0,0,712,7132,1,0,0,0,714,7150,1,0,0,0,716,7163,1,0,0,0,718,7174,1,0,0,0,720,7292,1,0,0,0,722,7318,1,0,0,0,724,7334,1,0,0,0,726,7343,1,0,0,0,728,7352,1,0,0,0,730,7354,1,0,0,0,732,7356,1,0,0,0,734,7363,1,0,0,0,736,7365,1,0,0,0,738,7367,1,0,0,0,740,7369,1,0,0,0,742,7371,1,0,0,0,744,7373,1,0,0,0,746,7375,1,0,0,0,748,7377,1,0,0,0,750,752,3,2,1,0,751,750,1,0,0,0,751,752,1,0,0,0,752,753,1,0,0,0,753,754,5,0,0,1,754,1,1,0,0,0,755,757,3,4,2,0,756,758,5,1136,0,0,757,756,1,0,0,0,757,758,1,0,0,0,758,764,1,0,0,0,759,760,3,4,2,0,760,761,5,1136,0,0,761,762,3,2,1,0,762,764,1,0,0,0,763,755,1,0,0,0,763,759,1,0,0,0,764,3,1,0,0,0,765,773,3,6,3,0,766,773,3,8,4,0,767,773,3,10,5,0,768,773,3,12,6,0,769,773,3,14,7,0,770,773,3,18,9,0,771,773,3,20,10,0,772,765,1,0,0,0,772,766,1,0,0,0,772,767,1,0,0,0,772,768,1,0,0,0,772,769,1,0,0,0,772,770,1,0,0,0,772,771,1,0,0,0,773,5,1,0,0,0,774,813,3,22,11,0,775,813,3,24,12,0,776,813,3,26,13,0,777,813,3,28,14,0,778,813,3,30,15,0,779,813,3,32,16,0,780,813,3,36,18,0,781,813,3,38,19,0,782,813,3,40,20,0,783,813,3,42,21,0,784,813,3,44,22,0,785,813,3,54,27,0,786,813,3,34,17,0,787,813,3,126,63,0,788,813,3,128,64,0,789,813,3,130,65,0,790,813,3,132,66,0,791,813,3,134,67,0,792,813,3,136,68,0,793,813,3,138,69,0,794,813,3,140,70,0,795,813,3,142,71,0,796,813,3,144,72,0,797,813,3,150,75,0,798,813,3,152,76,0,799,813,3,154,77,0,800,813,3,156,78,0,801,813,3,158,79,0,802,813,3,160,80,0,803,813,3,162,81,0,804,813,3,164,82,0,805,813,3,166,83,0,806,813,3,168,84,0,807,813,3,170,85,0,808,813,3,172,86,0,809,813,3,174,87,0,810,813,3,176,88,0,811,813,3,180,90,0,812,774,1,0,0,0,812,775,1,0,0,0,812,776,1,0,0,0,812,777,1,0,0,0,812,778,1,0,0,0,812,779,1,0,0,0,812,780,1,0,0,0,812,781,1,0,0,0,812,782,1,0,0,0,812,783,1,0,0,0,812,784,1,0,0,0,812,785,1,0,0,0,812,786,1,0,0,0,812,787,1,0,0,0,812,788,1,0,0,0,812,789,1,0,0,0,812,790,1,0,0,0,812,791,1,0,0,0,812,792,1,0,0,0,812,793,1,0,0,0,812,794,1,0,0,0,812,795,1,0,0,0,812,796,1,0,0,0,812,797,1,0,0,0,812,798,1,0,0,0,812,799,1,0,0,0,812,800,1,0,0,0,812,801,1,0,0,0,812,802,1,0,0,0,812,803,1,0,0,0,812,804,1,0,0,0,812,805,1,0,0,0,812,806,1,0,0,0,812,807,1,0,0,0,812,808,1,0,0,0,812,809,1,0,0,0,812,810,1,0,0,0,812,811,1,0,0,0,813,7,1,0,0,0,814,828,3,198,99,0,815,828,3,190,95,0,816,828,3,200,100,0,817,828,3,184,92,0,818,828,3,196,98,0,819,828,3,182,91,0,820,828,3,192,96,0,821,828,3,194,97,0,822,828,3,186,93,0,823,828,3,188,94,0,824,828,3,202,101,0,825,828,3,542,271,0,826,828,3,544,272,0,827,814,1,0,0,0,827,815,1,0,0,0,827,816,1,0,0,0,827,817,1,0,0,0,827,818,1,0,0,0,827,819,1,0,0,0,827,820,1,0,0,0,827,821,1,0,0,0,827,822,1,0,0,0,827,823,1,0,0,0,827,824,1,0,0,0,827,825,1,0,0,0,827,826,1,0,0,0,828,9,1,0,0,0,829,839,3,298,149,0,830,839,3,300,150,0,831,839,3,302,151,0,832,839,3,304,152,0,833,839,3,306,153,0,834,839,3,308,154,0,835,839,3,310,155,0,836,839,3,312,156,0,837,839,3,314,157,0,838,829,1,0,0,0,838,830,1,0,0,0,838,831,1,0,0,0,838,832,1,0,0,0,838,833,1,0,0,0,838,834,1,0,0,0,838,835,1,0,0,0,838,836,1,0,0,0,838,837,1,0,0,0,839,11,1,0,0,0,840,856,3,330,165,0,841,856,3,332,166,0,842,856,3,334,167,0,843,856,3,336,168,0,844,856,3,338,169,0,845,856,3,340,170,0,846,856,3,342,171,0,847,856,3,344,172,0,848,856,3,346,173,0,849,856,3,370,185,0,850,856,3,372,186,0,851,856,3,374,187,0,852,856,3,376,188,0,853,856,3,378,189,0,854,856,3,380,190,0,855,840,1,0,0,0,855,841,1,0,0,0,855,842,1,0,0,0,855,843,1,0,0,0,855,844,1,0,0,0,855,845,1,0,0,0,855,846,1,0,0,0,855,847,1,0,0,0,855,848,1,0,0,0,855,849,1,0,0,0,855,850,1,0,0,0,855,851,1,0,0,0,855,852,1,0,0,0,855,853,1,0,0,0,855,854,1,0,0,0,856,13,1,0,0,0,857,861,3,382,191,0,858,861,3,384,192,0,859,861,3,386,193,0,860,857,1,0,0,0,860,858,1,0,0,0,860,859,1,0,0,0,861,15,1,0,0,0,862,873,3,390,195,0,863,873,3,392,196,0,864,873,3,394,197,0,865,873,3,398,199,0,866,873,3,400,200,0,867,873,3,402,201,0,868,873,3,406,203,0,869,873,3,396,198,0,870,873,3,404,202,0,871,873,3,408,204,0,872,862,1,0,0,0,872,863,1,0,0,0,872,864,1,0,0,0,872,865,1,0,0,0,872,866,1,0,0,0,872,867,1,0,0,0,872,868,1,0,0,0,872,869,1,0,0,0,872,870,1,0,0,0,872,871,1,0,0,0,873,17,1,0,0,0,874,900,3,426,213,0,875,900,3,428,214,0,876,900,3,430,215,0,877,900,3,432,216,0,878,900,3,436,218,0,879,900,3,438,219,0,880,900,3,440,220,0,881,900,3,442,221,0,882,900,3,472,236,0,883,900,3,474,237,0,884,900,3,476,238,0,885,900,3,478,239,0,886,900,3,480,240,0,887,900,3,484,242,0,888,900,3,486,243,0,889,900,3,488,244,0,890,900,3,490,245,0,891,900,3,492,246,0,892,900,3,506,253,0,893,900,3,508,254,0,894,900,3,510,255,0,895,900,3,512,256,0,896,900,3,514,257,0,897,900,3,516,258,0,898,900,3,518,259,0,899,874,1,0,0,0,899,875,1,0,0,0,899,876,1,0,0,0,899,877,1,0,0,0,899,878,1,0,0,0,899,879,1,0,0,0,899,880,1,0,0,0,899,881,1,0,0,0,899,882,1,0,0,0,899,883,1,0,0,0,899,884,1,0,0,0,899,885,1,0,0,0,899,886,1,0,0,0,899,887,1,0,0,0,899,888,1,0,0,0,899,889,1,0,0,0,899,890,1,0,0,0,899,891,1,0,0,0,899,892,1,0,0,0,899,893,1,0,0,0,899,894,1,0,0,0,899,895,1,0,0,0,899,896,1,0,0,0,899,897,1,0,0,0,899,898,1,0,0,0,900,19,1,0,0,0,901,909,3,528,264,0,902,909,3,530,265,0,903,909,3,532,266,0,904,909,3,534,267,0,905,909,3,536,268,0,906,909,3,538,269,0,907,909,3,546,273,0,908,901,1,0,0,0,908,902,1,0,0,0,908,903,1,0,0,0,908,904,1,0,0,0,908,905,1,0,0,0,908,906,1,0,0,0,908,907,1,0,0,0,909,21,1,0,0,0,910,911,5,33,0,0,911,913,7,0,0,0,912,914,3,670,335,0,913,912,1,0,0,0,913,914,1,0,0,0,914,915,1,0,0,0,915,919,3,612,306,0,916,918,3,56,28,0,917,916,1,0,0,0,918,921,1,0,0,0,919,917,1,0,0,0,919,920,1,0,0,0,920,23,1,0,0,0,921,919,1,0,0,0,922,924,5,33,0,0,923,925,3,62,31,0,924,923,1,0,0,0,924,925,1,0,0,0,925,926,1,0,0,0,926,928,5,415,0,0,927,929,3,670,335,0,928,927,1,0,0,0,928,929,1,0,0,0,929,930,1,0,0,0,930,931,3,552,276,0,931,932,5,118,0,0,932,933,5,605,0,0,933,940,3,64,32,0,934,935,5,118,0,0,935,937,5,371,0,0,936,938,5,114,0,0,937,936,1,0,0,0,937,938,1,0,0,0,938,939,1,0,0,0,939,941,5,561,0,0,940,934,1,0,0,0,940,941,1,0,0,0,941,943,1,0,0,0,942,944,3,72,36,0,943,942,1,0,0,0,943,944,1,0,0,0,944,947,1,0,0,0,945,946,5,368,0,0,946,948,5,1148,0,0,947,945,1,0,0,0,947,948,1,0,0,0,948,949,1,0,0,0,949,950,5,399,0,0,950,951,3,388,194,0,951,25,1,0,0,0,952,954,5,33,0,0,953,955,7,1,0,0,954,953,1,0,0,0,954,955,1,0,0,0,955,957,1,0,0,0,956,958,7,2,0,0,957,956,1,0,0,0,957,958,1,0,0,0,958,959,1,0,0,0,959,960,5,81,0,0,960,962,3,612,306,0,961,963,3,74,37,0,962,961,1,0,0,0,962,963,1,0,0,0,963,964,1,0,0,0,964,965,5,118,0,0,965,966,3,554,277,0,966,970,3,650,325,0,967,969,3,76,38,0,968,967,1,0,0,0,969,972,1,0,0,0,970,968,1,0,0,0,970,971,1,0,0,0,971,985,1,0,0,0,972,970,1,0,0,0,973,975,5,336,0,0,974,976,5,1124,0,0,975,974,1,0,0,0,975,976,1,0,0,0,976,977,1,0,0,0,977,984,7,3,0,0,978,980,5,103,0,0,979,981,5,1124,0,0,980,979,1,0,0,0,980,981,1,0,0,0,981,982,1,0,0,0,982,984,7,4,0,0,983,973,1,0,0,0,983,978,1,0,0,0,984,987,1,0,0,0,985,983,1,0,0,0,985,986,1,0,0,0,986,27,1,0,0,0,987,985,1,0,0,0,988,989,5,33,0,0,989,990,5,475,0,0,990,991,5,73,0,0,991,992,3,612,306,0,992,993,5,5,0,0,993,994,5,659,0,0,994,1e3,5,1148,0,0,995,997,5,453,0,0,996,998,5,1124,0,0,997,996,1,0,0,0,997,998,1,0,0,0,998,999,1,0,0,0,999,1001,3,620,310,0,1e3,995,1,0,0,0,1e3,1001,1,0,0,0,1001,1007,1,0,0,0,1002,1004,5,660,0,0,1003,1005,5,1124,0,0,1004,1003,1,0,0,0,1004,1005,1,0,0,0,1005,1006,1,0,0,0,1006,1008,3,620,310,0,1007,1002,1,0,0,0,1007,1008,1,0,0,0,1008,1014,1,0,0,0,1009,1011,5,572,0,0,1010,1012,5,1124,0,0,1011,1010,1,0,0,0,1011,1012,1,0,0,0,1012,1013,1,0,0,0,1013,1015,3,620,310,0,1014,1009,1,0,0,0,1014,1015,1,0,0,0,1015,1021,1,0,0,0,1016,1018,5,528,0,0,1017,1019,5,1124,0,0,1018,1017,1,0,0,0,1018,1019,1,0,0,0,1019,1020,1,0,0,0,1020,1022,3,612,306,0,1021,1016,1,0,0,0,1021,1022,1,0,0,0,1022,1024,1,0,0,0,1023,1025,5,674,0,0,1024,1023,1,0,0,0,1024,1025,1,0,0,0,1025,1031,1,0,0,0,1026,1028,5,368,0,0,1027,1029,5,1124,0,0,1028,1027,1,0,0,0,1028,1029,1,0,0,0,1029,1030,1,0,0,0,1030,1032,5,1148,0,0,1031,1026,1,0,0,0,1031,1032,1,0,0,0,1032,1033,1,0,0,0,1033,1035,5,409,0,0,1034,1036,5,1124,0,0,1035,1034,1,0,0,0,1035,1036,1,0,0,0,1036,1037,1,0,0,0,1037,1038,3,600,300,0,1038,29,1,0,0,0,1039,1041,5,33,0,0,1040,1042,3,62,31,0,1041,1040,1,0,0,0,1041,1042,1,0,0,0,1042,1043,1,0,0,0,1043,1044,5,131,0,0,1044,1045,3,552,276,0,1045,1047,5,1133,0,0,1046,1048,3,78,39,0,1047,1046,1,0,0,0,1047,1048,1,0,0,0,1048,1053,1,0,0,0,1049,1050,5,1135,0,0,1050,1052,3,78,39,0,1051,1049,1,0,0,0,1052,1055,1,0,0,0,1053,1051,1,0,0,0,1053,1054,1,0,0,0,1054,1056,1,0,0,0,1055,1053,1,0,0,0,1056,1060,5,1134,0,0,1057,1059,3,82,41,0,1058,1057,1,0,0,0,1059,1062,1,0,0,0,1060,1058,1,0,0,0,1060,1061,1,0,0,0,1061,1063,1,0,0,0,1062,1060,1,0,0,0,1063,1064,3,388,194,0,1064,31,1,0,0,0,1065,1067,5,33,0,0,1066,1068,3,62,31,0,1067,1066,1,0,0,0,1067,1068,1,0,0,0,1068,1070,1,0,0,0,1069,1071,5,335,0,0,1070,1069,1,0,0,0,1070,1071,1,0,0,0,1071,1072,1,0,0,0,1072,1074,5,437,0,0,1073,1075,3,670,335,0,1074,1073,1,0,0,0,1074,1075,1,0,0,0,1075,1076,1,0,0,0,1076,1077,3,552,276,0,1077,1079,5,1133,0,0,1078,1080,3,80,40,0,1079,1078,1,0,0,0,1079,1080,1,0,0,0,1080,1085,1,0,0,0,1081,1082,5,1135,0,0,1082,1084,3,80,40,0,1083,1081,1,0,0,0,1084,1087,1,0,0,0,1085,1083,1,0,0,0,1085,1086,1,0,0,0,1086,1088,1,0,0,0,1087,1085,1,0,0,0,1088,1089,5,1134,0,0,1089,1090,5,594,0,0,1090,1094,3,632,316,0,1091,1093,3,82,41,0,1092,1091,1,0,0,0,1093,1096,1,0,0,0,1094,1092,1,0,0,0,1094,1095,1,0,0,0,1095,1099,1,0,0,0,1096,1094,1,0,0,0,1097,1100,3,388,194,0,1098,1100,3,404,202,0,1099,1097,1,0,0,0,1099,1098,1,0,0,0,1100,33,1,0,0,0,1101,1102,5,33,0,0,1102,1104,5,596,0,0,1103,1105,3,670,335,0,1104,1103,1,0,0,0,1104,1105,1,0,0,0,1105,1106,1,0,0,0,1106,1107,3,562,281,0,1107,35,1,0,0,0,1108,1109,5,33,0,0,1109,1110,5,608,0,0,1110,1111,3,612,306,0,1111,1112,5,67,0,0,1112,1113,5,388,0,0,1113,1114,5,679,0,0,1114,1115,7,5,0,0,1115,1116,5,541,0,0,1116,1117,5,1133,0,0,1117,1122,3,84,42,0,1118,1119,5,1135,0,0,1119,1121,3,84,42,0,1120,1118,1,0,0,0,1121,1124,1,0,0,0,1122,1120,1,0,0,0,1122,1123,1,0,0,0,1123,1125,1,0,0,0,1124,1122,1,0,0,0,1125,1126,5,1134,0,0,1126,37,1,0,0,0,1127,1129,5,33,0,0,1128,1130,5,649,0,0,1129,1128,1,0,0,0,1129,1130,1,0,0,0,1130,1131,1,0,0,0,1131,1133,5,172,0,0,1132,1134,3,670,335,0,1133,1132,1,0,0,0,1133,1134,1,0,0,0,1134,1135,1,0,0,0,1135,1143,3,554,277,0,1136,1137,5,98,0,0,1137,1144,3,554,277,0,1138,1139,5,1133,0,0,1139,1140,5,98,0,0,1140,1141,3,554,277,0,1141,1142,5,1134,0,0,1142,1144,1,0,0,0,1143,1136,1,0,0,0,1143,1138,1,0,0,0,1144,1206,1,0,0,0,1145,1147,5,33,0,0,1146,1148,5,649,0,0,1147,1146,1,0,0,0,1147,1148,1,0,0,0,1148,1149,1,0,0,0,1149,1151,5,172,0,0,1150,1152,3,670,335,0,1151,1150,1,0,0,0,1151,1152,1,0,0,0,1152,1153,1,0,0,0,1153,1155,3,554,277,0,1154,1156,3,86,43,0,1155,1154,1,0,0,0,1155,1156,1,0,0,0,1156,1167,1,0,0,0,1157,1164,3,104,52,0,1158,1160,5,1135,0,0,1159,1158,1,0,0,0,1159,1160,1,0,0,0,1160,1161,1,0,0,0,1161,1163,3,104,52,0,1162,1159,1,0,0,0,1163,1166,1,0,0,0,1164,1162,1,0,0,0,1164,1165,1,0,0,0,1165,1168,1,0,0,0,1166,1164,1,0,0,0,1167,1157,1,0,0,0,1167,1168,1,0,0,0,1168,1170,1,0,0,0,1169,1171,3,110,55,0,1170,1169,1,0,0,0,1170,1171,1,0,0,0,1171,1173,1,0,0,0,1172,1174,7,6,0,0,1173,1172,1,0,0,0,1173,1174,1,0,0,0,1174,1176,1,0,0,0,1175,1177,5,12,0,0,1176,1175,1,0,0,0,1176,1177,1,0,0,0,1177,1178,1,0,0,0,1178,1179,3,198,99,0,1179,1206,1,0,0,0,1180,1182,5,33,0,0,1181,1183,5,649,0,0,1182,1181,1,0,0,0,1182,1183,1,0,0,0,1183,1184,1,0,0,0,1184,1186,5,172,0,0,1185,1187,3,670,335,0,1186,1185,1,0,0,0,1186,1187,1,0,0,0,1187,1188,1,0,0,0,1188,1189,3,554,277,0,1189,1200,3,86,43,0,1190,1197,3,104,52,0,1191,1193,5,1135,0,0,1192,1191,1,0,0,0,1192,1193,1,0,0,0,1193,1194,1,0,0,0,1194,1196,3,104,52,0,1195,1192,1,0,0,0,1196,1199,1,0,0,0,1197,1195,1,0,0,0,1197,1198,1,0,0,0,1198,1201,1,0,0,0,1199,1197,1,0,0,0,1200,1190,1,0,0,0,1200,1201,1,0,0,0,1201,1203,1,0,0,0,1202,1204,3,110,55,0,1203,1202,1,0,0,0,1203,1204,1,0,0,0,1204,1206,1,0,0,0,1205,1127,1,0,0,0,1205,1145,1,0,0,0,1205,1180,1,0,0,0,1206,39,1,0,0,0,1207,1208,5,33,0,0,1208,1209,5,647,0,0,1209,1210,3,612,306,0,1210,1211,5,5,0,0,1211,1212,5,389,0,0,1212,1216,5,1148,0,0,1213,1214,5,428,0,0,1214,1215,5,1124,0,0,1215,1217,3,620,310,0,1216,1213,1,0,0,0,1216,1217,1,0,0,0,1217,1223,1,0,0,0,1218,1220,5,409,0,0,1219,1221,5,1124,0,0,1220,1219,1,0,0,0,1220,1221,1,0,0,0,1221,1222,1,0,0,0,1222,1224,3,600,300,0,1223,1218,1,0,0,0,1223,1224,1,0,0,0,1224,41,1,0,0,0,1225,1226,5,33,0,0,1226,1227,5,647,0,0,1227,1228,3,612,306,0,1228,1229,5,5,0,0,1229,1230,5,389,0,0,1230,1231,5,1148,0,0,1231,1232,5,186,0,0,1232,1233,5,475,0,0,1233,1234,5,73,0,0,1234,1240,3,612,306,0,1235,1237,5,423,0,0,1236,1238,5,1124,0,0,1237,1236,1,0,0,0,1237,1238,1,0,0,0,1238,1239,1,0,0,0,1239,1241,3,620,310,0,1240,1235,1,0,0,0,1240,1241,1,0,0,0,1241,1247,1,0,0,0,1242,1244,5,453,0,0,1243,1245,5,1124,0,0,1244,1243,1,0,0,0,1244,1245,1,0,0,0,1245,1246,1,0,0,0,1246,1248,3,620,310,0,1247,1242,1,0,0,0,1247,1248,1,0,0,0,1248,1254,1,0,0,0,1249,1251,5,341,0,0,1250,1252,5,1124,0,0,1251,1250,1,0,0,0,1251,1252,1,0,0,0,1252,1253,1,0,0,0,1253,1255,3,620,310,0,1254,1249,1,0,0,0,1254,1255,1,0,0,0,1255,1261,1,0,0,0,1256,1258,5,501,0,0,1257,1259,5,1124,0,0,1258,1257,1,0,0,0,1258,1259,1,0,0,0,1259,1260,1,0,0,0,1260,1262,3,620,310,0,1261,1256,1,0,0,0,1261,1262,1,0,0,0,1262,1268,1,0,0,0,1263,1265,5,528,0,0,1264,1266,5,1124,0,0,1265,1264,1,0,0,0,1265,1266,1,0,0,0,1266,1267,1,0,0,0,1267,1269,3,612,306,0,1268,1263,1,0,0,0,1268,1269,1,0,0,0,1269,1271,1,0,0,0,1270,1272,5,674,0,0,1271,1270,1,0,0,0,1271,1272,1,0,0,0,1272,1278,1,0,0,0,1273,1275,5,368,0,0,1274,1276,5,1124,0,0,1275,1274,1,0,0,0,1275,1276,1,0,0,0,1276,1277,1,0,0,0,1277,1279,5,1148,0,0,1278,1273,1,0,0,0,1278,1279,1,0,0,0,1279,1280,1,0,0,0,1280,1282,5,409,0,0,1281,1283,5,1124,0,0,1282,1281,1,0,0,0,1282,1283,1,0,0,0,1283,1284,1,0,0,0,1284,1285,3,600,300,0,1285,43,1,0,0,0,1286,1288,5,33,0,0,1287,1289,3,62,31,0,1288,1287,1,0,0,0,1288,1289,1,0,0,0,1289,1290,1,0,0,0,1290,1292,5,177,0,0,1291,1293,3,670,335,0,1292,1291,1,0,0,0,1292,1293,1,0,0,0,1293,1294,1,0,0,0,1294,1295,3,552,276,0,1295,1296,7,7,0,0,1296,1297,7,8,0,0,1297,1298,5,118,0,0,1298,1299,3,554,277,0,1299,1300,5,65,0,0,1300,1301,5,52,0,0,1301,1304,5,600,0,0,1302,1303,7,9,0,0,1303,1305,3,552,276,0,1304,1302,1,0,0,0,1304,1305,1,0,0,0,1305,1306,1,0,0,0,1306,1307,3,388,194,0,1307,45,1,0,0,0,1308,1310,5,192,0,0,1309,1311,5,571,0,0,1310,1309,1,0,0,0,1310,1311,1,0,0,0,1311,1312,1,0,0,0,1312,1313,3,48,24,0,1313,47,1,0,0,0,1314,1326,3,50,25,0,1315,1316,5,1133,0,0,1316,1321,3,52,26,0,1317,1318,5,1135,0,0,1318,1320,3,52,26,0,1319,1317,1,0,0,0,1320,1323,1,0,0,0,1321,1319,1,0,0,0,1321,1322,1,0,0,0,1322,1324,1,0,0,0,1323,1321,1,0,0,0,1324,1325,5,1134,0,0,1325,1327,1,0,0,0,1326,1315,1,0,0,0,1326,1327,1,0,0,0,1327,1328,1,0,0,0,1328,1329,5,12,0,0,1329,1330,5,1133,0,0,1330,1331,3,8,4,0,1331,1334,5,1134,0,0,1332,1333,5,1135,0,0,1333,1335,3,48,24,0,1334,1332,1,0,0,0,1334,1335,1,0,0,0,1335,49,1,0,0,0,1336,1337,3,612,306,0,1337,51,1,0,0,0,1338,1339,3,612,306,0,1339,53,1,0,0,0,1340,1342,5,33,0,0,1341,1343,3,672,336,0,1342,1341,1,0,0,0,1342,1343,1,0,0,0,1343,1347,1,0,0,0,1344,1345,5,336,0,0,1345,1346,5,1124,0,0,1346,1348,7,10,0,0,1347,1344,1,0,0,0,1347,1348,1,0,0,0,1348,1350,1,0,0,0,1349,1351,3,62,31,0,1350,1349,1,0,0,0,1350,1351,1,0,0,0,1351,1355,1,0,0,0,1352,1353,5,160,0,0,1353,1354,5,606,0,0,1354,1356,7,11,0,0,1355,1352,1,0,0,0,1355,1356,1,0,0,0,1356,1357,1,0,0,0,1357,1358,5,671,0,0,1358,1363,3,552,276,0,1359,1360,5,1133,0,0,1360,1361,3,644,322,0,1361,1362,5,1134,0,0,1362,1364,1,0,0,0,1363,1359,1,0,0,0,1363,1364,1,0,0,0,1364,1365,1,0,0,0,1365,1385,5,12,0,0,1366,1368,5,1133,0,0,1367,1369,3,46,23,0,1368,1367,1,0,0,0,1368,1369,1,0,0,0,1369,1370,1,0,0,0,1370,1371,3,198,99,0,1371,1372,5,1134,0,0,1372,1386,1,0,0,0,1373,1375,3,46,23,0,1374,1373,1,0,0,0,1374,1375,1,0,0,0,1375,1376,1,0,0,0,1376,1383,3,198,99,0,1377,1379,5,192,0,0,1378,1380,7,12,0,0,1379,1378,1,0,0,0,1379,1380,1,0,0,0,1380,1381,1,0,0,0,1381,1382,5,26,0,0,1382,1384,5,120,0,0,1383,1377,1,0,0,0,1383,1384,1,0,0,0,1384,1386,1,0,0,0,1385,1366,1,0,0,0,1385,1374,1,0,0,0,1386,55,1,0,0,0,1387,1389,5,42,0,0,1388,1387,1,0,0,0,1388,1389,1,0,0,0,1389,1390,1,0,0,0,1390,1392,3,58,29,0,1391,1393,5,1124,0,0,1392,1391,1,0,0,0,1392,1393,1,0,0,0,1393,1396,1,0,0,0,1394,1397,3,596,298,0,1395,1397,5,42,0,0,1396,1394,1,0,0,0,1396,1395,1,0,0,0,1397,1421,1,0,0,0,1398,1400,5,42,0,0,1399,1398,1,0,0,0,1399,1400,1,0,0,0,1400,1401,1,0,0,0,1401,1403,5,27,0,0,1402,1404,5,1124,0,0,1403,1402,1,0,0,0,1403,1404,1,0,0,0,1404,1405,1,0,0,0,1405,1421,3,598,299,0,1406,1408,5,42,0,0,1407,1406,1,0,0,0,1407,1408,1,0,0,0,1408,1409,1,0,0,0,1409,1411,5,405,0,0,1410,1412,5,1124,0,0,1411,1410,1,0,0,0,1411,1412,1,0,0,0,1412,1413,1,0,0,0,1413,1421,5,1148,0,0,1414,1415,5,134,0,0,1415,1417,5,538,0,0,1416,1418,5,1124,0,0,1417,1416,1,0,0,0,1417,1418,1,0,0,0,1418,1419,1,0,0,0,1419,1421,7,13,0,0,1420,1388,1,0,0,0,1420,1399,1,0,0,0,1420,1407,1,0,0,0,1420,1414,1,0,0,0,1421,57,1,0,0,0,1422,1423,5,25,0,0,1423,1428,5,153,0,0,1424,1428,5,841,0,0,1425,1426,5,222,0,0,1426,1428,5,153,0,0,1427,1422,1,0,0,0,1427,1424,1,0,0,0,1427,1425,1,0,0,0,1428,59,1,0,0,0,1429,1432,5,37,0,0,1430,1431,5,1133,0,0,1431,1433,5,1134,0,0,1432,1430,1,0,0,0,1432,1433,1,0,0,0,1433,61,1,0,0,0,1434,1435,5,392,0,0,1435,1438,5,1124,0,0,1436,1439,3,592,296,0,1437,1439,3,60,30,0,1438,1436,1,0,0,0,1438,1437,1,0,0,0,1439,63,1,0,0,0,1440,1441,5,338,0,0,1441,1445,3,66,33,0,1442,1444,3,68,34,0,1443,1442,1,0,0,0,1444,1447,1,0,0,0,1445,1443,1,0,0,0,1445,1446,1,0,0,0,1446,1475,1,0,0,0,1447,1445,1,0,0,0,1448,1451,5,417,0,0,1449,1452,3,618,309,0,1450,1452,3,716,358,0,1451,1449,1,0,0,0,1451,1450,1,0,0,0,1452,1453,1,0,0,0,1453,1462,3,70,35,0,1454,1455,5,630,0,0,1455,1459,3,66,33,0,1456,1458,3,68,34,0,1457,1456,1,0,0,0,1458,1461,1,0,0,0,1459,1457,1,0,0,0,1459,1460,1,0,0,0,1460,1463,1,0,0,0,1461,1459,1,0,0,0,1462,1454,1,0,0,0,1462,1463,1,0,0,0,1463,1472,1,0,0,0,1464,1465,5,408,0,0,1465,1469,3,66,33,0,1466,1468,3,68,34,0,1467,1466,1,0,0,0,1468,1471,1,0,0,0,1469,1467,1,0,0,0,1469,1470,1,0,0,0,1470,1473,1,0,0,0,1471,1469,1,0,0,0,1472,1464,1,0,0,0,1472,1473,1,0,0,0,1473,1475,1,0,0,0,1474,1440,1,0,0,0,1474,1448,1,0,0,0,1475,65,1,0,0,0,1476,1481,5,315,0,0,1477,1481,3,622,311,0,1478,1481,3,618,309,0,1479,1481,3,716,358,0,1480,1476,1,0,0,0,1480,1477,1,0,0,0,1480,1478,1,0,0,0,1480,1479,1,0,0,0,1481,67,1,0,0,0,1482,1483,5,1120,0,0,1483,1486,5,86,0,0,1484,1487,3,618,309,0,1485,1487,3,716,358,0,1486,1484,1,0,0,0,1486,1485,1,0,0,0,1487,1488,1,0,0,0,1488,1489,3,70,35,0,1489,69,1,0,0,0,1490,1504,3,742,371,0,1491,1504,5,221,0,0,1492,1504,5,240,0,0,1493,1504,5,241,0,0,1494,1504,5,242,0,0,1495,1504,5,243,0,0,1496,1504,5,244,0,0,1497,1504,5,245,0,0,1498,1504,5,246,0,0,1499,1504,5,247,0,0,1500,1504,5,248,0,0,1501,1504,5,249,0,0,1502,1504,5,250,0,0,1503,1490,1,0,0,0,1503,1491,1,0,0,0,1503,1492,1,0,0,0,1503,1493,1,0,0,0,1503,1494,1,0,0,0,1503,1495,1,0,0,0,1503,1496,1,0,0,0,1503,1497,1,0,0,0,1503,1498,1,0,0,0,1503,1499,1,0,0,0,1503,1500,1,0,0,0,1503,1501,1,0,0,0,1503,1502,1,0,0,0,1504,71,1,0,0,0,1505,1511,5,403,0,0,1506,1511,5,396,0,0,1507,1508,5,396,0,0,1508,1509,5,118,0,0,1509,1511,5,614,0,0,1510,1505,1,0,0,0,1510,1506,1,0,0,0,1510,1507,1,0,0,0,1511,73,1,0,0,0,1512,1513,5,187,0,0,1513,1514,7,14,0,0,1514,75,1,0,0,0,1515,1517,5,467,0,0,1516,1518,5,1124,0,0,1517,1516,1,0,0,0,1517,1518,1,0,0,0,1518,1519,1,0,0,0,1519,1538,3,620,310,0,1520,1538,3,74,37,0,1521,1522,5,192,0,0,1522,1523,5,547,0,0,1523,1538,3,612,306,0,1524,1525,5,368,0,0,1525,1538,5,1148,0,0,1526,1538,7,15,0,0,1527,1529,5,875,0,0,1528,1530,5,1124,0,0,1529,1528,1,0,0,0,1529,1530,1,0,0,0,1530,1531,1,0,0,0,1531,1538,5,1148,0,0,1532,1534,5,1e3,0,0,1533,1535,5,1124,0,0,1534,1533,1,0,0,0,1534,1535,1,0,0,0,1535,1536,1,0,0,0,1536,1538,5,1148,0,0,1537,1515,1,0,0,0,1537,1520,1,0,0,0,1537,1521,1,0,0,0,1537,1524,1,0,0,0,1537,1526,1,0,0,0,1537,1527,1,0,0,0,1537,1532,1,0,0,0,1538,77,1,0,0,0,1539,1541,7,16,0,0,1540,1539,1,0,0,0,1540,1541,1,0,0,0,1541,1542,1,0,0,0,1542,1543,3,612,306,0,1543,1544,3,632,316,0,1544,79,1,0,0,0,1545,1546,3,612,306,0,1546,1547,3,632,316,0,1547,81,1,0,0,0,1548,1549,5,368,0,0,1549,1572,5,1148,0,0,1550,1551,5,468,0,0,1551,1572,5,160,0,0,1552,1554,5,114,0,0,1553,1552,1,0,0,0,1553,1554,1,0,0,0,1554,1555,1,0,0,0,1555,1572,5,47,0,0,1556,1557,5,381,0,0,1557,1567,5,160,0,0,1558,1559,5,521,0,0,1559,1567,5,160,0,0,1560,1561,5,135,0,0,1561,1562,5,160,0,0,1562,1567,5,388,0,0,1563,1564,5,112,0,0,1564,1565,5,160,0,0,1565,1567,5,388,0,0,1566,1556,1,0,0,0,1566,1558,1,0,0,0,1566,1560,1,0,0,0,1566,1563,1,0,0,0,1567,1572,1,0,0,0,1568,1569,5,160,0,0,1569,1570,5,606,0,0,1570,1572,7,11,0,0,1571,1548,1,0,0,0,1571,1550,1,0,0,0,1571,1553,1,0,0,0,1571,1566,1,0,0,0,1571,1568,1,0,0,0,1572,83,1,0,0,0,1573,1574,5,446,0,0,1574,1588,5,1148,0,0,1575,1576,5,39,0,0,1576,1588,5,1148,0,0,1577,1578,5,665,0,0,1578,1588,5,1148,0,0,1579,1580,5,551,0,0,1580,1588,5,1148,0,0,1581,1582,5,617,0,0,1582,1588,5,1148,0,0,1583,1584,5,542,0,0,1584,1588,5,1148,0,0,1585,1586,5,557,0,0,1586,1588,3,618,309,0,1587,1573,1,0,0,0,1587,1575,1,0,0,0,1587,1577,1,0,0,0,1587,1579,1,0,0,0,1587,1581,1,0,0,0,1587,1583,1,0,0,0,1587,1585,1,0,0,0,1588,85,1,0,0,0,1589,1590,5,1133,0,0,1590,1595,3,88,44,0,1591,1592,5,1135,0,0,1592,1594,3,88,44,0,1593,1591,1,0,0,0,1594,1597,1,0,0,0,1595,1593,1,0,0,0,1595,1596,1,0,0,0,1596,1598,1,0,0,0,1597,1595,1,0,0,0,1598,1599,5,1134,0,0,1599,87,1,0,0,0,1600,1601,3,570,285,0,1601,1602,3,90,45,0,1602,1612,1,0,0,0,1603,1605,3,94,47,0,1604,1606,5,114,0,0,1605,1604,1,0,0,0,1605,1606,1,0,0,0,1606,1608,1,0,0,0,1607,1609,5,57,0,0,1608,1607,1,0,0,0,1608,1609,1,0,0,0,1609,1612,1,0,0,0,1610,1612,3,102,51,0,1611,1600,1,0,0,0,1611,1603,1,0,0,0,1611,1610,1,0,0,0,1612,89,1,0,0,0,1613,1617,3,632,316,0,1614,1616,3,92,46,0,1615,1614,1,0,0,0,1616,1619,1,0,0,0,1617,1615,1,0,0,0,1617,1618,1,0,0,0,1618,1621,1,0,0,0,1619,1617,1,0,0,0,1620,1622,5,114,0,0,1621,1620,1,0,0,0,1621,1622,1,0,0,0,1622,1624,1,0,0,0,1623,1625,5,57,0,0,1624,1623,1,0,0,0,1624,1625,1,0,0,0,1625,91,1,0,0,0,1626,1680,3,628,314,0,1627,1628,5,42,0,0,1628,1680,3,662,331,0,1629,1680,5,673,0,0,1630,1680,5,459,0,0,1631,1636,5,342,0,0,1632,1633,5,118,0,0,1633,1634,5,184,0,0,1634,1636,3,664,332,0,1635,1631,1,0,0,0,1635,1632,1,0,0,0,1636,1680,1,0,0,0,1637,1639,5,130,0,0,1638,1637,1,0,0,0,1638,1639,1,0,0,0,1639,1640,1,0,0,0,1640,1680,5,91,0,0,1641,1643,5,181,0,0,1642,1644,5,91,0,0,1643,1642,1,0,0,0,1643,1644,1,0,0,0,1644,1680,1,0,0,0,1645,1646,5,368,0,0,1646,1680,5,1148,0,0,1647,1648,5,366,0,0,1648,1680,7,17,0,0,1649,1650,5,636,0,0,1650,1680,7,18,0,0,1651,1680,3,96,48,0,1652,1653,5,27,0,0,1653,1680,3,598,299,0,1654,1655,5,70,0,0,1655,1657,5,8,0,0,1656,1654,1,0,0,0,1656,1657,1,0,0,0,1657,1658,1,0,0,0,1658,1659,5,12,0,0,1659,1660,5,1133,0,0,1660,1661,3,716,358,0,1661,1663,5,1134,0,0,1662,1664,7,19,0,0,1663,1662,1,0,0,0,1663,1664,1,0,0,0,1664,1680,1,0,0,0,1665,1666,5,239,0,0,1666,1667,5,42,0,0,1667,1680,5,669,0,0,1668,1670,5,30,0,0,1669,1671,3,612,306,0,1670,1669,1,0,0,0,1670,1671,1,0,0,0,1671,1673,1,0,0,0,1672,1668,1,0,0,0,1672,1673,1,0,0,0,1673,1674,1,0,0,0,1674,1675,5,26,0,0,1675,1676,5,1133,0,0,1676,1677,3,716,358,0,1677,1678,5,1134,0,0,1678,1680,1,0,0,0,1679,1626,1,0,0,0,1679,1627,1,0,0,0,1679,1629,1,0,0,0,1679,1630,1,0,0,0,1679,1635,1,0,0,0,1679,1638,1,0,0,0,1679,1641,1,0,0,0,1679,1645,1,0,0,0,1679,1647,1,0,0,0,1679,1649,1,0,0,0,1679,1651,1,0,0,0,1679,1652,1,0,0,0,1679,1656,1,0,0,0,1679,1665,1,0,0,0,1679,1672,1,0,0,0,1680,93,1,0,0,0,1681,1683,5,30,0,0,1682,1684,3,612,306,0,1683,1682,1,0,0,0,1683,1684,1,0,0,0,1684,1686,1,0,0,0,1685,1681,1,0,0,0,1685,1686,1,0,0,0,1686,1687,1,0,0,0,1687,1688,5,130,0,0,1688,1690,5,91,0,0,1689,1691,3,612,306,0,1690,1689,1,0,0,0,1690,1691,1,0,0,0,1691,1693,1,0,0,0,1692,1694,3,74,37,0,1693,1692,1,0,0,0,1693,1694,1,0,0,0,1694,1695,1,0,0,0,1695,1699,3,650,325,0,1696,1698,3,76,38,0,1697,1696,1,0,0,0,1698,1701,1,0,0,0,1699,1697,1,0,0,0,1699,1700,1,0,0,0,1700,1751,1,0,0,0,1701,1699,1,0,0,0,1702,1704,5,30,0,0,1703,1705,3,612,306,0,1704,1703,1,0,0,0,1704,1705,1,0,0,0,1705,1707,1,0,0,0,1706,1702,1,0,0,0,1706,1707,1,0,0,0,1707,1708,1,0,0,0,1708,1710,5,181,0,0,1709,1711,7,20,0,0,1710,1709,1,0,0,0,1710,1711,1,0,0,0,1711,1713,1,0,0,0,1712,1714,3,612,306,0,1713,1712,1,0,0,0,1713,1714,1,0,0,0,1714,1716,1,0,0,0,1715,1717,3,74,37,0,1716,1715,1,0,0,0,1716,1717,1,0,0,0,1717,1718,1,0,0,0,1718,1722,3,650,325,0,1719,1721,3,76,38,0,1720,1719,1,0,0,0,1721,1724,1,0,0,0,1722,1720,1,0,0,0,1722,1723,1,0,0,0,1723,1751,1,0,0,0,1724,1722,1,0,0,0,1725,1727,5,30,0,0,1726,1728,3,612,306,0,1727,1726,1,0,0,0,1727,1728,1,0,0,0,1728,1730,1,0,0,0,1729,1725,1,0,0,0,1729,1730,1,0,0,0,1730,1731,1,0,0,0,1731,1732,5,67,0,0,1732,1734,5,91,0,0,1733,1735,3,612,306,0,1734,1733,1,0,0,0,1734,1735,1,0,0,0,1735,1736,1,0,0,0,1736,1737,3,650,325,0,1737,1738,3,96,48,0,1738,1751,1,0,0,0,1739,1741,5,30,0,0,1740,1742,3,612,306,0,1741,1740,1,0,0,0,1741,1742,1,0,0,0,1742,1744,1,0,0,0,1743,1739,1,0,0,0,1743,1744,1,0,0,0,1744,1745,1,0,0,0,1745,1746,5,26,0,0,1746,1747,5,1133,0,0,1747,1748,3,716,358,0,1748,1749,5,1134,0,0,1749,1751,1,0,0,0,1750,1685,1,0,0,0,1750,1706,1,0,0,0,1750,1729,1,0,0,0,1750,1743,1,0,0,0,1751,95,1,0,0,0,1752,1753,5,136,0,0,1753,1755,3,554,277,0,1754,1756,3,650,325,0,1755,1754,1,0,0,0,1755,1756,1,0,0,0,1756,1759,1,0,0,0,1757,1758,5,109,0,0,1758,1760,7,21,0,0,1759,1757,1,0,0,0,1759,1760,1,0,0,0,1760,1762,1,0,0,0,1761,1763,3,98,49,0,1762,1761,1,0,0,0,1762,1763,1,0,0,0,1763,97,1,0,0,0,1764,1765,5,118,0,0,1765,1766,5,44,0,0,1766,1770,3,100,50,0,1767,1768,5,118,0,0,1768,1769,5,184,0,0,1769,1771,3,100,50,0,1770,1767,1,0,0,0,1770,1771,1,0,0,0,1771,1781,1,0,0,0,1772,1773,5,118,0,0,1773,1774,5,184,0,0,1774,1778,3,100,50,0,1775,1776,5,118,0,0,1776,1777,5,44,0,0,1777,1779,3,100,50,0,1778,1775,1,0,0,0,1778,1779,1,0,0,0,1779,1781,1,0,0,0,1780,1764,1,0,0,0,1780,1772,1,0,0,0,1781,99,1,0,0,0,1782,1791,5,144,0,0,1783,1791,5,21,0,0,1784,1785,5,153,0,0,1785,1791,5,116,0,0,1786,1787,5,521,0,0,1787,1791,5,333,0,0,1788,1789,5,153,0,0,1789,1791,5,42,0,0,1790,1782,1,0,0,0,1790,1783,1,0,0,0,1790,1784,1,0,0,0,1790,1786,1,0,0,0,1790,1788,1,0,0,0,1791,101,1,0,0,0,1792,1794,7,20,0,0,1793,1795,3,612,306,0,1794,1793,1,0,0,0,1794,1795,1,0,0,0,1795,1797,1,0,0,0,1796,1798,3,74,37,0,1797,1796,1,0,0,0,1797,1798,1,0,0,0,1798,1799,1,0,0,0,1799,1803,3,650,325,0,1800,1802,3,76,38,0,1801,1800,1,0,0,0,1802,1805,1,0,0,0,1803,1801,1,0,0,0,1803,1804,1,0,0,0,1804,1821,1,0,0,0,1805,1803,1,0,0,0,1806,1808,7,22,0,0,1807,1809,7,20,0,0,1808,1807,1,0,0,0,1808,1809,1,0,0,0,1809,1811,1,0,0,0,1810,1812,3,612,306,0,1811,1810,1,0,0,0,1811,1812,1,0,0,0,1812,1813,1,0,0,0,1813,1817,3,650,325,0,1814,1816,3,76,38,0,1815,1814,1,0,0,0,1816,1819,1,0,0,0,1817,1815,1,0,0,0,1817,1818,1,0,0,0,1818,1821,1,0,0,0,1819,1817,1,0,0,0,1820,1792,1,0,0,0,1820,1806,1,0,0,0,1821,103,1,0,0,0,1822,1824,5,409,0,0,1823,1825,5,1124,0,0,1824,1823,1,0,0,0,1824,1825,1,0,0,0,1825,1827,1,0,0,0,1826,1828,3,600,300,0,1827,1826,1,0,0,0,1827,1828,1,0,0,0,1828,2008,1,0,0,0,1829,1831,5,875,0,0,1830,1832,5,1124,0,0,1831,1830,1,0,0,0,1831,1832,1,0,0,0,1832,1833,1,0,0,0,1833,2008,5,1148,0,0,1834,1836,5,341,0,0,1835,1837,5,1124,0,0,1836,1835,1,0,0,0,1836,1837,1,0,0,0,1837,1838,1,0,0,0,1838,2008,3,618,309,0,1839,1841,5,342,0,0,1840,1842,5,1124,0,0,1841,1840,1,0,0,0,1841,1842,1,0,0,0,1842,1843,1,0,0,0,1843,2008,3,618,309,0,1844,1846,5,343,0,0,1845,1847,5,1124,0,0,1846,1845,1,0,0,0,1846,1847,1,0,0,0,1847,1848,1,0,0,0,1848,2008,3,618,309,0,1849,1851,5,42,0,0,1850,1849,1,0,0,0,1850,1851,1,0,0,0,1851,1852,1,0,0,0,1852,1854,3,58,29,0,1853,1855,5,1124,0,0,1854,1853,1,0,0,0,1854,1855,1,0,0,0,1855,1858,1,0,0,0,1856,1859,3,596,298,0,1857,1859,5,42,0,0,1858,1856,1,0,0,0,1858,1857,1,0,0,0,1859,2008,1,0,0,0,1860,1862,7,23,0,0,1861,1863,5,1124,0,0,1862,1861,1,0,0,0,1862,1863,1,0,0,0,1863,1864,1,0,0,0,1864,2008,7,24,0,0,1865,1867,5,42,0,0,1866,1865,1,0,0,0,1866,1867,1,0,0,0,1867,1868,1,0,0,0,1868,1870,5,27,0,0,1869,1871,5,1124,0,0,1870,1869,1,0,0,0,1870,1871,1,0,0,0,1871,1872,1,0,0,0,1872,2008,3,598,299,0,1873,1875,5,368,0,0,1874,1876,5,1124,0,0,1875,1874,1,0,0,0,1875,1876,1,0,0,0,1876,1877,1,0,0,0,1877,2008,5,1148,0,0,1878,1880,5,373,0,0,1879,1881,5,1124,0,0,1880,1879,1,0,0,0,1880,1881,1,0,0,0,1881,1882,1,0,0,0,1882,2008,7,25,0,0,1883,1885,5,376,0,0,1884,1886,5,1124,0,0,1885,1884,1,0,0,0,1885,1886,1,0,0,0,1886,1887,1,0,0,0,1887,2008,5,1148,0,0,1888,1889,7,26,0,0,1889,1891,5,395,0,0,1890,1892,5,1124,0,0,1891,1890,1,0,0,0,1891,1892,1,0,0,0,1892,1893,1,0,0,0,1893,2008,5,1148,0,0,1894,1896,5,393,0,0,1895,1897,5,1124,0,0,1896,1895,1,0,0,0,1896,1897,1,0,0,0,1897,1898,1,0,0,0,1898,2008,7,24,0,0,1899,1901,5,405,0,0,1900,1902,5,1124,0,0,1901,1900,1,0,0,0,1901,1902,1,0,0,0,1902,1903,1,0,0,0,1903,2008,5,1148,0,0,1904,1906,7,27,0,0,1905,1907,5,1124,0,0,1906,1905,1,0,0,0,1906,1907,1,0,0,0,1907,1908,1,0,0,0,1908,2008,7,24,0,0,1909,1911,7,28,0,0,1910,1912,5,1124,0,0,1911,1910,1,0,0,0,1911,1912,1,0,0,0,1912,1913,1,0,0,0,1913,2008,3,618,309,0,1914,1916,5,406,0,0,1915,1917,5,1124,0,0,1916,1915,1,0,0,0,1916,1917,1,0,0,0,1917,1918,1,0,0,0,1918,2008,3,618,309,0,1919,1920,5,81,0,0,1920,1922,5,395,0,0,1921,1923,5,1124,0,0,1922,1921,1,0,0,0,1922,1923,1,0,0,0,1923,1924,1,0,0,0,1924,2008,5,1148,0,0,1925,1927,5,455,0,0,1926,1928,5,1124,0,0,1927,1926,1,0,0,0,1927,1928,1,0,0,0,1928,1929,1,0,0,0,1929,2008,7,29,0,0,1930,1932,5,467,0,0,1931,1933,5,1124,0,0,1932,1931,1,0,0,0,1932,1933,1,0,0,0,1933,1934,1,0,0,0,1934,2008,3,620,310,0,1935,1937,5,500,0,0,1936,1938,5,1124,0,0,1937,1936,1,0,0,0,1937,1938,1,0,0,0,1938,1939,1,0,0,0,1939,2008,3,618,309,0,1940,1942,5,510,0,0,1941,1943,5,1124,0,0,1942,1941,1,0,0,0,1942,1943,1,0,0,0,1943,1944,1,0,0,0,1944,2008,3,618,309,0,1945,1947,5,543,0,0,1946,1948,5,1124,0,0,1947,1946,1,0,0,0,1947,1948,1,0,0,0,1948,1949,1,0,0,0,1949,2008,7,13,0,0,1950,1952,5,551,0,0,1951,1953,5,1124,0,0,1952,1951,1,0,0,0,1952,1953,1,0,0,0,1953,1954,1,0,0,0,1954,2008,5,1148,0,0,1955,1957,5,602,0,0,1956,1958,5,1124,0,0,1957,1956,1,0,0,0,1957,1958,1,0,0,0,1958,1959,1,0,0,0,1959,2008,7,30,0,0,1960,1961,5,629,0,0,1961,2008,5,653,0,0,1962,1964,5,1e3,0,0,1963,1965,5,1124,0,0,1964,1963,1,0,0,0,1964,1965,1,0,0,0,1965,1966,1,0,0,0,1966,2008,5,1148,0,0,1967,1969,5,631,0,0,1968,1970,5,1124,0,0,1969,1968,1,0,0,0,1969,1970,1,0,0,0,1970,1971,1,0,0,0,1971,2008,7,13,0,0,1972,1974,5,632,0,0,1973,1975,5,1124,0,0,1974,1973,1,0,0,0,1974,1975,1,0,0,0,1975,1976,1,0,0,0,1976,2008,7,13,0,0,1977,1979,5,633,0,0,1978,1980,5,1124,0,0,1979,1978,1,0,0,0,1979,1980,1,0,0,0,1980,1983,1,0,0,0,1981,1984,5,42,0,0,1982,1984,3,618,309,0,1983,1981,1,0,0,0,1983,1982,1,0,0,0,1984,2008,1,0,0,0,1985,1986,5,647,0,0,1986,1988,3,612,306,0,1987,1989,3,108,54,0,1988,1987,1,0,0,0,1988,1989,1,0,0,0,1989,2008,1,0,0,0,1990,1991,5,648,0,0,1991,1992,5,1124,0,0,1992,2008,3,106,53,0,1993,2008,3,108,54,0,1994,1996,5,654,0,0,1995,1997,5,1124,0,0,1996,1995,1,0,0,0,1996,1997,1,0,0,0,1997,1998,1,0,0,0,1998,2008,7,24,0,0,1999,2001,5,180,0,0,2e3,2002,5,1124,0,0,2001,2e3,1,0,0,0,2001,2002,1,0,0,0,2002,2003,1,0,0,0,2003,2004,5,1133,0,0,2004,2005,3,648,324,0,2005,2006,5,1134,0,0,2006,2008,1,0,0,0,2007,1822,1,0,0,0,2007,1829,1,0,0,0,2007,1834,1,0,0,0,2007,1839,1,0,0,0,2007,1844,1,0,0,0,2007,1850,1,0,0,0,2007,1860,1,0,0,0,2007,1866,1,0,0,0,2007,1873,1,0,0,0,2007,1878,1,0,0,0,2007,1883,1,0,0,0,2007,1888,1,0,0,0,2007,1894,1,0,0,0,2007,1899,1,0,0,0,2007,1904,1,0,0,0,2007,1909,1,0,0,0,2007,1914,1,0,0,0,2007,1919,1,0,0,0,2007,1925,1,0,0,0,2007,1930,1,0,0,0,2007,1935,1,0,0,0,2007,1940,1,0,0,0,2007,1945,1,0,0,0,2007,1950,1,0,0,0,2007,1955,1,0,0,0,2007,1960,1,0,0,0,2007,1962,1,0,0,0,2007,1967,1,0,0,0,2007,1972,1,0,0,0,2007,1977,1,0,0,0,2007,1985,1,0,0,0,2007,1990,1,0,0,0,2007,1993,1,0,0,0,2007,1994,1,0,0,0,2007,1999,1,0,0,0,2008,105,1,0,0,0,2009,2010,7,31,0,0,2010,107,1,0,0,0,2011,2012,5,636,0,0,2012,2013,7,18,0,0,2013,109,1,0,0,0,2014,2015,5,129,0,0,2015,2016,5,19,0,0,2016,2019,3,112,56,0,2017,2018,5,550,0,0,2018,2020,3,618,309,0,2019,2017,1,0,0,0,2019,2020,1,0,0,0,2020,2028,1,0,0,0,2021,2022,5,641,0,0,2022,2023,5,19,0,0,2023,2026,3,114,57,0,2024,2025,5,642,0,0,2025,2027,3,618,309,0,2026,2024,1,0,0,0,2026,2027,1,0,0,0,2027,2029,1,0,0,0,2028,2021,1,0,0,0,2028,2029,1,0,0,0,2029,2041,1,0,0,0,2030,2031,5,1133,0,0,2031,2036,3,116,58,0,2032,2033,5,1135,0,0,2033,2035,3,116,58,0,2034,2032,1,0,0,0,2035,2038,1,0,0,0,2036,2034,1,0,0,0,2036,2037,1,0,0,0,2037,2039,1,0,0,0,2038,2036,1,0,0,0,2039,2040,5,1134,0,0,2040,2042,1,0,0,0,2041,2030,1,0,0,0,2041,2042,1,0,0,0,2042,111,1,0,0,0,2043,2045,5,100,0,0,2044,2043,1,0,0,0,2044,2045,1,0,0,0,2045,2046,1,0,0,0,2046,2047,5,443,0,0,2047,2048,5,1133,0,0,2048,2049,3,716,358,0,2049,2050,5,1134,0,0,2050,2090,1,0,0,0,2051,2053,5,100,0,0,2052,2051,1,0,0,0,2052,2053,1,0,0,0,2053,2054,1,0,0,0,2054,2058,5,91,0,0,2055,2056,5,336,0,0,2056,2057,5,1124,0,0,2057,2059,7,32,0,0,2058,2055,1,0,0,0,2058,2059,1,0,0,0,2059,2060,1,0,0,0,2060,2062,5,1133,0,0,2061,2063,3,644,322,0,2062,2061,1,0,0,0,2062,2063,1,0,0,0,2063,2064,1,0,0,0,2064,2090,5,1134,0,0,2065,2075,5,133,0,0,2066,2067,5,1133,0,0,2067,2068,3,716,358,0,2068,2069,5,1134,0,0,2069,2076,1,0,0,0,2070,2071,5,365,0,0,2071,2072,5,1133,0,0,2072,2073,3,644,322,0,2073,2074,5,1134,0,0,2074,2076,1,0,0,0,2075,2066,1,0,0,0,2075,2070,1,0,0,0,2076,2090,1,0,0,0,2077,2087,5,473,0,0,2078,2079,5,1133,0,0,2079,2080,3,716,358,0,2080,2081,5,1134,0,0,2081,2088,1,0,0,0,2082,2083,5,365,0,0,2083,2084,5,1133,0,0,2084,2085,3,644,322,0,2085,2086,5,1134,0,0,2086,2088,1,0,0,0,2087,2078,1,0,0,0,2087,2082,1,0,0,0,2088,2090,1,0,0,0,2089,2044,1,0,0,0,2089,2052,1,0,0,0,2089,2065,1,0,0,0,2089,2077,1,0,0,0,2090,113,1,0,0,0,2091,2093,5,100,0,0,2092,2091,1,0,0,0,2092,2093,1,0,0,0,2093,2094,1,0,0,0,2094,2095,5,443,0,0,2095,2096,5,1133,0,0,2096,2097,3,716,358,0,2097,2098,5,1134,0,0,2098,2113,1,0,0,0,2099,2101,5,100,0,0,2100,2099,1,0,0,0,2100,2101,1,0,0,0,2101,2102,1,0,0,0,2102,2106,5,91,0,0,2103,2104,5,336,0,0,2104,2105,5,1124,0,0,2105,2107,7,32,0,0,2106,2103,1,0,0,0,2106,2107,1,0,0,0,2107,2108,1,0,0,0,2108,2109,5,1133,0,0,2109,2110,3,644,322,0,2110,2111,5,1134,0,0,2111,2113,1,0,0,0,2112,2092,1,0,0,0,2112,2100,1,0,0,0,2113,115,1,0,0,0,2114,2115,5,129,0,0,2115,2116,3,612,306,0,2116,2117,5,188,0,0,2117,2118,5,471,0,0,2118,2119,5,651,0,0,2119,2120,5,1133,0,0,2120,2125,3,118,59,0,2121,2122,5,1135,0,0,2122,2124,3,118,59,0,2123,2121,1,0,0,0,2124,2127,1,0,0,0,2125,2123,1,0,0,0,2125,2126,1,0,0,0,2126,2128,1,0,0,0,2127,2125,1,0,0,0,2128,2132,5,1134,0,0,2129,2131,3,124,62,0,2130,2129,1,0,0,0,2131,2134,1,0,0,0,2132,2130,1,0,0,0,2132,2133,1,0,0,0,2133,2146,1,0,0,0,2134,2132,1,0,0,0,2135,2136,5,1133,0,0,2136,2141,3,122,61,0,2137,2138,5,1135,0,0,2138,2140,3,122,61,0,2139,2137,1,0,0,0,2140,2143,1,0,0,0,2141,2139,1,0,0,0,2141,2142,1,0,0,0,2142,2144,1,0,0,0,2143,2141,1,0,0,0,2144,2145,5,1134,0,0,2145,2147,1,0,0,0,2146,2135,1,0,0,0,2146,2147,1,0,0,0,2147,2261,1,0,0,0,2148,2149,5,129,0,0,2149,2150,3,612,306,0,2150,2151,5,188,0,0,2151,2152,5,471,0,0,2152,2153,5,651,0,0,2153,2157,3,118,59,0,2154,2156,3,124,62,0,2155,2154,1,0,0,0,2156,2159,1,0,0,0,2157,2155,1,0,0,0,2157,2158,1,0,0,0,2158,2171,1,0,0,0,2159,2157,1,0,0,0,2160,2161,5,1133,0,0,2161,2166,3,122,61,0,2162,2163,5,1135,0,0,2163,2165,3,122,61,0,2164,2162,1,0,0,0,2165,2168,1,0,0,0,2166,2164,1,0,0,0,2166,2167,1,0,0,0,2167,2169,1,0,0,0,2168,2166,1,0,0,0,2169,2170,5,1134,0,0,2170,2172,1,0,0,0,2171,2160,1,0,0,0,2171,2172,1,0,0,0,2172,2261,1,0,0,0,2173,2174,5,129,0,0,2174,2175,3,612,306,0,2175,2176,5,188,0,0,2176,2177,5,80,0,0,2177,2178,5,1133,0,0,2178,2183,3,118,59,0,2179,2180,5,1135,0,0,2180,2182,3,118,59,0,2181,2179,1,0,0,0,2182,2185,1,0,0,0,2183,2181,1,0,0,0,2183,2184,1,0,0,0,2184,2186,1,0,0,0,2185,2183,1,0,0,0,2186,2190,5,1134,0,0,2187,2189,3,124,62,0,2188,2187,1,0,0,0,2189,2192,1,0,0,0,2190,2188,1,0,0,0,2190,2191,1,0,0,0,2191,2204,1,0,0,0,2192,2190,1,0,0,0,2193,2194,5,1133,0,0,2194,2199,3,122,61,0,2195,2196,5,1135,0,0,2196,2198,3,122,61,0,2197,2195,1,0,0,0,2198,2201,1,0,0,0,2199,2197,1,0,0,0,2199,2200,1,0,0,0,2200,2202,1,0,0,0,2201,2199,1,0,0,0,2202,2203,5,1134,0,0,2203,2205,1,0,0,0,2204,2193,1,0,0,0,2204,2205,1,0,0,0,2205,2261,1,0,0,0,2206,2207,5,129,0,0,2207,2208,3,612,306,0,2208,2209,5,188,0,0,2209,2210,5,80,0,0,2210,2211,5,1133,0,0,2211,2216,3,120,60,0,2212,2213,5,1135,0,0,2213,2215,3,120,60,0,2214,2212,1,0,0,0,2215,2218,1,0,0,0,2216,2214,1,0,0,0,2216,2217,1,0,0,0,2217,2219,1,0,0,0,2218,2216,1,0,0,0,2219,2223,5,1134,0,0,2220,2222,3,124,62,0,2221,2220,1,0,0,0,2222,2225,1,0,0,0,2223,2221,1,0,0,0,2223,2224,1,0,0,0,2224,2237,1,0,0,0,2225,2223,1,0,0,0,2226,2227,5,1133,0,0,2227,2232,3,122,61,0,2228,2229,5,1135,0,0,2229,2231,3,122,61,0,2230,2228,1,0,0,0,2231,2234,1,0,0,0,2232,2230,1,0,0,0,2232,2233,1,0,0,0,2233,2235,1,0,0,0,2234,2232,1,0,0,0,2235,2236,5,1134,0,0,2236,2238,1,0,0,0,2237,2226,1,0,0,0,2237,2238,1,0,0,0,2238,2261,1,0,0,0,2239,2240,5,129,0,0,2240,2244,3,612,306,0,2241,2243,3,124,62,0,2242,2241,1,0,0,0,2243,2246,1,0,0,0,2244,2242,1,0,0,0,2244,2245,1,0,0,0,2245,2258,1,0,0,0,2246,2244,1,0,0,0,2247,2248,5,1133,0,0,2248,2253,3,122,61,0,2249,2250,5,1135,0,0,2250,2252,3,122,61,0,2251,2249,1,0,0,0,2252,2255,1,0,0,0,2253,2251,1,0,0,0,2253,2254,1,0,0,0,2254,2256,1,0,0,0,2255,2253,1,0,0,0,2256,2257,5,1134,0,0,2257,2259,1,0,0,0,2258,2247,1,0,0,0,2258,2259,1,0,0,0,2259,2261,1,0,0,0,2260,2114,1,0,0,0,2260,2148,1,0,0,0,2260,2173,1,0,0,0,2260,2206,1,0,0,0,2260,2239,1,0,0,0,2261,117,1,0,0,0,2262,2266,3,630,315,0,2263,2266,3,716,358,0,2264,2266,5,110,0,0,2265,2262,1,0,0,0,2265,2263,1,0,0,0,2265,2264,1,0,0,0,2266,119,1,0,0,0,2267,2268,5,1133,0,0,2268,2271,3,118,59,0,2269,2270,5,1135,0,0,2270,2272,3,118,59,0,2271,2269,1,0,0,0,2272,2273,1,0,0,0,2273,2271,1,0,0,0,2273,2274,1,0,0,0,2274,2275,1,0,0,0,2275,2276,5,1134,0,0,2276,121,1,0,0,0,2277,2278,5,641,0,0,2278,2282,3,612,306,0,2279,2281,3,124,62,0,2280,2279,1,0,0,0,2281,2284,1,0,0,0,2282,2280,1,0,0,0,2282,2283,1,0,0,0,2283,123,1,0,0,0,2284,2282,1,0,0,0,2285,2287,5,42,0,0,2286,2285,1,0,0,0,2286,2287,1,0,0,0,2287,2289,1,0,0,0,2288,2290,5,636,0,0,2289,2288,1,0,0,0,2289,2290,1,0,0,0,2290,2291,1,0,0,0,2291,2293,5,409,0,0,2292,2294,5,1124,0,0,2293,2292,1,0,0,0,2293,2294,1,0,0,0,2294,2295,1,0,0,0,2295,2334,3,600,300,0,2296,2298,5,368,0,0,2297,2299,5,1124,0,0,2298,2297,1,0,0,0,2298,2299,1,0,0,0,2299,2300,1,0,0,0,2300,2334,5,1148,0,0,2301,2302,5,388,0,0,2302,2304,5,395,0,0,2303,2305,5,1124,0,0,2304,2303,1,0,0,0,2304,2305,1,0,0,0,2305,2306,1,0,0,0,2306,2334,5,1148,0,0,2307,2308,5,81,0,0,2308,2310,5,395,0,0,2309,2311,5,1124,0,0,2310,2309,1,0,0,0,2310,2311,1,0,0,0,2311,2312,1,0,0,0,2312,2334,5,1148,0,0,2313,2315,5,500,0,0,2314,2316,5,1124,0,0,2315,2314,1,0,0,0,2315,2316,1,0,0,0,2316,2317,1,0,0,0,2317,2334,3,618,309,0,2318,2320,5,510,0,0,2319,2321,5,1124,0,0,2320,2319,1,0,0,0,2320,2321,1,0,0,0,2321,2322,1,0,0,0,2322,2334,3,618,309,0,2323,2325,5,647,0,0,2324,2326,5,1124,0,0,2325,2324,1,0,0,0,2325,2326,1,0,0,0,2326,2327,1,0,0,0,2327,2334,3,612,306,0,2328,2330,5,528,0,0,2329,2331,5,1124,0,0,2330,2329,1,0,0,0,2330,2331,1,0,0,0,2331,2332,1,0,0,0,2332,2334,3,612,306,0,2333,2286,1,0,0,0,2333,2296,1,0,0,0,2333,2301,1,0,0,0,2333,2307,1,0,0,0,2333,2313,1,0,0,0,2333,2318,1,0,0,0,2333,2323,1,0,0,0,2333,2328,1,0,0,0,2334,125,1,0,0,0,2335,2336,5,7,0,0,2336,2337,7,0,0,0,2337,2339,3,572,286,0,2338,2340,3,56,28,0,2339,2338,1,0,0,0,2340,2341,1,0,0,0,2341,2339,1,0,0,0,2341,2342,1,0,0,0,2342,2352,1,0,0,0,2343,2344,5,7,0,0,2344,2345,7,0,0,0,2345,2346,3,572,286,0,2346,2347,5,664,0,0,2347,2348,5,388,0,0,2348,2349,5,395,0,0,2349,2350,5,516,0,0,2350,2352,1,0,0,0,2351,2335,1,0,0,0,2351,2343,1,0,0,0,2352,127,1,0,0,0,2353,2355,5,7,0,0,2354,2356,3,62,31,0,2355,2354,1,0,0,0,2355,2356,1,0,0,0,2356,2357,1,0,0,0,2357,2358,5,415,0,0,2358,2362,3,552,276,0,2359,2360,5,118,0,0,2360,2361,5,605,0,0,2361,2363,3,64,32,0,2362,2359,1,0,0,0,2362,2363,1,0,0,0,2363,2370,1,0,0,0,2364,2365,5,118,0,0,2365,2367,5,371,0,0,2366,2368,5,114,0,0,2367,2366,1,0,0,0,2367,2368,1,0,0,0,2368,2369,1,0,0,0,2369,2371,5,561,0,0,2370,2364,1,0,0,0,2370,2371,1,0,0,0,2371,2375,1,0,0,0,2372,2373,5,139,0,0,2373,2374,5,175,0,0,2374,2376,3,552,276,0,2375,2372,1,0,0,0,2375,2376,1,0,0,0,2376,2378,1,0,0,0,2377,2379,3,72,36,0,2378,2377,1,0,0,0,2378,2379,1,0,0,0,2379,2382,1,0,0,0,2380,2381,5,368,0,0,2381,2383,5,1148,0,0,2382,2380,1,0,0,0,2382,2383,1,0,0,0,2383,2386,1,0,0,0,2384,2385,5,399,0,0,2385,2387,3,388,194,0,2386,2384,1,0,0,0,2386,2387,1,0,0,0,2387,129,1,0,0,0,2388,2389,5,7,0,0,2389,2390,5,437,0,0,2390,2394,3,552,276,0,2391,2393,3,82,41,0,2392,2391,1,0,0,0,2393,2396,1,0,0,0,2394,2392,1,0,0,0,2394,2395,1,0,0,0,2395,131,1,0,0,0,2396,2394,1,0,0,0,2397,2398,5,7,0,0,2398,2399,5,457,0,0,2399,2400,5,599,0,0,2400,2401,5,791,0,0,2401,2402,5,477,0,0,2402,2403,5,91,0,0,2403,133,1,0,0,0,2404,2405,5,7,0,0,2405,2406,5,475,0,0,2406,2407,5,73,0,0,2407,2408,3,612,306,0,2408,2409,5,5,0,0,2409,2410,5,659,0,0,2410,2416,5,1148,0,0,2411,2413,5,453,0,0,2412,2414,5,1124,0,0,2413,2412,1,0,0,0,2413,2414,1,0,0,0,2414,2415,1,0,0,0,2415,2417,3,620,310,0,2416,2411,1,0,0,0,2416,2417,1,0,0,0,2417,2419,1,0,0,0,2418,2420,5,674,0,0,2419,2418,1,0,0,0,2419,2420,1,0,0,0,2420,2421,1,0,0,0,2421,2423,5,409,0,0,2422,2424,5,1124,0,0,2423,2422,1,0,0,0,2423,2424,1,0,0,0,2424,2425,1,0,0,0,2425,2426,3,600,300,0,2426,135,1,0,0,0,2427,2428,5,7,0,0,2428,2429,5,131,0,0,2429,2433,3,552,276,0,2430,2432,3,82,41,0,2431,2430,1,0,0,0,2432,2435,1,0,0,0,2433,2431,1,0,0,0,2433,2434,1,0,0,0,2434,137,1,0,0,0,2435,2433,1,0,0,0,2436,2437,5,7,0,0,2437,2438,5,608,0,0,2438,2439,3,612,306,0,2439,2440,5,541,0,0,2440,2441,5,1133,0,0,2441,2446,3,84,42,0,2442,2443,5,1135,0,0,2443,2445,3,84,42,0,2444,2442,1,0,0,0,2445,2448,1,0,0,0,2446,2444,1,0,0,0,2446,2447,1,0,0,0,2447,2449,1,0,0,0,2448,2446,1,0,0,0,2449,2450,5,1134,0,0,2450,139,1,0,0,0,2451,2453,5,7,0,0,2452,2454,7,1,0,0,2453,2452,1,0,0,0,2453,2454,1,0,0,0,2454,2456,1,0,0,0,2455,2457,5,78,0,0,2456,2455,1,0,0,0,2456,2457,1,0,0,0,2457,2458,1,0,0,0,2458,2459,5,172,0,0,2459,2461,3,554,277,0,2460,2462,3,674,337,0,2461,2460,1,0,0,0,2461,2462,1,0,0,0,2462,2471,1,0,0,0,2463,2468,3,146,73,0,2464,2465,5,1135,0,0,2465,2467,3,146,73,0,2466,2464,1,0,0,0,2467,2470,1,0,0,0,2468,2466,1,0,0,0,2468,2469,1,0,0,0,2469,2472,1,0,0,0,2470,2468,1,0,0,0,2471,2463,1,0,0,0,2471,2472,1,0,0,0,2472,2474,1,0,0,0,2473,2475,3,110,55,0,2474,2473,1,0,0,0,2474,2475,1,0,0,0,2475,141,1,0,0,0,2476,2477,5,7,0,0,2477,2478,5,647,0,0,2478,2479,3,612,306,0,2479,2480,7,33,0,0,2480,2481,5,389,0,0,2481,2485,5,1148,0,0,2482,2483,5,453,0,0,2483,2484,5,1124,0,0,2484,2486,3,620,310,0,2485,2482,1,0,0,0,2485,2486,1,0,0,0,2486,2488,1,0,0,0,2487,2489,5,674,0,0,2488,2487,1,0,0,0,2488,2489,1,0,0,0,2489,2490,1,0,0,0,2490,2492,5,409,0,0,2491,2493,5,1124,0,0,2492,2491,1,0,0,0,2492,2493,1,0,0,0,2493,2494,1,0,0,0,2494,2495,3,600,300,0,2495,143,1,0,0,0,2496,2500,5,7,0,0,2497,2498,5,336,0,0,2498,2499,5,1124,0,0,2499,2501,7,10,0,0,2500,2497,1,0,0,0,2500,2501,1,0,0,0,2501,2503,1,0,0,0,2502,2504,3,62,31,0,2503,2502,1,0,0,0,2503,2504,1,0,0,0,2504,2508,1,0,0,0,2505,2506,5,160,0,0,2506,2507,5,606,0,0,2507,2509,7,11,0,0,2508,2505,1,0,0,0,2508,2509,1,0,0,0,2509,2510,1,0,0,0,2510,2511,5,671,0,0,2511,2516,3,552,276,0,2512,2513,5,1133,0,0,2513,2514,3,644,322,0,2514,2515,5,1134,0,0,2515,2517,1,0,0,0,2516,2512,1,0,0,0,2516,2517,1,0,0,0,2517,2518,1,0,0,0,2518,2519,5,12,0,0,2519,2526,3,198,99,0,2520,2522,5,192,0,0,2521,2523,7,12,0,0,2522,2521,1,0,0,0,2522,2523,1,0,0,0,2523,2524,1,0,0,0,2524,2525,5,26,0,0,2525,2527,5,120,0,0,2526,2520,1,0,0,0,2526,2527,1,0,0,0,2527,145,1,0,0,0,2528,2535,3,104,52,0,2529,2531,5,1135,0,0,2530,2529,1,0,0,0,2530,2531,1,0,0,0,2531,2532,1,0,0,0,2532,2534,3,104,52,0,2533,2530,1,0,0,0,2534,2537,1,0,0,0,2535,2533,1,0,0,0,2535,2536,1,0,0,0,2536,2880,1,0,0,0,2537,2535,1,0,0,0,2538,2540,5,5,0,0,2539,2541,5,28,0,0,2540,2539,1,0,0,0,2540,2541,1,0,0,0,2541,2542,1,0,0,0,2542,2543,3,612,306,0,2543,2547,3,90,45,0,2544,2548,5,430,0,0,2545,2546,5,334,0,0,2546,2548,3,612,306,0,2547,2544,1,0,0,0,2547,2545,1,0,0,0,2547,2548,1,0,0,0,2548,2880,1,0,0,0,2549,2551,5,5,0,0,2550,2552,5,28,0,0,2551,2550,1,0,0,0,2551,2552,1,0,0,0,2552,2553,1,0,0,0,2553,2554,5,1133,0,0,2554,2555,3,612,306,0,2555,2562,3,90,45,0,2556,2557,5,1135,0,0,2557,2558,3,612,306,0,2558,2559,3,90,45,0,2559,2561,1,0,0,0,2560,2556,1,0,0,0,2561,2564,1,0,0,0,2562,2560,1,0,0,0,2562,2563,1,0,0,0,2563,2565,1,0,0,0,2564,2562,1,0,0,0,2565,2566,5,1134,0,0,2566,2880,1,0,0,0,2567,2568,5,5,0,0,2568,2570,7,20,0,0,2569,2571,3,612,306,0,2570,2569,1,0,0,0,2570,2571,1,0,0,0,2571,2573,1,0,0,0,2572,2574,3,74,37,0,2573,2572,1,0,0,0,2573,2574,1,0,0,0,2574,2575,1,0,0,0,2575,2579,3,650,325,0,2576,2578,3,76,38,0,2577,2576,1,0,0,0,2578,2581,1,0,0,0,2579,2577,1,0,0,0,2579,2580,1,0,0,0,2580,2880,1,0,0,0,2581,2579,1,0,0,0,2582,2587,5,5,0,0,2583,2585,5,30,0,0,2584,2586,3,612,306,0,2585,2584,1,0,0,0,2585,2586,1,0,0,0,2586,2588,1,0,0,0,2587,2583,1,0,0,0,2587,2588,1,0,0,0,2588,2589,1,0,0,0,2589,2590,5,130,0,0,2590,2592,5,91,0,0,2591,2593,3,612,306,0,2592,2591,1,0,0,0,2592,2593,1,0,0,0,2593,2595,1,0,0,0,2594,2596,3,74,37,0,2595,2594,1,0,0,0,2595,2596,1,0,0,0,2596,2597,1,0,0,0,2597,2601,3,650,325,0,2598,2600,3,76,38,0,2599,2598,1,0,0,0,2600,2603,1,0,0,0,2601,2599,1,0,0,0,2601,2602,1,0,0,0,2602,2880,1,0,0,0,2603,2601,1,0,0,0,2604,2609,5,5,0,0,2605,2607,5,30,0,0,2606,2608,3,612,306,0,2607,2606,1,0,0,0,2607,2608,1,0,0,0,2608,2610,1,0,0,0,2609,2605,1,0,0,0,2609,2610,1,0,0,0,2610,2611,1,0,0,0,2611,2613,5,181,0,0,2612,2614,7,20,0,0,2613,2612,1,0,0,0,2613,2614,1,0,0,0,2614,2616,1,0,0,0,2615,2617,3,612,306,0,2616,2615,1,0,0,0,2616,2617,1,0,0,0,2617,2619,1,0,0,0,2618,2620,3,74,37,0,2619,2618,1,0,0,0,2619,2620,1,0,0,0,2620,2621,1,0,0,0,2621,2625,3,650,325,0,2622,2624,3,76,38,0,2623,2622,1,0,0,0,2624,2627,1,0,0,0,2625,2623,1,0,0,0,2625,2626,1,0,0,0,2626,2880,1,0,0,0,2627,2625,1,0,0,0,2628,2629,5,5,0,0,2629,2631,7,22,0,0,2630,2632,7,20,0,0,2631,2630,1,0,0,0,2631,2632,1,0,0,0,2632,2634,1,0,0,0,2633,2635,3,612,306,0,2634,2633,1,0,0,0,2634,2635,1,0,0,0,2635,2636,1,0,0,0,2636,2640,3,650,325,0,2637,2639,3,76,38,0,2638,2637,1,0,0,0,2639,2642,1,0,0,0,2640,2638,1,0,0,0,2640,2641,1,0,0,0,2641,2880,1,0,0,0,2642,2640,1,0,0,0,2643,2648,5,5,0,0,2644,2646,5,30,0,0,2645,2647,3,612,306,0,2646,2645,1,0,0,0,2646,2647,1,0,0,0,2647,2649,1,0,0,0,2648,2644,1,0,0,0,2648,2649,1,0,0,0,2649,2650,1,0,0,0,2650,2651,5,67,0,0,2651,2653,5,91,0,0,2652,2654,3,612,306,0,2653,2652,1,0,0,0,2653,2654,1,0,0,0,2654,2655,1,0,0,0,2655,2656,3,650,325,0,2656,2657,3,96,48,0,2657,2880,1,0,0,0,2658,2663,5,5,0,0,2659,2661,5,30,0,0,2660,2662,3,612,306,0,2661,2660,1,0,0,0,2661,2662,1,0,0,0,2662,2664,1,0,0,0,2663,2659,1,0,0,0,2663,2664,1,0,0,0,2664,2665,1,0,0,0,2665,2672,5,26,0,0,2666,2673,3,612,306,0,2667,2673,3,622,311,0,2668,2669,5,1133,0,0,2669,2670,3,716,358,0,2670,2671,5,1134,0,0,2671,2673,1,0,0,0,2672,2666,1,0,0,0,2672,2667,1,0,0,0,2672,2668,1,0,0,0,2673,2675,1,0,0,0,2674,2676,5,114,0,0,2675,2674,1,0,0,0,2675,2676,1,0,0,0,2676,2678,1,0,0,0,2677,2679,5,57,0,0,2678,2677,1,0,0,0,2678,2679,1,0,0,0,2679,2880,1,0,0,0,2680,2685,5,7,0,0,2681,2683,5,30,0,0,2682,2684,3,576,288,0,2683,2682,1,0,0,0,2683,2684,1,0,0,0,2684,2686,1,0,0,0,2685,2681,1,0,0,0,2685,2686,1,0,0,0,2686,2687,1,0,0,0,2687,2694,5,26,0,0,2688,2695,3,612,306,0,2689,2695,3,622,311,0,2690,2691,5,1133,0,0,2691,2692,3,716,358,0,2692,2693,5,1134,0,0,2693,2695,1,0,0,0,2694,2688,1,0,0,0,2694,2689,1,0,0,0,2694,2690,1,0,0,0,2695,2697,1,0,0,0,2696,2698,5,114,0,0,2697,2696,1,0,0,0,2697,2698,1,0,0,0,2698,2700,1,0,0,0,2699,2701,5,57,0,0,2700,2699,1,0,0,0,2700,2701,1,0,0,0,2701,2880,1,0,0,0,2702,2707,5,5,0,0,2703,2705,5,30,0,0,2704,2706,3,612,306,0,2705,2704,1,0,0,0,2705,2706,1,0,0,0,2706,2708,1,0,0,0,2707,2703,1,0,0,0,2707,2708,1,0,0,0,2708,2709,1,0,0,0,2709,2710,5,26,0,0,2710,2711,5,1133,0,0,2711,2712,3,716,358,0,2712,2713,5,1134,0,0,2713,2880,1,0,0,0,2714,2716,5,336,0,0,2715,2717,5,1124,0,0,2716,2715,1,0,0,0,2716,2717,1,0,0,0,2717,2718,1,0,0,0,2718,2880,7,34,0,0,2719,2721,5,7,0,0,2720,2722,5,28,0,0,2721,2720,1,0,0,0,2721,2722,1,0,0,0,2722,2723,1,0,0,0,2723,2729,3,612,306,0,2724,2725,5,153,0,0,2725,2726,5,42,0,0,2726,2730,3,662,331,0,2727,2728,5,51,0,0,2728,2730,5,42,0,0,2729,2724,1,0,0,0,2729,2727,1,0,0,0,2730,2880,1,0,0,0,2731,2733,5,24,0,0,2732,2734,5,28,0,0,2733,2732,1,0,0,0,2733,2734,1,0,0,0,2734,2735,1,0,0,0,2735,2736,3,612,306,0,2736,2737,3,612,306,0,2737,2741,3,90,45,0,2738,2742,5,430,0,0,2739,2740,5,334,0,0,2740,2742,3,612,306,0,2741,2738,1,0,0,0,2741,2739,1,0,0,0,2741,2742,1,0,0,0,2742,2880,1,0,0,0,2743,2744,5,139,0,0,2744,2745,5,28,0,0,2745,2746,3,612,306,0,2746,2747,5,175,0,0,2747,2748,3,612,306,0,2748,2880,1,0,0,0,2749,2751,5,103,0,0,2750,2752,5,1124,0,0,2751,2750,1,0,0,0,2751,2752,1,0,0,0,2752,2753,1,0,0,0,2753,2880,7,4,0,0,2754,2756,5,512,0,0,2755,2757,5,28,0,0,2756,2755,1,0,0,0,2756,2757,1,0,0,0,2757,2758,1,0,0,0,2758,2759,3,612,306,0,2759,2763,3,90,45,0,2760,2764,5,430,0,0,2761,2762,5,334,0,0,2762,2764,3,612,306,0,2763,2760,1,0,0,0,2763,2761,1,0,0,0,2763,2764,1,0,0,0,2764,2880,1,0,0,0,2765,2767,5,51,0,0,2766,2768,5,28,0,0,2767,2766,1,0,0,0,2767,2768,1,0,0,0,2768,2769,1,0,0,0,2769,2771,3,612,306,0,2770,2772,5,144,0,0,2771,2770,1,0,0,0,2771,2772,1,0,0,0,2772,2880,1,0,0,0,2773,2774,5,51,0,0,2774,2775,7,35,0,0,2775,2880,3,576,288,0,2776,2777,5,51,0,0,2777,2778,5,130,0,0,2778,2880,5,91,0,0,2779,2780,5,51,0,0,2780,2781,7,20,0,0,2781,2880,3,574,287,0,2782,2783,5,139,0,0,2783,2784,7,20,0,0,2784,2785,3,574,287,0,2785,2786,5,175,0,0,2786,2787,3,612,306,0,2787,2880,1,0,0,0,2788,2790,5,7,0,0,2789,2791,5,28,0,0,2790,2789,1,0,0,0,2790,2791,1,0,0,0,2791,2792,1,0,0,0,2792,2806,3,612,306,0,2793,2794,5,153,0,0,2794,2800,5,42,0,0,2795,2801,3,622,311,0,2796,2797,5,1133,0,0,2797,2798,3,716,358,0,2798,2799,5,1134,0,0,2799,2801,1,0,0,0,2800,2795,1,0,0,0,2800,2796,1,0,0,0,2801,2807,1,0,0,0,2802,2803,5,153,0,0,2803,2807,7,15,0,0,2804,2805,5,51,0,0,2805,2807,5,42,0,0,2806,2793,1,0,0,0,2806,2802,1,0,0,0,2806,2804,1,0,0,0,2807,2880,1,0,0,0,2808,2809,5,7,0,0,2809,2810,5,81,0,0,2810,2811,3,574,287,0,2811,2812,7,15,0,0,2812,2880,1,0,0,0,2813,2814,5,51,0,0,2814,2815,5,67,0,0,2815,2816,5,91,0,0,2816,2880,3,612,306,0,2817,2818,5,396,0,0,2818,2880,5,92,0,0,2819,2820,5,403,0,0,2820,2880,5,92,0,0,2821,2823,5,139,0,0,2822,2824,7,36,0,0,2823,2822,1,0,0,0,2823,2824,1,0,0,0,2824,2827,1,0,0,0,2825,2828,3,612,306,0,2826,2828,3,552,276,0,2827,2825,1,0,0,0,2827,2826,1,0,0,0,2828,2880,1,0,0,0,2829,2830,5,124,0,0,2830,2831,5,19,0,0,2831,2880,3,644,322,0,2832,2833,5,32,0,0,2833,2837,5,175,0,0,2834,2838,5,841,0,0,2835,2836,5,25,0,0,2836,2838,5,153,0,0,2837,2834,1,0,0,0,2837,2835,1,0,0,0,2838,2839,1,0,0,0,2839,2842,3,596,298,0,2840,2841,5,27,0,0,2841,2843,3,598,299,0,2842,2840,1,0,0,0,2842,2843,1,0,0,0,2843,2880,1,0,0,0,2844,2846,5,42,0,0,2845,2844,1,0,0,0,2845,2846,1,0,0,0,2846,2847,1,0,0,0,2847,2848,5,25,0,0,2848,2849,5,153,0,0,2849,2850,5,1124,0,0,2850,2854,3,596,298,0,2851,2852,5,27,0,0,2852,2853,5,1124,0,0,2853,2855,3,598,299,0,2854,2851,1,0,0,0,2854,2855,1,0,0,0,2855,2880,1,0,0,0,2856,2857,5,397,0,0,2857,2880,5,647,0,0,2858,2859,5,450,0,0,2859,2880,5,647,0,0,2860,2880,5,66,0,0,2861,2862,7,37,0,0,2862,2880,5,668,0,0,2863,2865,5,5,0,0,2864,2866,5,28,0,0,2865,2864,1,0,0,0,2865,2866,1,0,0,0,2866,2867,1,0,0,0,2867,2868,5,1133,0,0,2868,2873,3,88,44,0,2869,2870,5,1135,0,0,2870,2872,3,88,44,0,2871,2869,1,0,0,0,2872,2875,1,0,0,0,2873,2871,1,0,0,0,2873,2874,1,0,0,0,2874,2876,1,0,0,0,2875,2873,1,0,0,0,2876,2877,5,1134,0,0,2877,2880,1,0,0,0,2878,2880,3,148,74,0,2879,2528,1,0,0,0,2879,2538,1,0,0,0,2879,2549,1,0,0,0,2879,2567,1,0,0,0,2879,2582,1,0,0,0,2879,2604,1,0,0,0,2879,2628,1,0,0,0,2879,2643,1,0,0,0,2879,2658,1,0,0,0,2879,2680,1,0,0,0,2879,2702,1,0,0,0,2879,2714,1,0,0,0,2879,2719,1,0,0,0,2879,2731,1,0,0,0,2879,2743,1,0,0,0,2879,2749,1,0,0,0,2879,2754,1,0,0,0,2879,2765,1,0,0,0,2879,2773,1,0,0,0,2879,2776,1,0,0,0,2879,2779,1,0,0,0,2879,2782,1,0,0,0,2879,2788,1,0,0,0,2879,2808,1,0,0,0,2879,2813,1,0,0,0,2879,2817,1,0,0,0,2879,2819,1,0,0,0,2879,2821,1,0,0,0,2879,2829,1,0,0,0,2879,2832,1,0,0,0,2879,2845,1,0,0,0,2879,2856,1,0,0,0,2879,2858,1,0,0,0,2879,2860,1,0,0,0,2879,2861,1,0,0,0,2879,2863,1,0,0,0,2879,2878,1,0,0,0,2880,147,1,0,0,0,2881,2882,5,5,0,0,2882,2883,5,129,0,0,2883,2884,5,1133,0,0,2884,2889,3,116,58,0,2885,2886,5,1135,0,0,2886,2888,3,116,58,0,2887,2885,1,0,0,0,2888,2891,1,0,0,0,2889,2887,1,0,0,0,2889,2890,1,0,0,0,2890,2892,1,0,0,0,2891,2889,1,0,0,0,2892,2893,5,1134,0,0,2893,2980,1,0,0,0,2894,2895,5,51,0,0,2895,2896,5,129,0,0,2896,2980,3,644,322,0,2897,2898,5,397,0,0,2898,2901,5,129,0,0,2899,2902,3,644,322,0,2900,2902,5,6,0,0,2901,2899,1,0,0,0,2901,2900,1,0,0,0,2902,2903,1,0,0,0,2903,2980,5,647,0,0,2904,2905,5,450,0,0,2905,2908,5,129,0,0,2906,2909,3,644,322,0,2907,2909,5,6,0,0,2908,2906,1,0,0,0,2908,2907,1,0,0,0,2909,2910,1,0,0,0,2910,2980,5,647,0,0,2911,2912,5,656,0,0,2912,2915,5,129,0,0,2913,2916,3,644,322,0,2914,2916,5,6,0,0,2915,2913,1,0,0,0,2915,2914,1,0,0,0,2916,2980,1,0,0,0,2917,2918,5,363,0,0,2918,2919,5,129,0,0,2919,2980,3,618,309,0,2920,2921,5,579,0,0,2921,2922,5,129,0,0,2922,2923,3,644,322,0,2923,2924,5,87,0,0,2924,2925,5,1133,0,0,2925,2930,3,116,58,0,2926,2927,5,1135,0,0,2927,2929,3,116,58,0,2928,2926,1,0,0,0,2929,2932,1,0,0,0,2930,2928,1,0,0,0,2930,2931,1,0,0,0,2931,2933,1,0,0,0,2932,2930,1,0,0,0,2933,2934,5,1134,0,0,2934,2980,1,0,0,0,2935,2936,5,418,0,0,2936,2937,5,129,0,0,2937,2938,3,612,306,0,2938,2939,5,192,0,0,2939,2940,5,172,0,0,2940,2943,3,554,277,0,2941,2942,7,37,0,0,2942,2944,5,668,0,0,2943,2941,1,0,0,0,2943,2944,1,0,0,0,2944,2980,1,0,0,0,2945,2946,5,9,0,0,2946,2949,5,129,0,0,2947,2950,3,644,322,0,2948,2950,5,6,0,0,2949,2947,1,0,0,0,2949,2948,1,0,0,0,2950,2980,1,0,0,0,2951,2952,5,26,0,0,2952,2955,5,129,0,0,2953,2956,3,644,322,0,2954,2956,5,6,0,0,2955,2953,1,0,0,0,2955,2954,1,0,0,0,2956,2980,1,0,0,0,2957,2958,5,119,0,0,2958,2961,5,129,0,0,2959,2962,3,644,322,0,2960,2962,5,6,0,0,2961,2959,1,0,0,0,2961,2960,1,0,0,0,2962,2980,1,0,0,0,2963,2964,5,569,0,0,2964,2967,5,129,0,0,2965,2968,3,644,322,0,2966,2968,5,6,0,0,2967,2965,1,0,0,0,2967,2966,1,0,0,0,2968,2980,1,0,0,0,2969,2970,5,580,0,0,2970,2973,5,129,0,0,2971,2974,3,644,322,0,2972,2974,5,6,0,0,2973,2971,1,0,0,0,2973,2972,1,0,0,0,2974,2980,1,0,0,0,2975,2976,5,578,0,0,2976,2980,5,549,0,0,2977,2978,5,664,0,0,2978,2980,5,549,0,0,2979,2881,1,0,0,0,2979,2894,1,0,0,0,2979,2897,1,0,0,0,2979,2904,1,0,0,0,2979,2911,1,0,0,0,2979,2917,1,0,0,0,2979,2920,1,0,0,0,2979,2935,1,0,0,0,2979,2945,1,0,0,0,2979,2951,1,0,0,0,2979,2957,1,0,0,0,2979,2963,1,0,0,0,2979,2969,1,0,0,0,2979,2975,1,0,0,0,2979,2977,1,0,0,0,2980,149,1,0,0,0,2981,2982,5,51,0,0,2982,2984,7,0,0,0,2983,2985,3,668,334,0,2984,2983,1,0,0,0,2984,2985,1,0,0,0,2985,2986,1,0,0,0,2986,2987,3,572,286,0,2987,151,1,0,0,0,2988,2989,5,51,0,0,2989,2991,5,415,0,0,2990,2992,3,668,334,0,2991,2990,1,0,0,0,2991,2992,1,0,0,0,2992,2993,1,0,0,0,2993,2994,3,552,276,0,2994,153,1,0,0,0,2995,2996,5,51,0,0,2996,2998,5,81,0,0,2997,2999,7,1,0,0,2998,2997,1,0,0,0,2998,2999,1,0,0,0,2999,3e3,1,0,0,0,3e3,3001,3,574,287,0,3001,3002,5,118,0,0,3002,3015,3,554,277,0,3003,3005,5,336,0,0,3004,3006,5,1124,0,0,3005,3004,1,0,0,0,3005,3006,1,0,0,0,3006,3007,1,0,0,0,3007,3014,7,3,0,0,3008,3010,5,103,0,0,3009,3011,5,1124,0,0,3010,3009,1,0,0,0,3010,3011,1,0,0,0,3011,3012,1,0,0,0,3012,3014,7,4,0,0,3013,3003,1,0,0,0,3013,3008,1,0,0,0,3014,3017,1,0,0,0,3015,3013,1,0,0,0,3015,3016,1,0,0,0,3016,155,1,0,0,0,3017,3015,1,0,0,0,3018,3019,5,51,0,0,3019,3020,5,475,0,0,3020,3021,5,73,0,0,3021,3022,3,612,306,0,3022,3023,5,409,0,0,3023,3024,5,1124,0,0,3024,3025,3,600,300,0,3025,157,1,0,0,0,3026,3027,5,51,0,0,3027,3029,5,131,0,0,3028,3030,3,668,334,0,3029,3028,1,0,0,0,3029,3030,1,0,0,0,3030,3031,1,0,0,0,3031,3032,3,552,276,0,3032,159,1,0,0,0,3033,3034,5,51,0,0,3034,3036,5,437,0,0,3035,3037,3,668,334,0,3036,3035,1,0,0,0,3036,3037,1,0,0,0,3037,3038,1,0,0,0,3038,3039,3,552,276,0,3039,161,1,0,0,0,3040,3041,5,51,0,0,3041,3043,5,608,0,0,3042,3044,3,668,334,0,3043,3042,1,0,0,0,3043,3044,1,0,0,0,3044,3045,1,0,0,0,3045,3046,3,612,306,0,3046,163,1,0,0,0,3047,3049,5,51,0,0,3048,3050,5,649,0,0,3049,3048,1,0,0,0,3049,3050,1,0,0,0,3050,3051,1,0,0,0,3051,3053,5,172,0,0,3052,3054,3,668,334,0,3053,3052,1,0,0,0,3053,3054,1,0,0,0,3054,3055,1,0,0,0,3055,3057,3,648,324,0,3056,3058,7,38,0,0,3057,3056,1,0,0,0,3057,3058,1,0,0,0,3058,165,1,0,0,0,3059,3060,5,51,0,0,3060,3061,5,647,0,0,3061,3067,3,612,306,0,3062,3064,5,409,0,0,3063,3065,5,1124,0,0,3064,3063,1,0,0,0,3064,3065,1,0,0,0,3065,3066,1,0,0,0,3066,3068,3,600,300,0,3067,3062,1,0,0,0,3067,3068,1,0,0,0,3068,167,1,0,0,0,3069,3070,5,51,0,0,3070,3072,5,177,0,0,3071,3073,3,668,334,0,3072,3071,1,0,0,0,3072,3073,1,0,0,0,3073,3074,1,0,0,0,3074,3075,3,578,289,0,3075,169,1,0,0,0,3076,3077,5,51,0,0,3077,3079,5,671,0,0,3078,3080,3,668,334,0,3079,3078,1,0,0,0,3079,3080,1,0,0,0,3080,3081,1,0,0,0,3081,3086,3,552,276,0,3082,3083,5,1135,0,0,3083,3085,3,552,276,0,3084,3082,1,0,0,0,3085,3088,1,0,0,0,3086,3084,1,0,0,0,3086,3087,1,0,0,0,3087,3090,1,0,0,0,3088,3086,1,0,0,0,3089,3091,7,38,0,0,3090,3089,1,0,0,0,3090,3091,1,0,0,0,3091,171,1,0,0,0,3092,3093,5,51,0,0,3093,3095,5,596,0,0,3094,3096,3,668,334,0,3095,3094,1,0,0,0,3095,3096,1,0,0,0,3096,3097,1,0,0,0,3097,3098,3,566,283,0,3098,173,1,0,0,0,3099,3100,5,153,0,0,3100,3101,5,42,0,0,3101,3105,5,596,0,0,3102,3106,5,529,0,0,3103,3106,5,6,0,0,3104,3106,3,566,283,0,3105,3102,1,0,0,0,3105,3103,1,0,0,0,3105,3104,1,0,0,0,3106,3107,1,0,0,0,3107,3108,5,175,0,0,3108,3113,3,588,294,0,3109,3110,5,153,0,0,3110,3111,5,596,0,0,3111,3113,3,434,217,0,3112,3099,1,0,0,0,3112,3109,1,0,0,0,3113,175,1,0,0,0,3114,3115,5,139,0,0,3115,3116,5,172,0,0,3116,3121,3,178,89,0,3117,3118,5,1135,0,0,3118,3120,3,178,89,0,3119,3117,1,0,0,0,3120,3123,1,0,0,0,3121,3119,1,0,0,0,3121,3122,1,0,0,0,3122,177,1,0,0,0,3123,3121,1,0,0,0,3124,3125,3,554,277,0,3125,3126,5,175,0,0,3126,3127,3,554,277,0,3127,179,1,0,0,0,3128,3130,5,656,0,0,3129,3131,5,172,0,0,3130,3129,1,0,0,0,3130,3131,1,0,0,0,3131,3132,1,0,0,0,3132,3133,3,554,277,0,3133,181,1,0,0,0,3134,3135,5,20,0,0,3135,3142,3,552,276,0,3136,3139,5,1133,0,0,3137,3140,3,656,328,0,3138,3140,3,652,326,0,3139,3137,1,0,0,0,3139,3138,1,0,0,0,3139,3140,1,0,0,0,3140,3141,1,0,0,0,3141,3143,5,1134,0,0,3142,3136,1,0,0,0,3142,3143,1,0,0,0,3143,183,1,0,0,0,3144,3147,3,212,106,0,3145,3147,3,214,107,0,3146,3144,1,0,0,0,3146,3145,1,0,0,0,3147,185,1,0,0,0,3148,3149,5,399,0,0,3149,3150,3,652,326,0,3150,187,1,0,0,0,3151,3156,3,216,108,0,3152,3156,3,218,109,0,3153,3156,3,220,110,0,3154,3156,3,222,111,0,3155,3151,1,0,0,0,3155,3152,1,0,0,0,3155,3153,1,0,0,0,3155,3154,1,0,0,0,3156,189,1,0,0,0,3157,3159,5,85,0,0,3158,3160,7,39,0,0,3159,3158,1,0,0,0,3159,3160,1,0,0,0,3160,3162,1,0,0,0,3161,3163,5,78,0,0,3162,3161,1,0,0,0,3162,3163,1,0,0,0,3163,3165,1,0,0,0,3164,3166,5,87,0,0,3165,3164,1,0,0,0,3165,3166,1,0,0,0,3166,3167,1,0,0,0,3167,3174,3,554,277,0,3168,3169,5,129,0,0,3169,3171,5,1133,0,0,3170,3172,3,644,322,0,3171,3170,1,0,0,0,3171,3172,1,0,0,0,3172,3173,1,0,0,0,3173,3175,5,1134,0,0,3174,3168,1,0,0,0,3174,3175,1,0,0,0,3175,3199,1,0,0,0,3176,3178,5,1133,0,0,3177,3179,3,646,323,0,3178,3177,1,0,0,0,3178,3179,1,0,0,0,3179,3180,1,0,0,0,3180,3182,5,1134,0,0,3181,3176,1,0,0,0,3181,3182,1,0,0,0,3182,3183,1,0,0,0,3183,3188,3,204,102,0,3184,3186,5,12,0,0,3185,3184,1,0,0,0,3185,3186,1,0,0,0,3186,3187,1,0,0,0,3187,3189,3,612,306,0,3188,3185,1,0,0,0,3188,3189,1,0,0,0,3189,3200,1,0,0,0,3190,3191,5,153,0,0,3191,3196,3,206,103,0,3192,3193,5,1135,0,0,3193,3195,3,206,103,0,3194,3192,1,0,0,0,3195,3198,1,0,0,0,3196,3194,1,0,0,0,3196,3197,1,0,0,0,3197,3200,1,0,0,0,3198,3196,1,0,0,0,3199,3181,1,0,0,0,3199,3190,1,0,0,0,3200,3213,1,0,0,0,3201,3202,5,118,0,0,3202,3203,5,401,0,0,3203,3204,5,91,0,0,3204,3205,5,184,0,0,3205,3210,3,206,103,0,3206,3207,5,1135,0,0,3207,3209,3,206,103,0,3208,3206,1,0,0,0,3209,3212,1,0,0,0,3210,3208,1,0,0,0,3210,3211,1,0,0,0,3211,3214,1,0,0,0,3212,3210,1,0,0,0,3213,3201,1,0,0,0,3213,3214,1,0,0,0,3214,191,1,0,0,0,3215,3216,5,102,0,0,3216,3218,5,388,0,0,3217,3219,7,40,0,0,3218,3217,1,0,0,0,3218,3219,1,0,0,0,3219,3221,1,0,0,0,3220,3222,5,474,0,0,3221,3220,1,0,0,0,3221,3222,1,0,0,0,3222,3223,1,0,0,0,3223,3224,5,82,0,0,3224,3226,5,1148,0,0,3225,3227,7,6,0,0,3226,3225,1,0,0,0,3226,3227,1,0,0,0,3227,3228,1,0,0,0,3228,3229,5,87,0,0,3229,3230,5,172,0,0,3230,3236,3,554,277,0,3231,3232,5,129,0,0,3232,3233,5,1133,0,0,3233,3234,3,644,322,0,3234,3235,5,1134,0,0,3235,3237,1,0,0,0,3236,3231,1,0,0,0,3236,3237,1,0,0,0,3237,3241,1,0,0,0,3238,3239,5,25,0,0,3239,3240,5,153,0,0,3240,3242,3,596,298,0,3241,3238,1,0,0,0,3241,3242,1,0,0,0,3242,3249,1,0,0,0,3243,3245,7,41,0,0,3244,3246,3,280,140,0,3245,3244,1,0,0,0,3246,3247,1,0,0,0,3247,3245,1,0,0,0,3247,3248,1,0,0,0,3248,3250,1,0,0,0,3249,3243,1,0,0,0,3249,3250,1,0,0,0,3250,3257,1,0,0,0,3251,3253,5,101,0,0,3252,3254,3,282,141,0,3253,3252,1,0,0,0,3254,3255,1,0,0,0,3255,3253,1,0,0,0,3255,3256,1,0,0,0,3256,3258,1,0,0,0,3257,3251,1,0,0,0,3257,3258,1,0,0,0,3258,3263,1,0,0,0,3259,3260,5,78,0,0,3260,3261,3,618,309,0,3261,3262,7,42,0,0,3262,3264,1,0,0,0,3263,3259,1,0,0,0,3263,3264,1,0,0,0,3264,3276,1,0,0,0,3265,3266,5,1133,0,0,3266,3271,3,208,104,0,3267,3268,5,1135,0,0,3268,3270,3,208,104,0,3269,3267,1,0,0,0,3270,3273,1,0,0,0,3271,3269,1,0,0,0,3271,3272,1,0,0,0,3272,3274,1,0,0,0,3273,3271,1,0,0,0,3274,3275,5,1134,0,0,3275,3277,1,0,0,0,3276,3265,1,0,0,0,3276,3277,1,0,0,0,3277,3287,1,0,0,0,3278,3279,5,153,0,0,3279,3284,3,206,103,0,3280,3281,5,1135,0,0,3281,3283,3,206,103,0,3282,3280,1,0,0,0,3283,3286,1,0,0,0,3284,3282,1,0,0,0,3284,3285,1,0,0,0,3285,3288,1,0,0,0,3286,3284,1,0,0,0,3287,3278,1,0,0,0,3287,3288,1,0,0,0,3288,193,1,0,0,0,3289,3290,5,102,0,0,3290,3292,5,682,0,0,3291,3293,7,40,0,0,3292,3291,1,0,0,0,3292,3293,1,0,0,0,3293,3295,1,0,0,0,3294,3296,5,474,0,0,3295,3294,1,0,0,0,3295,3296,1,0,0,0,3296,3297,1,0,0,0,3297,3298,5,82,0,0,3298,3300,5,1148,0,0,3299,3301,7,6,0,0,3300,3299,1,0,0,0,3300,3301,1,0,0,0,3301,3302,1,0,0,0,3302,3303,5,87,0,0,3303,3304,5,172,0,0,3304,3308,3,554,277,0,3305,3306,5,25,0,0,3306,3307,5,153,0,0,3307,3309,3,596,298,0,3308,3305,1,0,0,0,3308,3309,1,0,0,0,3309,3316,1,0,0,0,3310,3311,5,601,0,0,3311,3312,5,448,0,0,3312,3313,5,19,0,0,3313,3314,5,1126,0,0,3314,3315,5,1148,0,0,3315,3317,5,1125,0,0,3316,3310,1,0,0,0,3316,3317,1,0,0,0,3317,3322,1,0,0,0,3318,3319,5,78,0,0,3319,3320,3,618,309,0,3320,3321,7,42,0,0,3321,3323,1,0,0,0,3322,3318,1,0,0,0,3322,3323,1,0,0,0,3323,3335,1,0,0,0,3324,3325,5,1133,0,0,3325,3330,3,208,104,0,3326,3327,5,1135,0,0,3327,3329,3,208,104,0,3328,3326,1,0,0,0,3329,3332,1,0,0,0,3330,3328,1,0,0,0,3330,3331,1,0,0,0,3331,3333,1,0,0,0,3332,3330,1,0,0,0,3333,3334,5,1134,0,0,3334,3336,1,0,0,0,3335,3324,1,0,0,0,3335,3336,1,0,0,0,3336,3346,1,0,0,0,3337,3338,5,153,0,0,3338,3343,3,206,103,0,3339,3340,5,1135,0,0,3340,3342,3,206,103,0,3341,3339,1,0,0,0,3342,3345,1,0,0,0,3343,3341,1,0,0,0,3343,3344,1,0,0,0,3344,3347,1,0,0,0,3345,3343,1,0,0,0,3346,3337,1,0,0,0,3346,3347,1,0,0,0,3347,195,1,0,0,0,3348,3350,5,141,0,0,3349,3351,7,43,0,0,3350,3349,1,0,0,0,3350,3351,1,0,0,0,3351,3353,1,0,0,0,3352,3354,5,87,0,0,3353,3352,1,0,0,0,3353,3354,1,0,0,0,3354,3355,1,0,0,0,3355,3361,3,554,277,0,3356,3357,5,129,0,0,3357,3358,5,1133,0,0,3358,3359,3,644,322,0,3359,3360,5,1134,0,0,3360,3362,1,0,0,0,3361,3356,1,0,0,0,3361,3362,1,0,0,0,3362,3379,1,0,0,0,3363,3364,5,1133,0,0,3364,3365,3,644,322,0,3365,3366,5,1134,0,0,3366,3368,1,0,0,0,3367,3363,1,0,0,0,3367,3368,1,0,0,0,3368,3369,1,0,0,0,3369,3380,3,204,102,0,3370,3371,5,153,0,0,3371,3376,3,206,103,0,3372,3373,5,1135,0,0,3373,3375,3,206,103,0,3374,3372,1,0,0,0,3375,3378,1,0,0,0,3376,3374,1,0,0,0,3376,3377,1,0,0,0,3377,3380,1,0,0,0,3378,3376,1,0,0,0,3379,3367,1,0,0,0,3379,3370,1,0,0,0,3380,197,1,0,0,0,3381,3383,3,250,125,0,3382,3384,3,210,105,0,3383,3382,1,0,0,0,3383,3384,1,0,0,0,3384,3447,1,0,0,0,3385,3387,3,246,123,0,3386,3388,3,210,105,0,3387,3386,1,0,0,0,3387,3388,1,0,0,0,3388,3447,1,0,0,0,3389,3392,3,252,126,0,3390,3392,3,248,124,0,3391,3389,1,0,0,0,3391,3390,1,0,0,0,3392,3394,1,0,0,0,3393,3395,3,256,128,0,3394,3393,1,0,0,0,3395,3396,1,0,0,0,3396,3394,1,0,0,0,3396,3397,1,0,0,0,3397,3406,1,0,0,0,3398,3400,5,180,0,0,3399,3401,7,44,0,0,3400,3399,1,0,0,0,3400,3401,1,0,0,0,3401,3404,1,0,0,0,3402,3405,3,250,125,0,3403,3405,3,246,123,0,3404,3402,1,0,0,0,3404,3403,1,0,0,0,3405,3407,1,0,0,0,3406,3398,1,0,0,0,3406,3407,1,0,0,0,3407,3409,1,0,0,0,3408,3410,3,228,114,0,3409,3408,1,0,0,0,3409,3410,1,0,0,0,3410,3412,1,0,0,0,3411,3413,3,294,147,0,3412,3411,1,0,0,0,3412,3413,1,0,0,0,3413,3415,1,0,0,0,3414,3416,3,210,105,0,3415,3414,1,0,0,0,3415,3416,1,0,0,0,3416,3447,1,0,0,0,3417,3419,3,248,124,0,3418,3420,3,254,127,0,3419,3418,1,0,0,0,3420,3421,1,0,0,0,3421,3419,1,0,0,0,3421,3422,1,0,0,0,3422,3428,1,0,0,0,3423,3425,5,180,0,0,3424,3426,7,44,0,0,3425,3424,1,0,0,0,3425,3426,1,0,0,0,3426,3427,1,0,0,0,3427,3429,3,246,123,0,3428,3423,1,0,0,0,3428,3429,1,0,0,0,3429,3431,1,0,0,0,3430,3432,3,228,114,0,3431,3430,1,0,0,0,3431,3432,1,0,0,0,3432,3434,1,0,0,0,3433,3435,3,294,147,0,3434,3433,1,0,0,0,3434,3435,1,0,0,0,3435,3437,1,0,0,0,3436,3438,3,210,105,0,3437,3436,1,0,0,0,3437,3438,1,0,0,0,3438,3447,1,0,0,0,3439,3442,3,252,126,0,3440,3441,5,1135,0,0,3441,3443,3,258,129,0,3442,3440,1,0,0,0,3443,3444,1,0,0,0,3444,3442,1,0,0,0,3444,3445,1,0,0,0,3445,3447,1,0,0,0,3446,3381,1,0,0,0,3446,3385,1,0,0,0,3446,3391,1,0,0,0,3446,3417,1,0,0,0,3446,3439,1,0,0,0,3447,199,1,0,0,0,3448,3451,3,224,112,0,3449,3451,3,226,113,0,3450,3448,1,0,0,0,3450,3449,1,0,0,0,3451,201,1,0,0,0,3452,3453,5,188,0,0,3453,3455,5,1133,0,0,3454,3456,3,654,327,0,3455,3454,1,0,0,0,3455,3456,1,0,0,0,3456,3457,1,0,0,0,3457,3466,5,1134,0,0,3458,3459,5,1135,0,0,3459,3461,5,1133,0,0,3460,3462,3,654,327,0,3461,3460,1,0,0,0,3461,3462,1,0,0,0,3462,3463,1,0,0,0,3463,3465,5,1134,0,0,3464,3458,1,0,0,0,3465,3468,1,0,0,0,3466,3464,1,0,0,0,3466,3467,1,0,0,0,3467,203,1,0,0,0,3468,3466,1,0,0,0,3469,3488,3,198,99,0,3470,3471,7,45,0,0,3471,3473,5,1133,0,0,3472,3474,3,654,327,0,3473,3472,1,0,0,0,3473,3474,1,0,0,0,3474,3475,1,0,0,0,3475,3484,5,1134,0,0,3476,3477,5,1135,0,0,3477,3479,5,1133,0,0,3478,3480,3,654,327,0,3479,3478,1,0,0,0,3479,3480,1,0,0,0,3480,3481,1,0,0,0,3481,3483,5,1134,0,0,3482,3476,1,0,0,0,3483,3486,1,0,0,0,3484,3482,1,0,0,0,3484,3485,1,0,0,0,3485,3488,1,0,0,0,3486,3484,1,0,0,0,3487,3469,1,0,0,0,3487,3470,1,0,0,0,3488,205,1,0,0,0,3489,3490,3,570,285,0,3490,3493,5,1124,0,0,3491,3494,3,716,358,0,3492,3494,5,42,0,0,3493,3491,1,0,0,0,3493,3492,1,0,0,0,3494,207,1,0,0,0,3495,3498,3,612,306,0,3496,3498,5,1159,0,0,3497,3495,1,0,0,0,3497,3496,1,0,0,0,3498,209,1,0,0,0,3499,3500,5,65,0,0,3500,3506,5,184,0,0,3501,3502,5,103,0,0,3502,3503,5,80,0,0,3503,3504,5,610,0,0,3504,3506,5,511,0,0,3505,3499,1,0,0,0,3505,3501,1,0,0,0,3506,211,1,0,0,0,3507,3509,5,44,0,0,3508,3510,5,106,0,0,3509,3508,1,0,0,0,3509,3510,1,0,0,0,3510,3512,1,0,0,0,3511,3513,5,568,0,0,3512,3511,1,0,0,0,3512,3513,1,0,0,0,3513,3515,1,0,0,0,3514,3516,5,78,0,0,3515,3514,1,0,0,0,3515,3516,1,0,0,0,3516,3517,1,0,0,0,3517,3518,5,68,0,0,3518,3523,3,554,277,0,3519,3521,5,12,0,0,3520,3519,1,0,0,0,3520,3521,1,0,0,0,3521,3522,1,0,0,0,3522,3524,3,612,306,0,3523,3520,1,0,0,0,3523,3524,1,0,0,0,3524,3530,1,0,0,0,3525,3526,5,129,0,0,3526,3527,5,1133,0,0,3527,3528,3,644,322,0,3528,3529,5,1134,0,0,3529,3531,1,0,0,0,3530,3525,1,0,0,0,3530,3531,1,0,0,0,3531,3534,1,0,0,0,3532,3533,5,190,0,0,3533,3535,3,716,358,0,3534,3532,1,0,0,0,3534,3535,1,0,0,0,3535,3537,1,0,0,0,3536,3538,3,228,114,0,3537,3536,1,0,0,0,3537,3538,1,0,0,0,3538,3541,1,0,0,0,3539,3540,5,99,0,0,3540,3542,3,296,148,0,3541,3539,1,0,0,0,3541,3542,1,0,0,0,3542,213,1,0,0,0,3543,3545,5,44,0,0,3544,3546,5,106,0,0,3545,3544,1,0,0,0,3545,3546,1,0,0,0,3546,3548,1,0,0,0,3547,3549,5,568,0,0,3548,3547,1,0,0,0,3548,3549,1,0,0,0,3549,3551,1,0,0,0,3550,3552,5,78,0,0,3551,3550,1,0,0,0,3551,3552,1,0,0,0,3552,3592,1,0,0,0,3553,3556,3,554,277,0,3554,3555,5,1132,0,0,3555,3557,5,1117,0,0,3556,3554,1,0,0,0,3556,3557,1,0,0,0,3557,3566,1,0,0,0,3558,3559,5,1135,0,0,3559,3562,3,554,277,0,3560,3561,5,1132,0,0,3561,3563,5,1117,0,0,3562,3560,1,0,0,0,3562,3563,1,0,0,0,3563,3565,1,0,0,0,3564,3558,1,0,0,0,3565,3568,1,0,0,0,3566,3564,1,0,0,0,3566,3567,1,0,0,0,3567,3569,1,0,0,0,3568,3566,1,0,0,0,3569,3570,5,68,0,0,3570,3571,3,232,116,0,3571,3593,1,0,0,0,3572,3573,5,68,0,0,3573,3576,3,554,277,0,3574,3575,5,1132,0,0,3575,3577,5,1117,0,0,3576,3574,1,0,0,0,3576,3577,1,0,0,0,3577,3586,1,0,0,0,3578,3579,5,1135,0,0,3579,3582,3,554,277,0,3580,3581,5,1132,0,0,3581,3583,5,1117,0,0,3582,3580,1,0,0,0,3582,3583,1,0,0,0,3583,3585,1,0,0,0,3584,3578,1,0,0,0,3585,3588,1,0,0,0,3586,3584,1,0,0,0,3586,3587,1,0,0,0,3587,3589,1,0,0,0,3588,3586,1,0,0,0,3589,3590,5,187,0,0,3590,3591,3,232,116,0,3591,3593,1,0,0,0,3592,3553,1,0,0,0,3592,3572,1,0,0,0,3593,3596,1,0,0,0,3594,3595,5,190,0,0,3595,3597,3,716,358,0,3596,3594,1,0,0,0,3596,3597,1,0,0,0,3597,215,1,0,0,0,3598,3599,5,442,0,0,3599,3600,3,554,277,0,3600,3605,5,539,0,0,3601,3603,5,12,0,0,3602,3601,1,0,0,0,3602,3603,1,0,0,0,3603,3604,1,0,0,0,3604,3606,3,612,306,0,3605,3602,1,0,0,0,3605,3606,1,0,0,0,3606,217,1,0,0,0,3607,3608,5,442,0,0,3608,3609,3,554,277,0,3609,3610,5,134,0,0,3610,3617,3,612,306,0,3611,3612,3,724,362,0,3612,3613,5,1133,0,0,3613,3614,3,656,328,0,3614,3615,5,1134,0,0,3615,3618,1,0,0,0,3616,3618,7,46,0,0,3617,3611,1,0,0,0,3617,3616,1,0,0,0,3618,3621,1,0,0,0,3619,3620,5,190,0,0,3620,3622,3,716,358,0,3621,3619,1,0,0,0,3621,3622,1,0,0,0,3622,3625,1,0,0,0,3623,3624,5,99,0,0,3624,3626,3,296,148,0,3625,3623,1,0,0,0,3625,3626,1,0,0,0,3626,219,1,0,0,0,3627,3628,5,442,0,0,3628,3629,3,554,277,0,3629,3630,5,134,0,0,3630,3633,7,47,0,0,3631,3632,5,190,0,0,3632,3634,3,716,358,0,3633,3631,1,0,0,0,3633,3634,1,0,0,0,3634,3637,1,0,0,0,3635,3636,5,99,0,0,3636,3638,3,296,148,0,3637,3635,1,0,0,0,3637,3638,1,0,0,0,3638,221,1,0,0,0,3639,3640,5,442,0,0,3640,3641,3,554,277,0,3641,3642,5,361,0,0,3642,223,1,0,0,0,3643,3645,5,184,0,0,3644,3646,5,106,0,0,3645,3644,1,0,0,0,3645,3646,1,0,0,0,3646,3648,1,0,0,0,3647,3649,5,78,0,0,3648,3647,1,0,0,0,3648,3649,1,0,0,0,3649,3650,1,0,0,0,3650,3655,3,554,277,0,3651,3653,5,12,0,0,3652,3651,1,0,0,0,3652,3653,1,0,0,0,3653,3654,1,0,0,0,3654,3656,3,612,306,0,3655,3652,1,0,0,0,3655,3656,1,0,0,0,3656,3657,1,0,0,0,3657,3658,5,153,0,0,3658,3663,3,206,103,0,3659,3660,5,1135,0,0,3660,3662,3,206,103,0,3661,3659,1,0,0,0,3662,3665,1,0,0,0,3663,3661,1,0,0,0,3663,3664,1,0,0,0,3664,3668,1,0,0,0,3665,3663,1,0,0,0,3666,3667,5,190,0,0,3667,3669,3,716,358,0,3668,3666,1,0,0,0,3668,3669,1,0,0,0,3669,3671,1,0,0,0,3670,3672,3,228,114,0,3671,3670,1,0,0,0,3671,3672,1,0,0,0,3672,3674,1,0,0,0,3673,3675,3,294,147,0,3674,3673,1,0,0,0,3674,3675,1,0,0,0,3675,225,1,0,0,0,3676,3678,5,184,0,0,3677,3679,5,106,0,0,3678,3677,1,0,0,0,3678,3679,1,0,0,0,3679,3681,1,0,0,0,3680,3682,5,78,0,0,3681,3680,1,0,0,0,3681,3682,1,0,0,0,3682,3683,1,0,0,0,3683,3684,3,556,278,0,3684,3685,5,153,0,0,3685,3690,3,206,103,0,3686,3687,5,1135,0,0,3687,3689,3,206,103,0,3688,3686,1,0,0,0,3689,3692,1,0,0,0,3690,3688,1,0,0,0,3690,3691,1,0,0,0,3691,3695,1,0,0,0,3692,3690,1,0,0,0,3693,3694,5,190,0,0,3694,3696,3,716,358,0,3695,3693,1,0,0,0,3695,3696,1,0,0,0,3696,227,1,0,0,0,3697,3698,5,124,0,0,3698,3699,5,19,0,0,3699,3704,3,230,115,0,3700,3701,5,1135,0,0,3701,3703,3,230,115,0,3702,3700,1,0,0,0,3703,3706,1,0,0,0,3704,3702,1,0,0,0,3704,3705,1,0,0,0,3705,229,1,0,0,0,3706,3704,1,0,0,0,3707,3709,3,716,358,0,3708,3710,7,48,0,0,3709,3708,1,0,0,0,3709,3710,1,0,0,0,3710,231,1,0,0,0,3711,3716,3,234,117,0,3712,3713,5,1135,0,0,3713,3715,3,234,117,0,3714,3712,1,0,0,0,3715,3718,1,0,0,0,3716,3714,1,0,0,0,3716,3717,1,0,0,0,3717,233,1,0,0,0,3718,3716,1,0,0,0,3719,3723,3,236,118,0,3720,3722,3,242,121,0,3721,3720,1,0,0,0,3722,3725,1,0,0,0,3723,3721,1,0,0,0,3723,3724,1,0,0,0,3724,3738,1,0,0,0,3725,3723,1,0,0,0,3726,3727,5,1133,0,0,3727,3731,3,236,118,0,3728,3730,3,242,121,0,3729,3728,1,0,0,0,3730,3733,1,0,0,0,3731,3729,1,0,0,0,3731,3732,1,0,0,0,3732,3734,1,0,0,0,3733,3731,1,0,0,0,3734,3735,5,1134,0,0,3735,3738,1,0,0,0,3736,3738,3,260,130,0,3737,3719,1,0,0,0,3737,3726,1,0,0,0,3737,3736,1,0,0,0,3738,235,1,0,0,0,3739,3745,3,554,277,0,3740,3741,5,129,0,0,3741,3742,5,1133,0,0,3742,3743,3,644,322,0,3743,3744,5,1134,0,0,3744,3746,1,0,0,0,3745,3740,1,0,0,0,3745,3746,1,0,0,0,3746,3751,1,0,0,0,3747,3749,5,12,0,0,3748,3747,1,0,0,0,3748,3749,1,0,0,0,3749,3750,1,0,0,0,3750,3752,3,612,306,0,3751,3748,1,0,0,0,3751,3752,1,0,0,0,3752,3761,1,0,0,0,3753,3758,3,238,119,0,3754,3755,5,1135,0,0,3755,3757,3,238,119,0,3756,3754,1,0,0,0,3757,3760,1,0,0,0,3758,3756,1,0,0,0,3758,3759,1,0,0,0,3759,3762,1,0,0,0,3760,3758,1,0,0,0,3761,3753,1,0,0,0,3761,3762,1,0,0,0,3762,3777,1,0,0,0,3763,3764,5,1133,0,0,3764,3765,3,198,99,0,3765,3766,5,1134,0,0,3766,3768,1,0,0,0,3767,3769,5,12,0,0,3768,3767,1,0,0,0,3768,3769,1,0,0,0,3769,3770,1,0,0,0,3770,3771,3,612,306,0,3771,3777,1,0,0,0,3772,3773,5,1133,0,0,3773,3774,3,232,116,0,3774,3775,5,1134,0,0,3775,3777,1,0,0,0,3776,3739,1,0,0,0,3776,3763,1,0,0,0,3776,3772,1,0,0,0,3777,237,1,0,0,0,3778,3779,7,49,0,0,3779,3782,7,20,0,0,3780,3781,5,65,0,0,3781,3783,3,240,120,0,3782,3780,1,0,0,0,3782,3783,1,0,0,0,3783,3784,1,0,0,0,3784,3785,5,1133,0,0,3785,3786,3,580,290,0,3786,3787,5,1134,0,0,3787,239,1,0,0,0,3788,3794,5,90,0,0,3789,3790,5,124,0,0,3790,3794,5,19,0,0,3791,3792,5,73,0,0,3792,3794,5,19,0,0,3793,3788,1,0,0,0,3793,3789,1,0,0,0,3793,3791,1,0,0,0,3794,241,1,0,0,0,3795,3797,7,50,0,0,3796,3795,1,0,0,0,3796,3797,1,0,0,0,3797,3798,1,0,0,0,3798,3800,5,90,0,0,3799,3801,5,94,0,0,3800,3799,1,0,0,0,3800,3801,1,0,0,0,3801,3802,1,0,0,0,3802,3806,3,236,118,0,3803,3805,3,244,122,0,3804,3803,1,0,0,0,3805,3808,1,0,0,0,3806,3804,1,0,0,0,3806,3807,1,0,0,0,3807,3843,1,0,0,0,3808,3806,1,0,0,0,3809,3810,5,171,0,0,3810,3815,3,236,118,0,3811,3812,5,118,0,0,3812,3814,3,716,358,0,3813,3811,1,0,0,0,3814,3817,1,0,0,0,3815,3813,1,0,0,0,3815,3816,1,0,0,0,3816,3843,1,0,0,0,3817,3815,1,0,0,0,3818,3820,7,51,0,0,3819,3821,5,126,0,0,3820,3819,1,0,0,0,3820,3821,1,0,0,0,3821,3822,1,0,0,0,3822,3824,5,90,0,0,3823,3825,5,94,0,0,3824,3823,1,0,0,0,3824,3825,1,0,0,0,3825,3826,1,0,0,0,3826,3830,3,236,118,0,3827,3829,3,244,122,0,3828,3827,1,0,0,0,3829,3832,1,0,0,0,3830,3828,1,0,0,0,3830,3831,1,0,0,0,3831,3843,1,0,0,0,3832,3830,1,0,0,0,3833,3838,5,113,0,0,3834,3836,7,51,0,0,3835,3837,5,126,0,0,3836,3835,1,0,0,0,3836,3837,1,0,0,0,3837,3839,1,0,0,0,3838,3834,1,0,0,0,3838,3839,1,0,0,0,3839,3840,1,0,0,0,3840,3841,5,90,0,0,3841,3843,3,236,118,0,3842,3796,1,0,0,0,3842,3809,1,0,0,0,3842,3818,1,0,0,0,3842,3833,1,0,0,0,3843,243,1,0,0,0,3844,3845,5,118,0,0,3845,3852,3,716,358,0,3846,3847,5,187,0,0,3847,3848,5,1133,0,0,3848,3849,3,644,322,0,3849,3850,5,1134,0,0,3850,3852,1,0,0,0,3851,3844,1,0,0,0,3851,3846,1,0,0,0,3852,245,1,0,0,0,3853,3854,5,1133,0,0,3854,3855,3,250,125,0,3855,3856,5,1134,0,0,3856,3862,1,0,0,0,3857,3858,5,1133,0,0,3858,3859,3,246,123,0,3859,3860,5,1134,0,0,3860,3862,1,0,0,0,3861,3853,1,0,0,0,3861,3857,1,0,0,0,3862,247,1,0,0,0,3863,3864,5,1133,0,0,3864,3865,3,252,126,0,3865,3866,5,1134,0,0,3866,3872,1,0,0,0,3867,3868,5,1133,0,0,3868,3869,3,248,124,0,3869,3870,5,1134,0,0,3870,3872,1,0,0,0,3871,3863,1,0,0,0,3871,3867,1,0,0,0,3872,249,1,0,0,0,3873,3877,5,152,0,0,3874,3876,3,270,135,0,3875,3874,1,0,0,0,3876,3879,1,0,0,0,3877,3875,1,0,0,0,3877,3878,1,0,0,0,3878,3880,1,0,0,0,3879,3877,1,0,0,0,3880,3882,3,272,136,0,3881,3883,3,278,139,0,3882,3881,1,0,0,0,3882,3883,1,0,0,0,3883,3884,1,0,0,0,3884,3886,3,284,142,0,3885,3887,3,286,143,0,3886,3885,1,0,0,0,3886,3887,1,0,0,0,3887,3889,1,0,0,0,3888,3890,3,288,144,0,3889,3888,1,0,0,0,3889,3890,1,0,0,0,3890,3892,1,0,0,0,3891,3893,3,290,145,0,3892,3891,1,0,0,0,3892,3893,1,0,0,0,3893,3895,1,0,0,0,3894,3896,3,228,114,0,3895,3894,1,0,0,0,3895,3896,1,0,0,0,3896,3898,1,0,0,0,3897,3899,3,294,147,0,3898,3897,1,0,0,0,3898,3899,1,0,0,0,3899,3928,1,0,0,0,3900,3904,5,152,0,0,3901,3903,3,270,135,0,3902,3901,1,0,0,0,3903,3906,1,0,0,0,3904,3902,1,0,0,0,3904,3905,1,0,0,0,3905,3907,1,0,0,0,3906,3904,1,0,0,0,3907,3908,3,272,136,0,3908,3910,3,284,142,0,3909,3911,3,286,143,0,3910,3909,1,0,0,0,3910,3911,1,0,0,0,3911,3913,1,0,0,0,3912,3914,3,288,144,0,3913,3912,1,0,0,0,3913,3914,1,0,0,0,3914,3916,1,0,0,0,3915,3917,3,290,145,0,3916,3915,1,0,0,0,3916,3917,1,0,0,0,3917,3919,1,0,0,0,3918,3920,3,228,114,0,3919,3918,1,0,0,0,3919,3920,1,0,0,0,3920,3922,1,0,0,0,3921,3923,3,294,147,0,3922,3921,1,0,0,0,3922,3923,1,0,0,0,3923,3925,1,0,0,0,3924,3926,3,278,139,0,3925,3924,1,0,0,0,3925,3926,1,0,0,0,3926,3928,1,0,0,0,3927,3873,1,0,0,0,3927,3900,1,0,0,0,3928,251,1,0,0,0,3929,3933,5,152,0,0,3930,3932,3,270,135,0,3931,3930,1,0,0,0,3932,3935,1,0,0,0,3933,3931,1,0,0,0,3933,3934,1,0,0,0,3934,3936,1,0,0,0,3935,3933,1,0,0,0,3936,3937,3,272,136,0,3937,3939,3,284,142,0,3938,3940,3,286,143,0,3939,3938,1,0,0,0,3939,3940,1,0,0,0,3940,3942,1,0,0,0,3941,3943,3,288,144,0,3942,3941,1,0,0,0,3942,3943,1,0,0,0,3943,3945,1,0,0,0,3944,3946,3,290,145,0,3945,3944,1,0,0,0,3945,3946,1,0,0,0,3946,3948,1,0,0,0,3947,3949,3,228,114,0,3948,3947,1,0,0,0,3948,3949,1,0,0,0,3949,3951,1,0,0,0,3950,3952,3,294,147,0,3951,3950,1,0,0,0,3951,3952,1,0,0,0,3952,3954,1,0,0,0,3953,3955,3,256,128,0,3954,3953,1,0,0,0,3954,3955,1,0,0,0,3955,253,1,0,0,0,3956,3958,5,180,0,0,3957,3959,7,44,0,0,3958,3957,1,0,0,0,3958,3959,1,0,0,0,3959,3960,1,0,0,0,3960,3961,3,248,124,0,3961,255,1,0,0,0,3962,3964,5,180,0,0,3963,3965,7,44,0,0,3964,3963,1,0,0,0,3964,3965,1,0,0,0,3965,3968,1,0,0,0,3966,3969,3,252,126,0,3967,3969,3,248,124,0,3968,3966,1,0,0,0,3968,3967,1,0,0,0,3969,257,1,0,0,0,3970,3985,5,94,0,0,3971,3986,3,252,126,0,3972,3986,3,248,124,0,3973,3976,5,1133,0,0,3974,3977,3,252,126,0,3975,3977,3,248,124,0,3976,3974,1,0,0,0,3976,3975,1,0,0,0,3977,3978,1,0,0,0,3978,3983,5,1134,0,0,3979,3981,5,12,0,0,3980,3979,1,0,0,0,3980,3981,1,0,0,0,3981,3982,1,0,0,0,3982,3984,3,612,306,0,3983,3980,1,0,0,0,3983,3984,1,0,0,0,3984,3986,1,0,0,0,3985,3971,1,0,0,0,3985,3972,1,0,0,0,3985,3973,1,0,0,0,3986,259,1,0,0,0,3987,3988,5,278,0,0,3988,3989,5,1133,0,0,3989,3990,5,1148,0,0,3990,3991,5,1135,0,0,3991,3992,5,1148,0,0,3992,3993,5,365,0,0,3993,3994,5,1133,0,0,3994,3995,3,262,131,0,3995,3996,5,1134,0,0,3996,4001,5,1134,0,0,3997,3999,5,12,0,0,3998,3997,1,0,0,0,3998,3999,1,0,0,0,3999,4e3,1,0,0,0,4e3,4002,3,612,306,0,4001,3998,1,0,0,0,4001,4002,1,0,0,0,4002,261,1,0,0,0,4003,4008,3,264,132,0,4004,4005,5,1135,0,0,4005,4007,3,264,132,0,4006,4004,1,0,0,0,4007,4010,1,0,0,0,4008,4006,1,0,0,0,4008,4009,1,0,0,0,4009,263,1,0,0,0,4010,4008,1,0,0,0,4011,4028,3,570,285,0,4012,4013,5,65,0,0,4013,4029,5,284,0,0,4014,4026,3,632,316,0,4015,4016,5,285,0,0,4016,4018,5,1148,0,0,4017,4019,3,266,133,0,4018,4017,1,0,0,0,4018,4019,1,0,0,0,4019,4021,1,0,0,0,4020,4022,3,268,134,0,4021,4020,1,0,0,0,4021,4022,1,0,0,0,4022,4027,1,0,0,0,4023,4024,5,60,0,0,4024,4025,5,285,0,0,4025,4027,5,1148,0,0,4026,4015,1,0,0,0,4026,4023,1,0,0,0,4027,4029,1,0,0,0,4028,4012,1,0,0,0,4028,4014,1,0,0,0,4029,4041,1,0,0,0,4030,4032,5,283,0,0,4031,4033,5,285,0,0,4032,4031,1,0,0,0,4032,4033,1,0,0,0,4033,4034,1,0,0,0,4034,4035,5,1148,0,0,4035,4036,5,365,0,0,4036,4037,5,1133,0,0,4037,4038,3,262,131,0,4038,4039,5,1134,0,0,4039,4041,1,0,0,0,4040,4011,1,0,0,0,4040,4030,1,0,0,0,4041,265,1,0,0,0,4042,4047,5,116,0,0,4043,4047,5,411,0,0,4044,4045,5,42,0,0,4045,4047,3,662,331,0,4046,4042,1,0,0,0,4046,4043,1,0,0,0,4046,4044,1,0,0,0,4047,4048,1,0,0,0,4048,4049,5,118,0,0,4049,4050,5,55,0,0,4050,267,1,0,0,0,4051,4056,5,116,0,0,4052,4056,5,411,0,0,4053,4054,5,42,0,0,4054,4056,3,662,331,0,4055,4051,1,0,0,0,4055,4052,1,0,0,0,4055,4053,1,0,0,0,4056,4057,1,0,0,0,4057,4058,5,118,0,0,4058,4059,5,411,0,0,4059,269,1,0,0,0,4060,4069,7,52,0,0,4061,4069,5,75,0,0,4062,4069,5,171,0,0,4063,4069,5,166,0,0,4064,4069,5,164,0,0,4065,4069,5,625,0,0,4066,4069,7,53,0,0,4067,4069,5,165,0,0,4068,4060,1,0,0,0,4068,4061,1,0,0,0,4068,4062,1,0,0,0,4068,4063,1,0,0,0,4068,4064,1,0,0,0,4068,4065,1,0,0,0,4068,4066,1,0,0,0,4068,4067,1,0,0,0,4069,271,1,0,0,0,4070,4073,5,1117,0,0,4071,4073,3,276,138,0,4072,4070,1,0,0,0,4072,4071,1,0,0,0,4073,4078,1,0,0,0,4074,4075,5,1135,0,0,4075,4077,3,276,138,0,4076,4074,1,0,0,0,4077,4080,1,0,0,0,4078,4076,1,0,0,0,4078,4079,1,0,0,0,4079,273,1,0,0,0,4080,4078,1,0,0,0,4081,4083,5,12,0,0,4082,4081,1,0,0,0,4082,4083,1,0,0,0,4083,4084,1,0,0,0,4084,4085,3,612,306,0,4085,275,1,0,0,0,4086,4087,3,552,276,0,4087,4088,5,1132,0,0,4088,4089,5,1117,0,0,4089,4107,1,0,0,0,4090,4092,3,570,285,0,4091,4093,3,274,137,0,4092,4091,1,0,0,0,4092,4093,1,0,0,0,4093,4107,1,0,0,0,4094,4096,3,676,338,0,4095,4097,3,274,137,0,4096,4095,1,0,0,0,4096,4097,1,0,0,0,4097,4107,1,0,0,0,4098,4099,5,1159,0,0,4099,4101,5,1108,0,0,4100,4098,1,0,0,0,4100,4101,1,0,0,0,4101,4102,1,0,0,0,4102,4104,3,716,358,0,4103,4105,3,274,137,0,4104,4103,1,0,0,0,4104,4105,1,0,0,0,4105,4107,1,0,0,0,4106,4086,1,0,0,0,4106,4090,1,0,0,0,4106,4094,1,0,0,0,4106,4100,1,0,0,0,4107,277,1,0,0,0,4108,4109,5,87,0,0,4109,4114,3,208,104,0,4110,4111,5,1135,0,0,4111,4113,3,208,104,0,4112,4110,1,0,0,0,4113,4116,1,0,0,0,4114,4112,1,0,0,0,4114,4115,1,0,0,0,4115,4145,1,0,0,0,4116,4114,1,0,0,0,4117,4118,5,87,0,0,4118,4119,5,400,0,0,4119,4145,5,1148,0,0,4120,4121,5,87,0,0,4121,4122,5,127,0,0,4122,4126,5,1148,0,0,4123,4124,5,25,0,0,4124,4125,5,153,0,0,4125,4127,3,596,298,0,4126,4123,1,0,0,0,4126,4127,1,0,0,0,4127,4134,1,0,0,0,4128,4130,7,41,0,0,4129,4131,3,280,140,0,4130,4129,1,0,0,0,4131,4132,1,0,0,0,4132,4130,1,0,0,0,4132,4133,1,0,0,0,4133,4135,1,0,0,0,4134,4128,1,0,0,0,4134,4135,1,0,0,0,4135,4142,1,0,0,0,4136,4138,5,101,0,0,4137,4139,3,282,141,0,4138,4137,1,0,0,0,4139,4140,1,0,0,0,4140,4138,1,0,0,0,4140,4141,1,0,0,0,4141,4143,1,0,0,0,4142,4136,1,0,0,0,4142,4143,1,0,0,0,4143,4145,1,0,0,0,4144,4108,1,0,0,0,4144,4117,1,0,0,0,4144,4120,1,0,0,0,4145,279,1,0,0,0,4146,4147,5,173,0,0,4147,4148,5,19,0,0,4148,4159,5,1148,0,0,4149,4151,5,122,0,0,4150,4149,1,0,0,0,4150,4151,1,0,0,0,4151,4152,1,0,0,0,4152,4153,5,56,0,0,4153,4154,5,19,0,0,4154,4159,5,1148,0,0,4155,4156,5,58,0,0,4156,4157,5,19,0,0,4157,4159,5,1148,0,0,4158,4146,1,0,0,0,4158,4150,1,0,0,0,4158,4155,1,0,0,0,4159,281,1,0,0,0,4160,4161,5,169,0,0,4161,4162,5,19,0,0,4162,4167,5,1148,0,0,4163,4164,5,173,0,0,4164,4165,5,19,0,0,4165,4167,5,1148,0,0,4166,4160,1,0,0,0,4166,4163,1,0,0,0,4167,283,1,0,0,0,4168,4169,5,68,0,0,4169,4171,3,232,116,0,4170,4168,1,0,0,0,4170,4171,1,0,0,0,4171,4174,1,0,0,0,4172,4173,5,190,0,0,4173,4175,3,716,358,0,4174,4172,1,0,0,0,4174,4175,1,0,0,0,4175,285,1,0,0,0,4176,4177,5,73,0,0,4177,4178,5,19,0,0,4178,4183,3,292,146,0,4179,4180,5,1135,0,0,4180,4182,3,292,146,0,4181,4179,1,0,0,0,4182,4185,1,0,0,0,4183,4181,1,0,0,0,4183,4184,1,0,0,0,4184,4188,1,0,0,0,4185,4183,1,0,0,0,4186,4187,5,192,0,0,4187,4189,5,598,0,0,4188,4186,1,0,0,0,4188,4189,1,0,0,0,4189,287,1,0,0,0,4190,4191,5,74,0,0,4191,4192,3,716,358,0,4192,289,1,0,0,0,4193,4194,5,676,0,0,4194,4195,3,694,347,0,4195,4196,5,12,0,0,4196,4197,5,1133,0,0,4197,4198,3,692,346,0,4198,4208,5,1134,0,0,4199,4200,5,1135,0,0,4200,4201,3,694,347,0,4201,4202,5,12,0,0,4202,4203,5,1133,0,0,4203,4204,3,692,346,0,4204,4205,5,1134,0,0,4205,4207,1,0,0,0,4206,4199,1,0,0,0,4207,4210,1,0,0,0,4208,4206,1,0,0,0,4208,4209,1,0,0,0,4209,291,1,0,0,0,4210,4208,1,0,0,0,4211,4213,3,716,358,0,4212,4214,7,48,0,0,4213,4212,1,0,0,0,4213,4214,1,0,0,0,4214,293,1,0,0,0,4215,4226,5,99,0,0,4216,4217,3,296,148,0,4217,4218,5,1135,0,0,4218,4220,1,0,0,0,4219,4216,1,0,0,0,4219,4220,1,0,0,0,4220,4221,1,0,0,0,4221,4227,3,296,148,0,4222,4223,3,296,148,0,4223,4224,5,532,0,0,4224,4225,3,296,148,0,4225,4227,1,0,0,0,4226,4219,1,0,0,0,4226,4222,1,0,0,0,4227,295,1,0,0,0,4228,4232,3,618,309,0,4229,4232,3,594,297,0,4230,4232,3,614,307,0,4231,4228,1,0,0,0,4231,4229,1,0,0,0,4231,4230,1,0,0,0,4232,297,1,0,0,0,4233,4234,5,629,0,0,4234,4243,5,653,0,0,4235,4240,3,320,160,0,4236,4237,5,1135,0,0,4237,4239,3,320,160,0,4238,4236,1,0,0,0,4239,4242,1,0,0,0,4240,4238,1,0,0,0,4240,4241,1,0,0,0,4241,4244,1,0,0,0,4242,4240,1,0,0,0,4243,4235,1,0,0,0,4243,4244,1,0,0,0,4244,299,1,0,0,0,4245,4247,5,344,0,0,4246,4248,5,678,0,0,4247,4246,1,0,0,0,4247,4248,1,0,0,0,4248,301,1,0,0,0,4249,4251,5,369,0,0,4250,4252,5,678,0,0,4251,4250,1,0,0,0,4251,4252,1,0,0,0,4252,4258,1,0,0,0,4253,4255,5,10,0,0,4254,4256,5,521,0,0,4255,4254,1,0,0,0,4255,4256,1,0,0,0,4256,4257,1,0,0,0,4257,4259,5,353,0,0,4258,4253,1,0,0,0,4258,4259,1,0,0,0,4259,4264,1,0,0,0,4260,4262,5,521,0,0,4261,4260,1,0,0,0,4261,4262,1,0,0,0,4262,4263,1,0,0,0,4263,4265,5,138,0,0,4264,4261,1,0,0,0,4264,4265,1,0,0,0,4265,303,1,0,0,0,4266,4268,5,597,0,0,4267,4269,5,678,0,0,4268,4267,1,0,0,0,4268,4269,1,0,0,0,4269,4275,1,0,0,0,4270,4272,5,10,0,0,4271,4273,5,521,0,0,4272,4271,1,0,0,0,4272,4273,1,0,0,0,4273,4274,1,0,0,0,4274,4276,5,353,0,0,4275,4270,1,0,0,0,4275,4276,1,0,0,0,4276,4281,1,0,0,0,4277,4279,5,521,0,0,4278,4277,1,0,0,0,4278,4279,1,0,0,0,4279,4280,1,0,0,0,4280,4282,5,138,0,0,4281,4278,1,0,0,0,4281,4282,1,0,0,0,4282,305,1,0,0,0,4283,4284,5,604,0,0,4284,4285,3,612,306,0,4285,307,1,0,0,0,4286,4288,5,597,0,0,4287,4289,5,678,0,0,4288,4287,1,0,0,0,4288,4289,1,0,0,0,4289,4290,1,0,0,0,4290,4292,5,175,0,0,4291,4293,5,604,0,0,4292,4291,1,0,0,0,4292,4293,1,0,0,0,4293,4294,1,0,0,0,4294,4295,3,612,306,0,4295,309,1,0,0,0,4296,4297,5,138,0,0,4297,4298,5,604,0,0,4298,4299,3,612,306,0,4299,311,1,0,0,0,4300,4301,5,103,0,0,4301,4302,7,54,0,0,4302,4307,3,322,161,0,4303,4304,5,1135,0,0,4304,4306,3,322,161,0,4305,4303,1,0,0,0,4306,4309,1,0,0,0,4307,4305,1,0,0,0,4307,4308,1,0,0,0,4308,4311,1,0,0,0,4309,4307,1,0,0,0,4310,4312,3,674,337,0,4311,4310,1,0,0,0,4311,4312,1,0,0,0,4312,313,1,0,0,0,4313,4314,5,182,0,0,4314,4315,5,742,0,0,4315,315,1,0,0,0,4316,4317,5,153,0,0,4317,4318,5,340,0,0,4318,4319,5,1124,0,0,4319,4320,7,24,0,0,4320,317,1,0,0,0,4321,4323,5,153,0,0,4322,4324,7,55,0,0,4323,4322,1,0,0,0,4323,4324,1,0,0,0,4324,4325,1,0,0,0,4325,4326,5,653,0,0,4326,4331,3,326,163,0,4327,4328,5,1135,0,0,4328,4330,3,326,163,0,4329,4327,1,0,0,0,4330,4333,1,0,0,0,4331,4329,1,0,0,0,4331,4332,1,0,0,0,4332,319,1,0,0,0,4333,4331,1,0,0,0,4334,4335,5,192,0,0,4335,4336,5,377,0,0,4336,4342,5,616,0,0,4337,4338,5,134,0,0,4338,4342,5,193,0,0,4339,4340,5,134,0,0,4340,4342,5,538,0,0,4341,4334,1,0,0,0,4341,4337,1,0,0,0,4341,4339,1,0,0,0,4342,321,1,0,0,0,4343,4348,3,554,277,0,4344,4346,5,12,0,0,4345,4344,1,0,0,0,4345,4346,1,0,0,0,4346,4347,1,0,0,0,4347,4349,3,612,306,0,4348,4345,1,0,0,0,4348,4349,1,0,0,0,4349,4350,1,0,0,0,4350,4351,3,324,162,0,4351,323,1,0,0,0,4352,4354,5,134,0,0,4353,4355,5,474,0,0,4354,4353,1,0,0,0,4354,4355,1,0,0,0,4355,4361,1,0,0,0,4356,4358,5,106,0,0,4357,4356,1,0,0,0,4357,4358,1,0,0,0,4358,4359,1,0,0,0,4359,4361,5,193,0,0,4360,4352,1,0,0,0,4360,4357,1,0,0,0,4361,325,1,0,0,0,4362,4363,5,464,0,0,4363,4364,5,472,0,0,4364,4370,3,328,164,0,4365,4366,5,134,0,0,4366,4370,5,193,0,0,4367,4368,5,134,0,0,4368,4370,5,538,0,0,4369,4362,1,0,0,0,4369,4365,1,0,0,0,4369,4367,1,0,0,0,4370,327,1,0,0,0,4371,4372,5,799,0,0,4372,4379,5,134,0,0,4373,4374,5,134,0,0,4374,4379,5,800,0,0,4375,4376,5,134,0,0,4376,4379,5,801,0,0,4377,4379,5,802,0,0,4378,4371,1,0,0,0,4378,4373,1,0,0,0,4378,4375,1,0,0,0,4378,4377,1,0,0,0,4379,329,1,0,0,0,4380,4381,5,24,0,0,4381,4382,5,477,0,0,4382,4383,5,175,0,0,4383,4388,3,348,174,0,4384,4385,5,1135,0,0,4385,4387,3,348,174,0,4386,4384,1,0,0,0,4387,4390,1,0,0,0,4388,4386,1,0,0,0,4388,4389,1,0,0,0,4389,4392,1,0,0,0,4390,4388,1,0,0,0,4391,4393,3,356,178,0,4392,4391,1,0,0,0,4392,4393,1,0,0,0,4393,331,1,0,0,0,4394,4395,5,24,0,0,4395,4396,5,588,0,0,4396,4397,5,429,0,0,4397,4402,3,358,179,0,4398,4399,5,1135,0,0,4399,4401,3,358,179,0,4400,4398,1,0,0,0,4401,4404,1,0,0,0,4402,4400,1,0,0,0,4402,4403,1,0,0,0,4403,333,1,0,0,0,4404,4402,1,0,0,0,4405,4406,5,132,0,0,4406,4407,7,56,0,0,4407,4412,5,476,0,0,4408,4409,5,175,0,0,4409,4413,5,1148,0,0,4410,4411,5,15,0,0,4411,4413,5,1148,0,0,4412,4408,1,0,0,0,4412,4410,1,0,0,0,4413,335,1,0,0,0,4414,4415,5,589,0,0,4415,4416,5,477,0,0,4416,337,1,0,0,0,4417,4418,5,589,0,0,4418,4420,5,614,0,0,4419,4421,5,6,0,0,4420,4419,1,0,0,0,4420,4421,1,0,0,0,4421,4423,1,0,0,0,4422,4424,3,356,178,0,4423,4422,1,0,0,0,4423,4424,1,0,0,0,4424,339,1,0,0,0,4425,4426,5,629,0,0,4426,4435,5,614,0,0,4427,4432,3,362,181,0,4428,4429,5,1135,0,0,4429,4431,3,362,181,0,4430,4428,1,0,0,0,4431,4434,1,0,0,0,4432,4430,1,0,0,0,4432,4433,1,0,0,0,4433,4436,1,0,0,0,4434,4432,1,0,0,0,4435,4427,1,0,0,0,4435,4436,1,0,0,0,4436,4439,1,0,0,0,4437,4438,5,663,0,0,4438,4440,3,364,182,0,4439,4437,1,0,0,0,4439,4440,1,0,0,0,4440,4444,1,0,0,0,4441,4443,3,366,183,0,4442,4441,1,0,0,0,4443,4446,1,0,0,0,4444,4442,1,0,0,0,4444,4445,1,0,0,0,4445,4448,1,0,0,0,4446,4444,1,0,0,0,4447,4449,3,356,178,0,4448,4447,1,0,0,0,4448,4449,1,0,0,0,4449,341,1,0,0,0,4450,4451,5,635,0,0,4451,4460,5,614,0,0,4452,4457,3,362,181,0,4453,4454,5,1135,0,0,4454,4456,3,362,181,0,4455,4453,1,0,0,0,4456,4459,1,0,0,0,4457,4455,1,0,0,0,4457,4458,1,0,0,0,4458,4461,1,0,0,0,4459,4457,1,0,0,0,4460,4452,1,0,0,0,4460,4461,1,0,0,0,4461,343,1,0,0,0,4462,4463,5,629,0,0,4463,4464,5,441,0,0,4464,345,1,0,0,0,4465,4466,5,635,0,0,4466,4467,5,441,0,0,4467,347,1,0,0,0,4468,4469,3,350,175,0,4469,4470,5,1124,0,0,4470,4471,5,1148,0,0,4471,4498,1,0,0,0,4472,4473,3,352,176,0,4473,4474,5,1124,0,0,4474,4475,3,618,309,0,4475,4498,1,0,0,0,4476,4477,3,354,177,0,4477,4478,5,1124,0,0,4478,4479,7,24,0,0,4479,4498,1,0,0,0,4480,4481,5,481,0,0,4481,4482,5,1124,0,0,4482,4498,5,1151,0,0,4483,4484,5,449,0,0,4484,4485,5,1124,0,0,4485,4494,5,1133,0,0,4486,4491,3,612,306,0,4487,4488,5,1135,0,0,4488,4490,3,612,306,0,4489,4487,1,0,0,0,4490,4493,1,0,0,0,4491,4489,1,0,0,0,4491,4492,1,0,0,0,4492,4495,1,0,0,0,4493,4491,1,0,0,0,4494,4486,1,0,0,0,4494,4495,1,0,0,0,4495,4496,1,0,0,0,4496,4498,5,1134,0,0,4497,4468,1,0,0,0,4497,4472,1,0,0,0,4497,4476,1,0,0,0,4497,4480,1,0,0,0,4497,4483,1,0,0,0,4498,349,1,0,0,0,4499,4500,7,57,0,0,4500,351,1,0,0,0,4501,4502,7,58,0,0,4502,353,1,0,0,0,4503,4504,7,59,0,0,4504,355,1,0,0,0,4505,4506,5,65,0,0,4506,4507,5,355,0,0,4507,4508,5,1148,0,0,4508,357,1,0,0,0,4509,4510,5,581,0,0,4510,4511,5,1124,0,0,4511,4512,5,1133,0,0,4512,4513,3,644,322,0,4513,4514,5,1134,0,0,4514,4559,1,0,0,0,4515,4516,5,583,0,0,4516,4517,5,1124,0,0,4517,4518,5,1133,0,0,4518,4519,3,644,322,0,4519,4520,5,1134,0,0,4520,4559,1,0,0,0,4521,4522,5,582,0,0,4522,4523,5,1124,0,0,4523,4524,5,1133,0,0,4524,4525,3,648,324,0,4525,4526,5,1134,0,0,4526,4559,1,0,0,0,4527,4528,5,584,0,0,4528,4529,5,1124,0,0,4529,4530,5,1133,0,0,4530,4531,3,648,324,0,4531,4532,5,1134,0,0,4532,4559,1,0,0,0,4533,4534,5,586,0,0,4534,4535,5,1124,0,0,4535,4536,5,1133,0,0,4536,4537,3,658,329,0,4537,4538,5,1134,0,0,4538,4559,1,0,0,0,4539,4540,5,587,0,0,4540,4541,5,1124,0,0,4541,4542,5,1133,0,0,4542,4543,3,658,329,0,4543,4544,5,1134,0,0,4544,4559,1,0,0,0,4545,4546,5,585,0,0,4546,4547,5,1124,0,0,4547,4548,5,1133,0,0,4548,4553,3,360,180,0,4549,4550,5,1135,0,0,4550,4552,3,360,180,0,4551,4549,1,0,0,0,4552,4555,1,0,0,0,4553,4551,1,0,0,0,4553,4554,1,0,0,0,4554,4556,1,0,0,0,4555,4553,1,0,0,0,4556,4557,5,1134,0,0,4557,4559,1,0,0,0,4558,4509,1,0,0,0,4558,4515,1,0,0,0,4558,4521,1,0,0,0,4558,4527,1,0,0,0,4558,4533,1,0,0,0,4558,4539,1,0,0,0,4558,4545,1,0,0,0,4559,359,1,0,0,0,4560,4561,5,1133,0,0,4561,4562,3,554,277,0,4562,4563,5,1135,0,0,4563,4564,3,554,277,0,4564,4565,5,1134,0,0,4565,361,1,0,0,0,4566,4567,7,60,0,0,4567,363,1,0,0,0,4568,4569,7,61,0,0,4569,4570,5,1124,0,0,4570,4587,3,368,184,0,4571,4572,5,483,0,0,4572,4573,5,1124,0,0,4573,4574,5,1148,0,0,4574,4575,5,1135,0,0,4575,4576,5,484,0,0,4576,4577,5,1124,0,0,4577,4587,3,618,309,0,4578,4579,5,575,0,0,4579,4580,5,1124,0,0,4580,4581,5,1148,0,0,4581,4582,5,1135,0,0,4582,4583,5,576,0,0,4583,4584,5,1124,0,0,4584,4587,3,618,309,0,4585,4587,5,623,0,0,4586,4568,1,0,0,0,4586,4571,1,0,0,0,4586,4578,1,0,0,0,4586,4585,1,0,0,0,4587,365,1,0,0,0,4588,4589,5,665,0,0,4589,4590,5,1124,0,0,4590,4601,5,1148,0,0,4591,4592,5,551,0,0,4592,4593,5,1124,0,0,4593,4601,5,1148,0,0,4594,4595,5,391,0,0,4595,4596,5,1124,0,0,4596,4601,5,1148,0,0,4597,4598,5,555,0,0,4598,4599,5,1124,0,0,4599,4601,5,1148,0,0,4600,4588,1,0,0,0,4600,4591,1,0,0,0,4600,4594,1,0,0,0,4600,4597,1,0,0,0,4601,367,1,0,0,0,4602,4607,3,604,302,0,4603,4604,5,1135,0,0,4604,4606,3,604,302,0,4605,4603,1,0,0,0,4606,4609,1,0,0,0,4607,4605,1,0,0,0,4607,4608,1,0,0,0,4608,4612,1,0,0,0,4609,4607,1,0,0,0,4610,4612,5,1148,0,0,4611,4602,1,0,0,0,4611,4610,1,0,0,0,4612,369,1,0,0,0,4613,4614,5,681,0,0,4614,4615,7,62,0,0,4615,4617,3,606,303,0,4616,4618,7,63,0,0,4617,4616,1,0,0,0,4617,4618,1,0,0,0,4618,371,1,0,0,0,4619,4620,5,681,0,0,4620,4621,5,407,0,0,4621,4627,3,606,303,0,4622,4625,5,643,0,0,4623,4624,5,65,0,0,4624,4626,5,509,0,0,4625,4623,1,0,0,0,4625,4626,1,0,0,0,4626,4628,1,0,0,0,4627,4622,1,0,0,0,4627,4628,1,0,0,0,4628,373,1,0,0,0,4629,4630,5,681,0,0,4630,4631,5,560,0,0,4631,4632,3,606,303,0,4632,375,1,0,0,0,4633,4634,5,681,0,0,4634,4635,5,369,0,0,4635,4638,3,606,303,0,4636,4637,5,536,0,0,4637,4639,5,553,0,0,4638,4636,1,0,0,0,4638,4639,1,0,0,0,4639,377,1,0,0,0,4640,4641,5,681,0,0,4641,4642,5,597,0,0,4642,4643,3,606,303,0,4643,379,1,0,0,0,4644,4645,5,681,0,0,4645,4648,5,570,0,0,4646,4647,5,32,0,0,4647,4649,3,606,303,0,4648,4646,1,0,0,0,4648,4649,1,0,0,0,4649,381,1,0,0,0,4650,4651,5,560,0,0,4651,4652,3,612,306,0,4652,4655,5,68,0,0,4653,4656,5,1148,0,0,4654,4656,5,1159,0,0,4655,4653,1,0,0,0,4655,4654,1,0,0,0,4656,383,1,0,0,0,4657,4658,5,708,0,0,4658,4661,3,612,306,0,4659,4660,5,187,0,0,4660,4662,3,660,330,0,4661,4659,1,0,0,0,4661,4662,1,0,0,0,4662,385,1,0,0,0,4663,4664,7,64,0,0,4664,4665,5,560,0,0,4665,4666,3,612,306,0,4666,387,1,0,0,0,4667,4670,3,390,195,0,4668,4670,3,4,2,0,4669,4667,1,0,0,0,4669,4668,1,0,0,0,4670,389,1,0,0,0,4671,4672,3,612,306,0,4672,4673,5,1144,0,0,4673,4675,1,0,0,0,4674,4671,1,0,0,0,4674,4675,1,0,0,0,4675,4676,1,0,0,0,4676,4682,5,344,0,0,4677,4678,3,410,205,0,4678,4679,5,1136,0,0,4679,4681,1,0,0,0,4680,4677,1,0,0,0,4681,4684,1,0,0,0,4682,4680,1,0,0,0,4682,4683,1,0,0,0,4683,4690,1,0,0,0,4684,4682,1,0,0,0,4685,4686,3,412,206,0,4686,4687,5,1136,0,0,4687,4689,1,0,0,0,4688,4685,1,0,0,0,4689,4692,1,0,0,0,4690,4688,1,0,0,0,4690,4691,1,0,0,0,4691,4698,1,0,0,0,4692,4690,1,0,0,0,4693,4694,3,414,207,0,4694,4695,5,1136,0,0,4695,4697,1,0,0,0,4696,4693,1,0,0,0,4697,4700,1,0,0,0,4698,4696,1,0,0,0,4698,4699,1,0,0,0,4699,4706,1,0,0,0,4700,4698,1,0,0,0,4701,4702,3,416,208,0,4702,4703,5,1136,0,0,4703,4705,1,0,0,0,4704,4701,1,0,0,0,4705,4708,1,0,0,0,4706,4704,1,0,0,0,4706,4707,1,0,0,0,4707,4712,1,0,0,0,4708,4706,1,0,0,0,4709,4711,3,420,210,0,4710,4709,1,0,0,0,4711,4714,1,0,0,0,4712,4710,1,0,0,0,4712,4713,1,0,0,0,4713,4715,1,0,0,0,4714,4712,1,0,0,0,4715,4717,5,407,0,0,4716,4718,3,612,306,0,4717,4716,1,0,0,0,4717,4718,1,0,0,0,4718,391,1,0,0,0,4719,4722,5,22,0,0,4720,4723,3,612,306,0,4721,4723,3,716,358,0,4722,4720,1,0,0,0,4722,4721,1,0,0,0,4722,4723,1,0,0,0,4723,4725,1,0,0,0,4724,4726,3,422,211,0,4725,4724,1,0,0,0,4726,4727,1,0,0,0,4727,4725,1,0,0,0,4727,4728,1,0,0,0,4728,4735,1,0,0,0,4729,4731,5,53,0,0,4730,4732,3,420,210,0,4731,4730,1,0,0,0,4732,4733,1,0,0,0,4733,4731,1,0,0,0,4733,4734,1,0,0,0,4734,4736,1,0,0,0,4735,4729,1,0,0,0,4735,4736,1,0,0,0,4736,4737,1,0,0,0,4737,4738,5,407,0,0,4738,4739,5,22,0,0,4739,393,1,0,0,0,4740,4741,5,77,0,0,4741,4742,3,716,358,0,4742,4744,5,174,0,0,4743,4745,3,420,210,0,4744,4743,1,0,0,0,4745,4746,1,0,0,0,4746,4744,1,0,0,0,4746,4747,1,0,0,0,4747,4751,1,0,0,0,4748,4750,3,424,212,0,4749,4748,1,0,0,0,4750,4753,1,0,0,0,4751,4749,1,0,0,0,4751,4752,1,0,0,0,4752,4760,1,0,0,0,4753,4751,1,0,0,0,4754,4756,5,53,0,0,4755,4757,3,420,210,0,4756,4755,1,0,0,0,4757,4758,1,0,0,0,4758,4756,1,0,0,0,4758,4759,1,0,0,0,4759,4761,1,0,0,0,4760,4754,1,0,0,0,4760,4761,1,0,0,0,4761,4762,1,0,0,0,4762,4763,5,407,0,0,4763,4764,5,77,0,0,4764,395,1,0,0,0,4765,4766,5,89,0,0,4766,4767,3,612,306,0,4767,397,1,0,0,0,4768,4769,5,96,0,0,4769,4770,3,612,306,0,4770,399,1,0,0,0,4771,4772,3,612,306,0,4772,4773,5,1144,0,0,4773,4775,1,0,0,0,4774,4771,1,0,0,0,4774,4775,1,0,0,0,4775,4776,1,0,0,0,4776,4778,5,105,0,0,4777,4779,3,420,210,0,4778,4777,1,0,0,0,4779,4780,1,0,0,0,4780,4778,1,0,0,0,4780,4781,1,0,0,0,4781,4782,1,0,0,0,4782,4783,5,407,0,0,4783,4785,5,105,0,0,4784,4786,3,612,306,0,4785,4784,1,0,0,0,4785,4786,1,0,0,0,4786,401,1,0,0,0,4787,4788,3,612,306,0,4788,4789,5,1144,0,0,4789,4791,1,0,0,0,4790,4787,1,0,0,0,4790,4791,1,0,0,0,4791,4792,1,0,0,0,4792,4794,5,140,0,0,4793,4795,3,420,210,0,4794,4793,1,0,0,0,4795,4796,1,0,0,0,4796,4794,1,0,0,0,4796,4797,1,0,0,0,4797,4798,1,0,0,0,4798,4799,5,663,0,0,4799,4800,3,716,358,0,4800,4801,5,407,0,0,4801,4803,5,140,0,0,4802,4804,3,612,306,0,4803,4802,1,0,0,0,4803,4804,1,0,0,0,4804,403,1,0,0,0,4805,4806,5,146,0,0,4806,4807,3,716,358,0,4807,405,1,0,0,0,4808,4809,3,612,306,0,4809,4810,5,1144,0,0,4810,4812,1,0,0,0,4811,4808,1,0,0,0,4811,4812,1,0,0,0,4812,4813,1,0,0,0,4813,4814,5,191,0,0,4814,4815,3,716,358,0,4815,4817,5,399,0,0,4816,4818,3,420,210,0,4817,4816,1,0,0,0,4818,4819,1,0,0,0,4819,4817,1,0,0,0,4819,4820,1,0,0,0,4820,4821,1,0,0,0,4821,4822,5,407,0,0,4822,4824,5,191,0,0,4823,4825,3,612,306,0,4824,4823,1,0,0,0,4824,4825,1,0,0,0,4825,407,1,0,0,0,4826,4827,5,361,0,0,4827,4842,3,612,306,0,4828,4833,5,64,0,0,4829,4831,5,520,0,0,4830,4829,1,0,0,0,4830,4831,1,0,0,0,4831,4832,1,0,0,0,4832,4834,5,68,0,0,4833,4830,1,0,0,0,4833,4834,1,0,0,0,4834,4835,1,0,0,0,4835,4836,3,612,306,0,4836,4837,5,87,0,0,4837,4838,3,644,322,0,4838,4842,1,0,0,0,4839,4840,5,539,0,0,4840,4842,3,612,306,0,4841,4826,1,0,0,0,4841,4828,1,0,0,0,4841,4839,1,0,0,0,4842,409,1,0,0,0,4843,4844,5,41,0,0,4844,4845,3,644,322,0,4845,4848,3,632,316,0,4846,4847,5,42,0,0,4847,4849,3,716,358,0,4848,4846,1,0,0,0,4848,4849,1,0,0,0,4849,411,1,0,0,0,4850,4851,5,41,0,0,4851,4852,3,612,306,0,4852,4853,5,29,0,0,4853,4860,5,65,0,0,4854,4861,3,618,309,0,4855,4857,5,162,0,0,4856,4858,5,669,0,0,4857,4856,1,0,0,0,4857,4858,1,0,0,0,4858,4859,1,0,0,0,4859,4861,5,1148,0,0,4860,4854,1,0,0,0,4860,4855,1,0,0,0,4861,413,1,0,0,0,4862,4863,5,41,0,0,4863,4864,3,612,306,0,4864,4865,5,38,0,0,4865,4866,5,65,0,0,4866,4867,3,198,99,0,4867,415,1,0,0,0,4868,4869,5,41,0,0,4869,4870,7,65,0,0,4870,4871,5,442,0,0,4871,4872,5,65,0,0,4872,4877,3,418,209,0,4873,4874,5,1135,0,0,4874,4876,3,418,209,0,4875,4873,1,0,0,0,4876,4879,1,0,0,0,4877,4875,1,0,0,0,4877,4878,1,0,0,0,4878,4880,1,0,0,0,4879,4877,1,0,0,0,4880,4881,3,388,194,0,4881,417,1,0,0,0,4882,4894,3,618,309,0,4883,4885,5,162,0,0,4884,4886,5,669,0,0,4885,4884,1,0,0,0,4885,4886,1,0,0,0,4886,4887,1,0,0,0,4887,4894,5,1148,0,0,4888,4894,3,612,306,0,4889,4894,5,163,0,0,4890,4891,5,114,0,0,4891,4894,5,435,0,0,4892,4894,5,161,0,0,4893,4882,1,0,0,0,4893,4883,1,0,0,0,4893,4888,1,0,0,0,4893,4889,1,0,0,0,4893,4890,1,0,0,0,4893,4892,1,0,0,0,4894,419,1,0,0,0,4895,4898,3,16,8,0,4896,4898,3,4,2,0,4897,4895,1,0,0,0,4897,4896,1,0,0,0,4898,4899,1,0,0,0,4899,4900,5,1136,0,0,4900,421,1,0,0,0,4901,4904,5,189,0,0,4902,4905,3,630,315,0,4903,4905,3,716,358,0,4904,4902,1,0,0,0,4904,4903,1,0,0,0,4905,4906,1,0,0,0,4906,4908,5,174,0,0,4907,4909,3,420,210,0,4908,4907,1,0,0,0,4909,4910,1,0,0,0,4910,4908,1,0,0,0,4910,4911,1,0,0,0,4911,423,1,0,0,0,4912,4913,5,54,0,0,4913,4914,3,716,358,0,4914,4916,5,174,0,0,4915,4917,3,420,210,0,4916,4915,1,0,0,0,4917,4918,1,0,0,0,4918,4916,1,0,0,0,4918,4919,1,0,0,0,4919,425,1,0,0,0,4920,4921,5,7,0,0,4921,4922,5,665,0,0,4922,4927,3,446,223,0,4923,4924,5,1135,0,0,4924,4926,3,446,223,0,4925,4923,1,0,0,0,4926,4929,1,0,0,0,4927,4925,1,0,0,0,4927,4928,1,0,0,0,4928,4984,1,0,0,0,4929,4927,1,0,0,0,4930,4931,5,7,0,0,4931,4933,5,665,0,0,4932,4934,3,668,334,0,4933,4932,1,0,0,0,4933,4934,1,0,0,0,4934,4935,1,0,0,0,4935,4950,3,448,224,0,4936,4948,5,142,0,0,4937,4949,5,529,0,0,4938,4945,3,456,228,0,4939,4941,5,10,0,0,4940,4939,1,0,0,0,4940,4941,1,0,0,0,4941,4942,1,0,0,0,4942,4944,3,456,228,0,4943,4940,1,0,0,0,4944,4947,1,0,0,0,4945,4943,1,0,0,0,4945,4946,1,0,0,0,4946,4949,1,0,0,0,4947,4945,1,0,0,0,4948,4937,1,0,0,0,4948,4938,1,0,0,0,4949,4951,1,0,0,0,4950,4936,1,0,0,0,4950,4951,1,0,0,0,4951,4958,1,0,0,0,4952,4954,5,192,0,0,4953,4955,3,458,229,0,4954,4953,1,0,0,0,4955,4956,1,0,0,0,4956,4954,1,0,0,0,4956,4957,1,0,0,0,4957,4959,1,0,0,0,4958,4952,1,0,0,0,4958,4959,1,0,0,0,4959,4964,1,0,0,0,4960,4963,3,460,230,0,4961,4963,3,462,231,0,4962,4960,1,0,0,0,4962,4961,1,0,0,0,4963,4966,1,0,0,0,4964,4962,1,0,0,0,4964,4965,1,0,0,0,4965,4971,1,0,0,0,4966,4964,1,0,0,0,4967,4968,5,368,0,0,4968,4972,5,1148,0,0,4969,4970,5,14,0,0,4970,4972,5,1148,0,0,4971,4967,1,0,0,0,4971,4969,1,0,0,0,4971,4972,1,0,0,0,4972,4984,1,0,0,0,4973,4974,5,7,0,0,4974,4976,5,665,0,0,4975,4977,3,668,334,0,4976,4975,1,0,0,0,4976,4977,1,0,0,0,4977,4978,1,0,0,0,4978,4979,3,592,296,0,4979,4980,5,42,0,0,4980,4981,5,596,0,0,4981,4982,3,434,217,0,4982,4984,1,0,0,0,4983,4920,1,0,0,0,4983,4930,1,0,0,0,4983,4973,1,0,0,0,4984,427,1,0,0,0,4985,4986,5,33,0,0,4986,4987,5,665,0,0,4987,5037,3,448,224,0,4988,4989,5,33,0,0,4989,4991,5,665,0,0,4990,4992,3,670,335,0,4991,4990,1,0,0,0,4991,4992,1,0,0,0,4992,4993,1,0,0,0,4993,4997,3,448,224,0,4994,4995,5,42,0,0,4995,4996,5,596,0,0,4996,4998,3,434,217,0,4997,4994,1,0,0,0,4997,4998,1,0,0,0,4998,5013,1,0,0,0,4999,5011,5,142,0,0,5e3,5012,5,529,0,0,5001,5008,3,456,228,0,5002,5004,5,10,0,0,5003,5002,1,0,0,0,5003,5004,1,0,0,0,5004,5005,1,0,0,0,5005,5007,3,456,228,0,5006,5003,1,0,0,0,5007,5010,1,0,0,0,5008,5006,1,0,0,0,5008,5009,1,0,0,0,5009,5012,1,0,0,0,5010,5008,1,0,0,0,5011,5e3,1,0,0,0,5011,5001,1,0,0,0,5012,5014,1,0,0,0,5013,4999,1,0,0,0,5013,5014,1,0,0,0,5014,5021,1,0,0,0,5015,5017,5,192,0,0,5016,5018,3,458,229,0,5017,5016,1,0,0,0,5018,5019,1,0,0,0,5019,5017,1,0,0,0,5019,5020,1,0,0,0,5020,5022,1,0,0,0,5021,5015,1,0,0,0,5021,5022,1,0,0,0,5022,5027,1,0,0,0,5023,5026,3,460,230,0,5024,5026,3,462,231,0,5025,5023,1,0,0,0,5025,5024,1,0,0,0,5026,5029,1,0,0,0,5027,5025,1,0,0,0,5027,5028,1,0,0,0,5028,5034,1,0,0,0,5029,5027,1,0,0,0,5030,5031,5,368,0,0,5031,5035,5,1148,0,0,5032,5033,5,14,0,0,5033,5035,5,1148,0,0,5034,5030,1,0,0,0,5034,5032,1,0,0,0,5034,5035,1,0,0,0,5035,5037,1,0,0,0,5036,4985,1,0,0,0,5036,4988,1,0,0,0,5037,429,1,0,0,0,5038,5039,5,51,0,0,5039,5041,5,665,0,0,5040,5042,3,668,334,0,5041,5040,1,0,0,0,5041,5042,1,0,0,0,5042,5043,1,0,0,0,5043,5044,3,588,294,0,5044,431,1,0,0,0,5045,5046,5,72,0,0,5046,5051,3,464,232,0,5047,5048,5,1135,0,0,5048,5050,3,464,232,0,5049,5047,1,0,0,0,5050,5053,1,0,0,0,5051,5049,1,0,0,0,5051,5052,1,0,0,0,5052,5054,1,0,0,0,5053,5051,1,0,0,0,5054,5056,5,118,0,0,5055,5057,7,66,0,0,5056,5055,1,0,0,0,5056,5057,1,0,0,0,5057,5058,1,0,0,0,5058,5059,3,468,234,0,5059,5060,5,175,0,0,5060,5075,3,560,280,0,5061,5073,5,142,0,0,5062,5074,5,529,0,0,5063,5070,3,456,228,0,5064,5066,5,10,0,0,5065,5064,1,0,0,0,5065,5066,1,0,0,0,5066,5067,1,0,0,0,5067,5069,3,456,228,0,5068,5065,1,0,0,0,5069,5072,1,0,0,0,5070,5068,1,0,0,0,5070,5071,1,0,0,0,5071,5074,1,0,0,0,5072,5070,1,0,0,0,5073,5062,1,0,0,0,5073,5063,1,0,0,0,5074,5076,1,0,0,0,5075,5061,1,0,0,0,5075,5076,1,0,0,0,5076,5086,1,0,0,0,5077,5083,5,192,0,0,5078,5079,5,72,0,0,5079,5082,5,120,0,0,5080,5082,3,458,229,0,5081,5078,1,0,0,0,5081,5080,1,0,0,0,5082,5085,1,0,0,0,5083,5081,1,0,0,0,5083,5084,1,0,0,0,5084,5087,1,0,0,0,5085,5083,1,0,0,0,5086,5077,1,0,0,0,5086,5087,1,0,0,0,5087,5094,1,0,0,0,5088,5089,5,12,0,0,5089,5090,3,592,296,0,5090,5091,5,192,0,0,5091,5092,5,596,0,0,5092,5093,3,434,217,0,5093,5095,1,0,0,0,5094,5088,1,0,0,0,5094,5095,1,0,0,0,5095,5106,1,0,0,0,5096,5097,5,72,0,0,5097,5098,3,566,283,0,5098,5099,5,175,0,0,5099,5103,3,560,280,0,5100,5101,5,192,0,0,5101,5102,5,697,0,0,5102,5104,5,120,0,0,5103,5100,1,0,0,0,5103,5104,1,0,0,0,5104,5106,1,0,0,0,5105,5045,1,0,0,0,5105,5096,1,0,0,0,5106,433,1,0,0,0,5107,5116,5,42,0,0,5108,5116,5,529,0,0,5109,5112,5,6,0,0,5110,5111,5,59,0,0,5111,5113,3,566,283,0,5112,5110,1,0,0,0,5112,5113,1,0,0,0,5113,5116,1,0,0,0,5114,5116,3,566,283,0,5115,5107,1,0,0,0,5115,5108,1,0,0,0,5115,5109,1,0,0,0,5115,5114,1,0,0,0,5116,435,1,0,0,0,5117,5118,5,72,0,0,5118,5119,5,566,0,0,5119,5120,5,118,0,0,5120,5121,3,592,296,0,5121,5122,5,175,0,0,5122,5127,3,592,296,0,5123,5124,5,1135,0,0,5124,5126,3,592,296,0,5125,5123,1,0,0,0,5126,5129,1,0,0,0,5127,5125,1,0,0,0,5127,5128,1,0,0,0,5128,5133,1,0,0,0,5129,5127,1,0,0,0,5130,5131,5,192,0,0,5131,5132,5,72,0,0,5132,5134,5,120,0,0,5133,5130,1,0,0,0,5133,5134,1,0,0,0,5134,437,1,0,0,0,5135,5136,5,139,0,0,5136,5137,5,665,0,0,5137,5142,3,470,235,0,5138,5139,5,1135,0,0,5139,5141,3,470,235,0,5140,5138,1,0,0,0,5141,5144,1,0,0,0,5142,5140,1,0,0,0,5142,5143,1,0,0,0,5143,439,1,0,0,0,5144,5142,1,0,0,0,5145,5146,5,147,0,0,5146,5151,3,464,232,0,5147,5148,5,1135,0,0,5148,5150,3,464,232,0,5149,5147,1,0,0,0,5150,5153,1,0,0,0,5151,5149,1,0,0,0,5151,5152,1,0,0,0,5152,5154,1,0,0,0,5153,5151,1,0,0,0,5154,5156,5,118,0,0,5155,5157,7,66,0,0,5156,5155,1,0,0,0,5156,5157,1,0,0,0,5157,5158,1,0,0,0,5158,5159,3,468,234,0,5159,5160,5,68,0,0,5160,5161,3,560,280,0,5161,5182,1,0,0,0,5162,5163,5,147,0,0,5163,5165,5,6,0,0,5164,5166,5,725,0,0,5165,5164,1,0,0,0,5165,5166,1,0,0,0,5166,5167,1,0,0,0,5167,5168,5,1135,0,0,5168,5169,5,72,0,0,5169,5170,5,120,0,0,5170,5171,5,68,0,0,5171,5182,3,560,280,0,5172,5173,5,147,0,0,5173,5174,3,566,283,0,5174,5178,5,68,0,0,5175,5177,3,560,280,0,5176,5175,1,0,0,0,5177,5180,1,0,0,0,5178,5176,1,0,0,0,5178,5179,1,0,0,0,5179,5182,1,0,0,0,5180,5178,1,0,0,0,5181,5145,1,0,0,0,5181,5162,1,0,0,0,5181,5172,1,0,0,0,5182,441,1,0,0,0,5183,5184,5,147,0,0,5184,5185,5,566,0,0,5185,5186,5,118,0,0,5186,5187,3,592,296,0,5187,5188,5,68,0,0,5188,5193,3,592,296,0,5189,5190,5,1135,0,0,5190,5192,3,592,296,0,5191,5189,1,0,0,0,5192,5195,1,0,0,0,5193,5191,1,0,0,0,5193,5194,1,0,0,0,5194,443,1,0,0,0,5195,5193,1,0,0,0,5196,5197,5,153,0,0,5197,5200,5,551,0,0,5198,5199,5,65,0,0,5199,5201,3,592,296,0,5200,5198,1,0,0,0,5200,5201,1,0,0,0,5201,5202,1,0,0,0,5202,5205,5,1124,0,0,5203,5206,3,710,355,0,5204,5206,5,1148,0,0,5205,5203,1,0,0,0,5205,5204,1,0,0,0,5206,445,1,0,0,0,5207,5208,3,592,296,0,5208,5209,3,460,230,0,5209,447,1,0,0,0,5210,5215,3,450,225,0,5211,5212,5,1135,0,0,5212,5214,3,450,225,0,5213,5211,1,0,0,0,5214,5217,1,0,0,0,5215,5213,1,0,0,0,5215,5216,1,0,0,0,5216,449,1,0,0,0,5217,5215,1,0,0,0,5218,5219,3,590,295,0,5219,5220,5,448,0,0,5220,5221,5,19,0,0,5221,5222,5,551,0,0,5222,5223,5,1148,0,0,5223,5244,1,0,0,0,5224,5225,3,590,295,0,5225,5226,5,448,0,0,5226,5227,5,19,0,0,5227,5228,5,991,0,0,5228,5229,5,551,0,0,5229,5230,3,452,226,0,5230,5244,1,0,0,0,5231,5232,3,590,295,0,5232,5233,5,448,0,0,5233,5234,5,19,0,0,5234,5235,5,1148,0,0,5235,5236,3,452,226,0,5236,5244,1,0,0,0,5237,5238,3,590,295,0,5238,5239,5,448,0,0,5239,5240,5,192,0,0,5240,5241,3,454,227,0,5241,5244,1,0,0,0,5242,5244,3,590,295,0,5243,5218,1,0,0,0,5243,5224,1,0,0,0,5243,5231,1,0,0,0,5243,5237,1,0,0,0,5243,5242,1,0,0,0,5244,451,1,0,0,0,5245,5246,5,141,0,0,5246,5248,5,1148,0,0,5247,5245,1,0,0,0,5247,5248,1,0,0,0,5248,5252,1,0,0,0,5249,5250,5,145,0,0,5250,5251,5,35,0,0,5251,5253,5,551,0,0,5252,5249,1,0,0,0,5252,5253,1,0,0,0,5253,453,1,0,0,0,5254,5262,3,610,305,0,5255,5259,7,67,0,0,5256,5260,5,1148,0,0,5257,5258,5,991,0,0,5258,5260,5,551,0,0,5259,5256,1,0,0,0,5259,5257,1,0,0,0,5260,5261,1,0,0,0,5261,5263,3,452,226,0,5262,5255,1,0,0,0,5262,5263,1,0,0,0,5263,5269,1,0,0,0,5264,5265,3,610,305,0,5265,5266,5,187,0,0,5266,5267,3,710,355,0,5267,5269,1,0,0,0,5268,5254,1,0,0,0,5268,5264,1,0,0,0,5269,455,1,0,0,0,5270,5279,5,167,0,0,5271,5279,5,680,0,0,5272,5273,5,358,0,0,5273,5279,5,1148,0,0,5274,5275,5,465,0,0,5275,5279,5,1148,0,0,5276,5277,5,640,0,0,5277,5279,5,1148,0,0,5278,5270,1,0,0,0,5278,5271,1,0,0,0,5278,5272,1,0,0,0,5278,5274,1,0,0,0,5278,5276,1,0,0,0,5279,457,1,0,0,0,5280,5281,5,499,0,0,5281,5289,3,618,309,0,5282,5283,5,502,0,0,5283,5289,3,618,309,0,5284,5285,5,498,0,0,5285,5289,3,618,309,0,5286,5287,5,503,0,0,5287,5289,3,618,309,0,5288,5280,1,0,0,0,5288,5282,1,0,0,0,5288,5284,1,0,0,0,5288,5286,1,0,0,0,5289,459,1,0,0,0,5290,5291,5,551,0,0,5291,5298,5,420,0,0,5292,5299,5,42,0,0,5293,5299,5,519,0,0,5294,5295,5,86,0,0,5295,5296,3,618,309,0,5296,5297,5,691,0,0,5297,5299,1,0,0,0,5298,5292,1,0,0,0,5298,5293,1,0,0,0,5298,5294,1,0,0,0,5298,5299,1,0,0,0,5299,5329,1,0,0,0,5300,5301,5,551,0,0,5301,5304,5,445,0,0,5302,5305,5,42,0,0,5303,5305,3,618,309,0,5304,5302,1,0,0,0,5304,5303,1,0,0,0,5305,5329,1,0,0,0,5306,5307,5,551,0,0,5307,5308,5,595,0,0,5308,5313,5,86,0,0,5309,5314,5,42,0,0,5310,5311,3,618,309,0,5311,5312,5,691,0,0,5312,5314,1,0,0,0,5313,5309,1,0,0,0,5313,5310,1,0,0,0,5314,5329,1,0,0,0,5315,5316,5,551,0,0,5316,5317,5,142,0,0,5317,5319,5,35,0,0,5318,5320,7,68,0,0,5319,5318,1,0,0,0,5319,5320,1,0,0,0,5320,5329,1,0,0,0,5321,5322,5,424,0,0,5322,5329,3,618,309,0,5323,5326,5,552,0,0,5324,5327,3,618,309,0,5325,5327,5,657,0,0,5326,5324,1,0,0,0,5326,5325,1,0,0,0,5327,5329,1,0,0,0,5328,5290,1,0,0,0,5328,5300,1,0,0,0,5328,5306,1,0,0,0,5328,5315,1,0,0,0,5328,5321,1,0,0,0,5328,5323,1,0,0,0,5329,461,1,0,0,0,5330,5331,5,332,0,0,5331,5332,7,69,0,0,5332,463,1,0,0,0,5333,5338,3,466,233,0,5334,5335,5,1133,0,0,5335,5336,3,644,322,0,5336,5337,5,1134,0,0,5337,5339,1,0,0,0,5338,5334,1,0,0,0,5338,5339,1,0,0,0,5339,465,1,0,0,0,5340,5342,5,6,0,0,5341,5343,5,725,0,0,5342,5341,1,0,0,0,5342,5343,1,0,0,0,5343,5434,1,0,0,0,5344,5346,5,7,0,0,5345,5347,5,733,0,0,5346,5345,1,0,0,0,5346,5347,1,0,0,0,5347,5434,1,0,0,0,5348,5356,5,33,0,0,5349,5350,5,649,0,0,5350,5357,5,742,0,0,5351,5357,5,733,0,0,5352,5357,5,671,0,0,5353,5357,5,665,0,0,5354,5357,5,647,0,0,5355,5357,5,596,0,0,5356,5349,1,0,0,0,5356,5351,1,0,0,0,5356,5352,1,0,0,0,5356,5353,1,0,0,0,5356,5354,1,0,0,0,5356,5355,1,0,0,0,5356,5357,1,0,0,0,5357,5434,1,0,0,0,5358,5434,5,44,0,0,5359,5361,5,51,0,0,5360,5362,5,596,0,0,5361,5360,1,0,0,0,5361,5362,1,0,0,0,5362,5434,1,0,0,0,5363,5434,5,415,0,0,5364,5434,5,708,0,0,5365,5434,5,709,0,0,5366,5367,5,72,0,0,5367,5434,5,120,0,0,5368,5434,5,81,0,0,5369,5434,5,85,0,0,5370,5371,5,103,0,0,5371,5434,5,742,0,0,5372,5434,5,726,0,0,5373,5434,5,566,0,0,5374,5434,5,136,0,0,5375,5434,5,727,0,0,5376,5377,5,588,0,0,5377,5434,7,70,0,0,5378,5434,5,152,0,0,5379,5380,5,155,0,0,5380,5434,7,71,0,0,5381,5434,5,739,0,0,5382,5434,5,740,0,0,5383,5434,5,177,0,0,5384,5434,5,184,0,0,5385,5434,5,185,0,0,5386,5434,5,698,0,0,5387,5434,5,699,0,0,5388,5434,5,700,0,0,5389,5434,5,701,0,0,5390,5434,5,702,0,0,5391,5434,5,703,0,0,5392,5434,5,704,0,0,5393,5434,5,705,0,0,5394,5434,5,706,0,0,5395,5434,5,707,0,0,5396,5434,5,710,0,0,5397,5434,5,711,0,0,5398,5434,5,712,0,0,5399,5434,5,713,0,0,5400,5434,5,714,0,0,5401,5434,5,715,0,0,5402,5434,5,716,0,0,5403,5434,5,717,0,0,5404,5434,5,718,0,0,5405,5434,5,719,0,0,5406,5434,5,722,0,0,5407,5434,5,723,0,0,5408,5434,5,724,0,0,5409,5434,5,728,0,0,5410,5434,5,729,0,0,5411,5434,5,730,0,0,5412,5434,5,731,0,0,5413,5434,5,732,0,0,5414,5434,5,735,0,0,5415,5434,5,736,0,0,5416,5434,5,737,0,0,5417,5434,5,158,0,0,5418,5434,5,738,0,0,5419,5434,5,1077,0,0,5420,5434,5,741,0,0,5421,5434,5,743,0,0,5422,5434,5,1088,0,0,5423,5434,5,744,0,0,5424,5434,5,745,0,0,5425,5426,5,102,0,0,5426,5427,5,68,0,0,5427,5434,5,734,0,0,5428,5429,5,152,0,0,5429,5430,5,87,0,0,5430,5434,5,734,0,0,5431,5432,5,720,0,0,5432,5434,5,721,0,0,5433,5340,1,0,0,0,5433,5344,1,0,0,0,5433,5348,1,0,0,0,5433,5358,1,0,0,0,5433,5359,1,0,0,0,5433,5363,1,0,0,0,5433,5364,1,0,0,0,5433,5365,1,0,0,0,5433,5366,1,0,0,0,5433,5368,1,0,0,0,5433,5369,1,0,0,0,5433,5370,1,0,0,0,5433,5372,1,0,0,0,5433,5373,1,0,0,0,5433,5374,1,0,0,0,5433,5375,1,0,0,0,5433,5376,1,0,0,0,5433,5378,1,0,0,0,5433,5379,1,0,0,0,5433,5381,1,0,0,0,5433,5382,1,0,0,0,5433,5383,1,0,0,0,5433,5384,1,0,0,0,5433,5385,1,0,0,0,5433,5386,1,0,0,0,5433,5387,1,0,0,0,5433,5388,1,0,0,0,5433,5389,1,0,0,0,5433,5390,1,0,0,0,5433,5391,1,0,0,0,5433,5392,1,0,0,0,5433,5393,1,0,0,0,5433,5394,1,0,0,0,5433,5395,1,0,0,0,5433,5396,1,0,0,0,5433,5397,1,0,0,0,5433,5398,1,0,0,0,5433,5399,1,0,0,0,5433,5400,1,0,0,0,5433,5401,1,0,0,0,5433,5402,1,0,0,0,5433,5403,1,0,0,0,5433,5404,1,0,0,0,5433,5405,1,0,0,0,5433,5406,1,0,0,0,5433,5407,1,0,0,0,5433,5408,1,0,0,0,5433,5409,1,0,0,0,5433,5410,1,0,0,0,5433,5411,1,0,0,0,5433,5412,1,0,0,0,5433,5413,1,0,0,0,5433,5414,1,0,0,0,5433,5415,1,0,0,0,5433,5416,1,0,0,0,5433,5417,1,0,0,0,5433,5418,1,0,0,0,5433,5419,1,0,0,0,5433,5420,1,0,0,0,5433,5421,1,0,0,0,5433,5422,1,0,0,0,5433,5423,1,0,0,0,5433,5424,1,0,0,0,5433,5425,1,0,0,0,5433,5428,1,0,0,0,5433,5431,1,0,0,0,5434,467,1,0,0,0,5435,5452,5,1117,0,0,5436,5437,5,1117,0,0,5437,5438,5,1132,0,0,5438,5452,5,1117,0,0,5439,5440,3,612,306,0,5440,5441,5,1132,0,0,5441,5442,5,1117,0,0,5442,5452,1,0,0,0,5443,5444,3,612,306,0,5444,5445,5,1132,0,0,5445,5446,3,612,306,0,5446,5452,1,0,0,0,5447,5448,3,612,306,0,5448,5449,3,616,308,0,5449,5452,1,0,0,0,5450,5452,3,612,306,0,5451,5435,1,0,0,0,5451,5436,1,0,0,0,5451,5439,1,0,0,0,5451,5443,1,0,0,0,5451,5447,1,0,0,0,5451,5450,1,0,0,0,5452,469,1,0,0,0,5453,5454,3,592,296,0,5454,5455,5,175,0,0,5455,5456,3,590,295,0,5456,471,1,0,0,0,5457,5459,5,9,0,0,5458,5460,7,72,0,0,5459,5458,1,0,0,0,5459,5460,1,0,0,0,5460,5461,1,0,0,0,5461,5462,7,54,0,0,5462,5480,3,648,324,0,5463,5464,5,184,0,0,5464,5465,5,76,0,0,5465,5466,5,118,0,0,5466,5471,3,570,285,0,5467,5468,5,1135,0,0,5468,5470,3,570,285,0,5469,5467,1,0,0,0,5470,5473,1,0,0,0,5471,5469,1,0,0,0,5471,5472,1,0,0,0,5472,5478,1,0,0,0,5473,5471,1,0,0,0,5474,5475,5,192,0,0,5475,5476,3,618,309,0,5476,5477,5,18,0,0,5477,5479,1,0,0,0,5478,5474,1,0,0,0,5478,5479,1,0,0,0,5479,5481,1,0,0,0,5480,5463,1,0,0,0,5480,5481,1,0,0,0,5481,5493,1,0,0,0,5482,5483,5,51,0,0,5483,5484,5,76,0,0,5484,5485,5,118,0,0,5485,5490,3,570,285,0,5486,5487,5,1135,0,0,5487,5489,3,570,285,0,5488,5486,1,0,0,0,5489,5492,1,0,0,0,5490,5488,1,0,0,0,5490,5491,1,0,0,0,5491,5494,1,0,0,0,5492,5490,1,0,0,0,5493,5482,1,0,0,0,5493,5494,1,0,0,0,5494,473,1,0,0,0,5495,5496,5,26,0,0,5496,5497,5,172,0,0,5497,5501,3,648,324,0,5498,5500,3,482,241,0,5499,5498,1,0,0,0,5500,5503,1,0,0,0,5501,5499,1,0,0,0,5501,5502,1,0,0,0,5502,475,1,0,0,0,5503,5501,1,0,0,0,5504,5505,5,356,0,0,5505,5506,5,172,0,0,5506,5508,3,648,324,0,5507,5509,7,73,0,0,5508,5507,1,0,0,0,5508,5509,1,0,0,0,5509,477,1,0,0,0,5510,5512,5,119,0,0,5511,5513,7,72,0,0,5512,5511,1,0,0,0,5512,5513,1,0,0,0,5513,5514,1,0,0,0,5514,5515,7,54,0,0,5515,5516,3,648,324,0,5516,479,1,0,0,0,5517,5519,5,580,0,0,5518,5520,7,72,0,0,5519,5518,1,0,0,0,5519,5520,1,0,0,0,5520,5521,1,0,0,0,5521,5522,5,172,0,0,5522,5524,3,648,324,0,5523,5525,5,568,0,0,5524,5523,1,0,0,0,5524,5525,1,0,0,0,5525,5527,1,0,0,0,5526,5528,5,422,0,0,5527,5526,1,0,0,0,5527,5528,1,0,0,0,5528,5530,1,0,0,0,5529,5531,5,666,0,0,5530,5529,1,0,0,0,5530,5531,1,0,0,0,5531,481,1,0,0,0,5532,5533,5,65,0,0,5533,5540,5,664,0,0,5534,5540,5,568,0,0,5535,5540,5,425,0,0,5536,5540,5,504,0,0,5537,5540,5,422,0,0,5538,5540,5,354,0,0,5539,5532,1,0,0,0,5539,5534,1,0,0,0,5539,5535,1,0,0,0,5539,5536,1,0,0,0,5539,5537,1,0,0,0,5539,5538,1,0,0,0,5540,483,1,0,0,0,5541,5543,5,33,0,0,5542,5544,5,335,0,0,5543,5542,1,0,0,0,5543,5544,1,0,0,0,5544,5545,1,0,0,0,5545,5547,5,437,0,0,5546,5548,3,670,335,0,5547,5546,1,0,0,0,5547,5548,1,0,0,0,5548,5549,1,0,0,0,5549,5550,3,612,306,0,5550,5551,5,594,0,0,5551,5552,7,74,0,0,5552,5553,5,619,0,0,5553,5554,5,1148,0,0,5554,485,1,0,0,0,5555,5556,5,456,0,0,5556,5557,5,554,0,0,5557,5558,3,612,306,0,5558,5559,5,619,0,0,5559,5560,5,1148,0,0,5560,487,1,0,0,0,5561,5562,5,661,0,0,5562,5563,5,554,0,0,5563,5564,3,612,306,0,5564,489,1,0,0,0,5565,5566,5,153,0,0,5566,5567,3,494,247,0,5567,5570,7,75,0,0,5568,5571,3,716,358,0,5569,5571,5,118,0,0,5570,5568,1,0,0,0,5570,5569,1,0,0,0,5571,5581,1,0,0,0,5572,5573,5,1135,0,0,5573,5574,3,494,247,0,5574,5577,7,75,0,0,5575,5578,3,716,358,0,5576,5578,5,118,0,0,5577,5575,1,0,0,0,5577,5576,1,0,0,0,5578,5580,1,0,0,0,5579,5572,1,0,0,0,5580,5583,1,0,0,0,5581,5579,1,0,0,0,5581,5582,1,0,0,0,5582,5618,1,0,0,0,5583,5581,1,0,0,0,5584,5585,5,153,0,0,5585,5588,3,58,29,0,5586,5589,3,596,298,0,5587,5589,5,42,0,0,5588,5586,1,0,0,0,5588,5587,1,0,0,0,5589,5618,1,0,0,0,5590,5591,5,153,0,0,5591,5598,5,517,0,0,5592,5595,3,596,298,0,5593,5594,5,27,0,0,5594,5596,3,598,299,0,5595,5593,1,0,0,0,5595,5596,1,0,0,0,5596,5599,1,0,0,0,5597,5599,5,42,0,0,5598,5592,1,0,0,0,5598,5597,1,0,0,0,5599,5618,1,0,0,0,5600,5618,3,444,222,0,5601,5618,3,318,159,0,5602,5618,3,316,158,0,5603,5604,5,153,0,0,5604,5605,3,552,276,0,5605,5606,7,75,0,0,5606,5614,3,716,358,0,5607,5608,5,1135,0,0,5608,5609,3,552,276,0,5609,5610,7,75,0,0,5610,5611,3,716,358,0,5611,5613,1,0,0,0,5612,5607,1,0,0,0,5613,5616,1,0,0,0,5614,5612,1,0,0,0,5614,5615,1,0,0,0,5615,5618,1,0,0,0,5616,5614,1,0,0,0,5617,5565,1,0,0,0,5617,5584,1,0,0,0,5617,5590,1,0,0,0,5617,5600,1,0,0,0,5617,5601,1,0,0,0,5617,5602,1,0,0,0,5617,5603,1,0,0,0,5618,491,1,0,0,0,5619,5620,5,155,0,0,5620,5621,7,56,0,0,5621,5781,5,476,0,0,5622,5623,5,155,0,0,5623,5624,7,76,0,0,5624,5627,5,416,0,0,5625,5626,5,80,0,0,5626,5628,5,1148,0,0,5627,5625,1,0,0,0,5627,5628,1,0,0,0,5628,5631,1,0,0,0,5629,5630,5,68,0,0,5630,5632,3,618,309,0,5631,5629,1,0,0,0,5631,5632,1,0,0,0,5632,5640,1,0,0,0,5633,5637,5,99,0,0,5634,5635,3,618,309,0,5635,5636,5,1135,0,0,5636,5638,1,0,0,0,5637,5634,1,0,0,0,5637,5638,1,0,0,0,5638,5639,1,0,0,0,5639,5641,3,618,309,0,5640,5633,1,0,0,0,5640,5641,1,0,0,0,5641,5781,1,0,0,0,5642,5643,5,155,0,0,5643,5645,3,496,248,0,5644,5646,3,498,249,0,5645,5644,1,0,0,0,5645,5646,1,0,0,0,5646,5781,1,0,0,0,5647,5649,5,155,0,0,5648,5650,5,436,0,0,5649,5648,1,0,0,0,5649,5650,1,0,0,0,5650,5651,1,0,0,0,5651,5652,7,41,0,0,5652,5653,7,77,0,0,5653,5656,3,554,277,0,5654,5655,7,77,0,0,5655,5657,3,612,306,0,5656,5654,1,0,0,0,5656,5657,1,0,0,0,5657,5659,1,0,0,0,5658,5660,3,498,249,0,5659,5658,1,0,0,0,5659,5660,1,0,0,0,5660,5781,1,0,0,0,5661,5662,5,155,0,0,5662,5663,5,33,0,0,5663,5665,7,0,0,0,5664,5666,3,670,335,0,5665,5664,1,0,0,0,5665,5666,1,0,0,0,5666,5667,1,0,0,0,5667,5781,3,572,286,0,5668,5669,5,155,0,0,5669,5670,5,33,0,0,5670,5671,7,78,0,0,5671,5781,3,552,276,0,5672,5673,5,155,0,0,5673,5674,5,33,0,0,5674,5675,7,79,0,0,5675,5781,3,554,277,0,5676,5677,5,155,0,0,5677,5678,5,33,0,0,5678,5679,5,177,0,0,5679,5781,3,578,289,0,5680,5681,5,155,0,0,5681,5682,5,33,0,0,5682,5683,5,665,0,0,5683,5781,3,592,296,0,5684,5685,5,155,0,0,5685,5686,5,409,0,0,5686,5687,3,600,300,0,5687,5688,7,80,0,0,5688,5781,1,0,0,0,5689,5690,5,155,0,0,5690,5781,3,500,250,0,5691,5692,5,155,0,0,5692,5700,7,81,0,0,5693,5697,5,99,0,0,5694,5695,3,618,309,0,5695,5696,5,1135,0,0,5696,5698,1,0,0,0,5697,5694,1,0,0,0,5697,5698,1,0,0,0,5698,5699,1,0,0,0,5699,5701,3,618,309,0,5700,5693,1,0,0,0,5700,5701,1,0,0,0,5701,5781,1,0,0,0,5702,5703,5,155,0,0,5703,5704,5,290,0,0,5704,5705,5,1133,0,0,5705,5706,5,1117,0,0,5706,5707,5,1134,0,0,5707,5781,7,81,0,0,5708,5709,5,155,0,0,5709,5712,3,502,251,0,5710,5711,7,77,0,0,5711,5713,3,612,306,0,5712,5710,1,0,0,0,5712,5713,1,0,0,0,5713,5715,1,0,0,0,5714,5716,3,498,249,0,5715,5714,1,0,0,0,5715,5716,1,0,0,0,5716,5781,1,0,0,0,5717,5718,5,155,0,0,5718,5719,7,82,0,0,5719,5720,5,364,0,0,5720,5781,3,552,276,0,5721,5722,5,155,0,0,5722,5725,5,440,0,0,5723,5724,5,65,0,0,5724,5726,3,592,296,0,5725,5723,1,0,0,0,5725,5726,1,0,0,0,5726,5781,1,0,0,0,5727,5728,5,155,0,0,5728,5729,7,83,0,0,5729,5730,7,77,0,0,5730,5733,3,554,277,0,5731,5732,7,77,0,0,5732,5734,3,612,306,0,5733,5731,1,0,0,0,5733,5734,1,0,0,0,5734,5737,1,0,0,0,5735,5736,5,190,0,0,5736,5738,3,716,358,0,5737,5735,1,0,0,0,5737,5738,1,0,0,0,5738,5781,1,0,0,0,5739,5740,5,155,0,0,5740,5741,5,539,0,0,5741,5744,5,742,0,0,5742,5743,7,77,0,0,5743,5745,3,612,306,0,5744,5742,1,0,0,0,5744,5745,1,0,0,0,5745,5747,1,0,0,0,5746,5748,3,498,249,0,5747,5746,1,0,0,0,5747,5748,1,0,0,0,5748,5781,1,0,0,0,5749,5750,5,155,0,0,5750,5751,5,564,0,0,5751,5756,3,504,252,0,5752,5753,5,1135,0,0,5753,5755,3,504,252,0,5754,5752,1,0,0,0,5755,5758,1,0,0,0,5756,5754,1,0,0,0,5756,5757,1,0,0,0,5757,5762,1,0,0,0,5758,5756,1,0,0,0,5759,5760,5,65,0,0,5760,5761,5,567,0,0,5761,5763,3,618,309,0,5762,5759,1,0,0,0,5762,5763,1,0,0,0,5763,5764,1,0,0,0,5764,5768,5,99,0,0,5765,5766,3,618,309,0,5766,5767,5,1135,0,0,5767,5769,1,0,0,0,5768,5765,1,0,0,0,5768,5769,1,0,0,0,5769,5770,1,0,0,0,5770,5771,3,618,309,0,5771,5781,1,0,0,0,5772,5773,5,155,0,0,5773,5774,5,614,0,0,5774,5778,5,634,0,0,5775,5776,5,65,0,0,5776,5777,5,355,0,0,5777,5779,5,1148,0,0,5778,5775,1,0,0,0,5778,5779,1,0,0,0,5779,5781,1,0,0,0,5780,5619,1,0,0,0,5780,5622,1,0,0,0,5780,5642,1,0,0,0,5780,5647,1,0,0,0,5780,5661,1,0,0,0,5780,5668,1,0,0,0,5780,5672,1,0,0,0,5780,5676,1,0,0,0,5780,5680,1,0,0,0,5780,5684,1,0,0,0,5780,5689,1,0,0,0,5780,5691,1,0,0,0,5780,5702,1,0,0,0,5780,5708,1,0,0,0,5780,5717,1,0,0,0,5780,5721,1,0,0,0,5780,5727,1,0,0,0,5780,5739,1,0,0,0,5780,5749,1,0,0,0,5780,5772,1,0,0,0,5781,493,1,0,0,0,5782,5793,5,1159,0,0,5783,5793,5,1160,0,0,5784,5785,5,1137,0,0,5785,5787,5,1137,0,0,5786,5784,1,0,0,0,5786,5787,1,0,0,0,5787,5788,1,0,0,0,5788,5790,7,84,0,0,5789,5786,1,0,0,0,5789,5790,1,0,0,0,5790,5791,1,0,0,0,5791,5793,3,612,306,0,5792,5782,1,0,0,0,5792,5783,1,0,0,0,5792,5789,1,0,0,0,5793,495,1,0,0,0,5794,5795,5,25,0,0,5795,5808,5,153,0,0,5796,5808,5,844,0,0,5797,5808,5,40,0,0,5798,5808,5,151,0,0,5799,5800,5,437,0,0,5800,5808,5,634,0,0,5801,5802,5,131,0,0,5802,5808,5,634,0,0,5803,5805,7,55,0,0,5804,5803,1,0,0,0,5804,5805,1,0,0,0,5805,5806,1,0,0,0,5806,5808,7,85,0,0,5807,5794,1,0,0,0,5807,5796,1,0,0,0,5807,5797,1,0,0,0,5807,5798,1,0,0,0,5807,5799,1,0,0,0,5807,5801,1,0,0,0,5807,5804,1,0,0,0,5808,497,1,0,0,0,5809,5810,5,98,0,0,5810,5814,5,1148,0,0,5811,5812,5,190,0,0,5812,5814,3,716,358,0,5813,5809,1,0,0,0,5813,5811,1,0,0,0,5814,499,1,0,0,0,5815,5817,5,636,0,0,5816,5815,1,0,0,0,5816,5817,1,0,0,0,5817,5818,1,0,0,0,5818,5833,5,410,0,0,5819,5820,5,477,0,0,5820,5833,5,634,0,0,5821,5833,5,556,0,0,5822,5833,5,725,0,0,5823,5825,5,436,0,0,5824,5823,1,0,0,0,5824,5825,1,0,0,0,5825,5826,1,0,0,0,5826,5833,5,563,0,0,5827,5833,5,565,0,0,5828,5829,5,614,0,0,5829,5833,5,447,0,0,5830,5833,5,339,0,0,5831,5833,5,383,0,0,5832,5816,1,0,0,0,5832,5819,1,0,0,0,5832,5821,1,0,0,0,5832,5822,1,0,0,0,5832,5824,1,0,0,0,5832,5827,1,0,0,0,5832,5828,1,0,0,0,5832,5830,1,0,0,0,5832,5831,1,0,0,0,5833,501,1,0,0,0,5834,5843,5,416,0,0,5835,5836,5,172,0,0,5836,5843,5,634,0,0,5837,5839,5,436,0,0,5838,5837,1,0,0,0,5838,5839,1,0,0,0,5839,5840,1,0,0,0,5840,5843,5,742,0,0,5841,5843,5,655,0,0,5842,5834,1,0,0,0,5842,5835,1,0,0,0,5842,5838,1,0,0,0,5842,5841,1,0,0,0,5843,503,1,0,0,0,5844,5857,5,6,0,0,5845,5846,5,347,0,0,5846,5857,5,461,0,0,5847,5848,5,382,0,0,5848,5857,5,645,0,0,5849,5857,5,385,0,0,5850,5857,5,463,0,0,5851,5857,5,792,0,0,5852,5853,5,544,0,0,5853,5857,5,426,0,0,5854,5857,5,621,0,0,5855,5857,5,644,0,0,5856,5844,1,0,0,0,5856,5845,1,0,0,0,5856,5847,1,0,0,0,5856,5849,1,0,0,0,5856,5850,1,0,0,0,5856,5851,1,0,0,0,5856,5852,1,0,0,0,5856,5854,1,0,0,0,5856,5855,1,0,0,0,5857,505,1,0,0,0,5858,5859,5,345,0,0,5859,5860,5,1148,0,0,5860,507,1,0,0,0,5861,5862,5,351,0,0,5862,5863,5,81,0,0,5863,5868,3,520,260,0,5864,5865,5,1135,0,0,5865,5867,3,520,260,0,5866,5864,1,0,0,0,5867,5870,1,0,0,0,5868,5866,1,0,0,0,5868,5869,1,0,0,0,5869,5878,1,0,0,0,5870,5868,1,0,0,0,5871,5872,5,129,0,0,5872,5875,5,1133,0,0,5873,5876,3,644,322,0,5874,5876,5,6,0,0,5875,5873,1,0,0,0,5875,5874,1,0,0,0,5876,5877,1,0,0,0,5877,5879,5,1134,0,0,5878,5871,1,0,0,0,5878,5879,1,0,0,0,5879,5880,1,0,0,0,5880,5881,5,80,0,0,5881,5882,3,612,306,0,5882,509,1,0,0,0,5883,5885,5,432,0,0,5884,5886,7,72,0,0,5885,5884,1,0,0,0,5885,5886,1,0,0,0,5886,5887,1,0,0,0,5887,5892,3,522,261,0,5888,5889,5,1135,0,0,5889,5891,3,522,261,0,5890,5888,1,0,0,0,5891,5894,1,0,0,0,5892,5890,1,0,0,0,5892,5893,1,0,0,0,5893,511,1,0,0,0,5894,5892,1,0,0,0,5895,5897,5,93,0,0,5896,5898,7,86,0,0,5897,5896,1,0,0,0,5897,5898,1,0,0,0,5898,5899,1,0,0,0,5899,5900,3,716,358,0,5900,513,1,0,0,0,5901,5902,5,102,0,0,5902,5903,5,81,0,0,5903,5904,5,87,0,0,5904,5905,5,351,0,0,5905,5910,3,526,263,0,5906,5907,5,1135,0,0,5907,5909,3,526,263,0,5908,5906,1,0,0,0,5909,5912,1,0,0,0,5910,5908,1,0,0,0,5910,5911,1,0,0,0,5911,515,1,0,0,0,5912,5910,1,0,0,0,5913,5914,5,589,0,0,5914,5915,5,567,0,0,5915,5916,5,351,0,0,5916,517,1,0,0,0,5917,5918,5,739,0,0,5918,519,1,0,0,0,5919,5927,3,554,277,0,5920,5922,7,20,0,0,5921,5920,1,0,0,0,5921,5922,1,0,0,0,5922,5923,1,0,0,0,5923,5924,5,1133,0,0,5924,5925,3,580,290,0,5925,5926,5,1134,0,0,5926,5928,1,0,0,0,5927,5921,1,0,0,0,5927,5928,1,0,0,0,5928,521,1,0,0,0,5929,5948,5,394,0,0,5930,5948,5,447,0,0,5931,5933,7,87,0,0,5932,5931,1,0,0,0,5932,5933,1,0,0,0,5933,5934,1,0,0,0,5934,5948,5,476,0,0,5935,5948,5,540,0,0,5936,5948,5,725,0,0,5937,5938,5,567,0,0,5938,5948,5,351,0,0,5939,5948,5,634,0,0,5940,5948,5,667,0,0,5941,5945,5,742,0,0,5942,5943,5,192,0,0,5943,5944,5,134,0,0,5944,5946,5,103,0,0,5945,5942,1,0,0,0,5945,5946,1,0,0,0,5946,5948,1,0,0,0,5947,5929,1,0,0,0,5947,5930,1,0,0,0,5947,5932,1,0,0,0,5947,5935,1,0,0,0,5947,5936,1,0,0,0,5947,5937,1,0,0,0,5947,5939,1,0,0,0,5947,5940,1,0,0,0,5947,5941,1,0,0,0,5948,5962,1,0,0,0,5949,5950,5,574,0,0,5950,5952,5,476,0,0,5951,5953,3,356,178,0,5952,5951,1,0,0,0,5952,5953,1,0,0,0,5953,5962,1,0,0,0,5954,5956,7,54,0,0,5955,5957,3,648,324,0,5956,5955,1,0,0,0,5956,5957,1,0,0,0,5957,5959,1,0,0,0,5958,5960,3,524,262,0,5959,5958,1,0,0,0,5959,5960,1,0,0,0,5960,5962,1,0,0,0,5961,5947,1,0,0,0,5961,5949,1,0,0,0,5961,5954,1,0,0,0,5962,523,1,0,0,0,5963,5964,5,192,0,0,5964,5965,5,134,0,0,5965,5969,5,103,0,0,5966,5967,5,65,0,0,5967,5969,5,421,0,0,5968,5963,1,0,0,0,5968,5966,1,0,0,0,5969,525,1,0,0,0,5970,5978,3,554,277,0,5971,5972,5,129,0,0,5972,5975,5,1133,0,0,5973,5976,3,644,322,0,5974,5976,5,6,0,0,5975,5973,1,0,0,0,5975,5974,1,0,0,0,5976,5977,1,0,0,0,5977,5979,5,1134,0,0,5978,5971,1,0,0,0,5978,5979,1,0,0,0,5979,5987,1,0,0,0,5980,5982,7,20,0,0,5981,5980,1,0,0,0,5981,5982,1,0,0,0,5982,5983,1,0,0,0,5983,5984,5,1133,0,0,5984,5985,3,580,290,0,5985,5986,5,1134,0,0,5986,5988,1,0,0,0,5987,5981,1,0,0,0,5987,5988,1,0,0,0,5988,5991,1,0,0,0,5989,5990,5,78,0,0,5990,5992,5,470,0,0,5991,5989,1,0,0,0,5991,5992,1,0,0,0,5992,527,1,0,0,0,5993,5994,7,88,0,0,5994,5997,3,554,277,0,5995,5998,3,612,306,0,5996,5998,5,1148,0,0,5997,5995,1,0,0,0,5997,5996,1,0,0,0,5997,5998,1,0,0,0,5998,529,1,0,0,0,5999,6003,7,88,0,0,6e3,6001,7,89,0,0,6001,6002,5,1124,0,0,6002,6004,7,90,0,0,6003,6e3,1,0,0,0,6003,6004,1,0,0,0,6004,6005,1,0,0,0,6005,6006,3,550,275,0,6006,531,1,0,0,0,6007,6008,5,444,0,0,6008,6009,5,1148,0,0,6009,533,1,0,0,0,6010,6011,5,186,0,0,6011,6012,3,612,306,0,6012,535,1,0,0,0,6013,6021,5,156,0,0,6014,6016,5,162,0,0,6015,6017,5,669,0,0,6016,6015,1,0,0,0,6016,6017,1,0,0,0,6017,6018,1,0,0,0,6018,6022,3,622,311,0,6019,6022,5,1156,0,0,6020,6022,5,1157,0,0,6021,6014,1,0,0,0,6021,6019,1,0,0,0,6021,6020,1,0,0,0,6022,6032,1,0,0,0,6023,6024,5,153,0,0,6024,6029,3,540,270,0,6025,6026,5,1135,0,0,6026,6028,3,540,270,0,6027,6025,1,0,0,0,6028,6031,1,0,0,0,6029,6027,1,0,0,0,6029,6030,1,0,0,0,6030,6033,1,0,0,0,6031,6029,1,0,0,0,6032,6023,1,0,0,0,6032,6033,1,0,0,0,6033,537,1,0,0,0,6034,6042,5,143,0,0,6035,6037,5,162,0,0,6036,6038,5,669,0,0,6037,6036,1,0,0,0,6037,6038,1,0,0,0,6038,6039,1,0,0,0,6039,6043,3,622,311,0,6040,6043,5,1156,0,0,6041,6043,5,1157,0,0,6042,6035,1,0,0,0,6042,6040,1,0,0,0,6042,6041,1,0,0,0,6042,6043,1,0,0,0,6043,6053,1,0,0,0,6044,6045,5,153,0,0,6045,6050,3,540,270,0,6046,6047,5,1135,0,0,6047,6049,3,540,270,0,6048,6046,1,0,0,0,6049,6052,1,0,0,0,6050,6048,1,0,0,0,6050,6051,1,0,0,0,6051,6054,1,0,0,0,6052,6050,1,0,0,0,6053,6044,1,0,0,0,6053,6054,1,0,0,0,6054,539,1,0,0,0,6055,6056,7,91,0,0,6056,6061,5,1124,0,0,6057,6062,3,622,311,0,6058,6062,5,1149,0,0,6059,6062,3,594,297,0,6060,6062,3,614,307,0,6061,6057,1,0,0,0,6061,6058,1,0,0,0,6061,6059,1,0,0,0,6061,6060,1,0,0,0,6062,541,1,0,0,0,6063,6065,5,192,0,0,6064,6066,5,571,0,0,6065,6064,1,0,0,0,6065,6066,1,0,0,0,6066,6067,1,0,0,0,6067,6072,3,48,24,0,6068,6069,5,1135,0,0,6069,6071,3,48,24,0,6070,6068,1,0,0,0,6071,6074,1,0,0,0,6072,6070,1,0,0,0,6072,6073,1,0,0,0,6073,543,1,0,0,0,6074,6072,1,0,0,0,6075,6076,5,172,0,0,6076,6078,3,554,277,0,6077,6079,3,228,114,0,6078,6077,1,0,0,0,6078,6079,1,0,0,0,6079,6081,1,0,0,0,6080,6082,3,294,147,0,6081,6080,1,0,0,0,6081,6082,1,0,0,0,6082,545,1,0,0,0,6083,6085,5,71,0,0,6084,6086,7,92,0,0,6085,6084,1,0,0,0,6085,6086,1,0,0,0,6086,6087,1,0,0,0,6087,6119,5,48,0,0,6088,6089,3,494,247,0,6089,6090,5,1124,0,0,6090,6098,7,93,0,0,6091,6092,5,1135,0,0,6092,6093,3,494,247,0,6093,6094,5,1124,0,0,6094,6095,7,93,0,0,6095,6097,1,0,0,0,6096,6091,1,0,0,0,6097,6100,1,0,0,0,6098,6096,1,0,0,0,6098,6099,1,0,0,0,6099,6120,1,0,0,0,6100,6098,1,0,0,0,6101,6104,5,29,0,0,6102,6105,3,618,309,0,6103,6105,3,494,247,0,6104,6102,1,0,0,0,6104,6103,1,0,0,0,6105,6106,1,0,0,0,6106,6107,3,494,247,0,6107,6108,5,1124,0,0,6108,6116,3,548,274,0,6109,6110,5,1135,0,0,6110,6111,3,494,247,0,6111,6112,5,1124,0,0,6112,6113,3,548,274,0,6113,6115,1,0,0,0,6114,6109,1,0,0,0,6115,6118,1,0,0,0,6116,6114,1,0,0,0,6116,6117,1,0,0,0,6117,6120,1,0,0,0,6118,6116,1,0,0,0,6119,6088,1,0,0,0,6119,6101,1,0,0,0,6120,547,1,0,0,0,6121,6122,7,94,0,0,6122,549,1,0,0,0,6123,6129,3,198,99,0,6124,6129,3,184,92,0,6125,6129,3,190,95,0,6126,6129,3,196,98,0,6127,6129,3,200,100,0,6128,6123,1,0,0,0,6128,6124,1,0,0,0,6128,6125,1,0,0,0,6128,6126,1,0,0,0,6128,6127,1,0,0,0,6129,6134,1,0,0,0,6130,6131,5,65,0,0,6131,6132,5,376,0,0,6132,6134,3,612,306,0,6133,6128,1,0,0,0,6133,6130,1,0,0,0,6134,551,1,0,0,0,6135,6139,3,612,306,0,6136,6140,5,1155,0,0,6137,6138,5,1132,0,0,6138,6140,3,612,306,0,6139,6136,1,0,0,0,6139,6137,1,0,0,0,6139,6140,1,0,0,0,6140,553,1,0,0,0,6141,6142,3,552,276,0,6142,555,1,0,0,0,6143,6148,3,554,277,0,6144,6145,5,1135,0,0,6145,6147,3,554,277,0,6146,6144,1,0,0,0,6147,6150,1,0,0,0,6148,6146,1,0,0,0,6148,6149,1,0,0,0,6149,557,1,0,0,0,6150,6148,1,0,0,0,6151,6154,3,592,296,0,6152,6154,3,568,284,0,6153,6151,1,0,0,0,6153,6152,1,0,0,0,6154,559,1,0,0,0,6155,6160,3,558,279,0,6156,6157,5,1135,0,0,6157,6159,3,558,279,0,6158,6156,1,0,0,0,6159,6162,1,0,0,0,6160,6158,1,0,0,0,6160,6161,1,0,0,0,6161,561,1,0,0,0,6162,6160,1,0,0,0,6163,6168,3,564,282,0,6164,6165,5,1135,0,0,6165,6167,3,564,282,0,6166,6164,1,0,0,0,6167,6170,1,0,0,0,6168,6166,1,0,0,0,6168,6169,1,0,0,0,6169,563,1,0,0,0,6170,6168,1,0,0,0,6171,6172,3,612,306,0,6172,565,1,0,0,0,6173,6178,3,568,284,0,6174,6175,5,1135,0,0,6175,6177,3,568,284,0,6176,6174,1,0,0,0,6177,6180,1,0,0,0,6178,6176,1,0,0,0,6178,6179,1,0,0,0,6179,567,1,0,0,0,6180,6178,1,0,0,0,6181,6182,3,564,282,0,6182,569,1,0,0,0,6183,6188,3,612,306,0,6184,6186,3,616,308,0,6185,6187,3,616,308,0,6186,6185,1,0,0,0,6186,6187,1,0,0,0,6187,6189,1,0,0,0,6188,6184,1,0,0,0,6188,6189,1,0,0,0,6189,6198,1,0,0,0,6190,6192,9,0,0,0,6191,6190,1,0,0,0,6191,6192,1,0,0,0,6192,6193,1,0,0,0,6193,6195,3,616,308,0,6194,6196,3,616,308,0,6195,6194,1,0,0,0,6195,6196,1,0,0,0,6196,6198,1,0,0,0,6197,6183,1,0,0,0,6197,6191,1,0,0,0,6198,571,1,0,0,0,6199,6200,3,612,306,0,6200,573,1,0,0,0,6201,6202,3,612,306,0,6202,575,1,0,0,0,6203,6204,3,612,306,0,6204,577,1,0,0,0,6205,6206,3,552,276,0,6206,579,1,0,0,0,6207,6212,3,574,287,0,6208,6209,5,1135,0,0,6209,6211,3,574,287,0,6210,6208,1,0,0,0,6211,6214,1,0,0,0,6212,6210,1,0,0,0,6212,6213,1,0,0,0,6213,581,1,0,0,0,6214,6212,1,0,0,0,6215,6218,3,612,306,0,6216,6218,5,1148,0,0,6217,6215,1,0,0,0,6217,6216,1,0,0,0,6218,6223,1,0,0,0,6219,6220,5,1133,0,0,6220,6221,3,618,309,0,6221,6222,5,1134,0,0,6222,6224,1,0,0,0,6223,6219,1,0,0,0,6223,6224,1,0,0,0,6224,6227,1,0,0,0,6225,6227,3,716,358,0,6226,6217,1,0,0,0,6226,6225,1,0,0,0,6227,6229,1,0,0,0,6228,6230,7,48,0,0,6229,6228,1,0,0,0,6229,6230,1,0,0,0,6230,583,1,0,0,0,6231,6236,5,1148,0,0,6232,6236,5,1156,0,0,6233,6236,5,697,0,0,6234,6236,3,746,373,0,6235,6231,1,0,0,0,6235,6232,1,0,0,0,6235,6233,1,0,0,0,6235,6234,1,0,0,0,6236,585,1,0,0,0,6237,6238,7,95,0,0,6238,587,1,0,0,0,6239,6244,3,592,296,0,6240,6241,5,1135,0,0,6241,6243,3,592,296,0,6242,6240,1,0,0,0,6243,6246,1,0,0,0,6244,6242,1,0,0,0,6244,6245,1,0,0,0,6245,589,1,0,0,0,6246,6244,1,0,0,0,6247,6253,3,584,292,0,6248,6249,3,584,292,0,6249,6250,3,586,293,0,6250,6253,1,0,0,0,6251,6253,3,60,30,0,6252,6247,1,0,0,0,6252,6248,1,0,0,0,6252,6251,1,0,0,0,6253,591,1,0,0,0,6254,6255,3,590,295,0,6255,593,1,0,0,0,6256,6257,7,96,0,0,6257,595,1,0,0,0,6258,6263,5,226,0,0,6259,6263,3,736,368,0,6260,6263,5,1148,0,0,6261,6263,5,1145,0,0,6262,6258,1,0,0,0,6262,6259,1,0,0,0,6262,6260,1,0,0,0,6262,6261,1,0,0,0,6263,597,1,0,0,0,6264,6267,3,612,306,0,6265,6267,5,1148,0,0,6266,6264,1,0,0,0,6266,6265,1,0,0,0,6267,599,1,0,0,0,6268,6272,3,602,301,0,6269,6272,5,1156,0,0,6270,6272,5,1148,0,0,6271,6268,1,0,0,0,6271,6269,1,0,0,0,6271,6270,1,0,0,0,6272,601,1,0,0,0,6273,6274,7,97,0,0,6274,603,1,0,0,0,6275,6276,3,618,309,0,6276,6277,5,1121,0,0,6277,6278,3,618,309,0,6278,6279,5,1121,0,0,6279,6280,3,618,309,0,6280,6281,5,1121,0,0,6281,6282,3,618,309,0,6282,6283,5,1121,0,0,6283,6289,3,618,309,0,6284,6285,5,1144,0,0,6285,6286,3,618,309,0,6286,6287,5,1121,0,0,6287,6288,3,618,309,0,6288,6290,1,0,0,0,6289,6284,1,0,0,0,6290,6291,1,0,0,0,6291,6289,1,0,0,0,6291,6292,1,0,0,0,6292,605,1,0,0,0,6293,6300,3,608,304,0,6294,6295,5,1135,0,0,6295,6298,3,608,304,0,6296,6297,5,1135,0,0,6297,6299,3,618,309,0,6298,6296,1,0,0,0,6298,6299,1,0,0,0,6299,6301,1,0,0,0,6300,6294,1,0,0,0,6300,6301,1,0,0,0,6301,607,1,0,0,0,6302,6310,5,1148,0,0,6303,6310,5,1153,0,0,6304,6306,5,1150,0,0,6305,6304,1,0,0,0,6306,6307,1,0,0,0,6307,6305,1,0,0,0,6307,6308,1,0,0,0,6308,6310,1,0,0,0,6309,6302,1,0,0,0,6309,6303,1,0,0,0,6309,6305,1,0,0,0,6310,609,1,0,0,0,6311,6314,3,612,306,0,6312,6314,5,1148,0,0,6313,6311,1,0,0,0,6313,6312,1,0,0,0,6314,611,1,0,0,0,6315,6319,3,614,307,0,6316,6319,5,1145,0,0,6317,6319,5,1148,0,0,6318,6315,1,0,0,0,6318,6316,1,0,0,0,6318,6317,1,0,0,0,6319,613,1,0,0,0,6320,6330,5,1156,0,0,6321,6330,3,736,368,0,6322,6330,3,738,369,0,6323,6330,3,602,301,0,6324,6330,3,740,370,0,6325,6330,3,742,371,0,6326,6330,3,744,372,0,6327,6330,3,746,373,0,6328,6330,3,708,354,0,6329,6320,1,0,0,0,6329,6321,1,0,0,0,6329,6322,1,0,0,0,6329,6323,1,0,0,0,6329,6324,1,0,0,0,6329,6325,1,0,0,0,6329,6326,1,0,0,0,6329,6327,1,0,0,0,6329,6328,1,0,0,0,6330,615,1,0,0,0,6331,6335,5,1155,0,0,6332,6333,5,1132,0,0,6333,6335,3,612,306,0,6334,6331,1,0,0,0,6334,6332,1,0,0,0,6335,617,1,0,0,0,6336,6337,7,98,0,0,6337,619,1,0,0,0,6338,6341,5,1146,0,0,6339,6341,3,618,309,0,6340,6338,1,0,0,0,6340,6339,1,0,0,0,6341,621,1,0,0,0,6342,6344,5,1154,0,0,6343,6342,1,0,0,0,6343,6344,1,0,0,0,6344,6345,1,0,0,0,6345,6348,5,1148,0,0,6346,6348,5,1147,0,0,6347,6343,1,0,0,0,6347,6346,1,0,0,0,6348,6350,1,0,0,0,6349,6351,5,1148,0,0,6350,6349,1,0,0,0,6351,6352,1,0,0,0,6352,6350,1,0,0,0,6352,6353,1,0,0,0,6353,6366,1,0,0,0,6354,6356,5,1154,0,0,6355,6354,1,0,0,0,6355,6356,1,0,0,0,6356,6357,1,0,0,0,6357,6360,5,1148,0,0,6358,6360,5,1147,0,0,6359,6355,1,0,0,0,6359,6358,1,0,0,0,6360,6363,1,0,0,0,6361,6362,5,27,0,0,6362,6364,3,598,299,0,6363,6361,1,0,0,0,6363,6364,1,0,0,0,6364,6366,1,0,0,0,6365,6347,1,0,0,0,6365,6359,1,0,0,0,6366,623,1,0,0,0,6367,6368,7,99,0,0,6368,625,1,0,0,0,6369,6371,5,1154,0,0,6370,6369,1,0,0,0,6370,6371,1,0,0,0,6371,6372,1,0,0,0,6372,6373,5,1150,0,0,6373,627,1,0,0,0,6374,6376,5,114,0,0,6375,6374,1,0,0,0,6375,6376,1,0,0,0,6376,6377,1,0,0,0,6377,6378,7,100,0,0,6378,629,1,0,0,0,6379,6392,3,622,311,0,6380,6392,3,618,309,0,6381,6382,5,1121,0,0,6382,6392,3,618,309,0,6383,6392,3,626,313,0,6384,6392,3,624,312,0,6385,6392,5,1151,0,0,6386,6392,5,1153,0,0,6387,6389,5,114,0,0,6388,6387,1,0,0,0,6388,6389,1,0,0,0,6389,6390,1,0,0,0,6390,6392,7,100,0,0,6391,6379,1,0,0,0,6391,6380,1,0,0,0,6391,6381,1,0,0,0,6391,6383,1,0,0,0,6391,6384,1,0,0,0,6391,6385,1,0,0,0,6391,6386,1,0,0,0,6391,6388,1,0,0,0,6392,631,1,0,0,0,6393,6395,7,101,0,0,6394,6396,5,238,0,0,6395,6394,1,0,0,0,6395,6396,1,0,0,0,6396,6398,1,0,0,0,6397,6399,3,638,319,0,6398,6397,1,0,0,0,6398,6399,1,0,0,0,6399,6401,1,0,0,0,6400,6402,5,226,0,0,6401,6400,1,0,0,0,6401,6402,1,0,0,0,6402,6406,1,0,0,0,6403,6404,3,58,29,0,6404,6405,3,596,298,0,6405,6407,1,0,0,0,6406,6403,1,0,0,0,6406,6407,1,0,0,0,6407,6411,1,0,0,0,6408,6409,5,27,0,0,6409,6412,3,598,299,0,6410,6412,5,226,0,0,6411,6408,1,0,0,0,6411,6410,1,0,0,0,6411,6412,1,0,0,0,6412,6520,1,0,0,0,6413,6414,5,225,0,0,6414,6415,7,102,0,0,6415,6417,5,238,0,0,6416,6418,3,638,319,0,6417,6416,1,0,0,0,6417,6418,1,0,0,0,6418,6420,1,0,0,0,6419,6421,5,226,0,0,6420,6419,1,0,0,0,6420,6421,1,0,0,0,6421,6520,1,0,0,0,6422,6423,5,225,0,0,6423,6425,7,103,0,0,6424,6426,3,638,319,0,6425,6424,1,0,0,0,6425,6426,1,0,0,0,6426,6428,1,0,0,0,6427,6429,5,226,0,0,6428,6427,1,0,0,0,6428,6429,1,0,0,0,6429,6520,1,0,0,0,6430,6431,5,518,0,0,6431,6433,5,223,0,0,6432,6434,3,638,319,0,6433,6432,1,0,0,0,6433,6434,1,0,0,0,6434,6436,1,0,0,0,6435,6437,5,226,0,0,6436,6435,1,0,0,0,6436,6437,1,0,0,0,6437,6520,1,0,0,0,6438,6440,7,104,0,0,6439,6441,3,638,319,0,6440,6439,1,0,0,0,6440,6441,1,0,0,0,6441,6445,1,0,0,0,6442,6444,7,105,0,0,6443,6442,1,0,0,0,6444,6447,1,0,0,0,6445,6443,1,0,0,0,6445,6446,1,0,0,0,6446,6520,1,0,0,0,6447,6445,1,0,0,0,6448,6450,5,208,0,0,6449,6451,3,640,320,0,6450,6449,1,0,0,0,6450,6451,1,0,0,0,6451,6455,1,0,0,0,6452,6454,7,105,0,0,6453,6452,1,0,0,0,6454,6457,1,0,0,0,6455,6453,1,0,0,0,6455,6456,1,0,0,0,6456,6520,1,0,0,0,6457,6455,1,0,0,0,6458,6460,5,209,0,0,6459,6461,5,210,0,0,6460,6459,1,0,0,0,6460,6461,1,0,0,0,6461,6463,1,0,0,0,6462,6464,3,640,320,0,6463,6462,1,0,0,0,6463,6464,1,0,0,0,6464,6468,1,0,0,0,6465,6467,7,105,0,0,6466,6465,1,0,0,0,6467,6470,1,0,0,0,6468,6466,1,0,0,0,6468,6469,1,0,0,0,6469,6520,1,0,0,0,6470,6468,1,0,0,0,6471,6473,7,106,0,0,6472,6474,3,642,321,0,6473,6472,1,0,0,0,6473,6474,1,0,0,0,6474,6478,1,0,0,0,6475,6477,7,105,0,0,6476,6475,1,0,0,0,6477,6480,1,0,0,0,6478,6476,1,0,0,0,6478,6479,1,0,0,0,6479,6520,1,0,0,0,6480,6478,1,0,0,0,6481,6520,7,107,0,0,6482,6484,7,108,0,0,6483,6485,3,638,319,0,6484,6483,1,0,0,0,6484,6485,1,0,0,0,6485,6520,1,0,0,0,6486,6487,7,109,0,0,6487,6489,3,634,317,0,6488,6490,5,226,0,0,6489,6488,1,0,0,0,6489,6490,1,0,0,0,6490,6494,1,0,0,0,6491,6492,3,58,29,0,6492,6493,3,596,298,0,6493,6495,1,0,0,0,6494,6491,1,0,0,0,6494,6495,1,0,0,0,6495,6520,1,0,0,0,6496,6499,7,110,0,0,6497,6498,5,1012,0,0,6498,6500,3,618,309,0,6499,6497,1,0,0,0,6499,6500,1,0,0,0,6500,6520,1,0,0,0,6501,6503,5,231,0,0,6502,6504,5,223,0,0,6503,6502,1,0,0,0,6503,6504,1,0,0,0,6504,6506,1,0,0,0,6505,6507,5,226,0,0,6506,6505,1,0,0,0,6506,6507,1,0,0,0,6507,6511,1,0,0,0,6508,6509,3,58,29,0,6509,6510,3,596,298,0,6510,6512,1,0,0,0,6511,6508,1,0,0,0,6511,6512,1,0,0,0,6512,6515,1,0,0,0,6513,6514,5,27,0,0,6514,6516,3,598,299,0,6515,6513,1,0,0,0,6515,6516,1,0,0,0,6516,6520,1,0,0,0,6517,6518,5,231,0,0,6518,6520,5,227,0,0,6519,6393,1,0,0,0,6519,6413,1,0,0,0,6519,6422,1,0,0,0,6519,6430,1,0,0,0,6519,6438,1,0,0,0,6519,6448,1,0,0,0,6519,6458,1,0,0,0,6519,6471,1,0,0,0,6519,6481,1,0,0,0,6519,6482,1,0,0,0,6519,6486,1,0,0,0,6519,6496,1,0,0,0,6519,6501,1,0,0,0,6519,6517,1,0,0,0,6520,633,1,0,0,0,6521,6522,5,1133,0,0,6522,6527,5,1148,0,0,6523,6524,5,1135,0,0,6524,6526,5,1148,0,0,6525,6523,1,0,0,0,6526,6529,1,0,0,0,6527,6525,1,0,0,0,6527,6528,1,0,0,0,6528,6530,1,0,0,0,6529,6527,1,0,0,0,6530,6531,5,1134,0,0,6531,635,1,0,0,0,6532,6534,7,111,0,0,6533,6535,3,638,319,0,6534,6533,1,0,0,0,6534,6535,1,0,0,0,6535,6555,1,0,0,0,6536,6538,5,222,0,0,6537,6539,3,638,319,0,6538,6537,1,0,0,0,6538,6539,1,0,0,0,6539,6543,1,0,0,0,6540,6541,3,58,29,0,6541,6542,3,596,298,0,6542,6544,1,0,0,0,6543,6540,1,0,0,0,6543,6544,1,0,0,0,6544,6555,1,0,0,0,6545,6555,7,112,0,0,6546,6548,7,113,0,0,6547,6549,3,642,321,0,6548,6547,1,0,0,0,6548,6549,1,0,0,0,6549,6555,1,0,0,0,6550,6552,7,114,0,0,6551,6553,7,115,0,0,6552,6551,1,0,0,0,6552,6553,1,0,0,0,6553,6555,1,0,0,0,6554,6532,1,0,0,0,6554,6536,1,0,0,0,6554,6545,1,0,0,0,6554,6546,1,0,0,0,6554,6550,1,0,0,0,6555,6557,1,0,0,0,6556,6558,5,11,0,0,6557,6556,1,0,0,0,6557,6558,1,0,0,0,6558,637,1,0,0,0,6559,6560,5,1133,0,0,6560,6561,3,618,309,0,6561,6562,5,1134,0,0,6562,639,1,0,0,0,6563,6564,5,1133,0,0,6564,6565,3,618,309,0,6565,6566,5,1135,0,0,6566,6567,3,618,309,0,6567,6568,5,1134,0,0,6568,641,1,0,0,0,6569,6570,5,1133,0,0,6570,6573,3,618,309,0,6571,6572,5,1135,0,0,6572,6574,3,618,309,0,6573,6571,1,0,0,0,6573,6574,1,0,0,0,6574,6575,1,0,0,0,6575,6576,5,1134,0,0,6576,643,1,0,0,0,6577,6582,3,612,306,0,6578,6579,5,1135,0,0,6579,6581,3,612,306,0,6580,6578,1,0,0,0,6581,6584,1,0,0,0,6582,6580,1,0,0,0,6582,6583,1,0,0,0,6583,645,1,0,0,0,6584,6582,1,0,0,0,6585,6590,3,570,285,0,6586,6587,5,1135,0,0,6587,6589,3,570,285,0,6588,6586,1,0,0,0,6589,6592,1,0,0,0,6590,6588,1,0,0,0,6590,6591,1,0,0,0,6591,647,1,0,0,0,6592,6590,1,0,0,0,6593,6598,3,554,277,0,6594,6595,5,1135,0,0,6595,6597,3,554,277,0,6596,6594,1,0,0,0,6597,6600,1,0,0,0,6598,6596,1,0,0,0,6598,6599,1,0,0,0,6599,649,1,0,0,0,6600,6598,1,0,0,0,6601,6602,5,1133,0,0,6602,6607,3,582,291,0,6603,6604,5,1135,0,0,6604,6606,3,582,291,0,6605,6603,1,0,0,0,6606,6609,1,0,0,0,6607,6605,1,0,0,0,6607,6608,1,0,0,0,6608,6610,1,0,0,0,6609,6607,1,0,0,0,6610,6611,5,1134,0,0,6611,651,1,0,0,0,6612,6617,3,716,358,0,6613,6614,5,1135,0,0,6614,6616,3,716,358,0,6615,6613,1,0,0,0,6616,6619,1,0,0,0,6617,6615,1,0,0,0,6617,6618,1,0,0,0,6618,653,1,0,0,0,6619,6617,1,0,0,0,6620,6625,3,666,333,0,6621,6622,5,1135,0,0,6622,6624,3,666,333,0,6623,6621,1,0,0,0,6624,6627,1,0,0,0,6625,6623,1,0,0,0,6625,6626,1,0,0,0,6626,655,1,0,0,0,6627,6625,1,0,0,0,6628,6633,3,630,315,0,6629,6630,5,1135,0,0,6630,6632,3,630,315,0,6631,6629,1,0,0,0,6632,6635,1,0,0,0,6633,6631,1,0,0,0,6633,6634,1,0,0,0,6634,657,1,0,0,0,6635,6633,1,0,0,0,6636,6641,5,1148,0,0,6637,6638,5,1135,0,0,6638,6640,5,1148,0,0,6639,6637,1,0,0,0,6640,6643,1,0,0,0,6641,6639,1,0,0,0,6641,6642,1,0,0,0,6642,659,1,0,0,0,6643,6641,1,0,0,0,6644,6649,5,1159,0,0,6645,6646,5,1135,0,0,6646,6648,5,1159,0,0,6647,6645,1,0,0,0,6648,6651,1,0,0,0,6649,6647,1,0,0,0,6649,6650,1,0,0,0,6650,661,1,0,0,0,6651,6649,1,0,0,0,6652,6679,5,116,0,0,6653,6654,5,23,0,0,6654,6655,5,1133,0,0,6655,6656,3,716,358,0,6656,6657,5,12,0,0,6657,6658,3,636,318,0,6658,6659,5,1134,0,0,6659,6679,1,0,0,0,6660,6662,3,722,361,0,6661,6660,1,0,0,0,6661,6662,1,0,0,0,6662,6663,1,0,0,0,6663,6679,3,630,315,0,6664,6668,3,664,332,0,6665,6666,5,118,0,0,6666,6667,5,184,0,0,6667,6669,3,664,332,0,6668,6665,1,0,0,0,6668,6669,1,0,0,0,6669,6679,1,0,0,0,6670,6671,5,1133,0,0,6671,6672,3,716,358,0,6672,6673,5,1134,0,0,6673,6679,1,0,0,0,6674,6675,5,1133,0,0,6675,6676,3,552,276,0,6676,6677,5,1134,0,0,6677,6679,1,0,0,0,6678,6652,1,0,0,0,6678,6653,1,0,0,0,6678,6661,1,0,0,0,6678,6664,1,0,0,0,6678,6670,1,0,0,0,6678,6674,1,0,0,0,6679,663,1,0,0,0,6680,6686,7,116,0,0,6681,6683,5,1133,0,0,6682,6684,3,618,309,0,6683,6682,1,0,0,0,6683,6684,1,0,0,0,6684,6685,1,0,0,0,6685,6687,5,1134,0,0,6686,6681,1,0,0,0,6686,6687,1,0,0,0,6687,6695,1,0,0,0,6688,6689,5,323,0,0,6689,6691,5,1133,0,0,6690,6692,3,618,309,0,6691,6690,1,0,0,0,6691,6692,1,0,0,0,6692,6693,1,0,0,0,6693,6695,5,1134,0,0,6694,6680,1,0,0,0,6694,6688,1,0,0,0,6695,665,1,0,0,0,6696,6699,3,716,358,0,6697,6699,5,42,0,0,6698,6696,1,0,0,0,6698,6697,1,0,0,0,6699,667,1,0,0,0,6700,6701,5,77,0,0,6701,6702,5,60,0,0,6702,669,1,0,0,0,6703,6704,5,77,0,0,6704,6705,5,114,0,0,6705,6706,5,60,0,0,6706,671,1,0,0,0,6707,6708,5,123,0,0,6708,6709,5,141,0,0,6709,673,1,0,0,0,6710,6711,5,674,0,0,6711,6714,3,618,309,0,6712,6714,5,527,0,0,6713,6710,1,0,0,0,6713,6712,1,0,0,0,6714,675,1,0,0,0,6715,6734,3,678,339,0,6716,6734,3,686,343,0,6717,6734,3,688,344,0,6718,6719,3,708,354,0,6719,6721,5,1133,0,0,6720,6722,3,712,356,0,6721,6720,1,0,0,0,6721,6722,1,0,0,0,6722,6723,1,0,0,0,6723,6724,5,1134,0,0,6724,6734,1,0,0,0,6725,6726,3,552,276,0,6726,6728,5,1133,0,0,6727,6729,3,712,356,0,6728,6727,1,0,0,0,6728,6729,1,0,0,0,6729,6730,1,0,0,0,6730,6731,5,1134,0,0,6731,6734,1,0,0,0,6732,6734,3,710,355,0,6733,6715,1,0,0,0,6733,6716,1,0,0,0,6733,6717,1,0,0,0,6733,6718,1,0,0,0,6733,6725,1,0,0,0,6733,6732,1,0,0,0,6734,677,1,0,0,0,6735,6738,7,117,0,0,6736,6737,5,1133,0,0,6737,6739,5,1134,0,0,6738,6736,1,0,0,0,6738,6739,1,0,0,0,6739,6915,1,0,0,0,6740,6915,3,60,30,0,6741,6742,5,32,0,0,6742,6743,5,1133,0,0,6743,6744,3,716,358,0,6744,6745,5,1135,0,0,6745,6746,3,636,318,0,6746,6747,5,1134,0,0,6747,6915,1,0,0,0,6748,6749,5,32,0,0,6749,6750,5,1133,0,0,6750,6751,3,716,358,0,6751,6752,5,187,0,0,6752,6753,3,596,298,0,6753,6754,5,1134,0,0,6754,6915,1,0,0,0,6755,6756,5,23,0,0,6756,6757,5,1133,0,0,6757,6758,3,716,358,0,6758,6759,5,12,0,0,6759,6760,3,636,318,0,6760,6761,5,1134,0,0,6761,6915,1,0,0,0,6762,6763,5,188,0,0,6763,6764,5,1133,0,0,6764,6765,3,570,285,0,6765,6766,5,1134,0,0,6766,6915,1,0,0,0,6767,6768,5,22,0,0,6768,6770,3,716,358,0,6769,6771,3,680,340,0,6770,6769,1,0,0,0,6771,6772,1,0,0,0,6772,6770,1,0,0,0,6772,6773,1,0,0,0,6773,6776,1,0,0,0,6774,6775,5,53,0,0,6775,6777,3,714,357,0,6776,6774,1,0,0,0,6776,6777,1,0,0,0,6777,6778,1,0,0,0,6778,6779,5,407,0,0,6779,6915,1,0,0,0,6780,6782,5,22,0,0,6781,6783,3,680,340,0,6782,6781,1,0,0,0,6783,6784,1,0,0,0,6784,6782,1,0,0,0,6784,6785,1,0,0,0,6785,6788,1,0,0,0,6786,6787,5,53,0,0,6787,6789,3,714,357,0,6788,6786,1,0,0,0,6788,6789,1,0,0,0,6789,6790,1,0,0,0,6790,6791,5,407,0,0,6791,6915,1,0,0,0,6792,6793,5,222,0,0,6793,6794,5,1133,0,0,6794,6797,3,712,356,0,6795,6796,5,187,0,0,6796,6798,3,596,298,0,6797,6795,1,0,0,0,6797,6798,1,0,0,0,6798,6799,1,0,0,0,6799,6800,5,1134,0,0,6800,6915,1,0,0,0,6801,6802,5,324,0,0,6802,6805,5,1133,0,0,6803,6806,3,622,311,0,6804,6806,3,716,358,0,6805,6803,1,0,0,0,6805,6804,1,0,0,0,6806,6807,1,0,0,0,6807,6810,5,80,0,0,6808,6811,3,622,311,0,6809,6811,3,716,358,0,6810,6808,1,0,0,0,6810,6809,1,0,0,0,6811,6812,1,0,0,0,6812,6813,5,1134,0,0,6813,6915,1,0,0,0,6814,6815,7,118,0,0,6815,6818,5,1133,0,0,6816,6819,3,622,311,0,6817,6819,3,716,358,0,6818,6816,1,0,0,0,6818,6817,1,0,0,0,6819,6820,1,0,0,0,6820,6823,5,68,0,0,6821,6824,3,618,309,0,6822,6824,3,716,358,0,6823,6821,1,0,0,0,6823,6822,1,0,0,0,6824,6830,1,0,0,0,6825,6828,5,65,0,0,6826,6829,3,618,309,0,6827,6829,3,716,358,0,6828,6826,1,0,0,0,6828,6827,1,0,0,0,6829,6831,1,0,0,0,6830,6825,1,0,0,0,6830,6831,1,0,0,0,6831,6832,1,0,0,0,6832,6833,5,1134,0,0,6833,6915,1,0,0,0,6834,6835,5,328,0,0,6835,6836,5,1133,0,0,6836,6839,7,119,0,0,6837,6840,3,622,311,0,6838,6840,3,716,358,0,6839,6837,1,0,0,0,6839,6838,1,0,0,0,6839,6840,1,0,0,0,6840,6841,1,0,0,0,6841,6844,5,68,0,0,6842,6845,3,622,311,0,6843,6845,3,716,358,0,6844,6842,1,0,0,0,6844,6843,1,0,0,0,6845,6846,1,0,0,0,6846,6847,5,1134,0,0,6847,6915,1,0,0,0,6848,6849,5,328,0,0,6849,6852,5,1133,0,0,6850,6853,3,622,311,0,6851,6853,3,716,358,0,6852,6850,1,0,0,0,6852,6851,1,0,0,0,6853,6854,1,0,0,0,6854,6857,5,68,0,0,6855,6858,3,622,311,0,6856,6858,3,716,358,0,6857,6855,1,0,0,0,6857,6856,1,0,0,0,6858,6859,1,0,0,0,6859,6860,5,1134,0,0,6860,6915,1,0,0,0,6861,6862,5,1103,0,0,6862,6865,5,1133,0,0,6863,6866,3,622,311,0,6864,6866,3,716,358,0,6865,6863,1,0,0,0,6865,6864,1,0,0,0,6866,6873,1,0,0,0,6867,6868,5,12,0,0,6868,6869,7,120,0,0,6869,6870,5,1133,0,0,6870,6871,3,618,309,0,6871,6872,5,1134,0,0,6872,6874,1,0,0,0,6873,6867,1,0,0,0,6873,6874,1,0,0,0,6874,6876,1,0,0,0,6875,6877,3,682,341,0,6876,6875,1,0,0,0,6876,6877,1,0,0,0,6877,6878,1,0,0,0,6878,6879,5,1134,0,0,6879,6915,1,0,0,0,6880,6881,5,321,0,0,6881,6882,5,1133,0,0,6882,6883,3,70,35,0,6883,6886,5,68,0,0,6884,6887,3,622,311,0,6885,6887,3,716,358,0,6886,6884,1,0,0,0,6886,6885,1,0,0,0,6887,6888,1,0,0,0,6888,6889,5,1134,0,0,6889,6915,1,0,0,0,6890,6891,5,900,0,0,6891,6892,5,1133,0,0,6892,6893,7,121,0,0,6893,6894,5,1135,0,0,6894,6895,3,622,311,0,6895,6896,5,1134,0,0,6896,6915,1,0,0,0,6897,6898,5,282,0,0,6898,6899,5,1133,0,0,6899,6900,3,716,358,0,6900,6901,5,1135,0,0,6901,6904,3,716,358,0,6902,6903,5,593,0,0,6903,6905,3,636,318,0,6904,6902,1,0,0,0,6904,6905,1,0,0,0,6905,6907,1,0,0,0,6906,6908,3,266,133,0,6907,6906,1,0,0,0,6907,6908,1,0,0,0,6908,6910,1,0,0,0,6909,6911,3,268,134,0,6910,6909,1,0,0,0,6910,6911,1,0,0,0,6911,6912,1,0,0,0,6912,6913,5,1134,0,0,6913,6915,1,0,0,0,6914,6735,1,0,0,0,6914,6740,1,0,0,0,6914,6741,1,0,0,0,6914,6748,1,0,0,0,6914,6755,1,0,0,0,6914,6762,1,0,0,0,6914,6767,1,0,0,0,6914,6780,1,0,0,0,6914,6792,1,0,0,0,6914,6801,1,0,0,0,6914,6814,1,0,0,0,6914,6834,1,0,0,0,6914,6848,1,0,0,0,6914,6861,1,0,0,0,6914,6880,1,0,0,0,6914,6890,1,0,0,0,6914,6897,1,0,0,0,6915,679,1,0,0,0,6916,6917,5,189,0,0,6917,6918,3,714,357,0,6918,6919,5,174,0,0,6919,6920,3,714,357,0,6920,681,1,0,0,0,6921,6922,5,472,0,0,6922,6927,3,684,342,0,6923,6924,5,1135,0,0,6924,6926,3,684,342,0,6925,6923,1,0,0,0,6926,6929,1,0,0,0,6927,6925,1,0,0,0,6927,6928,1,0,0,0,6928,6936,1,0,0,0,6929,6927,1,0,0,0,6930,6931,5,472,0,0,6931,6932,3,618,309,0,6932,6933,5,1121,0,0,6933,6934,3,618,309,0,6934,6936,1,0,0,0,6935,6921,1,0,0,0,6935,6930,1,0,0,0,6936,683,1,0,0,0,6937,6939,3,618,309,0,6938,6940,7,122,0,0,6939,6938,1,0,0,0,6939,6940,1,0,0,0,6940,685,1,0,0,0,6941,6942,7,123,0,0,6942,6944,5,1133,0,0,6943,6945,7,44,0,0,6944,6943,1,0,0,0,6944,6945,1,0,0,0,6945,6946,1,0,0,0,6946,6947,3,714,357,0,6947,6949,5,1134,0,0,6948,6950,3,690,345,0,6949,6948,1,0,0,0,6949,6950,1,0,0,0,6950,7001,1,0,0,0,6951,6952,5,290,0,0,6952,6960,5,1133,0,0,6953,6961,5,1117,0,0,6954,6956,5,6,0,0,6955,6954,1,0,0,0,6955,6956,1,0,0,0,6956,6957,1,0,0,0,6957,6961,3,714,357,0,6958,6959,5,49,0,0,6959,6961,3,712,356,0,6960,6953,1,0,0,0,6960,6955,1,0,0,0,6960,6958,1,0,0,0,6961,6962,1,0,0,0,6962,6964,5,1134,0,0,6963,6965,3,690,345,0,6964,6963,1,0,0,0,6964,6965,1,0,0,0,6965,7001,1,0,0,0,6966,6967,7,124,0,0,6967,6969,5,1133,0,0,6968,6970,5,6,0,0,6969,6968,1,0,0,0,6969,6970,1,0,0,0,6970,6971,1,0,0,0,6971,6972,3,714,357,0,6972,6974,5,1134,0,0,6973,6975,3,690,345,0,6974,6973,1,0,0,0,6974,6975,1,0,0,0,6975,7001,1,0,0,0,6976,6977,5,294,0,0,6977,6979,5,1133,0,0,6978,6980,5,49,0,0,6979,6978,1,0,0,0,6979,6980,1,0,0,0,6980,6981,1,0,0,0,6981,6992,3,712,356,0,6982,6983,5,124,0,0,6983,6984,5,19,0,0,6984,6989,3,230,115,0,6985,6986,5,1135,0,0,6986,6988,3,230,115,0,6987,6985,1,0,0,0,6988,6991,1,0,0,0,6989,6987,1,0,0,0,6989,6990,1,0,0,0,6990,6993,1,0,0,0,6991,6989,1,0,0,0,6992,6982,1,0,0,0,6992,6993,1,0,0,0,6993,6996,1,0,0,0,6994,6995,5,154,0,0,6995,6997,5,1148,0,0,6996,6994,1,0,0,0,6996,6997,1,0,0,0,6997,6998,1,0,0,0,6998,6999,5,1134,0,0,6999,7001,1,0,0,0,7e3,6941,1,0,0,0,7e3,6951,1,0,0,0,7e3,6966,1,0,0,0,7e3,6976,1,0,0,0,7001,687,1,0,0,0,7002,7003,7,125,0,0,7003,7004,5,1133,0,0,7004,7007,3,716,358,0,7005,7006,5,1135,0,0,7006,7008,3,618,309,0,7007,7005,1,0,0,0,7007,7008,1,0,0,0,7008,7011,1,0,0,0,7009,7010,5,1135,0,0,7010,7012,3,618,309,0,7011,7009,1,0,0,0,7011,7012,1,0,0,0,7012,7013,1,0,0,0,7013,7014,5,1134,0,0,7014,7015,3,690,345,0,7015,7041,1,0,0,0,7016,7017,7,126,0,0,7017,7018,5,1133,0,0,7018,7019,3,716,358,0,7019,7020,5,1134,0,0,7020,7021,3,690,345,0,7021,7041,1,0,0,0,7022,7023,7,127,0,0,7023,7024,5,1133,0,0,7024,7025,5,1134,0,0,7025,7041,3,690,345,0,7026,7027,5,301,0,0,7027,7028,5,1133,0,0,7028,7029,3,716,358,0,7029,7030,5,1135,0,0,7030,7031,3,618,309,0,7031,7032,5,1134,0,0,7032,7033,3,690,345,0,7033,7041,1,0,0,0,7034,7035,5,300,0,0,7035,7036,5,1133,0,0,7036,7037,3,618,309,0,7037,7038,5,1134,0,0,7038,7039,3,690,345,0,7039,7041,1,0,0,0,7040,7002,1,0,0,0,7040,7016,1,0,0,0,7040,7022,1,0,0,0,7040,7026,1,0,0,0,7040,7034,1,0,0,0,7041,689,1,0,0,0,7042,7048,5,128,0,0,7043,7044,5,1133,0,0,7044,7045,3,692,346,0,7045,7046,5,1134,0,0,7046,7049,1,0,0,0,7047,7049,3,694,347,0,7048,7043,1,0,0,0,7048,7047,1,0,0,0,7049,691,1,0,0,0,7050,7052,3,694,347,0,7051,7050,1,0,0,0,7051,7052,1,0,0,0,7052,7054,1,0,0,0,7053,7055,3,706,353,0,7054,7053,1,0,0,0,7054,7055,1,0,0,0,7055,7057,1,0,0,0,7056,7058,3,228,114,0,7057,7056,1,0,0,0,7057,7058,1,0,0,0,7058,7060,1,0,0,0,7059,7061,3,696,348,0,7060,7059,1,0,0,0,7060,7061,1,0,0,0,7061,693,1,0,0,0,7062,7063,3,612,306,0,7063,695,1,0,0,0,7064,7065,3,698,349,0,7065,7066,3,700,350,0,7066,697,1,0,0,0,7067,7068,7,128,0,0,7068,699,1,0,0,0,7069,7072,3,704,352,0,7070,7072,3,702,351,0,7071,7069,1,0,0,0,7071,7070,1,0,0,0,7072,701,1,0,0,0,7073,7074,5,16,0,0,7074,7075,3,704,352,0,7075,7076,5,10,0,0,7076,7077,3,704,352,0,7077,703,1,0,0,0,7078,7079,5,35,0,0,7079,7086,5,600,0,0,7080,7081,5,657,0,0,7081,7086,7,129,0,0,7082,7083,3,716,358,0,7083,7084,7,129,0,0,7084,7086,1,0,0,0,7085,7078,1,0,0,0,7085,7080,1,0,0,0,7085,7082,1,0,0,0,7086,705,1,0,0,0,7087,7088,5,129,0,0,7088,7089,5,19,0,0,7089,7094,3,716,358,0,7090,7091,5,1135,0,0,7091,7093,3,716,358,0,7092,7090,1,0,0,0,7093,7096,1,0,0,0,7094,7092,1,0,0,0,7094,7095,1,0,0,0,7095,707,1,0,0,0,7096,7094,1,0,0,0,7097,7122,3,748,374,0,7098,7122,5,747,0,0,7099,7122,5,317,0,0,7100,7122,5,313,0,0,7101,7122,5,314,0,0,7102,7122,5,315,0,0,7103,7122,5,318,0,0,7104,7122,5,319,0,0,7105,7122,5,320,0,0,7106,7122,5,77,0,0,7107,7122,5,85,0,0,7108,7122,5,316,0,0,7109,7122,5,322,0,0,7110,7122,5,508,0,0,7111,7122,5,323,0,0,7112,7122,5,140,0,0,7113,7122,5,141,0,0,7114,7122,5,325,0,0,7115,7122,5,326,0,0,7116,7122,5,327,0,0,7117,7122,5,328,0,0,7118,7122,5,329,0,0,7119,7122,5,330,0,0,7120,7122,5,331,0,0,7121,7097,1,0,0,0,7121,7098,1,0,0,0,7121,7099,1,0,0,0,7121,7100,1,0,0,0,7121,7101,1,0,0,0,7121,7102,1,0,0,0,7121,7103,1,0,0,0,7121,7104,1,0,0,0,7121,7105,1,0,0,0,7121,7106,1,0,0,0,7121,7107,1,0,0,0,7121,7108,1,0,0,0,7121,7109,1,0,0,0,7121,7110,1,0,0,0,7121,7111,1,0,0,0,7121,7112,1,0,0,0,7121,7113,1,0,0,0,7121,7114,1,0,0,0,7121,7115,1,0,0,0,7121,7116,1,0,0,0,7121,7117,1,0,0,0,7121,7118,1,0,0,0,7121,7119,1,0,0,0,7121,7120,1,0,0,0,7122,709,1,0,0,0,7123,7124,7,130,0,0,7124,7125,5,1133,0,0,7125,7126,3,714,357,0,7126,7127,5,1134,0,0,7127,711,1,0,0,0,7128,7133,3,630,315,0,7129,7133,3,570,285,0,7130,7133,3,676,338,0,7131,7133,3,716,358,0,7132,7128,1,0,0,0,7132,7129,1,0,0,0,7132,7130,1,0,0,0,7132,7131,1,0,0,0,7133,7143,1,0,0,0,7134,7139,5,1135,0,0,7135,7140,3,630,315,0,7136,7140,3,570,285,0,7137,7140,3,676,338,0,7138,7140,3,716,358,0,7139,7135,1,0,0,0,7139,7136,1,0,0,0,7139,7137,1,0,0,0,7139,7138,1,0,0,0,7140,7142,1,0,0,0,7141,7134,1,0,0,0,7142,7145,1,0,0,0,7143,7141,1,0,0,0,7143,7144,1,0,0,0,7144,713,1,0,0,0,7145,7143,1,0,0,0,7146,7151,3,630,315,0,7147,7151,3,570,285,0,7148,7151,3,676,338,0,7149,7151,3,716,358,0,7150,7146,1,0,0,0,7150,7147,1,0,0,0,7150,7148,1,0,0,0,7150,7149,1,0,0,0,7151,715,1,0,0,0,7152,7153,6,358,-1,0,7153,7154,7,131,0,0,7154,7164,3,716,358,4,7155,7156,3,718,359,0,7156,7158,5,88,0,0,7157,7159,5,114,0,0,7158,7157,1,0,0,0,7158,7159,1,0,0,0,7159,7160,1,0,0,0,7160,7161,7,132,0,0,7161,7164,1,0,0,0,7162,7164,3,718,359,0,7163,7152,1,0,0,0,7163,7155,1,0,0,0,7163,7162,1,0,0,0,7164,7171,1,0,0,0,7165,7166,10,3,0,0,7166,7167,3,726,363,0,7167,7168,3,716,358,4,7168,7170,1,0,0,0,7169,7165,1,0,0,0,7170,7173,1,0,0,0,7171,7169,1,0,0,0,7171,7172,1,0,0,0,7172,717,1,0,0,0,7173,7171,1,0,0,0,7174,7175,6,359,-1,0,7175,7176,3,720,360,0,7176,7241,1,0,0,0,7177,7178,10,8,0,0,7178,7179,3,724,362,0,7179,7180,3,718,359,9,7180,7240,1,0,0,0,7181,7183,10,6,0,0,7182,7184,5,114,0,0,7183,7182,1,0,0,0,7183,7184,1,0,0,0,7184,7185,1,0,0,0,7185,7186,5,16,0,0,7186,7187,3,718,359,0,7187,7188,5,10,0,0,7188,7189,3,718,359,7,7189,7240,1,0,0,0,7190,7191,10,5,0,0,7191,7192,5,620,0,0,7192,7193,5,98,0,0,7193,7240,3,718,359,6,7194,7196,10,3,0,0,7195,7197,5,114,0,0,7196,7195,1,0,0,0,7196,7197,1,0,0,0,7197,7198,1,0,0,0,7198,7199,7,133,0,0,7199,7240,3,718,359,4,7200,7202,10,10,0,0,7201,7203,5,114,0,0,7202,7201,1,0,0,0,7202,7203,1,0,0,0,7203,7204,1,0,0,0,7204,7205,5,80,0,0,7205,7208,5,1133,0,0,7206,7209,3,198,99,0,7207,7209,3,652,326,0,7208,7206,1,0,0,0,7208,7207,1,0,0,0,7209,7210,1,0,0,0,7210,7211,5,1134,0,0,7211,7240,1,0,0,0,7212,7213,10,9,0,0,7213,7214,5,88,0,0,7214,7240,3,628,314,0,7215,7216,10,7,0,0,7216,7217,3,724,362,0,7217,7218,7,134,0,0,7218,7219,5,1133,0,0,7219,7220,3,198,99,0,7220,7221,5,1134,0,0,7221,7240,1,0,0,0,7222,7224,10,4,0,0,7223,7225,5,114,0,0,7224,7223,1,0,0,0,7224,7225,1,0,0,0,7225,7226,1,0,0,0,7226,7227,5,98,0,0,7227,7230,3,718,359,0,7228,7229,5,413,0,0,7229,7231,5,1148,0,0,7230,7228,1,0,0,0,7230,7231,1,0,0,0,7231,7240,1,0,0,0,7232,7233,10,2,0,0,7233,7234,5,505,0,0,7234,7235,5,533,0,0,7235,7236,5,1133,0,0,7236,7237,3,718,359,0,7237,7238,5,1134,0,0,7238,7240,1,0,0,0,7239,7177,1,0,0,0,7239,7181,1,0,0,0,7239,7190,1,0,0,0,7239,7194,1,0,0,0,7239,7200,1,0,0,0,7239,7212,1,0,0,0,7239,7215,1,0,0,0,7239,7222,1,0,0,0,7239,7232,1,0,0,0,7240,7243,1,0,0,0,7241,7239,1,0,0,0,7241,7242,1,0,0,0,7242,719,1,0,0,0,7243,7241,1,0,0,0,7244,7245,6,360,-1,0,7245,7293,3,630,315,0,7246,7293,3,570,285,0,7247,7293,3,676,338,0,7248,7293,3,594,297,0,7249,7250,3,722,361,0,7250,7251,3,720,360,12,7251,7293,1,0,0,0,7252,7253,5,226,0,0,7253,7293,3,720,360,11,7254,7255,5,1159,0,0,7255,7256,5,1108,0,0,7256,7293,3,720,360,10,7257,7258,5,1133,0,0,7258,7263,3,716,358,0,7259,7260,5,1135,0,0,7260,7262,3,716,358,0,7261,7259,1,0,0,0,7262,7265,1,0,0,0,7263,7261,1,0,0,0,7263,7264,1,0,0,0,7264,7266,1,0,0,0,7265,7263,1,0,0,0,7266,7267,5,1134,0,0,7267,7293,1,0,0,0,7268,7269,5,600,0,0,7269,7270,5,1133,0,0,7270,7273,3,716,358,0,7271,7272,5,1135,0,0,7272,7274,3,716,358,0,7273,7271,1,0,0,0,7274,7275,1,0,0,0,7275,7273,1,0,0,0,7275,7276,1,0,0,0,7276,7277,1,0,0,0,7277,7278,5,1134,0,0,7278,7293,1,0,0,0,7279,7280,5,60,0,0,7280,7281,5,1133,0,0,7281,7282,3,198,99,0,7282,7283,5,1134,0,0,7283,7293,1,0,0,0,7284,7285,5,1133,0,0,7285,7286,3,198,99,0,7286,7287,5,1134,0,0,7287,7293,1,0,0,0,7288,7289,5,86,0,0,7289,7290,3,716,358,0,7290,7291,3,70,35,0,7291,7293,1,0,0,0,7292,7244,1,0,0,0,7292,7246,1,0,0,0,7292,7247,1,0,0,0,7292,7248,1,0,0,0,7292,7249,1,0,0,0,7292,7252,1,0,0,0,7292,7254,1,0,0,0,7292,7257,1,0,0,0,7292,7268,1,0,0,0,7292,7279,1,0,0,0,7292,7284,1,0,0,0,7292,7288,1,0,0,0,7293,7315,1,0,0,0,7294,7295,10,4,0,0,7295,7296,3,728,364,0,7296,7297,3,720,360,5,7297,7314,1,0,0,0,7298,7299,10,3,0,0,7299,7300,3,730,365,0,7300,7301,3,720,360,4,7301,7314,1,0,0,0,7302,7303,10,2,0,0,7303,7304,3,732,366,0,7304,7305,3,720,360,3,7305,7314,1,0,0,0,7306,7307,10,1,0,0,7307,7308,3,734,367,0,7308,7309,3,720,360,2,7309,7314,1,0,0,0,7310,7311,10,14,0,0,7311,7312,5,27,0,0,7312,7314,3,598,299,0,7313,7294,1,0,0,0,7313,7298,1,0,0,0,7313,7302,1,0,0,0,7313,7306,1,0,0,0,7313,7310,1,0,0,0,7314,7317,1,0,0,0,7315,7313,1,0,0,0,7315,7316,1,0,0,0,7316,721,1,0,0,0,7317,7315,1,0,0,0,7318,7319,7,135,0,0,7319,723,1,0,0,0,7320,7335,5,1124,0,0,7321,7335,5,1125,0,0,7322,7335,5,1126,0,0,7323,7324,5,1126,0,0,7324,7335,5,1124,0,0,7325,7326,5,1125,0,0,7326,7335,5,1124,0,0,7327,7328,5,1126,0,0,7328,7335,5,1125,0,0,7329,7330,5,1127,0,0,7330,7335,5,1124,0,0,7331,7332,5,1126,0,0,7332,7333,5,1124,0,0,7333,7335,5,1125,0,0,7334,7320,1,0,0,0,7334,7321,1,0,0,0,7334,7322,1,0,0,0,7334,7323,1,0,0,0,7334,7325,1,0,0,0,7334,7327,1,0,0,0,7334,7329,1,0,0,0,7334,7331,1,0,0,0,7335,725,1,0,0,0,7336,7344,5,10,0,0,7337,7338,5,1130,0,0,7338,7344,5,1130,0,0,7339,7344,5,194,0,0,7340,7344,5,123,0,0,7341,7342,5,1129,0,0,7342,7344,5,1129,0,0,7343,7336,1,0,0,0,7343,7337,1,0,0,0,7343,7339,1,0,0,0,7343,7340,1,0,0,0,7343,7341,1,0,0,0,7344,727,1,0,0,0,7345,7346,5,1126,0,0,7346,7353,5,1126,0,0,7347,7348,5,1125,0,0,7348,7353,5,1125,0,0,7349,7353,5,1130,0,0,7350,7353,5,1131,0,0,7351,7353,5,1129,0,0,7352,7345,1,0,0,0,7352,7347,1,0,0,0,7352,7349,1,0,0,0,7352,7350,1,0,0,0,7352,7351,1,0,0,0,7353,729,1,0,0,0,7354,7355,7,136,0,0,7355,731,1,0,0,0,7356,7357,7,137,0,0,7357,733,1,0,0,0,7358,7359,5,1121,0,0,7359,7364,5,1125,0,0,7360,7361,5,1121,0,0,7361,7362,5,1125,0,0,7362,7364,5,1125,0,0,7363,7358,1,0,0,0,7363,7360,1,0,0,0,7364,735,1,0,0,0,7365,7366,7,138,0,0,7366,737,1,0,0,0,7367,7368,7,139,0,0,7368,739,1,0,0,0,7369,7370,7,140,0,0,7370,741,1,0,0,0,7371,7372,7,141,0,0,7372,743,1,0,0,0,7373,7374,7,142,0,0,7374,745,1,0,0,0,7375,7376,7,143,0,0,7376,747,1,0,0,0,7377,7378,7,144,0,0,7378,749,1,0,0,0,1057,751,757,763,772,812,827,838,855,860,872,899,908,913,919,924,928,937,940,943,947,954,957,962,970,975,980,983,985,997,1e3,1004,1007,1011,1014,1018,1021,1024,1028,1031,1035,1041,1047,1053,1060,1067,1070,1074,1079,1085,1094,1099,1104,1122,1129,1133,1143,1147,1151,1155,1159,1164,1167,1170,1173,1176,1182,1186,1192,1197,1200,1203,1205,1216,1220,1223,1237,1240,1244,1247,1251,1254,1258,1261,1265,1268,1271,1275,1278,1282,1288,1292,1304,1310,1321,1326,1334,1342,1347,1350,1355,1363,1368,1374,1379,1383,1385,1388,1392,1396,1399,1403,1407,1411,1417,1420,1427,1432,1438,1445,1451,1459,1462,1469,1472,1474,1480,1486,1503,1510,1517,1529,1534,1537,1540,1553,1566,1571,1587,1595,1605,1608,1611,1617,1621,1624,1635,1638,1643,1656,1663,1670,1672,1679,1683,1685,1690,1693,1699,1704,1706,1710,1713,1716,1722,1727,1729,1734,1741,1743,1750,1755,1759,1762,1770,1778,1780,1790,1794,1797,1803,1808,1811,1817,1820,1824,1827,1831,1836,1841,1846,1850,1854,1858,1862,1866,1870,1875,1880,1885,1891,1896,1901,1906,1911,1916,1922,1927,1932,1937,1942,1947,1952,1957,1964,1969,1974,1979,1983,1988,1996,2001,2007,2019,2026,2028,2036,2041,2044,2052,2058,2062,2075,2087,2089,2092,2100,2106,2112,2125,2132,2141,2146,2157,2166,2171,2183,2190,2199,2204,2216,2223,2232,2237,2244,2253,2258,2260,2265,2273,2282,2286,2289,2293,2298,2304,2310,2315,2320,2325,2330,2333,2341,2351,2355,2362,2367,2370,2375,2378,2382,2386,2394,2413,2416,2419,2423,2433,2446,2453,2456,2461,2468,2471,2474,2485,2488,2492,2500,2503,2508,2516,2522,2526,2530,2535,2540,2547,2551,2562,2570,2573,2579,2585,2587,2592,2595,2601,2607,2609,2613,2616,2619,2625,2631,2634,2640,2646,2648,2653,2661,2663,2672,2675,2678,2683,2685,2694,2697,2700,2705,2707,2716,2721,2729,2733,2741,2751,2756,2763,2767,2771,2790,2800,2806,2823,2827,2837,2842,2845,2854,2865,2873,2879,2889,2901,2908,2915,2930,2943,2949,2955,2961,2967,2973,2979,2984,2991,2998,3005,3010,3013,3015,3029,3036,3043,3049,3053,3057,3064,3067,3072,3079,3086,3090,3095,3105,3112,3121,3130,3139,3142,3146,3155,3159,3162,3165,3171,3174,3178,3181,3185,3188,3196,3199,3210,3213,3218,3221,3226,3236,3241,3247,3249,3255,3257,3263,3271,3276,3284,3287,3292,3295,3300,3308,3316,3322,3330,3335,3343,3346,3350,3353,3361,3367,3376,3379,3383,3387,3391,3396,3400,3404,3406,3409,3412,3415,3421,3425,3428,3431,3434,3437,3444,3446,3450,3455,3461,3466,3473,3479,3484,3487,3493,3497,3505,3509,3512,3515,3520,3523,3530,3534,3537,3541,3545,3548,3551,3556,3562,3566,3576,3582,3586,3592,3596,3602,3605,3617,3621,3625,3633,3637,3645,3648,3652,3655,3663,3668,3671,3674,3678,3681,3690,3695,3704,3709,3716,3723,3731,3737,3745,3748,3751,3758,3761,3768,3776,3782,3793,3796,3800,3806,3815,3820,3824,3830,3836,3838,3842,3851,3861,3871,3877,3882,3886,3889,3892,3895,3898,3904,3910,3913,3916,3919,3922,3925,3927,3933,3939,3942,3945,3948,3951,3954,3958,3964,3968,3976,3980,3983,3985,3998,4001,4008,4018,4021,4026,4028,4032,4040,4046,4055,4068,4072,4078,4082,4092,4096,4100,4104,4106,4114,4126,4132,4134,4140,4142,4144,4150,4158,4166,4170,4174,4183,4188,4208,4213,4219,4226,4231,4240,4243,4247,4251,4255,4258,4261,4264,4268,4272,4275,4278,4281,4288,4292,4307,4311,4323,4331,4341,4345,4348,4354,4357,4360,4369,4378,4388,4392,4402,4412,4420,4423,4432,4435,4439,4444,4448,4457,4460,4491,4494,4497,4553,4558,4586,4600,4607,4611,4617,4625,4627,4638,4648,4655,4661,4669,4674,4682,4690,4698,4706,4712,4717,4722,4727,4733,4735,4746,4751,4758,4760,4774,4780,4785,4790,4796,4803,4811,4819,4824,4830,4833,4841,4848,4857,4860,4877,4885,4893,4897,4904,4910,4918,4927,4933,4940,4945,4948,4950,4956,4958,4962,4964,4971,4976,4983,4991,4997,5003,5008,5011,5013,5019,5021,5025,5027,5034,5036,5041,5051,5056,5065,5070,5073,5075,5081,5083,5086,5094,5103,5105,5112,5115,5127,5133,5142,5151,5156,5165,5178,5181,5193,5200,5205,5215,5243,5247,5252,5259,5262,5268,5278,5288,5298,5304,5313,5319,5326,5328,5338,5342,5346,5356,5361,5433,5451,5459,5471,5478,5480,5490,5493,5501,5508,5512,5519,5524,5527,5530,5539,5543,5547,5570,5577,5581,5588,5595,5598,5614,5617,5627,5631,5637,5640,5645,5649,5656,5659,5665,5697,5700,5712,5715,5725,5733,5737,5744,5747,5756,5762,5768,5778,5780,5786,5789,5792,5804,5807,5813,5816,5824,5832,5838,5842,5856,5868,5875,5878,5885,5892,5897,5910,5921,5927,5932,5945,5947,5952,5956,5959,5961,5968,5975,5978,5981,5987,5991,5997,6003,6016,6021,6029,6032,6037,6042,6050,6053,6061,6065,6072,6078,6081,6085,6098,6104,6116,6119,6128,6133,6139,6148,6153,6160,6168,6178,6186,6188,6191,6195,6197,6212,6217,6223,6226,6229,6235,6244,6252,6262,6266,6271,6291,6298,6300,6307,6309,6313,6318,6329,6334,6340,6343,6347,6352,6355,6359,6363,6365,6370,6375,6388,6391,6395,6398,6401,6406,6411,6417,6420,6425,6428,6433,6436,6440,6445,6450,6455,6460,6463,6468,6473,6478,6484,6489,6494,6499,6503,6506,6511,6515,6519,6527,6534,6538,6543,6548,6552,6554,6557,6573,6582,6590,6598,6607,6617,6625,6633,6641,6649,6661,6668,6678,6683,6686,6691,6694,6698,6713,6721,6728,6733,6738,6772,6776,6784,6788,6797,6805,6810,6818,6823,6828,6830,6839,6844,6852,6857,6865,6873,6876,6886,6904,6907,6910,6914,6927,6935,6939,6944,6949,6955,6960,6964,6969,6974,6979,6989,6992,6996,7e3,7007,7011,7040,7048,7051,7054,7057,7060,7071,7085,7094,7121,7132,7139,7143,7150,7158,7163,7171,7183,7196,7202,7208,7224,7230,7239,7241,7263,7275,7292,7313,7315,7334,7343,7352,7363],Qi.vocabulary=new Ra(Qi.literalNames,Qi.symbolicNames,[]),Qi.decisionsToDFA=Qi._ATN.decisionToState.map(((t,e)=>new ni(t,e))),Qi),vC=class extends ga{constructor(t,e){super(t,e)}EOF(){return this.getToken(FC.EOF,0)}statements(){return this.getRuleContext(0,BC)}get ruleIndex(){return FC.RULE_root}accept(t){return t.visitRoot?t.visitRoot(this):t.visitChildren(this)}},BC=class t extends ga{constructor(t,e){super(t,e)}statement(){return this.getRuleContext(0,yC)}SEMI(){return this.getToken(FC.SEMI,0)}statements(){return this.getRuleContext(0,t)}get ruleIndex(){return FC.RULE_statements}accept(t){return t.visitStatements?t.visitStatements(this):t.visitChildren(this)}},yC=class extends ga{constructor(t,e){super(t,e)}ddlStatement(){return this.getRuleContext(0,fC)}dmlStatement(){return this.getRuleContext(0,YC)}transactionStatement(){return this.getRuleContext(0,wC)}replicationStatement(){return this.getRuleContext(0,bC)}preparedStatement(){return this.getRuleContext(0,WC)}administrationStatement(){return this.getRuleContext(0,XC)}utilityStatement(){return this.getRuleContext(0,KC)}get ruleIndex(){return FC.RULE_statement}accept(t){return t.visitStatement?t.visitStatement(this):t.visitChildren(this)}},fC=class extends ga{constructor(t,e){super(t,e)}createDatabase(){return this.getRuleContext(0,QC)}createEvent(){return this.getRuleContext(0,JC)}createIndex(){return this.getRuleContext(0,ZC)}createLogfileGroup(){return this.getRuleContext(0,qC)}createProcedure(){return this.getRuleContext(0,jC)}createFunction(){return this.getRuleContext(0,zC)}createServer(){return this.getRuleContext(0,t_)}createTable(){return this.getRuleContext(0,e_)}createTablespaceInnodb(){return this.getRuleContext(0,i_)}createTablespaceNdb(){return this.getRuleContext(0,c_)}createTrigger(){return this.getRuleContext(0,n_)}createView(){return this.getRuleContext(0,R_)}createRole(){return this.getRuleContext(0,$C)}alterDatabase(){return this.getRuleContext(0,PM)}alterEvent(){return this.getRuleContext(0,UM)}alterFunction(){return this.getRuleContext(0,mM)}alterInstance(){return this.getRuleContext(0,DM)}alterLogfileGroup(){return this.getRuleContext(0,pM)}alterProcedure(){return this.getRuleContext(0,gM)}alterServer(){return this.getRuleContext(0,xM)}alterTable(){return this.getRuleContext(0,kM)}alterTablespace(){return this.getRuleContext(0,HM)}alterView(){return this.getRuleContext(0,GM)}dropDatabase(){return this.getRuleContext(0,Gd)}dropEvent(){return this.getRuleContext(0,Fd)}dropIndex(){return this.getRuleContext(0,vd)}dropLogfileGroup(){return this.getRuleContext(0,Bd)}dropProcedure(){return this.getRuleContext(0,yd)}dropFunction(){return this.getRuleContext(0,fd)}dropServer(){return this.getRuleContext(0,Yd)}dropTable(){return this.getRuleContext(0,wd)}dropTablespace(){return this.getRuleContext(0,bd)}dropTrigger(){return this.getRuleContext(0,Wd)}dropView(){return this.getRuleContext(0,Vd)}dropRole(){return this.getRuleContext(0,Xd)}setRole(){return this.getRuleContext(0,Kd)}renameTable(){return this.getRuleContext(0,Qd)}truncateTable(){return this.getRuleContext(0,Zd)}get ruleIndex(){return FC.RULE_ddlStatement}accept(t){return t.visitDdlStatement?t.visitDdlStatement(this):t.visitChildren(this)}},YC=class extends ga{constructor(t,e){super(t,e)}selectStatement(){return this.getRuleContext(0,rU)}insertStatement(){return this.getRuleContext(0,tU)}updateStatement(){return this.getRuleContext(0,TU)}deleteStatement(){return this.getRuleContext(0,jd)}replaceStatement(){return this.getRuleContext(0,aU)}callStatement(){return this.getRuleContext(0,qd)}loadDataStatement(){return this.getRuleContext(0,eU)}loadXmlStatement(){return this.getRuleContext(0,sU)}doStatement(){return this.getRuleContext(0,zd)}handlerStatement(){return this.getRuleContext(0,$d)}valuesStatement(){return this.getRuleContext(0,oU)}withStatement(){return this.getRuleContext(0,nx)}tableStatement(){return this.getRuleContext(0,hx)}get ruleIndex(){return FC.RULE_dmlStatement}accept(t){return t.visitDmlStatement?t.visitDmlStatement(this):t.visitChildren(this)}},wC=class extends ga{constructor(t,e){super(t,e)}startTransaction(){return this.getRuleContext(0,_m)}beginWork(){return this.getRuleContext(0,Pm)}commitWork(){return this.getRuleContext(0,Mm)}rollbackWork(){return this.getRuleContext(0,dm)}savepointStatement(){return this.getRuleContext(0,Um)}rollbackStatement(){return this.getRuleContext(0,mm)}releaseStatement(){return this.getRuleContext(0,Dm)}lockTables(){return this.getRuleContext(0,pm)}unlockTables(){return this.getRuleContext(0,gm)}get ruleIndex(){return FC.RULE_transactionStatement}accept(t){return t.visitTransactionStatement?t.visitTransactionStatement(this):t.visitChildren(this)}},bC=class extends ga{constructor(t,e){super(t,e)}changeMaster(){return this.getRuleContext(0,ym)}changeReplicationFilter(){return this.getRuleContext(0,fm)}purgeBinaryLogs(){return this.getRuleContext(0,Ym)}resetMaster(){return this.getRuleContext(0,wm)}resetSlave(){return this.getRuleContext(0,bm)}startSlave(){return this.getRuleContext(0,Wm)}stopSlave(){return this.getRuleContext(0,Vm)}startGroupReplication(){return this.getRuleContext(0,Xm)}stopGroupReplication(){return this.getRuleContext(0,Km)}xaStartTransaction(){return this.getRuleContext(0,MD)}xaEndTransaction(){return this.getRuleContext(0,dD)}xaPrepareStatement(){return this.getRuleContext(0,UD)}xaCommitWork(){return this.getRuleContext(0,mD)}xaRollbackWork(){return this.getRuleContext(0,DD)}xaRecoverWork(){return this.getRuleContext(0,pD)}get ruleIndex(){return FC.RULE_replicationStatement}accept(t){return t.visitReplicationStatement?t.visitReplicationStatement(this):t.visitChildren(this)}},WC=class extends ga{constructor(t,e){super(t,e)}prepareStatement(){return this.getRuleContext(0,gD)}executeStatement(){return this.getRuleContext(0,xD)}deallocatePrepare(){return this.getRuleContext(0,kD)}get ruleIndex(){return FC.RULE_preparedStatement}accept(t){return t.visitPreparedStatement?t.visitPreparedStatement(this):t.visitChildren(this)}},VC=class extends ga{constructor(t,e){super(t,e)}blockStatement(){return this.getRuleContext(0,GD)}caseStatement(){return this.getRuleContext(0,FD)}ifStatement(){return this.getRuleContext(0,vD)}leaveStatement(){return this.getRuleContext(0,yD)}loopStatement(){return this.getRuleContext(0,fD)}repeatStatement(){return this.getRuleContext(0,YD)}whileStatement(){return this.getRuleContext(0,bD)}iterateStatement(){return this.getRuleContext(0,BD)}returnStatement(){return this.getRuleContext(0,wD)}cursorStatement(){return this.getRuleContext(0,WD)}get ruleIndex(){return FC.RULE_compoundStatement}accept(t){return t.visitCompoundStatement?t.visitCompoundStatement(this):t.visitChildren(this)}},XC=class extends ga{constructor(t,e){super(t,e)}alterUser(){return this.getRuleContext(0,np)}createUser(){return this.getRuleContext(0,Tp)}dropUser(){return this.getRuleContext(0,Ap)}grantStatement(){return this.getRuleContext(0,Sp)}grantProxy(){return this.getRuleContext(0,Op)}renameUser(){return this.getRuleContext(0,Ip)}revokeStatement(){return this.getRuleContext(0,up)}revokeProxy(){return this.getRuleContext(0,_p)}analyzeTable(){return this.getRuleContext(0,qp)}checkTable(){return this.getRuleContext(0,jp)}checksumTable(){return this.getRuleContext(0,zp)}optimizeTable(){return this.getRuleContext(0,$p)}repairTable(){return this.getRuleContext(0,tg)}createUdfunction(){return this.getRuleContext(0,sg)}installPlugin(){return this.getRuleContext(0,ag)}uninstallPlugin(){return this.getRuleContext(0,rg)}setStatement(){return this.getRuleContext(0,ig)}showStatement(){return this.getRuleContext(0,Ag)}binlogStatement(){return this.getRuleContext(0,Yg)}cacheIndexStatement(){return this.getRuleContext(0,wg)}flushStatement(){return this.getRuleContext(0,bg)}killStatement(){return this.getRuleContext(0,Wg)}loadIndexIntoCache(){return this.getRuleContext(0,Vg)}resetStatement(){return this.getRuleContext(0,Xg)}shutdownStatement(){return this.getRuleContext(0,Kg)}get ruleIndex(){return FC.RULE_administrationStatement}accept(t){return t.visitAdministrationStatement?t.visitAdministrationStatement(this):t.visitChildren(this)}},KC=class extends ga{constructor(t,e){super(t,e)}simpleDescribeStatement(){return this.getRuleContext(0,tx)}fullDescribeStatement(){return this.getRuleContext(0,ex)}helpStatement(){return this.getRuleContext(0,sx)}useStatement(){return this.getRuleContext(0,ax)}signalStatement(){return this.getRuleContext(0,rx)}resignalStatement(){return this.getRuleContext(0,ix)}diagnosticsStatement(){return this.getRuleContext(0,Ex)}get ruleIndex(){return FC.RULE_utilityStatement}accept(t){return t.visitUtilityStatement?t.visitUtilityStatement(this):t.visitChildren(this)}},QC=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}uid(){return this.getRuleContext(0,Vx)}DATABASE(){return this.getToken(FC.DATABASE,0)}SCHEMA(){return this.getToken(FC.SCHEMA,0)}ifNotExists(){return this.getRuleContext(0,Dk)}createDatabaseOption(t){return void 0===t?this.getRuleContexts(A_):this.getRuleContext(t,A_)}get ruleIndex(){return FC.RULE_createDatabase}accept(t){return t.visitCreateDatabase?t.visitCreateDatabase(this):t.visitChildren(this)}},JC=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}EVENT(){return this.getToken(FC.EVENT,0)}fullId(){return this.getRuleContext(0,Sx)}ON(t){return void 0===t?this.getTokens(FC.ON):this.getToken(FC.ON,t)}SCHEDULE(){return this.getToken(FC.SCHEDULE,0)}scheduleExpression(){return this.getRuleContext(0,I_)}DO(){return this.getToken(FC.DO,0)}routineBody(){return this.getRuleContext(0,HD)}ownerStatement(){return this.getRuleContext(0,O_)}ifNotExists(){return this.getRuleContext(0,Dk)}COMPLETION(){return this.getToken(FC.COMPLETION,0)}PRESERVE(){return this.getToken(FC.PRESERVE,0)}enableType(){return this.getRuleContext(0,P_)}COMMENT(){return this.getToken(FC.COMMENT,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}NOT(){return this.getToken(FC.NOT,0)}get ruleIndex(){return FC.RULE_createEvent}accept(t){return t.visitCreateEvent?t.visitCreateEvent(this):t.visitChildren(this)}},ZC=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}INDEX(){return this.getToken(FC.INDEX,0)}uid(){return this.getRuleContext(0,Vx)}ON(){return this.getToken(FC.ON,0)}tableName(){return this.getRuleContext(0,lx)}indexColumnNames(){return this.getRuleContext(0,uk)}indexType(){return this.getRuleContext(0,M_)}indexOption(t){return void 0===t?this.getRuleContexts(d_):this.getRuleContext(t,d_)}ALGORITHM(t){return void 0===t?this.getTokens(FC.ALGORITHM):this.getToken(FC.ALGORITHM,t)}LOCK(t){return void 0===t?this.getTokens(FC.LOCK):this.getToken(FC.LOCK,t)}ONLINE(){return this.getToken(FC.ONLINE,0)}OFFLINE(){return this.getToken(FC.OFFLINE,0)}UNIQUE(){return this.getToken(FC.UNIQUE,0)}FULLTEXT(){return this.getToken(FC.FULLTEXT,0)}SPATIAL(){return this.getToken(FC.SPATIAL,0)}DEFAULT(t){return void 0===t?this.getTokens(FC.DEFAULT):this.getToken(FC.DEFAULT,t)}INPLACE(t){return void 0===t?this.getTokens(FC.INPLACE):this.getToken(FC.INPLACE,t)}COPY(t){return void 0===t?this.getTokens(FC.COPY):this.getToken(FC.COPY,t)}NONE(t){return void 0===t?this.getTokens(FC.NONE):this.getToken(FC.NONE,t)}SHARED(t){return void 0===t?this.getTokens(FC.SHARED):this.getToken(FC.SHARED,t)}EXCLUSIVE(t){return void 0===t?this.getTokens(FC.EXCLUSIVE):this.getToken(FC.EXCLUSIVE,t)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}get ruleIndex(){return FC.RULE_createIndex}accept(t){return t.visitCreateIndex?t.visitCreateIndex(this):t.visitChildren(this)}},qC=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}LOGFILE(){return this.getToken(FC.LOGFILE,0)}GROUP(){return this.getToken(FC.GROUP,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}ADD(){return this.getToken(FC.ADD,0)}UNDOFILE(){return this.getToken(FC.UNDOFILE,0)}ENGINE(){return this.getToken(FC.ENGINE,0)}engineName(){return this.getRuleContext(0,yx)}STRING_LITERAL(t){return void 0===t?this.getTokens(FC.STRING_LITERAL):this.getToken(FC.STRING_LITERAL,t)}INITIAL_SIZE(){return this.getToken(FC.INITIAL_SIZE,0)}UNDO_BUFFER_SIZE(){return this.getToken(FC.UNDO_BUFFER_SIZE,0)}REDO_BUFFER_SIZE(){return this.getToken(FC.REDO_BUFFER_SIZE,0)}NODEGROUP(){return this.getToken(FC.NODEGROUP,0)}WAIT(){return this.getToken(FC.WAIT,0)}COMMENT(){return this.getToken(FC.COMMENT,0)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}fileSizeLiteral(t){return void 0===t?this.getRuleContexts(Jx):this.getRuleContext(t,Jx)}get ruleIndex(){return FC.RULE_createLogfileGroup}accept(t){return t.visitCreateLogfileGroup?t.visitCreateLogfileGroup(this):t.visitChildren(this)}},jC=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}PROCEDURE(){return this.getToken(FC.PROCEDURE,0)}fullId(){return this.getRuleContext(0,Sx)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}routineBody(){return this.getRuleContext(0,HD)}ownerStatement(){return this.getRuleContext(0,O_)}procedureParameter(t){return void 0===t?this.getRuleContexts(U_):this.getRuleContext(t,U_)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}routineOption(t){return void 0===t?this.getRuleContexts(D_):this.getRuleContext(t,D_)}get ruleIndex(){return FC.RULE_createProcedure}accept(t){return t.visitCreateProcedure?t.visitCreateProcedure(this):t.visitChildren(this)}},zC=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}FUNCTION(){return this.getToken(FC.FUNCTION,0)}fullId(){return this.getRuleContext(0,Sx)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}RETURNS(){return this.getToken(FC.RETURNS,0)}dataType(){return this.getRuleContext(0,tk)}routineBody(){return this.getRuleContext(0,HD)}returnStatement(){return this.getRuleContext(0,wD)}ownerStatement(){return this.getRuleContext(0,O_)}AGGREGATE(){return this.getToken(FC.AGGREGATE,0)}ifNotExists(){return this.getRuleContext(0,Dk)}functionParameter(t){return void 0===t?this.getRuleContexts(m_):this.getRuleContext(t,m_)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}routineOption(t){return void 0===t?this.getRuleContexts(D_):this.getRuleContext(t,D_)}get ruleIndex(){return FC.RULE_createFunction}accept(t){return t.visitCreateFunction?t.visitCreateFunction(this):t.visitChildren(this)}},$C=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}ROLE(){return this.getToken(FC.ROLE,0)}newRoleNameList(){return this.getRuleContext(0,Nx)}ifNotExists(){return this.getRuleContext(0,Dk)}get ruleIndex(){return FC.RULE_createRole}accept(t){return t.visitCreateRole?t.visitCreateRole(this):t.visitChildren(this)}},t_=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}SERVER(){return this.getToken(FC.SERVER,0)}uid(){return this.getRuleContext(0,Vx)}FOREIGN(){return this.getToken(FC.FOREIGN,0)}DATA(){return this.getToken(FC.DATA,0)}WRAPPER(){return this.getToken(FC.WRAPPER,0)}OPTIONS(){return this.getToken(FC.OPTIONS,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}serverOption(t){return void 0===t?this.getRuleContexts(G_):this.getRuleContext(t,G_)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}MYSQL(){return this.getToken(FC.MYSQL,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_createServer}accept(t){return t.visitCreateServer?t.visitCreateServer(this):t.visitChildren(this)}},e_=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_createTable}copyFrom(t){super.copyFrom(t)}},s_=class extends e_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CREATE(){return this.getToken(FC.CREATE,0)}TABLE(){return this.getToken(FC.TABLE,0)}tableName(t){return void 0===t?this.getRuleContexts(lx):this.getRuleContext(t,lx)}LIKE(){return this.getToken(FC.LIKE,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}TEMPORARY(){return this.getToken(FC.TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,Dk)}accept(t){return t.visitCopyCreateTable?t.visitCopyCreateTable(this):t.visitChildren(this)}},a_=class extends e_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CREATE(){return this.getToken(FC.CREATE,0)}TABLE(){return this.getToken(FC.TABLE,0)}tableName(){return this.getRuleContext(0,lx)}createDefinitions(){return this.getRuleContext(0,F_)}TEMPORARY(){return this.getToken(FC.TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,Dk)}tableOption(t){return void 0===t?this.getRuleContexts(SP):this.getRuleContext(t,SP)}partitionDefinitions(){return this.getRuleContext(0,jP)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitColumnCreateTable?t.visitColumnCreateTable(this):t.visitChildren(this)}},r_=class extends e_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CREATE(){return this.getToken(FC.CREATE,0)}TABLE(){return this.getToken(FC.TABLE,0)}tableName(){return this.getRuleContext(0,lx)}selectStatement(){return this.getRuleContext(0,rU)}TEMPORARY(){return this.getToken(FC.TEMPORARY,0)}ifNotExists(){return this.getRuleContext(0,Dk)}createDefinitions(){return this.getRuleContext(0,F_)}tableOption(t){return void 0===t?this.getRuleContexts(SP):this.getRuleContext(t,SP)}partitionDefinitions(){return this.getRuleContext(0,jP)}AS(){return this.getToken(FC.AS,0)}IGNORE(){return this.getToken(FC.IGNORE,0)}REPLACE(){return this.getToken(FC.REPLACE,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitQueryCreateTable?t.visitQueryCreateTable(this):t.visitChildren(this)}},i_=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}uid(){return this.getRuleContext(0,Vx)}ADD(){return this.getToken(FC.ADD,0)}DATAFILE(){return this.getToken(FC.DATAFILE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}FILE_BLOCK_SIZE(){return this.getToken(FC.FILE_BLOCK_SIZE,0)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}ENGINE(){return this.getToken(FC.ENGINE,0)}engineName(){return this.getRuleContext(0,yx)}fileSizeLiteral(){return this.getRuleContext(0,Jx)}get ruleIndex(){return FC.RULE_createTablespaceInnodb}accept(t){return t.visitCreateTablespaceInnodb?t.visitCreateTablespaceInnodb(this):t.visitChildren(this)}},c_=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}ADD(){return this.getToken(FC.ADD,0)}DATAFILE(){return this.getToken(FC.DATAFILE,0)}USE(){return this.getToken(FC.USE,0)}LOGFILE(){return this.getToken(FC.LOGFILE,0)}GROUP(){return this.getToken(FC.GROUP,0)}ENGINE(){return this.getToken(FC.ENGINE,0)}engineName(){return this.getRuleContext(0,yx)}STRING_LITERAL(t){return void 0===t?this.getTokens(FC.STRING_LITERAL):this.getToken(FC.STRING_LITERAL,t)}EXTENT_SIZE(){return this.getToken(FC.EXTENT_SIZE,0)}INITIAL_SIZE(){return this.getToken(FC.INITIAL_SIZE,0)}AUTOEXTEND_SIZE(){return this.getToken(FC.AUTOEXTEND_SIZE,0)}MAX_SIZE(){return this.getToken(FC.MAX_SIZE,0)}NODEGROUP(){return this.getToken(FC.NODEGROUP,0)}WAIT(){return this.getToken(FC.WAIT,0)}COMMENT(){return this.getToken(FC.COMMENT,0)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}fileSizeLiteral(t){return void 0===t?this.getRuleContexts(Jx):this.getRuleContext(t,Jx)}get ruleIndex(){return FC.RULE_createTablespaceNdb}accept(t){return t.visitCreateTablespaceNdb?t.visitCreateTablespaceNdb(this):t.visitChildren(this)}},n_=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}TRIGGER(){return this.getToken(FC.TRIGGER,0)}ON(){return this.getToken(FC.ON,0)}tableName(){return this.getRuleContext(0,lx)}FOR(){return this.getToken(FC.FOR,0)}EACH(){return this.getToken(FC.EACH,0)}ROW(){return this.getToken(FC.ROW,0)}routineBody(){return this.getRuleContext(0,HD)}fullId(t){return void 0===t?this.getRuleContexts(Sx):this.getRuleContext(t,Sx)}BEFORE(){return this.getToken(FC.BEFORE,0)}AFTER(){return this.getToken(FC.AFTER,0)}INSERT(){return this.getToken(FC.INSERT,0)}UPDATE(){return this.getToken(FC.UPDATE,0)}DELETE(){return this.getToken(FC.DELETE,0)}ownerStatement(){return this.getRuleContext(0,O_)}ifNotExists(){return this.getRuleContext(0,Dk)}FOLLOWS(){return this.getToken(FC.FOLLOWS,0)}PRECEDES(){return this.getToken(FC.PRECEDES,0)}get ruleIndex(){return FC.RULE_createTrigger}accept(t){return t.visitCreateTrigger?t.visitCreateTrigger(this):t.visitChildren(this)}},h_=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(FC.WITH,0)}commonTableExpressions(){return this.getRuleContext(0,E_)}RECURSIVE(){return this.getToken(FC.RECURSIVE,0)}get ruleIndex(){return FC.RULE_withClause}accept(t){return t.visitWithClause?t.visitWithClause(this):t.visitChildren(this)}},E_=class t extends ga{constructor(t,e){super(t,e)}cteName(){return this.getRuleContext(0,T_)}AS(){return this.getToken(FC.AS,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}dmlStatement(){return this.getRuleContext(0,YC)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}cteColumnName(t){return void 0===t?this.getRuleContexts(o_):this.getRuleContext(t,o_)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}commonTableExpressions(){return this.getRuleContext(0,t)}get ruleIndex(){return FC.RULE_commonTableExpressions}accept(t){return t.visitCommonTableExpressions?t.visitCommonTableExpressions(this):t.visitChildren(this)}},T_=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_cteName}accept(t){return t.visitCteName?t.visitCteName(this):t.visitChildren(this)}},o_=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_cteColumnName}accept(t){return t.visitCteColumnName?t.visitCteColumnName(this):t.visitChildren(this)}},R_=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}VIEW(){return this.getToken(FC.VIEW,0)}fullId(){return this.getRuleContext(0,Sx)}AS(){return this.getToken(FC.AS,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}selectStatement(){return this.getRuleContext(0,rU)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}orReplace(){return this.getRuleContext(0,pk)}ALGORITHM(){return this.getToken(FC.ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}ownerStatement(){return this.getRuleContext(0,O_)}SQL(){return this.getToken(FC.SQL,0)}SECURITY(){return this.getToken(FC.SECURITY,0)}uidList(){return this.getRuleContext(0,lk)}UNDEFINED(){return this.getToken(FC.UNDEFINED,0)}MERGE(){return this.getToken(FC.MERGE,0)}TEMPTABLE(){return this.getToken(FC.TEMPTABLE,0)}DEFINER(){return this.getToken(FC.DEFINER,0)}INVOKER(){return this.getToken(FC.INVOKER,0)}withClause(){return this.getRuleContext(0,h_)}WITH(){return this.getToken(FC.WITH,0)}CHECK(){return this.getToken(FC.CHECK,0)}OPTION(){return this.getToken(FC.OPTION,0)}CASCADED(){return this.getToken(FC.CASCADED,0)}LOCAL(){return this.getToken(FC.LOCAL,0)}get ruleIndex(){return FC.RULE_createView}accept(t){return t.visitCreateView?t.visitCreateView(this):t.visitChildren(this)}},A_=class extends ga{constructor(t,e){super(t,e)}charSet(){return this.getRuleContext(0,S_)}charsetName(){return this.getRuleContext(0,vx)}DEFAULT(t){return void 0===t?this.getTokens(FC.DEFAULT):this.getToken(FC.DEFAULT,t)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}COLLATE(){return this.getToken(FC.COLLATE,0)}collationName(){return this.getRuleContext(0,Bx)}ENCRYPTION(){return this.getToken(FC.ENCRYPTION,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}READ(){return this.getToken(FC.READ,0)}ONLY(){return this.getToken(FC.ONLY,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}get ruleIndex(){return FC.RULE_createDatabaseOption}accept(t){return t.visitCreateDatabaseOption?t.visitCreateDatabaseOption(this):t.visitChildren(this)}},S_=class extends ga{constructor(t,e){super(t,e)}CHARACTER(){return this.getToken(FC.CHARACTER,0)}SET(){return this.getToken(FC.SET,0)}CHARSET(){return this.getToken(FC.CHARSET,0)}CHAR(){return this.getToken(FC.CHAR,0)}get ruleIndex(){return FC.RULE_charSet}accept(t){return t.visitCharSet?t.visitCharSet(this):t.visitChildren(this)}},l_=class extends ga{constructor(t,e){super(t,e)}CURRENT_USER(){return this.getToken(FC.CURRENT_USER,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}get ruleIndex(){return FC.RULE_currentUserExpression}accept(t){return t.visitCurrentUserExpression?t.visitCurrentUserExpression(this):t.visitChildren(this)}},O_=class extends ga{constructor(t,e){super(t,e)}DEFINER(){return this.getToken(FC.DEFINER,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}userName(){return this.getRuleContext(0,Gx)}currentUserExpression(){return this.getRuleContext(0,l_)}get ruleIndex(){return FC.RULE_ownerStatement}accept(t){return t.visitOwnerStatement?t.visitOwnerStatement(this):t.visitChildren(this)}},I_=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_scheduleExpression}copyFrom(t){super.copyFrom(t)}},u_=class extends I_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}AT(){return this.getToken(FC.AT,0)}timestampValue(){return this.getRuleContext(0,L_)}intervalExpr(t){return void 0===t?this.getRuleContexts(C_):this.getRuleContext(t,C_)}accept(t){return t.visitPreciseSchedule?t.visitPreciseSchedule(this):t.visitChildren(this)}},N_=class extends I_{constructor(t){super(t.parent,t.invokingState),this._startIntervals=[],this._endIntervals=[],super.copyFrom(t)}EVERY(){return this.getToken(FC.EVERY,0)}intervalType(){return this.getRuleContext(0,__)}decimalLiteral(){return this.getRuleContext(0,Qx)}expression(){return this.getRuleContext(0,NH)}STARTS(){return this.getToken(FC.STARTS,0)}ENDS(){return this.getToken(FC.ENDS,0)}timestampValue(t){return void 0===t?this.getRuleContexts(L_):this.getRuleContext(t,L_)}intervalExpr(t){return void 0===t?this.getRuleContexts(C_):this.getRuleContext(t,C_)}accept(t){return t.visitIntervalSchedule?t.visitIntervalSchedule(this):t.visitChildren(this)}},L_=class extends ga{constructor(t,e){super(t,e)}CURRENT_TIMESTAMP(){return this.getToken(FC.CURRENT_TIMESTAMP,0)}stringLiteral(){return this.getRuleContext(0,Zx)}decimalLiteral(){return this.getRuleContext(0,Qx)}expression(){return this.getRuleContext(0,NH)}get ruleIndex(){return FC.RULE_timestampValue}accept(t){return t.visitTimestampValue?t.visitTimestampValue(this):t.visitChildren(this)}},C_=class extends ga{constructor(t,e){super(t,e)}PLUS(){return this.getToken(FC.PLUS,0)}INTERVAL(){return this.getToken(FC.INTERVAL,0)}intervalType(){return this.getRuleContext(0,__)}decimalLiteral(){return this.getRuleContext(0,Qx)}expression(){return this.getRuleContext(0,NH)}get ruleIndex(){return FC.RULE_intervalExpr}accept(t){return t.visitIntervalExpr?t.visitIntervalExpr(this):t.visitChildren(this)}},__=class extends ga{constructor(t,e){super(t,e)}intervalTypeBase(){return this.getRuleContext(0,hG)}YEAR(){return this.getToken(FC.YEAR,0)}YEAR_MONTH(){return this.getToken(FC.YEAR_MONTH,0)}DAY_HOUR(){return this.getToken(FC.DAY_HOUR,0)}DAY_MINUTE(){return this.getToken(FC.DAY_MINUTE,0)}DAY_SECOND(){return this.getToken(FC.DAY_SECOND,0)}HOUR_MINUTE(){return this.getToken(FC.HOUR_MINUTE,0)}HOUR_SECOND(){return this.getToken(FC.HOUR_SECOND,0)}MINUTE_SECOND(){return this.getToken(FC.MINUTE_SECOND,0)}SECOND_MICROSECOND(){return this.getToken(FC.SECOND_MICROSECOND,0)}MINUTE_MICROSECOND(){return this.getToken(FC.MINUTE_MICROSECOND,0)}HOUR_MICROSECOND(){return this.getToken(FC.HOUR_MICROSECOND,0)}DAY_MICROSECOND(){return this.getToken(FC.DAY_MICROSECOND,0)}get ruleIndex(){return FC.RULE_intervalType}accept(t){return t.visitIntervalType?t.visitIntervalType(this):t.visitChildren(this)}},P_=class extends ga{constructor(t,e){super(t,e)}ENABLE(){return this.getToken(FC.ENABLE,0)}DISABLE(){return this.getToken(FC.DISABLE,0)}ON(){return this.getToken(FC.ON,0)}SLAVE(){return this.getToken(FC.SLAVE,0)}get ruleIndex(){return FC.RULE_enableType}accept(t){return t.visitEnableType?t.visitEnableType(this):t.visitChildren(this)}},M_=class extends ga{constructor(t,e){super(t,e)}USING(){return this.getToken(FC.USING,0)}BTREE(){return this.getToken(FC.BTREE,0)}HASH(){return this.getToken(FC.HASH,0)}get ruleIndex(){return FC.RULE_indexType}accept(t){return t.visitIndexType?t.visitIndexType(this):t.visitChildren(this)}},d_=class extends ga{constructor(t,e){super(t,e)}KEY_BLOCK_SIZE(){return this.getToken(FC.KEY_BLOCK_SIZE,0)}fileSizeLiteral(){return this.getRuleContext(0,Jx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}indexType(){return this.getRuleContext(0,M_)}WITH(){return this.getToken(FC.WITH,0)}PARSER(){return this.getToken(FC.PARSER,0)}uid(){return this.getRuleContext(0,Vx)}COMMENT(){return this.getToken(FC.COMMENT,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}VISIBLE(){return this.getToken(FC.VISIBLE,0)}INVISIBLE(){return this.getToken(FC.INVISIBLE,0)}ENGINE_ATTRIBUTE(){return this.getToken(FC.ENGINE_ATTRIBUTE,0)}SECONDARY_ENGINE_ATTRIBUTE(){return this.getToken(FC.SECONDARY_ENGINE_ATTRIBUTE,0)}get ruleIndex(){return FC.RULE_indexOption}accept(t){return t.visitIndexOption?t.visitIndexOption(this):t.visitChildren(this)}},U_=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}dataType(){return this.getRuleContext(0,tk)}IN(){return this.getToken(FC.IN,0)}OUT(){return this.getToken(FC.OUT,0)}INOUT(){return this.getToken(FC.INOUT,0)}get ruleIndex(){return FC.RULE_procedureParameter}accept(t){return t.visitProcedureParameter?t.visitProcedureParameter(this):t.visitChildren(this)}},m_=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}dataType(){return this.getRuleContext(0,tk)}get ruleIndex(){return FC.RULE_functionParameter}accept(t){return t.visitFunctionParameter?t.visitFunctionParameter(this):t.visitChildren(this)}},D_=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_routineOption}copyFrom(t){super.copyFrom(t)}},p_=class extends D_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DETERMINISTIC(){return this.getToken(FC.DETERMINISTIC,0)}NOT(){return this.getToken(FC.NOT,0)}accept(t){return t.visitRoutineBehavior?t.visitRoutineBehavior(this):t.visitChildren(this)}},g_=class extends D_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LANGUAGE(){return this.getToken(FC.LANGUAGE,0)}SQL(){return this.getToken(FC.SQL,0)}accept(t){return t.visitRoutineLanguage?t.visitRoutineLanguage(this):t.visitChildren(this)}},x_=class extends D_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}COMMENT(){return this.getToken(FC.COMMENT,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitRoutineComment?t.visitRoutineComment(this):t.visitChildren(this)}},k_=class extends D_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SQL(){return this.getToken(FC.SQL,0)}SECURITY(){return this.getToken(FC.SECURITY,0)}DEFINER(){return this.getToken(FC.DEFINER,0)}INVOKER(){return this.getToken(FC.INVOKER,0)}accept(t){return t.visitRoutineSecurity?t.visitRoutineSecurity(this):t.visitChildren(this)}},H_=class extends D_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CONTAINS(){return this.getToken(FC.CONTAINS,0)}SQL(){return this.getToken(FC.SQL,0)}NO(){return this.getToken(FC.NO,0)}READS(){return this.getToken(FC.READS,0)}DATA(){return this.getToken(FC.DATA,0)}MODIFIES(){return this.getToken(FC.MODIFIES,0)}accept(t){return t.visitRoutineData?t.visitRoutineData(this):t.visitChildren(this)}},G_=class extends ga{constructor(t,e){super(t,e)}HOST(){return this.getToken(FC.HOST,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}DATABASE(){return this.getToken(FC.DATABASE,0)}USER(){return this.getToken(FC.USER,0)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}SOCKET(){return this.getToken(FC.SOCKET,0)}OWNER(){return this.getToken(FC.OWNER,0)}PORT(){return this.getToken(FC.PORT,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}get ruleIndex(){return FC.RULE_serverOption}accept(t){return t.visitServerOption?t.visitServerOption(this):t.visitChildren(this)}},F_=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}createDefinition(t){return void 0===t?this.getRuleContexts(v_):this.getRuleContext(t,v_)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_createDefinitions}accept(t){return t.visitCreateDefinitions?t.visitCreateDefinitions(this):t.visitChildren(this)}},v_=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_createDefinition}copyFrom(t){super.copyFrom(t)}},B_=class extends v_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fullColumnName(){return this.getRuleContext(0,Px)}columnDefinition(){return this.getRuleContext(0,Y_)}accept(t){return t.visitColumnDeclaration?t.visitColumnDeclaration(this):t.visitChildren(this)}},y_=class extends v_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableConstraint(){return this.getRuleContext(0,aP)}NOT(){return this.getToken(FC.NOT,0)}ENFORCED(){return this.getToken(FC.ENFORCED,0)}accept(t){return t.visitConstraintDeclaration?t.visitConstraintDeclaration(this):t.visitChildren(this)}},f_=class extends v_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}indexColumnDefinition(){return this.getRuleContext(0,oP)}accept(t){return t.visitIndexDeclaration?t.visitIndexDeclaration(this):t.visitChildren(this)}},Y_=class extends ga{constructor(t,e){super(t,e)}dataType(){return this.getRuleContext(0,tk)}columnConstraint(t){return void 0===t?this.getRuleContexts(w_):this.getRuleContext(t,w_)}NOT(){return this.getToken(FC.NOT,0)}ENFORCED(){return this.getToken(FC.ENFORCED,0)}get ruleIndex(){return FC.RULE_columnDefinition}accept(t){return t.visitColumnDefinition?t.visitColumnDefinition(this):t.visitChildren(this)}},w_=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_columnConstraint}copyFrom(t){super.copyFrom(t)}},b_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STORAGE(){return this.getToken(FC.STORAGE,0)}DISK(){return this.getToken(FC.DISK,0)}MEMORY(){return this.getToken(FC.MEMORY,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}accept(t){return t.visitStorageColumnConstraint?t.visitStorageColumnConstraint(this):t.visitChildren(this)}},W_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}VISIBLE(){return this.getToken(FC.VISIBLE,0)}accept(t){return t.visitVisibilityColumnConstraint?t.visitVisibilityColumnConstraint(this):t.visitChildren(this)}},V_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}AUTO_INCREMENT(){return this.getToken(FC.AUTO_INCREMENT,0)}ON(){return this.getToken(FC.ON,0)}UPDATE(){return this.getToken(FC.UPDATE,0)}currentTimestamp(){return this.getRuleContext(0,dk)}accept(t){return t.visitAutoIncrementColumnConstraint?t.visitAutoIncrementColumnConstraint(this):t.visitChildren(this)}},X_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}COMMENT(){return this.getToken(FC.COMMENT,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitCommentColumnConstraint?t.visitCommentColumnConstraint(this):t.visitChildren(this)}},K_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}UNIQUE(){return this.getToken(FC.UNIQUE,0)}KEY(){return this.getToken(FC.KEY,0)}accept(t){return t.visitUniqueKeyColumnConstraint?t.visitUniqueKeyColumnConstraint(this):t.visitChildren(this)}},Q_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SERIAL(){return this.getToken(FC.SERIAL,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}VALUE(){return this.getToken(FC.VALUE,0)}accept(t){return t.visitSerialDefaultColumnConstraint?t.visitSerialDefaultColumnConstraint(this):t.visitChildren(this)}},J_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}AS(){return this.getToken(FC.AS,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}GENERATED(){return this.getToken(FC.GENERATED,0)}ALWAYS(){return this.getToken(FC.ALWAYS,0)}VIRTUAL(){return this.getToken(FC.VIRTUAL,0)}STORED(){return this.getToken(FC.STORED,0)}accept(t){return t.visitGeneratedColumnConstraint?t.visitGeneratedColumnConstraint(this):t.visitChildren(this)}},Z_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}COLUMN_FORMAT(){return this.getToken(FC.COLUMN_FORMAT,0)}FIXED(){return this.getToken(FC.FIXED,0)}DYNAMIC(){return this.getToken(FC.DYNAMIC,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}accept(t){return t.visitFormatColumnConstraint?t.visitFormatColumnConstraint(this):t.visitChildren(this)}},q_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}COLLATE(){return this.getToken(FC.COLLATE,0)}collationName(){return this.getRuleContext(0,Bx)}accept(t){return t.visitCollateColumnConstraint?t.visitCollateColumnConstraint(this):t.visitChildren(this)}},j_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KEY(){return this.getToken(FC.KEY,0)}PRIMARY(){return this.getToken(FC.PRIMARY,0)}accept(t){return t.visitPrimaryKeyColumnConstraint?t.visitPrimaryKeyColumnConstraint(this):t.visitChildren(this)}},z_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CHECK(){return this.getToken(FC.CHECK,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}uid(){return this.getRuleContext(0,Vx)}accept(t){return t.visitCheckColumnConstraint?t.visitCheckColumnConstraint(this):t.visitChildren(this)}},$_=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}nullNotnull(){return this.getRuleContext(0,zx)}accept(t){return t.visitNullColumnConstraint?t.visitNullColumnConstraint(this):t.visitChildren(this)}},tP=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Mk)}accept(t){return t.visitDefaultColumnConstraint?t.visitDefaultColumnConstraint(this):t.visitChildren(this)}},eP=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}referenceDefinition(){return this.getRuleContext(0,hP)}accept(t){return t.visitReferenceColumnConstraint?t.visitReferenceColumnConstraint(this):t.visitChildren(this)}},sP=class extends w_{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INVISIBLE(){return this.getToken(FC.INVISIBLE,0)}accept(t){return t.visitInvisibilityColumnConstraint?t.visitInvisibilityColumnConstraint(this):t.visitChildren(this)}},aP=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_tableConstraint}copyFrom(t){super.copyFrom(t)}},rP=class extends aP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}UNIQUE(){return this.getToken(FC.UNIQUE,0)}indexColumnNames(){return this.getRuleContext(0,uk)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}indexType(){return this.getRuleContext(0,M_)}indexOption(t){return void 0===t?this.getRuleContexts(d_):this.getRuleContext(t,d_)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}accept(t){return t.visitUniqueKeyTableConstraint?t.visitUniqueKeyTableConstraint(this):t.visitChildren(this)}},iP=class extends aP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CHECK(){return this.getToken(FC.CHECK,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}uid(){return this.getRuleContext(0,Vx)}accept(t){return t.visitCheckTableConstraint?t.visitCheckTableConstraint(this):t.visitChildren(this)}},cP=class extends aP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PRIMARY(){return this.getToken(FC.PRIMARY,0)}KEY(){return this.getToken(FC.KEY,0)}indexColumnNames(){return this.getRuleContext(0,uk)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}indexType(){return this.getRuleContext(0,M_)}indexOption(t){return void 0===t?this.getRuleContexts(d_):this.getRuleContext(t,d_)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}accept(t){return t.visitPrimaryKeyTableConstraint?t.visitPrimaryKeyTableConstraint(this):t.visitChildren(this)}},nP=class extends aP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}FOREIGN(){return this.getToken(FC.FOREIGN,0)}KEY(){return this.getToken(FC.KEY,0)}indexColumnNames(){return this.getRuleContext(0,uk)}referenceDefinition(){return this.getRuleContext(0,hP)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}accept(t){return t.visitForeignKeyTableConstraint?t.visitForeignKeyTableConstraint(this):t.visitChildren(this)}},hP=class extends ga{constructor(t,e){super(t,e)}REFERENCES(){return this.getToken(FC.REFERENCES,0)}tableName(){return this.getRuleContext(0,lx)}indexColumnNames(){return this.getRuleContext(0,uk)}MATCH(){return this.getToken(FC.MATCH,0)}referenceAction(){return this.getRuleContext(0,EP)}FULL(){return this.getToken(FC.FULL,0)}PARTIAL(){return this.getToken(FC.PARTIAL,0)}SIMPLE(){return this.getToken(FC.SIMPLE,0)}get ruleIndex(){return FC.RULE_referenceDefinition}accept(t){return t.visitReferenceDefinition?t.visitReferenceDefinition(this):t.visitChildren(this)}},EP=class extends ga{constructor(t,e){super(t,e)}ON(t){return void 0===t?this.getTokens(FC.ON):this.getToken(FC.ON,t)}DELETE(){return this.getToken(FC.DELETE,0)}referenceControlType(t){return void 0===t?this.getRuleContexts(TP):this.getRuleContext(t,TP)}UPDATE(){return this.getToken(FC.UPDATE,0)}get ruleIndex(){return FC.RULE_referenceAction}accept(t){return t.visitReferenceAction?t.visitReferenceAction(this):t.visitChildren(this)}},TP=class extends ga{constructor(t,e){super(t,e)}RESTRICT(){return this.getToken(FC.RESTRICT,0)}CASCADE(){return this.getToken(FC.CASCADE,0)}SET(){return this.getToken(FC.SET,0)}NULL_LITERAL(){return this.getToken(FC.NULL_LITERAL,0)}NO(){return this.getToken(FC.NO,0)}ACTION(){return this.getToken(FC.ACTION,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}get ruleIndex(){return FC.RULE_referenceControlType}accept(t){return t.visitReferenceControlType?t.visitReferenceControlType(this):t.visitChildren(this)}},oP=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_indexColumnDefinition}copyFrom(t){super.copyFrom(t)}},RP=class extends oP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}indexColumnNames(){return this.getRuleContext(0,uk)}FULLTEXT(){return this.getToken(FC.FULLTEXT,0)}SPATIAL(){return this.getToken(FC.SPATIAL,0)}uid(){return this.getRuleContext(0,Vx)}indexOption(t){return void 0===t?this.getRuleContexts(d_):this.getRuleContext(t,d_)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}accept(t){return t.visitSpecialIndexDeclaration?t.visitSpecialIndexDeclaration(this):t.visitChildren(this)}},AP=class extends oP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}indexColumnNames(){return this.getRuleContext(0,uk)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}uid(){return this.getRuleContext(0,Vx)}indexType(){return this.getRuleContext(0,M_)}indexOption(t){return void 0===t?this.getRuleContexts(d_):this.getRuleContext(t,d_)}accept(t){return t.visitSimpleIndexDeclaration?t.visitSimpleIndexDeclaration(this):t.visitChildren(this)}},SP=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_tableOption}copyFrom(t){super.copyFrom(t)}},lP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ENGINE(){return this.getToken(FC.ENGINE,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}engineName(){return this.getRuleContext(0,yx)}accept(t){return t.visitTableOptionEngine?t.visitTableOptionEngine(this):t.visitChildren(this)}},OP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MAX_ROWS(){return this.getToken(FC.MAX_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionMaxRows?t.visitTableOptionMaxRows(this):t.visitChildren(this)}},IP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}COLLATE(){return this.getToken(FC.COLLATE,0)}collationName(){return this.getRuleContext(0,Bx)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionCollate?t.visitTableOptionCollate(this):t.visitChildren(this)}},uP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STATS_PERSISTENT(){return this.getToken(FC.STATS_PERSISTENT,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionPersistent?t.visitTableOptionPersistent(this):t.visitChildren(this)}},NP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}uid(){return this.getRuleContext(0,Vx)}tablespaceStorage(){return this.getRuleContext(0,qP)}accept(t){return t.visitTableOptionTablespace?t.visitTableOptionTablespace(this):t.visitChildren(this)}},LP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}AUTOEXTEND_SIZE(){return this.getToken(FC.AUTOEXTEND_SIZE,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionAutoextendSize?t.visitTableOptionAutoextendSize(this):t.visitChildren(this)}},CP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PAGE_COMPRESSED(){return this.getToken(FC.PAGE_COMPRESSED,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionPageCompressed?t.visitTableOptionPageCompressed(this):t.visitChildren(this)}},_P=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}START(){return this.getToken(FC.START,0)}TRANSACTION(){return this.getToken(FC.TRANSACTION,0)}accept(t){return t.visitTableOptionStartTransaction?t.visitTableOptionStartTransaction(this):t.visitChildren(this)}},PP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PACK_KEYS(){return this.getToken(FC.PACK_KEYS,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionPackKeys?t.visitTableOptionPackKeys(this):t.visitChildren(this)}},MP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionPassword?t.visitTableOptionPassword(this):t.visitChildren(this)}},dP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}UNION(){return this.getToken(FC.UNION,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}tables(){return this.getRuleContext(0,Ik)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionUnion?t.visitTableOptionUnion(this):t.visitChildren(this)}},UP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STATS_SAMPLE_PAGES(){return this.getToken(FC.STATS_SAMPLE_PAGES,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionSamplePage?t.visitTableOptionSamplePage(this):t.visitChildren(this)}},mP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}charSet(){return this.getRuleContext(0,S_)}charsetName(){return this.getRuleContext(0,vx)}DEFAULT(t){return void 0===t?this.getTokens(FC.DEFAULT):this.getToken(FC.DEFAULT,t)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionCharset?t.visitTableOptionCharset(this):t.visitChildren(this)}},DP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INDEX(){return this.getToken(FC.INDEX,0)}DIRECTORY(){return this.getToken(FC.DIRECTORY,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionIndexDirectory?t.visitTableOptionIndexDirectory(this):t.visitChildren(this)}},pP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}TABLE_TYPE(){return this.getToken(FC.TABLE_TYPE,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}tableType(){return this.getRuleContext(0,ZP)}accept(t){return t.visitTableOptionTableType?t.visitTableOptionTableType(this):t.visitChildren(this)}},gP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KEY_BLOCK_SIZE(){return this.getToken(FC.KEY_BLOCK_SIZE,0)}fileSizeLiteral(){return this.getRuleContext(0,Jx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionKeyBlockSize?t.visitTableOptionKeyBlockSize(this):t.visitChildren(this)}},xP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ENCRYPTION(){return this.getToken(FC.ENCRYPTION,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionEncryption?t.visitTableOptionEncryption(this):t.visitChildren(this)}},kP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DIRECTORY(){return this.getToken(FC.DIRECTORY,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}DATA(){return this.getToken(FC.DATA,0)}INDEX(){return this.getToken(FC.INDEX,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionDataDirectory?t.visitTableOptionDataDirectory(this):t.visitChildren(this)}},HP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STATS_AUTO_RECALC(){return this.getToken(FC.STATS_AUTO_RECALC,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionRecalculation?t.visitTableOptionRecalculation(this):t.visitChildren(this)}},GP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}AUTO_INCREMENT(){return this.getToken(FC.AUTO_INCREMENT,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionAutoIncrement?t.visitTableOptionAutoIncrement(this):t.visitChildren(this)}},FP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ENCRYPTION_KEY_ID(){return this.getToken(FC.ENCRYPTION_KEY_ID,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionEncryptionKeyId?t.visitTableOptionEncryptionKeyId(this):t.visitChildren(this)}},vP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CHECKSUM(){return this.getToken(FC.CHECKSUM,0)}PAGE_CHECKSUM(){return this.getToken(FC.PAGE_CHECKSUM,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionChecksum?t.visitTableOptionChecksum(this):t.visitChildren(this)}},BP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DELAY_KEY_WRITE(){return this.getToken(FC.DELAY_KEY_WRITE,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionDelay?t.visitTableOptionDelay(this):t.visitChildren(this)}},yP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CONNECTION(){return this.getToken(FC.CONNECTION,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionConnection?t.visitTableOptionConnection(this):t.visitChildren(this)}},fP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}TRANSACTIONAL(){return this.getToken(FC.TRANSACTIONAL,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionTransactional?t.visitTableOptionTransactional(this):t.visitChildren(this)}},YP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}decimalLiteral(){return this.getRuleContext(0,Qx)}PAGE_COMPRESSION_LEVEL(){return this.getToken(FC.PAGE_COMPRESSION_LEVEL,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionPageCompressionLevel?t.visitTableOptionPageCompressionLevel(this):t.visitChildren(this)}},wP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SECONDARY_ENGINE_ATTRIBUTE(){return this.getToken(FC.SECONDARY_ENGINE_ATTRIBUTE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionSecondaryEngineAttribute?t.visitTableOptionSecondaryEngineAttribute(this):t.visitChildren(this)}},bP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}COMMENT(){return this.getToken(FC.COMMENT,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionComment?t.visitTableOptionComment(this):t.visitChildren(this)}},WP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}AVG_ROW_LENGTH(){return this.getToken(FC.AVG_ROW_LENGTH,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionAverage?t.visitTableOptionAverage(this):t.visitChildren(this)}},VP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ROW_FORMAT(){return this.getToken(FC.ROW_FORMAT,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}DYNAMIC(){return this.getToken(FC.DYNAMIC,0)}FIXED(){return this.getToken(FC.FIXED,0)}COMPRESSED(){return this.getToken(FC.COMPRESSED,0)}REDUNDANT(){return this.getToken(FC.REDUNDANT,0)}COMPACT(){return this.getToken(FC.COMPACT,0)}ID(){return this.getToken(FC.ID,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionRowFormat?t.visitTableOptionRowFormat(this):t.visitChildren(this)}},XP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}COMPRESSION(){return this.getToken(FC.COMPRESSION,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}ID(){return this.getToken(FC.ID,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionCompression?t.visitTableOptionCompression(this):t.visitChildren(this)}},KP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INSERT_METHOD(){return this.getToken(FC.INSERT_METHOD,0)}NO(){return this.getToken(FC.NO,0)}FIRST(){return this.getToken(FC.FIRST,0)}LAST(){return this.getToken(FC.LAST,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionInsertMethod?t.visitTableOptionInsertMethod(this):t.visitChildren(this)}},QP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ENGINE_ATTRIBUTE(){return this.getToken(FC.ENGINE_ATTRIBUTE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionEngineAttribute?t.visitTableOptionEngineAttribute(this):t.visitChildren(this)}},JP=class extends SP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MIN_ROWS(){return this.getToken(FC.MIN_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitTableOptionMinRows?t.visitTableOptionMinRows(this):t.visitChildren(this)}},ZP=class extends ga{constructor(t,e){super(t,e)}MYSQL(){return this.getToken(FC.MYSQL,0)}ODBC(){return this.getToken(FC.ODBC,0)}get ruleIndex(){return FC.RULE_tableType}accept(t){return t.visitTableType?t.visitTableType(this):t.visitChildren(this)}},qP=class extends ga{constructor(t,e){super(t,e)}STORAGE(){return this.getToken(FC.STORAGE,0)}DISK(){return this.getToken(FC.DISK,0)}MEMORY(){return this.getToken(FC.MEMORY,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}get ruleIndex(){return FC.RULE_tablespaceStorage}accept(t){return t.visitTablespaceStorage?t.visitTablespaceStorage(this):t.visitChildren(this)}},jP=class extends ga{constructor(t,e){super(t,e)}PARTITION(){return this.getToken(FC.PARTITION,0)}BY(t){return void 0===t?this.getTokens(FC.BY):this.getToken(FC.BY,t)}partitionFunctionDefinition(){return this.getRuleContext(0,zP)}PARTITIONS(){return this.getToken(FC.PARTITIONS,0)}SUBPARTITION(){return this.getToken(FC.SUBPARTITION,0)}subpartitionFunctionDefinition(){return this.getRuleContext(0,aM)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}partitionDefinition(t){return void 0===t?this.getRuleContexts(cM):this.getRuleContext(t,cM)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}decimalLiteral(t){return void 0===t?this.getRuleContexts(Qx):this.getRuleContext(t,Qx)}SUBPARTITIONS(){return this.getToken(FC.SUBPARTITIONS,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_partitionDefinitions}accept(t){return t.visitPartitionDefinitions?t.visitPartitionDefinitions(this):t.visitChildren(this)}},zP=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_partitionFunctionDefinition}copyFrom(t){super.copyFrom(t)}},$P=class extends zP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KEY(){return this.getToken(FC.KEY,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}LINEAR(){return this.getToken(FC.LINEAR,0)}ALGORITHM(){return this.getToken(FC.ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}uidList(){return this.getRuleContext(0,lk)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}TWO_DECIMAL(){return this.getToken(FC.TWO_DECIMAL,0)}accept(t){return t.visitPartitionFunctionKey?t.visitPartitionFunctionKey(this):t.visitChildren(this)}},tM=class extends zP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}HASH(){return this.getToken(FC.HASH,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}LINEAR(){return this.getToken(FC.LINEAR,0)}accept(t){return t.visitPartitionFunctionHash?t.visitPartitionFunctionHash(this):t.visitChildren(this)}},eM=class extends zP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LIST(){return this.getToken(FC.LIST,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COLUMNS(){return this.getToken(FC.COLUMNS,0)}uidList(){return this.getRuleContext(0,lk)}accept(t){return t.visitPartitionFunctionList?t.visitPartitionFunctionList(this):t.visitChildren(this)}},sM=class extends zP{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}RANGE(){return this.getToken(FC.RANGE,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COLUMNS(){return this.getToken(FC.COLUMNS,0)}uidList(){return this.getRuleContext(0,lk)}accept(t){return t.visitPartitionFunctionRange?t.visitPartitionFunctionRange(this):t.visitChildren(this)}},aM=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_subpartitionFunctionDefinition}copyFrom(t){super.copyFrom(t)}},rM=class extends aM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}HASH(){return this.getToken(FC.HASH,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}LINEAR(){return this.getToken(FC.LINEAR,0)}accept(t){return t.visitSubPartitionFunctionHash?t.visitSubPartitionFunctionHash(this):t.visitChildren(this)}},iM=class extends aM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KEY(){return this.getToken(FC.KEY,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}uidList(){return this.getRuleContext(0,lk)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}LINEAR(){return this.getToken(FC.LINEAR,0)}ALGORITHM(){return this.getToken(FC.ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}TWO_DECIMAL(){return this.getToken(FC.TWO_DECIMAL,0)}accept(t){return t.visitSubPartitionFunctionKey?t.visitSubPartitionFunctionKey(this):t.visitChildren(this)}},cM=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_partitionDefinition}copyFrom(t){super.copyFrom(t)}},nM=class extends cM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PARTITION(){return this.getToken(FC.PARTITION,0)}uid(){return this.getRuleContext(0,Vx)}VALUES(){return this.getToken(FC.VALUES,0)}LESS(){return this.getToken(FC.LESS,0)}THAN(){return this.getToken(FC.THAN,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}partitionDefinerAtom(t){return void 0===t?this.getRuleContexts(oM):this.getRuleContext(t,oM)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}partitionOption(t){return void 0===t?this.getRuleContexts(SM):this.getRuleContext(t,SM)}subpartitionDefinition(t){return void 0===t?this.getRuleContexts(AM):this.getRuleContext(t,AM)}accept(t){return t.visitPartitionComparison?t.visitPartitionComparison(this):t.visitChildren(this)}},hM=class extends cM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PARTITION(){return this.getToken(FC.PARTITION,0)}uid(){return this.getRuleContext(0,Vx)}VALUES(){return this.getToken(FC.VALUES,0)}IN(){return this.getToken(FC.IN,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}partitionDefinerAtom(t){return void 0===t?this.getRuleContexts(oM):this.getRuleContext(t,oM)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}partitionOption(t){return void 0===t?this.getRuleContexts(SM):this.getRuleContext(t,SM)}subpartitionDefinition(t){return void 0===t?this.getRuleContexts(AM):this.getRuleContext(t,AM)}accept(t){return t.visitPartitionListAtom?t.visitPartitionListAtom(this):t.visitChildren(this)}},EM=class extends cM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PARTITION(){return this.getToken(FC.PARTITION,0)}uid(){return this.getRuleContext(0,Vx)}VALUES(){return this.getToken(FC.VALUES,0)}IN(){return this.getToken(FC.IN,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}partitionDefinerVector(t){return void 0===t?this.getRuleContexts(RM):this.getRuleContext(t,RM)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}partitionOption(t){return void 0===t?this.getRuleContexts(SM):this.getRuleContext(t,SM)}subpartitionDefinition(t){return void 0===t?this.getRuleContexts(AM):this.getRuleContext(t,AM)}accept(t){return t.visitPartitionListVector?t.visitPartitionListVector(this):t.visitChildren(this)}},TM=class extends cM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PARTITION(){return this.getToken(FC.PARTITION,0)}uid(){return this.getRuleContext(0,Vx)}partitionOption(t){return void 0===t?this.getRuleContexts(SM):this.getRuleContext(t,SM)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}subpartitionDefinition(t){return void 0===t?this.getRuleContexts(AM):this.getRuleContext(t,AM)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitPartitionSimple?t.visitPartitionSimple(this):t.visitChildren(this)}},oM=class extends ga{constructor(t,e){super(t,e)}constant(){return this.getRuleContext(0,$x)}expression(){return this.getRuleContext(0,NH)}MAXVALUE(){return this.getToken(FC.MAXVALUE,0)}get ruleIndex(){return FC.RULE_partitionDefinerAtom}accept(t){return t.visitPartitionDefinerAtom?t.visitPartitionDefinerAtom(this):t.visitChildren(this)}},RM=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}partitionDefinerAtom(t){return void 0===t?this.getRuleContexts(oM):this.getRuleContext(t,oM)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_partitionDefinerVector}accept(t){return t.visitPartitionDefinerVector?t.visitPartitionDefinerVector(this):t.visitChildren(this)}},AM=class extends ga{constructor(t,e){super(t,e)}SUBPARTITION(){return this.getToken(FC.SUBPARTITION,0)}uid(){return this.getRuleContext(0,Vx)}partitionOption(t){return void 0===t?this.getRuleContexts(SM):this.getRuleContext(t,SM)}get ruleIndex(){return FC.RULE_subpartitionDefinition}accept(t){return t.visitSubpartitionDefinition?t.visitSubpartitionDefinition(this):t.visitChildren(this)}},SM=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_partitionOption}copyFrom(t){super.copyFrom(t)}},lM=class extends SM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}COMMENT(){return this.getToken(FC.COMMENT,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitPartitionOptionComment?t.visitPartitionOptionComment(this):t.visitChildren(this)}},OM=class extends SM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}NODEGROUP(){return this.getToken(FC.NODEGROUP,0)}uid(){return this.getRuleContext(0,Vx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitPartitionOptionNodeGroup?t.visitPartitionOptionNodeGroup(this):t.visitChildren(this)}},IM=class extends SM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INDEX(){return this.getToken(FC.INDEX,0)}DIRECTORY(){return this.getToken(FC.DIRECTORY,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitPartitionOptionIndexDirectory?t.visitPartitionOptionIndexDirectory(this):t.visitChildren(this)}},uM=class extends SM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MAX_ROWS(){return this.getToken(FC.MAX_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitPartitionOptionMaxRows?t.visitPartitionOptionMaxRows(this):t.visitChildren(this)}},NM=class extends SM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}uid(){return this.getRuleContext(0,Vx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitPartitionOptionTablespace?t.visitPartitionOptionTablespace(this):t.visitChildren(this)}},LM=class extends SM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ENGINE(){return this.getToken(FC.ENGINE,0)}engineName(){return this.getRuleContext(0,yx)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}STORAGE(){return this.getToken(FC.STORAGE,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitPartitionOptionEngine?t.visitPartitionOptionEngine(this):t.visitChildren(this)}},CM=class extends SM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MIN_ROWS(){return this.getToken(FC.MIN_ROWS,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitPartitionOptionMinRows?t.visitPartitionOptionMinRows(this):t.visitChildren(this)}},_M=class extends SM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DATA(){return this.getToken(FC.DATA,0)}DIRECTORY(){return this.getToken(FC.DIRECTORY,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitPartitionOptionDataDirectory?t.visitPartitionOptionDataDirectory(this):t.visitChildren(this)}},PM=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_alterDatabase}copyFrom(t){super.copyFrom(t)}},MM=class extends PM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ALTER(){return this.getToken(FC.ALTER,0)}databaseName(){return this.getRuleContext(0,Mx)}UPGRADE(){return this.getToken(FC.UPGRADE,0)}DATA(){return this.getToken(FC.DATA,0)}DIRECTORY(){return this.getToken(FC.DIRECTORY,0)}NAME(){return this.getToken(FC.NAME,0)}DATABASE(){return this.getToken(FC.DATABASE,0)}SCHEMA(){return this.getToken(FC.SCHEMA,0)}accept(t){return t.visitAlterUpgradeName?t.visitAlterUpgradeName(this):t.visitChildren(this)}},dM=class extends PM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ALTER(){return this.getToken(FC.ALTER,0)}databaseName(){return this.getRuleContext(0,Mx)}DATABASE(){return this.getToken(FC.DATABASE,0)}SCHEMA(){return this.getToken(FC.SCHEMA,0)}createDatabaseOption(t){return void 0===t?this.getRuleContexts(A_):this.getRuleContext(t,A_)}accept(t){return t.visitAlterSimpleDatabase?t.visitAlterSimpleDatabase(this):t.visitChildren(this)}},UM=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(FC.ALTER,0)}EVENT(){return this.getToken(FC.EVENT,0)}fullId(t){return void 0===t?this.getRuleContexts(Sx):this.getRuleContext(t,Sx)}ownerStatement(){return this.getRuleContext(0,O_)}ON(t){return void 0===t?this.getTokens(FC.ON):this.getToken(FC.ON,t)}SCHEDULE(){return this.getToken(FC.SCHEDULE,0)}scheduleExpression(){return this.getRuleContext(0,I_)}COMPLETION(){return this.getToken(FC.COMPLETION,0)}PRESERVE(){return this.getToken(FC.PRESERVE,0)}RENAME(){return this.getToken(FC.RENAME,0)}TO(){return this.getToken(FC.TO,0)}enableType(){return this.getRuleContext(0,P_)}COMMENT(){return this.getToken(FC.COMMENT,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}DO(){return this.getToken(FC.DO,0)}routineBody(){return this.getRuleContext(0,HD)}NOT(){return this.getToken(FC.NOT,0)}get ruleIndex(){return FC.RULE_alterEvent}accept(t){return t.visitAlterEvent?t.visitAlterEvent(this):t.visitChildren(this)}},mM=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(FC.ALTER,0)}FUNCTION(){return this.getToken(FC.FUNCTION,0)}fullId(){return this.getRuleContext(0,Sx)}routineOption(t){return void 0===t?this.getRuleContexts(D_):this.getRuleContext(t,D_)}get ruleIndex(){return FC.RULE_alterFunction}accept(t){return t.visitAlterFunction?t.visitAlterFunction(this):t.visitChildren(this)}},DM=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(FC.ALTER,0)}INSTANCE(){return this.getToken(FC.INSTANCE,0)}ROTATE(){return this.getToken(FC.ROTATE,0)}INNODB(){return this.getToken(FC.INNODB,0)}MASTER(){return this.getToken(FC.MASTER,0)}KEY(){return this.getToken(FC.KEY,0)}get ruleIndex(){return FC.RULE_alterInstance}accept(t){return t.visitAlterInstance?t.visitAlterInstance(this):t.visitChildren(this)}},pM=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(FC.ALTER,0)}LOGFILE(){return this.getToken(FC.LOGFILE,0)}GROUP(){return this.getToken(FC.GROUP,0)}uid(){return this.getRuleContext(0,Vx)}ADD(){return this.getToken(FC.ADD,0)}UNDOFILE(){return this.getToken(FC.UNDOFILE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}ENGINE(){return this.getToken(FC.ENGINE,0)}engineName(){return this.getRuleContext(0,yx)}INITIAL_SIZE(){return this.getToken(FC.INITIAL_SIZE,0)}fileSizeLiteral(){return this.getRuleContext(0,Jx)}WAIT(){return this.getToken(FC.WAIT,0)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}get ruleIndex(){return FC.RULE_alterLogfileGroup}accept(t){return t.visitAlterLogfileGroup?t.visitAlterLogfileGroup(this):t.visitChildren(this)}},gM=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(FC.ALTER,0)}PROCEDURE(){return this.getToken(FC.PROCEDURE,0)}fullId(){return this.getRuleContext(0,Sx)}routineOption(t){return void 0===t?this.getRuleContexts(D_):this.getRuleContext(t,D_)}get ruleIndex(){return FC.RULE_alterProcedure}accept(t){return t.visitAlterProcedure?t.visitAlterProcedure(this):t.visitChildren(this)}},xM=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(FC.ALTER,0)}SERVER(){return this.getToken(FC.SERVER,0)}uid(){return this.getRuleContext(0,Vx)}OPTIONS(){return this.getToken(FC.OPTIONS,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}serverOption(t){return void 0===t?this.getRuleContexts(G_):this.getRuleContext(t,G_)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_alterServer}accept(t){return t.visitAlterServer?t.visitAlterServer(this):t.visitChildren(this)}},kM=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(FC.ALTER,0)}TABLE(){return this.getToken(FC.TABLE,0)}tableName(){return this.getRuleContext(0,lx)}IGNORE(){return this.getToken(FC.IGNORE,0)}waitNowaitClause(){return this.getRuleContext(0,gk)}alterSpecification(t){return void 0===t?this.getRuleContexts(FM):this.getRuleContext(t,FM)}partitionDefinitions(){return this.getRuleContext(0,jP)}ONLINE(){return this.getToken(FC.ONLINE,0)}OFFLINE(){return this.getToken(FC.OFFLINE,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_alterTable}accept(t){return t.visitAlterTable?t.visitAlterTable(this):t.visitChildren(this)}},HM=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(FC.ALTER,0)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}uid(){return this.getRuleContext(0,Vx)}DATAFILE(){return this.getToken(FC.DATAFILE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}ENGINE(){return this.getToken(FC.ENGINE,0)}engineName(){return this.getRuleContext(0,yx)}ADD(){return this.getToken(FC.ADD,0)}DROP(){return this.getToken(FC.DROP,0)}INITIAL_SIZE(){return this.getToken(FC.INITIAL_SIZE,0)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}fileSizeLiteral(){return this.getRuleContext(0,Jx)}WAIT(){return this.getToken(FC.WAIT,0)}get ruleIndex(){return FC.RULE_alterTablespace}accept(t){return t.visitAlterTablespace?t.visitAlterTablespace(this):t.visitChildren(this)}},GM=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(FC.ALTER,0)}VIEW(){return this.getToken(FC.VIEW,0)}fullId(){return this.getRuleContext(0,Sx)}AS(){return this.getToken(FC.AS,0)}selectStatement(){return this.getRuleContext(0,rU)}ALGORITHM(){return this.getToken(FC.ALGORITHM,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}ownerStatement(){return this.getRuleContext(0,O_)}SQL(){return this.getToken(FC.SQL,0)}SECURITY(){return this.getToken(FC.SECURITY,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}uidList(){return this.getRuleContext(0,lk)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}WITH(){return this.getToken(FC.WITH,0)}CHECK(){return this.getToken(FC.CHECK,0)}OPTION(){return this.getToken(FC.OPTION,0)}UNDEFINED(){return this.getToken(FC.UNDEFINED,0)}MERGE(){return this.getToken(FC.MERGE,0)}TEMPTABLE(){return this.getToken(FC.TEMPTABLE,0)}DEFINER(){return this.getToken(FC.DEFINER,0)}INVOKER(){return this.getToken(FC.INVOKER,0)}CASCADED(){return this.getToken(FC.CASCADED,0)}LOCAL(){return this.getToken(FC.LOCAL,0)}get ruleIndex(){return FC.RULE_alterView}accept(t){return t.visitAlterView?t.visitAlterView(this):t.visitChildren(this)}},FM=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_alterSpecification}copyFrom(t){super.copyFrom(t)}},vM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ALTER(){return this.getToken(FC.ALTER,0)}uid(){return this.getRuleContext(0,Vx)}SET(){return this.getToken(FC.SET,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}DROP(){return this.getToken(FC.DROP,0)}COLUMN(){return this.getToken(FC.COLUMN,0)}VISIBLE(){return this.getToken(FC.VISIBLE,0)}INVISIBLE(){return this.getToken(FC.INVISIBLE,0)}stringLiteral(){return this.getRuleContext(0,Zx)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitAlterByAlterColumnDefault?t.visitAlterByAlterColumnDefault(this):t.visitChildren(this)}},BM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DISABLE(){return this.getToken(FC.DISABLE,0)}KEYS(){return this.getToken(FC.KEYS,0)}accept(t){return t.visitAlterByDisableKeys?t.visitAlterByDisableKeys(this):t.visitChildren(this)}},yM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CHARACTER(){return this.getToken(FC.CHARACTER,0)}SET(){return this.getToken(FC.SET,0)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}charsetName(){return this.getRuleContext(0,vx)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}COLLATE(){return this.getToken(FC.COLLATE,0)}collationName(){return this.getRuleContext(0,Bx)}accept(t){return t.visitAlterByDefaultCharset?t.visitAlterByDefaultCharset(this):t.visitChildren(this)}},fM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}RENAME(){return this.getToken(FC.RENAME,0)}COLUMN(){return this.getToken(FC.COLUMN,0)}TO(){return this.getToken(FC.TO,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}accept(t){return t.visitAlterByRenameColumn?t.visitAlterByRenameColumn(this):t.visitChildren(this)}},YM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CONVERT(){return this.getToken(FC.CONVERT,0)}TO(){return this.getToken(FC.TO,0)}charsetName(){return this.getRuleContext(0,vx)}CHARSET(){return this.getToken(FC.CHARSET,0)}CHARACTER(){return this.getToken(FC.CHARACTER,0)}SET(){return this.getToken(FC.SET,0)}COLLATE(){return this.getToken(FC.COLLATE,0)}collationName(){return this.getRuleContext(0,Bx)}accept(t){return t.visitAlterByConvertCharset?t.visitAlterByConvertCharset(this):t.visitChildren(this)}},wM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(FC.ADD,0)}FOREIGN(){return this.getToken(FC.FOREIGN,0)}KEY(){return this.getToken(FC.KEY,0)}indexColumnNames(){return this.getRuleContext(0,uk)}referenceDefinition(){return this.getRuleContext(0,hP)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}accept(t){return t.visitAlterByAddForeignKey?t.visitAlterByAddForeignKey(this):t.visitChildren(this)}},bM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}RENAME(){return this.getToken(FC.RENAME,0)}indexName(){return this.getRuleContext(0,dx)}TO(){return this.getToken(FC.TO,0)}uid(){return this.getRuleContext(0,Vx)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}accept(t){return t.visitAlterByRenameIndex?t.visitAlterByRenameIndex(this):t.visitChildren(this)}},WM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}RENAME(){return this.getToken(FC.RENAME,0)}uid(){return this.getRuleContext(0,Vx)}fullId(){return this.getRuleContext(0,Sx)}TO(){return this.getToken(FC.TO,0)}AS(){return this.getToken(FC.AS,0)}accept(t){return t.visitAlterByRename?t.visitAlterByRename(this):t.visitChildren(this)}},VM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}IMPORT(){return this.getToken(FC.IMPORT,0)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}accept(t){return t.visitAlterByImportTablespace?t.visitAlterByImportTablespace(this):t.visitChildren(this)}},XM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(FC.ADD,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}createDefinition(t){return void 0===t?this.getRuleContexts(v_):this.getRuleContext(t,v_)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COLUMN(){return this.getToken(FC.COLUMN,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitAlterByAddDefinitions?t.visitAlterByAddDefinitions(this):t.visitChildren(this)}},KM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ALTER(){return this.getToken(FC.ALTER,0)}CHECK(){return this.getToken(FC.CHECK,0)}uid(){return this.getRuleContext(0,Vx)}stringLiteral(){return this.getRuleContext(0,Zx)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}NOT(){return this.getToken(FC.NOT,0)}ENFORCED(){return this.getToken(FC.ENFORCED,0)}constraintName(){return this.getRuleContext(0,Ux)}accept(t){return t.visitAlterByAlterCheckTableConstraint?t.visitAlterByAlterCheckTableConstraint(this):t.visitChildren(this)}},QM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DROP(){return this.getToken(FC.DROP,0)}constraintName(){return this.getRuleContext(0,Ux)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}CHECK(){return this.getToken(FC.CHECK,0)}accept(t){return t.visitAlterByDropConstraintCheck?t.visitAlterByDropConstraintCheck(this):t.visitChildren(this)}},JM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(FC.ADD,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}columnDefinition(t){return void 0===t?this.getRuleContexts(Y_):this.getRuleContext(t,Y_)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COLUMN(){return this.getToken(FC.COLUMN,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitAlterByAddColumns?t.visitAlterByAddColumns(this):t.visitChildren(this)}},ZM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ALTER(){return this.getToken(FC.ALTER,0)}INDEX(){return this.getToken(FC.INDEX,0)}indexName(){return this.getRuleContext(0,dx)}VISIBLE(){return this.getToken(FC.VISIBLE,0)}INVISIBLE(){return this.getToken(FC.INVISIBLE,0)}accept(t){return t.visitAlterByAlterIndexVisibility?t.visitAlterByAlterIndexVisibility(this):t.visitChildren(this)}},qM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DROP(){return this.getToken(FC.DROP,0)}FOREIGN(){return this.getToken(FC.FOREIGN,0)}KEY(){return this.getToken(FC.KEY,0)}uid(){return this.getRuleContext(0,Vx)}accept(t){return t.visitAlterByDropForeignKey?t.visitAlterByDropForeignKey(this):t.visitChildren(this)}},jM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(FC.ADD,0)}CHECK(){return this.getToken(FC.CHECK,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}stringLiteral(){return this.getRuleContext(0,Zx)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}NOT(){return this.getToken(FC.NOT,0)}ENFORCED(){return this.getToken(FC.ENFORCED,0)}accept(t){return t.visitAlterByAddCheckTableConstraint?t.visitAlterByAddCheckTableConstraint(this):t.visitChildren(this)}},zM=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}alterPartitionSpecification(){return this.getRuleContext(0,ud)}accept(t){return t.visitAlterPartition?t.visitAlterPartition(this):t.visitChildren(this)}},$M=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(FC.ADD,0)}indexColumnNames(){return this.getRuleContext(0,uk)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}uid(){return this.getRuleContext(0,Vx)}indexType(){return this.getRuleContext(0,M_)}indexOption(t){return void 0===t?this.getRuleContexts(d_):this.getRuleContext(t,d_)}accept(t){return t.visitAlterByAddIndex?t.visitAlterByAddIndex(this):t.visitChildren(this)}},td=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DROP(){return this.getToken(FC.DROP,0)}uid(){return this.getRuleContext(0,Vx)}COLUMN(){return this.getToken(FC.COLUMN,0)}RESTRICT(){return this.getToken(FC.RESTRICT,0)}accept(t){return t.visitAlterByDropColumn?t.visitAlterByDropColumn(this):t.visitChildren(this)}},ed=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ALTER(){return this.getToken(FC.ALTER,0)}uid(){return this.getRuleContext(0,Vx)}SET(){return this.getToken(FC.SET,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Mk)}DROP(){return this.getToken(FC.DROP,0)}COLUMN(){return this.getToken(FC.COLUMN,0)}accept(t){return t.visitAlterByChangeDefault?t.visitAlterByChangeDefault(this):t.visitChildren(this)}},sd=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}FORCE(){return this.getToken(FC.FORCE,0)}accept(t){return t.visitAlterByForce?t.visitAlterByForce(this):t.visitChildren(this)}},ad=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(FC.ADD,0)}indexColumnNames(){return this.getRuleContext(0,uk)}FULLTEXT(){return this.getToken(FC.FULLTEXT,0)}SPATIAL(){return this.getToken(FC.SPATIAL,0)}uid(){return this.getRuleContext(0,Vx)}indexOption(t){return void 0===t?this.getRuleContexts(d_):this.getRuleContext(t,d_)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}accept(t){return t.visitAlterByAddSpecialIndex?t.visitAlterByAddSpecialIndex(this):t.visitChildren(this)}},rd=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MODIFY(){return this.getToken(FC.MODIFY,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}columnDefinition(){return this.getRuleContext(0,Y_)}COLUMN(){return this.getToken(FC.COLUMN,0)}FIRST(){return this.getToken(FC.FIRST,0)}AFTER(){return this.getToken(FC.AFTER,0)}accept(t){return t.visitAlterByModifyColumn?t.visitAlterByModifyColumn(this):t.visitChildren(this)}},id=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableOption(t){return void 0===t?this.getRuleContexts(SP):this.getRuleContext(t,SP)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitAlterByTableOption?t.visitAlterByTableOption(this):t.visitChildren(this)}},cd=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DROP(){return this.getToken(FC.DROP,0)}PRIMARY(){return this.getToken(FC.PRIMARY,0)}KEY(){return this.getToken(FC.KEY,0)}accept(t){return t.visitAlterByDropPrimaryKey?t.visitAlterByDropPrimaryKey(this):t.visitChildren(this)}},nd=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LOCK(){return this.getToken(FC.LOCK,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}NONE(){return this.getToken(FC.NONE,0)}SHARED(){return this.getToken(FC.SHARED,0)}EXCLUSIVE(){return this.getToken(FC.EXCLUSIVE,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitAlterByLock?t.visitAlterByLock(this):t.visitChildren(this)}},hd=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DISCARD(){return this.getToken(FC.DISCARD,0)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}accept(t){return t.visitAlterByDiscardTablespace?t.visitAlterByDiscardTablespace(this):t.visitChildren(this)}},Ed=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}VALIDATION(){return this.getToken(FC.VALIDATION,0)}WITHOUT(){return this.getToken(FC.WITHOUT,0)}WITH(){return this.getToken(FC.WITH,0)}accept(t){return t.visitAlterByValidate?t.visitAlterByValidate(this):t.visitChildren(this)}},Td=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(FC.ADD,0)}PRIMARY(){return this.getToken(FC.PRIMARY,0)}KEY(){return this.getToken(FC.KEY,0)}indexColumnNames(){return this.getRuleContext(0,uk)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}indexType(){return this.getRuleContext(0,M_)}indexOption(t){return void 0===t?this.getRuleContexts(d_):this.getRuleContext(t,d_)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}accept(t){return t.visitAlterByAddPrimaryKey?t.visitAlterByAddPrimaryKey(this):t.visitChildren(this)}},od=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ENABLE(){return this.getToken(FC.ENABLE,0)}KEYS(){return this.getToken(FC.KEYS,0)}accept(t){return t.visitAlterByEnableKeys?t.visitAlterByEnableKeys(this):t.visitChildren(this)}},Rd=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ALGORITHM(){return this.getToken(FC.ALGORITHM,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}INSTANT(){return this.getToken(FC.INSTANT,0)}INPLACE(){return this.getToken(FC.INPLACE,0)}COPY(){return this.getToken(FC.COPY,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}accept(t){return t.visitAlterBySetAlgorithm?t.visitAlterBySetAlgorithm(this):t.visitChildren(this)}},Ad=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CHANGE(){return this.getToken(FC.CHANGE,0)}columnDefinition(){return this.getRuleContext(0,Y_)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}COLUMN(){return this.getToken(FC.COLUMN,0)}FIRST(){return this.getToken(FC.FIRST,0)}AFTER(){return this.getToken(FC.AFTER,0)}accept(t){return t.visitAlterByChangeColumn?t.visitAlterByChangeColumn(this):t.visitChildren(this)}},Sd=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(FC.ADD,0)}UNIQUE(){return this.getToken(FC.UNIQUE,0)}indexColumnNames(){return this.getRuleContext(0,uk)}CONSTRAINT(){return this.getToken(FC.CONSTRAINT,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}indexType(){return this.getRuleContext(0,M_)}indexOption(t){return void 0===t?this.getRuleContexts(d_):this.getRuleContext(t,d_)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}accept(t){return t.visitAlterByAddUniqueKey?t.visitAlterByAddUniqueKey(this):t.visitChildren(this)}},ld=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DROP(){return this.getToken(FC.DROP,0)}indexName(){return this.getRuleContext(0,dx)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}accept(t){return t.visitAlterByDropIndex?t.visitAlterByDropIndex(this):t.visitChildren(this)}},Od=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(FC.ADD,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}columnDefinition(){return this.getRuleContext(0,Y_)}COLUMN(){return this.getToken(FC.COLUMN,0)}FIRST(){return this.getToken(FC.FIRST,0)}AFTER(){return this.getToken(FC.AFTER,0)}accept(t){return t.visitAlterByAddColumn?t.visitAlterByAddColumn(this):t.visitChildren(this)}},Id=class extends FM{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ORDER(){return this.getToken(FC.ORDER,0)}BY(){return this.getToken(FC.BY,0)}uidList(){return this.getRuleContext(0,lk)}accept(t){return t.visitAlterByOrder?t.visitAlterByOrder(this):t.visitChildren(this)}},ud=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_alterPartitionSpecification}copyFrom(t){super.copyFrom(t)}},Nd=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}IMPORT(){return this.getToken(FC.IMPORT,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}uidList(){return this.getRuleContext(0,lk)}ALL(){return this.getToken(FC.ALL,0)}accept(t){return t.visitAlterByImportPartition?t.visitAlterByImportPartition(this):t.visitChildren(this)}},Ld=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DROP(){return this.getToken(FC.DROP,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}uidList(){return this.getRuleContext(0,lk)}accept(t){return t.visitAlterByDropPartition?t.visitAlterByDropPartition(this):t.visitChildren(this)}},Cd=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DISCARD(){return this.getToken(FC.DISCARD,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}uidList(){return this.getRuleContext(0,lk)}ALL(){return this.getToken(FC.ALL,0)}accept(t){return t.visitAlterByDiscardPartition?t.visitAlterByDiscardPartition(this):t.visitChildren(this)}},_d=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(FC.ADD,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}partitionDefinition(t){return void 0===t?this.getRuleContexts(cM):this.getRuleContext(t,cM)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitAlterByAddPartition?t.visitAlterByAddPartition(this):t.visitChildren(this)}},Pd=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REMOVE(){return this.getToken(FC.REMOVE,0)}PARTITIONING(){return this.getToken(FC.PARTITIONING,0)}accept(t){return t.visitAlterByRemovePartitioning?t.visitAlterByRemovePartitioning(this):t.visitChildren(this)}},Md=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}OPTIMIZE(){return this.getToken(FC.OPTIMIZE,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}uidList(){return this.getRuleContext(0,lk)}ALL(){return this.getToken(FC.ALL,0)}accept(t){return t.visitAlterByOptimizePartition?t.visitAlterByOptimizePartition(this):t.visitChildren(this)}},dd=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CHECK(){return this.getToken(FC.CHECK,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}uidList(){return this.getRuleContext(0,lk)}ALL(){return this.getToken(FC.ALL,0)}accept(t){return t.visitAlterByCheckPartition?t.visitAlterByCheckPartition(this):t.visitChildren(this)}},Ud=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}COALESCE(){return this.getToken(FC.COALESCE,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}accept(t){return t.visitAlterByCoalescePartition?t.visitAlterByCoalescePartition(this):t.visitChildren(this)}},md=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REORGANIZE(){return this.getToken(FC.REORGANIZE,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}uidList(){return this.getRuleContext(0,lk)}INTO(){return this.getToken(FC.INTO,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}partitionDefinition(t){return void 0===t?this.getRuleContexts(cM):this.getRuleContext(t,cM)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitAlterByReorganizePartition?t.visitAlterByReorganizePartition(this):t.visitChildren(this)}},Dd=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ANALYZE(){return this.getToken(FC.ANALYZE,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}uidList(){return this.getRuleContext(0,lk)}ALL(){return this.getToken(FC.ALL,0)}accept(t){return t.visitAlterByAnalyzePartition?t.visitAlterByAnalyzePartition(this):t.visitChildren(this)}},pd=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REBUILD(){return this.getToken(FC.REBUILD,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}uidList(){return this.getRuleContext(0,lk)}ALL(){return this.getToken(FC.ALL,0)}accept(t){return t.visitAlterByRebuildPartition?t.visitAlterByRebuildPartition(this):t.visitChildren(this)}},gd=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}UPGRADE(){return this.getToken(FC.UPGRADE,0)}PARTITIONING(){return this.getToken(FC.PARTITIONING,0)}accept(t){return t.visitAlterByUpgradePartitioning?t.visitAlterByUpgradePartitioning(this):t.visitChildren(this)}},xd=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}TRUNCATE(){return this.getToken(FC.TRUNCATE,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}uidList(){return this.getRuleContext(0,lk)}ALL(){return this.getToken(FC.ALL,0)}accept(t){return t.visitAlterByTruncatePartition?t.visitAlterByTruncatePartition(this):t.visitChildren(this)}},kd=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REPAIR(){return this.getToken(FC.REPAIR,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}uidList(){return this.getRuleContext(0,lk)}ALL(){return this.getToken(FC.ALL,0)}accept(t){return t.visitAlterByRepairPartition?t.visitAlterByRepairPartition(this):t.visitChildren(this)}},Hd=class extends ud{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXCHANGE(){return this.getToken(FC.EXCHANGE,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}uid(){return this.getRuleContext(0,Vx)}WITH(t){return void 0===t?this.getTokens(FC.WITH):this.getToken(FC.WITH,t)}TABLE(){return this.getToken(FC.TABLE,0)}tableName(){return this.getRuleContext(0,lx)}VALIDATION(){return this.getToken(FC.VALIDATION,0)}WITHOUT(){return this.getToken(FC.WITHOUT,0)}accept(t){return t.visitAlterByExchangePartition?t.visitAlterByExchangePartition(this):t.visitChildren(this)}},Gd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}databaseName(){return this.getRuleContext(0,Mx)}DATABASE(){return this.getToken(FC.DATABASE,0)}SCHEMA(){return this.getToken(FC.SCHEMA,0)}ifExists(){return this.getRuleContext(0,mk)}get ruleIndex(){return FC.RULE_dropDatabase}accept(t){return t.visitDropDatabase?t.visitDropDatabase(this):t.visitChildren(this)}},Fd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}EVENT(){return this.getToken(FC.EVENT,0)}fullId(){return this.getRuleContext(0,Sx)}ifExists(){return this.getRuleContext(0,mk)}get ruleIndex(){return FC.RULE_dropEvent}accept(t){return t.visitDropEvent?t.visitDropEvent(this):t.visitChildren(this)}},vd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}INDEX(){return this.getToken(FC.INDEX,0)}indexName(){return this.getRuleContext(0,dx)}ON(){return this.getToken(FC.ON,0)}tableName(){return this.getRuleContext(0,lx)}ALGORITHM(t){return void 0===t?this.getTokens(FC.ALGORITHM):this.getToken(FC.ALGORITHM,t)}LOCK(t){return void 0===t?this.getTokens(FC.LOCK):this.getToken(FC.LOCK,t)}ONLINE(){return this.getToken(FC.ONLINE,0)}OFFLINE(){return this.getToken(FC.OFFLINE,0)}DEFAULT(t){return void 0===t?this.getTokens(FC.DEFAULT):this.getToken(FC.DEFAULT,t)}INPLACE(t){return void 0===t?this.getTokens(FC.INPLACE):this.getToken(FC.INPLACE,t)}COPY(t){return void 0===t?this.getTokens(FC.COPY):this.getToken(FC.COPY,t)}NONE(t){return void 0===t?this.getTokens(FC.NONE):this.getToken(FC.NONE,t)}SHARED(t){return void 0===t?this.getTokens(FC.SHARED):this.getToken(FC.SHARED,t)}EXCLUSIVE(t){return void 0===t?this.getTokens(FC.EXCLUSIVE):this.getToken(FC.EXCLUSIVE,t)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}get ruleIndex(){return FC.RULE_dropIndex}accept(t){return t.visitDropIndex?t.visitDropIndex(this):t.visitChildren(this)}},Bd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}LOGFILE(){return this.getToken(FC.LOGFILE,0)}GROUP(){return this.getToken(FC.GROUP,0)}uid(){return this.getRuleContext(0,Vx)}ENGINE(){return this.getToken(FC.ENGINE,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}engineName(){return this.getRuleContext(0,yx)}get ruleIndex(){return FC.RULE_dropLogfileGroup}accept(t){return t.visitDropLogfileGroup?t.visitDropLogfileGroup(this):t.visitChildren(this)}},yd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}PROCEDURE(){return this.getToken(FC.PROCEDURE,0)}fullId(){return this.getRuleContext(0,Sx)}ifExists(){return this.getRuleContext(0,mk)}get ruleIndex(){return FC.RULE_dropProcedure}accept(t){return t.visitDropProcedure?t.visitDropProcedure(this):t.visitChildren(this)}},fd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}FUNCTION(){return this.getToken(FC.FUNCTION,0)}fullId(){return this.getRuleContext(0,Sx)}ifExists(){return this.getRuleContext(0,mk)}get ruleIndex(){return FC.RULE_dropFunction}accept(t){return t.visitDropFunction?t.visitDropFunction(this):t.visitChildren(this)}},Yd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}SERVER(){return this.getToken(FC.SERVER,0)}uid(){return this.getRuleContext(0,Vx)}ifExists(){return this.getRuleContext(0,mk)}get ruleIndex(){return FC.RULE_dropServer}accept(t){return t.visitDropServer?t.visitDropServer(this):t.visitChildren(this)}},wd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}TABLE(){return this.getToken(FC.TABLE,0)}tables(){return this.getRuleContext(0,Ik)}TEMPORARY(){return this.getToken(FC.TEMPORARY,0)}ifExists(){return this.getRuleContext(0,mk)}RESTRICT(){return this.getToken(FC.RESTRICT,0)}CASCADE(){return this.getToken(FC.CASCADE,0)}get ruleIndex(){return FC.RULE_dropTable}accept(t){return t.visitDropTable?t.visitDropTable(this):t.visitChildren(this)}},bd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}uid(){return this.getRuleContext(0,Vx)}ENGINE(){return this.getToken(FC.ENGINE,0)}engineName(){return this.getRuleContext(0,yx)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}get ruleIndex(){return FC.RULE_dropTablespace}accept(t){return t.visitDropTablespace?t.visitDropTablespace(this):t.visitChildren(this)}},Wd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}TRIGGER(){return this.getToken(FC.TRIGGER,0)}triggerName(){return this.getRuleContext(0,mx)}ifExists(){return this.getRuleContext(0,mk)}get ruleIndex(){return FC.RULE_dropTrigger}accept(t){return t.visitDropTrigger?t.visitDropTrigger(this):t.visitChildren(this)}},Vd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}VIEW(){return this.getToken(FC.VIEW,0)}fullId(t){return void 0===t?this.getRuleContexts(Sx):this.getRuleContext(t,Sx)}ifExists(){return this.getRuleContext(0,mk)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}RESTRICT(){return this.getToken(FC.RESTRICT,0)}CASCADE(){return this.getToken(FC.CASCADE,0)}get ruleIndex(){return FC.RULE_dropView}accept(t){return t.visitDropView?t.visitDropView(this):t.visitChildren(this)}},Xd=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}ROLE(){return this.getToken(FC.ROLE,0)}roleNameList(){return this.getRuleContext(0,Cx)}ifExists(){return this.getRuleContext(0,mk)}get ruleIndex(){return FC.RULE_dropRole}accept(t){return t.visitDropRole?t.visitDropRole(this):t.visitChildren(this)}},Kd=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(FC.SET,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}ROLE(){return this.getToken(FC.ROLE,0)}TO(){return this.getToken(FC.TO,0)}userNameList(){return this.getRuleContext(0,kx)}NONE(){return this.getToken(FC.NONE,0)}ALL(){return this.getToken(FC.ALL,0)}roleNameList(){return this.getRuleContext(0,Cx)}roleOption(){return this.getRuleContext(0,lp)}get ruleIndex(){return FC.RULE_setRole}accept(t){return t.visitSetRole?t.visitSetRole(this):t.visitChildren(this)}},Qd=class extends ga{constructor(t,e){super(t,e)}RENAME(){return this.getToken(FC.RENAME,0)}TABLE(){return this.getToken(FC.TABLE,0)}renameTableClause(t){return void 0===t?this.getRuleContexts(Jd):this.getRuleContext(t,Jd)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_renameTable}accept(t){return t.visitRenameTable?t.visitRenameTable(this):t.visitChildren(this)}},Jd=class extends ga{constructor(t,e){super(t,e)}tableName(t){return void 0===t?this.getRuleContexts(lx):this.getRuleContext(t,lx)}TO(){return this.getToken(FC.TO,0)}get ruleIndex(){return FC.RULE_renameTableClause}accept(t){return t.visitRenameTableClause?t.visitRenameTableClause(this):t.visitChildren(this)}},Zd=class extends ga{constructor(t,e){super(t,e)}TRUNCATE(){return this.getToken(FC.TRUNCATE,0)}tableName(){return this.getRuleContext(0,lx)}TABLE(){return this.getToken(FC.TABLE,0)}get ruleIndex(){return FC.RULE_truncateTable}accept(t){return t.visitTruncateTable?t.visitTruncateTable(this):t.visitChildren(this)}},qd=class extends ga{constructor(t,e){super(t,e)}CALL(){return this.getToken(FC.CALL,0)}fullId(){return this.getRuleContext(0,Sx)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}constants(){return this.getRuleContext(0,Ck)}expressions(){return this.getRuleContext(0,Nk)}get ruleIndex(){return FC.RULE_callStatement}accept(t){return t.visitCallStatement?t.visitCallStatement(this):t.visitChildren(this)}},jd=class extends ga{constructor(t,e){super(t,e)}singleDeleteStatement(){return this.getRuleContext(0,OU)}multipleDeleteStatement(){return this.getRuleContext(0,IU)}get ruleIndex(){return FC.RULE_deleteStatement}accept(t){return t.visitDeleteStatement?t.visitDeleteStatement(this):t.visitChildren(this)}},zd=class extends ga{constructor(t,e){super(t,e)}DO(){return this.getToken(FC.DO,0)}expressions(){return this.getRuleContext(0,Nk)}get ruleIndex(){return FC.RULE_doStatement}accept(t){return t.visitDoStatement?t.visitDoStatement(this):t.visitChildren(this)}},$d=class extends ga{constructor(t,e){super(t,e)}handlerOpenStatement(){return this.getRuleContext(0,uU)}handlerReadIndexStatement(){return this.getRuleContext(0,NU)}handlerReadStatement(){return this.getRuleContext(0,LU)}handlerCloseStatement(){return this.getRuleContext(0,CU)}get ruleIndex(){return FC.RULE_handlerStatement}accept(t){return t.visitHandlerStatement?t.visitHandlerStatement(this):t.visitChildren(this)}},tU=class extends ga{constructor(t,e){super(t,e),this._setElements=[],this._duplicatedElements=[]}INSERT(){return this.getToken(FC.INSERT,0)}tableName(){return this.getRuleContext(0,lx)}insertStatementValue(){return this.getRuleContext(0,RU)}SET(){return this.getToken(FC.SET,0)}IGNORE(){return this.getToken(FC.IGNORE,0)}INTO(){return this.getToken(FC.INTO,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}updatedElement(t){return void 0===t?this.getRuleContexts(AU):this.getRuleContext(t,AU)}ON(){return this.getToken(FC.ON,0)}DUPLICATE(){return this.getToken(FC.DUPLICATE,0)}KEY(){return this.getToken(FC.KEY,0)}UPDATE(){return this.getToken(FC.UPDATE,0)}LOW_PRIORITY(){return this.getToken(FC.LOW_PRIORITY,0)}DELAYED(){return this.getToken(FC.DELAYED,0)}HIGH_PRIORITY(){return this.getToken(FC.HIGH_PRIORITY,0)}uid(){return this.getRuleContext(0,Vx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}uidList(){return this.getRuleContext(0,lk)}AS(){return this.getToken(FC.AS,0)}fullColumnNameList(){return this.getRuleContext(0,Ok)}get ruleIndex(){return FC.RULE_insertStatement}accept(t){return t.visitInsertStatement?t.visitInsertStatement(this):t.visitChildren(this)}},eU=class extends ga{constructor(t,e){super(t,e)}LOAD(){return this.getToken(FC.LOAD,0)}DATA(){return this.getToken(FC.DATA,0)}INFILE(){return this.getToken(FC.INFILE,0)}INTO(){return this.getToken(FC.INTO,0)}TABLE(){return this.getToken(FC.TABLE,0)}tableName(){return this.getRuleContext(0,lx)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}LOCAL(){return this.getToken(FC.LOCAL,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}uidList(){return this.getRuleContext(0,lk)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}CHARACTER(){return this.getToken(FC.CHARACTER,0)}SET(t){return void 0===t?this.getTokens(FC.SET):this.getToken(FC.SET,t)}LINES(t){return void 0===t?this.getTokens(FC.LINES):this.getToken(FC.LINES,t)}IGNORE(t){return void 0===t?this.getTokens(FC.IGNORE):this.getToken(FC.IGNORE,t)}decimalLiteral(){return this.getRuleContext(0,Qx)}assignmentField(t){return void 0===t?this.getRuleContexts(SU):this.getRuleContext(t,SU)}updatedElement(t){return void 0===t?this.getRuleContexts(AU):this.getRuleContext(t,AU)}charsetName(){return this.getRuleContext(0,vx)}LOW_PRIORITY(){return this.getToken(FC.LOW_PRIORITY,0)}CONCURRENT(){return this.getToken(FC.CONCURRENT,0)}REPLACE(){return this.getToken(FC.REPLACE,0)}FIELDS(){return this.getToken(FC.FIELDS,0)}COLUMNS(){return this.getToken(FC.COLUMNS,0)}ROWS(){return this.getToken(FC.ROWS,0)}selectFieldsInto(t){return void 0===t?this.getRuleContexts(Am):this.getRuleContext(t,Am)}selectLinesInto(t){return void 0===t?this.getRuleContexts(Sm):this.getRuleContext(t,Sm)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_loadDataStatement}accept(t){return t.visitLoadDataStatement?t.visitLoadDataStatement(this):t.visitChildren(this)}},sU=class extends ga{constructor(t,e){super(t,e)}LOAD(){return this.getToken(FC.LOAD,0)}XML(){return this.getToken(FC.XML,0)}INFILE(){return this.getToken(FC.INFILE,0)}INTO(){return this.getToken(FC.INTO,0)}TABLE(){return this.getToken(FC.TABLE,0)}tableName(){return this.getRuleContext(0,lx)}STRING_LITERAL(t){return void 0===t?this.getTokens(FC.STRING_LITERAL):this.getToken(FC.STRING_LITERAL,t)}LOCAL(){return this.getToken(FC.LOCAL,0)}CHARACTER(){return this.getToken(FC.CHARACTER,0)}SET(t){return void 0===t?this.getTokens(FC.SET):this.getToken(FC.SET,t)}ROWS(t){return void 0===t?this.getTokens(FC.ROWS):this.getToken(FC.ROWS,t)}IDENTIFIED(){return this.getToken(FC.IDENTIFIED,0)}BY(){return this.getToken(FC.BY,0)}LESS_SYMBOL(){return this.getToken(FC.LESS_SYMBOL,0)}GREATER_SYMBOL(){return this.getToken(FC.GREATER_SYMBOL,0)}IGNORE(t){return void 0===t?this.getTokens(FC.IGNORE):this.getToken(FC.IGNORE,t)}decimalLiteral(){return this.getRuleContext(0,Qx)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}assignmentField(t){return void 0===t?this.getRuleContexts(SU):this.getRuleContext(t,SU)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}updatedElement(t){return void 0===t?this.getRuleContexts(AU):this.getRuleContext(t,AU)}charsetName(){return this.getRuleContext(0,vx)}LOW_PRIORITY(){return this.getToken(FC.LOW_PRIORITY,0)}CONCURRENT(){return this.getToken(FC.CONCURRENT,0)}REPLACE(){return this.getToken(FC.REPLACE,0)}LINES(){return this.getToken(FC.LINES,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_loadXmlStatement}accept(t){return t.visitLoadXmlStatement?t.visitLoadXmlStatement(this):t.visitChildren(this)}},aU=class extends ga{constructor(t,e){super(t,e),this._setElements=[]}REPLACE(){return this.getToken(FC.REPLACE,0)}tableName(){return this.getRuleContext(0,lx)}insertStatementValue(){return this.getRuleContext(0,RU)}SET(){return this.getToken(FC.SET,0)}INTO(){return this.getToken(FC.INTO,0)}PARTITION(){return this.getToken(FC.PARTITION,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}updatedElement(t){return void 0===t?this.getRuleContexts(AU):this.getRuleContext(t,AU)}uidList(t){return void 0===t?this.getRuleContexts(lk):this.getRuleContext(t,lk)}LOW_PRIORITY(){return this.getToken(FC.LOW_PRIORITY,0)}DELAYED(){return this.getToken(FC.DELAYED,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_replaceStatement}accept(t){return t.visitReplaceStatement?t.visitReplaceStatement(this):t.visitChildren(this)}},rU=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_selectStatement}copyFrom(t){super.copyFrom(t)}},iU=class extends rU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}querySpecificationNointo(){return this.getRuleContext(0,KU)}queryExpressionNointo(){return this.getRuleContext(0,VU)}unionStatement(t){return void 0===t?this.getRuleContexts(JU):this.getRuleContext(t,JU)}UNION(){return this.getToken(FC.UNION,0)}orderByClause(){return this.getRuleContext(0,MU)}limitClause(){return this.getRuleContext(0,Lm)}lockClause(){return this.getRuleContext(0,lU)}querySpecification(){return this.getRuleContext(0,XU)}queryExpression(){return this.getRuleContext(0,WU)}ALL(){return this.getToken(FC.ALL,0)}DISTINCT(){return this.getToken(FC.DISTINCT,0)}accept(t){return t.visitUnionSelect?t.visitUnionSelect(this):t.visitChildren(this)}},cU=class extends rU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryExpressionNointo(){return this.getRuleContext(0,VU)}unionParenthesis(t){return void 0===t?this.getRuleContexts(QU):this.getRuleContext(t,QU)}UNION(){return this.getToken(FC.UNION,0)}queryExpression(){return this.getRuleContext(0,WU)}orderByClause(){return this.getRuleContext(0,MU)}limitClause(){return this.getRuleContext(0,Lm)}lockClause(){return this.getRuleContext(0,lU)}ALL(){return this.getToken(FC.ALL,0)}DISTINCT(){return this.getToken(FC.DISTINCT,0)}accept(t){return t.visitUnionParenthesisSelect?t.visitUnionParenthesisSelect(this):t.visitChildren(this)}},nU=class extends rU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}querySpecification(){return this.getRuleContext(0,XU)}lockClause(){return this.getRuleContext(0,lU)}accept(t){return t.visitSimpleSelect?t.visitSimpleSelect(this):t.visitChildren(this)}},hU=class extends rU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}queryExpression(){return this.getRuleContext(0,WU)}lockClause(){return this.getRuleContext(0,lU)}accept(t){return t.visitParenthesisSelect?t.visitParenthesisSelect(this):t.visitChildren(this)}},EU=class extends rU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}querySpecificationNointo(){return this.getRuleContext(0,KU)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}lateralStatement(t){return void 0===t?this.getRuleContexts(ZU):this.getRuleContext(t,ZU)}accept(t){return t.visitWithLateralStatement?t.visitWithLateralStatement(this):t.visitChildren(this)}},TU=class extends ga{constructor(t,e){super(t,e)}singleUpdateStatement(){return this.getRuleContext(0,_U)}multipleUpdateStatement(){return this.getRuleContext(0,PU)}get ruleIndex(){return FC.RULE_updateStatement}accept(t){return t.visitUpdateStatement?t.visitUpdateStatement(this):t.visitChildren(this)}},oU=class extends ga{constructor(t,e){super(t,e)}VALUES(){return this.getToken(FC.VALUES,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}expressionsWithDefaults(t){return void 0===t?this.getRuleContexts(Lk):this.getRuleContext(t,Lk)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_valuesStatement}accept(t){return t.visitValuesStatement?t.visitValuesStatement(this):t.visitChildren(this)}},RU=class extends ga{constructor(t,e){super(t,e)}selectStatement(){return this.getRuleContext(0,rU)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}VALUES(){return this.getToken(FC.VALUES,0)}VALUE(){return this.getToken(FC.VALUE,0)}expressionsWithDefaults(t){return void 0===t?this.getRuleContexts(Lk):this.getRuleContext(t,Lk)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_insertStatementValue}accept(t){return t.visitInsertStatementValue?t.visitInsertStatementValue(this):t.visitChildren(this)}},AU=class extends ga{constructor(t,e){super(t,e)}fullColumnName(){return this.getRuleContext(0,Px)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}expression(){return this.getRuleContext(0,NH)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}get ruleIndex(){return FC.RULE_updatedElement}accept(t){return t.visitUpdatedElement?t.visitUpdatedElement(this):t.visitChildren(this)}},SU=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}LOCAL_ID(){return this.getToken(FC.LOCAL_ID,0)}get ruleIndex(){return FC.RULE_assignmentField}accept(t){return t.visitAssignmentField?t.visitAssignmentField(this):t.visitChildren(this)}},lU=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(FC.FOR,0)}UPDATE(){return this.getToken(FC.UPDATE,0)}LOCK(){return this.getToken(FC.LOCK,0)}IN(){return this.getToken(FC.IN,0)}SHARE(){return this.getToken(FC.SHARE,0)}MODE(){return this.getToken(FC.MODE,0)}get ruleIndex(){return FC.RULE_lockClause}accept(t){return t.visitLockClause?t.visitLockClause(this):t.visitChildren(this)}},OU=class extends ga{constructor(t,e){super(t,e)}DELETE(){return this.getToken(FC.DELETE,0)}FROM(){return this.getToken(FC.FROM,0)}tableName(){return this.getRuleContext(0,lx)}QUICK(){return this.getToken(FC.QUICK,0)}IGNORE(){return this.getToken(FC.IGNORE,0)}uid(){return this.getRuleContext(0,Vx)}PARTITION(){return this.getToken(FC.PARTITION,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}uidList(){return this.getRuleContext(0,lk)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}WHERE(){return this.getToken(FC.WHERE,0)}expression(){return this.getRuleContext(0,NH)}orderByClause(){return this.getRuleContext(0,MU)}LIMIT(){return this.getToken(FC.LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,Cm)}LOW_PRIORITY(){return this.getToken(FC.LOW_PRIORITY,0)}AS(){return this.getToken(FC.AS,0)}get ruleIndex(){return FC.RULE_singleDeleteStatement}accept(t){return t.visitSingleDeleteStatement?t.visitSingleDeleteStatement(this):t.visitChildren(this)}},IU=class extends ga{constructor(t,e){super(t,e)}DELETE(){return this.getToken(FC.DELETE,0)}tableName(t){return void 0===t?this.getRuleContexts(lx):this.getRuleContext(t,lx)}FROM(){return this.getToken(FC.FROM,0)}tableSources(){return this.getRuleContext(0,UU)}USING(){return this.getToken(FC.USING,0)}QUICK(){return this.getToken(FC.QUICK,0)}IGNORE(){return this.getToken(FC.IGNORE,0)}WHERE(){return this.getToken(FC.WHERE,0)}expression(){return this.getRuleContext(0,NH)}LOW_PRIORITY(){return this.getToken(FC.LOW_PRIORITY,0)}DOT(t){return void 0===t?this.getTokens(FC.DOT):this.getToken(FC.DOT,t)}STAR(t){return void 0===t?this.getTokens(FC.STAR):this.getToken(FC.STAR,t)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_multipleDeleteStatement}accept(t){return t.visitMultipleDeleteStatement?t.visitMultipleDeleteStatement(this):t.visitChildren(this)}},uU=class extends ga{constructor(t,e){super(t,e)}HANDLER(){return this.getToken(FC.HANDLER,0)}tableName(){return this.getRuleContext(0,lx)}OPEN(){return this.getToken(FC.OPEN,0)}uid(){return this.getRuleContext(0,Vx)}AS(){return this.getToken(FC.AS,0)}get ruleIndex(){return FC.RULE_handlerOpenStatement}accept(t){return t.visitHandlerOpenStatement?t.visitHandlerOpenStatement(this):t.visitChildren(this)}},NU=class extends ga{constructor(t,e){super(t,e)}HANDLER(){return this.getToken(FC.HANDLER,0)}tableName(){return this.getRuleContext(0,lx)}READ(){return this.getToken(FC.READ,0)}uid(){return this.getRuleContext(0,Vx)}comparisonOperator(){return this.getRuleContext(0,$H)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}constants(){return this.getRuleContext(0,Ck)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}WHERE(){return this.getToken(FC.WHERE,0)}expression(){return this.getRuleContext(0,NH)}LIMIT(){return this.getToken(FC.LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,Cm)}FIRST(){return this.getToken(FC.FIRST,0)}NEXT(){return this.getToken(FC.NEXT,0)}PREV(){return this.getToken(FC.PREV,0)}LAST(){return this.getToken(FC.LAST,0)}get ruleIndex(){return FC.RULE_handlerReadIndexStatement}accept(t){return t.visitHandlerReadIndexStatement?t.visitHandlerReadIndexStatement(this):t.visitChildren(this)}},LU=class extends ga{constructor(t,e){super(t,e)}HANDLER(){return this.getToken(FC.HANDLER,0)}tableName(){return this.getRuleContext(0,lx)}READ(){return this.getToken(FC.READ,0)}FIRST(){return this.getToken(FC.FIRST,0)}NEXT(){return this.getToken(FC.NEXT,0)}WHERE(){return this.getToken(FC.WHERE,0)}expression(){return this.getRuleContext(0,NH)}LIMIT(){return this.getToken(FC.LIMIT,0)}limitClauseAtom(){return this.getRuleContext(0,Cm)}get ruleIndex(){return FC.RULE_handlerReadStatement}accept(t){return t.visitHandlerReadStatement?t.visitHandlerReadStatement(this):t.visitChildren(this)}},CU=class extends ga{constructor(t,e){super(t,e)}HANDLER(){return this.getToken(FC.HANDLER,0)}tableName(){return this.getRuleContext(0,lx)}CLOSE(){return this.getToken(FC.CLOSE,0)}get ruleIndex(){return FC.RULE_handlerCloseStatement}accept(t){return t.visitHandlerCloseStatement?t.visitHandlerCloseStatement(this):t.visitChildren(this)}},_U=class extends ga{constructor(t,e){super(t,e)}UPDATE(){return this.getToken(FC.UPDATE,0)}tableName(){return this.getRuleContext(0,lx)}SET(){return this.getToken(FC.SET,0)}updatedElement(t){return void 0===t?this.getRuleContexts(AU):this.getRuleContext(t,AU)}IGNORE(){return this.getToken(FC.IGNORE,0)}uid(){return this.getRuleContext(0,Vx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}WHERE(){return this.getToken(FC.WHERE,0)}expression(){return this.getRuleContext(0,NH)}orderByClause(){return this.getRuleContext(0,MU)}limitClause(){return this.getRuleContext(0,Lm)}LOW_PRIORITY(){return this.getToken(FC.LOW_PRIORITY,0)}AS(){return this.getToken(FC.AS,0)}get ruleIndex(){return FC.RULE_singleUpdateStatement}accept(t){return t.visitSingleUpdateStatement?t.visitSingleUpdateStatement(this):t.visitChildren(this)}},PU=class extends ga{constructor(t,e){super(t,e)}UPDATE(){return this.getToken(FC.UPDATE,0)}tableNames(){return this.getRuleContext(0,Ox)}SET(){return this.getToken(FC.SET,0)}updatedElement(t){return void 0===t?this.getRuleContexts(AU):this.getRuleContext(t,AU)}IGNORE(){return this.getToken(FC.IGNORE,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}WHERE(){return this.getToken(FC.WHERE,0)}expression(){return this.getRuleContext(0,NH)}LOW_PRIORITY(){return this.getToken(FC.LOW_PRIORITY,0)}get ruleIndex(){return FC.RULE_multipleUpdateStatement}accept(t){return t.visitMultipleUpdateStatement?t.visitMultipleUpdateStatement(this):t.visitChildren(this)}},MU=class extends ga{constructor(t,e){super(t,e)}ORDER(){return this.getToken(FC.ORDER,0)}BY(){return this.getToken(FC.BY,0)}orderByExpression(t){return void 0===t?this.getRuleContexts(dU):this.getRuleContext(t,dU)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_orderByClause}accept(t){return t.visitOrderByClause?t.visitOrderByClause(this):t.visitChildren(this)}},dU=class extends ga{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,NH)}ASC(){return this.getToken(FC.ASC,0)}DESC(){return this.getToken(FC.DESC,0)}get ruleIndex(){return FC.RULE_orderByExpression}accept(t){return t.visitOrderByExpression?t.visitOrderByExpression(this):t.visitChildren(this)}},UU=class extends ga{constructor(t,e){super(t,e)}tableSource(t){return void 0===t?this.getRuleContexts(mU):this.getRuleContext(t,mU)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_tableSources}accept(t){return t.visitTableSources?t.visitTableSources(this):t.visitChildren(this)}},mU=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_tableSource}copyFrom(t){super.copyFrom(t)}},DU=class extends mU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}jsonTable(){return this.getRuleContext(0,qU)}accept(t){return t.visitTableJson?t.visitTableJson(this):t.visitChildren(this)}},pU=class extends mU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}tableSourceItem(){return this.getRuleContext(0,xU)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}joinPart(t){return void 0===t?this.getRuleContexts(BU):this.getRuleContext(t,BU)}accept(t){return t.visitTableSourceNested?t.visitTableSourceNested(this):t.visitChildren(this)}},gU=class extends mU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableSourceItem(){return this.getRuleContext(0,xU)}joinPart(t){return void 0===t?this.getRuleContexts(BU):this.getRuleContext(t,BU)}accept(t){return t.visitTableSourceBase?t.visitTableSourceBase(this):t.visitChildren(this)}},xU=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_tableSourceItem}copyFrom(t){super.copyFrom(t)}},kU=class extends xU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}uid(){return this.getRuleContext(0,Vx)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,rU)}AS(){return this.getToken(FC.AS,0)}accept(t){return t.visitSubqueryTableItem?t.visitSubqueryTableItem(this):t.visitChildren(this)}},HU=class extends xU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableName(){return this.getRuleContext(0,lx)}PARTITION(){return this.getToken(FC.PARTITION,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}uidList(){return this.getRuleContext(0,lk)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}indexHint(t){return void 0===t?this.getRuleContexts(FU):this.getRuleContext(t,FU)}uid(){return this.getRuleContext(0,Vx)}AS(){return this.getToken(FC.AS,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitAtomTableItem?t.visitAtomTableItem(this):t.visitChildren(this)}},GU=class extends xU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}tableSources(){return this.getRuleContext(0,UU)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitTableSourcesItem?t.visitTableSourcesItem(this):t.visitChildren(this)}},FU=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}indexNameList(){return this.getRuleContext(0,Dx)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}USE(){return this.getToken(FC.USE,0)}IGNORE(){return this.getToken(FC.IGNORE,0)}FORCE(){return this.getToken(FC.FORCE,0)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}FOR(){return this.getToken(FC.FOR,0)}indexHintType(){return this.getRuleContext(0,vU)}get ruleIndex(){return FC.RULE_indexHint}accept(t){return t.visitIndexHint?t.visitIndexHint(this):t.visitChildren(this)}},vU=class extends ga{constructor(t,e){super(t,e)}JOIN(){return this.getToken(FC.JOIN,0)}ORDER(){return this.getToken(FC.ORDER,0)}BY(){return this.getToken(FC.BY,0)}GROUP(){return this.getToken(FC.GROUP,0)}get ruleIndex(){return FC.RULE_indexHintType}accept(t){return t.visitIndexHintType?t.visitIndexHintType(this):t.visitChildren(this)}},BU=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_joinPart}copyFrom(t){super.copyFrom(t)}},yU=class extends BU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}JOIN(){return this.getToken(FC.JOIN,0)}tableSourceItem(){return this.getRuleContext(0,xU)}LATERAL(){return this.getToken(FC.LATERAL,0)}joinSpec(t){return void 0===t?this.getRuleContexts(bU):this.getRuleContext(t,bU)}INNER(){return this.getToken(FC.INNER,0)}CROSS(){return this.getToken(FC.CROSS,0)}accept(t){return t.visitInnerJoin?t.visitInnerJoin(this):t.visitChildren(this)}},fU=class extends BU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}NATURAL(){return this.getToken(FC.NATURAL,0)}JOIN(){return this.getToken(FC.JOIN,0)}tableSourceItem(){return this.getRuleContext(0,xU)}LEFT(){return this.getToken(FC.LEFT,0)}RIGHT(){return this.getToken(FC.RIGHT,0)}OUTER(){return this.getToken(FC.OUTER,0)}accept(t){return t.visitNaturalJoin?t.visitNaturalJoin(this):t.visitChildren(this)}},YU=class extends BU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}JOIN(){return this.getToken(FC.JOIN,0)}tableSourceItem(){return this.getRuleContext(0,xU)}LEFT(){return this.getToken(FC.LEFT,0)}RIGHT(){return this.getToken(FC.RIGHT,0)}OUTER(){return this.getToken(FC.OUTER,0)}LATERAL(){return this.getToken(FC.LATERAL,0)}joinSpec(t){return void 0===t?this.getRuleContexts(bU):this.getRuleContext(t,bU)}accept(t){return t.visitOuterJoin?t.visitOuterJoin(this):t.visitChildren(this)}},wU=class extends BU{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STRAIGHT_JOIN(){return this.getToken(FC.STRAIGHT_JOIN,0)}tableSourceItem(){return this.getRuleContext(0,xU)}ON(t){return void 0===t?this.getTokens(FC.ON):this.getToken(FC.ON,t)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}accept(t){return t.visitStraightJoin?t.visitStraightJoin(this):t.visitChildren(this)}},bU=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(FC.ON,0)}expression(){return this.getRuleContext(0,NH)}USING(){return this.getToken(FC.USING,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}uidList(){return this.getRuleContext(0,lk)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}get ruleIndex(){return FC.RULE_joinSpec}accept(t){return t.visitJoinSpec?t.visitJoinSpec(this):t.visitChildren(this)}},WU=class t extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}querySpecification(){return this.getRuleContext(0,XU)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}queryExpression(){return this.getRuleContext(0,t)}get ruleIndex(){return FC.RULE_queryExpression}accept(t){return t.visitQueryExpression?t.visitQueryExpression(this):t.visitChildren(this)}},VU=class t extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}querySpecificationNointo(){return this.getRuleContext(0,KU)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}queryExpressionNointo(){return this.getRuleContext(0,t)}get ruleIndex(){return FC.RULE_queryExpressionNointo}accept(t){return t.visitQueryExpressionNointo?t.visitQueryExpressionNointo(this):t.visitChildren(this)}},XU=class extends ga{constructor(t,e){super(t,e)}SELECT(){return this.getToken(FC.SELECT,0)}selectElements(){return this.getRuleContext(0,sm)}fromClause(){return this.getRuleContext(0,lm)}selectSpec(t){return void 0===t?this.getRuleContexts(em):this.getRuleContext(t,em)}selectIntoExpression(){return this.getRuleContext(0,Em)}groupByClause(){return this.getRuleContext(0,Om)}havingClause(){return this.getRuleContext(0,Im)}windowClause(){return this.getRuleContext(0,um)}orderByClause(){return this.getRuleContext(0,MU)}limitClause(){return this.getRuleContext(0,Lm)}get ruleIndex(){return FC.RULE_querySpecification}accept(t){return t.visitQuerySpecification?t.visitQuerySpecification(this):t.visitChildren(this)}},KU=class extends ga{constructor(t,e){super(t,e)}SELECT(){return this.getToken(FC.SELECT,0)}selectElements(){return this.getRuleContext(0,sm)}fromClause(){return this.getRuleContext(0,lm)}selectSpec(t){return void 0===t?this.getRuleContexts(em):this.getRuleContext(t,em)}groupByClause(){return this.getRuleContext(0,Om)}havingClause(){return this.getRuleContext(0,Im)}windowClause(){return this.getRuleContext(0,um)}orderByClause(){return this.getRuleContext(0,MU)}limitClause(){return this.getRuleContext(0,Lm)}unionStatement(){return this.getRuleContext(0,JU)}get ruleIndex(){return FC.RULE_querySpecificationNointo}accept(t){return t.visitQuerySpecificationNointo?t.visitQuerySpecificationNointo(this):t.visitChildren(this)}},QU=class extends ga{constructor(t,e){super(t,e)}UNION(){return this.getToken(FC.UNION,0)}queryExpressionNointo(){return this.getRuleContext(0,VU)}ALL(){return this.getToken(FC.ALL,0)}DISTINCT(){return this.getToken(FC.DISTINCT,0)}get ruleIndex(){return FC.RULE_unionParenthesis}accept(t){return t.visitUnionParenthesis?t.visitUnionParenthesis(this):t.visitChildren(this)}},JU=class extends ga{constructor(t,e){super(t,e)}UNION(){return this.getToken(FC.UNION,0)}querySpecificationNointo(){return this.getRuleContext(0,KU)}queryExpressionNointo(){return this.getRuleContext(0,VU)}ALL(){return this.getToken(FC.ALL,0)}DISTINCT(){return this.getToken(FC.DISTINCT,0)}get ruleIndex(){return FC.RULE_unionStatement}accept(t){return t.visitUnionStatement?t.visitUnionStatement(this):t.visitChildren(this)}},ZU=class extends ga{constructor(t,e){super(t,e)}LATERAL(){return this.getToken(FC.LATERAL,0)}querySpecificationNointo(){return this.getRuleContext(0,KU)}queryExpressionNointo(){return this.getRuleContext(0,VU)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}uid(){return this.getRuleContext(0,Vx)}AS(){return this.getToken(FC.AS,0)}get ruleIndex(){return FC.RULE_lateralStatement}accept(t){return t.visitLateralStatement?t.visitLateralStatement(this):t.visitChildren(this)}},qU=class extends ga{constructor(t,e){super(t,e)}JSON_TABLE(){return this.getToken(FC.JSON_TABLE,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}STRING_LITERAL(t){return void 0===t?this.getTokens(FC.STRING_LITERAL):this.getToken(FC.STRING_LITERAL,t)}COMMA(){return this.getToken(FC.COMMA,0)}COLUMNS(){return this.getToken(FC.COLUMNS,0)}jsonColumnList(){return this.getRuleContext(0,jU)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}uid(){return this.getRuleContext(0,Vx)}AS(){return this.getToken(FC.AS,0)}get ruleIndex(){return FC.RULE_jsonTable}accept(t){return t.visitJsonTable?t.visitJsonTable(this):t.visitChildren(this)}},jU=class extends ga{constructor(t,e){super(t,e)}jsonColumn(t){return void 0===t?this.getRuleContexts(zU):this.getRuleContext(t,zU)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_jsonColumnList}accept(t){return t.visitJsonColumnList?t.visitJsonColumnList(this):t.visitChildren(this)}},zU=class extends ga{constructor(t,e){super(t,e)}fullColumnName(){return this.getRuleContext(0,Px)}FOR(){return this.getToken(FC.FOR,0)}ORDINALITY(){return this.getToken(FC.ORDINALITY,0)}dataType(){return this.getRuleContext(0,tk)}PATH(){return this.getToken(FC.PATH,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}EXISTS(){return this.getToken(FC.EXISTS,0)}jsonOnEmpty(){return this.getRuleContext(0,$U)}jsonOnError(){return this.getRuleContext(0,tm)}NESTED(){return this.getToken(FC.NESTED,0)}COLUMNS(){return this.getToken(FC.COLUMNS,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}jsonColumnList(){return this.getRuleContext(0,jU)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}get ruleIndex(){return FC.RULE_jsonColumn}accept(t){return t.visitJsonColumn?t.visitJsonColumn(this):t.visitChildren(this)}},$U=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(FC.ON,0)}EMPTY(){return this.getToken(FC.EMPTY,0)}NULL_LITERAL(){return this.getToken(FC.NULL_LITERAL,0)}ERROR(){return this.getToken(FC.ERROR,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Mk)}get ruleIndex(){return FC.RULE_jsonOnEmpty}accept(t){return t.visitJsonOnEmpty?t.visitJsonOnEmpty(this):t.visitChildren(this)}},tm=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(FC.ON,0)}ERROR(t){return void 0===t?this.getTokens(FC.ERROR):this.getToken(FC.ERROR,t)}NULL_LITERAL(){return this.getToken(FC.NULL_LITERAL,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}defaultValue(){return this.getRuleContext(0,Mk)}get ruleIndex(){return FC.RULE_jsonOnError}accept(t){return t.visitJsonOnError?t.visitJsonOnError(this):t.visitChildren(this)}},em=class extends ga{constructor(t,e){super(t,e)}ALL(){return this.getToken(FC.ALL,0)}DISTINCT(){return this.getToken(FC.DISTINCT,0)}DISTINCTROW(){return this.getToken(FC.DISTINCTROW,0)}HIGH_PRIORITY(){return this.getToken(FC.HIGH_PRIORITY,0)}STRAIGHT_JOIN(){return this.getToken(FC.STRAIGHT_JOIN,0)}SQL_SMALL_RESULT(){return this.getToken(FC.SQL_SMALL_RESULT,0)}SQL_BIG_RESULT(){return this.getToken(FC.SQL_BIG_RESULT,0)}SQL_BUFFER_RESULT(){return this.getToken(FC.SQL_BUFFER_RESULT,0)}SQL_CACHE(){return this.getToken(FC.SQL_CACHE,0)}SQL_NO_CACHE(){return this.getToken(FC.SQL_NO_CACHE,0)}SQL_CALC_FOUND_ROWS(){return this.getToken(FC.SQL_CALC_FOUND_ROWS,0)}get ruleIndex(){return FC.RULE_selectSpec}accept(t){return t.visitSelectSpec?t.visitSelectSpec(this):t.visitChildren(this)}},sm=class extends ga{constructor(t,e){super(t,e)}selectElement(t){return void 0===t?this.getRuleContexts(rm):this.getRuleContext(t,rm)}STAR(){return this.getToken(FC.STAR,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_selectElements}accept(t){return t.visitSelectElements?t.visitSelectElements(this):t.visitChildren(this)}},am=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}AS(){return this.getToken(FC.AS,0)}get ruleIndex(){return FC.RULE_selectElementAlias}accept(t){return t.visitSelectElementAlias?t.visitSelectElementAlias(this):t.visitChildren(this)}},rm=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_selectElement}copyFrom(t){super.copyFrom(t)}},im=class extends rm{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,NH)}LOCAL_ID(){return this.getToken(FC.LOCAL_ID,0)}VAR_ASSIGN(){return this.getToken(FC.VAR_ASSIGN,0)}selectElementAlias(){return this.getRuleContext(0,am)}accept(t){return t.visitSelectExpressionElement?t.visitSelectExpressionElement(this):t.visitChildren(this)}},cm=class extends rm{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}functionCall(){return this.getRuleContext(0,xk)}selectElementAlias(){return this.getRuleContext(0,am)}accept(t){return t.visitSelectFunctionElement?t.visitSelectFunctionElement(this):t.visitChildren(this)}},nm=class extends rm{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fullId(){return this.getRuleContext(0,Sx)}DOT(){return this.getToken(FC.DOT,0)}STAR(){return this.getToken(FC.STAR,0)}accept(t){return t.visitSelectStarElement?t.visitSelectStarElement(this):t.visitChildren(this)}},hm=class extends rm{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fullColumnName(){return this.getRuleContext(0,Px)}selectElementAlias(){return this.getRuleContext(0,am)}accept(t){return t.visitSelectColumnElement?t.visitSelectColumnElement(this):t.visitChildren(this)}},Em=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_selectIntoExpression}copyFrom(t){super.copyFrom(t)}},Tm=class extends Em{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTO(){return this.getToken(FC.INTO,0)}assignmentField(t){return void 0===t?this.getRuleContexts(SU):this.getRuleContext(t,SU)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitSelectIntoVariables?t.visitSelectIntoVariables(this):t.visitChildren(this)}},om=class extends Em{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTO(){return this.getToken(FC.INTO,0)}OUTFILE(){return this.getToken(FC.OUTFILE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}CHARACTER(){return this.getToken(FC.CHARACTER,0)}SET(){return this.getToken(FC.SET,0)}LINES(){return this.getToken(FC.LINES,0)}charsetName(){return this.getRuleContext(0,vx)}FIELDS(){return this.getToken(FC.FIELDS,0)}COLUMNS(){return this.getToken(FC.COLUMNS,0)}selectFieldsInto(t){return void 0===t?this.getRuleContexts(Am):this.getRuleContext(t,Am)}selectLinesInto(t){return void 0===t?this.getRuleContexts(Sm):this.getRuleContext(t,Sm)}accept(t){return t.visitSelectIntoTextFile?t.visitSelectIntoTextFile(this):t.visitChildren(this)}},Rm=class extends Em{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTO(){return this.getToken(FC.INTO,0)}DUMPFILE(){return this.getToken(FC.DUMPFILE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitSelectIntoDumpFile?t.visitSelectIntoDumpFile(this):t.visitChildren(this)}},Am=class extends ga{constructor(t,e){super(t,e)}TERMINATED(){return this.getToken(FC.TERMINATED,0)}BY(){return this.getToken(FC.BY,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}ENCLOSED(){return this.getToken(FC.ENCLOSED,0)}OPTIONALLY(){return this.getToken(FC.OPTIONALLY,0)}ESCAPED(){return this.getToken(FC.ESCAPED,0)}get ruleIndex(){return FC.RULE_selectFieldsInto}accept(t){return t.visitSelectFieldsInto?t.visitSelectFieldsInto(this):t.visitChildren(this)}},Sm=class extends ga{constructor(t,e){super(t,e)}STARTING(){return this.getToken(FC.STARTING,0)}BY(){return this.getToken(FC.BY,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}TERMINATED(){return this.getToken(FC.TERMINATED,0)}get ruleIndex(){return FC.RULE_selectLinesInto}accept(t){return t.visitSelectLinesInto?t.visitSelectLinesInto(this):t.visitChildren(this)}},lm=class extends ga{constructor(t,e){super(t,e)}FROM(){return this.getToken(FC.FROM,0)}tableSources(){return this.getRuleContext(0,UU)}WHERE(){return this.getToken(FC.WHERE,0)}expression(){return this.getRuleContext(0,NH)}get ruleIndex(){return FC.RULE_fromClause}accept(t){return t.visitFromClause?t.visitFromClause(this):t.visitChildren(this)}},Om=class extends ga{constructor(t,e){super(t,e)}GROUP(){return this.getToken(FC.GROUP,0)}BY(){return this.getToken(FC.BY,0)}groupByItem(t){return void 0===t?this.getRuleContexts(Nm):this.getRuleContext(t,Nm)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}WITH(){return this.getToken(FC.WITH,0)}ROLLUP(){return this.getToken(FC.ROLLUP,0)}get ruleIndex(){return FC.RULE_groupByClause}accept(t){return t.visitGroupByClause?t.visitGroupByClause(this):t.visitChildren(this)}},Im=class extends ga{constructor(t,e){super(t,e)}HAVING(){return this.getToken(FC.HAVING,0)}expression(){return this.getRuleContext(0,NH)}get ruleIndex(){return FC.RULE_havingClause}accept(t){return t.visitHavingClause?t.visitHavingClause(this):t.visitChildren(this)}},um=class extends ga{constructor(t,e){super(t,e)}WINDOW(){return this.getToken(FC.WINDOW,0)}windowName(t){return void 0===t?this.getRuleContexts(hH):this.getRuleContext(t,hH)}AS(t){return void 0===t?this.getTokens(FC.AS):this.getToken(FC.AS,t)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}windowSpec(t){return void 0===t?this.getRuleContexts(nH):this.getRuleContext(t,nH)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_windowClause}accept(t){return t.visitWindowClause?t.visitWindowClause(this):t.visitChildren(this)}},Nm=class extends ga{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,NH)}ASC(){return this.getToken(FC.ASC,0)}DESC(){return this.getToken(FC.DESC,0)}get ruleIndex(){return FC.RULE_groupByItem}accept(t){return t.visitGroupByItem?t.visitGroupByItem(this):t.visitChildren(this)}},Lm=class extends ga{constructor(t,e){super(t,e)}LIMIT(){return this.getToken(FC.LIMIT,0)}OFFSET(){return this.getToken(FC.OFFSET,0)}limitClauseAtom(t){return void 0===t?this.getRuleContexts(Cm):this.getRuleContext(t,Cm)}COMMA(){return this.getToken(FC.COMMA,0)}get ruleIndex(){return FC.RULE_limitClause}accept(t){return t.visitLimitClause?t.visitLimitClause(this):t.visitChildren(this)}},Cm=class extends ga{constructor(t,e){super(t,e)}decimalLiteral(){return this.getRuleContext(0,Qx)}mysqlVariable(){return this.getRuleContext(0,Fx)}simpleId(){return this.getRuleContext(0,Xx)}get ruleIndex(){return FC.RULE_limitClauseAtom}accept(t){return t.visitLimitClauseAtom?t.visitLimitClauseAtom(this):t.visitChildren(this)}},_m=class extends ga{constructor(t,e){super(t,e)}START(){return this.getToken(FC.START,0)}TRANSACTION(){return this.getToken(FC.TRANSACTION,0)}transactionMode(t){return void 0===t?this.getRuleContexts(Hm):this.getRuleContext(t,Hm)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_startTransaction}accept(t){return t.visitStartTransaction?t.visitStartTransaction(this):t.visitChildren(this)}},Pm=class extends ga{constructor(t,e){super(t,e)}BEGIN(){return this.getToken(FC.BEGIN,0)}WORK(){return this.getToken(FC.WORK,0)}get ruleIndex(){return FC.RULE_beginWork}accept(t){return t.visitBeginWork?t.visitBeginWork(this):t.visitChildren(this)}},Mm=class extends ga{constructor(t,e){super(t,e)}COMMIT(){return this.getToken(FC.COMMIT,0)}WORK(){return this.getToken(FC.WORK,0)}AND(){return this.getToken(FC.AND,0)}CHAIN(){return this.getToken(FC.CHAIN,0)}RELEASE(){return this.getToken(FC.RELEASE,0)}NO(t){return void 0===t?this.getTokens(FC.NO):this.getToken(FC.NO,t)}get ruleIndex(){return FC.RULE_commitWork}accept(t){return t.visitCommitWork?t.visitCommitWork(this):t.visitChildren(this)}},dm=class extends ga{constructor(t,e){super(t,e)}ROLLBACK(){return this.getToken(FC.ROLLBACK,0)}WORK(){return this.getToken(FC.WORK,0)}AND(){return this.getToken(FC.AND,0)}CHAIN(){return this.getToken(FC.CHAIN,0)}RELEASE(){return this.getToken(FC.RELEASE,0)}NO(t){return void 0===t?this.getTokens(FC.NO):this.getToken(FC.NO,t)}get ruleIndex(){return FC.RULE_rollbackWork}accept(t){return t.visitRollbackWork?t.visitRollbackWork(this):t.visitChildren(this)}},Um=class extends ga{constructor(t,e){super(t,e)}SAVEPOINT(){return this.getToken(FC.SAVEPOINT,0)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_savepointStatement}accept(t){return t.visitSavepointStatement?t.visitSavepointStatement(this):t.visitChildren(this)}},mm=class extends ga{constructor(t,e){super(t,e)}ROLLBACK(){return this.getToken(FC.ROLLBACK,0)}TO(){return this.getToken(FC.TO,0)}uid(){return this.getRuleContext(0,Vx)}WORK(){return this.getToken(FC.WORK,0)}SAVEPOINT(){return this.getToken(FC.SAVEPOINT,0)}get ruleIndex(){return FC.RULE_rollbackStatement}accept(t){return t.visitRollbackStatement?t.visitRollbackStatement(this):t.visitChildren(this)}},Dm=class extends ga{constructor(t,e){super(t,e)}RELEASE(){return this.getToken(FC.RELEASE,0)}SAVEPOINT(){return this.getToken(FC.SAVEPOINT,0)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_releaseStatement}accept(t){return t.visitReleaseStatement?t.visitReleaseStatement(this):t.visitChildren(this)}},pm=class extends ga{constructor(t,e){super(t,e)}LOCK(){return this.getToken(FC.LOCK,0)}lockTableElement(t){return void 0===t?this.getRuleContexts(Gm):this.getRuleContext(t,Gm)}TABLE(){return this.getToken(FC.TABLE,0)}TABLES(){return this.getToken(FC.TABLES,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}waitNowaitClause(){return this.getRuleContext(0,gk)}get ruleIndex(){return FC.RULE_lockTables}accept(t){return t.visitLockTables?t.visitLockTables(this):t.visitChildren(this)}},gm=class extends ga{constructor(t,e){super(t,e)}UNLOCK(){return this.getToken(FC.UNLOCK,0)}TABLES(){return this.getToken(FC.TABLES,0)}get ruleIndex(){return FC.RULE_unlockTables}accept(t){return t.visitUnlockTables?t.visitUnlockTables(this):t.visitChildren(this)}},xm=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(FC.SET,0)}AUTOCOMMIT(){return this.getToken(FC.AUTOCOMMIT,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}get ruleIndex(){return FC.RULE_setAutocommitStatement}accept(t){return t.visitSetAutocommitStatement?t.visitSetAutocommitStatement(this):t.visitChildren(this)}},km=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(FC.SET,0)}TRANSACTION(){return this.getToken(FC.TRANSACTION,0)}transactionOption(t){return void 0===t?this.getRuleContexts(vm):this.getRuleContext(t,vm)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}GLOBAL(){return this.getToken(FC.GLOBAL,0)}SESSION(){return this.getToken(FC.SESSION,0)}get ruleIndex(){return FC.RULE_setTransactionStatement}accept(t){return t.visitSetTransactionStatement?t.visitSetTransactionStatement(this):t.visitChildren(this)}},Hm=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(FC.WITH,0)}CONSISTENT(){return this.getToken(FC.CONSISTENT,0)}SNAPSHOT(){return this.getToken(FC.SNAPSHOT,0)}READ(){return this.getToken(FC.READ,0)}WRITE(){return this.getToken(FC.WRITE,0)}ONLY(){return this.getToken(FC.ONLY,0)}get ruleIndex(){return FC.RULE_transactionMode}accept(t){return t.visitTransactionMode?t.visitTransactionMode(this):t.visitChildren(this)}},Gm=class extends ga{constructor(t,e){super(t,e)}tableName(){return this.getRuleContext(0,lx)}lockAction(){return this.getRuleContext(0,Fm)}uid(){return this.getRuleContext(0,Vx)}AS(){return this.getToken(FC.AS,0)}get ruleIndex(){return FC.RULE_lockTableElement}accept(t){return t.visitLockTableElement?t.visitLockTableElement(this):t.visitChildren(this)}},Fm=class extends ga{constructor(t,e){super(t,e)}READ(){return this.getToken(FC.READ,0)}LOCAL(){return this.getToken(FC.LOCAL,0)}WRITE(){return this.getToken(FC.WRITE,0)}LOW_PRIORITY(){return this.getToken(FC.LOW_PRIORITY,0)}get ruleIndex(){return FC.RULE_lockAction}accept(t){return t.visitLockAction?t.visitLockAction(this):t.visitChildren(this)}},vm=class extends ga{constructor(t,e){super(t,e)}ISOLATION(){return this.getToken(FC.ISOLATION,0)}LEVEL(){return this.getToken(FC.LEVEL,0)}transactionLevel(){return this.getRuleContext(0,Bm)}READ(){return this.getToken(FC.READ,0)}WRITE(){return this.getToken(FC.WRITE,0)}ONLY(){return this.getToken(FC.ONLY,0)}get ruleIndex(){return FC.RULE_transactionOption}accept(t){return t.visitTransactionOption?t.visitTransactionOption(this):t.visitChildren(this)}},Bm=class extends ga{constructor(t,e){super(t,e)}REPEATABLE(){return this.getToken(FC.REPEATABLE,0)}READ(){return this.getToken(FC.READ,0)}COMMITTED(){return this.getToken(FC.COMMITTED,0)}UNCOMMITTED(){return this.getToken(FC.UNCOMMITTED,0)}SERIALIZABLE(){return this.getToken(FC.SERIALIZABLE,0)}get ruleIndex(){return FC.RULE_transactionLevel}accept(t){return t.visitTransactionLevel?t.visitTransactionLevel(this):t.visitChildren(this)}},ym=class extends ga{constructor(t,e){super(t,e)}CHANGE(){return this.getToken(FC.CHANGE,0)}MASTER(){return this.getToken(FC.MASTER,0)}TO(){return this.getToken(FC.TO,0)}masterOption(t){return void 0===t?this.getRuleContexts(Qm):this.getRuleContext(t,Qm)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}channelOption(){return this.getRuleContext(0,sD)}get ruleIndex(){return FC.RULE_changeMaster}accept(t){return t.visitChangeMaster?t.visitChangeMaster(this):t.visitChildren(this)}},fm=class extends ga{constructor(t,e){super(t,e)}CHANGE(){return this.getToken(FC.CHANGE,0)}REPLICATION(){return this.getToken(FC.REPLICATION,0)}FILTER(){return this.getToken(FC.FILTER,0)}replicationFilter(t){return void 0===t?this.getRuleContexts(aD):this.getRuleContext(t,aD)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_changeReplicationFilter}accept(t){return t.visitChangeReplicationFilter?t.visitChangeReplicationFilter(this):t.visitChildren(this)}},Ym=class extends ga{constructor(t,e){super(t,e)}PURGE(){return this.getToken(FC.PURGE,0)}LOGS(){return this.getToken(FC.LOGS,0)}BINARY(){return this.getToken(FC.BINARY,0)}MASTER(){return this.getToken(FC.MASTER,0)}TO(){return this.getToken(FC.TO,0)}BEFORE(){return this.getToken(FC.BEFORE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_purgeBinaryLogs}accept(t){return t.visitPurgeBinaryLogs?t.visitPurgeBinaryLogs(this):t.visitChildren(this)}},wm=class extends ga{constructor(t,e){super(t,e)}RESET(){return this.getToken(FC.RESET,0)}MASTER(){return this.getToken(FC.MASTER,0)}get ruleIndex(){return FC.RULE_resetMaster}accept(t){return t.visitResetMaster?t.visitResetMaster(this):t.visitChildren(this)}},bm=class extends ga{constructor(t,e){super(t,e)}RESET(){return this.getToken(FC.RESET,0)}SLAVE(){return this.getToken(FC.SLAVE,0)}ALL(){return this.getToken(FC.ALL,0)}channelOption(){return this.getRuleContext(0,sD)}get ruleIndex(){return FC.RULE_resetSlave}accept(t){return t.visitResetSlave?t.visitResetSlave(this):t.visitChildren(this)}},Wm=class extends ga{constructor(t,e){super(t,e)}START(){return this.getToken(FC.START,0)}SLAVE(){return this.getToken(FC.SLAVE,0)}threadType(t){return void 0===t?this.getRuleContexts(RD):this.getRuleContext(t,RD)}UNTIL(){return this.getToken(FC.UNTIL,0)}untilOption(){return this.getRuleContext(0,AD)}connectionOption(t){return void 0===t?this.getRuleContexts(uD):this.getRuleContext(t,uD)}channelOption(){return this.getRuleContext(0,sD)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_startSlave}accept(t){return t.visitStartSlave?t.visitStartSlave(this):t.visitChildren(this)}},Vm=class extends ga{constructor(t,e){super(t,e)}STOP(){return this.getToken(FC.STOP,0)}SLAVE(){return this.getToken(FC.SLAVE,0)}threadType(t){return void 0===t?this.getRuleContexts(RD):this.getRuleContext(t,RD)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_stopSlave}accept(t){return t.visitStopSlave?t.visitStopSlave(this):t.visitChildren(this)}},Xm=class extends ga{constructor(t,e){super(t,e)}START(){return this.getToken(FC.START,0)}GROUP_REPLICATION(){return this.getToken(FC.GROUP_REPLICATION,0)}get ruleIndex(){return FC.RULE_startGroupReplication}accept(t){return t.visitStartGroupReplication?t.visitStartGroupReplication(this):t.visitChildren(this)}},Km=class extends ga{constructor(t,e){super(t,e)}STOP(){return this.getToken(FC.STOP,0)}GROUP_REPLICATION(){return this.getToken(FC.GROUP_REPLICATION,0)}get ruleIndex(){return FC.RULE_stopGroupReplication}accept(t){return t.visitStopGroupReplication?t.visitStopGroupReplication(this):t.visitChildren(this)}},Qm=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_masterOption}copyFrom(t){super.copyFrom(t)}},Jm=class extends Qm{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}stringMasterOption(){return this.getRuleContext(0,$m)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitMasterStringOption?t.visitMasterStringOption(this):t.visitChildren(this)}},Zm=class extends Qm{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MASTER_HEARTBEAT_PERIOD(){return this.getToken(FC.MASTER_HEARTBEAT_PERIOD,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}REAL_LITERAL(){return this.getToken(FC.REAL_LITERAL,0)}accept(t){return t.visitMasterRealOption?t.visitMasterRealOption(this):t.visitChildren(this)}},qm=class extends Qm{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}boolMasterOption(){return this.getRuleContext(0,eD)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}accept(t){return t.visitMasterBoolOption?t.visitMasterBoolOption(this):t.visitChildren(this)}},jm=class extends Qm{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}IGNORE_SERVER_IDS(){return this.getToken(FC.IGNORE_SERVER_IDS,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitMasterUidListOption?t.visitMasterUidListOption(this):t.visitChildren(this)}},zm=class extends Qm{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}decimalMasterOption(){return this.getRuleContext(0,tD)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}accept(t){return t.visitMasterDecimalOption?t.visitMasterDecimalOption(this):t.visitChildren(this)}},$m=class extends ga{constructor(t,e){super(t,e)}MASTER_BIND(){return this.getToken(FC.MASTER_BIND,0)}MASTER_HOST(){return this.getToken(FC.MASTER_HOST,0)}MASTER_USER(){return this.getToken(FC.MASTER_USER,0)}MASTER_PASSWORD(){return this.getToken(FC.MASTER_PASSWORD,0)}MASTER_LOG_FILE(){return this.getToken(FC.MASTER_LOG_FILE,0)}RELAY_LOG_FILE(){return this.getToken(FC.RELAY_LOG_FILE,0)}MASTER_SSL_CA(){return this.getToken(FC.MASTER_SSL_CA,0)}MASTER_SSL_CAPATH(){return this.getToken(FC.MASTER_SSL_CAPATH,0)}MASTER_SSL_CERT(){return this.getToken(FC.MASTER_SSL_CERT,0)}MASTER_SSL_CRL(){return this.getToken(FC.MASTER_SSL_CRL,0)}MASTER_SSL_CRLPATH(){return this.getToken(FC.MASTER_SSL_CRLPATH,0)}MASTER_SSL_KEY(){return this.getToken(FC.MASTER_SSL_KEY,0)}MASTER_SSL_CIPHER(){return this.getToken(FC.MASTER_SSL_CIPHER,0)}MASTER_TLS_VERSION(){return this.getToken(FC.MASTER_TLS_VERSION,0)}get ruleIndex(){return FC.RULE_stringMasterOption}accept(t){return t.visitStringMasterOption?t.visitStringMasterOption(this):t.visitChildren(this)}},tD=class extends ga{constructor(t,e){super(t,e)}MASTER_PORT(){return this.getToken(FC.MASTER_PORT,0)}MASTER_CONNECT_RETRY(){return this.getToken(FC.MASTER_CONNECT_RETRY,0)}MASTER_RETRY_COUNT(){return this.getToken(FC.MASTER_RETRY_COUNT,0)}MASTER_DELAY(){return this.getToken(FC.MASTER_DELAY,0)}MASTER_LOG_POS(){return this.getToken(FC.MASTER_LOG_POS,0)}RELAY_LOG_POS(){return this.getToken(FC.RELAY_LOG_POS,0)}get ruleIndex(){return FC.RULE_decimalMasterOption}accept(t){return t.visitDecimalMasterOption?t.visitDecimalMasterOption(this):t.visitChildren(this)}},eD=class extends ga{constructor(t,e){super(t,e)}MASTER_AUTO_POSITION(){return this.getToken(FC.MASTER_AUTO_POSITION,0)}MASTER_SSL(){return this.getToken(FC.MASTER_SSL,0)}MASTER_SSL_VERIFY_SERVER_CERT(){return this.getToken(FC.MASTER_SSL_VERIFY_SERVER_CERT,0)}get ruleIndex(){return FC.RULE_boolMasterOption}accept(t){return t.visitBoolMasterOption?t.visitBoolMasterOption(this):t.visitChildren(this)}},sD=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(FC.FOR,0)}CHANNEL(){return this.getToken(FC.CHANNEL,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_channelOption}accept(t){return t.visitChannelOption?t.visitChannelOption(this):t.visitChildren(this)}},aD=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_replicationFilter}copyFrom(t){super.copyFrom(t)}},rD=class extends aD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REPLICATE_WILD_IGNORE_TABLE(){return this.getToken(FC.REPLICATE_WILD_IGNORE_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}simpleStrings(){return this.getRuleContext(0,_k)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitWildIgnoreTableReplication?t.visitWildIgnoreTableReplication(this):t.visitChildren(this)}},iD=class extends aD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REPLICATE_DO_TABLE(){return this.getToken(FC.REPLICATE_DO_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}tables(){return this.getRuleContext(0,Ik)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitDoTableReplication?t.visitDoTableReplication(this):t.visitChildren(this)}},cD=class extends aD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REPLICATE_IGNORE_TABLE(){return this.getToken(FC.REPLICATE_IGNORE_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}tables(){return this.getRuleContext(0,Ik)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitIgnoreTableReplication?t.visitIgnoreTableReplication(this):t.visitChildren(this)}},nD=class extends aD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REPLICATE_REWRITE_DB(){return this.getToken(FC.REPLICATE_REWRITE_DB,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}tablePair(t){return void 0===t?this.getRuleContexts(oD):this.getRuleContext(t,oD)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitRewriteDbReplication?t.visitRewriteDbReplication(this):t.visitChildren(this)}},hD=class extends aD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REPLICATE_DO_DB(){return this.getToken(FC.REPLICATE_DO_DB,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}uidList(){return this.getRuleContext(0,lk)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitDoDbReplication?t.visitDoDbReplication(this):t.visitChildren(this)}},ED=class extends aD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REPLICATE_IGNORE_DB(){return this.getToken(FC.REPLICATE_IGNORE_DB,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}uidList(){return this.getRuleContext(0,lk)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitIgnoreDbReplication?t.visitIgnoreDbReplication(this):t.visitChildren(this)}},TD=class extends aD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REPLICATE_WILD_DO_TABLE(){return this.getToken(FC.REPLICATE_WILD_DO_TABLE,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}simpleStrings(){return this.getRuleContext(0,_k)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitWildDoTableReplication?t.visitWildDoTableReplication(this):t.visitChildren(this)}},oD=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}COMMA(){return this.getToken(FC.COMMA,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}tableName(t){return void 0===t?this.getRuleContexts(lx):this.getRuleContext(t,lx)}get ruleIndex(){return FC.RULE_tablePair}accept(t){return t.visitTablePair?t.visitTablePair(this):t.visitChildren(this)}},RD=class extends ga{constructor(t,e){super(t,e)}IO_THREAD(){return this.getToken(FC.IO_THREAD,0)}SQL_THREAD(){return this.getToken(FC.SQL_THREAD,0)}get ruleIndex(){return FC.RULE_threadType}accept(t){return t.visitThreadType?t.visitThreadType(this):t.visitChildren(this)}},AD=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_untilOption}copyFrom(t){super.copyFrom(t)}},SD=class extends AD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}gtuidSet(){return this.getRuleContext(0,PD)}SQL_BEFORE_GTIDS(){return this.getToken(FC.SQL_BEFORE_GTIDS,0)}SQL_AFTER_GTIDS(){return this.getToken(FC.SQL_AFTER_GTIDS,0)}accept(t){return t.visitGtidsUntilOption?t.visitGtidsUntilOption(this):t.visitChildren(this)}},lD=class extends AD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SQL_AFTER_MTS_GAPS(){return this.getToken(FC.SQL_AFTER_MTS_GAPS,0)}accept(t){return t.visitSqlGapsUntilOption?t.visitSqlGapsUntilOption(this):t.visitChildren(this)}},OD=class extends AD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MASTER_LOG_FILE(){return this.getToken(FC.MASTER_LOG_FILE,0)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}COMMA(){return this.getToken(FC.COMMA,0)}MASTER_LOG_POS(){return this.getToken(FC.MASTER_LOG_POS,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}accept(t){return t.visitMasterLogUntilOption?t.visitMasterLogUntilOption(this):t.visitChildren(this)}},ID=class extends AD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}RELAY_LOG_FILE(){return this.getToken(FC.RELAY_LOG_FILE,0)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}COMMA(){return this.getToken(FC.COMMA,0)}RELAY_LOG_POS(){return this.getToken(FC.RELAY_LOG_POS,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}accept(t){return t.visitRelayLogUntilOption?t.visitRelayLogUntilOption(this):t.visitChildren(this)}},uD=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_connectionOption}copyFrom(t){super.copyFrom(t)}},ND=class extends uD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PLUGIN_DIR(){return this.getToken(FC.PLUGIN_DIR,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitPluginDirConnectionOption?t.visitPluginDirConnectionOption(this):t.visitChildren(this)}},LD=class extends uD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}USER(){return this.getToken(FC.USER,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitUserConnectionOption?t.visitUserConnectionOption(this):t.visitChildren(this)}},CD=class extends uD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DEFAULT_AUTH(){return this.getToken(FC.DEFAULT_AUTH,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitDefaultAuthConnectionOption?t.visitDefaultAuthConnectionOption(this):t.visitChildren(this)}},_D=class extends uD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitPasswordConnectionOption?t.visitPasswordConnectionOption(this):t.visitChildren(this)}},PD=class extends ga{constructor(t,e){super(t,e)}uuidSet(t){return void 0===t?this.getRuleContexts(Yx):this.getRuleContext(t,Yx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_gtuidSet}accept(t){return t.visitGtuidSet?t.visitGtuidSet(this):t.visitChildren(this)}},MD=class extends ga{constructor(t,e){super(t,e)}XA(){return this.getToken(FC.XA,0)}xid(){return this.getRuleContext(0,wx)}START(){return this.getToken(FC.START,0)}BEGIN(){return this.getToken(FC.BEGIN,0)}JOIN(){return this.getToken(FC.JOIN,0)}RESUME(){return this.getToken(FC.RESUME,0)}get ruleIndex(){return FC.RULE_xaStartTransaction}accept(t){return t.visitXaStartTransaction?t.visitXaStartTransaction(this):t.visitChildren(this)}},dD=class extends ga{constructor(t,e){super(t,e)}XA(){return this.getToken(FC.XA,0)}END(){return this.getToken(FC.END,0)}xid(){return this.getRuleContext(0,wx)}SUSPEND(){return this.getToken(FC.SUSPEND,0)}FOR(){return this.getToken(FC.FOR,0)}MIGRATE(){return this.getToken(FC.MIGRATE,0)}get ruleIndex(){return FC.RULE_xaEndTransaction}accept(t){return t.visitXaEndTransaction?t.visitXaEndTransaction(this):t.visitChildren(this)}},UD=class extends ga{constructor(t,e){super(t,e)}XA(){return this.getToken(FC.XA,0)}PREPARE(){return this.getToken(FC.PREPARE,0)}xid(){return this.getRuleContext(0,wx)}get ruleIndex(){return FC.RULE_xaPrepareStatement}accept(t){return t.visitXaPrepareStatement?t.visitXaPrepareStatement(this):t.visitChildren(this)}},mD=class extends ga{constructor(t,e){super(t,e)}XA(){return this.getToken(FC.XA,0)}COMMIT(){return this.getToken(FC.COMMIT,0)}xid(){return this.getRuleContext(0,wx)}ONE(){return this.getToken(FC.ONE,0)}PHASE(){return this.getToken(FC.PHASE,0)}get ruleIndex(){return FC.RULE_xaCommitWork}accept(t){return t.visitXaCommitWork?t.visitXaCommitWork(this):t.visitChildren(this)}},DD=class extends ga{constructor(t,e){super(t,e)}XA(){return this.getToken(FC.XA,0)}ROLLBACK(){return this.getToken(FC.ROLLBACK,0)}xid(){return this.getRuleContext(0,wx)}get ruleIndex(){return FC.RULE_xaRollbackWork}accept(t){return t.visitXaRollbackWork?t.visitXaRollbackWork(this):t.visitChildren(this)}},pD=class extends ga{constructor(t,e){super(t,e)}XA(){return this.getToken(FC.XA,0)}RECOVER(){return this.getToken(FC.RECOVER,0)}CONVERT(){return this.getToken(FC.CONVERT,0)}xid(){return this.getRuleContext(0,wx)}get ruleIndex(){return FC.RULE_xaRecoverWork}accept(t){return t.visitXaRecoverWork?t.visitXaRecoverWork(this):t.visitChildren(this)}},gD=class extends ga{constructor(t,e){super(t,e)}PREPARE(){return this.getToken(FC.PREPARE,0)}uid(){return this.getRuleContext(0,Vx)}FROM(){return this.getToken(FC.FROM,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}LOCAL_ID(){return this.getToken(FC.LOCAL_ID,0)}get ruleIndex(){return FC.RULE_prepareStatement}accept(t){return t.visitPrepareStatement?t.visitPrepareStatement(this):t.visitChildren(this)}},xD=class extends ga{constructor(t,e){super(t,e)}EXECUTE(){return this.getToken(FC.EXECUTE,0)}uid(){return this.getRuleContext(0,Vx)}USING(){return this.getToken(FC.USING,0)}userVariables(){return this.getRuleContext(0,Pk)}get ruleIndex(){return FC.RULE_executeStatement}accept(t){return t.visitExecuteStatement?t.visitExecuteStatement(this):t.visitChildren(this)}},kD=class extends ga{constructor(t,e){super(t,e)}PREPARE(){return this.getToken(FC.PREPARE,0)}uid(){return this.getRuleContext(0,Vx)}DEALLOCATE(){return this.getToken(FC.DEALLOCATE,0)}DROP(){return this.getToken(FC.DROP,0)}get ruleIndex(){return FC.RULE_deallocatePrepare}accept(t){return t.visitDeallocatePrepare?t.visitDeallocatePrepare(this):t.visitChildren(this)}},HD=class extends ga{constructor(t,e){super(t,e)}blockStatement(){return this.getRuleContext(0,GD)}statement(){return this.getRuleContext(0,yC)}get ruleIndex(){return FC.RULE_routineBody}accept(t){return t.visitRoutineBody?t.visitRoutineBody(this):t.visitChildren(this)}},GD=class extends ga{constructor(t,e){super(t,e)}BEGIN(){return this.getToken(FC.BEGIN,0)}END(){return this.getToken(FC.END,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}COLON_SYMB(){return this.getToken(FC.COLON_SYMB,0)}declareVariable(t){return void 0===t?this.getRuleContexts(QD):this.getRuleContext(t,QD)}SEMI(t){return void 0===t?this.getTokens(FC.SEMI):this.getToken(FC.SEMI,t)}declareCondition(t){return void 0===t?this.getRuleContexts(JD):this.getRuleContext(t,JD)}declareCursor(t){return void 0===t?this.getRuleContexts(ZD):this.getRuleContext(t,ZD)}declareHandler(t){return void 0===t?this.getRuleContexts(qD):this.getRuleContext(t,qD)}procedureSqlStatement(t){return void 0===t?this.getRuleContexts(rp):this.getRuleContext(t,rp)}get ruleIndex(){return FC.RULE_blockStatement}accept(t){return t.visitBlockStatement?t.visitBlockStatement(this):t.visitChildren(this)}},FD=class extends ga{constructor(t,e){super(t,e)}CASE(t){return void 0===t?this.getTokens(FC.CASE):this.getToken(FC.CASE,t)}END(){return this.getToken(FC.END,0)}uid(){return this.getRuleContext(0,Vx)}expression(){return this.getRuleContext(0,NH)}caseAlternative(t){return void 0===t?this.getRuleContexts(ip):this.getRuleContext(t,ip)}ELSE(){return this.getToken(FC.ELSE,0)}procedureSqlStatement(t){return void 0===t?this.getRuleContexts(rp):this.getRuleContext(t,rp)}get ruleIndex(){return FC.RULE_caseStatement}accept(t){return t.visitCaseStatement?t.visitCaseStatement(this):t.visitChildren(this)}},vD=class extends ga{constructor(t,e){super(t,e),this._thenStatements=[],this._elseStatements=[]}IF(t){return void 0===t?this.getTokens(FC.IF):this.getToken(FC.IF,t)}expression(){return this.getRuleContext(0,NH)}THEN(){return this.getToken(FC.THEN,0)}END(){return this.getToken(FC.END,0)}elifAlternative(t){return void 0===t?this.getRuleContexts(cp):this.getRuleContext(t,cp)}ELSE(){return this.getToken(FC.ELSE,0)}procedureSqlStatement(t){return void 0===t?this.getRuleContexts(rp):this.getRuleContext(t,rp)}get ruleIndex(){return FC.RULE_ifStatement}accept(t){return t.visitIfStatement?t.visitIfStatement(this):t.visitChildren(this)}},BD=class extends ga{constructor(t,e){super(t,e)}ITERATE(){return this.getToken(FC.ITERATE,0)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_iterateStatement}accept(t){return t.visitIterateStatement?t.visitIterateStatement(this):t.visitChildren(this)}},yD=class extends ga{constructor(t,e){super(t,e)}LEAVE(){return this.getToken(FC.LEAVE,0)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_leaveStatement}accept(t){return t.visitLeaveStatement?t.visitLeaveStatement(this):t.visitChildren(this)}},fD=class extends ga{constructor(t,e){super(t,e)}LOOP(t){return void 0===t?this.getTokens(FC.LOOP):this.getToken(FC.LOOP,t)}END(){return this.getToken(FC.END,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}COLON_SYMB(){return this.getToken(FC.COLON_SYMB,0)}procedureSqlStatement(t){return void 0===t?this.getRuleContexts(rp):this.getRuleContext(t,rp)}get ruleIndex(){return FC.RULE_loopStatement}accept(t){return t.visitLoopStatement?t.visitLoopStatement(this):t.visitChildren(this)}},YD=class extends ga{constructor(t,e){super(t,e)}REPEAT(t){return void 0===t?this.getTokens(FC.REPEAT):this.getToken(FC.REPEAT,t)}UNTIL(){return this.getToken(FC.UNTIL,0)}expression(){return this.getRuleContext(0,NH)}END(){return this.getToken(FC.END,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}COLON_SYMB(){return this.getToken(FC.COLON_SYMB,0)}procedureSqlStatement(t){return void 0===t?this.getRuleContexts(rp):this.getRuleContext(t,rp)}get ruleIndex(){return FC.RULE_repeatStatement}accept(t){return t.visitRepeatStatement?t.visitRepeatStatement(this):t.visitChildren(this)}},wD=class extends ga{constructor(t,e){super(t,e)}RETURN(){return this.getToken(FC.RETURN,0)}expression(){return this.getRuleContext(0,NH)}get ruleIndex(){return FC.RULE_returnStatement}accept(t){return t.visitReturnStatement?t.visitReturnStatement(this):t.visitChildren(this)}},bD=class extends ga{constructor(t,e){super(t,e)}WHILE(t){return void 0===t?this.getTokens(FC.WHILE):this.getToken(FC.WHILE,t)}expression(){return this.getRuleContext(0,NH)}DO(){return this.getToken(FC.DO,0)}END(){return this.getToken(FC.END,0)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}COLON_SYMB(){return this.getToken(FC.COLON_SYMB,0)}procedureSqlStatement(t){return void 0===t?this.getRuleContexts(rp):this.getRuleContext(t,rp)}get ruleIndex(){return FC.RULE_whileStatement}accept(t){return t.visitWhileStatement?t.visitWhileStatement(this):t.visitChildren(this)}},WD=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_cursorStatement}copyFrom(t){super.copyFrom(t)}},VD=class extends WD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CLOSE(){return this.getToken(FC.CLOSE,0)}uid(){return this.getRuleContext(0,Vx)}accept(t){return t.visitCloseCursor?t.visitCloseCursor(this):t.visitChildren(this)}},XD=class extends WD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}OPEN(){return this.getToken(FC.OPEN,0)}uid(){return this.getRuleContext(0,Vx)}accept(t){return t.visitOpenCursor?t.visitOpenCursor(this):t.visitChildren(this)}},KD=class extends WD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}FETCH(){return this.getToken(FC.FETCH,0)}uid(){return this.getRuleContext(0,Vx)}INTO(){return this.getToken(FC.INTO,0)}uidList(){return this.getRuleContext(0,lk)}FROM(){return this.getToken(FC.FROM,0)}NEXT(){return this.getToken(FC.NEXT,0)}accept(t){return t.visitFetchCursor?t.visitFetchCursor(this):t.visitChildren(this)}},QD=class extends ga{constructor(t,e){super(t,e)}DECLARE(){return this.getToken(FC.DECLARE,0)}uidList(){return this.getRuleContext(0,lk)}dataType(){return this.getRuleContext(0,tk)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}expression(){return this.getRuleContext(0,NH)}get ruleIndex(){return FC.RULE_declareVariable}accept(t){return t.visitDeclareVariable?t.visitDeclareVariable(this):t.visitChildren(this)}},JD=class extends ga{constructor(t,e){super(t,e)}DECLARE(){return this.getToken(FC.DECLARE,0)}uid(){return this.getRuleContext(0,Vx)}CONDITION(){return this.getToken(FC.CONDITION,0)}FOR(){return this.getToken(FC.FOR,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}SQLSTATE(){return this.getToken(FC.SQLSTATE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}VALUE(){return this.getToken(FC.VALUE,0)}get ruleIndex(){return FC.RULE_declareCondition}accept(t){return t.visitDeclareCondition?t.visitDeclareCondition(this):t.visitChildren(this)}},ZD=class extends ga{constructor(t,e){super(t,e)}DECLARE(){return this.getToken(FC.DECLARE,0)}uid(){return this.getRuleContext(0,Vx)}CURSOR(){return this.getToken(FC.CURSOR,0)}FOR(){return this.getToken(FC.FOR,0)}selectStatement(){return this.getRuleContext(0,rU)}get ruleIndex(){return FC.RULE_declareCursor}accept(t){return t.visitDeclareCursor?t.visitDeclareCursor(this):t.visitChildren(this)}},qD=class extends ga{constructor(t,e){super(t,e)}DECLARE(){return this.getToken(FC.DECLARE,0)}HANDLER(){return this.getToken(FC.HANDLER,0)}FOR(){return this.getToken(FC.FOR,0)}handlerConditionValue(t){return void 0===t?this.getRuleContexts(jD):this.getRuleContext(t,jD)}routineBody(){return this.getRuleContext(0,HD)}CONTINUE(){return this.getToken(FC.CONTINUE,0)}EXIT(){return this.getToken(FC.EXIT,0)}UNDO(){return this.getToken(FC.UNDO,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_declareHandler}accept(t){return t.visitDeclareHandler?t.visitDeclareHandler(this):t.visitChildren(this)}},jD=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_handlerConditionValue}copyFrom(t){super.copyFrom(t)}},zD=class extends jD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SQLWARNING(){return this.getToken(FC.SQLWARNING,0)}accept(t){return t.visitHandlerConditionWarning?t.visitHandlerConditionWarning(this):t.visitChildren(this)}},$D=class extends jD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}decimalLiteral(){return this.getRuleContext(0,Qx)}accept(t){return t.visitHandlerConditionCode?t.visitHandlerConditionCode(this):t.visitChildren(this)}},tp=class extends jD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}NOT(){return this.getToken(FC.NOT,0)}FOUND(){return this.getToken(FC.FOUND,0)}accept(t){return t.visitHandlerConditionNotfound?t.visitHandlerConditionNotfound(this):t.visitChildren(this)}},ep=class extends jD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SQLSTATE(){return this.getToken(FC.SQLSTATE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}VALUE(){return this.getToken(FC.VALUE,0)}accept(t){return t.visitHandlerConditionState?t.visitHandlerConditionState(this):t.visitChildren(this)}},sp=class extends jD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SQLEXCEPTION(){return this.getToken(FC.SQLEXCEPTION,0)}accept(t){return t.visitHandlerConditionException?t.visitHandlerConditionException(this):t.visitChildren(this)}},ap=class extends jD{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}uid(){return this.getRuleContext(0,Vx)}accept(t){return t.visitHandlerConditionName?t.visitHandlerConditionName(this):t.visitChildren(this)}},rp=class extends ga{constructor(t,e){super(t,e)}SEMI(){return this.getToken(FC.SEMI,0)}compoundStatement(){return this.getRuleContext(0,VC)}statement(){return this.getRuleContext(0,yC)}get ruleIndex(){return FC.RULE_procedureSqlStatement}accept(t){return t.visitProcedureSqlStatement?t.visitProcedureSqlStatement(this):t.visitChildren(this)}},ip=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(FC.WHEN,0)}THEN(){return this.getToken(FC.THEN,0)}constant(){return this.getRuleContext(0,$x)}expression(){return this.getRuleContext(0,NH)}procedureSqlStatement(t){return void 0===t?this.getRuleContexts(rp):this.getRuleContext(t,rp)}get ruleIndex(){return FC.RULE_caseAlternative}accept(t){return t.visitCaseAlternative?t.visitCaseAlternative(this):t.visitChildren(this)}},cp=class extends ga{constructor(t,e){super(t,e)}ELSEIF(){return this.getToken(FC.ELSEIF,0)}expression(){return this.getRuleContext(0,NH)}THEN(){return this.getToken(FC.THEN,0)}procedureSqlStatement(t){return void 0===t?this.getRuleContexts(rp):this.getRuleContext(t,rp)}get ruleIndex(){return FC.RULE_elifAlternative}accept(t){return t.visitElifAlternative?t.visitElifAlternative(this):t.visitChildren(this)}},np=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_alterUser}copyFrom(t){super.copyFrom(t)}},hp=class extends np{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ALTER(){return this.getToken(FC.ALTER,0)}USER(){return this.getToken(FC.USER,0)}newUserAuthOptionList(){return this.getRuleContext(0,dp)}ifExists(){return this.getRuleContext(0,mk)}REQUIRE(){return this.getToken(FC.REQUIRE,0)}WITH(){return this.getToken(FC.WITH,0)}userPasswordOption(t){return void 0===t?this.getRuleContexts(yp):this.getRuleContext(t,yp)}userLockOption(t){return void 0===t?this.getRuleContexts(fp):this.getRuleContext(t,fp)}COMMENT(){return this.getToken(FC.COMMENT,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}ATTRIBUTE(){return this.getToken(FC.ATTRIBUTE,0)}tlsOption(t){return void 0===t?this.getRuleContexts(vp):this.getRuleContext(t,vp)}NONE(){return this.getToken(FC.NONE,0)}userResourceOption(t){return void 0===t?this.getRuleContexts(Bp):this.getRuleContext(t,Bp)}AND(t){return void 0===t?this.getTokens(FC.AND):this.getToken(FC.AND,t)}userName(){return this.getRuleContext(0,Gx)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}ROLE(){return this.getToken(FC.ROLE,0)}roleOption(){return this.getRuleContext(0,lp)}accept(t){return t.visitAlterUserMysqlV80?t.visitAlterUserMysqlV80(this):t.visitChildren(this)}},Ep=class extends np{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ALTER(){return this.getToken(FC.ALTER,0)}USER(){return this.getToken(FC.USER,0)}userSpecification(t){return void 0===t?this.getRuleContexts(Mp):this.getRuleContext(t,Mp)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitAlterUserMysqlV56?t.visitAlterUserMysqlV56(this):t.visitChildren(this)}},Tp=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_createUser}copyFrom(t){super.copyFrom(t)}},op=class extends Tp{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CREATE(){return this.getToken(FC.CREATE,0)}USER(){return this.getToken(FC.USER,0)}newUserAuthOptionList(){return this.getRuleContext(0,dp)}accept(t){return t.visitCreateUserMysqlV56?t.visitCreateUserMysqlV56(this):t.visitChildren(this)}},Rp=class extends Tp{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CREATE(){return this.getToken(FC.CREATE,0)}USER(){return this.getToken(FC.USER,0)}newUserAuthOptionList(){return this.getRuleContext(0,dp)}ifNotExists(){return this.getRuleContext(0,Dk)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}ROLE(){return this.getToken(FC.ROLE,0)}roleOption(){return this.getRuleContext(0,lp)}REQUIRE(){return this.getToken(FC.REQUIRE,0)}WITH(){return this.getToken(FC.WITH,0)}userPasswordOption(t){return void 0===t?this.getRuleContexts(yp):this.getRuleContext(t,yp)}userLockOption(t){return void 0===t?this.getRuleContexts(fp):this.getRuleContext(t,fp)}COMMENT(){return this.getToken(FC.COMMENT,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}ATTRIBUTE(){return this.getToken(FC.ATTRIBUTE,0)}tlsOption(t){return void 0===t?this.getRuleContexts(vp):this.getRuleContext(t,vp)}NONE(){return this.getToken(FC.NONE,0)}userResourceOption(t){return void 0===t?this.getRuleContexts(Bp):this.getRuleContext(t,Bp)}AND(t){return void 0===t?this.getTokens(FC.AND):this.getToken(FC.AND,t)}accept(t){return t.visitCreateUserMysqlV80?t.visitCreateUserMysqlV80(this):t.visitChildren(this)}},Ap=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(FC.DROP,0)}USER(){return this.getToken(FC.USER,0)}userNameList(){return this.getRuleContext(0,kx)}ifExists(){return this.getRuleContext(0,mk)}get ruleIndex(){return FC.RULE_dropUser}accept(t){return t.visitDropUser?t.visitDropUser(this):t.visitChildren(this)}},Sp=class extends ga{constructor(t,e){super(t,e)}GRANT(t){return void 0===t?this.getTokens(FC.GRANT):this.getToken(FC.GRANT,t)}privelegeClause(t){return void 0===t?this.getRuleContexts(Yp):this.getRuleContext(t,Yp)}ON(){return this.getToken(FC.ON,0)}privilegeLevel(){return this.getRuleContext(0,bp)}TO(){return this.getToken(FC.TO,0)}userOrRoleNameList(){return this.getRuleContext(0,ux)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}REQUIRE(){return this.getToken(FC.REQUIRE,0)}WITH(t){return void 0===t?this.getTokens(FC.WITH):this.getToken(FC.WITH,t)}AS(){return this.getToken(FC.AS,0)}userName(){return this.getRuleContext(0,Gx)}ROLE(){return this.getToken(FC.ROLE,0)}roleOption(){return this.getRuleContext(0,lp)}TABLE(){return this.getToken(FC.TABLE,0)}FUNCTION(){return this.getToken(FC.FUNCTION,0)}PROCEDURE(){return this.getToken(FC.PROCEDURE,0)}tlsOption(t){return void 0===t?this.getRuleContexts(vp):this.getRuleContext(t,vp)}NONE(){return this.getToken(FC.NONE,0)}OPTION(t){return void 0===t?this.getTokens(FC.OPTION):this.getToken(FC.OPTION,t)}userResourceOption(t){return void 0===t?this.getRuleContexts(Bp):this.getRuleContext(t,Bp)}AND(t){return void 0===t?this.getTokens(FC.AND):this.getToken(FC.AND,t)}roleNameList(){return this.getRuleContext(0,Cx)}ADMIN(){return this.getToken(FC.ADMIN,0)}get ruleIndex(){return FC.RULE_grantStatement}accept(t){return t.visitGrantStatement?t.visitGrantStatement(this):t.visitChildren(this)}},lp=class extends ga{constructor(t,e){super(t,e)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}NONE(){return this.getToken(FC.NONE,0)}ALL(){return this.getToken(FC.ALL,0)}EXCEPT(){return this.getToken(FC.EXCEPT,0)}roleNameList(){return this.getRuleContext(0,Cx)}get ruleIndex(){return FC.RULE_roleOption}accept(t){return t.visitRoleOption?t.visitRoleOption(this):t.visitChildren(this)}},Op=class extends ga{constructor(t,e){super(t,e),this._toOther=[]}GRANT(t){return void 0===t?this.getTokens(FC.GRANT):this.getToken(FC.GRANT,t)}PROXY(){return this.getToken(FC.PROXY,0)}ON(){return this.getToken(FC.ON,0)}TO(){return this.getToken(FC.TO,0)}userName(t){return void 0===t?this.getRuleContexts(Gx):this.getRuleContext(t,Gx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}WITH(){return this.getToken(FC.WITH,0)}OPTION(){return this.getToken(FC.OPTION,0)}get ruleIndex(){return FC.RULE_grantProxy}accept(t){return t.visitGrantProxy?t.visitGrantProxy(this):t.visitChildren(this)}},Ip=class extends ga{constructor(t,e){super(t,e)}RENAME(){return this.getToken(FC.RENAME,0)}USER(){return this.getToken(FC.USER,0)}renameUserClause(t){return void 0===t?this.getRuleContexts(Zp):this.getRuleContext(t,Zp)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_renameUser}accept(t){return t.visitRenameUser?t.visitRenameUser(this):t.visitChildren(this)}},up=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_revokeStatement}copyFrom(t){super.copyFrom(t)}},Np=class extends up{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REVOKE(){return this.getToken(FC.REVOKE,0)}ALL(){return this.getToken(FC.ALL,0)}COMMA(){return this.getToken(FC.COMMA,0)}GRANT(){return this.getToken(FC.GRANT,0)}OPTION(){return this.getToken(FC.OPTION,0)}FROM(){return this.getToken(FC.FROM,0)}userOrRoleNameList(){return this.getRuleContext(0,ux)}PRIVILEGES(){return this.getToken(FC.PRIVILEGES,0)}accept(t){return t.visitShortPrivilegeRevoke?t.visitShortPrivilegeRevoke(this):t.visitChildren(this)}},Lp=class extends up{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REVOKE(){return this.getToken(FC.REVOKE,0)}roleNameList(){return this.getRuleContext(0,Cx)}FROM(){return this.getToken(FC.FROM,0)}userOrRoleNameList(t){return void 0===t?this.getRuleContexts(ux):this.getRuleContext(t,ux)}accept(t){return t.visitRoleRevoke?t.visitRoleRevoke(this):t.visitChildren(this)}},Cp=class extends up{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REVOKE(){return this.getToken(FC.REVOKE,0)}privelegeClause(t){return void 0===t?this.getRuleContexts(Yp):this.getRuleContext(t,Yp)}ON(){return this.getToken(FC.ON,0)}privilegeLevel(){return this.getRuleContext(0,bp)}FROM(){return this.getToken(FC.FROM,0)}userOrRoleNameList(){return this.getRuleContext(0,ux)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}TABLE(){return this.getToken(FC.TABLE,0)}FUNCTION(){return this.getToken(FC.FUNCTION,0)}PROCEDURE(){return this.getToken(FC.PROCEDURE,0)}accept(t){return t.visitDetailedPrivilegeRevoke?t.visitDetailedPrivilegeRevoke(this):t.visitChildren(this)}},_p=class extends ga{constructor(t,e){super(t,e),this._fromOther=[]}REVOKE(){return this.getToken(FC.REVOKE,0)}PROXY(){return this.getToken(FC.PROXY,0)}ON(){return this.getToken(FC.ON,0)}FROM(){return this.getToken(FC.FROM,0)}userName(t){return void 0===t?this.getRuleContexts(Gx):this.getRuleContext(t,Gx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_revokeProxy}accept(t){return t.visitRevokeProxy?t.visitRevokeProxy(this):t.visitChildren(this)}},Pp=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(FC.SET,0)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}passwordFunctionClause(){return this.getRuleContext(0,OH)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}FOR(){return this.getToken(FC.FOR,0)}userName(){return this.getRuleContext(0,Gx)}get ruleIndex(){return FC.RULE_setPasswordStatement}accept(t){return t.visitSetPasswordStatement?t.visitSetPasswordStatement(this):t.visitChildren(this)}},Mp=class extends ga{constructor(t,e){super(t,e)}userName(){return this.getRuleContext(0,Gx)}userPasswordOption(){return this.getRuleContext(0,yp)}get ruleIndex(){return FC.RULE_userSpecification}accept(t){return t.visitUserSpecification?t.visitUserSpecification(this):t.visitChildren(this)}},dp=class extends ga{constructor(t,e){super(t,e)}newUserAuthOption(t){return void 0===t?this.getRuleContexts(Up):this.getRuleContext(t,Up)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_newUserAuthOptionList}accept(t){return t.visitNewUserAuthOptionList?t.visitNewUserAuthOptionList(this):t.visitChildren(this)}},Up=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_newUserAuthOption}copyFrom(t){super.copyFrom(t)}},mp=class extends Up{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}newUserName(){return this.getRuleContext(0,Hx)}accept(t){return t.visitSimpleAuthOption?t.visitSimpleAuthOption(this):t.visitChildren(this)}},Dp=class extends Up{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}newUserName(){return this.getRuleContext(0,Hx)}IDENTIFIED(){return this.getToken(FC.IDENTIFIED,0)}WITH(){return this.getToken(FC.WITH,0)}authenticationRule(){return this.getRuleContext(0,Hp)}accept(t){return t.visitModuleAuthOption?t.visitModuleAuthOption(this):t.visitChildren(this)}},pp=class extends Up{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}newUserName(){return this.getRuleContext(0,Hx)}IDENTIFIED(){return this.getToken(FC.IDENTIFIED,0)}BY(){return this.getToken(FC.BY,0)}RANDOM(){return this.getToken(FC.RANDOM,0)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}authOptionClause(){return this.getRuleContext(0,kp)}accept(t){return t.visitRandomAuthOption?t.visitRandomAuthOption(this):t.visitChildren(this)}},gp=class extends Up{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}newUserName(){return this.getRuleContext(0,Hx)}IDENTIFIED(){return this.getToken(FC.IDENTIFIED,0)}BY(){return this.getToken(FC.BY,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}authOptionClause(){return this.getRuleContext(0,kp)}accept(t){return t.visitStringAuthOption?t.visitStringAuthOption(this):t.visitChildren(this)}},xp=class extends Up{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}newUserName(){return this.getRuleContext(0,Hx)}IDENTIFIED(){return this.getToken(FC.IDENTIFIED,0)}BY(){return this.getToken(FC.BY,0)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitHashAuthOption?t.visitHashAuthOption(this):t.visitChildren(this)}},kp=class extends ga{constructor(t,e){super(t,e)}REPLACE(){return this.getToken(FC.REPLACE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}RETAIN(){return this.getToken(FC.RETAIN,0)}CURRENT(){return this.getToken(FC.CURRENT,0)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}get ruleIndex(){return FC.RULE_authOptionClause}accept(t){return t.visitAuthOptionClause?t.visitAuthOptionClause(this):t.visitChildren(this)}},Hp=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_authenticationRule}copyFrom(t){super.copyFrom(t)}},Gp=class extends Hp{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}authPlugin(){return this.getRuleContext(0,Wx)}USING(){return this.getToken(FC.USING,0)}passwordFunctionClause(){return this.getRuleContext(0,OH)}accept(t){return t.visitPasswordModuleOption?t.visitPasswordModuleOption(this):t.visitChildren(this)}},Fp=class extends Hp{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}authPlugin(){return this.getRuleContext(0,Wx)}authOptionClause(){return this.getRuleContext(0,kp)}BY(){return this.getToken(FC.BY,0)}USING(){return this.getToken(FC.USING,0)}AS(){return this.getToken(FC.AS,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}RANDOM(){return this.getToken(FC.RANDOM,0)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}accept(t){return t.visitModule?t.visitModule(this):t.visitChildren(this)}},vp=class extends ga{constructor(t,e){super(t,e)}SSL(){return this.getToken(FC.SSL,0)}X509(){return this.getToken(FC.X509,0)}CIPHER(){return this.getToken(FC.CIPHER,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}ISSUER(){return this.getToken(FC.ISSUER,0)}SUBJECT(){return this.getToken(FC.SUBJECT,0)}get ruleIndex(){return FC.RULE_tlsOption}accept(t){return t.visitTlsOption?t.visitTlsOption(this):t.visitChildren(this)}},Bp=class extends ga{constructor(t,e){super(t,e)}MAX_QUERIES_PER_HOUR(){return this.getToken(FC.MAX_QUERIES_PER_HOUR,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}MAX_UPDATES_PER_HOUR(){return this.getToken(FC.MAX_UPDATES_PER_HOUR,0)}MAX_CONNECTIONS_PER_HOUR(){return this.getToken(FC.MAX_CONNECTIONS_PER_HOUR,0)}MAX_USER_CONNECTIONS(){return this.getToken(FC.MAX_USER_CONNECTIONS,0)}get ruleIndex(){return FC.RULE_userResourceOption}accept(t){return t.visitUserResourceOption?t.visitUserResourceOption(this):t.visitChildren(this)}},yp=class extends ga{constructor(t,e){super(t,e)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}EXPIRE(){return this.getToken(FC.EXPIRE,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}DAY(){return this.getToken(FC.DAY,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}NEVER(){return this.getToken(FC.NEVER,0)}INTERVAL(){return this.getToken(FC.INTERVAL,0)}HISTORY(){return this.getToken(FC.HISTORY,0)}REUSE(){return this.getToken(FC.REUSE,0)}REQUIRE(){return this.getToken(FC.REQUIRE,0)}CURRENT(){return this.getToken(FC.CURRENT,0)}OPTIONAL(){return this.getToken(FC.OPTIONAL,0)}FAILED_LOGIN_ATTEMPTS(){return this.getToken(FC.FAILED_LOGIN_ATTEMPTS,0)}PASSWORD_LOCK_TIME(){return this.getToken(FC.PASSWORD_LOCK_TIME,0)}UNBOUNDED(){return this.getToken(FC.UNBOUNDED,0)}get ruleIndex(){return FC.RULE_userPasswordOption}accept(t){return t.visitUserPasswordOption?t.visitUserPasswordOption(this):t.visitChildren(this)}},fp=class extends ga{constructor(t,e){super(t,e)}ACCOUNT(){return this.getToken(FC.ACCOUNT,0)}LOCK(){return this.getToken(FC.LOCK,0)}UNLOCK(){return this.getToken(FC.UNLOCK,0)}get ruleIndex(){return FC.RULE_userLockOption}accept(t){return t.visitUserLockOption?t.visitUserLockOption(this):t.visitChildren(this)}},Yp=class extends ga{constructor(t,e){super(t,e)}privilege(){return this.getRuleContext(0,wp)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}uidList(){return this.getRuleContext(0,lk)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}get ruleIndex(){return FC.RULE_privelegeClause}accept(t){return t.visitPrivelegeClause?t.visitPrivelegeClause(this):t.visitChildren(this)}},wp=class extends ga{constructor(t,e){super(t,e)}ALL(){return this.getToken(FC.ALL,0)}PRIVILEGES(){return this.getToken(FC.PRIVILEGES,0)}ALTER(){return this.getToken(FC.ALTER,0)}ROUTINE(){return this.getToken(FC.ROUTINE,0)}CREATE(){return this.getToken(FC.CREATE,0)}TEMPORARY(){return this.getToken(FC.TEMPORARY,0)}TABLES(){return this.getToken(FC.TABLES,0)}VIEW(){return this.getToken(FC.VIEW,0)}USER(){return this.getToken(FC.USER,0)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}ROLE(){return this.getToken(FC.ROLE,0)}DELETE(){return this.getToken(FC.DELETE,0)}DROP(){return this.getToken(FC.DROP,0)}EVENT(){return this.getToken(FC.EVENT,0)}EXECUTE(){return this.getToken(FC.EXECUTE,0)}FILE(){return this.getToken(FC.FILE,0)}GRANT(){return this.getToken(FC.GRANT,0)}OPTION(){return this.getToken(FC.OPTION,0)}INDEX(){return this.getToken(FC.INDEX,0)}INSERT(){return this.getToken(FC.INSERT,0)}LOCK(){return this.getToken(FC.LOCK,0)}PROCESS(){return this.getToken(FC.PROCESS,0)}PROXY(){return this.getToken(FC.PROXY,0)}REFERENCES(){return this.getToken(FC.REFERENCES,0)}RELOAD(){return this.getToken(FC.RELOAD,0)}REPLICATION(){return this.getToken(FC.REPLICATION,0)}CLIENT(){return this.getToken(FC.CLIENT,0)}SLAVE(){return this.getToken(FC.SLAVE,0)}SELECT(){return this.getToken(FC.SELECT,0)}SHOW(){return this.getToken(FC.SHOW,0)}DATABASES(){return this.getToken(FC.DATABASES,0)}SHUTDOWN(){return this.getToken(FC.SHUTDOWN,0)}SUPER(){return this.getToken(FC.SUPER,0)}TRIGGER(){return this.getToken(FC.TRIGGER,0)}UPDATE(){return this.getToken(FC.UPDATE,0)}USAGE(){return this.getToken(FC.USAGE,0)}APPLICATION_PASSWORD_ADMIN(){return this.getToken(FC.APPLICATION_PASSWORD_ADMIN,0)}AUDIT_ABORT_EXEMPT(){return this.getToken(FC.AUDIT_ABORT_EXEMPT,0)}AUDIT_ADMIN(){return this.getToken(FC.AUDIT_ADMIN,0)}AUTHENTICATION_POLICY_ADMIN(){return this.getToken(FC.AUTHENTICATION_POLICY_ADMIN,0)}BACKUP_ADMIN(){return this.getToken(FC.BACKUP_ADMIN,0)}BINLOG_ADMIN(){return this.getToken(FC.BINLOG_ADMIN,0)}BINLOG_ENCRYPTION_ADMIN(){return this.getToken(FC.BINLOG_ENCRYPTION_ADMIN,0)}CLONE_ADMIN(){return this.getToken(FC.CLONE_ADMIN,0)}CONNECTION_ADMIN(){return this.getToken(FC.CONNECTION_ADMIN,0)}ENCRYPTION_KEY_ADMIN(){return this.getToken(FC.ENCRYPTION_KEY_ADMIN,0)}FIREWALL_ADMIN(){return this.getToken(FC.FIREWALL_ADMIN,0)}FIREWALL_EXEMPT(){return this.getToken(FC.FIREWALL_EXEMPT,0)}FIREWALL_USER(){return this.getToken(FC.FIREWALL_USER,0)}FLUSH_OPTIMIZER_COSTS(){return this.getToken(FC.FLUSH_OPTIMIZER_COSTS,0)}FLUSH_STATUS(){return this.getToken(FC.FLUSH_STATUS,0)}FLUSH_TABLES(){return this.getToken(FC.FLUSH_TABLES,0)}FLUSH_USER_RESOURCES(){return this.getToken(FC.FLUSH_USER_RESOURCES,0)}GROUP_REPLICATION_ADMIN(){return this.getToken(FC.GROUP_REPLICATION_ADMIN,0)}INNODB_REDO_LOG_ARCHIVE(){return this.getToken(FC.INNODB_REDO_LOG_ARCHIVE,0)}INNODB_REDO_LOG_ENABLE(){return this.getToken(FC.INNODB_REDO_LOG_ENABLE,0)}NDB_STORED_USER(){return this.getToken(FC.NDB_STORED_USER,0)}PASSWORDLESS_USER_ADMIN(){return this.getToken(FC.PASSWORDLESS_USER_ADMIN,0)}PERSIST_RO_VARIABLES_ADMIN(){return this.getToken(FC.PERSIST_RO_VARIABLES_ADMIN,0)}REPLICATION_APPLIER(){return this.getToken(FC.REPLICATION_APPLIER,0)}REPLICATION_SLAVE_ADMIN(){return this.getToken(FC.REPLICATION_SLAVE_ADMIN,0)}RESOURCE_GROUP_ADMIN(){return this.getToken(FC.RESOURCE_GROUP_ADMIN,0)}RESOURCE_GROUP_USER(){return this.getToken(FC.RESOURCE_GROUP_USER,0)}ROLE_ADMIN(){return this.getToken(FC.ROLE_ADMIN,0)}SERVICE_CONNECTION_ADMIN(){return this.getToken(FC.SERVICE_CONNECTION_ADMIN,0)}SESSION_VARIABLES_ADMIN(){return this.getToken(FC.SESSION_VARIABLES_ADMIN,0)}SET_USER_ID(){return this.getToken(FC.SET_USER_ID,0)}SKIP_QUERY_REWRITE(){return this.getToken(FC.SKIP_QUERY_REWRITE,0)}SHOW_ROUTINE(){return this.getToken(FC.SHOW_ROUTINE,0)}SYSTEM_USER(){return this.getToken(FC.SYSTEM_USER,0)}SYSTEM_VARIABLES_ADMIN(){return this.getToken(FC.SYSTEM_VARIABLES_ADMIN,0)}TABLE_ENCRYPTION_ADMIN(){return this.getToken(FC.TABLE_ENCRYPTION_ADMIN,0)}TP_CONNECTION_ADMIN(){return this.getToken(FC.TP_CONNECTION_ADMIN,0)}VERSION_TOKEN_ADMIN(){return this.getToken(FC.VERSION_TOKEN_ADMIN,0)}XA_RECOVER_ADMIN(){return this.getToken(FC.XA_RECOVER_ADMIN,0)}LOAD(){return this.getToken(FC.LOAD,0)}FROM(){return this.getToken(FC.FROM,0)}S3(){return this.getToken(FC.S3,0)}INTO(){return this.getToken(FC.INTO,0)}INVOKE(){return this.getToken(FC.INVOKE,0)}LAMBDA(){return this.getToken(FC.LAMBDA,0)}get ruleIndex(){return FC.RULE_privilege}accept(t){return t.visitPrivilege?t.visitPrivilege(this):t.visitChildren(this)}},bp=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_privilegeLevel}copyFrom(t){super.copyFrom(t)}},Wp=class extends bp{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}uid(){return this.getRuleContext(0,Vx)}DOT(){return this.getToken(FC.DOT,0)}STAR(){return this.getToken(FC.STAR,0)}accept(t){return t.visitDefiniteSchemaPrivLevel?t.visitDefiniteSchemaPrivLevel(this):t.visitChildren(this)}},Vp=class extends bp{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}uid(){return this.getRuleContext(0,Vx)}dottedId(){return this.getRuleContext(0,Kx)}accept(t){return t.visitDefiniteFullTablePrivLevel2?t.visitDefiniteFullTablePrivLevel2(this):t.visitChildren(this)}},Xp=class extends bp{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}DOT(){return this.getToken(FC.DOT,0)}accept(t){return t.visitDefiniteFullTablePrivLevel?t.visitDefiniteFullTablePrivLevel(this):t.visitChildren(this)}},Kp=class extends bp{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STAR(t){return void 0===t?this.getTokens(FC.STAR):this.getToken(FC.STAR,t)}DOT(){return this.getToken(FC.DOT,0)}accept(t){return t.visitGlobalPrivLevel?t.visitGlobalPrivLevel(this):t.visitChildren(this)}},Qp=class extends bp{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}uid(){return this.getRuleContext(0,Vx)}accept(t){return t.visitDefiniteTablePrivLevel?t.visitDefiniteTablePrivLevel(this):t.visitChildren(this)}},Jp=class extends bp{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}STAR(){return this.getToken(FC.STAR,0)}accept(t){return t.visitCurrentSchemaPriviLevel?t.visitCurrentSchemaPriviLevel(this):t.visitChildren(this)}},Zp=class extends ga{constructor(t,e){super(t,e)}userName(){return this.getRuleContext(0,Gx)}TO(){return this.getToken(FC.TO,0)}newUserName(){return this.getRuleContext(0,Hx)}get ruleIndex(){return FC.RULE_renameUserClause}accept(t){return t.visitRenameUserClause?t.visitRenameUserClause(this):t.visitChildren(this)}},qp=class extends ga{constructor(t,e){super(t,e)}ANALYZE(){return this.getToken(FC.ANALYZE,0)}tables(){return this.getRuleContext(0,Ik)}TABLE(){return this.getToken(FC.TABLE,0)}TABLES(){return this.getToken(FC.TABLES,0)}UPDATE(){return this.getToken(FC.UPDATE,0)}HISTOGRAM(t){return void 0===t?this.getTokens(FC.HISTOGRAM):this.getToken(FC.HISTOGRAM,t)}ON(t){return void 0===t?this.getTokens(FC.ON):this.getToken(FC.ON,t)}fullColumnName(t){return void 0===t?this.getRuleContexts(Px):this.getRuleContext(t,Px)}DROP(){return this.getToken(FC.DROP,0)}NO_WRITE_TO_BINLOG(){return this.getToken(FC.NO_WRITE_TO_BINLOG,0)}LOCAL(){return this.getToken(FC.LOCAL,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}WITH(){return this.getToken(FC.WITH,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}BUCKETS(){return this.getToken(FC.BUCKETS,0)}get ruleIndex(){return FC.RULE_analyzeTable}accept(t){return t.visitAnalyzeTable?t.visitAnalyzeTable(this):t.visitChildren(this)}},jp=class extends ga{constructor(t,e){super(t,e)}CHECK(){return this.getToken(FC.CHECK,0)}TABLE(){return this.getToken(FC.TABLE,0)}tables(){return this.getRuleContext(0,Ik)}checkTableOption(t){return void 0===t?this.getRuleContexts(eg):this.getRuleContext(t,eg)}get ruleIndex(){return FC.RULE_checkTable}accept(t){return t.visitCheckTable?t.visitCheckTable(this):t.visitChildren(this)}},zp=class extends ga{constructor(t,e){super(t,e)}CHECKSUM(){return this.getToken(FC.CHECKSUM,0)}TABLE(){return this.getToken(FC.TABLE,0)}tables(){return this.getRuleContext(0,Ik)}QUICK(){return this.getToken(FC.QUICK,0)}EXTENDED(){return this.getToken(FC.EXTENDED,0)}get ruleIndex(){return FC.RULE_checksumTable}accept(t){return t.visitChecksumTable?t.visitChecksumTable(this):t.visitChildren(this)}},$p=class extends ga{constructor(t,e){super(t,e)}OPTIMIZE(){return this.getToken(FC.OPTIMIZE,0)}tables(){return this.getRuleContext(0,Ik)}TABLE(){return this.getToken(FC.TABLE,0)}TABLES(){return this.getToken(FC.TABLES,0)}NO_WRITE_TO_BINLOG(){return this.getToken(FC.NO_WRITE_TO_BINLOG,0)}LOCAL(){return this.getToken(FC.LOCAL,0)}get ruleIndex(){return FC.RULE_optimizeTable}accept(t){return t.visitOptimizeTable?t.visitOptimizeTable(this):t.visitChildren(this)}},tg=class extends ga{constructor(t,e){super(t,e)}REPAIR(){return this.getToken(FC.REPAIR,0)}TABLE(){return this.getToken(FC.TABLE,0)}tables(){return this.getRuleContext(0,Ik)}QUICK(){return this.getToken(FC.QUICK,0)}EXTENDED(){return this.getToken(FC.EXTENDED,0)}USE_FRM(){return this.getToken(FC.USE_FRM,0)}NO_WRITE_TO_BINLOG(){return this.getToken(FC.NO_WRITE_TO_BINLOG,0)}LOCAL(){return this.getToken(FC.LOCAL,0)}get ruleIndex(){return FC.RULE_repairTable}accept(t){return t.visitRepairTable?t.visitRepairTable(this):t.visitChildren(this)}},eg=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(FC.FOR,0)}UPGRADE(){return this.getToken(FC.UPGRADE,0)}QUICK(){return this.getToken(FC.QUICK,0)}FAST(){return this.getToken(FC.FAST,0)}MEDIUM(){return this.getToken(FC.MEDIUM,0)}EXTENDED(){return this.getToken(FC.EXTENDED,0)}CHANGED(){return this.getToken(FC.CHANGED,0)}get ruleIndex(){return FC.RULE_checkTableOption}accept(t){return t.visitCheckTableOption?t.visitCheckTableOption(this):t.visitChildren(this)}},sg=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(FC.CREATE,0)}FUNCTION(){return this.getToken(FC.FUNCTION,0)}uid(){return this.getRuleContext(0,Vx)}RETURNS(){return this.getToken(FC.RETURNS,0)}SONAME(){return this.getToken(FC.SONAME,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}STRING(){return this.getToken(FC.STRING,0)}INTEGER(){return this.getToken(FC.INTEGER,0)}REAL(){return this.getToken(FC.REAL,0)}DECIMAL(){return this.getToken(FC.DECIMAL,0)}AGGREGATE(){return this.getToken(FC.AGGREGATE,0)}ifNotExists(){return this.getRuleContext(0,Dk)}get ruleIndex(){return FC.RULE_createUdfunction}accept(t){return t.visitCreateUdfunction?t.visitCreateUdfunction(this):t.visitChildren(this)}},ag=class extends ga{constructor(t,e){super(t,e)}INSTALL(){return this.getToken(FC.INSTALL,0)}PLUGIN(){return this.getToken(FC.PLUGIN,0)}uid(){return this.getRuleContext(0,Vx)}SONAME(){return this.getToken(FC.SONAME,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_installPlugin}accept(t){return t.visitInstallPlugin?t.visitInstallPlugin(this):t.visitChildren(this)}},rg=class extends ga{constructor(t,e){super(t,e)}UNINSTALL(){return this.getToken(FC.UNINSTALL,0)}PLUGIN(){return this.getToken(FC.PLUGIN,0)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_uninstallPlugin}accept(t){return t.visitUninstallPlugin?t.visitUninstallPlugin(this):t.visitChildren(this)}},ig=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_setStatement}copyFrom(t){super.copyFrom(t)}},cg=class extends ig{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}setTransactionStatement(){return this.getRuleContext(0,km)}accept(t){return t.visitSetTransaction?t.visitSetTransaction(this):t.visitChildren(this)}},ng=class extends ig{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SET(){return this.getToken(FC.SET,0)}charSet(){return this.getRuleContext(0,S_)}charsetName(){return this.getRuleContext(0,vx)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}accept(t){return t.visitSetCharset?t.visitSetCharset(this):t.visitChildren(this)}},hg=class extends ig{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SET(){return this.getToken(FC.SET,0)}NAMES(){return this.getToken(FC.NAMES,0)}charsetName(){return this.getRuleContext(0,vx)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}COLLATE(){return this.getToken(FC.COLLATE,0)}collationName(){return this.getRuleContext(0,Bx)}accept(t){return t.visitSetNames?t.visitSetNames(this):t.visitChildren(this)}},Eg=class extends ig{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}setPasswordStatement(){return this.getRuleContext(0,Pp)}accept(t){return t.visitSetPassword?t.visitSetPassword(this):t.visitChildren(this)}},Tg=class extends ig{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}setAutocommitStatement(){return this.getRuleContext(0,xm)}accept(t){return t.visitSetAutocommit?t.visitSetAutocommit(this):t.visitChildren(this)}},og=class extends ig{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SET(){return this.getToken(FC.SET,0)}fullId(t){return void 0===t?this.getRuleContexts(Sx):this.getRuleContext(t,Sx)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}VAR_ASSIGN(t){return void 0===t?this.getTokens(FC.VAR_ASSIGN):this.getToken(FC.VAR_ASSIGN,t)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitSetNewValueInsideTrigger?t.visitSetNewValueInsideTrigger(this):t.visitChildren(this)}},Rg=class extends ig{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SET(){return this.getToken(FC.SET,0)}variableClause(t){return void 0===t?this.getRuleContexts(Gg):this.getRuleContext(t,Gg)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}VAR_ASSIGN(t){return void 0===t?this.getTokens(FC.VAR_ASSIGN):this.getToken(FC.VAR_ASSIGN,t)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}ON(t){return void 0===t?this.getTokens(FC.ON):this.getToken(FC.ON,t)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitSetVariable?t.visitSetVariable(this):t.visitChildren(this)}},Ag=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_showStatement}copyFrom(t){super.copyFrom(t)}},Sg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}OPEN(){return this.getToken(FC.OPEN,0)}TABLES(){return this.getToken(FC.TABLES,0)}uid(){return this.getRuleContext(0,Vx)}showFilter(){return this.getRuleContext(0,vg)}FROM(){return this.getToken(FC.FROM,0)}IN(){return this.getToken(FC.IN,0)}accept(t){return t.visitShowOpenTables?t.visitShowOpenTables(this):t.visitChildren(this)}},lg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}showGlobalInfoClause(){return this.getRuleContext(0,Bg)}accept(t){return t.visitShowGlobalInfo?t.visitShowGlobalInfo(this):t.visitChildren(this)}},Og=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}CREATE(){return this.getToken(FC.CREATE,0)}fullId(){return this.getRuleContext(0,Sx)}EVENT(){return this.getToken(FC.EVENT,0)}FUNCTION(){return this.getToken(FC.FUNCTION,0)}PROCEDURE(){return this.getToken(FC.PROCEDURE,0)}accept(t){return t.visitShowCreateFullIdObject?t.visitShowCreateFullIdObject(this):t.visitChildren(this)}},Ig=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}CREATE(){return this.getToken(FC.CREATE,0)}USER(){return this.getToken(FC.USER,0)}userName(){return this.getRuleContext(0,Gx)}accept(t){return t.visitShowCreateUser?t.visitShowCreateUser(this):t.visitChildren(this)}},ug=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}ERRORS(){return this.getToken(FC.ERRORS,0)}WARNINGS(){return this.getToken(FC.WARNINGS,0)}LIMIT(){return this.getToken(FC.LIMIT,0)}decimalLiteral(t){return void 0===t?this.getRuleContexts(Qx):this.getRuleContext(t,Qx)}COMMA(){return this.getToken(FC.COMMA,0)}accept(t){return t.visitShowErrors?t.visitShowErrors(this):t.visitChildren(this)}},Ng=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}COUNT(){return this.getToken(FC.COUNT,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}STAR(){return this.getToken(FC.STAR,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}ERRORS(){return this.getToken(FC.ERRORS,0)}WARNINGS(){return this.getToken(FC.WARNINGS,0)}accept(t){return t.visitShowCountErrors?t.visitShowCountErrors(this):t.visitChildren(this)}},Lg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}showCommonEntity(){return this.getRuleContext(0,Fg)}showFilter(){return this.getRuleContext(0,vg)}accept(t){return t.visitShowObjectFilter?t.visitShowObjectFilter(this):t.visitChildren(this)}},Cg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}CREATE(){return this.getToken(FC.CREATE,0)}databaseName(){return this.getRuleContext(0,Mx)}DATABASE(){return this.getToken(FC.DATABASE,0)}SCHEMA(){return this.getToken(FC.SCHEMA,0)}ifNotExists(){return this.getRuleContext(0,Dk)}accept(t){return t.visitShowCreateDb?t.visitShowCreateDb(this):t.visitChildren(this)}},_g=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}ENGINE(){return this.getToken(FC.ENGINE,0)}engineName(){return this.getRuleContext(0,yx)}STATUS(){return this.getToken(FC.STATUS,0)}MUTEX(){return this.getToken(FC.MUTEX,0)}accept(t){return t.visitShowEngine?t.visitShowEngine(this):t.visitChildren(this)}},Pg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}showSchemaEntity(){return this.getRuleContext(0,yg)}uid(){return this.getRuleContext(0,Vx)}showFilter(){return this.getRuleContext(0,vg)}FROM(){return this.getToken(FC.FROM,0)}IN(){return this.getToken(FC.IN,0)}accept(t){return t.visitShowSchemaFilter?t.visitShowSchemaFilter(this):t.visitChildren(this)}},Mg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}tableName(){return this.getRuleContext(0,lx)}INDEX(){return this.getToken(FC.INDEX,0)}INDEXES(){return this.getToken(FC.INDEXES,0)}KEYS(){return this.getToken(FC.KEYS,0)}FROM(t){return void 0===t?this.getTokens(FC.FROM):this.getToken(FC.FROM,t)}IN(t){return void 0===t?this.getTokens(FC.IN):this.getToken(FC.IN,t)}uid(){return this.getRuleContext(0,Vx)}WHERE(){return this.getToken(FC.WHERE,0)}expression(){return this.getRuleContext(0,NH)}accept(t){return t.visitShowIndexes?t.visitShowIndexes(this):t.visitChildren(this)}},dg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}EVENTS(){return this.getToken(FC.EVENTS,0)}BINLOG(){return this.getToken(FC.BINLOG,0)}RELAYLOG(){return this.getToken(FC.RELAYLOG,0)}IN(){return this.getToken(FC.IN,0)}FROM(){return this.getToken(FC.FROM,0)}LIMIT(){return this.getToken(FC.LIMIT,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}decimalLiteral(t){return void 0===t?this.getRuleContexts(Qx):this.getRuleContext(t,Qx)}COMMA(){return this.getToken(FC.COMMA,0)}accept(t){return t.visitShowLogEvents?t.visitShowLogEvents(this):t.visitChildren(this)}},Ug=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}CREATE(){return this.getToken(FC.CREATE,0)}TRIGGER(){return this.getToken(FC.TRIGGER,0)}triggerName(){return this.getRuleContext(0,mx)}accept(t){return t.visitShowCreateTrigger?t.visitShowCreateTrigger(this):t.visitChildren(this)}},mg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}LOGS(){return this.getToken(FC.LOGS,0)}BINARY(){return this.getToken(FC.BINARY,0)}MASTER(){return this.getToken(FC.MASTER,0)}accept(t){return t.visitShowMasterLogs?t.visitShowMasterLogs(this):t.visitChildren(this)}},Dg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}GRANTS(){return this.getToken(FC.GRANTS,0)}FOR(){return this.getToken(FC.FOR,0)}userName(){return this.getRuleContext(0,Gx)}accept(t){return t.visitShowGrants?t.visitShowGrants(this):t.visitChildren(this)}},pg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}SLAVE(){return this.getToken(FC.SLAVE,0)}STATUS(){return this.getToken(FC.STATUS,0)}FOR(){return this.getToken(FC.FOR,0)}CHANNEL(){return this.getToken(FC.CHANNEL,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitShowSlaveStatus?t.visitShowSlaveStatus(this):t.visitChildren(this)}},gg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}CODE(){return this.getToken(FC.CODE,0)}fullId(){return this.getRuleContext(0,Sx)}FUNCTION(){return this.getToken(FC.FUNCTION,0)}PROCEDURE(){return this.getToken(FC.PROCEDURE,0)}accept(t){return t.visitShowRoutine?t.visitShowRoutine(this):t.visitChildren(this)}},xg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}PROFILE(){return this.getToken(FC.PROFILE,0)}showProfileType(t){return void 0===t?this.getRuleContexts(fg):this.getRuleContext(t,fg)}LIMIT(){return this.getToken(FC.LIMIT,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}FOR(){return this.getToken(FC.FOR,0)}QUERY(){return this.getToken(FC.QUERY,0)}decimalLiteral(t){return void 0===t?this.getRuleContexts(Qx):this.getRuleContext(t,Qx)}accept(t){return t.visitShowProfile?t.visitShowProfile(this):t.visitChildren(this)}},kg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}tableName(){return this.getRuleContext(0,lx)}COLUMNS(){return this.getToken(FC.COLUMNS,0)}FIELDS(){return this.getToken(FC.FIELDS,0)}FROM(t){return void 0===t?this.getTokens(FC.FROM):this.getToken(FC.FROM,t)}IN(t){return void 0===t?this.getTokens(FC.IN):this.getToken(FC.IN,t)}FULL(){return this.getToken(FC.FULL,0)}uid(){return this.getRuleContext(0,Vx)}showFilter(){return this.getRuleContext(0,vg)}accept(t){return t.visitShowColumns?t.visitShowColumns(this):t.visitChildren(this)}},Hg=class extends Ag{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(FC.SHOW,0)}CREATE(){return this.getToken(FC.CREATE,0)}tableName(){return this.getRuleContext(0,lx)}TABLE(){return this.getToken(FC.TABLE,0)}VIEW(){return this.getToken(FC.VIEW,0)}accept(t){return t.visitShowCreateTableOrView?t.visitShowCreateTableOrView(this):t.visitChildren(this)}},Gg=class extends ga{constructor(t,e){super(t,e)}LOCAL_ID(){return this.getToken(FC.LOCAL_ID,0)}GLOBAL_ID(){return this.getToken(FC.GLOBAL_ID,0)}uid(){return this.getRuleContext(0,Vx)}GLOBAL(){return this.getToken(FC.GLOBAL,0)}SESSION(){return this.getToken(FC.SESSION,0)}LOCAL(){return this.getToken(FC.LOCAL,0)}AT_SIGN(t){return void 0===t?this.getTokens(FC.AT_SIGN):this.getToken(FC.AT_SIGN,t)}get ruleIndex(){return FC.RULE_variableClause}accept(t){return t.visitVariableClause?t.visitVariableClause(this):t.visitChildren(this)}},Fg=class extends ga{constructor(t,e){super(t,e)}CHARACTER(){return this.getToken(FC.CHARACTER,0)}SET(){return this.getToken(FC.SET,0)}COLLATION(){return this.getToken(FC.COLLATION,0)}DATABASES(){return this.getToken(FC.DATABASES,0)}SCHEMAS(){return this.getToken(FC.SCHEMAS,0)}FUNCTION(){return this.getToken(FC.FUNCTION,0)}STATUS(){return this.getToken(FC.STATUS,0)}PROCEDURE(){return this.getToken(FC.PROCEDURE,0)}VARIABLES(){return this.getToken(FC.VARIABLES,0)}GLOBAL(){return this.getToken(FC.GLOBAL,0)}SESSION(){return this.getToken(FC.SESSION,0)}get ruleIndex(){return FC.RULE_showCommonEntity}accept(t){return t.visitShowCommonEntity?t.visitShowCommonEntity(this):t.visitChildren(this)}},vg=class extends ga{constructor(t,e){super(t,e)}LIKE(){return this.getToken(FC.LIKE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}WHERE(){return this.getToken(FC.WHERE,0)}expression(){return this.getRuleContext(0,NH)}get ruleIndex(){return FC.RULE_showFilter}accept(t){return t.visitShowFilter?t.visitShowFilter(this):t.visitChildren(this)}},Bg=class extends ga{constructor(t,e){super(t,e)}ENGINES(){return this.getToken(FC.ENGINES,0)}STORAGE(){return this.getToken(FC.STORAGE,0)}MASTER(){return this.getToken(FC.MASTER,0)}STATUS(){return this.getToken(FC.STATUS,0)}PLUGINS(){return this.getToken(FC.PLUGINS,0)}PRIVILEGES(){return this.getToken(FC.PRIVILEGES,0)}PROCESSLIST(){return this.getToken(FC.PROCESSLIST,0)}FULL(){return this.getToken(FC.FULL,0)}PROFILES(){return this.getToken(FC.PROFILES,0)}SLAVE(){return this.getToken(FC.SLAVE,0)}HOSTS(){return this.getToken(FC.HOSTS,0)}AUTHORS(){return this.getToken(FC.AUTHORS,0)}CONTRIBUTORS(){return this.getToken(FC.CONTRIBUTORS,0)}get ruleIndex(){return FC.RULE_showGlobalInfoClause}accept(t){return t.visitShowGlobalInfoClause?t.visitShowGlobalInfoClause(this):t.visitChildren(this)}},yg=class extends ga{constructor(t,e){super(t,e)}EVENTS(){return this.getToken(FC.EVENTS,0)}TABLE(){return this.getToken(FC.TABLE,0)}STATUS(){return this.getToken(FC.STATUS,0)}TABLES(){return this.getToken(FC.TABLES,0)}FULL(){return this.getToken(FC.FULL,0)}TRIGGERS(){return this.getToken(FC.TRIGGERS,0)}get ruleIndex(){return FC.RULE_showSchemaEntity}accept(t){return t.visitShowSchemaEntity?t.visitShowSchemaEntity(this):t.visitChildren(this)}},fg=class extends ga{constructor(t,e){super(t,e)}ALL(){return this.getToken(FC.ALL,0)}BLOCK(){return this.getToken(FC.BLOCK,0)}IO(){return this.getToken(FC.IO,0)}CONTEXT(){return this.getToken(FC.CONTEXT,0)}SWITCHES(){return this.getToken(FC.SWITCHES,0)}CPU(){return this.getToken(FC.CPU,0)}IPC(){return this.getToken(FC.IPC,0)}MEMORY(){return this.getToken(FC.MEMORY,0)}PAGE(){return this.getToken(FC.PAGE,0)}FAULTS(){return this.getToken(FC.FAULTS,0)}SOURCE(){return this.getToken(FC.SOURCE,0)}SWAPS(){return this.getToken(FC.SWAPS,0)}get ruleIndex(){return FC.RULE_showProfileType}accept(t){return t.visitShowProfileType?t.visitShowProfileType(this):t.visitChildren(this)}},Yg=class extends ga{constructor(t,e){super(t,e)}BINLOG(){return this.getToken(FC.BINLOG,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_binlogStatement}accept(t){return t.visitBinlogStatement?t.visitBinlogStatement(this):t.visitChildren(this)}},wg=class extends ga{constructor(t,e){super(t,e)}CACHE(){return this.getToken(FC.CACHE,0)}INDEX(){return this.getToken(FC.INDEX,0)}tableIndexes(t){return void 0===t?this.getRuleContexts(Qg):this.getRuleContext(t,Qg)}IN(){return this.getToken(FC.IN,0)}uid(){return this.getRuleContext(0,Vx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}PARTITION(){return this.getToken(FC.PARTITION,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}uidList(){return this.getRuleContext(0,lk)}ALL(){return this.getToken(FC.ALL,0)}get ruleIndex(){return FC.RULE_cacheIndexStatement}accept(t){return t.visitCacheIndexStatement?t.visitCacheIndexStatement(this):t.visitChildren(this)}},bg=class extends ga{constructor(t,e){super(t,e)}FLUSH(){return this.getToken(FC.FLUSH,0)}flushOption(t){return void 0===t?this.getRuleContexts(Jg):this.getRuleContext(t,Jg)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}NO_WRITE_TO_BINLOG(){return this.getToken(FC.NO_WRITE_TO_BINLOG,0)}LOCAL(){return this.getToken(FC.LOCAL,0)}get ruleIndex(){return FC.RULE_flushStatement}accept(t){return t.visitFlushStatement?t.visitFlushStatement(this):t.visitChildren(this)}},Wg=class extends ga{constructor(t,e){super(t,e)}KILL(){return this.getToken(FC.KILL,0)}expression(){return this.getRuleContext(0,NH)}CONNECTION(){return this.getToken(FC.CONNECTION,0)}QUERY(){return this.getToken(FC.QUERY,0)}get ruleIndex(){return FC.RULE_killStatement}accept(t){return t.visitKillStatement?t.visitKillStatement(this):t.visitChildren(this)}},Vg=class extends ga{constructor(t,e){super(t,e)}LOAD(){return this.getToken(FC.LOAD,0)}INDEX(){return this.getToken(FC.INDEX,0)}INTO(){return this.getToken(FC.INTO,0)}CACHE(){return this.getToken(FC.CACHE,0)}loadedTableIndexes(t){return void 0===t?this.getRuleContexts($g):this.getRuleContext(t,$g)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_loadIndexIntoCache}accept(t){return t.visitLoadIndexIntoCache?t.visitLoadIndexIntoCache(this):t.visitChildren(this)}},Xg=class extends ga{constructor(t,e){super(t,e)}RESET(){return this.getToken(FC.RESET,0)}QUERY(){return this.getToken(FC.QUERY,0)}CACHE(){return this.getToken(FC.CACHE,0)}get ruleIndex(){return FC.RULE_resetStatement}accept(t){return t.visitResetStatement?t.visitResetStatement(this):t.visitChildren(this)}},Kg=class extends ga{constructor(t,e){super(t,e)}SHUTDOWN(){return this.getToken(FC.SHUTDOWN,0)}get ruleIndex(){return FC.RULE_shutdownStatement}accept(t){return t.visitShutdownStatement?t.visitShutdownStatement(this):t.visitChildren(this)}},Qg=class extends ga{constructor(t,e){super(t,e)}tableName(){return this.getRuleContext(0,lx)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}indexNameList(){return this.getRuleContext(0,Dx)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}get ruleIndex(){return FC.RULE_tableIndexes}accept(t){return t.visitTableIndexes?t.visitTableIndexes(this):t.visitChildren(this)}},Jg=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_flushOption}copyFrom(t){super.copyFrom(t)}},Zg=class extends Jg{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}TABLE(){return this.getToken(FC.TABLE,0)}TABLES(){return this.getToken(FC.TABLES,0)}tables(){return this.getRuleContext(0,Ik)}flushTableOption(){return this.getRuleContext(0,zg)}accept(t){return t.visitTableFlushOption?t.visitTableFlushOption(this):t.visitChildren(this)}},qg=class extends Jg{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}RELAY(){return this.getToken(FC.RELAY,0)}LOGS(){return this.getToken(FC.LOGS,0)}channelOption(){return this.getRuleContext(0,sD)}accept(t){return t.visitChannelFlushOption?t.visitChannelFlushOption(this):t.visitChildren(this)}},jg=class extends Jg{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DES_KEY_FILE(){return this.getToken(FC.DES_KEY_FILE,0)}HOSTS(){return this.getToken(FC.HOSTS,0)}LOGS(){return this.getToken(FC.LOGS,0)}OPTIMIZER_COSTS(){return this.getToken(FC.OPTIMIZER_COSTS,0)}PRIVILEGES(){return this.getToken(FC.PRIVILEGES,0)}QUERY(){return this.getToken(FC.QUERY,0)}CACHE(){return this.getToken(FC.CACHE,0)}STATUS(){return this.getToken(FC.STATUS,0)}USER_RESOURCES(){return this.getToken(FC.USER_RESOURCES,0)}TABLES(){return this.getToken(FC.TABLES,0)}WITH(){return this.getToken(FC.WITH,0)}READ(){return this.getToken(FC.READ,0)}LOCK(){return this.getToken(FC.LOCK,0)}BINARY(){return this.getToken(FC.BINARY,0)}ENGINE(){return this.getToken(FC.ENGINE,0)}ERROR(){return this.getToken(FC.ERROR,0)}GENERAL(){return this.getToken(FC.GENERAL,0)}RELAY(){return this.getToken(FC.RELAY,0)}SLOW(){return this.getToken(FC.SLOW,0)}accept(t){return t.visitSimpleFlushOption?t.visitSimpleFlushOption(this):t.visitChildren(this)}},zg=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(FC.WITH,0)}READ(){return this.getToken(FC.READ,0)}LOCK(){return this.getToken(FC.LOCK,0)}FOR(){return this.getToken(FC.FOR,0)}EXPORT(){return this.getToken(FC.EXPORT,0)}get ruleIndex(){return FC.RULE_flushTableOption}accept(t){return t.visitFlushTableOption?t.visitFlushTableOption(this):t.visitChildren(this)}},$g=class extends ga{constructor(t,e){super(t,e)}tableName(){return this.getRuleContext(0,lx)}PARTITION(){return this.getToken(FC.PARTITION,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}indexNameList(){return this.getRuleContext(0,Dx)}IGNORE(){return this.getToken(FC.IGNORE,0)}LEAVES(){return this.getToken(FC.LEAVES,0)}ALL(){return this.getToken(FC.ALL,0)}uidList(){return this.getRuleContext(0,lk)}INDEX(){return this.getToken(FC.INDEX,0)}KEY(){return this.getToken(FC.KEY,0)}get ruleIndex(){return FC.RULE_loadedTableIndexes}accept(t){return t.visitLoadedTableIndexes?t.visitLoadedTableIndexes(this):t.visitChildren(this)}},tx=class extends ga{constructor(t,e){super(t,e)}tableName(){return this.getRuleContext(0,lx)}EXPLAIN(){return this.getToken(FC.EXPLAIN,0)}DESCRIBE(){return this.getToken(FC.DESCRIBE,0)}DESC(){return this.getToken(FC.DESC,0)}uid(){return this.getRuleContext(0,Vx)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_simpleDescribeStatement}accept(t){return t.visitSimpleDescribeStatement?t.visitSimpleDescribeStatement(this):t.visitChildren(this)}},ex=class extends ga{constructor(t,e){super(t,e)}describeObjectClause(){return this.getRuleContext(0,ox)}EXPLAIN(){return this.getToken(FC.EXPLAIN,0)}DESCRIBE(){return this.getToken(FC.DESCRIBE,0)}DESC(){return this.getToken(FC.DESC,0)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}EXTENDED(){return this.getToken(FC.EXTENDED,0)}PARTITIONS(){return this.getToken(FC.PARTITIONS,0)}FORMAT(){return this.getToken(FC.FORMAT,0)}TRADITIONAL(){return this.getToken(FC.TRADITIONAL,0)}JSON(){return this.getToken(FC.JSON,0)}get ruleIndex(){return FC.RULE_fullDescribeStatement}accept(t){return t.visitFullDescribeStatement?t.visitFullDescribeStatement(this):t.visitChildren(this)}},sx=class extends ga{constructor(t,e){super(t,e)}HELP(){return this.getToken(FC.HELP,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_helpStatement}accept(t){return t.visitHelpStatement?t.visitHelpStatement(this):t.visitChildren(this)}},ax=class extends ga{constructor(t,e){super(t,e)}USE(){return this.getToken(FC.USE,0)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_useStatement}accept(t){return t.visitUseStatement?t.visitUseStatement(this):t.visitChildren(this)}},rx=class extends ga{constructor(t,e){super(t,e)}SIGNAL(){return this.getToken(FC.SIGNAL,0)}ID(){return this.getToken(FC.ID,0)}REVERSE_QUOTE_ID(){return this.getToken(FC.REVERSE_QUOTE_ID,0)}SET(){return this.getToken(FC.SET,0)}signalConditionInformation(t){return void 0===t?this.getRuleContexts(cx):this.getRuleContext(t,cx)}SQLSTATE(){return this.getToken(FC.SQLSTATE,0)}stringLiteral(){return this.getRuleContext(0,Zx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}VALUE(){return this.getToken(FC.VALUE,0)}get ruleIndex(){return FC.RULE_signalStatement}accept(t){return t.visitSignalStatement?t.visitSignalStatement(this):t.visitChildren(this)}},ix=class extends ga{constructor(t,e){super(t,e)}RESIGNAL(){return this.getToken(FC.RESIGNAL,0)}ID(){return this.getToken(FC.ID,0)}REVERSE_QUOTE_ID(){return this.getToken(FC.REVERSE_QUOTE_ID,0)}SET(){return this.getToken(FC.SET,0)}signalConditionInformation(t){return void 0===t?this.getRuleContexts(cx):this.getRuleContext(t,cx)}SQLSTATE(){return this.getToken(FC.SQLSTATE,0)}stringLiteral(){return this.getRuleContext(0,Zx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}VALUE(){return this.getToken(FC.VALUE,0)}get ruleIndex(){return FC.RULE_resignalStatement}accept(t){return t.visitResignalStatement?t.visitResignalStatement(this):t.visitChildren(this)}},cx=class extends ga{constructor(t,e){super(t,e)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}CLASS_ORIGIN(){return this.getToken(FC.CLASS_ORIGIN,0)}SUBCLASS_ORIGIN(){return this.getToken(FC.SUBCLASS_ORIGIN,0)}MESSAGE_TEXT(){return this.getToken(FC.MESSAGE_TEXT,0)}MYSQL_ERRNO(){return this.getToken(FC.MYSQL_ERRNO,0)}CONSTRAINT_CATALOG(){return this.getToken(FC.CONSTRAINT_CATALOG,0)}CONSTRAINT_SCHEMA(){return this.getToken(FC.CONSTRAINT_SCHEMA,0)}CONSTRAINT_NAME(){return this.getToken(FC.CONSTRAINT_NAME,0)}CATALOG_NAME(){return this.getToken(FC.CATALOG_NAME,0)}SCHEMA_NAME(){return this.getToken(FC.SCHEMA_NAME,0)}TABLE_NAME(){return this.getToken(FC.TABLE_NAME,0)}COLUMN_NAME(){return this.getToken(FC.COLUMN_NAME,0)}CURSOR_NAME(){return this.getToken(FC.CURSOR_NAME,0)}stringLiteral(){return this.getRuleContext(0,Zx)}DECIMAL_LITERAL(){return this.getToken(FC.DECIMAL_LITERAL,0)}mysqlVariable(){return this.getRuleContext(0,Fx)}simpleId(){return this.getRuleContext(0,Xx)}get ruleIndex(){return FC.RULE_signalConditionInformation}accept(t){return t.visitSignalConditionInformation?t.visitSignalConditionInformation(this):t.visitChildren(this)}},nx=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(FC.WITH,0)}commonTableExpressions(t){return void 0===t?this.getRuleContexts(E_):this.getRuleContext(t,E_)}RECURSIVE(){return this.getToken(FC.RECURSIVE,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_withStatement}accept(t){return t.visitWithStatement?t.visitWithStatement(this):t.visitChildren(this)}},hx=class extends ga{constructor(t,e){super(t,e)}TABLE(){return this.getToken(FC.TABLE,0)}tableName(){return this.getRuleContext(0,lx)}orderByClause(){return this.getRuleContext(0,MU)}limitClause(){return this.getRuleContext(0,Lm)}get ruleIndex(){return FC.RULE_tableStatement}accept(t){return t.visitTableStatement?t.visitTableStatement(this):t.visitChildren(this)}},Ex=class extends ga{constructor(t,e){super(t,e)}GET(){return this.getToken(FC.GET,0)}DIAGNOSTICS(){return this.getToken(FC.DIAGNOSTICS,0)}CURRENT(){return this.getToken(FC.CURRENT,0)}STACKED(){return this.getToken(FC.STACKED,0)}variableClause(t){return void 0===t?this.getRuleContexts(Gg):this.getRuleContext(t,Gg)}EQUAL_SYMBOL(t){return void 0===t?this.getTokens(FC.EQUAL_SYMBOL):this.getToken(FC.EQUAL_SYMBOL,t)}CONDITION(){return this.getToken(FC.CONDITION,0)}diagnosticsConditionInformationName(t){return void 0===t?this.getRuleContexts(Tx):this.getRuleContext(t,Tx)}NUMBER(t){return void 0===t?this.getTokens(FC.NUMBER):this.getToken(FC.NUMBER,t)}ROW_COUNT(t){return void 0===t?this.getTokens(FC.ROW_COUNT):this.getToken(FC.ROW_COUNT,t)}decimalLiteral(){return this.getRuleContext(0,Qx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_diagnosticsStatement}accept(t){return t.visitDiagnosticsStatement?t.visitDiagnosticsStatement(this):t.visitChildren(this)}},Tx=class extends ga{constructor(t,e){super(t,e)}CLASS_ORIGIN(){return this.getToken(FC.CLASS_ORIGIN,0)}SUBCLASS_ORIGIN(){return this.getToken(FC.SUBCLASS_ORIGIN,0)}RETURNED_SQLSTATE(){return this.getToken(FC.RETURNED_SQLSTATE,0)}MESSAGE_TEXT(){return this.getToken(FC.MESSAGE_TEXT,0)}MYSQL_ERRNO(){return this.getToken(FC.MYSQL_ERRNO,0)}CONSTRAINT_CATALOG(){return this.getToken(FC.CONSTRAINT_CATALOG,0)}CONSTRAINT_SCHEMA(){return this.getToken(FC.CONSTRAINT_SCHEMA,0)}CONSTRAINT_NAME(){return this.getToken(FC.CONSTRAINT_NAME,0)}CATALOG_NAME(){return this.getToken(FC.CATALOG_NAME,0)}SCHEMA_NAME(){return this.getToken(FC.SCHEMA_NAME,0)}TABLE_NAME(){return this.getToken(FC.TABLE_NAME,0)}COLUMN_NAME(){return this.getToken(FC.COLUMN_NAME,0)}CURSOR_NAME(){return this.getToken(FC.CURSOR_NAME,0)}get ruleIndex(){return FC.RULE_diagnosticsConditionInformationName}accept(t){return t.visitDiagnosticsConditionInformationName?t.visitDiagnosticsConditionInformationName(this):t.visitChildren(this)}},ox=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_describeObjectClause}copyFrom(t){super.copyFrom(t)}},Rx=class extends ox{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}selectStatement(){return this.getRuleContext(0,rU)}deleteStatement(){return this.getRuleContext(0,jd)}insertStatement(){return this.getRuleContext(0,tU)}replaceStatement(){return this.getRuleContext(0,aU)}updateStatement(){return this.getRuleContext(0,TU)}accept(t){return t.visitDescribeStatements?t.visitDescribeStatements(this):t.visitChildren(this)}},Ax=class extends ox{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}FOR(){return this.getToken(FC.FOR,0)}CONNECTION(){return this.getToken(FC.CONNECTION,0)}uid(){return this.getRuleContext(0,Vx)}accept(t){return t.visitDescribeConnection?t.visitDescribeConnection(this):t.visitChildren(this)}},Sx=class extends ga{constructor(t,e){super(t,e)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}DOT_ID(){return this.getToken(FC.DOT_ID,0)}DOT(){return this.getToken(FC.DOT,0)}get ruleIndex(){return FC.RULE_fullId}accept(t){return t.visitFullId?t.visitFullId(this):t.visitChildren(this)}},lx=class extends ga{constructor(t,e){super(t,e)}fullId(){return this.getRuleContext(0,Sx)}get ruleIndex(){return FC.RULE_tableName}accept(t){return t.visitTableName?t.visitTableName(this):t.visitChildren(this)}},Ox=class extends ga{constructor(t,e){super(t,e)}tableName(t){return void 0===t?this.getRuleContexts(lx):this.getRuleContext(t,lx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_tableNames}accept(t){return t.visitTableNames?t.visitTableNames(this):t.visitChildren(this)}},Ix=class extends ga{constructor(t,e){super(t,e)}userName(){return this.getRuleContext(0,Gx)}roleName(){return this.getRuleContext(0,_x)}get ruleIndex(){return FC.RULE_userOrRoleName}accept(t){return t.visitUserOrRoleName?t.visitUserOrRoleName(this):t.visitChildren(this)}},ux=class extends ga{constructor(t,e){super(t,e)}userOrRoleName(t){return void 0===t?this.getRuleContexts(Ix):this.getRuleContext(t,Ix)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_userOrRoleNameList}accept(t){return t.visitUserOrRoleNameList?t.visitUserOrRoleNameList(this):t.visitChildren(this)}},Nx=class extends ga{constructor(t,e){super(t,e)}newRoleName(t){return void 0===t?this.getRuleContexts(Lx):this.getRuleContext(t,Lx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_newRoleNameList}accept(t){return t.visitNewRoleNameList?t.visitNewRoleNameList(this):t.visitChildren(this)}},Lx=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_newRoleName}accept(t){return t.visitNewRoleName?t.visitNewRoleName(this):t.visitChildren(this)}},Cx=class extends ga{constructor(t,e){super(t,e)}roleName(t){return void 0===t?this.getRuleContexts(_x):this.getRuleContext(t,_x)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_roleNameList}accept(t){return t.visitRoleNameList?t.visitRoleNameList(this):t.visitChildren(this)}},_x=class extends ga{constructor(t,e){super(t,e)}newRoleName(){return this.getRuleContext(0,Lx)}get ruleIndex(){return FC.RULE_roleName}accept(t){return t.visitRoleName?t.visitRoleName(this):t.visitChildren(this)}},Px=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}dottedId(t){return void 0===t?this.getRuleContexts(Kx):this.getRuleContext(t,Kx)}get ruleIndex(){return FC.RULE_fullColumnName}accept(t){return t.visitFullColumnName?t.visitFullColumnName(this):t.visitChildren(this)}},Mx=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_databaseName}accept(t){return t.visitDatabaseName?t.visitDatabaseName(this):t.visitChildren(this)}},dx=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_indexName}accept(t){return t.visitIndexName?t.visitIndexName(this):t.visitChildren(this)}},Ux=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_constraintName}accept(t){return t.visitConstraintName?t.visitConstraintName(this):t.visitChildren(this)}},mx=class extends ga{constructor(t,e){super(t,e)}fullId(){return this.getRuleContext(0,Sx)}get ruleIndex(){return FC.RULE_triggerName}accept(t){return t.visitTriggerName?t.visitTriggerName(this):t.visitChildren(this)}},Dx=class extends ga{constructor(t,e){super(t,e)}indexName(t){return void 0===t?this.getRuleContexts(dx):this.getRuleContext(t,dx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_indexNameList}accept(t){return t.visitIndexNameList?t.visitIndexNameList(this):t.visitChildren(this)}},px=class extends ga{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,NH)}uid(){return this.getRuleContext(0,Vx)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}ASC(){return this.getToken(FC.ASC,0)}DESC(){return this.getToken(FC.DESC,0)}get ruleIndex(){return FC.RULE_indexColumnName}accept(t){return t.visitIndexColumnName?t.visitIndexColumnName(this):t.visitChildren(this)}},gx=class extends ga{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}ID(){return this.getToken(FC.ID,0)}ADMIN(){return this.getToken(FC.ADMIN,0)}keywordsCanBeId(){return this.getRuleContext(0,TG)}get ruleIndex(){return FC.RULE_simpleUserName}accept(t){return t.visitSimpleUserName?t.visitSimpleUserName(this):t.visitChildren(this)}},xx=class extends ga{constructor(t,e){super(t,e)}LOCAL_ID(){return this.getToken(FC.LOCAL_ID,0)}HOST_IP_ADDRESS(){return this.getToken(FC.HOST_IP_ADDRESS,0)}AT_SIGN(){return this.getToken(FC.AT_SIGN,0)}get ruleIndex(){return FC.RULE_hostName}accept(t){return t.visitHostName?t.visitHostName(this):t.visitChildren(this)}},kx=class extends ga{constructor(t,e){super(t,e)}userName(t){return void 0===t?this.getRuleContexts(Gx):this.getRuleContext(t,Gx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_userNameList}accept(t){return t.visitUserNameList?t.visitUserNameList(this):t.visitChildren(this)}},Hx=class extends ga{constructor(t,e){super(t,e)}simpleUserName(){return this.getRuleContext(0,gx)}hostName(){return this.getRuleContext(0,xx)}currentUserExpression(){return this.getRuleContext(0,l_)}get ruleIndex(){return FC.RULE_newUserName}accept(t){return t.visitNewUserName?t.visitNewUserName(this):t.visitChildren(this)}},Gx=class extends ga{constructor(t,e){super(t,e)}newUserName(){return this.getRuleContext(0,Hx)}get ruleIndex(){return FC.RULE_userName}accept(t){return t.visitUserName?t.visitUserName(this):t.visitChildren(this)}},Fx=class extends ga{constructor(t,e){super(t,e)}LOCAL_ID(){return this.getToken(FC.LOCAL_ID,0)}GLOBAL_ID(){return this.getToken(FC.GLOBAL_ID,0)}get ruleIndex(){return FC.RULE_mysqlVariable}accept(t){return t.visitMysqlVariable?t.visitMysqlVariable(this):t.visitChildren(this)}},vx=class extends ga{constructor(t,e){super(t,e)}BINARY(){return this.getToken(FC.BINARY,0)}charsetNameBase(){return this.getRuleContext(0,iG)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}CHARSET_REVERSE_QOUTE_STRING(){return this.getToken(FC.CHARSET_REVERSE_QOUTE_STRING,0)}get ruleIndex(){return FC.RULE_charsetName}accept(t){return t.visitCharsetName?t.visitCharsetName(this):t.visitChildren(this)}},Bx=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_collationName}accept(t){return t.visitCollationName?t.visitCollationName(this):t.visitChildren(this)}},yx=class extends ga{constructor(t,e){super(t,e)}engineNameBase(){return this.getRuleContext(0,fx)}ID(){return this.getToken(FC.ID,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_engineName}accept(t){return t.visitEngineName?t.visitEngineName(this):t.visitChildren(this)}},fx=class extends ga{constructor(t,e){super(t,e)}ARCHIVE(){return this.getToken(FC.ARCHIVE,0)}BLACKHOLE(){return this.getToken(FC.BLACKHOLE,0)}CONNECT(){return this.getToken(FC.CONNECT,0)}CSV(){return this.getToken(FC.CSV,0)}FEDERATED(){return this.getToken(FC.FEDERATED,0)}INNODB(){return this.getToken(FC.INNODB,0)}MEMORY(){return this.getToken(FC.MEMORY,0)}MRG_MYISAM(){return this.getToken(FC.MRG_MYISAM,0)}MYISAM(){return this.getToken(FC.MYISAM,0)}NDB(){return this.getToken(FC.NDB,0)}NDBCLUSTER(){return this.getToken(FC.NDBCLUSTER,0)}PERFORMANCE_SCHEMA(){return this.getToken(FC.PERFORMANCE_SCHEMA,0)}TOKUDB(){return this.getToken(FC.TOKUDB,0)}get ruleIndex(){return FC.RULE_engineNameBase}accept(t){return t.visitEngineNameBase?t.visitEngineNameBase(this):t.visitChildren(this)}},Yx=class extends ga{constructor(t,e){super(t,e)}decimalLiteral(t){return void 0===t?this.getRuleContexts(Qx):this.getRuleContext(t,Qx)}MINUS(t){return void 0===t?this.getTokens(FC.MINUS):this.getToken(FC.MINUS,t)}COLON_SYMB(t){return void 0===t?this.getTokens(FC.COLON_SYMB):this.getToken(FC.COLON_SYMB,t)}get ruleIndex(){return FC.RULE_uuidSet}accept(t){return t.visitUuidSet?t.visitUuidSet(this):t.visitChildren(this)}},wx=class extends ga{constructor(t,e){super(t,e)}xuidStringId(t){return void 0===t?this.getRuleContexts(bx):this.getRuleContext(t,bx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}decimalLiteral(){return this.getRuleContext(0,Qx)}get ruleIndex(){return FC.RULE_xid}accept(t){return t.visitXid?t.visitXid(this):t.visitChildren(this)}},bx=class extends ga{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}BIT_STRING(){return this.getToken(FC.BIT_STRING,0)}HEXADECIMAL_LITERAL(t){return void 0===t?this.getTokens(FC.HEXADECIMAL_LITERAL):this.getToken(FC.HEXADECIMAL_LITERAL,t)}get ruleIndex(){return FC.RULE_xuidStringId}accept(t){return t.visitXuidStringId?t.visitXuidStringId(this):t.visitChildren(this)}},Wx=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_authPlugin}accept(t){return t.visitAuthPlugin?t.visitAuthPlugin(this):t.visitChildren(this)}},Vx=class extends ga{constructor(t,e){super(t,e)}simpleId(){return this.getRuleContext(0,Xx)}CHARSET_REVERSE_QOUTE_STRING(){return this.getToken(FC.CHARSET_REVERSE_QOUTE_STRING,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}get ruleIndex(){return FC.RULE_uid}accept(t){return t.visitUid?t.visitUid(this):t.visitChildren(this)}},Xx=class extends ga{constructor(t,e){super(t,e)}ID(){return this.getToken(FC.ID,0)}charsetNameBase(){return this.getRuleContext(0,iG)}transactionLevelBase(){return this.getRuleContext(0,cG)}engineNameBase(){return this.getRuleContext(0,fx)}privilegesBase(){return this.getRuleContext(0,nG)}intervalTypeBase(){return this.getRuleContext(0,hG)}dataTypeBase(){return this.getRuleContext(0,EG)}keywordsCanBeId(){return this.getRuleContext(0,TG)}scalarFunctionName(){return this.getRuleContext(0,lH)}get ruleIndex(){return FC.RULE_simpleId}accept(t){return t.visitSimpleId?t.visitSimpleId(this):t.visitChildren(this)}},Kx=class extends ga{constructor(t,e){super(t,e)}DOT_ID(){return this.getToken(FC.DOT_ID,0)}DOT(){return this.getToken(FC.DOT,0)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_dottedId}accept(t){return t.visitDottedId?t.visitDottedId(this):t.visitChildren(this)}},Qx=class extends ga{constructor(t,e){super(t,e)}DECIMAL_LITERAL(){return this.getToken(FC.DECIMAL_LITERAL,0)}ZERO_DECIMAL(){return this.getToken(FC.ZERO_DECIMAL,0)}ONE_DECIMAL(){return this.getToken(FC.ONE_DECIMAL,0)}TWO_DECIMAL(){return this.getToken(FC.TWO_DECIMAL,0)}REAL_LITERAL(){return this.getToken(FC.REAL_LITERAL,0)}get ruleIndex(){return FC.RULE_decimalLiteral}accept(t){return t.visitDecimalLiteral?t.visitDecimalLiteral(this):t.visitChildren(this)}},Jx=class extends ga{constructor(t,e){super(t,e)}FILESIZE_LITERAL(){return this.getToken(FC.FILESIZE_LITERAL,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}get ruleIndex(){return FC.RULE_fileSizeLiteral}accept(t){return t.visitFileSizeLiteral?t.visitFileSizeLiteral(this):t.visitChildren(this)}},Zx=class extends ga{constructor(t,e){super(t,e)}STRING_LITERAL(t){return void 0===t?this.getTokens(FC.STRING_LITERAL):this.getToken(FC.STRING_LITERAL,t)}START_NATIONAL_STRING_LITERAL(){return this.getToken(FC.START_NATIONAL_STRING_LITERAL,0)}STRING_CHARSET_NAME(){return this.getToken(FC.STRING_CHARSET_NAME,0)}COLLATE(){return this.getToken(FC.COLLATE,0)}collationName(){return this.getRuleContext(0,Bx)}get ruleIndex(){return FC.RULE_stringLiteral}accept(t){return t.visitStringLiteral?t.visitStringLiteral(this):t.visitChildren(this)}},qx=class extends ga{constructor(t,e){super(t,e)}TRUE(){return this.getToken(FC.TRUE,0)}FALSE(){return this.getToken(FC.FALSE,0)}get ruleIndex(){return FC.RULE_booleanLiteral}accept(t){return t.visitBooleanLiteral?t.visitBooleanLiteral(this):t.visitChildren(this)}},jx=class extends ga{constructor(t,e){super(t,e)}HEXADECIMAL_LITERAL(){return this.getToken(FC.HEXADECIMAL_LITERAL,0)}STRING_CHARSET_NAME(){return this.getToken(FC.STRING_CHARSET_NAME,0)}get ruleIndex(){return FC.RULE_hexadecimalLiteral}accept(t){return t.visitHexadecimalLiteral?t.visitHexadecimalLiteral(this):t.visitChildren(this)}},zx=class extends ga{constructor(t,e){super(t,e)}NULL_LITERAL(){return this.getToken(FC.NULL_LITERAL,0)}NULL_SPEC_LITERAL(){return this.getToken(FC.NULL_SPEC_LITERAL,0)}NOT(){return this.getToken(FC.NOT,0)}get ruleIndex(){return FC.RULE_nullNotnull}accept(t){return t.visitNullNotnull?t.visitNullNotnull(this):t.visitChildren(this)}},$x=class extends ga{constructor(t,e){super(t,e)}stringLiteral(){return this.getRuleContext(0,Zx)}decimalLiteral(){return this.getRuleContext(0,Qx)}MINUS(){return this.getToken(FC.MINUS,0)}hexadecimalLiteral(){return this.getRuleContext(0,jx)}booleanLiteral(){return this.getRuleContext(0,qx)}REAL_LITERAL(){return this.getToken(FC.REAL_LITERAL,0)}BIT_STRING(){return this.getToken(FC.BIT_STRING,0)}NULL_LITERAL(){return this.getToken(FC.NULL_LITERAL,0)}NULL_SPEC_LITERAL(){return this.getToken(FC.NULL_SPEC_LITERAL,0)}NOT(){return this.getToken(FC.NOT,0)}get ruleIndex(){return FC.RULE_constant}accept(t){return t.visitConstant?t.visitConstant(this):t.visitChildren(this)}},tk=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_dataType}copyFrom(t){super.copyFrom(t)}},ek=class extends tk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}GEOMETRYCOLLECTION(){return this.getToken(FC.GEOMETRYCOLLECTION,0)}GEOMCOLLECTION(){return this.getToken(FC.GEOMCOLLECTION,0)}LINESTRING(){return this.getToken(FC.LINESTRING,0)}MULTILINESTRING(){return this.getToken(FC.MULTILINESTRING,0)}MULTIPOINT(){return this.getToken(FC.MULTIPOINT,0)}MULTIPOLYGON(){return this.getToken(FC.MULTIPOLYGON,0)}POINT(){return this.getToken(FC.POINT,0)}POLYGON(){return this.getToken(FC.POLYGON,0)}JSON(){return this.getToken(FC.JSON,0)}GEOMETRY(){return this.getToken(FC.GEOMETRY,0)}SRID(){return this.getToken(FC.SRID,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}accept(t){return t.visitSpatialDataType?t.visitSpatialDataType(this):t.visitChildren(this)}},sk=class extends tk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LONG(){return this.getToken(FC.LONG,0)}VARBINARY(){return this.getToken(FC.VARBINARY,0)}accept(t){return t.visitLongVarbinaryDataType?t.visitLongVarbinaryDataType(this):t.visitChildren(this)}},ak=class extends tk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}collectionOptions(){return this.getRuleContext(0,Tk)}ENUM(){return this.getToken(FC.ENUM,0)}SET(){return this.getToken(FC.SET,0)}BINARY(){return this.getToken(FC.BINARY,0)}charSet(){return this.getRuleContext(0,S_)}charsetName(){return this.getRuleContext(0,vx)}accept(t){return t.visitCollectionDataType?t.visitCollectionDataType(this):t.visitChildren(this)}},rk=class extends tk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}NATIONAL(){return this.getToken(FC.NATIONAL,0)}VARYING(){return this.getToken(FC.VARYING,0)}CHAR(){return this.getToken(FC.CHAR,0)}CHARACTER(){return this.getToken(FC.CHARACTER,0)}lengthOneDimension(){return this.getRuleContext(0,Rk)}BINARY(){return this.getToken(FC.BINARY,0)}accept(t){return t.visitNationalVaryingStringDataType?t.visitNationalVaryingStringDataType(this):t.visitChildren(this)}},ik=class extends tk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}TINYINT(){return this.getToken(FC.TINYINT,0)}SMALLINT(){return this.getToken(FC.SMALLINT,0)}MEDIUMINT(){return this.getToken(FC.MEDIUMINT,0)}INT(){return this.getToken(FC.INT,0)}INTEGER(){return this.getToken(FC.INTEGER,0)}BIGINT(){return this.getToken(FC.BIGINT,0)}MIDDLEINT(){return this.getToken(FC.MIDDLEINT,0)}INT1(){return this.getToken(FC.INT1,0)}INT2(){return this.getToken(FC.INT2,0)}INT3(){return this.getToken(FC.INT3,0)}INT4(){return this.getToken(FC.INT4,0)}INT8(){return this.getToken(FC.INT8,0)}lengthOneDimension(){return this.getRuleContext(0,Rk)}SIGNED(t){return void 0===t?this.getTokens(FC.SIGNED):this.getToken(FC.SIGNED,t)}UNSIGNED(t){return void 0===t?this.getTokens(FC.UNSIGNED):this.getToken(FC.UNSIGNED,t)}ZEROFILL(t){return void 0===t?this.getTokens(FC.ZEROFILL):this.getToken(FC.ZEROFILL,t)}REAL(){return this.getToken(FC.REAL,0)}lengthTwoDimension(){return this.getRuleContext(0,Ak)}DOUBLE(){return this.getToken(FC.DOUBLE,0)}PRECISION(){return this.getToken(FC.PRECISION,0)}DECIMAL(){return this.getToken(FC.DECIMAL,0)}DEC(){return this.getToken(FC.DEC,0)}FIXED(){return this.getToken(FC.FIXED,0)}NUMERIC(){return this.getToken(FC.NUMERIC,0)}FLOAT(){return this.getToken(FC.FLOAT,0)}FLOAT4(){return this.getToken(FC.FLOAT4,0)}FLOAT8(){return this.getToken(FC.FLOAT8,0)}lengthTwoOptionalDimension(){return this.getRuleContext(0,Sk)}BIT(){return this.getToken(FC.BIT,0)}TIME(){return this.getToken(FC.TIME,0)}TIMESTAMP(){return this.getToken(FC.TIMESTAMP,0)}DATETIME(){return this.getToken(FC.DATETIME,0)}BINARY(){return this.getToken(FC.BINARY,0)}VARBINARY(){return this.getToken(FC.VARBINARY,0)}BLOB(){return this.getToken(FC.BLOB,0)}YEAR(){return this.getToken(FC.YEAR,0)}accept(t){return t.visitDimensionDataType?t.visitDimensionDataType(this):t.visitChildren(this)}},ck=class extends tk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CHAR(){return this.getToken(FC.CHAR,0)}CHARACTER(){return this.getToken(FC.CHARACTER,0)}VARCHAR(){return this.getToken(FC.VARCHAR,0)}TINYTEXT(){return this.getToken(FC.TINYTEXT,0)}TEXT(){return this.getToken(FC.TEXT,0)}MEDIUMTEXT(){return this.getToken(FC.MEDIUMTEXT,0)}LONGTEXT(){return this.getToken(FC.LONGTEXT,0)}NCHAR(){return this.getToken(FC.NCHAR,0)}NVARCHAR(){return this.getToken(FC.NVARCHAR,0)}LONG(){return this.getToken(FC.LONG,0)}VARYING(){return this.getToken(FC.VARYING,0)}lengthOneDimension(){return this.getRuleContext(0,Rk)}BINARY(t){return void 0===t?this.getTokens(FC.BINARY):this.getToken(FC.BINARY,t)}charSet(){return this.getRuleContext(0,S_)}charsetName(){return this.getRuleContext(0,vx)}COLLATE(){return this.getToken(FC.COLLATE,0)}collationName(){return this.getRuleContext(0,Bx)}accept(t){return t.visitStringDataType?t.visitStringDataType(this):t.visitChildren(this)}},nk=class extends tk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LONG(){return this.getToken(FC.LONG,0)}VARCHAR(){return this.getToken(FC.VARCHAR,0)}BINARY(){return this.getToken(FC.BINARY,0)}charSet(){return this.getRuleContext(0,S_)}charsetName(){return this.getRuleContext(0,vx)}COLLATE(){return this.getToken(FC.COLLATE,0)}collationName(){return this.getRuleContext(0,Bx)}accept(t){return t.visitLongVarcharDataType?t.visitLongVarcharDataType(this):t.visitChildren(this)}},hk=class extends tk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}NATIONAL(){return this.getToken(FC.NATIONAL,0)}VARCHAR(){return this.getToken(FC.VARCHAR,0)}CHARACTER(){return this.getToken(FC.CHARACTER,0)}CHAR(){return this.getToken(FC.CHAR,0)}lengthOneDimension(){return this.getRuleContext(0,Rk)}BINARY(){return this.getToken(FC.BINARY,0)}NCHAR(){return this.getToken(FC.NCHAR,0)}accept(t){return t.visitNationalStringDataType?t.visitNationalStringDataType(this):t.visitChildren(this)}},Ek=class extends tk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(FC.DATE,0)}TINYBLOB(){return this.getToken(FC.TINYBLOB,0)}MEDIUMBLOB(){return this.getToken(FC.MEDIUMBLOB,0)}LONGBLOB(){return this.getToken(FC.LONGBLOB,0)}BOOL(){return this.getToken(FC.BOOL,0)}BOOLEAN(){return this.getToken(FC.BOOLEAN,0)}SERIAL(){return this.getToken(FC.SERIAL,0)}accept(t){return t.visitSimpleDataType?t.visitSimpleDataType(this):t.visitChildren(this)}},Tk=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}STRING_LITERAL(t){return void 0===t?this.getTokens(FC.STRING_LITERAL):this.getToken(FC.STRING_LITERAL,t)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_collectionOptions}accept(t){return t.visitCollectionOptions?t.visitCollectionOptions(this):t.visitChildren(this)}},ok=class extends ga{constructor(t,e){super(t,e)}CHAR(){return this.getToken(FC.CHAR,0)}SIGNED(){return this.getToken(FC.SIGNED,0)}UNSIGNED(){return this.getToken(FC.UNSIGNED,0)}ARRAY(){return this.getToken(FC.ARRAY,0)}BINARY(){return this.getToken(FC.BINARY,0)}NCHAR(){return this.getToken(FC.NCHAR,0)}FLOAT(){return this.getToken(FC.FLOAT,0)}DATE(){return this.getToken(FC.DATE,0)}DATETIME(){return this.getToken(FC.DATETIME,0)}TIME(){return this.getToken(FC.TIME,0)}YEAR(){return this.getToken(FC.YEAR,0)}JSON(){return this.getToken(FC.JSON,0)}INT(){return this.getToken(FC.INT,0)}INTEGER(){return this.getToken(FC.INTEGER,0)}DOUBLE(){return this.getToken(FC.DOUBLE,0)}DECIMAL(){return this.getToken(FC.DECIMAL,0)}DEC(){return this.getToken(FC.DEC,0)}lengthOneDimension(){return this.getRuleContext(0,Rk)}charSet(){return this.getRuleContext(0,S_)}charsetName(){return this.getRuleContext(0,vx)}lengthTwoOptionalDimension(){return this.getRuleContext(0,Sk)}get ruleIndex(){return FC.RULE_convertedDataType}accept(t){return t.visitConvertedDataType?t.visitConvertedDataType(this):t.visitChildren(this)}},Rk=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}get ruleIndex(){return FC.RULE_lengthOneDimension}accept(t){return t.visitLengthOneDimension?t.visitLengthOneDimension(this):t.visitChildren(this)}},Ak=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}decimalLiteral(t){return void 0===t?this.getRuleContexts(Qx):this.getRuleContext(t,Qx)}COMMA(){return this.getToken(FC.COMMA,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}get ruleIndex(){return FC.RULE_lengthTwoDimension}accept(t){return t.visitLengthTwoDimension?t.visitLengthTwoDimension(this):t.visitChildren(this)}},Sk=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}decimalLiteral(t){return void 0===t?this.getRuleContexts(Qx):this.getRuleContext(t,Qx)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(){return this.getToken(FC.COMMA,0)}get ruleIndex(){return FC.RULE_lengthTwoOptionalDimension}accept(t){return t.visitLengthTwoOptionalDimension?t.visitLengthTwoOptionalDimension(this):t.visitChildren(this)}},lk=class extends ga{constructor(t,e){super(t,e)}uid(t){return void 0===t?this.getRuleContexts(Vx):this.getRuleContext(t,Vx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_uidList}accept(t){return t.visitUidList?t.visitUidList(this):t.visitChildren(this)}},Ok=class extends ga{constructor(t,e){super(t,e)}fullColumnName(t){return void 0===t?this.getRuleContexts(Px):this.getRuleContext(t,Px)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_fullColumnNameList}accept(t){return t.visitFullColumnNameList?t.visitFullColumnNameList(this):t.visitChildren(this)}},Ik=class extends ga{constructor(t,e){super(t,e)}tableName(t){return void 0===t?this.getRuleContexts(lx):this.getRuleContext(t,lx)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_tables}accept(t){return t.visitTables?t.visitTables(this):t.visitChildren(this)}},uk=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}indexColumnName(t){return void 0===t?this.getRuleContexts(px):this.getRuleContext(t,px)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_indexColumnNames}accept(t){return t.visitIndexColumnNames?t.visitIndexColumnNames(this):t.visitChildren(this)}},Nk=class extends ga{constructor(t,e){super(t,e)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_expressions}accept(t){return t.visitExpressions?t.visitExpressions(this):t.visitChildren(this)}},Lk=class extends ga{constructor(t,e){super(t,e)}expressionOrDefault(t){return void 0===t?this.getRuleContexts(Uk):this.getRuleContext(t,Uk)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_expressionsWithDefaults}accept(t){return t.visitExpressionsWithDefaults?t.visitExpressionsWithDefaults(this):t.visitChildren(this)}},Ck=class extends ga{constructor(t,e){super(t,e)}constant(t){return void 0===t?this.getRuleContexts($x):this.getRuleContext(t,$x)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_constants}accept(t){return t.visitConstants?t.visitConstants(this):t.visitChildren(this)}},_k=class extends ga{constructor(t,e){super(t,e)}STRING_LITERAL(t){return void 0===t?this.getTokens(FC.STRING_LITERAL):this.getToken(FC.STRING_LITERAL,t)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_simpleStrings}accept(t){return t.visitSimpleStrings?t.visitSimpleStrings(this):t.visitChildren(this)}},Pk=class extends ga{constructor(t,e){super(t,e)}LOCAL_ID(t){return void 0===t?this.getTokens(FC.LOCAL_ID):this.getToken(FC.LOCAL_ID,t)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_userVariables}accept(t){return t.visitUserVariables?t.visitUserVariables(this):t.visitChildren(this)}},Mk=class extends ga{constructor(t,e){super(t,e)}NULL_LITERAL(){return this.getToken(FC.NULL_LITERAL,0)}CAST(){return this.getToken(FC.CAST,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}AS(){return this.getToken(FC.AS,0)}convertedDataType(){return this.getRuleContext(0,ok)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}constant(){return this.getRuleContext(0,$x)}unaryOperator(){return this.getRuleContext(0,zH)}currentTimestamp(t){return void 0===t?this.getRuleContexts(dk):this.getRuleContext(t,dk)}ON(){return this.getToken(FC.ON,0)}UPDATE(){return this.getToken(FC.UPDATE,0)}fullId(){return this.getRuleContext(0,Sx)}get ruleIndex(){return FC.RULE_defaultValue}accept(t){return t.visitDefaultValue?t.visitDefaultValue(this):t.visitChildren(this)}},dk=class extends ga{constructor(t,e){super(t,e)}NOW(){return this.getToken(FC.NOW,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}CURRENT_TIMESTAMP(){return this.getToken(FC.CURRENT_TIMESTAMP,0)}LOCALTIME(){return this.getToken(FC.LOCALTIME,0)}LOCALTIMESTAMP(){return this.getToken(FC.LOCALTIMESTAMP,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}get ruleIndex(){return FC.RULE_currentTimestamp}accept(t){return t.visitCurrentTimestamp?t.visitCurrentTimestamp(this):t.visitChildren(this)}},Uk=class extends ga{constructor(t,e){super(t,e)}expression(){return this.getRuleContext(0,NH)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}get ruleIndex(){return FC.RULE_expressionOrDefault}accept(t){return t.visitExpressionOrDefault?t.visitExpressionOrDefault(this):t.visitChildren(this)}},mk=class extends ga{constructor(t,e){super(t,e)}IF(){return this.getToken(FC.IF,0)}EXISTS(){return this.getToken(FC.EXISTS,0)}get ruleIndex(){return FC.RULE_ifExists}accept(t){return t.visitIfExists?t.visitIfExists(this):t.visitChildren(this)}},Dk=class extends ga{constructor(t,e){super(t,e)}IF(){return this.getToken(FC.IF,0)}NOT(){return this.getToken(FC.NOT,0)}EXISTS(){return this.getToken(FC.EXISTS,0)}get ruleIndex(){return FC.RULE_ifNotExists}accept(t){return t.visitIfNotExists?t.visitIfNotExists(this):t.visitChildren(this)}},pk=class extends ga{constructor(t,e){super(t,e)}OR(){return this.getToken(FC.OR,0)}REPLACE(){return this.getToken(FC.REPLACE,0)}get ruleIndex(){return FC.RULE_orReplace}accept(t){return t.visitOrReplace?t.visitOrReplace(this):t.visitChildren(this)}},gk=class extends ga{constructor(t,e){super(t,e)}WAIT(){return this.getToken(FC.WAIT,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}NOWAIT(){return this.getToken(FC.NOWAIT,0)}get ruleIndex(){return FC.RULE_waitNowaitClause}accept(t){return t.visitWaitNowaitClause?t.visitWaitNowaitClause(this):t.visitChildren(this)}},xk=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_functionCall}copyFrom(t){super.copyFrom(t)}},kk=class extends xk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}specificFunction(){return this.getRuleContext(0,yk)}accept(t){return t.visitSpecificFunctionCall?t.visitSpecificFunctionCall(this):t.visitChildren(this)}},Hk=class extends xk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}passwordFunctionClause(){return this.getRuleContext(0,OH)}accept(t){return t.visitPasswordFunctionCall?t.visitPasswordFunctionCall(this):t.visitChildren(this)}},Gk=class extends xk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fullId(){return this.getRuleContext(0,Sx)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}functionArgs(){return this.getRuleContext(0,IH)}accept(t){return t.visitUdfFunctionCall?t.visitUdfFunctionCall(this):t.visitChildren(this)}},Fk=class extends xk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}nonAggregateWindowedFunction(){return this.getRuleContext(0,iH)}accept(t){return t.visitNonAggregateFunctionCall?t.visitNonAggregateFunctionCall(this):t.visitChildren(this)}},vk=class extends xk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}aggregateWindowedFunction(){return this.getRuleContext(0,rH)}accept(t){return t.visitAggregateFunctionCall?t.visitAggregateFunctionCall(this):t.visitChildren(this)}},Bk=class extends xk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}scalarFunctionName(){return this.getRuleContext(0,lH)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}functionArgs(){return this.getRuleContext(0,IH)}accept(t){return t.visitScalarFunctionCall?t.visitScalarFunctionCall(this):t.visitChildren(this)}},yk=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_specificFunction}copyFrom(t){super.copyFrom(t)}},fk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}POSITION(){return this.getToken(FC.POSITION,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}IN(){return this.getToken(FC.IN,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}stringLiteral(t){return void 0===t?this.getRuleContexts(Zx):this.getRuleContext(t,Zx)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}accept(t){return t.visitPositionFunctionCall?t.visitPositionFunctionCall(this):t.visitChildren(this)}},Yk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}TRIM(){return this.getToken(FC.TRIM,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}FROM(){return this.getToken(FC.FROM,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}BOTH(){return this.getToken(FC.BOTH,0)}LEADING(){return this.getToken(FC.LEADING,0)}TRAILING(){return this.getToken(FC.TRAILING,0)}stringLiteral(t){return void 0===t?this.getRuleContexts(Zx):this.getRuleContext(t,Zx)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}accept(t){return t.visitTrimFunctionCall?t.visitTrimFunctionCall(this):t.visitChildren(this)}},wk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}JSON_VALUE(){return this.getToken(FC.JSON_VALUE,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}COMMA(){return this.getToken(FC.COMMA,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}RETURNING(){return this.getToken(FC.RETURNING,0)}convertedDataType(){return this.getRuleContext(0,ok)}jsonOnEmpty(){return this.getRuleContext(0,$U)}jsonOnError(){return this.getRuleContext(0,tm)}accept(t){return t.visitJsonValueFunctionCall?t.visitJsonValueFunctionCall(this):t.visitChildren(this)}},bk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CASE(){return this.getToken(FC.CASE,0)}END(){return this.getToken(FC.END,0)}caseFuncAlternative(t){return void 0===t?this.getRuleContexts($k):this.getRuleContext(t,$k)}ELSE(){return this.getToken(FC.ELSE,0)}functionArg(){return this.getRuleContext(0,uH)}accept(t){return t.visitCaseFunctionCall?t.visitCaseFunctionCall(this):t.visitChildren(this)}},Wk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXTRACT(){return this.getToken(FC.EXTRACT,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}intervalType(){return this.getRuleContext(0,__)}FROM(){return this.getToken(FC.FROM,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}stringLiteral(){return this.getRuleContext(0,Zx)}expression(){return this.getRuleContext(0,NH)}accept(t){return t.visitExtractFunctionCall?t.visitExtractFunctionCall(this):t.visitChildren(this)}},Vk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CONVERT(){return this.getToken(FC.CONVERT,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}convertedDataType(){return this.getRuleContext(0,ok)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(){return this.getToken(FC.COMMA,0)}USING(){return this.getToken(FC.USING,0)}charsetName(){return this.getRuleContext(0,vx)}CAST(){return this.getToken(FC.CAST,0)}AS(){return this.getToken(FC.AS,0)}accept(t){return t.visitDataTypeFunctionCall?t.visitDataTypeFunctionCall(this):t.visitChildren(this)}},Xk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}VALUES(){return this.getToken(FC.VALUES,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}fullColumnName(){return this.getRuleContext(0,Px)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitValuesFunctionCall?t.visitValuesFunctionCall(this):t.visitChildren(this)}},Kk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CASE(){return this.getToken(FC.CASE,0)}expression(){return this.getRuleContext(0,NH)}END(){return this.getToken(FC.END,0)}caseFuncAlternative(t){return void 0===t?this.getRuleContexts($k):this.getRuleContext(t,$k)}ELSE(){return this.getToken(FC.ELSE,0)}functionArg(){return this.getRuleContext(0,uH)}accept(t){return t.visitCaseExpressionFunctionCall?t.visitCaseExpressionFunctionCall(this):t.visitChildren(this)}},Qk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}currentUserExpression(){return this.getRuleContext(0,l_)}accept(t){return t.visitCurrentUser?t.visitCurrentUser(this):t.visitChildren(this)}},Jk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CURRENT_DATE(){return this.getToken(FC.CURRENT_DATE,0)}CURRENT_TIME(){return this.getToken(FC.CURRENT_TIME,0)}CURRENT_TIMESTAMP(){return this.getToken(FC.CURRENT_TIMESTAMP,0)}LOCALTIME(){return this.getToken(FC.LOCALTIME,0)}UTC_TIMESTAMP(){return this.getToken(FC.UTC_TIMESTAMP,0)}SCHEMA(){return this.getToken(FC.SCHEMA,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitSimpleFunctionCall?t.visitSimpleFunctionCall(this):t.visitChildren(this)}},Zk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CHAR(){return this.getToken(FC.CHAR,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}functionArgs(){return this.getRuleContext(0,IH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}USING(){return this.getToken(FC.USING,0)}charsetName(){return this.getRuleContext(0,vx)}accept(t){return t.visitCharFunctionCall?t.visitCharFunctionCall(this):t.visitChildren(this)}},qk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}WEIGHT_STRING(){return this.getToken(FC.WEIGHT_STRING,0)}LR_BRACKET(t){return void 0===t?this.getTokens(FC.LR_BRACKET):this.getToken(FC.LR_BRACKET,t)}RR_BRACKET(t){return void 0===t?this.getTokens(FC.RR_BRACKET):this.getToken(FC.RR_BRACKET,t)}stringLiteral(){return this.getRuleContext(0,Zx)}expression(){return this.getRuleContext(0,NH)}AS(){return this.getToken(FC.AS,0)}decimalLiteral(){return this.getRuleContext(0,Qx)}levelsInWeightString(){return this.getRuleContext(0,tH)}CHAR(){return this.getToken(FC.CHAR,0)}BINARY(){return this.getToken(FC.BINARY,0)}accept(t){return t.visitWeightFunctionCall?t.visitWeightFunctionCall(this):t.visitChildren(this)}},jk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}GET_FORMAT(){return this.getToken(FC.GET_FORMAT,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}COMMA(){return this.getToken(FC.COMMA,0)}stringLiteral(){return this.getRuleContext(0,Zx)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}DATE(){return this.getToken(FC.DATE,0)}TIME(){return this.getToken(FC.TIME,0)}DATETIME(){return this.getToken(FC.DATETIME,0)}accept(t){return t.visitGetFormatFunctionCall?t.visitGetFormatFunctionCall(this):t.visitChildren(this)}},zk=class extends yk{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}FROM(){return this.getToken(FC.FROM,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}SUBSTR(){return this.getToken(FC.SUBSTR,0)}SUBSTRING(){return this.getToken(FC.SUBSTRING,0)}stringLiteral(){return this.getRuleContext(0,Zx)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}decimalLiteral(t){return void 0===t?this.getRuleContexts(Qx):this.getRuleContext(t,Qx)}FOR(){return this.getToken(FC.FOR,0)}accept(t){return t.visitSubstrFunctionCall?t.visitSubstrFunctionCall(this):t.visitChildren(this)}},$k=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(FC.WHEN,0)}THEN(){return this.getToken(FC.THEN,0)}functionArg(t){return void 0===t?this.getRuleContexts(uH):this.getRuleContext(t,uH)}get ruleIndex(){return FC.RULE_caseFuncAlternative}accept(t){return t.visitCaseFuncAlternative?t.visitCaseFuncAlternative(this):t.visitChildren(this)}},tH=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_levelsInWeightString}copyFrom(t){super.copyFrom(t)}},eH=class extends tH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LEVEL(){return this.getToken(FC.LEVEL,0)}MINUS(){return this.getToken(FC.MINUS,0)}decimalLiteral(t){return void 0===t?this.getRuleContexts(Qx):this.getRuleContext(t,Qx)}accept(t){return t.visitLevelWeightRange?t.visitLevelWeightRange(this):t.visitChildren(this)}},sH=class extends tH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LEVEL(){return this.getToken(FC.LEVEL,0)}levelInWeightListElement(t){return void 0===t?this.getRuleContexts(aH):this.getRuleContext(t,aH)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitLevelWeightList?t.visitLevelWeightList(this):t.visitChildren(this)}},aH=class extends ga{constructor(t,e){super(t,e)}decimalLiteral(){return this.getRuleContext(0,Qx)}ASC(){return this.getToken(FC.ASC,0)}DESC(){return this.getToken(FC.DESC,0)}REVERSE(){return this.getToken(FC.REVERSE,0)}get ruleIndex(){return FC.RULE_levelInWeightListElement}accept(t){return t.visitLevelInWeightListElement?t.visitLevelInWeightListElement(this):t.visitChildren(this)}},rH=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}functionArg(){return this.getRuleContext(0,uH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}AVG(){return this.getToken(FC.AVG,0)}MAX(){return this.getToken(FC.MAX,0)}MIN(){return this.getToken(FC.MIN,0)}SUM(){return this.getToken(FC.SUM,0)}overClause(){return this.getRuleContext(0,cH)}ALL(){return this.getToken(FC.ALL,0)}DISTINCT(){return this.getToken(FC.DISTINCT,0)}COUNT(){return this.getToken(FC.COUNT,0)}functionArgs(){return this.getRuleContext(0,IH)}STAR(){return this.getToken(FC.STAR,0)}BIT_AND(){return this.getToken(FC.BIT_AND,0)}BIT_OR(){return this.getToken(FC.BIT_OR,0)}BIT_XOR(){return this.getToken(FC.BIT_XOR,0)}STD(){return this.getToken(FC.STD,0)}STDDEV(){return this.getToken(FC.STDDEV,0)}STDDEV_POP(){return this.getToken(FC.STDDEV_POP,0)}STDDEV_SAMP(){return this.getToken(FC.STDDEV_SAMP,0)}VAR_POP(){return this.getToken(FC.VAR_POP,0)}VAR_SAMP(){return this.getToken(FC.VAR_SAMP,0)}VARIANCE(){return this.getToken(FC.VARIANCE,0)}GROUP_CONCAT(){return this.getToken(FC.GROUP_CONCAT,0)}ORDER(){return this.getToken(FC.ORDER,0)}BY(){return this.getToken(FC.BY,0)}orderByExpression(t){return void 0===t?this.getRuleContexts(dU):this.getRuleContext(t,dU)}SEPARATOR(){return this.getToken(FC.SEPARATOR,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_aggregateWindowedFunction}accept(t){return t.visitAggregateWindowedFunction?t.visitAggregateWindowedFunction(this):t.visitChildren(this)}},iH=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(){return this.getRuleContext(0,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}overClause(){return this.getRuleContext(0,cH)}LAG(){return this.getToken(FC.LAG,0)}LEAD(){return this.getToken(FC.LEAD,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}decimalLiteral(t){return void 0===t?this.getRuleContexts(Qx):this.getRuleContext(t,Qx)}FIRST_VALUE(){return this.getToken(FC.FIRST_VALUE,0)}LAST_VALUE(){return this.getToken(FC.LAST_VALUE,0)}CUME_DIST(){return this.getToken(FC.CUME_DIST,0)}DENSE_RANK(){return this.getToken(FC.DENSE_RANK,0)}PERCENT_RANK(){return this.getToken(FC.PERCENT_RANK,0)}RANK(){return this.getToken(FC.RANK,0)}ROW_NUMBER(){return this.getToken(FC.ROW_NUMBER,0)}NTH_VALUE(){return this.getToken(FC.NTH_VALUE,0)}NTILE(){return this.getToken(FC.NTILE,0)}get ruleIndex(){return FC.RULE_nonAggregateWindowedFunction}accept(t){return t.visitNonAggregateWindowedFunction?t.visitNonAggregateWindowedFunction(this):t.visitChildren(this)}},cH=class extends ga{constructor(t,e){super(t,e)}OVER(){return this.getToken(FC.OVER,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}windowSpec(){return this.getRuleContext(0,nH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}windowName(){return this.getRuleContext(0,hH)}get ruleIndex(){return FC.RULE_overClause}accept(t){return t.visitOverClause?t.visitOverClause(this):t.visitChildren(this)}},nH=class extends ga{constructor(t,e){super(t,e)}windowName(){return this.getRuleContext(0,hH)}partitionClause(){return this.getRuleContext(0,SH)}orderByClause(){return this.getRuleContext(0,MU)}frameClause(){return this.getRuleContext(0,EH)}get ruleIndex(){return FC.RULE_windowSpec}accept(t){return t.visitWindowSpec?t.visitWindowSpec(this):t.visitChildren(this)}},hH=class extends ga{constructor(t,e){super(t,e)}uid(){return this.getRuleContext(0,Vx)}get ruleIndex(){return FC.RULE_windowName}accept(t){return t.visitWindowName?t.visitWindowName(this):t.visitChildren(this)}},EH=class extends ga{constructor(t,e){super(t,e)}frameUnits(){return this.getRuleContext(0,TH)}frameExtent(){return this.getRuleContext(0,oH)}get ruleIndex(){return FC.RULE_frameClause}accept(t){return t.visitFrameClause?t.visitFrameClause(this):t.visitChildren(this)}},TH=class extends ga{constructor(t,e){super(t,e)}ROWS(){return this.getToken(FC.ROWS,0)}RANGE(){return this.getToken(FC.RANGE,0)}get ruleIndex(){return FC.RULE_frameUnits}accept(t){return t.visitFrameUnits?t.visitFrameUnits(this):t.visitChildren(this)}},oH=class extends ga{constructor(t,e){super(t,e)}frameRange(){return this.getRuleContext(0,AH)}frameBetween(){return this.getRuleContext(0,RH)}get ruleIndex(){return FC.RULE_frameExtent}accept(t){return t.visitFrameExtent?t.visitFrameExtent(this):t.visitChildren(this)}},RH=class extends ga{constructor(t,e){super(t,e)}BETWEEN(){return this.getToken(FC.BETWEEN,0)}frameRange(t){return void 0===t?this.getRuleContexts(AH):this.getRuleContext(t,AH)}AND(){return this.getToken(FC.AND,0)}get ruleIndex(){return FC.RULE_frameBetween}accept(t){return t.visitFrameBetween?t.visitFrameBetween(this):t.visitChildren(this)}},AH=class extends ga{constructor(t,e){super(t,e)}CURRENT(){return this.getToken(FC.CURRENT,0)}ROW(){return this.getToken(FC.ROW,0)}UNBOUNDED(){return this.getToken(FC.UNBOUNDED,0)}PRECEDING(){return this.getToken(FC.PRECEDING,0)}FOLLOWING(){return this.getToken(FC.FOLLOWING,0)}expression(){return this.getRuleContext(0,NH)}get ruleIndex(){return FC.RULE_frameRange}accept(t){return t.visitFrameRange?t.visitFrameRange(this):t.visitChildren(this)}},SH=class extends ga{constructor(t,e){super(t,e)}PARTITION(){return this.getToken(FC.PARTITION,0)}BY(){return this.getToken(FC.BY,0)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_partitionClause}accept(t){return t.visitPartitionClause?t.visitPartitionClause(this):t.visitChildren(this)}},lH=class extends ga{constructor(t,e){super(t,e)}functionNameBase(){return this.getRuleContext(0,oG)}ASCII(){return this.getToken(FC.ASCII,0)}CURDATE(){return this.getToken(FC.CURDATE,0)}CURRENT_DATE(){return this.getToken(FC.CURRENT_DATE,0)}CURRENT_TIME(){return this.getToken(FC.CURRENT_TIME,0)}CURRENT_TIMESTAMP(){return this.getToken(FC.CURRENT_TIMESTAMP,0)}CURTIME(){return this.getToken(FC.CURTIME,0)}DATE_ADD(){return this.getToken(FC.DATE_ADD,0)}DATE_SUB(){return this.getToken(FC.DATE_SUB,0)}IF(){return this.getToken(FC.IF,0)}INSERT(){return this.getToken(FC.INSERT,0)}LOCALTIME(){return this.getToken(FC.LOCALTIME,0)}LOCALTIMESTAMP(){return this.getToken(FC.LOCALTIMESTAMP,0)}MID(){return this.getToken(FC.MID,0)}NOW(){return this.getToken(FC.NOW,0)}REPEAT(){return this.getToken(FC.REPEAT,0)}REPLACE(){return this.getToken(FC.REPLACE,0)}SUBSTR(){return this.getToken(FC.SUBSTR,0)}SUBSTRING(){return this.getToken(FC.SUBSTRING,0)}SYSDATE(){return this.getToken(FC.SYSDATE,0)}TRIM(){return this.getToken(FC.TRIM,0)}UTC_DATE(){return this.getToken(FC.UTC_DATE,0)}UTC_TIME(){return this.getToken(FC.UTC_TIME,0)}UTC_TIMESTAMP(){return this.getToken(FC.UTC_TIMESTAMP,0)}get ruleIndex(){return FC.RULE_scalarFunctionName}accept(t){return t.visitScalarFunctionName?t.visitScalarFunctionName(this):t.visitChildren(this)}},OH=class extends ga{constructor(t,e){super(t,e)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}functionArg(){return this.getRuleContext(0,uH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}OLD_PASSWORD(){return this.getToken(FC.OLD_PASSWORD,0)}get ruleIndex(){return FC.RULE_passwordFunctionClause}accept(t){return t.visitPasswordFunctionClause?t.visitPasswordFunctionClause(this):t.visitChildren(this)}},IH=class extends ga{constructor(t,e){super(t,e)}constant(t){return void 0===t?this.getRuleContexts($x):this.getRuleContext(t,$x)}fullColumnName(t){return void 0===t?this.getRuleContexts(Px):this.getRuleContext(t,Px)}functionCall(t){return void 0===t?this.getRuleContexts(xk):this.getRuleContext(t,xk)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}get ruleIndex(){return FC.RULE_functionArgs}accept(t){return t.visitFunctionArgs?t.visitFunctionArgs(this):t.visitChildren(this)}},uH=class extends ga{constructor(t,e){super(t,e)}constant(){return this.getRuleContext(0,$x)}fullColumnName(){return this.getRuleContext(0,Px)}functionCall(){return this.getRuleContext(0,xk)}expression(){return this.getRuleContext(0,NH)}get ruleIndex(){return FC.RULE_functionArg}accept(t){return t.visitFunctionArg?t.visitFunctionArg(this):t.visitChildren(this)}},NH=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_expression}copyFrom(t){super.copyFrom(t)}},LH=class extends NH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}predicate(){return this.getRuleContext(0,MH)}IS(){return this.getToken(FC.IS,0)}TRUE(){return this.getToken(FC.TRUE,0)}FALSE(){return this.getToken(FC.FALSE,0)}UNKNOWN(){return this.getToken(FC.UNKNOWN,0)}NOT(){return this.getToken(FC.NOT,0)}accept(t){return t.visitIsExpression?t.visitIsExpression(this):t.visitChildren(this)}},CH=class extends NH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(){return this.getRuleContext(0,NH)}NOT(){return this.getToken(FC.NOT,0)}EXCLAMATION_SYMBOL(){return this.getToken(FC.EXCLAMATION_SYMBOL,0)}accept(t){return t.visitNotExpression?t.visitNotExpression(this):t.visitChildren(this)}},_H=class extends NH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}logicalOperator(){return this.getRuleContext(0,tG)}accept(t){return t.visitLogicalExpression?t.visitLogicalExpression(this):t.visitChildren(this)}},PH=class extends NH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}predicate(){return this.getRuleContext(0,MH)}accept(t){return t.visitPredicateExpression?t.visitPredicateExpression(this):t.visitChildren(this)}},MH=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_predicate}copyFrom(t){super.copyFrom(t)}},dH=class extends MH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}predicate(t){return void 0===t?this.getRuleContexts(MH):this.getRuleContext(t,MH)}SOUNDS(){return this.getToken(FC.SOUNDS,0)}LIKE(){return this.getToken(FC.LIKE,0)}accept(t){return t.visitSoundsLikePredicate?t.visitSoundsLikePredicate(this):t.visitChildren(this)}},UH=class extends MH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expressionAtom(){return this.getRuleContext(0,FH)}accept(t){return t.visitExpressionAtomPredicate?t.visitExpressionAtomPredicate(this):t.visitChildren(this)}},mH=class extends MH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}predicate(){return this.getRuleContext(0,MH)}comparisonOperator(){return this.getRuleContext(0,$H)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,rU)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}ALL(){return this.getToken(FC.ALL,0)}ANY(){return this.getToken(FC.ANY,0)}SOME(){return this.getToken(FC.SOME,0)}accept(t){return t.visitSubqueryComparisonPredicate?t.visitSubqueryComparisonPredicate(this):t.visitChildren(this)}},DH=class extends MH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}predicate(t){return void 0===t?this.getRuleContexts(MH):this.getRuleContext(t,MH)}MEMBER(){return this.getToken(FC.MEMBER,0)}OF(){return this.getToken(FC.OF,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitJsonMemberOfPredicate?t.visitJsonMemberOfPredicate(this):t.visitChildren(this)}},pH=class extends MH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}comparisonOperator(){return this.getRuleContext(0,$H)}predicate(t){return void 0===t?this.getRuleContexts(MH):this.getRuleContext(t,MH)}accept(t){return t.visitBinaryComparisonPredicate?t.visitBinaryComparisonPredicate(this):t.visitChildren(this)}},gH=class extends MH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}predicate(){return this.getRuleContext(0,MH)}IN(){return this.getToken(FC.IN,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,rU)}expressions(){return this.getRuleContext(0,Nk)}NOT(){return this.getToken(FC.NOT,0)}accept(t){return t.visitInPredicate?t.visitInPredicate(this):t.visitChildren(this)}},xH=class extends MH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}predicate(t){return void 0===t?this.getRuleContexts(MH):this.getRuleContext(t,MH)}BETWEEN(){return this.getToken(FC.BETWEEN,0)}AND(){return this.getToken(FC.AND,0)}NOT(){return this.getToken(FC.NOT,0)}accept(t){return t.visitBetweenPredicate?t.visitBetweenPredicate(this):t.visitChildren(this)}},kH=class extends MH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}predicate(){return this.getRuleContext(0,MH)}IS(){return this.getToken(FC.IS,0)}nullNotnull(){return this.getRuleContext(0,zx)}accept(t){return t.visitIsNullPredicate?t.visitIsNullPredicate(this):t.visitChildren(this)}},HH=class extends MH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}predicate(t){return void 0===t?this.getRuleContexts(MH):this.getRuleContext(t,MH)}LIKE(){return this.getToken(FC.LIKE,0)}NOT(){return this.getToken(FC.NOT,0)}ESCAPE(){return this.getToken(FC.ESCAPE,0)}STRING_LITERAL(){return this.getToken(FC.STRING_LITERAL,0)}accept(t){return t.visitLikePredicate?t.visitLikePredicate(this):t.visitChildren(this)}},GH=class extends MH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}predicate(t){return void 0===t?this.getRuleContexts(MH):this.getRuleContext(t,MH)}REGEXP(){return this.getToken(FC.REGEXP,0)}RLIKE(){return this.getToken(FC.RLIKE,0)}NOT(){return this.getToken(FC.NOT,0)}accept(t){return t.visitRegexpPredicate?t.visitRegexpPredicate(this):t.visitChildren(this)}},FH=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return FC.RULE_expressionAtom}copyFrom(t){super.copyFrom(t)}},vH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}unaryOperator(){return this.getRuleContext(0,zH)}expressionAtom(){return this.getRuleContext(0,FH)}accept(t){return t.visitUnaryExpressionAtom?t.visitUnaryExpressionAtom(this):t.visitChildren(this)}},BH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}expressionAtom(){return this.getRuleContext(0,FH)}COLLATE(){return this.getToken(FC.COLLATE,0)}collationName(){return this.getRuleContext(0,Bx)}accept(t){return t.visitCollateExpressionAtom?t.visitCollateExpressionAtom(this):t.visitChildren(this)}},yH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LOCAL_ID(){return this.getToken(FC.LOCAL_ID,0)}VAR_ASSIGN(){return this.getToken(FC.VAR_ASSIGN,0)}expressionAtom(){return this.getRuleContext(0,FH)}accept(t){return t.visitVariableAssignExpressionAtom?t.visitVariableAssignExpressionAtom(this):t.visitChildren(this)}},fH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}mysqlVariable(){return this.getRuleContext(0,Fx)}accept(t){return t.visitMysqlVariableExpressionAtom?t.visitMysqlVariableExpressionAtom(this):t.visitChildren(this)}},YH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitNestedExpressionAtom?t.visitNestedExpressionAtom(this):t.visitChildren(this)}},wH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ROW(){return this.getToken(FC.ROW,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}expression(t){return void 0===t?this.getRuleContexts(NH):this.getRuleContext(t,NH)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}COMMA(t){return void 0===t?this.getTokens(FC.COMMA):this.getToken(FC.COMMA,t)}accept(t){return t.visitNestedRowExpressionAtom?t.visitNestedRowExpressionAtom(this):t.visitChildren(this)}},bH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}multOperator(){return this.getRuleContext(0,sG)}expressionAtom(t){return void 0===t?this.getRuleContexts(FH):this.getRuleContext(t,FH)}addOperator(){return this.getRuleContext(0,aG)}accept(t){return t.visitMathExpressionAtom?t.visitMathExpressionAtom(this):t.visitChildren(this)}},WH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXISTS(){return this.getToken(FC.EXISTS,0)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,rU)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitExistsExpressionAtom?t.visitExistsExpressionAtom(this):t.visitChildren(this)}},VH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTERVAL(){return this.getToken(FC.INTERVAL,0)}expression(){return this.getRuleContext(0,NH)}intervalType(){return this.getRuleContext(0,__)}accept(t){return t.visitIntervalExpressionAtom?t.visitIntervalExpressionAtom(this):t.visitChildren(this)}},XH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}jsonOperator(){return this.getRuleContext(0,rG)}expressionAtom(t){return void 0===t?this.getRuleContexts(FH):this.getRuleContext(t,FH)}accept(t){return t.visitJsonExpressionAtom?t.visitJsonExpressionAtom(this):t.visitChildren(this)}},KH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LR_BRACKET(){return this.getToken(FC.LR_BRACKET,0)}selectStatement(){return this.getRuleContext(0,rU)}RR_BRACKET(){return this.getToken(FC.RR_BRACKET,0)}accept(t){return t.visitSubqueryExpressionAtom?t.visitSubqueryExpressionAtom(this):t.visitChildren(this)}},QH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}constant(){return this.getRuleContext(0,$x)}accept(t){return t.visitConstantExpressionAtom?t.visitConstantExpressionAtom(this):t.visitChildren(this)}},JH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}functionCall(){return this.getRuleContext(0,xk)}accept(t){return t.visitFunctionCallExpressionAtom?t.visitFunctionCallExpressionAtom(this):t.visitChildren(this)}},ZH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}BINARY(){return this.getToken(FC.BINARY,0)}expressionAtom(){return this.getRuleContext(0,FH)}accept(t){return t.visitBinaryExpressionAtom?t.visitBinaryExpressionAtom(this):t.visitChildren(this)}},qH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}fullColumnName(){return this.getRuleContext(0,Px)}accept(t){return t.visitFullColumnNameExpressionAtom?t.visitFullColumnNameExpressionAtom(this):t.visitChildren(this)}},jH=class extends FH{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}bitOperator(){return this.getRuleContext(0,eG)}expressionAtom(t){return void 0===t?this.getRuleContexts(FH):this.getRuleContext(t,FH)}accept(t){return t.visitBitExpressionAtom?t.visitBitExpressionAtom(this):t.visitChildren(this)}},zH=class extends ga{constructor(t,e){super(t,e)}EXCLAMATION_SYMBOL(){return this.getToken(FC.EXCLAMATION_SYMBOL,0)}BIT_NOT_OP(){return this.getToken(FC.BIT_NOT_OP,0)}PLUS(){return this.getToken(FC.PLUS,0)}MINUS(){return this.getToken(FC.MINUS,0)}NOT(){return this.getToken(FC.NOT,0)}get ruleIndex(){return FC.RULE_unaryOperator}accept(t){return t.visitUnaryOperator?t.visitUnaryOperator(this):t.visitChildren(this)}},$H=class extends ga{constructor(t,e){super(t,e)}EQUAL_SYMBOL(){return this.getToken(FC.EQUAL_SYMBOL,0)}GREATER_SYMBOL(){return this.getToken(FC.GREATER_SYMBOL,0)}LESS_SYMBOL(){return this.getToken(FC.LESS_SYMBOL,0)}EXCLAMATION_SYMBOL(){return this.getToken(FC.EXCLAMATION_SYMBOL,0)}get ruleIndex(){return FC.RULE_comparisonOperator}accept(t){return t.visitComparisonOperator?t.visitComparisonOperator(this):t.visitChildren(this)}},tG=class extends ga{constructor(t,e){super(t,e)}AND(){return this.getToken(FC.AND,0)}BIT_AND_OP(t){return void 0===t?this.getTokens(FC.BIT_AND_OP):this.getToken(FC.BIT_AND_OP,t)}XOR(){return this.getToken(FC.XOR,0)}OR(){return this.getToken(FC.OR,0)}BIT_OR_OP(t){return void 0===t?this.getTokens(FC.BIT_OR_OP):this.getToken(FC.BIT_OR_OP,t)}get ruleIndex(){return FC.RULE_logicalOperator}accept(t){return t.visitLogicalOperator?t.visitLogicalOperator(this):t.visitChildren(this)}},eG=class extends ga{constructor(t,e){super(t,e)}LESS_SYMBOL(t){return void 0===t?this.getTokens(FC.LESS_SYMBOL):this.getToken(FC.LESS_SYMBOL,t)}GREATER_SYMBOL(t){return void 0===t?this.getTokens(FC.GREATER_SYMBOL):this.getToken(FC.GREATER_SYMBOL,t)}BIT_AND_OP(){return this.getToken(FC.BIT_AND_OP,0)}BIT_XOR_OP(){return this.getToken(FC.BIT_XOR_OP,0)}BIT_OR_OP(){return this.getToken(FC.BIT_OR_OP,0)}get ruleIndex(){return FC.RULE_bitOperator}accept(t){return t.visitBitOperator?t.visitBitOperator(this):t.visitChildren(this)}},sG=class extends ga{constructor(t,e){super(t,e)}STAR(){return this.getToken(FC.STAR,0)}DIVIDE(){return this.getToken(FC.DIVIDE,0)}MODULE(){return this.getToken(FC.MODULE,0)}DIV(){return this.getToken(FC.DIV,0)}MOD(){return this.getToken(FC.MOD,0)}get ruleIndex(){return FC.RULE_multOperator}accept(t){return t.visitMultOperator?t.visitMultOperator(this):t.visitChildren(this)}},aG=class extends ga{constructor(t,e){super(t,e)}PLUS(){return this.getToken(FC.PLUS,0)}MINUS(){return this.getToken(FC.MINUS,0)}get ruleIndex(){return FC.RULE_addOperator}accept(t){return t.visitAddOperator?t.visitAddOperator(this):t.visitChildren(this)}},rG=class extends ga{constructor(t,e){super(t,e)}MINUS(){return this.getToken(FC.MINUS,0)}GREATER_SYMBOL(t){return void 0===t?this.getTokens(FC.GREATER_SYMBOL):this.getToken(FC.GREATER_SYMBOL,t)}get ruleIndex(){return FC.RULE_jsonOperator}accept(t){return t.visitJsonOperator?t.visitJsonOperator(this):t.visitChildren(this)}},iG=class extends ga{constructor(t,e){super(t,e)}ARMSCII8(){return this.getToken(FC.ARMSCII8,0)}ASCII(){return this.getToken(FC.ASCII,0)}BIG5(){return this.getToken(FC.BIG5,0)}BINARY(){return this.getToken(FC.BINARY,0)}CP1250(){return this.getToken(FC.CP1250,0)}CP1251(){return this.getToken(FC.CP1251,0)}CP1256(){return this.getToken(FC.CP1256,0)}CP1257(){return this.getToken(FC.CP1257,0)}CP850(){return this.getToken(FC.CP850,0)}CP852(){return this.getToken(FC.CP852,0)}CP866(){return this.getToken(FC.CP866,0)}CP932(){return this.getToken(FC.CP932,0)}DEC8(){return this.getToken(FC.DEC8,0)}EUCJPMS(){return this.getToken(FC.EUCJPMS,0)}EUCKR(){return this.getToken(FC.EUCKR,0)}GB18030(){return this.getToken(FC.GB18030,0)}GB2312(){return this.getToken(FC.GB2312,0)}GBK(){return this.getToken(FC.GBK,0)}GEOSTD8(){return this.getToken(FC.GEOSTD8,0)}GREEK(){return this.getToken(FC.GREEK,0)}HEBREW(){return this.getToken(FC.HEBREW,0)}HP8(){return this.getToken(FC.HP8,0)}KEYBCS2(){return this.getToken(FC.KEYBCS2,0)}KOI8R(){return this.getToken(FC.KOI8R,0)}KOI8U(){return this.getToken(FC.KOI8U,0)}LATIN1(){return this.getToken(FC.LATIN1,0)}LATIN2(){return this.getToken(FC.LATIN2,0)}LATIN5(){return this.getToken(FC.LATIN5,0)}LATIN7(){return this.getToken(FC.LATIN7,0)}MACCE(){return this.getToken(FC.MACCE,0)}MACROMAN(){return this.getToken(FC.MACROMAN,0)}SJIS(){return this.getToken(FC.SJIS,0)}SWE7(){return this.getToken(FC.SWE7,0)}TIS620(){return this.getToken(FC.TIS620,0)}UCS2(){return this.getToken(FC.UCS2,0)}UJIS(){return this.getToken(FC.UJIS,0)}UTF16(){return this.getToken(FC.UTF16,0)}UTF16LE(){return this.getToken(FC.UTF16LE,0)}UTF32(){return this.getToken(FC.UTF32,0)}UTF8(){return this.getToken(FC.UTF8,0)}UTF8MB3(){return this.getToken(FC.UTF8MB3,0)}UTF8MB4(){return this.getToken(FC.UTF8MB4,0)}get ruleIndex(){return FC.RULE_charsetNameBase}accept(t){return t.visitCharsetNameBase?t.visitCharsetNameBase(this):t.visitChildren(this)}},cG=class extends ga{constructor(t,e){super(t,e)}REPEATABLE(){return this.getToken(FC.REPEATABLE,0)}COMMITTED(){return this.getToken(FC.COMMITTED,0)}UNCOMMITTED(){return this.getToken(FC.UNCOMMITTED,0)}SERIALIZABLE(){return this.getToken(FC.SERIALIZABLE,0)}get ruleIndex(){return FC.RULE_transactionLevelBase}accept(t){return t.visitTransactionLevelBase?t.visitTransactionLevelBase(this):t.visitChildren(this)}},nG=class extends ga{constructor(t,e){super(t,e)}TABLES(){return this.getToken(FC.TABLES,0)}ROUTINE(){return this.getToken(FC.ROUTINE,0)}EXECUTE(){return this.getToken(FC.EXECUTE,0)}FILE(){return this.getToken(FC.FILE,0)}PROCESS(){return this.getToken(FC.PROCESS,0)}RELOAD(){return this.getToken(FC.RELOAD,0)}SHUTDOWN(){return this.getToken(FC.SHUTDOWN,0)}SUPER(){return this.getToken(FC.SUPER,0)}PRIVILEGES(){return this.getToken(FC.PRIVILEGES,0)}get ruleIndex(){return FC.RULE_privilegesBase}accept(t){return t.visitPrivilegesBase?t.visitPrivilegesBase(this):t.visitChildren(this)}},hG=class extends ga{constructor(t,e){super(t,e)}QUARTER(){return this.getToken(FC.QUARTER,0)}MONTH(){return this.getToken(FC.MONTH,0)}DAY(){return this.getToken(FC.DAY,0)}HOUR(){return this.getToken(FC.HOUR,0)}MINUTE(){return this.getToken(FC.MINUTE,0)}WEEK(){return this.getToken(FC.WEEK,0)}SECOND(){return this.getToken(FC.SECOND,0)}MICROSECOND(){return this.getToken(FC.MICROSECOND,0)}get ruleIndex(){return FC.RULE_intervalTypeBase}accept(t){return t.visitIntervalTypeBase?t.visitIntervalTypeBase(this):t.visitChildren(this)}},EG=class extends ga{constructor(t,e){super(t,e)}DATE(){return this.getToken(FC.DATE,0)}TIME(){return this.getToken(FC.TIME,0)}TIMESTAMP(){return this.getToken(FC.TIMESTAMP,0)}DATETIME(){return this.getToken(FC.DATETIME,0)}YEAR(){return this.getToken(FC.YEAR,0)}ENUM(){return this.getToken(FC.ENUM,0)}TEXT(){return this.getToken(FC.TEXT,0)}get ruleIndex(){return FC.RULE_dataTypeBase}accept(t){return t.visitDataTypeBase?t.visitDataTypeBase(this):t.visitChildren(this)}},TG=class extends ga{constructor(t,e){super(t,e)}ACCOUNT(){return this.getToken(FC.ACCOUNT,0)}ACTION(){return this.getToken(FC.ACTION,0)}ADMIN(){return this.getToken(FC.ADMIN,0)}AFTER(){return this.getToken(FC.AFTER,0)}AGGREGATE(){return this.getToken(FC.AGGREGATE,0)}ALGORITHM(){return this.getToken(FC.ALGORITHM,0)}ANY(){return this.getToken(FC.ANY,0)}ARRAY(){return this.getToken(FC.ARRAY,0)}AT(){return this.getToken(FC.AT,0)}AUDIT_ADMIN(){return this.getToken(FC.AUDIT_ADMIN,0)}AUDIT_ABORT_EXEMPT(){return this.getToken(FC.AUDIT_ABORT_EXEMPT,0)}AUTHORS(){return this.getToken(FC.AUTHORS,0)}AUTOCOMMIT(){return this.getToken(FC.AUTOCOMMIT,0)}AUTOEXTEND_SIZE(){return this.getToken(FC.AUTOEXTEND_SIZE,0)}AUTO_INCREMENT(){return this.getToken(FC.AUTO_INCREMENT,0)}AUTHENTICATION_POLICY_ADMIN(){return this.getToken(FC.AUTHENTICATION_POLICY_ADMIN,0)}AVG(){return this.getToken(FC.AVG,0)}AVG_ROW_LENGTH(){return this.getToken(FC.AVG_ROW_LENGTH,0)}ATTRIBUTE(){return this.getToken(FC.ATTRIBUTE,0)}BACKUP_ADMIN(){return this.getToken(FC.BACKUP_ADMIN,0)}BEGIN(){return this.getToken(FC.BEGIN,0)}BINLOG(){return this.getToken(FC.BINLOG,0)}BINLOG_ADMIN(){return this.getToken(FC.BINLOG_ADMIN,0)}BINLOG_ENCRYPTION_ADMIN(){return this.getToken(FC.BINLOG_ENCRYPTION_ADMIN,0)}BIT(){return this.getToken(FC.BIT,0)}BIT_AND(){return this.getToken(FC.BIT_AND,0)}BIT_OR(){return this.getToken(FC.BIT_OR,0)}BIT_XOR(){return this.getToken(FC.BIT_XOR,0)}BLOCK(){return this.getToken(FC.BLOCK,0)}BOOL(){return this.getToken(FC.BOOL,0)}BOOLEAN(){return this.getToken(FC.BOOLEAN,0)}BTREE(){return this.getToken(FC.BTREE,0)}BUCKETS(){return this.getToken(FC.BUCKETS,0)}CACHE(){return this.getToken(FC.CACHE,0)}CASCADED(){return this.getToken(FC.CASCADED,0)}CHAIN(){return this.getToken(FC.CHAIN,0)}CHANGED(){return this.getToken(FC.CHANGED,0)}CHANNEL(){return this.getToken(FC.CHANNEL,0)}CHECKSUM(){return this.getToken(FC.CHECKSUM,0)}PAGE_CHECKSUM(){return this.getToken(FC.PAGE_CHECKSUM,0)}CATALOG_NAME(){return this.getToken(FC.CATALOG_NAME,0)}CIPHER(){return this.getToken(FC.CIPHER,0)}CLASS_ORIGIN(){return this.getToken(FC.CLASS_ORIGIN,0)}CLIENT(){return this.getToken(FC.CLIENT,0)}CLONE_ADMIN(){return this.getToken(FC.CLONE_ADMIN,0)}CLOSE(){return this.getToken(FC.CLOSE,0)}CLUSTERING(){return this.getToken(FC.CLUSTERING,0)}COALESCE(){return this.getToken(FC.COALESCE,0)}CODE(){return this.getToken(FC.CODE,0)}COLUMNS(){return this.getToken(FC.COLUMNS,0)}COLUMN_FORMAT(){return this.getToken(FC.COLUMN_FORMAT,0)}COLUMN_NAME(){return this.getToken(FC.COLUMN_NAME,0)}COMMENT(){return this.getToken(FC.COMMENT,0)}COMMIT(){return this.getToken(FC.COMMIT,0)}COMPACT(){return this.getToken(FC.COMPACT,0)}COMPLETION(){return this.getToken(FC.COMPLETION,0)}COMPRESSED(){return this.getToken(FC.COMPRESSED,0)}COMPRESSION(){return this.getToken(FC.COMPRESSION,0)}CONCURRENT(){return this.getToken(FC.CONCURRENT,0)}CONDITION(){return this.getToken(FC.CONDITION,0)}CONNECT(){return this.getToken(FC.CONNECT,0)}CONNECTION(){return this.getToken(FC.CONNECTION,0)}CONNECTION_ADMIN(){return this.getToken(FC.CONNECTION_ADMIN,0)}CONSISTENT(){return this.getToken(FC.CONSISTENT,0)}CONSTRAINT_CATALOG(){return this.getToken(FC.CONSTRAINT_CATALOG,0)}CONSTRAINT_NAME(){return this.getToken(FC.CONSTRAINT_NAME,0)}CONSTRAINT_SCHEMA(){return this.getToken(FC.CONSTRAINT_SCHEMA,0)}CONTAINS(){return this.getToken(FC.CONTAINS,0)}CONTEXT(){return this.getToken(FC.CONTEXT,0)}CONTRIBUTORS(){return this.getToken(FC.CONTRIBUTORS,0)}COPY(){return this.getToken(FC.COPY,0)}COUNT(){return this.getToken(FC.COUNT,0)}CPU(){return this.getToken(FC.CPU,0)}CURRENT(){return this.getToken(FC.CURRENT,0)}CURRENT_USER(){return this.getToken(FC.CURRENT_USER,0)}CURSOR_NAME(){return this.getToken(FC.CURSOR_NAME,0)}DATA(){return this.getToken(FC.DATA,0)}DATAFILE(){return this.getToken(FC.DATAFILE,0)}DEALLOCATE(){return this.getToken(FC.DEALLOCATE,0)}DEFAULT(){return this.getToken(FC.DEFAULT,0)}DEFAULT_AUTH(){return this.getToken(FC.DEFAULT_AUTH,0)}DEFINER(){return this.getToken(FC.DEFINER,0)}DELAY_KEY_WRITE(){return this.getToken(FC.DELAY_KEY_WRITE,0)}DES_KEY_FILE(){return this.getToken(FC.DES_KEY_FILE,0)}DIAGNOSTICS(){return this.getToken(FC.DIAGNOSTICS,0)}DIRECTORY(){return this.getToken(FC.DIRECTORY,0)}DISABLE(){return this.getToken(FC.DISABLE,0)}DISCARD(){return this.getToken(FC.DISCARD,0)}DISK(){return this.getToken(FC.DISK,0)}DO(){return this.getToken(FC.DO,0)}DUMPFILE(){return this.getToken(FC.DUMPFILE,0)}DUPLICATE(){return this.getToken(FC.DUPLICATE,0)}DYNAMIC(){return this.getToken(FC.DYNAMIC,0)}EMPTY(){return this.getToken(FC.EMPTY,0)}ENABLE(){return this.getToken(FC.ENABLE,0)}ENCRYPTION(){return this.getToken(FC.ENCRYPTION,0)}ENCRYPTION_KEY_ADMIN(){return this.getToken(FC.ENCRYPTION_KEY_ADMIN,0)}END(){return this.getToken(FC.END,0)}ENDS(){return this.getToken(FC.ENDS,0)}ENGINE(){return this.getToken(FC.ENGINE,0)}ENGINE_ATTRIBUTE(){return this.getToken(FC.ENGINE_ATTRIBUTE,0)}ENGINES(){return this.getToken(FC.ENGINES,0)}ENFORCED(){return this.getToken(FC.ENFORCED,0)}ERROR(){return this.getToken(FC.ERROR,0)}ERRORS(){return this.getToken(FC.ERRORS,0)}ESCAPE(){return this.getToken(FC.ESCAPE,0)}EUR(){return this.getToken(FC.EUR,0)}EVEN(){return this.getToken(FC.EVEN,0)}EVENT(){return this.getToken(FC.EVENT,0)}EVENTS(){return this.getToken(FC.EVENTS,0)}EVERY(){return this.getToken(FC.EVERY,0)}EXCEPT(){return this.getToken(FC.EXCEPT,0)}EXCHANGE(){return this.getToken(FC.EXCHANGE,0)}EXCLUSIVE(){return this.getToken(FC.EXCLUSIVE,0)}EXPIRE(){return this.getToken(FC.EXPIRE,0)}EXPORT(){return this.getToken(FC.EXPORT,0)}EXTENDED(){return this.getToken(FC.EXTENDED,0)}EXTENT_SIZE(){return this.getToken(FC.EXTENT_SIZE,0)}FAILED_LOGIN_ATTEMPTS(){return this.getToken(FC.FAILED_LOGIN_ATTEMPTS,0)}FAST(){return this.getToken(FC.FAST,0)}FAULTS(){return this.getToken(FC.FAULTS,0)}FIELDS(){return this.getToken(FC.FIELDS,0)}FILE_BLOCK_SIZE(){return this.getToken(FC.FILE_BLOCK_SIZE,0)}FILTER(){return this.getToken(FC.FILTER,0)}FIREWALL_ADMIN(){return this.getToken(FC.FIREWALL_ADMIN,0)}FIREWALL_EXEMPT(){return this.getToken(FC.FIREWALL_EXEMPT,0)}FIREWALL_USER(){return this.getToken(FC.FIREWALL_USER,0)}FIRST(){return this.getToken(FC.FIRST,0)}FIXED(){return this.getToken(FC.FIXED,0)}FLUSH(){return this.getToken(FC.FLUSH,0)}FOLLOWS(){return this.getToken(FC.FOLLOWS,0)}FOUND(){return this.getToken(FC.FOUND,0)}FULL(){return this.getToken(FC.FULL,0)}FUNCTION(){return this.getToken(FC.FUNCTION,0)}GENERAL(){return this.getToken(FC.GENERAL,0)}GLOBAL(){return this.getToken(FC.GLOBAL,0)}GRANTS(){return this.getToken(FC.GRANTS,0)}GROUP(){return this.getToken(FC.GROUP,0)}GROUP_CONCAT(){return this.getToken(FC.GROUP_CONCAT,0)}GROUP_REPLICATION(){return this.getToken(FC.GROUP_REPLICATION,0)}GROUP_REPLICATION_ADMIN(){return this.getToken(FC.GROUP_REPLICATION_ADMIN,0)}HANDLER(){return this.getToken(FC.HANDLER,0)}HASH(){return this.getToken(FC.HASH,0)}HELP(){return this.getToken(FC.HELP,0)}HISTORY(){return this.getToken(FC.HISTORY,0)}HOST(){return this.getToken(FC.HOST,0)}HOSTS(){return this.getToken(FC.HOSTS,0)}IDENTIFIED(){return this.getToken(FC.IDENTIFIED,0)}IGNORED(){return this.getToken(FC.IGNORED,0)}IGNORE_SERVER_IDS(){return this.getToken(FC.IGNORE_SERVER_IDS,0)}IMPORT(){return this.getToken(FC.IMPORT,0)}INDEXES(){return this.getToken(FC.INDEXES,0)}INITIAL_SIZE(){return this.getToken(FC.INITIAL_SIZE,0)}INNODB_REDO_LOG_ARCHIVE(){return this.getToken(FC.INNODB_REDO_LOG_ARCHIVE,0)}INPLACE(){return this.getToken(FC.INPLACE,0)}INSERT_METHOD(){return this.getToken(FC.INSERT_METHOD,0)}INSTALL(){return this.getToken(FC.INSTALL,0)}INSTANCE(){return this.getToken(FC.INSTANCE,0)}INSTANT(){return this.getToken(FC.INSTANT,0)}INTERNAL(){return this.getToken(FC.INTERNAL,0)}INVOKE(){return this.getToken(FC.INVOKE,0)}INVOKER(){return this.getToken(FC.INVOKER,0)}IO(){return this.getToken(FC.IO,0)}IO_THREAD(){return this.getToken(FC.IO_THREAD,0)}IPC(){return this.getToken(FC.IPC,0)}ISO(){return this.getToken(FC.ISO,0)}ISOLATION(){return this.getToken(FC.ISOLATION,0)}ISSUER(){return this.getToken(FC.ISSUER,0)}JIS(){return this.getToken(FC.JIS,0)}JSON(){return this.getToken(FC.JSON,0)}KEY_BLOCK_SIZE(){return this.getToken(FC.KEY_BLOCK_SIZE,0)}LAMBDA(){return this.getToken(FC.LAMBDA,0)}LANGUAGE(){return this.getToken(FC.LANGUAGE,0)}LAST(){return this.getToken(FC.LAST,0)}LATERAL(){return this.getToken(FC.LATERAL,0)}LEAVES(){return this.getToken(FC.LEAVES,0)}LESS(){return this.getToken(FC.LESS,0)}LEVEL(){return this.getToken(FC.LEVEL,0)}LIST(){return this.getToken(FC.LIST,0)}LOCAL(){return this.getToken(FC.LOCAL,0)}LOGFILE(){return this.getToken(FC.LOGFILE,0)}LOGS(){return this.getToken(FC.LOGS,0)}MASTER(){return this.getToken(FC.MASTER,0)}MASTER_AUTO_POSITION(){return this.getToken(FC.MASTER_AUTO_POSITION,0)}MASTER_CONNECT_RETRY(){return this.getToken(FC.MASTER_CONNECT_RETRY,0)}MASTER_DELAY(){return this.getToken(FC.MASTER_DELAY,0)}MASTER_HEARTBEAT_PERIOD(){return this.getToken(FC.MASTER_HEARTBEAT_PERIOD,0)}MASTER_HOST(){return this.getToken(FC.MASTER_HOST,0)}MASTER_LOG_FILE(){return this.getToken(FC.MASTER_LOG_FILE,0)}MASTER_LOG_POS(){return this.getToken(FC.MASTER_LOG_POS,0)}MASTER_PASSWORD(){return this.getToken(FC.MASTER_PASSWORD,0)}MASTER_PORT(){return this.getToken(FC.MASTER_PORT,0)}MASTER_RETRY_COUNT(){return this.getToken(FC.MASTER_RETRY_COUNT,0)}MASTER_SSL(){return this.getToken(FC.MASTER_SSL,0)}MASTER_SSL_CA(){return this.getToken(FC.MASTER_SSL_CA,0)}MASTER_SSL_CAPATH(){return this.getToken(FC.MASTER_SSL_CAPATH,0)}MASTER_SSL_CERT(){return this.getToken(FC.MASTER_SSL_CERT,0)}MASTER_SSL_CIPHER(){return this.getToken(FC.MASTER_SSL_CIPHER,0)}MASTER_SSL_CRL(){return this.getToken(FC.MASTER_SSL_CRL,0)}MASTER_SSL_CRLPATH(){return this.getToken(FC.MASTER_SSL_CRLPATH,0)}MASTER_SSL_KEY(){return this.getToken(FC.MASTER_SSL_KEY,0)}MASTER_TLS_VERSION(){return this.getToken(FC.MASTER_TLS_VERSION,0)}MASTER_USER(){return this.getToken(FC.MASTER_USER,0)}MAX_CONNECTIONS_PER_HOUR(){return this.getToken(FC.MAX_CONNECTIONS_PER_HOUR,0)}MAX_QUERIES_PER_HOUR(){return this.getToken(FC.MAX_QUERIES_PER_HOUR,0)}MAX(){return this.getToken(FC.MAX,0)}MAX_ROWS(){return this.getToken(FC.MAX_ROWS,0)}MAX_SIZE(){return this.getToken(FC.MAX_SIZE,0)}MAX_UPDATES_PER_HOUR(){return this.getToken(FC.MAX_UPDATES_PER_HOUR,0)}MAX_USER_CONNECTIONS(){return this.getToken(FC.MAX_USER_CONNECTIONS,0)}MEDIUM(){return this.getToken(FC.MEDIUM,0)}MEMBER(){return this.getToken(FC.MEMBER,0)}MEMORY(){return this.getToken(FC.MEMORY,0)}MERGE(){return this.getToken(FC.MERGE,0)}MESSAGE_TEXT(){return this.getToken(FC.MESSAGE_TEXT,0)}MID(){return this.getToken(FC.MID,0)}MIGRATE(){return this.getToken(FC.MIGRATE,0)}MIN(){return this.getToken(FC.MIN,0)}MIN_ROWS(){return this.getToken(FC.MIN_ROWS,0)}MODE(){return this.getToken(FC.MODE,0)}MODIFY(){return this.getToken(FC.MODIFY,0)}MUTEX(){return this.getToken(FC.MUTEX,0)}MYSQL(){return this.getToken(FC.MYSQL,0)}MYSQL_ERRNO(){return this.getToken(FC.MYSQL_ERRNO,0)}NAME(){return this.getToken(FC.NAME,0)}NAMES(){return this.getToken(FC.NAMES,0)}NCHAR(){return this.getToken(FC.NCHAR,0)}NDB_STORED_USER(){return this.getToken(FC.NDB_STORED_USER,0)}NESTED(){return this.getToken(FC.NESTED,0)}NEVER(){return this.getToken(FC.NEVER,0)}NEXT(){return this.getToken(FC.NEXT,0)}NO(){return this.getToken(FC.NO,0)}NOCOPY(){return this.getToken(FC.NOCOPY,0)}NODEGROUP(){return this.getToken(FC.NODEGROUP,0)}NONE(){return this.getToken(FC.NONE,0)}NOWAIT(){return this.getToken(FC.NOWAIT,0)}NUMBER(){return this.getToken(FC.NUMBER,0)}ODBC(){return this.getToken(FC.ODBC,0)}OFFLINE(){return this.getToken(FC.OFFLINE,0)}OFFSET(){return this.getToken(FC.OFFSET,0)}OF(){return this.getToken(FC.OF,0)}OJ(){return this.getToken(FC.OJ,0)}OLD_PASSWORD(){return this.getToken(FC.OLD_PASSWORD,0)}ONE(){return this.getToken(FC.ONE,0)}ONLINE(){return this.getToken(FC.ONLINE,0)}ONLY(){return this.getToken(FC.ONLY,0)}OPEN(){return this.getToken(FC.OPEN,0)}OPTIMIZER_COSTS(){return this.getToken(FC.OPTIMIZER_COSTS,0)}OPTIONAL(){return this.getToken(FC.OPTIONAL,0)}OPTIONS(){return this.getToken(FC.OPTIONS,0)}ORDER(){return this.getToken(FC.ORDER,0)}ORDINALITY(){return this.getToken(FC.ORDINALITY,0)}OWNER(){return this.getToken(FC.OWNER,0)}PACK_KEYS(){return this.getToken(FC.PACK_KEYS,0)}PAGE(){return this.getToken(FC.PAGE,0)}PARSER(){return this.getToken(FC.PARSER,0)}PARTIAL(){return this.getToken(FC.PARTIAL,0)}PARTITIONING(){return this.getToken(FC.PARTITIONING,0)}PARTITIONS(){return this.getToken(FC.PARTITIONS,0)}PASSWORD(){return this.getToken(FC.PASSWORD,0)}PASSWORDLESS_USER_ADMIN(){return this.getToken(FC.PASSWORDLESS_USER_ADMIN,0)}PASSWORD_LOCK_TIME(){return this.getToken(FC.PASSWORD_LOCK_TIME,0)}PATH(){return this.getToken(FC.PATH,0)}PERSIST_RO_VARIABLES_ADMIN(){return this.getToken(FC.PERSIST_RO_VARIABLES_ADMIN,0)}PHASE(){return this.getToken(FC.PHASE,0)}PLUGINS(){return this.getToken(FC.PLUGINS,0)}PLUGIN_DIR(){return this.getToken(FC.PLUGIN_DIR,0)}PLUGIN(){return this.getToken(FC.PLUGIN,0)}PORT(){return this.getToken(FC.PORT,0)}PRECEDES(){return this.getToken(FC.PRECEDES,0)}PREPARE(){return this.getToken(FC.PREPARE,0)}PRESERVE(){return this.getToken(FC.PRESERVE,0)}PREV(){return this.getToken(FC.PREV,0)}PRIMARY(){return this.getToken(FC.PRIMARY,0)}PROCESSLIST(){return this.getToken(FC.PROCESSLIST,0)}PROFILE(){return this.getToken(FC.PROFILE,0)}PROFILES(){return this.getToken(FC.PROFILES,0)}PROXY(){return this.getToken(FC.PROXY,0)}QUERY(){return this.getToken(FC.QUERY,0)}QUICK(){return this.getToken(FC.QUICK,0)}REBUILD(){return this.getToken(FC.REBUILD,0)}RECOVER(){return this.getToken(FC.RECOVER,0)}RECURSIVE(){return this.getToken(FC.RECURSIVE,0)}REDO_BUFFER_SIZE(){return this.getToken(FC.REDO_BUFFER_SIZE,0)}REDUNDANT(){return this.getToken(FC.REDUNDANT,0)}RELAY(){return this.getToken(FC.RELAY,0)}RELAYLOG(){return this.getToken(FC.RELAYLOG,0)}RELAY_LOG_FILE(){return this.getToken(FC.RELAY_LOG_FILE,0)}RELAY_LOG_POS(){return this.getToken(FC.RELAY_LOG_POS,0)}REMOVE(){return this.getToken(FC.REMOVE,0)}REORGANIZE(){return this.getToken(FC.REORGANIZE,0)}REPAIR(){return this.getToken(FC.REPAIR,0)}REPLICATE_DO_DB(){return this.getToken(FC.REPLICATE_DO_DB,0)}REPLICATE_DO_TABLE(){return this.getToken(FC.REPLICATE_DO_TABLE,0)}REPLICATE_IGNORE_DB(){return this.getToken(FC.REPLICATE_IGNORE_DB,0)}REPLICATE_IGNORE_TABLE(){return this.getToken(FC.REPLICATE_IGNORE_TABLE,0)}REPLICATE_REWRITE_DB(){return this.getToken(FC.REPLICATE_REWRITE_DB,0)}REPLICATE_WILD_DO_TABLE(){return this.getToken(FC.REPLICATE_WILD_DO_TABLE,0)}REPLICATE_WILD_IGNORE_TABLE(){return this.getToken(FC.REPLICATE_WILD_IGNORE_TABLE,0)}REPLICATION(){return this.getToken(FC.REPLICATION,0)}REPLICATION_APPLIER(){return this.getToken(FC.REPLICATION_APPLIER,0)}REPLICATION_SLAVE_ADMIN(){return this.getToken(FC.REPLICATION_SLAVE_ADMIN,0)}RESET(){return this.getToken(FC.RESET,0)}RESOURCE_GROUP_ADMIN(){return this.getToken(FC.RESOURCE_GROUP_ADMIN,0)}RESOURCE_GROUP_USER(){return this.getToken(FC.RESOURCE_GROUP_USER,0)}RESUME(){return this.getToken(FC.RESUME,0)}RETURNED_SQLSTATE(){return this.getToken(FC.RETURNED_SQLSTATE,0)}RETURNS(){return this.getToken(FC.RETURNS,0)}REUSE(){return this.getToken(FC.REUSE,0)}ROLE(){return this.getToken(FC.ROLE,0)}ROLE_ADMIN(){return this.getToken(FC.ROLE_ADMIN,0)}ROLLBACK(){return this.getToken(FC.ROLLBACK,0)}ROLLUP(){return this.getToken(FC.ROLLUP,0)}ROTATE(){return this.getToken(FC.ROTATE,0)}ROW(){return this.getToken(FC.ROW,0)}ROWS(){return this.getToken(FC.ROWS,0)}ROW_FORMAT(){return this.getToken(FC.ROW_FORMAT,0)}RTREE(){return this.getToken(FC.RTREE,0)}S3(){return this.getToken(FC.S3,0)}SAVEPOINT(){return this.getToken(FC.SAVEPOINT,0)}SCHEDULE(){return this.getToken(FC.SCHEDULE,0)}SCHEMA_NAME(){return this.getToken(FC.SCHEMA_NAME,0)}SECURITY(){return this.getToken(FC.SECURITY,0)}SECONDARY_ENGINE_ATTRIBUTE(){return this.getToken(FC.SECONDARY_ENGINE_ATTRIBUTE,0)}SERIAL(){return this.getToken(FC.SERIAL,0)}SERVER(){return this.getToken(FC.SERVER,0)}SESSION(){return this.getToken(FC.SESSION,0)}SESSION_VARIABLES_ADMIN(){return this.getToken(FC.SESSION_VARIABLES_ADMIN,0)}SET_USER_ID(){return this.getToken(FC.SET_USER_ID,0)}SHARE(){return this.getToken(FC.SHARE,0)}SHARED(){return this.getToken(FC.SHARED,0)}SHOW_ROUTINE(){return this.getToken(FC.SHOW_ROUTINE,0)}SIGNED(){return this.getToken(FC.SIGNED,0)}SIMPLE(){return this.getToken(FC.SIMPLE,0)}SLAVE(){return this.getToken(FC.SLAVE,0)}SLOW(){return this.getToken(FC.SLOW,0)}SKIP_QUERY_REWRITE(){return this.getToken(FC.SKIP_QUERY_REWRITE,0)}SNAPSHOT(){return this.getToken(FC.SNAPSHOT,0)}SOCKET(){return this.getToken(FC.SOCKET,0)}SOME(){return this.getToken(FC.SOME,0)}SONAME(){return this.getToken(FC.SONAME,0)}SOUNDS(){return this.getToken(FC.SOUNDS,0)}SOURCE(){return this.getToken(FC.SOURCE,0)}SQL_AFTER_GTIDS(){return this.getToken(FC.SQL_AFTER_GTIDS,0)}SQL_AFTER_MTS_GAPS(){return this.getToken(FC.SQL_AFTER_MTS_GAPS,0)}SQL_BEFORE_GTIDS(){return this.getToken(FC.SQL_BEFORE_GTIDS,0)}SQL_BUFFER_RESULT(){return this.getToken(FC.SQL_BUFFER_RESULT,0)}SQL_CACHE(){return this.getToken(FC.SQL_CACHE,0)}SQL_NO_CACHE(){return this.getToken(FC.SQL_NO_CACHE,0)}SQL_THREAD(){return this.getToken(FC.SQL_THREAD,0)}STACKED(){return this.getToken(FC.STACKED,0)}START(){return this.getToken(FC.START,0)}STARTS(){return this.getToken(FC.STARTS,0)}STATS_AUTO_RECALC(){return this.getToken(FC.STATS_AUTO_RECALC,0)}STATS_PERSISTENT(){return this.getToken(FC.STATS_PERSISTENT,0)}STATS_SAMPLE_PAGES(){return this.getToken(FC.STATS_SAMPLE_PAGES,0)}STATUS(){return this.getToken(FC.STATUS,0)}STD(){return this.getToken(FC.STD,0)}STDDEV(){return this.getToken(FC.STDDEV,0)}STDDEV_POP(){return this.getToken(FC.STDDEV_POP,0)}STDDEV_SAMP(){return this.getToken(FC.STDDEV_SAMP,0)}STOP(){return this.getToken(FC.STOP,0)}STORAGE(){return this.getToken(FC.STORAGE,0)}STRING(){return this.getToken(FC.STRING,0)}SUBCLASS_ORIGIN(){return this.getToken(FC.SUBCLASS_ORIGIN,0)}SUBJECT(){return this.getToken(FC.SUBJECT,0)}SUBPARTITION(){return this.getToken(FC.SUBPARTITION,0)}SUBPARTITIONS(){return this.getToken(FC.SUBPARTITIONS,0)}SUM(){return this.getToken(FC.SUM,0)}SUSPEND(){return this.getToken(FC.SUSPEND,0)}SWAPS(){return this.getToken(FC.SWAPS,0)}SWITCHES(){return this.getToken(FC.SWITCHES,0)}SYSTEM_VARIABLES_ADMIN(){return this.getToken(FC.SYSTEM_VARIABLES_ADMIN,0)}TABLE_NAME(){return this.getToken(FC.TABLE_NAME,0)}TABLESPACE(){return this.getToken(FC.TABLESPACE,0)}TABLE_ENCRYPTION_ADMIN(){return this.getToken(FC.TABLE_ENCRYPTION_ADMIN,0)}TABLE_TYPE(){return this.getToken(FC.TABLE_TYPE,0)}TEMPORARY(){return this.getToken(FC.TEMPORARY,0)}TEMPTABLE(){return this.getToken(FC.TEMPTABLE,0)}THAN(){return this.getToken(FC.THAN,0)}TP_CONNECTION_ADMIN(){return this.getToken(FC.TP_CONNECTION_ADMIN,0)}TRADITIONAL(){return this.getToken(FC.TRADITIONAL,0)}TRANSACTION(){return this.getToken(FC.TRANSACTION,0)}TRANSACTIONAL(){return this.getToken(FC.TRANSACTIONAL,0)}TRIGGERS(){return this.getToken(FC.TRIGGERS,0)}TRUNCATE(){return this.getToken(FC.TRUNCATE,0)}UNBOUNDED(){return this.getToken(FC.UNBOUNDED,0)}UNDEFINED(){return this.getToken(FC.UNDEFINED,0)}UNDOFILE(){return this.getToken(FC.UNDOFILE,0)}UNDO_BUFFER_SIZE(){return this.getToken(FC.UNDO_BUFFER_SIZE,0)}UNINSTALL(){return this.getToken(FC.UNINSTALL,0)}UNKNOWN(){return this.getToken(FC.UNKNOWN,0)}UNTIL(){return this.getToken(FC.UNTIL,0)}UPGRADE(){return this.getToken(FC.UPGRADE,0)}USA(){return this.getToken(FC.USA,0)}USER(){return this.getToken(FC.USER,0)}USE_FRM(){return this.getToken(FC.USE_FRM,0)}USER_RESOURCES(){return this.getToken(FC.USER_RESOURCES,0)}VALIDATION(){return this.getToken(FC.VALIDATION,0)}VALUE(){return this.getToken(FC.VALUE,0)}VAR_POP(){return this.getToken(FC.VAR_POP,0)}VAR_SAMP(){return this.getToken(FC.VAR_SAMP,0)}VARIABLES(){return this.getToken(FC.VARIABLES,0)}VARIANCE(){return this.getToken(FC.VARIANCE,0)}VERSION_TOKEN_ADMIN(){return this.getToken(FC.VERSION_TOKEN_ADMIN,0)}VIEW(){return this.getToken(FC.VIEW,0)}VIRTUAL(){return this.getToken(FC.VIRTUAL,0)}WAIT(){return this.getToken(FC.WAIT,0)}WARNINGS(){return this.getToken(FC.WARNINGS,0)}WITHOUT(){return this.getToken(FC.WITHOUT,0)}WORK(){return this.getToken(FC.WORK,0)}WRAPPER(){return this.getToken(FC.WRAPPER,0)}X509(){return this.getToken(FC.X509,0)}XA(){return this.getToken(FC.XA,0)}XA_RECOVER_ADMIN(){return this.getToken(FC.XA_RECOVER_ADMIN,0)}XML(){return this.getToken(FC.XML,0)}get ruleIndex(){return FC.RULE_keywordsCanBeId}accept(t){return t.visitKeywordsCanBeId?t.visitKeywordsCanBeId(this):t.visitChildren(this)}},oG=class extends ga{constructor(t,e){super(t,e)}ABS(){return this.getToken(FC.ABS,0)}ACOS(){return this.getToken(FC.ACOS,0)}ADDDATE(){return this.getToken(FC.ADDDATE,0)}ADDTIME(){return this.getToken(FC.ADDTIME,0)}AES_DECRYPT(){return this.getToken(FC.AES_DECRYPT,0)}AES_ENCRYPT(){return this.getToken(FC.AES_ENCRYPT,0)}AREA(){return this.getToken(FC.AREA,0)}ASBINARY(){return this.getToken(FC.ASBINARY,0)}ASIN(){return this.getToken(FC.ASIN,0)}ASTEXT(){return this.getToken(FC.ASTEXT,0)}ASWKB(){return this.getToken(FC.ASWKB,0)}ASWKT(){return this.getToken(FC.ASWKT,0)}ASYMMETRIC_DECRYPT(){return this.getToken(FC.ASYMMETRIC_DECRYPT,0)}ASYMMETRIC_DERIVE(){return this.getToken(FC.ASYMMETRIC_DERIVE,0)}ASYMMETRIC_ENCRYPT(){return this.getToken(FC.ASYMMETRIC_ENCRYPT,0)}ASYMMETRIC_SIGN(){return this.getToken(FC.ASYMMETRIC_SIGN,0)}ASYMMETRIC_VERIFY(){return this.getToken(FC.ASYMMETRIC_VERIFY,0)}ATAN(){return this.getToken(FC.ATAN,0)}ATAN2(){return this.getToken(FC.ATAN2,0)}BENCHMARK(){return this.getToken(FC.BENCHMARK,0)}BIN(){return this.getToken(FC.BIN,0)}BIT_COUNT(){return this.getToken(FC.BIT_COUNT,0)}BIT_LENGTH(){return this.getToken(FC.BIT_LENGTH,0)}BUFFER(){return this.getToken(FC.BUFFER,0)}CEIL(){return this.getToken(FC.CEIL,0)}CEILING(){return this.getToken(FC.CEILING,0)}CENTROID(){return this.getToken(FC.CENTROID,0)}CHARACTER_LENGTH(){return this.getToken(FC.CHARACTER_LENGTH,0)}CHARSET(){return this.getToken(FC.CHARSET,0)}CHAR_LENGTH(){return this.getToken(FC.CHAR_LENGTH,0)}COERCIBILITY(){return this.getToken(FC.COERCIBILITY,0)}COLLATION(){return this.getToken(FC.COLLATION,0)}COMPRESS(){return this.getToken(FC.COMPRESS,0)}CONCAT(){return this.getToken(FC.CONCAT,0)}CONCAT_WS(){return this.getToken(FC.CONCAT_WS,0)}CONNECTION_ID(){return this.getToken(FC.CONNECTION_ID,0)}CONV(){return this.getToken(FC.CONV,0)}CONVERT_TZ(){return this.getToken(FC.CONVERT_TZ,0)}COS(){return this.getToken(FC.COS,0)}COT(){return this.getToken(FC.COT,0)}COUNT(){return this.getToken(FC.COUNT,0)}CRC32(){return this.getToken(FC.CRC32,0)}CREATE_ASYMMETRIC_PRIV_KEY(){return this.getToken(FC.CREATE_ASYMMETRIC_PRIV_KEY,0)}CREATE_ASYMMETRIC_PUB_KEY(){return this.getToken(FC.CREATE_ASYMMETRIC_PUB_KEY,0)}CREATE_DH_PARAMETERS(){return this.getToken(FC.CREATE_DH_PARAMETERS,0)}CREATE_DIGEST(){return this.getToken(FC.CREATE_DIGEST,0)}CROSSES(){return this.getToken(FC.CROSSES,0)}CUME_DIST(){return this.getToken(FC.CUME_DIST,0)}DATABASE(){return this.getToken(FC.DATABASE,0)}DATE(){return this.getToken(FC.DATE,0)}DATEDIFF(){return this.getToken(FC.DATEDIFF,0)}DATE_FORMAT(){return this.getToken(FC.DATE_FORMAT,0)}DAY(){return this.getToken(FC.DAY,0)}DAYNAME(){return this.getToken(FC.DAYNAME,0)}DAYOFMONTH(){return this.getToken(FC.DAYOFMONTH,0)}DAYOFWEEK(){return this.getToken(FC.DAYOFWEEK,0)}DAYOFYEAR(){return this.getToken(FC.DAYOFYEAR,0)}DECODE(){return this.getToken(FC.DECODE,0)}DEGREES(){return this.getToken(FC.DEGREES,0)}DENSE_RANK(){return this.getToken(FC.DENSE_RANK,0)}DES_DECRYPT(){return this.getToken(FC.DES_DECRYPT,0)}DES_ENCRYPT(){return this.getToken(FC.DES_ENCRYPT,0)}DIMENSION(){return this.getToken(FC.DIMENSION,0)}DISJOINT(){return this.getToken(FC.DISJOINT,0)}ELT(){return this.getToken(FC.ELT,0)}ENCODE(){return this.getToken(FC.ENCODE,0)}ENCRYPT(){return this.getToken(FC.ENCRYPT,0)}ENDPOINT(){return this.getToken(FC.ENDPOINT,0)}ENVELOPE(){return this.getToken(FC.ENVELOPE,0)}EQUALS(){return this.getToken(FC.EQUALS,0)}EXP(){return this.getToken(FC.EXP,0)}EXPORT_SET(){return this.getToken(FC.EXPORT_SET,0)}EXTERIORRING(){return this.getToken(FC.EXTERIORRING,0)}EXTRACTVALUE(){return this.getToken(FC.EXTRACTVALUE,0)}FIELD(){return this.getToken(FC.FIELD,0)}FIND_IN_SET(){return this.getToken(FC.FIND_IN_SET,0)}FIRST_VALUE(){return this.getToken(FC.FIRST_VALUE,0)}FLOOR(){return this.getToken(FC.FLOOR,0)}FORMAT(){return this.getToken(FC.FORMAT,0)}FOUND_ROWS(){return this.getToken(FC.FOUND_ROWS,0)}FROM_BASE64(){return this.getToken(FC.FROM_BASE64,0)}FROM_DAYS(){return this.getToken(FC.FROM_DAYS,0)}FROM_UNIXTIME(){return this.getToken(FC.FROM_UNIXTIME,0)}GEOMCOLLFROMTEXT(){return this.getToken(FC.GEOMCOLLFROMTEXT,0)}GEOMCOLLFROMWKB(){return this.getToken(FC.GEOMCOLLFROMWKB,0)}GEOMETRYCOLLECTION(){return this.getToken(FC.GEOMETRYCOLLECTION,0)}GEOMETRYCOLLECTIONFROMTEXT(){return this.getToken(FC.GEOMETRYCOLLECTIONFROMTEXT,0)}GEOMETRYCOLLECTIONFROMWKB(){return this.getToken(FC.GEOMETRYCOLLECTIONFROMWKB,0)}GEOMETRYFROMTEXT(){return this.getToken(FC.GEOMETRYFROMTEXT,0)}GEOMETRYFROMWKB(){return this.getToken(FC.GEOMETRYFROMWKB,0)}GEOMETRYN(){return this.getToken(FC.GEOMETRYN,0)}GEOMETRYTYPE(){return this.getToken(FC.GEOMETRYTYPE,0)}GEOMFROMTEXT(){return this.getToken(FC.GEOMFROMTEXT,0)}GEOMFROMWKB(){return this.getToken(FC.GEOMFROMWKB,0)}GET_FORMAT(){return this.getToken(FC.GET_FORMAT,0)}GET_LOCK(){return this.getToken(FC.GET_LOCK,0)}GLENGTH(){return this.getToken(FC.GLENGTH,0)}GREATEST(){return this.getToken(FC.GREATEST,0)}GTID_SUBSET(){return this.getToken(FC.GTID_SUBSET,0)}GTID_SUBTRACT(){return this.getToken(FC.GTID_SUBTRACT,0)}HEX(){return this.getToken(FC.HEX,0)}HOUR(){return this.getToken(FC.HOUR,0)}IFNULL(){return this.getToken(FC.IFNULL,0)}INET6_ATON(){return this.getToken(FC.INET6_ATON,0)}INET6_NTOA(){return this.getToken(FC.INET6_NTOA,0)}INET_ATON(){return this.getToken(FC.INET_ATON,0)}INET_NTOA(){return this.getToken(FC.INET_NTOA,0)}INSTR(){return this.getToken(FC.INSTR,0)}INTERIORRINGN(){return this.getToken(FC.INTERIORRINGN,0)}INTERSECTS(){return this.getToken(FC.INTERSECTS,0)}INVISIBLE(){return this.getToken(FC.INVISIBLE,0)}ISCLOSED(){return this.getToken(FC.ISCLOSED,0)}ISEMPTY(){return this.getToken(FC.ISEMPTY,0)}ISNULL(){return this.getToken(FC.ISNULL,0)}ISSIMPLE(){return this.getToken(FC.ISSIMPLE,0)}IS_FREE_LOCK(){return this.getToken(FC.IS_FREE_LOCK,0)}IS_IPV4(){return this.getToken(FC.IS_IPV4,0)}IS_IPV4_COMPAT(){return this.getToken(FC.IS_IPV4_COMPAT,0)}IS_IPV4_MAPPED(){return this.getToken(FC.IS_IPV4_MAPPED,0)}IS_IPV6(){return this.getToken(FC.IS_IPV6,0)}IS_USED_LOCK(){return this.getToken(FC.IS_USED_LOCK,0)}LAG(){return this.getToken(FC.LAG,0)}LAST_INSERT_ID(){return this.getToken(FC.LAST_INSERT_ID,0)}LAST_VALUE(){return this.getToken(FC.LAST_VALUE,0)}LCASE(){return this.getToken(FC.LCASE,0)}LEAD(){return this.getToken(FC.LEAD,0)}LEAST(){return this.getToken(FC.LEAST,0)}LEFT(){return this.getToken(FC.LEFT,0)}LENGTH(){return this.getToken(FC.LENGTH,0)}LINEFROMTEXT(){return this.getToken(FC.LINEFROMTEXT,0)}LINEFROMWKB(){return this.getToken(FC.LINEFROMWKB,0)}LINESTRING(){return this.getToken(FC.LINESTRING,0)}LINESTRINGFROMTEXT(){return this.getToken(FC.LINESTRINGFROMTEXT,0)}LINESTRINGFROMWKB(){return this.getToken(FC.LINESTRINGFROMWKB,0)}LN(){return this.getToken(FC.LN,0)}LOAD_FILE(){return this.getToken(FC.LOAD_FILE,0)}LOCATE(){return this.getToken(FC.LOCATE,0)}LOG(){return this.getToken(FC.LOG,0)}LOG10(){return this.getToken(FC.LOG10,0)}LOG2(){return this.getToken(FC.LOG2,0)}LOWER(){return this.getToken(FC.LOWER,0)}LPAD(){return this.getToken(FC.LPAD,0)}LTRIM(){return this.getToken(FC.LTRIM,0)}MAKEDATE(){return this.getToken(FC.MAKEDATE,0)}MAKETIME(){return this.getToken(FC.MAKETIME,0)}MAKE_SET(){return this.getToken(FC.MAKE_SET,0)}MASTER_POS_WAIT(){return this.getToken(FC.MASTER_POS_WAIT,0)}MBRCONTAINS(){return this.getToken(FC.MBRCONTAINS,0)}MBRDISJOINT(){return this.getToken(FC.MBRDISJOINT,0)}MBREQUAL(){return this.getToken(FC.MBREQUAL,0)}MBRINTERSECTS(){return this.getToken(FC.MBRINTERSECTS,0)}MBROVERLAPS(){return this.getToken(FC.MBROVERLAPS,0)}MBRTOUCHES(){return this.getToken(FC.MBRTOUCHES,0)}MBRWITHIN(){return this.getToken(FC.MBRWITHIN,0)}MD5(){return this.getToken(FC.MD5,0)}MICROSECOND(){return this.getToken(FC.MICROSECOND,0)}MINUTE(){return this.getToken(FC.MINUTE,0)}MLINEFROMTEXT(){return this.getToken(FC.MLINEFROMTEXT,0)}MLINEFROMWKB(){return this.getToken(FC.MLINEFROMWKB,0)}MOD(){return this.getToken(FC.MOD,0)}MONTH(){return this.getToken(FC.MONTH,0)}MONTHNAME(){return this.getToken(FC.MONTHNAME,0)}MPOINTFROMTEXT(){return this.getToken(FC.MPOINTFROMTEXT,0)}MPOINTFROMWKB(){return this.getToken(FC.MPOINTFROMWKB,0)}MPOLYFROMTEXT(){return this.getToken(FC.MPOLYFROMTEXT,0)}MPOLYFROMWKB(){return this.getToken(FC.MPOLYFROMWKB,0)}MULTILINESTRING(){return this.getToken(FC.MULTILINESTRING,0)}MULTILINESTRINGFROMTEXT(){return this.getToken(FC.MULTILINESTRINGFROMTEXT,0)}MULTILINESTRINGFROMWKB(){return this.getToken(FC.MULTILINESTRINGFROMWKB,0)}MULTIPOINT(){return this.getToken(FC.MULTIPOINT,0)}MULTIPOINTFROMTEXT(){return this.getToken(FC.MULTIPOINTFROMTEXT,0)}MULTIPOINTFROMWKB(){return this.getToken(FC.MULTIPOINTFROMWKB,0)}MULTIPOLYGON(){return this.getToken(FC.MULTIPOLYGON,0)}MULTIPOLYGONFROMTEXT(){return this.getToken(FC.MULTIPOLYGONFROMTEXT,0)}MULTIPOLYGONFROMWKB(){return this.getToken(FC.MULTIPOLYGONFROMWKB,0)}NAME_CONST(){return this.getToken(FC.NAME_CONST,0)}NTH_VALUE(){return this.getToken(FC.NTH_VALUE,0)}NTILE(){return this.getToken(FC.NTILE,0)}NULLIF(){return this.getToken(FC.NULLIF,0)}NUMGEOMETRIES(){return this.getToken(FC.NUMGEOMETRIES,0)}NUMINTERIORRINGS(){return this.getToken(FC.NUMINTERIORRINGS,0)}NUMPOINTS(){return this.getToken(FC.NUMPOINTS,0)}OCT(){return this.getToken(FC.OCT,0)}OCTET_LENGTH(){return this.getToken(FC.OCTET_LENGTH,0)}ORD(){return this.getToken(FC.ORD,0)}OVERLAPS(){return this.getToken(FC.OVERLAPS,0)}PERCENT_RANK(){return this.getToken(FC.PERCENT_RANK,0)}PERIOD_ADD(){return this.getToken(FC.PERIOD_ADD,0)}PERIOD_DIFF(){return this.getToken(FC.PERIOD_DIFF,0)}PI(){return this.getToken(FC.PI,0)}POINT(){return this.getToken(FC.POINT,0)}POINTFROMTEXT(){return this.getToken(FC.POINTFROMTEXT,0)}POINTFROMWKB(){return this.getToken(FC.POINTFROMWKB,0)}POINTN(){return this.getToken(FC.POINTN,0)}POLYFROMTEXT(){return this.getToken(FC.POLYFROMTEXT,0)}POLYFROMWKB(){return this.getToken(FC.POLYFROMWKB,0)}POLYGON(){return this.getToken(FC.POLYGON,0)}POLYGONFROMTEXT(){return this.getToken(FC.POLYGONFROMTEXT,0)}POLYGONFROMWKB(){return this.getToken(FC.POLYGONFROMWKB,0)}POSITION(){return this.getToken(FC.POSITION,0)}POW(){return this.getToken(FC.POW,0)}POWER(){return this.getToken(FC.POWER,0)}QUARTER(){return this.getToken(FC.QUARTER,0)}QUOTE(){return this.getToken(FC.QUOTE,0)}RADIANS(){return this.getToken(FC.RADIANS,0)}RAND(){return this.getToken(FC.RAND,0)}RANDOM(){return this.getToken(FC.RANDOM,0)}RANK(){return this.getToken(FC.RANK,0)}RANDOM_BYTES(){return this.getToken(FC.RANDOM_BYTES,0)}RELEASE_LOCK(){return this.getToken(FC.RELEASE_LOCK,0)}REVERSE(){return this.getToken(FC.REVERSE,0)}RIGHT(){return this.getToken(FC.RIGHT,0)}ROUND(){return this.getToken(FC.ROUND,0)}ROW_COUNT(){return this.getToken(FC.ROW_COUNT,0)}ROW_NUMBER(){return this.getToken(FC.ROW_NUMBER,0)}RPAD(){return this.getToken(FC.RPAD,0)}RTRIM(){return this.getToken(FC.RTRIM,0)}SCHEMA(){return this.getToken(FC.SCHEMA,0)}SECOND(){return this.getToken(FC.SECOND,0)}SEC_TO_TIME(){return this.getToken(FC.SEC_TO_TIME,0)}SESSION_USER(){return this.getToken(FC.SESSION_USER,0)}SESSION_VARIABLES_ADMIN(){return this.getToken(FC.SESSION_VARIABLES_ADMIN,0)}SHA(){return this.getToken(FC.SHA,0)}SHA1(){return this.getToken(FC.SHA1,0)}SHA2(){return this.getToken(FC.SHA2,0)}SIGN(){return this.getToken(FC.SIGN,0)}SIN(){return this.getToken(FC.SIN,0)}SLEEP(){return this.getToken(FC.SLEEP,0)}SOUNDEX(){return this.getToken(FC.SOUNDEX,0)}SQL_THREAD_WAIT_AFTER_GTIDS(){return this.getToken(FC.SQL_THREAD_WAIT_AFTER_GTIDS,0)}SQRT(){return this.getToken(FC.SQRT,0)}SRID(){return this.getToken(FC.SRID,0)}STARTPOINT(){return this.getToken(FC.STARTPOINT,0)}STRCMP(){return this.getToken(FC.STRCMP,0)}STR_TO_DATE(){return this.getToken(FC.STR_TO_DATE,0)}ST_AREA(){return this.getToken(FC.ST_AREA,0)}ST_ASBINARY(){return this.getToken(FC.ST_ASBINARY,0)}ST_ASTEXT(){return this.getToken(FC.ST_ASTEXT,0)}ST_ASWKB(){return this.getToken(FC.ST_ASWKB,0)}ST_ASWKT(){return this.getToken(FC.ST_ASWKT,0)}ST_BUFFER(){return this.getToken(FC.ST_BUFFER,0)}ST_CENTROID(){return this.getToken(FC.ST_CENTROID,0)}ST_CONTAINS(){return this.getToken(FC.ST_CONTAINS,0)}ST_CROSSES(){return this.getToken(FC.ST_CROSSES,0)}ST_DIFFERENCE(){return this.getToken(FC.ST_DIFFERENCE,0)}ST_DIMENSION(){return this.getToken(FC.ST_DIMENSION,0)}ST_DISJOINT(){return this.getToken(FC.ST_DISJOINT,0)}ST_DISTANCE(){return this.getToken(FC.ST_DISTANCE,0)}ST_ENDPOINT(){return this.getToken(FC.ST_ENDPOINT,0)}ST_ENVELOPE(){return this.getToken(FC.ST_ENVELOPE,0)}ST_EQUALS(){return this.getToken(FC.ST_EQUALS,0)}ST_EXTERIORRING(){return this.getToken(FC.ST_EXTERIORRING,0)}ST_GEOMCOLLFROMTEXT(){return this.getToken(FC.ST_GEOMCOLLFROMTEXT,0)}ST_GEOMCOLLFROMTXT(){return this.getToken(FC.ST_GEOMCOLLFROMTXT,0)}ST_GEOMCOLLFROMWKB(){return this.getToken(FC.ST_GEOMCOLLFROMWKB,0)}ST_GEOMETRYCOLLECTIONFROMTEXT(){return this.getToken(FC.ST_GEOMETRYCOLLECTIONFROMTEXT,0)}ST_GEOMETRYCOLLECTIONFROMWKB(){return this.getToken(FC.ST_GEOMETRYCOLLECTIONFROMWKB,0)}ST_GEOMETRYFROMTEXT(){return this.getToken(FC.ST_GEOMETRYFROMTEXT,0)}ST_GEOMETRYFROMWKB(){return this.getToken(FC.ST_GEOMETRYFROMWKB,0)}ST_GEOMETRYN(){return this.getToken(FC.ST_GEOMETRYN,0)}ST_GEOMETRYTYPE(){return this.getToken(FC.ST_GEOMETRYTYPE,0)}ST_GEOMFROMTEXT(){return this.getToken(FC.ST_GEOMFROMTEXT,0)}ST_GEOMFROMWKB(){return this.getToken(FC.ST_GEOMFROMWKB,0)}ST_INTERIORRINGN(){return this.getToken(FC.ST_INTERIORRINGN,0)}ST_INTERSECTION(){return this.getToken(FC.ST_INTERSECTION,0)}ST_INTERSECTS(){return this.getToken(FC.ST_INTERSECTS,0)}ST_ISCLOSED(){return this.getToken(FC.ST_ISCLOSED,0)}ST_ISEMPTY(){return this.getToken(FC.ST_ISEMPTY,0)}ST_ISSIMPLE(){return this.getToken(FC.ST_ISSIMPLE,0)}ST_LINEFROMTEXT(){return this.getToken(FC.ST_LINEFROMTEXT,0)}ST_LINEFROMWKB(){return this.getToken(FC.ST_LINEFROMWKB,0)}ST_LINESTRINGFROMTEXT(){return this.getToken(FC.ST_LINESTRINGFROMTEXT,0)}ST_LINESTRINGFROMWKB(){return this.getToken(FC.ST_LINESTRINGFROMWKB,0)}ST_NUMGEOMETRIES(){return this.getToken(FC.ST_NUMGEOMETRIES,0)}ST_NUMINTERIORRING(){return this.getToken(FC.ST_NUMINTERIORRING,0)}ST_NUMINTERIORRINGS(){return this.getToken(FC.ST_NUMINTERIORRINGS,0)}ST_NUMPOINTS(){return this.getToken(FC.ST_NUMPOINTS,0)}ST_OVERLAPS(){return this.getToken(FC.ST_OVERLAPS,0)}ST_POINTFROMTEXT(){return this.getToken(FC.ST_POINTFROMTEXT,0)}ST_POINTFROMWKB(){return this.getToken(FC.ST_POINTFROMWKB,0)}ST_POINTN(){return this.getToken(FC.ST_POINTN,0)}ST_POLYFROMTEXT(){return this.getToken(FC.ST_POLYFROMTEXT,0)}ST_POLYFROMWKB(){return this.getToken(FC.ST_POLYFROMWKB,0)}ST_POLYGONFROMTEXT(){return this.getToken(FC.ST_POLYGONFROMTEXT,0)}ST_POLYGONFROMWKB(){return this.getToken(FC.ST_POLYGONFROMWKB,0)}ST_SRID(){return this.getToken(FC.ST_SRID,0)}ST_STARTPOINT(){return this.getToken(FC.ST_STARTPOINT,0)}ST_SYMDIFFERENCE(){return this.getToken(FC.ST_SYMDIFFERENCE,0)}ST_TOUCHES(){return this.getToken(FC.ST_TOUCHES,0)}ST_UNION(){return this.getToken(FC.ST_UNION,0)}ST_WITHIN(){return this.getToken(FC.ST_WITHIN,0)}ST_X(){return this.getToken(FC.ST_X,0)}ST_Y(){return this.getToken(FC.ST_Y,0)}SUBDATE(){return this.getToken(FC.SUBDATE,0)}SUBSTRING_INDEX(){return this.getToken(FC.SUBSTRING_INDEX,0)}SUBTIME(){return this.getToken(FC.SUBTIME,0)}SYSTEM_USER(){return this.getToken(FC.SYSTEM_USER,0)}TAN(){return this.getToken(FC.TAN,0)}TIME(){return this.getToken(FC.TIME,0)}TIMEDIFF(){return this.getToken(FC.TIMEDIFF,0)}TIMESTAMP(){return this.getToken(FC.TIMESTAMP,0)}TIMESTAMPADD(){return this.getToken(FC.TIMESTAMPADD,0)}TIMESTAMPDIFF(){return this.getToken(FC.TIMESTAMPDIFF,0)}TIME_FORMAT(){return this.getToken(FC.TIME_FORMAT,0)}TIME_TO_SEC(){return this.getToken(FC.TIME_TO_SEC,0)}TOUCHES(){return this.getToken(FC.TOUCHES,0)}TO_BASE64(){return this.getToken(FC.TO_BASE64,0)}TO_DAYS(){return this.getToken(FC.TO_DAYS,0)}TO_SECONDS(){return this.getToken(FC.TO_SECONDS,0)}UCASE(){return this.getToken(FC.UCASE,0)}UNCOMPRESS(){return this.getToken(FC.UNCOMPRESS,0)}UNCOMPRESSED_LENGTH(){return this.getToken(FC.UNCOMPRESSED_LENGTH,0)}UNHEX(){return this.getToken(FC.UNHEX,0)}UNIX_TIMESTAMP(){return this.getToken(FC.UNIX_TIMESTAMP,0)}UPDATEXML(){return this.getToken(FC.UPDATEXML,0)}UPPER(){return this.getToken(FC.UPPER,0)}UUID(){return this.getToken(FC.UUID,0)}UUID_SHORT(){return this.getToken(FC.UUID_SHORT,0)}VALIDATE_PASSWORD_STRENGTH(){return this.getToken(FC.VALIDATE_PASSWORD_STRENGTH,0)}VERSION(){return this.getToken(FC.VERSION,0)}VISIBLE(){return this.getToken(FC.VISIBLE,0)}WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(){return this.getToken(FC.WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS,0)}WEEK(){return this.getToken(FC.WEEK,0)}WEEKDAY(){return this.getToken(FC.WEEKDAY,0)}WEEKOFYEAR(){return this.getToken(FC.WEEKOFYEAR,0)}WEIGHT_STRING(){return this.getToken(FC.WEIGHT_STRING,0)}WITHIN(){return this.getToken(FC.WITHIN,0)}YEAR(){return this.getToken(FC.YEAR,0)}YEARWEEK(){return this.getToken(FC.YEARWEEK,0)}Y_FUNCTION(){return this.getToken(FC.Y_FUNCTION,0)}X_FUNCTION(){return this.getToken(FC.X_FUNCTION,0)}JSON_ARRAY(){return this.getToken(FC.JSON_ARRAY,0)}JSON_OBJECT(){return this.getToken(FC.JSON_OBJECT,0)}JSON_QUOTE(){return this.getToken(FC.JSON_QUOTE,0)}JSON_CONTAINS(){return this.getToken(FC.JSON_CONTAINS,0)}JSON_CONTAINS_PATH(){return this.getToken(FC.JSON_CONTAINS_PATH,0)}JSON_EXTRACT(){return this.getToken(FC.JSON_EXTRACT,0)}JSON_KEYS(){return this.getToken(FC.JSON_KEYS,0)}JSON_OVERLAPS(){return this.getToken(FC.JSON_OVERLAPS,0)}JSON_SEARCH(){return this.getToken(FC.JSON_SEARCH,0)}JSON_VALUE(){return this.getToken(FC.JSON_VALUE,0)}JSON_ARRAY_APPEND(){return this.getToken(FC.JSON_ARRAY_APPEND,0)}JSON_ARRAY_INSERT(){return this.getToken(FC.JSON_ARRAY_INSERT,0)}JSON_INSERT(){return this.getToken(FC.JSON_INSERT,0)}JSON_MERGE(){return this.getToken(FC.JSON_MERGE,0)}JSON_MERGE_PATCH(){return this.getToken(FC.JSON_MERGE_PATCH,0)}JSON_MERGE_PRESERVE(){return this.getToken(FC.JSON_MERGE_PRESERVE,0)}JSON_REMOVE(){return this.getToken(FC.JSON_REMOVE,0)}JSON_REPLACE(){return this.getToken(FC.JSON_REPLACE,0)}JSON_SET(){return this.getToken(FC.JSON_SET,0)}JSON_UNQUOTE(){return this.getToken(FC.JSON_UNQUOTE,0)}JSON_DEPTH(){return this.getToken(FC.JSON_DEPTH,0)}JSON_LENGTH(){return this.getToken(FC.JSON_LENGTH,0)}JSON_TYPE(){return this.getToken(FC.JSON_TYPE,0)}JSON_VALID(){return this.getToken(FC.JSON_VALID,0)}JSON_TABLE(){return this.getToken(FC.JSON_TABLE,0)}JSON_SCHEMA_VALID(){return this.getToken(FC.JSON_SCHEMA_VALID,0)}JSON_SCHEMA_VALIDATION_REPORT(){return this.getToken(FC.JSON_SCHEMA_VALIDATION_REPORT,0)}JSON_PRETTY(){return this.getToken(FC.JSON_PRETTY,0)}JSON_STORAGE_FREE(){return this.getToken(FC.JSON_STORAGE_FREE,0)}JSON_STORAGE_SIZE(){return this.getToken(FC.JSON_STORAGE_SIZE,0)}JSON_ARRAYAGG(){return this.getToken(FC.JSON_ARRAYAGG,0)}JSON_OBJECTAGG(){return this.getToken(FC.JSON_OBJECTAGG,0)}get ruleIndex(){return FC.RULE_functionNameBase}accept(t){return t.visitFunctionNameBase?t.visitFunctionNameBase(this):t.visitChildren(this)}},RG=class extends Ii{},AG={SPACE:FC.SPACE,FROM:FC.FROM,OPENING_BRACKET:FC.LR_BRACKET,CLOSING_BRACKET:FC.RR_BRACKET,ALTER:FC.ALTER,INSERT:FC.INSERT,UPDATE:FC.UPDATE,JOIN:FC.JOIN,SEMICOLON:FC.SEMI,SELECT:FC.SELECT};var SG=new Set(function(){let t=[],e=FC.VAR_ASSIGN,s=FC.ERROR_RECONGNIGION;for(let E=e;E<=s;E++)E!==FC.STAR&&t.push(E);let a=FC.ARMSCII8,r=FC.UTF8MB4;for(let E=a;E<=r;E++)t.push(E);let i=FC.AVG,c=FC.UTC_TIMESTAMP;for(let E=i;E<=c;E++)t.push(E);let n=FC.ABS,h=FC.X_FUNCTION;for(let E=n;E<=h;E++)t.push(E);return t.push(FC.EOF),t.push(FC.KEY),t}()),lG=new Set([FC.RULE_userName,FC.RULE_roleName,FC.RULE_databaseName,FC.RULE_constraintName,FC.RULE_triggerName,FC.RULE_indexName,FC.RULE_fullColumnName,FC.RULE_tableName,FC.RULE_simpleUserName,FC.RULE_fullId,FC.RULE_simpleId,FC.RULE_uid,FC.RULE_aggregateWindowedFunction,FC.RULE_scalarFunctionName,FC.RULE_specificFunction,FC.RULE_passwordFunctionClause]),OG=class extends RG{constructor(){super(),this.visitTableName=t=>{try{this.symbolTable.addNewSymbolOfType(qc,this.scope,t.getText())}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitAtomTableItem=t=>{try{var e;let s=null===(e=t.uid())||void 0===e?void 0:e.getText(),a="left"===(null===s||void 0===s?void 0:s.toLowerCase())||"right"===(null===s||void 0===s?void 0:s.toLowerCase());this.symbolTable.addNewSymbolOfType(qc,this.scope,t.tableName().getText(),a?void 0:s)}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitSelectElementAlias=t=>{try{this.symbolTable.addNewSymbolOfType(zc,this.scope,t.uid().getText())}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.symbolTable=new Zc("",{allowDuplicateSymbols:!0}),this.scope=this.symbolTable.addNewSymbolOfType(Bc,void 0)}};function IG(t,e){if(!e)return t.root();switch(e){case"from":return t.fromClause();case"alter":return t.alterTable();case"insert":return t.insertStatement();case"update":return t.multipleUpdateStatement();case"select":return t.selectStatement()}}var uG={Lexer:GC,Parser:FC,tokenDictionary:AG,ignoredTokens:SG,rulesToVisit:lG,getParseTree:IG,enrichAutocompleteResult:function(t,e,s,a,r,i){let{shouldSuggestColumns:c,shouldSuggestColumnAliases:n,shouldSuggestConstraints:h,...E}=function(t,e,s){let a,r=!1,i=!1,c=!1,n=!1,h=!1,E=!1,T=!1,o=!1,R=!1,A=!1;for(let[S,l]of t)if(uC(e,l))switch(S){case FC.RULE_tableName:if(l.ruleList.includes(FC.RULE_createTable))break;a=UC(s,AG,e,FC.VIEW)?"VIEWS":UC(s,AG,e,FC.TABLE)?"TABLES":"ALL";break;case FC.RULE_fullId:UC(s,AG,e,FC.VIEW)&&(l.ruleList.includes(FC.RULE_alterView)||l.ruleList.includes(FC.RULE_dropView))&&(a="VIEWS");break;case FC.RULE_aggregateWindowedFunction:r=!0;break;case FC.RULE_scalarFunctionName:i=!0;break;case FC.RULE_triggerName:n=!0;break;case FC.RULE_indexName:c=!0;break;case FC.RULE_constraintName:o=!0;break;case FC.RULE_databaseName:h=!0;break;case FC.RULE_roleName:E=!0;break;case FC.RULE_userName:T=!0;break;case FC.RULE_fullColumnName:case FC.RULE_indexColumnName:R=!0,(l.ruleList.includes(FC.RULE_groupByItem)||l.ruleList.includes(FC.RULE_orderByExpression))&&(A=!0);break;case FC.RULE_uid:(l.ruleList.includes(FC.RULE_alterSpecification)&&!UC(s,AG,e,FC.ADD)||l.ruleList.includes(FC.RULE_indexColumnName))&&(R=!0)}return{suggestViewsOrTables:a,suggestAggregateFunctions:r,suggestFunctions:i,suggestIndexes:c,suggestTriggers:n,suggestDatabases:h,suggestRoles:E,suggestUsers:T,shouldSuggestConstraints:o,shouldSuggestColumns:R,shouldSuggestColumnAliases:A}}(e,a,s),T={...t,...E,suggestTemplates:_C(i,r)};if(c||h||n){let t=new OG,{tableContextSuggestion:e,suggestColumnAliases:a}=mC(GC,FC,t,AG,IG,s,r,i);c&&e&&(T.suggestColumns=e),h&&e&&(T.suggestConstraints=e),n&&a&&(T.suggestColumnAliases=a)}return T}},NG=class{constructor(t){this.errors=[],this.whitespaceToken=t}syntaxError(t,e,s,a,r){if(e){let t=OC(e,this.whitespaceToken);this.errors.push({message:r,...t})}else this.errors.push({message:r,startLine:s,startColumn:a,endLine:s,endColumn:a})}reportAmbiguity(){}reportAttemptingFullContext(){}reportContextSensitivity(){}},LG=(Ji=class t extends $r{constructor(e){super(e),this.interpreter=new hi(this,t._ATN,t.decisionsToDFA,new Si)}get grammarFileName(){return"ClickHouseLexer.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}get channelNames(){return t.channelNames}get modeNames(){return t.modeNames}static get _ATN(){return t.__ATN||(t.__ATN=(new fr).deserialize(t._serializedATN)),t.__ATN}get vocabulary(){return t.vocabulary}},Ji.ADD=1,Ji.AFTER=2,Ji.ALIAS=3,Ji.ALL=4,Ji.ALTER=5,Ji.AND=6,Ji.ANTI=7,Ji.ANY=8,Ji.ARRAY=9,Ji.AS=10,Ji.ASCENDING=11,Ji.ASOF=12,Ji.AST=13,Ji.ASYNC=14,Ji.ATTACH=15,Ji.BETWEEN=16,Ji.BOTH=17,Ji.BY=18,Ji.CASE=19,Ji.CAST=20,Ji.CHECK=21,Ji.CLEAR=22,Ji.CLUSTER=23,Ji.CODEC=24,Ji.COLLATE=25,Ji.COLUMN=26,Ji.COMMENT=27,Ji.CONSTRAINT=28,Ji.CREATE=29,Ji.CROSS=30,Ji.CUBE=31,Ji.CURRENT=32,Ji.DATABASE=33,Ji.DATABASES=34,Ji.DATE=35,Ji.DAY=36,Ji.DEDUPLICATE=37,Ji.DEFAULT=38,Ji.DELAY=39,Ji.DELETE=40,Ji.DESC=41,Ji.DESCENDING=42,Ji.DESCRIBE=43,Ji.DETACH=44,Ji.DICTIONARIES=45,Ji.DICTIONARY=46,Ji.DISK=47,Ji.DISTINCT=48,Ji.DISTRIBUTED=49,Ji.DROP=50,Ji.ELSE=51,Ji.END=52,Ji.ENGINE=53,Ji.ESTIMATE=54,Ji.EVENTS=55,Ji.EXISTS=56,Ji.EXPLAIN=57,Ji.EXPRESSION=58,Ji.EXTRACT=59,Ji.FETCHES=60,Ji.FINAL=61,Ji.FIRST=62,Ji.FLUSH=63,Ji.FOLLOWING=64,Ji.FOR=65,Ji.FORMAT=66,Ji.FREEZE=67,Ji.FROM=68,Ji.FULL=69,Ji.FUNCTION=70,Ji.GLOBAL=71,Ji.GRANULARITY=72,Ji.GROUP=73,Ji.HAVING=74,Ji.HIERARCHICAL=75,Ji.HOUR=76,Ji.ID=77,Ji.IF=78,Ji.ILIKE=79,Ji.IN=80,Ji.INDEX=81,Ji.INF=82,Ji.INJECTIVE=83,Ji.INNER=84,Ji.INSERT=85,Ji.INTERVAL=86,Ji.INTO=87,Ji.IS=88,Ji.IS_OBJECT_ID=89,Ji.JOIN=90,Ji.KEY=91,Ji.KILL=92,Ji.LAST=93,Ji.LAYOUT=94,Ji.LEADING=95,Ji.LEFT=96,Ji.LIFETIME=97,Ji.LIKE=98,Ji.LIMIT=99,Ji.LIVE=100,Ji.LOCAL=101,Ji.LOGS=102,Ji.MATERIALIZE=103,Ji.MATERIALIZED=104,Ji.MAX=105,Ji.MERGES=106,Ji.MIN=107,Ji.MINUTE=108,Ji.MODIFY=109,Ji.MONTH=110,Ji.MOVE=111,Ji.MUTATION=112,Ji.NAN_SQL=113,Ji.NO=114,Ji.NOT=115,Ji.NULL_SQL=116,Ji.NULLS=117,Ji.OFFSET=118,Ji.ON=119,Ji.OPTIMIZE=120,Ji.OR=121,Ji.ORDER=122,Ji.OUTER=123,Ji.OUTFILE=124,Ji.OVER=125,Ji.PARTITION=126,Ji.PIPELINE=127,Ji.PLAN=128,Ji.POPULATE=129,Ji.PRECEDING=130,Ji.PREWHERE=131,Ji.PRIMARY=132,Ji.PROJECTION=133,Ji.QUARTER=134,Ji.QUERY=135,Ji.RANGE=136,Ji.RELOAD=137,Ji.REMOVE=138,Ji.RENAME=139,Ji.REPLACE=140,Ji.REPLICA=141,Ji.REPLICATED=142,Ji.RIGHT=143,Ji.ROLLUP=144,Ji.ROW=145,Ji.ROWS=146,Ji.SAMPLE=147,Ji.SECOND=148,Ji.SELECT=149,Ji.SEMI=150,Ji.SENDS=151,Ji.SET=152,Ji.SETTINGS=153,Ji.SHOW=154,Ji.SOURCE=155,Ji.START=156,Ji.STOP=157,Ji.SUBSTRING=158,Ji.SYNC=159,Ji.SYNTAX=160,Ji.SYSTEM=161,Ji.TABLE=162,Ji.TABLES=163,Ji.TEMPORARY=164,Ji.TEST=165,Ji.THEN=166,Ji.TIES=167,Ji.TIMEOUT=168,Ji.TIMESTAMP=169,Ji.TO=170,Ji.TOP=171,Ji.TOTALS=172,Ji.TRAILING=173,Ji.TRIM=174,Ji.TREE=175,Ji.TRUNCATE=176,Ji.TTL=177,Ji.TYPE=178,Ji.UNBOUNDED=179,Ji.UNION=180,Ji.UPDATE=181,Ji.USE=182,Ji.USING=183,Ji.UUID=184,Ji.VALUES=185,Ji.VIEW=186,Ji.VOLUME=187,Ji.WATCH=188,Ji.WEEK=189,Ji.WHEN=190,Ji.WHERE=191,Ji.WINDOW=192,Ji.WITH=193,Ji.YEAR=194,Ji.JSON_FALSE=195,Ji.JSON_TRUE=196,Ji.IDENTIFIER=197,Ji.FLOATING_LITERAL=198,Ji.OCTAL_LITERAL=199,Ji.DECIMAL_LITERAL=200,Ji.HEXADECIMAL_LITERAL=201,Ji.STRING_LITERAL=202,Ji.ARROW=203,Ji.ASTERISK=204,Ji.BACKQUOTE=205,Ji.BACKSLASH=206,Ji.COLON=207,Ji.COMMA=208,Ji.CONCAT=209,Ji.DASH=210,Ji.DOT=211,Ji.EQ_DOUBLE=212,Ji.EQ_SINGLE=213,Ji.GE=214,Ji.GT=215,Ji.LBRACE=216,Ji.LBRACKET=217,Ji.LE=218,Ji.LPAREN=219,Ji.LT=220,Ji.NOT_EQ=221,Ji.PERCENT=222,Ji.PLUS=223,Ji.QUESTIONMARK=224,Ji.QUOTE_DOUBLE=225,Ji.QUOTE_SINGLE=226,Ji.RBRACE=227,Ji.RBRACKET=228,Ji.RPAREN=229,Ji.SEMICOLON=230,Ji.SLASH=231,Ji.UNDERSCORE=232,Ji.MULTI_LINE_COMMENT=233,Ji.SINGLE_LINE_COMMENT=234,Ji.WHITESPACE=235,Ji.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],Ji.literalNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"'false'","'true'",null,null,null,null,null,null,"'->'","'*'","'`'","''","':'","','","'||'","'-'","'.'","'=='","'='","'>='","'>'","'{'","'['","'<='","'('","'<'",null,"'%'","'+'","'?'","'\"'","'''","'}'","']'","')'","';'","'/'","'_'"],Ji.symbolicNames=[null,"ADD","AFTER","ALIAS","ALL","ALTER","AND","ANTI","ANY","ARRAY","AS","ASCENDING","ASOF","AST","ASYNC","ATTACH","BETWEEN","BOTH","BY","CASE","CAST","CHECK","CLEAR","CLUSTER","CODEC","COLLATE","COLUMN","COMMENT","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","DATABASE","DATABASES","DATE","DAY","DEDUPLICATE","DEFAULT","DELAY","DELETE","DESC","DESCENDING","DESCRIBE","DETACH","DICTIONARIES","DICTIONARY","DISK","DISTINCT","DISTRIBUTED","DROP","ELSE","END","ENGINE","ESTIMATE","EVENTS","EXISTS","EXPLAIN","EXPRESSION","EXTRACT","FETCHES","FINAL","FIRST","FLUSH","FOLLOWING","FOR","FORMAT","FREEZE","FROM","FULL","FUNCTION","GLOBAL","GRANULARITY","GROUP","HAVING","HIERARCHICAL","HOUR","ID","IF","ILIKE","IN","INDEX","INF","INJECTIVE","INNER","INSERT","INTERVAL","INTO","IS","IS_OBJECT_ID","JOIN","KEY","KILL","LAST","LAYOUT","LEADING","LEFT","LIFETIME","LIKE","LIMIT","LIVE","LOCAL","LOGS","MATERIALIZE","MATERIALIZED","MAX","MERGES","MIN","MINUTE","MODIFY","MONTH","MOVE","MUTATION","NAN_SQL","NO","NOT","NULL_SQL","NULLS","OFFSET","ON","OPTIMIZE","OR","ORDER","OUTER","OUTFILE","OVER","PARTITION","PIPELINE","PLAN","POPULATE","PRECEDING","PREWHERE","PRIMARY","PROJECTION","QUARTER","QUERY","RANGE","RELOAD","REMOVE","RENAME","REPLACE","REPLICA","REPLICATED","RIGHT","ROLLUP","ROW","ROWS","SAMPLE","SECOND","SELECT","SEMI","SENDS","SET","SETTINGS","SHOW","SOURCE","START","STOP","SUBSTRING","SYNC","SYNTAX","SYSTEM","TABLE","TABLES","TEMPORARY","TEST","THEN","TIES","TIMEOUT","TIMESTAMP","TO","TOP","TOTALS","TRAILING","TRIM","TREE","TRUNCATE","TTL","TYPE","UNBOUNDED","UNION","UPDATE","USE","USING","UUID","VALUES","VIEW","VOLUME","WATCH","WEEK","WHEN","WHERE","WINDOW","WITH","YEAR","JSON_FALSE","JSON_TRUE","IDENTIFIER","FLOATING_LITERAL","OCTAL_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","STRING_LITERAL","ARROW","ASTERISK","BACKQUOTE","BACKSLASH","COLON","COMMA","CONCAT","DASH","DOT","EQ_DOUBLE","EQ_SINGLE","GE","GT","LBRACE","LBRACKET","LE","LPAREN","LT","NOT_EQ","PERCENT","PLUS","QUESTIONMARK","QUOTE_DOUBLE","QUOTE_SINGLE","RBRACE","RBRACKET","RPAREN","SEMICOLON","SLASH","UNDERSCORE","MULTI_LINE_COMMENT","SINGLE_LINE_COMMENT","WHITESPACE"],Ji.modeNames=["DEFAULT_MODE"],Ji.ruleNames=["ADD","AFTER","ALIAS","ALL","ALTER","AND","ANTI","ANY","ARRAY","AS","ASCENDING","ASOF","AST","ASYNC","ATTACH","BETWEEN","BOTH","BY","CASE","CAST","CHECK","CLEAR","CLUSTER","CODEC","COLLATE","COLUMN","COMMENT","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","DATABASE","DATABASES","DATE","DAY","DEDUPLICATE","DEFAULT","DELAY","DELETE","DESC","DESCENDING","DESCRIBE","DETACH","DICTIONARIES","DICTIONARY","DISK","DISTINCT","DISTRIBUTED","DROP","ELSE","END","ENGINE","ESTIMATE","EVENTS","EXISTS","EXPLAIN","EXPRESSION","EXTRACT","FETCHES","FINAL","FIRST","FLUSH","FOLLOWING","FOR","FORMAT","FREEZE","FROM","FULL","FUNCTION","GLOBAL","GRANULARITY","GROUP","HAVING","HIERARCHICAL","HOUR","ID","IF","ILIKE","IN","INDEX","INF","INJECTIVE","INNER","INSERT","INTERVAL","INTO","IS","IS_OBJECT_ID","JOIN","KEY","KILL","LAST","LAYOUT","LEADING","LEFT","LIFETIME","LIKE","LIMIT","LIVE","LOCAL","LOGS","MATERIALIZE","MATERIALIZED","MAX","MERGES","MIN","MINUTE","MODIFY","MONTH","MOVE","MUTATION","NAN_SQL","NO","NOT","NULL_SQL","NULLS","OFFSET","ON","OPTIMIZE","OR","ORDER","OUTER","OUTFILE","OVER","PARTITION","PIPELINE","PLAN","POPULATE","PRECEDING","PREWHERE","PRIMARY","PROJECTION","QUARTER","QUERY","RANGE","RELOAD","REMOVE","RENAME","REPLACE","REPLICA","REPLICATED","RIGHT","ROLLUP","ROW","ROWS","SAMPLE","SECOND","SELECT","SEMI","SENDS","SET","SETTINGS","SHOW","SOURCE","START","STOP","SUBSTRING","SYNC","SYNTAX","SYSTEM","TABLE","TABLES","TEMPORARY","TEST","THEN","TIES","TIMEOUT","TIMESTAMP","TO","TOP","TOTALS","TRAILING","TRIM","TREE","TRUNCATE","TTL","TYPE","UNBOUNDED","UNION","UPDATE","USE","USING","UUID","VALUES","VIEW","VOLUME","WATCH","WEEK","WHEN","WHERE","WINDOW","WITH","YEAR","JSON_FALSE","JSON_TRUE","IDENTIFIER","FLOATING_LITERAL","OCTAL_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","STRING_LITERAL","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","LETTER","OCT_DIGIT","DEC_DIGIT","HEX_DIGIT","ARROW","ASTERISK","BACKQUOTE","BACKSLASH","COLON","COMMA","CONCAT","DASH","DOT","EQ_DOUBLE","EQ_SINGLE","GE","GT","LBRACE","LBRACKET","LE","LPAREN","LT","NOT_EQ","PERCENT","PLUS","QUESTIONMARK","QUOTE_DOUBLE","QUOTE_SINGLE","RBRACE","RBRACKET","RPAREN","SEMICOLON","SLASH","UNDERSCORE","MULTI_LINE_COMMENT","SINGLE_LINE_COMMENT","WHITESPACE"],Ji._serializedATN=[4,0,235,2168,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,3,10,594,8,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,3,81,1101,8,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,3,193,1840,8,193,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,195,1,196,1,196,3,196,1855,8,196,1,196,1,196,1,196,5,196,1860,8,196,10,196,12,196,1863,9,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,5,196,1873,8,196,10,196,12,196,1876,9,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,5,196,1888,8,196,10,196,12,196,1891,9,196,1,196,1,196,3,196,1895,8,196,1,197,1,197,1,197,5,197,1900,8,197,10,197,12,197,1903,9,197,1,197,1,197,3,197,1907,8,197,1,197,1,197,3,197,1911,8,197,1,197,4,197,1914,8,197,11,197,12,197,1915,1,197,1,197,1,197,3,197,1921,8,197,1,197,1,197,3,197,1925,8,197,1,197,4,197,1928,8,197,11,197,12,197,1929,1,197,1,197,1,197,5,197,1935,8,197,10,197,12,197,1938,9,197,1,197,1,197,1,197,3,197,1943,8,197,1,197,4,197,1946,8,197,11,197,12,197,1947,1,197,1,197,1,197,1,197,1,197,3,197,1955,8,197,1,197,4,197,1958,8,197,11,197,12,197,1959,1,197,1,197,1,197,1,197,3,197,1966,8,197,1,197,4,197,1969,8,197,11,197,12,197,1970,3,197,1973,8,197,1,198,1,198,4,198,1977,8,198,11,198,12,198,1978,1,199,4,199,1982,8,199,11,199,12,199,1983,1,200,1,200,1,200,4,200,1989,8,200,11,200,12,200,1990,1,201,1,201,1,201,1,201,1,201,1,201,1,201,1,201,5,201,2001,8,201,10,201,12,201,2004,9,201,1,201,1,201,1,202,1,202,1,203,1,203,1,204,1,204,1,205,1,205,1,206,1,206,1,207,1,207,1,208,1,208,1,209,1,209,1,210,1,210,1,211,1,211,1,212,1,212,1,213,1,213,1,214,1,214,1,215,1,215,1,216,1,216,1,217,1,217,1,218,1,218,1,219,1,219,1,220,1,220,1,221,1,221,1,222,1,222,1,223,1,223,1,224,1,224,1,225,1,225,1,226,1,226,1,227,1,227,1,228,1,228,1,229,1,229,1,230,1,230,1,231,1,231,1,232,1,232,1,232,1,233,1,233,1,234,1,234,1,235,1,235,1,236,1,236,1,237,1,237,1,238,1,238,1,238,1,239,1,239,1,240,1,240,1,241,1,241,1,241,1,242,1,242,1,243,1,243,1,243,1,244,1,244,1,245,1,245,1,246,1,246,1,247,1,247,1,247,1,248,1,248,1,249,1,249,1,250,1,250,1,250,1,250,3,250,2113,8,250,1,251,1,251,1,252,1,252,1,253,1,253,1,254,1,254,1,255,1,255,1,256,1,256,1,257,1,257,1,258,1,258,1,259,1,259,1,260,1,260,1,261,1,261,1,262,1,262,1,262,1,262,5,262,2141,8,262,10,262,12,262,2144,9,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,5,263,2155,8,263,10,263,12,263,2158,9,263,1,263,3,263,2161,8,263,1,263,1,263,1,264,1,264,1,264,1,264,1,2142,0,265,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341,171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359,180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377,189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395,198,397,199,399,200,401,201,403,202,405,0,407,0,409,0,411,0,413,0,415,0,417,0,419,0,421,0,423,0,425,0,427,0,429,0,431,0,433,0,435,0,437,0,439,0,441,0,443,0,445,0,447,0,449,0,451,0,453,0,455,0,457,0,459,0,461,0,463,0,465,203,467,204,469,205,471,206,473,207,475,208,477,209,479,210,481,211,483,212,485,213,487,214,489,215,491,216,493,217,495,218,497,219,499,220,501,221,503,222,505,223,507,224,509,225,511,226,513,227,515,228,517,229,519,230,521,231,523,232,525,233,527,234,529,235,1,0,36,2,0,92,92,96,96,2,0,34,34,92,92,2,0,39,39,92,92,2,0,65,65,97,97,2,0,66,66,98,98,2,0,67,67,99,99,2,0,68,68,100,100,2,0,69,69,101,101,2,0,70,70,102,102,2,0,71,71,103,103,2,0,72,72,104,104,2,0,73,73,105,105,2,0,74,74,106,106,2,0,75,75,107,107,2,0,76,76,108,108,2,0,77,77,109,109,2,0,78,78,110,110,2,0,79,79,111,111,2,0,80,80,112,112,2,0,81,81,113,113,2,0,82,82,114,114,2,0,83,83,115,115,2,0,84,84,116,116,2,0,85,85,117,117,2,0,86,86,118,118,2,0,87,87,119,119,2,0,88,88,120,120,2,0,89,89,121,121,2,0,90,90,122,122,2,0,65,90,97,122,1,0,48,55,1,0,48,57,3,0,48,57,65,70,97,102,2,0,10,10,13,13,2,1,10,10,13,13,2,0,9,13,32,32,2184,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,1,531,1,0,0,0,3,535,1,0,0,0,5,541,1,0,0,0,7,547,1,0,0,0,9,551,1,0,0,0,11,557,1,0,0,0,13,561,1,0,0,0,15,566,1,0,0,0,17,570,1,0,0,0,19,576,1,0,0,0,21,593,1,0,0,0,23,595,1,0,0,0,25,600,1,0,0,0,27,604,1,0,0,0,29,610,1,0,0,0,31,617,1,0,0,0,33,625,1,0,0,0,35,630,1,0,0,0,37,633,1,0,0,0,39,638,1,0,0,0,41,643,1,0,0,0,43,649,1,0,0,0,45,655,1,0,0,0,47,663,1,0,0,0,49,669,1,0,0,0,51,677,1,0,0,0,53,684,1,0,0,0,55,692,1,0,0,0,57,703,1,0,0,0,59,710,1,0,0,0,61,716,1,0,0,0,63,721,1,0,0,0,65,729,1,0,0,0,67,738,1,0,0,0,69,748,1,0,0,0,71,753,1,0,0,0,73,757,1,0,0,0,75,769,1,0,0,0,77,777,1,0,0,0,79,783,1,0,0,0,81,790,1,0,0,0,83,795,1,0,0,0,85,806,1,0,0,0,87,815,1,0,0,0,89,822,1,0,0,0,91,835,1,0,0,0,93,846,1,0,0,0,95,851,1,0,0,0,97,860,1,0,0,0,99,872,1,0,0,0,101,877,1,0,0,0,103,882,1,0,0,0,105,886,1,0,0,0,107,893,1,0,0,0,109,902,1,0,0,0,111,909,1,0,0,0,113,916,1,0,0,0,115,924,1,0,0,0,117,935,1,0,0,0,119,943,1,0,0,0,121,951,1,0,0,0,123,957,1,0,0,0,125,963,1,0,0,0,127,969,1,0,0,0,129,979,1,0,0,0,131,983,1,0,0,0,133,990,1,0,0,0,135,997,1,0,0,0,137,1002,1,0,0,0,139,1007,1,0,0,0,141,1016,1,0,0,0,143,1023,1,0,0,0,145,1035,1,0,0,0,147,1041,1,0,0,0,149,1048,1,0,0,0,151,1061,1,0,0,0,153,1066,1,0,0,0,155,1069,1,0,0,0,157,1072,1,0,0,0,159,1078,1,0,0,0,161,1081,1,0,0,0,163,1100,1,0,0,0,165,1102,1,0,0,0,167,1112,1,0,0,0,169,1118,1,0,0,0,171,1125,1,0,0,0,173,1134,1,0,0,0,175,1139,1,0,0,0,177,1142,1,0,0,0,179,1155,1,0,0,0,181,1160,1,0,0,0,183,1164,1,0,0,0,185,1169,1,0,0,0,187,1174,1,0,0,0,189,1181,1,0,0,0,191,1189,1,0,0,0,193,1194,1,0,0,0,195,1203,1,0,0,0,197,1208,1,0,0,0,199,1214,1,0,0,0,201,1219,1,0,0,0,203,1225,1,0,0,0,205,1230,1,0,0,0,207,1242,1,0,0,0,209,1255,1,0,0,0,211,1259,1,0,0,0,213,1266,1,0,0,0,215,1270,1,0,0,0,217,1277,1,0,0,0,219,1284,1,0,0,0,221,1290,1,0,0,0,223,1295,1,0,0,0,225,1304,1,0,0,0,227,1308,1,0,0,0,229,1311,1,0,0,0,231,1315,1,0,0,0,233,1320,1,0,0,0,235,1326,1,0,0,0,237,1333,1,0,0,0,239,1336,1,0,0,0,241,1345,1,0,0,0,243,1348,1,0,0,0,245,1354,1,0,0,0,247,1360,1,0,0,0,249,1368,1,0,0,0,251,1373,1,0,0,0,253,1383,1,0,0,0,255,1392,1,0,0,0,257,1397,1,0,0,0,259,1406,1,0,0,0,261,1416,1,0,0,0,263,1425,1,0,0,0,265,1433,1,0,0,0,267,1444,1,0,0,0,269,1452,1,0,0,0,271,1458,1,0,0,0,273,1464,1,0,0,0,275,1471,1,0,0,0,277,1478,1,0,0,0,279,1485,1,0,0,0,281,1493,1,0,0,0,283,1501,1,0,0,0,285,1512,1,0,0,0,287,1518,1,0,0,0,289,1525,1,0,0,0,291,1529,1,0,0,0,293,1534,1,0,0,0,295,1541,1,0,0,0,297,1548,1,0,0,0,299,1555,1,0,0,0,301,1560,1,0,0,0,303,1566,1,0,0,0,305,1570,1,0,0,0,307,1579,1,0,0,0,309,1584,1,0,0,0,311,1591,1,0,0,0,313,1597,1,0,0,0,315,1602,1,0,0,0,317,1612,1,0,0,0,319,1617,1,0,0,0,321,1624,1,0,0,0,323,1631,1,0,0,0,325,1637,1,0,0,0,327,1644,1,0,0,0,329,1654,1,0,0,0,331,1659,1,0,0,0,333,1664,1,0,0,0,335,1669,1,0,0,0,337,1677,1,0,0,0,339,1687,1,0,0,0,341,1690,1,0,0,0,343,1694,1,0,0,0,345,1701,1,0,0,0,347,1710,1,0,0,0,349,1715,1,0,0,0,351,1720,1,0,0,0,353,1729,1,0,0,0,355,1733,1,0,0,0,357,1738,1,0,0,0,359,1748,1,0,0,0,361,1754,1,0,0,0,363,1761,1,0,0,0,365,1765,1,0,0,0,367,1771,1,0,0,0,369,1776,1,0,0,0,371,1783,1,0,0,0,373,1788,1,0,0,0,375,1795,1,0,0,0,377,1801,1,0,0,0,379,1806,1,0,0,0,381,1811,1,0,0,0,383,1817,1,0,0,0,385,1824,1,0,0,0,387,1839,1,0,0,0,389,1841,1,0,0,0,391,1847,1,0,0,0,393,1894,1,0,0,0,395,1972,1,0,0,0,397,1974,1,0,0,0,399,1981,1,0,0,0,401,1985,1,0,0,0,403,1992,1,0,0,0,405,2007,1,0,0,0,407,2009,1,0,0,0,409,2011,1,0,0,0,411,2013,1,0,0,0,413,2015,1,0,0,0,415,2017,1,0,0,0,417,2019,1,0,0,0,419,2021,1,0,0,0,421,2023,1,0,0,0,423,2025,1,0,0,0,425,2027,1,0,0,0,427,2029,1,0,0,0,429,2031,1,0,0,0,431,2033,1,0,0,0,433,2035,1,0,0,0,435,2037,1,0,0,0,437,2039,1,0,0,0,439,2041,1,0,0,0,441,2043,1,0,0,0,443,2045,1,0,0,0,445,2047,1,0,0,0,447,2049,1,0,0,0,449,2051,1,0,0,0,451,2053,1,0,0,0,453,2055,1,0,0,0,455,2057,1,0,0,0,457,2059,1,0,0,0,459,2061,1,0,0,0,461,2063,1,0,0,0,463,2065,1,0,0,0,465,2067,1,0,0,0,467,2070,1,0,0,0,469,2072,1,0,0,0,471,2074,1,0,0,0,473,2076,1,0,0,0,475,2078,1,0,0,0,477,2080,1,0,0,0,479,2083,1,0,0,0,481,2085,1,0,0,0,483,2087,1,0,0,0,485,2090,1,0,0,0,487,2092,1,0,0,0,489,2095,1,0,0,0,491,2097,1,0,0,0,493,2099,1,0,0,0,495,2101,1,0,0,0,497,2104,1,0,0,0,499,2106,1,0,0,0,501,2112,1,0,0,0,503,2114,1,0,0,0,505,2116,1,0,0,0,507,2118,1,0,0,0,509,2120,1,0,0,0,511,2122,1,0,0,0,513,2124,1,0,0,0,515,2126,1,0,0,0,517,2128,1,0,0,0,519,2130,1,0,0,0,521,2132,1,0,0,0,523,2134,1,0,0,0,525,2136,1,0,0,0,527,2150,1,0,0,0,529,2164,1,0,0,0,531,532,3,405,202,0,532,533,3,411,205,0,533,534,3,411,205,0,534,2,1,0,0,0,535,536,3,405,202,0,536,537,3,415,207,0,537,538,3,443,221,0,538,539,3,413,206,0,539,540,3,439,219,0,540,4,1,0,0,0,541,542,3,405,202,0,542,543,3,427,213,0,543,544,3,421,210,0,544,545,3,405,202,0,545,546,3,441,220,0,546,6,1,0,0,0,547,548,3,405,202,0,548,549,3,427,213,0,549,550,3,427,213,0,550,8,1,0,0,0,551,552,3,405,202,0,552,553,3,427,213,0,553,554,3,443,221,0,554,555,3,413,206,0,555,556,3,439,219,0,556,10,1,0,0,0,557,558,3,405,202,0,558,559,3,431,215,0,559,560,3,411,205,0,560,12,1,0,0,0,561,562,3,405,202,0,562,563,3,431,215,0,563,564,3,443,221,0,564,565,3,421,210,0,565,14,1,0,0,0,566,567,3,405,202,0,567,568,3,431,215,0,568,569,3,453,226,0,569,16,1,0,0,0,570,571,3,405,202,0,571,572,3,439,219,0,572,573,3,439,219,0,573,574,3,405,202,0,574,575,3,453,226,0,575,18,1,0,0,0,576,577,3,405,202,0,577,578,3,441,220,0,578,20,1,0,0,0,579,580,3,405,202,0,580,581,3,441,220,0,581,582,3,409,204,0,582,594,1,0,0,0,583,584,3,405,202,0,584,585,3,441,220,0,585,586,3,409,204,0,586,587,3,413,206,0,587,588,3,431,215,0,588,589,3,411,205,0,589,590,3,421,210,0,590,591,3,431,215,0,591,592,3,417,208,0,592,594,1,0,0,0,593,579,1,0,0,0,593,583,1,0,0,0,594,22,1,0,0,0,595,596,3,405,202,0,596,597,3,441,220,0,597,598,3,433,216,0,598,599,3,415,207,0,599,24,1,0,0,0,600,601,3,405,202,0,601,602,3,441,220,0,602,603,3,443,221,0,603,26,1,0,0,0,604,605,3,405,202,0,605,606,3,441,220,0,606,607,3,453,226,0,607,608,3,431,215,0,608,609,3,409,204,0,609,28,1,0,0,0,610,611,3,405,202,0,611,612,3,443,221,0,612,613,3,443,221,0,613,614,3,405,202,0,614,615,3,409,204,0,615,616,3,419,209,0,616,30,1,0,0,0,617,618,3,407,203,0,618,619,3,413,206,0,619,620,3,443,221,0,620,621,3,449,224,0,621,622,3,413,206,0,622,623,3,413,206,0,623,624,3,431,215,0,624,32,1,0,0,0,625,626,3,407,203,0,626,627,3,433,216,0,627,628,3,443,221,0,628,629,3,419,209,0,629,34,1,0,0,0,630,631,3,407,203,0,631,632,3,453,226,0,632,36,1,0,0,0,633,634,3,409,204,0,634,635,3,405,202,0,635,636,3,441,220,0,636,637,3,413,206,0,637,38,1,0,0,0,638,639,3,409,204,0,639,640,3,405,202,0,640,641,3,441,220,0,641,642,3,443,221,0,642,40,1,0,0,0,643,644,3,409,204,0,644,645,3,419,209,0,645,646,3,413,206,0,646,647,3,409,204,0,647,648,3,425,212,0,648,42,1,0,0,0,649,650,3,409,204,0,650,651,3,427,213,0,651,652,3,413,206,0,652,653,3,405,202,0,653,654,3,439,219,0,654,44,1,0,0,0,655,656,3,409,204,0,656,657,3,427,213,0,657,658,3,445,222,0,658,659,3,441,220,0,659,660,3,443,221,0,660,661,3,413,206,0,661,662,3,439,219,0,662,46,1,0,0,0,663,664,3,409,204,0,664,665,3,433,216,0,665,666,3,411,205,0,666,667,3,413,206,0,667,668,3,409,204,0,668,48,1,0,0,0,669,670,3,409,204,0,670,671,3,433,216,0,671,672,3,427,213,0,672,673,3,427,213,0,673,674,3,405,202,0,674,675,3,443,221,0,675,676,3,413,206,0,676,50,1,0,0,0,677,678,3,409,204,0,678,679,3,433,216,0,679,680,3,427,213,0,680,681,3,445,222,0,681,682,3,429,214,0,682,683,3,431,215,0,683,52,1,0,0,0,684,685,3,409,204,0,685,686,3,433,216,0,686,687,3,429,214,0,687,688,3,429,214,0,688,689,3,413,206,0,689,690,3,431,215,0,690,691,3,443,221,0,691,54,1,0,0,0,692,693,3,409,204,0,693,694,3,433,216,0,694,695,3,431,215,0,695,696,3,441,220,0,696,697,3,443,221,0,697,698,3,439,219,0,698,699,3,405,202,0,699,700,3,421,210,0,700,701,3,431,215,0,701,702,3,443,221,0,702,56,1,0,0,0,703,704,3,409,204,0,704,705,3,439,219,0,705,706,3,413,206,0,706,707,3,405,202,0,707,708,3,443,221,0,708,709,3,413,206,0,709,58,1,0,0,0,710,711,3,409,204,0,711,712,3,439,219,0,712,713,3,433,216,0,713,714,3,441,220,0,714,715,3,441,220,0,715,60,1,0,0,0,716,717,3,409,204,0,717,718,3,445,222,0,718,719,3,407,203,0,719,720,3,413,206,0,720,62,1,0,0,0,721,722,3,409,204,0,722,723,3,445,222,0,723,724,3,439,219,0,724,725,3,439,219,0,725,726,3,413,206,0,726,727,3,431,215,0,727,728,3,443,221,0,728,64,1,0,0,0,729,730,3,411,205,0,730,731,3,405,202,0,731,732,3,443,221,0,732,733,3,405,202,0,733,734,3,407,203,0,734,735,3,405,202,0,735,736,3,441,220,0,736,737,3,413,206,0,737,66,1,0,0,0,738,739,3,411,205,0,739,740,3,405,202,0,740,741,3,443,221,0,741,742,3,405,202,0,742,743,3,407,203,0,743,744,3,405,202,0,744,745,3,441,220,0,745,746,3,413,206,0,746,747,3,441,220,0,747,68,1,0,0,0,748,749,3,411,205,0,749,750,3,405,202,0,750,751,3,443,221,0,751,752,3,413,206,0,752,70,1,0,0,0,753,754,3,411,205,0,754,755,3,405,202,0,755,756,3,453,226,0,756,72,1,0,0,0,757,758,3,411,205,0,758,759,3,413,206,0,759,760,3,411,205,0,760,761,3,445,222,0,761,762,3,435,217,0,762,763,3,427,213,0,763,764,3,421,210,0,764,765,3,409,204,0,765,766,3,405,202,0,766,767,3,443,221,0,767,768,3,413,206,0,768,74,1,0,0,0,769,770,3,411,205,0,770,771,3,413,206,0,771,772,3,415,207,0,772,773,3,405,202,0,773,774,3,445,222,0,774,775,3,427,213,0,775,776,3,443,221,0,776,76,1,0,0,0,777,778,3,411,205,0,778,779,3,413,206,0,779,780,3,427,213,0,780,781,3,405,202,0,781,782,3,453,226,0,782,78,1,0,0,0,783,784,3,411,205,0,784,785,3,413,206,0,785,786,3,427,213,0,786,787,3,413,206,0,787,788,3,443,221,0,788,789,3,413,206,0,789,80,1,0,0,0,790,791,3,411,205,0,791,792,3,413,206,0,792,793,3,441,220,0,793,794,3,409,204,0,794,82,1,0,0,0,795,796,3,411,205,0,796,797,3,413,206,0,797,798,3,441,220,0,798,799,3,409,204,0,799,800,3,413,206,0,800,801,3,431,215,0,801,802,3,411,205,0,802,803,3,421,210,0,803,804,3,431,215,0,804,805,3,417,208,0,805,84,1,0,0,0,806,807,3,411,205,0,807,808,3,413,206,0,808,809,3,441,220,0,809,810,3,409,204,0,810,811,3,439,219,0,811,812,3,421,210,0,812,813,3,407,203,0,813,814,3,413,206,0,814,86,1,0,0,0,815,816,3,411,205,0,816,817,3,413,206,0,817,818,3,443,221,0,818,819,3,405,202,0,819,820,3,409,204,0,820,821,3,419,209,0,821,88,1,0,0,0,822,823,3,411,205,0,823,824,3,421,210,0,824,825,3,409,204,0,825,826,3,443,221,0,826,827,3,421,210,0,827,828,3,433,216,0,828,829,3,431,215,0,829,830,3,405,202,0,830,831,3,439,219,0,831,832,3,421,210,0,832,833,3,413,206,0,833,834,3,441,220,0,834,90,1,0,0,0,835,836,3,411,205,0,836,837,3,421,210,0,837,838,3,409,204,0,838,839,3,443,221,0,839,840,3,421,210,0,840,841,3,433,216,0,841,842,3,431,215,0,842,843,3,405,202,0,843,844,3,439,219,0,844,845,3,453,226,0,845,92,1,0,0,0,846,847,3,411,205,0,847,848,3,421,210,0,848,849,3,441,220,0,849,850,3,425,212,0,850,94,1,0,0,0,851,852,3,411,205,0,852,853,3,421,210,0,853,854,3,441,220,0,854,855,3,443,221,0,855,856,3,421,210,0,856,857,3,431,215,0,857,858,3,409,204,0,858,859,3,443,221,0,859,96,1,0,0,0,860,861,3,411,205,0,861,862,3,421,210,0,862,863,3,441,220,0,863,864,3,443,221,0,864,865,3,439,219,0,865,866,3,421,210,0,866,867,3,407,203,0,867,868,3,445,222,0,868,869,3,443,221,0,869,870,3,413,206,0,870,871,3,411,205,0,871,98,1,0,0,0,872,873,3,411,205,0,873,874,3,439,219,0,874,875,3,433,216,0,875,876,3,435,217,0,876,100,1,0,0,0,877,878,3,413,206,0,878,879,3,427,213,0,879,880,3,441,220,0,880,881,3,413,206,0,881,102,1,0,0,0,882,883,3,413,206,0,883,884,3,431,215,0,884,885,3,411,205,0,885,104,1,0,0,0,886,887,3,413,206,0,887,888,3,431,215,0,888,889,3,417,208,0,889,890,3,421,210,0,890,891,3,431,215,0,891,892,3,413,206,0,892,106,1,0,0,0,893,894,3,413,206,0,894,895,3,441,220,0,895,896,3,443,221,0,896,897,3,421,210,0,897,898,3,429,214,0,898,899,3,405,202,0,899,900,3,443,221,0,900,901,3,413,206,0,901,108,1,0,0,0,902,903,3,413,206,0,903,904,3,447,223,0,904,905,3,413,206,0,905,906,3,431,215,0,906,907,3,443,221,0,907,908,3,441,220,0,908,110,1,0,0,0,909,910,3,413,206,0,910,911,3,451,225,0,911,912,3,421,210,0,912,913,3,441,220,0,913,914,3,443,221,0,914,915,3,441,220,0,915,112,1,0,0,0,916,917,3,413,206,0,917,918,3,451,225,0,918,919,3,435,217,0,919,920,3,427,213,0,920,921,3,405,202,0,921,922,3,421,210,0,922,923,3,431,215,0,923,114,1,0,0,0,924,925,3,413,206,0,925,926,3,451,225,0,926,927,3,435,217,0,927,928,3,439,219,0,928,929,3,413,206,0,929,930,3,441,220,0,930,931,3,441,220,0,931,932,3,421,210,0,932,933,3,433,216,0,933,934,3,431,215,0,934,116,1,0,0,0,935,936,3,413,206,0,936,937,3,451,225,0,937,938,3,443,221,0,938,939,3,439,219,0,939,940,3,405,202,0,940,941,3,409,204,0,941,942,3,443,221,0,942,118,1,0,0,0,943,944,3,415,207,0,944,945,3,413,206,0,945,946,3,443,221,0,946,947,3,409,204,0,947,948,3,419,209,0,948,949,3,413,206,0,949,950,3,441,220,0,950,120,1,0,0,0,951,952,3,415,207,0,952,953,3,421,210,0,953,954,3,431,215,0,954,955,3,405,202,0,955,956,3,427,213,0,956,122,1,0,0,0,957,958,3,415,207,0,958,959,3,421,210,0,959,960,3,439,219,0,960,961,3,441,220,0,961,962,3,443,221,0,962,124,1,0,0,0,963,964,3,415,207,0,964,965,3,427,213,0,965,966,3,445,222,0,966,967,3,441,220,0,967,968,3,419,209,0,968,126,1,0,0,0,969,970,3,415,207,0,970,971,3,433,216,0,971,972,3,427,213,0,972,973,3,427,213,0,973,974,3,433,216,0,974,975,3,449,224,0,975,976,3,421,210,0,976,977,3,431,215,0,977,978,3,417,208,0,978,128,1,0,0,0,979,980,3,415,207,0,980,981,3,433,216,0,981,982,3,439,219,0,982,130,1,0,0,0,983,984,3,415,207,0,984,985,3,433,216,0,985,986,3,439,219,0,986,987,3,429,214,0,987,988,3,405,202,0,988,989,3,443,221,0,989,132,1,0,0,0,990,991,3,415,207,0,991,992,3,439,219,0,992,993,3,413,206,0,993,994,3,413,206,0,994,995,3,455,227,0,995,996,3,413,206,0,996,134,1,0,0,0,997,998,3,415,207,0,998,999,3,439,219,0,999,1e3,3,433,216,0,1e3,1001,3,429,214,0,1001,136,1,0,0,0,1002,1003,3,415,207,0,1003,1004,3,445,222,0,1004,1005,3,427,213,0,1005,1006,3,427,213,0,1006,138,1,0,0,0,1007,1008,3,415,207,0,1008,1009,3,445,222,0,1009,1010,3,431,215,0,1010,1011,3,409,204,0,1011,1012,3,443,221,0,1012,1013,3,421,210,0,1013,1014,3,433,216,0,1014,1015,3,431,215,0,1015,140,1,0,0,0,1016,1017,3,417,208,0,1017,1018,3,427,213,0,1018,1019,3,433,216,0,1019,1020,3,407,203,0,1020,1021,3,405,202,0,1021,1022,3,427,213,0,1022,142,1,0,0,0,1023,1024,3,417,208,0,1024,1025,3,439,219,0,1025,1026,3,405,202,0,1026,1027,3,431,215,0,1027,1028,3,445,222,0,1028,1029,3,427,213,0,1029,1030,3,405,202,0,1030,1031,3,439,219,0,1031,1032,3,421,210,0,1032,1033,3,443,221,0,1033,1034,3,453,226,0,1034,144,1,0,0,0,1035,1036,3,417,208,0,1036,1037,3,439,219,0,1037,1038,3,433,216,0,1038,1039,3,445,222,0,1039,1040,3,435,217,0,1040,146,1,0,0,0,1041,1042,3,419,209,0,1042,1043,3,405,202,0,1043,1044,3,447,223,0,1044,1045,3,421,210,0,1045,1046,3,431,215,0,1046,1047,3,417,208,0,1047,148,1,0,0,0,1048,1049,3,419,209,0,1049,1050,3,421,210,0,1050,1051,3,413,206,0,1051,1052,3,439,219,0,1052,1053,3,405,202,0,1053,1054,3,439,219,0,1054,1055,3,409,204,0,1055,1056,3,419,209,0,1056,1057,3,421,210,0,1057,1058,3,409,204,0,1058,1059,3,405,202,0,1059,1060,3,427,213,0,1060,150,1,0,0,0,1061,1062,3,419,209,0,1062,1063,3,433,216,0,1063,1064,3,445,222,0,1064,1065,3,439,219,0,1065,152,1,0,0,0,1066,1067,3,421,210,0,1067,1068,3,411,205,0,1068,154,1,0,0,0,1069,1070,3,421,210,0,1070,1071,3,415,207,0,1071,156,1,0,0,0,1072,1073,3,421,210,0,1073,1074,3,427,213,0,1074,1075,3,421,210,0,1075,1076,3,425,212,0,1076,1077,3,413,206,0,1077,158,1,0,0,0,1078,1079,3,421,210,0,1079,1080,3,431,215,0,1080,160,1,0,0,0,1081,1082,3,421,210,0,1082,1083,3,431,215,0,1083,1084,3,411,205,0,1084,1085,3,413,206,0,1085,1086,3,451,225,0,1086,162,1,0,0,0,1087,1088,3,421,210,0,1088,1089,3,431,215,0,1089,1090,3,415,207,0,1090,1101,1,0,0,0,1091,1092,3,421,210,0,1092,1093,3,431,215,0,1093,1094,3,415,207,0,1094,1095,3,421,210,0,1095,1096,3,431,215,0,1096,1097,3,421,210,0,1097,1098,3,443,221,0,1098,1099,3,453,226,0,1099,1101,1,0,0,0,1100,1087,1,0,0,0,1100,1091,1,0,0,0,1101,164,1,0,0,0,1102,1103,3,421,210,0,1103,1104,3,431,215,0,1104,1105,3,423,211,0,1105,1106,3,413,206,0,1106,1107,3,409,204,0,1107,1108,3,443,221,0,1108,1109,3,421,210,0,1109,1110,3,447,223,0,1110,1111,3,413,206,0,1111,166,1,0,0,0,1112,1113,3,421,210,0,1113,1114,3,431,215,0,1114,1115,3,431,215,0,1115,1116,3,413,206,0,1116,1117,3,439,219,0,1117,168,1,0,0,0,1118,1119,3,421,210,0,1119,1120,3,431,215,0,1120,1121,3,441,220,0,1121,1122,3,413,206,0,1122,1123,3,439,219,0,1123,1124,3,443,221,0,1124,170,1,0,0,0,1125,1126,3,421,210,0,1126,1127,3,431,215,0,1127,1128,3,443,221,0,1128,1129,3,413,206,0,1129,1130,3,439,219,0,1130,1131,3,447,223,0,1131,1132,3,405,202,0,1132,1133,3,427,213,0,1133,172,1,0,0,0,1134,1135,3,421,210,0,1135,1136,3,431,215,0,1136,1137,3,443,221,0,1137,1138,3,433,216,0,1138,174,1,0,0,0,1139,1140,3,421,210,0,1140,1141,3,441,220,0,1141,176,1,0,0,0,1142,1143,3,421,210,0,1143,1144,3,441,220,0,1144,1145,3,523,261,0,1145,1146,3,433,216,0,1146,1147,3,407,203,0,1147,1148,3,423,211,0,1148,1149,3,413,206,0,1149,1150,3,409,204,0,1150,1151,3,443,221,0,1151,1152,3,523,261,0,1152,1153,3,421,210,0,1153,1154,3,411,205,0,1154,178,1,0,0,0,1155,1156,3,423,211,0,1156,1157,3,433,216,0,1157,1158,3,421,210,0,1158,1159,3,431,215,0,1159,180,1,0,0,0,1160,1161,3,425,212,0,1161,1162,3,413,206,0,1162,1163,3,453,226,0,1163,182,1,0,0,0,1164,1165,3,425,212,0,1165,1166,3,421,210,0,1166,1167,3,427,213,0,1167,1168,3,427,213,0,1168,184,1,0,0,0,1169,1170,3,427,213,0,1170,1171,3,405,202,0,1171,1172,3,441,220,0,1172,1173,3,443,221,0,1173,186,1,0,0,0,1174,1175,3,427,213,0,1175,1176,3,405,202,0,1176,1177,3,453,226,0,1177,1178,3,433,216,0,1178,1179,3,445,222,0,1179,1180,3,443,221,0,1180,188,1,0,0,0,1181,1182,3,427,213,0,1182,1183,3,413,206,0,1183,1184,3,405,202,0,1184,1185,3,411,205,0,1185,1186,3,421,210,0,1186,1187,3,431,215,0,1187,1188,3,417,208,0,1188,190,1,0,0,0,1189,1190,3,427,213,0,1190,1191,3,413,206,0,1191,1192,3,415,207,0,1192,1193,3,443,221,0,1193,192,1,0,0,0,1194,1195,3,427,213,0,1195,1196,3,421,210,0,1196,1197,3,415,207,0,1197,1198,3,413,206,0,1198,1199,3,443,221,0,1199,1200,3,421,210,0,1200,1201,3,429,214,0,1201,1202,3,413,206,0,1202,194,1,0,0,0,1203,1204,3,427,213,0,1204,1205,3,421,210,0,1205,1206,3,425,212,0,1206,1207,3,413,206,0,1207,196,1,0,0,0,1208,1209,3,427,213,0,1209,1210,3,421,210,0,1210,1211,3,429,214,0,1211,1212,3,421,210,0,1212,1213,3,443,221,0,1213,198,1,0,0,0,1214,1215,3,427,213,0,1215,1216,3,421,210,0,1216,1217,3,447,223,0,1217,1218,3,413,206,0,1218,200,1,0,0,0,1219,1220,3,427,213,0,1220,1221,3,433,216,0,1221,1222,3,409,204,0,1222,1223,3,405,202,0,1223,1224,3,427,213,0,1224,202,1,0,0,0,1225,1226,3,427,213,0,1226,1227,3,433,216,0,1227,1228,3,417,208,0,1228,1229,3,441,220,0,1229,204,1,0,0,0,1230,1231,3,429,214,0,1231,1232,3,405,202,0,1232,1233,3,443,221,0,1233,1234,3,413,206,0,1234,1235,3,439,219,0,1235,1236,3,421,210,0,1236,1237,3,405,202,0,1237,1238,3,427,213,0,1238,1239,3,421,210,0,1239,1240,3,455,227,0,1240,1241,3,413,206,0,1241,206,1,0,0,0,1242,1243,3,429,214,0,1243,1244,3,405,202,0,1244,1245,3,443,221,0,1245,1246,3,413,206,0,1246,1247,3,439,219,0,1247,1248,3,421,210,0,1248,1249,3,405,202,0,1249,1250,3,427,213,0,1250,1251,3,421,210,0,1251,1252,3,455,227,0,1252,1253,3,413,206,0,1253,1254,3,411,205,0,1254,208,1,0,0,0,1255,1256,3,429,214,0,1256,1257,3,405,202,0,1257,1258,3,451,225,0,1258,210,1,0,0,0,1259,1260,3,429,214,0,1260,1261,3,413,206,0,1261,1262,3,439,219,0,1262,1263,3,417,208,0,1263,1264,3,413,206,0,1264,1265,3,441,220,0,1265,212,1,0,0,0,1266,1267,3,429,214,0,1267,1268,3,421,210,0,1268,1269,3,431,215,0,1269,214,1,0,0,0,1270,1271,3,429,214,0,1271,1272,3,421,210,0,1272,1273,3,431,215,0,1273,1274,3,445,222,0,1274,1275,3,443,221,0,1275,1276,3,413,206,0,1276,216,1,0,0,0,1277,1278,3,429,214,0,1278,1279,3,433,216,0,1279,1280,3,411,205,0,1280,1281,3,421,210,0,1281,1282,3,415,207,0,1282,1283,3,453,226,0,1283,218,1,0,0,0,1284,1285,3,429,214,0,1285,1286,3,433,216,0,1286,1287,3,431,215,0,1287,1288,3,443,221,0,1288,1289,3,419,209,0,1289,220,1,0,0,0,1290,1291,3,429,214,0,1291,1292,3,433,216,0,1292,1293,3,447,223,0,1293,1294,3,413,206,0,1294,222,1,0,0,0,1295,1296,3,429,214,0,1296,1297,3,445,222,0,1297,1298,3,443,221,0,1298,1299,3,405,202,0,1299,1300,3,443,221,0,1300,1301,3,421,210,0,1301,1302,3,433,216,0,1302,1303,3,431,215,0,1303,224,1,0,0,0,1304,1305,3,431,215,0,1305,1306,3,405,202,0,1306,1307,3,431,215,0,1307,226,1,0,0,0,1308,1309,3,431,215,0,1309,1310,3,433,216,0,1310,228,1,0,0,0,1311,1312,3,431,215,0,1312,1313,3,433,216,0,1313,1314,3,443,221,0,1314,230,1,0,0,0,1315,1316,3,431,215,0,1316,1317,3,445,222,0,1317,1318,3,427,213,0,1318,1319,3,427,213,0,1319,232,1,0,0,0,1320,1321,3,431,215,0,1321,1322,3,445,222,0,1322,1323,3,427,213,0,1323,1324,3,427,213,0,1324,1325,3,441,220,0,1325,234,1,0,0,0,1326,1327,3,433,216,0,1327,1328,3,415,207,0,1328,1329,3,415,207,0,1329,1330,3,441,220,0,1330,1331,3,413,206,0,1331,1332,3,443,221,0,1332,236,1,0,0,0,1333,1334,3,433,216,0,1334,1335,3,431,215,0,1335,238,1,0,0,0,1336,1337,3,433,216,0,1337,1338,3,435,217,0,1338,1339,3,443,221,0,1339,1340,3,421,210,0,1340,1341,3,429,214,0,1341,1342,3,421,210,0,1342,1343,3,455,227,0,1343,1344,3,413,206,0,1344,240,1,0,0,0,1345,1346,3,433,216,0,1346,1347,3,439,219,0,1347,242,1,0,0,0,1348,1349,3,433,216,0,1349,1350,3,439,219,0,1350,1351,3,411,205,0,1351,1352,3,413,206,0,1352,1353,3,439,219,0,1353,244,1,0,0,0,1354,1355,3,433,216,0,1355,1356,3,445,222,0,1356,1357,3,443,221,0,1357,1358,3,413,206,0,1358,1359,3,439,219,0,1359,246,1,0,0,0,1360,1361,3,433,216,0,1361,1362,3,445,222,0,1362,1363,3,443,221,0,1363,1364,3,415,207,0,1364,1365,3,421,210,0,1365,1366,3,427,213,0,1366,1367,3,413,206,0,1367,248,1,0,0,0,1368,1369,3,433,216,0,1369,1370,3,447,223,0,1370,1371,3,413,206,0,1371,1372,3,439,219,0,1372,250,1,0,0,0,1373,1374,3,435,217,0,1374,1375,3,405,202,0,1375,1376,3,439,219,0,1376,1377,3,443,221,0,1377,1378,3,421,210,0,1378,1379,3,443,221,0,1379,1380,3,421,210,0,1380,1381,3,433,216,0,1381,1382,3,431,215,0,1382,252,1,0,0,0,1383,1384,3,435,217,0,1384,1385,3,421,210,0,1385,1386,3,435,217,0,1386,1387,3,413,206,0,1387,1388,3,427,213,0,1388,1389,3,421,210,0,1389,1390,3,431,215,0,1390,1391,3,413,206,0,1391,254,1,0,0,0,1392,1393,3,435,217,0,1393,1394,3,427,213,0,1394,1395,3,405,202,0,1395,1396,3,431,215,0,1396,256,1,0,0,0,1397,1398,3,435,217,0,1398,1399,3,433,216,0,1399,1400,3,435,217,0,1400,1401,3,445,222,0,1401,1402,3,427,213,0,1402,1403,3,405,202,0,1403,1404,3,443,221,0,1404,1405,3,413,206,0,1405,258,1,0,0,0,1406,1407,3,435,217,0,1407,1408,3,439,219,0,1408,1409,3,413,206,0,1409,1410,3,409,204,0,1410,1411,3,413,206,0,1411,1412,3,411,205,0,1412,1413,3,421,210,0,1413,1414,3,431,215,0,1414,1415,3,417,208,0,1415,260,1,0,0,0,1416,1417,3,435,217,0,1417,1418,3,439,219,0,1418,1419,3,413,206,0,1419,1420,3,449,224,0,1420,1421,3,419,209,0,1421,1422,3,413,206,0,1422,1423,3,439,219,0,1423,1424,3,413,206,0,1424,262,1,0,0,0,1425,1426,3,435,217,0,1426,1427,3,439,219,0,1427,1428,3,421,210,0,1428,1429,3,429,214,0,1429,1430,3,405,202,0,1430,1431,3,439,219,0,1431,1432,3,453,226,0,1432,264,1,0,0,0,1433,1434,3,435,217,0,1434,1435,3,439,219,0,1435,1436,3,433,216,0,1436,1437,3,423,211,0,1437,1438,3,413,206,0,1438,1439,3,409,204,0,1439,1440,3,443,221,0,1440,1441,3,421,210,0,1441,1442,3,433,216,0,1442,1443,3,431,215,0,1443,266,1,0,0,0,1444,1445,3,437,218,0,1445,1446,3,445,222,0,1446,1447,3,405,202,0,1447,1448,3,439,219,0,1448,1449,3,443,221,0,1449,1450,3,413,206,0,1450,1451,3,439,219,0,1451,268,1,0,0,0,1452,1453,3,437,218,0,1453,1454,3,445,222,0,1454,1455,3,413,206,0,1455,1456,3,439,219,0,1456,1457,3,453,226,0,1457,270,1,0,0,0,1458,1459,3,439,219,0,1459,1460,3,405,202,0,1460,1461,3,431,215,0,1461,1462,3,417,208,0,1462,1463,3,413,206,0,1463,272,1,0,0,0,1464,1465,3,439,219,0,1465,1466,3,413,206,0,1466,1467,3,427,213,0,1467,1468,3,433,216,0,1468,1469,3,405,202,0,1469,1470,3,411,205,0,1470,274,1,0,0,0,1471,1472,3,439,219,0,1472,1473,3,413,206,0,1473,1474,3,429,214,0,1474,1475,3,433,216,0,1475,1476,3,447,223,0,1476,1477,3,413,206,0,1477,276,1,0,0,0,1478,1479,3,439,219,0,1479,1480,3,413,206,0,1480,1481,3,431,215,0,1481,1482,3,405,202,0,1482,1483,3,429,214,0,1483,1484,3,413,206,0,1484,278,1,0,0,0,1485,1486,3,439,219,0,1486,1487,3,413,206,0,1487,1488,3,435,217,0,1488,1489,3,427,213,0,1489,1490,3,405,202,0,1490,1491,3,409,204,0,1491,1492,3,413,206,0,1492,280,1,0,0,0,1493,1494,3,439,219,0,1494,1495,3,413,206,0,1495,1496,3,435,217,0,1496,1497,3,427,213,0,1497,1498,3,421,210,0,1498,1499,3,409,204,0,1499,1500,3,405,202,0,1500,282,1,0,0,0,1501,1502,3,439,219,0,1502,1503,3,413,206,0,1503,1504,3,435,217,0,1504,1505,3,427,213,0,1505,1506,3,421,210,0,1506,1507,3,409,204,0,1507,1508,3,405,202,0,1508,1509,3,443,221,0,1509,1510,3,413,206,0,1510,1511,3,411,205,0,1511,284,1,0,0,0,1512,1513,3,439,219,0,1513,1514,3,421,210,0,1514,1515,3,417,208,0,1515,1516,3,419,209,0,1516,1517,3,443,221,0,1517,286,1,0,0,0,1518,1519,3,439,219,0,1519,1520,3,433,216,0,1520,1521,3,427,213,0,1521,1522,3,427,213,0,1522,1523,3,445,222,0,1523,1524,3,435,217,0,1524,288,1,0,0,0,1525,1526,3,439,219,0,1526,1527,3,433,216,0,1527,1528,3,449,224,0,1528,290,1,0,0,0,1529,1530,3,439,219,0,1530,1531,3,433,216,0,1531,1532,3,449,224,0,1532,1533,3,441,220,0,1533,292,1,0,0,0,1534,1535,3,441,220,0,1535,1536,3,405,202,0,1536,1537,3,429,214,0,1537,1538,3,435,217,0,1538,1539,3,427,213,0,1539,1540,3,413,206,0,1540,294,1,0,0,0,1541,1542,3,441,220,0,1542,1543,3,413,206,0,1543,1544,3,409,204,0,1544,1545,3,433,216,0,1545,1546,3,431,215,0,1546,1547,3,411,205,0,1547,296,1,0,0,0,1548,1549,3,441,220,0,1549,1550,3,413,206,0,1550,1551,3,427,213,0,1551,1552,3,413,206,0,1552,1553,3,409,204,0,1553,1554,3,443,221,0,1554,298,1,0,0,0,1555,1556,3,441,220,0,1556,1557,3,413,206,0,1557,1558,3,429,214,0,1558,1559,3,421,210,0,1559,300,1,0,0,0,1560,1561,3,441,220,0,1561,1562,3,413,206,0,1562,1563,3,431,215,0,1563,1564,3,411,205,0,1564,1565,3,441,220,0,1565,302,1,0,0,0,1566,1567,3,441,220,0,1567,1568,3,413,206,0,1568,1569,3,443,221,0,1569,304,1,0,0,0,1570,1571,3,441,220,0,1571,1572,3,413,206,0,1572,1573,3,443,221,0,1573,1574,3,443,221,0,1574,1575,3,421,210,0,1575,1576,3,431,215,0,1576,1577,3,417,208,0,1577,1578,3,441,220,0,1578,306,1,0,0,0,1579,1580,3,441,220,0,1580,1581,3,419,209,0,1581,1582,3,433,216,0,1582,1583,3,449,224,0,1583,308,1,0,0,0,1584,1585,3,441,220,0,1585,1586,3,433,216,0,1586,1587,3,445,222,0,1587,1588,3,439,219,0,1588,1589,3,409,204,0,1589,1590,3,413,206,0,1590,310,1,0,0,0,1591,1592,3,441,220,0,1592,1593,3,443,221,0,1593,1594,3,405,202,0,1594,1595,3,439,219,0,1595,1596,3,443,221,0,1596,312,1,0,0,0,1597,1598,3,441,220,0,1598,1599,3,443,221,0,1599,1600,3,433,216,0,1600,1601,3,435,217,0,1601,314,1,0,0,0,1602,1603,3,441,220,0,1603,1604,3,445,222,0,1604,1605,3,407,203,0,1605,1606,3,441,220,0,1606,1607,3,443,221,0,1607,1608,3,439,219,0,1608,1609,3,421,210,0,1609,1610,3,431,215,0,1610,1611,3,417,208,0,1611,316,1,0,0,0,1612,1613,3,441,220,0,1613,1614,3,453,226,0,1614,1615,3,431,215,0,1615,1616,3,409,204,0,1616,318,1,0,0,0,1617,1618,3,441,220,0,1618,1619,3,453,226,0,1619,1620,3,431,215,0,1620,1621,3,443,221,0,1621,1622,3,405,202,0,1622,1623,3,451,225,0,1623,320,1,0,0,0,1624,1625,3,441,220,0,1625,1626,3,453,226,0,1626,1627,3,441,220,0,1627,1628,3,443,221,0,1628,1629,3,413,206,0,1629,1630,3,429,214,0,1630,322,1,0,0,0,1631,1632,3,443,221,0,1632,1633,3,405,202,0,1633,1634,3,407,203,0,1634,1635,3,427,213,0,1635,1636,3,413,206,0,1636,324,1,0,0,0,1637,1638,3,443,221,0,1638,1639,3,405,202,0,1639,1640,3,407,203,0,1640,1641,3,427,213,0,1641,1642,3,413,206,0,1642,1643,3,441,220,0,1643,326,1,0,0,0,1644,1645,3,443,221,0,1645,1646,3,413,206,0,1646,1647,3,429,214,0,1647,1648,3,435,217,0,1648,1649,3,433,216,0,1649,1650,3,439,219,0,1650,1651,3,405,202,0,1651,1652,3,439,219,0,1652,1653,3,453,226,0,1653,328,1,0,0,0,1654,1655,3,443,221,0,1655,1656,3,413,206,0,1656,1657,3,441,220,0,1657,1658,3,443,221,0,1658,330,1,0,0,0,1659,1660,3,443,221,0,1660,1661,3,419,209,0,1661,1662,3,413,206,0,1662,1663,3,431,215,0,1663,332,1,0,0,0,1664,1665,3,443,221,0,1665,1666,3,421,210,0,1666,1667,3,413,206,0,1667,1668,3,441,220,0,1668,334,1,0,0,0,1669,1670,3,443,221,0,1670,1671,3,421,210,0,1671,1672,3,429,214,0,1672,1673,3,413,206,0,1673,1674,3,433,216,0,1674,1675,3,445,222,0,1675,1676,3,443,221,0,1676,336,1,0,0,0,1677,1678,3,443,221,0,1678,1679,3,421,210,0,1679,1680,3,429,214,0,1680,1681,3,413,206,0,1681,1682,3,441,220,0,1682,1683,3,443,221,0,1683,1684,3,405,202,0,1684,1685,3,429,214,0,1685,1686,3,435,217,0,1686,338,1,0,0,0,1687,1688,3,443,221,0,1688,1689,3,433,216,0,1689,340,1,0,0,0,1690,1691,3,443,221,0,1691,1692,3,433,216,0,1692,1693,3,435,217,0,1693,342,1,0,0,0,1694,1695,3,443,221,0,1695,1696,3,433,216,0,1696,1697,3,443,221,0,1697,1698,3,405,202,0,1698,1699,3,427,213,0,1699,1700,3,441,220,0,1700,344,1,0,0,0,1701,1702,3,443,221,0,1702,1703,3,439,219,0,1703,1704,3,405,202,0,1704,1705,3,421,210,0,1705,1706,3,427,213,0,1706,1707,3,421,210,0,1707,1708,3,431,215,0,1708,1709,3,417,208,0,1709,346,1,0,0,0,1710,1711,3,443,221,0,1711,1712,3,439,219,0,1712,1713,3,421,210,0,1713,1714,3,429,214,0,1714,348,1,0,0,0,1715,1716,3,443,221,0,1716,1717,3,439,219,0,1717,1718,3,413,206,0,1718,1719,3,413,206,0,1719,350,1,0,0,0,1720,1721,3,443,221,0,1721,1722,3,439,219,0,1722,1723,3,445,222,0,1723,1724,3,431,215,0,1724,1725,3,409,204,0,1725,1726,3,405,202,0,1726,1727,3,443,221,0,1727,1728,3,413,206,0,1728,352,1,0,0,0,1729,1730,3,443,221,0,1730,1731,3,443,221,0,1731,1732,3,427,213,0,1732,354,1,0,0,0,1733,1734,3,443,221,0,1734,1735,3,453,226,0,1735,1736,3,435,217,0,1736,1737,3,413,206,0,1737,356,1,0,0,0,1738,1739,3,445,222,0,1739,1740,3,431,215,0,1740,1741,3,407,203,0,1741,1742,3,433,216,0,1742,1743,3,445,222,0,1743,1744,3,431,215,0,1744,1745,3,411,205,0,1745,1746,3,413,206,0,1746,1747,3,411,205,0,1747,358,1,0,0,0,1748,1749,3,445,222,0,1749,1750,3,431,215,0,1750,1751,3,421,210,0,1751,1752,3,433,216,0,1752,1753,3,431,215,0,1753,360,1,0,0,0,1754,1755,3,445,222,0,1755,1756,3,435,217,0,1756,1757,3,411,205,0,1757,1758,3,405,202,0,1758,1759,3,443,221,0,1759,1760,3,413,206,0,1760,362,1,0,0,0,1761,1762,3,445,222,0,1762,1763,3,441,220,0,1763,1764,3,413,206,0,1764,364,1,0,0,0,1765,1766,3,445,222,0,1766,1767,3,441,220,0,1767,1768,3,421,210,0,1768,1769,3,431,215,0,1769,1770,3,417,208,0,1770,366,1,0,0,0,1771,1772,3,445,222,0,1772,1773,3,445,222,0,1773,1774,3,421,210,0,1774,1775,3,411,205,0,1775,368,1,0,0,0,1776,1777,3,447,223,0,1777,1778,3,405,202,0,1778,1779,3,427,213,0,1779,1780,3,445,222,0,1780,1781,3,413,206,0,1781,1782,3,441,220,0,1782,370,1,0,0,0,1783,1784,3,447,223,0,1784,1785,3,421,210,0,1785,1786,3,413,206,0,1786,1787,3,449,224,0,1787,372,1,0,0,0,1788,1789,3,447,223,0,1789,1790,3,433,216,0,1790,1791,3,427,213,0,1791,1792,3,445,222,0,1792,1793,3,429,214,0,1793,1794,3,413,206,0,1794,374,1,0,0,0,1795,1796,3,449,224,0,1796,1797,3,405,202,0,1797,1798,3,443,221,0,1798,1799,3,409,204,0,1799,1800,3,419,209,0,1800,376,1,0,0,0,1801,1802,3,449,224,0,1802,1803,3,413,206,0,1803,1804,3,413,206,0,1804,1805,3,425,212,0,1805,378,1,0,0,0,1806,1807,3,449,224,0,1807,1808,3,419,209,0,1808,1809,3,413,206,0,1809,1810,3,431,215,0,1810,380,1,0,0,0,1811,1812,3,449,224,0,1812,1813,3,419,209,0,1813,1814,3,413,206,0,1814,1815,3,439,219,0,1815,1816,3,413,206,0,1816,382,1,0,0,0,1817,1818,3,449,224,0,1818,1819,3,421,210,0,1819,1820,3,431,215,0,1820,1821,3,411,205,0,1821,1822,3,433,216,0,1822,1823,3,449,224,0,1823,384,1,0,0,0,1824,1825,3,449,224,0,1825,1826,3,421,210,0,1826,1827,3,443,221,0,1827,1828,3,419,209,0,1828,386,1,0,0,0,1829,1830,3,453,226,0,1830,1831,3,413,206,0,1831,1832,3,405,202,0,1832,1833,3,439,219,0,1833,1840,1,0,0,0,1834,1835,3,453,226,0,1835,1836,3,453,226,0,1836,1837,3,453,226,0,1837,1838,3,453,226,0,1838,1840,1,0,0,0,1839,1829,1,0,0,0,1839,1834,1,0,0,0,1840,388,1,0,0,0,1841,1842,5,102,0,0,1842,1843,5,97,0,0,1843,1844,5,108,0,0,1844,1845,5,115,0,0,1845,1846,5,101,0,0,1846,390,1,0,0,0,1847,1848,5,116,0,0,1848,1849,5,114,0,0,1849,1850,5,117,0,0,1850,1851,5,101,0,0,1851,392,1,0,0,0,1852,1855,3,457,228,0,1853,1855,3,523,261,0,1854,1852,1,0,0,0,1854,1853,1,0,0,0,1855,1861,1,0,0,0,1856,1860,3,457,228,0,1857,1860,3,523,261,0,1858,1860,3,461,230,0,1859,1856,1,0,0,0,1859,1857,1,0,0,0,1859,1858,1,0,0,0,1860,1863,1,0,0,0,1861,1859,1,0,0,0,1861,1862,1,0,0,0,1862,1895,1,0,0,0,1863,1861,1,0,0,0,1864,1874,3,469,234,0,1865,1873,8,0,0,0,1866,1867,3,471,235,0,1867,1868,9,0,0,0,1868,1873,1,0,0,0,1869,1870,3,469,234,0,1870,1871,3,469,234,0,1871,1873,1,0,0,0,1872,1865,1,0,0,0,1872,1866,1,0,0,0,1872,1869,1,0,0,0,1873,1876,1,0,0,0,1874,1872,1,0,0,0,1874,1875,1,0,0,0,1875,1877,1,0,0,0,1876,1874,1,0,0,0,1877,1878,3,469,234,0,1878,1895,1,0,0,0,1879,1889,3,509,254,0,1880,1888,8,1,0,0,1881,1882,3,471,235,0,1882,1883,9,0,0,0,1883,1888,1,0,0,0,1884,1885,3,509,254,0,1885,1886,3,509,254,0,1886,1888,1,0,0,0,1887,1880,1,0,0,0,1887,1881,1,0,0,0,1887,1884,1,0,0,0,1888,1891,1,0,0,0,1889,1887,1,0,0,0,1889,1890,1,0,0,0,1890,1892,1,0,0,0,1891,1889,1,0,0,0,1892,1893,3,509,254,0,1893,1895,1,0,0,0,1894,1854,1,0,0,0,1894,1864,1,0,0,0,1894,1879,1,0,0,0,1895,394,1,0,0,0,1896,1897,3,401,200,0,1897,1901,3,481,240,0,1898,1900,3,463,231,0,1899,1898,1,0,0,0,1900,1903,1,0,0,0,1901,1899,1,0,0,0,1901,1902,1,0,0,0,1902,1906,1,0,0,0,1903,1901,1,0,0,0,1904,1907,3,435,217,0,1905,1907,3,413,206,0,1906,1904,1,0,0,0,1906,1905,1,0,0,0,1907,1910,1,0,0,0,1908,1911,3,505,252,0,1909,1911,3,479,239,0,1910,1908,1,0,0,0,1910,1909,1,0,0,0,1910,1911,1,0,0,0,1911,1913,1,0,0,0,1912,1914,3,461,230,0,1913,1912,1,0,0,0,1914,1915,1,0,0,0,1915,1913,1,0,0,0,1915,1916,1,0,0,0,1916,1973,1,0,0,0,1917,1920,3,401,200,0,1918,1921,3,435,217,0,1919,1921,3,413,206,0,1920,1918,1,0,0,0,1920,1919,1,0,0,0,1921,1924,1,0,0,0,1922,1925,3,505,252,0,1923,1925,3,479,239,0,1924,1922,1,0,0,0,1924,1923,1,0,0,0,1924,1925,1,0,0,0,1925,1927,1,0,0,0,1926,1928,3,461,230,0,1927,1926,1,0,0,0,1928,1929,1,0,0,0,1929,1927,1,0,0,0,1929,1930,1,0,0,0,1930,1973,1,0,0,0,1931,1932,3,399,199,0,1932,1936,3,481,240,0,1933,1935,3,461,230,0,1934,1933,1,0,0,0,1935,1938,1,0,0,0,1936,1934,1,0,0,0,1936,1937,1,0,0,0,1937,1939,1,0,0,0,1938,1936,1,0,0,0,1939,1942,3,413,206,0,1940,1943,3,505,252,0,1941,1943,3,479,239,0,1942,1940,1,0,0,0,1942,1941,1,0,0,0,1942,1943,1,0,0,0,1943,1945,1,0,0,0,1944,1946,3,461,230,0,1945,1944,1,0,0,0,1946,1947,1,0,0,0,1947,1945,1,0,0,0,1947,1948,1,0,0,0,1948,1973,1,0,0,0,1949,1950,3,481,240,0,1950,1951,3,399,199,0,1951,1954,3,413,206,0,1952,1955,3,505,252,0,1953,1955,3,479,239,0,1954,1952,1,0,0,0,1954,1953,1,0,0,0,1954,1955,1,0,0,0,1955,1957,1,0,0,0,1956,1958,3,461,230,0,1957,1956,1,0,0,0,1958,1959,1,0,0,0,1959,1957,1,0,0,0,1959,1960,1,0,0,0,1960,1973,1,0,0,0,1961,1962,3,399,199,0,1962,1965,3,413,206,0,1963,1966,3,505,252,0,1964,1966,3,479,239,0,1965,1963,1,0,0,0,1965,1964,1,0,0,0,1965,1966,1,0,0,0,1966,1968,1,0,0,0,1967,1969,3,461,230,0,1968,1967,1,0,0,0,1969,1970,1,0,0,0,1970,1968,1,0,0,0,1970,1971,1,0,0,0,1971,1973,1,0,0,0,1972,1896,1,0,0,0,1972,1917,1,0,0,0,1972,1931,1,0,0,0,1972,1949,1,0,0,0,1972,1961,1,0,0,0,1973,396,1,0,0,0,1974,1976,5,48,0,0,1975,1977,3,459,229,0,1976,1975,1,0,0,0,1977,1978,1,0,0,0,1978,1976,1,0,0,0,1978,1979,1,0,0,0,1979,398,1,0,0,0,1980,1982,3,461,230,0,1981,1980,1,0,0,0,1982,1983,1,0,0,0,1983,1981,1,0,0,0,1983,1984,1,0,0,0,1984,400,1,0,0,0,1985,1986,5,48,0,0,1986,1988,3,451,225,0,1987,1989,3,463,231,0,1988,1987,1,0,0,0,1989,1990,1,0,0,0,1990,1988,1,0,0,0,1990,1991,1,0,0,0,1991,402,1,0,0,0,1992,2002,3,511,255,0,1993,2001,8,2,0,0,1994,1995,3,471,235,0,1995,1996,9,0,0,0,1996,2001,1,0,0,0,1997,1998,3,511,255,0,1998,1999,3,511,255,0,1999,2001,1,0,0,0,2e3,1993,1,0,0,0,2e3,1994,1,0,0,0,2e3,1997,1,0,0,0,2001,2004,1,0,0,0,2002,2e3,1,0,0,0,2002,2003,1,0,0,0,2003,2005,1,0,0,0,2004,2002,1,0,0,0,2005,2006,3,511,255,0,2006,404,1,0,0,0,2007,2008,7,3,0,0,2008,406,1,0,0,0,2009,2010,7,4,0,0,2010,408,1,0,0,0,2011,2012,7,5,0,0,2012,410,1,0,0,0,2013,2014,7,6,0,0,2014,412,1,0,0,0,2015,2016,7,7,0,0,2016,414,1,0,0,0,2017,2018,7,8,0,0,2018,416,1,0,0,0,2019,2020,7,9,0,0,2020,418,1,0,0,0,2021,2022,7,10,0,0,2022,420,1,0,0,0,2023,2024,7,11,0,0,2024,422,1,0,0,0,2025,2026,7,12,0,0,2026,424,1,0,0,0,2027,2028,7,13,0,0,2028,426,1,0,0,0,2029,2030,7,14,0,0,2030,428,1,0,0,0,2031,2032,7,15,0,0,2032,430,1,0,0,0,2033,2034,7,16,0,0,2034,432,1,0,0,0,2035,2036,7,17,0,0,2036,434,1,0,0,0,2037,2038,7,18,0,0,2038,436,1,0,0,0,2039,2040,7,19,0,0,2040,438,1,0,0,0,2041,2042,7,20,0,0,2042,440,1,0,0,0,2043,2044,7,21,0,0,2044,442,1,0,0,0,2045,2046,7,22,0,0,2046,444,1,0,0,0,2047,2048,7,23,0,0,2048,446,1,0,0,0,2049,2050,7,24,0,0,2050,448,1,0,0,0,2051,2052,7,25,0,0,2052,450,1,0,0,0,2053,2054,7,26,0,0,2054,452,1,0,0,0,2055,2056,7,27,0,0,2056,454,1,0,0,0,2057,2058,7,28,0,0,2058,456,1,0,0,0,2059,2060,7,29,0,0,2060,458,1,0,0,0,2061,2062,7,30,0,0,2062,460,1,0,0,0,2063,2064,7,31,0,0,2064,462,1,0,0,0,2065,2066,7,32,0,0,2066,464,1,0,0,0,2067,2068,5,45,0,0,2068,2069,5,62,0,0,2069,466,1,0,0,0,2070,2071,5,42,0,0,2071,468,1,0,0,0,2072,2073,5,96,0,0,2073,470,1,0,0,0,2074,2075,5,92,0,0,2075,472,1,0,0,0,2076,2077,5,58,0,0,2077,474,1,0,0,0,2078,2079,5,44,0,0,2079,476,1,0,0,0,2080,2081,5,124,0,0,2081,2082,5,124,0,0,2082,478,1,0,0,0,2083,2084,5,45,0,0,2084,480,1,0,0,0,2085,2086,5,46,0,0,2086,482,1,0,0,0,2087,2088,5,61,0,0,2088,2089,5,61,0,0,2089,484,1,0,0,0,2090,2091,5,61,0,0,2091,486,1,0,0,0,2092,2093,5,62,0,0,2093,2094,5,61,0,0,2094,488,1,0,0,0,2095,2096,5,62,0,0,2096,490,1,0,0,0,2097,2098,5,123,0,0,2098,492,1,0,0,0,2099,2100,5,91,0,0,2100,494,1,0,0,0,2101,2102,5,60,0,0,2102,2103,5,61,0,0,2103,496,1,0,0,0,2104,2105,5,40,0,0,2105,498,1,0,0,0,2106,2107,5,60,0,0,2107,500,1,0,0,0,2108,2109,5,33,0,0,2109,2113,5,61,0,0,2110,2111,5,60,0,0,2111,2113,5,62,0,0,2112,2108,1,0,0,0,2112,2110,1,0,0,0,2113,502,1,0,0,0,2114,2115,5,37,0,0,2115,504,1,0,0,0,2116,2117,5,43,0,0,2117,506,1,0,0,0,2118,2119,5,63,0,0,2119,508,1,0,0,0,2120,2121,5,34,0,0,2121,510,1,0,0,0,2122,2123,5,39,0,0,2123,512,1,0,0,0,2124,2125,5,125,0,0,2125,514,1,0,0,0,2126,2127,5,93,0,0,2127,516,1,0,0,0,2128,2129,5,41,0,0,2129,518,1,0,0,0,2130,2131,5,59,0,0,2131,520,1,0,0,0,2132,2133,5,47,0,0,2133,522,1,0,0,0,2134,2135,5,95,0,0,2135,524,1,0,0,0,2136,2137,5,47,0,0,2137,2138,5,42,0,0,2138,2142,1,0,0,0,2139,2141,9,0,0,0,2140,2139,1,0,0,0,2141,2144,1,0,0,0,2142,2143,1,0,0,0,2142,2140,1,0,0,0,2143,2145,1,0,0,0,2144,2142,1,0,0,0,2145,2146,5,42,0,0,2146,2147,5,47,0,0,2147,2148,1,0,0,0,2148,2149,6,262,0,0,2149,526,1,0,0,0,2150,2151,5,45,0,0,2151,2152,5,45,0,0,2152,2156,1,0,0,0,2153,2155,8,33,0,0,2154,2153,1,0,0,0,2155,2158,1,0,0,0,2156,2154,1,0,0,0,2156,2157,1,0,0,0,2157,2160,1,0,0,0,2158,2156,1,0,0,0,2159,2161,7,34,0,0,2160,2159,1,0,0,0,2161,2162,1,0,0,0,2162,2163,6,263,0,0,2163,528,1,0,0,0,2164,2165,7,35,0,0,2165,2166,1,0,0,0,2166,2167,6,264,1,0,2167,530,1,0,0,0,36,0,593,1100,1839,1854,1859,1861,1872,1874,1887,1889,1894,1901,1906,1910,1915,1920,1924,1929,1936,1942,1947,1954,1959,1965,1970,1972,1978,1983,1990,2e3,2002,2112,2142,2156,2160,2,6,0,0,0,1,0],Ji.vocabulary=new Ra(Ji.literalNames,Ji.symbolicNames,[]),Ji.decisionsToDFA=Ji._ATN.decisionToState.map(((t,e)=>new ni(t,e))),Ji),CG=(Zi=class t extends Cc{get grammarFileName(){return"ClickHouseParser.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}createFailedPredicateException(t,e){return new Sc(this,t,e)}constructor(e){super(e),this.interpreter=new Ai(this,t._ATN,t.decisionsToDFA,new Si)}root(){let e,s=new _G(this.context,this.state);this.enterRule(s,0,t.RULE_root);try{this.enterOuterAlt(s,1),this.state=257,this.errorHandler.sync(this),e=this.tokenStream.LA(1),(!(-32&e)&&1<'","'*'","'`'","''","':'","','","'||'","'-'","'.'","'=='","'='","'>='","'>'","'{'","'['","'<='","'('","'<'",null,"'%'","'+'","'?'","'\"'","'''","'}'","']'","')'","';'","'/'","'_'"],Zi.symbolicNames=[null,"ADD","AFTER","ALIAS","ALL","ALTER","AND","ANTI","ANY","ARRAY","AS","ASCENDING","ASOF","AST","ASYNC","ATTACH","BETWEEN","BOTH","BY","CASE","CAST","CHECK","CLEAR","CLUSTER","CODEC","COLLATE","COLUMN","COMMENT","CONSTRAINT","CREATE","CROSS","CUBE","CURRENT","DATABASE","DATABASES","DATE","DAY","DEDUPLICATE","DEFAULT","DELAY","DELETE","DESC","DESCENDING","DESCRIBE","DETACH","DICTIONARIES","DICTIONARY","DISK","DISTINCT","DISTRIBUTED","DROP","ELSE","END","ENGINE","ESTIMATE","EVENTS","EXISTS","EXPLAIN","EXPRESSION","EXTRACT","FETCHES","FINAL","FIRST","FLUSH","FOLLOWING","FOR","FORMAT","FREEZE","FROM","FULL","FUNCTION","GLOBAL","GRANULARITY","GROUP","HAVING","HIERARCHICAL","HOUR","ID","IF","ILIKE","IN","INDEX","INF","INJECTIVE","INNER","INSERT","INTERVAL","INTO","IS","IS_OBJECT_ID","JOIN","KEY","KILL","LAST","LAYOUT","LEADING","LEFT","LIFETIME","LIKE","LIMIT","LIVE","LOCAL","LOGS","MATERIALIZE","MATERIALIZED","MAX","MERGES","MIN","MINUTE","MODIFY","MONTH","MOVE","MUTATION","NAN_SQL","NO","NOT","NULL_SQL","NULLS","OFFSET","ON","OPTIMIZE","OR","ORDER","OUTER","OUTFILE","OVER","PARTITION","PIPELINE","PLAN","POPULATE","PRECEDING","PREWHERE","PRIMARY","PROJECTION","QUARTER","QUERY","RANGE","RELOAD","REMOVE","RENAME","REPLACE","REPLICA","REPLICATED","RIGHT","ROLLUP","ROW","ROWS","SAMPLE","SECOND","SELECT","SEMI","SENDS","SET","SETTINGS","SHOW","SOURCE","START","STOP","SUBSTRING","SYNC","SYNTAX","SYSTEM","TABLE","TABLES","TEMPORARY","TEST","THEN","TIES","TIMEOUT","TIMESTAMP","TO","TOP","TOTALS","TRAILING","TRIM","TREE","TRUNCATE","TTL","TYPE","UNBOUNDED","UNION","UPDATE","USE","USING","UUID","VALUES","VIEW","VOLUME","WATCH","WEEK","WHEN","WHERE","WINDOW","WITH","YEAR","JSON_FALSE","JSON_TRUE","IDENTIFIER","FLOATING_LITERAL","OCTAL_LITERAL","DECIMAL_LITERAL","HEXADECIMAL_LITERAL","STRING_LITERAL","ARROW","ASTERISK","BACKQUOTE","BACKSLASH","COLON","COMMA","CONCAT","DASH","DOT","EQ_DOUBLE","EQ_SINGLE","GE","GT","LBRACE","LBRACKET","LE","LPAREN","LT","NOT_EQ","PERCENT","PLUS","QUESTIONMARK","QUOTE_DOUBLE","QUOTE_SINGLE","RBRACE","RBRACKET","RPAREN","SEMICOLON","SLASH","UNDERSCORE","MULTI_LINE_COMMENT","SINGLE_LINE_COMMENT","WHITESPACE"],Zi.ruleNames=["root","statements","statement","notInsertStatement","commonTableExpressionStatement","namedQuery","columnAliases","alterStatement","alterTableClause","assignmentExpressionList","assignmentExpression","tableColumnPropertyType","partitionClause","attachStatement","checkStatement","deleteStatement","createTableStatement","createDatabaseStatement","createDictionaryStatement","createLiveViewStatement","createMaterializedViewStatement","createViewStatement","createStatement","dictionarySchemaClause","dictionaryAttributeDefinition","dictionaryEngineClause","dictionaryPrimaryKeyClause","dictionaryArgumentExpression","sourceClause","lifetimeClause","layoutClause","rangeClause","dictionarySettingsClause","clusterClause","uuidClause","destinationClause","subqueryClause","tableSchemaClause","engineClause","partitionByClause","primaryKeyClause","sampleByClause","ttlClause","engineExpression","tableElementExpression","tableColumnDefinition","tableColumnPropertyExpression","tableIndexDefinition","tableProjectionDefinition","codecExpression","codecArgExpression","ttlExpression","describeStatement","dropStatement","existsStatement","explainStatement","insertStatement","columnsClause","dataClause","valuesStatement","killStatement","optimizeStatement","renameStatement","projectionSelectStatement","selectUnionStatement","selectStatementWithParentheses","selectStatement","withClause","topClause","fromClause","arrayJoinClause","windowClause","prewhereClause","whereClause","groupByClause","havingClause","orderByClause","projectionOrderByClause","limitByClause","limitClause","settingsClause","joinExpression","joinOperator","joinOperatorCross","joinConstraintClause","sampleClause","limitExpression","orderExpressionList","orderExpression","ratioExpression","settingExpressionList","settingExpression","windowExpression","windowPartitionByClause","windowOrderByClause","windowFrameClause","windowFrameExtend","windowFrameBound","setStatement","showStatement","systemStatement","truncateStatement","useStatement","watchStatement","columnTypeExpression","columnExpressionList","columnsExpression","columnExpression","columnArgumentList","columnArgumentExpression","columnLambdaExpression","columnIdentifier","tableExpression","tableFunctionExpression","tableIdentifier","tableArgList","tableArgExpression","databaseIdentifier","floatingLiteral","numberLiteral","literal","interval","keyword","keywordForAlias","alias","identifier","identifierOrNull","enumValue"],Zi._serializedATN=[4,1,235,2137,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,1,0,3,0,258,8,0,1,0,1,0,1,1,1,1,3,1,264,8,1,1,1,1,1,1,1,1,1,3,1,270,8,1,1,2,1,2,1,2,1,2,3,2,276,8,2,1,2,1,2,3,2,280,8,2,1,2,3,2,283,8,2,1,2,3,2,286,8,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,3,3,308,8,3,1,3,3,3,311,8,3,1,4,1,4,1,4,1,4,5,4,317,8,4,10,4,12,4,320,9,4,1,5,1,5,3,5,324,8,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,5,6,335,8,6,10,6,12,6,338,9,6,1,6,1,6,1,7,1,7,1,7,1,7,3,7,346,8,7,1,7,1,7,1,7,5,7,351,8,7,10,7,12,7,354,9,7,1,8,1,8,1,8,1,8,1,8,3,8,361,8,8,1,8,1,8,1,8,3,8,366,8,8,1,8,1,8,1,8,1,8,1,8,3,8,373,8,8,1,8,1,8,1,8,3,8,378,8,8,1,8,1,8,1,8,1,8,1,8,3,8,385,8,8,1,8,1,8,1,8,3,8,390,8,8,1,8,1,8,1,8,1,8,3,8,396,8,8,1,8,1,8,1,8,1,8,3,8,402,8,8,1,8,1,8,1,8,3,8,407,8,8,1,8,1,8,1,8,1,8,3,8,413,8,8,1,8,1,8,1,8,3,8,418,8,8,1,8,1,8,1,8,1,8,3,8,424,8,8,1,8,1,8,1,8,3,8,429,8,8,1,8,1,8,1,8,1,8,3,8,435,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,449,8,8,1,8,1,8,1,8,1,8,1,8,3,8,456,8,8,1,8,1,8,1,8,1,8,1,8,3,8,463,8,8,1,8,1,8,1,8,1,8,1,8,3,8,470,8,8,1,8,1,8,1,8,1,8,3,8,476,8,8,1,8,1,8,1,8,3,8,481,8,8,1,8,1,8,1,8,1,8,3,8,487,8,8,1,8,1,8,1,8,3,8,492,8,8,1,8,1,8,1,8,1,8,3,8,498,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,507,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,517,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,527,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,547,8,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,555,8,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,3,8,570,8,8,1,9,1,9,1,9,5,9,575,8,9,10,9,12,9,578,9,9,1,10,1,10,1,10,1,10,1,11,1,11,1,12,1,12,1,12,1,12,1,12,3,12,591,8,12,1,13,1,13,1,13,1,13,3,13,597,8,13,1,14,1,14,1,14,1,14,3,14,603,8,14,1,15,1,15,1,15,1,15,3,15,609,8,15,1,15,3,15,612,8,15,1,16,1,16,1,16,1,16,3,16,618,8,16,1,16,3,16,621,8,16,1,16,3,16,624,8,16,1,16,1,16,1,16,1,16,3,16,630,8,16,1,16,1,16,3,16,634,8,16,1,16,3,16,637,8,16,1,16,3,16,640,8,16,1,16,3,16,643,8,16,1,16,3,16,646,8,16,1,17,1,17,1,17,1,17,1,17,3,17,653,8,17,1,17,1,17,3,17,657,8,17,1,17,1,17,1,18,1,18,1,18,1,18,3,18,665,8,18,1,18,3,18,668,8,18,1,18,1,18,1,18,1,18,3,18,674,8,18,1,18,1,18,3,18,678,8,18,1,18,3,18,681,8,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,3,19,692,8,19,1,19,1,19,3,19,696,8,19,1,19,3,19,699,8,19,1,19,1,19,1,19,3,19,704,8,19,3,19,706,8,19,1,19,3,19,709,8,19,1,19,3,19,712,8,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,3,20,722,8,20,1,20,1,20,3,20,726,8,20,1,20,3,20,729,8,20,1,20,3,20,732,8,20,1,20,1,20,1,20,3,20,737,8,20,3,20,739,8,20,1,20,1,20,1,21,1,21,1,21,3,21,746,8,21,1,21,1,21,1,21,1,21,3,21,752,8,21,1,21,1,21,3,21,756,8,21,1,21,3,21,759,8,21,1,21,3,21,762,8,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,22,3,22,772,8,22,1,23,1,23,1,23,1,23,5,23,778,8,23,10,23,12,23,781,9,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,1,24,5,24,806,8,24,10,24,12,24,809,9,24,1,25,3,25,812,8,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,5,25,834,8,25,10,25,12,25,837,9,25,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,3,27,847,8,27,1,27,3,27,850,8,27,1,28,1,28,1,28,1,28,1,28,5,28,857,8,28,10,28,12,28,860,9,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,3,29,876,8,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,5,30,885,8,30,10,30,12,30,888,9,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,31,3,31,905,8,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,3,33,918,8,33,1,34,1,34,1,34,1,35,1,35,1,35,1,36,1,36,1,36,1,37,1,37,1,37,1,37,5,37,933,8,37,10,37,12,37,936,9,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,944,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,5,38,971,8,38,10,38,12,38,974,9,38,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,42,1,42,1,42,1,42,5,42,992,8,42,10,42,12,42,995,9,42,1,43,1,43,3,43,999,8,43,1,43,1,43,1,43,3,43,1004,8,43,1,43,3,43,1007,8,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,1019,8,44,1,45,1,45,1,45,3,45,1024,8,45,1,45,1,45,3,45,1028,8,45,1,45,3,45,1031,8,45,1,45,1,45,3,45,1035,8,45,1,45,1,45,3,45,1039,8,45,1,45,1,45,1,45,3,45,1044,8,45,1,45,3,45,1047,8,45,1,45,1,45,3,45,1051,8,45,3,45,1053,8,45,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,5,49,1073,8,49,10,49,12,49,1076,9,49,1,49,1,49,1,50,1,50,1,50,3,50,1083,8,50,1,50,3,50,1086,8,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,51,3,51,1096,8,51,1,52,1,52,3,52,1100,8,52,1,52,1,52,1,53,1,53,1,53,1,53,3,53,1108,8,53,1,53,1,53,3,53,1112,8,53,1,53,1,53,1,53,3,53,1117,8,53,1,53,1,53,3,53,1121,8,53,1,53,1,53,3,53,1125,8,53,1,53,1,53,3,53,1129,8,53,1,53,1,53,3,53,1133,8,53,3,53,1135,8,53,1,54,1,54,1,54,1,54,1,54,1,54,3,54,1143,8,54,1,54,1,54,3,54,1147,8,54,1,54,3,54,1150,8,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,3,55,1173,8,55,1,56,1,56,1,56,3,56,1178,8,56,1,56,1,56,1,56,3,56,1183,8,56,1,56,3,56,1186,8,56,1,56,1,56,1,57,1,57,1,57,1,57,5,57,1194,8,57,10,57,12,57,1197,9,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,3,58,1206,8,58,1,58,1,58,3,58,1210,8,58,1,59,1,59,1,59,3,59,1215,8,59,1,59,1,59,1,59,1,59,3,59,1221,8,59,1,59,5,59,1224,8,59,10,59,12,59,1227,9,59,1,60,1,60,1,60,3,60,1232,8,60,1,60,1,60,3,60,1236,8,60,1,61,1,61,1,61,1,61,3,61,1242,8,61,1,61,3,61,1245,8,61,1,61,3,61,1248,8,61,1,61,3,61,1251,8,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,5,62,1263,8,62,10,62,12,62,1266,9,62,1,62,3,62,1269,8,62,1,63,1,63,3,63,1273,8,63,1,63,1,63,1,63,3,63,1278,8,63,1,63,3,63,1281,8,63,1,63,1,63,1,64,1,64,1,64,1,64,5,64,1289,8,64,10,64,12,64,1292,9,64,1,65,1,65,1,65,1,65,1,65,3,65,1299,8,65,1,66,3,66,1302,8,66,1,66,1,66,3,66,1306,8,66,1,66,3,66,1309,8,66,1,66,1,66,3,66,1313,8,66,1,66,3,66,1316,8,66,1,66,3,66,1319,8,66,1,66,3,66,1322,8,66,1,66,3,66,1325,8,66,1,66,3,66,1328,8,66,1,66,1,66,3,66,1332,8,66,1,66,1,66,3,66,1336,8,66,1,66,3,66,1339,8,66,1,66,3,66,1342,8,66,1,66,3,66,1345,8,66,1,66,3,66,1348,8,66,1,66,3,66,1351,8,66,1,67,1,67,1,67,1,68,1,68,1,68,1,68,3,68,1360,8,68,1,69,1,69,1,69,1,70,3,70,1366,8,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,3,74,1393,8,74,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,3,79,1415,8,79,1,80,1,80,1,80,1,81,1,81,1,81,3,81,1423,8,81,1,81,3,81,1426,8,81,1,81,1,81,1,81,1,81,3,81,1432,8,81,1,81,1,81,1,81,1,81,1,81,1,81,3,81,1440,8,81,1,81,3,81,1443,8,81,1,81,1,81,1,81,1,81,5,81,1449,8,81,10,81,12,81,1452,9,81,1,82,3,82,1455,8,82,1,82,1,82,1,82,3,82,1460,8,82,1,82,3,82,1463,8,82,1,82,3,82,1466,8,82,1,82,1,82,3,82,1470,8,82,1,82,1,82,3,82,1474,8,82,1,82,3,82,1477,8,82,3,82,1479,8,82,1,82,3,82,1482,8,82,1,82,1,82,3,82,1486,8,82,1,82,1,82,3,82,1490,8,82,1,82,3,82,1493,8,82,3,82,1495,8,82,3,82,1497,8,82,1,83,3,83,1500,8,83,1,83,1,83,1,83,3,83,1505,8,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,3,84,1516,8,84,1,85,1,85,1,85,1,85,3,85,1522,8,85,1,86,1,86,1,86,3,86,1527,8,86,1,87,1,87,1,87,5,87,1532,8,87,10,87,12,87,1535,9,87,1,88,1,88,3,88,1539,8,88,1,88,1,88,3,88,1543,8,88,1,88,1,88,3,88,1547,8,88,1,89,1,89,1,89,3,89,1552,8,89,1,90,1,90,1,90,5,90,1557,8,90,10,90,12,90,1560,9,90,1,91,1,91,1,91,1,91,1,92,3,92,1567,8,92,1,92,3,92,1570,8,92,1,92,3,92,1573,8,92,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,3,96,1592,8,96,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,1,97,3,97,1606,8,97,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,3,99,1622,8,99,1,99,3,99,1625,8,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,3,99,1634,8,99,1,99,1,99,3,99,1638,8,99,1,99,1,99,1,99,3,99,1643,8,99,1,99,1,99,1,99,3,99,1648,8,99,1,99,3,99,1651,8,99,3,99,1653,8,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,3,100,1675,8,100,1,100,3,100,1678,8,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,3,100,1689,8,100,1,101,1,101,3,101,1693,8,101,1,101,3,101,1696,8,101,1,101,1,101,3,101,1700,8,101,1,101,1,101,3,101,1704,8,101,1,102,1,102,1,102,1,103,1,103,1,103,3,103,1712,8,103,1,103,1,103,3,103,1716,8,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,5,104,1727,8,104,10,104,12,104,1730,9,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,5,104,1739,8,104,10,104,12,104,1742,9,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,5,104,1751,8,104,10,104,12,104,1754,9,104,1,104,1,104,1,104,1,104,1,104,3,104,1761,8,104,1,104,1,104,3,104,1765,8,104,1,105,1,105,1,105,5,105,1770,8,105,10,105,12,105,1773,9,105,1,106,1,106,1,106,3,106,1778,8,106,1,106,1,106,1,106,1,106,1,106,1,106,3,106,1786,8,106,1,107,1,107,1,107,3,107,1791,8,107,1,107,1,107,1,107,1,107,1,107,4,107,1798,8,107,11,107,12,107,1799,1,107,1,107,3,107,1804,8,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,3,107,1835,8,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,3,107,1852,8,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,3,107,1864,8,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,3,107,1874,8,107,1,107,3,107,1877,8,107,1,107,1,107,3,107,1881,8,107,1,107,3,107,1884,8,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,3,107,1896,8,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,3,107,1913,8,107,1,107,1,107,3,107,1917,8,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,3,107,1934,8,107,1,107,3,107,1937,8,107,1,107,1,107,3,107,1941,8,107,1,107,3,107,1944,8,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,3,107,1955,8,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,3,107,1979,8,107,1,107,1,107,1,107,1,107,1,107,3,107,1986,8,107,5,107,1988,8,107,10,107,12,107,1991,9,107,1,108,1,108,1,108,5,108,1996,8,108,10,108,12,108,1999,9,108,1,109,1,109,3,109,2003,8,109,1,110,1,110,1,110,1,110,5,110,2009,8,110,10,110,12,110,2012,9,110,1,110,1,110,1,110,1,110,1,110,5,110,2019,8,110,10,110,12,110,2022,9,110,3,110,2024,8,110,1,110,1,110,1,110,1,111,1,111,1,111,3,111,2032,8,111,1,111,1,111,1,111,3,111,2037,8,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,3,112,2046,8,112,1,112,1,112,1,112,1,112,3,112,2052,8,112,5,112,2054,8,112,10,112,12,112,2057,9,112,1,113,1,113,1,113,3,113,2062,8,113,1,113,1,113,1,114,1,114,1,114,3,114,2069,8,114,1,114,1,114,1,115,1,115,1,115,5,115,2076,8,115,10,115,12,115,2079,9,115,1,116,1,116,1,116,3,116,2084,8,116,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,3,118,2094,8,118,3,118,2096,8,118,1,119,3,119,2099,8,119,1,119,1,119,1,119,1,119,1,119,1,119,3,119,2107,8,119,1,120,1,120,1,120,3,120,2112,8,120,1,121,1,121,1,122,1,122,1,123,1,123,1,124,1,124,3,124,2122,8,124,1,125,1,125,1,125,3,125,2127,8,125,1,126,1,126,3,126,2131,8,126,1,127,1,127,1,127,1,127,1,127,0,3,162,214,224,128,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,0,28,6,0,3,3,24,24,27,27,38,38,104,104,177,177,2,0,15,15,29,29,3,0,3,3,38,38,104,104,2,0,41,41,43,43,2,0,44,44,50,50,3,0,14,14,159,159,165,165,2,0,31,31,144,144,2,0,84,84,96,96,2,0,71,71,101,101,3,0,4,4,8,8,12,12,4,0,4,4,7,8,12,12,150,150,2,0,96,96,143,143,2,0,4,4,8,8,2,0,118,118,208,208,2,0,11,11,41,42,2,0,62,62,93,93,2,0,136,136,146,146,2,0,68,68,80,80,1,0,156,157,3,0,17,17,95,95,173,173,3,0,204,204,222,222,231,231,2,0,209,210,223,223,2,0,79,79,98,98,1,0,199,200,2,0,210,210,223,223,8,0,36,36,76,76,108,108,110,110,134,134,148,148,189,189,194,194,15,0,2,35,37,53,55,75,77,81,83,107,109,109,111,112,114,115,117,126,129,132,136,147,149,174,176,188,190,193,195,196,4,0,35,35,62,62,77,77,91,91,2428,0,257,1,0,0,0,2,269,1,0,0,0,4,285,1,0,0,0,6,310,1,0,0,0,8,312,1,0,0,0,10,321,1,0,0,0,12,330,1,0,0,0,14,341,1,0,0,0,16,569,1,0,0,0,18,571,1,0,0,0,20,579,1,0,0,0,22,583,1,0,0,0,24,590,1,0,0,0,26,592,1,0,0,0,28,598,1,0,0,0,30,604,1,0,0,0,32,620,1,0,0,0,34,647,1,0,0,0,36,667,1,0,0,0,38,685,1,0,0,0,40,715,1,0,0,0,42,742,1,0,0,0,44,771,1,0,0,0,46,773,1,0,0,0,48,784,1,0,0,0,50,811,1,0,0,0,52,838,1,0,0,0,54,842,1,0,0,0,56,851,1,0,0,0,58,864,1,0,0,0,60,879,1,0,0,0,62,892,1,0,0,0,64,908,1,0,0,0,66,913,1,0,0,0,68,919,1,0,0,0,70,922,1,0,0,0,72,925,1,0,0,0,74,943,1,0,0,0,76,945,1,0,0,0,78,975,1,0,0,0,80,979,1,0,0,0,82,983,1,0,0,0,84,987,1,0,0,0,86,996,1,0,0,0,88,1018,1,0,0,0,90,1052,1,0,0,0,92,1054,1,0,0,0,94,1057,1,0,0,0,96,1064,1,0,0,0,98,1067,1,0,0,0,100,1079,1,0,0,0,102,1087,1,0,0,0,104,1097,1,0,0,0,106,1134,1,0,0,0,108,1149,1,0,0,0,110,1172,1,0,0,0,112,1174,1,0,0,0,114,1189,1,0,0,0,116,1209,1,0,0,0,118,1211,1,0,0,0,120,1228,1,0,0,0,122,1237,1,0,0,0,124,1252,1,0,0,0,126,1270,1,0,0,0,128,1284,1,0,0,0,130,1298,1,0,0,0,132,1301,1,0,0,0,134,1352,1,0,0,0,136,1355,1,0,0,0,138,1361,1,0,0,0,140,1365,1,0,0,0,142,1371,1,0,0,0,144,1378,1,0,0,0,146,1381,1,0,0,0,148,1384,1,0,0,0,150,1394,1,0,0,0,152,1397,1,0,0,0,154,1401,1,0,0,0,156,1405,1,0,0,0,158,1410,1,0,0,0,160,1416,1,0,0,0,162,1431,1,0,0,0,164,1496,1,0,0,0,166,1504,1,0,0,0,168,1515,1,0,0,0,170,1517,1,0,0,0,172,1523,1,0,0,0,174,1528,1,0,0,0,176,1536,1,0,0,0,178,1548,1,0,0,0,180,1553,1,0,0,0,182,1561,1,0,0,0,184,1566,1,0,0,0,186,1574,1,0,0,0,188,1578,1,0,0,0,190,1582,1,0,0,0,192,1591,1,0,0,0,194,1605,1,0,0,0,196,1607,1,0,0,0,198,1652,1,0,0,0,200,1688,1,0,0,0,202,1690,1,0,0,0,204,1705,1,0,0,0,206,1708,1,0,0,0,208,1764,1,0,0,0,210,1766,1,0,0,0,212,1785,1,0,0,0,214,1916,1,0,0,0,216,1992,1,0,0,0,218,2002,1,0,0,0,220,2023,1,0,0,0,222,2031,1,0,0,0,224,2045,1,0,0,0,226,2058,1,0,0,0,228,2068,1,0,0,0,230,2072,1,0,0,0,232,2083,1,0,0,0,234,2085,1,0,0,0,236,2095,1,0,0,0,238,2098,1,0,0,0,240,2111,1,0,0,0,242,2113,1,0,0,0,244,2115,1,0,0,0,246,2117,1,0,0,0,248,2121,1,0,0,0,250,2126,1,0,0,0,252,2130,1,0,0,0,254,2132,1,0,0,0,256,258,3,2,1,0,257,256,1,0,0,0,257,258,1,0,0,0,258,259,1,0,0,0,259,260,5,0,0,1,260,1,1,0,0,0,261,263,3,4,2,0,262,264,5,230,0,0,263,262,1,0,0,0,263,264,1,0,0,0,264,270,1,0,0,0,265,266,3,4,2,0,266,267,5,230,0,0,267,268,3,2,1,0,268,270,1,0,0,0,269,261,1,0,0,0,269,265,1,0,0,0,270,3,1,0,0,0,271,275,3,6,3,0,272,273,5,87,0,0,273,274,5,124,0,0,274,276,5,202,0,0,275,272,1,0,0,0,275,276,1,0,0,0,276,279,1,0,0,0,277,278,5,66,0,0,278,280,3,252,126,0,279,277,1,0,0,0,279,280,1,0,0,0,280,282,1,0,0,0,281,283,5,230,0,0,282,281,1,0,0,0,282,283,1,0,0,0,283,286,1,0,0,0,284,286,3,112,56,0,285,271,1,0,0,0,285,284,1,0,0,0,286,5,1,0,0,0,287,311,3,14,7,0,288,311,3,26,13,0,289,311,3,28,14,0,290,311,3,44,22,0,291,311,3,104,52,0,292,311,3,30,15,0,293,311,3,106,53,0,294,311,3,108,54,0,295,311,3,110,55,0,296,311,3,120,60,0,297,311,3,122,61,0,298,311,3,124,62,0,299,311,3,128,64,0,300,311,3,196,98,0,301,311,3,198,99,0,302,311,3,200,100,0,303,311,3,202,101,0,304,311,3,204,102,0,305,311,3,206,103,0,306,308,3,8,4,0,307,306,1,0,0,0,307,308,1,0,0,0,308,309,1,0,0,0,309,311,3,132,66,0,310,287,1,0,0,0,310,288,1,0,0,0,310,289,1,0,0,0,310,290,1,0,0,0,310,291,1,0,0,0,310,292,1,0,0,0,310,293,1,0,0,0,310,294,1,0,0,0,310,295,1,0,0,0,310,296,1,0,0,0,310,297,1,0,0,0,310,298,1,0,0,0,310,299,1,0,0,0,310,300,1,0,0,0,310,301,1,0,0,0,310,302,1,0,0,0,310,303,1,0,0,0,310,304,1,0,0,0,310,305,1,0,0,0,310,307,1,0,0,0,311,7,1,0,0,0,312,313,5,193,0,0,313,318,3,10,5,0,314,315,5,208,0,0,315,317,3,10,5,0,316,314,1,0,0,0,317,320,1,0,0,0,318,316,1,0,0,0,318,319,1,0,0,0,319,9,1,0,0,0,320,318,1,0,0,0,321,323,3,250,125,0,322,324,3,12,6,0,323,322,1,0,0,0,323,324,1,0,0,0,324,325,1,0,0,0,325,326,5,10,0,0,326,327,5,219,0,0,327,328,3,6,3,0,328,329,5,229,0,0,329,11,1,0,0,0,330,331,5,219,0,0,331,336,3,250,125,0,332,333,5,208,0,0,333,335,3,250,125,0,334,332,1,0,0,0,335,338,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,336,1,0,0,0,339,340,5,229,0,0,340,13,1,0,0,0,341,342,5,5,0,0,342,343,5,162,0,0,343,345,3,228,114,0,344,346,3,66,33,0,345,344,1,0,0,0,345,346,1,0,0,0,346,347,1,0,0,0,347,352,3,16,8,0,348,349,5,208,0,0,349,351,3,16,8,0,350,348,1,0,0,0,351,354,1,0,0,0,352,350,1,0,0,0,352,353,1,0,0,0,353,15,1,0,0,0,354,352,1,0,0,0,355,356,5,1,0,0,356,360,5,26,0,0,357,358,5,78,0,0,358,359,5,115,0,0,359,361,5,56,0,0,360,357,1,0,0,0,360,361,1,0,0,0,361,362,1,0,0,0,362,365,3,90,45,0,363,364,5,2,0,0,364,366,3,222,111,0,365,363,1,0,0,0,365,366,1,0,0,0,366,570,1,0,0,0,367,368,5,1,0,0,368,372,5,81,0,0,369,370,5,78,0,0,370,371,5,115,0,0,371,373,5,56,0,0,372,369,1,0,0,0,372,373,1,0,0,0,373,374,1,0,0,0,374,377,3,94,47,0,375,376,5,2,0,0,376,378,3,222,111,0,377,375,1,0,0,0,377,378,1,0,0,0,378,570,1,0,0,0,379,380,5,1,0,0,380,384,5,133,0,0,381,382,5,78,0,0,382,383,5,115,0,0,383,385,5,56,0,0,384,381,1,0,0,0,384,385,1,0,0,0,385,386,1,0,0,0,386,389,3,96,48,0,387,388,5,2,0,0,388,390,3,222,111,0,389,387,1,0,0,0,389,390,1,0,0,0,390,570,1,0,0,0,391,392,5,15,0,0,392,395,3,24,12,0,393,394,5,68,0,0,394,396,3,228,114,0,395,393,1,0,0,0,395,396,1,0,0,0,396,570,1,0,0,0,397,398,5,22,0,0,398,401,5,26,0,0,399,400,5,78,0,0,400,402,5,56,0,0,401,399,1,0,0,0,401,402,1,0,0,0,402,403,1,0,0,0,403,406,3,222,111,0,404,405,5,80,0,0,405,407,3,24,12,0,406,404,1,0,0,0,406,407,1,0,0,0,407,570,1,0,0,0,408,409,5,22,0,0,409,412,5,81,0,0,410,411,5,78,0,0,411,413,5,56,0,0,412,410,1,0,0,0,412,413,1,0,0,0,413,414,1,0,0,0,414,417,3,222,111,0,415,416,5,80,0,0,416,418,3,24,12,0,417,415,1,0,0,0,417,418,1,0,0,0,418,570,1,0,0,0,419,420,5,22,0,0,420,423,5,133,0,0,421,422,5,78,0,0,422,424,5,56,0,0,423,421,1,0,0,0,423,424,1,0,0,0,424,425,1,0,0,0,425,428,3,222,111,0,426,427,5,80,0,0,427,429,3,24,12,0,428,426,1,0,0,0,428,429,1,0,0,0,429,570,1,0,0,0,430,431,5,27,0,0,431,434,5,26,0,0,432,433,5,78,0,0,433,435,5,56,0,0,434,432,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,437,3,222,111,0,437,438,5,202,0,0,438,570,1,0,0,0,439,440,5,40,0,0,440,441,5,191,0,0,441,570,3,214,107,0,442,443,5,44,0,0,443,570,3,24,12,0,444,445,5,50,0,0,445,448,5,26,0,0,446,447,5,78,0,0,447,449,5,56,0,0,448,446,1,0,0,0,448,449,1,0,0,0,449,450,1,0,0,0,450,570,3,222,111,0,451,452,5,50,0,0,452,455,5,81,0,0,453,454,5,78,0,0,454,456,5,56,0,0,455,453,1,0,0,0,455,456,1,0,0,0,456,457,1,0,0,0,457,570,3,222,111,0,458,459,5,50,0,0,459,462,5,133,0,0,460,461,5,78,0,0,461,463,5,56,0,0,462,460,1,0,0,0,462,463,1,0,0,0,463,464,1,0,0,0,464,570,3,222,111,0,465,466,5,50,0,0,466,570,3,24,12,0,467,469,5,67,0,0,468,470,3,24,12,0,469,468,1,0,0,0,469,470,1,0,0,0,470,570,1,0,0,0,471,472,5,103,0,0,472,475,5,81,0,0,473,474,5,78,0,0,474,476,5,56,0,0,475,473,1,0,0,0,475,476,1,0,0,0,476,477,1,0,0,0,477,480,3,222,111,0,478,479,5,80,0,0,479,481,3,24,12,0,480,478,1,0,0,0,480,481,1,0,0,0,481,570,1,0,0,0,482,483,5,103,0,0,483,486,5,133,0,0,484,485,5,78,0,0,485,487,5,56,0,0,486,484,1,0,0,0,486,487,1,0,0,0,487,488,1,0,0,0,488,491,3,222,111,0,489,490,5,80,0,0,490,492,3,24,12,0,491,489,1,0,0,0,491,492,1,0,0,0,492,570,1,0,0,0,493,494,5,109,0,0,494,497,5,26,0,0,495,496,5,78,0,0,496,498,5,56,0,0,497,495,1,0,0,0,497,498,1,0,0,0,498,499,1,0,0,0,499,500,3,222,111,0,500,501,3,98,49,0,501,570,1,0,0,0,502,503,5,109,0,0,503,506,5,26,0,0,504,505,5,78,0,0,505,507,5,56,0,0,506,504,1,0,0,0,506,507,1,0,0,0,507,508,1,0,0,0,508,509,3,222,111,0,509,510,5,27,0,0,510,511,5,202,0,0,511,570,1,0,0,0,512,513,5,109,0,0,513,516,5,26,0,0,514,515,5,78,0,0,515,517,5,56,0,0,516,514,1,0,0,0,516,517,1,0,0,0,517,518,1,0,0,0,518,519,3,222,111,0,519,520,5,138,0,0,520,521,3,22,11,0,521,570,1,0,0,0,522,523,5,109,0,0,523,526,5,26,0,0,524,525,5,78,0,0,525,527,5,56,0,0,526,524,1,0,0,0,526,527,1,0,0,0,527,528,1,0,0,0,528,570,3,90,45,0,529,530,5,109,0,0,530,531,5,122,0,0,531,532,5,18,0,0,532,570,3,214,107,0,533,534,5,109,0,0,534,570,3,84,42,0,535,536,5,111,0,0,536,546,3,24,12,0,537,538,5,170,0,0,538,539,5,47,0,0,539,547,5,202,0,0,540,541,5,170,0,0,541,542,5,187,0,0,542,547,5,202,0,0,543,544,5,170,0,0,544,545,5,162,0,0,545,547,3,228,114,0,546,537,1,0,0,0,546,540,1,0,0,0,546,543,1,0,0,0,547,570,1,0,0,0,548,549,5,138,0,0,549,570,5,177,0,0,550,551,5,139,0,0,551,554,5,26,0,0,552,553,5,78,0,0,553,555,5,56,0,0,554,552,1,0,0,0,554,555,1,0,0,0,555,556,1,0,0,0,556,557,3,222,111,0,557,558,5,170,0,0,558,559,3,222,111,0,559,570,1,0,0,0,560,561,5,140,0,0,561,562,3,24,12,0,562,563,5,68,0,0,563,564,3,228,114,0,564,570,1,0,0,0,565,566,5,181,0,0,566,567,3,18,9,0,567,568,3,146,73,0,568,570,1,0,0,0,569,355,1,0,0,0,569,367,1,0,0,0,569,379,1,0,0,0,569,391,1,0,0,0,569,397,1,0,0,0,569,408,1,0,0,0,569,419,1,0,0,0,569,430,1,0,0,0,569,439,1,0,0,0,569,442,1,0,0,0,569,444,1,0,0,0,569,451,1,0,0,0,569,458,1,0,0,0,569,465,1,0,0,0,569,467,1,0,0,0,569,471,1,0,0,0,569,482,1,0,0,0,569,493,1,0,0,0,569,502,1,0,0,0,569,512,1,0,0,0,569,522,1,0,0,0,569,529,1,0,0,0,569,533,1,0,0,0,569,535,1,0,0,0,569,548,1,0,0,0,569,550,1,0,0,0,569,560,1,0,0,0,569,565,1,0,0,0,570,17,1,0,0,0,571,576,3,20,10,0,572,573,5,208,0,0,573,575,3,20,10,0,574,572,1,0,0,0,575,578,1,0,0,0,576,574,1,0,0,0,576,577,1,0,0,0,577,19,1,0,0,0,578,576,1,0,0,0,579,580,3,222,111,0,580,581,5,213,0,0,581,582,3,214,107,0,582,21,1,0,0,0,583,584,7,0,0,0,584,23,1,0,0,0,585,586,5,126,0,0,586,591,3,214,107,0,587,588,5,126,0,0,588,589,5,77,0,0,589,591,5,202,0,0,590,585,1,0,0,0,590,587,1,0,0,0,591,25,1,0,0,0,592,593,5,15,0,0,593,594,5,46,0,0,594,596,3,228,114,0,595,597,3,66,33,0,596,595,1,0,0,0,596,597,1,0,0,0,597,27,1,0,0,0,598,599,5,21,0,0,599,600,5,162,0,0,600,602,3,228,114,0,601,603,3,24,12,0,602,601,1,0,0,0,602,603,1,0,0,0,603,29,1,0,0,0,604,605,5,40,0,0,605,606,5,68,0,0,606,608,3,228,114,0,607,609,3,66,33,0,608,607,1,0,0,0,608,609,1,0,0,0,609,611,1,0,0,0,610,612,3,146,73,0,611,610,1,0,0,0,611,612,1,0,0,0,612,31,1,0,0,0,613,621,5,15,0,0,614,617,5,29,0,0,615,616,5,121,0,0,616,618,5,140,0,0,617,615,1,0,0,0,617,618,1,0,0,0,618,621,1,0,0,0,619,621,5,140,0,0,620,613,1,0,0,0,620,614,1,0,0,0,620,619,1,0,0,0,621,623,1,0,0,0,622,624,5,164,0,0,623,622,1,0,0,0,623,624,1,0,0,0,624,625,1,0,0,0,625,629,5,162,0,0,626,627,5,78,0,0,627,628,5,115,0,0,628,630,5,56,0,0,629,626,1,0,0,0,629,630,1,0,0,0,630,631,1,0,0,0,631,633,3,228,114,0,632,634,3,68,34,0,633,632,1,0,0,0,633,634,1,0,0,0,634,636,1,0,0,0,635,637,3,66,33,0,636,635,1,0,0,0,636,637,1,0,0,0,637,639,1,0,0,0,638,640,3,74,37,0,639,638,1,0,0,0,639,640,1,0,0,0,640,642,1,0,0,0,641,643,3,76,38,0,642,641,1,0,0,0,642,643,1,0,0,0,643,645,1,0,0,0,644,646,3,72,36,0,645,644,1,0,0,0,645,646,1,0,0,0,646,33,1,0,0,0,647,648,7,1,0,0,648,652,5,33,0,0,649,650,5,78,0,0,650,651,5,115,0,0,651,653,5,56,0,0,652,649,1,0,0,0,652,653,1,0,0,0,653,654,1,0,0,0,654,656,3,250,125,0,655,657,3,66,33,0,656,655,1,0,0,0,656,657,1,0,0,0,657,658,1,0,0,0,658,659,3,86,43,0,659,35,1,0,0,0,660,668,5,15,0,0,661,664,5,29,0,0,662,663,5,121,0,0,663,665,5,140,0,0,664,662,1,0,0,0,664,665,1,0,0,0,665,668,1,0,0,0,666,668,5,140,0,0,667,660,1,0,0,0,667,661,1,0,0,0,667,666,1,0,0,0,668,669,1,0,0,0,669,673,5,46,0,0,670,671,5,78,0,0,671,672,5,115,0,0,672,674,5,56,0,0,673,670,1,0,0,0,673,674,1,0,0,0,674,675,1,0,0,0,675,677,3,228,114,0,676,678,3,68,34,0,677,676,1,0,0,0,677,678,1,0,0,0,678,680,1,0,0,0,679,681,3,66,33,0,680,679,1,0,0,0,680,681,1,0,0,0,681,682,1,0,0,0,682,683,3,46,23,0,683,684,3,50,25,0,684,37,1,0,0,0,685,686,7,1,0,0,686,687,5,100,0,0,687,691,5,186,0,0,688,689,5,78,0,0,689,690,5,115,0,0,690,692,5,56,0,0,691,688,1,0,0,0,691,692,1,0,0,0,692,693,1,0,0,0,693,695,3,228,114,0,694,696,3,68,34,0,695,694,1,0,0,0,695,696,1,0,0,0,696,698,1,0,0,0,697,699,3,66,33,0,698,697,1,0,0,0,698,699,1,0,0,0,699,705,1,0,0,0,700,701,5,193,0,0,701,703,5,168,0,0,702,704,5,200,0,0,703,702,1,0,0,0,703,704,1,0,0,0,704,706,1,0,0,0,705,700,1,0,0,0,705,706,1,0,0,0,706,708,1,0,0,0,707,709,3,70,35,0,708,707,1,0,0,0,708,709,1,0,0,0,709,711,1,0,0,0,710,712,3,74,37,0,711,710,1,0,0,0,711,712,1,0,0,0,712,713,1,0,0,0,713,714,3,72,36,0,714,39,1,0,0,0,715,716,7,1,0,0,716,717,5,104,0,0,717,721,5,186,0,0,718,719,5,78,0,0,719,720,5,115,0,0,720,722,5,56,0,0,721,718,1,0,0,0,721,722,1,0,0,0,722,723,1,0,0,0,723,725,3,228,114,0,724,726,3,68,34,0,725,724,1,0,0,0,725,726,1,0,0,0,726,728,1,0,0,0,727,729,3,66,33,0,728,727,1,0,0,0,728,729,1,0,0,0,729,731,1,0,0,0,730,732,3,74,37,0,731,730,1,0,0,0,731,732,1,0,0,0,732,738,1,0,0,0,733,739,3,70,35,0,734,736,3,76,38,0,735,737,5,129,0,0,736,735,1,0,0,0,736,737,1,0,0,0,737,739,1,0,0,0,738,733,1,0,0,0,738,734,1,0,0,0,739,740,1,0,0,0,740,741,3,72,36,0,741,41,1,0,0,0,742,745,7,1,0,0,743,744,5,121,0,0,744,746,5,140,0,0,745,743,1,0,0,0,745,746,1,0,0,0,746,747,1,0,0,0,747,751,5,186,0,0,748,749,5,78,0,0,749,750,5,115,0,0,750,752,5,56,0,0,751,748,1,0,0,0,751,752,1,0,0,0,752,753,1,0,0,0,753,755,3,228,114,0,754,756,3,68,34,0,755,754,1,0,0,0,755,756,1,0,0,0,756,758,1,0,0,0,757,759,3,66,33,0,758,757,1,0,0,0,758,759,1,0,0,0,759,761,1,0,0,0,760,762,3,74,37,0,761,760,1,0,0,0,761,762,1,0,0,0,762,763,1,0,0,0,763,764,3,72,36,0,764,43,1,0,0,0,765,772,3,34,17,0,766,772,3,36,18,0,767,772,3,38,19,0,768,772,3,40,20,0,769,772,3,32,16,0,770,772,3,42,21,0,771,765,1,0,0,0,771,766,1,0,0,0,771,767,1,0,0,0,771,768,1,0,0,0,771,769,1,0,0,0,771,770,1,0,0,0,772,45,1,0,0,0,773,774,5,219,0,0,774,779,3,48,24,0,775,776,5,208,0,0,776,778,3,48,24,0,777,775,1,0,0,0,778,781,1,0,0,0,779,777,1,0,0,0,779,780,1,0,0,0,780,782,1,0,0,0,781,779,1,0,0,0,782,783,5,229,0,0,783,47,1,0,0,0,784,785,3,250,125,0,785,807,3,208,104,0,786,787,4,24,0,1,787,788,5,38,0,0,788,789,3,240,120,0,789,790,6,24,-1,0,790,806,1,0,0,0,791,792,4,24,1,1,792,793,5,58,0,0,793,794,3,214,107,0,794,795,6,24,-1,0,795,806,1,0,0,0,796,797,4,24,2,1,797,798,5,75,0,0,798,806,6,24,-1,0,799,800,4,24,3,1,800,801,5,83,0,0,801,806,6,24,-1,0,802,803,4,24,4,1,803,804,5,89,0,0,804,806,6,24,-1,0,805,786,1,0,0,0,805,791,1,0,0,0,805,796,1,0,0,0,805,799,1,0,0,0,805,802,1,0,0,0,806,809,1,0,0,0,807,805,1,0,0,0,807,808,1,0,0,0,808,49,1,0,0,0,809,807,1,0,0,0,810,812,3,52,26,0,811,810,1,0,0,0,811,812,1,0,0,0,812,835,1,0,0,0,813,814,4,25,5,1,814,815,3,56,28,0,815,816,6,25,-1,0,816,834,1,0,0,0,817,818,4,25,6,1,818,819,3,58,29,0,819,820,6,25,-1,0,820,834,1,0,0,0,821,822,4,25,7,1,822,823,3,60,30,0,823,824,6,25,-1,0,824,834,1,0,0,0,825,826,4,25,8,1,826,827,3,62,31,0,827,828,6,25,-1,0,828,834,1,0,0,0,829,830,4,25,9,1,830,831,3,64,32,0,831,832,6,25,-1,0,832,834,1,0,0,0,833,813,1,0,0,0,833,817,1,0,0,0,833,821,1,0,0,0,833,825,1,0,0,0,833,829,1,0,0,0,834,837,1,0,0,0,835,833,1,0,0,0,835,836,1,0,0,0,836,51,1,0,0,0,837,835,1,0,0,0,838,839,5,132,0,0,839,840,5,91,0,0,840,841,3,210,105,0,841,53,1,0,0,0,842,849,3,250,125,0,843,846,3,250,125,0,844,845,5,219,0,0,845,847,5,229,0,0,846,844,1,0,0,0,846,847,1,0,0,0,847,850,1,0,0,0,848,850,3,240,120,0,849,843,1,0,0,0,849,848,1,0,0,0,850,55,1,0,0,0,851,852,5,155,0,0,852,853,5,219,0,0,853,854,3,250,125,0,854,858,5,219,0,0,855,857,3,54,27,0,856,855,1,0,0,0,857,860,1,0,0,0,858,856,1,0,0,0,858,859,1,0,0,0,859,861,1,0,0,0,860,858,1,0,0,0,861,862,5,229,0,0,862,863,5,229,0,0,863,57,1,0,0,0,864,865,5,97,0,0,865,875,5,219,0,0,866,876,5,200,0,0,867,868,5,107,0,0,868,869,5,200,0,0,869,870,5,105,0,0,870,876,5,200,0,0,871,872,5,105,0,0,872,873,5,200,0,0,873,874,5,107,0,0,874,876,5,200,0,0,875,866,1,0,0,0,875,867,1,0,0,0,875,871,1,0,0,0,876,877,1,0,0,0,877,878,5,229,0,0,878,59,1,0,0,0,879,880,5,94,0,0,880,881,5,219,0,0,881,882,3,250,125,0,882,886,5,219,0,0,883,885,3,54,27,0,884,883,1,0,0,0,885,888,1,0,0,0,886,884,1,0,0,0,886,887,1,0,0,0,887,889,1,0,0,0,888,886,1,0,0,0,889,890,5,229,0,0,890,891,5,229,0,0,891,61,1,0,0,0,892,893,5,136,0,0,893,904,5,219,0,0,894,895,5,107,0,0,895,896,3,250,125,0,896,897,5,105,0,0,897,898,3,250,125,0,898,905,1,0,0,0,899,900,5,105,0,0,900,901,3,250,125,0,901,902,5,107,0,0,902,903,3,250,125,0,903,905,1,0,0,0,904,894,1,0,0,0,904,899,1,0,0,0,905,906,1,0,0,0,906,907,5,229,0,0,907,63,1,0,0,0,908,909,5,153,0,0,909,910,5,219,0,0,910,911,3,180,90,0,911,912,5,229,0,0,912,65,1,0,0,0,913,914,5,119,0,0,914,917,5,23,0,0,915,918,3,250,125,0,916,918,5,202,0,0,917,915,1,0,0,0,917,916,1,0,0,0,918,67,1,0,0,0,919,920,5,184,0,0,920,921,5,202,0,0,921,69,1,0,0,0,922,923,5,170,0,0,923,924,3,228,114,0,924,71,1,0,0,0,925,926,5,10,0,0,926,927,3,128,64,0,927,73,1,0,0,0,928,929,5,219,0,0,929,934,3,88,44,0,930,931,5,208,0,0,931,933,3,88,44,0,932,930,1,0,0,0,933,936,1,0,0,0,934,932,1,0,0,0,934,935,1,0,0,0,935,937,1,0,0,0,936,934,1,0,0,0,937,938,5,229,0,0,938,944,1,0,0,0,939,940,5,10,0,0,940,944,3,228,114,0,941,942,5,10,0,0,942,944,3,226,113,0,943,928,1,0,0,0,943,939,1,0,0,0,943,941,1,0,0,0,944,75,1,0,0,0,945,972,3,86,43,0,946,947,4,38,10,1,947,948,3,152,76,0,948,949,6,38,-1,0,949,971,1,0,0,0,950,951,4,38,11,1,951,952,3,78,39,0,952,953,6,38,-1,0,953,971,1,0,0,0,954,955,4,38,12,1,955,956,3,80,40,0,956,957,6,38,-1,0,957,971,1,0,0,0,958,959,4,38,13,1,959,960,3,82,41,0,960,961,6,38,-1,0,961,971,1,0,0,0,962,963,4,38,14,1,963,964,3,84,42,0,964,965,6,38,-1,0,965,971,1,0,0,0,966,967,4,38,15,1,967,968,3,160,80,0,968,969,6,38,-1,0,969,971,1,0,0,0,970,946,1,0,0,0,970,950,1,0,0,0,970,954,1,0,0,0,970,958,1,0,0,0,970,962,1,0,0,0,970,966,1,0,0,0,971,974,1,0,0,0,972,970,1,0,0,0,972,973,1,0,0,0,973,77,1,0,0,0,974,972,1,0,0,0,975,976,5,126,0,0,976,977,5,18,0,0,977,978,3,214,107,0,978,79,1,0,0,0,979,980,5,132,0,0,980,981,5,91,0,0,981,982,3,214,107,0,982,81,1,0,0,0,983,984,5,147,0,0,984,985,5,18,0,0,985,986,3,214,107,0,986,83,1,0,0,0,987,988,5,177,0,0,988,993,3,102,51,0,989,990,5,208,0,0,990,992,3,102,51,0,991,989,1,0,0,0,992,995,1,0,0,0,993,991,1,0,0,0,993,994,1,0,0,0,994,85,1,0,0,0,995,993,1,0,0,0,996,998,5,53,0,0,997,999,5,213,0,0,998,997,1,0,0,0,998,999,1,0,0,0,999,1e3,1,0,0,0,1e3,1006,3,252,126,0,1001,1003,5,219,0,0,1002,1004,3,210,105,0,1003,1002,1,0,0,0,1003,1004,1,0,0,0,1004,1005,1,0,0,0,1005,1007,5,229,0,0,1006,1001,1,0,0,0,1006,1007,1,0,0,0,1007,87,1,0,0,0,1008,1019,3,90,45,0,1009,1010,5,28,0,0,1010,1011,3,250,125,0,1011,1012,5,21,0,0,1012,1013,3,214,107,0,1013,1019,1,0,0,0,1014,1015,5,81,0,0,1015,1019,3,94,47,0,1016,1017,5,133,0,0,1017,1019,3,96,48,0,1018,1008,1,0,0,0,1018,1009,1,0,0,0,1018,1014,1,0,0,0,1018,1016,1,0,0,0,1019,89,1,0,0,0,1020,1021,3,222,111,0,1021,1023,3,208,104,0,1022,1024,3,92,46,0,1023,1022,1,0,0,0,1023,1024,1,0,0,0,1024,1027,1,0,0,0,1025,1026,5,27,0,0,1026,1028,5,202,0,0,1027,1025,1,0,0,0,1027,1028,1,0,0,0,1028,1030,1,0,0,0,1029,1031,3,98,49,0,1030,1029,1,0,0,0,1030,1031,1,0,0,0,1031,1034,1,0,0,0,1032,1033,5,177,0,0,1033,1035,3,214,107,0,1034,1032,1,0,0,0,1034,1035,1,0,0,0,1035,1053,1,0,0,0,1036,1038,3,222,111,0,1037,1039,3,208,104,0,1038,1037,1,0,0,0,1038,1039,1,0,0,0,1039,1040,1,0,0,0,1040,1043,3,92,46,0,1041,1042,5,27,0,0,1042,1044,5,202,0,0,1043,1041,1,0,0,0,1043,1044,1,0,0,0,1044,1046,1,0,0,0,1045,1047,3,98,49,0,1046,1045,1,0,0,0,1046,1047,1,0,0,0,1047,1050,1,0,0,0,1048,1049,5,177,0,0,1049,1051,3,214,107,0,1050,1048,1,0,0,0,1050,1051,1,0,0,0,1051,1053,1,0,0,0,1052,1020,1,0,0,0,1052,1036,1,0,0,0,1053,91,1,0,0,0,1054,1055,7,2,0,0,1055,1056,3,214,107,0,1056,93,1,0,0,0,1057,1058,3,222,111,0,1058,1059,3,214,107,0,1059,1060,5,178,0,0,1060,1061,3,208,104,0,1061,1062,5,72,0,0,1062,1063,5,200,0,0,1063,95,1,0,0,0,1064,1065,3,222,111,0,1065,1066,3,126,63,0,1066,97,1,0,0,0,1067,1068,5,24,0,0,1068,1069,5,219,0,0,1069,1074,3,100,50,0,1070,1071,5,208,0,0,1071,1073,3,100,50,0,1072,1070,1,0,0,0,1073,1076,1,0,0,0,1074,1072,1,0,0,0,1074,1075,1,0,0,0,1075,1077,1,0,0,0,1076,1074,1,0,0,0,1077,1078,5,229,0,0,1078,99,1,0,0,0,1079,1085,3,250,125,0,1080,1082,5,219,0,0,1081,1083,3,210,105,0,1082,1081,1,0,0,0,1082,1083,1,0,0,0,1083,1084,1,0,0,0,1084,1086,5,229,0,0,1085,1080,1,0,0,0,1085,1086,1,0,0,0,1086,101,1,0,0,0,1087,1095,3,214,107,0,1088,1096,5,40,0,0,1089,1090,5,170,0,0,1090,1091,5,47,0,0,1091,1096,5,202,0,0,1092,1093,5,170,0,0,1093,1094,5,187,0,0,1094,1096,5,202,0,0,1095,1088,1,0,0,0,1095,1089,1,0,0,0,1095,1092,1,0,0,0,1095,1096,1,0,0,0,1096,103,1,0,0,0,1097,1099,7,3,0,0,1098,1100,5,162,0,0,1099,1098,1,0,0,0,1099,1100,1,0,0,0,1100,1101,1,0,0,0,1101,1102,3,224,112,0,1102,105,1,0,0,0,1103,1104,7,4,0,0,1104,1107,5,33,0,0,1105,1106,5,78,0,0,1106,1108,5,56,0,0,1107,1105,1,0,0,0,1107,1108,1,0,0,0,1108,1109,1,0,0,0,1109,1111,3,234,117,0,1110,1112,3,66,33,0,1111,1110,1,0,0,0,1111,1112,1,0,0,0,1112,1135,1,0,0,0,1113,1120,7,4,0,0,1114,1121,5,46,0,0,1115,1117,5,164,0,0,1116,1115,1,0,0,0,1116,1117,1,0,0,0,1117,1118,1,0,0,0,1118,1121,5,162,0,0,1119,1121,5,186,0,0,1120,1114,1,0,0,0,1120,1116,1,0,0,0,1120,1119,1,0,0,0,1121,1124,1,0,0,0,1122,1123,5,78,0,0,1123,1125,5,56,0,0,1124,1122,1,0,0,0,1124,1125,1,0,0,0,1125,1126,1,0,0,0,1126,1128,3,228,114,0,1127,1129,3,66,33,0,1128,1127,1,0,0,0,1128,1129,1,0,0,0,1129,1132,1,0,0,0,1130,1131,5,114,0,0,1131,1133,5,39,0,0,1132,1130,1,0,0,0,1132,1133,1,0,0,0,1133,1135,1,0,0,0,1134,1103,1,0,0,0,1134,1113,1,0,0,0,1135,107,1,0,0,0,1136,1137,5,56,0,0,1137,1138,5,33,0,0,1138,1150,3,234,117,0,1139,1146,5,56,0,0,1140,1147,5,46,0,0,1141,1143,5,164,0,0,1142,1141,1,0,0,0,1142,1143,1,0,0,0,1143,1144,1,0,0,0,1144,1147,5,162,0,0,1145,1147,5,186,0,0,1146,1140,1,0,0,0,1146,1142,1,0,0,0,1146,1145,1,0,0,0,1146,1147,1,0,0,0,1147,1148,1,0,0,0,1148,1150,3,228,114,0,1149,1136,1,0,0,0,1149,1139,1,0,0,0,1150,109,1,0,0,0,1151,1152,5,57,0,0,1152,1173,3,6,3,0,1153,1154,5,57,0,0,1154,1155,5,13,0,0,1155,1173,3,6,3,0,1156,1157,5,57,0,0,1157,1158,5,160,0,0,1158,1173,3,6,3,0,1159,1160,5,57,0,0,1160,1161,5,127,0,0,1161,1173,3,6,3,0,1162,1163,5,57,0,0,1163,1164,5,128,0,0,1164,1173,3,6,3,0,1165,1166,5,57,0,0,1166,1167,5,135,0,0,1167,1168,5,175,0,0,1168,1173,3,6,3,0,1169,1170,5,57,0,0,1170,1171,5,54,0,0,1171,1173,3,6,3,0,1172,1151,1,0,0,0,1172,1153,1,0,0,0,1172,1156,1,0,0,0,1172,1159,1,0,0,0,1172,1162,1,0,0,0,1172,1165,1,0,0,0,1172,1169,1,0,0,0,1173,111,1,0,0,0,1174,1175,5,85,0,0,1175,1177,5,87,0,0,1176,1178,5,162,0,0,1177,1176,1,0,0,0,1177,1178,1,0,0,0,1178,1182,1,0,0,0,1179,1183,3,228,114,0,1180,1181,5,70,0,0,1181,1183,3,226,113,0,1182,1179,1,0,0,0,1182,1180,1,0,0,0,1183,1185,1,0,0,0,1184,1186,3,114,57,0,1185,1184,1,0,0,0,1185,1186,1,0,0,0,1186,1187,1,0,0,0,1187,1188,3,116,58,0,1188,113,1,0,0,0,1189,1190,5,219,0,0,1190,1195,3,222,111,0,1191,1192,5,208,0,0,1192,1194,3,222,111,0,1193,1191,1,0,0,0,1194,1197,1,0,0,0,1195,1193,1,0,0,0,1195,1196,1,0,0,0,1196,1198,1,0,0,0,1197,1195,1,0,0,0,1198,1199,5,229,0,0,1199,115,1,0,0,0,1200,1201,5,66,0,0,1201,1210,3,250,125,0,1202,1210,3,118,59,0,1203,1205,3,128,64,0,1204,1206,5,230,0,0,1205,1204,1,0,0,0,1205,1206,1,0,0,0,1206,1207,1,0,0,0,1207,1208,5,0,0,1,1208,1210,1,0,0,0,1209,1200,1,0,0,0,1209,1202,1,0,0,0,1209,1203,1,0,0,0,1210,117,1,0,0,0,1211,1212,5,185,0,0,1212,1214,5,219,0,0,1213,1215,3,240,120,0,1214,1213,1,0,0,0,1214,1215,1,0,0,0,1215,1216,1,0,0,0,1216,1225,5,229,0,0,1217,1218,5,208,0,0,1218,1220,5,219,0,0,1219,1221,3,240,120,0,1220,1219,1,0,0,0,1220,1221,1,0,0,0,1221,1222,1,0,0,0,1222,1224,5,229,0,0,1223,1217,1,0,0,0,1224,1227,1,0,0,0,1225,1223,1,0,0,0,1225,1226,1,0,0,0,1226,119,1,0,0,0,1227,1225,1,0,0,0,1228,1229,5,92,0,0,1229,1231,5,112,0,0,1230,1232,3,66,33,0,1231,1230,1,0,0,0,1231,1232,1,0,0,0,1232,1233,1,0,0,0,1233,1235,3,146,73,0,1234,1236,7,5,0,0,1235,1234,1,0,0,0,1235,1236,1,0,0,0,1236,121,1,0,0,0,1237,1238,5,120,0,0,1238,1239,5,162,0,0,1239,1241,3,228,114,0,1240,1242,3,66,33,0,1241,1240,1,0,0,0,1241,1242,1,0,0,0,1242,1244,1,0,0,0,1243,1245,3,24,12,0,1244,1243,1,0,0,0,1244,1245,1,0,0,0,1245,1247,1,0,0,0,1246,1248,5,61,0,0,1247,1246,1,0,0,0,1247,1248,1,0,0,0,1248,1250,1,0,0,0,1249,1251,5,37,0,0,1250,1249,1,0,0,0,1250,1251,1,0,0,0,1251,123,1,0,0,0,1252,1253,5,139,0,0,1253,1254,5,162,0,0,1254,1255,3,228,114,0,1255,1256,5,170,0,0,1256,1264,3,228,114,0,1257,1258,5,208,0,0,1258,1259,3,228,114,0,1259,1260,5,170,0,0,1260,1261,3,228,114,0,1261,1263,1,0,0,0,1262,1257,1,0,0,0,1263,1266,1,0,0,0,1264,1262,1,0,0,0,1264,1265,1,0,0,0,1265,1268,1,0,0,0,1266,1264,1,0,0,0,1267,1269,3,66,33,0,1268,1267,1,0,0,0,1268,1269,1,0,0,0,1269,125,1,0,0,0,1270,1272,5,219,0,0,1271,1273,3,134,67,0,1272,1271,1,0,0,0,1272,1273,1,0,0,0,1273,1274,1,0,0,0,1274,1275,5,149,0,0,1275,1277,3,210,105,0,1276,1278,3,148,74,0,1277,1276,1,0,0,0,1277,1278,1,0,0,0,1278,1280,1,0,0,0,1279,1281,3,154,77,0,1280,1279,1,0,0,0,1280,1281,1,0,0,0,1281,1282,1,0,0,0,1282,1283,5,229,0,0,1283,127,1,0,0,0,1284,1290,3,130,65,0,1285,1286,5,180,0,0,1286,1287,5,4,0,0,1287,1289,3,130,65,0,1288,1285,1,0,0,0,1289,1292,1,0,0,0,1290,1288,1,0,0,0,1290,1291,1,0,0,0,1291,129,1,0,0,0,1292,1290,1,0,0,0,1293,1299,3,132,66,0,1294,1295,5,219,0,0,1295,1296,3,128,64,0,1296,1297,5,229,0,0,1297,1299,1,0,0,0,1298,1293,1,0,0,0,1298,1294,1,0,0,0,1299,131,1,0,0,0,1300,1302,3,134,67,0,1301,1300,1,0,0,0,1301,1302,1,0,0,0,1302,1303,1,0,0,0,1303,1305,5,149,0,0,1304,1306,5,48,0,0,1305,1304,1,0,0,0,1305,1306,1,0,0,0,1306,1308,1,0,0,0,1307,1309,3,136,68,0,1308,1307,1,0,0,0,1308,1309,1,0,0,0,1309,1310,1,0,0,0,1310,1312,3,210,105,0,1311,1313,3,138,69,0,1312,1311,1,0,0,0,1312,1313,1,0,0,0,1313,1315,1,0,0,0,1314,1316,3,140,70,0,1315,1314,1,0,0,0,1315,1316,1,0,0,0,1316,1318,1,0,0,0,1317,1319,3,142,71,0,1318,1317,1,0,0,0,1318,1319,1,0,0,0,1319,1321,1,0,0,0,1320,1322,3,144,72,0,1321,1320,1,0,0,0,1321,1322,1,0,0,0,1322,1324,1,0,0,0,1323,1325,3,146,73,0,1324,1323,1,0,0,0,1324,1325,1,0,0,0,1325,1327,1,0,0,0,1326,1328,3,148,74,0,1327,1326,1,0,0,0,1327,1328,1,0,0,0,1328,1331,1,0,0,0,1329,1330,5,193,0,0,1330,1332,7,6,0,0,1331,1329,1,0,0,0,1331,1332,1,0,0,0,1332,1335,1,0,0,0,1333,1334,5,193,0,0,1334,1336,5,172,0,0,1335,1333,1,0,0,0,1335,1336,1,0,0,0,1336,1338,1,0,0,0,1337,1339,3,150,75,0,1338,1337,1,0,0,0,1338,1339,1,0,0,0,1339,1341,1,0,0,0,1340,1342,3,152,76,0,1341,1340,1,0,0,0,1341,1342,1,0,0,0,1342,1344,1,0,0,0,1343,1345,3,156,78,0,1344,1343,1,0,0,0,1344,1345,1,0,0,0,1345,1347,1,0,0,0,1346,1348,3,158,79,0,1347,1346,1,0,0,0,1347,1348,1,0,0,0,1348,1350,1,0,0,0,1349,1351,3,160,80,0,1350,1349,1,0,0,0,1350,1351,1,0,0,0,1351,133,1,0,0,0,1352,1353,5,193,0,0,1353,1354,3,210,105,0,1354,135,1,0,0,0,1355,1356,5,171,0,0,1356,1359,5,200,0,0,1357,1358,5,193,0,0,1358,1360,5,167,0,0,1359,1357,1,0,0,0,1359,1360,1,0,0,0,1360,137,1,0,0,0,1361,1362,5,68,0,0,1362,1363,3,162,81,0,1363,139,1,0,0,0,1364,1366,7,7,0,0,1365,1364,1,0,0,0,1365,1366,1,0,0,0,1366,1367,1,0,0,0,1367,1368,5,9,0,0,1368,1369,5,90,0,0,1369,1370,3,210,105,0,1370,141,1,0,0,0,1371,1372,5,192,0,0,1372,1373,3,250,125,0,1373,1374,5,10,0,0,1374,1375,5,219,0,0,1375,1376,3,184,92,0,1376,1377,5,229,0,0,1377,143,1,0,0,0,1378,1379,5,131,0,0,1379,1380,3,214,107,0,1380,145,1,0,0,0,1381,1382,5,191,0,0,1382,1383,3,214,107,0,1383,147,1,0,0,0,1384,1385,5,73,0,0,1385,1392,5,18,0,0,1386,1387,7,6,0,0,1387,1388,5,219,0,0,1388,1389,3,210,105,0,1389,1390,5,229,0,0,1390,1393,1,0,0,0,1391,1393,3,210,105,0,1392,1386,1,0,0,0,1392,1391,1,0,0,0,1393,149,1,0,0,0,1394,1395,5,74,0,0,1395,1396,3,214,107,0,1396,151,1,0,0,0,1397,1398,5,122,0,0,1398,1399,5,18,0,0,1399,1400,3,174,87,0,1400,153,1,0,0,0,1401,1402,5,122,0,0,1402,1403,5,18,0,0,1403,1404,3,210,105,0,1404,155,1,0,0,0,1405,1406,5,99,0,0,1406,1407,3,172,86,0,1407,1408,5,18,0,0,1408,1409,3,210,105,0,1409,157,1,0,0,0,1410,1411,5,99,0,0,1411,1414,3,172,86,0,1412,1413,5,193,0,0,1413,1415,5,167,0,0,1414,1412,1,0,0,0,1414,1415,1,0,0,0,1415,159,1,0,0,0,1416,1417,5,153,0,0,1417,1418,3,180,90,0,1418,161,1,0,0,0,1419,1420,6,81,-1,0,1420,1422,3,224,112,0,1421,1423,5,61,0,0,1422,1421,1,0,0,0,1422,1423,1,0,0,0,1423,1425,1,0,0,0,1424,1426,3,170,85,0,1425,1424,1,0,0,0,1425,1426,1,0,0,0,1426,1432,1,0,0,0,1427,1428,5,219,0,0,1428,1429,3,162,81,0,1429,1430,5,229,0,0,1430,1432,1,0,0,0,1431,1419,1,0,0,0,1431,1427,1,0,0,0,1432,1450,1,0,0,0,1433,1434,10,3,0,0,1434,1435,3,166,83,0,1435,1436,3,162,81,4,1436,1449,1,0,0,0,1437,1439,10,4,0,0,1438,1440,7,8,0,0,1439,1438,1,0,0,0,1439,1440,1,0,0,0,1440,1442,1,0,0,0,1441,1443,3,164,82,0,1442,1441,1,0,0,0,1442,1443,1,0,0,0,1443,1444,1,0,0,0,1444,1445,5,90,0,0,1445,1446,3,162,81,0,1446,1447,3,168,84,0,1447,1449,1,0,0,0,1448,1433,1,0,0,0,1448,1437,1,0,0,0,1449,1452,1,0,0,0,1450,1448,1,0,0,0,1450,1451,1,0,0,0,1451,163,1,0,0,0,1452,1450,1,0,0,0,1453,1455,7,9,0,0,1454,1453,1,0,0,0,1454,1455,1,0,0,0,1455,1456,1,0,0,0,1456,1463,5,84,0,0,1457,1459,5,84,0,0,1458,1460,7,9,0,0,1459,1458,1,0,0,0,1459,1460,1,0,0,0,1460,1463,1,0,0,0,1461,1463,7,9,0,0,1462,1454,1,0,0,0,1462,1457,1,0,0,0,1462,1461,1,0,0,0,1463,1497,1,0,0,0,1464,1466,7,10,0,0,1465,1464,1,0,0,0,1465,1466,1,0,0,0,1466,1467,1,0,0,0,1467,1469,7,11,0,0,1468,1470,5,123,0,0,1469,1468,1,0,0,0,1469,1470,1,0,0,0,1470,1479,1,0,0,0,1471,1473,7,11,0,0,1472,1474,5,123,0,0,1473,1472,1,0,0,0,1473,1474,1,0,0,0,1474,1476,1,0,0,0,1475,1477,7,10,0,0,1476,1475,1,0,0,0,1476,1477,1,0,0,0,1477,1479,1,0,0,0,1478,1465,1,0,0,0,1478,1471,1,0,0,0,1479,1497,1,0,0,0,1480,1482,7,12,0,0,1481,1480,1,0,0,0,1481,1482,1,0,0,0,1482,1483,1,0,0,0,1483,1485,5,69,0,0,1484,1486,5,123,0,0,1485,1484,1,0,0,0,1485,1486,1,0,0,0,1486,1495,1,0,0,0,1487,1489,5,69,0,0,1488,1490,5,123,0,0,1489,1488,1,0,0,0,1489,1490,1,0,0,0,1490,1492,1,0,0,0,1491,1493,7,12,0,0,1492,1491,1,0,0,0,1492,1493,1,0,0,0,1493,1495,1,0,0,0,1494,1481,1,0,0,0,1494,1487,1,0,0,0,1495,1497,1,0,0,0,1496,1462,1,0,0,0,1496,1478,1,0,0,0,1496,1494,1,0,0,0,1497,165,1,0,0,0,1498,1500,7,8,0,0,1499,1498,1,0,0,0,1499,1500,1,0,0,0,1500,1501,1,0,0,0,1501,1502,5,30,0,0,1502,1505,5,90,0,0,1503,1505,5,208,0,0,1504,1499,1,0,0,0,1504,1503,1,0,0,0,1505,167,1,0,0,0,1506,1507,5,119,0,0,1507,1516,3,210,105,0,1508,1509,5,183,0,0,1509,1510,5,219,0,0,1510,1511,3,210,105,0,1511,1512,5,229,0,0,1512,1516,1,0,0,0,1513,1514,5,183,0,0,1514,1516,3,210,105,0,1515,1506,1,0,0,0,1515,1508,1,0,0,0,1515,1513,1,0,0,0,1516,169,1,0,0,0,1517,1518,5,147,0,0,1518,1521,3,178,89,0,1519,1520,5,118,0,0,1520,1522,3,178,89,0,1521,1519,1,0,0,0,1521,1522,1,0,0,0,1522,171,1,0,0,0,1523,1526,3,214,107,0,1524,1525,7,13,0,0,1525,1527,3,214,107,0,1526,1524,1,0,0,0,1526,1527,1,0,0,0,1527,173,1,0,0,0,1528,1533,3,176,88,0,1529,1530,5,208,0,0,1530,1532,3,176,88,0,1531,1529,1,0,0,0,1532,1535,1,0,0,0,1533,1531,1,0,0,0,1533,1534,1,0,0,0,1534,175,1,0,0,0,1535,1533,1,0,0,0,1536,1538,3,214,107,0,1537,1539,7,14,0,0,1538,1537,1,0,0,0,1538,1539,1,0,0,0,1539,1542,1,0,0,0,1540,1541,5,117,0,0,1541,1543,7,15,0,0,1542,1540,1,0,0,0,1542,1543,1,0,0,0,1543,1546,1,0,0,0,1544,1545,5,25,0,0,1545,1547,5,202,0,0,1546,1544,1,0,0,0,1546,1547,1,0,0,0,1547,177,1,0,0,0,1548,1551,3,238,119,0,1549,1550,5,231,0,0,1550,1552,3,238,119,0,1551,1549,1,0,0,0,1551,1552,1,0,0,0,1552,179,1,0,0,0,1553,1558,3,182,91,0,1554,1555,5,208,0,0,1555,1557,3,182,91,0,1556,1554,1,0,0,0,1557,1560,1,0,0,0,1558,1556,1,0,0,0,1558,1559,1,0,0,0,1559,181,1,0,0,0,1560,1558,1,0,0,0,1561,1562,3,250,125,0,1562,1563,5,213,0,0,1563,1564,3,240,120,0,1564,183,1,0,0,0,1565,1567,3,186,93,0,1566,1565,1,0,0,0,1566,1567,1,0,0,0,1567,1569,1,0,0,0,1568,1570,3,188,94,0,1569,1568,1,0,0,0,1569,1570,1,0,0,0,1570,1572,1,0,0,0,1571,1573,3,190,95,0,1572,1571,1,0,0,0,1572,1573,1,0,0,0,1573,185,1,0,0,0,1574,1575,5,126,0,0,1575,1576,5,18,0,0,1576,1577,3,210,105,0,1577,187,1,0,0,0,1578,1579,5,122,0,0,1579,1580,5,18,0,0,1580,1581,3,174,87,0,1581,189,1,0,0,0,1582,1583,7,16,0,0,1583,1584,3,192,96,0,1584,191,1,0,0,0,1585,1592,3,194,97,0,1586,1587,5,16,0,0,1587,1588,3,194,97,0,1588,1589,5,6,0,0,1589,1590,3,194,97,0,1590,1592,1,0,0,0,1591,1585,1,0,0,0,1591,1586,1,0,0,0,1592,193,1,0,0,0,1593,1594,5,32,0,0,1594,1606,5,145,0,0,1595,1596,5,179,0,0,1596,1606,5,130,0,0,1597,1598,5,179,0,0,1598,1606,5,64,0,0,1599,1600,3,238,119,0,1600,1601,5,130,0,0,1601,1606,1,0,0,0,1602,1603,3,238,119,0,1603,1604,5,64,0,0,1604,1606,1,0,0,0,1605,1593,1,0,0,0,1605,1595,1,0,0,0,1605,1597,1,0,0,0,1605,1599,1,0,0,0,1605,1602,1,0,0,0,1606,195,1,0,0,0,1607,1608,5,152,0,0,1608,1609,3,180,90,0,1609,197,1,0,0,0,1610,1611,5,154,0,0,1611,1612,5,29,0,0,1612,1613,5,33,0,0,1613,1653,3,234,117,0,1614,1615,5,154,0,0,1615,1616,5,29,0,0,1616,1617,5,46,0,0,1617,1653,3,228,114,0,1618,1619,5,154,0,0,1619,1621,5,29,0,0,1620,1622,5,164,0,0,1621,1620,1,0,0,0,1621,1622,1,0,0,0,1622,1624,1,0,0,0,1623,1625,5,162,0,0,1624,1623,1,0,0,0,1624,1625,1,0,0,0,1625,1626,1,0,0,0,1626,1653,3,228,114,0,1627,1628,5,154,0,0,1628,1653,5,34,0,0,1629,1630,5,154,0,0,1630,1633,5,45,0,0,1631,1632,5,68,0,0,1632,1634,3,234,117,0,1633,1631,1,0,0,0,1633,1634,1,0,0,0,1634,1653,1,0,0,0,1635,1637,5,154,0,0,1636,1638,5,164,0,0,1637,1636,1,0,0,0,1637,1638,1,0,0,0,1638,1639,1,0,0,0,1639,1642,5,163,0,0,1640,1641,7,17,0,0,1641,1643,3,234,117,0,1642,1640,1,0,0,0,1642,1643,1,0,0,0,1643,1647,1,0,0,0,1644,1645,5,98,0,0,1645,1648,5,202,0,0,1646,1648,3,146,73,0,1647,1644,1,0,0,0,1647,1646,1,0,0,0,1647,1648,1,0,0,0,1648,1650,1,0,0,0,1649,1651,3,158,79,0,1650,1649,1,0,0,0,1650,1651,1,0,0,0,1651,1653,1,0,0,0,1652,1610,1,0,0,0,1652,1614,1,0,0,0,1652,1618,1,0,0,0,1652,1627,1,0,0,0,1652,1629,1,0,0,0,1652,1635,1,0,0,0,1653,199,1,0,0,0,1654,1655,5,161,0,0,1655,1656,5,63,0,0,1656,1657,5,49,0,0,1657,1689,3,228,114,0,1658,1659,5,161,0,0,1659,1660,5,63,0,0,1660,1689,5,102,0,0,1661,1662,5,161,0,0,1662,1663,5,137,0,0,1663,1689,5,45,0,0,1664,1665,5,161,0,0,1665,1666,5,137,0,0,1666,1667,5,46,0,0,1667,1689,3,228,114,0,1668,1669,5,161,0,0,1669,1677,7,18,0,0,1670,1671,5,49,0,0,1671,1678,5,151,0,0,1672,1678,5,60,0,0,1673,1675,5,177,0,0,1674,1673,1,0,0,0,1674,1675,1,0,0,0,1675,1676,1,0,0,0,1676,1678,5,106,0,0,1677,1670,1,0,0,0,1677,1672,1,0,0,0,1677,1674,1,0,0,0,1678,1679,1,0,0,0,1679,1689,3,228,114,0,1680,1681,5,161,0,0,1681,1682,7,18,0,0,1682,1683,5,142,0,0,1683,1689,5,151,0,0,1684,1685,5,161,0,0,1685,1686,5,159,0,0,1686,1687,5,141,0,0,1687,1689,3,228,114,0,1688,1654,1,0,0,0,1688,1658,1,0,0,0,1688,1661,1,0,0,0,1688,1664,1,0,0,0,1688,1668,1,0,0,0,1688,1680,1,0,0,0,1688,1684,1,0,0,0,1689,201,1,0,0,0,1690,1692,5,176,0,0,1691,1693,5,164,0,0,1692,1691,1,0,0,0,1692,1693,1,0,0,0,1693,1695,1,0,0,0,1694,1696,5,162,0,0,1695,1694,1,0,0,0,1695,1696,1,0,0,0,1696,1699,1,0,0,0,1697,1698,5,78,0,0,1698,1700,5,56,0,0,1699,1697,1,0,0,0,1699,1700,1,0,0,0,1700,1701,1,0,0,0,1701,1703,3,228,114,0,1702,1704,3,66,33,0,1703,1702,1,0,0,0,1703,1704,1,0,0,0,1704,203,1,0,0,0,1705,1706,5,182,0,0,1706,1707,3,234,117,0,1707,205,1,0,0,0,1708,1709,5,188,0,0,1709,1711,3,228,114,0,1710,1712,5,55,0,0,1711,1710,1,0,0,0,1711,1712,1,0,0,0,1712,1715,1,0,0,0,1713,1714,5,99,0,0,1714,1716,5,200,0,0,1715,1713,1,0,0,0,1715,1716,1,0,0,0,1716,207,1,0,0,0,1717,1765,3,250,125,0,1718,1719,3,250,125,0,1719,1720,5,219,0,0,1720,1721,3,250,125,0,1721,1728,3,208,104,0,1722,1723,5,208,0,0,1723,1724,3,250,125,0,1724,1725,3,208,104,0,1725,1727,1,0,0,0,1726,1722,1,0,0,0,1727,1730,1,0,0,0,1728,1726,1,0,0,0,1728,1729,1,0,0,0,1729,1731,1,0,0,0,1730,1728,1,0,0,0,1731,1732,5,229,0,0,1732,1765,1,0,0,0,1733,1734,3,250,125,0,1734,1735,5,219,0,0,1735,1740,3,254,127,0,1736,1737,5,208,0,0,1737,1739,3,254,127,0,1738,1736,1,0,0,0,1739,1742,1,0,0,0,1740,1738,1,0,0,0,1740,1741,1,0,0,0,1741,1743,1,0,0,0,1742,1740,1,0,0,0,1743,1744,5,229,0,0,1744,1765,1,0,0,0,1745,1746,3,250,125,0,1746,1747,5,219,0,0,1747,1752,3,208,104,0,1748,1749,5,208,0,0,1749,1751,3,208,104,0,1750,1748,1,0,0,0,1751,1754,1,0,0,0,1752,1750,1,0,0,0,1752,1753,1,0,0,0,1753,1755,1,0,0,0,1754,1752,1,0,0,0,1755,1756,5,229,0,0,1756,1765,1,0,0,0,1757,1758,3,250,125,0,1758,1760,5,219,0,0,1759,1761,3,210,105,0,1760,1759,1,0,0,0,1760,1761,1,0,0,0,1761,1762,1,0,0,0,1762,1763,5,229,0,0,1763,1765,1,0,0,0,1764,1717,1,0,0,0,1764,1718,1,0,0,0,1764,1733,1,0,0,0,1764,1745,1,0,0,0,1764,1757,1,0,0,0,1765,209,1,0,0,0,1766,1771,3,212,106,0,1767,1768,5,208,0,0,1768,1770,3,212,106,0,1769,1767,1,0,0,0,1770,1773,1,0,0,0,1771,1769,1,0,0,0,1771,1772,1,0,0,0,1772,211,1,0,0,0,1773,1771,1,0,0,0,1774,1775,3,228,114,0,1775,1776,5,211,0,0,1776,1778,1,0,0,0,1777,1774,1,0,0,0,1777,1778,1,0,0,0,1778,1779,1,0,0,0,1779,1786,5,204,0,0,1780,1781,5,219,0,0,1781,1782,3,128,64,0,1782,1783,5,229,0,0,1783,1786,1,0,0,0,1784,1786,3,214,107,0,1785,1777,1,0,0,0,1785,1780,1,0,0,0,1785,1784,1,0,0,0,1786,213,1,0,0,0,1787,1788,6,107,-1,0,1788,1790,5,19,0,0,1789,1791,3,214,107,0,1790,1789,1,0,0,0,1790,1791,1,0,0,0,1791,1797,1,0,0,0,1792,1793,5,190,0,0,1793,1794,3,214,107,0,1794,1795,5,166,0,0,1795,1796,3,214,107,0,1796,1798,1,0,0,0,1797,1792,1,0,0,0,1798,1799,1,0,0,0,1799,1797,1,0,0,0,1799,1800,1,0,0,0,1800,1803,1,0,0,0,1801,1802,5,51,0,0,1802,1804,3,214,107,0,1803,1801,1,0,0,0,1803,1804,1,0,0,0,1804,1805,1,0,0,0,1805,1806,5,52,0,0,1806,1917,1,0,0,0,1807,1808,5,20,0,0,1808,1809,5,219,0,0,1809,1810,3,214,107,0,1810,1811,5,10,0,0,1811,1812,3,208,104,0,1812,1813,5,229,0,0,1813,1917,1,0,0,0,1814,1815,5,35,0,0,1815,1917,5,202,0,0,1816,1817,5,59,0,0,1817,1818,5,219,0,0,1818,1819,3,242,121,0,1819,1820,5,68,0,0,1820,1821,3,214,107,0,1821,1822,5,229,0,0,1822,1917,1,0,0,0,1823,1824,5,86,0,0,1824,1825,3,214,107,0,1825,1826,3,242,121,0,1826,1917,1,0,0,0,1827,1828,5,158,0,0,1828,1829,5,219,0,0,1829,1830,3,214,107,0,1830,1831,5,68,0,0,1831,1834,3,214,107,0,1832,1833,5,65,0,0,1833,1835,3,214,107,0,1834,1832,1,0,0,0,1834,1835,1,0,0,0,1835,1836,1,0,0,0,1836,1837,5,229,0,0,1837,1917,1,0,0,0,1838,1839,5,169,0,0,1839,1917,5,202,0,0,1840,1841,5,174,0,0,1841,1842,5,219,0,0,1842,1843,7,19,0,0,1843,1844,5,202,0,0,1844,1845,5,68,0,0,1845,1846,3,214,107,0,1846,1847,5,229,0,0,1847,1917,1,0,0,0,1848,1849,3,250,125,0,1849,1851,5,219,0,0,1850,1852,3,210,105,0,1851,1850,1,0,0,0,1851,1852,1,0,0,0,1852,1853,1,0,0,0,1853,1854,5,229,0,0,1854,1855,1,0,0,0,1855,1856,5,125,0,0,1856,1857,5,219,0,0,1857,1858,3,184,92,0,1858,1859,5,229,0,0,1859,1917,1,0,0,0,1860,1861,3,250,125,0,1861,1863,5,219,0,0,1862,1864,3,210,105,0,1863,1862,1,0,0,0,1863,1864,1,0,0,0,1864,1865,1,0,0,0,1865,1866,5,229,0,0,1866,1867,1,0,0,0,1867,1868,5,125,0,0,1868,1869,3,250,125,0,1869,1917,1,0,0,0,1870,1876,3,250,125,0,1871,1873,5,219,0,0,1872,1874,3,210,105,0,1873,1872,1,0,0,0,1873,1874,1,0,0,0,1874,1875,1,0,0,0,1875,1877,5,229,0,0,1876,1871,1,0,0,0,1876,1877,1,0,0,0,1877,1878,1,0,0,0,1878,1880,5,219,0,0,1879,1881,5,48,0,0,1880,1879,1,0,0,0,1880,1881,1,0,0,0,1881,1883,1,0,0,0,1882,1884,3,216,108,0,1883,1882,1,0,0,0,1883,1884,1,0,0,0,1884,1885,1,0,0,0,1885,1886,5,229,0,0,1886,1917,1,0,0,0,1887,1917,3,240,120,0,1888,1889,5,210,0,0,1889,1917,3,214,107,17,1890,1891,5,115,0,0,1891,1917,3,214,107,12,1892,1893,3,228,114,0,1893,1894,5,211,0,0,1894,1896,1,0,0,0,1895,1892,1,0,0,0,1895,1896,1,0,0,0,1896,1897,1,0,0,0,1897,1917,5,204,0,0,1898,1899,5,219,0,0,1899,1900,3,128,64,0,1900,1901,5,229,0,0,1901,1917,1,0,0,0,1902,1903,5,219,0,0,1903,1904,3,214,107,0,1904,1905,5,229,0,0,1905,1917,1,0,0,0,1906,1907,5,219,0,0,1907,1908,3,210,105,0,1908,1909,5,229,0,0,1909,1917,1,0,0,0,1910,1912,5,217,0,0,1911,1913,3,210,105,0,1912,1911,1,0,0,0,1912,1913,1,0,0,0,1913,1914,1,0,0,0,1914,1917,5,228,0,0,1915,1917,3,222,111,0,1916,1787,1,0,0,0,1916,1807,1,0,0,0,1916,1814,1,0,0,0,1916,1816,1,0,0,0,1916,1823,1,0,0,0,1916,1827,1,0,0,0,1916,1838,1,0,0,0,1916,1840,1,0,0,0,1916,1848,1,0,0,0,1916,1860,1,0,0,0,1916,1870,1,0,0,0,1916,1887,1,0,0,0,1916,1888,1,0,0,0,1916,1890,1,0,0,0,1916,1895,1,0,0,0,1916,1898,1,0,0,0,1916,1902,1,0,0,0,1916,1906,1,0,0,0,1916,1910,1,0,0,0,1916,1915,1,0,0,0,1917,1989,1,0,0,0,1918,1919,10,16,0,0,1919,1920,7,20,0,0,1920,1988,3,214,107,17,1921,1922,10,15,0,0,1922,1923,7,21,0,0,1923,1988,3,214,107,16,1924,1943,10,14,0,0,1925,1944,5,212,0,0,1926,1944,5,213,0,0,1927,1944,5,221,0,0,1928,1944,5,218,0,0,1929,1944,5,214,0,0,1930,1944,5,220,0,0,1931,1944,5,215,0,0,1932,1934,5,71,0,0,1933,1932,1,0,0,0,1933,1934,1,0,0,0,1934,1936,1,0,0,0,1935,1937,5,115,0,0,1936,1935,1,0,0,0,1936,1937,1,0,0,0,1937,1938,1,0,0,0,1938,1944,5,80,0,0,1939,1941,5,115,0,0,1940,1939,1,0,0,0,1940,1941,1,0,0,0,1941,1942,1,0,0,0,1942,1944,7,22,0,0,1943,1925,1,0,0,0,1943,1926,1,0,0,0,1943,1927,1,0,0,0,1943,1928,1,0,0,0,1943,1929,1,0,0,0,1943,1930,1,0,0,0,1943,1931,1,0,0,0,1943,1933,1,0,0,0,1943,1940,1,0,0,0,1944,1945,1,0,0,0,1945,1988,3,214,107,15,1946,1947,10,11,0,0,1947,1948,5,6,0,0,1948,1988,3,214,107,12,1949,1950,10,10,0,0,1950,1951,5,121,0,0,1951,1988,3,214,107,11,1952,1954,10,9,0,0,1953,1955,5,115,0,0,1954,1953,1,0,0,0,1954,1955,1,0,0,0,1955,1956,1,0,0,0,1956,1957,5,16,0,0,1957,1958,3,214,107,0,1958,1959,5,6,0,0,1959,1960,3,214,107,10,1960,1988,1,0,0,0,1961,1962,10,8,0,0,1962,1963,5,224,0,0,1963,1964,3,214,107,0,1964,1965,5,207,0,0,1965,1966,3,214,107,8,1966,1988,1,0,0,0,1967,1968,10,19,0,0,1968,1969,5,217,0,0,1969,1970,3,214,107,0,1970,1971,5,228,0,0,1971,1988,1,0,0,0,1972,1973,10,18,0,0,1973,1974,5,211,0,0,1974,1988,5,200,0,0,1975,1976,10,13,0,0,1976,1978,5,88,0,0,1977,1979,5,115,0,0,1978,1977,1,0,0,0,1978,1979,1,0,0,0,1979,1980,1,0,0,0,1980,1988,5,116,0,0,1981,1985,10,7,0,0,1982,1986,3,248,124,0,1983,1984,5,10,0,0,1984,1986,3,250,125,0,1985,1982,1,0,0,0,1985,1983,1,0,0,0,1986,1988,1,0,0,0,1987,1918,1,0,0,0,1987,1921,1,0,0,0,1987,1924,1,0,0,0,1987,1946,1,0,0,0,1987,1949,1,0,0,0,1987,1952,1,0,0,0,1987,1961,1,0,0,0,1987,1967,1,0,0,0,1987,1972,1,0,0,0,1987,1975,1,0,0,0,1987,1981,1,0,0,0,1988,1991,1,0,0,0,1989,1987,1,0,0,0,1989,1990,1,0,0,0,1990,215,1,0,0,0,1991,1989,1,0,0,0,1992,1997,3,218,109,0,1993,1994,5,208,0,0,1994,1996,3,218,109,0,1995,1993,1,0,0,0,1996,1999,1,0,0,0,1997,1995,1,0,0,0,1997,1998,1,0,0,0,1998,217,1,0,0,0,1999,1997,1,0,0,0,2e3,2003,3,220,110,0,2001,2003,3,214,107,0,2002,2e3,1,0,0,0,2002,2001,1,0,0,0,2003,219,1,0,0,0,2004,2005,5,219,0,0,2005,2010,3,250,125,0,2006,2007,5,208,0,0,2007,2009,3,250,125,0,2008,2006,1,0,0,0,2009,2012,1,0,0,0,2010,2008,1,0,0,0,2010,2011,1,0,0,0,2011,2013,1,0,0,0,2012,2010,1,0,0,0,2013,2014,5,229,0,0,2014,2024,1,0,0,0,2015,2020,3,250,125,0,2016,2017,5,208,0,0,2017,2019,3,250,125,0,2018,2016,1,0,0,0,2019,2022,1,0,0,0,2020,2018,1,0,0,0,2020,2021,1,0,0,0,2021,2024,1,0,0,0,2022,2020,1,0,0,0,2023,2004,1,0,0,0,2023,2015,1,0,0,0,2024,2025,1,0,0,0,2025,2026,5,203,0,0,2026,2027,3,214,107,0,2027,221,1,0,0,0,2028,2029,3,228,114,0,2029,2030,5,211,0,0,2030,2032,1,0,0,0,2031,2028,1,0,0,0,2031,2032,1,0,0,0,2032,2033,1,0,0,0,2033,2036,3,250,125,0,2034,2035,5,211,0,0,2035,2037,3,250,125,0,2036,2034,1,0,0,0,2036,2037,1,0,0,0,2037,223,1,0,0,0,2038,2039,6,112,-1,0,2039,2046,3,228,114,0,2040,2046,3,226,113,0,2041,2042,5,219,0,0,2042,2043,3,128,64,0,2043,2044,5,229,0,0,2044,2046,1,0,0,0,2045,2038,1,0,0,0,2045,2040,1,0,0,0,2045,2041,1,0,0,0,2046,2055,1,0,0,0,2047,2051,10,1,0,0,2048,2052,3,248,124,0,2049,2050,5,10,0,0,2050,2052,3,250,125,0,2051,2048,1,0,0,0,2051,2049,1,0,0,0,2052,2054,1,0,0,0,2053,2047,1,0,0,0,2054,2057,1,0,0,0,2055,2053,1,0,0,0,2055,2056,1,0,0,0,2056,225,1,0,0,0,2057,2055,1,0,0,0,2058,2059,3,250,125,0,2059,2061,5,219,0,0,2060,2062,3,230,115,0,2061,2060,1,0,0,0,2061,2062,1,0,0,0,2062,2063,1,0,0,0,2063,2064,5,229,0,0,2064,227,1,0,0,0,2065,2066,3,234,117,0,2066,2067,5,211,0,0,2067,2069,1,0,0,0,2068,2065,1,0,0,0,2068,2069,1,0,0,0,2069,2070,1,0,0,0,2070,2071,3,250,125,0,2071,229,1,0,0,0,2072,2077,3,232,116,0,2073,2074,5,208,0,0,2074,2076,3,232,116,0,2075,2073,1,0,0,0,2076,2079,1,0,0,0,2077,2075,1,0,0,0,2077,2078,1,0,0,0,2078,231,1,0,0,0,2079,2077,1,0,0,0,2080,2084,3,222,111,0,2081,2084,3,226,113,0,2082,2084,3,240,120,0,2083,2080,1,0,0,0,2083,2081,1,0,0,0,2083,2082,1,0,0,0,2084,233,1,0,0,0,2085,2086,3,250,125,0,2086,235,1,0,0,0,2087,2096,5,198,0,0,2088,2089,5,211,0,0,2089,2096,7,23,0,0,2090,2091,5,200,0,0,2091,2093,5,211,0,0,2092,2094,7,23,0,0,2093,2092,1,0,0,0,2093,2094,1,0,0,0,2094,2096,1,0,0,0,2095,2087,1,0,0,0,2095,2088,1,0,0,0,2095,2090,1,0,0,0,2096,237,1,0,0,0,2097,2099,7,24,0,0,2098,2097,1,0,0,0,2098,2099,1,0,0,0,2099,2106,1,0,0,0,2100,2107,3,236,118,0,2101,2107,5,199,0,0,2102,2107,5,200,0,0,2103,2107,5,201,0,0,2104,2107,5,82,0,0,2105,2107,5,113,0,0,2106,2100,1,0,0,0,2106,2101,1,0,0,0,2106,2102,1,0,0,0,2106,2103,1,0,0,0,2106,2104,1,0,0,0,2106,2105,1,0,0,0,2107,239,1,0,0,0,2108,2112,3,238,119,0,2109,2112,5,202,0,0,2110,2112,5,116,0,0,2111,2108,1,0,0,0,2111,2109,1,0,0,0,2111,2110,1,0,0,0,2112,241,1,0,0,0,2113,2114,7,25,0,0,2114,243,1,0,0,0,2115,2116,7,26,0,0,2116,245,1,0,0,0,2117,2118,7,27,0,0,2118,247,1,0,0,0,2119,2122,5,197,0,0,2120,2122,3,246,123,0,2121,2119,1,0,0,0,2121,2120,1,0,0,0,2122,249,1,0,0,0,2123,2127,5,197,0,0,2124,2127,3,242,121,0,2125,2127,3,244,122,0,2126,2123,1,0,0,0,2126,2124,1,0,0,0,2126,2125,1,0,0,0,2127,251,1,0,0,0,2128,2131,3,250,125,0,2129,2131,5,116,0,0,2130,2128,1,0,0,0,2130,2129,1,0,0,0,2131,253,1,0,0,0,2132,2133,5,202,0,0,2133,2134,5,213,0,0,2134,2135,3,238,119,0,2135,255,1,0,0,0,280,257,263,269,275,279,282,285,307,310,318,323,336,345,352,360,365,372,377,384,389,395,401,406,412,417,423,428,434,448,455,462,469,475,480,486,491,497,506,516,526,546,554,569,576,590,596,602,608,611,617,620,623,629,633,636,639,642,645,652,656,664,667,673,677,680,691,695,698,703,705,708,711,721,725,728,731,736,738,745,751,755,758,761,771,779,805,807,811,833,835,846,849,858,875,886,904,917,934,943,970,972,993,998,1003,1006,1018,1023,1027,1030,1034,1038,1043,1046,1050,1052,1074,1082,1085,1095,1099,1107,1111,1116,1120,1124,1128,1132,1134,1142,1146,1149,1172,1177,1182,1185,1195,1205,1209,1214,1220,1225,1231,1235,1241,1244,1247,1250,1264,1268,1272,1277,1280,1290,1298,1301,1305,1308,1312,1315,1318,1321,1324,1327,1331,1335,1338,1341,1344,1347,1350,1359,1365,1392,1414,1422,1425,1431,1439,1442,1448,1450,1454,1459,1462,1465,1469,1473,1476,1478,1481,1485,1489,1492,1494,1496,1499,1504,1515,1521,1526,1533,1538,1542,1546,1551,1558,1566,1569,1572,1591,1605,1621,1624,1633,1637,1642,1647,1650,1652,1674,1677,1688,1692,1695,1699,1703,1711,1715,1728,1740,1752,1760,1764,1771,1777,1785,1790,1799,1803,1834,1851,1863,1873,1876,1880,1883,1895,1912,1916,1933,1936,1940,1943,1954,1978,1985,1987,1989,1997,2002,2010,2020,2023,2031,2036,2045,2051,2055,2061,2068,2077,2083,2093,2095,2098,2106,2111,2121,2126,2130],Zi.vocabulary=new Ra(Zi.literalNames,Zi.symbolicNames,[]),Zi.decisionsToDFA=Zi._ATN.decisionToState.map(((t,e)=>new ni(t,e))),Zi),_G=class extends ga{constructor(t,e){super(t,e)}EOF(){return this.getToken(CG.EOF,0)}statements(){return this.getRuleContext(0,PG)}get ruleIndex(){return CG.RULE_root}accept(t){return t.visitRoot?t.visitRoot(this):t.visitChildren(this)}},PG=class t extends ga{constructor(t,e){super(t,e)}statement(){return this.getRuleContext(0,MG)}SEMICOLON(){return this.getToken(CG.SEMICOLON,0)}statements(){return this.getRuleContext(0,t)}get ruleIndex(){return CG.RULE_statements}accept(t){return t.visitStatements?t.visitStatements(this):t.visitChildren(this)}},MG=class extends ga{constructor(t,e){super(t,e)}notInsertStatement(){return this.getRuleContext(0,dG)}INTO(){return this.getToken(CG.INTO,0)}OUTFILE(){return this.getToken(CG.OUTFILE,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}FORMAT(){return this.getToken(CG.FORMAT,0)}identifierOrNull(){return this.getRuleContext(0,by)}SEMICOLON(){return this.getToken(CG.SEMICOLON,0)}insertStatement(){return this.getRuleContext(0,uv)}get ruleIndex(){return CG.RULE_statement}accept(t){return t.visitStatement?t.visitStatement(this):t.visitChildren(this)}},dG=class extends ga{constructor(t,e){super(t,e)}alterStatement(){return this.getRuleContext(0,pG)}attachStatement(){return this.getRuleContext(0,TF)}checkStatement(){return this.getRuleContext(0,RF)}createStatement(){return this.getRuleContext(0,LF)}describeStatement(){return this.getRuleContext(0,av)}deleteStatement(){return this.getRuleContext(0,AF)}dropStatement(){return this.getRuleContext(0,rv)}existsStatement(){return this.getRuleContext(0,nv)}explainStatement(){return this.getRuleContext(0,Tv)}killStatement(){return this.getRuleContext(0,dv)}optimizeStatement(){return this.getRuleContext(0,mv)}renameStatement(){return this.getRuleContext(0,Dv)}selectUnionStatement(){return this.getRuleContext(0,gv)}setStatement(){return this.getRuleContext(0,NB)}showStatement(){return this.getRuleContext(0,LB)}systemStatement(){return this.getRuleContext(0,mB)}truncateStatement(){return this.getRuleContext(0,DB)}useStatement(){return this.getRuleContext(0,pB)}watchStatement(){return this.getRuleContext(0,gB)}selectStatement(){return this.getRuleContext(0,kv)}commonTableExpressionStatement(){return this.getRuleContext(0,UG)}get ruleIndex(){return CG.RULE_notInsertStatement}accept(t){return t.visitNotInsertStatement?t.visitNotInsertStatement(this):t.visitChildren(this)}},UG=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(CG.WITH,0)}namedQuery(t){return void 0===t?this.getRuleContexts(mG):this.getRuleContext(t,mG)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_commonTableExpressionStatement}accept(t){return t.visitCommonTableExpressionStatement?t.visitCommonTableExpressionStatement(this):t.visitChildren(this)}},mG=class extends ga{constructor(t,e){super(t,e)}AS(){return this.getToken(CG.AS,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}notInsertStatement(){return this.getRuleContext(0,dG)}RPAREN(){return this.getToken(CG.RPAREN,0)}identifier(){return this.getRuleContext(0,wy)}columnAliases(){return this.getRuleContext(0,DG)}get ruleIndex(){return CG.RULE_namedQuery}accept(t){return t.visitNamedQuery?t.visitNamedQuery(this):t.visitChildren(this)}},DG=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(CG.LPAREN,0)}identifier(t){return void 0===t?this.getRuleContexts(wy):this.getRuleContext(t,wy)}RPAREN(){return this.getToken(CG.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_columnAliases}accept(t){return t.visitColumnAliases?t.visitColumnAliases(this):t.visitChildren(this)}},pG=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_alterStatement}copyFrom(t){super.copyFrom(t)}},gG=class extends pG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ALTER(){return this.getToken(CG.ALTER,0)}TABLE(){return this.getToken(CG.TABLE,0)}tableIdentifier(){return this.getRuleContext(0,gy)}alterTableClause(t){return void 0===t?this.getRuleContexts(xG):this.getRuleContext(t,xG)}clusterClause(){return this.getRuleContext(0,xF)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}accept(t){return t.visitAlterTableStatement?t.visitAlterTableStatement(this):t.visitChildren(this)}},xG=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_alterTableClause}copyFrom(t){super.copyFrom(t)}},kG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REPLACE(){return this.getToken(CG.REPLACE,0)}partitionClause(){return this.getRuleContext(0,EF)}FROM(){return this.getToken(CG.FROM,0)}tableIdentifier(){return this.getRuleContext(0,gy)}accept(t){return t.visitAlterTableClauseReplace?t.visitAlterTableClauseReplace(this):t.visitChildren(this)}},HG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MODIFY(){return this.getToken(CG.MODIFY,0)}ORDER(){return this.getToken(CG.ORDER,0)}BY(){return this.getToken(CG.BY,0)}columnExpression(){return this.getRuleContext(0,bB)}accept(t){return t.visitAlterTableClauseModifyOrderBy?t.visitAlterTableClauseModifyOrderBy(this):t.visitChildren(this)}},GG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}UPDATE(){return this.getToken(CG.UPDATE,0)}assignmentExpressionList(){return this.getRuleContext(0,cF)}whereClause(){return this.getRuleContext(0,fv)}accept(t){return t.visitAlterTableClauseUpdate?t.visitAlterTableClauseUpdate(this):t.visitChildren(this)}},FG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CLEAR(){return this.getToken(CG.CLEAR,0)}PROJECTION(){return this.getToken(CG.PROJECTION,0)}columnIdentifier(){return this.getRuleContext(0,Py)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}IN(){return this.getToken(CG.IN,0)}partitionClause(){return this.getRuleContext(0,EF)}accept(t){return t.visitAlterTableClauseClearProjection?t.visitAlterTableClauseClearProjection(this):t.visitChildren(this)}},vG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MODIFY(){return this.getToken(CG.MODIFY,0)}COLUMN(){return this.getToken(CG.COLUMN,0)}columnIdentifier(){return this.getRuleContext(0,Py)}REMOVE(){return this.getToken(CG.REMOVE,0)}tableColumnPropertyType(){return this.getRuleContext(0,hF)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}accept(t){return t.visitAlterTableClauseModifyRemove?t.visitAlterTableClauseModifyRemove(this):t.visitChildren(this)}},BG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DELETE(){return this.getToken(CG.DELETE,0)}WHERE(){return this.getToken(CG.WHERE,0)}columnExpression(){return this.getRuleContext(0,bB)}accept(t){return t.visitAlterTableClauseDelete?t.visitAlterTableClauseDelete(this):t.visitChildren(this)}},yG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}COMMENT(){return this.getToken(CG.COMMENT,0)}COLUMN(){return this.getToken(CG.COLUMN,0)}columnIdentifier(){return this.getRuleContext(0,Py)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}accept(t){return t.visitAlterTableClauseComment?t.visitAlterTableClauseComment(this):t.visitChildren(this)}},fG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DROP(){return this.getToken(CG.DROP,0)}COLUMN(){return this.getToken(CG.COLUMN,0)}columnIdentifier(){return this.getRuleContext(0,Py)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}accept(t){return t.visitAlterTableClauseDropColumn?t.visitAlterTableClauseDropColumn(this):t.visitChildren(this)}},YG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DETACH(){return this.getToken(CG.DETACH,0)}partitionClause(){return this.getRuleContext(0,EF)}accept(t){return t.visitAlterTableClauseDetach?t.visitAlterTableClauseDetach(this):t.visitChildren(this)}},wG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(CG.ADD,0)}INDEX(){return this.getToken(CG.INDEX,0)}tableIndexDefinition(){return this.getRuleContext(0,zF)}IF(){return this.getToken(CG.IF,0)}NOT(){return this.getToken(CG.NOT,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}AFTER(){return this.getToken(CG.AFTER,0)}columnIdentifier(){return this.getRuleContext(0,Py)}accept(t){return t.visitAlterTableClauseAddIndex?t.visitAlterTableClauseAddIndex(this):t.visitChildren(this)}},bG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DROP(){return this.getToken(CG.DROP,0)}partitionClause(){return this.getRuleContext(0,EF)}accept(t){return t.visitAlterTableClauseDropPartition?t.visitAlterTableClauseDropPartition(this):t.visitChildren(this)}},WG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MATERIALIZE(){return this.getToken(CG.MATERIALIZE,0)}INDEX(){return this.getToken(CG.INDEX,0)}columnIdentifier(){return this.getRuleContext(0,Py)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}IN(){return this.getToken(CG.IN,0)}partitionClause(){return this.getRuleContext(0,EF)}accept(t){return t.visitAlterTableClauseMaterializeIndex?t.visitAlterTableClauseMaterializeIndex(this):t.visitChildren(this)}},VG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MATERIALIZE(){return this.getToken(CG.MATERIALIZE,0)}PROJECTION(){return this.getToken(CG.PROJECTION,0)}columnIdentifier(){return this.getRuleContext(0,Py)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}IN(){return this.getToken(CG.IN,0)}partitionClause(){return this.getRuleContext(0,EF)}accept(t){return t.visitAlterTableClauseMaterializeProjection?t.visitAlterTableClauseMaterializeProjection(this):t.visitChildren(this)}},XG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MOVE(){return this.getToken(CG.MOVE,0)}partitionClause(){return this.getRuleContext(0,EF)}TO(){return this.getToken(CG.TO,0)}DISK(){return this.getToken(CG.DISK,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}VOLUME(){return this.getToken(CG.VOLUME,0)}TABLE(){return this.getToken(CG.TABLE,0)}tableIdentifier(){return this.getRuleContext(0,gy)}accept(t){return t.visitAlterTableClauseMovePartition?t.visitAlterTableClauseMovePartition(this):t.visitChildren(this)}},KG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}RENAME(){return this.getToken(CG.RENAME,0)}COLUMN(){return this.getToken(CG.COLUMN,0)}columnIdentifier(t){return void 0===t?this.getRuleContexts(Py):this.getRuleContext(t,Py)}TO(){return this.getToken(CG.TO,0)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}accept(t){return t.visitAlterTableClauseRename?t.visitAlterTableClauseRename(this):t.visitChildren(this)}},QG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}FREEZE(){return this.getToken(CG.FREEZE,0)}partitionClause(){return this.getRuleContext(0,EF)}accept(t){return t.visitAlterTableClauseFreezePartition?t.visitAlterTableClauseFreezePartition(this):t.visitChildren(this)}},JG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CLEAR(){return this.getToken(CG.CLEAR,0)}COLUMN(){return this.getToken(CG.COLUMN,0)}columnIdentifier(){return this.getRuleContext(0,Py)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}IN(){return this.getToken(CG.IN,0)}partitionClause(){return this.getRuleContext(0,EF)}accept(t){return t.visitAlterTableClauseClearColumn?t.visitAlterTableClauseClearColumn(this):t.visitChildren(this)}},ZG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MODIFY(){return this.getToken(CG.MODIFY,0)}COLUMN(){return this.getToken(CG.COLUMN,0)}tableColumnDefinition(){return this.getRuleContext(0,qF)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}accept(t){return t.visitAlterTableClauseModify?t.visitAlterTableClauseModify(this):t.visitChildren(this)}},qG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CLEAR(){return this.getToken(CG.CLEAR,0)}INDEX(){return this.getToken(CG.INDEX,0)}columnIdentifier(){return this.getRuleContext(0,Py)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}IN(){return this.getToken(CG.IN,0)}partitionClause(){return this.getRuleContext(0,EF)}accept(t){return t.visitAlterTableClauseClearIndex?t.visitAlterTableClauseClearIndex(this):t.visitChildren(this)}},jG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}REMOVE(){return this.getToken(CG.REMOVE,0)}TTL(){return this.getToken(CG.TTL,0)}accept(t){return t.visitAlterTableClauseRemoveTTL?t.visitAlterTableClauseRemoveTTL(this):t.visitChildren(this)}},zG=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MODIFY(){return this.getToken(CG.MODIFY,0)}COLUMN(){return this.getToken(CG.COLUMN,0)}columnIdentifier(){return this.getRuleContext(0,Py)}codecExpression(){return this.getRuleContext(0,tv)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}accept(t){return t.visitAlterTableClauseModifyCodec?t.visitAlterTableClauseModifyCodec(this):t.visitChildren(this)}},$G=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ATTACH(){return this.getToken(CG.ATTACH,0)}partitionClause(){return this.getRuleContext(0,EF)}FROM(){return this.getToken(CG.FROM,0)}tableIdentifier(){return this.getRuleContext(0,gy)}accept(t){return t.visitAlterTableClauseAttach?t.visitAlterTableClauseAttach(this):t.visitChildren(this)}},tF=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DROP(){return this.getToken(CG.DROP,0)}PROJECTION(){return this.getToken(CG.PROJECTION,0)}columnIdentifier(){return this.getRuleContext(0,Py)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}accept(t){return t.visitAlterTableClauseDropProjection?t.visitAlterTableClauseDropProjection(this):t.visitChildren(this)}},eF=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DROP(){return this.getToken(CG.DROP,0)}INDEX(){return this.getToken(CG.INDEX,0)}columnIdentifier(){return this.getRuleContext(0,Py)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}accept(t){return t.visitAlterTableClauseDropIndex?t.visitAlterTableClauseDropIndex(this):t.visitChildren(this)}},sF=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MODIFY(){return this.getToken(CG.MODIFY,0)}COLUMN(){return this.getToken(CG.COLUMN,0)}columnIdentifier(){return this.getRuleContext(0,Py)}COMMENT(){return this.getToken(CG.COMMENT,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}accept(t){return t.visitAlterTableClauseModifyComment?t.visitAlterTableClauseModifyComment(this):t.visitChildren(this)}},aF=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}MODIFY(){return this.getToken(CG.MODIFY,0)}ttlClause(){return this.getRuleContext(0,WF)}accept(t){return t.visitAlterTableClauseModifyTTL?t.visitAlterTableClauseModifyTTL(this):t.visitChildren(this)}},rF=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(CG.ADD,0)}PROJECTION(){return this.getToken(CG.PROJECTION,0)}tableProjectionDefinition(){return this.getRuleContext(0,$F)}IF(){return this.getToken(CG.IF,0)}NOT(){return this.getToken(CG.NOT,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}AFTER(){return this.getToken(CG.AFTER,0)}columnIdentifier(){return this.getRuleContext(0,Py)}accept(t){return t.visitAlterTableClauseAddProjection?t.visitAlterTableClauseAddProjection(this):t.visitChildren(this)}},iF=class extends xG{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ADD(){return this.getToken(CG.ADD,0)}COLUMN(){return this.getToken(CG.COLUMN,0)}tableColumnDefinition(){return this.getRuleContext(0,qF)}IF(){return this.getToken(CG.IF,0)}NOT(){return this.getToken(CG.NOT,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}AFTER(){return this.getToken(CG.AFTER,0)}columnIdentifier(){return this.getRuleContext(0,Py)}accept(t){return t.visitAlterTableClauseAddColumn?t.visitAlterTableClauseAddColumn(this):t.visitChildren(this)}},cF=class extends ga{constructor(t,e){super(t,e)}assignmentExpression(t){return void 0===t?this.getRuleContexts(nF):this.getRuleContext(t,nF)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_assignmentExpressionList}accept(t){return t.visitAssignmentExpressionList?t.visitAssignmentExpressionList(this):t.visitChildren(this)}},nF=class extends ga{constructor(t,e){super(t,e)}columnIdentifier(){return this.getRuleContext(0,Py)}EQ_SINGLE(){return this.getToken(CG.EQ_SINGLE,0)}columnExpression(){return this.getRuleContext(0,bB)}get ruleIndex(){return CG.RULE_assignmentExpression}accept(t){return t.visitAssignmentExpression?t.visitAssignmentExpression(this):t.visitChildren(this)}},hF=class extends ga{constructor(t,e){super(t,e)}ALIAS(){return this.getToken(CG.ALIAS,0)}CODEC(){return this.getToken(CG.CODEC,0)}COMMENT(){return this.getToken(CG.COMMENT,0)}DEFAULT(){return this.getToken(CG.DEFAULT,0)}MATERIALIZED(){return this.getToken(CG.MATERIALIZED,0)}TTL(){return this.getToken(CG.TTL,0)}get ruleIndex(){return CG.RULE_tableColumnPropertyType}accept(t){return t.visitTableColumnPropertyType?t.visitTableColumnPropertyType(this):t.visitChildren(this)}},EF=class extends ga{constructor(t,e){super(t,e)}PARTITION(){return this.getToken(CG.PARTITION,0)}columnExpression(){return this.getRuleContext(0,bB)}ID(){return this.getToken(CG.ID,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}get ruleIndex(){return CG.RULE_partitionClause}accept(t){return t.visitPartitionClause?t.visitPartitionClause(this):t.visitChildren(this)}},TF=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_attachStatement}copyFrom(t){super.copyFrom(t)}},oF=class extends TF{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ATTACH(){return this.getToken(CG.ATTACH,0)}DICTIONARY(){return this.getToken(CG.DICTIONARY,0)}tableIdentifier(){return this.getRuleContext(0,gy)}clusterClause(){return this.getRuleContext(0,xF)}accept(t){return t.visitAttachDictionaryStatement?t.visitAttachDictionaryStatement(this):t.visitChildren(this)}},RF=class extends ga{constructor(t,e){super(t,e)}CHECK(){return this.getToken(CG.CHECK,0)}TABLE(){return this.getToken(CG.TABLE,0)}tableIdentifier(){return this.getRuleContext(0,gy)}partitionClause(){return this.getRuleContext(0,EF)}get ruleIndex(){return CG.RULE_checkStatement}accept(t){return t.visitCheckStatement?t.visitCheckStatement(this):t.visitChildren(this)}},AF=class extends ga{constructor(t,e){super(t,e)}DELETE(){return this.getToken(CG.DELETE,0)}FROM(){return this.getToken(CG.FROM,0)}tableIdentifier(){return this.getRuleContext(0,gy)}clusterClause(){return this.getRuleContext(0,xF)}whereClause(){return this.getRuleContext(0,fv)}get ruleIndex(){return CG.RULE_deleteStatement}accept(t){return t.visitDeleteStatement?t.visitDeleteStatement(this):t.visitChildren(this)}},SF=class extends ga{constructor(t,e){super(t,e)}TABLE(){return this.getToken(CG.TABLE,0)}tableIdentifier(){return this.getRuleContext(0,gy)}ATTACH(){return this.getToken(CG.ATTACH,0)}CREATE(){return this.getToken(CG.CREATE,0)}REPLACE(){return this.getToken(CG.REPLACE,0)}TEMPORARY(){return this.getToken(CG.TEMPORARY,0)}IF(){return this.getToken(CG.IF,0)}NOT(){return this.getToken(CG.NOT,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}uuidClause(){return this.getRuleContext(0,kF)}clusterClause(){return this.getRuleContext(0,xF)}tableSchemaClause(){return this.getRuleContext(0,FF)}engineClause(){return this.getRuleContext(0,fF)}subqueryClause(){return this.getRuleContext(0,GF)}OR(){return this.getToken(CG.OR,0)}get ruleIndex(){return CG.RULE_createTableStatement}accept(t){return t.visitCreateTableStatement?t.visitCreateTableStatement(this):t.visitChildren(this)}},lF=class extends ga{constructor(t,e){super(t,e)}DATABASE(){return this.getToken(CG.DATABASE,0)}identifier(){return this.getRuleContext(0,wy)}engineExpression(){return this.getRuleContext(0,VF)}ATTACH(){return this.getToken(CG.ATTACH,0)}CREATE(){return this.getToken(CG.CREATE,0)}IF(){return this.getToken(CG.IF,0)}NOT(){return this.getToken(CG.NOT,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}clusterClause(){return this.getRuleContext(0,xF)}get ruleIndex(){return CG.RULE_createDatabaseStatement}accept(t){return t.visitCreateDatabaseStatement?t.visitCreateDatabaseStatement(this):t.visitChildren(this)}},OF=class extends ga{constructor(t,e){super(t,e)}DICTIONARY(){return this.getToken(CG.DICTIONARY,0)}tableIdentifier(){return this.getRuleContext(0,gy)}dictionarySchemaClause(){return this.getRuleContext(0,CF)}dictionaryEngineClause(){return this.getRuleContext(0,PF)}ATTACH(){return this.getToken(CG.ATTACH,0)}CREATE(){return this.getToken(CG.CREATE,0)}REPLACE(){return this.getToken(CG.REPLACE,0)}IF(){return this.getToken(CG.IF,0)}NOT(){return this.getToken(CG.NOT,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}uuidClause(){return this.getRuleContext(0,kF)}clusterClause(){return this.getRuleContext(0,xF)}OR(){return this.getToken(CG.OR,0)}get ruleIndex(){return CG.RULE_createDictionaryStatement}accept(t){return t.visitCreateDictionaryStatement?t.visitCreateDictionaryStatement(this):t.visitChildren(this)}},IF=class extends ga{constructor(t,e){super(t,e)}LIVE(){return this.getToken(CG.LIVE,0)}VIEW(){return this.getToken(CG.VIEW,0)}tableIdentifier(){return this.getRuleContext(0,gy)}subqueryClause(){return this.getRuleContext(0,GF)}ATTACH(){return this.getToken(CG.ATTACH,0)}CREATE(){return this.getToken(CG.CREATE,0)}IF(){return this.getToken(CG.IF,0)}NOT(){return this.getToken(CG.NOT,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}uuidClause(){return this.getRuleContext(0,kF)}clusterClause(){return this.getRuleContext(0,xF)}WITH(){return this.getToken(CG.WITH,0)}TIMEOUT(){return this.getToken(CG.TIMEOUT,0)}destinationClause(){return this.getRuleContext(0,HF)}tableSchemaClause(){return this.getRuleContext(0,FF)}DECIMAL_LITERAL(){return this.getToken(CG.DECIMAL_LITERAL,0)}get ruleIndex(){return CG.RULE_createLiveViewStatement}accept(t){return t.visitCreateLiveViewStatement?t.visitCreateLiveViewStatement(this):t.visitChildren(this)}},uF=class extends ga{constructor(t,e){super(t,e)}MATERIALIZED(){return this.getToken(CG.MATERIALIZED,0)}VIEW(){return this.getToken(CG.VIEW,0)}tableIdentifier(){return this.getRuleContext(0,gy)}subqueryClause(){return this.getRuleContext(0,GF)}ATTACH(){return this.getToken(CG.ATTACH,0)}CREATE(){return this.getToken(CG.CREATE,0)}destinationClause(){return this.getRuleContext(0,HF)}engineClause(){return this.getRuleContext(0,fF)}IF(){return this.getToken(CG.IF,0)}NOT(){return this.getToken(CG.NOT,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}uuidClause(){return this.getRuleContext(0,kF)}clusterClause(){return this.getRuleContext(0,xF)}tableSchemaClause(){return this.getRuleContext(0,FF)}POPULATE(){return this.getToken(CG.POPULATE,0)}get ruleIndex(){return CG.RULE_createMaterializedViewStatement}accept(t){return t.visitCreateMaterializedViewStatement?t.visitCreateMaterializedViewStatement(this):t.visitChildren(this)}},NF=class extends ga{constructor(t,e){super(t,e)}VIEW(){return this.getToken(CG.VIEW,0)}tableIdentifier(){return this.getRuleContext(0,gy)}subqueryClause(){return this.getRuleContext(0,GF)}ATTACH(){return this.getToken(CG.ATTACH,0)}CREATE(){return this.getToken(CG.CREATE,0)}OR(){return this.getToken(CG.OR,0)}REPLACE(){return this.getToken(CG.REPLACE,0)}IF(){return this.getToken(CG.IF,0)}NOT(){return this.getToken(CG.NOT,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}uuidClause(){return this.getRuleContext(0,kF)}clusterClause(){return this.getRuleContext(0,xF)}tableSchemaClause(){return this.getRuleContext(0,FF)}get ruleIndex(){return CG.RULE_createViewStatement}accept(t){return t.visitCreateViewStatement?t.visitCreateViewStatement(this):t.visitChildren(this)}},LF=class extends ga{constructor(t,e){super(t,e)}createDatabaseStatement(){return this.getRuleContext(0,lF)}createDictionaryStatement(){return this.getRuleContext(0,OF)}createLiveViewStatement(){return this.getRuleContext(0,IF)}createMaterializedViewStatement(){return this.getRuleContext(0,uF)}createTableStatement(){return this.getRuleContext(0,SF)}createViewStatement(){return this.getRuleContext(0,NF)}get ruleIndex(){return CG.RULE_createStatement}accept(t){return t.visitCreateStatement?t.visitCreateStatement(this):t.visitChildren(this)}},CF=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(CG.LPAREN,0)}dictionaryAttributeDefinition(t){return void 0===t?this.getRuleContexts(_F):this.getRuleContext(t,_F)}RPAREN(){return this.getToken(CG.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_dictionarySchemaClause}accept(t){return t.visitDictionarySchemaClause?t.visitDictionarySchemaClause(this):t.visitChildren(this)}},_F=class extends ga{constructor(t,e){super(t,e),this.attrs=new Set}identifier(){return this.getRuleContext(0,wy)}columnTypeExpression(){return this.getRuleContext(0,xB)}DEFAULT(t){return void 0===t?this.getTokens(CG.DEFAULT):this.getToken(CG.DEFAULT,t)}literal(t){return void 0===t?this.getRuleContexts(vy):this.getRuleContext(t,vy)}EXPRESSION(t){return void 0===t?this.getTokens(CG.EXPRESSION):this.getToken(CG.EXPRESSION,t)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}HIERARCHICAL(t){return void 0===t?this.getTokens(CG.HIERARCHICAL):this.getToken(CG.HIERARCHICAL,t)}INJECTIVE(t){return void 0===t?this.getTokens(CG.INJECTIVE):this.getToken(CG.INJECTIVE,t)}IS_OBJECT_ID(t){return void 0===t?this.getTokens(CG.IS_OBJECT_ID):this.getToken(CG.IS_OBJECT_ID,t)}get ruleIndex(){return CG.RULE_dictionaryAttributeDefinition}accept(t){return t.visitDictionaryAttributeDefinition?t.visitDictionaryAttributeDefinition(this):t.visitChildren(this)}},PF=class extends ga{constructor(t,e){super(t,e),this.clauses=new Set}dictionaryPrimaryKeyClause(){return this.getRuleContext(0,MF)}sourceClause(t){return void 0===t?this.getRuleContexts(UF):this.getRuleContext(t,UF)}lifetimeClause(t){return void 0===t?this.getRuleContexts(mF):this.getRuleContext(t,mF)}layoutClause(t){return void 0===t?this.getRuleContexts(DF):this.getRuleContext(t,DF)}rangeClause(t){return void 0===t?this.getRuleContexts(pF):this.getRuleContext(t,pF)}dictionarySettingsClause(t){return void 0===t?this.getRuleContexts(gF):this.getRuleContext(t,gF)}get ruleIndex(){return CG.RULE_dictionaryEngineClause}accept(t){return t.visitDictionaryEngineClause?t.visitDictionaryEngineClause(this):t.visitChildren(this)}},MF=class extends ga{constructor(t,e){super(t,e)}PRIMARY(){return this.getToken(CG.PRIMARY,0)}KEY(){return this.getToken(CG.KEY,0)}columnExpressionList(){return this.getRuleContext(0,BB)}get ruleIndex(){return CG.RULE_dictionaryPrimaryKeyClause}accept(t){return t.visitDictionaryPrimaryKeyClause?t.visitDictionaryPrimaryKeyClause(this):t.visitChildren(this)}},dF=class extends ga{constructor(t,e){super(t,e)}identifier(t){return void 0===t?this.getRuleContexts(wy):this.getRuleContext(t,wy)}literal(){return this.getRuleContext(0,vy)}LPAREN(){return this.getToken(CG.LPAREN,0)}RPAREN(){return this.getToken(CG.RPAREN,0)}get ruleIndex(){return CG.RULE_dictionaryArgumentExpression}accept(t){return t.visitDictionaryArgumentExpression?t.visitDictionaryArgumentExpression(this):t.visitChildren(this)}},UF=class extends ga{constructor(t,e){super(t,e)}SOURCE(){return this.getToken(CG.SOURCE,0)}LPAREN(t){return void 0===t?this.getTokens(CG.LPAREN):this.getToken(CG.LPAREN,t)}identifier(){return this.getRuleContext(0,wy)}RPAREN(t){return void 0===t?this.getTokens(CG.RPAREN):this.getToken(CG.RPAREN,t)}dictionaryArgumentExpression(t){return void 0===t?this.getRuleContexts(dF):this.getRuleContext(t,dF)}get ruleIndex(){return CG.RULE_sourceClause}accept(t){return t.visitSourceClause?t.visitSourceClause(this):t.visitChildren(this)}},mF=class extends ga{constructor(t,e){super(t,e)}LIFETIME(){return this.getToken(CG.LIFETIME,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}RPAREN(){return this.getToken(CG.RPAREN,0)}DECIMAL_LITERAL(t){return void 0===t?this.getTokens(CG.DECIMAL_LITERAL):this.getToken(CG.DECIMAL_LITERAL,t)}MIN(){return this.getToken(CG.MIN,0)}MAX(){return this.getToken(CG.MAX,0)}get ruleIndex(){return CG.RULE_lifetimeClause}accept(t){return t.visitLifetimeClause?t.visitLifetimeClause(this):t.visitChildren(this)}},DF=class extends ga{constructor(t,e){super(t,e)}LAYOUT(){return this.getToken(CG.LAYOUT,0)}LPAREN(t){return void 0===t?this.getTokens(CG.LPAREN):this.getToken(CG.LPAREN,t)}identifier(){return this.getRuleContext(0,wy)}RPAREN(t){return void 0===t?this.getTokens(CG.RPAREN):this.getToken(CG.RPAREN,t)}dictionaryArgumentExpression(t){return void 0===t?this.getRuleContexts(dF):this.getRuleContext(t,dF)}get ruleIndex(){return CG.RULE_layoutClause}accept(t){return t.visitLayoutClause?t.visitLayoutClause(this):t.visitChildren(this)}},pF=class extends ga{constructor(t,e){super(t,e)}RANGE(){return this.getToken(CG.RANGE,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}RPAREN(){return this.getToken(CG.RPAREN,0)}MIN(){return this.getToken(CG.MIN,0)}identifier(t){return void 0===t?this.getRuleContexts(wy):this.getRuleContext(t,wy)}MAX(){return this.getToken(CG.MAX,0)}get ruleIndex(){return CG.RULE_rangeClause}accept(t){return t.visitRangeClause?t.visitRangeClause(this):t.visitChildren(this)}},gF=class extends ga{constructor(t,e){super(t,e)}SETTINGS(){return this.getToken(CG.SETTINGS,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}settingExpressionList(){return this.getRuleContext(0,EB)}RPAREN(){return this.getToken(CG.RPAREN,0)}get ruleIndex(){return CG.RULE_dictionarySettingsClause}accept(t){return t.visitDictionarySettingsClause?t.visitDictionarySettingsClause(this):t.visitChildren(this)}},xF=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(CG.ON,0)}CLUSTER(){return this.getToken(CG.CLUSTER,0)}identifier(){return this.getRuleContext(0,wy)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}get ruleIndex(){return CG.RULE_clusterClause}accept(t){return t.visitClusterClause?t.visitClusterClause(this):t.visitChildren(this)}},kF=class extends ga{constructor(t,e){super(t,e)}UUID(){return this.getToken(CG.UUID,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}get ruleIndex(){return CG.RULE_uuidClause}accept(t){return t.visitUuidClause?t.visitUuidClause(this):t.visitChildren(this)}},HF=class extends ga{constructor(t,e){super(t,e)}TO(){return this.getToken(CG.TO,0)}tableIdentifier(){return this.getRuleContext(0,gy)}get ruleIndex(){return CG.RULE_destinationClause}accept(t){return t.visitDestinationClause?t.visitDestinationClause(this):t.visitChildren(this)}},GF=class extends ga{constructor(t,e){super(t,e)}AS(){return this.getToken(CG.AS,0)}selectUnionStatement(){return this.getRuleContext(0,gv)}get ruleIndex(){return CG.RULE_subqueryClause}accept(t){return t.visitSubqueryClause?t.visitSubqueryClause(this):t.visitChildren(this)}},FF=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_tableSchemaClause}copyFrom(t){super.copyFrom(t)}},vF=class extends FF{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}AS(){return this.getToken(CG.AS,0)}tableIdentifier(){return this.getRuleContext(0,gy)}accept(t){return t.visitSchemaAsTableClause?t.visitSchemaAsTableClause(this):t.visitChildren(this)}},BF=class extends FF{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}AS(){return this.getToken(CG.AS,0)}tableFunctionExpression(){return this.getRuleContext(0,py)}accept(t){return t.visitSchemaAsFunctionClause?t.visitSchemaAsFunctionClause(this):t.visitChildren(this)}},yF=class extends FF{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(CG.LPAREN,0)}tableElementExpression(t){return void 0===t?this.getRuleContexts(XF):this.getRuleContext(t,XF)}RPAREN(){return this.getToken(CG.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}accept(t){return t.visitSchemaDescriptionClause?t.visitSchemaDescriptionClause(this):t.visitChildren(this)}},fF=class extends ga{constructor(t,e){super(t,e),this.clauses=new Set}engineExpression(){return this.getRuleContext(0,VF)}orderByClause(t){return void 0===t?this.getRuleContexts(bv):this.getRuleContext(t,bv)}partitionByClause(t){return void 0===t?this.getRuleContexts(YF):this.getRuleContext(t,YF)}primaryKeyClause(t){return void 0===t?this.getRuleContexts(wF):this.getRuleContext(t,wF)}sampleByClause(t){return void 0===t?this.getRuleContexts(bF):this.getRuleContext(t,bF)}ttlClause(t){return void 0===t?this.getRuleContexts(WF):this.getRuleContext(t,WF)}settingsClause(t){return void 0===t?this.getRuleContexts(Kv):this.getRuleContext(t,Kv)}get ruleIndex(){return CG.RULE_engineClause}accept(t){return t.visitEngineClause?t.visitEngineClause(this):t.visitChildren(this)}},YF=class extends ga{constructor(t,e){super(t,e)}PARTITION(){return this.getToken(CG.PARTITION,0)}BY(){return this.getToken(CG.BY,0)}columnExpression(){return this.getRuleContext(0,bB)}get ruleIndex(){return CG.RULE_partitionByClause}accept(t){return t.visitPartitionByClause?t.visitPartitionByClause(this):t.visitChildren(this)}},wF=class extends ga{constructor(t,e){super(t,e)}PRIMARY(){return this.getToken(CG.PRIMARY,0)}KEY(){return this.getToken(CG.KEY,0)}columnExpression(){return this.getRuleContext(0,bB)}get ruleIndex(){return CG.RULE_primaryKeyClause}accept(t){return t.visitPrimaryKeyClause?t.visitPrimaryKeyClause(this):t.visitChildren(this)}},bF=class extends ga{constructor(t,e){super(t,e)}SAMPLE(){return this.getToken(CG.SAMPLE,0)}BY(){return this.getToken(CG.BY,0)}columnExpression(){return this.getRuleContext(0,bB)}get ruleIndex(){return CG.RULE_sampleByClause}accept(t){return t.visitSampleByClause?t.visitSampleByClause(this):t.visitChildren(this)}},WF=class extends ga{constructor(t,e){super(t,e)}TTL(){return this.getToken(CG.TTL,0)}ttlExpression(t){return void 0===t?this.getRuleContexts(sv):this.getRuleContext(t,sv)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_ttlClause}accept(t){return t.visitTtlClause?t.visitTtlClause(this):t.visitChildren(this)}},VF=class extends ga{constructor(t,e){super(t,e)}ENGINE(){return this.getToken(CG.ENGINE,0)}identifierOrNull(){return this.getRuleContext(0,by)}EQ_SINGLE(){return this.getToken(CG.EQ_SINGLE,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}RPAREN(){return this.getToken(CG.RPAREN,0)}columnExpressionList(){return this.getRuleContext(0,BB)}get ruleIndex(){return CG.RULE_engineExpression}accept(t){return t.visitEngineExpression?t.visitEngineExpression(this):t.visitChildren(this)}},XF=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_tableElementExpression}copyFrom(t){super.copyFrom(t)}},KF=class extends XF{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableColumnDefinition(){return this.getRuleContext(0,qF)}accept(t){return t.visitTableElementExpressionColumn?t.visitTableElementExpressionColumn(this):t.visitChildren(this)}},QF=class extends XF{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CONSTRAINT(){return this.getToken(CG.CONSTRAINT,0)}identifier(){return this.getRuleContext(0,wy)}CHECK(){return this.getToken(CG.CHECK,0)}columnExpression(){return this.getRuleContext(0,bB)}accept(t){return t.visitTableElementExpressionConstraint?t.visitTableElementExpressionConstraint(this):t.visitChildren(this)}},JF=class extends XF{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INDEX(){return this.getToken(CG.INDEX,0)}tableIndexDefinition(){return this.getRuleContext(0,zF)}accept(t){return t.visitTableElementExpressionIndex?t.visitTableElementExpressionIndex(this):t.visitChildren(this)}},ZF=class extends XF{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}PROJECTION(){return this.getToken(CG.PROJECTION,0)}tableProjectionDefinition(){return this.getRuleContext(0,$F)}accept(t){return t.visitTableElementExpressionProjection?t.visitTableElementExpressionProjection(this):t.visitChildren(this)}},qF=class extends ga{constructor(t,e){super(t,e)}columnIdentifier(){return this.getRuleContext(0,Py)}columnTypeExpression(){return this.getRuleContext(0,xB)}tableColumnPropertyExpression(){return this.getRuleContext(0,jF)}COMMENT(){return this.getToken(CG.COMMENT,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}codecExpression(){return this.getRuleContext(0,tv)}TTL(){return this.getToken(CG.TTL,0)}columnExpression(){return this.getRuleContext(0,bB)}get ruleIndex(){return CG.RULE_tableColumnDefinition}accept(t){return t.visitTableColumnDefinition?t.visitTableColumnDefinition(this):t.visitChildren(this)}},jF=class extends ga{constructor(t,e){super(t,e)}columnExpression(){return this.getRuleContext(0,bB)}DEFAULT(){return this.getToken(CG.DEFAULT,0)}MATERIALIZED(){return this.getToken(CG.MATERIALIZED,0)}ALIAS(){return this.getToken(CG.ALIAS,0)}get ruleIndex(){return CG.RULE_tableColumnPropertyExpression}accept(t){return t.visitTableColumnPropertyExpression?t.visitTableColumnPropertyExpression(this):t.visitChildren(this)}},zF=class extends ga{constructor(t,e){super(t,e)}columnIdentifier(){return this.getRuleContext(0,Py)}columnExpression(){return this.getRuleContext(0,bB)}TYPE(){return this.getToken(CG.TYPE,0)}columnTypeExpression(){return this.getRuleContext(0,xB)}GRANULARITY(){return this.getToken(CG.GRANULARITY,0)}DECIMAL_LITERAL(){return this.getToken(CG.DECIMAL_LITERAL,0)}get ruleIndex(){return CG.RULE_tableIndexDefinition}accept(t){return t.visitTableIndexDefinition?t.visitTableIndexDefinition(this):t.visitChildren(this)}},$F=class extends ga{constructor(t,e){super(t,e)}columnIdentifier(){return this.getRuleContext(0,Py)}projectionSelectStatement(){return this.getRuleContext(0,pv)}get ruleIndex(){return CG.RULE_tableProjectionDefinition}accept(t){return t.visitTableProjectionDefinition?t.visitTableProjectionDefinition(this):t.visitChildren(this)}},tv=class extends ga{constructor(t,e){super(t,e)}CODEC(){return this.getToken(CG.CODEC,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}codecArgExpression(t){return void 0===t?this.getRuleContexts(ev):this.getRuleContext(t,ev)}RPAREN(){return this.getToken(CG.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_codecExpression}accept(t){return t.visitCodecExpression?t.visitCodecExpression(this):t.visitChildren(this)}},ev=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,wy)}LPAREN(){return this.getToken(CG.LPAREN,0)}RPAREN(){return this.getToken(CG.RPAREN,0)}columnExpressionList(){return this.getRuleContext(0,BB)}get ruleIndex(){return CG.RULE_codecArgExpression}accept(t){return t.visitCodecArgExpression?t.visitCodecArgExpression(this):t.visitChildren(this)}},sv=class extends ga{constructor(t,e){super(t,e)}columnExpression(){return this.getRuleContext(0,bB)}DELETE(){return this.getToken(CG.DELETE,0)}TO(){return this.getToken(CG.TO,0)}DISK(){return this.getToken(CG.DISK,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}VOLUME(){return this.getToken(CG.VOLUME,0)}get ruleIndex(){return CG.RULE_ttlExpression}accept(t){return t.visitTtlExpression?t.visitTtlExpression(this):t.visitChildren(this)}},av=class extends ga{constructor(t,e){super(t,e)}tableExpression(){return this.getRuleContext(0,My)}DESCRIBE(){return this.getToken(CG.DESCRIBE,0)}DESC(){return this.getToken(CG.DESC,0)}TABLE(){return this.getToken(CG.TABLE,0)}get ruleIndex(){return CG.RULE_describeStatement}accept(t){return t.visitDescribeStatement?t.visitDescribeStatement(this):t.visitChildren(this)}},rv=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_dropStatement}copyFrom(t){super.copyFrom(t)}},iv=class extends rv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DATABASE(){return this.getToken(CG.DATABASE,0)}databaseIdentifier(){return this.getRuleContext(0,Hy)}DETACH(){return this.getToken(CG.DETACH,0)}DROP(){return this.getToken(CG.DROP,0)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}clusterClause(){return this.getRuleContext(0,xF)}accept(t){return t.visitDropDatabaseStatement?t.visitDropDatabaseStatement(this):t.visitChildren(this)}},cv=class extends rv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableIdentifier(){return this.getRuleContext(0,gy)}DETACH(){return this.getToken(CG.DETACH,0)}DROP(){return this.getToken(CG.DROP,0)}DICTIONARY(){return this.getToken(CG.DICTIONARY,0)}TABLE(){return this.getToken(CG.TABLE,0)}VIEW(){return this.getToken(CG.VIEW,0)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}clusterClause(){return this.getRuleContext(0,xF)}NO(){return this.getToken(CG.NO,0)}DELAY(){return this.getToken(CG.DELAY,0)}TEMPORARY(){return this.getToken(CG.TEMPORARY,0)}accept(t){return t.visitDropTableStatement?t.visitDropTableStatement(this):t.visitChildren(this)}},nv=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_existsStatement}copyFrom(t){super.copyFrom(t)}},hv=class extends nv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXISTS(){return this.getToken(CG.EXISTS,0)}DATABASE(){return this.getToken(CG.DATABASE,0)}databaseIdentifier(){return this.getRuleContext(0,Hy)}accept(t){return t.visitExistsDatabaseStatement?t.visitExistsDatabaseStatement(this):t.visitChildren(this)}},Ev=class extends nv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXISTS(){return this.getToken(CG.EXISTS,0)}tableIdentifier(){return this.getRuleContext(0,gy)}DICTIONARY(){return this.getToken(CG.DICTIONARY,0)}TABLE(){return this.getToken(CG.TABLE,0)}VIEW(){return this.getToken(CG.VIEW,0)}TEMPORARY(){return this.getToken(CG.TEMPORARY,0)}accept(t){return t.visitExistsTableStatement?t.visitExistsTableStatement(this):t.visitChildren(this)}},Tv=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_explainStatement}copyFrom(t){super.copyFrom(t)}},ov=class extends Tv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXPLAIN(){return this.getToken(CG.EXPLAIN,0)}AST(){return this.getToken(CG.AST,0)}notInsertStatement(){return this.getRuleContext(0,dG)}accept(t){return t.visitExplainASTStatement?t.visitExplainASTStatement(this):t.visitChildren(this)}},Rv=class extends Tv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXPLAIN(){return this.getToken(CG.EXPLAIN,0)}QUERY(){return this.getToken(CG.QUERY,0)}TREE(){return this.getToken(CG.TREE,0)}notInsertStatement(){return this.getRuleContext(0,dG)}accept(t){return t.visitExplainQueryTreeStatement?t.visitExplainQueryTreeStatement(this):t.visitChildren(this)}},Av=class extends Tv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXPLAIN(){return this.getToken(CG.EXPLAIN,0)}PLAN(){return this.getToken(CG.PLAN,0)}notInsertStatement(){return this.getRuleContext(0,dG)}accept(t){return t.visitExplainPlanStatement?t.visitExplainPlanStatement(this):t.visitChildren(this)}},Sv=class extends Tv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXPLAIN(){return this.getToken(CG.EXPLAIN,0)}notInsertStatement(){return this.getRuleContext(0,dG)}accept(t){return t.visitExplainDefaultStatement?t.visitExplainDefaultStatement(this):t.visitChildren(this)}},lv=class extends Tv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXPLAIN(){return this.getToken(CG.EXPLAIN,0)}ESTIMATE(){return this.getToken(CG.ESTIMATE,0)}notInsertStatement(){return this.getRuleContext(0,dG)}accept(t){return t.visitExplainEstimateStatement?t.visitExplainEstimateStatement(this):t.visitChildren(this)}},Ov=class extends Tv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXPLAIN(){return this.getToken(CG.EXPLAIN,0)}SYNTAX(){return this.getToken(CG.SYNTAX,0)}notInsertStatement(){return this.getRuleContext(0,dG)}accept(t){return t.visitExplainSyntaxStatement?t.visitExplainSyntaxStatement(this):t.visitChildren(this)}},Iv=class extends Tv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXPLAIN(){return this.getToken(CG.EXPLAIN,0)}PIPELINE(){return this.getToken(CG.PIPELINE,0)}notInsertStatement(){return this.getRuleContext(0,dG)}accept(t){return t.visitExplainPipelineStatement?t.visitExplainPipelineStatement(this):t.visitChildren(this)}},uv=class extends ga{constructor(t,e){super(t,e)}INSERT(){return this.getToken(CG.INSERT,0)}INTO(){return this.getToken(CG.INTO,0)}dataClause(){return this.getRuleContext(0,Lv)}tableIdentifier(){return this.getRuleContext(0,gy)}FUNCTION(){return this.getToken(CG.FUNCTION,0)}tableFunctionExpression(){return this.getRuleContext(0,py)}TABLE(){return this.getToken(CG.TABLE,0)}columnsClause(){return this.getRuleContext(0,Nv)}get ruleIndex(){return CG.RULE_insertStatement}accept(t){return t.visitInsertStatement?t.visitInsertStatement(this):t.visitChildren(this)}},Nv=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(CG.LPAREN,0)}columnIdentifier(t){return void 0===t?this.getRuleContexts(Py):this.getRuleContext(t,Py)}RPAREN(){return this.getToken(CG.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_columnsClause}accept(t){return t.visitColumnsClause?t.visitColumnsClause(this):t.visitChildren(this)}},Lv=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_dataClause}copyFrom(t){super.copyFrom(t)}},Cv=class extends Lv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}valuesStatement(){return this.getRuleContext(0,Mv)}accept(t){return t.visitDataClauseValues?t.visitDataClauseValues(this):t.visitChildren(this)}},_v=class extends Lv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}FORMAT(){return this.getToken(CG.FORMAT,0)}identifier(){return this.getRuleContext(0,wy)}accept(t){return t.visitDataClauseFormat?t.visitDataClauseFormat(this):t.visitChildren(this)}},Pv=class extends Lv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}selectUnionStatement(){return this.getRuleContext(0,gv)}EOF(){return this.getToken(CG.EOF,0)}SEMICOLON(){return this.getToken(CG.SEMICOLON,0)}accept(t){return t.visitDataClauseSelect?t.visitDataClauseSelect(this):t.visitChildren(this)}},Mv=class extends ga{constructor(t,e){super(t,e)}VALUES(){return this.getToken(CG.VALUES,0)}LPAREN(t){return void 0===t?this.getTokens(CG.LPAREN):this.getToken(CG.LPAREN,t)}RPAREN(t){return void 0===t?this.getTokens(CG.RPAREN):this.getToken(CG.RPAREN,t)}literal(t){return void 0===t?this.getRuleContexts(vy):this.getRuleContext(t,vy)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_valuesStatement}accept(t){return t.visitValuesStatement?t.visitValuesStatement(this):t.visitChildren(this)}},dv=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_killStatement}copyFrom(t){super.copyFrom(t)}},Uv=class extends dv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}KILL(){return this.getToken(CG.KILL,0)}MUTATION(){return this.getToken(CG.MUTATION,0)}whereClause(){return this.getRuleContext(0,fv)}clusterClause(){return this.getRuleContext(0,xF)}SYNC(){return this.getToken(CG.SYNC,0)}ASYNC(){return this.getToken(CG.ASYNC,0)}TEST(){return this.getToken(CG.TEST,0)}accept(t){return t.visitKillMutationStatement?t.visitKillMutationStatement(this):t.visitChildren(this)}},mv=class extends ga{constructor(t,e){super(t,e)}OPTIMIZE(){return this.getToken(CG.OPTIMIZE,0)}TABLE(){return this.getToken(CG.TABLE,0)}tableIdentifier(){return this.getRuleContext(0,gy)}clusterClause(){return this.getRuleContext(0,xF)}partitionClause(){return this.getRuleContext(0,EF)}FINAL(){return this.getToken(CG.FINAL,0)}DEDUPLICATE(){return this.getToken(CG.DEDUPLICATE,0)}get ruleIndex(){return CG.RULE_optimizeStatement}accept(t){return t.visitOptimizeStatement?t.visitOptimizeStatement(this):t.visitChildren(this)}},Dv=class extends ga{constructor(t,e){super(t,e)}RENAME(){return this.getToken(CG.RENAME,0)}TABLE(){return this.getToken(CG.TABLE,0)}tableIdentifier(t){return void 0===t?this.getRuleContexts(gy):this.getRuleContext(t,gy)}TO(t){return void 0===t?this.getTokens(CG.TO):this.getToken(CG.TO,t)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}clusterClause(){return this.getRuleContext(0,xF)}get ruleIndex(){return CG.RULE_renameStatement}accept(t){return t.visitRenameStatement?t.visitRenameStatement(this):t.visitChildren(this)}},pv=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(CG.LPAREN,0)}SELECT(){return this.getToken(CG.SELECT,0)}columnExpressionList(){return this.getRuleContext(0,BB)}RPAREN(){return this.getToken(CG.RPAREN,0)}withClause(){return this.getRuleContext(0,Hv)}groupByClause(){return this.getRuleContext(0,Yv)}projectionOrderByClause(){return this.getRuleContext(0,Wv)}get ruleIndex(){return CG.RULE_projectionSelectStatement}accept(t){return t.visitProjectionSelectStatement?t.visitProjectionSelectStatement(this):t.visitChildren(this)}},gv=class extends ga{constructor(t,e){super(t,e)}selectStatementWithParentheses(t){return void 0===t?this.getRuleContexts(xv):this.getRuleContext(t,xv)}UNION(t){return void 0===t?this.getTokens(CG.UNION):this.getToken(CG.UNION,t)}ALL(t){return void 0===t?this.getTokens(CG.ALL):this.getToken(CG.ALL,t)}get ruleIndex(){return CG.RULE_selectUnionStatement}accept(t){return t.visitSelectUnionStatement?t.visitSelectUnionStatement(this):t.visitChildren(this)}},xv=class extends ga{constructor(t,e){super(t,e)}selectStatement(){return this.getRuleContext(0,kv)}LPAREN(){return this.getToken(CG.LPAREN,0)}selectUnionStatement(){return this.getRuleContext(0,gv)}RPAREN(){return this.getToken(CG.RPAREN,0)}get ruleIndex(){return CG.RULE_selectStatementWithParentheses}accept(t){return t.visitSelectStatementWithParentheses?t.visitSelectStatementWithParentheses(this):t.visitChildren(this)}},kv=class extends ga{constructor(t,e){super(t,e)}SELECT(){return this.getToken(CG.SELECT,0)}columnExpressionList(){return this.getRuleContext(0,BB)}withClause(){return this.getRuleContext(0,Hv)}DISTINCT(){return this.getToken(CG.DISTINCT,0)}topClause(){return this.getRuleContext(0,Gv)}fromClause(){return this.getRuleContext(0,Fv)}arrayJoinClause(){return this.getRuleContext(0,vv)}windowClause(){return this.getRuleContext(0,Bv)}prewhereClause(){return this.getRuleContext(0,yv)}whereClause(){return this.getRuleContext(0,fv)}groupByClause(){return this.getRuleContext(0,Yv)}WITH(t){return void 0===t?this.getTokens(CG.WITH):this.getToken(CG.WITH,t)}TOTALS(){return this.getToken(CG.TOTALS,0)}havingClause(){return this.getRuleContext(0,wv)}orderByClause(){return this.getRuleContext(0,bv)}limitByClause(){return this.getRuleContext(0,Vv)}limitClause(){return this.getRuleContext(0,Xv)}settingsClause(){return this.getRuleContext(0,Kv)}CUBE(){return this.getToken(CG.CUBE,0)}ROLLUP(){return this.getToken(CG.ROLLUP,0)}get ruleIndex(){return CG.RULE_selectStatement}accept(t){return t.visitSelectStatement?t.visitSelectStatement(this):t.visitChildren(this)}},Hv=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(CG.WITH,0)}columnExpressionList(){return this.getRuleContext(0,BB)}get ruleIndex(){return CG.RULE_withClause}accept(t){return t.visitWithClause?t.visitWithClause(this):t.visitChildren(this)}},Gv=class extends ga{constructor(t,e){super(t,e)}TOP(){return this.getToken(CG.TOP,0)}DECIMAL_LITERAL(){return this.getToken(CG.DECIMAL_LITERAL,0)}WITH(){return this.getToken(CG.WITH,0)}TIES(){return this.getToken(CG.TIES,0)}get ruleIndex(){return CG.RULE_topClause}accept(t){return t.visitTopClause?t.visitTopClause(this):t.visitChildren(this)}},Fv=class extends ga{constructor(t,e){super(t,e)}FROM(){return this.getToken(CG.FROM,0)}joinExpression(){return this.getRuleContext(0,Qv)}get ruleIndex(){return CG.RULE_fromClause}accept(t){return t.visitFromClause?t.visitFromClause(this):t.visitChildren(this)}},vv=class extends ga{constructor(t,e){super(t,e)}ARRAY(){return this.getToken(CG.ARRAY,0)}JOIN(){return this.getToken(CG.JOIN,0)}columnExpressionList(){return this.getRuleContext(0,BB)}LEFT(){return this.getToken(CG.LEFT,0)}INNER(){return this.getToken(CG.INNER,0)}get ruleIndex(){return CG.RULE_arrayJoinClause}accept(t){return t.visitArrayJoinClause?t.visitArrayJoinClause(this):t.visitChildren(this)}},Bv=class extends ga{constructor(t,e){super(t,e)}WINDOW(){return this.getToken(CG.WINDOW,0)}identifier(){return this.getRuleContext(0,wy)}AS(){return this.getToken(CG.AS,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}windowExpression(){return this.getRuleContext(0,oB)}RPAREN(){return this.getToken(CG.RPAREN,0)}get ruleIndex(){return CG.RULE_windowClause}accept(t){return t.visitWindowClause?t.visitWindowClause(this):t.visitChildren(this)}},yv=class extends ga{constructor(t,e){super(t,e)}PREWHERE(){return this.getToken(CG.PREWHERE,0)}columnExpression(){return this.getRuleContext(0,bB)}get ruleIndex(){return CG.RULE_prewhereClause}accept(t){return t.visitPrewhereClause?t.visitPrewhereClause(this):t.visitChildren(this)}},fv=class extends ga{constructor(t,e){super(t,e)}WHERE(){return this.getToken(CG.WHERE,0)}columnExpression(){return this.getRuleContext(0,bB)}get ruleIndex(){return CG.RULE_whereClause}accept(t){return t.visitWhereClause?t.visitWhereClause(this):t.visitChildren(this)}},Yv=class extends ga{constructor(t,e){super(t,e)}GROUP(){return this.getToken(CG.GROUP,0)}BY(){return this.getToken(CG.BY,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}columnExpressionList(){return this.getRuleContext(0,BB)}RPAREN(){return this.getToken(CG.RPAREN,0)}CUBE(){return this.getToken(CG.CUBE,0)}ROLLUP(){return this.getToken(CG.ROLLUP,0)}get ruleIndex(){return CG.RULE_groupByClause}accept(t){return t.visitGroupByClause?t.visitGroupByClause(this):t.visitChildren(this)}},wv=class extends ga{constructor(t,e){super(t,e)}HAVING(){return this.getToken(CG.HAVING,0)}columnExpression(){return this.getRuleContext(0,bB)}get ruleIndex(){return CG.RULE_havingClause}accept(t){return t.visitHavingClause?t.visitHavingClause(this):t.visitChildren(this)}},bv=class extends ga{constructor(t,e){super(t,e)}ORDER(){return this.getToken(CG.ORDER,0)}BY(){return this.getToken(CG.BY,0)}orderExpressionList(){return this.getRuleContext(0,cB)}get ruleIndex(){return CG.RULE_orderByClause}accept(t){return t.visitOrderByClause?t.visitOrderByClause(this):t.visitChildren(this)}},Wv=class extends ga{constructor(t,e){super(t,e)}ORDER(){return this.getToken(CG.ORDER,0)}BY(){return this.getToken(CG.BY,0)}columnExpressionList(){return this.getRuleContext(0,BB)}get ruleIndex(){return CG.RULE_projectionOrderByClause}accept(t){return t.visitProjectionOrderByClause?t.visitProjectionOrderByClause(this):t.visitChildren(this)}},Vv=class extends ga{constructor(t,e){super(t,e)}LIMIT(){return this.getToken(CG.LIMIT,0)}limitExpression(){return this.getRuleContext(0,iB)}BY(){return this.getToken(CG.BY,0)}columnExpressionList(){return this.getRuleContext(0,BB)}get ruleIndex(){return CG.RULE_limitByClause}accept(t){return t.visitLimitByClause?t.visitLimitByClause(this):t.visitChildren(this)}},Xv=class extends ga{constructor(t,e){super(t,e)}LIMIT(){return this.getToken(CG.LIMIT,0)}limitExpression(){return this.getRuleContext(0,iB)}WITH(){return this.getToken(CG.WITH,0)}TIES(){return this.getToken(CG.TIES,0)}get ruleIndex(){return CG.RULE_limitClause}accept(t){return t.visitLimitClause?t.visitLimitClause(this):t.visitChildren(this)}},Kv=class extends ga{constructor(t,e){super(t,e)}SETTINGS(){return this.getToken(CG.SETTINGS,0)}settingExpressionList(){return this.getRuleContext(0,EB)}get ruleIndex(){return CG.RULE_settingsClause}accept(t){return t.visitSettingsClause?t.visitSettingsClause(this):t.visitChildren(this)}},Qv=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_joinExpression}copyFrom(t){super.copyFrom(t)}},Jv=class extends Qv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(CG.LPAREN,0)}joinExpression(){return this.getRuleContext(0,Qv)}RPAREN(){return this.getToken(CG.RPAREN,0)}accept(t){return t.visitJoinExpressionParens?t.visitJoinExpressionParens(this):t.visitChildren(this)}},Zv=class extends Qv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableExpression(){return this.getRuleContext(0,My)}FINAL(){return this.getToken(CG.FINAL,0)}sampleClause(){return this.getRuleContext(0,rB)}accept(t){return t.visitJoinExpressionTable?t.visitJoinExpressionTable(this):t.visitChildren(this)}},qv=class extends Qv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}joinExpression(t){return void 0===t?this.getRuleContexts(Qv):this.getRuleContext(t,Qv)}joinOperatorCross(){return this.getRuleContext(0,sB)}accept(t){return t.visitJoinExpressionCrossOp?t.visitJoinExpressionCrossOp(this):t.visitChildren(this)}},jv=class extends Qv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}joinExpression(t){return void 0===t?this.getRuleContexts(Qv):this.getRuleContext(t,Qv)}JOIN(){return this.getToken(CG.JOIN,0)}joinConstraintClause(){return this.getRuleContext(0,aB)}joinOperator(){return this.getRuleContext(0,zv)}GLOBAL(){return this.getToken(CG.GLOBAL,0)}LOCAL(){return this.getToken(CG.LOCAL,0)}accept(t){return t.visitJoinExpressionOp?t.visitJoinExpressionOp(this):t.visitChildren(this)}},zv=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_joinOperator}copyFrom(t){super.copyFrom(t)}},$v=class extends zv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}FULL(){return this.getToken(CG.FULL,0)}OUTER(){return this.getToken(CG.OUTER,0)}ALL(){return this.getToken(CG.ALL,0)}ANY(){return this.getToken(CG.ANY,0)}accept(t){return t.visitJoinOpFull?t.visitJoinOpFull(this):t.visitChildren(this)}},tB=class extends zv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INNER(){return this.getToken(CG.INNER,0)}ALL(){return this.getToken(CG.ALL,0)}ANY(){return this.getToken(CG.ANY,0)}ASOF(){return this.getToken(CG.ASOF,0)}accept(t){return t.visitJoinOpInner?t.visitJoinOpInner(this):t.visitChildren(this)}},eB=class extends zv{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LEFT(){return this.getToken(CG.LEFT,0)}RIGHT(){return this.getToken(CG.RIGHT,0)}OUTER(){return this.getToken(CG.OUTER,0)}SEMI(){return this.getToken(CG.SEMI,0)}ALL(){return this.getToken(CG.ALL,0)}ANTI(){return this.getToken(CG.ANTI,0)}ANY(){return this.getToken(CG.ANY,0)}ASOF(){return this.getToken(CG.ASOF,0)}accept(t){return t.visitJoinOpLeftRight?t.visitJoinOpLeftRight(this):t.visitChildren(this)}},sB=class extends ga{constructor(t,e){super(t,e)}CROSS(){return this.getToken(CG.CROSS,0)}JOIN(){return this.getToken(CG.JOIN,0)}GLOBAL(){return this.getToken(CG.GLOBAL,0)}LOCAL(){return this.getToken(CG.LOCAL,0)}COMMA(){return this.getToken(CG.COMMA,0)}get ruleIndex(){return CG.RULE_joinOperatorCross}accept(t){return t.visitJoinOperatorCross?t.visitJoinOperatorCross(this):t.visitChildren(this)}},aB=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(CG.ON,0)}columnExpressionList(){return this.getRuleContext(0,BB)}USING(){return this.getToken(CG.USING,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}RPAREN(){return this.getToken(CG.RPAREN,0)}get ruleIndex(){return CG.RULE_joinConstraintClause}accept(t){return t.visitJoinConstraintClause?t.visitJoinConstraintClause(this):t.visitChildren(this)}},rB=class extends ga{constructor(t,e){super(t,e)}SAMPLE(){return this.getToken(CG.SAMPLE,0)}ratioExpression(t){return void 0===t?this.getRuleContexts(hB):this.getRuleContext(t,hB)}OFFSET(){return this.getToken(CG.OFFSET,0)}get ruleIndex(){return CG.RULE_sampleClause}accept(t){return t.visitSampleClause?t.visitSampleClause(this):t.visitChildren(this)}},iB=class extends ga{constructor(t,e){super(t,e)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}COMMA(){return this.getToken(CG.COMMA,0)}OFFSET(){return this.getToken(CG.OFFSET,0)}get ruleIndex(){return CG.RULE_limitExpression}accept(t){return t.visitLimitExpression?t.visitLimitExpression(this):t.visitChildren(this)}},cB=class extends ga{constructor(t,e){super(t,e)}orderExpression(t){return void 0===t?this.getRuleContexts(nB):this.getRuleContext(t,nB)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_orderExpressionList}accept(t){return t.visitOrderExpressionList?t.visitOrderExpressionList(this):t.visitChildren(this)}},nB=class extends ga{constructor(t,e){super(t,e)}columnExpression(){return this.getRuleContext(0,bB)}NULLS(){return this.getToken(CG.NULLS,0)}COLLATE(){return this.getToken(CG.COLLATE,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}ASCENDING(){return this.getToken(CG.ASCENDING,0)}DESCENDING(){return this.getToken(CG.DESCENDING,0)}DESC(){return this.getToken(CG.DESC,0)}FIRST(){return this.getToken(CG.FIRST,0)}LAST(){return this.getToken(CG.LAST,0)}get ruleIndex(){return CG.RULE_orderExpression}accept(t){return t.visitOrderExpression?t.visitOrderExpression(this):t.visitChildren(this)}},hB=class extends ga{constructor(t,e){super(t,e)}numberLiteral(t){return void 0===t?this.getRuleContexts(Fy):this.getRuleContext(t,Fy)}SLASH(){return this.getToken(CG.SLASH,0)}get ruleIndex(){return CG.RULE_ratioExpression}accept(t){return t.visitRatioExpression?t.visitRatioExpression(this):t.visitChildren(this)}},EB=class extends ga{constructor(t,e){super(t,e)}settingExpression(t){return void 0===t?this.getRuleContexts(TB):this.getRuleContext(t,TB)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_settingExpressionList}accept(t){return t.visitSettingExpressionList?t.visitSettingExpressionList(this):t.visitChildren(this)}},TB=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,wy)}EQ_SINGLE(){return this.getToken(CG.EQ_SINGLE,0)}literal(){return this.getRuleContext(0,vy)}get ruleIndex(){return CG.RULE_settingExpression}accept(t){return t.visitSettingExpression?t.visitSettingExpression(this):t.visitChildren(this)}},oB=class extends ga{constructor(t,e){super(t,e)}windowPartitionByClause(){return this.getRuleContext(0,RB)}windowOrderByClause(){return this.getRuleContext(0,AB)}windowFrameClause(){return this.getRuleContext(0,SB)}get ruleIndex(){return CG.RULE_windowExpression}accept(t){return t.visitWindowExpression?t.visitWindowExpression(this):t.visitChildren(this)}},RB=class extends ga{constructor(t,e){super(t,e)}PARTITION(){return this.getToken(CG.PARTITION,0)}BY(){return this.getToken(CG.BY,0)}columnExpressionList(){return this.getRuleContext(0,BB)}get ruleIndex(){return CG.RULE_windowPartitionByClause}accept(t){return t.visitWindowPartitionByClause?t.visitWindowPartitionByClause(this):t.visitChildren(this)}},AB=class extends ga{constructor(t,e){super(t,e)}ORDER(){return this.getToken(CG.ORDER,0)}BY(){return this.getToken(CG.BY,0)}orderExpressionList(){return this.getRuleContext(0,cB)}get ruleIndex(){return CG.RULE_windowOrderByClause}accept(t){return t.visitWindowOrderByClause?t.visitWindowOrderByClause(this):t.visitChildren(this)}},SB=class extends ga{constructor(t,e){super(t,e)}windowFrameExtend(){return this.getRuleContext(0,lB)}ROWS(){return this.getToken(CG.ROWS,0)}RANGE(){return this.getToken(CG.RANGE,0)}get ruleIndex(){return CG.RULE_windowFrameClause}accept(t){return t.visitWindowFrameClause?t.visitWindowFrameClause(this):t.visitChildren(this)}},lB=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_windowFrameExtend}copyFrom(t){super.copyFrom(t)}},OB=class extends lB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}windowFrameBound(){return this.getRuleContext(0,uB)}accept(t){return t.visitFrameStart?t.visitFrameStart(this):t.visitChildren(this)}},IB=class extends lB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}BETWEEN(){return this.getToken(CG.BETWEEN,0)}windowFrameBound(t){return void 0===t?this.getRuleContexts(uB):this.getRuleContext(t,uB)}AND(){return this.getToken(CG.AND,0)}accept(t){return t.visitFrameBetween?t.visitFrameBetween(this):t.visitChildren(this)}},uB=class extends ga{constructor(t,e){super(t,e)}CURRENT(){return this.getToken(CG.CURRENT,0)}ROW(){return this.getToken(CG.ROW,0)}UNBOUNDED(){return this.getToken(CG.UNBOUNDED,0)}PRECEDING(){return this.getToken(CG.PRECEDING,0)}FOLLOWING(){return this.getToken(CG.FOLLOWING,0)}numberLiteral(){return this.getRuleContext(0,Fy)}get ruleIndex(){return CG.RULE_windowFrameBound}accept(t){return t.visitWindowFrameBound?t.visitWindowFrameBound(this):t.visitChildren(this)}},NB=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(CG.SET,0)}settingExpressionList(){return this.getRuleContext(0,EB)}get ruleIndex(){return CG.RULE_setStatement}accept(t){return t.visitSetStatement?t.visitSetStatement(this):t.visitChildren(this)}},LB=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_showStatement}copyFrom(t){super.copyFrom(t)}},CB=class extends LB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(CG.SHOW,0)}CREATE(){return this.getToken(CG.CREATE,0)}tableIdentifier(){return this.getRuleContext(0,gy)}TEMPORARY(){return this.getToken(CG.TEMPORARY,0)}TABLE(){return this.getToken(CG.TABLE,0)}accept(t){return t.visitShowCreateTableStatement?t.visitShowCreateTableStatement(this):t.visitChildren(this)}},_B=class extends LB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(CG.SHOW,0)}CREATE(){return this.getToken(CG.CREATE,0)}DICTIONARY(){return this.getToken(CG.DICTIONARY,0)}tableIdentifier(){return this.getRuleContext(0,gy)}accept(t){return t.visitShowCreateDictionaryStatement?t.visitShowCreateDictionaryStatement(this):t.visitChildren(this)}},PB=class extends LB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(CG.SHOW,0)}TABLES(){return this.getToken(CG.TABLES,0)}TEMPORARY(){return this.getToken(CG.TEMPORARY,0)}databaseIdentifier(){return this.getRuleContext(0,Hy)}LIKE(){return this.getToken(CG.LIKE,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}whereClause(){return this.getRuleContext(0,fv)}limitClause(){return this.getRuleContext(0,Xv)}FROM(){return this.getToken(CG.FROM,0)}IN(){return this.getToken(CG.IN,0)}accept(t){return t.visitShowTablesStatement?t.visitShowTablesStatement(this):t.visitChildren(this)}},MB=class extends LB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(CG.SHOW,0)}DICTIONARIES(){return this.getToken(CG.DICTIONARIES,0)}FROM(){return this.getToken(CG.FROM,0)}databaseIdentifier(){return this.getRuleContext(0,Hy)}accept(t){return t.visitShowDictionariesStatement?t.visitShowDictionariesStatement(this):t.visitChildren(this)}},dB=class extends LB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(CG.SHOW,0)}CREATE(){return this.getToken(CG.CREATE,0)}DATABASE(){return this.getToken(CG.DATABASE,0)}databaseIdentifier(){return this.getRuleContext(0,Hy)}accept(t){return t.visitShowCreateDatabaseStatement?t.visitShowCreateDatabaseStatement(this):t.visitChildren(this)}},UB=class extends LB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SHOW(){return this.getToken(CG.SHOW,0)}DATABASES(){return this.getToken(CG.DATABASES,0)}accept(t){return t.visitShowDatabasesStatement?t.visitShowDatabasesStatement(this):t.visitChildren(this)}},mB=class extends ga{constructor(t,e){super(t,e)}SYSTEM(){return this.getToken(CG.SYSTEM,0)}FLUSH(){return this.getToken(CG.FLUSH,0)}DISTRIBUTED(){return this.getToken(CG.DISTRIBUTED,0)}tableIdentifier(){return this.getRuleContext(0,gy)}LOGS(){return this.getToken(CG.LOGS,0)}RELOAD(){return this.getToken(CG.RELOAD,0)}DICTIONARIES(){return this.getToken(CG.DICTIONARIES,0)}DICTIONARY(){return this.getToken(CG.DICTIONARY,0)}START(){return this.getToken(CG.START,0)}STOP(){return this.getToken(CG.STOP,0)}SENDS(){return this.getToken(CG.SENDS,0)}FETCHES(){return this.getToken(CG.FETCHES,0)}MERGES(){return this.getToken(CG.MERGES,0)}TTL(){return this.getToken(CG.TTL,0)}REPLICATED(){return this.getToken(CG.REPLICATED,0)}SYNC(){return this.getToken(CG.SYNC,0)}REPLICA(){return this.getToken(CG.REPLICA,0)}get ruleIndex(){return CG.RULE_systemStatement}accept(t){return t.visitSystemStatement?t.visitSystemStatement(this):t.visitChildren(this)}},DB=class extends ga{constructor(t,e){super(t,e)}TRUNCATE(){return this.getToken(CG.TRUNCATE,0)}tableIdentifier(){return this.getRuleContext(0,gy)}TEMPORARY(){return this.getToken(CG.TEMPORARY,0)}TABLE(){return this.getToken(CG.TABLE,0)}IF(){return this.getToken(CG.IF,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}clusterClause(){return this.getRuleContext(0,xF)}get ruleIndex(){return CG.RULE_truncateStatement}accept(t){return t.visitTruncateStatement?t.visitTruncateStatement(this):t.visitChildren(this)}},pB=class extends ga{constructor(t,e){super(t,e)}USE(){return this.getToken(CG.USE,0)}databaseIdentifier(){return this.getRuleContext(0,Hy)}get ruleIndex(){return CG.RULE_useStatement}accept(t){return t.visitUseStatement?t.visitUseStatement(this):t.visitChildren(this)}},gB=class extends ga{constructor(t,e){super(t,e)}WATCH(){return this.getToken(CG.WATCH,0)}tableIdentifier(){return this.getRuleContext(0,gy)}EVENTS(){return this.getToken(CG.EVENTS,0)}LIMIT(){return this.getToken(CG.LIMIT,0)}DECIMAL_LITERAL(){return this.getToken(CG.DECIMAL_LITERAL,0)}get ruleIndex(){return CG.RULE_watchStatement}accept(t){return t.visitWatchStatement?t.visitWatchStatement(this):t.visitChildren(this)}},xB=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_columnTypeExpression}copyFrom(t){super.copyFrom(t)}},kB=class extends xB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,wy)}LPAREN(){return this.getToken(CG.LPAREN,0)}columnTypeExpression(t){return void 0===t?this.getRuleContexts(xB):this.getRuleContext(t,xB)}RPAREN(){return this.getToken(CG.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}accept(t){return t.visitColumnTypeExpressionComplex?t.visitColumnTypeExpressionComplex(this):t.visitChildren(this)}},HB=class extends xB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,wy)}LPAREN(){return this.getToken(CG.LPAREN,0)}enumValue(t){return void 0===t?this.getRuleContexts(Wy):this.getRuleContext(t,Wy)}RPAREN(){return this.getToken(CG.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}accept(t){return t.visitColumnTypeExpressionEnum?t.visitColumnTypeExpressionEnum(this):t.visitChildren(this)}},GB=class extends xB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(t){return void 0===t?this.getRuleContexts(wy):this.getRuleContext(t,wy)}LPAREN(){return this.getToken(CG.LPAREN,0)}columnTypeExpression(t){return void 0===t?this.getRuleContexts(xB):this.getRuleContext(t,xB)}RPAREN(){return this.getToken(CG.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}accept(t){return t.visitColumnTypeExpressionNested?t.visitColumnTypeExpressionNested(this):t.visitChildren(this)}},FB=class extends xB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,wy)}LPAREN(){return this.getToken(CG.LPAREN,0)}RPAREN(){return this.getToken(CG.RPAREN,0)}columnExpressionList(){return this.getRuleContext(0,BB)}accept(t){return t.visitColumnTypeExpressionParam?t.visitColumnTypeExpressionParam(this):t.visitChildren(this)}},vB=class extends xB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,wy)}accept(t){return t.visitColumnTypeExpressionSimple?t.visitColumnTypeExpressionSimple(this):t.visitChildren(this)}},BB=class extends ga{constructor(t,e){super(t,e)}columnsExpression(t){return void 0===t?this.getRuleContexts(yB):this.getRuleContext(t,yB)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_columnExpressionList}accept(t){return t.visitColumnExpressionList?t.visitColumnExpressionList(this):t.visitChildren(this)}},yB=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_columnsExpression}copyFrom(t){super.copyFrom(t)}},fB=class extends yB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ASTERISK(){return this.getToken(CG.ASTERISK,0)}tableIdentifier(){return this.getRuleContext(0,gy)}DOT(){return this.getToken(CG.DOT,0)}accept(t){return t.visitColumnsExpressionAsterisk?t.visitColumnsExpressionAsterisk(this):t.visitChildren(this)}},YB=class extends yB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(CG.LPAREN,0)}selectUnionStatement(){return this.getRuleContext(0,gv)}RPAREN(){return this.getToken(CG.RPAREN,0)}accept(t){return t.visitColumnsExpressionSubquery?t.visitColumnsExpressionSubquery(this):t.visitChildren(this)}},wB=class extends yB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(){return this.getRuleContext(0,bB)}accept(t){return t.visitColumnsExpressionColumn?t.visitColumnsExpressionColumn(this):t.visitChildren(this)}},bB=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_columnExpression}copyFrom(t){super.copyFrom(t)}},WB=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(){return this.getRuleContext(0,bB)}IS(){return this.getToken(CG.IS,0)}NULL_SQL(){return this.getToken(CG.NULL_SQL,0)}NOT(){return this.getToken(CG.NOT,0)}accept(t){return t.visitColumnExpressionIsNull?t.visitColumnExpressionIsNull(this):t.visitChildren(this)}},VB=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(CG.LPAREN,0)}columnExpressionList(){return this.getRuleContext(0,BB)}RPAREN(){return this.getToken(CG.RPAREN,0)}accept(t){return t.visitColumnExpressionTuple?t.visitColumnExpressionTuple(this):t.visitChildren(this)}},XB=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}AND(){return this.getToken(CG.AND,0)}accept(t){return t.visitColumnExpressionAnd?t.visitColumnExpressionAnd(this):t.visitChildren(this)}},KB=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(CG.DATE,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}accept(t){return t.visitColumnExpressionDate?t.visitColumnExpressionDate(this):t.visitChildren(this)}},QB=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}BETWEEN(){return this.getToken(CG.BETWEEN,0)}AND(){return this.getToken(CG.AND,0)}NOT(){return this.getToken(CG.NOT,0)}accept(t){return t.visitColumnExpressionBetween?t.visitColumnExpressionBetween(this):t.visitChildren(this)}},JB=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}TRIM(){return this.getToken(CG.TRIM,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}FROM(){return this.getToken(CG.FROM,0)}columnExpression(){return this.getRuleContext(0,bB)}RPAREN(){return this.getToken(CG.RPAREN,0)}BOTH(){return this.getToken(CG.BOTH,0)}LEADING(){return this.getToken(CG.LEADING,0)}TRAILING(){return this.getToken(CG.TRAILING,0)}accept(t){return t.visitColumnExpressionTrim?t.visitColumnExpressionTrim(this):t.visitChildren(this)}},ZB=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}NOT(){return this.getToken(CG.NOT,0)}columnExpression(){return this.getRuleContext(0,bB)}accept(t){return t.visitColumnExpressionNot?t.visitColumnExpressionNot(this):t.visitChildren(this)}},qB=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}SUBSTRING(){return this.getToken(CG.SUBSTRING,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}FROM(){return this.getToken(CG.FROM,0)}RPAREN(){return this.getToken(CG.RPAREN,0)}FOR(){return this.getToken(CG.FOR,0)}accept(t){return t.visitColumnExpressionSubstring?t.visitColumnExpressionSubstring(this):t.visitChildren(this)}},jB=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CASE(){return this.getToken(CG.CASE,0)}END(){return this.getToken(CG.END,0)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}WHEN(t){return void 0===t?this.getTokens(CG.WHEN):this.getToken(CG.WHEN,t)}THEN(t){return void 0===t?this.getTokens(CG.THEN):this.getToken(CG.THEN,t)}ELSE(){return this.getToken(CG.ELSE,0)}accept(t){return t.visitColumnExpressionCase?t.visitColumnExpressionCase(this):t.visitChildren(this)}},zB=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnIdentifier(){return this.getRuleContext(0,Py)}accept(t){return t.visitColumnExpressionIdentifier?t.visitColumnExpressionIdentifier(this):t.visitChildren(this)}},$B=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}LBRACKET(){return this.getToken(CG.LBRACKET,0)}RBRACKET(){return this.getToken(CG.RBRACKET,0)}accept(t){return t.visitColumnExpressionArrayAccess?t.visitColumnExpressionArrayAccess(this):t.visitChildren(this)}},ty=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,wy)}LPAREN(t){return void 0===t?this.getTokens(CG.LPAREN):this.getToken(CG.LPAREN,t)}RPAREN(t){return void 0===t?this.getTokens(CG.RPAREN):this.getToken(CG.RPAREN,t)}DISTINCT(){return this.getToken(CG.DISTINCT,0)}columnArgumentList(){return this.getRuleContext(0,Ly)}columnExpressionList(){return this.getRuleContext(0,BB)}accept(t){return t.visitColumnExpressionFunction?t.visitColumnExpressionFunction(this):t.visitChildren(this)}},ey=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}ASTERISK(){return this.getToken(CG.ASTERISK,0)}tableIdentifier(){return this.getRuleContext(0,gy)}DOT(){return this.getToken(CG.DOT,0)}accept(t){return t.visitColumnExpressionAsterisk?t.visitColumnExpressionAsterisk(this):t.visitChildren(this)}},sy=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}literal(){return this.getRuleContext(0,vy)}accept(t){return t.visitColumnExpressionLiteral?t.visitColumnExpressionLiteral(this):t.visitChildren(this)}},ay=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(){return this.getRuleContext(0,wy)}OVER(){return this.getToken(CG.OVER,0)}LPAREN(t){return void 0===t?this.getTokens(CG.LPAREN):this.getToken(CG.LPAREN,t)}windowExpression(){return this.getRuleContext(0,oB)}RPAREN(t){return void 0===t?this.getTokens(CG.RPAREN):this.getToken(CG.RPAREN,t)}columnExpressionList(){return this.getRuleContext(0,BB)}accept(t){return t.visitColumnExpressionWinFunction?t.visitColumnExpressionWinFunction(this):t.visitChildren(this)}},ry=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}QUESTIONMARK(){return this.getToken(CG.QUESTIONMARK,0)}COLON(){return this.getToken(CG.COLON,0)}accept(t){return t.visitColumnExpressionTernaryOp?t.visitColumnExpressionTernaryOp(this):t.visitChildren(this)}},iy=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LBRACKET(){return this.getToken(CG.LBRACKET,0)}RBRACKET(){return this.getToken(CG.RBRACKET,0)}columnExpressionList(){return this.getRuleContext(0,BB)}accept(t){return t.visitColumnExpressionArray?t.visitColumnExpressionArray(this):t.visitChildren(this)}},cy=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(){return this.getRuleContext(0,bB)}DOT(){return this.getToken(CG.DOT,0)}DECIMAL_LITERAL(){return this.getToken(CG.DECIMAL_LITERAL,0)}accept(t){return t.visitColumnExpressionTupleAccess?t.visitColumnExpressionTupleAccess(this):t.visitChildren(this)}},ny=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(CG.LPAREN,0)}columnExpression(){return this.getRuleContext(0,bB)}RPAREN(){return this.getToken(CG.RPAREN,0)}accept(t){return t.visitColumnExpressionParens?t.visitColumnExpressionParens(this):t.visitChildren(this)}},hy=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}identifier(t){return void 0===t?this.getRuleContexts(wy):this.getRuleContext(t,wy)}OVER(){return this.getToken(CG.OVER,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}RPAREN(){return this.getToken(CG.RPAREN,0)}columnExpressionList(){return this.getRuleContext(0,BB)}accept(t){return t.visitColumnExpressionWinFunctionTarget?t.visitColumnExpressionWinFunctionTarget(this):t.visitChildren(this)}},Ey=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(){return this.getRuleContext(0,bB)}alias(){return this.getRuleContext(0,Yy)}AS(){return this.getToken(CG.AS,0)}identifier(){return this.getRuleContext(0,wy)}accept(t){return t.visitColumnExpressionAlias?t.visitColumnExpressionAlias(this):t.visitChildren(this)}},Ty=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}EQ_DOUBLE(){return this.getToken(CG.EQ_DOUBLE,0)}EQ_SINGLE(){return this.getToken(CG.EQ_SINGLE,0)}NOT_EQ(){return this.getToken(CG.NOT_EQ,0)}LE(){return this.getToken(CG.LE,0)}GE(){return this.getToken(CG.GE,0)}LT(){return this.getToken(CG.LT,0)}GT(){return this.getToken(CG.GT,0)}IN(){return this.getToken(CG.IN,0)}LIKE(){return this.getToken(CG.LIKE,0)}ILIKE(){return this.getToken(CG.ILIKE,0)}GLOBAL(){return this.getToken(CG.GLOBAL,0)}NOT(){return this.getToken(CG.NOT,0)}accept(t){return t.visitColumnExpressionPrecedence3?t.visitColumnExpressionPrecedence3(this):t.visitChildren(this)}},oy=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}TIMESTAMP(){return this.getToken(CG.TIMESTAMP,0)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}accept(t){return t.visitColumnExpressionTimestamp?t.visitColumnExpressionTimestamp(this):t.visitChildren(this)}},Ry=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}PLUS(){return this.getToken(CG.PLUS,0)}DASH(){return this.getToken(CG.DASH,0)}CONCAT(){return this.getToken(CG.CONCAT,0)}accept(t){return t.visitColumnExpressionPrecedence2?t.visitColumnExpressionPrecedence2(this):t.visitChildren(this)}},Ay=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}ASTERISK(){return this.getToken(CG.ASTERISK,0)}SLASH(){return this.getToken(CG.SLASH,0)}PERCENT(){return this.getToken(CG.PERCENT,0)}accept(t){return t.visitColumnExpressionPrecedence1?t.visitColumnExpressionPrecedence1(this):t.visitChildren(this)}},Sy=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}INTERVAL(){return this.getToken(CG.INTERVAL,0)}columnExpression(){return this.getRuleContext(0,bB)}interval(){return this.getRuleContext(0,By)}accept(t){return t.visitColumnExpressionInterval?t.visitColumnExpressionInterval(this):t.visitChildren(this)}},ly=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(CG.LPAREN,0)}selectUnionStatement(){return this.getRuleContext(0,gv)}RPAREN(){return this.getToken(CG.RPAREN,0)}accept(t){return t.visitColumnExpressionSubquery?t.visitColumnExpressionSubquery(this):t.visitChildren(this)}},Oy=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}DASH(){return this.getToken(CG.DASH,0)}columnExpression(){return this.getRuleContext(0,bB)}accept(t){return t.visitColumnExpressionNegate?t.visitColumnExpressionNegate(this):t.visitChildren(this)}},Iy=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}EXTRACT(){return this.getToken(CG.EXTRACT,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}interval(){return this.getRuleContext(0,By)}FROM(){return this.getToken(CG.FROM,0)}columnExpression(){return this.getRuleContext(0,bB)}RPAREN(){return this.getToken(CG.RPAREN,0)}accept(t){return t.visitColumnExpressionExtract?t.visitColumnExpressionExtract(this):t.visitChildren(this)}},uy=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}CAST(){return this.getToken(CG.CAST,0)}LPAREN(){return this.getToken(CG.LPAREN,0)}columnExpression(){return this.getRuleContext(0,bB)}AS(){return this.getToken(CG.AS,0)}columnTypeExpression(){return this.getRuleContext(0,xB)}RPAREN(){return this.getToken(CG.RPAREN,0)}accept(t){return t.visitColumnExpressionCast?t.visitColumnExpressionCast(this):t.visitChildren(this)}},Ny=class extends bB{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}columnExpression(t){return void 0===t?this.getRuleContexts(bB):this.getRuleContext(t,bB)}OR(){return this.getToken(CG.OR,0)}accept(t){return t.visitColumnExpressionOr?t.visitColumnExpressionOr(this):t.visitChildren(this)}},Ly=class extends ga{constructor(t,e){super(t,e)}columnArgumentExpression(t){return void 0===t?this.getRuleContexts(Cy):this.getRuleContext(t,Cy)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_columnArgumentList}accept(t){return t.visitColumnArgumentList?t.visitColumnArgumentList(this):t.visitChildren(this)}},Cy=class extends ga{constructor(t,e){super(t,e)}columnLambdaExpression(){return this.getRuleContext(0,_y)}columnExpression(){return this.getRuleContext(0,bB)}get ruleIndex(){return CG.RULE_columnArgumentExpression}accept(t){return t.visitColumnArgumentExpression?t.visitColumnArgumentExpression(this):t.visitChildren(this)}},_y=class extends ga{constructor(t,e){super(t,e)}ARROW(){return this.getToken(CG.ARROW,0)}columnExpression(){return this.getRuleContext(0,bB)}LPAREN(){return this.getToken(CG.LPAREN,0)}identifier(t){return void 0===t?this.getRuleContexts(wy):this.getRuleContext(t,wy)}RPAREN(){return this.getToken(CG.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_columnLambdaExpression}accept(t){return t.visitColumnLambdaExpression?t.visitColumnLambdaExpression(this):t.visitChildren(this)}},Py=class extends ga{constructor(t,e){super(t,e)}identifier(t){return void 0===t?this.getRuleContexts(wy):this.getRuleContext(t,wy)}tableIdentifier(){return this.getRuleContext(0,gy)}DOT(t){return void 0===t?this.getTokens(CG.DOT):this.getToken(CG.DOT,t)}get ruleIndex(){return CG.RULE_columnIdentifier}accept(t){return t.visitColumnIdentifier?t.visitColumnIdentifier(this):t.visitChildren(this)}},My=class extends ga{constructor(t,e){super(t,e)}get ruleIndex(){return CG.RULE_tableExpression}copyFrom(t){super.copyFrom(t)}},dy=class extends My{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableFunctionExpression(){return this.getRuleContext(0,py)}accept(t){return t.visitTableExpressionFunction?t.visitTableExpressionFunction(this):t.visitChildren(this)}},Uy=class extends My{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableIdentifier(){return this.getRuleContext(0,gy)}accept(t){return t.visitTableExpressionIdentifier?t.visitTableExpressionIdentifier(this):t.visitChildren(this)}},my=class extends My{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}tableExpression(){return this.getRuleContext(0,My)}alias(){return this.getRuleContext(0,Yy)}AS(){return this.getToken(CG.AS,0)}identifier(){return this.getRuleContext(0,wy)}accept(t){return t.visitTableExpressionAlias?t.visitTableExpressionAlias(this):t.visitChildren(this)}},Dy=class extends My{constructor(t){super(t.parent,t.invokingState),super.copyFrom(t)}LPAREN(){return this.getToken(CG.LPAREN,0)}selectUnionStatement(){return this.getRuleContext(0,gv)}RPAREN(){return this.getToken(CG.RPAREN,0)}accept(t){return t.visitTableExpressionSubquery?t.visitTableExpressionSubquery(this):t.visitChildren(this)}},py=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,wy)}LPAREN(){return this.getToken(CG.LPAREN,0)}RPAREN(){return this.getToken(CG.RPAREN,0)}tableArgList(){return this.getRuleContext(0,xy)}get ruleIndex(){return CG.RULE_tableFunctionExpression}accept(t){return t.visitTableFunctionExpression?t.visitTableFunctionExpression(this):t.visitChildren(this)}},gy=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,wy)}databaseIdentifier(){return this.getRuleContext(0,Hy)}DOT(){return this.getToken(CG.DOT,0)}get ruleIndex(){return CG.RULE_tableIdentifier}accept(t){return t.visitTableIdentifier?t.visitTableIdentifier(this):t.visitChildren(this)}},xy=class extends ga{constructor(t,e){super(t,e)}tableArgExpression(t){return void 0===t?this.getRuleContexts(ky):this.getRuleContext(t,ky)}COMMA(t){return void 0===t?this.getTokens(CG.COMMA):this.getToken(CG.COMMA,t)}get ruleIndex(){return CG.RULE_tableArgList}accept(t){return t.visitTableArgList?t.visitTableArgList(this):t.visitChildren(this)}},ky=class extends ga{constructor(t,e){super(t,e)}columnIdentifier(){return this.getRuleContext(0,Py)}tableFunctionExpression(){return this.getRuleContext(0,py)}literal(){return this.getRuleContext(0,vy)}get ruleIndex(){return CG.RULE_tableArgExpression}accept(t){return t.visitTableArgExpression?t.visitTableArgExpression(this):t.visitChildren(this)}},Hy=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,wy)}get ruleIndex(){return CG.RULE_databaseIdentifier}accept(t){return t.visitDatabaseIdentifier?t.visitDatabaseIdentifier(this):t.visitChildren(this)}},Gy=class extends ga{constructor(t,e){super(t,e)}FLOATING_LITERAL(){return this.getToken(CG.FLOATING_LITERAL,0)}DOT(){return this.getToken(CG.DOT,0)}DECIMAL_LITERAL(t){return void 0===t?this.getTokens(CG.DECIMAL_LITERAL):this.getToken(CG.DECIMAL_LITERAL,t)}OCTAL_LITERAL(){return this.getToken(CG.OCTAL_LITERAL,0)}get ruleIndex(){return CG.RULE_floatingLiteral}accept(t){return t.visitFloatingLiteral?t.visitFloatingLiteral(this):t.visitChildren(this)}},Fy=class extends ga{constructor(t,e){super(t,e)}floatingLiteral(){return this.getRuleContext(0,Gy)}OCTAL_LITERAL(){return this.getToken(CG.OCTAL_LITERAL,0)}DECIMAL_LITERAL(){return this.getToken(CG.DECIMAL_LITERAL,0)}HEXADECIMAL_LITERAL(){return this.getToken(CG.HEXADECIMAL_LITERAL,0)}INF(){return this.getToken(CG.INF,0)}NAN_SQL(){return this.getToken(CG.NAN_SQL,0)}PLUS(){return this.getToken(CG.PLUS,0)}DASH(){return this.getToken(CG.DASH,0)}get ruleIndex(){return CG.RULE_numberLiteral}accept(t){return t.visitNumberLiteral?t.visitNumberLiteral(this):t.visitChildren(this)}},vy=class extends ga{constructor(t,e){super(t,e)}numberLiteral(){return this.getRuleContext(0,Fy)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}NULL_SQL(){return this.getToken(CG.NULL_SQL,0)}get ruleIndex(){return CG.RULE_literal}accept(t){return t.visitLiteral?t.visitLiteral(this):t.visitChildren(this)}},By=class extends ga{constructor(t,e){super(t,e)}SECOND(){return this.getToken(CG.SECOND,0)}MINUTE(){return this.getToken(CG.MINUTE,0)}HOUR(){return this.getToken(CG.HOUR,0)}DAY(){return this.getToken(CG.DAY,0)}WEEK(){return this.getToken(CG.WEEK,0)}MONTH(){return this.getToken(CG.MONTH,0)}QUARTER(){return this.getToken(CG.QUARTER,0)}YEAR(){return this.getToken(CG.YEAR,0)}get ruleIndex(){return CG.RULE_interval}accept(t){return t.visitInterval?t.visitInterval(this):t.visitChildren(this)}},yy=class extends ga{constructor(t,e){super(t,e)}AFTER(){return this.getToken(CG.AFTER,0)}ALIAS(){return this.getToken(CG.ALIAS,0)}ALL(){return this.getToken(CG.ALL,0)}ALTER(){return this.getToken(CG.ALTER,0)}AND(){return this.getToken(CG.AND,0)}ANTI(){return this.getToken(CG.ANTI,0)}ANY(){return this.getToken(CG.ANY,0)}ARRAY(){return this.getToken(CG.ARRAY,0)}AS(){return this.getToken(CG.AS,0)}ASCENDING(){return this.getToken(CG.ASCENDING,0)}ASOF(){return this.getToken(CG.ASOF,0)}AST(){return this.getToken(CG.AST,0)}ASYNC(){return this.getToken(CG.ASYNC,0)}ATTACH(){return this.getToken(CG.ATTACH,0)}BETWEEN(){return this.getToken(CG.BETWEEN,0)}BOTH(){return this.getToken(CG.BOTH,0)}BY(){return this.getToken(CG.BY,0)}CASE(){return this.getToken(CG.CASE,0)}CAST(){return this.getToken(CG.CAST,0)}CHECK(){return this.getToken(CG.CHECK,0)}CLEAR(){return this.getToken(CG.CLEAR,0)}CLUSTER(){return this.getToken(CG.CLUSTER,0)}CODEC(){return this.getToken(CG.CODEC,0)}COLLATE(){return this.getToken(CG.COLLATE,0)}COLUMN(){return this.getToken(CG.COLUMN,0)}COMMENT(){return this.getToken(CG.COMMENT,0)}CONSTRAINT(){return this.getToken(CG.CONSTRAINT,0)}CREATE(){return this.getToken(CG.CREATE,0)}CROSS(){return this.getToken(CG.CROSS,0)}CUBE(){return this.getToken(CG.CUBE,0)}CURRENT(){return this.getToken(CG.CURRENT,0)}DATABASE(){return this.getToken(CG.DATABASE,0)}DATABASES(){return this.getToken(CG.DATABASES,0)}DATE(){return this.getToken(CG.DATE,0)}DEDUPLICATE(){return this.getToken(CG.DEDUPLICATE,0)}DEFAULT(){return this.getToken(CG.DEFAULT,0)}DELAY(){return this.getToken(CG.DELAY,0)}DELETE(){return this.getToken(CG.DELETE,0)}DESCRIBE(){return this.getToken(CG.DESCRIBE,0)}DESC(){return this.getToken(CG.DESC,0)}DESCENDING(){return this.getToken(CG.DESCENDING,0)}DETACH(){return this.getToken(CG.DETACH,0)}DICTIONARIES(){return this.getToken(CG.DICTIONARIES,0)}DICTIONARY(){return this.getToken(CG.DICTIONARY,0)}DISK(){return this.getToken(CG.DISK,0)}DISTINCT(){return this.getToken(CG.DISTINCT,0)}DISTRIBUTED(){return this.getToken(CG.DISTRIBUTED,0)}DROP(){return this.getToken(CG.DROP,0)}ELSE(){return this.getToken(CG.ELSE,0)}END(){return this.getToken(CG.END,0)}ENGINE(){return this.getToken(CG.ENGINE,0)}EVENTS(){return this.getToken(CG.EVENTS,0)}EXISTS(){return this.getToken(CG.EXISTS,0)}EXPLAIN(){return this.getToken(CG.EXPLAIN,0)}EXPRESSION(){return this.getToken(CG.EXPRESSION,0)}EXTRACT(){return this.getToken(CG.EXTRACT,0)}FETCHES(){return this.getToken(CG.FETCHES,0)}FINAL(){return this.getToken(CG.FINAL,0)}FIRST(){return this.getToken(CG.FIRST,0)}FLUSH(){return this.getToken(CG.FLUSH,0)}FOR(){return this.getToken(CG.FOR,0)}FOLLOWING(){return this.getToken(CG.FOLLOWING,0)}FORMAT(){return this.getToken(CG.FORMAT,0)}FREEZE(){return this.getToken(CG.FREEZE,0)}FROM(){return this.getToken(CG.FROM,0)}FULL(){return this.getToken(CG.FULL,0)}FUNCTION(){return this.getToken(CG.FUNCTION,0)}GLOBAL(){return this.getToken(CG.GLOBAL,0)}GRANULARITY(){return this.getToken(CG.GRANULARITY,0)}GROUP(){return this.getToken(CG.GROUP,0)}HAVING(){return this.getToken(CG.HAVING,0)}HIERARCHICAL(){return this.getToken(CG.HIERARCHICAL,0)}ID(){return this.getToken(CG.ID,0)}IF(){return this.getToken(CG.IF,0)}ILIKE(){return this.getToken(CG.ILIKE,0)}IN(){return this.getToken(CG.IN,0)}INDEX(){return this.getToken(CG.INDEX,0)}INJECTIVE(){return this.getToken(CG.INJECTIVE,0)}INNER(){return this.getToken(CG.INNER,0)}INSERT(){return this.getToken(CG.INSERT,0)}INTERVAL(){return this.getToken(CG.INTERVAL,0)}INTO(){return this.getToken(CG.INTO,0)}IS(){return this.getToken(CG.IS,0)}IS_OBJECT_ID(){return this.getToken(CG.IS_OBJECT_ID,0)}JOIN(){return this.getToken(CG.JOIN,0)}JSON_FALSE(){return this.getToken(CG.JSON_FALSE,0)}JSON_TRUE(){return this.getToken(CG.JSON_TRUE,0)}KEY(){return this.getToken(CG.KEY,0)}KILL(){return this.getToken(CG.KILL,0)}LAST(){return this.getToken(CG.LAST,0)}LAYOUT(){return this.getToken(CG.LAYOUT,0)}LEADING(){return this.getToken(CG.LEADING,0)}LEFT(){return this.getToken(CG.LEFT,0)}LIFETIME(){return this.getToken(CG.LIFETIME,0)}LIKE(){return this.getToken(CG.LIKE,0)}LIMIT(){return this.getToken(CG.LIMIT,0)}LIVE(){return this.getToken(CG.LIVE,0)}LOCAL(){return this.getToken(CG.LOCAL,0)}LOGS(){return this.getToken(CG.LOGS,0)}MATERIALIZE(){return this.getToken(CG.MATERIALIZE,0)}MATERIALIZED(){return this.getToken(CG.MATERIALIZED,0)}MAX(){return this.getToken(CG.MAX,0)}MERGES(){return this.getToken(CG.MERGES,0)}MIN(){return this.getToken(CG.MIN,0)}MODIFY(){return this.getToken(CG.MODIFY,0)}MOVE(){return this.getToken(CG.MOVE,0)}MUTATION(){return this.getToken(CG.MUTATION,0)}NO(){return this.getToken(CG.NO,0)}NOT(){return this.getToken(CG.NOT,0)}NULLS(){return this.getToken(CG.NULLS,0)}OFFSET(){return this.getToken(CG.OFFSET,0)}ON(){return this.getToken(CG.ON,0)}OPTIMIZE(){return this.getToken(CG.OPTIMIZE,0)}OR(){return this.getToken(CG.OR,0)}ORDER(){return this.getToken(CG.ORDER,0)}OUTER(){return this.getToken(CG.OUTER,0)}OUTFILE(){return this.getToken(CG.OUTFILE,0)}OVER(){return this.getToken(CG.OVER,0)}PARTITION(){return this.getToken(CG.PARTITION,0)}POPULATE(){return this.getToken(CG.POPULATE,0)}PRECEDING(){return this.getToken(CG.PRECEDING,0)}PREWHERE(){return this.getToken(CG.PREWHERE,0)}PRIMARY(){return this.getToken(CG.PRIMARY,0)}RANGE(){return this.getToken(CG.RANGE,0)}RELOAD(){return this.getToken(CG.RELOAD,0)}REMOVE(){return this.getToken(CG.REMOVE,0)}RENAME(){return this.getToken(CG.RENAME,0)}REPLACE(){return this.getToken(CG.REPLACE,0)}REPLICA(){return this.getToken(CG.REPLICA,0)}REPLICATED(){return this.getToken(CG.REPLICATED,0)}RIGHT(){return this.getToken(CG.RIGHT,0)}ROLLUP(){return this.getToken(CG.ROLLUP,0)}ROW(){return this.getToken(CG.ROW,0)}ROWS(){return this.getToken(CG.ROWS,0)}SAMPLE(){return this.getToken(CG.SAMPLE,0)}SELECT(){return this.getToken(CG.SELECT,0)}SEMI(){return this.getToken(CG.SEMI,0)}SENDS(){return this.getToken(CG.SENDS,0)}SET(){return this.getToken(CG.SET,0)}SETTINGS(){return this.getToken(CG.SETTINGS,0)}SHOW(){return this.getToken(CG.SHOW,0)}SOURCE(){return this.getToken(CG.SOURCE,0)}START(){return this.getToken(CG.START,0)}STOP(){return this.getToken(CG.STOP,0)}SUBSTRING(){return this.getToken(CG.SUBSTRING,0)}SYNC(){return this.getToken(CG.SYNC,0)}SYNTAX(){return this.getToken(CG.SYNTAX,0)}SYSTEM(){return this.getToken(CG.SYSTEM,0)}TABLE(){return this.getToken(CG.TABLE,0)}TABLES(){return this.getToken(CG.TABLES,0)}TEMPORARY(){return this.getToken(CG.TEMPORARY,0)}TEST(){return this.getToken(CG.TEST,0)}THEN(){return this.getToken(CG.THEN,0)}TIES(){return this.getToken(CG.TIES,0)}TIMEOUT(){return this.getToken(CG.TIMEOUT,0)}TIMESTAMP(){return this.getToken(CG.TIMESTAMP,0)}TOTALS(){return this.getToken(CG.TOTALS,0)}TRAILING(){return this.getToken(CG.TRAILING,0)}TRIM(){return this.getToken(CG.TRIM,0)}TRUNCATE(){return this.getToken(CG.TRUNCATE,0)}TO(){return this.getToken(CG.TO,0)}TOP(){return this.getToken(CG.TOP,0)}TTL(){return this.getToken(CG.TTL,0)}TYPE(){return this.getToken(CG.TYPE,0)}UNBOUNDED(){return this.getToken(CG.UNBOUNDED,0)}UNION(){return this.getToken(CG.UNION,0)}UPDATE(){return this.getToken(CG.UPDATE,0)}USE(){return this.getToken(CG.USE,0)}USING(){return this.getToken(CG.USING,0)}UUID(){return this.getToken(CG.UUID,0)}VALUES(){return this.getToken(CG.VALUES,0)}VIEW(){return this.getToken(CG.VIEW,0)}VOLUME(){return this.getToken(CG.VOLUME,0)}WATCH(){return this.getToken(CG.WATCH,0)}WHEN(){return this.getToken(CG.WHEN,0)}WHERE(){return this.getToken(CG.WHERE,0)}WINDOW(){return this.getToken(CG.WINDOW,0)}WITH(){return this.getToken(CG.WITH,0)}get ruleIndex(){return CG.RULE_keyword}accept(t){return t.visitKeyword?t.visitKeyword(this):t.visitChildren(this)}},fy=class extends ga{constructor(t,e){super(t,e)}DATE(){return this.getToken(CG.DATE,0)}FIRST(){return this.getToken(CG.FIRST,0)}ID(){return this.getToken(CG.ID,0)}KEY(){return this.getToken(CG.KEY,0)}get ruleIndex(){return CG.RULE_keywordForAlias}accept(t){return t.visitKeywordForAlias?t.visitKeywordForAlias(this):t.visitChildren(this)}},Yy=class extends ga{constructor(t,e){super(t,e)}IDENTIFIER(){return this.getToken(CG.IDENTIFIER,0)}keywordForAlias(){return this.getRuleContext(0,fy)}get ruleIndex(){return CG.RULE_alias}accept(t){return t.visitAlias?t.visitAlias(this):t.visitChildren(this)}},wy=class extends ga{constructor(t,e){super(t,e)}IDENTIFIER(){return this.getToken(CG.IDENTIFIER,0)}interval(){return this.getRuleContext(0,By)}keyword(){return this.getRuleContext(0,yy)}get ruleIndex(){return CG.RULE_identifier}accept(t){return t.visitIdentifier?t.visitIdentifier(this):t.visitChildren(this)}},by=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,wy)}NULL_SQL(){return this.getToken(CG.NULL_SQL,0)}get ruleIndex(){return CG.RULE_identifierOrNull}accept(t){return t.visitIdentifierOrNull?t.visitIdentifierOrNull(this):t.visitChildren(this)}},Wy=class extends ga{constructor(t,e){super(t,e)}STRING_LITERAL(){return this.getToken(CG.STRING_LITERAL,0)}EQ_SINGLE(){return this.getToken(CG.EQ_SINGLE,0)}numberLiteral(){return this.getRuleContext(0,Fy)}get ruleIndex(){return CG.RULE_enumValue}accept(t){return t.visitEnumValue?t.visitEnumValue(this):t.visitChildren(this)}},Vy=class extends Ii{},Xy=["Null","Set","Log","Memory","TinyLog","StripeLog"],Ky=["MergeTree()","Merge()","ReplacingMergeTree()","CollapsingMergeTree()","AggregatingMergeTree()","Buffer()","Dictionary()","Distributed()","File()","GraphiteMergeTree()","Join()","Kafka()","MySQL()","URL()","ReplicatedAggregatingMergeTree()","ReplicatedCollapsingMergeTree()","ReplicatedGraphiteMergeTree()","ReplicatedMergeTree()","ReplicatedReplacingMergeTree()","ReplicatedSummingMergeTree()","ReplicatedVersionedCollapsingMergeTree()","SummingMergeTree()","VersionedCollapsingMergeTree()","PostgreSQL()"],Qy={SPACE:CG.WHITESPACE,FROM:CG.FROM,OPENING_BRACKET:CG.LPAREN,CLOSING_BRACKET:CG.RPAREN,ALTER:CG.ALTER,INSERT:CG.INSERT,UPDATE:CG.UPDATE,JOIN:CG.JOIN,SEMICOLON:CG.SEMICOLON,SELECT:CG.SELECT};var Jy=new Set(function(){let t=[],e=CG.JSON_FALSE,s=CG.WHITESPACE;for(let a=e;a<=s;a++)a!==CG.ASTERISK&&t.push(a);return t.push(CG.EOF),t.push(CG.QUESTIONMARK),t}()),Zy=new Set([CG.RULE_databaseIdentifier,CG.RULE_tableIdentifier,CG.RULE_identifier,CG.RULE_columnIdentifier,CG.RULE_identifierOrNull,CG.RULE_literal]),qy=class extends Vy{constructor(){super(),this.visitTableIdentifier=t=>{try{this.symbolTable.addNewSymbolOfType(qc,this.scope,t.getText())}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitTableExpressionAlias=t=>{try{var e,s,a;this.symbolTable.addNewSymbolOfType(qc,this.scope,null===(e=t.tableExpression())||void 0===e?void 0:e.getText(),(null===(s=t.alias())||void 0===s?void 0:s.getText())||(null===(a=t.identifier())||void 0===a?void 0:a.getText())||void 0)}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitColumnExpressionAlias=t=>{try{var e,s;let a=(null===(e=t.alias())||void 0===e?void 0:e.getText())||(null===(s=t.identifier())||void 0===s?void 0:s.getText());a&&this.symbolTable.addNewSymbolOfType(zc,this.scope,a)}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.symbolTable=new Zc("",{allowDuplicateSymbols:!0}),this.scope=this.symbolTable.addNewSymbolOfType(Bc,void 0)}};function jy(t,e){if(!e||"update"===e)return t.root();switch(e){case"from":return t.fromClause();case"alter":return t.alterStatement();case"insert":return t.insertStatement();case"select":return t.selectStatement()}}var zy={Lexer:LG,Parser:CG,tokenDictionary:Qy,ignoredTokens:Jy,rulesToVisit:Zy,getParseTree:jy,enrichAutocompleteResult:function(t,e,s,a,r,i){let{shouldSuggestColumns:c,shouldSuggestColumnAliases:n,...h}=function(t,e,s){let a,r,i=!1,c=!1,n=!1,h=!1,E=!1;for(let[T,o]of t)if(uC(e,o))switch(T){case CG.RULE_tableIdentifier:if(o.ruleList.includes(CG.RULE_createStatement)||o.ruleList.includes(CG.RULE_columnsExpression))break;a=UC(s,Qy,e,CG.VIEW)?"VIEWS":UC(s,Qy,e,CG.TABLE)?"TABLES":"ALL";break;case CG.RULE_identifier:o.ruleList.includes(CG.RULE_columnExpression)&&(c=!0,i=!0),o.ruleList.includes(CG.RULE_alterTableClause)&&(h=!0);break;case CG.RULE_columnIdentifier:h=!0,(o.ruleList.includes(CG.RULE_orderExpression)||o.ruleList.includes(CG.RULE_groupByClause))&&(E=!0);break;case CG.RULE_identifierOrNull:o.ruleList.includes(CG.RULE_engineClause)&&(r={engines:Xy,functionalEngines:Ky});break;case CG.RULE_databaseIdentifier:n=!0}return{suggestViewsOrTables:a,suggestAggregateFunctions:i,suggestFunctions:c,suggestEngines:r,suggestDatabases:n,shouldSuggestColumns:h,shouldSuggestColumnAliases:E}}(e,a,s),E={...t,...h,suggestTemplates:_C(i,r)};if(c||n){let t=new qy,{tableContextSuggestion:e,suggestColumnAliases:a}=mC(LG,CG,t,Qy,jy,s,r,i);c&&e&&(E.suggestColumns=e),n&&a&&(E.suggestColumnAliases=a)}return E}},$y=(qi=class t extends $r{constructor(e){super(e),this.interpreter=new hi(this,t._ATN,t.decisionsToDFA,new Si)}get grammarFileName(){return"YQL.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}get channelNames(){return t.channelNames}get modeNames(){return t.modeNames}static get _ATN(){return t.__ATN||(t.__ATN=(new fr).deserialize(t._serializedATN)),t.__ATN}get vocabulary(){return t.vocabulary}},qi.QUERY=1,qi.EQUALS=2,qi.EQUALS2=3,qi.NOT_EQUALS=4,qi.NOT_EQUALS2=5,qi.LESS=6,qi.LESS_OR_EQ=7,qi.GREATER=8,qi.GREATER_OR_EQ=9,qi.SHIFT_LEFT=10,qi.ROT_LEFT=11,qi.AMPERSAND=12,qi.PIPE=13,qi.DOUBLE_PIPE=14,qi.STRUCT_OPEN=15,qi.STRUCT_CLOSE=16,qi.PLUS=17,qi.MINUS=18,qi.TILDA=19,qi.ASTERISK=20,qi.SLASH=21,qi.BACKSLASH=22,qi.PERCENT=23,qi.SEMICOLON=24,qi.DOT=25,qi.COMMA=26,qi.LPAREN=27,qi.RPAREN=28,qi.QUESTION=29,qi.COLON=30,qi.AT=31,qi.DOUBLE_AT=32,qi.DOLLAR=33,qi.QUOTE_DOUBLE=34,qi.QUOTE_SINGLE=35,qi.BACKTICK=36,qi.LBRACE_CURLY=37,qi.RBRACE_CURLY=38,qi.CARET=39,qi.NAMESPACE=40,qi.ARROW=41,qi.RBRACE_SQUARE=42,qi.LBRACE_SQUARE=43,qi.ABORT=44,qi.ACTION=45,qi.ADD=46,qi.AFTER=47,qi.ALL=48,qi.ALTER=49,qi.ANALYZE=50,qi.AND=51,qi.ANSI=52,qi.ANY=53,qi.ARRAY=54,qi.AS=55,qi.ASC=56,qi.ASSUME=57,qi.ASYMMETRIC=58,qi.ASYNC=59,qi.ATTACH=60,qi.ATTRIBUTES=61,qi.AUTOINCREMENT=62,qi.AUTOMAP=63,qi.BEFORE=64,qi.BEGIN=65,qi.BERNOULLI=66,qi.BETWEEN=67,qi.BITCAST=68,qi.BY=69,qi.CALLABLE=70,qi.CASCADE=71,qi.CASE=72,qi.CAST=73,qi.CHANGEFEED=74,qi.CHECK=75,qi.COLLATE=76,qi.COLUMN=77,qi.COLUMNS=78,qi.COMMIT=79,qi.COMPACT=80,qi.CONDITIONAL=81,qi.CONFLICT=82,qi.CONNECT=83,qi.CONSTRAINT=84,qi.CONSUMER=85,qi.COVER=86,qi.CREATE=87,qi.CROSS=88,qi.CUBE=89,qi.CURRENT=90,qi.CURRENT_DATE=91,qi.CURRENT_TIME=92,qi.CURRENT_TIMESTAMP=93,qi.DATA=94,qi.DATABASE=95,qi.DECIMAL=96,qi.DECLARE=97,qi.DEFAULT=98,qi.DEFERRABLE=99,qi.DEFERRED=100,qi.DEFINE=101,qi.DELETE=102,qi.DESC=103,qi.DESCRIBE=104,qi.DETACH=105,qi.DICT=106,qi.DIRECTORY=107,qi.DISABLE=108,qi.DISCARD=109,qi.DISTINCT=110,qi.DO=111,qi.DROP=112,qi.EACH=113,qi.ELSE=114,qi.EMPTY=115,qi.EMPTY_ACTION=116,qi.ENCRYPTED=117,qi.END=118,qi.ENUM=119,qi.ERASE=120,qi.ERROR=121,qi.ESCAPE=122,qi.EVALUATE=123,qi.EXCEPT=124,qi.EXCLUDE=125,qi.EXCLUSION=126,qi.EXCLUSIVE=127,qi.EXISTS=128,qi.EXPLAIN=129,qi.EXPORT=130,qi.EXTERNAL=131,qi.FAIL=132,qi.FALSE=133,qi.FAMILY=134,qi.FILTER=135,qi.FIRST=136,qi.FLATTEN=137,qi.FLOW=138,qi.FOLLOWING=139,qi.FOR=140,qi.FOREIGN=141,qi.FROM=142,qi.FULL=143,qi.FUNCTION=144,qi.GLOB=145,qi.GLOBAL=146,qi.GRANT=147,qi.GROUP=148,qi.GROUPING=149,qi.GROUPS=150,qi.HASH=151,qi.HAVING=152,qi.HOP=153,qi.IF=154,qi.IGNORE=155,qi.ILIKE=156,qi.IMMEDIATE=157,qi.IMPORT=158,qi.IN=159,qi.INDEX=160,qi.INDEXED=161,qi.INHERITS=162,qi.INITIAL=163,qi.INITIALLY=164,qi.INNER=165,qi.INSERT=166,qi.INSTEAD=167,qi.INTERSECT=168,qi.INTO=169,qi.IS=170,qi.ISNULL=171,qi.JOIN=172,qi.JSON_EXISTS=173,qi.JSON_QUERY=174,qi.JSON_VALUE=175,qi.KEY=176,qi.LAST=177,qi.LEFT=178,qi.LEGACY=179,qi.LIKE=180,qi.LIMIT=181,qi.LIST=182,qi.LOCAL=183,qi.MANAGE=184,qi.MATCH=185,qi.MATCHES=186,qi.MATCH_RECOGNIZE=187,qi.MEASURES=188,qi.MICROSECONDS=189,qi.MILLISECONDS=190,qi.MODIFY=191,qi.NANOSECONDS=192,qi.NATURAL=193,qi.NEXT=194,qi.NO=195,qi.NOT=196,qi.NOTNULL=197,qi.NULL=198,qi.NULLS=199,qi.OBJECT=200,qi.OF=201,qi.OFFSET=202,qi.OMIT=203,qi.ON=204,qi.ONE=205,qi.ONLY=206,qi.OPTION=207,qi.OPTIONAL=208,qi.OR=209,qi.ORDER=210,qi.OTHERS=211,qi.OUTER=212,qi.OVER=213,qi.PARALLEL=214,qi.PARTITION=215,qi.PASSING=216,qi.PASSWORD=217,qi.PAST=218,qi.PATTERN=219,qi.PER=220,qi.PERMUTE=221,qi.PLAN=222,qi.PRAGMA=223,qi.PRECEDING=224,qi.PRESORT=225,qi.PRIMARY=226,qi.PRIVILEGES=227,qi.PROCESS=228,qi.QUEUE=229,qi.RAISE=230,qi.RANGE=231,qi.REDUCE=232,qi.REFERENCES=233,qi.REGEXP=234,qi.REINDEX=235,qi.RELEASE=236,qi.REMOVE=237,qi.RENAME=238,qi.REPEATABLE=239,qi.REPLACE=240,qi.REPLICATION=241,qi.RESET=242,qi.RESOURCE=243,qi.RESPECT=244,qi.RESTRICT=245,qi.RESULT=246,qi.RETURN=247,qi.RETURNING=248,qi.REVERT=249,qi.REVOKE=250,qi.RIGHT=251,qi.RLIKE=252,qi.ROLLBACK=253,qi.ROLLUP=254,qi.ROW=255,qi.ROWS=256,qi.SAMPLE=257,qi.SAVEPOINT=258,qi.SCHEMA=259,qi.SECONDS=260,qi.SEEK=261,qi.SELECT=262,qi.SEMI=263,qi.SET=264,qi.SETS=265,qi.SHOW=266,qi.SKIP_RULE=267,qi.SOURCE=268,qi.STREAM=269,qi.STRUCT=270,qi.SUBQUERY=271,qi.SUBSET=272,qi.SYMBOLS=273,qi.SYMMETRIC=274,qi.SYNC=275,qi.SYSTEM=276,qi.TABLE=277,qi.TABLES=278,qi.TABLESAMPLE=279,qi.TABLESTORE=280,qi.TAGGED=281,qi.TEMP=282,qi.TEMPORARY=283,qi.THEN=284,qi.TIES=285,qi.TO=286,qi.TOPIC=287,qi.TRANSACTION=288,qi.TRIGGER=289,qi.TRUE=290,qi.TUPLE=291,qi.TYPE=292,qi.UNBOUNDED=293,qi.UNCONDITIONAL=294,qi.UNION=295,qi.UNIQUE=296,qi.UNKNOWN=297,qi.UNMATCHED=298,qi.UPDATE=299,qi.UPSERT=300,qi.USE=301,qi.USER=302,qi.USING=303,qi.VACUUM=304,qi.VALUES=305,qi.VARIANT=306,qi.VIEW=307,qi.VIRTUAL=308,qi.WHEN=309,qi.WHERE=310,qi.WINDOW=311,qi.WITH=312,qi.WITHOUT=313,qi.WRAPPER=314,qi.XOR=315,qi.STRING_VALUE=316,qi.ID_PLAIN=317,qi.ID_QUOTED=318,qi.DIGITS=319,qi.INTEGER_VALUE=320,qi.REAL=321,qi.BLOB=322,qi.WS=323,qi.COMMENT=324,qi.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"],qi.literalNames=[null,null,"'='","'=='","'!='","'<>'","'<'","'<='","'>'","'>='","'<<'","'|<<'","'&'","'|'","'||'","'<|'","'|>'","'+'","'-'","'~'","'*'","'/'","''","'%'","';'","'.'","','","'('","')'","'?'","':'","'@'","'@@'","'$'","'\"'","'''","'`'","'{'","'}'","'^'","'::'","'->'","']'","'['"],qi.symbolicNames=[null,"QUERY","EQUALS","EQUALS2","NOT_EQUALS","NOT_EQUALS2","LESS","LESS_OR_EQ","GREATER","GREATER_OR_EQ","SHIFT_LEFT","ROT_LEFT","AMPERSAND","PIPE","DOUBLE_PIPE","STRUCT_OPEN","STRUCT_CLOSE","PLUS","MINUS","TILDA","ASTERISK","SLASH","BACKSLASH","PERCENT","SEMICOLON","DOT","COMMA","LPAREN","RPAREN","QUESTION","COLON","AT","DOUBLE_AT","DOLLAR","QUOTE_DOUBLE","QUOTE_SINGLE","BACKTICK","LBRACE_CURLY","RBRACE_CURLY","CARET","NAMESPACE","ARROW","RBRACE_SQUARE","LBRACE_SQUARE","ABORT","ACTION","ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANSI","ANY","ARRAY","AS","ASC","ASSUME","ASYMMETRIC","ASYNC","ATTACH","ATTRIBUTES","AUTOINCREMENT","AUTOMAP","BEFORE","BEGIN","BERNOULLI","BETWEEN","BITCAST","BY","CALLABLE","CASCADE","CASE","CAST","CHANGEFEED","CHECK","COLLATE","COLUMN","COLUMNS","COMMIT","COMPACT","CONDITIONAL","CONFLICT","CONNECT","CONSTRAINT","CONSUMER","COVER","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATA","DATABASE","DECIMAL","DECLARE","DEFAULT","DEFERRABLE","DEFERRED","DEFINE","DELETE","DESC","DESCRIBE","DETACH","DICT","DIRECTORY","DISABLE","DISCARD","DISTINCT","DO","DROP","EACH","ELSE","EMPTY","EMPTY_ACTION","ENCRYPTED","END","ENUM","ERASE","ERROR","ESCAPE","EVALUATE","EXCEPT","EXCLUDE","EXCLUSION","EXCLUSIVE","EXISTS","EXPLAIN","EXPORT","EXTERNAL","FAIL","FALSE","FAMILY","FILTER","FIRST","FLATTEN","FLOW","FOLLOWING","FOR","FOREIGN","FROM","FULL","FUNCTION","GLOB","GLOBAL","GRANT","GROUP","GROUPING","GROUPS","HASH","HAVING","HOP","IF","IGNORE","ILIKE","IMMEDIATE","IMPORT","IN","INDEX","INDEXED","INHERITS","INITIAL","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","JSON_EXISTS","JSON_QUERY","JSON_VALUE","KEY","LAST","LEFT","LEGACY","LIKE","LIMIT","LIST","LOCAL","MANAGE","MATCH","MATCHES","MATCH_RECOGNIZE","MEASURES","MICROSECONDS","MILLISECONDS","MODIFY","NANOSECONDS","NATURAL","NEXT","NO","NOT","NOTNULL","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OPTIONAL","OR","ORDER","OTHERS","OUTER","OVER","PARALLEL","PARTITION","PASSING","PASSWORD","PAST","PATTERN","PER","PERMUTE","PLAN","PRAGMA","PRECEDING","PRESORT","PRIMARY","PRIVILEGES","PROCESS","QUEUE","RAISE","RANGE","REDUCE","REFERENCES","REGEXP","REINDEX","RELEASE","REMOVE","RENAME","REPEATABLE","REPLACE","REPLICATION","RESET","RESOURCE","RESPECT","RESTRICT","RESULT","RETURN","RETURNING","REVERT","REVOKE","RIGHT","RLIKE","ROLLBACK","ROLLUP","ROW","ROWS","SAMPLE","SAVEPOINT","SCHEMA","SECONDS","SEEK","SELECT","SEMI","SET","SETS","SHOW","SKIP_RULE","SOURCE","STREAM","STRUCT","SUBQUERY","SUBSET","SYMBOLS","SYMMETRIC","SYNC","SYSTEM","TABLE","TABLES","TABLESAMPLE","TABLESTORE","TAGGED","TEMP","TEMPORARY","THEN","TIES","TO","TOPIC","TRANSACTION","TRIGGER","TRUE","TUPLE","TYPE","UNBOUNDED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UPDATE","UPSERT","USE","USER","USING","VACUUM","VALUES","VARIANT","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT","WRAPPER","XOR","STRING_VALUE","ID_PLAIN","ID_QUOTED","DIGITS","INTEGER_VALUE","REAL","BLOB","WS","COMMENT"],qi.modeNames=["DEFAULT_MODE"],qi.ruleNames=["QUERY","EQUALS","EQUALS2","NOT_EQUALS","NOT_EQUALS2","LESS","LESS_OR_EQ","GREATER","GREATER_OR_EQ","SHIFT_LEFT","ROT_LEFT","AMPERSAND","PIPE","DOUBLE_PIPE","STRUCT_OPEN","STRUCT_CLOSE","PLUS","MINUS","TILDA","ASTERISK","SLASH","BACKSLASH","PERCENT","SEMICOLON","DOT","COMMA","LPAREN","RPAREN","QUESTION","COLON","AT","DOUBLE_AT","DOLLAR","QUOTE_DOUBLE","QUOTE_SINGLE","BACKTICK","LBRACE_CURLY","RBRACE_CURLY","CARET","NAMESPACE","ARROW","RBRACE_SQUARE","LBRACE_SQUARE","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ABORT","ACTION","ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANSI","ANY","ARRAY","AS","ASC","ASSUME","ASYMMETRIC","ASYNC","ATTACH","ATTRIBUTES","AUTOINCREMENT","AUTOMAP","BEFORE","BEGIN","BERNOULLI","BETWEEN","BITCAST","BY","CALLABLE","CASCADE","CASE","CAST","CHANGEFEED","CHECK","COLLATE","COLUMN","COLUMNS","COMMIT","COMPACT","CONDITIONAL","CONFLICT","CONNECT","CONSTRAINT","CONSUMER","COVER","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATA","DATABASE","DECIMAL","DECLARE","DEFAULT","DEFERRABLE","DEFERRED","DEFINE","DELETE","DESC","DESCRIBE","DETACH","DICT","DIRECTORY","DISABLE","DISCARD","DISTINCT","DO","DROP","EACH","ELSE","EMPTY","EMPTY_ACTION","ENCRYPTED","END","ENUM","ERASE","ERROR","ESCAPE","EVALUATE","EXCEPT","EXCLUDE","EXCLUSION","EXCLUSIVE","EXISTS","EXPLAIN","EXPORT","EXTERNAL","FAIL","FALSE","FAMILY","FILTER","FIRST","FLATTEN","FLOW","FOLLOWING","FOR","FOREIGN","FROM","FULL","FUNCTION","GLOB","GLOBAL","GRANT","GROUP","GROUPING","GROUPS","HASH","HAVING","HOP","IF","IGNORE","ILIKE","IMMEDIATE","IMPORT","IN","INDEX","INDEXED","INHERITS","INITIAL","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","JSON_EXISTS","JSON_QUERY","JSON_VALUE","KEY","LAST","LEFT","LEGACY","LIKE","LIMIT","LIST","LOCAL","MANAGE","MATCH","MATCHES","MATCH_RECOGNIZE","MEASURES","MICROSECONDS","MILLISECONDS","MODIFY","NANOSECONDS","NATURAL","NEXT","NO","NOT","NOTNULL","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OPTIONAL","OR","ORDER","OTHERS","OUTER","OVER","PARALLEL","PARTITION","PASSING","PASSWORD","PAST","PATTERN","PER","PERMUTE","PLAN","PRAGMA","PRECEDING","PRESORT","PRIMARY","PRIVILEGES","PROCESS","QUEUE","RAISE","RANGE","REDUCE","REFERENCES","REGEXP","REINDEX","RELEASE","REMOVE","RENAME","REPEATABLE","REPLACE","REPLICATION","RESET","RESOURCE","RESPECT","RESTRICT","RESULT","RETURN","RETURNING","REVERT","REVOKE","RIGHT","RLIKE","ROLLBACK","ROLLUP","ROW","ROWS","SAMPLE","SAVEPOINT","SCHEMA","SECONDS","SEEK","SELECT","SEMI","SET","SETS","SHOW","SKIP_RULE","SOURCE","STREAM","STRUCT","SUBQUERY","SUBSET","SYMBOLS","SYMMETRIC","SYNC","SYSTEM","TABLE","TABLES","TABLESAMPLE","TABLESTORE","TAGGED","TEMP","TEMPORARY","THEN","TIES","TO","TOPIC","TRANSACTION","TRIGGER","TRUE","TUPLE","TYPE","UNBOUNDED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UPDATE","UPSERT","USE","USER","USING","VACUUM","VALUES","VARIANT","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT","WRAPPER","XOR","STRING_CORE_SINGLE","STRING_CORE_DOUBLE","STRING_SINGLE","STRING_DOUBLE","STRING_MULTILINE","STRING_VALUE","ID_PLAIN","ID_QUOTED_CORE","ID_QUOTED","DIGIT","HEXDIGIT","HEXDIGITS","OCTDIGITS","BINDIGITS","DECDIGITS","DIGITS","INTEGER_VALUE","FLOAT_EXP","REAL","BLOB","MULTILINE_COMMENT","LINE_COMMENT","WS","COMMENT"],qi._serializedATN=[4,0,324,3058,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,3,1,3,1,3,1,4,1,4,1,4,1,5,1,5,1,6,1,6,1,6,1,7,1,7,1,8,1,8,1,8,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,14,1,15,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,22,1,22,1,23,1,23,1,24,1,24,1,25,1,25,1,26,1,26,1,27,1,27,1,28,1,28,1,29,1,29,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,33,1,33,1,34,1,34,1,35,1,35,1,36,1,36,1,37,1,37,1,38,1,38,1,39,1,39,1,39,1,40,1,40,1,40,1,41,1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,45,1,45,1,46,1,46,1,47,1,47,1,48,1,48,1,49,1,49,1,50,1,50,1,51,1,51,1,52,1,52,1,53,1,53,1,54,1,54,1,55,1,55,1,56,1,56,1,57,1,57,1,58,1,58,1,59,1,59,1,60,1,60,1,61,1,61,1,62,1,62,1,63,1,63,1,64,1,64,1,65,1,65,1,66,1,66,1,67,1,67,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,155,1,155,1,155,1,155,1,155,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,170,1,170,1,170,1,170,1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,185,1,185,1,185,1,185,1,185,1,185,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,187,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,201,1,201,1,201,1,201,1,202,1,202,1,202,1,202,1,202,1,203,1,203,1,203,1,203,1,203,1,204,1,204,1,204,1,204,1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207,1,207,1,207,1,207,1,208,1,208,1,208,1,208,1,208,1,208,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,216,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,219,1,219,1,219,1,219,1,219,1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1,223,1,223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,230,1,230,1,230,1,230,1,231,1,231,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,235,1,235,1,235,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,237,1,237,1,238,1,238,1,238,1,238,1,238,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,239,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,241,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,243,1,243,1,243,1,243,1,243,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,249,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,251,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,254,1,254,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,1,255,1,255,1,256,1,256,1,256,1,256,1,256,1,256,1,257,1,257,1,257,1,257,1,257,1,257,1,257,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,258,1,259,1,259,1,259,1,259,1,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,260,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,261,1,262,1,262,1,262,1,262,1,262,1,262,1,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,265,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,266,1,267,1,267,1,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,268,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,271,1,271,1,271,1,271,1,271,1,271,1,271,1,272,1,272,1,272,1,272,1,272,1,272,1,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,274,1,274,1,274,1,274,1,275,1,275,1,275,1,275,1,275,1,275,1,275,1,276,1,276,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,281,1,281,1,281,1,281,1,281,1,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,283,1,284,1,284,1,284,1,284,1,284,1,284,1,284,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,1,286,1,286,1,286,1,286,1,286,1,287,1,287,1,287,1,287,1,287,1,287,1,287,1,288,1,288,1,288,1,288,1,288,1,289,1,289,1,289,1,289,1,290,1,290,1,290,1,290,1,290,1,291,1,291,1,291,1,291,1,291,1,292,1,292,1,292,1,292,1,292,1,293,1,293,1,293,1,293,1,293,1,293,1,293,1,294,1,294,1,294,1,294,1,294,1,294,1,294,1,295,1,295,1,295,1,295,1,295,1,295,1,295,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,296,1,297,1,297,1,297,1,297,1,297,1,297,1,297,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,298,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,299,1,300,1,300,1,300,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,1,302,1,302,1,303,1,303,1,303,1,303,1,303,1,303,1,303,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,304,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,308,1,309,1,309,1,309,1,309,1,309,1,310,1,310,1,310,1,310,1,310,1,311,1,311,1,311,1,312,1,312,1,312,1,312,1,312,1,312,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,318,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,319,1,320,1,320,1,320,1,320,1,320,1,320,1,321,1,321,1,321,1,321,1,321,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,323,1,324,1,324,1,324,1,324,1,324,1,324,1,324,1,325,1,325,1,325,1,325,1,325,1,325,1,325,1,326,1,326,1,326,1,326,1,327,1,327,1,327,1,327,1,327,1,328,1,328,1,328,1,328,1,328,1,328,1,329,1,329,1,329,1,329,1,329,1,329,1,329,1,330,1,330,1,330,1,330,1,330,1,330,1,330,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,331,1,332,1,332,1,332,1,332,1,332,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,333,1,334,1,334,1,334,1,334,1,334,1,335,1,335,1,335,1,335,1,335,1,335,1,336,1,336,1,336,1,336,1,336,1,336,1,336,1,337,1,337,1,337,1,337,1,337,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,338,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,339,1,340,1,340,1,340,1,340,1,341,1,341,1,341,1,341,3,341,2847,8,341,1,342,1,342,1,342,1,342,3,342,2853,8,342,1,343,1,343,5,343,2857,8,343,10,343,12,343,2860,9,343,1,343,1,343,1,344,1,344,5,344,2866,8,344,10,344,12,344,2869,9,344,1,344,1,344,1,345,1,345,5,345,2875,8,345,10,345,12,345,2878,9,345,1,345,1,345,4,345,2882,8,345,11,345,12,345,2883,1,345,3,345,2887,8,345,1,346,1,346,1,346,3,346,2892,8,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,3,346,2902,8,346,3,346,2904,8,346,1,347,1,347,1,347,5,347,2909,8,347,10,347,12,347,2912,9,347,1,348,1,348,1,348,1,348,1,348,3,348,2919,8,348,1,349,1,349,5,349,2923,8,349,10,349,12,349,2926,9,349,1,349,1,349,1,350,1,350,1,351,1,351,1,352,1,352,1,352,4,352,2937,8,352,11,352,12,352,2938,1,353,1,353,1,353,4,353,2944,8,353,11,353,12,353,2945,1,354,1,354,1,354,4,354,2951,8,354,11,354,12,354,2952,1,355,4,355,2956,8,355,11,355,12,355,2957,1,356,1,356,1,356,1,356,3,356,2964,8,356,1,357,1,357,1,357,3,357,2969,8,357,1,357,1,357,1,357,1,357,1,357,1,357,3,357,2977,8,357,1,358,1,358,1,358,3,358,2982,8,358,1,358,1,358,1,359,1,359,1,359,5,359,2989,8,359,10,359,12,359,2992,9,359,1,359,3,359,2995,8,359,1,359,1,359,1,359,3,359,3e3,8,359,1,359,1,359,1,359,1,359,1,359,1,359,3,359,3008,8,359,3,359,3010,8,359,1,360,1,360,1,360,4,360,3015,8,360,11,360,12,360,3016,1,360,1,360,1,361,1,361,1,361,1,361,5,361,3025,8,361,10,361,12,361,3028,9,361,1,361,1,361,1,361,1,362,1,362,1,362,1,362,5,362,3037,8,362,10,362,12,362,3040,9,362,1,362,1,362,3,362,3044,8,362,1,362,3,362,3047,8,362,1,363,1,363,1,363,1,363,1,364,1,364,3,364,3055,8,364,1,364,1,364,2,2876,3026,0,365,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,0,89,0,91,0,93,0,95,0,97,0,99,0,101,0,103,0,105,0,107,0,109,0,111,0,113,0,115,0,117,0,119,0,121,0,123,0,125,0,127,0,129,0,131,0,133,0,135,0,137,0,139,44,141,45,143,46,145,47,147,48,149,49,151,50,153,51,155,52,157,53,159,54,161,55,163,56,165,57,167,58,169,59,171,60,173,61,175,62,177,63,179,64,181,65,183,66,185,67,187,68,189,69,191,70,193,71,195,72,197,73,199,74,201,75,203,76,205,77,207,78,209,79,211,80,213,81,215,82,217,83,219,84,221,85,223,86,225,87,227,88,229,89,231,90,233,91,235,92,237,93,239,94,241,95,243,96,245,97,247,98,249,99,251,100,253,101,255,102,257,103,259,104,261,105,263,106,265,107,267,108,269,109,271,110,273,111,275,112,277,113,279,114,281,115,283,116,285,117,287,118,289,119,291,120,293,121,295,122,297,123,299,124,301,125,303,126,305,127,307,128,309,129,311,130,313,131,315,132,317,133,319,134,321,135,323,136,325,137,327,138,329,139,331,140,333,141,335,142,337,143,339,144,341,145,343,146,345,147,347,148,349,149,351,150,353,151,355,152,357,153,359,154,361,155,363,156,365,157,367,158,369,159,371,160,373,161,375,162,377,163,379,164,381,165,383,166,385,167,387,168,389,169,391,170,393,171,395,172,397,173,399,174,401,175,403,176,405,177,407,178,409,179,411,180,413,181,415,182,417,183,419,184,421,185,423,186,425,187,427,188,429,189,431,190,433,191,435,192,437,193,439,194,441,195,443,196,445,197,447,198,449,199,451,200,453,201,455,202,457,203,459,204,461,205,463,206,465,207,467,208,469,209,471,210,473,211,475,212,477,213,479,214,481,215,483,216,485,217,487,218,489,219,491,220,493,221,495,222,497,223,499,224,501,225,503,226,505,227,507,228,509,229,511,230,513,231,515,232,517,233,519,234,521,235,523,236,525,237,527,238,529,239,531,240,533,241,535,242,537,243,539,244,541,245,543,246,545,247,547,248,549,249,551,250,553,251,555,252,557,253,559,254,561,255,563,256,565,257,567,258,569,259,571,260,573,261,575,262,577,263,579,264,581,265,583,266,585,267,587,268,589,269,591,270,593,271,595,272,597,273,599,274,601,275,603,276,605,277,607,278,609,279,611,280,613,281,615,282,617,283,619,284,621,285,623,286,625,287,627,288,629,289,631,290,633,291,635,292,637,293,639,294,641,295,643,296,645,297,647,298,649,299,651,300,653,301,655,302,657,303,659,304,661,305,663,306,665,307,667,308,669,309,671,310,673,311,675,312,677,313,679,314,681,315,683,0,685,0,687,0,689,0,691,0,693,316,695,317,697,0,699,318,701,0,703,0,705,0,707,0,709,0,711,0,713,319,715,320,717,0,719,321,721,322,723,0,725,0,727,323,729,324,1,0,35,2,0,65,65,97,97,2,0,66,66,98,98,2,0,67,67,99,99,2,0,68,68,100,100,2,0,69,69,101,101,2,0,70,70,102,102,2,0,71,71,103,103,2,0,72,72,104,104,2,0,73,73,105,105,2,0,74,74,106,106,2,0,75,75,107,107,2,0,76,76,108,108,2,0,77,77,109,109,2,0,78,78,110,110,2,0,79,79,111,111,2,0,80,80,112,112,2,0,81,81,113,113,2,0,82,82,114,114,2,0,83,83,115,115,2,0,84,84,116,116,2,0,85,85,117,117,2,0,86,86,118,118,2,0,87,87,119,119,2,0,88,88,120,120,2,0,89,89,121,121,2,0,90,90,122,122,2,0,39,39,92,92,2,0,34,34,92,92,3,0,65,90,95,95,97,122,1,0,96,96,3,0,48,57,65,70,97,102,2,0,52,52,56,56,2,0,10,10,13,13,1,1,10,10,3,0,9,10,12,13,32,32,3068,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0,0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0,0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0,0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0,0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0,0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0,0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0,0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0,0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0,0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0,0,449,1,0,0,0,0,451,1,0,0,0,0,453,1,0,0,0,0,455,1,0,0,0,0,457,1,0,0,0,0,459,1,0,0,0,0,461,1,0,0,0,0,463,1,0,0,0,0,465,1,0,0,0,0,467,1,0,0,0,0,469,1,0,0,0,0,471,1,0,0,0,0,473,1,0,0,0,0,475,1,0,0,0,0,477,1,0,0,0,0,479,1,0,0,0,0,481,1,0,0,0,0,483,1,0,0,0,0,485,1,0,0,0,0,487,1,0,0,0,0,489,1,0,0,0,0,491,1,0,0,0,0,493,1,0,0,0,0,495,1,0,0,0,0,497,1,0,0,0,0,499,1,0,0,0,0,501,1,0,0,0,0,503,1,0,0,0,0,505,1,0,0,0,0,507,1,0,0,0,0,509,1,0,0,0,0,511,1,0,0,0,0,513,1,0,0,0,0,515,1,0,0,0,0,517,1,0,0,0,0,519,1,0,0,0,0,521,1,0,0,0,0,523,1,0,0,0,0,525,1,0,0,0,0,527,1,0,0,0,0,529,1,0,0,0,0,531,1,0,0,0,0,533,1,0,0,0,0,535,1,0,0,0,0,537,1,0,0,0,0,539,1,0,0,0,0,541,1,0,0,0,0,543,1,0,0,0,0,545,1,0,0,0,0,547,1,0,0,0,0,549,1,0,0,0,0,551,1,0,0,0,0,553,1,0,0,0,0,555,1,0,0,0,0,557,1,0,0,0,0,559,1,0,0,0,0,561,1,0,0,0,0,563,1,0,0,0,0,565,1,0,0,0,0,567,1,0,0,0,0,569,1,0,0,0,0,571,1,0,0,0,0,573,1,0,0,0,0,575,1,0,0,0,0,577,1,0,0,0,0,579,1,0,0,0,0,581,1,0,0,0,0,583,1,0,0,0,0,585,1,0,0,0,0,587,1,0,0,0,0,589,1,0,0,0,0,591,1,0,0,0,0,593,1,0,0,0,0,595,1,0,0,0,0,597,1,0,0,0,0,599,1,0,0,0,0,601,1,0,0,0,0,603,1,0,0,0,0,605,1,0,0,0,0,607,1,0,0,0,0,609,1,0,0,0,0,611,1,0,0,0,0,613,1,0,0,0,0,615,1,0,0,0,0,617,1,0,0,0,0,619,1,0,0,0,0,621,1,0,0,0,0,623,1,0,0,0,0,625,1,0,0,0,0,627,1,0,0,0,0,629,1,0,0,0,0,631,1,0,0,0,0,633,1,0,0,0,0,635,1,0,0,0,0,637,1,0,0,0,0,639,1,0,0,0,0,641,1,0,0,0,0,643,1,0,0,0,0,645,1,0,0,0,0,647,1,0,0,0,0,649,1,0,0,0,0,651,1,0,0,0,0,653,1,0,0,0,0,655,1,0,0,0,0,657,1,0,0,0,0,659,1,0,0,0,0,661,1,0,0,0,0,663,1,0,0,0,0,665,1,0,0,0,0,667,1,0,0,0,0,669,1,0,0,0,0,671,1,0,0,0,0,673,1,0,0,0,0,675,1,0,0,0,0,677,1,0,0,0,0,679,1,0,0,0,0,681,1,0,0,0,0,693,1,0,0,0,0,695,1,0,0,0,0,699,1,0,0,0,0,713,1,0,0,0,0,715,1,0,0,0,0,719,1,0,0,0,0,721,1,0,0,0,0,727,1,0,0,0,0,729,1,0,0,0,1,731,1,0,0,0,3,737,1,0,0,0,5,739,1,0,0,0,7,742,1,0,0,0,9,745,1,0,0,0,11,748,1,0,0,0,13,750,1,0,0,0,15,753,1,0,0,0,17,755,1,0,0,0,19,758,1,0,0,0,21,761,1,0,0,0,23,765,1,0,0,0,25,767,1,0,0,0,27,769,1,0,0,0,29,772,1,0,0,0,31,775,1,0,0,0,33,778,1,0,0,0,35,780,1,0,0,0,37,782,1,0,0,0,39,784,1,0,0,0,41,786,1,0,0,0,43,788,1,0,0,0,45,790,1,0,0,0,47,792,1,0,0,0,49,794,1,0,0,0,51,796,1,0,0,0,53,798,1,0,0,0,55,800,1,0,0,0,57,802,1,0,0,0,59,804,1,0,0,0,61,806,1,0,0,0,63,808,1,0,0,0,65,811,1,0,0,0,67,813,1,0,0,0,69,815,1,0,0,0,71,817,1,0,0,0,73,819,1,0,0,0,75,821,1,0,0,0,77,823,1,0,0,0,79,825,1,0,0,0,81,828,1,0,0,0,83,831,1,0,0,0,85,833,1,0,0,0,87,835,1,0,0,0,89,837,1,0,0,0,91,839,1,0,0,0,93,841,1,0,0,0,95,843,1,0,0,0,97,845,1,0,0,0,99,847,1,0,0,0,101,849,1,0,0,0,103,851,1,0,0,0,105,853,1,0,0,0,107,855,1,0,0,0,109,857,1,0,0,0,111,859,1,0,0,0,113,861,1,0,0,0,115,863,1,0,0,0,117,865,1,0,0,0,119,867,1,0,0,0,121,869,1,0,0,0,123,871,1,0,0,0,125,873,1,0,0,0,127,875,1,0,0,0,129,877,1,0,0,0,131,879,1,0,0,0,133,881,1,0,0,0,135,883,1,0,0,0,137,885,1,0,0,0,139,887,1,0,0,0,141,893,1,0,0,0,143,900,1,0,0,0,145,904,1,0,0,0,147,910,1,0,0,0,149,914,1,0,0,0,151,920,1,0,0,0,153,928,1,0,0,0,155,932,1,0,0,0,157,937,1,0,0,0,159,941,1,0,0,0,161,947,1,0,0,0,163,950,1,0,0,0,165,954,1,0,0,0,167,961,1,0,0,0,169,972,1,0,0,0,171,978,1,0,0,0,173,985,1,0,0,0,175,996,1,0,0,0,177,1010,1,0,0,0,179,1018,1,0,0,0,181,1025,1,0,0,0,183,1031,1,0,0,0,185,1041,1,0,0,0,187,1049,1,0,0,0,189,1057,1,0,0,0,191,1060,1,0,0,0,193,1069,1,0,0,0,195,1077,1,0,0,0,197,1082,1,0,0,0,199,1087,1,0,0,0,201,1098,1,0,0,0,203,1104,1,0,0,0,205,1112,1,0,0,0,207,1119,1,0,0,0,209,1127,1,0,0,0,211,1134,1,0,0,0,213,1142,1,0,0,0,215,1154,1,0,0,0,217,1163,1,0,0,0,219,1171,1,0,0,0,221,1182,1,0,0,0,223,1191,1,0,0,0,225,1197,1,0,0,0,227,1204,1,0,0,0,229,1210,1,0,0,0,231,1215,1,0,0,0,233,1223,1,0,0,0,235,1236,1,0,0,0,237,1249,1,0,0,0,239,1267,1,0,0,0,241,1272,1,0,0,0,243,1281,1,0,0,0,245,1289,1,0,0,0,247,1297,1,0,0,0,249,1305,1,0,0,0,251,1316,1,0,0,0,253,1325,1,0,0,0,255,1332,1,0,0,0,257,1339,1,0,0,0,259,1344,1,0,0,0,261,1353,1,0,0,0,263,1360,1,0,0,0,265,1365,1,0,0,0,267,1375,1,0,0,0,269,1383,1,0,0,0,271,1391,1,0,0,0,273,1400,1,0,0,0,275,1403,1,0,0,0,277,1408,1,0,0,0,279,1413,1,0,0,0,281,1418,1,0,0,0,283,1424,1,0,0,0,285,1437,1,0,0,0,287,1447,1,0,0,0,289,1451,1,0,0,0,291,1456,1,0,0,0,293,1462,1,0,0,0,295,1468,1,0,0,0,297,1475,1,0,0,0,299,1484,1,0,0,0,301,1491,1,0,0,0,303,1499,1,0,0,0,305,1509,1,0,0,0,307,1519,1,0,0,0,309,1526,1,0,0,0,311,1534,1,0,0,0,313,1541,1,0,0,0,315,1550,1,0,0,0,317,1555,1,0,0,0,319,1561,1,0,0,0,321,1568,1,0,0,0,323,1575,1,0,0,0,325,1581,1,0,0,0,327,1589,1,0,0,0,329,1594,1,0,0,0,331,1604,1,0,0,0,333,1608,1,0,0,0,335,1616,1,0,0,0,337,1621,1,0,0,0,339,1626,1,0,0,0,341,1635,1,0,0,0,343,1640,1,0,0,0,345,1647,1,0,0,0,347,1653,1,0,0,0,349,1659,1,0,0,0,351,1668,1,0,0,0,353,1675,1,0,0,0,355,1680,1,0,0,0,357,1687,1,0,0,0,359,1691,1,0,0,0,361,1694,1,0,0,0,363,1701,1,0,0,0,365,1707,1,0,0,0,367,1717,1,0,0,0,369,1724,1,0,0,0,371,1727,1,0,0,0,373,1733,1,0,0,0,375,1741,1,0,0,0,377,1750,1,0,0,0,379,1758,1,0,0,0,381,1768,1,0,0,0,383,1774,1,0,0,0,385,1781,1,0,0,0,387,1789,1,0,0,0,389,1799,1,0,0,0,391,1804,1,0,0,0,393,1807,1,0,0,0,395,1814,1,0,0,0,397,1819,1,0,0,0,399,1831,1,0,0,0,401,1842,1,0,0,0,403,1853,1,0,0,0,405,1857,1,0,0,0,407,1862,1,0,0,0,409,1867,1,0,0,0,411,1874,1,0,0,0,413,1879,1,0,0,0,415,1885,1,0,0,0,417,1890,1,0,0,0,419,1896,1,0,0,0,421,1903,1,0,0,0,423,1909,1,0,0,0,425,1917,1,0,0,0,427,1933,1,0,0,0,429,1942,1,0,0,0,431,1955,1,0,0,0,433,1968,1,0,0,0,435,1975,1,0,0,0,437,1987,1,0,0,0,439,1995,1,0,0,0,441,2e3,1,0,0,0,443,2003,1,0,0,0,445,2007,1,0,0,0,447,2015,1,0,0,0,449,2020,1,0,0,0,451,2026,1,0,0,0,453,2033,1,0,0,0,455,2036,1,0,0,0,457,2043,1,0,0,0,459,2048,1,0,0,0,461,2051,1,0,0,0,463,2055,1,0,0,0,465,2060,1,0,0,0,467,2067,1,0,0,0,469,2076,1,0,0,0,471,2079,1,0,0,0,473,2085,1,0,0,0,475,2092,1,0,0,0,477,2098,1,0,0,0,479,2103,1,0,0,0,481,2112,1,0,0,0,483,2122,1,0,0,0,485,2130,1,0,0,0,487,2139,1,0,0,0,489,2144,1,0,0,0,491,2152,1,0,0,0,493,2156,1,0,0,0,495,2164,1,0,0,0,497,2169,1,0,0,0,499,2176,1,0,0,0,501,2186,1,0,0,0,503,2194,1,0,0,0,505,2202,1,0,0,0,507,2213,1,0,0,0,509,2221,1,0,0,0,511,2227,1,0,0,0,513,2233,1,0,0,0,515,2239,1,0,0,0,517,2246,1,0,0,0,519,2257,1,0,0,0,521,2264,1,0,0,0,523,2272,1,0,0,0,525,2280,1,0,0,0,527,2287,1,0,0,0,529,2294,1,0,0,0,531,2305,1,0,0,0,533,2313,1,0,0,0,535,2325,1,0,0,0,537,2331,1,0,0,0,539,2340,1,0,0,0,541,2348,1,0,0,0,543,2357,1,0,0,0,545,2364,1,0,0,0,547,2371,1,0,0,0,549,2381,1,0,0,0,551,2388,1,0,0,0,553,2395,1,0,0,0,555,2401,1,0,0,0,557,2407,1,0,0,0,559,2416,1,0,0,0,561,2423,1,0,0,0,563,2427,1,0,0,0,565,2432,1,0,0,0,567,2439,1,0,0,0,569,2449,1,0,0,0,571,2456,1,0,0,0,573,2464,1,0,0,0,575,2469,1,0,0,0,577,2476,1,0,0,0,579,2481,1,0,0,0,581,2485,1,0,0,0,583,2490,1,0,0,0,585,2495,1,0,0,0,587,2500,1,0,0,0,589,2507,1,0,0,0,591,2514,1,0,0,0,593,2521,1,0,0,0,595,2530,1,0,0,0,597,2537,1,0,0,0,599,2545,1,0,0,0,601,2555,1,0,0,0,603,2560,1,0,0,0,605,2567,1,0,0,0,607,2573,1,0,0,0,609,2580,1,0,0,0,611,2592,1,0,0,0,613,2603,1,0,0,0,615,2610,1,0,0,0,617,2615,1,0,0,0,619,2625,1,0,0,0,621,2630,1,0,0,0,623,2635,1,0,0,0,625,2638,1,0,0,0,627,2644,1,0,0,0,629,2656,1,0,0,0,631,2664,1,0,0,0,633,2669,1,0,0,0,635,2675,1,0,0,0,637,2680,1,0,0,0,639,2690,1,0,0,0,641,2704,1,0,0,0,643,2710,1,0,0,0,645,2717,1,0,0,0,647,2725,1,0,0,0,649,2735,1,0,0,0,651,2742,1,0,0,0,653,2749,1,0,0,0,655,2753,1,0,0,0,657,2758,1,0,0,0,659,2764,1,0,0,0,661,2771,1,0,0,0,663,2778,1,0,0,0,665,2786,1,0,0,0,667,2791,1,0,0,0,669,2799,1,0,0,0,671,2804,1,0,0,0,673,2810,1,0,0,0,675,2817,1,0,0,0,677,2822,1,0,0,0,679,2830,1,0,0,0,681,2838,1,0,0,0,683,2846,1,0,0,0,685,2852,1,0,0,0,687,2854,1,0,0,0,689,2863,1,0,0,0,691,2881,1,0,0,0,693,2891,1,0,0,0,695,2905,1,0,0,0,697,2918,1,0,0,0,699,2920,1,0,0,0,701,2929,1,0,0,0,703,2931,1,0,0,0,705,2933,1,0,0,0,707,2940,1,0,0,0,709,2947,1,0,0,0,711,2955,1,0,0,0,713,2963,1,0,0,0,715,2965,1,0,0,0,717,2978,1,0,0,0,719,2999,1,0,0,0,721,3011,1,0,0,0,723,3020,1,0,0,0,725,3032,1,0,0,0,727,3048,1,0,0,0,729,3054,1,0,0,0,731,732,3,119,59,0,732,733,3,127,63,0,733,734,3,95,47,0,734,735,3,121,60,0,735,736,3,135,67,0,736,2,1,0,0,0,737,738,5,61,0,0,738,4,1,0,0,0,739,740,5,61,0,0,740,741,5,61,0,0,741,6,1,0,0,0,742,743,5,33,0,0,743,744,5,61,0,0,744,8,1,0,0,0,745,746,5,60,0,0,746,747,5,62,0,0,747,10,1,0,0,0,748,749,5,60,0,0,749,12,1,0,0,0,750,751,5,60,0,0,751,752,5,61,0,0,752,14,1,0,0,0,753,754,5,62,0,0,754,16,1,0,0,0,755,756,5,62,0,0,756,757,5,61,0,0,757,18,1,0,0,0,758,759,5,60,0,0,759,760,5,60,0,0,760,20,1,0,0,0,761,762,5,124,0,0,762,763,5,60,0,0,763,764,5,60,0,0,764,22,1,0,0,0,765,766,5,38,0,0,766,24,1,0,0,0,767,768,5,124,0,0,768,26,1,0,0,0,769,770,5,124,0,0,770,771,5,124,0,0,771,28,1,0,0,0,772,773,5,60,0,0,773,774,5,124,0,0,774,30,1,0,0,0,775,776,5,124,0,0,776,777,5,62,0,0,777,32,1,0,0,0,778,779,5,43,0,0,779,34,1,0,0,0,780,781,5,45,0,0,781,36,1,0,0,0,782,783,5,126,0,0,783,38,1,0,0,0,784,785,5,42,0,0,785,40,1,0,0,0,786,787,5,47,0,0,787,42,1,0,0,0,788,789,5,92,0,0,789,44,1,0,0,0,790,791,5,37,0,0,791,46,1,0,0,0,792,793,5,59,0,0,793,48,1,0,0,0,794,795,5,46,0,0,795,50,1,0,0,0,796,797,5,44,0,0,797,52,1,0,0,0,798,799,5,40,0,0,799,54,1,0,0,0,800,801,5,41,0,0,801,56,1,0,0,0,802,803,5,63,0,0,803,58,1,0,0,0,804,805,5,58,0,0,805,60,1,0,0,0,806,807,5,64,0,0,807,62,1,0,0,0,808,809,5,64,0,0,809,810,5,64,0,0,810,64,1,0,0,0,811,812,5,36,0,0,812,66,1,0,0,0,813,814,5,34,0,0,814,68,1,0,0,0,815,816,5,39,0,0,816,70,1,0,0,0,817,818,5,96,0,0,818,72,1,0,0,0,819,820,5,123,0,0,820,74,1,0,0,0,821,822,5,125,0,0,822,76,1,0,0,0,823,824,5,94,0,0,824,78,1,0,0,0,825,826,5,58,0,0,826,827,5,58,0,0,827,80,1,0,0,0,828,829,5,45,0,0,829,830,5,62,0,0,830,82,1,0,0,0,831,832,5,93,0,0,832,84,1,0,0,0,833,834,5,91,0,0,834,86,1,0,0,0,835,836,7,0,0,0,836,88,1,0,0,0,837,838,7,1,0,0,838,90,1,0,0,0,839,840,7,2,0,0,840,92,1,0,0,0,841,842,7,3,0,0,842,94,1,0,0,0,843,844,7,4,0,0,844,96,1,0,0,0,845,846,7,5,0,0,846,98,1,0,0,0,847,848,7,6,0,0,848,100,1,0,0,0,849,850,7,7,0,0,850,102,1,0,0,0,851,852,7,8,0,0,852,104,1,0,0,0,853,854,7,9,0,0,854,106,1,0,0,0,855,856,7,10,0,0,856,108,1,0,0,0,857,858,7,11,0,0,858,110,1,0,0,0,859,860,7,12,0,0,860,112,1,0,0,0,861,862,7,13,0,0,862,114,1,0,0,0,863,864,7,14,0,0,864,116,1,0,0,0,865,866,7,15,0,0,866,118,1,0,0,0,867,868,7,16,0,0,868,120,1,0,0,0,869,870,7,17,0,0,870,122,1,0,0,0,871,872,7,18,0,0,872,124,1,0,0,0,873,874,7,19,0,0,874,126,1,0,0,0,875,876,7,20,0,0,876,128,1,0,0,0,877,878,7,21,0,0,878,130,1,0,0,0,879,880,7,22,0,0,880,132,1,0,0,0,881,882,7,23,0,0,882,134,1,0,0,0,883,884,7,24,0,0,884,136,1,0,0,0,885,886,7,25,0,0,886,138,1,0,0,0,887,888,3,87,43,0,888,889,3,89,44,0,889,890,3,115,57,0,890,891,3,121,60,0,891,892,3,125,62,0,892,140,1,0,0,0,893,894,3,87,43,0,894,895,3,91,45,0,895,896,3,125,62,0,896,897,3,103,51,0,897,898,3,115,57,0,898,899,3,113,56,0,899,142,1,0,0,0,900,901,3,87,43,0,901,902,3,93,46,0,902,903,3,93,46,0,903,144,1,0,0,0,904,905,3,87,43,0,905,906,3,97,48,0,906,907,3,125,62,0,907,908,3,95,47,0,908,909,3,121,60,0,909,146,1,0,0,0,910,911,3,87,43,0,911,912,3,109,54,0,912,913,3,109,54,0,913,148,1,0,0,0,914,915,3,87,43,0,915,916,3,109,54,0,916,917,3,125,62,0,917,918,3,95,47,0,918,919,3,121,60,0,919,150,1,0,0,0,920,921,3,87,43,0,921,922,3,113,56,0,922,923,3,87,43,0,923,924,3,109,54,0,924,925,3,135,67,0,925,926,3,137,68,0,926,927,3,95,47,0,927,152,1,0,0,0,928,929,3,87,43,0,929,930,3,113,56,0,930,931,3,93,46,0,931,154,1,0,0,0,932,933,3,87,43,0,933,934,3,113,56,0,934,935,3,123,61,0,935,936,3,103,51,0,936,156,1,0,0,0,937,938,3,87,43,0,938,939,3,113,56,0,939,940,3,135,67,0,940,158,1,0,0,0,941,942,3,87,43,0,942,943,3,121,60,0,943,944,3,121,60,0,944,945,3,87,43,0,945,946,3,135,67,0,946,160,1,0,0,0,947,948,3,87,43,0,948,949,3,123,61,0,949,162,1,0,0,0,950,951,3,87,43,0,951,952,3,123,61,0,952,953,3,91,45,0,953,164,1,0,0,0,954,955,3,87,43,0,955,956,3,123,61,0,956,957,3,123,61,0,957,958,3,127,63,0,958,959,3,111,55,0,959,960,3,95,47,0,960,166,1,0,0,0,961,962,3,87,43,0,962,963,3,123,61,0,963,964,3,135,67,0,964,965,3,111,55,0,965,966,3,111,55,0,966,967,3,95,47,0,967,968,3,125,62,0,968,969,3,121,60,0,969,970,3,103,51,0,970,971,3,91,45,0,971,168,1,0,0,0,972,973,3,87,43,0,973,974,3,123,61,0,974,975,3,135,67,0,975,976,3,113,56,0,976,977,3,91,45,0,977,170,1,0,0,0,978,979,3,87,43,0,979,980,3,125,62,0,980,981,3,125,62,0,981,982,3,87,43,0,982,983,3,91,45,0,983,984,3,101,50,0,984,172,1,0,0,0,985,986,3,87,43,0,986,987,3,125,62,0,987,988,3,125,62,0,988,989,3,121,60,0,989,990,3,103,51,0,990,991,3,89,44,0,991,992,3,127,63,0,992,993,3,125,62,0,993,994,3,95,47,0,994,995,3,123,61,0,995,174,1,0,0,0,996,997,3,87,43,0,997,998,3,127,63,0,998,999,3,125,62,0,999,1e3,3,115,57,0,1e3,1001,3,103,51,0,1001,1002,3,113,56,0,1002,1003,3,91,45,0,1003,1004,3,121,60,0,1004,1005,3,95,47,0,1005,1006,3,111,55,0,1006,1007,3,95,47,0,1007,1008,3,113,56,0,1008,1009,3,125,62,0,1009,176,1,0,0,0,1010,1011,3,87,43,0,1011,1012,3,127,63,0,1012,1013,3,125,62,0,1013,1014,3,115,57,0,1014,1015,3,111,55,0,1015,1016,3,87,43,0,1016,1017,3,117,58,0,1017,178,1,0,0,0,1018,1019,3,89,44,0,1019,1020,3,95,47,0,1020,1021,3,97,48,0,1021,1022,3,115,57,0,1022,1023,3,121,60,0,1023,1024,3,95,47,0,1024,180,1,0,0,0,1025,1026,3,89,44,0,1026,1027,3,95,47,0,1027,1028,3,99,49,0,1028,1029,3,103,51,0,1029,1030,3,113,56,0,1030,182,1,0,0,0,1031,1032,3,89,44,0,1032,1033,3,95,47,0,1033,1034,3,121,60,0,1034,1035,3,113,56,0,1035,1036,3,115,57,0,1036,1037,3,127,63,0,1037,1038,3,109,54,0,1038,1039,3,109,54,0,1039,1040,3,103,51,0,1040,184,1,0,0,0,1041,1042,3,89,44,0,1042,1043,3,95,47,0,1043,1044,3,125,62,0,1044,1045,3,131,65,0,1045,1046,3,95,47,0,1046,1047,3,95,47,0,1047,1048,3,113,56,0,1048,186,1,0,0,0,1049,1050,3,89,44,0,1050,1051,3,103,51,0,1051,1052,3,125,62,0,1052,1053,3,91,45,0,1053,1054,3,87,43,0,1054,1055,3,123,61,0,1055,1056,3,125,62,0,1056,188,1,0,0,0,1057,1058,3,89,44,0,1058,1059,3,135,67,0,1059,190,1,0,0,0,1060,1061,3,91,45,0,1061,1062,3,87,43,0,1062,1063,3,109,54,0,1063,1064,3,109,54,0,1064,1065,3,87,43,0,1065,1066,3,89,44,0,1066,1067,3,109,54,0,1067,1068,3,95,47,0,1068,192,1,0,0,0,1069,1070,3,91,45,0,1070,1071,3,87,43,0,1071,1072,3,123,61,0,1072,1073,3,91,45,0,1073,1074,3,87,43,0,1074,1075,3,93,46,0,1075,1076,3,95,47,0,1076,194,1,0,0,0,1077,1078,3,91,45,0,1078,1079,3,87,43,0,1079,1080,3,123,61,0,1080,1081,3,95,47,0,1081,196,1,0,0,0,1082,1083,3,91,45,0,1083,1084,3,87,43,0,1084,1085,3,123,61,0,1085,1086,3,125,62,0,1086,198,1,0,0,0,1087,1088,3,91,45,0,1088,1089,3,101,50,0,1089,1090,3,87,43,0,1090,1091,3,113,56,0,1091,1092,3,99,49,0,1092,1093,3,95,47,0,1093,1094,3,97,48,0,1094,1095,3,95,47,0,1095,1096,3,95,47,0,1096,1097,3,93,46,0,1097,200,1,0,0,0,1098,1099,3,91,45,0,1099,1100,3,101,50,0,1100,1101,3,95,47,0,1101,1102,3,91,45,0,1102,1103,3,107,53,0,1103,202,1,0,0,0,1104,1105,3,91,45,0,1105,1106,3,115,57,0,1106,1107,3,109,54,0,1107,1108,3,109,54,0,1108,1109,3,87,43,0,1109,1110,3,125,62,0,1110,1111,3,95,47,0,1111,204,1,0,0,0,1112,1113,3,91,45,0,1113,1114,3,115,57,0,1114,1115,3,109,54,0,1115,1116,3,127,63,0,1116,1117,3,111,55,0,1117,1118,3,113,56,0,1118,206,1,0,0,0,1119,1120,3,91,45,0,1120,1121,3,115,57,0,1121,1122,3,109,54,0,1122,1123,3,127,63,0,1123,1124,3,111,55,0,1124,1125,3,113,56,0,1125,1126,3,123,61,0,1126,208,1,0,0,0,1127,1128,3,91,45,0,1128,1129,3,115,57,0,1129,1130,3,111,55,0,1130,1131,3,111,55,0,1131,1132,3,103,51,0,1132,1133,3,125,62,0,1133,210,1,0,0,0,1134,1135,3,91,45,0,1135,1136,3,115,57,0,1136,1137,3,111,55,0,1137,1138,3,117,58,0,1138,1139,3,87,43,0,1139,1140,3,91,45,0,1140,1141,3,125,62,0,1141,212,1,0,0,0,1142,1143,3,91,45,0,1143,1144,3,115,57,0,1144,1145,3,113,56,0,1145,1146,3,93,46,0,1146,1147,3,103,51,0,1147,1148,3,125,62,0,1148,1149,3,103,51,0,1149,1150,3,115,57,0,1150,1151,3,113,56,0,1151,1152,3,87,43,0,1152,1153,3,109,54,0,1153,214,1,0,0,0,1154,1155,3,91,45,0,1155,1156,3,115,57,0,1156,1157,3,113,56,0,1157,1158,3,97,48,0,1158,1159,3,109,54,0,1159,1160,3,103,51,0,1160,1161,3,91,45,0,1161,1162,3,125,62,0,1162,216,1,0,0,0,1163,1164,3,91,45,0,1164,1165,3,115,57,0,1165,1166,3,113,56,0,1166,1167,3,113,56,0,1167,1168,3,95,47,0,1168,1169,3,91,45,0,1169,1170,3,125,62,0,1170,218,1,0,0,0,1171,1172,3,91,45,0,1172,1173,3,115,57,0,1173,1174,3,113,56,0,1174,1175,3,123,61,0,1175,1176,3,125,62,0,1176,1177,3,121,60,0,1177,1178,3,87,43,0,1178,1179,3,103,51,0,1179,1180,3,113,56,0,1180,1181,3,125,62,0,1181,220,1,0,0,0,1182,1183,3,91,45,0,1183,1184,3,115,57,0,1184,1185,3,113,56,0,1185,1186,3,123,61,0,1186,1187,3,127,63,0,1187,1188,3,111,55,0,1188,1189,3,95,47,0,1189,1190,3,121,60,0,1190,222,1,0,0,0,1191,1192,3,91,45,0,1192,1193,3,115,57,0,1193,1194,3,129,64,0,1194,1195,3,95,47,0,1195,1196,3,121,60,0,1196,224,1,0,0,0,1197,1198,3,91,45,0,1198,1199,3,121,60,0,1199,1200,3,95,47,0,1200,1201,3,87,43,0,1201,1202,3,125,62,0,1202,1203,3,95,47,0,1203,226,1,0,0,0,1204,1205,3,91,45,0,1205,1206,3,121,60,0,1206,1207,3,115,57,0,1207,1208,3,123,61,0,1208,1209,3,123,61,0,1209,228,1,0,0,0,1210,1211,3,91,45,0,1211,1212,3,127,63,0,1212,1213,3,89,44,0,1213,1214,3,95,47,0,1214,230,1,0,0,0,1215,1216,3,91,45,0,1216,1217,3,127,63,0,1217,1218,3,121,60,0,1218,1219,3,121,60,0,1219,1220,3,95,47,0,1220,1221,3,113,56,0,1221,1222,3,125,62,0,1222,232,1,0,0,0,1223,1224,3,91,45,0,1224,1225,3,127,63,0,1225,1226,3,121,60,0,1226,1227,3,121,60,0,1227,1228,3,95,47,0,1228,1229,3,113,56,0,1229,1230,3,125,62,0,1230,1231,5,95,0,0,1231,1232,3,93,46,0,1232,1233,3,87,43,0,1233,1234,3,125,62,0,1234,1235,3,95,47,0,1235,234,1,0,0,0,1236,1237,3,91,45,0,1237,1238,3,127,63,0,1238,1239,3,121,60,0,1239,1240,3,121,60,0,1240,1241,3,95,47,0,1241,1242,3,113,56,0,1242,1243,3,125,62,0,1243,1244,5,95,0,0,1244,1245,3,125,62,0,1245,1246,3,103,51,0,1246,1247,3,111,55,0,1247,1248,3,95,47,0,1248,236,1,0,0,0,1249,1250,3,91,45,0,1250,1251,3,127,63,0,1251,1252,3,121,60,0,1252,1253,3,121,60,0,1253,1254,3,95,47,0,1254,1255,3,113,56,0,1255,1256,3,125,62,0,1256,1257,5,95,0,0,1257,1258,3,125,62,0,1258,1259,3,103,51,0,1259,1260,3,111,55,0,1260,1261,3,95,47,0,1261,1262,3,123,61,0,1262,1263,3,125,62,0,1263,1264,3,87,43,0,1264,1265,3,111,55,0,1265,1266,3,117,58,0,1266,238,1,0,0,0,1267,1268,3,93,46,0,1268,1269,3,87,43,0,1269,1270,3,125,62,0,1270,1271,3,87,43,0,1271,240,1,0,0,0,1272,1273,3,93,46,0,1273,1274,3,87,43,0,1274,1275,3,125,62,0,1275,1276,3,87,43,0,1276,1277,3,89,44,0,1277,1278,3,87,43,0,1278,1279,3,123,61,0,1279,1280,3,95,47,0,1280,242,1,0,0,0,1281,1282,3,93,46,0,1282,1283,3,95,47,0,1283,1284,3,91,45,0,1284,1285,3,103,51,0,1285,1286,3,111,55,0,1286,1287,3,87,43,0,1287,1288,3,109,54,0,1288,244,1,0,0,0,1289,1290,3,93,46,0,1290,1291,3,95,47,0,1291,1292,3,91,45,0,1292,1293,3,109,54,0,1293,1294,3,87,43,0,1294,1295,3,121,60,0,1295,1296,3,95,47,0,1296,246,1,0,0,0,1297,1298,3,93,46,0,1298,1299,3,95,47,0,1299,1300,3,97,48,0,1300,1301,3,87,43,0,1301,1302,3,127,63,0,1302,1303,3,109,54,0,1303,1304,3,125,62,0,1304,248,1,0,0,0,1305,1306,3,93,46,0,1306,1307,3,95,47,0,1307,1308,3,97,48,0,1308,1309,3,95,47,0,1309,1310,3,121,60,0,1310,1311,3,121,60,0,1311,1312,3,87,43,0,1312,1313,3,89,44,0,1313,1314,3,109,54,0,1314,1315,3,95,47,0,1315,250,1,0,0,0,1316,1317,3,93,46,0,1317,1318,3,95,47,0,1318,1319,3,97,48,0,1319,1320,3,95,47,0,1320,1321,3,121,60,0,1321,1322,3,121,60,0,1322,1323,3,95,47,0,1323,1324,3,93,46,0,1324,252,1,0,0,0,1325,1326,3,93,46,0,1326,1327,3,95,47,0,1327,1328,3,97,48,0,1328,1329,3,103,51,0,1329,1330,3,113,56,0,1330,1331,3,95,47,0,1331,254,1,0,0,0,1332,1333,3,93,46,0,1333,1334,3,95,47,0,1334,1335,3,109,54,0,1335,1336,3,95,47,0,1336,1337,3,125,62,0,1337,1338,3,95,47,0,1338,256,1,0,0,0,1339,1340,3,93,46,0,1340,1341,3,95,47,0,1341,1342,3,123,61,0,1342,1343,3,91,45,0,1343,258,1,0,0,0,1344,1345,3,93,46,0,1345,1346,3,95,47,0,1346,1347,3,123,61,0,1347,1348,3,91,45,0,1348,1349,3,121,60,0,1349,1350,3,103,51,0,1350,1351,3,89,44,0,1351,1352,3,95,47,0,1352,260,1,0,0,0,1353,1354,3,93,46,0,1354,1355,3,95,47,0,1355,1356,3,125,62,0,1356,1357,3,87,43,0,1357,1358,3,91,45,0,1358,1359,3,101,50,0,1359,262,1,0,0,0,1360,1361,3,93,46,0,1361,1362,3,103,51,0,1362,1363,3,91,45,0,1363,1364,3,125,62,0,1364,264,1,0,0,0,1365,1366,3,93,46,0,1366,1367,3,103,51,0,1367,1368,3,121,60,0,1368,1369,3,95,47,0,1369,1370,3,91,45,0,1370,1371,3,125,62,0,1371,1372,3,115,57,0,1372,1373,3,121,60,0,1373,1374,3,135,67,0,1374,266,1,0,0,0,1375,1376,3,93,46,0,1376,1377,3,103,51,0,1377,1378,3,123,61,0,1378,1379,3,87,43,0,1379,1380,3,89,44,0,1380,1381,3,109,54,0,1381,1382,3,95,47,0,1382,268,1,0,0,0,1383,1384,3,93,46,0,1384,1385,3,103,51,0,1385,1386,3,123,61,0,1386,1387,3,91,45,0,1387,1388,3,87,43,0,1388,1389,3,121,60,0,1389,1390,3,93,46,0,1390,270,1,0,0,0,1391,1392,3,93,46,0,1392,1393,3,103,51,0,1393,1394,3,123,61,0,1394,1395,3,125,62,0,1395,1396,3,103,51,0,1396,1397,3,113,56,0,1397,1398,3,91,45,0,1398,1399,3,125,62,0,1399,272,1,0,0,0,1400,1401,3,93,46,0,1401,1402,3,115,57,0,1402,274,1,0,0,0,1403,1404,3,93,46,0,1404,1405,3,121,60,0,1405,1406,3,115,57,0,1406,1407,3,117,58,0,1407,276,1,0,0,0,1408,1409,3,95,47,0,1409,1410,3,87,43,0,1410,1411,3,91,45,0,1411,1412,3,101,50,0,1412,278,1,0,0,0,1413,1414,3,95,47,0,1414,1415,3,109,54,0,1415,1416,3,123,61,0,1416,1417,3,95,47,0,1417,280,1,0,0,0,1418,1419,3,95,47,0,1419,1420,3,111,55,0,1420,1421,3,117,58,0,1421,1422,3,125,62,0,1422,1423,3,135,67,0,1423,282,1,0,0,0,1424,1425,3,95,47,0,1425,1426,3,111,55,0,1426,1427,3,117,58,0,1427,1428,3,125,62,0,1428,1429,3,135,67,0,1429,1430,5,95,0,0,1430,1431,3,87,43,0,1431,1432,3,91,45,0,1432,1433,3,125,62,0,1433,1434,3,103,51,0,1434,1435,3,115,57,0,1435,1436,3,113,56,0,1436,284,1,0,0,0,1437,1438,3,95,47,0,1438,1439,3,113,56,0,1439,1440,3,91,45,0,1440,1441,3,121,60,0,1441,1442,3,135,67,0,1442,1443,3,117,58,0,1443,1444,3,125,62,0,1444,1445,3,95,47,0,1445,1446,3,93,46,0,1446,286,1,0,0,0,1447,1448,3,95,47,0,1448,1449,3,113,56,0,1449,1450,3,93,46,0,1450,288,1,0,0,0,1451,1452,3,95,47,0,1452,1453,3,113,56,0,1453,1454,3,127,63,0,1454,1455,3,111,55,0,1455,290,1,0,0,0,1456,1457,3,95,47,0,1457,1458,3,121,60,0,1458,1459,3,87,43,0,1459,1460,3,123,61,0,1460,1461,3,95,47,0,1461,292,1,0,0,0,1462,1463,3,95,47,0,1463,1464,3,121,60,0,1464,1465,3,121,60,0,1465,1466,3,115,57,0,1466,1467,3,121,60,0,1467,294,1,0,0,0,1468,1469,3,95,47,0,1469,1470,3,123,61,0,1470,1471,3,91,45,0,1471,1472,3,87,43,0,1472,1473,3,117,58,0,1473,1474,3,95,47,0,1474,296,1,0,0,0,1475,1476,3,95,47,0,1476,1477,3,129,64,0,1477,1478,3,87,43,0,1478,1479,3,109,54,0,1479,1480,3,127,63,0,1480,1481,3,87,43,0,1481,1482,3,125,62,0,1482,1483,3,95,47,0,1483,298,1,0,0,0,1484,1485,3,95,47,0,1485,1486,3,133,66,0,1486,1487,3,91,45,0,1487,1488,3,95,47,0,1488,1489,3,117,58,0,1489,1490,3,125,62,0,1490,300,1,0,0,0,1491,1492,3,95,47,0,1492,1493,3,133,66,0,1493,1494,3,91,45,0,1494,1495,3,109,54,0,1495,1496,3,127,63,0,1496,1497,3,93,46,0,1497,1498,3,95,47,0,1498,302,1,0,0,0,1499,1500,3,95,47,0,1500,1501,3,133,66,0,1501,1502,3,91,45,0,1502,1503,3,109,54,0,1503,1504,3,127,63,0,1504,1505,3,123,61,0,1505,1506,3,103,51,0,1506,1507,3,115,57,0,1507,1508,3,113,56,0,1508,304,1,0,0,0,1509,1510,3,95,47,0,1510,1511,3,133,66,0,1511,1512,3,91,45,0,1512,1513,3,109,54,0,1513,1514,3,127,63,0,1514,1515,3,123,61,0,1515,1516,3,103,51,0,1516,1517,3,129,64,0,1517,1518,3,95,47,0,1518,306,1,0,0,0,1519,1520,3,95,47,0,1520,1521,3,133,66,0,1521,1522,3,103,51,0,1522,1523,3,123,61,0,1523,1524,3,125,62,0,1524,1525,3,123,61,0,1525,308,1,0,0,0,1526,1527,3,95,47,0,1527,1528,3,133,66,0,1528,1529,3,117,58,0,1529,1530,3,109,54,0,1530,1531,3,87,43,0,1531,1532,3,103,51,0,1532,1533,3,113,56,0,1533,310,1,0,0,0,1534,1535,3,95,47,0,1535,1536,3,133,66,0,1536,1537,3,117,58,0,1537,1538,3,115,57,0,1538,1539,3,121,60,0,1539,1540,3,125,62,0,1540,312,1,0,0,0,1541,1542,3,95,47,0,1542,1543,3,133,66,0,1543,1544,3,125,62,0,1544,1545,3,95,47,0,1545,1546,3,121,60,0,1546,1547,3,113,56,0,1547,1548,3,87,43,0,1548,1549,3,109,54,0,1549,314,1,0,0,0,1550,1551,3,97,48,0,1551,1552,3,87,43,0,1552,1553,3,103,51,0,1553,1554,3,109,54,0,1554,316,1,0,0,0,1555,1556,3,97,48,0,1556,1557,3,87,43,0,1557,1558,3,109,54,0,1558,1559,3,123,61,0,1559,1560,3,95,47,0,1560,318,1,0,0,0,1561,1562,3,97,48,0,1562,1563,3,87,43,0,1563,1564,3,111,55,0,1564,1565,3,103,51,0,1565,1566,3,109,54,0,1566,1567,3,135,67,0,1567,320,1,0,0,0,1568,1569,3,97,48,0,1569,1570,3,103,51,0,1570,1571,3,109,54,0,1571,1572,3,125,62,0,1572,1573,3,95,47,0,1573,1574,3,121,60,0,1574,322,1,0,0,0,1575,1576,3,97,48,0,1576,1577,3,103,51,0,1577,1578,3,121,60,0,1578,1579,3,123,61,0,1579,1580,3,125,62,0,1580,324,1,0,0,0,1581,1582,3,97,48,0,1582,1583,3,109,54,0,1583,1584,3,87,43,0,1584,1585,3,125,62,0,1585,1586,3,125,62,0,1586,1587,3,95,47,0,1587,1588,3,113,56,0,1588,326,1,0,0,0,1589,1590,3,97,48,0,1590,1591,3,109,54,0,1591,1592,3,115,57,0,1592,1593,3,131,65,0,1593,328,1,0,0,0,1594,1595,3,97,48,0,1595,1596,3,115,57,0,1596,1597,3,109,54,0,1597,1598,3,109,54,0,1598,1599,3,115,57,0,1599,1600,3,131,65,0,1600,1601,3,103,51,0,1601,1602,3,113,56,0,1602,1603,3,99,49,0,1603,330,1,0,0,0,1604,1605,3,97,48,0,1605,1606,3,115,57,0,1606,1607,3,121,60,0,1607,332,1,0,0,0,1608,1609,3,97,48,0,1609,1610,3,115,57,0,1610,1611,3,121,60,0,1611,1612,3,95,47,0,1612,1613,3,103,51,0,1613,1614,3,99,49,0,1614,1615,3,113,56,0,1615,334,1,0,0,0,1616,1617,3,97,48,0,1617,1618,3,121,60,0,1618,1619,3,115,57,0,1619,1620,3,111,55,0,1620,336,1,0,0,0,1621,1622,3,97,48,0,1622,1623,3,127,63,0,1623,1624,3,109,54,0,1624,1625,3,109,54,0,1625,338,1,0,0,0,1626,1627,3,97,48,0,1627,1628,3,127,63,0,1628,1629,3,113,56,0,1629,1630,3,91,45,0,1630,1631,3,125,62,0,1631,1632,3,103,51,0,1632,1633,3,115,57,0,1633,1634,3,113,56,0,1634,340,1,0,0,0,1635,1636,3,99,49,0,1636,1637,3,109,54,0,1637,1638,3,115,57,0,1638,1639,3,89,44,0,1639,342,1,0,0,0,1640,1641,3,99,49,0,1641,1642,3,109,54,0,1642,1643,3,115,57,0,1643,1644,3,89,44,0,1644,1645,3,87,43,0,1645,1646,3,109,54,0,1646,344,1,0,0,0,1647,1648,3,99,49,0,1648,1649,3,121,60,0,1649,1650,3,87,43,0,1650,1651,3,113,56,0,1651,1652,3,125,62,0,1652,346,1,0,0,0,1653,1654,3,99,49,0,1654,1655,3,121,60,0,1655,1656,3,115,57,0,1656,1657,3,127,63,0,1657,1658,3,117,58,0,1658,348,1,0,0,0,1659,1660,3,99,49,0,1660,1661,3,121,60,0,1661,1662,3,115,57,0,1662,1663,3,127,63,0,1663,1664,3,117,58,0,1664,1665,3,103,51,0,1665,1666,3,113,56,0,1666,1667,3,99,49,0,1667,350,1,0,0,0,1668,1669,3,99,49,0,1669,1670,3,121,60,0,1670,1671,3,115,57,0,1671,1672,3,127,63,0,1672,1673,3,117,58,0,1673,1674,3,123,61,0,1674,352,1,0,0,0,1675,1676,3,101,50,0,1676,1677,3,87,43,0,1677,1678,3,123,61,0,1678,1679,3,101,50,0,1679,354,1,0,0,0,1680,1681,3,101,50,0,1681,1682,3,87,43,0,1682,1683,3,129,64,0,1683,1684,3,103,51,0,1684,1685,3,113,56,0,1685,1686,3,99,49,0,1686,356,1,0,0,0,1687,1688,3,101,50,0,1688,1689,3,115,57,0,1689,1690,3,117,58,0,1690,358,1,0,0,0,1691,1692,3,103,51,0,1692,1693,3,97,48,0,1693,360,1,0,0,0,1694,1695,3,103,51,0,1695,1696,3,99,49,0,1696,1697,3,113,56,0,1697,1698,3,115,57,0,1698,1699,3,121,60,0,1699,1700,3,95,47,0,1700,362,1,0,0,0,1701,1702,3,103,51,0,1702,1703,3,109,54,0,1703,1704,3,103,51,0,1704,1705,3,107,53,0,1705,1706,3,95,47,0,1706,364,1,0,0,0,1707,1708,3,103,51,0,1708,1709,3,111,55,0,1709,1710,3,111,55,0,1710,1711,3,95,47,0,1711,1712,3,93,46,0,1712,1713,3,103,51,0,1713,1714,3,87,43,0,1714,1715,3,125,62,0,1715,1716,3,95,47,0,1716,366,1,0,0,0,1717,1718,3,103,51,0,1718,1719,3,111,55,0,1719,1720,3,117,58,0,1720,1721,3,115,57,0,1721,1722,3,121,60,0,1722,1723,3,125,62,0,1723,368,1,0,0,0,1724,1725,3,103,51,0,1725,1726,3,113,56,0,1726,370,1,0,0,0,1727,1728,3,103,51,0,1728,1729,3,113,56,0,1729,1730,3,93,46,0,1730,1731,3,95,47,0,1731,1732,3,133,66,0,1732,372,1,0,0,0,1733,1734,3,103,51,0,1734,1735,3,113,56,0,1735,1736,3,93,46,0,1736,1737,3,95,47,0,1737,1738,3,133,66,0,1738,1739,3,95,47,0,1739,1740,3,93,46,0,1740,374,1,0,0,0,1741,1742,3,103,51,0,1742,1743,3,113,56,0,1743,1744,3,101,50,0,1744,1745,3,95,47,0,1745,1746,3,121,60,0,1746,1747,3,103,51,0,1747,1748,3,125,62,0,1748,1749,3,123,61,0,1749,376,1,0,0,0,1750,1751,3,103,51,0,1751,1752,3,113,56,0,1752,1753,3,103,51,0,1753,1754,3,125,62,0,1754,1755,3,103,51,0,1755,1756,3,87,43,0,1756,1757,3,109,54,0,1757,378,1,0,0,0,1758,1759,3,103,51,0,1759,1760,3,113,56,0,1760,1761,3,103,51,0,1761,1762,3,125,62,0,1762,1763,3,103,51,0,1763,1764,3,87,43,0,1764,1765,3,109,54,0,1765,1766,3,109,54,0,1766,1767,3,135,67,0,1767,380,1,0,0,0,1768,1769,3,103,51,0,1769,1770,3,113,56,0,1770,1771,3,113,56,0,1771,1772,3,95,47,0,1772,1773,3,121,60,0,1773,382,1,0,0,0,1774,1775,3,103,51,0,1775,1776,3,113,56,0,1776,1777,3,123,61,0,1777,1778,3,95,47,0,1778,1779,3,121,60,0,1779,1780,3,125,62,0,1780,384,1,0,0,0,1781,1782,3,103,51,0,1782,1783,3,113,56,0,1783,1784,3,123,61,0,1784,1785,3,125,62,0,1785,1786,3,95,47,0,1786,1787,3,87,43,0,1787,1788,3,93,46,0,1788,386,1,0,0,0,1789,1790,3,103,51,0,1790,1791,3,113,56,0,1791,1792,3,125,62,0,1792,1793,3,95,47,0,1793,1794,3,121,60,0,1794,1795,3,123,61,0,1795,1796,3,95,47,0,1796,1797,3,91,45,0,1797,1798,3,125,62,0,1798,388,1,0,0,0,1799,1800,3,103,51,0,1800,1801,3,113,56,0,1801,1802,3,125,62,0,1802,1803,3,115,57,0,1803,390,1,0,0,0,1804,1805,3,103,51,0,1805,1806,3,123,61,0,1806,392,1,0,0,0,1807,1808,3,103,51,0,1808,1809,3,123,61,0,1809,1810,3,113,56,0,1810,1811,3,127,63,0,1811,1812,3,109,54,0,1812,1813,3,109,54,0,1813,394,1,0,0,0,1814,1815,3,105,52,0,1815,1816,3,115,57,0,1816,1817,3,103,51,0,1817,1818,3,113,56,0,1818,396,1,0,0,0,1819,1820,3,105,52,0,1820,1821,3,123,61,0,1821,1822,3,115,57,0,1822,1823,3,113,56,0,1823,1824,5,95,0,0,1824,1825,3,95,47,0,1825,1826,3,133,66,0,1826,1827,3,103,51,0,1827,1828,3,123,61,0,1828,1829,3,125,62,0,1829,1830,3,123,61,0,1830,398,1,0,0,0,1831,1832,3,105,52,0,1832,1833,3,123,61,0,1833,1834,3,115,57,0,1834,1835,3,113,56,0,1835,1836,5,95,0,0,1836,1837,3,119,59,0,1837,1838,3,127,63,0,1838,1839,3,95,47,0,1839,1840,3,121,60,0,1840,1841,3,135,67,0,1841,400,1,0,0,0,1842,1843,3,105,52,0,1843,1844,3,123,61,0,1844,1845,3,115,57,0,1845,1846,3,113,56,0,1846,1847,5,95,0,0,1847,1848,3,129,64,0,1848,1849,3,87,43,0,1849,1850,3,109,54,0,1850,1851,3,127,63,0,1851,1852,3,95,47,0,1852,402,1,0,0,0,1853,1854,3,107,53,0,1854,1855,3,95,47,0,1855,1856,3,135,67,0,1856,404,1,0,0,0,1857,1858,3,109,54,0,1858,1859,3,87,43,0,1859,1860,3,123,61,0,1860,1861,3,125,62,0,1861,406,1,0,0,0,1862,1863,3,109,54,0,1863,1864,3,95,47,0,1864,1865,3,97,48,0,1865,1866,3,125,62,0,1866,408,1,0,0,0,1867,1868,3,109,54,0,1868,1869,3,95,47,0,1869,1870,3,99,49,0,1870,1871,3,87,43,0,1871,1872,3,91,45,0,1872,1873,3,135,67,0,1873,410,1,0,0,0,1874,1875,3,109,54,0,1875,1876,3,103,51,0,1876,1877,3,107,53,0,1877,1878,3,95,47,0,1878,412,1,0,0,0,1879,1880,3,109,54,0,1880,1881,3,103,51,0,1881,1882,3,111,55,0,1882,1883,3,103,51,0,1883,1884,3,125,62,0,1884,414,1,0,0,0,1885,1886,3,109,54,0,1886,1887,3,103,51,0,1887,1888,3,123,61,0,1888,1889,3,125,62,0,1889,416,1,0,0,0,1890,1891,3,109,54,0,1891,1892,3,115,57,0,1892,1893,3,91,45,0,1893,1894,3,87,43,0,1894,1895,3,109,54,0,1895,418,1,0,0,0,1896,1897,3,111,55,0,1897,1898,3,87,43,0,1898,1899,3,113,56,0,1899,1900,3,87,43,0,1900,1901,3,99,49,0,1901,1902,3,95,47,0,1902,420,1,0,0,0,1903,1904,3,111,55,0,1904,1905,3,87,43,0,1905,1906,3,125,62,0,1906,1907,3,91,45,0,1907,1908,3,101,50,0,1908,422,1,0,0,0,1909,1910,3,111,55,0,1910,1911,3,87,43,0,1911,1912,3,125,62,0,1912,1913,3,91,45,0,1913,1914,3,101,50,0,1914,1915,3,95,47,0,1915,1916,3,123,61,0,1916,424,1,0,0,0,1917,1918,3,111,55,0,1918,1919,3,87,43,0,1919,1920,3,125,62,0,1920,1921,3,91,45,0,1921,1922,3,101,50,0,1922,1923,5,95,0,0,1923,1924,3,121,60,0,1924,1925,3,95,47,0,1925,1926,3,91,45,0,1926,1927,3,115,57,0,1927,1928,3,99,49,0,1928,1929,3,113,56,0,1929,1930,3,103,51,0,1930,1931,3,137,68,0,1931,1932,3,95,47,0,1932,426,1,0,0,0,1933,1934,3,111,55,0,1934,1935,3,95,47,0,1935,1936,3,87,43,0,1936,1937,3,123,61,0,1937,1938,3,127,63,0,1938,1939,3,121,60,0,1939,1940,3,95,47,0,1940,1941,3,123,61,0,1941,428,1,0,0,0,1942,1943,3,111,55,0,1943,1944,3,103,51,0,1944,1945,3,91,45,0,1945,1946,3,121,60,0,1946,1947,3,115,57,0,1947,1948,3,123,61,0,1948,1949,3,95,47,0,1949,1950,3,91,45,0,1950,1951,3,115,57,0,1951,1952,3,113,56,0,1952,1953,3,93,46,0,1953,1954,3,123,61,0,1954,430,1,0,0,0,1955,1956,3,111,55,0,1956,1957,3,103,51,0,1957,1958,3,109,54,0,1958,1959,3,109,54,0,1959,1960,3,103,51,0,1960,1961,3,123,61,0,1961,1962,3,95,47,0,1962,1963,3,91,45,0,1963,1964,3,115,57,0,1964,1965,3,113,56,0,1965,1966,3,93,46,0,1966,1967,3,123,61,0,1967,432,1,0,0,0,1968,1969,3,111,55,0,1969,1970,3,115,57,0,1970,1971,3,93,46,0,1971,1972,3,103,51,0,1972,1973,3,97,48,0,1973,1974,3,135,67,0,1974,434,1,0,0,0,1975,1976,3,113,56,0,1976,1977,3,87,43,0,1977,1978,3,113,56,0,1978,1979,3,115,57,0,1979,1980,3,123,61,0,1980,1981,3,95,47,0,1981,1982,3,91,45,0,1982,1983,3,115,57,0,1983,1984,3,113,56,0,1984,1985,3,93,46,0,1985,1986,3,123,61,0,1986,436,1,0,0,0,1987,1988,3,113,56,0,1988,1989,3,87,43,0,1989,1990,3,125,62,0,1990,1991,3,127,63,0,1991,1992,3,121,60,0,1992,1993,3,87,43,0,1993,1994,3,109,54,0,1994,438,1,0,0,0,1995,1996,3,113,56,0,1996,1997,3,95,47,0,1997,1998,3,133,66,0,1998,1999,3,125,62,0,1999,440,1,0,0,0,2e3,2001,3,113,56,0,2001,2002,3,115,57,0,2002,442,1,0,0,0,2003,2004,3,113,56,0,2004,2005,3,115,57,0,2005,2006,3,125,62,0,2006,444,1,0,0,0,2007,2008,3,113,56,0,2008,2009,3,115,57,0,2009,2010,3,125,62,0,2010,2011,3,113,56,0,2011,2012,3,127,63,0,2012,2013,3,109,54,0,2013,2014,3,109,54,0,2014,446,1,0,0,0,2015,2016,3,113,56,0,2016,2017,3,127,63,0,2017,2018,3,109,54,0,2018,2019,3,109,54,0,2019,448,1,0,0,0,2020,2021,3,113,56,0,2021,2022,3,127,63,0,2022,2023,3,109,54,0,2023,2024,3,109,54,0,2024,2025,3,123,61,0,2025,450,1,0,0,0,2026,2027,3,115,57,0,2027,2028,3,89,44,0,2028,2029,3,105,52,0,2029,2030,3,95,47,0,2030,2031,3,91,45,0,2031,2032,3,125,62,0,2032,452,1,0,0,0,2033,2034,3,115,57,0,2034,2035,3,97,48,0,2035,454,1,0,0,0,2036,2037,3,115,57,0,2037,2038,3,97,48,0,2038,2039,3,97,48,0,2039,2040,3,123,61,0,2040,2041,3,95,47,0,2041,2042,3,125,62,0,2042,456,1,0,0,0,2043,2044,3,115,57,0,2044,2045,3,111,55,0,2045,2046,3,103,51,0,2046,2047,3,125,62,0,2047,458,1,0,0,0,2048,2049,3,115,57,0,2049,2050,3,113,56,0,2050,460,1,0,0,0,2051,2052,3,115,57,0,2052,2053,3,113,56,0,2053,2054,3,95,47,0,2054,462,1,0,0,0,2055,2056,3,115,57,0,2056,2057,3,113,56,0,2057,2058,3,109,54,0,2058,2059,3,135,67,0,2059,464,1,0,0,0,2060,2061,3,115,57,0,2061,2062,3,117,58,0,2062,2063,3,125,62,0,2063,2064,3,103,51,0,2064,2065,3,115,57,0,2065,2066,3,113,56,0,2066,466,1,0,0,0,2067,2068,3,115,57,0,2068,2069,3,117,58,0,2069,2070,3,125,62,0,2070,2071,3,103,51,0,2071,2072,3,115,57,0,2072,2073,3,113,56,0,2073,2074,3,87,43,0,2074,2075,3,109,54,0,2075,468,1,0,0,0,2076,2077,3,115,57,0,2077,2078,3,121,60,0,2078,470,1,0,0,0,2079,2080,3,115,57,0,2080,2081,3,121,60,0,2081,2082,3,93,46,0,2082,2083,3,95,47,0,2083,2084,3,121,60,0,2084,472,1,0,0,0,2085,2086,3,115,57,0,2086,2087,3,125,62,0,2087,2088,3,101,50,0,2088,2089,3,95,47,0,2089,2090,3,121,60,0,2090,2091,3,123,61,0,2091,474,1,0,0,0,2092,2093,3,115,57,0,2093,2094,3,127,63,0,2094,2095,3,125,62,0,2095,2096,3,95,47,0,2096,2097,3,121,60,0,2097,476,1,0,0,0,2098,2099,3,115,57,0,2099,2100,3,129,64,0,2100,2101,3,95,47,0,2101,2102,3,121,60,0,2102,478,1,0,0,0,2103,2104,3,117,58,0,2104,2105,3,87,43,0,2105,2106,3,121,60,0,2106,2107,3,87,43,0,2107,2108,3,109,54,0,2108,2109,3,109,54,0,2109,2110,3,95,47,0,2110,2111,3,109,54,0,2111,480,1,0,0,0,2112,2113,3,117,58,0,2113,2114,3,87,43,0,2114,2115,3,121,60,0,2115,2116,3,125,62,0,2116,2117,3,103,51,0,2117,2118,3,125,62,0,2118,2119,3,103,51,0,2119,2120,3,115,57,0,2120,2121,3,113,56,0,2121,482,1,0,0,0,2122,2123,3,117,58,0,2123,2124,3,87,43,0,2124,2125,3,123,61,0,2125,2126,3,123,61,0,2126,2127,3,103,51,0,2127,2128,3,113,56,0,2128,2129,3,99,49,0,2129,484,1,0,0,0,2130,2131,3,117,58,0,2131,2132,3,87,43,0,2132,2133,3,123,61,0,2133,2134,3,123,61,0,2134,2135,3,131,65,0,2135,2136,3,115,57,0,2136,2137,3,121,60,0,2137,2138,3,93,46,0,2138,486,1,0,0,0,2139,2140,3,117,58,0,2140,2141,3,87,43,0,2141,2142,3,123,61,0,2142,2143,3,125,62,0,2143,488,1,0,0,0,2144,2145,3,117,58,0,2145,2146,3,87,43,0,2146,2147,3,125,62,0,2147,2148,3,125,62,0,2148,2149,3,95,47,0,2149,2150,3,121,60,0,2150,2151,3,113,56,0,2151,490,1,0,0,0,2152,2153,3,117,58,0,2153,2154,3,95,47,0,2154,2155,3,121,60,0,2155,492,1,0,0,0,2156,2157,3,117,58,0,2157,2158,3,95,47,0,2158,2159,3,121,60,0,2159,2160,3,111,55,0,2160,2161,3,127,63,0,2161,2162,3,125,62,0,2162,2163,3,95,47,0,2163,494,1,0,0,0,2164,2165,3,117,58,0,2165,2166,3,109,54,0,2166,2167,3,87,43,0,2167,2168,3,113,56,0,2168,496,1,0,0,0,2169,2170,3,117,58,0,2170,2171,3,121,60,0,2171,2172,3,87,43,0,2172,2173,3,99,49,0,2173,2174,3,111,55,0,2174,2175,3,87,43,0,2175,498,1,0,0,0,2176,2177,3,117,58,0,2177,2178,3,121,60,0,2178,2179,3,95,47,0,2179,2180,3,91,45,0,2180,2181,3,95,47,0,2181,2182,3,93,46,0,2182,2183,3,103,51,0,2183,2184,3,113,56,0,2184,2185,3,99,49,0,2185,500,1,0,0,0,2186,2187,3,117,58,0,2187,2188,3,121,60,0,2188,2189,3,95,47,0,2189,2190,3,123,61,0,2190,2191,3,115,57,0,2191,2192,3,121,60,0,2192,2193,3,125,62,0,2193,502,1,0,0,0,2194,2195,3,117,58,0,2195,2196,3,121,60,0,2196,2197,3,103,51,0,2197,2198,3,111,55,0,2198,2199,3,87,43,0,2199,2200,3,121,60,0,2200,2201,3,135,67,0,2201,504,1,0,0,0,2202,2203,3,117,58,0,2203,2204,3,121,60,0,2204,2205,3,103,51,0,2205,2206,3,129,64,0,2206,2207,3,103,51,0,2207,2208,3,109,54,0,2208,2209,3,95,47,0,2209,2210,3,99,49,0,2210,2211,3,95,47,0,2211,2212,3,123,61,0,2212,506,1,0,0,0,2213,2214,3,117,58,0,2214,2215,3,121,60,0,2215,2216,3,115,57,0,2216,2217,3,91,45,0,2217,2218,3,95,47,0,2218,2219,3,123,61,0,2219,2220,3,123,61,0,2220,508,1,0,0,0,2221,2222,3,119,59,0,2222,2223,3,127,63,0,2223,2224,3,95,47,0,2224,2225,3,127,63,0,2225,2226,3,95,47,0,2226,510,1,0,0,0,2227,2228,3,121,60,0,2228,2229,3,87,43,0,2229,2230,3,103,51,0,2230,2231,3,123,61,0,2231,2232,3,95,47,0,2232,512,1,0,0,0,2233,2234,3,121,60,0,2234,2235,3,87,43,0,2235,2236,3,113,56,0,2236,2237,3,99,49,0,2237,2238,3,95,47,0,2238,514,1,0,0,0,2239,2240,3,121,60,0,2240,2241,3,95,47,0,2241,2242,3,93,46,0,2242,2243,3,127,63,0,2243,2244,3,91,45,0,2244,2245,3,95,47,0,2245,516,1,0,0,0,2246,2247,3,121,60,0,2247,2248,3,95,47,0,2248,2249,3,97,48,0,2249,2250,3,95,47,0,2250,2251,3,121,60,0,2251,2252,3,95,47,0,2252,2253,3,113,56,0,2253,2254,3,91,45,0,2254,2255,3,95,47,0,2255,2256,3,123,61,0,2256,518,1,0,0,0,2257,2258,3,121,60,0,2258,2259,3,95,47,0,2259,2260,3,99,49,0,2260,2261,3,95,47,0,2261,2262,3,133,66,0,2262,2263,3,117,58,0,2263,520,1,0,0,0,2264,2265,3,121,60,0,2265,2266,3,95,47,0,2266,2267,3,103,51,0,2267,2268,3,113,56,0,2268,2269,3,93,46,0,2269,2270,3,95,47,0,2270,2271,3,133,66,0,2271,522,1,0,0,0,2272,2273,3,121,60,0,2273,2274,3,95,47,0,2274,2275,3,109,54,0,2275,2276,3,95,47,0,2276,2277,3,87,43,0,2277,2278,3,123,61,0,2278,2279,3,95,47,0,2279,524,1,0,0,0,2280,2281,3,121,60,0,2281,2282,3,95,47,0,2282,2283,3,111,55,0,2283,2284,3,115,57,0,2284,2285,3,129,64,0,2285,2286,3,95,47,0,2286,526,1,0,0,0,2287,2288,3,121,60,0,2288,2289,3,95,47,0,2289,2290,3,113,56,0,2290,2291,3,87,43,0,2291,2292,3,111,55,0,2292,2293,3,95,47,0,2293,528,1,0,0,0,2294,2295,3,121,60,0,2295,2296,3,95,47,0,2296,2297,3,117,58,0,2297,2298,3,95,47,0,2298,2299,3,87,43,0,2299,2300,3,125,62,0,2300,2301,3,87,43,0,2301,2302,3,89,44,0,2302,2303,3,109,54,0,2303,2304,3,95,47,0,2304,530,1,0,0,0,2305,2306,3,121,60,0,2306,2307,3,95,47,0,2307,2308,3,117,58,0,2308,2309,3,109,54,0,2309,2310,3,87,43,0,2310,2311,3,91,45,0,2311,2312,3,95,47,0,2312,532,1,0,0,0,2313,2314,3,121,60,0,2314,2315,3,95,47,0,2315,2316,3,117,58,0,2316,2317,3,109,54,0,2317,2318,3,103,51,0,2318,2319,3,91,45,0,2319,2320,3,87,43,0,2320,2321,3,125,62,0,2321,2322,3,103,51,0,2322,2323,3,115,57,0,2323,2324,3,113,56,0,2324,534,1,0,0,0,2325,2326,3,121,60,0,2326,2327,3,95,47,0,2327,2328,3,123,61,0,2328,2329,3,95,47,0,2329,2330,3,125,62,0,2330,536,1,0,0,0,2331,2332,3,121,60,0,2332,2333,3,95,47,0,2333,2334,3,123,61,0,2334,2335,3,115,57,0,2335,2336,3,127,63,0,2336,2337,3,121,60,0,2337,2338,3,91,45,0,2338,2339,3,95,47,0,2339,538,1,0,0,0,2340,2341,3,121,60,0,2341,2342,3,95,47,0,2342,2343,3,123,61,0,2343,2344,3,117,58,0,2344,2345,3,95,47,0,2345,2346,3,91,45,0,2346,2347,3,125,62,0,2347,540,1,0,0,0,2348,2349,3,121,60,0,2349,2350,3,95,47,0,2350,2351,3,123,61,0,2351,2352,3,125,62,0,2352,2353,3,121,60,0,2353,2354,3,103,51,0,2354,2355,3,91,45,0,2355,2356,3,125,62,0,2356,542,1,0,0,0,2357,2358,3,121,60,0,2358,2359,3,95,47,0,2359,2360,3,123,61,0,2360,2361,3,127,63,0,2361,2362,3,109,54,0,2362,2363,3,125,62,0,2363,544,1,0,0,0,2364,2365,3,121,60,0,2365,2366,3,95,47,0,2366,2367,3,125,62,0,2367,2368,3,127,63,0,2368,2369,3,121,60,0,2369,2370,3,113,56,0,2370,546,1,0,0,0,2371,2372,3,121,60,0,2372,2373,3,95,47,0,2373,2374,3,125,62,0,2374,2375,3,127,63,0,2375,2376,3,121,60,0,2376,2377,3,113,56,0,2377,2378,3,103,51,0,2378,2379,3,113,56,0,2379,2380,3,99,49,0,2380,548,1,0,0,0,2381,2382,3,121,60,0,2382,2383,3,95,47,0,2383,2384,3,129,64,0,2384,2385,3,95,47,0,2385,2386,3,121,60,0,2386,2387,3,125,62,0,2387,550,1,0,0,0,2388,2389,3,121,60,0,2389,2390,3,95,47,0,2390,2391,3,129,64,0,2391,2392,3,115,57,0,2392,2393,3,107,53,0,2393,2394,3,95,47,0,2394,552,1,0,0,0,2395,2396,3,121,60,0,2396,2397,3,103,51,0,2397,2398,3,99,49,0,2398,2399,3,101,50,0,2399,2400,3,125,62,0,2400,554,1,0,0,0,2401,2402,3,121,60,0,2402,2403,3,109,54,0,2403,2404,3,103,51,0,2404,2405,3,107,53,0,2405,2406,3,95,47,0,2406,556,1,0,0,0,2407,2408,3,121,60,0,2408,2409,3,115,57,0,2409,2410,3,109,54,0,2410,2411,3,109,54,0,2411,2412,3,89,44,0,2412,2413,3,87,43,0,2413,2414,3,91,45,0,2414,2415,3,107,53,0,2415,558,1,0,0,0,2416,2417,3,121,60,0,2417,2418,3,115,57,0,2418,2419,3,109,54,0,2419,2420,3,109,54,0,2420,2421,3,127,63,0,2421,2422,3,117,58,0,2422,560,1,0,0,0,2423,2424,3,121,60,0,2424,2425,3,115,57,0,2425,2426,3,131,65,0,2426,562,1,0,0,0,2427,2428,3,121,60,0,2428,2429,3,115,57,0,2429,2430,3,131,65,0,2430,2431,3,123,61,0,2431,564,1,0,0,0,2432,2433,3,123,61,0,2433,2434,3,87,43,0,2434,2435,3,111,55,0,2435,2436,3,117,58,0,2436,2437,3,109,54,0,2437,2438,3,95,47,0,2438,566,1,0,0,0,2439,2440,3,123,61,0,2440,2441,3,87,43,0,2441,2442,3,129,64,0,2442,2443,3,95,47,0,2443,2444,3,117,58,0,2444,2445,3,115,57,0,2445,2446,3,103,51,0,2446,2447,3,113,56,0,2447,2448,3,125,62,0,2448,568,1,0,0,0,2449,2450,3,123,61,0,2450,2451,3,91,45,0,2451,2452,3,101,50,0,2452,2453,3,95,47,0,2453,2454,3,111,55,0,2454,2455,3,87,43,0,2455,570,1,0,0,0,2456,2457,3,123,61,0,2457,2458,3,95,47,0,2458,2459,3,91,45,0,2459,2460,3,115,57,0,2460,2461,3,113,56,0,2461,2462,3,93,46,0,2462,2463,3,123,61,0,2463,572,1,0,0,0,2464,2465,3,123,61,0,2465,2466,3,95,47,0,2466,2467,3,95,47,0,2467,2468,3,107,53,0,2468,574,1,0,0,0,2469,2470,3,123,61,0,2470,2471,3,95,47,0,2471,2472,3,109,54,0,2472,2473,3,95,47,0,2473,2474,3,91,45,0,2474,2475,3,125,62,0,2475,576,1,0,0,0,2476,2477,3,123,61,0,2477,2478,3,95,47,0,2478,2479,3,111,55,0,2479,2480,3,103,51,0,2480,578,1,0,0,0,2481,2482,3,123,61,0,2482,2483,3,95,47,0,2483,2484,3,125,62,0,2484,580,1,0,0,0,2485,2486,3,123,61,0,2486,2487,3,95,47,0,2487,2488,3,125,62,0,2488,2489,3,123,61,0,2489,582,1,0,0,0,2490,2491,3,123,61,0,2491,2492,3,101,50,0,2492,2493,3,115,57,0,2493,2494,3,131,65,0,2494,584,1,0,0,0,2495,2496,3,123,61,0,2496,2497,3,107,53,0,2497,2498,3,103,51,0,2498,2499,3,117,58,0,2499,586,1,0,0,0,2500,2501,3,123,61,0,2501,2502,3,115,57,0,2502,2503,3,127,63,0,2503,2504,3,121,60,0,2504,2505,3,91,45,0,2505,2506,3,95,47,0,2506,588,1,0,0,0,2507,2508,3,123,61,0,2508,2509,3,125,62,0,2509,2510,3,121,60,0,2510,2511,3,95,47,0,2511,2512,3,87,43,0,2512,2513,3,111,55,0,2513,590,1,0,0,0,2514,2515,3,123,61,0,2515,2516,3,125,62,0,2516,2517,3,121,60,0,2517,2518,3,127,63,0,2518,2519,3,91,45,0,2519,2520,3,125,62,0,2520,592,1,0,0,0,2521,2522,3,123,61,0,2522,2523,3,127,63,0,2523,2524,3,89,44,0,2524,2525,3,119,59,0,2525,2526,3,127,63,0,2526,2527,3,95,47,0,2527,2528,3,121,60,0,2528,2529,3,135,67,0,2529,594,1,0,0,0,2530,2531,3,123,61,0,2531,2532,3,127,63,0,2532,2533,3,89,44,0,2533,2534,3,123,61,0,2534,2535,3,95,47,0,2535,2536,3,125,62,0,2536,596,1,0,0,0,2537,2538,3,123,61,0,2538,2539,3,135,67,0,2539,2540,3,111,55,0,2540,2541,3,89,44,0,2541,2542,3,115,57,0,2542,2543,3,109,54,0,2543,2544,3,123,61,0,2544,598,1,0,0,0,2545,2546,3,123,61,0,2546,2547,3,135,67,0,2547,2548,3,111,55,0,2548,2549,3,111,55,0,2549,2550,3,95,47,0,2550,2551,3,125,62,0,2551,2552,3,121,60,0,2552,2553,3,103,51,0,2553,2554,3,91,45,0,2554,600,1,0,0,0,2555,2556,3,123,61,0,2556,2557,3,135,67,0,2557,2558,3,113,56,0,2558,2559,3,91,45,0,2559,602,1,0,0,0,2560,2561,3,123,61,0,2561,2562,3,135,67,0,2562,2563,3,123,61,0,2563,2564,3,125,62,0,2564,2565,3,95,47,0,2565,2566,3,111,55,0,2566,604,1,0,0,0,2567,2568,3,125,62,0,2568,2569,3,87,43,0,2569,2570,3,89,44,0,2570,2571,3,109,54,0,2571,2572,3,95,47,0,2572,606,1,0,0,0,2573,2574,3,125,62,0,2574,2575,3,87,43,0,2575,2576,3,89,44,0,2576,2577,3,109,54,0,2577,2578,3,95,47,0,2578,2579,3,123,61,0,2579,608,1,0,0,0,2580,2581,3,125,62,0,2581,2582,3,87,43,0,2582,2583,3,89,44,0,2583,2584,3,109,54,0,2584,2585,3,95,47,0,2585,2586,3,123,61,0,2586,2587,3,87,43,0,2587,2588,3,111,55,0,2588,2589,3,117,58,0,2589,2590,3,109,54,0,2590,2591,3,95,47,0,2591,610,1,0,0,0,2592,2593,3,125,62,0,2593,2594,3,87,43,0,2594,2595,3,89,44,0,2595,2596,3,109,54,0,2596,2597,3,95,47,0,2597,2598,3,123,61,0,2598,2599,3,125,62,0,2599,2600,3,115,57,0,2600,2601,3,121,60,0,2601,2602,3,95,47,0,2602,612,1,0,0,0,2603,2604,3,125,62,0,2604,2605,3,87,43,0,2605,2606,3,99,49,0,2606,2607,3,99,49,0,2607,2608,3,95,47,0,2608,2609,3,93,46,0,2609,614,1,0,0,0,2610,2611,3,125,62,0,2611,2612,3,95,47,0,2612,2613,3,111,55,0,2613,2614,3,117,58,0,2614,616,1,0,0,0,2615,2616,3,125,62,0,2616,2617,3,95,47,0,2617,2618,3,111,55,0,2618,2619,3,117,58,0,2619,2620,3,115,57,0,2620,2621,3,121,60,0,2621,2622,3,87,43,0,2622,2623,3,121,60,0,2623,2624,3,135,67,0,2624,618,1,0,0,0,2625,2626,3,125,62,0,2626,2627,3,101,50,0,2627,2628,3,95,47,0,2628,2629,3,113,56,0,2629,620,1,0,0,0,2630,2631,3,125,62,0,2631,2632,3,103,51,0,2632,2633,3,95,47,0,2633,2634,3,123,61,0,2634,622,1,0,0,0,2635,2636,3,125,62,0,2636,2637,3,115,57,0,2637,624,1,0,0,0,2638,2639,3,125,62,0,2639,2640,3,115,57,0,2640,2641,3,117,58,0,2641,2642,3,103,51,0,2642,2643,3,91,45,0,2643,626,1,0,0,0,2644,2645,3,125,62,0,2645,2646,3,121,60,0,2646,2647,3,87,43,0,2647,2648,3,113,56,0,2648,2649,3,123,61,0,2649,2650,3,87,43,0,2650,2651,3,91,45,0,2651,2652,3,125,62,0,2652,2653,3,103,51,0,2653,2654,3,115,57,0,2654,2655,3,113,56,0,2655,628,1,0,0,0,2656,2657,3,125,62,0,2657,2658,3,121,60,0,2658,2659,3,103,51,0,2659,2660,3,99,49,0,2660,2661,3,99,49,0,2661,2662,3,95,47,0,2662,2663,3,121,60,0,2663,630,1,0,0,0,2664,2665,3,125,62,0,2665,2666,3,121,60,0,2666,2667,3,127,63,0,2667,2668,3,95,47,0,2668,632,1,0,0,0,2669,2670,3,125,62,0,2670,2671,3,127,63,0,2671,2672,3,117,58,0,2672,2673,3,109,54,0,2673,2674,3,95,47,0,2674,634,1,0,0,0,2675,2676,3,125,62,0,2676,2677,3,135,67,0,2677,2678,3,117,58,0,2678,2679,3,95,47,0,2679,636,1,0,0,0,2680,2681,3,127,63,0,2681,2682,3,113,56,0,2682,2683,3,89,44,0,2683,2684,3,115,57,0,2684,2685,3,127,63,0,2685,2686,3,113,56,0,2686,2687,3,93,46,0,2687,2688,3,95,47,0,2688,2689,3,93,46,0,2689,638,1,0,0,0,2690,2691,3,127,63,0,2691,2692,3,113,56,0,2692,2693,3,91,45,0,2693,2694,3,115,57,0,2694,2695,3,113,56,0,2695,2696,3,93,46,0,2696,2697,3,103,51,0,2697,2698,3,125,62,0,2698,2699,3,103,51,0,2699,2700,3,115,57,0,2700,2701,3,113,56,0,2701,2702,3,87,43,0,2702,2703,3,109,54,0,2703,640,1,0,0,0,2704,2705,3,127,63,0,2705,2706,3,113,56,0,2706,2707,3,103,51,0,2707,2708,3,115,57,0,2708,2709,3,113,56,0,2709,642,1,0,0,0,2710,2711,3,127,63,0,2711,2712,3,113,56,0,2712,2713,3,103,51,0,2713,2714,3,119,59,0,2714,2715,3,127,63,0,2715,2716,3,95,47,0,2716,644,1,0,0,0,2717,2718,3,127,63,0,2718,2719,3,113,56,0,2719,2720,3,107,53,0,2720,2721,3,113,56,0,2721,2722,3,115,57,0,2722,2723,3,131,65,0,2723,2724,3,113,56,0,2724,646,1,0,0,0,2725,2726,3,127,63,0,2726,2727,3,113,56,0,2727,2728,3,111,55,0,2728,2729,3,87,43,0,2729,2730,3,125,62,0,2730,2731,3,91,45,0,2731,2732,3,101,50,0,2732,2733,3,95,47,0,2733,2734,3,93,46,0,2734,648,1,0,0,0,2735,2736,3,127,63,0,2736,2737,3,117,58,0,2737,2738,3,93,46,0,2738,2739,3,87,43,0,2739,2740,3,125,62,0,2740,2741,3,95,47,0,2741,650,1,0,0,0,2742,2743,3,127,63,0,2743,2744,3,117,58,0,2744,2745,3,123,61,0,2745,2746,3,95,47,0,2746,2747,3,121,60,0,2747,2748,3,125,62,0,2748,652,1,0,0,0,2749,2750,3,127,63,0,2750,2751,3,123,61,0,2751,2752,3,95,47,0,2752,654,1,0,0,0,2753,2754,3,127,63,0,2754,2755,3,123,61,0,2755,2756,3,95,47,0,2756,2757,3,121,60,0,2757,656,1,0,0,0,2758,2759,3,127,63,0,2759,2760,3,123,61,0,2760,2761,3,103,51,0,2761,2762,3,113,56,0,2762,2763,3,99,49,0,2763,658,1,0,0,0,2764,2765,3,129,64,0,2765,2766,3,87,43,0,2766,2767,3,91,45,0,2767,2768,3,127,63,0,2768,2769,3,127,63,0,2769,2770,3,111,55,0,2770,660,1,0,0,0,2771,2772,3,129,64,0,2772,2773,3,87,43,0,2773,2774,3,109,54,0,2774,2775,3,127,63,0,2775,2776,3,95,47,0,2776,2777,3,123,61,0,2777,662,1,0,0,0,2778,2779,3,129,64,0,2779,2780,3,87,43,0,2780,2781,3,121,60,0,2781,2782,3,103,51,0,2782,2783,3,87,43,0,2783,2784,3,113,56,0,2784,2785,3,125,62,0,2785,664,1,0,0,0,2786,2787,3,129,64,0,2787,2788,3,103,51,0,2788,2789,3,95,47,0,2789,2790,3,131,65,0,2790,666,1,0,0,0,2791,2792,3,129,64,0,2792,2793,3,103,51,0,2793,2794,3,121,60,0,2794,2795,3,125,62,0,2795,2796,3,127,63,0,2796,2797,3,87,43,0,2797,2798,3,109,54,0,2798,668,1,0,0,0,2799,2800,3,131,65,0,2800,2801,3,101,50,0,2801,2802,3,95,47,0,2802,2803,3,113,56,0,2803,670,1,0,0,0,2804,2805,3,131,65,0,2805,2806,3,101,50,0,2806,2807,3,95,47,0,2807,2808,3,121,60,0,2808,2809,3,95,47,0,2809,672,1,0,0,0,2810,2811,3,131,65,0,2811,2812,3,103,51,0,2812,2813,3,113,56,0,2813,2814,3,93,46,0,2814,2815,3,115,57,0,2815,2816,3,131,65,0,2816,674,1,0,0,0,2817,2818,3,131,65,0,2818,2819,3,103,51,0,2819,2820,3,125,62,0,2820,2821,3,101,50,0,2821,676,1,0,0,0,2822,2823,3,131,65,0,2823,2824,3,103,51,0,2824,2825,3,125,62,0,2825,2826,3,101,50,0,2826,2827,3,115,57,0,2827,2828,3,127,63,0,2828,2829,3,125,62,0,2829,678,1,0,0,0,2830,2831,3,131,65,0,2831,2832,3,121,60,0,2832,2833,3,87,43,0,2833,2834,3,117,58,0,2834,2835,3,117,58,0,2835,2836,3,95,47,0,2836,2837,3,121,60,0,2837,680,1,0,0,0,2838,2839,3,133,66,0,2839,2840,3,115,57,0,2840,2841,3,121,60,0,2841,682,1,0,0,0,2842,2847,8,26,0,0,2843,2844,3,43,21,0,2844,2845,9,0,0,0,2845,2847,1,0,0,0,2846,2842,1,0,0,0,2846,2843,1,0,0,0,2847,684,1,0,0,0,2848,2853,8,27,0,0,2849,2850,3,43,21,0,2850,2851,9,0,0,0,2851,2853,1,0,0,0,2852,2848,1,0,0,0,2852,2849,1,0,0,0,2853,686,1,0,0,0,2854,2858,3,69,34,0,2855,2857,3,683,341,0,2856,2855,1,0,0,0,2857,2860,1,0,0,0,2858,2856,1,0,0,0,2858,2859,1,0,0,0,2859,2861,1,0,0,0,2860,2858,1,0,0,0,2861,2862,3,69,34,0,2862,688,1,0,0,0,2863,2867,3,67,33,0,2864,2866,3,685,342,0,2865,2864,1,0,0,0,2866,2869,1,0,0,0,2867,2865,1,0,0,0,2867,2868,1,0,0,0,2868,2870,1,0,0,0,2869,2867,1,0,0,0,2870,2871,3,67,33,0,2871,690,1,0,0,0,2872,2876,3,63,31,0,2873,2875,9,0,0,0,2874,2873,1,0,0,0,2875,2878,1,0,0,0,2876,2877,1,0,0,0,2876,2874,1,0,0,0,2877,2879,1,0,0,0,2878,2876,1,0,0,0,2879,2880,3,63,31,0,2880,2882,1,0,0,0,2881,2872,1,0,0,0,2882,2883,1,0,0,0,2883,2881,1,0,0,0,2883,2884,1,0,0,0,2884,2886,1,0,0,0,2885,2887,3,61,30,0,2886,2885,1,0,0,0,2886,2887,1,0,0,0,2887,692,1,0,0,0,2888,2892,3,687,343,0,2889,2892,3,689,344,0,2890,2892,3,691,345,0,2891,2888,1,0,0,0,2891,2889,1,0,0,0,2891,2890,1,0,0,0,2892,2903,1,0,0,0,2893,2904,3,123,61,0,2894,2904,3,127,63,0,2895,2904,3,135,67,0,2896,2904,3,105,52,0,2897,2901,3,117,58,0,2898,2902,3,125,62,0,2899,2902,3,89,44,0,2900,2902,3,129,64,0,2901,2898,1,0,0,0,2901,2899,1,0,0,0,2901,2900,1,0,0,0,2901,2902,1,0,0,0,2902,2904,1,0,0,0,2903,2893,1,0,0,0,2903,2894,1,0,0,0,2903,2895,1,0,0,0,2903,2896,1,0,0,0,2903,2897,1,0,0,0,2903,2904,1,0,0,0,2904,694,1,0,0,0,2905,2910,7,28,0,0,2906,2909,7,28,0,0,2907,2909,3,701,350,0,2908,2906,1,0,0,0,2908,2907,1,0,0,0,2909,2912,1,0,0,0,2910,2908,1,0,0,0,2910,2911,1,0,0,0,2911,696,1,0,0,0,2912,2910,1,0,0,0,2913,2914,5,96,0,0,2914,2919,5,96,0,0,2915,2916,5,92,0,0,2916,2919,5,96,0,0,2917,2919,8,29,0,0,2918,2913,1,0,0,0,2918,2915,1,0,0,0,2918,2917,1,0,0,0,2919,698,1,0,0,0,2920,2924,3,71,35,0,2921,2923,3,697,348,0,2922,2921,1,0,0,0,2923,2926,1,0,0,0,2924,2922,1,0,0,0,2924,2925,1,0,0,0,2925,2927,1,0,0,0,2926,2924,1,0,0,0,2927,2928,3,71,35,0,2928,700,1,0,0,0,2929,2930,2,48,57,0,2930,702,1,0,0,0,2931,2932,7,30,0,0,2932,704,1,0,0,0,2933,2934,5,48,0,0,2934,2936,3,133,66,0,2935,2937,3,703,351,0,2936,2935,1,0,0,0,2937,2938,1,0,0,0,2938,2936,1,0,0,0,2938,2939,1,0,0,0,2939,706,1,0,0,0,2940,2941,5,48,0,0,2941,2943,3,115,57,0,2942,2944,2,48,56,0,2943,2942,1,0,0,0,2944,2945,1,0,0,0,2945,2943,1,0,0,0,2945,2946,1,0,0,0,2946,708,1,0,0,0,2947,2948,5,48,0,0,2948,2950,3,89,44,0,2949,2951,2,48,49,0,2950,2949,1,0,0,0,2951,2952,1,0,0,0,2952,2950,1,0,0,0,2952,2953,1,0,0,0,2953,710,1,0,0,0,2954,2956,3,701,350,0,2955,2954,1,0,0,0,2956,2957,1,0,0,0,2957,2955,1,0,0,0,2957,2958,1,0,0,0,2958,712,1,0,0,0,2959,2964,3,711,355,0,2960,2964,3,705,352,0,2961,2964,3,707,353,0,2962,2964,3,709,354,0,2963,2959,1,0,0,0,2963,2960,1,0,0,0,2963,2961,1,0,0,0,2963,2962,1,0,0,0,2964,714,1,0,0,0,2965,2968,3,713,356,0,2966,2969,3,117,58,0,2967,2969,3,127,63,0,2968,2966,1,0,0,0,2968,2967,1,0,0,0,2968,2969,1,0,0,0,2969,2976,1,0,0,0,2970,2977,3,109,54,0,2971,2977,3,123,61,0,2972,2977,3,125,62,0,2973,2977,3,103,51,0,2974,2977,3,89,44,0,2975,2977,3,113,56,0,2976,2970,1,0,0,0,2976,2971,1,0,0,0,2976,2972,1,0,0,0,2976,2973,1,0,0,0,2976,2974,1,0,0,0,2976,2975,1,0,0,0,2976,2977,1,0,0,0,2977,716,1,0,0,0,2978,2981,3,95,47,0,2979,2982,3,33,16,0,2980,2982,3,35,17,0,2981,2979,1,0,0,0,2981,2980,1,0,0,0,2981,2982,1,0,0,0,2982,2983,1,0,0,0,2983,2984,3,711,355,0,2984,718,1,0,0,0,2985,2986,3,711,355,0,2986,2990,3,49,24,0,2987,2989,3,701,350,0,2988,2987,1,0,0,0,2989,2992,1,0,0,0,2990,2988,1,0,0,0,2990,2991,1,0,0,0,2991,2994,1,0,0,0,2992,2990,1,0,0,0,2993,2995,3,717,358,0,2994,2993,1,0,0,0,2994,2995,1,0,0,0,2995,3e3,1,0,0,0,2996,2997,3,711,355,0,2997,2998,3,717,358,0,2998,3e3,1,0,0,0,2999,2985,1,0,0,0,2999,2996,1,0,0,0,3e3,3009,1,0,0,0,3001,3010,3,97,48,0,3002,3007,3,117,58,0,3003,3004,3,97,48,0,3004,3005,7,31,0,0,3005,3008,1,0,0,0,3006,3008,3,113,56,0,3007,3003,1,0,0,0,3007,3006,1,0,0,0,3007,3008,1,0,0,0,3008,3010,1,0,0,0,3009,3001,1,0,0,0,3009,3002,1,0,0,0,3009,3010,1,0,0,0,3010,720,1,0,0,0,3011,3012,3,133,66,0,3012,3014,3,69,34,0,3013,3015,3,703,351,0,3014,3013,1,0,0,0,3015,3016,1,0,0,0,3016,3014,1,0,0,0,3016,3017,1,0,0,0,3017,3018,1,0,0,0,3018,3019,3,69,34,0,3019,722,1,0,0,0,3020,3021,5,47,0,0,3021,3022,5,42,0,0,3022,3026,1,0,0,0,3023,3025,9,0,0,0,3024,3023,1,0,0,0,3025,3028,1,0,0,0,3026,3027,1,0,0,0,3026,3024,1,0,0,0,3027,3029,1,0,0,0,3028,3026,1,0,0,0,3029,3030,5,42,0,0,3030,3031,5,47,0,0,3031,724,1,0,0,0,3032,3033,5,45,0,0,3033,3034,5,45,0,0,3034,3038,1,0,0,0,3035,3037,8,32,0,0,3036,3035,1,0,0,0,3037,3040,1,0,0,0,3038,3036,1,0,0,0,3038,3039,1,0,0,0,3039,3046,1,0,0,0,3040,3038,1,0,0,0,3041,3043,5,13,0,0,3042,3044,5,10,0,0,3043,3042,1,0,0,0,3043,3044,1,0,0,0,3044,3047,1,0,0,0,3045,3047,7,33,0,0,3046,3041,1,0,0,0,3046,3045,1,0,0,0,3047,726,1,0,0,0,3048,3049,7,34,0,0,3049,3050,1,0,0,0,3050,3051,6,363,0,0,3051,728,1,0,0,0,3052,3055,3,723,361,0,3053,3055,3,725,362,0,3054,3052,1,0,0,0,3054,3053,1,0,0,0,3055,3056,1,0,0,0,3056,3057,6,364,1,0,3057,730,1,0,0,0,34,0,2846,2852,2858,2867,2876,2883,2886,2891,2901,2903,2908,2910,2918,2924,2938,2945,2952,2957,2963,2968,2976,2981,2990,2994,2999,3007,3009,3016,3026,3038,3043,3046,3054,2,0,1,0,6,0,0],qi.vocabulary=new Ra(qi.literalNames,qi.symbolicNames,[]),qi.decisionsToDFA=qi._ATN.decisionToState.map(((t,e)=>new ni(t,e))),qi),tf=(ji=class t extends Cc{get grammarFileName(){return"YQL.g4"}get literalNames(){return t.literalNames}get symbolicNames(){return t.symbolicNames}get ruleNames(){return t.ruleNames}get serializedATN(){return t._serializedATN}createFailedPredicateException(t,e){return new Sc(this,t,e)}constructor(e){super(e),this.interpreter=new Ai(this,t._ATN,t.decisionsToDFA,new Si)}sql_query(){let e=new ef(this.context,this.state);this.enterRule(e,0,t.RULE_sql_query);try{switch(this.state=811,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,0,this.context)){case 1:this.enterOuterAlt(e,1),this.state=806,this.sql_stmt_list();break;case 2:this.enterOuterAlt(e,2),this.state=807,this.match(t.PRAGMA),this.state=808,this.match(t.ANSI),this.state=809,this.match(t.DIGITS),this.state=810,this.ansi_sql_stmt_list()}}catch(s){if(!(s instanceof jr))throw s;this.errorHandler.reportError(this,s),this.errorHandler.recover(this,s)}finally{this.exitRule()}return e}sql_stmt_list(){let e,s=new sf(this.context,this.state);this.enterRule(s,2,t.RULE_sql_stmt_list);try{let a;for(this.enterOuterAlt(s,1),this.state=816,this.errorHandler.sync(this),e=this.tokenStream.LA(1);24===e;)this.state=813,this.match(t.SEMICOLON),this.state=818,this.errorHandler.sync(this),e=this.tokenStream.LA(1);for(this.state=819,this.sql_stmt(),this.state=828,this.errorHandler.sync(this),a=this.interpreter.adaptivePredict(this.tokenStream,3,this.context);2!==a&&a!==ja.INVALID_ALT_NUMBER;){if(1===a){this.state=821,this.errorHandler.sync(this),e=this.tokenStream.LA(1);do{this.state=820,this.match(t.SEMICOLON),this.state=823,this.errorHandler.sync(this),e=this.tokenStream.LA(1)}while(24===e);this.state=825,this.sql_stmt()}this.state=830,this.errorHandler.sync(this),a=this.interpreter.adaptivePredict(this.tokenStream,3,this.context)}for(this.state=834,this.errorHandler.sync(this),e=this.tokenStream.LA(1);24===e;)this.state=831,this.match(t.SEMICOLON),this.state=836,this.errorHandler.sync(this),e=this.tokenStream.LA(1);this.state=837,this.match(t.EOF)}catch($c){if(!($c instanceof jr))throw $c;this.errorHandler.reportError(this,$c),this.errorHandler.recover(this,$c)}finally{this.exitRule()}return s}ansi_sql_stmt_list(){let e,s=new af(this.context,this.state);this.enterRule(s,4,t.RULE_ansi_sql_stmt_list);try{for(this.enterOuterAlt(s,1),this.state=842,this.errorHandler.sync(this),e=this.tokenStream.LA(1);24===e;)this.state=839,this.match(t.SEMICOLON),this.state=844,this.errorHandler.sync(this),e=this.tokenStream.LA(1);this.state=845,this.match(t.EOF)}catch($c){if(!($c instanceof jr))throw $c;this.errorHandler.reportError(this,$c),this.errorHandler.recover(this,$c)}finally{this.exitRule()}return s}lambda_body(){let e,s=new rf(this.context,this.state);this.enterRule(s,6,t.RULE_lambda_body);try{for(this.enterOuterAlt(s,1),this.state=850,this.errorHandler.sync(this),e=this.tokenStream.LA(1);24===e;)this.state=847,this.match(t.SEMICOLON),this.state=852,this.errorHandler.sync(this),e=this.tokenStream.LA(1);for(this.state=861,this.errorHandler.sync(this),e=this.tokenStream.LA(1);33===e||158===e;){this.state=853,this.lambda_stmt(),this.state=855,this.errorHandler.sync(this),e=this.tokenStream.LA(1);do{this.state=854,this.match(t.SEMICOLON),this.state=857,this.errorHandler.sync(this),e=this.tokenStream.LA(1)}while(24===e);this.state=863,this.errorHandler.sync(this),e=this.tokenStream.LA(1)}for(this.state=864,this.match(t.RETURN),this.state=865,this.expr(),this.state=869,this.errorHandler.sync(this),e=this.tokenStream.LA(1);24===e;)this.state=866,this.match(t.SEMICOLON),this.state=871,this.errorHandler.sync(this),e=this.tokenStream.LA(1)}catch($c){if(!($c instanceof jr))throw $c;this.errorHandler.reportError(this,$c),this.errorHandler.recover(this,$c)}finally{this.exitRule()}return s}lambda_stmt(){let e=new cf(this.context,this.state);this.enterRule(e,8,t.RULE_lambda_stmt);try{switch(this.state=874,this.errorHandler.sync(this),this.tokenStream.LA(1)){case t.DOLLAR:this.enterOuterAlt(e,1),this.state=872,this.named_nodes_stmt();break;case t.IMPORT:this.enterOuterAlt(e,2),this.state=873,this.import_stmt();break;default:throw new Ei(this)}}catch(s){if(!(s instanceof jr))throw s;this.errorHandler.reportError(this,s),this.errorHandler.recover(this,s)}finally{this.exitRule()}return e}sql_stmt(){let e,s=new nf(this.context,this.state);this.enterRule(s,10,t.RULE_sql_stmt);try{this.enterOuterAlt(s,1),this.state=881,this.errorHandler.sync(this),e=this.tokenStream.LA(1),129===e&&(this.state=876,this.match(t.EXPLAIN),this.state=879,this.errorHandler.sync(this),e=this.tokenStream.LA(1),1===e&&(this.state=877,this.match(t.QUERY),this.state=878,this.match(t.PLAN))),this.state=883,this.sql_stmt_core()}catch($c){if(!($c instanceof jr))throw $c;this.errorHandler.reportError(this,$c),this.errorHandler.recover(this,$c)}finally{this.exitRule()}return s}sql_stmt_core(){let e=new hf(this.context,this.state);this.enterRule(e,12,t.RULE_sql_stmt_core);try{switch(this.state=929,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,13,this.context)){case 1:this.enterOuterAlt(e,1),this.state=885,this.pragma_stmt();break;case 2:this.enterOuterAlt(e,2),this.state=886,this.select_stmt();break;case 3:this.enterOuterAlt(e,3),this.state=887,this.named_nodes_stmt();break;case 4:this.enterOuterAlt(e,4),this.state=888,this.create_table_stmt();break;case 5:this.enterOuterAlt(e,5),this.state=889,this.drop_table_stmt();break;case 6:this.enterOuterAlt(e,6),this.state=890,this.use_stmt();break;case 7:this.enterOuterAlt(e,7),this.state=891,this.into_table_stmt();break;case 8:this.enterOuterAlt(e,8),this.state=892,this.commit_stmt();break;case 9:this.enterOuterAlt(e,9),this.state=893,this.update_stmt();break;case 10:this.enterOuterAlt(e,10),this.state=894,this.delete_stmt();break;case 11:this.enterOuterAlt(e,11),this.state=895,this.rollback_stmt();break;case 12:this.enterOuterAlt(e,12),this.state=896,this.declare_stmt();break;case 13:this.enterOuterAlt(e,13),this.state=897,this.import_stmt();break;case 14:this.enterOuterAlt(e,14),this.state=898,this.export_stmt();break;case 15:this.enterOuterAlt(e,15),this.state=899,this.alter_table_stmt();break;case 16:this.enterOuterAlt(e,16),this.state=900,this.alter_external_table_stmt();break;case 17:this.enterOuterAlt(e,17),this.state=901,this.do_stmt();break;case 18:this.enterOuterAlt(e,18),this.state=902,this.define_action_or_subquery_stmt();break;case 19:this.enterOuterAlt(e,19),this.state=903,this.if_stmt();break;case 20:this.enterOuterAlt(e,20),this.state=904,this.for_stmt();break;case 21:this.enterOuterAlt(e,21),this.state=905,this.values_stmt();break;case 22:this.enterOuterAlt(e,22),this.state=906,this.create_user_stmt();break;case 23:this.enterOuterAlt(e,23),this.state=907,this.alter_user_stmt();break;case 24:this.enterOuterAlt(e,24),this.state=908,this.create_group_stmt();break;case 25:this.enterOuterAlt(e,25),this.state=909,this.alter_group_stmt();break;case 26:this.enterOuterAlt(e,26),this.state=910,this.drop_role_stmt();break;case 27:this.enterOuterAlt(e,27),this.state=911,this.create_object_stmt();break;case 28:this.enterOuterAlt(e,28),this.state=912,this.alter_object_stmt();break;case 29:this.enterOuterAlt(e,29),this.state=913,this.drop_object_stmt();break;case 30:this.enterOuterAlt(e,30),this.state=914,this.create_external_data_source_stmt();break;case 31:this.enterOuterAlt(e,31),this.state=915,this.alter_external_data_source_stmt();break;case 32:this.enterOuterAlt(e,32),this.state=916,this.drop_external_data_source_stmt();break;case 33:this.enterOuterAlt(e,33),this.state=917,this.create_replication_stmt();break;case 34:this.enterOuterAlt(e,34),this.state=918,this.drop_replication_stmt();break;case 35:this.enterOuterAlt(e,35),this.state=919,this.create_topic_stmt();break;case 36:this.enterOuterAlt(e,36),this.state=920,this.alter_topic_stmt();break;case 37:this.enterOuterAlt(e,37),this.state=921,this.drop_topic_stmt();break;case 38:this.enterOuterAlt(e,38),this.state=922,this.grant_permissions_stmt();break;case 39:this.enterOuterAlt(e,39),this.state=923,this.revoke_permissions_stmt();break;case 40:this.enterOuterAlt(e,40),this.state=924,this.alter_table_store_stmt();break;case 41:this.enterOuterAlt(e,41),this.state=925,this.upsert_object_stmt();break;case 42:this.enterOuterAlt(e,42),this.state=926,this.create_view_stmt();break;case 43:this.enterOuterAlt(e,43),this.state=927,this.drop_view_stmt();break;case 44:this.enterOuterAlt(e,44),this.state=928,this.alter_replication_stmt()}}catch(s){if(!(s instanceof jr))throw s;this.errorHandler.reportError(this,s),this.errorHandler.recover(this,s)}finally{this.exitRule()}return e}expr(){let e,s=new Ef(this.context,this.state);this.enterRule(s,14,t.RULE_expr);try{switch(this.state=940,this.errorHandler.sync(this),this.interpreter.adaptivePredict(this.tokenStream,15,this.context)){case 1:for(this.enterOuterAlt(s,1),this.state=931,this.or_subexpr(),this.state=936,this.errorHandler.sync(this),e=this.tokenStream.LA(1);209===e;)this.state=932,this.match(t.OR),this.state=933,this.or_subexpr(),this.state=938,this.errorHandler.sync(this),e=this.tokenStream.LA(1);break;case 2:this.enterOuterAlt(s,2),this.state=939,this.type_name_composite()}}catch($c){if(!($c instanceof jr))throw $c;this.errorHandler.reportError(this,$c),this.errorHandler.recover(this,$c)}finally{this.exitRule()}return s}or_subexpr(){let e,s=new Tf(this.context,this.state);this.enterRule(s,16,t.RULE_or_subexpr);try{for(this.enterOuterAlt(s,1),this.state=942,this.and_subexpr(),this.state=947,this.errorHandler.sync(this),e=this.tokenStream.LA(1);51===e;)this.state=943,this.match(t.AND),this.state=944,this.and_subexpr(),this.state=949,this.errorHandler.sync(this),e=this.tokenStream.LA(1)}catch($c){if(!($c instanceof jr))throw $c;this.errorHandler.reportError(this,$c),this.errorHandler.recover(this,$c)}finally{this.exitRule()}return s}and_subexpr(){let e,s=new of(this.context,this.state);this.enterRule(s,18,t.RULE_and_subexpr);try{for(this.enterOuterAlt(s,1),this.state=950,this.xor_subexpr(),this.state=955,this.errorHandler.sync(this),e=this.tokenStream.LA(1);315===e;)this.state=951,this.match(t.XOR),this.state=952,this.xor_subexpr(),this.state=957,this.errorHandler.sync(this),e=this.tokenStream.LA(1)}catch($c){if(!($c instanceof jr))throw $c;this.errorHandler.reportError(this,$c),this.errorHandler.recover(this,$c)}finally{this.exitRule()}return s}xor_subexpr(){let e,s=new Rf(this.context,this.state);this.enterRule(s,20,t.RULE_xor_subexpr);try{this.enterOuterAlt(s,1),this.state=958,this.eq_subexpr(),this.state=960,this.errorHandler.sync(this),e=this.tokenStream.LA(1),(!(-32&e)&&1<'","'<'","'<='","'>'","'>='","'<<'","'|<<'","'&'","'|'","'||'","'<|'","'|>'","'+'","'-'","'~'","'*'","'/'","''","'%'","';'","'.'","','","'('","')'","'?'","':'","'@'","'@@'","'$'","'\"'","'''","'`'","'{'","'}'","'^'","'::'","'->'","']'","'['"],ji.symbolicNames=[null,"QUERY","EQUALS","EQUALS2","NOT_EQUALS","NOT_EQUALS2","LESS","LESS_OR_EQ","GREATER","GREATER_OR_EQ","SHIFT_LEFT","ROT_LEFT","AMPERSAND","PIPE","DOUBLE_PIPE","STRUCT_OPEN","STRUCT_CLOSE","PLUS","MINUS","TILDA","ASTERISK","SLASH","BACKSLASH","PERCENT","SEMICOLON","DOT","COMMA","LPAREN","RPAREN","QUESTION","COLON","AT","DOUBLE_AT","DOLLAR","QUOTE_DOUBLE","QUOTE_SINGLE","BACKTICK","LBRACE_CURLY","RBRACE_CURLY","CARET","NAMESPACE","ARROW","RBRACE_SQUARE","LBRACE_SQUARE","ABORT","ACTION","ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANSI","ANY","ARRAY","AS","ASC","ASSUME","ASYMMETRIC","ASYNC","ATTACH","ATTRIBUTES","AUTOINCREMENT","AUTOMAP","BEFORE","BEGIN","BERNOULLI","BETWEEN","BITCAST","BY","CALLABLE","CASCADE","CASE","CAST","CHANGEFEED","CHECK","COLLATE","COLUMN","COLUMNS","COMMIT","COMPACT","CONDITIONAL","CONFLICT","CONNECT","CONSTRAINT","CONSUMER","COVER","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATA","DATABASE","DECIMAL","DECLARE","DEFAULT","DEFERRABLE","DEFERRED","DEFINE","DELETE","DESC","DESCRIBE","DETACH","DICT","DIRECTORY","DISABLE","DISCARD","DISTINCT","DO","DROP","EACH","ELSE","EMPTY","EMPTY_ACTION","ENCRYPTED","END","ENUM","ERASE","ERROR","ESCAPE","EVALUATE","EXCEPT","EXCLUDE","EXCLUSION","EXCLUSIVE","EXISTS","EXPLAIN","EXPORT","EXTERNAL","FAIL","FALSE","FAMILY","FILTER","FIRST","FLATTEN","FLOW","FOLLOWING","FOR","FOREIGN","FROM","FULL","FUNCTION","GLOB","GLOBAL","GRANT","GROUP","GROUPING","GROUPS","HASH","HAVING","HOP","IF","IGNORE","ILIKE","IMMEDIATE","IMPORT","IN","INDEX","INDEXED","INHERITS","INITIAL","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","JSON_EXISTS","JSON_QUERY","JSON_VALUE","KEY","LAST","LEFT","LEGACY","LIKE","LIMIT","LIST","LOCAL","MANAGE","MATCH","MATCHES","MATCH_RECOGNIZE","MEASURES","MICROSECONDS","MILLISECONDS","MODIFY","NANOSECONDS","NATURAL","NEXT","NO","NOT","NOTNULL","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OPTIONAL","OR","ORDER","OTHERS","OUTER","OVER","PARALLEL","PARTITION","PASSING","PASSWORD","PAST","PATTERN","PER","PERMUTE","PLAN","PRAGMA","PRECEDING","PRESORT","PRIMARY","PRIVILEGES","PROCESS","QUEUE","RAISE","RANGE","REDUCE","REFERENCES","REGEXP","REINDEX","RELEASE","REMOVE","RENAME","REPEATABLE","REPLACE","REPLICATION","RESET","RESOURCE","RESPECT","RESTRICT","RESULT","RETURN","RETURNING","REVERT","REVOKE","RIGHT","RLIKE","ROLLBACK","ROLLUP","ROW","ROWS","SAMPLE","SAVEPOINT","SCHEMA","SECONDS","SEEK","SELECT","SEMI","SET","SETS","SHOW","SKIP_RULE","SOURCE","STREAM","STRUCT","SUBQUERY","SUBSET","SYMBOLS","SYMMETRIC","SYNC","SYSTEM","TABLE","TABLES","TABLESAMPLE","TABLESTORE","TAGGED","TEMP","TEMPORARY","THEN","TIES","TO","TOPIC","TRANSACTION","TRIGGER","TRUE","TUPLE","TYPE","UNBOUNDED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UPDATE","UPSERT","USE","USER","USING","VACUUM","VALUES","VARIANT","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT","WRAPPER","XOR","STRING_VALUE","ID_PLAIN","ID_QUOTED","DIGITS","INTEGER_VALUE","REAL","BLOB","WS","COMMENT"],ji.ruleNames=["sql_query","sql_stmt_list","ansi_sql_stmt_list","lambda_body","lambda_stmt","sql_stmt","sql_stmt_core","expr","or_subexpr","and_subexpr","xor_subexpr","distinct_from_op","cond_expr","match_op","eq_subexpr","shift_right","rot_right","double_question","neq_subexpr","bit_subexpr","add_subexpr","mul_subexpr","con_subexpr","unary_op","unary_subexpr_suffix","unary_casual_subexpr","in_unary_casual_subexpr","unary_subexpr","in_unary_subexpr","list_literal","expr_dict_list","dict_literal","expr_struct_list","struct_literal","atom_expr","in_atom_expr","cast_expr","bitcast_expr","exists_expr","case_expr","lambda","in_expr","json_api_expr","jsonpath_spec","json_variable_name","json_variable","json_variables","json_common_args","json_case_handler","json_value","json_exists_handler","json_exists","json_query_wrapper","json_query_handler","json_query","smart_parenthesis","expr_list","pure_column_list","pure_column_or_named","pure_column_or_named_list","column_name","without_column_name","column_list","without_column_list","named_expr","named_expr_list","invoke_expr","invoke_expr_tail","using_call_expr","key_expr","when_expr","literal_value","bind_parameter","opt_bind_parameter","bind_parameter_list","named_bind_parameter","named_bind_parameter_list","signed_number","type_name_simple","integer_or_bind","type_name_tag","struct_arg","struct_arg_positional","variant_arg","callable_arg","callable_arg_list","type_name_decimal","type_name_optional","type_name_tuple","type_name_struct","type_name_variant","type_name_list","type_name_stream","type_name_flow","type_name_dict","type_name_set","type_name_enum","type_name_resource","type_name_tagged","type_name_callable","type_name_composite","type_name","type_name_or_bind","value_constructor_literal","value_constructor","declare_stmt","module_path","import_stmt","export_stmt","call_action","inline_action","do_stmt","pragma_stmt","pragma_value","sort_specification","sort_specification_list","select_stmt","select_unparenthesized_stmt","select_kind_parenthesis","select_op","select_kind_partial","select_kind","process_core","external_call_param","external_call_settings","reduce_core","opt_set_quantifier","select_core","row_pattern_recognition_clause","row_pattern_rows_per_match","row_pattern_empty_match_handling","row_pattern_measures","row_pattern_measure_list","row_pattern_measure_definition","row_pattern_common_syntax","row_pattern_skip_to","row_pattern_skip_to_variable_name","row_pattern_initial_or_seek","row_pattern","row_pattern_term","row_pattern_factor","row_pattern_quantifier","row_pattern_primary","row_pattern_primary_variable_name","row_pattern_permute","row_pattern_subset_clause","row_pattern_subset_list","row_pattern_subset_item","row_pattern_subset_item_variable_name","row_pattern_subset_rhs","row_pattern_subset_rhs_variable_name","row_pattern_definition_list","row_pattern_definition","row_pattern_definition_variable_name","row_pattern_definition_search_condition","search_condition","row_pattern_variable_name","order_by_clause","ext_order_by_clause","group_by_clause","grouping_element_list","grouping_element","ordinary_grouping_set","ordinary_grouping_set_list","rollup_list","cube_list","grouping_sets_specification","hopping_window_specification","result_column","join_source","named_column","flatten_by_arg","flatten_source","named_single_source","single_source","sample_clause","tablesample_clause","sampling_mode","repeatable_clause","join_op","join_constraint","returning_columns_list","into_table_stmt","into_table_stmt_yq","into_values_source","values_stmt","values_source","values_source_row_list","values_source_row","simple_values_source","create_external_data_source_stmt","alter_external_data_source_stmt","alter_external_data_source_action","drop_external_data_source_stmt","create_view_stmt","drop_view_stmt","upsert_object_stmt","create_object_stmt","create_object_features","alter_object_stmt","alter_object_features","drop_object_stmt","drop_object_features","object_feature_value","object_feature_kv","object_feature_flag","object_feature","object_features","object_type_ref","create_table_stmt","create_table_entry","table_inherits","table_partition_by","with_table_settings","table_tablestore","table_settings_entry","table_as_source","alter_table_stmt","alter_table_action","alter_external_table_stmt","alter_external_table_action","alter_table_store_stmt","alter_table_store_action","alter_table_add_column","alter_table_drop_column","alter_table_alter_column","alter_table_add_column_family","alter_table_alter_column_family","alter_table_set_table_setting_uncompat","alter_table_set_table_setting_compat","alter_table_reset_table_setting","alter_table_add_index","alter_table_drop_index","alter_table_rename_to","alter_table_rename_index_to","alter_table_add_changefeed","alter_table_alter_changefeed","alter_table_drop_changefeed","column_schema","family_relation","opt_column_constraints","column_order_by_specification","table_constraint","table_index","table_index_type","global_index","local_index","changefeed","changefeed_settings","changefeed_settings_entry","changefeed_setting_value","changefeed_alter_settings","alter_table_setting_entry","table_setting_value","family_entry","family_settings","family_settings_entry","family_setting_value","split_boundaries","literal_value_list","drop_table_stmt","create_user_stmt","alter_user_stmt","create_group_stmt","alter_group_stmt","drop_role_stmt","role_name","create_user_option","grant_permissions_stmt","revoke_permissions_stmt","permission_id","permission_name","permission_name_target","create_replication_stmt","replication_target","replication_settings","replication_settings_entry","alter_replication_stmt","alter_replication_action","alter_replication_set_setting","drop_replication_stmt","action_or_subquery_args","define_action_or_subquery_stmt","define_action_or_subquery_body","if_stmt","for_stmt","table_ref","table_key","table_arg","table_hints","table_hint","object_ref","simple_table_ref_core","simple_table_ref","into_simple_table_ref","delete_stmt","update_stmt","set_clause_choice","set_clause_list","set_clause","set_target","multiple_column_assignment","set_target_list","create_topic_stmt","create_topic_entries","create_topic_entry","with_topic_settings","alter_topic_stmt","alter_topic_action","alter_topic_add_consumer","topic_create_consumer_entry","alter_topic_alter_consumer","alter_topic_alter_consumer_entry","alter_topic_drop_consumer","topic_alter_consumer_set","topic_alter_consumer_reset","alter_topic_set_settings","alter_topic_reset_settings","drop_topic_stmt","topic_settings","topic_settings_entry","topic_setting_value","topic_consumer_with_settings","topic_consumer_settings","topic_consumer_settings_entry","topic_consumer_setting_value","topic_ref","topic_consumer_ref","null_treatment","filter_clause","window_name_or_specification","window_name","window_clause","window_definition_list","window_definition","new_window_name","window_specification","window_specification_details","existing_window_name","window_partition_clause","window_order_clause","window_frame_clause","window_frame_units","window_frame_extent","window_frame_between","window_frame_bound","window_frame_exclusion","use_stmt","subselect_stmt","named_nodes_stmt","commit_stmt","rollback_stmt","identifier","id","id_schema","id_expr","id_expr_in","id_window","id_table","id_without","id_hint","id_as_compat","an_id","an_id_or_type","an_id_schema","an_id_expr","an_id_expr_in","an_id_window","an_id_table","an_id_without","an_id_hint","an_id_pure","an_id_as_compat","view_name","opt_id_prefix","cluster_expr","id_or_type","opt_id_prefix_or_type","id_or_at","id_table_or_type","id_table_or_at","keyword","keyword_expr_uncompat","keyword_table_uncompat","keyword_select_uncompat","keyword_alter_uncompat","keyword_in_uncompat","keyword_window_uncompat","keyword_hint_uncompat","keyword_as_compat","keyword_compat","type_id","bool_value","real","integer","sql_query_yq","sql_stmt_list_yq","sql_stmt_yq","sql_stmt_core_yq","replication_name","where_expr","from_stmt","alter_table_for_autocomplete"],ji._serializedATN=[4,1,324,4277,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212,7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218,7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224,7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230,7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236,7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242,7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248,7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,2,253,7,253,2,254,7,254,2,255,7,255,2,256,7,256,2,257,7,257,2,258,7,258,2,259,7,259,2,260,7,260,2,261,7,261,2,262,7,262,2,263,7,263,2,264,7,264,2,265,7,265,2,266,7,266,2,267,7,267,2,268,7,268,2,269,7,269,2,270,7,270,2,271,7,271,2,272,7,272,2,273,7,273,2,274,7,274,2,275,7,275,2,276,7,276,2,277,7,277,2,278,7,278,2,279,7,279,2,280,7,280,2,281,7,281,2,282,7,282,2,283,7,283,2,284,7,284,2,285,7,285,2,286,7,286,2,287,7,287,2,288,7,288,2,289,7,289,2,290,7,290,2,291,7,291,2,292,7,292,2,293,7,293,2,294,7,294,2,295,7,295,2,296,7,296,2,297,7,297,2,298,7,298,2,299,7,299,2,300,7,300,2,301,7,301,2,302,7,302,2,303,7,303,2,304,7,304,2,305,7,305,2,306,7,306,2,307,7,307,2,308,7,308,2,309,7,309,2,310,7,310,2,311,7,311,2,312,7,312,2,313,7,313,2,314,7,314,2,315,7,315,2,316,7,316,2,317,7,317,2,318,7,318,2,319,7,319,2,320,7,320,2,321,7,321,2,322,7,322,2,323,7,323,2,324,7,324,2,325,7,325,2,326,7,326,2,327,7,327,2,328,7,328,2,329,7,329,2,330,7,330,2,331,7,331,2,332,7,332,2,333,7,333,2,334,7,334,2,335,7,335,2,336,7,336,2,337,7,337,2,338,7,338,2,339,7,339,2,340,7,340,2,341,7,341,2,342,7,342,2,343,7,343,2,344,7,344,2,345,7,345,2,346,7,346,2,347,7,347,2,348,7,348,2,349,7,349,2,350,7,350,2,351,7,351,2,352,7,352,2,353,7,353,2,354,7,354,2,355,7,355,2,356,7,356,2,357,7,357,2,358,7,358,2,359,7,359,2,360,7,360,2,361,7,361,2,362,7,362,2,363,7,363,2,364,7,364,2,365,7,365,2,366,7,366,2,367,7,367,2,368,7,368,2,369,7,369,2,370,7,370,2,371,7,371,2,372,7,372,2,373,7,373,2,374,7,374,2,375,7,375,2,376,7,376,2,377,7,377,2,378,7,378,2,379,7,379,2,380,7,380,2,381,7,381,2,382,7,382,2,383,7,383,2,384,7,384,2,385,7,385,2,386,7,386,2,387,7,387,2,388,7,388,2,389,7,389,2,390,7,390,2,391,7,391,2,392,7,392,2,393,7,393,2,394,7,394,2,395,7,395,2,396,7,396,2,397,7,397,2,398,7,398,2,399,7,399,2,400,7,400,2,401,7,401,2,402,7,402,1,0,1,0,1,0,1,0,1,0,3,0,812,8,0,1,1,5,1,815,8,1,10,1,12,1,818,9,1,1,1,1,1,4,1,822,8,1,11,1,12,1,823,1,1,5,1,827,8,1,10,1,12,1,830,9,1,1,1,5,1,833,8,1,10,1,12,1,836,9,1,1,1,1,1,1,2,5,2,841,8,2,10,2,12,2,844,9,2,1,2,1,2,1,3,5,3,849,8,3,10,3,12,3,852,9,3,1,3,1,3,4,3,856,8,3,11,3,12,3,857,5,3,860,8,3,10,3,12,3,863,9,3,1,3,1,3,1,3,5,3,868,8,3,10,3,12,3,871,9,3,1,4,1,4,3,4,875,8,4,1,5,1,5,1,5,3,5,880,8,5,3,5,882,8,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,930,8,6,1,7,1,7,1,7,5,7,935,8,7,10,7,12,7,938,9,7,1,7,3,7,941,8,7,1,8,1,8,1,8,5,8,946,8,8,10,8,12,8,949,9,8,1,9,1,9,1,9,5,9,954,8,9,10,9,12,9,957,9,9,1,10,1,10,3,10,961,8,10,1,11,1,11,3,11,965,8,11,1,11,1,11,1,11,1,12,3,12,971,8,12,1,12,1,12,1,12,1,12,3,12,977,8,12,1,12,3,12,980,8,12,1,12,1,12,3,12,984,8,12,1,12,1,12,1,12,1,12,1,12,1,12,3,12,992,8,12,1,12,1,12,3,12,996,8,12,1,12,3,12,999,8,12,1,12,1,12,3,12,1003,8,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,3,12,1014,8,12,1,12,4,12,1017,8,12,11,12,12,12,1018,3,12,1021,8,12,1,13,1,13,1,14,1,14,1,14,5,14,1028,8,14,10,14,12,14,1031,9,14,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,3,18,1051,8,18,1,18,5,18,1054,8,18,10,18,12,18,1057,9,18,1,18,1,18,1,18,1,18,4,18,1063,8,18,11,18,12,18,1064,3,18,1067,8,18,1,19,1,19,1,19,5,19,1072,8,19,10,19,12,19,1075,9,19,1,20,1,20,1,20,5,20,1080,8,20,10,20,12,20,1083,9,20,1,21,1,21,1,21,5,21,1088,8,21,10,21,12,21,1091,9,21,1,22,1,22,1,22,1,22,3,22,1097,8,22,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,24,3,24,1107,8,24,5,24,1109,8,24,10,24,12,24,1112,9,24,1,24,1,24,3,24,1116,8,24,1,25,1,25,3,25,1120,8,25,1,25,1,25,1,26,1,26,3,26,1126,8,26,1,26,1,26,1,27,1,27,3,27,1132,8,27,1,28,1,28,3,28,1136,8,28,1,29,1,29,3,29,1140,8,29,1,29,3,29,1143,8,29,1,29,1,29,1,30,1,30,1,30,3,30,1150,8,30,1,30,1,30,1,30,1,30,3,30,1156,8,30,5,30,1158,8,30,10,30,12,30,1161,9,30,1,31,1,31,3,31,1165,8,31,1,31,3,31,1168,8,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,5,32,1180,8,32,10,32,12,32,1183,9,32,1,33,1,33,3,33,1187,8,33,1,33,3,33,1190,8,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,3,34,1204,8,34,1,34,1,34,1,34,1,34,1,34,3,34,1211,8,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,1222,8,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,3,35,1233,8,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,3,38,1253,8,38,1,38,1,38,1,39,1,39,3,39,1259,8,39,1,39,4,39,1262,8,39,11,39,12,39,1263,1,39,1,39,3,39,1268,8,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,1,40,3,40,1282,8,40,3,40,1284,8,40,1,41,1,41,1,42,1,42,1,42,3,42,1291,8,42,1,43,1,43,1,44,1,44,3,44,1297,8,44,1,45,1,45,1,45,1,45,1,46,1,46,1,46,5,46,1306,8,46,10,46,12,46,1309,9,46,1,47,1,47,1,47,1,47,1,47,3,47,1316,8,47,1,48,1,48,1,48,1,48,3,48,1322,8,48,1,49,1,49,1,49,1,49,1,49,3,49,1329,8,49,1,49,1,49,1,49,1,49,5,49,1335,8,49,10,49,12,49,1338,9,49,1,49,1,49,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,3,51,1350,8,51,1,51,1,51,1,52,1,52,3,52,1356,8,52,1,52,1,52,3,52,1360,8,52,1,52,3,52,1363,8,52,3,52,1365,8,52,1,53,1,53,1,53,1,53,1,53,1,53,3,53,1373,8,53,1,54,1,54,1,54,1,54,1,54,1,54,3,54,1381,8,54,1,54,1,54,1,54,1,54,3,54,1387,8,54,1,54,1,54,1,54,1,54,3,54,1393,8,54,1,54,1,54,1,55,1,55,3,55,1399,8,55,1,55,3,55,1402,8,55,1,55,1,55,1,56,1,56,1,56,5,56,1409,8,56,10,56,12,56,1412,9,56,1,57,1,57,1,57,1,57,5,57,1418,8,57,10,57,12,57,1421,9,57,1,57,1,57,1,58,1,58,3,58,1427,8,58,1,59,1,59,1,59,1,59,5,59,1433,8,59,10,59,12,59,1436,9,59,1,59,1,59,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,3,61,1448,8,61,1,62,1,62,1,62,5,62,1453,8,62,10,62,12,62,1456,9,62,1,62,3,62,1459,8,62,1,63,1,63,1,63,5,63,1464,8,63,10,63,12,63,1467,9,63,1,63,3,63,1470,8,63,1,64,1,64,1,64,3,64,1475,8,64,1,65,1,65,1,65,5,65,1480,8,65,10,65,12,65,1483,9,65,1,66,1,66,1,66,1,66,3,66,1489,8,66,1,66,3,66,1492,8,66,1,66,1,66,1,66,1,67,1,67,3,67,1499,8,67,1,67,1,67,3,67,1503,8,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,3,68,1513,8,68,1,68,1,68,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,3,71,1536,8,71,1,72,1,72,1,72,1,72,3,72,1542,8,72,1,73,1,73,3,73,1546,8,73,1,74,1,74,1,74,5,74,1551,8,74,10,74,12,74,1554,9,74,1,75,1,75,1,75,3,75,1559,8,75,1,76,1,76,1,76,5,76,1564,8,76,10,76,12,76,1567,9,76,1,77,3,77,1570,8,77,1,77,1,77,3,77,1574,8,77,1,78,1,78,1,79,1,79,3,79,1580,8,79,1,80,1,80,1,80,3,80,1585,8,80,1,81,1,81,1,81,1,81,1,82,1,82,1,82,3,82,1594,8,82,1,82,3,82,1597,8,82,1,82,1,82,1,82,1,82,3,82,1603,8,82,1,83,1,83,1,83,3,83,1608,8,83,1,83,1,83,1,84,1,84,1,84,1,84,3,84,1616,8,84,1,85,1,85,1,85,5,85,1621,8,85,10,85,12,85,1624,9,85,1,86,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,88,5,88,1643,8,88,10,88,12,88,1646,9,88,1,88,3,88,1649,8,88,3,88,1651,8,88,1,88,1,88,3,88,1655,8,88,1,89,1,89,1,89,1,89,1,89,5,89,1662,8,89,10,89,12,89,1665,9,89,1,89,3,89,1668,8,89,3,89,1670,8,89,1,89,1,89,3,89,1674,8,89,1,90,1,90,1,90,1,90,1,90,5,90,1681,8,90,10,90,12,90,1684,9,90,1,90,3,90,1687,8,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,5,96,1723,8,96,10,96,12,96,1726,9,96,1,96,3,96,1729,8,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,3,99,1749,8,99,1,99,3,99,1752,8,99,1,99,1,99,1,99,1,99,3,99,1758,8,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,1,100,3,100,1778,8,100,1,100,5,100,1781,8,100,10,100,12,100,1784,9,100,1,101,1,101,1,101,3,101,1789,8,101,1,101,5,101,1792,8,101,10,101,12,101,1795,9,101,3,101,1797,8,101,1,102,1,102,3,102,1801,8,102,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,3,104,1828,8,104,1,105,1,105,1,105,1,105,1,105,1,105,3,105,1836,8,105,1,106,3,106,1839,8,106,1,106,1,106,1,106,5,106,1844,8,106,10,106,12,106,1847,9,106,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,109,1,109,3,109,1859,8,109,1,109,1,109,3,109,1863,8,109,1,109,1,109,1,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,3,111,1875,8,111,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,1,112,5,112,1886,8,112,10,112,12,112,1889,9,112,1,112,1,112,3,112,1893,8,112,1,113,1,113,1,113,1,113,1,113,3,113,1900,8,113,1,114,1,114,3,114,1904,8,114,1,115,1,115,1,115,5,115,1909,8,115,10,115,12,115,1912,9,115,1,116,1,116,1,116,1,116,5,116,1918,8,116,10,116,12,116,1921,9,116,1,117,1,117,1,117,1,117,5,117,1927,8,117,10,117,12,117,1930,9,117,1,118,1,118,1,118,1,118,1,118,3,118,1937,8,118,1,119,1,119,3,119,1941,8,119,1,119,1,119,3,119,1945,8,119,1,120,1,120,1,120,1,120,1,120,3,120,1952,8,120,3,120,1954,8,120,1,121,3,121,1957,8,121,1,121,1,121,1,121,3,121,1962,8,121,1,121,1,121,1,121,3,121,1967,8,121,1,122,1,122,3,122,1971,8,122,1,122,1,122,1,122,5,122,1976,8,122,10,122,12,122,1979,9,122,1,122,1,122,1,122,1,122,3,122,1985,8,122,1,122,1,122,3,122,1989,8,122,1,122,3,122,1992,8,122,1,122,1,122,3,122,1996,8,122,1,122,1,122,3,122,2e3,8,122,3,122,2002,8,122,1,123,1,123,1,123,1,123,1,124,1,124,1,124,5,124,2011,8,124,10,124,12,124,2014,9,124,1,125,1,125,1,125,1,125,5,125,2020,8,125,10,125,12,125,2023,9,125,1,125,1,125,3,125,2027,8,125,1,125,1,125,1,125,1,125,3,125,2033,8,125,1,125,1,125,1,125,3,125,2038,8,125,1,125,3,125,2041,8,125,1,125,1,125,3,125,2045,8,125,1,125,1,125,3,125,2049,8,125,1,126,3,126,2052,8,126,1,127,1,127,3,127,2056,8,127,1,127,1,127,3,127,2060,8,127,1,127,1,127,1,127,1,127,5,127,2066,8,127,10,127,12,127,2069,9,127,1,127,3,127,2072,8,127,1,127,1,127,3,127,2076,8,127,1,127,1,127,3,127,2080,8,127,1,127,3,127,2083,8,127,1,127,3,127,2086,8,127,1,127,1,127,3,127,2090,8,127,1,127,3,127,2093,8,127,1,127,3,127,2096,8,127,1,128,1,128,1,128,3,128,2101,8,128,1,128,3,128,2104,8,128,1,128,3,128,2107,8,128,1,128,3,128,2110,8,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,1,129,3,129,2124,8,129,3,129,2126,8,129,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,1,130,3,130,2137,8,130,1,131,1,131,1,131,1,132,1,132,1,132,5,132,2145,8,132,10,132,12,132,2148,9,132,1,133,1,133,1,133,1,133,1,134,1,134,1,134,3,134,2157,8,134,1,134,3,134,2160,8,134,1,134,1,134,1,134,1,134,1,134,3,134,2167,8,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,3,135,2191,8,135,1,136,1,136,1,137,1,137,1,138,1,138,1,138,5,138,2200,8,138,10,138,12,138,2203,9,138,1,139,4,139,2206,8,139,11,139,12,139,2207,1,140,1,140,3,140,2212,8,140,1,141,1,141,3,141,2216,8,141,1,141,1,141,3,141,2220,8,141,1,141,1,141,3,141,2224,8,141,1,141,1,141,3,141,2228,8,141,1,141,1,141,3,141,2232,8,141,1,141,1,141,3,141,2236,8,141,1,141,1,141,1,141,1,141,3,141,2242,8,141,1,142,1,142,1,142,1,142,1,142,3,142,2249,8,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,2259,8,142,1,143,1,143,1,144,1,144,1,144,1,144,1,144,5,144,2268,8,144,10,144,12,144,2271,9,144,1,144,1,144,1,145,1,145,1,145,1,146,1,146,1,146,5,146,2281,8,146,10,146,12,146,2284,9,146,1,147,1,147,1,147,1,147,1,147,1,147,1,148,1,148,1,149,1,149,1,149,5,149,2297,8,149,10,149,12,149,2300,9,149,1,150,1,150,1,151,1,151,1,151,5,151,2307,8,151,10,151,12,151,2310,9,151,1,152,1,152,1,152,1,152,1,153,1,153,1,154,1,154,1,155,1,155,1,156,1,156,1,157,1,157,1,157,1,157,1,158,3,158,2329,8,158,1,158,1,158,1,159,1,159,3,159,2335,8,159,1,159,1,159,1,159,1,159,1,159,3,159,2342,8,159,1,160,1,160,1,160,5,160,2347,8,160,10,160,12,160,2350,9,160,1,161,1,161,1,161,1,161,1,161,3,161,2357,8,161,1,162,1,162,1,163,1,163,1,163,5,163,2364,8,163,10,163,12,163,2367,9,163,1,164,1,164,1,164,1,164,1,164,1,165,1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,167,1,168,1,168,1,168,1,168,1,168,1,168,1,168,3,168,2403,8,168,3,168,2405,8,168,1,169,3,169,2408,8,169,1,169,1,169,1,169,3,169,2413,8,169,1,169,1,169,3,169,2417,8,169,5,169,2419,8,169,10,169,12,169,2422,9,169,1,170,1,170,1,170,3,170,2427,8,170,1,171,1,171,1,171,1,171,3,171,2433,8,171,1,171,1,171,3,171,2437,8,171,1,172,1,172,1,172,3,172,2442,8,172,1,172,1,172,1,172,3,172,2447,8,172,3,172,2449,8,172,1,173,1,173,3,173,2453,8,173,1,173,1,173,1,173,3,173,2458,8,173,1,173,3,173,2461,8,173,3,173,2463,8,173,1,173,1,173,3,173,2467,8,173,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,3,174,2478,8,174,1,175,1,175,1,175,1,176,1,176,1,176,1,176,1,176,1,176,3,176,2489,8,176,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,179,1,179,3,179,2500,8,179,1,179,1,179,3,179,2504,8,179,1,179,1,179,3,179,2508,8,179,1,179,1,179,3,179,2512,8,179,1,179,3,179,2515,8,179,1,179,1,179,3,179,2519,8,179,1,179,3,179,2522,8,179,1,180,1,180,1,180,1,180,3,180,2528,8,180,1,181,1,181,1,181,1,181,1,181,5,181,2535,8,181,10,181,12,181,2538,9,181,3,181,2540,8,181,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,3,182,2554,8,182,1,182,1,182,1,182,1,182,3,182,2560,8,182,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,3,183,2573,8,183,1,183,1,183,1,183,1,183,1,184,3,184,2580,8,184,1,184,1,184,1,184,3,184,2585,8,184,1,185,1,185,1,185,1,186,1,186,3,186,2592,8,186,1,187,1,187,1,187,5,187,2597,8,187,10,187,12,187,2600,9,187,1,188,1,188,1,188,1,188,1,189,1,189,3,189,2608,8,189,1,190,1,190,1,190,3,190,2613,8,190,1,190,1,190,1,190,1,190,1,190,1,190,3,190,2621,8,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,5,191,2634,8,191,10,191,12,191,2637,9,191,1,192,1,192,1,192,3,192,2642,8,192,1,193,1,193,1,193,1,193,1,193,1,193,3,193,2650,8,193,1,193,1,193,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,195,1,196,1,196,1,196,1,196,1,196,1,196,1,196,1,196,3,196,2673,8,196,1,197,1,197,1,197,1,197,1,197,3,197,2680,8,197,1,197,1,197,1,197,1,197,1,197,1,197,3,197,2688,8,197,1,198,1,198,1,198,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,199,1,200,1,200,1,200,1,201,1,201,1,201,1,201,3,201,2709,8,201,1,201,1,201,1,201,1,201,1,201,1,201,3,201,2717,8,201,1,202,1,202,1,202,1,203,1,203,1,203,3,203,2725,8,203,1,204,1,204,1,204,1,204,1,205,1,205,1,206,1,206,3,206,2735,8,206,1,207,1,207,1,207,1,207,1,207,5,207,2742,8,207,10,207,12,207,2745,9,207,1,207,1,207,3,207,2749,8,207,1,208,1,208,1,209,1,209,1,209,3,209,2756,8,209,1,209,1,209,1,209,1,209,1,209,1,209,1,209,1,209,3,209,2766,8,209,1,209,1,209,1,209,3,209,2771,8,209,1,209,1,209,1,209,1,209,1,209,5,209,2778,8,209,10,209,12,209,2781,9,209,1,209,3,209,2784,8,209,1,209,1,209,3,209,2788,8,209,1,209,3,209,2791,8,209,1,209,3,209,2794,8,209,1,209,3,209,2797,8,209,1,209,3,209,2800,8,209,1,210,1,210,1,210,1,210,1,210,1,210,3,210,2808,8,210,1,211,1,211,1,211,1,211,1,211,5,211,2815,8,211,10,211,12,211,2818,9,211,1,211,1,211,1,212,1,212,1,212,1,212,1,212,1,213,1,213,1,213,1,213,1,213,5,213,2832,8,213,10,213,12,213,2835,9,213,1,213,1,213,1,214,1,214,1,214,1,215,1,215,1,215,1,215,1,216,1,216,1,216,1,217,1,217,1,217,1,217,1,217,1,217,5,217,2855,8,217,10,217,12,217,2858,9,217,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,1,218,3,218,2875,8,218,1,219,1,219,1,219,1,219,1,219,1,219,1,219,5,219,2884,8,219,10,219,12,219,2887,9,219,1,220,1,220,1,220,1,220,1,220,3,220,2894,8,220,1,221,1,221,1,221,1,221,1,221,1,221,5,221,2902,8,221,10,221,12,221,2905,9,221,1,222,1,222,3,222,2909,8,222,1,223,1,223,3,223,2913,8,223,1,223,1,223,1,224,1,224,3,224,2919,8,224,1,224,1,224,1,225,1,225,1,225,1,225,1,225,1,225,1,226,1,226,1,226,1,227,1,227,1,227,1,227,1,227,1,227,1,227,1,228,1,228,1,228,1,228,1,229,1,229,1,229,1,229,1,229,5,229,2948,8,229,10,229,12,229,2951,9,229,1,229,1,229,1,230,1,230,1,230,1,230,1,230,5,230,2960,8,230,10,230,12,230,2963,9,230,1,230,1,230,1,231,1,231,1,231,1,232,1,232,1,232,1,232,1,233,1,233,1,233,1,233,1,234,1,234,1,234,1,234,1,234,1,234,1,235,1,235,1,235,1,236,1,236,1,236,1,236,1,236,1,237,1,237,1,237,1,237,1,238,1,238,1,238,3,238,2999,8,238,1,238,1,238,1,239,1,239,1,239,1,240,3,240,3007,8,240,1,240,3,240,3010,8,240,1,240,1,240,3,240,3014,8,240,1,241,1,241,3,241,3018,8,241,1,242,1,242,1,242,1,242,1,242,1,242,5,242,3026,8,242,10,242,12,242,3029,9,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,5,242,3039,8,242,10,242,12,242,3042,9,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,1,242,5,242,3052,8,242,10,242,12,242,3055,9,242,1,242,1,242,3,242,3059,8,242,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,1,243,5,243,3074,8,243,10,243,12,243,3077,9,243,1,243,3,243,3080,8,243,1,243,1,243,3,243,3084,8,243,1,243,1,243,1,243,1,243,1,243,5,243,3091,8,243,10,243,12,243,3094,9,243,1,243,1,243,1,243,1,243,1,243,1,243,5,243,3102,8,243,10,243,12,243,3105,9,243,1,243,1,243,3,243,3109,8,243,1,244,1,244,3,244,3113,8,244,1,245,1,245,3,245,3117,8,245,1,245,3,245,3120,8,245,1,246,1,246,1,247,1,247,1,247,1,247,1,247,1,247,1,247,1,248,1,248,1,248,5,248,3134,8,248,10,248,12,248,3137,9,248,1,249,1,249,1,249,1,249,1,250,1,250,1,251,1,251,1,251,1,251,1,251,1,251,3,251,3151,8,251,1,252,1,252,1,252,1,252,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,1,253,3,253,3166,8,253,1,253,3,253,3169,8,253,1,254,1,254,1,254,1,254,1,255,1,255,1,255,1,255,5,255,3179,8,255,10,255,12,255,3182,9,255,3,255,3184,8,255,1,255,1,255,1,256,1,256,1,256,1,256,1,257,1,257,1,258,1,258,1,258,1,258,5,258,3198,8,258,10,258,12,258,3201,9,258,1,258,1,258,1,258,3,258,3206,8,258,1,259,1,259,1,259,1,259,5,259,3212,8,259,10,259,12,259,3215,9,259,1,259,1,259,1,260,1,260,1,260,1,260,1,260,3,260,3224,8,260,1,260,1,260,3,260,3228,8,260,1,260,1,260,1,261,1,261,1,261,1,261,3,261,3236,8,261,1,262,1,262,1,262,1,262,3,262,3242,8,262,1,262,1,262,1,262,1,262,3,262,3248,8,262,1,263,1,263,1,263,1,263,1,263,1,263,1,263,1,263,5,263,3258,8,263,10,263,12,263,3261,9,263,1,263,3,263,3264,8,263,3,263,3266,8,263,1,264,1,264,1,264,1,264,1,264,1,264,1,264,1,264,5,264,3276,8,264,10,264,12,264,3279,9,264,1,264,3,264,3282,8,264,1,264,1,264,1,264,3,264,3287,8,264,1,265,1,265,1,265,1,265,3,265,3293,8,265,1,265,1,265,1,265,5,265,3298,8,265,10,265,12,265,3301,9,265,1,265,3,265,3304,8,265,1,266,1,266,3,266,3308,8,266,1,267,3,267,3311,8,267,1,267,1,267,1,267,1,268,1,268,1,268,1,268,1,268,1,268,5,268,3322,8,268,10,268,12,268,3325,9,268,1,268,1,268,1,268,1,268,5,268,3331,8,268,10,268,12,268,3334,9,268,1,268,3,268,3337,8,268,1,268,1,268,1,268,3,268,3342,8,268,1,269,1,269,1,269,1,269,3,269,3348,8,269,1,269,1,269,1,269,1,269,1,269,5,269,3355,8,269,10,269,12,269,3358,9,269,1,269,1,269,1,269,1,269,5,269,3364,8,269,10,269,12,269,3367,9,269,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,1,270,3,270,3383,8,270,1,270,1,270,3,270,3387,8,270,1,270,1,270,3,270,3391,8,270,3,270,3393,8,270,1,271,1,271,3,271,3397,8,271,1,272,1,272,1,272,5,272,3402,8,272,10,272,12,272,3405,9,272,1,272,3,272,3408,8,272,1,272,1,272,3,272,3412,8,272,3,272,3414,8,272,1,273,1,273,1,273,1,273,1,273,1,273,1,273,1,273,5,273,3424,8,273,10,273,12,273,3427,9,273,1,273,1,273,1,273,1,273,1,273,1,274,1,274,1,274,1,275,1,275,1,275,5,275,3440,8,275,10,275,12,275,3443,9,275,1,276,1,276,1,276,1,276,1,277,1,277,1,277,1,277,1,277,1,277,1,277,5,277,3456,8,277,10,277,12,277,3459,9,277,1,278,1,278,1,279,1,279,1,279,1,279,1,279,1,280,1,280,1,280,1,280,1,280,3,280,3473,8,280,1,281,1,281,1,281,5,281,3478,8,281,10,281,12,281,3481,9,281,1,282,1,282,1,282,1,282,1,282,3,282,3488,8,282,1,282,1,282,1,282,1,282,1,282,1,282,1,283,5,283,3497,8,283,10,283,12,283,3500,9,283,1,283,1,283,4,283,3504,8,283,11,283,12,283,3505,1,283,5,283,3509,8,283,10,283,12,283,3512,9,283,1,283,5,283,3515,8,283,10,283,12,283,3518,9,283,3,283,3520,8,283,1,284,3,284,3523,8,284,1,284,1,284,1,284,1,284,1,284,3,284,3530,8,284,1,285,3,285,3533,8,285,1,285,3,285,3536,8,285,1,285,1,285,1,285,1,285,1,285,1,285,1,285,3,285,3545,8,285,1,286,1,286,1,286,3,286,3550,8,286,1,286,3,286,3553,8,286,1,286,1,286,1,286,1,286,1,286,1,286,5,286,3561,8,286,10,286,12,286,3564,9,286,1,286,3,286,3567,8,286,3,286,3569,8,286,1,286,1,286,1,286,1,286,1,286,3,286,3576,8,286,1,286,3,286,3579,8,286,1,286,1,286,3,286,3583,8,286,3,286,3585,8,286,1,286,3,286,3588,8,286,1,287,1,287,1,287,3,287,3593,8,287,1,288,3,288,3596,8,288,1,288,1,288,1,288,3,288,3601,8,288,1,289,1,289,1,289,1,289,1,289,1,289,5,289,3609,8,289,10,289,12,289,3612,9,289,1,289,1,289,3,289,3616,8,289,1,290,1,290,1,290,1,290,1,290,1,290,1,290,5,290,3625,8,290,10,290,12,290,3628,9,290,1,290,3,290,3631,8,290,1,290,1,290,3,290,3635,8,290,3,290,3637,8,290,1,290,1,290,3,290,3641,8,290,1,290,1,290,1,290,3,290,3646,8,290,1,290,1,290,1,290,1,290,5,290,3652,8,290,10,290,12,290,3655,9,290,3,290,3657,8,290,1,290,3,290,3660,8,290,1,290,3,290,3663,8,290,1,291,1,291,1,291,3,291,3668,8,291,1,291,1,291,1,292,1,292,3,292,3674,8,292,1,292,3,292,3677,8,292,1,293,1,293,3,293,3681,8,293,1,294,1,294,1,294,1,294,3,294,3687,8,294,1,295,1,295,1,295,1,295,1,295,1,295,3,295,3695,8,295,1,295,3,295,3698,8,295,1,296,1,296,1,296,1,296,1,296,3,296,3705,8,296,1,296,1,296,3,296,3709,8,296,1,296,3,296,3712,8,296,1,297,1,297,3,297,3716,8,297,1,298,1,298,1,298,5,298,3721,8,298,10,298,12,298,3724,9,298,1,299,1,299,1,299,1,299,1,300,1,300,1,301,1,301,1,301,1,301,1,301,1,301,1,302,1,302,1,302,1,302,5,302,3742,8,302,10,302,12,302,3745,9,302,1,302,1,302,1,303,1,303,1,303,1,303,3,303,3753,8,303,1,303,3,303,3756,8,303,1,304,1,304,1,304,1,304,5,304,3762,8,304,10,304,12,304,3765,9,304,1,304,1,304,1,305,1,305,1,306,1,306,1,306,1,306,1,306,1,307,1,307,1,307,1,307,1,307,1,307,5,307,3782,8,307,10,307,12,307,3785,9,307,1,308,1,308,1,308,1,308,1,308,3,308,3792,8,308,1,309,1,309,1,309,1,310,1,310,1,310,3,310,3800,8,310,1,311,1,311,1,311,1,311,1,311,1,312,1,312,3,312,3809,8,312,1,313,1,313,1,313,1,313,1,314,1,314,1,314,1,314,1,314,1,315,1,315,1,315,1,315,1,315,5,315,3825,8,315,10,315,12,315,3828,9,315,1,315,1,315,1,316,1,316,1,316,1,316,1,316,1,317,1,317,1,317,1,317,1,317,5,317,3842,8,317,10,317,12,317,3845,9,317,1,317,1,317,1,318,1,318,1,318,1,318,1,319,1,319,1,319,5,319,3856,8,319,10,319,12,319,3859,9,319,1,320,1,320,1,320,1,320,1,321,1,321,1,322,1,322,1,322,1,322,1,322,1,323,1,323,1,323,5,323,3875,8,323,10,323,12,323,3878,9,323,1,324,1,324,1,324,1,324,1,325,1,325,1,326,1,326,1,326,3,326,3889,8,326,1,326,1,326,1,327,1,327,1,328,1,328,1,328,1,328,3,328,3899,8,328,1,329,1,329,1,329,1,329,1,329,1,330,1,330,3,330,3908,8,330,1,331,1,331,1,332,1,332,1,332,1,333,1,333,1,333,5,333,3918,8,333,10,333,12,333,3921,9,333,1,334,1,334,1,334,1,334,1,335,1,335,1,336,1,336,1,336,1,336,1,337,3,337,3934,8,337,1,337,3,337,3937,8,337,1,337,3,337,3940,8,337,1,337,3,337,3943,8,337,1,338,1,338,1,339,1,339,3,339,3949,8,339,1,339,1,339,1,339,1,340,1,340,1,341,1,341,1,341,3,341,3959,8,341,1,342,1,342,1,343,1,343,3,343,3965,8,343,1,344,1,344,1,344,1,344,1,344,1,345,1,345,1,345,1,345,3,345,3976,8,345,1,345,3,345,3979,8,345,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,1,346,3,346,3991,8,346,1,347,1,347,1,347,1,348,1,348,1,348,1,348,1,348,3,348,4001,8,348,1,349,1,349,1,349,1,349,3,349,4007,8,349,1,350,1,350,1,351,1,351,1,352,1,352,1,353,1,353,3,353,4017,8,353,1,354,1,354,1,354,1,354,1,354,1,354,1,354,3,354,4026,8,354,1,355,1,355,1,355,1,355,1,355,1,355,3,355,4034,8,355,1,356,1,356,1,356,1,356,1,356,3,356,4041,8,356,1,357,1,357,1,357,1,357,1,357,1,357,1,357,1,357,3,357,4051,8,357,1,358,1,358,1,358,1,358,1,358,1,358,1,358,3,358,4060,8,358,1,359,1,359,1,359,1,359,1,359,1,359,1,359,3,359,4069,8,359,1,360,1,360,1,360,1,360,1,360,1,360,1,360,1,360,3,360,4079,8,360,1,361,1,361,3,361,4083,8,361,1,362,1,362,3,362,4087,8,362,1,363,1,363,3,363,4091,8,363,1,364,1,364,3,364,4095,8,364,1,365,1,365,3,365,4099,8,365,1,366,1,366,3,366,4103,8,366,1,367,1,367,3,367,4107,8,367,1,368,1,368,3,368,4111,8,368,1,369,1,369,3,369,4115,8,369,1,370,1,370,3,370,4119,8,370,1,371,1,371,3,371,4123,8,371,1,372,1,372,3,372,4127,8,372,1,373,1,373,1,373,3,373,4132,8,373,1,374,1,374,1,374,3,374,4137,8,374,1,375,1,375,1,375,3,375,4142,8,375,1,375,1,375,3,375,4146,8,375,1,376,1,376,3,376,4150,8,376,1,377,1,377,1,377,3,377,4155,8,377,1,378,3,378,4158,8,378,1,378,1,378,1,379,1,379,3,379,4164,8,379,1,380,3,380,4167,8,380,1,380,1,380,1,381,1,381,1,381,1,381,1,381,1,381,1,381,1,381,3,381,4179,8,381,1,382,1,382,1,383,1,383,1,384,1,384,1,385,1,385,1,386,1,386,1,387,1,387,1,388,1,388,1,389,1,389,1,390,1,390,1,391,1,391,1,392,1,392,1,393,1,393,1,394,1,394,1,395,1,395,1,395,1,395,1,395,3,395,4212,8,395,1,396,5,396,4215,8,396,10,396,12,396,4218,9,396,1,396,1,396,4,396,4222,8,396,11,396,12,396,4223,1,396,5,396,4227,8,396,10,396,12,396,4230,9,396,1,396,5,396,4233,8,396,10,396,12,396,4236,9,396,1,396,1,396,1,397,1,397,1,397,3,397,4243,8,397,3,397,4245,8,397,1,397,1,397,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,1,398,3,398,4262,8,398,1,399,1,399,1,399,1,400,1,400,1,400,1,401,1,401,1,401,1,402,1,402,3,402,4275,8,402,1,402,0,0,403,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,0,39,2,0,58,58,274,274,6,0,145,145,156,156,180,180,185,185,234,234,252,252,1,0,6,9,1,0,17,18,2,0,20,21,23,23,2,0,17,19,196,196,2,0,115,115,121,121,4,0,121,121,133,133,290,290,297,297,2,0,81,81,294,294,2,0,56,56,103,103,2,0,26,26,202,202,2,0,48,48,110,110,2,0,163,163,261,261,3,0,106,106,182,182,208,208,2,0,66,66,276,276,2,0,206,206,263,263,2,0,59,59,275,275,3,0,189,190,192,192,260,260,2,0,46,46,112,112,2,0,148,148,302,302,2,0,61,61,278,278,2,0,120,120,299,299,3,0,49,49,104,104,237,237,3,0,61,61,255,255,278,278,2,0,143,143,301,301,3,0,107,107,229,229,277,277,2,0,45,45,271,271,2,0,78,78,259,259,3,0,150,150,231,231,256,256,2,0,139,139,224,224,1,0,317,318,21,0,58,58,67,68,72,73,89,89,91,93,116,116,128,128,142,143,153,153,173,175,183,183,196,196,198,198,228,228,232,232,247,248,254,254,262,262,274,274,293,293,309,310,3,0,53,53,120,120,269,269,11,0,48,48,55,55,57,57,110,110,124,124,152,152,168,168,181,181,295,295,311,311,313,313,31,0,61,61,83,83,85,85,94,94,104,104,107,107,136,136,147,147,163,163,177,177,179,179,184,184,186,192,194,194,203,203,205,205,207,207,214,214,218,221,227,227,229,229,237,237,241,241,250,250,260,261,266,268,272,272,278,278,287,287,292,292,298,298,50,0,44,47,49,52,54,54,56,56,59,62,64,66,69,69,71,71,74,76,79,79,81,88,90,90,94,105,107,109,111,115,117,118,121,123,125,127,129,132,134,137,139,141,144,145,147,149,151,151,154,167,169,172,176,180,184,195,197,197,199,207,209,227,229,230,233,238,240,242,244,246,249,253,255,255,257,258,260,261,263,263,265,268,271,273,275,280,282,289,292,292,294,294,296,305,307,308,312,312,314,315,12,0,70,70,106,106,119,119,138,138,182,182,208,208,243,243,264,264,270,270,281,281,291,291,306,306,2,0,133,133,290,290,1,0,319,320,4591,0,811,1,0,0,0,2,816,1,0,0,0,4,842,1,0,0,0,6,850,1,0,0,0,8,874,1,0,0,0,10,881,1,0,0,0,12,929,1,0,0,0,14,940,1,0,0,0,16,942,1,0,0,0,18,950,1,0,0,0,20,958,1,0,0,0,22,962,1,0,0,0,24,1020,1,0,0,0,26,1022,1,0,0,0,28,1024,1,0,0,0,30,1032,1,0,0,0,32,1035,1,0,0,0,34,1039,1,0,0,0,36,1042,1,0,0,0,38,1068,1,0,0,0,40,1076,1,0,0,0,42,1084,1,0,0,0,44,1096,1,0,0,0,46,1098,1,0,0,0,48,1110,1,0,0,0,50,1119,1,0,0,0,52,1125,1,0,0,0,54,1131,1,0,0,0,56,1135,1,0,0,0,58,1137,1,0,0,0,60,1146,1,0,0,0,62,1162,1,0,0,0,64,1171,1,0,0,0,66,1184,1,0,0,0,68,1210,1,0,0,0,70,1232,1,0,0,0,72,1234,1,0,0,0,74,1241,1,0,0,0,76,1248,1,0,0,0,78,1256,1,0,0,0,80,1271,1,0,0,0,82,1285,1,0,0,0,84,1290,1,0,0,0,86,1292,1,0,0,0,88,1296,1,0,0,0,90,1298,1,0,0,0,92,1302,1,0,0,0,94,1310,1,0,0,0,96,1321,1,0,0,0,98,1323,1,0,0,0,100,1341,1,0,0,0,102,1345,1,0,0,0,104,1364,1,0,0,0,106,1372,1,0,0,0,108,1374,1,0,0,0,110,1396,1,0,0,0,112,1405,1,0,0,0,114,1413,1,0,0,0,116,1426,1,0,0,0,118,1428,1,0,0,0,120,1439,1,0,0,0,122,1447,1,0,0,0,124,1449,1,0,0,0,126,1460,1,0,0,0,128,1471,1,0,0,0,130,1476,1,0,0,0,132,1484,1,0,0,0,134,1498,1,0,0,0,136,1512,1,0,0,0,138,1516,1,0,0,0,140,1520,1,0,0,0,142,1535,1,0,0,0,144,1537,1,0,0,0,146,1543,1,0,0,0,148,1547,1,0,0,0,150,1555,1,0,0,0,152,1560,1,0,0,0,154,1569,1,0,0,0,156,1575,1,0,0,0,158,1579,1,0,0,0,160,1584,1,0,0,0,162,1586,1,0,0,0,164,1602,1,0,0,0,166,1607,1,0,0,0,168,1611,1,0,0,0,170,1617,1,0,0,0,172,1625,1,0,0,0,174,1632,1,0,0,0,176,1637,1,0,0,0,178,1656,1,0,0,0,180,1675,1,0,0,0,182,1690,1,0,0,0,184,1695,1,0,0,0,186,1700,1,0,0,0,188,1705,1,0,0,0,190,1712,1,0,0,0,192,1717,1,0,0,0,194,1732,1,0,0,0,196,1737,1,0,0,0,198,1744,1,0,0,0,200,1777,1,0,0,0,202,1796,1,0,0,0,204,1800,1,0,0,0,206,1802,1,0,0,0,208,1827,1,0,0,0,210,1829,1,0,0,0,212,1838,1,0,0,0,214,1848,1,0,0,0,216,1853,1,0,0,0,218,1858,1,0,0,0,220,1866,1,0,0,0,222,1871,1,0,0,0,224,1876,1,0,0,0,226,1899,1,0,0,0,228,1901,1,0,0,0,230,1905,1,0,0,0,232,1913,1,0,0,0,234,1922,1,0,0,0,236,1936,1,0,0,0,238,1944,1,0,0,0,240,1946,1,0,0,0,242,1956,1,0,0,0,244,1968,1,0,0,0,246,2003,1,0,0,0,248,2007,1,0,0,0,250,2015,1,0,0,0,252,2051,1,0,0,0,254,2055,1,0,0,0,256,2097,1,0,0,0,258,2125,1,0,0,0,260,2136,1,0,0,0,262,2138,1,0,0,0,264,2141,1,0,0,0,266,2149,1,0,0,0,268,2156,1,0,0,0,270,2190,1,0,0,0,272,2192,1,0,0,0,274,2194,1,0,0,0,276,2196,1,0,0,0,278,2205,1,0,0,0,280,2209,1,0,0,0,282,2241,1,0,0,0,284,2258,1,0,0,0,286,2260,1,0,0,0,288,2262,1,0,0,0,290,2274,1,0,0,0,292,2277,1,0,0,0,294,2285,1,0,0,0,296,2291,1,0,0,0,298,2293,1,0,0,0,300,2301,1,0,0,0,302,2303,1,0,0,0,304,2311,1,0,0,0,306,2315,1,0,0,0,308,2317,1,0,0,0,310,2319,1,0,0,0,312,2321,1,0,0,0,314,2323,1,0,0,0,316,2328,1,0,0,0,318,2332,1,0,0,0,320,2343,1,0,0,0,322,2356,1,0,0,0,324,2358,1,0,0,0,326,2360,1,0,0,0,328,2368,1,0,0,0,330,2373,1,0,0,0,332,2378,1,0,0,0,334,2384,1,0,0,0,336,2404,1,0,0,0,338,2407,1,0,0,0,340,2423,1,0,0,0,342,2436,1,0,0,0,344,2438,1,0,0,0,346,2450,1,0,0,0,348,2477,1,0,0,0,350,2479,1,0,0,0,352,2482,1,0,0,0,354,2490,1,0,0,0,356,2492,1,0,0,0,358,2521,1,0,0,0,360,2527,1,0,0,0,362,2529,1,0,0,0,364,2553,1,0,0,0,366,2572,1,0,0,0,368,2584,1,0,0,0,370,2586,1,0,0,0,372,2591,1,0,0,0,374,2593,1,0,0,0,376,2601,1,0,0,0,378,2607,1,0,0,0,380,2609,1,0,0,0,382,2625,1,0,0,0,384,2641,1,0,0,0,386,2643,1,0,0,0,388,2653,1,0,0,0,390,2660,1,0,0,0,392,2664,1,0,0,0,394,2674,1,0,0,0,396,2689,1,0,0,0,398,2692,1,0,0,0,400,2701,1,0,0,0,402,2704,1,0,0,0,404,2718,1,0,0,0,406,2724,1,0,0,0,408,2726,1,0,0,0,410,2730,1,0,0,0,412,2734,1,0,0,0,414,2748,1,0,0,0,416,2750,1,0,0,0,418,2752,1,0,0,0,420,2807,1,0,0,0,422,2809,1,0,0,0,424,2821,1,0,0,0,426,2826,1,0,0,0,428,2838,1,0,0,0,430,2841,1,0,0,0,432,2845,1,0,0,0,434,2848,1,0,0,0,436,2874,1,0,0,0,438,2876,1,0,0,0,440,2893,1,0,0,0,442,2895,1,0,0,0,444,2908,1,0,0,0,446,2910,1,0,0,0,448,2916,1,0,0,0,450,2922,1,0,0,0,452,2928,1,0,0,0,454,2931,1,0,0,0,456,2938,1,0,0,0,458,2942,1,0,0,0,460,2954,1,0,0,0,462,2966,1,0,0,0,464,2969,1,0,0,0,466,2973,1,0,0,0,468,2977,1,0,0,0,470,2983,1,0,0,0,472,2986,1,0,0,0,474,2991,1,0,0,0,476,2995,1,0,0,0,478,3002,1,0,0,0,480,3009,1,0,0,0,482,3015,1,0,0,0,484,3058,1,0,0,0,486,3060,1,0,0,0,488,3112,1,0,0,0,490,3114,1,0,0,0,492,3121,1,0,0,0,494,3123,1,0,0,0,496,3130,1,0,0,0,498,3138,1,0,0,0,500,3142,1,0,0,0,502,3150,1,0,0,0,504,3152,1,0,0,0,506,3168,1,0,0,0,508,3170,1,0,0,0,510,3174,1,0,0,0,512,3187,1,0,0,0,514,3191,1,0,0,0,516,3205,1,0,0,0,518,3207,1,0,0,0,520,3218,1,0,0,0,522,3231,1,0,0,0,524,3237,1,0,0,0,526,3249,1,0,0,0,528,3267,1,0,0,0,530,3288,1,0,0,0,532,3307,1,0,0,0,534,3310,1,0,0,0,536,3315,1,0,0,0,538,3343,1,0,0,0,540,3392,1,0,0,0,542,3396,1,0,0,0,544,3413,1,0,0,0,546,3415,1,0,0,0,548,3433,1,0,0,0,550,3436,1,0,0,0,552,3444,1,0,0,0,554,3448,1,0,0,0,556,3460,1,0,0,0,558,3462,1,0,0,0,560,3467,1,0,0,0,562,3474,1,0,0,0,564,3482,1,0,0,0,566,3498,1,0,0,0,568,3522,1,0,0,0,570,3532,1,0,0,0,572,3549,1,0,0,0,574,3589,1,0,0,0,576,3595,1,0,0,0,578,3602,1,0,0,0,580,3662,1,0,0,0,582,3667,1,0,0,0,584,3676,1,0,0,0,586,3678,1,0,0,0,588,3682,1,0,0,0,590,3688,1,0,0,0,592,3699,1,0,0,0,594,3715,1,0,0,0,596,3717,1,0,0,0,598,3725,1,0,0,0,600,3729,1,0,0,0,602,3731,1,0,0,0,604,3737,1,0,0,0,606,3748,1,0,0,0,608,3757,1,0,0,0,610,3768,1,0,0,0,612,3770,1,0,0,0,614,3775,1,0,0,0,616,3791,1,0,0,0,618,3793,1,0,0,0,620,3796,1,0,0,0,622,3801,1,0,0,0,624,3808,1,0,0,0,626,3810,1,0,0,0,628,3814,1,0,0,0,630,3819,1,0,0,0,632,3831,1,0,0,0,634,3836,1,0,0,0,636,3848,1,0,0,0,638,3852,1,0,0,0,640,3860,1,0,0,0,642,3864,1,0,0,0,644,3866,1,0,0,0,646,3871,1,0,0,0,648,3879,1,0,0,0,650,3883,1,0,0,0,652,3888,1,0,0,0,654,3892,1,0,0,0,656,3898,1,0,0,0,658,3900,1,0,0,0,660,3907,1,0,0,0,662,3909,1,0,0,0,664,3911,1,0,0,0,666,3914,1,0,0,0,668,3922,1,0,0,0,670,3926,1,0,0,0,672,3928,1,0,0,0,674,3933,1,0,0,0,676,3944,1,0,0,0,678,3946,1,0,0,0,680,3953,1,0,0,0,682,3955,1,0,0,0,684,3960,1,0,0,0,686,3964,1,0,0,0,688,3966,1,0,0,0,690,3978,1,0,0,0,692,3990,1,0,0,0,694,3992,1,0,0,0,696,4e3,1,0,0,0,698,4002,1,0,0,0,700,4008,1,0,0,0,702,4010,1,0,0,0,704,4012,1,0,0,0,706,4016,1,0,0,0,708,4025,1,0,0,0,710,4033,1,0,0,0,712,4040,1,0,0,0,714,4050,1,0,0,0,716,4059,1,0,0,0,718,4068,1,0,0,0,720,4078,1,0,0,0,722,4082,1,0,0,0,724,4086,1,0,0,0,726,4090,1,0,0,0,728,4094,1,0,0,0,730,4098,1,0,0,0,732,4102,1,0,0,0,734,4106,1,0,0,0,736,4110,1,0,0,0,738,4114,1,0,0,0,740,4118,1,0,0,0,742,4122,1,0,0,0,744,4126,1,0,0,0,746,4131,1,0,0,0,748,4136,1,0,0,0,750,4141,1,0,0,0,752,4149,1,0,0,0,754,4154,1,0,0,0,756,4157,1,0,0,0,758,4163,1,0,0,0,760,4166,1,0,0,0,762,4178,1,0,0,0,764,4180,1,0,0,0,766,4182,1,0,0,0,768,4184,1,0,0,0,770,4186,1,0,0,0,772,4188,1,0,0,0,774,4190,1,0,0,0,776,4192,1,0,0,0,778,4194,1,0,0,0,780,4196,1,0,0,0,782,4198,1,0,0,0,784,4200,1,0,0,0,786,4202,1,0,0,0,788,4204,1,0,0,0,790,4211,1,0,0,0,792,4216,1,0,0,0,794,4244,1,0,0,0,796,4261,1,0,0,0,798,4263,1,0,0,0,800,4266,1,0,0,0,802,4269,1,0,0,0,804,4274,1,0,0,0,806,812,3,2,1,0,807,808,5,223,0,0,808,809,5,52,0,0,809,810,5,319,0,0,810,812,3,4,2,0,811,806,1,0,0,0,811,807,1,0,0,0,812,1,1,0,0,0,813,815,5,24,0,0,814,813,1,0,0,0,815,818,1,0,0,0,816,814,1,0,0,0,816,817,1,0,0,0,817,819,1,0,0,0,818,816,1,0,0,0,819,828,3,10,5,0,820,822,5,24,0,0,821,820,1,0,0,0,822,823,1,0,0,0,823,821,1,0,0,0,823,824,1,0,0,0,824,825,1,0,0,0,825,827,3,10,5,0,826,821,1,0,0,0,827,830,1,0,0,0,828,826,1,0,0,0,828,829,1,0,0,0,829,834,1,0,0,0,830,828,1,0,0,0,831,833,5,24,0,0,832,831,1,0,0,0,833,836,1,0,0,0,834,832,1,0,0,0,834,835,1,0,0,0,835,837,1,0,0,0,836,834,1,0,0,0,837,838,5,0,0,1,838,3,1,0,0,0,839,841,5,24,0,0,840,839,1,0,0,0,841,844,1,0,0,0,842,840,1,0,0,0,842,843,1,0,0,0,843,845,1,0,0,0,844,842,1,0,0,0,845,846,5,0,0,1,846,5,1,0,0,0,847,849,5,24,0,0,848,847,1,0,0,0,849,852,1,0,0,0,850,848,1,0,0,0,850,851,1,0,0,0,851,861,1,0,0,0,852,850,1,0,0,0,853,855,3,8,4,0,854,856,5,24,0,0,855,854,1,0,0,0,856,857,1,0,0,0,857,855,1,0,0,0,857,858,1,0,0,0,858,860,1,0,0,0,859,853,1,0,0,0,860,863,1,0,0,0,861,859,1,0,0,0,861,862,1,0,0,0,862,864,1,0,0,0,863,861,1,0,0,0,864,865,5,247,0,0,865,869,3,14,7,0,866,868,5,24,0,0,867,866,1,0,0,0,868,871,1,0,0,0,869,867,1,0,0,0,869,870,1,0,0,0,870,7,1,0,0,0,871,869,1,0,0,0,872,875,3,698,349,0,873,875,3,214,107,0,874,872,1,0,0,0,874,873,1,0,0,0,875,9,1,0,0,0,876,879,5,129,0,0,877,878,5,1,0,0,878,880,5,222,0,0,879,877,1,0,0,0,879,880,1,0,0,0,880,882,1,0,0,0,881,876,1,0,0,0,881,882,1,0,0,0,882,883,1,0,0,0,883,884,3,12,6,0,884,11,1,0,0,0,885,930,3,224,112,0,886,930,3,232,116,0,887,930,3,698,349,0,888,930,3,418,209,0,889,930,3,520,260,0,890,930,3,694,347,0,891,930,3,364,182,0,892,930,3,700,350,0,893,930,3,592,296,0,894,930,3,590,295,0,895,930,3,702,351,0,896,930,3,210,105,0,897,930,3,214,107,0,898,930,3,216,108,0,899,930,3,434,217,0,900,930,3,438,219,0,901,930,3,222,111,0,902,930,3,564,282,0,903,930,3,568,284,0,904,930,3,570,285,0,905,930,3,370,185,0,906,930,3,522,261,0,907,930,3,524,262,0,908,930,3,526,263,0,909,930,3,528,264,0,910,930,3,530,265,0,911,930,3,394,197,0,912,930,3,398,199,0,913,930,3,402,201,0,914,930,3,380,190,0,915,930,3,382,191,0,916,930,3,386,193,0,917,930,3,546,273,0,918,930,3,560,280,0,919,930,3,606,303,0,920,930,3,614,307,0,921,930,3,636,318,0,922,930,3,536,268,0,923,930,3,538,269,0,924,930,3,442,221,0,925,930,3,392,196,0,926,930,3,388,194,0,927,930,3,390,195,0,928,930,3,554,277,0,929,885,1,0,0,0,929,886,1,0,0,0,929,887,1,0,0,0,929,888,1,0,0,0,929,889,1,0,0,0,929,890,1,0,0,0,929,891,1,0,0,0,929,892,1,0,0,0,929,893,1,0,0,0,929,894,1,0,0,0,929,895,1,0,0,0,929,896,1,0,0,0,929,897,1,0,0,0,929,898,1,0,0,0,929,899,1,0,0,0,929,900,1,0,0,0,929,901,1,0,0,0,929,902,1,0,0,0,929,903,1,0,0,0,929,904,1,0,0,0,929,905,1,0,0,0,929,906,1,0,0,0,929,907,1,0,0,0,929,908,1,0,0,0,929,909,1,0,0,0,929,910,1,0,0,0,929,911,1,0,0,0,929,912,1,0,0,0,929,913,1,0,0,0,929,914,1,0,0,0,929,915,1,0,0,0,929,916,1,0,0,0,929,917,1,0,0,0,929,918,1,0,0,0,929,919,1,0,0,0,929,920,1,0,0,0,929,921,1,0,0,0,929,922,1,0,0,0,929,923,1,0,0,0,929,924,1,0,0,0,929,925,1,0,0,0,929,926,1,0,0,0,929,927,1,0,0,0,929,928,1,0,0,0,930,13,1,0,0,0,931,936,3,16,8,0,932,933,5,209,0,0,933,935,3,16,8,0,934,932,1,0,0,0,935,938,1,0,0,0,936,934,1,0,0,0,936,937,1,0,0,0,937,941,1,0,0,0,938,936,1,0,0,0,939,941,3,200,100,0,940,931,1,0,0,0,940,939,1,0,0,0,941,15,1,0,0,0,942,947,3,18,9,0,943,944,5,51,0,0,944,946,3,18,9,0,945,943,1,0,0,0,946,949,1,0,0,0,947,945,1,0,0,0,947,948,1,0,0,0,948,17,1,0,0,0,949,947,1,0,0,0,950,955,3,20,10,0,951,952,5,315,0,0,952,954,3,20,10,0,953,951,1,0,0,0,954,957,1,0,0,0,955,953,1,0,0,0,955,956,1,0,0,0,956,19,1,0,0,0,957,955,1,0,0,0,958,960,3,28,14,0,959,961,3,24,12,0,960,959,1,0,0,0,960,961,1,0,0,0,961,21,1,0,0,0,962,964,5,170,0,0,963,965,5,196,0,0,964,963,1,0,0,0,964,965,1,0,0,0,965,966,1,0,0,0,966,967,5,110,0,0,967,968,5,142,0,0,968,23,1,0,0,0,969,971,5,196,0,0,970,969,1,0,0,0,970,971,1,0,0,0,971,972,1,0,0,0,972,973,3,26,13,0,973,976,3,28,14,0,974,975,5,122,0,0,975,977,3,28,14,0,976,974,1,0,0,0,976,977,1,0,0,0,977,1021,1,0,0,0,978,980,5,196,0,0,979,978,1,0,0,0,979,980,1,0,0,0,980,981,1,0,0,0,981,983,5,159,0,0,982,984,5,80,0,0,983,982,1,0,0,0,983,984,1,0,0,0,984,985,1,0,0,0,985,1021,3,82,41,0,986,996,5,171,0,0,987,996,5,197,0,0,988,989,5,170,0,0,989,996,5,198,0,0,990,992,5,170,0,0,991,990,1,0,0,0,991,992,1,0,0,0,992,993,1,0,0,0,993,994,5,196,0,0,994,996,5,198,0,0,995,986,1,0,0,0,995,987,1,0,0,0,995,988,1,0,0,0,995,991,1,0,0,0,996,1021,1,0,0,0,997,999,5,196,0,0,998,997,1,0,0,0,998,999,1,0,0,0,999,1e3,1,0,0,0,1e3,1002,5,67,0,0,1001,1003,7,0,0,0,1002,1001,1,0,0,0,1002,1003,1,0,0,0,1003,1004,1,0,0,0,1004,1005,3,28,14,0,1005,1006,5,51,0,0,1006,1007,3,28,14,0,1007,1021,1,0,0,0,1008,1014,5,2,0,0,1009,1014,5,3,0,0,1010,1014,5,4,0,0,1011,1014,5,5,0,0,1012,1014,3,22,11,0,1013,1008,1,0,0,0,1013,1009,1,0,0,0,1013,1010,1,0,0,0,1013,1011,1,0,0,0,1013,1012,1,0,0,0,1014,1015,1,0,0,0,1015,1017,3,28,14,0,1016,1013,1,0,0,0,1017,1018,1,0,0,0,1018,1016,1,0,0,0,1018,1019,1,0,0,0,1019,1021,1,0,0,0,1020,970,1,0,0,0,1020,979,1,0,0,0,1020,995,1,0,0,0,1020,998,1,0,0,0,1020,1016,1,0,0,0,1021,25,1,0,0,0,1022,1023,7,1,0,0,1023,27,1,0,0,0,1024,1029,3,36,18,0,1025,1026,7,2,0,0,1026,1028,3,36,18,0,1027,1025,1,0,0,0,1028,1031,1,0,0,0,1029,1027,1,0,0,0,1029,1030,1,0,0,0,1030,29,1,0,0,0,1031,1029,1,0,0,0,1032,1033,5,8,0,0,1033,1034,5,8,0,0,1034,31,1,0,0,0,1035,1036,5,8,0,0,1036,1037,5,8,0,0,1037,1038,5,13,0,0,1038,33,1,0,0,0,1039,1040,5,29,0,0,1040,1041,5,29,0,0,1041,35,1,0,0,0,1042,1055,3,38,19,0,1043,1051,5,10,0,0,1044,1051,3,30,15,0,1045,1051,5,11,0,0,1046,1051,3,32,16,0,1047,1051,5,12,0,0,1048,1051,5,13,0,0,1049,1051,5,39,0,0,1050,1043,1,0,0,0,1050,1044,1,0,0,0,1050,1045,1,0,0,0,1050,1046,1,0,0,0,1050,1047,1,0,0,0,1050,1048,1,0,0,0,1050,1049,1,0,0,0,1051,1052,1,0,0,0,1052,1054,3,38,19,0,1053,1050,1,0,0,0,1054,1057,1,0,0,0,1055,1053,1,0,0,0,1055,1056,1,0,0,0,1056,1066,1,0,0,0,1057,1055,1,0,0,0,1058,1059,3,34,17,0,1059,1060,3,36,18,0,1060,1067,1,0,0,0,1061,1063,5,29,0,0,1062,1061,1,0,0,0,1063,1064,1,0,0,0,1064,1062,1,0,0,0,1064,1065,1,0,0,0,1065,1067,1,0,0,0,1066,1058,1,0,0,0,1066,1062,1,0,0,0,1066,1067,1,0,0,0,1067,37,1,0,0,0,1068,1073,3,40,20,0,1069,1070,7,3,0,0,1070,1072,3,40,20,0,1071,1069,1,0,0,0,1072,1075,1,0,0,0,1073,1071,1,0,0,0,1073,1074,1,0,0,0,1074,39,1,0,0,0,1075,1073,1,0,0,0,1076,1081,3,42,21,0,1077,1078,7,4,0,0,1078,1080,3,42,21,0,1079,1077,1,0,0,0,1080,1083,1,0,0,0,1081,1079,1,0,0,0,1081,1082,1,0,0,0,1082,41,1,0,0,0,1083,1081,1,0,0,0,1084,1089,3,44,22,0,1085,1086,5,14,0,0,1086,1088,3,44,22,0,1087,1085,1,0,0,0,1088,1091,1,0,0,0,1089,1087,1,0,0,0,1089,1090,1,0,0,0,1090,43,1,0,0,0,1091,1089,1,0,0,0,1092,1097,3,54,27,0,1093,1094,3,46,23,0,1094,1095,3,54,27,0,1095,1097,1,0,0,0,1096,1092,1,0,0,0,1096,1093,1,0,0,0,1097,45,1,0,0,0,1098,1099,7,5,0,0,1099,47,1,0,0,0,1100,1109,3,138,69,0,1101,1109,3,132,66,0,1102,1106,5,25,0,0,1103,1107,3,144,72,0,1104,1107,5,319,0,0,1105,1107,3,726,363,0,1106,1103,1,0,0,0,1106,1104,1,0,0,0,1106,1105,1,0,0,0,1107,1109,1,0,0,0,1108,1100,1,0,0,0,1108,1101,1,0,0,0,1108,1102,1,0,0,0,1109,1112,1,0,0,0,1110,1108,1,0,0,0,1110,1111,1,0,0,0,1111,1115,1,0,0,0,1112,1110,1,0,0,0,1113,1114,5,76,0,0,1114,1116,3,724,362,0,1115,1113,1,0,0,0,1115,1116,1,0,0,0,1116,49,1,0,0,0,1117,1120,3,710,355,0,1118,1120,3,68,34,0,1119,1117,1,0,0,0,1119,1118,1,0,0,0,1120,1121,1,0,0,0,1121,1122,3,48,24,0,1122,51,1,0,0,0,1123,1126,3,712,356,0,1124,1126,3,70,35,0,1125,1123,1,0,0,0,1125,1124,1,0,0,0,1126,1127,1,0,0,0,1127,1128,3,48,24,0,1128,53,1,0,0,0,1129,1132,3,50,25,0,1130,1132,3,84,42,0,1131,1129,1,0,0,0,1131,1130,1,0,0,0,1132,55,1,0,0,0,1133,1136,3,52,26,0,1134,1136,3,84,42,0,1135,1133,1,0,0,0,1135,1134,1,0,0,0,1136,57,1,0,0,0,1137,1139,5,43,0,0,1138,1140,3,112,56,0,1139,1138,1,0,0,0,1139,1140,1,0,0,0,1140,1142,1,0,0,0,1141,1143,5,26,0,0,1142,1141,1,0,0,0,1142,1143,1,0,0,0,1143,1144,1,0,0,0,1144,1145,5,42,0,0,1145,59,1,0,0,0,1146,1149,3,14,7,0,1147,1148,5,30,0,0,1148,1150,3,14,7,0,1149,1147,1,0,0,0,1149,1150,1,0,0,0,1150,1159,1,0,0,0,1151,1152,5,26,0,0,1152,1155,3,14,7,0,1153,1154,5,30,0,0,1154,1156,3,14,7,0,1155,1153,1,0,0,0,1155,1156,1,0,0,0,1156,1158,1,0,0,0,1157,1151,1,0,0,0,1158,1161,1,0,0,0,1159,1157,1,0,0,0,1159,1160,1,0,0,0,1160,61,1,0,0,0,1161,1159,1,0,0,0,1162,1164,5,37,0,0,1163,1165,3,60,30,0,1164,1163,1,0,0,0,1164,1165,1,0,0,0,1165,1167,1,0,0,0,1166,1168,5,26,0,0,1167,1166,1,0,0,0,1167,1168,1,0,0,0,1168,1169,1,0,0,0,1169,1170,5,38,0,0,1170,63,1,0,0,0,1171,1172,3,14,7,0,1172,1173,5,30,0,0,1173,1181,3,14,7,0,1174,1175,5,26,0,0,1175,1176,3,14,7,0,1176,1177,5,30,0,0,1177,1178,3,14,7,0,1178,1180,1,0,0,0,1179,1174,1,0,0,0,1180,1183,1,0,0,0,1181,1179,1,0,0,0,1181,1182,1,0,0,0,1182,65,1,0,0,0,1183,1181,1,0,0,0,1184,1186,5,15,0,0,1185,1187,3,64,32,0,1186,1185,1,0,0,0,1186,1187,1,0,0,0,1187,1189,1,0,0,0,1188,1190,5,26,0,0,1189,1188,1,0,0,0,1189,1190,1,0,0,0,1190,1191,1,0,0,0,1191,1192,5,16,0,0,1192,67,1,0,0,0,1193,1211,3,142,71,0,1194,1211,3,144,72,0,1195,1211,3,80,40,0,1196,1211,3,72,36,0,1197,1211,3,76,38,0,1198,1211,3,78,39,0,1199,1200,3,726,363,0,1200,1203,5,40,0,0,1201,1204,3,752,376,0,1202,1204,5,316,0,0,1203,1201,1,0,0,0,1203,1202,1,0,0,0,1204,1211,1,0,0,0,1205,1211,3,208,104,0,1206,1211,3,74,37,0,1207,1211,3,58,29,0,1208,1211,3,62,31,0,1209,1211,3,66,33,0,1210,1193,1,0,0,0,1210,1194,1,0,0,0,1210,1195,1,0,0,0,1210,1196,1,0,0,0,1210,1197,1,0,0,0,1210,1198,1,0,0,0,1210,1199,1,0,0,0,1210,1205,1,0,0,0,1210,1206,1,0,0,0,1210,1207,1,0,0,0,1210,1208,1,0,0,0,1210,1209,1,0,0,0,1211,69,1,0,0,0,1212,1233,3,142,71,0,1213,1233,3,144,72,0,1214,1233,3,80,40,0,1215,1233,3,72,36,0,1216,1233,3,78,39,0,1217,1218,3,726,363,0,1218,1221,5,40,0,0,1219,1222,3,752,376,0,1220,1222,5,316,0,0,1221,1219,1,0,0,0,1221,1220,1,0,0,0,1222,1233,1,0,0,0,1223,1224,5,27,0,0,1224,1225,3,232,116,0,1225,1226,5,28,0,0,1226,1233,1,0,0,0,1227,1233,3,208,104,0,1228,1233,3,74,37,0,1229,1233,3,58,29,0,1230,1233,3,62,31,0,1231,1233,3,66,33,0,1232,1212,1,0,0,0,1232,1213,1,0,0,0,1232,1214,1,0,0,0,1232,1215,1,0,0,0,1232,1216,1,0,0,0,1232,1217,1,0,0,0,1232,1223,1,0,0,0,1232,1227,1,0,0,0,1232,1228,1,0,0,0,1232,1229,1,0,0,0,1232,1230,1,0,0,0,1232,1231,1,0,0,0,1233,71,1,0,0,0,1234,1235,5,73,0,0,1235,1236,5,27,0,0,1236,1237,3,14,7,0,1237,1238,5,55,0,0,1238,1239,3,204,102,0,1239,1240,5,28,0,0,1240,73,1,0,0,0,1241,1242,5,68,0,0,1242,1243,5,27,0,0,1243,1244,3,14,7,0,1244,1245,5,55,0,0,1245,1246,3,156,78,0,1246,1247,5,28,0,0,1247,75,1,0,0,0,1248,1249,5,128,0,0,1249,1252,5,27,0,0,1250,1253,3,232,116,0,1251,1253,3,370,185,0,1252,1250,1,0,0,0,1252,1251,1,0,0,0,1253,1254,1,0,0,0,1254,1255,5,28,0,0,1255,77,1,0,0,0,1256,1258,5,72,0,0,1257,1259,3,14,7,0,1258,1257,1,0,0,0,1258,1259,1,0,0,0,1259,1261,1,0,0,0,1260,1262,3,140,70,0,1261,1260,1,0,0,0,1262,1263,1,0,0,0,1263,1261,1,0,0,0,1263,1264,1,0,0,0,1264,1267,1,0,0,0,1265,1266,5,114,0,0,1266,1268,3,14,7,0,1267,1265,1,0,0,0,1267,1268,1,0,0,0,1268,1269,1,0,0,0,1269,1270,5,118,0,0,1270,79,1,0,0,0,1271,1283,3,110,55,0,1272,1281,5,41,0,0,1273,1274,5,27,0,0,1274,1275,3,14,7,0,1275,1276,5,28,0,0,1276,1282,1,0,0,0,1277,1278,5,37,0,0,1278,1279,3,6,3,0,1279,1280,5,38,0,0,1280,1282,1,0,0,0,1281,1273,1,0,0,0,1281,1277,1,0,0,0,1282,1284,1,0,0,0,1283,1272,1,0,0,0,1283,1284,1,0,0,0,1284,81,1,0,0,0,1285,1286,3,56,28,0,1286,83,1,0,0,0,1287,1291,3,98,49,0,1288,1291,3,102,51,0,1289,1291,3,108,54,0,1290,1287,1,0,0,0,1290,1288,1,0,0,0,1290,1289,1,0,0,0,1291,85,1,0,0,0,1292,1293,5,316,0,0,1293,87,1,0,0,0,1294,1297,3,710,355,0,1295,1297,5,316,0,0,1296,1294,1,0,0,0,1296,1295,1,0,0,0,1297,89,1,0,0,0,1298,1299,3,14,7,0,1299,1300,5,55,0,0,1300,1301,3,88,44,0,1301,91,1,0,0,0,1302,1307,3,90,45,0,1303,1304,5,26,0,0,1304,1306,3,90,45,0,1305,1303,1,0,0,0,1306,1309,1,0,0,0,1307,1305,1,0,0,0,1307,1308,1,0,0,0,1308,93,1,0,0,0,1309,1307,1,0,0,0,1310,1311,3,14,7,0,1311,1312,5,26,0,0,1312,1315,3,86,43,0,1313,1314,5,216,0,0,1314,1316,3,92,46,0,1315,1313,1,0,0,0,1315,1316,1,0,0,0,1316,95,1,0,0,0,1317,1322,5,121,0,0,1318,1322,5,198,0,0,1319,1320,5,98,0,0,1320,1322,3,14,7,0,1321,1317,1,0,0,0,1321,1318,1,0,0,0,1321,1319,1,0,0,0,1322,97,1,0,0,0,1323,1324,5,175,0,0,1324,1325,5,27,0,0,1325,1328,3,94,47,0,1326,1327,5,248,0,0,1327,1329,3,156,78,0,1328,1326,1,0,0,0,1328,1329,1,0,0,0,1329,1336,1,0,0,0,1330,1331,3,96,48,0,1331,1332,5,204,0,0,1332,1333,7,6,0,0,1333,1335,1,0,0,0,1334,1330,1,0,0,0,1335,1338,1,0,0,0,1336,1334,1,0,0,0,1336,1337,1,0,0,0,1337,1339,1,0,0,0,1338,1336,1,0,0,0,1339,1340,5,28,0,0,1340,99,1,0,0,0,1341,1342,7,7,0,0,1342,1343,5,204,0,0,1343,1344,5,121,0,0,1344,101,1,0,0,0,1345,1346,5,173,0,0,1346,1347,5,27,0,0,1347,1349,3,94,47,0,1348,1350,3,100,50,0,1349,1348,1,0,0,0,1349,1350,1,0,0,0,1350,1351,1,0,0,0,1351,1352,5,28,0,0,1352,103,1,0,0,0,1353,1355,5,313,0,0,1354,1356,5,54,0,0,1355,1354,1,0,0,0,1355,1356,1,0,0,0,1356,1365,1,0,0,0,1357,1359,5,312,0,0,1358,1360,7,8,0,0,1359,1358,1,0,0,0,1359,1360,1,0,0,0,1360,1362,1,0,0,0,1361,1363,5,54,0,0,1362,1361,1,0,0,0,1362,1363,1,0,0,0,1363,1365,1,0,0,0,1364,1353,1,0,0,0,1364,1357,1,0,0,0,1365,105,1,0,0,0,1366,1373,5,121,0,0,1367,1373,5,198,0,0,1368,1369,5,115,0,0,1369,1373,5,54,0,0,1370,1371,5,115,0,0,1371,1373,5,200,0,0,1372,1366,1,0,0,0,1372,1367,1,0,0,0,1372,1368,1,0,0,0,1372,1370,1,0,0,0,1373,107,1,0,0,0,1374,1375,5,174,0,0,1375,1376,5,27,0,0,1376,1380,3,94,47,0,1377,1378,3,104,52,0,1378,1379,5,314,0,0,1379,1381,1,0,0,0,1380,1377,1,0,0,0,1380,1381,1,0,0,0,1381,1386,1,0,0,0,1382,1383,3,106,53,0,1383,1384,5,204,0,0,1384,1385,5,115,0,0,1385,1387,1,0,0,0,1386,1382,1,0,0,0,1386,1387,1,0,0,0,1387,1392,1,0,0,0,1388,1389,3,106,53,0,1389,1390,5,204,0,0,1390,1391,5,121,0,0,1391,1393,1,0,0,0,1392,1388,1,0,0,0,1392,1393,1,0,0,0,1393,1394,1,0,0,0,1394,1395,5,28,0,0,1395,109,1,0,0,0,1396,1398,5,27,0,0,1397,1399,3,130,65,0,1398,1397,1,0,0,0,1398,1399,1,0,0,0,1399,1401,1,0,0,0,1400,1402,5,26,0,0,1401,1400,1,0,0,0,1401,1402,1,0,0,0,1402,1403,1,0,0,0,1403,1404,5,28,0,0,1404,111,1,0,0,0,1405,1410,3,14,7,0,1406,1407,5,26,0,0,1407,1409,3,14,7,0,1408,1406,1,0,0,0,1409,1412,1,0,0,0,1410,1408,1,0,0,0,1410,1411,1,0,0,0,1411,113,1,0,0,0,1412,1410,1,0,0,0,1413,1414,5,27,0,0,1414,1419,3,724,362,0,1415,1416,5,26,0,0,1416,1418,3,724,362,0,1417,1415,1,0,0,0,1418,1421,1,0,0,0,1419,1417,1,0,0,0,1419,1420,1,0,0,0,1420,1422,1,0,0,0,1421,1419,1,0,0,0,1422,1423,5,28,0,0,1423,115,1,0,0,0,1424,1427,3,144,72,0,1425,1427,3,724,362,0,1426,1424,1,0,0,0,1426,1425,1,0,0,0,1427,117,1,0,0,0,1428,1429,5,27,0,0,1429,1434,3,116,58,0,1430,1431,5,26,0,0,1431,1433,3,116,58,0,1432,1430,1,0,0,0,1433,1436,1,0,0,0,1434,1432,1,0,0,0,1434,1435,1,0,0,0,1435,1437,1,0,0,0,1436,1434,1,0,0,0,1437,1438,5,28,0,0,1438,119,1,0,0,0,1439,1440,3,748,374,0,1440,1441,3,724,362,0,1441,121,1,0,0,0,1442,1443,3,724,362,0,1443,1444,5,25,0,0,1444,1445,3,724,362,0,1445,1448,1,0,0,0,1446,1448,3,738,369,0,1447,1442,1,0,0,0,1447,1446,1,0,0,0,1448,123,1,0,0,0,1449,1454,3,120,60,0,1450,1451,5,26,0,0,1451,1453,3,120,60,0,1452,1450,1,0,0,0,1453,1456,1,0,0,0,1454,1452,1,0,0,0,1454,1455,1,0,0,0,1455,1458,1,0,0,0,1456,1454,1,0,0,0,1457,1459,5,26,0,0,1458,1457,1,0,0,0,1458,1459,1,0,0,0,1459,125,1,0,0,0,1460,1465,3,122,61,0,1461,1462,5,26,0,0,1462,1464,3,122,61,0,1463,1461,1,0,0,0,1464,1467,1,0,0,0,1465,1463,1,0,0,0,1465,1466,1,0,0,0,1466,1469,1,0,0,0,1467,1465,1,0,0,0,1468,1470,5,26,0,0,1469,1468,1,0,0,0,1469,1470,1,0,0,0,1470,127,1,0,0,0,1471,1474,3,14,7,0,1472,1473,5,55,0,0,1473,1475,3,726,363,0,1474,1472,1,0,0,0,1474,1475,1,0,0,0,1475,129,1,0,0,0,1476,1481,3,128,64,0,1477,1478,5,26,0,0,1478,1480,3,128,64,0,1479,1477,1,0,0,0,1480,1483,1,0,0,0,1481,1479,1,0,0,0,1481,1482,1,0,0,0,1482,131,1,0,0,0,1483,1481,1,0,0,0,1484,1491,5,27,0,0,1485,1486,3,252,126,0,1486,1488,3,130,65,0,1487,1489,5,26,0,0,1488,1487,1,0,0,0,1488,1489,1,0,0,0,1489,1492,1,0,0,0,1490,1492,5,20,0,0,1491,1485,1,0,0,0,1491,1490,1,0,0,0,1491,1492,1,0,0,0,1492,1493,1,0,0,0,1493,1494,5,28,0,0,1494,1495,3,134,67,0,1495,133,1,0,0,0,1496,1499,3,656,328,0,1497,1499,3,658,329,0,1498,1496,1,0,0,0,1498,1497,1,0,0,0,1498,1499,1,0,0,0,1499,1502,1,0,0,0,1500,1501,5,213,0,0,1501,1503,3,660,330,0,1502,1500,1,0,0,0,1502,1503,1,0,0,0,1503,135,1,0,0,0,1504,1505,3,726,363,0,1505,1506,5,40,0,0,1506,1507,3,726,363,0,1507,1513,1,0,0,0,1508,1513,3,730,365,0,1509,1513,3,144,72,0,1510,1511,5,131,0,0,1511,1513,5,144,0,0,1512,1504,1,0,0,0,1512,1508,1,0,0,0,1512,1509,1,0,0,0,1512,1510,1,0,0,0,1513,1514,1,0,0,0,1514,1515,3,132,66,0,1515,137,1,0,0,0,1516,1517,5,43,0,0,1517,1518,3,14,7,0,1518,1519,5,42,0,0,1519,139,1,0,0,0,1520,1521,5,309,0,0,1521,1522,3,14,7,0,1522,1523,5,284,0,0,1523,1524,3,14,7,0,1524,141,1,0,0,0,1525,1536,3,788,394,0,1526,1536,3,786,393,0,1527,1536,5,316,0,0,1528,1536,5,322,0,0,1529,1536,5,198,0,0,1530,1536,5,92,0,0,1531,1536,5,91,0,0,1532,1536,5,93,0,0,1533,1536,3,784,392,0,1534,1536,5,116,0,0,1535,1525,1,0,0,0,1535,1526,1,0,0,0,1535,1527,1,0,0,0,1535,1528,1,0,0,0,1535,1529,1,0,0,0,1535,1530,1,0,0,0,1535,1531,1,0,0,0,1535,1532,1,0,0,0,1535,1533,1,0,0,0,1535,1534,1,0,0,0,1536,143,1,0,0,0,1537,1541,5,33,0,0,1538,1542,3,726,363,0,1539,1542,5,290,0,0,1540,1542,5,133,0,0,1541,1538,1,0,0,0,1541,1539,1,0,0,0,1541,1540,1,0,0,0,1542,145,1,0,0,0,1543,1545,3,144,72,0,1544,1546,5,29,0,0,1545,1544,1,0,0,0,1545,1546,1,0,0,0,1546,147,1,0,0,0,1547,1552,3,144,72,0,1548,1549,5,26,0,0,1549,1551,3,144,72,0,1550,1548,1,0,0,0,1551,1554,1,0,0,0,1552,1550,1,0,0,0,1552,1553,1,0,0,0,1553,149,1,0,0,0,1554,1552,1,0,0,0,1555,1558,3,144,72,0,1556,1557,5,55,0,0,1557,1559,3,144,72,0,1558,1556,1,0,0,0,1558,1559,1,0,0,0,1559,151,1,0,0,0,1560,1565,3,150,75,0,1561,1562,5,26,0,0,1562,1564,3,150,75,0,1563,1561,1,0,0,0,1564,1567,1,0,0,0,1565,1563,1,0,0,0,1565,1566,1,0,0,0,1566,153,1,0,0,0,1567,1565,1,0,0,0,1568,1570,7,3,0,0,1569,1568,1,0,0,0,1569,1570,1,0,0,0,1570,1573,1,0,0,0,1571,1574,3,788,394,0,1572,1574,3,786,393,0,1573,1571,1,0,0,0,1573,1572,1,0,0,0,1574,155,1,0,0,0,1575,1576,3,742,371,0,1576,157,1,0,0,0,1577,1580,3,788,394,0,1578,1580,3,144,72,0,1579,1577,1,0,0,0,1579,1578,1,0,0,0,1580,159,1,0,0,0,1581,1585,3,706,353,0,1582,1585,5,316,0,0,1583,1585,3,144,72,0,1584,1581,1,0,0,0,1584,1582,1,0,0,0,1584,1583,1,0,0,0,1585,161,1,0,0,0,1586,1587,3,160,80,0,1587,1588,5,30,0,0,1588,1589,3,204,102,0,1589,163,1,0,0,0,1590,1591,3,160,80,0,1591,1596,3,204,102,0,1592,1594,5,196,0,0,1593,1592,1,0,0,0,1593,1594,1,0,0,0,1594,1595,1,0,0,0,1595,1597,5,198,0,0,1596,1593,1,0,0,0,1596,1597,1,0,0,0,1597,1603,1,0,0,0,1598,1599,3,204,102,0,1599,1600,5,55,0,0,1600,1601,3,160,80,0,1601,1603,1,0,0,0,1602,1590,1,0,0,0,1602,1598,1,0,0,0,1603,165,1,0,0,0,1604,1605,3,160,80,0,1605,1606,5,30,0,0,1606,1608,1,0,0,0,1607,1604,1,0,0,0,1607,1608,1,0,0,0,1608,1609,1,0,0,0,1609,1610,3,204,102,0,1610,167,1,0,0,0,1611,1615,3,166,83,0,1612,1613,5,37,0,0,1613,1614,5,63,0,0,1614,1616,5,38,0,0,1615,1612,1,0,0,0,1615,1616,1,0,0,0,1616,169,1,0,0,0,1617,1622,3,168,84,0,1618,1619,5,26,0,0,1619,1621,3,168,84,0,1620,1618,1,0,0,0,1621,1624,1,0,0,0,1622,1620,1,0,0,0,1622,1623,1,0,0,0,1623,171,1,0,0,0,1624,1622,1,0,0,0,1625,1626,5,96,0,0,1626,1627,5,27,0,0,1627,1628,3,158,79,0,1628,1629,5,26,0,0,1629,1630,3,158,79,0,1630,1631,5,28,0,0,1631,173,1,0,0,0,1632,1633,5,208,0,0,1633,1634,5,6,0,0,1634,1635,3,204,102,0,1635,1636,5,8,0,0,1636,175,1,0,0,0,1637,1654,5,291,0,0,1638,1650,5,6,0,0,1639,1644,3,204,102,0,1640,1641,5,26,0,0,1641,1643,3,204,102,0,1642,1640,1,0,0,0,1643,1646,1,0,0,0,1644,1642,1,0,0,0,1644,1645,1,0,0,0,1645,1648,1,0,0,0,1646,1644,1,0,0,0,1647,1649,5,26,0,0,1648,1647,1,0,0,0,1648,1649,1,0,0,0,1649,1651,1,0,0,0,1650,1639,1,0,0,0,1650,1651,1,0,0,0,1651,1652,1,0,0,0,1652,1655,5,8,0,0,1653,1655,5,5,0,0,1654,1638,1,0,0,0,1654,1653,1,0,0,0,1655,177,1,0,0,0,1656,1673,5,270,0,0,1657,1669,5,6,0,0,1658,1663,3,162,81,0,1659,1660,5,26,0,0,1660,1662,3,162,81,0,1661,1659,1,0,0,0,1662,1665,1,0,0,0,1663,1661,1,0,0,0,1663,1664,1,0,0,0,1664,1667,1,0,0,0,1665,1663,1,0,0,0,1666,1668,5,26,0,0,1667,1666,1,0,0,0,1667,1668,1,0,0,0,1668,1670,1,0,0,0,1669,1658,1,0,0,0,1669,1670,1,0,0,0,1670,1671,1,0,0,0,1671,1674,5,8,0,0,1672,1674,5,5,0,0,1673,1657,1,0,0,0,1673,1672,1,0,0,0,1674,179,1,0,0,0,1675,1676,5,306,0,0,1676,1677,5,6,0,0,1677,1682,3,166,83,0,1678,1679,5,26,0,0,1679,1681,3,166,83,0,1680,1678,1,0,0,0,1681,1684,1,0,0,0,1682,1680,1,0,0,0,1682,1683,1,0,0,0,1683,1686,1,0,0,0,1684,1682,1,0,0,0,1685,1687,5,26,0,0,1686,1685,1,0,0,0,1686,1687,1,0,0,0,1687,1688,1,0,0,0,1688,1689,5,8,0,0,1689,181,1,0,0,0,1690,1691,5,182,0,0,1691,1692,5,6,0,0,1692,1693,3,204,102,0,1693,1694,5,8,0,0,1694,183,1,0,0,0,1695,1696,5,269,0,0,1696,1697,5,6,0,0,1697,1698,3,204,102,0,1698,1699,5,8,0,0,1699,185,1,0,0,0,1700,1701,5,138,0,0,1701,1702,5,6,0,0,1702,1703,3,204,102,0,1703,1704,5,8,0,0,1704,187,1,0,0,0,1705,1706,5,106,0,0,1706,1707,5,6,0,0,1707,1708,3,204,102,0,1708,1709,5,26,0,0,1709,1710,3,204,102,0,1710,1711,5,8,0,0,1711,189,1,0,0,0,1712,1713,5,264,0,0,1713,1714,5,6,0,0,1714,1715,3,204,102,0,1715,1716,5,8,0,0,1716,191,1,0,0,0,1717,1718,5,119,0,0,1718,1719,5,6,0,0,1719,1724,3,160,80,0,1720,1721,5,26,0,0,1721,1723,3,160,80,0,1722,1720,1,0,0,0,1723,1726,1,0,0,0,1724,1722,1,0,0,0,1724,1725,1,0,0,0,1725,1728,1,0,0,0,1726,1724,1,0,0,0,1727,1729,5,26,0,0,1728,1727,1,0,0,0,1728,1729,1,0,0,0,1729,1730,1,0,0,0,1730,1731,5,8,0,0,1731,193,1,0,0,0,1732,1733,5,243,0,0,1733,1734,5,6,0,0,1734,1735,3,160,80,0,1735,1736,5,8,0,0,1736,195,1,0,0,0,1737,1738,5,281,0,0,1738,1739,5,6,0,0,1739,1740,3,204,102,0,1740,1741,5,26,0,0,1741,1742,3,160,80,0,1742,1743,5,8,0,0,1743,197,1,0,0,0,1744,1745,5,70,0,0,1745,1746,5,6,0,0,1746,1748,5,27,0,0,1747,1749,3,170,85,0,1748,1747,1,0,0,0,1748,1749,1,0,0,0,1749,1751,1,0,0,0,1750,1752,5,26,0,0,1751,1750,1,0,0,0,1751,1752,1,0,0,0,1752,1757,1,0,0,0,1753,1754,5,43,0,0,1754,1755,3,170,85,0,1755,1756,5,42,0,0,1756,1758,1,0,0,0,1757,1753,1,0,0,0,1757,1758,1,0,0,0,1758,1759,1,0,0,0,1759,1760,5,28,0,0,1760,1761,5,41,0,0,1761,1762,3,204,102,0,1762,1763,5,8,0,0,1763,199,1,0,0,0,1764,1778,3,174,87,0,1765,1778,3,176,88,0,1766,1778,3,178,89,0,1767,1778,3,180,90,0,1768,1778,3,182,91,0,1769,1778,3,184,92,0,1770,1778,3,186,93,0,1771,1778,3,188,94,0,1772,1778,3,190,95,0,1773,1778,3,192,96,0,1774,1778,3,194,97,0,1775,1778,3,196,98,0,1776,1778,3,198,99,0,1777,1764,1,0,0,0,1777,1765,1,0,0,0,1777,1766,1,0,0,0,1777,1767,1,0,0,0,1777,1768,1,0,0,0,1777,1769,1,0,0,0,1777,1770,1,0,0,0,1777,1771,1,0,0,0,1777,1772,1,0,0,0,1777,1773,1,0,0,0,1777,1774,1,0,0,0,1777,1775,1,0,0,0,1777,1776,1,0,0,0,1778,1782,1,0,0,0,1779,1781,5,29,0,0,1780,1779,1,0,0,0,1781,1784,1,0,0,0,1782,1780,1,0,0,0,1782,1783,1,0,0,0,1783,201,1,0,0,0,1784,1782,1,0,0,0,1785,1797,3,200,100,0,1786,1789,3,172,86,0,1787,1789,3,156,78,0,1788,1786,1,0,0,0,1788,1787,1,0,0,0,1789,1793,1,0,0,0,1790,1792,5,29,0,0,1791,1790,1,0,0,0,1792,1795,1,0,0,0,1793,1791,1,0,0,0,1793,1794,1,0,0,0,1794,1797,1,0,0,0,1795,1793,1,0,0,0,1796,1785,1,0,0,0,1796,1788,1,0,0,0,1797,203,1,0,0,0,1798,1801,3,202,101,0,1799,1801,3,144,72,0,1800,1798,1,0,0,0,1800,1799,1,0,0,0,1801,205,1,0,0,0,1802,1803,5,316,0,0,1803,207,1,0,0,0,1804,1805,5,306,0,0,1805,1806,5,27,0,0,1806,1807,3,14,7,0,1807,1808,5,26,0,0,1808,1809,3,14,7,0,1809,1810,5,26,0,0,1810,1811,3,14,7,0,1811,1812,5,28,0,0,1812,1828,1,0,0,0,1813,1814,5,119,0,0,1814,1815,5,27,0,0,1815,1816,3,14,7,0,1816,1817,5,26,0,0,1817,1818,3,14,7,0,1818,1819,5,28,0,0,1819,1828,1,0,0,0,1820,1821,5,70,0,0,1821,1822,5,27,0,0,1822,1823,3,14,7,0,1823,1824,5,26,0,0,1824,1825,3,14,7,0,1825,1826,5,28,0,0,1826,1828,1,0,0,0,1827,1804,1,0,0,0,1827,1813,1,0,0,0,1827,1820,1,0,0,0,1828,209,1,0,0,0,1829,1830,5,97,0,0,1830,1831,3,144,72,0,1831,1832,5,55,0,0,1832,1835,3,202,101,0,1833,1834,5,2,0,0,1834,1836,3,142,71,0,1835,1833,1,0,0,0,1835,1836,1,0,0,0,1836,211,1,0,0,0,1837,1839,5,25,0,0,1838,1837,1,0,0,0,1838,1839,1,0,0,0,1839,1840,1,0,0,0,1840,1845,3,724,362,0,1841,1842,5,25,0,0,1842,1844,3,724,362,0,1843,1841,1,0,0,0,1844,1847,1,0,0,0,1845,1843,1,0,0,0,1845,1846,1,0,0,0,1846,213,1,0,0,0,1847,1845,1,0,0,0,1848,1849,5,158,0,0,1849,1850,3,212,106,0,1850,1851,5,273,0,0,1851,1852,3,152,76,0,1852,215,1,0,0,0,1853,1854,5,130,0,0,1854,1855,3,148,74,0,1855,217,1,0,0,0,1856,1859,3,144,72,0,1857,1859,5,116,0,0,1858,1856,1,0,0,0,1858,1857,1,0,0,0,1859,1860,1,0,0,0,1860,1862,5,27,0,0,1861,1863,3,112,56,0,1862,1861,1,0,0,0,1862,1863,1,0,0,0,1863,1864,1,0,0,0,1864,1865,5,28,0,0,1865,219,1,0,0,0,1866,1867,5,65,0,0,1867,1868,3,566,283,0,1868,1869,5,118,0,0,1869,1870,5,111,0,0,1870,221,1,0,0,0,1871,1874,5,111,0,0,1872,1875,3,218,109,0,1873,1875,3,220,110,0,1874,1872,1,0,0,0,1874,1873,1,0,0,0,1875,223,1,0,0,0,1876,1877,5,223,0,0,1877,1878,3,754,377,0,1878,1892,3,724,362,0,1879,1880,5,2,0,0,1880,1893,3,226,113,0,1881,1882,5,27,0,0,1882,1887,3,226,113,0,1883,1884,5,26,0,0,1884,1886,3,226,113,0,1885,1883,1,0,0,0,1886,1889,1,0,0,0,1887,1885,1,0,0,0,1887,1888,1,0,0,0,1888,1890,1,0,0,0,1889,1887,1,0,0,0,1890,1891,5,28,0,0,1891,1893,1,0,0,0,1892,1879,1,0,0,0,1892,1881,1,0,0,0,1892,1893,1,0,0,0,1893,225,1,0,0,0,1894,1900,3,154,77,0,1895,1900,3,706,353,0,1896,1900,5,316,0,0,1897,1900,3,784,392,0,1898,1900,3,144,72,0,1899,1894,1,0,0,0,1899,1895,1,0,0,0,1899,1896,1,0,0,0,1899,1897,1,0,0,0,1899,1898,1,0,0,0,1900,227,1,0,0,0,1901,1903,3,14,7,0,1902,1904,7,9,0,0,1903,1902,1,0,0,0,1903,1904,1,0,0,0,1904,229,1,0,0,0,1905,1910,3,228,114,0,1906,1907,5,26,0,0,1907,1909,3,228,114,0,1908,1906,1,0,0,0,1909,1912,1,0,0,0,1910,1908,1,0,0,0,1910,1911,1,0,0,0,1911,231,1,0,0,0,1912,1910,1,0,0,0,1913,1919,3,236,118,0,1914,1915,3,238,119,0,1915,1916,3,236,118,0,1916,1918,1,0,0,0,1917,1914,1,0,0,0,1918,1921,1,0,0,0,1919,1917,1,0,0,0,1919,1920,1,0,0,0,1920,233,1,0,0,0,1921,1919,1,0,0,0,1922,1928,3,240,120,0,1923,1924,3,238,119,0,1924,1925,3,236,118,0,1925,1927,1,0,0,0,1926,1923,1,0,0,0,1927,1930,1,0,0,0,1928,1926,1,0,0,0,1928,1929,1,0,0,0,1929,235,1,0,0,0,1930,1928,1,0,0,0,1931,1937,3,240,120,0,1932,1933,5,27,0,0,1933,1934,3,240,120,0,1934,1935,5,28,0,0,1935,1937,1,0,0,0,1936,1931,1,0,0,0,1936,1932,1,0,0,0,1937,237,1,0,0,0,1938,1940,5,295,0,0,1939,1941,5,48,0,0,1940,1939,1,0,0,0,1940,1941,1,0,0,0,1941,1945,1,0,0,0,1942,1945,5,168,0,0,1943,1945,5,124,0,0,1944,1938,1,0,0,0,1944,1942,1,0,0,0,1944,1943,1,0,0,0,1945,239,1,0,0,0,1946,1953,3,242,121,0,1947,1948,5,181,0,0,1948,1951,3,14,7,0,1949,1950,7,10,0,0,1950,1952,3,14,7,0,1951,1949,1,0,0,0,1951,1952,1,0,0,0,1952,1954,1,0,0,0,1953,1947,1,0,0,0,1953,1954,1,0,0,0,1954,241,1,0,0,0,1955,1957,5,109,0,0,1956,1955,1,0,0,0,1956,1957,1,0,0,0,1957,1961,1,0,0,0,1958,1962,3,244,122,0,1959,1962,3,250,125,0,1960,1962,3,254,127,0,1961,1958,1,0,0,0,1961,1959,1,0,0,0,1961,1960,1,0,0,0,1962,1966,1,0,0,0,1963,1964,5,169,0,0,1964,1965,5,246,0,0,1965,1967,3,116,58,0,1966,1963,1,0,0,0,1966,1967,1,0,0,0,1967,243,1,0,0,0,1968,1970,5,228,0,0,1969,1971,5,269,0,0,1970,1969,1,0,0,0,1970,1971,1,0,0,0,1971,1972,1,0,0,0,1972,1977,3,346,173,0,1973,1974,5,26,0,0,1974,1976,3,346,173,0,1975,1973,1,0,0,0,1976,1979,1,0,0,0,1977,1975,1,0,0,0,1977,1978,1,0,0,0,1978,2001,1,0,0,0,1979,1977,1,0,0,0,1980,1981,5,303,0,0,1981,1984,3,136,68,0,1982,1983,5,55,0,0,1983,1985,3,724,362,0,1984,1982,1,0,0,0,1984,1985,1,0,0,0,1985,1988,1,0,0,0,1986,1987,5,312,0,0,1987,1989,3,248,124,0,1988,1986,1,0,0,0,1988,1989,1,0,0,0,1989,1991,1,0,0,0,1990,1992,3,800,400,0,1991,1990,1,0,0,0,1991,1992,1,0,0,0,1992,1995,1,0,0,0,1993,1994,5,152,0,0,1994,1996,3,14,7,0,1995,1993,1,0,0,0,1995,1996,1,0,0,0,1996,1999,1,0,0,0,1997,1998,5,57,0,0,1998,2e3,3,314,157,0,1999,1997,1,0,0,0,1999,2e3,1,0,0,0,2e3,2002,1,0,0,0,2001,1980,1,0,0,0,2001,2002,1,0,0,0,2002,245,1,0,0,0,2003,2004,3,724,362,0,2004,2005,5,2,0,0,2005,2006,3,14,7,0,2006,247,1,0,0,0,2007,2012,3,246,123,0,2008,2009,5,26,0,0,2009,2011,3,246,123,0,2010,2008,1,0,0,0,2011,2014,1,0,0,0,2012,2010,1,0,0,0,2012,2013,1,0,0,0,2013,249,1,0,0,0,2014,2012,1,0,0,0,2015,2016,5,232,0,0,2016,2021,3,346,173,0,2017,2018,5,26,0,0,2018,2020,3,346,173,0,2019,2017,1,0,0,0,2020,2023,1,0,0,0,2021,2019,1,0,0,0,2021,2022,1,0,0,0,2022,2026,1,0,0,0,2023,2021,1,0,0,0,2024,2025,5,225,0,0,2025,2027,3,230,115,0,2026,2024,1,0,0,0,2026,2027,1,0,0,0,2027,2028,1,0,0,0,2028,2029,5,204,0,0,2029,2030,3,124,62,0,2030,2032,5,303,0,0,2031,2033,5,48,0,0,2032,2031,1,0,0,0,2032,2033,1,0,0,0,2033,2034,1,0,0,0,2034,2037,3,136,68,0,2035,2036,5,55,0,0,2036,2038,3,724,362,0,2037,2035,1,0,0,0,2037,2038,1,0,0,0,2038,2040,1,0,0,0,2039,2041,3,800,400,0,2040,2039,1,0,0,0,2040,2041,1,0,0,0,2041,2044,1,0,0,0,2042,2043,5,152,0,0,2043,2045,3,14,7,0,2044,2042,1,0,0,0,2044,2045,1,0,0,0,2045,2048,1,0,0,0,2046,2047,5,57,0,0,2047,2049,3,314,157,0,2048,2046,1,0,0,0,2048,2049,1,0,0,0,2049,251,1,0,0,0,2050,2052,7,11,0,0,2051,2050,1,0,0,0,2051,2052,1,0,0,0,2052,253,1,0,0,0,2053,2054,5,142,0,0,2054,2056,3,338,169,0,2055,2053,1,0,0,0,2055,2056,1,0,0,0,2056,2057,1,0,0,0,2057,2059,5,262,0,0,2058,2060,5,269,0,0,2059,2058,1,0,0,0,2059,2060,1,0,0,0,2060,2061,1,0,0,0,2061,2062,3,252,126,0,2062,2067,3,336,168,0,2063,2064,5,26,0,0,2064,2066,3,336,168,0,2065,2063,1,0,0,0,2066,2069,1,0,0,0,2067,2065,1,0,0,0,2067,2068,1,0,0,0,2068,2071,1,0,0,0,2069,2067,1,0,0,0,2070,2072,5,26,0,0,2071,2070,1,0,0,0,2071,2072,1,0,0,0,2072,2075,1,0,0,0,2073,2074,5,313,0,0,2074,2076,3,126,63,0,2075,2073,1,0,0,0,2075,2076,1,0,0,0,2076,2079,1,0,0,0,2077,2078,5,142,0,0,2078,2080,3,338,169,0,2079,2077,1,0,0,0,2079,2080,1,0,0,0,2080,2082,1,0,0,0,2081,2083,3,800,400,0,2082,2081,1,0,0,0,2082,2083,1,0,0,0,2083,2085,1,0,0,0,2084,2086,3,318,159,0,2085,2084,1,0,0,0,2085,2086,1,0,0,0,2086,2089,1,0,0,0,2087,2088,5,152,0,0,2088,2090,3,14,7,0,2089,2087,1,0,0,0,2089,2090,1,0,0,0,2090,2092,1,0,0,0,2091,2093,3,664,332,0,2092,2091,1,0,0,0,2092,2093,1,0,0,0,2093,2095,1,0,0,0,2094,2096,3,316,158,0,2095,2094,1,0,0,0,2095,2096,1,0,0,0,2096,255,1,0,0,0,2097,2098,5,187,0,0,2098,2100,5,27,0,0,2099,2101,3,678,339,0,2100,2099,1,0,0,0,2100,2101,1,0,0,0,2101,2103,1,0,0,0,2102,2104,3,314,157,0,2103,2102,1,0,0,0,2103,2104,1,0,0,0,2104,2106,1,0,0,0,2105,2107,3,262,131,0,2106,2105,1,0,0,0,2106,2107,1,0,0,0,2107,2109,1,0,0,0,2108,2110,3,258,129,0,2109,2108,1,0,0,0,2109,2110,1,0,0,0,2110,2111,1,0,0,0,2111,2112,3,268,134,0,2112,2113,5,28,0,0,2113,257,1,0,0,0,2114,2115,5,205,0,0,2115,2116,5,255,0,0,2116,2117,5,220,0,0,2117,2126,5,185,0,0,2118,2119,5,48,0,0,2119,2120,5,256,0,0,2120,2121,5,220,0,0,2121,2123,5,185,0,0,2122,2124,3,260,130,0,2123,2122,1,0,0,0,2123,2124,1,0,0,0,2124,2126,1,0,0,0,2125,2114,1,0,0,0,2125,2118,1,0,0,0,2126,259,1,0,0,0,2127,2128,5,266,0,0,2128,2129,5,115,0,0,2129,2137,5,186,0,0,2130,2131,5,203,0,0,2131,2132,5,115,0,0,2132,2137,5,186,0,0,2133,2134,5,312,0,0,2134,2135,5,298,0,0,2135,2137,5,256,0,0,2136,2127,1,0,0,0,2136,2130,1,0,0,0,2136,2133,1,0,0,0,2137,261,1,0,0,0,2138,2139,5,188,0,0,2139,2140,3,264,132,0,2140,263,1,0,0,0,2141,2146,3,266,133,0,2142,2143,5,26,0,0,2143,2145,3,266,133,0,2144,2142,1,0,0,0,2145,2148,1,0,0,0,2146,2144,1,0,0,0,2146,2147,1,0,0,0,2147,265,1,0,0,0,2148,2146,1,0,0,0,2149,2150,3,14,7,0,2150,2151,5,55,0,0,2151,2152,3,724,362,0,2152,267,1,0,0,0,2153,2154,5,47,0,0,2154,2155,5,185,0,0,2155,2157,3,270,135,0,2156,2153,1,0,0,0,2156,2157,1,0,0,0,2157,2159,1,0,0,0,2158,2160,3,274,137,0,2159,2158,1,0,0,0,2159,2160,1,0,0,0,2160,2161,1,0,0,0,2161,2162,5,219,0,0,2162,2163,5,27,0,0,2163,2164,3,276,138,0,2164,2166,5,28,0,0,2165,2167,3,290,145,0,2166,2165,1,0,0,0,2166,2167,1,0,0,0,2167,2168,1,0,0,0,2168,2169,5,101,0,0,2169,2170,3,302,151,0,2170,269,1,0,0,0,2171,2172,5,267,0,0,2172,2173,5,286,0,0,2173,2174,5,194,0,0,2174,2191,5,255,0,0,2175,2176,5,267,0,0,2176,2177,5,218,0,0,2177,2178,5,177,0,0,2178,2191,5,255,0,0,2179,2180,5,267,0,0,2180,2181,5,286,0,0,2181,2182,5,136,0,0,2182,2191,3,272,136,0,2183,2184,5,267,0,0,2184,2185,5,286,0,0,2185,2186,5,177,0,0,2186,2191,3,272,136,0,2187,2188,5,267,0,0,2188,2189,5,286,0,0,2189,2191,3,272,136,0,2190,2171,1,0,0,0,2190,2175,1,0,0,0,2190,2179,1,0,0,0,2190,2183,1,0,0,0,2190,2187,1,0,0,0,2191,271,1,0,0,0,2192,2193,3,312,156,0,2193,273,1,0,0,0,2194,2195,7,12,0,0,2195,275,1,0,0,0,2196,2201,3,278,139,0,2197,2198,5,13,0,0,2198,2200,3,278,139,0,2199,2197,1,0,0,0,2200,2203,1,0,0,0,2201,2199,1,0,0,0,2201,2202,1,0,0,0,2202,277,1,0,0,0,2203,2201,1,0,0,0,2204,2206,3,280,140,0,2205,2204,1,0,0,0,2206,2207,1,0,0,0,2207,2205,1,0,0,0,2207,2208,1,0,0,0,2208,279,1,0,0,0,2209,2211,3,284,142,0,2210,2212,3,282,141,0,2211,2210,1,0,0,0,2211,2212,1,0,0,0,2212,281,1,0,0,0,2213,2215,5,20,0,0,2214,2216,5,29,0,0,2215,2214,1,0,0,0,2215,2216,1,0,0,0,2216,2242,1,0,0,0,2217,2219,5,17,0,0,2218,2220,5,29,0,0,2219,2218,1,0,0,0,2219,2220,1,0,0,0,2220,2242,1,0,0,0,2221,2223,5,29,0,0,2222,2224,5,29,0,0,2223,2222,1,0,0,0,2223,2224,1,0,0,0,2224,2242,1,0,0,0,2225,2227,5,37,0,0,2226,2228,3,788,394,0,2227,2226,1,0,0,0,2227,2228,1,0,0,0,2228,2229,1,0,0,0,2229,2231,5,26,0,0,2230,2232,3,788,394,0,2231,2230,1,0,0,0,2231,2232,1,0,0,0,2232,2233,1,0,0,0,2233,2235,5,38,0,0,2234,2236,5,29,0,0,2235,2234,1,0,0,0,2235,2236,1,0,0,0,2236,2242,1,0,0,0,2237,2238,5,37,0,0,2238,2239,3,788,394,0,2239,2240,5,38,0,0,2240,2242,1,0,0,0,2241,2213,1,0,0,0,2241,2217,1,0,0,0,2241,2221,1,0,0,0,2241,2225,1,0,0,0,2241,2237,1,0,0,0,2242,283,1,0,0,0,2243,2259,3,286,143,0,2244,2259,5,33,0,0,2245,2259,5,39,0,0,2246,2248,5,27,0,0,2247,2249,3,276,138,0,2248,2247,1,0,0,0,2248,2249,1,0,0,0,2249,2250,1,0,0,0,2250,2259,5,28,0,0,2251,2252,5,37,0,0,2252,2253,5,18,0,0,2253,2254,3,276,138,0,2254,2255,5,18,0,0,2255,2256,5,38,0,0,2256,2259,1,0,0,0,2257,2259,3,288,144,0,2258,2243,1,0,0,0,2258,2244,1,0,0,0,2258,2245,1,0,0,0,2258,2246,1,0,0,0,2258,2251,1,0,0,0,2258,2257,1,0,0,0,2259,285,1,0,0,0,2260,2261,3,312,156,0,2261,287,1,0,0,0,2262,2263,5,221,0,0,2263,2264,5,27,0,0,2264,2269,3,276,138,0,2265,2266,5,26,0,0,2266,2268,3,276,138,0,2267,2265,1,0,0,0,2268,2271,1,0,0,0,2269,2267,1,0,0,0,2269,2270,1,0,0,0,2270,2272,1,0,0,0,2271,2269,1,0,0,0,2272,2273,5,28,0,0,2273,289,1,0,0,0,2274,2275,5,272,0,0,2275,2276,3,292,146,0,2276,291,1,0,0,0,2277,2282,3,294,147,0,2278,2279,5,26,0,0,2279,2281,3,294,147,0,2280,2278,1,0,0,0,2281,2284,1,0,0,0,2282,2280,1,0,0,0,2282,2283,1,0,0,0,2283,293,1,0,0,0,2284,2282,1,0,0,0,2285,2286,3,296,148,0,2286,2287,5,2,0,0,2287,2288,5,27,0,0,2288,2289,3,298,149,0,2289,2290,5,28,0,0,2290,295,1,0,0,0,2291,2292,3,312,156,0,2292,297,1,0,0,0,2293,2298,3,300,150,0,2294,2295,5,26,0,0,2295,2297,3,300,150,0,2296,2294,1,0,0,0,2297,2300,1,0,0,0,2298,2296,1,0,0,0,2298,2299,1,0,0,0,2299,299,1,0,0,0,2300,2298,1,0,0,0,2301,2302,3,312,156,0,2302,301,1,0,0,0,2303,2308,3,304,152,0,2304,2305,5,26,0,0,2305,2307,3,304,152,0,2306,2304,1,0,0,0,2307,2310,1,0,0,0,2308,2306,1,0,0,0,2308,2309,1,0,0,0,2309,303,1,0,0,0,2310,2308,1,0,0,0,2311,2312,3,306,153,0,2312,2313,5,55,0,0,2313,2314,3,308,154,0,2314,305,1,0,0,0,2315,2316,3,312,156,0,2316,307,1,0,0,0,2317,2318,3,310,155,0,2318,309,1,0,0,0,2319,2320,3,14,7,0,2320,311,1,0,0,0,2321,2322,3,704,352,0,2322,313,1,0,0,0,2323,2324,5,210,0,0,2324,2325,5,69,0,0,2325,2326,3,230,115,0,2326,315,1,0,0,0,2327,2329,5,57,0,0,2328,2327,1,0,0,0,2328,2329,1,0,0,0,2329,2330,1,0,0,0,2330,2331,3,314,157,0,2331,317,1,0,0,0,2332,2334,5,148,0,0,2333,2335,5,80,0,0,2334,2333,1,0,0,0,2334,2335,1,0,0,0,2335,2336,1,0,0,0,2336,2337,5,69,0,0,2337,2338,3,252,126,0,2338,2341,3,320,160,0,2339,2340,5,312,0,0,2340,2342,3,724,362,0,2341,2339,1,0,0,0,2341,2342,1,0,0,0,2342,319,1,0,0,0,2343,2348,3,322,161,0,2344,2345,5,26,0,0,2345,2347,3,322,161,0,2346,2344,1,0,0,0,2347,2350,1,0,0,0,2348,2346,1,0,0,0,2348,2349,1,0,0,0,2349,321,1,0,0,0,2350,2348,1,0,0,0,2351,2357,3,324,162,0,2352,2357,3,328,164,0,2353,2357,3,330,165,0,2354,2357,3,332,166,0,2355,2357,3,334,167,0,2356,2351,1,0,0,0,2356,2352,1,0,0,0,2356,2353,1,0,0,0,2356,2354,1,0,0,0,2356,2355,1,0,0,0,2357,323,1,0,0,0,2358,2359,3,128,64,0,2359,325,1,0,0,0,2360,2365,3,324,162,0,2361,2362,5,26,0,0,2362,2364,3,324,162,0,2363,2361,1,0,0,0,2364,2367,1,0,0,0,2365,2363,1,0,0,0,2365,2366,1,0,0,0,2366,327,1,0,0,0,2367,2365,1,0,0,0,2368,2369,5,254,0,0,2369,2370,5,27,0,0,2370,2371,3,326,163,0,2371,2372,5,28,0,0,2372,329,1,0,0,0,2373,2374,5,89,0,0,2374,2375,5,27,0,0,2375,2376,3,326,163,0,2376,2377,5,28,0,0,2377,331,1,0,0,0,2378,2379,5,149,0,0,2379,2380,5,265,0,0,2380,2381,5,27,0,0,2381,2382,3,320,160,0,2382,2383,5,28,0,0,2383,333,1,0,0,0,2384,2385,5,153,0,0,2385,2386,5,27,0,0,2386,2387,3,14,7,0,2387,2388,5,26,0,0,2388,2389,3,14,7,0,2389,2390,5,26,0,0,2390,2391,3,14,7,0,2391,2392,5,26,0,0,2392,2393,3,14,7,0,2393,2394,5,28,0,0,2394,335,1,0,0,0,2395,2396,3,748,374,0,2396,2397,5,20,0,0,2397,2405,1,0,0,0,2398,2402,3,14,7,0,2399,2400,5,55,0,0,2400,2403,3,726,363,0,2401,2403,3,744,372,0,2402,2399,1,0,0,0,2402,2401,1,0,0,0,2402,2403,1,0,0,0,2403,2405,1,0,0,0,2404,2395,1,0,0,0,2404,2398,1,0,0,0,2405,337,1,0,0,0,2406,2408,5,53,0,0,2407,2406,1,0,0,0,2407,2408,1,0,0,0,2408,2409,1,0,0,0,2409,2420,3,344,172,0,2410,2412,3,358,179,0,2411,2413,5,53,0,0,2412,2411,1,0,0,0,2412,2413,1,0,0,0,2413,2414,1,0,0,0,2414,2416,3,344,172,0,2415,2417,3,360,180,0,2416,2415,1,0,0,0,2416,2417,1,0,0,0,2417,2419,1,0,0,0,2418,2410,1,0,0,0,2419,2422,1,0,0,0,2420,2418,1,0,0,0,2420,2421,1,0,0,0,2421,339,1,0,0,0,2422,2420,1,0,0,0,2423,2426,3,120,60,0,2424,2425,5,55,0,0,2425,2427,3,724,362,0,2426,2424,1,0,0,0,2426,2427,1,0,0,0,2427,341,1,0,0,0,2428,2437,3,340,170,0,2429,2430,5,27,0,0,2430,2432,3,130,65,0,2431,2433,5,26,0,0,2432,2431,1,0,0,0,2432,2433,1,0,0,0,2433,2434,1,0,0,0,2434,2435,5,28,0,0,2435,2437,1,0,0,0,2436,2428,1,0,0,0,2436,2429,1,0,0,0,2437,343,1,0,0,0,2438,2448,3,346,173,0,2439,2446,5,137,0,0,2440,2442,7,13,0,0,2441,2440,1,0,0,0,2441,2442,1,0,0,0,2442,2443,1,0,0,0,2443,2444,5,69,0,0,2444,2447,3,342,171,0,2445,2447,5,78,0,0,2446,2441,1,0,0,0,2446,2445,1,0,0,0,2447,2449,1,0,0,0,2448,2439,1,0,0,0,2448,2449,1,0,0,0,2449,345,1,0,0,0,2450,2452,3,348,174,0,2451,2453,3,256,128,0,2452,2451,1,0,0,0,2452,2453,1,0,0,0,2453,2462,1,0,0,0,2454,2455,5,55,0,0,2455,2458,3,724,362,0,2456,2458,3,744,372,0,2457,2454,1,0,0,0,2457,2456,1,0,0,0,2458,2460,1,0,0,0,2459,2461,3,114,57,0,2460,2459,1,0,0,0,2460,2461,1,0,0,0,2461,2463,1,0,0,0,2462,2457,1,0,0,0,2462,2463,1,0,0,0,2463,2466,1,0,0,0,2464,2467,3,350,175,0,2465,2467,3,352,176,0,2466,2464,1,0,0,0,2466,2465,1,0,0,0,2466,2467,1,0,0,0,2467,347,1,0,0,0,2468,2478,3,572,286,0,2469,2470,5,27,0,0,2470,2471,3,232,116,0,2471,2472,5,28,0,0,2472,2478,1,0,0,0,2473,2474,5,27,0,0,2474,2475,3,370,185,0,2475,2476,5,28,0,0,2476,2478,1,0,0,0,2477,2468,1,0,0,0,2477,2469,1,0,0,0,2477,2473,1,0,0,0,2478,349,1,0,0,0,2479,2480,5,257,0,0,2480,2481,3,14,7,0,2481,351,1,0,0,0,2482,2483,5,279,0,0,2483,2484,3,354,177,0,2484,2485,5,27,0,0,2485,2486,3,14,7,0,2486,2488,5,28,0,0,2487,2489,3,356,178,0,2488,2487,1,0,0,0,2488,2489,1,0,0,0,2489,353,1,0,0,0,2490,2491,7,14,0,0,2491,355,1,0,0,0,2492,2493,5,239,0,0,2493,2494,5,27,0,0,2494,2495,3,14,7,0,2495,2496,5,28,0,0,2496,357,1,0,0,0,2497,2522,5,26,0,0,2498,2500,5,193,0,0,2499,2498,1,0,0,0,2499,2500,1,0,0,0,2500,2518,1,0,0,0,2501,2503,5,178,0,0,2502,2504,7,15,0,0,2503,2502,1,0,0,0,2503,2504,1,0,0,0,2504,2512,1,0,0,0,2505,2507,5,251,0,0,2506,2508,7,15,0,0,2507,2506,1,0,0,0,2507,2508,1,0,0,0,2508,2512,1,0,0,0,2509,2512,5,126,0,0,2510,2512,5,143,0,0,2511,2501,1,0,0,0,2511,2505,1,0,0,0,2511,2509,1,0,0,0,2511,2510,1,0,0,0,2511,2512,1,0,0,0,2512,2514,1,0,0,0,2513,2515,5,212,0,0,2514,2513,1,0,0,0,2514,2515,1,0,0,0,2515,2519,1,0,0,0,2516,2519,5,165,0,0,2517,2519,5,88,0,0,2518,2511,1,0,0,0,2518,2516,1,0,0,0,2518,2517,1,0,0,0,2519,2520,1,0,0,0,2520,2522,5,172,0,0,2521,2497,1,0,0,0,2521,2499,1,0,0,0,2522,359,1,0,0,0,2523,2524,5,204,0,0,2524,2528,3,14,7,0,2525,2526,5,303,0,0,2526,2528,3,118,59,0,2527,2523,1,0,0,0,2527,2525,1,0,0,0,2528,361,1,0,0,0,2529,2539,5,248,0,0,2530,2540,5,20,0,0,2531,2536,3,724,362,0,2532,2533,5,26,0,0,2533,2535,3,724,362,0,2534,2532,1,0,0,0,2535,2538,1,0,0,0,2536,2534,1,0,0,0,2536,2537,1,0,0,0,2537,2540,1,0,0,0,2538,2536,1,0,0,0,2539,2530,1,0,0,0,2539,2531,1,0,0,0,2540,363,1,0,0,0,2541,2554,5,166,0,0,2542,2543,5,166,0,0,2543,2544,5,209,0,0,2544,2554,5,44,0,0,2545,2546,5,166,0,0,2546,2547,5,209,0,0,2547,2554,5,249,0,0,2548,2549,5,166,0,0,2549,2550,5,209,0,0,2550,2554,5,155,0,0,2551,2554,5,300,0,0,2552,2554,5,240,0,0,2553,2541,1,0,0,0,2553,2542,1,0,0,0,2553,2545,1,0,0,0,2553,2548,1,0,0,0,2553,2551,1,0,0,0,2553,2552,1,0,0,0,2554,2555,1,0,0,0,2555,2556,5,169,0,0,2556,2557,3,588,294,0,2557,2559,3,368,184,0,2558,2560,3,362,181,0,2559,2558,1,0,0,0,2559,2560,1,0,0,0,2560,365,1,0,0,0,2561,2573,5,166,0,0,2562,2563,5,166,0,0,2563,2564,5,209,0,0,2564,2573,5,44,0,0,2565,2566,5,166,0,0,2566,2567,5,209,0,0,2567,2573,5,249,0,0,2568,2569,5,166,0,0,2569,2570,5,209,0,0,2570,2573,5,155,0,0,2571,2573,5,240,0,0,2572,2561,1,0,0,0,2572,2562,1,0,0,0,2572,2565,1,0,0,0,2572,2568,1,0,0,0,2572,2571,1,0,0,0,2573,2574,1,0,0,0,2574,2575,5,169,0,0,2575,2576,3,588,294,0,2576,2577,3,368,184,0,2577,367,1,0,0,0,2578,2580,3,114,57,0,2579,2578,1,0,0,0,2579,2580,1,0,0,0,2580,2581,1,0,0,0,2581,2585,3,372,186,0,2582,2583,5,98,0,0,2583,2585,5,305,0,0,2584,2579,1,0,0,0,2584,2582,1,0,0,0,2585,369,1,0,0,0,2586,2587,5,305,0,0,2587,2588,3,374,187,0,2588,371,1,0,0,0,2589,2592,3,370,185,0,2590,2592,3,232,116,0,2591,2589,1,0,0,0,2591,2590,1,0,0,0,2592,373,1,0,0,0,2593,2598,3,376,188,0,2594,2595,5,26,0,0,2595,2597,3,376,188,0,2596,2594,1,0,0,0,2597,2600,1,0,0,0,2598,2596,1,0,0,0,2598,2599,1,0,0,0,2599,375,1,0,0,0,2600,2598,1,0,0,0,2601,2602,5,27,0,0,2602,2603,3,112,56,0,2603,2604,5,28,0,0,2604,377,1,0,0,0,2605,2608,3,112,56,0,2606,2608,3,232,116,0,2607,2605,1,0,0,0,2607,2606,1,0,0,0,2608,379,1,0,0,0,2609,2612,5,87,0,0,2610,2611,5,209,0,0,2611,2613,5,240,0,0,2612,2610,1,0,0,0,2612,2613,1,0,0,0,2613,2614,1,0,0,0,2614,2615,5,131,0,0,2615,2616,5,94,0,0,2616,2620,5,268,0,0,2617,2618,5,154,0,0,2618,2619,5,196,0,0,2619,2621,5,128,0,0,2620,2617,1,0,0,0,2620,2621,1,0,0,0,2621,2622,1,0,0,0,2622,2623,3,582,291,0,2623,2624,3,426,213,0,2624,381,1,0,0,0,2625,2626,5,49,0,0,2626,2627,5,131,0,0,2627,2628,5,94,0,0,2628,2629,5,268,0,0,2629,2630,3,582,291,0,2630,2635,3,384,192,0,2631,2632,5,26,0,0,2632,2634,3,384,192,0,2633,2631,1,0,0,0,2634,2637,1,0,0,0,2635,2633,1,0,0,0,2635,2636,1,0,0,0,2636,383,1,0,0,0,2637,2635,1,0,0,0,2638,2642,3,456,228,0,2639,2642,3,458,229,0,2640,2642,3,460,230,0,2641,2638,1,0,0,0,2641,2639,1,0,0,0,2641,2640,1,0,0,0,2642,385,1,0,0,0,2643,2644,5,112,0,0,2644,2645,5,131,0,0,2645,2646,5,94,0,0,2646,2649,5,268,0,0,2647,2648,5,154,0,0,2648,2650,5,128,0,0,2649,2647,1,0,0,0,2649,2650,1,0,0,0,2650,2651,1,0,0,0,2651,2652,3,582,291,0,2652,387,1,0,0,0,2653,2654,5,87,0,0,2654,2655,5,307,0,0,2655,2656,3,582,291,0,2656,2657,3,426,213,0,2657,2658,5,55,0,0,2658,2659,3,232,116,0,2659,389,1,0,0,0,2660,2661,5,112,0,0,2661,2662,5,307,0,0,2662,2663,3,582,291,0,2663,391,1,0,0,0,2664,2665,5,300,0,0,2665,2666,5,200,0,0,2666,2667,3,582,291,0,2667,2668,5,27,0,0,2668,2669,5,292,0,0,2669,2670,3,416,208,0,2670,2672,5,28,0,0,2671,2673,3,396,198,0,2672,2671,1,0,0,0,2672,2673,1,0,0,0,2673,393,1,0,0,0,2674,2675,5,87,0,0,2675,2679,5,200,0,0,2676,2677,5,154,0,0,2677,2678,5,196,0,0,2678,2680,5,128,0,0,2679,2676,1,0,0,0,2679,2680,1,0,0,0,2680,2681,1,0,0,0,2681,2682,3,582,291,0,2682,2683,5,27,0,0,2683,2684,5,292,0,0,2684,2685,3,416,208,0,2685,2687,5,28,0,0,2686,2688,3,396,198,0,2687,2686,1,0,0,0,2687,2688,1,0,0,0,2688,395,1,0,0,0,2689,2690,5,312,0,0,2690,2691,3,414,207,0,2691,397,1,0,0,0,2692,2693,5,49,0,0,2693,2694,5,200,0,0,2694,2695,3,582,291,0,2695,2696,5,27,0,0,2696,2697,5,292,0,0,2697,2698,3,416,208,0,2698,2699,5,28,0,0,2699,2700,3,400,200,0,2700,399,1,0,0,0,2701,2702,5,264,0,0,2702,2703,3,414,207,0,2703,401,1,0,0,0,2704,2705,5,112,0,0,2705,2708,5,200,0,0,2706,2707,5,154,0,0,2707,2709,5,128,0,0,2708,2706,1,0,0,0,2708,2709,1,0,0,0,2709,2710,1,0,0,0,2710,2711,3,582,291,0,2711,2712,5,27,0,0,2712,2713,5,292,0,0,2713,2714,3,416,208,0,2714,2716,5,28,0,0,2715,2717,3,404,202,0,2716,2715,1,0,0,0,2716,2717,1,0,0,0,2717,403,1,0,0,0,2718,2719,5,312,0,0,2719,2720,3,414,207,0,2720,405,1,0,0,0,2721,2725,3,752,376,0,2722,2725,3,144,72,0,2723,2725,5,316,0,0,2724,2721,1,0,0,0,2724,2722,1,0,0,0,2724,2723,1,0,0,0,2725,407,1,0,0,0,2726,2727,3,726,363,0,2727,2728,5,2,0,0,2728,2729,3,406,203,0,2729,409,1,0,0,0,2730,2731,3,726,363,0,2731,411,1,0,0,0,2732,2735,3,408,204,0,2733,2735,3,410,205,0,2734,2732,1,0,0,0,2734,2733,1,0,0,0,2735,413,1,0,0,0,2736,2749,3,412,206,0,2737,2738,5,27,0,0,2738,2743,3,412,206,0,2739,2740,5,26,0,0,2740,2742,3,412,206,0,2741,2739,1,0,0,0,2742,2745,1,0,0,0,2743,2741,1,0,0,0,2743,2744,1,0,0,0,2744,2746,1,0,0,0,2745,2743,1,0,0,0,2746,2747,5,28,0,0,2747,2749,1,0,0,0,2748,2736,1,0,0,0,2748,2737,1,0,0,0,2749,415,1,0,0,0,2750,2751,3,726,363,0,2751,417,1,0,0,0,2752,2755,5,87,0,0,2753,2754,5,209,0,0,2754,2756,5,240,0,0,2755,2753,1,0,0,0,2755,2756,1,0,0,0,2756,2765,1,0,0,0,2757,2766,5,277,0,0,2758,2766,5,280,0,0,2759,2760,5,131,0,0,2760,2766,5,277,0,0,2761,2762,5,282,0,0,2762,2766,5,277,0,0,2763,2764,5,283,0,0,2764,2766,5,277,0,0,2765,2757,1,0,0,0,2765,2758,1,0,0,0,2765,2759,1,0,0,0,2765,2761,1,0,0,0,2765,2763,1,0,0,0,2766,2770,1,0,0,0,2767,2768,5,154,0,0,2768,2769,5,196,0,0,2769,2771,5,128,0,0,2770,2767,1,0,0,0,2770,2771,1,0,0,0,2771,2772,1,0,0,0,2772,2773,3,586,293,0,2773,2774,5,27,0,0,2774,2779,3,420,210,0,2775,2776,5,26,0,0,2776,2778,3,420,210,0,2777,2775,1,0,0,0,2778,2781,1,0,0,0,2779,2777,1,0,0,0,2779,2780,1,0,0,0,2780,2783,1,0,0,0,2781,2779,1,0,0,0,2782,2784,5,26,0,0,2783,2782,1,0,0,0,2783,2784,1,0,0,0,2784,2785,1,0,0,0,2785,2787,5,28,0,0,2786,2788,3,422,211,0,2787,2786,1,0,0,0,2787,2788,1,0,0,0,2788,2790,1,0,0,0,2789,2791,3,424,212,0,2790,2789,1,0,0,0,2790,2791,1,0,0,0,2791,2793,1,0,0,0,2792,2794,3,426,213,0,2793,2792,1,0,0,0,2793,2794,1,0,0,0,2794,2796,1,0,0,0,2795,2797,3,428,214,0,2796,2795,1,0,0,0,2796,2797,1,0,0,0,2797,2799,1,0,0,0,2798,2800,3,432,216,0,2799,2798,1,0,0,0,2799,2800,1,0,0,0,2800,419,1,0,0,0,2801,2808,3,476,238,0,2802,2808,3,484,242,0,2803,2808,3,486,243,0,2804,2808,3,508,254,0,2805,2808,3,494,247,0,2806,2808,3,728,364,0,2807,2801,1,0,0,0,2807,2802,1,0,0,0,2807,2803,1,0,0,0,2807,2804,1,0,0,0,2807,2805,1,0,0,0,2807,2806,1,0,0,0,2808,421,1,0,0,0,2809,2810,5,162,0,0,2810,2811,5,27,0,0,2811,2816,3,584,292,0,2812,2813,5,26,0,0,2813,2815,3,584,292,0,2814,2812,1,0,0,0,2815,2818,1,0,0,0,2816,2814,1,0,0,0,2816,2817,1,0,0,0,2817,2819,1,0,0,0,2818,2816,1,0,0,0,2819,2820,5,28,0,0,2820,423,1,0,0,0,2821,2822,5,215,0,0,2822,2823,5,69,0,0,2823,2824,5,151,0,0,2824,2825,3,114,57,0,2825,425,1,0,0,0,2826,2827,5,312,0,0,2827,2828,5,27,0,0,2828,2833,3,430,215,0,2829,2830,5,26,0,0,2830,2832,3,430,215,0,2831,2829,1,0,0,0,2832,2835,1,0,0,0,2833,2831,1,0,0,0,2833,2834,1,0,0,0,2834,2836,1,0,0,0,2835,2833,1,0,0,0,2836,2837,5,28,0,0,2837,427,1,0,0,0,2838,2839,5,280,0,0,2839,2840,3,584,292,0,2840,429,1,0,0,0,2841,2842,3,724,362,0,2842,2843,5,2,0,0,2843,2844,3,506,253,0,2844,431,1,0,0,0,2845,2846,5,55,0,0,2846,2847,3,372,186,0,2847,433,1,0,0,0,2848,2849,5,49,0,0,2849,2850,5,277,0,0,2850,2851,3,586,293,0,2851,2856,3,436,218,0,2852,2853,5,26,0,0,2853,2855,3,436,218,0,2854,2852,1,0,0,0,2855,2858,1,0,0,0,2856,2854,1,0,0,0,2856,2857,1,0,0,0,2857,435,1,0,0,0,2858,2856,1,0,0,0,2859,2875,3,446,223,0,2860,2875,3,448,224,0,2861,2875,3,450,225,0,2862,2875,3,452,226,0,2863,2875,3,454,227,0,2864,2875,3,456,228,0,2865,2875,3,458,229,0,2866,2875,3,460,230,0,2867,2875,3,462,231,0,2868,2875,3,464,232,0,2869,2875,3,466,233,0,2870,2875,3,470,235,0,2871,2875,3,472,236,0,2872,2875,3,474,237,0,2873,2875,3,468,234,0,2874,2859,1,0,0,0,2874,2860,1,0,0,0,2874,2861,1,0,0,0,2874,2862,1,0,0,0,2874,2863,1,0,0,0,2874,2864,1,0,0,0,2874,2865,1,0,0,0,2874,2866,1,0,0,0,2874,2867,1,0,0,0,2874,2868,1,0,0,0,2874,2869,1,0,0,0,2874,2870,1,0,0,0,2874,2871,1,0,0,0,2874,2872,1,0,0,0,2874,2873,1,0,0,0,2875,437,1,0,0,0,2876,2877,5,49,0,0,2877,2878,5,131,0,0,2878,2879,5,277,0,0,2879,2880,3,586,293,0,2880,2885,3,440,220,0,2881,2882,5,26,0,0,2882,2884,3,440,220,0,2883,2881,1,0,0,0,2884,2887,1,0,0,0,2885,2883,1,0,0,0,2885,2886,1,0,0,0,2886,439,1,0,0,0,2887,2885,1,0,0,0,2888,2894,3,446,223,0,2889,2894,3,448,224,0,2890,2894,3,456,228,0,2891,2894,3,458,229,0,2892,2894,3,460,230,0,2893,2888,1,0,0,0,2893,2889,1,0,0,0,2893,2890,1,0,0,0,2893,2891,1,0,0,0,2893,2892,1,0,0,0,2894,441,1,0,0,0,2895,2896,5,49,0,0,2896,2897,5,280,0,0,2897,2898,3,582,291,0,2898,2903,3,444,222,0,2899,2900,5,26,0,0,2900,2902,3,444,222,0,2901,2899,1,0,0,0,2902,2905,1,0,0,0,2903,2901,1,0,0,0,2903,2904,1,0,0,0,2904,443,1,0,0,0,2905,2903,1,0,0,0,2906,2909,3,446,223,0,2907,2909,3,448,224,0,2908,2906,1,0,0,0,2908,2907,1,0,0,0,2909,445,1,0,0,0,2910,2912,5,46,0,0,2911,2913,5,77,0,0,2912,2911,1,0,0,0,2912,2913,1,0,0,0,2913,2914,1,0,0,0,2914,2915,3,476,238,0,2915,447,1,0,0,0,2916,2918,5,112,0,0,2917,2919,5,77,0,0,2918,2917,1,0,0,0,2918,2919,1,0,0,0,2919,2920,1,0,0,0,2920,2921,3,724,362,0,2921,449,1,0,0,0,2922,2923,5,49,0,0,2923,2924,5,77,0,0,2924,2925,3,724,362,0,2925,2926,5,264,0,0,2926,2927,3,478,239,0,2927,451,1,0,0,0,2928,2929,5,46,0,0,2929,2930,3,508,254,0,2930,453,1,0,0,0,2931,2932,5,49,0,0,2932,2933,5,134,0,0,2933,2934,3,724,362,0,2934,2935,5,264,0,0,2935,2936,3,724,362,0,2936,2937,3,514,257,0,2937,455,1,0,0,0,2938,2939,5,264,0,0,2939,2940,3,724,362,0,2940,2941,3,506,253,0,2941,457,1,0,0,0,2942,2943,5,264,0,0,2943,2944,5,27,0,0,2944,2949,3,504,252,0,2945,2946,5,26,0,0,2946,2948,3,504,252,0,2947,2945,1,0,0,0,2948,2951,1,0,0,0,2949,2947,1,0,0,0,2949,2950,1,0,0,0,2950,2952,1,0,0,0,2951,2949,1,0,0,0,2952,2953,5,28,0,0,2953,459,1,0,0,0,2954,2955,5,242,0,0,2955,2956,5,27,0,0,2956,2961,3,724,362,0,2957,2958,5,26,0,0,2958,2960,3,724,362,0,2959,2957,1,0,0,0,2960,2963,1,0,0,0,2961,2959,1,0,0,0,2961,2962,1,0,0,0,2962,2964,1,0,0,0,2963,2961,1,0,0,0,2964,2965,5,28,0,0,2965,461,1,0,0,0,2966,2967,5,46,0,0,2967,2968,3,486,243,0,2968,463,1,0,0,0,2969,2970,5,112,0,0,2970,2971,5,160,0,0,2971,2972,3,724,362,0,2972,465,1,0,0,0,2973,2974,5,238,0,0,2974,2975,5,286,0,0,2975,2976,3,736,368,0,2976,467,1,0,0,0,2977,2978,5,238,0,0,2978,2979,5,160,0,0,2979,2980,3,724,362,0,2980,2981,5,286,0,0,2981,2982,3,724,362,0,2982,469,1,0,0,0,2983,2984,5,46,0,0,2984,2985,3,494,247,0,2985,471,1,0,0,0,2986,2987,5,49,0,0,2987,2988,5,74,0,0,2988,2989,3,724,362,0,2989,2990,3,502,251,0,2990,473,1,0,0,0,2991,2992,5,112,0,0,2992,2993,5,74,0,0,2993,2994,3,724,362,0,2994,475,1,0,0,0,2995,2996,3,728,364,0,2996,2998,3,204,102,0,2997,2999,3,478,239,0,2998,2997,1,0,0,0,2998,2999,1,0,0,0,2999,3e3,1,0,0,0,3e3,3001,3,480,240,0,3001,477,1,0,0,0,3002,3003,5,134,0,0,3003,3004,3,724,362,0,3004,479,1,0,0,0,3005,3007,5,196,0,0,3006,3005,1,0,0,0,3006,3007,1,0,0,0,3007,3008,1,0,0,0,3008,3010,5,198,0,0,3009,3006,1,0,0,0,3009,3010,1,0,0,0,3010,3013,1,0,0,0,3011,3012,5,98,0,0,3012,3014,3,14,7,0,3013,3011,1,0,0,0,3013,3014,1,0,0,0,3014,481,1,0,0,0,3015,3017,3,724,362,0,3016,3018,7,9,0,0,3017,3016,1,0,0,0,3017,3018,1,0,0,0,3018,483,1,0,0,0,3019,3020,5,226,0,0,3020,3021,5,176,0,0,3021,3022,5,27,0,0,3022,3027,3,724,362,0,3023,3024,5,26,0,0,3024,3026,3,724,362,0,3025,3023,1,0,0,0,3026,3029,1,0,0,0,3027,3025,1,0,0,0,3027,3028,1,0,0,0,3028,3030,1,0,0,0,3029,3027,1,0,0,0,3030,3031,5,28,0,0,3031,3059,1,0,0,0,3032,3033,5,215,0,0,3033,3034,5,69,0,0,3034,3035,5,27,0,0,3035,3040,3,724,362,0,3036,3037,5,26,0,0,3037,3039,3,724,362,0,3038,3036,1,0,0,0,3039,3042,1,0,0,0,3040,3038,1,0,0,0,3040,3041,1,0,0,0,3041,3043,1,0,0,0,3042,3040,1,0,0,0,3043,3044,5,28,0,0,3044,3059,1,0,0,0,3045,3046,5,210,0,0,3046,3047,5,69,0,0,3047,3048,5,27,0,0,3048,3053,3,482,241,0,3049,3050,5,26,0,0,3050,3052,3,482,241,0,3051,3049,1,0,0,0,3052,3055,1,0,0,0,3053,3051,1,0,0,0,3053,3054,1,0,0,0,3054,3056,1,0,0,0,3055,3053,1,0,0,0,3056,3057,5,28,0,0,3057,3059,1,0,0,0,3058,3019,1,0,0,0,3058,3032,1,0,0,0,3058,3045,1,0,0,0,3059,485,1,0,0,0,3060,3061,5,160,0,0,3061,3062,3,724,362,0,3062,3083,3,488,244,0,3063,3064,5,312,0,0,3064,3065,5,27,0,0,3065,3066,3,724,362,0,3066,3067,5,2,0,0,3067,3075,3,724,362,0,3068,3069,5,26,0,0,3069,3070,3,724,362,0,3070,3071,5,2,0,0,3071,3072,3,724,362,0,3072,3074,1,0,0,0,3073,3068,1,0,0,0,3074,3077,1,0,0,0,3075,3073,1,0,0,0,3075,3076,1,0,0,0,3076,3079,1,0,0,0,3077,3075,1,0,0,0,3078,3080,5,26,0,0,3079,3078,1,0,0,0,3079,3080,1,0,0,0,3080,3081,1,0,0,0,3081,3082,5,28,0,0,3082,3084,1,0,0,0,3083,3063,1,0,0,0,3083,3084,1,0,0,0,3084,3085,1,0,0,0,3085,3086,5,204,0,0,3086,3087,5,27,0,0,3087,3092,3,728,364,0,3088,3089,5,26,0,0,3089,3091,3,728,364,0,3090,3088,1,0,0,0,3091,3094,1,0,0,0,3092,3090,1,0,0,0,3092,3093,1,0,0,0,3093,3095,1,0,0,0,3094,3092,1,0,0,0,3095,3108,5,28,0,0,3096,3097,5,86,0,0,3097,3098,5,27,0,0,3098,3103,3,728,364,0,3099,3100,5,26,0,0,3100,3102,3,728,364,0,3101,3099,1,0,0,0,3102,3105,1,0,0,0,3103,3101,1,0,0,0,3103,3104,1,0,0,0,3104,3106,1,0,0,0,3105,3103,1,0,0,0,3106,3107,5,28,0,0,3107,3109,1,0,0,0,3108,3096,1,0,0,0,3108,3109,1,0,0,0,3109,487,1,0,0,0,3110,3113,3,490,245,0,3111,3113,3,492,246,0,3112,3110,1,0,0,0,3112,3111,1,0,0,0,3113,489,1,0,0,0,3114,3116,5,146,0,0,3115,3117,5,296,0,0,3116,3115,1,0,0,0,3116,3117,1,0,0,0,3117,3119,1,0,0,0,3118,3120,7,16,0,0,3119,3118,1,0,0,0,3119,3120,1,0,0,0,3120,491,1,0,0,0,3121,3122,5,183,0,0,3122,493,1,0,0,0,3123,3124,5,74,0,0,3124,3125,3,724,362,0,3125,3126,5,312,0,0,3126,3127,5,27,0,0,3127,3128,3,496,248,0,3128,3129,5,28,0,0,3129,495,1,0,0,0,3130,3135,3,498,249,0,3131,3132,5,26,0,0,3132,3134,3,498,249,0,3133,3131,1,0,0,0,3134,3137,1,0,0,0,3135,3133,1,0,0,0,3135,3136,1,0,0,0,3136,497,1,0,0,0,3137,3135,1,0,0,0,3138,3139,3,724,362,0,3139,3140,5,2,0,0,3140,3141,3,500,250,0,3141,499,1,0,0,0,3142,3143,3,14,7,0,3143,501,1,0,0,0,3144,3151,5,108,0,0,3145,3146,5,264,0,0,3146,3147,5,27,0,0,3147,3148,3,496,248,0,3148,3149,5,28,0,0,3149,3151,1,0,0,0,3150,3144,1,0,0,0,3150,3145,1,0,0,0,3151,503,1,0,0,0,3152,3153,3,724,362,0,3153,3154,5,2,0,0,3154,3155,3,506,253,0,3155,505,1,0,0,0,3156,3169,3,706,353,0,3157,3169,5,316,0,0,3158,3169,3,788,394,0,3159,3169,3,516,258,0,3160,3161,3,14,7,0,3161,3162,5,204,0,0,3162,3165,3,724,362,0,3163,3164,5,55,0,0,3164,3166,7,17,0,0,3165,3163,1,0,0,0,3165,3166,1,0,0,0,3166,3169,1,0,0,0,3167,3169,3,784,392,0,3168,3156,1,0,0,0,3168,3157,1,0,0,0,3168,3158,1,0,0,0,3168,3159,1,0,0,0,3168,3160,1,0,0,0,3168,3167,1,0,0,0,3169,507,1,0,0,0,3170,3171,5,134,0,0,3171,3172,3,724,362,0,3172,3173,3,510,255,0,3173,509,1,0,0,0,3174,3183,5,27,0,0,3175,3180,3,512,256,0,3176,3177,5,26,0,0,3177,3179,3,512,256,0,3178,3176,1,0,0,0,3179,3182,1,0,0,0,3180,3178,1,0,0,0,3180,3181,1,0,0,0,3181,3184,1,0,0,0,3182,3180,1,0,0,0,3183,3175,1,0,0,0,3183,3184,1,0,0,0,3184,3185,1,0,0,0,3185,3186,5,28,0,0,3186,511,1,0,0,0,3187,3188,3,724,362,0,3188,3189,5,2,0,0,3189,3190,3,514,257,0,3190,513,1,0,0,0,3191,3192,5,316,0,0,3192,515,1,0,0,0,3193,3194,5,27,0,0,3194,3199,3,518,259,0,3195,3196,5,26,0,0,3196,3198,3,518,259,0,3197,3195,1,0,0,0,3198,3201,1,0,0,0,3199,3197,1,0,0,0,3199,3200,1,0,0,0,3200,3202,1,0,0,0,3201,3199,1,0,0,0,3202,3203,5,28,0,0,3203,3206,1,0,0,0,3204,3206,3,518,259,0,3205,3193,1,0,0,0,3205,3204,1,0,0,0,3206,517,1,0,0,0,3207,3208,5,27,0,0,3208,3213,3,142,71,0,3209,3210,5,26,0,0,3210,3212,3,142,71,0,3211,3209,1,0,0,0,3212,3215,1,0,0,0,3213,3211,1,0,0,0,3213,3214,1,0,0,0,3214,3216,1,0,0,0,3215,3213,1,0,0,0,3216,3217,5,28,0,0,3217,519,1,0,0,0,3218,3223,5,112,0,0,3219,3224,5,277,0,0,3220,3224,5,280,0,0,3221,3222,5,131,0,0,3222,3224,5,277,0,0,3223,3219,1,0,0,0,3223,3220,1,0,0,0,3223,3221,1,0,0,0,3224,3227,1,0,0,0,3225,3226,5,154,0,0,3226,3228,5,128,0,0,3227,3225,1,0,0,0,3227,3228,1,0,0,0,3228,3229,1,0,0,0,3229,3230,3,586,293,0,3230,521,1,0,0,0,3231,3232,5,87,0,0,3232,3233,5,302,0,0,3233,3235,3,532,266,0,3234,3236,3,534,267,0,3235,3234,1,0,0,0,3235,3236,1,0,0,0,3236,523,1,0,0,0,3237,3238,5,49,0,0,3238,3239,5,302,0,0,3239,3247,3,532,266,0,3240,3242,5,312,0,0,3241,3240,1,0,0,0,3241,3242,1,0,0,0,3242,3243,1,0,0,0,3243,3248,3,534,267,0,3244,3245,5,238,0,0,3245,3246,5,286,0,0,3246,3248,3,532,266,0,3247,3241,1,0,0,0,3247,3244,1,0,0,0,3248,525,1,0,0,0,3249,3250,5,87,0,0,3250,3251,5,148,0,0,3251,3265,3,532,266,0,3252,3253,5,312,0,0,3253,3254,5,302,0,0,3254,3259,3,532,266,0,3255,3256,5,26,0,0,3256,3258,3,532,266,0,3257,3255,1,0,0,0,3258,3261,1,0,0,0,3259,3257,1,0,0,0,3259,3260,1,0,0,0,3260,3263,1,0,0,0,3261,3259,1,0,0,0,3262,3264,5,26,0,0,3263,3262,1,0,0,0,3263,3264,1,0,0,0,3264,3266,1,0,0,0,3265,3252,1,0,0,0,3265,3266,1,0,0,0,3266,527,1,0,0,0,3267,3268,5,49,0,0,3268,3269,5,148,0,0,3269,3286,3,532,266,0,3270,3271,7,18,0,0,3271,3272,5,302,0,0,3272,3277,3,532,266,0,3273,3274,5,26,0,0,3274,3276,3,532,266,0,3275,3273,1,0,0,0,3276,3279,1,0,0,0,3277,3275,1,0,0,0,3277,3278,1,0,0,0,3278,3281,1,0,0,0,3279,3277,1,0,0,0,3280,3282,5,26,0,0,3281,3280,1,0,0,0,3281,3282,1,0,0,0,3282,3287,1,0,0,0,3283,3284,5,238,0,0,3284,3285,5,286,0,0,3285,3287,3,532,266,0,3286,3270,1,0,0,0,3286,3283,1,0,0,0,3287,529,1,0,0,0,3288,3289,5,112,0,0,3289,3292,7,19,0,0,3290,3291,5,154,0,0,3291,3293,5,128,0,0,3292,3290,1,0,0,0,3292,3293,1,0,0,0,3293,3294,1,0,0,0,3294,3299,3,532,266,0,3295,3296,5,26,0,0,3296,3298,3,532,266,0,3297,3295,1,0,0,0,3298,3301,1,0,0,0,3299,3297,1,0,0,0,3299,3300,1,0,0,0,3300,3303,1,0,0,0,3301,3299,1,0,0,0,3302,3304,5,26,0,0,3303,3302,1,0,0,0,3303,3304,1,0,0,0,3304,531,1,0,0,0,3305,3308,3,726,363,0,3306,3308,3,144,72,0,3307,3305,1,0,0,0,3307,3306,1,0,0,0,3308,533,1,0,0,0,3309,3311,5,117,0,0,3310,3309,1,0,0,0,3310,3311,1,0,0,0,3311,3312,1,0,0,0,3312,3313,5,217,0,0,3313,3314,3,14,7,0,3314,535,1,0,0,0,3315,3316,5,147,0,0,3316,3317,3,544,272,0,3317,3318,5,204,0,0,3318,3323,3,728,364,0,3319,3320,5,26,0,0,3320,3322,3,728,364,0,3321,3319,1,0,0,0,3322,3325,1,0,0,0,3323,3321,1,0,0,0,3323,3324,1,0,0,0,3324,3326,1,0,0,0,3325,3323,1,0,0,0,3326,3327,5,286,0,0,3327,3332,3,532,266,0,3328,3329,5,26,0,0,3329,3331,3,532,266,0,3330,3328,1,0,0,0,3331,3334,1,0,0,0,3332,3330,1,0,0,0,3332,3333,1,0,0,0,3333,3336,1,0,0,0,3334,3332,1,0,0,0,3335,3337,5,26,0,0,3336,3335,1,0,0,0,3336,3337,1,0,0,0,3337,3341,1,0,0,0,3338,3339,5,312,0,0,3339,3340,5,147,0,0,3340,3342,5,207,0,0,3341,3338,1,0,0,0,3341,3342,1,0,0,0,3342,537,1,0,0,0,3343,3347,5,250,0,0,3344,3345,5,147,0,0,3345,3346,5,207,0,0,3346,3348,5,140,0,0,3347,3344,1,0,0,0,3347,3348,1,0,0,0,3348,3349,1,0,0,0,3349,3350,3,544,272,0,3350,3351,5,204,0,0,3351,3356,3,728,364,0,3352,3353,5,26,0,0,3353,3355,3,728,364,0,3354,3352,1,0,0,0,3355,3358,1,0,0,0,3356,3354,1,0,0,0,3356,3357,1,0,0,0,3357,3359,1,0,0,0,3358,3356,1,0,0,0,3359,3360,5,142,0,0,3360,3365,3,532,266,0,3361,3362,5,26,0,0,3362,3364,3,532,266,0,3363,3361,1,0,0,0,3364,3367,1,0,0,0,3365,3363,1,0,0,0,3365,3366,1,0,0,0,3366,539,1,0,0,0,3367,3365,1,0,0,0,3368,3393,5,83,0,0,3369,3393,5,182,0,0,3370,3393,5,166,0,0,3371,3393,5,184,0,0,3372,3393,5,112,0,0,3373,3393,5,147,0,0,3374,3375,5,191,0,0,3375,3393,7,20,0,0,3376,3377,7,21,0,0,3377,3393,5,255,0,0,3378,3379,7,22,0,0,3379,3393,5,259,0,0,3380,3382,5,262,0,0,3381,3383,7,23,0,0,3382,3381,1,0,0,0,3382,3383,1,0,0,0,3383,3393,1,0,0,0,3384,3386,7,24,0,0,3385,3387,5,179,0,0,3386,3385,1,0,0,0,3386,3387,1,0,0,0,3387,3393,1,0,0,0,3388,3390,5,87,0,0,3389,3391,7,25,0,0,3390,3389,1,0,0,0,3390,3391,1,0,0,0,3391,3393,1,0,0,0,3392,3368,1,0,0,0,3392,3369,1,0,0,0,3392,3370,1,0,0,0,3392,3371,1,0,0,0,3392,3372,1,0,0,0,3392,3373,1,0,0,0,3392,3374,1,0,0,0,3392,3376,1,0,0,0,3392,3378,1,0,0,0,3392,3380,1,0,0,0,3392,3384,1,0,0,0,3392,3388,1,0,0,0,3393,541,1,0,0,0,3394,3397,3,540,270,0,3395,3397,5,316,0,0,3396,3394,1,0,0,0,3396,3395,1,0,0,0,3397,543,1,0,0,0,3398,3403,3,542,271,0,3399,3400,5,26,0,0,3400,3402,3,542,271,0,3401,3399,1,0,0,0,3402,3405,1,0,0,0,3403,3401,1,0,0,0,3403,3404,1,0,0,0,3404,3407,1,0,0,0,3405,3403,1,0,0,0,3406,3408,5,26,0,0,3407,3406,1,0,0,0,3407,3408,1,0,0,0,3408,3414,1,0,0,0,3409,3411,5,48,0,0,3410,3412,5,227,0,0,3411,3410,1,0,0,0,3411,3412,1,0,0,0,3412,3414,1,0,0,0,3413,3398,1,0,0,0,3413,3409,1,0,0,0,3414,545,1,0,0,0,3415,3416,5,87,0,0,3416,3417,5,59,0,0,3417,3418,5,241,0,0,3418,3419,3,582,291,0,3419,3420,5,140,0,0,3420,3425,3,548,274,0,3421,3422,5,26,0,0,3422,3424,3,548,274,0,3423,3421,1,0,0,0,3424,3427,1,0,0,0,3425,3423,1,0,0,0,3425,3426,1,0,0,0,3426,3428,1,0,0,0,3427,3425,1,0,0,0,3428,3429,5,312,0,0,3429,3430,5,27,0,0,3430,3431,3,550,275,0,3431,3432,5,28,0,0,3432,547,1,0,0,0,3433,3434,3,582,291,0,3434,3435,3,798,399,0,3435,549,1,0,0,0,3436,3441,3,552,276,0,3437,3438,5,26,0,0,3438,3440,3,552,276,0,3439,3437,1,0,0,0,3440,3443,1,0,0,0,3441,3439,1,0,0,0,3441,3442,1,0,0,0,3442,551,1,0,0,0,3443,3441,1,0,0,0,3444,3445,3,724,362,0,3445,3446,5,2,0,0,3446,3447,5,316,0,0,3447,553,1,0,0,0,3448,3449,5,49,0,0,3449,3450,5,59,0,0,3450,3451,5,241,0,0,3451,3452,3,582,291,0,3452,3457,3,556,278,0,3453,3454,5,26,0,0,3454,3456,3,556,278,0,3455,3453,1,0,0,0,3456,3459,1,0,0,0,3457,3455,1,0,0,0,3457,3458,1,0,0,0,3458,555,1,0,0,0,3459,3457,1,0,0,0,3460,3461,3,558,279,0,3461,557,1,0,0,0,3462,3463,5,264,0,0,3463,3464,5,27,0,0,3464,3465,3,550,275,0,3465,3466,5,28,0,0,3466,559,1,0,0,0,3467,3468,5,112,0,0,3468,3469,5,59,0,0,3469,3470,5,241,0,0,3470,3472,3,582,291,0,3471,3473,5,71,0,0,3472,3471,1,0,0,0,3472,3473,1,0,0,0,3473,561,1,0,0,0,3474,3479,3,146,73,0,3475,3476,5,26,0,0,3476,3478,3,146,73,0,3477,3475,1,0,0,0,3478,3481,1,0,0,0,3479,3477,1,0,0,0,3479,3480,1,0,0,0,3480,563,1,0,0,0,3481,3479,1,0,0,0,3482,3483,5,101,0,0,3483,3484,7,26,0,0,3484,3485,3,144,72,0,3485,3487,5,27,0,0,3486,3488,3,562,281,0,3487,3486,1,0,0,0,3487,3488,1,0,0,0,3488,3489,1,0,0,0,3489,3490,5,28,0,0,3490,3491,5,55,0,0,3491,3492,3,566,283,0,3492,3493,5,118,0,0,3493,3494,5,101,0,0,3494,565,1,0,0,0,3495,3497,5,24,0,0,3496,3495,1,0,0,0,3497,3500,1,0,0,0,3498,3496,1,0,0,0,3498,3499,1,0,0,0,3499,3519,1,0,0,0,3500,3498,1,0,0,0,3501,3510,3,12,6,0,3502,3504,5,24,0,0,3503,3502,1,0,0,0,3504,3505,1,0,0,0,3505,3503,1,0,0,0,3505,3506,1,0,0,0,3506,3507,1,0,0,0,3507,3509,3,12,6,0,3508,3503,1,0,0,0,3509,3512,1,0,0,0,3510,3508,1,0,0,0,3510,3511,1,0,0,0,3511,3516,1,0,0,0,3512,3510,1,0,0,0,3513,3515,5,24,0,0,3514,3513,1,0,0,0,3515,3518,1,0,0,0,3516,3514,1,0,0,0,3516,3517,1,0,0,0,3517,3520,1,0,0,0,3518,3516,1,0,0,0,3519,3501,1,0,0,0,3519,3520,1,0,0,0,3520,567,1,0,0,0,3521,3523,5,123,0,0,3522,3521,1,0,0,0,3522,3523,1,0,0,0,3523,3524,1,0,0,0,3524,3525,5,154,0,0,3525,3526,3,14,7,0,3526,3529,3,222,111,0,3527,3528,5,114,0,0,3528,3530,3,222,111,0,3529,3527,1,0,0,0,3529,3530,1,0,0,0,3530,569,1,0,0,0,3531,3533,5,123,0,0,3532,3531,1,0,0,0,3532,3533,1,0,0,0,3533,3535,1,0,0,0,3534,3536,5,214,0,0,3535,3534,1,0,0,0,3535,3536,1,0,0,0,3536,3537,1,0,0,0,3537,3538,5,140,0,0,3538,3539,3,144,72,0,3539,3540,5,159,0,0,3540,3541,3,14,7,0,3541,3544,3,222,111,0,3542,3543,5,114,0,0,3543,3545,3,222,111,0,3544,3542,1,0,0,0,3544,3545,1,0,0,0,3545,571,1,0,0,0,3546,3547,3,750,375,0,3547,3548,5,25,0,0,3548,3550,1,0,0,0,3549,3546,1,0,0,0,3549,3550,1,0,0,0,3550,3552,1,0,0,0,3551,3553,5,31,0,0,3552,3551,1,0,0,0,3552,3553,1,0,0,0,3553,3584,1,0,0,0,3554,3585,3,574,287,0,3555,3556,3,730,365,0,3556,3568,5,27,0,0,3557,3562,3,576,288,0,3558,3559,5,26,0,0,3559,3561,3,576,288,0,3560,3558,1,0,0,0,3561,3564,1,0,0,0,3562,3560,1,0,0,0,3562,3563,1,0,0,0,3563,3566,1,0,0,0,3564,3562,1,0,0,0,3565,3567,5,26,0,0,3566,3565,1,0,0,0,3566,3567,1,0,0,0,3567,3569,1,0,0,0,3568,3557,1,0,0,0,3568,3569,1,0,0,0,3569,3570,1,0,0,0,3570,3571,5,28,0,0,3571,3585,1,0,0,0,3572,3578,3,144,72,0,3573,3575,5,27,0,0,3574,3576,3,112,56,0,3575,3574,1,0,0,0,3575,3576,1,0,0,0,3576,3577,1,0,0,0,3577,3579,5,28,0,0,3578,3573,1,0,0,0,3578,3579,1,0,0,0,3579,3582,1,0,0,0,3580,3581,5,307,0,0,3581,3583,3,746,373,0,3582,3580,1,0,0,0,3582,3583,1,0,0,0,3583,3585,1,0,0,0,3584,3554,1,0,0,0,3584,3555,1,0,0,0,3584,3572,1,0,0,0,3585,3587,1,0,0,0,3586,3588,3,578,289,0,3587,3586,1,0,0,0,3587,3588,1,0,0,0,3588,573,1,0,0,0,3589,3592,3,758,379,0,3590,3591,5,307,0,0,3591,3593,3,746,373,0,3592,3590,1,0,0,0,3592,3593,1,0,0,0,3593,575,1,0,0,0,3594,3596,5,31,0,0,3595,3594,1,0,0,0,3595,3596,1,0,0,0,3596,3597,1,0,0,0,3597,3600,3,128,64,0,3598,3599,5,307,0,0,3599,3601,3,746,373,0,3600,3598,1,0,0,0,3600,3601,1,0,0,0,3601,577,1,0,0,0,3602,3615,5,312,0,0,3603,3616,3,580,290,0,3604,3605,5,27,0,0,3605,3610,3,580,290,0,3606,3607,5,26,0,0,3607,3609,3,580,290,0,3608,3606,1,0,0,0,3609,3612,1,0,0,0,3610,3608,1,0,0,0,3610,3611,1,0,0,0,3611,3613,1,0,0,0,3612,3610,1,0,0,0,3613,3614,5,28,0,0,3614,3616,1,0,0,0,3615,3603,1,0,0,0,3615,3604,1,0,0,0,3616,579,1,0,0,0,3617,3636,3,740,370,0,3618,3634,5,2,0,0,3619,3635,3,160,80,0,3620,3621,5,27,0,0,3621,3626,3,160,80,0,3622,3623,5,26,0,0,3623,3625,3,160,80,0,3624,3622,1,0,0,0,3625,3628,1,0,0,0,3626,3624,1,0,0,0,3626,3627,1,0,0,0,3627,3630,1,0,0,0,3628,3626,1,0,0,0,3629,3631,5,26,0,0,3630,3629,1,0,0,0,3630,3631,1,0,0,0,3631,3632,1,0,0,0,3632,3633,5,28,0,0,3633,3635,1,0,0,0,3634,3619,1,0,0,0,3634,3620,1,0,0,0,3635,3637,1,0,0,0,3636,3618,1,0,0,0,3636,3637,1,0,0,0,3637,3663,1,0,0,0,3638,3640,7,27,0,0,3639,3641,5,2,0,0,3640,3639,1,0,0,0,3640,3641,1,0,0,0,3641,3642,1,0,0,0,3642,3663,3,204,102,0,3643,3645,5,259,0,0,3644,3646,5,2,0,0,3645,3644,1,0,0,0,3645,3646,1,0,0,0,3646,3647,1,0,0,0,3647,3656,5,27,0,0,3648,3653,3,164,82,0,3649,3650,5,26,0,0,3650,3652,3,164,82,0,3651,3649,1,0,0,0,3652,3655,1,0,0,0,3653,3651,1,0,0,0,3653,3654,1,0,0,0,3654,3657,1,0,0,0,3655,3653,1,0,0,0,3656,3648,1,0,0,0,3656,3657,1,0,0,0,3657,3659,1,0,0,0,3658,3660,5,26,0,0,3659,3658,1,0,0,0,3659,3660,1,0,0,0,3660,3661,1,0,0,0,3661,3663,5,28,0,0,3662,3617,1,0,0,0,3662,3638,1,0,0,0,3662,3643,1,0,0,0,3663,581,1,0,0,0,3664,3665,3,750,375,0,3665,3666,5,25,0,0,3666,3668,1,0,0,0,3667,3664,1,0,0,0,3667,3668,1,0,0,0,3668,3669,1,0,0,0,3669,3670,3,756,378,0,3670,583,1,0,0,0,3671,3677,3,582,291,0,3672,3674,5,31,0,0,3673,3672,1,0,0,0,3673,3674,1,0,0,0,3674,3675,1,0,0,0,3675,3677,3,144,72,0,3676,3671,1,0,0,0,3676,3673,1,0,0,0,3677,585,1,0,0,0,3678,3680,3,584,292,0,3679,3681,3,578,289,0,3680,3679,1,0,0,0,3680,3681,1,0,0,0,3681,587,1,0,0,0,3682,3686,3,586,293,0,3683,3684,5,120,0,0,3684,3685,5,69,0,0,3685,3687,3,114,57,0,3686,3683,1,0,0,0,3686,3687,1,0,0,0,3687,589,1,0,0,0,3688,3689,5,102,0,0,3689,3690,5,142,0,0,3690,3694,3,586,293,0,3691,3695,3,800,400,0,3692,3693,5,204,0,0,3693,3695,3,368,184,0,3694,3691,1,0,0,0,3694,3692,1,0,0,0,3694,3695,1,0,0,0,3695,3697,1,0,0,0,3696,3698,3,362,181,0,3697,3696,1,0,0,0,3697,3698,1,0,0,0,3698,591,1,0,0,0,3699,3700,5,299,0,0,3700,3708,3,586,293,0,3701,3702,5,264,0,0,3702,3704,3,594,297,0,3703,3705,3,800,400,0,3704,3703,1,0,0,0,3704,3705,1,0,0,0,3705,3709,1,0,0,0,3706,3707,5,204,0,0,3707,3709,3,368,184,0,3708,3701,1,0,0,0,3708,3706,1,0,0,0,3709,3711,1,0,0,0,3710,3712,3,362,181,0,3711,3710,1,0,0,0,3711,3712,1,0,0,0,3712,593,1,0,0,0,3713,3716,3,596,298,0,3714,3716,3,602,301,0,3715,3713,1,0,0,0,3715,3714,1,0,0,0,3716,595,1,0,0,0,3717,3722,3,598,299,0,3718,3719,5,26,0,0,3719,3721,3,598,299,0,3720,3718,1,0,0,0,3721,3724,1,0,0,0,3722,3720,1,0,0,0,3722,3723,1,0,0,0,3723,597,1,0,0,0,3724,3722,1,0,0,0,3725,3726,3,600,300,0,3726,3727,5,2,0,0,3727,3728,3,14,7,0,3728,599,1,0,0,0,3729,3730,3,120,60,0,3730,601,1,0,0,0,3731,3732,3,604,302,0,3732,3733,5,2,0,0,3733,3734,5,27,0,0,3734,3735,3,378,189,0,3735,3736,5,28,0,0,3736,603,1,0,0,0,3737,3738,5,27,0,0,3738,3743,3,600,300,0,3739,3740,5,26,0,0,3740,3742,3,600,300,0,3741,3739,1,0,0,0,3742,3745,1,0,0,0,3743,3741,1,0,0,0,3743,3744,1,0,0,0,3744,3746,1,0,0,0,3745,3743,1,0,0,0,3746,3747,5,28,0,0,3747,605,1,0,0,0,3748,3749,5,87,0,0,3749,3750,5,287,0,0,3750,3752,3,652,326,0,3751,3753,3,608,304,0,3752,3751,1,0,0,0,3752,3753,1,0,0,0,3753,3755,1,0,0,0,3754,3756,3,612,306,0,3755,3754,1,0,0,0,3755,3756,1,0,0,0,3756,607,1,0,0,0,3757,3758,5,27,0,0,3758,3763,3,610,305,0,3759,3760,5,26,0,0,3760,3762,3,610,305,0,3761,3759,1,0,0,0,3762,3765,1,0,0,0,3763,3761,1,0,0,0,3763,3764,1,0,0,0,3764,3766,1,0,0,0,3765,3763,1,0,0,0,3766,3767,5,28,0,0,3767,609,1,0,0,0,3768,3769,3,620,310,0,3769,611,1,0,0,0,3770,3771,5,312,0,0,3771,3772,5,27,0,0,3772,3773,3,638,319,0,3773,3774,5,28,0,0,3774,613,1,0,0,0,3775,3776,5,49,0,0,3776,3777,5,287,0,0,3777,3778,3,652,326,0,3778,3783,3,616,308,0,3779,3780,5,26,0,0,3780,3782,3,616,308,0,3781,3779,1,0,0,0,3782,3785,1,0,0,0,3783,3781,1,0,0,0,3783,3784,1,0,0,0,3784,615,1,0,0,0,3785,3783,1,0,0,0,3786,3792,3,618,309,0,3787,3792,3,622,311,0,3788,3792,3,626,313,0,3789,3792,3,632,316,0,3790,3792,3,634,317,0,3791,3786,1,0,0,0,3791,3787,1,0,0,0,3791,3788,1,0,0,0,3791,3789,1,0,0,0,3791,3790,1,0,0,0,3792,617,1,0,0,0,3793,3794,5,46,0,0,3794,3795,3,620,310,0,3795,619,1,0,0,0,3796,3797,5,85,0,0,3797,3799,3,724,362,0,3798,3800,3,644,322,0,3799,3798,1,0,0,0,3799,3800,1,0,0,0,3800,621,1,0,0,0,3801,3802,5,49,0,0,3802,3803,5,85,0,0,3803,3804,3,654,327,0,3804,3805,3,624,312,0,3805,623,1,0,0,0,3806,3809,3,628,314,0,3807,3809,3,630,315,0,3808,3806,1,0,0,0,3808,3807,1,0,0,0,3809,625,1,0,0,0,3810,3811,5,112,0,0,3811,3812,5,85,0,0,3812,3813,3,654,327,0,3813,627,1,0,0,0,3814,3815,5,264,0,0,3815,3816,5,27,0,0,3816,3817,3,646,323,0,3817,3818,5,28,0,0,3818,629,1,0,0,0,3819,3820,5,242,0,0,3820,3821,5,27,0,0,3821,3826,3,724,362,0,3822,3823,5,26,0,0,3823,3825,3,724,362,0,3824,3822,1,0,0,0,3825,3828,1,0,0,0,3826,3824,1,0,0,0,3826,3827,1,0,0,0,3827,3829,1,0,0,0,3828,3826,1,0,0,0,3829,3830,5,28,0,0,3830,631,1,0,0,0,3831,3832,5,264,0,0,3832,3833,5,27,0,0,3833,3834,3,638,319,0,3834,3835,5,28,0,0,3835,633,1,0,0,0,3836,3837,5,242,0,0,3837,3838,5,27,0,0,3838,3843,3,724,362,0,3839,3840,5,26,0,0,3840,3842,3,742,371,0,3841,3839,1,0,0,0,3842,3845,1,0,0,0,3843,3841,1,0,0,0,3843,3844,1,0,0,0,3844,3846,1,0,0,0,3845,3843,1,0,0,0,3846,3847,5,28,0,0,3847,635,1,0,0,0,3848,3849,5,112,0,0,3849,3850,5,287,0,0,3850,3851,3,652,326,0,3851,637,1,0,0,0,3852,3857,3,640,320,0,3853,3854,5,26,0,0,3854,3856,3,640,320,0,3855,3853,1,0,0,0,3856,3859,1,0,0,0,3857,3855,1,0,0,0,3857,3858,1,0,0,0,3858,639,1,0,0,0,3859,3857,1,0,0,0,3860,3861,3,724,362,0,3861,3862,5,2,0,0,3862,3863,3,642,321,0,3863,641,1,0,0,0,3864,3865,3,14,7,0,3865,643,1,0,0,0,3866,3867,5,312,0,0,3867,3868,5,27,0,0,3868,3869,3,646,323,0,3869,3870,5,28,0,0,3870,645,1,0,0,0,3871,3876,3,648,324,0,3872,3873,5,26,0,0,3873,3875,3,648,324,0,3874,3872,1,0,0,0,3875,3878,1,0,0,0,3876,3874,1,0,0,0,3876,3877,1,0,0,0,3877,647,1,0,0,0,3878,3876,1,0,0,0,3879,3880,3,724,362,0,3880,3881,5,2,0,0,3881,3882,3,650,325,0,3882,649,1,0,0,0,3883,3884,3,14,7,0,3884,651,1,0,0,0,3885,3886,3,750,375,0,3886,3887,5,25,0,0,3887,3889,1,0,0,0,3888,3885,1,0,0,0,3888,3889,1,0,0,0,3889,3890,1,0,0,0,3890,3891,3,724,362,0,3891,653,1,0,0,0,3892,3893,3,742,371,0,3893,655,1,0,0,0,3894,3895,5,244,0,0,3895,3899,5,199,0,0,3896,3897,5,155,0,0,3897,3899,5,199,0,0,3898,3894,1,0,0,0,3898,3896,1,0,0,0,3899,657,1,0,0,0,3900,3901,5,135,0,0,3901,3902,5,27,0,0,3902,3903,3,800,400,0,3903,3904,5,28,0,0,3904,659,1,0,0,0,3905,3908,3,662,331,0,3906,3908,3,672,336,0,3907,3905,1,0,0,0,3907,3906,1,0,0,0,3908,661,1,0,0,0,3909,3910,3,734,367,0,3910,663,1,0,0,0,3911,3912,5,311,0,0,3912,3913,3,666,333,0,3913,665,1,0,0,0,3914,3919,3,668,334,0,3915,3916,5,26,0,0,3916,3918,3,668,334,0,3917,3915,1,0,0,0,3918,3921,1,0,0,0,3919,3917,1,0,0,0,3919,3920,1,0,0,0,3920,667,1,0,0,0,3921,3919,1,0,0,0,3922,3923,3,670,335,0,3923,3924,5,55,0,0,3924,3925,3,672,336,0,3925,669,1,0,0,0,3926,3927,3,662,331,0,3927,671,1,0,0,0,3928,3929,5,27,0,0,3929,3930,3,674,337,0,3930,3931,5,28,0,0,3931,673,1,0,0,0,3932,3934,3,676,338,0,3933,3932,1,0,0,0,3933,3934,1,0,0,0,3934,3936,1,0,0,0,3935,3937,3,678,339,0,3936,3935,1,0,0,0,3936,3937,1,0,0,0,3937,3939,1,0,0,0,3938,3940,3,680,340,0,3939,3938,1,0,0,0,3939,3940,1,0,0,0,3940,3942,1,0,0,0,3941,3943,3,682,341,0,3942,3941,1,0,0,0,3942,3943,1,0,0,0,3943,675,1,0,0,0,3944,3945,3,662,331,0,3945,677,1,0,0,0,3946,3948,5,215,0,0,3947,3949,5,80,0,0,3948,3947,1,0,0,0,3948,3949,1,0,0,0,3949,3950,1,0,0,0,3950,3951,5,69,0,0,3951,3952,3,130,65,0,3952,679,1,0,0,0,3953,3954,3,314,157,0,3954,681,1,0,0,0,3955,3956,3,684,342,0,3956,3958,3,686,343,0,3957,3959,3,692,346,0,3958,3957,1,0,0,0,3958,3959,1,0,0,0,3959,683,1,0,0,0,3960,3961,7,28,0,0,3961,685,1,0,0,0,3962,3965,3,690,345,0,3963,3965,3,688,344,0,3964,3962,1,0,0,0,3964,3963,1,0,0,0,3965,687,1,0,0,0,3966,3967,5,67,0,0,3967,3968,3,690,345,0,3968,3969,5,51,0,0,3969,3970,3,690,345,0,3970,689,1,0,0,0,3971,3972,5,90,0,0,3972,3979,5,255,0,0,3973,3976,3,14,7,0,3974,3976,5,293,0,0,3975,3973,1,0,0,0,3975,3974,1,0,0,0,3976,3977,1,0,0,0,3977,3979,7,29,0,0,3978,3971,1,0,0,0,3978,3975,1,0,0,0,3979,691,1,0,0,0,3980,3981,5,125,0,0,3981,3982,5,90,0,0,3982,3991,5,255,0,0,3983,3984,5,125,0,0,3984,3991,5,148,0,0,3985,3986,5,125,0,0,3986,3991,5,285,0,0,3987,3988,5,125,0,0,3988,3989,5,195,0,0,3989,3991,5,211,0,0,3990,3980,1,0,0,0,3990,3983,1,0,0,0,3990,3985,1,0,0,0,3990,3987,1,0,0,0,3991,693,1,0,0,0,3992,3993,5,301,0,0,3993,3994,3,750,375,0,3994,695,1,0,0,0,3995,3996,5,27,0,0,3996,3997,3,232,116,0,3997,3998,5,28,0,0,3998,4001,1,0,0,0,3999,4001,3,234,117,0,4e3,3995,1,0,0,0,4e3,3999,1,0,0,0,4001,697,1,0,0,0,4002,4003,3,148,74,0,4003,4006,5,2,0,0,4004,4007,3,14,7,0,4005,4007,3,696,348,0,4006,4004,1,0,0,0,4006,4005,1,0,0,0,4007,699,1,0,0,0,4008,4009,5,79,0,0,4009,701,1,0,0,0,4010,4011,5,253,0,0,4011,703,1,0,0,0,4012,4013,7,30,0,0,4013,705,1,0,0,0,4014,4017,3,704,352,0,4015,4017,3,762,381,0,4016,4014,1,0,0,0,4016,4015,1,0,0,0,4017,707,1,0,0,0,4018,4026,3,704,352,0,4019,4026,3,780,390,0,4020,4026,3,764,382,0,4021,4026,3,768,384,0,4022,4026,3,772,386,0,4023,4026,3,774,387,0,4024,4026,3,776,388,0,4025,4018,1,0,0,0,4025,4019,1,0,0,0,4025,4020,1,0,0,0,4025,4021,1,0,0,0,4025,4022,1,0,0,0,4025,4023,1,0,0,0,4025,4024,1,0,0,0,4026,709,1,0,0,0,4027,4034,3,704,352,0,4028,4034,3,780,390,0,4029,4034,3,770,385,0,4030,4034,3,772,386,0,4031,4034,3,774,387,0,4032,4034,3,776,388,0,4033,4027,1,0,0,0,4033,4028,1,0,0,0,4033,4029,1,0,0,0,4033,4030,1,0,0,0,4033,4031,1,0,0,0,4033,4032,1,0,0,0,4034,711,1,0,0,0,4035,4041,3,704,352,0,4036,4041,3,780,390,0,4037,4041,3,770,385,0,4038,4041,3,774,387,0,4039,4041,3,776,388,0,4040,4035,1,0,0,0,4040,4036,1,0,0,0,4040,4037,1,0,0,0,4040,4038,1,0,0,0,4040,4039,1,0,0,0,4041,713,1,0,0,0,4042,4051,3,704,352,0,4043,4051,3,780,390,0,4044,4051,3,764,382,0,4045,4051,3,766,383,0,4046,4051,3,768,384,0,4047,4051,3,770,385,0,4048,4051,3,772,386,0,4049,4051,3,776,388,0,4050,4042,1,0,0,0,4050,4043,1,0,0,0,4050,4044,1,0,0,0,4050,4045,1,0,0,0,4050,4046,1,0,0,0,4050,4047,1,0,0,0,4050,4048,1,0,0,0,4050,4049,1,0,0,0,4051,715,1,0,0,0,4052,4060,3,704,352,0,4053,4060,3,780,390,0,4054,4060,3,764,382,0,4055,4060,3,768,384,0,4056,4060,3,772,386,0,4057,4060,3,774,387,0,4058,4060,3,776,388,0,4059,4052,1,0,0,0,4059,4053,1,0,0,0,4059,4054,1,0,0,0,4059,4055,1,0,0,0,4059,4056,1,0,0,0,4059,4057,1,0,0,0,4059,4058,1,0,0,0,4060,717,1,0,0,0,4061,4069,3,704,352,0,4062,4069,3,780,390,0,4063,4069,3,766,383,0,4064,4069,3,770,385,0,4065,4069,3,772,386,0,4066,4069,3,774,387,0,4067,4069,3,776,388,0,4068,4061,1,0,0,0,4068,4062,1,0,0,0,4068,4063,1,0,0,0,4068,4064,1,0,0,0,4068,4065,1,0,0,0,4068,4066,1,0,0,0,4068,4067,1,0,0,0,4069,719,1,0,0,0,4070,4079,3,704,352,0,4071,4079,3,780,390,0,4072,4079,3,764,382,0,4073,4079,3,766,383,0,4074,4079,3,768,384,0,4075,4079,3,770,385,0,4076,4079,3,772,386,0,4077,4079,3,774,387,0,4078,4070,1,0,0,0,4078,4071,1,0,0,0,4078,4072,1,0,0,0,4078,4073,1,0,0,0,4078,4074,1,0,0,0,4078,4075,1,0,0,0,4078,4076,1,0,0,0,4078,4077,1,0,0,0,4079,721,1,0,0,0,4080,4083,3,704,352,0,4081,4083,3,778,389,0,4082,4080,1,0,0,0,4082,4081,1,0,0,0,4083,723,1,0,0,0,4084,4087,3,706,353,0,4085,4087,5,316,0,0,4086,4084,1,0,0,0,4086,4085,1,0,0,0,4087,725,1,0,0,0,4088,4091,3,752,376,0,4089,4091,5,316,0,0,4090,4088,1,0,0,0,4090,4089,1,0,0,0,4091,727,1,0,0,0,4092,4095,3,708,354,0,4093,4095,5,316,0,0,4094,4092,1,0,0,0,4094,4093,1,0,0,0,4095,729,1,0,0,0,4096,4099,3,710,355,0,4097,4099,5,316,0,0,4098,4096,1,0,0,0,4098,4097,1,0,0,0,4099,731,1,0,0,0,4100,4103,3,712,356,0,4101,4103,5,316,0,0,4102,4100,1,0,0,0,4102,4101,1,0,0,0,4103,733,1,0,0,0,4104,4107,3,714,357,0,4105,4107,5,316,0,0,4106,4104,1,0,0,0,4106,4105,1,0,0,0,4107,735,1,0,0,0,4108,4111,3,716,358,0,4109,4111,5,316,0,0,4110,4108,1,0,0,0,4110,4109,1,0,0,0,4111,737,1,0,0,0,4112,4115,3,718,359,0,4113,4115,5,316,0,0,4114,4112,1,0,0,0,4114,4113,1,0,0,0,4115,739,1,0,0,0,4116,4119,3,720,360,0,4117,4119,5,316,0,0,4118,4116,1,0,0,0,4118,4117,1,0,0,0,4119,741,1,0,0,0,4120,4123,3,704,352,0,4121,4123,5,316,0,0,4122,4120,1,0,0,0,4122,4121,1,0,0,0,4123,743,1,0,0,0,4124,4127,3,722,361,0,4125,4127,5,316,0,0,4126,4124,1,0,0,0,4126,4125,1,0,0,0,4127,745,1,0,0,0,4128,4132,3,724,362,0,4129,4130,5,226,0,0,4130,4132,5,176,0,0,4131,4128,1,0,0,0,4131,4129,1,0,0,0,4132,747,1,0,0,0,4133,4134,3,724,362,0,4134,4135,5,25,0,0,4135,4137,1,0,0,0,4136,4133,1,0,0,0,4136,4137,1,0,0,0,4137,749,1,0,0,0,4138,4139,3,724,362,0,4139,4140,5,30,0,0,4140,4142,1,0,0,0,4141,4138,1,0,0,0,4141,4142,1,0,0,0,4142,4145,1,0,0,0,4143,4146,3,116,58,0,4144,4146,5,20,0,0,4145,4143,1,0,0,0,4145,4144,1,0,0,0,4146,751,1,0,0,0,4147,4150,3,706,353,0,4148,4150,3,782,391,0,4149,4147,1,0,0,0,4149,4148,1,0,0,0,4150,753,1,0,0,0,4151,4152,3,726,363,0,4152,4153,5,25,0,0,4153,4155,1,0,0,0,4154,4151,1,0,0,0,4154,4155,1,0,0,0,4155,755,1,0,0,0,4156,4158,5,31,0,0,4157,4156,1,0,0,0,4157,4158,1,0,0,0,4158,4159,1,0,0,0,4159,4160,3,726,363,0,4160,757,1,0,0,0,4161,4164,3,736,368,0,4162,4164,3,782,391,0,4163,4161,1,0,0,0,4163,4162,1,0,0,0,4164,759,1,0,0,0,4165,4167,5,31,0,0,4166,4165,1,0,0,0,4166,4167,1,0,0,0,4167,4168,1,0,0,0,4168,4169,3,758,379,0,4169,761,1,0,0,0,4170,4179,3,780,390,0,4171,4179,3,764,382,0,4172,4179,3,766,383,0,4173,4179,3,768,384,0,4174,4179,3,770,385,0,4175,4179,3,772,386,0,4176,4179,3,774,387,0,4177,4179,3,776,388,0,4178,4170,1,0,0,0,4178,4171,1,0,0,0,4178,4172,1,0,0,0,4178,4173,1,0,0,0,4178,4174,1,0,0,0,4178,4175,1,0,0,0,4178,4176,1,0,0,0,4178,4177,1,0,0,0,4179,763,1,0,0,0,4180,4181,7,31,0,0,4181,765,1,0,0,0,4182,4183,7,32,0,0,4183,767,1,0,0,0,4184,4185,7,33,0,0,4185,769,1,0,0,0,4186,4187,5,77,0,0,4187,771,1,0,0,0,4188,4189,5,80,0,0,4189,773,1,0,0,0,4190,4191,7,28,0,0,4191,775,1,0,0,0,4192,4193,7,27,0,0,4193,777,1,0,0,0,4194,4195,7,34,0,0,4195,779,1,0,0,0,4196,4197,7,35,0,0,4197,781,1,0,0,0,4198,4199,7,36,0,0,4199,783,1,0,0,0,4200,4201,7,37,0,0,4201,785,1,0,0,0,4202,4203,5,321,0,0,4203,787,1,0,0,0,4204,4205,7,38,0,0,4205,789,1,0,0,0,4206,4212,3,792,396,0,4207,4208,5,223,0,0,4208,4209,5,52,0,0,4209,4210,5,319,0,0,4210,4212,3,4,2,0,4211,4206,1,0,0,0,4211,4207,1,0,0,0,4212,791,1,0,0,0,4213,4215,5,24,0,0,4214,4213,1,0,0,0,4215,4218,1,0,0,0,4216,4214,1,0,0,0,4216,4217,1,0,0,0,4217,4219,1,0,0,0,4218,4216,1,0,0,0,4219,4228,3,794,397,0,4220,4222,5,24,0,0,4221,4220,1,0,0,0,4222,4223,1,0,0,0,4223,4221,1,0,0,0,4223,4224,1,0,0,0,4224,4225,1,0,0,0,4225,4227,3,794,397,0,4226,4221,1,0,0,0,4227,4230,1,0,0,0,4228,4226,1,0,0,0,4228,4229,1,0,0,0,4229,4234,1,0,0,0,4230,4228,1,0,0,0,4231,4233,5,24,0,0,4232,4231,1,0,0,0,4233,4236,1,0,0,0,4234,4232,1,0,0,0,4234,4235,1,0,0,0,4235,4237,1,0,0,0,4236,4234,1,0,0,0,4237,4238,5,0,0,1,4238,793,1,0,0,0,4239,4242,5,129,0,0,4240,4241,5,1,0,0,4241,4243,5,222,0,0,4242,4240,1,0,0,0,4242,4243,1,0,0,0,4243,4245,1,0,0,0,4244,4239,1,0,0,0,4244,4245,1,0,0,0,4245,4246,1,0,0,0,4246,4247,3,796,398,0,4247,795,1,0,0,0,4248,4262,3,224,112,0,4249,4262,3,232,116,0,4250,4262,3,698,349,0,4251,4262,3,694,347,0,4252,4262,3,366,183,0,4253,4262,3,210,105,0,4254,4262,3,214,107,0,4255,4262,3,216,108,0,4256,4262,3,222,111,0,4257,4262,3,564,282,0,4258,4262,3,568,284,0,4259,4262,3,570,285,0,4260,4262,3,370,185,0,4261,4248,1,0,0,0,4261,4249,1,0,0,0,4261,4250,1,0,0,0,4261,4251,1,0,0,0,4261,4252,1,0,0,0,4261,4253,1,0,0,0,4261,4254,1,0,0,0,4261,4255,1,0,0,0,4261,4256,1,0,0,0,4261,4257,1,0,0,0,4261,4258,1,0,0,0,4261,4259,1,0,0,0,4261,4260,1,0,0,0,4262,797,1,0,0,0,4263,4264,5,55,0,0,4264,4265,3,582,291,0,4265,799,1,0,0,0,4266,4267,5,310,0,0,4267,4268,3,14,7,0,4268,801,1,0,0,0,4269,4270,5,142,0,0,4270,4271,3,338,169,0,4271,803,1,0,0,0,4272,4275,3,434,217,0,4273,4275,3,442,221,0,4274,4272,1,0,0,0,4274,4273,1,0,0,0,4275,805,1,0,0,0,476,811,816,823,828,834,842,850,857,861,869,874,879,881,929,936,940,947,955,960,964,970,976,979,983,991,995,998,1002,1013,1018,1020,1029,1050,1055,1064,1066,1073,1081,1089,1096,1106,1108,1110,1115,1119,1125,1131,1135,1139,1142,1149,1155,1159,1164,1167,1181,1186,1189,1203,1210,1221,1232,1252,1258,1263,1267,1281,1283,1290,1296,1307,1315,1321,1328,1336,1349,1355,1359,1362,1364,1372,1380,1386,1392,1398,1401,1410,1419,1426,1434,1447,1454,1458,1465,1469,1474,1481,1488,1491,1498,1502,1512,1535,1541,1545,1552,1558,1565,1569,1573,1579,1584,1593,1596,1602,1607,1615,1622,1644,1648,1650,1654,1663,1667,1669,1673,1682,1686,1724,1728,1748,1751,1757,1777,1782,1788,1793,1796,1800,1827,1835,1838,1845,1858,1862,1874,1887,1892,1899,1903,1910,1919,1928,1936,1940,1944,1951,1953,1956,1961,1966,1970,1977,1984,1988,1991,1995,1999,2001,2012,2021,2026,2032,2037,2040,2044,2048,2051,2055,2059,2067,2071,2075,2079,2082,2085,2089,2092,2095,2100,2103,2106,2109,2123,2125,2136,2146,2156,2159,2166,2190,2201,2207,2211,2215,2219,2223,2227,2231,2235,2241,2248,2258,2269,2282,2298,2308,2328,2334,2341,2348,2356,2365,2402,2404,2407,2412,2416,2420,2426,2432,2436,2441,2446,2448,2452,2457,2460,2462,2466,2477,2488,2499,2503,2507,2511,2514,2518,2521,2527,2536,2539,2553,2559,2572,2579,2584,2591,2598,2607,2612,2620,2635,2641,2649,2672,2679,2687,2708,2716,2724,2734,2743,2748,2755,2765,2770,2779,2783,2787,2790,2793,2796,2799,2807,2816,2833,2856,2874,2885,2893,2903,2908,2912,2918,2949,2961,2998,3006,3009,3013,3017,3027,3040,3053,3058,3075,3079,3083,3092,3103,3108,3112,3116,3119,3135,3150,3165,3168,3180,3183,3199,3205,3213,3223,3227,3235,3241,3247,3259,3263,3265,3277,3281,3286,3292,3299,3303,3307,3310,3323,3332,3336,3341,3347,3356,3365,3382,3386,3390,3392,3396,3403,3407,3411,3413,3425,3441,3457,3472,3479,3487,3498,3505,3510,3516,3519,3522,3529,3532,3535,3544,3549,3552,3562,3566,3568,3575,3578,3582,3584,3587,3592,3595,3600,3610,3615,3626,3630,3634,3636,3640,3645,3653,3656,3659,3662,3667,3673,3676,3680,3686,3694,3697,3704,3708,3711,3715,3722,3743,3752,3755,3763,3783,3791,3799,3808,3826,3843,3857,3876,3888,3898,3907,3919,3933,3936,3939,3942,3948,3958,3964,3975,3978,3990,4e3,4006,4016,4025,4033,4040,4050,4059,4068,4078,4082,4086,4090,4094,4098,4102,4106,4110,4114,4118,4122,4126,4131,4136,4141,4145,4149,4154,4157,4163,4166,4178,4211,4216,4223,4228,4234,4242,4244,4261,4274],ji.vocabulary=new Ra(ji.literalNames,ji.symbolicNames,[]),ji.decisionsToDFA=ji._ATN.decisionToState.map(((t,e)=>new ni(t,e))),ji),ef=class extends ga{constructor(t,e){super(t,e)}sql_stmt_list(){return this.getRuleContext(0,sf)}PRAGMA(){return this.getToken(tf.PRAGMA,0)}ANSI(){return this.getToken(tf.ANSI,0)}DIGITS(){return this.getToken(tf.DIGITS,0)}ansi_sql_stmt_list(){return this.getRuleContext(0,af)}get ruleIndex(){return tf.RULE_sql_query}accept(t){return t.visitSql_query?t.visitSql_query(this):t.visitChildren(this)}},sf=class extends ga{constructor(t,e){super(t,e)}sql_stmt(t){return void 0===t?this.getRuleContexts(nf):this.getRuleContext(t,nf)}EOF(){return this.getToken(tf.EOF,0)}SEMICOLON(t){return void 0===t?this.getTokens(tf.SEMICOLON):this.getToken(tf.SEMICOLON,t)}get ruleIndex(){return tf.RULE_sql_stmt_list}accept(t){return t.visitSql_stmt_list?t.visitSql_stmt_list(this):t.visitChildren(this)}},af=class extends ga{constructor(t,e){super(t,e)}EOF(){return this.getToken(tf.EOF,0)}SEMICOLON(t){return void 0===t?this.getTokens(tf.SEMICOLON):this.getToken(tf.SEMICOLON,t)}get ruleIndex(){return tf.RULE_ansi_sql_stmt_list}accept(t){return t.visitAnsi_sql_stmt_list?t.visitAnsi_sql_stmt_list(this):t.visitChildren(this)}},rf=class extends ga{constructor(t,e){super(t,e)}RETURN(){return this.getToken(tf.RETURN,0)}expr(){return this.getRuleContext(0,Ef)}SEMICOLON(t){return void 0===t?this.getTokens(tf.SEMICOLON):this.getToken(tf.SEMICOLON,t)}lambda_stmt(t){return void 0===t?this.getRuleContexts(cf):this.getRuleContext(t,cf)}get ruleIndex(){return tf.RULE_lambda_body}accept(t){return t.visitLambda_body?t.visitLambda_body(this):t.visitChildren(this)}},cf=class extends ga{constructor(t,e){super(t,e)}named_nodes_stmt(){return this.getRuleContext(0,mX)}import_stmt(){return this.getRuleContext(0,ew)}get ruleIndex(){return tf.RULE_lambda_stmt}accept(t){return t.visitLambda_stmt?t.visitLambda_stmt(this):t.visitChildren(this)}},nf=class extends ga{constructor(t,e){super(t,e)}sql_stmt_core(){return this.getRuleContext(0,hf)}EXPLAIN(){return this.getToken(tf.EXPLAIN,0)}QUERY(){return this.getToken(tf.QUERY,0)}PLAN(){return this.getToken(tf.PLAN,0)}get ruleIndex(){return tf.RULE_sql_stmt}accept(t){return t.visitSql_stmt?t.visitSql_stmt(this):t.visitChildren(this)}},hf=class extends ga{constructor(t,e){super(t,e)}pragma_stmt(){return this.getRuleContext(0,cw)}select_stmt(){return this.getRuleContext(0,Tw)}named_nodes_stmt(){return this.getRuleContext(0,mX)}create_table_stmt(){return this.getRuleContext(0,Zb)}drop_table_stmt(){return this.getRuleContext(0,KW)}use_stmt(){return this.getRuleContext(0,dX)}into_table_stmt(){return this.getRuleContext(0,_b)}commit_stmt(){return this.getRuleContext(0,DX)}update_stmt(){return this.getRuleContext(0,DV)}delete_stmt(){return this.getRuleContext(0,mV)}rollback_stmt(){return this.getRuleContext(0,pX)}declare_stmt(){return this.getRuleContext(0,$Y)}import_stmt(){return this.getRuleContext(0,ew)}export_stmt(){return this.getRuleContext(0,sw)}alter_table_stmt(){return this.getRuleContext(0,aW)}alter_external_table_stmt(){return this.getRuleContext(0,iW)}do_stmt(){return this.getRuleContext(0,iw)}define_action_or_subquery_stmt(){return this.getRuleContext(0,SV)}if_stmt(){return this.getRuleContext(0,OV)}for_stmt(){return this.getRuleContext(0,IV)}values_stmt(){return this.getRuleContext(0,db)}create_user_stmt(){return this.getRuleContext(0,QW)}alter_user_stmt(){return this.getRuleContext(0,JW)}create_group_stmt(){return this.getRuleContext(0,ZW)}alter_group_stmt(){return this.getRuleContext(0,qW)}drop_role_stmt(){return this.getRuleContext(0,jW)}create_object_stmt(){return this.getRuleContext(0,Bb)}alter_object_stmt(){return this.getRuleContext(0,fb)}drop_object_stmt(){return this.getRuleContext(0,wb)}create_external_data_source_stmt(){return this.getRuleContext(0,gb)}alter_external_data_source_stmt(){return this.getRuleContext(0,xb)}drop_external_data_source_stmt(){return this.getRuleContext(0,Hb)}create_replication_stmt(){return this.getRuleContext(0,iV)}drop_replication_stmt(){return this.getRuleContext(0,RV)}create_topic_stmt(){return this.getRuleContext(0,FV)}alter_topic_stmt(){return this.getRuleContext(0,fV)}drop_topic_stmt(){return this.getRuleContext(0,qV)}grant_permissions_stmt(){return this.getRuleContext(0,tV)}revoke_permissions_stmt(){return this.getRuleContext(0,eV)}alter_table_store_stmt(){return this.getRuleContext(0,nW)}upsert_object_stmt(){return this.getRuleContext(0,vb)}create_view_stmt(){return this.getRuleContext(0,Gb)}drop_view_stmt(){return this.getRuleContext(0,Fb)}alter_replication_stmt(){return this.getRuleContext(0,EV)}get ruleIndex(){return tf.RULE_sql_stmt_core}accept(t){return t.visitSql_stmt_core?t.visitSql_stmt_core(this):t.visitChildren(this)}},Ef=class extends ga{constructor(t,e){super(t,e)}or_subexpr(t){return void 0===t?this.getRuleContexts(Tf):this.getRuleContext(t,Tf)}OR(t){return void 0===t?this.getTokens(tf.OR):this.getToken(tf.OR,t)}type_name_composite(){return this.getRuleContext(0,JY)}get ruleIndex(){return tf.RULE_expr}accept(t){return t.visitExpr?t.visitExpr(this):t.visitChildren(this)}},Tf=class extends ga{constructor(t,e){super(t,e)}and_subexpr(t){return void 0===t?this.getRuleContexts(of):this.getRuleContext(t,of)}AND(t){return void 0===t?this.getTokens(tf.AND):this.getToken(tf.AND,t)}get ruleIndex(){return tf.RULE_or_subexpr}accept(t){return t.visitOr_subexpr?t.visitOr_subexpr(this):t.visitChildren(this)}},of=class extends ga{constructor(t,e){super(t,e)}xor_subexpr(t){return void 0===t?this.getRuleContexts(Rf):this.getRuleContext(t,Rf)}XOR(t){return void 0===t?this.getTokens(tf.XOR):this.getToken(tf.XOR,t)}get ruleIndex(){return tf.RULE_and_subexpr}accept(t){return t.visitAnd_subexpr?t.visitAnd_subexpr(this):t.visitChildren(this)}},Rf=class extends ga{constructor(t,e){super(t,e)}eq_subexpr(){return this.getRuleContext(0,Of)}cond_expr(){return this.getRuleContext(0,Sf)}get ruleIndex(){return tf.RULE_xor_subexpr}accept(t){return t.visitXor_subexpr?t.visitXor_subexpr(this):t.visitChildren(this)}},Af=class extends ga{constructor(t,e){super(t,e)}IS(){return this.getToken(tf.IS,0)}DISTINCT(){return this.getToken(tf.DISTINCT,0)}FROM(){return this.getToken(tf.FROM,0)}NOT(){return this.getToken(tf.NOT,0)}get ruleIndex(){return tf.RULE_distinct_from_op}accept(t){return t.visitDistinct_from_op?t.visitDistinct_from_op(this):t.visitChildren(this)}},Sf=class extends ga{constructor(t,e){super(t,e)}match_op(){return this.getRuleContext(0,lf)}eq_subexpr(t){return void 0===t?this.getRuleContexts(Of):this.getRuleContext(t,Of)}NOT(){return this.getToken(tf.NOT,0)}ESCAPE(){return this.getToken(tf.ESCAPE,0)}IN(){return this.getToken(tf.IN,0)}in_expr(){return this.getRuleContext(0,Wf)}COMPACT(){return this.getToken(tf.COMPACT,0)}ISNULL(){return this.getToken(tf.ISNULL,0)}NOTNULL(){return this.getToken(tf.NOTNULL,0)}IS(){return this.getToken(tf.IS,0)}NULL(){return this.getToken(tf.NULL,0)}BETWEEN(){return this.getToken(tf.BETWEEN,0)}AND(){return this.getToken(tf.AND,0)}SYMMETRIC(){return this.getToken(tf.SYMMETRIC,0)}ASYMMETRIC(){return this.getToken(tf.ASYMMETRIC,0)}EQUALS(t){return void 0===t?this.getTokens(tf.EQUALS):this.getToken(tf.EQUALS,t)}EQUALS2(t){return void 0===t?this.getTokens(tf.EQUALS2):this.getToken(tf.EQUALS2,t)}NOT_EQUALS(t){return void 0===t?this.getTokens(tf.NOT_EQUALS):this.getToken(tf.NOT_EQUALS,t)}NOT_EQUALS2(t){return void 0===t?this.getTokens(tf.NOT_EQUALS2):this.getToken(tf.NOT_EQUALS2,t)}distinct_from_op(t){return void 0===t?this.getRuleContexts(Af):this.getRuleContext(t,Af)}get ruleIndex(){return tf.RULE_cond_expr}accept(t){return t.visitCond_expr?t.visitCond_expr(this):t.visitChildren(this)}},lf=class extends ga{constructor(t,e){super(t,e)}LIKE(){return this.getToken(tf.LIKE,0)}ILIKE(){return this.getToken(tf.ILIKE,0)}GLOB(){return this.getToken(tf.GLOB,0)}REGEXP(){return this.getToken(tf.REGEXP,0)}RLIKE(){return this.getToken(tf.RLIKE,0)}MATCH(){return this.getToken(tf.MATCH,0)}get ruleIndex(){return tf.RULE_match_op}accept(t){return t.visitMatch_op?t.visitMatch_op(this):t.visitChildren(this)}},Of=class extends ga{constructor(t,e){super(t,e)}neq_subexpr(t){return void 0===t?this.getRuleContexts(Lf):this.getRuleContext(t,Lf)}LESS(t){return void 0===t?this.getTokens(tf.LESS):this.getToken(tf.LESS,t)}LESS_OR_EQ(t){return void 0===t?this.getTokens(tf.LESS_OR_EQ):this.getToken(tf.LESS_OR_EQ,t)}GREATER(t){return void 0===t?this.getTokens(tf.GREATER):this.getToken(tf.GREATER,t)}GREATER_OR_EQ(t){return void 0===t?this.getTokens(tf.GREATER_OR_EQ):this.getToken(tf.GREATER_OR_EQ,t)}get ruleIndex(){return tf.RULE_eq_subexpr}accept(t){return t.visitEq_subexpr?t.visitEq_subexpr(this):t.visitChildren(this)}},If=class extends ga{constructor(t,e){super(t,e)}GREATER(t){return void 0===t?this.getTokens(tf.GREATER):this.getToken(tf.GREATER,t)}get ruleIndex(){return tf.RULE_shift_right}accept(t){return t.visitShift_right?t.visitShift_right(this):t.visitChildren(this)}},uf=class extends ga{constructor(t,e){super(t,e)}GREATER(t){return void 0===t?this.getTokens(tf.GREATER):this.getToken(tf.GREATER,t)}PIPE(){return this.getToken(tf.PIPE,0)}get ruleIndex(){return tf.RULE_rot_right}accept(t){return t.visitRot_right?t.visitRot_right(this):t.visitChildren(this)}},Nf=class extends ga{constructor(t,e){super(t,e)}QUESTION(t){return void 0===t?this.getTokens(tf.QUESTION):this.getToken(tf.QUESTION,t)}get ruleIndex(){return tf.RULE_double_question}accept(t){return t.visitDouble_question?t.visitDouble_question(this):t.visitChildren(this)}},Lf=class t extends ga{constructor(t,e){super(t,e)}bit_subexpr(t){return void 0===t?this.getRuleContexts(Cf):this.getRuleContext(t,Cf)}SHIFT_LEFT(t){return void 0===t?this.getTokens(tf.SHIFT_LEFT):this.getToken(tf.SHIFT_LEFT,t)}shift_right(t){return void 0===t?this.getRuleContexts(If):this.getRuleContext(t,If)}ROT_LEFT(t){return void 0===t?this.getTokens(tf.ROT_LEFT):this.getToken(tf.ROT_LEFT,t)}rot_right(t){return void 0===t?this.getRuleContexts(uf):this.getRuleContext(t,uf)}AMPERSAND(t){return void 0===t?this.getTokens(tf.AMPERSAND):this.getToken(tf.AMPERSAND,t)}PIPE(t){return void 0===t?this.getTokens(tf.PIPE):this.getToken(tf.PIPE,t)}CARET(t){return void 0===t?this.getTokens(tf.CARET):this.getToken(tf.CARET,t)}double_question(){return this.getRuleContext(0,Nf)}neq_subexpr(){return this.getRuleContext(0,t)}QUESTION(t){return void 0===t?this.getTokens(tf.QUESTION):this.getToken(tf.QUESTION,t)}get ruleIndex(){return tf.RULE_neq_subexpr}accept(t){return t.visitNeq_subexpr?t.visitNeq_subexpr(this):t.visitChildren(this)}},Cf=class extends ga{constructor(t,e){super(t,e)}add_subexpr(t){return void 0===t?this.getRuleContexts(_f):this.getRuleContext(t,_f)}PLUS(t){return void 0===t?this.getTokens(tf.PLUS):this.getToken(tf.PLUS,t)}MINUS(t){return void 0===t?this.getTokens(tf.MINUS):this.getToken(tf.MINUS,t)}get ruleIndex(){return tf.RULE_bit_subexpr}accept(t){return t.visitBit_subexpr?t.visitBit_subexpr(this):t.visitChildren(this)}},_f=class extends ga{constructor(t,e){super(t,e)}mul_subexpr(t){return void 0===t?this.getRuleContexts(Pf):this.getRuleContext(t,Pf)}ASTERISK(t){return void 0===t?this.getTokens(tf.ASTERISK):this.getToken(tf.ASTERISK,t)}SLASH(t){return void 0===t?this.getTokens(tf.SLASH):this.getToken(tf.SLASH,t)}PERCENT(t){return void 0===t?this.getTokens(tf.PERCENT):this.getToken(tf.PERCENT,t)}get ruleIndex(){return tf.RULE_add_subexpr}accept(t){return t.visitAdd_subexpr?t.visitAdd_subexpr(this):t.visitChildren(this)}},Pf=class extends ga{constructor(t,e){super(t,e)}con_subexpr(t){return void 0===t?this.getRuleContexts(Mf):this.getRuleContext(t,Mf)}DOUBLE_PIPE(t){return void 0===t?this.getTokens(tf.DOUBLE_PIPE):this.getToken(tf.DOUBLE_PIPE,t)}get ruleIndex(){return tf.RULE_mul_subexpr}accept(t){return t.visitMul_subexpr?t.visitMul_subexpr(this):t.visitChildren(this)}},Mf=class extends ga{constructor(t,e){super(t,e)}unary_subexpr(){return this.getRuleContext(0,pf)}unary_op(){return this.getRuleContext(0,df)}get ruleIndex(){return tf.RULE_con_subexpr}accept(t){return t.visitCon_subexpr?t.visitCon_subexpr(this):t.visitChildren(this)}},df=class extends ga{constructor(t,e){super(t,e)}PLUS(){return this.getToken(tf.PLUS,0)}MINUS(){return this.getToken(tf.MINUS,0)}TILDA(){return this.getToken(tf.TILDA,0)}NOT(){return this.getToken(tf.NOT,0)}get ruleIndex(){return tf.RULE_unary_op}accept(t){return t.visitUnary_op?t.visitUnary_op(this):t.visitChildren(this)}},Uf=class extends ga{constructor(t,e){super(t,e)}key_expr(t){return void 0===t?this.getRuleContexts(IY):this.getRuleContext(t,IY)}invoke_expr(t){return void 0===t?this.getRuleContexts(SY):this.getRuleContext(t,SY)}COLLATE(){return this.getToken(tf.COLLATE,0)}an_id(){return this.getRuleContext(0,YX)}DOT(t){return void 0===t?this.getTokens(tf.DOT):this.getToken(tf.DOT,t)}bind_parameter(t){return void 0===t?this.getRuleContexts(LY):this.getRuleContext(t,LY)}DIGITS(t){return void 0===t?this.getTokens(tf.DIGITS):this.getToken(tf.DIGITS,t)}an_id_or_type(t){return void 0===t?this.getRuleContexts(wX):this.getRuleContext(t,wX)}get ruleIndex(){return tf.RULE_unary_subexpr_suffix}accept(t){return t.visitUnary_subexpr_suffix?t.visitUnary_subexpr_suffix(this):t.visitChildren(this)}},mf=class extends ga{constructor(t,e){super(t,e)}unary_subexpr_suffix(){return this.getRuleContext(0,Uf)}id_expr(){return this.getRuleContext(0,HX)}atom_expr(){return this.getRuleContext(0,vf)}get ruleIndex(){return tf.RULE_unary_casual_subexpr}accept(t){return t.visitUnary_casual_subexpr?t.visitUnary_casual_subexpr(this):t.visitChildren(this)}},Df=class extends ga{constructor(t,e){super(t,e)}unary_subexpr_suffix(){return this.getRuleContext(0,Uf)}id_expr_in(){return this.getRuleContext(0,GX)}in_atom_expr(){return this.getRuleContext(0,Bf)}get ruleIndex(){return tf.RULE_in_unary_casual_subexpr}accept(t){return t.visitIn_unary_casual_subexpr?t.visitIn_unary_casual_subexpr(this):t.visitChildren(this)}},pf=class extends ga{constructor(t,e){super(t,e)}unary_casual_subexpr(){return this.getRuleContext(0,mf)}json_api_expr(){return this.getRuleContext(0,Vf)}get ruleIndex(){return tf.RULE_unary_subexpr}accept(t){return t.visitUnary_subexpr?t.visitUnary_subexpr(this):t.visitChildren(this)}},gf=class extends ga{constructor(t,e){super(t,e)}in_unary_casual_subexpr(){return this.getRuleContext(0,Df)}json_api_expr(){return this.getRuleContext(0,Vf)}get ruleIndex(){return tf.RULE_in_unary_subexpr}accept(t){return t.visitIn_unary_subexpr?t.visitIn_unary_subexpr(this):t.visitChildren(this)}},xf=class extends ga{constructor(t,e){super(t,e)}LBRACE_SQUARE(){return this.getToken(tf.LBRACE_SQUARE,0)}RBRACE_SQUARE(){return this.getToken(tf.RBRACE_SQUARE,0)}expr_list(){return this.getRuleContext(0,rY)}COMMA(){return this.getToken(tf.COMMA,0)}get ruleIndex(){return tf.RULE_list_literal}accept(t){return t.visitList_literal?t.visitList_literal(this):t.visitChildren(this)}},kf=class extends ga{constructor(t,e){super(t,e)}expr(t){return void 0===t?this.getRuleContexts(Ef):this.getRuleContext(t,Ef)}COLON(t){return void 0===t?this.getTokens(tf.COLON):this.getToken(tf.COLON,t)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_expr_dict_list}accept(t){return t.visitExpr_dict_list?t.visitExpr_dict_list(this):t.visitChildren(this)}},Hf=class extends ga{constructor(t,e){super(t,e)}LBRACE_CURLY(){return this.getToken(tf.LBRACE_CURLY,0)}RBRACE_CURLY(){return this.getToken(tf.RBRACE_CURLY,0)}expr_dict_list(){return this.getRuleContext(0,kf)}COMMA(){return this.getToken(tf.COMMA,0)}get ruleIndex(){return tf.RULE_dict_literal}accept(t){return t.visitDict_literal?t.visitDict_literal(this):t.visitChildren(this)}},Gf=class extends ga{constructor(t,e){super(t,e)}expr(t){return void 0===t?this.getRuleContexts(Ef):this.getRuleContext(t,Ef)}COLON(t){return void 0===t?this.getTokens(tf.COLON):this.getToken(tf.COLON,t)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_expr_struct_list}accept(t){return t.visitExpr_struct_list?t.visitExpr_struct_list(this):t.visitChildren(this)}},Ff=class extends ga{constructor(t,e){super(t,e)}STRUCT_OPEN(){return this.getToken(tf.STRUCT_OPEN,0)}STRUCT_CLOSE(){return this.getToken(tf.STRUCT_CLOSE,0)}expr_struct_list(){return this.getRuleContext(0,Gf)}COMMA(){return this.getToken(tf.COMMA,0)}get ruleIndex(){return tf.RULE_struct_literal}accept(t){return t.visitStruct_literal?t.visitStruct_literal(this):t.visitChildren(this)}},vf=class extends ga{constructor(t,e){super(t,e)}literal_value(){return this.getRuleContext(0,NY)}bind_parameter(){return this.getRuleContext(0,LY)}lambda(){return this.getRuleContext(0,bf)}cast_expr(){return this.getRuleContext(0,yf)}exists_expr(){return this.getRuleContext(0,Yf)}case_expr(){return this.getRuleContext(0,wf)}an_id_or_type(){return this.getRuleContext(0,wX)}NAMESPACE(){return this.getToken(tf.NAMESPACE,0)}id_or_type(){return this.getRuleContext(0,tK)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}value_constructor(){return this.getRuleContext(0,zY)}bitcast_expr(){return this.getRuleContext(0,ff)}list_literal(){return this.getRuleContext(0,xf)}dict_literal(){return this.getRuleContext(0,Hf)}struct_literal(){return this.getRuleContext(0,Ff)}get ruleIndex(){return tf.RULE_atom_expr}accept(t){return t.visitAtom_expr?t.visitAtom_expr(this):t.visitChildren(this)}},Bf=class extends ga{constructor(t,e){super(t,e)}literal_value(){return this.getRuleContext(0,NY)}bind_parameter(){return this.getRuleContext(0,LY)}lambda(){return this.getRuleContext(0,bf)}cast_expr(){return this.getRuleContext(0,yf)}case_expr(){return this.getRuleContext(0,wf)}an_id_or_type(){return this.getRuleContext(0,wX)}NAMESPACE(){return this.getToken(tf.NAMESPACE,0)}id_or_type(){return this.getRuleContext(0,tK)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}select_stmt(){return this.getRuleContext(0,Tw)}RPAREN(){return this.getToken(tf.RPAREN,0)}value_constructor(){return this.getRuleContext(0,zY)}bitcast_expr(){return this.getRuleContext(0,ff)}list_literal(){return this.getRuleContext(0,xf)}dict_literal(){return this.getRuleContext(0,Hf)}struct_literal(){return this.getRuleContext(0,Ff)}get ruleIndex(){return tf.RULE_in_atom_expr}accept(t){return t.visitIn_atom_expr?t.visitIn_atom_expr(this):t.visitChildren(this)}},yf=class extends ga{constructor(t,e){super(t,e)}CAST(){return this.getToken(tf.CAST,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}expr(){return this.getRuleContext(0,Ef)}AS(){return this.getToken(tf.AS,0)}type_name_or_bind(){return this.getRuleContext(0,qY)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_cast_expr}accept(t){return t.visitCast_expr?t.visitCast_expr(this):t.visitChildren(this)}},ff=class extends ga{constructor(t,e){super(t,e)}BITCAST(){return this.getToken(tf.BITCAST,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}expr(){return this.getRuleContext(0,Ef)}AS(){return this.getToken(tf.AS,0)}type_name_simple(){return this.getRuleContext(0,UY)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_bitcast_expr}accept(t){return t.visitBitcast_expr?t.visitBitcast_expr(this):t.visitChildren(this)}},Yf=class extends ga{constructor(t,e){super(t,e)}EXISTS(){return this.getToken(tf.EXISTS,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}select_stmt(){return this.getRuleContext(0,Tw)}values_stmt(){return this.getRuleContext(0,db)}get ruleIndex(){return tf.RULE_exists_expr}accept(t){return t.visitExists_expr?t.visitExists_expr(this):t.visitChildren(this)}},wf=class extends ga{constructor(t,e){super(t,e)}CASE(){return this.getToken(tf.CASE,0)}END(){return this.getToken(tf.END,0)}expr(t){return void 0===t?this.getRuleContexts(Ef):this.getRuleContext(t,Ef)}when_expr(t){return void 0===t?this.getRuleContexts(uY):this.getRuleContext(t,uY)}ELSE(){return this.getToken(tf.ELSE,0)}get ruleIndex(){return tf.RULE_case_expr}accept(t){return t.visitCase_expr?t.visitCase_expr(this):t.visitChildren(this)}},bf=class extends ga{constructor(t,e){super(t,e)}smart_parenthesis(){return this.getRuleContext(0,aY)}ARROW(){return this.getToken(tf.ARROW,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}expr(){return this.getRuleContext(0,Ef)}RPAREN(){return this.getToken(tf.RPAREN,0)}LBRACE_CURLY(){return this.getToken(tf.LBRACE_CURLY,0)}lambda_body(){return this.getRuleContext(0,rf)}RBRACE_CURLY(){return this.getToken(tf.RBRACE_CURLY,0)}get ruleIndex(){return tf.RULE_lambda}accept(t){return t.visitLambda?t.visitLambda(this):t.visitChildren(this)}},Wf=class extends ga{constructor(t,e){super(t,e)}in_unary_subexpr(){return this.getRuleContext(0,gf)}get ruleIndex(){return tf.RULE_in_expr}accept(t){return t.visitIn_expr?t.visitIn_expr(this):t.visitChildren(this)}},Vf=class extends ga{constructor(t,e){super(t,e)}json_value(){return this.getRuleContext(0,jf)}json_exists(){return this.getRuleContext(0,$f)}json_query(){return this.getRuleContext(0,sY)}get ruleIndex(){return tf.RULE_json_api_expr}accept(t){return t.visitJson_api_expr?t.visitJson_api_expr(this):t.visitChildren(this)}},Xf=class extends ga{constructor(t,e){super(t,e)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_jsonpath_spec}accept(t){return t.visitJsonpath_spec?t.visitJsonpath_spec(this):t.visitChildren(this)}},Kf=class extends ga{constructor(t,e){super(t,e)}id_expr(){return this.getRuleContext(0,HX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_json_variable_name}accept(t){return t.visitJson_variable_name?t.visitJson_variable_name(this):t.visitChildren(this)}},Qf=class extends ga{constructor(t,e){super(t,e)}expr(){return this.getRuleContext(0,Ef)}AS(){return this.getToken(tf.AS,0)}json_variable_name(){return this.getRuleContext(0,Kf)}get ruleIndex(){return tf.RULE_json_variable}accept(t){return t.visitJson_variable?t.visitJson_variable(this):t.visitChildren(this)}},Jf=class extends ga{constructor(t,e){super(t,e)}json_variable(t){return void 0===t?this.getRuleContexts(Qf):this.getRuleContext(t,Qf)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_json_variables}accept(t){return t.visitJson_variables?t.visitJson_variables(this):t.visitChildren(this)}},Zf=class extends ga{constructor(t,e){super(t,e)}expr(){return this.getRuleContext(0,Ef)}COMMA(){return this.getToken(tf.COMMA,0)}jsonpath_spec(){return this.getRuleContext(0,Xf)}PASSING(){return this.getToken(tf.PASSING,0)}json_variables(){return this.getRuleContext(0,Jf)}get ruleIndex(){return tf.RULE_json_common_args}accept(t){return t.visitJson_common_args?t.visitJson_common_args(this):t.visitChildren(this)}},qf=class extends ga{constructor(t,e){super(t,e)}ERROR(){return this.getToken(tf.ERROR,0)}NULL(){return this.getToken(tf.NULL,0)}DEFAULT(){return this.getToken(tf.DEFAULT,0)}expr(){return this.getRuleContext(0,Ef)}get ruleIndex(){return tf.RULE_json_case_handler}accept(t){return t.visitJson_case_handler?t.visitJson_case_handler(this):t.visitChildren(this)}},jf=class extends ga{constructor(t,e){super(t,e)}JSON_VALUE(){return this.getToken(tf.JSON_VALUE,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}json_common_args(){return this.getRuleContext(0,Zf)}RPAREN(){return this.getToken(tf.RPAREN,0)}RETURNING(){return this.getToken(tf.RETURNING,0)}type_name_simple(){return this.getRuleContext(0,UY)}json_case_handler(t){return void 0===t?this.getRuleContexts(qf):this.getRuleContext(t,qf)}ON(t){return void 0===t?this.getTokens(tf.ON):this.getToken(tf.ON,t)}EMPTY(t){return void 0===t?this.getTokens(tf.EMPTY):this.getToken(tf.EMPTY,t)}ERROR(t){return void 0===t?this.getTokens(tf.ERROR):this.getToken(tf.ERROR,t)}get ruleIndex(){return tf.RULE_json_value}accept(t){return t.visitJson_value?t.visitJson_value(this):t.visitChildren(this)}},zf=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(tf.ON,0)}ERROR(t){return void 0===t?this.getTokens(tf.ERROR):this.getToken(tf.ERROR,t)}TRUE(){return this.getToken(tf.TRUE,0)}FALSE(){return this.getToken(tf.FALSE,0)}UNKNOWN(){return this.getToken(tf.UNKNOWN,0)}get ruleIndex(){return tf.RULE_json_exists_handler}accept(t){return t.visitJson_exists_handler?t.visitJson_exists_handler(this):t.visitChildren(this)}},$f=class extends ga{constructor(t,e){super(t,e)}JSON_EXISTS(){return this.getToken(tf.JSON_EXISTS,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}json_common_args(){return this.getRuleContext(0,Zf)}RPAREN(){return this.getToken(tf.RPAREN,0)}json_exists_handler(){return this.getRuleContext(0,zf)}get ruleIndex(){return tf.RULE_json_exists}accept(t){return t.visitJson_exists?t.visitJson_exists(this):t.visitChildren(this)}},tY=class extends ga{constructor(t,e){super(t,e)}WITHOUT(){return this.getToken(tf.WITHOUT,0)}ARRAY(){return this.getToken(tf.ARRAY,0)}WITH(){return this.getToken(tf.WITH,0)}CONDITIONAL(){return this.getToken(tf.CONDITIONAL,0)}UNCONDITIONAL(){return this.getToken(tf.UNCONDITIONAL,0)}get ruleIndex(){return tf.RULE_json_query_wrapper}accept(t){return t.visitJson_query_wrapper?t.visitJson_query_wrapper(this):t.visitChildren(this)}},eY=class extends ga{constructor(t,e){super(t,e)}ERROR(){return this.getToken(tf.ERROR,0)}NULL(){return this.getToken(tf.NULL,0)}EMPTY(){return this.getToken(tf.EMPTY,0)}ARRAY(){return this.getToken(tf.ARRAY,0)}OBJECT(){return this.getToken(tf.OBJECT,0)}get ruleIndex(){return tf.RULE_json_query_handler}accept(t){return t.visitJson_query_handler?t.visitJson_query_handler(this):t.visitChildren(this)}},sY=class extends ga{constructor(t,e){super(t,e)}JSON_QUERY(){return this.getToken(tf.JSON_QUERY,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}json_common_args(){return this.getRuleContext(0,Zf)}RPAREN(){return this.getToken(tf.RPAREN,0)}json_query_wrapper(){return this.getRuleContext(0,tY)}WRAPPER(){return this.getToken(tf.WRAPPER,0)}json_query_handler(t){return void 0===t?this.getRuleContexts(eY):this.getRuleContext(t,eY)}ON(t){return void 0===t?this.getTokens(tf.ON):this.getToken(tf.ON,t)}EMPTY(){return this.getToken(tf.EMPTY,0)}ERROR(){return this.getToken(tf.ERROR,0)}get ruleIndex(){return tf.RULE_json_query}accept(t){return t.visitJson_query?t.visitJson_query(this):t.visitChildren(this)}},aY=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}named_expr_list(){return this.getRuleContext(0,AY)}COMMA(){return this.getToken(tf.COMMA,0)}get ruleIndex(){return tf.RULE_smart_parenthesis}accept(t){return t.visitSmart_parenthesis?t.visitSmart_parenthesis(this):t.visitChildren(this)}},rY=class extends ga{constructor(t,e){super(t,e)}expr(t){return void 0===t?this.getRuleContexts(Ef):this.getRuleContext(t,Ef)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_expr_list}accept(t){return t.visitExpr_list?t.visitExpr_list(this):t.visitChildren(this)}},iY=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}an_id(t){return void 0===t?this.getRuleContexts(YX):this.getRuleContext(t,YX)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_pure_column_list}accept(t){return t.visitPure_column_list?t.visitPure_column_list(this):t.visitChildren(this)}},cY=class extends ga{constructor(t,e){super(t,e)}bind_parameter(){return this.getRuleContext(0,LY)}an_id(){return this.getRuleContext(0,YX)}get ruleIndex(){return tf.RULE_pure_column_or_named}accept(t){return t.visitPure_column_or_named?t.visitPure_column_or_named(this):t.visitChildren(this)}},nY=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}pure_column_or_named(t){return void 0===t?this.getRuleContexts(cY):this.getRuleContext(t,cY)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_pure_column_or_named_list}accept(t){return t.visitPure_column_or_named_list?t.visitPure_column_or_named_list(this):t.visitChildren(this)}},hY=class extends ga{constructor(t,e){super(t,e)}opt_id_prefix(){return this.getRuleContext(0,zX)}an_id(){return this.getRuleContext(0,YX)}get ruleIndex(){return tf.RULE_column_name}accept(t){return t.visitColumn_name?t.visitColumn_name(this):t.visitChildren(this)}},EY=class extends ga{constructor(t,e){super(t,e)}an_id(t){return void 0===t?this.getRuleContexts(YX):this.getRuleContext(t,YX)}DOT(){return this.getToken(tf.DOT,0)}an_id_without(){return this.getRuleContext(0,QX)}get ruleIndex(){return tf.RULE_without_column_name}accept(t){return t.visitWithout_column_name?t.visitWithout_column_name(this):t.visitChildren(this)}},TY=class extends ga{constructor(t,e){super(t,e)}column_name(t){return void 0===t?this.getRuleContexts(hY):this.getRuleContext(t,hY)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_column_list}accept(t){return t.visitColumn_list?t.visitColumn_list(this):t.visitChildren(this)}},oY=class extends ga{constructor(t,e){super(t,e)}without_column_name(t){return void 0===t?this.getRuleContexts(EY):this.getRuleContext(t,EY)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_without_column_list}accept(t){return t.visitWithout_column_list?t.visitWithout_column_list(this):t.visitChildren(this)}},RY=class extends ga{constructor(t,e){super(t,e)}expr(){return this.getRuleContext(0,Ef)}AS(){return this.getToken(tf.AS,0)}an_id_or_type(){return this.getRuleContext(0,wX)}get ruleIndex(){return tf.RULE_named_expr}accept(t){return t.visitNamed_expr?t.visitNamed_expr(this):t.visitChildren(this)}},AY=class extends ga{constructor(t,e){super(t,e)}named_expr(t){return void 0===t?this.getRuleContexts(RY):this.getRuleContext(t,RY)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_named_expr_list}accept(t){return t.visitNamed_expr_list?t.visitNamed_expr_list(this):t.visitChildren(this)}},SY=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}invoke_expr_tail(){return this.getRuleContext(0,lY)}opt_set_quantifier(){return this.getRuleContext(0,Lw)}named_expr_list(){return this.getRuleContext(0,AY)}ASTERISK(){return this.getToken(tf.ASTERISK,0)}COMMA(){return this.getToken(tf.COMMA,0)}get ruleIndex(){return tf.RULE_invoke_expr}accept(t){return t.visitInvoke_expr?t.visitInvoke_expr(this):t.visitChildren(this)}},lY=class extends ga{constructor(t,e){super(t,e)}null_treatment(){return this.getRuleContext(0,cX)}filter_clause(){return this.getRuleContext(0,nX)}OVER(){return this.getToken(tf.OVER,0)}window_name_or_specification(){return this.getRuleContext(0,hX)}get ruleIndex(){return tf.RULE_invoke_expr_tail}accept(t){return t.visitInvoke_expr_tail?t.visitInvoke_expr_tail(this):t.visitChildren(this)}},OY=class extends ga{constructor(t,e){super(t,e)}invoke_expr(){return this.getRuleContext(0,SY)}an_id_expr(){return this.getRuleContext(0,WX)}bind_parameter(){return this.getRuleContext(0,LY)}an_id_or_type(t){return void 0===t?this.getRuleContexts(wX):this.getRuleContext(t,wX)}NAMESPACE(){return this.getToken(tf.NAMESPACE,0)}EXTERNAL(){return this.getToken(tf.EXTERNAL,0)}FUNCTION(){return this.getToken(tf.FUNCTION,0)}get ruleIndex(){return tf.RULE_using_call_expr}accept(t){return t.visitUsing_call_expr?t.visitUsing_call_expr(this):t.visitChildren(this)}},IY=class extends ga{constructor(t,e){super(t,e)}LBRACE_SQUARE(){return this.getToken(tf.LBRACE_SQUARE,0)}expr(){return this.getRuleContext(0,Ef)}RBRACE_SQUARE(){return this.getToken(tf.RBRACE_SQUARE,0)}get ruleIndex(){return tf.RULE_key_expr}accept(t){return t.visitKey_expr?t.visitKey_expr(this):t.visitChildren(this)}},uY=class extends ga{constructor(t,e){super(t,e)}WHEN(){return this.getToken(tf.WHEN,0)}expr(t){return void 0===t?this.getRuleContexts(Ef):this.getRuleContext(t,Ef)}THEN(){return this.getToken(tf.THEN,0)}get ruleIndex(){return tf.RULE_when_expr}accept(t){return t.visitWhen_expr?t.visitWhen_expr(this):t.visitChildren(this)}},NY=class extends ga{constructor(t,e){super(t,e)}integer(){return this.getRuleContext(0,uK)}real(){return this.getRuleContext(0,IK)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}BLOB(){return this.getToken(tf.BLOB,0)}NULL(){return this.getToken(tf.NULL,0)}CURRENT_TIME(){return this.getToken(tf.CURRENT_TIME,0)}CURRENT_DATE(){return this.getToken(tf.CURRENT_DATE,0)}CURRENT_TIMESTAMP(){return this.getToken(tf.CURRENT_TIMESTAMP,0)}bool_value(){return this.getRuleContext(0,OK)}EMPTY_ACTION(){return this.getToken(tf.EMPTY_ACTION,0)}get ruleIndex(){return tf.RULE_literal_value}accept(t){return t.visitLiteral_value?t.visitLiteral_value(this):t.visitChildren(this)}},LY=class extends ga{constructor(t,e){super(t,e)}DOLLAR(){return this.getToken(tf.DOLLAR,0)}an_id_or_type(){return this.getRuleContext(0,wX)}TRUE(){return this.getToken(tf.TRUE,0)}FALSE(){return this.getToken(tf.FALSE,0)}get ruleIndex(){return tf.RULE_bind_parameter}accept(t){return t.visitBind_parameter?t.visitBind_parameter(this):t.visitChildren(this)}},CY=class extends ga{constructor(t,e){super(t,e)}bind_parameter(){return this.getRuleContext(0,LY)}QUESTION(){return this.getToken(tf.QUESTION,0)}get ruleIndex(){return tf.RULE_opt_bind_parameter}accept(t){return t.visitOpt_bind_parameter?t.visitOpt_bind_parameter(this):t.visitChildren(this)}},_Y=class extends ga{constructor(t,e){super(t,e)}bind_parameter(t){return void 0===t?this.getRuleContexts(LY):this.getRuleContext(t,LY)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_bind_parameter_list}accept(t){return t.visitBind_parameter_list?t.visitBind_parameter_list(this):t.visitChildren(this)}},PY=class extends ga{constructor(t,e){super(t,e)}bind_parameter(t){return void 0===t?this.getRuleContexts(LY):this.getRuleContext(t,LY)}AS(){return this.getToken(tf.AS,0)}get ruleIndex(){return tf.RULE_named_bind_parameter}accept(t){return t.visitNamed_bind_parameter?t.visitNamed_bind_parameter(this):t.visitChildren(this)}},MY=class extends ga{constructor(t,e){super(t,e)}named_bind_parameter(t){return void 0===t?this.getRuleContexts(PY):this.getRuleContext(t,PY)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_named_bind_parameter_list}accept(t){return t.visitNamed_bind_parameter_list?t.visitNamed_bind_parameter_list(this):t.visitChildren(this)}},dY=class extends ga{constructor(t,e){super(t,e)}integer(){return this.getRuleContext(0,uK)}real(){return this.getRuleContext(0,IK)}PLUS(){return this.getToken(tf.PLUS,0)}MINUS(){return this.getToken(tf.MINUS,0)}get ruleIndex(){return tf.RULE_signed_number}accept(t){return t.visitSigned_number?t.visitSigned_number(this):t.visitChildren(this)}},UY=class extends ga{constructor(t,e){super(t,e)}an_id_pure(){return this.getRuleContext(0,ZX)}get ruleIndex(){return tf.RULE_type_name_simple}accept(t){return t.visitType_name_simple?t.visitType_name_simple(this):t.visitChildren(this)}},mY=class extends ga{constructor(t,e){super(t,e)}integer(){return this.getRuleContext(0,uK)}bind_parameter(){return this.getRuleContext(0,LY)}get ruleIndex(){return tf.RULE_integer_or_bind}accept(t){return t.visitInteger_or_bind?t.visitInteger_or_bind(this):t.visitChildren(this)}},DY=class extends ga{constructor(t,e){super(t,e)}id(){return this.getRuleContext(0,xX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}bind_parameter(){return this.getRuleContext(0,LY)}get ruleIndex(){return tf.RULE_type_name_tag}accept(t){return t.visitType_name_tag?t.visitType_name_tag(this):t.visitChildren(this)}},pY=class extends ga{constructor(t,e){super(t,e)}type_name_tag(){return this.getRuleContext(0,DY)}COLON(){return this.getToken(tf.COLON,0)}type_name_or_bind(){return this.getRuleContext(0,qY)}get ruleIndex(){return tf.RULE_struct_arg}accept(t){return t.visitStruct_arg?t.visitStruct_arg(this):t.visitChildren(this)}},gY=class extends ga{constructor(t,e){super(t,e)}type_name_tag(){return this.getRuleContext(0,DY)}type_name_or_bind(){return this.getRuleContext(0,qY)}NULL(){return this.getToken(tf.NULL,0)}NOT(){return this.getToken(tf.NOT,0)}AS(){return this.getToken(tf.AS,0)}get ruleIndex(){return tf.RULE_struct_arg_positional}accept(t){return t.visitStruct_arg_positional?t.visitStruct_arg_positional(this):t.visitChildren(this)}},xY=class extends ga{constructor(t,e){super(t,e)}type_name_or_bind(){return this.getRuleContext(0,qY)}type_name_tag(){return this.getRuleContext(0,DY)}COLON(){return this.getToken(tf.COLON,0)}get ruleIndex(){return tf.RULE_variant_arg}accept(t){return t.visitVariant_arg?t.visitVariant_arg(this):t.visitChildren(this)}},kY=class extends ga{constructor(t,e){super(t,e)}variant_arg(){return this.getRuleContext(0,xY)}LBRACE_CURLY(){return this.getToken(tf.LBRACE_CURLY,0)}AUTOMAP(){return this.getToken(tf.AUTOMAP,0)}RBRACE_CURLY(){return this.getToken(tf.RBRACE_CURLY,0)}get ruleIndex(){return tf.RULE_callable_arg}accept(t){return t.visitCallable_arg?t.visitCallable_arg(this):t.visitChildren(this)}},HY=class extends ga{constructor(t,e){super(t,e)}callable_arg(t){return void 0===t?this.getRuleContexts(kY):this.getRuleContext(t,kY)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_callable_arg_list}accept(t){return t.visitCallable_arg_list?t.visitCallable_arg_list(this):t.visitChildren(this)}},GY=class extends ga{constructor(t,e){super(t,e)}DECIMAL(){return this.getToken(tf.DECIMAL,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}integer_or_bind(t){return void 0===t?this.getRuleContexts(mY):this.getRuleContext(t,mY)}COMMA(){return this.getToken(tf.COMMA,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_type_name_decimal}accept(t){return t.visitType_name_decimal?t.visitType_name_decimal(this):t.visitChildren(this)}},FY=class extends ga{constructor(t,e){super(t,e)}OPTIONAL(){return this.getToken(tf.OPTIONAL,0)}LESS(){return this.getToken(tf.LESS,0)}type_name_or_bind(){return this.getRuleContext(0,qY)}GREATER(){return this.getToken(tf.GREATER,0)}get ruleIndex(){return tf.RULE_type_name_optional}accept(t){return t.visitType_name_optional?t.visitType_name_optional(this):t.visitChildren(this)}},vY=class extends ga{constructor(t,e){super(t,e)}TUPLE(){return this.getToken(tf.TUPLE,0)}LESS(){return this.getToken(tf.LESS,0)}GREATER(){return this.getToken(tf.GREATER,0)}NOT_EQUALS2(){return this.getToken(tf.NOT_EQUALS2,0)}type_name_or_bind(t){return void 0===t?this.getRuleContexts(qY):this.getRuleContext(t,qY)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_type_name_tuple}accept(t){return t.visitType_name_tuple?t.visitType_name_tuple(this):t.visitChildren(this)}},BY=class extends ga{constructor(t,e){super(t,e)}STRUCT(){return this.getToken(tf.STRUCT,0)}LESS(){return this.getToken(tf.LESS,0)}GREATER(){return this.getToken(tf.GREATER,0)}NOT_EQUALS2(){return this.getToken(tf.NOT_EQUALS2,0)}struct_arg(t){return void 0===t?this.getRuleContexts(pY):this.getRuleContext(t,pY)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_type_name_struct}accept(t){return t.visitType_name_struct?t.visitType_name_struct(this):t.visitChildren(this)}},yY=class extends ga{constructor(t,e){super(t,e)}VARIANT(){return this.getToken(tf.VARIANT,0)}LESS(){return this.getToken(tf.LESS,0)}variant_arg(t){return void 0===t?this.getRuleContexts(xY):this.getRuleContext(t,xY)}GREATER(){return this.getToken(tf.GREATER,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_type_name_variant}accept(t){return t.visitType_name_variant?t.visitType_name_variant(this):t.visitChildren(this)}},fY=class extends ga{constructor(t,e){super(t,e)}LIST(){return this.getToken(tf.LIST,0)}LESS(){return this.getToken(tf.LESS,0)}type_name_or_bind(){return this.getRuleContext(0,qY)}GREATER(){return this.getToken(tf.GREATER,0)}get ruleIndex(){return tf.RULE_type_name_list}accept(t){return t.visitType_name_list?t.visitType_name_list(this):t.visitChildren(this)}},YY=class extends ga{constructor(t,e){super(t,e)}STREAM(){return this.getToken(tf.STREAM,0)}LESS(){return this.getToken(tf.LESS,0)}type_name_or_bind(){return this.getRuleContext(0,qY)}GREATER(){return this.getToken(tf.GREATER,0)}get ruleIndex(){return tf.RULE_type_name_stream}accept(t){return t.visitType_name_stream?t.visitType_name_stream(this):t.visitChildren(this)}},wY=class extends ga{constructor(t,e){super(t,e)}FLOW(){return this.getToken(tf.FLOW,0)}LESS(){return this.getToken(tf.LESS,0)}type_name_or_bind(){return this.getRuleContext(0,qY)}GREATER(){return this.getToken(tf.GREATER,0)}get ruleIndex(){return tf.RULE_type_name_flow}accept(t){return t.visitType_name_flow?t.visitType_name_flow(this):t.visitChildren(this)}},bY=class extends ga{constructor(t,e){super(t,e)}DICT(){return this.getToken(tf.DICT,0)}LESS(){return this.getToken(tf.LESS,0)}type_name_or_bind(t){return void 0===t?this.getRuleContexts(qY):this.getRuleContext(t,qY)}COMMA(){return this.getToken(tf.COMMA,0)}GREATER(){return this.getToken(tf.GREATER,0)}get ruleIndex(){return tf.RULE_type_name_dict}accept(t){return t.visitType_name_dict?t.visitType_name_dict(this):t.visitChildren(this)}},WY=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(tf.SET,0)}LESS(){return this.getToken(tf.LESS,0)}type_name_or_bind(){return this.getRuleContext(0,qY)}GREATER(){return this.getToken(tf.GREATER,0)}get ruleIndex(){return tf.RULE_type_name_set}accept(t){return t.visitType_name_set?t.visitType_name_set(this):t.visitChildren(this)}},VY=class extends ga{constructor(t,e){super(t,e)}ENUM(){return this.getToken(tf.ENUM,0)}LESS(){return this.getToken(tf.LESS,0)}type_name_tag(t){return void 0===t?this.getRuleContexts(DY):this.getRuleContext(t,DY)}GREATER(){return this.getToken(tf.GREATER,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_type_name_enum}accept(t){return t.visitType_name_enum?t.visitType_name_enum(this):t.visitChildren(this)}},XY=class extends ga{constructor(t,e){super(t,e)}RESOURCE(){return this.getToken(tf.RESOURCE,0)}LESS(){return this.getToken(tf.LESS,0)}type_name_tag(){return this.getRuleContext(0,DY)}GREATER(){return this.getToken(tf.GREATER,0)}get ruleIndex(){return tf.RULE_type_name_resource}accept(t){return t.visitType_name_resource?t.visitType_name_resource(this):t.visitChildren(this)}},KY=class extends ga{constructor(t,e){super(t,e)}TAGGED(){return this.getToken(tf.TAGGED,0)}LESS(){return this.getToken(tf.LESS,0)}type_name_or_bind(){return this.getRuleContext(0,qY)}COMMA(){return this.getToken(tf.COMMA,0)}type_name_tag(){return this.getRuleContext(0,DY)}GREATER(){return this.getToken(tf.GREATER,0)}get ruleIndex(){return tf.RULE_type_name_tagged}accept(t){return t.visitType_name_tagged?t.visitType_name_tagged(this):t.visitChildren(this)}},QY=class extends ga{constructor(t,e){super(t,e)}CALLABLE(){return this.getToken(tf.CALLABLE,0)}LESS(){return this.getToken(tf.LESS,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}ARROW(){return this.getToken(tf.ARROW,0)}type_name_or_bind(){return this.getRuleContext(0,qY)}GREATER(){return this.getToken(tf.GREATER,0)}callable_arg_list(t){return void 0===t?this.getRuleContexts(HY):this.getRuleContext(t,HY)}COMMA(){return this.getToken(tf.COMMA,0)}LBRACE_SQUARE(){return this.getToken(tf.LBRACE_SQUARE,0)}RBRACE_SQUARE(){return this.getToken(tf.RBRACE_SQUARE,0)}get ruleIndex(){return tf.RULE_type_name_callable}accept(t){return t.visitType_name_callable?t.visitType_name_callable(this):t.visitChildren(this)}},JY=class extends ga{constructor(t,e){super(t,e)}type_name_optional(){return this.getRuleContext(0,FY)}type_name_tuple(){return this.getRuleContext(0,vY)}type_name_struct(){return this.getRuleContext(0,BY)}type_name_variant(){return this.getRuleContext(0,yY)}type_name_list(){return this.getRuleContext(0,fY)}type_name_stream(){return this.getRuleContext(0,YY)}type_name_flow(){return this.getRuleContext(0,wY)}type_name_dict(){return this.getRuleContext(0,bY)}type_name_set(){return this.getRuleContext(0,WY)}type_name_enum(){return this.getRuleContext(0,VY)}type_name_resource(){return this.getRuleContext(0,XY)}type_name_tagged(){return this.getRuleContext(0,KY)}type_name_callable(){return this.getRuleContext(0,QY)}QUESTION(t){return void 0===t?this.getTokens(tf.QUESTION):this.getToken(tf.QUESTION,t)}get ruleIndex(){return tf.RULE_type_name_composite}accept(t){return t.visitType_name_composite?t.visitType_name_composite(this):t.visitChildren(this)}},ZY=class extends ga{constructor(t,e){super(t,e)}type_name_composite(){return this.getRuleContext(0,JY)}type_name_decimal(){return this.getRuleContext(0,GY)}type_name_simple(){return this.getRuleContext(0,UY)}QUESTION(t){return void 0===t?this.getTokens(tf.QUESTION):this.getToken(tf.QUESTION,t)}get ruleIndex(){return tf.RULE_type_name}accept(t){return t.visitType_name?t.visitType_name(this):t.visitChildren(this)}},qY=class extends ga{constructor(t,e){super(t,e)}type_name(){return this.getRuleContext(0,ZY)}bind_parameter(){return this.getRuleContext(0,LY)}get ruleIndex(){return tf.RULE_type_name_or_bind}accept(t){return t.visitType_name_or_bind?t.visitType_name_or_bind(this):t.visitChildren(this)}},jY=class extends ga{constructor(t,e){super(t,e)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_value_constructor_literal}accept(t){return t.visitValue_constructor_literal?t.visitValue_constructor_literal(this):t.visitChildren(this)}},zY=class extends ga{constructor(t,e){super(t,e)}VARIANT(){return this.getToken(tf.VARIANT,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}expr(t){return void 0===t?this.getRuleContexts(Ef):this.getRuleContext(t,Ef)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}RPAREN(){return this.getToken(tf.RPAREN,0)}ENUM(){return this.getToken(tf.ENUM,0)}CALLABLE(){return this.getToken(tf.CALLABLE,0)}get ruleIndex(){return tf.RULE_value_constructor}accept(t){return t.visitValue_constructor?t.visitValue_constructor(this):t.visitChildren(this)}},$Y=class extends ga{constructor(t,e){super(t,e)}DECLARE(){return this.getToken(tf.DECLARE,0)}bind_parameter(){return this.getRuleContext(0,LY)}AS(){return this.getToken(tf.AS,0)}type_name(){return this.getRuleContext(0,ZY)}EQUALS(){return this.getToken(tf.EQUALS,0)}literal_value(){return this.getRuleContext(0,NY)}get ruleIndex(){return tf.RULE_declare_stmt}accept(t){return t.visitDeclare_stmt?t.visitDeclare_stmt(this):t.visitChildren(this)}},tw=class extends ga{constructor(t,e){super(t,e)}an_id(t){return void 0===t?this.getRuleContexts(YX):this.getRuleContext(t,YX)}DOT(t){return void 0===t?this.getTokens(tf.DOT):this.getToken(tf.DOT,t)}get ruleIndex(){return tf.RULE_module_path}accept(t){return t.visitModule_path?t.visitModule_path(this):t.visitChildren(this)}},ew=class extends ga{constructor(t,e){super(t,e)}IMPORT(){return this.getToken(tf.IMPORT,0)}module_path(){return this.getRuleContext(0,tw)}SYMBOLS(){return this.getToken(tf.SYMBOLS,0)}named_bind_parameter_list(){return this.getRuleContext(0,MY)}get ruleIndex(){return tf.RULE_import_stmt}accept(t){return t.visitImport_stmt?t.visitImport_stmt(this):t.visitChildren(this)}},sw=class extends ga{constructor(t,e){super(t,e)}EXPORT(){return this.getToken(tf.EXPORT,0)}bind_parameter_list(){return this.getRuleContext(0,_Y)}get ruleIndex(){return tf.RULE_export_stmt}accept(t){return t.visitExport_stmt?t.visitExport_stmt(this):t.visitChildren(this)}},aw=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}bind_parameter(){return this.getRuleContext(0,LY)}EMPTY_ACTION(){return this.getToken(tf.EMPTY_ACTION,0)}expr_list(){return this.getRuleContext(0,rY)}get ruleIndex(){return tf.RULE_call_action}accept(t){return t.visitCall_action?t.visitCall_action(this):t.visitChildren(this)}},rw=class extends ga{constructor(t,e){super(t,e)}BEGIN(){return this.getToken(tf.BEGIN,0)}define_action_or_subquery_body(){return this.getRuleContext(0,lV)}END(){return this.getToken(tf.END,0)}DO(){return this.getToken(tf.DO,0)}get ruleIndex(){return tf.RULE_inline_action}accept(t){return t.visitInline_action?t.visitInline_action(this):t.visitChildren(this)}},iw=class extends ga{constructor(t,e){super(t,e)}DO(){return this.getToken(tf.DO,0)}call_action(){return this.getRuleContext(0,aw)}inline_action(){return this.getRuleContext(0,rw)}get ruleIndex(){return tf.RULE_do_stmt}accept(t){return t.visitDo_stmt?t.visitDo_stmt(this):t.visitChildren(this)}},cw=class extends ga{constructor(t,e){super(t,e)}PRAGMA(){return this.getToken(tf.PRAGMA,0)}opt_id_prefix_or_type(){return this.getRuleContext(0,eK)}an_id(){return this.getRuleContext(0,YX)}EQUALS(){return this.getToken(tf.EQUALS,0)}pragma_value(t){return void 0===t?this.getRuleContexts(nw):this.getRuleContext(t,nw)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_pragma_stmt}accept(t){return t.visitPragma_stmt?t.visitPragma_stmt(this):t.visitChildren(this)}},nw=class extends ga{constructor(t,e){super(t,e)}signed_number(){return this.getRuleContext(0,dY)}id(){return this.getRuleContext(0,xX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}bool_value(){return this.getRuleContext(0,OK)}bind_parameter(){return this.getRuleContext(0,LY)}get ruleIndex(){return tf.RULE_pragma_value}accept(t){return t.visitPragma_value?t.visitPragma_value(this):t.visitChildren(this)}},hw=class extends ga{constructor(t,e){super(t,e)}expr(){return this.getRuleContext(0,Ef)}ASC(){return this.getToken(tf.ASC,0)}DESC(){return this.getToken(tf.DESC,0)}get ruleIndex(){return tf.RULE_sort_specification}accept(t){return t.visitSort_specification?t.visitSort_specification(this):t.visitChildren(this)}},Ew=class extends ga{constructor(t,e){super(t,e)}sort_specification(t){return void 0===t?this.getRuleContexts(hw):this.getRuleContext(t,hw)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_sort_specification_list}accept(t){return t.visitSort_specification_list?t.visitSort_specification_list(this):t.visitChildren(this)}},Tw=class extends ga{constructor(t,e){super(t,e)}select_kind_parenthesis(t){return void 0===t?this.getRuleContexts(Rw):this.getRuleContext(t,Rw)}select_op(t){return void 0===t?this.getRuleContexts(Aw):this.getRuleContext(t,Aw)}get ruleIndex(){return tf.RULE_select_stmt}accept(t){return t.visitSelect_stmt?t.visitSelect_stmt(this):t.visitChildren(this)}},ow=class extends ga{constructor(t,e){super(t,e)}select_kind_partial(){return this.getRuleContext(0,Sw)}select_op(t){return void 0===t?this.getRuleContexts(Aw):this.getRuleContext(t,Aw)}select_kind_parenthesis(t){return void 0===t?this.getRuleContexts(Rw):this.getRuleContext(t,Rw)}get ruleIndex(){return tf.RULE_select_unparenthesized_stmt}accept(t){return t.visitSelect_unparenthesized_stmt?t.visitSelect_unparenthesized_stmt(this):t.visitChildren(this)}},Rw=class extends ga{constructor(t,e){super(t,e)}select_kind_partial(){return this.getRuleContext(0,Sw)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_select_kind_parenthesis}accept(t){return t.visitSelect_kind_parenthesis?t.visitSelect_kind_parenthesis(this):t.visitChildren(this)}},Aw=class extends ga{constructor(t,e){super(t,e)}UNION(){return this.getToken(tf.UNION,0)}ALL(){return this.getToken(tf.ALL,0)}INTERSECT(){return this.getToken(tf.INTERSECT,0)}EXCEPT(){return this.getToken(tf.EXCEPT,0)}get ruleIndex(){return tf.RULE_select_op}accept(t){return t.visitSelect_op?t.visitSelect_op(this):t.visitChildren(this)}},Sw=class extends ga{constructor(t,e){super(t,e)}select_kind(){return this.getRuleContext(0,lw)}LIMIT(){return this.getToken(tf.LIMIT,0)}expr(t){return void 0===t?this.getRuleContexts(Ef):this.getRuleContext(t,Ef)}OFFSET(){return this.getToken(tf.OFFSET,0)}COMMA(){return this.getToken(tf.COMMA,0)}get ruleIndex(){return tf.RULE_select_kind_partial}accept(t){return t.visitSelect_kind_partial?t.visitSelect_kind_partial(this):t.visitChildren(this)}},lw=class extends ga{constructor(t,e){super(t,e)}process_core(){return this.getRuleContext(0,Ow)}reduce_core(){return this.getRuleContext(0,Nw)}select_core(){return this.getRuleContext(0,Cw)}DISCARD(){return this.getToken(tf.DISCARD,0)}INTO(){return this.getToken(tf.INTO,0)}RESULT(){return this.getToken(tf.RESULT,0)}pure_column_or_named(){return this.getRuleContext(0,cY)}get ruleIndex(){return tf.RULE_select_kind}accept(t){return t.visitSelect_kind?t.visitSelect_kind(this):t.visitChildren(this)}},Ow=class extends ga{constructor(t,e){super(t,e)}PROCESS(){return this.getToken(tf.PROCESS,0)}named_single_source(t){return void 0===t?this.getRuleContexts(Ab):this.getRuleContext(t,Ab)}STREAM(){return this.getToken(tf.STREAM,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}USING(){return this.getToken(tf.USING,0)}using_call_expr(){return this.getRuleContext(0,OY)}AS(){return this.getToken(tf.AS,0)}an_id(){return this.getRuleContext(0,YX)}WITH(){return this.getToken(tf.WITH,0)}external_call_settings(){return this.getRuleContext(0,uw)}where_expr(){return this.getRuleContext(0,MK)}HAVING(){return this.getToken(tf.HAVING,0)}expr(){return this.getRuleContext(0,Ef)}ASSUME(){return this.getToken(tf.ASSUME,0)}order_by_clause(){return this.getRuleContext(0,jw)}get ruleIndex(){return tf.RULE_process_core}accept(t){return t.visitProcess_core?t.visitProcess_core(this):t.visitChildren(this)}},Iw=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}EQUALS(){return this.getToken(tf.EQUALS,0)}expr(){return this.getRuleContext(0,Ef)}get ruleIndex(){return tf.RULE_external_call_param}accept(t){return t.visitExternal_call_param?t.visitExternal_call_param(this):t.visitChildren(this)}},uw=class extends ga{constructor(t,e){super(t,e)}external_call_param(t){return void 0===t?this.getRuleContexts(Iw):this.getRuleContext(t,Iw)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_external_call_settings}accept(t){return t.visitExternal_call_settings?t.visitExternal_call_settings(this):t.visitChildren(this)}},Nw=class extends ga{constructor(t,e){super(t,e)}REDUCE(){return this.getToken(tf.REDUCE,0)}named_single_source(t){return void 0===t?this.getRuleContexts(Ab):this.getRuleContext(t,Ab)}ON(){return this.getToken(tf.ON,0)}column_list(){return this.getRuleContext(0,TY)}USING(){return this.getToken(tf.USING,0)}using_call_expr(){return this.getRuleContext(0,OY)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}PRESORT(){return this.getToken(tf.PRESORT,0)}sort_specification_list(){return this.getRuleContext(0,Ew)}ALL(){return this.getToken(tf.ALL,0)}AS(){return this.getToken(tf.AS,0)}an_id(){return this.getRuleContext(0,YX)}where_expr(){return this.getRuleContext(0,MK)}HAVING(){return this.getToken(tf.HAVING,0)}expr(){return this.getRuleContext(0,Ef)}ASSUME(){return this.getToken(tf.ASSUME,0)}order_by_clause(){return this.getRuleContext(0,jw)}get ruleIndex(){return tf.RULE_reduce_core}accept(t){return t.visitReduce_core?t.visitReduce_core(this):t.visitChildren(this)}},Lw=class extends ga{constructor(t,e){super(t,e)}ALL(){return this.getToken(tf.ALL,0)}DISTINCT(){return this.getToken(tf.DISTINCT,0)}get ruleIndex(){return tf.RULE_opt_set_quantifier}accept(t){return t.visitOpt_set_quantifier?t.visitOpt_set_quantifier(this):t.visitChildren(this)}},Cw=class extends ga{constructor(t,e){super(t,e)}SELECT(){return this.getToken(tf.SELECT,0)}opt_set_quantifier(){return this.getRuleContext(0,Lw)}result_column(t){return void 0===t?this.getRuleContexts(hb):this.getRuleContext(t,hb)}FROM(t){return void 0===t?this.getTokens(tf.FROM):this.getToken(tf.FROM,t)}join_source(t){return void 0===t?this.getRuleContexts(Eb):this.getRuleContext(t,Eb)}STREAM(){return this.getToken(tf.STREAM,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}WITHOUT(){return this.getToken(tf.WITHOUT,0)}without_column_list(){return this.getRuleContext(0,oY)}where_expr(){return this.getRuleContext(0,MK)}group_by_clause(){return this.getRuleContext(0,$w)}HAVING(){return this.getToken(tf.HAVING,0)}expr(){return this.getRuleContext(0,Ef)}window_clause(){return this.getRuleContext(0,TX)}ext_order_by_clause(){return this.getRuleContext(0,zw)}get ruleIndex(){return tf.RULE_select_core}accept(t){return t.visitSelect_core?t.visitSelect_core(this):t.visitChildren(this)}},_w=class extends ga{constructor(t,e){super(t,e)}MATCH_RECOGNIZE(){return this.getToken(tf.MATCH_RECOGNIZE,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}row_pattern_common_syntax(){return this.getRuleContext(0,Dw)}RPAREN(){return this.getToken(tf.RPAREN,0)}window_partition_clause(){return this.getRuleContext(0,IX)}order_by_clause(){return this.getRuleContext(0,jw)}row_pattern_measures(){return this.getRuleContext(0,dw)}row_pattern_rows_per_match(){return this.getRuleContext(0,Pw)}get ruleIndex(){return tf.RULE_row_pattern_recognition_clause}accept(t){return t.visitRow_pattern_recognition_clause?t.visitRow_pattern_recognition_clause(this):t.visitChildren(this)}},Pw=class extends ga{constructor(t,e){super(t,e)}ONE(){return this.getToken(tf.ONE,0)}ROW(){return this.getToken(tf.ROW,0)}PER(){return this.getToken(tf.PER,0)}MATCH(){return this.getToken(tf.MATCH,0)}ALL(){return this.getToken(tf.ALL,0)}ROWS(){return this.getToken(tf.ROWS,0)}row_pattern_empty_match_handling(){return this.getRuleContext(0,Mw)}get ruleIndex(){return tf.RULE_row_pattern_rows_per_match}accept(t){return t.visitRow_pattern_rows_per_match?t.visitRow_pattern_rows_per_match(this):t.visitChildren(this)}},Mw=class extends ga{constructor(t,e){super(t,e)}SHOW(){return this.getToken(tf.SHOW,0)}EMPTY(){return this.getToken(tf.EMPTY,0)}MATCHES(){return this.getToken(tf.MATCHES,0)}OMIT(){return this.getToken(tf.OMIT,0)}WITH(){return this.getToken(tf.WITH,0)}UNMATCHED(){return this.getToken(tf.UNMATCHED,0)}ROWS(){return this.getToken(tf.ROWS,0)}get ruleIndex(){return tf.RULE_row_pattern_empty_match_handling}accept(t){return t.visitRow_pattern_empty_match_handling?t.visitRow_pattern_empty_match_handling(this):t.visitChildren(this)}},dw=class extends ga{constructor(t,e){super(t,e)}MEASURES(){return this.getToken(tf.MEASURES,0)}row_pattern_measure_list(){return this.getRuleContext(0,Uw)}get ruleIndex(){return tf.RULE_row_pattern_measures}accept(t){return t.visitRow_pattern_measures?t.visitRow_pattern_measures(this):t.visitChildren(this)}},Uw=class extends ga{constructor(t,e){super(t,e)}row_pattern_measure_definition(t){return void 0===t?this.getRuleContexts(mw):this.getRuleContext(t,mw)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_row_pattern_measure_list}accept(t){return t.visitRow_pattern_measure_list?t.visitRow_pattern_measure_list(this):t.visitChildren(this)}},mw=class extends ga{constructor(t,e){super(t,e)}expr(){return this.getRuleContext(0,Ef)}AS(){return this.getToken(tf.AS,0)}an_id(){return this.getRuleContext(0,YX)}get ruleIndex(){return tf.RULE_row_pattern_measure_definition}accept(t){return t.visitRow_pattern_measure_definition?t.visitRow_pattern_measure_definition(this):t.visitChildren(this)}},Dw=class extends ga{constructor(t,e){super(t,e)}PATTERN(){return this.getToken(tf.PATTERN,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}row_pattern(){return this.getRuleContext(0,kw)}RPAREN(){return this.getToken(tf.RPAREN,0)}DEFINE(){return this.getToken(tf.DEFINE,0)}row_pattern_definition_list(){return this.getRuleContext(0,Xw)}AFTER(){return this.getToken(tf.AFTER,0)}MATCH(){return this.getToken(tf.MATCH,0)}row_pattern_skip_to(){return this.getRuleContext(0,pw)}row_pattern_initial_or_seek(){return this.getRuleContext(0,xw)}row_pattern_subset_clause(){return this.getRuleContext(0,fw)}get ruleIndex(){return tf.RULE_row_pattern_common_syntax}accept(t){return t.visitRow_pattern_common_syntax?t.visitRow_pattern_common_syntax(this):t.visitChildren(this)}},pw=class extends ga{constructor(t,e){super(t,e)}SKIP_RULE(){return this.getToken(tf.SKIP_RULE,0)}TO(){return this.getToken(tf.TO,0)}NEXT(){return this.getToken(tf.NEXT,0)}ROW(){return this.getToken(tf.ROW,0)}PAST(){return this.getToken(tf.PAST,0)}LAST(){return this.getToken(tf.LAST,0)}FIRST(){return this.getToken(tf.FIRST,0)}row_pattern_skip_to_variable_name(){return this.getRuleContext(0,gw)}get ruleIndex(){return tf.RULE_row_pattern_skip_to}accept(t){return t.visitRow_pattern_skip_to?t.visitRow_pattern_skip_to(this):t.visitChildren(this)}},gw=class extends ga{constructor(t,e){super(t,e)}row_pattern_variable_name(){return this.getRuleContext(0,qw)}get ruleIndex(){return tf.RULE_row_pattern_skip_to_variable_name}accept(t){return t.visitRow_pattern_skip_to_variable_name?t.visitRow_pattern_skip_to_variable_name(this):t.visitChildren(this)}},xw=class extends ga{constructor(t,e){super(t,e)}INITIAL(){return this.getToken(tf.INITIAL,0)}SEEK(){return this.getToken(tf.SEEK,0)}get ruleIndex(){return tf.RULE_row_pattern_initial_or_seek}accept(t){return t.visitRow_pattern_initial_or_seek?t.visitRow_pattern_initial_or_seek(this):t.visitChildren(this)}},kw=class extends ga{constructor(t,e){super(t,e)}row_pattern_term(t){return void 0===t?this.getRuleContexts(Hw):this.getRuleContext(t,Hw)}PIPE(t){return void 0===t?this.getTokens(tf.PIPE):this.getToken(tf.PIPE,t)}get ruleIndex(){return tf.RULE_row_pattern}accept(t){return t.visitRow_pattern?t.visitRow_pattern(this):t.visitChildren(this)}},Hw=class extends ga{constructor(t,e){super(t,e)}row_pattern_factor(t){return void 0===t?this.getRuleContexts(Gw):this.getRuleContext(t,Gw)}get ruleIndex(){return tf.RULE_row_pattern_term}accept(t){return t.visitRow_pattern_term?t.visitRow_pattern_term(this):t.visitChildren(this)}},Gw=class extends ga{constructor(t,e){super(t,e)}row_pattern_primary(){return this.getRuleContext(0,vw)}row_pattern_quantifier(){return this.getRuleContext(0,Fw)}get ruleIndex(){return tf.RULE_row_pattern_factor}accept(t){return t.visitRow_pattern_factor?t.visitRow_pattern_factor(this):t.visitChildren(this)}},Fw=class extends ga{constructor(t,e){super(t,e)}ASTERISK(){return this.getToken(tf.ASTERISK,0)}QUESTION(t){return void 0===t?this.getTokens(tf.QUESTION):this.getToken(tf.QUESTION,t)}PLUS(){return this.getToken(tf.PLUS,0)}LBRACE_CURLY(){return this.getToken(tf.LBRACE_CURLY,0)}COMMA(){return this.getToken(tf.COMMA,0)}RBRACE_CURLY(){return this.getToken(tf.RBRACE_CURLY,0)}integer(t){return void 0===t?this.getRuleContexts(uK):this.getRuleContext(t,uK)}get ruleIndex(){return tf.RULE_row_pattern_quantifier}accept(t){return t.visitRow_pattern_quantifier?t.visitRow_pattern_quantifier(this):t.visitChildren(this)}},vw=class extends ga{constructor(t,e){super(t,e)}row_pattern_primary_variable_name(){return this.getRuleContext(0,Bw)}DOLLAR(){return this.getToken(tf.DOLLAR,0)}CARET(){return this.getToken(tf.CARET,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}row_pattern(){return this.getRuleContext(0,kw)}LBRACE_CURLY(){return this.getToken(tf.LBRACE_CURLY,0)}MINUS(t){return void 0===t?this.getTokens(tf.MINUS):this.getToken(tf.MINUS,t)}RBRACE_CURLY(){return this.getToken(tf.RBRACE_CURLY,0)}row_pattern_permute(){return this.getRuleContext(0,yw)}get ruleIndex(){return tf.RULE_row_pattern_primary}accept(t){return t.visitRow_pattern_primary?t.visitRow_pattern_primary(this):t.visitChildren(this)}},Bw=class extends ga{constructor(t,e){super(t,e)}row_pattern_variable_name(){return this.getRuleContext(0,qw)}get ruleIndex(){return tf.RULE_row_pattern_primary_variable_name}accept(t){return t.visitRow_pattern_primary_variable_name?t.visitRow_pattern_primary_variable_name(this):t.visitChildren(this)}},yw=class extends ga{constructor(t,e){super(t,e)}PERMUTE(){return this.getToken(tf.PERMUTE,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}row_pattern(t){return void 0===t?this.getRuleContexts(kw):this.getRuleContext(t,kw)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_row_pattern_permute}accept(t){return t.visitRow_pattern_permute?t.visitRow_pattern_permute(this):t.visitChildren(this)}},fw=class extends ga{constructor(t,e){super(t,e)}SUBSET(){return this.getToken(tf.SUBSET,0)}row_pattern_subset_list(){return this.getRuleContext(0,Yw)}get ruleIndex(){return tf.RULE_row_pattern_subset_clause}accept(t){return t.visitRow_pattern_subset_clause?t.visitRow_pattern_subset_clause(this):t.visitChildren(this)}},Yw=class extends ga{constructor(t,e){super(t,e)}row_pattern_subset_item(t){return void 0===t?this.getRuleContexts(ww):this.getRuleContext(t,ww)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_row_pattern_subset_list}accept(t){return t.visitRow_pattern_subset_list?t.visitRow_pattern_subset_list(this):t.visitChildren(this)}},ww=class extends ga{constructor(t,e){super(t,e)}row_pattern_subset_item_variable_name(){return this.getRuleContext(0,bw)}EQUALS(){return this.getToken(tf.EQUALS,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}row_pattern_subset_rhs(){return this.getRuleContext(0,Ww)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_row_pattern_subset_item}accept(t){return t.visitRow_pattern_subset_item?t.visitRow_pattern_subset_item(this):t.visitChildren(this)}},bw=class extends ga{constructor(t,e){super(t,e)}row_pattern_variable_name(){return this.getRuleContext(0,qw)}get ruleIndex(){return tf.RULE_row_pattern_subset_item_variable_name}accept(t){return t.visitRow_pattern_subset_item_variable_name?t.visitRow_pattern_subset_item_variable_name(this):t.visitChildren(this)}},Ww=class extends ga{constructor(t,e){super(t,e)}row_pattern_subset_rhs_variable_name(t){return void 0===t?this.getRuleContexts(Vw):this.getRuleContext(t,Vw)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_row_pattern_subset_rhs}accept(t){return t.visitRow_pattern_subset_rhs?t.visitRow_pattern_subset_rhs(this):t.visitChildren(this)}},Vw=class extends ga{constructor(t,e){super(t,e)}row_pattern_variable_name(){return this.getRuleContext(0,qw)}get ruleIndex(){return tf.RULE_row_pattern_subset_rhs_variable_name}accept(t){return t.visitRow_pattern_subset_rhs_variable_name?t.visitRow_pattern_subset_rhs_variable_name(this):t.visitChildren(this)}},Xw=class extends ga{constructor(t,e){super(t,e)}row_pattern_definition(t){return void 0===t?this.getRuleContexts(Kw):this.getRuleContext(t,Kw)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_row_pattern_definition_list}accept(t){return t.visitRow_pattern_definition_list?t.visitRow_pattern_definition_list(this):t.visitChildren(this)}},Kw=class extends ga{constructor(t,e){super(t,e)}row_pattern_definition_variable_name(){return this.getRuleContext(0,Qw)}AS(){return this.getToken(tf.AS,0)}row_pattern_definition_search_condition(){return this.getRuleContext(0,Jw)}get ruleIndex(){return tf.RULE_row_pattern_definition}accept(t){return t.visitRow_pattern_definition?t.visitRow_pattern_definition(this):t.visitChildren(this)}},Qw=class extends ga{constructor(t,e){super(t,e)}row_pattern_variable_name(){return this.getRuleContext(0,qw)}get ruleIndex(){return tf.RULE_row_pattern_definition_variable_name}accept(t){return t.visitRow_pattern_definition_variable_name?t.visitRow_pattern_definition_variable_name(this):t.visitChildren(this)}},Jw=class extends ga{constructor(t,e){super(t,e)}search_condition(){return this.getRuleContext(0,Zw)}get ruleIndex(){return tf.RULE_row_pattern_definition_search_condition}accept(t){return t.visitRow_pattern_definition_search_condition?t.visitRow_pattern_definition_search_condition(this):t.visitChildren(this)}},Zw=class extends ga{constructor(t,e){super(t,e)}expr(){return this.getRuleContext(0,Ef)}get ruleIndex(){return tf.RULE_search_condition}accept(t){return t.visitSearch_condition?t.visitSearch_condition(this):t.visitChildren(this)}},qw=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}get ruleIndex(){return tf.RULE_row_pattern_variable_name}accept(t){return t.visitRow_pattern_variable_name?t.visitRow_pattern_variable_name(this):t.visitChildren(this)}},jw=class extends ga{constructor(t,e){super(t,e)}ORDER(){return this.getToken(tf.ORDER,0)}BY(){return this.getToken(tf.BY,0)}sort_specification_list(){return this.getRuleContext(0,Ew)}get ruleIndex(){return tf.RULE_order_by_clause}accept(t){return t.visitOrder_by_clause?t.visitOrder_by_clause(this):t.visitChildren(this)}},zw=class extends ga{constructor(t,e){super(t,e)}order_by_clause(){return this.getRuleContext(0,jw)}ASSUME(){return this.getToken(tf.ASSUME,0)}get ruleIndex(){return tf.RULE_ext_order_by_clause}accept(t){return t.visitExt_order_by_clause?t.visitExt_order_by_clause(this):t.visitChildren(this)}},$w=class extends ga{constructor(t,e){super(t,e)}GROUP(){return this.getToken(tf.GROUP,0)}BY(){return this.getToken(tf.BY,0)}opt_set_quantifier(){return this.getRuleContext(0,Lw)}grouping_element_list(){return this.getRuleContext(0,tb)}COMPACT(){return this.getToken(tf.COMPACT,0)}WITH(){return this.getToken(tf.WITH,0)}an_id(){return this.getRuleContext(0,YX)}get ruleIndex(){return tf.RULE_group_by_clause}accept(t){return t.visitGroup_by_clause?t.visitGroup_by_clause(this):t.visitChildren(this)}},tb=class extends ga{constructor(t,e){super(t,e)}grouping_element(t){return void 0===t?this.getRuleContexts(eb):this.getRuleContext(t,eb)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_grouping_element_list}accept(t){return t.visitGrouping_element_list?t.visitGrouping_element_list(this):t.visitChildren(this)}},eb=class extends ga{constructor(t,e){super(t,e)}ordinary_grouping_set(){return this.getRuleContext(0,sb)}rollup_list(){return this.getRuleContext(0,rb)}cube_list(){return this.getRuleContext(0,ib)}grouping_sets_specification(){return this.getRuleContext(0,cb)}hopping_window_specification(){return this.getRuleContext(0,nb)}get ruleIndex(){return tf.RULE_grouping_element}accept(t){return t.visitGrouping_element?t.visitGrouping_element(this):t.visitChildren(this)}},sb=class extends ga{constructor(t,e){super(t,e)}named_expr(){return this.getRuleContext(0,RY)}get ruleIndex(){return tf.RULE_ordinary_grouping_set}accept(t){return t.visitOrdinary_grouping_set?t.visitOrdinary_grouping_set(this):t.visitChildren(this)}},ab=class extends ga{constructor(t,e){super(t,e)}ordinary_grouping_set(t){return void 0===t?this.getRuleContexts(sb):this.getRuleContext(t,sb)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_ordinary_grouping_set_list}accept(t){return t.visitOrdinary_grouping_set_list?t.visitOrdinary_grouping_set_list(this):t.visitChildren(this)}},rb=class extends ga{constructor(t,e){super(t,e)}ROLLUP(){return this.getToken(tf.ROLLUP,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}ordinary_grouping_set_list(){return this.getRuleContext(0,ab)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_rollup_list}accept(t){return t.visitRollup_list?t.visitRollup_list(this):t.visitChildren(this)}},ib=class extends ga{constructor(t,e){super(t,e)}CUBE(){return this.getToken(tf.CUBE,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}ordinary_grouping_set_list(){return this.getRuleContext(0,ab)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_cube_list}accept(t){return t.visitCube_list?t.visitCube_list(this):t.visitChildren(this)}},cb=class extends ga{constructor(t,e){super(t,e)}GROUPING(){return this.getToken(tf.GROUPING,0)}SETS(){return this.getToken(tf.SETS,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}grouping_element_list(){return this.getRuleContext(0,tb)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_grouping_sets_specification}accept(t){return t.visitGrouping_sets_specification?t.visitGrouping_sets_specification(this):t.visitChildren(this)}},nb=class extends ga{constructor(t,e){super(t,e)}HOP(){return this.getToken(tf.HOP,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}expr(t){return void 0===t?this.getRuleContexts(Ef):this.getRuleContext(t,Ef)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_hopping_window_specification}accept(t){return t.visitHopping_window_specification?t.visitHopping_window_specification(this):t.visitChildren(this)}},hb=class extends ga{constructor(t,e){super(t,e)}opt_id_prefix(){return this.getRuleContext(0,zX)}ASTERISK(){return this.getToken(tf.ASTERISK,0)}expr(){return this.getRuleContext(0,Ef)}an_id_as_compat(){return this.getRuleContext(0,qX)}AS(){return this.getToken(tf.AS,0)}an_id_or_type(){return this.getRuleContext(0,wX)}get ruleIndex(){return tf.RULE_result_column}accept(t){return t.visitResult_column?t.visitResult_column(this):t.visitChildren(this)}},Eb=class extends ga{constructor(t,e){super(t,e)}flatten_source(t){return void 0===t?this.getRuleContexts(Rb):this.getRuleContext(t,Rb)}ANY(t){return void 0===t?this.getTokens(tf.ANY):this.getToken(tf.ANY,t)}join_op(t){return void 0===t?this.getRuleContexts(Nb):this.getRuleContext(t,Nb)}join_constraint(t){return void 0===t?this.getRuleContexts(Lb):this.getRuleContext(t,Lb)}get ruleIndex(){return tf.RULE_join_source}accept(t){return t.visitJoin_source?t.visitJoin_source(this):t.visitChildren(this)}},Tb=class extends ga{constructor(t,e){super(t,e)}column_name(){return this.getRuleContext(0,hY)}AS(){return this.getToken(tf.AS,0)}an_id(){return this.getRuleContext(0,YX)}get ruleIndex(){return tf.RULE_named_column}accept(t){return t.visitNamed_column?t.visitNamed_column(this):t.visitChildren(this)}},ob=class extends ga{constructor(t,e){super(t,e)}named_column(){return this.getRuleContext(0,Tb)}LPAREN(){return this.getToken(tf.LPAREN,0)}named_expr_list(){return this.getRuleContext(0,AY)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(){return this.getToken(tf.COMMA,0)}get ruleIndex(){return tf.RULE_flatten_by_arg}accept(t){return t.visitFlatten_by_arg?t.visitFlatten_by_arg(this):t.visitChildren(this)}},Rb=class extends ga{constructor(t,e){super(t,e)}named_single_source(){return this.getRuleContext(0,Ab)}FLATTEN(){return this.getToken(tf.FLATTEN,0)}BY(){return this.getToken(tf.BY,0)}flatten_by_arg(){return this.getRuleContext(0,ob)}COLUMNS(){return this.getToken(tf.COLUMNS,0)}OPTIONAL(){return this.getToken(tf.OPTIONAL,0)}LIST(){return this.getToken(tf.LIST,0)}DICT(){return this.getToken(tf.DICT,0)}get ruleIndex(){return tf.RULE_flatten_source}accept(t){return t.visitFlatten_source?t.visitFlatten_source(this):t.visitChildren(this)}},Ab=class extends ga{constructor(t,e){super(t,e)}single_source(){return this.getRuleContext(0,Sb)}row_pattern_recognition_clause(){return this.getRuleContext(0,_w)}sample_clause(){return this.getRuleContext(0,lb)}tablesample_clause(){return this.getRuleContext(0,Ob)}an_id_as_compat(){return this.getRuleContext(0,qX)}pure_column_list(){return this.getRuleContext(0,iY)}AS(){return this.getToken(tf.AS,0)}an_id(){return this.getRuleContext(0,YX)}get ruleIndex(){return tf.RULE_named_single_source}accept(t){return t.visitNamed_single_source?t.visitNamed_single_source(this):t.visitChildren(this)}},Sb=class extends ga{constructor(t,e){super(t,e)}table_ref(){return this.getRuleContext(0,uV)}LPAREN(){return this.getToken(tf.LPAREN,0)}select_stmt(){return this.getRuleContext(0,Tw)}RPAREN(){return this.getToken(tf.RPAREN,0)}values_stmt(){return this.getRuleContext(0,db)}get ruleIndex(){return tf.RULE_single_source}accept(t){return t.visitSingle_source?t.visitSingle_source(this):t.visitChildren(this)}},lb=class extends ga{constructor(t,e){super(t,e)}SAMPLE(){return this.getToken(tf.SAMPLE,0)}expr(){return this.getRuleContext(0,Ef)}get ruleIndex(){return tf.RULE_sample_clause}accept(t){return t.visitSample_clause?t.visitSample_clause(this):t.visitChildren(this)}},Ob=class extends ga{constructor(t,e){super(t,e)}TABLESAMPLE(){return this.getToken(tf.TABLESAMPLE,0)}sampling_mode(){return this.getRuleContext(0,Ib)}LPAREN(){return this.getToken(tf.LPAREN,0)}expr(){return this.getRuleContext(0,Ef)}RPAREN(){return this.getToken(tf.RPAREN,0)}repeatable_clause(){return this.getRuleContext(0,ub)}get ruleIndex(){return tf.RULE_tablesample_clause}accept(t){return t.visitTablesample_clause?t.visitTablesample_clause(this):t.visitChildren(this)}},Ib=class extends ga{constructor(t,e){super(t,e)}BERNOULLI(){return this.getToken(tf.BERNOULLI,0)}SYSTEM(){return this.getToken(tf.SYSTEM,0)}get ruleIndex(){return tf.RULE_sampling_mode}accept(t){return t.visitSampling_mode?t.visitSampling_mode(this):t.visitChildren(this)}},ub=class extends ga{constructor(t,e){super(t,e)}REPEATABLE(){return this.getToken(tf.REPEATABLE,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}expr(){return this.getRuleContext(0,Ef)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_repeatable_clause}accept(t){return t.visitRepeatable_clause?t.visitRepeatable_clause(this):t.visitChildren(this)}},Nb=class extends ga{constructor(t,e){super(t,e)}COMMA(){return this.getToken(tf.COMMA,0)}JOIN(){return this.getToken(tf.JOIN,0)}INNER(){return this.getToken(tf.INNER,0)}CROSS(){return this.getToken(tf.CROSS,0)}NATURAL(){return this.getToken(tf.NATURAL,0)}LEFT(){return this.getToken(tf.LEFT,0)}RIGHT(){return this.getToken(tf.RIGHT,0)}EXCLUSION(){return this.getToken(tf.EXCLUSION,0)}FULL(){return this.getToken(tf.FULL,0)}OUTER(){return this.getToken(tf.OUTER,0)}ONLY(){return this.getToken(tf.ONLY,0)}SEMI(){return this.getToken(tf.SEMI,0)}get ruleIndex(){return tf.RULE_join_op}accept(t){return t.visitJoin_op?t.visitJoin_op(this):t.visitChildren(this)}},Lb=class extends ga{constructor(t,e){super(t,e)}ON(){return this.getToken(tf.ON,0)}expr(){return this.getRuleContext(0,Ef)}USING(){return this.getToken(tf.USING,0)}pure_column_or_named_list(){return this.getRuleContext(0,nY)}get ruleIndex(){return tf.RULE_join_constraint}accept(t){return t.visitJoin_constraint?t.visitJoin_constraint(this):t.visitChildren(this)}},Cb=class extends ga{constructor(t,e){super(t,e)}RETURNING(){return this.getToken(tf.RETURNING,0)}ASTERISK(){return this.getToken(tf.ASTERISK,0)}an_id(t){return void 0===t?this.getRuleContexts(YX):this.getRuleContext(t,YX)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_returning_columns_list}accept(t){return t.visitReturning_columns_list?t.visitReturning_columns_list(this):t.visitChildren(this)}},_b=class extends ga{constructor(t,e){super(t,e)}INTO(){return this.getToken(tf.INTO,0)}into_simple_table_ref(){return this.getRuleContext(0,UV)}into_values_source(){return this.getRuleContext(0,Mb)}INSERT(){return this.getToken(tf.INSERT,0)}OR(){return this.getToken(tf.OR,0)}ABORT(){return this.getToken(tf.ABORT,0)}REVERT(){return this.getToken(tf.REVERT,0)}IGNORE(){return this.getToken(tf.IGNORE,0)}UPSERT(){return this.getToken(tf.UPSERT,0)}REPLACE(){return this.getToken(tf.REPLACE,0)}returning_columns_list(){return this.getRuleContext(0,Cb)}get ruleIndex(){return tf.RULE_into_table_stmt}accept(t){return t.visitInto_table_stmt?t.visitInto_table_stmt(this):t.visitChildren(this)}},Pb=class extends ga{constructor(t,e){super(t,e)}INTO(){return this.getToken(tf.INTO,0)}into_simple_table_ref(){return this.getRuleContext(0,UV)}into_values_source(){return this.getRuleContext(0,Mb)}INSERT(){return this.getToken(tf.INSERT,0)}OR(){return this.getToken(tf.OR,0)}ABORT(){return this.getToken(tf.ABORT,0)}REVERT(){return this.getToken(tf.REVERT,0)}IGNORE(){return this.getToken(tf.IGNORE,0)}REPLACE(){return this.getToken(tf.REPLACE,0)}get ruleIndex(){return tf.RULE_into_table_stmt_yq}accept(t){return t.visitInto_table_stmt_yq?t.visitInto_table_stmt_yq(this):t.visitChildren(this)}},Mb=class extends ga{constructor(t,e){super(t,e)}values_source(){return this.getRuleContext(0,Ub)}pure_column_list(){return this.getRuleContext(0,iY)}DEFAULT(){return this.getToken(tf.DEFAULT,0)}VALUES(){return this.getToken(tf.VALUES,0)}get ruleIndex(){return tf.RULE_into_values_source}accept(t){return t.visitInto_values_source?t.visitInto_values_source(this):t.visitChildren(this)}},db=class extends ga{constructor(t,e){super(t,e)}VALUES(){return this.getToken(tf.VALUES,0)}values_source_row_list(){return this.getRuleContext(0,mb)}get ruleIndex(){return tf.RULE_values_stmt}accept(t){return t.visitValues_stmt?t.visitValues_stmt(this):t.visitChildren(this)}},Ub=class extends ga{constructor(t,e){super(t,e)}values_stmt(){return this.getRuleContext(0,db)}select_stmt(){return this.getRuleContext(0,Tw)}get ruleIndex(){return tf.RULE_values_source}accept(t){return t.visitValues_source?t.visitValues_source(this):t.visitChildren(this)}},mb=class extends ga{constructor(t,e){super(t,e)}values_source_row(t){return void 0===t?this.getRuleContexts(Db):this.getRuleContext(t,Db)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_values_source_row_list}accept(t){return t.visitValues_source_row_list?t.visitValues_source_row_list(this):t.visitChildren(this)}},Db=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}expr_list(){return this.getRuleContext(0,rY)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_values_source_row}accept(t){return t.visitValues_source_row?t.visitValues_source_row(this):t.visitChildren(this)}},pb=class extends ga{constructor(t,e){super(t,e)}expr_list(){return this.getRuleContext(0,rY)}select_stmt(){return this.getRuleContext(0,Tw)}get ruleIndex(){return tf.RULE_simple_values_source}accept(t){return t.visitSimple_values_source?t.visitSimple_values_source(this):t.visitChildren(this)}},gb=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(tf.CREATE,0)}EXTERNAL(){return this.getToken(tf.EXTERNAL,0)}DATA(){return this.getToken(tf.DATA,0)}SOURCE(){return this.getToken(tf.SOURCE,0)}object_ref(){return this.getRuleContext(0,PV)}with_table_settings(){return this.getRuleContext(0,$b)}OR(){return this.getToken(tf.OR,0)}REPLACE(){return this.getToken(tf.REPLACE,0)}IF(){return this.getToken(tf.IF,0)}NOT(){return this.getToken(tf.NOT,0)}EXISTS(){return this.getToken(tf.EXISTS,0)}get ruleIndex(){return tf.RULE_create_external_data_source_stmt}accept(t){return t.visitCreate_external_data_source_stmt?t.visitCreate_external_data_source_stmt(this):t.visitChildren(this)}},xb=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}EXTERNAL(){return this.getToken(tf.EXTERNAL,0)}DATA(){return this.getToken(tf.DATA,0)}SOURCE(){return this.getToken(tf.SOURCE,0)}object_ref(){return this.getRuleContext(0,PV)}alter_external_data_source_action(t){return void 0===t?this.getRuleContexts(kb):this.getRuleContext(t,kb)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_alter_external_data_source_stmt}accept(t){return t.visitAlter_external_data_source_stmt?t.visitAlter_external_data_source_stmt(this):t.visitChildren(this)}},kb=class extends ga{constructor(t,e){super(t,e)}alter_table_set_table_setting_uncompat(){return this.getRuleContext(0,SW)}alter_table_set_table_setting_compat(){return this.getRuleContext(0,lW)}alter_table_reset_table_setting(){return this.getRuleContext(0,OW)}get ruleIndex(){return tf.RULE_alter_external_data_source_action}accept(t){return t.visitAlter_external_data_source_action?t.visitAlter_external_data_source_action(this):t.visitChildren(this)}},Hb=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}EXTERNAL(){return this.getToken(tf.EXTERNAL,0)}DATA(){return this.getToken(tf.DATA,0)}SOURCE(){return this.getToken(tf.SOURCE,0)}object_ref(){return this.getRuleContext(0,PV)}IF(){return this.getToken(tf.IF,0)}EXISTS(){return this.getToken(tf.EXISTS,0)}get ruleIndex(){return tf.RULE_drop_external_data_source_stmt}accept(t){return t.visitDrop_external_data_source_stmt?t.visitDrop_external_data_source_stmt(this):t.visitChildren(this)}},Gb=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(tf.CREATE,0)}VIEW(){return this.getToken(tf.VIEW,0)}object_ref(){return this.getRuleContext(0,PV)}with_table_settings(){return this.getRuleContext(0,$b)}AS(){return this.getToken(tf.AS,0)}select_stmt(){return this.getRuleContext(0,Tw)}get ruleIndex(){return tf.RULE_create_view_stmt}accept(t){return t.visitCreate_view_stmt?t.visitCreate_view_stmt(this):t.visitChildren(this)}},Fb=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}VIEW(){return this.getToken(tf.VIEW,0)}object_ref(){return this.getRuleContext(0,PV)}get ruleIndex(){return tf.RULE_drop_view_stmt}accept(t){return t.visitDrop_view_stmt?t.visitDrop_view_stmt(this):t.visitChildren(this)}},vb=class extends ga{constructor(t,e){super(t,e)}UPSERT(){return this.getToken(tf.UPSERT,0)}OBJECT(){return this.getToken(tf.OBJECT,0)}object_ref(){return this.getRuleContext(0,PV)}LPAREN(){return this.getToken(tf.LPAREN,0)}TYPE(){return this.getToken(tf.TYPE,0)}object_type_ref(){return this.getRuleContext(0,Jb)}RPAREN(){return this.getToken(tf.RPAREN,0)}create_object_features(){return this.getRuleContext(0,yb)}get ruleIndex(){return tf.RULE_upsert_object_stmt}accept(t){return t.visitUpsert_object_stmt?t.visitUpsert_object_stmt(this):t.visitChildren(this)}},Bb=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(tf.CREATE,0)}OBJECT(){return this.getToken(tf.OBJECT,0)}object_ref(){return this.getRuleContext(0,PV)}LPAREN(){return this.getToken(tf.LPAREN,0)}TYPE(){return this.getToken(tf.TYPE,0)}object_type_ref(){return this.getRuleContext(0,Jb)}RPAREN(){return this.getToken(tf.RPAREN,0)}IF(){return this.getToken(tf.IF,0)}NOT(){return this.getToken(tf.NOT,0)}EXISTS(){return this.getToken(tf.EXISTS,0)}create_object_features(){return this.getRuleContext(0,yb)}get ruleIndex(){return tf.RULE_create_object_stmt}accept(t){return t.visitCreate_object_stmt?t.visitCreate_object_stmt(this):t.visitChildren(this)}},yb=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(tf.WITH,0)}object_features(){return this.getRuleContext(0,Qb)}get ruleIndex(){return tf.RULE_create_object_features}accept(t){return t.visitCreate_object_features?t.visitCreate_object_features(this):t.visitChildren(this)}},fb=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}OBJECT(){return this.getToken(tf.OBJECT,0)}object_ref(){return this.getRuleContext(0,PV)}LPAREN(){return this.getToken(tf.LPAREN,0)}TYPE(){return this.getToken(tf.TYPE,0)}object_type_ref(){return this.getRuleContext(0,Jb)}RPAREN(){return this.getToken(tf.RPAREN,0)}alter_object_features(){return this.getRuleContext(0,Yb)}get ruleIndex(){return tf.RULE_alter_object_stmt}accept(t){return t.visitAlter_object_stmt?t.visitAlter_object_stmt(this):t.visitChildren(this)}},Yb=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(tf.SET,0)}object_features(){return this.getRuleContext(0,Qb)}get ruleIndex(){return tf.RULE_alter_object_features}accept(t){return t.visitAlter_object_features?t.visitAlter_object_features(this):t.visitChildren(this)}},wb=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}OBJECT(){return this.getToken(tf.OBJECT,0)}object_ref(){return this.getRuleContext(0,PV)}LPAREN(){return this.getToken(tf.LPAREN,0)}TYPE(){return this.getToken(tf.TYPE,0)}object_type_ref(){return this.getRuleContext(0,Jb)}RPAREN(){return this.getToken(tf.RPAREN,0)}IF(){return this.getToken(tf.IF,0)}EXISTS(){return this.getToken(tf.EXISTS,0)}drop_object_features(){return this.getRuleContext(0,bb)}get ruleIndex(){return tf.RULE_drop_object_stmt}accept(t){return t.visitDrop_object_stmt?t.visitDrop_object_stmt(this):t.visitChildren(this)}},bb=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(tf.WITH,0)}object_features(){return this.getRuleContext(0,Qb)}get ruleIndex(){return tf.RULE_drop_object_features}accept(t){return t.visitDrop_object_features?t.visitDrop_object_features(this):t.visitChildren(this)}},Wb=class extends ga{constructor(t,e){super(t,e)}id_or_type(){return this.getRuleContext(0,tK)}bind_parameter(){return this.getRuleContext(0,LY)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_object_feature_value}accept(t){return t.visitObject_feature_value?t.visitObject_feature_value(this):t.visitChildren(this)}},Vb=class extends ga{constructor(t,e){super(t,e)}an_id_or_type(){return this.getRuleContext(0,wX)}EQUALS(){return this.getToken(tf.EQUALS,0)}object_feature_value(){return this.getRuleContext(0,Wb)}get ruleIndex(){return tf.RULE_object_feature_kv}accept(t){return t.visitObject_feature_kv?t.visitObject_feature_kv(this):t.visitChildren(this)}},Xb=class extends ga{constructor(t,e){super(t,e)}an_id_or_type(){return this.getRuleContext(0,wX)}get ruleIndex(){return tf.RULE_object_feature_flag}accept(t){return t.visitObject_feature_flag?t.visitObject_feature_flag(this):t.visitChildren(this)}},Kb=class extends ga{constructor(t,e){super(t,e)}object_feature_kv(){return this.getRuleContext(0,Vb)}object_feature_flag(){return this.getRuleContext(0,Xb)}get ruleIndex(){return tf.RULE_object_feature}accept(t){return t.visitObject_feature?t.visitObject_feature(this):t.visitChildren(this)}},Qb=class extends ga{constructor(t,e){super(t,e)}object_feature(t){return void 0===t?this.getRuleContexts(Kb):this.getRuleContext(t,Kb)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_object_features}accept(t){return t.visitObject_features?t.visitObject_features(this):t.visitChildren(this)}},Jb=class extends ga{constructor(t,e){super(t,e)}an_id_or_type(){return this.getRuleContext(0,wX)}get ruleIndex(){return tf.RULE_object_type_ref}accept(t){return t.visitObject_type_ref?t.visitObject_type_ref(this):t.visitChildren(this)}},Zb=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(tf.CREATE,0)}simple_table_ref(){return this.getRuleContext(0,dV)}LPAREN(){return this.getToken(tf.LPAREN,0)}create_table_entry(t){return void 0===t?this.getRuleContexts(qb):this.getRuleContext(t,qb)}RPAREN(){return this.getToken(tf.RPAREN,0)}TABLE(){return this.getToken(tf.TABLE,0)}TABLESTORE(){return this.getToken(tf.TABLESTORE,0)}EXTERNAL(){return this.getToken(tf.EXTERNAL,0)}TEMP(){return this.getToken(tf.TEMP,0)}TEMPORARY(){return this.getToken(tf.TEMPORARY,0)}OR(){return this.getToken(tf.OR,0)}REPLACE(){return this.getToken(tf.REPLACE,0)}IF(){return this.getToken(tf.IF,0)}NOT(){return this.getToken(tf.NOT,0)}EXISTS(){return this.getToken(tf.EXISTS,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}table_inherits(){return this.getRuleContext(0,jb)}table_partition_by(){return this.getRuleContext(0,zb)}with_table_settings(){return this.getRuleContext(0,$b)}table_tablestore(){return this.getRuleContext(0,tW)}table_as_source(){return this.getRuleContext(0,sW)}get ruleIndex(){return tf.RULE_create_table_stmt}accept(t){return t.visitCreate_table_stmt?t.visitCreate_table_stmt(this):t.visitChildren(this)}},qb=class extends ga{constructor(t,e){super(t,e)}column_schema(){return this.getRuleContext(0,MW)}table_constraint(){return this.getRuleContext(0,DW)}table_index(){return this.getRuleContext(0,pW)}family_entry(){return this.getRuleContext(0,YW)}changefeed(){return this.getRuleContext(0,HW)}an_id_schema(){return this.getRuleContext(0,bX)}get ruleIndex(){return tf.RULE_create_table_entry}accept(t){return t.visitCreate_table_entry?t.visitCreate_table_entry(this):t.visitChildren(this)}},jb=class extends ga{constructor(t,e){super(t,e)}INHERITS(){return this.getToken(tf.INHERITS,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}simple_table_ref_core(t){return void 0===t?this.getRuleContexts(MV):this.getRuleContext(t,MV)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_table_inherits}accept(t){return t.visitTable_inherits?t.visitTable_inherits(this):t.visitChildren(this)}},zb=class extends ga{constructor(t,e){super(t,e)}PARTITION(){return this.getToken(tf.PARTITION,0)}BY(){return this.getToken(tf.BY,0)}HASH(){return this.getToken(tf.HASH,0)}pure_column_list(){return this.getRuleContext(0,iY)}get ruleIndex(){return tf.RULE_table_partition_by}accept(t){return t.visitTable_partition_by?t.visitTable_partition_by(this):t.visitChildren(this)}},$b=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(tf.WITH,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}table_settings_entry(t){return void 0===t?this.getRuleContexts(eW):this.getRuleContext(t,eW)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_with_table_settings}accept(t){return t.visitWith_table_settings?t.visitWith_table_settings(this):t.visitChildren(this)}},tW=class extends ga{constructor(t,e){super(t,e)}TABLESTORE(){return this.getToken(tf.TABLESTORE,0)}simple_table_ref_core(){return this.getRuleContext(0,MV)}get ruleIndex(){return tf.RULE_table_tablestore}accept(t){return t.visitTable_tablestore?t.visitTable_tablestore(this):t.visitChildren(this)}},eW=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}EQUALS(){return this.getToken(tf.EQUALS,0)}table_setting_value(){return this.getRuleContext(0,fW)}get ruleIndex(){return tf.RULE_table_settings_entry}accept(t){return t.visitTable_settings_entry?t.visitTable_settings_entry(this):t.visitChildren(this)}},sW=class extends ga{constructor(t,e){super(t,e)}AS(){return this.getToken(tf.AS,0)}values_source(){return this.getRuleContext(0,Ub)}get ruleIndex(){return tf.RULE_table_as_source}accept(t){return t.visitTable_as_source?t.visitTable_as_source(this):t.visitChildren(this)}},aW=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}TABLE(){return this.getToken(tf.TABLE,0)}simple_table_ref(){return this.getRuleContext(0,dV)}alter_table_action(t){return void 0===t?this.getRuleContexts(rW):this.getRuleContext(t,rW)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_alter_table_stmt}accept(t){return t.visitAlter_table_stmt?t.visitAlter_table_stmt(this):t.visitChildren(this)}},rW=class extends ga{constructor(t,e){super(t,e)}alter_table_add_column(){return this.getRuleContext(0,EW)}alter_table_drop_column(){return this.getRuleContext(0,TW)}alter_table_alter_column(){return this.getRuleContext(0,oW)}alter_table_add_column_family(){return this.getRuleContext(0,RW)}alter_table_alter_column_family(){return this.getRuleContext(0,AW)}alter_table_set_table_setting_uncompat(){return this.getRuleContext(0,SW)}alter_table_set_table_setting_compat(){return this.getRuleContext(0,lW)}alter_table_reset_table_setting(){return this.getRuleContext(0,OW)}alter_table_add_index(){return this.getRuleContext(0,IW)}alter_table_drop_index(){return this.getRuleContext(0,uW)}alter_table_rename_to(){return this.getRuleContext(0,NW)}alter_table_add_changefeed(){return this.getRuleContext(0,CW)}alter_table_alter_changefeed(){return this.getRuleContext(0,_W)}alter_table_drop_changefeed(){return this.getRuleContext(0,PW)}alter_table_rename_index_to(){return this.getRuleContext(0,LW)}get ruleIndex(){return tf.RULE_alter_table_action}accept(t){return t.visitAlter_table_action?t.visitAlter_table_action(this):t.visitChildren(this)}},iW=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}EXTERNAL(){return this.getToken(tf.EXTERNAL,0)}TABLE(){return this.getToken(tf.TABLE,0)}simple_table_ref(){return this.getRuleContext(0,dV)}alter_external_table_action(t){return void 0===t?this.getRuleContexts(cW):this.getRuleContext(t,cW)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_alter_external_table_stmt}accept(t){return t.visitAlter_external_table_stmt?t.visitAlter_external_table_stmt(this):t.visitChildren(this)}},cW=class extends ga{constructor(t,e){super(t,e)}alter_table_add_column(){return this.getRuleContext(0,EW)}alter_table_drop_column(){return this.getRuleContext(0,TW)}alter_table_set_table_setting_uncompat(){return this.getRuleContext(0,SW)}alter_table_set_table_setting_compat(){return this.getRuleContext(0,lW)}alter_table_reset_table_setting(){return this.getRuleContext(0,OW)}get ruleIndex(){return tf.RULE_alter_external_table_action}accept(t){return t.visitAlter_external_table_action?t.visitAlter_external_table_action(this):t.visitChildren(this)}},nW=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}TABLESTORE(){return this.getToken(tf.TABLESTORE,0)}object_ref(){return this.getRuleContext(0,PV)}alter_table_store_action(t){return void 0===t?this.getRuleContexts(hW):this.getRuleContext(t,hW)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_alter_table_store_stmt}accept(t){return t.visitAlter_table_store_stmt?t.visitAlter_table_store_stmt(this):t.visitChildren(this)}},hW=class extends ga{constructor(t,e){super(t,e)}alter_table_add_column(){return this.getRuleContext(0,EW)}alter_table_drop_column(){return this.getRuleContext(0,TW)}get ruleIndex(){return tf.RULE_alter_table_store_action}accept(t){return t.visitAlter_table_store_action?t.visitAlter_table_store_action(this):t.visitChildren(this)}},EW=class extends ga{constructor(t,e){super(t,e)}ADD(){return this.getToken(tf.ADD,0)}column_schema(){return this.getRuleContext(0,MW)}COLUMN(){return this.getToken(tf.COLUMN,0)}get ruleIndex(){return tf.RULE_alter_table_add_column}accept(t){return t.visitAlter_table_add_column?t.visitAlter_table_add_column(this):t.visitChildren(this)}},TW=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}an_id(){return this.getRuleContext(0,YX)}COLUMN(){return this.getToken(tf.COLUMN,0)}get ruleIndex(){return tf.RULE_alter_table_drop_column}accept(t){return t.visitAlter_table_drop_column?t.visitAlter_table_drop_column(this):t.visitChildren(this)}},oW=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}COLUMN(){return this.getToken(tf.COLUMN,0)}an_id(){return this.getRuleContext(0,YX)}SET(){return this.getToken(tf.SET,0)}family_relation(){return this.getRuleContext(0,dW)}get ruleIndex(){return tf.RULE_alter_table_alter_column}accept(t){return t.visitAlter_table_alter_column?t.visitAlter_table_alter_column(this):t.visitChildren(this)}},RW=class extends ga{constructor(t,e){super(t,e)}ADD(){return this.getToken(tf.ADD,0)}family_entry(){return this.getRuleContext(0,YW)}get ruleIndex(){return tf.RULE_alter_table_add_column_family}accept(t){return t.visitAlter_table_add_column_family?t.visitAlter_table_add_column_family(this):t.visitChildren(this)}},AW=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}FAMILY(){return this.getToken(tf.FAMILY,0)}an_id(t){return void 0===t?this.getRuleContexts(YX):this.getRuleContext(t,YX)}SET(){return this.getToken(tf.SET,0)}family_setting_value(){return this.getRuleContext(0,WW)}get ruleIndex(){return tf.RULE_alter_table_alter_column_family}accept(t){return t.visitAlter_table_alter_column_family?t.visitAlter_table_alter_column_family(this):t.visitChildren(this)}},SW=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(tf.SET,0)}an_id(){return this.getRuleContext(0,YX)}table_setting_value(){return this.getRuleContext(0,fW)}get ruleIndex(){return tf.RULE_alter_table_set_table_setting_uncompat}accept(t){return t.visitAlter_table_set_table_setting_uncompat?t.visitAlter_table_set_table_setting_uncompat(this):t.visitChildren(this)}},lW=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(tf.SET,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}alter_table_setting_entry(t){return void 0===t?this.getRuleContexts(yW):this.getRuleContext(t,yW)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_alter_table_set_table_setting_compat}accept(t){return t.visitAlter_table_set_table_setting_compat?t.visitAlter_table_set_table_setting_compat(this):t.visitChildren(this)}},OW=class extends ga{constructor(t,e){super(t,e)}RESET(){return this.getToken(tf.RESET,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}an_id(t){return void 0===t?this.getRuleContexts(YX):this.getRuleContext(t,YX)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_alter_table_reset_table_setting}accept(t){return t.visitAlter_table_reset_table_setting?t.visitAlter_table_reset_table_setting(this):t.visitChildren(this)}},IW=class extends ga{constructor(t,e){super(t,e)}ADD(){return this.getToken(tf.ADD,0)}table_index(){return this.getRuleContext(0,pW)}get ruleIndex(){return tf.RULE_alter_table_add_index}accept(t){return t.visitAlter_table_add_index?t.visitAlter_table_add_index(this):t.visitChildren(this)}},uW=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}INDEX(){return this.getToken(tf.INDEX,0)}an_id(){return this.getRuleContext(0,YX)}get ruleIndex(){return tf.RULE_alter_table_drop_index}accept(t){return t.visitAlter_table_drop_index?t.visitAlter_table_drop_index(this):t.visitChildren(this)}},NW=class extends ga{constructor(t,e){super(t,e)}RENAME(){return this.getToken(tf.RENAME,0)}TO(){return this.getToken(tf.TO,0)}an_id_table(){return this.getRuleContext(0,KX)}get ruleIndex(){return tf.RULE_alter_table_rename_to}accept(t){return t.visitAlter_table_rename_to?t.visitAlter_table_rename_to(this):t.visitChildren(this)}},LW=class extends ga{constructor(t,e){super(t,e)}RENAME(){return this.getToken(tf.RENAME,0)}INDEX(){return this.getToken(tf.INDEX,0)}an_id(t){return void 0===t?this.getRuleContexts(YX):this.getRuleContext(t,YX)}TO(){return this.getToken(tf.TO,0)}get ruleIndex(){return tf.RULE_alter_table_rename_index_to}accept(t){return t.visitAlter_table_rename_index_to?t.visitAlter_table_rename_index_to(this):t.visitChildren(this)}},CW=class extends ga{constructor(t,e){super(t,e)}ADD(){return this.getToken(tf.ADD,0)}changefeed(){return this.getRuleContext(0,HW)}get ruleIndex(){return tf.RULE_alter_table_add_changefeed}accept(t){return t.visitAlter_table_add_changefeed?t.visitAlter_table_add_changefeed(this):t.visitChildren(this)}},_W=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}CHANGEFEED(){return this.getToken(tf.CHANGEFEED,0)}an_id(){return this.getRuleContext(0,YX)}changefeed_alter_settings(){return this.getRuleContext(0,BW)}get ruleIndex(){return tf.RULE_alter_table_alter_changefeed}accept(t){return t.visitAlter_table_alter_changefeed?t.visitAlter_table_alter_changefeed(this):t.visitChildren(this)}},PW=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}CHANGEFEED(){return this.getToken(tf.CHANGEFEED,0)}an_id(){return this.getRuleContext(0,YX)}get ruleIndex(){return tf.RULE_alter_table_drop_changefeed}accept(t){return t.visitAlter_table_drop_changefeed?t.visitAlter_table_drop_changefeed(this):t.visitChildren(this)}},MW=class extends ga{constructor(t,e){super(t,e)}an_id_schema(){return this.getRuleContext(0,bX)}type_name_or_bind(){return this.getRuleContext(0,qY)}opt_column_constraints(){return this.getRuleContext(0,UW)}family_relation(){return this.getRuleContext(0,dW)}get ruleIndex(){return tf.RULE_column_schema}accept(t){return t.visitColumn_schema?t.visitColumn_schema(this):t.visitChildren(this)}},dW=class extends ga{constructor(t,e){super(t,e)}FAMILY(){return this.getToken(tf.FAMILY,0)}an_id(){return this.getRuleContext(0,YX)}get ruleIndex(){return tf.RULE_family_relation}accept(t){return t.visitFamily_relation?t.visitFamily_relation(this):t.visitChildren(this)}},UW=class extends ga{constructor(t,e){super(t,e)}NULL(){return this.getToken(tf.NULL,0)}DEFAULT(){return this.getToken(tf.DEFAULT,0)}expr(){return this.getRuleContext(0,Ef)}NOT(){return this.getToken(tf.NOT,0)}get ruleIndex(){return tf.RULE_opt_column_constraints}accept(t){return t.visitOpt_column_constraints?t.visitOpt_column_constraints(this):t.visitChildren(this)}},mW=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}ASC(){return this.getToken(tf.ASC,0)}DESC(){return this.getToken(tf.DESC,0)}get ruleIndex(){return tf.RULE_column_order_by_specification}accept(t){return t.visitColumn_order_by_specification?t.visitColumn_order_by_specification(this):t.visitChildren(this)}},DW=class extends ga{constructor(t,e){super(t,e)}PRIMARY(){return this.getToken(tf.PRIMARY,0)}KEY(){return this.getToken(tf.KEY,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}an_id(t){return void 0===t?this.getRuleContexts(YX):this.getRuleContext(t,YX)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}PARTITION(){return this.getToken(tf.PARTITION,0)}BY(){return this.getToken(tf.BY,0)}ORDER(){return this.getToken(tf.ORDER,0)}column_order_by_specification(t){return void 0===t?this.getRuleContexts(mW):this.getRuleContext(t,mW)}get ruleIndex(){return tf.RULE_table_constraint}accept(t){return t.visitTable_constraint?t.visitTable_constraint(this):t.visitChildren(this)}},pW=class extends ga{constructor(t,e){super(t,e)}INDEX(){return this.getToken(tf.INDEX,0)}an_id(t){return void 0===t?this.getRuleContexts(YX):this.getRuleContext(t,YX)}table_index_type(){return this.getRuleContext(0,gW)}ON(){return this.getToken(tf.ON,0)}LPAREN(t){return void 0===t?this.getTokens(tf.LPAREN):this.getToken(tf.LPAREN,t)}an_id_schema(t){return void 0===t?this.getRuleContexts(bX):this.getRuleContext(t,bX)}RPAREN(t){return void 0===t?this.getTokens(tf.RPAREN):this.getToken(tf.RPAREN,t)}WITH(){return this.getToken(tf.WITH,0)}EQUALS(t){return void 0===t?this.getTokens(tf.EQUALS):this.getToken(tf.EQUALS,t)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}COVER(){return this.getToken(tf.COVER,0)}get ruleIndex(){return tf.RULE_table_index}accept(t){return t.visitTable_index?t.visitTable_index(this):t.visitChildren(this)}},gW=class extends ga{constructor(t,e){super(t,e)}global_index(){return this.getRuleContext(0,xW)}local_index(){return this.getRuleContext(0,kW)}get ruleIndex(){return tf.RULE_table_index_type}accept(t){return t.visitTable_index_type?t.visitTable_index_type(this):t.visitChildren(this)}},xW=class extends ga{constructor(t,e){super(t,e)}GLOBAL(){return this.getToken(tf.GLOBAL,0)}UNIQUE(){return this.getToken(tf.UNIQUE,0)}SYNC(){return this.getToken(tf.SYNC,0)}ASYNC(){return this.getToken(tf.ASYNC,0)}get ruleIndex(){return tf.RULE_global_index}accept(t){return t.visitGlobal_index?t.visitGlobal_index(this):t.visitChildren(this)}},kW=class extends ga{constructor(t,e){super(t,e)}LOCAL(){return this.getToken(tf.LOCAL,0)}get ruleIndex(){return tf.RULE_local_index}accept(t){return t.visitLocal_index?t.visitLocal_index(this):t.visitChildren(this)}},HW=class extends ga{constructor(t,e){super(t,e)}CHANGEFEED(){return this.getToken(tf.CHANGEFEED,0)}an_id(){return this.getRuleContext(0,YX)}WITH(){return this.getToken(tf.WITH,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}changefeed_settings(){return this.getRuleContext(0,GW)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_changefeed}accept(t){return t.visitChangefeed?t.visitChangefeed(this):t.visitChildren(this)}},GW=class extends ga{constructor(t,e){super(t,e)}changefeed_settings_entry(t){return void 0===t?this.getRuleContexts(FW):this.getRuleContext(t,FW)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_changefeed_settings}accept(t){return t.visitChangefeed_settings?t.visitChangefeed_settings(this):t.visitChildren(this)}},FW=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}EQUALS(){return this.getToken(tf.EQUALS,0)}changefeed_setting_value(){return this.getRuleContext(0,vW)}get ruleIndex(){return tf.RULE_changefeed_settings_entry}accept(t){return t.visitChangefeed_settings_entry?t.visitChangefeed_settings_entry(this):t.visitChildren(this)}},vW=class extends ga{constructor(t,e){super(t,e)}expr(){return this.getRuleContext(0,Ef)}get ruleIndex(){return tf.RULE_changefeed_setting_value}accept(t){return t.visitChangefeed_setting_value?t.visitChangefeed_setting_value(this):t.visitChildren(this)}},BW=class extends ga{constructor(t,e){super(t,e)}DISABLE(){return this.getToken(tf.DISABLE,0)}SET(){return this.getToken(tf.SET,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}changefeed_settings(){return this.getRuleContext(0,GW)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_changefeed_alter_settings}accept(t){return t.visitChangefeed_alter_settings?t.visitChangefeed_alter_settings(this):t.visitChildren(this)}},yW=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}EQUALS(){return this.getToken(tf.EQUALS,0)}table_setting_value(){return this.getRuleContext(0,fW)}get ruleIndex(){return tf.RULE_alter_table_setting_entry}accept(t){return t.visitAlter_table_setting_entry?t.visitAlter_table_setting_entry(this):t.visitChildren(this)}},fW=class extends ga{constructor(t,e){super(t,e)}id(){return this.getRuleContext(0,xX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}integer(){return this.getRuleContext(0,uK)}split_boundaries(){return this.getRuleContext(0,VW)}expr(){return this.getRuleContext(0,Ef)}ON(){return this.getToken(tf.ON,0)}an_id(){return this.getRuleContext(0,YX)}AS(){return this.getToken(tf.AS,0)}SECONDS(){return this.getToken(tf.SECONDS,0)}MILLISECONDS(){return this.getToken(tf.MILLISECONDS,0)}MICROSECONDS(){return this.getToken(tf.MICROSECONDS,0)}NANOSECONDS(){return this.getToken(tf.NANOSECONDS,0)}bool_value(){return this.getRuleContext(0,OK)}get ruleIndex(){return tf.RULE_table_setting_value}accept(t){return t.visitTable_setting_value?t.visitTable_setting_value(this):t.visitChildren(this)}},YW=class extends ga{constructor(t,e){super(t,e)}FAMILY(){return this.getToken(tf.FAMILY,0)}an_id(){return this.getRuleContext(0,YX)}family_settings(){return this.getRuleContext(0,wW)}get ruleIndex(){return tf.RULE_family_entry}accept(t){return t.visitFamily_entry?t.visitFamily_entry(this):t.visitChildren(this)}},wW=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}family_settings_entry(t){return void 0===t?this.getRuleContexts(bW):this.getRuleContext(t,bW)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_family_settings}accept(t){return t.visitFamily_settings?t.visitFamily_settings(this):t.visitChildren(this)}},bW=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}EQUALS(){return this.getToken(tf.EQUALS,0)}family_setting_value(){return this.getRuleContext(0,WW)}get ruleIndex(){return tf.RULE_family_settings_entry}accept(t){return t.visitFamily_settings_entry?t.visitFamily_settings_entry(this):t.visitChildren(this)}},WW=class extends ga{constructor(t,e){super(t,e)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_family_setting_value}accept(t){return t.visitFamily_setting_value?t.visitFamily_setting_value(this):t.visitChildren(this)}},VW=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}literal_value_list(t){return void 0===t?this.getRuleContexts(XW):this.getRuleContext(t,XW)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_split_boundaries}accept(t){return t.visitSplit_boundaries?t.visitSplit_boundaries(this):t.visitChildren(this)}},XW=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}literal_value(t){return void 0===t?this.getRuleContexts(NY):this.getRuleContext(t,NY)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_literal_value_list}accept(t){return t.visitLiteral_value_list?t.visitLiteral_value_list(this):t.visitChildren(this)}},KW=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}simple_table_ref(){return this.getRuleContext(0,dV)}TABLE(){return this.getToken(tf.TABLE,0)}TABLESTORE(){return this.getToken(tf.TABLESTORE,0)}EXTERNAL(){return this.getToken(tf.EXTERNAL,0)}IF(){return this.getToken(tf.IF,0)}EXISTS(){return this.getToken(tf.EXISTS,0)}get ruleIndex(){return tf.RULE_drop_table_stmt}accept(t){return t.visitDrop_table_stmt?t.visitDrop_table_stmt(this):t.visitChildren(this)}},QW=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(tf.CREATE,0)}USER(){return this.getToken(tf.USER,0)}role_name(){return this.getRuleContext(0,zW)}create_user_option(){return this.getRuleContext(0,$W)}get ruleIndex(){return tf.RULE_create_user_stmt}accept(t){return t.visitCreate_user_stmt?t.visitCreate_user_stmt(this):t.visitChildren(this)}},JW=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}USER(){return this.getToken(tf.USER,0)}role_name(t){return void 0===t?this.getRuleContexts(zW):this.getRuleContext(t,zW)}create_user_option(){return this.getRuleContext(0,$W)}RENAME(){return this.getToken(tf.RENAME,0)}TO(){return this.getToken(tf.TO,0)}WITH(){return this.getToken(tf.WITH,0)}get ruleIndex(){return tf.RULE_alter_user_stmt}accept(t){return t.visitAlter_user_stmt?t.visitAlter_user_stmt(this):t.visitChildren(this)}},ZW=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(tf.CREATE,0)}GROUP(){return this.getToken(tf.GROUP,0)}role_name(t){return void 0===t?this.getRuleContexts(zW):this.getRuleContext(t,zW)}WITH(){return this.getToken(tf.WITH,0)}USER(){return this.getToken(tf.USER,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_create_group_stmt}accept(t){return t.visitCreate_group_stmt?t.visitCreate_group_stmt(this):t.visitChildren(this)}},qW=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}GROUP(){return this.getToken(tf.GROUP,0)}role_name(t){return void 0===t?this.getRuleContexts(zW):this.getRuleContext(t,zW)}USER(){return this.getToken(tf.USER,0)}RENAME(){return this.getToken(tf.RENAME,0)}TO(){return this.getToken(tf.TO,0)}ADD(){return this.getToken(tf.ADD,0)}DROP(){return this.getToken(tf.DROP,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_alter_group_stmt}accept(t){return t.visitAlter_group_stmt?t.visitAlter_group_stmt(this):t.visitChildren(this)}},jW=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}role_name(t){return void 0===t?this.getRuleContexts(zW):this.getRuleContext(t,zW)}USER(){return this.getToken(tf.USER,0)}GROUP(){return this.getToken(tf.GROUP,0)}IF(){return this.getToken(tf.IF,0)}EXISTS(){return this.getToken(tf.EXISTS,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_drop_role_stmt}accept(t){return t.visitDrop_role_stmt?t.visitDrop_role_stmt(this):t.visitChildren(this)}},zW=class extends ga{constructor(t,e){super(t,e)}an_id_or_type(){return this.getRuleContext(0,wX)}bind_parameter(){return this.getRuleContext(0,LY)}get ruleIndex(){return tf.RULE_role_name}accept(t){return t.visitRole_name?t.visitRole_name(this):t.visitChildren(this)}},$W=class extends ga{constructor(t,e){super(t,e)}PASSWORD(){return this.getToken(tf.PASSWORD,0)}expr(){return this.getRuleContext(0,Ef)}ENCRYPTED(){return this.getToken(tf.ENCRYPTED,0)}get ruleIndex(){return tf.RULE_create_user_option}accept(t){return t.visitCreate_user_option?t.visitCreate_user_option(this):t.visitChildren(this)}},tV=class extends ga{constructor(t,e){super(t,e)}GRANT(t){return void 0===t?this.getTokens(tf.GRANT):this.getToken(tf.GRANT,t)}permission_name_target(){return this.getRuleContext(0,rV)}ON(){return this.getToken(tf.ON,0)}an_id_schema(t){return void 0===t?this.getRuleContexts(bX):this.getRuleContext(t,bX)}TO(){return this.getToken(tf.TO,0)}role_name(t){return void 0===t?this.getRuleContexts(zW):this.getRuleContext(t,zW)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}WITH(){return this.getToken(tf.WITH,0)}OPTION(){return this.getToken(tf.OPTION,0)}get ruleIndex(){return tf.RULE_grant_permissions_stmt}accept(t){return t.visitGrant_permissions_stmt?t.visitGrant_permissions_stmt(this):t.visitChildren(this)}},eV=class extends ga{constructor(t,e){super(t,e)}REVOKE(){return this.getToken(tf.REVOKE,0)}permission_name_target(){return this.getRuleContext(0,rV)}ON(){return this.getToken(tf.ON,0)}an_id_schema(t){return void 0===t?this.getRuleContexts(bX):this.getRuleContext(t,bX)}FROM(){return this.getToken(tf.FROM,0)}role_name(t){return void 0===t?this.getRuleContexts(zW):this.getRuleContext(t,zW)}GRANT(){return this.getToken(tf.GRANT,0)}OPTION(){return this.getToken(tf.OPTION,0)}FOR(){return this.getToken(tf.FOR,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_revoke_permissions_stmt}accept(t){return t.visitRevoke_permissions_stmt?t.visitRevoke_permissions_stmt(this):t.visitChildren(this)}},sV=class extends ga{constructor(t,e){super(t,e)}CONNECT(){return this.getToken(tf.CONNECT,0)}LIST(){return this.getToken(tf.LIST,0)}INSERT(){return this.getToken(tf.INSERT,0)}MANAGE(){return this.getToken(tf.MANAGE,0)}DROP(){return this.getToken(tf.DROP,0)}GRANT(){return this.getToken(tf.GRANT,0)}MODIFY(){return this.getToken(tf.MODIFY,0)}TABLES(){return this.getToken(tf.TABLES,0)}ATTRIBUTES(){return this.getToken(tf.ATTRIBUTES,0)}ROW(){return this.getToken(tf.ROW,0)}UPDATE(){return this.getToken(tf.UPDATE,0)}ERASE(){return this.getToken(tf.ERASE,0)}SCHEMA(){return this.getToken(tf.SCHEMA,0)}REMOVE(){return this.getToken(tf.REMOVE,0)}DESCRIBE(){return this.getToken(tf.DESCRIBE,0)}ALTER(){return this.getToken(tf.ALTER,0)}SELECT(){return this.getToken(tf.SELECT,0)}USE(){return this.getToken(tf.USE,0)}FULL(){return this.getToken(tf.FULL,0)}LEGACY(){return this.getToken(tf.LEGACY,0)}CREATE(){return this.getToken(tf.CREATE,0)}DIRECTORY(){return this.getToken(tf.DIRECTORY,0)}TABLE(){return this.getToken(tf.TABLE,0)}QUEUE(){return this.getToken(tf.QUEUE,0)}get ruleIndex(){return tf.RULE_permission_id}accept(t){return t.visitPermission_id?t.visitPermission_id(this):t.visitChildren(this)}},aV=class extends ga{constructor(t,e){super(t,e)}permission_id(){return this.getRuleContext(0,sV)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_permission_name}accept(t){return t.visitPermission_name?t.visitPermission_name(this):t.visitChildren(this)}},rV=class extends ga{constructor(t,e){super(t,e)}permission_name(t){return void 0===t?this.getRuleContexts(aV):this.getRuleContext(t,aV)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}ALL(){return this.getToken(tf.ALL,0)}PRIVILEGES(){return this.getToken(tf.PRIVILEGES,0)}get ruleIndex(){return tf.RULE_permission_name_target}accept(t){return t.visitPermission_name_target?t.visitPermission_name_target(this):t.visitChildren(this)}},iV=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(tf.CREATE,0)}ASYNC(){return this.getToken(tf.ASYNC,0)}REPLICATION(){return this.getToken(tf.REPLICATION,0)}object_ref(){return this.getRuleContext(0,PV)}FOR(){return this.getToken(tf.FOR,0)}replication_target(t){return void 0===t?this.getRuleContexts(cV):this.getRuleContext(t,cV)}WITH(){return this.getToken(tf.WITH,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}replication_settings(){return this.getRuleContext(0,nV)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_create_replication_stmt}accept(t){return t.visitCreate_replication_stmt?t.visitCreate_replication_stmt(this):t.visitChildren(this)}},cV=class extends ga{constructor(t,e){super(t,e)}object_ref(){return this.getRuleContext(0,PV)}replication_name(){return this.getRuleContext(0,PK)}get ruleIndex(){return tf.RULE_replication_target}accept(t){return t.visitReplication_target?t.visitReplication_target(this):t.visitChildren(this)}},nV=class extends ga{constructor(t,e){super(t,e)}replication_settings_entry(t){return void 0===t?this.getRuleContexts(hV):this.getRuleContext(t,hV)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_replication_settings}accept(t){return t.visitReplication_settings?t.visitReplication_settings(this):t.visitChildren(this)}},hV=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}EQUALS(){return this.getToken(tf.EQUALS,0)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_replication_settings_entry}accept(t){return t.visitReplication_settings_entry?t.visitReplication_settings_entry(this):t.visitChildren(this)}},EV=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}ASYNC(){return this.getToken(tf.ASYNC,0)}REPLICATION(){return this.getToken(tf.REPLICATION,0)}object_ref(){return this.getRuleContext(0,PV)}alter_replication_action(t){return void 0===t?this.getRuleContexts(TV):this.getRuleContext(t,TV)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_alter_replication_stmt}accept(t){return t.visitAlter_replication_stmt?t.visitAlter_replication_stmt(this):t.visitChildren(this)}},TV=class extends ga{constructor(t,e){super(t,e)}alter_replication_set_setting(){return this.getRuleContext(0,oV)}get ruleIndex(){return tf.RULE_alter_replication_action}accept(t){return t.visitAlter_replication_action?t.visitAlter_replication_action(this):t.visitChildren(this)}},oV=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(tf.SET,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}replication_settings(){return this.getRuleContext(0,nV)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_alter_replication_set_setting}accept(t){return t.visitAlter_replication_set_setting?t.visitAlter_replication_set_setting(this):t.visitChildren(this)}},RV=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}ASYNC(){return this.getToken(tf.ASYNC,0)}REPLICATION(){return this.getToken(tf.REPLICATION,0)}object_ref(){return this.getRuleContext(0,PV)}CASCADE(){return this.getToken(tf.CASCADE,0)}get ruleIndex(){return tf.RULE_drop_replication_stmt}accept(t){return t.visitDrop_replication_stmt?t.visitDrop_replication_stmt(this):t.visitChildren(this)}},AV=class extends ga{constructor(t,e){super(t,e)}opt_bind_parameter(t){return void 0===t?this.getRuleContexts(CY):this.getRuleContext(t,CY)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_action_or_subquery_args}accept(t){return t.visitAction_or_subquery_args?t.visitAction_or_subquery_args(this):t.visitChildren(this)}},SV=class extends ga{constructor(t,e){super(t,e)}DEFINE(t){return void 0===t?this.getTokens(tf.DEFINE):this.getToken(tf.DEFINE,t)}bind_parameter(){return this.getRuleContext(0,LY)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}AS(){return this.getToken(tf.AS,0)}define_action_or_subquery_body(){return this.getRuleContext(0,lV)}END(){return this.getToken(tf.END,0)}ACTION(){return this.getToken(tf.ACTION,0)}SUBQUERY(){return this.getToken(tf.SUBQUERY,0)}action_or_subquery_args(){return this.getRuleContext(0,AV)}get ruleIndex(){return tf.RULE_define_action_or_subquery_stmt}accept(t){return t.visitDefine_action_or_subquery_stmt?t.visitDefine_action_or_subquery_stmt(this):t.visitChildren(this)}},lV=class extends ga{constructor(t,e){super(t,e)}SEMICOLON(t){return void 0===t?this.getTokens(tf.SEMICOLON):this.getToken(tf.SEMICOLON,t)}sql_stmt_core(t){return void 0===t?this.getRuleContexts(hf):this.getRuleContext(t,hf)}get ruleIndex(){return tf.RULE_define_action_or_subquery_body}accept(t){return t.visitDefine_action_or_subquery_body?t.visitDefine_action_or_subquery_body(this):t.visitChildren(this)}},OV=class extends ga{constructor(t,e){super(t,e)}IF(){return this.getToken(tf.IF,0)}expr(){return this.getRuleContext(0,Ef)}do_stmt(t){return void 0===t?this.getRuleContexts(iw):this.getRuleContext(t,iw)}EVALUATE(){return this.getToken(tf.EVALUATE,0)}ELSE(){return this.getToken(tf.ELSE,0)}get ruleIndex(){return tf.RULE_if_stmt}accept(t){return t.visitIf_stmt?t.visitIf_stmt(this):t.visitChildren(this)}},IV=class extends ga{constructor(t,e){super(t,e)}FOR(){return this.getToken(tf.FOR,0)}bind_parameter(){return this.getRuleContext(0,LY)}IN(){return this.getToken(tf.IN,0)}expr(){return this.getRuleContext(0,Ef)}do_stmt(t){return void 0===t?this.getRuleContexts(iw):this.getRuleContext(t,iw)}EVALUATE(){return this.getToken(tf.EVALUATE,0)}PARALLEL(){return this.getToken(tf.PARALLEL,0)}ELSE(){return this.getToken(tf.ELSE,0)}get ruleIndex(){return tf.RULE_for_stmt}accept(t){return t.visitFor_stmt?t.visitFor_stmt(this):t.visitChildren(this)}},uV=class extends ga{constructor(t,e){super(t,e)}table_key(){return this.getRuleContext(0,NV)}an_id_expr(){return this.getRuleContext(0,WX)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}bind_parameter(){return this.getRuleContext(0,LY)}cluster_expr(){return this.getRuleContext(0,$X)}DOT(){return this.getToken(tf.DOT,0)}AT(){return this.getToken(tf.AT,0)}table_hints(){return this.getRuleContext(0,CV)}table_arg(t){return void 0===t?this.getRuleContexts(LV):this.getRuleContext(t,LV)}VIEW(){return this.getToken(tf.VIEW,0)}view_name(){return this.getRuleContext(0,jX)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}expr_list(){return this.getRuleContext(0,rY)}get ruleIndex(){return tf.RULE_table_ref}accept(t){return t.visitTable_ref?t.visitTable_ref(this):t.visitChildren(this)}},NV=class extends ga{constructor(t,e){super(t,e)}id_table_or_type(){return this.getRuleContext(0,aK)}VIEW(){return this.getToken(tf.VIEW,0)}view_name(){return this.getRuleContext(0,jX)}get ruleIndex(){return tf.RULE_table_key}accept(t){return t.visitTable_key?t.visitTable_key(this):t.visitChildren(this)}},LV=class extends ga{constructor(t,e){super(t,e)}named_expr(){return this.getRuleContext(0,RY)}AT(){return this.getToken(tf.AT,0)}VIEW(){return this.getToken(tf.VIEW,0)}view_name(){return this.getRuleContext(0,jX)}get ruleIndex(){return tf.RULE_table_arg}accept(t){return t.visitTable_arg?t.visitTable_arg(this):t.visitChildren(this)}},CV=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(tf.WITH,0)}table_hint(t){return void 0===t?this.getRuleContexts(_V):this.getRuleContext(t,_V)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_table_hints}accept(t){return t.visitTable_hints?t.visitTable_hints(this):t.visitChildren(this)}},_V=class extends ga{constructor(t,e){super(t,e)}an_id_hint(){return this.getRuleContext(0,JX)}EQUALS(){return this.getToken(tf.EQUALS,0)}type_name_tag(t){return void 0===t?this.getRuleContexts(DY):this.getRuleContext(t,DY)}LPAREN(){return this.getToken(tf.LPAREN,0)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}type_name_or_bind(){return this.getRuleContext(0,qY)}SCHEMA(){return this.getToken(tf.SCHEMA,0)}COLUMNS(){return this.getToken(tf.COLUMNS,0)}struct_arg_positional(t){return void 0===t?this.getRuleContexts(gY):this.getRuleContext(t,gY)}get ruleIndex(){return tf.RULE_table_hint}accept(t){return t.visitTable_hint?t.visitTable_hint(this):t.visitChildren(this)}},PV=class extends ga{constructor(t,e){super(t,e)}id_or_at(){return this.getRuleContext(0,sK)}cluster_expr(){return this.getRuleContext(0,$X)}DOT(){return this.getToken(tf.DOT,0)}get ruleIndex(){return tf.RULE_object_ref}accept(t){return t.visitObject_ref?t.visitObject_ref(this):t.visitChildren(this)}},MV=class extends ga{constructor(t,e){super(t,e)}object_ref(){return this.getRuleContext(0,PV)}bind_parameter(){return this.getRuleContext(0,LY)}AT(){return this.getToken(tf.AT,0)}get ruleIndex(){return tf.RULE_simple_table_ref_core}accept(t){return t.visitSimple_table_ref_core?t.visitSimple_table_ref_core(this):t.visitChildren(this)}},dV=class extends ga{constructor(t,e){super(t,e)}simple_table_ref_core(){return this.getRuleContext(0,MV)}table_hints(){return this.getRuleContext(0,CV)}get ruleIndex(){return tf.RULE_simple_table_ref}accept(t){return t.visitSimple_table_ref?t.visitSimple_table_ref(this):t.visitChildren(this)}},UV=class extends ga{constructor(t,e){super(t,e)}simple_table_ref(){return this.getRuleContext(0,dV)}ERASE(){return this.getToken(tf.ERASE,0)}BY(){return this.getToken(tf.BY,0)}pure_column_list(){return this.getRuleContext(0,iY)}get ruleIndex(){return tf.RULE_into_simple_table_ref}accept(t){return t.visitInto_simple_table_ref?t.visitInto_simple_table_ref(this):t.visitChildren(this)}},mV=class extends ga{constructor(t,e){super(t,e)}DELETE(){return this.getToken(tf.DELETE,0)}FROM(){return this.getToken(tf.FROM,0)}simple_table_ref(){return this.getRuleContext(0,dV)}where_expr(){return this.getRuleContext(0,MK)}ON(){return this.getToken(tf.ON,0)}into_values_source(){return this.getRuleContext(0,Mb)}returning_columns_list(){return this.getRuleContext(0,Cb)}get ruleIndex(){return tf.RULE_delete_stmt}accept(t){return t.visitDelete_stmt?t.visitDelete_stmt(this):t.visitChildren(this)}},DV=class extends ga{constructor(t,e){super(t,e)}UPDATE(){return this.getToken(tf.UPDATE,0)}simple_table_ref(){return this.getRuleContext(0,dV)}SET(){return this.getToken(tf.SET,0)}set_clause_choice(){return this.getRuleContext(0,pV)}ON(){return this.getToken(tf.ON,0)}into_values_source(){return this.getRuleContext(0,Mb)}returning_columns_list(){return this.getRuleContext(0,Cb)}where_expr(){return this.getRuleContext(0,MK)}get ruleIndex(){return tf.RULE_update_stmt}accept(t){return t.visitUpdate_stmt?t.visitUpdate_stmt(this):t.visitChildren(this)}},pV=class extends ga{constructor(t,e){super(t,e)}set_clause_list(){return this.getRuleContext(0,gV)}multiple_column_assignment(){return this.getRuleContext(0,HV)}get ruleIndex(){return tf.RULE_set_clause_choice}accept(t){return t.visitSet_clause_choice?t.visitSet_clause_choice(this):t.visitChildren(this)}},gV=class extends ga{constructor(t,e){super(t,e)}set_clause(t){return void 0===t?this.getRuleContexts(xV):this.getRuleContext(t,xV)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_set_clause_list}accept(t){return t.visitSet_clause_list?t.visitSet_clause_list(this):t.visitChildren(this)}},xV=class extends ga{constructor(t,e){super(t,e)}set_target(){return this.getRuleContext(0,kV)}EQUALS(){return this.getToken(tf.EQUALS,0)}expr(){return this.getRuleContext(0,Ef)}get ruleIndex(){return tf.RULE_set_clause}accept(t){return t.visitSet_clause?t.visitSet_clause(this):t.visitChildren(this)}},kV=class extends ga{constructor(t,e){super(t,e)}column_name(){return this.getRuleContext(0,hY)}get ruleIndex(){return tf.RULE_set_target}accept(t){return t.visitSet_target?t.visitSet_target(this):t.visitChildren(this)}},HV=class extends ga{constructor(t,e){super(t,e)}set_target_list(){return this.getRuleContext(0,GV)}EQUALS(){return this.getToken(tf.EQUALS,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}simple_values_source(){return this.getRuleContext(0,pb)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_multiple_column_assignment}accept(t){return t.visitMultiple_column_assignment?t.visitMultiple_column_assignment(this):t.visitChildren(this)}},GV=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}set_target(t){return void 0===t?this.getRuleContexts(kV):this.getRuleContext(t,kV)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_set_target_list}accept(t){return t.visitSet_target_list?t.visitSet_target_list(this):t.visitChildren(this)}},FV=class extends ga{constructor(t,e){super(t,e)}CREATE(){return this.getToken(tf.CREATE,0)}TOPIC(){return this.getToken(tf.TOPIC,0)}topic_ref(){return this.getRuleContext(0,rX)}create_topic_entries(){return this.getRuleContext(0,vV)}with_topic_settings(){return this.getRuleContext(0,yV)}get ruleIndex(){return tf.RULE_create_topic_stmt}accept(t){return t.visitCreate_topic_stmt?t.visitCreate_topic_stmt(this):t.visitChildren(this)}},vV=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}create_topic_entry(t){return void 0===t?this.getRuleContexts(BV):this.getRuleContext(t,BV)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_create_topic_entries}accept(t){return t.visitCreate_topic_entries?t.visitCreate_topic_entries(this):t.visitChildren(this)}},BV=class extends ga{constructor(t,e){super(t,e)}topic_create_consumer_entry(){return this.getRuleContext(0,bV)}get ruleIndex(){return tf.RULE_create_topic_entry}accept(t){return t.visitCreate_topic_entry?t.visitCreate_topic_entry(this):t.visitChildren(this)}},yV=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(tf.WITH,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}topic_settings(){return this.getRuleContext(0,jV)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_with_topic_settings}accept(t){return t.visitWith_topic_settings?t.visitWith_topic_settings(this):t.visitChildren(this)}},fV=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}TOPIC(){return this.getToken(tf.TOPIC,0)}topic_ref(){return this.getRuleContext(0,rX)}alter_topic_action(t){return void 0===t?this.getRuleContexts(YV):this.getRuleContext(t,YV)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_alter_topic_stmt}accept(t){return t.visitAlter_topic_stmt?t.visitAlter_topic_stmt(this):t.visitChildren(this)}},YV=class extends ga{constructor(t,e){super(t,e)}alter_topic_add_consumer(){return this.getRuleContext(0,wV)}alter_topic_alter_consumer(){return this.getRuleContext(0,WV)}alter_topic_drop_consumer(){return this.getRuleContext(0,XV)}alter_topic_set_settings(){return this.getRuleContext(0,JV)}alter_topic_reset_settings(){return this.getRuleContext(0,ZV)}get ruleIndex(){return tf.RULE_alter_topic_action}accept(t){return t.visitAlter_topic_action?t.visitAlter_topic_action(this):t.visitChildren(this)}},wV=class extends ga{constructor(t,e){super(t,e)}ADD(){return this.getToken(tf.ADD,0)}topic_create_consumer_entry(){return this.getRuleContext(0,bV)}get ruleIndex(){return tf.RULE_alter_topic_add_consumer}accept(t){return t.visitAlter_topic_add_consumer?t.visitAlter_topic_add_consumer(this):t.visitChildren(this)}},bV=class extends ga{constructor(t,e){super(t,e)}CONSUMER(){return this.getToken(tf.CONSUMER,0)}an_id(){return this.getRuleContext(0,YX)}topic_consumer_with_settings(){return this.getRuleContext(0,tX)}get ruleIndex(){return tf.RULE_topic_create_consumer_entry}accept(t){return t.visitTopic_create_consumer_entry?t.visitTopic_create_consumer_entry(this):t.visitChildren(this)}},WV=class extends ga{constructor(t,e){super(t,e)}ALTER(){return this.getToken(tf.ALTER,0)}CONSUMER(){return this.getToken(tf.CONSUMER,0)}topic_consumer_ref(){return this.getRuleContext(0,iX)}alter_topic_alter_consumer_entry(){return this.getRuleContext(0,VV)}get ruleIndex(){return tf.RULE_alter_topic_alter_consumer}accept(t){return t.visitAlter_topic_alter_consumer?t.visitAlter_topic_alter_consumer(this):t.visitChildren(this)}},VV=class extends ga{constructor(t,e){super(t,e)}topic_alter_consumer_set(){return this.getRuleContext(0,KV)}topic_alter_consumer_reset(){return this.getRuleContext(0,QV)}get ruleIndex(){return tf.RULE_alter_topic_alter_consumer_entry}accept(t){return t.visitAlter_topic_alter_consumer_entry?t.visitAlter_topic_alter_consumer_entry(this):t.visitChildren(this)}},XV=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}CONSUMER(){return this.getToken(tf.CONSUMER,0)}topic_consumer_ref(){return this.getRuleContext(0,iX)}get ruleIndex(){return tf.RULE_alter_topic_drop_consumer}accept(t){return t.visitAlter_topic_drop_consumer?t.visitAlter_topic_drop_consumer(this):t.visitChildren(this)}},KV=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(tf.SET,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}topic_consumer_settings(){return this.getRuleContext(0,eX)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_topic_alter_consumer_set}accept(t){return t.visitTopic_alter_consumer_set?t.visitTopic_alter_consumer_set(this):t.visitChildren(this)}},QV=class extends ga{constructor(t,e){super(t,e)}RESET(){return this.getToken(tf.RESET,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}an_id(t){return void 0===t?this.getRuleContexts(YX):this.getRuleContext(t,YX)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_topic_alter_consumer_reset}accept(t){return t.visitTopic_alter_consumer_reset?t.visitTopic_alter_consumer_reset(this):t.visitChildren(this)}},JV=class extends ga{constructor(t,e){super(t,e)}SET(){return this.getToken(tf.SET,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}topic_settings(){return this.getRuleContext(0,jV)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_alter_topic_set_settings}accept(t){return t.visitAlter_topic_set_settings?t.visitAlter_topic_set_settings(this):t.visitChildren(this)}},ZV=class extends ga{constructor(t,e){super(t,e)}RESET(){return this.getToken(tf.RESET,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}an_id(){return this.getRuleContext(0,YX)}RPAREN(){return this.getToken(tf.RPAREN,0)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}an_id_pure(t){return void 0===t?this.getRuleContexts(ZX):this.getRuleContext(t,ZX)}get ruleIndex(){return tf.RULE_alter_topic_reset_settings}accept(t){return t.visitAlter_topic_reset_settings?t.visitAlter_topic_reset_settings(this):t.visitChildren(this)}},qV=class extends ga{constructor(t,e){super(t,e)}DROP(){return this.getToken(tf.DROP,0)}TOPIC(){return this.getToken(tf.TOPIC,0)}topic_ref(){return this.getRuleContext(0,rX)}get ruleIndex(){return tf.RULE_drop_topic_stmt}accept(t){return t.visitDrop_topic_stmt?t.visitDrop_topic_stmt(this):t.visitChildren(this)}},jV=class extends ga{constructor(t,e){super(t,e)}topic_settings_entry(t){return void 0===t?this.getRuleContexts(zV):this.getRuleContext(t,zV)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_topic_settings}accept(t){return t.visitTopic_settings?t.visitTopic_settings(this):t.visitChildren(this)}},zV=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}EQUALS(){return this.getToken(tf.EQUALS,0)}topic_setting_value(){return this.getRuleContext(0,$V)}get ruleIndex(){return tf.RULE_topic_settings_entry}accept(t){return t.visitTopic_settings_entry?t.visitTopic_settings_entry(this):t.visitChildren(this)}},$V=class extends ga{constructor(t,e){super(t,e)}expr(){return this.getRuleContext(0,Ef)}get ruleIndex(){return tf.RULE_topic_setting_value}accept(t){return t.visitTopic_setting_value?t.visitTopic_setting_value(this):t.visitChildren(this)}},tX=class extends ga{constructor(t,e){super(t,e)}WITH(){return this.getToken(tf.WITH,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}topic_consumer_settings(){return this.getRuleContext(0,eX)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_topic_consumer_with_settings}accept(t){return t.visitTopic_consumer_with_settings?t.visitTopic_consumer_with_settings(this):t.visitChildren(this)}},eX=class extends ga{constructor(t,e){super(t,e)}topic_consumer_settings_entry(t){return void 0===t?this.getRuleContexts(sX):this.getRuleContext(t,sX)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_topic_consumer_settings}accept(t){return t.visitTopic_consumer_settings?t.visitTopic_consumer_settings(this):t.visitChildren(this)}},sX=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}EQUALS(){return this.getToken(tf.EQUALS,0)}topic_consumer_setting_value(){return this.getRuleContext(0,aX)}get ruleIndex(){return tf.RULE_topic_consumer_settings_entry}accept(t){return t.visitTopic_consumer_settings_entry?t.visitTopic_consumer_settings_entry(this):t.visitChildren(this)}},aX=class extends ga{constructor(t,e){super(t,e)}expr(){return this.getRuleContext(0,Ef)}get ruleIndex(){return tf.RULE_topic_consumer_setting_value}accept(t){return t.visitTopic_consumer_setting_value?t.visitTopic_consumer_setting_value(this):t.visitChildren(this)}},rX=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}cluster_expr(){return this.getRuleContext(0,$X)}DOT(){return this.getToken(tf.DOT,0)}get ruleIndex(){return tf.RULE_topic_ref}accept(t){return t.visitTopic_ref?t.visitTopic_ref(this):t.visitChildren(this)}},iX=class extends ga{constructor(t,e){super(t,e)}an_id_pure(){return this.getRuleContext(0,ZX)}get ruleIndex(){return tf.RULE_topic_consumer_ref}accept(t){return t.visitTopic_consumer_ref?t.visitTopic_consumer_ref(this):t.visitChildren(this)}},cX=class extends ga{constructor(t,e){super(t,e)}RESPECT(){return this.getToken(tf.RESPECT,0)}NULLS(){return this.getToken(tf.NULLS,0)}IGNORE(){return this.getToken(tf.IGNORE,0)}get ruleIndex(){return tf.RULE_null_treatment}accept(t){return t.visitNull_treatment?t.visitNull_treatment(this):t.visitChildren(this)}},nX=class extends ga{constructor(t,e){super(t,e)}FILTER(){return this.getToken(tf.FILTER,0)}LPAREN(){return this.getToken(tf.LPAREN,0)}where_expr(){return this.getRuleContext(0,MK)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_filter_clause}accept(t){return t.visitFilter_clause?t.visitFilter_clause(this):t.visitChildren(this)}},hX=class extends ga{constructor(t,e){super(t,e)}window_name(){return this.getRuleContext(0,EX)}window_specification(){return this.getRuleContext(0,SX)}get ruleIndex(){return tf.RULE_window_name_or_specification}accept(t){return t.visitWindow_name_or_specification?t.visitWindow_name_or_specification(this):t.visitChildren(this)}},EX=class extends ga{constructor(t,e){super(t,e)}an_id_window(){return this.getRuleContext(0,XX)}get ruleIndex(){return tf.RULE_window_name}accept(t){return t.visitWindow_name?t.visitWindow_name(this):t.visitChildren(this)}},TX=class extends ga{constructor(t,e){super(t,e)}WINDOW(){return this.getToken(tf.WINDOW,0)}window_definition_list(){return this.getRuleContext(0,oX)}get ruleIndex(){return tf.RULE_window_clause}accept(t){return t.visitWindow_clause?t.visitWindow_clause(this):t.visitChildren(this)}},oX=class extends ga{constructor(t,e){super(t,e)}window_definition(t){return void 0===t?this.getRuleContexts(RX):this.getRuleContext(t,RX)}COMMA(t){return void 0===t?this.getTokens(tf.COMMA):this.getToken(tf.COMMA,t)}get ruleIndex(){return tf.RULE_window_definition_list}accept(t){return t.visitWindow_definition_list?t.visitWindow_definition_list(this):t.visitChildren(this)}},RX=class extends ga{constructor(t,e){super(t,e)}new_window_name(){return this.getRuleContext(0,AX)}AS(){return this.getToken(tf.AS,0)}window_specification(){return this.getRuleContext(0,SX)}get ruleIndex(){return tf.RULE_window_definition}accept(t){return t.visitWindow_definition?t.visitWindow_definition(this):t.visitChildren(this)}},AX=class extends ga{constructor(t,e){super(t,e)}window_name(){return this.getRuleContext(0,EX)}get ruleIndex(){return tf.RULE_new_window_name}accept(t){return t.visitNew_window_name?t.visitNew_window_name(this):t.visitChildren(this)}},SX=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}window_specification_details(){return this.getRuleContext(0,lX)}RPAREN(){return this.getToken(tf.RPAREN,0)}get ruleIndex(){return tf.RULE_window_specification}accept(t){return t.visitWindow_specification?t.visitWindow_specification(this):t.visitChildren(this)}},lX=class extends ga{constructor(t,e){super(t,e)}existing_window_name(){return this.getRuleContext(0,OX)}window_partition_clause(){return this.getRuleContext(0,IX)}window_order_clause(){return this.getRuleContext(0,uX)}window_frame_clause(){return this.getRuleContext(0,NX)}get ruleIndex(){return tf.RULE_window_specification_details}accept(t){return t.visitWindow_specification_details?t.visitWindow_specification_details(this):t.visitChildren(this)}},OX=class extends ga{constructor(t,e){super(t,e)}window_name(){return this.getRuleContext(0,EX)}get ruleIndex(){return tf.RULE_existing_window_name}accept(t){return t.visitExisting_window_name?t.visitExisting_window_name(this):t.visitChildren(this)}},IX=class extends ga{constructor(t,e){super(t,e)}PARTITION(){return this.getToken(tf.PARTITION,0)}BY(){return this.getToken(tf.BY,0)}named_expr_list(){return this.getRuleContext(0,AY)}COMPACT(){return this.getToken(tf.COMPACT,0)}get ruleIndex(){return tf.RULE_window_partition_clause}accept(t){return t.visitWindow_partition_clause?t.visitWindow_partition_clause(this):t.visitChildren(this)}},uX=class extends ga{constructor(t,e){super(t,e)}order_by_clause(){return this.getRuleContext(0,jw)}get ruleIndex(){return tf.RULE_window_order_clause}accept(t){return t.visitWindow_order_clause?t.visitWindow_order_clause(this):t.visitChildren(this)}},NX=class extends ga{constructor(t,e){super(t,e)}window_frame_units(){return this.getRuleContext(0,LX)}window_frame_extent(){return this.getRuleContext(0,CX)}window_frame_exclusion(){return this.getRuleContext(0,MX)}get ruleIndex(){return tf.RULE_window_frame_clause}accept(t){return t.visitWindow_frame_clause?t.visitWindow_frame_clause(this):t.visitChildren(this)}},LX=class extends ga{constructor(t,e){super(t,e)}ROWS(){return this.getToken(tf.ROWS,0)}RANGE(){return this.getToken(tf.RANGE,0)}GROUPS(){return this.getToken(tf.GROUPS,0)}get ruleIndex(){return tf.RULE_window_frame_units}accept(t){return t.visitWindow_frame_units?t.visitWindow_frame_units(this):t.visitChildren(this)}},CX=class extends ga{constructor(t,e){super(t,e)}window_frame_bound(){return this.getRuleContext(0,PX)}window_frame_between(){return this.getRuleContext(0,_X)}get ruleIndex(){return tf.RULE_window_frame_extent}accept(t){return t.visitWindow_frame_extent?t.visitWindow_frame_extent(this):t.visitChildren(this)}},_X=class extends ga{constructor(t,e){super(t,e)}BETWEEN(){return this.getToken(tf.BETWEEN,0)}window_frame_bound(t){return void 0===t?this.getRuleContexts(PX):this.getRuleContext(t,PX)}AND(){return this.getToken(tf.AND,0)}get ruleIndex(){return tf.RULE_window_frame_between}accept(t){return t.visitWindow_frame_between?t.visitWindow_frame_between(this):t.visitChildren(this)}},PX=class extends ga{constructor(t,e){super(t,e)}CURRENT(){return this.getToken(tf.CURRENT,0)}ROW(){return this.getToken(tf.ROW,0)}PRECEDING(){return this.getToken(tf.PRECEDING,0)}FOLLOWING(){return this.getToken(tf.FOLLOWING,0)}expr(){return this.getRuleContext(0,Ef)}UNBOUNDED(){return this.getToken(tf.UNBOUNDED,0)}get ruleIndex(){return tf.RULE_window_frame_bound}accept(t){return t.visitWindow_frame_bound?t.visitWindow_frame_bound(this):t.visitChildren(this)}},MX=class extends ga{constructor(t,e){super(t,e)}EXCLUDE(){return this.getToken(tf.EXCLUDE,0)}CURRENT(){return this.getToken(tf.CURRENT,0)}ROW(){return this.getToken(tf.ROW,0)}GROUP(){return this.getToken(tf.GROUP,0)}TIES(){return this.getToken(tf.TIES,0)}NO(){return this.getToken(tf.NO,0)}OTHERS(){return this.getToken(tf.OTHERS,0)}get ruleIndex(){return tf.RULE_window_frame_exclusion}accept(t){return t.visitWindow_frame_exclusion?t.visitWindow_frame_exclusion(this):t.visitChildren(this)}},dX=class extends ga{constructor(t,e){super(t,e)}USE(){return this.getToken(tf.USE,0)}cluster_expr(){return this.getRuleContext(0,$X)}get ruleIndex(){return tf.RULE_use_stmt}accept(t){return t.visitUse_stmt?t.visitUse_stmt(this):t.visitChildren(this)}},UX=class extends ga{constructor(t,e){super(t,e)}LPAREN(){return this.getToken(tf.LPAREN,0)}select_stmt(){return this.getRuleContext(0,Tw)}RPAREN(){return this.getToken(tf.RPAREN,0)}select_unparenthesized_stmt(){return this.getRuleContext(0,ow)}get ruleIndex(){return tf.RULE_subselect_stmt}accept(t){return t.visitSubselect_stmt?t.visitSubselect_stmt(this):t.visitChildren(this)}},mX=class extends ga{constructor(t,e){super(t,e)}bind_parameter_list(){return this.getRuleContext(0,_Y)}EQUALS(){return this.getToken(tf.EQUALS,0)}expr(){return this.getRuleContext(0,Ef)}subselect_stmt(){return this.getRuleContext(0,UX)}get ruleIndex(){return tf.RULE_named_nodes_stmt}accept(t){return t.visitNamed_nodes_stmt?t.visitNamed_nodes_stmt(this):t.visitChildren(this)}},DX=class extends ga{constructor(t,e){super(t,e)}COMMIT(){return this.getToken(tf.COMMIT,0)}get ruleIndex(){return tf.RULE_commit_stmt}accept(t){return t.visitCommit_stmt?t.visitCommit_stmt(this):t.visitChildren(this)}},pX=class extends ga{constructor(t,e){super(t,e)}ROLLBACK(){return this.getToken(tf.ROLLBACK,0)}get ruleIndex(){return tf.RULE_rollback_stmt}accept(t){return t.visitRollback_stmt?t.visitRollback_stmt(this):t.visitChildren(this)}},gX=class extends ga{constructor(t,e){super(t,e)}ID_PLAIN(){return this.getToken(tf.ID_PLAIN,0)}ID_QUOTED(){return this.getToken(tf.ID_QUOTED,0)}get ruleIndex(){return tf.RULE_identifier}accept(t){return t.visitIdentifier?t.visitIdentifier(this):t.visitChildren(this)}},xX=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}keyword(){return this.getRuleContext(0,iK)}get ruleIndex(){return tf.RULE_id}accept(t){return t.visitId?t.visitId(this):t.visitChildren(this)}},kX=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}keyword_compat(){return this.getRuleContext(0,SK)}keyword_expr_uncompat(){return this.getRuleContext(0,cK)}keyword_select_uncompat(){return this.getRuleContext(0,hK)}keyword_in_uncompat(){return this.getRuleContext(0,TK)}keyword_window_uncompat(){return this.getRuleContext(0,oK)}keyword_hint_uncompat(){return this.getRuleContext(0,RK)}get ruleIndex(){return tf.RULE_id_schema}accept(t){return t.visitId_schema?t.visitId_schema(this):t.visitChildren(this)}},HX=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}keyword_compat(){return this.getRuleContext(0,SK)}keyword_alter_uncompat(){return this.getRuleContext(0,EK)}keyword_in_uncompat(){return this.getRuleContext(0,TK)}keyword_window_uncompat(){return this.getRuleContext(0,oK)}keyword_hint_uncompat(){return this.getRuleContext(0,RK)}get ruleIndex(){return tf.RULE_id_expr}accept(t){return t.visitId_expr?t.visitId_expr(this):t.visitChildren(this)}},GX=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}keyword_compat(){return this.getRuleContext(0,SK)}keyword_alter_uncompat(){return this.getRuleContext(0,EK)}keyword_window_uncompat(){return this.getRuleContext(0,oK)}keyword_hint_uncompat(){return this.getRuleContext(0,RK)}get ruleIndex(){return tf.RULE_id_expr_in}accept(t){return t.visitId_expr_in?t.visitId_expr_in(this):t.visitChildren(this)}},FX=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}keyword_compat(){return this.getRuleContext(0,SK)}keyword_expr_uncompat(){return this.getRuleContext(0,cK)}keyword_table_uncompat(){return this.getRuleContext(0,nK)}keyword_select_uncompat(){return this.getRuleContext(0,hK)}keyword_alter_uncompat(){return this.getRuleContext(0,EK)}keyword_in_uncompat(){return this.getRuleContext(0,TK)}keyword_hint_uncompat(){return this.getRuleContext(0,RK)}get ruleIndex(){return tf.RULE_id_window}accept(t){return t.visitId_window?t.visitId_window(this):t.visitChildren(this)}},vX=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}keyword_compat(){return this.getRuleContext(0,SK)}keyword_expr_uncompat(){return this.getRuleContext(0,cK)}keyword_select_uncompat(){return this.getRuleContext(0,hK)}keyword_in_uncompat(){return this.getRuleContext(0,TK)}keyword_window_uncompat(){return this.getRuleContext(0,oK)}keyword_hint_uncompat(){return this.getRuleContext(0,RK)}get ruleIndex(){return tf.RULE_id_table}accept(t){return t.visitId_table?t.visitId_table(this):t.visitChildren(this)}},BX=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}keyword_compat(){return this.getRuleContext(0,SK)}keyword_table_uncompat(){return this.getRuleContext(0,nK)}keyword_alter_uncompat(){return this.getRuleContext(0,EK)}keyword_in_uncompat(){return this.getRuleContext(0,TK)}keyword_window_uncompat(){return this.getRuleContext(0,oK)}keyword_hint_uncompat(){return this.getRuleContext(0,RK)}get ruleIndex(){return tf.RULE_id_without}accept(t){return t.visitId_without?t.visitId_without(this):t.visitChildren(this)}},yX=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}keyword_compat(){return this.getRuleContext(0,SK)}keyword_expr_uncompat(){return this.getRuleContext(0,cK)}keyword_table_uncompat(){return this.getRuleContext(0,nK)}keyword_select_uncompat(){return this.getRuleContext(0,hK)}keyword_alter_uncompat(){return this.getRuleContext(0,EK)}keyword_in_uncompat(){return this.getRuleContext(0,TK)}keyword_window_uncompat(){return this.getRuleContext(0,oK)}get ruleIndex(){return tf.RULE_id_hint}accept(t){return t.visitId_hint?t.visitId_hint(this):t.visitChildren(this)}},fX=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}keyword_as_compat(){return this.getRuleContext(0,AK)}get ruleIndex(){return tf.RULE_id_as_compat}accept(t){return t.visitId_as_compat?t.visitId_as_compat(this):t.visitChildren(this)}},YX=class extends ga{constructor(t,e){super(t,e)}id(){return this.getRuleContext(0,xX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id}accept(t){return t.visitAn_id?t.visitAn_id(this):t.visitChildren(this)}},wX=class extends ga{constructor(t,e){super(t,e)}id_or_type(){return this.getRuleContext(0,tK)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id_or_type}accept(t){return t.visitAn_id_or_type?t.visitAn_id_or_type(this):t.visitChildren(this)}},bX=class extends ga{constructor(t,e){super(t,e)}id_schema(){return this.getRuleContext(0,kX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id_schema}accept(t){return t.visitAn_id_schema?t.visitAn_id_schema(this):t.visitChildren(this)}},WX=class extends ga{constructor(t,e){super(t,e)}id_expr(){return this.getRuleContext(0,HX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id_expr}accept(t){return t.visitAn_id_expr?t.visitAn_id_expr(this):t.visitChildren(this)}},VX=class extends ga{constructor(t,e){super(t,e)}id_expr_in(){return this.getRuleContext(0,GX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id_expr_in}accept(t){return t.visitAn_id_expr_in?t.visitAn_id_expr_in(this):t.visitChildren(this)}},XX=class extends ga{constructor(t,e){super(t,e)}id_window(){return this.getRuleContext(0,FX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id_window}accept(t){return t.visitAn_id_window?t.visitAn_id_window(this):t.visitChildren(this)}},KX=class extends ga{constructor(t,e){super(t,e)}id_table(){return this.getRuleContext(0,vX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id_table}accept(t){return t.visitAn_id_table?t.visitAn_id_table(this):t.visitChildren(this)}},QX=class extends ga{constructor(t,e){super(t,e)}id_without(){return this.getRuleContext(0,BX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id_without}accept(t){return t.visitAn_id_without?t.visitAn_id_without(this):t.visitChildren(this)}},JX=class extends ga{constructor(t,e){super(t,e)}id_hint(){return this.getRuleContext(0,yX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id_hint}accept(t){return t.visitAn_id_hint?t.visitAn_id_hint(this):t.visitChildren(this)}},ZX=class extends ga{constructor(t,e){super(t,e)}identifier(){return this.getRuleContext(0,gX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id_pure}accept(t){return t.visitAn_id_pure?t.visitAn_id_pure(this):t.visitChildren(this)}},qX=class extends ga{constructor(t,e){super(t,e)}id_as_compat(){return this.getRuleContext(0,fX)}STRING_VALUE(){return this.getToken(tf.STRING_VALUE,0)}get ruleIndex(){return tf.RULE_an_id_as_compat}accept(t){return t.visitAn_id_as_compat?t.visitAn_id_as_compat(this):t.visitChildren(this)}},jX=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}PRIMARY(){return this.getToken(tf.PRIMARY,0)}KEY(){return this.getToken(tf.KEY,0)}get ruleIndex(){return tf.RULE_view_name}accept(t){return t.visitView_name?t.visitView_name(this):t.visitChildren(this)}},zX=class extends ga{constructor(t,e){super(t,e)}an_id(){return this.getRuleContext(0,YX)}DOT(){return this.getToken(tf.DOT,0)}get ruleIndex(){return tf.RULE_opt_id_prefix}accept(t){return t.visitOpt_id_prefix?t.visitOpt_id_prefix(this):t.visitChildren(this)}},$X=class extends ga{constructor(t,e){super(t,e)}pure_column_or_named(){return this.getRuleContext(0,cY)}ASTERISK(){return this.getToken(tf.ASTERISK,0)}an_id(){return this.getRuleContext(0,YX)}COLON(){return this.getToken(tf.COLON,0)}get ruleIndex(){return tf.RULE_cluster_expr}accept(t){return t.visitCluster_expr?t.visitCluster_expr(this):t.visitChildren(this)}},tK=class extends ga{constructor(t,e){super(t,e)}id(){return this.getRuleContext(0,xX)}type_id(){return this.getRuleContext(0,lK)}get ruleIndex(){return tf.RULE_id_or_type}accept(t){return t.visitId_or_type?t.visitId_or_type(this):t.visitChildren(this)}},eK=class extends ga{constructor(t,e){super(t,e)}an_id_or_type(){return this.getRuleContext(0,wX)}DOT(){return this.getToken(tf.DOT,0)}get ruleIndex(){return tf.RULE_opt_id_prefix_or_type}accept(t){return t.visitOpt_id_prefix_or_type?t.visitOpt_id_prefix_or_type(this):t.visitChildren(this)}},sK=class extends ga{constructor(t,e){super(t,e)}an_id_or_type(){return this.getRuleContext(0,wX)}AT(){return this.getToken(tf.AT,0)}get ruleIndex(){return tf.RULE_id_or_at}accept(t){return t.visitId_or_at?t.visitId_or_at(this):t.visitChildren(this)}},aK=class extends ga{constructor(t,e){super(t,e)}an_id_table(){return this.getRuleContext(0,KX)}type_id(){return this.getRuleContext(0,lK)}get ruleIndex(){return tf.RULE_id_table_or_type}accept(t){return t.visitId_table_or_type?t.visitId_table_or_type(this):t.visitChildren(this)}},rK=class extends ga{constructor(t,e){super(t,e)}id_table_or_type(){return this.getRuleContext(0,aK)}AT(){return this.getToken(tf.AT,0)}get ruleIndex(){return tf.RULE_id_table_or_at}accept(t){return t.visitId_table_or_at?t.visitId_table_or_at(this):t.visitChildren(this)}},iK=class extends ga{constructor(t,e){super(t,e)}keyword_compat(){return this.getRuleContext(0,SK)}keyword_expr_uncompat(){return this.getRuleContext(0,cK)}keyword_table_uncompat(){return this.getRuleContext(0,nK)}keyword_select_uncompat(){return this.getRuleContext(0,hK)}keyword_alter_uncompat(){return this.getRuleContext(0,EK)}keyword_in_uncompat(){return this.getRuleContext(0,TK)}keyword_window_uncompat(){return this.getRuleContext(0,oK)}keyword_hint_uncompat(){return this.getRuleContext(0,RK)}get ruleIndex(){return tf.RULE_keyword}accept(t){return t.visitKeyword?t.visitKeyword(this):t.visitChildren(this)}},cK=class extends ga{constructor(t,e){super(t,e)}ASYMMETRIC(){return this.getToken(tf.ASYMMETRIC,0)}BETWEEN(){return this.getToken(tf.BETWEEN,0)}BITCAST(){return this.getToken(tf.BITCAST,0)}CASE(){return this.getToken(tf.CASE,0)}CAST(){return this.getToken(tf.CAST,0)}CUBE(){return this.getToken(tf.CUBE,0)}CURRENT_DATE(){return this.getToken(tf.CURRENT_DATE,0)}CURRENT_TIME(){return this.getToken(tf.CURRENT_TIME,0)}CURRENT_TIMESTAMP(){return this.getToken(tf.CURRENT_TIMESTAMP,0)}EMPTY_ACTION(){return this.getToken(tf.EMPTY_ACTION,0)}EXISTS(){return this.getToken(tf.EXISTS,0)}FROM(){return this.getToken(tf.FROM,0)}FULL(){return this.getToken(tf.FULL,0)}HOP(){return this.getToken(tf.HOP,0)}JSON_EXISTS(){return this.getToken(tf.JSON_EXISTS,0)}JSON_VALUE(){return this.getToken(tf.JSON_VALUE,0)}JSON_QUERY(){return this.getToken(tf.JSON_QUERY,0)}LOCAL(){return this.getToken(tf.LOCAL,0)}NOT(){return this.getToken(tf.NOT,0)}NULL(){return this.getToken(tf.NULL,0)}PROCESS(){return this.getToken(tf.PROCESS,0)}REDUCE(){return this.getToken(tf.REDUCE,0)}RETURN(){return this.getToken(tf.RETURN,0)}RETURNING(){return this.getToken(tf.RETURNING,0)}ROLLUP(){return this.getToken(tf.ROLLUP,0)}SELECT(){return this.getToken(tf.SELECT,0)}SYMMETRIC(){return this.getToken(tf.SYMMETRIC,0)}UNBOUNDED(){return this.getToken(tf.UNBOUNDED,0)}WHEN(){return this.getToken(tf.WHEN,0)}WHERE(){return this.getToken(tf.WHERE,0)}get ruleIndex(){return tf.RULE_keyword_expr_uncompat}accept(t){return t.visitKeyword_expr_uncompat?t.visitKeyword_expr_uncompat(this):t.visitChildren(this)}},nK=class extends ga{constructor(t,e){super(t,e)}ANY(){return this.getToken(tf.ANY,0)}ERASE(){return this.getToken(tf.ERASE,0)}STREAM(){return this.getToken(tf.STREAM,0)}get ruleIndex(){return tf.RULE_keyword_table_uncompat}accept(t){return t.visitKeyword_table_uncompat?t.visitKeyword_table_uncompat(this):t.visitChildren(this)}},hK=class extends ga{constructor(t,e){super(t,e)}ALL(){return this.getToken(tf.ALL,0)}AS(){return this.getToken(tf.AS,0)}ASSUME(){return this.getToken(tf.ASSUME,0)}DISTINCT(){return this.getToken(tf.DISTINCT,0)}EXCEPT(){return this.getToken(tf.EXCEPT,0)}HAVING(){return this.getToken(tf.HAVING,0)}INTERSECT(){return this.getToken(tf.INTERSECT,0)}LIMIT(){return this.getToken(tf.LIMIT,0)}UNION(){return this.getToken(tf.UNION,0)}WINDOW(){return this.getToken(tf.WINDOW,0)}WITHOUT(){return this.getToken(tf.WITHOUT,0)}get ruleIndex(){return tf.RULE_keyword_select_uncompat}accept(t){return t.visitKeyword_select_uncompat?t.visitKeyword_select_uncompat(this):t.visitChildren(this)}},EK=class extends ga{constructor(t,e){super(t,e)}COLUMN(){return this.getToken(tf.COLUMN,0)}get ruleIndex(){return tf.RULE_keyword_alter_uncompat}accept(t){return t.visitKeyword_alter_uncompat?t.visitKeyword_alter_uncompat(this):t.visitChildren(this)}},TK=class extends ga{constructor(t,e){super(t,e)}COMPACT(){return this.getToken(tf.COMPACT,0)}get ruleIndex(){return tf.RULE_keyword_in_uncompat}accept(t){return t.visitKeyword_in_uncompat?t.visitKeyword_in_uncompat(this):t.visitChildren(this)}},oK=class extends ga{constructor(t,e){super(t,e)}GROUPS(){return this.getToken(tf.GROUPS,0)}RANGE(){return this.getToken(tf.RANGE,0)}ROWS(){return this.getToken(tf.ROWS,0)}get ruleIndex(){return tf.RULE_keyword_window_uncompat}accept(t){return t.visitKeyword_window_uncompat?t.visitKeyword_window_uncompat(this):t.visitChildren(this)}},RK=class extends ga{constructor(t,e){super(t,e)}SCHEMA(){return this.getToken(tf.SCHEMA,0)}COLUMNS(){return this.getToken(tf.COLUMNS,0)}get ruleIndex(){return tf.RULE_keyword_hint_uncompat}accept(t){return t.visitKeyword_hint_uncompat?t.visitKeyword_hint_uncompat(this):t.visitChildren(this)}},AK=class extends ga{constructor(t,e){super(t,e)}ATTRIBUTES(){return this.getToken(tf.ATTRIBUTES,0)}CONNECT(){return this.getToken(tf.CONNECT,0)}CONSUMER(){return this.getToken(tf.CONSUMER,0)}DATA(){return this.getToken(tf.DATA,0)}DESCRIBE(){return this.getToken(tf.DESCRIBE,0)}DIRECTORY(){return this.getToken(tf.DIRECTORY,0)}FIRST(){return this.getToken(tf.FIRST,0)}GRANT(){return this.getToken(tf.GRANT,0)}INITIAL(){return this.getToken(tf.INITIAL,0)}LAST(){return this.getToken(tf.LAST,0)}LEGACY(){return this.getToken(tf.LEGACY,0)}MANAGE(){return this.getToken(tf.MANAGE,0)}MATCHES(){return this.getToken(tf.MATCHES,0)}MATCH_RECOGNIZE(){return this.getToken(tf.MATCH_RECOGNIZE,0)}MEASURES(){return this.getToken(tf.MEASURES,0)}MICROSECONDS(){return this.getToken(tf.MICROSECONDS,0)}MILLISECONDS(){return this.getToken(tf.MILLISECONDS,0)}MODIFY(){return this.getToken(tf.MODIFY,0)}NANOSECONDS(){return this.getToken(tf.NANOSECONDS,0)}NEXT(){return this.getToken(tf.NEXT,0)}OMIT(){return this.getToken(tf.OMIT,0)}ONE(){return this.getToken(tf.ONE,0)}OPTION(){return this.getToken(tf.OPTION,0)}PARALLEL(){return this.getToken(tf.PARALLEL,0)}PAST(){return this.getToken(tf.PAST,0)}PATTERN(){return this.getToken(tf.PATTERN,0)}PER(){return this.getToken(tf.PER,0)}PERMUTE(){return this.getToken(tf.PERMUTE,0)}PRIVILEGES(){return this.getToken(tf.PRIVILEGES,0)}QUEUE(){return this.getToken(tf.QUEUE,0)}REMOVE(){return this.getToken(tf.REMOVE,0)}REPLICATION(){return this.getToken(tf.REPLICATION,0)}REVOKE(){return this.getToken(tf.REVOKE,0)}SECONDS(){return this.getToken(tf.SECONDS,0)}SEEK(){return this.getToken(tf.SEEK,0)}SHOW(){return this.getToken(tf.SHOW,0)}SKIP_RULE(){return this.getToken(tf.SKIP_RULE,0)}SOURCE(){return this.getToken(tf.SOURCE,0)}SUBSET(){return this.getToken(tf.SUBSET,0)}TABLES(){return this.getToken(tf.TABLES,0)}TOPIC(){return this.getToken(tf.TOPIC,0)}TYPE(){return this.getToken(tf.TYPE,0)}UNMATCHED(){return this.getToken(tf.UNMATCHED,0)}get ruleIndex(){return tf.RULE_keyword_as_compat}accept(t){return t.visitKeyword_as_compat?t.visitKeyword_as_compat(this):t.visitChildren(this)}},SK=class extends ga{constructor(t,e){super(t,e)}ABORT(){return this.getToken(tf.ABORT,0)}ACTION(){return this.getToken(tf.ACTION,0)}ADD(){return this.getToken(tf.ADD,0)}AFTER(){return this.getToken(tf.AFTER,0)}ALTER(){return this.getToken(tf.ALTER,0)}ANALYZE(){return this.getToken(tf.ANALYZE,0)}AND(){return this.getToken(tf.AND,0)}ANSI(){return this.getToken(tf.ANSI,0)}ARRAY(){return this.getToken(tf.ARRAY,0)}ASC(){return this.getToken(tf.ASC,0)}ASYNC(){return this.getToken(tf.ASYNC,0)}ATTACH(){return this.getToken(tf.ATTACH,0)}ATTRIBUTES(){return this.getToken(tf.ATTRIBUTES,0)}AUTOINCREMENT(){return this.getToken(tf.AUTOINCREMENT,0)}BEFORE(){return this.getToken(tf.BEFORE,0)}BEGIN(){return this.getToken(tf.BEGIN,0)}BERNOULLI(){return this.getToken(tf.BERNOULLI,0)}BY(){return this.getToken(tf.BY,0)}CASCADE(){return this.getToken(tf.CASCADE,0)}CHANGEFEED(){return this.getToken(tf.CHANGEFEED,0)}CHECK(){return this.getToken(tf.CHECK,0)}COLLATE(){return this.getToken(tf.COLLATE,0)}COMMIT(){return this.getToken(tf.COMMIT,0)}CONDITIONAL(){return this.getToken(tf.CONDITIONAL,0)}CONFLICT(){return this.getToken(tf.CONFLICT,0)}CONNECT(){return this.getToken(tf.CONNECT,0)}CONSTRAINT(){return this.getToken(tf.CONSTRAINT,0)}CONSUMER(){return this.getToken(tf.CONSUMER,0)}COVER(){return this.getToken(tf.COVER,0)}CREATE(){return this.getToken(tf.CREATE,0)}CROSS(){return this.getToken(tf.CROSS,0)}CURRENT(){return this.getToken(tf.CURRENT,0)}DATA(){return this.getToken(tf.DATA,0)}DATABASE(){return this.getToken(tf.DATABASE,0)}DECIMAL(){return this.getToken(tf.DECIMAL,0)}DECLARE(){return this.getToken(tf.DECLARE,0)}DEFAULT(){return this.getToken(tf.DEFAULT,0)}DEFERRABLE(){return this.getToken(tf.DEFERRABLE,0)}DEFERRED(){return this.getToken(tf.DEFERRED,0)}DEFINE(){return this.getToken(tf.DEFINE,0)}DELETE(){return this.getToken(tf.DELETE,0)}DESC(){return this.getToken(tf.DESC,0)}DESCRIBE(){return this.getToken(tf.DESCRIBE,0)}DETACH(){return this.getToken(tf.DETACH,0)}DIRECTORY(){return this.getToken(tf.DIRECTORY,0)}DISABLE(){return this.getToken(tf.DISABLE,0)}DISCARD(){return this.getToken(tf.DISCARD,0)}DO(){return this.getToken(tf.DO,0)}DROP(){return this.getToken(tf.DROP,0)}EACH(){return this.getToken(tf.EACH,0)}ELSE(){return this.getToken(tf.ELSE,0)}EMPTY(){return this.getToken(tf.EMPTY,0)}ENCRYPTED(){return this.getToken(tf.ENCRYPTED,0)}END(){return this.getToken(tf.END,0)}ERROR(){return this.getToken(tf.ERROR,0)}ESCAPE(){return this.getToken(tf.ESCAPE,0)}EVALUATE(){return this.getToken(tf.EVALUATE,0)}EXCLUDE(){return this.getToken(tf.EXCLUDE,0)}EXCLUSION(){return this.getToken(tf.EXCLUSION,0)}EXCLUSIVE(){return this.getToken(tf.EXCLUSIVE,0)}EXPLAIN(){return this.getToken(tf.EXPLAIN,0)}EXPORT(){return this.getToken(tf.EXPORT,0)}EXTERNAL(){return this.getToken(tf.EXTERNAL,0)}FAIL(){return this.getToken(tf.FAIL,0)}FAMILY(){return this.getToken(tf.FAMILY,0)}FILTER(){return this.getToken(tf.FILTER,0)}FIRST(){return this.getToken(tf.FIRST,0)}FLATTEN(){return this.getToken(tf.FLATTEN,0)}FOLLOWING(){return this.getToken(tf.FOLLOWING,0)}FOR(){return this.getToken(tf.FOR,0)}FOREIGN(){return this.getToken(tf.FOREIGN,0)}FUNCTION(){return this.getToken(tf.FUNCTION,0)}GLOB(){return this.getToken(tf.GLOB,0)}GRANT(){return this.getToken(tf.GRANT,0)}GROUP(){return this.getToken(tf.GROUP,0)}GROUPING(){return this.getToken(tf.GROUPING,0)}HASH(){return this.getToken(tf.HASH,0)}IF(){return this.getToken(tf.IF,0)}IGNORE(){return this.getToken(tf.IGNORE,0)}ILIKE(){return this.getToken(tf.ILIKE,0)}IMMEDIATE(){return this.getToken(tf.IMMEDIATE,0)}IMPORT(){return this.getToken(tf.IMPORT,0)}IN(){return this.getToken(tf.IN,0)}INDEX(){return this.getToken(tf.INDEX,0)}INDEXED(){return this.getToken(tf.INDEXED,0)}INHERITS(){return this.getToken(tf.INHERITS,0)}INITIAL(){return this.getToken(tf.INITIAL,0)}INITIALLY(){return this.getToken(tf.INITIALLY,0)}INNER(){return this.getToken(tf.INNER,0)}INSERT(){return this.getToken(tf.INSERT,0)}INSTEAD(){return this.getToken(tf.INSTEAD,0)}INTO(){return this.getToken(tf.INTO,0)}IS(){return this.getToken(tf.IS,0)}ISNULL(){return this.getToken(tf.ISNULL,0)}JOIN(){return this.getToken(tf.JOIN,0)}KEY(){return this.getToken(tf.KEY,0)}LAST(){return this.getToken(tf.LAST,0)}LEFT(){return this.getToken(tf.LEFT,0)}LEGACY(){return this.getToken(tf.LEGACY,0)}LIKE(){return this.getToken(tf.LIKE,0)}MANAGE(){return this.getToken(tf.MANAGE,0)}MATCH(){return this.getToken(tf.MATCH,0)}MATCHES(){return this.getToken(tf.MATCHES,0)}MATCH_RECOGNIZE(){return this.getToken(tf.MATCH_RECOGNIZE,0)}MEASURES(){return this.getToken(tf.MEASURES,0)}MICROSECONDS(){return this.getToken(tf.MICROSECONDS,0)}MILLISECONDS(){return this.getToken(tf.MILLISECONDS,0)}MODIFY(){return this.getToken(tf.MODIFY,0)}NANOSECONDS(){return this.getToken(tf.NANOSECONDS,0)}NATURAL(){return this.getToken(tf.NATURAL,0)}NEXT(){return this.getToken(tf.NEXT,0)}NO(){return this.getToken(tf.NO,0)}NOTNULL(){return this.getToken(tf.NOTNULL,0)}NULLS(){return this.getToken(tf.NULLS,0)}OBJECT(){return this.getToken(tf.OBJECT,0)}OF(){return this.getToken(tf.OF,0)}OFFSET(){return this.getToken(tf.OFFSET,0)}OMIT(){return this.getToken(tf.OMIT,0)}ON(){return this.getToken(tf.ON,0)}ONE(){return this.getToken(tf.ONE,0)}ONLY(){return this.getToken(tf.ONLY,0)}OPTION(){return this.getToken(tf.OPTION,0)}OR(){return this.getToken(tf.OR,0)}ORDER(){return this.getToken(tf.ORDER,0)}OTHERS(){return this.getToken(tf.OTHERS,0)}OUTER(){return this.getToken(tf.OUTER,0)}OVER(){return this.getToken(tf.OVER,0)}PARALLEL(){return this.getToken(tf.PARALLEL,0)}PARTITION(){return this.getToken(tf.PARTITION,0)}PASSING(){return this.getToken(tf.PASSING,0)}PASSWORD(){return this.getToken(tf.PASSWORD,0)}PAST(){return this.getToken(tf.PAST,0)}PATTERN(){return this.getToken(tf.PATTERN,0)}PER(){return this.getToken(tf.PER,0)}PERMUTE(){return this.getToken(tf.PERMUTE,0)}PLAN(){return this.getToken(tf.PLAN,0)}PRAGMA(){return this.getToken(tf.PRAGMA,0)}PRECEDING(){return this.getToken(tf.PRECEDING,0)}PRESORT(){return this.getToken(tf.PRESORT,0)}PRIMARY(){return this.getToken(tf.PRIMARY,0)}PRIVILEGES(){return this.getToken(tf.PRIVILEGES,0)}QUEUE(){return this.getToken(tf.QUEUE,0)}RAISE(){return this.getToken(tf.RAISE,0)}REFERENCES(){return this.getToken(tf.REFERENCES,0)}REGEXP(){return this.getToken(tf.REGEXP,0)}REINDEX(){return this.getToken(tf.REINDEX,0)}RELEASE(){return this.getToken(tf.RELEASE,0)}REMOVE(){return this.getToken(tf.REMOVE,0)}RENAME(){return this.getToken(tf.RENAME,0)}REPLACE(){return this.getToken(tf.REPLACE,0)}REPLICATION(){return this.getToken(tf.REPLICATION,0)}RESET(){return this.getToken(tf.RESET,0)}RESPECT(){return this.getToken(tf.RESPECT,0)}RESTRICT(){return this.getToken(tf.RESTRICT,0)}RESULT(){return this.getToken(tf.RESULT,0)}REVERT(){return this.getToken(tf.REVERT,0)}REVOKE(){return this.getToken(tf.REVOKE,0)}RIGHT(){return this.getToken(tf.RIGHT,0)}RLIKE(){return this.getToken(tf.RLIKE,0)}ROLLBACK(){return this.getToken(tf.ROLLBACK,0)}ROW(){return this.getToken(tf.ROW,0)}SAMPLE(){return this.getToken(tf.SAMPLE,0)}SAVEPOINT(){return this.getToken(tf.SAVEPOINT,0)}SECONDS(){return this.getToken(tf.SECONDS,0)}SEEK(){return this.getToken(tf.SEEK,0)}SEMI(){return this.getToken(tf.SEMI,0)}SETS(){return this.getToken(tf.SETS,0)}SHOW(){return this.getToken(tf.SHOW,0)}SKIP_RULE(){return this.getToken(tf.SKIP_RULE,0)}SOURCE(){return this.getToken(tf.SOURCE,0)}SUBQUERY(){return this.getToken(tf.SUBQUERY,0)}SUBSET(){return this.getToken(tf.SUBSET,0)}SYMBOLS(){return this.getToken(tf.SYMBOLS,0)}SYNC(){return this.getToken(tf.SYNC,0)}SYSTEM(){return this.getToken(tf.SYSTEM,0)}TABLE(){return this.getToken(tf.TABLE,0)}TABLES(){return this.getToken(tf.TABLES,0)}TABLESAMPLE(){return this.getToken(tf.TABLESAMPLE,0)}TABLESTORE(){return this.getToken(tf.TABLESTORE,0)}TEMP(){return this.getToken(tf.TEMP,0)}TEMPORARY(){return this.getToken(tf.TEMPORARY,0)}THEN(){return this.getToken(tf.THEN,0)}TIES(){return this.getToken(tf.TIES,0)}TO(){return this.getToken(tf.TO,0)}TOPIC(){return this.getToken(tf.TOPIC,0)}TRANSACTION(){return this.getToken(tf.TRANSACTION,0)}TRIGGER(){return this.getToken(tf.TRIGGER,0)}TYPE(){return this.getToken(tf.TYPE,0)}UNCONDITIONAL(){return this.getToken(tf.UNCONDITIONAL,0)}UNIQUE(){return this.getToken(tf.UNIQUE,0)}UNKNOWN(){return this.getToken(tf.UNKNOWN,0)}UNMATCHED(){return this.getToken(tf.UNMATCHED,0)}UPDATE(){return this.getToken(tf.UPDATE,0)}UPSERT(){return this.getToken(tf.UPSERT,0)}USE(){return this.getToken(tf.USE,0)}USER(){return this.getToken(tf.USER,0)}USING(){return this.getToken(tf.USING,0)}VACUUM(){return this.getToken(tf.VACUUM,0)}VALUES(){return this.getToken(tf.VALUES,0)}VIEW(){return this.getToken(tf.VIEW,0)}VIRTUAL(){return this.getToken(tf.VIRTUAL,0)}WITH(){return this.getToken(tf.WITH,0)}WRAPPER(){return this.getToken(tf.WRAPPER,0)}XOR(){return this.getToken(tf.XOR,0)}get ruleIndex(){return tf.RULE_keyword_compat}accept(t){return t.visitKeyword_compat?t.visitKeyword_compat(this):t.visitChildren(this)}},lK=class extends ga{constructor(t,e){super(t,e)}OPTIONAL(){return this.getToken(tf.OPTIONAL,0)}TUPLE(){return this.getToken(tf.TUPLE,0)}STRUCT(){return this.getToken(tf.STRUCT,0)}VARIANT(){return this.getToken(tf.VARIANT,0)}LIST(){return this.getToken(tf.LIST,0)}FLOW(){return this.getToken(tf.FLOW,0)}DICT(){return this.getToken(tf.DICT,0)}SET(){return this.getToken(tf.SET,0)}ENUM(){return this.getToken(tf.ENUM,0)}RESOURCE(){return this.getToken(tf.RESOURCE,0)}TAGGED(){return this.getToken(tf.TAGGED,0)}CALLABLE(){return this.getToken(tf.CALLABLE,0)}get ruleIndex(){return tf.RULE_type_id}accept(t){return t.visitType_id?t.visitType_id(this):t.visitChildren(this)}},OK=class extends ga{constructor(t,e){super(t,e)}TRUE(){return this.getToken(tf.TRUE,0)}FALSE(){return this.getToken(tf.FALSE,0)}get ruleIndex(){return tf.RULE_bool_value}accept(t){return t.visitBool_value?t.visitBool_value(this):t.visitChildren(this)}},IK=class extends ga{constructor(t,e){super(t,e)}REAL(){return this.getToken(tf.REAL,0)}get ruleIndex(){return tf.RULE_real}accept(t){return t.visitReal?t.visitReal(this):t.visitChildren(this)}},uK=class extends ga{constructor(t,e){super(t,e)}DIGITS(){return this.getToken(tf.DIGITS,0)}INTEGER_VALUE(){return this.getToken(tf.INTEGER_VALUE,0)}get ruleIndex(){return tf.RULE_integer}accept(t){return t.visitInteger?t.visitInteger(this):t.visitChildren(this)}},NK=class extends ga{constructor(t,e){super(t,e)}sql_stmt_list_yq(){return this.getRuleContext(0,LK)}PRAGMA(){return this.getToken(tf.PRAGMA,0)}ANSI(){return this.getToken(tf.ANSI,0)}DIGITS(){return this.getToken(tf.DIGITS,0)}ansi_sql_stmt_list(){return this.getRuleContext(0,af)}get ruleIndex(){return tf.RULE_sql_query_yq}accept(t){return t.visitSql_query_yq?t.visitSql_query_yq(this):t.visitChildren(this)}},LK=class extends ga{constructor(t,e){super(t,e)}sql_stmt_yq(t){return void 0===t?this.getRuleContexts(CK):this.getRuleContext(t,CK)}EOF(){return this.getToken(tf.EOF,0)}SEMICOLON(t){return void 0===t?this.getTokens(tf.SEMICOLON):this.getToken(tf.SEMICOLON,t)}get ruleIndex(){return tf.RULE_sql_stmt_list_yq}accept(t){return t.visitSql_stmt_list_yq?t.visitSql_stmt_list_yq(this):t.visitChildren(this)}},CK=class extends ga{constructor(t,e){super(t,e)}sql_stmt_core_yq(){return this.getRuleContext(0,_K)}EXPLAIN(){return this.getToken(tf.EXPLAIN,0)}QUERY(){return this.getToken(tf.QUERY,0)}PLAN(){return this.getToken(tf.PLAN,0)}get ruleIndex(){return tf.RULE_sql_stmt_yq}accept(t){return t.visitSql_stmt_yq?t.visitSql_stmt_yq(this):t.visitChildren(this)}},_K=class extends ga{constructor(t,e){super(t,e)}pragma_stmt(){return this.getRuleContext(0,cw)}select_stmt(){return this.getRuleContext(0,Tw)}named_nodes_stmt(){return this.getRuleContext(0,mX)}use_stmt(){return this.getRuleContext(0,dX)}into_table_stmt_yq(){return this.getRuleContext(0,Pb)}declare_stmt(){return this.getRuleContext(0,$Y)}import_stmt(){return this.getRuleContext(0,ew)}export_stmt(){return this.getRuleContext(0,sw)}do_stmt(){return this.getRuleContext(0,iw)}define_action_or_subquery_stmt(){return this.getRuleContext(0,SV)}if_stmt(){return this.getRuleContext(0,OV)}for_stmt(){return this.getRuleContext(0,IV)}values_stmt(){return this.getRuleContext(0,db)}get ruleIndex(){return tf.RULE_sql_stmt_core_yq}accept(t){return t.visitSql_stmt_core_yq?t.visitSql_stmt_core_yq(this):t.visitChildren(this)}},PK=class extends ga{constructor(t,e){super(t,e)}AS(){return this.getToken(tf.AS,0)}object_ref(){return this.getRuleContext(0,PV)}get ruleIndex(){return tf.RULE_replication_name}accept(t){return t.visitReplication_name?t.visitReplication_name(this):t.visitChildren(this)}},MK=class extends ga{constructor(t,e){super(t,e)}WHERE(){return this.getToken(tf.WHERE,0)}expr(){return this.getRuleContext(0,Ef)}get ruleIndex(){return tf.RULE_where_expr}accept(t){return t.visitWhere_expr?t.visitWhere_expr(this):t.visitChildren(this)}},dK=class extends ga{constructor(t,e){super(t,e)}FROM(){return this.getToken(tf.FROM,0)}join_source(){return this.getRuleContext(0,Eb)}get ruleIndex(){return tf.RULE_from_stmt}accept(t){return t.visitFrom_stmt?t.visitFrom_stmt(this):t.visitChildren(this)}},UK=class extends ga{constructor(t,e){super(t,e)}alter_table_stmt(){return this.getRuleContext(0,aW)}alter_table_store_stmt(){return this.getRuleContext(0,nW)}get ruleIndex(){return tf.RULE_alter_table_for_autocomplete}accept(t){return t.visitAlter_table_for_autocomplete?t.visitAlter_table_for_autocomplete(this):t.visitChildren(this)}},mK=class extends Ii{},DK={SPACE:tf.WS,FROM:tf.FROM,OPENING_BRACKET:tf.LPAREN,CLOSING_BRACKET:tf.RPAREN,ALTER:tf.ALTER,INSERT:tf.INSERT,UPDATE:tf.UPDATE,JOIN:tf.JOIN,SEMICOLON:tf.SEMICOLON,SELECT:tf.SELECT};function pK(t){let e=new Map(t.map((t=>[t,!0])));return{anyRuleInList:t=>(Array.isArray(t)?t:[t]).some((t=>e.has(t))),allRulesInList:t=>!t.some((t=>!e.has(t)))}}var gK=tf.ruleNames;function xK(t){let e=t.findIndex((t=>t===tf.RULE_sql_stmt_core||t===tf.RULE_sql_stmt_core_yq));if(-1===e)return;let s=t[e+1];return s?gK[s]:void 0}var kK={suggestObject:"object",suggestTableStore:"tableStore",suggestTable:"table",suggestExternalTable:"externalTable",suggestExternalDatasource:"externalDataSource",suggestTopic:"topic",suggestView:"view",suggestReplication:"replication",suggestGroup:"group",suggestUser:"user"};function HK(t,e,s){let a={...pK(t),cursorTokenIndex:e,tokenStream:s},r=function(t){let{anyRuleInList:e,allRulesInList:s}=t;if(s([tf.RULE_select_stmt,tf.RULE_id_expr]))return!e([tf.RULE_window_specification_details,tf.RULE_group_by_clause,tf.RULE_table_ref,tf.RULE_where_expr])||void 0}(a),i=function(t){let{anyRuleInList:e}=t;return e([tf.RULE_alter_object_stmt,tf.RULE_drop_object_stmt])&&e(tf.RULE_id_or_at)}(a),c=function(t){let{anyRuleInList:e,tokenStream:s,cursorTokenIndex:a}=t;if(!e(tf.RULE_id_or_at))return;let r=e(tf.RULE_drop_table_stmt)&&!!UC(s,DK,a,tf.TABLESTORE);return e(tf.RULE_alter_table_store_stmt)||r}(a),n=function(t){let{anyRuleInList:e,allRulesInList:s,tokenStream:a,cursorTokenIndex:r}=t;if(!e([tf.RULE_id_or_at,tf.RULE_id_table_or_type]))return;let i=e(tf.RULE_replication_target)&&!e(tf.RULE_replication_name),c=s([tf.RULE_simple_table_ref])&&!UC(a,DK,r,tf.CREATE)&&!UC(a,DK,r,tf.EXTERNAL);return e([tf.RULE_table_ref,tf.RULE_table_inherits])||c||i}(a),h=function(t){let{anyRuleInList:e,tokenStream:s,cursorTokenIndex:a}=t;if(!e(tf.RULE_role_name))return;let r=!!UC(s,DK,a,tf.USER),i=!!UC(s,DK,a,tf.RENAME),c=e(tf.RULE_revoke_permissions_stmt),n=e(tf.RULE_alter_group_stmt)&&!i&&r,h=e(tf.RULE_create_group_stmt)&&r,E=e(tf.RULE_alter_user_stmt)&&!i;return e(tf.RULE_drop_role_stmt)&&r||E||h||n||c}(a),E=function(t){let{anyRuleInList:e,tokenStream:s,cursorTokenIndex:a}=t;if(!e(tf.RULE_role_name))return;let r=!!UC(s,DK,a,tf.GROUP),i=!!UC(s,DK,a,tf.USER),c=!!UC(s,DK,a,tf.RENAME),n=e(tf.RULE_drop_role_stmt)&&r,h=e(tf.RULE_alter_group_stmt)&&!c&&!i;return e(tf.RULE_revoke_permissions_stmt)||h||n}(a),T=function(t){let{anyRuleInList:e}=t;if(e([tf.RULE_an_id,tf.RULE_topic_ref]))return e([tf.RULE_drop_topic_stmt,tf.RULE_alter_topic_stmt])}(a),o=function(t){let{allRulesInList:e}=t;return e([tf.RULE_drop_view_stmt,tf.RULE_id_or_at])||e([tf.RULE_table_ref,tf.RULE_id_table_or_type])}(a),R=function(t){let{anyRuleInList:e}=t;if(e(tf.RULE_id_or_at))return e([tf.RULE_alter_replication_stmt,tf.RULE_drop_replication_stmt])}(a),A=function(t){let{allRulesInList:e,tokenStream:s,cursorTokenIndex:a}=t,r=!!UC(s,DK,a,tf.EXTERNAL);return e([tf.RULE_id_or_at,tf.RULE_drop_table_stmt])&&r||e([tf.RULE_table_ref,tf.RULE_id_table_or_type])}(a),S=function(t){let{anyRuleInList:e}=t;if(e(tf.RULE_id_or_at))return e([tf.RULE_drop_external_data_source_stmt,tf.RULE_alter_external_data_source_stmt])}(a),l=function(t){let{anyRuleInList:e}=t;if(e(tf.RULE_an_id))return e([tf.RULE_alter_table_drop_index,tf.RULE_alter_table_rename_index_to])}(a),O=function(t){let{anyRuleInList:e,tokenStream:s,cursorTokenIndex:a}=t;if(!e([tf.RULE_an_id,tf.RULE_id_expr])||e([tf.RULE_table_ref,tf.RULE_values_stmt,tf.RULE_alter_table_add_column,tf.RULE_lambda_stmt]))return;let r=e(tf.RULE_select_kind)&&!UC(s,DK,a,tf.LIMIT),i=e(tf.RULE_alter_table_alter_column)&&!UC(s,DK,a,tf.FAMILY);return e([tf.RULE_pure_column_list,tf.RULE_pure_column_or_named,tf.RULE_column_name,tf.RULE_without_column_name,tf.RULE_alter_table_drop_column,tf.RULE_delete_stmt])||i||r}(a),I=function(t){let{anyRuleInList:e}=t;return e(tf.RULE_type_name_simple)}(a),u=function(t){let{allRulesInList:e}=t;return e([tf.RULE_an_id,tf.RULE_pragma_stmt])}(a),N=function(t){let{anyRuleInList:e}=t;if(e([tf.RULE_atom_expr,tf.RULE_in_atom_expr])&&!e(tf.RULE_table_ref))return e(tf.RULE_select_stmt)}(a),L=function(t){let{allRulesInList:e}=t;return e([tf.RULE_id_expr,tf.RULE_table_ref])}(a),C=function(t){let{anyRuleInList:e}=t;if(e(tf.RULE_id_expr)&&!e(tf.RULE_table_ref))return e(tf.RULE_select_stmt)}(a),_=function(t){let{anyRuleInList:e,allRulesInList:s}=t;if(s([tf.RULE_select_stmt,tf.RULE_id_expr]))return!e([tf.RULE_group_by_clause,tf.RULE_table_ref,tf.RULE_where_expr])||void 0}(a),P=function(t){let{allRulesInList:e}=t;return e([tf.RULE_an_id_hint,tf.RULE_table_hint])}(a),M=function(t){let{allRulesInList:e,anyRuleInList:s}=t;if(!s([tf.RULE_table_setting_value,tf.RULE_topic_setting_value,tf.RULE_topic_consumer_setting_value])){if(e([tf.RULE_with_table_settings,tf.RULE_an_id]))return s(tf.RULE_create_external_data_source_stmt)?"externalDataSource":s(tf.RULE_create_view_stmt)?"view":s(tf.RULE_create_table_stmt)?"table":void 0;if(e([tf.RULE_with_topic_settings,tf.RULE_an_id]))return"topic";if(e([tf.RULE_topic_consumer_with_settings,tf.RULE_an_id]))return"topicConsumer";if(e([tf.RULE_replication_settings,tf.RULE_an_id]))return"replication"}}(a);return{suggestWindowFunctions:r,shouldSuggestTableIndexes:l,shouldSuggestColumns:O,shouldSuggestColumnAliases:O,suggestSimpleTypes:I,suggestPragmas:u,suggestUdfs:N,suggestTableFunctions:L,suggestFunctions:C,suggestAggregateFunctions:_,suggestTableHints:P?xK(t):void 0,suggestEntitySettings:M,suggestObject:i,suggestTableStore:c,suggestTable:n,suggestUser:h,suggestGroup:E,suggestTopic:T,suggestView:o,suggestReplication:R,suggestExternalTable:A,suggestExternalDatasource:S}}var GK=new Set(function(){let t=[],e=tf.EQUALS,s=tf.LBRACE_SQUARE;for(let a=e;a<=s;a++)a!==tf.ASTERISK&&t.push(a);return t.push(tf.STREAM),t.push(tf.STRING_VALUE),t.push(tf.REAL),t.push(tf.EOF),t.push(tf.DIGITS),t.push(tf.BLOB),t.push(tf.CURRENT_TIME),t.push(tf.CURRENT_DATE),t.push(tf.CURRENT_TIMESTAMP),t}()),FK=new Set([tf.RULE_id_or_type,tf.RULE_cluster_expr,tf.RULE_identifier,tf.RULE_id,tf.RULE_integer,tf.RULE_type_id,tf.RULE_keyword,tf.RULE_keyword_compat,tf.RULE_keyword_expr_uncompat,tf.RULE_keyword_table_uncompat,tf.RULE_keyword_select_uncompat,tf.RULE_keyword_alter_uncompat,tf.RULE_keyword_in_uncompat,tf.RULE_keyword_window_uncompat,tf.RULE_keyword_hint_uncompat,tf.RULE_id_schema,tf.RULE_id_expr_in,tf.RULE_id_window,tf.RULE_id_table,tf.RULE_id_without,tf.RULE_id_hint,tf.RULE_id_as_compat]),vK=class extends mK{constructor(){super(),this.visitSimple_table_ref_core=t=>{try{var e,s,a;let r=null===(e=t.object_ref())||void 0===e||null===(s=e.id_or_at())||void 0===s||null===(a=s.an_id_or_type())||void 0===a?void 0:a.getText();r&&this.symbolTable.addNewSymbolOfType(qc,this.scope,r)}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitAlter_table_store_stmt=t=>{try{var e,s;this.symbolTable.addNewSymbolOfType(qc,this.scope,null===(e=t.object_ref())||void 0===e||null===(s=e.id_or_at())||void 0===s?void 0:s.getText())}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitNamed_single_source=t=>{try{var e,s,a,r,i;this.symbolTable.addNewSymbolOfType(qc,this.scope,null!==(e=null===(s=t.single_source().table_ref())||void 0===s?void 0:s.getText())&&void 0!==e?e:"",null!==(a=null===(r=t.an_id())||void 0===r?void 0:r.getText())&&void 0!==a?a:null===(i=t.an_id_as_compat())||void 0===i?void 0:i.getText())}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitNamed_column=t=>{try{var e;let s=null===(e=t.an_id())||void 0===e?void 0:e.getText();s&&this.symbolTable.addNewSymbolOfType(zc,this.scope,s)}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitNamed_expr=t=>{try{var e;let s=null===(e=t.an_id_or_type())||void 0===e?void 0:e.getText();s&&this.symbolTable.addNewSymbolOfType(zc,this.scope,s)}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.visitResult_column=t=>{try{var e,s,a;let r=null!==(e=null===(s=t.an_id_or_type())||void 0===s?void 0:s.getText())&&void 0!==e?e:null===(a=t.an_id_as_compat())||void 0===a?void 0:a.getText();r&&this.symbolTable.addNewSymbolOfType(zc,this.scope,r)}catch($c){if(!($c instanceof vc))throw $c}return this.visitChildren(t)},this.symbolTable=new Zc("",{allowDuplicateSymbols:!0}),this.scope=this.symbolTable.addNewSymbolOfType(Bc,void 0)}};function BK(t,e){return e?fK(t,e):t.sql_query()}function yK(t,e){return e?fK(t,e):t.sql_query_yq()}function fK(t,e){switch(e){case"from":return t.from_stmt();case"alter":return t.alter_table_for_autocomplete();case"insert":return t.into_table_stmt();case"update":return t.update_stmt();case"select":return t.select_core()}}function YK(t){return(e,s,a,r,i,c)=>{let{shouldSuggestColumns:n,shouldSuggestColumnAliases:h,shouldSuggestTableIndexes:E,...T}=function(t,e,s){let a={};for(let[O,I]of t){if(!uC(e,I))break;switch(O){case tf.RULE_id_table:case tf.RULE_id_hint:case tf.RULE_identifier:case tf.RULE_id_or_type:case tf.RULE_id:{let t=HK(I.ruleList,e,s),r=Object.fromEntries(Object.entries(t).filter((t=>{let[e,s]=t;return s})));a={...a,...r}}}}let{suggestObject:r,suggestTableStore:i,suggestTable:c,suggestUser:n,suggestGroup:h,suggestTopic:E,suggestView:T,suggestReplication:o,suggestExternalTable:R,suggestExternalDatasource:A,...S}=a,l=Object.entries({suggestObject:r,suggestTableStore:i,suggestTable:c,suggestUser:n,suggestGroup:h,suggestTopic:E,suggestView:T,suggestReplication:o,suggestExternalTable:R,suggestExternalDatasource:A}).filter((t=>{let[e,s]=t;return s})).map((t=>{let[e]=t;return kK[e]}));return{suggestEntity:l.length?l:void 0,...S}}(s,r,a),o={...e,...T,suggestTemplates:_C(c,i)};if(n||h||E){let e=new vK,{tableContextSuggestion:s,suggestColumnAliases:r}=mC($y,tf,e,DK,t,a,i,c,!0);n&&s&&(o.suggestColumns={tables:s.tables}),E&&s&&(o.suggestTableIndexes={tables:s.tables}),h&&r&&(o.suggestColumnAliases=r)}return o}}var wK=new ef(null,-1),bK={Lexer:$y,Parser:tf,tokenDictionary:DK,ignoredTokens:GK,rulesToVisit:FK,getParseTree:BK,enrichAutocompleteResult:YK(BK),context:wK},WK=new NK(null,-1),VK={Lexer:$y,Parser:tf,tokenDictionary:DK,ignoredTokens:GK,rulesToVisit:FK,getParseTree:yK,enrichAutocompleteResult:YK(yK),context:WK};function XK(t,e,s,a,r){let i=PC(t,e,r),c=new NG(s.SPACE);return i.removeErrorListeners(),i.addErrorListener(c),a(i),{errors:c.errors}}var KK=/^'(.*)'$/;function QK(t,e,s,a,r,i,c,n,h,E){let T=PC(t,e,n),{tokenStream:o}=T,R=new NG(s.SPACE);T.removeErrorListeners(),T.addErrorListener(R),i(T);let A=new Jc(T);A.ignoredTokens=a,A.preferredRules=r;let S=IC(o,h,s.SPACE);if(void 0===S)throw new Error("Could not find cursor token index for line: ".concat(h.line,", column: ").concat(h.column));let l=[],{tokens:O,rules:I}=A.collectCandidates(S,E);return O.forEach(((t,e)=>{var s;let a=(null===(s=T.vocabulary.getLiteralName(e))||void 0===s?void 0:s.replace(KK,"$1"))||T.vocabulary.getSymbolicName(e);if(!a)throw new Error("Could not get name for token ".concat(e));l.push({value:a})})),c({errors:R.errors,suggestKeywords:l},I,o,S,h,n)}function JK(t){return XK(uG.Lexer,uG.Parser,uG.tokenDictionary,uG.getParseTree,t)}function ZK(t,e){return QK(uG.Lexer,uG.Parser,uG.tokenDictionary,uG.ignoredTokens,uG.rulesToVisit,uG.getParseTree,uG.enrichAutocompleteResult,t,e)}function qK(t){return XK(HC.Lexer,HC.Parser,HC.tokenDictionary,HC.getParseTree,t)}function jK(t,e){return QK(HC.Lexer,HC.Parser,HC.tokenDictionary,HC.ignoredTokens,HC.rulesToVisit,HC.getParseTree,HC.enrichAutocompleteResult,t,e)}function zK(t){return XK(zy.Lexer,zy.Parser,zy.tokenDictionary,zy.getParseTree,t)}function $K(t,e){return QK(zy.Lexer,zy.Parser,zy.tokenDictionary,zy.ignoredTokens,zy.rulesToVisit,zy.getParseTree,zy.enrichAutocompleteResult,t,e)}function tQ(t){return XK(bK.Lexer,bK.Parser,bK.tokenDictionary,bK.getParseTree,t)}function eQ(t,e){return QK(bK.Lexer,bK.Parser,bK.tokenDictionary,bK.ignoredTokens,bK.rulesToVisit,bK.getParseTree,bK.enrichAutocompleteResult,t,e,bK.context)}function sQ(t){return XK(VK.Lexer,VK.Parser,VK.tokenDictionary,VK.getParseTree,t)}function aQ(t,e){return QK(VK.Lexer,VK.Parser,VK.tokenDictionary,VK.ignoredTokens,VK.rulesToVisit,VK.getParseTree,VK.enrichAutocompleteResult,t,e,VK.context)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkydb_embedded_ui=self.webpackChunkydb_embedded_ui||[]).push([[8607],{68607:(t,e,s)=>{function a(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function r(t,e,s){a(t,e),e.set(t,s)}s.r(e),s.d(e,{TableOrViewSuggestion:()=>tn,parseClickHouseQuery:()=>$K,parseClickHouseQueryWithoutCursor:()=>zK,parseMySqlQuery:()=>ZK,parseMySqlQueryWithoutCursor:()=>JK,parsePostgreSqlQuery:()=>jK,parsePostgreSqlQueryWithoutCursor:()=>qK,parseYqQuery:()=>aQ,parseYqQueryWithoutCursor:()=>sQ,parseYqlQuery:()=>eQ,parseYqlQueryWithoutCursor:()=>tQ});var i,c,n,h,E,T,o,R,A,S,l,O,I,u,N,L,C,_,P,M,d,U,m,D,p,g,x,k,H,G,F,v,B,y,f,Y,w,b,W,V,X,K,Q,J,Z,q,j,z,$,tt,et,st,at,rt,it,ct,nt,ht,Et,Tt,ot,Rt,At,St,lt,Ot,It,ut,Nt,Lt,Ct,_t,Pt,Mt,dt,Ut,mt,Dt,pt,gt,xt,kt,Ht,Gt,Ft,vt,Bt,yt,ft,Yt,wt,bt,Wt,Vt,Xt,Kt,Qt,Jt,Zt,qt,jt,zt,$t,te,ee,se,ae,re,ie,ce,ne,he,Ee,Te,oe,Re,Ae,Se,le,Oe,Ie,ue,Ne,Le,Ce,_e,Pe,Me,de,Ue,me,De,pe,ge,xe,ke,He,Ge,Fe,ve,Be,ye,fe,Ye,we,be,We,Ve,Xe,Ke,Qe,Je,Ze,qe,je,ze,$e,ts,es,ss,as,rs,is,cs,ns,hs,Es,Ts,os,Rs,As,Ss,ls,Os,Is,us,Ns,Ls,Cs,_s,Ps,Ms,ds,Us,ms,Ds,ps,gs,xs,ks,Hs,Gs,Fs,vs,Bs,ys,fs,Ys,ws,bs,Ws,Vs,Xs,Ks,Qs,Js,Zs,qs,js=s(64572);function zs(t,e,s){if(!e.has(t))throw new TypeError("attempted to "+s+" private field on non-instance");return e.get(t)}function $s(t,e,s){return function(t,e,s){if(e.set)e.set.call(t,s);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=s}}(t,zs(t,e,"set"),s),s}function ta(t,e){return e.get?e.get.call(t):e.value}function ea(t,e){return ta(t,zs(t,e,"get"))}function sa(t,e,s){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return s}function aa(t,e,s){return function(t,e){if(t!==e)throw new TypeError("Private static access of wrong provenance")}(t,e),function(t,e){if(void 0===t)throw new TypeError("attempted to "+e+" private static field before its declaration")}(s,"get"),ta(t,s)}var ra,ia,ca,na,ha=Object.defineProperty,Ea=(t,e)=>ha(t,"name",{value:e,configurable:!0});(ia=ra||(ra={})).EOF=-1,ia.UNKNOWN_SOURCE_NAME="",(na=ca||(ca={})).INVALID_TYPE=0,na.EPSILON=-2,na.MIN_USER_TOKEN_TYPE=1,na.EOF=ra.EOF,na.DEFAULT_CHANNEL=0,na.HIDDEN_CHANNEL=1,na.MIN_USER_CHANNEL_VALUE=2;var Ta=Ea((t=>{const e=t;return void 0!==e.tokenSource&&void 0!==e.channel}),"isToken"),oa=(c=new WeakMap,i=class t{constructor(t,e){(0,js.Z)(this,"start",void 0),(0,js.Z)(this,"stop",void 0),r(this,c,{writable:!0,value:void 0}),this.start=t,this.stop=e,$s(this,c,Math.imul(651+t,31)+e)}static of(e,s){return e!==s||e<0||e>t.INTERVAL_POOL_MAX_VALUE?new t(e,s):(aa(t,i,n)[e]||(aa(t,i,n)[e]=new t(e,e)),aa(t,i,n)[e])}equals(t){return this.start===t.start&&this.stop===t.stop}hashCode(){return ea(this,c)}startsBeforeDisjoint(t){return this.start=t.start}startsAfter(t){return this.start>t.start}startsAfterDisjoint(t){return this.start>t.stop}startsAfterNonDisjoint(t){return this.start>t.start&&this.start<=t.stop}disjoint(t){return this.startsBeforeDisjoint(t)||this.startsAfterDisjoint(t)}adjacent(t){return this.start===t.stop+1||this.stop===t.start-1}properlyContains(t){return t.start>=this.start&&t.stop<=this.stop}union(e){return t.of(Math.min(this.start,e.start),Math.max(this.stop,e.stop))}intersection(e){return t.of(Math.max(this.start,e.start),Math.min(this.stop,e.stop))}differenceNotProperlyContained(e){let s=null;return e.startsBeforeNonDisjoint(this)?s=t.of(Math.max(this.start,e.stop+1),this.stop):e.startsAfterNonDisjoint(this)&&(s=t.of(this.start,e.start-1)),s}toString(){return this.start===this.stop?this.start.toString():this.start.toString()+".."+this.stop.toString()}get length(){return this.stop0){const e=r.charAt(0);if("'"===e){a[t]=null;continue}if(e.toUpperCase()===e){s[t]=null;continue}}s[t]=null,a[t]=null}}return new t(s,a,e)}getMaxTokenType(){return this.maxTokenType}getLiteralName(t){return t>=0&&t=0&&t=0&&t0&&void 0!==arguments[0]?arguments[0]:aa(t,E,T)}static updateFromComparable(t,e){var s;return this.update(t,null!==(s=null===e||void 0===e?void 0:e.hashCode())&&void 0!==s?s:0)}static update(t,e){return e=(e=Math.imul(e,3432918353))<<15|e>>>17,t=(t^=e=Math.imul(e,461845907))<<13|t>>>19,t=Math.imul(t,5)+3864292196}},"MurmurHash"),T={writable:!0,value:701},(0,js.Z)(E,"finish",((t,e)=>(t^=4*e,t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16))),(0,js.Z)(E,"hashCode",((t,e)=>E.finish(E.update(null!==e&&void 0!==e?e:aa(E,E,T),t),1))),E),Sa=(R=new WeakMap,A=new WeakMap,o=class t{constructor(t){r(this,R,{writable:!0,value:[]}),r(this,A,{writable:!0,value:void 0}),t&&this.addSet(t)}static of(e,s){const a=new t;return a.addRange(e,s),a}[Symbol.iterator](){return ea(this,R)[Symbol.iterator]()}get(t){return ea(this,R)[t]}get minElement(){return 0===ea(this,R).length?ca.INVALID_TYPE:ea(this,R)[0].start}get maxElement(){return 0===ea(this,R).length?ca.INVALID_TYPE:ea(this,R)[ea(this,R).length-1].stop}clear(){$s(this,A,void 0),$s(this,R,[])}addOne(t){this.addInterval(new oa(t,t))}addRange(t,e){this.addInterval(new oa(t,e))}addInterval(t){if($s(this,A,void 0),0===ea(this,R).length)ea(this,R).push(t);else{for(let e=0;ethis.addInterval(t)),this),this}complementWithVocabulary(e){const s=new t;return e?0===e.length?s:(s.addSet(e),s.subtract(this)):s}complement(e,s){const a=new t;return a.addInterval(new oa(e,s)),a.subtract(this)}or(e){const s=new t;return s.addSet(this),e.forEach((t=>s.addSet(t))),s}and(e){if(0===e.length)return new t;const s=ea(this,R),a=ea(e,R);let r;const i=s.length,c=a.length;let n=0,h=0;for(;nt.stop){a++;continue}let c,n;i.start>t.start&&(c=new oa(t.start,i.start-1)),i.stopt))return!0;s=a-1}}return!1}removeRange(t){if($s(this,A,void 0),t.start===t.stop)this.removeOne(t.start);else if(null!==ea(this,R)){let e=0;for(const s of ea(this,R)){if(t.stop<=s.start)return;if(t.start>s.start&&t.stop=s.stop?(ea(this,R).splice(e,1),e-=1):t.start1&&(e+="{");for(let s=0;s":e+=t?"'"+String.fromCodePoint(r)+"'":r:e+=t?"'"+String.fromCodePoint(r)+"'..'"+String.fromCodePoint(i)+"'":r+".."+i,s1&&(e+="}"),e}toStringWithVocabulary(t){if(0===ea(this,R).length)return"{}";let e="";this.length>1&&(e+="{");for(let s=0;s":e+=this.elementName(t,r);else for(let s=r;s<=i;++s)s>r&&(e+=", "),e+=this.elementName(t,s);s1&&(e+="}"),e}toStringWithRuleNames(t){if(0===ea(this,R).length)return"{}";let e="";this.length>1&&(e+="{");const s=Ra.fromTokenNames(t);for(let a=0;a":e+=this.elementName(s,r);else for(let a=r;a<=i;++a)a>r&&(e+=", "),e+=this.elementName(s,a);a1&&(e+="}"),e}toArray(){const t=[];for(const e of ea(this,R))for(let s=e.start;s<=e.stop;s++)t.push(s);return t}get length(){let t=0;if(1===ea(this,R).length){const t=ea(this,R)[0];return t.stop-t.start+1}for(const e of ea(this,R))t+=e.length;return t}elementName(t,e){return e===ca.EOF?"":e===ca.EPSILON?"":t.getDisplayName(e)}},Ea(o,"IntervalSet"),o),la=(Ea(S=class{constructor(t){(0,js.Z)(this,"target",void 0),this.target=t}get isEpsilon(){return!1}get label(){return null}},"Transition"),(0,js.Z)(S,"INVALID",0),(0,js.Z)(S,"EPSILON",1),(0,js.Z)(S,"RANGE",2),(0,js.Z)(S,"RULE",3),(0,js.Z)(S,"PREDICATE",4),(0,js.Z)(S,"ATOM",5),(0,js.Z)(S,"ACTION",6),(0,js.Z)(S,"SET",7),(0,js.Z)(S,"NOT_SET",8),(0,js.Z)(S,"WILDCARD",9),(0,js.Z)(S,"PRECEDENCE",10),S),Oa=(Ea(l=class extends la{constructor(t,e){super(t),(0,js.Z)(this,"set",void 0),this.set=e||Sa.of(ca.INVALID_TYPE,ca.INVALID_TYPE)}get transitionType(){return la.SET}get label(){return this.set}matches(t,e,s){return this.set.contains(t)}toString(){return this.set.toString()}},"SetTransition"),l),Ia=(Ea(O=class extends Oa{get transitionType(){return la.NOT_SET}matches(t,e,s){return t>=e&&t<=s&&!super.matches(t,e,s)}toString(){return"~"+super.toString()}},"NotSetTransition"),O),ua=(u=new WeakMap,Ea(I=class t{constructor(t){r(this,u,{writable:!0,value:void 0}),$s(this,u,t)}static calculateEmptyHashCode(){let t=Aa.initialize(31);return t=Aa.finish(t,0),t}static calculateHashCodeSingle(t,e){let s=Aa.initialize(31);return s=Aa.updateFromComparable(s,t),s=Aa.update(s,e),s=Aa.finish(s,2),s}static calculateHashCodeList(t,e){let s=Aa.initialize(31);for(const a of t)s=Aa.updateFromComparable(s,a);for(const a of e)s=Aa.update(s,a);return s=Aa.finish(s,2*t.length),s}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===t.EMPTY_RETURN_STATE}hashCode(){return ea(this,u)}toString(t){return""}},"PredictionContext"),(0,js.Z)(I,"EMPTY_RETURN_STATE",2147483647),(0,js.Z)(I,"EMPTY",void 0),(0,js.Z)(I,"traceATNSimulator",!1),I),Na=Ea((t=>null===t?"null":t),"valueToString"),La=Ea((t=>Array.isArray(t)?"["+t.map(Na).join(", ")+"]":"null"),"arrayToString"),Ca=Ea(((t,e)=>{if(t===e)return!0;if(t.length!==e.length)return!1;for(let s=0;s{if(t===e)return!0;if(t.length!==e.length)return!1;for(let s=0;s1&&void 0!==arguments[1]&&arguments[1];return t=t.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),e&&(t=t.replace(/ /g,"\xb7")),t}),"escapeWhitespace"),Ma=(N=class t extends ua{constructor(t,e){return super(ua.calculateHashCodeList(t,e)),(0,js.Z)(this,"parents",[]),(0,js.Z)(this,"returnStates",[]),this.parents=t,this.returnStates=e,this}isEmpty(){return this.returnStates[0]===ua.EMPTY_RETURN_STATE}get length(){return this.returnStates.length}getParent(t){return this.parents[t]}getReturnState(t){return this.returnStates[t]}equals(e){return this===e||e instanceof t&&this.hashCode()===e.hashCode()&&(_a(this.returnStates,e.returnStates)&&Ca(this.parents,e.parents))}toString(){if(this.isEmpty())return"[]";const t=[];for(let e=0;e":null!==(e=null===(s=this.symbol)||void 0===s?void 0:s.text)&&void 0!==e?e:""}toStringTree(){return this.toString()}},"TerminalNode"),_),Da=(Ea(P=class extends ma{accept(t){return t.visitErrorNode(this)}},"ErrorNode"),P),pa=(M=class t{static toStringTree(e,s,a){var r,i;s=null!==(r=s)&&void 0!==r?r:null,null!==(a=null!==(i=a)&&void 0!==i?i:null)&&(s=a.ruleNames);let c=t.getNodeText(e,s);c=Pa(c,!1);const n=e.getChildCount();if(0===n)return c;let h="("+c+" ";n>0&&(c=t.toStringTree(e.getChild(0),s),h=h.concat(c));for(let E=1;E1&&void 0!==arguments[1]?arguments[1]:-1;(0,js.Z)(this,"start",null),(0,js.Z)(this,"stop",null),(0,js.Z)(this,"children",[]),(0,js.Z)(this,"invokingState",void 0),r(this,U,{writable:!0,value:void 0}),$s(this,U,t),this.invokingState=e}copyFrom(t){$s(this,U,ea(t,U)),this.invokingState=t.invokingState,this.children.slice(0,this.children.length),this.start=t.start,this.stop=t.stop,t.children&&t.children.forEach((t=>{t instanceof Da&&(this.children.push(t),t.parent=this)}))}enterRule(t){}exitRule(t){}addChild(t){return this.children.push(t),t}removeLastChild(){this.children.pop()}addTokenNode(t){const e=new ma(t);return this.children.push(e),e.parent=this,e}addErrorNode(t){return t.parent=this,this.children.push(t),t}getChild(t,e){if(t<0||t>=this.children.length)return null;if(!e)return this.children[t];for(const s of this.children)if(s instanceof e){if(0===t)return s;t-=1}return null}getToken(t,e){if(e<0||e>=this.children.length)return null;for(const a of this.children){var s;if("symbol"in a)if((null===(s=a.symbol)||void 0===s?void 0:s.type)===t){if(0===e)return a;e-=1}}return null}getTokens(t){const e=[];for(const a of this.children){var s;if("symbol"in a)(null===(s=a.symbol)||void 0===s?void 0:s.type)===t&&e.push(a)}return e}getRuleContext(t,e){return this.getChild(t,e)}getRuleContexts(t){const e=[];for(const s of this.children)s instanceof t&&e.push(s);return e}getChildCount(){return this.children.length}getSourceInterval(){return null===this.start||null===this.stop?oa.INVALID_INTERVAL:new oa(this.start.tokenIndex,this.stop.tokenIndex)}get parent(){return ea(this,U)}set parent(t){$s(this,U,t)}depth(){let t=0,e=this;for(;null!==e;)e=e.parent,t+=1;return t}isEmpty(){return-1===this.invokingState}get ruleContext(){return this}get ruleIndex(){return-1}getPayload(){return this}getText(){return 0===this.children.length?"":this.children.map((t=>t.getText())).join("")}getAltNumber(){return ja.INVALID_ALT_NUMBER}setAltNumber(t){}accept(t){return t.visitChildren(this)}toStringTree(){return 1===arguments.length?pa.toStringTree(this,null,arguments.length<=0?void 0:arguments[0]):pa.toStringTree(this,arguments.length<=0?void 0:arguments[0],arguments.length<=1?void 0:arguments[1])}toString(t,e){var s,a;t=null!==(s=t)&&void 0!==s?s:null,e=null!==(a=e)&&void 0!==a?a:null;let r=this,i="[";for(;null!==r&&r!==e;){if(null===t)r.isEmpty()||(i+=r.invokingState);else{const e=r.ruleIndex;i+=e>=0&&e1&&void 0!==arguments[1]?arguments[1]:aa(t,p,F);if(r(this,g,{writable:!0,value:void 0}),r(this,x,{writable:!0,value:void 0}),r(this,k,{writable:!0,value:0}),r(this,H,{writable:!0,value:void 0}),e instanceof t){$s(this,g,ea(e,g)),$s(this,x,ea(e,x).slice(0));for(let t=0;tea(this,H)&&this.expand();const s=this.getBucket(t);let a=ea(this,x)[s];var r;if(!a)return a=[t],ea(this,x)[s]=a,$s(this,k,(r=ea(this,k),++r)),t;for(const i of a)if(ea(this,g).equals(i,t))return i;return a.push(t),$s(this,k,(e=ea(this,k),++e)),t}get(t){if(null==t)return t;const e=this.getBucket(t),s=ea(this,x)[e];if(s)for(const a of s)if(ea(this,g).equals(a,t))return a}hashCode(){let t=Aa.initialize();for(const e of ea(this,x))if(null!=e)for(const s of e){if(null==s)break;t=Aa.update(t,ea(this,g).hashCode(s))}return t=Aa.finish(t,this.size),t}equals(e){return e===this||e instanceof t&&(e.size===this.size&&this.containsAll(e))}add(t){return this.getOrAdd(t)===t}contains(t){return this.containsFast(t)}containsFast(t){return null!=t&&void 0!==this.get(t)}*[Symbol.iterator](){yield*this.toArray()}toArray(){const t=new Array(this.size);let e=0;for(const s of ea(this,x))if(null!=s)for(const a of s){if(null==a)break;t[e++]=a}return t}containsAll(e){if(e instanceof t){for(const t of ea(e,x))if(null!=t)for(const e of t){if(null==e)break;if(!this.containsFast(e))return!1}}else for(const t of e)if(!this.containsFast(t))return!1;return!0}addAll(t){let e=!1;for(const s of t){this.getOrAdd(s)!==s&&(e=!0)}return e}clear(){$s(this,x,this.createBuckets(aa(t,p,F))),$s(this,k,0),$s(this,H,Math.floor(aa(t,p,F)*aa(t,p,G)))}toString(){if(0===this.size)return"{}";let t="{",e=!0;for(const s of ea(this,x))if(null!=s)for(const a of s){if(null==a)break;e?e=!1:t+=", ",t+=a.toString()}return t+="}",t}toTableString(){let t="";for(const e of ea(this,x)){if(null==e){t+="null\n";continue}t+="[";let s=!0;for(const a of e)s?s=!1:t+=" ",t+=null==a?"_":a.toString();t+="]\n"}return t}getBucket(t){return ea(this,g).hashCode(t)&ea(this,x).length-1}expand(){const e=ea(this,x),s=2*ea(this,x).length,a=this.createBuckets(s);$s(this,x,a),$s(this,H,Math.floor(s*aa(t,p,G)));for(const t of e)if(t)for(const e of t){const t=this.getBucket(e);let s=ea(this,x)[t];s||(s=[],ea(this,x)[t]=s),s.push(e)}}get size(){return ea(this,k)}get isEmpty(){return 0===ea(this,k)}createBuckets(t){return new Array(t)}},Ea(p,"HashSet"),G={writable:!0,value:.75},F={writable:!0,value:16},p),Ga=(v=class{constructor(t){(0,js.Z)(this,"keyComparator",void 0),this.keyComparator=t}hashCode(t){return this.keyComparator.hashCode(t.key)}equals(t,e){return this.keyComparator.equals(t.key,e.key)}},Ea(v,"MapKeyEqualityComparator"),v),Fa=(Ea(B=class t{constructor(e){(0,js.Z)(this,"backingStore",void 0),this.backingStore=new Ha(e instanceof t?e.backingStore:new Ga(e))}clear(){this.backingStore.clear()}containsKey(t){return this.backingStore.contains({key:t})}get(t){const e=this.backingStore.get({key:t});if(e)return e.value}get isEmpty(){return this.backingStore.isEmpty}set(t,e){const s=this.backingStore.get({key:t,value:e});let a;return s?(a=s.value,s.value=e):this.backingStore.add({key:t,value:e}),a}setIfAbsent(t,e){const s=this.backingStore.get({key:t,value:e});let a;return s?a=s.value:this.backingStore.add({key:t,value:e}),a}values(){return this.backingStore.toArray().map((t=>t.value))}get size(){return this.backingStore.size}hashCode(){return this.backingStore.hashCode()}equals(t){return this.backingStore.equals(t.backingStore)}},"HashMap"),B),va=Ea(((t,e)=>{if(e||(e=ga.empty),!e.parent||e===ga.empty)return ua.EMPTY;const s=va(t,e.parent),a=t.states[e.invokingState].transitions[0];return da.create(s,a.followState.stateNumber)}),"predictionContextFromRuleContext"),Ba=Ea(((t,e,s)=>{if(t.isEmpty())return t;let a=s.get(t);if(a)return a;if(a=e.get(t),a)return s.set(t,a),a;let r,i=!1,c=[];for(let h=0;h{if(t===e)return t;if(t instanceof da&&e instanceof da)return wa(t,e,s,a);if(s){if(t instanceof Ua)return t;if(e instanceof Ua)return e}return t instanceof da&&(t=new Ma([t.parent],[t.returnState])),e instanceof da&&(e=new Ma([e.parent],[e.returnState])),fa(t,e,s,a)}),"merge"),fa=Ea(((t,e,s,a)=>{if(a){let s=a.get(t,e);if(s)return s;if(s=a.get(e,t),s)return s}let r=0,i=0,c=0,n=new Array(t.returnStates.length+e.returnStates.length).fill(0),h=new Array(t.returnStates.length+e.returnStates.length).fill(null);for(;r a"),t):T.equals(e)?(null!==a&&a.set(t,e,e),e):(Ya(h),null!==a&&a.set(t,e,T),ua.traceATNSimulator&&console.log("mergeArrays a="+t+",b="+e+" -> "+T),T)}),"mergeArrays"),Ya=Ea((t=>{const e=new Fa(xa.instance);for(const a of t)a&&(e.containsKey(a)||e.set(a,a));for(let a=0;a{if(null!==a){let s=a.get(t,e);if(null!==s)return s;if(s=a.get(e,t),null!==s)return s}const r=ba(t,e,s);if(null!==r)return null!==a&&a.set(t,e,r),r;if(t.returnState===e.returnState){const r=ya(t.parent,e.parent,s,a);if(r===t.parent)return t;if(r===e.parent)return e;const i=da.create(r,t.returnState);return null!==a&&a.set(t,e,i),i}{let s=null;if((t===e||null!==t.parent&&t.parent===e.parent)&&(s=t.parent),null!==s){const r=[t.returnState,e.returnState];t.returnState>e.returnState&&(r[0]=e.returnState,r[1]=t.returnState);const i=new Ma([s,s],r);return null!==a&&a.set(t,e,i),i}const r=[t.returnState,e.returnState];let i=[t.parent,e.parent];t.returnState>e.returnState&&(r[0]=e.returnState,r[1]=t.returnState,i=[e.parent,t.parent]);const c=new Ma(i,r);return null!==a&&a.set(t,e,c),c}}),"mergeSingletons"),ba=Ea(((t,e,s)=>{if(s){if(t===ua.EMPTY||e===ua.EMPTY)return ua.EMPTY}else{if(t===ua.EMPTY&&e===ua.EMPTY)return ua.EMPTY;if(t===ua.EMPTY){const t=[e.returnState,ua.EMPTY_RETURN_STATE],s=[e.parent,null];return new Ma(s,t)}if(e===ua.EMPTY){const e=[t.returnState,ua.EMPTY_RETURN_STATE],s=[t.parent,null];return new Ma(s,e)}}return null}),"mergeRoot"),Wa=(y=class{constructor(t){(0,js.Z)(this,"data",void 0),this.data=t?new Uint32Array(t.map((t=>t>>>0))):new Uint32Array(1)}[Symbol.iterator](){const t=this.data.length;let e=0,s=this.data[e];const a=this.data;return{[Symbol.iterator](){return this},next:()=>{for(;e>>5]&=~(1<>>5;return!(e>=this.data.length)&&0!==(this.data[e]&1<t)return e}set(t){if(t<0)throw new RangeError("index cannot be negative");this.resize(t),this.data[t>>>5]|=1<>>5;if(e<=this.data.length)return;const s=new Uint32Array(e);s.set(this.data),s.fill(0,this.data.length),this.data=s}bitCount(t){return t=(t=(858993459&(t-=t>>1&1431655765))+(t>>2&858993459))+(t>>4)&252645135,t+=t>>8,63&(t+=t>>16)}},Ea(y,"BitSet"),y),Va=(f=class{constructor(){(0,js.Z)(this,"stateNumber",0),(0,js.Z)(this,"ruleIndex",0),(0,js.Z)(this,"epsilonOnlyTransitions",!1),(0,js.Z)(this,"nextTokenWithinRule",void 0),(0,js.Z)(this,"transitions",[])}hashCode(){return this.stateNumber}equals(t){return this.stateNumber===t.stateNumber}toString(){return"".concat(this.stateNumber)}addTransitionAtIndex(t,e){0===this.transitions.length?this.epsilonOnlyTransitions=e.isEpsilon:this.epsilonOnlyTransitions!==e.isEpsilon&&(this.epsilonOnlyTransitions=!1),this.transitions.splice(t,1,e)}addTransition(t){0===this.transitions.length?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),this.transitions.push(t)}setTransition(t,e){this.transitions.splice(t,1,e)}removeTransition(t){return this.transitions.splice(t,1)[0]}},Ea(f,"ATNState"),(0,js.Z)(f,"INVALID_STATE_NUMBER",-1),(0,js.Z)(f,"INVALID_TYPE",0),(0,js.Z)(f,"BASIC",1),(0,js.Z)(f,"RULE_START",2),(0,js.Z)(f,"BLOCK_START",3),(0,js.Z)(f,"PLUS_BLOCK_START",4),(0,js.Z)(f,"STAR_BLOCK_START",5),(0,js.Z)(f,"TOKEN_START",6),(0,js.Z)(f,"RULE_STOP",7),(0,js.Z)(f,"BLOCK_END",8),(0,js.Z)(f,"STAR_LOOP_BACK",9),(0,js.Z)(f,"STAR_LOOP_ENTRY",10),(0,js.Z)(f,"PLUS_LOOP_BACK",11),(0,js.Z)(f,"LOOP_END",12),(0,js.Z)(f,"stateType",f.INVALID_STATE_NUMBER),f),Xa=(Y=class t{constructor(){(0,js.Z)(this,"cachedHashCode",void 0)}static andContext(e,s){if(null===e||e===t.NONE)return s;if(null===s||s===t.NONE)return e;const a=new Ka(e,s);return 1===a.operands.length?a.operands[0]:a}static orContext(e,s){if(null===e)return s;if(null===s)return e;if(e===t.NONE||s===t.NONE)return t.NONE;const a=new Qa(e,s);return 1===a.operands.length?a.operands[0]:a}static filterPrecedencePredicates(e){const s=[];for(const a of e)a instanceof t.PrecedencePredicate&&s.push(a);return s}evalPrecedence(t,e){return this}},Ea(Y,"SemanticContext"),Y),Ka=(w=class t extends Xa{constructor(e,s){super(),(0,js.Z)(this,"operands",void 0);const a=new Ha;e instanceof t?e.operands.forEach((t=>{a.add(t)})):a.add(e),s instanceof t?s.operands.forEach((t=>{a.add(t)})):a.add(s);const r=Xa.filterPrecedencePredicates(a);if(r.length>0){let t=null;r.forEach((e=>{(null===t||e.precedence{r=null===r?t:Xa.andContext(r,t)})),r}toString(){const t=this.operands.map((t=>t.toString()));return(t.length>3?t.slice(3):t).join("&&")}},Ea(w,"AND"),w),Qa=(b=class t extends Xa{constructor(e,s){super(),(0,js.Z)(this,"operands",void 0);const a=new Ha;e instanceof t?e.operands.forEach((t=>{a.add(t)})):a.add(e),s instanceof t?s.operands.forEach((t=>{a.add(t)})):a.add(s);const r=Xa.filterPrecedencePredicates(a);if(r.length>0){const t=r.sort(((t,e)=>t.compareTo(e))),e=t[t.length-1];a.add(e)}this.operands=a.toArray()}equals(e){return this===e||e instanceof t&&Ca(this.operands,e.operands)}hashCode(){if(void 0===this.cachedHashCode){let t=Aa.initialize();for(const e of this.operands)t=Aa.updateFromComparable(t,e);t=Aa.update(t,3383313031),this.cachedHashCode=Aa.finish(t,this.operands.length+1)}return this.cachedHashCode}evaluate(t,e){for(const s of this.operands)if(s.evaluate(t,e))return!0;return!1}evalPrecedence(t,e){let s=!1;const a=[];for(const i of this.operands){const r=i.evalPrecedence(t,e);if(s||(s=r!==i),r===Xa.NONE)return Xa.NONE;null!==r&&a.push(r)}if(!s)return this;if(0===a.length)return null;let r=null;return a.forEach((t=>{r=null===r?t:Xa.orContext(r,t)})),r}toString(){const t=this.operands.map((t=>t.toString()));return(t.length>3?t.slice(3):t).join("||")}},Ea(b,"OR"),b);(t=>{class e extends t{constructor(t,e,s){super(),(0,js.Z)(this,"ruleIndex",void 0),(0,js.Z)(this,"predIndex",void 0),(0,js.Z)(this,"isCtxDependent",void 0),this.ruleIndex=null!==t&&void 0!==t?t:-1,this.predIndex=null!==e&&void 0!==e?e:-1,this.isCtxDependent=null!==s&&void 0!==s&&s}evaluate(t,e){const s=this.isCtxDependent?e:null;return t.sempred(s,this.ruleIndex,this.predIndex)}hashCode(){if(void 0===this.cachedHashCode){let t=Aa.initialize();t=Aa.update(t,this.ruleIndex),t=Aa.update(t,this.predIndex),t=Aa.update(t,this.isCtxDependent?1:0),t=Aa.finish(t,3),this.cachedHashCode=t}return this.cachedHashCode}equals(t){return this===t||this.ruleIndex===t.ruleIndex&&this.predIndex===t.predIndex&&this.isCtxDependent===t.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}Ea(e,"Predicate"),t.Predicate=e;class s extends t{constructor(t){super(),(0,js.Z)(this,"precedence",void 0),this.precedence=null!==t&&void 0!==t?t:0}evaluate(t,e){return t.precpred(e,this.precedence)}evalPrecedence(e,s){return e.precpred(null!==s&&void 0!==s?s:null,this.precedence)?t.NONE:null}compareTo(t){return this.precedence-t.precedence}hashCode(){return 31+this.precedence}equals(t){return this===t||this.precedence===t.precedence}toString(){return"{"+this.precedence+">=prec}?"}}Ea(s,"PrecedencePredicate"),t.PrecedencePredicate=s,t.NONE=new e})(Xa||(Xa={}));var Ja,Za=(V=new WeakMap,X=new WeakMap,W=class t{get semanticContext(){return ea(this,X)}constructor(t,e,s,a){(0,js.Z)(this,"state",void 0),(0,js.Z)(this,"alt",void 0),(0,js.Z)(this,"reachesIntoOuterContext",!1),(0,js.Z)(this,"precedenceFilterSuppressed",!1),(0,js.Z)(this,"cachedHashCode",void 0),r(this,V,{writable:!0,value:null}),r(this,X,{writable:!0,value:void 0}),this.state=e,this.alt=t.alt,this.context=s,$s(this,X,null!==a&&void 0!==a?a:Xa.NONE),this.reachesIntoOuterContext=t.reachesIntoOuterContext,void 0!==t.precedenceFilterSuppressed&&(this.precedenceFilterSuppressed=t.precedenceFilterSuppressed)}static duplicate(e,s){return new t(e,e.state,e.context,null!==s&&void 0!==s?s:e.semanticContext)}static createWithContext(e,s,a,r){return new t({alt:s},e,a,r)}static createWithConfig(e,s,a){return new t(s,e,null!==a&&void 0!==a?a:s.context,s.semanticContext)}static createWithSemanticContext(e,s,a){return new t(s,null!==e&&void 0!==e?e:s.state,s.context,a)}hashCode(){if(void 0===this.cachedHashCode){let t=Aa.initialize(7);t=Aa.update(t,this.state.stateNumber),t=Aa.update(t,this.alt),t=Aa.updateFromComparable(t,ea(this,V)),t=Aa.updateFromComparable(t,this.semanticContext),t=Aa.finish(t,4),this.cachedHashCode=t}return this.cachedHashCode}get context(){return ea(this,V)}set context(t){$s(this,V,t),this.cachedHashCode=void 0}equals(t){return this===t||this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(null===this.context?null===t.context:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed}toString(t){let e="";return(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e=","+this.alt),"("+this.state+e+(null!==this.context?",["+this.context.toString()+"]":"")+(this.semanticContext!==Xa.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext?",up="+this.reachesIntoOuterContext:"")+")"}},Ea(W,"ATNConfig"),W),qa=(Q=new WeakMap,K=class t{constructor(){r(this,Q,{writable:!0,value:void 0})}getDecisionLookahead(e){if(!e)return;const s=e.transitions.length,a=new Array(s);for(let r=0;r0&&!s.contains(t.hitPredicate)&&(a[r]=s)}return a}look(t,e,s,a){$s(this,Q,t);const r=new Sa,i=a?va(t,a):null;return this.doLook(e,s,i,r,new Ha,new Wa,!0,!0),r}doLook(e,s,a,r,i,c,n,h){const E=Za.createWithContext(e,0,a);if(!i.get(E)){if(i.add(E),e===s){if(!a)return void r.addOne(ca.EPSILON);if(a.isEmpty()&&h)return void r.addOne(ca.EOF)}if(e.constructor.stateType===Va.RULE_STOP){if(!a)return void r.addOne(ca.EPSILON);if(a.isEmpty()&&h)return void r.addOne(ca.EOF);if(a!==ua.EMPTY){const t=c.get(e.ruleIndex);try{c.clear(e.ruleIndex);for(let t=0;t=this.states.length)throw new Error("Invalid state number.");const s=this.states[t];let a=this.nextTokens(s);if(!a.contains(ca.EPSILON))return a;let r=e;const i=new Sa;for(i.addSet(a),i.removeOne(ca.EPSILON);null!==r&&r.invokingState>=0&&a.contains(ca.EPSILON);){const t=this.states[r.invokingState].transitions[0];a=this.nextTokens(t.followState),i.addSet(a),i.removeOne(ca.EPSILON),r=r.parent}return a.contains(ca.EPSILON)&&i.addOne(ca.EOF),i}},Ea(J,"ATN"),(0,js.Z)(J,"INVALID_ALT_NUMBER",0),(0,js.Z)(J,"LEXER",0),(0,js.Z)(J,"PARSER",1),Z={writable:!0,value:new qa},J),za=(q=class{hashCode(t){let e=7;return e=31*e+t.state.stateNumber,e=31*e+t.alt,e=31*e+t.semanticContext.hashCode(),e}equals(t,e){return t===e||t.state.stateNumber===e.state.stateNumber&&t.alt===e.alt&&t.semanticContext.equals(e.semanticContext)}},Ea(q,"KeyTypeEqualityComparer"),(0,js.Z)(q,"instance",new q),q),$a=(z=new WeakMap,j=class{constructor(t){if((0,js.Z)(this,"configLookup",new Ha(za.instance)),(0,js.Z)(this,"configs",[]),(0,js.Z)(this,"uniqueAlt",0),(0,js.Z)(this,"hasSemanticContext",!1),(0,js.Z)(this,"dipsIntoOuterContext",!1),(0,js.Z)(this,"fullCtx",!1),(0,js.Z)(this,"readOnly",!1),(0,js.Z)(this,"conflictingAlts",null),(0,js.Z)(this,"firstStopState",void 0),r(this,z,{writable:!0,value:-1}),void 0!==t)if("boolean"===typeof t)this.fullCtx=null===t||void 0===t||t;else{const e=t;this.addAll(e.configs),this.uniqueAlt=e.uniqueAlt,this.conflictingAlts=e.conflictingAlts,this.hasSemanticContext=e.hasSemanticContext,this.dipsIntoOuterContext=e.dipsIntoOuterContext}}[Symbol.iterator](){return this.configs[Symbol.iterator]()}add(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.readOnly)throw new Error("This set is readonly");this.firstStopState||t.state.constructor.stateType!==Va.RULE_STOP||(this.firstStopState=t),this.hasSemanticContext||(this.hasSemanticContext=t.semanticContext!==Xa.NONE),this.dipsIntoOuterContext||(this.dipsIntoOuterContext=t.reachesIntoOuterContext);const s=this.configLookup.getOrAdd(t);if(s===t)return $s(this,z,-1),void this.configs.push(t);const a=!this.fullCtx,r=ya(s.context,t.context,a,e);s.reachesIntoOuterContext||(s.reachesIntoOuterContext=t.reachesIntoOuterContext),s.precedenceFilterSuppressed||(s.precedenceFilterSuppressed=t.precedenceFilterSuppressed),s.context=r}get elements(){return this.configs}getAlts(){const t=new Wa;for(const e of this.configs)t.set(e.alt);return t}getPredicates(){const t=[];for(const e of this.configs)e.semanticContext!==Xa.NONE&&t.push(e.semanticContext);return t}getStates(){const t=new Ha;for(const e of this.configs)t.add(e.state);return t}optimizeConfigs(t){if(this.readOnly)throw new Error("This set is readonly");if(0!==this.configLookup.size)for(const e of this.configs)e.context=t.getCachedContext(e.context)}addAll(t){for(const e of t)this.add(e);return!1}equals(t){return this===t||!(this.fullCtx!==t.fullCtx||this.uniqueAlt!==t.uniqueAlt||this.conflictingAlts!==t.conflictingAlts||this.hasSemanticContext!==t.hasSemanticContext||this.dipsIntoOuterContext!==t.dipsIntoOuterContext||!Ca(this.configs,t.configs))}hashCode(){return-1===ea(this,z)&&$s(this,z,this.computeHashCode()),ea(this,z)}get length(){return this.configs.length}isEmpty(){return 0===this.configs.length}contains(t){if(null===this.configLookup)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.contains(t)}containsFast(t){if(null===this.configLookup)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.contains(t)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],$s(this,z,-1),this.configLookup=new Ha(za.instance)}setReadonly(t){this.readOnly=t,t&&(this.configLookup=null)}toString(){return La(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==ja.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(null!==this.conflictingAlts?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}computeHashCode(){let t=Aa.initialize();return this.configs.forEach((e=>{t=Aa.update(t,e.hashCode())})),t=Aa.finish(t,this.configs.length),t}},Ea(j,"ATNConfigSet"),j),tr=(Ea($=class extends Va{},"BasicState"),(0,js.Z)($,"stateType",Va.BASIC),$),er=(Ea(tt=class extends Va{constructor(){super(...arguments),(0,js.Z)(this,"decision",-1),(0,js.Z)(this,"nonGreedy",!1)}},"DecisionState"),tt),sr=(Ea(et=class extends er{constructor(){super(...arguments),(0,js.Z)(this,"endState",void 0)}},"BlockStartState"),et),ar=(Ea(st=class extends Va{constructor(){super(...arguments),(0,js.Z)(this,"startState",void 0)}},"BlockEndState"),(0,js.Z)(st,"stateType",Va.BLOCK_END),st),rr=(Ea(at=class extends Va{constructor(){super(...arguments),(0,js.Z)(this,"loopBackState",void 0)}},"LoopEndState"),(0,js.Z)(at,"stateType",Va.LOOP_END),at),ir=(Ea(rt=class extends Va{constructor(){super(...arguments),(0,js.Z)(this,"stopState",void 0),(0,js.Z)(this,"isLeftRecursiveRule",!1),(0,js.Z)(this,"isPrecedenceRule",!1)}},"RuleStartState"),(0,js.Z)(rt,"stateType",Va.RULE_START),rt),cr=(Ea(it=class extends Va{},"RuleStopState"),(0,js.Z)(it,"stateType",Va.RULE_STOP),it),nr=(Ea(ct=class extends er{},"TokensStartState"),(0,js.Z)(ct,"stateType",Va.TOKEN_START),ct),hr=(Ea(nt=class extends er{},"PlusLoopbackState"),(0,js.Z)(nt,"stateType",Va.PLUS_LOOP_BACK),nt),Er=(Ea(ht=class extends Va{},"StarLoopbackState"),(0,js.Z)(ht,"stateType",Va.STAR_LOOP_BACK),ht),Tr=(Ea(Et=class extends er{constructor(){super(...arguments),(0,js.Z)(this,"loopBackState",void 0),(0,js.Z)(this,"precedenceRuleDecision",!1)}},"StarLoopEntryState"),(0,js.Z)(Et,"stateType",Va.STAR_LOOP_ENTRY),Et),or=(Ea(Tt=class extends sr{constructor(){super(...arguments),(0,js.Z)(this,"loopBackState",void 0)}},"PlusBlockStartState"),(0,js.Z)(Tt,"stateType",Va.PLUS_BLOCK_START),Tt),Rr=(Ea(ot=class extends sr{},"StarBlockStartState"),(0,js.Z)(ot,"stateType",Va.STAR_BLOCK_START),ot),Ar=(Ea(Rt=class extends sr{},"BasicBlockStartState"),(0,js.Z)(Rt,"stateType",Va.BLOCK_START),Rt),Sr=(St=new WeakMap,Ea(At=class extends la{constructor(t,e){super(t),(0,js.Z)(this,"labelValue",void 0),r(this,St,{writable:!0,value:void 0}),this.labelValue=e,$s(this,St,Sa.of(e,e))}get label(){return ea(this,St)}get transitionType(){return la.ATOM}matches(t){return this.labelValue===t}toString(){return this.labelValue.toString()}},"AtomTransition"),At),lr=(Ea(lt=class extends la{constructor(t,e,s,a){super(t),(0,js.Z)(this,"ruleIndex",void 0),(0,js.Z)(this,"precedence",void 0),(0,js.Z)(this,"followState",void 0),this.ruleIndex=e,this.precedence=s,this.followState=a}get isEpsilon(){return!0}get transitionType(){return la.RULE}matches(t,e,s){return!1}},"RuleTransition"),lt),Or=(It=new WeakMap,Ea(Ot=class extends la{constructor(t,e,s){super(t),(0,js.Z)(this,"start",void 0),(0,js.Z)(this,"stop",void 0),r(this,It,{writable:!0,value:new Sa}),this.start=e,this.stop=s,ea(this,It).addRange(e,s)}get label(){return ea(this,It)}get transitionType(){return la.RANGE}matches(t,e,s){return t>=this.start&&t<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},"RangeTransition"),Ot),Ir=(Ea(ut=class extends la{constructor(t,e,s,a){super(t),(0,js.Z)(this,"ruleIndex",void 0),(0,js.Z)(this,"actionIndex",void 0),(0,js.Z)(this,"isCtxDependent",void 0),this.ruleIndex=e,this.actionIndex=void 0===s?-1:s,this.isCtxDependent=void 0!==a&&a}get isEpsilon(){return!0}get transitionType(){return la.ACTION}matches(t,e,s){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},"ActionTransition"),ut),ur=(Lt=new WeakMap,Ea(Nt=class extends la{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;super(t),r(this,Lt,{writable:!0,value:void 0}),$s(this,Lt,e)}get outermostPrecedenceReturn(){return ea(this,Lt)}get isEpsilon(){return!0}get transitionType(){return la.EPSILON}matches(){return!1}toString(){return"epsilon"}},"EpsilonTransition"),Nt),Nr=(Ea(Ct=class extends la{get transitionType(){return la.WILDCARD}matches(t,e,s){return t>=e&&t<=s}toString(){return"."}},"WildcardTransition"),Ct),Lr=(Ea(_t=class extends la{constructor(t){super(t)}},"AbstractPredicateTransition"),_t),Cr=(Ea(Pt=class extends Lr{constructor(t,e,s,a){super(t),(0,js.Z)(this,"ruleIndex",void 0),(0,js.Z)(this,"predIndex",void 0),(0,js.Z)(this,"isCtxDependent",void 0),this.ruleIndex=e,this.predIndex=s,this.isCtxDependent=a}get isEpsilon(){return!0}matches(t,e,s){return!1}get transitionType(){return la.PREDICATE}getPredicate(){return new Xa.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},"PredicateTransition"),Pt),_r=(Ea(Mt=class extends Lr{constructor(t,e){super(t),(0,js.Z)(this,"precedence",void 0),this.precedence=e}get isEpsilon(){return!0}matches(t,e,s){return!1}getPredicate(){return new Xa.PrecedencePredicate(this.precedence)}get transitionType(){return la.PRECEDENCE}toString(){return this.precedence+" >= _p"}},"PrecedencePredicateTransition"),Mt),Pr=0,Mr=1,dr=2,Ur=3,mr=4,Dr=5,pr=6,gr=7,xr=(Ea(dt=class{constructor(){(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),this.actionType=pr}equals(t){return t===this}hashCode(){return pr}execute(t){t.skip()}toString(){return"skip"}},"LexerSkipAction"),(0,js.Z)(dt,"instance",new dt),dt),kr=(mt=new WeakMap,Ea(Ut=class t{constructor(t){(0,js.Z)(this,"channel",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),r(this,mt,{writable:!0,value:void 0}),this.actionType=Pr,this.channel=t}execute(t){t.channel=this.channel}hashCode(){if(void 0===ea(this,mt)){let t=Aa.initialize();t=Aa.update(t,this.actionType),t=Aa.update(t,this.channel),$s(this,mt,Aa.finish(t,2))}return ea(this,mt)}equals(e){return this===e||e instanceof t&&this.channel===e.channel}toString(){return"channel("+this.channel+")"}},"LexerChannelAction"),Ut),Hr=(pt=new WeakMap,Ea(Dt=class t{constructor(t,e){(0,js.Z)(this,"ruleIndex",void 0),(0,js.Z)(this,"actionIndex",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!0),r(this,pt,{writable:!0,value:void 0}),this.actionType=Mr,this.ruleIndex=t,this.actionIndex=e}execute(t){t.action(null,this.ruleIndex,this.actionIndex)}hashCode(){if(void 0===ea(this,pt)){let t=Aa.initialize();t=Aa.update(t,this.actionType),t=Aa.update(t,this.ruleIndex),t=Aa.update(t,this.actionIndex),$s(this,pt,Aa.finish(t,3))}return ea(this,pt)}equals(e){return this===e||e instanceof t&&(this.ruleIndex===e.ruleIndex&&this.actionIndex===e.actionIndex)}},"LexerCustomAction"),Dt),Gr=(Ea(gt=class{constructor(){(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),this.actionType=Ur}equals(t){return t===this}hashCode(){return Ur}execute(t){t.more()}toString(){return"more"}},"LexerMoreAction"),(0,js.Z)(gt,"instance",new gt),gt),Fr=(kt=new WeakMap,Ea(xt=class t{constructor(t){(0,js.Z)(this,"type",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),r(this,kt,{writable:!0,value:void 0}),this.actionType=gr,this.type=t}execute(t){t.type=this.type}hashCode(){if(void 0===ea(this,kt)){let t=Aa.initialize();t=Aa.update(t,this.actionType),t=Aa.update(t,this.type),$s(this,kt,Aa.finish(t,2))}return ea(this,kt)}equals(e){return this===e||e instanceof t&&this.type===e.type}toString(){return"type("+this.type+")"}},"LexerTypeAction"),xt),vr=(Gt=new WeakMap,Ea(Ht=class t{constructor(t){(0,js.Z)(this,"mode",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),r(this,Gt,{writable:!0,value:void 0}),this.actionType=Dr,this.mode=t}execute(t){t.pushMode(this.mode)}hashCode(){if(void 0===ea(this,Gt)){let t=Aa.initialize();t=Aa.update(t,this.actionType),t=Aa.update(t,this.mode),$s(this,Gt,Aa.finish(t,2))}return ea(this,Gt)}equals(e){return this===e||e instanceof t&&this.mode===e.mode}toString(){return"pushMode("+this.mode+")"}},"LexerPushModeAction"),Ht),Br=(Ea(Ft=class{constructor(){(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),this.actionType=mr}equals(t){return t===this}hashCode(){return mr}execute(t){t.popMode()}toString(){return"popMode"}},"LexerPopModeAction"),(0,js.Z)(Ft,"instance",new Ft),Ft),yr=(Bt=new WeakMap,Ea(vt=class t{constructor(t){(0,js.Z)(this,"mode",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),r(this,Bt,{writable:!0,value:void 0}),this.actionType=dr,this.mode=t}execute(t){t.mode=this.mode}hashCode(){if(void 0===ea(this,Bt)){let t=Aa.initialize();t=Aa.update(t,this.actionType),t=Aa.update(t,this.mode),$s(this,Bt,Aa.finish(t,2))}return ea(this,Bt)}equals(e){return this===e||e instanceof t&&this.mode===e.mode}toString(){return"mode("+this.mode+")"}},"LexerModeAction"),vt),fr=(yt=class t{constructor(t){(0,js.Z)(this,"data",[]),(0,js.Z)(this,"pos",0),(0,js.Z)(this,"deserializationOptions",void 0),(0,js.Z)(this,"actionFactories",void 0),t||(t={readOnly:!1,verifyATN:!0,generateRuleBypassTransitions:!1}),this.deserializationOptions=t}deserialize(t){this.data=t,this.checkVersion();const e=this.readATN();this.readStates(e),this.readRules(e),this.readModes(e);const s=[];return this.readSets(e,s),this.readEdges(e,s),this.readDecisions(e),this.readLexerActions(e),this.markPrecedenceDecisions(e),this.verifyATN(e),this.deserializationOptions.generateRuleBypassTransitions&&e.grammarType===ja.PARSER&&(this.generateRuleBypassTransitions(e),this.verifyATN(e)),e}checkVersion(){const e=this.data[this.pos++];if(e!==t.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+e+" (expected "+t.SERIALIZED_VERSION+").")}readATN(){const t=this.data[this.pos++],e=this.data[this.pos++];return new ja(t,e)}readStates(t){let e,s;const a=[],r=[],i=this.data[this.pos++];for(let E=0;E0;)r.addTransition(h.transitions[E-1]),h.transitions=h.transitions.slice(-1);t.ruleToStartState[e].addTransition(new ur(r)),n&&i.addTransition(new ur(n));const T=new tr;t.addState(T),T.addTransition(new Sr(i,t.ruleToTokenType[e])),r.addTransition(new ur(T))}stateIsEndStateFor(t,e){if(t.ruleIndex!==e)return null;if(!(t instanceof Tr))return null;const s=t.transitions[t.transitions.length-1].target;return s instanceof rr&&s.epsilonOnlyTransitions&&s.transitions[0].target instanceof cr?t:null}markPrecedenceDecisions(t){for(const e of t.states)if(e instanceof Tr&&t.ruleToStartState[e.ruleIndex].isPrecedenceRule){const t=e.transitions[e.transitions.length-1].target;t instanceof rr&&t.epsilonOnlyTransitions&&t.transitions[0].target instanceof cr&&(e.precedenceRuleDecision=!0)}}verifyATN(t){if(this.deserializationOptions.verifyATN)for(const e of t.states)if(null!==e)if(this.checkCondition(e.epsilonOnlyTransitions||e.transitions.length<=1),e instanceof or)this.checkCondition(null!==e.loopBackState);else if(e instanceof Tr)if(this.checkCondition(null!==e.loopBackState),this.checkCondition(2===e.transitions.length),e.transitions[0].target instanceof Rr)this.checkCondition(e.transitions[1].target instanceof rr),this.checkCondition(!e.nonGreedy);else{if(!(e.transitions[0].target instanceof rr))throw new Error("IllegalState");this.checkCondition(e.transitions[1].target instanceof Rr),this.checkCondition(e.nonGreedy)}else e instanceof Er?(this.checkCondition(1===e.transitions.length),this.checkCondition(e.transitions[0].target instanceof Tr)):e instanceof rr?this.checkCondition(null!==e.loopBackState):e instanceof ir?this.checkCondition(null!==e.stopState):e instanceof sr?this.checkCondition(null!==e.endState):e instanceof ar?this.checkCondition(null!==e.startState):e instanceof er?this.checkCondition(e.transitions.length<=1||e.decision>=0):this.checkCondition(e.transitions.length<=1||e instanceof cr)}checkCondition(t,e){if(!t)throw void 0!==e&&null!==e||(e="IllegalState"),e}edgeFactory(t,e,s,a,r,i,c){const n=t.states[s];switch(e){case la.EPSILON:return new ur(n);case la.RANGE:return new Or(n,0!==i?ca.EOF:a,r);case la.RULE:return new lr(t.states[a],r,i,n);case la.PREDICATE:return new Cr(n,a,r,0!==i);case la.PRECEDENCE:return new _r(n,a);case la.ATOM:return new Sr(n,0!==i?ca.EOF:a);case la.ACTION:return new Ir(n,a,r,0!==i);case la.SET:return new Oa(n,c[a]);case la.NOT_SET:return new Ia(n,c[a]);case la.WILDCARD:return new Nr(n);default:throw new Error("The specified transition type: "+e+" is not valid.")}}stateFactory(e,s){const a=t.stateTypeMapper.get(e);if(!a)throw new Error("The specified state type "+e+" is not valid.");const r=new a;return r.ruleIndex=s,r}lexerActionFactory(e,s,a){const r=t.lexerActionFactoryMapper.get(e);if(!r)throw new Error("The specified lexer action type "+e+" is not valid.");return r(s,a)}},Ea(yt,"ATNDeserializer"),(0,js.Z)(yt,"SERIALIZED_VERSION",4),(0,js.Z)(yt,"stateTypeMapper",new Map([[Va.INVALID_TYPE,void 0],[Va.BASIC,tr],[Va.RULE_START,ir],[Va.BLOCK_START,Ar],[Va.PLUS_BLOCK_START,or],[Va.STAR_BLOCK_START,Rr],[Va.TOKEN_START,nr],[Va.RULE_STOP,cr],[Va.BLOCK_END,ar],[Va.STAR_LOOP_BACK,Er],[Va.STAR_LOOP_ENTRY,Tr],[Va.PLUS_LOOP_BACK,hr],[Va.LOOP_END,rr]])),(0,js.Z)(yt,"lexerActionFactoryMapper",new Map([[Pr,t=>new kr(t)],[Mr,(t,e)=>new Hr(t,e)],[dr,t=>new yr(t)],[Ur,()=>Gr.instance],[mr,()=>Br.instance],[Dr,t=>new vr(t)],[pr,()=>xr.instance],[gr,t=>new Fr(t)]])),yt),Yr=(Yt=new WeakMap,Ea(ft=class t extends Fa{constructor(){super(...arguments),r(this,Yt,{writable:!0,value:[]})}clear(){super.clear(),$s(this,Yt,[])}get(t){return super.get(t)}set(t,e){const s=super.set(t,e);return void 0===s&&ea(this,Yt).push(t),s}setIfAbsent(t,e){const s=super.setIfAbsent(t,e);return void 0===s&&ea(this,Yt).push(t),s}values(){return{[Symbol.iterator]:()=>{let t=0;return{next:()=>t0)for(const e of this.atn.modeToStartState)this.data.push(e.stateNumber)}addRuleStatesAndLexerTokenTypes(){const t=this.atn.ruleToStartState.length;this.data.push(t);for(let e=0;e",this.predicates?t+=La(this.predicates):t+=this.prediction),t.toString()}},Ea(bt,"DFAState"),bt),br=(Ea(Wt=class{constructor(t,e){return(0,js.Z)(this,"atn",void 0),(0,js.Z)(this,"sharedContextCache",void 0),this.atn=t,this.sharedContextCache=e,this}getCachedContext(t){if(!this.sharedContextCache)return t;const e=new Fa(xa.instance);return Ba(t,this.sharedContextCache,e)}},"ATNSimulator"),(0,js.Z)(Wt,"ERROR",wr.fromState(2147483647)),Wt),Wr=(Ea(Vt=class t{static createWithCodePoint(e,s){return t.createWithCodePointRange(e,s,s)}static createWithCodePointRange(t,e,s){return e===s?new Sr(t,e):new Or(t,e,s)}},"CodePointTransitions"),Ea(Xt=class{constructor(t){(0,js.Z)(this,"decision",0),(0,js.Z)(this,"invocations",0),(0,js.Z)(this,"timeInPrediction",0),(0,js.Z)(this,"sllTotalLook",0),(0,js.Z)(this,"sllMinLook",0),(0,js.Z)(this,"sllMaxLook",0),(0,js.Z)(this,"sllMaxLookEvent",void 0),(0,js.Z)(this,"llTotalLook",0),(0,js.Z)(this,"llMinLook",0),(0,js.Z)(this,"llMaxLook",0),(0,js.Z)(this,"llMaxLookEvent",void 0),(0,js.Z)(this,"contextSensitivities",void 0),(0,js.Z)(this,"errors",void 0),(0,js.Z)(this,"ambiguities",void 0),(0,js.Z)(this,"predicateEvals",void 0),(0,js.Z)(this,"sllATNTransitions",0),(0,js.Z)(this,"sllDFATransitions",0),(0,js.Z)(this,"llFallback",0),(0,js.Z)(this,"llATNTransitions",0),(0,js.Z)(this,"llDFATransitions",0),this.decision=t,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString1(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", sllLookahead="+this.sllTotalLook+", sllATNTransitions="+this.sllATNTransitions+", sllDFATransitions="+this.sllDFATransitions+", llFallback="+this.llFallback+", llLookahead="+this.llTotalLook+", llATNTransitions="+this.llATNTransitions+"}"}},"DecisionInfo"),Xt),Vr=(Ea(Kt=class t extends Za{constructor(e,s,a,r){var i;return super(e,s,null!==a&&void 0!==a?a:e.context,a?Xa.NONE:e.semanticContext),(0,js.Z)(this,"lexerActionExecutor",void 0),(0,js.Z)(this,"passedThroughNonGreedyDecision",void 0),this.lexerActionExecutor=a?r:null!==(i=e.lexerActionExecutor)&&void 0!==i?i:null,this.passedThroughNonGreedyDecision=t.checkNonGreedyDecision(e,this.state),this}static createWithExecutor(e,s,a){return new t(e,s,e.context,a)}static createWithConfig(e,s,a){return new t(s,e,null!==a&&void 0!==a?a:null,s.lexerActionExecutor)}static createWithContext(e,s,a){return new t({alt:s},e,a,null)}static checkNonGreedyDecision(t,e){return t.passedThroughNonGreedyDecision||"nonGreedy"in e&&e.nonGreedy}hashCode(){if(void 0===this.cachedHashCode){let t=Aa.initialize(7);t=Aa.update(t,this.state.stateNumber),t=Aa.update(t,this.alt),t=Aa.updateFromComparable(t,this.context),t=Aa.updateFromComparable(t,this.semanticContext),t=Aa.update(t,this.passedThroughNonGreedyDecision?1:0),t=Aa.updateFromComparable(t,this.lexerActionExecutor),t=Aa.finish(t,6),this.cachedHashCode=t}return this.cachedHashCode}equals(t){return this===t||this.passedThroughNonGreedyDecision===t.passedThroughNonGreedyDecision&&(this.lexerActionExecutor&&t.lexerActionExecutor?this.lexerActionExecutor.equals(t.lexerActionExecutor):!t.lexerActionExecutor)&&super.equals(t)}},"LexerATNConfig"),Kt),Xr=(Ea(Qt=class{syntaxError(t,e,s,a,r,i){}reportAmbiguity(t,e,s,a,r,i,c){}reportAttemptingFullContext(t,e,s,a,r,i){}reportContextSensitivity(t,e,s,a,r,i){}},"BaseErrorListener"),Qt),Kr=(Ea(Jt=class extends Xr{syntaxError(t,e,s,a,r,i){console.error("line "+s+":"+a+" "+r)}},"ConsoleErrorListener"),(0,js.Z)(Jt,"instance",new Jt),Jt),Qr=(Zt=class extends Xr{constructor(t){return super(),this.delegates=t,this}syntaxError(t,e,s,a,r,i){this.delegates.forEach((c=>{c.syntaxError(t,e,s,a,r,i)}))}reportAmbiguity(t,e,s,a,r,i,c){this.delegates.forEach((n=>{n.reportAmbiguity(t,e,s,a,r,i,c)}))}reportAttemptingFullContext(t,e,s,a,r,i){this.delegates.forEach((c=>{c.reportAttemptingFullContext(t,e,s,a,r,i)}))}reportContextSensitivity(t,e,s,a,r,i){this.delegates.forEach((c=>{c.reportContextSensitivity(t,e,s,a,r,i)}))}},Ea(Zt,"ProxyErrorListener"),Zt),Jr=(jt=new WeakMap,zt=new WeakMap,qt=class t{constructor(){(0,js.Z)(this,"interpreter",void 0),r(this,jt,{writable:!0,value:[Kr.instance]}),r(this,zt,{writable:!0,value:-1})}checkVersion(t){const e="4.13.1";e!==t&&console.error("ANTLR runtime and generated code versions disagree: "+e+"!="+t)}addErrorListener(t){ea(this,jt).push(t)}removeErrorListeners(){$s(this,jt,[])}removeErrorListener(t){for(let e=0;es.set(t,e))),t.ruleIndexMapCache.set(e,s)),s}getTokenType(t){const e=this.getTokenTypeMap().get(t);return e||ca.INVALID_TYPE}getErrorHeader(t){var e,s;return"line "+(null===(e=t.offendingToken)||void 0===e?void 0:e.line)+":"+(null===(s=t.offendingToken)||void 0===s?void 0:s.column)}get errorListenerDispatch(){return new Qr(ea(this,jt))}sempred(t,e,s){return!0}precpred(t,e){return!0}action(t,e,s){}get atn(){return this.interpreter.atn}get state(){return ea(this,zt)}set state(t){$s(this,zt,t)}getSerializedATN(){throw new Error("there is no serialized ATN")}getParseInfo(){return null}},Ea(qt,"Recognizer"),(0,js.Z)(qt,"EOF",-1),(0,js.Z)(qt,"tokenTypeMapCache",new Map),(0,js.Z)(qt,"ruleIndexMapCache",new Map),qt),Zr=(te=new WeakMap,$t=class t{constructor(t){var e,s,a,i,c,n;(0,js.Z)(this,"source",void 0),(0,js.Z)(this,"tokenIndex",void 0),(0,js.Z)(this,"start",void 0),(0,js.Z)(this,"stop",void 0),(0,js.Z)(this,"type",void 0),(0,js.Z)(this,"line",void 0),(0,js.Z)(this,"column",void 0),(0,js.Z)(this,"channel",void 0),r(this,te,{writable:!0,value:void 0}),this.type=t.type,this.source=t.source,this.tokenIndex=null!==(e=t.tokenIndex)&&void 0!==e?e:-1,this.line=null!==(s=t.line)&&void 0!==s?s:0,this.column=null!==(a=t.column)&&void 0!==a?a:-1,this.channel=null!==(i=t.channel)&&void 0!==i?i:ca.DEFAULT_CHANNEL,this.start=null!==(c=t.start)&&void 0!==c?c:0,this.stop=null!==(n=t.stop)&&void 0!==n?n:0,$s(this,te,t.text),null!==t.source[0]&&(this.line=t.source[0].line,this.column=t.source[0].column)}static fromToken(e){let s;return s="source"in e?e.source:[e.tokenSource,e.inputStream],new t({type:e.type,line:e.line,tokenIndex:e.tokenIndex,column:e.column,channel:e.channel,start:e.start,stop:e.stop,text:e.text,source:s})}static fromType(e,s){return new t({type:e,text:s,source:t.EMPTY_SOURCE})}static fromSource(e,s,a,r,i){return new t({type:s,channel:a,start:r,stop:i,source:e})}get tokenSource(){return this.source[0]}get inputStream(){return this.source[1]}clone(){return new t({source:this.source,type:this.type,channel:this.channel,start:this.start,stop:this.stop,tokenIndex:this.tokenIndex,line:this.line,column:this.column,text:ea(this,te)})}toString(t){let e="";this.channel>0&&(e=",channel="+this.channel);let s=this.text;s?(s=s.replace(/\n/g,"\\n"),s=s.replace(/\r/g,"\\r"),s=s.replace(/\t/g,"\\t")):s="";let a=String(this.type);var r;t&&(a=null!==(r=t.vocabulary.getDisplayName(this.type))&&void 0!==r?r:"");return"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+s+"',<"+a+">"+e+","+this.line+":"+this.column+"]"}get text(){if(ea(this,te))return ea(this,te);const t=this.inputStream;if(!t)return;const e=t.size;return this.start"}set text(t){$s(this,te,t)}setText(t){$s(this,te,t)}setType(t){this.type=t}setLine(t){this.line=t}setCharPositionInLine(t){this.column=t}setChannel(t){this.channel=t}setTokenIndex(t){this.tokenIndex=t}},Ea($t,"CommonToken"),(0,js.Z)($t,"EMPTY_SOURCE",[null,null]),$t),qr=(Ea(ee=class{constructor(t){(0,js.Z)(this,"copyText",!1),this.copyText=null!==t&&void 0!==t&&t}create(t,e,s,a,r,i,c,n){const h=Zr.fromSource(t,e,a,r,i);return h.line=c,h.column=n,s?h.text=s:this.copyText&&null!==t[1]&&(h.text=t[1].getTextFromRange(r,i)),h}},"CommonTokenFactory"),(0,js.Z)(ee,"DEFAULT",new ee),ee),jr=(se=class t extends Error{constructor(e){super(e.message),(0,js.Z)(this,"ctx",void 0),(0,js.Z)(this,"offendingToken",null),(0,js.Z)(this,"offendingState",-1),(0,js.Z)(this,"recognizer",void 0),(0,js.Z)(this,"input",void 0),Error.captureStackTrace&&Error.captureStackTrace(this,t),this.message=e.message,this.recognizer=e.recognizer,this.input=e.input,this.ctx=e.ctx,null!==this.recognizer&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return null!==this.recognizer&&null!==this.ctx?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},Ea(se,"RecognitionException"),se),zr=(Ea(ae=class extends jr{constructor(t,e,s,a){super({message:"",recognizer:t,input:e,ctx:null}),(0,js.Z)(this,"startIndex",void 0),(0,js.Z)(this,"deadEndConfigs",void 0),this.startIndex=s,this.deadEndConfigs=a}toString(){let t="";return this.input&&this.startIndex>=0&&this.startIndex0&&void 0!==arguments[0])||arguments[0])&&ea(this,ie).seek(0),$s(this,ce,null),this.type=ca.INVALID_TYPE,this.channel=ca.DEFAULT_CHANNEL,this.tokenStartCharIndex=-1,this.currentTokenColumn=-1,this.currentTokenStartLine=-1,$s(this,Ee,void 0),$s(this,ne,!1),this.mode=t.DEFAULT_MODE,$s(this,he,[]),this.interpreter.reset()}nextToken(){if(null===ea(this,ie))throw new Error("nextToken requires a non-null input stream.");const e=ea(this,ie).mark();try{for(;;){if(ea(this,ne))return this.emitEOF(),ea(this,ce);$s(this,ce,null),this.channel=ca.DEFAULT_CHANNEL,this.tokenStartCharIndex=ea(this,ie).index,this.currentTokenColumn=this.interpreter.column,this.currentTokenStartLine=this.interpreter.line,$s(this,Ee,void 0);let e=!1;for(;;){this.type=ca.INVALID_TYPE;let a=t.SKIP;try{a=this.interpreter.match(ea(this,ie),this.mode)}catch(s){if(!(s instanceof zr))throw s;this.notifyListeners(s),this.recover(s)}if(ea(this,ie).LA(1)===ca.EOF&&$s(this,ne,!0),this.type===ca.INVALID_TYPE&&(this.type=a),this.type===t.SKIP){e=!0;break}if(this.type!==t.MORE)break}if(!e)return null===ea(this,ce)&&this.emit(),ea(this,ce)}}finally{ea(this,ie).release(e)}}skip(){this.type=t.SKIP}more(){this.type=t.MORE}pushMode(t){hi.debug&&console.log("pushMode "+t),ea(this,he).push(this.mode),this.mode=t}popMode(){if(0===ea(this,he).length)throw new Error("Empty Stack");return hi.debug&&console.log("popMode back to "+ea(this,he).slice(0,-1)),this.mode=ea(this,he).pop(),this.mode}get modeStack(){return ea(this,he)}emitToken(t){$s(this,ce,t)}emit(){const t=ea(this,Te).create([this,ea(this,ie)],this.type,ea(this,Ee),this.channel,this.tokenStartCharIndex,this.getCharIndex()-1,this.currentTokenStartLine,this.currentTokenColumn);return this.emitToken(t),t}emitEOF(){const t=ea(this,Te).create([this,ea(this,ie)],ca.EOF,void 0,ca.DEFAULT_CHANNEL,ea(this,ie).index,ea(this,ie).index-1,this.line,this.column);return this.emitToken(t),t}getCharIndex(){return ea(this,ie).index}getAllTokens(){const t=[];let e=this.nextToken();for(;e.type!==ca.EOF;)t.push(e),e=this.nextToken();return t}notifyListeners(t){const e=this.tokenStartCharIndex,s=ea(this,ie).index,a=ea(this,ie).getTextFromRange(e,s),r="token recognition error at: '"+this.getErrorDisplay(a)+"'";this.errorListenerDispatch.syntaxError(this,null,this.currentTokenStartLine,this.currentTokenColumn,r,t)}getErrorDisplay(t){return t}getErrorDisplayForChar(t){return t.charCodeAt(0)===ca.EOF?"":"\n"===t?"\\n":"\t"===t?"\\t":"\r"===t?"\\r":t}getCharErrorDisplay(t){return"'"+this.getErrorDisplayForChar(t)+"'"}recover(t){ea(this,ie).LA(1)!==ca.EOF&&(t instanceof zr?this.interpreter.consume(ea(this,ie)):ea(this,ie).consume())}get inputStream(){return ea(this,ie)}set inputStream(t){this.reset(!1),$s(this,ie,t)}set tokenFactory(t){$s(this,Te,t)}get tokenFactory(){return ea(this,Te)}get sourceName(){return ea(this,ie).getSourceName()}get line(){return this.interpreter.line}set line(t){this.interpreter.line=t}get column(){return this.interpreter.column}set column(t){this.interpreter.column=t}get text(){return ea(this,Ee)?ea(this,Ee):this.interpreter.getText(ea(this,ie))}set text(t){$s(this,Ee,t)}},Ea(re,"Lexer"),(0,js.Z)(re,"DEFAULT_MODE",0),(0,js.Z)(re,"MORE",-2),(0,js.Z)(re,"SKIP",-3),(0,js.Z)(re,"DEFAULT_TOKEN_CHANNEL",ca.DEFAULT_CHANNEL),(0,js.Z)(re,"HIDDEN",ca.HIDDEN_CHANNEL),re),ti=(oe=class t extends Error{constructor(e){super(),Error.captureStackTrace(this,t)}},Ea(oe,"ParseCancellationException"),oe),ei=(Re=class{static parseInterpreterData(t){const e=[],s=[],a=[],r=[],i=[],c=t.split("\n");let n=0,h=c[n++];if("token literal names:"!==h)throw new Error("Unexpected data entry");for(;;){if(h=c[n++],0===h.length)break;r.push("null"===h?null:h)}if(h=c[n++],"token symbolic names:"!==h)throw new Error("Unexpected data entry");for(;;){if(h=c[n++],0===h.length)break;i.push("null"===h?null:h)}if(h=c[n++],"rule names:"!==h)throw new Error("Unexpected data entry");for(;;){if(h=c[n++],0===h.length)break;e.push(h)}if(h=c[n++],"channel names:"===h){for(;;){if(h=c[n++],0===h.length)break;s.push(h)}if(h=c[n++],"mode names:"!==h)throw new Error("Unexpected data entry");for(;;){if(h=c[n++],0===h.length)break;a.push(h)}}if(h=c[n++],"atn:"!==h)throw new Error("Unexpected data entry");h=c[n++];const E=h.split(",");let T;const o=[];for(let R=0;R0?s:void 0,modes:a.length>0?a:void 0}}},Ea(Re,"InterpreterDataReader"),Se=new WeakMap,Ae=class t extends Ha{constructor(){super(...arguments),r(this,Se,{writable:!0,value:[]})}getOrAdd(t){const e=this.size,s=super.getOrAdd(t);return this.size>e&&ea(this,Se).push(t),s}equals(e){return e instanceof t&&super.equals(e)}add(t){return!!super.add(t)&&(ea(this,Se).push(t),!0)}clear(){super.clear(),$s(this,Se,[])}*[Symbol.iterator](){yield*ea(this,Se)}toArray(){return ea(this,Se).slice(0)}},Ea(Ae,"OrderedHashSet"),Ae),si=(Ea(le=class extends $a{constructor(){super(),this.configLookup=new ei}},"OrderedATNConfigSet"),le),ai=(Ie=new WeakMap,Ea(Oe=class t{constructor(t,e){(0,js.Z)(this,"offset",void 0),(0,js.Z)(this,"action",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!0),r(this,Ie,{writable:!0,value:void 0}),this.actionType=e.actionType,this.offset=t,this.action=e}execute(t){this.action.execute(t)}hashCode(){if(void 0===ea(this,Ie)){let t=Aa.initialize();t=Aa.update(t,this.offset),t=Aa.updateFromComparable(t,this.action),$s(this,Ie,Aa.finish(t,2))}return ea(this,Ie)}equals(e){return this===e||e instanceof t&&(this.offset===e.offset&&this.action===e.action)}},"LexerIndexedCustomAction"),Oe),ri=(Ne=new WeakMap,ue=class t{constructor(t){return(0,js.Z)(this,"lexerActions",void 0),(0,js.Z)(this,"actionType",void 0),(0,js.Z)(this,"isPositionDependent",!1),r(this,Ne,{writable:!0,value:void 0}),this.actionType=-1,this.lexerActions=null!==t&&void 0!==t?t:[],this}static append(e,s){if(null===e)return new t([s]);const a=e.lexerActions.concat([s]);return new t(a)}fixOffsetBeforeMatch(e){let s=null;for(let t=0;te.equals(t.lexerActions[s]))))}},Ea(ue,"LexerActionExecutor"),ue),ii=(Le=class{constructor(t,e){(0,js.Z)(this,"dfa",void 0),(0,js.Z)(this,"vocabulary",void 0),this.dfa=t,this.vocabulary=e}toString(){if(!this.dfa.s0)return"";let t="";const e=this.dfa.getStates();for(const s of e){let e=0;e=s.edges.length;for(let a=0;a