@finos/legend-vscode-extension-dependencies 4.0.263 → 4.0.264
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -898,7 +898,7 @@ var pdn=Object.defineProperty,gdn=Object.getOwnPropertyDescriptor,fdn=Object.get
|
|
|
898
898
|
.${OZn.BLUR}:hover {
|
|
899
899
|
filter: none;
|
|
900
900
|
}
|
|
901
|
-
`})}),aPi=Lse(e=>{const{view:t}=e,n=t.grid.scrollHintText,i=document.querySelector(".data-cube-grid .ag-side-bar"),r=document.querySelector(".data-cube-grid .ag-body-vertical-scroll");return Une.jsxs("div",{className:"absolute -top-10 flex items-center rounded-sm border border-neutral-300 bg-neutral-100 p-1 pr-2 text-neutral-500 shadow-sm",style:{right:(null!==i?i.getBoundingClientRect().width+6:10)+(null!==r?r.getBoundingClientRect().width:0)},children:[Une.jsx(Rxe,{className:"text-lg"}),Une.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),lPi=Lse(e=>{const{view:t}=e,n=IMi(),i=t.grid;return Une.jsxs("div",{className:"relative flex h-5 w-full select-none justify-between border-b border-neutral-200 bg-neutral-100",children:[Boolean(i.scrollHintText)&&Une.jsx(aPi,{view:t}),Une.jsx("div",{}),Une.jsxs("div",{className:"flex h-full items-center",children:[Une.jsx("div",{className:"flex h-full items-center px-2 font-mono text-sm text-neutral-500",children:i.clientDataSource.rowCount?`Rows: ${i.clientDataSource.rowCount}`:""}),void 0!==i.rowLimit&&i.configuration.showWarningForTruncatedResult&&Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Une.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[Une.jsx(Lxe,{className:"stroke-[3px]"}),Une.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),Une.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Une.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[Une.jsx(bCe,{checked:i.isPaginationEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:AEe("w-2 h-2",{"bg-sky-600":i.isPaginationEnabled,"bg-neutral-500":!i.isPaginationEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:AEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isPaginationEnabled,"!bg-neutral-100 border-neutral-500":!i.isPaginationEnabled})},disableRipple:!0,disableFocusRipple:!0}),Une.jsx("div",{className:AEe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Une.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[Une.jsx(bCe,{checked:i.isCachingEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:AEe("w-2 h-2",{"bg-sky-600":i.isCachingEnabled,"bg-neutral-500":!i.isCachingEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:AEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isCachingEnabled,"!bg-neutral-100 border-neutral-500":!i.isCachingEnabled})},disableRipple:!0,disableFocusRipple:!0,disabled:t.processCacheState.isInProgress,title:t.processCacheState.isInProgress?"Processing cache...":""}),Une.jsxs("div",{className:AEe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",Une.jsx(DMi,{})]})]})]})]})]})}),cPi=Lse(e=>{const{view:t}=e,n=t.grid;return"production"===process.env.NODE_ENV||n.isClientConfigured||(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Une.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:Une.jsx(Lmi,{theme:"legacy",className:"data-cube-grid ag-theme-quartz",rowModelType:"serverSide",serverSideDatasource:n.clientDataSource,context:{view:t},onGridReady:e=>{n.configureClient(e.api).catch(e=>t.alertService.alertUnhandledError(e)),"production"!==process.env.NODE_ENV&&(console.error=iPi)},modules:[Cfi,gLi],...j5n(t)})})}),uPi=Lse(e=>{const{view:t}=e,n=t.grid.configuration;return Une.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[Une.jsx(oPi,{configuration:n}),Une.jsx(cPi,{view:t}),Une.jsx(lPi,{view:t})]})}),dPi=Lse(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case Yft.MULTIDIMENSIONAL:return Une.jsx(nPi,{view:t});case Yft.STANDARD:return Une.jsx(uPi,{view:t});default:return Une.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),hPi=Lse(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return Une.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[Une.jsxs("div",{className:"flex",children:[Une.jsxs("button",{className:"flex items-center px-2 text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.editor.display.open(),t?.dataCube.telemetryService.sendTelemetry(kft.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Zft.STATUS_BAR})},disabled:!t,children:[Une.jsx(yxe,{className:"text-xl"}),Une.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),Une.jsx("div",{className:"flex",children:Une.jsxs("button",{className:"flex items-center text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.filter.display.open(),t?.dataCube.telemetryService.sendTelemetry(kft.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Zft.STATUS_BAR})},disabled:!t||Tmt(t.info.configuration.gridMode),children:[Une.jsx(wxe,{className:"text-lg"}),Une.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),Une.jsx("div",{className:"flex items-center px-2",children:Une.jsx("div",{className:"flex h-3.5 w-48 border-[0.5px] border-neutral-300",title:void 0!==i&&i.length>0?i.length>1?i.map((e,t)=>`Task ${t+1}/${i.length}: ${e.description}`).join("\n"):Gr(i,0).description:void 0,children:void 0!==i&&i.length>0&&Une.jsx(bbe,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),pPi=Lse(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=UPe(),[c,u]=n.useState([...r??[]]);return Une.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[Une.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[Une.jsx(exe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),Une.jsx("div",{className:"truncate",children:i})]}),Une.jsxs("div",{className:"flex w-full flex-auto",children:[t,Une.jsx("button",{className:"flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg disabled:text-neutral-400",onClick:e=>{const t=s?.()??[];t.length&&t.unshift(JMi.SEPARATOR),u([...r??[],...t]),o(e)},disabled:!r?.length,children:Une.jsx(gxe,{})}),Une.jsx(GPe,{...l,menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},classes:{paper:"rounded-none mt-[1px]",list:"w-40 p-0 rounded-none border border-neutral-400 bg-white overflow-y-auto py-0.5"}},children:c.map((e,t)=>wr(e)?Une.jsx(HPe,{className:"flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100",onClick:()=>{e.action(),a()},disabled:Boolean(e.disabled),children:e.label},t):e===JMi.SEPARATOR?Une.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),gPi=e=>{const{message:t,prompt:n}=e;return Une.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[Une.jsx("div",{className:"mr-3",children:Une.jsx(VEe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),Une.jsxs("div",{children:[Une.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),Une.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},fPi=Lse(e=>{const{children:t,taskManager:n}=e;return Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),Une.jsx(hPi,{taskManager:n})]})}),mPi=Lse(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return Une.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":Dft.PLACEHOLDER,children:[Une.jsx(pPi,{title:n,menuItems:i,children:r??null}),Une.jsx(fPi,{taskManager:o,children:t}),s?Une.jsx(QMi,{layout:s}):null,Une.jsx(Dkn,{})]})}),vPi=Lse(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?Une.jsx(fPi,{children:Une.jsx(gPi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):Une.jsxs(Une.Fragment,{children:[Une.jsx(dPi,{view:t}),Une.jsx(hPi,{view:t})]})}),yPi=Lse(()=>{const e=IMi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(kft.SELECT_ITEM_TITLE_BAR,{...t.engine.getDataFromSource(t.getInitialSource()),menuName:e})};return n.useEffect(()=>{e.view.initialize(e.specification).catch(t=>e.logService.logUnhandledError(t))},[e]),Une.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[Une.jsx(pPi,{title:t.info.name,menuItems:[{label:Xft.UNDO,action:()=>{e.view.snapshotService.undo(),i(Xft.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:Xft.REDO,action:()=>{e.view.snapshotService.redo(),i(Xft.REDO)},disabled:!e.view.snapshotService.canRedo},{label:Xft.SETTINGS,action:()=>{e.settingService.display.open(),i(Xft.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),Une.jsx(vPi,{view:t}),Une.jsx(QMi,{layout:e.layoutService.manager}),Une.jsx(Dkn,{})]})}),bPi=Lse(e=>{const{specification:t,engine:i,options:r}=e,s=Pse(()=>new AMi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?Une.jsx(NMi,{value:s,children:Une.jsx(yPi,{},s.uuid)}):Une.jsx(mPi,{title:tmt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&Une.jsx(gPi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var _Pi,CPi,SPi,wPi,EPi,xPi;!function(e){e.ABSOLUTE_DATE="Absolute Date",e.ABSOLUTE_TIME="Absolute Time",e.TODAY="Today",e.NOW="Now",e.YESTERDAY="Yesterday",e.ONE_YEAR_AGO="One Year Ago",e.ONE_MONTH_AGO="One Month Ago",e.ONE_WEEK_AGO="One Week Ago",e.CUSTOM_DATE="Custom Date",e.PREVIOUS_DAY_OF_WEEK="Previous ... of Week",e.FIRST_DAY_OF="First day of...",e.LATEST_DATE="Latest Date"}(_Pi||(_Pi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(CPi||(CPi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(SPi||(SPi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(wPi||(wPi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(EPi||(EPi={})),function(e){e.TODAY="Today",e.NOW="Now",e.FIRST_DAY_OF_THIS_YEAR="Start of Year",e.FIRST_DAY_OF_QUARTER="Start of Quarter",e.FIRST_DAY_OF_MONTH="Start of Month",e.FIRST_DAY_OF_WEEK="Start of Week",e.PERVIOUS_DAY_OF_WEEK="Previous Day of Week"}(xPi||(xPi={}));class TPi{label;value;constructor(e,t){this.label=e,this.value=t}}class APi extends TPi{duration;unit;direction;referenceMoment;constructor(e,t,n,i,r,s){super(e,t),this.duration=n,this.unit=i,this.direction=r,this.referenceMoment=s}generateDisplayLabel(){return[this.duration,this.unit,this.direction,this.referenceMoment].join(" ")}updateLabel(){this.label=this.generateDisplayLabel()}}class RPi extends TPi{unit;constructor(e,t){super(e,_Pi.FIRST_DAY_OF),this.unit=t}}class NPi extends TPi{day;constructor(e,t){super(e,_Pi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const IPi=[new APi("Yesterday",_Pi.YESTERDAY,1,CPi.DAYS,EPi.BEFORE,xPi.TODAY),new APi("One Week Ago",_Pi.ONE_WEEK_AGO,1,CPi.WEEKS,EPi.BEFORE,xPi.TODAY),new APi("One Month Ago",_Pi.ONE_MONTH_AGO,1,CPi.MONTHS,EPi.BEFORE,xPi.TODAY),new APi("One Year Ago",_Pi.ONE_YEAR_AGO,1,CPi.YEARS,EPi.BEFORE,xPi.TODAY)],DPi=e=>Object.values(Zgt).find(t=>k_(e,t)),kPi=(e,t,n)=>{if(e instanceof NPi){const i=new bS(Zgt.PREVIOUS_DAY_OF_WEEK);sft(i,G_.create(new q_(B_.DATE)));const r=new cS(G_.create(new q_(t.getType(Ygt.DAY_OF_WEEK))));return pft(r,[...r.values,lC.create(dr(t.getEnumeration(Ygt.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),cft(i,r,n),i}if(e instanceof RPi)switch(e.unit){case SPi.YEAR:{const e=new bS(Zgt.FIRST_DAY_OF_THIS_YEAR);return sft(e,G_.create(new q_(B_.DATE))),e}case SPi.QUARTER:{const e=new bS(Zgt.FIRST_DAY_OF_QUARTER);return sft(e,G_.create(new q_(B_.STRICTDATE))),e}case SPi.MONTH:{const e=new bS(Zgt.FIRST_DAY_OF_THIS_MONTH);return sft(e,G_.create(new q_(B_.DATE))),e}case SPi.WEEK:{const e=new bS(Zgt.FIRST_DAY_OF_WEEK);return sft(e,G_.create(new q_(B_.DATE))),e}default:throw new yi(`Can't build expression for 'First Day Of ...' date picker option for unit '${e.unit}'`)}else switch(e.value){case _Pi.TODAY:return PPi(Zgt.TODAY,B_.STRICTDATE);case _Pi.NOW:return PPi(Zgt.NOW,B_.DATETIME);case xPi.FIRST_DAY_OF_THIS_YEAR:{const e=new bS(Zgt.FIRST_DAY_OF_THIS_YEAR);return sft(e,G_.create(new q_(B_.DATE))),e}case xPi.FIRST_DAY_OF_QUARTER:{const e=new bS(Zgt.FIRST_DAY_OF_QUARTER);return sft(e,G_.create(new q_(B_.STRICTDATE))),e}case xPi.FIRST_DAY_OF_MONTH:{const e=new bS(Zgt.FIRST_DAY_OF_THIS_MONTH);return sft(e,G_.create(new q_(B_.DATE))),e}case xPi.FIRST_DAY_OF_WEEK:{const e=new bS(Zgt.FIRST_DAY_OF_WEEK);return sft(e,G_.create(new q_(B_.DATE))),e}default:throw new yi(`Can't build expression for date picker option '${e.value}'`)}},OPi=(e,t)=>{const n=t.getEnumeration(Ygt.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(CPi).filter(t=>CPi[t]===e)[0])[0];return i??dr(n.values[0])},LPi=(e,t)=>{if(e instanceof bS&&k_(e.functionName,Zgt.ADJUST)||e instanceof $x&&k_(e.function,Zgt.ADJUST))try{const t=new APi("",_Pi.CUSTOM_DATE,(e=>{if(e instanceof bS){const t=e.parametersValues[1];return t instanceof lS?t.values[0]:t instanceof bS&&k_(t.functionName,Zgt.MINUS)&&t.parametersValues[0]instanceof lS?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof Xx?t.value:t instanceof $x&&k_(t.function,Zgt.MINUS)&&t.parameters[0]instanceof Xx?t.parameters[0].value:0}})(e),(e=>dr(e instanceof bS?Object.keys(CPi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>CPi[e])[0]:Object.values(CPi).filter(t=>t===fr(e.parameters[2],RT).property)[0]))(e),(n=e)instanceof bS?n.parametersValues[1]instanceof bS&&k_(n.parametersValues[1].functionName,Zgt.MINUS)?EPi.BEFORE:EPi.AFTER:n.parameters[1]instanceof $x&&k_(n.parameters[1].function,Zgt.MINUS)?EPi.BEFORE:EPi.AFTER,(e=>{const t=e instanceof bS?e.parametersValues[0].functionName:e.parameters[0].function;switch(DPi(t)){case Zgt.TODAY:return xPi.TODAY;case Zgt.NOW:return xPi.NOW;case Zgt.FIRST_DAY_OF_THIS_YEAR:return xPi.FIRST_DAY_OF_THIS_YEAR;case Zgt.FIRST_DAY_OF_QUARTER:return xPi.FIRST_DAY_OF_QUARTER;case Zgt.FIRST_DAY_OF_THIS_MONTH:return xPi.FIRST_DAY_OF_MONTH;case Zgt.FIRST_DAY_OF_WEEK:return xPi.FIRST_DAY_OF_WEEK;case Zgt.PREVIOUS_DAY_OF_WEEK:return xPi.PERVIOUS_DAY_OF_WEEK;default:throw new yi(`Can't build custom date option reference moment '${t}'`)}})(e)),i=IPi.filter(e=>e.generateDisplayLabel()===t.generateDisplayLabel());return i.length>0?(t.label=dr(i[0]?.label),t.value=dr(i[0]?.value),t):(t.updateLabel(),t)}catch(e){bi(e),t.notificationService.notifyError(e)}var n;return new APi("","",0,void 0,void 0,void 0)},MPi=(e,t)=>{if(!(e instanceof bS||e instanceof $x)){if(e instanceof lS)return e.genericType.value.rawType.path===Xb.LATESTDATE?new TPi(_Pi.LATEST_DATE,_Pi.LATEST_DATE):new TPi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===Xb.DATETIME?_Pi.ABSOLUTE_TIME:_Pi.ABSOLUTE_DATE);if(e instanceof iT)return new TPi(_Pi.LATEST_DATE,_Pi.LATEST_DATE);if(e instanceof tT)return new TPi(e.value,_Pi.ABSOLUTE_DATE);if(e instanceof eT)return new TPi(e.value,_Pi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof bS?e.functionName:e.function;switch(DPi(n)){case Zgt.TODAY:return new TPi(_Pi.TODAY,_Pi.TODAY);case Zgt.NOW:return new TPi(_Pi.NOW,_Pi.NOW);case Zgt.FIRST_DAY_OF_THIS_YEAR:return new RPi(xPi.FIRST_DAY_OF_THIS_YEAR,SPi.YEAR);case Zgt.FIRST_DAY_OF_QUARTER:return new RPi(xPi.FIRST_DAY_OF_QUARTER,SPi.QUARTER);case Zgt.FIRST_DAY_OF_THIS_MONTH:return new RPi(xPi.FIRST_DAY_OF_MONTH,SPi.MONTH);case Zgt.FIRST_DAY_OF_WEEK:return new RPi(xPi.FIRST_DAY_OF_WEEK,SPi.WEEK);case Zgt.PREVIOUS_DAY_OF_WEEK:const n=e instanceof bS?e.parametersValues[0].values[0]?.value.name:fr(e.parameters[0],RT).property;return new NPi(`Previous ${n}`,n);case Zgt.ADJUST:return LPi(e,t);default:return new TPi("","")}}},PPi=(e,t)=>{const n=new bS(e);return sft(n,G_.create(new q_(t))),n},FPi=(e,t,n,i)=>{const r=new lS(G_.create(new q_(e.getPrimitiveType(t))));return pft(r,[n],i),r},BPi=(e,t)=>{const n=mn(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},VPi=(e,t)=>{const n=new _S(e.functionName);return uft(n,pC.create(dr(e.func.value))),aft(n,e.parametersValues.map(e=>BPi(e)),t),n},UPi=(e,t,n,i)=>{const r=Sft(t)??t.path;switch(r){case Xb.STRING:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.BINARY:case Xb.BYTE:case Xb.INTEGER:return FPi(e,r,i?Eft(r):null,n);case Xb.BOOLEAN:return FPi(e,r,Eft(r),n);case Xb.DATE:return FPi(e,Xb.STRICTDATE,i?Eft(r):null,n);default:if(t instanceof J_){const e=new cS(G_.create(new q_(t)));if(i){if(!(t.values.length>0))throw new yi(`Can't get default value for enumeration since enumeration '${r}' has no value`);pft(e,[lC.create(t.values[0])],n)}return e}throw new yi(`Can't get default value for type '${r}'`)}},GPi=(e,t)=>s6(((e,t)=>{const n=new SS(new CS(__.create(e.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE));return n.expressionSequence[0]=UPi(e,B_.STRING,t,!0),n})(e.graph,t),e),HPi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==B_.BYTE)return new uS(s,G_.create(new q_(r)));if(r instanceof B_)return((e,t,n)=>{const i=e.name;return i===Xb.DATE||i===Xb.DATETIME?PPi(Zgt.NOW,B_.DATETIME):i===Xb.STRICTDATE?PPi(Zgt.TODAY,B_.STRICTDATE):i===Xb.DATE?FPi(t,Xb.STRICTDATE,Eft(i),n):FPi(t,i,Eft(i),n)})(r,t,n);if(r instanceof J_){const e=new cS(G_.create(new q_(r))),t=(o=r,(new My).getRandomItemInCollection(o.values)?.name??"");return""!==t&&pft(e,[lC.create(jw(r,t))],n),e}var o},zPi=(e,t,n)=>{if(e instanceof lS)return Jw(e.genericType.value.rawType,B_.DATE)?MPi(e,t).label:e.genericType.value.rawType===B_.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof cS){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof oS?e.name:e instanceof ES?zPi(e.getValue(),t,n):e instanceof bS?void 0!==e.genericType?.value.rawType&&Jw(e.genericType.value.rawType,B_.DATE)?MPi(e,t).label:e.functionName:e instanceof uS?e.values.map(e=>zPi(e,t,n)).join(","):void 0},jPi=(e,t,n)=>{let i=null;if(e instanceof B_)switch(e.path){case Xb.STRING:i=new lS(G_.create(new q_(e))),pft(i,[t.toString()],n);break;case Xb.NUMBER:case Xb.FLOAT:case Xb.DECIMAL:case Xb.INTEGER:{if(isNaN(Number(t)))return null;const r=e.path===Xb.INTEGER?Number.parseInt(Number(t).toString(),10):Number(t);i=new lS(G_.create(new q_(e))),pft(i,[r],n);break}case Xb.DATE:case Xb.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new lS(G_.create(new q_(e))),pft(i,[t],n);break;case Xb.DATETIME:if(isNaN(Date.parse(t))||!new Date(t).getTime()||t.includes("%")&&(isNaN(Date.parse(t.slice(1)))||!new Date(t.slice(1)).getTime()))return null;i=new lS(G_.create(new q_(e))),pft(i,[t],n);break;default:return null}return i},WPi=(e,t)=>{const n=t?vm:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof _S;){for(r=r.parametersValues[0];r instanceof bS&&k_(r.functionName,Zgt.SUBTYPE);){const e=`${Wb}(${n(r.parametersValues.filter(e=>e instanceof aS)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof _S&&i.unshift(n(r.func.value.name))}const s=[];for(const e of i)if(s.length){const t=dr(s[s.length-1]);t.startsWith(Wb)?s[s.length-1]=`${t}${e}`:s.push(e)}else s.push(e);return s.join(t?"/":".")},$Pi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof _S;)n=n.parametersValues[0],n instanceof _S&&t.unshift(n.func.value.name);return t.join(".")},qPi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof B_||r instanceof J_)return r===B_.LATESTDATE?new lS(G_.create(new q_(r))):UPi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new uS(T_.ZERO,G_.create(new q_(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class YPi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=$Pi(t),this.title=WPi(t,!0),this.propertyExpression=Qee(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=fr(t.func.value,uC),this.propertyExpressionState=n,Array.isArray(this.derivedProperty.parameters)&&(this.parameters=this.derivedProperty.parameters.map(e=>fr(this.queryBuilderState.graphManagerState.graphManager.buildValueSpecification(e,this.queryBuilderState.graphManagerState.graph),oS))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=rft(e,i)??dr(t[i]):t.push(rft(e,i)??qPi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),aft(e.propertyExpression,[dr(e.propertyExpression.parametersValues[0]),...t],e.queryBuilderState.observerContext)})(this)}get property(){return this.propertyExpression.func.value}get parameterValues(){return this.propertyExpression.parametersValues.slice(1)}get isValid(){return this.parameterValues.every(e=>!(e instanceof aS)||yft(e))}}class KPi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){hd(this,{isEditingDerivedPropertyExpression:Rc,derivedPropertyExpressionStates:Rc,setIsEditingDerivedProperty:Pu,initDerivedPropertyExpressionStates:Pu,isValid:kc,hashCode:kc}),this.queryBuilderState=e,this.propertyExpression=Qee(t,e.observerContext),this.path=$Pi(t),this.title=WPi(t,!0),this.initDerivedPropertyExpressionStates()}get isValid(){return this.derivedPropertyExpressionStates.every(e=>e.isValid)}setIsEditingDerivedProperty(e){this.isEditingDerivedPropertyExpression=e}initDerivedPropertyExpressionStates(){let e=!1;const t=[];let n=this.propertyExpression;for(;n instanceof _S;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof Y_&&0!==n.func.value._OWNER._generatedMilestonedProperties.length){const e=n.func.value.name,t=n.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===e);t&&uft(n,pC.create(t))}if(n.func.value instanceof uC){const e=new YPi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof bS&&k_(n.functionName,Zgt.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return mv([Ift.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class XPi{uuid=Mr()}class ZPi{uuid=Mr();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){hd(this,{lambdaString:Rc,parserError:Rc,compilationError:Rc,typeAheadEnabled:Rc,lambdaId:kc,fullLambdaString:kc,setLambdaString:Pu,setTypeAhead:Pu,clearErrors:Pu,setCompilationError:Pu,setParserError:Pu,convertLambdaGrammarStringToObject:Ju,convertLambdaObjectToGrammarString:Ju}),this.lambdaString=e,this.lambdaPrefix=t,this.typeAheadEnabled=n?.typeAheadEnabled??!1}get fullLambdaString(){return`${this.lambdaPrefix}${this.lambdaString}`}setLambdaString(e){this.lambdaString=e}setTypeAhead(e){this.typeAheadEnabled=e}clearErrors(e){this.setParserError(void 0),e?.preserveCompilationError&&this.compilationError?this.compilationError.sourceInformation=void 0:this.setCompilationError(void 0)}setCompilationError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.compilationError=e}setParserError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.parserError=e}processSourceInformation(e){const{sourceId:t,startLine:n,startColumn:i,endLine:r,endColumn:s}=e,o=this.lambdaPrefix.length;return new xZ(t,n+0,i-(1===n?o:0),r+0,s-(1===r?o:0))}extractLambdaString(e){return e.substring(e.indexOf(this.lambdaPrefix)+this.lambdaPrefix.length,e.length)}async getCodeComplete(e){return Promise.resolve(new c0)}}const QPi=(e,t,n,i)=>{const r=new SS(new CS(__.create(e.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE)),s=new h$;s.values=[n];const o=new bS(N_(Zgt.RELATION_PROJECT)),a=new mS(T_.ONE,void 0),l=new fS;a.values=[l];const c=new OK([]).build();return i.forEach((e,t)=>{const n=new pS;n.name=t,n.function1=new sS(VN(I$(e,c))),l.colSpecs.push(n)}),o.parametersValues=[s,a],r.expressionSequence=[o],s6(r,t)},JPi=(e,t,n)=>{let i=e.body;return n.length&&(i=Array.isArray(e.body)?[...n,...e.body]:[...n,e.body]),new nS([...Array.isArray(e.parameters)?e.parameters:[],...t],i)},eFi="PROJECTION_COLUMN";class tFi extends XPi{tdsState;columnName;wavgWeight;constructor(e,t){super(),hd(this,{uuid:!1,tdsState:!1,columnName:Rc,wavgWeight:Rc,setColumnName:Pu,setWavgWeight:Pu,hashCode:kc}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class nFi extends tFi{lambdaParameterName=Hgt;propertyExpressionState;constructor(e,t,n){super(e,""),hd(this,{lambdaParameterName:Rc,propertyExpressionState:Rc,setLambdaParameterName:Pu,changeProperty:Pu}),this.propertyExpressionState=new KPi(e.queryBuilderState,t),this.columnName=WPi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>Rft(e,t))))}changeProperty(e,t){this.propertyExpressionState=new KPi(this.tdsState.queryBuilderState,PUi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=WPi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return mv([Ift.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class iFi extends tFi{lambdaParameterName=Hgt;column;constructor(e,t,n=!0){super(e,t.name),hd(this,{hashCode:jl,lambdaParameterName:Rc,setLambdaParameterName:Pu}),this.column=t,this.columnName=n?vm(t.name):t.name}getColumnType(){return this.column.genericType.value.rawType}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return!1}get hashCode(){return mv([Ift.RELATION_COLUMN_PROJECTION_COLUMN_STATE,this.column.name,this.columnName])}}class rFi extends ZPi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return qee([Pgt.QUERY_BUILDER,Pgt.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=ej();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId);this.setParserError(void 0),this.derivationProjectionColumnState.setLambda(e)}catch(e){bi(e),e instanceof wZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}else this.clearErrors(),this.derivationProjectionColumnState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.derivationProjectionColumnState.lambda.body)try{const t=new Map;t.set(this.lambdaId,new nS(this.derivationProjectionColumnState.lambda.parameters,this.derivationProjectionColumnState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e?.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class sFi extends tFi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=Py.create();constructor(e,t){super(e,"(derivation)"),hd(this,{lambda:Rc,returnType:Rc,fetchingLambdaReturnTypeState:Rc,setLambda:Pu,setResolvedLambdaReturnType:Pu,fetchDerivationLambdaReturnType:Ju,setLambdaReturnType:Pu}),this.derivationLambdaEditorState=new rFi(e.queryBuilderState,this),this.lambda=t}setLambda(e){this.lambda=e}setReturnType(e){this.returnType=e}*fetchDerivationLambdaReturnType(e){if(e?.forceRefresh||void 0===this.returnType)try{br(!this.fetchingLambdaReturnTypeState.isInProgress,"Fetching lambda return type already in progress"),this.fetchingLambdaReturnTypeState.inProgress(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(this),e?.forceConversionStringToLambda&&(yield this.derivationLambdaEditorState.convertLambdaGrammarStringToObject().catch(this.tdsState.queryBuilderState.applicationStore.alertUnhandledError)),br(Array.isArray(this.lambda.parameters));const t=this.tdsState.queryBuilderState.graphManagerState.graph,n=this.tdsState.queryBuilderState.sourceElement;if(n instanceof Y_){const e=this.getIsolatedClassRawLambda(),n=yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(e,t);this.setLambdaReturnType(n)}else if(n instanceof l$){const e=this.getIsolatedAccessorRawLambda(n),i=(yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaRelationType(e,t)).columns.find(e=>e.name===this.columnName);i&&this.setLambdaReturnType(i.type)}}catch(e){bi(e),this.tdsState.queryBuilderState.applicationStore.logService.info(Hy.create(IS.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedAccessorRawLambda(e){const{graphManagerState:t}=this.tdsState.queryBuilderState,n=QPi(t.graph,t,e,new Map([[this.columnName,this.lambda]]));return JPi(n,this.tdsState.getParameters(),this.tdsState.getLetExpressions())}getIsolatedClassRawLambda(){const e=fr(this.tdsState.queryBuilderState.sourceElement,Y_,"Expected source element to be a class");br(Array.isArray(this.lambda.parameters));const t=this.lambda.parameters;br(1===t.length);const n=t[0];vr(n.name);const i=this.tdsState.queryBuilderState,r=new iS(n.name,T_.ONE,__.create(dr(e))),s=i.graphManagerState.graphManager.serializeRawValueSpecification(r);return JPi(new nS([s],this.lambda.body),this.tdsState.getParameters(),this.tdsState.getLetExpressions())}setLambdaReturnType(e){this.setResolvedLambdaReturnType(this.tdsState.queryBuilderState.graphManagerState.graph.getType(e))}setResolvedLambdaReturnType(e){br(e instanceof B_||e instanceof J_,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(e)}getColumnType(){return this.returnType}get hashCode(){return mv([Ift.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class oFi{uuid=Mr();constructor(){hd(this,{getOperator:kc,allValidationIssues:kc,hashCode:kc})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof nFi?e.projectionColumnState.propertyExpressionState.propertyExpression:void 0,e.lambdaParameterName,e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)}getReturnType(e){return e.projectionColumnState.getColumnType()}get getOperator(){return this}get allValidationIssues(){return[]}}class aFi extends XPi{aggregationState;projectionColumnState;lambdaParameterName=Hgt;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),hd(this,{projectionColumnState:Rc,lambdaParameterName:Rc,calendarFunction:Rc,hideCalendarColumnState:Rc,operator:Rc,setHideCalendarColumnState:Pu,setColumnState:Pu,setLambdaParameterName:Pu,setOperator:Pu,setCalendarFunction:Pu,handleUsedPostFilterType:Pu,hashCode:kc}),this.aggregationState=e,this.projectionColumnState=t,this.operator=n}setColumnState(e){this.projectionColumnState=e}setLambdaParameterName(e){this.lambdaParameterName=e}setHideCalendarColumnState(e){this.hideCalendarColumnState=e}setCalendarFunction(e){this.calendarFunction=e}setOperator(e){this.operator=e}getColumnType(){return this.operator.getReturnType(this)}handleUsedPostFilterType(e){void 0===this.getColumnType()&&this.projectionColumnState instanceof sFi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return mv([Ift.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class lFi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){hd(this,{columns:Rc,removeColumn:Pu,addColumn:Pu,changeColumnAggregateOperator:Pu,disableCalendar:Pu,allValidationIssues:kc,hashCode:kc}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){$r(this.columns,e)}addColumn(e){jr(this.columns,e)}changeColumnAggregateOperator(e,t,n){const i=this.columns.find(e=>e.projectionColumnState===t),r=this.operators.filter(e=>e.isCompatibleWithColumn(t));if(e){if(!r.includes(e))return;if(i){if(!n){const n=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(`${n} (${e.getLabel(t)})`)}i.setOperator(e.getOperator)}else{n||t.setColumnName(`${t.columnName} (${e.getLabel(t)})`);const i=new aFi(this,t,e.getOperator);i.setOperator(e.getOperator),this.addColumn(i),this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),this.tdsState.projectionColumns.length-1)}}else if(i){if(!n){const e=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(e)}this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),0),this.removeColumn(i)}}disableCalendar(){this.tdsState.queryBuilderState.setIsCalendarEnabled(!1),this.columns.forEach(e=>{e.setCalendarFunction(void 0),e.setHideCalendarColumnState(!0)})}get allValidationIssues(){return this.columns.map(e=>e.operator.allValidationIssues).flat()}get hashCode(){return mv([Ift.AGGREGATION_STATE,mv(this.columns)])}}const cFi=(e,t,n)=>{const i=new bS(N_(e));return i.parametersValues.push(new oS(t,T_.ONE)),i},uFi=(e,t,n,i,r)=>{if(k_(n.functionName,i)){const s=new aFi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),br(1===n.parametersValues.length,`Can't process ${N_(i)}() expression: ${N_(i)}() expects no argument`);const o=fr(n.parametersValues[0],oS,`Can't process ${N_(i)}() expression: only support ${N_(i)}() immediately following a variable expression`);return br(s.lambdaParameterName===o.name,`Can't process ${N_(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),br(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${N_(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class dFi extends oFi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.AVERAGE,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.AVERAGE,this)}getReturnType(e){return B_.FLOAT}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_AVERAGE])}}class hFi extends oFi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof J_}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.COUNT,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.COUNT,this)}getReturnType(e){return B_.INTEGER}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_COUNT])}}class pFi extends oFi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof J_}return!0}buildAggregateExpression(e,t,n){const i=new bS(N_(Zgt.DISTINCT));i.parametersValues.push(new oS(t,T_.ONE));const r=new bS(N_(Zgt.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Zgt.COUNT)){const i=new aFi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),br(1===e.parametersValues.length,"Can't process count() expression: count() expects no argument");const r=fr(e.parametersValues[0],bS,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);br(k_(r.functionName,Zgt.DISTINCT),`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following distinct() expression`),br(1===r.parametersValues.length,"Can't process distinct() expression: distinct() expects no argument");const s=fr(r.parametersValues[0],oS,"Can't process distinct() expression: only support distinct() immediately following a variable expression");return br(i.lambdaParameterName===s.name,`Can't process distinct() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`),br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process disc expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return B_.INTEGER}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class gFi extends oFi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Zgt.DATE_MAX:Zgt.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof nFi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!k_(e.functionName,Zgt.MAX))return;return uFi(n,t,e,Zgt.MAX,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!k_(e.functionName,Zgt.DATE_MAX))return;return uFi(n,t,e,Zgt.DATE_MAX,this);default:return}}return k_(e.functionName,Zgt.MAX)?uFi(n,t,e,Zgt.MAX,this):k_(e.functionName,Zgt.DATE_MAX)?uFi(n,t,e,Zgt.DATE_MAX,this):void 0}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_MAX])}}class fFi extends oFi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Zgt.DATE_MIN:Zgt.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof nFi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!k_(e.functionName,Zgt.MIN))return;return uFi(n,t,e,Zgt.MIN,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!k_(e.functionName,Zgt.DATE_MIN))return;return uFi(n,t,e,Zgt.DATE_MIN,this);default:return}}return k_(e.functionName,Zgt.MIN)?uFi(n,t,e,Zgt.MIN,this):k_(e.functionName,Zgt.DATE_MIN)?uFi(n,t,e,Zgt.DATE_MIN,this):void 0}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_MIN])}}class mFi extends oFi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.STD_DEV_POPULATION,this)}getReturnType(e){return B_.NUMBER}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class vFi extends oFi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.STD_DEV_SAMPLE,this)}getReturnType(e){return B_.NUMBER}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class yFi extends oFi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.SUM,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.SUM,this)}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_SUM])}}class bFi{columnState;sortType=Jgt.ASC;constructor(e){hd(this,{columnState:Rc,sortType:Rc,setColumnState:Pu,setSortType:Pu,hashCode:kc}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return mv([Ift.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class _Fi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){hd(this,{showModal:Rc,limit:Rc,distinct:Rc,sortColumns:Rc,slice:Rc.ref,setShowModal:Pu,setLimit:Pu,setDistinct:Pu,setSortColumns:Pu,addSortColumn:Pu,updateSortColumns:Pu,setSlice:Pu,reset:Pu,hashCode:kc}),this.tdsState=e}setShowModal(e){this.showModal=e}setLimit(e){this.limit=void 0===e||e<=0?void 0:e}setDistinct(e){this.distinct=e}setSortColumns(e){this.sortColumns=e}addSortColumn(e){jr(this.sortColumns,e)}updateSortColumns(){this.sortColumns=this.sortColumns.filter(e=>this.tdsState.tdsColumns.includes(e.columnState))}setSlice(e){this.slice=e}reset(){this.sortColumns=[],this.distinct=!1,this.limit=void 0}get hashCode(){return mv([Ift.RESULT_SET_MODIFIER_STATE,mv(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var CFi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(CFi||(CFi={}));class SFi{queryBuilderState;fetchStructureState;constructor(e,t){hd(this,{usedExplorerTreePropertyNodeIDs:kc,fetchStructureValidationIssues:kc,allValidationIssues:kc,hasInvalidFilterValues:kc,hasInvalidDerivedPropertyParameters:kc,hashCode:kc}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class wFi{uuid=Mr();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const EFi=(e,t)=>dr(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),xFi=e=>{if(e instanceof J_)return Qgt.GET_ENUM;switch(e.path){case Xb.STRING:return Qgt.GET_STRING;case Xb.NUMBER:return Qgt.GET_NUMBER;case Xb.INTEGER:return Qgt.GET_INTEGER;case Xb.FLOAT:return Qgt.GET_FLOAT;case Xb.DECIMAL:return Qgt.GET_DECIMAL;case Xb.DATE:return Qgt.GET_DATE;case Xb.DATETIME:return Qgt.GET_DATETIME;case Xb.STRICTDATE:return Qgt.GET_STRICTDATE;case Xb.BOOLEAN:return Qgt.GET_BOOLEAN;default:throw new yi(`Can't find TDS column derived property name for type: '${e.path}'`)}};var TFi;!function(e){e.AND="and",e.OR="or"}(TFi||(TFi={}));const AFi=e=>{switch(e){case TFi.AND:return Zgt.AND;case TFi.OR:return Zgt.OR;default:throw new yi(`Can't derive function name from group operation '${e}'`)}},RFi=e=>{if(k_(e,Zgt.AND))return TFi.AND;if(k_(e,Zgt.OR))return TFi.OR;throw new yi(`Can't derive group operation from function name '${e}'`)},NFi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;br(Object.values(Qgt).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(Qgt).join(",")}`);const r=i,s=e.parametersValues[1],o=Ar(fr(s,lS,"Can`t process TDS column expression: Column should be a primitive instance value").values[0],"Can`t process TDS column expression: Column should be a string primitive instance value"),a=EFi(n,o);if(r!==Qgt.IS_NULL&&r!==Qgt.IS_NOT_NULL){if(a instanceof sFi){const e=EBi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof aFi&&a.projectionColumnState instanceof sFi){const e=EBi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=dr(a.getColumnType());br(xFi(e)===r,`Can't process TDS column expression: expected column type ${xFi(e)} (got ${r})`)}return a},IFi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof _S&&t.func.value.name===s){const n=NFi(t,e);return r=new kBi(e,n,i),r}if(n&&k_(t.functionName,n)){br(2===t.parametersValues.length,`Can't process ${N_(n)}() expression: ${N_(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof _S)o=NFi(s,e);else{if(!(s instanceof yS))throw new yi(`Can't process ${N_(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=EFi(e.tdsState,t)}}const a=t.parametersValues[1];r=new kBi(e,o,i),((e,t)=>{if(e instanceof _S){const n=_i(()=>NFi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new DBi(t,n))}const n=e?Nft(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new IBi(t,n))})(a,r),br(i.isCompatibleWithPostFilterColumn(r),`Can't process ${N_(n)}() expression: property is not compatible with post-filter operator`),br(i.isCompatibleWithConditionValue(r),`Operator '${i.getLabel()}' not compatible with value specification ${a?.toString()}`)}return r},DFi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!k_(e.functionName,[Zgt.AND,Zgt.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new ABi(void 0,r),i)}throw new yi("Can't process post-filter expression: no compatible post-filter operator processer available from plugins")}{const r=new TBi(n,RFi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>DFi(fr(e,yS,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},kFi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?bY(r.expressionSequence[0]):void 0,o=new oS(e.postFilterState.lambdaParameterName,T_.ONE);if(s){const e=dr(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new yS(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new _S("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=dr(t.getColumnType());r=xFi(e)}e.func=pC.create(dr(Kw(n.getClass(Ygt.TDS_ROW)).find(e=>e.name===r)));const a=new lS(G_.create(new q_(B_.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},OFi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=kFi(e,e.leftConditionValue,r,t,i);if(n){const t=new bS(N_(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class LFi extends wFi{getLabel(){return"starts with"}isCompatibleWithType(e){return Sft(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return OFi(e,this,Zgt.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return IFi(e,t,Zgt.STARTS_WITH,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_START_WITH])}}class MFi extends LFi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?_ft(n):void 0}buildPostFilterConditionState(e,t){const n=bft(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_NOT_START_WITH])}}const PFi=e=>e.getValue()instanceof ES?PFi(fr(e.getValue(),ES)):e.getValue(),FFi=(e,t,n,i,r)=>{const s=new _S("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof _S;){if(o=a.parametersValues[0],o instanceof _S){const e=new _S("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,lft(a,e,0,t.observerContext)}if(a instanceof _S&&a.func.value instanceof uC)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof Y_&&0!==a.func.value._OWNER._generatedMilestonedProperties.length){const e=a.func.value.name,n=a.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===`${e}${i_.ALL_VERSIONS}`);n&&(uft(a,pC.create(n)),aft(a,[dr(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof ES&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof ES&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=PFi(t):e.parametersValues=[dr(fr(a,_S).parametersValues[0])]:e.parametersValues[n+1]=PFi(t))})}for(a=o;a instanceof bS&&k_(a.functionName,Zgt.SUBTYPE);)a=a.parametersValues[0]}return a instanceof oS&&dft(a,n),s};var BFi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.BLANK_CONDITION"}(BFi||(BFi={}));const VFi=e=>{let t=e;for(;t instanceof _S;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof bS&&k_(t.functionName,Zgt.SUBTYPE);)t=t.parametersValues[0]}return!1};class UFi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return mv([Ift.FILTER_CONDITION_RIGHT_VALUE])}}class GFi extends UFi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof uS?vft(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?mft(this.value):void 0}setValue(e){return this.value=e?vte(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof uS}get hashCode(){return mv([Ift.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class HFi extends UFi{propertyExpressionState;constructor(e,t){super(e),hd(this,{propertyExpressionState:Rc,changePropertyExpressionState:Pu}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return VFi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class zFi{}class jFi extends zFi{propertyExpressionState;constructor(e){super(),this.propertyExpressionState=e}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get label(){return this.propertyExpressionState.title}get title(){return this.propertyExpressionState.title}get isValid(){return this.propertyExpressionState.isValid}get requiresExistsHandling(){return this.propertyExpressionState.requiresExistsHandling}buildLeftExpression(e,t){return dr(FFi(this.propertyExpressionState.propertyExpression,e,t))}get hashCode(){return mv([Ift.FILTER_CONDITION_SOURCE_PROPERTY_EXPRESSION,this.propertyExpressionState])}}class WFi extends zFi{columnName;columnType;constructor(e,t){super(),this.columnName=e,this.columnType=t}get type(){return this.columnType}get label(){return this.columnName}get title(){return this.columnName}get isValid(){return!0}get requiresExistsHandling(){return!1}buildLeftExpression(e,t){const n=e.sourceRelationType;if(n){const e=dr(n.columns.find(e=>e.name===this.columnName),`Can't find column '${this.columnName}' in relation`),i=new yS(e.name);return i.func=e,i.parametersValues=[new oS(t,T_.ONE)],i}throw new vi(`Can't build expression for relation column '${this.columnName}': no source relation type`)}get hashCode(){return mv([Ift.FILTER_CONDITION_SOURCE_RELATION_COLUMN,this.columnName])}}class $Fi{filterState;sourceState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=Py.create();constructor(e,t,n){hd(this,{sourceState:Rc,operator:Rc,rightConditionValue:Rc,existsLambdaParamNames:Rc,typeaheadSearchResults:Rc,changeOperator:Pu,setOperator:Pu,setRightConditionValue:Pu,addExistsLambdaParamNames:Pu,buildRightConditionValueFromValueSpec:Pu,buildRightConditionValueFromPropertyExpressionState:Pu,handleTypeaheadSearch:Ju,operators:kc,hashCode:kc}),this.filterState=e,this.sourceState=t instanceof _S?new jFi(new KPi(e.queryBuilderState,t)):t,n?this.operator=n:(br(0!==this.operators.length,`Can't find an operator for property '${this.sourceState.title}': no operators registered`),this.operator=this.operators[0]),this.buildRightConditionValueFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}get propertyExpressionState(){return fr(this.sourceState,jFi,"Filter condition source is not a property expression").propertyExpressionState}get leftConditionType(){return this.sourceState.type}get operators(){return this.filterState.operators.filter(e=>e.isCompatibleWithFilterConditionProperty(this))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=fr(this.rightConditionValue,GFi),n=e??t.value;if(SBi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(_Bi(this.filterState.queryBuilderState,this.propertyExpressionState.propertyExpression,n),dr(this.filterState.queryBuilderState.executionContextState.mapping),dr(this.filterState.queryBuilderState.executionContextState.runtimeValue),this.filterState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.filterState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=CBi(e)}this.typeaheadSearchState.pass()}catch(e){bi(e),this.typeaheadSearchResults=[],this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){if(this.setOperator(e),!this.operator.isCompatibleWithFilterConditionValue(this)){let e=this.operator.getDefaultFilterConditionValue(this);e instanceof uS&&this.rightConditionValue instanceof GFi&&this.rightConditionValue.value instanceof aS&&yft(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?pft(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof aS&&this.rightConditionValue instanceof GFi&&this.rightConditionValue.value instanceof uS&&this.rightConditionValue.value.values.length&&(e=this.rightConditionValue.value.values[0]),this.buildRightConditionValueFromValueSpec(e)}}setOperator(e){this.operator=e}setRightConditionValue(e){this.rightConditionValue=e}addExistsLambdaParamNames(e){this.existsLambdaParamNames.push(e)}buildRightConditionValueFromValueSpec(e){this.rightConditionValue instanceof GFi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new GFi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof HFi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new HFi(this,e))}get hashCode(){return mv([Ift.FILTER_CONDITION_STATE,this.sourceState,this.rightConditionValue??"",this.operator])}}class qFi{id=Mr();label="";isOpen;parentId;constructor(e){this.parentId=e,hd(this,{isOpen:Rc,parentId:Rc,setIsOpen:Pu,setParentId:Pu,hashCode:kc})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class YFi extends qFi{childrenIds=[];lambdaParameterName;constructor(e){super(e),hd(this,{childrenIds:Rc,addChildNode:Pu,removeChildNode:Pu,dragPreviewLabel:kc}),this.isOpen=!0}addChildNode(e){jr(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){$r(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}}class KFi extends YFi{groupOperation;constructor(e,t){super(e),hd(this,{groupOperation:Rc,setGroupOperation:Pu}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return mv([Ift.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class XFi extends YFi{filterState;propertyExpressionState;constructor(e,t){super(t),hd(this,{propertyExpressionState:Rc,setPropertyExpression:Pu}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new KPi(this.filterState.queryBuilderState,e)}get hashCode(){return mv([Ift.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const ZFi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof XFi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class QFi extends qFi{condition;isNewlyAdded;constructor(e,t){super(e),hd(this,{condition:Rc,isNewlyAdded:Rc,setIsNewlyAdded:Pu,dragPreviewLabel:kc}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.sourceState.title}get hashCode(){return mv([Ift.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class JFi extends qFi{constructor(e){super(e),hd(this,{dragPreviewLabel:kc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return mv([Ift.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class eBi{queryBuilderState;lambdaParameterName=Hgt;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){hd(this,{rootIds:Rc,nodes:Rc,selectedNode:Rc,isRearrangingConditions:Rc,lambdaParameterName:Rc,showPanel:Rc,setLambdaParameterName:Pu,setRearrangingConditions:Pu,setSelectedNode:Pu,addNodeFromNode:Pu,replaceBlankNodeWithNode:Pu,addGroupConditionNodeFromNode:Pu,newGroupConditionFromNode:Pu,newGroupWithConditionFromNode:Pu,removeNodeAndPruneBranch:Pu,pruneTree:Pu,simplifyTree:Pu,collapseTree:Pu,setShowPanel:Pu,expandTree:Pu,allValidationIssues:kc,hasInvalidFilterValues:kc,hasInvalidDerivedPropertyParameters:kc,hashCode:kc}),this.queryBuilderState=e,this.operators=t}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}setLambdaParameterName(e){this.lambdaParameterName=e}setShowPanel(e){this.showPanel=e}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return dr(this.nodes.get(e),`Can't find query builder filter tree node with ID '${e}'`)}getRootNode(){br(this.rootIds.length<2,"Query builder filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}getParentNode(e){return e.parentId?fr(this.nodes.get(e.parentId),YFi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof KFi)t.addChildNode(e);else if(t instanceof QFi||t instanceof JFi||t instanceof XFi){const n=new KFi(void 0,TFi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}addNodeFromNode(e,t){if(t instanceof KFi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof XFi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new KFi(void 0,TFi.AND);n.addChildNode(dr(this.nodes.get(dr(t.childrenIds[0])))),n.addChildNode(e),n.lambdaParameterName=t.lambdaParameterName,this.nodes.set(n.id,n),t.childrenIds=[],t.addChildNode(n)}else this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof QFi||t instanceof JFi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}addGroupConditionNodeFromNode(e){const t=new KFi(void 0,TFi.AND),n=new JFi(void 0),i=new JFi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupConditionFromNode(e,t,n){const i=this.getParentNode(e),r=new KFi(void 0,n??TFi.AND);return this.nodes.set(r.id,r),i?.removeChildNode(e),r.addChildNode(e),t&&(this.nodes.set(t.id,t),r.addChildNode(t)),r.lambdaParameterName=i?.lambdaParameterName??this.lambdaParameterName,i?i.addChildNode(r):($r(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new JFi(void 0);if(t instanceof QFi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new KFi(void 0,TFi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),r.lambdaParameterName=e.lambdaParameterName,e.addChildNodeAt(r,i)}else this.addRootNode(n)}}removeNode(e){this.nodes.delete(e.id),e instanceof YFi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):$r(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(pr(KFi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):jr(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):$r(this.rootIds,e.id)}}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&n instanceof KFi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else $r(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof JFi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(KFi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new vi("Query builder filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof JFi)throw new vi("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof QFi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(pr(KFi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof KFi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=fr(this.nodes.get(dr(e.parentId)),KFi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}isValidMove(e,t){const n=e===t;let i=!1,r=this.getParentNode(t);for(;r;){if(r===e){i=!0;break}r=this.getParentNode(r)}return!n&&!i}moveNode(e,t){}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(pr(QFi)).map(e=>e.condition.rightConditionValue instanceof GFi?e.condition.rightConditionValue.value:void 0).filter(cr).find(t=>Rft(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof QFi&&!e.condition.sourceState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof QFi&&e.condition.rightConditionValue instanceof GFi&&e.condition.rightConditionValue.value instanceof aS&&!yft(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof QFi&&e.condition.rightConditionValue instanceof HFi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof QFi&&(this.isInvalidValueSpecFilterValue(t)&&e.push(`Filter value for ${t.condition.sourceState.title} is missing or invalid`),this.isInvalidFilterPropertyExpressionState(t)&&e.push(`Derived property parameter value for ${t.condition.sourceState.title} is missing or invalid`),t.condition.rightConditionValue instanceof HFi&&this.isInvalidPropertyExpressionStateFilterValue(t)&&e.push(`Derived property parameter value for ${t.condition.rightConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>this.isInvalidValueSpecFilterValue(e))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>this.isInvalidFilterPropertyExpressionState(e)||this.isInvalidPropertyExpressionStateFilterValue(e))}get hashCode(){return mv([Ift.FILTER_STATE,mv(this.rootIds),mv(Array.from(this.nodes.values()))])}}const tBi=(e,t)=>{if(t instanceof QFi){const n=t.parentId?fr(e.nodes.get(t.parentId),YFi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof KFi){const n=new bS(N_(AFi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>tBi(e,t)).filter(cr);if(i.length>2){const e=i[0];let r=i[i.length-1];for(let e=i.length-2;e>0;--e){const n=i[e],s=r,o=new bS(N_(AFi(t.groupOperation)));o.parametersValues=[n,s],r=o}n.parametersValues=[e,r]}else n.parametersValues=i;return n.parametersValues.length?n:void 0}if(t instanceof XFi){const n=new bS(N_(Zgt.EXISTS));let i=t.parentId?fr(e.nodes.get(dr(t.parentId)),YFi):void 0;for(;i&&!(i instanceof KFi);)i=i.parentId?fr(e.nodes.get(dr(i.parentId)),YFi):void 0;const r=t.parentId?fr(e.nodes.get(dr(t.parentId)),YFi).lambdaParameterName:void 0,s=dr(FFi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>tBi(e,t)).filter(cr);let a;if(o.length>2){const e=o[0];let t=o[o.length-1];for(let e=o.length-2;e>0;--e){const n=o[e],r=t,s=new bS(dr(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=xft([t.lambdaParameterName??Hgt],o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new bS(N_(AFi(dr(i).groupOperation)));l.parametersValues=a;const c=xft([t.lambdaParameterName??Hgt],[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var nBi,iBi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(nBi||(nBi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(iBi||(iBi={}));const rBi=(e,t)=>{const n=new SS(new CS(__.create(e.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new bS(N_(exports.SUPPORTED_FUNCTIONS.LET)),n=new lS(G_.create(new q_(B_.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(cr),n},sBi=e=>e.value instanceof bS&&[T_.ONE,T_.ZERO_ONE].some(t=>iE(t,e.parameter.multiplicity)),oBi=e=>e.filter(sBi),aBi=(e,t)=>e.filter(e=>!sBi(e)).map(e=>{const n=new Gq;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(dr(e.value)),n}),lBi=(e,t,n)=>{const i=((e,t)=>{const n=oBi(e);if(n.length>0){const i=rBi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),s6(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class cBi{uuid=Mr();parameter;graph;observerContext;value;constructor(e,t,n){hd(this,{value:Rc,setValue:Pu,mockParameterValue:Pu,hashCode:kc}),this.observerContext=t,this.parameter=Kee(e),this.graph=n}get hashCode(){return mv([iBi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(HPi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof oS)throw new vi("Can not assign a parameter to another parameter");this.value=e?vte(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(sft(this.parameter,G_.create(new q_(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;iE(n,t)||(oft(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class uBi{showModal=!1;submitAction;constructor(){hd(this,{showModal:Rc,submitAction:Rc,setShowModal:Pu,open:Pu,setSubmitAction:Pu})}setShowModal(e){this.showModal=e}setSubmitAction(e){this.submitAction=e}open(e,t){this.setSubmitAction({handler:e,label:t}),this.setShowModal(!0)}close(){this.setSubmitAction(void 0),this.setShowModal(!1)}}class dBi{parameterStates=[];parameterValuesEditorState=new uBi;constructor(){hd(this,{hashCode:kc})}get hashCode(){return mv([iBi.LAMBDA_PARAMETERS_STATE,mv(this.parameterStates)])}addParameter(e){jr(this.parameterStates,e)}removeParameter(e){$r(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class hBi{queryBuilderState;mapping;runtimeValue;constructor(e){this.queryBuilderState=e}setMapping(e){this.mapping=e}setRuntimeValue(e){this.runtimeValue=e}get specifiedInQuery(){return!1}get explicitMappingValue(){return this.mapping}get explicitRuntimeValue(){return this.runtimeValue}}class pBi extends hBi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class gBi extends hBi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}}const fBi=(e,t)=>{const n=new bS(N_(Xgt.GET_ALL)),i=new aS(t,G_.create(new q_(e)));return i.values[0]=__.create(e),n.parametersValues.push(i),n},mBi=(e,t)=>{const n=new bS(N_(Xgt.GET_ALL_VERSIONS)),i=new aS(t,G_.create(new q_(e)));return i.values[0]=__.create(e),n.parametersValues.push(i),n},vBi=(e,t)=>{const n=new SS(new CS(__.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE)),i=dr(e.sourceElement,"Source element of type class or accessor is required to build query");if(i instanceof Y_){const i=dr(e.sourceClass,"Class is required to build query"),r=zw(i,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=mBi(i,T_.ONE);n.expressionSequence[0]=e}else switch(e.getAllFunction){case Xgt.GET_ALL_VERSIONS:if(!r)throw new yi("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=mBi(i,T_.ONE);n.expressionSequence[0]=e}break;case Xgt.GET_ALL_VERSIONS_IN_RANGE:if(!r)throw new yi("Unable to build query lamdba: getAllVersionsInRange() expects source class to be milestoned");{const t=((e,t)=>{const n=new bS(N_(Xgt.GET_ALL_VERSIONS_IN_RANGE)),i=new aS(t,G_.create(new q_(e)));return i.values[0]=__.create(e),n.parametersValues.push(i),n})(i,T_.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),n.expressionSequence[0]=t}break;case Xgt.GET_ALL:{const t=fBi(i,T_.ONE);r&&e.milestoningState.getMilestoningImplementation(r).buildGetAllParameters(t),n.expressionSequence[0]=t;break}default:throw new yi(`Unable to build query lambda: unknown ${e.getAllFunction} function`)}}else{const e=new h$;e.values=[i],n.expressionSequence[0]=e}if(((e,t)=>{if(!e.value)return;const n=dr(t.expressionSequence[0]),i=new bS(N_(Zgt.WATERMARK));i.parametersValues.push(n),i.parametersValues.push(e.value),t.expressionSequence[0]=i})(e.watermarkState,n),((e,t)=>{const n=e.rootIds.map(t=>dr(e.nodes.get(t))).map(t=>tBi(e,t)).filter(cr);if(!n.length)return;const i=new bS(N_(Zgt.FILTER)),r=dr(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(xft([e.lambdaParameterName],n,e.queryBuilderState.graphManagerState.graph)),t.expressionSequence[0]=i})(e.filterState,n),((e,t,n)=>{e.implementation.appendFetchStructure(t,n)})(e.fetchStructureState,n,t),t?.skipExecutionContext||e.buildExecutionContextExpression(n),e.constantState.constants.length){const t=e.constantState.constants.map(e=>e.buildLetExpression());n.expressionSequence=[...t,...n.expressionSequence]}return e.parametersState.parameterStates.length&&!t?.useAllVersionsForMilestoning&&(t?.isBuildingExecutionQuery?((e,t,n)=>{const i=oBi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=rBi(n.graph,i);e.expressionSequence=[...r.expressionSequence,...e.expressionSequence]}else e.functionType.parameters=t.map(e=>e.parameter)})(n,e.parametersState.parameterStates,e.graphManagerState):n.functionType.parameters=e.parametersState.parameterStates.map(e=>e.parameter)),n},yBi=(e,t,n)=>{const i=new _S("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof _S;){if(r=s.parametersValues[0],r instanceof _S){const e=new _S("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof _S&&s.func.value.genericType.value.rawType instanceof Y_&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof uC&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=PPi(Zgt.NOW,B_.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];aft(s,[dr(s.parametersValues[0]),...t],n)}for(s=r;s instanceof bS&&k_(s.functionName,Zgt.SUBTYPE);)s=s.parametersValues[0]}return s instanceof oS&&dft(s,t),i},bBi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new yi("Can't build typeahead query");const a=new SS(new CS(__.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE)),l=dr(e.sourceClass),c=fBi(dr(e.sourceClass),T_.ONE),u=zw(l,e.graphManagerState.graph);u&&e.milestoningState.getMilestoningImplementation(u).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const d=t?WPi(t,!1):s;if(n){const r=new bS(N_(Zgt.TDS_GROUP_BY)),s=new uS(T_.ZERO),o=new uS(T_.ONE),l=new uS(T_.ONE),c=new lS(G_.create(new q_(B_.STRING)));c.values.push(d),l.values.push(c);const u=t?xft([Hgt],[t],e.graphManagerState.graph):i,h=new bS(N_(Zgt.TDS_AGG)),p=xft([Hgt],[n.buildAggregateExpression(t,Hgt,e.graphManagerState.graph)],e.graphManagerState.graph);h.parametersValues=[dr(u),p],o.values.push(h),r.parametersValues=[a.expressionSequence[0],s,o,l],a.expressionSequence[0]=r}else{const n=new bS(N_(Zgt.TDS_PROJECT)),r=new uS(T_.ONE),s=new uS(T_.ONE),o=new lS(G_.create(new q_(B_.STRING)));o.values.push(d),s.values.push(o);const l=t?xft([Hgt],[t],e.graphManagerState.graph):i;r.values.push(dr(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new LFi,p=new _S("");let g;const f=h.getTDSColumnGetter();if(f)g=f;else{const e=t?.func.value.genericType.value.rawType??r;g=xFi(dr(e))}p.func=pC.create(dr(Kw(e.graphManagerState.graph.getClass(Ygt.TDS_ROW)).find(e=>e.name===g)));const m=new oS(zgt,T_.ONE),v=new lS(G_.create(new q_(B_.STRING)));v.values=[d],p.parametersValues=[m,v];const y=new bS(N_(Zgt.STARTS_WITH));y.parametersValues.push(p),o&&y.parametersValues.push(o);const b=xft([zgt],[y],e.graphManagerState.graph),_=new bS(N_(Zgt.TDS_FILTER)),C=dr(a.expressionSequence[0]);_.parametersValues=[C,b],a.expressionSequence[0]=_;let S=a.expressionSequence[0];const w=new bS(N_(Zgt.TDS_DISTINCT));w.parametersValues[0]=S,S=w;const E=new lS(G_.create(new q_(B_.INTEGER)));E.values=[10];const x=new bS(N_(Zgt.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=E,S=x,a.expressionSequence[0]=S,s6(a,e.graphManagerState)},_Bi=(e,t,n)=>{const i=yBi(t,Hgt,e.observerContext);return bBi(e,i,void 0,void 0,void 0,void 0,n)},CBi=e=>{const t=fr(e,NX,"Typeahead search is only supported for TDS result sets"),n=[];return t.result.rows.map(e=>e.values[0]).filter(cr).forEach(e=>{_r(e)&&n.push(e)}),n},SBi=e=>{if(e instanceof lS){if(e.genericType.value.rawType.path===Xb.STRING){return e.values[0].length>=2}return!1}return!1};var wBi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.BLANK_CONDITION"}(wBi||(wBi={}));const EBi=(e,t)=>{switch(e){case Qgt.GET_STRING:return B_.STRING;case Qgt.GET_NUMBER:return B_.NUMBER;case Qgt.GET_INTEGER:return B_.INTEGER;case Qgt.GET_FLOAT:return B_.FLOAT;case Qgt.GET_DECIMAL:return B_.DECIMAL;case Qgt.GET_DATE:return B_.DATE;case Qgt.GET_DATETIME:return B_.DATETIME;case Qgt.GET_STRICTDATE:return B_.STRICTDATE;case Qgt.GET_BOOLEAN:return B_.BOOLEAN;default:return}};class xBi{id=Mr();label="";isOpen;parentId;constructor(e){this.parentId=e,hd(this,{isOpen:Rc,parentId:Rc,setIsOpen:Pu,setParentId:Pu,hashCode:kc})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class TBi extends xBi{groupOperation;childrenIds=[];constructor(e,t){super(e),hd(this,{groupOperation:Rc,setGroupOperation:Pu,childrenIds:Rc,addChildNode:Pu,removeChildNode:Pu,dragPreviewLabel:kc}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}addChildNode(e){jr(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){$r(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}get hashCode(){return mv([Ift.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.groupOperation])}}class ABi extends xBi{condition;isNewlyAdded;constructor(e,t,n){super(e),hd(this,{condition:Rc,isNewlyAdded:Rc,setIsNewlyAdded:Pu,dragPreviewLabel:kc}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return mv([Ift.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class RBi extends xBi{constructor(e){super(e),hd(this,{dragPreviewLabel:kc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return mv([Ift.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class NBi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return mv([Ift.POST_FILTER_CONDITION_RIGHT_VALUE])}}class IBi extends NBi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof uS?vft(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?mft(this.value):void 0}setValue(e){return this.value=e?vte(e,this.conditionState.postFilterState.tdsState.queryBuilderState.observerContext):void 0,this.value}appendConditionValue(e,t){this.value&&e.parametersValues.push(this.value)}get isCollection(){return this.value instanceof uS}get hashCode(){return mv([Ift.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class DBi extends NBi{tdsColumn;constructor(e,t){super(e),hd(this,{tdsColumn:Rc,changeCol:Pu}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=kFi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class kBi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=Py.create();constructor(e,t,n){hd(this,{postFilterState:Rc,rightConditionValue:Rc,operator:Rc,leftConditionValue:Rc,typeaheadSearchResults:Rc,changeOperator:Pu,setColumnState:Pu,setRightConditionVal:Pu,buildFromValueSpec:Pu,setOperator:Pu,changeColumn:Ju,handleTypeaheadSearch:Ju,columnName:kc,hashCode:kc}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new IBi(this,void 0),n?this.operator=n:(br(0!==this.operators.length,`Can't find an operator for column '${this.leftConditionValue.columnName}`),this.operator=dr(this.operators[0]))}get columnName(){return this.leftConditionValue.columnName}get operators(){return this.postFilterState.operators.filter(e=>e.isCompatibleWithPostFilterColumn(this))}setRightConditionVal(e){this.rightConditionValue=e}buildFromValueSpec(e){this.rightConditionValue instanceof IBi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new IBi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof tFi||this.leftConditionValue instanceof aFi?this.leftConditionValue:void 0,n=dr(t),i=fr(this.rightConditionValue,IBi),r=e??i.value;if(SBi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof tFi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof sFi?(s=new sS(VN(I$(l.lambda,new OK([]).build()))),o=l.columnName,a=l.returnType):i=yBi(fr(l,nFi).propertyExpressionState.propertyExpression,Hgt,e.observerContext),bBi(e,i,r,s,a,o,n)})(this.postFilterState.tdsState.queryBuilderState,n,r),dr(this.postFilterState.tdsState.queryBuilderState.executionContextState.mapping),dr(this.postFilterState.tdsState.queryBuilderState.executionContextState.runtimeValue),this.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.postFilterState.tdsState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=CBi(e)}this.typeaheadSearchState.pass()}catch(e){bi(e),this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){this.setOperator(e),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}setColumnState(e){this.leftConditionValue=e}setOperator(e){this.operator=e}*changeColumn(e){try{const t=this.postFilterState.tdsState.aggregationState.columns.find(t=>t.projectionColumnState===e),n=t??e;n instanceof sFi&&(yield n.fetchDerivationLambdaReturnType()),this.setColumnState(n),this.operator.isCompatibleWithPostFilterColumn(this)||this.setOperator(dr(this.operators[0])),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}catch(t){bi(t),this.postFilterState.tdsState.queryBuilderState.applicationStore.notificationService.notifyError(`Can't drag column '${e.columnName}' due to: ${t.message}`)}}get hashCode(){return mv([Ift.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class OBi{tdsState;lambdaParameterName=zgt;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){hd(this,{tdsState:!1,selectedNode:Rc,isRearrangingConditions:Rc,rootIds:Rc,nodes:Rc,lambdaParameterName:Rc,derivedColumnBeingDropped:Rc,setLambdaParameterName:Pu,setSelectedNode:Pu,addNodeFromNode:Pu,addGroupConditionNodeFromNode:Pu,newGroupWithConditionFromNode:Pu,removeNodeAndPruneBranch:Pu,pruneTree:Pu,simplifyTree:Pu,collapseTree:Pu,expandTree:Pu,replaceBlankNodeWithNode:Pu,setRearrangingConditions:Pu,setDerivedColumnBeingDropped:Pu,allValidationIssues:kc,hasInvalidFilterValues:kc,hasInvalidDerivedPropertyParameters:kc,hashCode:kc}),this.tdsState=e,this.operators=t}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return dr(this.nodes.get(e),`Can't find query builder post-filter tree node with ID '${e}'`)}setDerivedColumnBeingDropped(e){this.derivedColumnBeingDropped=e}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}getParentNode(e){return e.parentId?fr(this.nodes.get(e.parentId),TBi):void 0}get referencedTDSColumns(){return li(Array.from(this.nodes.values()).filter(pr(ABi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof DBi?[e.condition.rightConditionValue.tdsColumn]:[]]).flat())}getRootNode(){br(this.rootIds.length<2,"Query builder post-filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof TBi)t.addChildNode(e);else if(t instanceof ABi||t instanceof RBi){const n=new TBi(void 0,TFi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}setLambdaParameterName(e){this.lambdaParameterName=e}addGroupConditionNodeFromNode(e){const t=new TBi(void 0,TFi.AND),n=new RBi(void 0),i=new RBi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupWithConditionFromNode(e,t){const n=e??new RBi(void 0);if(t instanceof ABi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new TBi(void 0,TFi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),e.addChildNodeAt(r,i)}else this.addRootNode(n)}}addNodeFromNode(e,t){if(t instanceof TBi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof ABi||t instanceof RBi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}removeNode(e){this.nodes.delete(e.id),e instanceof TBi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):$r(this.rootIds,e.id)}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else $r(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(pr(TBi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return fr(this.nodes.get(e.parentId),TBi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=fr(this.nodes.get(dr(e.parentId)),TBi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(pr(TBi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof RBi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(TBi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new vi("Query builder post-filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof RBi)throw new vi("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof ABi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):jr(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):$r(this.rootIds,e.id)}}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(pr(ABi)).map(e=>e.condition.rightConditionValue).filter(pr(IBi)).map(e=>e.value).filter(cr).find(t=>Rft(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof ABi&&(t.condition.rightConditionValue instanceof IBi&&t.condition.rightConditionValue.value instanceof aS&&!yft(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof nFi&&!t.condition.leftConditionValue.propertyExpressionState.isValid&&e.push(`Derived property parameter value for ${t.condition.leftConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>e instanceof ABi&&e.condition.rightConditionValue instanceof IBi&&e.condition.rightConditionValue.value instanceof aS&&!yft(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof ABi&&e.condition.leftConditionValue instanceof nFi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return mv([Ift.POST_FILTER_STATE,mv(this.rootIds),mv(Array.from(this.nodes.values()))])}}class LBi extends wFi{getLabel(){return"is in list of"}isCompatibleWithType(e){const t=Sft(e);return void 0!==t&&[Xb.STRING,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t)||e instanceof J_}isCompatibleWithConditionValue(e){const t=dr(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof IBi){const i=n.value;if(i instanceof uS){if(0===i.values.length)return!0;const n=vft(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)?[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(n.path):n===t)}if(i instanceof oS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());return new uS(T_.ONE,G_.create(new q_(t)))}buildPostFilterConditionExpression(e,t){return OFi(e,this,Zgt.IN,t)}buildPostFilterConditionState(e,t){return IFi(e,t,Zgt.IN,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_IN])}}class MBi extends LBi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?_ft(n):void 0}buildPostFilterConditionState(e,t){const n=bft(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_NOT_IN])}}class PBi extends wFi{getLabel(){return"is empty"}getTDSColumnGetter(){return Qgt.IS_NULL}isCompatibleWithType(e){return e instanceof B_||e instanceof V_||e instanceof J_}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof IBi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof nFi)||Cft(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return OFi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return IFi(e,t,void 0,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_IS_EMPTY])}}class FBi extends PBi{getLabel(){return"is not empty"}getTDSColumnGetter(){return Qgt.IS_NOT_NULL}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class BBi extends wFi{getLabel(){return"is"}isCompatibleWithType(e){const t=Sft(e);return void 0!==t&&[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)||e instanceof J_&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&wft(e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return OFi(e,this,e.leftConditionValue.getColumnType()===B_.DATETIME&&e.rightConditionValue.type!==B_.DATETIME?Zgt.IS_ON_DAY:Zgt.EQUAL,t)}buildPostFilterConditionState(e,t){return IFi(e,t,t.parametersValues[0]instanceof _S&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_DAY:Zgt.EQUAL,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_EQUAL])}}class VBi extends BBi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?_ft(n):void 0}buildPostFilterConditionState(e,t){const n=bft(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_NOT_EQUAL])}}class UBi extends wFi{getLabel(){return"<"}isCompatibleWithType(e){const t=Sft(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return wft(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return OFi(e,this,e.leftConditionValue.getColumnType()===B_.DATETIME&&e.rightConditionValue.type!==B_.DATETIME?Zgt.IS_BEFORE_DAY:Zgt.LESS_THAN,t)}buildPostFilterConditionState(e,t){return IFi(e,t,t.parametersValues[0]instanceof _S&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_BEFORE_DAY:Zgt.LESS_THAN,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_LESS_THAN])}}class GBi extends UBi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return OFi(e,this,e.leftConditionValue.getColumnType()===B_.DATETIME&&e.rightConditionValue.type!==B_.DATETIME?Zgt.IS_ON_OR_BEFORE_DAY:Zgt.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return IFi(e,t,t.parametersValues[0]instanceof _S&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_OR_BEFORE_DAY:Zgt.LESS_THAN_EQUAL,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class HBi extends wFi{getLabel(){return">"}isCompatibleWithType(e){const t=Sft(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return wft(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return OFi(e,this,e.leftConditionValue.getColumnType()===B_.DATETIME&&e.rightConditionValue.type!==B_.DATETIME?Zgt.IS_AFTER_DAY:Zgt.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return IFi(e,t,t.parametersValues[0]instanceof _S&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_AFTER_DAY:Zgt.GREATER_THAN,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_GREATER_THAN])}}class zBi extends HBi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return OFi(e,this,e.leftConditionValue.getColumnType()===B_.DATETIME&&e.rightConditionValue.type!==B_.DATETIME?Zgt.IS_ON_OR_AFTER_DAY:Zgt.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return IFi(e,t,t.parametersValues[0]instanceof _S&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_OR_AFTER_DAY:Zgt.GREATER_THAN_EQUAL,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class jBi extends wFi{getLabel(){return"contains"}isCompatibleWithType(e){return Sft(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());if(t.path===Xb.STRING)return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildPostFilterConditionExpression(e,t){return OFi(e,this,Zgt.CONTAINS,t)}buildPostFilterConditionState(e,t){return IFi(e,t,Zgt.CONTAINS,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_CONTAIN])}}class WBi extends jBi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?_ft(n):void 0}buildPostFilterConditionState(e,t){const n=bft(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class $Bi extends wFi{getLabel(){return"ends with"}isCompatibleWithType(e){return Sft(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return OFi(e,this,Zgt.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return IFi(e,t,Zgt.ENDS_WITH,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_END_WITH])}}class qBi extends $Bi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?_ft(n):void 0}buildPostFilterConditionState(e,t){const n=bft(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_NOT_END_WITH])}}class YBi extends oFi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof J_}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.UNIQUE_VALUE_ONLY,this)}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_DISTINCT])}}class KBi extends oFi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof nFi)||B_.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new bS(N_(Zgt.JOIN_STRINGS)),r=new lS(G_.create(new q_(B_.STRING)));return r.values=[";"],i.parametersValues.push(new oS(t,T_.ONE),r),i}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Zgt.JOIN_STRINGS)){const i=new aFi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),br(2===e.parametersValues.length,"Can't process joinStrings() expression: joinStrings() expects 1 argument");const r=fr(e.parametersValues[0],oS,"Can't process joinStrings() expression: only support joinStrings() immediately following a variable expression");br(i.lambdaParameterName===r.name,`Can't process joinStrings() expression: expects variable used in lambda body '${r.name}' to match lambda parameter '${i.lambdaParameterName}'`);const s=fr(e.parametersValues[1],lS,"Can't process joinStrings() expression: joinStrings() expects arugment #1 to be a primitive instance value");return br(1===s.values.length&&";"===s.values[0],"Can't process joinStrings() expression: only support ';' as delimiter"),br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process joinStrings() expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return B_.STRING}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_JOIN_STRING])}}class XBi extends oFi{percentile;acending;continuous;constructor(){super(),hd(this,{percentile:Rc,acending:Rc,continuous:Rc,setPercentile:Pu,setAcending:Pu,setContinuous:Pu})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){const i=this.percentile?Number((this.percentile/100).toFixed(10)):0,r=new bS(N_(Zgt.PERCENTILE)),s=new lS(G_.create(new q_(B_.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new oS(t,T_.ONE),s);else{const e=new lS(G_.create(new q_(B_.BOOLEAN)));e.values=[this.acending];const n=new lS(G_.create(new q_(B_.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new oS(t,T_.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Zgt.PERCENTILE)){const i=new aFi(n.tdsState.aggregationState,n,new XBi),r=fr(i.operator,XBi);i.setLambdaParameterName(t.name),br([2,4].includes(e.parametersValues.length),"Can't process percentile() expression: percentile() expects 2 or 4 argument");const s=fr(e.parametersValues[0],oS,"Can't process percentile() expression: only support percentile() immediately following a variable expression");br(i.lambdaParameterName===s.name,`Can't process percentile() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`);const o=fr(e.parametersValues[1],lS,"Can't process percentile() expression: percentile() expects arugment #2 to be a primitive instance value");if(r.percentile=parseFloat((100*o.values[0]).toFixed(10)),4===e.parametersValues.length){const t=fr(e.parametersValues[2],lS,"Can't process percentile() expression: percentile() expects arugment #3 to be a primitive instance value");r.acending=t.values[0];const n=fr(e.parametersValues[3],lS,"Can't process percentile() expression: percentile() expects arugment #4 to be a primitive instance value");r.continuous=n.values[0]}return br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process percentile() expression: property is not compatible with operator"),i.setOperator(r),i}}get getOperator(){return new XBi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_PERCENTILE])}}class ZBi extends oFi{weight;constructor(){super(),hd(this,{weight:Rc,setWeight:Pu})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!1}buildAggregateExpression(e,t,n){return cFi(Zgt.WAVG,t)}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Zgt.WAVG)){const e=new aFi(n.tdsState.aggregationState,n,new ZBi),i=fr(e.operator,ZBi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new ZBi}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_WAVG])}}const QBi="WINDOW_COLUMN";class JBi{columnState;sortType;constructor(e,t){hd(this,{columnState:Rc,sortType:Rc,setColumnState:Pu,setSortType:Pu}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return mv([Ift.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class eVi{windowState;lambdaParameterNames=[Hgt];operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterNames(e){this.lambdaParameterNames=e}addParameterName(e){this.lambdaParameterNames.push(e)}setOperator(e){this.operator=e}get hashCode(){return mv([Ift.TDS_WINDOW_GROUPBY_OPERATION_STATE,mv(this.lambdaParameterNames),this.operator])}}class tVi extends eVi{constructor(e,t){super(e,t),hd(this,{setLambdaParameterNames:Pu})}}class nVi extends eVi{columnState;constructor(e,t,n){super(e,t),hd(this,{columnState:Rc,setColumnState:Pu,setLambdaParameterNames:Pu}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return mv([Ift.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,mv(this.lambdaParameterNames),this.operator,this.columnState.columnName])}}class iVi extends XPi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),hd(this,{windowColumns:Rc,sortByState:Rc,operatorState:Rc,columnName:Rc,setOperatorState:Rc,setColumnName:Pu,setSortBy:Pu,changeWindow:Pu,deleteWindow:Pu,addWindow:Pu,setWindows:Pu,changeOperator:Pu,changeSortBy:Pu}),this.windowState=e,this.windowColumns=t,this.sortByState=n,this.operatorState=i,this.columnName=r}get columnWindowGroupIdx(){return this.windowState.windowColumns.findIndex(e=>e===this)}get possibleReferencedColumns(){const e=this.windowState.tdsState.tdsColumns.findIndex(e=>e===this);return-1===e?this.windowState.tdsState.tdsColumns:this.windowState.tdsState.tdsColumns.slice(0,e)}get referencedTDSColumns(){const e=this.operatorState instanceof nVi?[this.operatorState.columnState]:[],t=this.sortByState?[this.sortByState.columnState]:[];return[...this.windowColumns,...t,...e]}getColumnType(){return this.operatorState.operator.getOperatorReturnType(this.windowState.tdsState.queryBuilderState.graphManagerState.graph)}setColumnName(e){this.columnName=e}setOperatorState(e){this.operatorState=e}setSortBy(e){this.sortByState=e}changeWindow(e,t){this.windowColumns[t]=e}addWindow(e){jr(this.windowColumns,e)}setWindows(e){this.windowColumns=e}deleteWindow(e){$r(this.windowColumns,e)}possibleAggregatedColumns(e){return e.isColumnAggregator()?this.possibleReferencedColumns.filter(t=>e.isCompatibleWithColumn(t)):[]}getChangeOperatorStateAndColumnName(e,t,n){if(e!==n){if(!n.isColumnAggregator())return{operatorState:new tVi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new nVi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof nVi?this.operatorState.columnState:void 0,e);t&&(this.setOperatorState(t.operatorState),this.setColumnName(t.columnName))}changeSortBy(e){const t=this.sortByState;if(t?.sortType!==e)if(e){const n=t??new JBi(dr(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return mv([Ift.TDS_WINDOW_COLUMN_STATE,mv(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class rVi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){hd(this,{windowColumns:Rc,editColumn:Rc,invalidWindowColumnNames:kc,windowValidationIssues:kc,addWindowColumn:Pu,removeColumn:Pu,moveColumn:Pu,setEditColumn:Pu}),this.tdsState=e,this.operators=t}get isEmpty(){return!this.windowColumns.length}get invalidWindowColumnNames(){const e=[];return this.windowColumns.forEach((t,n)=>{if(t.operatorState instanceof nVi&&t.operatorState.columnState instanceof iVi){const i=t.operatorState.columnState.columnName;t.windowState.isColumnOrderValid(i,n)||e.push({invalidColumnName:t.columnName,missingColumnName:i})}}),e}get windowValidationIssues(){const e=this.invalidWindowColumnNames,t=[];e.forEach(e=>{t.push(`Column '${e.invalidColumnName}' cannot exist before column name '${e.missingColumnName}'`)});const n=this.windowColumns.some(e=>this.windowColumns.filter(t=>t.columnName===e.columnName).length>1);n&&t.push("Query has duplicated window columns");const i=this.windowColumns.some(e=>this.tdsState.projectionColumns.filter(t=>t.columnName===e.columnName).length>0);return i&&t.push("Query has duplicated projection/window columns"),t}get referencedTDSColumns(){return li(this.windowColumns.map(e=>e.referencedTDSColumns).flat())}setEditColumn(e){this.editColumn=e}findOperator(e,t){return this.operators.find(n=>{const i=t?n.relationFunc:n.pureFunc;return i?k_(e,i):void 0})}addWindowColumn(e){jr(this.windowColumns,e)}removeColumn(e){$r(this.windowColumns,e)}moveColumn(e,t){const n=this.windowColumns[e],i=this.windowColumns[t];n&&i&&(this.windowColumns[e]=i,this.windowColumns[t]=n)}isColumnOrderValid(e,t){return this.windowColumns.slice(0,t).some(t=>t.columnName===e)}get hashCode(){return mv([Ift.TDS_WINDOW_GROUPBY_STATE,mv(this.windowColumns)])}}const sVi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new lS(G_.create(new q_(B_.STRING)));return t.values=[e.columnName],t}),r=new uS(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new bS((e=>{switch(e){case Jgt.ASC:return N_(Zgt.TDS_ASC);case Jgt.DESC:return N_(Zgt.TDS_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new lS(G_.create(new q_(B_.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=o.lambdaParameterNames[0]??emt,l=N_(dr(o.operator.pureFunc,`Operator '${o.operator.getLabel()}' does not have a compatible OLAP function`)),c=new bS(l);c.parametersValues=[new oS(a,T_.ONE)];const u=xft([a],[c],n);let d;if(o instanceof nVi){const e=new lS(G_.create(new q_(B_.STRING)));e.values=[o.columnState.columnName],d=new bS(N_(Zgt.TDS_FUNC)),d.parametersValues=[e,u]}const h=d??u,p=new lS(G_.create(new q_(B_.STRING)));p.values=[e.columnName];const g=new bS(N_(Zgt.OLAP_GROUPBY)),f=dr(t.expressionSequence[0]);return g.parametersValues=[f,r,...s?[s]:[],h,p],t.expressionSequence[0]=g,t},oVi=e=>{const t=new bS(N_(Zgt.RELATION_OVER)),n=new mS(T_.ONE,void 0),i=new fS;if(n.values=[i],e.windowColumns.forEach(e=>{const t=new pS;t.name=e.columnName,i.colSpecs.push(t)}),t.parametersValues.push(n),e.sortByState){const n=e.sortByState,i=new bS((e=>{switch(e){case Jgt.ASC:return N_(Zgt.RELATION_ASC);case Jgt.DESC:return N_(Zgt.RELATION_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(n.sortType)),r=new gS(T_.ONE,void 0),s=new pS;s.name=n.columnState.columnName,r.values=[s],i.parametersValues[0]=r;const o=new uS(T_.ONE);o.values=[i],t.parametersValues.push(o)}return t},aVi=(e,t)=>(e.tdsState.queryBuilderState.isFetchStructureTyped?e.windowColumns.forEach(e=>((e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=oVi(e),r=new mS(T_.ONE,void 0),s=new fS;r.values=[s];const o=new pS;o.name=e.columnName;const a=e.operatorState;if(1===a.lambdaParameterNames.length&&a.setLambdaParameterNames([jgt,Wgt,$gt]),a instanceof nVi&&a.operator.relationFunc){const e=N_(a.operator.relationFunc),[l=jgt,c=Wgt,u=$gt,d=emt]=a.lambdaParameterNames,h=new yS(a.columnState.columnName);h.func=new W_(a.columnState.columnName,G_.create(new q_(B_.STRING))),h.parametersValues=[new oS(u,T_.ONE)];const p=xft([l,c,u],[h],n);o.function1=p;const g=new bS(e);g.parametersValues=[new oS(d,T_.ONE)];const f=xft([d],[g],n);o.function2=f,s.colSpecs.push(o);const m=new bS(N_(Zgt.RELATION_EXTEND)),v=dr(t.expressionSequence[0]);return m.parametersValues=[v,i,r],t.expressionSequence[0]=m,t}if(a instanceof tVi&&a.operator.relationFunc){const e=N_(a.operator.relationFunc),l=new bS(e),[c=jgt,u=Wgt,d=$gt]=a.lambdaParameterNames;e===N_(Zgt.RELATION_ROW_NUMBER)?l.parametersValues=[new oS(c,T_.ONE),new oS(d,T_.ONE)]:l.parametersValues=[new oS(c,T_.ONE),new oS(u,T_.ONE),new oS(d,T_.ONE)];const h=xft([c,u,d],[l],n);o.function1=h,s.colSpecs.push(o);const p=new bS(N_(Zgt.RELATION_EXTEND)),g=dr(t.expressionSequence[0]);return p.parametersValues=[g,i,r],t.expressionSequence[0]=p,t}throw new yi("Unsupported window function. Function must be supported for typed TDS and be an aggregation or rank function.")})(e,t)):e.windowColumns.forEach(e=>sVi(e,t)),t),lVi=(e,t,n)=>{if(t instanceof ABi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof TBi){const i=new bS(N_(AFi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>lVi(e,t,n)).filter(cr);if(r.length>2){const e=r[0];let n=r[r.length-1];for(let e=r.length-2;e>0;--e){const i=r[e],s=n,o=new bS(N_(AFi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class cVi{_currentResultModifierFunc;graphManagerState;options;distinct=!1;sortColumns;limit;slice;constructor(e){this.graphManagerState=e}get currentExpression(){return dr(this._currentResultModifierFunc,"Current expression needs to be defined to build result modifier")}get supportedResultModifiersFunctions(){return[Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Jgt.ASC?this.ascFunctionname:this.descFunctionName}setCurrentResultModifierFunction(e){this._currentResultModifierFunc=e}withOptions(e){return this.options=e,this}withDistinct(e){return this.distinct=e,this}withSortColumns(e){return e?.length&&(this.sortColumns=e),this}withLimit(e){return this.limit=e,this}withSlice(e){return this.slice=e,this}buildDistinctFunction(){const e=new bS(N_(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new bS(N_(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new uS(n,void 0);i.values=e.map(e=>this.buildSortExpression(e)),t.parametersValues[0]=this.currentExpression,t.parametersValues[1]=i,this.setCurrentResultModifierFunction(t)}buildSortExpression(e){const t=new bS(N_(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new lS(G_.create(new q_(B_.INTEGER)));t.values=[Math.min(e?this.options?.withDataOverflowCheck?e+1:e:Number.MAX_SAFE_INTEGER,this.options?.overridingLimit?this.options.withDataOverflowCheck?this.options.overridingLimit+1:this.options.overridingLimit:Number.MAX_SAFE_INTEGER)];const n=new bS(N_(this.limitFunctionName));n.parametersValues[0]=this.currentExpression,n.parametersValues[1]=t,this.setCurrentResultModifierFunction(n)}buildSliceFunction(e){const t=e[0],n=e[1],i=new lS(G_.create(new q_(B_.INTEGER))),r=new lS(G_.create(new q_(B_.INTEGER)));i.values=[t],r.values=[n];const s=new bS(N_(this.sliceFunctionName));s.parametersValues=[this.currentExpression,i,r],this.setCurrentResultModifierFunction(s)}build(e){if(1===e.expressionSequence.length){const t=e.expressionSequence[0];if(t instanceof bS&&k_(t.functionName,this.supportedResultModifiersFunctions))return this._currentResultModifierFunc=t,this.distinct&&this.buildDistinctFunction(),this.sortColumns&&this.buildSortFunction(this.sortColumns),(this.limit||this.options?.overridingLimit)&&this.buildLimitFunction(this.limit),this.slice&&this.buildSliceFunction(this.slice),e.expressionSequence[0]=this.currentExpression,e}return e}}class uVi extends cVi{get limitFunctionName(){return Zgt.TDS_TAKE}get sliceFunctionName(){return Zgt.SLICE}get sortFunctionName(){return Zgt.TDS_SORT}get distinctFunctionName(){return Zgt.TDS_DISTINCT}get ascFunctionname(){return Zgt.TDS_ASC}get descFunctionName(){return Zgt.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new lS(G_.create(new q_(B_.STRING)));return t.values=[e],t})(e)}}class dVi extends cVi{get limitFunctionName(){return Zgt.RELATION_LIMIT}get sliceFunctionName(){return Zgt.RELATION_SLICE}get ascFunctionname(){return Zgt.RELATION_ASC}get descFunctionName(){return Zgt.RELATION_DESC}get sortFunctionName(){return Zgt.RELATION_SORT}get distinctFunctionName(){return Zgt.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new gS(T_.ONE,void 0),n=new pS;return n.name=e,t.values=[n],t}}const hVi=(e,t,n)=>{const i=e.queryBuilderState,r=dr(t.expressionSequence[0],"Can't build projection expression: preceding expression is not defined");if(e.aggregationState.columns.length&&!e.queryBuilderState.isFetchStructureTyped){const s=new bS(N_(Zgt.TDS_GROUP_BY)),o=new uS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new uS(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new uS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new lS(G_.create(new q_(B_.STRING)));r.values.push(t.columnName),l.values.push(r);const s=e.aggregationState.columns.find(e=>e.projectionColumnState===t);let c;if(t instanceof nFi)c=xft([t.lambdaParameterName],[FFi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof sFi))throw new yi("Can't build project() column expression: unsupported projection column state",t);c=new sS(VN(I$(t.lambda,new OK([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof ZBi&&s.setLambdaParameterName("y");const e=new bS(N_(Zgt.TDS_AGG)),t=xft([s.lambdaParameterName],[s.operator.buildAggregateExpressionFromState(s)],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);let n;const r=s.calendarFunction?.buildCalendarFunctionExpressionFromState(s,c);if(i.isCalendarEnabled&&r instanceof bS&&(n=xft([dr(s.calendarFunction).lambdaParameterName],[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof ZBi&&s.operator.weight&&s.projectionColumnState instanceof nFi&&c instanceof wS){const e=new bS(Zgt.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof wS?Gr(n.values,0).expressionSequence[0]=e:c instanceof wS&&(Gr(c.values,0).expressionSequence[0]=e)}e.parametersValues=[n??c,t],a.values.push(e)}else o.values.push(c)}),s.parametersValues=[r,o,a,l],t.expressionSequence[0]=s}else if(e.projectionColumns.length)if(i.useRelation){const i=((e,t,n)=>{const i=new bS(N_(Zgt.RELATION_PROJECT)),r=t.queryBuilderState,s=new mS(T_.ONE,void 0),o=new fS;s.values=[o];const a=new $_($_.ID);t.projectionColumns.forEach(e=>{const t=new pS;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof nFi)i=xft([e.lambdaParameterName],[FFi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else if(e instanceof iFi){const t=e.column,n=new yS(t.name),s=new oS(e.lambdaParameterName,T_.ONE,void 0);n.func=t,n.parametersValues=[s],i=xft([e.lambdaParameterName],[n],r.graphManagerState.graph)}else{if(!(e instanceof sFi))throw new yi("Can't build relation project() column expression: unsupported projection column state",e);i=new sS(VN(I$(e.lambda,new OK([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.function1=i;const s=dr(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}`);a.columns.push(new W_(e.columnName,G_.create(new q_(s))))}),i.parametersValues=[e,s];const l=new q_(yY.INSTANCE),c=new q_(a);return l.typeArguments=[G_.create(c)],i.genericType=G_.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=fr(e,bS);if(n.functionName!==N_(Zgt.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new bS(N_(Zgt.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new mS(T_.ONE,void 0),o=new fS;s.values=[o];const a=new mS(T_.ONE,void 0),l=new fS;a.values=[l];const c=new $_($_.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new pS;t.name=e.columnName,o.colSpecs.push(t);const n=dr(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}. Missing type.`);c.columns.push(new W_(e.columnName,G_.create(new q_(n))))}),t.aggregationState.columns.forEach(e=>{const t=new pS;t.name=e.columnName,l.colSpecs.push(t);const i=dr(dr(n.parametersValues[1].values[0],"Could not find ColSpec array in project() function first parameter").colSpecs.find(t=>t.name===e.columnName),`Could not find projected column matching aggregation column '${e.columnName}'`),s=fr(fr(i.function1,wS).values[0]?.expressionSequence[0],_S),o=fr(s.func.value,Z_),a=new _S("");a.func=pC.create(new Z_(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new oS(emt,T_.ONE)];const u=xft([emt],[a],r.graphManagerState.graph);t.function1=u;const d=xft([e.lambdaParameterName],[e.operator.buildAggregateExpressionFromState(e)],e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);t.function2=d;const h=dr(e.getColumnType(),`Can't create value spec for aggregation column ${e.columnName}. Missing type.`);c.columns.push(new W_(e.columnName,G_.create(new q_(h))))}),i.parametersValues=[e,s,a];const u=new q_(yY.INSTANCE),d=new q_(c);return u.typeArguments=[G_.create(d)],i.genericType=G_.create(u),i})(i,e):null;t.expressionSequence[0]=s??i}else{const s=new bS(N_(Zgt.TDS_PROJECT));if(e.useColFunc){const t=new uS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(i=>{t.values.push(((e,t,n)=>{const i=new bS(N_(Zgt.TDS_COL));let r;if(t instanceof nFi)r=xft([t.lambdaParameterName],[FFi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof sFi))throw new yi("Can't build project() column expression: unsupported projection column state",t);r=new sS(VN(I$(t.lambda,new OK([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new lS(G_.create(new q_(B_.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,i,n))}),s.parametersValues=[r,t]}else{const t=new uS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new uS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(e=>{const r=new lS(G_.create(new q_(B_.STRING)));let s;if(r.values.push(e.columnName),o.values.push(r),e instanceof nFi)s=xft([e.lambdaParameterName],[FFi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof sFi))throw new yi("Can't build project() column expression: unsupported projection column state",e);s=new sS(VN(I$(e.lambda,new OK([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.values.push(s)}),s.parametersValues=[r,t,o]}t.expressionSequence[0]=s}aVi(e.windowState,t),((e,t)=>{const n=e.rootIds.map(t=>dr(e.nodes.get(t))).map(n=>lVi(e,n,t)).filter(cr);if(!n.length||1!==t.expressionSequence.length)return t;const i=xft([e.lambdaParameterName],n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new bS(N_(Zgt.TDS_FILTER)),s=dr(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new dVi(e.tdsState.queryBuilderState.graphManagerState):new uVi(e.tdsState.queryBuilderState.graphManagerState)).withOptions(i).withDistinct(e.distinct).withSortColumns(e.sortColumns).withLimit(e.limit).withSlice(e.slice).build(t)})(e.resultSetModifierState,t,e.queryBuilderState.isFetchStructureTyped,{overridingLimit:n?.isBuildingExecutionQuery&&!n.isExportingResult?i.resultState.previewLimit:void 0,withDataOverflowCheck:n?.isBuildingExecutionQuery&&!n.isExportingResult?n.withDataOverflowCheck:void 0})};class pVi{uuid=Mr();isColumnAggregator(){return!1}getOperatorReturnType(e){return B_.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class gVi extends pVi{getLabel(){return"average rank"}get pureFunc(){return Zgt.OLAP_AVERAGE_RANK}get relationFunc(){}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class fVi extends pVi{getLabel(){return"dense rank"}get pureFunc(){return Zgt.OLAP_DENSE_RANK}get relationFunc(){return Zgt.RELATION_DENSE_RANK}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class mVi extends pVi{getLabel(){return"rank"}get pureFunc(){return Zgt.OLAP_RANK}get relationFunc(){return Zgt.RELATION_RANK}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class vVi extends pVi{getLabel(){return"row number"}get pureFunc(){return Zgt.OLAP_ROW_NUMBER}get relationFunc(){return Zgt.RELATION_ROW_NUMBER}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_ROW_NUMBER])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class yVi extends pVi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return Zgt.SUM}get relationFunc(){return Zgt.SUM}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_SUM])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class bVi extends pVi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return Zgt.COUNT}get relationFunc(){return Zgt.COUNT}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_COUNT])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class _Vi extends pVi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return Zgt.MAX}get relationFunc(){return Zgt.MAX}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_MAX])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class CVi extends pVi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return Zgt.MIN}get relationFunc(){return Zgt.MIN}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_MIN])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class SVi extends pVi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return Zgt.AVERAGE}get relationFunc(){return Zgt.AVERAGE}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_AVERAGE])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class wVi extends pVi{getLabel(){return"percent rank"}get pureFunc(){}get relationFunc(){return Zgt.RELATION_PERCENT_RANK}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_PERCENT_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}var EVi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(EVi||(EVi={}));const xVi={[EVi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[EVi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var TVi;!function(e){e.NY="NY",e.LDN="LDN"}(TVi||(TVi={}));const AVi="en-US";class RVi{dateColumn;calendarType;endDate;lambdaParameterName=Hgt;func;label;hash;constructor(e,t,n){hd(this,{dateColumn:Rc,lambdaParameterName:Rc,calendarType:Rc,endDate:Rc,setDateColumn:Pu,setCalendarType:Pu,setLambdaParameterName:Pu,setEndDate:Pu,hashCode:kc}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildCalendarFunctionExpression(e){return((e,t,n,i,r)=>{const s=new bS(N_(e));if(!t)throw new yi("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new lS(G_.create(new q_(B_.STRING)));return o.values=[n],s.parametersValues.push(o),s.parametersValues.push(i),s.parametersValues.push(r),s})(this.func,this.dateColumn,this.calendarType,this.endDate,e)}updateAggregateColumnState(e,t){((e,t,n,i)=>{if(k_(e.functionName,t)){br(4===e.parametersValues.length,`Can't process ${N_(t)}() expression: ${N_(t)}() expects four arguments`);const r=fr(e.parametersValues[0],_S,`Can't process ${N_(t)}() expression: only support ${N_(t)}() with first parameter as property expression`);br(r.func.value.genericType.value.rawType.name===Xb.STRICTDATE||r.func.value.genericType.value.rawType.name===Xb.DATE,`Can't process ${N_(t)}() expression: only support ${N_(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof _S;){const e=s;for(s=dr(s.parametersValues[0]),e.func.value instanceof uC&&br((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);s instanceof bS&&k_(s.functionName,Zgt.SUBTYPE);)s=dr(s.parametersValues[0])}const o=fr(s,oS).name;n.setLambdaParameterName(o);const a=fr(e.parametersValues[1],lS,`Can't process ${N_(t)}() expression: only support ${N_(t)}() with second parameter as PrimitiveInstancevalue`);br(void 0!==Object.values(TVi).find(e=>e===a.values[0]),`Can't process ${N_(t)}() expression: only support ${N_(t)}() calendar types NY and LDN`);const l=fr(e.parametersValues[2],rS,`Can't process ${N_(t)}() expression: only support ${N_(t)}() with third parameter as ValueSpecification`);br(l.genericType?.value.rawType.name===Xb.STRICTDATE||l.genericType?.value.rawType.name===Xb.DATE||r.func.value.genericType.value.rawType.name===Xb.DATE,`Can't process ${N_(t)}() expression: only support ${N_(t)}() with third parameter of type Date`),n.calendarType=a.values[0],n.endDate=l,n.dateColumn=r,br(n.isCompatibleWithColumn(i.projectionColumnState),`Can't process ${N_(t)}() expression: property is not compatible with calendar function`),i.setHideCalendarColumnState(!1),i.setCalendarFunction(n)}})(e,this.func,this,t)}buildCalendarFunctionExpressionFromState(e,t){let n;if(e.projectionColumnState instanceof nFi&&t instanceof wS?n=fr(t.values[0]?.expressionSequence[0],_S):e.projectionColumnState instanceof sFi&&(n=fr(t,sS)),!n)throw new yi("Can't build calendar aggregation column: target column should be defined");return this.buildCalendarFunctionExpression(n)}setDateColumn(e){this.dateColumn=e}setLambdaParameterName(e){this.lambdaParameterName=e}setCalendarType(e){this.calendarType=e}setEndDate(e){this.endDate=e}get hashCode(){return mv([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function NVi(e,t,n){return new RVi(e,t,n)}var IVi;!function(e){e.CSV="CSV"}(IVi||(IVi={}));class DVi extends SFi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new BBi,new VBi,new UBi,new GBi,new HBi,new zBi,new LFi,new MFi,new jBi,new WBi,new $Bi,new qBi,new LBi,new MBi,new PBi,new FBi])();aggregationOperators=(()=>[new hFi,new pFi,new YBi,new yFi,new dFi,new fFi,new gFi,new XBi,new mFi,new vFi,new KBi,new ZBi])();aggregationCalendarFunctions=(()=>[NVi(Kgt.CALENDAR_ANNUALIZED,"Annualized",Ift.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),NVi(Kgt.CALENDAR_YTD,"Year to Date",Ift.AGGREGATE_CALENDAR_FUNCTION_YTD),NVi(Kgt.CALENDAR_CME,"Current Month Estimate",Ift.AGGREGATE_CALENDAR_FUNCTION_CME),NVi(Kgt.CALENDAR_CW,"Current Week",Ift.AGGREGATE_CALENDAR_FUNCTION_CW),NVi(Kgt.CALENDAR_CME,"Current Month Estimate",Ift.AGGREGATE_CALENDAR_FUNCTION_CME),NVi(Kgt.CALENDAR_CY_MINUS2,"Current year minus 2",Ift.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),NVi(Kgt.CALENDAR_CY_MINUS3,"Current year minus 3",Ift.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),NVi(Kgt.CALENDAR_MTD,"Month to date",Ift.AGGREGATE_CALENDAR_FUNCTION_MTD),NVi(Kgt.CALENDAR_P12WA,"Previous 12 Weeks Averaged",Ift.AGGREGATE_CALENDAR_FUNCTION_P12WA),NVi(Kgt.CALENDAR_P12WTD,"Previous 12 Weeks To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_P12WTD),NVi(Kgt.CALENDAR_P4WA,"Previous 4 Weeks Averaged",Ift.AGGREGATE_CALENDAR_FUNCTION_P4WA),NVi(Kgt.CALENDAR_P4WTD,"Previous 4 Weeks To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_P4WTD),NVi(Kgt.CALENDAR_P52WA,"Previous 52 Weeks Averaged",Ift.AGGREGATE_CALENDAR_FUNCTION_P52WA),NVi(Kgt.CALENDAR_P52WTD,"Previous 52 Weeks To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_P52WTD),NVi(Kgt.CALENDAR_PMA,"Previous Months Averaged",Ift.AGGREGATE_CALENDAR_FUNCTION_PMA),NVi(Kgt.CALENDAR_PMTD,"Previous Month To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PMTD),NVi(Kgt.CALENDAR_PQTD,"Previous Quarter To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PQTD),NVi(Kgt.CALENDAR_PRIOR_DAY,"Prior Day",Ift.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),NVi(Kgt.CALENDAR_PRIOR_YEAR,"Prior Year",Ift.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),NVi(Kgt.CALENDAR_PW,"Previous week",Ift.AGGREGATE_CALENDAR_FUNCTION_PW),NVi(Kgt.CALENDAR_PW_FM,"Previous week, Franchise Manager",Ift.AGGREGATE_CALENDAR_FUNCTION_PW_FM),NVi(Kgt.CALENDAR_PWA,"Past Weeks' Average",Ift.AGGREGATE_CALENDAR_FUNCTION_PWA),NVi(Kgt.CALENDAR_PWTD,"Previous Week To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PWTD),NVi(Kgt.CALENDAR_PYMTD,"Previous Year's Month To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PYMTD),NVi(Kgt.CALENDAR_PYQTD,"Previous Year's Quarter To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PYQTD),NVi(Kgt.CALENDAR_PYTD,"Previous Year To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PYTD),NVi(Kgt.CALENDAR_PYWA,"Previous Year's Weekly Average",Ift.AGGREGATE_CALENDAR_FUNCTION_PYWA),NVi(Kgt.CALENDAR_PYWTD,"Previous Year's Week to Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PYWTD),NVi(Kgt.CALENDAR_QTD,"Quarter to Date",Ift.AGGREGATE_CALENDAR_FUNCTION_QTD),NVi(Kgt.CALENDAR_REPORT_END_DAY,"Report End Day",Ift.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),NVi(Kgt.CALENDAR_WTD,"Week to Date",Ift.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new yVi,new bVi,new _Vi,new CVi,new SVi,new gVi,new fVi,new mVi,new vVi,new wVi])();constructor(e,t){super(e,t),hd(this,{aggregationState:Rc,projectionColumns:Rc,isConvertDerivationProjectionObjects:Rc,showPostFilterPanel:Rc,showWindowFuncPanel:Rc,useColFunc:Rc,TEMPORARY__showPostFetchStructurePanel:kc,derivations:kc,hasParserError:kc,isQueryOptionsSet:kc,addColumn:Pu,moveColumn:Pu,removeAllColumns:Pu,removeColumn:Pu,replaceColumn:Pu,initialize:Pu,initializeWithQuery:Pu,setShowPostFilterPanel:Pu,setShowWindowFuncPanel:Pu,setUseColFunc:Pu,checkBeforeChangingImplementation:Pu,convertDerivationProjectionObjects:Ju,fetchDerivedReturnTypes:Ju}),this.resultSetModifierState=new _Fi(this),this.postFilterState=new OBi(this,this.postFilterOperators),this.aggregationState=new lFi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new rVi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(EVi.SHOW_POST_FILTER_PANEL)??!1}get type(){return CFi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(pr(sFi))}get hasParserError(){return this.derivations.some(e=>e.derivationLambdaEditorState.parserError)}get fetchLabel(){return"Columns"}get canBeExportedToCube(){return!0}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel||this.showWindowFuncPanel||this.showPostFilterPanel}get usedExplorerTreePropertyNodeIDs(){let e=[];return this.projectionColumns.forEach(t=>{if(t instanceof nFi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof _S;)for(n.push(i.func.value.name),i=dr(i.parametersValues[0]);i instanceof bS;){if(!(k_(i.functionName,Zgt.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof Y_))return;n[n.length-1]instanceof Y_||n.push(i.parametersValues[1]?.genericType?.value.rawType),i=dr(i.parametersValues[0])}n=n.reverse();const r=[],s=[];for(let e=0;e<n.length;e++){const t=dr(n[e]),i=e>0?dr(r[e-1]):"";if(t instanceof Y_)$w(t).concat(t).forEach(e=>s.push(NUi(i,e.path))),r.push(NUi(i,t.path));else{const e=RUi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}else t instanceof iFi&&e.push(t.column.name)}),Array.from(new Set(e).values())}get fetchStructureValidationIssues(){const e=[],t=this.projectionColumns.some(e=>0===e.columnName.length);t&&e.push("Query has projection column with no name");const n=this.aggregationState.columns.some(e=>e.calendarFunction&&void 0===e.calendarFunction.dateColumn);n&&e.push("Query has calendar function with no date column specified");const i=this.projectionColumns.some(e=>this.projectionColumns.filter(t=>t.columnName===e.columnName).length>1);i&&e.push("Query has duplicated projection columns");const r=this.projectionColumns.some(e=>this.windowState.windowColumns.filter(t=>t.columnName===e.columnName).length>0);r&&e.push("Query has duplicated projection/window columns");return 0===this.projectionColumns.length&&this.queryBuilderState.changeHistoryState.canUndo&&e.push("Query has no projection columns"),this.projectionColumns.forEach(t=>{t instanceof nFi&&t.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid)&&e.push(`Derived property parameter value for ${t.propertyExpressionState.title} is missing`)}),this.aggregationState.allValidationIssues.forEach(t=>e.push(t)),e}get allValidationIssues(){return[...this.fetchStructureValidationIssues,...this.windowState.windowValidationIssues,...this.postFilterState.allValidationIssues]}get isQueryOptionsSet(){return void 0!==this.resultSetModifierState.limit||this.queryBuilderState.milestoningState.isMilestonedQuery||void 0!==this.resultSetModifierState.slice||this.resultSetModifierState.sortColumns.length>0||this.resultSetModifierState.distinct}get tdsColumns(){const e=this.aggregationState.columns.map(e=>e.projectionColumnState),t=this.projectionColumns.filter(t=>!e.includes(t));return[...this.aggregationState.columns,...t,...this.windowState.windowColumns]}get exportDataFormatOptions(){return[IVi.CSV]}getExportDataInfo(e){if(e===IVi.CSV)return{contentType:exports.ContentType.TEXT_CSV,serializationFormat:exports.EXECUTION_SERIALIZATION_FORMAT.CSV};throw new yi(`Unsupported TDS export type ${e}`)}isDuplicateColumn(e){return this.tdsColumns.filter(t=>t.columnName===e.columnName).length>1}initialize(){this.queryBuilderState.filterState.setShowPanel(!0),this.setShowPostFilterPanel(!1),this.setShowWindowFuncPanel(!1)}initializeWithQuery(){this.fetchDerivedReturnTypes().catch(this.queryBuilderState.applicationStore.alertUnhandledError)}isColumnInUse(e){return Boolean([...this.postFilterState.referencedTDSColumns,...this.windowState.referencedTDSColumns].find(t=>t instanceof aFi?e instanceof aFi?e===t:t.projectionColumnState===e:t===e))}onClassChange(){}appendFetchStructure(e,t){hVi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setUseColFunc(e){this.useColFunc=e}*convertDerivationProjectionObjects(){const e=new Map,t=new Map;if(this.derivations.forEach(n=>{tj(n.lambda)||(e.set(n.derivationLambdaEditorState.lambdaId,n.lambda),t.set(n.derivationLambdaEditorState.lambdaId,n))}),e.size){this.isConvertDerivationProjectionObjects=!0;try{(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(e)).forEach((e,n)=>{const i=t.get(n);i?.derivationLambdaEditorState.setLambdaString(i.derivationLambdaEditorState.extractLambdaString(e))})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=xft([e.lambdaParameterName],[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new sFi(this,fr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),nS));n.setColumnName(e.columnName),this.replaceColumn(e,n),n.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}transformRelationColumnProjectionToDerivation(e){const t=e.column,n=new yS(t.name);n.func=t,n.parametersValues=[new oS(e.lambdaParameterName,T_.ONE,void 0)];const i=xft([e.lambdaParameterName],[n],this.queryBuilderState.graphManagerState.graph),r=new sFi(this,fr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(i,this.queryBuilderState.graphManagerState.graph),nS));r.setColumnName(e.columnName),this.replaceColumn(e,r),r.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}replaceColumn(e,t){const n=this.aggregationState.columns.find(t=>t.projectionColumnState===e);n&&n.setColumnState(t);const i=this.resultSetModifierState.sortColumns.find(t=>t.columnState===e);i&&i.setColumnState(t),Wr(this.projectionColumns,e,t)}removeAllColumns(){this.projectionColumns=[],this.aggregationState.columns=[]}removeColumn(e){$r(this.projectionColumns,e);const t=this.aggregationState.columns.find(t=>t.projectionColumnState===e);t&&this.aggregationState.removeColumn(t),this.resultSetModifierState.updateSortColumns()}addColumn(e,t){jr(this.projectionColumns,e),t?.skipSorting||(this.projectionColumns=this.projectionColumns.toSorted((e,t)=>(this.aggregationState.columns.find(t=>t.projectionColumnState===e)?1:0)-(this.aggregationState.columns.find(e=>e.projectionColumnState===t)?1:0)))}moveColumn(e,t){if(e<0||e>=this.projectionColumns.length||t<0||t>=this.projectionColumns.length)return;const n=dr(this.projectionColumns[e]),i=ei(this.projectionColumns,e=>!this.aggregationState.columns.find(t=>t.projectionColumnState===e)),r=i?this.projectionColumns.lastIndexOf(i):0;t=this.aggregationState.columns.find(e=>e.projectionColumnState===n)?Math.max(t,Math.min(r+1,this.projectionColumns.length-1)):Math.min(t,r),this.projectionColumns.splice(e,1),this.projectionColumns.splice(t,0,n)}addNewBlankDerivation(){const e=new sFi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${Hgt}${Hb}''`)}revealCompilationError(e){const t=$ee(e.sourceInformation);if(t&&3===t.length&&t[0]===Pgt.QUERY_BUILDER&&t[1]===Pgt.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof sFi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new nFi(this,PUi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new nFi(this,PUi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))})}checkBeforeClearingColumns(e){this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"You will be clearing all projection columns. Do you still want to proceed?",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Apt.PROCEED,default:!0}]})}checkBeforeChangingImplementation(e){this.projectionColumns.length>0?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:this.showPostFilterPanel&&this.postFilterState.nodes.size>0?"With graph-fetch mode, post filter is not supported. Current projection columns and post filters will be lost when switching to the graph-fetch mode. Do you still want to proceed?":"Current projection columns will be lost when switching to the graph-fetch mode. Do you still want to proceed?",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Apt.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(pr(sFi)).length)return!1;const n=t.filter(pr(nFi)).find(t=>t.isVariableUsed(e)),i=this.postFilterState.isVariableUsed(e);return Boolean(n??i)}get hasInvalidFilterValues(){return this.postFilterState.hasInvalidFilterValues||this.postFilterState.hasInvalidDerivedPropertyParameters}get hasInvalidDerivedPropertyParameters(){return this.projectionColumns.some(e=>e instanceof nFi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}getParameters(){return this.queryBuilderState.parametersState.parameterStates.map(e=>this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.parameter))}getLetExpressions(){return this.queryBuilderState.constantState.constants.map(e=>e.buildLetExpression()).map(e=>this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e))}get hashCode(){return mv([Ift.PROJECTION_STATE,mv(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState,this.windowState])}*fetchDerivedReturnTypes(){try{const e=this.queryBuilderState.graphManagerState.graph,t=this.projectionColumns.filter(pr(sFi));if(0===t.length)return;const n=this.queryBuilderState.sourceElement;if(n instanceof Y_){const n=new Map;t.forEach(e=>n.set(e.columnName,e.getIsolatedClassRawLambda()));const i=yield this.queryBuilderState.graphManagerState.graphManager.getLambdasReturnType(n,e);Array.from(i.results.entries()).forEach(e=>{const n=t.find(t=>t.columnName===e[0]);n&&n.setLambdaReturnType(e[1])})}else if(n instanceof l$){const i=new Map;t.forEach(e=>i.set(e.columnName,e.lambda));const r=QPi(e,this.queryBuilderState.graphManagerState,n,i),s=JPi(r,this.getParameters(),this.getLetExpressions()),o=yield this.queryBuilderState.graphManagerState.graphManager.getLambdaRelationType(s,e);t.forEach(e=>{const t=o.columns.find(t=>t.name===e.columnName);t&&e.setLambdaReturnType(t.type)})}}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.info(Hy.create("Unable to fetch derived return types"),e)}}}var kVi;!function(e){e.COUNT="Count",e.DISTINCT_COUNT="Distinct Count",e.SUM="Sum",e.MIN="Min",e.MAX="Max",e.AVERAGE="Average",e.STD_DEV_POPULATION="Std Dev (Population)",e.STD_DEV_SAMPLE="Std Dev (Sample)"}(kVi||(kVi={}));const OVi=[[kVi.COUNT,hFi],[kVi.DISTINCT_COUNT,pFi],[kVi.SUM,yFi],[kVi.MIN,fFi],[kVi.MAX,gFi],[kVi.AVERAGE,dFi],[kVi.STD_DEV_POPULATION,mFi],[kVi.STD_DEV_SAMPLE,vFi]],LVi=(e,t,n)=>{const i=new nFi(e,t,!1);return i.setColumnName(n),i};class MVi extends Fb{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),hd(this,{includeSubTypes:Rc,includeDocumentation:Rc,setIncludeSubTypes:Pu,setIncludeDocumentation:Pu})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const PVi=e=>{const{taggedValues:t}=e,[i,r]=n.useState(!1),s=e=>{e.stopPropagation(),r(!i)},o=e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_,a=t.filter(e=>o(e)).map(e=>e.value),l=t.filter(e=>!o(e)),c=e=>Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return Une.jsx("div",{children:l.length>0?Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),Une.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>Une.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&Une.jsx("button",{className:"btn btn--dark query-builder__tooltip__taggedValues__show-btn",onClick:s,title:"Toggle button to show more/less",children:i?"Show Less":"Show More"})]},`${e.tag.ownerReference.value.name}.${e.value}`)),t.slice(1,3).map(e=>c(e)),i&&t.slice(3).map(e=>c(e))]})]}):Une.jsx(Une.Fragment,{children:Boolean(a.length)&&Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},FVi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return Une.jsx(Bve,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:Une.jsx("div",{children:Une.jsx(hCe,{arrow:!0,...void 0!==r?{placement:r}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:a,onClose:()=>l(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:Une.jsxs("div",{className:"query-builder__tooltip__content",children:[Une.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:Une.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},BVi=e=>{const{title:t,property:n,path:i,isMapped:r,children:s,placement:o,type:a,explorerState:l}=e,c=[{label:"Type",value:a?.path??n.genericType.value.rawType.path},{label:"Path",value:i,actionButton:l?Une.jsx("div",{className:"query-builder__tooltip__item__action",children:Une.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:Une.jsx(tse,{})})}):void 0},{label:"Multiplicity",value:tE(n.multiplicity)},{label:"Derived Property",value:n instanceof uC?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return Une.jsx(FVi,{title:t,data:c,placement:o,footerElement:Une.jsx(PVi,{taggedValues:n.taggedValues}),children:s})},VVi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return Une.jsx(FVi,{title:t,data:s,placement:i,children:n})};var UVi;!function(e){e.LAMBDA_EDITOR__EDITOR_INPUT="lambda-editor__editor__input",e.QUERY_BUILDER="query__builder",e.QUERY_BUILDER_ACTIONS="query__builder__actions",e.QUERY_BUILDER_SETUP="query__builder__setup",e.QUERY_BUILDER_FETCH_STRUCTURE="query__builder__fetch__structure",e.QUERY_BUILDER_TDS_PROJECTION="query__builder__tds__projection",e.QUERY_BUILDER_TDS="query__builder__tds",e.QUERY_BUILDER_TDS_PROJECTION_COLUMN="QUERY_BUILDER_TDS_PROJECTION_COLUMN",e.QUERY_BUILDER_GRAPH_FETCH="query__builder__graph__fetch",e.QUERY_BUILDER_FILTER_PANEL="query__builder__filter__panel",e.QUERY_BUILDER_FILTER_TREE="query__builder__filter__tree",e.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK="query__builder__filter__tree__node-block",e.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN="query__builder__filter__tree__node-children",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER="query__builder__filter__tree__node-container",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT="query__builder__filter__tree__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT="query__builder__filter__tree__condition__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE="query-builder-filter-tree__condition-node__value",e.QUERY_BUILDER_POST_FILTER_PANEL="query__builder__post__filter-panel",e.QUERY_BUILDER_POST_FILTER_TREE="query__builder__post__filter__tree",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_BLOCK="query__builder__post__filter__tree__node-block",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CHILDREN="query__builder__post__filter__tree__node-children",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTAINER="query__builder__post__filter__tree__node-container",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTENT="query__builder__post__filter__tree__node-content",e.QUERY_BUILDER_WINDOW_GROUPBY="query__builder__window",e.QUERY_BUILDER_EXPLORER="query__builder__explorer",e.QUERY_BUILDER_PROPERTY_SEARCH_PANEL="query__builder__property__search__panel",e.QUERY_BUILDER_PERCENTILE_PANEL="query__builder__percentile__panel",e.QUERY_BUILDER_WAVG_DROPZONE="query__builder__wavg__dropzone",e.QUERY_BUILDER_PREVIEW_DATA_MODAL="query__builder__preview-data__modal",e.QUERY_BUILDER_PARAMETERS="query-builder__parameters",e.QUERY_BUILDER_CONSTANTS="query-builder__constants",e.QUERY_BUILDER_FUNCTIONS="query-builder__functions",e.QUERY_BUILDER_TOOLTIP_ICON="query-builder__tooltip__icon",e.QUERY_BUILDER_RESULT_VALUES="QUERY_BUILDER_RESULT_VALUES",e.QUERY_BUILDER_RESULT_VALUES_TDS="QUERY_BUILDER_RESULT_VALUES_TDS",e.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT="query-builder__tds__result-modifier-prompt",e.QUERY_BUILDER_RESULT_PANEL="query__builder__result__panel",e.QUERY_BUILDER_RESULT_ANALYTICS="query__builder__result__analytics",e.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER="query__builder__result__grid__custom-header",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL="query__builder__result__modifier__panel",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL_SORT_REMOVE_BTN="query__builder__projection__options__sort__remove-btn",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL__WATERMAKR="query__builder__result__modifier__panel__watermark",e.QUERY_BUILDER_TEMPLATE_QUERY_PANE="query__builder__template__query__panel"}(UVi||(UVi={}));const GVi=e=>({label:e.name,value:e}),HVi=e=>Hw(e)?"system element":Gw(e)?"generated element":Uw(e)?"dependency element":void 0,zVi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>Hw(e)?"system":Gw(e)?"generated":Uw(e)?"dependency":"")(t.value);return Une.jsxs("div",{className:i,children:[Une.jsx("div",{title:HVi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),Une.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&Une.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},jVi=e=>e instanceof B_||e instanceof V_?Une.jsx(NEe,{}):e instanceof Y_?Une.jsx(IEe,{}):e instanceof J_?Une.jsx(DEe,{}):e instanceof oC?Une.jsx(kEe,{}):e instanceof sC?Une.jsx(OEe,{}):Une.jsx(FEe,{}),WVi=e=>{const{_class:t,children:n,placement:i}=e;return Une.jsx(hCe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:Une.jsxs("div",{className:"query-builder__tooltip__content",children:[Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Une.jsx(PVi,{taggedValues:t.taggedValues})]}),children:n})},$Vi=e=>e instanceof c$?Une.jsx(PEe,{}):e instanceof u$?Une.jsx(BEe,{}):e instanceof d$?Une.jsx(MEe,{}):Une.jsx(FEe,{}),qVi=e=>[e.accessorOwner,e.schema,e.accessor].filter(cr).join("."),YVi=Lse(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i,accessor:r}=e,s=n.fetchStructureState.implementation instanceof DVi?n.fetchStructureState.implementation:void 0;return Une.jsxs(OPe,{ref:t,children:[i instanceof MUi&&Une.jsx(LPe,{onClick:()=>{s&&i instanceof MUi&&s.addColumn(new iFi(s,i.column,!0))},children:"Add Column to Fetch Structure"}),i instanceof LUi&&Une.jsx(LPe,{onClick:()=>{s&&r.relationType.columns.forEach(e=>{s.addColumn(new iFi(s,e,!0))})},children:"Add Columns to Fetch Structure"})]})})),KVi=Lse(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a,accessor:l}=o,c=t instanceof LUi,u=t instanceof MUi,[d,h]=n.useState(!1),[,p,g]=XBe(()=>({type:AUi.RELATION_COLUMN,item:()=>({node:t})}),[t]),f=n.useRef(null);u&&p(f),NVe(g);const m=a.explorerState,v=u&&m.humanizePropertyName?vm(t.label):t.label,y=()=>s?.(t),b=()=>h(!0),_=()=>h(!1);if(c){const e=!0===t.isOpen?Une.jsx(qre,{}):Une.jsx(Kre,{});return Une.jsx(BPe,{content:Une.jsx(YVi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:Une.jsxs("div",{className:Bse("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":d,"query-builder-explorer-tree__node__container--highlighted":m.highlightUsedProperties&&eUi(t,a)}),onClick:y,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Une.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:e}),Une.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:$Vi(l)})]}),Une.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),Une.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:Une.jsx(hCe,{arrow:!0,classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:Une.jsxs("div",{className:"query-builder__tooltip__content",children:[Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:l.accessorOwnerLabel})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:qVi(l)})]})]}),children:Une.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":UVi.QUERY_BUILDER_TOOLTIP_ICON,children:Une.jsx(_re,{})})})})]})})}const C=u?t:void 0,S=u?aUi(t.type):void 0,w=C?(e=>{const t=e.genericType.value.rawType.name,n=e.genericType.value.typeVariableValues;if(n&&n.length>0){const e=n.map(e=>e instanceof aS?e.values[0]:void 0).filter(cr);if(e.length>0)return`${t}(${e.join(", ")})`}return t})(C.column):t.type.path;return Une.jsx(BPe,{content:Une.jsx(YVi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:Une.jsxs("div",{className:Bse("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":d,"query-builder-explorer-tree__node__container--highlighted":m.highlightUsedProperties&&eUi(t,a)}),onClick:y,ref:f,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Une.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:Une.jsx("div",{})}),Une.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:S})]}),Une.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:v}),Une.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:Une.jsx(FVi,{title:v,data:[{label:"Type",value:w},{label:"Column",value:t.label}],children:Une.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":UVi.QUERY_BUILDER_TOOLTIP_ICON,children:Une.jsx(_re,{})})})})]})})}),XVi=Lse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o,components:a}=e;return Une.jsxs("div",{className:"tree-view__node__block",children:[Une.jsx(KVi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>Une.jsx(XVi,{node:e,level:n+1,components:a,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]})}),ZVi=Lse(e=>{const{queryBuilderState:t,accessor:i}=e,r=n.useMemo(()=>(e=>{const t=[],n=new Map,i=[];e.relationType.columns.forEach(e=>{const t=e.genericType.value.rawType,r=new MUi(e.name,e.name,e.name,e,t,{mapped:!0});i.push(r.id),n.set(r.id,r)});const r=new LUi("__relation_root__",e.accessor,e.accessor,!1,e.relationType,{mapped:!0},i);return r.setIsOpen(!0),t.push(r.id),n.set(r.id,r),{rootIds:t,nodes:n}})(i),[i]);return Une.jsx(Kke,{components:{TreeNodeContainer:KVi,TreeNodeView:XVi},className:"query-builder-explorer-tree__root",treeData:r,onNodeSelect:e=>{e instanceof LUi&&e.setIsOpen(!e.isOpen)},getChildNodes:e=>e instanceof LUi?e.childrenIds.map(e=>r.nodes.get(e)).filter(cr):[],innerProps:{queryBuilderState:t,accessor:i}})}),QVi=Lse(e=>{const{queryBuilderState:t,accessor:n}=e;return Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_EXPLORER,className:"panel query-builder__explorer",children:[Une.jsx(WPe,{title:"columns"}),Une.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[Une.jsx(IVe,{labelGetter:e=>{const n=e.node;return t.explorerState.humanizePropertyName?vm(n.label):n.label},types:[AUi.RELATION_COLUMN]}),0===n.relationType.columns.length?Une.jsx(sFe,{children:"No columns"}):Une.jsx(ZVi,{queryBuilderState:t,accessor:n})]})]})}),JVi=(e,t,n)=>{if(e.type instanceof Y_&&rE(e.type,t))return!0;if(e instanceof kUi&&rE(e.property,t))return!0;if(e instanceof OUi){const i=n.nodes.get(e.parentId);if(i?.type instanceof Y_&&rE(i.type,t))return!0}return!1},eUi=(e,t)=>{if(e instanceof DUi&&t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.length>0)return!0;const n=e.id.replaceAll(/(?:@[^.]+)+/g,e=>{const t=e.split(Wb);return`${Wb}${t[t.length-1]}`});return t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.includes(n)},tUi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return Une.jsx(Bve,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:Une.jsx("div",{children:Une.jsx(hCe,{arrow:!0,...void 0!==o?{placement:o}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:l,onClose:()=>c(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:Une.jsxs("div",{className:"query-builder__tooltip__content",children:[Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:tE(a)})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),Une.jsx(PVi,{taggedValues:t.taggedValues})]}),children:Une.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},nUi=Lse(e=>{const{queryBuilderState:t}=e,n=t.applicationStore,i=t.explorerState.previewDataState,r=()=>{i.previewDataAbortController&&(i.previewDataAbortController.abort(),i.setPreviewDataAbortController(void 0)),i.setIsGeneratingPreviewData(!1),i.setPreviewData(void 0)};return Une.jsx(cye,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:Une.jsxs(EPe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[Une.jsx(TPe,{title:vm(i.propertyName)}),Une.jsx(lFe,{isLoading:i.isGeneratingPreviewData}),Une.jsxs(RPe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&Une.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&Une.jsxs("table",{className:"table",children:[Une.jsx("thead",{children:Une.jsx("tr",{children:i.previewData.columns.map((e,t)=>Une.jsx("th",{className:"table__cell--left",children:e},t))})}),Une.jsx("tbody",{children:i.previewData.rows.map((e,t)=>Une.jsx("tr",{children:e.values.map((e,t)=>Une.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),Une.jsx(NPe,{children:Une.jsx(DPe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),iUi=Lse(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return Une.jsxs(OPe,{ref:t,children:[r instanceof kUi&&!(r.type instanceof Y_)&&Une.jsx(LPe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof Y_&&Une.jsx(LPe,{onClick:()=>{if(i(),r.type instanceof Y_){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(kUi)).filter(e=>!(e.type instanceof Y_)&&e.mappingData.mapped).filter(e=>{const t=PUi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof DVi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof nFi)return n.propertyExpressionState.path===e.id&&n.columnName===WPi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),rUi=new Set([N_(Zb.VARCHAR)]),sUi=new Set([N_(Zb.INT),N_(Zb.TINY_INT),N_(Zb.U_TINY_INT),N_(Zb.SMALL_INT),N_(Zb.U_SMALL_INT),N_(Zb.U_INT),N_(Zb.BIG_INT),N_(Zb.U_BIG_INT),N_(Zb.FLOAT),N_(Zb.DOUBLE),N_(Zb.NUMERIC),N_(Zb.DECIMAL)]),oUi=new Set([N_(Zb.TIMESTAMP),N_(Zb.STRICTDATE),N_(Zb.DATETIME),N_(Zb.STRICTTIME)]),aUi=e=>{if(e instanceof B_||e instanceof B_){const t=Sft(e)??e.path;if(t===Xb.STRING)return Une.jsx(oie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(t===Xb.BOOLEAN)return Une.jsx(Vre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__boolean"});if(t===Xb.NUMBER||t===Xb.INTEGER||t===Xb.FLOAT||t===Xb.DECIMAL)return Une.jsx(bre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return Une.jsx(Jie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}else if(e instanceof V_){if(rUi.has(e.name))return Une.jsx(oie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(sUi.has(e.name))return Une.jsx(bre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(oUi.has(e.name))return Une.jsx(Jie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return jVi(e)},lUi=Lse(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),u=Wht(),d=a.explorerState,[,h,p]=XBe(()=>({type:t instanceof kUi?t.type instanceof J_?AUi.ENUM_PROPERTY:t.type instanceof Y_?AUi.CLASS_PROPERTY:AUi.PRIMITIVE_PROPERTY:AUi.ROOT,item:()=>t instanceof kUi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),NVe(p);const f=Boolean(t.childrenIds.length),m=t instanceof kUi&&t.property instanceof uC,v=t instanceof kUi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof OUi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),y=t.mappingData.mapped&&t instanceof kUi&&t.type instanceof B_&&!t.isPartOfDerivedPropertyBranch,b=f?t.isOpen?Une.jsx(qre,{}):Une.jsx(Kre,{}):Une.jsx("div",{}),_=d.humanizePropertyName?t instanceof OUi?Wb+vm(t.label):vm(t.label):t instanceof OUi?Wb+t.label:t.label;return t.mappingData.mapped||t instanceof DUi||d.showUnmappedProperties?Une.jsx(BPe,{content:Une.jsx(iUi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof kUi||t instanceof DUi)||u.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:Une.jsxs("div",{className:Bse("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":l,"query-builder-explorer-tree__node__container--unmapped":!t.mappingData.mapped,"query-builder-explorer-tree__node__container--selected":t.isSelected,"query-builder-explorer-tree__node__container--highlighted":d.highlightUsedProperties&&eUi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof DUi?"Root class is not mapped":"Property is not mapped",onClick:()=>s?.(t),ref:t.mappingData.mapped&&!f?g:void 0,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[t instanceof DUi&&Une.jsxs(Une.Fragment,{children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Une.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),Une.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Une.jsx(IEe,{})})]}),Une.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),Une.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:a.sourceClass&&Une.jsx(WVi,{_class:a.sourceClass,children:Une.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":UVi.QUERY_BUILDER_TOOLTIP_ICON,children:Une.jsx(_re,{})})})})]}),(t instanceof kUi||t instanceof OUi)&&Une.jsxs(Une.Fragment,{children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[Une.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),Une.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:aUi(t.type)})]}),Une.jsxs("div",{className:Bse("tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",{"query-builder-explorer-tree__node__label--with-preview":y},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[Une.jsx("div",{className:Bse("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":JVi(t,d.queryBuilderState.graphManagerState.graph,d.nonNullableTreeData)}),children:_}),m&&Une.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),v&&Une.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Une.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[y&&Une.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:d.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof kUi&&d.previewData(t).catch(u.alertUnhandledError)},children:Une.jsx(dre,{})}),t instanceof kUi&&Une.jsx(BVi,{title:_,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:Une.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":UVi.QUERY_BUILDER_TOOLTIP_ICON,children:Une.jsx(_re,{})})}),t instanceof OUi&&Une.jsx(tUi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Une.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":UVi.QUERY_BUILDER_TOOLTIP_ICON,children:Une.jsx(_re,{})})})]})]})]})}):null}),cUi=Lse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof DUi||a.explorerState.showUnmappedProperties?Une.jsxs("div",{className:"tree-view__node__block",children:[Une.jsx(lUi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>Une.jsx(cUi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),uUi=e=>e instanceof OUi?0:e.type instanceof Y_?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof J_?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,dUi=Lse(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return Une.jsx(Kke,{components:{TreeNodeContainer:lUi,TreeNodeView:cUi},className:"query-builder-explorer-tree__root",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.setIsOpen(!e.isOpen),n.generateOpenNodeChildren(e))},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(e=>e instanceof OUi||e instanceof kUi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>uUi(t)-uUi(e)),innerProps:{queryBuilderState:t}})}),hUi="query-builder-explorer-search-input",pUi=Lse(n.forwardRef(function(e,t){const{propertySearchState:i}=e;n.useEffect(()=>{i.initializationState.hasSucceeded||i.initializationState.isInProgress||!cr(i.queryBuilderState.explorerState.treeData)||i.initialize().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},[i,i.initializationState,i.queryBuilderState.explorerState.treeData]);const r=n.useMemo(()=>jn(()=>i.search(),100),[i]),s=()=>{i.resetSearch()};return Une.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[Une.jsx("input",{ref:t,name:hUi,className:Bse("query-builder__explorer__property-search__input input--dark",{"query-builder__explorer__property-search__input--searching":i.searchText}),spellCheck:!1,onChange:e=>{(async()=>{i.setSearchText(e.target.value),e.target.value.length>=2?(i.queryBuilderState.explorerState.treeData&&!i.isSearchPanelOpen&&(i.setIsSearchPanelOpen(!0),i.initializationState.hasSucceeded||i.initializationState.isInProgress||await i.initialize()),await r()):i.setIsSearchPanelOpen(!1)})().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},onKeyDown:e=>{"Escape"===e.key&&(s(),i.setIsSearchPanelOpen(!1))},value:i.searchText,placeholder:"One or more terms, ESC to clear"}),i.searchText.length>=2&&Une.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?Une.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:Une.jsx(Bre,{})}):Une.jsx(Une.Fragment,{children:Une.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:Une.jsx(Lre,{})})})]})})),gUi=Lse(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Wht();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_EXPLORER,className:Bse("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[Une.jsxs(WPe,{title:"explorer",children:[Une.jsx(pUi,{propertySearchState:s,ref:i}),Une.jsxs(qPe,{children:[Une.jsx(YPe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof DUi||e.setIsOpen(!1)})},title:"Collapse Tree",children:Une.jsx(tre,{})}),Une.jsx(VPe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{Ggt.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:Une.jsxs(OPe,{children:[Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[Une.jsx(PPe,{children:r.showUnmappedProperties?Une.jsx(Kie,{}):null}),Une.jsx(FPe,{children:"Show Unmapped Properties"})]}),Une.jsxs(LPe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[Une.jsx(PPe,{children:r.humanizePropertyName?Une.jsx(Kie,{}):null}),Une.jsx(FPe,{children:"Humanize Property Name"})]}),Une.jsxs(LPe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[Une.jsx(PPe,{children:r.highlightUsedProperties?Une.jsx(Kie,{}):null}),Une.jsx(FPe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:Une.jsx(aie,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&Une.jsx(xUi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),Une.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[Une.jsx(lFe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),Une.jsx(IVe,{labelGetter:e=>r.humanizePropertyName?vm(e.node.label):e.node.label,types:Object.values(AUi)}),r.mappingModelCoverageAnalysisState.isInProgress?Une.jsx(sFe,{children:r.mappingModelCoverageAnalysisState.message}):Une.jsxs(Une.Fragment,{children:[!r.treeData&&Une.jsx(sFe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&Une.jsx(dUi,{queryBuilderState:t})]}),Une.jsx(nUi,{queryBuilderState:t})]})]})}),fUi=Lse(e=>{const{queryBuilderState:t}=e,n=t.sourceAccessor;return n?Une.jsx(QVi,{queryBuilderState:t,accessor:n}):Une.jsx(gUi,{queryBuilderState:t})}),mUi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=Wht(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Jht(s))?Une.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:Bse("documentation-link",n,{"documentation-link--inline":i}),children:Une.jsx(Ire,{})}):null},vUi=e=>{const{parent:t,canUndo:i,undo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"z"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),Une.jsx("div",{className:"undo-redo",children:Une.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[Une.jsx(Gre,{}),Une.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},yUi=e=>{const{parent:t,canRedo:i,redo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"y"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),Une.jsx("div",{className:"undo-redo",children:Une.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[Une.jsx(kre,{}),Une.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},bUi=(e,t)=>e.split(Wb).map(e=>e.replace(new RegExp(String.raw`.*${Gb}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(vm).join(t?" / ":"/")).join(Wb),_Ui=(e,t)=>{let n=e.split(Wb);n=n.map(e=>e.replace(new RegExp(String.raw`.*${Gb}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${Wb}${e.split(".").map(e=>vm(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=dr(n[n.length-1]).split("."),n=n.map(e=>vm(e)),i=`${i}(${Wb}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},CUi=(e,t,n,i)=>{const r=[];t.split(/\/| /).filter(e=>e.trim().length>0).forEach(t=>{const n=new RegExp(t,"gi");let i;for(;i=n.exec(e);)r.push([i.index,i.index+t.length])});const s=[];if(r.sort((e,t)=>e[0]-t[0]),r.forEach(e=>{if(s.length){const t=s[s.length-1];void 0!==t&&e[0]<=t[1]?t[1]=Math.max(t[1],e[1]):s.push(e)}else s.push(e)}),!s.length)return Une.jsx("span",{children:e});const o=[],a=Gr(s,0)[0];a>0&&o.push(Une.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(Une.jsx("span",{className:`${n}--highlight`,children:e.substring(t[0],t[1])},`${i}-${2*r}-${e.substring(t[0],t[1])}`)),r<s.length-1&&t[1]<e.length){const n=Gr(s,r+1)[0];o.push(Une.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=Gr(s,s.length-1)[1];return l<e.length&&o.push(Une.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},SUi=Lse(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,u]=XBe(()=>({type:t instanceof kUi?t.type instanceof J_?AUi.ENUM_PROPERTY:t.type instanceof Y_?AUi.CLASS_PROPERTY:AUi.PRIMITIVE_PROPERTY:AUi.ROOT,item:()=>t instanceof kUi?{node:t}:{},canDrag:()=>!(t.type instanceof Y_),collect:e=>({isDragging:e.isDragging()})}),[t]),d=n.useRef(null);c(d),NVe(u);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof kUi&&t.parentId===e.id),g=p?.type instanceof Y_&&s>1?vm(t.label):p instanceof OUi?_Ui(t.id,!0):bUi(t.id,!0),f=a?t.isOpen?Une.jsx(qre,{}):Une.jsx(Kre,{}):Une.jsx("div",{}),m=t instanceof kUi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_)?.value??null:null,v=null!==m?CUi(m,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,y=l.isNodeMultiple(t);return Une.jsxs(Une.Fragment,{children:[Une.jsxs("div",{className:"tree-view__node__container query-builder-property-search-panel__node__container",ref:d,style:{paddingLeft:(s-1)*o+.5+"rem",display:"flex"},onClick:()=>t.setIsOpen(!t.isOpen),onDrag:()=>l.setIsSearchPanelHidden(!0),onDragEnd:()=>l.setIsSearchPanelHidden(!1),children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[Une.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:f}),Une.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:aUi(t.type)})]}),Une.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[Une.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[CUi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),y&&Une.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Une.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:v})]}),Une.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof kUi&&Une.jsxs(Une.Fragment,{children:[Une.jsx(BVi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:Une.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Une.jsx(_re,{})})}),Une.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Une.jsx(tse,{})})]}),t instanceof OUi&&Une.jsxs(Une.Fragment,{children:[Une.jsx(tUi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Une.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Une.jsx(_re,{})})}),Une.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Une.jsx(tse,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof kUi||t instanceof OUi)&&t.type instanceof Y_&&(t instanceof OUi?Zw(t.type):Yw(t.type)).forEach(n=>{const r=BUi(n,t,dr(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof Y_||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>Une.jsx(SUi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),wUi=Lse(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return Une.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[Une.jsxs("button",{className:Bse("query-builder-property-search-panel__form__section__toggler__btn",{"query-builder-property-search-panel__form__section__toggler__btn--toggled":i}),onClick:r,tabIndex:-1,children:[i?Une.jsx(Xie,{}):Une.jsx(Pre,{}),Une.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&Une.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),EUi=Lse(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return Une.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Une.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&Une.jsx(hCe,{slotProps:{transition:{timeout:0}},title:Une.jsx("div",{children:n}),children:Une.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:Une.jsx(_re,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>Une.jsx(wUi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),xUi=Lse(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===hUi||(i(),r.setIsSearchPanelOpen(!1))};return Une.jsx(QCe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:Bse("query-builder-property-search-panel__container",{"query-builder-property-search-panel__container--hidden":r.isSearchPanelHidden}),anchorEl:n,onClose:s,hideBackdrop:!0,disableAutoFocus:!0,disableEnforceFocus:!0,anchorOrigin:{vertical:40,horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"center"},children:Une.jsx(Bve,{onClickAway:s,children:Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:Une.jsx("div",{className:"query-builder-property-search-panel__content",children:Une.jsxs(xUe,{orientation:"vertical",children:[Une.jsx(TUe,{size:175,children:Une.jsxs("div",{className:"query-builder-property-search-panel__config",children:[Une.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Une.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",Une.jsx(mUi,{documentationKey:Bpt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),Une.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:Une.jsx(zPe,{className:"query-builder-property-search-panel__search-mode__options",value:r.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;r.searchConfigurationState.setCurrentMode(t)},row:!1,options:[Pb.STANDARD,Pb.INCLUDE,Pb.EXACT,Pb.INVERSE],size:1})})]}),Une.jsx(EUi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),Une.jsx(EUi,{header:"Documentation",headerTooltipText:'Include "doc" type tagged values in search results',buttons:[{label:"Include",enabled:r.searchConfigurationState.includeDocumentation,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeDocumentation(!r.searchConfigurationState.includeDocumentation),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),Une.jsx(EUi,{header:"Sub-types",buttons:[{label:"Include",enabled:r.searchConfigurationState.includeSubTypes,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeSubTypes(!r.searchConfigurationState.includeSubTypes),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),Une.jsx(EUi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(qgt.CLASS),onClick:()=>{r.toggleFilterForType(qgt.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(qgt.ENUMERATION),onClick:()=>{r.toggleFilterForType(qgt.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(qgt.STRING),onClick:()=>{r.toggleFilterForType(qgt.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(qgt.BOOLEAN),onClick:()=>{r.toggleFilterForType(qgt.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(qgt.NUMBER),onClick:()=>{r.toggleFilterForType(qgt.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(qgt.DATE),onClick:()=>{r.toggleFilterForType(qgt.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.DATE)}}]})]})}),Une.jsx(AUe,{children:Une.jsx(RUe,{color:"var(--color-dark-grey-200)"})}),Une.jsxs(TUe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&Une.jsx(lFe,{isLoading:!0}),Une.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&Une.jsxs(Une.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>Une.jsx(SUi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&Une.jsxs(sFe,{children:[Une.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),Une.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__tips",children:"Tips: Navigate deeper into the explorer tree to improve the scope and accuracy of the search"})]})]}),r.initializationState.isInProgress&&Une.jsx(sFe,{children:"Initializing..."}),r.searchState.isInProgress&&Une.jsx(sFe,{children:"Searching..."})]})]})]})})})})})});class TUi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=Py.create();searchState=Py.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[qgt.CLASS,qgt.ENUMERATION,qgt.STRING,qgt.BOOLEAN,qgt.NUMBER,qgt.DATE];constructor(e){hd(this,{indexedExplorerTreeNodeMap:Rc,searchText:Rc,searchResults:Rc,isOverSearchLimit:Rc,isSearchPanelOpen:Rc,isSearchPanelHidden:Rc,showSearchConfigurationMenu:Rc,includeOneMany:Rc,typeFilters:Rc,indexedExplorerTreeNodes:kc,filteredSearchResults:kc,search:Pu,resetSearch:Pu,setSearchResults:Pu,setIsOverSearchLimit:Pu,setSearchText:Pu,setShowSearchConfigurationMenu:Pu,setIsSearchPanelOpen:Pu,setIsSearchPanelHidden:Pu,setIncludeOneMany:Pu,setFilterOnlyType:Pu,toggleFilterForType:Pu,initialize:Pu}),this.queryBuilderState=e,this.searchConfigurationState=new MVi(async()=>this.search(),this.queryBuilderState.applicationStore.alertUnhandledError),this.searchEngine=new Mb(this.indexedExplorerTreeNodes)}setIsSearchPanelOpen(e){this.isSearchPanelOpen=e}setIsSearchPanelHidden(e){this.isSearchPanelHidden=e}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}setSearchResults(e){this.searchResults=e}setIsOverSearchLimit(e){this.isOverSearchLimit=e}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.indexedExplorerTreeNodes.forEach(e=>{e instanceof DUi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?$r(this.typeFilters,e):jr(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof OUi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof kUi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof kUi||t instanceof OUi?this.indexedExplorerTreeNodeMap.get(t.parentId):void 0}return!1}async search(){return this.searchText||this.setSearchResults([]),this.searchState.inProgress(),this.indexedExplorerTreeNodes.forEach(e=>{e instanceof DUi||e.setIsOpen(!1)}),new Promise(e=>setTimeout(()=>{const t=new Map,n=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText.toLowerCase()),{limit:101}).values()).map(e=>e.item).map(e=>(e.type instanceof Y_&&t.set(e.id,e),e)).filter(e=>!(e instanceof kUi||e instanceof OUi)||!t.has(e.parentId));n.length>100?(this.setIsOverSearchLimit(!0),this.setSearchResults(n.slice(0,100))):(this.setIsOverSearchLimit(!1),this.setSearchResults(n)),this.searchState.complete(),e()},0))}async initialize(){return this.initializationState.inProgress(),new Promise(e=>setTimeout(()=>{const t=this.queryBuilderState.explorerState.nonNullableTreeData,n=new Map(t.rootIds.map(e=>t.nodes.get(e)).filter(cr).map(e=>[e.id,e]));this.indexedExplorerTreeNodeMap=new Map;let i=[],r=[];Array.from(t.rootIds.map(e=>t.nodes.get(e)?.childrenIds.map(e=>t.nodes.get(e))).flat().filter(cr).filter(e=>!(!e.mappingData.mapped||!this.searchConfigurationState.includeSubTypes)||e instanceof kUi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=GUi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>Bu(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=GUi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof kUi||e instanceof OUi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof kUi||t instanceof OUi?this.indexedExplorerTreeNodeMap.get(t.parentId)??n.get(t.parentId):void 0}}return!1};let l=1;for(;i.length&&l<=10;){const e=i.shift();e?.mappingData.mapped&&e.childrenIds.length&&(e instanceof kUi||this.searchConfigurationState.includeSubTypes&&e instanceof OUi)&&e.type instanceof Y_&&((e instanceof OUi?Zw(e.type):Yw(e.type).concat(Kw(e.type))).forEach(t=>{const n=BUi(t,e,dr(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n&&n.mappingData.mapped&&!n.isPartOfDerivedPropertyBranch&&!a(n)&&(r.push(n),o(n))}),this.searchConfigurationState.includeSubTypes&&e.type._subclasses.forEach(t=>{const n=VUi(t,e,dr(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n.mappingData.mapped&&!a(n)&&(r.push(n),o(n))})),!i.length&&this.indexedExplorerTreeNodeMap.size<s&&(i=r,r=[],l++)}this.searchEngine=new Mb(this.indexedExplorerTreeNodes,{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"label",weight:4},{name:"path",weight:2,getFn:e=>{const t=e instanceof kUi||e instanceof OUi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof OUi?_Ui(e.id):bUi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof kUi?e.property.taggedValues.filter(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_).map(e=>e.value).join("\n"):""}]:[]],sortFn:(e,t)=>{if(Math.abs(e.score-t.score)<=.1){const n=e.item[0]&&Object.hasOwn(e.item[0],"v")?e.item[0].v.split("/").length:void 0,i=t.item[0]&&Object.hasOwn(t.item[0],"v")?t.item[0].v.split("/").length:void 0;if(void 0!==n&&void 0!==i)return n-i}return e.score-t.score},useExtendedSearch:!0}),this.initializationState.complete(),e()},0))}get indexedExplorerTreeNodes(){return Array.from(this.indexedExplorerTreeNodeMap.values())}isNodeIncludedInFilter(e){return!(!this.includeOneMany&&this.isNodeMultiple(e))&&(!!(this.typeFilters.includes(qgt.CLASS)&&e.type instanceof Y_)||(!!(this.typeFilters.includes(qgt.ENUMERATION)&&e.type instanceof J_)||(!(!this.typeFilters.includes(qgt.STRING)||e.type!==B_.STRING)||(!!(this.typeFilters.includes(qgt.NUMBER)&&e.type instanceof B_&&[Xb.NUMBER,Xb.DECIMAL,Xb.INTEGER,Xb.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(qgt.BOOLEAN)||e.type!==B_.BOOLEAN)||!!(this.typeFilters.includes(qgt.DATE)&&e.type instanceof B_&&[Xb.DATE,Xb.DATETIME,Xb.STRICTDATE,Xb.STRICTTIME,Xb.LATESTDATE].includes(e.type.name)))))))}get filteredSearchResults(){return this.searchResults.filter(e=>this.isNodeIncludedInFilter(e))}}var AUi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY",e.RELATION_COLUMN="RELATION_COLUMN"}(AUi||(AUi={}));const RUi=(e,t)=>`${e?`${e}.`:""}${t}`,NUi=(e,t)=>`${e||""}${Wb}${t}`;class IUi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){hd(this,{isHighlighting:Rc,isOpen:Rc,isSelected:Rc,setIsHighlighting:Pu,setIsOpen:Pu,setIsSelected:Pu}),this.id=e,this.label=t,this.dndText=i,this.isPartOfDerivedPropertyBranch=r,this.type=s,this.mappingData=o,a&&(this.childrenIds=a),this.elementRef=n.createRef()}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}setIsHighlighting(e){this.isHighlighting=e}}class DUi extends IUi{}class kUi extends IUi{property;parentId;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,a??i.genericType.value.rawType,o,l),this.property=i,this.parentId=r}}class OUi extends IUi{subclass;parentId;multiplicity;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,i,o,l),this.subclass=i,this.parentId=r,this.multiplicity=a}}class LUi extends IUi{}class MUi extends IUi{column;constructor(e,t,n,i,r,s){super(e,t,n,!1,r,s),this.column=i}}const PUi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new oS(n??Hgt,T_.ONE),o=new _S("");uft(o,pC.create(dr(e.property)));let a=o,l=i.nodes.get(e.parentId)??r.find(t=>t.id===e.parentId),c=e;for(;c&&(l instanceof kUi||l instanceof OUi);){if(l instanceof OUi&&c instanceof OUi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof OUi?e=new bS(N_(Zgt.SUBTYPE)):l instanceof kUi&&l.mappingData.entityMappedProperty?.subType?(e=new bS(N_(Zgt.SUBTYPE)),a.parametersValues.push(e),a=e,e=new _S(""),uft(e,pC.create(dr(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new _S(""),uft(e,pC.create(dr(l.property)))),a.parametersValues.push(e),a instanceof bS&&k_(a.functionName,Zgt.SUBTYPE)){const e=new aS(T_.ONE,G_.create(new q_(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof kUi||l instanceof OUi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof kUi||c instanceof OUi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof bS){const e=new aS(T_.ONE,G_.create(new q_(c.type)));a.parametersValues.push(e)}return o},FUi=e=>{const t=e.type,n=(e instanceof OUi?Zw(t):Yw(t).concat(Kw(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${Wb}${t.path}`);return n.concat(i)},BUi=(e,t,n)=>{const i=((e,t,n)=>{if(t.mappedEntity){const i=t.mappedEntity.__PROPERTIES_INDEX.get(e.name);return(e.genericType.value.rawType instanceof Y_||e.genericType.value.rawType instanceof eC)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof IQ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof IQ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof uC||t.isPartOfDerivedPropertyBranch||t instanceof kUi&&t.property instanceof uC;if(e instanceof Z_&&t instanceof kUi&&t.property instanceof Z_&&e._OWNER instanceof Q_&&t.property._OWNER instanceof Q_&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof Y_?qw(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new kUi(o?NUi(RUi(t instanceof DUi?"":t.id,e.name),o.path):RUi(t instanceof DUi?"":t.id,e.name),e.name,`${t instanceof DUi?`${jb}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=RUi(t instanceof DUi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof Y_&&(a.childrenIds=FUi(a)),a},VUi=(e,t,n)=>{const i=new OUi(NUi(t instanceof DUi?"":t.id,e.path),e.name,""+(t instanceof DUi?`${jb}${Hgt}->${N_(Zgt.SUBTYPE)}(${Wb}${e.path})`:`${t.dndText}->${N_(Zgt.SUBTYPE)}(${Wb}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=qw(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof IQ&&e.subType&&i.includes(e.subType)));if(e)return{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(e.entityPath)};if(i.includes(t.mappedEntity.path)||r&&i.includes(r))return{mapped:!0,mappedEntity:t.mappedEntity}}return{mapped:!1}})(e,t.mappingData,n),t instanceof kUi?t.property.multiplicity:t instanceof OUi?t.multiplicity:T_.ONE);return i.childrenIds=FUi(i),i},UUi=(e,t)=>{const n=[],i=new Map,r=((e,t)=>{const n=t.__ENTITIES_INDEX.get(e.path);return{mapped:Boolean(n),mappedEntity:n}})(e,t),s=new DUi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),Yw(e).concat(Kw(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof Y_?2:t instanceof J_?1:0)-(e instanceof Y_?2:e instanceof J_?1:0)).forEach(e=>{const n=BUi(e,s,t);n&&(jr(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=VUi(e,s,t);jr(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},GUi=e=>{if(e instanceof DUi)return new DUi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof kUi)return new kUi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof OUi)return new OUi(e.id,e.label,e.dndText,e.subclass,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.multiplicity,e.childrenIds);throw new yi(`Unable to clone node of type ${e.constructor.name}`)};class HUi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){hd(this,{previewData:Rc.ref,isGeneratingPreviewData:Rc,propertyName:Rc,previewDataAbortController:Rc,setPropertyName:Pu,setIsGeneratingPreviewData:Pu,setPreviewData:Pu,setPreviewDataAbortController:Pu})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class zUi{queryBuilderState;previewDataState=new HUi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=Py.create();mappingModelCoverageAnalysisResult;constructor(e){hd(this,{treeData:Rc.ref,humanizePropertyName:Rc,showUnmappedProperties:Rc,highlightUsedProperties:Rc,mappingModelCoverageAnalysisResult:Rc,setTreeData:Pu,refreshTree:Pu,refreshTreeData:Pu,setHumanizePropertyName:Pu,setShowUnmappedProperties:Pu,setHighlightUsedProperties:Pu,highlightTreeNode:Pu,analyzeMappingModelCoverage:Ju,previewData:Ju}),this.queryBuilderState=e,this.propertySearchState=new TUi(this.queryBuilderState)}get nonNullableTreeData(){return dr(this.treeData,"Query builder explorer tree data has not been initialized")}setTreeData(e){this.treeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData})}setHumanizePropertyName(e){this.humanizePropertyName=e}setShowUnmappedProperties(e){this.showUnmappedProperties=e}setHighlightUsedProperties(e){this.highlightUsedProperties=e}refreshTreeData(){const e=this.queryBuilderState.sourceClass,t=this.queryBuilderState.executionContextState.mapping;this.setTreeData(e&&t&&this.mappingModelCoverageAnalysisResult?UUi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof kUi||e instanceof OUi)&&e.type instanceof Y_&&((e instanceof OUi?Zw(e.type):Yw(e.type).concat(Kw(e.type))).forEach(t=>{const n=BUi(t,e,dr(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=VUi(t,e,dr(this.mappingModelCoverageAnalysisResult));this.nonNullableTreeData.nodes.set(n.id,n)}),this.refreshTree())}highlightTreeNode(e){if(void 0===this.nonNullableTreeData.nodes.get(e)){const t=e.split("@").map(e=>e.split("."));t.length>0&&void 0!==t[t.length-1]&&Gr(t,t.length-1).pop();let n="";t.forEach(e=>{e.forEach((e,t)=>{n+=`${t>0?".":""}${e}`;const i=this.nonNullableTreeData.nodes.get(n);i&&(i.setIsOpen(!0),this.generateOpenNodeChildren(i))}),n+="@"})}const t=this.nonNullableTreeData.nodes.get(e);if(t instanceof kUi||t instanceof OUi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof kUi||e instanceof OUi?this.nonNullableTreeData.nodes.get(e.parentId)??null:null;t.setIsHighlighting(!0),setTimeout(()=>{t.elementRef.current?.scrollIntoView()},0)}}*analyzeMappingModelCoverage(){if(this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.mapping.path!==this.mappingModelCoverageAnalysisResult?.mapping.path){this.mappingModelCoverageAnalysisState.inProgress(),Ggt.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new Fy,t=d5(this.queryBuilderState.graphManagerState.graph);this.mappingModelCoverageAnalysisState.setMessage("Analyzing Mapping...");try{this.mappingModelCoverageAnalysisResult=yield this.queryBuilderState.graphManagerState.graphManager.analyzeMappingModelCoverage(this.queryBuilderState.executionContextState.mapping,this.queryBuilderState.graphManagerState.graph),this.refreshTreeData(),t.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t.timings);const n=Object.assign({},t,this.queryBuilderState.getStateInfo());Ggt.logEvent_QueryMappingModelCoverageAnalysisSucceeded(this.queryBuilderState.applicationStore.telemetryService,n)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}finally{this.mappingModelCoverageAnalysisState.complete()}}}*previewData(e){const t=this.queryBuilderState.executionContextState.runtimeValue;if(!t)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': runtime is not specified`);if(!e.mappingData.mapped||!this.queryBuilderState.sourceClass||!this.queryBuilderState.executionContextState.mapping)return;if(this.previewDataState.isGeneratingPreviewData)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': another preview request is being executed`);this.previewDataState.setPropertyName(e.property.name),this.previewDataState.setIsGeneratingPreviewData(!0);const n=PUi(e,this),i=e.property.genericType.value.rawType;this.previewDataState.setPreviewDataAbortController(new AbortController);try{switch(i.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=fr(n.fetchStructureState.implementation,DVi),r=i.aggregationState;return OVi.forEach(e=>{const n=LVi(i,t,e[0]);i.projectionColumns.push(n);const s=dr(r.operators.find(t=>t instanceof e[1]));r.changeColumnAggregateOperator(s,n,!0)}),n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;gr(e,NX,"Unexpected preview data format");const i=e.result,r={columns:["Aggregation","Value"],rows:i.columns.map((e,t)=>({values:[e,dr(i.rows[0]).values[t]]}))};this.previewDataState.setPreviewData(r);break}case Xb.BOOLEAN:case Xb.STRING:case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=fr(n.fetchStructureState.implementation,DVi),r=LVi(i,t,"Value"),s=LVi(i,t,"Count");i.projectionColumns=[r,s];const o=dr(i.aggregationState.operators.find(e=>e instanceof hFi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new bFi(s);return a.sortType=Jgt.DESC,i.resultSetModifierState.sortColumns=[a,new bFi(r)],n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;gr(e,NX,"Unexpected preview data format"),this.previewDataState.setPreviewData(e.result);break}default:throw new yi(`No preview support for property of type '${i.path}'`)}}catch(t){if(bi(t),"AbortError"===t.name)return;this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}'. Error: ${t.message}`),this.previewDataState.setPreviewData(void 0)}finally{this.previewDataState.setIsGeneratingPreviewData(!1),this.previewDataState.setPreviewDataAbortController(void 0)}}}var jUi="4.18.5",WUi={applicationPlugin:"@finos/legend-application-plugin-query-builder",graphManagerPreset:"@finos/legend-graph-manager-preset-query-builder",pureProtocolProcessorPlugin:"@finos/legend-pure-protocol-processor-plugin-query-builder",pureGraphManagerPlugin:"@finos/legend-pure-graph-manager-plugin-query-builder"};const $Ui=(e,t,n,i)=>{gr(e,Gx,"Can't build projection column: only support lambda"),br(1===e.parameters.length,"Can't build projection column: only support lambda with 1 parameter");const r=fr(e.parameters[0],Fx,"Can't build projection column: only support lambda with 1 parameter");br(1===e.body.length,"Can't build projection column: only support lambda body with 1 expression");let s=e.body[0];if(s instanceof $x&&2===s.parameters.length&&k_(s.function,Zgt.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new xY(n,i,t));for(gr(s,RT,"Can't build projection column: only support lambda body as property expression");s instanceof RT;)for(br(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof $x&&k_(s.function,Zgt.SUBTYPE);)s=s.parameters[0];return gr(s,Fx,"Can't build projection column: only support lambda body as property expression"),br(r.name===s.name,`Can't build column lambda: expects variable used in lambda body '${s.name}' to match lambda parameter '${r.name}'`),e.accept_ValueSpecificationVisitor(new xY(n,i,t))},qUi=(e,t,n,i)=>{gr(e,$x,"Can't build aggregation: only support function"),br(k_(e.function,Zgt.TDS_AGG),"Can't build aggregation: only support agg()"),br(2===e.parameters.length,"Can't build agg() expression: agg() expects 2 arguments");const r=fr(e.parameters[0],Gx,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof $x&&k_(r.body[0].function,Object.values(Kgt))?_i(()=>((e,t,n,i)=>{gr(e,Gx,"Can't build calendar aggregation column: only support lambda"),br(1===e.parameters.length,"Can't build calendar aggregation column: only support lambda with 1 parameter"),br(1===e.body.length,"Can't build calendar aggregation column: only support lambda body with 1 expression");const r=fr(e.parameters[0],Fx,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=fr(e.body[0],$x,"Can't build calendar aggregation column: only support applied function");br(k_(s.function,Object.values(Kgt)),"Can't build calendar aggregation columnn: unsupported calenddar function"),br(4===s.parameters.length,"Can't build calendar aggregation column: only support calendar function with four parameters"),gr(s.parameters[0],RT,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=fr(s.parameters[1],Zx,"Can't build calendar aggregation column: only support second parameter of calendar function as String");br(void 0!==Object.values(TVi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),fr(s.parameters[2],Cx,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new xY(n,i,t)),l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new xY(n,i,t)),c=dr(s.parameters[2]).accept_ValueSpecificationVisitor(new xY(n,i,t)),u=dr(s.parameters[3]),d=_i(()=>u.accept_ValueSpecificationVisitor(new xY(n,i,t)))??new sS(_N(u,n.extensions.plugins)),h=RY([a,l,c,d],s.function,n),p=new wS,g=new CS(__.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE);g.parameters.push(new oS(r.name,T_.ONE));const f=new SS(g);return f.expressionSequence=[h],p.values.push(f),p})(r,t,n,i))??new sS(_N(r,n.extensions.plugins)):_i(()=>$Ui(r,t,n,i))??new sS(_N(r,n.extensions.plugins));const o=fr(e.parameters[1],Gx).accept_ValueSpecificationVisitor(new xY(n,i,t));return RY([s,o],N_(Zgt.TDS_AGG),n)},YUi=(e,t,n,i,r)=>{const s=fr(e,$x,"Can't build tds col func: only support applied function");br(k_(s.function,Zgt.TDS_COL),`Can't build tds col func: unsupported func name ${s.function}`),br(2===s.parameters.length,"Can't build tds col func: only support col function with 2 parameters");const o=fr(s.parameters[0],Gx,"Can't build tds col func: only support first parameter of col function as Lambda");let a;try{o.parameters.forEach(e=>{if(e.name&&!e.genericType){const n=new oS(e.name,T_.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=$Ui(o,n,i,r)}catch{a=new sS(_N(o,i.extensions.plugins))}fr(s.parameters[1],Zx,"Can't build tds col func: only support second parameter of col function as String");const l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new xY(i,r,n));return RY([a,l],s.function,i)},KUi=(e,t,n,i,r)=>{if(2===t.length)try{return((e,t,n,i,r)=>{br(2===t.length,"Can't build tds project() expression: project() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(s.genericType,"Can't build tds project() expression: preceding expression return type is missing");const o=dr(t[1],"Can't build tds project() expression: second parameter is missing");let a;if(o instanceof qx){const e=new uS(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>YUi(e,s,n,i,r)),a=e}else gr(o,$x,"Can't build project() expression: project() expects argument #2 to be a function"),a=YUi(o,s,n,i,r);const l=RY([s,a],e,i);return l.genericType=G_.create(new q_(i.resolveType(Ygt.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return((e,t,n,i,r)=>{br(2===t.length,"Can't build relation project() expression: project() expects 2 arguments");let s=[];const o=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];gr(a,fR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=fr(a.value,bT,"Can't build relation project() expression: project() expects argument #1 to hold spec array instances value");s=l.colSpecs.map(e=>e.function1).filter(cr).filter(pr(Gx)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new oS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new mS(T_.ONE),d=new fS;u.values=[d];const h=new $_($_.ID);d.colSpecs=l.colSpecs.map(e=>{const t=new pS;let s;const o=fr(e.function1,Cx,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=$Ui(o,n,i,r)}catch{s=new sS(_N(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=_Y(s);return a&&h.columns.push(new W_(e.name,G_.create(new q_(a)))),t});const p=RY([o,u],e,i),g=new q_(yY.INSTANCE),f=new q_(h);return g.typeArguments=[G_.create(f)],p.genericType=G_.create(g),p})(e,t,n,i,r)}const s=t.length;br(3===s||2===s,"Can't build project() expression: project() expects 2 arguments");let o=[];const a=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof Gx?o=l.parameters:(gr(l,qx,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(pr(Gx)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new oS(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const u=new uS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let d=[];d=l instanceof Gx?[l]:l.values,u.values=d.map(e=>{try{return $Ui(e,n,i,r)}catch{return new sS(_N(e,i.extensions.plugins))}});const h=RY([a,u,t[2].accept_ValueSpecificationVisitor(new xY(i,r,n))],e,i);return h.genericType=G_.create(new q_(i.resolveType(Ygt.TDS_ROW).value)),h},XUi=(e,t,n,i,r)=>e===Zgt.RELATION_GROUP_BY||3===t.length?((e,t,n,i,r)=>{br(3===t.length,"Can't build relation groupBy() expression: groupBy() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=fr(s,bS);if(o.functionName!==N_(Zgt.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];gr(a,fR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=fr(a.value,bT,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];gr(c,fR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const u=fr(c.value,bT,"Can't build relation groupBy() expression: groupBy() expects argument #2 to hold col spec array instance value"),d=u.colSpecs.map(e=>[e.function1,e.function2]).flat().filter(cr).filter(pr(Gx)).map(e=>e.parameters).flat();d.forEach(e=>{if(!e.genericType){const t=new oS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=fr(o.genericType?.value.typeArguments?.[0]?.value.rawType,$_,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new mS(T_.ONE),g=new fS;p.values=[g];const f=new $_($_.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new pS;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&f.columns.push(n),t});const m=new mS(T_.ONE),v=new fS;m.values=[v],v.colSpecs=u.colSpecs.map(e=>{const t=new pS;t.name=e.name;const s=fr(e.function1,Gx,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=$Ui(s,n,i,r);t.function1=o;const a=fr(e.function2,Gx,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=fr(a.accept_ValueSpecificationVisitor(new xY(i,r,n)),wS,"Can't build relation col spec() expression: expected aggregation function to be a lambda");t.function2=l;const c=h.columns.find(t=>t.name===e.name)?.genericType;if(!c)throw new yi(`Unable to find projected column with name ${e.name}`);return f.columns.push(new W_(e.name,c)),t});const y=RY([s,p,m],e,i),b=new q_(yY.INSTANCE),_=new q_(f);return b.typeArguments=[G_.create(_)],y.genericType=G_.create(b),y})(e,t,n,i,r):((e,t,n,i,r)=>{let s=[];br(4===t.length,"Can't build groupBy() expression: groupBy() expects 3 arguments");const o=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];gr(a,qx,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(pr(Gx)).map(e=>e.parameters).flat();const l=t[2];gr(l,qx,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof $x&&k_(e.function,Zgt.TDS_AGG)).map(e=>e.parameters).flat().filter(pr(Gx)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new oS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new uS(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));u.values=a.values.map(e=>{try{return $Ui(e,n,i,r)}catch{return new sS(_N(e,i.extensions.plugins))}});const d=new uS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));d.values=l.values.map(e=>qUi(e,n,i,r));const h=RY([o,u,d,t[3].accept_ValueSpecificationVisitor(new xY(i,r,n))],e,i);return h.genericType=G_.create(new q_(i.resolveType(Ygt.TDS_ROW).value)),h})(e,t,n,i,r);class ZUi extends Vee{constructor(){super(WUi.pureProtocolProcessorPlugin,jUi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(k_(e,Xgt.GET_ALL))return((e,t,n,i,r)=>{const s=NY(e,t,n,i,r),o=s.parametersValues[0];return gr(o,aS,"Can't build getAll() expression: only support getAll() immediately following a class"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,Xgt.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=NY(e,t,n,i,r),o=s.parametersValues[0];return gr(o,aS,"Can't build getAllVersionsInRange() expression: only support getAllVersionsInRange() immediately following a class"),br(3===s.parametersValues.length,"Can't build getAllVersionsInRange() expression: only support getAllVersionsRange() with start and end date"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,Xgt.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=NY(e,t,n,i,r),o=s.parametersValues[0];return gr(o,aS,"Can't build getAllVersions() expression: only support getAllVersions() immediately following a class"),br(1===s.parametersValues.length,"Can't build getAllVersions() expression: only support getAllVersions() with no paremters"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,[Zgt.FILTER,Zgt.TDS_FILTER]))return((e,t,n,i,r)=>{br(2===t.length,"Can't build filter() expression: filter() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));if(s.genericType){const e=t[1];e instanceof Gx&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new oS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=RY([s,t[1].accept_ValueSpecificationVisitor(new xY(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(k_(e,Zgt.EXISTS))return((e,t,n,i,r)=>{br(2===t.length,"Can't build exists() expression: exists() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));s.genericType=fr(s,_S).func.value.genericType;const o=t[1];return o instanceof Gx&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new oS(e.name,T_.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),RY([s,t[1].accept_ValueSpecificationVisitor(new xY(i,r,n))],e,i)})(e,t,n,i,r);if(k_(e,Zgt.WATERMARK))return((e,t,n,i,r)=>{br(2===t.length,"Can't build forWatermark() expression: forWatermark() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof Gx&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new oS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=dr(t[1].accept_ValueSpecificationVisitor(new xY(i,r,n))),l=a.genericType?.value.rawType;br(B_.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=RY([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(k_(e,[Zgt.TDS_PROJECT,Zgt.RELATION_PROJECT]))return KUi(e,t,n,i,r);if(k_(e,[Zgt.TDS_GROUP_BY,Zgt.RELATION_GROUP_BY]))return XUi(e,t,n,i,r);if(k_(e,Zgt.OLAP_GROUPBY))return((e,t,n,i,r)=>{const s=[];br(5===t.length||4===t.length,"Can't build olapGroupBy() expression: olapGroupBy() expects 4 or 5 arguments");let o=0;const a=5===t.length,l=t[o].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(l.genericType,"Can't build olapGroupBy() expression: preceding expression return type is missing"),s.push(l),o++;const c=t[o].accept_ValueSpecificationVisitor(new xY(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new xY(i,r,n));s.push(e),o++}const u=t[o];let d;d=u instanceof $x?fr(u.parameters[1],Gx,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):fr(u,Gx,`Can't build olapGroupBy() expression: olapGroupBy() expects argument ${o+1} to be a lambda`);const h=d.parameters,p=new Set;h.forEach(e=>{if(!p.has(e.name)&&!e.genericType){const t=new oS(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=u.accept_ValueSpecificationVisitor(new xY(i,r,n));s.push(g),o++;const f=t[o].accept_ValueSpecificationVisitor(new xY(i,r,n));s.push(f),o++;const m=RY(s,e,i);return m.genericType=G_.create(new q_(i.resolveType(Ygt.TDS_ROW).value)),m})(e,t,n,i,r);if(k_(e,[Zgt.TODAY,Zgt.FIRST_DAY_OF_QUARTER])){const s=NY(e,t,n,i,r);return s.genericType=G_.create(new q_(B_.STRICTDATE)),s}if(k_(e,Zgt.NOW)){const s=NY(e,t,n,i,r);return s.genericType=G_.create(new q_(B_.DATETIME)),s}if(k_(e,[Zgt.FIRST_DAY_OF_THIS_YEAR,Zgt.FIRST_DAY_OF_YEAR,Zgt.FIRST_DAY_OF_THIS_MONTH,Zgt.FIRST_DAY_OF_MONTH,Zgt.FIRST_DAY_OF_WEEK,Zgt.PREVIOUS_DAY_OF_WEEK,Zgt.ADJUST])){const s=NY(e,t,n,i,r);return s.genericType=G_.create(new q_(B_.DATE)),s}return k_(e,Zgt.RELATION_EXTEND)?((e,t,n,i,r)=>{if(3===t.length){const s=dr(t[0],"Can't build relation extend() expression: preceding expression is missing").accept_ValueSpecificationVisitor(new xY(i,r,n));ur(s.genericType,"Can't build relation extend() expression: preceding expression return type is missing");const o=dr(t[1],"Can't build relation extend() expression: over() expression is missing").accept_ValueSpecificationVisitor(new xY(i,r,n)),a=dr(t[2],"Can't build relation extend() expression: window operator is missing");gr(a,fR,"Can't build relation extend() expression: extend() expects argument #3 to be a ClassInstance");const l=a.value,c=l.colSpecs.flatMap(e=>[e.function1,e.function2]).filter(cr).flatMap(e=>e.parameters);c.forEach(e=>{if(!e.genericType){const t=new oS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const u=new mS(T_.ONE),d=new fS;u.values=[d];const h=s.genericType.value.typeArguments?.[0]?.value.rawType,p=new $_($_.ID);h instanceof $_&&h.columns.forEach(e=>{p.columns.push(e)}),d.colSpecs=l.colSpecs.map(e=>{const t=new pS;if(t.name=e.name,e.function1){const s=fr(e.function1,Gx,"Can't build relation extend() col spec expression: expects function1 to be a lambda"),o=fr(s.accept_ValueSpecificationVisitor(new xY(i,r,n)),wS,"Can't build relation extend() col spec expression: expected function1 to be a lambda");t.function1=o}if(e.function2){const s=fr(e.function2,Gx,"Can't build relation extend() col spec expression: expects function2 to be a lambda"),o=fr(s.accept_ValueSpecificationVisitor(new xY(i,r,n)),wS,"Can't build relation extend() col spec expression: expected aggregation function to be a lambda");t.function2=o}let s;return t.function2?s=_Y(t.function2):t.function1&&(s=_Y(t.function1)),s&&p.columns.push(new W_(e.name,G_.create(new q_(s)))),t});const g=RY([s,o,u],e,i),f=new q_(yY.INSTANCE),m=new q_(p);return f.typeArguments=[G_.create(m)],g.genericType=G_.create(f),g}throw new yi("Can't build relation extend() expression: extend() on non window functions is not yet supported")})(e,t,n,i,r):k_(e,Zgt.RELATION_OVER)?((e,t,n,i,r)=>{br(t.length>=1&&t.length<=2,`Can't build over() expression: over() expects 1-2 arguments, got ${t.length}`);const s=t[0];gr(s,fR,"Can't build over() expression with ColSpecArray: expects argument #1 to be a ClassInstance");const o=fr(s.value,bT,"Can't build over() expression with ColSpecArray: expects ClassInstance to hold ColSpecArray"),a=new mS(T_.ONE),l=new fS;a.values=[l],l.colSpecs=o.colSpecs.map(e=>{const t=new pS;return t.name=e.name,t.type=e.type,t});const c=[a];if(t[1]){const e=t[1].accept_ValueSpecificationVisitor(new xY(i,r,n));c.push(e)}return RY(c,e,i)})(e,t,n,i,r):k_(e,Object.values(Zgt))||k_(e,Object.values(Kgt))?NY(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof bS&&k_(e.functionName,N_(Zgt.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof aS)[0]?.genericType?.value.rawType)(e)}]}}class QUi{mapping;runtimes=[]}class JUi{service;executionKeys}class eGi extends UE{}class tGi extends eGi{constructor(e){super(e),this.graphManager=fr(e,Z3)}getSupportedProtocolVersion(){return EG.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===fU||e.content._type===iR),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(pr(wI))).flat(),o=new PY(e,e,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();s.forEach(e=>{const t=r.find(t=>t.path===e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof qP)return new bW(t,o.resolveMapping(yr(e.includedMapping,"Mapping include path is missing or empty")))}).filter(cr))});const a=[...e.ownRuntimes,...e.dependencyManager.runtimes],l=i.map(e=>e.data.elements.filter(pr(NT))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new Lj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw bi(e),e instanceof AG?e:new AG(e)}}async surveyMappingRuntimeCompatibility(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1}),r=await this.graphManager.indexLightGraph(i,e,t,e=>[exports.CORE_PURE_PATH.MAPPING,exports.CORE_PURE_PATH.RUNTIME].includes(e.classifierPath),e=>(e.classifierPath===exports.CORE_PURE_PATH.MAPPING?e.content={_type:e.content._type,name:e.content.name,package:e.content.package,includes:e.content.includes}:e.classifierPath===exports.CORE_PURE_PATH.RUNTIME&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,runtimeValue:{mappings:e.content.runtimeValue?.mappings}}),e)),s=new PY(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(pr(wI))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof qP)return new bW(t,s.resolveMapping(yr(e.includedMapping,"Mapping include path is missing or empty")))}).filter(cr))}),r.map(e=>e.data.elements.filter(pr(NT))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new Lj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new QUi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...vq(e.value)]).flat().includes(e)),n.push(t)}),n}async surveyServiceExecution(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1});return(await this.graphManager.indexLightGraph(i,e,t,e=>e.classifierPath===exports.CORE_PURE_PATH.SERVICE,e=>(e.classifierPath===exports.CORE_PURE_PATH.SERVICE&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,execution:e.content.execution}),e))).map(e=>e.data.elements.filter(pr(_k))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new JUi;i.service=t,e.execution instanceof bk&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const nGi=e=>new tGi(e);class iGi extends Lee{constructor(){super(WUi.pureGraphManagerPlugin,jUi)}getExtraPureGraphManagerExtensionBuilders(){return[nGi]}getExtraExposedSystemElementPath(){return[Ygt.TDS_TABULAR_DATASET,Ygt.TDS_ROW,Ygt.TDS_COLUMN]}}class rGi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;NonProductionFeatureFlag=!1;static serialization=new Yv(Iv(rGi,{TEMPORARY__disableQueryBuilderChat:Wv(Dv()),TEMPORARY__enableExportToCube:Wv(Dv()),TEMPORARY__enableGridEnterpriseMode:Wv(Dv()),legendAIServiceURL:Wv(Dv()),legendMCPServiceURL:Wv(Dv()),zipkinTraceBaseURL:Wv(Dv()),enableTypedTDS:Wv(Dv()),NonProductionFeatureFlag:Wv(Dv())}))}const sGi=e=>{let t=e;for(;t instanceof _S;)for(t=dr(t.parametersValues[0]);t instanceof bS&&k_(t.functionName,Zgt.SUBTYPE);)t=dr(t.parametersValues[0]);return fr(t,oS)},oGi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(k_(e.functionName,[Zgt.AND,Zgt.OR])){const r=new KFi(n,RFi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=fr(i,YFi).lambdaParameterName),e.parametersValues.forEach(e=>oGi(fr(e,bS,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!k_(e.functionName,[Zgt.EXISTS])){const n=e.parametersValues[0];if(n instanceof _S){const e=n.parametersValues[0];e instanceof _S&&Tft(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=_i(()=>n.buildFilterConditionState(t,e));if(r){let n;if(r.sourceState instanceof WFi){const t=e.parametersValues[0];n=fr(t instanceof yS?t.parametersValues[0]:void 0,oS,"Can't process filter expression: relation column filter must reference a variable").name}else n=sGi(r.propertyExpressionState.propertyExpression).name;const s=i instanceof YFi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return br(s===n,`Can't process ${N_(r.operator.getLabel())}() expression: expects variable used in lambda body '${n}' to match lambda parameter '${s}'`),void t.addNodeFromNode(new QFi(void 0,r),i)}}throw new yi("Can't process filter() expression: no compatible filter operator processer available from plugins")}{const r=fr(e.parametersValues[0],_S);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new XFi(t,n),o=fr(e.parametersValues[1],wS,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=fr(o.values[0],SS),l=fr(a.expressionSequence[0],bS);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),oGi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;k_(s.functionName,Zgt.EXISTS);){const e=dr(fr(s.parametersValues[1],wS).values[0],"Can't process exists() expression: exists() lambda is missing");if(br(1===e.expressionSequence.length,"Can't process exists() expression: exists() lambda body should hold an expression"),s=fr(e.expressionSequence[0],bS,"Can't process exists() expression: exists() lambda body should hold an expression"),br(1===e.functionType.parameters.length,"Can't process exists() expression: exists() lambda should have 1 parameter"),i.push(fr(e.functionType.parameters[0],oS,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof _S)||void 0===s.parametersValues[0].func.value.multiplicity.upperBound||s.parametersValues[0].func.value.multiplicity.upperBound>1)break;r.push(s.parametersValues[0])}const o=fr(e.parametersValues[0],_S);let a=new _S("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof _S||n instanceof bS&&k_(n.functionName,Zgt.SUBTYPE);){if(n instanceof bS){const e=new bS(N_(Zgt.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof _S){const e=new _S("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=dr(n.parametersValues[0])}br(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(a),a=fr(t[0],_S,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof bS&&e.parametersValues[0]instanceof _S)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof _S)e.parametersValues[0]=dr(a.parametersValues[0]);else if(e instanceof oS)return a;return e}),oGi(s,t,n)}}}},aGi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];gr(i,wS,"Can't process filter() expression: filter() expects argument #1 to be a lambda function");const r=dr(i.values[0],"Can't process filter() lambda: filter() lambda function is missing");br(1===r.expressionSequence.length,"Can't process filter() lambda: only support filter() lambda body with 1 expression");const s=fr(r.expressionSequence[0],bS,"Can't process filter() lambda: only support filter() lambda body with 1 expression");br(1===r.functionType.parameters.length,"Can't process filter() lambda: only support filter() lambda with 1 parameter"),n.setLambdaParameterName(fr(r.functionType.parameters[0],oS,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),oGi(s,n,void 0),n.simplifyTree()};class lGi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){hd(this,{hashCode:kc}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof AS)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof TS)return this.tree.class.value;throw new yi("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return mv([Ift.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",mv(this.childrenIds)])}}const cGi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${Wb}${n.path}`:""}`,uGi=(e,t,n)=>{gr(e,AS,"Graph fetch sub-tree must be a property graph fetch tree");const i=e.property.value,r=e.subType?.value,s=t?.id,o=new lGi(cGi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=uGi(e,o,n);jr(o.childrenIds,t.id),n.set(t.id,t)}),o},dGi=(e,t,n)=>{const i=t?.id,r=new lGi((s=e.class.valueForSerialization??"")?`${Wb}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=uGi(e,r,n);jr(r.childrenIds,t.id),n.set(t.id,t)}),r},hGi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=dGi(e,void 0,i);jr(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=uGi(e,void 0,i);jr(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},pGi=e=>0===e.tree.subTrees.length,gGi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof AS&&t.type instanceof Y_&&0===t.childrenIds.length||t.tree instanceof AS&&!(t.type instanceof Y_)&&t.parentId&&!e.nodes.has(t.parentId)),fGi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?($r(n.childrenIds,t.id),fft(n.tree,t.tree)):($r(e.rootIds,t.id),fft(e.tree,t.tree)),e.nodes.delete(t.id)},mGi=(e,t)=>{fGi(e,t),(e=>{let t=gGi(e);for(;t.length;)t.forEach(t=>{fGi(e,t)}),t=gGi(e)})(e)},vGi=(e,t,n,i)=>{const r=[new AS(pC.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof kUi||l instanceof OUi;){let e,n=!1;for(;l instanceof OUi;)n||(e=__.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof kUi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof Y_&&(e=__.create(l.type)),!(l instanceof kUi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new AS(pC.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=cGi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=uGi(a,o,e.nodes);e.nodes.set(t.id,t),o?(jr(o.childrenIds,t.id),gft(o.tree,t.tree,i.observerContext)):(jr(e.rootIds,t.id),gft(e.tree,t.tree,i.observerContext))}},yGi=(e,t,n)=>{const i=e.queryBuilderState,r=dr(t.expressionSequence[0],"Can't build graph-fetch tree expression: preceding expression is not defined"),s=e.serializationState;if(s instanceof EGi){if(e.treeData&&!pGi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(Ygt.SERIALIZE_CONFIG),i=new bS(N_(exports.SUPPORTED_FUNCTIONS.NEW)),r=new aS(T_.ONE,void 0);r.values[0]=__.create(n);const s=new lS(G_.create(new q_(B_.STRING)));s.values=[""];const o=new uS(T_.ONE,void 0);return n.properties.forEach(t=>{const n=Object.getOwnPropertyNames(e).find(e=>e===t.name);if(n&&void 0!==e[n]){const i=new hS,r=new lS(G_.create(new q_(B_.STRING)));r.values=[n];const s=new lS(G_.create(new q_(t.genericType.value.rawType)));s.values=[e[n]];const a=new dS(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new T_(o.values.length,o.values.length),i.parametersValues=[r,s,o],i})(s.config,e.queryBuilderState.graphManagerState.graph):void 0,i=((e,t,n,i)=>{const r=new NS;r.values=[e];const s=new bS(N_(Zgt.SERIALIZE)),o=new bS(N_(t?Zgt.GRAPH_FETCH_CHECKED:Zgt.GRAPH_FETCH));return o.parametersValues=[n,r],s.parametersValues=[o,r],i&&s.parametersValues.push(i),s})(e.treeData.tree,e.isChecked,r,n);t.expressionSequence[0]=i}}else{if(!(s instanceof xGi))throw new yi(`Unsupported serialization state ${s.getLabel()}`);{const n=new bS(N_(Zgt.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!pGi(i)&&!pGi(o)){const a=new NS;a.values=[i.tree];const l=new bS(e.isChecked?N_(Zgt.GRAPH_FETCH_CHECKED):N_(Zgt.GRAPH_FETCH));l.parametersValues=[r,a];const c=new aS(T_.ONE,void 0);c.values=[__.create(s.targetBinding)];const u=new NS;u.values=[o.tree],n.parametersValues=[l,c,u],t.expressionSequence[0]=n}}}n?.isBuildingExecutionQuery&&((e,t)=>{if(!t)return e;if(1===e.expressionSequence.length){const n=e.expressionSequence[0];if(n instanceof bS&&k_(n.functionName,Zgt.SERIALIZE)){const i=new lS(G_.create(new q_(B_.INTEGER)));i.values=[t];const r=new bS(N_(Zgt.TAKE)),s=fr(n.parametersValues[0],bS),o=s.parametersValues[0];return r.parametersValues[0]=o,r.parametersValues[1]=i,s.parametersValues=[r,s.parametersValues[1]],e}}})(t,i.resultState.previewLimit)};var bGi,_Gi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(bGi||(bGi={})),function(e){e.RESULT="RESULT"}(_Gi||(_Gi={}));const CGi="@type";class SGi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=CGi,hd(this,{typeKeyName:Rc,includeType:Rc,includeEnumType:Rc,dateTimeFormat:Rc,removePropertiesWithNullValues:Rc,removePropertiesWithEmptySets:Rc,fullyQualifiedTypePath:Rc,includeObjectReference:Rc,setTypeName:Pu,setIncludeObjectReference:Pu,setDateTimeFormat:Pu,setIncludeType:Pu,setFullyQualifiedTypePath:Pu,setRemovePropertiesWithEmptySets:Pu,setInclueEnumType:Pu,setRemovePropertiesWithNullValues:Pu})}static createDefault(){const e=new SGi;return e.typeKeyName=CGi,e.includeType=!0,e.includeEnumType=!0,e.removePropertiesWithNullValues=!0,e.removePropertiesWithEmptySets=!1,e.fullyQualifiedTypePath=!0,e}setDateTimeFormat(e){this.dateTimeFormat=e}setTypeName(e){this.typeKeyName=e}setIncludeType(e){this.includeType=e}setInclueEnumType(e){this.includeEnumType=e}setRemovePropertiesWithNullValues(e){this.removePropertiesWithNullValues=e}setRemovePropertiesWithEmptySets(e){this.removePropertiesWithEmptySets=e}setFullyQualifiedTypePath(e){this.fullyQualifiedTypePath=e}setIncludeObjectReference(e){this.includeObjectReference=e}}class wGi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class EGi extends wGi{config;configModal=!1;constructor(e){super(e),hd(this,{config:Rc,configModal:Rc,setConfigModal:Pu})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return bGi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class xGi extends wGi{targetBinding;treeData;constructor(e,t,n){super(e),hd(this,{targetBinding:Rc,treeData:Rc.ref,serializationContentType:kc,setGraphFetchTree:Pu}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(vGi(this.treeData,this.queryBuilderGraphFetchTreeState.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderGraphFetchTreeState.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderGraphFetchTreeState.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}getLabel(){return bGi.EXTERNAL_FORMAT}get serializationContentType(){const e=this.targetBinding.contentType;return Object.values(exports.ContentType).includes(e)?e:"application/x.flatdata"===e?exports.ContentType.TEXT_CSV:exports.ContentType.TEXT_PLAIN}}class TGi extends SFi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),hd(this,{treeData:Rc.ref,isChecked:Rc,serializationState:Rc,TEMPORARY__showPostFetchStructurePanel:kc,setGraphFetchTree:Pu,setSerializationState:Pu,setChecked:Pu,initialize:Pu,checkBeforeChangingImplementation:Pu}),this.updateTreeData(this.queryBuilderState.sourceClass),this.serializationState=new EGi(this)}get type(){return CFi.GRAPH_FETCH}get fetchLabel(){return"Class Properties"}get canBeExportedToCube(){return!1}get usedExplorerTreePropertyNodeIDs(){if(!this.treeData)return[];const e=new Map,t=[],n=this.treeData.rootIds.slice();for(;n.length;){const i=dr(n[0]),r=this.treeData.nodes.get(i);if(!r)continue;let s;const o=r.parentId?dr(e.get(r.parentId)):"";let a="";r.tree instanceof TS?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof AS&&(a=r.tree.property.value.name);const l=RUi(o,a);t.push(l),r.tree instanceof AS&&r.tree.subType?(s=NUi(l,r.tree.subType.value.path),$w(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(NUi(l,e.path)))):s=l,e.set(r.id,s),n.shift(),r.childrenIds.forEach(e=>n.push(e))}return Array.from(new Set(t).values())}get fetchStructureValidationIssues(){return[]}get allValidationIssues(){return[]}initialize(){this.queryBuilderState.filterState.setShowPanel(!0)}setSerializationState(e){this.serializationState=e}setGraphFetchTree(e){this.treeData=e}setChecked(e){this.isChecked=e}updateTreeData(e){this.setGraphFetchTree(e?hGi(new TS(__.create(e))):void 0)}get exportDataFormatOptions(){return[_Gi.RESULT]}getExportDataInfo(e){if(e===_Gi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new yi(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(){this.updateTreeData(this.queryBuilderState.sourceClass)}appendFetchStructure(e,t){yGi(this,e,t)}addProperty(e,t){this.treeData?(vGi(this.treeData,this.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}revealCompilationError(e){return!1}clearCompilationError(){}fetchProperty(e){this.addProperty(e,{refreshTreeData:!0}),this.serializationState instanceof xGi&&this.serializationState.addProperty(mn(e),{refreshTreeData:!0})}fetchProperties(e){this.treeData?(e.forEach(e=>this.addProperty(e)),this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}checkBeforeChangingImplementation(e){this.treeData?.rootIds.length?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to projection mode. Do you still want to proceed?",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Apt.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof AS)return t.tree.parameters.find(t=>Rft(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return mv([Ift.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const AGi=(e,t)=>()=>{t.implementation.type!==e&&(Ggt.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class RGi{queryBuilderState;implementation;constructor(e){hd(this,{implementation:Rc,changeImplementation:Pu,initializeWithQuery:Pu}),this.queryBuilderState=e,this.implementation=new DVi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case CFi.TABULAR_DATA_STRUCTURE:this.implementation=new DVi(this.queryBuilderState,this);break;case CFi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new TGi(this.queryBuilderState,this);break;default:throw new yi(`Can't change fetch-structure implementation to unsupported type: '${e}'`)}this.implementation.initialize()}initializeWithQuery(){this.implementation.initializeWithQuery()}fetchProperty(e){e instanceof kUi&&!(e.type instanceof Y_)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof Y_&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(kUi)).filter(e=>!(e.type instanceof Y_)&&e.mappingData.mapped))}}class NGi{lambda;constructor(e){this.lambda=e,hd(this,{lambda:Rc,setLambda:Pu})}setLambda(e){this.lambda=e}}var IGi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(IGi||(IGi={}));class DGi extends ZPi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=Py.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),hd(this,{rawLambdaState:Rc,isConvertingLambdaToString:Rc,mode:Rc,isReadOnly:Rc,setQueryRawLambdaState:Pu,setIsReadOnly:Pu,setMode:Pu,openModal:Pu,closeModal:Ju}),this.queryBuilderState=e,this.rawLambdaState=new NGi(ej())}get lambdaId(){return qee(["query-builder"])}get text(){return this.mode===IGi.TEXT?this.fullLambdaString:this.mode===IGi.JSON?this.readOnlylambdaJson:void 0}setQueryRawLambdaState(e){this.rawLambdaState=e}setIsReadOnly(e){this.isReadOnly=e}setMode(e){this.mode=e}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=ej();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId,{pruneSourceInformation:!1});this.setParserError(void 0),this.rawLambdaState.setLambda(e)}catch(e){bi(e),e instanceof wZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}else this.clearErrors(),this.rawLambdaState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.rawLambdaState.lambda.body){this.isConvertingLambdaToString=!0;try{const t=new Map;t.set(this.lambdaId,new nS(this.rawLambdaState.lambda.parameters,this.rawLambdaState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors(),this.isConvertingLambdaToString=!1}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===IGi.TEXT&&this.setQueryRawLambdaState(new NGi(n)),e===IGi.JSON&&this.setLambdaJson(JSON.stringify(F_(this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(n)),null,2)),this.setMode(e),this.setIsReadOnly(t)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}*closeModal(){if(this.closingQueryState.inProgress(),this.mode===IGi.TEXT&&!this.isReadOnly)return yield this.convertLambdaGrammarStringToObject(),void(this.parserError?this.queryBuilderState.applicationStore.notificationService.notifyError(`Can't parse query. Please fix error before closing: ${this.parserError.message}`):(this.queryBuilderState.rebuildWithQuery(this.rawLambdaState.lambda,{preserveParameterValues:!0,preserveResult:!0}),this.setMode(void 0)));this.setIsReadOnly(void 0),this.closingQueryState.complete(),this.setMode(void 0)}}const kGi=Lse(e=>{const{resultType:t}=e;let n="";return t.type instanceof C_&&(n=t.type.input??""),""===n?Une.jsx(Une.Fragment,{}):Une.jsxs("div",{className:"query-builder__result__container",children:[Une.jsx(XPe,{className:"query-builder__result__container__item__data-type",children:Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),Une.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),Une.jsx(QPe,{})]})}),OGi=Lse(e=>{const{resultType:t}=e;return Une.jsxs("div",{className:"query-builder__result__container",children:[Une.jsx(XPe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__result__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Label"}),Une.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),Une.jsx("tbody",{children:t.tdsColumns.map(e=>Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:e.name}),Une.jsx("td",{className:"table__cell--left",children:e.type instanceof C_&&(e.type.input??"")})]},e.name))})]}),Une.jsx(QPe,{})]})}),LGi=Lse(e=>{const{resultType:t}=e;return Une.jsxs("div",{className:"query-builder__result__container",children:[Une.jsxs(XPe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),Une.jsx("tbody",{children:t.propertiesWithParameters.map(e=>Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:e.property}),Une.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),Une.jsx(QPe,{})]})}),MGi=Lse(e=>{const{resultType:t}=e;return t instanceof a1?Une.jsx(kGi,{resultType:t}):t instanceof l1?Une.jsx(OGi,{resultType:t}):t instanceof G1?Une.jsx(LGi,{resultType:t}):null}),PGi=e=>{e.dispose(),e.getModel()?.dispose()},FGi=e=>{const{inputValue:t,updateInput:i,lightTheme:r,language:s,isReadOnly:o,hideMinimap:a,hideGutter:l,hidePadding:c,hideActionBar:u,lineToScroll:d,extraEditorOptions:h,error:p}=e,g=Wht(),[f,m]=n.useState(),[v,y]=n.useState(!1),b=n.useRef(void 0),_=fkn(t),C=n.useRef(null);if(n.useEffect(()=>{if(!f&&C.current){const e=C.current,t=vun.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:g.layoutService.TEMPORARY__isLightColorThemeEnabled?r??tkn.BUILT_IN__VSCODE_LIGHT:tkn.DEFAULT_DARK,glyphMargin:!c,padding:c?{top:0,bottom:0}:{top:20,bottom:20},formatOnType:!0,formatOnPaste:!0});m(t)}},[g,r,c,f]),n.useEffect(()=>{if(f){mkn(f);const e=f.getModel();e&&vun.setModelLanguage(e,s)}},[f,s]),n.useEffect(()=>{f&&void 0!==d&&f.revealLineInCenter(d)},[f,d]),f){b.current?.dispose(),b.current=f.onDidChangeModelContent(()=>{const e=dkn(f);e!==_&&i?.(e)});dkn(f)!==_&&f.setValue(_),f.updateOptions({readOnly:Boolean(o),minimap:{enabled:!a},...l?{glyphMargin:!c,folding:!1,lineNumbers:"off",lineDecorationsWidth:0}:{},...h??{}});const e=f.getModel();e?.updateOptions({tabSize:2}),e&&(p?.sourceInformation?pkn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):gkn())}return n.useEffect(()=>()=>{f&&(PGi(f),b.current?.dispose())},[f]),Une.jsxs("div",{className:"code-editor",children:[!u&&Une.jsx("div",{className:"code-editor__header",children:Une.jsx("button",{tabIndex:-1,className:Bse("code-editor__header__action",{"code-editor__header__action--active":v}),onClick:()=>{const e=!v;y(e),f?.updateOptions({wordWrap:e?"on":"off"})},title:`[${v?"on":"off"}] Toggle word wrap`,children:Une.jsx(Cie,{})})}),Une.jsx("div",{className:Bse("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!u}),children:Une.jsx("div",{className:"code-editor__body",ref:C})})]})},BGi=Lse(e=>{const{from:t,to:i,language:r}=e,s=Wht(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",u=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=vun.createDiffEditor(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:s.layoutService.TEMPORARY__isLightColorThemeEnabled?tkn.BUILT_IN__VSCODE_LIGHT:tkn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=vun.createModel(c,r),t=vun.createModel(u,r);o.setModel({original:e,modified:t})}return n.useEffect(()=>()=>{o&&(e=>{e.dispose(),e.getOriginalEditor().getModel()?.dispose(),e.getModifiedEditor().getModel()?.dispose()})(o)},[o]),Une.jsx("div",{className:"code-editor__container",children:Une.jsx("div",{className:"code-editor__body",ref:l})})}),VGi=(e,t)=>e?_r(e)?t?_m(e):((e,t=2)=>{try{return JSON.stringify(JSON.parse(e),void 0,t)}catch{return e}})(e):t?bm(e,void 0,2):JSON.stringify(e,void 0,2):"",UGi=Lse(e=>{const{from:t,to:n,lossless:i}=e;return Une.jsx(BGi,{language:vkn.JSON,from:VGi(t,Boolean(i)),to:VGi(n,Boolean(i))})});var GGi,HGi={exports:{}},zGi=HGi.exports;var jGi=(GGi||(GGi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(zGi,function(){function e(t,n,i){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=i,this}function t(e,t,n,i){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=i,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function i(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}function r(){this.reset("")}function s(e,t,s){if(e instanceof i){var o=e;s=t}else o=i.fromCompiled(e,t);for(var a in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new r},s||{})this.options[a]=s[a];this.lexer=this.options.lexer,this.lexerState=void 0;var l=new n(o,0);this.table=[l],l.wants[o.start]=[],l.predict(o.start),l.process(),this.current=0}function o(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do{e.push(t.right.data),t=t.left}while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,i=this.completed,r=0;r<t.length;r++){var o=t[r];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var a=o.wantedBy,l=a.length;l--;){var c=a[l];this.complete(c,o)}if(o.reference===this.index){var u=o.rule.name;(this.completed[u]=this.completed[u]||[]).push(o)}}}else{if("string"!=typeof(u=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(n[u]){if(n[u].push(o),i.hasOwnProperty(u)){var d=i[u];for(l=0;l<d.length;l++){var h=d[l];this.complete(o,h)}}}else n[u]=[o],this.predict(u)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],i=0;i<n.length;i++){var r=n[i],s=this.wants[e],o=new t(r,0,this.index,s);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)},i.fromCompiled=function(t,n){var r=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules),t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)});var s=new i(t,n);return s.lexer=r,s},r.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},r.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},r.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},r.prototype.formatError=function(e,t){var n=this.buffer;if("string"==typeof n){var i=n.split("\n").slice(Math.max(0,this.line-5),this.line),r=n.indexOf("\n",this.index);-1===r&&(r=n.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return t+=" at line "+this.line+" col "+s+":\n\n",t+=i.map(function(e,t){return a(this.line-i.length+t+1,o)+" "+e},this).join("\n"),t+="\n"+a("",o+s)+"^\n"}return t+" at index "+(this.index-1);function a(e,t){var n=String(e);return Array(t-n.length+1).join(" ")+n}},s.fail={},s.prototype.feed=function(e){var t,i=this.lexer;for(i.reset(e,this.lexerState);;){try{if(!(t=i.next()))break}catch(e){var s=new n(this.grammar,this.current+1);throw this.table.push(s),(l=new Error(this.reportLexerError(e))).offset=this.current,l.token=e.token,l}var o=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;s=new n(this.grammar,a),this.table.push(s);for(var l,c=void 0!==t.text?t.text:t.value,u=i.constructor===r?t.value:t,d=o.scannable,h=d.length;h--;){var p=d[h],g=p.rule.symbols[p.dot];if(g.test?g.test(u):g.type?g.type===t.type:g.literal===c){var f=p.nextState({data:u,token:t,isToken:!0,reference:a-1});s.states.push(f)}}if(s.process(),0===s.states.length)throw(l=new Error(this.reportError(t))).offset=this.current,l.token=t,l;this.options.keepHistory&&(o.lexerState=i.save()),this.current++}return o&&(this.lexerState=i.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(e){var t,n,i=e.token;return i?(t="input "+JSON.stringify(i.text[0])+" (lexer error)",n=this.lexer.formatError(i,"Syntax error")):(t="input (lexer error)",n=e.message),this.reportErrorCommon(n,t)},s.prototype.reportError=function(e){var t=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),n=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(n,t)},s.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var i=this.table.length-2,r=this.table[i],s=r.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&"string"!=typeof t});if(0===s.length)n.push("Unexpected "+t+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(r.states,n);else{n.push("Unexpected "+t+". Instead, I was expecting to see one of the following:\n");var o=s.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this);o.forEach(function(e){var t=e[0],i=t.rule.symbols[t.dot],r=this.getSymbolDisplay(i);n.push("A "+r+" based on:"),this.displayStateStack(e,n)},this)}return n.push(""),n.join("\n")},s.prototype.displayStateStack=function(e,t){for(var n,i=0,r=0;r<e.length;r++){var s=e[r],o=s.rule.toString(s.dot);o===n?i++:(i>0&&t.push(" ^ "+i+" more lines identical to this"),i=0,t.push(" "+o)),n=o}},s.prototype.getSymbolDisplay=function(e){return function(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},s.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],i=[e].concat(t),r=this.buildFirstStateStack(n,i);return null===r?null:[e].concat(r)},s.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},s.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},s.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},s.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==s.fail&&e.push(n)}),e.map(function(e){return e.data})},{Parser:s,Grammar:i,Rule:e}})}(HGi)),HGi.exports),WGi=Si(jGi),$Gi=Object.defineProperty,qGi=Object.defineProperties,YGi=Object.getOwnPropertyDescriptors,KGi=Object.getOwnPropertySymbols,XGi=Object.prototype.hasOwnProperty,ZGi=Object.prototype.propertyIsEnumerable,QGi=(e,t,n)=>t in e?$Gi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,JGi=(e,t)=>{for(var n in t||(t={}))XGi.call(t,n)&&QGi(e,n,t[n]);if(KGi)for(var n of KGi(t))ZGi.call(t,n)&&QGi(e,n,t[n]);return e},eHi=(e,t)=>qGi(e,YGi(t)),tHi={};((e,t)=>{for(var n in t)$Gi(e,n,{get:t[n],enumerable:!0})})(tHi,{bigquery:()=>THi,db2:()=>PHi,db2i:()=>jHi,hive:()=>QHi,mariadb:()=>azi,mysql:()=>fzi,n1ql:()=>Izi,plsql:()=>Bzi,postgresql:()=>$zi,redshift:()=>eji,singlestoredb:()=>Yji,snowflake:()=>nWi,spark:()=>lji,sql:()=>Eji,sqlite:()=>mji,tidb:()=>wzi,transactsql:()=>Uji,trino:()=>kji});var nHi=e=>e.flatMap(iHi),iHi=e=>dHi(sHi(e)).map(rHi),rHi=e=>e.replace(/ +/g," ").trim(),sHi=e=>({type:"mandatory_block",items:oHi(e,0)[0]}),oHi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=aHi(e,t);if(i.push(r),"|"!==e[t=s]){if("}"===e[t]||"]"===e[t]){if(n!==e[t])throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,++t]}if(t===e.length){if(n)throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,t]}throw new Error(`Unexpected "${e[t]}"`)}t++}return[i,t]},aHi=(e,t)=>{const n=[];for(;;){const[i,r]=lHi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},lHi=(e,t)=>{if("{"===e[t])return cHi(e,t+1);if("["===e[t])return uHi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},cHi=(e,t)=>{const[n,i]=oHi(e,t,"}");return[{type:"mandatory_block",items:n},i]},uHi=(e,t)=>{const[n,i]=oHi(e,t,"]");return[{type:"optional_block",items:n},i]},dHi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(dHi).reduce(hHi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(dHi);if("optional_block"===e.type)return["",...e.items.flatMap(dHi)];throw new Error(`Unknown node type: ${e}`)},hHi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},pHi=(e=>(e.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",e.IDENTIFIER="IDENTIFIER",e.STRING="STRING",e.VARIABLE="VARIABLE",e.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",e.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",e.RESERVED_KEYWORD="RESERVED_KEYWORD",e.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",e.RESERVED_PHRASE="RESERVED_PHRASE",e.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",e.RESERVED_CLAUSE="RESERVED_CLAUSE",e.RESERVED_SELECT="RESERVED_SELECT",e.RESERVED_JOIN="RESERVED_JOIN",e.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",e.ARRAY_KEYWORD="ARRAY_KEYWORD",e.CASE="CASE",e.END="END",e.WHEN="WHEN",e.ELSE="ELSE",e.THEN="THEN",e.LIMIT="LIMIT",e.BETWEEN="BETWEEN",e.AND="AND",e.OR="OR",e.XOR="XOR",e.OPERATOR="OPERATOR",e.COMMA="COMMA",e.ASTERISK="ASTERISK",e.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",e.OPEN_PAREN="OPEN_PAREN",e.CLOSE_PAREN="CLOSE_PAREN",e.LINE_COMMENT="LINE_COMMENT",e.BLOCK_COMMENT="BLOCK_COMMENT",e.DISABLE_COMMENT="DISABLE_COMMENT",e.NUMBER="NUMBER",e.NAMED_PARAMETER="NAMED_PARAMETER",e.QUOTED_PARAMETER="QUOTED_PARAMETER",e.NUMBERED_PARAMETER="NUMBERED_PARAMETER",e.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",e.CUSTOM_PARAMETER="CUSTOM_PARAMETER",e.DELIMITER="DELIMITER",e.EOF="EOF",e))(pHi||{}),gHi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),fHi=gHi(1/0),mHi=e=>t=>t.type===e.type&&t.text===e.text,vHi={ARRAY:mHi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:mHi({text:"BY",type:"RESERVED_KEYWORD"}),SET:mHi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:mHi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:mHi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:mHi({text:"VALUES",type:"RESERVED_CLAUSE"})},yHi=e=>"RESERVED_DATA_TYPE"===e||"RESERVED_KEYWORD"===e||"RESERVED_FUNCTION_NAME"===e||"RESERVED_PHRASE"===e||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"ARRAY_KEYWORD"===e||"CASE"===e||"END"===e||"WHEN"===e||"ELSE"===e||"THEN"===e||"LIMIT"===e||"BETWEEN"===e||"AND"===e||"OR"===e||"XOR"===e,bHi=nHi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),_Hi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),CHi=nHi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),SHi=nHi(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"]),wHi=nHi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),EHi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),xHi=nHi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),THi={name:"bigquery",tokenizerOptions:{reservedSelect:bHi,reservedClauses:[..._Hi,...SHi,...CHi],reservedSetOperations:wHi,reservedJoins:EHi,reservedPhrases:xHi,reservedKeywords:["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],reservedDataTypes:["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],reservedFunctionNames:["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH","ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP","ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING","ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:function(e){return function(e){let t=fHi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,eHi(JGi({},e),{type:"RESERVED_FUNCTION_NAME"})):(t=e,e))}(function(e){var t;const n=[];for(let i=0;i<e.length;i++){const r=e[i];if((vHi.ARRAY(r)||vHi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=RHi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(AHi("raw")).join(""),text:s.map(AHi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...CHi,...SHi],tabularOnelineClauses:SHi}};var AHi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function RHi(e,t){let n=0;for(let i=t;i<e.length;i++){const t=e[i];if("<"===t.text?n++:">"===t.text?n--:">>"===t.text&&(n-=2),0===n)return i}return e.length-1}var NHi=nHi(["SELECT [ALL | DISTINCT]"]),IHi=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),DHi=nHi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),kHi=nHi(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),OHi=nHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),LHi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),MHi=nHi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),PHi={name:"db2",tokenizerOptions:{reservedSelect:NHi,reservedClauses:[...IHi,...DHi,...kHi],reservedSetOperations:OHi,reservedJoins:LHi,reservedPhrases:MHi,reservedKeywords:["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],reservedFunctionNames:["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...DHi,...kHi],tabularOnelineClauses:kHi}},FHi=nHi(["SELECT [ALL | DISTINCT]"]),BHi=nHi(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),VHi=nHi(["CREATE [OR REPLACE] TABLE"]),UHi=nHi(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),GHi=nHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),HHi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),zHi=nHi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),jHi={name:"db2i",tokenizerOptions:{reservedSelect:FHi,reservedClauses:[...BHi,...VHi,...UHi],reservedSetOperations:GHi,reservedJoins:HHi,reservedPhrases:zHi,reservedKeywords:["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],reservedFunctionNames:["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[...VHi,...UHi],tabularOnelineClauses:UHi}},WHi=nHi(["SELECT [ALL | DISTINCT]"]),$Hi=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),qHi=nHi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),YHi=nHi(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),KHi=nHi(["UNION [ALL | DISTINCT]"]),XHi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),ZHi=nHi(["{ROWS | RANGE} BETWEEN"]),QHi={name:"hive",tokenizerOptions:{reservedSelect:WHi,reservedClauses:[...$Hi,...qHi,...YHi],reservedSetOperations:KHi,reservedJoins:XHi,reservedPhrases:ZHi,reservedKeywords:["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET","ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...qHi,...YHi],tabularOnelineClauses:YHi}};function JHi(e){return e.map((t,n)=>{const i=e[n+1]||fHi;if(vHi.SET(t)&&"("===i.text)return eHi(JGi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||fHi;return vHi.VALUES(t)&&"="===r.text?eHi(JGi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var ezi=nHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),tzi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),nzi=nHi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),izi=nHi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),rzi=nHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),szi=nHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),ozi=nHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),azi={name:"mariadb",tokenizerOptions:{reservedSelect:ezi,reservedClauses:[...tzi,...nzi,...izi],reservedSetOperations:rzi,reservedJoins:szi,reservedPhrases:ozi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK","COALESCE","NULLIF"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:JHi},formatOptions:{onelineClauses:[...nzi,...izi],tabularOnelineClauses:izi}},lzi=nHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),czi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),uzi=nHi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),dzi=nHi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),hzi=nHi(["UNION [ALL | DISTINCT]"]),pzi=nHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),gzi=nHi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),fzi={name:"mysql",tokenizerOptions:{reservedSelect:lzi,reservedClauses:[...czi,...uzi,...dzi],reservedSetOperations:hzi,reservedJoins:pzi,reservedPhrases:gzi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","EXTRACTVALUE","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLECTION","GEOMETRYCOLLECTION","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","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","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LINESTRING","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRCONTAINS","MBRCOVEREDBY","MBRCOVERS","MBRDISJOINT","MBREQUALS","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","NOT","NOT IN","NOT LIKE","NOT REGEXP","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","POINT","POLYGON","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_BUFFER","ST_BUFFER_STRATEGY","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_CONVEXHULL","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DISTANCE_SPHERE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_FRECHETDISTANCE","ST_GEOHASH","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMGEOJSON","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_HAUSDORFFDISTANCE","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_ISVALID","ST_LATFROMGEOHASH","ST_LATITUDE","ST_LENGTH","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINEINTERPOLATEPOINT","ST_LINEINTERPOLATEPOINTS","ST_LONGFROMGEOHASH","ST_LONGITUDE","ST_MAKEENVELOPE","ST_MLINEFROMTEXT","ST_MLINEFROMWKB","ST_MPOINTFROMTEXT","ST_MPOINTFROMWKB","ST_MPOLYFROMTEXT","ST_MPOLYFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTATDISTANCE","ST_POINTFROMGEOHASH","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SWAPXY","ST_SYMDIFFERENCE","ST_TOUCHES","ST_TRANSFORM","ST_UNION","ST_VALIDATE","ST_WITHIN","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:JHi},formatOptions:{onelineClauses:[...uzi,...dzi],tabularOnelineClauses:dzi}},mzi=nHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),vzi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),yzi=nHi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),bzi=nHi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),_zi=nHi(["UNION [ALL | DISTINCT]"]),Czi=nHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Szi=nHi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),wzi={name:"tidb",tokenizerOptions:{reservedSelect:mzi,reservedClauses:[...vzi,...yzi,...bzi],reservedSetOperations:_zi,reservedJoins:Czi,reservedPhrases:Szi,supportsXor:!0,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","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_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:JHi},formatOptions:{onelineClauses:[...yzi,...bzi],tabularOnelineClauses:bzi}},Ezi=nHi(["SELECT [ALL | DISTINCT]"]),xzi=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),Tzi=nHi(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),Azi=nHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Rzi=nHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),Nzi=nHi(["{ROWS | RANGE | GROUPS} BETWEEN"]),Izi={name:"n1ql",tokenizerOptions:{reservedSelect:Ezi,reservedClauses:[...xzi,...Tzi],reservedSetOperations:Azi,reservedJoins:Rzi,reservedPhrases:Nzi,supportsXor:!0,reservedKeywords:["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],reservedDataTypes:[],reservedFunctionNames:["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR","CAST"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:Tzi}},Dzi=nHi(["SELECT [ALL | DISTINCT | UNIQUE]"]),kzi=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),Ozi=nHi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),Lzi=nHi(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),Mzi=nHi(["UNION [ALL]","MINUS","INTERSECT"]),Pzi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),Fzi=nHi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),Bzi={name:"plsql",tokenizerOptions:{reservedSelect:Dzi,reservedClauses:[...kzi,...Ozi,...Lzi],reservedSetOperations:Mzi,reservedJoins:Pzi,reservedPhrases:Fzi,supportsXor:!0,reservedKeywords:["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],reservedDataTypes:["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:function(e){let t=fHi;return e.map(e=>vHi.SET(e)&&vHi.BY(t)?eHi(JGi({},e),{type:"RESERVED_KEYWORD"}):(yHi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...Ozi,...Lzi],tabularOnelineClauses:Lzi}};var Vzi=nHi(["SELECT [ALL | DISTINCT]"]),Uzi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),Gzi=nHi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),Hzi=nHi(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE INDEX","CREATE LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE RULE","CREATE SCHEMA","CREATE SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE TRANSFORM","CREATE TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),zzi=nHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),jzi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Wzi=nHi(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),$zi={name:"postgresql",tokenizerOptions:{reservedSelect:Vzi,reservedClauses:[...Uzi,...Gzi,...Hzi],reservedSetOperations:zzi,reservedJoins:jzi,reservedPhrases:Wzi,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","VARCHAR","XML","ZONE"],reservedFunctionNames:["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET","ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER","BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY","UUID","CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS","ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION","BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS","PG_MCV_LIST_ITEMS","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...Gzi,...Hzi],tabularOnelineClauses:Hzi}},qzi=nHi(["SELECT [ALL | DISTINCT]"]),Yzi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),Kzi=nHi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),Xzi=nHi(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),Zzi=nHi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),Qzi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Jzi=nHi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),eji={name:"redshift",tokenizerOptions:{reservedSelect:qzi,reservedClauses:[...Yzi,...Kzi,...Xzi],reservedSetOperations:Zzi,reservedJoins:Qzi,reservedPhrases:Jzi,reservedKeywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],reservedDataTypes:["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],reservedFunctionNames:["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC","AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC","EXPLAIN_MODEL","ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER","decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof","AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Kzi,...Xzi],tabularOnelineClauses:Xzi}},tji=nHi(["SELECT [ALL | DISTINCT]"]),nji=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),iji=nHi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),rji=nHi(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),sji=nHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),oji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),aji=nHi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),lji={name:"spark",tokenizerOptions:{reservedSelect:tji,reservedClauses:[...nji,...iji,...rji],reservedSetOperations:sji,reservedJoins:oji,reservedPhrases:aji,supportsXor:!0,reservedKeywords:["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH","CAST","COALESCE","NULLIF"],extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:function(e){return e.map((t,n)=>{const i=e[n-1]||fHi,r=e[n+1]||fHi;return vHi.WINDOW(t)&&"OPEN_PAREN"===r.type?eHi(JGi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:eHi(JGi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...iji,...rji],tabularOnelineClauses:rji}};var cji=nHi(["SELECT [ALL | DISTINCT]"]),uji=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET"]),dji=nHi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),hji=nHi(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),pji=nHi(["UNION [ALL]","EXCEPT","INTERSECT"]),gji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),fji=nHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),mji={name:"sqlite",tokenizerOptions:{reservedSelect:cji,reservedClauses:[...uji,...dji,...hji],reservedSetOperations:pji,reservedJoins:gji,reservedPhrases:fji,reservedKeywords:["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],reservedDataTypes:["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],reservedFunctionNames:["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...dji,...hji],tabularOnelineClauses:hji}},vji=nHi(["SELECT [ALL | DISTINCT]"]),yji=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),bji=nHi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),_ji=nHi(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),Cji=nHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Sji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),wji=nHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),Eji={name:"sql",tokenizerOptions:{reservedSelect:vji,reservedClauses:[...yji,...bji,..._ji],reservedSetOperations:Cji,reservedJoins:Sji,reservedPhrases:wji,reservedKeywords:["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...bji,..._ji],tabularOnelineClauses:_ji}},xji=nHi(["SELECT [ALL | DISTINCT]"]),Tji=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),Aji=nHi(["CREATE TABLE [IF NOT EXISTS]"]),Rji=nHi(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),Nji=nHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Iji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Dji=nHi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),kji={name:"trino",tokenizerOptions:{reservedSelect:xji,reservedClauses:[...Tji,...Aji,...Rji],reservedSetOperations:Nji,reservedJoins:Iji,reservedPhrases:Dji,reservedKeywords:["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],reservedDataTypes:["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],reservedFunctionNames:["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...Aji,...Rji],tabularOnelineClauses:Rji}},Oji=nHi(["SELECT [ALL | DISTINCT]"]),Lji=nHi(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET","CREATE [OR ALTER] {PROC | PROCEDURE}"]),Mji=nHi(["CREATE TABLE"]),Pji=nHi(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","GO","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLLATE","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","FUNCTION","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION FUNCTION","PARTITION SCHEME","PROCEDURE","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),Fji=nHi(["UNION [ALL]","EXCEPT","INTERSECT"]),Bji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),Vji=nHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),Uji={name:"transactsql",tokenizerOptions:{reservedSelect:Oji,reservedClauses:[...Lji,...Mji,...Pji],reservedSetOperations:Fji,reservedJoins:Bji,reservedPhrases:Vji,reservedKeywords:["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],reservedDataTypes:["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST","@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Mji,...Pji],tabularOnelineClauses:Pji}},Gji=nHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Hji=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),zji=nHi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),jji=nHi(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),Wji=nHi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),$ji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),qji=nHi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Yji={name:"singlestoredb",tokenizerOptions:{reservedSelect:Gji,reservedClauses:[...Hji,...zji,...jji],reservedSetOperations:Wji,reservedJoins:$ji,reservedPhrases:qji,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:JHi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...zji,...jji],tabularOnelineClauses:jji}},Kji=nHi(["SELECT [ALL | DISTINCT]"]),Xji=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),Zji=nHi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),Qji=nHi(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),Jji=nHi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),eWi=nHi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),tWi=nHi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),nWi={name:"snowflake",tokenizerOptions:{reservedSelect:Kji,reservedClauses:[...Xji,...Zji,...Qji],reservedSetOperations:Jji,reservedJoins:eWi,reservedPhrases:tWi,reservedKeywords:["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],reservedDataTypes:["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],reservedFunctionNames:["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Zji,...Qji],tabularOnelineClauses:Qji}},iWi=e=>e[e.length-1],rWi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),sWi=e=>e.replace(/\s+/gu," "),oWi=e=>/\n/.test(e),aWi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),lWi=/\s+/uy,cWi=e=>new RegExp(`(?:${e})`,"uy"),uWi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),dWi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return cWi(i.map(aWi).join("|"))},hWi=e=>cWi(`${rWi(e).map(aWi).join("|")}`),pWi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=rWi(e).map(aWi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},gWi=(e,t)=>{if(!e.length)return;const n=e.map(aWi).join("|");return cWi(`(?:${n})(?:${t})`)},fWi={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const e={"<":">","[":"]","(":")","{":"}"},t=Object.entries(e).map(([e,t])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,aWi(e)).replace(/{right}/g,aWi(t))),n=aWi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},mWi=e=>"string"==typeof e?fWi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(uWi).join("|")}${t?"":"|"})`)(e)+fWi[e.quote],vWi=e=>e.map(mWi).join("|"),yWi=e=>cWi(vWi(e)),bWi=(e={})=>cWi(_Wi(e)),_Wi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=aWi(null!=e?e:""),a=aWi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function CWi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var SWi=class{constructor(e,t){this.rules=e,this.dialectName=t,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const t=[];let n;for(;this.index<this.input.length;){const e=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();t.push(eHi(JGi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=CWi(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${n}.\n${this.dialectInfo()}`)}dialectInfo(){return"sql"===this.dialectName?'This likely happens because you\'re using the default "sql" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).':`SQL dialect used: "${this.dialectName}".`}getWhitespace(){lWi.lastIndex=this.index;const e=lWi.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const n=t[0],i={type:e.type,raw:n,text:e.text?e.text(n):n,start:this.index};return e.key&&(i.key=e.key(n)),this.index+=n.length,i}}},wWi=/\/\*/uy,EWi=/[\s\S]/uy,xWi=/\*\//uy,TWi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(wWi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(wWi,e))n+=t,i++;else if(t=this.matchSection(xWi,e))n+=t,i--;else{if(!(t=this.matchSection(EWi,e)))return null;n+=t}return[n]}matchSection(e,t){e.lastIndex=this.lastIndex;const n=e.exec(t);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}},AWi=class{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],i=new SWi(n,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(i):i}buildRulesBeforeParams(e){var t,n,i;return this.validRules([{type:"BLOCK_COMMENT",regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:"BLOCK_COMMENT",regex:e.nestedBlockComments?new TWi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(aWi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:yWi(e.identTypes)},{type:"NUMBER",regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:"RESERVED_PHRASE",regex:pWi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:RWi},{type:"CASE",regex:/CASE\b/iuy,text:RWi},{type:"END",regex:/END\b/iuy,text:RWi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:RWi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:RWi},{type:"RESERVED_CLAUSE",regex:pWi(e.reservedClauses,e.identChars),text:RWi},{type:"RESERVED_SELECT",regex:pWi(e.reservedSelect,e.identChars),text:RWi},{type:"RESERVED_SET_OPERATION",regex:pWi(e.reservedSetOperations,e.identChars),text:RWi},{type:"WHEN",regex:/WHEN\b/iuy,text:RWi},{type:"ELSE",regex:/ELSE\b/iuy,text:RWi},{type:"THEN",regex:/THEN\b/iuy,text:RWi},{type:"RESERVED_JOIN",regex:pWi(e.reservedJoins,e.identChars),text:RWi},{type:"AND",regex:/AND\b/iuy,text:RWi},{type:"OR",regex:/OR\b/iuy,text:RWi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:RWi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:pWi(e.reservedFunctionNames,e.identChars),text:RWi},{type:"RESERVED_DATA_TYPE",regex:pWi(e.reservedDataTypes,e.identChars),text:RWi},{type:"RESERVED_KEYWORD",regex:pWi(e.reservedKeywords,e.identChars),text:RWi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,cWi(i.map(e=>"regex"in e?e.regex:mWi(e)).join("|"))):void 0},{type:"STRING",regex:yWi(e.stringTypes)},{type:"IDENTIFIER",regex:bWi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:dWi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:dWi("close",e.extraParens)},{type:"OPERATOR",regex:hWi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:hWi([".",...null!=(n=e.propertyAccessOperators)?n:[]])}])}buildParamRules(e,t){var n,i,r,s,o;const a={named:(null==t?void 0:t.named)||(null==(n=e.paramTypes)?void 0:n.named)||[],quoted:(null==t?void 0:t.quoted)||(null==(i=e.paramTypes)?void 0:i.quoted)||[],numbered:(null==t?void 0:t.numbered)||(null==(r=e.paramTypes)?void 0:r.numbered)||[],positional:"boolean"==typeof(null==t?void 0:t.positional)?t.positional:null==(s=e.paramTypes)?void 0:s.positional,custom:(null==t?void 0:t.custom)||(null==(o=e.paramTypes)?void 0:o.custom)||[]};return this.validRules([{type:"NAMED_PARAMETER",regex:gWi(a.named,_Wi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:gWi(a.quoted,vWi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(aWi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:gWi(a.numbered,"[0-9]+"),key:e=>e.slice(1)},{type:"POSITIONAL_PARAMETER",regex:a.positional?/[?]/y:void 0},...a.custom.map(e=>{var t;return{type:"CUSTOM_PARAMETER",regex:cWi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},RWi=e=>sWi(e.toUpperCase()),NWi=new Map,IWi=e=>({tokenizer:new AWi(e.tokenizerOptions,e.name),formatOptions:DWi(e.formatOptions)}),DWi=e=>{var t;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(e=>[e,!0])),tabularOnelineClauses:Object.fromEntries((null!=(t=e.tabularOnelineClauses)?t:e.onelineClauses).map(e=>[e,!0]))}};function kWi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var OWi=class{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}};function LWi(e){return e.map(MWi).map(PWi).map(FWi).map(BWi).map(VWi)}var MWi=(e,t,n)=>{if(yHi(e.type)){const i=UWi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return eHi(JGi({},e),{type:"IDENTIFIER",text:e.raw});const r=GWi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return eHi(JGi({},e),{type:"IDENTIFIER",text:e.raw})}return e},PWi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=GWi(n,t);if(!i||!HWi(i))return eHi(JGi({},e),{type:"IDENTIFIER",text:e.raw})}return e},FWi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=GWi(n,t);if(i&&HWi(i))return eHi(JGi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},BWi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=GWi(n,t);if(i&&zWi(i))return eHi(JGi({},e),{type:"ARRAY_IDENTIFIER"})}return e},VWi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=GWi(n,t);if(i&&zWi(i))return eHi(JGi({},e),{type:"ARRAY_KEYWORD"})}return e},UWi=(e,t)=>GWi(e,t,-1),GWi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&jWi(e[t+i*n]);)i++;return e[t+i*n]},HWi=e=>"OPEN_PAREN"===e.type&&"("===e.text,zWi=e=>"OPEN_PAREN"===e.type&&"["===e.text,jWi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,WWi=class{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:t,col:n}=CWi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in pHi}};function $Wi(e){return e[0]}var qWi=new WWi(e=>[]),YWi=([[e]])=>e,KWi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),XWi=e=>({type:"data_type",text:e.text,raw:e.raw}),ZWi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=eHi(JGi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=eHi(JGi({},e),{trailingComments:n})),e),QWi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[ZWi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,ZWi(i,{trailing:n})]}return e},JWi={Lexer:qWi,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const t=e[e.length-1];return t&&!t.hasSemicolon?t.children.length>0?e:e.slice(0,-1):e}},{name:"statement$subexpression$1",symbols:[qWi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[qWi.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:"statement",children:e,hasSemicolon:"DELIMITER"===t.type})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([e,t])=>[...e,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:YWi},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[qWi.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:$Wi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[qWi.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,n,i])=>{if(i){const[r,s]=i;return{type:"limit_clause",limitKw:ZWi(KWi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:ZWi(KWi(e),{trailing:t}),count:n}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[qWi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:KWi(e),children:[t,...n]})},{name:"select_clause",symbols:[qWi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:KWi(e),children:[]})},{name:"all_columns_asterisk",symbols:[qWi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:"all_columns_asterisk"})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"other_clause",symbols:[qWi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:KWi(e),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"set_operation",symbols:[qWi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:KWi(e),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:$Wi},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([e,t])=>ZWi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>ZWi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>ZWi(t,{leading:e})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:YWi},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:YWi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:YWi},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:YWi},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:YWi},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:YWi},{name:"array_subscript",symbols:[qWi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:ZWi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[qWi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:ZWi(KWi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[qWi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:ZWi(KWi(e),{trailing:t}),parenthesis:n})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",qWi.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,t,n,i,[r]])=>({type:"property_access",object:ZWi(e,{trailing:t}),operator:n.text,property:ZWi(r,{leading:i})})},{name:"between_predicate",symbols:[qWi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",qWi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:KWi(e),expr1:QWi(n,{leading:t,trailing:i}),andKw:KWi(r),expr2:[ZWi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:$Wi},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:e=>e[0].concat([e[1]])},{name:"case_expression",symbols:[qWi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",qWi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:ZWi(KWi(e),{trailing:t}),endKw:KWi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[qWi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",qWi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:ZWi(KWi(e),{trailing:t}),thenKw:ZWi(KWi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[qWi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:ZWi(KWi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[qWi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[qWi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[qWi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[qWi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[qWi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[qWi.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:"identifier",quoted:"IDENTIFIER"!==e.type,text:e.text})},{name:"parameter$subexpression$1",symbols:[qWi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[qWi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[qWi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[qWi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[qWi.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:"parameter",key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[qWi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[qWi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[qWi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[qWi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[qWi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>KWi(e)},{name:"data_type$subexpression$1",symbols:[qWi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>XWi(e)},{name:"data_type",symbols:[qWi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:ZWi(XWi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[qWi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[qWi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[qWi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>KWi(e)},{name:"other_keyword$subexpression$1",symbols:[qWi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[qWi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[qWi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[qWi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>KWi(e)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([e])=>e},{name:"comment",symbols:[qWi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[qWi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[qWi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},e$i=JWi,{Parser:t$i,Grammar:n$i}=WGi;var i$i=class{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case 0:this.items.push(0);break;case 1:this.trimHorizontalWhitespace();break;case 2:this.trimWhitespace();break;case 3:this.trimHorizontalWhitespace(),this.addNewline(3);break;case 4:this.trimHorizontalWhitespace(),this.addNewline(4);break;case 5:this.addIndentation();break;case 6:this.items.push(6);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;r$i(iWi(this.items));)this.items.pop()}trimWhitespace(){for(;s$i(iWi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(iWi(this.items)){case 3:this.items.pop(),this.items.push(e);break;case 4:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(6)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case 0:return" ";case 3:case 4:return"\n";case 6:return this.indentation.getSingleIndent();default:return e}}},r$i=e=>0===e||6===e,s$i=e=>0===e||6===e||3===e;function o$i(e,t){if("standard"===t)return e;let n=[];return e.length>=10&&e.includes(" ")&&([e,...n]=e.split(" ")),(e="tabularLeft"===t?e.padEnd(9," "):e.padStart(9," "))+["",...n].join(" ")}function a$i(e){return(e=>"AND"===e||"OR"===e||"XOR"===e)(e)||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"LIMIT"===e}var l$i="top-level",c$i=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(l$i)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&iWi(this.indentTypes)===l$i&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==l$i)break}}},u$i=class extends i$i{constructor(e){super(new c$i("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new d$i;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new d$i;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},d$i=class extends Error{},h$i=class e{constructor({cfg:e,dialectCfg:t,params:n,layout:i,inline:r=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=r,this.params=n,this.layout=i}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case"function_call":return this.formatFunctionCall(e);case"parameterized_data_type":return this.formatParameterizedDataType(e);case"array_subscript":return this.formatArraySubscript(e);case"property_access":return this.formatPropertyAccess(e);case"parenthesis":return this.formatParenthesis(e);case"between_predicate":return this.formatBetweenPredicate(e);case"case_expression":return this.formatCaseExpression(e);case"case_when":return this.formatCaseWhen(e);case"case_else":return this.formatCaseElse(e);case"clause":return this.formatClause(e);case"set_operation":return this.formatSetOperation(e);case"limit_clause":return this.formatLimitClause(e);case"all_columns_asterisk":return this.formatAllColumnsAsterisk(e);case"literal":return this.formatLiteral(e);case"identifier":return this.formatIdentifier(e);case"parameter":return this.formatParameter(e);case"operator":return this.formatOperator(e);case"comma":return this.formatComma(e);case"line_comment":return this.formatLineComment(e);case"block_comment":case"disable_comment":return this.formatBlockComment(e);case"data_type":return this.formatDataType(e);case"keyword":return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case"data_type":t=this.showDataType(e.array);break;case"keyword":t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array)}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(1,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(1,e.closeParen,0)):(this.layout.add(e.openParen,3),kWi(this.cfg)?(this.layout.add(5),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(3,5,e.closeParen,0))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),0),this.layout=this.formatSubExpression(e.expr1),this.layout.add(1,0,this.showNonTabularKw(e.andKw),0),this.layout=this.formatSubExpression(e.expr2),this.layout.add(0)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(3,5),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(3,5),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(3,5),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):kWi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return kWi(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.indentation.increaseTopLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.add(5),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(3,5,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),kWi(this.cfg)?this.layout.add(0):this.layout.add(3,5),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(1,",",0),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",0)}formatLiteral(e){this.layout.add(e.text,0)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),0)}formatParameter(e){this.layout.add(this.params.get(e),0)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(1,e):":"===e?this.layout.add(1,e,0):this.layout.add(e,0)}formatComma(e){this.inline?this.layout.add(1,",",0):this.layout.add(1,",",3,5)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(e=>{"line_comment"===e.type?this.formatLineComment(e):this.formatBlockComment(e)})}formatLineComment(e){oWi(e.precedingWhitespace||"")?this.layout.add(3,5,e.text,4,5):this.layout.getLayoutItems().length>0?this.layout.add(2,0,e.text,4,5):this.layout.add(e.text,4,5)}formatBlockComment(e){"block_comment"===e.type&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach(e=>{this.layout.add(3,5,e)}),this.layout.add(3,5)):this.layout.add(e.text,0)}isMultilineBlockComment(e){return oWi(e.text)||oWi(e.precedingWhitespace||"")}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(e=>/^\s*\*/.test(e))&&/^\s*\*\/$/.test(iWi(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(e=>/^\s*\*/.test(e)?" "+e.replace(/^\s*/,""):e):e.split(/\n/).map(e=>e.replace(/^\s*/,""))}formatSubExpression(t){return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const n=this.params.getPositionalParameterIndex();try{return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new u$i(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof d$i)return void this.params.setPositionalParameterIndex(n);throw e}}formatKeywordNode(e){switch(e.tokenType){case"RESERVED_JOIN":return this.formatJoin(e);case"AND":case"OR":case"XOR":return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){kWi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0)}formatKeyword(e){this.layout.add(this.showKw(e),0)}formatLogicalOperator(e){"before"===this.cfg.logicalOperatorNewline?kWi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0):this.layout.add(this.showKw(e),3,5)}formatDataType(e){this.layout.add(this.showDataType(e),0)}showKw(e){return a$i(e.tokenType)?o$i(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return sWi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return a$i(e.tokenType)?o$i(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return sWi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return sWi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},p$i=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new OWi(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return function(e){let t={};const n=new WWi(n=>[...LWi(e.tokenize(n,t)),gHi(n.length)]),i=new t$i(n$i.fromCompiled(e$i),{lexer:n});return{parse:(e,n)=>{t=n;const{results:r}=i.feed(e);if(1===r.length)return r[0];throw 0===r.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(r,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(e=>this.formatStatement(e)).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new h$i({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new i$i(new c$i((n=this.cfg,"tabularLeft"===n.indentStyle||"tabularRight"===n.indentStyle?" ".repeat(10):n.useTabs?"\t":" ".repeat(n.tabWidth))))}).format(e.children);var n;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(3,";"):t.add(2,";")),t.toString()}},g$i=class extends Error{};function f$i(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new g$i(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new g$i(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);var n;if(e.params&&!((n=e.params)instanceof Array?n:Object.values(n)).every(e=>"string"==typeof e)&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!function(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every(e=>""!==e.regex);return!0}(e.paramTypes))throw new g$i("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var m$i={bigquery:"bigquery",db2:"db2",db2i:"db2i",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},v$i=Object.keys(m$i),y$i={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},b$i=(e,t={})=>{if("string"==typeof t.language&&!v$i.includes(t.language))throw new g$i(`Unsupported SQL dialect: ${t.language}`);const n=m$i[t.language||"sql"];return _$i(e,eHi(JGi({},t),{dialect:tHi[n]}))},_$i=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)XGi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&KGi)for(var i of KGi(e))t.indexOf(i)<0&&ZGi.call(e,i)&&(n[i]=e[i]);return n})(n,["dialect"]);if("string"!=typeof e)throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const s=f$i(JGi(JGi({},y$i),r));return new p$i((e=>{let t=NWi.get(e);return t||(t=IWi(e),NWi.set(e,t)),t})(i),s).format(e)};const C$i=console.error;function S$i(e){return AG_GRID_LICENSE&&rvi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Une.jsx(Lmi,{theme:"legacy",...e,modules:[Cfi,gLi],onGridReady:t=>{e.onGridReady?.(t),"production"!==process.env.NODE_ENV&&(console.error=C$i)}})}class w$i{uuid=Mr()}const E$i=(e,t,n)=>{const i=new bS(N_(t)),r=n??e.filterState.lambdaParameterName,s=e.sourceState.buildLeftExpression(e.filterState.queryBuilderState,r);if(i.parametersValues.push(s),e.rightConditionValue&&e.rightConditionValue instanceof GFi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof HFi){const t=FFi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.filterState.queryBuilderState,r);i.parametersValues.push(t)}return i},x$i=e=>{const t=e.parametersValues[0];return t instanceof _S?t.func.value.genericType.value.rawType.path:t instanceof yS&&t.func instanceof W_?t.func.genericType.value.rawType.path:void 0},T$i=(e,t,n,i,r=!1)=>{let s,o;if(k_(t.functionName,n)){br(t.parametersValues.length===(r?1:2),`Can't process ${N_(n)}() expression: ${N_(n)}() expects ${r?"no argument":"1 argument"}`);const i=t.parametersValues[0];if(i instanceof _S)s=new $Fi(e,i);else{if(!(i instanceof yS&&i.func instanceof W_))throw new Error(`Can't process ${N_(n)}() expression: expects property expression or relation column in lambda body`);{const t=i.func;s=new $Fi(e,new WFi(t.name,t.genericType.value.rawType))}}o=t}else if(k_(t.functionName,Zgt.EXISTS)){const i=fr(t.parametersValues[1],wS),a=fr(i.values[0],SS),l=fr(a.expressionSequence[0],bS);br(l.parametersValues.length===(r?1:2),`Can't process ${N_(n)}() expression: ${N_(n)}() expects ${r?"no argument":"1 argument"}`);const c=fr(l.parametersValues[0],_S,`Can't process ${N_(n)}() expression: expects property expression in lambda body`);s=new $Fi(e,c),o=l}if(s&&o){br(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${N_(n)}() expression: property is not compatible with operator`),s.setOperator(i);const t=o.parametersValues[1];return r||!t?s.setRightConditionValue(void 0):t instanceof _S?s.setRightConditionValue(new HFi(s,new KPi(e.queryBuilderState,t))):s.setRightConditionValue(new GFi(s,Nft(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new GFi(s,i.getDefaultFilterConditionValue(s))),s}};class A$i extends w$i{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)||t instanceof J_&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return wft(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return E$i(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Zgt.IS_ON_DAY:Zgt.EQUAL,t)}buildFilterConditionState(e,t){return T$i(e,t,x$i(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_DAY:Zgt.EQUAL,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_EQUAL])}}class R$i extends A$i{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_NOT_EQUAL])}}class N$i extends w$i{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.STRING,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)||t instanceof J_}isCompatibleWithFilterConditionValue(e){const t=e.leftConditionType,n=e.rightConditionValue;if(n instanceof GFi){const i=n.value;if(i instanceof uS){if(0===i.values.length)return!0;const n=vft(e.filterState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(Sft(t)??t.path)?[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(Sft(n)??n.path):n===t)}if(i instanceof oS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.leftConditionType;return new uS(T_.ONE,G_.create(new q_(t)))}buildFilterConditionExpression(e,t){return E$i(e,Zgt.IN,t)}buildFilterConditionState(e,t){return T$i(e,t,Zgt.IN,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_IN])}}class I$i extends N$i{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_NOT_IN])}}class D$i extends w$i{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType;return!!(e.sourceState instanceof jFi&&Cft(e.propertyExpressionState.propertyExpression))&&(t instanceof J_||t instanceof B_||t instanceof V_)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return E$i(e,Zgt.IS_EMPTY,t)}buildFilterConditionState(e,t){return T$i(e,t,Zgt.IS_EMPTY,this,!0)}get hashCode(){return mv([Ift.FILTER_OPERATOR_IS_EMPTY])}}class k$i extends D$i{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_IS_NOT_EMPTY])}}const O$i=e=>{try{return b$i(e,{language:"mysql"})}catch{try{return b$i(e)}catch{return e}}},L$i=e=>{const t=e.result.rows.map((t,n)=>{const i={},r=e.result.columns;return t.values.forEach((e,t)=>{i[r[t]]=e}),i.rowNumber=n,i});return t},M$i=new A$i,P$i=new R$i,F$i=new N$i,B$i=new I$i,V$i=new D$i,U$i=new k$i,G$i=new BBi,H$i=new LBi,z$i=new PBi,j$i=new FBi,W$i=new VBi,$$i=new MBi,q$i=(e,t,n)=>{t.value&&hft(e,e instanceof cS?lC.create(dr((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},Y$i=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?V$i:M$i:null===t.value?U$i:P$i)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(pr(QFi)).filter(n=>n.condition.sourceState instanceof jFi&&n.condition.sourceState.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[V$i,U$i]:t?[M$i,F$i]:[P$i,B$i],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===V$i||i===U$i){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?V$i:U$i))}const o=e.condition,a=o.rightConditionValue;if(a instanceof GFi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof aS&&(a.value instanceof cS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);q$i(i,n,s),o.changeOperator(t?F$i:B$i),pft(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof aS&&a.value.values.filter(e=>e instanceof aS).map(e=>e instanceof cS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?M$i:P$i).getDefaultFilterConditionValue(o);q$i(e,n,s),pft(a.value,[...a.value.values,e],s.observerContext)}}})(a,t,n,o,i,s);else try{((e,t,n,i,r)=>{let s;try{if(r){s=new $Fi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),q$i(e,n,i.queryBuilderState),i.addNodeFromNode(new QFi(void 0,s),void 0)}}catch(t){return bi(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s.filterState,r.propertyExpression)}catch(t){bi(t),e.alertUnhandledError(t)}},K$i=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?z$i:G$i:null===t.value?j$i:W$i)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(pr(ABi)).filter(e=>e.condition.leftConditionValue instanceof tFi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[z$i,j$i]:t?[G$i,H$i]:[W$i,$$i],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===z$i||i===j$i){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?z$i:j$i))}const o=e.condition,a=o.rightConditionValue;if(a instanceof IBi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof aS&&(a.value instanceof cS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);q$i(i,n,s.queryBuilderState),o.changeOperator(t?H$i:$$i),pft(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof aS&&a.value.values.filter(e=>e instanceof aS).map(e=>e instanceof cS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?G$i:W$i).getDefaultFilterConditionValue(o);q$i(e,n,s.queryBuilderState),pft(a.value,[...a.value.values,e],s.queryBuilderState.observerContext)}}})(a,t,n,o,i,s);else try{await(async(e,t,n,i,r)=>{let s;try{const e=n.columnName?i.projectionColumns.filter(e=>e.columnName===n.columnName).concat(i.aggregationState.columns.filter(e=>e.columnName===n.columnName).map(e=>e.projectionColumnState))[0]:r;if(e){s=new kBi(i.postFilterState,e,t),r instanceof sFi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),q$i(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new ABi(void 0,s),void 0)}}catch(t){return bi(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s,r)}catch(t){bi(t),e.alertUnhandledError(t)}},X$i=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?EFi(r,n.columnName):void 0;s instanceof sFi||s instanceof aFi||s instanceof nFi&&VFi(s.propertyExpressionState.propertyExpression)?await K$i(e,t,n,i,s,r):s instanceof nFi?Y$i(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},Z$i=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await X$i(e,n,r,t,i)};Lse(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Wht(),a=n?.columnName?EFi(i,n.columnName):void 0;return Une.jsxs(OPe,{ref:t,children:[Une.jsx(LPe,{disabled:!a,onClick:()=>{Z$i(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),Une.jsx(LPe,{disabled:!a,onClick:()=>{Z$i(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),Une.jsx(MPe,{}),Une.jsx(LPe,{onClick:r,children:"Copy Cell Value"}),Une.jsx(LPe,{onClick:s,children:"Copy Row Value"})]})}));const Q$i=Lse(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return Une.jsxs(Une.Fragment,{children:[Une.jsxs("div",{className:"query-builder__sql__container",children:[Une.jsx(QPe,{}),Une.jsxs("div",{children:[Une.jsx("div",{className:"query-builder__sql__container__item__label",children:Une.jsxs(XPe,{children:["SQL",Une.jsx("div",{children:Une.jsx("button",{onClick:()=>{(e=>{r.clipboardService.copyTextToClipboard(e).then(()=>r.notificationService.notifySuccess("SQL Query copied",void 0,2500)).catch(r.alertUnhandledError)})(t)},title:"Copy SQL Expression",className:"query-builder__sql__container__icon",children:Une.jsx(nre,{})})})]})}),Une.jsx("div",{className:"query-builder__sql__container__code-editor",children:Une.jsx(FGi,{inputValue:O$i(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:vkn.SQL})}),Une.jsx(QPe,{})]},t)]}),n.length>0&&Une.jsx("div",{className:"query-builder__sql__container",children:Une.jsxs("div",{children:[Une.jsx(XPe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__sql__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Label"}),Une.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),Une.jsx("tbody",{children:n.map(e=>Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&Une.jsx("td",{className:"table__cell--left",children:J$(e.dataType)})]},e.label))})]})]})})]})}),J$i=Lse(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?Une.jsx(Q$i,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):Une.jsxs(KPe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Une.jsx(Q$i,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),Une.jsx(MGi,{resultType:i}),Une.jsx("div",{className:"query-builder__sql__container",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})}),eqi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return Une.jsxs("div",{className:n,children:[Une.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&Une.jsx("div",{className:`${n}__tag`,children:t.value.path}),Une.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},tqi=e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r,innerProps:s}=e,{isReadOnly:o,removeNode:a}=s;let l,c,u;t.tree instanceof AS?(l=t.tree.property.value,c=l.genericType.value.rawType,u=t.tree.subType?.value):t.tree instanceof TS&&(c=t.tree.class.value);const d=Boolean(t.childrenIds.length)?t.isOpen?Une.jsx(qre,{}):Une.jsx(Kre,{}):Une.jsx("div",{}),h=c?jVi(c):Une.jsx(FEe,{}),p=()=>r?.(t);return Une.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[Une.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[Une.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:d}),Une.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),Une.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,u&&Une.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:Une.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:u.name})}),Une.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:Une.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),Une.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:Une.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:Une.jsx(Bre,{})})})]})},nqi=Lse(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return Une.jsx(cye,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Une.jsxs(EPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[Une.jsx(TPe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),Une.jsx(RPe,{className:"query-builder-graph-fetch-config__content",children:Une.jsx(jPe,{children:Une.jsxs(ZPe,{children:[Une.jsx(tFe,{name:"Type Key Name",value:i.typeKeyName,isReadOnly:!1,update:e=>i.setTypeName(e??""),errorMessage:""===i.typeKeyName?"Type key name can't be empty":void 0}),Une.jsx(tFe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),Une.jsx(iFe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),Une.jsx(iFe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),Une.jsx(iFe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),Une.jsx(iFe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),Une.jsx(iFe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),Une.jsx(iFe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),Une.jsxs(NPe,{children:[!s&&Une.jsx(DPe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),Une.jsx(DPe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),iqi=Lse(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>GVi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return Une.jsx("div",{className:"query-builder-graph-fetch-external-format",children:Une.jsxs("div",{className:"service-execution-editor__configuration__items",children:[Une.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Une.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Une.jsx(Gie,{})}),Une.jsx(CPe,{className:"panel__content__form__section__dropdown service-execution-editor__configuration__item__dropdown",disabled:s,options:o,onChange:e=>{null!==e&&(n.setBinding(e.value),n.setGraphFetchTree(i))},value:a,formatOptionLabel:eqi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Une.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Une.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Une.jsx(fre,{})}),Une.jsx(Kke,{components:{TreeNodeContainer:tqi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen)},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(cr),innerProps:{isReadOnly:s,removeNode:e=>{1===i.nodes.size?t.queryBuilderState.applicationStore.notificationService.notifyWarning("externalize serialization tree can not be empty"):(mGi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),rqi=Lse(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(pr(lK)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(pr(K_)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...Lw(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof K_))).includes(i.tree.class.value)});return Une.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[Une.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[Une.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(bGi).map(e=>{return Une.jsx("button",{onClick:(r=e,()=>{r!==n.getLabel()&&t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to a different serialization mode. Do you still want to proceed?",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case bGi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new xGi(t,o[0],void 0);t.setGraphFetchTree(i),e.setGraphFetchTree(mn(i)),t.setSerializationState(e)}else t.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't switch to external format serialization: No compatible bindings found");break;case bGi.PURE:default:t.setSerializationState(new EGi(t))}})},{label:"Cancel",type:Apt.PROCEED,default:!0}]})}),className:Bse("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:vm(e)},e);var r})}),Une.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof EGi&&Une.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:Une.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof EGi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[Une.jsx(Eie,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),Une.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),Une.jsxs("div",{className:Bse("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[Une.jsx("button",{className:Bse("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?Une.jsx(Xie,{}):Une.jsx(Pre,{})}),Une.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),Une.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:Une.jsx(_re,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),Une.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof EGi&&n.configModal&&Une.jsx(nqi,{pureSerializationState:n,graphFetchState:t,config:n.config??SGi.createDefault()}),Une.jsxs(xUe,{orientation:"horizontal",children:[Une.jsx(TUe,{children:Une.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:Une.jsx(Kke,{components:{TreeNodeContainer:tqi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen),r({...i})},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(cr),innerProps:{isReadOnly:s,removeNode:e=>{mGi(i,e),0===i.nodes.size&&t.setSerializationState(new EGi(t)),n instanceof xGi&&n.treeData?.nodes.get(e.id)&&(mGi(n.treeData,dr(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),Une.jsx(AUe,{}),n instanceof xGi&&n.treeData&&Une.jsx(TUe,{children:Une.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Une.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:Une.jsx(iqi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),sqi=Lse(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof xGi&&i.addProperty(mn(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=tVe(()=>({accept:[AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{Ggt.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:Une.jsxs(xVe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||pGi(r))&&Une.jsx(aFe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!pGi(r)&&Une.jsx(rqi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),oqi=Lse(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof EGi||n instanceof xGi?Une.jsx(sqi,{graphFetchTreeState:t,serializationState:n}):Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_GRAPH_FETCH,children:Une.jsx(sFe,{children:Une.jsxs("div",{className:"unsupported-element-editor__main",children:[Une.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),Une.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(IGi.TEXT),children:"Edit in text mode"})]})})})}),aqi=Lse(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof TS?i=hGi(fr(t.graphFetchTree,TS),!0):t.graphFetchTree instanceof AS&&(i=(e=>{const t=[],n=new Map,i=uGi(e,void 0,n);jr(t,i.id),n.set(i.id,i);const r=new TS(__.create(new Y_("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return Une.jsx(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Une.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Une.jsxs("tbody",{children:[void 0!==t.parentIndex&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),Une.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"Checked"}),Une.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Une.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"Store"}),Une.jsx("td",{className:"table__cell--left",children:t.store})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),Une.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),Une.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),Une.jsx(QPe,{}),i&&Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:Une.jsx(Kke,{components:{TreeNodeContainer:tqi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,getChildNodes:e=>e.childrenIds.map(e=>i?i.nodes.get(e):null).filter(cr),innerProps:{isReadOnly:!0}})})}),Une.jsx(QPe,{})]}),t.xStorePropertyFetchDetails&&Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Une.jsxs("tbody",{children:[Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" propertyPath "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" subTree "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" targetSetId"}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),Une.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof G1&&Une.jsx(LGi,{resultType:t.resultType}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})})}),lqi=Lse(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return Une.jsxs(KPe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Une.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Une.jsxs("div",{children:[Une.jsx(XPe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Name"}),Une.jsx("th",{className:"table__cell--left",children:"Type"})]})}),Une.jsx("tbody",{children:t.map(e=>{return Une.jsx(n.Fragment,{children:Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:e.name}),Une.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===T_.ZERO?"[0]":t===T_.ONE?"[1]":t===T_.ZERO_ONE?"[0..1]":t===T_.ZERO_MANY||t===T_.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),Une.jsx(QPe,{}),Une.jsx(MGi,{resultType:i}),Une.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})}),cqi=Lse(e=>{const{cnode:t,executionPlanState:n}=e,i=t.resultType;let r="";const s=n.applicationStore;try{r=Er(t.values)?t.values.value:""}catch{}return Une.jsxs(KPe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&Une.jsx("div",{className:"query-builder__constant__container",children:Une.jsxs("div",{children:[Une.jsx(XPe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),Une.jsx(QPe,{}),Une.jsx("pre",{children:Une.jsx("div",{className:"query-builder__constant__container__item",children:Une.jsxs("div",{children:["value: ",r]})})})]})}),Une.jsx(QPe,{}),Une.jsx(MGi,{resultType:i}),Une.jsx("div",{className:"query-builder__constant__container",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})}),uqi=Lse(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return Une.jsxs(KPe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Une.jsx("div",{className:"query-builder__allocation__container",children:Une.jsxs("div",{children:[Une.jsx(XPe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__allocation__container__item",children:Une.jsx("table",{className:"query-builder__allocation__container__table",children:Une.jsxs("tbody",{children:[Une.jsxs("tr",{children:[Une.jsx("td",{children:"varName"}),Une.jsx("td",{children:`: ${i}`})]}),Une.jsxs("tr",{children:[Une.jsx("td",{children:"realizeInMemory"}),Une.jsx("td",{children:`: ${s}`})]})]})})})]})}),Une.jsx(QPe,{}),Une.jsx(MGi,{resultType:r}),Une.jsx(QPe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof j0&&Une.jsx(cqi,{cnode:t.executionNodes[0],executionPlanState:n}),Une.jsx(QPe,{})]})}),dqi=Lse(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?Une.jsx("div",{}):o?Une.jsx(qre,{}):Une.jsx(Kre,{});return Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"query-builder__sequence__container",children:Une.jsxs("div",{children:[Une.jsx(XPe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),Une.jsx(QPe,{}),t.executionNodes.map((e,t)=>Une.jsx("div",{className:"query-builder__sequence__container__item",children:Une.jsxs("button",{className:"query-builder__sequence__container__item__btn",onClick:()=>(e=>{const t=i.treeData?.nodes.get(e._UUID);!1===r?a(o?void 0:e):(t instanceof Dqi?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof kqi&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${wqi(e)}`,children:[!r&&l,`${t+1}: ${wqi(e)}`]})},e._UUID))]})}),Une.jsx(QPe,{}),Une.jsx(MGi,{resultType:s}),!1===r&&o&&Une.jsx(Aqi,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),hqi=Lse(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?Une.jsx(dqi,{node:t,executionPlanState:n,viewJson:i}):Une.jsxs(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Une.jsx(dqi,{node:t,executionPlanState:n,viewJson:i}),Une.jsx("div",{className:"query-builder__execution__container",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})}),pqi=Lse(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return Une.jsxs(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof G$&&Une.jsx(Q$i,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),Une.jsx(QPe,{}),Une.jsx(MGi,{resultType:i}),Une.jsx("div",{className:"query-builder__sql__container",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})}),gqi=Lse(e=>{const{node:t,executionPlanState:n}=e;return Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof y1&&t.implementation.executionClassFullName&&Une.jsx("div",{className:"query-builder__implementation__container__item",children:Une.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(fr(n.plan,T4,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(Pqi.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof y1&&n.globalImplementationSupportState.setSelectedJavaClass(t.implementation.executionClassFullName)},title:`Go to Java class: ${t.implementation.executionClassFullName}`,className:"query-builder__implementation__container__item__java-btn",children:t.implementation.executionClassFullName})})]})});var fqi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(fqi||(fqi={}));const mqi=Lse(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof Q1?i=fqi.RESULT_SET:t instanceof i2&&(i=fqi.TEMP_FILE),t instanceof t2&&(i=fqi.SUB_QUERY),Une.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&Une.jsxs(XPe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),Une.jsx(XPe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${wqi(t.createTempTableNode)})`}),Une.jsx(Aqi,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),Une.jsx(QPe,{}),Une.jsx(XPe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${wqi(t.loadTempTableNode)})`}),Une.jsx(Aqi,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),Une.jsx(QPe,{}),Une.jsx(XPe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${wqi(t.dropTempTableNode)})`}),Une.jsx(Aqi,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),Une.jsx(QPe,{})]})});var vqi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(vqi||(vqi={}));const yqi=Lse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(vqi.GENERAL);return Une.jsx(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Une.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Une.jsxs("div",{className:"panel",children:[Une.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Une.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(vqi).map(e=>Une.jsx("div",{onClick:()=>o(e),className:Bse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===vqi.GENERAL&&Une.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Une.jsxs("tbody",{children:[Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"Batch Size"}),Une.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"Checked"}),Une.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Une.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Une.jsx(gqi,{node:t,executionPlanState:i})}),Une.jsx(QPe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof G$&&Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Une.jsx(QPe,{}),Une.jsx(Q$i,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(MGi,{resultType:t.resultType})}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Mqi.JSON),text:"View JSON"})})]}),s===vqi.TEMP_TABLE&&t.tempTableStrategy&&Une.jsx(mqi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var bqi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(bqi||(bqi={}));const _qi=Lse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(bqi.GENERAL);return Une.jsx(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Une.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Une.jsxs("div",{className:"panel",children:[Une.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Une.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(bqi).map(e=>Une.jsx("div",{onClick:()=>o(e),className:Bse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===bqi.GENERAL&&Une.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Une.jsxs("tbody",{children:[Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Une.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Une.jsx(gqi,{node:t,executionPlanState:i})}),Une.jsx(QPe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof G$&&Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Une.jsx(QPe,{}),Une.jsx(Q$i,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(MGi,{resultType:t.resultType})}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Mqi.JSON),text:"View JSON"})})]}),s===bqi.TEMP_TABLE&&t.tempTableStrategy&&Une.jsx(mqi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var Cqi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(Cqi||(Cqi={}));const Sqi=Lse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(Cqi.GENERAL);return Une.jsx(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Une.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Une.jsxs("div",{className:"panel",children:[Une.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Une.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(Cqi).map(e=>Une.jsx("div",{onClick:()=>o(e),className:Bse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===Cqi.GENERAL&&Une.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Une.jsxs("tbody",{children:[Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Une.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Une.jsx(gqi,{node:t,executionPlanState:i})}),Une.jsx(QPe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof G$&&Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Une.jsx(QPe,{}),Une.jsx(Q$i,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(MGi,{resultType:t.resultType})}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Mqi.JSON),text:"View JSON"})})]}),s===Cqi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&Une.jsx(mqi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===Cqi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&Une.jsx(mqi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),wqi=e=>e instanceof G$?"SQL Execution Node":e instanceof j$?"Relational TDS Instantiation Execution Node":e instanceof U0?"Function Parameters Validation Node":e instanceof z0?`Allocation Execution Node (${e.varName})`:e instanceof j0?"Constant Execution Node":e instanceof W0?"Sequence Execution Node":e instanceof E1?"Store Mapping Global Graph Fetch Execution Node":e instanceof L1?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof s2?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof N1?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof P1?"Pure Expression Platform Execution Node":"Other",Eqi=Lse(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof y1&&(n.classes.sort((e,t)=>(e.package+e.name).toLowerCase()>(t.package+t.name).toLowerCase()?1:-1),n.classes.length>0&&n.classes[0]&&void 0===t.globalImplementationSupportState.selectedJavaClass&&t.globalImplementationSupportState.setSelectedJavaClass(`${n.classes[0]?.package}.${n.classes[0]?.name}`)),Une.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Une.jsxs("div",{className:"panel",children:[Une.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Une.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(Pqi).map(e=>Une.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:Bse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:vm(e)},e))})}),t.globalImplementationSupportState.selectedTab===Pqi.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof y1&&Une.jsxs(xUe,{orientation:"vertical",children:[Une.jsx(TUe,{minSize:30,size:400,children:Une.jsx(KPe,{darkMode:r,className:"query-builder__java__container__panel",children:Une.jsx("div",{className:"query-builder__java__container",children:Une.jsxs("div",{children:[n.classes.map(e=>Une.jsx("div",{className:Bse("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:Une.jsx("button",{className:"query-builder__java__container__item__btn",onClick:()=>t.globalImplementationSupportState.setSelectedJavaClass(`${e.package}.${e.name}`),tabIndex:-1,title:`Go to ${e.package}.${e.name}`,children:`${e.package}.${e.name}`})},e.package+e.name)),Une.jsx(QPe,{})]})})})}),Une.jsx(AUe,{children:Une.jsx(RUe,{color:"var(--color-dark-grey-200)"})}),Une.jsx(TUe,{children:t.globalImplementationSupportState.selectedJavaClass&&Une.jsx(FGi,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:vkn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===Pqi.GENERAL&&i.length>0&&Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),Une.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),Une.jsx("div",{className:"query-builder__template--function--editor__code",children:Une.jsx(FGi,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:vkn.XML,hideMinimap:!0,hideActionBar:!0})}),Une.jsx("div",{className:"query-builder__template--function--editor__json",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(Mqi.JSON),text:"View JSON"})})]})]})})}),xqi=Lse(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?Une.jsx(qre,{}):Une.jsx(Kre,{}):Une.jsx("div",{});let o="",a="";return t instanceof kqi&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof E1?o="Cross":t.executionNode instanceof T1&&(o="Local")),a=(e=>{if(e instanceof E1||e instanceof T1){if(e.graphFetchTree instanceof TS)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof AS)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),Une.jsxs("div",{className:Bse("tree-view__node__container execution-plan-viewer__explorer-tree__node__container",{"menu__trigger--on-menu-open":!t.isSelected},{"execution-plan-viewer__explorer-tree__node__container--selected":t.isSelected}),style:{paddingLeft:(n-1)*(i??1)+"rem"},onClick:()=>r?.(t),children:[Une.jsx("div",{className:"tree-view__node__icon",children:Une.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&Une.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:Une.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&Une.jsx("div",{className:"execution-plan-viewer__node__type",children:Une.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),Une.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),Tqi=Lse(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof Dqi){const n=e.executionPlan.rootExecutionNode,i=Oqi(n,wqi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof kqi){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=Oqi(n,wqi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof E1){const n=e.executionNode.localGraphFetchExecutionNode,i=Oqi(n,wqi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=Oqi(n,wqi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof A1&&e.executionNode.children.forEach(n=>{const i=Oqi(n,wqi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return Une.jsx(Kke,{components:{TreeNodeContainer:xqi},treeData:t.nonNullableTreeData,getChildNodes:e=>{if(!e.childrenIds||0===e.childrenIds.length)return[];const n=e.childrenIds.map(e=>t.nonNullableTreeData.nodes.get(e)).filter(cr);return n},onNodeSelect:e=>{e instanceof Dqi?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof kqi&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),Aqi=Lse(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof G$?Une.jsx(J$i,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof j$?Une.jsx(pqi,{node:t,executionPlanState:n}):t instanceof U0?Une.jsx(lqi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof z0?Une.jsx(uqi,{node:t,executionPlanState:n}):t instanceof j0?Une.jsx(cqi,{cnode:t,executionPlanState:n}):t instanceof W0?Une.jsx(hqi,{node:t,executionPlanState:n,viewJson:i}):t instanceof E1?Une.jsx(aqi,{storeMappingNode:t,executionPlanState:n}):t instanceof s2?Une.jsx(Sqi,{node:t,executionPlanState:n}):t instanceof L1?Une.jsx(yqi,{node:t,executionPlanState:n}):t instanceof N1?Une.jsx(_qi,{node:t,executionPlanState:n}):Une.jsx(sFe,{children:Une.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[Une.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),Une.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Mqi.JSON),children:"View JSON"})]})})}),Rqi=Lse(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof Dqi?r=i.selectedNode.executionPlan:i.selectedNode instanceof kqi&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof Dqi&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(Mqi);return Une.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&Une.jsxs(Une.Fragment,{children:[Une.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[Une.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:Une.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),Une.jsx(VPe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:Une.jsx(OPe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:Une.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[Une.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),Une.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>Une.jsx(LPe,{className:"execution-plan-viewer__panel__view-mode__option",onClick:()=>i.setViewMode(e),children:e},e))})]})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:Une.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),Une.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===Mqi.JSON&&Boolean(t)&&Une.jsx(FGi,{inputValue:t,isReadOnly:!0,language:vkn.JSON,hideMinimap:!0}),i.viewMode===Mqi.FORM&&Une.jsxs(Une.Fragment,{children:[r instanceof U$&&Une.jsx(Aqi,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof T4&&Une.jsx(Eqi,{executionPlanState:i})]})]})]})})}),Nqi=Lse(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return Une.jsx("div",{className:"execution-plan-viewer__content",children:i?Une.jsxs(xUe,{orientation:"vertical",children:[Une.jsx(TUe,{size:300,minSize:300,children:Une.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[Une.jsx($Pe,{darkMode:r,title:"execution plan explorer"}),Une.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:Une.jsx(Tqi,{executionPlanState:t,executionPlan:i})})]})}),Une.jsx(AUe,{children:Une.jsx(RUe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Une.jsx(TUe,{children:Une.jsx(Rqi,{displayData:t.displayData,executionPlanState:t})})]}):Une.jsx(FGi,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:vkn.JSON})})}),Iqi=Lse(e=>{const{executionPlanState:t}=e,n=()=>{t.setRawPlan(void 0),t.initialize(void 0),t.setExecutionPlanDisplayData(""),t.setSelectedNode(void 0),t.setDebugText(void 0),t.globalImplementationSupportState.setSelectedTab(Pqi.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?Une.jsx(cye,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Une.jsxs(EPe,{className:"editor-modal",darkMode:r,children:[Une.jsx(TPe,{title:"Execution Plan"}),Une.jsx(RPe,{children:t.debugText?Une.jsxs(xUe,{orientation:"horizontal",children:[Une.jsx(TUe,{minSize:100,children:Une.jsx(Nqi,{executionPlanState:t,rawPlan:i})}),Une.jsx(AUe,{children:Une.jsx(RUe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Une.jsx(TUe,{size:200,minSize:28,children:Une.jsxs(jPe,{className:"panel execution-plan-viewer__debug-panel",children:[Une.jsx(WPe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),Une.jsx(KPe,{children:Une.jsx(FGi,{inputValue:t.debugText,isReadOnly:!0,language:vkn.TEXT})})]})})]}):Une.jsx(Nqi,{executionPlanState:t,rawPlan:i})}),Une.jsx(NPe,{children:Une.jsx(DPe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class Dqi{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){hd(this,{isSelected:Rc,isOpen:Rc,setIsSelected:Pu,setIsOpen:Pu}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class kqi{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){hd(this,{isSelected:Rc,isOpen:Rc,setIsSelected:Pu,setIsOpen:Pu}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const Oqi=(e,t,n)=>{const i=new kqi(e._UUID,t,e,n instanceof kqi?wqi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(pr(U$)).forEach(e=>{jr(r,e._UUID)}),e instanceof E1&&(jr(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(pr(U$)).forEach(e=>{jr(r,e._UUID)})),e instanceof A1&&e.children.slice().filter(pr(U$)).forEach(e=>{jr(r,e._UUID)}),i.childrenIds=r,i},Lqi=e=>{const t=[],n=new Map,i=(e=>{const t=new Dqi("Execution Plan","Execution Plan",e),n=[],i=e.rootExecutionNode._UUID;return jr(n,i),t.childrenIds=n,t})(e);return jr(t,i.id),n.set(i.id,i),{rootIds:t,nodes:n}};var Mqi,Pqi;!function(e){e.FORM="Form",e.JSON="JSON"}(Mqi||(Mqi={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(Pqi||(Pqi={}));class Fqi{selectedTab=Pqi.GENERAL;selectedJavaClass=void 0;constructor(){hd(this,{selectedTab:Rc,selectedJavaClass:Rc,setSelectedTab:Pu,setSelectedJavaClass:Pu})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class Bqi{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=Mqi.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new Fqi;constructor(e,t){hd(this,{displayData:Rc,displayDataJson:Rc,viewMode:Rc,rawPlan:Rc,plan:Rc,debugText:Rc,treeData:Rc,setExecutionPlanDisplayData:Pu,setExecutionPlanDisplayDataJson:Pu,transformMetadataToProtocolJson:Pu,setSelectedNode:Pu,setRawPlan:Pu,setPlan:Pu,setViewMode:Pu,setDebugText:Pu,setTreeNode:Pu,setTreeData:Pu,refreshTreeData:Pu,nonNullableTreeData:kc,initialize:Pu,globalImplementationSupportState:Rc}),this.applicationStore=e,this.graphManagerState=t}setViewMode(e){this.viewMode=e}setTreeNode(e,t){this.treeData?.nodes.set(e,t)}setTreeData(e){this.treeData=e}refreshTreeData(){this.treeData&&this.setTreeData({...this.treeData})}get nonNullableTreeData(){return dr(this.treeData,"Execution plan viewer tree data has not been initialized")}setRawPlan=e=>{this.rawPlan=e};setPlan=e=>{this.plan=e};initialize=e=>{this.setPlan(e),void 0!==e?this.setTreeData(Lqi(e)):this.setTreeData(void 0)};setDebugText(e){this.debugText=e}setSelectedNode(e){this.selectedNode&&this.selectedNode.setIsSelected(!1),e&&e.setIsSelected(!0),this.selectedNode=e}setExecutionPlanDisplayData(e){this.displayData=e}setExecutionPlanDisplayDataJson(e){this.displayDataJson=e,this.setExecutionPlanDisplayData(JSON.stringify(this.displayDataJson,void 0,2))}transformMetadataToProtocolJson(e){if(e instanceof T4){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof U$){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const Vqi=e=>{try{const t=e.getFirstDisplayedRowIndex(),n=e.getLastDisplayedRowIndex();if(n>=t)return Math.max(1,n-t)}catch{}return 25},Uqi=e=>{const t=e.getCellRanges();return t&&t.length>0?t[t.length-1]:null},Gqi=e=>{const t=e.event;if(!t)return;const n=e.api;if(t.ctrlKey&&"KeyA"===t.code)return void((e,t)=>{e.preventDefault();const n=t.getDisplayedRowCount(),i=t.getColumns();0!==n&&i&&0!==i.length&&(console.debug(`[TDS Grid] Ctrl+A → selecting all: ${n} rows × ${i.length} columns`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:0,rowEndIndex:n-1,columns:i}))})(t,n);const i=e.column,r=e.rowIndex;((e,t,n)=>{e.code.startsWith("Control")||e.code.startsWith("Shift")||e.code.startsWith("Alt")||e.code.startsWith("Meta")||console.debug(`[TDS Grid] onCellKeyDown: key=${e.code} ctrl=${e.ctrlKey} shift=${e.shiftKey} col=${t.getColId()} row=${n}`)})(t,i,r),null!==r&&(!t.shiftKey||"PageDown"!==t.code&&"PageUp"!==t.code?t.ctrlKey&&"Space"===t.code?((e,t,n)=>{e.preventDefault();const i=t.getDisplayedRowCount();if(0===i)return;const r=Uqi(t),s=r?r.columns:[n];console.debug(`[TDS Grid] Ctrl+Space → selecting ${s.length} column(s), ${i} rows`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:0,rowEndIndex:i-1,columns:s})})(t,n,i):t.shiftKey&&"Space"===t.code&&((e,t,n,i)=>{e.preventDefault();const r=t.getColumns();if(!r||0===r.length)return;const s=Uqi(t);let o=i,a=i;if(s){const e=s.startRow?.rowIndex??i,t=s.endRow?.rowIndex??i;o=Math.min(e,t),a=Math.max(e,t)}console.debug(`[TDS Grid] Shift+Space → selecting rows ${o}–${a}, ${r.length} columns`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:o,rowEndIndex:a,columns:r})})(t,n,0,r):((e,t,n,i)=>{e.preventDefault();const r=t.getDisplayedRowCount();if(0===r)return;const s=Uqi(t),o=s?.startRow?.rowIndex??i,a=s?.endRow?.rowIndex??i,l=s?s.columns:[n],c="PageDown"===e.code?Vqi(t):-Vqi(t),u=Math.max(0,Math.min(r-1,a+c));console.debug(`[TDS Grid] Shift+${e.code} → extending range rows ${o}–${u}`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:Math.min(o,u),rowEndIndex:Math.max(o,u),columns:l})})(t,n,i,r))},Hqi=e=>Intl.NumberFormat(AVi,{maximumFractionDigits:sYi}).format(e),zqi=()=>Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__spinner",title:"Computing…"}),jqi=({frequencies:e,darkMode:t})=>{const i=Math.max(...e.map(e=>e.count)),r=n.useRef(null);return n.useLayoutEffect(()=>{const e=r.current;if(!e)return;const t=e.getBoundingClientRect();t.left<0?e.style.left=4-t.left+"px":t.right>globalThis.innerWidth&&(e.style.left=globalThis.innerWidth-t.right-4+"px")}),Une.jsx("div",{ref:r,className:Bse("query-builder__result__tds-grid__stats-bar__freq-tooltip",{"query-builder__result__tds-grid__stats-bar__freq-tooltip--dark":t}),children:Une.jsx("svg",{width:208,height:13*e.length+2,children:e.map((e,t)=>{const n=13*t+1,r=Math.max(1,e.count/i*80),s=e.label.length>12?`${e.label.slice(0,11)}…`:e.label;return Une.jsxs("g",{children:[Une.jsx("text",{x:86,y:n+10-2,textAnchor:"end",className:Bse("query-builder__result__tds-grid__stats-bar__freq-tooltip__label",{"query-builder__result__tds-grid__stats-bar__freq-tooltip__label--other":e.isOther,"query-builder__result__tds-grid__stats-bar__freq-tooltip__label--empty":e.isEmpty}),children:s}),Une.jsx("rect",{x:90,y:n,width:r,height:10,className:Bse("query-builder__result__tds-grid__stats-bar__freq-tooltip__bar",{"query-builder__result__tds-grid__stats-bar__freq-tooltip__bar--other":e.isOther,"query-builder__result__tds-grid__stats-bar__freq-tooltip__bar--empty":e.isEmpty})}),Une.jsx("text",{x:174,y:n+10-2,className:"query-builder__result__tds-grid__stats-bar__freq-tooltip__count",children:e.count})]},t)})})})},Wqi=(e,t)=>{const n=e.count,i=`${n} ${1===n?"value":"values"}`;if("date"===t){const t=e.lowerDateLabel??e.lower,n=e.upperDateLabel??e.upper;return t===n?`${i} on ${t}`:`${i} within the range ${t} – ${n}`}if("string-length"===t){const t=Math.round(e.lower),n=Math.round(e.upper);return t===n?`${i} with length ${t}`:`${i} with length ${t} – ${n}`}return e.lower===e.upper?`${i} equal to ${Hqi(e.lower)}`:`${i} within the range ${Hqi(e.lower)} – ${Hqi(e.upper)}`},$qi=({buckets:e,chartType:t,darkMode:n})=>{if(0===e.length)return null;const i=Math.max(...e.map(e=>e.count));if(0===i)return null;const r=e.length,s=Math.max(1,(120-1*(r-1))/r);return Une.jsx("div",{className:Bse("query-builder__result__tds-grid__stats-bar__chart",{"query-builder__result__tds-grid__stats-bar__chart--dark":n}),children:Une.jsx("svg",{width:120,height:18,children:e.map((e,n)=>{const r=Math.max(1,e.count/i*18),o=n*(s+1);return Une.jsx("rect",{x:o,y:18-r,width:s,height:r,opacity:0===e.count?.15:1,children:Une.jsx("title",{children:Wqi(e,t)})},n)})})})},qqi=Lse(e=>{const{stats:t,cellCount:n,countReady:i,darkMode:r}=e,s=void 0===t,o=!s&&void 0!==t.sum,a=!s&&void 0!==t.dateMin,l=!s&&void 0!==t.strMinLength,c=!s&&void 0!==t.distributionBuckets&&t.distributionBuckets.length>=2;return Une.jsxs("div",{className:Bse("query-builder__result__tds-grid__stats-bar",{"query-builder__result__tds-grid__stats-bar--dark":r}),children:[Une.jsxs("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Count:"}),Une.jsx("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:i?n:Une.jsx(zqi,{})}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&Une.jsx(jqi,{frequencies:t.valueFrequencies,darkMode:r})]}),Une.jsxs("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Unique Count:"}),Une.jsx("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:s?Une.jsx(zqi,{}):t.uniqueCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&Une.jsx(jqi,{frequencies:t.valueFrequencies,darkMode:r})]}),Une.jsxs("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Empty Count:"}),Une.jsx("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:s?Une.jsx(zqi,{}):t.nullCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&Une.jsx(jqi,{frequencies:t.valueFrequencies,darkMode:r})]}),o&&Une.jsxs(Une.Fragment,{children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:Hqi(t.min??0)})]}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:Hqi(t.max??0)})]}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Sum:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:Hqi(t.sum??0)})]}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Avg:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:Hqi(t.avg??0)})]})]}),a&&Une.jsxs(Une.Fragment,{children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMin})]}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMax})]})]}),l&&Une.jsxs(Une.Fragment,{children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min Length:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMinLength})]}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max Length:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMaxLength})]})]}),c&&Une.jsxs(Une.Fragment,{children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),Une.jsx($qi,{buckets:t.distributionBuckets??[],chartType:t.distributionChartType??"numeric",darkMode:r})]})]})}),Yqi=new Set([Xb.INTEGER,Xb.FLOAT,Xb.DECIMAL,Xb.NUMBER]),Kqi=new Set([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME]),Xqi=new Set([Xb.STRING]),Zqi=e=>{if(0===e.length)return[];const t=Math.min(...e),n=Math.max(...e),i=n-t;if(0===i)return[{lower:t,upper:n,count:e.length}];const r=e.every(e=>Number.isInteger(e)),s=n-t+1;let o;o=r&&s<=20?s:Math.min(20,Math.ceil(Math.log2(e.length)+1));const a=i/o,l=Array.from({length:o},(e,n)=>({lower:t+n*a,upper:t+(n+1)*a,count:0}));for(const n of e){const e=l[Math.min(o-1,Math.floor((n-t)/a))];e&&(e.count+=1)}return l},Qqi=e=>{const t=new Date(e);return 0===t.getUTCHours()&&0===t.getUTCMinutes()&&0===t.getUTCSeconds()&&0===t.getUTCMilliseconds()?t.toISOString().slice(0,10):t.toISOString().replace("T"," ").slice(0,19)},Jqi=e=>"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):null==e?"":JSON.stringify(e),eYi=(e,t,n)=>{const i=t.map(String).filter(e=>e.length>0),r=[...i].sort((e,t)=>e.localeCompare(t)),s=(e=>{if(0===e.length)return[];const t=e.map(e=>Date.parse(e)).filter(e=>!Number.isNaN(e));return 0===t.length?[]:Zqi(t).map(e=>({...e,lowerDateLabel:Qqi(e.lower),upperDateLabel:Qqi(e.upper)}))})(i);return{...e,dateMin:r[0],dateMax:r[r.length-1],distributionBuckets:s.length>=2?s:void 0,distributionChartType:s.length>=2?"date":void 0,valueFrequencies:n}},tYi=(e,t)=>{if(e.length<2)return;const n=e.length,i=e.filter(e=>null===e.value||void 0===e.value||""===e.value).length,r=e.map(e=>e.value).filter(e=>null!=e&&""!==e),s=new Set(r).size,o=((e,t)=>{const n=n=>[...e].every(e=>{const i=t.get(e);return void 0!==i&&n.has(i)});return n(Yqi)?"numeric":n(Kqi)?"date":n(Xqi)?"string":"mixed"})(new Set(e.map(e=>e.columnName)),t),a=r.length>0||i>0?((e,t)=>{const n=new Map;for(const t of e){const e=Jqi(t);n.set(e,(n.get(e)??0)+1)}const i=[...n.entries()].sort((e,t)=>t[1]-e[1]),r=i.slice(0,10),s=i.slice(10).reduce((e,[,t])=>e+t,0),o=r.map(([e,t])=>({label:e,count:t}));return s>0&&o.push({label:"(other)",count:s,isOther:!0}),t>0&&o.push({label:"(empty)",count:t,isEmpty:!0}),o})(r,i):void 0,l=((e,t,n,i)=>({count:e,uniqueCount:t,nullCount:n,min:void 0,max:void 0,sum:void 0,avg:void 0,dateMin:void 0,dateMax:void 0,strMinLength:void 0,strMaxLength:void 0,distributionBuckets:void 0,distributionChartType:void 0,valueFrequencies:i}))(n,s,i,a);return"numeric"===o?((e,t,n)=>{const i=t.map(e=>{if(null===e.value||void 0===e.value||""===e.value)return null;const t=Number(e.value);return Number.isNaN(t)?null:t}).filter(e=>null!==e);if(0===i.length)return{...e,valueFrequencies:n};const r=i.reduce((e,t)=>e+t,0);return{...e,min:Math.min(...i),max:Math.max(...i),sum:r,avg:r/i.length,distributionBuckets:Zqi(i),distributionChartType:"numeric",valueFrequencies:n}})(l,e,a):"date"===o?eYi(l,r,a):"string"===o?((e,t,n)=>{const i=t.map(e=>Jqi(e).length).filter(e=>e>0);return{...e,strMinLength:i.length>0?Math.min(...i):void 0,strMaxLength:i.length>0?Math.max(...i):void 0,distributionBuckets:i.length>0?Zqi(i):void 0,distributionChartType:i.length>0?"string-length":void 0,valueFrequencies:n}})(l,r,a):l},nYi=e=>{try{const t=e.getCellRanges();if(!t||0===t.length)return 0;let n=0;for(const e of t){const t=e.startRow?.rowIndex??0,i=e.endRow?.rowIndex??0;n+=(Math.abs(i-t)+1)*e.columns.length}return n}catch{return 0}},iYi=(e,t,i,r)=>{const[s,o]=n.useState(!1),[a,l]=n.useState(0),[c,u]=n.useState(!1),[d,h]=n.useState(void 0),p=n.useRef(t);n.useEffect(()=>{p.current=t});const g=n.useRef(r);if(n.useEffect(()=>{g.current=r}),n.useEffect(()=>{const e=i.current;if((e?nYi(e):g.current?.length??0)<2)return o(!1),l(0),u(!1),void h(void 0);o(!0),l(0),u(!1),h(void 0);let t=!1;const n=globalThis.setTimeout(()=>{if(t)return;const e=i.current,n=e?nYi(e):g.current?.length??0;n>=2?(l(n),u(!0)):(o(!1),l(0),u(!1))},50);let r=0;const s=globalThis.setTimeout(()=>{t||(r=requestAnimationFrame(()=>{if(t)return;const e=i.current,n=e?(e=>{const t=e.getCellRanges();if(!t||0===t.length)return[];const n=new Map;e.forEachNode(e=>{null!==e.rowIndex&&e.data&&n.set(e.rowIndex,e.data)});const i=e.getColumns()??[],r=new Map;i.forEach((e,t)=>{r.set(e.getColId(),t)});const s=new Map;for(const e of t){const t=e.startRow?.rowIndex??0,i=e.endRow?.rowIndex??0,o=Math.min(t,i),a=Math.max(t,i);for(let t=o;t<=a;t++){const i=n.get(t);if(i)for(const n of e.columns){const e=n.getColId(),o=`${t}|${e}`;s.has(o)||s.set(o,{value:i[e],columnName:e,coordinates:{rowIndex:t,colIndex:r.get(e)??-1}})}}}return Array.from(s.values())})(e):g.current??[],r=tYi(n,p.current);l(n.length),u(!0),h(r)}))},200);return()=>{t=!0,globalThis.clearTimeout(n),globalThis.clearTimeout(s),0!==r&&cancelAnimationFrame(r)}},[e,i]),s)return{cellCount:a,countReady:c,stats:d}},rYi=(e,t,n,i)=>{const r=n.queryBuilderState.fetchStructureState.implementation;return r instanceof DVi?[{name:"Filter By",action:()=>{Z$i(t,n.mousedOverCell,!0,r).catch(i)}},{name:"Filter Out",action:()=>{Z$i(t,n.mousedOverCell,!1,r).catch(i)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]:[]},sYi=4,oYi=e=>Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[Une.jsx("div",{className:"query-builder__result__values__table__custom-header__icon",title:"some values have been rounded using en-us format in this preview grid (defaults to max 4 decimal places)",children:Une.jsx(_ie,{})}),Une.jsx("div",{children:e.displayName})]}),aYi=(e,t)=>{const n=e.builder.columns.findIndex(e=>e.name===t);if(n>=0){const t=e.builder.columns[n]?.type,i=e.result.rows.map(e=>e.values[n]),r=e=>Boolean(e.some(e=>{if(e){const t=e.toString().split(".")[1];return t&&t.length>sYi}return!1}));switch(t){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:oYi}}:{};default:return{}}}return{}},lYi=Lse(e=>{const t=e.resultState,n=e.tdsExecutionResult,i=e.value,r=dr(e.node.rowIndex),s=_r(i)&&Dh(i)?i:void 0,o=e.column?.getColId()??"",a=(e,t)=>({rowIndex:t,colIndex:n.result.columns.findIndex(t=>t===e)}),l=a(o,r),c=t.selectedCells.some(e=>e.coordinates.colIndex===l.colIndex&&e.coordinates.rowIndex===l.rowIndex),u=e=>{if(t.executionResult&&t.executionResult instanceof NX)return t.executionResult.result.columns[e]},d=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof NX)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>kX(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>kX(t,e,r)),t.executionResult.result.rows[i]?.values[r]},h=e=>{if(e.preventDefault(),e.shiftKey){const e=a(o,r),n=d([e.rowIndex,e.colIndex]);return void t.addSelectedCell({value:n,columnName:o,coordinates:e})}if(0===e.button){t.setIsSelectingCells(!0),t.setSelectedCells([]);const e=a(o,r),n=d([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:o,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}if(2===e.button){const e=a(o,r);if(!(n=e,t.selectedCells.some(e=>e.coordinates.rowIndex===n.rowIndex&&e.coordinates.colIndex===n.colIndex))){const n=d([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:o,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}}var n};return Une.jsx("div",{className:Bse("query-builder__result__values__table__cell",{"query-builder__result__values__table__cell--active":c}),onMouseDown:e=>h(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>(()=>{if(t.isSelectingCells){if(t.selectedCells.length<1)return;const e=t.selectedCells[0];if(!e)return;const n=e.coordinates,i=a(o,r);t.setSelectedCells([e]);const s=Math.min(n.rowIndex,i.rowIndex),l=Math.min(n.colIndex,i.colIndex),c=Math.max(n.rowIndex,i.rowIndex),h=Math.max(n.colIndex,i.colIndex);for(let e=s;e<=c;e++)for(let n=l;n<=h;n++){const i={value:d([e,n]),columnName:u(n),coordinates:{rowIndex:e,colIndex:n}};t.selectedCells.find(t=>t.coordinates.colIndex===n&&t.coordinates.rowIndex===e)||t.addSelectedCell(i)}}t.setMouseOverCell(t.selectedCells[0]??null)})(),children:s?Une.jsx("a",{href:s,target:"_blank",rel:"noreferrer",children:s}):Une.jsx("span",{children:Cr(i)?Intl.NumberFormat(AVi,{maximumFractionDigits:sYi}).format(Number(i)):Sr(i)?String(i):i})})}),cYi=(e,t)=>{e.length>0&&(t.setSelectedCells(e),t.setMouseOverCell(e[0]??null))},uYi=Lse(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Wht(),o=i.resultState,a=!i.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,l=t.result.columns.map(e=>({minWidth:50,sortable:!0,resizable:!0,field:e,flex:1,headerName:e,...aYi(t,e),cellRenderer:lYi,cellRendererParams:{resultState:o,tdsExecutionResult:t}})),c=o.selectedCells,u=new Map(t.builder.columns.map(e=>[e.name,e.type])),d=n.useRef(null),h=iYi(c.length,u,d,c),p=n.useRef(null),g=n.useRef(null);n.useEffect(()=>{const e=p.current;if(!e)return;const n=e=>{const n=t.result.columns,i=t.result.rows;if(e.ctrlKey&&"KeyA"===e.code){e.preventDefault(),console.debug(`[TDS Simple Grid] Ctrl+A → selecting all: ${i.length} rows × ${n.length} columns`);const t=((e,t)=>{const n=[];return t.forEach((t,i)=>{e.forEach((e,r)=>{n.push({value:t.values[r],columnName:e,coordinates:{rowIndex:i,colIndex:r}})})}),n})(n,i);return void cYi(t,o)}if(e.ctrlKey&&"Space"===e.code){e.preventDefault();const t=g.current;if(!t)return;const r=((e,t)=>e.length>0?[...new Set(e.map(e=>e.coordinates.colIndex))]:[t])(o.selectedCells,t.colIndex);console.debug(`[TDS Simple Grid] Ctrl+Space → selecting ${r.length} column(s), ${i.length} rows`);const s=((e,t,n)=>{const i=[];return t.forEach((t,r)=>{n.forEach(n=>{i.push({value:t.values[n],columnName:e[n]??"",coordinates:{rowIndex:r,colIndex:n}})})}),i})(n,i,r);return void cYi(s,o)}if(e.shiftKey&&"Space"===e.code){e.preventDefault();const t=g.current;if(!t)return;const r=((e,t)=>e.length>0?[...new Set(e.map(e=>e.coordinates.rowIndex))]:[t])(o.selectedCells,t.rowIndex);console.debug(`[TDS Simple Grid] Shift+Space → selecting ${r.length} row(s), ${n.length} columns`);const s=((e,t,n)=>{const i=[];return n.forEach(n=>{e.forEach((e,r)=>{i.push({value:t[n]?.values[r],columnName:e,coordinates:{rowIndex:n,colIndex:r}})})}),i})(n,i,r);cYi(s,o)}};return e.addEventListener("keydown",n,{capture:!0}),()=>e.removeEventListener("keydown",n,{capture:!0})},[t.result.columns,t.result.rows,o]);const f=n.useCallback(e=>rYi(e,s,o,i.applicationStore.alertUnhandledError),[s,o,i.applicationStore.alertUnhandledError]);return Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Une.jsxs("div",{ref:p,tabIndex:-1,className:Bse("query-builder__result__tds-grid",{"query-builder__result__tds-grid--with-stats-bar":r,"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:[Une.jsx(S$i,{rowData:L$i(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,columnDefs:l,getContextMenuItems:e=>f(e),onCellClicked:e=>{const n=e.event;if(n?.ctrlKey||n?.shiftKey)return;const i=e.column.getColId(),r=t.result.columns.indexOf(i);console.debug(`[TDS Simple Grid] onCellClicked: col=${i} row=${e.rowIndex}`),g.current={colName:i,colIndex:r,rowIndex:e.rowIndex??0},p.current?.focus({preventScroll:!0})}}),r&&void 0!==h&&Une.jsx(qqi,{stats:h.stats,cellCount:h.cellCount,countReady:h.countReady,darkMode:a})]})})});var dYi;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(dYi||(dYi={}));const hYi=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case Xb.STRING:return{filter:"agTextColumnFilter",allowedAggFuncs:["count"]};case Xb.DATE:case Xb.DATETIME:case Xb.STRICTDATE:return{filter:"agDateColumnFilter",allowedAggFuncs:["count"]};case Xb.DECIMAL:case Xb.NUMBER:case Xb.INTEGER:case Xb.FLOAT:return{filter:"agNumberColumnFilter",allowedAggFuncs:["count","sum","max","min","avg","wavg"]};default:return{allowedAggFuncs:["count"]}}},pYi=Lse(e=>{const t=e.resultState,n=e.value,i=_r(n)&&Dh(n)?n:void 0;return Une.jsx("div",{className:Bse("query-builder__result__values__table__cell"),onMouseDown:e=>(e=>{0!==e.button&&2!==e.button||t.setMouseOverCell(t.selectedCells[0]??null)})(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>{t.setMouseOverCell(t.selectedCells[0]??null)},children:i?Une.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):Une.jsx("span",{children:Cr(n)?Intl.NumberFormat(AVi,{maximumFractionDigits:sYi}).format(Number(n)):Sr(n)?String(n):n})})}),gYi=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case Xb.DATE:case Xb.DATETIME:case Xb.STRICTDATE:return{filter:"agDateColumnFilter"};case Xb.DECIMAL:case Xb.INTEGER:case Xb.NUMBER:case Xb.FLOAT:return{filter:"agNumberColumnFilter"};default:return{filter:!0}}},fYi=Lse(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Wht(),o=!s.layoutService.TEMPORARY__isLightColorThemeEnabled,[a,l]=n.useState(void 0),[c,u]=n.useState(void 0),d=i.resultState,h=i.isLocalModeEnabled,p=h?((e,t)=>e.result.columns.map(n=>{const i={minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,enablePivot:!0,enableRowGroup:!0,enableValue:!0,cellRenderer:pYi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...hYi(e,n),...aYi(e,n)},r=t.gridConfig?.columns.find(e=>e.colId===n);return r&&(r.width&&(i.width=r.width),i.pinned=r.pinned??null,i.rowGroup=r.rowGroup??!1,i.rowGroupIndex=r.rowGroupIndex??null,i.aggFunc=r.aggFunc??null,i.pivot=r.pivot??!1,i.hide=r.hide??!1),i}))(t,d):((e,t)=>e.result.columns.map(n=>({minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,cellRenderer:pYi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...gYi(e,n),...aYi(e,n)})))(t,d),g=()=>{a&&d.setGridConfig({columns:a.getColumnState(),isPivotModeEnabled:a.isPivotMode(),isLocalModeEnabled:!0,previewLimit:d.previewLimit,...d.wavgAggregationState?.weightedColumnIdPairs&&{weightedColumnPairs:d.wavgAggregationState.weightedColumnIdPairs}})},f=n.useCallback(e=>rYi(e,s,d,i.applicationStore.alertUnhandledError),[s,d,i.applicationStore.alertUnhandledError]),m=a?.getColumns()?.filter(e=>"number"===e.getColDef().cellDataType).map(e=>({label:e.getColId(),value:e.getColId()})),v=c?.colDef.field&&d.wavgAggregationState?.weightedColumnIdPairs.get(c.colDef.field)?{label:dr(d.wavgAggregationState.weightedColumnIdPairs.get(c.colDef.field)),value:dr(d.wavgAggregationState.weightedColumnIdPairs.get(c.colDef.field))}:null;n.useEffect(()=>{c&&c.api.setColumnAggFunc(dr(c.colDef.field),dYi.WAVG)},[d.wavgAggregationState,c]);const[y,b]=n.useState(0),_=new Map(t.builder.columns.map(e=>[e.name,e.type])),C=n.useRef(null),S=iYi(y,_,C);return Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Une.jsxs("div",{className:Bse("query-builder__result__tds-grid",{"query-builder__result__tds-grid--with-stats-bar":r,"ag-theme-balham":!o,"ag-theme-balham-dark":o}),children:[h?Une.jsx(S$i,{rowData:L$i(t),onGridReady:e=>{C.current=e.api,l(e.api),e.api.updateGridOptions({pivotMode:Boolean(d.gridConfig?.isPivotModeEnabled)})},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,pivotPanelShow:"always",rowGroupPanelShow:"always",cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:p,aggFuncs:{wavg:e=>{e.colDef.field?(d.wavgAggregationState||d.setWavgAggregationState(new yYi),d.wavgAggregationState?.addWeightedColumnIdPair(e.colDef.field,e.colDef.field),d.wavgAggregationState?.setIsApplyingWavg(!0),u(e)):s.notificationService.notifyError("The id of this column can`t be retrieved to perform weighted average")},WAVG:e=>{try{const t=e.colDef.field;if(t){const n=d.wavgAggregationState?.weightedColumnIdPairs.get(t);if(n){const i=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]).reduce((e,t)=>e+t),r=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]*e.data[t]).reduce((e,t)=>e+t);if(0!==i)return g(),r/i;s.notificationService.notifyError("The weighted column sum is 0")}else s.notificationService.notifyError("The weighted column Id is not defined")}}catch(e){bi(e),s.notificationService.notifyError(e)}return-1}},sideBar:["columns","filters"],onColumnVisible:g,onColumnPinned:g,onColumnResized:g,onColumnRowGroupChanged:g,onColumnValueChanged:g,onColumnPivotChanged:g,onColumnPivotModeChanged:g,onCellSelectionChanged:()=>{console.debug("[TDS Grid (local)] onCellSelectionChanged"),b(e=>e+1)},onCellClicked:e=>{const t=e.event;t?.ctrlKey||t?.shiftKey||(console.debug(`[TDS Grid (local)] onCellClicked: col=${e.column.getColId()} row=${e.rowIndex}`),null!==e.rowIndex&&e.api.setFocusedCell(e.rowIndex,e.column))},onCellKeyDown:e=>{Gqi(e)}}):Une.jsx(S$i,{rowData:L$i(t),onGridReady:e=>{C.current=e.api},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},onCellSelectionChanged:()=>{console.debug("[TDS Grid] onCellSelectionChanged"),b(e=>e+1)},onCellClicked:e=>{const t=e.event;t?.ctrlKey||t?.shiftKey||(console.debug(`[TDS Grid] onCellClicked: col=${e.column.getColId()} row=${e.rowIndex}`),null!==e.rowIndex&&e.api.setFocusedCell(e.rowIndex,e.column))},suppressFieldDotNotation:!0,suppressClipboardPaste:!1,suppressContextMenu:!1,columnDefs:p,getContextMenuItems:e=>f(e),onCellKeyDown:e=>{Gqi(e)}}),r&&void 0!==S&&Une.jsx(qqi,{stats:S.stats,cellCount:S.cellCount,countReady:S.countReady,darkMode:o}),d.wavgAggregationState?.isApplyingWavg&&Une.jsx(cye,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Une.jsxs(EPe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[Une.jsx(TPe,{title:"Applying Weighted Average"}),Une.jsxs(RPe,{children:[Une.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),Une.jsx(CPe,{options:m,onChange:e=>{c?.colDef.field&&e?.value&&d.wavgAggregationState?.addWeightedColumnIdPair(c.colDef.field,e.value)},value:v,placeholder:"Choose a weighted column",darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Une.jsx(NPe,{children:Une.jsx(DPe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var mYi;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(mYi||(mYi={}));class vYi{applicationStore;selectedTab=mYi.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){hd(this,{selectedTab:Rc,lineageData:Rc,isLineageViewerOpen:Rc,selectedPropertyOwnerNode:Rc,selectedProperty:Rc,selectedSourcePropertiesMap:Rc,setSelectedTab:Pu,setLineageData:Pu,setIsLineageViewerOpen:Pu,setSelectedPropertyOwnerNode:Pu,setSelectedProperty:Pu,setSelectedSourcePropertiesMap:Pu,clearPropertySelections:Pu}),this.applicationStore=e}setSelectedTab(e){this.selectedTab=e}setLineageData(e){this.lineageData=e}setIsLineageViewerOpen(e){this.isLineageViewerOpen=e}setSelectedPropertyOwnerNode(e){this.selectedPropertyOwnerNode=e}setSelectedProperty(e){this.selectedProperty=e}setSelectedSourcePropertiesMap(e){this.selectedSourcePropertiesMap=e}clearPropertySelections(){this.selectedProperty=void 0,this.selectedPropertyOwnerNode=void 0,this.selectedSourcePropertiesMap=void 0}}class yYi{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){hd(this,{isApplyingWavg:Rc,weightedColumnIdPairs:Rc,setIsApplyingWavg:Pu,addWeightedColumnIdPair:Pu,removeWeightedColumnIdPair:Pu}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class bYi{queryBuilderState;executionPlanState;exportState=Py.create();previewLimit=1e3;pressedRunQuery=Py.create();isRunningQuery=!1;isGeneratingPlan=!1;executionResult;isExecutionResultOverflowing=!1;executionDuration;executionTraceId;latestRunHashCode;queryRunPromise=void 0;isQueryUsageViewerOpened=!1;executionError;selectedCells;mousedOverCell=null;isSelectingCells;gridConfig;wavgAggregationState;lineageState;isGeneratingLineage=!1;constructor(e){hd(this,{executionResult:Rc,executionTraceId:Rc,previewLimit:Rc,executionDuration:Rc,latestRunHashCode:Rc,queryRunPromise:Rc,isGeneratingPlan:Rc,selectedCells:Rc,mousedOverCell:Rc,isRunningQuery:Rc,isSelectingCells:Rc,isQueryUsageViewerOpened:Rc,isExecutionResultOverflowing:Rc,gridConfig:Rc,wavgAggregationState:Rc,executionError:Rc,setGridConfig:Pu,setWavgAggregationState:Pu,setIsSelectingCells:Pu,setIsRunningQuery:Pu,setExecutionResult:Pu,setExecutionTraceId:Pu,setExecutionDuration:Pu,setPreviewLimit:Pu,addSelectedCell:Pu,setSelectedCells:Pu,setMouseOverCell:Pu,setQueryRunPromise:Pu,setIsQueryUsageViewerOpened:Pu,setIsExecutionResultOverflowing:Pu,handlePreConfiguredGridConfig:Pu,updatePreviewLimitInConfig:Pu,setExecutionError:Pu,exportData:Ju,runQuery:Ju,cancelQuery:Ju,generatePlan:Ju,generateLineage:Ju}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new Bqi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new vYi(this.queryBuilderState.applicationStore)}setGridConfig(e){this.gridConfig=e}setWavgAggregationState(e){this.wavgAggregationState=e}setIsSelectingCells(e){this.isSelectingCells=e}setIsRunningQuery(e){this.isRunningQuery=e}setExecutionResult(e){this.executionResult=e}setExecutionTraceId(e){this.executionTraceId=e}setExecutionDuration(e){this.executionDuration=e}setPreviewLimit(e){this.previewLimit=Math.max(1,e)}addSelectedCell(e){this.selectedCells.some(t=>t.coordinates.rowIndex===e.coordinates.rowIndex&&t.coordinates.colIndex===e.coordinates.colIndex)||this.selectedCells.push(e)}setSelectedCells(e){this.selectedCells=e}setMouseOverCell(e){this.mousedOverCell=e}setQueryRunPromise(e){this.queryRunPromise=e}setIsQueryUsageViewerOpened(e){this.isQueryUsageViewerOpened=e}setExecutionError(e){this.executionError=e}setIsExecutionResultOverflowing(e){this.isExecutionResultOverflowing=e}updatePreviewLimitInConfig(){this.gridConfig&&(this.gridConfig.previewLimit=this.previewLimit)}getExecutionResultLimit=()=>Math.min(this.queryBuilderState.fetchStructureState.implementation instanceof DVi&&this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit?this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit:Number.MAX_SAFE_INTEGER,this.previewLimit);processExecutionResult=e=>{if(this.setIsExecutionResultOverflowing(!1),e instanceof NX&&this.queryBuilderState.isQuerySupported){const t=this.getExecutionResultLimit();e.result.rows.length>t&&(this.setIsExecutionResultOverflowing(!0),e.result.rows=e.result.rows.slice(0,t))}this.setExecutionResult(e)};processWeightedColumnPairsMap(e){if(e.weightedColumnPairs){const t=e.columns.filter(e=>e.aggFunc===dYi.WAVG).map(e=>e.colId),n=new Map;e.weightedColumnPairs.forEach(e=>{e[0]&&e[1]&&n.set(e[0],e[1])});for(const e of n.keys())t.includes(e)||n.delete(e);return n}}handlePreConfiguredGridConfig(e){let t;const n=this.processWeightedColumnPairsMap(e);n?(this.wavgAggregationState=new yYi,this.wavgAggregationState.weightedColumnIdPairs=n,t={...e,weightedColumnPairs:n,columns:e.columns}):t={...e,columns:e.columns},e.previewLimit&&this.setPreviewLimit(e.previewLimit),this.setGridConfig(t)}getQueryGridConfig(){if(this.gridConfig)return{...this.gridConfig,columns:this.gridConfig.columns}}get checkForStaleResults(){return this.latestRunHashCode!==this.queryBuilderState.hashCode}buildExecutionRawLambda(e){let t;if(this.queryBuilderState.isQuerySupported){const n=vBi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=s6(n,this.queryBuilderState.graphManagerState)}else if(t=dr(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return lBi(t,this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);return t}*exportData(e){try{this.exportState.inProgress(),this.queryBuilderState.applicationStore.notificationService.notifySuccess(`Export ${e} will run in background`);const t=this.queryBuilderState.fetchStructureState.implementation.getExportDataInfo(e),n=t.contentType,i=t.serializationFormat,r=this.buildExecutionRawLambda({isExportingResult:!0});Ggt.logEvent_ExportQueryDataLaunched(this.queryBuilderState.applicationStore.telemetryService);const s=yield this.queryBuilderState.graphManagerState.graphManager.exportData(r,this.queryBuilderState.executionContextState.explicitMappingValue,this.queryBuilderState.executionContextState.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{serializationFormat:i,parameterValues:aBi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},void 0,n);if("true"===s.headers.get(nQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=d5(this.queryBuilderState.graphManagerState.graph);Ngt(s,`result.${Ch(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());Ggt.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e),this.exportState.complete()}}*runQuery(){let e;try{this.setIsRunningQuery(!0);const t=this.queryBuilderState.hashCode;this.queryBuilderState.requiresMappingForExecution&&dr(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),dr(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const n=this.buildExecutionRawLambda({withDataOverflowCheck:!0}),i=aBi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);Ggt.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new Fy,s=d5(this.queryBuilderState.graphManagerState.graph),o=this.queryBuilderState.executionContextState;e=this.queryBuilderState.graphManagerState.graphManager.runQuery(n,o.explicitMappingValue,o.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{parameterValues:i,convertUnsafeNumbersToString:!0,preservedResponseHeadersList:[tQ],tracingtags:{...this.queryBuilderState.sourceInfo},forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements}),this.setQueryRunPromise(e);const a=yield e;if(this.queryRunPromise===e){this.processExecutionResult(a.executionResult),a.executionTraceId&&this.setExecutionTraceId(a.executionTraceId),this.latestRunHashCode=t,this.setExecutionDuration(r.elapsed),s.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(r,s.timings);const e=Object.assign({},s,this.queryBuilderState.getStateInfo());Ggt.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(bi(t),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof TZ&&t.executionTraceId&&this.setExecutionTraceId(t.executionTraceId))}finally{this.setIsRunningQuery(!1),this.pressedRunQuery.complete()}}*cancelQuery(){this.pressedRunQuery.complete(),this.setIsRunningQuery(!1),this.setQueryRunPromise(void 0);try{yield this.queryBuilderState.graphManagerState.graphManager.cancelUserExecutions(!0)}catch(e){this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.EXECUTION_FAILURE),e)}}*generatePlan(e){try{this.isGeneratingPlan=!0,this.queryBuilderState.requiresMappingForExecution&&dr(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),dr(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const t=this.queryBuilderState.buildQuery();let n;const i=new Fy,r=d5(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){Ggt.logEvent_ExecutionPlanDebugLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=yield this.queryBuilderState.graphManagerState.graphManager.debugExecutionPlanGeneration(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else Ggt.logEvent_ExecutionPlanGenerationLaunched(this.queryBuilderState.applicationStore.telemetryService),n=yield this.queryBuilderState.graphManagerState.graphManager.generateExecutionPlan(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);i.record();try{this.executionPlanState.setRawPlan(n);const e=this.queryBuilderState.graphManagerState.graphManager.buildExecutionPlan(n,this.queryBuilderState.graphManagerState.graph);this.executionPlanState.initialize(e)}catch{}i.record(Ogt.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?Ggt.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):Ggt.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingPlan=!1}}*generateLineage(){if(!this.isGeneratingLineage)try{this.isGeneratingLineage=!0;const e=this.buildExecutionRawLambda(),t=yield this.queryBuilderState.graphManagerState.graphManager.generateLineage(e,this.queryBuilderState.executionContextState.explicitMappingValue,void 0,this.queryBuilderState.graphManagerState.graph,void 0),n=this.queryBuilderState.graphManagerState.graphManager.buildLineage(t);this.lineageState.setLineageData(n)}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class _Yi{queryBuilderState;rawLambda;lambdaError;constructor(e){hd(this,{rawLambda:Rc,lambdaError:Rc,setRawLambda:Pu,setLambdaError:Pu,hashCode:kc}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return mv([Ift.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const CYi="QUERY_BUILDER_FUNCTION",SYi=(e,t)=>t===Kb.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,wYi=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof sC)).filter(t=>t instanceof K_&&SYi(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),EYi=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),xYi=(e,t,n,i=Kb.MAIN)=>{const r=i===Kb.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=SYi(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof K_&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>wYi(e,t,i)),c=o?.map(e=>r?.get(e)).filter(cr).map(e=>EYi(e));l.concat(c??[]).forEach(e=>{const t=n.nodes.get(e.id);t?(t.childrenIds=e.childrenIds,t.label=e.label):n.nodes.set(e.id,e)})},TYi=(e,t,n=Kb.MAIN)=>{const i=[],r=new Map,s=SYi(t,n);if(n===Kb.PROJECT_DEPENDENCY_ROOT){if(!t.functionsExplorerState.dependencyFunctionInfoMap||0===Array.from(t.functionsExplorerState.dependencyFunctionInfoMap).length)return{rootIds:i,nodes:r}}else if(!t.functionsExplorerState.functionInfoMap||0===Array.from(t.functionsExplorerState.functionInfoMap).length)return{rootIds:i,nodes:r};return e.forEach(e=>{e.children.slice().filter(e=>e instanceof K_&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=wYi(t,e,n);jr(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},AYi=(e,t,n,i=Kb.MAIN)=>(xYi(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(cr).sort(SPe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),RYi=e=>e.package?(e instanceof K_?[e]:[]).concat([e.package].concat(RYi(e.package))):[];class NYi{uuid=Mr();queryFunctionsState;functionAnalysisInfo;constructor(e,t){hd(this,{functionAnalysisInfo:Rc}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class IYi{initState=Py.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){hd(this,{functionExplorerStates:Rc.ref,setFunctionExplorerStates:Pu,dependencyFunctionExplorerStates:Rc.ref,setDependencyFunctionExplorerStates:Pu,treeData:Rc.ref,dependencyTreeData:Rc.ref,_functionGraph:Rc,functionInfoMap:Rc,dependencyFunctionInfoMap:Rc,packagePathToFunctionInfoMap:Rc,setFunctionInfoMap:Pu,setDependencyFunctionInfoMap:Pu,setTreeData:Pu,setPackagePathToFunctionInfoMap:Pu,setDependencyTreeData:Pu,refreshTree:Pu,onTreeNodeSelect:Pu,initializeTreeData:Pu}),this.queryBuilderState=e,this._functionGraph=this.queryBuilderState.graphManagerState.createNewGraph()}getTreeData(e=Kb.MAIN){return e===Kb.PROJECT_DEPENDENCY_ROOT?this.dependencyTreeData:this.treeData}setFunctionExplorerStates(e){this.functionExplorerStates=e}setDependencyFunctionExplorerStates(e){this.dependencyFunctionExplorerStates=e}setFunctionInfoMap(e){this.functionInfoMap=e}setDependencyFunctionInfoMap(e){this.dependencyFunctionInfoMap=e}setPackagePathToFunctionInfoMap(e){this.packagePathToFunctionInfoMap=e}async initializeDisplayablePackagesSet(){this.functionInfoMap&&Array.from(this.functionInfoMap.values()).map(e=>Bw(this._functionGraph,e.packagePath,void 0)).map(e=>RYi(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>Bw(this._functionGraph,e.packagePath,void 0)).map(e=>RYi(e)).flat().forEach(e=>this.dependencyDisplayablePackagesSet.add(e))}setTreeData(e){this.treeData=e}setDependencyTreeData(e){this.dependencyTreeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData}),this.dependencyTreeData&&(this.dependencyTreeData={...this.dependencyTreeData})}get nonNullableTreeData(){return dr(this.treeData,"Query builder functions explorer tree data has not been initialized")}onTreeNodeSelect=(e,t,n,i=Kb.MAIN)=>{if(t.package)if(t.childrenIds.length&&(t.isOpen=!t.isOpen,xYi(e,t,n,i)),i===Kb.PROJECT_DEPENDENCY_ROOT)this.setDependencyTreeData({...n});else this.setTreeData({...n})};initializeFunctionInfoMap(){const e=new Map,t=new Map;if(lE(this.queryBuilderState.graphManagerState.graph.ownFunctions,this._functionGraph).forEach(t=>e.set(t.functionPath,t)),this.queryBuilderState.graphManagerState.graph.dependencyManager.hasDependencies){const e=this.queryBuilderState.graphManagerState.graph.dependencyManager.functions;lE(e,this._functionGraph).forEach(e=>t.set(e.functionPath,e))}const n=this.queryBuilderState.buildFunctionAnalysisInfo();n&&(Array.from(n.functionInfoMap.entries()).forEach(([t,n])=>e.set(t,n)),Array.from(n.dependencyFunctionInfoMap.entries()).forEach(([e,n])=>{t.set(e,n)}));const i=new Map;Array.from(e.values()).concat(Array.from(t.values())).forEach(e=>{const t=i.get(e.packagePath);t?i.set(e.packagePath,[...t,e]):i.set(e.packagePath,[e])}),this.setPackagePathToFunctionInfoMap(i),this.setFunctionInfoMap(e),this.setDependencyFunctionInfoMap(t)}initializeTreeData(){this.initState.isInInitialState&&(this.initState.inProgress(),this.initializeFunctionInfoMap(),this.initializeDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setTreeData(TYi([this._functionGraph.root],this.queryBuilderState,Kb.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new NYi(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(TYi([this._functionGraph.root],this.queryBuilderState,Kb.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new NYi(this,e)):[])}),this.initState.pass())}}class DYi extends dBi{queryBuilderState;selectedParameter;constructor(e){super(),hd(this,{parameterValuesEditorState:Rc,parameterStates:Rc,addParameter:Pu,removeParameter:Pu,setParameters:Pu,selectedParameter:Rc,setSelectedParameter:Pu,hashCode:jl}),this.queryBuilderState=e}get hashCode(){return mv([Ift.PARAMETERS_STATE,mv(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class kYi extends w$i{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return wft(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return E$i(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Zgt.IS_AFTER_DAY:Zgt.GREATER_THAN,t)}buildFilterConditionState(e,t){return T$i(e,t,x$i(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_AFTER_DAY:Zgt.GREATER_THAN,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_GREATER_THAN])}}class OYi extends w$i{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return Sft(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return E$i(e,Zgt.STARTS_WITH,t)}buildFilterConditionState(e,t){return T$i(e,t,Zgt.STARTS_WITH,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_START_WITH])}}class LYi extends OYi{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_NOT_START_WITH])}}class MYi extends w$i{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return wft(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return E$i(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Zgt.IS_ON_OR_AFTER_DAY:Zgt.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return T$i(e,t,x$i(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_OR_AFTER_DAY:Zgt.GREATER_THAN_EQUAL,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class PYi extends w$i{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return wft(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return E$i(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Zgt.IS_ON_OR_BEFORE_DAY:Zgt.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return T$i(e,t,x$i(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_OR_BEFORE_DAY:Zgt.LESS_THAN_EQUAL,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class FYi extends w$i{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return wft(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return E$i(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Zgt.IS_BEFORE_DAY:Zgt.LESS_THAN,t)}buildFilterConditionState(e,t){return T$i(e,t,x$i(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_BEFORE_DAY:Zgt.LESS_THAN,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_LESS_THAN])}}class BYi extends w$i{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return Sft(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return E$i(e,Zgt.ENDS_WITH,t)}buildFilterConditionState(e,t){return T$i(e,t,Zgt.ENDS_WITH,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_END_WITH])}}class VYi extends BYi{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_NOT_END_WITH])}}class UYi extends w$i{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return Sft(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return E$i(e,Zgt.CONTAINS,t)}buildFilterConditionState(e,t){return T$i(e,t,Zgt.CONTAINS,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_CONTAIN])}}class GYi extends UYi{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_NOT_CONTAIN])}}var HYi;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(HYi||(HYi={}));class zYi{changeDetectionState;initialQuery;currentQuery;mode=HYi.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){hd(this,{mode:Rc,initialQueryGrammarText:Rc,currentQueryGrammarText:Rc,setMode:Pu,generateGrammarDiff:Ju}),this.changeDetectionState=e,this.initialQuery=t,this.currentQuery=n}setMode(e){this.mode=e}*generateGrammarDiff(){try{this.initialQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.initialQuery,!0)}catch(e){bi(e),this.initialQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}try{this.currentQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.currentQuery,!0)}catch(e){bi(e),this.currentQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}}}class jYi{querybuilderState;initState=Py.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){hd(this,{diffViewState:Rc,querySnapshot:Rc,hashCodeSnapshot:Rc,hasChanged:kc,initialize:Pu,showDiffViewPanel:Pu,hideDiffViewPanel:Pu}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return ur(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new zYi(this,this.querySnapshot,this.querybuilderState.buildQuery())}hideDiffViewPanel(){this.diffViewState=void 0}get hasChanged(){return!!this.initState.hasCompleted&&this.querybuilderState.hashCode!==this.hashCodeSnapshot}initialize(e){this.initState.inProgress(),this.hashCodeSnapshot=this.querybuilderState.hashCode,this.querySnapshot=e,this.initState.complete()}alertUnsavedChanges(e){this.hasChanged?this.querybuilderState.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:Apt.PROCEED,default:!0}]}):e()}}const WYi=e=>e instanceof oS?`${jb}${e.name}`:e instanceof lS&&e.genericType.value.rawType===B_.STRICTDATE?e.values[0]:e instanceof lS&&e.genericType.value.rawType===B_.LATESTDATE?"%latest":"(unknown)",$Yi=(e,t)=>{const n=rE(e,t.graphManagerState.graph);return Une.jsx("div",{className:Bse("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:Une.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},qYi=Lse(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Wht(),o=SMe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=n.toSorted((e,t)=>e.name.localeCompare(t.name)).map(e=>({value:e,label:$Yi(e,t)})),l=t.sourceClass?{value:t.sourceClass,label:$Yi(t.sourceClass,t)}:null;return Une.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:Une.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Une.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),Une.jsx(CPe,{inputId:"query-builder__setup__class-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector query-builder__setup__config-group__item__selector__milestoned",placeholder:a.length?"Choose an entity...":r??"No entity found",disabled:a.length<1||1===a.length&&Boolean(l),noMatchMessage:r,options:a,onChange:e=>{e.value!==t.sourceElement&&(t.changeSourceElement(e.value),i?.(e.value))},value:l,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:zVi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),YYi=e=>({value:e,label:e instanceof Fj?e.packageableRuntime.value.name:"custom"}),KYi=e=>function(t){if(t.value instanceof Fj){const n=t.value;return zVi(e)(GVi(n.packageableRuntime.value))}return t.value instanceof Fj?t.value.packageableRuntime.value.name:Une.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[Une.jsx(ere,{}),Une.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},XYi=Lse(e=>{const{queryBuilderState:t}=e,n=Wht(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(GVi).sort(SPe),s=t.executionContextState.mapping?GVi(t.executionContextState.mapping):null,o=SMe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new Fj(__.create(e))).map(YYi).sort(SPe),l=t.executionContextState.runtimeValue?YYi(t.executionContextState.runtimeValue):null,c=SMe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof Fj?e.data.value.packageableRuntime.value.path:"custom"});return Une.jsxs("div",{className:"query-builder__setup__config-group",children:[Une.jsx(WPe,{title:"properties"}),Une.jsxs("div",{className:"query-builder__setup__config-group__content",children:[Une.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Une.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),Une.jsx(CPe,{inputId:"query-builder__setup__mapping-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:r.length?"Choose a mapping...":"No mapping found",disabled:t.isMappingReadOnly||!t.sourceElement,options:r,onChange:e=>{t.sourceElement&&e.value!==t.executionContextState.mapping&&!t.isMappingReadOnly&&t.changeMapping(e.value)},value:s,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:zVi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Une.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Une.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),Une.jsx(CPe,{inputId:"query-builder__setup__runtime-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:a.length?"Choose a runtime...":"No runtime found",disabled:t.isRuntimeReadOnly||!t.sourceElement||!t.executionContextState.mapping,options:a,onChange:e=>{e.value===t.executionContextState.runtimeValue||t.isRuntimeReadOnly||t.changeRuntime(e.value)},value:l,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:c,formatOptionLabel:KYi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Une.jsx("div",{className:"query-builder__setup__config-group__item",children:Une.jsx(qYi,{queryBuilderState:t,classes:i})})]})]})}),ZYi=Lse(e=>{const{queryBuilderState:t,children:n}=e,i=Wht().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]);let r=Une.jsx(Une.Fragment,{});for(const e of i){const n=e(t);if(void 0!==n){r=n;break}}return Une.jsxs("div",{className:Bse("query-builder__side-bar",t.sideBarClassName),children:[Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:Une.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??Une.jsx(XYi,{queryBuilderState:t})})}),Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),Une.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class QYi{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class JYi extends QYi{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${WYi(this.getMilestoningDate(0))}, Business Date: ${WYi(this.getMilestoningDate(1))}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(o_)),this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(a_))}buildParameterStatesFromMilestoningParameters(){return[this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof oS?this.milestoningState.businessDate.name:a_),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof oS?this.milestoningState.processingDate.name:o_)].filter(cr)}processGetAllParamaters(e){br(3===e.length,"Can't process getAll() expression: when used with a bitemporal milestoned class getAll() expects two parameters"),this.milestoningState.setProcessingDate(e[1]),this.milestoningState.setBusinessDate(e[2])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(0),"Milestoning class should have a parameter of type 'Date'")),e.parametersValues.push(dr(this.getMilestoningDate(1),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllWithDefaultParameters(e){const t=PPi(Zgt.NOW,B_.DATETIME);e.parametersValues.push(t),e.parametersValues.push(t)}buildGetAllVersionsInRangeParameters(e){throw new yi("Can't build getAllVersionsInRange() function: expects root class to be business temporal or processing temporal milestoned")}generateMilestoningDate(e,t,n,i,r,s){if(this.initializeMilestoningParameters(),0===r){if(i===n_.PROCESSING_TEMPORAL&&1===s?.parameterValues.length)return new ES(()=>dr(fr(n,_S).parametersValues[1]));let o;return e&&n&&!t?o=new ES(()=>dr(n.parametersValues[1])):(o=new ES(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===n_.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new ES(()=>dr(fr(s.propertyExpression.parametersValues[0],_S).parametersValues[1]));let o;return e&&n&&!t?o=new ES(()=>dr(n.parametersValues[2])):(o=new ES(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class eKi extends QYi{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${WYi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(a_))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof oS?this.milestoningState.businessDate.name:a_);return e?[e]:[]}processGetAllParamaters(e){br(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setBusinessDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new yi("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=PPi(Zgt.NOW,B_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===n_.BUSINESS_TEMPORAL?new ES(()=>dr(n.parametersValues[1])):new ES(()=>dr(n.parametersValues[2]));{const n=new ES(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class tKi extends QYi{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${WYi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(o_))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof oS?this.milestoningState.processingDate.name:o_);return e?[e]:[]}processGetAllParamaters(e){br(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setProcessingDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new yi("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=PPi(Zgt.NOW,B_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new ES(()=>dr(n.parametersValues[1]));{const n=new ES(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class nKi{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){hd(this,{processingDate:Rc,businessDate:Rc,startDate:Rc,endDate:Rc,showMilestoningEditor:Rc,setProcessingDate:Pu,setBusinessDate:Pu,setStartDate:Pu,setEndDate:Pu,setShowMilestoningEditor:Pu,clearMilestoningDates:Pu,setAllVersions:Pu,setAllVersionsInRange:Pu,initializeAllVersionsInRangeParameters:Pu,clearAllVersionsInRangeParameters:Pu,clearGetAllParameters:Pu,isAllVersionsEnabled:kc,isAllVersionsInRangeEnabled:kc,isMilestonedQuery:kc,hashCode:kc}),this.queryBuilderState=e,this.milestoningImplementations.push(new eKi(this,n_.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new tKi(this,n_.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new JYi(this,n_.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof DVi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof nFi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ES&&(e.isPropagatedValue=!1)}):e instanceof aFi&&e.projectionColumnState instanceof nFi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ES&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof QFi?e.condition.sourceState instanceof jFi&&e.condition.sourceState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ES&&(e.isPropagatedValue=!1)}):e instanceof XFi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.sourceClass?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ES&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===Xgt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Xgt.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){return void 0!==zw(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){const t=zw(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==n_.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===Xgt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Xgt.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===Xgt.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(Xgt.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(Xgt.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(Xgt.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(Xgt.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?vte(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?vte(e,this.queryBuilderState.observerContext):e}setShowMilestoningEditor(e){this.showMilestoningEditor=e}getMilestoningImplementation(e){return dr(this.milestoningImplementations.find(t=>t.stereotype===e))}initializeQueryMilestoningParameters(e){this.getMilestoningImplementation(e).initializeMilestoningParameters(!0)}setProcessingDate(e){this.processingDate=e?vte(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?vte(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(r_)),this.setEndDate(this.buildMilestoningParameter(s_))}clearGetAllParameters(){if(this.businessDate instanceof oS&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===fr(this.businessDate,oS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof oS&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===fr(this.processingDate,oS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof lS&&this.setBusinessDate(void 0),this.processingDate instanceof lS&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof oS&&!this.queryBuilderState.isVariableUsed(this.startDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.startDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}if(this.endDate instanceof oS&&!this.queryBuilderState.isVariableUsed(this.endDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.endDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}this.setStartDate(void 0),this.setEndDate(void 0)}clearMilestoningDates(){this.setBusinessDate(void 0),this.setProcessingDate(void 0)}updateMilestoningConfiguration(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){const t=zw(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new oS(e,T_.ONE,G_.create(new q_(B_.DATE))),n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e);if(n)return n;if(!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new cBi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new oS(e,T_.ONE,G_.create(new q_(B_.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new cBi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof oS){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);n&&n.setValue(t)}}getMilestoningParameterValue(e){let t=e;if(e instanceof oS){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&Rft(e,this.businessDate),n=!!this.processingDate&&Rft(e,this.processingDate),i=!!this.startDate&&Rft(e,this.startDate),r=!!this.endDate&&Rft(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof oS&&(t=e.name===fr(this.businessDate,oS).name),this.processingDate instanceof oS&&(t=t||e.name===fr(this.processingDate,oS).name),this.startDate instanceof oS&&(t=t||e.name===fr(this.startDate,oS).name),this.endDate instanceof oS&&(t=t||e.name===fr(this.endDate,oS).name),t}get hashCode(){return mv([Ift.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var iKi;!function(e){e.COMPILE="query-builder.compile"}(iKi||(iKi={}));const rKi={[iKi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class sKi{queryBuilderState;value;constructor(e){hd(this,{value:Rc,setValue:Pu,hashCode:kc}),this.queryBuilderState=e}getDefaultValue(){return new lS(G_.create(new q_(B_.STRING)))}setValue(e){this.value=e?vte(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&Rft(e,this.value)}get hashCode(){return mv([Ift.WATERMARK_STATE,this.value??""])}}class oKi{queryBuilderState;uuid=Mr();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return mv([Ift.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new lS(G_.create(new q_(B_.STRING)));e.values=[this.variable.name];const t=new bS(N_(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class aKi extends oKi{value;constructor(e,t,n){super(e,t),hd(this,{variable:Rc,value:Rc,setValueSpec:Pu,changeValSpecType:Pu}),this.value=vte(n,this.queryBuilderState.observerContext),vte(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=UPi(this.queryBuilderState.graphManagerState.graph,e,this.queryBuilderState.observerContext,this.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);this.setValueSpec(t)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}}setValueSpec(e){if(e instanceof oS)throw new vi("Can not assign a parameter to another parameter");this.value=vte(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&sft(this.variable,G_.create(new q_(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return mv([Ift.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class lKi extends ZPi{queryBuilderState;calculatedState;convertingLambdaToStringState=Py.create();constructor(e){super("",""),hd(this,{calculatedState:Rc,convertingLambdaToStringState:Rc,buildEmptyValueSpec:Rc}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(GPi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return qee([Pgt.QUERY_BUILDER,Pgt.CONSTANT,this.calculatedState.uuid])}*convertLambdaGrammarStringToObject(){if(this.lambdaString)try{this.convertingLambdaToStringState.inProgress();const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToValueSpecification(this.fullLambdaString);this.setParserError(void 0),this.calculatedState.setValue(e)}catch(e){bi(e),e instanceof wZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}finally{this.convertingLambdaToStringState.complete()}else this.clearErrors(),this.calculatedState.setValue(this.buildEmptyValueSpec()),this.convertingLambdaToStringState.complete()}*convertLambdaObjectToGrammarString(e){try{const t=this.calculatedState.value,n=yield this.queryBuilderState.graphManagerState.graphManager.valueSpecificationToPureCode(t,e?.pretty);this.setLambdaString(n),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}}}class cKi extends oKi{value;lambdaState;constructor(e,t,n){super(e,t),hd(this,{variable:Rc,lambdaState:Rc,value:Rc,setLambdaState:Pu,setValue:Pu}),this.value=n,this.lambdaState=new lKi(this),vte(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new sS(this.value)}}class uKi{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,hd(this,{constants:Rc,showConstantPanel:Rc,selectedConstant:Rc,addConstant:Pu,removeConstant:Pu,setShowConstantPanel:Pu,setSelectedConstant:Pu,convertToCalculated:Pu})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){jr(this.constants,e)}removeConstant(e){$r(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof oS&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new cKi(this.queryBuilderState,e.variable,t);br(Wr(this.constants,e,n),"Unable to convert to calculated constant")}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}get hashCode(){return mv([Ift.CONSTANT_STATE,mv(this.constants)])}}var dKi;!function(e){e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED="data-access-overview.chart.access-granted",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED="data-access-overview.chart.access-approved",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED="data-access-overview.chart.access-requested",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED="data-access-overview.chart.access-not-granted",e.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS="data-access-overview.chart.unsupported-access"}(dKi||(dKi={}));class hKi{uuid=Mr();specification;entitlementReport;constructor(e){hd(this,{entitlementReport:Rc,setEntitlementReport:Pu}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class pKi{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=Py.create();checkEntitlementsState=Py.create();datasets=[];constructor(e,t,n){hd(this,{datasets:Rc,entitlementCheckInfo:kc,fetchDatasetSpecifications:Ju,fetchDatasetEntitlementReports:Ju}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new hKi(e)),this.mapping=n.mapping,this.runtime=n.runtime,this.graphData=n.graphData,this.getQuery=n.getQuery}get entitlementCheckInfo(){const e=this.datasets.length;if(!e)return{total:e,data:[{label:"Access Granted",count:1,percentage:100,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof uJ).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof pJ).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof hJ).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof dJ).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const u=this.datasets.filter(e=>e.entitlementReport instanceof gJ).length,d=Math.round(u/e*100);t.data.push({label:"Unsupported",count:u,percentage:d,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});const h=e-n-r-o-l-u,p=Math.round(h/e*100);t.data.push({label:"Unknown",count:h,percentage:p,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=Gr(t.data,e);if(g+n.percentage>=100){n.percentage=100-g,t.data=t.data.slice(0,e+1);break}g+=n.percentage}return t}*fetchDatasetSpecifications(){this.surveyDatasetsState.inProgress();try{const e=yield this.graphManagerState.graphManager.surveyDatasets(this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets=e.map(e=>{const t=this.datasets.find(t=>t.specification.hashCode===e.hashCode);return t||new hKi(e)})}catch(e){bi(e),this.applicationStore.notificationService.notifyError(e)}finally{this.surveyDatasetsState.complete()}}*fetchDatasetEntitlementReports(){this.checkEntitlementsState.inProgress();try{const e=yield this.graphManagerState.graphManager.checkDatasetEntitlements(this.datasets.map(e=>e.specification),this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets.forEach(t=>{const n=e.find(e=>e.dataset.hashCode===t.specification.hashCode);n?t.setEntitlementReport(n):t.setEntitlementReport(void 0)});const t=[];e.forEach(e=>{if(!this.datasets.find(t=>t.specification.hashCode===e.dataset.hashCode)){const n=new hKi(e.dataset);n.setEntitlementReport(e),t.push(n)}}),this.datasets=this.datasets.concat(t)}catch(e){bi(e),this.applicationStore.notificationService.notifyError(e)}finally{this.checkEntitlementsState.complete()}}async intialize(){this.initialDatasets||await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}async refresh(){await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}}class gKi{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){hd(this,{showCheckEntitlementsViewer:Rc,dataAccessState:Rc,setShowCheckEntitlementsViewer:Pu,hashCode:kc}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof Fj&&(this.dataAccessState=new pKi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState,{mapping:this.queryBuilderState.executionContextState.mapping.path,runtime:this.queryBuilderState.executionContextState.runtimeValue.packageableRuntime.value.path,getQuery:async()=>this.createExecutableQuery(this.queryBuilderState.buildQuery(),this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),graphData:this.queryBuilderState.getGraphData()}))}createExecutableQuery(e,t,n){if(t.length>0){const i=rBi(n.graph,t),r=s6(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return mv([Ift.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class fKi{queryBuilderState;initState=Py.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){hd(this,{currentQuery:Rc,pointer:Rc,querySnapshotBuffer:Rc,initialize:Pu,undo:Pu,redo:Pu,setCurrentQuery:Pu,cacheNewQuery:Pu,canRedo:kc,canUndo:kc}),this.queryBuilderState=e}get canRedo(){return this.pointer<this.querySnapshotBuffer.length-1}get canUndo(){return this.pointer>0}redo(){if(this.canRedo){this.pointer=this.pointer+1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(dr(e),{preserveParameterValues:!0,preserveResult:!0})}}undo(){if(this.canUndo){this.pointer=this.pointer-1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(dr(e),{preserveParameterValues:!0,preserveResult:!0})}}setCurrentQuery(e){this.currentQuery=e}initialize(e){this.queryBuilderState.isQuerySupported&&(this.initState.inProgress(),this.currentQuery=e,this.querySnapshotBuffer.push(e),this.pointer=this.pointer+1,this.initState.complete())}cacheNewQuery(e){try{this.queryBuilderState.isQuerySupported&&e.hashCode!==this.currentQuery?.hashCode&&(this.querySnapshotBuffer.length===this.bufferSize&&this.pointer===this.querySnapshotBuffer.length-1?this.querySnapshotBuffer=this.querySnapshotBuffer.slice(1):this.querySnapshotBuffer=this.querySnapshotBuffer.slice(0,this.pointer+1),this.querySnapshotBuffer.push(e),this.pointer=this.querySnapshotBuffer.length-1,this.setCurrentQuery(e))}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(Ogt.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class mKi{static INSTANCE=new mKi}class vKi{actionConfig=mKi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class yKi extends vKi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new yKi}class bKi extends vKi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new bKi}class _Ki extends tvt{mapping;runtime}class CKi extends Gyt{logService=new zy;graphState;queryBuilderState;selectInitialQuery;mappingPath;parameterValues;runtimePath;parameters;letFuncsRawLambda;constructor(e,t,n,i,r,s,o){super(),this.graphState=r,this.queryBuilderState=s,this.selectInitialQuery=e,this.mappingPath=n,this.runtimePath=i,this.parameterValues=t,this.parameters=e.parameters,this.letFuncsRawLambda=o}finalizeTimingRecord(e,t){if(this.queryBuilderState)return this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t)}getDataFromSource(e){return e instanceof _Ki?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new _Ki;return n.columns=(await this.getRelationType(this.selectInitialQuery)).columns,n.mapping=this.mappingPath,n.runtime=this.runtimePath,n.query=t,n}async parseValueSpecification(e,t){return bN(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(_N(e,[]),t)}async getQueryTypeahead(e,t,n){const i=this.buildRawLambdaFromValueSpec(t),r=await this.graphState.graphManager.lambdaToPureCode(i),s=r.length,o=r+e,a=o.substring(o.indexOf(Hb)+1,o.length);return(await this.graphState.graphManager.getCodeComplete(a,this.graphState.graph,s)).completions}async getQueryRelationReturnType(e,t){return this.getRelationType(this.buildRawLambdaFromValueSpec(e))}async getQueryCodeRelationReturnType(e,t,n){const i=await this.graphState.graphManager.valueSpecificationToPureCode(_N(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new Fy,i=this.buildRawLambdaFromValueSpec(e);this.letFuncsRawLambda&&Array.isArray(i.body)&&Array.isArray(this.letFuncsRawLambda.body)&&(i.body=[...this.letFuncsRawLambda.body,...i.body]),i.parameters=this.letFuncsRawLambda?this.letFuncsRawLambda.parameters:this.parameters;const[r,s]=await Promise.all([this.graphState.graphManager.runQuery(i,void 0,void 0,this.graphState.graph,{parameterValues:this.parameterValues??[]}),this.graphState.graphManager.lambdaToPureCode(i)]),o=n.elapsed,a=fr(r.executionResult,NX,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=d5(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());Ggt.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof bX?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof _Ki){return Boolean(e.mapping??e.runtime)?dvt(exports.DataCubeFunction.FROM,[e.mapping?gvt(e.mapping):void 0,e.runtime?gvt(e.runtime):void 0].filter(cr)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=fr(UN(_N(e,[])),QE);return new nS(t.parameters,t.body)}getSourceFunctionExpression(){let e=bN(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof Gx&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new evt;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class SKi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var wKi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(wKi||(wKi={}));class EKi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=Py.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new A$i,new R$i,new FYi,new PYi,new kYi,new MYi,new OYi,new LYi,new UYi,new GYi,new BYi,new VYi,new N$i,new I$i,new D$i,new k$i])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=wKi.STANDARD;sourceElement;getAllFunction=Xgt.GET_ALL;executionContextState;internalizeState;queryChatState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){hd(this,{explorerState:Rc,parametersState:Rc,constantState:Rc,functionsExplorerState:Rc,fetchStructureState:Rc,filterState:Rc,watermarkState:Rc,milestoningState:Rc,checkEntitlementsState:Rc,resultState:Rc,textEditorState:Rc,unsupportedQueryState:Rc,showFunctionsExplorerPanel:Rc,showParametersPanel:Rc,isEditingWatermark:Rc,isCheckingEntitlments:Rc,isCalendarEnabled:Rc,changeDetectionState:Rc,changeHistoryState:Rc,executionContextState:Rc,sourceElement:Rc,queryChatState:Rc,isQueryChatOpened:Rc,isLocalModeEnabled:Rc,dataCubeViewerState:Rc,getAllFunction:Rc,lambdaWriteMode:Rc,INTERNAL__enableInitializingDefaultSimpleExpressionValue:Rc,sideBarClassName:kc,sourceClass:kc,sourceAccessor:kc,sourceRelationType:kc,isQuerySupported:kc,allValidationIssues:kc,canBuildQuery:kc,useRelation:kc,setShowFunctionsExplorerPanel:Pu,setShowParametersPanel:Pu,setIsEditingWatermark:Pu,setIsCalendarEnabled:Pu,setDataCubeViewerState:Pu,openDataCubeEngine:Pu,setIsCheckingEntitlments:Pu,setSourceElement:Pu,setIsQueryChatOpened:Pu,setIsLocalModeEnabled:Pu,setGetAllFunction:Pu,setLambdaWriteMode:Pu,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:Pu,TEMPORARY_initializeExecContext:Pu,resetQueryResult:Pu,resetQueryContent:Pu,changeSourceElement:Pu,changeMapping:Pu,changeRuntime:Pu,setExecutionContextState:Pu,setQueryChatState:Pu,rebuildWithQuery:Pu,compileQuery:Ju,hashCode:kc}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new nKi(this),this.explorerState=new zUi(this),this.parametersState=new DYi(this),this.constantState=new uKi(this),this.functionsExplorerState=new IYi(this),this.fetchStructureState=new RGi(this),this.filterState=new eBi(this,this.filterOperators),this.watermarkState=new sKi(this),this.checkEntitlementsState=new gKi(this),this.resultState=new bYi(this),this.textEditorState=new DGi(this),this.unsupportedQueryState=new _Yi(this),this.observerContext=new Q3(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new jYi(this),this.changeHistoryState=new fKi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(EVi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new pBi(this);return this.setLambdaWriteMode(wKi.TYPED_FETCH_STRUCTURE),e}return new gBi(this)}get useRelation(){return this.sourceElement instanceof l$||this.isFetchStructureTyped}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}get floatingExecutionElements(){}get TEMPORARY__isDnDFetchStructureToFilterSupported(){return!0}get allVariables(){return[...this.parametersState.parameterStates.map(e=>e.parameter),...this.constantState.constants.map(e=>e.variable)]}get allVariableNames(){return this.allVariables.map(e=>e.name)}get isFetchStructureTyped(){return this.lambdaWriteMode===wKi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}get requiresMappingForExecution(){return!0}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new ZX,t=fr(this.executionContextState.runtimeValue,Fj,"Query runtime must be of type runtime pointer");return ur(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=__.create(this.executionContextState.mapping),e.runtime=t.packageableRuntime,e}async propagateExecutionContextChange(e){const t=this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryBuilderPropagateExecutionContextChangeHelper?.()??[]);for(const n of t){const t=n(this,e);if(t)return void await t()}}getStateInfo(){if(this.sourceInfo){const e=this.sourceClass?.path,t=this.executionContextState.mapping?.path,n=this.executionContextState.runtimeValue instanceof Fj?this.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(e&&t&&n){const i={class:e,mapping:t,runtime:n};return Object.assign({},this.sourceInfo,i)}}}setIsQueryChatOpened(e){this.isQueryChatOpened=e,this.applicationStore.settingService.persistValue(EVi.SHOW_QUERY_CHAT_PANEL,e)}setIsLocalModeEnabled(e){this.isLocalModeEnabled=e}setDataCubeViewerState(e){this.dataCubeViewerState=e}setInternalize(e){this.internalizeState=e}setQueryChatState(e){this.queryChatState=e}setShowFunctionsExplorerPanel(e){this.showFunctionsExplorerPanel=e}setShowParametersPanel(e){this.showParametersPanel=e}setIsEditingWatermark(e){this.isEditingWatermark=e}setIsCheckingEntitlments(e){this.isCheckingEntitlments=e}setIsCalendarEnabled(e){this.isCalendarEnabled=e}get sourceClass(){return this.sourceElement instanceof l$?void 0:this.sourceElement}get sourceAccessor(){return this.sourceElement instanceof l$?this.sourceElement:void 0}get sourceRelationType(){return this.sourceAccessor?.relationType}setSourceElement(e){this.sourceElement=e}setExecutionContextState(e){this.executionContextState=e}setGetAllFunction(e){this.getAllFunction=e}setINTERNAL__enableInitializingDefaultSimpleExpressionValue(e){this.INTERNAL__enableInitializingDefaultSimpleExpressionValue=e}get isQuerySupported(){return!this.unsupportedQueryState.rawLambda}async openDataCubeEngine(){try{Ggt.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof Fj?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(wKi.TYPED_FETCH_STRUCTURE);const r=aBi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new CKi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new SKi(a,o)})(this))}catch(e){bi(e),this.applicationStore.notificationService.notifyError("Unable to open data cube in query builder")}}registerCommands(){this.applicationStore.commandService.registerCommand({key:iKi.COMPILE,action:()=>{this.compileQuery().catch(this.applicationStore.alertUnhandledError)}})}isVariableUsed(e,t){const n=this.filterState.isVariableUsed(e)||this.watermarkState.isVariableUsed(e)||this.fetchStructureState.implementation.isVariableUsed(e);return t?.exculdeMilestoningState?n:this.milestoningState.isVariableUsed(e)||n}deregisterCommands(){[iKi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new bYi(this);t.setPreviewLimit(this.resultState.previewLimit),e?.preserveResult&&(t.setExecutionResult(this.resultState.executionResult),t.setExecutionDuration(this.resultState.executionDuration),t.latestRunHashCode=this.resultState.latestRunHashCode),e?.gridConfig&&(this.isLocalModeEnabled=!0,t.handlePreConfiguredGridConfig(e.gridConfig)),this.resultState=t}resetQueryContent(){this.textEditorState=new DGi(this),this.unsupportedQueryState=new _Yi(this),this.milestoningState=new nKi(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new zUi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new uKi(this),this.functionsExplorerState=new IYi(this),this.parametersState=new DYi(this),this.filterState=new eBi(this,this.filterOperators),this.watermarkState=new sKi(this),this.checkEntitlementsState=new gKi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new RGi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeSourceElement(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(Xgt.GET_ALL),this.setSourceElement(e),this.explorerState.refreshTreeData(),this.fetchStructureState.implementation.onClassChange(),this.milestoningState.updateMilestoningConfiguration(),this.changeHistoryState.cacheNewQuery(this.buildQuery())}changeMapping(e,t){this.resetQueryResult(),t?.keepQueryContent||(this.resetQueryContent(),this.setGetAllFunction(Xgt.GET_ALL),this.milestoningState.updateMilestoningConfiguration()),this.executionContextState.setMapping(e)}changeRuntime(e){this.resetQueryResult(),this.executionContextState.setRuntimeValue(e)}getCurrentParameterValues(){if(this.parametersState.parameterStates.length){const e=new Map;return this.parametersState.parameterStates.forEach(t=>{const n=t.value;n&&e.set(t.variableName,n)}),e}}getGridConfig(){if(this.isLocalModeEnabled&&this.resultState.gridConfig)return this.resultState.getQueryGridConfig()}buildQuery(e){if(!this.isQuerySupported){const e=this.parametersState.parameterStates.map(e=>this.graphManagerState.graphManager.serializeValueSpecification(e.parameter));return this.unsupportedQueryState.setRawLambda(new nS(e,this.unsupportedQueryState.rawLambda?.body)),dr(this.unsupportedQueryState.rawLambda)}return s6(vBi(this,{keepSourceInformation:Boolean(e?.keepSourceInformation),useTypedRelationFunctions:this.isFetchStructureTyped}),this.graphManagerState)}buildQueryForPersistence(){return this.buildQuery()}buildFromQuery(){br(this.isQuerySupported,"Query must be supported to build from function");const e=dr(this.executionContextState.mapping,"Mapping required to build from() function"),t=dr(this.executionContextState.runtimeValue,"Runtime required to build from query"),n=fr(t,Fj).packageableRuntime,i=((e,t,n)=>{const i=dr(e.expressionSequence[0]),r=new bS(N_(exports.SUPPORTED_FUNCTIONS.FROM)),s=new aS(T_.ONE,void 0);s.values=[__.create(t)];const o=new aS(T_.ONE,void 0);return o.values=[__.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(vBi(this),e,n.value);return s6(i,this.graphManagerState)}buildExecutionContextExpression(e){return((e,t)=>{if(e instanceof pBi){const n=dr(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new bS(N_(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new aS(T_.ONE,void 0),s.values=[__.create(r)]);const o=e.runtimeValue;let a;o instanceof Fj&&(a=new aS(T_.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(cr),t.expressionSequence[0]=i}return t})(this.executionContextState,e)}getQueryReturnType(){return this.fetchStructureState.implementation instanceof DVi?this.useRelation?this.graphManagerState.graph.getType(Ygt.RELATION):this.graphManagerState.graph.getClass(Ygt.TDS_TABULAR_DATASET):B_.STRING}initializeWithQuery(e,t,n){this.rebuildWithQuery(e,{defaultParameterValues:t}),this.resetQueryResult({gridConfig:n}),this.changeDetectionState.initialize(e),this.changeHistoryState.initialize(e)}rebuildWithQuery(e,t){let n;try{const i=new Map;if(t?.preserveParameterValues?(this.parametersState.parameterStates.forEach(e=>{i.set(e.parameter.name,{variable:e.parameter,value:e.value})}),n=i):t?.defaultParameterValues?.size&&(Array.from(t.defaultParameterValues.entries()).forEach(([e,t])=>{i.set(e,{variable:e,value:t})}),n=i),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),!tj(e)){const t=vte(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=fr(t,wS,"Can't build query state: query builder only support lambda");BKi(dr(i.values[0]),this,{parameterValues:n})}this.parametersState.parameterStates.filter(e=>!this.milestoningState.isMilestoningParameter(e.parameter)).length>0&&this.setShowParametersPanel(!0),this.fetchStructureState.initializeWithQuery()}catch(s){bi(s),this.applicationStore.logService.error(Hy.create(Ogt.UNSUPPORTED_QUERY_LAUNCH),s),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),this.unsupportedQueryState.setLambdaError(s),this.unsupportedQueryState.setRawLambda(e),this.setSourceElement(void 0);const o=(i=e,r=this.graphManagerState,(i.parameters??[]).map(e=>r.graphManager.buildValueSpecification(e,r.graph))).map(e=>vte(e,this.observerContext)).filter(pr(oS));FKi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===IGi.TEXT){this.queryCompileState.inProgress();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.textEditorState.rawLambdaState.lambda,this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){if(bi(e),e instanceof EZ){this.applicationStore.logService.error(Hy.create(IS.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);$ee(e.sourceInformation)&&this.textEditorState.setCompilationError(e)}}finally{this.queryCompileState.complete()}}}else{this.queryCompileState.inProgress(),this.fetchStructureState.implementation.clearCompilationError();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.buildQuery({keepSourceInformation:!0}),this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){bi(e),this.applicationStore.logService.error(Hy.create(IS.COMPILATION_FAILURE),e);let t=!0;e instanceof EZ&&e.sourceInformation&&(t=!this.fetchStructureState.implementation.revealCompilationError(e)),t?(this.applicationStore.notificationService.notifyWarning("Compilation failed and error cannot be located in form mode. Redirected to text mode for debugging."),this.textEditorState.openModal(IGi.TEXT)):this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`)}finally{this.queryCompileState.complete()}}}get allValidationIssues(){return this.fetchStructureState.implementation.allValidationIssues.concat(this.filterState.allValidationIssues)}get canBuildQuery(){return!(this.filterState.hasInvalidFilterValues||this.filterState.hasInvalidDerivedPropertyParameters||this.fetchStructureState.implementation.hasInvalidFilterValues||this.fetchStructureState.implementation.hasInvalidDerivedPropertyParameters)}buildFunctionAnalysisInfo(){}getGraphData(){return new m5(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new xKi(this.applicationStore,this.graphManagerState,this.workflowState,void 0);return e.sourceElement=this.sourceElement,e.executionContextState.mapping=this.executionContextState.mapping,e.executionContextState.runtimeValue=this.executionContextState.runtimeValue,e}get hashCode(){return mv([Ift.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class xKi extends EKi{}class TKi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const AKi=(e,t,n)=>{t.fetchStructureState.changeImplementation(CFi.GRAPH_FETCH),br(2===e.parametersValues.length||3===e.parametersValues.length,"Can't process serialize() expression: serialize() expects 1 or 2 argument");const i=fr(e.parametersValues[0],bS,"Can't process serialize() expression: only support serialize() immediately following an expression");if(br(k_(i.functionName,[Zgt.GRAPH_FETCH,Zgt.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),PKi.process(i,n,t),t.fetchStructureState.implementation instanceof TGi){const n=t.fetchStructureState.implementation,i=fr(e.parametersValues[1],NS,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=fr(i.values[0],TS,"Can't process serialize() expression: serialize() graph-fetch tree root is missing");br(0===r.subTypeTrees.length,"Can't process serialize() expression: subTypeTree is not supported."),n.setGraphFetchTree(hGi(r));const s=e.parametersValues[2];if(s){const e=fr(s,bS,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");br(k_(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=fr(n.serializationState,EGi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=fr(fr(fr(e.parametersValues[0],aS,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],b_,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,Y_,"Can't process serialize() expression: serialization config expects first param to be a class");br(i.path===Ygt.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${Ygt.SERIALIZE_CONFIG}', got : ${i.path}`);const r=fr(e.parametersValues[2],uS,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new SGi;r.values.forEach((e,t)=>{const n=fr(e,hS,`Can't process serialize() expression: collection instance value expects value ${t+1} to be key expression instance `);((e,t,n,i)=>{const r=fr(e.key,lS,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive value`);br(r.genericType.value.rawType.path===Xb.STRING,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive string value`);const s=Ar(r.values[0],`Can't process serialize() expression: serialization config key expression ${i} expected to be a non-nullable primitive string value`),o=Object.getOwnPropertyNames(t);dr(o.find(e=>e===s),`Property name '${s}' not defined in serialization config, accepted properties are ${o.join(",")}`);const a=Xw(n,s),l=fr(a.genericType.value.rawType,B_,`Only primitive types suppported for config. Property ${s} for class '${Ygt.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=dr(fr(e.expression,lS,"Can't process serialize() expression: config key expression's value expected to be a primitive instance value").values[0],"Can't process serialize() expression: config key expression's value expected to be a non nullable primitive value");switch(l.path){case Xb.STRING:xr(c);break;case Xb.BOOLEAN:Tr(c);break;default:return}t[s]=c})(dr(n.values[0],`Can't process serialize() expression: serialization config key expression ${t} expected to non null`),o,i,t)}),t.setConfig(o)}}},RKi=(e,t,n)=>{const i=fr(e.parametersValues[0],bS,"Can't process project() expression: only support project() immediately following an expression");br(k_(i.functionName,[Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE,Zgt.FILTER,Zgt.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),PKi.process(i,n,t)},NKi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(CFi.TABULAR_DATA_STRUCTURE),br(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),RKi(e,t,n);const i=e.parametersValues[1];i instanceof uS?i.values.map(i=>PKi.processChild(i,e,n,t)):(gr(i,bS,"Can't process project() expression: project() expects argument #1 to be a function expression"),PKi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(CFi.TABULAR_DATA_STRUCTURE),br(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),RKi(e,t,n);const i=e.parametersValues[1];gr(i,uS,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>PKi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof uS?(gr(r,uS,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(Aft).filter(cr)):(gr(r,lS,"Can't process project() expression: project() expects argument #2 to be a collection or string"),s=[r.values[0]]),br(i.values.length===s.length,"Can't process project() expression: number of aliases does not match the number of columns"),t.fetchStructureState.implementation instanceof DVi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},IKi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof DVi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof _S;){const e=r;for(Tft(r,n.graphManagerState.graph,n),r=dr(r.parametersValues[0]),e.func.value instanceof uC&&br((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);r instanceof bS&&k_(r.functionName,Zgt.SUBTYPE);)r=dr(r.parametersValues[0])}gr(r,oS,"Can't process property expression: expects expression root to be a variable");const s=new nFi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},DKi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof DVi){const r=i.fetchStructureState.implementation,s=_i(()=>fr(UN(e.content),QE));ur(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new sFi(r,new nS(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},kKi=(e,t,n)=>{br(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=fr(e.parametersValues[0],bS,"Can't process take() expression: only support take() immediately following an expression");if(br(k_(i.functionName,[Zgt.TDS_TAKE,Zgt.TDS_DISTINCT,Zgt.TDS_SORT,Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),PKi.process(i,n,t),t.fetchStructureState.implementation instanceof DVi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof lS&&Cr(e.values[0]))return e.values[0]})(dr(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},OKi=(e,t,n)=>{const i=e.parametersValues.length;br(4===i||5===i,"Can't process sort() expression: olapGroupBy() expects 3 or 4 argument");const r=5===i,s=e.parametersValues[1],o=r?e.parametersValues[2]:void 0,a=r?e.parametersValues[3]:e.parametersValues[2],l=r?e.parametersValues[4]:e.parametersValues[3],c=fr(e.parametersValues[0],bS,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");br(k_(c.functionName,[Zgt.TDS_TAKE,Zgt.TDS_DISTINCT,Zgt.TDS_SORT,Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),PKi.process(c,n,t);const u=fr(t.fetchStructureState.implementation,DVi);gr(s,uS,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const d=s.values.map(e=>{const t=Ar(fr(e,lS,"Can`t process OLAP window column expression: Column should be a primitive instance value").values[0],"Can`t process OLAP window column expression: Column should be a string primitive instance value");return EFi(u,t)});let h,p;if(r){const e=fr(o,bS,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(k_(e,Zgt.TDS_ASC))return Jgt.ASC;if(k_(e,Zgt.TDS_DESC))return Jgt.DESC;throw new yi(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=Ar(fr(e.parametersValues[0],lS,"Can`t process OLAP sort column : OLAP sort column should be a primitive instance value").values[0],"Can`t process OLAP sort column: OLAP sort column should be a string primitive instance value"),i=EFi(u,n);h=new JBi(i,t)}if(a instanceof bS){br(k_(a.functionName,[Zgt.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=Ar(fr(e[0],lS,"Can`t process OLAP opperation expression: Function `func` first parameter should be a primitive instance value").values[0],"Can`t process OLAP opperation expression: Function `func` first parameter should be a string primitive instance value"),n=EFi(u,t),i=fr(fr(e[1],wS).values[0],SS);br(1===i.expressionSequence.length);const r=fr(i.expressionSequence[0],bS),s=dr(u.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new nVi(u.windowState,s,n),p.setLambdaParameterNames([fr(i.functionType.parameters[0],oS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}else{const e=fr(fr(a,wS).values[0],SS);br(1===e.expressionSequence.length);const t=fr(e.expressionSequence[0],bS),n=dr(u.windowState.findOperator(t.functionName),`olapGroupBy() operator '${t.functionName}' not supported`);br(!n.isColumnAggregator(),`Operator '${n.getLabel()}' expects a TDS column to aggregate against`),p=new tVi(u.windowState,n),p.setLambdaParameterNames([fr(e.functionType.parameters[0],oS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}const g=Ar(fr(l,lS,"Can`t process OLAP column: OLAP column should be a primitive instance value").values[0],"Can`t process OLAP column: OLAP column should be a string primitive instance value"),f=new iVi(u.windowState,d,h,p,g);u.windowState.addWindowColumn(f),u.setShowWindowFuncPanel(!0)},LKi=(e,t,n)=>{if(3!==e.parametersValues.length)throw new yi("Can't build relation extend() expression: extend() is not fully supported yet");{const i=fr(e.parametersValues[0],bS,"Can't process extend() expression: only support extend() immediately following an expression");PKi.process(i,n,t);const r=fr(e.parametersValues[1],bS,"Can't process extend() expression: expects a window expression as the second parameter"),s=fr(t.fetchStructureState.implementation,DVi),o=fr(r.parametersValues[0],mS,"Can't process over(): expects ColSpecArray for window columns"),a=dr(o.values[0]).colSpecs.map(e=>EFi(s,e.name));let l;if(r.parametersValues[1]instanceof uS){const e=fr(r.parametersValues[1].values[0],bS,"Can't process extend sortBy expression: only support function expression of 'ascending' or 'descending'"),t=(e=>{if(k_(e,Zgt.RELATION_ASC))return Jgt.ASC;if(k_(e,Zgt.RELATION_DESC))return Jgt.DESC;throw new yi(`Unsupported relation sort function: ${e}`)})(e.functionName),n=Ar(fr(e.parametersValues[0],gS,"Can`t process extend sort column : extend sort column should be a colspec instance value").values[0]?.name,"Can`t process extend sort column: extend sort column should be a string colspec instance value"),i=EFi(s,n);l=new JBi(i,t)}const c=fr(e.parametersValues[2],mS,"Can't process extend(): expects ColSpecArrayInstance for aggregation columns");dr(c.values[0]).colSpecs.forEach(e=>{const t=((e,t)=>{if(e.function2){const n=fr(fr(e.function1,wS).values[0],SS),i=fr(n.expressionSequence[0],yS,"Can't process typed window aggregation: expects function1 to be a Function Expression"),r=EFi(t,i.functionName),s=fr(fr(e.function2,wS).values[0],SS),o=fr(s.expressionSequence[0],bS),a=dr(t.windowState.findOperator(o.functionName,!0),`Operator '${o.functionName}' not supported yet for typed TDS`),l=new nVi(t.windowState,a,r),c=[];n.functionType.parameters.forEach(e=>{fr(e,oS),c.push(e.name)});const u=fr(s.functionType.parameters[0],oS).name;return c.push(u),l.setLambdaParameterNames(c),l}if(e.function1){const n=fr(fr(e.function1,wS).values[0],SS);br(1===n.expressionSequence.length);const i=fr(n.expressionSequence[0],bS),r=dr(t.windowState.findOperator(i.functionName,!0),`Operator '${i.functionName}' not supported yet for typed TDS`),s=new tVi(t.windowState,r),o=[];return n.functionType.parameters.forEach(e=>{fr(e,oS),o.push(e.name)}),s.setLambdaParameterNames(o),s}throw new yi("Only support aggregation and rank operators in extend() expression")})(e,s),n=new iVi(s.windowState,a,l,t,e.name);s.windowState.addWindowColumn(n),s.setShowWindowFuncPanel(!0)})}},MKi=e=>!(e instanceof bS)||!k_(e.functionName,Zgt.FIRST_DAY_OF_YEAR)&&!k_(e.functionName,Zgt.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>MKi(e)).includes(!1);class PKi{queryBuilderState;parentExpression;parentLambda;constructor(e,t,n){this.queryBuilderState=e,this.parentExpression=n,this.parentLambda=t}static process(e,t,n){e.accept_ValueSpecificationVisitor(new PKi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new PKi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!k_(this.parentExpression.functionName,[Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_AGG,...Object.values(Kgt)]))throw new yi(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);DKi(e,void 0,this.parentExpression,this.queryBuilderState)}visit_INTERNAL__PropagatedValue(e){throw new yi}visit_FunctionExpression(e){throw new yi}visit_AccessorInstanceValue(e){const t=dr(e.values[0],"Accessor instance value must have a value");this.queryBuilderState.setSourceElement(t)}visit_SimpleFunctionExpression(e){const t=e.functionName;if(k_(t,Xgt.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Y_,"Can't process getAll() expression: getAll() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=zw(n,t.graphManagerState.graph);i?t.milestoningState.getMilestoningImplementation(i).processGetAllParamaters(e.parametersValues):br(1===e.parametersValues.length,"Can't process getAll() expression: getAll() expects no arguments")})(e,this.queryBuilderState);else if(k_(t,Xgt.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Y_,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),ur(zw(n,t.graphManagerState.graph),"Can't process getAllVersions() expression: getAllVersions() expects source class to be milestoned"),br(1===e.parametersValues.length,"Can't process getAllVersions() expression: getAllVersions() expects no arguments"),t.setGetAllFunction(Xgt.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(k_(t,Xgt.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Y_,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=zw(n,t.graphManagerState.graph);br(void 0!==i&&i!==n_.BITEMPORAL,"Can't process getAllVersionsInRange() expression: getAllVersionInRange() expects source class to be processing temporal or business temporal milestoned"),br(3===e.parametersValues.length,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start and end date"),t.setGetAllFunction(Xgt.GET_ALL_VERSIONS_IN_RANGE),t.milestoningState.setStartDate(dr(e.parametersValues[1],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start date to be defined")),t.milestoningState.setEndDate(dr(e.parametersValues[2],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects end date to be defined"))})(e,this.queryBuilderState);else if(k_(t,Zgt.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(CFi.GRAPH_FETCH);const n=e.functionName;br(3===e.parametersValues.length,`Can't process ${n}() expression: ${n}() expects 2 argument`);const i=e.parametersValues[0],r=i?.genericType?.value.rawType;gr(r,Y_,"Can't process internalize() expression: internalize() return type is missing"),t.setSourceElement(r),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const s=fr(e.parametersValues[1],aS,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=fr(fr(s.values[0],b_,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,lK,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=fr(e.parametersValues[2],oS),l=new TKi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(k_(t,[Zgt.FILTER,Zgt.TDS_FILTER])){br(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=e.parametersValues[0];if(n instanceof h$)return PKi.process(n,this.parentLambda,this.queryBuilderState),void aGi(e,this.queryBuilderState);const i=fr(n,bS,"Can't process filter() expression: only support filter() immediately following an expression");if(PKi.process(i,this.parentLambda,this.queryBuilderState),k_(i.functionName,[Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE]))return br(k_(t,Zgt.FILTER),`Can't process filter() expression: only supports ${Zgt.FILTER}() immediately following getAll() (got '${t}')`),void aGi(e,this.queryBuilderState);if(k_(i.functionName,[Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.OLAP_GROUPBY]))return br(k_(t,Zgt.TDS_FILTER),`Can't process post-filter expression: only supports ${Zgt.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof DVi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];gr(s,wS,"Can't process post-filter expression: expects argument #1 to be a lambda function"),gr(r.implementation,DVi,"Can't process post-filter lambda: post-filter lambda must use projection fetch structure"),br(Boolean(n.projectionColumns.length),"Can't process post-filter lambda: post-filter lambda must have at least one projection column ");const o=dr(s.values[0],"Can't process post-filter lambda: post-filter lambda function is missing");br(1===o.expressionSequence.length,"Can't process post-filter lambda: only support post-filter lambda body with 1 expression");const a=fr(o.expressionSequence[0],yS,"Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'");br(1===o.functionType.parameters.length,"Can't process post-filter lambda: only support post-filter lambda with 1 parameter"),i.setLambdaParameterName(fr(o.functionType.parameters[0],oS,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),DFi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(k_(i.functionName,[Zgt.WATERMARK]))return void aGi(e,this.queryBuilderState);throw new yi("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(k_(t,Zgt.WATERMARK))((e,t,n)=>{const i=fr(e.parametersValues[0],bS,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");br(k_(i.functionName,[Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),PKi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Zgt.TDS_PROJECT,Zgt.RELATION_PROJECT]))(n=e).functionName===Zgt.RELATION_PROJECT||k_(n.functionName,[Zgt.TDS_PROJECT,Zgt.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof mS?((e,t,n)=>{br(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(CFi.TABULAR_DATA_STRUCTURE);const i=dr(e.parametersValues[0],"Can't process typed project() expression: missing preceding expression");if(i instanceof bS)br(k_(i.functionName,[Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE,Zgt.FILTER,Zgt.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()");else if(!(i instanceof h$))throw new Error("Can't process typed project() expression: the first argument is expected to be either a function expression or a Accessor Instance Value");PKi.process(i,n,t);const r=e.parametersValues[1];gr(r,mS,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(wKi.TYPED_FETCH_STRUCTURE),PKi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):NKi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.TDS_COL))((e,t)=>{br(2===e.parametersValues.length,"Can't process col() func expression: col() expects 2 argument");const n=fr(e.parametersValues[0],wS,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=fr(e.parametersValues[1],lS,"Can't process col() func expression: the #2 argument of col() should be a string");IKi(fr(n.values[0]?.expressionSequence[0],_S,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof DVi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(k_(t,[Zgt.TDS_TAKE,Zgt.RELATION_LIMIT]))kKi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.TDS_DISTINCT))((e,t,n)=>{br(1===e.parametersValues.length,"Can't process disctinct() expression: distinct() expects no parameter");const i=fr(e.parametersValues[0],bS,"Can't process distinct() expression: only support distinct() immediately following an expression");br(k_(i.functionName,[Zgt.TDS_TAKE,Zgt.TDS_DISTINCT,Zgt.TDS_SORT,Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),PKi.process(i,n,t),t.fetchStructureState.implementation instanceof DVi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.TDS_SORT))((e,t,n)=>{br(2===e.parametersValues.length,"Can't process sort() expression: sort() expects 1 argument");const i=fr(e.parametersValues[0],bS,"Can't process sort() expression: only support sort() immediately following an expression");br(k_(i.functionName,[Zgt.TDS_TAKE,Zgt.TDS_DISTINCT,Zgt.TDS_SORT,Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),PKi.process(i,n,t);const r=e.parametersValues[1];gr(r,uS,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>PKi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.SLICE))((e,t,n)=>{br(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=fr(e.parametersValues[0],bS,"Can't process slice() expression: only support slice() immediately following an expression");if(br(k_(i.functionName,[Zgt.TDS_TAKE,Zgt.TDS_DISTINCT,Zgt.TDS_SORT,Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),PKi.process(i,n,t),t.fetchStructureState.implementation instanceof DVi){const n=t.fetchStructureState.implementation,i=Rr(fr(e.parametersValues[1],lS,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value"),r=Rr(fr(e.parametersValues[2],lS,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value");n.resultSetModifierState.setSlice([i,r])}})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Zgt.TDS_ASC,Zgt.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&k_(t.functionName,Zgt.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),br(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof DVi){const t=n.fetchStructureState.implementation,r=Aft(dr(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new bFi(s);e.sortType=k_(i,Zgt.TDS_ASC)?Jgt.ASC:Jgt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(k_(t,[Zgt.RELATION_ASC,Zgt.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&k_(t.functionName,Zgt.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),br(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof DVi){const t=n.fetchStructureState.implementation,r=fr(e.parametersValues[0],gS);br(1===r.values.length,`Can't process ${i}() expression: Col Spec Instance Value expects one value`);const s=dr(r.values[0],"Col Spec value expected in Col Spec Instance Value").name,o=t.tdsColumns.find(e=>e.columnName===s);if(o){const e=new bFi(o);e.sortType=k_(i,Zgt.RELATION_ASC)?Jgt.ASC:Jgt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(k_(t,[Zgt.TDS_GROUP_BY,Zgt.RELATION_GROUP_BY]))(e=>e.functionName===Zgt.RELATION_GROUP_BY||k_(e.functionName,[Zgt.TDS_GROUP_BY,Zgt.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof mS)(e)?((e,t,n)=>{br(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=fr(e.parametersValues[0],bS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(k_(i.functionName,[Zgt.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),PKi.process(i,n,t);const r=fr(t.fetchStructureState.implementation,DVi),s=fr(e.parametersValues[1],mS,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance");br(1===s.values.length,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element"),t.setLambdaWriteMode(wKi.TYPED_FETCH_STRUCTURE),s.values[0]?.colSpecs.forEach(e=>{br(1===r.projectionColumns.filter(t=>t.columnName===e.name).length,`Can't process groupBy() expression: column '${e.name}' not found in project() expression`)});const o=e.parametersValues[2];gr(o,mS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),PKi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(CFi.TABULAR_DATA_STRUCTURE),br(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=fr(e.parametersValues[0],bS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(k_(i.functionName,[Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE,Zgt.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),PKi.process(i,n,t);const r=e.parametersValues[1];gr(r,uS,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>PKi.processChild(i,e,n,t));const s=e.parametersValues[2];gr(s,uS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>PKi.processChild(i,e,n,t));const o=e.parametersValues[3];gr(o,uS,"Can't process groupBy() expression: groupBy() expects argument #3 to be a collection"),br(o.values.length===r.values.length+s.values.length,"Can't process groupBy() expression: number of aliases does not match the number of columns");const a=o.values.map(Aft).filter(cr);t.fetchStructureState.implementation instanceof DVi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.TDS_AGG))((e,t,n,i)=>{if(br(Boolean(t&&k_(t.functionName,Zgt.TDS_GROUP_BY)),"Can't process agg() expression: only support agg() used within a groupBy() expression"),br(2===e.parametersValues.length,"Can't process agg() expression: agg() expects 2 arguments"),PKi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof DVi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=dr(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];gr(s,wS,"Can't process agg() expression: agg() expects argument #1 to be a lambda function");const o=dr(s.values[0],"Can't process agg() lambda: agg() lambda function is missing");br(1===o.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression");const a=fr(o.expressionSequence[0],bS,"Can't process agg() lambda: only support agg() lambda body with 1 expression");let l;if(n.isCalendarEnabled){const t=e.parametersValues[0];gr(t,wS,"Can't process agg() expression: agg() expects argument #0 to be a lambda function");const n=dr(t.values[0],"Can't process agg() lambda: agg() lambda function is missing");br(1===n.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression"),l=n.expressionSequence[0]instanceof bS?n.expressionSequence[0]:void 0}br(1===o.functionType.parameters.length,"Can't process agg() lambda: only support agg() lambda with 1 parameter");const c=fr(o.functionType.parameters[0],oS,"Can't process agg() lambda: only support agg() lambda with 1 parameter");for(const e of i.operators){const t=_i(()=>e.buildAggregateColumnState(a,c,r));if(r.wavgWeight&&t&&t.operator instanceof ZBi&&t.operator.setWeight(r.wavgWeight),t){if(i.addColumn(t),n.isCalendarEnabled&&void 0!==l)for(const e of i.calendarFunctions)_i(()=>e.updateAggregateColumnState(dr(l),t));return void(t.calendarFunction||t.setHideCalendarColumnState(!0))}}throw new yi("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.OLAP_GROUPBY))OKi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.SERIALIZE))AKi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(CFi.GRAPH_FETCH),br(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=fr(e.parametersValues[0],bS,"Can't process externalize() expression: only support externalize() immediately following an expression");if(br(k_(i.functionName,[Zgt.GRAPH_FETCH,Zgt.GRAPH_FETCH_CHECKED,Zgt.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),PKi.process(i,n,t),t.fetchStructureState.implementation instanceof TGi){const n=t.fetchStructureState.implementation,r=fr(i.parametersValues[1],NS,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=fr(r.values[0],TS,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(hGi(s));const o=fr(e.parametersValues[1],aS,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=fr(fr(o.values[0],b_,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,lK,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new xGi(n,a,void 0);n.setSerializationState(l);const c=fr(e.parametersValues[2],NS,"Can't process externalize() expression: externalize() graph-fetch is missing"),u=fr(c.values[0],TS,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(hGi(u))}})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Zgt.GRAPH_FETCH_CHECKED,Zgt.GRAPH_FETCH]))((e,t,n)=>{const i=e.functionName;br(2===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects 1 argument`);const r=fr(e.parametersValues[0],bS,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);br(k_(r.functionName,[Zgt.FILTER,Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),PKi.process(r,n,t),t.fetchStructureState.implementation instanceof TGi&&t.fetchStructureState.implementation.setChecked(k_(e.functionName,Zgt.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[exports.SUPPORTED_FUNCTIONS.LET]))((e,t,n)=>{const i=e.parametersValues;br(2===e.parametersValues.length,"Let function expected to have two parameters (left and right side value)");const r=Ar(fr(i[0],lS,"Can`t process let function: left side should be a primitive instance value").values[0],"Can`t process let function: left side should be a string primitive instance value"),s=dr(n.openVariables.get(r),`Unable to find variable ${r} in lambda function`),o=dr(i[1]);let a;a=o instanceof sS?new cKi(t,s,o.content):MKi(o)?new aKi(t,s,o):new cKi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(k_(t,[exports.SUPPORTED_FUNCTIONS.FROM])){const t=e.parametersValues;return br(3===t.length||2===t.length,"From function expects an optional mapping with required runtime"),((e,t)=>{const n=void 0!==e.parametersValues[2]?e.parametersValues[1]:void 0,i=n?e.parametersValues[2]:e.parametersValues[1];let r;if(n){const e=fr(n,aS,"Can't process from() expression: only support from() with 1st parameter as instance value");r=fr(fr(e.values[0],b_,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,MS,"Can't process from() expression: only support from() with 1st parameter as mapping value")}const s=fr(i,aS,"Can't process from() expression: only support from() with 2nd parameter as instance value"),o=fr(fr(s.values[0],b_,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,BS,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),a=new pBi(t);a.setMapping(r),a.setRuntimeValue(new Fj(__.create(o))),t.setExecutionContextState(a)})(e,this.queryBuilderState),void PKi.processChild(dr(t[0]),e,this.parentLambda,this.queryBuilderState)}if(k_(t,Object.values(Kgt)))return this.queryBuilderState.isCalendarEnabled=!0,br(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void PKi.processChild(dr(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);if(k_(t,Zgt.WAVG_ROW_MAPPER))((e,t,n,i)=>{if(br(Boolean(t&&k_(t.functionName,Zgt.TDS_AGG)),"Can't process wavgRowMapper() expression: only support wavgRowMapper() used within an agg() expression"),br(2===e.parametersValues.length,"Can't process wavgRowMapper() expression: wavgRowMapper() expects 2 arguments"),e.parametersValues.map(e=>gr(e,_S,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),PKi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof DVi){const t=n.fetchStructureState.implementation;dr(t.projectionColumns[t.projectionColumns.length-1]).setWavgWeight(e.parametersValues[1])}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else{var n;if(!k_(t,Zgt.RELATION_EXTEND))throw new yi(`Can't process expression of function ${t}()`);LKi(e,this.queryBuilderState,this.parentLambda)}}}}visit_VariableExpression(e){throw new yi}visit_AbstractPropertyExpression(e){if(ur(this.parentExpression,"Can't process property expression: parent expression cannot be retrieved"),!k_(this.parentExpression.functionName,[Zgt.TDS_PROJECT,Zgt.RELATION_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_AGG,Zgt.WAVG_ROW_MAPPER,...Object.values(Kgt)]))throw new yi(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);IKi(e,void 0,this.queryBuilderState)}visit_InstanceValue(e){throw new yi}visit_KeyExpressionInstanceValue(e){throw new yi}visit_CollectionInstanceValue(e){throw new yi}visit_EnumValueInstanceValue(e){throw new yi}visit_PrimitiveInstanceValue(e){throw new yi}visit_LambdaFunctionInstanceValue(e){e.values.forEach(e=>e.expressionSequence.forEach(e=>e.accept_ValueSpecificationVisitor(new PKi(this.queryBuilderState,this.parentLambda,this.parentExpression))))}visit_GraphFetchTreeInstanceValue(e){throw new yi}visit_ColSpecArrayInstance(e){if(ur(this.parentExpression,"Can't process col spec aray instance: parent expression cannot be retrieved"),k_(this.parentExpression.functionName,[Zgt.RELATION_PROJECT])){const t=e.values;return br(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void dr(t[0]).colSpecs.forEach(e=>{const t=e.function1;if(t instanceof wS){br(1===t.values.length);const n=dr(t.values[0]);br(1===n.expressionSequence.length);const i=dr(n.expressionSequence[0]);if(i instanceof _S)IKi(i,e.name,this.queryBuilderState);else if(i instanceof yS){const t=i.func,n=fr(t,W_,"Can`t process col spec: function1 lambda function does not contain a relation column");((e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof DVi){const r=i.fetchStructureState.implementation,s=new iFi(r,n,!1);r.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t);const o=e.parametersValues[0];o instanceof oS&&s.setLambdaParameterName(o.name)}})(i,e.name,n,this.queryBuilderState)}else i instanceof sS&&(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),DKi(i,e.name,this.parentExpression,this.queryBuilderState))}else{if(!(t instanceof sS))throw new yi("Can't process col spec: only support col spec with function lambda value");ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),DKi(t,e.name,this.parentExpression,this.queryBuilderState)}})}if(k_(this.parentExpression.functionName,[Zgt.RELATION_GROUP_BY])){const t=e.values;return br(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void dr(t[0]).colSpecs.forEach(e=>{((e,t,n)=>{br(Boolean(t&&k_(t.functionName,Zgt.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=fr(e.function1,wS,"Can't process colSpec: function1 is not a lambda function instance value");br(1===i.values.length,"Can't process typed aggregation ColSpec. function1 should only have 1 lambda value."),br(1===dr(i.values[0]).expressionSequence.length,"Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.");const r=fr(e.function2,wS,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof DVi){const i=n.fetchStructureState.implementation,s=i.aggregationState,o=dr(i.projectionColumns.find(t=>t.columnName===e.name),`Projection column with name ${e.name} not found`),a=dr(r.values[0],"Can't process colSpec: function2 lambda function is missing");br(1===a.expressionSequence.length,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),br(1===a.functionType.parameters.length,"Can't process colSpec function2 lambda: only support lambda with 1 parameter");const l=fr(a.expressionSequence[0],bS,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=fr(a.functionType.parameters[0],oS,"Can't process colSpec function2 lambda: parameter is missing");for(const n of s.operators){const i=_i(()=>n.buildAggregateColumnState(l,c,o));if(o.wavgWeight&&i&&i.operator instanceof ZBi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=fr(t?.genericType?.value.typeArguments?.[0]?.value.rawType,$_,"Can't process colSpec: parent groupBy() expression's return type is not a relation"),r=dr(n.columns.find(t=>t.name===e.name),`Can't process colSpec: Can't find column '${e.name}' in parent groupBy() expression's relation return type`),o=i.getColumnType();return void(r.genericType=o?G_.create(new q_(o)):r.genericType)}}}throw new yi("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")})(e,this.parentExpression,this.queryBuilderState)})}throw new yi(`Can't process col spec array expression with parent expression of function ${this.parentExpression.functionName}()`)}visit_ColSpecInstance(e){throw new Error("Method not implemented.")}}const FKi=(e,t,n)=>{const i=t.parametersState;e.forEach(e=>{let r;n?.parameterValues&&Array.from(n.parameterValues.entries()).forEach(([t,n])=>{const i=n.variable;if(i instanceof oS&&nft(i,e))r=n.value;else if(_r(i)&&i===e.name){const t=n.value?.genericType?.value.rawType,i=e.genericType?.value.rawType;t&&i&&eE(i,t)&&(r=n.value)}});const s=new cBi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},BKi=(e,t,n)=>{e.functionType.parameters.length&&FKi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>PKi.process(n,e,t))},VKi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Une.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Une.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"date",spellCheck:!1,value:a??"",onChange:e=>{r(t,e.target.value,{primitiveTypeEnum:Xb.STRICTDATE}),s(new TPi(e.target.value,_Pi.ABSOLUTE_DATE))}})})},UKi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Une.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Une.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"datetime-local",step:"1",spellCheck:!1,value:a??"",onChange:e=>{const n=new Date(e.target.value).getUTCSeconds()?e.target.value:`${e.target.value}:00`;r(t,n,{primitiveTypeEnum:Xb.DATETIME}),s(new TPi(e.target.value,_Pi.ABSOLUTE_TIME))}})})},GKi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wht(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,u]=n.useState(t.unit??CPi.DAYS),[d,h]=n.useState(t.direction??EPi.BEFORE),[p,g]=n.useState(t.referenceMoment??xPi.TODAY),f=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new APi(_Pi.CUSTOM_DATE,_Pi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=IPi.filter(e=>e.generateDisplayLabel()===o.generateDisplayLabel());a.length>0?(o.label=dr(a[0]?.label),o.value=dr(a[0]?.value)):o.updateLabel(),r(o)}};return n.useEffect(()=>{o.current?.focus()},[]),Une.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx("input",{ref:o,className:"value-spec-editor__date-picker__custom-date__input-text-editor input--dark",spellCheck:!1,value:a,type:"number",onChange:e=>{const t=""!==e.target.value?_i(()=>(e=>{const t=Number(e);if(isNaN(t))throw new Error(`Can't parse number '${e}'`);return t})(e.target.value))??0:0;l(t),f(t,c,d,p)}})}),Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx(CPe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(CPi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{u(e.value),f(a,e.value,d,p)},value:{value:c,label:c},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx(CPe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(EPi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{h(e.value),f(a,c,e.value,p)},value:{value:d,label:d},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx(CPe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(xPi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{g(e.value),f(a,c,d,e.value)},value:{value:p,label:p},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})},HKi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wht(),o=n.useRef(null),[a,l]=n.useState(t instanceof RPi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx(CPe,{inputRef:o,placeholder:"Choose a unit...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(SPi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(xPi).filter(t=>t.toString().includes(e)),n=t.length>0?new RPi(dr(t[0]?.toString()),e):new RPi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},zKi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wht(),o=n.useRef(null),[a,l]=n.useState(t instanceof NPi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx(CPe,{inputRef:o,placeholder:"Choose a day...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(wPi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new NPi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},jKi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,u=Wht(),d=o.match?Object.values([_Pi.ABSOLUTE_TIME,_Pi.NOW]):Object.values(_Pi),[h,p]=n.useState(MPi(t,u)),[g,f]=n.useState(null),m=e=>{f(e.currentTarget)};return n.useEffect(()=>{p(MPi(t,u))},[u,t]),Une.jsxs(Une.Fragment,{children:[a?Une.jsx("span",{className:Bse("value-spec-editor__date-picker__editable__display--content editable-value",{"value-spec-editor__date-picker__editable__display--content--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:c?()=>{}:m,style:{cursor:c?"not-allowed":""},children:h.label?`"${h.label}"`:Une.jsx(Une.Fragment,{children:" "})}):Une.jsx("button",{className:Bse("value-spec-editor__date-picker__trigger",{"value-spec-editor__date-picker__trigger--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:m,disabled:c,children:h.label||"Select value"}),Une.jsxs(QCe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(MPi(t,u))}}},anchorEl:g,onClose:()=>{p(MPi(t,u)),f(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[Une.jsx(zPe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new TPi(e.target.value,e.target.value);if(_Pi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:Xb.LATESTDATE});else if(![_Pi.ABSOLUTE_DATE,_Pi.ABSOLUTE_TIME,_Pi.CUSTOM_DATE,_Pi.FIRST_DAY_OF,_Pi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=IPi.filter(e=>e.value===t.value);e.length>0?r(void 0,dr(e[0])):r(void 0,t)}p(t)},row:!0,options:d,size:2}),(()=>{switch(h.value){case _Pi.ABSOLUTE_DATE:return Une.jsx(VKi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case _Pi.ABSOLUTE_TIME:return Une.jsx(UKi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case _Pi.CUSTOM_DATE:return Une.jsx(GKi,{customDateOptionValue:LPi(t,u),updateValueSpecification:r,setDatePickerOption:p});case _Pi.FIRST_DAY_OF:return Une.jsx(HKi,{customDateAdjustOptionValue:MPi(t,u),updateValueSpecification:r,setDatePickerOption:p});case _Pi.PREVIOUS_DAY_OF_WEEK:return Une.jsx(zKi,{customDateAdjustOptionValue:MPi(t,u),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},WKi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return Une.jsx(hCe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"value-spec-paramater__tooltip",arrow:"value-spec-paramater__tooltip__arrow",tooltipPlacementRight:"value-spec-paramater__tooltip--right"},slotProps:{transition:{timeout:0}},title:Une.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[Une.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Une.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),Une.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),Une.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Une.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),Une.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),Une.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Une.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),Une.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:tE(t.multiplicity)})]})]}),children:n})},$Ki="VARIABLE",qKi=Lse(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return Une.jsxs(Une.Fragment,{children:[Une.jsx(IVe,{labelGetter:e=>e.variable.name,types:[$Ki]}),Une.jsxs("div",{className:Bse("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[Une.jsx("div",{className:"value-spec-editor__variable__icon",children:i?Une.jsx("div",{className:"icon",children:"C"}):Une.jsx(ore,{})}),Une.jsxs("div",{className:"value-spec-editor__variable__label",children:[Une.jsx("div",{className:"value-spec-editor__variable__text",children:s}),Une.jsx(WKi,{variable:t,children:Une.jsx("div",{className:"value-spec-editor__variable__info",children:Une.jsx(_re,{})})}),Une.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:Une.jsx(uie,{})})]})]})]})}),YKi=Lse(n.forwardRef((e,t)=>{const{valueSpecification:n,valueSelector:i,updateValueSpecification:r,errorChecker:s,resetValue:o,handleBlur:a,handleKeyDown:l,className:c,selectorSearchConfig:u,selectorConfig:d,lightMode:h,readOnly:p}=e,g=Boolean(u),f=Wht(),m=i(n),v=m?{value:m,label:m}:null,y=u?.reloadValues,b=u?.isLoading,_=u?.values?.length?u.values.map(e=>({value:e,label:e.toString()})):void 0,C=void 0===u?.values?()=>null:void 0,S=`reset-${i(n)}`,w=`input-${i(n)}`;return Une.jsxs("div",{className:Bse("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==w&&a?.()},children:[g?Une.jsx(CPe,{className:"value-spec-editor__enum-selector",options:_,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:v,inputValue:m??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),y?.cancel();const t=y?.(e);t&&t.catch(f.alertUnhandledError)}"input-blur"===t.action&&(y?.cancel(),u?.cleanUpReloadValues?.())},darkMode:!h,isLoading:b,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===m?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:w,optionCustomization:d?.optionCustomization,disabled:p}):Une.jsx(Vxe,{className:"panel__content__form__section__input value-spec-editor__input",spellCheck:!1,value:m??"",placeholder:""===m?"(empty)":void 0,onChange:e=>{r(n,e.target.value)},ref:t,error:s?.(n)?"Invalid String value":void 0,onKeyDown:l,name:w,disabled:p}),Une.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:Une.jsx(uie,{})})]})})),KKi=Lse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return Une.jsxs("div",{className:Bse("value-spec-editor",s),children:[Une.jsx("button",{role:"checkbox",className:Bse("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?Une.jsx(Xie,{}):Une.jsx(Pre,{})}),Une.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:Une.jsx(uie,{})})]})}),XKi=Lse(n.forwardRef((e,t)=>{const{valueSpecification:i,valueSelector:r,updateValueSpecification:s,errorChecker:o,resetValue:a,handleBlur:l,handleKeyDown:c,className:u,isInteger:d,readOnly:h,enableExpressionCalculation:p=!0}=e,[g,f]=n.useState(r(i)?.toString()??""),m=n.useRef(null);n.useImperativeHandle(t,()=>m.current,[]);const v=g?d?Number.parseInt(Number(g).toString(),10):Number(g):null,y=e=>{if(e){const t=d?Number.parseInt(Number(e).toString(),10):Number(e);isNaN(t)||t===r(i)||s(i,t)}else a()},b=()=>{if(null!==v&&isNaN(v))try{const e=Rr(x5n(g));y(e.toString()),f(e.toString())}catch{const e=r(i)?.toString()??"";y(e),f(e)}else null!==v?(y(v.toString()),f(v.toString())):a()};n.useEffect(()=>{if(null!==v&&!isNaN(v)&&v!==r(i)){const e=null!==r(i)?r(i).toString():"";f(e)}},[v,i,r]);const _=`reset-${r(i)}`,C=`input-${r(i)}`,S=`calculate-${r(i)}`;return Une.jsxs("div",{className:Bse("value-spec-editor",u),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==C&&e.relatedTarget?.name!==S&&l?.()},children:[Une.jsxs("div",{className:"value-spec-editor__number__input-container",children:[Une.jsx("input",{ref:m,className:Bse("panel__content__form__section__input","value-spec-editor__input","value-spec-editor__number__input",{"value-spec-editor__number__input--error":o?.(i)}),spellCheck:!1,type:"text",inputMode:"numeric",value:g,onChange:e=>{f(e.target.value),y(e.target.value)},onBlur:b,onKeyDown:e=>{(e=>{"Enter"===e.code?(b(),m.current?.focus()):"Escape"===e.code&&m.current?.select()})(e),c?.(e)},name:C,disabled:h}),p&&Une.jsx("div",{className:"value-spec-editor__number__actions",children:Une.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:S,onClick:b,disabled:h,children:Une.jsx(yie,{})})})]}),Une.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:Une.jsx(uie,{})})]})})),ZKi=Lse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,errorChecker:r,resetValue:s,handleBlur:o,options:a,className:l,selectorConfig:c,lightMode:u,readOnly:d}=e,h=n(t),p=`reset-${n(t)}`,g=`input-${n(t)}`;return Une.jsxs("div",{className:Bse("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[Une.jsx(CPe,{className:"value-spec-editor__enum-selector",options:a,onChange:e=>{i(t,e.value),o?.()},value:h?{value:h,label:h}:null,darkMode:!u,hasError:r?.(t),placeholder:"Select value",autoFocus:!0,inputName:g,optionCustomization:c?.optionCustomization,disabled:d}),Une.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:d,children:Une.jsx(uie,{})})]})}),QKi=e=>0===e.length?"":((e,t)=>pm.unparse(e,t))([e.map(e=>e instanceof lS?e.values[0]:e instanceof cS?dr(e.values[0]).value.name:void 0).filter(cr)]).trim(),JKi=e=>{if(e instanceof B_)switch(e.path){case Xb.DATE:case Xb.STRICTDATE:return"yyyy-mm-dd";case Xb.DATETIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else{if(!(e instanceof wx))throw new Error(`Cannot get placeholder for type ${e}`);switch(e.fullPath){case Xb.DATE:case Xb.STRICTDATE:return"yyyy-mm-dd";case Xb.DATETIME:case Xb.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}}},eXi=Lse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:u,readOnly:d}=e,h=Wht(),p=n.useRef(null),[g,f]=n.useState(""),[m,v]=n.useState(!1),[y,b]=n.useState(t.values.filter(e=>dr(e)).map(r).filter(mr).map(e=>({label:e,value:e}))),_=c===B_.STRING&&Boolean(a),C=_?a?.reloadValues:void 0,S=_?a?.cleanUpReloadValues:void 0,w=_?a?.isLoading:void 0,E=_&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=_&&w?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,R=e=>{const t=dr(r(e));return{label:t,value:t}},N=e=>y.map(e=>e.value).includes(e),I=()=>{const e=g.trim();if(e.length){const t=i(c,e);return null===t||void 0===r(t)||N(dr(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...y,R(e)]:y).map(e=>e.value).map(e=>i(c,e)).filter(cr);s(t,n),o()};return Une.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[Une.jsx(CPe,{className:Bse("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":m}),options:E,inputValue:g,isMulti:!0,menuIsOpen:_&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{b(e),"select-option"===t.action?f(""):"remove-value"===t.action&&t.removedValue.value===g&&v(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){f(e),v(!1),C?.cancel();const t=C?.(e);t&&t.catch(h.alertUnhandledError)}"input-blur"===t.action&&(C?.cancel(),S?.())},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||((()=>{const e=I();null!==e?(b([...y,R(e)]),f(""),C?.cancel()):g.trim().length&&v(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=ym(t);if(!n)return;const s=li(li(n).map(e=>{const t=i(c,e);return t?r(t):null}).filter(cr)).filter(e=>!N(e));b([...y,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:y,darkMode:!u,isLoading:w,noMatchMessage:x,placeholder:JKi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:d}),Une.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(y.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:Une.jsx(nre,{})}),Une.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:d,children:Une.jsx(Ore,{})})]})}),tXi=Lse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,expectedType:a,enumOptions:l,selectorConfig:c,lightMode:u,readOnly:d}=e;dr(l,"Must pass enum options to EnumCollectionInstanceValueEditor");const[h,p]=n.useState(""),[g,f]=n.useState(!1),[m,v]=n.useState(t.values.filter(e=>dr(e)).map(r).filter(mr).map(e=>({label:e,value:e}))),y=l?.filter(e=>!m.some(t=>t.value===e.value)),b=`copy-${t.values[0]?r(t.values[0]):""}`,_=`input-${t.values[0]?r(t.values[0]):""}`,C=e=>m.map(e=>e.value).includes(e),S=()=>{const e=(()=>{const e=h.trim();return e.length&&!C(e)&&l?.some(t=>t.value===e)?e:null})();null!==e?(v([...m,{label:e,value:e}]),p("")):h.trim().length&&f(!0)},w=()=>{const e=m.map(e=>e.value).map(e=>i(a,e)).filter(cr);s(t,e),o()};return Une.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==b&&e.relatedTarget?.name!==_&&w()},children:[Une.jsx(CPe,{className:Bse("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:y,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{v(e),"select-option"===t.action?p(""):"remove-value"===t.action&&t.removedValue.value===h&&f(!1)},onInputChange:(e,t)=>{"input-change"===t.action&&(p(e),f(!1))},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||(S(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=ym(t);if(!n)return;const i=li(li(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));v([...m,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:m,darkMode:!u,placeholder:"Add",menuIsOpen:!0,inputName:_,optionCustomization:c?.optionCustomization,disabled:d}),Une.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(m.map(e=>e.value).join(","))})()},name:b,title:"Copy values to clipboard",children:Une.jsx(nre,{})}),Une.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:w,disabled:d,children:Une.jsx(Ore,{})})]})}),nXi=Lse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,stringifyCollectionValueSpecification:o,errorChecker:a,className:l,selectorSearchConfig:c,selectorConfig:u,expectedType:d,enumOptions:h,lightMode:p,readOnly:g}=e,[f,m]=n.useState(!1),v=o(t),y=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${v.length>50?`${v.substring(0,50)}...`:v}`}`,b=()=>{f&&m(!1)};return f?Une.jsx(Une.Fragment,{children:Une.jsx("div",{className:Bse("value-spec-editor",l),children:void 0!==h?Une.jsx(tXi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,enumOptions:h,selectorConfig:u,lightMode:p,readOnly:g}):Une.jsx(eXi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,selectorSearchConfig:c,selectorConfig:u,lightMode:p,readOnly:g})})}):Une.jsxs("div",{className:Bse("value-spec-editor",l),onClick:g?()=>{}:()=>m(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[Une.jsx("div",{className:Bse("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:y}),Une.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:Une.jsx(sie,{})})]})}),iXi=()=>Une.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),rXi=Lse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return Une.jsxs("div",{className:Bse("value-spec-editor",l),children:[Une.jsx(jKi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof lS&&!yft(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&Une.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:Une.jsx(uie,{})})]})}),sXi=n.forwardRef(function(e,t){const{className:n,valueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,selectorSearchConfig:c,selectorConfig:u,isConstant:d,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,readOnly:f,enableExpressionCalculation:m}=e,v=Wht(),y=e=>!yft(e),b=e=>e instanceof bS?"":e.values[0],_=(e,t,n)=>{t instanceof APi?a(((e,t,n)=>{const i=new bS(Zgt.ADJUST);if(cft(i,kPi(new TPi(dr(e.referenceMoment),dr(e.referenceMoment)),t,n),n),e.direction===EPi.BEFORE){const r=new bS(Zgt.MINUS);cft(r,FPi(t,Xb.INTEGER,e.duration,n),n),cft(i,r,n)}else cft(i,FPi(t,Xb.INTEGER,e.duration,n),n);const r=new cS(G_.create(new q_(t.getType(Ygt.DURATION_UNIT))));return pft(r,[...r.values,lC.create(dr(OPi(dr(e.unit),t)))],n),cft(i,r,n),sft(i,G_.create(new q_(B_.DATE))),i})(t,r,s)):t instanceof RPi||t instanceof NPi||t instanceof TPi?a(kPi(t,r,s)):e instanceof bS?a(FPi(r,dr(n?.primitiveTypeEnum),t,s)):e instanceof aS?(hft(e,t,0,s),e.genericType.value.rawType.path!==dr(n?.primitiveTypeEnum)&&sft(e,G_.create(new q_((e=>{switch(e){case Xb.STRING:return B_.STRING;case Xb.BOOLEAN:return B_.BOOLEAN;case Xb.BINARY:return B_.BINARY;case Xb.NUMBER:return B_.NUMBER;case Xb.INTEGER:return B_.INTEGER;case Xb.FLOAT:return B_.FLOAT;case Xb.DECIMAL:return B_.DECIMAL;case Xb.DATE:return B_.DATE;case Xb.STRICTDATE:return B_.STRICTDATE;case Xb.DATETIME:return B_.DATETIME;case Xb.STRICTTIME:return B_.STRICTTIME;case Xb.LATESTDATE:return B_.LATESTDATE;case Xb.BYTE:return B_.BYTE;default:throw new Error(`Unable to get PrimitiveType class for type ${e}`)}})(dr(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===Xb.LATESTDATE&&a(FPi(r,Xb.LATESTDATE,t,s))};if(i instanceof lS){const e=i.genericType.value.rawType,r=e=>e.values[0],d=(e,t)=>{hft(e,t,0,s),a(e)};switch(e.path){case Xb.STRING:return Une.jsx(YKi,{valueSpecification:i,valueSelector:r,updateValueSpecification:d,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:u,ref:t,handleBlur:h,handleKeyDown:p,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:f});case Xb.BOOLEAN:return Une.jsx(KKi,{valueSpecification:i,valueSelector:r,updateValueSpecification:d,className:n,resetValue:l,readOnly:f});case Xb.NUMBER:case Xb.FLOAT:case Xb.DECIMAL:case Xb.BINARY:case Xb.BYTE:case Xb.INTEGER:return Une.jsx(XKi,{valueSpecification:i,valueSelector:r,isInteger:e.path===Xb.INTEGER,updateValueSpecification:d,errorChecker:y,className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:f,enableExpressionCalculation:m});case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.LATESTDATE:return Une.jsx(rXi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof lS&&y(e),readOnly:f});default:return Une.jsx(iXi,{})}}else{if(i instanceof cS){const e=fr(i.genericType?.value.rawType,J_),t=e.values.map(e=>({label:e.name,value:e.name}));return Une.jsx(ZKi,{valueSpecification:i,valueSelector:e=>void 0===e.values[0]?null:e.values[0].value.name,options:t,className:n,resetValue:l,updateValueSpecification:(t,n)=>{const i=dr(e.values.find(e=>e.name===n),`Unable to find enum value ${n} in enumeration ${e.name}`);hft(t,lC.create(i),0,s),a(t)},errorChecker:e=>!yft(e),handleBlur:h,selectorConfig:u,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:f})}if(i instanceof uS&&i.genericType){const e=(e,t)=>{pft(e,t,s),a(e)},t=(e,t)=>{if(e instanceof J_){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new cS(G_.create(new q_(e)));return pft(t,[lC.create(n)],s),vte(t,s)}}else{const n=jPi(fr(e,A_),t,s);if(n)return vte(n,s)}return null},r=o.expectedType instanceof J_?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return Une.jsx(nXi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:u,stringifyCollectionValueSpecification:e=>QKi(e.values),errorChecker:y,convertValueSpecificationToText:e=>zPi(e,v,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:f})}if(i instanceof oS)return Une.jsx(qKi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(d)});if(i instanceof ES)return Une.jsx(sXi,{valueSpecification:i.getValue(),graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,selectorSearchConfig:c,selectorConfig:u,readOnly:f});if(i instanceof bS){if(Jw(o.expectedType,B_.DATE))return MKi(i)?Une.jsx(rXi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:f}):Une.jsx(iXi,{});if(Jw(o.expectedType,B_.NUMBER)&&k_(i.functionName,Zgt.MINUS)){const e=Nft(i,s);if(e instanceof lS&&Jw(e.genericType.value.rawType,B_.NUMBER))return Une.jsx(XKi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===B_.INTEGER,updateValueSpecification:(e,t)=>{hft(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:f})}}}return Une.jsx(iXi,{})}),oXi=Lse(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:u,initializeAsEditable:d,readOnly:h,enableExpressionCalculation:p=!0,displayAsString:g=!0}=e,f=Wht(),[m,v]=n.useState(d??!1),y=n.useRef(null);n.useEffect(()=>{m&&y.current?.focus()},[m,y]);const b=t instanceof lS&&!Jw(t.genericType.value.rawType,B_.DATE)&&t.genericType.value.rawType!==B_.BOOLEAN||t instanceof cS,_=m||!b,C=zPi(t,f,{omitEnumOwnerName:!0});return _?Une.jsx(sXi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:u,ref:y,handleBlur:()=>v(!1),handleKeyDown:e=>{"Enter"===e.key&&v(!1)},displayDateEditorAsEditableValue:!0,readOnly:h,enableExpressionCalculation:p}):Une.jsx("div",{className:"value-spec-editor__editable__display",children:Une.jsx("span",{className:Bse("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof aS&&!yft(t)}),onClick:h?()=>{}:()=>{v(!0)},style:{cursor:h?"not-allowed":""},children:g?`"${void 0!==C?C:""}"`:C})})}),aXi=(e,t)=>{if(e instanceof bS){const n=MPi(e,t.applicationStore).label;if(n)return n}return zPi(e,t.applicationStore)},lXi=Lse(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return Une.jsxs(OPe,{ref:t,children:[i?.map(e=>Une.jsx(LPe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&Une.jsx(LPe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&Une.jsx(LPe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),cXi=Lse(e=>{const{variable:t,value:i,actions:r,isReadOnly:s,queryBuilderState:o,extraContextMenuActions:a,option:l}=e,c=o.isVariableUsed(t),[u,d]=n.useState(!1),h=Boolean(i),p=i?.val?aXi(i.val,o):void 0,g=t.name,f=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),m=o.milestoningState.isMilestoningParameter(t),v=o.milestoningState.getMilestoningParameterValue(t),y=m&&v?aXi(v,o):void 0,b=s||c,_=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,w]=XBe(()=>({type:$Ki,item:{variable:t}}),[t]),E=n.useRef(null);return S(E),NVe(w),Une.jsx("div",{className:"query-builder__variables__variable",ref:E,children:Une.jsxs(BPe,{content:Une.jsx(lXi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:Bse("query-builder__variables__variable__context-menu",{"query-builder__variables__variable--selected-from-context-menu":u}),menuProps:{elevation:7},onOpen:()=>d(!0),onClose:()=>d(!1),children:[Une.jsx(IVe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[$Ki]}),Une.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[Une.jsx("div",{className:"query-builder__variables__variable__icon",children:Une.jsx("div",{className:"query-builder__variables__variable-icon",children:h?Une.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):Une.jsx(ore,{})})}),Une.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?Une.jsxs("div",{className:Bse("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&Une.jsx(zie,{title:"Calculated Constant"})]}):Une.jsxs("div",{className:"query-builder__variables__variable__type",children:[Une.jsx("div",{className:"query-builder__variables__variable__type__label",children:f??"unknown"}),m&&Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&Une.jsx("div",{className:"query-builder__constants__value",children:y})]})]})]})]}),r&&Une.jsxs("div",{className:"query-builder__variables__variable__actions",children:[Une.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:Une.jsx(sie,{})}),Une.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:b,title:_,children:Une.jsx(Bre,{})}),Une.jsx(WKi,{variable:t,children:Une.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:Une.jsx(_re,{})})})]})]})})}),uXi=Lse(e=>{const{queryBuilderState:t,filterBy:n}=e,i=t.parametersState.parameterStates.filter(e=>!n||n(e.parameter)),r=t.constantState.constants.filter(e=>!n||n(e.variable));return Une.jsxs(Une.Fragment,{children:[Une.jsxs(rFe,{title:"Available parameters",children:[0===i.length&&Une.jsx(Une.Fragment,{children:" No available parameters "}),i.map(e=>Une.jsx(cXi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&Une.jsx(rFe,{title:"Available constants",children:r.map(e=>Une.jsx(cXi,{variable:e.variable,value:{val:e instanceof aKi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),dXi=Lse(e=>{const{derivedPropertyExpressionState:t,variable:i,idx:r}=e,s=t.queryBuilderState.graphManagerState.graph,o=dr(t.parameters[r]?.genericType).value.rawType,a=n.useCallback(e=>{lft(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=tVe(()=>({accept:[$Ki],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!eE(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),u=t.queryBuilderState,d=e=>{e instanceof _S&&tft(e,u)&&e.func.value.genericType.value.rawType instanceof Y_&&u.applicationStore.alertService.setActionAlertInfo({message:"You have just changed a milestoning date in the property expression chain, this date will be propagated down the rest of the chain. Do you want to proceed? Otherwise, you can choose to propagate the default milestoning dates instead.",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:Apt.PROCEED,handler:u.applicationStore.guardUnhandledError(async()=>(e=>{const t=zw(fr(e.func.value.genericType.value.rawType,Y_),u.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof ES&&!ift(t,i,n.getValue(),u.milestoningState)){const n=new ES(()=>dr(u.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,lft(fr(e,_S),dr(n),i+1,u.observerContext)}})})(e))}]})},h=dr(t.parameterValues[r]);return Une.jsxs("div",{className:"panel__content__form__section",children:[Une.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),Une.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),Une.jsx("div",{className:"query-builder__variable-editor",children:Une.jsx(xVe,{isDragOver:l,dropTargetConnector:c,children:Une.jsx(sXi,{valueSpecification:h,setValueSpecification:e=>{lft(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===B_.DATETIME},resetValue:()=>{lft(t.propertyExpression,rft(t,r)??qPi(i,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,t.queryBuilderState.observerContext),r+1,t.queryBuilderState.observerContext);const e=t.propertyExpressionState.derivedPropertyExpressionStates,n=e.indexOf(t);d(n+1<e.length?e[n+1]?.propertyExpression:void 0)},isConstant:u.constantState.isValueSpecConstant(h)})})}),Une.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),hXi=Lse(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return Une.jsxs("div",{className:"query-builder-property-editor__section",children:[Une.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&Une.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>Une.jsx(dXi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),pXi=Lse(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return Une.jsx(cye,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Une.jsxs(EPe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[Une.jsx(TPe,{title:"Derived Property"}),Une.jsxs(RPe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>Une.jsx(hXi,{derivedPropertyExpressionState:e},e.path)),Une.jsx(RPe,{className:"query-builder__variables__modal__body",children:Une.jsx(uXi,{queryBuilderState:t.queryBuilderState,filterBy:e=>((e,t)=>Boolean(t.find(t=>{const n=e.genericType?.value.rawType;return!!n&&t.parameters.some(e=>e.genericType&&(eE(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),Une.jsx(NPe,{children:Une.jsx(DPe,{text:"Done",onClick:i})})]})})}),gXi=Lse(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return Une.jsx("div",{className:"query-builder__property__name__display",title:n,children:Une.jsx("span",{className:Bse("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),fXi=Lse(e=>{const{columnName:t,setColumnName:i,error:r,title:s,defaultColumnName:o}=e,[a,l]=n.useState(!1),[c,u]=n.useState(t),d=n.useRef(null);n.useEffect(()=>{a&&d.current?.focus()},[a,d]);const h=()=>{const e=c.trim();e.length>0?(i?.(e),u(e)):(i?.(o),u(o)),l(!1)};return a?Une.jsx("div",{className:"query-builder__property__name__editor",children:Une.jsx(Vxe,{className:"query-builder__property__name__editor__input input-group__input",spellCheck:!1,value:c,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()},onBlur:h,ref:d,draggable:!0,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}})}):Une.jsx(gXi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),mXi=Lse(e=>{const{columnName:t,propertyExpressionState:n,setColumnName:i,error:r}=e,s=n.propertyExpression.func.value.genericType.value.rawType,o=Boolean(n.derivedPropertyExpressionStates.length),a=n.isValid;return Une.jsx("div",{className:"query-builder-property-expression-badge",children:Une.jsxs("div",{className:Bse("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof Y_,"query-builder-property-expression-badge__content--enumeration":s instanceof J_,"query-builder-property-expression-badge__content--primitive":s instanceof B_}),children:[Une.jsx(fXi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:WPi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&Une.jsxs("button",{className:Bse("query-builder-property-expression-badge__action",{"query-builder-property-expression-badge__action--error":!a}),tabIndex:-1,onClick:()=>{o&&n.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!a&&Une.jsx(_re,{})," (...)"]}),Une.jsx(pXi,{propertyExpressionState:n})]})})}),vXi=e=>{const{issues:t}=e;if(!t)return null;const n=(i="issue",((e,t)=>e<=0?`no ${t}s`:e>1?`${e} ${t}s`:`1 ${t}`)(t.length,i));var i;return Une.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[Une.jsx(Fre,{className:"query-builder-panel-issue-count-badge__icon"}),Une.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},yXi=e=>{if(e instanceof B_||e instanceof V_){const t=Sft(e)??e.path;if(t===Xb.STRING)return Une.jsx(oie,{className:"query-builder-column-badge__icon"});if(t===Xb.BOOLEAN)return Une.jsx(Vre,{className:"query-builder-column-badge__icon"});if(t===Xb.NUMBER||t===Xb.INTEGER||t===Xb.FLOAT||t===Xb.DECIMAL)return Une.jsx(bre,{className:"query-builder-column-badge__icon"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return Une.jsx(Jie,{className:"query-builder-column-badge__icon"})}else if(e instanceof J_)return Une.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},bXi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=_i(()=>(e=>{if(e instanceof aFi||e instanceof iVi)return T_.ONE;if(e instanceof nFi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new yi("Can't get multiplicity for column",e)})(t));return Une.jsx(hCe,{arrow:!0,...void 0!==n?{placement:n}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:Une.jsxs("div",{className:"query-builder__tooltip__content",children:[Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:tE(s)})]})]}),children:i})},_Xi=(e,t)=>{switch(t){case eFi:return e.columnState.getColumnType();case AUi.ENUM_PROPERTY:case AUi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case $Ki:return e.variable.genericType?.value.rawType;case QBi:return e.columnState.getColumnType();default:return}},CXi=[AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY,eFi,AUi.RELATION_COLUMN],SXi=[AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY,AUi.RELATION_COLUMN],wXi=[BFi.CONDITION,AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY,eFi,AUi.RELATION_COLUMN],EXi=[BFi.CONDITION,AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY,AUi.RELATION_COLUMN],xXi=[AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY,eFi,$Ki],TXi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof _S||r instanceof bS&&k_(r.functionName,Zgt.SUBTYPE);){let e;r instanceof bS?e=new bS(N_(Zgt.SUBTYPE)):(e=new _S(""),e.func=r.func),e.parametersValues=r.parametersValues.length>1?r.parametersValues.slice(1):[],i.push(e),r=dr(r.parametersValues[0])}let s,o=[],a=[fr(r,oS)],l=0;for(let e=i.length-1;e>=0;--e){const n=i[e];n.parametersValues.unshift(a[a.length-1]),a[a.length-1]=n,n instanceof _S&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(Ur(o,t.lambdaParameterName)),br(l===o.length-1)),a.push(new oS(o[l],T_.ONE)),l++)}if(n)if(n instanceof XFi){const e=a.findIndex(e=>e instanceof _S&&e.func.value===n.propertyExpressionState.propertyExpression.func.value&&e.func.ownerReference.value.path===n.propertyExpressionState.propertyExpression.func.ownerReference.value.path);e>=0&&(s=n,a=a.slice(e+1),o=o.slice(e+1))}else{let e=n,i=n.parentId;for(;i&&!(e instanceof XFi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof XFi){const i=a.findIndex(t=>t instanceof _S&&e instanceof XFi&&t.func.value===fr(e,XFi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof QFi?t.newGroupConditionFromNode(n):n instanceof KFi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof QFi?t.newGroupConditionFromNode(n):n instanceof KFi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new XFi(t,s?.id);n.setPropertyExpression(a[e]),n.lambdaParameterName=o[e],t.nodes.set(n.id,n),t.addNodeFromNode(n,s),s=n}const c=new $Fi(t,a[a.length-1]),u=new QFi(void 0,c);u.setIsNewlyAdded(!0),t.addNodeFromNode(u,s),n instanceof JFi&&t.removeNodeAndPruneBranch(n)},AXi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof XFi&&r.push(i.propertyExpressionState.propertyExpression),i=e.getParentNode(i);i?.id===t.id&&r.push(t.propertyExpressionState.propertyExpression),r=r.reverse();const s=dr(r[0]);r=r.slice(1);let o=new _S("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof _S||n instanceof bS&&k_(n.functionName,Zgt.SUBTYPE);){if(n instanceof bS){const e=new bS(N_(Zgt.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof _S){const e=new _S("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=dr(n.parametersValues[0])}br(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(o),o=fr(t[0],_S,"Can't process exists() expression: can't flatten to a property expression")}return fr(FFi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),_S)},RXi=(e,t,n)=>{if(VFi(e)){const i=WPi(e,t.queryBuilderState.explorerState.humanizePropertyName);t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:`The property '${i}' is a collection. As you are trying to filter on a collection, the filter created will be an exist filter. e.g. There exists at least one '${i}' where 'Type' is the value specified.\n If you are looking to create the filter where all values in this collection equal the value specified, rather than at least one value, consider creating post filter instead.`,type:Tpt.CAUTION,actions:[{label:"Cancel",type:Apt.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:Apt.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>TXi(e,t,n))}]})}else{const i=new $Fi(t,e),r=new QFi(void 0,i);r.setIsNewlyAdded(!0);let s,o=n,a=n?.parentId;for(;a;)o=t.nodes.get(a),a=o?.parentId,o instanceof XFi&&(s=o);if(o instanceof XFi&&(s=o),n instanceof KFi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof JFi)s?t.queryBuilderState.applicationStore.notificationService.notifyError("Can't drag and drop here: property expression of target and source doesn't match"):t.replaceBlankNodeWithNode(r,n);else if(s&&n instanceof XFi)t.newGroupConditionFromNode(s,r);else if(n instanceof QFi){const e=t.getParentNode(n);if(s&&e instanceof XFi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,TFi.AND);else if(s&&e instanceof KFi){const i=AXi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);TXi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},NXi=Lse(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===TFi.AND?"AND":"OR";return Une.jsx("div",{className:"dnd__entry__container",children:Une.jsx(RVe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:Une.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===TFi.AND?TFi.OR:TFi.AND)},children:Une.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),IXi=Lse(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return Une.jsx("div",{className:"dnd__entry__container",children:Une.jsx(RVe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:Une.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[Une.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:WPi(t.propertyExpressionState.propertyExpression,n)}),Une.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&Une.jsxs("button",{className:Bse("query-builder-filter-tree__exists-node__exists--label__action",{"query-builder-filter-tree__exists-node__exists--label__action--error":!o}),tabIndex:-1,onClick:()=>{s&&t.propertyExpressionState.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!o&&Une.jsx(_re,{})," (...)"]}),Une.jsx(pXi,{propertyExpressionState:t.propertyExpressionState})]})})})}),DXi=Lse(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return Une.jsx("div",{className:"query-builder-filter-property-expression-badge",children:Une.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[Une.jsx("div",{className:Bse("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof Y_,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof J_,"query-builder-filter-property-expression-badge__type--primitive":i instanceof B_}),children:yXi(i)}),Une.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:Une.jsx(mXi,{propertyExpressionState:t.propertyExpressionState})}),Une.jsx(BVi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:Une.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:Une.jsx(_re,{})})}),Une.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:Une.jsx(uie,{})})]})})}),kXi=(e,t)=>{const n=t.operator,i=t.leftConditionType;return!(n instanceof N$i)&&!(n instanceof I$i)&&wft(e,i)},OXi=Lse(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Wht(),l=ZFi(t),c=n.useCallback((e,n)=>{const i=_Xi(e,n);if(void 0!==i&&kXi(i,t.condition))try{if((n===eFi||n===AUi.ENUM_PROPERTY||n===AUi.PRIMITIVE_PROPERTY)&&l)throw new yi("Collection filter does not support property for filter condition value.");if(n===eFi){const n=e.columnState;if(!(n instanceof nFi))throw new yi("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(VFi(e))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new KPi(s,VPi(e,s.observerContext)))}}else if(n===AUi.ENUM_PROPERTY||n===AUi.PRIMITIVE_PROPERTY){const n=e.node,i=new KPi(s,PUi(n,t.condition.filterState.queryBuilderState.explorerState));if(VFi(i.propertyExpression))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===$Ki){const n=e.variable;t.condition.buildRightConditionValueFromValueSpec(n)}else a.notificationService.notifyWarning(`Dragging and Dropping ${n} to filter panel is not supported.`)}catch(e){return bi(e),void a.notificationService.notifyWarning(e.message)}else{const e=t.condition.leftConditionType;a.notificationService.notifyWarning(`Incompatible parameter type ${i?.name}. ${i?.name} is not compatible with type ${e.name}.`)}},[a,s,l,t.condition]),[{isFilterValueDragOver:u},d]=tVe(()=>({accept:xXi,canDrop:(e,n)=>kXi(_Xi(e,n.getItemType()),t.condition),drop:(e,t)=>{t.didDrop()||c(e,t.getItemType())},collect:e=>({isFilterValueDragOver:e.isOver({shallow:!0})&&e.canDrop()})}),[c]),h=n.useRef(null);d(h);const{isFilterValueDroppable:p}=ZBe(e=>({isFilterValueDroppable:e.isDragging()&&xXi.includes(e.getItemType()?.toString()??"")&&kXi(_Xi(e.getItem(),e.getItemType()),t.condition)})),g=()=>{t.condition.buildRightConditionValueFromValueSpec(t.condition.operator.getDefaultFilterConditionValue(t.condition))},f=e=>{t.condition.buildRightConditionValueFromValueSpec(e)},m=n.useMemo(()=>jn(e=>{const n=jPi(B_.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),v={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:m,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),Une.jsx("div",{className:"dnd__entry__container","data-testid":UVi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:Une.jsx(RVe,{isDragOver:i&&!u,alwaysShowChildren:!0,children:Une.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[Une.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:t.condition.sourceState instanceof jFi?Une.jsx(mXi,{propertyExpressionState:t.condition.sourceState.propertyExpressionState}):Une.jsx("div",{className:"query-builder-filter-tree__condition-node__property__label",children:t.condition.sourceState.label})}),Une.jsxs(VPe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:Une.jsx(OPe,{children:t.condition.operators.map(e=>{return Une.jsx(LPe,{className:"query-builder-filter-tree__condition-node__operator__dropdown__option",onClick:(n=e,()=>t.condition.changeOperator(n)),children:e.getLabel()},e.uuid);var n})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:[Une.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),Une.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:Une.jsx(Wie,{})})]}),o instanceof GFi&&o.value?Une.jsx("div",{ref:h,"data-testid":UVi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:Une.jsx(RVe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:Une.jsx(oXi,{valueSpecification:o.value,setValueSpecification:f,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.leftConditionType},resetValue:g,selectorSearchConfig:v,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof HFi?Une.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:Une.jsx(RVe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:Une.jsx(DXi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),LXi=Lse(e=>{const{isDragOver:t,isDroppable:n}=e;return Une.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:Une.jsx(RVe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:Une.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),MXi=Lse(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return Une.jsxs(OPe,{ref:t,children:[i instanceof KFi&&Une.jsx(LPe,{onClick:()=>{r.addNodeFromNode(new JFi(void 0),i)},children:"Add New Condition"}),i instanceof KFi&&Une.jsx(LPe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof QFi&&Une.jsx(LPe,{onClick:()=>{Ggt.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),Une.jsx(LPe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),PXi=Lse(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Wht(),u=s.filterState,d=n.useCallback((e,n)=>{if(BFi.CONDITION===n){const n=e.node,i=new QFi(void 0,u.nodes.get(n.id).condition);t instanceof JFi?(u.replaceBlankNodeWithNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof QFi?(u.newGroupWithConditionFromNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof KFi&&(u.addNodeFromNode(i,t),u.removeNodeAndPruneBranch(n))}else{let i;try{if(n===AUi.RELATION_COLUMN){const t=e.node,n=new WFi(t.column.name,t.type);i=new $Fi(u,n)}else{let t;if(n===eFi){if(!(e.columnState instanceof nFi))throw new yi("Dragging and Dropping derivation projection column is not supported.");t=VPi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=PUi(e.node,u.queryBuilderState.explorerState);i=new $Fi(u,t)}}catch(e){return bi(e),void c.notificationService.notifyWarning(e.message)}if(t instanceof YFi||t instanceof QFi||t instanceof JFi)if(i.sourceState instanceof WFi){const e=new QFi(void 0,i);e.setIsNewlyAdded(!0),t instanceof JFi?u.replaceBlankNodeWithNode(e,t):t instanceof QFi?u.newGroupWithConditionFromNode(e,t):u.addNodeFromNode(e,t)}else RXi(i.propertyExpressionState.propertyExpression,u,t)}},[c,u,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=tVe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?wXi:EXi,drop:(e,t)=>{t.didDrop()||d(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[d]),[,f,m]=XBe(()=>({type:t instanceof KFi?BFi.GROUP_CONDITION:t instanceof QFi?BFi.CONDITION:BFi.BLANK_CONDITION,item:()=>({node:t}),end:()=>u.setRearrangingConditions(!1),canDrag:()=>t instanceof QFi||t instanceof JFi}),[t,u]);f(g(o)),NVe(m);const{isDroppable:v}=ZBe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?wXi:EXi).includes(e.getItemType()?.toString()??"")})),y=t instanceof XFi&&0===t.childrenIds.length,b=t instanceof QFi||t instanceof JFi||y;return Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:Bse("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof KFi,"query-builder-filter-tree__node__container--condition":t instanceof QFi||t instanceof JFi,"query-builder-filter-tree__node__container--exists":t instanceof XFi,"query-builder-filter-tree__node__container--exists--empty":y,"query-builder-filter-tree__node__container--no-hover":u.isRearrangingConditions,"query-builder-filter-tree__node__container--selected":t===u.selectedNode,"query-builder-filter-tree__node__container--selected-from-context-menu":a}),children:Une.jsxs(BPe,{content:Une.jsx(MXi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof QFi||t instanceof JFi?()=>i?.(t):void 0,children:[t instanceof KFi&&Une.jsx(NXi,{node:t,isDroppable:v,isDragOver:h}),t instanceof XFi&&Une.jsx(IXi,{node:t,humanizePropertyName:u.queryBuilderState.explorerState.humanizePropertyName,isDroppable:v,isDragOver:h}),t instanceof QFi&&Une.jsx(OXi,{node:t,isDragOver:p}),t instanceof JFi&&Une.jsx(LXi,{node:t,isDragOver:h,isDroppable:v})]}),b&&Une.jsx("div",{className:"query-builder-filter-tree__node__actions",children:Une.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>u.removeNodeAndPruneBranch(t),children:Une.jsx(Bre,{})})})]})})}),FXi=Lse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:Bse("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof KFi,"query-builder-filter-tree__node__block--exists":t instanceof XFi}),children:[Une.jsx(PXi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>Une.jsx(FXi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),BXi=Lse(e=>{const{queryBuilderState:t}=e,n=t.filterState,i=n.rootIds.map(e=>n.getNode(e)),r=e=>{n.setSelectedNode(n.selectedNode!==e?e:void 0)},s=e=>e instanceof YFi?e.childrenIds.map(e=>n.getNode(e)):[];return Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>Une.jsx(FXi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),VXi=Lse(e=>{const{queryBuilderState:t}=e,i=Wht(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof KFi),{isDroppable:a}=ZBe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?CXi:SXi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{if(n===AUi.RELATION_COLUMN){const t=e.node,n=new WFi(t.column.name,t.type),i=new $Fi(r,n),s=new QFi(void 0,i);s.setIsNewlyAdded(!0),r.setSelectedNode(void 0),r.addNodeFromNode(s,void 0)}else{let i;if(n===eFi){if(!(e.columnState instanceof nFi))throw new yi("Dragging and Dropping derivation projection column is not supported.");i=VPi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=PUi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),RXi(i,r)}}catch(e){return bi(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},u]=tVe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?CXi:SXi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),d=n.useRef(null);return u(d),Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[Une.jsxs("div",{className:"panel__header",children:[Une.jsxs("div",{className:"panel__header__title",children:[Une.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&Une.jsx(vXi,{issues:r.allValidationIssues})]}),Une.jsx("div",{className:"panel__header__actions",children:Une.jsx(VPe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:Une.jsxs(OPe,{children:[Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new JFi(void 0),r.selectedNode)},children:[Une.jsx(PPe,{children:Une.jsx(Nre,{})}),Une.jsx(FPe,{children:"Create Condition"})]}),Une.jsxs(LPe,{disabled:!(r.selectedNode instanceof QFi),onClick:()=>{Ggt.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof QFi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[Une.jsx(PPe,{children:Une.jsx(Qre,{})}),Une.jsx(FPe,{children:"Create Group From Condition"})]}),Une.jsxs(LPe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{Ggt.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[Une.jsx(PPe,{children:Une.jsx(Tre,{})}),Une.jsx(FPe,{children:"Create Logical Group"})]}),Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[Une.jsx(PPe,{children:Une.jsx(Ure,{})}),Une.jsx(FPe,{children:"Cleanup Tree"})]}),Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[Une.jsx(PPe,{children:Une.jsx(Zie,{})}),Une.jsx(FPe,{children:"Simplify Tree"})]}),Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[Une.jsx(PPe,{children:Une.jsx(tre,{})}),Une.jsx(FPe,{children:"Collapse Tree"})]}),Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[Une.jsx(PPe,{children:Une.jsx(ure,{})}),Une.jsx(FPe,{children:"Expand Tree"})]})]}),children:Une.jsx(aie,{className:"query-builder__icon__more-options"})})})]}),Une.jsx(KPe,{children:Une.jsxs(xVe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:u,children:[r.isEmpty&&Une.jsx(aFe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&Une.jsxs(Une.Fragment,{children:[Une.jsx(IVe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(BFi)}),Une.jsx(BXi,{queryBuilderState:t})]}),a&&!r.isEmpty&&Une.jsx("div",{ref:d,className:"query-builder-filter-tree__free-drop-zone__container",children:Une.jsx(RVe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:Une.jsx(Une.Fragment,{})})})]})})]})}),UXi=Lse(e=>{const{resultState:t}=e,i=Wht(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return Une.jsx(cye,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:Une.jsxs(EPe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Une.jsx(TPe,{title:"Query Usage"}),Une.jsx(RPe,{className:"query-builder__usage-viewer__body",children:Une.jsxs(Une.Fragment,{children:[0===r.length?Une.jsx(sFe,{children:"Query usage is not available"}):Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:Une.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>Une.jsxs("button",{className:Bse("query-builder__usage-viewer__tab",{"query-builder__usage-viewer__tab--active":s===e.key}),tabIndex:-1,onClick:()=>o(e.key),children:[void 0!==e.icon&&Une.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),Une.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),Une.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),Une.jsx(QPe,{})]})}),Une.jsx(NPe,{children:Une.jsx(DPe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var GXi;function HXi(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,i=0;i<e.length;i++)""!==(n=HXi(e[i]))&&(t+=(t&&" ")+n);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}!function(e){e.QUESTION_HOW_TO_ADD_PARAMETERS_TO_QUERY="question.how-to-add-parameters-to-query",e.QUESTION_HOW_TO_ADD_CONSTANTS_TO_QUERY="question.how-to-add-constants-to-query",e.QUESTION_HOW_TO_USE_LOCAL_GRID_MODE="question.how-to-use-local-grid-mode",e.TUTORIAL_QUERY_BUILDER="tutorial.query.builder",e.FREQUENTLY_ASKED_QUESTIONS="frequently.asked.questions",e.SUPPORT_TICKETS_LINK="support.tickets.link"}(GXi||(GXi={}));var zXi,jXi={exports:{}},WXi={};var $Xi,qXi,YXi={};
|
|
901
|
+
`})}),aPi=Lse(e=>{const{view:t}=e,n=t.grid.scrollHintText,i=document.querySelector(".data-cube-grid .ag-side-bar"),r=document.querySelector(".data-cube-grid .ag-body-vertical-scroll");return Une.jsxs("div",{className:"absolute -top-10 flex items-center rounded-sm border border-neutral-300 bg-neutral-100 p-1 pr-2 text-neutral-500 shadow-sm",style:{right:(null!==i?i.getBoundingClientRect().width+6:10)+(null!==r?r.getBoundingClientRect().width:0)},children:[Une.jsx(Rxe,{className:"text-lg"}),Une.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),lPi=Lse(e=>{const{view:t}=e,n=IMi(),i=t.grid;return Une.jsxs("div",{className:"relative flex h-5 w-full select-none justify-between border-b border-neutral-200 bg-neutral-100",children:[Boolean(i.scrollHintText)&&Une.jsx(aPi,{view:t}),Une.jsx("div",{}),Une.jsxs("div",{className:"flex h-full items-center",children:[Une.jsx("div",{className:"flex h-full items-center px-2 font-mono text-sm text-neutral-500",children:i.clientDataSource.rowCount?`Rows: ${i.clientDataSource.rowCount}`:""}),void 0!==i.rowLimit&&i.configuration.showWarningForTruncatedResult&&Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Une.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[Une.jsx(Lxe,{className:"stroke-[3px]"}),Une.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),Une.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Une.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[Une.jsx(bCe,{checked:i.isPaginationEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:AEe("w-2 h-2",{"bg-sky-600":i.isPaginationEnabled,"bg-neutral-500":!i.isPaginationEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:AEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isPaginationEnabled,"!bg-neutral-100 border-neutral-500":!i.isPaginationEnabled})},disableRipple:!0,disableFocusRipple:!0}),Une.jsx("div",{className:AEe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Une.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[Une.jsx(bCe,{checked:i.isCachingEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:AEe("w-2 h-2",{"bg-sky-600":i.isCachingEnabled,"bg-neutral-500":!i.isCachingEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:AEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isCachingEnabled,"!bg-neutral-100 border-neutral-500":!i.isCachingEnabled})},disableRipple:!0,disableFocusRipple:!0,disabled:t.processCacheState.isInProgress,title:t.processCacheState.isInProgress?"Processing cache...":""}),Une.jsxs("div",{className:AEe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",Une.jsx(DMi,{})]})]})]})]})]})}),cPi=Lse(e=>{const{view:t}=e,n=t.grid;return"production"===process.env.NODE_ENV||n.isClientConfigured||(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Une.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:Une.jsx(Lmi,{theme:"legacy",className:"data-cube-grid ag-theme-quartz",rowModelType:"serverSide",serverSideDatasource:n.clientDataSource,context:{view:t},onGridReady:e=>{n.configureClient(e.api).catch(e=>t.alertService.alertUnhandledError(e)),"production"!==process.env.NODE_ENV&&(console.error=iPi)},modules:[Cfi,gLi],...j5n(t)})})}),uPi=Lse(e=>{const{view:t}=e,n=t.grid.configuration;return Une.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[Une.jsx(oPi,{configuration:n}),Une.jsx(cPi,{view:t}),Une.jsx(lPi,{view:t})]})}),dPi=Lse(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case Yft.MULTIDIMENSIONAL:return Une.jsx(nPi,{view:t});case Yft.STANDARD:return Une.jsx(uPi,{view:t});default:return Une.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),hPi=Lse(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return Une.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[Une.jsxs("div",{className:"flex",children:[Une.jsxs("button",{className:"flex items-center px-2 text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.editor.display.open(),t?.dataCube.telemetryService.sendTelemetry(kft.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Zft.STATUS_BAR})},disabled:!t,children:[Une.jsx(yxe,{className:"text-xl"}),Une.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),Une.jsx("div",{className:"flex",children:Une.jsxs("button",{className:"flex items-center text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.filter.display.open(),t?.dataCube.telemetryService.sendTelemetry(kft.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Zft.STATUS_BAR})},disabled:!t||Tmt(t.info.configuration.gridMode),children:[Une.jsx(wxe,{className:"text-lg"}),Une.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),Une.jsx("div",{className:"flex items-center px-2",children:Une.jsx("div",{className:"flex h-3.5 w-48 border-[0.5px] border-neutral-300",title:void 0!==i&&i.length>0?i.length>1?i.map((e,t)=>`Task ${t+1}/${i.length}: ${e.description}`).join("\n"):Gr(i,0).description:void 0,children:void 0!==i&&i.length>0&&Une.jsx(bbe,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),pPi=Lse(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=UPe(),[c,u]=n.useState([...r??[]]);return Une.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[Une.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[Une.jsx(exe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),Une.jsx("div",{className:"truncate",children:i})]}),Une.jsxs("div",{className:"flex w-full flex-auto",children:[t,Une.jsx("button",{className:"flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg disabled:text-neutral-400",onClick:e=>{const t=s?.()??[];t.length&&t.unshift(JMi.SEPARATOR),u([...r??[],...t]),o(e)},disabled:!r?.length,children:Une.jsx(gxe,{})}),Une.jsx(GPe,{...l,menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},classes:{paper:"rounded-none mt-[1px]",list:"w-40 p-0 rounded-none border border-neutral-400 bg-white overflow-y-auto py-0.5"}},children:c.map((e,t)=>wr(e)?Une.jsx(HPe,{className:"flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100",onClick:()=>{e.action(),a()},disabled:Boolean(e.disabled),children:e.label},t):e===JMi.SEPARATOR?Une.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),gPi=e=>{const{message:t,prompt:n}=e;return Une.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[Une.jsx("div",{className:"mr-3",children:Une.jsx(VEe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),Une.jsxs("div",{children:[Une.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),Une.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},fPi=Lse(e=>{const{children:t,taskManager:n}=e;return Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),Une.jsx(hPi,{taskManager:n})]})}),mPi=Lse(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return Une.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":Dft.PLACEHOLDER,children:[Une.jsx(pPi,{title:n,menuItems:i,children:r??null}),Une.jsx(fPi,{taskManager:o,children:t}),s?Une.jsx(QMi,{layout:s}):null,Une.jsx(Dkn,{})]})}),vPi=Lse(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?Une.jsx(fPi,{children:Une.jsx(gPi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):Une.jsxs(Une.Fragment,{children:[Une.jsx(dPi,{view:t}),Une.jsx(hPi,{view:t})]})}),yPi=Lse(()=>{const e=IMi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(kft.SELECT_ITEM_TITLE_BAR,{...t.engine.getDataFromSource(t.getInitialSource()),menuName:e})};return n.useEffect(()=>{e.view.initialize(e.specification).catch(t=>e.logService.logUnhandledError(t))},[e]),Une.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[Une.jsx(pPi,{title:t.info.name,menuItems:[{label:Xft.UNDO,action:()=>{e.view.snapshotService.undo(),i(Xft.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:Xft.REDO,action:()=>{e.view.snapshotService.redo(),i(Xft.REDO)},disabled:!e.view.snapshotService.canRedo},{label:Xft.SETTINGS,action:()=>{e.settingService.display.open(),i(Xft.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),Une.jsx(vPi,{view:t}),Une.jsx(QMi,{layout:e.layoutService.manager}),Une.jsx(Dkn,{})]})}),bPi=Lse(e=>{const{specification:t,engine:i,options:r}=e,s=Pse(()=>new AMi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?Une.jsx(NMi,{value:s,children:Une.jsx(yPi,{},s.uuid)}):Une.jsx(mPi,{title:tmt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&Une.jsx(gPi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var _Pi,CPi,SPi,wPi,EPi,xPi;!function(e){e.ABSOLUTE_DATE="Absolute Date",e.ABSOLUTE_TIME="Absolute Time",e.TODAY="Today",e.NOW="Now",e.YESTERDAY="Yesterday",e.ONE_YEAR_AGO="One Year Ago",e.ONE_MONTH_AGO="One Month Ago",e.ONE_WEEK_AGO="One Week Ago",e.CUSTOM_DATE="Custom Date",e.PREVIOUS_DAY_OF_WEEK="Previous ... of Week",e.FIRST_DAY_OF="First day of...",e.LATEST_DATE="Latest Date"}(_Pi||(_Pi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(CPi||(CPi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(SPi||(SPi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(wPi||(wPi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(EPi||(EPi={})),function(e){e.TODAY="Today",e.NOW="Now",e.FIRST_DAY_OF_THIS_YEAR="Start of Year",e.FIRST_DAY_OF_QUARTER="Start of Quarter",e.FIRST_DAY_OF_MONTH="Start of Month",e.FIRST_DAY_OF_WEEK="Start of Week",e.PERVIOUS_DAY_OF_WEEK="Previous Day of Week"}(xPi||(xPi={}));class TPi{label;value;constructor(e,t){this.label=e,this.value=t}}class APi extends TPi{duration;unit;direction;referenceMoment;constructor(e,t,n,i,r,s){super(e,t),this.duration=n,this.unit=i,this.direction=r,this.referenceMoment=s}generateDisplayLabel(){return[this.duration,this.unit,this.direction,this.referenceMoment].join(" ")}updateLabel(){this.label=this.generateDisplayLabel()}}class RPi extends TPi{unit;constructor(e,t){super(e,_Pi.FIRST_DAY_OF),this.unit=t}}class NPi extends TPi{day;constructor(e,t){super(e,_Pi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const IPi=[new APi("Yesterday",_Pi.YESTERDAY,1,CPi.DAYS,EPi.BEFORE,xPi.TODAY),new APi("One Week Ago",_Pi.ONE_WEEK_AGO,1,CPi.WEEKS,EPi.BEFORE,xPi.TODAY),new APi("One Month Ago",_Pi.ONE_MONTH_AGO,1,CPi.MONTHS,EPi.BEFORE,xPi.TODAY),new APi("One Year Ago",_Pi.ONE_YEAR_AGO,1,CPi.YEARS,EPi.BEFORE,xPi.TODAY)],DPi=e=>Object.values(Zgt).find(t=>k_(e,t)),kPi=(e,t,n)=>{if(e instanceof NPi){const i=new bS(Zgt.PREVIOUS_DAY_OF_WEEK);sft(i,G_.create(new q_(B_.DATE)));const r=new cS(G_.create(new q_(t.getType(Ygt.DAY_OF_WEEK))));return pft(r,[...r.values,lC.create(dr(t.getEnumeration(Ygt.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),cft(i,r,n),i}if(e instanceof RPi)switch(e.unit){case SPi.YEAR:{const e=new bS(Zgt.FIRST_DAY_OF_THIS_YEAR);return sft(e,G_.create(new q_(B_.DATE))),e}case SPi.QUARTER:{const e=new bS(Zgt.FIRST_DAY_OF_QUARTER);return sft(e,G_.create(new q_(B_.STRICTDATE))),e}case SPi.MONTH:{const e=new bS(Zgt.FIRST_DAY_OF_THIS_MONTH);return sft(e,G_.create(new q_(B_.DATE))),e}case SPi.WEEK:{const e=new bS(Zgt.FIRST_DAY_OF_WEEK);return sft(e,G_.create(new q_(B_.DATE))),e}default:throw new yi(`Can't build expression for 'First Day Of ...' date picker option for unit '${e.unit}'`)}else switch(e.value){case _Pi.TODAY:return PPi(Zgt.TODAY,B_.STRICTDATE);case _Pi.NOW:return PPi(Zgt.NOW,B_.DATETIME);case xPi.FIRST_DAY_OF_THIS_YEAR:{const e=new bS(Zgt.FIRST_DAY_OF_THIS_YEAR);return sft(e,G_.create(new q_(B_.DATE))),e}case xPi.FIRST_DAY_OF_QUARTER:{const e=new bS(Zgt.FIRST_DAY_OF_QUARTER);return sft(e,G_.create(new q_(B_.STRICTDATE))),e}case xPi.FIRST_DAY_OF_MONTH:{const e=new bS(Zgt.FIRST_DAY_OF_THIS_MONTH);return sft(e,G_.create(new q_(B_.DATE))),e}case xPi.FIRST_DAY_OF_WEEK:{const e=new bS(Zgt.FIRST_DAY_OF_WEEK);return sft(e,G_.create(new q_(B_.DATE))),e}default:throw new yi(`Can't build expression for date picker option '${e.value}'`)}},OPi=(e,t)=>{const n=t.getEnumeration(Ygt.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(CPi).filter(t=>CPi[t]===e)[0])[0];return i??dr(n.values[0])},LPi=(e,t)=>{if(e instanceof bS&&k_(e.functionName,Zgt.ADJUST)||e instanceof $x&&k_(e.function,Zgt.ADJUST))try{const t=new APi("",_Pi.CUSTOM_DATE,(e=>{if(e instanceof bS){const t=e.parametersValues[1];return t instanceof lS?t.values[0]:t instanceof bS&&k_(t.functionName,Zgt.MINUS)&&t.parametersValues[0]instanceof lS?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof Xx?t.value:t instanceof $x&&k_(t.function,Zgt.MINUS)&&t.parameters[0]instanceof Xx?t.parameters[0].value:0}})(e),(e=>dr(e instanceof bS?Object.keys(CPi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>CPi[e])[0]:Object.values(CPi).filter(t=>t===fr(e.parameters[2],RT).property)[0]))(e),(n=e)instanceof bS?n.parametersValues[1]instanceof bS&&k_(n.parametersValues[1].functionName,Zgt.MINUS)?EPi.BEFORE:EPi.AFTER:n.parameters[1]instanceof $x&&k_(n.parameters[1].function,Zgt.MINUS)?EPi.BEFORE:EPi.AFTER,(e=>{const t=e instanceof bS?e.parametersValues[0].functionName:e.parameters[0].function;switch(DPi(t)){case Zgt.TODAY:return xPi.TODAY;case Zgt.NOW:return xPi.NOW;case Zgt.FIRST_DAY_OF_THIS_YEAR:return xPi.FIRST_DAY_OF_THIS_YEAR;case Zgt.FIRST_DAY_OF_QUARTER:return xPi.FIRST_DAY_OF_QUARTER;case Zgt.FIRST_DAY_OF_THIS_MONTH:return xPi.FIRST_DAY_OF_MONTH;case Zgt.FIRST_DAY_OF_WEEK:return xPi.FIRST_DAY_OF_WEEK;case Zgt.PREVIOUS_DAY_OF_WEEK:return xPi.PERVIOUS_DAY_OF_WEEK;default:throw new yi(`Can't build custom date option reference moment '${t}'`)}})(e)),i=IPi.filter(e=>e.generateDisplayLabel()===t.generateDisplayLabel());return i.length>0?(t.label=dr(i[0]?.label),t.value=dr(i[0]?.value),t):(t.updateLabel(),t)}catch(e){bi(e),t.notificationService.notifyError(e)}var n;return new APi("","",0,void 0,void 0,void 0)},MPi=(e,t)=>{if(!(e instanceof bS||e instanceof $x)){if(e instanceof lS)return e.genericType.value.rawType.path===Xb.LATESTDATE?new TPi(_Pi.LATEST_DATE,_Pi.LATEST_DATE):new TPi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===Xb.DATETIME?_Pi.ABSOLUTE_TIME:_Pi.ABSOLUTE_DATE);if(e instanceof iT)return new TPi(_Pi.LATEST_DATE,_Pi.LATEST_DATE);if(e instanceof tT)return new TPi(e.value,_Pi.ABSOLUTE_DATE);if(e instanceof eT)return new TPi(e.value,_Pi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof bS?e.functionName:e.function;switch(DPi(n)){case Zgt.TODAY:return new TPi(_Pi.TODAY,_Pi.TODAY);case Zgt.NOW:return new TPi(_Pi.NOW,_Pi.NOW);case Zgt.FIRST_DAY_OF_THIS_YEAR:return new RPi(xPi.FIRST_DAY_OF_THIS_YEAR,SPi.YEAR);case Zgt.FIRST_DAY_OF_QUARTER:return new RPi(xPi.FIRST_DAY_OF_QUARTER,SPi.QUARTER);case Zgt.FIRST_DAY_OF_THIS_MONTH:return new RPi(xPi.FIRST_DAY_OF_MONTH,SPi.MONTH);case Zgt.FIRST_DAY_OF_WEEK:return new RPi(xPi.FIRST_DAY_OF_WEEK,SPi.WEEK);case Zgt.PREVIOUS_DAY_OF_WEEK:const n=e instanceof bS?e.parametersValues[0].values[0]?.value.name:fr(e.parameters[0],RT).property;return new NPi(`Previous ${n}`,n);case Zgt.ADJUST:return LPi(e,t);default:return new TPi("","")}}},PPi=(e,t)=>{const n=new bS(e);return sft(n,G_.create(new q_(t))),n},FPi=(e,t,n,i)=>{const r=new lS(G_.create(new q_(e.getPrimitiveType(t))));return pft(r,[n],i),r},BPi=(e,t)=>{const n=mn(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},VPi=(e,t)=>{const n=new _S(e.functionName);return uft(n,pC.create(dr(e.func.value))),aft(n,e.parametersValues.map(e=>BPi(e)),t),n},UPi=(e,t,n,i)=>{const r=Sft(t)??t.path;switch(r){case Xb.STRING:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.BINARY:case Xb.BYTE:case Xb.INTEGER:return FPi(e,r,i?Eft(r):null,n);case Xb.BOOLEAN:return FPi(e,r,Eft(r),n);case Xb.DATE:return FPi(e,Xb.STRICTDATE,i?Eft(r):null,n);default:if(t instanceof J_){const e=new cS(G_.create(new q_(t)));if(i){if(!(t.values.length>0))throw new yi(`Can't get default value for enumeration since enumeration '${r}' has no value`);pft(e,[lC.create(t.values[0])],n)}return e}throw new yi(`Can't get default value for type '${r}'`)}},GPi=(e,t)=>s6(((e,t)=>{const n=new SS(new CS(__.create(e.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE));return n.expressionSequence[0]=UPi(e,B_.STRING,t,!0),n})(e.graph,t),e),HPi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==B_.BYTE)return new uS(s,G_.create(new q_(r)));if(r instanceof B_)return((e,t,n)=>{const i=e.name;return i===Xb.DATE||i===Xb.DATETIME?PPi(Zgt.NOW,B_.DATETIME):i===Xb.STRICTDATE?PPi(Zgt.TODAY,B_.STRICTDATE):i===Xb.DATE?FPi(t,Xb.STRICTDATE,Eft(i),n):FPi(t,i,Eft(i),n)})(r,t,n);if(r instanceof J_){const e=new cS(G_.create(new q_(r))),t=(o=r,(new My).getRandomItemInCollection(o.values)?.name??"");return""!==t&&pft(e,[lC.create(jw(r,t))],n),e}var o},zPi=(e,t,n)=>{if(e instanceof lS)return Jw(e.genericType.value.rawType,B_.DATE)?MPi(e,t).label:e.genericType.value.rawType===B_.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof cS){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof oS?e.name:e instanceof ES?zPi(e.getValue(),t,n):e instanceof bS?void 0!==e.genericType?.value.rawType&&Jw(e.genericType.value.rawType,B_.DATE)?MPi(e,t).label:e.functionName:e instanceof uS?e.values.map(e=>zPi(e,t,n)).join(","):void 0},jPi=(e,t,n)=>{let i=null;if(e instanceof B_)switch(e.path){case Xb.STRING:i=new lS(G_.create(new q_(e))),pft(i,[t.toString()],n);break;case Xb.NUMBER:case Xb.FLOAT:case Xb.DECIMAL:case Xb.INTEGER:{if(isNaN(Number(t)))return null;const r=e.path===Xb.INTEGER?Number.parseInt(Number(t).toString(),10):Number(t);i=new lS(G_.create(new q_(e))),pft(i,[r],n);break}case Xb.DATE:case Xb.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new lS(G_.create(new q_(e))),pft(i,[t],n);break;case Xb.DATETIME:if(isNaN(Date.parse(t))||!new Date(t).getTime()||t.includes("%")&&(isNaN(Date.parse(t.slice(1)))||!new Date(t.slice(1)).getTime()))return null;i=new lS(G_.create(new q_(e))),pft(i,[t],n);break;default:return null}return i},WPi=(e,t)=>{const n=t?vm:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof _S;){for(r=r.parametersValues[0];r instanceof bS&&k_(r.functionName,Zgt.SUBTYPE);){const e=`${Wb}(${n(r.parametersValues.filter(e=>e instanceof aS)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof _S&&i.unshift(n(r.func.value.name))}const s=[];for(const e of i)if(s.length){const t=dr(s[s.length-1]);t.startsWith(Wb)?s[s.length-1]=`${t}${e}`:s.push(e)}else s.push(e);return s.join(t?"/":".")},$Pi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof _S;)n=n.parametersValues[0],n instanceof _S&&t.unshift(n.func.value.name);return t.join(".")},qPi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof B_||r instanceof J_)return r===B_.LATESTDATE?new lS(G_.create(new q_(r))):UPi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new uS(T_.ZERO,G_.create(new q_(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class YPi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=$Pi(t),this.title=WPi(t,!0),this.propertyExpression=Qee(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=fr(t.func.value,uC),this.propertyExpressionState=n,Array.isArray(this.derivedProperty.parameters)&&(this.parameters=this.derivedProperty.parameters.map(e=>fr(this.queryBuilderState.graphManagerState.graphManager.buildValueSpecification(e,this.queryBuilderState.graphManagerState.graph),oS))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=rft(e,i)??dr(t[i]):t.push(rft(e,i)??qPi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),aft(e.propertyExpression,[dr(e.propertyExpression.parametersValues[0]),...t],e.queryBuilderState.observerContext)})(this)}get property(){return this.propertyExpression.func.value}get parameterValues(){return this.propertyExpression.parametersValues.slice(1)}get isValid(){return this.parameterValues.every(e=>!(e instanceof aS)||yft(e))}}class KPi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){hd(this,{isEditingDerivedPropertyExpression:Rc,derivedPropertyExpressionStates:Rc,setIsEditingDerivedProperty:Pu,initDerivedPropertyExpressionStates:Pu,isValid:kc,hashCode:kc}),this.queryBuilderState=e,this.propertyExpression=Qee(t,e.observerContext),this.path=$Pi(t),this.title=WPi(t,!0),this.initDerivedPropertyExpressionStates()}get isValid(){return this.derivedPropertyExpressionStates.every(e=>e.isValid)}setIsEditingDerivedProperty(e){this.isEditingDerivedPropertyExpression=e}initDerivedPropertyExpressionStates(){let e=!1;const t=[];let n=this.propertyExpression;for(;n instanceof _S;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof Y_&&0!==n.func.value._OWNER._generatedMilestonedProperties.length){const e=n.func.value.name,t=n.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===e);t&&uft(n,pC.create(t))}if(n.func.value instanceof uC){const e=new YPi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof bS&&k_(n.functionName,Zgt.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return mv([Ift.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class XPi{uuid=Mr()}class ZPi{uuid=Mr();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){hd(this,{lambdaString:Rc,parserError:Rc,compilationError:Rc,typeAheadEnabled:Rc,lambdaId:kc,fullLambdaString:kc,setLambdaString:Pu,setTypeAhead:Pu,clearErrors:Pu,setCompilationError:Pu,setParserError:Pu,convertLambdaGrammarStringToObject:Ju,convertLambdaObjectToGrammarString:Ju}),this.lambdaString=e,this.lambdaPrefix=t,this.typeAheadEnabled=n?.typeAheadEnabled??!1}get fullLambdaString(){return`${this.lambdaPrefix}${this.lambdaString}`}setLambdaString(e){this.lambdaString=e}setTypeAhead(e){this.typeAheadEnabled=e}clearErrors(e){this.setParserError(void 0),e?.preserveCompilationError&&this.compilationError?this.compilationError.sourceInformation=void 0:this.setCompilationError(void 0)}setCompilationError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.compilationError=e}setParserError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.parserError=e}processSourceInformation(e){const{sourceId:t,startLine:n,startColumn:i,endLine:r,endColumn:s}=e,o=this.lambdaPrefix.length;return new xZ(t,n+0,i-(1===n?o:0),r+0,s-(1===r?o:0))}extractLambdaString(e){return e.substring(e.indexOf(this.lambdaPrefix)+this.lambdaPrefix.length,e.length)}async getCodeComplete(e){return Promise.resolve(new c0)}}const QPi=(e,t,n,i)=>{const r=new SS(new CS(__.create(e.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE)),s=new h$;s.values=[n];const o=new bS(N_(Zgt.RELATION_PROJECT)),a=new mS(T_.ONE,void 0),l=new fS;a.values=[l];const c=new OK([]).build();return i.forEach((e,t)=>{const n=new pS;n.name=t,n.function1=new sS(VN(I$(e,c))),l.colSpecs.push(n)}),o.parametersValues=[s,a],r.expressionSequence=[o],s6(r,t)},JPi=(e,t,n)=>{let i=e.body;return n.length&&(i=Array.isArray(e.body)?[...n,...e.body]:[...n,e.body]),new nS([...Array.isArray(e.parameters)?e.parameters:[],...t],i)},eFi="PROJECTION_COLUMN";class tFi extends XPi{tdsState;columnName;wavgWeight;constructor(e,t){super(),hd(this,{uuid:!1,tdsState:!1,columnName:Rc,wavgWeight:Rc,setColumnName:Pu,setWavgWeight:Pu,hashCode:kc}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class nFi extends tFi{lambdaParameterName=Hgt;propertyExpressionState;constructor(e,t,n){super(e,""),hd(this,{lambdaParameterName:Rc,propertyExpressionState:Rc,setLambdaParameterName:Pu,changeProperty:Pu}),this.propertyExpressionState=new KPi(e.queryBuilderState,t),this.columnName=WPi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>Rft(e,t))))}changeProperty(e,t){this.propertyExpressionState=new KPi(this.tdsState.queryBuilderState,PUi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=WPi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return mv([Ift.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class iFi extends tFi{lambdaParameterName=Hgt;column;constructor(e,t,n=!0){super(e,t.name),hd(this,{hashCode:jl,lambdaParameterName:Rc,setLambdaParameterName:Pu}),this.column=t,this.columnName=n?vm(t.name):t.name}getColumnType(){return this.column.genericType.value.rawType}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return!1}get hashCode(){return mv([Ift.RELATION_COLUMN_PROJECTION_COLUMN_STATE,this.column.name,this.columnName])}}class rFi extends ZPi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return qee([Pgt.QUERY_BUILDER,Pgt.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=ej();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId);this.setParserError(void 0),this.derivationProjectionColumnState.setLambda(e)}catch(e){bi(e),e instanceof wZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}else this.clearErrors(),this.derivationProjectionColumnState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.derivationProjectionColumnState.lambda.body)try{const t=new Map;t.set(this.lambdaId,new nS(this.derivationProjectionColumnState.lambda.parameters,this.derivationProjectionColumnState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e?.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class sFi extends tFi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=Py.create();constructor(e,t){super(e,"(derivation)"),hd(this,{lambda:Rc,returnType:Rc,fetchingLambdaReturnTypeState:Rc,setLambda:Pu,setResolvedLambdaReturnType:Pu,fetchDerivationLambdaReturnType:Ju,setLambdaReturnType:Pu}),this.derivationLambdaEditorState=new rFi(e.queryBuilderState,this),this.lambda=t}setLambda(e){this.lambda=e}setReturnType(e){this.returnType=e}*fetchDerivationLambdaReturnType(e){if(e?.forceRefresh||void 0===this.returnType)try{br(!this.fetchingLambdaReturnTypeState.isInProgress,"Fetching lambda return type already in progress"),this.fetchingLambdaReturnTypeState.inProgress(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(this),e?.forceConversionStringToLambda&&(yield this.derivationLambdaEditorState.convertLambdaGrammarStringToObject().catch(this.tdsState.queryBuilderState.applicationStore.alertUnhandledError)),br(Array.isArray(this.lambda.parameters));const t=this.tdsState.queryBuilderState.graphManagerState.graph,n=this.tdsState.queryBuilderState.sourceElement;if(n instanceof Y_){const e=this.getIsolatedClassRawLambda(),n=yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(e,t);this.setLambdaReturnType(n)}else if(n instanceof l$){const e=this.getIsolatedAccessorRawLambda(n),i=(yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaRelationType(e,t)).columns.find(e=>e.name===this.columnName);i&&this.setLambdaReturnType(i.type)}}catch(e){bi(e),this.tdsState.queryBuilderState.applicationStore.logService.info(Hy.create(IS.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedAccessorRawLambda(e){const{graphManagerState:t}=this.tdsState.queryBuilderState,n=QPi(t.graph,t,e,new Map([[this.columnName,this.lambda]]));return JPi(n,this.tdsState.getParameters(),this.tdsState.getLetExpressions())}getIsolatedClassRawLambda(){const e=fr(this.tdsState.queryBuilderState.sourceElement,Y_,"Expected source element to be a class");br(Array.isArray(this.lambda.parameters));const t=this.lambda.parameters;br(1===t.length);const n=t[0];vr(n.name);const i=this.tdsState.queryBuilderState,r=new iS(n.name,T_.ONE,__.create(dr(e))),s=i.graphManagerState.graphManager.serializeRawValueSpecification(r);return JPi(new nS([s],this.lambda.body),this.tdsState.getParameters(),this.tdsState.getLetExpressions())}setLambdaReturnType(e){this.setResolvedLambdaReturnType(this.tdsState.queryBuilderState.graphManagerState.graph.getType(e))}setResolvedLambdaReturnType(e){br(e instanceof B_||e instanceof J_,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(e)}getColumnType(){return this.returnType}get hashCode(){return mv([Ift.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class oFi{uuid=Mr();constructor(){hd(this,{getOperator:kc,allValidationIssues:kc,hashCode:kc})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof nFi?e.projectionColumnState.propertyExpressionState.propertyExpression:void 0,e.lambdaParameterName,e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)}getReturnType(e){return e.projectionColumnState.getColumnType()}get getOperator(){return this}get allValidationIssues(){return[]}}class aFi extends XPi{aggregationState;projectionColumnState;lambdaParameterName=Hgt;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),hd(this,{projectionColumnState:Rc,lambdaParameterName:Rc,calendarFunction:Rc,hideCalendarColumnState:Rc,operator:Rc,setHideCalendarColumnState:Pu,setColumnState:Pu,setLambdaParameterName:Pu,setOperator:Pu,setCalendarFunction:Pu,handleUsedPostFilterType:Pu,hashCode:kc}),this.aggregationState=e,this.projectionColumnState=t,this.operator=n}setColumnState(e){this.projectionColumnState=e}setLambdaParameterName(e){this.lambdaParameterName=e}setHideCalendarColumnState(e){this.hideCalendarColumnState=e}setCalendarFunction(e){this.calendarFunction=e}setOperator(e){this.operator=e}getColumnType(){return this.operator.getReturnType(this)}handleUsedPostFilterType(e){void 0===this.getColumnType()&&this.projectionColumnState instanceof sFi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return mv([Ift.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class lFi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){hd(this,{columns:Rc,removeColumn:Pu,addColumn:Pu,changeColumnAggregateOperator:Pu,disableCalendar:Pu,allValidationIssues:kc,hashCode:kc}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){$r(this.columns,e)}addColumn(e){jr(this.columns,e)}changeColumnAggregateOperator(e,t,n){const i=this.columns.find(e=>e.projectionColumnState===t),r=this.operators.filter(e=>e.isCompatibleWithColumn(t));if(e){if(!r.includes(e))return;if(i){if(!n){const n=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(`${n} (${e.getLabel(t)})`)}i.setOperator(e.getOperator)}else{n||t.setColumnName(`${t.columnName} (${e.getLabel(t)})`);const i=new aFi(this,t,e.getOperator);i.setOperator(e.getOperator),this.addColumn(i),this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),this.tdsState.projectionColumns.length-1)}}else if(i){if(!n){const e=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(e)}this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),0),this.removeColumn(i)}}disableCalendar(){this.tdsState.queryBuilderState.setIsCalendarEnabled(!1),this.columns.forEach(e=>{e.setCalendarFunction(void 0),e.setHideCalendarColumnState(!0)})}get allValidationIssues(){return this.columns.map(e=>e.operator.allValidationIssues).flat()}get hashCode(){return mv([Ift.AGGREGATION_STATE,mv(this.columns)])}}const cFi=(e,t,n)=>{const i=new bS(N_(e));return i.parametersValues.push(new oS(t,T_.ONE)),i},uFi=(e,t,n,i,r)=>{if(k_(n.functionName,i)){const s=new aFi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),br(1===n.parametersValues.length,`Can't process ${N_(i)}() expression: ${N_(i)}() expects no argument`);const o=fr(n.parametersValues[0],oS,`Can't process ${N_(i)}() expression: only support ${N_(i)}() immediately following a variable expression`);return br(s.lambdaParameterName===o.name,`Can't process ${N_(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),br(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${N_(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class dFi extends oFi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.AVERAGE,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.AVERAGE,this)}getReturnType(e){return B_.FLOAT}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_AVERAGE])}}class hFi extends oFi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof J_}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.COUNT,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.COUNT,this)}getReturnType(e){return B_.INTEGER}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_COUNT])}}class pFi extends oFi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof J_}return!0}buildAggregateExpression(e,t,n){const i=new bS(N_(Zgt.DISTINCT));i.parametersValues.push(new oS(t,T_.ONE));const r=new bS(N_(Zgt.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Zgt.COUNT)){const i=new aFi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),br(1===e.parametersValues.length,"Can't process count() expression: count() expects no argument");const r=fr(e.parametersValues[0],bS,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);br(k_(r.functionName,Zgt.DISTINCT),`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following distinct() expression`),br(1===r.parametersValues.length,"Can't process distinct() expression: distinct() expects no argument");const s=fr(r.parametersValues[0],oS,"Can't process distinct() expression: only support distinct() immediately following a variable expression");return br(i.lambdaParameterName===s.name,`Can't process distinct() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`),br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process disc expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return B_.INTEGER}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class gFi extends oFi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Zgt.DATE_MAX:Zgt.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof nFi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!k_(e.functionName,Zgt.MAX))return;return uFi(n,t,e,Zgt.MAX,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!k_(e.functionName,Zgt.DATE_MAX))return;return uFi(n,t,e,Zgt.DATE_MAX,this);default:return}}return k_(e.functionName,Zgt.MAX)?uFi(n,t,e,Zgt.MAX,this):k_(e.functionName,Zgt.DATE_MAX)?uFi(n,t,e,Zgt.DATE_MAX,this):void 0}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_MAX])}}class fFi extends oFi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Zgt.DATE_MIN:Zgt.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof nFi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!k_(e.functionName,Zgt.MIN))return;return uFi(n,t,e,Zgt.MIN,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!k_(e.functionName,Zgt.DATE_MIN))return;return uFi(n,t,e,Zgt.DATE_MIN,this);default:return}}return k_(e.functionName,Zgt.MIN)?uFi(n,t,e,Zgt.MIN,this):k_(e.functionName,Zgt.DATE_MIN)?uFi(n,t,e,Zgt.DATE_MIN,this):void 0}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_MIN])}}class mFi extends oFi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.STD_DEV_POPULATION,this)}getReturnType(e){return B_.NUMBER}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class vFi extends oFi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.STD_DEV_SAMPLE,this)}getReturnType(e){return B_.NUMBER}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class yFi extends oFi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.SUM,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.SUM,this)}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_SUM])}}class bFi{columnState;sortType=Jgt.ASC;constructor(e){hd(this,{columnState:Rc,sortType:Rc,setColumnState:Pu,setSortType:Pu,hashCode:kc}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return mv([Ift.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class _Fi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){hd(this,{showModal:Rc,limit:Rc,distinct:Rc,sortColumns:Rc,slice:Rc.ref,setShowModal:Pu,setLimit:Pu,setDistinct:Pu,setSortColumns:Pu,addSortColumn:Pu,updateSortColumns:Pu,setSlice:Pu,reset:Pu,hashCode:kc}),this.tdsState=e}setShowModal(e){this.showModal=e}setLimit(e){this.limit=void 0===e||e<=0?void 0:e}setDistinct(e){this.distinct=e}setSortColumns(e){this.sortColumns=e}addSortColumn(e){jr(this.sortColumns,e)}updateSortColumns(){this.sortColumns=this.sortColumns.filter(e=>this.tdsState.tdsColumns.includes(e.columnState))}setSlice(e){this.slice=e}reset(){this.sortColumns=[],this.distinct=!1,this.limit=void 0}get hashCode(){return mv([Ift.RESULT_SET_MODIFIER_STATE,mv(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var CFi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(CFi||(CFi={}));class SFi{queryBuilderState;fetchStructureState;constructor(e,t){hd(this,{usedExplorerTreePropertyNodeIDs:kc,fetchStructureValidationIssues:kc,allValidationIssues:kc,hasInvalidFilterValues:kc,hasInvalidDerivedPropertyParameters:kc,hashCode:kc}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class wFi{uuid=Mr();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const EFi=(e,t)=>dr(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),xFi=e=>{if(e instanceof J_)return Qgt.GET_ENUM;switch(e.path){case Xb.STRING:return Qgt.GET_STRING;case Xb.NUMBER:return Qgt.GET_NUMBER;case Xb.INTEGER:return Qgt.GET_INTEGER;case Xb.FLOAT:return Qgt.GET_FLOAT;case Xb.DECIMAL:return Qgt.GET_DECIMAL;case Xb.DATE:return Qgt.GET_DATE;case Xb.DATETIME:return Qgt.GET_DATETIME;case Xb.STRICTDATE:return Qgt.GET_STRICTDATE;case Xb.BOOLEAN:return Qgt.GET_BOOLEAN;default:throw new yi(`Can't find TDS column derived property name for type: '${e.path}'`)}};var TFi;!function(e){e.AND="and",e.OR="or"}(TFi||(TFi={}));const AFi=e=>{switch(e){case TFi.AND:return Zgt.AND;case TFi.OR:return Zgt.OR;default:throw new yi(`Can't derive function name from group operation '${e}'`)}},RFi=e=>{if(k_(e,Zgt.AND))return TFi.AND;if(k_(e,Zgt.OR))return TFi.OR;throw new yi(`Can't derive group operation from function name '${e}'`)},NFi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;br(Object.values(Qgt).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(Qgt).join(",")}`);const r=i,s=e.parametersValues[1],o=Ar(fr(s,lS,"Can`t process TDS column expression: Column should be a primitive instance value").values[0],"Can`t process TDS column expression: Column should be a string primitive instance value"),a=EFi(n,o);if(r!==Qgt.IS_NULL&&r!==Qgt.IS_NOT_NULL){if(a instanceof sFi){const e=EBi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof aFi&&a.projectionColumnState instanceof sFi){const e=EBi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=dr(a.getColumnType());br(xFi(e)===r,`Can't process TDS column expression: expected column type ${xFi(e)} (got ${r})`)}return a},IFi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof _S&&t.func.value.name===s){const n=NFi(t,e);return r=new kBi(e,n,i),r}if(n&&k_(t.functionName,n)){br(2===t.parametersValues.length,`Can't process ${N_(n)}() expression: ${N_(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof _S)o=NFi(s,e);else{if(!(s instanceof yS))throw new yi(`Can't process ${N_(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=EFi(e.tdsState,t)}}const a=t.parametersValues[1];r=new kBi(e,o,i),((e,t)=>{if(e instanceof _S){const n=_i(()=>NFi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new DBi(t,n))}const n=e?Nft(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new IBi(t,n))})(a,r),br(i.isCompatibleWithPostFilterColumn(r),`Can't process ${N_(n)}() expression: property is not compatible with post-filter operator`),br(i.isCompatibleWithConditionValue(r),`Operator '${i.getLabel()}' not compatible with value specification ${a?.toString()}`)}return r},DFi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!k_(e.functionName,[Zgt.AND,Zgt.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new ABi(void 0,r),i)}throw new yi("Can't process post-filter expression: no compatible post-filter operator processer available from plugins")}{const r=new TBi(n,RFi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>DFi(fr(e,yS,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},kFi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?bY(r.expressionSequence[0]):void 0,o=new oS(e.postFilterState.lambdaParameterName,T_.ONE);if(s){const e=dr(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new yS(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new _S("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=dr(t.getColumnType());r=xFi(e)}e.func=pC.create(dr(Kw(n.getClass(Ygt.TDS_ROW)).find(e=>e.name===r)));const a=new lS(G_.create(new q_(B_.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},OFi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=kFi(e,e.leftConditionValue,r,t,i);if(n){const t=new bS(N_(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class LFi extends wFi{getLabel(){return"starts with"}isCompatibleWithType(e){return Sft(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return OFi(e,this,Zgt.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return IFi(e,t,Zgt.STARTS_WITH,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_START_WITH])}}class MFi extends LFi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?_ft(n):void 0}buildPostFilterConditionState(e,t){const n=bft(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_NOT_START_WITH])}}const PFi=e=>e.getValue()instanceof ES?PFi(fr(e.getValue(),ES)):e.getValue(),FFi=(e,t,n,i,r)=>{const s=new _S("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof _S;){if(o=a.parametersValues[0],o instanceof _S){const e=new _S("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,lft(a,e,0,t.observerContext)}if(a instanceof _S&&a.func.value instanceof uC)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof Y_&&0!==a.func.value._OWNER._generatedMilestonedProperties.length){const e=a.func.value.name,n=a.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===`${e}${i_.ALL_VERSIONS}`);n&&(uft(a,pC.create(n)),aft(a,[dr(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof ES&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof ES&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=PFi(t):e.parametersValues=[dr(fr(a,_S).parametersValues[0])]:e.parametersValues[n+1]=PFi(t))})}for(a=o;a instanceof bS&&k_(a.functionName,Zgt.SUBTYPE);)a=a.parametersValues[0]}return a instanceof oS&&dft(a,n),s};var BFi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.BLANK_CONDITION"}(BFi||(BFi={}));const VFi=e=>{let t=e;for(;t instanceof _S;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof bS&&k_(t.functionName,Zgt.SUBTYPE);)t=t.parametersValues[0]}return!1};class UFi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return mv([Ift.FILTER_CONDITION_RIGHT_VALUE])}}class GFi extends UFi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof uS?vft(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?mft(this.value):void 0}setValue(e){return this.value=e?vte(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof uS}get hashCode(){return mv([Ift.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class HFi extends UFi{propertyExpressionState;constructor(e,t){super(e),hd(this,{propertyExpressionState:Rc,changePropertyExpressionState:Pu}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return VFi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class zFi{}class jFi extends zFi{propertyExpressionState;constructor(e){super(),this.propertyExpressionState=e}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get label(){return this.propertyExpressionState.title}get title(){return this.propertyExpressionState.title}get isValid(){return this.propertyExpressionState.isValid}get requiresExistsHandling(){return this.propertyExpressionState.requiresExistsHandling}buildLeftExpression(e,t){return dr(FFi(this.propertyExpressionState.propertyExpression,e,t))}get hashCode(){return mv([Ift.FILTER_CONDITION_SOURCE_PROPERTY_EXPRESSION,this.propertyExpressionState])}}class WFi extends zFi{columnName;columnType;constructor(e,t){super(),this.columnName=e,this.columnType=t}get type(){return this.columnType}get label(){return this.columnName}get title(){return this.columnName}get isValid(){return!0}get requiresExistsHandling(){return!1}buildLeftExpression(e,t){const n=e.sourceRelationType;if(n){const e=dr(n.columns.find(e=>e.name===this.columnName),`Can't find column '${this.columnName}' in relation`),i=new yS(e.name);return i.func=e,i.parametersValues=[new oS(t,T_.ONE)],i}throw new vi(`Can't build expression for relation column '${this.columnName}': no source relation type`)}get hashCode(){return mv([Ift.FILTER_CONDITION_SOURCE_RELATION_COLUMN,this.columnName])}}class $Fi{filterState;sourceState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=Py.create();constructor(e,t,n){hd(this,{sourceState:Rc,operator:Rc,rightConditionValue:Rc,existsLambdaParamNames:Rc,typeaheadSearchResults:Rc,changeOperator:Pu,setOperator:Pu,setRightConditionValue:Pu,addExistsLambdaParamNames:Pu,buildRightConditionValueFromValueSpec:Pu,buildRightConditionValueFromPropertyExpressionState:Pu,handleTypeaheadSearch:Ju,operators:kc,hashCode:kc}),this.filterState=e,this.sourceState=t instanceof _S?new jFi(new KPi(e.queryBuilderState,t)):t,n?this.operator=n:(br(0!==this.operators.length,`Can't find an operator for property '${this.sourceState.title}': no operators registered`),this.operator=this.operators[0]),this.buildRightConditionValueFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}get propertyExpressionState(){return fr(this.sourceState,jFi,"Filter condition source is not a property expression").propertyExpressionState}get leftConditionType(){return this.sourceState.type}get operators(){return this.filterState.operators.filter(e=>e.isCompatibleWithFilterConditionProperty(this))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=fr(this.rightConditionValue,GFi),n=e??t.value;if(SBi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(_Bi(this.filterState.queryBuilderState,this.propertyExpressionState.propertyExpression,n),dr(this.filterState.queryBuilderState.executionContextState.mapping),dr(this.filterState.queryBuilderState.executionContextState.runtimeValue),this.filterState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.filterState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=CBi(e)}this.typeaheadSearchState.pass()}catch(e){bi(e),this.typeaheadSearchResults=[],this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){if(this.setOperator(e),!this.operator.isCompatibleWithFilterConditionValue(this)){let e=this.operator.getDefaultFilterConditionValue(this);e instanceof uS&&this.rightConditionValue instanceof GFi&&this.rightConditionValue.value instanceof aS&&yft(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?pft(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof aS&&this.rightConditionValue instanceof GFi&&this.rightConditionValue.value instanceof uS&&this.rightConditionValue.value.values.length&&(e=this.rightConditionValue.value.values[0]),this.buildRightConditionValueFromValueSpec(e)}}setOperator(e){this.operator=e}setRightConditionValue(e){this.rightConditionValue=e}addExistsLambdaParamNames(e){this.existsLambdaParamNames.push(e)}buildRightConditionValueFromValueSpec(e){this.rightConditionValue instanceof GFi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new GFi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof HFi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new HFi(this,e))}get hashCode(){return mv([Ift.FILTER_CONDITION_STATE,this.sourceState,this.rightConditionValue??"",this.operator])}}class qFi{id=Mr();label="";isOpen;parentId;constructor(e){this.parentId=e,hd(this,{isOpen:Rc,parentId:Rc,setIsOpen:Pu,setParentId:Pu,hashCode:kc})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class YFi extends qFi{childrenIds=[];lambdaParameterName;constructor(e){super(e),hd(this,{childrenIds:Rc,addChildNode:Pu,removeChildNode:Pu,dragPreviewLabel:kc}),this.isOpen=!0}addChildNode(e){jr(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){$r(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}}class KFi extends YFi{groupOperation;constructor(e,t){super(e),hd(this,{groupOperation:Rc,setGroupOperation:Pu}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return mv([Ift.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class XFi extends YFi{filterState;propertyExpressionState;constructor(e,t){super(t),hd(this,{propertyExpressionState:Rc,setPropertyExpression:Pu}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new KPi(this.filterState.queryBuilderState,e)}get hashCode(){return mv([Ift.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const ZFi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof XFi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class QFi extends qFi{condition;isNewlyAdded;constructor(e,t){super(e),hd(this,{condition:Rc,isNewlyAdded:Rc,setIsNewlyAdded:Pu,dragPreviewLabel:kc}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.sourceState.title}get hashCode(){return mv([Ift.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class JFi extends qFi{constructor(e){super(e),hd(this,{dragPreviewLabel:kc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return mv([Ift.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class eBi{queryBuilderState;lambdaParameterName=Hgt;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){hd(this,{rootIds:Rc,nodes:Rc,selectedNode:Rc,isRearrangingConditions:Rc,lambdaParameterName:Rc,showPanel:Rc,setLambdaParameterName:Pu,setRearrangingConditions:Pu,setSelectedNode:Pu,addNodeFromNode:Pu,replaceBlankNodeWithNode:Pu,addGroupConditionNodeFromNode:Pu,newGroupConditionFromNode:Pu,newGroupWithConditionFromNode:Pu,removeNodeAndPruneBranch:Pu,pruneTree:Pu,simplifyTree:Pu,collapseTree:Pu,setShowPanel:Pu,expandTree:Pu,allValidationIssues:kc,hasInvalidFilterValues:kc,hasInvalidDerivedPropertyParameters:kc,hashCode:kc}),this.queryBuilderState=e,this.operators=t}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}setLambdaParameterName(e){this.lambdaParameterName=e}setShowPanel(e){this.showPanel=e}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return dr(this.nodes.get(e),`Can't find query builder filter tree node with ID '${e}'`)}getRootNode(){br(this.rootIds.length<2,"Query builder filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}getParentNode(e){return e.parentId?fr(this.nodes.get(e.parentId),YFi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof KFi)t.addChildNode(e);else if(t instanceof QFi||t instanceof JFi||t instanceof XFi){const n=new KFi(void 0,TFi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}addNodeFromNode(e,t){if(t instanceof KFi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof XFi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new KFi(void 0,TFi.AND);n.addChildNode(dr(this.nodes.get(dr(t.childrenIds[0])))),n.addChildNode(e),n.lambdaParameterName=t.lambdaParameterName,this.nodes.set(n.id,n),t.childrenIds=[],t.addChildNode(n)}else this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof QFi||t instanceof JFi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}addGroupConditionNodeFromNode(e){const t=new KFi(void 0,TFi.AND),n=new JFi(void 0),i=new JFi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupConditionFromNode(e,t,n){const i=this.getParentNode(e),r=new KFi(void 0,n??TFi.AND);return this.nodes.set(r.id,r),i?.removeChildNode(e),r.addChildNode(e),t&&(this.nodes.set(t.id,t),r.addChildNode(t)),r.lambdaParameterName=i?.lambdaParameterName??this.lambdaParameterName,i?i.addChildNode(r):($r(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new JFi(void 0);if(t instanceof QFi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new KFi(void 0,TFi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),r.lambdaParameterName=e.lambdaParameterName,e.addChildNodeAt(r,i)}else this.addRootNode(n)}}removeNode(e){this.nodes.delete(e.id),e instanceof YFi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):$r(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(pr(KFi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):jr(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):$r(this.rootIds,e.id)}}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&n instanceof KFi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else $r(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof JFi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(KFi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new vi("Query builder filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof JFi)throw new vi("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof QFi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(pr(KFi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof KFi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=fr(this.nodes.get(dr(e.parentId)),KFi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}isValidMove(e,t){const n=e===t;let i=!1,r=this.getParentNode(t);for(;r;){if(r===e){i=!0;break}r=this.getParentNode(r)}return!n&&!i}moveNode(e,t){}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(pr(QFi)).map(e=>e.condition.rightConditionValue instanceof GFi?e.condition.rightConditionValue.value:void 0).filter(cr).find(t=>Rft(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof QFi&&!e.condition.sourceState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof QFi&&e.condition.rightConditionValue instanceof GFi&&e.condition.rightConditionValue.value instanceof aS&&!yft(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof QFi&&e.condition.rightConditionValue instanceof HFi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof QFi&&(this.isInvalidValueSpecFilterValue(t)&&e.push(`Filter value for ${t.condition.sourceState.title} is missing or invalid`),this.isInvalidFilterPropertyExpressionState(t)&&e.push(`Derived property parameter value for ${t.condition.sourceState.title} is missing or invalid`),t.condition.rightConditionValue instanceof HFi&&this.isInvalidPropertyExpressionStateFilterValue(t)&&e.push(`Derived property parameter value for ${t.condition.rightConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>this.isInvalidValueSpecFilterValue(e))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>this.isInvalidFilterPropertyExpressionState(e)||this.isInvalidPropertyExpressionStateFilterValue(e))}get hashCode(){return mv([Ift.FILTER_STATE,mv(this.rootIds),mv(Array.from(this.nodes.values()))])}}const tBi=(e,t)=>{if(t instanceof QFi){const n=t.parentId?fr(e.nodes.get(t.parentId),YFi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof KFi){const n=new bS(N_(AFi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>tBi(e,t)).filter(cr);if(i.length>2){const e=i[0];let r=i[i.length-1];for(let e=i.length-2;e>0;--e){const n=i[e],s=r,o=new bS(N_(AFi(t.groupOperation)));o.parametersValues=[n,s],r=o}n.parametersValues=[e,r]}else n.parametersValues=i;return n.parametersValues.length?n:void 0}if(t instanceof XFi){const n=new bS(N_(Zgt.EXISTS));let i=t.parentId?fr(e.nodes.get(dr(t.parentId)),YFi):void 0;for(;i&&!(i instanceof KFi);)i=i.parentId?fr(e.nodes.get(dr(i.parentId)),YFi):void 0;const r=t.parentId?fr(e.nodes.get(dr(t.parentId)),YFi).lambdaParameterName:void 0,s=dr(FFi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>tBi(e,t)).filter(cr);let a;if(o.length>2){const e=o[0];let t=o[o.length-1];for(let e=o.length-2;e>0;--e){const n=o[e],r=t,s=new bS(dr(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=xft([t.lambdaParameterName??Hgt],o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new bS(N_(AFi(dr(i).groupOperation)));l.parametersValues=a;const c=xft([t.lambdaParameterName??Hgt],[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var nBi,iBi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(nBi||(nBi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(iBi||(iBi={}));const rBi=(e,t)=>{const n=new SS(new CS(__.create(e.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new bS(N_(exports.SUPPORTED_FUNCTIONS.LET)),n=new lS(G_.create(new q_(B_.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(cr),n},sBi=e=>e.value instanceof bS&&[T_.ONE,T_.ZERO_ONE].some(t=>iE(t,e.parameter.multiplicity)),oBi=e=>e.filter(sBi),aBi=(e,t)=>e.filter(e=>!sBi(e)).map(e=>{const n=new Gq;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(dr(e.value)),n}),lBi=(e,t,n)=>{const i=((e,t)=>{const n=oBi(e);if(n.length>0){const i=rBi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),s6(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class cBi{uuid=Mr();parameter;graph;observerContext;value;constructor(e,t,n){hd(this,{value:Rc,setValue:Pu,mockParameterValue:Pu,hashCode:kc}),this.observerContext=t,this.parameter=Kee(e),this.graph=n}get hashCode(){return mv([iBi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(HPi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof oS)throw new vi("Can not assign a parameter to another parameter");this.value=e?vte(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(sft(this.parameter,G_.create(new q_(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;iE(n,t)||(oft(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class uBi{showModal=!1;submitAction;constructor(){hd(this,{showModal:Rc,submitAction:Rc,setShowModal:Pu,open:Pu,setSubmitAction:Pu})}setShowModal(e){this.showModal=e}setSubmitAction(e){this.submitAction=e}open(e,t){this.setSubmitAction({handler:e,label:t}),this.setShowModal(!0)}close(){this.setSubmitAction(void 0),this.setShowModal(!1)}}class dBi{parameterStates=[];parameterValuesEditorState=new uBi;constructor(){hd(this,{hashCode:kc})}get hashCode(){return mv([iBi.LAMBDA_PARAMETERS_STATE,mv(this.parameterStates)])}addParameter(e){jr(this.parameterStates,e)}removeParameter(e){$r(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class hBi{queryBuilderState;mapping;runtimeValue;constructor(e){this.queryBuilderState=e}setMapping(e){this.mapping=e}setRuntimeValue(e){this.runtimeValue=e}get specifiedInQuery(){return!1}get explicitMappingValue(){return this.mapping}get explicitRuntimeValue(){return this.runtimeValue}}class pBi extends hBi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class gBi extends hBi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}}const fBi=(e,t)=>{const n=new bS(N_(Xgt.GET_ALL)),i=new aS(t,G_.create(new q_(e)));return i.values[0]=__.create(e),n.parametersValues.push(i),n},mBi=(e,t)=>{const n=new bS(N_(Xgt.GET_ALL_VERSIONS)),i=new aS(t,G_.create(new q_(e)));return i.values[0]=__.create(e),n.parametersValues.push(i),n},vBi=(e,t)=>{const n=new SS(new CS(__.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE)),i=dr(e.sourceElement,"Source element of type class or accessor is required to build query");if(i instanceof Y_){const i=dr(e.sourceClass,"Class is required to build query"),r=zw(i,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=mBi(i,T_.ONE);n.expressionSequence[0]=e}else switch(e.getAllFunction){case Xgt.GET_ALL_VERSIONS:if(!r)throw new yi("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=mBi(i,T_.ONE);n.expressionSequence[0]=e}break;case Xgt.GET_ALL_VERSIONS_IN_RANGE:if(!r)throw new yi("Unable to build query lamdba: getAllVersionsInRange() expects source class to be milestoned");{const t=((e,t)=>{const n=new bS(N_(Xgt.GET_ALL_VERSIONS_IN_RANGE)),i=new aS(t,G_.create(new q_(e)));return i.values[0]=__.create(e),n.parametersValues.push(i),n})(i,T_.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),n.expressionSequence[0]=t}break;case Xgt.GET_ALL:{const t=fBi(i,T_.ONE);r&&e.milestoningState.getMilestoningImplementation(r).buildGetAllParameters(t),n.expressionSequence[0]=t;break}default:throw new yi(`Unable to build query lambda: unknown ${e.getAllFunction} function`)}}else{const e=new h$;e.values=[i],n.expressionSequence[0]=e}if(((e,t)=>{if(!e.value)return;const n=dr(t.expressionSequence[0]),i=new bS(N_(Zgt.WATERMARK));i.parametersValues.push(n),i.parametersValues.push(e.value),t.expressionSequence[0]=i})(e.watermarkState,n),((e,t)=>{const n=e.rootIds.map(t=>dr(e.nodes.get(t))).map(t=>tBi(e,t)).filter(cr);if(!n.length)return;const i=new bS(N_(Zgt.FILTER)),r=dr(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(xft([e.lambdaParameterName],n,e.queryBuilderState.graphManagerState.graph)),t.expressionSequence[0]=i})(e.filterState,n),((e,t,n)=>{e.implementation.appendFetchStructure(t,n)})(e.fetchStructureState,n,t),t?.skipExecutionContext||e.buildExecutionContextExpression(n),e.constantState.constants.length){const t=e.constantState.constants.map(e=>e.buildLetExpression());n.expressionSequence=[...t,...n.expressionSequence]}return e.parametersState.parameterStates.length&&!t?.useAllVersionsForMilestoning&&(t?.isBuildingExecutionQuery?((e,t,n)=>{const i=oBi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=rBi(n.graph,i);e.expressionSequence=[...r.expressionSequence,...e.expressionSequence]}else e.functionType.parameters=t.map(e=>e.parameter)})(n,e.parametersState.parameterStates,e.graphManagerState):n.functionType.parameters=e.parametersState.parameterStates.map(e=>e.parameter)),n},yBi=(e,t,n)=>{const i=new _S("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof _S;){if(r=s.parametersValues[0],r instanceof _S){const e=new _S("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof _S&&s.func.value.genericType.value.rawType instanceof Y_&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof uC&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=PPi(Zgt.NOW,B_.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];aft(s,[dr(s.parametersValues[0]),...t],n)}for(s=r;s instanceof bS&&k_(s.functionName,Zgt.SUBTYPE);)s=s.parametersValues[0]}return s instanceof oS&&dft(s,t),i},bBi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new yi("Can't build typeahead query");const a=new SS(new CS(__.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE)),l=dr(e.sourceClass),c=fBi(dr(e.sourceClass),T_.ONE),u=zw(l,e.graphManagerState.graph);u&&e.milestoningState.getMilestoningImplementation(u).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const d=t?WPi(t,!1):s;if(n){const r=new bS(N_(Zgt.TDS_GROUP_BY)),s=new uS(T_.ZERO),o=new uS(T_.ONE),l=new uS(T_.ONE),c=new lS(G_.create(new q_(B_.STRING)));c.values.push(d),l.values.push(c);const u=t?xft([Hgt],[t],e.graphManagerState.graph):i,h=new bS(N_(Zgt.TDS_AGG)),p=xft([Hgt],[n.buildAggregateExpression(t,Hgt,e.graphManagerState.graph)],e.graphManagerState.graph);h.parametersValues=[dr(u),p],o.values.push(h),r.parametersValues=[a.expressionSequence[0],s,o,l],a.expressionSequence[0]=r}else{const n=new bS(N_(Zgt.TDS_PROJECT)),r=new uS(T_.ONE),s=new uS(T_.ONE),o=new lS(G_.create(new q_(B_.STRING)));o.values.push(d),s.values.push(o);const l=t?xft([Hgt],[t],e.graphManagerState.graph):i;r.values.push(dr(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new LFi,p=new _S("");let g;const f=h.getTDSColumnGetter();if(f)g=f;else{const e=t?.func.value.genericType.value.rawType??r;g=xFi(dr(e))}p.func=pC.create(dr(Kw(e.graphManagerState.graph.getClass(Ygt.TDS_ROW)).find(e=>e.name===g)));const m=new oS(zgt,T_.ONE),v=new lS(G_.create(new q_(B_.STRING)));v.values=[d],p.parametersValues=[m,v];const y=new bS(N_(Zgt.STARTS_WITH));y.parametersValues.push(p),o&&y.parametersValues.push(o);const b=xft([zgt],[y],e.graphManagerState.graph),_=new bS(N_(Zgt.TDS_FILTER)),C=dr(a.expressionSequence[0]);_.parametersValues=[C,b],a.expressionSequence[0]=_;let S=a.expressionSequence[0];const w=new bS(N_(Zgt.TDS_DISTINCT));w.parametersValues[0]=S,S=w;const E=new lS(G_.create(new q_(B_.INTEGER)));E.values=[10];const x=new bS(N_(Zgt.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=E,S=x,a.expressionSequence[0]=S,s6(a,e.graphManagerState)},_Bi=(e,t,n)=>{const i=yBi(t,Hgt,e.observerContext);return bBi(e,i,void 0,void 0,void 0,void 0,n)},CBi=e=>{const t=fr(e,NX,"Typeahead search is only supported for TDS result sets"),n=[];return t.result.rows.map(e=>e.values[0]).filter(cr).forEach(e=>{_r(e)&&n.push(e)}),n},SBi=e=>{if(e instanceof lS){if(e.genericType.value.rawType.path===Xb.STRING){return e.values[0].length>=2}return!1}return!1};var wBi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.BLANK_CONDITION"}(wBi||(wBi={}));const EBi=(e,t)=>{switch(e){case Qgt.GET_STRING:return B_.STRING;case Qgt.GET_NUMBER:return B_.NUMBER;case Qgt.GET_INTEGER:return B_.INTEGER;case Qgt.GET_FLOAT:return B_.FLOAT;case Qgt.GET_DECIMAL:return B_.DECIMAL;case Qgt.GET_DATE:return B_.DATE;case Qgt.GET_DATETIME:return B_.DATETIME;case Qgt.GET_STRICTDATE:return B_.STRICTDATE;case Qgt.GET_BOOLEAN:return B_.BOOLEAN;default:return}};class xBi{id=Mr();label="";isOpen;parentId;constructor(e){this.parentId=e,hd(this,{isOpen:Rc,parentId:Rc,setIsOpen:Pu,setParentId:Pu,hashCode:kc})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class TBi extends xBi{groupOperation;childrenIds=[];constructor(e,t){super(e),hd(this,{groupOperation:Rc,setGroupOperation:Pu,childrenIds:Rc,addChildNode:Pu,removeChildNode:Pu,dragPreviewLabel:kc}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}addChildNode(e){jr(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){$r(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}get hashCode(){return mv([Ift.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.groupOperation])}}class ABi extends xBi{condition;isNewlyAdded;constructor(e,t,n){super(e),hd(this,{condition:Rc,isNewlyAdded:Rc,setIsNewlyAdded:Pu,dragPreviewLabel:kc}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return mv([Ift.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class RBi extends xBi{constructor(e){super(e),hd(this,{dragPreviewLabel:kc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return mv([Ift.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class NBi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return mv([Ift.POST_FILTER_CONDITION_RIGHT_VALUE])}}class IBi extends NBi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof uS?vft(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?mft(this.value):void 0}setValue(e){return this.value=e?vte(e,this.conditionState.postFilterState.tdsState.queryBuilderState.observerContext):void 0,this.value}appendConditionValue(e,t){this.value&&e.parametersValues.push(this.value)}get isCollection(){return this.value instanceof uS}get hashCode(){return mv([Ift.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class DBi extends NBi{tdsColumn;constructor(e,t){super(e),hd(this,{tdsColumn:Rc,changeCol:Pu}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=kFi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class kBi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=Py.create();constructor(e,t,n){hd(this,{postFilterState:Rc,rightConditionValue:Rc,operator:Rc,leftConditionValue:Rc,typeaheadSearchResults:Rc,changeOperator:Pu,setColumnState:Pu,setRightConditionVal:Pu,buildFromValueSpec:Pu,setOperator:Pu,changeColumn:Ju,handleTypeaheadSearch:Ju,columnName:kc,hashCode:kc}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new IBi(this,void 0),n?this.operator=n:(br(0!==this.operators.length,`Can't find an operator for column '${this.leftConditionValue.columnName}`),this.operator=dr(this.operators[0]))}get columnName(){return this.leftConditionValue.columnName}get operators(){return this.postFilterState.operators.filter(e=>e.isCompatibleWithPostFilterColumn(this))}setRightConditionVal(e){this.rightConditionValue=e}buildFromValueSpec(e){this.rightConditionValue instanceof IBi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new IBi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof tFi||this.leftConditionValue instanceof aFi?this.leftConditionValue:void 0,n=dr(t),i=fr(this.rightConditionValue,IBi),r=e??i.value;if(SBi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof tFi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof sFi?(s=new sS(VN(I$(l.lambda,new OK([]).build()))),o=l.columnName,a=l.returnType):i=yBi(fr(l,nFi).propertyExpressionState.propertyExpression,Hgt,e.observerContext),bBi(e,i,r,s,a,o,n)})(this.postFilterState.tdsState.queryBuilderState,n,r),dr(this.postFilterState.tdsState.queryBuilderState.executionContextState.mapping),dr(this.postFilterState.tdsState.queryBuilderState.executionContextState.runtimeValue),this.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.postFilterState.tdsState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=CBi(e)}this.typeaheadSearchState.pass()}catch(e){bi(e),this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){this.setOperator(e),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}setColumnState(e){this.leftConditionValue=e}setOperator(e){this.operator=e}*changeColumn(e){try{const t=this.postFilterState.tdsState.aggregationState.columns.find(t=>t.projectionColumnState===e),n=t??e;n instanceof sFi&&(yield n.fetchDerivationLambdaReturnType()),this.setColumnState(n),this.operator.isCompatibleWithPostFilterColumn(this)||this.setOperator(dr(this.operators[0])),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}catch(t){bi(t),this.postFilterState.tdsState.queryBuilderState.applicationStore.notificationService.notifyError(`Can't drag column '${e.columnName}' due to: ${t.message}`)}}get hashCode(){return mv([Ift.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class OBi{tdsState;lambdaParameterName=zgt;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){hd(this,{tdsState:!1,selectedNode:Rc,isRearrangingConditions:Rc,rootIds:Rc,nodes:Rc,lambdaParameterName:Rc,derivedColumnBeingDropped:Rc,setLambdaParameterName:Pu,setSelectedNode:Pu,addNodeFromNode:Pu,addGroupConditionNodeFromNode:Pu,newGroupWithConditionFromNode:Pu,removeNodeAndPruneBranch:Pu,pruneTree:Pu,simplifyTree:Pu,collapseTree:Pu,expandTree:Pu,replaceBlankNodeWithNode:Pu,setRearrangingConditions:Pu,setDerivedColumnBeingDropped:Pu,allValidationIssues:kc,hasInvalidFilterValues:kc,hasInvalidDerivedPropertyParameters:kc,hashCode:kc}),this.tdsState=e,this.operators=t}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return dr(this.nodes.get(e),`Can't find query builder post-filter tree node with ID '${e}'`)}setDerivedColumnBeingDropped(e){this.derivedColumnBeingDropped=e}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}getParentNode(e){return e.parentId?fr(this.nodes.get(e.parentId),TBi):void 0}get referencedTDSColumns(){return li(Array.from(this.nodes.values()).filter(pr(ABi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof DBi?[e.condition.rightConditionValue.tdsColumn]:[]]).flat())}getRootNode(){br(this.rootIds.length<2,"Query builder post-filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof TBi)t.addChildNode(e);else if(t instanceof ABi||t instanceof RBi){const n=new TBi(void 0,TFi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}setLambdaParameterName(e){this.lambdaParameterName=e}addGroupConditionNodeFromNode(e){const t=new TBi(void 0,TFi.AND),n=new RBi(void 0),i=new RBi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupWithConditionFromNode(e,t){const n=e??new RBi(void 0);if(t instanceof ABi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new TBi(void 0,TFi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),e.addChildNodeAt(r,i)}else this.addRootNode(n)}}addNodeFromNode(e,t){if(t instanceof TBi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof ABi||t instanceof RBi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}removeNode(e){this.nodes.delete(e.id),e instanceof TBi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):$r(this.rootIds,e.id)}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else $r(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(pr(TBi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return fr(this.nodes.get(e.parentId),TBi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=fr(this.nodes.get(dr(e.parentId)),TBi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(pr(TBi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof RBi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(TBi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new vi("Query builder post-filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof RBi)throw new vi("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof ABi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):jr(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):$r(this.rootIds,e.id)}}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(pr(ABi)).map(e=>e.condition.rightConditionValue).filter(pr(IBi)).map(e=>e.value).filter(cr).find(t=>Rft(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof ABi&&(t.condition.rightConditionValue instanceof IBi&&t.condition.rightConditionValue.value instanceof aS&&!yft(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof nFi&&!t.condition.leftConditionValue.propertyExpressionState.isValid&&e.push(`Derived property parameter value for ${t.condition.leftConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>e instanceof ABi&&e.condition.rightConditionValue instanceof IBi&&e.condition.rightConditionValue.value instanceof aS&&!yft(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof ABi&&e.condition.leftConditionValue instanceof nFi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return mv([Ift.POST_FILTER_STATE,mv(this.rootIds),mv(Array.from(this.nodes.values()))])}}class LBi extends wFi{getLabel(){return"is in list of"}isCompatibleWithType(e){const t=Sft(e);return void 0!==t&&[Xb.STRING,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t)||e instanceof J_}isCompatibleWithConditionValue(e){const t=dr(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof IBi){const i=n.value;if(i instanceof uS){if(0===i.values.length)return!0;const n=vft(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)?[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(n.path):n===t)}if(i instanceof oS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());return new uS(T_.ONE,G_.create(new q_(t)))}buildPostFilterConditionExpression(e,t){return OFi(e,this,Zgt.IN,t)}buildPostFilterConditionState(e,t){return IFi(e,t,Zgt.IN,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_IN])}}class MBi extends LBi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?_ft(n):void 0}buildPostFilterConditionState(e,t){const n=bft(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_NOT_IN])}}class PBi extends wFi{getLabel(){return"is empty"}getTDSColumnGetter(){return Qgt.IS_NULL}isCompatibleWithType(e){return e instanceof B_||e instanceof V_||e instanceof J_}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof IBi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof nFi)||Cft(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return OFi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return IFi(e,t,void 0,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_IS_EMPTY])}}class FBi extends PBi{getLabel(){return"is not empty"}getTDSColumnGetter(){return Qgt.IS_NOT_NULL}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class BBi extends wFi{getLabel(){return"is"}isCompatibleWithType(e){const t=Sft(e);return void 0!==t&&[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)||e instanceof J_&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&wft(e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return OFi(e,this,e.leftConditionValue.getColumnType()===B_.DATETIME&&e.rightConditionValue.type!==B_.DATETIME?Zgt.IS_ON_DAY:Zgt.EQUAL,t)}buildPostFilterConditionState(e,t){return IFi(e,t,t.parametersValues[0]instanceof _S&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_DAY:Zgt.EQUAL,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_EQUAL])}}class VBi extends BBi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?_ft(n):void 0}buildPostFilterConditionState(e,t){const n=bft(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_NOT_EQUAL])}}class UBi extends wFi{getLabel(){return"<"}isCompatibleWithType(e){const t=Sft(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return wft(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return OFi(e,this,e.leftConditionValue.getColumnType()===B_.DATETIME&&e.rightConditionValue.type!==B_.DATETIME?Zgt.IS_BEFORE_DAY:Zgt.LESS_THAN,t)}buildPostFilterConditionState(e,t){return IFi(e,t,t.parametersValues[0]instanceof _S&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_BEFORE_DAY:Zgt.LESS_THAN,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_LESS_THAN])}}class GBi extends UBi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return OFi(e,this,e.leftConditionValue.getColumnType()===B_.DATETIME&&e.rightConditionValue.type!==B_.DATETIME?Zgt.IS_ON_OR_BEFORE_DAY:Zgt.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return IFi(e,t,t.parametersValues[0]instanceof _S&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_OR_BEFORE_DAY:Zgt.LESS_THAN_EQUAL,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class HBi extends wFi{getLabel(){return">"}isCompatibleWithType(e){const t=Sft(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return wft(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return OFi(e,this,e.leftConditionValue.getColumnType()===B_.DATETIME&&e.rightConditionValue.type!==B_.DATETIME?Zgt.IS_AFTER_DAY:Zgt.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return IFi(e,t,t.parametersValues[0]instanceof _S&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_AFTER_DAY:Zgt.GREATER_THAN,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_GREATER_THAN])}}class zBi extends HBi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return OFi(e,this,e.leftConditionValue.getColumnType()===B_.DATETIME&&e.rightConditionValue.type!==B_.DATETIME?Zgt.IS_ON_OR_AFTER_DAY:Zgt.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return IFi(e,t,t.parametersValues[0]instanceof _S&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_OR_AFTER_DAY:Zgt.GREATER_THAN_EQUAL,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class jBi extends wFi{getLabel(){return"contains"}isCompatibleWithType(e){return Sft(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());if(t.path===Xb.STRING)return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildPostFilterConditionExpression(e,t){return OFi(e,this,Zgt.CONTAINS,t)}buildPostFilterConditionState(e,t){return IFi(e,t,Zgt.CONTAINS,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_CONTAIN])}}class WBi extends jBi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?_ft(n):void 0}buildPostFilterConditionState(e,t){const n=bft(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class $Bi extends wFi{getLabel(){return"ends with"}isCompatibleWithType(e){return Sft(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return UPi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return OFi(e,this,Zgt.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return IFi(e,t,Zgt.ENDS_WITH,this)}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_END_WITH])}}class qBi extends $Bi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?_ft(n):void 0}buildPostFilterConditionState(e,t){const n=bft(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.POST_FILTER_OPERATOR_NOT_END_WITH])}}class YBi extends oFi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof J_}return!0}buildAggregateExpression(e,t,n){return cFi(Zgt.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return uFi(n,t,e,Zgt.UNIQUE_VALUE_ONLY,this)}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_DISTINCT])}}class KBi extends oFi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof nFi)||B_.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new bS(N_(Zgt.JOIN_STRINGS)),r=new lS(G_.create(new q_(B_.STRING)));return r.values=[";"],i.parametersValues.push(new oS(t,T_.ONE),r),i}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Zgt.JOIN_STRINGS)){const i=new aFi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),br(2===e.parametersValues.length,"Can't process joinStrings() expression: joinStrings() expects 1 argument");const r=fr(e.parametersValues[0],oS,"Can't process joinStrings() expression: only support joinStrings() immediately following a variable expression");br(i.lambdaParameterName===r.name,`Can't process joinStrings() expression: expects variable used in lambda body '${r.name}' to match lambda parameter '${i.lambdaParameterName}'`);const s=fr(e.parametersValues[1],lS,"Can't process joinStrings() expression: joinStrings() expects arugment #1 to be a primitive instance value");return br(1===s.values.length&&";"===s.values[0],"Can't process joinStrings() expression: only support ';' as delimiter"),br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process joinStrings() expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return B_.STRING}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_JOIN_STRING])}}class XBi extends oFi{percentile;acending;continuous;constructor(){super(),hd(this,{percentile:Rc,acending:Rc,continuous:Rc,setPercentile:Pu,setAcending:Pu,setContinuous:Pu})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){const i=this.percentile?Number((this.percentile/100).toFixed(10)):0,r=new bS(N_(Zgt.PERCENTILE)),s=new lS(G_.create(new q_(B_.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new oS(t,T_.ONE),s);else{const e=new lS(G_.create(new q_(B_.BOOLEAN)));e.values=[this.acending];const n=new lS(G_.create(new q_(B_.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new oS(t,T_.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Zgt.PERCENTILE)){const i=new aFi(n.tdsState.aggregationState,n,new XBi),r=fr(i.operator,XBi);i.setLambdaParameterName(t.name),br([2,4].includes(e.parametersValues.length),"Can't process percentile() expression: percentile() expects 2 or 4 argument");const s=fr(e.parametersValues[0],oS,"Can't process percentile() expression: only support percentile() immediately following a variable expression");br(i.lambdaParameterName===s.name,`Can't process percentile() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`);const o=fr(e.parametersValues[1],lS,"Can't process percentile() expression: percentile() expects arugment #2 to be a primitive instance value");if(r.percentile=parseFloat((100*o.values[0]).toFixed(10)),4===e.parametersValues.length){const t=fr(e.parametersValues[2],lS,"Can't process percentile() expression: percentile() expects arugment #3 to be a primitive instance value");r.acending=t.values[0];const n=fr(e.parametersValues[3],lS,"Can't process percentile() expression: percentile() expects arugment #4 to be a primitive instance value");r.continuous=n.values[0]}return br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process percentile() expression: property is not compatible with operator"),i.setOperator(r),i}}get getOperator(){return new XBi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_PERCENTILE])}}class ZBi extends oFi{weight;constructor(){super(),hd(this,{weight:Rc,setWeight:Pu})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!1}buildAggregateExpression(e,t,n){return cFi(Zgt.WAVG,t)}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Zgt.WAVG)){const e=new aFi(n.tdsState.aggregationState,n,new ZBi),i=fr(e.operator,ZBi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new ZBi}get hashCode(){return mv([Ift.AGGREGATE_OPERATOR_WAVG])}}const QBi="WINDOW_COLUMN";class JBi{columnState;sortType;constructor(e,t){hd(this,{columnState:Rc,sortType:Rc,setColumnState:Pu,setSortType:Pu}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return mv([Ift.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class eVi{windowState;lambdaParameterNames=[Hgt];operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterNames(e){this.lambdaParameterNames=e}addParameterName(e){this.lambdaParameterNames.push(e)}setOperator(e){this.operator=e}get hashCode(){return mv([Ift.TDS_WINDOW_GROUPBY_OPERATION_STATE,mv(this.lambdaParameterNames),this.operator])}}class tVi extends eVi{constructor(e,t){super(e,t),hd(this,{setLambdaParameterNames:Pu})}}class nVi extends eVi{columnState;constructor(e,t,n){super(e,t),hd(this,{columnState:Rc,setColumnState:Pu,setLambdaParameterNames:Pu}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return mv([Ift.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,mv(this.lambdaParameterNames),this.operator,this.columnState.columnName])}}class iVi extends XPi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),hd(this,{windowColumns:Rc,sortByState:Rc,operatorState:Rc,columnName:Rc,setOperatorState:Rc,setColumnName:Pu,setSortBy:Pu,changeWindow:Pu,deleteWindow:Pu,addWindow:Pu,setWindows:Pu,changeOperator:Pu,changeSortBy:Pu}),this.windowState=e,this.windowColumns=t,this.sortByState=n,this.operatorState=i,this.columnName=r}get columnWindowGroupIdx(){return this.windowState.windowColumns.findIndex(e=>e===this)}get possibleReferencedColumns(){const e=this.windowState.tdsState.tdsColumns.findIndex(e=>e===this);return-1===e?this.windowState.tdsState.tdsColumns:this.windowState.tdsState.tdsColumns.slice(0,e)}get referencedTDSColumns(){const e=this.operatorState instanceof nVi?[this.operatorState.columnState]:[],t=this.sortByState?[this.sortByState.columnState]:[];return[...this.windowColumns,...t,...e]}getColumnType(){return this.operatorState.operator.getOperatorReturnType(this.windowState.tdsState.queryBuilderState.graphManagerState.graph)}setColumnName(e){this.columnName=e}setOperatorState(e){this.operatorState=e}setSortBy(e){this.sortByState=e}changeWindow(e,t){this.windowColumns[t]=e}addWindow(e){jr(this.windowColumns,e)}setWindows(e){this.windowColumns=e}deleteWindow(e){$r(this.windowColumns,e)}possibleAggregatedColumns(e){return e.isColumnAggregator()?this.possibleReferencedColumns.filter(t=>e.isCompatibleWithColumn(t)):[]}getChangeOperatorStateAndColumnName(e,t,n){if(e!==n){if(!n.isColumnAggregator())return{operatorState:new tVi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new nVi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof nVi?this.operatorState.columnState:void 0,e);t&&(this.setOperatorState(t.operatorState),this.setColumnName(t.columnName))}changeSortBy(e){const t=this.sortByState;if(t?.sortType!==e)if(e){const n=t??new JBi(dr(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return mv([Ift.TDS_WINDOW_COLUMN_STATE,mv(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class rVi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){hd(this,{windowColumns:Rc,editColumn:Rc,invalidWindowColumnNames:kc,windowValidationIssues:kc,addWindowColumn:Pu,removeColumn:Pu,moveColumn:Pu,setEditColumn:Pu}),this.tdsState=e,this.operators=t}get isEmpty(){return!this.windowColumns.length}get invalidWindowColumnNames(){const e=[];return this.windowColumns.forEach((t,n)=>{if(t.operatorState instanceof nVi&&t.operatorState.columnState instanceof iVi){const i=t.operatorState.columnState.columnName;t.windowState.isColumnOrderValid(i,n)||e.push({invalidColumnName:t.columnName,missingColumnName:i})}}),e}get windowValidationIssues(){const e=this.invalidWindowColumnNames,t=[];e.forEach(e=>{t.push(`Column '${e.invalidColumnName}' cannot exist before column name '${e.missingColumnName}'`)});const n=this.windowColumns.some(e=>this.windowColumns.filter(t=>t.columnName===e.columnName).length>1);n&&t.push("Query has duplicated window columns");const i=this.windowColumns.some(e=>this.tdsState.projectionColumns.filter(t=>t.columnName===e.columnName).length>0);return i&&t.push("Query has duplicated projection/window columns"),t}get referencedTDSColumns(){return li(this.windowColumns.map(e=>e.referencedTDSColumns).flat())}setEditColumn(e){this.editColumn=e}findOperator(e,t){return this.operators.find(n=>{const i=t?n.relationFunc:n.pureFunc;return i?k_(e,i):void 0})}addWindowColumn(e){jr(this.windowColumns,e)}removeColumn(e){$r(this.windowColumns,e)}moveColumn(e,t){const n=this.windowColumns[e],i=this.windowColumns[t];n&&i&&(this.windowColumns[e]=i,this.windowColumns[t]=n)}isColumnOrderValid(e,t){return this.windowColumns.slice(0,t).some(t=>t.columnName===e)}get hashCode(){return mv([Ift.TDS_WINDOW_GROUPBY_STATE,mv(this.windowColumns)])}}const sVi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new lS(G_.create(new q_(B_.STRING)));return t.values=[e.columnName],t}),r=new uS(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new bS((e=>{switch(e){case Jgt.ASC:return N_(Zgt.TDS_ASC);case Jgt.DESC:return N_(Zgt.TDS_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new lS(G_.create(new q_(B_.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=o.lambdaParameterNames[0]??emt,l=N_(dr(o.operator.pureFunc,`Operator '${o.operator.getLabel()}' does not have a compatible OLAP function`)),c=new bS(l);c.parametersValues=[new oS(a,T_.ONE)];const u=xft([a],[c],n);let d;if(o instanceof nVi){const e=new lS(G_.create(new q_(B_.STRING)));e.values=[o.columnState.columnName],d=new bS(N_(Zgt.TDS_FUNC)),d.parametersValues=[e,u]}const h=d??u,p=new lS(G_.create(new q_(B_.STRING)));p.values=[e.columnName];const g=new bS(N_(Zgt.OLAP_GROUPBY)),f=dr(t.expressionSequence[0]);return g.parametersValues=[f,r,...s?[s]:[],h,p],t.expressionSequence[0]=g,t},oVi=e=>{const t=new bS(N_(Zgt.RELATION_OVER)),n=new mS(T_.ONE,void 0),i=new fS;if(n.values=[i],e.windowColumns.forEach(e=>{const t=new pS;t.name=e.columnName,i.colSpecs.push(t)}),t.parametersValues.push(n),e.sortByState){const n=e.sortByState,i=new bS((e=>{switch(e){case Jgt.ASC:return N_(Zgt.RELATION_ASC);case Jgt.DESC:return N_(Zgt.RELATION_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(n.sortType)),r=new gS(T_.ONE,void 0),s=new pS;s.name=n.columnState.columnName,r.values=[s],i.parametersValues[0]=r;const o=new uS(T_.ONE);o.values=[i],t.parametersValues.push(o)}return t},aVi=(e,t)=>(e.tdsState.queryBuilderState.isFetchStructureTyped?e.windowColumns.forEach(e=>((e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=oVi(e),r=new mS(T_.ONE,void 0),s=new fS;r.values=[s];const o=new pS;o.name=e.columnName;const a=e.operatorState;if(1===a.lambdaParameterNames.length&&a.setLambdaParameterNames([jgt,Wgt,$gt]),a instanceof nVi&&a.operator.relationFunc){const e=N_(a.operator.relationFunc),[l=jgt,c=Wgt,u=$gt,d=emt]=a.lambdaParameterNames,h=new yS(a.columnState.columnName);h.func=new W_(a.columnState.columnName,G_.create(new q_(B_.STRING))),h.parametersValues=[new oS(u,T_.ONE)];const p=xft([l,c,u],[h],n);o.function1=p;const g=new bS(e);g.parametersValues=[new oS(d,T_.ONE)];const f=xft([d],[g],n);o.function2=f,s.colSpecs.push(o);const m=new bS(N_(Zgt.RELATION_EXTEND)),v=dr(t.expressionSequence[0]);return m.parametersValues=[v,i,r],t.expressionSequence[0]=m,t}if(a instanceof tVi&&a.operator.relationFunc){const e=N_(a.operator.relationFunc),l=new bS(e),[c=jgt,u=Wgt,d=$gt]=a.lambdaParameterNames;e===N_(Zgt.RELATION_ROW_NUMBER)?l.parametersValues=[new oS(c,T_.ONE),new oS(d,T_.ONE)]:l.parametersValues=[new oS(c,T_.ONE),new oS(u,T_.ONE),new oS(d,T_.ONE)];const h=xft([c,u,d],[l],n);o.function1=h,s.colSpecs.push(o);const p=new bS(N_(Zgt.RELATION_EXTEND)),g=dr(t.expressionSequence[0]);return p.parametersValues=[g,i,r],t.expressionSequence[0]=p,t}throw new yi("Unsupported window function. Function must be supported for typed TDS and be an aggregation or rank function.")})(e,t)):e.windowColumns.forEach(e=>sVi(e,t)),t),lVi=(e,t,n)=>{if(t instanceof ABi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof TBi){const i=new bS(N_(AFi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>lVi(e,t,n)).filter(cr);if(r.length>2){const e=r[0];let n=r[r.length-1];for(let e=r.length-2;e>0;--e){const i=r[e],s=n,o=new bS(N_(AFi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class cVi{_currentResultModifierFunc;graphManagerState;options;distinct=!1;sortColumns;limit;slice;constructor(e){this.graphManagerState=e}get currentExpression(){return dr(this._currentResultModifierFunc,"Current expression needs to be defined to build result modifier")}get supportedResultModifiersFunctions(){return[Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Jgt.ASC?this.ascFunctionname:this.descFunctionName}setCurrentResultModifierFunction(e){this._currentResultModifierFunc=e}withOptions(e){return this.options=e,this}withDistinct(e){return this.distinct=e,this}withSortColumns(e){return e?.length&&(this.sortColumns=e),this}withLimit(e){return this.limit=e,this}withSlice(e){return this.slice=e,this}buildDistinctFunction(){const e=new bS(N_(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new bS(N_(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new uS(n,void 0);i.values=e.map(e=>this.buildSortExpression(e)),t.parametersValues[0]=this.currentExpression,t.parametersValues[1]=i,this.setCurrentResultModifierFunction(t)}buildSortExpression(e){const t=new bS(N_(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new lS(G_.create(new q_(B_.INTEGER)));t.values=[Math.min(e?this.options?.withDataOverflowCheck?e+1:e:Number.MAX_SAFE_INTEGER,this.options?.overridingLimit?this.options.withDataOverflowCheck?this.options.overridingLimit+1:this.options.overridingLimit:Number.MAX_SAFE_INTEGER)];const n=new bS(N_(this.limitFunctionName));n.parametersValues[0]=this.currentExpression,n.parametersValues[1]=t,this.setCurrentResultModifierFunction(n)}buildSliceFunction(e){const t=e[0],n=e[1],i=new lS(G_.create(new q_(B_.INTEGER))),r=new lS(G_.create(new q_(B_.INTEGER)));i.values=[t],r.values=[n];const s=new bS(N_(this.sliceFunctionName));s.parametersValues=[this.currentExpression,i,r],this.setCurrentResultModifierFunction(s)}build(e){if(1===e.expressionSequence.length){const t=e.expressionSequence[0];if(t instanceof bS&&k_(t.functionName,this.supportedResultModifiersFunctions))return this._currentResultModifierFunc=t,this.distinct&&this.buildDistinctFunction(),this.sortColumns&&this.buildSortFunction(this.sortColumns),(this.limit||this.options?.overridingLimit)&&this.buildLimitFunction(this.limit),this.slice&&this.buildSliceFunction(this.slice),e.expressionSequence[0]=this.currentExpression,e}return e}}class uVi extends cVi{get limitFunctionName(){return Zgt.TDS_TAKE}get sliceFunctionName(){return Zgt.SLICE}get sortFunctionName(){return Zgt.TDS_SORT}get distinctFunctionName(){return Zgt.TDS_DISTINCT}get ascFunctionname(){return Zgt.TDS_ASC}get descFunctionName(){return Zgt.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new lS(G_.create(new q_(B_.STRING)));return t.values=[e],t})(e)}}class dVi extends cVi{get limitFunctionName(){return Zgt.RELATION_LIMIT}get sliceFunctionName(){return Zgt.RELATION_SLICE}get ascFunctionname(){return Zgt.RELATION_ASC}get descFunctionName(){return Zgt.RELATION_DESC}get sortFunctionName(){return Zgt.RELATION_SORT}get distinctFunctionName(){return Zgt.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new gS(T_.ONE,void 0),n=new pS;return n.name=e,t.values=[n],t}}const hVi=(e,t,n)=>{const i=e.queryBuilderState,r=dr(t.expressionSequence[0],"Can't build projection expression: preceding expression is not defined");if(e.aggregationState.columns.length&&!e.queryBuilderState.isFetchStructureTyped){const s=new bS(N_(Zgt.TDS_GROUP_BY)),o=new uS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new uS(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new uS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new lS(G_.create(new q_(B_.STRING)));r.values.push(t.columnName),l.values.push(r);const s=e.aggregationState.columns.find(e=>e.projectionColumnState===t);let c;if(t instanceof nFi)c=xft([t.lambdaParameterName],[FFi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof sFi))throw new yi("Can't build project() column expression: unsupported projection column state",t);c=new sS(VN(I$(t.lambda,new OK([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof ZBi&&s.setLambdaParameterName("y");const e=new bS(N_(Zgt.TDS_AGG)),t=xft([s.lambdaParameterName],[s.operator.buildAggregateExpressionFromState(s)],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);let n;const r=s.calendarFunction?.buildCalendarFunctionExpressionFromState(s,c);if(i.isCalendarEnabled&&r instanceof bS&&(n=xft([dr(s.calendarFunction).lambdaParameterName],[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof ZBi&&s.operator.weight&&s.projectionColumnState instanceof nFi&&c instanceof wS){const e=new bS(Zgt.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof wS?Gr(n.values,0).expressionSequence[0]=e:c instanceof wS&&(Gr(c.values,0).expressionSequence[0]=e)}e.parametersValues=[n??c,t],a.values.push(e)}else o.values.push(c)}),s.parametersValues=[r,o,a,l],t.expressionSequence[0]=s}else if(e.projectionColumns.length)if(i.useRelation){const i=((e,t,n)=>{const i=new bS(N_(Zgt.RELATION_PROJECT)),r=t.queryBuilderState,s=new mS(T_.ONE,void 0),o=new fS;s.values=[o];const a=new $_($_.ID);t.projectionColumns.forEach(e=>{const t=new pS;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof nFi)i=xft([e.lambdaParameterName],[FFi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else if(e instanceof iFi){const t=e.column,n=new yS(t.name),s=new oS(e.lambdaParameterName,T_.ONE,void 0);n.func=t,n.parametersValues=[s],i=xft([e.lambdaParameterName],[n],r.graphManagerState.graph)}else{if(!(e instanceof sFi))throw new yi("Can't build relation project() column expression: unsupported projection column state",e);i=new sS(VN(I$(e.lambda,new OK([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.function1=i;const s=dr(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}`);a.columns.push(new W_(e.columnName,G_.create(new q_(s))))}),i.parametersValues=[e,s];const l=new q_(yY.INSTANCE),c=new q_(a);return l.typeArguments=[G_.create(c)],i.genericType=G_.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=fr(e,bS);if(n.functionName!==N_(Zgt.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new bS(N_(Zgt.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new mS(T_.ONE,void 0),o=new fS;s.values=[o];const a=new mS(T_.ONE,void 0),l=new fS;a.values=[l];const c=new $_($_.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new pS;t.name=e.columnName,o.colSpecs.push(t);const n=dr(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}. Missing type.`);c.columns.push(new W_(e.columnName,G_.create(new q_(n))))}),t.aggregationState.columns.forEach(e=>{const t=new pS;t.name=e.columnName,l.colSpecs.push(t);const i=dr(dr(n.parametersValues[1].values[0],"Could not find ColSpec array in project() function first parameter").colSpecs.find(t=>t.name===e.columnName),`Could not find projected column matching aggregation column '${e.columnName}'`),s=fr(fr(i.function1,wS).values[0]?.expressionSequence[0],_S),o=fr(s.func.value,Z_),a=new _S("");a.func=pC.create(new Z_(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new oS(emt,T_.ONE)];const u=xft([emt],[a],r.graphManagerState.graph);t.function1=u;const d=xft([e.lambdaParameterName],[e.operator.buildAggregateExpressionFromState(e)],e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);t.function2=d;const h=dr(e.getColumnType(),`Can't create value spec for aggregation column ${e.columnName}. Missing type.`);c.columns.push(new W_(e.columnName,G_.create(new q_(h))))}),i.parametersValues=[e,s,a];const u=new q_(yY.INSTANCE),d=new q_(c);return u.typeArguments=[G_.create(d)],i.genericType=G_.create(u),i})(i,e):null;t.expressionSequence[0]=s??i}else{const s=new bS(N_(Zgt.TDS_PROJECT));if(e.useColFunc){const t=new uS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(i=>{t.values.push(((e,t,n)=>{const i=new bS(N_(Zgt.TDS_COL));let r;if(t instanceof nFi)r=xft([t.lambdaParameterName],[FFi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof sFi))throw new yi("Can't build project() column expression: unsupported projection column state",t);r=new sS(VN(I$(t.lambda,new OK([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new lS(G_.create(new q_(B_.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,i,n))}),s.parametersValues=[r,t]}else{const t=new uS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new uS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(e=>{const r=new lS(G_.create(new q_(B_.STRING)));let s;if(r.values.push(e.columnName),o.values.push(r),e instanceof nFi)s=xft([e.lambdaParameterName],[FFi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof sFi))throw new yi("Can't build project() column expression: unsupported projection column state",e);s=new sS(VN(I$(e.lambda,new OK([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.values.push(s)}),s.parametersValues=[r,t,o]}t.expressionSequence[0]=s}aVi(e.windowState,t),((e,t)=>{const n=e.rootIds.map(t=>dr(e.nodes.get(t))).map(n=>lVi(e,n,t)).filter(cr);if(!n.length||1!==t.expressionSequence.length)return t;const i=xft([e.lambdaParameterName],n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new bS(N_(Zgt.TDS_FILTER)),s=dr(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new dVi(e.tdsState.queryBuilderState.graphManagerState):new uVi(e.tdsState.queryBuilderState.graphManagerState)).withOptions(i).withDistinct(e.distinct).withSortColumns(e.sortColumns).withLimit(e.limit).withSlice(e.slice).build(t)})(e.resultSetModifierState,t,e.queryBuilderState.isFetchStructureTyped,{overridingLimit:n?.isBuildingExecutionQuery&&!n.isExportingResult?i.resultState.previewLimit:void 0,withDataOverflowCheck:n?.isBuildingExecutionQuery&&!n.isExportingResult?n.withDataOverflowCheck:void 0})};class pVi{uuid=Mr();isColumnAggregator(){return!1}getOperatorReturnType(e){return B_.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class gVi extends pVi{getLabel(){return"average rank"}get pureFunc(){return Zgt.OLAP_AVERAGE_RANK}get relationFunc(){}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class fVi extends pVi{getLabel(){return"dense rank"}get pureFunc(){return Zgt.OLAP_DENSE_RANK}get relationFunc(){return Zgt.RELATION_DENSE_RANK}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class mVi extends pVi{getLabel(){return"rank"}get pureFunc(){return Zgt.OLAP_RANK}get relationFunc(){return Zgt.RELATION_RANK}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class vVi extends pVi{getLabel(){return"row number"}get pureFunc(){return Zgt.OLAP_ROW_NUMBER}get relationFunc(){return Zgt.RELATION_ROW_NUMBER}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_ROW_NUMBER])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class yVi extends pVi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return Zgt.SUM}get relationFunc(){return Zgt.SUM}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_SUM])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class bVi extends pVi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return Zgt.COUNT}get relationFunc(){return Zgt.COUNT}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_COUNT])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class _Vi extends pVi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return Zgt.MAX}get relationFunc(){return Zgt.MAX}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_MAX])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class CVi extends pVi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return Zgt.MIN}get relationFunc(){return Zgt.MIN}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_MIN])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class SVi extends pVi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return Zgt.AVERAGE}get relationFunc(){return Zgt.AVERAGE}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_AVERAGE])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class wVi extends pVi{getLabel(){return"percent rank"}get pureFunc(){}get relationFunc(){return Zgt.RELATION_PERCENT_RANK}get hashCode(){return mv([Ift.TDS_WINDOW_OPERATOR_PERCENT_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}var EVi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(EVi||(EVi={}));const xVi={[EVi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[EVi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var TVi;!function(e){e.NY="NY",e.LDN="LDN"}(TVi||(TVi={}));const AVi="en-US";class RVi{dateColumn;calendarType;endDate;lambdaParameterName=Hgt;func;label;hash;constructor(e,t,n){hd(this,{dateColumn:Rc,lambdaParameterName:Rc,calendarType:Rc,endDate:Rc,setDateColumn:Pu,setCalendarType:Pu,setLambdaParameterName:Pu,setEndDate:Pu,hashCode:kc}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof nFi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildCalendarFunctionExpression(e){return((e,t,n,i,r)=>{const s=new bS(N_(e));if(!t)throw new yi("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new lS(G_.create(new q_(B_.STRING)));return o.values=[n],s.parametersValues.push(o),s.parametersValues.push(i),s.parametersValues.push(r),s})(this.func,this.dateColumn,this.calendarType,this.endDate,e)}updateAggregateColumnState(e,t){((e,t,n,i)=>{if(k_(e.functionName,t)){br(4===e.parametersValues.length,`Can't process ${N_(t)}() expression: ${N_(t)}() expects four arguments`);const r=fr(e.parametersValues[0],_S,`Can't process ${N_(t)}() expression: only support ${N_(t)}() with first parameter as property expression`);br(r.func.value.genericType.value.rawType.name===Xb.STRICTDATE||r.func.value.genericType.value.rawType.name===Xb.DATE,`Can't process ${N_(t)}() expression: only support ${N_(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof _S;){const e=s;for(s=dr(s.parametersValues[0]),e.func.value instanceof uC&&br((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);s instanceof bS&&k_(s.functionName,Zgt.SUBTYPE);)s=dr(s.parametersValues[0])}const o=fr(s,oS).name;n.setLambdaParameterName(o);const a=fr(e.parametersValues[1],lS,`Can't process ${N_(t)}() expression: only support ${N_(t)}() with second parameter as PrimitiveInstancevalue`);br(void 0!==Object.values(TVi).find(e=>e===a.values[0]),`Can't process ${N_(t)}() expression: only support ${N_(t)}() calendar types NY and LDN`);const l=fr(e.parametersValues[2],rS,`Can't process ${N_(t)}() expression: only support ${N_(t)}() with third parameter as ValueSpecification`);br(l.genericType?.value.rawType.name===Xb.STRICTDATE||l.genericType?.value.rawType.name===Xb.DATE||r.func.value.genericType.value.rawType.name===Xb.DATE,`Can't process ${N_(t)}() expression: only support ${N_(t)}() with third parameter of type Date`),n.calendarType=a.values[0],n.endDate=l,n.dateColumn=r,br(n.isCompatibleWithColumn(i.projectionColumnState),`Can't process ${N_(t)}() expression: property is not compatible with calendar function`),i.setHideCalendarColumnState(!1),i.setCalendarFunction(n)}})(e,this.func,this,t)}buildCalendarFunctionExpressionFromState(e,t){let n;if(e.projectionColumnState instanceof nFi&&t instanceof wS?n=fr(t.values[0]?.expressionSequence[0],_S):e.projectionColumnState instanceof sFi&&(n=fr(t,sS)),!n)throw new yi("Can't build calendar aggregation column: target column should be defined");return this.buildCalendarFunctionExpression(n)}setDateColumn(e){this.dateColumn=e}setLambdaParameterName(e){this.lambdaParameterName=e}setCalendarType(e){this.calendarType=e}setEndDate(e){this.endDate=e}get hashCode(){return mv([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function NVi(e,t,n){return new RVi(e,t,n)}var IVi;!function(e){e.CSV="CSV"}(IVi||(IVi={}));class DVi extends SFi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new BBi,new VBi,new UBi,new GBi,new HBi,new zBi,new LFi,new MFi,new jBi,new WBi,new $Bi,new qBi,new LBi,new MBi,new PBi,new FBi])();aggregationOperators=(()=>[new hFi,new pFi,new YBi,new yFi,new dFi,new fFi,new gFi,new XBi,new mFi,new vFi,new KBi,new ZBi])();aggregationCalendarFunctions=(()=>[NVi(Kgt.CALENDAR_ANNUALIZED,"Annualized",Ift.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),NVi(Kgt.CALENDAR_YTD,"Year to Date",Ift.AGGREGATE_CALENDAR_FUNCTION_YTD),NVi(Kgt.CALENDAR_CME,"Current Month Estimate",Ift.AGGREGATE_CALENDAR_FUNCTION_CME),NVi(Kgt.CALENDAR_CW,"Current Week",Ift.AGGREGATE_CALENDAR_FUNCTION_CW),NVi(Kgt.CALENDAR_CME,"Current Month Estimate",Ift.AGGREGATE_CALENDAR_FUNCTION_CME),NVi(Kgt.CALENDAR_CY_MINUS2,"Current year minus 2",Ift.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),NVi(Kgt.CALENDAR_CY_MINUS3,"Current year minus 3",Ift.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),NVi(Kgt.CALENDAR_MTD,"Month to date",Ift.AGGREGATE_CALENDAR_FUNCTION_MTD),NVi(Kgt.CALENDAR_P12WA,"Previous 12 Weeks Averaged",Ift.AGGREGATE_CALENDAR_FUNCTION_P12WA),NVi(Kgt.CALENDAR_P12WTD,"Previous 12 Weeks To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_P12WTD),NVi(Kgt.CALENDAR_P4WA,"Previous 4 Weeks Averaged",Ift.AGGREGATE_CALENDAR_FUNCTION_P4WA),NVi(Kgt.CALENDAR_P4WTD,"Previous 4 Weeks To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_P4WTD),NVi(Kgt.CALENDAR_P52WA,"Previous 52 Weeks Averaged",Ift.AGGREGATE_CALENDAR_FUNCTION_P52WA),NVi(Kgt.CALENDAR_P52WTD,"Previous 52 Weeks To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_P52WTD),NVi(Kgt.CALENDAR_PMA,"Previous Months Averaged",Ift.AGGREGATE_CALENDAR_FUNCTION_PMA),NVi(Kgt.CALENDAR_PMTD,"Previous Month To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PMTD),NVi(Kgt.CALENDAR_PQTD,"Previous Quarter To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PQTD),NVi(Kgt.CALENDAR_PRIOR_DAY,"Prior Day",Ift.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),NVi(Kgt.CALENDAR_PRIOR_YEAR,"Prior Year",Ift.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),NVi(Kgt.CALENDAR_PW,"Previous week",Ift.AGGREGATE_CALENDAR_FUNCTION_PW),NVi(Kgt.CALENDAR_PW_FM,"Previous week, Franchise Manager",Ift.AGGREGATE_CALENDAR_FUNCTION_PW_FM),NVi(Kgt.CALENDAR_PWA,"Past Weeks' Average",Ift.AGGREGATE_CALENDAR_FUNCTION_PWA),NVi(Kgt.CALENDAR_PWTD,"Previous Week To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PWTD),NVi(Kgt.CALENDAR_PYMTD,"Previous Year's Month To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PYMTD),NVi(Kgt.CALENDAR_PYQTD,"Previous Year's Quarter To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PYQTD),NVi(Kgt.CALENDAR_PYTD,"Previous Year To Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PYTD),NVi(Kgt.CALENDAR_PYWA,"Previous Year's Weekly Average",Ift.AGGREGATE_CALENDAR_FUNCTION_PYWA),NVi(Kgt.CALENDAR_PYWTD,"Previous Year's Week to Date",Ift.AGGREGATE_CALENDAR_FUNCTION_PYWTD),NVi(Kgt.CALENDAR_QTD,"Quarter to Date",Ift.AGGREGATE_CALENDAR_FUNCTION_QTD),NVi(Kgt.CALENDAR_REPORT_END_DAY,"Report End Day",Ift.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),NVi(Kgt.CALENDAR_WTD,"Week to Date",Ift.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new yVi,new bVi,new _Vi,new CVi,new SVi,new gVi,new fVi,new mVi,new vVi,new wVi])();constructor(e,t){super(e,t),hd(this,{aggregationState:Rc,projectionColumns:Rc,isConvertDerivationProjectionObjects:Rc,showPostFilterPanel:Rc,showWindowFuncPanel:Rc,useColFunc:Rc,TEMPORARY__showPostFetchStructurePanel:kc,derivations:kc,hasParserError:kc,isQueryOptionsSet:kc,addColumn:Pu,moveColumn:Pu,removeAllColumns:Pu,removeColumn:Pu,replaceColumn:Pu,initialize:Pu,initializeWithQuery:Pu,setShowPostFilterPanel:Pu,setShowWindowFuncPanel:Pu,setUseColFunc:Pu,checkBeforeChangingImplementation:Pu,convertDerivationProjectionObjects:Ju,fetchDerivedReturnTypes:Ju}),this.resultSetModifierState=new _Fi(this),this.postFilterState=new OBi(this,this.postFilterOperators),this.aggregationState=new lFi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new rVi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(EVi.SHOW_POST_FILTER_PANEL)??!1}get type(){return CFi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(pr(sFi))}get hasParserError(){return this.derivations.some(e=>e.derivationLambdaEditorState.parserError)}get fetchLabel(){return"Columns"}get canBeExportedToCube(){return!0}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel||this.showWindowFuncPanel||this.showPostFilterPanel}get usedExplorerTreePropertyNodeIDs(){let e=[];return this.projectionColumns.forEach(t=>{if(t instanceof nFi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof _S;)for(n.push(i.func.value.name),i=dr(i.parametersValues[0]);i instanceof bS;){if(!(k_(i.functionName,Zgt.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof Y_))return;n[n.length-1]instanceof Y_||n.push(i.parametersValues[1]?.genericType?.value.rawType),i=dr(i.parametersValues[0])}n=n.reverse();const r=[],s=[];for(let e=0;e<n.length;e++){const t=dr(n[e]),i=e>0?dr(r[e-1]):"";if(t instanceof Y_)$w(t).concat(t).forEach(e=>s.push(NUi(i,e.path))),r.push(NUi(i,t.path));else{const e=RUi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}else t instanceof iFi&&e.push(t.column.name)}),Array.from(new Set(e).values())}get fetchStructureValidationIssues(){const e=[],t=this.projectionColumns.some(e=>0===e.columnName.length);t&&e.push("Query has projection column with no name");const n=this.aggregationState.columns.some(e=>e.calendarFunction&&void 0===e.calendarFunction.dateColumn);n&&e.push("Query has calendar function with no date column specified");const i=this.projectionColumns.some(e=>this.projectionColumns.filter(t=>t.columnName===e.columnName).length>1);i&&e.push("Query has duplicated projection columns");const r=this.projectionColumns.some(e=>this.windowState.windowColumns.filter(t=>t.columnName===e.columnName).length>0);r&&e.push("Query has duplicated projection/window columns");return 0===this.projectionColumns.length&&this.queryBuilderState.changeHistoryState.canUndo&&e.push("Query has no projection columns"),this.projectionColumns.forEach(t=>{t instanceof nFi&&t.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid)&&e.push(`Derived property parameter value for ${t.propertyExpressionState.title} is missing`)}),this.aggregationState.allValidationIssues.forEach(t=>e.push(t)),e}get allValidationIssues(){return[...this.fetchStructureValidationIssues,...this.windowState.windowValidationIssues,...this.postFilterState.allValidationIssues]}get isQueryOptionsSet(){return void 0!==this.resultSetModifierState.limit||this.queryBuilderState.milestoningState.isMilestonedQuery||void 0!==this.resultSetModifierState.slice||this.resultSetModifierState.sortColumns.length>0||this.resultSetModifierState.distinct}get tdsColumns(){const e=this.aggregationState.columns.map(e=>e.projectionColumnState),t=this.projectionColumns.filter(t=>!e.includes(t));return[...this.aggregationState.columns,...t,...this.windowState.windowColumns]}get exportDataFormatOptions(){return[IVi.CSV]}getExportDataInfo(e){if(e===IVi.CSV)return{contentType:exports.ContentType.TEXT_CSV,serializationFormat:exports.EXECUTION_SERIALIZATION_FORMAT.CSV};throw new yi(`Unsupported TDS export type ${e}`)}isDuplicateColumn(e){return this.tdsColumns.filter(t=>t.columnName===e.columnName).length>1}initialize(){this.queryBuilderState.filterState.setShowPanel(!0),this.setShowPostFilterPanel(!1),this.setShowWindowFuncPanel(!1)}initializeWithQuery(){this.fetchDerivedReturnTypes().catch(this.queryBuilderState.applicationStore.alertUnhandledError)}isColumnInUse(e){return Boolean([...this.postFilterState.referencedTDSColumns,...this.windowState.referencedTDSColumns].find(t=>t instanceof aFi?e instanceof aFi?e===t:t.projectionColumnState===e:t===e))}onClassChange(){}appendFetchStructure(e,t){hVi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setUseColFunc(e){this.useColFunc=e}*convertDerivationProjectionObjects(){const e=new Map,t=new Map;if(this.derivations.forEach(n=>{tj(n.lambda)||(e.set(n.derivationLambdaEditorState.lambdaId,n.lambda),t.set(n.derivationLambdaEditorState.lambdaId,n))}),e.size){this.isConvertDerivationProjectionObjects=!0;try{(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(e)).forEach((e,n)=>{const i=t.get(n);i?.derivationLambdaEditorState.setLambdaString(i.derivationLambdaEditorState.extractLambdaString(e))})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=xft([e.lambdaParameterName],[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new sFi(this,fr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),nS));n.setColumnName(e.columnName),this.replaceColumn(e,n),n.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}transformRelationColumnProjectionToDerivation(e){const t=e.column,n=new yS(t.name);n.func=t,n.parametersValues=[new oS(e.lambdaParameterName,T_.ONE,void 0)];const i=xft([e.lambdaParameterName],[n],this.queryBuilderState.graphManagerState.graph),r=new sFi(this,fr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(i,this.queryBuilderState.graphManagerState.graph),nS));r.setColumnName(e.columnName),this.replaceColumn(e,r),r.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}replaceColumn(e,t){const n=this.aggregationState.columns.find(t=>t.projectionColumnState===e);n&&n.setColumnState(t);const i=this.resultSetModifierState.sortColumns.find(t=>t.columnState===e);i&&i.setColumnState(t),Wr(this.projectionColumns,e,t)}removeAllColumns(){this.projectionColumns=[],this.aggregationState.columns=[]}removeColumn(e){$r(this.projectionColumns,e);const t=this.aggregationState.columns.find(t=>t.projectionColumnState===e);t&&this.aggregationState.removeColumn(t),this.resultSetModifierState.updateSortColumns()}addColumn(e,t){jr(this.projectionColumns,e),t?.skipSorting||(this.projectionColumns=this.projectionColumns.toSorted((e,t)=>(this.aggregationState.columns.find(t=>t.projectionColumnState===e)?1:0)-(this.aggregationState.columns.find(e=>e.projectionColumnState===t)?1:0)))}moveColumn(e,t){if(e<0||e>=this.projectionColumns.length||t<0||t>=this.projectionColumns.length)return;const n=dr(this.projectionColumns[e]),i=ei(this.projectionColumns,e=>!this.aggregationState.columns.find(t=>t.projectionColumnState===e)),r=i?this.projectionColumns.lastIndexOf(i):0;t=this.aggregationState.columns.find(e=>e.projectionColumnState===n)?Math.max(t,Math.min(r+1,this.projectionColumns.length-1)):Math.min(t,r),this.projectionColumns.splice(e,1),this.projectionColumns.splice(t,0,n)}addNewBlankDerivation(){const e=new sFi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${Hgt}${Hb}''`)}revealCompilationError(e){const t=$ee(e.sourceInformation);if(t&&3===t.length&&t[0]===Pgt.QUERY_BUILDER&&t[1]===Pgt.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof sFi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new nFi(this,PUi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new nFi(this,PUi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))})}checkBeforeClearingColumns(e){this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"You will be clearing all projection columns. Do you still want to proceed?",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Apt.PROCEED,default:!0}]})}checkBeforeChangingImplementation(e){this.projectionColumns.length>0?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:this.showPostFilterPanel&&this.postFilterState.nodes.size>0?"With graph-fetch mode, post filter is not supported. Current projection columns and post filters will be lost when switching to the graph-fetch mode. Do you still want to proceed?":"Current projection columns will be lost when switching to the graph-fetch mode. Do you still want to proceed?",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Apt.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(pr(sFi)).length)return!1;const n=t.filter(pr(nFi)).find(t=>t.isVariableUsed(e)),i=this.postFilterState.isVariableUsed(e);return Boolean(n??i)}get hasInvalidFilterValues(){return this.postFilterState.hasInvalidFilterValues||this.postFilterState.hasInvalidDerivedPropertyParameters}get hasInvalidDerivedPropertyParameters(){return this.projectionColumns.some(e=>e instanceof nFi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}getParameters(){return this.queryBuilderState.parametersState.parameterStates.map(e=>this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.parameter))}getLetExpressions(){return this.queryBuilderState.constantState.constants.map(e=>e.buildLetExpression()).map(e=>this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e))}get hashCode(){return mv([Ift.PROJECTION_STATE,mv(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState,this.windowState])}*fetchDerivedReturnTypes(){try{const e=this.queryBuilderState.graphManagerState.graph,t=this.projectionColumns.filter(pr(sFi));if(0===t.length)return;const n=this.queryBuilderState.sourceElement;if(n instanceof Y_){const n=new Map;t.forEach(e=>n.set(e.columnName,e.getIsolatedClassRawLambda()));const i=yield this.queryBuilderState.graphManagerState.graphManager.getLambdasReturnType(n,e);Array.from(i.results.entries()).forEach(e=>{const n=t.find(t=>t.columnName===e[0]);n&&n.setLambdaReturnType(e[1])})}else if(n instanceof l$){const i=new Map;t.forEach(e=>i.set(e.columnName,e.lambda));const r=QPi(e,this.queryBuilderState.graphManagerState,n,i),s=JPi(r,this.getParameters(),this.getLetExpressions()),o=yield this.queryBuilderState.graphManagerState.graphManager.getLambdaRelationType(s,e);t.forEach(e=>{const t=o.columns.find(t=>t.name===e.columnName);t&&e.setLambdaReturnType(t.type)})}}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.info(Hy.create("Unable to fetch derived return types"),e)}}}var kVi;!function(e){e.COUNT="Count",e.DISTINCT_COUNT="Distinct Count",e.SUM="Sum",e.MIN="Min",e.MAX="Max",e.AVERAGE="Average",e.STD_DEV_POPULATION="Std Dev (Population)",e.STD_DEV_SAMPLE="Std Dev (Sample)"}(kVi||(kVi={}));const OVi=[[kVi.COUNT,hFi],[kVi.DISTINCT_COUNT,pFi],[kVi.SUM,yFi],[kVi.MIN,fFi],[kVi.MAX,gFi],[kVi.AVERAGE,dFi],[kVi.STD_DEV_POPULATION,mFi],[kVi.STD_DEV_SAMPLE,vFi]],LVi=(e,t,n)=>{const i=new nFi(e,t,!1);return i.setColumnName(n),i};class MVi extends Fb{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),hd(this,{includeSubTypes:Rc,includeDocumentation:Rc,setIncludeSubTypes:Pu,setIncludeDocumentation:Pu})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const PVi=e=>{const{taggedValues:t}=e,[i,r]=n.useState(!1),s=e=>{e.stopPropagation(),r(!i)},o=e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_,a=t.filter(e=>o(e)).map(e=>e.value),l=t.filter(e=>!o(e)),c=e=>Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return Une.jsx("div",{children:l.length>0?Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),Une.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>Une.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&Une.jsx("button",{className:"btn btn--dark query-builder__tooltip__taggedValues__show-btn",onClick:s,title:"Toggle button to show more/less",children:i?"Show Less":"Show More"})]},`${e.tag.ownerReference.value.name}.${e.value}`)),t.slice(1,3).map(e=>c(e)),i&&t.slice(3).map(e=>c(e))]})]}):Une.jsx(Une.Fragment,{children:Boolean(a.length)&&Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},FVi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return Une.jsx(Bve,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:Une.jsx("div",{children:Une.jsx(hCe,{arrow:!0,...void 0!==r?{placement:r}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:a,onClose:()=>l(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:Une.jsxs("div",{className:"query-builder__tooltip__content",children:[Une.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:Une.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},BVi=e=>{const{title:t,property:n,path:i,isMapped:r,children:s,placement:o,type:a,explorerState:l}=e,c=[{label:"Type",value:a?.path??n.genericType.value.rawType.path},{label:"Path",value:i,actionButton:l?Une.jsx("div",{className:"query-builder__tooltip__item__action",children:Une.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:Une.jsx(tse,{})})}):void 0},{label:"Multiplicity",value:tE(n.multiplicity)},{label:"Derived Property",value:n instanceof uC?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return Une.jsx(FVi,{title:t,data:c,placement:o,footerElement:Une.jsx(PVi,{taggedValues:n.taggedValues}),children:s})},VVi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return Une.jsx(FVi,{title:t,data:s,placement:i,children:n})};var UVi;!function(e){e.LAMBDA_EDITOR__EDITOR_INPUT="lambda-editor__editor__input",e.QUERY_BUILDER="query__builder",e.QUERY_BUILDER_ACTIONS="query__builder__actions",e.QUERY_BUILDER_SETUP="query__builder__setup",e.QUERY_BUILDER_FETCH_STRUCTURE="query__builder__fetch__structure",e.QUERY_BUILDER_TDS_PROJECTION="query__builder__tds__projection",e.QUERY_BUILDER_TDS="query__builder__tds",e.QUERY_BUILDER_TDS_PROJECTION_COLUMN="QUERY_BUILDER_TDS_PROJECTION_COLUMN",e.QUERY_BUILDER_GRAPH_FETCH="query__builder__graph__fetch",e.QUERY_BUILDER_FILTER_PANEL="query__builder__filter__panel",e.QUERY_BUILDER_FILTER_TREE="query__builder__filter__tree",e.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK="query__builder__filter__tree__node-block",e.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN="query__builder__filter__tree__node-children",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER="query__builder__filter__tree__node-container",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT="query__builder__filter__tree__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT="query__builder__filter__tree__condition__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE="query-builder-filter-tree__condition-node__value",e.QUERY_BUILDER_POST_FILTER_PANEL="query__builder__post__filter-panel",e.QUERY_BUILDER_POST_FILTER_TREE="query__builder__post__filter__tree",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_BLOCK="query__builder__post__filter__tree__node-block",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CHILDREN="query__builder__post__filter__tree__node-children",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTAINER="query__builder__post__filter__tree__node-container",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTENT="query__builder__post__filter__tree__node-content",e.QUERY_BUILDER_WINDOW_GROUPBY="query__builder__window",e.QUERY_BUILDER_EXPLORER="query__builder__explorer",e.QUERY_BUILDER_PROPERTY_SEARCH_PANEL="query__builder__property__search__panel",e.QUERY_BUILDER_PERCENTILE_PANEL="query__builder__percentile__panel",e.QUERY_BUILDER_WAVG_DROPZONE="query__builder__wavg__dropzone",e.QUERY_BUILDER_PREVIEW_DATA_MODAL="query__builder__preview-data__modal",e.QUERY_BUILDER_PARAMETERS="query-builder__parameters",e.QUERY_BUILDER_CONSTANTS="query-builder__constants",e.QUERY_BUILDER_FUNCTIONS="query-builder__functions",e.QUERY_BUILDER_TOOLTIP_ICON="query-builder__tooltip__icon",e.QUERY_BUILDER_RESULT_VALUES="QUERY_BUILDER_RESULT_VALUES",e.QUERY_BUILDER_RESULT_VALUES_TDS="QUERY_BUILDER_RESULT_VALUES_TDS",e.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT="query-builder__tds__result-modifier-prompt",e.QUERY_BUILDER_RESULT_PANEL="query__builder__result__panel",e.QUERY_BUILDER_RESULT_ANALYTICS="query__builder__result__analytics",e.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER="query__builder__result__grid__custom-header",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL="query__builder__result__modifier__panel",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL_SORT_REMOVE_BTN="query__builder__projection__options__sort__remove-btn",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL__WATERMAKR="query__builder__result__modifier__panel__watermark",e.QUERY_BUILDER_TEMPLATE_QUERY_PANE="query__builder__template__query__panel"}(UVi||(UVi={}));const GVi=e=>({label:e.name,value:e}),HVi=e=>Hw(e)?"system element":Gw(e)?"generated element":Uw(e)?"dependency element":void 0,zVi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>Hw(e)?"system":Gw(e)?"generated":Uw(e)?"dependency":"")(t.value);return Une.jsxs("div",{className:i,children:[Une.jsx("div",{title:HVi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),Une.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&Une.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},jVi=e=>e instanceof B_||e instanceof V_?Une.jsx(NEe,{}):e instanceof Y_?Une.jsx(IEe,{}):e instanceof J_?Une.jsx(DEe,{}):e instanceof oC?Une.jsx(kEe,{}):e instanceof sC?Une.jsx(OEe,{}):Une.jsx(FEe,{}),WVi=e=>{const{_class:t,children:n,placement:i}=e;return Une.jsx(hCe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:Une.jsxs("div",{className:"query-builder__tooltip__content",children:[Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Une.jsx(PVi,{taggedValues:t.taggedValues})]}),children:n})},$Vi=e=>e instanceof c$?Une.jsx(PEe,{}):e instanceof u$?Une.jsx(BEe,{}):e instanceof d$?Une.jsx(MEe,{}):Une.jsx(FEe,{}),qVi=e=>[e.accessorOwner,e.schema,e.accessor].filter(cr).join("."),YVi=Lse(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i,accessor:r}=e,s=n.fetchStructureState.implementation instanceof DVi?n.fetchStructureState.implementation:void 0;return Une.jsxs(OPe,{ref:t,children:[i instanceof MUi&&Une.jsx(LPe,{onClick:()=>{s&&i instanceof MUi&&s.addColumn(new iFi(s,i.column,!0))},children:"Add Column to Fetch Structure"}),i instanceof LUi&&Une.jsx(LPe,{onClick:()=>{s&&r.relationType.columns.forEach(e=>{s.addColumn(new iFi(s,e,!0))})},children:"Add Columns to Fetch Structure"})]})})),KVi=Lse(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a,accessor:l}=o,c=t instanceof LUi,u=t instanceof MUi,[d,h]=n.useState(!1),[,p,g]=XBe(()=>({type:AUi.RELATION_COLUMN,item:()=>({node:t})}),[t]),f=n.useRef(null);u&&p(f),NVe(g);const m=a.explorerState,v=u&&m.humanizePropertyName?vm(t.label):t.label,y=()=>s?.(t),b=()=>h(!0),_=()=>h(!1);if(c){const e=!0===t.isOpen?Une.jsx(qre,{}):Une.jsx(Kre,{});return Une.jsx(BPe,{content:Une.jsx(YVi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:Une.jsxs("div",{className:Bse("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":d,"query-builder-explorer-tree__node__container--highlighted":m.highlightUsedProperties&&eUi(t,a)}),onClick:y,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Une.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:e}),Une.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:$Vi(l)})]}),Une.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),Une.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:Une.jsx(hCe,{arrow:!0,classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:Une.jsxs("div",{className:"query-builder__tooltip__content",children:[Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:l.accessorOwnerLabel})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:qVi(l)})]})]}),children:Une.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":UVi.QUERY_BUILDER_TOOLTIP_ICON,children:Une.jsx(_re,{})})})})]})})}const C=u?t:void 0,S=u?aUi(t.type):void 0,w=C?(e=>{const t=e.genericType.value.rawType.name,n=e.genericType.value.typeVariableValues;if(n&&n.length>0){const e=n.map(e=>e instanceof aS?e.values[0]:void 0).filter(cr);if(e.length>0)return`${t}(${e.join(", ")})`}return t})(C.column):t.type.path;return Une.jsx(BPe,{content:Une.jsx(YVi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:Une.jsxs("div",{className:Bse("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":d,"query-builder-explorer-tree__node__container--highlighted":m.highlightUsedProperties&&eUi(t,a)}),onClick:y,ref:f,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Une.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:Une.jsx("div",{})}),Une.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:S})]}),Une.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:v}),Une.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:Une.jsx(FVi,{title:v,data:[{label:"Type",value:w},{label:"Column",value:t.label}],children:Une.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":UVi.QUERY_BUILDER_TOOLTIP_ICON,children:Une.jsx(_re,{})})})})]})})}),XVi=Lse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o,components:a}=e;return Une.jsxs("div",{className:"tree-view__node__block",children:[Une.jsx(KVi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>Une.jsx(XVi,{node:e,level:n+1,components:a,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]})}),ZVi=Lse(e=>{const{queryBuilderState:t,accessor:i}=e,r=n.useMemo(()=>(e=>{const t=[],n=new Map,i=[];e.relationType.columns.forEach(e=>{const t=e.genericType.value.rawType,r=new MUi(e.name,e.name,e.name,e,t,{mapped:!0});i.push(r.id),n.set(r.id,r)});const r=new LUi("__relation_root__",e.accessor,e.accessor,!1,e.relationType,{mapped:!0},i);return r.setIsOpen(!0),t.push(r.id),n.set(r.id,r),{rootIds:t,nodes:n}})(i),[i]);return Une.jsx(Kke,{components:{TreeNodeContainer:KVi,TreeNodeView:XVi},className:"query-builder-explorer-tree__root",treeData:r,onNodeSelect:e=>{e instanceof LUi&&e.setIsOpen(!e.isOpen)},getChildNodes:e=>e instanceof LUi?e.childrenIds.map(e=>r.nodes.get(e)).filter(cr):[],innerProps:{queryBuilderState:t,accessor:i}})}),QVi=Lse(e=>{const{queryBuilderState:t,accessor:n}=e;return Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_EXPLORER,className:"panel query-builder__explorer",children:[Une.jsx(WPe,{title:"columns"}),Une.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[Une.jsx(IVe,{labelGetter:e=>{const n=e.node;return t.explorerState.humanizePropertyName?vm(n.label):n.label},types:[AUi.RELATION_COLUMN]}),0===n.relationType.columns.length?Une.jsx(sFe,{children:"No columns"}):Une.jsx(ZVi,{queryBuilderState:t,accessor:n})]})]})}),JVi=(e,t,n)=>{if(e.type instanceof Y_&&rE(e.type,t))return!0;if(e instanceof kUi&&rE(e.property,t))return!0;if(e instanceof OUi){const i=n.nodes.get(e.parentId);if(i?.type instanceof Y_&&rE(i.type,t))return!0}return!1},eUi=(e,t)=>{if(e instanceof DUi&&t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.length>0)return!0;const n=e.id.replaceAll(/(?:@[^.]+)+/g,e=>{const t=e.split(Wb);return`${Wb}${t[t.length-1]}`});return t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.includes(n)},tUi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return Une.jsx(Bve,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:Une.jsx("div",{children:Une.jsx(hCe,{arrow:!0,...void 0!==o?{placement:o}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:l,onClose:()=>c(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:Une.jsxs("div",{className:"query-builder__tooltip__content",children:[Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:tE(a)})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),Une.jsx(PVi,{taggedValues:t.taggedValues})]}),children:Une.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},nUi=Lse(e=>{const{queryBuilderState:t}=e,n=t.applicationStore,i=t.explorerState.previewDataState,r=()=>{i.previewDataAbortController&&(i.previewDataAbortController.abort(),i.setPreviewDataAbortController(void 0)),i.setIsGeneratingPreviewData(!1),i.setPreviewData(void 0)};return Une.jsx(cye,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:Une.jsxs(EPe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[Une.jsx(TPe,{title:vm(i.propertyName)}),Une.jsx(lFe,{isLoading:i.isGeneratingPreviewData}),Une.jsxs(RPe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&Une.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&Une.jsxs("table",{className:"table",children:[Une.jsx("thead",{children:Une.jsx("tr",{children:i.previewData.columns.map((e,t)=>Une.jsx("th",{className:"table__cell--left",children:e},t))})}),Une.jsx("tbody",{children:i.previewData.rows.map((e,t)=>Une.jsx("tr",{children:e.values.map((e,t)=>Une.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),Une.jsx(NPe,{children:Une.jsx(DPe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),iUi=Lse(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return Une.jsxs(OPe,{ref:t,children:[r instanceof kUi&&!(r.type instanceof Y_)&&Une.jsx(LPe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof Y_&&Une.jsx(LPe,{onClick:()=>{if(i(),r.type instanceof Y_){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(kUi)).filter(e=>!(e.type instanceof Y_)&&e.mappingData.mapped).filter(e=>{const t=PUi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof DVi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof nFi)return n.propertyExpressionState.path===e.id&&n.columnName===WPi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),rUi=new Set([N_(Zb.VARCHAR)]),sUi=new Set([N_(Zb.INT),N_(Zb.TINY_INT),N_(Zb.U_TINY_INT),N_(Zb.SMALL_INT),N_(Zb.U_SMALL_INT),N_(Zb.U_INT),N_(Zb.BIG_INT),N_(Zb.U_BIG_INT),N_(Zb.FLOAT),N_(Zb.DOUBLE),N_(Zb.NUMERIC),N_(Zb.DECIMAL)]),oUi=new Set([N_(Zb.TIMESTAMP),N_(Zb.STRICTDATE),N_(Zb.DATETIME),N_(Zb.STRICTTIME)]),aUi=e=>{if(e instanceof B_||e instanceof B_){const t=Sft(e)??e.path;if(t===Xb.STRING)return Une.jsx(oie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(t===Xb.BOOLEAN)return Une.jsx(Vre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__boolean"});if(t===Xb.NUMBER||t===Xb.INTEGER||t===Xb.FLOAT||t===Xb.DECIMAL)return Une.jsx(bre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return Une.jsx(Jie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}else if(e instanceof V_){if(rUi.has(e.name))return Une.jsx(oie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(sUi.has(e.name))return Une.jsx(bre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(oUi.has(e.name))return Une.jsx(Jie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return jVi(e)},lUi=Lse(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),u=Wht(),d=a.explorerState,[,h,p]=XBe(()=>({type:t instanceof kUi?t.type instanceof J_?AUi.ENUM_PROPERTY:t.type instanceof Y_?AUi.CLASS_PROPERTY:AUi.PRIMITIVE_PROPERTY:AUi.ROOT,item:()=>t instanceof kUi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),NVe(p);const f=Boolean(t.childrenIds.length),m=t instanceof kUi&&t.property instanceof uC,v=t instanceof kUi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof OUi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),y=t.mappingData.mapped&&t instanceof kUi&&t.type instanceof B_&&!t.isPartOfDerivedPropertyBranch,b=f?t.isOpen?Une.jsx(qre,{}):Une.jsx(Kre,{}):Une.jsx("div",{}),_=d.humanizePropertyName?t instanceof OUi?Wb+vm(t.label):vm(t.label):t instanceof OUi?Wb+t.label:t.label;return t.mappingData.mapped||t instanceof DUi||d.showUnmappedProperties?Une.jsx(BPe,{content:Une.jsx(iUi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof kUi||t instanceof DUi)||u.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:Une.jsxs("div",{className:Bse("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":l,"query-builder-explorer-tree__node__container--unmapped":!t.mappingData.mapped,"query-builder-explorer-tree__node__container--selected":t.isSelected,"query-builder-explorer-tree__node__container--highlighted":d.highlightUsedProperties&&eUi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof DUi?"Root class is not mapped":"Property is not mapped",onClick:()=>s?.(t),ref:t.mappingData.mapped&&!f?g:void 0,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[t instanceof DUi&&Une.jsxs(Une.Fragment,{children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Une.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),Une.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Une.jsx(IEe,{})})]}),Une.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),Une.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:a.sourceClass&&Une.jsx(WVi,{_class:a.sourceClass,children:Une.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":UVi.QUERY_BUILDER_TOOLTIP_ICON,children:Une.jsx(_re,{})})})})]}),(t instanceof kUi||t instanceof OUi)&&Une.jsxs(Une.Fragment,{children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[Une.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),Une.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:aUi(t.type)})]}),Une.jsxs("div",{className:Bse("tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",{"query-builder-explorer-tree__node__label--with-preview":y},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[Une.jsx("div",{className:Bse("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":JVi(t,d.queryBuilderState.graphManagerState.graph,d.nonNullableTreeData)}),children:_}),m&&Une.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),v&&Une.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Une.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[y&&Une.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:d.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof kUi&&d.previewData(t).catch(u.alertUnhandledError)},children:Une.jsx(dre,{})}),t instanceof kUi&&Une.jsx(BVi,{title:_,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:Une.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":UVi.QUERY_BUILDER_TOOLTIP_ICON,children:Une.jsx(_re,{})})}),t instanceof OUi&&Une.jsx(tUi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Une.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":UVi.QUERY_BUILDER_TOOLTIP_ICON,children:Une.jsx(_re,{})})})]})]})]})}):null}),cUi=Lse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof DUi||a.explorerState.showUnmappedProperties?Une.jsxs("div",{className:"tree-view__node__block",children:[Une.jsx(lUi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>Une.jsx(cUi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),uUi=e=>e instanceof OUi?0:e.type instanceof Y_?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof J_?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,dUi=Lse(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return Une.jsx(Kke,{components:{TreeNodeContainer:lUi,TreeNodeView:cUi},className:"query-builder-explorer-tree__root",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.setIsOpen(!e.isOpen),n.generateOpenNodeChildren(e))},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(e=>e instanceof OUi||e instanceof kUi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>uUi(t)-uUi(e)),innerProps:{queryBuilderState:t}})}),hUi="query-builder-explorer-search-input",pUi=Lse(n.forwardRef(function(e,t){const{propertySearchState:i}=e;n.useEffect(()=>{i.initializationState.hasSucceeded||i.initializationState.isInProgress||!cr(i.queryBuilderState.explorerState.treeData)||i.initialize().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},[i,i.initializationState,i.queryBuilderState.explorerState.treeData]);const r=n.useMemo(()=>jn(()=>i.search(),100),[i]),s=()=>{i.resetSearch()};return Une.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[Une.jsx("input",{ref:t,name:hUi,className:Bse("query-builder__explorer__property-search__input input--dark",{"query-builder__explorer__property-search__input--searching":i.searchText}),spellCheck:!1,onChange:e=>{(async()=>{i.setSearchText(e.target.value),e.target.value.length>=2?(i.queryBuilderState.explorerState.treeData&&!i.isSearchPanelOpen&&(i.setIsSearchPanelOpen(!0),i.initializationState.hasSucceeded||i.initializationState.isInProgress||await i.initialize()),await r()):i.setIsSearchPanelOpen(!1)})().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},onKeyDown:e=>{"Escape"===e.key&&(s(),i.setIsSearchPanelOpen(!1))},value:i.searchText,placeholder:"One or more terms, ESC to clear"}),i.searchText.length>=2&&Une.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?Une.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:Une.jsx(Bre,{})}):Une.jsx(Une.Fragment,{children:Une.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:Une.jsx(Lre,{})})})]})})),gUi=Lse(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Wht();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_EXPLORER,className:Bse("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[Une.jsxs(WPe,{title:"explorer",children:[Une.jsx(pUi,{propertySearchState:s,ref:i}),Une.jsxs(qPe,{children:[Une.jsx(YPe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof DUi||e.setIsOpen(!1)})},title:"Collapse Tree",children:Une.jsx(tre,{})}),Une.jsx(VPe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{Ggt.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:Une.jsxs(OPe,{children:[Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[Une.jsx(PPe,{children:r.showUnmappedProperties?Une.jsx(Kie,{}):null}),Une.jsx(FPe,{children:"Show Unmapped Properties"})]}),Une.jsxs(LPe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[Une.jsx(PPe,{children:r.humanizePropertyName?Une.jsx(Kie,{}):null}),Une.jsx(FPe,{children:"Humanize Property Name"})]}),Une.jsxs(LPe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[Une.jsx(PPe,{children:r.highlightUsedProperties?Une.jsx(Kie,{}):null}),Une.jsx(FPe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:Une.jsx(aie,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&Une.jsx(xUi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),Une.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[Une.jsx(lFe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),Une.jsx(IVe,{labelGetter:e=>r.humanizePropertyName?vm(e.node.label):e.node.label,types:Object.values(AUi)}),r.mappingModelCoverageAnalysisState.isInProgress?Une.jsx(sFe,{children:r.mappingModelCoverageAnalysisState.message}):Une.jsxs(Une.Fragment,{children:[!r.treeData&&Une.jsx(sFe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&Une.jsx(dUi,{queryBuilderState:t})]}),Une.jsx(nUi,{queryBuilderState:t})]})]})}),fUi=Lse(e=>{const{queryBuilderState:t}=e,n=t.sourceAccessor;return n?Une.jsx(QVi,{queryBuilderState:t,accessor:n}):Une.jsx(gUi,{queryBuilderState:t})}),mUi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=Wht(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Jht(s))?Une.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:Bse("documentation-link",n,{"documentation-link--inline":i}),children:Une.jsx(Ire,{})}):null},vUi=e=>{const{parent:t,canUndo:i,undo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"z"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),Une.jsx("div",{className:"undo-redo",children:Une.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[Une.jsx(Gre,{}),Une.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},yUi=e=>{const{parent:t,canRedo:i,redo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"y"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),Une.jsx("div",{className:"undo-redo",children:Une.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[Une.jsx(kre,{}),Une.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},bUi=(e,t)=>e.split(Wb).map(e=>e.replace(new RegExp(String.raw`.*${Gb}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(vm).join(t?" / ":"/")).join(Wb),_Ui=(e,t)=>{let n=e.split(Wb);n=n.map(e=>e.replace(new RegExp(String.raw`.*${Gb}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${Wb}${e.split(".").map(e=>vm(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=dr(n[n.length-1]).split("."),n=n.map(e=>vm(e)),i=`${i}(${Wb}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},CUi=(e,t,n,i)=>{const r=[];t.split(/\/| /).filter(e=>e.trim().length>0).forEach(t=>{const n=new RegExp(t,"gi");let i;for(;i=n.exec(e);)r.push([i.index,i.index+t.length])});const s=[];if(r.sort((e,t)=>e[0]-t[0]),r.forEach(e=>{if(s.length){const t=s[s.length-1];void 0!==t&&e[0]<=t[1]?t[1]=Math.max(t[1],e[1]):s.push(e)}else s.push(e)}),!s.length)return Une.jsx("span",{children:e});const o=[],a=Gr(s,0)[0];a>0&&o.push(Une.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(Une.jsx("span",{className:`${n}--highlight`,children:e.substring(t[0],t[1])},`${i}-${2*r}-${e.substring(t[0],t[1])}`)),r<s.length-1&&t[1]<e.length){const n=Gr(s,r+1)[0];o.push(Une.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=Gr(s,s.length-1)[1];return l<e.length&&o.push(Une.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},SUi=Lse(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,u]=XBe(()=>({type:t instanceof kUi?t.type instanceof J_?AUi.ENUM_PROPERTY:t.type instanceof Y_?AUi.CLASS_PROPERTY:AUi.PRIMITIVE_PROPERTY:AUi.ROOT,item:()=>t instanceof kUi?{node:t}:{},canDrag:()=>!(t.type instanceof Y_),collect:e=>({isDragging:e.isDragging()})}),[t]),d=n.useRef(null);c(d),NVe(u);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof kUi&&t.parentId===e.id),g=p?.type instanceof Y_&&s>1?vm(t.label):p instanceof OUi?_Ui(t.id,!0):bUi(t.id,!0),f=a?t.isOpen?Une.jsx(qre,{}):Une.jsx(Kre,{}):Une.jsx("div",{}),m=t instanceof kUi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_)?.value??null:null,v=null!==m?CUi(m,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,y=l.isNodeMultiple(t);return Une.jsxs(Une.Fragment,{children:[Une.jsxs("div",{className:"tree-view__node__container query-builder-property-search-panel__node__container",ref:d,style:{paddingLeft:(s-1)*o+.5+"rem",display:"flex"},onClick:()=>t.setIsOpen(!t.isOpen),onDrag:()=>l.setIsSearchPanelHidden(!0),onDragEnd:()=>l.setIsSearchPanelHidden(!1),children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[Une.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:f}),Une.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:aUi(t.type)})]}),Une.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[Une.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[CUi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),y&&Une.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Une.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:v})]}),Une.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof kUi&&Une.jsxs(Une.Fragment,{children:[Une.jsx(BVi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:Une.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Une.jsx(_re,{})})}),Une.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Une.jsx(tse,{})})]}),t instanceof OUi&&Une.jsxs(Une.Fragment,{children:[Une.jsx(tUi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Une.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Une.jsx(_re,{})})}),Une.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Une.jsx(tse,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof kUi||t instanceof OUi)&&t.type instanceof Y_&&(t instanceof OUi?Zw(t.type):Yw(t.type)).forEach(n=>{const r=BUi(n,t,dr(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof Y_||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>Une.jsx(SUi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),wUi=Lse(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return Une.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[Une.jsxs("button",{className:Bse("query-builder-property-search-panel__form__section__toggler__btn",{"query-builder-property-search-panel__form__section__toggler__btn--toggled":i}),onClick:r,tabIndex:-1,children:[i?Une.jsx(Xie,{}):Une.jsx(Pre,{}),Une.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&Une.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),EUi=Lse(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return Une.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Une.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&Une.jsx(hCe,{slotProps:{transition:{timeout:0}},title:Une.jsx("div",{children:n}),children:Une.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:Une.jsx(_re,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>Une.jsx(wUi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),xUi=Lse(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===hUi||(i(),r.setIsSearchPanelOpen(!1))};return Une.jsx(QCe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:Bse("query-builder-property-search-panel__container",{"query-builder-property-search-panel__container--hidden":r.isSearchPanelHidden}),anchorEl:n,onClose:s,hideBackdrop:!0,disableAutoFocus:!0,disableEnforceFocus:!0,anchorOrigin:{vertical:40,horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"center"},children:Une.jsx(Bve,{onClickAway:s,children:Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:Une.jsx("div",{className:"query-builder-property-search-panel__content",children:Une.jsxs(xUe,{orientation:"vertical",children:[Une.jsx(TUe,{size:175,children:Une.jsxs("div",{className:"query-builder-property-search-panel__config",children:[Une.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Une.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",Une.jsx(mUi,{documentationKey:Bpt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),Une.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:Une.jsx(zPe,{className:"query-builder-property-search-panel__search-mode__options",value:r.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;r.searchConfigurationState.setCurrentMode(t)},row:!1,options:[Pb.STANDARD,Pb.INCLUDE,Pb.EXACT,Pb.INVERSE],size:1})})]}),Une.jsx(EUi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),Une.jsx(EUi,{header:"Documentation",headerTooltipText:'Include "doc" type tagged values in search results',buttons:[{label:"Include",enabled:r.searchConfigurationState.includeDocumentation,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeDocumentation(!r.searchConfigurationState.includeDocumentation),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),Une.jsx(EUi,{header:"Sub-types",buttons:[{label:"Include",enabled:r.searchConfigurationState.includeSubTypes,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeSubTypes(!r.searchConfigurationState.includeSubTypes),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),Une.jsx(EUi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(qgt.CLASS),onClick:()=>{r.toggleFilterForType(qgt.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(qgt.ENUMERATION),onClick:()=>{r.toggleFilterForType(qgt.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(qgt.STRING),onClick:()=>{r.toggleFilterForType(qgt.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(qgt.BOOLEAN),onClick:()=>{r.toggleFilterForType(qgt.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(qgt.NUMBER),onClick:()=>{r.toggleFilterForType(qgt.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(qgt.DATE),onClick:()=>{r.toggleFilterForType(qgt.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(qgt.DATE)}}]})]})}),Une.jsx(AUe,{children:Une.jsx(RUe,{color:"var(--color-dark-grey-200)"})}),Une.jsxs(TUe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&Une.jsx(lFe,{isLoading:!0}),Une.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&Une.jsxs(Une.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>Une.jsx(SUi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&Une.jsxs(sFe,{children:[Une.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),Une.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__tips",children:"Tips: Navigate deeper into the explorer tree to improve the scope and accuracy of the search"})]})]}),r.initializationState.isInProgress&&Une.jsx(sFe,{children:"Initializing..."}),r.searchState.isInProgress&&Une.jsx(sFe,{children:"Searching..."})]})]})]})})})})})});class TUi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=Py.create();searchState=Py.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[qgt.CLASS,qgt.ENUMERATION,qgt.STRING,qgt.BOOLEAN,qgt.NUMBER,qgt.DATE];constructor(e){hd(this,{indexedExplorerTreeNodeMap:Rc,searchText:Rc,searchResults:Rc,isOverSearchLimit:Rc,isSearchPanelOpen:Rc,isSearchPanelHidden:Rc,showSearchConfigurationMenu:Rc,includeOneMany:Rc,typeFilters:Rc,indexedExplorerTreeNodes:kc,filteredSearchResults:kc,search:Pu,resetSearch:Pu,setSearchResults:Pu,setIsOverSearchLimit:Pu,setSearchText:Pu,setShowSearchConfigurationMenu:Pu,setIsSearchPanelOpen:Pu,setIsSearchPanelHidden:Pu,setIncludeOneMany:Pu,setFilterOnlyType:Pu,toggleFilterForType:Pu,initialize:Pu}),this.queryBuilderState=e,this.searchConfigurationState=new MVi(async()=>this.search(),this.queryBuilderState.applicationStore.alertUnhandledError),this.searchEngine=new Mb(this.indexedExplorerTreeNodes)}setIsSearchPanelOpen(e){this.isSearchPanelOpen=e}setIsSearchPanelHidden(e){this.isSearchPanelHidden=e}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}setSearchResults(e){this.searchResults=e}setIsOverSearchLimit(e){this.isOverSearchLimit=e}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.indexedExplorerTreeNodes.forEach(e=>{e instanceof DUi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?$r(this.typeFilters,e):jr(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof OUi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof kUi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof kUi||t instanceof OUi?this.indexedExplorerTreeNodeMap.get(t.parentId):void 0}return!1}async search(){return this.searchText||this.setSearchResults([]),this.searchState.inProgress(),this.indexedExplorerTreeNodes.forEach(e=>{e instanceof DUi||e.setIsOpen(!1)}),new Promise(e=>setTimeout(()=>{const t=new Map,n=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText.toLowerCase()),{limit:101}).values()).map(e=>e.item).map(e=>(e.type instanceof Y_&&t.set(e.id,e),e)).filter(e=>!(e instanceof kUi||e instanceof OUi)||!t.has(e.parentId));n.length>100?(this.setIsOverSearchLimit(!0),this.setSearchResults(n.slice(0,100))):(this.setIsOverSearchLimit(!1),this.setSearchResults(n)),this.searchState.complete(),e()},0))}async initialize(){return this.initializationState.inProgress(),new Promise(e=>setTimeout(()=>{const t=this.queryBuilderState.explorerState.nonNullableTreeData,n=new Map(t.rootIds.map(e=>t.nodes.get(e)).filter(cr).map(e=>[e.id,e]));this.indexedExplorerTreeNodeMap=new Map;let i=[],r=[];Array.from(t.rootIds.map(e=>t.nodes.get(e)?.childrenIds.map(e=>t.nodes.get(e))).flat().filter(cr).filter(e=>!(!e.mappingData.mapped||!this.searchConfigurationState.includeSubTypes)||e instanceof kUi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=GUi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>Bu(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=GUi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof kUi||e instanceof OUi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof kUi||t instanceof OUi?this.indexedExplorerTreeNodeMap.get(t.parentId)??n.get(t.parentId):void 0}}return!1};let l=1;for(;i.length&&l<=10;){const e=i.shift();e?.mappingData.mapped&&e.childrenIds.length&&(e instanceof kUi||this.searchConfigurationState.includeSubTypes&&e instanceof OUi)&&e.type instanceof Y_&&((e instanceof OUi?Zw(e.type):Yw(e.type).concat(Kw(e.type))).forEach(t=>{const n=BUi(t,e,dr(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n&&n.mappingData.mapped&&!n.isPartOfDerivedPropertyBranch&&!a(n)&&(r.push(n),o(n))}),this.searchConfigurationState.includeSubTypes&&e.type._subclasses.forEach(t=>{const n=VUi(t,e,dr(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n.mappingData.mapped&&!a(n)&&(r.push(n),o(n))})),!i.length&&this.indexedExplorerTreeNodeMap.size<s&&(i=r,r=[],l++)}this.searchEngine=new Mb(this.indexedExplorerTreeNodes,{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"label",weight:4},{name:"path",weight:2,getFn:e=>{const t=e instanceof kUi||e instanceof OUi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof OUi?_Ui(e.id):bUi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof kUi?e.property.taggedValues.filter(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_).map(e=>e.value).join("\n"):""}]:[]],sortFn:(e,t)=>{if(Math.abs(e.score-t.score)<=.1){const n=e.item[0]&&Object.hasOwn(e.item[0],"v")?e.item[0].v.split("/").length:void 0,i=t.item[0]&&Object.hasOwn(t.item[0],"v")?t.item[0].v.split("/").length:void 0;if(void 0!==n&&void 0!==i)return n-i}return e.score-t.score},useExtendedSearch:!0}),this.initializationState.complete(),e()},0))}get indexedExplorerTreeNodes(){return Array.from(this.indexedExplorerTreeNodeMap.values())}isNodeIncludedInFilter(e){return!(!this.includeOneMany&&this.isNodeMultiple(e))&&(!!(this.typeFilters.includes(qgt.CLASS)&&e.type instanceof Y_)||(!!(this.typeFilters.includes(qgt.ENUMERATION)&&e.type instanceof J_)||(!(!this.typeFilters.includes(qgt.STRING)||e.type!==B_.STRING)||(!!(this.typeFilters.includes(qgt.NUMBER)&&e.type instanceof B_&&[Xb.NUMBER,Xb.DECIMAL,Xb.INTEGER,Xb.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(qgt.BOOLEAN)||e.type!==B_.BOOLEAN)||!!(this.typeFilters.includes(qgt.DATE)&&e.type instanceof B_&&[Xb.DATE,Xb.DATETIME,Xb.STRICTDATE,Xb.STRICTTIME,Xb.LATESTDATE].includes(e.type.name)))))))}get filteredSearchResults(){return this.searchResults.filter(e=>this.isNodeIncludedInFilter(e))}}var AUi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY",e.RELATION_COLUMN="RELATION_COLUMN"}(AUi||(AUi={}));const RUi=(e,t)=>`${e?`${e}.`:""}${t}`,NUi=(e,t)=>`${e||""}${Wb}${t}`;class IUi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){hd(this,{isHighlighting:Rc,isOpen:Rc,isSelected:Rc,setIsHighlighting:Pu,setIsOpen:Pu,setIsSelected:Pu}),this.id=e,this.label=t,this.dndText=i,this.isPartOfDerivedPropertyBranch=r,this.type=s,this.mappingData=o,a&&(this.childrenIds=a),this.elementRef=n.createRef()}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}setIsHighlighting(e){this.isHighlighting=e}}class DUi extends IUi{}class kUi extends IUi{property;parentId;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,a??i.genericType.value.rawType,o,l),this.property=i,this.parentId=r}}class OUi extends IUi{subclass;parentId;multiplicity;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,i,o,l),this.subclass=i,this.parentId=r,this.multiplicity=a}}class LUi extends IUi{}class MUi extends IUi{column;constructor(e,t,n,i,r,s){super(e,t,n,!1,r,s),this.column=i}}const PUi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new oS(n??Hgt,T_.ONE),o=new _S("");uft(o,pC.create(dr(e.property)));let a=o,l=i.nodes.get(e.parentId)??r.find(t=>t.id===e.parentId),c=e;for(;c&&(l instanceof kUi||l instanceof OUi);){if(l instanceof OUi&&c instanceof OUi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof OUi?e=new bS(N_(Zgt.SUBTYPE)):l instanceof kUi&&l.mappingData.entityMappedProperty?.subType?(e=new bS(N_(Zgt.SUBTYPE)),a.parametersValues.push(e),a=e,e=new _S(""),uft(e,pC.create(dr(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new _S(""),uft(e,pC.create(dr(l.property)))),a.parametersValues.push(e),a instanceof bS&&k_(a.functionName,Zgt.SUBTYPE)){const e=new aS(T_.ONE,G_.create(new q_(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof kUi||l instanceof OUi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof kUi||c instanceof OUi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof bS){const e=new aS(T_.ONE,G_.create(new q_(c.type)));a.parametersValues.push(e)}return o},FUi=e=>{const t=e.type,n=(e instanceof OUi?Zw(t):Yw(t).concat(Kw(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${Wb}${t.path}`);return n.concat(i)},BUi=(e,t,n)=>{const i=((e,t,n)=>{if(t.mappedEntity){const i=t.mappedEntity.__PROPERTIES_INDEX.get(e.name);return(e.genericType.value.rawType instanceof Y_||e.genericType.value.rawType instanceof eC)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof IQ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof IQ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof uC||t.isPartOfDerivedPropertyBranch||t instanceof kUi&&t.property instanceof uC;if(e instanceof Z_&&t instanceof kUi&&t.property instanceof Z_&&e._OWNER instanceof Q_&&t.property._OWNER instanceof Q_&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof Y_?qw(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new kUi(o?NUi(RUi(t instanceof DUi?"":t.id,e.name),o.path):RUi(t instanceof DUi?"":t.id,e.name),e.name,`${t instanceof DUi?`${jb}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=RUi(t instanceof DUi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof Y_&&(a.childrenIds=FUi(a)),a},VUi=(e,t,n)=>{const i=new OUi(NUi(t instanceof DUi?"":t.id,e.path),e.name,""+(t instanceof DUi?`${jb}${Hgt}->${N_(Zgt.SUBTYPE)}(${Wb}${e.path})`:`${t.dndText}->${N_(Zgt.SUBTYPE)}(${Wb}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=qw(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof IQ&&e.subType&&i.includes(e.subType)));if(e)return{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(e.entityPath)};if(i.includes(t.mappedEntity.path)||r&&i.includes(r))return{mapped:!0,mappedEntity:t.mappedEntity}}return{mapped:!1}})(e,t.mappingData,n),t instanceof kUi?t.property.multiplicity:t instanceof OUi?t.multiplicity:T_.ONE);return i.childrenIds=FUi(i),i},UUi=(e,t)=>{const n=[],i=new Map,r=((e,t)=>{const n=t.__ENTITIES_INDEX.get(e.path);return{mapped:Boolean(n),mappedEntity:n}})(e,t),s=new DUi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),Yw(e).concat(Kw(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof Y_?2:t instanceof J_?1:0)-(e instanceof Y_?2:e instanceof J_?1:0)).forEach(e=>{const n=BUi(e,s,t);n&&(jr(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=VUi(e,s,t);jr(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},GUi=e=>{if(e instanceof DUi)return new DUi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof kUi)return new kUi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof OUi)return new OUi(e.id,e.label,e.dndText,e.subclass,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.multiplicity,e.childrenIds);throw new yi(`Unable to clone node of type ${e.constructor.name}`)};class HUi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){hd(this,{previewData:Rc.ref,isGeneratingPreviewData:Rc,propertyName:Rc,previewDataAbortController:Rc,setPropertyName:Pu,setIsGeneratingPreviewData:Pu,setPreviewData:Pu,setPreviewDataAbortController:Pu})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class zUi{queryBuilderState;previewDataState=new HUi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=Py.create();mappingModelCoverageAnalysisResult;constructor(e){hd(this,{treeData:Rc.ref,humanizePropertyName:Rc,showUnmappedProperties:Rc,highlightUsedProperties:Rc,mappingModelCoverageAnalysisResult:Rc,setTreeData:Pu,refreshTree:Pu,refreshTreeData:Pu,setHumanizePropertyName:Pu,setShowUnmappedProperties:Pu,setHighlightUsedProperties:Pu,highlightTreeNode:Pu,analyzeMappingModelCoverage:Ju,previewData:Ju}),this.queryBuilderState=e,this.propertySearchState=new TUi(this.queryBuilderState)}get nonNullableTreeData(){return dr(this.treeData,"Query builder explorer tree data has not been initialized")}setTreeData(e){this.treeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData})}setHumanizePropertyName(e){this.humanizePropertyName=e}setShowUnmappedProperties(e){this.showUnmappedProperties=e}setHighlightUsedProperties(e){this.highlightUsedProperties=e}refreshTreeData(){const e=this.queryBuilderState.sourceClass,t=this.queryBuilderState.executionContextState.mapping;this.setTreeData(e&&t&&this.mappingModelCoverageAnalysisResult?UUi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof kUi||e instanceof OUi)&&e.type instanceof Y_&&((e instanceof OUi?Zw(e.type):Yw(e.type).concat(Kw(e.type))).forEach(t=>{const n=BUi(t,e,dr(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=VUi(t,e,dr(this.mappingModelCoverageAnalysisResult));this.nonNullableTreeData.nodes.set(n.id,n)}),this.refreshTree())}highlightTreeNode(e){if(void 0===this.nonNullableTreeData.nodes.get(e)){const t=e.split("@").map(e=>e.split("."));t.length>0&&void 0!==t[t.length-1]&&Gr(t,t.length-1).pop();let n="";t.forEach(e=>{e.forEach((e,t)=>{n+=`${t>0?".":""}${e}`;const i=this.nonNullableTreeData.nodes.get(n);i&&(i.setIsOpen(!0),this.generateOpenNodeChildren(i))}),n+="@"})}const t=this.nonNullableTreeData.nodes.get(e);if(t instanceof kUi||t instanceof OUi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof kUi||e instanceof OUi?this.nonNullableTreeData.nodes.get(e.parentId)??null:null;t.setIsHighlighting(!0),setTimeout(()=>{t.elementRef.current?.scrollIntoView()},0)}}*analyzeMappingModelCoverage(){if(this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.mapping.path!==this.mappingModelCoverageAnalysisResult?.mapping.path){this.mappingModelCoverageAnalysisState.inProgress(),Ggt.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new Fy,t=d5(this.queryBuilderState.graphManagerState.graph);this.mappingModelCoverageAnalysisState.setMessage("Analyzing Mapping...");try{this.mappingModelCoverageAnalysisResult=yield this.queryBuilderState.graphManagerState.graphManager.analyzeMappingModelCoverage(this.queryBuilderState.executionContextState.mapping,this.queryBuilderState.graphManagerState.graph),this.refreshTreeData(),t.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t.timings);const n=Object.assign({},t,this.queryBuilderState.getStateInfo());Ggt.logEvent_QueryMappingModelCoverageAnalysisSucceeded(this.queryBuilderState.applicationStore.telemetryService,n)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}finally{this.mappingModelCoverageAnalysisState.complete()}}}*previewData(e){const t=this.queryBuilderState.executionContextState.runtimeValue;if(!t)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': runtime is not specified`);if(!e.mappingData.mapped||!this.queryBuilderState.sourceClass||!this.queryBuilderState.executionContextState.mapping)return;if(this.previewDataState.isGeneratingPreviewData)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': another preview request is being executed`);this.previewDataState.setPropertyName(e.property.name),this.previewDataState.setIsGeneratingPreviewData(!0);const n=PUi(e,this),i=e.property.genericType.value.rawType;this.previewDataState.setPreviewDataAbortController(new AbortController);try{switch(i.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=fr(n.fetchStructureState.implementation,DVi),r=i.aggregationState;return OVi.forEach(e=>{const n=LVi(i,t,e[0]);i.projectionColumns.push(n);const s=dr(r.operators.find(t=>t instanceof e[1]));r.changeColumnAggregateOperator(s,n,!0)}),n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;gr(e,NX,"Unexpected preview data format");const i=e.result,r={columns:["Aggregation","Value"],rows:i.columns.map((e,t)=>({values:[e,dr(i.rows[0]).values[t]]}))};this.previewDataState.setPreviewData(r);break}case Xb.BOOLEAN:case Xb.STRING:case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=fr(n.fetchStructureState.implementation,DVi),r=LVi(i,t,"Value"),s=LVi(i,t,"Count");i.projectionColumns=[r,s];const o=dr(i.aggregationState.operators.find(e=>e instanceof hFi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new bFi(s);return a.sortType=Jgt.DESC,i.resultSetModifierState.sortColumns=[a,new bFi(r)],n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;gr(e,NX,"Unexpected preview data format"),this.previewDataState.setPreviewData(e.result);break}default:throw new yi(`No preview support for property of type '${i.path}'`)}}catch(t){if(bi(t),"AbortError"===t.name)return;this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}'. Error: ${t.message}`),this.previewDataState.setPreviewData(void 0)}finally{this.previewDataState.setIsGeneratingPreviewData(!1),this.previewDataState.setPreviewDataAbortController(void 0)}}}var jUi="4.18.6",WUi={applicationPlugin:"@finos/legend-application-plugin-query-builder",graphManagerPreset:"@finos/legend-graph-manager-preset-query-builder",pureProtocolProcessorPlugin:"@finos/legend-pure-protocol-processor-plugin-query-builder",pureGraphManagerPlugin:"@finos/legend-pure-graph-manager-plugin-query-builder"};const $Ui=(e,t,n,i)=>{gr(e,Gx,"Can't build projection column: only support lambda"),br(1===e.parameters.length,"Can't build projection column: only support lambda with 1 parameter");const r=fr(e.parameters[0],Fx,"Can't build projection column: only support lambda with 1 parameter");br(1===e.body.length,"Can't build projection column: only support lambda body with 1 expression");let s=e.body[0];if(s instanceof $x&&2===s.parameters.length&&k_(s.function,Zgt.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new xY(n,i,t));for(gr(s,RT,"Can't build projection column: only support lambda body as property expression");s instanceof RT;)for(br(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof $x&&k_(s.function,Zgt.SUBTYPE);)s=s.parameters[0];return gr(s,Fx,"Can't build projection column: only support lambda body as property expression"),br(r.name===s.name,`Can't build column lambda: expects variable used in lambda body '${s.name}' to match lambda parameter '${r.name}'`),e.accept_ValueSpecificationVisitor(new xY(n,i,t))},qUi=(e,t,n,i)=>{gr(e,$x,"Can't build aggregation: only support function"),br(k_(e.function,Zgt.TDS_AGG),"Can't build aggregation: only support agg()"),br(2===e.parameters.length,"Can't build agg() expression: agg() expects 2 arguments");const r=fr(e.parameters[0],Gx,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof $x&&k_(r.body[0].function,Object.values(Kgt))?_i(()=>((e,t,n,i)=>{gr(e,Gx,"Can't build calendar aggregation column: only support lambda"),br(1===e.parameters.length,"Can't build calendar aggregation column: only support lambda with 1 parameter"),br(1===e.body.length,"Can't build calendar aggregation column: only support lambda body with 1 expression");const r=fr(e.parameters[0],Fx,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=fr(e.body[0],$x,"Can't build calendar aggregation column: only support applied function");br(k_(s.function,Object.values(Kgt)),"Can't build calendar aggregation columnn: unsupported calenddar function"),br(4===s.parameters.length,"Can't build calendar aggregation column: only support calendar function with four parameters"),gr(s.parameters[0],RT,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=fr(s.parameters[1],Zx,"Can't build calendar aggregation column: only support second parameter of calendar function as String");br(void 0!==Object.values(TVi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),fr(s.parameters[2],Cx,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new xY(n,i,t)),l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new xY(n,i,t)),c=dr(s.parameters[2]).accept_ValueSpecificationVisitor(new xY(n,i,t)),u=dr(s.parameters[3]),d=_i(()=>u.accept_ValueSpecificationVisitor(new xY(n,i,t)))??new sS(_N(u,n.extensions.plugins)),h=RY([a,l,c,d],s.function,n),p=new wS,g=new CS(__.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),T_.ONE);g.parameters.push(new oS(r.name,T_.ONE));const f=new SS(g);return f.expressionSequence=[h],p.values.push(f),p})(r,t,n,i))??new sS(_N(r,n.extensions.plugins)):_i(()=>$Ui(r,t,n,i))??new sS(_N(r,n.extensions.plugins));const o=fr(e.parameters[1],Gx).accept_ValueSpecificationVisitor(new xY(n,i,t));return RY([s,o],N_(Zgt.TDS_AGG),n)},YUi=(e,t,n,i,r)=>{const s=fr(e,$x,"Can't build tds col func: only support applied function");br(k_(s.function,Zgt.TDS_COL),`Can't build tds col func: unsupported func name ${s.function}`),br(2===s.parameters.length,"Can't build tds col func: only support col function with 2 parameters");const o=fr(s.parameters[0],Gx,"Can't build tds col func: only support first parameter of col function as Lambda");let a;try{o.parameters.forEach(e=>{if(e.name&&!e.genericType){const n=new oS(e.name,T_.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=$Ui(o,n,i,r)}catch{a=new sS(_N(o,i.extensions.plugins))}fr(s.parameters[1],Zx,"Can't build tds col func: only support second parameter of col function as String");const l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new xY(i,r,n));return RY([a,l],s.function,i)},KUi=(e,t,n,i,r)=>{if(2===t.length)try{return((e,t,n,i,r)=>{br(2===t.length,"Can't build tds project() expression: project() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(s.genericType,"Can't build tds project() expression: preceding expression return type is missing");const o=dr(t[1],"Can't build tds project() expression: second parameter is missing");let a;if(o instanceof qx){const e=new uS(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>YUi(e,s,n,i,r)),a=e}else gr(o,$x,"Can't build project() expression: project() expects argument #2 to be a function"),a=YUi(o,s,n,i,r);const l=RY([s,a],e,i);return l.genericType=G_.create(new q_(i.resolveType(Ygt.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return((e,t,n,i,r)=>{br(2===t.length,"Can't build relation project() expression: project() expects 2 arguments");let s=[];const o=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];gr(a,fR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=fr(a.value,bT,"Can't build relation project() expression: project() expects argument #1 to hold spec array instances value");s=l.colSpecs.map(e=>e.function1).filter(cr).filter(pr(Gx)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new oS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new mS(T_.ONE),d=new fS;u.values=[d];const h=new $_($_.ID);d.colSpecs=l.colSpecs.map(e=>{const t=new pS;let s;const o=fr(e.function1,Cx,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=$Ui(o,n,i,r)}catch{s=new sS(_N(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=_Y(s);return a&&h.columns.push(new W_(e.name,G_.create(new q_(a)))),t});const p=RY([o,u],e,i),g=new q_(yY.INSTANCE),f=new q_(h);return g.typeArguments=[G_.create(f)],p.genericType=G_.create(g),p})(e,t,n,i,r)}const s=t.length;br(3===s||2===s,"Can't build project() expression: project() expects 2 arguments");let o=[];const a=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof Gx?o=l.parameters:(gr(l,qx,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(pr(Gx)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new oS(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const u=new uS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let d=[];d=l instanceof Gx?[l]:l.values,u.values=d.map(e=>{try{return $Ui(e,n,i,r)}catch{return new sS(_N(e,i.extensions.plugins))}});const h=RY([a,u,t[2].accept_ValueSpecificationVisitor(new xY(i,r,n))],e,i);return h.genericType=G_.create(new q_(i.resolveType(Ygt.TDS_ROW).value)),h},XUi=(e,t,n,i,r)=>e===Zgt.RELATION_GROUP_BY||3===t.length?((e,t,n,i,r)=>{br(3===t.length,"Can't build relation groupBy() expression: groupBy() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=fr(s,bS);if(o.functionName!==N_(Zgt.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];gr(a,fR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=fr(a.value,bT,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];gr(c,fR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const u=fr(c.value,bT,"Can't build relation groupBy() expression: groupBy() expects argument #2 to hold col spec array instance value"),d=u.colSpecs.map(e=>[e.function1,e.function2]).flat().filter(cr).filter(pr(Gx)).map(e=>e.parameters).flat();d.forEach(e=>{if(!e.genericType){const t=new oS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=fr(o.genericType?.value.typeArguments?.[0]?.value.rawType,$_,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new mS(T_.ONE),g=new fS;p.values=[g];const f=new $_($_.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new pS;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&f.columns.push(n),t});const m=new mS(T_.ONE),v=new fS;m.values=[v],v.colSpecs=u.colSpecs.map(e=>{const t=new pS;t.name=e.name;const s=fr(e.function1,Gx,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=$Ui(s,n,i,r);t.function1=o;const a=fr(e.function2,Gx,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=fr(a.accept_ValueSpecificationVisitor(new xY(i,r,n)),wS,"Can't build relation col spec() expression: expected aggregation function to be a lambda");t.function2=l;const c=h.columns.find(t=>t.name===e.name)?.genericType;if(!c)throw new yi(`Unable to find projected column with name ${e.name}`);return f.columns.push(new W_(e.name,c)),t});const y=RY([s,p,m],e,i),b=new q_(yY.INSTANCE),_=new q_(f);return b.typeArguments=[G_.create(_)],y.genericType=G_.create(b),y})(e,t,n,i,r):((e,t,n,i,r)=>{let s=[];br(4===t.length,"Can't build groupBy() expression: groupBy() expects 3 arguments");const o=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];gr(a,qx,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(pr(Gx)).map(e=>e.parameters).flat();const l=t[2];gr(l,qx,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof $x&&k_(e.function,Zgt.TDS_AGG)).map(e=>e.parameters).flat().filter(pr(Gx)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new oS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new uS(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));u.values=a.values.map(e=>{try{return $Ui(e,n,i,r)}catch{return new sS(_N(e,i.extensions.plugins))}});const d=new uS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));d.values=l.values.map(e=>qUi(e,n,i,r));const h=RY([o,u,d,t[3].accept_ValueSpecificationVisitor(new xY(i,r,n))],e,i);return h.genericType=G_.create(new q_(i.resolveType(Ygt.TDS_ROW).value)),h})(e,t,n,i,r);class ZUi extends Vee{constructor(){super(WUi.pureProtocolProcessorPlugin,jUi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(k_(e,Xgt.GET_ALL))return((e,t,n,i,r)=>{const s=NY(e,t,n,i,r),o=s.parametersValues[0];return gr(o,aS,"Can't build getAll() expression: only support getAll() immediately following a class"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,Xgt.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=NY(e,t,n,i,r),o=s.parametersValues[0];return gr(o,aS,"Can't build getAllVersionsInRange() expression: only support getAllVersionsInRange() immediately following a class"),br(3===s.parametersValues.length,"Can't build getAllVersionsInRange() expression: only support getAllVersionsRange() with start and end date"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,Xgt.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=NY(e,t,n,i,r),o=s.parametersValues[0];return gr(o,aS,"Can't build getAllVersions() expression: only support getAllVersions() immediately following a class"),br(1===s.parametersValues.length,"Can't build getAllVersions() expression: only support getAllVersions() with no paremters"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,[Zgt.FILTER,Zgt.TDS_FILTER]))return((e,t,n,i,r)=>{br(2===t.length,"Can't build filter() expression: filter() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));if(s.genericType){const e=t[1];e instanceof Gx&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new oS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=RY([s,t[1].accept_ValueSpecificationVisitor(new xY(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(k_(e,Zgt.EXISTS))return((e,t,n,i,r)=>{br(2===t.length,"Can't build exists() expression: exists() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));s.genericType=fr(s,_S).func.value.genericType;const o=t[1];return o instanceof Gx&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new oS(e.name,T_.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),RY([s,t[1].accept_ValueSpecificationVisitor(new xY(i,r,n))],e,i)})(e,t,n,i,r);if(k_(e,Zgt.WATERMARK))return((e,t,n,i,r)=>{br(2===t.length,"Can't build forWatermark() expression: forWatermark() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof Gx&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new oS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=dr(t[1].accept_ValueSpecificationVisitor(new xY(i,r,n))),l=a.genericType?.value.rawType;br(B_.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=RY([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(k_(e,[Zgt.TDS_PROJECT,Zgt.RELATION_PROJECT]))return KUi(e,t,n,i,r);if(k_(e,[Zgt.TDS_GROUP_BY,Zgt.RELATION_GROUP_BY]))return XUi(e,t,n,i,r);if(k_(e,Zgt.OLAP_GROUPBY))return((e,t,n,i,r)=>{const s=[];br(5===t.length||4===t.length,"Can't build olapGroupBy() expression: olapGroupBy() expects 4 or 5 arguments");let o=0;const a=5===t.length,l=t[o].accept_ValueSpecificationVisitor(new xY(i,r,n));ur(l.genericType,"Can't build olapGroupBy() expression: preceding expression return type is missing"),s.push(l),o++;const c=t[o].accept_ValueSpecificationVisitor(new xY(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new xY(i,r,n));s.push(e),o++}const u=t[o];let d;d=u instanceof $x?fr(u.parameters[1],Gx,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):fr(u,Gx,`Can't build olapGroupBy() expression: olapGroupBy() expects argument ${o+1} to be a lambda`);const h=d.parameters,p=new Set;h.forEach(e=>{if(!p.has(e.name)&&!e.genericType){const t=new oS(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=u.accept_ValueSpecificationVisitor(new xY(i,r,n));s.push(g),o++;const f=t[o].accept_ValueSpecificationVisitor(new xY(i,r,n));s.push(f),o++;const m=RY(s,e,i);return m.genericType=G_.create(new q_(i.resolveType(Ygt.TDS_ROW).value)),m})(e,t,n,i,r);if(k_(e,[Zgt.TODAY,Zgt.FIRST_DAY_OF_QUARTER])){const s=NY(e,t,n,i,r);return s.genericType=G_.create(new q_(B_.STRICTDATE)),s}if(k_(e,Zgt.NOW)){const s=NY(e,t,n,i,r);return s.genericType=G_.create(new q_(B_.DATETIME)),s}if(k_(e,[Zgt.FIRST_DAY_OF_THIS_YEAR,Zgt.FIRST_DAY_OF_YEAR,Zgt.FIRST_DAY_OF_THIS_MONTH,Zgt.FIRST_DAY_OF_MONTH,Zgt.FIRST_DAY_OF_WEEK,Zgt.PREVIOUS_DAY_OF_WEEK,Zgt.ADJUST])){const s=NY(e,t,n,i,r);return s.genericType=G_.create(new q_(B_.DATE)),s}return k_(e,Zgt.RELATION_EXTEND)?((e,t,n,i,r)=>{if(3===t.length){const s=dr(t[0],"Can't build relation extend() expression: preceding expression is missing").accept_ValueSpecificationVisitor(new xY(i,r,n));ur(s.genericType,"Can't build relation extend() expression: preceding expression return type is missing");const o=dr(t[1],"Can't build relation extend() expression: over() expression is missing").accept_ValueSpecificationVisitor(new xY(i,r,n)),a=dr(t[2],"Can't build relation extend() expression: window operator is missing");gr(a,fR,"Can't build relation extend() expression: extend() expects argument #3 to be a ClassInstance");const l=a.value,c=l.colSpecs.flatMap(e=>[e.function1,e.function2]).filter(cr).flatMap(e=>e.parameters);c.forEach(e=>{if(!e.genericType){const t=new oS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const u=new mS(T_.ONE),d=new fS;u.values=[d];const h=s.genericType.value.typeArguments?.[0]?.value.rawType,p=new $_($_.ID);h instanceof $_&&h.columns.forEach(e=>{p.columns.push(e)}),d.colSpecs=l.colSpecs.map(e=>{const t=new pS;if(t.name=e.name,e.function1){const s=fr(e.function1,Gx,"Can't build relation extend() col spec expression: expects function1 to be a lambda"),o=fr(s.accept_ValueSpecificationVisitor(new xY(i,r,n)),wS,"Can't build relation extend() col spec expression: expected function1 to be a lambda");t.function1=o}if(e.function2){const s=fr(e.function2,Gx,"Can't build relation extend() col spec expression: expects function2 to be a lambda"),o=fr(s.accept_ValueSpecificationVisitor(new xY(i,r,n)),wS,"Can't build relation extend() col spec expression: expected aggregation function to be a lambda");t.function2=o}let s;return t.function2?s=_Y(t.function2):t.function1&&(s=_Y(t.function1)),s&&p.columns.push(new W_(e.name,G_.create(new q_(s)))),t});const g=RY([s,o,u],e,i),f=new q_(yY.INSTANCE),m=new q_(p);return f.typeArguments=[G_.create(m)],g.genericType=G_.create(f),g}throw new yi("Can't build relation extend() expression: extend() on non window functions is not yet supported")})(e,t,n,i,r):k_(e,Zgt.RELATION_OVER)?((e,t,n,i,r)=>{br(t.length>=1&&t.length<=2,`Can't build over() expression: over() expects 1-2 arguments, got ${t.length}`);const s=t[0];gr(s,fR,"Can't build over() expression with ColSpecArray: expects argument #1 to be a ClassInstance");const o=fr(s.value,bT,"Can't build over() expression with ColSpecArray: expects ClassInstance to hold ColSpecArray"),a=new mS(T_.ONE),l=new fS;a.values=[l],l.colSpecs=o.colSpecs.map(e=>{const t=new pS;return t.name=e.name,t.type=e.type,t});const c=[a];if(t[1]){const e=t[1].accept_ValueSpecificationVisitor(new xY(i,r,n));c.push(e)}return RY(c,e,i)})(e,t,n,i,r):k_(e,Object.values(Zgt))||k_(e,Object.values(Kgt))?NY(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof bS&&k_(e.functionName,N_(Zgt.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof aS)[0]?.genericType?.value.rawType)(e)}]}}class QUi{mapping;runtimes=[]}class JUi{service;executionKeys}class eGi extends UE{}class tGi extends eGi{constructor(e){super(e),this.graphManager=fr(e,Z3)}getSupportedProtocolVersion(){return EG.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===fU||e.content._type===iR),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(pr(wI))).flat(),o=new PY(e,e,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();s.forEach(e=>{const t=r.find(t=>t.path===e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof qP)return new bW(t,o.resolveMapping(yr(e.includedMapping,"Mapping include path is missing or empty")))}).filter(cr))});const a=[...e.ownRuntimes,...e.dependencyManager.runtimes],l=i.map(e=>e.data.elements.filter(pr(NT))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new Lj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw bi(e),e instanceof AG?e:new AG(e)}}async surveyMappingRuntimeCompatibility(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1}),r=await this.graphManager.indexLightGraph(i,e,t,e=>[exports.CORE_PURE_PATH.MAPPING,exports.CORE_PURE_PATH.RUNTIME].includes(e.classifierPath),e=>(e.classifierPath===exports.CORE_PURE_PATH.MAPPING?e.content={_type:e.content._type,name:e.content.name,package:e.content.package,includes:e.content.includes}:e.classifierPath===exports.CORE_PURE_PATH.RUNTIME&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,runtimeValue:{mappings:e.content.runtimeValue?.mappings}}),e)),s=new PY(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(pr(wI))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof qP)return new bW(t,s.resolveMapping(yr(e.includedMapping,"Mapping include path is missing or empty")))}).filter(cr))}),r.map(e=>e.data.elements.filter(pr(NT))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new Lj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new QUi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...vq(e.value)]).flat().includes(e)),n.push(t)}),n}async surveyServiceExecution(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1});return(await this.graphManager.indexLightGraph(i,e,t,e=>e.classifierPath===exports.CORE_PURE_PATH.SERVICE,e=>(e.classifierPath===exports.CORE_PURE_PATH.SERVICE&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,execution:e.content.execution}),e))).map(e=>e.data.elements.filter(pr(_k))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new JUi;i.service=t,e.execution instanceof bk&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const nGi=e=>new tGi(e);class iGi extends Lee{constructor(){super(WUi.pureGraphManagerPlugin,jUi)}getExtraPureGraphManagerExtensionBuilders(){return[nGi]}getExtraExposedSystemElementPath(){return[Ygt.TDS_TABULAR_DATASET,Ygt.TDS_ROW,Ygt.TDS_COLUMN]}}class rGi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;NonProductionFeatureFlag=!1;static serialization=new Yv(Iv(rGi,{TEMPORARY__disableQueryBuilderChat:Wv(Dv()),TEMPORARY__enableExportToCube:Wv(Dv()),TEMPORARY__enableGridEnterpriseMode:Wv(Dv()),legendAIServiceURL:Wv(Dv()),legendMCPServiceURL:Wv(Dv()),zipkinTraceBaseURL:Wv(Dv()),enableTypedTDS:Wv(Dv()),NonProductionFeatureFlag:Wv(Dv())}))}const sGi=e=>{let t=e;for(;t instanceof _S;)for(t=dr(t.parametersValues[0]);t instanceof bS&&k_(t.functionName,Zgt.SUBTYPE);)t=dr(t.parametersValues[0]);return fr(t,oS)},oGi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(k_(e.functionName,[Zgt.AND,Zgt.OR])){const r=new KFi(n,RFi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=fr(i,YFi).lambdaParameterName),e.parametersValues.forEach(e=>oGi(fr(e,bS,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!k_(e.functionName,[Zgt.EXISTS])){const n=e.parametersValues[0];if(n instanceof _S){const e=n.parametersValues[0];e instanceof _S&&Tft(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=_i(()=>n.buildFilterConditionState(t,e));if(r){let n;if(r.sourceState instanceof WFi){const t=e.parametersValues[0];n=fr(t instanceof yS?t.parametersValues[0]:void 0,oS,"Can't process filter expression: relation column filter must reference a variable").name}else n=sGi(r.propertyExpressionState.propertyExpression).name;const s=i instanceof YFi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return br(s===n,`Can't process ${N_(r.operator.getLabel())}() expression: expects variable used in lambda body '${n}' to match lambda parameter '${s}'`),void t.addNodeFromNode(new QFi(void 0,r),i)}}throw new yi("Can't process filter() expression: no compatible filter operator processer available from plugins")}{const r=fr(e.parametersValues[0],_S);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new XFi(t,n),o=fr(e.parametersValues[1],wS,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=fr(o.values[0],SS),l=fr(a.expressionSequence[0],bS);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),oGi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;k_(s.functionName,Zgt.EXISTS);){const e=dr(fr(s.parametersValues[1],wS).values[0],"Can't process exists() expression: exists() lambda is missing");if(br(1===e.expressionSequence.length,"Can't process exists() expression: exists() lambda body should hold an expression"),s=fr(e.expressionSequence[0],bS,"Can't process exists() expression: exists() lambda body should hold an expression"),br(1===e.functionType.parameters.length,"Can't process exists() expression: exists() lambda should have 1 parameter"),i.push(fr(e.functionType.parameters[0],oS,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof _S)||void 0===s.parametersValues[0].func.value.multiplicity.upperBound||s.parametersValues[0].func.value.multiplicity.upperBound>1)break;r.push(s.parametersValues[0])}const o=fr(e.parametersValues[0],_S);let a=new _S("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof _S||n instanceof bS&&k_(n.functionName,Zgt.SUBTYPE);){if(n instanceof bS){const e=new bS(N_(Zgt.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof _S){const e=new _S("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=dr(n.parametersValues[0])}br(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(a),a=fr(t[0],_S,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof bS&&e.parametersValues[0]instanceof _S)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof _S)e.parametersValues[0]=dr(a.parametersValues[0]);else if(e instanceof oS)return a;return e}),oGi(s,t,n)}}}},aGi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];gr(i,wS,"Can't process filter() expression: filter() expects argument #1 to be a lambda function");const r=dr(i.values[0],"Can't process filter() lambda: filter() lambda function is missing");br(1===r.expressionSequence.length,"Can't process filter() lambda: only support filter() lambda body with 1 expression");const s=fr(r.expressionSequence[0],bS,"Can't process filter() lambda: only support filter() lambda body with 1 expression");br(1===r.functionType.parameters.length,"Can't process filter() lambda: only support filter() lambda with 1 parameter"),n.setLambdaParameterName(fr(r.functionType.parameters[0],oS,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),oGi(s,n,void 0),n.simplifyTree()};class lGi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){hd(this,{hashCode:kc}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof AS)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof TS)return this.tree.class.value;throw new yi("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return mv([Ift.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",mv(this.childrenIds)])}}const cGi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${Wb}${n.path}`:""}`,uGi=(e,t,n)=>{gr(e,AS,"Graph fetch sub-tree must be a property graph fetch tree");const i=e.property.value,r=e.subType?.value,s=t?.id,o=new lGi(cGi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=uGi(e,o,n);jr(o.childrenIds,t.id),n.set(t.id,t)}),o},dGi=(e,t,n)=>{const i=t?.id,r=new lGi((s=e.class.valueForSerialization??"")?`${Wb}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=uGi(e,r,n);jr(r.childrenIds,t.id),n.set(t.id,t)}),r},hGi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=dGi(e,void 0,i);jr(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=uGi(e,void 0,i);jr(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},pGi=e=>0===e.tree.subTrees.length,gGi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof AS&&t.type instanceof Y_&&0===t.childrenIds.length||t.tree instanceof AS&&!(t.type instanceof Y_)&&t.parentId&&!e.nodes.has(t.parentId)),fGi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?($r(n.childrenIds,t.id),fft(n.tree,t.tree)):($r(e.rootIds,t.id),fft(e.tree,t.tree)),e.nodes.delete(t.id)},mGi=(e,t)=>{fGi(e,t),(e=>{let t=gGi(e);for(;t.length;)t.forEach(t=>{fGi(e,t)}),t=gGi(e)})(e)},vGi=(e,t,n,i)=>{const r=[new AS(pC.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof kUi||l instanceof OUi;){let e,n=!1;for(;l instanceof OUi;)n||(e=__.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof kUi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof Y_&&(e=__.create(l.type)),!(l instanceof kUi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new AS(pC.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=cGi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=uGi(a,o,e.nodes);e.nodes.set(t.id,t),o?(jr(o.childrenIds,t.id),gft(o.tree,t.tree,i.observerContext)):(jr(e.rootIds,t.id),gft(e.tree,t.tree,i.observerContext))}},yGi=(e,t,n)=>{const i=e.queryBuilderState,r=dr(t.expressionSequence[0],"Can't build graph-fetch tree expression: preceding expression is not defined"),s=e.serializationState;if(s instanceof EGi){if(e.treeData&&!pGi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(Ygt.SERIALIZE_CONFIG),i=new bS(N_(exports.SUPPORTED_FUNCTIONS.NEW)),r=new aS(T_.ONE,void 0);r.values[0]=__.create(n);const s=new lS(G_.create(new q_(B_.STRING)));s.values=[""];const o=new uS(T_.ONE,void 0);return n.properties.forEach(t=>{const n=Object.getOwnPropertyNames(e).find(e=>e===t.name);if(n&&void 0!==e[n]){const i=new hS,r=new lS(G_.create(new q_(B_.STRING)));r.values=[n];const s=new lS(G_.create(new q_(t.genericType.value.rawType)));s.values=[e[n]];const a=new dS(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new T_(o.values.length,o.values.length),i.parametersValues=[r,s,o],i})(s.config,e.queryBuilderState.graphManagerState.graph):void 0,i=((e,t,n,i)=>{const r=new NS;r.values=[e];const s=new bS(N_(Zgt.SERIALIZE)),o=new bS(N_(t?Zgt.GRAPH_FETCH_CHECKED:Zgt.GRAPH_FETCH));return o.parametersValues=[n,r],s.parametersValues=[o,r],i&&s.parametersValues.push(i),s})(e.treeData.tree,e.isChecked,r,n);t.expressionSequence[0]=i}}else{if(!(s instanceof xGi))throw new yi(`Unsupported serialization state ${s.getLabel()}`);{const n=new bS(N_(Zgt.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!pGi(i)&&!pGi(o)){const a=new NS;a.values=[i.tree];const l=new bS(e.isChecked?N_(Zgt.GRAPH_FETCH_CHECKED):N_(Zgt.GRAPH_FETCH));l.parametersValues=[r,a];const c=new aS(T_.ONE,void 0);c.values=[__.create(s.targetBinding)];const u=new NS;u.values=[o.tree],n.parametersValues=[l,c,u],t.expressionSequence[0]=n}}}n?.isBuildingExecutionQuery&&((e,t)=>{if(!t)return e;if(1===e.expressionSequence.length){const n=e.expressionSequence[0];if(n instanceof bS&&k_(n.functionName,Zgt.SERIALIZE)){const i=new lS(G_.create(new q_(B_.INTEGER)));i.values=[t];const r=new bS(N_(Zgt.TAKE)),s=fr(n.parametersValues[0],bS),o=s.parametersValues[0];return r.parametersValues[0]=o,r.parametersValues[1]=i,s.parametersValues=[r,s.parametersValues[1]],e}}})(t,i.resultState.previewLimit)};var bGi,_Gi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(bGi||(bGi={})),function(e){e.RESULT="RESULT"}(_Gi||(_Gi={}));const CGi="@type";class SGi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=CGi,hd(this,{typeKeyName:Rc,includeType:Rc,includeEnumType:Rc,dateTimeFormat:Rc,removePropertiesWithNullValues:Rc,removePropertiesWithEmptySets:Rc,fullyQualifiedTypePath:Rc,includeObjectReference:Rc,setTypeName:Pu,setIncludeObjectReference:Pu,setDateTimeFormat:Pu,setIncludeType:Pu,setFullyQualifiedTypePath:Pu,setRemovePropertiesWithEmptySets:Pu,setInclueEnumType:Pu,setRemovePropertiesWithNullValues:Pu})}static createDefault(){const e=new SGi;return e.typeKeyName=CGi,e.includeType=!0,e.includeEnumType=!0,e.removePropertiesWithNullValues=!0,e.removePropertiesWithEmptySets=!1,e.fullyQualifiedTypePath=!0,e}setDateTimeFormat(e){this.dateTimeFormat=e}setTypeName(e){this.typeKeyName=e}setIncludeType(e){this.includeType=e}setInclueEnumType(e){this.includeEnumType=e}setRemovePropertiesWithNullValues(e){this.removePropertiesWithNullValues=e}setRemovePropertiesWithEmptySets(e){this.removePropertiesWithEmptySets=e}setFullyQualifiedTypePath(e){this.fullyQualifiedTypePath=e}setIncludeObjectReference(e){this.includeObjectReference=e}}class wGi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class EGi extends wGi{config;configModal=!1;constructor(e){super(e),hd(this,{config:Rc,configModal:Rc,setConfigModal:Pu})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return bGi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class xGi extends wGi{targetBinding;treeData;constructor(e,t,n){super(e),hd(this,{targetBinding:Rc,treeData:Rc.ref,serializationContentType:kc,setGraphFetchTree:Pu}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(vGi(this.treeData,this.queryBuilderGraphFetchTreeState.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderGraphFetchTreeState.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderGraphFetchTreeState.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}getLabel(){return bGi.EXTERNAL_FORMAT}get serializationContentType(){const e=this.targetBinding.contentType;return Object.values(exports.ContentType).includes(e)?e:"application/x.flatdata"===e?exports.ContentType.TEXT_CSV:exports.ContentType.TEXT_PLAIN}}class TGi extends SFi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),hd(this,{treeData:Rc.ref,isChecked:Rc,serializationState:Rc,TEMPORARY__showPostFetchStructurePanel:kc,setGraphFetchTree:Pu,setSerializationState:Pu,setChecked:Pu,initialize:Pu,checkBeforeChangingImplementation:Pu}),this.updateTreeData(this.queryBuilderState.sourceClass),this.serializationState=new EGi(this)}get type(){return CFi.GRAPH_FETCH}get fetchLabel(){return"Class Properties"}get canBeExportedToCube(){return!1}get usedExplorerTreePropertyNodeIDs(){if(!this.treeData)return[];const e=new Map,t=[],n=this.treeData.rootIds.slice();for(;n.length;){const i=dr(n[0]),r=this.treeData.nodes.get(i);if(!r)continue;let s;const o=r.parentId?dr(e.get(r.parentId)):"";let a="";r.tree instanceof TS?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof AS&&(a=r.tree.property.value.name);const l=RUi(o,a);t.push(l),r.tree instanceof AS&&r.tree.subType?(s=NUi(l,r.tree.subType.value.path),$w(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(NUi(l,e.path)))):s=l,e.set(r.id,s),n.shift(),r.childrenIds.forEach(e=>n.push(e))}return Array.from(new Set(t).values())}get fetchStructureValidationIssues(){return[]}get allValidationIssues(){return[]}initialize(){this.queryBuilderState.filterState.setShowPanel(!0)}setSerializationState(e){this.serializationState=e}setGraphFetchTree(e){this.treeData=e}setChecked(e){this.isChecked=e}updateTreeData(e){this.setGraphFetchTree(e?hGi(new TS(__.create(e))):void 0)}get exportDataFormatOptions(){return[_Gi.RESULT]}getExportDataInfo(e){if(e===_Gi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new yi(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(){this.updateTreeData(this.queryBuilderState.sourceClass)}appendFetchStructure(e,t){yGi(this,e,t)}addProperty(e,t){this.treeData?(vGi(this.treeData,this.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}revealCompilationError(e){return!1}clearCompilationError(){}fetchProperty(e){this.addProperty(e,{refreshTreeData:!0}),this.serializationState instanceof xGi&&this.serializationState.addProperty(mn(e),{refreshTreeData:!0})}fetchProperties(e){this.treeData?(e.forEach(e=>this.addProperty(e)),this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}checkBeforeChangingImplementation(e){this.treeData?.rootIds.length?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to projection mode. Do you still want to proceed?",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Apt.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof AS)return t.tree.parameters.find(t=>Rft(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return mv([Ift.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const AGi=(e,t)=>()=>{t.implementation.type!==e&&(Ggt.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class RGi{queryBuilderState;implementation;constructor(e){hd(this,{implementation:Rc,changeImplementation:Pu,initializeWithQuery:Pu}),this.queryBuilderState=e,this.implementation=new DVi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case CFi.TABULAR_DATA_STRUCTURE:this.implementation=new DVi(this.queryBuilderState,this);break;case CFi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new TGi(this.queryBuilderState,this);break;default:throw new yi(`Can't change fetch-structure implementation to unsupported type: '${e}'`)}this.implementation.initialize()}initializeWithQuery(){this.implementation.initializeWithQuery()}fetchProperty(e){e instanceof kUi&&!(e.type instanceof Y_)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof Y_&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(kUi)).filter(e=>!(e.type instanceof Y_)&&e.mappingData.mapped))}}class NGi{lambda;constructor(e){this.lambda=e,hd(this,{lambda:Rc,setLambda:Pu})}setLambda(e){this.lambda=e}}var IGi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(IGi||(IGi={}));class DGi extends ZPi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=Py.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),hd(this,{rawLambdaState:Rc,isConvertingLambdaToString:Rc,mode:Rc,isReadOnly:Rc,setQueryRawLambdaState:Pu,setIsReadOnly:Pu,setMode:Pu,openModal:Pu,closeModal:Ju}),this.queryBuilderState=e,this.rawLambdaState=new NGi(ej())}get lambdaId(){return qee(["query-builder"])}get text(){return this.mode===IGi.TEXT?this.fullLambdaString:this.mode===IGi.JSON?this.readOnlylambdaJson:void 0}setQueryRawLambdaState(e){this.rawLambdaState=e}setIsReadOnly(e){this.isReadOnly=e}setMode(e){this.mode=e}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=ej();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId,{pruneSourceInformation:!1});this.setParserError(void 0),this.rawLambdaState.setLambda(e)}catch(e){bi(e),e instanceof wZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}else this.clearErrors(),this.rawLambdaState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.rawLambdaState.lambda.body){this.isConvertingLambdaToString=!0;try{const t=new Map;t.set(this.lambdaId,new nS(this.rawLambdaState.lambda.parameters,this.rawLambdaState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors(),this.isConvertingLambdaToString=!1}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===IGi.TEXT&&this.setQueryRawLambdaState(new NGi(n)),e===IGi.JSON&&this.setLambdaJson(JSON.stringify(F_(this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(n)),null,2)),this.setMode(e),this.setIsReadOnly(t)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}*closeModal(){if(this.closingQueryState.inProgress(),this.mode===IGi.TEXT&&!this.isReadOnly)return yield this.convertLambdaGrammarStringToObject(),void(this.parserError?this.queryBuilderState.applicationStore.notificationService.notifyError(`Can't parse query. Please fix error before closing: ${this.parserError.message}`):(this.queryBuilderState.rebuildWithQuery(this.rawLambdaState.lambda,{preserveParameterValues:!0,preserveResult:!0}),this.setMode(void 0)));this.setIsReadOnly(void 0),this.closingQueryState.complete(),this.setMode(void 0)}}const kGi=Lse(e=>{const{resultType:t}=e;let n="";return t.type instanceof C_&&(n=t.type.input??""),""===n?Une.jsx(Une.Fragment,{}):Une.jsxs("div",{className:"query-builder__result__container",children:[Une.jsx(XPe,{className:"query-builder__result__container__item__data-type",children:Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),Une.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),Une.jsx(QPe,{})]})}),OGi=Lse(e=>{const{resultType:t}=e;return Une.jsxs("div",{className:"query-builder__result__container",children:[Une.jsx(XPe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__result__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Label"}),Une.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),Une.jsx("tbody",{children:t.tdsColumns.map(e=>Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:e.name}),Une.jsx("td",{className:"table__cell--left",children:e.type instanceof C_&&(e.type.input??"")})]},e.name))})]}),Une.jsx(QPe,{})]})}),LGi=Lse(e=>{const{resultType:t}=e;return Une.jsxs("div",{className:"query-builder__result__container",children:[Une.jsxs(XPe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),Une.jsx("tbody",{children:t.propertiesWithParameters.map(e=>Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:e.property}),Une.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),Une.jsx(QPe,{})]})}),MGi=Lse(e=>{const{resultType:t}=e;return t instanceof a1?Une.jsx(kGi,{resultType:t}):t instanceof l1?Une.jsx(OGi,{resultType:t}):t instanceof G1?Une.jsx(LGi,{resultType:t}):null}),PGi=e=>{e.dispose(),e.getModel()?.dispose()},FGi=e=>{const{inputValue:t,updateInput:i,lightTheme:r,language:s,isReadOnly:o,hideMinimap:a,hideGutter:l,hidePadding:c,hideActionBar:u,lineToScroll:d,extraEditorOptions:h,error:p}=e,g=Wht(),[f,m]=n.useState(),[v,y]=n.useState(!1),b=n.useRef(void 0),_=fkn(t),C=n.useRef(null);if(n.useEffect(()=>{if(!f&&C.current){const e=C.current,t=vun.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:g.layoutService.TEMPORARY__isLightColorThemeEnabled?r??tkn.BUILT_IN__VSCODE_LIGHT:tkn.DEFAULT_DARK,glyphMargin:!c,padding:c?{top:0,bottom:0}:{top:20,bottom:20},formatOnType:!0,formatOnPaste:!0});m(t)}},[g,r,c,f]),n.useEffect(()=>{if(f){mkn(f);const e=f.getModel();e&&vun.setModelLanguage(e,s)}},[f,s]),n.useEffect(()=>{f&&void 0!==d&&f.revealLineInCenter(d)},[f,d]),f){b.current?.dispose(),b.current=f.onDidChangeModelContent(()=>{const e=dkn(f);e!==_&&i?.(e)});dkn(f)!==_&&f.setValue(_),f.updateOptions({readOnly:Boolean(o),minimap:{enabled:!a},...l?{glyphMargin:!c,folding:!1,lineNumbers:"off",lineDecorationsWidth:0}:{},...h??{}});const e=f.getModel();e?.updateOptions({tabSize:2}),e&&(p?.sourceInformation?pkn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):gkn())}return n.useEffect(()=>()=>{f&&(PGi(f),b.current?.dispose())},[f]),Une.jsxs("div",{className:"code-editor",children:[!u&&Une.jsx("div",{className:"code-editor__header",children:Une.jsx("button",{tabIndex:-1,className:Bse("code-editor__header__action",{"code-editor__header__action--active":v}),onClick:()=>{const e=!v;y(e),f?.updateOptions({wordWrap:e?"on":"off"})},title:`[${v?"on":"off"}] Toggle word wrap`,children:Une.jsx(Cie,{})})}),Une.jsx("div",{className:Bse("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!u}),children:Une.jsx("div",{className:"code-editor__body",ref:C})})]})},BGi=Lse(e=>{const{from:t,to:i,language:r}=e,s=Wht(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",u=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=vun.createDiffEditor(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:s.layoutService.TEMPORARY__isLightColorThemeEnabled?tkn.BUILT_IN__VSCODE_LIGHT:tkn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=vun.createModel(c,r),t=vun.createModel(u,r);o.setModel({original:e,modified:t})}return n.useEffect(()=>()=>{o&&(e=>{e.dispose(),e.getOriginalEditor().getModel()?.dispose(),e.getModifiedEditor().getModel()?.dispose()})(o)},[o]),Une.jsx("div",{className:"code-editor__container",children:Une.jsx("div",{className:"code-editor__body",ref:l})})}),VGi=(e,t)=>e?_r(e)?t?_m(e):((e,t=2)=>{try{return JSON.stringify(JSON.parse(e),void 0,t)}catch{return e}})(e):t?bm(e,void 0,2):JSON.stringify(e,void 0,2):"",UGi=Lse(e=>{const{from:t,to:n,lossless:i}=e;return Une.jsx(BGi,{language:vkn.JSON,from:VGi(t,Boolean(i)),to:VGi(n,Boolean(i))})});var GGi,HGi={exports:{}},zGi=HGi.exports;var jGi=(GGi||(GGi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(zGi,function(){function e(t,n,i){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=i,this}function t(e,t,n,i){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=i,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function i(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}function r(){this.reset("")}function s(e,t,s){if(e instanceof i){var o=e;s=t}else o=i.fromCompiled(e,t);for(var a in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new r},s||{})this.options[a]=s[a];this.lexer=this.options.lexer,this.lexerState=void 0;var l=new n(o,0);this.table=[l],l.wants[o.start]=[],l.predict(o.start),l.process(),this.current=0}function o(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do{e.push(t.right.data),t=t.left}while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,i=this.completed,r=0;r<t.length;r++){var o=t[r];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var a=o.wantedBy,l=a.length;l--;){var c=a[l];this.complete(c,o)}if(o.reference===this.index){var u=o.rule.name;(this.completed[u]=this.completed[u]||[]).push(o)}}}else{if("string"!=typeof(u=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(n[u]){if(n[u].push(o),i.hasOwnProperty(u)){var d=i[u];for(l=0;l<d.length;l++){var h=d[l];this.complete(o,h)}}}else n[u]=[o],this.predict(u)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],i=0;i<n.length;i++){var r=n[i],s=this.wants[e],o=new t(r,0,this.index,s);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)},i.fromCompiled=function(t,n){var r=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules),t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)});var s=new i(t,n);return s.lexer=r,s},r.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},r.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},r.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},r.prototype.formatError=function(e,t){var n=this.buffer;if("string"==typeof n){var i=n.split("\n").slice(Math.max(0,this.line-5),this.line),r=n.indexOf("\n",this.index);-1===r&&(r=n.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return t+=" at line "+this.line+" col "+s+":\n\n",t+=i.map(function(e,t){return a(this.line-i.length+t+1,o)+" "+e},this).join("\n"),t+="\n"+a("",o+s)+"^\n"}return t+" at index "+(this.index-1);function a(e,t){var n=String(e);return Array(t-n.length+1).join(" ")+n}},s.fail={},s.prototype.feed=function(e){var t,i=this.lexer;for(i.reset(e,this.lexerState);;){try{if(!(t=i.next()))break}catch(e){var s=new n(this.grammar,this.current+1);throw this.table.push(s),(l=new Error(this.reportLexerError(e))).offset=this.current,l.token=e.token,l}var o=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;s=new n(this.grammar,a),this.table.push(s);for(var l,c=void 0!==t.text?t.text:t.value,u=i.constructor===r?t.value:t,d=o.scannable,h=d.length;h--;){var p=d[h],g=p.rule.symbols[p.dot];if(g.test?g.test(u):g.type?g.type===t.type:g.literal===c){var f=p.nextState({data:u,token:t,isToken:!0,reference:a-1});s.states.push(f)}}if(s.process(),0===s.states.length)throw(l=new Error(this.reportError(t))).offset=this.current,l.token=t,l;this.options.keepHistory&&(o.lexerState=i.save()),this.current++}return o&&(this.lexerState=i.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(e){var t,n,i=e.token;return i?(t="input "+JSON.stringify(i.text[0])+" (lexer error)",n=this.lexer.formatError(i,"Syntax error")):(t="input (lexer error)",n=e.message),this.reportErrorCommon(n,t)},s.prototype.reportError=function(e){var t=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),n=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(n,t)},s.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var i=this.table.length-2,r=this.table[i],s=r.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&"string"!=typeof t});if(0===s.length)n.push("Unexpected "+t+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(r.states,n);else{n.push("Unexpected "+t+". Instead, I was expecting to see one of the following:\n");var o=s.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this);o.forEach(function(e){var t=e[0],i=t.rule.symbols[t.dot],r=this.getSymbolDisplay(i);n.push("A "+r+" based on:"),this.displayStateStack(e,n)},this)}return n.push(""),n.join("\n")},s.prototype.displayStateStack=function(e,t){for(var n,i=0,r=0;r<e.length;r++){var s=e[r],o=s.rule.toString(s.dot);o===n?i++:(i>0&&t.push(" ^ "+i+" more lines identical to this"),i=0,t.push(" "+o)),n=o}},s.prototype.getSymbolDisplay=function(e){return function(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},s.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],i=[e].concat(t),r=this.buildFirstStateStack(n,i);return null===r?null:[e].concat(r)},s.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},s.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},s.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},s.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==s.fail&&e.push(n)}),e.map(function(e){return e.data})},{Parser:s,Grammar:i,Rule:e}})}(HGi)),HGi.exports),WGi=Si(jGi),$Gi=Object.defineProperty,qGi=Object.defineProperties,YGi=Object.getOwnPropertyDescriptors,KGi=Object.getOwnPropertySymbols,XGi=Object.prototype.hasOwnProperty,ZGi=Object.prototype.propertyIsEnumerable,QGi=(e,t,n)=>t in e?$Gi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,JGi=(e,t)=>{for(var n in t||(t={}))XGi.call(t,n)&&QGi(e,n,t[n]);if(KGi)for(var n of KGi(t))ZGi.call(t,n)&&QGi(e,n,t[n]);return e},eHi=(e,t)=>qGi(e,YGi(t)),tHi={};((e,t)=>{for(var n in t)$Gi(e,n,{get:t[n],enumerable:!0})})(tHi,{bigquery:()=>THi,db2:()=>PHi,db2i:()=>jHi,hive:()=>QHi,mariadb:()=>azi,mysql:()=>fzi,n1ql:()=>Izi,plsql:()=>Bzi,postgresql:()=>$zi,redshift:()=>eji,singlestoredb:()=>Yji,snowflake:()=>nWi,spark:()=>lji,sql:()=>Eji,sqlite:()=>mji,tidb:()=>wzi,transactsql:()=>Uji,trino:()=>kji});var nHi=e=>e.flatMap(iHi),iHi=e=>dHi(sHi(e)).map(rHi),rHi=e=>e.replace(/ +/g," ").trim(),sHi=e=>({type:"mandatory_block",items:oHi(e,0)[0]}),oHi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=aHi(e,t);if(i.push(r),"|"!==e[t=s]){if("}"===e[t]||"]"===e[t]){if(n!==e[t])throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,++t]}if(t===e.length){if(n)throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,t]}throw new Error(`Unexpected "${e[t]}"`)}t++}return[i,t]},aHi=(e,t)=>{const n=[];for(;;){const[i,r]=lHi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},lHi=(e,t)=>{if("{"===e[t])return cHi(e,t+1);if("["===e[t])return uHi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},cHi=(e,t)=>{const[n,i]=oHi(e,t,"}");return[{type:"mandatory_block",items:n},i]},uHi=(e,t)=>{const[n,i]=oHi(e,t,"]");return[{type:"optional_block",items:n},i]},dHi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(dHi).reduce(hHi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(dHi);if("optional_block"===e.type)return["",...e.items.flatMap(dHi)];throw new Error(`Unknown node type: ${e}`)},hHi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},pHi=(e=>(e.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",e.IDENTIFIER="IDENTIFIER",e.STRING="STRING",e.VARIABLE="VARIABLE",e.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",e.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",e.RESERVED_KEYWORD="RESERVED_KEYWORD",e.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",e.RESERVED_PHRASE="RESERVED_PHRASE",e.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",e.RESERVED_CLAUSE="RESERVED_CLAUSE",e.RESERVED_SELECT="RESERVED_SELECT",e.RESERVED_JOIN="RESERVED_JOIN",e.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",e.ARRAY_KEYWORD="ARRAY_KEYWORD",e.CASE="CASE",e.END="END",e.WHEN="WHEN",e.ELSE="ELSE",e.THEN="THEN",e.LIMIT="LIMIT",e.BETWEEN="BETWEEN",e.AND="AND",e.OR="OR",e.XOR="XOR",e.OPERATOR="OPERATOR",e.COMMA="COMMA",e.ASTERISK="ASTERISK",e.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",e.OPEN_PAREN="OPEN_PAREN",e.CLOSE_PAREN="CLOSE_PAREN",e.LINE_COMMENT="LINE_COMMENT",e.BLOCK_COMMENT="BLOCK_COMMENT",e.DISABLE_COMMENT="DISABLE_COMMENT",e.NUMBER="NUMBER",e.NAMED_PARAMETER="NAMED_PARAMETER",e.QUOTED_PARAMETER="QUOTED_PARAMETER",e.NUMBERED_PARAMETER="NUMBERED_PARAMETER",e.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",e.CUSTOM_PARAMETER="CUSTOM_PARAMETER",e.DELIMITER="DELIMITER",e.EOF="EOF",e))(pHi||{}),gHi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),fHi=gHi(1/0),mHi=e=>t=>t.type===e.type&&t.text===e.text,vHi={ARRAY:mHi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:mHi({text:"BY",type:"RESERVED_KEYWORD"}),SET:mHi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:mHi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:mHi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:mHi({text:"VALUES",type:"RESERVED_CLAUSE"})},yHi=e=>"RESERVED_DATA_TYPE"===e||"RESERVED_KEYWORD"===e||"RESERVED_FUNCTION_NAME"===e||"RESERVED_PHRASE"===e||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"ARRAY_KEYWORD"===e||"CASE"===e||"END"===e||"WHEN"===e||"ELSE"===e||"THEN"===e||"LIMIT"===e||"BETWEEN"===e||"AND"===e||"OR"===e||"XOR"===e,bHi=nHi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),_Hi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),CHi=nHi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),SHi=nHi(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"]),wHi=nHi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),EHi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),xHi=nHi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),THi={name:"bigquery",tokenizerOptions:{reservedSelect:bHi,reservedClauses:[..._Hi,...SHi,...CHi],reservedSetOperations:wHi,reservedJoins:EHi,reservedPhrases:xHi,reservedKeywords:["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],reservedDataTypes:["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],reservedFunctionNames:["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH","ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP","ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING","ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:function(e){return function(e){let t=fHi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,eHi(JGi({},e),{type:"RESERVED_FUNCTION_NAME"})):(t=e,e))}(function(e){var t;const n=[];for(let i=0;i<e.length;i++){const r=e[i];if((vHi.ARRAY(r)||vHi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=RHi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(AHi("raw")).join(""),text:s.map(AHi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...CHi,...SHi],tabularOnelineClauses:SHi}};var AHi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function RHi(e,t){let n=0;for(let i=t;i<e.length;i++){const t=e[i];if("<"===t.text?n++:">"===t.text?n--:">>"===t.text&&(n-=2),0===n)return i}return e.length-1}var NHi=nHi(["SELECT [ALL | DISTINCT]"]),IHi=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),DHi=nHi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),kHi=nHi(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),OHi=nHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),LHi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),MHi=nHi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),PHi={name:"db2",tokenizerOptions:{reservedSelect:NHi,reservedClauses:[...IHi,...DHi,...kHi],reservedSetOperations:OHi,reservedJoins:LHi,reservedPhrases:MHi,reservedKeywords:["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],reservedFunctionNames:["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...DHi,...kHi],tabularOnelineClauses:kHi}},FHi=nHi(["SELECT [ALL | DISTINCT]"]),BHi=nHi(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),VHi=nHi(["CREATE [OR REPLACE] TABLE"]),UHi=nHi(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),GHi=nHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),HHi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),zHi=nHi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),jHi={name:"db2i",tokenizerOptions:{reservedSelect:FHi,reservedClauses:[...BHi,...VHi,...UHi],reservedSetOperations:GHi,reservedJoins:HHi,reservedPhrases:zHi,reservedKeywords:["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],reservedFunctionNames:["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[...VHi,...UHi],tabularOnelineClauses:UHi}},WHi=nHi(["SELECT [ALL | DISTINCT]"]),$Hi=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),qHi=nHi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),YHi=nHi(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),KHi=nHi(["UNION [ALL | DISTINCT]"]),XHi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),ZHi=nHi(["{ROWS | RANGE} BETWEEN"]),QHi={name:"hive",tokenizerOptions:{reservedSelect:WHi,reservedClauses:[...$Hi,...qHi,...YHi],reservedSetOperations:KHi,reservedJoins:XHi,reservedPhrases:ZHi,reservedKeywords:["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET","ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...qHi,...YHi],tabularOnelineClauses:YHi}};function JHi(e){return e.map((t,n)=>{const i=e[n+1]||fHi;if(vHi.SET(t)&&"("===i.text)return eHi(JGi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||fHi;return vHi.VALUES(t)&&"="===r.text?eHi(JGi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var ezi=nHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),tzi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),nzi=nHi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),izi=nHi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),rzi=nHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),szi=nHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),ozi=nHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),azi={name:"mariadb",tokenizerOptions:{reservedSelect:ezi,reservedClauses:[...tzi,...nzi,...izi],reservedSetOperations:rzi,reservedJoins:szi,reservedPhrases:ozi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK","COALESCE","NULLIF"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:JHi},formatOptions:{onelineClauses:[...nzi,...izi],tabularOnelineClauses:izi}},lzi=nHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),czi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),uzi=nHi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),dzi=nHi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),hzi=nHi(["UNION [ALL | DISTINCT]"]),pzi=nHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),gzi=nHi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),fzi={name:"mysql",tokenizerOptions:{reservedSelect:lzi,reservedClauses:[...czi,...uzi,...dzi],reservedSetOperations:hzi,reservedJoins:pzi,reservedPhrases:gzi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","EXTRACTVALUE","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLECTION","GEOMETRYCOLLECTION","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","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","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LINESTRING","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRCONTAINS","MBRCOVEREDBY","MBRCOVERS","MBRDISJOINT","MBREQUALS","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","NOT","NOT IN","NOT LIKE","NOT REGEXP","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","POINT","POLYGON","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_BUFFER","ST_BUFFER_STRATEGY","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_CONVEXHULL","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DISTANCE_SPHERE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_FRECHETDISTANCE","ST_GEOHASH","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMGEOJSON","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_HAUSDORFFDISTANCE","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_ISVALID","ST_LATFROMGEOHASH","ST_LATITUDE","ST_LENGTH","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINEINTERPOLATEPOINT","ST_LINEINTERPOLATEPOINTS","ST_LONGFROMGEOHASH","ST_LONGITUDE","ST_MAKEENVELOPE","ST_MLINEFROMTEXT","ST_MLINEFROMWKB","ST_MPOINTFROMTEXT","ST_MPOINTFROMWKB","ST_MPOLYFROMTEXT","ST_MPOLYFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTATDISTANCE","ST_POINTFROMGEOHASH","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SWAPXY","ST_SYMDIFFERENCE","ST_TOUCHES","ST_TRANSFORM","ST_UNION","ST_VALIDATE","ST_WITHIN","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:JHi},formatOptions:{onelineClauses:[...uzi,...dzi],tabularOnelineClauses:dzi}},mzi=nHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),vzi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),yzi=nHi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),bzi=nHi(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),_zi=nHi(["UNION [ALL | DISTINCT]"]),Czi=nHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Szi=nHi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),wzi={name:"tidb",tokenizerOptions:{reservedSelect:mzi,reservedClauses:[...vzi,...yzi,...bzi],reservedSetOperations:_zi,reservedJoins:Czi,reservedPhrases:Szi,supportsXor:!0,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","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_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:JHi},formatOptions:{onelineClauses:[...yzi,...bzi],tabularOnelineClauses:bzi}},Ezi=nHi(["SELECT [ALL | DISTINCT]"]),xzi=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),Tzi=nHi(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),Azi=nHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Rzi=nHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),Nzi=nHi(["{ROWS | RANGE | GROUPS} BETWEEN"]),Izi={name:"n1ql",tokenizerOptions:{reservedSelect:Ezi,reservedClauses:[...xzi,...Tzi],reservedSetOperations:Azi,reservedJoins:Rzi,reservedPhrases:Nzi,supportsXor:!0,reservedKeywords:["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],reservedDataTypes:[],reservedFunctionNames:["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR","CAST"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:Tzi}},Dzi=nHi(["SELECT [ALL | DISTINCT | UNIQUE]"]),kzi=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),Ozi=nHi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),Lzi=nHi(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),Mzi=nHi(["UNION [ALL]","MINUS","INTERSECT"]),Pzi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),Fzi=nHi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),Bzi={name:"plsql",tokenizerOptions:{reservedSelect:Dzi,reservedClauses:[...kzi,...Ozi,...Lzi],reservedSetOperations:Mzi,reservedJoins:Pzi,reservedPhrases:Fzi,supportsXor:!0,reservedKeywords:["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],reservedDataTypes:["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:function(e){let t=fHi;return e.map(e=>vHi.SET(e)&&vHi.BY(t)?eHi(JGi({},e),{type:"RESERVED_KEYWORD"}):(yHi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...Ozi,...Lzi],tabularOnelineClauses:Lzi}};var Vzi=nHi(["SELECT [ALL | DISTINCT]"]),Uzi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),Gzi=nHi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),Hzi=nHi(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE INDEX","CREATE LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE RULE","CREATE SCHEMA","CREATE SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE TRANSFORM","CREATE TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),zzi=nHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),jzi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Wzi=nHi(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),$zi={name:"postgresql",tokenizerOptions:{reservedSelect:Vzi,reservedClauses:[...Uzi,...Gzi,...Hzi],reservedSetOperations:zzi,reservedJoins:jzi,reservedPhrases:Wzi,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","VARCHAR","XML","ZONE"],reservedFunctionNames:["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET","ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER","BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY","UUID","CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS","ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION","BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS","PG_MCV_LIST_ITEMS","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...Gzi,...Hzi],tabularOnelineClauses:Hzi}},qzi=nHi(["SELECT [ALL | DISTINCT]"]),Yzi=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),Kzi=nHi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),Xzi=nHi(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),Zzi=nHi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),Qzi=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Jzi=nHi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),eji={name:"redshift",tokenizerOptions:{reservedSelect:qzi,reservedClauses:[...Yzi,...Kzi,...Xzi],reservedSetOperations:Zzi,reservedJoins:Qzi,reservedPhrases:Jzi,reservedKeywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],reservedDataTypes:["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],reservedFunctionNames:["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC","AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC","EXPLAIN_MODEL","ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER","decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof","AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Kzi,...Xzi],tabularOnelineClauses:Xzi}},tji=nHi(["SELECT [ALL | DISTINCT]"]),nji=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),iji=nHi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),rji=nHi(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),sji=nHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),oji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),aji=nHi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),lji={name:"spark",tokenizerOptions:{reservedSelect:tji,reservedClauses:[...nji,...iji,...rji],reservedSetOperations:sji,reservedJoins:oji,reservedPhrases:aji,supportsXor:!0,reservedKeywords:["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH","CAST","COALESCE","NULLIF"],extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:function(e){return e.map((t,n)=>{const i=e[n-1]||fHi,r=e[n+1]||fHi;return vHi.WINDOW(t)&&"OPEN_PAREN"===r.type?eHi(JGi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:eHi(JGi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...iji,...rji],tabularOnelineClauses:rji}};var cji=nHi(["SELECT [ALL | DISTINCT]"]),uji=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET"]),dji=nHi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),hji=nHi(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),pji=nHi(["UNION [ALL]","EXCEPT","INTERSECT"]),gji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),fji=nHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),mji={name:"sqlite",tokenizerOptions:{reservedSelect:cji,reservedClauses:[...uji,...dji,...hji],reservedSetOperations:pji,reservedJoins:gji,reservedPhrases:fji,reservedKeywords:["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],reservedDataTypes:["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],reservedFunctionNames:["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...dji,...hji],tabularOnelineClauses:hji}},vji=nHi(["SELECT [ALL | DISTINCT]"]),yji=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),bji=nHi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),_ji=nHi(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),Cji=nHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Sji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),wji=nHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),Eji={name:"sql",tokenizerOptions:{reservedSelect:vji,reservedClauses:[...yji,...bji,..._ji],reservedSetOperations:Cji,reservedJoins:Sji,reservedPhrases:wji,reservedKeywords:["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...bji,..._ji],tabularOnelineClauses:_ji}},xji=nHi(["SELECT [ALL | DISTINCT]"]),Tji=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),Aji=nHi(["CREATE TABLE [IF NOT EXISTS]"]),Rji=nHi(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),Nji=nHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Iji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Dji=nHi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),kji={name:"trino",tokenizerOptions:{reservedSelect:xji,reservedClauses:[...Tji,...Aji,...Rji],reservedSetOperations:Nji,reservedJoins:Iji,reservedPhrases:Dji,reservedKeywords:["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],reservedDataTypes:["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],reservedFunctionNames:["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...Aji,...Rji],tabularOnelineClauses:Rji}},Oji=nHi(["SELECT [ALL | DISTINCT]"]),Lji=nHi(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET","CREATE [OR ALTER] {PROC | PROCEDURE}"]),Mji=nHi(["CREATE TABLE"]),Pji=nHi(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","GO","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLLATE","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","FUNCTION","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION FUNCTION","PARTITION SCHEME","PROCEDURE","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),Fji=nHi(["UNION [ALL]","EXCEPT","INTERSECT"]),Bji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),Vji=nHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),Uji={name:"transactsql",tokenizerOptions:{reservedSelect:Oji,reservedClauses:[...Lji,...Mji,...Pji],reservedSetOperations:Fji,reservedJoins:Bji,reservedPhrases:Vji,reservedKeywords:["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],reservedDataTypes:["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST","@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Mji,...Pji],tabularOnelineClauses:Pji}},Gji=nHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Hji=nHi(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),zji=nHi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),jji=nHi(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),Wji=nHi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),$ji=nHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),qji=nHi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Yji={name:"singlestoredb",tokenizerOptions:{reservedSelect:Gji,reservedClauses:[...Hji,...zji,...jji],reservedSetOperations:Wji,reservedJoins:$ji,reservedPhrases:qji,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:JHi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...zji,...jji],tabularOnelineClauses:jji}},Kji=nHi(["SELECT [ALL | DISTINCT]"]),Xji=nHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),Zji=nHi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),Qji=nHi(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),Jji=nHi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),eWi=nHi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),tWi=nHi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),nWi={name:"snowflake",tokenizerOptions:{reservedSelect:Kji,reservedClauses:[...Xji,...Zji,...Qji],reservedSetOperations:Jji,reservedJoins:eWi,reservedPhrases:tWi,reservedKeywords:["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],reservedDataTypes:["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],reservedFunctionNames:["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Zji,...Qji],tabularOnelineClauses:Qji}},iWi=e=>e[e.length-1],rWi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),sWi=e=>e.replace(/\s+/gu," "),oWi=e=>/\n/.test(e),aWi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),lWi=/\s+/uy,cWi=e=>new RegExp(`(?:${e})`,"uy"),uWi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),dWi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return cWi(i.map(aWi).join("|"))},hWi=e=>cWi(`${rWi(e).map(aWi).join("|")}`),pWi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=rWi(e).map(aWi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},gWi=(e,t)=>{if(!e.length)return;const n=e.map(aWi).join("|");return cWi(`(?:${n})(?:${t})`)},fWi={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const e={"<":">","[":"]","(":")","{":"}"},t=Object.entries(e).map(([e,t])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,aWi(e)).replace(/{right}/g,aWi(t))),n=aWi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},mWi=e=>"string"==typeof e?fWi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(uWi).join("|")}${t?"":"|"})`)(e)+fWi[e.quote],vWi=e=>e.map(mWi).join("|"),yWi=e=>cWi(vWi(e)),bWi=(e={})=>cWi(_Wi(e)),_Wi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=aWi(null!=e?e:""),a=aWi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function CWi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var SWi=class{constructor(e,t){this.rules=e,this.dialectName=t,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const t=[];let n;for(;this.index<this.input.length;){const e=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();t.push(eHi(JGi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=CWi(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${n}.\n${this.dialectInfo()}`)}dialectInfo(){return"sql"===this.dialectName?'This likely happens because you\'re using the default "sql" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).':`SQL dialect used: "${this.dialectName}".`}getWhitespace(){lWi.lastIndex=this.index;const e=lWi.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const n=t[0],i={type:e.type,raw:n,text:e.text?e.text(n):n,start:this.index};return e.key&&(i.key=e.key(n)),this.index+=n.length,i}}},wWi=/\/\*/uy,EWi=/[\s\S]/uy,xWi=/\*\//uy,TWi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(wWi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(wWi,e))n+=t,i++;else if(t=this.matchSection(xWi,e))n+=t,i--;else{if(!(t=this.matchSection(EWi,e)))return null;n+=t}return[n]}matchSection(e,t){e.lastIndex=this.lastIndex;const n=e.exec(t);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}},AWi=class{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],i=new SWi(n,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(i):i}buildRulesBeforeParams(e){var t,n,i;return this.validRules([{type:"BLOCK_COMMENT",regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:"BLOCK_COMMENT",regex:e.nestedBlockComments?new TWi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(aWi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:yWi(e.identTypes)},{type:"NUMBER",regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:"RESERVED_PHRASE",regex:pWi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:RWi},{type:"CASE",regex:/CASE\b/iuy,text:RWi},{type:"END",regex:/END\b/iuy,text:RWi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:RWi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:RWi},{type:"RESERVED_CLAUSE",regex:pWi(e.reservedClauses,e.identChars),text:RWi},{type:"RESERVED_SELECT",regex:pWi(e.reservedSelect,e.identChars),text:RWi},{type:"RESERVED_SET_OPERATION",regex:pWi(e.reservedSetOperations,e.identChars),text:RWi},{type:"WHEN",regex:/WHEN\b/iuy,text:RWi},{type:"ELSE",regex:/ELSE\b/iuy,text:RWi},{type:"THEN",regex:/THEN\b/iuy,text:RWi},{type:"RESERVED_JOIN",regex:pWi(e.reservedJoins,e.identChars),text:RWi},{type:"AND",regex:/AND\b/iuy,text:RWi},{type:"OR",regex:/OR\b/iuy,text:RWi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:RWi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:pWi(e.reservedFunctionNames,e.identChars),text:RWi},{type:"RESERVED_DATA_TYPE",regex:pWi(e.reservedDataTypes,e.identChars),text:RWi},{type:"RESERVED_KEYWORD",regex:pWi(e.reservedKeywords,e.identChars),text:RWi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,cWi(i.map(e=>"regex"in e?e.regex:mWi(e)).join("|"))):void 0},{type:"STRING",regex:yWi(e.stringTypes)},{type:"IDENTIFIER",regex:bWi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:dWi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:dWi("close",e.extraParens)},{type:"OPERATOR",regex:hWi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:hWi([".",...null!=(n=e.propertyAccessOperators)?n:[]])}])}buildParamRules(e,t){var n,i,r,s,o;const a={named:(null==t?void 0:t.named)||(null==(n=e.paramTypes)?void 0:n.named)||[],quoted:(null==t?void 0:t.quoted)||(null==(i=e.paramTypes)?void 0:i.quoted)||[],numbered:(null==t?void 0:t.numbered)||(null==(r=e.paramTypes)?void 0:r.numbered)||[],positional:"boolean"==typeof(null==t?void 0:t.positional)?t.positional:null==(s=e.paramTypes)?void 0:s.positional,custom:(null==t?void 0:t.custom)||(null==(o=e.paramTypes)?void 0:o.custom)||[]};return this.validRules([{type:"NAMED_PARAMETER",regex:gWi(a.named,_Wi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:gWi(a.quoted,vWi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(aWi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:gWi(a.numbered,"[0-9]+"),key:e=>e.slice(1)},{type:"POSITIONAL_PARAMETER",regex:a.positional?/[?]/y:void 0},...a.custom.map(e=>{var t;return{type:"CUSTOM_PARAMETER",regex:cWi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},RWi=e=>sWi(e.toUpperCase()),NWi=new Map,IWi=e=>({tokenizer:new AWi(e.tokenizerOptions,e.name),formatOptions:DWi(e.formatOptions)}),DWi=e=>{var t;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(e=>[e,!0])),tabularOnelineClauses:Object.fromEntries((null!=(t=e.tabularOnelineClauses)?t:e.onelineClauses).map(e=>[e,!0]))}};function kWi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var OWi=class{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}};function LWi(e){return e.map(MWi).map(PWi).map(FWi).map(BWi).map(VWi)}var MWi=(e,t,n)=>{if(yHi(e.type)){const i=UWi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return eHi(JGi({},e),{type:"IDENTIFIER",text:e.raw});const r=GWi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return eHi(JGi({},e),{type:"IDENTIFIER",text:e.raw})}return e},PWi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=GWi(n,t);if(!i||!HWi(i))return eHi(JGi({},e),{type:"IDENTIFIER",text:e.raw})}return e},FWi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=GWi(n,t);if(i&&HWi(i))return eHi(JGi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},BWi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=GWi(n,t);if(i&&zWi(i))return eHi(JGi({},e),{type:"ARRAY_IDENTIFIER"})}return e},VWi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=GWi(n,t);if(i&&zWi(i))return eHi(JGi({},e),{type:"ARRAY_KEYWORD"})}return e},UWi=(e,t)=>GWi(e,t,-1),GWi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&jWi(e[t+i*n]);)i++;return e[t+i*n]},HWi=e=>"OPEN_PAREN"===e.type&&"("===e.text,zWi=e=>"OPEN_PAREN"===e.type&&"["===e.text,jWi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,WWi=class{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:t,col:n}=CWi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in pHi}};function $Wi(e){return e[0]}var qWi=new WWi(e=>[]),YWi=([[e]])=>e,KWi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),XWi=e=>({type:"data_type",text:e.text,raw:e.raw}),ZWi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=eHi(JGi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=eHi(JGi({},e),{trailingComments:n})),e),QWi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[ZWi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,ZWi(i,{trailing:n})]}return e},JWi={Lexer:qWi,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const t=e[e.length-1];return t&&!t.hasSemicolon?t.children.length>0?e:e.slice(0,-1):e}},{name:"statement$subexpression$1",symbols:[qWi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[qWi.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:"statement",children:e,hasSemicolon:"DELIMITER"===t.type})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([e,t])=>[...e,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:YWi},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[qWi.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:$Wi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[qWi.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,n,i])=>{if(i){const[r,s]=i;return{type:"limit_clause",limitKw:ZWi(KWi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:ZWi(KWi(e),{trailing:t}),count:n}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[qWi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:KWi(e),children:[t,...n]})},{name:"select_clause",symbols:[qWi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:KWi(e),children:[]})},{name:"all_columns_asterisk",symbols:[qWi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:"all_columns_asterisk"})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"other_clause",symbols:[qWi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:KWi(e),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"set_operation",symbols:[qWi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:KWi(e),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:$Wi},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([e,t])=>ZWi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>ZWi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>ZWi(t,{leading:e})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:YWi},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:YWi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:YWi},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:YWi},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:YWi},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:YWi},{name:"array_subscript",symbols:[qWi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:ZWi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[qWi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:ZWi(KWi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[qWi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:ZWi(KWi(e),{trailing:t}),parenthesis:n})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",qWi.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,t,n,i,[r]])=>({type:"property_access",object:ZWi(e,{trailing:t}),operator:n.text,property:ZWi(r,{leading:i})})},{name:"between_predicate",symbols:[qWi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",qWi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:KWi(e),expr1:QWi(n,{leading:t,trailing:i}),andKw:KWi(r),expr2:[ZWi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:$Wi},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:e=>e[0].concat([e[1]])},{name:"case_expression",symbols:[qWi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",qWi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:ZWi(KWi(e),{trailing:t}),endKw:KWi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[qWi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",qWi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:ZWi(KWi(e),{trailing:t}),thenKw:ZWi(KWi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[qWi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:ZWi(KWi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[qWi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[qWi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[qWi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[qWi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[qWi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[qWi.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:"identifier",quoted:"IDENTIFIER"!==e.type,text:e.text})},{name:"parameter$subexpression$1",symbols:[qWi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[qWi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[qWi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[qWi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[qWi.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:"parameter",key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[qWi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[qWi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[qWi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[qWi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[qWi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>KWi(e)},{name:"data_type$subexpression$1",symbols:[qWi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>XWi(e)},{name:"data_type",symbols:[qWi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:ZWi(XWi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[qWi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[qWi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[qWi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>KWi(e)},{name:"other_keyword$subexpression$1",symbols:[qWi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[qWi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[qWi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[qWi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>KWi(e)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([e])=>e},{name:"comment",symbols:[qWi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[qWi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[qWi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},e$i=JWi,{Parser:t$i,Grammar:n$i}=WGi;var i$i=class{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case 0:this.items.push(0);break;case 1:this.trimHorizontalWhitespace();break;case 2:this.trimWhitespace();break;case 3:this.trimHorizontalWhitespace(),this.addNewline(3);break;case 4:this.trimHorizontalWhitespace(),this.addNewline(4);break;case 5:this.addIndentation();break;case 6:this.items.push(6);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;r$i(iWi(this.items));)this.items.pop()}trimWhitespace(){for(;s$i(iWi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(iWi(this.items)){case 3:this.items.pop(),this.items.push(e);break;case 4:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(6)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case 0:return" ";case 3:case 4:return"\n";case 6:return this.indentation.getSingleIndent();default:return e}}},r$i=e=>0===e||6===e,s$i=e=>0===e||6===e||3===e;function o$i(e,t){if("standard"===t)return e;let n=[];return e.length>=10&&e.includes(" ")&&([e,...n]=e.split(" ")),(e="tabularLeft"===t?e.padEnd(9," "):e.padStart(9," "))+["",...n].join(" ")}function a$i(e){return(e=>"AND"===e||"OR"===e||"XOR"===e)(e)||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"LIMIT"===e}var l$i="top-level",c$i=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(l$i)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&iWi(this.indentTypes)===l$i&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==l$i)break}}},u$i=class extends i$i{constructor(e){super(new c$i("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new d$i;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new d$i;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},d$i=class extends Error{},h$i=class e{constructor({cfg:e,dialectCfg:t,params:n,layout:i,inline:r=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=r,this.params=n,this.layout=i}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case"function_call":return this.formatFunctionCall(e);case"parameterized_data_type":return this.formatParameterizedDataType(e);case"array_subscript":return this.formatArraySubscript(e);case"property_access":return this.formatPropertyAccess(e);case"parenthesis":return this.formatParenthesis(e);case"between_predicate":return this.formatBetweenPredicate(e);case"case_expression":return this.formatCaseExpression(e);case"case_when":return this.formatCaseWhen(e);case"case_else":return this.formatCaseElse(e);case"clause":return this.formatClause(e);case"set_operation":return this.formatSetOperation(e);case"limit_clause":return this.formatLimitClause(e);case"all_columns_asterisk":return this.formatAllColumnsAsterisk(e);case"literal":return this.formatLiteral(e);case"identifier":return this.formatIdentifier(e);case"parameter":return this.formatParameter(e);case"operator":return this.formatOperator(e);case"comma":return this.formatComma(e);case"line_comment":return this.formatLineComment(e);case"block_comment":case"disable_comment":return this.formatBlockComment(e);case"data_type":return this.formatDataType(e);case"keyword":return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case"data_type":t=this.showDataType(e.array);break;case"keyword":t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array)}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(1,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(1,e.closeParen,0)):(this.layout.add(e.openParen,3),kWi(this.cfg)?(this.layout.add(5),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(3,5,e.closeParen,0))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),0),this.layout=this.formatSubExpression(e.expr1),this.layout.add(1,0,this.showNonTabularKw(e.andKw),0),this.layout=this.formatSubExpression(e.expr2),this.layout.add(0)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(3,5),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(3,5),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(3,5),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):kWi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return kWi(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.indentation.increaseTopLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.add(5),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(3,5,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),kWi(this.cfg)?this.layout.add(0):this.layout.add(3,5),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(1,",",0),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",0)}formatLiteral(e){this.layout.add(e.text,0)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),0)}formatParameter(e){this.layout.add(this.params.get(e),0)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(1,e):":"===e?this.layout.add(1,e,0):this.layout.add(e,0)}formatComma(e){this.inline?this.layout.add(1,",",0):this.layout.add(1,",",3,5)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(e=>{"line_comment"===e.type?this.formatLineComment(e):this.formatBlockComment(e)})}formatLineComment(e){oWi(e.precedingWhitespace||"")?this.layout.add(3,5,e.text,4,5):this.layout.getLayoutItems().length>0?this.layout.add(2,0,e.text,4,5):this.layout.add(e.text,4,5)}formatBlockComment(e){"block_comment"===e.type&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach(e=>{this.layout.add(3,5,e)}),this.layout.add(3,5)):this.layout.add(e.text,0)}isMultilineBlockComment(e){return oWi(e.text)||oWi(e.precedingWhitespace||"")}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(e=>/^\s*\*/.test(e))&&/^\s*\*\/$/.test(iWi(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(e=>/^\s*\*/.test(e)?" "+e.replace(/^\s*/,""):e):e.split(/\n/).map(e=>e.replace(/^\s*/,""))}formatSubExpression(t){return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const n=this.params.getPositionalParameterIndex();try{return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new u$i(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof d$i)return void this.params.setPositionalParameterIndex(n);throw e}}formatKeywordNode(e){switch(e.tokenType){case"RESERVED_JOIN":return this.formatJoin(e);case"AND":case"OR":case"XOR":return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){kWi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0)}formatKeyword(e){this.layout.add(this.showKw(e),0)}formatLogicalOperator(e){"before"===this.cfg.logicalOperatorNewline?kWi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0):this.layout.add(this.showKw(e),3,5)}formatDataType(e){this.layout.add(this.showDataType(e),0)}showKw(e){return a$i(e.tokenType)?o$i(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return sWi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return a$i(e.tokenType)?o$i(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return sWi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return sWi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},p$i=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new OWi(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return function(e){let t={};const n=new WWi(n=>[...LWi(e.tokenize(n,t)),gHi(n.length)]),i=new t$i(n$i.fromCompiled(e$i),{lexer:n});return{parse:(e,n)=>{t=n;const{results:r}=i.feed(e);if(1===r.length)return r[0];throw 0===r.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(r,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(e=>this.formatStatement(e)).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new h$i({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new i$i(new c$i((n=this.cfg,"tabularLeft"===n.indentStyle||"tabularRight"===n.indentStyle?" ".repeat(10):n.useTabs?"\t":" ".repeat(n.tabWidth))))}).format(e.children);var n;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(3,";"):t.add(2,";")),t.toString()}},g$i=class extends Error{};function f$i(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new g$i(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new g$i(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);var n;if(e.params&&!((n=e.params)instanceof Array?n:Object.values(n)).every(e=>"string"==typeof e)&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!function(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every(e=>""!==e.regex);return!0}(e.paramTypes))throw new g$i("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var m$i={bigquery:"bigquery",db2:"db2",db2i:"db2i",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},v$i=Object.keys(m$i),y$i={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},b$i=(e,t={})=>{if("string"==typeof t.language&&!v$i.includes(t.language))throw new g$i(`Unsupported SQL dialect: ${t.language}`);const n=m$i[t.language||"sql"];return _$i(e,eHi(JGi({},t),{dialect:tHi[n]}))},_$i=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)XGi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&KGi)for(var i of KGi(e))t.indexOf(i)<0&&ZGi.call(e,i)&&(n[i]=e[i]);return n})(n,["dialect"]);if("string"!=typeof e)throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const s=f$i(JGi(JGi({},y$i),r));return new p$i((e=>{let t=NWi.get(e);return t||(t=IWi(e),NWi.set(e,t)),t})(i),s).format(e)};const C$i=console.error;function S$i(e){return AG_GRID_LICENSE&&rvi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Une.jsx(Lmi,{theme:"legacy",...e,modules:[Cfi,gLi],onGridReady:t=>{e.onGridReady?.(t),"production"!==process.env.NODE_ENV&&(console.error=C$i)}})}class w$i{uuid=Mr()}const E$i=(e,t,n)=>{const i=new bS(N_(t)),r=n??e.filterState.lambdaParameterName,s=e.sourceState.buildLeftExpression(e.filterState.queryBuilderState,r);if(i.parametersValues.push(s),e.rightConditionValue&&e.rightConditionValue instanceof GFi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof HFi){const t=FFi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.filterState.queryBuilderState,r);i.parametersValues.push(t)}return i},x$i=e=>{const t=e.parametersValues[0];return t instanceof _S?t.func.value.genericType.value.rawType.path:t instanceof yS&&t.func instanceof W_?t.func.genericType.value.rawType.path:void 0},T$i=(e,t,n,i,r=!1)=>{let s,o;if(k_(t.functionName,n)){br(t.parametersValues.length===(r?1:2),`Can't process ${N_(n)}() expression: ${N_(n)}() expects ${r?"no argument":"1 argument"}`);const i=t.parametersValues[0];if(i instanceof _S)s=new $Fi(e,i);else{if(!(i instanceof yS&&i.func instanceof W_))throw new Error(`Can't process ${N_(n)}() expression: expects property expression or relation column in lambda body`);{const t=i.func;s=new $Fi(e,new WFi(t.name,t.genericType.value.rawType))}}o=t}else if(k_(t.functionName,Zgt.EXISTS)){const i=fr(t.parametersValues[1],wS),a=fr(i.values[0],SS),l=fr(a.expressionSequence[0],bS);br(l.parametersValues.length===(r?1:2),`Can't process ${N_(n)}() expression: ${N_(n)}() expects ${r?"no argument":"1 argument"}`);const c=fr(l.parametersValues[0],_S,`Can't process ${N_(n)}() expression: expects property expression in lambda body`);s=new $Fi(e,c),o=l}if(s&&o){br(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${N_(n)}() expression: property is not compatible with operator`),s.setOperator(i);const t=o.parametersValues[1];return r||!t?s.setRightConditionValue(void 0):t instanceof _S?s.setRightConditionValue(new HFi(s,new KPi(e.queryBuilderState,t))):s.setRightConditionValue(new GFi(s,Nft(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new GFi(s,i.getDefaultFilterConditionValue(s))),s}};class A$i extends w$i{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)||t instanceof J_&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return wft(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return E$i(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Zgt.IS_ON_DAY:Zgt.EQUAL,t)}buildFilterConditionState(e,t){return T$i(e,t,x$i(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_DAY:Zgt.EQUAL,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_EQUAL])}}class R$i extends A$i{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_NOT_EQUAL])}}class N$i extends w$i{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.STRING,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)||t instanceof J_}isCompatibleWithFilterConditionValue(e){const t=e.leftConditionType,n=e.rightConditionValue;if(n instanceof GFi){const i=n.value;if(i instanceof uS){if(0===i.values.length)return!0;const n=vft(e.filterState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(Sft(t)??t.path)?[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(Sft(n)??n.path):n===t)}if(i instanceof oS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.leftConditionType;return new uS(T_.ONE,G_.create(new q_(t)))}buildFilterConditionExpression(e,t){return E$i(e,Zgt.IN,t)}buildFilterConditionState(e,t){return T$i(e,t,Zgt.IN,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_IN])}}class I$i extends N$i{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_NOT_IN])}}class D$i extends w$i{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType;return!!(e.sourceState instanceof jFi&&Cft(e.propertyExpressionState.propertyExpression))&&(t instanceof J_||t instanceof B_||t instanceof V_)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return E$i(e,Zgt.IS_EMPTY,t)}buildFilterConditionState(e,t){return T$i(e,t,Zgt.IS_EMPTY,this,!0)}get hashCode(){return mv([Ift.FILTER_OPERATOR_IS_EMPTY])}}class k$i extends D$i{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_IS_NOT_EMPTY])}}const O$i=e=>{try{return b$i(e,{language:"mysql"})}catch{try{return b$i(e)}catch{return e}}},L$i=e=>{const t=e.result.rows.map((t,n)=>{const i={},r=e.result.columns;return t.values.forEach((e,t)=>{i[r[t]]=e}),i.rowNumber=n,i});return t},M$i=new A$i,P$i=new R$i,F$i=new N$i,B$i=new I$i,V$i=new D$i,U$i=new k$i,G$i=new BBi,H$i=new LBi,z$i=new PBi,j$i=new FBi,W$i=new VBi,$$i=new MBi,q$i=(e,t,n)=>{t.value&&hft(e,e instanceof cS?lC.create(dr((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},Y$i=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?V$i:M$i:null===t.value?U$i:P$i)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(pr(QFi)).filter(n=>n.condition.sourceState instanceof jFi&&n.condition.sourceState.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[V$i,U$i]:t?[M$i,F$i]:[P$i,B$i],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===V$i||i===U$i){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?V$i:U$i))}const o=e.condition,a=o.rightConditionValue;if(a instanceof GFi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof aS&&(a.value instanceof cS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);q$i(i,n,s),o.changeOperator(t?F$i:B$i),pft(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof aS&&a.value.values.filter(e=>e instanceof aS).map(e=>e instanceof cS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?M$i:P$i).getDefaultFilterConditionValue(o);q$i(e,n,s),pft(a.value,[...a.value.values,e],s.observerContext)}}})(a,t,n,o,i,s);else try{((e,t,n,i,r)=>{let s;try{if(r){s=new $Fi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),q$i(e,n,i.queryBuilderState),i.addNodeFromNode(new QFi(void 0,s),void 0)}}catch(t){return bi(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s.filterState,r.propertyExpression)}catch(t){bi(t),e.alertUnhandledError(t)}},K$i=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?z$i:G$i:null===t.value?j$i:W$i)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(pr(ABi)).filter(e=>e.condition.leftConditionValue instanceof tFi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[z$i,j$i]:t?[G$i,H$i]:[W$i,$$i],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===z$i||i===j$i){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?z$i:j$i))}const o=e.condition,a=o.rightConditionValue;if(a instanceof IBi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof aS&&(a.value instanceof cS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);q$i(i,n,s.queryBuilderState),o.changeOperator(t?H$i:$$i),pft(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof aS&&a.value.values.filter(e=>e instanceof aS).map(e=>e instanceof cS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?G$i:W$i).getDefaultFilterConditionValue(o);q$i(e,n,s.queryBuilderState),pft(a.value,[...a.value.values,e],s.queryBuilderState.observerContext)}}})(a,t,n,o,i,s);else try{await(async(e,t,n,i,r)=>{let s;try{const e=n.columnName?i.projectionColumns.filter(e=>e.columnName===n.columnName).concat(i.aggregationState.columns.filter(e=>e.columnName===n.columnName).map(e=>e.projectionColumnState))[0]:r;if(e){s=new kBi(i.postFilterState,e,t),r instanceof sFi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),q$i(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new ABi(void 0,s),void 0)}}catch(t){return bi(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s,r)}catch(t){bi(t),e.alertUnhandledError(t)}},X$i=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?EFi(r,n.columnName):void 0;s instanceof sFi||s instanceof aFi||s instanceof nFi&&VFi(s.propertyExpressionState.propertyExpression)?await K$i(e,t,n,i,s,r):s instanceof nFi?Y$i(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},Z$i=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await X$i(e,n,r,t,i)};Lse(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Wht(),a=n?.columnName?EFi(i,n.columnName):void 0;return Une.jsxs(OPe,{ref:t,children:[Une.jsx(LPe,{disabled:!a,onClick:()=>{Z$i(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),Une.jsx(LPe,{disabled:!a,onClick:()=>{Z$i(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),Une.jsx(MPe,{}),Une.jsx(LPe,{onClick:r,children:"Copy Cell Value"}),Une.jsx(LPe,{onClick:s,children:"Copy Row Value"})]})}));const Q$i=Lse(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return Une.jsxs(Une.Fragment,{children:[Une.jsxs("div",{className:"query-builder__sql__container",children:[Une.jsx(QPe,{}),Une.jsxs("div",{children:[Une.jsx("div",{className:"query-builder__sql__container__item__label",children:Une.jsxs(XPe,{children:["SQL",Une.jsx("div",{children:Une.jsx("button",{onClick:()=>{(e=>{r.clipboardService.copyTextToClipboard(e).then(()=>r.notificationService.notifySuccess("SQL Query copied",void 0,2500)).catch(r.alertUnhandledError)})(t)},title:"Copy SQL Expression",className:"query-builder__sql__container__icon",children:Une.jsx(nre,{})})})]})}),Une.jsx("div",{className:"query-builder__sql__container__code-editor",children:Une.jsx(FGi,{inputValue:O$i(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:vkn.SQL})}),Une.jsx(QPe,{})]},t)]}),n.length>0&&Une.jsx("div",{className:"query-builder__sql__container",children:Une.jsxs("div",{children:[Une.jsx(XPe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__sql__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Label"}),Une.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),Une.jsx("tbody",{children:n.map(e=>Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&Une.jsx("td",{className:"table__cell--left",children:J$(e.dataType)})]},e.label))})]})]})})]})}),J$i=Lse(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?Une.jsx(Q$i,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):Une.jsxs(KPe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Une.jsx(Q$i,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),Une.jsx(MGi,{resultType:i}),Une.jsx("div",{className:"query-builder__sql__container",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})}),eqi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return Une.jsxs("div",{className:n,children:[Une.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&Une.jsx("div",{className:`${n}__tag`,children:t.value.path}),Une.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},tqi=e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r,innerProps:s}=e,{isReadOnly:o,removeNode:a}=s;let l,c,u;t.tree instanceof AS?(l=t.tree.property.value,c=l.genericType.value.rawType,u=t.tree.subType?.value):t.tree instanceof TS&&(c=t.tree.class.value);const d=Boolean(t.childrenIds.length)?t.isOpen?Une.jsx(qre,{}):Une.jsx(Kre,{}):Une.jsx("div",{}),h=c?jVi(c):Une.jsx(FEe,{}),p=()=>r?.(t);return Une.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[Une.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[Une.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[Une.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:d}),Une.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),Une.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,u&&Une.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:Une.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:u.name})}),Une.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:Une.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),Une.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:Une.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:Une.jsx(Bre,{})})})]})},nqi=Lse(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return Une.jsx(cye,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Une.jsxs(EPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[Une.jsx(TPe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),Une.jsx(RPe,{className:"query-builder-graph-fetch-config__content",children:Une.jsx(jPe,{children:Une.jsxs(ZPe,{children:[Une.jsx(tFe,{name:"Type Key Name",value:i.typeKeyName,isReadOnly:!1,update:e=>i.setTypeName(e??""),errorMessage:""===i.typeKeyName?"Type key name can't be empty":void 0}),Une.jsx(tFe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),Une.jsx(iFe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),Une.jsx(iFe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),Une.jsx(iFe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),Une.jsx(iFe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),Une.jsx(iFe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),Une.jsx(iFe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),Une.jsxs(NPe,{children:[!s&&Une.jsx(DPe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),Une.jsx(DPe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),iqi=Lse(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>GVi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return Une.jsx("div",{className:"query-builder-graph-fetch-external-format",children:Une.jsxs("div",{className:"service-execution-editor__configuration__items",children:[Une.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Une.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Une.jsx(Gie,{})}),Une.jsx(CPe,{className:"panel__content__form__section__dropdown service-execution-editor__configuration__item__dropdown",disabled:s,options:o,onChange:e=>{null!==e&&(n.setBinding(e.value),n.setGraphFetchTree(i))},value:a,formatOptionLabel:eqi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Une.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Une.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Une.jsx(fre,{})}),Une.jsx(Kke,{components:{TreeNodeContainer:tqi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen)},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(cr),innerProps:{isReadOnly:s,removeNode:e=>{1===i.nodes.size?t.queryBuilderState.applicationStore.notificationService.notifyWarning("externalize serialization tree can not be empty"):(mGi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),rqi=Lse(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(pr(lK)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(pr(K_)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...Lw(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof K_))).includes(i.tree.class.value)});return Une.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[Une.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[Une.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(bGi).map(e=>{return Une.jsx("button",{onClick:(r=e,()=>{r!==n.getLabel()&&t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to a different serialization mode. Do you still want to proceed?",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case bGi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new xGi(t,o[0],void 0);t.setGraphFetchTree(i),e.setGraphFetchTree(mn(i)),t.setSerializationState(e)}else t.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't switch to external format serialization: No compatible bindings found");break;case bGi.PURE:default:t.setSerializationState(new EGi(t))}})},{label:"Cancel",type:Apt.PROCEED,default:!0}]})}),className:Bse("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:vm(e)},e);var r})}),Une.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof EGi&&Une.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:Une.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof EGi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[Une.jsx(Eie,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),Une.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),Une.jsxs("div",{className:Bse("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[Une.jsx("button",{className:Bse("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?Une.jsx(Xie,{}):Une.jsx(Pre,{})}),Une.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),Une.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:Une.jsx(_re,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),Une.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof EGi&&n.configModal&&Une.jsx(nqi,{pureSerializationState:n,graphFetchState:t,config:n.config??SGi.createDefault()}),Une.jsxs(xUe,{orientation:"horizontal",children:[Une.jsx(TUe,{children:Une.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:Une.jsx(Kke,{components:{TreeNodeContainer:tqi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen),r({...i})},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(cr),innerProps:{isReadOnly:s,removeNode:e=>{mGi(i,e),0===i.nodes.size&&t.setSerializationState(new EGi(t)),n instanceof xGi&&n.treeData?.nodes.get(e.id)&&(mGi(n.treeData,dr(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),Une.jsx(AUe,{}),n instanceof xGi&&n.treeData&&Une.jsx(TUe,{children:Une.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),Une.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Une.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:Une.jsx(iqi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),sqi=Lse(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof xGi&&i.addProperty(mn(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=tVe(()=>({accept:[AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{Ggt.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:Une.jsxs(xVe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||pGi(r))&&Une.jsx(aFe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!pGi(r)&&Une.jsx(rqi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),oqi=Lse(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof EGi||n instanceof xGi?Une.jsx(sqi,{graphFetchTreeState:t,serializationState:n}):Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_GRAPH_FETCH,children:Une.jsx(sFe,{children:Une.jsxs("div",{className:"unsupported-element-editor__main",children:[Une.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),Une.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(IGi.TEXT),children:"Edit in text mode"})]})})})}),aqi=Lse(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof TS?i=hGi(fr(t.graphFetchTree,TS),!0):t.graphFetchTree instanceof AS&&(i=(e=>{const t=[],n=new Map,i=uGi(e,void 0,n);jr(t,i.id),n.set(i.id,i);const r=new TS(__.create(new Y_("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return Une.jsx(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Une.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Une.jsxs("tbody",{children:[void 0!==t.parentIndex&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),Une.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"Checked"}),Une.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Une.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"Store"}),Une.jsx("td",{className:"table__cell--left",children:t.store})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),Une.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),Une.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),Une.jsx(QPe,{}),i&&Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:Une.jsx(Kke,{components:{TreeNodeContainer:tqi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,getChildNodes:e=>e.childrenIds.map(e=>i?i.nodes.get(e):null).filter(cr),innerProps:{isReadOnly:!0}})})}),Une.jsx(QPe,{})]}),t.xStorePropertyFetchDetails&&Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Une.jsxs("tbody",{children:[Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" propertyPath "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" subTree "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" targetSetId"}),Une.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),Une.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof G1&&Une.jsx(LGi,{resultType:t.resultType}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})})}),lqi=Lse(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return Une.jsxs(KPe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Une.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Une.jsxs("div",{children:[Une.jsx(XPe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Name"}),Une.jsx("th",{className:"table__cell--left",children:"Type"})]})}),Une.jsx("tbody",{children:t.map(e=>{return Une.jsx(n.Fragment,{children:Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:e.name}),Une.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===T_.ZERO?"[0]":t===T_.ONE?"[1]":t===T_.ZERO_ONE?"[0..1]":t===T_.ZERO_MANY||t===T_.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),Une.jsx(QPe,{}),Une.jsx(MGi,{resultType:i}),Une.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})}),cqi=Lse(e=>{const{cnode:t,executionPlanState:n}=e,i=t.resultType;let r="";const s=n.applicationStore;try{r=Er(t.values)?t.values.value:""}catch{}return Une.jsxs(KPe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&Une.jsx("div",{className:"query-builder__constant__container",children:Une.jsxs("div",{children:[Une.jsx(XPe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),Une.jsx(QPe,{}),Une.jsx("pre",{children:Une.jsx("div",{className:"query-builder__constant__container__item",children:Une.jsxs("div",{children:["value: ",r]})})})]})}),Une.jsx(QPe,{}),Une.jsx(MGi,{resultType:i}),Une.jsx("div",{className:"query-builder__constant__container",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})}),uqi=Lse(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return Une.jsxs(KPe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Une.jsx("div",{className:"query-builder__allocation__container",children:Une.jsxs("div",{children:[Une.jsx(XPe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__allocation__container__item",children:Une.jsx("table",{className:"query-builder__allocation__container__table",children:Une.jsxs("tbody",{children:[Une.jsxs("tr",{children:[Une.jsx("td",{children:"varName"}),Une.jsx("td",{children:`: ${i}`})]}),Une.jsxs("tr",{children:[Une.jsx("td",{children:"realizeInMemory"}),Une.jsx("td",{children:`: ${s}`})]})]})})})]})}),Une.jsx(QPe,{}),Une.jsx(MGi,{resultType:r}),Une.jsx(QPe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof j0&&Une.jsx(cqi,{cnode:t.executionNodes[0],executionPlanState:n}),Une.jsx(QPe,{})]})}),dqi=Lse(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?Une.jsx("div",{}):o?Une.jsx(qre,{}):Une.jsx(Kre,{});return Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"query-builder__sequence__container",children:Une.jsxs("div",{children:[Une.jsx(XPe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),Une.jsx(QPe,{}),t.executionNodes.map((e,t)=>Une.jsx("div",{className:"query-builder__sequence__container__item",children:Une.jsxs("button",{className:"query-builder__sequence__container__item__btn",onClick:()=>(e=>{const t=i.treeData?.nodes.get(e._UUID);!1===r?a(o?void 0:e):(t instanceof Dqi?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof kqi&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${wqi(e)}`,children:[!r&&l,`${t+1}: ${wqi(e)}`]})},e._UUID))]})}),Une.jsx(QPe,{}),Une.jsx(MGi,{resultType:s}),!1===r&&o&&Une.jsx(Aqi,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),hqi=Lse(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?Une.jsx(dqi,{node:t,executionPlanState:n,viewJson:i}):Une.jsxs(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Une.jsx(dqi,{node:t,executionPlanState:n,viewJson:i}),Une.jsx("div",{className:"query-builder__execution__container",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})}),pqi=Lse(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return Une.jsxs(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof G$&&Une.jsx(Q$i,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),Une.jsx(QPe,{}),Une.jsx(MGi,{resultType:i}),Une.jsx("div",{className:"query-builder__sql__container",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Mqi.JSON),text:"View JSON"})}),Une.jsx(QPe,{})]})}),gqi=Lse(e=>{const{node:t,executionPlanState:n}=e;return Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof y1&&t.implementation.executionClassFullName&&Une.jsx("div",{className:"query-builder__implementation__container__item",children:Une.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(fr(n.plan,T4,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(Pqi.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof y1&&n.globalImplementationSupportState.setSelectedJavaClass(t.implementation.executionClassFullName)},title:`Go to Java class: ${t.implementation.executionClassFullName}`,className:"query-builder__implementation__container__item__java-btn",children:t.implementation.executionClassFullName})})]})});var fqi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(fqi||(fqi={}));const mqi=Lse(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof Q1?i=fqi.RESULT_SET:t instanceof i2&&(i=fqi.TEMP_FILE),t instanceof t2&&(i=fqi.SUB_QUERY),Une.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&Une.jsxs(XPe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),Une.jsx(XPe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${wqi(t.createTempTableNode)})`}),Une.jsx(Aqi,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),Une.jsx(QPe,{}),Une.jsx(XPe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${wqi(t.loadTempTableNode)})`}),Une.jsx(Aqi,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),Une.jsx(QPe,{}),Une.jsx(XPe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${wqi(t.dropTempTableNode)})`}),Une.jsx(Aqi,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),Une.jsx(QPe,{})]})});var vqi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(vqi||(vqi={}));const yqi=Lse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(vqi.GENERAL);return Une.jsx(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Une.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Une.jsxs("div",{className:"panel",children:[Une.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Une.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(vqi).map(e=>Une.jsx("div",{onClick:()=>o(e),className:Bse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===vqi.GENERAL&&Une.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Une.jsxs("tbody",{children:[Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"Batch Size"}),Une.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"Checked"}),Une.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Une.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Une.jsx(gqi,{node:t,executionPlanState:i})}),Une.jsx(QPe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof G$&&Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Une.jsx(QPe,{}),Une.jsx(Q$i,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(MGi,{resultType:t.resultType})}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Mqi.JSON),text:"View JSON"})})]}),s===vqi.TEMP_TABLE&&t.tempTableStrategy&&Une.jsx(mqi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var bqi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(bqi||(bqi={}));const _qi=Lse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(bqi.GENERAL);return Une.jsx(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Une.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Une.jsxs("div",{className:"panel",children:[Une.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Une.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(bqi).map(e=>Une.jsx("div",{onClick:()=>o(e),className:Bse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===bqi.GENERAL&&Une.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Une.jsxs("tbody",{children:[Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Une.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Une.jsx(gqi,{node:t,executionPlanState:i})}),Une.jsx(QPe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof G$&&Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Une.jsx(QPe,{}),Une.jsx(Q$i,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(MGi,{resultType:t.resultType})}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Mqi.JSON),text:"View JSON"})})]}),s===bqi.TEMP_TABLE&&t.tempTableStrategy&&Une.jsx(mqi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var Cqi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(Cqi||(Cqi={}));const Sqi=Lse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(Cqi.GENERAL);return Une.jsx(KPe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Une.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Une.jsxs("div",{className:"panel",children:[Une.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Une.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(Cqi).map(e=>Une.jsx("div",{onClick:()=>o(e),className:Bse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===Cqi.GENERAL&&Une.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),Une.jsx(QPe,{}),Une.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Une.jsx("thead",{children:Une.jsxs("tr",{children:[Une.jsx("th",{className:"table__cell--left",children:"Property"}),Une.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Une.jsxs("tbody",{children:[Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Une.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Une.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&Une.jsxs("tr",{children:[Une.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),Une.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Une.jsx(gqi,{node:t,executionPlanState:i})}),Une.jsx(QPe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof G$&&Une.jsxs(Une.Fragment,{children:[Une.jsx(XPe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Une.jsx(QPe,{}),Une.jsx(Q$i,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(MGi,{resultType:t.resultType})}),Une.jsx(QPe,{}),Une.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Mqi.JSON),text:"View JSON"})})]}),s===Cqi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&Une.jsx(mqi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===Cqi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&Une.jsx(mqi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),wqi=e=>e instanceof G$?"SQL Execution Node":e instanceof j$?"Relational TDS Instantiation Execution Node":e instanceof U0?"Function Parameters Validation Node":e instanceof z0?`Allocation Execution Node (${e.varName})`:e instanceof j0?"Constant Execution Node":e instanceof W0?"Sequence Execution Node":e instanceof E1?"Store Mapping Global Graph Fetch Execution Node":e instanceof L1?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof s2?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof N1?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof P1?"Pure Expression Platform Execution Node":"Other",Eqi=Lse(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof y1&&(n.classes.sort((e,t)=>(e.package+e.name).toLowerCase()>(t.package+t.name).toLowerCase()?1:-1),n.classes.length>0&&n.classes[0]&&void 0===t.globalImplementationSupportState.selectedJavaClass&&t.globalImplementationSupportState.setSelectedJavaClass(`${n.classes[0]?.package}.${n.classes[0]?.name}`)),Une.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Une.jsxs("div",{className:"panel",children:[Une.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Une.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(Pqi).map(e=>Une.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:Bse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:vm(e)},e))})}),t.globalImplementationSupportState.selectedTab===Pqi.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof y1&&Une.jsxs(xUe,{orientation:"vertical",children:[Une.jsx(TUe,{minSize:30,size:400,children:Une.jsx(KPe,{darkMode:r,className:"query-builder__java__container__panel",children:Une.jsx("div",{className:"query-builder__java__container",children:Une.jsxs("div",{children:[n.classes.map(e=>Une.jsx("div",{className:Bse("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:Une.jsx("button",{className:"query-builder__java__container__item__btn",onClick:()=>t.globalImplementationSupportState.setSelectedJavaClass(`${e.package}.${e.name}`),tabIndex:-1,title:`Go to ${e.package}.${e.name}`,children:`${e.package}.${e.name}`})},e.package+e.name)),Une.jsx(QPe,{})]})})})}),Une.jsx(AUe,{children:Une.jsx(RUe,{color:"var(--color-dark-grey-200)"})}),Une.jsx(TUe,{children:t.globalImplementationSupportState.selectedJavaClass&&Une.jsx(FGi,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:vkn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===Pqi.GENERAL&&i.length>0&&Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),Une.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),Une.jsx("div",{className:"query-builder__template--function--editor__code",children:Une.jsx(FGi,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:vkn.XML,hideMinimap:!0,hideActionBar:!0})}),Une.jsx("div",{className:"query-builder__template--function--editor__json",children:Une.jsx(ZCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(Mqi.JSON),text:"View JSON"})})]})]})})}),xqi=Lse(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?Une.jsx(qre,{}):Une.jsx(Kre,{}):Une.jsx("div",{});let o="",a="";return t instanceof kqi&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof E1?o="Cross":t.executionNode instanceof T1&&(o="Local")),a=(e=>{if(e instanceof E1||e instanceof T1){if(e.graphFetchTree instanceof TS)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof AS)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),Une.jsxs("div",{className:Bse("tree-view__node__container execution-plan-viewer__explorer-tree__node__container",{"menu__trigger--on-menu-open":!t.isSelected},{"execution-plan-viewer__explorer-tree__node__container--selected":t.isSelected}),style:{paddingLeft:(n-1)*(i??1)+"rem"},onClick:()=>r?.(t),children:[Une.jsx("div",{className:"tree-view__node__icon",children:Une.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&Une.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:Une.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&Une.jsx("div",{className:"execution-plan-viewer__node__type",children:Une.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),Une.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),Tqi=Lse(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof Dqi){const n=e.executionPlan.rootExecutionNode,i=Oqi(n,wqi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof kqi){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=Oqi(n,wqi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof E1){const n=e.executionNode.localGraphFetchExecutionNode,i=Oqi(n,wqi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=Oqi(n,wqi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof A1&&e.executionNode.children.forEach(n=>{const i=Oqi(n,wqi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return Une.jsx(Kke,{components:{TreeNodeContainer:xqi},treeData:t.nonNullableTreeData,getChildNodes:e=>{if(!e.childrenIds||0===e.childrenIds.length)return[];const n=e.childrenIds.map(e=>t.nonNullableTreeData.nodes.get(e)).filter(cr);return n},onNodeSelect:e=>{e instanceof Dqi?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof kqi&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),Aqi=Lse(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof G$?Une.jsx(J$i,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof j$?Une.jsx(pqi,{node:t,executionPlanState:n}):t instanceof U0?Une.jsx(lqi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof z0?Une.jsx(uqi,{node:t,executionPlanState:n}):t instanceof j0?Une.jsx(cqi,{cnode:t,executionPlanState:n}):t instanceof W0?Une.jsx(hqi,{node:t,executionPlanState:n,viewJson:i}):t instanceof E1?Une.jsx(aqi,{storeMappingNode:t,executionPlanState:n}):t instanceof s2?Une.jsx(Sqi,{node:t,executionPlanState:n}):t instanceof L1?Une.jsx(yqi,{node:t,executionPlanState:n}):t instanceof N1?Une.jsx(_qi,{node:t,executionPlanState:n}):Une.jsx(sFe,{children:Une.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[Une.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),Une.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Mqi.JSON),children:"View JSON"})]})})}),Rqi=Lse(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof Dqi?r=i.selectedNode.executionPlan:i.selectedNode instanceof kqi&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof Dqi&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(Mqi);return Une.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&Une.jsxs(Une.Fragment,{children:[Une.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[Une.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:Une.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),Une.jsx(VPe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:Une.jsx(OPe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:Une.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[Une.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),Une.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>Une.jsx(LPe,{className:"execution-plan-viewer__panel__view-mode__option",onClick:()=>i.setViewMode(e),children:e},e))})]})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:Une.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),Une.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===Mqi.JSON&&Boolean(t)&&Une.jsx(FGi,{inputValue:t,isReadOnly:!0,language:vkn.JSON,hideMinimap:!0}),i.viewMode===Mqi.FORM&&Une.jsxs(Une.Fragment,{children:[r instanceof U$&&Une.jsx(Aqi,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof T4&&Une.jsx(Eqi,{executionPlanState:i})]})]})]})})}),Nqi=Lse(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return Une.jsx("div",{className:"execution-plan-viewer__content",children:i?Une.jsxs(xUe,{orientation:"vertical",children:[Une.jsx(TUe,{size:300,minSize:300,children:Une.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[Une.jsx($Pe,{darkMode:r,title:"execution plan explorer"}),Une.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:Une.jsx(Tqi,{executionPlanState:t,executionPlan:i})})]})}),Une.jsx(AUe,{children:Une.jsx(RUe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Une.jsx(TUe,{children:Une.jsx(Rqi,{displayData:t.displayData,executionPlanState:t})})]}):Une.jsx(FGi,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:vkn.JSON})})}),Iqi=Lse(e=>{const{executionPlanState:t}=e,n=()=>{t.setRawPlan(void 0),t.initialize(void 0),t.setExecutionPlanDisplayData(""),t.setSelectedNode(void 0),t.setDebugText(void 0),t.globalImplementationSupportState.setSelectedTab(Pqi.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?Une.jsx(cye,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Une.jsxs(EPe,{className:"editor-modal",darkMode:r,children:[Une.jsx(TPe,{title:"Execution Plan"}),Une.jsx(RPe,{children:t.debugText?Une.jsxs(xUe,{orientation:"horizontal",children:[Une.jsx(TUe,{minSize:100,children:Une.jsx(Nqi,{executionPlanState:t,rawPlan:i})}),Une.jsx(AUe,{children:Une.jsx(RUe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Une.jsx(TUe,{size:200,minSize:28,children:Une.jsxs(jPe,{className:"panel execution-plan-viewer__debug-panel",children:[Une.jsx(WPe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),Une.jsx(KPe,{children:Une.jsx(FGi,{inputValue:t.debugText,isReadOnly:!0,language:vkn.TEXT})})]})})]}):Une.jsx(Nqi,{executionPlanState:t,rawPlan:i})}),Une.jsx(NPe,{children:Une.jsx(DPe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class Dqi{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){hd(this,{isSelected:Rc,isOpen:Rc,setIsSelected:Pu,setIsOpen:Pu}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class kqi{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){hd(this,{isSelected:Rc,isOpen:Rc,setIsSelected:Pu,setIsOpen:Pu}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const Oqi=(e,t,n)=>{const i=new kqi(e._UUID,t,e,n instanceof kqi?wqi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(pr(U$)).forEach(e=>{jr(r,e._UUID)}),e instanceof E1&&(jr(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(pr(U$)).forEach(e=>{jr(r,e._UUID)})),e instanceof A1&&e.children.slice().filter(pr(U$)).forEach(e=>{jr(r,e._UUID)}),i.childrenIds=r,i},Lqi=e=>{const t=[],n=new Map,i=(e=>{const t=new Dqi("Execution Plan","Execution Plan",e),n=[],i=e.rootExecutionNode._UUID;return jr(n,i),t.childrenIds=n,t})(e);return jr(t,i.id),n.set(i.id,i),{rootIds:t,nodes:n}};var Mqi,Pqi;!function(e){e.FORM="Form",e.JSON="JSON"}(Mqi||(Mqi={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(Pqi||(Pqi={}));class Fqi{selectedTab=Pqi.GENERAL;selectedJavaClass=void 0;constructor(){hd(this,{selectedTab:Rc,selectedJavaClass:Rc,setSelectedTab:Pu,setSelectedJavaClass:Pu})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class Bqi{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=Mqi.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new Fqi;constructor(e,t){hd(this,{displayData:Rc,displayDataJson:Rc,viewMode:Rc,rawPlan:Rc,plan:Rc,debugText:Rc,treeData:Rc,setExecutionPlanDisplayData:Pu,setExecutionPlanDisplayDataJson:Pu,transformMetadataToProtocolJson:Pu,setSelectedNode:Pu,setRawPlan:Pu,setPlan:Pu,setViewMode:Pu,setDebugText:Pu,setTreeNode:Pu,setTreeData:Pu,refreshTreeData:Pu,nonNullableTreeData:kc,initialize:Pu,globalImplementationSupportState:Rc}),this.applicationStore=e,this.graphManagerState=t}setViewMode(e){this.viewMode=e}setTreeNode(e,t){this.treeData?.nodes.set(e,t)}setTreeData(e){this.treeData=e}refreshTreeData(){this.treeData&&this.setTreeData({...this.treeData})}get nonNullableTreeData(){return dr(this.treeData,"Execution plan viewer tree data has not been initialized")}setRawPlan=e=>{this.rawPlan=e};setPlan=e=>{this.plan=e};initialize=e=>{this.setPlan(e),void 0!==e?this.setTreeData(Lqi(e)):this.setTreeData(void 0)};setDebugText(e){this.debugText=e}setSelectedNode(e){this.selectedNode&&this.selectedNode.setIsSelected(!1),e&&e.setIsSelected(!0),this.selectedNode=e}setExecutionPlanDisplayData(e){this.displayData=e}setExecutionPlanDisplayDataJson(e){this.displayDataJson=e,this.setExecutionPlanDisplayData(JSON.stringify(this.displayDataJson,void 0,2))}transformMetadataToProtocolJson(e){if(e instanceof T4){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof U$){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const Vqi=e=>{try{const t=e.getFirstDisplayedRowIndex(),n=e.getLastDisplayedRowIndex();if(n>=t)return Math.max(1,n-t)}catch{}return 25},Uqi=e=>{const t=e.getCellRanges();return t&&t.length>0?t[t.length-1]:null},Gqi=e=>{const t=e.event;if(!t)return;const n=e.api;if(t.ctrlKey&&"KeyA"===t.code)return void((e,t)=>{e.preventDefault();const n=t.getDisplayedRowCount(),i=t.getColumns();0!==n&&i&&0!==i.length&&(console.debug(`[TDS Grid] Ctrl+A → selecting all: ${n} rows × ${i.length} columns`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:0,rowEndIndex:n-1,columns:i}))})(t,n);const i=e.column,r=e.rowIndex;((e,t,n)=>{e.code.startsWith("Control")||e.code.startsWith("Shift")||e.code.startsWith("Alt")||e.code.startsWith("Meta")||console.debug(`[TDS Grid] onCellKeyDown: key=${e.code} ctrl=${e.ctrlKey} shift=${e.shiftKey} col=${t.getColId()} row=${n}`)})(t,i,r),null!==r&&(!t.shiftKey||"PageDown"!==t.code&&"PageUp"!==t.code?t.ctrlKey&&"Space"===t.code?((e,t,n)=>{e.preventDefault();const i=t.getDisplayedRowCount();if(0===i)return;const r=Uqi(t),s=r?r.columns:[n];console.debug(`[TDS Grid] Ctrl+Space → selecting ${s.length} column(s), ${i} rows`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:0,rowEndIndex:i-1,columns:s})})(t,n,i):t.shiftKey&&"Space"===t.code&&((e,t,n,i)=>{e.preventDefault();const r=t.getColumns();if(!r||0===r.length)return;const s=Uqi(t);let o=i,a=i;if(s){const e=s.startRow?.rowIndex??i,t=s.endRow?.rowIndex??i;o=Math.min(e,t),a=Math.max(e,t)}console.debug(`[TDS Grid] Shift+Space → selecting rows ${o}–${a}, ${r.length} columns`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:o,rowEndIndex:a,columns:r})})(t,n,0,r):((e,t,n,i)=>{e.preventDefault();const r=t.getDisplayedRowCount();if(0===r)return;const s=Uqi(t),o=s?.startRow?.rowIndex??i,a=s?.endRow?.rowIndex??i,l=s?s.columns:[n],c="PageDown"===e.code?Vqi(t):-Vqi(t),u=Math.max(0,Math.min(r-1,a+c));console.debug(`[TDS Grid] Shift+${e.code} → extending range rows ${o}–${u}`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:Math.min(o,u),rowEndIndex:Math.max(o,u),columns:l})})(t,n,i,r))},Hqi=e=>Intl.NumberFormat(AVi,{maximumFractionDigits:sYi}).format(e),zqi=()=>Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__spinner",title:"Computing…"}),jqi=({frequencies:e,darkMode:t})=>{const i=Math.max(...e.map(e=>e.count)),r=n.useRef(null);return n.useLayoutEffect(()=>{const e=r.current;if(!e)return;const t=e.getBoundingClientRect();t.left<0?e.style.left=4-t.left+"px":t.right>globalThis.innerWidth&&(e.style.left=globalThis.innerWidth-t.right-4+"px")}),Une.jsx("div",{ref:r,className:Bse("query-builder__result__tds-grid__stats-bar__freq-tooltip",{"query-builder__result__tds-grid__stats-bar__freq-tooltip--dark":t}),children:Une.jsx("svg",{width:208,height:13*e.length+2,children:e.map((e,t)=>{const n=13*t+1,r=Math.max(1,e.count/i*80),s=e.label.length>12?`${e.label.slice(0,11)}…`:e.label;return Une.jsxs("g",{children:[Une.jsx("text",{x:86,y:n+10-2,textAnchor:"end",className:Bse("query-builder__result__tds-grid__stats-bar__freq-tooltip__label",{"query-builder__result__tds-grid__stats-bar__freq-tooltip__label--other":e.isOther,"query-builder__result__tds-grid__stats-bar__freq-tooltip__label--empty":e.isEmpty}),children:s}),Une.jsx("rect",{x:90,y:n,width:r,height:10,className:Bse("query-builder__result__tds-grid__stats-bar__freq-tooltip__bar",{"query-builder__result__tds-grid__stats-bar__freq-tooltip__bar--other":e.isOther,"query-builder__result__tds-grid__stats-bar__freq-tooltip__bar--empty":e.isEmpty})}),Une.jsx("text",{x:174,y:n+10-2,className:"query-builder__result__tds-grid__stats-bar__freq-tooltip__count",children:e.count})]},t)})})})},Wqi=(e,t)=>{const n=e.count,i=`${n} ${1===n?"value":"values"}`;if("date"===t){const t=e.lowerDateLabel??e.lower,n=e.upperDateLabel??e.upper;return t===n?`${i} on ${t}`:`${i} within the range ${t} – ${n}`}if("string-length"===t){const t=Math.round(e.lower),n=Math.round(e.upper);return t===n?`${i} with length ${t}`:`${i} with length ${t} – ${n}`}return e.lower===e.upper?`${i} equal to ${Hqi(e.lower)}`:`${i} within the range ${Hqi(e.lower)} – ${Hqi(e.upper)}`},$qi=({buckets:e,chartType:t,darkMode:n})=>{if(0===e.length)return null;const i=Math.max(...e.map(e=>e.count));if(0===i)return null;const r=e.length,s=Math.max(1,(120-1*(r-1))/r);return Une.jsx("div",{className:Bse("query-builder__result__tds-grid__stats-bar__chart",{"query-builder__result__tds-grid__stats-bar__chart--dark":n}),children:Une.jsx("svg",{width:120,height:18,children:e.map((e,n)=>{const r=Math.max(1,e.count/i*18),o=n*(s+1);return Une.jsx("rect",{x:o,y:18-r,width:s,height:r,opacity:0===e.count?.15:1,children:Une.jsx("title",{children:Wqi(e,t)})},n)})})})},qqi=Lse(e=>{const{stats:t,cellCount:n,countReady:i,darkMode:r}=e,s=void 0===t,o=!s&&void 0!==t.sum,a=!s&&void 0!==t.dateMin,l=!s&&void 0!==t.strMinLength,c=!s&&void 0!==t.distributionBuckets&&t.distributionBuckets.length>=2;return Une.jsxs("div",{className:Bse("query-builder__result__tds-grid__stats-bar",{"query-builder__result__tds-grid__stats-bar--dark":r}),children:[Une.jsxs("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Count:"}),Une.jsx("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:i?n:Une.jsx(zqi,{})}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&Une.jsx(jqi,{frequencies:t.valueFrequencies,darkMode:r})]}),Une.jsxs("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Unique Count:"}),Une.jsx("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:s?Une.jsx(zqi,{}):t.uniqueCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&Une.jsx(jqi,{frequencies:t.valueFrequencies,darkMode:r})]}),Une.jsxs("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Empty Count:"}),Une.jsx("span",{className:Bse("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:s?Une.jsx(zqi,{}):t.nullCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&Une.jsx(jqi,{frequencies:t.valueFrequencies,darkMode:r})]}),o&&Une.jsxs(Une.Fragment,{children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:Hqi(t.min??0)})]}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:Hqi(t.max??0)})]}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Sum:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:Hqi(t.sum??0)})]}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Avg:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:Hqi(t.avg??0)})]})]}),a&&Une.jsxs(Une.Fragment,{children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMin})]}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMax})]})]}),l&&Une.jsxs(Une.Fragment,{children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min Length:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMinLength})]}),Une.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max Length:"}),Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMaxLength})]})]}),c&&Une.jsxs(Une.Fragment,{children:[Une.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),Une.jsx($qi,{buckets:t.distributionBuckets??[],chartType:t.distributionChartType??"numeric",darkMode:r})]})]})}),Yqi=new Set([Xb.INTEGER,Xb.FLOAT,Xb.DECIMAL,Xb.NUMBER]),Kqi=new Set([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME]),Xqi=new Set([Xb.STRING]),Zqi=e=>{if(0===e.length)return[];const t=Math.min(...e),n=Math.max(...e),i=n-t;if(0===i)return[{lower:t,upper:n,count:e.length}];const r=e.every(e=>Number.isInteger(e)),s=n-t+1;let o;o=r&&s<=20?s:Math.min(20,Math.ceil(Math.log2(e.length)+1));const a=i/o,l=Array.from({length:o},(e,n)=>({lower:t+n*a,upper:t+(n+1)*a,count:0}));for(const n of e){const e=l[Math.min(o-1,Math.floor((n-t)/a))];e&&(e.count+=1)}return l},Qqi=e=>{const t=new Date(e);return 0===t.getUTCHours()&&0===t.getUTCMinutes()&&0===t.getUTCSeconds()&&0===t.getUTCMilliseconds()?t.toISOString().slice(0,10):t.toISOString().replace("T"," ").slice(0,19)},Jqi=e=>"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):null==e?"":JSON.stringify(e),eYi=(e,t,n)=>{const i=t.map(String).filter(e=>e.length>0),r=[...i].sort((e,t)=>e.localeCompare(t)),s=(e=>{if(0===e.length)return[];const t=e.map(e=>Date.parse(e)).filter(e=>!Number.isNaN(e));return 0===t.length?[]:Zqi(t).map(e=>({...e,lowerDateLabel:Qqi(e.lower),upperDateLabel:Qqi(e.upper)}))})(i);return{...e,dateMin:r[0],dateMax:r[r.length-1],distributionBuckets:s.length>=2?s:void 0,distributionChartType:s.length>=2?"date":void 0,valueFrequencies:n}},tYi=(e,t)=>{if(e.length<2)return;const n=e.length,i=e.filter(e=>null===e.value||void 0===e.value||""===e.value).length,r=e.map(e=>e.value).filter(e=>null!=e&&""!==e),s=new Set(r).size,o=((e,t)=>{const n=n=>[...e].every(e=>{const i=t.get(e);return void 0!==i&&n.has(i)});return n(Yqi)?"numeric":n(Kqi)?"date":n(Xqi)?"string":"mixed"})(new Set(e.map(e=>e.columnName)),t),a=r.length>0||i>0?((e,t)=>{const n=new Map;for(const t of e){const e=Jqi(t);n.set(e,(n.get(e)??0)+1)}const i=[...n.entries()].sort((e,t)=>t[1]-e[1]),r=i.slice(0,10),s=i.slice(10).reduce((e,[,t])=>e+t,0),o=r.map(([e,t])=>({label:e,count:t}));return s>0&&o.push({label:"(other)",count:s,isOther:!0}),t>0&&o.push({label:"(empty)",count:t,isEmpty:!0}),o})(r,i):void 0,l=((e,t,n,i)=>({count:e,uniqueCount:t,nullCount:n,min:void 0,max:void 0,sum:void 0,avg:void 0,dateMin:void 0,dateMax:void 0,strMinLength:void 0,strMaxLength:void 0,distributionBuckets:void 0,distributionChartType:void 0,valueFrequencies:i}))(n,s,i,a);return"numeric"===o?((e,t,n)=>{const i=t.map(e=>{if(null===e.value||void 0===e.value||""===e.value)return null;const t=Number(e.value);return Number.isNaN(t)?null:t}).filter(e=>null!==e);if(0===i.length)return{...e,valueFrequencies:n};const r=i.reduce((e,t)=>e+t,0);return{...e,min:Math.min(...i),max:Math.max(...i),sum:r,avg:r/i.length,distributionBuckets:Zqi(i),distributionChartType:"numeric",valueFrequencies:n}})(l,e,a):"date"===o?eYi(l,r,a):"string"===o?((e,t,n)=>{const i=t.map(e=>Jqi(e).length).filter(e=>e>0);return{...e,strMinLength:i.length>0?Math.min(...i):void 0,strMaxLength:i.length>0?Math.max(...i):void 0,distributionBuckets:i.length>0?Zqi(i):void 0,distributionChartType:i.length>0?"string-length":void 0,valueFrequencies:n}})(l,r,a):l},nYi=e=>{try{const t=e.getCellRanges();if(!t||0===t.length)return 0;let n=0;for(const e of t){const t=e.startRow?.rowIndex??0,i=e.endRow?.rowIndex??0;n+=(Math.abs(i-t)+1)*e.columns.length}return n}catch{return 0}},iYi=(e,t,i,r)=>{const[s,o]=n.useState(!1),[a,l]=n.useState(0),[c,u]=n.useState(!1),[d,h]=n.useState(void 0),p=n.useRef(t);n.useEffect(()=>{p.current=t});const g=n.useRef(r);if(n.useEffect(()=>{g.current=r}),n.useEffect(()=>{const e=i.current;if((e?nYi(e):g.current?.length??0)<2)return o(!1),l(0),u(!1),void h(void 0);o(!0),l(0),u(!1),h(void 0);let t=!1;const n=globalThis.setTimeout(()=>{if(t)return;const e=i.current,n=e?nYi(e):g.current?.length??0;n>=2?(l(n),u(!0)):(o(!1),l(0),u(!1))},50);let r=0;const s=globalThis.setTimeout(()=>{t||(r=requestAnimationFrame(()=>{if(t)return;const e=i.current,n=e?(e=>{const t=e.getCellRanges();if(!t||0===t.length)return[];const n=new Map;e.forEachNode(e=>{null!==e.rowIndex&&e.data&&n.set(e.rowIndex,e.data)});const i=e.getColumns()??[],r=new Map;i.forEach((e,t)=>{r.set(e.getColId(),t)});const s=new Map;for(const e of t){const t=e.startRow?.rowIndex??0,i=e.endRow?.rowIndex??0,o=Math.min(t,i),a=Math.max(t,i);for(let t=o;t<=a;t++){const i=n.get(t);if(i)for(const n of e.columns){const e=n.getColId(),o=`${t}|${e}`;s.has(o)||s.set(o,{value:i[e],columnName:e,coordinates:{rowIndex:t,colIndex:r.get(e)??-1}})}}}return Array.from(s.values())})(e):g.current??[],r=tYi(n,p.current);l(n.length),u(!0),h(r)}))},200);return()=>{t=!0,globalThis.clearTimeout(n),globalThis.clearTimeout(s),0!==r&&cancelAnimationFrame(r)}},[e,i]),s)return{cellCount:a,countReady:c,stats:d}},rYi=(e,t,n,i)=>{const r=n.queryBuilderState.fetchStructureState.implementation;return r instanceof DVi?[{name:"Filter By",action:()=>{Z$i(t,n.mousedOverCell,!0,r).catch(i)}},{name:"Filter Out",action:()=>{Z$i(t,n.mousedOverCell,!1,r).catch(i)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]:[]},sYi=4,oYi=e=>Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[Une.jsx("div",{className:"query-builder__result__values__table__custom-header__icon",title:"some values have been rounded using en-us format in this preview grid (defaults to max 4 decimal places)",children:Une.jsx(_ie,{})}),Une.jsx("div",{children:e.displayName})]}),aYi=(e,t)=>{const n=e.builder.columns.findIndex(e=>e.name===t);if(n>=0){const t=e.builder.columns[n]?.type,i=e.result.rows.map(e=>e.values[n]),r=e=>Boolean(e.some(e=>{if(e){const t=e.toString().split(".")[1];return t&&t.length>sYi}return!1}));switch(t){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:oYi}}:{};default:return{}}}return{}},lYi=Lse(e=>{const t=e.resultState,n=e.tdsExecutionResult,i=e.value,r=dr(e.node.rowIndex),s=_r(i)&&Dh(i)?i:void 0,o=e.column?.getColId()??"",a=(e,t)=>({rowIndex:t,colIndex:n.result.columns.findIndex(t=>t===e)}),l=a(o,r),c=t.selectedCells.some(e=>e.coordinates.colIndex===l.colIndex&&e.coordinates.rowIndex===l.rowIndex),u=e=>{if(t.executionResult&&t.executionResult instanceof NX)return t.executionResult.result.columns[e]},d=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof NX)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>kX(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>kX(t,e,r)),t.executionResult.result.rows[i]?.values[r]},h=e=>{if(e.preventDefault(),e.shiftKey){const e=a(o,r),n=d([e.rowIndex,e.colIndex]);return void t.addSelectedCell({value:n,columnName:o,coordinates:e})}if(0===e.button){t.setIsSelectingCells(!0),t.setSelectedCells([]);const e=a(o,r),n=d([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:o,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}if(2===e.button){const e=a(o,r);if(!(n=e,t.selectedCells.some(e=>e.coordinates.rowIndex===n.rowIndex&&e.coordinates.colIndex===n.colIndex))){const n=d([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:o,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}}var n};return Une.jsx("div",{className:Bse("query-builder__result__values__table__cell",{"query-builder__result__values__table__cell--active":c}),onMouseDown:e=>h(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>(()=>{if(t.isSelectingCells){if(t.selectedCells.length<1)return;const e=t.selectedCells[0];if(!e)return;const n=e.coordinates,i=a(o,r);t.setSelectedCells([e]);const s=Math.min(n.rowIndex,i.rowIndex),l=Math.min(n.colIndex,i.colIndex),c=Math.max(n.rowIndex,i.rowIndex),h=Math.max(n.colIndex,i.colIndex);for(let e=s;e<=c;e++)for(let n=l;n<=h;n++){const i={value:d([e,n]),columnName:u(n),coordinates:{rowIndex:e,colIndex:n}};t.selectedCells.find(t=>t.coordinates.colIndex===n&&t.coordinates.rowIndex===e)||t.addSelectedCell(i)}}t.setMouseOverCell(t.selectedCells[0]??null)})(),children:s?Une.jsx("a",{href:s,target:"_blank",rel:"noreferrer",children:s}):Une.jsx("span",{children:Cr(i)?Intl.NumberFormat(AVi,{maximumFractionDigits:sYi}).format(Number(i)):Sr(i)?String(i):i})})}),cYi=(e,t)=>{e.length>0&&(t.setSelectedCells(e),t.setMouseOverCell(e[0]??null))},uYi=Lse(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Wht(),o=i.resultState,a=!i.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,l=t.result.columns.map(e=>({minWidth:50,sortable:!0,resizable:!0,field:e,flex:1,headerName:e,...aYi(t,e),cellRenderer:lYi,cellRendererParams:{resultState:o,tdsExecutionResult:t}})),c=o.selectedCells,u=new Map(t.builder.columns.map(e=>[e.name,e.type])),d=n.useRef(null),h=iYi(c.length,u,d,c),p=n.useRef(null),g=n.useRef(null);n.useEffect(()=>{const e=p.current;if(!e)return;const n=e=>{const n=t.result.columns,i=t.result.rows;if(e.ctrlKey&&"KeyA"===e.code){e.preventDefault(),console.debug(`[TDS Simple Grid] Ctrl+A → selecting all: ${i.length} rows × ${n.length} columns`);const t=((e,t)=>{const n=[];return t.forEach((t,i)=>{e.forEach((e,r)=>{n.push({value:t.values[r],columnName:e,coordinates:{rowIndex:i,colIndex:r}})})}),n})(n,i);return void cYi(t,o)}if(e.ctrlKey&&"Space"===e.code){e.preventDefault();const t=g.current;if(!t)return;const r=((e,t)=>e.length>0?[...new Set(e.map(e=>e.coordinates.colIndex))]:[t])(o.selectedCells,t.colIndex);console.debug(`[TDS Simple Grid] Ctrl+Space → selecting ${r.length} column(s), ${i.length} rows`);const s=((e,t,n)=>{const i=[];return t.forEach((t,r)=>{n.forEach(n=>{i.push({value:t.values[n],columnName:e[n]??"",coordinates:{rowIndex:r,colIndex:n}})})}),i})(n,i,r);return void cYi(s,o)}if(e.shiftKey&&"Space"===e.code){e.preventDefault();const t=g.current;if(!t)return;const r=((e,t)=>e.length>0?[...new Set(e.map(e=>e.coordinates.rowIndex))]:[t])(o.selectedCells,t.rowIndex);console.debug(`[TDS Simple Grid] Shift+Space → selecting ${r.length} row(s), ${n.length} columns`);const s=((e,t,n)=>{const i=[];return n.forEach(n=>{e.forEach((e,r)=>{i.push({value:t[n]?.values[r],columnName:e,coordinates:{rowIndex:n,colIndex:r}})})}),i})(n,i,r);cYi(s,o)}};return e.addEventListener("keydown",n,{capture:!0}),()=>e.removeEventListener("keydown",n,{capture:!0})},[t.result.columns,t.result.rows,o]);const f=n.useCallback(e=>rYi(e,s,o,i.applicationStore.alertUnhandledError),[s,o,i.applicationStore.alertUnhandledError]);return Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Une.jsxs("div",{ref:p,tabIndex:-1,className:Bse("query-builder__result__tds-grid",{"query-builder__result__tds-grid--with-stats-bar":r,"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:[Une.jsx(S$i,{rowData:L$i(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,columnDefs:l,getContextMenuItems:e=>f(e),onCellClicked:e=>{const n=e.event;if(n?.ctrlKey||n?.shiftKey)return;const i=e.column.getColId(),r=t.result.columns.indexOf(i);console.debug(`[TDS Simple Grid] onCellClicked: col=${i} row=${e.rowIndex}`),g.current={colName:i,colIndex:r,rowIndex:e.rowIndex??0},p.current?.focus({preventScroll:!0})}}),r&&void 0!==h&&Une.jsx(qqi,{stats:h.stats,cellCount:h.cellCount,countReady:h.countReady,darkMode:a})]})})});var dYi;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(dYi||(dYi={}));const hYi=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case Xb.STRING:return{filter:"agTextColumnFilter",allowedAggFuncs:["count"]};case Xb.DATE:case Xb.DATETIME:case Xb.STRICTDATE:return{filter:"agDateColumnFilter",allowedAggFuncs:["count"]};case Xb.DECIMAL:case Xb.NUMBER:case Xb.INTEGER:case Xb.FLOAT:return{filter:"agNumberColumnFilter",allowedAggFuncs:["count","sum","max","min","avg","wavg"]};default:return{allowedAggFuncs:["count"]}}},pYi=Lse(e=>{const t=e.resultState,n=e.value,i=_r(n)&&Dh(n)?n:void 0;return Une.jsx("div",{className:Bse("query-builder__result__values__table__cell"),onMouseDown:e=>(e=>{0!==e.button&&2!==e.button||t.setMouseOverCell(t.selectedCells[0]??null)})(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>{t.setMouseOverCell(t.selectedCells[0]??null)},children:i?Une.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):Une.jsx("span",{children:Cr(n)?Intl.NumberFormat(AVi,{maximumFractionDigits:sYi}).format(Number(n)):Sr(n)?String(n):n})})}),gYi=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case Xb.DATE:case Xb.DATETIME:case Xb.STRICTDATE:return{filter:"agDateColumnFilter"};case Xb.DECIMAL:case Xb.INTEGER:case Xb.NUMBER:case Xb.FLOAT:return{filter:"agNumberColumnFilter"};default:return{filter:!0}}},fYi=Lse(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Wht(),o=!s.layoutService.TEMPORARY__isLightColorThemeEnabled,[a,l]=n.useState(void 0),[c,u]=n.useState(void 0),d=i.resultState,h=i.isLocalModeEnabled,p=h?((e,t)=>e.result.columns.map(n=>{const i={minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,enablePivot:!0,enableRowGroup:!0,enableValue:!0,cellRenderer:pYi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...hYi(e,n),...aYi(e,n)},r=t.gridConfig?.columns.find(e=>e.colId===n);return r&&(r.width&&(i.width=r.width),i.pinned=r.pinned??null,i.rowGroup=r.rowGroup??!1,i.rowGroupIndex=r.rowGroupIndex??null,i.aggFunc=r.aggFunc??null,i.pivot=r.pivot??!1,i.hide=r.hide??!1),i}))(t,d):((e,t)=>e.result.columns.map(n=>({minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,cellRenderer:pYi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...gYi(e,n),...aYi(e,n)})))(t,d),g=()=>{a&&d.setGridConfig({columns:a.getColumnState(),isPivotModeEnabled:a.isPivotMode(),isLocalModeEnabled:!0,previewLimit:d.previewLimit,...d.wavgAggregationState?.weightedColumnIdPairs&&{weightedColumnPairs:d.wavgAggregationState.weightedColumnIdPairs}})},f=n.useCallback(e=>rYi(e,s,d,i.applicationStore.alertUnhandledError),[s,d,i.applicationStore.alertUnhandledError]),m=a?.getColumns()?.filter(e=>"number"===e.getColDef().cellDataType).map(e=>({label:e.getColId(),value:e.getColId()})),v=c?.colDef.field&&d.wavgAggregationState?.weightedColumnIdPairs.get(c.colDef.field)?{label:dr(d.wavgAggregationState.weightedColumnIdPairs.get(c.colDef.field)),value:dr(d.wavgAggregationState.weightedColumnIdPairs.get(c.colDef.field))}:null;n.useEffect(()=>{c&&c.api.setColumnAggFunc(dr(c.colDef.field),dYi.WAVG)},[d.wavgAggregationState,c]);const[y,b]=n.useState(0),_=new Map(t.builder.columns.map(e=>[e.name,e.type])),C=n.useRef(null),S=iYi(y,_,C);return Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Une.jsxs("div",{className:Bse("query-builder__result__tds-grid",{"query-builder__result__tds-grid--with-stats-bar":r,"ag-theme-balham":!o,"ag-theme-balham-dark":o}),children:[h?Une.jsx(S$i,{rowData:L$i(t),onGridReady:e=>{C.current=e.api,l(e.api),e.api.updateGridOptions({pivotMode:Boolean(d.gridConfig?.isPivotModeEnabled)})},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,pivotPanelShow:"always",rowGroupPanelShow:"always",cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:p,aggFuncs:{wavg:e=>{e.colDef.field?(d.wavgAggregationState||d.setWavgAggregationState(new yYi),d.wavgAggregationState?.addWeightedColumnIdPair(e.colDef.field,e.colDef.field),d.wavgAggregationState?.setIsApplyingWavg(!0),u(e)):s.notificationService.notifyError("The id of this column can`t be retrieved to perform weighted average")},WAVG:e=>{try{const t=e.colDef.field;if(t){const n=d.wavgAggregationState?.weightedColumnIdPairs.get(t);if(n){const i=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]).reduce((e,t)=>e+t),r=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]*e.data[t]).reduce((e,t)=>e+t);if(0!==i)return g(),r/i;s.notificationService.notifyError("The weighted column sum is 0")}else s.notificationService.notifyError("The weighted column Id is not defined")}}catch(e){bi(e),s.notificationService.notifyError(e)}return-1}},sideBar:["columns","filters"],onColumnVisible:g,onColumnPinned:g,onColumnResized:g,onColumnRowGroupChanged:g,onColumnValueChanged:g,onColumnPivotChanged:g,onColumnPivotModeChanged:g,onCellSelectionChanged:()=>{console.debug("[TDS Grid (local)] onCellSelectionChanged"),b(e=>e+1)},onCellClicked:e=>{const t=e.event;t?.ctrlKey||t?.shiftKey||(console.debug(`[TDS Grid (local)] onCellClicked: col=${e.column.getColId()} row=${e.rowIndex}`),null!==e.rowIndex&&e.api.setFocusedCell(e.rowIndex,e.column))},onCellKeyDown:e=>{Gqi(e)}}):Une.jsx(S$i,{rowData:L$i(t),onGridReady:e=>{C.current=e.api},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},onCellSelectionChanged:()=>{console.debug("[TDS Grid] onCellSelectionChanged"),b(e=>e+1)},onCellClicked:e=>{const t=e.event;t?.ctrlKey||t?.shiftKey||(console.debug(`[TDS Grid] onCellClicked: col=${e.column.getColId()} row=${e.rowIndex}`),null!==e.rowIndex&&e.api.setFocusedCell(e.rowIndex,e.column))},suppressFieldDotNotation:!0,suppressClipboardPaste:!1,suppressContextMenu:!1,columnDefs:p,getContextMenuItems:e=>f(e),onCellKeyDown:e=>{Gqi(e)}}),r&&void 0!==S&&Une.jsx(qqi,{stats:S.stats,cellCount:S.cellCount,countReady:S.countReady,darkMode:o}),d.wavgAggregationState?.isApplyingWavg&&Une.jsx(cye,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Une.jsxs(EPe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[Une.jsx(TPe,{title:"Applying Weighted Average"}),Une.jsxs(RPe,{children:[Une.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),Une.jsx(CPe,{options:m,onChange:e=>{c?.colDef.field&&e?.value&&d.wavgAggregationState?.addWeightedColumnIdPair(c.colDef.field,e.value)},value:v,placeholder:"Choose a weighted column",darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Une.jsx(NPe,{children:Une.jsx(DPe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var mYi;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(mYi||(mYi={}));class vYi{applicationStore;selectedTab=mYi.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){hd(this,{selectedTab:Rc,lineageData:Rc,isLineageViewerOpen:Rc,selectedPropertyOwnerNode:Rc,selectedProperty:Rc,selectedSourcePropertiesMap:Rc,setSelectedTab:Pu,setLineageData:Pu,setIsLineageViewerOpen:Pu,setSelectedPropertyOwnerNode:Pu,setSelectedProperty:Pu,setSelectedSourcePropertiesMap:Pu,clearPropertySelections:Pu}),this.applicationStore=e}setSelectedTab(e){this.selectedTab=e}setLineageData(e){this.lineageData=e}setIsLineageViewerOpen(e){this.isLineageViewerOpen=e}setSelectedPropertyOwnerNode(e){this.selectedPropertyOwnerNode=e}setSelectedProperty(e){this.selectedProperty=e}setSelectedSourcePropertiesMap(e){this.selectedSourcePropertiesMap=e}clearPropertySelections(){this.selectedProperty=void 0,this.selectedPropertyOwnerNode=void 0,this.selectedSourcePropertiesMap=void 0}}class yYi{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){hd(this,{isApplyingWavg:Rc,weightedColumnIdPairs:Rc,setIsApplyingWavg:Pu,addWeightedColumnIdPair:Pu,removeWeightedColumnIdPair:Pu}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class bYi{queryBuilderState;executionPlanState;exportState=Py.create();previewLimit=1e3;pressedRunQuery=Py.create();isRunningQuery=!1;isGeneratingPlan=!1;executionResult;isExecutionResultOverflowing=!1;executionDuration;executionTraceId;latestRunHashCode;queryRunPromise=void 0;isQueryUsageViewerOpened=!1;executionError;selectedCells;mousedOverCell=null;isSelectingCells;gridConfig;wavgAggregationState;lineageState;isGeneratingLineage=!1;constructor(e){hd(this,{executionResult:Rc,executionTraceId:Rc,previewLimit:Rc,executionDuration:Rc,latestRunHashCode:Rc,queryRunPromise:Rc,isGeneratingPlan:Rc,selectedCells:Rc,mousedOverCell:Rc,isRunningQuery:Rc,isSelectingCells:Rc,isQueryUsageViewerOpened:Rc,isExecutionResultOverflowing:Rc,gridConfig:Rc,wavgAggregationState:Rc,executionError:Rc,setGridConfig:Pu,setWavgAggregationState:Pu,setIsSelectingCells:Pu,setIsRunningQuery:Pu,setExecutionResult:Pu,setExecutionTraceId:Pu,setExecutionDuration:Pu,setPreviewLimit:Pu,addSelectedCell:Pu,setSelectedCells:Pu,setMouseOverCell:Pu,setQueryRunPromise:Pu,setIsQueryUsageViewerOpened:Pu,setIsExecutionResultOverflowing:Pu,handlePreConfiguredGridConfig:Pu,updatePreviewLimitInConfig:Pu,setExecutionError:Pu,exportData:Ju,runQuery:Ju,cancelQuery:Ju,generatePlan:Ju,generateLineage:Ju}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new Bqi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new vYi(this.queryBuilderState.applicationStore)}setGridConfig(e){this.gridConfig=e}setWavgAggregationState(e){this.wavgAggregationState=e}setIsSelectingCells(e){this.isSelectingCells=e}setIsRunningQuery(e){this.isRunningQuery=e}setExecutionResult(e){this.executionResult=e}setExecutionTraceId(e){this.executionTraceId=e}setExecutionDuration(e){this.executionDuration=e}setPreviewLimit(e){this.previewLimit=Math.max(1,e)}addSelectedCell(e){this.selectedCells.some(t=>t.coordinates.rowIndex===e.coordinates.rowIndex&&t.coordinates.colIndex===e.coordinates.colIndex)||this.selectedCells.push(e)}setSelectedCells(e){this.selectedCells=e}setMouseOverCell(e){this.mousedOverCell=e}setQueryRunPromise(e){this.queryRunPromise=e}setIsQueryUsageViewerOpened(e){this.isQueryUsageViewerOpened=e}setExecutionError(e){this.executionError=e}setIsExecutionResultOverflowing(e){this.isExecutionResultOverflowing=e}updatePreviewLimitInConfig(){this.gridConfig&&(this.gridConfig.previewLimit=this.previewLimit)}getExecutionResultLimit=()=>Math.min(this.queryBuilderState.fetchStructureState.implementation instanceof DVi&&this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit?this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit:Number.MAX_SAFE_INTEGER,this.previewLimit);processExecutionResult=e=>{if(this.setIsExecutionResultOverflowing(!1),e instanceof NX&&this.queryBuilderState.isQuerySupported){const t=this.getExecutionResultLimit();e.result.rows.length>t&&(this.setIsExecutionResultOverflowing(!0),e.result.rows=e.result.rows.slice(0,t))}this.setExecutionResult(e)};processWeightedColumnPairsMap(e){if(e.weightedColumnPairs){const t=e.columns.filter(e=>e.aggFunc===dYi.WAVG).map(e=>e.colId),n=new Map;e.weightedColumnPairs.forEach(e=>{e[0]&&e[1]&&n.set(e[0],e[1])});for(const e of n.keys())t.includes(e)||n.delete(e);return n}}handlePreConfiguredGridConfig(e){let t;const n=this.processWeightedColumnPairsMap(e);n?(this.wavgAggregationState=new yYi,this.wavgAggregationState.weightedColumnIdPairs=n,t={...e,weightedColumnPairs:n,columns:e.columns}):t={...e,columns:e.columns},e.previewLimit&&this.setPreviewLimit(e.previewLimit),this.setGridConfig(t)}getQueryGridConfig(){if(this.gridConfig)return{...this.gridConfig,columns:this.gridConfig.columns}}get checkForStaleResults(){return this.latestRunHashCode!==this.queryBuilderState.hashCode}buildExecutionRawLambda(e){let t;if(this.queryBuilderState.isQuerySupported){const n=vBi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=s6(n,this.queryBuilderState.graphManagerState)}else if(t=dr(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return lBi(t,this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);return t}*exportData(e){try{this.exportState.inProgress(),this.queryBuilderState.applicationStore.notificationService.notifySuccess(`Export ${e} will run in background`);const t=this.queryBuilderState.fetchStructureState.implementation.getExportDataInfo(e),n=t.contentType,i=t.serializationFormat,r=this.buildExecutionRawLambda({isExportingResult:!0});Ggt.logEvent_ExportQueryDataLaunched(this.queryBuilderState.applicationStore.telemetryService);const s=yield this.queryBuilderState.graphManagerState.graphManager.exportData(r,this.queryBuilderState.executionContextState.explicitMappingValue,this.queryBuilderState.executionContextState.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{serializationFormat:i,parameterValues:aBi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},void 0,n);if("true"===s.headers.get(nQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=d5(this.queryBuilderState.graphManagerState.graph);Ngt(s,`result.${Ch(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());Ggt.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e),this.exportState.complete()}}*runQuery(){let e;try{this.setIsRunningQuery(!0);const t=this.queryBuilderState.hashCode;this.queryBuilderState.requiresMappingForExecution&&dr(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),dr(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const n=this.buildExecutionRawLambda({withDataOverflowCheck:!0}),i=aBi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);Ggt.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new Fy,s=d5(this.queryBuilderState.graphManagerState.graph),o=this.queryBuilderState.executionContextState;e=this.queryBuilderState.graphManagerState.graphManager.runQuery(n,o.explicitMappingValue,o.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{parameterValues:i,convertUnsafeNumbersToString:!0,preservedResponseHeadersList:[tQ],tracingtags:{...this.queryBuilderState.sourceInfo},forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements}),this.setQueryRunPromise(e);const a=yield e;if(this.queryRunPromise===e){this.processExecutionResult(a.executionResult),a.executionTraceId&&this.setExecutionTraceId(a.executionTraceId),this.latestRunHashCode=t,this.setExecutionDuration(r.elapsed),s.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(r,s.timings);const e=Object.assign({},s,this.queryBuilderState.getStateInfo());Ggt.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(bi(t),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof TZ&&t.executionTraceId&&this.setExecutionTraceId(t.executionTraceId))}finally{this.setIsRunningQuery(!1),this.pressedRunQuery.complete()}}*cancelQuery(){this.pressedRunQuery.complete(),this.setIsRunningQuery(!1),this.setQueryRunPromise(void 0);try{yield this.queryBuilderState.graphManagerState.graphManager.cancelUserExecutions(!0)}catch(e){this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.EXECUTION_FAILURE),e)}}*generatePlan(e){try{this.isGeneratingPlan=!0,this.queryBuilderState.requiresMappingForExecution&&dr(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),dr(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const t=this.queryBuilderState.buildQuery();let n;const i=new Fy,r=d5(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){Ggt.logEvent_ExecutionPlanDebugLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=yield this.queryBuilderState.graphManagerState.graphManager.debugExecutionPlanGeneration(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else Ggt.logEvent_ExecutionPlanGenerationLaunched(this.queryBuilderState.applicationStore.telemetryService),n=yield this.queryBuilderState.graphManagerState.graphManager.generateExecutionPlan(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);i.record();try{this.executionPlanState.setRawPlan(n);const e=this.queryBuilderState.graphManagerState.graphManager.buildExecutionPlan(n,this.queryBuilderState.graphManagerState.graph);this.executionPlanState.initialize(e)}catch{}i.record(Ogt.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?Ggt.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):Ggt.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingPlan=!1}}*generateLineage(){if(!this.isGeneratingLineage)try{this.isGeneratingLineage=!0;const e=this.buildExecutionRawLambda(),t=yield this.queryBuilderState.graphManagerState.graphManager.generateLineage(e,this.queryBuilderState.executionContextState.explicitMappingValue,void 0,this.queryBuilderState.graphManagerState.graph,void 0),n=this.queryBuilderState.graphManagerState.graphManager.buildLineage(t);this.lineageState.setLineageData(n)}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class _Yi{queryBuilderState;rawLambda;lambdaError;constructor(e){hd(this,{rawLambda:Rc,lambdaError:Rc,setRawLambda:Pu,setLambdaError:Pu,hashCode:kc}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return mv([Ift.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const CYi="QUERY_BUILDER_FUNCTION",SYi=(e,t)=>t===Kb.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,wYi=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof sC)).filter(t=>t instanceof K_&&SYi(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),EYi=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),xYi=(e,t,n,i=Kb.MAIN)=>{const r=i===Kb.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=SYi(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof K_&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>wYi(e,t,i)),c=o?.map(e=>r?.get(e)).filter(cr).map(e=>EYi(e));l.concat(c??[]).forEach(e=>{const t=n.nodes.get(e.id);t?(t.childrenIds=e.childrenIds,t.label=e.label):n.nodes.set(e.id,e)})},TYi=(e,t,n=Kb.MAIN)=>{const i=[],r=new Map,s=SYi(t,n);if(n===Kb.PROJECT_DEPENDENCY_ROOT){if(!t.functionsExplorerState.dependencyFunctionInfoMap||0===Array.from(t.functionsExplorerState.dependencyFunctionInfoMap).length)return{rootIds:i,nodes:r}}else if(!t.functionsExplorerState.functionInfoMap||0===Array.from(t.functionsExplorerState.functionInfoMap).length)return{rootIds:i,nodes:r};return e.forEach(e=>{e.children.slice().filter(e=>e instanceof K_&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=wYi(t,e,n);jr(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},AYi=(e,t,n,i=Kb.MAIN)=>(xYi(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(cr).sort(SPe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),RYi=e=>e.package?(e instanceof K_?[e]:[]).concat([e.package].concat(RYi(e.package))):[];class NYi{uuid=Mr();queryFunctionsState;functionAnalysisInfo;constructor(e,t){hd(this,{functionAnalysisInfo:Rc}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class IYi{initState=Py.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){hd(this,{functionExplorerStates:Rc.ref,setFunctionExplorerStates:Pu,dependencyFunctionExplorerStates:Rc.ref,setDependencyFunctionExplorerStates:Pu,treeData:Rc.ref,dependencyTreeData:Rc.ref,_functionGraph:Rc,functionInfoMap:Rc,dependencyFunctionInfoMap:Rc,packagePathToFunctionInfoMap:Rc,setFunctionInfoMap:Pu,setDependencyFunctionInfoMap:Pu,setTreeData:Pu,setPackagePathToFunctionInfoMap:Pu,setDependencyTreeData:Pu,refreshTree:Pu,onTreeNodeSelect:Pu,initializeTreeData:Pu}),this.queryBuilderState=e,this._functionGraph=this.queryBuilderState.graphManagerState.createNewGraph()}getTreeData(e=Kb.MAIN){return e===Kb.PROJECT_DEPENDENCY_ROOT?this.dependencyTreeData:this.treeData}setFunctionExplorerStates(e){this.functionExplorerStates=e}setDependencyFunctionExplorerStates(e){this.dependencyFunctionExplorerStates=e}setFunctionInfoMap(e){this.functionInfoMap=e}setDependencyFunctionInfoMap(e){this.dependencyFunctionInfoMap=e}setPackagePathToFunctionInfoMap(e){this.packagePathToFunctionInfoMap=e}async initializeDisplayablePackagesSet(){this.functionInfoMap&&Array.from(this.functionInfoMap.values()).map(e=>Bw(this._functionGraph,e.packagePath,void 0)).map(e=>RYi(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>Bw(this._functionGraph,e.packagePath,void 0)).map(e=>RYi(e)).flat().forEach(e=>this.dependencyDisplayablePackagesSet.add(e))}setTreeData(e){this.treeData=e}setDependencyTreeData(e){this.dependencyTreeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData}),this.dependencyTreeData&&(this.dependencyTreeData={...this.dependencyTreeData})}get nonNullableTreeData(){return dr(this.treeData,"Query builder functions explorer tree data has not been initialized")}onTreeNodeSelect=(e,t,n,i=Kb.MAIN)=>{if(t.package)if(t.childrenIds.length&&(t.isOpen=!t.isOpen,xYi(e,t,n,i)),i===Kb.PROJECT_DEPENDENCY_ROOT)this.setDependencyTreeData({...n});else this.setTreeData({...n})};initializeFunctionInfoMap(){const e=new Map,t=new Map;if(lE(this.queryBuilderState.graphManagerState.graph.ownFunctions,this._functionGraph).forEach(t=>e.set(t.functionPath,t)),this.queryBuilderState.graphManagerState.graph.dependencyManager.hasDependencies){const e=this.queryBuilderState.graphManagerState.graph.dependencyManager.functions;lE(e,this._functionGraph).forEach(e=>t.set(e.functionPath,e))}const n=this.queryBuilderState.buildFunctionAnalysisInfo();n&&(Array.from(n.functionInfoMap.entries()).forEach(([t,n])=>e.set(t,n)),Array.from(n.dependencyFunctionInfoMap.entries()).forEach(([e,n])=>{t.set(e,n)}));const i=new Map;Array.from(e.values()).concat(Array.from(t.values())).forEach(e=>{const t=i.get(e.packagePath);t?i.set(e.packagePath,[...t,e]):i.set(e.packagePath,[e])}),this.setPackagePathToFunctionInfoMap(i),this.setFunctionInfoMap(e),this.setDependencyFunctionInfoMap(t)}initializeTreeData(){this.initState.isInInitialState&&(this.initState.inProgress(),this.initializeFunctionInfoMap(),this.initializeDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setTreeData(TYi([this._functionGraph.root],this.queryBuilderState,Kb.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new NYi(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(TYi([this._functionGraph.root],this.queryBuilderState,Kb.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new NYi(this,e)):[])}),this.initState.pass())}}class DYi extends dBi{queryBuilderState;selectedParameter;constructor(e){super(),hd(this,{parameterValuesEditorState:Rc,parameterStates:Rc,addParameter:Pu,removeParameter:Pu,setParameters:Pu,selectedParameter:Rc,setSelectedParameter:Pu,hashCode:jl}),this.queryBuilderState=e}get hashCode(){return mv([Ift.PARAMETERS_STATE,mv(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class kYi extends w$i{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return wft(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return E$i(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Zgt.IS_AFTER_DAY:Zgt.GREATER_THAN,t)}buildFilterConditionState(e,t){return T$i(e,t,x$i(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_AFTER_DAY:Zgt.GREATER_THAN,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_GREATER_THAN])}}class OYi extends w$i{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return Sft(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return E$i(e,Zgt.STARTS_WITH,t)}buildFilterConditionState(e,t){return T$i(e,t,Zgt.STARTS_WITH,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_START_WITH])}}class LYi extends OYi{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_NOT_START_WITH])}}class MYi extends w$i{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return wft(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return E$i(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Zgt.IS_ON_OR_AFTER_DAY:Zgt.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return T$i(e,t,x$i(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_OR_AFTER_DAY:Zgt.GREATER_THAN_EQUAL,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class PYi extends w$i{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return wft(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return E$i(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Zgt.IS_ON_OR_BEFORE_DAY:Zgt.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return T$i(e,t,x$i(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_ON_OR_BEFORE_DAY:Zgt.LESS_THAN_EQUAL,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class FYi extends w$i{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Sft(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return wft(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return E$i(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Zgt.IS_BEFORE_DAY:Zgt.LESS_THAN,t)}buildFilterConditionState(e,t){return T$i(e,t,x$i(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Zgt.IS_BEFORE_DAY:Zgt.LESS_THAN,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_LESS_THAN])}}class BYi extends w$i{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return Sft(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return E$i(e,Zgt.ENDS_WITH,t)}buildFilterConditionState(e,t){return T$i(e,t,Zgt.ENDS_WITH,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_END_WITH])}}class VYi extends BYi{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_NOT_END_WITH])}}class UYi extends w$i{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return Sft(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Sft(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return UPi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return E$i(e,Zgt.CONTAINS,t)}buildFilterConditionState(e,t){return T$i(e,t,Zgt.CONTAINS,this)}get hashCode(){return mv([Ift.FILTER_OPERATOR_CONTAIN])}}class GYi extends UYi{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return _ft(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=bft(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([Ift.FILTER_OPERATOR_NOT_CONTAIN])}}var HYi;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(HYi||(HYi={}));class zYi{changeDetectionState;initialQuery;currentQuery;mode=HYi.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){hd(this,{mode:Rc,initialQueryGrammarText:Rc,currentQueryGrammarText:Rc,setMode:Pu,generateGrammarDiff:Ju}),this.changeDetectionState=e,this.initialQuery=t,this.currentQuery=n}setMode(e){this.mode=e}*generateGrammarDiff(){try{this.initialQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.initialQuery,!0)}catch(e){bi(e),this.initialQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}try{this.currentQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.currentQuery,!0)}catch(e){bi(e),this.currentQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}}}class jYi{querybuilderState;initState=Py.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){hd(this,{diffViewState:Rc,querySnapshot:Rc,hashCodeSnapshot:Rc,hasChanged:kc,initialize:Pu,showDiffViewPanel:Pu,hideDiffViewPanel:Pu}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return ur(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new zYi(this,this.querySnapshot,this.querybuilderState.buildQuery())}hideDiffViewPanel(){this.diffViewState=void 0}get hasChanged(){return!!this.initState.hasCompleted&&this.querybuilderState.hashCode!==this.hashCodeSnapshot}initialize(e){this.initState.inProgress(),this.hashCodeSnapshot=this.querybuilderState.hashCode,this.querySnapshot=e,this.initState.complete()}alertUnsavedChanges(e){this.hasChanged?this.querybuilderState.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:Apt.PROCEED,default:!0}]}):e()}}const WYi=e=>e instanceof oS?`${jb}${e.name}`:e instanceof lS&&e.genericType.value.rawType===B_.STRICTDATE?e.values[0]:e instanceof lS&&e.genericType.value.rawType===B_.LATESTDATE?"%latest":"(unknown)",$Yi=(e,t)=>{const n=rE(e,t.graphManagerState.graph);return Une.jsx("div",{className:Bse("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:Une.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},qYi=Lse(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Wht(),o=SMe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=n.toSorted((e,t)=>e.name.localeCompare(t.name)).map(e=>({value:e,label:$Yi(e,t)})),l=t.sourceClass?{value:t.sourceClass,label:$Yi(t.sourceClass,t)}:null;return Une.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:Une.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Une.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),Une.jsx(CPe,{inputId:"query-builder__setup__class-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector query-builder__setup__config-group__item__selector__milestoned",placeholder:a.length?"Choose an entity...":r??"No entity found",disabled:a.length<1||1===a.length&&Boolean(l),noMatchMessage:r,options:a,onChange:e=>{e.value!==t.sourceElement&&(t.changeSourceElement(e.value),i?.(e.value))},value:l,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:zVi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),YYi=e=>({value:e,label:e instanceof Fj?e.packageableRuntime.value.name:"custom"}),KYi=e=>function(t){if(t.value instanceof Fj){const n=t.value;return zVi(e)(GVi(n.packageableRuntime.value))}return t.value instanceof Fj?t.value.packageableRuntime.value.name:Une.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[Une.jsx(ere,{}),Une.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},XYi=Lse(e=>{const{queryBuilderState:t}=e,n=Wht(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(GVi).sort(SPe),s=t.executionContextState.mapping?GVi(t.executionContextState.mapping):null,o=SMe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new Fj(__.create(e))).map(YYi).sort(SPe),l=t.executionContextState.runtimeValue?YYi(t.executionContextState.runtimeValue):null,c=SMe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof Fj?e.data.value.packageableRuntime.value.path:"custom"});return Une.jsxs("div",{className:"query-builder__setup__config-group",children:[Une.jsx(WPe,{title:"properties"}),Une.jsxs("div",{className:"query-builder__setup__config-group__content",children:[Une.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Une.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),Une.jsx(CPe,{inputId:"query-builder__setup__mapping-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:r.length?"Choose a mapping...":"No mapping found",disabled:t.isMappingReadOnly||!t.sourceElement,options:r,onChange:e=>{t.sourceElement&&e.value!==t.executionContextState.mapping&&!t.isMappingReadOnly&&t.changeMapping(e.value)},value:s,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:zVi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Une.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Une.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),Une.jsx(CPe,{inputId:"query-builder__setup__runtime-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:a.length?"Choose a runtime...":"No runtime found",disabled:t.isRuntimeReadOnly||!t.sourceElement||!t.executionContextState.mapping,options:a,onChange:e=>{e.value===t.executionContextState.runtimeValue||t.isRuntimeReadOnly||t.changeRuntime(e.value)},value:l,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:c,formatOptionLabel:KYi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Une.jsx("div",{className:"query-builder__setup__config-group__item",children:Une.jsx(qYi,{queryBuilderState:t,classes:i})})]})]})}),ZYi=Lse(e=>{const{queryBuilderState:t,children:n}=e,i=Wht().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]);let r=Une.jsx(Une.Fragment,{});for(const e of i){const n=e(t);if(void 0!==n){r=n;break}}return Une.jsxs("div",{className:Bse("query-builder__side-bar",t.sideBarClassName),children:[Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:Une.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??Une.jsx(XYi,{queryBuilderState:t})})}),Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),Une.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class QYi{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class JYi extends QYi{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${WYi(this.getMilestoningDate(0))}, Business Date: ${WYi(this.getMilestoningDate(1))}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(o_)),this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(a_))}buildParameterStatesFromMilestoningParameters(){return[this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof oS?this.milestoningState.businessDate.name:a_),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof oS?this.milestoningState.processingDate.name:o_)].filter(cr)}processGetAllParamaters(e){br(3===e.length,"Can't process getAll() expression: when used with a bitemporal milestoned class getAll() expects two parameters"),this.milestoningState.setProcessingDate(e[1]),this.milestoningState.setBusinessDate(e[2])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(0),"Milestoning class should have a parameter of type 'Date'")),e.parametersValues.push(dr(this.getMilestoningDate(1),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllWithDefaultParameters(e){const t=PPi(Zgt.NOW,B_.DATETIME);e.parametersValues.push(t),e.parametersValues.push(t)}buildGetAllVersionsInRangeParameters(e){throw new yi("Can't build getAllVersionsInRange() function: expects root class to be business temporal or processing temporal milestoned")}generateMilestoningDate(e,t,n,i,r,s){if(this.initializeMilestoningParameters(),0===r){if(i===n_.PROCESSING_TEMPORAL&&1===s?.parameterValues.length)return new ES(()=>dr(fr(n,_S).parametersValues[1]));let o;return e&&n&&!t?o=new ES(()=>dr(n.parametersValues[1])):(o=new ES(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===n_.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new ES(()=>dr(fr(s.propertyExpression.parametersValues[0],_S).parametersValues[1]));let o;return e&&n&&!t?o=new ES(()=>dr(n.parametersValues[2])):(o=new ES(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class eKi extends QYi{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${WYi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(a_))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof oS?this.milestoningState.businessDate.name:a_);return e?[e]:[]}processGetAllParamaters(e){br(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setBusinessDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new yi("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=PPi(Zgt.NOW,B_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===n_.BUSINESS_TEMPORAL?new ES(()=>dr(n.parametersValues[1])):new ES(()=>dr(n.parametersValues[2]));{const n=new ES(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class tKi extends QYi{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${WYi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(o_))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof oS?this.milestoningState.processingDate.name:o_);return e?[e]:[]}processGetAllParamaters(e){br(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setProcessingDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new yi("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=PPi(Zgt.NOW,B_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new ES(()=>dr(n.parametersValues[1]));{const n=new ES(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class nKi{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){hd(this,{processingDate:Rc,businessDate:Rc,startDate:Rc,endDate:Rc,showMilestoningEditor:Rc,setProcessingDate:Pu,setBusinessDate:Pu,setStartDate:Pu,setEndDate:Pu,setShowMilestoningEditor:Pu,clearMilestoningDates:Pu,setAllVersions:Pu,setAllVersionsInRange:Pu,initializeAllVersionsInRangeParameters:Pu,clearAllVersionsInRangeParameters:Pu,clearGetAllParameters:Pu,isAllVersionsEnabled:kc,isAllVersionsInRangeEnabled:kc,isMilestonedQuery:kc,hashCode:kc}),this.queryBuilderState=e,this.milestoningImplementations.push(new eKi(this,n_.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new tKi(this,n_.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new JYi(this,n_.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof DVi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof nFi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ES&&(e.isPropagatedValue=!1)}):e instanceof aFi&&e.projectionColumnState instanceof nFi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ES&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof QFi?e.condition.sourceState instanceof jFi&&e.condition.sourceState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ES&&(e.isPropagatedValue=!1)}):e instanceof XFi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.sourceClass?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof ES&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===Xgt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Xgt.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){return void 0!==zw(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){const t=zw(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==n_.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===Xgt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Xgt.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===Xgt.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(Xgt.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(Xgt.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(Xgt.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(Xgt.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?vte(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?vte(e,this.queryBuilderState.observerContext):e}setShowMilestoningEditor(e){this.showMilestoningEditor=e}getMilestoningImplementation(e){return dr(this.milestoningImplementations.find(t=>t.stereotype===e))}initializeQueryMilestoningParameters(e){this.getMilestoningImplementation(e).initializeMilestoningParameters(!0)}setProcessingDate(e){this.processingDate=e?vte(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?vte(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(r_)),this.setEndDate(this.buildMilestoningParameter(s_))}clearGetAllParameters(){if(this.businessDate instanceof oS&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===fr(this.businessDate,oS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof oS&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===fr(this.processingDate,oS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof lS&&this.setBusinessDate(void 0),this.processingDate instanceof lS&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof oS&&!this.queryBuilderState.isVariableUsed(this.startDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.startDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}if(this.endDate instanceof oS&&!this.queryBuilderState.isVariableUsed(this.endDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.endDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}this.setStartDate(void 0),this.setEndDate(void 0)}clearMilestoningDates(){this.setBusinessDate(void 0),this.setProcessingDate(void 0)}updateMilestoningConfiguration(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){const t=zw(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new oS(e,T_.ONE,G_.create(new q_(B_.DATE))),n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e);if(n)return n;if(!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new cBi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new oS(e,T_.ONE,G_.create(new q_(B_.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new cBi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof oS){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);n&&n.setValue(t)}}getMilestoningParameterValue(e){let t=e;if(e instanceof oS){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&Rft(e,this.businessDate),n=!!this.processingDate&&Rft(e,this.processingDate),i=!!this.startDate&&Rft(e,this.startDate),r=!!this.endDate&&Rft(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof oS&&(t=e.name===fr(this.businessDate,oS).name),this.processingDate instanceof oS&&(t=t||e.name===fr(this.processingDate,oS).name),this.startDate instanceof oS&&(t=t||e.name===fr(this.startDate,oS).name),this.endDate instanceof oS&&(t=t||e.name===fr(this.endDate,oS).name),t}get hashCode(){return mv([Ift.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var iKi;!function(e){e.COMPILE="query-builder.compile"}(iKi||(iKi={}));const rKi={[iKi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class sKi{queryBuilderState;value;constructor(e){hd(this,{value:Rc,setValue:Pu,hashCode:kc}),this.queryBuilderState=e}getDefaultValue(){return new lS(G_.create(new q_(B_.STRING)))}setValue(e){this.value=e?vte(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&Rft(e,this.value)}get hashCode(){return mv([Ift.WATERMARK_STATE,this.value??""])}}class oKi{queryBuilderState;uuid=Mr();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return mv([Ift.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new lS(G_.create(new q_(B_.STRING)));e.values=[this.variable.name];const t=new bS(N_(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class aKi extends oKi{value;constructor(e,t,n){super(e,t),hd(this,{variable:Rc,value:Rc,setValueSpec:Pu,changeValSpecType:Pu}),this.value=vte(n,this.queryBuilderState.observerContext),vte(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=UPi(this.queryBuilderState.graphManagerState.graph,e,this.queryBuilderState.observerContext,this.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);this.setValueSpec(t)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}}setValueSpec(e){if(e instanceof oS)throw new vi("Can not assign a parameter to another parameter");this.value=vte(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&sft(this.variable,G_.create(new q_(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return mv([Ift.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class lKi extends ZPi{queryBuilderState;calculatedState;convertingLambdaToStringState=Py.create();constructor(e){super("",""),hd(this,{calculatedState:Rc,convertingLambdaToStringState:Rc,buildEmptyValueSpec:Rc}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(GPi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return qee([Pgt.QUERY_BUILDER,Pgt.CONSTANT,this.calculatedState.uuid])}*convertLambdaGrammarStringToObject(){if(this.lambdaString)try{this.convertingLambdaToStringState.inProgress();const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToValueSpecification(this.fullLambdaString);this.setParserError(void 0),this.calculatedState.setValue(e)}catch(e){bi(e),e instanceof wZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}finally{this.convertingLambdaToStringState.complete()}else this.clearErrors(),this.calculatedState.setValue(this.buildEmptyValueSpec()),this.convertingLambdaToStringState.complete()}*convertLambdaObjectToGrammarString(e){try{const t=this.calculatedState.value,n=yield this.queryBuilderState.graphManagerState.graphManager.valueSpecificationToPureCode(t,e?.pretty);this.setLambdaString(n),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(IS.PARSING_FAILURE),e)}}}class cKi extends oKi{value;lambdaState;constructor(e,t,n){super(e,t),hd(this,{variable:Rc,lambdaState:Rc,value:Rc,setLambdaState:Pu,setValue:Pu}),this.value=n,this.lambdaState=new lKi(this),vte(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new sS(this.value)}}class uKi{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,hd(this,{constants:Rc,showConstantPanel:Rc,selectedConstant:Rc,addConstant:Pu,removeConstant:Pu,setShowConstantPanel:Pu,setSelectedConstant:Pu,convertToCalculated:Pu})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){jr(this.constants,e)}removeConstant(e){$r(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof oS&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new cKi(this.queryBuilderState,e.variable,t);br(Wr(this.constants,e,n),"Unable to convert to calculated constant")}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}get hashCode(){return mv([Ift.CONSTANT_STATE,mv(this.constants)])}}var dKi;!function(e){e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED="data-access-overview.chart.access-granted",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED="data-access-overview.chart.access-approved",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED="data-access-overview.chart.access-requested",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED="data-access-overview.chart.access-not-granted",e.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS="data-access-overview.chart.unsupported-access"}(dKi||(dKi={}));class hKi{uuid=Mr();specification;entitlementReport;constructor(e){hd(this,{entitlementReport:Rc,setEntitlementReport:Pu}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class pKi{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=Py.create();checkEntitlementsState=Py.create();datasets=[];constructor(e,t,n){hd(this,{datasets:Rc,entitlementCheckInfo:kc,fetchDatasetSpecifications:Ju,fetchDatasetEntitlementReports:Ju}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new hKi(e)),this.mapping=n.mapping,this.runtime=n.runtime,this.graphData=n.graphData,this.getQuery=n.getQuery}get entitlementCheckInfo(){const e=this.datasets.length;if(!e)return{total:e,data:[{label:"Access Granted",count:1,percentage:100,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof uJ).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof pJ).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof hJ).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof dJ).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const u=this.datasets.filter(e=>e.entitlementReport instanceof gJ).length,d=Math.round(u/e*100);t.data.push({label:"Unsupported",count:u,percentage:d,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});const h=e-n-r-o-l-u,p=Math.round(h/e*100);t.data.push({label:"Unknown",count:h,percentage:p,color:this.applicationStore.layoutService.getColor(dKi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=Gr(t.data,e);if(g+n.percentage>=100){n.percentage=100-g,t.data=t.data.slice(0,e+1);break}g+=n.percentage}return t}*fetchDatasetSpecifications(){this.surveyDatasetsState.inProgress();try{const e=yield this.graphManagerState.graphManager.surveyDatasets(this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets=e.map(e=>{const t=this.datasets.find(t=>t.specification.hashCode===e.hashCode);return t||new hKi(e)})}catch(e){bi(e),this.applicationStore.notificationService.notifyError(e)}finally{this.surveyDatasetsState.complete()}}*fetchDatasetEntitlementReports(){this.checkEntitlementsState.inProgress();try{const e=yield this.graphManagerState.graphManager.checkDatasetEntitlements(this.datasets.map(e=>e.specification),this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets.forEach(t=>{const n=e.find(e=>e.dataset.hashCode===t.specification.hashCode);n?t.setEntitlementReport(n):t.setEntitlementReport(void 0)});const t=[];e.forEach(e=>{if(!this.datasets.find(t=>t.specification.hashCode===e.dataset.hashCode)){const n=new hKi(e.dataset);n.setEntitlementReport(e),t.push(n)}}),this.datasets=this.datasets.concat(t)}catch(e){bi(e),this.applicationStore.notificationService.notifyError(e)}finally{this.checkEntitlementsState.complete()}}async intialize(){this.initialDatasets||await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}async refresh(){await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}}class gKi{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){hd(this,{showCheckEntitlementsViewer:Rc,dataAccessState:Rc,setShowCheckEntitlementsViewer:Pu,hashCode:kc}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof Fj&&(this.dataAccessState=new pKi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState,{mapping:this.queryBuilderState.executionContextState.mapping.path,runtime:this.queryBuilderState.executionContextState.runtimeValue.packageableRuntime.value.path,getQuery:async()=>this.createExecutableQuery(this.queryBuilderState.buildQuery(),this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),graphData:this.queryBuilderState.getGraphData()}))}createExecutableQuery(e,t,n){if(t.length>0){const i=rBi(n.graph,t),r=s6(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return mv([Ift.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class fKi{queryBuilderState;initState=Py.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){hd(this,{currentQuery:Rc,pointer:Rc,querySnapshotBuffer:Rc,initialize:Pu,undo:Pu,redo:Pu,setCurrentQuery:Pu,cacheNewQuery:Pu,canRedo:kc,canUndo:kc}),this.queryBuilderState=e}get canRedo(){return this.pointer<this.querySnapshotBuffer.length-1}get canUndo(){return this.pointer>0}redo(){if(this.canRedo){this.pointer=this.pointer+1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(dr(e),{preserveParameterValues:!0,preserveResult:!0})}}undo(){if(this.canUndo){this.pointer=this.pointer-1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(dr(e),{preserveParameterValues:!0,preserveResult:!0})}}setCurrentQuery(e){this.currentQuery=e}initialize(e){this.queryBuilderState.isQuerySupported&&(this.initState.inProgress(),this.currentQuery=e,this.querySnapshotBuffer.push(e),this.pointer=this.pointer+1,this.initState.complete())}cacheNewQuery(e){try{this.queryBuilderState.isQuerySupported&&e.hashCode!==this.currentQuery?.hashCode&&(this.querySnapshotBuffer.length===this.bufferSize&&this.pointer===this.querySnapshotBuffer.length-1?this.querySnapshotBuffer=this.querySnapshotBuffer.slice(1):this.querySnapshotBuffer=this.querySnapshotBuffer.slice(0,this.pointer+1),this.querySnapshotBuffer.push(e),this.pointer=this.querySnapshotBuffer.length-1,this.setCurrentQuery(e))}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(Ogt.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class mKi{static INSTANCE=new mKi}class vKi{actionConfig=mKi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class yKi extends vKi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new yKi}class bKi extends vKi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new bKi}class _Ki extends tvt{mapping;runtime}class CKi extends Gyt{logService=new zy;graphState;queryBuilderState;selectInitialQuery;mappingPath;parameterValues;runtimePath;parameters;letFuncsRawLambda;constructor(e,t,n,i,r,s,o){super(),this.graphState=r,this.queryBuilderState=s,this.selectInitialQuery=e,this.mappingPath=n,this.runtimePath=i,this.parameterValues=t,this.parameters=e.parameters,this.letFuncsRawLambda=o}finalizeTimingRecord(e,t){if(this.queryBuilderState)return this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t)}getDataFromSource(e){return e instanceof _Ki?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new _Ki;return n.columns=(await this.getRelationType(this.selectInitialQuery)).columns,n.mapping=this.mappingPath,n.runtime=this.runtimePath,n.query=t,n}async parseValueSpecification(e,t){return bN(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(_N(e,[]),t)}async getQueryTypeahead(e,t,n){const i=this.buildRawLambdaFromValueSpec(t),r=await this.graphState.graphManager.lambdaToPureCode(i),s=r.length,o=r+e,a=o.substring(o.indexOf(Hb)+1,o.length);return(await this.graphState.graphManager.getCodeComplete(a,this.graphState.graph,s)).completions}async getQueryRelationReturnType(e,t){return this.getRelationType(this.buildRawLambdaFromValueSpec(e))}async getQueryCodeRelationReturnType(e,t,n){const i=await this.graphState.graphManager.valueSpecificationToPureCode(_N(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new Fy,i=this.buildRawLambdaFromValueSpec(e);this.letFuncsRawLambda&&Array.isArray(i.body)&&Array.isArray(this.letFuncsRawLambda.body)&&(i.body=[...this.letFuncsRawLambda.body,...i.body]),i.parameters=this.letFuncsRawLambda?this.letFuncsRawLambda.parameters:this.parameters;const[r,s]=await Promise.all([this.graphState.graphManager.runQuery(i,void 0,void 0,this.graphState.graph,{parameterValues:this.parameterValues??[]}),this.graphState.graphManager.lambdaToPureCode(i)]),o=n.elapsed,a=fr(r.executionResult,NX,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=d5(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());Ggt.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof bX?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof _Ki){return Boolean(e.mapping??e.runtime)?dvt(exports.DataCubeFunction.FROM,[e.mapping?gvt(e.mapping):void 0,e.runtime?gvt(e.runtime):void 0].filter(cr)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=fr(UN(_N(e,[])),QE);return new nS(t.parameters,t.body)}getSourceFunctionExpression(){let e=bN(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof Gx&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new evt;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class SKi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var wKi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(wKi||(wKi={}));class EKi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=Py.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new A$i,new R$i,new FYi,new PYi,new kYi,new MYi,new OYi,new LYi,new UYi,new GYi,new BYi,new VYi,new N$i,new I$i,new D$i,new k$i])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=wKi.STANDARD;sourceElement;getAllFunction=Xgt.GET_ALL;executionContextState;internalizeState;queryChatState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){hd(this,{explorerState:Rc,parametersState:Rc,constantState:Rc,functionsExplorerState:Rc,fetchStructureState:Rc,filterState:Rc,watermarkState:Rc,milestoningState:Rc,checkEntitlementsState:Rc,resultState:Rc,textEditorState:Rc,unsupportedQueryState:Rc,showFunctionsExplorerPanel:Rc,showParametersPanel:Rc,isEditingWatermark:Rc,isCheckingEntitlments:Rc,isCalendarEnabled:Rc,changeDetectionState:Rc,changeHistoryState:Rc,executionContextState:Rc,sourceElement:Rc,queryChatState:Rc,isQueryChatOpened:Rc,isLocalModeEnabled:Rc,dataCubeViewerState:Rc,getAllFunction:Rc,lambdaWriteMode:Rc,INTERNAL__enableInitializingDefaultSimpleExpressionValue:Rc,sideBarClassName:kc,sourceClass:kc,sourceAccessor:kc,sourceRelationType:kc,isQuerySupported:kc,allValidationIssues:kc,canBuildQuery:kc,useRelation:kc,setShowFunctionsExplorerPanel:Pu,setShowParametersPanel:Pu,setIsEditingWatermark:Pu,setIsCalendarEnabled:Pu,setDataCubeViewerState:Pu,openDataCubeEngine:Pu,setIsCheckingEntitlments:Pu,setSourceElement:Pu,setIsQueryChatOpened:Pu,setIsLocalModeEnabled:Pu,setGetAllFunction:Pu,setLambdaWriteMode:Pu,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:Pu,TEMPORARY_initializeExecContext:Pu,resetQueryResult:Pu,resetQueryContent:Pu,changeSourceElement:Pu,changeMapping:Pu,changeRuntime:Pu,setExecutionContextState:Pu,setQueryChatState:Pu,rebuildWithQuery:Pu,compileQuery:Ju,hashCode:kc}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new nKi(this),this.explorerState=new zUi(this),this.parametersState=new DYi(this),this.constantState=new uKi(this),this.functionsExplorerState=new IYi(this),this.fetchStructureState=new RGi(this),this.filterState=new eBi(this,this.filterOperators),this.watermarkState=new sKi(this),this.checkEntitlementsState=new gKi(this),this.resultState=new bYi(this),this.textEditorState=new DGi(this),this.unsupportedQueryState=new _Yi(this),this.observerContext=new Q3(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new jYi(this),this.changeHistoryState=new fKi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(EVi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new pBi(this);return this.setLambdaWriteMode(wKi.TYPED_FETCH_STRUCTURE),e}return new gBi(this)}get useRelation(){return this.sourceElement instanceof l$||this.isFetchStructureTyped}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}get floatingExecutionElements(){}get TEMPORARY__isDnDFetchStructureToFilterSupported(){return!0}get allVariables(){return[...this.parametersState.parameterStates.map(e=>e.parameter),...this.constantState.constants.map(e=>e.variable)]}get allVariableNames(){return this.allVariables.map(e=>e.name)}get isFetchStructureTyped(){return this.lambdaWriteMode===wKi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}get requiresMappingForExecution(){return!0}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new ZX,t=fr(this.executionContextState.runtimeValue,Fj,"Query runtime must be of type runtime pointer");return ur(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=__.create(this.executionContextState.mapping),e.runtime=t.packageableRuntime,e}async propagateExecutionContextChange(e){const t=this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryBuilderPropagateExecutionContextChangeHelper?.()??[]);for(const n of t){const t=n(this,e);if(t)return void await t()}}getStateInfo(){if(this.sourceInfo){const e=this.sourceClass?.path,t=this.executionContextState.mapping?.path,n=this.executionContextState.runtimeValue instanceof Fj?this.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(e&&t&&n){const i={class:e,mapping:t,runtime:n};return Object.assign({},this.sourceInfo,i)}}}setIsQueryChatOpened(e){this.isQueryChatOpened=e,this.applicationStore.settingService.persistValue(EVi.SHOW_QUERY_CHAT_PANEL,e)}setIsLocalModeEnabled(e){this.isLocalModeEnabled=e}setDataCubeViewerState(e){this.dataCubeViewerState=e}setInternalize(e){this.internalizeState=e}setQueryChatState(e){this.queryChatState=e}setShowFunctionsExplorerPanel(e){this.showFunctionsExplorerPanel=e}setShowParametersPanel(e){this.showParametersPanel=e}setIsEditingWatermark(e){this.isEditingWatermark=e}setIsCheckingEntitlments(e){this.isCheckingEntitlments=e}setIsCalendarEnabled(e){this.isCalendarEnabled=e}get sourceClass(){return this.sourceElement instanceof l$?void 0:this.sourceElement}get sourceAccessor(){return this.sourceElement instanceof l$?this.sourceElement:void 0}get sourceRelationType(){return this.sourceAccessor?.relationType}setSourceElement(e){this.sourceElement=e}setExecutionContextState(e){this.executionContextState=e}setGetAllFunction(e){this.getAllFunction=e}setINTERNAL__enableInitializingDefaultSimpleExpressionValue(e){this.INTERNAL__enableInitializingDefaultSimpleExpressionValue=e}get isQuerySupported(){return!this.unsupportedQueryState.rawLambda}async openDataCubeEngine(){try{Ggt.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof Fj?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(wKi.TYPED_FETCH_STRUCTURE);const r=aBi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new CKi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new SKi(a,o)})(this))}catch(e){bi(e),this.applicationStore.notificationService.notifyError("Unable to open data cube in query builder")}}registerCommands(){this.applicationStore.commandService.registerCommand({key:iKi.COMPILE,action:()=>{this.compileQuery().catch(this.applicationStore.alertUnhandledError)}})}isVariableUsed(e,t){const n=this.filterState.isVariableUsed(e)||this.watermarkState.isVariableUsed(e)||this.fetchStructureState.implementation.isVariableUsed(e);return t?.exculdeMilestoningState?n:this.milestoningState.isVariableUsed(e)||n}deregisterCommands(){[iKi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new bYi(this);t.setPreviewLimit(this.resultState.previewLimit),e?.preserveResult&&(t.setExecutionResult(this.resultState.executionResult),t.setExecutionDuration(this.resultState.executionDuration),t.latestRunHashCode=this.resultState.latestRunHashCode),e?.gridConfig&&(this.isLocalModeEnabled=!0,t.handlePreConfiguredGridConfig(e.gridConfig)),this.resultState=t}resetQueryContent(){this.textEditorState=new DGi(this),this.unsupportedQueryState=new _Yi(this),this.milestoningState=new nKi(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new zUi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new uKi(this),this.functionsExplorerState=new IYi(this),this.parametersState=new DYi(this),this.filterState=new eBi(this,this.filterOperators),this.watermarkState=new sKi(this),this.checkEntitlementsState=new gKi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new RGi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeSourceElement(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(Xgt.GET_ALL),this.setSourceElement(e),this.explorerState.refreshTreeData(),this.fetchStructureState.implementation.onClassChange(),this.milestoningState.updateMilestoningConfiguration(),this.changeHistoryState.cacheNewQuery(this.buildQuery())}changeMapping(e,t){this.resetQueryResult(),t?.keepQueryContent||(this.resetQueryContent(),this.setGetAllFunction(Xgt.GET_ALL),this.milestoningState.updateMilestoningConfiguration()),this.executionContextState.setMapping(e)}changeRuntime(e){this.resetQueryResult(),this.executionContextState.setRuntimeValue(e)}getCurrentParameterValues(){if(this.parametersState.parameterStates.length){const e=new Map;return this.parametersState.parameterStates.forEach(t=>{const n=t.value;n&&e.set(t.variableName,n)}),e}}getGridConfig(){if(this.isLocalModeEnabled&&this.resultState.gridConfig)return this.resultState.getQueryGridConfig()}buildQuery(e){if(!this.isQuerySupported){const e=this.parametersState.parameterStates.map(e=>this.graphManagerState.graphManager.serializeValueSpecification(e.parameter));return this.unsupportedQueryState.setRawLambda(new nS(e,this.unsupportedQueryState.rawLambda?.body)),dr(this.unsupportedQueryState.rawLambda)}return s6(vBi(this,{keepSourceInformation:Boolean(e?.keepSourceInformation),useTypedRelationFunctions:this.isFetchStructureTyped}),this.graphManagerState)}buildQueryForPersistence(){return this.buildQuery()}buildFromQuery(){br(this.isQuerySupported,"Query must be supported to build from function");const e=dr(this.executionContextState.mapping,"Mapping required to build from() function"),t=dr(this.executionContextState.runtimeValue,"Runtime required to build from query"),n=fr(t,Fj).packageableRuntime,i=((e,t,n)=>{const i=dr(e.expressionSequence[0]),r=new bS(N_(exports.SUPPORTED_FUNCTIONS.FROM)),s=new aS(T_.ONE,void 0);s.values=[__.create(t)];const o=new aS(T_.ONE,void 0);return o.values=[__.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(vBi(this),e,n.value);return s6(i,this.graphManagerState)}buildExecutionContextExpression(e){return((e,t)=>{if(e instanceof pBi){const n=dr(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new bS(N_(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new aS(T_.ONE,void 0),s.values=[__.create(r)]);const o=e.runtimeValue;let a;o instanceof Fj&&(a=new aS(T_.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(cr),t.expressionSequence[0]=i}return t})(this.executionContextState,e)}getQueryReturnType(){return this.fetchStructureState.implementation instanceof DVi?this.useRelation?this.graphManagerState.graph.getType(Ygt.RELATION):this.graphManagerState.graph.getClass(Ygt.TDS_TABULAR_DATASET):B_.STRING}initializeWithQuery(e,t,n){this.rebuildWithQuery(e,{defaultParameterValues:t}),this.resetQueryResult({gridConfig:n}),this.changeDetectionState.initialize(e),this.changeHistoryState.initialize(e)}rebuildWithQuery(e,t){let n;try{const i=new Map;if(t?.preserveParameterValues?(this.parametersState.parameterStates.forEach(e=>{i.set(e.parameter.name,{variable:e.parameter,value:e.value})}),n=i):t?.defaultParameterValues?.size&&(Array.from(t.defaultParameterValues.entries()).forEach(([e,t])=>{i.set(e,{variable:e,value:t})}),n=i),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),!tj(e)){const t=vte(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=fr(t,wS,"Can't build query state: query builder only support lambda");BKi(dr(i.values[0]),this,{parameterValues:n})}this.parametersState.parameterStates.filter(e=>!this.milestoningState.isMilestoningParameter(e.parameter)).length>0&&this.setShowParametersPanel(!0),this.fetchStructureState.initializeWithQuery()}catch(s){bi(s),this.applicationStore.logService.error(Hy.create(Ogt.UNSUPPORTED_QUERY_LAUNCH),s),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),this.unsupportedQueryState.setLambdaError(s),this.unsupportedQueryState.setRawLambda(e),this.setSourceElement(void 0);const o=(i=e,r=this.graphManagerState,(i.parameters??[]).map(e=>r.graphManager.buildValueSpecification(e,r.graph))).map(e=>vte(e,this.observerContext)).filter(pr(oS));FKi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===IGi.TEXT){this.queryCompileState.inProgress();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.textEditorState.rawLambdaState.lambda,this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){if(bi(e),e instanceof EZ){this.applicationStore.logService.error(Hy.create(IS.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);$ee(e.sourceInformation)&&this.textEditorState.setCompilationError(e)}}finally{this.queryCompileState.complete()}}}else{this.queryCompileState.inProgress(),this.fetchStructureState.implementation.clearCompilationError();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.buildQuery({keepSourceInformation:!0}),this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){bi(e),this.applicationStore.logService.error(Hy.create(IS.COMPILATION_FAILURE),e);let t=!0;e instanceof EZ&&e.sourceInformation&&(t=!this.fetchStructureState.implementation.revealCompilationError(e)),t?(this.applicationStore.notificationService.notifyWarning("Compilation failed and error cannot be located in form mode. Redirected to text mode for debugging."),this.textEditorState.openModal(IGi.TEXT)):this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`)}finally{this.queryCompileState.complete()}}}get allValidationIssues(){return this.fetchStructureState.implementation.allValidationIssues.concat(this.filterState.allValidationIssues)}get canBuildQuery(){return!(this.filterState.hasInvalidFilterValues||this.filterState.hasInvalidDerivedPropertyParameters||this.fetchStructureState.implementation.hasInvalidFilterValues||this.fetchStructureState.implementation.hasInvalidDerivedPropertyParameters)}buildFunctionAnalysisInfo(){}getGraphData(){return new m5(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new xKi(this.applicationStore,this.graphManagerState,this.workflowState,void 0);return e.sourceElement=this.sourceElement,e.executionContextState.mapping=this.executionContextState.mapping,e.executionContextState.runtimeValue=this.executionContextState.runtimeValue,e}get hashCode(){return mv([Ift.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class xKi extends EKi{}class TKi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const AKi=(e,t,n)=>{t.fetchStructureState.changeImplementation(CFi.GRAPH_FETCH),br(2===e.parametersValues.length||3===e.parametersValues.length,"Can't process serialize() expression: serialize() expects 1 or 2 argument");const i=fr(e.parametersValues[0],bS,"Can't process serialize() expression: only support serialize() immediately following an expression");if(br(k_(i.functionName,[Zgt.GRAPH_FETCH,Zgt.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),PKi.process(i,n,t),t.fetchStructureState.implementation instanceof TGi){const n=t.fetchStructureState.implementation,i=fr(e.parametersValues[1],NS,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=fr(i.values[0],TS,"Can't process serialize() expression: serialize() graph-fetch tree root is missing");br(0===r.subTypeTrees.length,"Can't process serialize() expression: subTypeTree is not supported."),n.setGraphFetchTree(hGi(r));const s=e.parametersValues[2];if(s){const e=fr(s,bS,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");br(k_(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=fr(n.serializationState,EGi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=fr(fr(fr(e.parametersValues[0],aS,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],b_,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,Y_,"Can't process serialize() expression: serialization config expects first param to be a class");br(i.path===Ygt.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${Ygt.SERIALIZE_CONFIG}', got : ${i.path}`);const r=fr(e.parametersValues[2],uS,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new SGi;r.values.forEach((e,t)=>{const n=fr(e,hS,`Can't process serialize() expression: collection instance value expects value ${t+1} to be key expression instance `);((e,t,n,i)=>{const r=fr(e.key,lS,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive value`);br(r.genericType.value.rawType.path===Xb.STRING,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive string value`);const s=Ar(r.values[0],`Can't process serialize() expression: serialization config key expression ${i} expected to be a non-nullable primitive string value`),o=Object.getOwnPropertyNames(t);dr(o.find(e=>e===s),`Property name '${s}' not defined in serialization config, accepted properties are ${o.join(",")}`);const a=Xw(n,s),l=fr(a.genericType.value.rawType,B_,`Only primitive types suppported for config. Property ${s} for class '${Ygt.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=dr(fr(e.expression,lS,"Can't process serialize() expression: config key expression's value expected to be a primitive instance value").values[0],"Can't process serialize() expression: config key expression's value expected to be a non nullable primitive value");switch(l.path){case Xb.STRING:xr(c);break;case Xb.BOOLEAN:Tr(c);break;default:return}t[s]=c})(dr(n.values[0],`Can't process serialize() expression: serialization config key expression ${t} expected to non null`),o,i,t)}),t.setConfig(o)}}},RKi=(e,t,n)=>{const i=fr(e.parametersValues[0],bS,"Can't process project() expression: only support project() immediately following an expression");br(k_(i.functionName,[Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE,Zgt.FILTER,Zgt.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),PKi.process(i,n,t)},NKi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(CFi.TABULAR_DATA_STRUCTURE),br(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),RKi(e,t,n);const i=e.parametersValues[1];i instanceof uS?i.values.map(i=>PKi.processChild(i,e,n,t)):(gr(i,bS,"Can't process project() expression: project() expects argument #1 to be a function expression"),PKi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(CFi.TABULAR_DATA_STRUCTURE),br(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),RKi(e,t,n);const i=e.parametersValues[1];gr(i,uS,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>PKi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof uS?(gr(r,uS,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(Aft).filter(cr)):(gr(r,lS,"Can't process project() expression: project() expects argument #2 to be a collection or string"),s=[r.values[0]]),br(i.values.length===s.length,"Can't process project() expression: number of aliases does not match the number of columns"),t.fetchStructureState.implementation instanceof DVi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},IKi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof DVi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof _S;){const e=r;for(Tft(r,n.graphManagerState.graph,n),r=dr(r.parametersValues[0]),e.func.value instanceof uC&&br((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);r instanceof bS&&k_(r.functionName,Zgt.SUBTYPE);)r=dr(r.parametersValues[0])}gr(r,oS,"Can't process property expression: expects expression root to be a variable");const s=new nFi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},DKi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof DVi){const r=i.fetchStructureState.implementation,s=_i(()=>fr(UN(e.content),QE));ur(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new sFi(r,new nS(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},kKi=(e,t,n)=>{br(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=fr(e.parametersValues[0],bS,"Can't process take() expression: only support take() immediately following an expression");if(br(k_(i.functionName,[Zgt.TDS_TAKE,Zgt.TDS_DISTINCT,Zgt.TDS_SORT,Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),PKi.process(i,n,t),t.fetchStructureState.implementation instanceof DVi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof lS&&Cr(e.values[0]))return e.values[0]})(dr(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},OKi=(e,t,n)=>{const i=e.parametersValues.length;br(4===i||5===i,"Can't process sort() expression: olapGroupBy() expects 3 or 4 argument");const r=5===i,s=e.parametersValues[1],o=r?e.parametersValues[2]:void 0,a=r?e.parametersValues[3]:e.parametersValues[2],l=r?e.parametersValues[4]:e.parametersValues[3],c=fr(e.parametersValues[0],bS,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");br(k_(c.functionName,[Zgt.TDS_TAKE,Zgt.TDS_DISTINCT,Zgt.TDS_SORT,Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),PKi.process(c,n,t);const u=fr(t.fetchStructureState.implementation,DVi);gr(s,uS,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const d=s.values.map(e=>{const t=Ar(fr(e,lS,"Can`t process OLAP window column expression: Column should be a primitive instance value").values[0],"Can`t process OLAP window column expression: Column should be a string primitive instance value");return EFi(u,t)});let h,p;if(r){const e=fr(o,bS,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(k_(e,Zgt.TDS_ASC))return Jgt.ASC;if(k_(e,Zgt.TDS_DESC))return Jgt.DESC;throw new yi(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=Ar(fr(e.parametersValues[0],lS,"Can`t process OLAP sort column : OLAP sort column should be a primitive instance value").values[0],"Can`t process OLAP sort column: OLAP sort column should be a string primitive instance value"),i=EFi(u,n);h=new JBi(i,t)}if(a instanceof bS){br(k_(a.functionName,[Zgt.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=Ar(fr(e[0],lS,"Can`t process OLAP opperation expression: Function `func` first parameter should be a primitive instance value").values[0],"Can`t process OLAP opperation expression: Function `func` first parameter should be a string primitive instance value"),n=EFi(u,t),i=fr(fr(e[1],wS).values[0],SS);br(1===i.expressionSequence.length);const r=fr(i.expressionSequence[0],bS),s=dr(u.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new nVi(u.windowState,s,n),p.setLambdaParameterNames([fr(i.functionType.parameters[0],oS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}else{const e=fr(fr(a,wS).values[0],SS);br(1===e.expressionSequence.length);const t=fr(e.expressionSequence[0],bS),n=dr(u.windowState.findOperator(t.functionName),`olapGroupBy() operator '${t.functionName}' not supported`);br(!n.isColumnAggregator(),`Operator '${n.getLabel()}' expects a TDS column to aggregate against`),p=new tVi(u.windowState,n),p.setLambdaParameterNames([fr(e.functionType.parameters[0],oS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}const g=Ar(fr(l,lS,"Can`t process OLAP column: OLAP column should be a primitive instance value").values[0],"Can`t process OLAP column: OLAP column should be a string primitive instance value"),f=new iVi(u.windowState,d,h,p,g);u.windowState.addWindowColumn(f),u.setShowWindowFuncPanel(!0)},LKi=(e,t,n)=>{if(3!==e.parametersValues.length)throw new yi("Can't build relation extend() expression: extend() is not fully supported yet");{const i=fr(e.parametersValues[0],bS,"Can't process extend() expression: only support extend() immediately following an expression");PKi.process(i,n,t);const r=fr(e.parametersValues[1],bS,"Can't process extend() expression: expects a window expression as the second parameter"),s=fr(t.fetchStructureState.implementation,DVi),o=fr(r.parametersValues[0],mS,"Can't process over(): expects ColSpecArray for window columns"),a=dr(o.values[0]).colSpecs.map(e=>EFi(s,e.name));let l;if(r.parametersValues[1]instanceof uS){const e=fr(r.parametersValues[1].values[0],bS,"Can't process extend sortBy expression: only support function expression of 'ascending' or 'descending'"),t=(e=>{if(k_(e,Zgt.RELATION_ASC))return Jgt.ASC;if(k_(e,Zgt.RELATION_DESC))return Jgt.DESC;throw new yi(`Unsupported relation sort function: ${e}`)})(e.functionName),n=Ar(fr(e.parametersValues[0],gS,"Can`t process extend sort column : extend sort column should be a colspec instance value").values[0]?.name,"Can`t process extend sort column: extend sort column should be a string colspec instance value"),i=EFi(s,n);l=new JBi(i,t)}const c=fr(e.parametersValues[2],mS,"Can't process extend(): expects ColSpecArrayInstance for aggregation columns");dr(c.values[0]).colSpecs.forEach(e=>{const t=((e,t)=>{if(e.function2){const n=fr(fr(e.function1,wS).values[0],SS),i=fr(n.expressionSequence[0],yS,"Can't process typed window aggregation: expects function1 to be a Function Expression"),r=EFi(t,i.functionName),s=fr(fr(e.function2,wS).values[0],SS),o=fr(s.expressionSequence[0],bS),a=dr(t.windowState.findOperator(o.functionName,!0),`Operator '${o.functionName}' not supported yet for typed TDS`),l=new nVi(t.windowState,a,r),c=[];n.functionType.parameters.forEach(e=>{fr(e,oS),c.push(e.name)});const u=fr(s.functionType.parameters[0],oS).name;return c.push(u),l.setLambdaParameterNames(c),l}if(e.function1){const n=fr(fr(e.function1,wS).values[0],SS);br(1===n.expressionSequence.length);const i=fr(n.expressionSequence[0],bS),r=dr(t.windowState.findOperator(i.functionName,!0),`Operator '${i.functionName}' not supported yet for typed TDS`),s=new tVi(t.windowState,r),o=[];return n.functionType.parameters.forEach(e=>{fr(e,oS),o.push(e.name)}),s.setLambdaParameterNames(o),s}throw new yi("Only support aggregation and rank operators in extend() expression")})(e,s),n=new iVi(s.windowState,a,l,t,e.name);s.windowState.addWindowColumn(n),s.setShowWindowFuncPanel(!0)})}},MKi=e=>!(e instanceof bS)||!k_(e.functionName,Zgt.FIRST_DAY_OF_YEAR)&&!k_(e.functionName,Zgt.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>MKi(e)).includes(!1);class PKi{queryBuilderState;parentExpression;parentLambda;constructor(e,t,n){this.queryBuilderState=e,this.parentExpression=n,this.parentLambda=t}static process(e,t,n){e.accept_ValueSpecificationVisitor(new PKi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new PKi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!k_(this.parentExpression.functionName,[Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_AGG,...Object.values(Kgt)]))throw new yi(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);DKi(e,void 0,this.parentExpression,this.queryBuilderState)}visit_INTERNAL__PropagatedValue(e){throw new yi}visit_FunctionExpression(e){throw new yi}visit_AccessorInstanceValue(e){const t=dr(e.values[0],"Accessor instance value must have a value");this.queryBuilderState.setSourceElement(t)}visit_SimpleFunctionExpression(e){const t=e.functionName;if(k_(t,Xgt.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Y_,"Can't process getAll() expression: getAll() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=zw(n,t.graphManagerState.graph);i?t.milestoningState.getMilestoningImplementation(i).processGetAllParamaters(e.parametersValues):br(1===e.parametersValues.length,"Can't process getAll() expression: getAll() expects no arguments")})(e,this.queryBuilderState);else if(k_(t,Xgt.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Y_,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),ur(zw(n,t.graphManagerState.graph),"Can't process getAllVersions() expression: getAllVersions() expects source class to be milestoned"),br(1===e.parametersValues.length,"Can't process getAllVersions() expression: getAllVersions() expects no arguments"),t.setGetAllFunction(Xgt.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(k_(t,Xgt.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Y_,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=zw(n,t.graphManagerState.graph);br(void 0!==i&&i!==n_.BITEMPORAL,"Can't process getAllVersionsInRange() expression: getAllVersionInRange() expects source class to be processing temporal or business temporal milestoned"),br(3===e.parametersValues.length,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start and end date"),t.setGetAllFunction(Xgt.GET_ALL_VERSIONS_IN_RANGE),t.milestoningState.setStartDate(dr(e.parametersValues[1],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start date to be defined")),t.milestoningState.setEndDate(dr(e.parametersValues[2],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects end date to be defined"))})(e,this.queryBuilderState);else if(k_(t,Zgt.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(CFi.GRAPH_FETCH);const n=e.functionName;br(3===e.parametersValues.length,`Can't process ${n}() expression: ${n}() expects 2 argument`);const i=e.parametersValues[0],r=i?.genericType?.value.rawType;gr(r,Y_,"Can't process internalize() expression: internalize() return type is missing"),t.setSourceElement(r),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const s=fr(e.parametersValues[1],aS,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=fr(fr(s.values[0],b_,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,lK,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=fr(e.parametersValues[2],oS),l=new TKi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(k_(t,[Zgt.FILTER,Zgt.TDS_FILTER])){br(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=e.parametersValues[0];if(n instanceof h$)return PKi.process(n,this.parentLambda,this.queryBuilderState),void aGi(e,this.queryBuilderState);const i=fr(n,bS,"Can't process filter() expression: only support filter() immediately following an expression");if(PKi.process(i,this.parentLambda,this.queryBuilderState),k_(i.functionName,[Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE]))return br(k_(t,Zgt.FILTER),`Can't process filter() expression: only supports ${Zgt.FILTER}() immediately following getAll() (got '${t}')`),void aGi(e,this.queryBuilderState);if(k_(i.functionName,[Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.OLAP_GROUPBY]))return br(k_(t,Zgt.TDS_FILTER),`Can't process post-filter expression: only supports ${Zgt.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof DVi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];gr(s,wS,"Can't process post-filter expression: expects argument #1 to be a lambda function"),gr(r.implementation,DVi,"Can't process post-filter lambda: post-filter lambda must use projection fetch structure"),br(Boolean(n.projectionColumns.length),"Can't process post-filter lambda: post-filter lambda must have at least one projection column ");const o=dr(s.values[0],"Can't process post-filter lambda: post-filter lambda function is missing");br(1===o.expressionSequence.length,"Can't process post-filter lambda: only support post-filter lambda body with 1 expression");const a=fr(o.expressionSequence[0],yS,"Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'");br(1===o.functionType.parameters.length,"Can't process post-filter lambda: only support post-filter lambda with 1 parameter"),i.setLambdaParameterName(fr(o.functionType.parameters[0],oS,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),DFi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(k_(i.functionName,[Zgt.WATERMARK]))return void aGi(e,this.queryBuilderState);throw new yi("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(k_(t,Zgt.WATERMARK))((e,t,n)=>{const i=fr(e.parametersValues[0],bS,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");br(k_(i.functionName,[Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),PKi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Zgt.TDS_PROJECT,Zgt.RELATION_PROJECT]))(n=e).functionName===Zgt.RELATION_PROJECT||k_(n.functionName,[Zgt.TDS_PROJECT,Zgt.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof mS?((e,t,n)=>{br(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(CFi.TABULAR_DATA_STRUCTURE);const i=dr(e.parametersValues[0],"Can't process typed project() expression: missing preceding expression");if(i instanceof bS)br(k_(i.functionName,[Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE,Zgt.FILTER,Zgt.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()");else if(!(i instanceof h$))throw new Error("Can't process typed project() expression: the first argument is expected to be either a function expression or a Accessor Instance Value");PKi.process(i,n,t);const r=e.parametersValues[1];gr(r,mS,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(wKi.TYPED_FETCH_STRUCTURE),PKi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):NKi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.TDS_COL))((e,t)=>{br(2===e.parametersValues.length,"Can't process col() func expression: col() expects 2 argument");const n=fr(e.parametersValues[0],wS,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=fr(e.parametersValues[1],lS,"Can't process col() func expression: the #2 argument of col() should be a string");IKi(fr(n.values[0]?.expressionSequence[0],_S,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof DVi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(k_(t,[Zgt.TDS_TAKE,Zgt.RELATION_LIMIT]))kKi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.TDS_DISTINCT))((e,t,n)=>{br(1===e.parametersValues.length,"Can't process disctinct() expression: distinct() expects no parameter");const i=fr(e.parametersValues[0],bS,"Can't process distinct() expression: only support distinct() immediately following an expression");br(k_(i.functionName,[Zgt.TDS_TAKE,Zgt.TDS_DISTINCT,Zgt.TDS_SORT,Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),PKi.process(i,n,t),t.fetchStructureState.implementation instanceof DVi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.TDS_SORT))((e,t,n)=>{br(2===e.parametersValues.length,"Can't process sort() expression: sort() expects 1 argument");const i=fr(e.parametersValues[0],bS,"Can't process sort() expression: only support sort() immediately following an expression");br(k_(i.functionName,[Zgt.TDS_TAKE,Zgt.TDS_DISTINCT,Zgt.TDS_SORT,Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),PKi.process(i,n,t);const r=e.parametersValues[1];gr(r,uS,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>PKi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.SLICE))((e,t,n)=>{br(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=fr(e.parametersValues[0],bS,"Can't process slice() expression: only support slice() immediately following an expression");if(br(k_(i.functionName,[Zgt.TDS_TAKE,Zgt.TDS_DISTINCT,Zgt.TDS_SORT,Zgt.TDS_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_FILTER,Zgt.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),PKi.process(i,n,t),t.fetchStructureState.implementation instanceof DVi){const n=t.fetchStructureState.implementation,i=Rr(fr(e.parametersValues[1],lS,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value"),r=Rr(fr(e.parametersValues[2],lS,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value");n.resultSetModifierState.setSlice([i,r])}})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Zgt.TDS_ASC,Zgt.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&k_(t.functionName,Zgt.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),br(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof DVi){const t=n.fetchStructureState.implementation,r=Aft(dr(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new bFi(s);e.sortType=k_(i,Zgt.TDS_ASC)?Jgt.ASC:Jgt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(k_(t,[Zgt.RELATION_ASC,Zgt.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&k_(t.functionName,Zgt.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),br(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof DVi){const t=n.fetchStructureState.implementation,r=fr(e.parametersValues[0],gS);br(1===r.values.length,`Can't process ${i}() expression: Col Spec Instance Value expects one value`);const s=dr(r.values[0],"Col Spec value expected in Col Spec Instance Value").name,o=t.tdsColumns.find(e=>e.columnName===s);if(o){const e=new bFi(o);e.sortType=k_(i,Zgt.RELATION_ASC)?Jgt.ASC:Jgt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(k_(t,[Zgt.TDS_GROUP_BY,Zgt.RELATION_GROUP_BY]))(e=>e.functionName===Zgt.RELATION_GROUP_BY||k_(e.functionName,[Zgt.TDS_GROUP_BY,Zgt.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof mS)(e)?((e,t,n)=>{br(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=fr(e.parametersValues[0],bS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(k_(i.functionName,[Zgt.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),PKi.process(i,n,t);const r=fr(t.fetchStructureState.implementation,DVi),s=fr(e.parametersValues[1],mS,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance");br(1===s.values.length,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element"),t.setLambdaWriteMode(wKi.TYPED_FETCH_STRUCTURE),s.values[0]?.colSpecs.forEach(e=>{br(1===r.projectionColumns.filter(t=>t.columnName===e.name).length,`Can't process groupBy() expression: column '${e.name}' not found in project() expression`)});const o=e.parametersValues[2];gr(o,mS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),PKi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(CFi.TABULAR_DATA_STRUCTURE),br(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=fr(e.parametersValues[0],bS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(k_(i.functionName,[Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE,Zgt.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),PKi.process(i,n,t);const r=e.parametersValues[1];gr(r,uS,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>PKi.processChild(i,e,n,t));const s=e.parametersValues[2];gr(s,uS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>PKi.processChild(i,e,n,t));const o=e.parametersValues[3];gr(o,uS,"Can't process groupBy() expression: groupBy() expects argument #3 to be a collection"),br(o.values.length===r.values.length+s.values.length,"Can't process groupBy() expression: number of aliases does not match the number of columns");const a=o.values.map(Aft).filter(cr);t.fetchStructureState.implementation instanceof DVi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.TDS_AGG))((e,t,n,i)=>{if(br(Boolean(t&&k_(t.functionName,Zgt.TDS_GROUP_BY)),"Can't process agg() expression: only support agg() used within a groupBy() expression"),br(2===e.parametersValues.length,"Can't process agg() expression: agg() expects 2 arguments"),PKi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof DVi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=dr(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];gr(s,wS,"Can't process agg() expression: agg() expects argument #1 to be a lambda function");const o=dr(s.values[0],"Can't process agg() lambda: agg() lambda function is missing");br(1===o.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression");const a=fr(o.expressionSequence[0],bS,"Can't process agg() lambda: only support agg() lambda body with 1 expression");let l;if(n.isCalendarEnabled){const t=e.parametersValues[0];gr(t,wS,"Can't process agg() expression: agg() expects argument #0 to be a lambda function");const n=dr(t.values[0],"Can't process agg() lambda: agg() lambda function is missing");br(1===n.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression"),l=n.expressionSequence[0]instanceof bS?n.expressionSequence[0]:void 0}br(1===o.functionType.parameters.length,"Can't process agg() lambda: only support agg() lambda with 1 parameter");const c=fr(o.functionType.parameters[0],oS,"Can't process agg() lambda: only support agg() lambda with 1 parameter");for(const e of i.operators){const t=_i(()=>e.buildAggregateColumnState(a,c,r));if(r.wavgWeight&&t&&t.operator instanceof ZBi&&t.operator.setWeight(r.wavgWeight),t){if(i.addColumn(t),n.isCalendarEnabled&&void 0!==l)for(const e of i.calendarFunctions)_i(()=>e.updateAggregateColumnState(dr(l),t));return void(t.calendarFunction||t.setHideCalendarColumnState(!0))}}throw new yi("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.OLAP_GROUPBY))OKi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.SERIALIZE))AKi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Zgt.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(CFi.GRAPH_FETCH),br(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=fr(e.parametersValues[0],bS,"Can't process externalize() expression: only support externalize() immediately following an expression");if(br(k_(i.functionName,[Zgt.GRAPH_FETCH,Zgt.GRAPH_FETCH_CHECKED,Zgt.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),PKi.process(i,n,t),t.fetchStructureState.implementation instanceof TGi){const n=t.fetchStructureState.implementation,r=fr(i.parametersValues[1],NS,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=fr(r.values[0],TS,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(hGi(s));const o=fr(e.parametersValues[1],aS,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=fr(fr(o.values[0],b_,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,lK,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new xGi(n,a,void 0);n.setSerializationState(l);const c=fr(e.parametersValues[2],NS,"Can't process externalize() expression: externalize() graph-fetch is missing"),u=fr(c.values[0],TS,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(hGi(u))}})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Zgt.GRAPH_FETCH_CHECKED,Zgt.GRAPH_FETCH]))((e,t,n)=>{const i=e.functionName;br(2===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects 1 argument`);const r=fr(e.parametersValues[0],bS,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);br(k_(r.functionName,[Zgt.FILTER,Xgt.GET_ALL,Xgt.GET_ALL_VERSIONS,Xgt.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),PKi.process(r,n,t),t.fetchStructureState.implementation instanceof TGi&&t.fetchStructureState.implementation.setChecked(k_(e.functionName,Zgt.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[exports.SUPPORTED_FUNCTIONS.LET]))((e,t,n)=>{const i=e.parametersValues;br(2===e.parametersValues.length,"Let function expected to have two parameters (left and right side value)");const r=Ar(fr(i[0],lS,"Can`t process let function: left side should be a primitive instance value").values[0],"Can`t process let function: left side should be a string primitive instance value"),s=dr(n.openVariables.get(r),`Unable to find variable ${r} in lambda function`),o=dr(i[1]);let a;a=o instanceof sS?new cKi(t,s,o.content):MKi(o)?new aKi(t,s,o):new cKi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(k_(t,[exports.SUPPORTED_FUNCTIONS.FROM])){const t=e.parametersValues;return br(3===t.length||2===t.length,"From function expects an optional mapping with required runtime"),((e,t)=>{const n=void 0!==e.parametersValues[2]?e.parametersValues[1]:void 0,i=n?e.parametersValues[2]:e.parametersValues[1];let r;if(n){const e=fr(n,aS,"Can't process from() expression: only support from() with 1st parameter as instance value");r=fr(fr(e.values[0],b_,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,MS,"Can't process from() expression: only support from() with 1st parameter as mapping value")}const s=fr(i,aS,"Can't process from() expression: only support from() with 2nd parameter as instance value"),o=fr(fr(s.values[0],b_,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,BS,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),a=new pBi(t);a.setMapping(r),a.setRuntimeValue(new Fj(__.create(o))),t.setExecutionContextState(a)})(e,this.queryBuilderState),void PKi.processChild(dr(t[0]),e,this.parentLambda,this.queryBuilderState)}if(k_(t,Object.values(Kgt)))return this.queryBuilderState.isCalendarEnabled=!0,br(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void PKi.processChild(dr(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);if(k_(t,Zgt.WAVG_ROW_MAPPER))((e,t,n,i)=>{if(br(Boolean(t&&k_(t.functionName,Zgt.TDS_AGG)),"Can't process wavgRowMapper() expression: only support wavgRowMapper() used within an agg() expression"),br(2===e.parametersValues.length,"Can't process wavgRowMapper() expression: wavgRowMapper() expects 2 arguments"),e.parametersValues.map(e=>gr(e,_S,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),PKi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof DVi){const t=n.fetchStructureState.implementation;dr(t.projectionColumns[t.projectionColumns.length-1]).setWavgWeight(e.parametersValues[1])}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else{var n;if(!k_(t,Zgt.RELATION_EXTEND))throw new yi(`Can't process expression of function ${t}()`);LKi(e,this.queryBuilderState,this.parentLambda)}}}}visit_VariableExpression(e){throw new yi}visit_AbstractPropertyExpression(e){if(ur(this.parentExpression,"Can't process property expression: parent expression cannot be retrieved"),!k_(this.parentExpression.functionName,[Zgt.TDS_PROJECT,Zgt.RELATION_PROJECT,Zgt.TDS_GROUP_BY,Zgt.TDS_AGG,Zgt.WAVG_ROW_MAPPER,...Object.values(Kgt)]))throw new yi(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);IKi(e,void 0,this.queryBuilderState)}visit_InstanceValue(e){throw new yi}visit_KeyExpressionInstanceValue(e){throw new yi}visit_CollectionInstanceValue(e){throw new yi}visit_EnumValueInstanceValue(e){throw new yi}visit_PrimitiveInstanceValue(e){throw new yi}visit_LambdaFunctionInstanceValue(e){e.values.forEach(e=>e.expressionSequence.forEach(e=>e.accept_ValueSpecificationVisitor(new PKi(this.queryBuilderState,this.parentLambda,this.parentExpression))))}visit_GraphFetchTreeInstanceValue(e){throw new yi}visit_ColSpecArrayInstance(e){if(ur(this.parentExpression,"Can't process col spec aray instance: parent expression cannot be retrieved"),k_(this.parentExpression.functionName,[Zgt.RELATION_PROJECT])){const t=e.values;return br(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void dr(t[0]).colSpecs.forEach(e=>{const t=e.function1;if(t instanceof wS){br(1===t.values.length);const n=dr(t.values[0]);br(1===n.expressionSequence.length);const i=dr(n.expressionSequence[0]);if(i instanceof _S)IKi(i,e.name,this.queryBuilderState);else if(i instanceof yS){const t=i.func,n=fr(t,W_,"Can`t process col spec: function1 lambda function does not contain a relation column");((e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof DVi){const r=i.fetchStructureState.implementation,s=new iFi(r,n,!1);r.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t);const o=e.parametersValues[0];o instanceof oS&&s.setLambdaParameterName(o.name)}})(i,e.name,n,this.queryBuilderState)}else i instanceof sS&&(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),DKi(i,e.name,this.parentExpression,this.queryBuilderState))}else{if(!(t instanceof sS))throw new yi("Can't process col spec: only support col spec with function lambda value");ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),DKi(t,e.name,this.parentExpression,this.queryBuilderState)}})}if(k_(this.parentExpression.functionName,[Zgt.RELATION_GROUP_BY])){const t=e.values;return br(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void dr(t[0]).colSpecs.forEach(e=>{((e,t,n)=>{br(Boolean(t&&k_(t.functionName,Zgt.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=fr(e.function1,wS,"Can't process colSpec: function1 is not a lambda function instance value");br(1===i.values.length,"Can't process typed aggregation ColSpec. function1 should only have 1 lambda value."),br(1===dr(i.values[0]).expressionSequence.length,"Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.");const r=fr(e.function2,wS,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof DVi){const i=n.fetchStructureState.implementation,s=i.aggregationState,o=dr(i.projectionColumns.find(t=>t.columnName===e.name),`Projection column with name ${e.name} not found`),a=dr(r.values[0],"Can't process colSpec: function2 lambda function is missing");br(1===a.expressionSequence.length,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),br(1===a.functionType.parameters.length,"Can't process colSpec function2 lambda: only support lambda with 1 parameter");const l=fr(a.expressionSequence[0],bS,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=fr(a.functionType.parameters[0],oS,"Can't process colSpec function2 lambda: parameter is missing");for(const n of s.operators){const i=_i(()=>n.buildAggregateColumnState(l,c,o));if(o.wavgWeight&&i&&i.operator instanceof ZBi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=fr(t?.genericType?.value.typeArguments?.[0]?.value.rawType,$_,"Can't process colSpec: parent groupBy() expression's return type is not a relation"),r=dr(n.columns.find(t=>t.name===e.name),`Can't process colSpec: Can't find column '${e.name}' in parent groupBy() expression's relation return type`),o=i.getColumnType();return void(r.genericType=o?G_.create(new q_(o)):r.genericType)}}}throw new yi("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")})(e,this.parentExpression,this.queryBuilderState)})}throw new yi(`Can't process col spec array expression with parent expression of function ${this.parentExpression.functionName}()`)}visit_ColSpecInstance(e){throw new Error("Method not implemented.")}}const FKi=(e,t,n)=>{const i=t.parametersState;e.forEach(e=>{let r;n?.parameterValues&&Array.from(n.parameterValues.entries()).forEach(([t,n])=>{const i=n.variable;if(i instanceof oS&&nft(i,e))r=n.value;else if(_r(i)&&i===e.name){const t=n.value?.genericType?.value.rawType,i=e.genericType?.value.rawType;t&&i&&eE(i,t)&&(r=n.value)}});const s=new cBi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},BKi=(e,t,n)=>{e.functionType.parameters.length&&FKi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>PKi.process(n,e,t))},VKi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Une.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Une.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"date",spellCheck:!1,value:a??"",onChange:e=>{r(t,e.target.value,{primitiveTypeEnum:Xb.STRICTDATE}),s(new TPi(e.target.value,_Pi.ABSOLUTE_DATE))}})})},UKi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Une.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Une.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"datetime-local",step:"1",spellCheck:!1,value:a??"",onChange:e=>{const n=new Date(e.target.value).getUTCSeconds()?e.target.value:`${e.target.value}:00`;r(t,n,{primitiveTypeEnum:Xb.DATETIME}),s(new TPi(e.target.value,_Pi.ABSOLUTE_TIME))}})})},GKi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wht(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,u]=n.useState(t.unit??CPi.DAYS),[d,h]=n.useState(t.direction??EPi.BEFORE),[p,g]=n.useState(t.referenceMoment??xPi.TODAY),f=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new APi(_Pi.CUSTOM_DATE,_Pi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=IPi.filter(e=>e.generateDisplayLabel()===o.generateDisplayLabel());a.length>0?(o.label=dr(a[0]?.label),o.value=dr(a[0]?.value)):o.updateLabel(),r(o)}};return n.useEffect(()=>{o.current?.focus()},[]),Une.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx("input",{ref:o,className:"value-spec-editor__date-picker__custom-date__input-text-editor input--dark",spellCheck:!1,value:a,type:"number",onChange:e=>{const t=""!==e.target.value?_i(()=>(e=>{const t=Number(e);if(isNaN(t))throw new Error(`Can't parse number '${e}'`);return t})(e.target.value))??0:0;l(t),f(t,c,d,p)}})}),Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx(CPe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(CPi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{u(e.value),f(a,e.value,d,p)},value:{value:c,label:c},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx(CPe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(EPi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{h(e.value),f(a,c,e.value,p)},value:{value:d,label:d},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx(CPe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(xPi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{g(e.value),f(a,c,d,e.value)},value:{value:p,label:p},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})},HKi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wht(),o=n.useRef(null),[a,l]=n.useState(t instanceof RPi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx(CPe,{inputRef:o,placeholder:"Choose a unit...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(SPi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(xPi).filter(t=>t.toString().includes(e)),n=t.length>0?new RPi(dr(t[0]?.toString()),e):new RPi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},zKi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wht(),o=n.useRef(null),[a,l]=n.useState(t instanceof NPi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Une.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Une.jsx(CPe,{inputRef:o,placeholder:"Choose a day...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(wPi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new NPi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},jKi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,u=Wht(),d=o.match?Object.values([_Pi.ABSOLUTE_TIME,_Pi.NOW]):Object.values(_Pi),[h,p]=n.useState(MPi(t,u)),[g,f]=n.useState(null),m=e=>{f(e.currentTarget)};return n.useEffect(()=>{p(MPi(t,u))},[u,t]),Une.jsxs(Une.Fragment,{children:[a?Une.jsx("span",{className:Bse("value-spec-editor__date-picker__editable__display--content editable-value",{"value-spec-editor__date-picker__editable__display--content--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:c?()=>{}:m,style:{cursor:c?"not-allowed":""},children:h.label?`"${h.label}"`:Une.jsx(Une.Fragment,{children:" "})}):Une.jsx("button",{className:Bse("value-spec-editor__date-picker__trigger",{"value-spec-editor__date-picker__trigger--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:m,disabled:c,children:h.label||"Select value"}),Une.jsxs(QCe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(MPi(t,u))}}},anchorEl:g,onClose:()=>{p(MPi(t,u)),f(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[Une.jsx(zPe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new TPi(e.target.value,e.target.value);if(_Pi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:Xb.LATESTDATE});else if(![_Pi.ABSOLUTE_DATE,_Pi.ABSOLUTE_TIME,_Pi.CUSTOM_DATE,_Pi.FIRST_DAY_OF,_Pi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=IPi.filter(e=>e.value===t.value);e.length>0?r(void 0,dr(e[0])):r(void 0,t)}p(t)},row:!0,options:d,size:2}),(()=>{switch(h.value){case _Pi.ABSOLUTE_DATE:return Une.jsx(VKi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case _Pi.ABSOLUTE_TIME:return Une.jsx(UKi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case _Pi.CUSTOM_DATE:return Une.jsx(GKi,{customDateOptionValue:LPi(t,u),updateValueSpecification:r,setDatePickerOption:p});case _Pi.FIRST_DAY_OF:return Une.jsx(HKi,{customDateAdjustOptionValue:MPi(t,u),updateValueSpecification:r,setDatePickerOption:p});case _Pi.PREVIOUS_DAY_OF_WEEK:return Une.jsx(zKi,{customDateAdjustOptionValue:MPi(t,u),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},WKi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return Une.jsx(hCe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"value-spec-paramater__tooltip",arrow:"value-spec-paramater__tooltip__arrow",tooltipPlacementRight:"value-spec-paramater__tooltip--right"},slotProps:{transition:{timeout:0}},title:Une.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[Une.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Une.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),Une.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),Une.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Une.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),Une.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),Une.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Une.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),Une.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:tE(t.multiplicity)})]})]}),children:n})},$Ki="VARIABLE",qKi=Lse(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return Une.jsxs(Une.Fragment,{children:[Une.jsx(IVe,{labelGetter:e=>e.variable.name,types:[$Ki]}),Une.jsxs("div",{className:Bse("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[Une.jsx("div",{className:"value-spec-editor__variable__icon",children:i?Une.jsx("div",{className:"icon",children:"C"}):Une.jsx(ore,{})}),Une.jsxs("div",{className:"value-spec-editor__variable__label",children:[Une.jsx("div",{className:"value-spec-editor__variable__text",children:s}),Une.jsx(WKi,{variable:t,children:Une.jsx("div",{className:"value-spec-editor__variable__info",children:Une.jsx(_re,{})})}),Une.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:Une.jsx(uie,{})})]})]})]})}),YKi=Lse(n.forwardRef((e,t)=>{const{valueSpecification:n,valueSelector:i,updateValueSpecification:r,errorChecker:s,resetValue:o,handleBlur:a,handleKeyDown:l,className:c,selectorSearchConfig:u,selectorConfig:d,lightMode:h,readOnly:p}=e,g=Boolean(u),f=Wht(),m=i(n),v=m?{value:m,label:m}:null,y=u?.reloadValues,b=u?.isLoading,_=u?.values?.length?u.values.map(e=>({value:e,label:e.toString()})):void 0,C=void 0===u?.values?()=>null:void 0,S=`reset-${i(n)}`,w=`input-${i(n)}`;return Une.jsxs("div",{className:Bse("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==w&&a?.()},children:[g?Une.jsx(CPe,{className:"value-spec-editor__enum-selector",options:_,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:v,inputValue:m??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),y?.cancel();const t=y?.(e);t&&t.catch(f.alertUnhandledError)}"input-blur"===t.action&&(y?.cancel(),u?.cleanUpReloadValues?.())},darkMode:!h,isLoading:b,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===m?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:w,optionCustomization:d?.optionCustomization,disabled:p}):Une.jsx(Vxe,{className:"panel__content__form__section__input value-spec-editor__input",spellCheck:!1,value:m??"",placeholder:""===m?"(empty)":void 0,onChange:e=>{r(n,e.target.value)},ref:t,error:s?.(n)?"Invalid String value":void 0,onKeyDown:l,name:w,disabled:p}),Une.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:Une.jsx(uie,{})})]})})),KKi=Lse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return Une.jsxs("div",{className:Bse("value-spec-editor",s),children:[Une.jsx("button",{role:"checkbox",className:Bse("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?Une.jsx(Xie,{}):Une.jsx(Pre,{})}),Une.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:Une.jsx(uie,{})})]})}),XKi=Lse(n.forwardRef((e,t)=>{const{valueSpecification:i,valueSelector:r,updateValueSpecification:s,errorChecker:o,resetValue:a,handleBlur:l,handleKeyDown:c,className:u,isInteger:d,readOnly:h,enableExpressionCalculation:p=!0}=e,[g,f]=n.useState(r(i)?.toString()??""),m=n.useRef(null);n.useImperativeHandle(t,()=>m.current,[]);const v=g?d?Number.parseInt(Number(g).toString(),10):Number(g):null,y=e=>{if(e){const t=d?Number.parseInt(Number(e).toString(),10):Number(e);isNaN(t)||t===r(i)||s(i,t)}else a()},b=()=>{if(null!==v&&isNaN(v))try{const e=Rr(x5n(g));y(e.toString()),f(e.toString())}catch{const e=r(i)?.toString()??"";y(e),f(e)}else null!==v?(y(v.toString()),f(v.toString())):a()};n.useEffect(()=>{if(null!==v&&!isNaN(v)&&v!==r(i)){const e=null!==r(i)?r(i).toString():"";f(e)}},[v,i,r]);const _=`reset-${r(i)}`,C=`input-${r(i)}`,S=`calculate-${r(i)}`;return Une.jsxs("div",{className:Bse("value-spec-editor",u),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==C&&e.relatedTarget?.name!==S&&l?.()},children:[Une.jsxs("div",{className:"value-spec-editor__number__input-container",children:[Une.jsx("input",{ref:m,className:Bse("panel__content__form__section__input","value-spec-editor__input","value-spec-editor__number__input",{"value-spec-editor__number__input--error":o?.(i)}),spellCheck:!1,type:"text",inputMode:"numeric",value:g,onChange:e=>{f(e.target.value),y(e.target.value)},onBlur:b,onKeyDown:e=>{(e=>{"Enter"===e.code?(b(),m.current?.focus()):"Escape"===e.code&&m.current?.select()})(e),c?.(e)},name:C,disabled:h}),p&&Une.jsx("div",{className:"value-spec-editor__number__actions",children:Une.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:S,onClick:b,disabled:h,children:Une.jsx(yie,{})})})]}),Une.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:Une.jsx(uie,{})})]})})),ZKi=Lse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,errorChecker:r,resetValue:s,handleBlur:o,options:a,className:l,selectorConfig:c,lightMode:u,readOnly:d}=e,h=n(t),p=`reset-${n(t)}`,g=`input-${n(t)}`;return Une.jsxs("div",{className:Bse("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[Une.jsx(CPe,{className:"value-spec-editor__enum-selector",options:a,onChange:e=>{i(t,e.value),o?.()},value:h?{value:h,label:h}:null,darkMode:!u,hasError:r?.(t),placeholder:"Select value",autoFocus:!0,inputName:g,optionCustomization:c?.optionCustomization,disabled:d}),Une.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:d,children:Une.jsx(uie,{})})]})}),QKi=e=>0===e.length?"":((e,t)=>pm.unparse(e,t))([e.map(e=>e instanceof lS?e.values[0]:e instanceof cS?dr(e.values[0]).value.name:void 0).filter(cr)]).trim(),JKi=e=>{if(e instanceof B_)switch(e.path){case Xb.DATE:case Xb.STRICTDATE:return"yyyy-mm-dd";case Xb.DATETIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else{if(!(e instanceof wx))throw new Error(`Cannot get placeholder for type ${e}`);switch(e.fullPath){case Xb.DATE:case Xb.STRICTDATE:return"yyyy-mm-dd";case Xb.DATETIME:case Xb.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}}},eXi=Lse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:u,readOnly:d}=e,h=Wht(),p=n.useRef(null),[g,f]=n.useState(""),[m,v]=n.useState(!1),[y,b]=n.useState(t.values.filter(e=>dr(e)).map(r).filter(mr).map(e=>({label:e,value:e}))),_=c===B_.STRING&&Boolean(a),C=_?a?.reloadValues:void 0,S=_?a?.cleanUpReloadValues:void 0,w=_?a?.isLoading:void 0,E=_&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=_&&w?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,R=e=>{const t=dr(r(e));return{label:t,value:t}},N=e=>y.map(e=>e.value).includes(e),I=()=>{const e=g.trim();if(e.length){const t=i(c,e);return null===t||void 0===r(t)||N(dr(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...y,R(e)]:y).map(e=>e.value).map(e=>i(c,e)).filter(cr);s(t,n),o()};return Une.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[Une.jsx(CPe,{className:Bse("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":m}),options:E,inputValue:g,isMulti:!0,menuIsOpen:_&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{b(e),"select-option"===t.action?f(""):"remove-value"===t.action&&t.removedValue.value===g&&v(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){f(e),v(!1),C?.cancel();const t=C?.(e);t&&t.catch(h.alertUnhandledError)}"input-blur"===t.action&&(C?.cancel(),S?.())},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||((()=>{const e=I();null!==e?(b([...y,R(e)]),f(""),C?.cancel()):g.trim().length&&v(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=ym(t);if(!n)return;const s=li(li(n).map(e=>{const t=i(c,e);return t?r(t):null}).filter(cr)).filter(e=>!N(e));b([...y,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:y,darkMode:!u,isLoading:w,noMatchMessage:x,placeholder:JKi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:d}),Une.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(y.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:Une.jsx(nre,{})}),Une.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:d,children:Une.jsx(Ore,{})})]})}),tXi=Lse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,expectedType:a,enumOptions:l,selectorConfig:c,lightMode:u,readOnly:d}=e;dr(l,"Must pass enum options to EnumCollectionInstanceValueEditor");const[h,p]=n.useState(""),[g,f]=n.useState(!1),[m,v]=n.useState(t.values.filter(e=>dr(e)).map(r).filter(mr).map(e=>({label:e,value:e}))),y=l?.filter(e=>!m.some(t=>t.value===e.value)),b=`copy-${t.values[0]?r(t.values[0]):""}`,_=`input-${t.values[0]?r(t.values[0]):""}`,C=e=>m.map(e=>e.value).includes(e),S=()=>{const e=(()=>{const e=h.trim();return e.length&&!C(e)&&l?.some(t=>t.value===e)?e:null})();null!==e?(v([...m,{label:e,value:e}]),p("")):h.trim().length&&f(!0)},w=()=>{const e=m.map(e=>e.value).map(e=>i(a,e)).filter(cr);s(t,e),o()};return Une.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==b&&e.relatedTarget?.name!==_&&w()},children:[Une.jsx(CPe,{className:Bse("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:y,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{v(e),"select-option"===t.action?p(""):"remove-value"===t.action&&t.removedValue.value===h&&f(!1)},onInputChange:(e,t)=>{"input-change"===t.action&&(p(e),f(!1))},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||(S(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=ym(t);if(!n)return;const i=li(li(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));v([...m,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:m,darkMode:!u,placeholder:"Add",menuIsOpen:!0,inputName:_,optionCustomization:c?.optionCustomization,disabled:d}),Une.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(m.map(e=>e.value).join(","))})()},name:b,title:"Copy values to clipboard",children:Une.jsx(nre,{})}),Une.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:w,disabled:d,children:Une.jsx(Ore,{})})]})}),nXi=Lse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,stringifyCollectionValueSpecification:o,errorChecker:a,className:l,selectorSearchConfig:c,selectorConfig:u,expectedType:d,enumOptions:h,lightMode:p,readOnly:g}=e,[f,m]=n.useState(!1),v=o(t),y=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${v.length>50?`${v.substring(0,50)}...`:v}`}`,b=()=>{f&&m(!1)};return f?Une.jsx(Une.Fragment,{children:Une.jsx("div",{className:Bse("value-spec-editor",l),children:void 0!==h?Une.jsx(tXi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,enumOptions:h,selectorConfig:u,lightMode:p,readOnly:g}):Une.jsx(eXi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,selectorSearchConfig:c,selectorConfig:u,lightMode:p,readOnly:g})})}):Une.jsxs("div",{className:Bse("value-spec-editor",l),onClick:g?()=>{}:()=>m(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[Une.jsx("div",{className:Bse("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:y}),Une.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:Une.jsx(sie,{})})]})}),iXi=()=>Une.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),rXi=Lse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return Une.jsxs("div",{className:Bse("value-spec-editor",l),children:[Une.jsx(jKi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof lS&&!yft(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&Une.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:Une.jsx(uie,{})})]})}),sXi=n.forwardRef(function(e,t){const{className:n,valueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,selectorSearchConfig:c,selectorConfig:u,isConstant:d,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,readOnly:f,enableExpressionCalculation:m}=e,v=Wht(),y=e=>!yft(e),b=e=>e instanceof bS?"":e.values[0],_=(e,t,n)=>{t instanceof APi?a(((e,t,n)=>{const i=new bS(Zgt.ADJUST);if(cft(i,kPi(new TPi(dr(e.referenceMoment),dr(e.referenceMoment)),t,n),n),e.direction===EPi.BEFORE){const r=new bS(Zgt.MINUS);cft(r,FPi(t,Xb.INTEGER,e.duration,n),n),cft(i,r,n)}else cft(i,FPi(t,Xb.INTEGER,e.duration,n),n);const r=new cS(G_.create(new q_(t.getType(Ygt.DURATION_UNIT))));return pft(r,[...r.values,lC.create(dr(OPi(dr(e.unit),t)))],n),cft(i,r,n),sft(i,G_.create(new q_(B_.DATE))),i})(t,r,s)):t instanceof RPi||t instanceof NPi||t instanceof TPi?a(kPi(t,r,s)):e instanceof bS?a(FPi(r,dr(n?.primitiveTypeEnum),t,s)):e instanceof aS?(hft(e,t,0,s),e.genericType.value.rawType.path!==dr(n?.primitiveTypeEnum)&&sft(e,G_.create(new q_((e=>{switch(e){case Xb.STRING:return B_.STRING;case Xb.BOOLEAN:return B_.BOOLEAN;case Xb.BINARY:return B_.BINARY;case Xb.NUMBER:return B_.NUMBER;case Xb.INTEGER:return B_.INTEGER;case Xb.FLOAT:return B_.FLOAT;case Xb.DECIMAL:return B_.DECIMAL;case Xb.DATE:return B_.DATE;case Xb.STRICTDATE:return B_.STRICTDATE;case Xb.DATETIME:return B_.DATETIME;case Xb.STRICTTIME:return B_.STRICTTIME;case Xb.LATESTDATE:return B_.LATESTDATE;case Xb.BYTE:return B_.BYTE;default:throw new Error(`Unable to get PrimitiveType class for type ${e}`)}})(dr(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===Xb.LATESTDATE&&a(FPi(r,Xb.LATESTDATE,t,s))};if(i instanceof lS){const e=i.genericType.value.rawType,r=e=>e.values[0],d=(e,t)=>{hft(e,t,0,s),a(e)};switch(e.path){case Xb.STRING:return Une.jsx(YKi,{valueSpecification:i,valueSelector:r,updateValueSpecification:d,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:u,ref:t,handleBlur:h,handleKeyDown:p,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:f});case Xb.BOOLEAN:return Une.jsx(KKi,{valueSpecification:i,valueSelector:r,updateValueSpecification:d,className:n,resetValue:l,readOnly:f});case Xb.NUMBER:case Xb.FLOAT:case Xb.DECIMAL:case Xb.BINARY:case Xb.BYTE:case Xb.INTEGER:return Une.jsx(XKi,{valueSpecification:i,valueSelector:r,isInteger:e.path===Xb.INTEGER,updateValueSpecification:d,errorChecker:y,className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:f,enableExpressionCalculation:m});case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.LATESTDATE:return Une.jsx(rXi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof lS&&y(e),readOnly:f});default:return Une.jsx(iXi,{})}}else{if(i instanceof cS){const e=fr(i.genericType?.value.rawType,J_),t=e.values.map(e=>({label:e.name,value:e.name}));return Une.jsx(ZKi,{valueSpecification:i,valueSelector:e=>void 0===e.values[0]?null:e.values[0].value.name,options:t,className:n,resetValue:l,updateValueSpecification:(t,n)=>{const i=dr(e.values.find(e=>e.name===n),`Unable to find enum value ${n} in enumeration ${e.name}`);hft(t,lC.create(i),0,s),a(t)},errorChecker:e=>!yft(e),handleBlur:h,selectorConfig:u,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:f})}if(i instanceof uS&&i.genericType){const e=(e,t)=>{pft(e,t,s),a(e)},t=(e,t)=>{if(e instanceof J_){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new cS(G_.create(new q_(e)));return pft(t,[lC.create(n)],s),vte(t,s)}}else{const n=jPi(fr(e,A_),t,s);if(n)return vte(n,s)}return null},r=o.expectedType instanceof J_?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return Une.jsx(nXi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:u,stringifyCollectionValueSpecification:e=>QKi(e.values),errorChecker:y,convertValueSpecificationToText:e=>zPi(e,v,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:f})}if(i instanceof oS)return Une.jsx(qKi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(d)});if(i instanceof ES)return Une.jsx(sXi,{valueSpecification:i.getValue(),graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,selectorSearchConfig:c,selectorConfig:u,readOnly:f});if(i instanceof bS){if(Jw(o.expectedType,B_.DATE))return MKi(i)?Une.jsx(rXi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:f}):Une.jsx(iXi,{});if(Jw(o.expectedType,B_.NUMBER)&&k_(i.functionName,Zgt.MINUS)){const e=Nft(i,s);if(e instanceof lS&&Jw(e.genericType.value.rawType,B_.NUMBER))return Une.jsx(XKi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===B_.INTEGER,updateValueSpecification:(e,t)=>{hft(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:f})}}}return Une.jsx(iXi,{})}),oXi=Lse(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:u,initializeAsEditable:d,readOnly:h,enableExpressionCalculation:p=!0,displayAsString:g=!0}=e,f=Wht(),[m,v]=n.useState(d??!1),y=n.useRef(null);n.useEffect(()=>{m&&y.current?.focus()},[m,y]);const b=t instanceof lS&&!Jw(t.genericType.value.rawType,B_.DATE)&&t.genericType.value.rawType!==B_.BOOLEAN||t instanceof cS,_=m||!b,C=zPi(t,f,{omitEnumOwnerName:!0});return _?Une.jsx(sXi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:u,ref:y,handleBlur:()=>v(!1),handleKeyDown:e=>{"Enter"===e.key&&v(!1)},displayDateEditorAsEditableValue:!0,readOnly:h,enableExpressionCalculation:p}):Une.jsx("div",{className:"value-spec-editor__editable__display",children:Une.jsx("span",{className:Bse("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof aS&&!yft(t)}),onClick:h?()=>{}:()=>{v(!0)},style:{cursor:h?"not-allowed":""},children:g?`"${void 0!==C?C:""}"`:C})})}),aXi=(e,t)=>{if(e instanceof bS){const n=MPi(e,t.applicationStore).label;if(n)return n}return zPi(e,t.applicationStore)},lXi=Lse(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return Une.jsxs(OPe,{ref:t,children:[i?.map(e=>Une.jsx(LPe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&Une.jsx(LPe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&Une.jsx(LPe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),cXi=Lse(e=>{const{variable:t,value:i,actions:r,isReadOnly:s,queryBuilderState:o,extraContextMenuActions:a,option:l}=e,c=o.isVariableUsed(t),[u,d]=n.useState(!1),h=Boolean(i),p=i?.val?aXi(i.val,o):void 0,g=t.name,f=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),m=o.milestoningState.isMilestoningParameter(t),v=o.milestoningState.getMilestoningParameterValue(t),y=m&&v?aXi(v,o):void 0,b=s||c,_=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,w]=XBe(()=>({type:$Ki,item:{variable:t}}),[t]),E=n.useRef(null);return S(E),NVe(w),Une.jsx("div",{className:"query-builder__variables__variable",ref:E,children:Une.jsxs(BPe,{content:Une.jsx(lXi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:Bse("query-builder__variables__variable__context-menu",{"query-builder__variables__variable--selected-from-context-menu":u}),menuProps:{elevation:7},onOpen:()=>d(!0),onClose:()=>d(!1),children:[Une.jsx(IVe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[$Ki]}),Une.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[Une.jsx("div",{className:"query-builder__variables__variable__icon",children:Une.jsx("div",{className:"query-builder__variables__variable-icon",children:h?Une.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):Une.jsx(ore,{})})}),Une.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?Une.jsxs("div",{className:Bse("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&Une.jsx(zie,{title:"Calculated Constant"})]}):Une.jsxs("div",{className:"query-builder__variables__variable__type",children:[Une.jsx("div",{className:"query-builder__variables__variable__type__label",children:f??"unknown"}),m&&Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&Une.jsx("div",{className:"query-builder__constants__value",children:y})]})]})]})]}),r&&Une.jsxs("div",{className:"query-builder__variables__variable__actions",children:[Une.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:Une.jsx(sie,{})}),Une.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:b,title:_,children:Une.jsx(Bre,{})}),Une.jsx(WKi,{variable:t,children:Une.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:Une.jsx(_re,{})})})]})]})})}),uXi=Lse(e=>{const{queryBuilderState:t,filterBy:n}=e,i=t.parametersState.parameterStates.filter(e=>!n||n(e.parameter)),r=t.constantState.constants.filter(e=>!n||n(e.variable));return Une.jsxs(Une.Fragment,{children:[Une.jsxs(rFe,{title:"Available parameters",children:[0===i.length&&Une.jsx(Une.Fragment,{children:" No available parameters "}),i.map(e=>Une.jsx(cXi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&Une.jsx(rFe,{title:"Available constants",children:r.map(e=>Une.jsx(cXi,{variable:e.variable,value:{val:e instanceof aKi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),dXi=Lse(e=>{const{derivedPropertyExpressionState:t,variable:i,idx:r}=e,s=t.queryBuilderState.graphManagerState.graph,o=dr(t.parameters[r]?.genericType).value.rawType,a=n.useCallback(e=>{lft(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=tVe(()=>({accept:[$Ki],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!eE(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),u=t.queryBuilderState,d=e=>{e instanceof _S&&tft(e,u)&&e.func.value.genericType.value.rawType instanceof Y_&&u.applicationStore.alertService.setActionAlertInfo({message:"You have just changed a milestoning date in the property expression chain, this date will be propagated down the rest of the chain. Do you want to proceed? Otherwise, you can choose to propagate the default milestoning dates instead.",type:Tpt.CAUTION,actions:[{label:"Proceed",type:Apt.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:Apt.PROCEED,handler:u.applicationStore.guardUnhandledError(async()=>(e=>{const t=zw(fr(e.func.value.genericType.value.rawType,Y_),u.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof ES&&!ift(t,i,n.getValue(),u.milestoningState)){const n=new ES(()=>dr(u.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,lft(fr(e,_S),dr(n),i+1,u.observerContext)}})})(e))}]})},h=dr(t.parameterValues[r]);return Une.jsxs("div",{className:"panel__content__form__section",children:[Une.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),Une.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),Une.jsx("div",{className:"query-builder__variable-editor",children:Une.jsx(xVe,{isDragOver:l,dropTargetConnector:c,children:Une.jsx(sXi,{valueSpecification:h,setValueSpecification:e=>{lft(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===B_.DATETIME},resetValue:()=>{lft(t.propertyExpression,rft(t,r)??qPi(i,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,t.queryBuilderState.observerContext),r+1,t.queryBuilderState.observerContext);const e=t.propertyExpressionState.derivedPropertyExpressionStates,n=e.indexOf(t);d(n+1<e.length?e[n+1]?.propertyExpression:void 0)},isConstant:u.constantState.isValueSpecConstant(h)})})}),Une.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),hXi=Lse(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return Une.jsxs("div",{className:"query-builder-property-editor__section",children:[Une.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&Une.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>Une.jsx(dXi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),pXi=Lse(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return Une.jsx(cye,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Une.jsxs(EPe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[Une.jsx(TPe,{title:"Derived Property"}),Une.jsxs(RPe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>Une.jsx(hXi,{derivedPropertyExpressionState:e},e.path)),Une.jsx(RPe,{className:"query-builder__variables__modal__body",children:Une.jsx(uXi,{queryBuilderState:t.queryBuilderState,filterBy:e=>((e,t)=>Boolean(t.find(t=>{const n=e.genericType?.value.rawType;return!!n&&t.parameters.some(e=>e.genericType&&(eE(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),Une.jsx(NPe,{children:Une.jsx(DPe,{text:"Done",onClick:i})})]})})}),gXi=Lse(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return Une.jsx("div",{className:"query-builder__property__name__display",title:n,children:Une.jsx("span",{className:Bse("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),fXi=Lse(e=>{const{columnName:t,setColumnName:i,error:r,title:s,defaultColumnName:o}=e,[a,l]=n.useState(!1),[c,u]=n.useState(t),d=n.useRef(null);n.useEffect(()=>{a&&d.current?.focus()},[a,d]);const h=()=>{const e=c.trim();e.length>0?(i?.(e),u(e)):(i?.(o),u(o)),l(!1)};return a?Une.jsx("div",{className:"query-builder__property__name__editor",children:Une.jsx(Vxe,{className:"query-builder__property__name__editor__input input-group__input",spellCheck:!1,value:c,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()},onBlur:h,ref:d,draggable:!0,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}})}):Une.jsx(gXi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),mXi=Lse(e=>{const{columnName:t,propertyExpressionState:n,setColumnName:i,error:r}=e,s=n.propertyExpression.func.value.genericType.value.rawType,o=Boolean(n.derivedPropertyExpressionStates.length),a=n.isValid;return Une.jsx("div",{className:"query-builder-property-expression-badge",children:Une.jsxs("div",{className:Bse("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof Y_,"query-builder-property-expression-badge__content--enumeration":s instanceof J_,"query-builder-property-expression-badge__content--primitive":s instanceof B_}),children:[Une.jsx(fXi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:WPi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&Une.jsxs("button",{className:Bse("query-builder-property-expression-badge__action",{"query-builder-property-expression-badge__action--error":!a}),tabIndex:-1,onClick:()=>{o&&n.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!a&&Une.jsx(_re,{})," (...)"]}),Une.jsx(pXi,{propertyExpressionState:n})]})})}),vXi=e=>{const{issues:t}=e;if(!t)return null;const n=(i="issue",((e,t)=>e<=0?`no ${t}s`:e>1?`${e} ${t}s`:`1 ${t}`)(t.length,i));var i;return Une.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[Une.jsx(Fre,{className:"query-builder-panel-issue-count-badge__icon"}),Une.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},yXi=e=>{if(e instanceof B_||e instanceof V_){const t=Sft(e)??e.path;if(t===Xb.STRING)return Une.jsx(oie,{className:"query-builder-column-badge__icon"});if(t===Xb.BOOLEAN)return Une.jsx(Vre,{className:"query-builder-column-badge__icon"});if(t===Xb.NUMBER||t===Xb.INTEGER||t===Xb.FLOAT||t===Xb.DECIMAL)return Une.jsx(bre,{className:"query-builder-column-badge__icon"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return Une.jsx(Jie,{className:"query-builder-column-badge__icon"})}else if(e instanceof J_)return Une.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},bXi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=_i(()=>(e=>{if(e instanceof aFi||e instanceof iVi)return T_.ONE;if(e instanceof nFi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new yi("Can't get multiplicity for column",e)})(t));return Une.jsx(hCe,{arrow:!0,...void 0!==n?{placement:n}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:Une.jsxs("div",{className:"query-builder__tooltip__content",children:[Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&Une.jsxs("div",{className:"query-builder__tooltip__item",children:[Une.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Une.jsx("div",{className:"query-builder__tooltip__item__value",children:tE(s)})]})]}),children:i})},_Xi=(e,t)=>{switch(t){case eFi:return e.columnState.getColumnType();case AUi.ENUM_PROPERTY:case AUi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case $Ki:return e.variable.genericType?.value.rawType;case QBi:return e.columnState.getColumnType();default:return}},CXi=[AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY,eFi,AUi.RELATION_COLUMN],SXi=[AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY,AUi.RELATION_COLUMN],wXi=[BFi.CONDITION,AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY,eFi,AUi.RELATION_COLUMN],EXi=[BFi.CONDITION,AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY,AUi.RELATION_COLUMN],xXi=[AUi.ENUM_PROPERTY,AUi.PRIMITIVE_PROPERTY,eFi,$Ki],TXi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof _S||r instanceof bS&&k_(r.functionName,Zgt.SUBTYPE);){let e;r instanceof bS?e=new bS(N_(Zgt.SUBTYPE)):(e=new _S(""),e.func=r.func),e.parametersValues=r.parametersValues.length>1?r.parametersValues.slice(1):[],i.push(e),r=dr(r.parametersValues[0])}let s,o=[],a=[fr(r,oS)],l=0;for(let e=i.length-1;e>=0;--e){const n=i[e];n.parametersValues.unshift(a[a.length-1]),a[a.length-1]=n,n instanceof _S&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(Ur(o,t.lambdaParameterName)),br(l===o.length-1)),a.push(new oS(o[l],T_.ONE)),l++)}if(n)if(n instanceof XFi){const e=a.findIndex(e=>e instanceof _S&&e.func.value===n.propertyExpressionState.propertyExpression.func.value&&e.func.ownerReference.value.path===n.propertyExpressionState.propertyExpression.func.ownerReference.value.path);e>=0&&(s=n,a=a.slice(e+1),o=o.slice(e+1))}else{let e=n,i=n.parentId;for(;i&&!(e instanceof XFi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof XFi){const i=a.findIndex(t=>t instanceof _S&&e instanceof XFi&&t.func.value===fr(e,XFi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof QFi?t.newGroupConditionFromNode(n):n instanceof KFi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof QFi?t.newGroupConditionFromNode(n):n instanceof KFi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new XFi(t,s?.id);n.setPropertyExpression(a[e]),n.lambdaParameterName=o[e],t.nodes.set(n.id,n),t.addNodeFromNode(n,s),s=n}const c=new $Fi(t,a[a.length-1]),u=new QFi(void 0,c);u.setIsNewlyAdded(!0),t.addNodeFromNode(u,s),n instanceof JFi&&t.removeNodeAndPruneBranch(n)},AXi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof XFi&&r.push(i.propertyExpressionState.propertyExpression),i=e.getParentNode(i);i?.id===t.id&&r.push(t.propertyExpressionState.propertyExpression),r=r.reverse();const s=dr(r[0]);r=r.slice(1);let o=new _S("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof _S||n instanceof bS&&k_(n.functionName,Zgt.SUBTYPE);){if(n instanceof bS){const e=new bS(N_(Zgt.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof _S){const e=new _S("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=dr(n.parametersValues[0])}br(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(o),o=fr(t[0],_S,"Can't process exists() expression: can't flatten to a property expression")}return fr(FFi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),_S)},RXi=(e,t,n)=>{if(VFi(e)){const i=WPi(e,t.queryBuilderState.explorerState.humanizePropertyName);t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:`The property '${i}' is a collection. As you are trying to filter on a collection, the filter created will be an exist filter. e.g. There exists at least one '${i}' where 'Type' is the value specified.\n If you are looking to create the filter where all values in this collection equal the value specified, rather than at least one value, consider creating post filter instead.`,type:Tpt.CAUTION,actions:[{label:"Cancel",type:Apt.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:Apt.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>TXi(e,t,n))}]})}else{const i=new $Fi(t,e),r=new QFi(void 0,i);r.setIsNewlyAdded(!0);let s,o=n,a=n?.parentId;for(;a;)o=t.nodes.get(a),a=o?.parentId,o instanceof XFi&&(s=o);if(o instanceof XFi&&(s=o),n instanceof KFi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof JFi)s?t.queryBuilderState.applicationStore.notificationService.notifyError("Can't drag and drop here: property expression of target and source doesn't match"):t.replaceBlankNodeWithNode(r,n);else if(s&&n instanceof XFi)t.newGroupConditionFromNode(s,r);else if(n instanceof QFi){const e=t.getParentNode(n);if(s&&e instanceof XFi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,TFi.AND);else if(s&&e instanceof KFi){const i=AXi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);TXi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},NXi=Lse(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===TFi.AND?"AND":"OR";return Une.jsx("div",{className:"dnd__entry__container",children:Une.jsx(RVe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:Une.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===TFi.AND?TFi.OR:TFi.AND)},children:Une.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),IXi=Lse(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return Une.jsx("div",{className:"dnd__entry__container",children:Une.jsx(RVe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:Une.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[Une.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:WPi(t.propertyExpressionState.propertyExpression,n)}),Une.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&Une.jsxs("button",{className:Bse("query-builder-filter-tree__exists-node__exists--label__action",{"query-builder-filter-tree__exists-node__exists--label__action--error":!o}),tabIndex:-1,onClick:()=>{s&&t.propertyExpressionState.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!o&&Une.jsx(_re,{})," (...)"]}),Une.jsx(pXi,{propertyExpressionState:t.propertyExpressionState})]})})})}),DXi=Lse(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return Une.jsx("div",{className:"query-builder-filter-property-expression-badge",children:Une.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[Une.jsx("div",{className:Bse("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof Y_,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof J_,"query-builder-filter-property-expression-badge__type--primitive":i instanceof B_}),children:yXi(i)}),Une.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:Une.jsx(mXi,{propertyExpressionState:t.propertyExpressionState})}),Une.jsx(BVi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:Une.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:Une.jsx(_re,{})})}),Une.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:Une.jsx(uie,{})})]})})}),kXi=(e,t)=>{const n=t.operator,i=t.leftConditionType;return!(n instanceof N$i)&&!(n instanceof I$i)&&wft(e,i)},OXi=Lse(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Wht(),l=ZFi(t),c=n.useCallback((e,n)=>{const i=_Xi(e,n);if(void 0!==i&&kXi(i,t.condition))try{if((n===eFi||n===AUi.ENUM_PROPERTY||n===AUi.PRIMITIVE_PROPERTY)&&l)throw new yi("Collection filter does not support property for filter condition value.");if(n===eFi){const n=e.columnState;if(!(n instanceof nFi))throw new yi("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(VFi(e))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new KPi(s,VPi(e,s.observerContext)))}}else if(n===AUi.ENUM_PROPERTY||n===AUi.PRIMITIVE_PROPERTY){const n=e.node,i=new KPi(s,PUi(n,t.condition.filterState.queryBuilderState.explorerState));if(VFi(i.propertyExpression))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===$Ki){const n=e.variable;t.condition.buildRightConditionValueFromValueSpec(n)}else a.notificationService.notifyWarning(`Dragging and Dropping ${n} to filter panel is not supported.`)}catch(e){return bi(e),void a.notificationService.notifyWarning(e.message)}else{const e=t.condition.leftConditionType;a.notificationService.notifyWarning(`Incompatible parameter type ${i?.name}. ${i?.name} is not compatible with type ${e.name}.`)}},[a,s,l,t.condition]),[{isFilterValueDragOver:u},d]=tVe(()=>({accept:xXi,canDrop:(e,n)=>kXi(_Xi(e,n.getItemType()),t.condition),drop:(e,t)=>{t.didDrop()||c(e,t.getItemType())},collect:e=>({isFilterValueDragOver:e.isOver({shallow:!0})&&e.canDrop()})}),[c]),h=n.useRef(null);d(h);const{isFilterValueDroppable:p}=ZBe(e=>({isFilterValueDroppable:e.isDragging()&&xXi.includes(e.getItemType()?.toString()??"")&&kXi(_Xi(e.getItem(),e.getItemType()),t.condition)})),g=()=>{t.condition.buildRightConditionValueFromValueSpec(t.condition.operator.getDefaultFilterConditionValue(t.condition))},f=e=>{t.condition.buildRightConditionValueFromValueSpec(e)},m=n.useMemo(()=>jn(e=>{const n=jPi(B_.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),v={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:m,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),Une.jsx("div",{className:"dnd__entry__container","data-testid":UVi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:Une.jsx(RVe,{isDragOver:i&&!u,alwaysShowChildren:!0,children:Une.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[Une.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:t.condition.sourceState instanceof jFi?Une.jsx(mXi,{propertyExpressionState:t.condition.sourceState.propertyExpressionState}):Une.jsx("div",{className:"query-builder-filter-tree__condition-node__property__label",children:t.condition.sourceState.label})}),Une.jsxs(VPe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:Une.jsx(OPe,{children:t.condition.operators.map(e=>{return Une.jsx(LPe,{className:"query-builder-filter-tree__condition-node__operator__dropdown__option",onClick:(n=e,()=>t.condition.changeOperator(n)),children:e.getLabel()},e.uuid);var n})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:[Une.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),Une.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:Une.jsx(Wie,{})})]}),o instanceof GFi&&o.value?Une.jsx("div",{ref:h,"data-testid":UVi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:Une.jsx(RVe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:Une.jsx(oXi,{valueSpecification:o.value,setValueSpecification:f,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.leftConditionType},resetValue:g,selectorSearchConfig:v,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof HFi?Une.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:Une.jsx(RVe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:Une.jsx(DXi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),LXi=Lse(e=>{const{isDragOver:t,isDroppable:n}=e;return Une.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:Une.jsx(RVe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:Une.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),MXi=Lse(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return Une.jsxs(OPe,{ref:t,children:[i instanceof KFi&&Une.jsx(LPe,{onClick:()=>{r.addNodeFromNode(new JFi(void 0),i)},children:"Add New Condition"}),i instanceof KFi&&Une.jsx(LPe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof QFi&&Une.jsx(LPe,{onClick:()=>{Ggt.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),Une.jsx(LPe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),PXi=Lse(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Wht(),u=s.filterState,d=n.useCallback((e,n)=>{if(BFi.CONDITION===n){const n=e.node,i=new QFi(void 0,u.nodes.get(n.id).condition);t instanceof JFi?(u.replaceBlankNodeWithNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof QFi?(u.newGroupWithConditionFromNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof KFi&&(u.addNodeFromNode(i,t),u.removeNodeAndPruneBranch(n))}else{let i;try{if(n===AUi.RELATION_COLUMN){const t=e.node,n=new WFi(t.column.name,t.type);i=new $Fi(u,n)}else{let t;if(n===eFi){if(!(e.columnState instanceof nFi))throw new yi("Dragging and Dropping derivation projection column is not supported.");t=VPi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=PUi(e.node,u.queryBuilderState.explorerState);i=new $Fi(u,t)}}catch(e){return bi(e),void c.notificationService.notifyWarning(e.message)}if(t instanceof YFi||t instanceof QFi||t instanceof JFi)if(i.sourceState instanceof WFi){const e=new QFi(void 0,i);e.setIsNewlyAdded(!0),t instanceof JFi?u.replaceBlankNodeWithNode(e,t):t instanceof QFi?u.newGroupWithConditionFromNode(e,t):u.addNodeFromNode(e,t)}else RXi(i.propertyExpressionState.propertyExpression,u,t)}},[c,u,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=tVe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?wXi:EXi,drop:(e,t)=>{t.didDrop()||d(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[d]),[,f,m]=XBe(()=>({type:t instanceof KFi?BFi.GROUP_CONDITION:t instanceof QFi?BFi.CONDITION:BFi.BLANK_CONDITION,item:()=>({node:t}),end:()=>u.setRearrangingConditions(!1),canDrag:()=>t instanceof QFi||t instanceof JFi}),[t,u]);f(g(o)),NVe(m);const{isDroppable:v}=ZBe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?wXi:EXi).includes(e.getItemType()?.toString()??"")})),y=t instanceof XFi&&0===t.childrenIds.length,b=t instanceof QFi||t instanceof JFi||y;return Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:Bse("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof KFi,"query-builder-filter-tree__node__container--condition":t instanceof QFi||t instanceof JFi,"query-builder-filter-tree__node__container--exists":t instanceof XFi,"query-builder-filter-tree__node__container--exists--empty":y,"query-builder-filter-tree__node__container--no-hover":u.isRearrangingConditions,"query-builder-filter-tree__node__container--selected":t===u.selectedNode,"query-builder-filter-tree__node__container--selected-from-context-menu":a}),children:Une.jsxs(BPe,{content:Une.jsx(MXi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof QFi||t instanceof JFi?()=>i?.(t):void 0,children:[t instanceof KFi&&Une.jsx(NXi,{node:t,isDroppable:v,isDragOver:h}),t instanceof XFi&&Une.jsx(IXi,{node:t,humanizePropertyName:u.queryBuilderState.explorerState.humanizePropertyName,isDroppable:v,isDragOver:h}),t instanceof QFi&&Une.jsx(OXi,{node:t,isDragOver:p}),t instanceof JFi&&Une.jsx(LXi,{node:t,isDragOver:h,isDroppable:v})]}),b&&Une.jsx("div",{className:"query-builder-filter-tree__node__actions",children:Une.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>u.removeNodeAndPruneBranch(t),children:Une.jsx(Bre,{})})})]})})}),FXi=Lse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:Bse("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof KFi,"query-builder-filter-tree__node__block--exists":t instanceof XFi}),children:[Une.jsx(PXi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>Une.jsx(FXi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),BXi=Lse(e=>{const{queryBuilderState:t}=e,n=t.filterState,i=n.rootIds.map(e=>n.getNode(e)),r=e=>{n.setSelectedNode(n.selectedNode!==e?e:void 0)},s=e=>e instanceof YFi?e.childrenIds.map(e=>n.getNode(e)):[];return Une.jsx("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>Une.jsx(FXi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),VXi=Lse(e=>{const{queryBuilderState:t}=e,i=Wht(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof KFi),{isDroppable:a}=ZBe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?CXi:SXi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{if(n===AUi.RELATION_COLUMN){const t=e.node,n=new WFi(t.column.name,t.type),i=new $Fi(r,n),s=new QFi(void 0,i);s.setIsNewlyAdded(!0),r.setSelectedNode(void 0),r.addNodeFromNode(s,void 0)}else{let i;if(n===eFi){if(!(e.columnState instanceof nFi))throw new yi("Dragging and Dropping derivation projection column is not supported.");i=VPi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=PUi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),RXi(i,r)}}catch(e){return bi(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},u]=tVe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?CXi:SXi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),d=n.useRef(null);return u(d),Une.jsxs("div",{"data-testid":UVi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[Une.jsxs("div",{className:"panel__header",children:[Une.jsxs("div",{className:"panel__header__title",children:[Une.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&Une.jsx(vXi,{issues:r.allValidationIssues})]}),Une.jsx("div",{className:"panel__header__actions",children:Une.jsx(VPe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:Une.jsxs(OPe,{children:[Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new JFi(void 0),r.selectedNode)},children:[Une.jsx(PPe,{children:Une.jsx(Nre,{})}),Une.jsx(FPe,{children:"Create Condition"})]}),Une.jsxs(LPe,{disabled:!(r.selectedNode instanceof QFi),onClick:()=>{Ggt.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof QFi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[Une.jsx(PPe,{children:Une.jsx(Qre,{})}),Une.jsx(FPe,{children:"Create Group From Condition"})]}),Une.jsxs(LPe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{Ggt.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[Une.jsx(PPe,{children:Une.jsx(Tre,{})}),Une.jsx(FPe,{children:"Create Logical Group"})]}),Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[Une.jsx(PPe,{children:Une.jsx(Ure,{})}),Une.jsx(FPe,{children:"Cleanup Tree"})]}),Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[Une.jsx(PPe,{children:Une.jsx(Zie,{})}),Une.jsx(FPe,{children:"Simplify Tree"})]}),Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[Une.jsx(PPe,{children:Une.jsx(tre,{})}),Une.jsx(FPe,{children:"Collapse Tree"})]}),Une.jsxs(LPe,{onClick:()=>{Ggt.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[Une.jsx(PPe,{children:Une.jsx(ure,{})}),Une.jsx(FPe,{children:"Expand Tree"})]})]}),children:Une.jsx(aie,{className:"query-builder__icon__more-options"})})})]}),Une.jsx(KPe,{children:Une.jsxs(xVe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:u,children:[r.isEmpty&&Une.jsx(aFe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&Une.jsxs(Une.Fragment,{children:[Une.jsx(IVe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(BFi)}),Une.jsx(BXi,{queryBuilderState:t})]}),a&&!r.isEmpty&&Une.jsx("div",{ref:d,className:"query-builder-filter-tree__free-drop-zone__container",children:Une.jsx(RVe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:Une.jsx(Une.Fragment,{})})})]})})]})}),UXi=Lse(e=>{const{resultState:t}=e,i=Wht(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return Une.jsx(cye,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:Une.jsxs(EPe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Une.jsx(TPe,{title:"Query Usage"}),Une.jsx(RPe,{className:"query-builder__usage-viewer__body",children:Une.jsxs(Une.Fragment,{children:[0===r.length?Une.jsx(sFe,{children:"Query usage is not available"}):Une.jsxs(Une.Fragment,{children:[Une.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:Une.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>Une.jsxs("button",{className:Bse("query-builder__usage-viewer__tab",{"query-builder__usage-viewer__tab--active":s===e.key}),tabIndex:-1,onClick:()=>o(e.key),children:[void 0!==e.icon&&Une.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),Une.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),Une.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),Une.jsx(QPe,{})]})}),Une.jsx(NPe,{children:Une.jsx(DPe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var GXi;function HXi(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,i=0;i<e.length;i++)""!==(n=HXi(e[i]))&&(t+=(t&&" ")+n);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}!function(e){e.QUESTION_HOW_TO_ADD_PARAMETERS_TO_QUERY="question.how-to-add-parameters-to-query",e.QUESTION_HOW_TO_ADD_CONSTANTS_TO_QUERY="question.how-to-add-constants-to-query",e.QUESTION_HOW_TO_USE_LOCAL_GRID_MODE="question.how-to-use-local-grid-mode",e.TUTORIAL_QUERY_BUILDER="tutorial.query.builder",e.FREQUENTLY_ASKED_QUESTIONS="frequently.asked.questions",e.SUPPORT_TICKETS_LINK="support.tickets.link"}(GXi||(GXi={}));var zXi,jXi={exports:{}},WXi={};var $Xi,qXi,YXi={};
|
|
902
902
|
/**
|
|
903
903
|
* @license React
|
|
904
904
|
* use-sync-external-store-shim/with-selector.development.js
|