@finos/legend-vscode-extension-dependencies 4.0.268 → 4.0.269

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 Qdn=Object.defineProperty,Jdn=Object.getOwnPropertyDescriptor,ehn=Object.get
898
898
  .${yQn.BLUR}:hover {
899
899
  filter: none;
900
900
  }
901
- `})}),$Pi=boe(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 xie.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:[xie.jsx(pTe,{className:"text-lg"}),xie.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),qPi=boe(e=>{const{view:t}=e,n=fPi(),i=t.grid;return xie.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)&&xie.jsx($Pi,{view:t}),xie.jsx("div",{}),xie.jsxs("div",{className:"flex h-full items-center",children:[xie.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&&xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),xie.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[xie.jsx(bTe,{className:"stroke-[3px]"}),xie.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),xie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),xie.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[xie.jsx(rSe,{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:hxe("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:hxe("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}),xie.jsx("div",{className:hxe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),xie.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[xie.jsx(rSe,{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:hxe("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:hxe("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...":""}),xie.jsxs("div",{className:hxe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",xie.jsx(mPi,{})]})]})]})]})]})}),YPi=boe(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")}),xie.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:xie.jsx(bvi,{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=HPi)},modules:[omi,JLi],...N3n(t)})})}),KPi=boe(e=>{const{view:t}=e,n=t.grid.configuration;return xie.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[xie.jsx(WPi,{configuration:n}),xie.jsx(YPi,{view:t}),xie.jsx(qPi,{view:t})]})}),XPi=boe(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case Omt.MULTIDIMENSIONAL:return xie.jsx(GPi,{view:t});case Omt.STANDARD:return xie.jsx(KPi,{view:t});default:return xie.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),ZPi=boe(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return xie.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[xie.jsxs("div",{className:"flex",children:[xie.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(vmt.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Pmt.STATUS_BAR})},disabled:!t,children:[xie.jsx(iTe,{className:"text-xl"}),xie.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),xie.jsx("div",{className:"flex",children:xie.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(vmt.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Pmt.STATUS_BAR})},disabled:!t||dvt(t.info.configuration.gridMode),children:[xie.jsx(lTe,{className:"text-lg"}),xie.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),xie.jsx("div",{className:"flex items-center px-2",children:xie.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&&xie.jsx(r_e,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),QPi=boe(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=xFe(),[c,u]=n.useState([...r??[]]);return xie.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[xie.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[xie.jsx(Vxe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),xie.jsx("div",{className:"truncate",children:i})]}),xie.jsxs("div",{className:"flex w-full flex-auto",children:[t,xie.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(BPi.SEPARATOR),u([...r??[],...t]),o(e)},disabled:!r?.length,children:xie.jsx(Jxe,{})}),xie.jsx(TFe,{...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)?xie.jsx(AFe,{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===BPi.SEPARATOR?xie.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),JPi=e=>{const{message:t,prompt:n}=e;return xie.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[xie.jsx("div",{className:"mr-3",children:xie.jsx(Exe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),xie.jsxs("div",{children:[xie.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),xie.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},eFi=boe(e=>{const{children:t,taskManager:n}=e;return xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),xie.jsx(ZPi,{taskManager:n})]})}),tFi=boe(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return xie.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":mmt.PLACEHOLDER,children:[xie.jsx(QPi,{title:n,menuItems:i,children:r??null}),xie.jsx(eFi,{taskManager:o,children:t}),s?xie.jsx(FPi,{layout:s}):null,xie.jsx(mOn,{})]})}),nFi=boe(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?xie.jsx(eFi,{children:xie.jsx(JPi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):xie.jsxs(xie.Fragment,{children:[xie.jsx(XPi,{view:t}),xie.jsx(ZPi,{view:t})]})}),iFi=boe(()=>{const e=fPi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(vmt.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]),xie.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[xie.jsx(QPi,{title:t.info.name,menuItems:[{label:Mmt.UNDO,action:()=>{e.view.snapshotService.undo(),i(Mmt.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:Mmt.REDO,action:()=>{e.view.snapshotService.redo(),i(Mmt.REDO)},disabled:!e.view.snapshotService.canRedo},{label:Mmt.SETTINGS,action:()=>{e.settingService.display.open(),i(Mmt.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),xie.jsx(nFi,{view:t}),xie.jsx(FPi,{layout:e.layoutService.manager}),xie.jsx(mOn,{})]})}),rFi=boe(e=>{const{specification:t,engine:i,options:r}=e,s=Coe(()=>new hPi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?xie.jsx(gPi,{value:s,children:xie.jsx(iFi,{},s.uuid)}):xie.jsx(tFi,{title:Umt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&xie.jsx(JPi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var sFi,oFi,aFi,lFi,cFi,uFi;!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"}(sFi||(sFi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(oFi||(oFi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(aFi||(aFi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(lFi||(lFi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(cFi||(cFi={})),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"}(uFi||(uFi={}));class dFi{label;value;constructor(e,t){this.label=e,this.value=t}}class hFi extends dFi{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 pFi extends dFi{unit;constructor(e,t){super(e,sFi.FIRST_DAY_OF),this.unit=t}}class gFi extends dFi{day;constructor(e,t){super(e,sFi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const fFi=[new hFi("Yesterday",sFi.YESTERDAY,1,oFi.DAYS,cFi.BEFORE,uFi.TODAY),new hFi("One Week Ago",sFi.ONE_WEEK_AGO,1,oFi.WEEKS,cFi.BEFORE,uFi.TODAY),new hFi("One Month Ago",sFi.ONE_MONTH_AGO,1,oFi.MONTHS,cFi.BEFORE,uFi.TODAY),new hFi("One Year Ago",sFi.ONE_YEAR_AGO,1,oFi.YEARS,cFi.BEFORE,uFi.TODAY)],mFi=e=>Object.values(Pft).find(t=>O_(e,t)),vFi=(e,t,n)=>{if(e instanceof gFi){const i=new xS(Pft.PREVIOUS_DAY_OF_WEEK);jft(i,H_.create(new Y_(V_.DATE)));const r=new fS(H_.create(new Y_(t.getType(Oft.DAY_OF_WEEK))));return Qft(r,[...r.values,cC.create(dr(t.getEnumeration(Oft.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),Yft(i,r,n),i}if(e instanceof pFi)switch(e.unit){case aFi.YEAR:{const e=new xS(Pft.FIRST_DAY_OF_THIS_YEAR);return jft(e,H_.create(new Y_(V_.DATE))),e}case aFi.QUARTER:{const e=new xS(Pft.FIRST_DAY_OF_QUARTER);return jft(e,H_.create(new Y_(V_.STRICTDATE))),e}case aFi.MONTH:{const e=new xS(Pft.FIRST_DAY_OF_THIS_MONTH);return jft(e,H_.create(new Y_(V_.DATE))),e}case aFi.WEEK:{const e=new xS(Pft.FIRST_DAY_OF_WEEK);return jft(e,H_.create(new Y_(V_.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 sFi.TODAY:return CFi(Pft.TODAY,V_.STRICTDATE);case sFi.NOW:return CFi(Pft.NOW,V_.DATETIME);case uFi.FIRST_DAY_OF_THIS_YEAR:{const e=new xS(Pft.FIRST_DAY_OF_THIS_YEAR);return jft(e,H_.create(new Y_(V_.DATE))),e}case uFi.FIRST_DAY_OF_QUARTER:{const e=new xS(Pft.FIRST_DAY_OF_QUARTER);return jft(e,H_.create(new Y_(V_.STRICTDATE))),e}case uFi.FIRST_DAY_OF_MONTH:{const e=new xS(Pft.FIRST_DAY_OF_THIS_MONTH);return jft(e,H_.create(new Y_(V_.DATE))),e}case uFi.FIRST_DAY_OF_WEEK:{const e=new xS(Pft.FIRST_DAY_OF_WEEK);return jft(e,H_.create(new Y_(V_.DATE))),e}default:throw new yi(`Can't build expression for date picker option '${e.value}'`)}},yFi=(e,t)=>{const n=t.getEnumeration(Oft.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(oFi).filter(t=>oFi[t]===e)[0])[0];return i??dr(n.values[0])},bFi=(e,t)=>{if(e instanceof xS&&O_(e.functionName,Pft.ADJUST)||e instanceof Qx&&O_(e.function,Pft.ADJUST))try{const t=new hFi("",sFi.CUSTOM_DATE,(e=>{if(e instanceof xS){const t=e.parametersValues[1];return t instanceof gS?t.values[0]:t instanceof xS&&O_(t.functionName,Pft.MINUS)&&t.parametersValues[0]instanceof gS?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof nT?t.value:t instanceof Qx&&O_(t.function,Pft.MINUS)&&t.parameters[0]instanceof nT?t.parameters[0].value:0}})(e),(e=>dr(e instanceof xS?Object.keys(oFi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>oFi[e])[0]:Object.values(oFi).filter(t=>t===fr(e.parameters[2],LT).property)[0]))(e),(n=e)instanceof xS?n.parametersValues[1]instanceof xS&&O_(n.parametersValues[1].functionName,Pft.MINUS)?cFi.BEFORE:cFi.AFTER:n.parameters[1]instanceof Qx&&O_(n.parameters[1].function,Pft.MINUS)?cFi.BEFORE:cFi.AFTER,(e=>{const t=e instanceof xS?e.parametersValues[0].functionName:e.parameters[0].function;switch(mFi(t)){case Pft.TODAY:return uFi.TODAY;case Pft.NOW:return uFi.NOW;case Pft.FIRST_DAY_OF_THIS_YEAR:return uFi.FIRST_DAY_OF_THIS_YEAR;case Pft.FIRST_DAY_OF_QUARTER:return uFi.FIRST_DAY_OF_QUARTER;case Pft.FIRST_DAY_OF_THIS_MONTH:return uFi.FIRST_DAY_OF_MONTH;case Pft.FIRST_DAY_OF_WEEK:return uFi.FIRST_DAY_OF_WEEK;case Pft.PREVIOUS_DAY_OF_WEEK:return uFi.PERVIOUS_DAY_OF_WEEK;default:throw new yi(`Can't build custom date option reference moment '${t}'`)}})(e)),i=fFi.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 hFi("","",0,void 0,void 0,void 0)},_Fi=(e,t)=>{if(!(e instanceof xS||e instanceof Qx)){if(e instanceof gS)return e.genericType.value.rawType.path===Xb.LATESTDATE?new dFi(sFi.LATEST_DATE,sFi.LATEST_DATE):new dFi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===Xb.DATETIME?sFi.ABSOLUTE_TIME:sFi.ABSOLUTE_DATE);if(e instanceof cT)return new dFi(sFi.LATEST_DATE,sFi.LATEST_DATE);if(e instanceof aT)return new dFi(e.value,sFi.ABSOLUTE_DATE);if(e instanceof oT)return new dFi(e.value,sFi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof xS?e.functionName:e.function;switch(mFi(n)){case Pft.TODAY:return new dFi(sFi.TODAY,sFi.TODAY);case Pft.NOW:return new dFi(sFi.NOW,sFi.NOW);case Pft.FIRST_DAY_OF_THIS_YEAR:return new pFi(uFi.FIRST_DAY_OF_THIS_YEAR,aFi.YEAR);case Pft.FIRST_DAY_OF_QUARTER:return new pFi(uFi.FIRST_DAY_OF_QUARTER,aFi.QUARTER);case Pft.FIRST_DAY_OF_THIS_MONTH:return new pFi(uFi.FIRST_DAY_OF_MONTH,aFi.MONTH);case Pft.FIRST_DAY_OF_WEEK:return new pFi(uFi.FIRST_DAY_OF_WEEK,aFi.WEEK);case Pft.PREVIOUS_DAY_OF_WEEK:const n=e instanceof xS?e.parametersValues[0].values[0]?.value.name:fr(e.parameters[0],LT).property;return new gFi(`Previous ${n}`,n);case Pft.ADJUST:return bFi(e,t);default:return new dFi("","")}}},CFi=(e,t)=>{const n=new xS(e);return jft(n,H_.create(new Y_(t))),n},SFi=(e,t,n,i)=>{const r=new gS(H_.create(new Y_(e.getPrimitiveType(t))));return Qft(r,[n],i),r},wFi=(e,t)=>{const n=mn(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},EFi=(e,t)=>{const n=new TS(e.functionName);return Kft(n,gC.create(dr(e.func.value))),$ft(n,e.parametersValues.map(e=>wFi(e)),t),n},xFi=(e,t,n,i)=>{const r=amt(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 SFi(e,r,i?cmt(r):null,n);case Xb.BOOLEAN:return SFi(e,r,cmt(r),n);case Xb.DATE:return SFi(e,Xb.STRICTDATE,i?cmt(r):null,n);default:if(t instanceof eC){const e=new fS(H_.create(new Y_(t)));if(i){if(!(t.values.length>0))throw new yi(`Can't get default value for enumeration since enumeration '${r}' has no value`);Qft(e,[cC.create(t.values[0])],n)}return e}throw new yi(`Can't get default value for type '${r}'`)}},TFi=(e,t)=>G6(((e,t)=>{const n=new RS(new AS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE));return n.expressionSequence[0]=xFi(e,V_.STRING,t,!0),n})(e.graph,t),e),AFi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==V_.BYTE)return new mS(s,H_.create(new Y_(r)));if(r instanceof V_)return((e,t,n)=>{const i=e.name;return i===Xb.DATE||i===Xb.DATETIME?CFi(Pft.NOW,V_.DATETIME):i===Xb.STRICTDATE?CFi(Pft.TODAY,V_.STRICTDATE):i===Xb.DATE?SFi(t,Xb.STRICTDATE,cmt(i),n):SFi(t,i,cmt(i),n)})(r,t,n);if(r instanceof eC){const e=new fS(H_.create(new Y_(r))),t=(o=r,(new My).getRandomItemInCollection(o.values)?.name??"");return""!==t&&Qft(e,[cC.create(Xw(r,t))],n),e}var o},RFi=(e,t,n)=>{if(e instanceof gS)return sE(e.genericType.value.rawType,V_.DATE)?_Fi(e,t).label:e.genericType.value.rawType===V_.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof fS){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof hS?e.name:e instanceof IS?RFi(e.getValue(),t,n):e instanceof xS?void 0!==e.genericType?.value.rawType&&sE(e.genericType.value.rawType,V_.DATE)?_Fi(e,t).label:e.functionName:e instanceof mS?e.values.map(e=>RFi(e,t,n)).join(","):void 0},NFi=(e,t,n)=>{let i=null;if(e instanceof V_)switch(e.path){case Xb.STRING:i=new gS(H_.create(new Y_(e))),Qft(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 gS(H_.create(new Y_(e))),Qft(i,[r],n);break}case Xb.DATE:case Xb.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new gS(H_.create(new Y_(e))),Qft(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 gS(H_.create(new Y_(e))),Qft(i,[t],n);break;default:return null}return i},IFi=(e,t)=>{const n=t?vm:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof TS;){for(r=r.parametersValues[0];r instanceof xS&&O_(r.functionName,Pft.SUBTYPE);){const e=`${Wb}(${n(r.parametersValues.filter(e=>e instanceof pS)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof TS&&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?"/":".")},DFi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof TS;)n=n.parametersValues[0],n instanceof TS&&t.unshift(n.func.value.name);return t.join(".")},kFi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof V_||r instanceof eC)return r===V_.LATESTDATE?new gS(H_.create(new Y_(r))):xFi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new mS(A_.ZERO,H_.create(new Y_(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class OFi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=DFi(t),this.title=IFi(t,!0),this.propertyExpression=Fte(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=fr(t.func.value,dC),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),hS))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=zft(e,i)??dr(t[i]):t.push(zft(e,i)??kFi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),$ft(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 pS)||imt(e))}}class LFi{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=Fte(t,e.observerContext),this.path=DFi(t),this.title=IFi(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 TS;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof K_&&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&&Kft(n,gC.create(t))}if(n.func.value instanceof dC){const e=new OFi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof xS&&O_(n.functionName,Pft.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return mv([fmt.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class MFi{uuid=Mr()}class PFi{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 oQ(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 j0)}}const FFi=(e,t,n,i)=>{const r=new RS(new AS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),s=new B$;s.values=[n];const o=new xS(I_(Pft.RELATION_PROJECT)),a=new SS(A_.ONE,void 0),l=new CS;a.values=[l];const c=new gX([]).build();return i.forEach((e,t)=>{const n=new bS;n.name=t,n.function1=new dS(WN(nq(e,c))),l.colSpecs.push(n)}),o.parametersValues=[s,a],r.expressionSequence=[o],G6(r,t)},BFi=(e,t,n)=>{let i=e.body;return n.length&&(i=Array.isArray(e.body)?[...n,...e.body]:[...n,e.body]),new lS([...Array.isArray(e.parameters)?e.parameters:[],...t],i)},VFi="PROJECTION_COLUMN";class UFi extends MFi{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 GFi extends UFi{lambdaParameterName=Aft;propertyExpressionState;constructor(e,t,n){super(e,""),hd(this,{lambdaParameterName:Rc,propertyExpressionState:Rc,setLambdaParameterName:Pu,changeProperty:Pu}),this.propertyExpressionState=new LFi(e.queryBuilderState,t),this.columnName=IFi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>pmt(e,t))))}changeProperty(e,t){this.propertyExpressionState=new LFi(this.tdsState.queryBuilderState,EGi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=IFi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return mv([fmt.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class HFi extends UFi{lambdaParameterName=Aft;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([fmt.RELATION_COLUMN_PROJECTION_COLUMN_STATE,this.column.name,this.columnName])}}class zFi extends PFi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return kte([Cft.QUERY_BUILDER,Cft.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=xj();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 rQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.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 lS(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(PS.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class jFi extends UFi{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 zFi(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 K_){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(PS.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedAccessorRawLambda(e){const{graphManagerState:t}=this.tdsState.queryBuilderState,n=FFi(t.graph,t,e,new Map([[this.columnName,this.lambda]]));return BFi(n,this.tdsState.getParameters(),this.tdsState.getLetExpressions())}getIsolatedClassRawLambda(){const e=fr(this.tdsState.queryBuilderState.sourceElement,K_,"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 cS(n.name,A_.ONE,C_.create(dr(e))),s=i.graphManagerState.graphManager.serializeRawValueSpecification(r);return BFi(new lS([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 V_||e instanceof eC,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(e)}getColumnType(){return this.returnType}get hashCode(){return mv([fmt.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class WFi{uuid=Mr();constructor(){hd(this,{getOperator:kc,allValidationIssues:kc,hashCode:kc})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof GFi?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 $Fi extends MFi{aggregationState;projectionColumnState;lambdaParameterName=Aft;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 jFi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return mv([fmt.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class qFi{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 $Fi(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([fmt.AGGREGATION_STATE,mv(this.columns)])}}const YFi=(e,t,n)=>{const i=new xS(I_(e));return i.parametersValues.push(new hS(t,A_.ONE)),i},KFi=(e,t,n,i,r)=>{if(O_(n.functionName,i)){const s=new $Fi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),br(1===n.parametersValues.length,`Can't process ${I_(i)}() expression: ${I_(i)}() expects no argument`);const o=fr(n.parametersValues[0],hS,`Can't process ${I_(i)}() expression: only support ${I_(i)}() immediately following a variable expression`);return br(s.lambdaParameterName===o.name,`Can't process ${I_(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),br(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${I_(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class XFi extends WFi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi(Pft.AVERAGE,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.AVERAGE,this)}getReturnType(e){return V_.FLOAT}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_AVERAGE])}}class ZFi extends WFi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof GFi){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 eC}return!0}buildAggregateExpression(e,t,n){return YFi(Pft.COUNT,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.COUNT,this)}getReturnType(e){return V_.INTEGER}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_COUNT])}}class QFi extends WFi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof GFi){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 eC}return!0}buildAggregateExpression(e,t,n){const i=new xS(I_(Pft.DISTINCT));i.parametersValues.push(new hS(t,A_.ONE));const r=new xS(I_(Pft.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(O_(e.functionName,Pft.COUNT)){const i=new $Fi(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],xS,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);br(O_(r.functionName,Pft.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],hS,"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 V_.INTEGER}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class JFi extends WFi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Pft.DATE_MAX:Pft.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof GFi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!O_(e.functionName,Pft.MAX))return;return KFi(n,t,e,Pft.MAX,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!O_(e.functionName,Pft.DATE_MAX))return;return KFi(n,t,e,Pft.DATE_MAX,this);default:return}}return O_(e.functionName,Pft.MAX)?KFi(n,t,e,Pft.MAX,this):O_(e.functionName,Pft.DATE_MAX)?KFi(n,t,e,Pft.DATE_MAX,this):void 0}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_MAX])}}class eBi extends WFi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Pft.DATE_MIN:Pft.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof GFi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!O_(e.functionName,Pft.MIN))return;return KFi(n,t,e,Pft.MIN,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!O_(e.functionName,Pft.DATE_MIN))return;return KFi(n,t,e,Pft.DATE_MIN,this);default:return}}return O_(e.functionName,Pft.MIN)?KFi(n,t,e,Pft.MIN,this):O_(e.functionName,Pft.DATE_MIN)?KFi(n,t,e,Pft.DATE_MIN,this):void 0}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_MIN])}}class tBi extends WFi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi(Pft.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.STD_DEV_POPULATION,this)}getReturnType(e){return V_.NUMBER}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class nBi extends WFi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi(Pft.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.STD_DEV_SAMPLE,this)}getReturnType(e){return V_.NUMBER}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class iBi extends WFi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi(Pft.SUM,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.SUM,this)}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_SUM])}}class rBi{columnState;sortType=Bft.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([fmt.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class sBi{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([fmt.RESULT_SET_MODIFIER_STATE,mv(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var oBi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(oBi||(oBi={}));class aBi{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 lBi{uuid=Mr();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const cBi=(e,t)=>dr(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),uBi=e=>{if(e instanceof eC)return Fft.GET_ENUM;switch(e.path){case Xb.STRING:return Fft.GET_STRING;case Xb.NUMBER:return Fft.GET_NUMBER;case Xb.INTEGER:return Fft.GET_INTEGER;case Xb.FLOAT:return Fft.GET_FLOAT;case Xb.DECIMAL:return Fft.GET_DECIMAL;case Xb.DATE:return Fft.GET_DATE;case Xb.DATETIME:return Fft.GET_DATETIME;case Xb.STRICTDATE:return Fft.GET_STRICTDATE;case Xb.BOOLEAN:return Fft.GET_BOOLEAN;default:throw new yi(`Can't find TDS column derived property name for type: '${e.path}'`)}};var dBi;!function(e){e.AND="and",e.OR="or"}(dBi||(dBi={}));const hBi=e=>{switch(e){case dBi.AND:return Pft.AND;case dBi.OR:return Pft.OR;default:throw new yi(`Can't derive function name from group operation '${e}'`)}},pBi=e=>{if(O_(e,Pft.AND))return dBi.AND;if(O_(e,Pft.OR))return dBi.OR;throw new yi(`Can't derive group operation from function name '${e}'`)},gBi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;br(Object.values(Fft).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(Fft).join(",")}`);const r=i,s=e.parametersValues[1],o=Ar(fr(s,gS,"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=cBi(n,o);if(r!==Fft.IS_NULL&&r!==Fft.IS_NOT_NULL){if(a instanceof jFi){const e=cVi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof $Fi&&a.projectionColumnState instanceof jFi){const e=cVi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=dr(a.getColumnType());br(uBi(e)===r,`Can't process TDS column expression: expected column type ${uBi(e)} (got ${r})`)}return a},fBi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof TS&&t.func.value.name===s){const n=gBi(t,e);return r=new vVi(e,n,i),r}if(n&&O_(t.functionName,n)){br(2===t.parametersValues.length,`Can't process ${I_(n)}() expression: ${I_(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof TS)o=gBi(s,e);else{if(!(s instanceof ES))throw new yi(`Can't process ${I_(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=cBi(e.tdsState,t)}}const a=t.parametersValues[1];r=new vVi(e,o,i),((e,t)=>{if(e instanceof TS){const n=_i(()=>gBi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new mVi(t,n))}const n=e?gmt(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new fVi(t,n))})(a,r),br(i.isCompatibleWithPostFilterColumn(r),`Can't process ${I_(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},mBi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!O_(e.functionName,[Pft.AND,Pft.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new hVi(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 dVi(n,pBi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>mBi(fr(e,ES,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},vBi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?WY(r.expressionSequence[0]):void 0,o=new hS(e.postFilterState.lambdaParameterName,A_.ONE);if(s){const e=dr(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new ES(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new TS("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=dr(t.getColumnType());r=uBi(e)}e.func=gC.create(dr(tE(n.getClass(Oft.TDS_ROW)).find(e=>e.name===r)));const a=new gS(H_.create(new Y_(V_.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},yBi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=vBi(e,e.leftConditionValue,r,t,i);if(n){const t=new xS(I_(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class bBi extends lBi{getLabel(){return"starts with"}isCompatibleWithType(e){return amt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return xFi(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 yBi(e,this,Pft.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return fBi(e,t,Pft.STARTS_WITH,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_START_WITH])}}class _Bi extends bBi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?smt(n):void 0}buildPostFilterConditionState(e,t){const n=rmt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_NOT_START_WITH])}}const CBi=e=>e.getValue()instanceof IS?CBi(fr(e.getValue(),IS)):e.getValue(),SBi=(e,t,n,i,r)=>{const s=new TS("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof TS;){if(o=a.parametersValues[0],o instanceof TS){const e=new TS("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,qft(a,e,0,t.observerContext)}if(a instanceof TS&&a.func.value instanceof dC)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof K_&&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&&(Kft(a,gC.create(n)),$ft(a,[dr(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof IS&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof IS&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=CBi(t):e.parametersValues=[dr(fr(a,TS).parametersValues[0])]:e.parametersValues[n+1]=CBi(t))})}for(a=o;a instanceof xS&&O_(a.functionName,Pft.SUBTYPE);)a=a.parametersValues[0]}return a instanceof hS&&Xft(a,n),s};var wBi;!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"}(wBi||(wBi={}));const EBi=e=>{let t=e;for(;t instanceof TS;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof xS&&O_(t.functionName,Pft.SUBTYPE);)t=t.parametersValues[0]}return!1};class xBi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return mv([fmt.FILTER_CONDITION_RIGHT_VALUE])}}class TBi extends xBi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof mS?nmt(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?tmt(this.value):void 0}setValue(e){return this.value=e?nne(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof mS}get hashCode(){return mv([fmt.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class ABi extends xBi{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 EBi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class RBi{}class NBi extends RBi{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(SBi(this.propertyExpressionState.propertyExpression,e,t))}get hashCode(){return mv([fmt.FILTER_CONDITION_SOURCE_PROPERTY_EXPRESSION,this.propertyExpressionState])}}class IBi extends RBi{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 ES(e.name);return i.func=e,i.parametersValues=[new hS(t,A_.ONE)],i}throw new vi(`Can't build expression for relation column '${this.columnName}': no source relation type`)}get hashCode(){return mv([fmt.FILTER_CONDITION_SOURCE_RELATION_COLUMN,this.columnName])}}class DBi{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 TS?new NBi(new LFi(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,NBi,"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,TBi),n=e??t.value;if(aVi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(sVi(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=oVi(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 mS&&this.rightConditionValue instanceof TBi&&this.rightConditionValue.value instanceof pS&&imt(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?Qft(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof pS&&this.rightConditionValue instanceof TBi&&this.rightConditionValue.value instanceof mS&&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 TBi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new TBi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof ABi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new ABi(this,e))}get hashCode(){return mv([fmt.FILTER_CONDITION_STATE,this.sourceState,this.rightConditionValue??"",this.operator])}}class kBi{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 OBi extends kBi{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 LBi extends OBi{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([fmt.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class MBi extends OBi{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 LFi(this.filterState.queryBuilderState,e)}get hashCode(){return mv([fmt.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const PBi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof MBi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class FBi extends kBi{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([fmt.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class BBi extends kBi{constructor(e){super(e),hd(this,{dragPreviewLabel:kc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return mv([fmt.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class VBi{queryBuilderState;lambdaParameterName=Aft;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),OBi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof LBi)t.addChildNode(e);else if(t instanceof FBi||t instanceof BBi||t instanceof MBi){const n=new LBi(void 0,dBi.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 LBi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof MBi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new LBi(void 0,dBi.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 FBi||t instanceof BBi){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 LBi(void 0,dBi.AND),n=new BBi(void 0),i=new BBi(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 LBi(void 0,n??dBi.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 BBi(void 0);if(t instanceof FBi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new LBi(void 0,dBi.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 OBi&&[...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(LBi)).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 LBi&&!(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 BBi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(LBi)).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 BBi)throw new vi("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof FBi});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(LBi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof LBi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=fr(this.nodes.get(dr(e.parentId)),LBi);[...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(FBi)).map(e=>e.condition.rightConditionValue instanceof TBi?e.condition.rightConditionValue.value:void 0).filter(cr).find(t=>pmt(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof FBi&&!e.condition.sourceState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof FBi&&e.condition.rightConditionValue instanceof TBi&&e.condition.rightConditionValue.value instanceof pS&&!imt(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof FBi&&e.condition.rightConditionValue instanceof ABi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof FBi&&(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 ABi&&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([fmt.FILTER_STATE,mv(this.rootIds),mv(Array.from(this.nodes.values()))])}}const UBi=(e,t)=>{if(t instanceof FBi){const n=t.parentId?fr(e.nodes.get(t.parentId),OBi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof LBi){const n=new xS(I_(hBi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>UBi(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 xS(I_(hBi(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 MBi){const n=new xS(I_(Pft.EXISTS));let i=t.parentId?fr(e.nodes.get(dr(t.parentId)),OBi):void 0;for(;i&&!(i instanceof LBi);)i=i.parentId?fr(e.nodes.get(dr(i.parentId)),OBi):void 0;const r=t.parentId?fr(e.nodes.get(dr(t.parentId)),OBi).lambdaParameterName:void 0,s=dr(SBi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>UBi(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 xS(dr(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=umt([t.lambdaParameterName??Aft],o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new xS(I_(hBi(dr(i).groupOperation)));l.parametersValues=a;const c=umt([t.lambdaParameterName??Aft],[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var GBi,HBi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(GBi||(GBi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(HBi||(HBi={}));const zBi=(e,t)=>{const n=new RS(new AS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new xS(I_(exports.SUPPORTED_FUNCTIONS.LET)),n=new gS(H_.create(new Y_(V_.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(cr),n},jBi=e=>e.value instanceof xS&&[A_.ONE,A_.ZERO_ONE].some(t=>cE(t,e.parameter.multiplicity)),WBi=e=>e.filter(jBi),$Bi=(e,t)=>e.filter(e=>!jBi(e)).map(e=>{const n=new pY;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(dr(e.value)),n}),qBi=(e,t,n)=>{const i=((e,t)=>{const n=WBi(e);if(n.length>0){const i=zBi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),G6(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class YBi{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=Lte(e),this.graph=n}get hashCode(){return mv([HBi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(AFi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof hS)throw new vi("Can not assign a parameter to another parameter");this.value=e?nne(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(jft(this.parameter,H_.create(new Y_(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;cE(n,t)||(Wft(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class KBi{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 XBi{parameterStates=[];parameterValuesEditorState=new KBi;constructor(){hd(this,{hashCode:kc})}get hashCode(){return mv([HBi.LAMBDA_PARAMETERS_STATE,mv(this.parameterStates)])}addParameter(e){jr(this.parameterStates,e)}removeParameter(e){$r(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class ZBi{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 QBi extends ZBi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class JBi extends ZBi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}}const eVi=(e,t)=>{const n=new xS(I_(Mft.GET_ALL)),i=new pS(t,H_.create(new Y_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n},tVi=(e,t)=>{const n=new xS(I_(Mft.GET_ALL_VERSIONS)),i=new pS(t,H_.create(new Y_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n},nVi=(e,t)=>{const n=new RS(new AS(C_.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),i=dr(e.sourceElement,"Source element of type class or accessor is required to build query");if(i instanceof K_){const i=dr(e.sourceClass,"Class is required to build query"),r=Kw(i,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=tVi(i,A_.ONE);n.expressionSequence[0]=e}else switch(e.getAllFunction){case Mft.GET_ALL_VERSIONS:if(!r)throw new yi("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=tVi(i,A_.ONE);n.expressionSequence[0]=e}break;case Mft.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 xS(I_(Mft.GET_ALL_VERSIONS_IN_RANGE)),i=new pS(t,H_.create(new Y_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n})(i,A_.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),n.expressionSequence[0]=t}break;case Mft.GET_ALL:{const t=eVi(i,A_.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 B$;e.values=[i],n.expressionSequence[0]=e}if(((e,t)=>{if(!e.value)return;const n=dr(t.expressionSequence[0]),i=new xS(I_(Pft.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=>UBi(e,t)).filter(cr);if(!n.length)return;const i=new xS(I_(Pft.FILTER)),r=dr(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(umt([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=WBi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=zBi(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},iVi=(e,t,n)=>{const i=new TS("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof TS;){if(r=s.parametersValues[0],r instanceof TS){const e=new TS("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof TS&&s.func.value.genericType.value.rawType instanceof K_&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof dC&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=CFi(Pft.NOW,V_.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];$ft(s,[dr(s.parametersValues[0]),...t],n)}for(s=r;s instanceof xS&&O_(s.functionName,Pft.SUBTYPE);)s=s.parametersValues[0]}return s instanceof hS&&Xft(s,t),i},rVi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new yi("Can't build typeahead query");const a=new RS(new AS(C_.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),l=dr(e.sourceClass),c=eVi(dr(e.sourceClass),A_.ONE),u=Kw(l,e.graphManagerState.graph);u&&e.milestoningState.getMilestoningImplementation(u).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const d=t?IFi(t,!1):s;if(n){const r=new xS(I_(Pft.TDS_GROUP_BY)),s=new mS(A_.ZERO),o=new mS(A_.ONE),l=new mS(A_.ONE),c=new gS(H_.create(new Y_(V_.STRING)));c.values.push(d),l.values.push(c);const u=t?umt([Aft],[t],e.graphManagerState.graph):i,h=new xS(I_(Pft.TDS_AGG)),p=umt([Aft],[n.buildAggregateExpression(t,Aft,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 xS(I_(Pft.TDS_PROJECT)),r=new mS(A_.ONE),s=new mS(A_.ONE),o=new gS(H_.create(new Y_(V_.STRING)));o.values.push(d),s.values.push(o);const l=t?umt([Aft],[t],e.graphManagerState.graph):i;r.values.push(dr(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new bBi,p=new TS("");let g;const f=h.getTDSColumnGetter();if(f)g=f;else{const e=t?.func.value.genericType.value.rawType??r;g=uBi(dr(e))}p.func=gC.create(dr(tE(e.graphManagerState.graph.getClass(Oft.TDS_ROW)).find(e=>e.name===g)));const m=new hS(Rft,A_.ONE),v=new gS(H_.create(new Y_(V_.STRING)));v.values=[d],p.parametersValues=[m,v];const y=new xS(I_(Pft.STARTS_WITH));y.parametersValues.push(p),o&&y.parametersValues.push(o);const b=umt([Rft],[y],e.graphManagerState.graph),_=new xS(I_(Pft.TDS_FILTER)),C=dr(a.expressionSequence[0]);_.parametersValues=[C,b],a.expressionSequence[0]=_;let S=a.expressionSequence[0];const w=new xS(I_(Pft.TDS_DISTINCT));w.parametersValues[0]=S,S=w;const E=new gS(H_.create(new Y_(V_.INTEGER)));E.values=[10];const x=new xS(I_(Pft.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=E,S=x,a.expressionSequence[0]=S,G6(a,e.graphManagerState)},sVi=(e,t,n)=>{const i=iVi(t,Aft,e.observerContext);return rVi(e,i,void 0,void 0,void 0,void 0,n)},oVi=e=>{const t=fr(e,uZ,"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},aVi=e=>{if(e instanceof gS){if(e.genericType.value.rawType.path===Xb.STRING){return e.values[0].length>=2}return!1}return!1};var lVi;!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"}(lVi||(lVi={}));const cVi=(e,t)=>{switch(e){case Fft.GET_STRING:return V_.STRING;case Fft.GET_NUMBER:return V_.NUMBER;case Fft.GET_INTEGER:return V_.INTEGER;case Fft.GET_FLOAT:return V_.FLOAT;case Fft.GET_DECIMAL:return V_.DECIMAL;case Fft.GET_DATE:return V_.DATE;case Fft.GET_DATETIME:return V_.DATETIME;case Fft.GET_STRICTDATE:return V_.STRICTDATE;case Fft.GET_BOOLEAN:return V_.BOOLEAN;default:return}};class uVi{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 dVi extends uVi{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([fmt.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.groupOperation])}}class hVi extends uVi{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([fmt.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class pVi extends uVi{constructor(e){super(e),hd(this,{dragPreviewLabel:kc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return mv([fmt.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class gVi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return mv([fmt.POST_FILTER_CONDITION_RIGHT_VALUE])}}class fVi extends gVi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof mS?nmt(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?tmt(this.value):void 0}setValue(e){return this.value=e?nne(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 mS}get hashCode(){return mv([fmt.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class mVi extends gVi{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=vBi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class vVi{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 fVi(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 fVi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new fVi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof UFi||this.leftConditionValue instanceof $Fi?this.leftConditionValue:void 0,n=dr(t),i=fr(this.rightConditionValue,fVi),r=e??i.value;if(aVi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof UFi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof jFi?(s=new dS(WN(nq(l.lambda,new gX([]).build()))),o=l.columnName,a=l.returnType):i=iVi(fr(l,GFi).propertyExpressionState.propertyExpression,Aft,e.observerContext),rVi(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=oVi(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 jFi&&(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([fmt.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class yVi{tdsState;lambdaParameterName=Rft;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),dVi):void 0}get referencedTDSColumns(){return li(Array.from(this.nodes.values()).filter(pr(hVi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof mVi?[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 dVi)t.addChildNode(e);else if(t instanceof hVi||t instanceof pVi){const n=new dVi(void 0,dBi.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 dVi(void 0,dBi.AND),n=new pVi(void 0),i=new pVi(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 pVi(void 0);if(t instanceof hVi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new dVi(void 0,dBi.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 dVi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof hVi||t instanceof pVi){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 dVi&&[...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(dVi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return fr(this.nodes.get(e.parentId),dVi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=fr(this.nodes.get(dr(e.parentId)),dVi);[...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(dVi)).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 pVi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(dVi)).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 pVi)throw new vi("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof hVi});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(hVi)).map(e=>e.condition.rightConditionValue).filter(pr(fVi)).map(e=>e.value).filter(cr).find(t=>pmt(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof hVi&&(t.condition.rightConditionValue instanceof fVi&&t.condition.rightConditionValue.value instanceof pS&&!imt(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof GFi&&!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 hVi&&e.condition.rightConditionValue instanceof fVi&&e.condition.rightConditionValue.value instanceof pS&&!imt(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof hVi&&e.condition.leftConditionValue instanceof GFi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return mv([fmt.POST_FILTER_STATE,mv(this.rootIds),mv(Array.from(this.nodes.values()))])}}class bVi extends lBi{getLabel(){return"is in list of"}isCompatibleWithType(e){const t=amt(e);return void 0!==t&&[Xb.STRING,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t)||e instanceof eC}isCompatibleWithConditionValue(e){const t=dr(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof fVi){const i=n.value;if(i instanceof mS){if(0===i.values.length)return!0;const n=nmt(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 hS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());return new mS(A_.ONE,H_.create(new Y_(t)))}buildPostFilterConditionExpression(e,t){return yBi(e,this,Pft.IN,t)}buildPostFilterConditionState(e,t){return fBi(e,t,Pft.IN,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_IN])}}class _Vi extends bVi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?smt(n):void 0}buildPostFilterConditionState(e,t){const n=rmt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_NOT_IN])}}class CVi extends lBi{getLabel(){return"is empty"}getTDSColumnGetter(){return Fft.IS_NULL}isCompatibleWithType(e){return e instanceof V_||e instanceof U_||e instanceof eC}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof fVi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof GFi)||omt(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return yBi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return fBi(e,t,void 0,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_IS_EMPTY])}}class SVi extends CVi{getLabel(){return"is not empty"}getTDSColumnGetter(){return Fft.IS_NOT_NULL}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class wVi extends lBi{getLabel(){return"is"}isCompatibleWithType(e){const t=amt(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 eC&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&lmt(e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());return xFi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return yBi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Pft.IS_ON_DAY:Pft.EQUAL,t)}buildPostFilterConditionState(e,t){return fBi(e,t,t.parametersValues[0]instanceof TS&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_DAY:Pft.EQUAL,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_EQUAL])}}class EVi extends wVi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?smt(n):void 0}buildPostFilterConditionState(e,t){const n=rmt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_NOT_EQUAL])}}class xVi extends lBi{getLabel(){return"<"}isCompatibleWithType(e){const t=amt(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return lmt(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 xFi(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 yBi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Pft.IS_BEFORE_DAY:Pft.LESS_THAN,t)}buildPostFilterConditionState(e,t){return fBi(e,t,t.parametersValues[0]instanceof TS&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_BEFORE_DAY:Pft.LESS_THAN,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_LESS_THAN])}}class TVi extends xVi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return yBi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Pft.IS_ON_OR_BEFORE_DAY:Pft.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return fBi(e,t,t.parametersValues[0]instanceof TS&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_OR_BEFORE_DAY:Pft.LESS_THAN_EQUAL,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class AVi extends lBi{getLabel(){return">"}isCompatibleWithType(e){const t=amt(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return lmt(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 xFi(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 yBi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Pft.IS_AFTER_DAY:Pft.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return fBi(e,t,t.parametersValues[0]instanceof TS&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_AFTER_DAY:Pft.GREATER_THAN,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_GREATER_THAN])}}class RVi extends AVi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return yBi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Pft.IS_ON_OR_AFTER_DAY:Pft.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return fBi(e,t,t.parametersValues[0]instanceof TS&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_OR_AFTER_DAY:Pft.GREATER_THAN_EQUAL,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class NVi extends lBi{getLabel(){return"contains"}isCompatibleWithType(e){return amt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());if(t.path===Xb.STRING)return xFi(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 yBi(e,this,Pft.CONTAINS,t)}buildPostFilterConditionState(e,t){return fBi(e,t,Pft.CONTAINS,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_CONTAIN])}}class IVi extends NVi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?smt(n):void 0}buildPostFilterConditionState(e,t){const n=rmt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class DVi extends lBi{getLabel(){return"ends with"}isCompatibleWithType(e){return amt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return xFi(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 yBi(e,this,Pft.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return fBi(e,t,Pft.ENDS_WITH,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_END_WITH])}}class kVi extends DVi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?smt(n):void 0}buildPostFilterConditionState(e,t){const n=rmt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_NOT_END_WITH])}}class OVi extends WFi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof GFi){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 eC}return!0}buildAggregateExpression(e,t,n){return YFi(Pft.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.UNIQUE_VALUE_ONLY,this)}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_DISTINCT])}}class LVi extends WFi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof GFi)||V_.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new xS(I_(Pft.JOIN_STRINGS)),r=new gS(H_.create(new Y_(V_.STRING)));return r.values=[";"],i.parametersValues.push(new hS(t,A_.ONE),r),i}buildAggregateColumnState(e,t,n){if(O_(e.functionName,Pft.JOIN_STRINGS)){const i=new $Fi(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],hS,"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],gS,"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 V_.STRING}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_JOIN_STRING])}}class MVi extends WFi{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 GFi){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 xS(I_(Pft.PERCENTILE)),s=new gS(H_.create(new Y_(V_.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new hS(t,A_.ONE),s);else{const e=new gS(H_.create(new Y_(V_.BOOLEAN)));e.values=[this.acending];const n=new gS(H_.create(new Y_(V_.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new hS(t,A_.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(O_(e.functionName,Pft.PERCENTILE)){const i=new $Fi(n.tdsState.aggregationState,n,new MVi),r=fr(i.operator,MVi);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],hS,"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],gS,"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],gS,"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],gS,"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 MVi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_PERCENTILE])}}class PVi extends WFi{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 GFi){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 YFi(Pft.WAVG,t)}buildAggregateColumnState(e,t,n){if(O_(e.functionName,Pft.WAVG)){const e=new $Fi(n.tdsState.aggregationState,n,new PVi),i=fr(e.operator,PVi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new PVi}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_WAVG])}}const FVi="WINDOW_COLUMN";class BVi{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([fmt.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class VVi{windowState;lambdaParameterNames=[Aft];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([fmt.TDS_WINDOW_GROUPBY_OPERATION_STATE,mv(this.lambdaParameterNames),this.operator])}}class UVi extends VVi{constructor(e,t){super(e,t),hd(this,{setLambdaParameterNames:Pu})}}class GVi extends VVi{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([fmt.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,mv(this.lambdaParameterNames),this.operator,this.columnState.columnName])}}class HVi extends MFi{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 GVi?[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 UVi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new GVi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof GVi?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 BVi(dr(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return mv([fmt.TDS_WINDOW_COLUMN_STATE,mv(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class zVi{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 GVi&&t.operatorState.columnState instanceof HVi){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?O_(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([fmt.TDS_WINDOW_GROUPBY_STATE,mv(this.windowColumns)])}}const jVi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new gS(H_.create(new Y_(V_.STRING)));return t.values=[e.columnName],t}),r=new mS(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new xS((e=>{switch(e){case Bft.ASC:return I_(Pft.TDS_ASC);case Bft.DESC:return I_(Pft.TDS_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new gS(H_.create(new Y_(V_.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=o.lambdaParameterNames[0]??Vmt,l=I_(dr(o.operator.pureFunc,`Operator '${o.operator.getLabel()}' does not have a compatible OLAP function`)),c=new xS(l);c.parametersValues=[new hS(a,A_.ONE)];const u=umt([a],[c],n);let d;if(o instanceof GVi){const e=new gS(H_.create(new Y_(V_.STRING)));e.values=[o.columnState.columnName],d=new xS(I_(Pft.TDS_FUNC)),d.parametersValues=[e,u]}const h=d??u,p=new gS(H_.create(new Y_(V_.STRING)));p.values=[e.columnName];const g=new xS(I_(Pft.OLAP_GROUPBY)),f=dr(t.expressionSequence[0]);return g.parametersValues=[f,r,...s?[s]:[],h,p],t.expressionSequence[0]=g,t},WVi=e=>{const t=new xS(I_(Pft.RELATION_OVER)),n=new SS(A_.ONE,void 0),i=new CS;if(n.values=[i],e.windowColumns.forEach(e=>{const t=new bS;t.name=e.columnName,i.colSpecs.push(t)}),t.parametersValues.push(n),e.sortByState){const n=e.sortByState,i=new xS((e=>{switch(e){case Bft.ASC:return I_(Pft.RELATION_ASC);case Bft.DESC:return I_(Pft.RELATION_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(n.sortType)),r=new _S(A_.ONE,void 0),s=new bS;s.name=n.columnState.columnName,r.values=[s],i.parametersValues[0]=r;const o=new mS(A_.ONE);o.values=[i],t.parametersValues.push(o)}return t},$Vi=(e,t)=>(e.tdsState.queryBuilderState.isFetchStructureTyped?e.windowColumns.forEach(e=>((e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=WVi(e),r=new SS(A_.ONE,void 0),s=new CS;r.values=[s];const o=new bS;o.name=e.columnName;const a=e.operatorState;if(1===a.lambdaParameterNames.length&&a.setLambdaParameterNames([Nft,Ift,Dft]),a instanceof GVi&&a.operator.relationFunc){const e=I_(a.operator.relationFunc),[l=Nft,c=Ift,u=Dft,d=Vmt]=a.lambdaParameterNames,h=new ES(a.columnState.columnName);h.func=new $_(a.columnState.columnName,H_.create(new Y_(V_.STRING))),h.parametersValues=[new hS(u,A_.ONE)];const p=umt([l,c,u],[h],n);o.function1=p;const g=new xS(e);g.parametersValues=[new hS(d,A_.ONE)];const f=umt([d],[g],n);o.function2=f,s.colSpecs.push(o);const m=new xS(I_(Pft.RELATION_EXTEND)),v=dr(t.expressionSequence[0]);return m.parametersValues=[v,i,r],t.expressionSequence[0]=m,t}if(a instanceof UVi&&a.operator.relationFunc){const e=I_(a.operator.relationFunc),l=new xS(e),[c=Nft,u=Ift,d=Dft]=a.lambdaParameterNames;e===I_(Pft.RELATION_ROW_NUMBER)?l.parametersValues=[new hS(c,A_.ONE),new hS(d,A_.ONE)]:l.parametersValues=[new hS(c,A_.ONE),new hS(u,A_.ONE),new hS(d,A_.ONE)];const h=umt([c,u,d],[l],n);o.function1=h,s.colSpecs.push(o);const p=new xS(I_(Pft.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=>jVi(e,t)),t),qVi=(e,t,n)=>{if(t instanceof hVi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof dVi){const i=new xS(I_(hBi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>qVi(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 xS(I_(hBi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class YVi{_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[Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Bft.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 xS(I_(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new xS(I_(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new mS(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 xS(I_(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new gS(H_.create(new Y_(V_.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 xS(I_(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 gS(H_.create(new Y_(V_.INTEGER))),r=new gS(H_.create(new Y_(V_.INTEGER)));i.values=[t],r.values=[n];const s=new xS(I_(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 xS&&O_(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 KVi extends YVi{get limitFunctionName(){return Pft.TDS_TAKE}get sliceFunctionName(){return Pft.SLICE}get sortFunctionName(){return Pft.TDS_SORT}get distinctFunctionName(){return Pft.TDS_DISTINCT}get ascFunctionname(){return Pft.TDS_ASC}get descFunctionName(){return Pft.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new gS(H_.create(new Y_(V_.STRING)));return t.values=[e],t})(e)}}class XVi extends YVi{get limitFunctionName(){return Pft.RELATION_LIMIT}get sliceFunctionName(){return Pft.RELATION_SLICE}get ascFunctionname(){return Pft.RELATION_ASC}get descFunctionName(){return Pft.RELATION_DESC}get sortFunctionName(){return Pft.RELATION_SORT}get distinctFunctionName(){return Pft.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new _S(A_.ONE,void 0),n=new bS;return n.name=e,t.values=[n],t}}const ZVi=(e,t,n)=>{const i=e.queryBuilderState,r=new xS(I_(Pft.TDS_PROJECT)),s=new mS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new mS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));return e.projectionColumns.forEach(t=>{const i=new gS(H_.create(new Y_(V_.STRING)));i.values.push(t.columnName),o.values.push(i),s.values.push(((e,t,n)=>{if(t instanceof GFi)return umt([t.lambdaParameterName],[SBi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);if(t instanceof jFi)return new dS(WN(nq(t.lambda,new gX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())));throw new yi("Can't build project() column expression: unsupported projection column state",t)})(e,t,n))}),r.parametersValues=[t,s,o],r},QVi=(e,t,n)=>{const i=e.queryBuilderState,r=new xS(I_(Pft.TDS_PROJECT)),s=new mS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));return e.projectionColumns.forEach(t=>{s.values.push(((e,t,n)=>{const i=new xS(I_(Pft.TDS_COL));let r;if(t instanceof GFi)r=umt([t.lambdaParameterName],[SBi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof jFi))throw new yi("Can't build project() column expression: unsupported projection column state",t);r=new dS(WN(nq(t.lambda,new gX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new gS(H_.create(new Y_(V_.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,t,n))}),r.parametersValues=[t,s],r},JVi=(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 xS(I_(Pft.TDS_GROUP_BY)),o=new mS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new mS(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new mS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new gS(H_.create(new Y_(V_.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 GFi)c=umt([t.lambdaParameterName],[SBi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof jFi))throw new yi("Can't build project() column expression: unsupported projection column state",t);c=new dS(WN(nq(t.lambda,new gX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof PVi&&s.setLambdaParameterName("y");const e=new xS(I_(Pft.TDS_AGG)),t=umt([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 xS&&(n=umt([dr(s.calendarFunction).lambdaParameterName],[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof PVi&&s.operator.weight&&s.projectionColumnState instanceof GFi&&c instanceof NS){const e=new xS(Pft.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof NS?Gr(n.values,0).expressionSequence[0]=e:c instanceof NS&&(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)switch(e.resolveProjectionMode){case yUi.PROJECT:if(i.useRelation){const i=((e,t,n)=>{const i=new xS(I_(Pft.RELATION_PROJECT)),r=t.queryBuilderState,s=new SS(A_.ONE,void 0),o=new CS;s.values=[o];const a=new q_(q_.ID);t.projectionColumns.forEach(e=>{const t=new bS;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof GFi)i=umt([e.lambdaParameterName],[SBi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else if(e instanceof HFi){const t=e.column,n=new ES(t.name),s=new hS(e.lambdaParameterName,A_.ONE,void 0);n.func=t,n.parametersValues=[s],i=umt([e.lambdaParameterName],[n],r.graphManagerState.graph)}else{if(!(e instanceof jFi))throw new yi("Can't build relation project() column expression: unsupported projection column state",e);i=new dS(WN(nq(e.lambda,new gX([]).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 $_(e.columnName,H_.create(new Y_(s))))}),i.parametersValues=[e,s];const l=new Y_(jY.INSTANCE),c=new Y_(a);return l.typeArguments=[H_.create(c)],i.genericType=H_.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=fr(e,xS);if(n.functionName!==I_(Pft.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new xS(I_(Pft.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new SS(A_.ONE,void 0),o=new CS;s.values=[o];const a=new SS(A_.ONE,void 0),l=new CS;a.values=[l];const c=new q_(q_.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new bS;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 $_(e.columnName,H_.create(new Y_(n))))}),t.aggregationState.columns.forEach(e=>{const t=new bS;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,NS).values[0]?.expressionSequence[0],TS),o=fr(s.func.value,Q_),a=new TS("");a.func=gC.create(new Q_(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new hS(Vmt,A_.ONE)];const u=umt([Vmt],[a],r.graphManagerState.graph);t.function1=u;const d=umt([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 $_(e.columnName,H_.create(new Y_(h))))}),i.parametersValues=[e,s,a];const u=new Y_(jY.INSTANCE),d=new Y_(c);return u.typeArguments=[H_.create(d)],i.genericType=H_.create(u),i})(i,e):null;t.expressionSequence[0]=s??i}else t.expressionSequence[0]=ZVi(e,r,n);break;case yUi.PROJECT_COL:if(i.useRelation)throw new yi(`Can't build projection: '${yUi.PROJECT_COL}' mode is not supported with relation queries`);t.expressionSequence[0]=QVi(e,r,n);break;case yUi.SELECT:if(!i.useRelation)throw new yi(`Can't build projection: '${yUi.SELECT}' mode requires a relation query`);t.expressionSequence[0]=((e,t)=>{const n=new xS(I_(Pft.RELATION_SELECT)),i=new SS(A_.ONE,void 0),r=new CS;return i.values=[r],e.projectionColumns.forEach(e=>{if(e instanceof jFi)throw new yi(`Can't build select(~[...]) expression: derivation column '${e.columnName}' is not supported in SELECT mode`);const t=new bS;t.name=e.columnName,r.colSpecs.push(t)}),n.parametersValues=[t,i],n})(e,r);break;default:throw new yi(`Can't build projection: unsupported projection mode '${e.projectionMode}'`)}$Vi(e.windowState,t),((e,t)=>{const n=e.rootIds.map(t=>dr(e.nodes.get(t))).map(n=>qVi(e,n,t)).filter(cr);if(!n.length||1!==t.expressionSequence.length)return t;const i=umt([e.lambdaParameterName],n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new xS(I_(Pft.TDS_FILTER)),s=dr(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new XVi(e.tdsState.queryBuilderState.graphManagerState):new KVi(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 eUi{uuid=Mr();isColumnAggregator(){return!1}getOperatorReturnType(e){return V_.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class tUi extends eUi{getLabel(){return"average rank"}get pureFunc(){return Pft.OLAP_AVERAGE_RANK}get relationFunc(){}get hashCode(){return mv([fmt.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 nUi extends eUi{getLabel(){return"dense rank"}get pureFunc(){return Pft.OLAP_DENSE_RANK}get relationFunc(){return Pft.RELATION_DENSE_RANK}get hashCode(){return mv([fmt.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 iUi extends eUi{getLabel(){return"rank"}get pureFunc(){return Pft.OLAP_RANK}get relationFunc(){return Pft.RELATION_RANK}get hashCode(){return mv([fmt.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 rUi extends eUi{getLabel(){return"row number"}get pureFunc(){return Pft.OLAP_ROW_NUMBER}get relationFunc(){return Pft.RELATION_ROW_NUMBER}get hashCode(){return mv([fmt.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 sUi extends eUi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return Pft.SUM}get relationFunc(){return Pft.SUM}get hashCode(){return mv([fmt.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 oUi extends eUi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return Pft.COUNT}get relationFunc(){return Pft.COUNT}get hashCode(){return mv([fmt.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 aUi extends eUi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return Pft.MAX}get relationFunc(){return Pft.MAX}get hashCode(){return mv([fmt.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 lUi extends eUi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return Pft.MIN}get relationFunc(){return Pft.MIN}get hashCode(){return mv([fmt.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 cUi extends eUi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return Pft.AVERAGE}get relationFunc(){return Pft.AVERAGE}get hashCode(){return mv([fmt.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 uUi extends eUi{getLabel(){return"percent rank"}get pureFunc(){}get relationFunc(){return Pft.RELATION_PERCENT_RANK}get hashCode(){return mv([fmt.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 dUi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(dUi||(dUi={}));const hUi={[dUi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[dUi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var pUi;!function(e){e.NY="NY",e.LDN="LDN"}(pUi||(pUi={}));const gUi="en-US";class fUi{dateColumn;calendarType;endDate;lambdaParameterName=Aft;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 GFi){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 xS(I_(e));if(!t)throw new yi("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new gS(H_.create(new Y_(V_.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(O_(e.functionName,t)){br(4===e.parametersValues.length,`Can't process ${I_(t)}() expression: ${I_(t)}() expects four arguments`);const r=fr(e.parametersValues[0],TS,`Can't process ${I_(t)}() expression: only support ${I_(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 ${I_(t)}() expression: only support ${I_(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof TS;){const e=s;for(s=dr(s.parametersValues[0]),e.func.value instanceof dC&&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 xS&&O_(s.functionName,Pft.SUBTYPE);)s=dr(s.parametersValues[0])}const o=fr(s,hS).name;n.setLambdaParameterName(o);const a=fr(e.parametersValues[1],gS,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with second parameter as PrimitiveInstancevalue`);br(void 0!==Object.values(pUi).find(e=>e===a.values[0]),`Can't process ${I_(t)}() expression: only support ${I_(t)}() calendar types NY and LDN`);const l=fr(e.parametersValues[2],uS,`Can't process ${I_(t)}() expression: only support ${I_(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 ${I_(t)}() expression: only support ${I_(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 ${I_(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 GFi&&t instanceof NS?n=fr(t.values[0]?.expressionSequence[0],TS):e.projectionColumnState instanceof jFi&&(n=fr(t,dS)),!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 mUi(e,t,n){return new fUi(e,t,n)}var vUi,yUi;!function(e){e.CSV="CSV"}(vUi||(vUi={})),function(e){e.PROJECT="PROJECT",e.PROJECT_COL="PROJECT_COL",e.SELECT="SELECT"}(yUi||(yUi={}));class bUi extends aBi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;projectionMode=yUi.PROJECT;postFilterOperators=(()=>[new wVi,new EVi,new xVi,new TVi,new AVi,new RVi,new bBi,new _Bi,new NVi,new IVi,new DVi,new kVi,new bVi,new _Vi,new CVi,new SVi])();aggregationOperators=(()=>[new ZFi,new QFi,new OVi,new iBi,new XFi,new eBi,new JFi,new MVi,new tBi,new nBi,new LVi,new PVi])();aggregationCalendarFunctions=(()=>[mUi(Lft.CALENDAR_ANNUALIZED,"Annualized",fmt.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),mUi(Lft.CALENDAR_YTD,"Year to Date",fmt.AGGREGATE_CALENDAR_FUNCTION_YTD),mUi(Lft.CALENDAR_CME,"Current Month Estimate",fmt.AGGREGATE_CALENDAR_FUNCTION_CME),mUi(Lft.CALENDAR_CW,"Current Week",fmt.AGGREGATE_CALENDAR_FUNCTION_CW),mUi(Lft.CALENDAR_CME,"Current Month Estimate",fmt.AGGREGATE_CALENDAR_FUNCTION_CME),mUi(Lft.CALENDAR_CY_MINUS2,"Current year minus 2",fmt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),mUi(Lft.CALENDAR_CY_MINUS3,"Current year minus 3",fmt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),mUi(Lft.CALENDAR_MTD,"Month to date",fmt.AGGREGATE_CALENDAR_FUNCTION_MTD),mUi(Lft.CALENDAR_P12WA,"Previous 12 Weeks Averaged",fmt.AGGREGATE_CALENDAR_FUNCTION_P12WA),mUi(Lft.CALENDAR_P12WTD,"Previous 12 Weeks To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_P12WTD),mUi(Lft.CALENDAR_P4WA,"Previous 4 Weeks Averaged",fmt.AGGREGATE_CALENDAR_FUNCTION_P4WA),mUi(Lft.CALENDAR_P4WTD,"Previous 4 Weeks To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_P4WTD),mUi(Lft.CALENDAR_P52WA,"Previous 52 Weeks Averaged",fmt.AGGREGATE_CALENDAR_FUNCTION_P52WA),mUi(Lft.CALENDAR_P52WTD,"Previous 52 Weeks To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_P52WTD),mUi(Lft.CALENDAR_PMA,"Previous Months Averaged",fmt.AGGREGATE_CALENDAR_FUNCTION_PMA),mUi(Lft.CALENDAR_PMTD,"Previous Month To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PMTD),mUi(Lft.CALENDAR_PQTD,"Previous Quarter To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PQTD),mUi(Lft.CALENDAR_PRIOR_DAY,"Prior Day",fmt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),mUi(Lft.CALENDAR_PRIOR_YEAR,"Prior Year",fmt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),mUi(Lft.CALENDAR_PW,"Previous week",fmt.AGGREGATE_CALENDAR_FUNCTION_PW),mUi(Lft.CALENDAR_PW_FM,"Previous week, Franchise Manager",fmt.AGGREGATE_CALENDAR_FUNCTION_PW_FM),mUi(Lft.CALENDAR_PWA,"Past Weeks' Average",fmt.AGGREGATE_CALENDAR_FUNCTION_PWA),mUi(Lft.CALENDAR_PWTD,"Previous Week To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PWTD),mUi(Lft.CALENDAR_PYMTD,"Previous Year's Month To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PYMTD),mUi(Lft.CALENDAR_PYQTD,"Previous Year's Quarter To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PYQTD),mUi(Lft.CALENDAR_PYTD,"Previous Year To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PYTD),mUi(Lft.CALENDAR_PYWA,"Previous Year's Weekly Average",fmt.AGGREGATE_CALENDAR_FUNCTION_PYWA),mUi(Lft.CALENDAR_PYWTD,"Previous Year's Week to Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PYWTD),mUi(Lft.CALENDAR_QTD,"Quarter to Date",fmt.AGGREGATE_CALENDAR_FUNCTION_QTD),mUi(Lft.CALENDAR_REPORT_END_DAY,"Report End Day",fmt.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),mUi(Lft.CALENDAR_WTD,"Week to Date",fmt.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new sUi,new oUi,new aUi,new lUi,new cUi,new tUi,new nUi,new iUi,new rUi,new uUi])();constructor(e,t){super(e,t),hd(this,{aggregationState:Rc,projectionColumns:Rc,isConvertDerivationProjectionObjects:Rc,showPostFilterPanel:Rc,showWindowFuncPanel:Rc,projectionMode:Rc,TEMPORARY__showPostFetchStructurePanel:kc,derivations:kc,hasParserError:kc,isQueryOptionsSet:kc,resolveProjectionMode:kc,addColumn:Pu,moveColumn:Pu,removeAllColumns:Pu,removeColumn:Pu,replaceColumn:Pu,initialize:Pu,initializeWithQuery:Pu,setShowPostFilterPanel:Pu,setShowWindowFuncPanel:Pu,setProjectionMode:Pu,checkBeforeChangingImplementation:Pu,convertDerivationProjectionObjects:Ju,fetchDerivedReturnTypes:Ju}),this.resultSetModifierState=new sBi(this),this.postFilterState=new yVi(this,this.postFilterOperators),this.aggregationState=new qFi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new zVi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(dUi.SHOW_POST_FILTER_PANEL)??!1}get type(){return oBi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(pr(jFi))}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 GFi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof TS;)for(n.push(i.func.value.name),i=dr(i.parametersValues[0]);i instanceof xS;){if(!(O_(i.functionName,Pft.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof K_))return;n[n.length-1]instanceof K_||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 K_)Qw(t).concat(t).forEach(e=>s.push(vGi(i,e.path))),r.push(vGi(i,t.path));else{const e=mGi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}else t instanceof HFi&&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 GFi&&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[vUi.CSV]}getExportDataInfo(e){if(e===vUi.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 $Fi?e instanceof $Fi?e===t:t.projectionColumnState===e:t===e))}onClassChange(){}appendFetchStructure(e,t){JVi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setProjectionMode(e){this.projectionMode=e}get resolveProjectionMode(){if(this.projectionMode===yUi.SELECT){if(!this.projectionColumns.every(e=>e instanceof HFi&&e.columnName===e.column.name))return yUi.PROJECT}return this.projectionMode}*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(PS.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=umt([e.lambdaParameterName],[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new jFi(this,fr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),lS));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 ES(t.name);n.func=t,n.parametersValues=[new hS(e.lambdaParameterName,A_.ONE,void 0)];const i=umt([e.lambdaParameterName],[n],this.queryBuilderState.graphManagerState.graph),r=new jFi(this,fr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(i,this.queryBuilderState.graphManagerState.graph),lS));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 jFi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${Aft}${Hb}''`)}revealCompilationError(e){const t=Dte(e.sourceInformation);if(t&&3===t.length&&t[0]===Cft.QUERY_BUILDER&&t[1]===Cft.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof jFi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new GFi(this,EGi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new GFi(this,EGi(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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:hgt.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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:hgt.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(pr(jFi)).length)return!1;const n=t.filter(pr(GFi)).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 GFi&&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([fmt.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(jFi));if(0===t.length)return;const n=this.queryBuilderState.sourceElement;if(n instanceof K_){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=FFi(e,this.queryBuilderState.graphManagerState,n,i),s=BFi(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 _Ui;!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)"}(_Ui||(_Ui={}));const CUi=[[_Ui.COUNT,ZFi],[_Ui.DISTINCT_COUNT,QFi],[_Ui.SUM,iBi],[_Ui.MIN,eBi],[_Ui.MAX,JFi],[_Ui.AVERAGE,XFi],[_Ui.STD_DEV_POPULATION,tBi],[_Ui.STD_DEV_SAMPLE,nBi]],SUi=(e,t,n)=>{const i=new GFi(e,t,!1);return i.setColumnName(n),i};class wUi 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 EUi=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=>xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return xie.jsx("div",{children:l.length>0?xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),xie.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>xie.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&xie.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))]})]}):xie.jsx(xie.Fragment,{children:Boolean(a.length)&&xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},xUi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return xie.jsx(wye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:xie.jsx("div",{children:xie.jsx(ZCe,{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:xie.jsxs("div",{className:"query-builder__tooltip__content",children:[xie.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:xie.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},TUi=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?xie.jsx("div",{className:"query-builder__tooltip__item__action",children:xie.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:xie.jsx(Use,{})})}):void 0},{label:"Multiplicity",value:aE(n.multiplicity)},{label:"Derived Property",value:n instanceof dC?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return xie.jsx(xUi,{title:t,data:c,placement:o,footerElement:xie.jsx(EUi,{taggedValues:n.taggedValues}),children:s})},AUi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return xie.jsx(xUi,{title:t,data:s,placement:i,children:n})};var RUi;!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"}(RUi||(RUi={}));const NUi=e=>({label:e.name,value:e}),IUi=e=>Yw(e)?"system element":qw(e)?"generated element":$w(e)?"dependency element":void 0,DUi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>Yw(e)?"system":qw(e)?"generated":$w(e)?"dependency":"")(t.value);return xie.jsxs("div",{className:i,children:[xie.jsx("div",{title:IUi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),xie.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&xie.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},kUi=e=>e instanceof V_||e instanceof U_?xie.jsx(gxe,{}):e instanceof K_?xie.jsx(fxe,{}):e instanceof eC?xie.jsx(mxe,{}):e instanceof aC?xie.jsx(vxe,{}):e instanceof oC?xie.jsx(yxe,{}):xie.jsx(Sxe,{}),OUi=e=>{const{_class:t,children:n,placement:i}=e;return xie.jsx(ZCe,{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:xie.jsxs("div",{className:"query-builder__tooltip__content",children:[xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),xie.jsx(EUi,{taggedValues:t.taggedValues})]}),children:n})},LUi=e=>e instanceof M$?xie.jsx(Cxe,{}):e instanceof P$?xie.jsx(wxe,{}):e instanceof F$?xie.jsx(_xe,{}):xie.jsx(Sxe,{}),MUi=e=>[e.accessorOwner,e.schema,e.accessor].filter(cr).join("."),PUi=boe(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i,accessor:r}=e,s=n.fetchStructureState.implementation instanceof bUi?n.fetchStructureState.implementation:void 0;return xie.jsxs(yFe,{ref:t,children:[i instanceof wGi&&xie.jsx(bFe,{onClick:()=>{s&&i instanceof wGi&&s.addColumn(new HFi(s,i.column,!0))},children:"Add Column to Fetch Structure"}),i instanceof SGi&&xie.jsx(bFe,{onClick:()=>{s&&r.relationType.columns.forEach(e=>{s.addColumn(new HFi(s,e,!0))})},children:"Add Columns to Fetch Structure"})]})})),FUi=boe(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a,accessor:l}=o,c=t instanceof SGi,u=t instanceof wGi,[d,h]=n.useState(!1),[,p,g]=MVe(()=>({type:fGi.RELATION_COLUMN,item:()=>({node:t})}),[t]),f=n.useRef(null);u&&p(f),gUe(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?xie.jsx(kse,{}):xie.jsx(Lse,{});return xie.jsx(wFe,{content:xie.jsx(PUi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:xie.jsxs("div",{className:woe("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&&HUi(t,a)}),onClick:y,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[xie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:e}),xie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:LUi(l)})]}),xie.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),xie.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:xie.jsx(ZCe,{arrow:!0,classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:xie.jsxs("div",{className:"query-builder__tooltip__content",children:[xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:l.accessorOwnerLabel})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:MUi(l)})]})]}),children:xie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":RUi.QUERY_BUILDER_TOOLTIP_ICON,children:xie.jsx(sse,{})})})})]})})}const C=u?t:void 0,S=u?KUi(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 pS?e.values[0]:void 0).filter(cr);if(e.length>0)return`${t}(${e.join(", ")})`}return t})(C.column):t.type.path;return xie.jsx(wFe,{content:xie.jsx(PUi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:xie.jsxs("div",{className:woe("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&&HUi(t,a)}),onClick:y,ref:f,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[xie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:xie.jsx("div",{})}),xie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:S})]}),xie.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:v}),xie.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:xie.jsx(xUi,{title:v,data:[{label:"Type",value:w},{label:"Column",value:t.label}],children:xie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":RUi.QUERY_BUILDER_TOOLTIP_ICON,children:xie.jsx(sse,{})})})})]})})}),BUi=boe(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o,components:a}=e;return xie.jsxs("div",{className:"tree-view__node__block",children:[xie.jsx(FUi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>xie.jsx(BUi,{node:e,level:n+1,components:a,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]})}),VUi=boe(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 wGi(e.name,e.name,e.name,e,t,{mapped:!0});i.push(r.id),n.set(r.id,r)});const r=new SGi("__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 xie.jsx(LOe,{components:{TreeNodeContainer:FUi,TreeNodeView:BUi},className:"query-builder-explorer-tree__root",treeData:r,onNodeSelect:e=>{e instanceof SGi&&e.setIsOpen(!e.isOpen)},getChildNodes:e=>e instanceof SGi?e.childrenIds.map(e=>r.nodes.get(e)).filter(cr):[],innerProps:{queryBuilderState:t,accessor:i}})}),UUi=boe(e=>{const{queryBuilderState:t,accessor:n}=e;return xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_EXPLORER,className:"panel query-builder__explorer",children:[xie.jsx(IFe,{title:"columns"}),xie.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[xie.jsx(fUe,{labelGetter:e=>{const n=e.node;return t.explorerState.humanizePropertyName?vm(n.label):n.label},types:[fGi.RELATION_COLUMN]}),0===n.relationType.columns.length?xie.jsx(jFe,{children:"No columns"}):xie.jsx(VUi,{queryBuilderState:t,accessor:n})]})]})}),GUi=(e,t,n)=>{if(e.type instanceof K_&&uE(e.type,t))return!0;if(e instanceof _Gi&&uE(e.property,t))return!0;if(e instanceof CGi){const i=n.nodes.get(e.parentId);if(i?.type instanceof K_&&uE(i.type,t))return!0}return!1},HUi=(e,t)=>{if(e instanceof bGi&&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)},zUi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return xie.jsx(wye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:xie.jsx("div",{children:xie.jsx(ZCe,{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:xie.jsxs("div",{className:"query-builder__tooltip__content",children:[xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:aE(a)})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),xie.jsx(EUi,{taggedValues:t.taggedValues})]}),children:xie.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},jUi=boe(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 xie.jsx(Yye,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:xie.jsxs(cFe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[xie.jsx(dFe,{title:vm(i.propertyName)}),xie.jsx(qFe,{isLoading:i.isGeneratingPreviewData}),xie.jsxs(pFe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&xie.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&xie.jsxs("table",{className:"table",children:[xie.jsx("thead",{children:xie.jsx("tr",{children:i.previewData.columns.map((e,t)=>xie.jsx("th",{className:"table__cell--left",children:e},t))})}),xie.jsx("tbody",{children:i.previewData.rows.map((e,t)=>xie.jsx("tr",{children:e.values.map((e,t)=>xie.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),xie.jsx(gFe,{children:xie.jsx(mFe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),WUi=boe(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return xie.jsxs(yFe,{ref:t,children:[r instanceof _Gi&&!(r.type instanceof K_)&&xie.jsx(bFe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof K_&&xie.jsx(bFe,{onClick:()=>{if(i(),r.type instanceof K_){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(_Gi)).filter(e=>!(e.type instanceof K_)&&e.mappingData.mapped).filter(e=>{const t=EGi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof bUi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof GFi)return n.propertyExpressionState.path===e.id&&n.columnName===IFi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),$Ui=new Set([I_(Zb.VARCHAR)]),qUi=new Set([I_(Zb.INT),I_(Zb.TINY_INT),I_(Zb.U_TINY_INT),I_(Zb.SMALL_INT),I_(Zb.U_SMALL_INT),I_(Zb.U_INT),I_(Zb.BIG_INT),I_(Zb.U_BIG_INT),I_(Zb.FLOAT),I_(Zb.DOUBLE),I_(Zb.NUMERIC),I_(Zb.DECIMAL)]),YUi=new Set([I_(Zb.TIMESTAMP),I_(Zb.STRICTDATE),I_(Zb.DATETIME),I_(Zb.STRICTTIME)]),KUi=e=>{if(e instanceof V_||e instanceof V_){const t=amt(e)??e.path;if(t===Xb.STRING)return xie.jsx(Wie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(t===Xb.BOOLEAN)return xie.jsx(Ese,{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 xie.jsx(rse,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return xie.jsx(Bre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}else if(e instanceof U_){if($Ui.has(e.name))return xie.jsx(Wie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(qUi.has(e.name))return xie.jsx(rse,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(YUi.has(e.name))return xie.jsx(Bre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return kUi(e)},XUi=boe(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),u=Ipt(),d=a.explorerState,[,h,p]=MVe(()=>({type:t instanceof _Gi?t.type instanceof eC?fGi.ENUM_PROPERTY:t.type instanceof K_?fGi.CLASS_PROPERTY:fGi.PRIMITIVE_PROPERTY:fGi.ROOT,item:()=>t instanceof _Gi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),gUe(p);const f=Boolean(t.childrenIds.length),m=t instanceof _Gi&&t.property instanceof dC,v=t instanceof _Gi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof CGi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),y=t.mappingData.mapped&&t instanceof _Gi&&t.type instanceof V_&&!t.isPartOfDerivedPropertyBranch,b=f?t.isOpen?xie.jsx(kse,{}):xie.jsx(Lse,{}):xie.jsx("div",{}),_=d.humanizePropertyName?t instanceof CGi?Wb+vm(t.label):vm(t.label):t instanceof CGi?Wb+t.label:t.label;return t.mappingData.mapped||t instanceof bGi||d.showUnmappedProperties?xie.jsx(wFe,{content:xie.jsx(WUi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof _Gi||t instanceof bGi)||u.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:xie.jsxs("div",{className:woe("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&&HUi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof bGi?"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 bGi&&xie.jsxs(xie.Fragment,{children:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[xie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),xie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:xie.jsx(fxe,{})})]}),xie.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),xie.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:a.sourceClass&&xie.jsx(OUi,{_class:a.sourceClass,children:xie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":RUi.QUERY_BUILDER_TOOLTIP_ICON,children:xie.jsx(sse,{})})})})]}),(t instanceof _Gi||t instanceof CGi)&&xie.jsxs(xie.Fragment,{children:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[xie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),xie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:KUi(t.type)})]}),xie.jsxs("div",{className:woe("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:[xie.jsx("div",{className:woe("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":GUi(t,d.queryBuilderState.graphManagerState.graph,d.nonNullableTreeData)}),children:_}),m&&xie.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&&xie.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),xie.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[y&&xie.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:d.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof _Gi&&d.previewData(t).catch(u.alertUnhandledError)},children:xie.jsx(Xre,{})}),t instanceof _Gi&&xie.jsx(TUi,{title:_,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:xie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":RUi.QUERY_BUILDER_TOOLTIP_ICON,children:xie.jsx(sse,{})})}),t instanceof CGi&&xie.jsx(zUi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:xie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":RUi.QUERY_BUILDER_TOOLTIP_ICON,children:xie.jsx(sse,{})})})]})]})]})}):null}),ZUi=boe(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof bGi||a.explorerState.showUnmappedProperties?xie.jsxs("div",{className:"tree-view__node__block",children:[xie.jsx(XUi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>xie.jsx(ZUi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),QUi=e=>e instanceof CGi?0:e.type instanceof K_?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof eC?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,JUi=boe(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return xie.jsx(LOe,{components:{TreeNodeContainer:XUi,TreeNodeView:ZUi},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 CGi||e instanceof _Gi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>QUi(t)-QUi(e)),innerProps:{queryBuilderState:t}})}),eGi="query-builder-explorer-search-input",tGi=boe(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 xie.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[xie.jsx("input",{ref:t,name:eGi,className:woe("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&&xie.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?xie.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:xie.jsx(wse,{})}):xie.jsx(xie.Fragment,{children:xie.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:xie.jsx(bse,{})})})]})})),nGi=boe(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Ipt();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_EXPLORER,className:woe("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[xie.jsxs(IFe,{title:"explorer",children:[xie.jsx(tGi,{propertySearchState:s,ref:i}),xie.jsxs(kFe,{children:[xie.jsx(OFe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof bGi||e.setIsOpen(!1)})},title:"Collapse Tree",children:xie.jsx(Ure,{})}),xie.jsx(EFe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{Tft.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:xie.jsxs(yFe,{children:[xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[xie.jsx(CFe,{children:r.showUnmappedProperties?xie.jsx(Lre,{}):null}),xie.jsx(SFe,{children:"Show Unmapped Properties"})]}),xie.jsxs(bFe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[xie.jsx(CFe,{children:r.humanizePropertyName?xie.jsx(Lre,{}):null}),xie.jsx(SFe,{children:"Humanize Property Name"})]}),xie.jsxs(bFe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[xie.jsx(CFe,{children:r.highlightUsedProperties?xie.jsx(Lre,{}):null}),xie.jsx(SFe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:xie.jsx($ie,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&xie.jsx(pGi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),xie.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[xie.jsx(qFe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),xie.jsx(fUe,{labelGetter:e=>r.humanizePropertyName?vm(e.node.label):e.node.label,types:Object.values(fGi)}),r.mappingModelCoverageAnalysisState.isInProgress?xie.jsx(jFe,{children:r.mappingModelCoverageAnalysisState.message}):xie.jsxs(xie.Fragment,{children:[!r.treeData&&xie.jsx(jFe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&xie.jsx(JUi,{queryBuilderState:t})]}),xie.jsx(jUi,{queryBuilderState:t})]})]})}),iGi=boe(e=>{const{queryBuilderState:t}=e,n=t.sourceAccessor;return n?xie.jsx(UUi,{queryBuilderState:t,accessor:n}):xie.jsx(nGi,{queryBuilderState:t})}),rGi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=Ipt(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Bpt(s))?xie.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:woe("documentation-link",n,{"documentation-link--inline":i}),children:xie.jsx(fse,{})}):null},sGi=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]),xie.jsx("div",{className:"undo-redo",children:xie.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[xie.jsx(Tse,{}),xie.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},oGi=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]),xie.jsx("div",{className:"undo-redo",children:xie.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[xie.jsx(vse,{}),xie.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},aGi=(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),lGi=(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},cGi=(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 xie.jsx("span",{children:e});const o=[],a=Gr(s,0)[0];a>0&&o.push(xie.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(xie.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(xie.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(xie.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},uGi=boe(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,u]=MVe(()=>({type:t instanceof _Gi?t.type instanceof eC?fGi.ENUM_PROPERTY:t.type instanceof K_?fGi.CLASS_PROPERTY:fGi.PRIMITIVE_PROPERTY:fGi.ROOT,item:()=>t instanceof _Gi?{node:t}:{},canDrag:()=>!(t.type instanceof K_),collect:e=>({isDragging:e.isDragging()})}),[t]),d=n.useRef(null);c(d),gUe(u);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof _Gi&&t.parentId===e.id),g=p?.type instanceof K_&&s>1?vm(t.label):p instanceof CGi?lGi(t.id,!0):aGi(t.id,!0),f=a?t.isOpen?xie.jsx(kse,{}):xie.jsx(Lse,{}):xie.jsx("div",{}),m=t instanceof _Gi?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?cGi(m,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,y=l.isNodeMultiple(t);return xie.jsxs(xie.Fragment,{children:[xie.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:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[xie.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:f}),xie.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:KUi(t.type)})]}),xie.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[xie.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[cGi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),y&&xie.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),xie.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:v})]}),xie.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof _Gi&&xie.jsxs(xie.Fragment,{children:[xie.jsx(TUi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:xie.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:xie.jsx(sse,{})})}),xie.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:xie.jsx(Use,{})})]}),t instanceof CGi&&xie.jsxs(xie.Fragment,{children:[xie.jsx(zUi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:xie.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:xie.jsx(sse,{})})}),xie.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:xie.jsx(Use,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof _Gi||t instanceof CGi)&&t.type instanceof K_&&(t instanceof CGi?iE(t.type):eE(t.type)).forEach(n=>{const r=TGi(n,t,dr(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof K_||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>xie.jsx(uGi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),dGi=boe(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return xie.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[xie.jsxs("button",{className:woe("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?xie.jsx(Mre,{}):xie.jsx(Cse,{}),xie.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&xie.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),hGi=boe(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return xie.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[xie.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&xie.jsx(ZCe,{slotProps:{transition:{timeout:0}},title:xie.jsx("div",{children:n}),children:xie.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:xie.jsx(sse,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>xie.jsx(dGi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),pGi=boe(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===eGi||(i(),r.setIsSearchPanelOpen(!1))};return xie.jsx(FSe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:woe("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:xie.jsx(wye,{onClickAway:s,children:xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:xie.jsx("div",{className:"query-builder-property-search-panel__content",children:xie.jsxs(uGe,{orientation:"vertical",children:[xie.jsx(dGe,{size:175,children:xie.jsxs("div",{className:"query-builder-property-search-panel__config",children:[xie.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[xie.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",xie.jsx(rGi,{documentationKey:wgt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),xie.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:xie.jsx(RFe,{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})})]}),xie.jsx(hGi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),xie.jsx(hGi,{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)}}]}),xie.jsx(hGi,{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)}}]}),xie.jsx(hGi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(kft.CLASS),onClick:()=>{r.toggleFilterForType(kft.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(kft.ENUMERATION),onClick:()=>{r.toggleFilterForType(kft.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(kft.STRING),onClick:()=>{r.toggleFilterForType(kft.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(kft.BOOLEAN),onClick:()=>{r.toggleFilterForType(kft.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(kft.NUMBER),onClick:()=>{r.toggleFilterForType(kft.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(kft.DATE),onClick:()=>{r.toggleFilterForType(kft.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.DATE)}}]})]})}),xie.jsx(hGe,{children:xie.jsx(pGe,{color:"var(--color-dark-grey-200)"})}),xie.jsxs(dGe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&xie.jsx(qFe,{isLoading:!0}),xie.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&xie.jsxs(xie.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>xie.jsx(uGi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&xie.jsxs(jFe,{children:[xie.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),xie.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&&xie.jsx(jFe,{children:"Initializing..."}),r.searchState.isInProgress&&xie.jsx(jFe,{children:"Searching..."})]})]})]})})})})})});class gGi{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=[kft.CLASS,kft.ENUMERATION,kft.STRING,kft.BOOLEAN,kft.NUMBER,kft.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 wUi(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 bGi||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 CGi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof _Gi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof _Gi||t instanceof CGi?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 bGi||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 K_&&t.set(e.id,e),e)).filter(e=>!(e instanceof _Gi||e instanceof CGi)||!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 _Gi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=NGi(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=NGi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof _Gi||e instanceof CGi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof _Gi||t instanceof CGi?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 _Gi||this.searchConfigurationState.includeSubTypes&&e instanceof CGi)&&e.type instanceof K_&&((e instanceof CGi?iE(e.type):eE(e.type).concat(tE(e.type))).forEach(t=>{const n=TGi(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=AGi(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 _Gi||e instanceof CGi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof CGi?lGi(e.id):aGi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof _Gi?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(kft.CLASS)&&e.type instanceof K_)||(!!(this.typeFilters.includes(kft.ENUMERATION)&&e.type instanceof eC)||(!(!this.typeFilters.includes(kft.STRING)||e.type!==V_.STRING)||(!!(this.typeFilters.includes(kft.NUMBER)&&e.type instanceof V_&&[Xb.NUMBER,Xb.DECIMAL,Xb.INTEGER,Xb.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(kft.BOOLEAN)||e.type!==V_.BOOLEAN)||!!(this.typeFilters.includes(kft.DATE)&&e.type instanceof V_&&[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 fGi;!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"}(fGi||(fGi={}));const mGi=(e,t)=>`${e?`${e}.`:""}${t}`,vGi=(e,t)=>`${e||""}${Wb}${t}`;class yGi{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 bGi extends yGi{}class _Gi extends yGi{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 CGi extends yGi{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 SGi extends yGi{}class wGi extends yGi{column;constructor(e,t,n,i,r,s){super(e,t,n,!1,r,s),this.column=i}}const EGi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new hS(n??Aft,A_.ONE),o=new TS("");Kft(o,gC.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 _Gi||l instanceof CGi);){if(l instanceof CGi&&c instanceof CGi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof CGi?e=new xS(I_(Pft.SUBTYPE)):l instanceof _Gi&&l.mappingData.entityMappedProperty?.subType?(e=new xS(I_(Pft.SUBTYPE)),a.parametersValues.push(e),a=e,e=new TS(""),Kft(e,gC.create(dr(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new TS(""),Kft(e,gC.create(dr(l.property)))),a.parametersValues.push(e),a instanceof xS&&O_(a.functionName,Pft.SUBTYPE)){const e=new pS(A_.ONE,H_.create(new Y_(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof _Gi||l instanceof CGi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof _Gi||c instanceof CGi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof xS){const e=new pS(A_.ONE,H_.create(new Y_(c.type)));a.parametersValues.push(e)}return o},xGi=e=>{const t=e.type,n=(e instanceof CGi?iE(t):eE(t).concat(tE(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${Wb}${t.path}`);return n.concat(i)},TGi=(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 K_||e.genericType.value.rawType instanceof tC)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof dJ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof dJ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof dC||t.isPartOfDerivedPropertyBranch||t instanceof _Gi&&t.property instanceof dC;if(e instanceof Q_&&t instanceof _Gi&&t.property instanceof Q_&&e._OWNER instanceof J_&&t.property._OWNER instanceof J_&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof K_?Jw(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new _Gi(o?vGi(mGi(t instanceof bGi?"":t.id,e.name),o.path):mGi(t instanceof bGi?"":t.id,e.name),e.name,`${t instanceof bGi?`${jb}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=mGi(t instanceof bGi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof K_&&(a.childrenIds=xGi(a)),a},AGi=(e,t,n)=>{const i=new CGi(vGi(t instanceof bGi?"":t.id,e.path),e.name,""+(t instanceof bGi?`${jb}${Aft}->${I_(Pft.SUBTYPE)}(${Wb}${e.path})`:`${t.dndText}->${I_(Pft.SUBTYPE)}(${Wb}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=Jw(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof dJ&&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 _Gi?t.property.multiplicity:t instanceof CGi?t.multiplicity:A_.ONE);return i.childrenIds=xGi(i),i},RGi=(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 bGi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),eE(e).concat(tE(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof K_?2:t instanceof eC?1:0)-(e instanceof K_?2:e instanceof eC?1:0)).forEach(e=>{const n=TGi(e,s,t);n&&(jr(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=AGi(e,s,t);jr(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},NGi=e=>{if(e instanceof bGi)return new bGi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof _Gi)return new _Gi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof CGi)return new CGi(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 IGi{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 DGi{queryBuilderState;previewDataState=new IGi;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 gGi(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?RGi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof _Gi||e instanceof CGi)&&e.type instanceof K_&&((e instanceof CGi?iE(e.type):eE(e.type).concat(tE(e.type))).forEach(t=>{const n=TGi(t,e,dr(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=AGi(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 _Gi||t instanceof CGi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof _Gi||e instanceof CGi?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(),Tft.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new Fy,t=q5(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());Tft.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=EGi(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,bUi),r=i.aggregationState;return CUi.forEach(e=>{const n=SUi(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,uZ,"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,bUi),r=SUi(i,t,"Value"),s=SUi(i,t,"Count");i.projectionColumns=[r,s];const o=dr(i.aggregationState.operators.find(e=>e instanceof ZFi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new rBi(s);return a.sortType=Bft.DESC,i.resultSetModifierState.sortColumns=[a,new rBi(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,uZ,"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 kGi="4.18.10",OGi={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 LGi=(e,t,n,i)=>{gr(e,qx,"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],zx,"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 Qx&&2===s.parameters.length&&O_(s.function,Pft.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new eK(n,i,t));for(gr(s,LT,"Can't build projection column: only support lambda body as property expression");s instanceof LT;)for(br(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof Qx&&O_(s.function,Pft.SUBTYPE);)s=s.parameters[0];return gr(s,zx,"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 eK(n,i,t))},MGi=(e,t,n,i)=>{gr(e,Qx,"Can't build aggregation: only support function"),br(O_(e.function,Pft.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],qx,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof Qx&&O_(r.body[0].function,Object.values(Lft))?_i(()=>((e,t,n,i)=>{gr(e,qx,"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],zx,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=fr(e.body[0],Qx,"Can't build calendar aggregation column: only support applied function");br(O_(s.function,Object.values(Lft)),"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],LT,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=fr(s.parameters[1],iT,"Can't build calendar aggregation column: only support second parameter of calendar function as String");br(void 0!==Object.values(pUi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),fr(s.parameters[2],Ax,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new eK(n,i,t)),l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new eK(n,i,t)),c=dr(s.parameters[2]).accept_ValueSpecificationVisitor(new eK(n,i,t)),u=dr(s.parameters[3]),d=_i(()=>u.accept_ValueSpecificationVisitor(new eK(n,i,t)))??new dS(TN(u,n.extensions.plugins)),h=iK([a,l,c,d],s.function,n),p=new NS,g=new AS(C_.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE);g.parameters.push(new hS(r.name,A_.ONE));const f=new RS(g);return f.expressionSequence=[h],p.values.push(f),p})(r,t,n,i))??new dS(TN(r,n.extensions.plugins)):_i(()=>LGi(r,t,n,i))??new dS(TN(r,n.extensions.plugins));const o=fr(e.parameters[1],qx).accept_ValueSpecificationVisitor(new eK(n,i,t));return iK([s,o],I_(Pft.TDS_AGG),n)},PGi=(e,t,n,i,r)=>{const s=fr(e,Qx,"Can't build tds col func: only support applied function");br(O_(s.function,Pft.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],qx,"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 hS(e.name,A_.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=LGi(o,n,i,r)}catch{a=new dS(TN(o,i.extensions.plugins))}fr(s.parameters[1],iT,"Can't build tds col func: only support second parameter of col function as String");const l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new eK(i,r,n));return iK([a,l],s.function,i)},FGi=(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 eK(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 Jx){const e=new mS(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>PGi(e,s,n,i,r)),a=e}else gr(o,Qx,"Can't build project() expression: project() expects argument #2 to be a function"),a=PGi(o,s,n,i,r);const l=iK([s,a],e,i);return l.genericType=H_.create(new Y_(i.resolveType(Oft.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 eK(i,r,n));ur(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];gr(a,CR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=fr(a.value,xT,"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(qx)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new hS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new SS(A_.ONE),d=new CS;u.values=[d];const h=new q_(q_.ID);d.colSpecs=l.colSpecs.map(e=>{const t=new bS;let s;const o=fr(e.function1,Ax,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=LGi(o,n,i,r)}catch{s=new dS(TN(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=$Y(s);return a&&h.columns.push(new $_(e.name,H_.create(new Y_(a)))),t});const p=iK([o,u],e,i),g=new Y_(jY.INSTANCE),f=new Y_(h);return g.typeArguments=[H_.create(f)],p.genericType=H_.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 eK(i,r,n));ur(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof qx?o=l.parameters:(gr(l,Jx,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(pr(qx)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new hS(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const u=new mS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let d=[];d=l instanceof qx?[l]:l.values,u.values=d.map(e=>{try{return LGi(e,n,i,r)}catch{return new dS(TN(e,i.extensions.plugins))}});const h=iK([a,u,t[2].accept_ValueSpecificationVisitor(new eK(i,r,n))],e,i);return h.genericType=H_.create(new Y_(i.resolveType(Oft.TDS_ROW).value)),h},BGi=(e,t,n,i,r)=>e===Pft.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 eK(i,r,n));ur(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=fr(s,xS);if(o.functionName!==I_(Pft.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];gr(a,CR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=fr(a.value,xT,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];gr(c,CR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const u=fr(c.value,xT,"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(qx)).map(e=>e.parameters).flat();d.forEach(e=>{if(!e.genericType){const t=new hS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=fr(o.genericType?.value.typeArguments?.[0]?.value.rawType,q_,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new SS(A_.ONE),g=new CS;p.values=[g];const f=new q_(q_.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new bS;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&f.columns.push(n),t});const m=new SS(A_.ONE),v=new CS;m.values=[v],v.colSpecs=u.colSpecs.map(e=>{const t=new bS;t.name=e.name;const s=fr(e.function1,qx,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=LGi(s,n,i,r);t.function1=o;const a=fr(e.function2,qx,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=fr(a.accept_ValueSpecificationVisitor(new eK(i,r,n)),NS,"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 $_(e.name,c)),t});const y=iK([s,p,m],e,i),b=new Y_(jY.INSTANCE),_=new Y_(f);return b.typeArguments=[H_.create(_)],y.genericType=H_.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 eK(i,r,n));ur(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];gr(a,Jx,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(pr(qx)).map(e=>e.parameters).flat();const l=t[2];gr(l,Jx,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof Qx&&O_(e.function,Pft.TDS_AGG)).map(e=>e.parameters).flat().filter(pr(qx)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new hS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new mS(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));u.values=a.values.map(e=>{try{return LGi(e,n,i,r)}catch{return new dS(TN(e,i.extensions.plugins))}});const d=new mS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));d.values=l.values.map(e=>MGi(e,n,i,r));const h=iK([o,u,d,t[3].accept_ValueSpecificationVisitor(new eK(i,r,n))],e,i);return h.genericType=H_.create(new Y_(i.resolveType(Oft.TDS_ROW).value)),h})(e,t,n,i,r);class VGi extends Ete{constructor(){super(OGi.pureProtocolProcessorPlugin,kGi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(O_(e,Mft.GET_ALL))return((e,t,n,i,r)=>{const s=rK(e,t,n,i,r),o=s.parametersValues[0];return gr(o,pS,"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(O_(e,Mft.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=rK(e,t,n,i,r),o=s.parametersValues[0];return gr(o,pS,"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(O_(e,Mft.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=rK(e,t,n,i,r),o=s.parametersValues[0];return gr(o,pS,"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(O_(e,[Pft.FILTER,Pft.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 eK(i,r,n));if(s.genericType){const e=t[1];e instanceof qx&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new hS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=iK([s,t[1].accept_ValueSpecificationVisitor(new eK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(O_(e,Pft.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 eK(i,r,n));s.genericType=fr(s,TS).func.value.genericType;const o=t[1];return o instanceof qx&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new hS(e.name,A_.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),iK([s,t[1].accept_ValueSpecificationVisitor(new eK(i,r,n))],e,i)})(e,t,n,i,r);if(O_(e,Pft.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 eK(i,r,n));ur(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof qx&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new hS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=dr(t[1].accept_ValueSpecificationVisitor(new eK(i,r,n))),l=a.genericType?.value.rawType;br(V_.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=iK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(O_(e,[Pft.TDS_PROJECT,Pft.RELATION_PROJECT]))return FGi(e,t,n,i,r);if(O_(e,[Pft.TDS_GROUP_BY,Pft.RELATION_GROUP_BY]))return BGi(e,t,n,i,r);if(O_(e,Pft.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 eK(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 eK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new eK(i,r,n));s.push(e),o++}const u=t[o];let d;d=u instanceof Qx?fr(u.parameters[1],qx,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):fr(u,qx,`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 hS(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=u.accept_ValueSpecificationVisitor(new eK(i,r,n));s.push(g),o++;const f=t[o].accept_ValueSpecificationVisitor(new eK(i,r,n));s.push(f),o++;const m=iK(s,e,i);return m.genericType=H_.create(new Y_(i.resolveType(Oft.TDS_ROW).value)),m})(e,t,n,i,r);if(O_(e,[Pft.TODAY,Pft.FIRST_DAY_OF_QUARTER])){const s=rK(e,t,n,i,r);return s.genericType=H_.create(new Y_(V_.STRICTDATE)),s}if(O_(e,Pft.NOW)){const s=rK(e,t,n,i,r);return s.genericType=H_.create(new Y_(V_.DATETIME)),s}if(O_(e,[Pft.FIRST_DAY_OF_THIS_YEAR,Pft.FIRST_DAY_OF_YEAR,Pft.FIRST_DAY_OF_THIS_MONTH,Pft.FIRST_DAY_OF_MONTH,Pft.FIRST_DAY_OF_WEEK,Pft.PREVIOUS_DAY_OF_WEEK,Pft.ADJUST])){const s=rK(e,t,n,i,r);return s.genericType=H_.create(new Y_(V_.DATE)),s}return O_(e,Pft.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 eK(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 eK(i,r,n)),a=dr(t[2],"Can't build relation extend() expression: window operator is missing");gr(a,CR,"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 hS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const u=new SS(A_.ONE),d=new CS;u.values=[d];const h=s.genericType.value.typeArguments?.[0]?.value.rawType,p=new q_(q_.ID);h instanceof q_&&h.columns.forEach(e=>{p.columns.push(e)}),d.colSpecs=l.colSpecs.map(e=>{const t=new bS;if(t.name=e.name,e.function1){const s=fr(e.function1,qx,"Can't build relation extend() col spec expression: expects function1 to be a lambda"),o=fr(s.accept_ValueSpecificationVisitor(new eK(i,r,n)),NS,"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,qx,"Can't build relation extend() col spec expression: expects function2 to be a lambda"),o=fr(s.accept_ValueSpecificationVisitor(new eK(i,r,n)),NS,"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 $_(e.name,H_.create(new Y_(s)))),t});const g=iK([s,o,u],e,i),f=new Y_(jY.INSTANCE),m=new Y_(p);return f.typeArguments=[H_.create(m)],g.genericType=H_.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):O_(e,Pft.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,CR,"Can't build over() expression with ColSpecArray: expects argument #1 to be a ClassInstance");const o=fr(s.value,xT,"Can't build over() expression with ColSpecArray: expects ClassInstance to hold ColSpecArray"),a=new SS(A_.ONE),l=new CS;a.values=[l],l.colSpecs=o.colSpecs.map(e=>{const t=new bS;return t.name=e.name,t.type=e.type,t});const c=[a];if(t[1]){const e=t[1].accept_ValueSpecificationVisitor(new eK(i,r,n));c.push(e)}return iK(c,e,i)})(e,t,n,i,r):O_(e,Object.values(Pft))||O_(e,Object.values(Lft))?rK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof xS&&O_(e.functionName,I_(Pft.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof pS)[0]?.genericType?.value.rawType)(e)}]}}class UGi{mapping;runtimes=[]}class GGi{service;executionKeys}class HGi extends $E{}class zGi extends HGi{constructor(e){super(e),this.graphManager=fr(e,O6)}getSupportedProtocolVersion(){return KG.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===LU||e.content._type===cR),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(pr(NI))).flat(),o=new dK(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 rF)return new WW(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(MT))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new oW;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw bi(e),e instanceof QG?e:new QG(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 dK(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(pr(NI))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof rF)return new WW(t,s.resolveMapping(yr(e.includedMapping,"Mapping include path is missing or empty")))}).filter(cr))}),r.map(e=>e.data.elements.filter(pr(MT))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new oW;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new UGi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...zq(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(Rk))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new GGi;i.service=t,e.execution instanceof Ak&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const jGi=e=>new zGi(e);class WGi extends bte{constructor(){super(OGi.pureGraphManagerPlugin,kGi)}getExtraPureGraphManagerExtensionBuilders(){return[jGi]}getExtraExposedSystemElementPath(){return[Oft.TDS_TABULAR_DATASET,Oft.TDS_ROW,Oft.TDS_COLUMN]}}class $Gi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;NonProductionFeatureFlag=!1;static serialization=new Yv(Iv($Gi,{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 qGi=e=>{let t=e;for(;t instanceof TS;)for(t=dr(t.parametersValues[0]);t instanceof xS&&O_(t.functionName,Pft.SUBTYPE);)t=dr(t.parametersValues[0]);return fr(t,hS)},YGi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(O_(e.functionName,[Pft.AND,Pft.OR])){const r=new LBi(n,pBi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=fr(i,OBi).lambdaParameterName),e.parametersValues.forEach(e=>YGi(fr(e,xS,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!O_(e.functionName,[Pft.EXISTS])){const n=e.parametersValues[0];if(n instanceof TS){const e=n.parametersValues[0];e instanceof TS&&dmt(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 IBi){const t=e.parametersValues[0];n=fr(t instanceof ES?t.parametersValues[0]:void 0,hS,"Can't process filter expression: relation column filter must reference a variable").name}else n=qGi(r.propertyExpressionState.propertyExpression).name;const s=i instanceof OBi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return br(s===n,`Can't process ${I_(r.operator.getLabel())}() expression: expects variable used in lambda body '${n}' to match lambda parameter '${s}'`),void t.addNodeFromNode(new FBi(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],TS);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new MBi(t,n),o=fr(e.parametersValues[1],NS,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=fr(o.values[0],RS),l=fr(a.expressionSequence[0],xS);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),YGi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;O_(s.functionName,Pft.EXISTS);){const e=dr(fr(s.parametersValues[1],NS).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],xS,"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],hS,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof TS)||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],TS);let a=new TS("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof TS||n instanceof xS&&O_(n.functionName,Pft.SUBTYPE);){if(n instanceof xS){const e=new xS(I_(Pft.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof TS){const e=new TS("");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],TS,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof xS&&e.parametersValues[0]instanceof TS)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof TS)e.parametersValues[0]=dr(a.parametersValues[0]);else if(e instanceof hS)return a;return e}),YGi(s,t,n)}}}},KGi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];gr(i,NS,"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],xS,"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],hS,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),YGi(s,n,void 0),n.simplifyTree()};class XGi{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 OS)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof kS)return this.tree.class.value;throw new yi("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return mv([fmt.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",mv(this.childrenIds)])}}const ZGi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${Wb}${n.path}`:""}`,QGi=(e,t,n)=>{gr(e,OS,"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 XGi(ZGi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=QGi(e,o,n);jr(o.childrenIds,t.id),n.set(t.id,t)}),o},JGi=(e,t,n)=>{const i=t?.id,r=new XGi((s=e.class.valueForSerialization??"")?`${Wb}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=QGi(e,r,n);jr(r.childrenIds,t.id),n.set(t.id,t)}),r},eHi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=JGi(e,void 0,i);jr(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=QGi(e,void 0,i);jr(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},tHi=e=>0===e.tree.subTrees.length,nHi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof OS&&t.type instanceof K_&&0===t.childrenIds.length||t.tree instanceof OS&&!(t.type instanceof K_)&&t.parentId&&!e.nodes.has(t.parentId)),iHi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?($r(n.childrenIds,t.id),emt(n.tree,t.tree)):($r(e.rootIds,t.id),emt(e.tree,t.tree)),e.nodes.delete(t.id)},rHi=(e,t)=>{iHi(e,t),(e=>{let t=nHi(e);for(;t.length;)t.forEach(t=>{iHi(e,t)}),t=nHi(e)})(e)},sHi=(e,t,n,i)=>{const r=[new OS(gC.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof _Gi||l instanceof CGi;){let e,n=!1;for(;l instanceof CGi;)n||(e=C_.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof _Gi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof K_&&(e=C_.create(l.type)),!(l instanceof _Gi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new OS(gC.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=ZGi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=QGi(a,o,e.nodes);e.nodes.set(t.id,t),o?(jr(o.childrenIds,t.id),Jft(o.tree,t.tree,i.observerContext)):(jr(e.rootIds,t.id),Jft(e.tree,t.tree,i.observerContext))}},oHi=(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 hHi){if(e.treeData&&!tHi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(Oft.SERIALIZE_CONFIG),i=new xS(I_(exports.SUPPORTED_FUNCTIONS.NEW)),r=new pS(A_.ONE,void 0);r.values[0]=C_.create(n);const s=new gS(H_.create(new Y_(V_.STRING)));s.values=[""];const o=new mS(A_.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 yS,r=new gS(H_.create(new Y_(V_.STRING)));r.values=[n];const s=new gS(H_.create(new Y_(t.genericType.value.rawType)));s.values=[e[n]];const a=new vS(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new A_(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 MS;r.values=[e];const s=new xS(I_(Pft.SERIALIZE)),o=new xS(I_(t?Pft.GRAPH_FETCH_CHECKED:Pft.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 pHi))throw new yi(`Unsupported serialization state ${s.getLabel()}`);{const n=new xS(I_(Pft.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!tHi(i)&&!tHi(o)){const a=new MS;a.values=[i.tree];const l=new xS(e.isChecked?I_(Pft.GRAPH_FETCH_CHECKED):I_(Pft.GRAPH_FETCH));l.parametersValues=[r,a];const c=new pS(A_.ONE,void 0);c.values=[C_.create(s.targetBinding)];const u=new MS;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 xS&&O_(n.functionName,Pft.SERIALIZE)){const i=new gS(H_.create(new Y_(V_.INTEGER)));i.values=[t];const r=new xS(I_(Pft.TAKE)),s=fr(n.parametersValues[0],xS),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 aHi,lHi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(aHi||(aHi={})),function(e){e.RESULT="RESULT"}(lHi||(lHi={}));const cHi="@type";class uHi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=cHi,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 uHi;return e.typeKeyName=cHi,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 dHi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class hHi extends dHi{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 aHi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class pHi extends dHi{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?(sHi(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 aHi.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 gHi extends aBi{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 hHi(this)}get type(){return oBi.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 kS?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof OS&&(a=r.tree.property.value.name);const l=mGi(o,a);t.push(l),r.tree instanceof OS&&r.tree.subType?(s=vGi(l,r.tree.subType.value.path),Qw(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(vGi(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?eHi(new kS(C_.create(e))):void 0)}get exportDataFormatOptions(){return[lHi.RESULT]}getExportDataInfo(e){if(e===lHi.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){oHi(this,e,t)}addProperty(e,t){this.treeData?(sHi(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 pHi&&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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:hgt.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof OS)return t.tree.parameters.find(t=>pmt(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return mv([fmt.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const fHi=(e,t)=>()=>{t.implementation.type!==e&&(Tft.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class mHi{queryBuilderState;implementation;constructor(e){hd(this,{implementation:Rc,changeImplementation:Pu,initializeWithQuery:Pu}),this.queryBuilderState=e,this.implementation=new bUi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case oBi.TABULAR_DATA_STRUCTURE:this.implementation=new bUi(this.queryBuilderState,this);break;case oBi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new gHi(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 _Gi&&!(e.type instanceof K_)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof K_&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(_Gi)).filter(e=>!(e.type instanceof K_)&&e.mappingData.mapped))}}class vHi{lambda;constructor(e){this.lambda=e,hd(this,{lambda:Rc,setLambda:Pu})}setLambda(e){this.lambda=e}}var yHi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(yHi||(yHi={}));class bHi extends PFi{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 vHi(xj())}get lambdaId(){return kte(["query-builder"])}get text(){return this.mode===yHi.TEXT?this.fullLambdaString:this.mode===yHi.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=xj();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 rQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.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 lS(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(PS.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===yHi.TEXT&&this.setQueryRawLambdaState(new vHi(n)),e===yHi.JSON&&this.setLambdaJson(JSON.stringify(B_(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===yHi.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 _Hi=boe(e=>{const{resultType:t}=e;let n="";return t.type instanceof S_&&(n=t.type.input??""),""===n?xie.jsx(xie.Fragment,{}):xie.jsxs("div",{className:"query-builder__result__container",children:[xie.jsx(MFe,{className:"query-builder__result__container__item__data-type",children:xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),xie.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),xie.jsx(FFe,{})]})}),CHi=boe(e=>{const{resultType:t}=e;return xie.jsxs("div",{className:"query-builder__result__container",children:[xie.jsx(MFe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__result__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Label"}),xie.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),xie.jsx("tbody",{children:t.tdsColumns.map(e=>xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:e.name}),xie.jsx("td",{className:"table__cell--left",children:e.type instanceof S_&&(e.type.input??"")})]},e.name))})]}),xie.jsx(FFe,{})]})}),SHi=boe(e=>{const{resultType:t}=e;return xie.jsxs("div",{className:"query-builder__result__container",children:[xie.jsxs(MFe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),xie.jsx("tbody",{children:t.propertiesWithParameters.map(e=>xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:e.property}),xie.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),xie.jsx(FFe,{})]})}),wHi=boe(e=>{const{resultType:t}=e;return t instanceof z1?xie.jsx(_Hi,{resultType:t}):t instanceof j1?xie.jsx(CHi,{resultType:t}):t instanceof w2?xie.jsx(SHi,{resultType:t}):null}),EHi=e=>{e.dispose(),e.getModel()?.dispose()},xHi=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=Ipt(),[f,m]=n.useState(),[v,y]=n.useState(!1),b=n.useRef(void 0),_=eOn(t),C=n.useRef(null);if(n.useEffect(()=>{if(!f&&C.current){const e=C.current,t=ndn.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??Ukn.BUILT_IN__VSCODE_LIGHT:Ukn.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){tOn(f);const e=f.getModel();e&&ndn.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=Xkn(f);e!==_&&i?.(e)});Xkn(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?Qkn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):Jkn())}return n.useEffect(()=>()=>{f&&(EHi(f),b.current?.dispose())},[f]),xie.jsxs("div",{className:"code-editor",children:[!u&&xie.jsx("div",{className:"code-editor__header",children:xie.jsx("button",{tabIndex:-1,className:woe("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:xie.jsx(ore,{})})}),xie.jsx("div",{className:woe("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!u}),children:xie.jsx("div",{className:"code-editor__body",ref:C})})]})},THi=boe(e=>{const{from:t,to:i,language:r}=e,s=Ipt(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",u=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=ndn.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?Ukn.BUILT_IN__VSCODE_LIGHT:Ukn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=ndn.createModel(c,r),t=ndn.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]),xie.jsx("div",{className:"code-editor__container",children:xie.jsx("div",{className:"code-editor__body",ref:l})})}),AHi=(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):"",RHi=boe(e=>{const{from:t,to:n,lossless:i}=e;return xie.jsx(THi,{language:nOn.JSON,from:AHi(t,Boolean(i)),to:AHi(n,Boolean(i))})});var NHi,IHi={exports:{}},DHi=IHi.exports;var kHi=(NHi||(NHi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(DHi,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}})}(IHi)),IHi.exports),OHi=Si(kHi),LHi=Object.defineProperty,MHi=Object.defineProperties,PHi=Object.getOwnPropertyDescriptors,FHi=Object.getOwnPropertySymbols,BHi=Object.prototype.hasOwnProperty,VHi=Object.prototype.propertyIsEnumerable,UHi=(e,t,n)=>t in e?LHi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,GHi=(e,t)=>{for(var n in t||(t={}))BHi.call(t,n)&&UHi(e,n,t[n]);if(FHi)for(var n of FHi(t))VHi.call(t,n)&&UHi(e,n,t[n]);return e},HHi=(e,t)=>MHi(e,PHi(t)),zHi={};((e,t)=>{for(var n in t)LHi(e,n,{get:t[n],enumerable:!0})})(zHi,{bigquery:()=>gzi,db2:()=>Ezi,db2i:()=>kzi,hive:()=>Uzi,mariadb:()=>Kzi,mysql:()=>iji,n1ql:()=>yji,plsql:()=>Tji,postgresql:()=>Lji,redshift:()=>Hji,singlestoredb:()=>PWi,snowflake:()=>jWi,spark:()=>Xji,sql:()=>hWi,sqlite:()=>rWi,tidb:()=>dji,transactsql:()=>RWi,trino:()=>_Wi});var jHi=e=>e.flatMap(WHi),WHi=e=>JHi(qHi(e)).map($Hi),$Hi=e=>e.replace(/ +/g," ").trim(),qHi=e=>({type:"mandatory_block",items:YHi(e,0)[0]}),YHi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=KHi(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]},KHi=(e,t)=>{const n=[];for(;;){const[i,r]=XHi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},XHi=(e,t)=>{if("{"===e[t])return ZHi(e,t+1);if("["===e[t])return QHi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},ZHi=(e,t)=>{const[n,i]=YHi(e,t,"}");return[{type:"mandatory_block",items:n},i]},QHi=(e,t)=>{const[n,i]=YHi(e,t,"]");return[{type:"optional_block",items:n},i]},JHi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(JHi).reduce(ezi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(JHi);if("optional_block"===e.type)return["",...e.items.flatMap(JHi)];throw new Error(`Unknown node type: ${e}`)},ezi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},tzi=(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))(tzi||{}),nzi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),izi=nzi(1/0),rzi=e=>t=>t.type===e.type&&t.text===e.text,szi={ARRAY:rzi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:rzi({text:"BY",type:"RESERVED_KEYWORD"}),SET:rzi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:rzi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:rzi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:rzi({text:"VALUES",type:"RESERVED_CLAUSE"})},ozi=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,azi=jHi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),lzi=jHi(["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"]),czi=jHi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),uzi=jHi(["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"]),dzi=jHi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),hzi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),pzi=jHi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),gzi={name:"bigquery",tokenizerOptions:{reservedSelect:azi,reservedClauses:[...lzi,...uzi,...czi],reservedSetOperations:dzi,reservedJoins:hzi,reservedPhrases:pzi,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=izi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,HHi(GHi({},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((szi.ARRAY(r)||szi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=mzi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(fzi("raw")).join(""),text:s.map(fzi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...czi,...uzi],tabularOnelineClauses:uzi}};var fzi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function mzi(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 vzi=jHi(["SELECT [ALL | DISTINCT]"]),yzi=jHi(["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"]),bzi=jHi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),_zi=jHi(["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"]),Czi=jHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Szi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),wzi=jHi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),Ezi={name:"db2",tokenizerOptions:{reservedSelect:vzi,reservedClauses:[...yzi,...bzi,..._zi],reservedSetOperations:Czi,reservedJoins:Szi,reservedPhrases:wzi,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:[...bzi,..._zi],tabularOnelineClauses:_zi}},xzi=jHi(["SELECT [ALL | DISTINCT]"]),Tzi=jHi(["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"]),Azi=jHi(["CREATE [OR REPLACE] TABLE"]),Rzi=jHi(["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}"]),Nzi=jHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Izi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),Dzi=jHi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),kzi={name:"db2i",tokenizerOptions:{reservedSelect:xzi,reservedClauses:[...Tzi,...Azi,...Rzi],reservedSetOperations:Nzi,reservedJoins:Izi,reservedPhrases:Dzi,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:[...Azi,...Rzi],tabularOnelineClauses:Rzi}},Ozi=jHi(["SELECT [ALL | DISTINCT]"]),Lzi=jHi(["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"]),Mzi=jHi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),Pzi=jHi(["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"]),Fzi=jHi(["UNION [ALL | DISTINCT]"]),Bzi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),Vzi=jHi(["{ROWS | RANGE} BETWEEN"]),Uzi={name:"hive",tokenizerOptions:{reservedSelect:Ozi,reservedClauses:[...Lzi,...Mzi,...Pzi],reservedSetOperations:Fzi,reservedJoins:Bzi,reservedPhrases:Vzi,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:[...Mzi,...Pzi],tabularOnelineClauses:Pzi}};function Gzi(e){return e.map((t,n)=>{const i=e[n+1]||izi;if(szi.SET(t)&&"("===i.text)return HHi(GHi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||izi;return szi.VALUES(t)&&"="===r.text?HHi(GHi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var Hzi=jHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),zzi=jHi(["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"]),jzi=jHi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),Wzi=jHi(["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"]),$zi=jHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),qzi=jHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Yzi=jHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Kzi={name:"mariadb",tokenizerOptions:{reservedSelect:Hzi,reservedClauses:[...zzi,...jzi,...Wzi],reservedSetOperations:$zi,reservedJoins:qzi,reservedPhrases:Yzi,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:Gzi},formatOptions:{onelineClauses:[...jzi,...Wzi],tabularOnelineClauses:Wzi}},Xzi=jHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Zzi=jHi(["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"]),Qzi=jHi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),Jzi=jHi(["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"]),eji=jHi(["UNION [ALL | DISTINCT]"]),tji=jHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),nji=jHi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),iji={name:"mysql",tokenizerOptions:{reservedSelect:Xzi,reservedClauses:[...Zzi,...Qzi,...Jzi],reservedSetOperations:eji,reservedJoins:tji,reservedPhrases:nji,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:Gzi},formatOptions:{onelineClauses:[...Qzi,...Jzi],tabularOnelineClauses:Jzi}},rji=jHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),sji=jHi(["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"]),oji=jHi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),aji=jHi(["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"]),lji=jHi(["UNION [ALL | DISTINCT]"]),cji=jHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),uji=jHi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),dji={name:"tidb",tokenizerOptions:{reservedSelect:rji,reservedClauses:[...sji,...oji,...aji],reservedSetOperations:lji,reservedJoins:cji,reservedPhrases:uji,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:Gzi},formatOptions:{onelineClauses:[...oji,...aji],tabularOnelineClauses:aji}},hji=jHi(["SELECT [ALL | DISTINCT]"]),pji=jHi(["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"]),gji=jHi(["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"]),fji=jHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),mji=jHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),vji=jHi(["{ROWS | RANGE | GROUPS} BETWEEN"]),yji={name:"n1ql",tokenizerOptions:{reservedSelect:hji,reservedClauses:[...pji,...gji],reservedSetOperations:fji,reservedJoins:mji,reservedPhrases:vji,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:gji}},bji=jHi(["SELECT [ALL | DISTINCT | UNIQUE]"]),_ji=jHi(["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"]),Cji=jHi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),Sji=jHi(["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"]),wji=jHi(["UNION [ALL]","MINUS","INTERSECT"]),Eji=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),xji=jHi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),Tji={name:"plsql",tokenizerOptions:{reservedSelect:bji,reservedClauses:[..._ji,...Cji,...Sji],reservedSetOperations:wji,reservedJoins:Eji,reservedPhrases:xji,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=izi;return e.map(e=>szi.SET(e)&&szi.BY(t)?HHi(GHi({},e),{type:"RESERVED_KEYWORD"}):(ozi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...Cji,...Sji],tabularOnelineClauses:Sji}};var Aji=jHi(["SELECT [ALL | DISTINCT]"]),Rji=jHi(["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"]),Nji=jHi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),Iji=jHi(["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"]),Dji=jHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),kji=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Oji=jHi(["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"]),Lji={name:"postgresql",tokenizerOptions:{reservedSelect:Aji,reservedClauses:[...Rji,...Nji,...Iji],reservedSetOperations:Dji,reservedJoins:kji,reservedPhrases:Oji,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:[...Nji,...Iji],tabularOnelineClauses:Iji}},Mji=jHi(["SELECT [ALL | DISTINCT]"]),Pji=jHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),Fji=jHi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),Bji=jHi(["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"]),Vji=jHi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),Uji=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Gji=jHi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),Hji={name:"redshift",tokenizerOptions:{reservedSelect:Mji,reservedClauses:[...Pji,...Fji,...Bji],reservedSetOperations:Vji,reservedJoins:Uji,reservedPhrases:Gji,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:[...Fji,...Bji],tabularOnelineClauses:Bji}},zji=jHi(["SELECT [ALL | DISTINCT]"]),jji=jHi(["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"]),Wji=jHi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),$ji=jHi(["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"]),qji=jHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Yji=jHi(["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"]),Kji=jHi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),Xji={name:"spark",tokenizerOptions:{reservedSelect:zji,reservedClauses:[...jji,...Wji,...$ji],reservedSetOperations:qji,reservedJoins:Yji,reservedPhrases:Kji,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]||izi,r=e[n+1]||izi;return szi.WINDOW(t)&&"OPEN_PAREN"===r.type?HHi(GHi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:HHi(GHi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...Wji,...$ji],tabularOnelineClauses:$ji}};var Zji=jHi(["SELECT [ALL | DISTINCT]"]),Qji=jHi(["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"]),Jji=jHi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),eWi=jHi(["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"]),tWi=jHi(["UNION [ALL]","EXCEPT","INTERSECT"]),nWi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),iWi=jHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),rWi={name:"sqlite",tokenizerOptions:{reservedSelect:Zji,reservedClauses:[...Qji,...Jji,...eWi],reservedSetOperations:tWi,reservedJoins:nWi,reservedPhrases:iWi,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:[...Jji,...eWi],tabularOnelineClauses:eWi}},sWi=jHi(["SELECT [ALL | DISTINCT]"]),oWi=jHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),aWi=jHi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),lWi=jHi(["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"]),cWi=jHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),uWi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),dWi=jHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),hWi={name:"sql",tokenizerOptions:{reservedSelect:sWi,reservedClauses:[...oWi,...aWi,...lWi],reservedSetOperations:cWi,reservedJoins:uWi,reservedPhrases:dWi,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:[...aWi,...lWi],tabularOnelineClauses:lWi}},pWi=jHi(["SELECT [ALL | DISTINCT]"]),gWi=jHi(["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"]),fWi=jHi(["CREATE TABLE [IF NOT EXISTS]"]),mWi=jHi(["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"]),vWi=jHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),yWi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),bWi=jHi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),_Wi={name:"trino",tokenizerOptions:{reservedSelect:pWi,reservedClauses:[...gWi,...fWi,...mWi],reservedSetOperations:vWi,reservedJoins:yWi,reservedPhrases:bWi,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:[...fWi,...mWi],tabularOnelineClauses:mWi}},CWi=jHi(["SELECT [ALL | DISTINCT]"]),SWi=jHi(["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}"]),wWi=jHi(["CREATE TABLE"]),EWi=jHi(["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"]),xWi=jHi(["UNION [ALL]","EXCEPT","INTERSECT"]),TWi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),AWi=jHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),RWi={name:"transactsql",tokenizerOptions:{reservedSelect:CWi,reservedClauses:[...SWi,...wWi,...EWi],reservedSetOperations:xWi,reservedJoins:TWi,reservedPhrases:AWi,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:[...wWi,...EWi],tabularOnelineClauses:EWi}},NWi=jHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),IWi=jHi(["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"]),DWi=jHi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),kWi=jHi(["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"]),OWi=jHi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),LWi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),MWi=jHi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),PWi={name:"singlestoredb",tokenizerOptions:{reservedSelect:NWi,reservedClauses:[...IWi,...DWi,...kWi],reservedSetOperations:OWi,reservedJoins:LWi,reservedPhrases:MWi,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:Gzi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...DWi,...kWi],tabularOnelineClauses:kWi}},FWi=jHi(["SELECT [ALL | DISTINCT]"]),BWi=jHi(["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"]),VWi=jHi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),UWi=jHi(["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"]),GWi=jHi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),HWi=jHi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),zWi=jHi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),jWi={name:"snowflake",tokenizerOptions:{reservedSelect:FWi,reservedClauses:[...BWi,...VWi,...UWi],reservedSetOperations:GWi,reservedJoins:HWi,reservedPhrases:zWi,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:[...VWi,...UWi],tabularOnelineClauses:UWi}},WWi=e=>e[e.length-1],$Wi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),qWi=e=>e.replace(/\s+/gu," "),YWi=e=>/\n/.test(e),KWi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),XWi=/\s+/uy,ZWi=e=>new RegExp(`(?:${e})`,"uy"),QWi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),JWi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return ZWi(i.map(KWi).join("|"))},e$i=e=>ZWi(`${$Wi(e).map(KWi).join("|")}`),t$i=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=$Wi(e).map(KWi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},n$i=(e,t)=>{if(!e.length)return;const n=e.map(KWi).join("|");return ZWi(`(?:${n})(?:${t})`)},i$i={"``":"(?:`[^`]*`)+","[]":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,KWi(e)).replace(/{right}/g,KWi(t))),n=KWi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},r$i=e=>"string"==typeof e?i$i[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(QWi).join("|")}${t?"":"|"})`)(e)+i$i[e.quote],s$i=e=>e.map(r$i).join("|"),o$i=e=>ZWi(s$i(e)),a$i=(e={})=>ZWi(l$i(e)),l$i=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=KWi(null!=e?e:""),a=KWi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function c$i(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var u$i=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(HHi(GHi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=c$i(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(){XWi.lastIndex=this.index;const e=XWi.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}}},d$i=/\/\*/uy,h$i=/[\s\S]/uy,p$i=/\*\//uy,g$i=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(d$i,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(d$i,e))n+=t,i++;else if(t=this.matchSection(p$i,e))n+=t,i--;else{if(!(t=this.matchSection(h$i,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}},f$i=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 u$i(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 g$i:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(KWi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:o$i(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:t$i(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:m$i},{type:"CASE",regex:/CASE\b/iuy,text:m$i},{type:"END",regex:/END\b/iuy,text:m$i},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:m$i},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:m$i},{type:"RESERVED_CLAUSE",regex:t$i(e.reservedClauses,e.identChars),text:m$i},{type:"RESERVED_SELECT",regex:t$i(e.reservedSelect,e.identChars),text:m$i},{type:"RESERVED_SET_OPERATION",regex:t$i(e.reservedSetOperations,e.identChars),text:m$i},{type:"WHEN",regex:/WHEN\b/iuy,text:m$i},{type:"ELSE",regex:/ELSE\b/iuy,text:m$i},{type:"THEN",regex:/THEN\b/iuy,text:m$i},{type:"RESERVED_JOIN",regex:t$i(e.reservedJoins,e.identChars),text:m$i},{type:"AND",regex:/AND\b/iuy,text:m$i},{type:"OR",regex:/OR\b/iuy,text:m$i},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:m$i},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:t$i(e.reservedFunctionNames,e.identChars),text:m$i},{type:"RESERVED_DATA_TYPE",regex:t$i(e.reservedDataTypes,e.identChars),text:m$i},{type:"RESERVED_KEYWORD",regex:t$i(e.reservedKeywords,e.identChars),text:m$i}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,ZWi(i.map(e=>"regex"in e?e.regex:r$i(e)).join("|"))):void 0},{type:"STRING",regex:o$i(e.stringTypes)},{type:"IDENTIFIER",regex:a$i(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:JWi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:JWi("close",e.extraParens)},{type:"OPERATOR",regex:e$i(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:e$i([".",...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:n$i(a.named,l$i(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:n$i(a.quoted,s$i(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(KWi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:n$i(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:ZWi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},m$i=e=>qWi(e.toUpperCase()),v$i=new Map,y$i=e=>({tokenizer:new f$i(e.tokenizerOptions,e.name),formatOptions:b$i(e.formatOptions)}),b$i=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 _$i(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var C$i=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 S$i(e){return e.map(w$i).map(E$i).map(x$i).map(T$i).map(A$i)}var w$i=(e,t,n)=>{if(ozi(e.type)){const i=R$i(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return HHi(GHi({},e),{type:"IDENTIFIER",text:e.raw});const r=N$i(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return HHi(GHi({},e),{type:"IDENTIFIER",text:e.raw})}return e},E$i=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=N$i(n,t);if(!i||!I$i(i))return HHi(GHi({},e),{type:"IDENTIFIER",text:e.raw})}return e},x$i=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=N$i(n,t);if(i&&I$i(i))return HHi(GHi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},T$i=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=N$i(n,t);if(i&&D$i(i))return HHi(GHi({},e),{type:"ARRAY_IDENTIFIER"})}return e},A$i=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=N$i(n,t);if(i&&D$i(i))return HHi(GHi({},e),{type:"ARRAY_KEYWORD"})}return e},R$i=(e,t)=>N$i(e,t,-1),N$i=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&k$i(e[t+i*n]);)i++;return e[t+i*n]},I$i=e=>"OPEN_PAREN"===e.type&&"("===e.text,D$i=e=>"OPEN_PAREN"===e.type&&"["===e.text,k$i=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,O$i=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}=c$i(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in tzi}};function L$i(e){return e[0]}var M$i=new O$i(e=>[]),P$i=([[e]])=>e,F$i=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),B$i=e=>({type:"data_type",text:e.text,raw:e.raw}),V$i=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=HHi(GHi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=HHi(GHi({},e),{trailingComments:n})),e),U$i=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[V$i(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,V$i(i,{trailing:n})]}return e},G$i={Lexer:M$i,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:[M$i.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[M$i.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:P$i},{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:[M$i.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:L$i},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[M$i.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:V$i(F$i(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:V$i(F$i(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:[M$i.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:F$i(e),children:[t,...n]})},{name:"select_clause",symbols:[M$i.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:F$i(e),children:[]})},{name:"all_columns_asterisk",symbols:[M$i.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:[M$i.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:F$i(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:[M$i.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:F$i(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:L$i},{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])=>V$i(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>V$i(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>V$i(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:P$i},{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:P$i},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:P$i},{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:P$i},{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:P$i},{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:P$i},{name:"array_subscript",symbols:[M$i.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:V$i({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[M$i.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:V$i(F$i(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[M$i.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:V$i(F$i(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","_",M$i.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:V$i(e,{trailing:t}),operator:n.text,property:V$i(r,{leading:i})})},{name:"between_predicate",symbols:[M$i.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",M$i.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:F$i(e),expr1:U$i(n,{leading:t,trailing:i}),andKw:F$i(r),expr2:[V$i(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:L$i},{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:[M$i.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",M$i.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:V$i(F$i(e),{trailing:t}),endKw:F$i(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[M$i.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",M$i.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:V$i(F$i(e),{trailing:t}),thenKw:V$i(F$i(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[M$i.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:V$i(F$i(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[M$i.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[M$i.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[M$i.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[M$i.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[M$i.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[M$i.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:[M$i.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[M$i.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[M$i.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[M$i.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[M$i.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:[M$i.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[M$i.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[M$i.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[M$i.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[M$i.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>F$i(e)},{name:"data_type$subexpression$1",symbols:[M$i.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>B$i(e)},{name:"data_type",symbols:[M$i.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:V$i(B$i(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[M$i.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[M$i.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[M$i.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>F$i(e)},{name:"other_keyword$subexpression$1",symbols:[M$i.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[M$i.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[M$i.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[M$i.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>F$i(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:[M$i.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[M$i.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[M$i.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},H$i=G$i,{Parser:z$i,Grammar:j$i}=OHi;var W$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(;$$i(WWi(this.items));)this.items.pop()}trimWhitespace(){for(;q$i(WWi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(WWi(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}}},$$i=e=>0===e||6===e,q$i=e=>0===e||6===e||3===e;function Y$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 K$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 X$i="top-level",Z$i=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(X$i)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&WWi(this.indentTypes)===X$i&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==X$i)break}}},Q$i=class extends W$i{constructor(e){super(new Z$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 J$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 J$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--)}}},J$i=class extends Error{},eqi=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),_$i(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):_$i(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return _$i(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(),_$i(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){YWi(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 YWi(e.text)||YWi(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(WWi(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 Q$i(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof J$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){_$i(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?_$i(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 K$i(e.tokenType)?Y$i(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return qWi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return K$i(e.tokenType)?Y$i(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return qWi(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 qWi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},tqi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new C$i(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 O$i(n=>[...S$i(e.tokenize(n,t)),nzi(n.length)]),i=new z$i(j$i.fromCompiled(H$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 eqi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new W$i(new Z$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()}},nqi=class extends Error{};function iqi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new nqi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new nqi(`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 nqi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var rqi={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"},sqi=Object.keys(rqi),oqi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},aqi=(e,t={})=>{if("string"==typeof t.language&&!sqi.includes(t.language))throw new nqi(`Unsupported SQL dialect: ${t.language}`);const n=rqi[t.language||"sql"];return lqi(e,HHi(GHi({},t),{dialect:zHi[n]}))},lqi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)BHi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&FHi)for(var i of FHi(e))t.indexOf(i)<0&&VHi.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=iqi(GHi(GHi({},oqi),r));return new tqi((e=>{let t=v$i.get(e);return t||(t=y$i(e),v$i.set(e,t)),t})(i),s).format(e)};const cqi=console.error;function uqi(e){return AG_GRID_LICENSE&&zvi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),xie.jsx(bvi,{theme:"legacy",...e,modules:[omi,JLi],onGridReady:t=>{e.onGridReady?.(t),"production"!==process.env.NODE_ENV&&(console.error=cqi)}})}class dqi{uuid=Mr()}const hqi=(e,t,n)=>{const i=new xS(I_(t)),r=n??e.filterState.lambdaParameterName,s=e.sourceState.buildLeftExpression(e.filterState.queryBuilderState,r);if(i.parametersValues.push(s),e.rightConditionValue&&e.rightConditionValue instanceof TBi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof ABi){const t=SBi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.filterState.queryBuilderState,r);i.parametersValues.push(t)}return i},pqi=e=>{const t=e.parametersValues[0];return t instanceof TS?t.func.value.genericType.value.rawType.path:t instanceof ES&&t.func instanceof $_?t.func.genericType.value.rawType.path:void 0},gqi=(e,t,n,i,r=!1)=>{let s,o;if(O_(t.functionName,n)){br(t.parametersValues.length===(r?1:2),`Can't process ${I_(n)}() expression: ${I_(n)}() expects ${r?"no argument":"1 argument"}`);const i=t.parametersValues[0];if(i instanceof TS)s=new DBi(e,i);else{if(!(i instanceof ES&&i.func instanceof $_))throw new Error(`Can't process ${I_(n)}() expression: expects property expression or relation column in lambda body`);{const t=i.func;s=new DBi(e,new IBi(t.name,t.genericType.value.rawType))}}o=t}else if(O_(t.functionName,Pft.EXISTS)){const i=fr(t.parametersValues[1],NS),a=fr(i.values[0],RS),l=fr(a.expressionSequence[0],xS);br(l.parametersValues.length===(r?1:2),`Can't process ${I_(n)}() expression: ${I_(n)}() expects ${r?"no argument":"1 argument"}`);const c=fr(l.parametersValues[0],TS,`Can't process ${I_(n)}() expression: expects property expression in lambda body`);s=new DBi(e,c),o=l}if(s&&o){br(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${I_(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 TS?s.setRightConditionValue(new ABi(s,new LFi(e.queryBuilderState,t))):s.setRightConditionValue(new TBi(s,gmt(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new TBi(s,i.getDefaultFilterConditionValue(s))),s}};class fqi extends dqi{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(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 eC&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return lmt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;return xFi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return hqi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Pft.IS_ON_DAY:Pft.EQUAL,t)}buildFilterConditionState(e,t){return gqi(e,t,pqi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_DAY:Pft.EQUAL,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_EQUAL])}}class mqi extends fqi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_NOT_EQUAL])}}class vqi extends dqi{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(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 eC}isCompatibleWithFilterConditionValue(e){const t=e.leftConditionType,n=e.rightConditionValue;if(n instanceof TBi){const i=n.value;if(i instanceof mS){if(0===i.values.length)return!0;const n=nmt(e.filterState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(amt(t)??t.path)?[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(amt(n)??n.path):n===t)}if(i instanceof hS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.leftConditionType;return new mS(A_.ONE,H_.create(new Y_(t)))}buildFilterConditionExpression(e,t){return hqi(e,Pft.IN,t)}buildFilterConditionState(e,t){return gqi(e,t,Pft.IN,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_IN])}}class yqi extends vqi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_NOT_IN])}}class bqi extends dqi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType;return!!(e.sourceState instanceof NBi&&omt(e.propertyExpressionState.propertyExpression))&&(t instanceof eC||t instanceof V_||t instanceof U_)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return hqi(e,Pft.IS_EMPTY,t)}buildFilterConditionState(e,t){return gqi(e,t,Pft.IS_EMPTY,this,!0)}get hashCode(){return mv([fmt.FILTER_OPERATOR_IS_EMPTY])}}class _qi extends bqi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_IS_NOT_EMPTY])}}const Cqi=e=>{try{return aqi(e,{language:"mysql"})}catch{try{return aqi(e)}catch{return e}}},Sqi=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},wqi=new fqi,Eqi=new mqi,xqi=new vqi,Tqi=new yqi,Aqi=new bqi,Rqi=new _qi,Nqi=new wVi,Iqi=new bVi,Dqi=new CVi,kqi=new SVi,Oqi=new EVi,Lqi=new _Vi,Mqi=(e,t,n)=>{t.value&&Zft(e,e instanceof fS?cC.create(dr((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},Pqi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?Aqi:wqi:null===t.value?Rqi:Eqi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(pr(FBi)).filter(n=>n.condition.sourceState instanceof NBi&&n.condition.sourceState.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[Aqi,Rqi]:t?[wqi,xqi]:[Eqi,Tqi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===Aqi||i===Rqi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?Aqi:Rqi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof TBi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof pS&&(a.value instanceof fS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);Mqi(i,n,s),o.changeOperator(t?xqi:Tqi),Qft(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof pS&&a.value.values.filter(e=>e instanceof pS).map(e=>e instanceof fS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?wqi:Eqi).getDefaultFilterConditionValue(o);Mqi(e,n,s),Qft(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 DBi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),Mqi(e,n,i.queryBuilderState),i.addNodeFromNode(new FBi(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)}},Fqi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?Dqi:Nqi:null===t.value?kqi:Oqi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(pr(hVi)).filter(e=>e.condition.leftConditionValue instanceof UFi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[Dqi,kqi]:t?[Nqi,Iqi]:[Oqi,Lqi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===Dqi||i===kqi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?Dqi:kqi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof fVi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof pS&&(a.value instanceof fS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);Mqi(i,n,s.queryBuilderState),o.changeOperator(t?Iqi:Lqi),Qft(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof pS&&a.value.values.filter(e=>e instanceof pS).map(e=>e instanceof fS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?Nqi:Oqi).getDefaultFilterConditionValue(o);Mqi(e,n,s.queryBuilderState),Qft(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 vVi(i.postFilterState,e,t),r instanceof jFi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),Mqi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new hVi(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)}},Bqi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?cBi(r,n.columnName):void 0;s instanceof jFi||s instanceof $Fi||s instanceof GFi&&EBi(s.propertyExpressionState.propertyExpression)?await Fqi(e,t,n,i,s,r):s instanceof GFi?Pqi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},Vqi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await Bqi(e,n,r,t,i)};boe(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Ipt(),a=n?.columnName?cBi(i,n.columnName):void 0;return xie.jsxs(yFe,{ref:t,children:[xie.jsx(bFe,{disabled:!a,onClick:()=>{Vqi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),xie.jsx(bFe,{disabled:!a,onClick:()=>{Vqi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),xie.jsx(_Fe,{}),xie.jsx(bFe,{onClick:r,children:"Copy Cell Value"}),xie.jsx(bFe,{onClick:s,children:"Copy Row Value"})]})}));const Uqi=boe(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return xie.jsxs(xie.Fragment,{children:[xie.jsxs("div",{className:"query-builder__sql__container",children:[xie.jsx(FFe,{}),xie.jsxs("div",{children:[xie.jsx("div",{className:"query-builder__sql__container__item__label",children:xie.jsxs(MFe,{children:["SQL",xie.jsx("div",{children:xie.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:xie.jsx(Gre,{})})})]})}),xie.jsx("div",{className:"query-builder__sql__container__code-editor",children:xie.jsx(xHi,{inputValue:Cqi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:nOn.SQL})}),xie.jsx(FFe,{})]},t)]}),n.length>0&&xie.jsx("div",{className:"query-builder__sql__container",children:xie.jsxs("div",{children:[xie.jsx(MFe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__sql__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Label"}),xie.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),xie.jsx("tbody",{children:n.map(e=>xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&xie.jsx("td",{className:"table__cell--left",children:xq(e.dataType)})]},e.label))})]})]})})]})}),Gqi=boe(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?xie.jsx(Uqi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):xie.jsxs(LFe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[xie.jsx(Uqi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),xie.jsx(wHi,{resultType:i}),xie.jsx("div",{className:"query-builder__sql__container",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})}),Hqi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return xie.jsxs("div",{className:n,children:[xie.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&xie.jsx("div",{className:`${n}__tag`,children:t.value.path}),xie.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},zqi=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 OS?(l=t.tree.property.value,c=l.genericType.value.rawType,u=t.tree.subType?.value):t.tree instanceof kS&&(c=t.tree.class.value);const d=Boolean(t.childrenIds.length)?t.isOpen?xie.jsx(kse,{}):xie.jsx(Lse,{}):xie.jsx("div",{}),h=c?kUi(c):xie.jsx(Sxe,{}),p=()=>r?.(t);return xie.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[xie.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[xie.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:d}),xie.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),xie.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,u&&xie.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:xie.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:u.name})}),xie.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:xie.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),xie.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:xie.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:xie.jsx(wse,{})})})]})},jqi=boe(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return xie.jsx(Yye,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:xie.jsxs(cFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[xie.jsx(dFe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),xie.jsx(pFe,{className:"query-builder-graph-fetch-config__content",children:xie.jsx(NFe,{children:xie.jsxs(PFe,{children:[xie.jsx(UFe,{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}),xie.jsx(UFe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),xie.jsx(HFe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),xie.jsx(HFe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),xie.jsx(HFe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),xie.jsx(HFe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),xie.jsx(HFe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),xie.jsx(HFe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),xie.jsxs(gFe,{children:[!s&&xie.jsx(mFe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),xie.jsx(mFe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),Wqi=boe(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>NUi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return xie.jsx("div",{className:"query-builder-graph-fetch-external-format",children:xie.jsxs("div",{className:"service-execution-editor__configuration__items",children:[xie.jsxs("div",{className:"service-execution-editor__configuration__item",children:[xie.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:xie.jsx(Tre,{})}),xie.jsx(oFe,{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:Hqi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),xie.jsxs("div",{className:"service-execution-editor__configuration__item",children:[xie.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:xie.jsx(ese,{})}),xie.jsx(LOe,{components:{TreeNodeContainer:zqi},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"):(rHi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),$qi=boe(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(pr(FK)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(pr(X_)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...Uw(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof X_))).includes(i.tree.class.value)});return xie.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[xie.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[xie.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(aHi).map(e=>{return xie.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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case aHi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new pHi(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 aHi.PURE:default:t.setSerializationState(new hHi(t))}})},{label:"Cancel",type:hgt.PROCEED,default:!0}]})}),className:woe("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:vm(e)},e);var r})}),xie.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof hHi&&xie.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:xie.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof hHi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[xie.jsx(cre,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),xie.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),xie.jsxs("div",{className:woe("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[xie.jsx("button",{className:woe("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?xie.jsx(Mre,{}):xie.jsx(Cse,{})}),xie.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),xie.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:xie.jsx(sse,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),xie.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof hHi&&n.configModal&&xie.jsx(jqi,{pureSerializationState:n,graphFetchState:t,config:n.config??uHi.createDefault()}),xie.jsxs(uGe,{orientation:"horizontal",children:[xie.jsx(dGe,{children:xie.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:xie.jsx(LOe,{components:{TreeNodeContainer:zqi},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=>{rHi(i,e),0===i.nodes.size&&t.setSerializationState(new hHi(t)),n instanceof pHi&&n.treeData?.nodes.get(e.id)&&(rHi(n.treeData,dr(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),xie.jsx(hGe,{}),n instanceof pHi&&n.treeData&&xie.jsx(dGe,{children:xie.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:xie.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:xie.jsx(Wqi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),qqi=boe(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof pHi&&i.addProperty(mn(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=UVe(()=>({accept:[fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{Tft.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:xie.jsxs(uUe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||tHi(r))&&xie.jsx($Fe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!tHi(r)&&xie.jsx($qi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),Yqi=boe(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof hHi||n instanceof pHi?xie.jsx(qqi,{graphFetchTreeState:t,serializationState:n}):xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_GRAPH_FETCH,children:xie.jsx(jFe,{children:xie.jsxs("div",{className:"unsupported-element-editor__main",children:[xie.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),xie.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(yHi.TEXT),children:"Edit in text mode"})]})})})}),Kqi=boe(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof kS?i=eHi(fr(t.graphFetchTree,kS),!0):t.graphFetchTree instanceof OS&&(i=(e=>{const t=[],n=new Map,i=QGi(e,void 0,n);jr(t,i.id),n.set(i.id,i);const r=new kS(C_.create(new K_("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return xie.jsx(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:xie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),xie.jsxs("tbody",{children:[void 0!==t.parentIndex&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),xie.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"Checked"}),xie.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),xie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"Store"}),xie.jsx("td",{className:"table__cell--left",children:t.store})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),xie.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),xie.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),xie.jsx(FFe,{}),i&&xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:xie.jsx(LOe,{components:{TreeNodeContainer:zqi},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}})})}),xie.jsx(FFe,{})]}),t.xStorePropertyFetchDetails&&xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),xie.jsxs("tbody",{children:[xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" propertyPath "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" subTree "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" targetSetId"}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),xie.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof w2&&xie.jsx(SHi,{resultType:t.resultType}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})})}),Xqi=boe(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return xie.jsxs(LFe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[xie.jsx("div",{className:"query-builder__function-parameters-validation__container",children:xie.jsxs("div",{children:[xie.jsx(MFe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Name"}),xie.jsx("th",{className:"table__cell--left",children:"Type"})]})}),xie.jsx("tbody",{children:t.map(e=>{return xie.jsx(n.Fragment,{children:xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:e.name}),xie.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===A_.ZERO?"[0]":t===A_.ONE?"[1]":t===A_.ZERO_ONE?"[0..1]":t===A_.ZERO_MANY||t===A_.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),xie.jsx(FFe,{}),xie.jsx(wHi,{resultType:i}),xie.jsx("div",{className:"query-builder__function-parameters-validation__container",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})}),Zqi=boe(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 xie.jsxs(LFe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&xie.jsx("div",{className:"query-builder__constant__container",children:xie.jsxs("div",{children:[xie.jsx(MFe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),xie.jsx(FFe,{}),xie.jsx("pre",{children:xie.jsx("div",{className:"query-builder__constant__container__item",children:xie.jsxs("div",{children:["value: ",r]})})})]})}),xie.jsx(FFe,{}),xie.jsx(wHi,{resultType:i}),xie.jsx("div",{className:"query-builder__constant__container",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})}),Qqi=boe(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return xie.jsxs(LFe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[xie.jsx("div",{className:"query-builder__allocation__container",children:xie.jsxs("div",{children:[xie.jsx(MFe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__allocation__container__item",children:xie.jsx("table",{className:"query-builder__allocation__container__table",children:xie.jsxs("tbody",{children:[xie.jsxs("tr",{children:[xie.jsx("td",{children:"varName"}),xie.jsx("td",{children:`: ${i}`})]}),xie.jsxs("tr",{children:[xie.jsx("td",{children:"realizeInMemory"}),xie.jsx("td",{children:`: ${s}`})]})]})})})]})}),xie.jsx(FFe,{}),xie.jsx(wHi,{resultType:r}),xie.jsx(FFe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof T1&&xie.jsx(Zqi,{cnode:t.executionNodes[0],executionPlanState:n}),xie.jsx(FFe,{})]})}),Jqi=boe(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?xie.jsx("div",{}):o?xie.jsx(kse,{}):xie.jsx(Lse,{});return xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"query-builder__sequence__container",children:xie.jsxs("div",{children:[xie.jsx(MFe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),xie.jsx(FFe,{}),t.executionNodes.map((e,t)=>xie.jsx("div",{className:"query-builder__sequence__container__item",children:xie.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 bYi?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof _Yi&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${dYi(e)}`,children:[!r&&l,`${t+1}: ${dYi(e)}`]})},e._UUID))]})}),xie.jsx(FFe,{}),xie.jsx(wHi,{resultType:s}),!1===r&&o&&xie.jsx(fYi,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),eYi=boe(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?xie.jsx(Jqi,{node:t,executionPlanState:n,viewJson:i}):xie.jsxs(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[xie.jsx(Jqi,{node:t,executionPlanState:n,viewJson:i}),xie.jsx("div",{className:"query-builder__execution__container",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})}),tYi=boe(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return xie.jsxs(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof pq&&xie.jsx(Uqi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),xie.jsx(FFe,{}),xie.jsx(wHi,{resultType:i}),xie.jsx("div",{className:"query-builder__sql__container",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})}),nYi=boe(e=>{const{node:t,executionPlanState:n}=e;return xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof e2&&t.implementation.executionClassFullName&&xie.jsx("div",{className:"query-builder__implementation__container__item",children:xie.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(fr(n.plan,l5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(EYi.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof e2&&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 iYi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(iYi||(iYi={}));const rYi=boe(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof L2?i=iYi.RESULT_SET:t instanceof V2&&(i=iYi.TEMP_FILE),t instanceof F2&&(i=iYi.SUB_QUERY),xie.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&xie.jsxs(MFe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),xie.jsx(MFe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${dYi(t.createTempTableNode)})`}),xie.jsx(fYi,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),xie.jsx(FFe,{}),xie.jsx(MFe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${dYi(t.loadTempTableNode)})`}),xie.jsx(fYi,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),xie.jsx(FFe,{}),xie.jsx(MFe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${dYi(t.dropTempTableNode)})`}),xie.jsx(fYi,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),xie.jsx(FFe,{})]})});var sYi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(sYi||(sYi={}));const oYi=boe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(sYi.GENERAL);return xie.jsx(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:xie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:xie.jsxs("div",{className:"panel",children:[xie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:xie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(sYi).map(e=>xie.jsx("div",{onClick:()=>o(e),className:woe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===sYi.GENERAL&&xie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),xie.jsxs("tbody",{children:[xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"Batch Size"}),xie.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"Checked"}),xie.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),xie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:xie.jsx(nYi,{node:t,executionPlanState:i})}),xie.jsx(FFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof pq&&xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),xie.jsx(FFe,{}),xie.jsx(Uqi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(wHi,{resultType:t.resultType})}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(wYi.JSON),text:"View JSON"})})]}),s===sYi.TEMP_TABLE&&t.tempTableStrategy&&xie.jsx(rYi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var aYi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(aYi||(aYi={}));const lYi=boe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(aYi.GENERAL);return xie.jsx(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:xie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:xie.jsxs("div",{className:"panel",children:[xie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:xie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(aYi).map(e=>xie.jsx("div",{onClick:()=>o(e),className:woe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===aYi.GENERAL&&xie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),xie.jsxs("tbody",{children:[xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),xie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:xie.jsx(nYi,{node:t,executionPlanState:i})}),xie.jsx(FFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof pq&&xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),xie.jsx(FFe,{}),xie.jsx(Uqi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(wHi,{resultType:t.resultType})}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(wYi.JSON),text:"View JSON"})})]}),s===aYi.TEMP_TABLE&&t.tempTableStrategy&&xie.jsx(rYi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var cYi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(cYi||(cYi={}));const uYi=boe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(cYi.GENERAL);return xie.jsx(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:xie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:xie.jsxs("div",{className:"panel",children:[xie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:xie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(cYi).map(e=>xie.jsx("div",{onClick:()=>o(e),className:woe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===cYi.GENERAL&&xie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),xie.jsxs("tbody",{children:[xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),xie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:xie.jsx(nYi,{node:t,executionPlanState:i})}),xie.jsx(FFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof pq&&xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),xie.jsx(FFe,{}),xie.jsx(Uqi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(wHi,{resultType:t.resultType})}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(wYi.JSON),text:"View JSON"})})]}),s===cYi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&xie.jsx(rYi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===cYi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&xie.jsx(rYi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),dYi=e=>e instanceof pq?"SQL Execution Node":e instanceof mq?"Relational TDS Instantiation Execution Node":e instanceof S1?"Function Parameters Validation Node":e instanceof x1?`Allocation Execution Node (${e.varName})`:e instanceof T1?"Constant Execution Node":e instanceof A1?"Sequence Execution Node":e instanceof o2?"Store Mapping Global Graph Fetch Execution Node":e instanceof m2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof G2?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof d2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof y2?"Pure Expression Platform Execution Node":"Other",hYi=boe(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof e2&&(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}`)),xie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:xie.jsxs("div",{className:"panel",children:[xie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:xie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(EYi).map(e=>xie.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:woe("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===EYi.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof e2&&xie.jsxs(uGe,{orientation:"vertical",children:[xie.jsx(dGe,{minSize:30,size:400,children:xie.jsx(LFe,{darkMode:r,className:"query-builder__java__container__panel",children:xie.jsx("div",{className:"query-builder__java__container",children:xie.jsxs("div",{children:[n.classes.map(e=>xie.jsx("div",{className:woe("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:xie.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)),xie.jsx(FFe,{})]})})})}),xie.jsx(hGe,{children:xie.jsx(pGe,{color:"var(--color-dark-grey-200)"})}),xie.jsx(dGe,{children:t.globalImplementationSupportState.selectedJavaClass&&xie.jsx(xHi,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:nOn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===EYi.GENERAL&&i.length>0&&xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),xie.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),xie.jsx("div",{className:"query-builder__template--function--editor__code",children:xie.jsx(xHi,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:nOn.XML,hideMinimap:!0,hideActionBar:!0})}),xie.jsx("div",{className:"query-builder__template--function--editor__json",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(wYi.JSON),text:"View JSON"})})]})]})})}),pYi=boe(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?xie.jsx(kse,{}):xie.jsx(Lse,{}):xie.jsx("div",{});let o="",a="";return t instanceof _Yi&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof o2?o="Cross":t.executionNode instanceof l2&&(o="Local")),a=(e=>{if(e instanceof o2||e instanceof l2){if(e.graphFetchTree instanceof kS)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof OS)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),xie.jsxs("div",{className:woe("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:[xie.jsx("div",{className:"tree-view__node__icon",children:xie.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&xie.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:xie.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&xie.jsx("div",{className:"execution-plan-viewer__node__type",children:xie.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),xie.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),gYi=boe(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof bYi){const n=e.executionPlan.rootExecutionNode,i=CYi(n,dYi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof _Yi){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=CYi(n,dYi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof o2){const n=e.executionNode.localGraphFetchExecutionNode,i=CYi(n,dYi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=CYi(n,dYi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof c2&&e.executionNode.children.forEach(n=>{const i=CYi(n,dYi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return xie.jsx(LOe,{components:{TreeNodeContainer:pYi},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 bYi?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof _Yi&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),fYi=boe(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof pq?xie.jsx(Gqi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof mq?xie.jsx(tYi,{node:t,executionPlanState:n}):t instanceof S1?xie.jsx(Xqi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof x1?xie.jsx(Qqi,{node:t,executionPlanState:n}):t instanceof T1?xie.jsx(Zqi,{cnode:t,executionPlanState:n}):t instanceof A1?xie.jsx(eYi,{node:t,executionPlanState:n,viewJson:i}):t instanceof o2?xie.jsx(Kqi,{storeMappingNode:t,executionPlanState:n}):t instanceof G2?xie.jsx(uYi,{node:t,executionPlanState:n}):t instanceof m2?xie.jsx(oYi,{node:t,executionPlanState:n}):t instanceof d2?xie.jsx(lYi,{node:t,executionPlanState:n}):xie.jsx(jFe,{children:xie.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[xie.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),xie.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(wYi.JSON),children:"View JSON"})]})})}),mYi=boe(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof bYi?r=i.selectedNode.executionPlan:i.selectedNode instanceof _Yi&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof bYi&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(wYi);return xie.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&xie.jsxs(xie.Fragment,{children:[xie.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[xie.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:xie.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),xie.jsx(EFe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:xie.jsx(yFe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:xie.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[xie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),xie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>xie.jsx(bFe,{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:xie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),xie.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===wYi.JSON&&Boolean(t)&&xie.jsx(xHi,{inputValue:t,isReadOnly:!0,language:nOn.JSON,hideMinimap:!0}),i.viewMode===wYi.FORM&&xie.jsxs(xie.Fragment,{children:[r instanceof hq&&xie.jsx(fYi,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof l5&&xie.jsx(hYi,{executionPlanState:i})]})]})]})})}),vYi=boe(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return xie.jsx("div",{className:"execution-plan-viewer__content",children:i?xie.jsxs(uGe,{orientation:"vertical",children:[xie.jsx(dGe,{size:300,minSize:300,children:xie.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[xie.jsx(DFe,{darkMode:r,title:"execution plan explorer"}),xie.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:xie.jsx(gYi,{executionPlanState:t,executionPlan:i})})]})}),xie.jsx(hGe,{children:xie.jsx(pGe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),xie.jsx(dGe,{children:xie.jsx(mYi,{displayData:t.displayData,executionPlanState:t})})]}):xie.jsx(xHi,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:nOn.JSON})})}),yYi=boe(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(EYi.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?xie.jsx(Yye,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:xie.jsxs(cFe,{className:"editor-modal",darkMode:r,children:[xie.jsx(dFe,{title:"Execution Plan"}),xie.jsx(pFe,{children:t.debugText?xie.jsxs(uGe,{orientation:"horizontal",children:[xie.jsx(dGe,{minSize:100,children:xie.jsx(vYi,{executionPlanState:t,rawPlan:i})}),xie.jsx(hGe,{children:xie.jsx(pGe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),xie.jsx(dGe,{size:200,minSize:28,children:xie.jsxs(NFe,{className:"panel execution-plan-viewer__debug-panel",children:[xie.jsx(IFe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),xie.jsx(LFe,{children:xie.jsx(xHi,{inputValue:t.debugText,isReadOnly:!0,language:nOn.TEXT})})]})})]}):xie.jsx(vYi,{executionPlanState:t,rawPlan:i})}),xie.jsx(gFe,{children:xie.jsx(mFe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class bYi{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 _Yi{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 CYi=(e,t,n)=>{const i=new _Yi(e._UUID,t,e,n instanceof _Yi?dYi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(pr(hq)).forEach(e=>{jr(r,e._UUID)}),e instanceof o2&&(jr(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(pr(hq)).forEach(e=>{jr(r,e._UUID)})),e instanceof c2&&e.children.slice().filter(pr(hq)).forEach(e=>{jr(r,e._UUID)}),i.childrenIds=r,i},SYi=e=>{const t=[],n=new Map,i=(e=>{const t=new bYi("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 wYi,EYi;!function(e){e.FORM="Form",e.JSON="JSON"}(wYi||(wYi={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(EYi||(EYi={}));class xYi{selectedTab=EYi.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 TYi{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=wYi.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new xYi;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(SYi(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 l5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof hq){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const AYi=e=>{try{const t=e.getFirstDisplayedRowIndex(),n=e.getLastDisplayedRowIndex();if(n>=t)return Math.max(1,n-t)}catch{}return 25},RYi=e=>{const t=e.getCellRanges();return t&&t.length>0?t[t.length-1]:null},NYi=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=RYi(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=RYi(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=RYi(t),o=s?.startRow?.rowIndex??i,a=s?.endRow?.rowIndex??i,l=s?s.columns:[n],c="PageDown"===e.code?AYi(t):-AYi(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))},IYi=e=>Intl.NumberFormat(gUi,{maximumFractionDigits:qYi}).format(e),DYi=()=>xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__spinner",title:"Computing…"}),kYi=({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")}),xie.jsx("div",{ref:r,className:woe("query-builder__result__tds-grid__stats-bar__freq-tooltip",{"query-builder__result__tds-grid__stats-bar__freq-tooltip--dark":t}),children:xie.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 xie.jsxs("g",{children:[xie.jsx("text",{x:86,y:n+10-2,textAnchor:"end",className:woe("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}),xie.jsx("rect",{x:90,y:n,width:r,height:10,className:woe("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})}),xie.jsx("text",{x:174,y:n+10-2,className:"query-builder__result__tds-grid__stats-bar__freq-tooltip__count",children:e.count})]},t)})})})},OYi=(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 ${IYi(e.lower)}`:`${i} within the range ${IYi(e.lower)} – ${IYi(e.upper)}`},LYi=({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 xie.jsx("div",{className:woe("query-builder__result__tds-grid__stats-bar__chart",{"query-builder__result__tds-grid__stats-bar__chart--dark":n}),children:xie.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 xie.jsx("rect",{x:o,y:18-r,width:s,height:r,opacity:0===e.count?.15:1,children:xie.jsx("title",{children:OYi(e,t)})},n)})})})},MYi=boe(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 xie.jsxs("div",{className:woe("query-builder__result__tds-grid__stats-bar",{"query-builder__result__tds-grid__stats-bar--dark":r}),children:[xie.jsxs("span",{className:woe("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:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Count:"}),xie.jsx("span",{className:woe("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:xie.jsx(DYi,{})}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&xie.jsx(kYi,{frequencies:t.valueFrequencies,darkMode:r})]}),xie.jsxs("span",{className:woe("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:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Unique Count:"}),xie.jsx("span",{className:woe("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?xie.jsx(DYi,{}):t.uniqueCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&xie.jsx(kYi,{frequencies:t.valueFrequencies,darkMode:r})]}),xie.jsxs("span",{className:woe("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:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Empty Count:"}),xie.jsx("span",{className:woe("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?xie.jsx(DYi,{}):t.nullCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&xie.jsx(kYi,{frequencies:t.valueFrequencies,darkMode:r})]}),o&&xie.jsxs(xie.Fragment,{children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:IYi(t.min??0)})]}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:IYi(t.max??0)})]}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Sum:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:IYi(t.sum??0)})]}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Avg:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:IYi(t.avg??0)})]})]}),a&&xie.jsxs(xie.Fragment,{children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMin})]}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMax})]})]}),l&&xie.jsxs(xie.Fragment,{children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min Length:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMinLength})]}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max Length:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMaxLength})]})]}),c&&xie.jsxs(xie.Fragment,{children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),xie.jsx(LYi,{buckets:t.distributionBuckets??[],chartType:t.distributionChartType??"numeric",darkMode:r})]})]})}),PYi=new Set([Xb.INTEGER,Xb.FLOAT,Xb.DECIMAL,Xb.NUMBER]),FYi=new Set([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME]),BYi=new Set([Xb.STRING]),VYi=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},UYi=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)},GYi=e=>"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):null==e?"":JSON.stringify(e),HYi=(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?[]:VYi(t).map(e=>({...e,lowerDateLabel:UYi(e.lower),upperDateLabel:UYi(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}},zYi=(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(PYi)?"numeric":n(FYi)?"date":n(BYi)?"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=GYi(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:VYi(i),distributionChartType:"numeric",valueFrequencies:n}})(l,e,a):"date"===o?HYi(l,r,a):"string"===o?((e,t,n)=>{const i=t.map(e=>GYi(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?VYi(i):void 0,distributionChartType:i.length>0?"string-length":void 0,valueFrequencies:n}})(l,r,a):l},jYi=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}},WYi=(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?jYi(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?jYi(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=zYi(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}},$Yi=(e,t,n,i)=>{const r=n.queryBuilderState.fetchStructureState.implementation;return r instanceof bUi?(((e,t)=>{const n=[],i=e.api.getCellRanges()??[];for(const t of i){const i=Math.min(t.startRow?.rowIndex??0,t.endRow?.rowIndex??0),r=Math.max(t.startRow?.rowIndex??0,t.endRow?.rowIndex??0);for(let s=i;s<=r;s++){const i=e.api.getDisplayedRowAtIndex(s);t.columns.forEach((e,t)=>{const r=e.getColId(),o=i?.data?.[r];n.push({value:o??null,columnName:r,coordinates:{rowIndex:s,colIndex:t}})})}}if(0===n.length&&e.node&&e.column){const t=e.column.getColId();n.push({value:e.value??null,columnName:t,coordinates:{rowIndex:e.node.rowIndex??0,colIndex:0}})}t.setSelectedCells(n),n.length>0&&t.setMouseOverCell(n[0]??null)})(e,n),[{name:"Filter By",action:()=>{Vqi(t,n.mousedOverCell,!0,r).catch(i)}},{name:"Filter Out",action:()=>{Vqi(t,n.mousedOverCell,!1,r).catch(i)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]):[]},qYi=4,YYi=e=>xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[xie.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:xie.jsx(sre,{})}),xie.jsx("div",{children:e.displayName})]}),KYi=(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>qYi}return!1}));switch(t){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:YYi}}:{};default:return{}}}return{}},XYi=boe(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 uZ)return t.executionResult.result.columns[e]},d=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof uZ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>pZ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>pZ(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 xie.jsx("div",{className:woe("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?xie.jsx("a",{href:s,target:"_blank",rel:"noreferrer",children:s}):xie.jsx("span",{children:Cr(i)?Intl.NumberFormat(gUi,{maximumFractionDigits:qYi}).format(Number(i)):Sr(i)?String(i):i})})}),ZYi=(e,t)=>{e.length>0&&(t.setSelectedCells(e),t.setMouseOverCell(e[0]??null))},QYi=boe(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Ipt(),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,...KYi(t,e),cellRenderer:XYi,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=WYi(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 ZYi(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 ZYi(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);ZYi(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=>$Yi(e,s,o,i.applicationStore.alertUnhandledError),[s,o,i.applicationStore.alertUnhandledError]);return xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:xie.jsxs("div",{ref:p,tabIndex:-1,className:woe("query-builder__result__tds-grid",{"query-builder__result__tds-grid--with-stats-bar":r,"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:[xie.jsx(uqi,{rowData:Sqi(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&&xie.jsx(MYi,{stats:h.stats,cellCount:h.cellCount,countReady:h.countReady,darkMode:a})]})})});var JYi;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(JYi||(JYi={}));const eKi=(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"]}}},tKi=boe(e=>{const t=e.resultState,n=e.value,i=_r(n)&&Dh(n)?n:void 0;return xie.jsx("div",{className:woe("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?xie.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):xie.jsx("span",{children:Cr(n)?Intl.NumberFormat(gUi,{maximumFractionDigits:qYi}).format(Number(n)):Sr(n)?String(n):n})})}),nKi=(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}}},iKi=boe(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Ipt(),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:tKi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...eKi(e,n),...KYi(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:tKi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...nKi(e,n),...KYi(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=>$Yi(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),JYi.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=WYi(y,_,C);return xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:xie.jsxs("div",{className:woe("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?xie.jsx(uqi,{rowData:Sqi(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 oKi),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=>{NYi(e)}}):xie.jsx(uqi,{rowData:Sqi(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=>{NYi(e)}}),r&&void 0!==S&&xie.jsx(MYi,{stats:S.stats,cellCount:S.cellCount,countReady:S.countReady,darkMode:o}),d.wavgAggregationState?.isApplyingWavg&&xie.jsx(Yye,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:xie.jsxs(cFe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[xie.jsx(dFe,{title:"Applying Weighted Average"}),xie.jsxs(pFe,{children:[xie.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),xie.jsx(oFe,{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})]}),xie.jsx(gFe,{children:xie.jsx(mFe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var rKi;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(rKi||(rKi={}));class sKi{applicationStore;selectedTab=rKi.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 oKi{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 aKi{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 TYi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new sKi(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 bUi&&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 uZ&&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===JYi.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 oKi,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=nVi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=G6(n,this.queryBuilderState.graphManagerState)}else if(t=dr(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return qBi(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});Tft.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:$Bi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},void 0,n);if("true"===s.headers.get(FQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=q5(this.queryBuilderState.graphManagerState.graph);gft(s,`result.${Ch(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());Tft.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.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=$Bi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);Tft.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new Fy,s=q5(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:[PQ],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());Tft.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(bi(t),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof aQ&&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(PS.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=q5(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){Tft.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 Tft.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(yft.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?Tft.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):Tft.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.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(PS.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class lKi{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([fmt.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const cKi="QUERY_BUILDER_FUNCTION",uKi=(e,t)=>t===Kb.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,dKi=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof oC)).filter(t=>t instanceof X_&&uKi(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),hKi=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),pKi=(e,t,n,i=Kb.MAIN)=>{const r=i===Kb.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=uKi(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof X_&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>dKi(e,t,i)),c=o?.map(e=>r?.get(e)).filter(cr).map(e=>hKi(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)})},gKi=(e,t,n=Kb.MAIN)=>{const i=[],r=new Map,s=uKi(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 X_&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=dKi(t,e,n);jr(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},fKi=(e,t,n,i=Kb.MAIN)=>(pKi(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(cr).sort(aFe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),mKi=e=>e.package?(e instanceof X_?[e]:[]).concat([e.package].concat(mKi(e.package))):[];class vKi{uuid=Mr();queryFunctionsState;functionAnalysisInfo;constructor(e,t){hd(this,{functionAnalysisInfo:Rc}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class yKi{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=>jw(this._functionGraph,e.packagePath,void 0)).map(e=>mKi(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>jw(this._functionGraph,e.packagePath,void 0)).map(e=>mKi(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,pKi(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(gE(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;gE(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(gKi([this._functionGraph.root],this.queryBuilderState,Kb.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new vKi(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(gKi([this._functionGraph.root],this.queryBuilderState,Kb.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new vKi(this,e)):[])}),this.initState.pass())}}class bKi extends XBi{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([fmt.PARAMETERS_STATE,mv(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class _Ki extends dqi{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return lmt(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 xFi(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 hqi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Pft.IS_AFTER_DAY:Pft.GREATER_THAN,t)}buildFilterConditionState(e,t){return gqi(e,t,pqi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_AFTER_DAY:Pft.GREATER_THAN,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_GREATER_THAN])}}class CKi extends dqi{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return amt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return xFi(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 hqi(e,Pft.STARTS_WITH,t)}buildFilterConditionState(e,t){return gqi(e,t,Pft.STARTS_WITH,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_START_WITH])}}class SKi extends CKi{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_NOT_START_WITH])}}class wKi extends dqi{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return lmt(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 xFi(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 hqi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Pft.IS_ON_OR_AFTER_DAY:Pft.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return gqi(e,t,pqi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_OR_AFTER_DAY:Pft.GREATER_THAN_EQUAL,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class EKi extends dqi{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return lmt(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 xFi(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 hqi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Pft.IS_ON_OR_BEFORE_DAY:Pft.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return gqi(e,t,pqi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_OR_BEFORE_DAY:Pft.LESS_THAN_EQUAL,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class xKi extends dqi{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return lmt(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 xFi(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 hqi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Pft.IS_BEFORE_DAY:Pft.LESS_THAN,t)}buildFilterConditionState(e,t){return gqi(e,t,pqi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_BEFORE_DAY:Pft.LESS_THAN,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_LESS_THAN])}}class TKi extends dqi{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return amt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return xFi(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 hqi(e,Pft.ENDS_WITH,t)}buildFilterConditionState(e,t){return gqi(e,t,Pft.ENDS_WITH,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_END_WITH])}}class AKi extends TKi{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_NOT_END_WITH])}}class RKi extends dqi{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return amt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return xFi(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 hqi(e,Pft.CONTAINS,t)}buildFilterConditionState(e,t){return gqi(e,t,Pft.CONTAINS,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_CONTAIN])}}class NKi extends RKi{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_NOT_CONTAIN])}}var IKi;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(IKi||(IKi={}));class DKi{changeDetectionState;initialQuery;currentQuery;mode=IKi.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 kKi{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 DKi(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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:hgt.PROCEED,default:!0}]}):e()}}const OKi=e=>e instanceof hS?`${jb}${e.name}`:e instanceof gS&&e.genericType.value.rawType===V_.STRICTDATE?e.values[0]:e instanceof gS&&e.genericType.value.rawType===V_.LATESTDATE?"%latest":"(unknown)",LKi=(e,t)=>{const n=uE(e,t.graphManagerState.graph);return xie.jsx("div",{className:woe("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:xie.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},MKi=boe(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Ipt(),o=aPe({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:LKi(e,t)})),l=t.sourceClass?{value:t.sourceClass,label:LKi(t.sourceClass,t)}:null;return xie.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:xie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[xie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),xie.jsx(oFe,{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:DUi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),PKi=e=>({value:e,label:e instanceof cW?e.packageableRuntime.value.name:"custom"}),FKi=e=>function(t){if(t.value instanceof cW){const n=t.value;return DUi(e)(NUi(n.packageableRuntime.value))}return t.value instanceof cW?t.value.packageableRuntime.value.name:xie.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[xie.jsx(Vre,{}),xie.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},BKi=boe(e=>{const{queryBuilderState:t}=e,n=Ipt(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(NUi).sort(aFe),s=t.executionContextState.mapping?NUi(t.executionContextState.mapping):null,o=aPe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new cW(C_.create(e))).map(PKi).sort(aFe),l=t.executionContextState.runtimeValue?PKi(t.executionContextState.runtimeValue):null,c=aPe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof cW?e.data.value.packageableRuntime.value.path:"custom"});return xie.jsxs("div",{className:"query-builder__setup__config-group",children:[xie.jsx(IFe,{title:"properties"}),xie.jsxs("div",{className:"query-builder__setup__config-group__content",children:[xie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[xie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),xie.jsx(oFe,{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:DUi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),xie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[xie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),xie.jsx(oFe,{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:FKi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),xie.jsx("div",{className:"query-builder__setup__config-group__item",children:xie.jsx(MKi,{queryBuilderState:t,classes:i})})]})]})}),VKi=boe(e=>{const{queryBuilderState:t,children:n}=e,i=Ipt().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]);let r=xie.jsx(xie.Fragment,{});for(const e of i){const n=e(t);if(void 0!==n){r=n;break}}return xie.jsxs("div",{className:woe("query-builder__side-bar",t.sideBarClassName),children:[xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:xie.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??xie.jsx(BKi,{queryBuilderState:t})})}),xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),xie.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class UKi{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class GKi extends UKi{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${OKi(this.getMilestoningDate(0))}, Business Date: ${OKi(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 hS?this.milestoningState.businessDate.name:a_),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof hS?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=CFi(Pft.NOW,V_.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 IS(()=>dr(fr(n,TS).parametersValues[1]));let o;return e&&n&&!t?o=new IS(()=>dr(n.parametersValues[1])):(o=new IS(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===n_.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new IS(()=>dr(fr(s.propertyExpression.parametersValues[0],TS).parametersValues[1]));let o;return e&&n&&!t?o=new IS(()=>dr(n.parametersValues[2])):(o=new IS(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class HKi extends UKi{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${OKi(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 hS?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=CFi(Pft.NOW,V_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===n_.BUSINESS_TEMPORAL?new IS(()=>dr(n.parametersValues[1])):new IS(()=>dr(n.parametersValues[2]));{const n=new IS(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class zKi extends UKi{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${OKi(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 hS?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=CFi(Pft.NOW,V_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new IS(()=>dr(n.parametersValues[1]));{const n=new IS(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class jKi{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 HKi(this,n_.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new zKi(this,n_.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new GKi(this,n_.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof bUi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof GFi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof IS&&(e.isPropagatedValue=!1)}):e instanceof $Fi&&e.projectionColumnState instanceof GFi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof IS&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof FBi?e.condition.sourceState instanceof NBi&&e.condition.sourceState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof IS&&(e.isPropagatedValue=!1)}):e instanceof MBi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.sourceClass?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof IS&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===Mft.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Mft.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){return void 0!==Kw(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){const t=Kw(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==n_.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===Mft.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Mft.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===Mft.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(Mft.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(Mft.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(Mft.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(Mft.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?nne(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?nne(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?nne(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?nne(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(r_)),this.setEndDate(this.buildMilestoningParameter(s_))}clearGetAllParameters(){if(this.businessDate instanceof hS&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===fr(this.businessDate,hS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof hS&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===fr(this.processingDate,hS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof gS&&this.setBusinessDate(void 0),this.processingDate instanceof gS&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof hS&&!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 hS&&!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=Kw(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new hS(e,A_.ONE,H_.create(new Y_(V_.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 YBi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new hS(e,A_.ONE,H_.create(new Y_(V_.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new YBi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof hS){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 hS){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&pmt(e,this.businessDate),n=!!this.processingDate&&pmt(e,this.processingDate),i=!!this.startDate&&pmt(e,this.startDate),r=!!this.endDate&&pmt(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof hS&&(t=e.name===fr(this.businessDate,hS).name),this.processingDate instanceof hS&&(t=t||e.name===fr(this.processingDate,hS).name),this.startDate instanceof hS&&(t=t||e.name===fr(this.startDate,hS).name),this.endDate instanceof hS&&(t=t||e.name===fr(this.endDate,hS).name),t}get hashCode(){return mv([fmt.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var WKi;!function(e){e.COMPILE="query-builder.compile"}(WKi||(WKi={}));const $Ki={[WKi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class qKi{queryBuilderState;value;constructor(e){hd(this,{value:Rc,setValue:Pu,hashCode:kc}),this.queryBuilderState=e}getDefaultValue(){return new gS(H_.create(new Y_(V_.STRING)))}setValue(e){this.value=e?nne(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&pmt(e,this.value)}get hashCode(){return mv([fmt.WATERMARK_STATE,this.value??""])}}class YKi{queryBuilderState;uuid=Mr();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return mv([fmt.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new gS(H_.create(new Y_(V_.STRING)));e.values=[this.variable.name];const t=new xS(I_(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class KKi extends YKi{value;constructor(e,t,n){super(e,t),hd(this,{variable:Rc,value:Rc,setValueSpec:Pu,changeValSpecType:Pu}),this.value=nne(n,this.queryBuilderState.observerContext),nne(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=xFi(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 hS)throw new vi("Can not assign a parameter to another parameter");this.value=nne(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&jft(this.variable,H_.create(new Y_(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return mv([fmt.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class XKi extends PFi{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(TFi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return kte([Cft.QUERY_BUILDER,Cft.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 rQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.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(PS.PARSING_FAILURE),e)}}}class ZKi extends YKi{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 XKi(this),nne(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new dS(this.value)}}class QKi{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 hS&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new ZKi(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([fmt.CONSTANT_STATE,mv(this.constants)])}}var JKi;!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"}(JKi||(JKi={}));class eXi{uuid=Mr();specification;entitlementReport;constructor(e){hd(this,{entitlementReport:Rc,setEntitlementReport:Pu}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class tXi{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 eXi(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(JKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof WJ).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(JKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof YJ).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(JKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof qJ).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(JKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof $J).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(JKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const u=this.datasets.filter(e=>e.entitlementReport instanceof KJ).length,d=Math.round(u/e*100);t.data.push({label:"Unsupported",count:u,percentage:d,color:this.applicationStore.layoutService.getColor(JKi.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(JKi.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 eXi(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 eXi(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 nXi{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 cW&&(this.dataAccessState=new tXi(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=zBi(n.graph,t),r=G6(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([fmt.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class iXi{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(yft.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class rXi{static INSTANCE=new rXi}class sXi{actionConfig=rXi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class oXi extends sXi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new oXi}class aXi extends sXi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new aXi}class lXi extends Uvt{mapping;runtime}class cXi extends Tbt{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 lXi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new lXi;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 xN(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(TN(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(TN(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,uZ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=q5(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());Tft.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof eZ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof lXi){return Boolean(e.mapping??e.runtime)?Xvt(exports.DataCubeFunction.FROM,[e.mapping?Jvt(e.mapping):void 0,e.runtime?Jvt(e.runtime):void 0].filter(cr)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=fr($N(TN(e,[])),rx);return new lS(t.parameters,t.body)}getSourceFunctionExpression(){let e=xN(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof qx&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new Vvt;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class uXi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var dXi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(dXi||(dXi={}));class hXi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=Py.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new fqi,new mqi,new xKi,new EKi,new _Ki,new wKi,new CKi,new SKi,new RKi,new NKi,new TKi,new AKi,new vqi,new yqi,new bqi,new _qi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=dXi.STANDARD;sourceElement;getAllFunction=Mft.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 jKi(this),this.explorerState=new DGi(this),this.parametersState=new bKi(this),this.constantState=new QKi(this),this.functionsExplorerState=new yKi(this),this.fetchStructureState=new mHi(this),this.filterState=new VBi(this,this.filterOperators),this.watermarkState=new qKi(this),this.checkEntitlementsState=new nXi(this),this.resultState=new aKi(this),this.textEditorState=new bHi(this),this.unsupportedQueryState=new lKi(this),this.observerContext=new L6(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new kKi(this),this.changeHistoryState=new iXi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(dUi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new QBi(this);return this.setLambdaWriteMode(dXi.TYPED_FETCH_STRUCTURE),e}return new JBi(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===dXi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}get requiresMappingForExecution(){return!0}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new kZ,t=fr(this.executionContextState.runtimeValue,cW,"Query runtime must be of type runtime pointer");return ur(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=C_.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 cW?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(dUi.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{Tft.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof cW?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(dXi.TYPED_FETCH_STRUCTURE);const r=$Bi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new cXi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new uXi(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:WKi.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(){[WKi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new aKi(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 bHi(this),this.unsupportedQueryState=new lKi(this),this.milestoningState=new jKi(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new DGi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new QKi(this),this.functionsExplorerState=new yKi(this),this.parametersState=new bKi(this),this.filterState=new VBi(this,this.filterOperators),this.watermarkState=new qKi(this),this.checkEntitlementsState=new nXi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new mHi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeSourceElement(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(Mft.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(Mft.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 lS(e,this.unsupportedQueryState.rawLambda?.body)),dr(this.unsupportedQueryState.rawLambda)}return G6(nVi(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,cW).packageableRuntime,i=((e,t,n)=>{const i=dr(e.expressionSequence[0]),r=new xS(I_(exports.SUPPORTED_FUNCTIONS.FROM)),s=new pS(A_.ONE,void 0);s.values=[C_.create(t)];const o=new pS(A_.ONE,void 0);return o.values=[C_.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(nVi(this),e,n.value);return G6(i,this.graphManagerState)}buildExecutionContextExpression(e){return((e,t)=>{if(e instanceof QBi){const n=dr(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new xS(I_(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new pS(A_.ONE,void 0),s.values=[C_.create(r)]);const o=e.runtimeValue;let a;o instanceof cW&&(a=new pS(A_.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 bUi?this.useRelation?this.graphManagerState.graph.getType(Oft.RELATION):this.graphManagerState.graph.getClass(Oft.TDS_TABULAR_DATASET):V_.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=nne(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=fr(t,NS,"Can't build query state: query builder only support lambda");AXi(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(yft.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=>nne(e,this.observerContext)).filter(pr(hS));TXi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===yHi.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 sQ){this.applicationStore.logService.error(Hy.create(PS.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);Dte(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(PS.COMPILATION_FAILURE),e);let t=!0;e instanceof sQ&&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(yHi.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 Q5(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new pXi(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([fmt.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class pXi extends hXi{}class gXi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const fXi=(e,t,n)=>{t.fetchStructureState.changeImplementation(oBi.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],xS,"Can't process serialize() expression: only support serialize() immediately following an expression");if(br(O_(i.functionName,[Pft.GRAPH_FETCH,Pft.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),xXi.process(i,n,t),t.fetchStructureState.implementation instanceof gHi){const n=t.fetchStructureState.implementation,i=fr(e.parametersValues[1],MS,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=fr(i.values[0],kS,"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(eHi(r));const s=e.parametersValues[2];if(s){const e=fr(s,xS,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");br(O_(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=fr(n.serializationState,hHi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=fr(fr(fr(e.parametersValues[0],pS,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],__,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,K_,"Can't process serialize() expression: serialization config expects first param to be a class");br(i.path===Oft.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${Oft.SERIALIZE_CONFIG}', got : ${i.path}`);const r=fr(e.parametersValues[2],mS,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new uHi;r.values.forEach((e,t)=>{const n=fr(e,yS,`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,gS,`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=nE(n,s),l=fr(a.genericType.value.rawType,V_,`Only primitive types suppported for config. Property ${s} for class '${Oft.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=dr(fr(e.expression,gS,"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)}}},mXi=(e,t,n)=>{const i=fr(e.parametersValues[0],xS,"Can't process project() expression: only support project() immediately following an expression");br(O_(i.functionName,[Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE,Pft.FILTER,Pft.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),xXi.process(i,n,t)},vXi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(oBi.TABULAR_DATA_STRUCTURE),br(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),mXi(e,t,n);const i=e.parametersValues[1];i instanceof mS?i.values.map(i=>xXi.processChild(i,e,n,t)):(gr(i,xS,"Can't process project() expression: project() expects argument #1 to be a function expression"),xXi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(oBi.TABULAR_DATA_STRUCTURE),br(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),mXi(e,t,n);const i=e.parametersValues[1];gr(i,mS,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>xXi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof mS?(gr(r,mS,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(hmt).filter(cr)):(gr(r,gS,"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 bUi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},yXi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof bUi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof TS;){const e=r;for(dmt(r,n.graphManagerState.graph,n),r=dr(r.parametersValues[0]),e.func.value instanceof dC&&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 xS&&O_(r.functionName,Pft.SUBTYPE);)r=dr(r.parametersValues[0])}gr(r,hS,"Can't process property expression: expects expression root to be a variable");const s=new GFi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},bXi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof bUi){const r=i.fetchStructureState.implementation,s=new HFi(r,n,!1);r.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t);const o=e.parametersValues[0];o instanceof hS&&s.setLambdaParameterName(o.name)}},_Xi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof bUi){const r=i.fetchStructureState.implementation,s=_i(()=>fr($N(e.content),rx));ur(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new jFi(r,new lS(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},CXi=(e,t,n)=>{br(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=fr(e.parametersValues[0],xS,"Can't process take() expression: only support take() immediately following an expression");if(br(O_(i.functionName,[Pft.TDS_TAKE,Pft.TDS_DISTINCT,Pft.TDS_SORT,Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),xXi.process(i,n,t),t.fetchStructureState.implementation instanceof bUi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof gS&&Cr(e.values[0]))return e.values[0]})(dr(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},SXi=(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],xS,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");br(O_(c.functionName,[Pft.TDS_TAKE,Pft.TDS_DISTINCT,Pft.TDS_SORT,Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),xXi.process(c,n,t);const u=fr(t.fetchStructureState.implementation,bUi);gr(s,mS,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const d=s.values.map(e=>{const t=Ar(fr(e,gS,"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 cBi(u,t)});let h,p;if(r){const e=fr(o,xS,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(O_(e,Pft.TDS_ASC))return Bft.ASC;if(O_(e,Pft.TDS_DESC))return Bft.DESC;throw new yi(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=Ar(fr(e.parametersValues[0],gS,"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=cBi(u,n);h=new BVi(i,t)}if(a instanceof xS){br(O_(a.functionName,[Pft.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=Ar(fr(e[0],gS,"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=cBi(u,t),i=fr(fr(e[1],NS).values[0],RS);br(1===i.expressionSequence.length);const r=fr(i.expressionSequence[0],xS),s=dr(u.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new GVi(u.windowState,s,n),p.setLambdaParameterNames([fr(i.functionType.parameters[0],hS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}else{const e=fr(fr(a,NS).values[0],RS);br(1===e.expressionSequence.length);const t=fr(e.expressionSequence[0],xS),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 UVi(u.windowState,n),p.setLambdaParameterNames([fr(e.functionType.parameters[0],hS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}const g=Ar(fr(l,gS,"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 HVi(u.windowState,d,h,p,g);u.windowState.addWindowColumn(f),u.setShowWindowFuncPanel(!0)},wXi=(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],xS,"Can't process extend() expression: only support extend() immediately following an expression");xXi.process(i,n,t);const r=fr(e.parametersValues[1],xS,"Can't process extend() expression: expects a window expression as the second parameter"),s=fr(t.fetchStructureState.implementation,bUi),o=fr(r.parametersValues[0],SS,"Can't process over(): expects ColSpecArray for window columns"),a=dr(o.values[0]).colSpecs.map(e=>cBi(s,e.name));let l;if(r.parametersValues[1]instanceof mS){const e=fr(r.parametersValues[1].values[0],xS,"Can't process extend sortBy expression: only support function expression of 'ascending' or 'descending'"),t=(e=>{if(O_(e,Pft.RELATION_ASC))return Bft.ASC;if(O_(e,Pft.RELATION_DESC))return Bft.DESC;throw new yi(`Unsupported relation sort function: ${e}`)})(e.functionName),n=Ar(fr(e.parametersValues[0],_S,"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=cBi(s,n);l=new BVi(i,t)}const c=fr(e.parametersValues[2],SS,"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,NS).values[0],RS),i=fr(n.expressionSequence[0],ES,"Can't process typed window aggregation: expects function1 to be a Function Expression"),r=cBi(t,i.functionName),s=fr(fr(e.function2,NS).values[0],RS),o=fr(s.expressionSequence[0],xS),a=dr(t.windowState.findOperator(o.functionName,!0),`Operator '${o.functionName}' not supported yet for typed TDS`),l=new GVi(t.windowState,a,r),c=[];n.functionType.parameters.forEach(e=>{fr(e,hS),c.push(e.name)});const u=fr(s.functionType.parameters[0],hS).name;return c.push(u),l.setLambdaParameterNames(c),l}if(e.function1){const n=fr(fr(e.function1,NS).values[0],RS);br(1===n.expressionSequence.length);const i=fr(n.expressionSequence[0],xS),r=dr(t.windowState.findOperator(i.functionName,!0),`Operator '${i.functionName}' not supported yet for typed TDS`),s=new UVi(t.windowState,r),o=[];return n.functionType.parameters.forEach(e=>{fr(e,hS),o.push(e.name)}),s.setLambdaParameterNames(o),s}throw new yi("Only support aggregation and rank operators in extend() expression")})(e,s),n=new HVi(s.windowState,a,l,t,e.name);s.windowState.addWindowColumn(n),s.setShowWindowFuncPanel(!0)})}},EXi=e=>!(e instanceof xS)||!O_(e.functionName,Pft.FIRST_DAY_OF_YEAR)&&!O_(e.functionName,Pft.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>EXi(e)).includes(!1);class xXi{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 xXi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new xXi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!O_(this.parentExpression.functionName,[Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_AGG,...Object.values(Lft)]))throw new yi(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);_Xi(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(O_(t,Mft.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,K_,"Can't process getAll() expression: getAll() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Kw(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(O_(t,Mft.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,K_,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),ur(Kw(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(Mft.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(O_(t,Mft.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,K_,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Kw(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(Mft.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(O_(t,Pft.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(oBi.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,K_,"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],pS,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=fr(fr(s.values[0],__,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,FK,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=fr(e.parametersValues[2],hS),l=new gXi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(O_(t,[Pft.FILTER,Pft.TDS_FILTER])){br(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=e.parametersValues[0];if(n instanceof B$)return xXi.process(n,this.parentLambda,this.queryBuilderState),void KGi(e,this.queryBuilderState);const i=fr(n,xS,"Can't process filter() expression: only support filter() immediately following an expression");if(xXi.process(i,this.parentLambda,this.queryBuilderState),O_(i.functionName,[Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE]))return br(O_(t,Pft.FILTER),`Can't process filter() expression: only supports ${Pft.FILTER}() immediately following getAll() (got '${t}')`),void KGi(e,this.queryBuilderState);if(O_(i.functionName,[Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.OLAP_GROUPBY]))return br(O_(t,Pft.TDS_FILTER),`Can't process post-filter expression: only supports ${Pft.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof bUi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];gr(s,NS,"Can't process post-filter expression: expects argument #1 to be a lambda function"),gr(r.implementation,bUi,"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],ES,"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],hS,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),mBi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(O_(i.functionName,[Pft.WATERMARK]))return void KGi(e,this.queryBuilderState);throw new yi("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(O_(t,Pft.WATERMARK))((e,t,n)=>{const i=fr(e.parametersValues[0],xS,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");br(O_(i.functionName,[Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),xXi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,[Pft.TDS_PROJECT,Pft.RELATION_PROJECT]))(n=e).functionName===Pft.RELATION_PROJECT||O_(n.functionName,[Pft.TDS_PROJECT,Pft.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof SS?((e,t,n)=>{br(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(oBi.TABULAR_DATA_STRUCTURE);const i=dr(e.parametersValues[0],"Can't process typed project() expression: missing preceding expression");if(i instanceof xS)br(O_(i.functionName,[Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE,Pft.FILTER,Pft.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()");else if(!(i instanceof B$))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");xXi.process(i,n,t);const r=e.parametersValues[1];gr(r,SS,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(dXi.TYPED_FETCH_STRUCTURE),xXi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):vXi(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.RELATION_SELECT))((e,t,n)=>{t.fetchStructureState.changeImplementation(oBi.TABULAR_DATA_STRUCTURE),br(2===e.parametersValues.length,"Can't process select() expression: select() expects 2 arguments");const i=dr(e.parametersValues[0],"Can't process select() expression: missing preceding expression");if(!(i instanceof xS||i instanceof B$))throw new Error("Can't process select() expression: the first argument is expected to be either a function expression or an Accessor Instance Value");xXi.process(i,n,t);const r=fr(e.parametersValues[1],SS,"Can't process select() expression: select() expects argument #1 to be a ColSpec array").values;br(1===r.length,"Can't process select() expression: expected exactly one ColSpec array");const s=dr(r[0]).colSpecs;if(!(t.fetchStructureState.implementation instanceof bUi))return;const o=t.fetchStructureState.implementation,a=t.sourceRelationType?.columns;ur(a,"Can't process select() expression: source relation type is not available"),s.forEach(n=>{br(void 0===n.function1&&void 0===n.function2,`Can't process select() expression: ColSpec '${n.name}' is expected to be a bare column reference`);const i=dr(a.find(e=>e.name===n.name),`Can't process select() expression: column '${n.name}' is not found in source relation`);bXi(e,n.name,i,t)}),o.setProjectionMode(yUi.SELECT)})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.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],NS,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=fr(e.parametersValues[1],gS,"Can't process col() func expression: the #2 argument of col() should be a string");yXi(fr(n.values[0]?.expressionSequence[0],TS,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof bUi&&t.fetchStructureState.implementation.setProjectionMode(yUi.PROJECT_COL)})(e,this.queryBuilderState);else if(O_(t,[Pft.TDS_TAKE,Pft.RELATION_LIMIT]))CXi(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.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],xS,"Can't process distinct() expression: only support distinct() immediately following an expression");br(O_(i.functionName,[Pft.TDS_TAKE,Pft.TDS_DISTINCT,Pft.TDS_SORT,Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),xXi.process(i,n,t),t.fetchStructureState.implementation instanceof bUi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.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],xS,"Can't process sort() expression: only support sort() immediately following an expression");br(O_(i.functionName,[Pft.TDS_TAKE,Pft.TDS_DISTINCT,Pft.TDS_SORT,Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),xXi.process(i,n,t);const r=e.parametersValues[1];gr(r,mS,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>xXi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.SLICE))((e,t,n)=>{br(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=fr(e.parametersValues[0],xS,"Can't process slice() expression: only support slice() immediately following an expression");if(br(O_(i.functionName,[Pft.TDS_TAKE,Pft.TDS_DISTINCT,Pft.TDS_SORT,Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),xXi.process(i,n,t),t.fetchStructureState.implementation instanceof bUi){const n=t.fetchStructureState.implementation,i=Rr(fr(e.parametersValues[1],gS,"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],gS,"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(O_(t,[Pft.TDS_ASC,Pft.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&O_(t.functionName,Pft.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 bUi){const t=n.fetchStructureState.implementation,r=hmt(dr(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new rBi(s);e.sortType=O_(i,Pft.TDS_ASC)?Bft.ASC:Bft.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(O_(t,[Pft.RELATION_ASC,Pft.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&O_(t.functionName,Pft.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 bUi){const t=n.fetchStructureState.implementation,r=fr(e.parametersValues[0],_S);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 rBi(o);e.sortType=O_(i,Pft.RELATION_ASC)?Bft.ASC:Bft.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(O_(t,[Pft.TDS_GROUP_BY,Pft.RELATION_GROUP_BY]))(e=>e.functionName===Pft.RELATION_GROUP_BY||O_(e.functionName,[Pft.TDS_GROUP_BY,Pft.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof SS)(e)?((e,t,n)=>{br(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=fr(e.parametersValues[0],xS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(O_(i.functionName,[Pft.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),xXi.process(i,n,t);const r=fr(t.fetchStructureState.implementation,bUi),s=fr(e.parametersValues[1],SS,"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(dXi.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,SS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),xXi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(oBi.TABULAR_DATA_STRUCTURE),br(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=fr(e.parametersValues[0],xS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(O_(i.functionName,[Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE,Pft.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),xXi.process(i,n,t);const r=e.parametersValues[1];gr(r,mS,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>xXi.processChild(i,e,n,t));const s=e.parametersValues[2];gr(s,mS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>xXi.processChild(i,e,n,t));const o=e.parametersValues[3];gr(o,mS,"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(hmt).filter(cr);t.fetchStructureState.implementation instanceof bUi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.TDS_AGG))((e,t,n,i)=>{if(br(Boolean(t&&O_(t.functionName,Pft.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"),xXi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof bUi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=dr(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];gr(s,NS,"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],xS,"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,NS,"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 xS?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],hS,"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 PVi&&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(O_(t,Pft.OLAP_GROUPBY))SXi(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.SERIALIZE))fXi(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(oBi.GRAPH_FETCH),br(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=fr(e.parametersValues[0],xS,"Can't process externalize() expression: only support externalize() immediately following an expression");if(br(O_(i.functionName,[Pft.GRAPH_FETCH,Pft.GRAPH_FETCH_CHECKED,Pft.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),xXi.process(i,n,t),t.fetchStructureState.implementation instanceof gHi){const n=t.fetchStructureState.implementation,r=fr(i.parametersValues[1],MS,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=fr(r.values[0],kS,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(eHi(s));const o=fr(e.parametersValues[1],pS,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=fr(fr(o.values[0],__,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,FK,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new pHi(n,a,void 0);n.setSerializationState(l);const c=fr(e.parametersValues[2],MS,"Can't process externalize() expression: externalize() graph-fetch is missing"),u=fr(c.values[0],kS,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(eHi(u))}})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,[Pft.GRAPH_FETCH_CHECKED,Pft.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],xS,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);br(O_(r.functionName,[Pft.FILTER,Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),xXi.process(r,n,t),t.fetchStructureState.implementation instanceof gHi&&t.fetchStructureState.implementation.setChecked(O_(e.functionName,Pft.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(O_(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],gS,"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 dS?new ZKi(t,s,o.content):EXi(o)?new KKi(t,s,o):new ZKi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(O_(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,pS,"Can't process from() expression: only support from() with 1st parameter as instance value");r=fr(fr(e.values[0],__,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,GS,"Can't process from() expression: only support from() with 1st parameter as mapping value")}const s=fr(i,pS,"Can't process from() expression: only support from() with 2nd parameter as instance value"),o=fr(fr(s.values[0],__,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,jS,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),a=new QBi(t);a.setMapping(r),a.setRuntimeValue(new cW(C_.create(o))),t.setExecutionContextState(a)})(e,this.queryBuilderState),void xXi.processChild(dr(t[0]),e,this.parentLambda,this.queryBuilderState)}if(O_(t,Object.values(Lft)))return this.queryBuilderState.isCalendarEnabled=!0,br(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void xXi.processChild(dr(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);if(O_(t,Pft.WAVG_ROW_MAPPER))((e,t,n,i)=>{if(br(Boolean(t&&O_(t.functionName,Pft.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,TS,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),xXi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof bUi){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(!O_(t,Pft.RELATION_EXTEND))throw new yi(`Can't process expression of function ${t}()`);wXi(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"),!O_(this.parentExpression.functionName,[Pft.TDS_PROJECT,Pft.RELATION_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_AGG,Pft.WAVG_ROW_MAPPER,...Object.values(Lft)]))throw new yi(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);yXi(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 xXi(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"),O_(this.parentExpression.functionName,[Pft.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 NS){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 TS)yXi(i,e.name,this.queryBuilderState);else if(i instanceof ES){const t=i.func,n=fr(t,$_,"Can`t process col spec: function1 lambda function does not contain a relation column");bXi(i,e.name,n,this.queryBuilderState)}else i instanceof dS&&(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),_Xi(i,e.name,this.parentExpression,this.queryBuilderState))}else{if(!(t instanceof dS))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"),_Xi(t,e.name,this.parentExpression,this.queryBuilderState)}})}if(O_(this.parentExpression.functionName,[Pft.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&&O_(t.functionName,Pft.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=fr(e.function1,NS,"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,NS,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof bUi){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],xS,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=fr(a.functionType.parameters[0],hS,"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 PVi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=fr(t?.genericType?.value.typeArguments?.[0]?.value.rawType,q_,"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?H_.create(new Y_(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 TXi=(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 hS&&Gft(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&&oE(i,t)&&(r=n.value)}});const s=new YBi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},AXi=(e,t,n)=>{e.functionType.parameters.length&&TXi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>xXi.process(n,e,t))},RXi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),xie.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:xie.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 dFi(e.target.value,sFi.ABSOLUTE_DATE))}})})},NXi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),xie.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:xie.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 dFi(e.target.value,sFi.ABSOLUTE_TIME))}})})},IXi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Ipt(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,u]=n.useState(t.unit??oFi.DAYS),[d,h]=n.useState(t.direction??cFi.BEFORE),[p,g]=n.useState(t.referenceMoment??uFi.TODAY),f=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new hFi(sFi.CUSTOM_DATE,sFi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=fFi.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()},[]),xie.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.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)}})}),xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.jsx(oFe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(oFi).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})}),xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.jsx(oFe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(cFi).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})}),xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.jsx(oFe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(uFi).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})})]})},DXi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Ipt(),o=n.useRef(null),[a,l]=n.useState(t instanceof pFi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.jsx(oFe,{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(aFi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(uFi).filter(t=>t.toString().includes(e)),n=t.length>0?new pFi(dr(t[0]?.toString()),e):new pFi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},kXi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Ipt(),o=n.useRef(null),[a,l]=n.useState(t instanceof gFi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.jsx(oFe,{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(lFi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new gFi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},OXi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,u=Ipt(),d=o.match?Object.values([sFi.ABSOLUTE_TIME,sFi.NOW]):Object.values(sFi),[h,p]=n.useState(_Fi(t,u)),[g,f]=n.useState(null),m=e=>{f(e.currentTarget)};return n.useEffect(()=>{p(_Fi(t,u))},[u,t]),xie.jsxs(xie.Fragment,{children:[a?xie.jsx("span",{className:woe("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}"`:xie.jsx(xie.Fragment,{children:"        "})}):xie.jsx("button",{className:woe("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"}),xie.jsxs(FSe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(_Fi(t,u))}}},anchorEl:g,onClose:()=>{p(_Fi(t,u)),f(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[xie.jsx(RFe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new dFi(e.target.value,e.target.value);if(sFi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:Xb.LATESTDATE});else if(![sFi.ABSOLUTE_DATE,sFi.ABSOLUTE_TIME,sFi.CUSTOM_DATE,sFi.FIRST_DAY_OF,sFi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=fFi.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 sFi.ABSOLUTE_DATE:return xie.jsx(RXi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case sFi.ABSOLUTE_TIME:return xie.jsx(NXi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case sFi.CUSTOM_DATE:return xie.jsx(IXi,{customDateOptionValue:bFi(t,u),updateValueSpecification:r,setDatePickerOption:p});case sFi.FIRST_DAY_OF:return xie.jsx(DXi,{customDateAdjustOptionValue:_Fi(t,u),updateValueSpecification:r,setDatePickerOption:p});case sFi.PREVIOUS_DAY_OF_WEEK:return xie.jsx(kXi,{customDateAdjustOptionValue:_Fi(t,u),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},LXi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return xie.jsx(ZCe,{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:xie.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[xie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[xie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),xie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),xie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[xie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),xie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),xie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[xie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),xie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:aE(t.multiplicity)})]})]}),children:n})},MXi="VARIABLE",PXi=boe(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return xie.jsxs(xie.Fragment,{children:[xie.jsx(fUe,{labelGetter:e=>e.variable.name,types:[MXi]}),xie.jsxs("div",{className:woe("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[xie.jsx("div",{className:"value-spec-editor__variable__icon",children:i?xie.jsx("div",{className:"icon",children:"C"}):xie.jsx(Wre,{})}),xie.jsxs("div",{className:"value-spec-editor__variable__label",children:[xie.jsx("div",{className:"value-spec-editor__variable__text",children:s}),xie.jsx(LXi,{variable:t,children:xie.jsx("div",{className:"value-spec-editor__variable__info",children:xie.jsx(sse,{})})}),xie.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:xie.jsx(Kie,{})})]})]})]})}),FXi=boe(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=Ipt(),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 xie.jsxs("div",{className:woe("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==w&&a?.()},children:[g?xie.jsx(oFe,{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}):xie.jsx(ETe,{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}),xie.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:xie.jsx(Kie,{})})]})})),BXi=boe(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return xie.jsxs("div",{className:woe("value-spec-editor",s),children:[xie.jsx("button",{role:"checkbox",className:woe("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?xie.jsx(Mre,{}):xie.jsx(Cse,{})}),xie.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:xie.jsx(Kie,{})})]})}),VXi=boe(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(u3n(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 xie.jsxs("div",{className:woe("value-spec-editor",u),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==C&&e.relatedTarget?.name!==S&&l?.()},children:[xie.jsxs("div",{className:"value-spec-editor__number__input-container",children:[xie.jsx("input",{ref:m,className:woe("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&&xie.jsx("div",{className:"value-spec-editor__number__actions",children:xie.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:S,onClick:b,disabled:h,children:xie.jsx(ire,{})})})]}),xie.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:xie.jsx(Kie,{})})]})})),UXi=boe(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 xie.jsxs("div",{className:woe("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[xie.jsx(oFe,{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}),xie.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:d,children:xie.jsx(Kie,{})})]})}),GXi=e=>0===e.length?"":((e,t)=>pm.unparse(e,t))([e.map(e=>e instanceof gS?e.values[0]:e instanceof fS?dr(e.values[0]).value.name:void 0).filter(cr)]).trim(),HXi=e=>{if(e instanceof V_)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 Nx))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"}}},zXi=boe(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:u,readOnly:d}=e,h=Ipt(),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===V_.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 xie.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[xie.jsx(oFe,{className:woe("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:HXi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:d}),xie.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:xie.jsx(Gre,{})}),xie.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:d,children:xie.jsx(yse,{})})]})}),jXi=boe(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 xie.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==b&&e.relatedTarget?.name!==_&&w()},children:[xie.jsx(oFe,{className:woe("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}),xie.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:xie.jsx(Gre,{})}),xie.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:w,disabled:d,children:xie.jsx(yse,{})})]})}),WXi=boe(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?xie.jsx(xie.Fragment,{children:xie.jsx("div",{className:woe("value-spec-editor",l),children:void 0!==h?xie.jsx(jXi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,enumOptions:h,selectorConfig:u,lightMode:p,readOnly:g}):xie.jsx(zXi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,selectorSearchConfig:c,selectorConfig:u,lightMode:p,readOnly:g})})}):xie.jsxs("div",{className:woe("value-spec-editor",l),onClick:g?()=>{}:()=>m(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[xie.jsx("div",{className:woe("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:y}),xie.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:xie.jsx(jie,{})})]})}),$Xi=()=>xie.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),qXi=boe(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return xie.jsxs("div",{className:woe("value-spec-editor",l),children:[xie.jsx(OXi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof gS&&!imt(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&xie.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:xie.jsx(Kie,{})})]})}),YXi=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=Ipt(),y=e=>!imt(e),b=e=>e instanceof xS?"":e.values[0],_=(e,t,n)=>{t instanceof hFi?a(((e,t,n)=>{const i=new xS(Pft.ADJUST);if(Yft(i,vFi(new dFi(dr(e.referenceMoment),dr(e.referenceMoment)),t,n),n),e.direction===cFi.BEFORE){const r=new xS(Pft.MINUS);Yft(r,SFi(t,Xb.INTEGER,e.duration,n),n),Yft(i,r,n)}else Yft(i,SFi(t,Xb.INTEGER,e.duration,n),n);const r=new fS(H_.create(new Y_(t.getType(Oft.DURATION_UNIT))));return Qft(r,[...r.values,cC.create(dr(yFi(dr(e.unit),t)))],n),Yft(i,r,n),jft(i,H_.create(new Y_(V_.DATE))),i})(t,r,s)):t instanceof pFi||t instanceof gFi||t instanceof dFi?a(vFi(t,r,s)):e instanceof xS?a(SFi(r,dr(n?.primitiveTypeEnum),t,s)):e instanceof pS?(Zft(e,t,0,s),e.genericType.value.rawType.path!==dr(n?.primitiveTypeEnum)&&jft(e,H_.create(new Y_((e=>{switch(e){case Xb.STRING:return V_.STRING;case Xb.BOOLEAN:return V_.BOOLEAN;case Xb.BINARY:return V_.BINARY;case Xb.NUMBER:return V_.NUMBER;case Xb.INTEGER:return V_.INTEGER;case Xb.FLOAT:return V_.FLOAT;case Xb.DECIMAL:return V_.DECIMAL;case Xb.DATE:return V_.DATE;case Xb.STRICTDATE:return V_.STRICTDATE;case Xb.DATETIME:return V_.DATETIME;case Xb.STRICTTIME:return V_.STRICTTIME;case Xb.LATESTDATE:return V_.LATESTDATE;case Xb.BYTE:return V_.BYTE;default:throw new Error(`Unable to get PrimitiveType class for type ${e}`)}})(dr(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===Xb.LATESTDATE&&a(SFi(r,Xb.LATESTDATE,t,s))};if(i instanceof gS){const e=i.genericType.value.rawType,r=e=>e.values[0],d=(e,t)=>{Zft(e,t,0,s),a(e)};switch(e.path){case Xb.STRING:return xie.jsx(FXi,{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 xie.jsx(BXi,{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 xie.jsx(VXi,{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 xie.jsx(qXi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof gS&&y(e),readOnly:f});default:return xie.jsx($Xi,{})}}else{if(i instanceof fS){const e=fr(i.genericType?.value.rawType,eC),t=e.values.map(e=>({label:e.name,value:e.name}));return xie.jsx(UXi,{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}`);Zft(t,cC.create(i),0,s),a(t)},errorChecker:e=>!imt(e),handleBlur:h,selectorConfig:u,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:f})}if(i instanceof mS&&i.genericType){const e=(e,t)=>{Qft(e,t,s),a(e)},t=(e,t)=>{if(e instanceof eC){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new fS(H_.create(new Y_(e)));return Qft(t,[cC.create(n)],s),nne(t,s)}}else{const n=NFi(fr(e,R_),t,s);if(n)return nne(n,s)}return null},r=o.expectedType instanceof eC?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return xie.jsx(WXi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:u,stringifyCollectionValueSpecification:e=>GXi(e.values),errorChecker:y,convertValueSpecificationToText:e=>RFi(e,v,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:f})}if(i instanceof hS)return xie.jsx(PXi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(d)});if(i instanceof IS)return xie.jsx(YXi,{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 xS){if(sE(o.expectedType,V_.DATE))return EXi(i)?xie.jsx(qXi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:f}):xie.jsx($Xi,{});if(sE(o.expectedType,V_.NUMBER)&&O_(i.functionName,Pft.MINUS)){const e=gmt(i,s);if(e instanceof gS&&sE(e.genericType.value.rawType,V_.NUMBER))return xie.jsx(VXi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===V_.INTEGER,updateValueSpecification:(e,t)=>{Zft(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:f})}}}return xie.jsx($Xi,{})}),KXi=boe(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=Ipt(),[m,v]=n.useState(d??!1),y=n.useRef(null);n.useEffect(()=>{m&&y.current?.focus()},[m,y]);const b=t instanceof gS&&!sE(t.genericType.value.rawType,V_.DATE)&&t.genericType.value.rawType!==V_.BOOLEAN||t instanceof fS,_=m||!b,C=RFi(t,f,{omitEnumOwnerName:!0});return _?xie.jsx(YXi,{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}):xie.jsx("div",{className:"value-spec-editor__editable__display",children:xie.jsx("span",{className:woe("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof pS&&!imt(t)}),onClick:h?()=>{}:()=>{v(!0)},style:{cursor:h?"not-allowed":""},children:g?`"${void 0!==C?C:""}"`:C})})}),XXi=(e,t)=>{if(e instanceof xS){const n=_Fi(e,t.applicationStore).label;if(n)return n}return RFi(e,t.applicationStore)},ZXi=boe(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return xie.jsxs(yFe,{ref:t,children:[i?.map(e=>xie.jsx(bFe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&xie.jsx(bFe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&xie.jsx(bFe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),QXi=boe(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?XXi(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?XXi(v,o):void 0,b=s||c,_=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,w]=MVe(()=>({type:MXi,item:{variable:t}}),[t]),E=n.useRef(null);return S(E),gUe(w),xie.jsx("div",{className:"query-builder__variables__variable",ref:E,children:xie.jsxs(wFe,{content:xie.jsx(ZXi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:woe("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:[xie.jsx(fUe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[MXi]}),xie.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[xie.jsx("div",{className:"query-builder__variables__variable__icon",children:xie.jsx("div",{className:"query-builder__variables__variable-icon",children:h?xie.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):xie.jsx(Wre,{})})}),xie.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?xie.jsxs("div",{className:woe("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&xie.jsx(Rre,{title:"Calculated Constant"})]}):xie.jsxs("div",{className:"query-builder__variables__variable__type",children:[xie.jsx("div",{className:"query-builder__variables__variable__type__label",children:f??"unknown"}),m&&xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&xie.jsx("div",{className:"query-builder__constants__value",children:y})]})]})]})]}),r&&xie.jsxs("div",{className:"query-builder__variables__variable__actions",children:[xie.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:xie.jsx(jie,{})}),xie.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:b,title:_,children:xie.jsx(wse,{})}),xie.jsx(LXi,{variable:t,children:xie.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:xie.jsx(sse,{})})})]})]})})}),JXi=boe(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 xie.jsxs(xie.Fragment,{children:[xie.jsxs(zFe,{title:"Available parameters",children:[0===i.length&&xie.jsx(xie.Fragment,{children:" No available parameters "}),i.map(e=>xie.jsx(QXi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&xie.jsx(zFe,{title:"Available constants",children:r.map(e=>xie.jsx(QXi,{variable:e.variable,value:{val:e instanceof KKi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),eZi=boe(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=>{qft(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=UVe(()=>({accept:[MXi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!oE(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),u=t.queryBuilderState,d=e=>{e instanceof TS&&Uft(e,u)&&e.func.value.genericType.value.rawType instanceof K_&&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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:hgt.PROCEED,handler:u.applicationStore.guardUnhandledError(async()=>(e=>{const t=Kw(fr(e.func.value.genericType.value.rawType,K_),u.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof IS&&!Hft(t,i,n.getValue(),u.milestoningState)){const n=new IS(()=>dr(u.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,qft(fr(e,TS),dr(n),i+1,u.observerContext)}})})(e))}]})},h=dr(t.parameterValues[r]);return xie.jsxs("div",{className:"panel__content__form__section",children:[xie.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),xie.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),xie.jsx("div",{className:"query-builder__variable-editor",children:xie.jsx(uUe,{isDragOver:l,dropTargetConnector:c,children:xie.jsx(YXi,{valueSpecification:h,setValueSpecification:e=>{qft(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===V_.DATETIME},resetValue:()=>{qft(t.propertyExpression,zft(t,r)??kFi(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)})})}),xie.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),tZi=boe(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return xie.jsxs("div",{className:"query-builder-property-editor__section",children:[xie.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&xie.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>xie.jsx(eZi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),nZi=boe(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return xie.jsx(Yye,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:xie.jsxs(cFe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[xie.jsx(dFe,{title:"Derived Property"}),xie.jsxs(pFe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>xie.jsx(tZi,{derivedPropertyExpressionState:e},e.path)),xie.jsx(pFe,{className:"query-builder__variables__modal__body",children:xie.jsx(JXi,{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&&(oE(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),xie.jsx(gFe,{children:xie.jsx(mFe,{text:"Done",onClick:i})})]})})}),iZi=boe(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return xie.jsx("div",{className:"query-builder__property__name__display",title:n,children:xie.jsx("span",{className:woe("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),rZi=boe(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?xie.jsx("div",{className:"query-builder__property__name__editor",children:xie.jsx(ETe,{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()}})}):xie.jsx(iZi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),sZi=boe(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 xie.jsx("div",{className:"query-builder-property-expression-badge",children:xie.jsxs("div",{className:woe("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof K_,"query-builder-property-expression-badge__content--enumeration":s instanceof eC,"query-builder-property-expression-badge__content--primitive":s instanceof V_}),children:[xie.jsx(rZi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:IFi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&xie.jsxs("button",{className:woe("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&&xie.jsx(sse,{})," (...)"]}),xie.jsx(nZi,{propertyExpressionState:n})]})})}),oZi=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 xie.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[xie.jsx(Sse,{className:"query-builder-panel-issue-count-badge__icon"}),xie.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},aZi=e=>{if(e instanceof V_||e instanceof U_){const t=amt(e)??e.path;if(t===Xb.STRING)return xie.jsx(Wie,{className:"query-builder-column-badge__icon"});if(t===Xb.BOOLEAN)return xie.jsx(Ese,{className:"query-builder-column-badge__icon"});if(t===Xb.NUMBER||t===Xb.INTEGER||t===Xb.FLOAT||t===Xb.DECIMAL)return xie.jsx(rse,{className:"query-builder-column-badge__icon"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return xie.jsx(Bre,{className:"query-builder-column-badge__icon"})}else if(e instanceof eC)return xie.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},lZi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=_i(()=>(e=>{if(e instanceof $Fi||e instanceof HVi)return A_.ONE;if(e instanceof GFi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new yi("Can't get multiplicity for column",e)})(t));return xie.jsx(ZCe,{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:xie.jsxs("div",{className:"query-builder__tooltip__content",children:[xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:aE(s)})]})]}),children:i})},cZi=(e,t)=>{switch(t){case VFi:return e.columnState.getColumnType();case fGi.ENUM_PROPERTY:case fGi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case MXi:return e.variable.genericType?.value.rawType;case FVi:return e.columnState.getColumnType();default:return}},uZi=[fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY,VFi,fGi.RELATION_COLUMN],dZi=[fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY,fGi.RELATION_COLUMN],hZi=[wBi.CONDITION,fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY,VFi,fGi.RELATION_COLUMN],pZi=[wBi.CONDITION,fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY,fGi.RELATION_COLUMN],gZi=[fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY,VFi,MXi],fZi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof TS||r instanceof xS&&O_(r.functionName,Pft.SUBTYPE);){let e;r instanceof xS?e=new xS(I_(Pft.SUBTYPE)):(e=new TS(""),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,hS)],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 TS&&(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 hS(o[l],A_.ONE)),l++)}if(n)if(n instanceof MBi){const e=a.findIndex(e=>e instanceof TS&&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 MBi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof MBi){const i=a.findIndex(t=>t instanceof TS&&e instanceof MBi&&t.func.value===fr(e,MBi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof FBi?t.newGroupConditionFromNode(n):n instanceof LBi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof FBi?t.newGroupConditionFromNode(n):n instanceof LBi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new MBi(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 DBi(t,a[a.length-1]),u=new FBi(void 0,c);u.setIsNewlyAdded(!0),t.addNodeFromNode(u,s),n instanceof BBi&&t.removeNodeAndPruneBranch(n)},mZi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof MBi&&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 TS("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof TS||n instanceof xS&&O_(n.functionName,Pft.SUBTYPE);){if(n instanceof xS){const e=new xS(I_(Pft.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof TS){const e=new TS("");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],TS,"Can't process exists() expression: can't flatten to a property expression")}return fr(SBi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),TS)},vZi=(e,t,n)=>{if(EBi(e)){const i=IFi(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:dgt.CAUTION,actions:[{label:"Cancel",type:hgt.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:hgt.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>fZi(e,t,n))}]})}else{const i=new DBi(t,e),r=new FBi(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 MBi&&(s=o);if(o instanceof MBi&&(s=o),n instanceof LBi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof BBi)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 MBi)t.newGroupConditionFromNode(s,r);else if(n instanceof FBi){const e=t.getParentNode(n);if(s&&e instanceof MBi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,dBi.AND);else if(s&&e instanceof LBi){const i=mZi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);fZi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},yZi=boe(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===dBi.AND?"AND":"OR";return xie.jsx("div",{className:"dnd__entry__container",children:xie.jsx(pUe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:xie.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===dBi.AND?dBi.OR:dBi.AND)},children:xie.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),bZi=boe(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return xie.jsx("div",{className:"dnd__entry__container",children:xie.jsx(pUe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:xie.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[xie.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:IFi(t.propertyExpressionState.propertyExpression,n)}),xie.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&xie.jsxs("button",{className:woe("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&&xie.jsx(sse,{})," (...)"]}),xie.jsx(nZi,{propertyExpressionState:t.propertyExpressionState})]})})})}),_Zi=boe(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return xie.jsx("div",{className:"query-builder-filter-property-expression-badge",children:xie.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[xie.jsx("div",{className:woe("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof K_,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof eC,"query-builder-filter-property-expression-badge__type--primitive":i instanceof V_}),children:aZi(i)}),xie.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:xie.jsx(sZi,{propertyExpressionState:t.propertyExpressionState})}),xie.jsx(TUi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:xie.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:xie.jsx(sse,{})})}),xie.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:xie.jsx(Kie,{})})]})})}),CZi=(e,t)=>{const n=t.operator,i=t.leftConditionType;return!(n instanceof vqi)&&!(n instanceof yqi)&&lmt(e,i)},SZi=boe(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Ipt(),l=PBi(t),c=n.useCallback((e,n)=>{const i=cZi(e,n);if(void 0!==i&&CZi(i,t.condition))try{if((n===VFi||n===fGi.ENUM_PROPERTY||n===fGi.PRIMITIVE_PROPERTY)&&l)throw new yi("Collection filter does not support property for filter condition value.");if(n===VFi){const n=e.columnState;if(!(n instanceof GFi))throw new yi("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(EBi(e))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new LFi(s,EFi(e,s.observerContext)))}}else if(n===fGi.ENUM_PROPERTY||n===fGi.PRIMITIVE_PROPERTY){const n=e.node,i=new LFi(s,EGi(n,t.condition.filterState.queryBuilderState.explorerState));if(EBi(i.propertyExpression))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===MXi){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]=UVe(()=>({accept:gZi,canDrop:(e,n)=>CZi(cZi(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}=PVe(e=>({isFilterValueDroppable:e.isDragging()&&gZi.includes(e.getItemType()?.toString()??"")&&CZi(cZi(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=NFi(V_.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]),xie.jsx("div",{className:"dnd__entry__container","data-testid":RUi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:xie.jsx(pUe,{isDragOver:i&&!u,alwaysShowChildren:!0,children:xie.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[xie.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:t.condition.sourceState instanceof NBi?xie.jsx(sZi,{propertyExpressionState:t.condition.sourceState.propertyExpressionState}):xie.jsx("div",{className:"query-builder-filter-tree__condition-node__property__label",children:t.condition.sourceState.label})}),xie.jsxs(EFe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:xie.jsx(yFe,{children:t.condition.operators.map(e=>{return xie.jsx(bFe,{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:[xie.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),xie.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:xie.jsx(Ire,{})})]}),o instanceof TBi&&o.value?xie.jsx("div",{ref:h,"data-testid":RUi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:xie.jsx(pUe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:xie.jsx(KXi,{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 ABi?xie.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:xie.jsx(pUe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:xie.jsx(_Zi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),wZi=boe(e=>{const{isDragOver:t,isDroppable:n}=e;return xie.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:xie.jsx(pUe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:xie.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),EZi=boe(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return xie.jsxs(yFe,{ref:t,children:[i instanceof LBi&&xie.jsx(bFe,{onClick:()=>{r.addNodeFromNode(new BBi(void 0),i)},children:"Add New Condition"}),i instanceof LBi&&xie.jsx(bFe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof FBi&&xie.jsx(bFe,{onClick:()=>{Tft.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),xie.jsx(bFe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),xZi=boe(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Ipt(),u=s.filterState,d=n.useCallback((e,n)=>{if(wBi.CONDITION===n){const n=e.node,i=new FBi(void 0,u.nodes.get(n.id).condition);t instanceof BBi?(u.replaceBlankNodeWithNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof FBi?(u.newGroupWithConditionFromNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof LBi&&(u.addNodeFromNode(i,t),u.removeNodeAndPruneBranch(n))}else{let i;try{if(n===fGi.RELATION_COLUMN){const t=e.node,n=new IBi(t.column.name,t.type);i=new DBi(u,n)}else{let t;if(n===VFi){if(!(e.columnState instanceof GFi))throw new yi("Dragging and Dropping derivation projection column is not supported.");t=EFi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=EGi(e.node,u.queryBuilderState.explorerState);i=new DBi(u,t)}}catch(e){return bi(e),void c.notificationService.notifyWarning(e.message)}if(t instanceof OBi||t instanceof FBi||t instanceof BBi)if(i.sourceState instanceof IBi){const e=new FBi(void 0,i);e.setIsNewlyAdded(!0),t instanceof BBi?u.replaceBlankNodeWithNode(e,t):t instanceof FBi?u.newGroupWithConditionFromNode(e,t):u.addNodeFromNode(e,t)}else vZi(i.propertyExpressionState.propertyExpression,u,t)}},[c,u,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=UVe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?hZi:pZi,drop:(e,t)=>{t.didDrop()||d(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[d]),[,f,m]=MVe(()=>({type:t instanceof LBi?wBi.GROUP_CONDITION:t instanceof FBi?wBi.CONDITION:wBi.BLANK_CONDITION,item:()=>({node:t}),end:()=>u.setRearrangingConditions(!1),canDrag:()=>t instanceof FBi||t instanceof BBi}),[t,u]);f(g(o)),gUe(m);const{isDroppable:v}=PVe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?hZi:pZi).includes(e.getItemType()?.toString()??"")})),y=t instanceof MBi&&0===t.childrenIds.length,b=t instanceof FBi||t instanceof BBi||y;return xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:woe("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof LBi,"query-builder-filter-tree__node__container--condition":t instanceof FBi||t instanceof BBi,"query-builder-filter-tree__node__container--exists":t instanceof MBi,"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:xie.jsxs(wFe,{content:xie.jsx(EZi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof FBi||t instanceof BBi?()=>i?.(t):void 0,children:[t instanceof LBi&&xie.jsx(yZi,{node:t,isDroppable:v,isDragOver:h}),t instanceof MBi&&xie.jsx(bZi,{node:t,humanizePropertyName:u.queryBuilderState.explorerState.humanizePropertyName,isDroppable:v,isDragOver:h}),t instanceof FBi&&xie.jsx(SZi,{node:t,isDragOver:p}),t instanceof BBi&&xie.jsx(wZi,{node:t,isDragOver:h,isDroppable:v})]}),b&&xie.jsx("div",{className:"query-builder-filter-tree__node__actions",children:xie.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>u.removeNodeAndPruneBranch(t),children:xie.jsx(wse,{})})})]})})}),TZi=boe(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:woe("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof LBi,"query-builder-filter-tree__node__block--exists":t instanceof MBi}),children:[xie.jsx(xZi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>xie.jsx(TZi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),AZi=boe(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 OBi?e.childrenIds.map(e=>n.getNode(e)):[];return xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>xie.jsx(TZi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),RZi=boe(e=>{const{queryBuilderState:t}=e,i=Ipt(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof LBi),{isDroppable:a}=PVe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?uZi:dZi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{if(n===fGi.RELATION_COLUMN){const t=e.node,n=new IBi(t.column.name,t.type),i=new DBi(r,n),s=new FBi(void 0,i);s.setIsNewlyAdded(!0),r.setSelectedNode(void 0),r.addNodeFromNode(s,void 0)}else{let i;if(n===VFi){if(!(e.columnState instanceof GFi))throw new yi("Dragging and Dropping derivation projection column is not supported.");i=EFi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=EGi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),vZi(i,r)}}catch(e){return bi(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},u]=UVe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?uZi:dZi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),d=n.useRef(null);return u(d),xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[xie.jsxs("div",{className:"panel__header",children:[xie.jsxs("div",{className:"panel__header__title",children:[xie.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&xie.jsx(oZi,{issues:r.allValidationIssues})]}),xie.jsx("div",{className:"panel__header__actions",children:xie.jsx(EFe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:xie.jsxs(yFe,{children:[xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new BBi(void 0),r.selectedNode)},children:[xie.jsx(CFe,{children:xie.jsx(gse,{})}),xie.jsx(SFe,{children:"Create Condition"})]}),xie.jsxs(bFe,{disabled:!(r.selectedNode instanceof FBi),onClick:()=>{Tft.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof FBi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[xie.jsx(CFe,{children:xie.jsx(Fse,{})}),xie.jsx(SFe,{children:"Create Group From Condition"})]}),xie.jsxs(bFe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{Tft.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[xie.jsx(CFe,{children:xie.jsx(dse,{})}),xie.jsx(SFe,{children:"Create Logical Group"})]}),xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[xie.jsx(CFe,{children:xie.jsx(xse,{})}),xie.jsx(SFe,{children:"Cleanup Tree"})]}),xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[xie.jsx(CFe,{children:xie.jsx(Pre,{})}),xie.jsx(SFe,{children:"Simplify Tree"})]}),xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[xie.jsx(CFe,{children:xie.jsx(Ure,{})}),xie.jsx(SFe,{children:"Collapse Tree"})]}),xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[xie.jsx(CFe,{children:xie.jsx(Kre,{})}),xie.jsx(SFe,{children:"Expand Tree"})]})]}),children:xie.jsx($ie,{className:"query-builder__icon__more-options"})})})]}),xie.jsx(LFe,{children:xie.jsxs(uUe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:u,children:[r.isEmpty&&xie.jsx($Fe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&xie.jsxs(xie.Fragment,{children:[xie.jsx(fUe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(wBi)}),xie.jsx(AZi,{queryBuilderState:t})]}),a&&!r.isEmpty&&xie.jsx("div",{ref:d,className:"query-builder-filter-tree__free-drop-zone__container",children:xie.jsx(pUe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:xie.jsx(xie.Fragment,{})})})]})})]})}),NZi=boe(e=>{const{resultState:t}=e,i=Ipt(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return xie.jsx(Yye,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:xie.jsxs(cFe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[xie.jsx(dFe,{title:"Query Usage"}),xie.jsx(pFe,{className:"query-builder__usage-viewer__body",children:xie.jsxs(xie.Fragment,{children:[0===r.length?xie.jsx(jFe,{children:"Query usage is not available"}):xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:xie.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>xie.jsxs("button",{className:woe("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&&xie.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),xie.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),xie.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),xie.jsx(FFe,{})]})}),xie.jsx(gFe,{children:xie.jsx(mFe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var IZi;function DZi(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=DZi(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"}(IZi||(IZi={}));var kZi,OZi={exports:{}},LZi={};var MZi,PZi,FZi={};
901
+ `})}),$Pi=boe(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 xie.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:[xie.jsx(pTe,{className:"text-lg"}),xie.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),qPi=boe(e=>{const{view:t}=e,n=fPi(),i=t.grid;return xie.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)&&xie.jsx($Pi,{view:t}),xie.jsx("div",{}),xie.jsxs("div",{className:"flex h-full items-center",children:[xie.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&&xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),xie.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[xie.jsx(bTe,{className:"stroke-[3px]"}),xie.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),xie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),xie.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[xie.jsx(rSe,{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:hxe("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:hxe("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}),xie.jsx("div",{className:hxe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),xie.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[xie.jsx(rSe,{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:hxe("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:hxe("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...":""}),xie.jsxs("div",{className:hxe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",xie.jsx(mPi,{})]})]})]})]})]})}),YPi=boe(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")}),xie.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:xie.jsx(bvi,{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=HPi)},modules:[omi,JLi],...N3n(t)})})}),KPi=boe(e=>{const{view:t}=e,n=t.grid.configuration;return xie.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[xie.jsx(WPi,{configuration:n}),xie.jsx(YPi,{view:t}),xie.jsx(qPi,{view:t})]})}),XPi=boe(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case Omt.MULTIDIMENSIONAL:return xie.jsx(GPi,{view:t});case Omt.STANDARD:return xie.jsx(KPi,{view:t});default:return xie.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),ZPi=boe(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return xie.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[xie.jsxs("div",{className:"flex",children:[xie.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(vmt.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Pmt.STATUS_BAR})},disabled:!t,children:[xie.jsx(iTe,{className:"text-xl"}),xie.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),xie.jsx("div",{className:"flex",children:xie.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(vmt.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Pmt.STATUS_BAR})},disabled:!t||dvt(t.info.configuration.gridMode),children:[xie.jsx(lTe,{className:"text-lg"}),xie.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),xie.jsx("div",{className:"flex items-center px-2",children:xie.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&&xie.jsx(r_e,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),QPi=boe(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=xFe(),[c,u]=n.useState([...r??[]]);return xie.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[xie.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[xie.jsx(Vxe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),xie.jsx("div",{className:"truncate",children:i})]}),xie.jsxs("div",{className:"flex w-full flex-auto",children:[t,xie.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(BPi.SEPARATOR),u([...r??[],...t]),o(e)},disabled:!r?.length,children:xie.jsx(Jxe,{})}),xie.jsx(TFe,{...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)?xie.jsx(AFe,{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===BPi.SEPARATOR?xie.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),JPi=e=>{const{message:t,prompt:n}=e;return xie.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[xie.jsx("div",{className:"mr-3",children:xie.jsx(Exe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),xie.jsxs("div",{children:[xie.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),xie.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},eFi=boe(e=>{const{children:t,taskManager:n}=e;return xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),xie.jsx(ZPi,{taskManager:n})]})}),tFi=boe(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return xie.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":mmt.PLACEHOLDER,children:[xie.jsx(QPi,{title:n,menuItems:i,children:r??null}),xie.jsx(eFi,{taskManager:o,children:t}),s?xie.jsx(FPi,{layout:s}):null,xie.jsx(mOn,{})]})}),nFi=boe(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?xie.jsx(eFi,{children:xie.jsx(JPi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):xie.jsxs(xie.Fragment,{children:[xie.jsx(XPi,{view:t}),xie.jsx(ZPi,{view:t})]})}),iFi=boe(()=>{const e=fPi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(vmt.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]),xie.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[xie.jsx(QPi,{title:t.info.name,menuItems:[{label:Mmt.UNDO,action:()=>{e.view.snapshotService.undo(),i(Mmt.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:Mmt.REDO,action:()=>{e.view.snapshotService.redo(),i(Mmt.REDO)},disabled:!e.view.snapshotService.canRedo},{label:Mmt.SETTINGS,action:()=>{e.settingService.display.open(),i(Mmt.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),xie.jsx(nFi,{view:t}),xie.jsx(FPi,{layout:e.layoutService.manager}),xie.jsx(mOn,{})]})}),rFi=boe(e=>{const{specification:t,engine:i,options:r}=e,s=Coe(()=>new hPi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?xie.jsx(gPi,{value:s,children:xie.jsx(iFi,{},s.uuid)}):xie.jsx(tFi,{title:Umt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&xie.jsx(JPi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var sFi,oFi,aFi,lFi,cFi,uFi;!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"}(sFi||(sFi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(oFi||(oFi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(aFi||(aFi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(lFi||(lFi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(cFi||(cFi={})),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"}(uFi||(uFi={}));class dFi{label;value;constructor(e,t){this.label=e,this.value=t}}class hFi extends dFi{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 pFi extends dFi{unit;constructor(e,t){super(e,sFi.FIRST_DAY_OF),this.unit=t}}class gFi extends dFi{day;constructor(e,t){super(e,sFi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const fFi=[new hFi("Yesterday",sFi.YESTERDAY,1,oFi.DAYS,cFi.BEFORE,uFi.TODAY),new hFi("One Week Ago",sFi.ONE_WEEK_AGO,1,oFi.WEEKS,cFi.BEFORE,uFi.TODAY),new hFi("One Month Ago",sFi.ONE_MONTH_AGO,1,oFi.MONTHS,cFi.BEFORE,uFi.TODAY),new hFi("One Year Ago",sFi.ONE_YEAR_AGO,1,oFi.YEARS,cFi.BEFORE,uFi.TODAY)],mFi=e=>Object.values(Pft).find(t=>O_(e,t)),vFi=(e,t,n)=>{if(e instanceof gFi){const i=new xS(Pft.PREVIOUS_DAY_OF_WEEK);jft(i,H_.create(new Y_(V_.DATE)));const r=new fS(H_.create(new Y_(t.getType(Oft.DAY_OF_WEEK))));return Qft(r,[...r.values,cC.create(dr(t.getEnumeration(Oft.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),Yft(i,r,n),i}if(e instanceof pFi)switch(e.unit){case aFi.YEAR:{const e=new xS(Pft.FIRST_DAY_OF_THIS_YEAR);return jft(e,H_.create(new Y_(V_.DATE))),e}case aFi.QUARTER:{const e=new xS(Pft.FIRST_DAY_OF_QUARTER);return jft(e,H_.create(new Y_(V_.STRICTDATE))),e}case aFi.MONTH:{const e=new xS(Pft.FIRST_DAY_OF_THIS_MONTH);return jft(e,H_.create(new Y_(V_.DATE))),e}case aFi.WEEK:{const e=new xS(Pft.FIRST_DAY_OF_WEEK);return jft(e,H_.create(new Y_(V_.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 sFi.TODAY:return CFi(Pft.TODAY,V_.STRICTDATE);case sFi.NOW:return CFi(Pft.NOW,V_.DATETIME);case uFi.FIRST_DAY_OF_THIS_YEAR:{const e=new xS(Pft.FIRST_DAY_OF_THIS_YEAR);return jft(e,H_.create(new Y_(V_.DATE))),e}case uFi.FIRST_DAY_OF_QUARTER:{const e=new xS(Pft.FIRST_DAY_OF_QUARTER);return jft(e,H_.create(new Y_(V_.STRICTDATE))),e}case uFi.FIRST_DAY_OF_MONTH:{const e=new xS(Pft.FIRST_DAY_OF_THIS_MONTH);return jft(e,H_.create(new Y_(V_.DATE))),e}case uFi.FIRST_DAY_OF_WEEK:{const e=new xS(Pft.FIRST_DAY_OF_WEEK);return jft(e,H_.create(new Y_(V_.DATE))),e}default:throw new yi(`Can't build expression for date picker option '${e.value}'`)}},yFi=(e,t)=>{const n=t.getEnumeration(Oft.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(oFi).filter(t=>oFi[t]===e)[0])[0];return i??dr(n.values[0])},bFi=(e,t)=>{if(e instanceof xS&&O_(e.functionName,Pft.ADJUST)||e instanceof Qx&&O_(e.function,Pft.ADJUST))try{const t=new hFi("",sFi.CUSTOM_DATE,(e=>{if(e instanceof xS){const t=e.parametersValues[1];return t instanceof gS?t.values[0]:t instanceof xS&&O_(t.functionName,Pft.MINUS)&&t.parametersValues[0]instanceof gS?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof nT?t.value:t instanceof Qx&&O_(t.function,Pft.MINUS)&&t.parameters[0]instanceof nT?t.parameters[0].value:0}})(e),(e=>dr(e instanceof xS?Object.keys(oFi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>oFi[e])[0]:Object.values(oFi).filter(t=>t===fr(e.parameters[2],LT).property)[0]))(e),(n=e)instanceof xS?n.parametersValues[1]instanceof xS&&O_(n.parametersValues[1].functionName,Pft.MINUS)?cFi.BEFORE:cFi.AFTER:n.parameters[1]instanceof Qx&&O_(n.parameters[1].function,Pft.MINUS)?cFi.BEFORE:cFi.AFTER,(e=>{const t=e instanceof xS?e.parametersValues[0].functionName:e.parameters[0].function;switch(mFi(t)){case Pft.TODAY:return uFi.TODAY;case Pft.NOW:return uFi.NOW;case Pft.FIRST_DAY_OF_THIS_YEAR:return uFi.FIRST_DAY_OF_THIS_YEAR;case Pft.FIRST_DAY_OF_QUARTER:return uFi.FIRST_DAY_OF_QUARTER;case Pft.FIRST_DAY_OF_THIS_MONTH:return uFi.FIRST_DAY_OF_MONTH;case Pft.FIRST_DAY_OF_WEEK:return uFi.FIRST_DAY_OF_WEEK;case Pft.PREVIOUS_DAY_OF_WEEK:return uFi.PERVIOUS_DAY_OF_WEEK;default:throw new yi(`Can't build custom date option reference moment '${t}'`)}})(e)),i=fFi.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 hFi("","",0,void 0,void 0,void 0)},_Fi=(e,t)=>{if(!(e instanceof xS||e instanceof Qx)){if(e instanceof gS)return e.genericType.value.rawType.path===Xb.LATESTDATE?new dFi(sFi.LATEST_DATE,sFi.LATEST_DATE):new dFi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===Xb.DATETIME?sFi.ABSOLUTE_TIME:sFi.ABSOLUTE_DATE);if(e instanceof cT)return new dFi(sFi.LATEST_DATE,sFi.LATEST_DATE);if(e instanceof aT)return new dFi(e.value,sFi.ABSOLUTE_DATE);if(e instanceof oT)return new dFi(e.value,sFi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof xS?e.functionName:e.function;switch(mFi(n)){case Pft.TODAY:return new dFi(sFi.TODAY,sFi.TODAY);case Pft.NOW:return new dFi(sFi.NOW,sFi.NOW);case Pft.FIRST_DAY_OF_THIS_YEAR:return new pFi(uFi.FIRST_DAY_OF_THIS_YEAR,aFi.YEAR);case Pft.FIRST_DAY_OF_QUARTER:return new pFi(uFi.FIRST_DAY_OF_QUARTER,aFi.QUARTER);case Pft.FIRST_DAY_OF_THIS_MONTH:return new pFi(uFi.FIRST_DAY_OF_MONTH,aFi.MONTH);case Pft.FIRST_DAY_OF_WEEK:return new pFi(uFi.FIRST_DAY_OF_WEEK,aFi.WEEK);case Pft.PREVIOUS_DAY_OF_WEEK:const n=e instanceof xS?e.parametersValues[0].values[0]?.value.name:fr(e.parameters[0],LT).property;return new gFi(`Previous ${n}`,n);case Pft.ADJUST:return bFi(e,t);default:return new dFi("","")}}},CFi=(e,t)=>{const n=new xS(e);return jft(n,H_.create(new Y_(t))),n},SFi=(e,t,n,i)=>{const r=new gS(H_.create(new Y_(e.getPrimitiveType(t))));return Qft(r,[n],i),r},wFi=(e,t)=>{const n=mn(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},EFi=(e,t)=>{const n=new TS(e.functionName);return Kft(n,gC.create(dr(e.func.value))),$ft(n,e.parametersValues.map(e=>wFi(e)),t),n},xFi=(e,t,n,i)=>{const r=amt(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 SFi(e,r,i?cmt(r):null,n);case Xb.BOOLEAN:return SFi(e,r,cmt(r),n);case Xb.DATE:return SFi(e,Xb.STRICTDATE,i?cmt(r):null,n);default:if(t instanceof eC){const e=new fS(H_.create(new Y_(t)));if(i){if(!(t.values.length>0))throw new yi(`Can't get default value for enumeration since enumeration '${r}' has no value`);Qft(e,[cC.create(t.values[0])],n)}return e}throw new yi(`Can't get default value for type '${r}'`)}},TFi=(e,t)=>G6(((e,t)=>{const n=new RS(new AS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE));return n.expressionSequence[0]=xFi(e,V_.STRING,t,!0),n})(e.graph,t),e),AFi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==V_.BYTE)return new mS(s,H_.create(new Y_(r)));if(r instanceof V_)return((e,t,n)=>{const i=e.name;return i===Xb.DATE||i===Xb.DATETIME?CFi(Pft.NOW,V_.DATETIME):i===Xb.STRICTDATE?CFi(Pft.TODAY,V_.STRICTDATE):i===Xb.DATE?SFi(t,Xb.STRICTDATE,cmt(i),n):SFi(t,i,cmt(i),n)})(r,t,n);if(r instanceof eC){const e=new fS(H_.create(new Y_(r))),t=(o=r,(new My).getRandomItemInCollection(o.values)?.name??"");return""!==t&&Qft(e,[cC.create(Xw(r,t))],n),e}var o},RFi=(e,t,n)=>{if(e instanceof gS)return sE(e.genericType.value.rawType,V_.DATE)?_Fi(e,t).label:e.genericType.value.rawType===V_.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof fS){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof hS?e.name:e instanceof IS?RFi(e.getValue(),t,n):e instanceof xS?void 0!==e.genericType?.value.rawType&&sE(e.genericType.value.rawType,V_.DATE)?_Fi(e,t).label:e.functionName:e instanceof mS?e.values.map(e=>RFi(e,t,n)).join(","):void 0},NFi=(e,t,n)=>{let i=null;if(e instanceof V_)switch(e.path){case Xb.STRING:i=new gS(H_.create(new Y_(e))),Qft(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 gS(H_.create(new Y_(e))),Qft(i,[r],n);break}case Xb.DATE:case Xb.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new gS(H_.create(new Y_(e))),Qft(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 gS(H_.create(new Y_(e))),Qft(i,[t],n);break;default:return null}return i},IFi=(e,t)=>{const n=t?vm:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof TS;){for(r=r.parametersValues[0];r instanceof xS&&O_(r.functionName,Pft.SUBTYPE);){const e=`${Wb}(${n(r.parametersValues.filter(e=>e instanceof pS)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof TS&&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?"/":".")},DFi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof TS;)n=n.parametersValues[0],n instanceof TS&&t.unshift(n.func.value.name);return t.join(".")},kFi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof V_||r instanceof eC)return r===V_.LATESTDATE?new gS(H_.create(new Y_(r))):xFi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new mS(A_.ZERO,H_.create(new Y_(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class OFi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=DFi(t),this.title=IFi(t,!0),this.propertyExpression=Fte(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=fr(t.func.value,dC),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),hS))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=zft(e,i)??dr(t[i]):t.push(zft(e,i)??kFi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),$ft(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 pS)||imt(e))}}class LFi{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=Fte(t,e.observerContext),this.path=DFi(t),this.title=IFi(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 TS;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof K_&&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&&Kft(n,gC.create(t))}if(n.func.value instanceof dC){const e=new OFi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof xS&&O_(n.functionName,Pft.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return mv([fmt.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class MFi{uuid=Mr()}class PFi{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 oQ(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 j0)}}const FFi=(e,t,n,i)=>{const r=new RS(new AS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),s=new B$;s.values=[n];const o=new xS(I_(Pft.RELATION_PROJECT)),a=new SS(A_.ONE,void 0),l=new CS;a.values=[l];const c=new gX([]).build();return i.forEach((e,t)=>{const n=new bS;n.name=t,n.function1=new dS(WN(nq(e,c))),l.colSpecs.push(n)}),o.parametersValues=[s,a],r.expressionSequence=[o],G6(r,t)},BFi=(e,t,n)=>{let i=e.body;return n.length&&(i=Array.isArray(e.body)?[...n,...e.body]:[...n,e.body]),new lS([...Array.isArray(e.parameters)?e.parameters:[],...t],i)},VFi="PROJECTION_COLUMN";class UFi extends MFi{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 GFi extends UFi{lambdaParameterName=Aft;propertyExpressionState;constructor(e,t,n){super(e,""),hd(this,{lambdaParameterName:Rc,propertyExpressionState:Rc,setLambdaParameterName:Pu,changeProperty:Pu}),this.propertyExpressionState=new LFi(e.queryBuilderState,t),this.columnName=IFi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>pmt(e,t))))}changeProperty(e,t){this.propertyExpressionState=new LFi(this.tdsState.queryBuilderState,EGi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=IFi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return mv([fmt.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class HFi extends UFi{lambdaParameterName=Aft;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([fmt.RELATION_COLUMN_PROJECTION_COLUMN_STATE,this.column.name,this.columnName])}}class zFi extends PFi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return kte([Cft.QUERY_BUILDER,Cft.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=xj();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 rQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.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 lS(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(PS.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class jFi extends UFi{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 zFi(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 K_){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(PS.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedAccessorRawLambda(e){const{graphManagerState:t}=this.tdsState.queryBuilderState,n=FFi(t.graph,t,e,new Map([[this.columnName,this.lambda]]));return BFi(n,this.tdsState.getParameters(),this.tdsState.getLetExpressions())}getIsolatedClassRawLambda(){const e=fr(this.tdsState.queryBuilderState.sourceElement,K_,"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 cS(n.name,A_.ONE,C_.create(dr(e))),s=i.graphManagerState.graphManager.serializeRawValueSpecification(r);return BFi(new lS([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 V_||e instanceof eC,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(e)}getColumnType(){return this.returnType}get hashCode(){return mv([fmt.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class WFi{uuid=Mr();constructor(){hd(this,{getOperator:kc,allValidationIssues:kc,hashCode:kc})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof GFi?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 $Fi extends MFi{aggregationState;projectionColumnState;lambdaParameterName=Aft;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 jFi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return mv([fmt.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class qFi{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 $Fi(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([fmt.AGGREGATION_STATE,mv(this.columns)])}}const YFi=(e,t,n)=>{const i=new xS(I_(e));return i.parametersValues.push(new hS(t,A_.ONE)),i},KFi=(e,t,n,i,r)=>{if(O_(n.functionName,i)){const s=new $Fi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),br(1===n.parametersValues.length,`Can't process ${I_(i)}() expression: ${I_(i)}() expects no argument`);const o=fr(n.parametersValues[0],hS,`Can't process ${I_(i)}() expression: only support ${I_(i)}() immediately following a variable expression`);return br(s.lambdaParameterName===o.name,`Can't process ${I_(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),br(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${I_(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class XFi extends WFi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi(Pft.AVERAGE,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.AVERAGE,this)}getReturnType(e){return V_.FLOAT}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_AVERAGE])}}class ZFi extends WFi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof GFi){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 eC}return!0}buildAggregateExpression(e,t,n){return YFi(Pft.COUNT,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.COUNT,this)}getReturnType(e){return V_.INTEGER}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_COUNT])}}class QFi extends WFi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof GFi){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 eC}return!0}buildAggregateExpression(e,t,n){const i=new xS(I_(Pft.DISTINCT));i.parametersValues.push(new hS(t,A_.ONE));const r=new xS(I_(Pft.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(O_(e.functionName,Pft.COUNT)){const i=new $Fi(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],xS,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);br(O_(r.functionName,Pft.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],hS,"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 V_.INTEGER}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class JFi extends WFi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Pft.DATE_MAX:Pft.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof GFi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!O_(e.functionName,Pft.MAX))return;return KFi(n,t,e,Pft.MAX,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!O_(e.functionName,Pft.DATE_MAX))return;return KFi(n,t,e,Pft.DATE_MAX,this);default:return}}return O_(e.functionName,Pft.MAX)?KFi(n,t,e,Pft.MAX,this):O_(e.functionName,Pft.DATE_MAX)?KFi(n,t,e,Pft.DATE_MAX,this):void 0}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_MAX])}}class eBi extends WFi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Pft.DATE_MIN:Pft.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof GFi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!O_(e.functionName,Pft.MIN))return;return KFi(n,t,e,Pft.MIN,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!O_(e.functionName,Pft.DATE_MIN))return;return KFi(n,t,e,Pft.DATE_MIN,this);default:return}}return O_(e.functionName,Pft.MIN)?KFi(n,t,e,Pft.MIN,this):O_(e.functionName,Pft.DATE_MIN)?KFi(n,t,e,Pft.DATE_MIN,this):void 0}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_MIN])}}class tBi extends WFi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi(Pft.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.STD_DEV_POPULATION,this)}getReturnType(e){return V_.NUMBER}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class nBi extends WFi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi(Pft.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.STD_DEV_SAMPLE,this)}getReturnType(e){return V_.NUMBER}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class iBi extends WFi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof GFi){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 YFi(Pft.SUM,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.SUM,this)}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_SUM])}}class rBi{columnState;sortType=Bft.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([fmt.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class sBi{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([fmt.RESULT_SET_MODIFIER_STATE,mv(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var oBi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(oBi||(oBi={}));class aBi{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 lBi{uuid=Mr();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const cBi=(e,t)=>dr(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),uBi=e=>{if(e instanceof eC)return Fft.GET_ENUM;switch(e.path){case Xb.STRING:return Fft.GET_STRING;case Xb.NUMBER:return Fft.GET_NUMBER;case Xb.INTEGER:return Fft.GET_INTEGER;case Xb.FLOAT:return Fft.GET_FLOAT;case Xb.DECIMAL:return Fft.GET_DECIMAL;case Xb.DATE:return Fft.GET_DATE;case Xb.DATETIME:return Fft.GET_DATETIME;case Xb.STRICTDATE:return Fft.GET_STRICTDATE;case Xb.BOOLEAN:return Fft.GET_BOOLEAN;default:throw new yi(`Can't find TDS column derived property name for type: '${e.path}'`)}};var dBi;!function(e){e.AND="and",e.OR="or"}(dBi||(dBi={}));const hBi=e=>{switch(e){case dBi.AND:return Pft.AND;case dBi.OR:return Pft.OR;default:throw new yi(`Can't derive function name from group operation '${e}'`)}},pBi=e=>{if(O_(e,Pft.AND))return dBi.AND;if(O_(e,Pft.OR))return dBi.OR;throw new yi(`Can't derive group operation from function name '${e}'`)},gBi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;br(Object.values(Fft).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(Fft).join(",")}`);const r=i,s=e.parametersValues[1],o=Ar(fr(s,gS,"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=cBi(n,o);if(r!==Fft.IS_NULL&&r!==Fft.IS_NOT_NULL){if(a instanceof jFi){const e=cVi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof $Fi&&a.projectionColumnState instanceof jFi){const e=cVi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=dr(a.getColumnType());br(uBi(e)===r,`Can't process TDS column expression: expected column type ${uBi(e)} (got ${r})`)}return a},fBi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof TS&&t.func.value.name===s){const n=gBi(t,e);return r=new vVi(e,n,i),r}if(n&&O_(t.functionName,n)){br(2===t.parametersValues.length,`Can't process ${I_(n)}() expression: ${I_(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof TS)o=gBi(s,e);else{if(!(s instanceof ES))throw new yi(`Can't process ${I_(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=cBi(e.tdsState,t)}}const a=t.parametersValues[1];r=new vVi(e,o,i),((e,t)=>{if(e instanceof TS){const n=_i(()=>gBi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new mVi(t,n))}const n=e?gmt(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new fVi(t,n))})(a,r),br(i.isCompatibleWithPostFilterColumn(r),`Can't process ${I_(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},mBi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!O_(e.functionName,[Pft.AND,Pft.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new hVi(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 dVi(n,pBi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>mBi(fr(e,ES,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},vBi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?WY(r.expressionSequence[0]):void 0,o=new hS(e.postFilterState.lambdaParameterName,A_.ONE);if(s){const e=dr(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new ES(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new TS("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=dr(t.getColumnType());r=uBi(e)}e.func=gC.create(dr(tE(n.getClass(Oft.TDS_ROW)).find(e=>e.name===r)));const a=new gS(H_.create(new Y_(V_.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},yBi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=vBi(e,e.leftConditionValue,r,t,i);if(n){const t=new xS(I_(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class bBi extends lBi{getLabel(){return"starts with"}isCompatibleWithType(e){return amt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return xFi(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 yBi(e,this,Pft.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return fBi(e,t,Pft.STARTS_WITH,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_START_WITH])}}class _Bi extends bBi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?smt(n):void 0}buildPostFilterConditionState(e,t){const n=rmt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_NOT_START_WITH])}}const CBi=e=>e.getValue()instanceof IS?CBi(fr(e.getValue(),IS)):e.getValue(),SBi=(e,t,n,i,r)=>{const s=new TS("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof TS;){if(o=a.parametersValues[0],o instanceof TS){const e=new TS("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,qft(a,e,0,t.observerContext)}if(a instanceof TS&&a.func.value instanceof dC)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof K_&&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&&(Kft(a,gC.create(n)),$ft(a,[dr(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof IS&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof IS&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=CBi(t):e.parametersValues=[dr(fr(a,TS).parametersValues[0])]:e.parametersValues[n+1]=CBi(t))})}for(a=o;a instanceof xS&&O_(a.functionName,Pft.SUBTYPE);)a=a.parametersValues[0]}return a instanceof hS&&Xft(a,n),s};var wBi;!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"}(wBi||(wBi={}));const EBi=e=>{let t=e;for(;t instanceof TS;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof xS&&O_(t.functionName,Pft.SUBTYPE);)t=t.parametersValues[0]}return!1};class xBi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return mv([fmt.FILTER_CONDITION_RIGHT_VALUE])}}class TBi extends xBi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof mS?nmt(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?tmt(this.value):void 0}setValue(e){return this.value=e?nne(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof mS}get hashCode(){return mv([fmt.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class ABi extends xBi{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 EBi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class RBi{}class NBi extends RBi{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(SBi(this.propertyExpressionState.propertyExpression,e,t))}get hashCode(){return mv([fmt.FILTER_CONDITION_SOURCE_PROPERTY_EXPRESSION,this.propertyExpressionState])}}class IBi extends RBi{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 ES(e.name);return i.func=e,i.parametersValues=[new hS(t,A_.ONE)],i}throw new vi(`Can't build expression for relation column '${this.columnName}': no source relation type`)}get hashCode(){return mv([fmt.FILTER_CONDITION_SOURCE_RELATION_COLUMN,this.columnName])}}class DBi{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 TS?new NBi(new LFi(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,NBi,"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,TBi),n=e??t.value;if(aVi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(sVi(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=oVi(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 mS&&this.rightConditionValue instanceof TBi&&this.rightConditionValue.value instanceof pS&&imt(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?Qft(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof pS&&this.rightConditionValue instanceof TBi&&this.rightConditionValue.value instanceof mS&&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 TBi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new TBi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof ABi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new ABi(this,e))}get hashCode(){return mv([fmt.FILTER_CONDITION_STATE,this.sourceState,this.rightConditionValue??"",this.operator])}}class kBi{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 OBi extends kBi{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 LBi extends OBi{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([fmt.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class MBi extends OBi{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 LFi(this.filterState.queryBuilderState,e)}get hashCode(){return mv([fmt.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const PBi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof MBi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class FBi extends kBi{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([fmt.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class BBi extends kBi{constructor(e){super(e),hd(this,{dragPreviewLabel:kc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return mv([fmt.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class VBi{queryBuilderState;lambdaParameterName=Aft;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),OBi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof LBi)t.addChildNode(e);else if(t instanceof FBi||t instanceof BBi||t instanceof MBi){const n=new LBi(void 0,dBi.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 LBi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof MBi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new LBi(void 0,dBi.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 FBi||t instanceof BBi){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 LBi(void 0,dBi.AND),n=new BBi(void 0),i=new BBi(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 LBi(void 0,n??dBi.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 BBi(void 0);if(t instanceof FBi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new LBi(void 0,dBi.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 OBi&&[...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(LBi)).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 LBi&&!(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 BBi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(LBi)).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 BBi)throw new vi("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof FBi});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(LBi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof LBi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=fr(this.nodes.get(dr(e.parentId)),LBi);[...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(FBi)).map(e=>e.condition.rightConditionValue instanceof TBi?e.condition.rightConditionValue.value:void 0).filter(cr).find(t=>pmt(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof FBi&&!e.condition.sourceState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof FBi&&e.condition.rightConditionValue instanceof TBi&&e.condition.rightConditionValue.value instanceof pS&&!imt(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof FBi&&e.condition.rightConditionValue instanceof ABi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof FBi&&(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 ABi&&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([fmt.FILTER_STATE,mv(this.rootIds),mv(Array.from(this.nodes.values()))])}}const UBi=(e,t)=>{if(t instanceof FBi){const n=t.parentId?fr(e.nodes.get(t.parentId),OBi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof LBi){const n=new xS(I_(hBi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>UBi(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 xS(I_(hBi(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 MBi){const n=new xS(I_(Pft.EXISTS));let i=t.parentId?fr(e.nodes.get(dr(t.parentId)),OBi):void 0;for(;i&&!(i instanceof LBi);)i=i.parentId?fr(e.nodes.get(dr(i.parentId)),OBi):void 0;const r=t.parentId?fr(e.nodes.get(dr(t.parentId)),OBi).lambdaParameterName:void 0,s=dr(SBi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>UBi(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 xS(dr(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=umt([t.lambdaParameterName??Aft],o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new xS(I_(hBi(dr(i).groupOperation)));l.parametersValues=a;const c=umt([t.lambdaParameterName??Aft],[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var GBi,HBi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(GBi||(GBi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(HBi||(HBi={}));const zBi=(e,t)=>{const n=new RS(new AS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new xS(I_(exports.SUPPORTED_FUNCTIONS.LET)),n=new gS(H_.create(new Y_(V_.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(cr),n},jBi=e=>e.value instanceof xS&&[A_.ONE,A_.ZERO_ONE].some(t=>cE(t,e.parameter.multiplicity)),WBi=e=>e.filter(jBi),$Bi=(e,t)=>e.filter(e=>!jBi(e)).map(e=>{const n=new pY;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(dr(e.value)),n}),qBi=(e,t,n)=>{const i=((e,t)=>{const n=WBi(e);if(n.length>0){const i=zBi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),G6(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class YBi{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=Lte(e),this.graph=n}get hashCode(){return mv([HBi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(AFi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof hS)throw new vi("Can not assign a parameter to another parameter");this.value=e?nne(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(jft(this.parameter,H_.create(new Y_(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;cE(n,t)||(Wft(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class KBi{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 XBi{parameterStates=[];parameterValuesEditorState=new KBi;constructor(){hd(this,{hashCode:kc})}get hashCode(){return mv([HBi.LAMBDA_PARAMETERS_STATE,mv(this.parameterStates)])}addParameter(e){jr(this.parameterStates,e)}removeParameter(e){$r(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class ZBi{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 QBi extends ZBi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class JBi extends ZBi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}}const eVi=(e,t)=>{const n=new xS(I_(Mft.GET_ALL)),i=new pS(t,H_.create(new Y_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n},tVi=(e,t)=>{const n=new xS(I_(Mft.GET_ALL_VERSIONS)),i=new pS(t,H_.create(new Y_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n},nVi=(e,t)=>{const n=new RS(new AS(C_.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),i=dr(e.sourceElement,"Source element of type class or accessor is required to build query");if(i instanceof K_){const i=dr(e.sourceClass,"Class is required to build query"),r=Kw(i,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=tVi(i,A_.ONE);n.expressionSequence[0]=e}else switch(e.getAllFunction){case Mft.GET_ALL_VERSIONS:if(!r)throw new yi("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=tVi(i,A_.ONE);n.expressionSequence[0]=e}break;case Mft.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 xS(I_(Mft.GET_ALL_VERSIONS_IN_RANGE)),i=new pS(t,H_.create(new Y_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n})(i,A_.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),n.expressionSequence[0]=t}break;case Mft.GET_ALL:{const t=eVi(i,A_.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 B$;e.values=[i],n.expressionSequence[0]=e}if(((e,t)=>{if(!e.value)return;const n=dr(t.expressionSequence[0]),i=new xS(I_(Pft.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=>UBi(e,t)).filter(cr);if(!n.length)return;const i=new xS(I_(Pft.FILTER)),r=dr(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(umt([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=WBi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=zBi(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},iVi=(e,t,n)=>{const i=new TS("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof TS;){if(r=s.parametersValues[0],r instanceof TS){const e=new TS("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof TS&&s.func.value.genericType.value.rawType instanceof K_&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof dC&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=CFi(Pft.NOW,V_.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];$ft(s,[dr(s.parametersValues[0]),...t],n)}for(s=r;s instanceof xS&&O_(s.functionName,Pft.SUBTYPE);)s=s.parametersValues[0]}return s instanceof hS&&Xft(s,t),i},rVi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new yi("Can't build typeahead query");const a=new RS(new AS(C_.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),l=dr(e.sourceClass),c=eVi(dr(e.sourceClass),A_.ONE),u=Kw(l,e.graphManagerState.graph);u&&e.milestoningState.getMilestoningImplementation(u).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const d=t?IFi(t,!1):s;if(n){const r=new xS(I_(Pft.TDS_GROUP_BY)),s=new mS(A_.ZERO),o=new mS(A_.ONE),l=new mS(A_.ONE),c=new gS(H_.create(new Y_(V_.STRING)));c.values.push(d),l.values.push(c);const u=t?umt([Aft],[t],e.graphManagerState.graph):i,h=new xS(I_(Pft.TDS_AGG)),p=umt([Aft],[n.buildAggregateExpression(t,Aft,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 xS(I_(Pft.TDS_PROJECT)),r=new mS(A_.ONE),s=new mS(A_.ONE),o=new gS(H_.create(new Y_(V_.STRING)));o.values.push(d),s.values.push(o);const l=t?umt([Aft],[t],e.graphManagerState.graph):i;r.values.push(dr(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new bBi,p=new TS("");let g;const f=h.getTDSColumnGetter();if(f)g=f;else{const e=t?.func.value.genericType.value.rawType??r;g=uBi(dr(e))}p.func=gC.create(dr(tE(e.graphManagerState.graph.getClass(Oft.TDS_ROW)).find(e=>e.name===g)));const m=new hS(Rft,A_.ONE),v=new gS(H_.create(new Y_(V_.STRING)));v.values=[d],p.parametersValues=[m,v];const y=new xS(I_(Pft.STARTS_WITH));y.parametersValues.push(p),o&&y.parametersValues.push(o);const b=umt([Rft],[y],e.graphManagerState.graph),_=new xS(I_(Pft.TDS_FILTER)),C=dr(a.expressionSequence[0]);_.parametersValues=[C,b],a.expressionSequence[0]=_;let S=a.expressionSequence[0];const w=new xS(I_(Pft.TDS_DISTINCT));w.parametersValues[0]=S,S=w;const E=new gS(H_.create(new Y_(V_.INTEGER)));E.values=[10];const x=new xS(I_(Pft.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=E,S=x,a.expressionSequence[0]=S,G6(a,e.graphManagerState)},sVi=(e,t,n)=>{const i=iVi(t,Aft,e.observerContext);return rVi(e,i,void 0,void 0,void 0,void 0,n)},oVi=e=>{const t=fr(e,uZ,"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},aVi=e=>{if(e instanceof gS){if(e.genericType.value.rawType.path===Xb.STRING){return e.values[0].length>=2}return!1}return!1};var lVi;!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"}(lVi||(lVi={}));const cVi=(e,t)=>{switch(e){case Fft.GET_STRING:return V_.STRING;case Fft.GET_NUMBER:return V_.NUMBER;case Fft.GET_INTEGER:return V_.INTEGER;case Fft.GET_FLOAT:return V_.FLOAT;case Fft.GET_DECIMAL:return V_.DECIMAL;case Fft.GET_DATE:return V_.DATE;case Fft.GET_DATETIME:return V_.DATETIME;case Fft.GET_STRICTDATE:return V_.STRICTDATE;case Fft.GET_BOOLEAN:return V_.BOOLEAN;default:return}};class uVi{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 dVi extends uVi{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([fmt.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",mv(this.childrenIds),this.groupOperation])}}class hVi extends uVi{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([fmt.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class pVi extends uVi{constructor(e){super(e),hd(this,{dragPreviewLabel:kc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return mv([fmt.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class gVi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return mv([fmt.POST_FILTER_CONDITION_RIGHT_VALUE])}}class fVi extends gVi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof mS?nmt(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?tmt(this.value):void 0}setValue(e){return this.value=e?nne(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 mS}get hashCode(){return mv([fmt.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class mVi extends gVi{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=vBi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class vVi{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 fVi(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 fVi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new fVi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof UFi||this.leftConditionValue instanceof $Fi?this.leftConditionValue:void 0,n=dr(t),i=fr(this.rightConditionValue,fVi),r=e??i.value;if(aVi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof UFi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof jFi?(s=new dS(WN(nq(l.lambda,new gX([]).build()))),o=l.columnName,a=l.returnType):i=iVi(fr(l,GFi).propertyExpressionState.propertyExpression,Aft,e.observerContext),rVi(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=oVi(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 jFi&&(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([fmt.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class yVi{tdsState;lambdaParameterName=Rft;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),dVi):void 0}get referencedTDSColumns(){return li(Array.from(this.nodes.values()).filter(pr(hVi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof mVi?[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 dVi)t.addChildNode(e);else if(t instanceof hVi||t instanceof pVi){const n=new dVi(void 0,dBi.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 dVi(void 0,dBi.AND),n=new pVi(void 0),i=new pVi(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 pVi(void 0);if(t instanceof hVi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new dVi(void 0,dBi.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 dVi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof hVi||t instanceof pVi){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 dVi&&[...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(dVi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return fr(this.nodes.get(e.parentId),dVi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=fr(this.nodes.get(dr(e.parentId)),dVi);[...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(dVi)).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 pVi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(dVi)).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 pVi)throw new vi("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof hVi});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(hVi)).map(e=>e.condition.rightConditionValue).filter(pr(fVi)).map(e=>e.value).filter(cr).find(t=>pmt(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof hVi&&(t.condition.rightConditionValue instanceof fVi&&t.condition.rightConditionValue.value instanceof pS&&!imt(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof GFi&&!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 hVi&&e.condition.rightConditionValue instanceof fVi&&e.condition.rightConditionValue.value instanceof pS&&!imt(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof hVi&&e.condition.leftConditionValue instanceof GFi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return mv([fmt.POST_FILTER_STATE,mv(this.rootIds),mv(Array.from(this.nodes.values()))])}}class bVi extends lBi{getLabel(){return"is in list of"}isCompatibleWithType(e){const t=amt(e);return void 0!==t&&[Xb.STRING,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t)||e instanceof eC}isCompatibleWithConditionValue(e){const t=dr(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof fVi){const i=n.value;if(i instanceof mS){if(0===i.values.length)return!0;const n=nmt(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 hS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());return new mS(A_.ONE,H_.create(new Y_(t)))}buildPostFilterConditionExpression(e,t){return yBi(e,this,Pft.IN,t)}buildPostFilterConditionState(e,t){return fBi(e,t,Pft.IN,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_IN])}}class _Vi extends bVi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?smt(n):void 0}buildPostFilterConditionState(e,t){const n=rmt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_NOT_IN])}}class CVi extends lBi{getLabel(){return"is empty"}getTDSColumnGetter(){return Fft.IS_NULL}isCompatibleWithType(e){return e instanceof V_||e instanceof U_||e instanceof eC}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof fVi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof GFi)||omt(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return yBi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return fBi(e,t,void 0,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_IS_EMPTY])}}class SVi extends CVi{getLabel(){return"is not empty"}getTDSColumnGetter(){return Fft.IS_NOT_NULL}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class wVi extends lBi{getLabel(){return"is"}isCompatibleWithType(e){const t=amt(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 eC&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&lmt(e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());return xFi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return yBi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Pft.IS_ON_DAY:Pft.EQUAL,t)}buildPostFilterConditionState(e,t){return fBi(e,t,t.parametersValues[0]instanceof TS&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_DAY:Pft.EQUAL,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_EQUAL])}}class EVi extends wVi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?smt(n):void 0}buildPostFilterConditionState(e,t){const n=rmt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_NOT_EQUAL])}}class xVi extends lBi{getLabel(){return"<"}isCompatibleWithType(e){const t=amt(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return lmt(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 xFi(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 yBi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Pft.IS_BEFORE_DAY:Pft.LESS_THAN,t)}buildPostFilterConditionState(e,t){return fBi(e,t,t.parametersValues[0]instanceof TS&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_BEFORE_DAY:Pft.LESS_THAN,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_LESS_THAN])}}class TVi extends xVi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return yBi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Pft.IS_ON_OR_BEFORE_DAY:Pft.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return fBi(e,t,t.parametersValues[0]instanceof TS&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_OR_BEFORE_DAY:Pft.LESS_THAN_EQUAL,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class AVi extends lBi{getLabel(){return">"}isCompatibleWithType(e){const t=amt(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return lmt(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 xFi(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 yBi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Pft.IS_AFTER_DAY:Pft.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return fBi(e,t,t.parametersValues[0]instanceof TS&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_AFTER_DAY:Pft.GREATER_THAN,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_GREATER_THAN])}}class RVi extends AVi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return yBi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Pft.IS_ON_OR_AFTER_DAY:Pft.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return fBi(e,t,t.parametersValues[0]instanceof TS&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_OR_AFTER_DAY:Pft.GREATER_THAN_EQUAL,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class NVi extends lBi{getLabel(){return"contains"}isCompatibleWithType(e){return amt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());if(t.path===Xb.STRING)return xFi(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 yBi(e,this,Pft.CONTAINS,t)}buildPostFilterConditionState(e,t){return fBi(e,t,Pft.CONTAINS,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_CONTAIN])}}class IVi extends NVi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?smt(n):void 0}buildPostFilterConditionState(e,t){const n=rmt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class DVi extends lBi{getLabel(){return"ends with"}isCompatibleWithType(e){return amt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return xFi(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 yBi(e,this,Pft.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return fBi(e,t,Pft.ENDS_WITH,this)}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_END_WITH])}}class kVi extends DVi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?smt(n):void 0}buildPostFilterConditionState(e,t){const n=rmt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.POST_FILTER_OPERATOR_NOT_END_WITH])}}class OVi extends WFi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof GFi){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 eC}return!0}buildAggregateExpression(e,t,n){return YFi(Pft.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return KFi(n,t,e,Pft.UNIQUE_VALUE_ONLY,this)}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_DISTINCT])}}class LVi extends WFi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof GFi)||V_.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new xS(I_(Pft.JOIN_STRINGS)),r=new gS(H_.create(new Y_(V_.STRING)));return r.values=[";"],i.parametersValues.push(new hS(t,A_.ONE),r),i}buildAggregateColumnState(e,t,n){if(O_(e.functionName,Pft.JOIN_STRINGS)){const i=new $Fi(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],hS,"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],gS,"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 V_.STRING}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_JOIN_STRING])}}class MVi extends WFi{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 GFi){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 xS(I_(Pft.PERCENTILE)),s=new gS(H_.create(new Y_(V_.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new hS(t,A_.ONE),s);else{const e=new gS(H_.create(new Y_(V_.BOOLEAN)));e.values=[this.acending];const n=new gS(H_.create(new Y_(V_.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new hS(t,A_.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(O_(e.functionName,Pft.PERCENTILE)){const i=new $Fi(n.tdsState.aggregationState,n,new MVi),r=fr(i.operator,MVi);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],hS,"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],gS,"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],gS,"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],gS,"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 MVi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_PERCENTILE])}}class PVi extends WFi{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 GFi){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 YFi(Pft.WAVG,t)}buildAggregateColumnState(e,t,n){if(O_(e.functionName,Pft.WAVG)){const e=new $Fi(n.tdsState.aggregationState,n,new PVi),i=fr(e.operator,PVi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new PVi}get hashCode(){return mv([fmt.AGGREGATE_OPERATOR_WAVG])}}const FVi="WINDOW_COLUMN";class BVi{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([fmt.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class VVi{windowState;lambdaParameterNames=[Aft];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([fmt.TDS_WINDOW_GROUPBY_OPERATION_STATE,mv(this.lambdaParameterNames),this.operator])}}class UVi extends VVi{constructor(e,t){super(e,t),hd(this,{setLambdaParameterNames:Pu})}}class GVi extends VVi{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([fmt.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,mv(this.lambdaParameterNames),this.operator,this.columnState.columnName])}}class HVi extends MFi{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 GVi?[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 UVi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new GVi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof GVi?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 BVi(dr(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return mv([fmt.TDS_WINDOW_COLUMN_STATE,mv(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class zVi{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 GVi&&t.operatorState.columnState instanceof HVi){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?O_(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([fmt.TDS_WINDOW_GROUPBY_STATE,mv(this.windowColumns)])}}const jVi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new gS(H_.create(new Y_(V_.STRING)));return t.values=[e.columnName],t}),r=new mS(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new xS((e=>{switch(e){case Bft.ASC:return I_(Pft.TDS_ASC);case Bft.DESC:return I_(Pft.TDS_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new gS(H_.create(new Y_(V_.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=o.lambdaParameterNames[0]??Vmt,l=I_(dr(o.operator.pureFunc,`Operator '${o.operator.getLabel()}' does not have a compatible OLAP function`)),c=new xS(l);c.parametersValues=[new hS(a,A_.ONE)];const u=umt([a],[c],n);let d;if(o instanceof GVi){const e=new gS(H_.create(new Y_(V_.STRING)));e.values=[o.columnState.columnName],d=new xS(I_(Pft.TDS_FUNC)),d.parametersValues=[e,u]}const h=d??u,p=new gS(H_.create(new Y_(V_.STRING)));p.values=[e.columnName];const g=new xS(I_(Pft.OLAP_GROUPBY)),f=dr(t.expressionSequence[0]);return g.parametersValues=[f,r,...s?[s]:[],h,p],t.expressionSequence[0]=g,t},WVi=e=>{const t=new xS(I_(Pft.RELATION_OVER)),n=new SS(A_.ONE,void 0),i=new CS;if(n.values=[i],e.windowColumns.forEach(e=>{const t=new bS;t.name=e.columnName,i.colSpecs.push(t)}),t.parametersValues.push(n),e.sortByState){const n=e.sortByState,i=new xS((e=>{switch(e){case Bft.ASC:return I_(Pft.RELATION_ASC);case Bft.DESC:return I_(Pft.RELATION_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(n.sortType)),r=new _S(A_.ONE,void 0),s=new bS;s.name=n.columnState.columnName,r.values=[s],i.parametersValues[0]=r;const o=new mS(A_.ONE);o.values=[i],t.parametersValues.push(o)}return t},$Vi=(e,t)=>(e.tdsState.queryBuilderState.isFetchStructureTyped?e.windowColumns.forEach(e=>((e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=WVi(e),r=new SS(A_.ONE,void 0),s=new CS;r.values=[s];const o=new bS;o.name=e.columnName;const a=e.operatorState;if(1===a.lambdaParameterNames.length&&a.setLambdaParameterNames([Nft,Ift,Dft]),a instanceof GVi&&a.operator.relationFunc){const e=I_(a.operator.relationFunc),[l=Nft,c=Ift,u=Dft,d=Vmt]=a.lambdaParameterNames,h=new ES(a.columnState.columnName);h.func=new $_(a.columnState.columnName,H_.create(new Y_(V_.STRING))),h.parametersValues=[new hS(u,A_.ONE)];const p=umt([l,c,u],[h],n);o.function1=p;const g=new xS(e);g.parametersValues=[new hS(d,A_.ONE)];const f=umt([d],[g],n);o.function2=f,s.colSpecs.push(o);const m=new xS(I_(Pft.RELATION_EXTEND)),v=dr(t.expressionSequence[0]);return m.parametersValues=[v,i,r],t.expressionSequence[0]=m,t}if(a instanceof UVi&&a.operator.relationFunc){const e=I_(a.operator.relationFunc),l=new xS(e),[c=Nft,u=Ift,d=Dft]=a.lambdaParameterNames;e===I_(Pft.RELATION_ROW_NUMBER)?l.parametersValues=[new hS(c,A_.ONE),new hS(d,A_.ONE)]:l.parametersValues=[new hS(c,A_.ONE),new hS(u,A_.ONE),new hS(d,A_.ONE)];const h=umt([c,u,d],[l],n);o.function1=h,s.colSpecs.push(o);const p=new xS(I_(Pft.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=>jVi(e,t)),t),qVi=(e,t,n)=>{if(t instanceof hVi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof dVi){const i=new xS(I_(hBi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>qVi(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 xS(I_(hBi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class YVi{_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[Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Bft.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 xS(I_(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new xS(I_(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new mS(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 xS(I_(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new gS(H_.create(new Y_(V_.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 xS(I_(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 gS(H_.create(new Y_(V_.INTEGER))),r=new gS(H_.create(new Y_(V_.INTEGER)));i.values=[t],r.values=[n];const s=new xS(I_(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 xS&&O_(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 KVi extends YVi{get limitFunctionName(){return Pft.TDS_TAKE}get sliceFunctionName(){return Pft.SLICE}get sortFunctionName(){return Pft.TDS_SORT}get distinctFunctionName(){return Pft.TDS_DISTINCT}get ascFunctionname(){return Pft.TDS_ASC}get descFunctionName(){return Pft.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new gS(H_.create(new Y_(V_.STRING)));return t.values=[e],t})(e)}}class XVi extends YVi{get limitFunctionName(){return Pft.RELATION_LIMIT}get sliceFunctionName(){return Pft.RELATION_SLICE}get ascFunctionname(){return Pft.RELATION_ASC}get descFunctionName(){return Pft.RELATION_DESC}get sortFunctionName(){return Pft.RELATION_SORT}get distinctFunctionName(){return Pft.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new _S(A_.ONE,void 0),n=new bS;return n.name=e,t.values=[n],t}}const ZVi=(e,t,n)=>{const i=e.queryBuilderState,r=new xS(I_(Pft.TDS_PROJECT)),s=new mS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new mS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));return e.projectionColumns.forEach(t=>{const i=new gS(H_.create(new Y_(V_.STRING)));i.values.push(t.columnName),o.values.push(i),s.values.push(((e,t,n)=>{if(t instanceof GFi)return umt([t.lambdaParameterName],[SBi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);if(t instanceof jFi)return new dS(WN(nq(t.lambda,new gX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())));throw new yi("Can't build project() column expression: unsupported projection column state",t)})(e,t,n))}),r.parametersValues=[t,s,o],r},QVi=(e,t,n)=>{const i=e.queryBuilderState,r=new xS(I_(Pft.TDS_PROJECT)),s=new mS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));return e.projectionColumns.forEach(t=>{s.values.push(((e,t,n)=>{const i=new xS(I_(Pft.TDS_COL));let r;if(t instanceof GFi)r=umt([t.lambdaParameterName],[SBi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof jFi))throw new yi("Can't build project() column expression: unsupported projection column state",t);r=new dS(WN(nq(t.lambda,new gX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new gS(H_.create(new Y_(V_.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,t,n))}),r.parametersValues=[t,s],r},JVi=(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 xS(I_(Pft.TDS_GROUP_BY)),o=new mS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new mS(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new mS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new gS(H_.create(new Y_(V_.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 GFi)c=umt([t.lambdaParameterName],[SBi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof jFi))throw new yi("Can't build project() column expression: unsupported projection column state",t);c=new dS(WN(nq(t.lambda,new gX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof PVi&&s.setLambdaParameterName("y");const e=new xS(I_(Pft.TDS_AGG)),t=umt([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 xS&&(n=umt([dr(s.calendarFunction).lambdaParameterName],[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof PVi&&s.operator.weight&&s.projectionColumnState instanceof GFi&&c instanceof NS){const e=new xS(Pft.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof NS?Gr(n.values,0).expressionSequence[0]=e:c instanceof NS&&(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)switch(e.resolveProjectionMode){case yUi.PROJECT:if(i.useRelation){const i=((e,t,n)=>{const i=new xS(I_(Pft.RELATION_PROJECT)),r=t.queryBuilderState,s=new SS(A_.ONE,void 0),o=new CS;s.values=[o];const a=new q_(q_.ID);t.projectionColumns.forEach(e=>{const t=new bS;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof GFi)i=umt([e.lambdaParameterName],[SBi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else if(e instanceof HFi){const t=e.column,n=new ES(t.name),s=new hS(e.lambdaParameterName,A_.ONE,void 0);n.func=t,n.parametersValues=[s],i=umt([e.lambdaParameterName],[n],r.graphManagerState.graph)}else{if(!(e instanceof jFi))throw new yi("Can't build relation project() column expression: unsupported projection column state",e);i=new dS(WN(nq(e.lambda,new gX([]).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 $_(e.columnName,H_.create(new Y_(s))))}),i.parametersValues=[e,s];const l=new Y_(jY.INSTANCE),c=new Y_(a);return l.typeArguments=[H_.create(c)],i.genericType=H_.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=fr(e,xS);if(n.functionName!==I_(Pft.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new xS(I_(Pft.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new SS(A_.ONE,void 0),o=new CS;s.values=[o];const a=new SS(A_.ONE,void 0),l=new CS;a.values=[l];const c=new q_(q_.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new bS;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 $_(e.columnName,H_.create(new Y_(n))))}),t.aggregationState.columns.forEach(e=>{const t=new bS;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,NS).values[0]?.expressionSequence[0],TS),o=fr(s.func.value,Q_),a=new TS("");a.func=gC.create(new Q_(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new hS(Vmt,A_.ONE)];const u=umt([Vmt],[a],r.graphManagerState.graph);t.function1=u;const d=umt([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 $_(e.columnName,H_.create(new Y_(h))))}),i.parametersValues=[e,s,a];const u=new Y_(jY.INSTANCE),d=new Y_(c);return u.typeArguments=[H_.create(d)],i.genericType=H_.create(u),i})(i,e):null;t.expressionSequence[0]=s??i}else t.expressionSequence[0]=ZVi(e,r,n);break;case yUi.PROJECT_COL:if(i.useRelation)throw new yi(`Can't build projection: '${yUi.PROJECT_COL}' mode is not supported with relation queries`);t.expressionSequence[0]=QVi(e,r,n);break;case yUi.SELECT:if(!i.useRelation)throw new yi(`Can't build projection: '${yUi.SELECT}' mode requires a relation query`);t.expressionSequence[0]=((e,t)=>{const n=new xS(I_(Pft.RELATION_SELECT)),i=new SS(A_.ONE,void 0),r=new CS;return i.values=[r],e.projectionColumns.forEach(e=>{if(e instanceof jFi)throw new yi(`Can't build select(~[...]) expression: derivation column '${e.columnName}' is not supported in SELECT mode`);const t=new bS;t.name=e.columnName,r.colSpecs.push(t)}),n.parametersValues=[t,i],n})(e,r);break;default:throw new yi(`Can't build projection: unsupported projection mode '${e.projectionMode}'`)}$Vi(e.windowState,t),((e,t)=>{const n=e.rootIds.map(t=>dr(e.nodes.get(t))).map(n=>qVi(e,n,t)).filter(cr);if(!n.length||1!==t.expressionSequence.length)return t;const i=umt([e.lambdaParameterName],n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new xS(I_(Pft.TDS_FILTER)),s=dr(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new XVi(e.tdsState.queryBuilderState.graphManagerState):new KVi(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 eUi{uuid=Mr();isColumnAggregator(){return!1}getOperatorReturnType(e){return V_.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class tUi extends eUi{getLabel(){return"average rank"}get pureFunc(){return Pft.OLAP_AVERAGE_RANK}get relationFunc(){}get hashCode(){return mv([fmt.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 nUi extends eUi{getLabel(){return"dense rank"}get pureFunc(){return Pft.OLAP_DENSE_RANK}get relationFunc(){return Pft.RELATION_DENSE_RANK}get hashCode(){return mv([fmt.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 iUi extends eUi{getLabel(){return"rank"}get pureFunc(){return Pft.OLAP_RANK}get relationFunc(){return Pft.RELATION_RANK}get hashCode(){return mv([fmt.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 rUi extends eUi{getLabel(){return"row number"}get pureFunc(){return Pft.OLAP_ROW_NUMBER}get relationFunc(){return Pft.RELATION_ROW_NUMBER}get hashCode(){return mv([fmt.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 sUi extends eUi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return Pft.SUM}get relationFunc(){return Pft.SUM}get hashCode(){return mv([fmt.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 oUi extends eUi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return Pft.COUNT}get relationFunc(){return Pft.COUNT}get hashCode(){return mv([fmt.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 aUi extends eUi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return Pft.MAX}get relationFunc(){return Pft.MAX}get hashCode(){return mv([fmt.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 lUi extends eUi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return Pft.MIN}get relationFunc(){return Pft.MIN}get hashCode(){return mv([fmt.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 cUi extends eUi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return Pft.AVERAGE}get relationFunc(){return Pft.AVERAGE}get hashCode(){return mv([fmt.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 uUi extends eUi{getLabel(){return"percent rank"}get pureFunc(){}get relationFunc(){return Pft.RELATION_PERCENT_RANK}get hashCode(){return mv([fmt.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 dUi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(dUi||(dUi={}));const hUi={[dUi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[dUi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var pUi;!function(e){e.NY="NY",e.LDN="LDN"}(pUi||(pUi={}));const gUi="en-US";class fUi{dateColumn;calendarType;endDate;lambdaParameterName=Aft;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 GFi){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 xS(I_(e));if(!t)throw new yi("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new gS(H_.create(new Y_(V_.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(O_(e.functionName,t)){br(4===e.parametersValues.length,`Can't process ${I_(t)}() expression: ${I_(t)}() expects four arguments`);const r=fr(e.parametersValues[0],TS,`Can't process ${I_(t)}() expression: only support ${I_(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 ${I_(t)}() expression: only support ${I_(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof TS;){const e=s;for(s=dr(s.parametersValues[0]),e.func.value instanceof dC&&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 xS&&O_(s.functionName,Pft.SUBTYPE);)s=dr(s.parametersValues[0])}const o=fr(s,hS).name;n.setLambdaParameterName(o);const a=fr(e.parametersValues[1],gS,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with second parameter as PrimitiveInstancevalue`);br(void 0!==Object.values(pUi).find(e=>e===a.values[0]),`Can't process ${I_(t)}() expression: only support ${I_(t)}() calendar types NY and LDN`);const l=fr(e.parametersValues[2],uS,`Can't process ${I_(t)}() expression: only support ${I_(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 ${I_(t)}() expression: only support ${I_(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 ${I_(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 GFi&&t instanceof NS?n=fr(t.values[0]?.expressionSequence[0],TS):e.projectionColumnState instanceof jFi&&(n=fr(t,dS)),!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 mUi(e,t,n){return new fUi(e,t,n)}var vUi,yUi;!function(e){e.CSV="CSV"}(vUi||(vUi={})),function(e){e.PROJECT="PROJECT",e.PROJECT_COL="PROJECT_COL",e.SELECT="SELECT"}(yUi||(yUi={}));class bUi extends aBi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;projectionMode=yUi.PROJECT;postFilterOperators=(()=>[new wVi,new EVi,new xVi,new TVi,new AVi,new RVi,new bBi,new _Bi,new NVi,new IVi,new DVi,new kVi,new bVi,new _Vi,new CVi,new SVi])();aggregationOperators=(()=>[new ZFi,new QFi,new OVi,new iBi,new XFi,new eBi,new JFi,new MVi,new tBi,new nBi,new LVi,new PVi])();aggregationCalendarFunctions=(()=>[mUi(Lft.CALENDAR_ANNUALIZED,"Annualized",fmt.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),mUi(Lft.CALENDAR_YTD,"Year to Date",fmt.AGGREGATE_CALENDAR_FUNCTION_YTD),mUi(Lft.CALENDAR_CME,"Current Month Estimate",fmt.AGGREGATE_CALENDAR_FUNCTION_CME),mUi(Lft.CALENDAR_CW,"Current Week",fmt.AGGREGATE_CALENDAR_FUNCTION_CW),mUi(Lft.CALENDAR_CME,"Current Month Estimate",fmt.AGGREGATE_CALENDAR_FUNCTION_CME),mUi(Lft.CALENDAR_CY_MINUS2,"Current year minus 2",fmt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),mUi(Lft.CALENDAR_CY_MINUS3,"Current year minus 3",fmt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),mUi(Lft.CALENDAR_MTD,"Month to date",fmt.AGGREGATE_CALENDAR_FUNCTION_MTD),mUi(Lft.CALENDAR_P12WA,"Previous 12 Weeks Averaged",fmt.AGGREGATE_CALENDAR_FUNCTION_P12WA),mUi(Lft.CALENDAR_P12WTD,"Previous 12 Weeks To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_P12WTD),mUi(Lft.CALENDAR_P4WA,"Previous 4 Weeks Averaged",fmt.AGGREGATE_CALENDAR_FUNCTION_P4WA),mUi(Lft.CALENDAR_P4WTD,"Previous 4 Weeks To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_P4WTD),mUi(Lft.CALENDAR_P52WA,"Previous 52 Weeks Averaged",fmt.AGGREGATE_CALENDAR_FUNCTION_P52WA),mUi(Lft.CALENDAR_P52WTD,"Previous 52 Weeks To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_P52WTD),mUi(Lft.CALENDAR_PMA,"Previous Months Averaged",fmt.AGGREGATE_CALENDAR_FUNCTION_PMA),mUi(Lft.CALENDAR_PMTD,"Previous Month To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PMTD),mUi(Lft.CALENDAR_PQTD,"Previous Quarter To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PQTD),mUi(Lft.CALENDAR_PRIOR_DAY,"Prior Day",fmt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),mUi(Lft.CALENDAR_PRIOR_YEAR,"Prior Year",fmt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),mUi(Lft.CALENDAR_PW,"Previous week",fmt.AGGREGATE_CALENDAR_FUNCTION_PW),mUi(Lft.CALENDAR_PW_FM,"Previous week, Franchise Manager",fmt.AGGREGATE_CALENDAR_FUNCTION_PW_FM),mUi(Lft.CALENDAR_PWA,"Past Weeks' Average",fmt.AGGREGATE_CALENDAR_FUNCTION_PWA),mUi(Lft.CALENDAR_PWTD,"Previous Week To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PWTD),mUi(Lft.CALENDAR_PYMTD,"Previous Year's Month To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PYMTD),mUi(Lft.CALENDAR_PYQTD,"Previous Year's Quarter To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PYQTD),mUi(Lft.CALENDAR_PYTD,"Previous Year To Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PYTD),mUi(Lft.CALENDAR_PYWA,"Previous Year's Weekly Average",fmt.AGGREGATE_CALENDAR_FUNCTION_PYWA),mUi(Lft.CALENDAR_PYWTD,"Previous Year's Week to Date",fmt.AGGREGATE_CALENDAR_FUNCTION_PYWTD),mUi(Lft.CALENDAR_QTD,"Quarter to Date",fmt.AGGREGATE_CALENDAR_FUNCTION_QTD),mUi(Lft.CALENDAR_REPORT_END_DAY,"Report End Day",fmt.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),mUi(Lft.CALENDAR_WTD,"Week to Date",fmt.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new sUi,new oUi,new aUi,new lUi,new cUi,new tUi,new nUi,new iUi,new rUi,new uUi])();constructor(e,t){super(e,t),hd(this,{aggregationState:Rc,projectionColumns:Rc,isConvertDerivationProjectionObjects:Rc,showPostFilterPanel:Rc,showWindowFuncPanel:Rc,projectionMode:Rc,TEMPORARY__showPostFetchStructurePanel:kc,derivations:kc,hasParserError:kc,isQueryOptionsSet:kc,resolveProjectionMode:kc,addColumn:Pu,moveColumn:Pu,removeAllColumns:Pu,removeColumn:Pu,replaceColumn:Pu,initialize:Pu,initializeWithQuery:Pu,setShowPostFilterPanel:Pu,setShowWindowFuncPanel:Pu,setProjectionMode:Pu,checkBeforeChangingImplementation:Pu,convertDerivationProjectionObjects:Ju,fetchDerivedReturnTypes:Ju}),this.resultSetModifierState=new sBi(this),this.postFilterState=new yVi(this,this.postFilterOperators),this.aggregationState=new qFi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new zVi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(dUi.SHOW_POST_FILTER_PANEL)??!1}get type(){return oBi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(pr(jFi))}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 GFi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof TS;)for(n.push(i.func.value.name),i=dr(i.parametersValues[0]);i instanceof xS;){if(!(O_(i.functionName,Pft.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof K_))return;n[n.length-1]instanceof K_||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 K_)Qw(t).concat(t).forEach(e=>s.push(vGi(i,e.path))),r.push(vGi(i,t.path));else{const e=mGi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}else t instanceof HFi&&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 GFi&&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[vUi.CSV]}getExportDataInfo(e){if(e===vUi.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 $Fi?e instanceof $Fi?e===t:t.projectionColumnState===e:t===e))}onClassChange(){}appendFetchStructure(e,t){JVi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setProjectionMode(e){this.projectionMode=e}get resolveProjectionMode(){if(this.projectionMode===yUi.SELECT){if(!this.projectionColumns.every(e=>e instanceof HFi&&e.columnName===e.column.name))return yUi.PROJECT}return this.projectionMode}*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(PS.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=umt([e.lambdaParameterName],[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new jFi(this,fr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),lS));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 ES(t.name);n.func=t,n.parametersValues=[new hS(e.lambdaParameterName,A_.ONE,void 0)];const i=umt([e.lambdaParameterName],[n],this.queryBuilderState.graphManagerState.graph),r=new jFi(this,fr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(i,this.queryBuilderState.graphManagerState.graph),lS));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 jFi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${Aft}${Hb}''`)}revealCompilationError(e){const t=Dte(e.sourceInformation);if(t&&3===t.length&&t[0]===Cft.QUERY_BUILDER&&t[1]===Cft.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof jFi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new GFi(this,EGi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new GFi(this,EGi(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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:hgt.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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:hgt.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(pr(jFi)).length)return!1;const n=t.filter(pr(GFi)).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 GFi&&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([fmt.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(jFi));if(0===t.length)return;const n=this.queryBuilderState.sourceElement;if(n instanceof K_){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=FFi(e,this.queryBuilderState.graphManagerState,n,i),s=BFi(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 _Ui;!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)"}(_Ui||(_Ui={}));const CUi=[[_Ui.COUNT,ZFi],[_Ui.DISTINCT_COUNT,QFi],[_Ui.SUM,iBi],[_Ui.MIN,eBi],[_Ui.MAX,JFi],[_Ui.AVERAGE,XFi],[_Ui.STD_DEV_POPULATION,tBi],[_Ui.STD_DEV_SAMPLE,nBi]],SUi=(e,t,n)=>{const i=new GFi(e,t,!1);return i.setColumnName(n),i};class wUi 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 EUi=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=>xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return xie.jsx("div",{children:l.length>0?xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),xie.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>xie.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&xie.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))]})]}):xie.jsx(xie.Fragment,{children:Boolean(a.length)&&xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},xUi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return xie.jsx(wye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:xie.jsx("div",{children:xie.jsx(ZCe,{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:xie.jsxs("div",{className:"query-builder__tooltip__content",children:[xie.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:xie.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},TUi=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?xie.jsx("div",{className:"query-builder__tooltip__item__action",children:xie.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:xie.jsx(Use,{})})}):void 0},{label:"Multiplicity",value:aE(n.multiplicity)},{label:"Derived Property",value:n instanceof dC?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return xie.jsx(xUi,{title:t,data:c,placement:o,footerElement:xie.jsx(EUi,{taggedValues:n.taggedValues}),children:s})},AUi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return xie.jsx(xUi,{title:t,data:s,placement:i,children:n})};var RUi;!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"}(RUi||(RUi={}));const NUi=e=>({label:e.name,value:e}),IUi=e=>Yw(e)?"system element":qw(e)?"generated element":$w(e)?"dependency element":void 0,DUi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>Yw(e)?"system":qw(e)?"generated":$w(e)?"dependency":"")(t.value);return xie.jsxs("div",{className:i,children:[xie.jsx("div",{title:IUi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),xie.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&xie.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},kUi=e=>e instanceof V_||e instanceof U_?xie.jsx(gxe,{}):e instanceof K_?xie.jsx(fxe,{}):e instanceof eC?xie.jsx(mxe,{}):e instanceof aC?xie.jsx(vxe,{}):e instanceof oC?xie.jsx(yxe,{}):xie.jsx(Sxe,{}),OUi=e=>{const{_class:t,children:n,placement:i}=e;return xie.jsx(ZCe,{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:xie.jsxs("div",{className:"query-builder__tooltip__content",children:[xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),xie.jsx(EUi,{taggedValues:t.taggedValues})]}),children:n})},LUi=e=>e instanceof M$?xie.jsx(Cxe,{}):e instanceof P$?xie.jsx(wxe,{}):e instanceof F$?xie.jsx(_xe,{}):xie.jsx(Sxe,{}),MUi=e=>[e.accessorOwner,e.schema,e.accessor].filter(cr).join("."),PUi=boe(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i,accessor:r}=e,s=n.fetchStructureState.implementation instanceof bUi?n.fetchStructureState.implementation:void 0;return xie.jsxs(yFe,{ref:t,children:[i instanceof wGi&&xie.jsx(bFe,{onClick:()=>{s&&i instanceof wGi&&s.addColumn(new HFi(s,i.column,!0))},children:"Add Column to Fetch Structure"}),i instanceof SGi&&xie.jsx(bFe,{onClick:()=>{s&&r.relationType.columns.forEach(e=>{s.addColumn(new HFi(s,e,!0))})},children:"Add Columns to Fetch Structure"})]})})),FUi=boe(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a,accessor:l}=o,c=t instanceof SGi,u=t instanceof wGi,[d,h]=n.useState(!1),[,p,g]=MVe(()=>({type:fGi.RELATION_COLUMN,item:()=>({node:t})}),[t]),f=n.useRef(null);u&&p(f),gUe(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?xie.jsx(kse,{}):xie.jsx(Lse,{});return xie.jsx(wFe,{content:xie.jsx(PUi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:xie.jsxs("div",{className:woe("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&&HUi(t,a)}),onClick:y,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[xie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:e}),xie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:LUi(l)})]}),xie.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),xie.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:xie.jsx(ZCe,{arrow:!0,classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:xie.jsxs("div",{className:"query-builder__tooltip__content",children:[xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:l.accessorOwnerLabel})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:MUi(l)})]})]}),children:xie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":RUi.QUERY_BUILDER_TOOLTIP_ICON,children:xie.jsx(sse,{})})})})]})})}const C=u?t:void 0,S=u?KUi(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 pS?e.values[0]:void 0).filter(cr);if(e.length>0)return`${t}(${e.join(", ")})`}return t})(C.column):t.type.path;return xie.jsx(wFe,{content:xie.jsx(PUi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:xie.jsxs("div",{className:woe("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&&HUi(t,a)}),onClick:y,ref:f,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[xie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:xie.jsx("div",{})}),xie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:S})]}),xie.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:v}),xie.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:xie.jsx(xUi,{title:v,data:[{label:"Type",value:w},{label:"Column",value:t.label}],children:xie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":RUi.QUERY_BUILDER_TOOLTIP_ICON,children:xie.jsx(sse,{})})})})]})})}),BUi=boe(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o,components:a}=e;return xie.jsxs("div",{className:"tree-view__node__block",children:[xie.jsx(FUi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>xie.jsx(BUi,{node:e,level:n+1,components:a,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]})}),VUi=boe(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 wGi(e.name,e.name,e.name,e,t,{mapped:!0});i.push(r.id),n.set(r.id,r)});const r=new SGi("__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 xie.jsx(LOe,{components:{TreeNodeContainer:FUi,TreeNodeView:BUi},className:"query-builder-explorer-tree__root",treeData:r,onNodeSelect:e=>{e instanceof SGi&&e.setIsOpen(!e.isOpen)},getChildNodes:e=>e instanceof SGi?e.childrenIds.map(e=>r.nodes.get(e)).filter(cr):[],innerProps:{queryBuilderState:t,accessor:i}})}),UUi=boe(e=>{const{queryBuilderState:t,accessor:n}=e;return xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_EXPLORER,className:"panel query-builder__explorer",children:[xie.jsx(IFe,{title:"columns"}),xie.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[xie.jsx(fUe,{labelGetter:e=>{const n=e.node;return t.explorerState.humanizePropertyName?vm(n.label):n.label},types:[fGi.RELATION_COLUMN]}),0===n.relationType.columns.length?xie.jsx(jFe,{children:"No columns"}):xie.jsx(VUi,{queryBuilderState:t,accessor:n})]})]})}),GUi=(e,t,n)=>{if(e.type instanceof K_&&uE(e.type,t))return!0;if(e instanceof _Gi&&uE(e.property,t))return!0;if(e instanceof CGi){const i=n.nodes.get(e.parentId);if(i?.type instanceof K_&&uE(i.type,t))return!0}return!1},HUi=(e,t)=>{if(e instanceof bGi&&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)},zUi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return xie.jsx(wye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:xie.jsx("div",{children:xie.jsx(ZCe,{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:xie.jsxs("div",{className:"query-builder__tooltip__content",children:[xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:aE(a)})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),xie.jsx(EUi,{taggedValues:t.taggedValues})]}),children:xie.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},jUi=boe(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 xie.jsx(Yye,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:xie.jsxs(cFe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[xie.jsx(dFe,{title:vm(i.propertyName)}),xie.jsx(qFe,{isLoading:i.isGeneratingPreviewData}),xie.jsxs(pFe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&xie.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&xie.jsxs("table",{className:"table",children:[xie.jsx("thead",{children:xie.jsx("tr",{children:i.previewData.columns.map((e,t)=>xie.jsx("th",{className:"table__cell--left",children:e},t))})}),xie.jsx("tbody",{children:i.previewData.rows.map((e,t)=>xie.jsx("tr",{children:e.values.map((e,t)=>xie.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),xie.jsx(gFe,{children:xie.jsx(mFe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),WUi=boe(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return xie.jsxs(yFe,{ref:t,children:[r instanceof _Gi&&!(r.type instanceof K_)&&xie.jsx(bFe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof K_&&xie.jsx(bFe,{onClick:()=>{if(i(),r.type instanceof K_){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(_Gi)).filter(e=>!(e.type instanceof K_)&&e.mappingData.mapped).filter(e=>{const t=EGi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof bUi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof GFi)return n.propertyExpressionState.path===e.id&&n.columnName===IFi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),$Ui=new Set([I_(Zb.VARCHAR)]),qUi=new Set([I_(Zb.INT),I_(Zb.TINY_INT),I_(Zb.U_TINY_INT),I_(Zb.SMALL_INT),I_(Zb.U_SMALL_INT),I_(Zb.U_INT),I_(Zb.BIG_INT),I_(Zb.U_BIG_INT),I_(Zb.FLOAT),I_(Zb.DOUBLE),I_(Zb.NUMERIC),I_(Zb.DECIMAL)]),YUi=new Set([I_(Zb.TIMESTAMP),I_(Zb.STRICTDATE),I_(Zb.DATETIME),I_(Zb.STRICTTIME)]),KUi=e=>{if(e instanceof V_||e instanceof V_){const t=amt(e)??e.path;if(t===Xb.STRING)return xie.jsx(Wie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(t===Xb.BOOLEAN)return xie.jsx(Ese,{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 xie.jsx(rse,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return xie.jsx(Bre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}else if(e instanceof U_){if($Ui.has(e.name))return xie.jsx(Wie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(qUi.has(e.name))return xie.jsx(rse,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(YUi.has(e.name))return xie.jsx(Bre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return kUi(e)},XUi=boe(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),u=Ipt(),d=a.explorerState,[,h,p]=MVe(()=>({type:t instanceof _Gi?t.type instanceof eC?fGi.ENUM_PROPERTY:t.type instanceof K_?fGi.CLASS_PROPERTY:fGi.PRIMITIVE_PROPERTY:fGi.ROOT,item:()=>t instanceof _Gi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),gUe(p);const f=Boolean(t.childrenIds.length),m=t instanceof _Gi&&t.property instanceof dC,v=t instanceof _Gi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof CGi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),y=t.mappingData.mapped&&t instanceof _Gi&&t.type instanceof V_&&!t.isPartOfDerivedPropertyBranch,b=f?t.isOpen?xie.jsx(kse,{}):xie.jsx(Lse,{}):xie.jsx("div",{}),_=d.humanizePropertyName?t instanceof CGi?Wb+vm(t.label):vm(t.label):t instanceof CGi?Wb+t.label:t.label;return t.mappingData.mapped||t instanceof bGi||d.showUnmappedProperties?xie.jsx(wFe,{content:xie.jsx(WUi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof _Gi||t instanceof bGi)||u.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:xie.jsxs("div",{className:woe("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&&HUi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof bGi?"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 bGi&&xie.jsxs(xie.Fragment,{children:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[xie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),xie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:xie.jsx(fxe,{})})]}),xie.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),xie.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:a.sourceClass&&xie.jsx(OUi,{_class:a.sourceClass,children:xie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":RUi.QUERY_BUILDER_TOOLTIP_ICON,children:xie.jsx(sse,{})})})})]}),(t instanceof _Gi||t instanceof CGi)&&xie.jsxs(xie.Fragment,{children:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[xie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),xie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:KUi(t.type)})]}),xie.jsxs("div",{className:woe("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:[xie.jsx("div",{className:woe("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":GUi(t,d.queryBuilderState.graphManagerState.graph,d.nonNullableTreeData)}),children:_}),m&&xie.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&&xie.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),xie.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[y&&xie.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:d.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof _Gi&&d.previewData(t).catch(u.alertUnhandledError)},children:xie.jsx(Xre,{})}),t instanceof _Gi&&xie.jsx(TUi,{title:_,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:xie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":RUi.QUERY_BUILDER_TOOLTIP_ICON,children:xie.jsx(sse,{})})}),t instanceof CGi&&xie.jsx(zUi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:xie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":RUi.QUERY_BUILDER_TOOLTIP_ICON,children:xie.jsx(sse,{})})})]})]})]})}):null}),ZUi=boe(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof bGi||a.explorerState.showUnmappedProperties?xie.jsxs("div",{className:"tree-view__node__block",children:[xie.jsx(XUi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>xie.jsx(ZUi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),QUi=e=>e instanceof CGi?0:e.type instanceof K_?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof eC?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,JUi=boe(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return xie.jsx(LOe,{components:{TreeNodeContainer:XUi,TreeNodeView:ZUi},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 CGi||e instanceof _Gi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>QUi(t)-QUi(e)),innerProps:{queryBuilderState:t}})}),eGi="query-builder-explorer-search-input",tGi=boe(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 xie.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[xie.jsx("input",{ref:t,name:eGi,className:woe("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&&xie.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?xie.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:xie.jsx(wse,{})}):xie.jsx(xie.Fragment,{children:xie.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:xie.jsx(bse,{})})})]})})),nGi=boe(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Ipt();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_EXPLORER,className:woe("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[xie.jsxs(IFe,{title:"explorer",children:[xie.jsx(tGi,{propertySearchState:s,ref:i}),xie.jsxs(kFe,{children:[xie.jsx(OFe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof bGi||e.setIsOpen(!1)})},title:"Collapse Tree",children:xie.jsx(Ure,{})}),xie.jsx(EFe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{Tft.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:xie.jsxs(yFe,{children:[xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[xie.jsx(CFe,{children:r.showUnmappedProperties?xie.jsx(Lre,{}):null}),xie.jsx(SFe,{children:"Show Unmapped Properties"})]}),xie.jsxs(bFe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[xie.jsx(CFe,{children:r.humanizePropertyName?xie.jsx(Lre,{}):null}),xie.jsx(SFe,{children:"Humanize Property Name"})]}),xie.jsxs(bFe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[xie.jsx(CFe,{children:r.highlightUsedProperties?xie.jsx(Lre,{}):null}),xie.jsx(SFe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:xie.jsx($ie,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&xie.jsx(pGi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),xie.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[xie.jsx(qFe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),xie.jsx(fUe,{labelGetter:e=>r.humanizePropertyName?vm(e.node.label):e.node.label,types:Object.values(fGi)}),r.mappingModelCoverageAnalysisState.isInProgress?xie.jsx(jFe,{children:r.mappingModelCoverageAnalysisState.message}):xie.jsxs(xie.Fragment,{children:[!r.treeData&&xie.jsx(jFe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&xie.jsx(JUi,{queryBuilderState:t})]}),xie.jsx(jUi,{queryBuilderState:t})]})]})}),iGi=boe(e=>{const{queryBuilderState:t}=e,n=t.sourceAccessor;return n?xie.jsx(UUi,{queryBuilderState:t,accessor:n}):xie.jsx(nGi,{queryBuilderState:t})}),rGi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=Ipt(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Bpt(s))?xie.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:woe("documentation-link",n,{"documentation-link--inline":i}),children:xie.jsx(fse,{})}):null},sGi=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]),xie.jsx("div",{className:"undo-redo",children:xie.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[xie.jsx(Tse,{}),xie.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},oGi=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]),xie.jsx("div",{className:"undo-redo",children:xie.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[xie.jsx(vse,{}),xie.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},aGi=(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),lGi=(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},cGi=(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 xie.jsx("span",{children:e});const o=[],a=Gr(s,0)[0];a>0&&o.push(xie.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(xie.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(xie.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(xie.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},uGi=boe(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,u]=MVe(()=>({type:t instanceof _Gi?t.type instanceof eC?fGi.ENUM_PROPERTY:t.type instanceof K_?fGi.CLASS_PROPERTY:fGi.PRIMITIVE_PROPERTY:fGi.ROOT,item:()=>t instanceof _Gi?{node:t}:{},canDrag:()=>!(t.type instanceof K_),collect:e=>({isDragging:e.isDragging()})}),[t]),d=n.useRef(null);c(d),gUe(u);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof _Gi&&t.parentId===e.id),g=p?.type instanceof K_&&s>1?vm(t.label):p instanceof CGi?lGi(t.id,!0):aGi(t.id,!0),f=a?t.isOpen?xie.jsx(kse,{}):xie.jsx(Lse,{}):xie.jsx("div",{}),m=t instanceof _Gi?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?cGi(m,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,y=l.isNodeMultiple(t);return xie.jsxs(xie.Fragment,{children:[xie.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:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[xie.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:f}),xie.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:KUi(t.type)})]}),xie.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[xie.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[cGi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),y&&xie.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),xie.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:v})]}),xie.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof _Gi&&xie.jsxs(xie.Fragment,{children:[xie.jsx(TUi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:xie.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:xie.jsx(sse,{})})}),xie.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:xie.jsx(Use,{})})]}),t instanceof CGi&&xie.jsxs(xie.Fragment,{children:[xie.jsx(zUi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:xie.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:xie.jsx(sse,{})})}),xie.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:xie.jsx(Use,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof _Gi||t instanceof CGi)&&t.type instanceof K_&&(t instanceof CGi?iE(t.type):eE(t.type)).forEach(n=>{const r=TGi(n,t,dr(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof K_||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>xie.jsx(uGi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),dGi=boe(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return xie.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[xie.jsxs("button",{className:woe("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?xie.jsx(Mre,{}):xie.jsx(Cse,{}),xie.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&xie.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),hGi=boe(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return xie.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[xie.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&xie.jsx(ZCe,{slotProps:{transition:{timeout:0}},title:xie.jsx("div",{children:n}),children:xie.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:xie.jsx(sse,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>xie.jsx(dGi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),pGi=boe(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===eGi||(i(),r.setIsSearchPanelOpen(!1))};return xie.jsx(FSe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:woe("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:xie.jsx(wye,{onClickAway:s,children:xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:xie.jsx("div",{className:"query-builder-property-search-panel__content",children:xie.jsxs(uGe,{orientation:"vertical",children:[xie.jsx(dGe,{size:175,children:xie.jsxs("div",{className:"query-builder-property-search-panel__config",children:[xie.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[xie.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",xie.jsx(rGi,{documentationKey:wgt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),xie.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:xie.jsx(RFe,{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})})]}),xie.jsx(hGi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),xie.jsx(hGi,{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)}}]}),xie.jsx(hGi,{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)}}]}),xie.jsx(hGi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(kft.CLASS),onClick:()=>{r.toggleFilterForType(kft.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(kft.ENUMERATION),onClick:()=>{r.toggleFilterForType(kft.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(kft.STRING),onClick:()=>{r.toggleFilterForType(kft.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(kft.BOOLEAN),onClick:()=>{r.toggleFilterForType(kft.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(kft.NUMBER),onClick:()=>{r.toggleFilterForType(kft.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(kft.DATE),onClick:()=>{r.toggleFilterForType(kft.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(kft.DATE)}}]})]})}),xie.jsx(hGe,{children:xie.jsx(pGe,{color:"var(--color-dark-grey-200)"})}),xie.jsxs(dGe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&xie.jsx(qFe,{isLoading:!0}),xie.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&xie.jsxs(xie.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>xie.jsx(uGi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&xie.jsxs(jFe,{children:[xie.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),xie.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&&xie.jsx(jFe,{children:"Initializing..."}),r.searchState.isInProgress&&xie.jsx(jFe,{children:"Searching..."})]})]})]})})})})})});class gGi{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=[kft.CLASS,kft.ENUMERATION,kft.STRING,kft.BOOLEAN,kft.NUMBER,kft.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 wUi(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 bGi||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 CGi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof _Gi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof _Gi||t instanceof CGi?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 bGi||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 K_&&t.set(e.id,e),e)).filter(e=>!(e instanceof _Gi||e instanceof CGi)||!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 _Gi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=NGi(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=NGi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof _Gi||e instanceof CGi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof _Gi||t instanceof CGi?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 _Gi||this.searchConfigurationState.includeSubTypes&&e instanceof CGi)&&e.type instanceof K_&&((e instanceof CGi?iE(e.type):eE(e.type).concat(tE(e.type))).forEach(t=>{const n=TGi(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=AGi(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 _Gi||e instanceof CGi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof CGi?lGi(e.id):aGi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof _Gi?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(kft.CLASS)&&e.type instanceof K_)||(!!(this.typeFilters.includes(kft.ENUMERATION)&&e.type instanceof eC)||(!(!this.typeFilters.includes(kft.STRING)||e.type!==V_.STRING)||(!!(this.typeFilters.includes(kft.NUMBER)&&e.type instanceof V_&&[Xb.NUMBER,Xb.DECIMAL,Xb.INTEGER,Xb.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(kft.BOOLEAN)||e.type!==V_.BOOLEAN)||!!(this.typeFilters.includes(kft.DATE)&&e.type instanceof V_&&[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 fGi;!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"}(fGi||(fGi={}));const mGi=(e,t)=>`${e?`${e}.`:""}${t}`,vGi=(e,t)=>`${e||""}${Wb}${t}`;class yGi{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 bGi extends yGi{}class _Gi extends yGi{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 CGi extends yGi{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 SGi extends yGi{}class wGi extends yGi{column;constructor(e,t,n,i,r,s){super(e,t,n,!1,r,s),this.column=i}}const EGi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new hS(n??Aft,A_.ONE),o=new TS("");Kft(o,gC.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 _Gi||l instanceof CGi);){if(l instanceof CGi&&c instanceof CGi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof CGi?e=new xS(I_(Pft.SUBTYPE)):l instanceof _Gi&&l.mappingData.entityMappedProperty?.subType?(e=new xS(I_(Pft.SUBTYPE)),a.parametersValues.push(e),a=e,e=new TS(""),Kft(e,gC.create(dr(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new TS(""),Kft(e,gC.create(dr(l.property)))),a.parametersValues.push(e),a instanceof xS&&O_(a.functionName,Pft.SUBTYPE)){const e=new pS(A_.ONE,H_.create(new Y_(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof _Gi||l instanceof CGi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof _Gi||c instanceof CGi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof xS){const e=new pS(A_.ONE,H_.create(new Y_(c.type)));a.parametersValues.push(e)}return o},xGi=e=>{const t=e.type,n=(e instanceof CGi?iE(t):eE(t).concat(tE(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${Wb}${t.path}`);return n.concat(i)},TGi=(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 K_||e.genericType.value.rawType instanceof tC)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof dJ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof dJ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof dC||t.isPartOfDerivedPropertyBranch||t instanceof _Gi&&t.property instanceof dC;if(e instanceof Q_&&t instanceof _Gi&&t.property instanceof Q_&&e._OWNER instanceof J_&&t.property._OWNER instanceof J_&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof K_?Jw(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new _Gi(o?vGi(mGi(t instanceof bGi?"":t.id,e.name),o.path):mGi(t instanceof bGi?"":t.id,e.name),e.name,`${t instanceof bGi?`${jb}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=mGi(t instanceof bGi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof K_&&(a.childrenIds=xGi(a)),a},AGi=(e,t,n)=>{const i=new CGi(vGi(t instanceof bGi?"":t.id,e.path),e.name,""+(t instanceof bGi?`${jb}${Aft}->${I_(Pft.SUBTYPE)}(${Wb}${e.path})`:`${t.dndText}->${I_(Pft.SUBTYPE)}(${Wb}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=Jw(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof dJ&&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 _Gi?t.property.multiplicity:t instanceof CGi?t.multiplicity:A_.ONE);return i.childrenIds=xGi(i),i},RGi=(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 bGi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),eE(e).concat(tE(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof K_?2:t instanceof eC?1:0)-(e instanceof K_?2:e instanceof eC?1:0)).forEach(e=>{const n=TGi(e,s,t);n&&(jr(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=AGi(e,s,t);jr(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},NGi=e=>{if(e instanceof bGi)return new bGi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof _Gi)return new _Gi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof CGi)return new CGi(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 IGi{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 DGi{queryBuilderState;previewDataState=new IGi;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 gGi(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?RGi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof _Gi||e instanceof CGi)&&e.type instanceof K_&&((e instanceof CGi?iE(e.type):eE(e.type).concat(tE(e.type))).forEach(t=>{const n=TGi(t,e,dr(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=AGi(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 _Gi||t instanceof CGi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof _Gi||e instanceof CGi?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(),Tft.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new Fy,t=q5(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());Tft.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=EGi(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,bUi),r=i.aggregationState;return CUi.forEach(e=>{const n=SUi(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,uZ,"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,bUi),r=SUi(i,t,"Value"),s=SUi(i,t,"Count");i.projectionColumns=[r,s];const o=dr(i.aggregationState.operators.find(e=>e instanceof ZFi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new rBi(s);return a.sortType=Bft.DESC,i.resultSetModifierState.sortColumns=[a,new rBi(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,uZ,"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 kGi="4.18.11",OGi={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 LGi=(e,t,n,i)=>{gr(e,qx,"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],zx,"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 Qx&&2===s.parameters.length&&O_(s.function,Pft.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new eK(n,i,t));for(gr(s,LT,"Can't build projection column: only support lambda body as property expression");s instanceof LT;)for(br(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof Qx&&O_(s.function,Pft.SUBTYPE);)s=s.parameters[0];return gr(s,zx,"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 eK(n,i,t))},MGi=(e,t,n,i)=>{gr(e,Qx,"Can't build aggregation: only support function"),br(O_(e.function,Pft.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],qx,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof Qx&&O_(r.body[0].function,Object.values(Lft))?_i(()=>((e,t,n,i)=>{gr(e,qx,"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],zx,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=fr(e.body[0],Qx,"Can't build calendar aggregation column: only support applied function");br(O_(s.function,Object.values(Lft)),"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],LT,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=fr(s.parameters[1],iT,"Can't build calendar aggregation column: only support second parameter of calendar function as String");br(void 0!==Object.values(pUi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),fr(s.parameters[2],Ax,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new eK(n,i,t)),l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new eK(n,i,t)),c=dr(s.parameters[2]).accept_ValueSpecificationVisitor(new eK(n,i,t)),u=dr(s.parameters[3]),d=_i(()=>u.accept_ValueSpecificationVisitor(new eK(n,i,t)))??new dS(TN(u,n.extensions.plugins)),h=iK([a,l,c,d],s.function,n),p=new NS,g=new AS(C_.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE);g.parameters.push(new hS(r.name,A_.ONE));const f=new RS(g);return f.expressionSequence=[h],p.values.push(f),p})(r,t,n,i))??new dS(TN(r,n.extensions.plugins)):_i(()=>LGi(r,t,n,i))??new dS(TN(r,n.extensions.plugins));const o=fr(e.parameters[1],qx).accept_ValueSpecificationVisitor(new eK(n,i,t));return iK([s,o],I_(Pft.TDS_AGG),n)},PGi=(e,t,n,i,r)=>{const s=fr(e,Qx,"Can't build tds col func: only support applied function");br(O_(s.function,Pft.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],qx,"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 hS(e.name,A_.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=LGi(o,n,i,r)}catch{a=new dS(TN(o,i.extensions.plugins))}fr(s.parameters[1],iT,"Can't build tds col func: only support second parameter of col function as String");const l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new eK(i,r,n));return iK([a,l],s.function,i)},FGi=(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 eK(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 Jx){const e=new mS(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>PGi(e,s,n,i,r)),a=e}else gr(o,Qx,"Can't build project() expression: project() expects argument #2 to be a function"),a=PGi(o,s,n,i,r);const l=iK([s,a],e,i);return l.genericType=H_.create(new Y_(i.resolveType(Oft.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 eK(i,r,n));ur(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];gr(a,CR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=fr(a.value,xT,"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(qx)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new hS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new SS(A_.ONE),d=new CS;u.values=[d];const h=new q_(q_.ID);d.colSpecs=l.colSpecs.map(e=>{const t=new bS;let s;const o=fr(e.function1,Ax,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=LGi(o,n,i,r)}catch{s=new dS(TN(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=$Y(s);return a&&h.columns.push(new $_(e.name,H_.create(new Y_(a)))),t});const p=iK([o,u],e,i),g=new Y_(jY.INSTANCE),f=new Y_(h);return g.typeArguments=[H_.create(f)],p.genericType=H_.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 eK(i,r,n));ur(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof qx?o=l.parameters:(gr(l,Jx,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(pr(qx)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new hS(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const u=new mS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let d=[];d=l instanceof qx?[l]:l.values,u.values=d.map(e=>{try{return LGi(e,n,i,r)}catch{return new dS(TN(e,i.extensions.plugins))}});const h=iK([a,u,t[2].accept_ValueSpecificationVisitor(new eK(i,r,n))],e,i);return h.genericType=H_.create(new Y_(i.resolveType(Oft.TDS_ROW).value)),h},BGi=(e,t,n,i,r)=>e===Pft.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 eK(i,r,n));ur(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=fr(s,xS);if(o.functionName!==I_(Pft.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];gr(a,CR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=fr(a.value,xT,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];gr(c,CR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const u=fr(c.value,xT,"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(qx)).map(e=>e.parameters).flat();d.forEach(e=>{if(!e.genericType){const t=new hS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=fr(o.genericType?.value.typeArguments?.[0]?.value.rawType,q_,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new SS(A_.ONE),g=new CS;p.values=[g];const f=new q_(q_.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new bS;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&f.columns.push(n),t});const m=new SS(A_.ONE),v=new CS;m.values=[v],v.colSpecs=u.colSpecs.map(e=>{const t=new bS;t.name=e.name;const s=fr(e.function1,qx,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=LGi(s,n,i,r);t.function1=o;const a=fr(e.function2,qx,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=fr(a.accept_ValueSpecificationVisitor(new eK(i,r,n)),NS,"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 $_(e.name,c)),t});const y=iK([s,p,m],e,i),b=new Y_(jY.INSTANCE),_=new Y_(f);return b.typeArguments=[H_.create(_)],y.genericType=H_.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 eK(i,r,n));ur(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];gr(a,Jx,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(pr(qx)).map(e=>e.parameters).flat();const l=t[2];gr(l,Jx,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof Qx&&O_(e.function,Pft.TDS_AGG)).map(e=>e.parameters).flat().filter(pr(qx)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new hS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new mS(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));u.values=a.values.map(e=>{try{return LGi(e,n,i,r)}catch{return new dS(TN(e,i.extensions.plugins))}});const d=new mS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));d.values=l.values.map(e=>MGi(e,n,i,r));const h=iK([o,u,d,t[3].accept_ValueSpecificationVisitor(new eK(i,r,n))],e,i);return h.genericType=H_.create(new Y_(i.resolveType(Oft.TDS_ROW).value)),h})(e,t,n,i,r);class VGi extends Ete{constructor(){super(OGi.pureProtocolProcessorPlugin,kGi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(O_(e,Mft.GET_ALL))return((e,t,n,i,r)=>{const s=rK(e,t,n,i,r),o=s.parametersValues[0];return gr(o,pS,"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(O_(e,Mft.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=rK(e,t,n,i,r),o=s.parametersValues[0];return gr(o,pS,"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(O_(e,Mft.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=rK(e,t,n,i,r),o=s.parametersValues[0];return gr(o,pS,"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(O_(e,[Pft.FILTER,Pft.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 eK(i,r,n));if(s.genericType){const e=t[1];e instanceof qx&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new hS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=iK([s,t[1].accept_ValueSpecificationVisitor(new eK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(O_(e,Pft.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 eK(i,r,n));s.genericType=fr(s,TS).func.value.genericType;const o=t[1];return o instanceof qx&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new hS(e.name,A_.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),iK([s,t[1].accept_ValueSpecificationVisitor(new eK(i,r,n))],e,i)})(e,t,n,i,r);if(O_(e,Pft.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 eK(i,r,n));ur(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof qx&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new hS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=dr(t[1].accept_ValueSpecificationVisitor(new eK(i,r,n))),l=a.genericType?.value.rawType;br(V_.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=iK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(O_(e,[Pft.TDS_PROJECT,Pft.RELATION_PROJECT]))return FGi(e,t,n,i,r);if(O_(e,[Pft.TDS_GROUP_BY,Pft.RELATION_GROUP_BY]))return BGi(e,t,n,i,r);if(O_(e,Pft.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 eK(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 eK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new eK(i,r,n));s.push(e),o++}const u=t[o];let d;d=u instanceof Qx?fr(u.parameters[1],qx,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):fr(u,qx,`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 hS(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=u.accept_ValueSpecificationVisitor(new eK(i,r,n));s.push(g),o++;const f=t[o].accept_ValueSpecificationVisitor(new eK(i,r,n));s.push(f),o++;const m=iK(s,e,i);return m.genericType=H_.create(new Y_(i.resolveType(Oft.TDS_ROW).value)),m})(e,t,n,i,r);if(O_(e,[Pft.TODAY,Pft.FIRST_DAY_OF_QUARTER])){const s=rK(e,t,n,i,r);return s.genericType=H_.create(new Y_(V_.STRICTDATE)),s}if(O_(e,Pft.NOW)){const s=rK(e,t,n,i,r);return s.genericType=H_.create(new Y_(V_.DATETIME)),s}if(O_(e,[Pft.FIRST_DAY_OF_THIS_YEAR,Pft.FIRST_DAY_OF_YEAR,Pft.FIRST_DAY_OF_THIS_MONTH,Pft.FIRST_DAY_OF_MONTH,Pft.FIRST_DAY_OF_WEEK,Pft.PREVIOUS_DAY_OF_WEEK,Pft.ADJUST])){const s=rK(e,t,n,i,r);return s.genericType=H_.create(new Y_(V_.DATE)),s}return O_(e,Pft.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 eK(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 eK(i,r,n)),a=dr(t[2],"Can't build relation extend() expression: window operator is missing");gr(a,CR,"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 hS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const u=new SS(A_.ONE),d=new CS;u.values=[d];const h=s.genericType.value.typeArguments?.[0]?.value.rawType,p=new q_(q_.ID);h instanceof q_&&h.columns.forEach(e=>{p.columns.push(e)}),d.colSpecs=l.colSpecs.map(e=>{const t=new bS;if(t.name=e.name,e.function1){const s=fr(e.function1,qx,"Can't build relation extend() col spec expression: expects function1 to be a lambda"),o=fr(s.accept_ValueSpecificationVisitor(new eK(i,r,n)),NS,"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,qx,"Can't build relation extend() col spec expression: expects function2 to be a lambda"),o=fr(s.accept_ValueSpecificationVisitor(new eK(i,r,n)),NS,"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 $_(e.name,H_.create(new Y_(s)))),t});const g=iK([s,o,u],e,i),f=new Y_(jY.INSTANCE),m=new Y_(p);return f.typeArguments=[H_.create(m)],g.genericType=H_.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):O_(e,Pft.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,CR,"Can't build over() expression with ColSpecArray: expects argument #1 to be a ClassInstance");const o=fr(s.value,xT,"Can't build over() expression with ColSpecArray: expects ClassInstance to hold ColSpecArray"),a=new SS(A_.ONE),l=new CS;a.values=[l],l.colSpecs=o.colSpecs.map(e=>{const t=new bS;return t.name=e.name,t.type=e.type,t});const c=[a];if(t[1]){const e=t[1].accept_ValueSpecificationVisitor(new eK(i,r,n));c.push(e)}return iK(c,e,i)})(e,t,n,i,r):O_(e,Object.values(Pft))||O_(e,Object.values(Lft))?rK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof xS&&O_(e.functionName,I_(Pft.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof pS)[0]?.genericType?.value.rawType)(e)}]}}class UGi{mapping;runtimes=[]}class GGi{service;executionKeys}class HGi extends $E{}class zGi extends HGi{constructor(e){super(e),this.graphManager=fr(e,O6)}getSupportedProtocolVersion(){return KG.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===LU||e.content._type===cR),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(pr(NI))).flat(),o=new dK(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 rF)return new WW(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(MT))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new oW;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw bi(e),e instanceof QG?e:new QG(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 dK(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(pr(NI))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof rF)return new WW(t,s.resolveMapping(yr(e.includedMapping,"Mapping include path is missing or empty")))}).filter(cr))}),r.map(e=>e.data.elements.filter(pr(MT))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new oW;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new UGi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...zq(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(Rk))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new GGi;i.service=t,e.execution instanceof Ak&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const jGi=e=>new zGi(e);class WGi extends bte{constructor(){super(OGi.pureGraphManagerPlugin,kGi)}getExtraPureGraphManagerExtensionBuilders(){return[jGi]}getExtraExposedSystemElementPath(){return[Oft.TDS_TABULAR_DATASET,Oft.TDS_ROW,Oft.TDS_COLUMN]}}class $Gi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;NonProductionFeatureFlag=!1;static serialization=new Yv(Iv($Gi,{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 qGi=e=>{let t=e;for(;t instanceof TS;)for(t=dr(t.parametersValues[0]);t instanceof xS&&O_(t.functionName,Pft.SUBTYPE);)t=dr(t.parametersValues[0]);return fr(t,hS)},YGi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(O_(e.functionName,[Pft.AND,Pft.OR])){const r=new LBi(n,pBi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=fr(i,OBi).lambdaParameterName),e.parametersValues.forEach(e=>YGi(fr(e,xS,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!O_(e.functionName,[Pft.EXISTS])){const n=e.parametersValues[0];if(n instanceof TS){const e=n.parametersValues[0];e instanceof TS&&dmt(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 IBi){const t=e.parametersValues[0];n=fr(t instanceof ES?t.parametersValues[0]:void 0,hS,"Can't process filter expression: relation column filter must reference a variable").name}else n=qGi(r.propertyExpressionState.propertyExpression).name;const s=i instanceof OBi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return br(s===n,`Can't process ${I_(r.operator.getLabel())}() expression: expects variable used in lambda body '${n}' to match lambda parameter '${s}'`),void t.addNodeFromNode(new FBi(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],TS);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new MBi(t,n),o=fr(e.parametersValues[1],NS,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=fr(o.values[0],RS),l=fr(a.expressionSequence[0],xS);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),YGi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;O_(s.functionName,Pft.EXISTS);){const e=dr(fr(s.parametersValues[1],NS).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],xS,"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],hS,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof TS)||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],TS);let a=new TS("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof TS||n instanceof xS&&O_(n.functionName,Pft.SUBTYPE);){if(n instanceof xS){const e=new xS(I_(Pft.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof TS){const e=new TS("");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],TS,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof xS&&e.parametersValues[0]instanceof TS)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof TS)e.parametersValues[0]=dr(a.parametersValues[0]);else if(e instanceof hS)return a;return e}),YGi(s,t,n)}}}},KGi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];gr(i,NS,"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],xS,"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],hS,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),YGi(s,n,void 0),n.simplifyTree()};class XGi{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 OS)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof kS)return this.tree.class.value;throw new yi("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return mv([fmt.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",mv(this.childrenIds)])}}const ZGi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${Wb}${n.path}`:""}`,QGi=(e,t,n)=>{gr(e,OS,"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 XGi(ZGi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=QGi(e,o,n);jr(o.childrenIds,t.id),n.set(t.id,t)}),o},JGi=(e,t,n)=>{const i=t?.id,r=new XGi((s=e.class.valueForSerialization??"")?`${Wb}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=QGi(e,r,n);jr(r.childrenIds,t.id),n.set(t.id,t)}),r},eHi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=JGi(e,void 0,i);jr(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=QGi(e,void 0,i);jr(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},tHi=e=>0===e.tree.subTrees.length,nHi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof OS&&t.type instanceof K_&&0===t.childrenIds.length||t.tree instanceof OS&&!(t.type instanceof K_)&&t.parentId&&!e.nodes.has(t.parentId)),iHi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?($r(n.childrenIds,t.id),emt(n.tree,t.tree)):($r(e.rootIds,t.id),emt(e.tree,t.tree)),e.nodes.delete(t.id)},rHi=(e,t)=>{iHi(e,t),(e=>{let t=nHi(e);for(;t.length;)t.forEach(t=>{iHi(e,t)}),t=nHi(e)})(e)},sHi=(e,t,n,i)=>{const r=[new OS(gC.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof _Gi||l instanceof CGi;){let e,n=!1;for(;l instanceof CGi;)n||(e=C_.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof _Gi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof K_&&(e=C_.create(l.type)),!(l instanceof _Gi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new OS(gC.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=ZGi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=QGi(a,o,e.nodes);e.nodes.set(t.id,t),o?(jr(o.childrenIds,t.id),Jft(o.tree,t.tree,i.observerContext)):(jr(e.rootIds,t.id),Jft(e.tree,t.tree,i.observerContext))}},oHi=(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 hHi){if(e.treeData&&!tHi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(Oft.SERIALIZE_CONFIG),i=new xS(I_(exports.SUPPORTED_FUNCTIONS.NEW)),r=new pS(A_.ONE,void 0);r.values[0]=C_.create(n);const s=new gS(H_.create(new Y_(V_.STRING)));s.values=[""];const o=new mS(A_.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 yS,r=new gS(H_.create(new Y_(V_.STRING)));r.values=[n];const s=new gS(H_.create(new Y_(t.genericType.value.rawType)));s.values=[e[n]];const a=new vS(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new A_(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 MS;r.values=[e];const s=new xS(I_(Pft.SERIALIZE)),o=new xS(I_(t?Pft.GRAPH_FETCH_CHECKED:Pft.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 pHi))throw new yi(`Unsupported serialization state ${s.getLabel()}`);{const n=new xS(I_(Pft.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!tHi(i)&&!tHi(o)){const a=new MS;a.values=[i.tree];const l=new xS(e.isChecked?I_(Pft.GRAPH_FETCH_CHECKED):I_(Pft.GRAPH_FETCH));l.parametersValues=[r,a];const c=new pS(A_.ONE,void 0);c.values=[C_.create(s.targetBinding)];const u=new MS;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 xS&&O_(n.functionName,Pft.SERIALIZE)){const i=new gS(H_.create(new Y_(V_.INTEGER)));i.values=[t];const r=new xS(I_(Pft.TAKE)),s=fr(n.parametersValues[0],xS),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 aHi,lHi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(aHi||(aHi={})),function(e){e.RESULT="RESULT"}(lHi||(lHi={}));const cHi="@type";class uHi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=cHi,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 uHi;return e.typeKeyName=cHi,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 dHi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class hHi extends dHi{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 aHi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class pHi extends dHi{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?(sHi(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 aHi.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 gHi extends aBi{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 hHi(this)}get type(){return oBi.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 kS?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof OS&&(a=r.tree.property.value.name);const l=mGi(o,a);t.push(l),r.tree instanceof OS&&r.tree.subType?(s=vGi(l,r.tree.subType.value.path),Qw(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(vGi(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?eHi(new kS(C_.create(e))):void 0)}get exportDataFormatOptions(){return[lHi.RESULT]}getExportDataInfo(e){if(e===lHi.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){oHi(this,e,t)}addProperty(e,t){this.treeData?(sHi(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 pHi&&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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:hgt.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof OS)return t.tree.parameters.find(t=>pmt(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return mv([fmt.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const fHi=(e,t)=>()=>{t.implementation.type!==e&&(Tft.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class mHi{queryBuilderState;implementation;constructor(e){hd(this,{implementation:Rc,changeImplementation:Pu,initializeWithQuery:Pu}),this.queryBuilderState=e,this.implementation=new bUi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case oBi.TABULAR_DATA_STRUCTURE:this.implementation=new bUi(this.queryBuilderState,this);break;case oBi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new gHi(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 _Gi&&!(e.type instanceof K_)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof K_&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(_Gi)).filter(e=>!(e.type instanceof K_)&&e.mappingData.mapped))}}class vHi{lambda;constructor(e){this.lambda=e,hd(this,{lambda:Rc,setLambda:Pu})}setLambda(e){this.lambda=e}}var yHi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(yHi||(yHi={}));class bHi extends PFi{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 vHi(xj())}get lambdaId(){return kte(["query-builder"])}get text(){return this.mode===yHi.TEXT?this.fullLambdaString:this.mode===yHi.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=xj();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 rQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.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 lS(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(PS.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===yHi.TEXT&&this.setQueryRawLambdaState(new vHi(n)),e===yHi.JSON&&this.setLambdaJson(JSON.stringify(B_(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===yHi.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 _Hi=boe(e=>{const{resultType:t}=e;let n="";return t.type instanceof S_&&(n=t.type.input??""),""===n?xie.jsx(xie.Fragment,{}):xie.jsxs("div",{className:"query-builder__result__container",children:[xie.jsx(MFe,{className:"query-builder__result__container__item__data-type",children:xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),xie.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),xie.jsx(FFe,{})]})}),CHi=boe(e=>{const{resultType:t}=e;return xie.jsxs("div",{className:"query-builder__result__container",children:[xie.jsx(MFe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__result__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Label"}),xie.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),xie.jsx("tbody",{children:t.tdsColumns.map(e=>xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:e.name}),xie.jsx("td",{className:"table__cell--left",children:e.type instanceof S_&&(e.type.input??"")})]},e.name))})]}),xie.jsx(FFe,{})]})}),SHi=boe(e=>{const{resultType:t}=e;return xie.jsxs("div",{className:"query-builder__result__container",children:[xie.jsxs(MFe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),xie.jsx("tbody",{children:t.propertiesWithParameters.map(e=>xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:e.property}),xie.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),xie.jsx(FFe,{})]})}),wHi=boe(e=>{const{resultType:t}=e;return t instanceof z1?xie.jsx(_Hi,{resultType:t}):t instanceof j1?xie.jsx(CHi,{resultType:t}):t instanceof w2?xie.jsx(SHi,{resultType:t}):null}),EHi=e=>{e.dispose(),e.getModel()?.dispose()},xHi=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=Ipt(),[f,m]=n.useState(),[v,y]=n.useState(!1),b=n.useRef(void 0),_=eOn(t),C=n.useRef(null);if(n.useEffect(()=>{if(!f&&C.current){const e=C.current,t=ndn.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??Ukn.BUILT_IN__VSCODE_LIGHT:Ukn.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){tOn(f);const e=f.getModel();e&&ndn.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=Xkn(f);e!==_&&i?.(e)});Xkn(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?Qkn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):Jkn())}return n.useEffect(()=>()=>{f&&(EHi(f),b.current?.dispose())},[f]),xie.jsxs("div",{className:"code-editor",children:[!u&&xie.jsx("div",{className:"code-editor__header",children:xie.jsx("button",{tabIndex:-1,className:woe("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:xie.jsx(ore,{})})}),xie.jsx("div",{className:woe("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!u}),children:xie.jsx("div",{className:"code-editor__body",ref:C})})]})},THi=boe(e=>{const{from:t,to:i,language:r}=e,s=Ipt(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",u=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=ndn.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?Ukn.BUILT_IN__VSCODE_LIGHT:Ukn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=ndn.createModel(c,r),t=ndn.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]),xie.jsx("div",{className:"code-editor__container",children:xie.jsx("div",{className:"code-editor__body",ref:l})})}),AHi=(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):"",RHi=boe(e=>{const{from:t,to:n,lossless:i}=e;return xie.jsx(THi,{language:nOn.JSON,from:AHi(t,Boolean(i)),to:AHi(n,Boolean(i))})});var NHi,IHi={exports:{}},DHi=IHi.exports;var kHi=(NHi||(NHi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(DHi,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}})}(IHi)),IHi.exports),OHi=Si(kHi),LHi=Object.defineProperty,MHi=Object.defineProperties,PHi=Object.getOwnPropertyDescriptors,FHi=Object.getOwnPropertySymbols,BHi=Object.prototype.hasOwnProperty,VHi=Object.prototype.propertyIsEnumerable,UHi=(e,t,n)=>t in e?LHi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,GHi=(e,t)=>{for(var n in t||(t={}))BHi.call(t,n)&&UHi(e,n,t[n]);if(FHi)for(var n of FHi(t))VHi.call(t,n)&&UHi(e,n,t[n]);return e},HHi=(e,t)=>MHi(e,PHi(t)),zHi={};((e,t)=>{for(var n in t)LHi(e,n,{get:t[n],enumerable:!0})})(zHi,{bigquery:()=>gzi,db2:()=>Ezi,db2i:()=>kzi,hive:()=>Uzi,mariadb:()=>Kzi,mysql:()=>iji,n1ql:()=>yji,plsql:()=>Tji,postgresql:()=>Lji,redshift:()=>Hji,singlestoredb:()=>PWi,snowflake:()=>jWi,spark:()=>Xji,sql:()=>hWi,sqlite:()=>rWi,tidb:()=>dji,transactsql:()=>RWi,trino:()=>_Wi});var jHi=e=>e.flatMap(WHi),WHi=e=>JHi(qHi(e)).map($Hi),$Hi=e=>e.replace(/ +/g," ").trim(),qHi=e=>({type:"mandatory_block",items:YHi(e,0)[0]}),YHi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=KHi(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]},KHi=(e,t)=>{const n=[];for(;;){const[i,r]=XHi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},XHi=(e,t)=>{if("{"===e[t])return ZHi(e,t+1);if("["===e[t])return QHi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},ZHi=(e,t)=>{const[n,i]=YHi(e,t,"}");return[{type:"mandatory_block",items:n},i]},QHi=(e,t)=>{const[n,i]=YHi(e,t,"]");return[{type:"optional_block",items:n},i]},JHi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(JHi).reduce(ezi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(JHi);if("optional_block"===e.type)return["",...e.items.flatMap(JHi)];throw new Error(`Unknown node type: ${e}`)},ezi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},tzi=(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))(tzi||{}),nzi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),izi=nzi(1/0),rzi=e=>t=>t.type===e.type&&t.text===e.text,szi={ARRAY:rzi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:rzi({text:"BY",type:"RESERVED_KEYWORD"}),SET:rzi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:rzi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:rzi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:rzi({text:"VALUES",type:"RESERVED_CLAUSE"})},ozi=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,azi=jHi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),lzi=jHi(["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"]),czi=jHi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),uzi=jHi(["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"]),dzi=jHi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),hzi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),pzi=jHi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),gzi={name:"bigquery",tokenizerOptions:{reservedSelect:azi,reservedClauses:[...lzi,...uzi,...czi],reservedSetOperations:dzi,reservedJoins:hzi,reservedPhrases:pzi,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=izi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,HHi(GHi({},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((szi.ARRAY(r)||szi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=mzi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(fzi("raw")).join(""),text:s.map(fzi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...czi,...uzi],tabularOnelineClauses:uzi}};var fzi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function mzi(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 vzi=jHi(["SELECT [ALL | DISTINCT]"]),yzi=jHi(["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"]),bzi=jHi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),_zi=jHi(["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"]),Czi=jHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Szi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),wzi=jHi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),Ezi={name:"db2",tokenizerOptions:{reservedSelect:vzi,reservedClauses:[...yzi,...bzi,..._zi],reservedSetOperations:Czi,reservedJoins:Szi,reservedPhrases:wzi,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:[...bzi,..._zi],tabularOnelineClauses:_zi}},xzi=jHi(["SELECT [ALL | DISTINCT]"]),Tzi=jHi(["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"]),Azi=jHi(["CREATE [OR REPLACE] TABLE"]),Rzi=jHi(["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}"]),Nzi=jHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Izi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),Dzi=jHi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),kzi={name:"db2i",tokenizerOptions:{reservedSelect:xzi,reservedClauses:[...Tzi,...Azi,...Rzi],reservedSetOperations:Nzi,reservedJoins:Izi,reservedPhrases:Dzi,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:[...Azi,...Rzi],tabularOnelineClauses:Rzi}},Ozi=jHi(["SELECT [ALL | DISTINCT]"]),Lzi=jHi(["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"]),Mzi=jHi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),Pzi=jHi(["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"]),Fzi=jHi(["UNION [ALL | DISTINCT]"]),Bzi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),Vzi=jHi(["{ROWS | RANGE} BETWEEN"]),Uzi={name:"hive",tokenizerOptions:{reservedSelect:Ozi,reservedClauses:[...Lzi,...Mzi,...Pzi],reservedSetOperations:Fzi,reservedJoins:Bzi,reservedPhrases:Vzi,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:[...Mzi,...Pzi],tabularOnelineClauses:Pzi}};function Gzi(e){return e.map((t,n)=>{const i=e[n+1]||izi;if(szi.SET(t)&&"("===i.text)return HHi(GHi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||izi;return szi.VALUES(t)&&"="===r.text?HHi(GHi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var Hzi=jHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),zzi=jHi(["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"]),jzi=jHi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),Wzi=jHi(["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"]),$zi=jHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),qzi=jHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Yzi=jHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Kzi={name:"mariadb",tokenizerOptions:{reservedSelect:Hzi,reservedClauses:[...zzi,...jzi,...Wzi],reservedSetOperations:$zi,reservedJoins:qzi,reservedPhrases:Yzi,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:Gzi},formatOptions:{onelineClauses:[...jzi,...Wzi],tabularOnelineClauses:Wzi}},Xzi=jHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Zzi=jHi(["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"]),Qzi=jHi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),Jzi=jHi(["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"]),eji=jHi(["UNION [ALL | DISTINCT]"]),tji=jHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),nji=jHi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),iji={name:"mysql",tokenizerOptions:{reservedSelect:Xzi,reservedClauses:[...Zzi,...Qzi,...Jzi],reservedSetOperations:eji,reservedJoins:tji,reservedPhrases:nji,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:Gzi},formatOptions:{onelineClauses:[...Qzi,...Jzi],tabularOnelineClauses:Jzi}},rji=jHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),sji=jHi(["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"]),oji=jHi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),aji=jHi(["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"]),lji=jHi(["UNION [ALL | DISTINCT]"]),cji=jHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),uji=jHi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),dji={name:"tidb",tokenizerOptions:{reservedSelect:rji,reservedClauses:[...sji,...oji,...aji],reservedSetOperations:lji,reservedJoins:cji,reservedPhrases:uji,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:Gzi},formatOptions:{onelineClauses:[...oji,...aji],tabularOnelineClauses:aji}},hji=jHi(["SELECT [ALL | DISTINCT]"]),pji=jHi(["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"]),gji=jHi(["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"]),fji=jHi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),mji=jHi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),vji=jHi(["{ROWS | RANGE | GROUPS} BETWEEN"]),yji={name:"n1ql",tokenizerOptions:{reservedSelect:hji,reservedClauses:[...pji,...gji],reservedSetOperations:fji,reservedJoins:mji,reservedPhrases:vji,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:gji}},bji=jHi(["SELECT [ALL | DISTINCT | UNIQUE]"]),_ji=jHi(["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"]),Cji=jHi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),Sji=jHi(["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"]),wji=jHi(["UNION [ALL]","MINUS","INTERSECT"]),Eji=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),xji=jHi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),Tji={name:"plsql",tokenizerOptions:{reservedSelect:bji,reservedClauses:[..._ji,...Cji,...Sji],reservedSetOperations:wji,reservedJoins:Eji,reservedPhrases:xji,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=izi;return e.map(e=>szi.SET(e)&&szi.BY(t)?HHi(GHi({},e),{type:"RESERVED_KEYWORD"}):(ozi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...Cji,...Sji],tabularOnelineClauses:Sji}};var Aji=jHi(["SELECT [ALL | DISTINCT]"]),Rji=jHi(["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"]),Nji=jHi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),Iji=jHi(["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"]),Dji=jHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),kji=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Oji=jHi(["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"]),Lji={name:"postgresql",tokenizerOptions:{reservedSelect:Aji,reservedClauses:[...Rji,...Nji,...Iji],reservedSetOperations:Dji,reservedJoins:kji,reservedPhrases:Oji,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:[...Nji,...Iji],tabularOnelineClauses:Iji}},Mji=jHi(["SELECT [ALL | DISTINCT]"]),Pji=jHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),Fji=jHi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),Bji=jHi(["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"]),Vji=jHi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),Uji=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Gji=jHi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),Hji={name:"redshift",tokenizerOptions:{reservedSelect:Mji,reservedClauses:[...Pji,...Fji,...Bji],reservedSetOperations:Vji,reservedJoins:Uji,reservedPhrases:Gji,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:[...Fji,...Bji],tabularOnelineClauses:Bji}},zji=jHi(["SELECT [ALL | DISTINCT]"]),jji=jHi(["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"]),Wji=jHi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),$ji=jHi(["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"]),qji=jHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Yji=jHi(["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"]),Kji=jHi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),Xji={name:"spark",tokenizerOptions:{reservedSelect:zji,reservedClauses:[...jji,...Wji,...$ji],reservedSetOperations:qji,reservedJoins:Yji,reservedPhrases:Kji,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]||izi,r=e[n+1]||izi;return szi.WINDOW(t)&&"OPEN_PAREN"===r.type?HHi(GHi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:HHi(GHi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...Wji,...$ji],tabularOnelineClauses:$ji}};var Zji=jHi(["SELECT [ALL | DISTINCT]"]),Qji=jHi(["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"]),Jji=jHi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),eWi=jHi(["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"]),tWi=jHi(["UNION [ALL]","EXCEPT","INTERSECT"]),nWi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),iWi=jHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),rWi={name:"sqlite",tokenizerOptions:{reservedSelect:Zji,reservedClauses:[...Qji,...Jji,...eWi],reservedSetOperations:tWi,reservedJoins:nWi,reservedPhrases:iWi,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:[...Jji,...eWi],tabularOnelineClauses:eWi}},sWi=jHi(["SELECT [ALL | DISTINCT]"]),oWi=jHi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),aWi=jHi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),lWi=jHi(["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"]),cWi=jHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),uWi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),dWi=jHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),hWi={name:"sql",tokenizerOptions:{reservedSelect:sWi,reservedClauses:[...oWi,...aWi,...lWi],reservedSetOperations:cWi,reservedJoins:uWi,reservedPhrases:dWi,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:[...aWi,...lWi],tabularOnelineClauses:lWi}},pWi=jHi(["SELECT [ALL | DISTINCT]"]),gWi=jHi(["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"]),fWi=jHi(["CREATE TABLE [IF NOT EXISTS]"]),mWi=jHi(["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"]),vWi=jHi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),yWi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),bWi=jHi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),_Wi={name:"trino",tokenizerOptions:{reservedSelect:pWi,reservedClauses:[...gWi,...fWi,...mWi],reservedSetOperations:vWi,reservedJoins:yWi,reservedPhrases:bWi,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:[...fWi,...mWi],tabularOnelineClauses:mWi}},CWi=jHi(["SELECT [ALL | DISTINCT]"]),SWi=jHi(["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}"]),wWi=jHi(["CREATE TABLE"]),EWi=jHi(["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"]),xWi=jHi(["UNION [ALL]","EXCEPT","INTERSECT"]),TWi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),AWi=jHi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),RWi={name:"transactsql",tokenizerOptions:{reservedSelect:CWi,reservedClauses:[...SWi,...wWi,...EWi],reservedSetOperations:xWi,reservedJoins:TWi,reservedPhrases:AWi,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:[...wWi,...EWi],tabularOnelineClauses:EWi}},NWi=jHi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),IWi=jHi(["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"]),DWi=jHi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),kWi=jHi(["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"]),OWi=jHi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),LWi=jHi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),MWi=jHi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),PWi={name:"singlestoredb",tokenizerOptions:{reservedSelect:NWi,reservedClauses:[...IWi,...DWi,...kWi],reservedSetOperations:OWi,reservedJoins:LWi,reservedPhrases:MWi,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:Gzi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...DWi,...kWi],tabularOnelineClauses:kWi}},FWi=jHi(["SELECT [ALL | DISTINCT]"]),BWi=jHi(["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"]),VWi=jHi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),UWi=jHi(["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"]),GWi=jHi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),HWi=jHi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),zWi=jHi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),jWi={name:"snowflake",tokenizerOptions:{reservedSelect:FWi,reservedClauses:[...BWi,...VWi,...UWi],reservedSetOperations:GWi,reservedJoins:HWi,reservedPhrases:zWi,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:[...VWi,...UWi],tabularOnelineClauses:UWi}},WWi=e=>e[e.length-1],$Wi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),qWi=e=>e.replace(/\s+/gu," "),YWi=e=>/\n/.test(e),KWi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),XWi=/\s+/uy,ZWi=e=>new RegExp(`(?:${e})`,"uy"),QWi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),JWi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return ZWi(i.map(KWi).join("|"))},e$i=e=>ZWi(`${$Wi(e).map(KWi).join("|")}`),t$i=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=$Wi(e).map(KWi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},n$i=(e,t)=>{if(!e.length)return;const n=e.map(KWi).join("|");return ZWi(`(?:${n})(?:${t})`)},i$i={"``":"(?:`[^`]*`)+","[]":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,KWi(e)).replace(/{right}/g,KWi(t))),n=KWi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},r$i=e=>"string"==typeof e?i$i[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(QWi).join("|")}${t?"":"|"})`)(e)+i$i[e.quote],s$i=e=>e.map(r$i).join("|"),o$i=e=>ZWi(s$i(e)),a$i=(e={})=>ZWi(l$i(e)),l$i=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=KWi(null!=e?e:""),a=KWi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function c$i(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var u$i=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(HHi(GHi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=c$i(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(){XWi.lastIndex=this.index;const e=XWi.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}}},d$i=/\/\*/uy,h$i=/[\s\S]/uy,p$i=/\*\//uy,g$i=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(d$i,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(d$i,e))n+=t,i++;else if(t=this.matchSection(p$i,e))n+=t,i--;else{if(!(t=this.matchSection(h$i,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}},f$i=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 u$i(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 g$i:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(KWi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:o$i(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:t$i(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:m$i},{type:"CASE",regex:/CASE\b/iuy,text:m$i},{type:"END",regex:/END\b/iuy,text:m$i},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:m$i},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:m$i},{type:"RESERVED_CLAUSE",regex:t$i(e.reservedClauses,e.identChars),text:m$i},{type:"RESERVED_SELECT",regex:t$i(e.reservedSelect,e.identChars),text:m$i},{type:"RESERVED_SET_OPERATION",regex:t$i(e.reservedSetOperations,e.identChars),text:m$i},{type:"WHEN",regex:/WHEN\b/iuy,text:m$i},{type:"ELSE",regex:/ELSE\b/iuy,text:m$i},{type:"THEN",regex:/THEN\b/iuy,text:m$i},{type:"RESERVED_JOIN",regex:t$i(e.reservedJoins,e.identChars),text:m$i},{type:"AND",regex:/AND\b/iuy,text:m$i},{type:"OR",regex:/OR\b/iuy,text:m$i},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:m$i},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:t$i(e.reservedFunctionNames,e.identChars),text:m$i},{type:"RESERVED_DATA_TYPE",regex:t$i(e.reservedDataTypes,e.identChars),text:m$i},{type:"RESERVED_KEYWORD",regex:t$i(e.reservedKeywords,e.identChars),text:m$i}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,ZWi(i.map(e=>"regex"in e?e.regex:r$i(e)).join("|"))):void 0},{type:"STRING",regex:o$i(e.stringTypes)},{type:"IDENTIFIER",regex:a$i(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:JWi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:JWi("close",e.extraParens)},{type:"OPERATOR",regex:e$i(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:e$i([".",...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:n$i(a.named,l$i(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:n$i(a.quoted,s$i(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(KWi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:n$i(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:ZWi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},m$i=e=>qWi(e.toUpperCase()),v$i=new Map,y$i=e=>({tokenizer:new f$i(e.tokenizerOptions,e.name),formatOptions:b$i(e.formatOptions)}),b$i=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 _$i(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var C$i=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 S$i(e){return e.map(w$i).map(E$i).map(x$i).map(T$i).map(A$i)}var w$i=(e,t,n)=>{if(ozi(e.type)){const i=R$i(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return HHi(GHi({},e),{type:"IDENTIFIER",text:e.raw});const r=N$i(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return HHi(GHi({},e),{type:"IDENTIFIER",text:e.raw})}return e},E$i=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=N$i(n,t);if(!i||!I$i(i))return HHi(GHi({},e),{type:"IDENTIFIER",text:e.raw})}return e},x$i=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=N$i(n,t);if(i&&I$i(i))return HHi(GHi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},T$i=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=N$i(n,t);if(i&&D$i(i))return HHi(GHi({},e),{type:"ARRAY_IDENTIFIER"})}return e},A$i=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=N$i(n,t);if(i&&D$i(i))return HHi(GHi({},e),{type:"ARRAY_KEYWORD"})}return e},R$i=(e,t)=>N$i(e,t,-1),N$i=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&k$i(e[t+i*n]);)i++;return e[t+i*n]},I$i=e=>"OPEN_PAREN"===e.type&&"("===e.text,D$i=e=>"OPEN_PAREN"===e.type&&"["===e.text,k$i=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,O$i=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}=c$i(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in tzi}};function L$i(e){return e[0]}var M$i=new O$i(e=>[]),P$i=([[e]])=>e,F$i=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),B$i=e=>({type:"data_type",text:e.text,raw:e.raw}),V$i=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=HHi(GHi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=HHi(GHi({},e),{trailingComments:n})),e),U$i=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[V$i(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,V$i(i,{trailing:n})]}return e},G$i={Lexer:M$i,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:[M$i.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[M$i.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:P$i},{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:[M$i.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:L$i},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[M$i.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:V$i(F$i(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:V$i(F$i(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:[M$i.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:F$i(e),children:[t,...n]})},{name:"select_clause",symbols:[M$i.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:F$i(e),children:[]})},{name:"all_columns_asterisk",symbols:[M$i.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:[M$i.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:F$i(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:[M$i.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:F$i(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:L$i},{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])=>V$i(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>V$i(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>V$i(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:P$i},{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:P$i},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:P$i},{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:P$i},{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:P$i},{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:P$i},{name:"array_subscript",symbols:[M$i.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:V$i({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[M$i.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:V$i(F$i(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[M$i.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:V$i(F$i(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","_",M$i.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:V$i(e,{trailing:t}),operator:n.text,property:V$i(r,{leading:i})})},{name:"between_predicate",symbols:[M$i.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",M$i.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:F$i(e),expr1:U$i(n,{leading:t,trailing:i}),andKw:F$i(r),expr2:[V$i(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:L$i},{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:[M$i.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",M$i.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:V$i(F$i(e),{trailing:t}),endKw:F$i(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[M$i.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",M$i.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:V$i(F$i(e),{trailing:t}),thenKw:V$i(F$i(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[M$i.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:V$i(F$i(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[M$i.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[M$i.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[M$i.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[M$i.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[M$i.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[M$i.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:[M$i.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[M$i.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[M$i.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[M$i.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[M$i.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:[M$i.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[M$i.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[M$i.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[M$i.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[M$i.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>F$i(e)},{name:"data_type$subexpression$1",symbols:[M$i.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>B$i(e)},{name:"data_type",symbols:[M$i.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:V$i(B$i(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[M$i.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[M$i.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[M$i.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>F$i(e)},{name:"other_keyword$subexpression$1",symbols:[M$i.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[M$i.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[M$i.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[M$i.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>F$i(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:[M$i.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[M$i.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[M$i.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},H$i=G$i,{Parser:z$i,Grammar:j$i}=OHi;var W$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(;$$i(WWi(this.items));)this.items.pop()}trimWhitespace(){for(;q$i(WWi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(WWi(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}}},$$i=e=>0===e||6===e,q$i=e=>0===e||6===e||3===e;function Y$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 K$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 X$i="top-level",Z$i=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(X$i)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&WWi(this.indentTypes)===X$i&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==X$i)break}}},Q$i=class extends W$i{constructor(e){super(new Z$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 J$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 J$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--)}}},J$i=class extends Error{},eqi=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),_$i(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):_$i(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return _$i(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(),_$i(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){YWi(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 YWi(e.text)||YWi(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(WWi(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 Q$i(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof J$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){_$i(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?_$i(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 K$i(e.tokenType)?Y$i(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return qWi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return K$i(e.tokenType)?Y$i(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return qWi(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 qWi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},tqi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new C$i(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 O$i(n=>[...S$i(e.tokenize(n,t)),nzi(n.length)]),i=new z$i(j$i.fromCompiled(H$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 eqi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new W$i(new Z$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()}},nqi=class extends Error{};function iqi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new nqi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new nqi(`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 nqi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var rqi={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"},sqi=Object.keys(rqi),oqi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},aqi=(e,t={})=>{if("string"==typeof t.language&&!sqi.includes(t.language))throw new nqi(`Unsupported SQL dialect: ${t.language}`);const n=rqi[t.language||"sql"];return lqi(e,HHi(GHi({},t),{dialect:zHi[n]}))},lqi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)BHi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&FHi)for(var i of FHi(e))t.indexOf(i)<0&&VHi.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=iqi(GHi(GHi({},oqi),r));return new tqi((e=>{let t=v$i.get(e);return t||(t=y$i(e),v$i.set(e,t)),t})(i),s).format(e)};const cqi=console.error;function uqi(e){return AG_GRID_LICENSE&&zvi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),xie.jsx(bvi,{theme:"legacy",...e,modules:[omi,JLi],onGridReady:t=>{e.onGridReady?.(t),"production"!==process.env.NODE_ENV&&(console.error=cqi)}})}class dqi{uuid=Mr()}const hqi=(e,t,n)=>{const i=new xS(I_(t)),r=n??e.filterState.lambdaParameterName,s=e.sourceState.buildLeftExpression(e.filterState.queryBuilderState,r);if(i.parametersValues.push(s),e.rightConditionValue&&e.rightConditionValue instanceof TBi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof ABi){const t=SBi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.filterState.queryBuilderState,r);i.parametersValues.push(t)}return i},pqi=e=>{const t=e.parametersValues[0];return t instanceof TS?t.func.value.genericType.value.rawType.path:t instanceof ES&&t.func instanceof $_?t.func.genericType.value.rawType.path:void 0},gqi=(e,t,n,i,r=!1)=>{let s,o;if(O_(t.functionName,n)){br(t.parametersValues.length===(r?1:2),`Can't process ${I_(n)}() expression: ${I_(n)}() expects ${r?"no argument":"1 argument"}`);const i=t.parametersValues[0];if(i instanceof TS)s=new DBi(e,i);else{if(!(i instanceof ES&&i.func instanceof $_))throw new Error(`Can't process ${I_(n)}() expression: expects property expression or relation column in lambda body`);{const t=i.func;s=new DBi(e,new IBi(t.name,t.genericType.value.rawType))}}o=t}else if(O_(t.functionName,Pft.EXISTS)){const i=fr(t.parametersValues[1],NS),a=fr(i.values[0],RS),l=fr(a.expressionSequence[0],xS);br(l.parametersValues.length===(r?1:2),`Can't process ${I_(n)}() expression: ${I_(n)}() expects ${r?"no argument":"1 argument"}`);const c=fr(l.parametersValues[0],TS,`Can't process ${I_(n)}() expression: expects property expression in lambda body`);s=new DBi(e,c),o=l}if(s&&o){br(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${I_(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 TS?s.setRightConditionValue(new ABi(s,new LFi(e.queryBuilderState,t))):s.setRightConditionValue(new TBi(s,gmt(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new TBi(s,i.getDefaultFilterConditionValue(s))),s}};class fqi extends dqi{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(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 eC&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return lmt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;return xFi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return hqi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Pft.IS_ON_DAY:Pft.EQUAL,t)}buildFilterConditionState(e,t){return gqi(e,t,pqi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_DAY:Pft.EQUAL,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_EQUAL])}}class mqi extends fqi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_NOT_EQUAL])}}class vqi extends dqi{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(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 eC}isCompatibleWithFilterConditionValue(e){const t=e.leftConditionType,n=e.rightConditionValue;if(n instanceof TBi){const i=n.value;if(i instanceof mS){if(0===i.values.length)return!0;const n=nmt(e.filterState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(amt(t)??t.path)?[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(amt(n)??n.path):n===t)}if(i instanceof hS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.leftConditionType;return new mS(A_.ONE,H_.create(new Y_(t)))}buildFilterConditionExpression(e,t){return hqi(e,Pft.IN,t)}buildFilterConditionState(e,t){return gqi(e,t,Pft.IN,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_IN])}}class yqi extends vqi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_NOT_IN])}}class bqi extends dqi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType;return!!(e.sourceState instanceof NBi&&omt(e.propertyExpressionState.propertyExpression))&&(t instanceof eC||t instanceof V_||t instanceof U_)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return hqi(e,Pft.IS_EMPTY,t)}buildFilterConditionState(e,t){return gqi(e,t,Pft.IS_EMPTY,this,!0)}get hashCode(){return mv([fmt.FILTER_OPERATOR_IS_EMPTY])}}class _qi extends bqi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_IS_NOT_EMPTY])}}const Cqi=e=>{try{return aqi(e,{language:"mysql"})}catch{try{return aqi(e)}catch{return e}}},Sqi=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},wqi=new fqi,Eqi=new mqi,xqi=new vqi,Tqi=new yqi,Aqi=new bqi,Rqi=new _qi,Nqi=new wVi,Iqi=new bVi,Dqi=new CVi,kqi=new SVi,Oqi=new EVi,Lqi=new _Vi,Mqi=(e,t,n)=>{t.value&&Zft(e,e instanceof fS?cC.create(dr((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},Pqi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?Aqi:wqi:null===t.value?Rqi:Eqi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(pr(FBi)).filter(n=>n.condition.sourceState instanceof NBi&&n.condition.sourceState.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[Aqi,Rqi]:t?[wqi,xqi]:[Eqi,Tqi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===Aqi||i===Rqi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?Aqi:Rqi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof TBi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof pS&&(a.value instanceof fS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);Mqi(i,n,s),o.changeOperator(t?xqi:Tqi),Qft(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof pS&&a.value.values.filter(e=>e instanceof pS).map(e=>e instanceof fS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?wqi:Eqi).getDefaultFilterConditionValue(o);Mqi(e,n,s),Qft(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 DBi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),Mqi(e,n,i.queryBuilderState),i.addNodeFromNode(new FBi(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)}},Fqi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?Dqi:Nqi:null===t.value?kqi:Oqi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(pr(hVi)).filter(e=>e.condition.leftConditionValue instanceof UFi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[Dqi,kqi]:t?[Nqi,Iqi]:[Oqi,Lqi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===Dqi||i===kqi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?Dqi:kqi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof fVi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof pS&&(a.value instanceof fS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);Mqi(i,n,s.queryBuilderState),o.changeOperator(t?Iqi:Lqi),Qft(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof pS&&a.value.values.filter(e=>e instanceof pS).map(e=>e instanceof fS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?Nqi:Oqi).getDefaultFilterConditionValue(o);Mqi(e,n,s.queryBuilderState),Qft(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 vVi(i.postFilterState,e,t),r instanceof jFi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),Mqi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new hVi(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)}},Bqi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?cBi(r,n.columnName):void 0;s instanceof jFi||s instanceof $Fi||s instanceof GFi&&EBi(s.propertyExpressionState.propertyExpression)?await Fqi(e,t,n,i,s,r):s instanceof GFi?Pqi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},Vqi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await Bqi(e,n,r,t,i)};boe(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Ipt(),a=n?.columnName?cBi(i,n.columnName):void 0;return xie.jsxs(yFe,{ref:t,children:[xie.jsx(bFe,{disabled:!a,onClick:()=>{Vqi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),xie.jsx(bFe,{disabled:!a,onClick:()=>{Vqi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),xie.jsx(_Fe,{}),xie.jsx(bFe,{onClick:r,children:"Copy Cell Value"}),xie.jsx(bFe,{onClick:s,children:"Copy Row Value"})]})}));const Uqi=boe(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return xie.jsxs(xie.Fragment,{children:[xie.jsxs("div",{className:"query-builder__sql__container",children:[xie.jsx(FFe,{}),xie.jsxs("div",{children:[xie.jsx("div",{className:"query-builder__sql__container__item__label",children:xie.jsxs(MFe,{children:["SQL",xie.jsx("div",{children:xie.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:xie.jsx(Gre,{})})})]})}),xie.jsx("div",{className:"query-builder__sql__container__code-editor",children:xie.jsx(xHi,{inputValue:Cqi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:nOn.SQL})}),xie.jsx(FFe,{})]},t)]}),n.length>0&&xie.jsx("div",{className:"query-builder__sql__container",children:xie.jsxs("div",{children:[xie.jsx(MFe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__sql__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Label"}),xie.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),xie.jsx("tbody",{children:n.map(e=>xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&xie.jsx("td",{className:"table__cell--left",children:xq(e.dataType)})]},e.label))})]})]})})]})}),Gqi=boe(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?xie.jsx(Uqi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):xie.jsxs(LFe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[xie.jsx(Uqi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),xie.jsx(wHi,{resultType:i}),xie.jsx("div",{className:"query-builder__sql__container",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})}),Hqi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return xie.jsxs("div",{className:n,children:[xie.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&xie.jsx("div",{className:`${n}__tag`,children:t.value.path}),xie.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},zqi=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 OS?(l=t.tree.property.value,c=l.genericType.value.rawType,u=t.tree.subType?.value):t.tree instanceof kS&&(c=t.tree.class.value);const d=Boolean(t.childrenIds.length)?t.isOpen?xie.jsx(kse,{}):xie.jsx(Lse,{}):xie.jsx("div",{}),h=c?kUi(c):xie.jsx(Sxe,{}),p=()=>r?.(t);return xie.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[xie.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[xie.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[xie.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:d}),xie.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),xie.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,u&&xie.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:xie.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:u.name})}),xie.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:xie.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),xie.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:xie.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:xie.jsx(wse,{})})})]})},jqi=boe(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return xie.jsx(Yye,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:xie.jsxs(cFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[xie.jsx(dFe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),xie.jsx(pFe,{className:"query-builder-graph-fetch-config__content",children:xie.jsx(NFe,{children:xie.jsxs(PFe,{children:[xie.jsx(UFe,{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}),xie.jsx(UFe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),xie.jsx(HFe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),xie.jsx(HFe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),xie.jsx(HFe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),xie.jsx(HFe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),xie.jsx(HFe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),xie.jsx(HFe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),xie.jsxs(gFe,{children:[!s&&xie.jsx(mFe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),xie.jsx(mFe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),Wqi=boe(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>NUi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return xie.jsx("div",{className:"query-builder-graph-fetch-external-format",children:xie.jsxs("div",{className:"service-execution-editor__configuration__items",children:[xie.jsxs("div",{className:"service-execution-editor__configuration__item",children:[xie.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:xie.jsx(Tre,{})}),xie.jsx(oFe,{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:Hqi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),xie.jsxs("div",{className:"service-execution-editor__configuration__item",children:[xie.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:xie.jsx(ese,{})}),xie.jsx(LOe,{components:{TreeNodeContainer:zqi},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"):(rHi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),$qi=boe(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(pr(FK)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(pr(X_)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...Uw(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof X_))).includes(i.tree.class.value)});return xie.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[xie.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[xie.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(aHi).map(e=>{return xie.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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case aHi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new pHi(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 aHi.PURE:default:t.setSerializationState(new hHi(t))}})},{label:"Cancel",type:hgt.PROCEED,default:!0}]})}),className:woe("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:vm(e)},e);var r})}),xie.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof hHi&&xie.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:xie.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof hHi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[xie.jsx(cre,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),xie.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),xie.jsxs("div",{className:woe("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[xie.jsx("button",{className:woe("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?xie.jsx(Mre,{}):xie.jsx(Cse,{})}),xie.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),xie.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:xie.jsx(sse,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),xie.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof hHi&&n.configModal&&xie.jsx(jqi,{pureSerializationState:n,graphFetchState:t,config:n.config??uHi.createDefault()}),xie.jsxs(uGe,{orientation:"horizontal",children:[xie.jsx(dGe,{children:xie.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:xie.jsx(LOe,{components:{TreeNodeContainer:zqi},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=>{rHi(i,e),0===i.nodes.size&&t.setSerializationState(new hHi(t)),n instanceof pHi&&n.treeData?.nodes.get(e.id)&&(rHi(n.treeData,dr(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),xie.jsx(hGe,{}),n instanceof pHi&&n.treeData&&xie.jsx(dGe,{children:xie.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),xie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:xie.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:xie.jsx(Wqi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),qqi=boe(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof pHi&&i.addProperty(mn(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=UVe(()=>({accept:[fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{Tft.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:xie.jsxs(uUe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||tHi(r))&&xie.jsx($Fe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!tHi(r)&&xie.jsx($qi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),Yqi=boe(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof hHi||n instanceof pHi?xie.jsx(qqi,{graphFetchTreeState:t,serializationState:n}):xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_GRAPH_FETCH,children:xie.jsx(jFe,{children:xie.jsxs("div",{className:"unsupported-element-editor__main",children:[xie.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),xie.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(yHi.TEXT),children:"Edit in text mode"})]})})})}),Kqi=boe(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof kS?i=eHi(fr(t.graphFetchTree,kS),!0):t.graphFetchTree instanceof OS&&(i=(e=>{const t=[],n=new Map,i=QGi(e,void 0,n);jr(t,i.id),n.set(i.id,i);const r=new kS(C_.create(new K_("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return xie.jsx(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:xie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),xie.jsxs("tbody",{children:[void 0!==t.parentIndex&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),xie.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"Checked"}),xie.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),xie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"Store"}),xie.jsx("td",{className:"table__cell--left",children:t.store})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),xie.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),xie.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),xie.jsx(FFe,{}),i&&xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:xie.jsx(LOe,{components:{TreeNodeContainer:zqi},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}})})}),xie.jsx(FFe,{})]}),t.xStorePropertyFetchDetails&&xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),xie.jsxs("tbody",{children:[xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" propertyPath "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" subTree "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" targetSetId"}),xie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),xie.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof w2&&xie.jsx(SHi,{resultType:t.resultType}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})})}),Xqi=boe(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return xie.jsxs(LFe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[xie.jsx("div",{className:"query-builder__function-parameters-validation__container",children:xie.jsxs("div",{children:[xie.jsx(MFe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Name"}),xie.jsx("th",{className:"table__cell--left",children:"Type"})]})}),xie.jsx("tbody",{children:t.map(e=>{return xie.jsx(n.Fragment,{children:xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:e.name}),xie.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===A_.ZERO?"[0]":t===A_.ONE?"[1]":t===A_.ZERO_ONE?"[0..1]":t===A_.ZERO_MANY||t===A_.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),xie.jsx(FFe,{}),xie.jsx(wHi,{resultType:i}),xie.jsx("div",{className:"query-builder__function-parameters-validation__container",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})}),Zqi=boe(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 xie.jsxs(LFe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&xie.jsx("div",{className:"query-builder__constant__container",children:xie.jsxs("div",{children:[xie.jsx(MFe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),xie.jsx(FFe,{}),xie.jsx("pre",{children:xie.jsx("div",{className:"query-builder__constant__container__item",children:xie.jsxs("div",{children:["value: ",r]})})})]})}),xie.jsx(FFe,{}),xie.jsx(wHi,{resultType:i}),xie.jsx("div",{className:"query-builder__constant__container",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})}),Qqi=boe(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return xie.jsxs(LFe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[xie.jsx("div",{className:"query-builder__allocation__container",children:xie.jsxs("div",{children:[xie.jsx(MFe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__allocation__container__item",children:xie.jsx("table",{className:"query-builder__allocation__container__table",children:xie.jsxs("tbody",{children:[xie.jsxs("tr",{children:[xie.jsx("td",{children:"varName"}),xie.jsx("td",{children:`: ${i}`})]}),xie.jsxs("tr",{children:[xie.jsx("td",{children:"realizeInMemory"}),xie.jsx("td",{children:`: ${s}`})]})]})})})]})}),xie.jsx(FFe,{}),xie.jsx(wHi,{resultType:r}),xie.jsx(FFe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof T1&&xie.jsx(Zqi,{cnode:t.executionNodes[0],executionPlanState:n}),xie.jsx(FFe,{})]})}),Jqi=boe(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?xie.jsx("div",{}):o?xie.jsx(kse,{}):xie.jsx(Lse,{});return xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"query-builder__sequence__container",children:xie.jsxs("div",{children:[xie.jsx(MFe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),xie.jsx(FFe,{}),t.executionNodes.map((e,t)=>xie.jsx("div",{className:"query-builder__sequence__container__item",children:xie.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 bYi?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof _Yi&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${dYi(e)}`,children:[!r&&l,`${t+1}: ${dYi(e)}`]})},e._UUID))]})}),xie.jsx(FFe,{}),xie.jsx(wHi,{resultType:s}),!1===r&&o&&xie.jsx(fYi,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),eYi=boe(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?xie.jsx(Jqi,{node:t,executionPlanState:n,viewJson:i}):xie.jsxs(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[xie.jsx(Jqi,{node:t,executionPlanState:n,viewJson:i}),xie.jsx("div",{className:"query-builder__execution__container",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})}),tYi=boe(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return xie.jsxs(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof pq&&xie.jsx(Uqi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),xie.jsx(FFe,{}),xie.jsx(wHi,{resultType:i}),xie.jsx("div",{className:"query-builder__sql__container",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(wYi.JSON),text:"View JSON"})}),xie.jsx(FFe,{})]})}),nYi=boe(e=>{const{node:t,executionPlanState:n}=e;return xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof e2&&t.implementation.executionClassFullName&&xie.jsx("div",{className:"query-builder__implementation__container__item",children:xie.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(fr(n.plan,l5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(EYi.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof e2&&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 iYi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(iYi||(iYi={}));const rYi=boe(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof L2?i=iYi.RESULT_SET:t instanceof V2&&(i=iYi.TEMP_FILE),t instanceof F2&&(i=iYi.SUB_QUERY),xie.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&xie.jsxs(MFe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),xie.jsx(MFe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${dYi(t.createTempTableNode)})`}),xie.jsx(fYi,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),xie.jsx(FFe,{}),xie.jsx(MFe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${dYi(t.loadTempTableNode)})`}),xie.jsx(fYi,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),xie.jsx(FFe,{}),xie.jsx(MFe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${dYi(t.dropTempTableNode)})`}),xie.jsx(fYi,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),xie.jsx(FFe,{})]})});var sYi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(sYi||(sYi={}));const oYi=boe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(sYi.GENERAL);return xie.jsx(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:xie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:xie.jsxs("div",{className:"panel",children:[xie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:xie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(sYi).map(e=>xie.jsx("div",{onClick:()=>o(e),className:woe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===sYi.GENERAL&&xie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),xie.jsxs("tbody",{children:[xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"Batch Size"}),xie.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"Checked"}),xie.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),xie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:xie.jsx(nYi,{node:t,executionPlanState:i})}),xie.jsx(FFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof pq&&xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),xie.jsx(FFe,{}),xie.jsx(Uqi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(wHi,{resultType:t.resultType})}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(wYi.JSON),text:"View JSON"})})]}),s===sYi.TEMP_TABLE&&t.tempTableStrategy&&xie.jsx(rYi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var aYi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(aYi||(aYi={}));const lYi=boe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(aYi.GENERAL);return xie.jsx(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:xie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:xie.jsxs("div",{className:"panel",children:[xie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:xie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(aYi).map(e=>xie.jsx("div",{onClick:()=>o(e),className:woe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===aYi.GENERAL&&xie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),xie.jsxs("tbody",{children:[xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),xie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:xie.jsx(nYi,{node:t,executionPlanState:i})}),xie.jsx(FFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof pq&&xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),xie.jsx(FFe,{}),xie.jsx(Uqi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(wHi,{resultType:t.resultType})}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(wYi.JSON),text:"View JSON"})})]}),s===aYi.TEMP_TABLE&&t.tempTableStrategy&&xie.jsx(rYi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var cYi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(cYi||(cYi={}));const uYi=boe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(cYi.GENERAL);return xie.jsx(LFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:xie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:xie.jsxs("div",{className:"panel",children:[xie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:xie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(cYi).map(e=>xie.jsx("div",{onClick:()=>o(e),className:woe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vm(e)},e))})}),s===cYi.GENERAL&&xie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),xie.jsx(FFe,{}),xie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[xie.jsx("thead",{children:xie.jsxs("tr",{children:[xie.jsx("th",{className:"table__cell--left",children:"Property"}),xie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),xie.jsxs("tbody",{children:[xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),xie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),xie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&xie.jsxs("tr",{children:[xie.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),xie.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:xie.jsx(nYi,{node:t,executionPlanState:i})}),xie.jsx(FFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof pq&&xie.jsxs(xie.Fragment,{children:[xie.jsx(MFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),xie.jsx(FFe,{}),xie.jsx(Uqi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(wHi,{resultType:t.resultType})}),xie.jsx(FFe,{}),xie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(wYi.JSON),text:"View JSON"})})]}),s===cYi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&xie.jsx(rYi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===cYi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&xie.jsx(rYi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),dYi=e=>e instanceof pq?"SQL Execution Node":e instanceof mq?"Relational TDS Instantiation Execution Node":e instanceof S1?"Function Parameters Validation Node":e instanceof x1?`Allocation Execution Node (${e.varName})`:e instanceof T1?"Constant Execution Node":e instanceof A1?"Sequence Execution Node":e instanceof o2?"Store Mapping Global Graph Fetch Execution Node":e instanceof m2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof G2?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof d2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof y2?"Pure Expression Platform Execution Node":"Other",hYi=boe(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof e2&&(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}`)),xie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:xie.jsxs("div",{className:"panel",children:[xie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:xie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(EYi).map(e=>xie.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:woe("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===EYi.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof e2&&xie.jsxs(uGe,{orientation:"vertical",children:[xie.jsx(dGe,{minSize:30,size:400,children:xie.jsx(LFe,{darkMode:r,className:"query-builder__java__container__panel",children:xie.jsx("div",{className:"query-builder__java__container",children:xie.jsxs("div",{children:[n.classes.map(e=>xie.jsx("div",{className:woe("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:xie.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)),xie.jsx(FFe,{})]})})})}),xie.jsx(hGe,{children:xie.jsx(pGe,{color:"var(--color-dark-grey-200)"})}),xie.jsx(dGe,{children:t.globalImplementationSupportState.selectedJavaClass&&xie.jsx(xHi,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:nOn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===EYi.GENERAL&&i.length>0&&xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),xie.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),xie.jsx("div",{className:"query-builder__template--function--editor__code",children:xie.jsx(xHi,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:nOn.XML,hideMinimap:!0,hideActionBar:!0})}),xie.jsx("div",{className:"query-builder__template--function--editor__json",children:xie.jsx(PSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(wYi.JSON),text:"View JSON"})})]})]})})}),pYi=boe(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?xie.jsx(kse,{}):xie.jsx(Lse,{}):xie.jsx("div",{});let o="",a="";return t instanceof _Yi&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof o2?o="Cross":t.executionNode instanceof l2&&(o="Local")),a=(e=>{if(e instanceof o2||e instanceof l2){if(e.graphFetchTree instanceof kS)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof OS)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),xie.jsxs("div",{className:woe("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:[xie.jsx("div",{className:"tree-view__node__icon",children:xie.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&xie.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:xie.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&xie.jsx("div",{className:"execution-plan-viewer__node__type",children:xie.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),xie.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),gYi=boe(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof bYi){const n=e.executionPlan.rootExecutionNode,i=CYi(n,dYi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof _Yi){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=CYi(n,dYi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof o2){const n=e.executionNode.localGraphFetchExecutionNode,i=CYi(n,dYi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=CYi(n,dYi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof c2&&e.executionNode.children.forEach(n=>{const i=CYi(n,dYi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return xie.jsx(LOe,{components:{TreeNodeContainer:pYi},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 bYi?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof _Yi&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),fYi=boe(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof pq?xie.jsx(Gqi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof mq?xie.jsx(tYi,{node:t,executionPlanState:n}):t instanceof S1?xie.jsx(Xqi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof x1?xie.jsx(Qqi,{node:t,executionPlanState:n}):t instanceof T1?xie.jsx(Zqi,{cnode:t,executionPlanState:n}):t instanceof A1?xie.jsx(eYi,{node:t,executionPlanState:n,viewJson:i}):t instanceof o2?xie.jsx(Kqi,{storeMappingNode:t,executionPlanState:n}):t instanceof G2?xie.jsx(uYi,{node:t,executionPlanState:n}):t instanceof m2?xie.jsx(oYi,{node:t,executionPlanState:n}):t instanceof d2?xie.jsx(lYi,{node:t,executionPlanState:n}):xie.jsx(jFe,{children:xie.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[xie.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),xie.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(wYi.JSON),children:"View JSON"})]})})}),mYi=boe(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof bYi?r=i.selectedNode.executionPlan:i.selectedNode instanceof _Yi&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof bYi&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(wYi);return xie.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&xie.jsxs(xie.Fragment,{children:[xie.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[xie.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:xie.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),xie.jsx(EFe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:xie.jsx(yFe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:xie.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[xie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),xie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>xie.jsx(bFe,{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:xie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),xie.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===wYi.JSON&&Boolean(t)&&xie.jsx(xHi,{inputValue:t,isReadOnly:!0,language:nOn.JSON,hideMinimap:!0}),i.viewMode===wYi.FORM&&xie.jsxs(xie.Fragment,{children:[r instanceof hq&&xie.jsx(fYi,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof l5&&xie.jsx(hYi,{executionPlanState:i})]})]})]})})}),vYi=boe(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return xie.jsx("div",{className:"execution-plan-viewer__content",children:i?xie.jsxs(uGe,{orientation:"vertical",children:[xie.jsx(dGe,{size:300,minSize:300,children:xie.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[xie.jsx(DFe,{darkMode:r,title:"execution plan explorer"}),xie.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:xie.jsx(gYi,{executionPlanState:t,executionPlan:i})})]})}),xie.jsx(hGe,{children:xie.jsx(pGe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),xie.jsx(dGe,{children:xie.jsx(mYi,{displayData:t.displayData,executionPlanState:t})})]}):xie.jsx(xHi,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:nOn.JSON})})}),yYi=boe(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(EYi.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?xie.jsx(Yye,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:xie.jsxs(cFe,{className:"editor-modal",darkMode:r,children:[xie.jsx(dFe,{title:"Execution Plan"}),xie.jsx(pFe,{children:t.debugText?xie.jsxs(uGe,{orientation:"horizontal",children:[xie.jsx(dGe,{minSize:100,children:xie.jsx(vYi,{executionPlanState:t,rawPlan:i})}),xie.jsx(hGe,{children:xie.jsx(pGe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),xie.jsx(dGe,{size:200,minSize:28,children:xie.jsxs(NFe,{className:"panel execution-plan-viewer__debug-panel",children:[xie.jsx(IFe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),xie.jsx(LFe,{children:xie.jsx(xHi,{inputValue:t.debugText,isReadOnly:!0,language:nOn.TEXT})})]})})]}):xie.jsx(vYi,{executionPlanState:t,rawPlan:i})}),xie.jsx(gFe,{children:xie.jsx(mFe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class bYi{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 _Yi{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 CYi=(e,t,n)=>{const i=new _Yi(e._UUID,t,e,n instanceof _Yi?dYi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(pr(hq)).forEach(e=>{jr(r,e._UUID)}),e instanceof o2&&(jr(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(pr(hq)).forEach(e=>{jr(r,e._UUID)})),e instanceof c2&&e.children.slice().filter(pr(hq)).forEach(e=>{jr(r,e._UUID)}),i.childrenIds=r,i},SYi=e=>{const t=[],n=new Map,i=(e=>{const t=new bYi("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 wYi,EYi;!function(e){e.FORM="Form",e.JSON="JSON"}(wYi||(wYi={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(EYi||(EYi={}));class xYi{selectedTab=EYi.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 TYi{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=wYi.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new xYi;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(SYi(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 l5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof hq){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const AYi=e=>{try{const t=e.getFirstDisplayedRowIndex(),n=e.getLastDisplayedRowIndex();if(n>=t)return Math.max(1,n-t)}catch{}return 25},RYi=e=>{const t=e.getCellRanges();return t&&t.length>0?t[t.length-1]:null},NYi=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=RYi(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=RYi(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=RYi(t),o=s?.startRow?.rowIndex??i,a=s?.endRow?.rowIndex??i,l=s?s.columns:[n],c="PageDown"===e.code?AYi(t):-AYi(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))},IYi=e=>Intl.NumberFormat(gUi,{maximumFractionDigits:qYi}).format(e),DYi=()=>xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__spinner",title:"Computing…"}),kYi=({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")}),xie.jsx("div",{ref:r,className:woe("query-builder__result__tds-grid__stats-bar__freq-tooltip",{"query-builder__result__tds-grid__stats-bar__freq-tooltip--dark":t}),children:xie.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 xie.jsxs("g",{children:[xie.jsx("text",{x:86,y:n+10-2,textAnchor:"end",className:woe("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}),xie.jsx("rect",{x:90,y:n,width:r,height:10,className:woe("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})}),xie.jsx("text",{x:174,y:n+10-2,className:"query-builder__result__tds-grid__stats-bar__freq-tooltip__count",children:e.count})]},t)})})})},OYi=(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 ${IYi(e.lower)}`:`${i} within the range ${IYi(e.lower)} – ${IYi(e.upper)}`},LYi=({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 xie.jsx("div",{className:woe("query-builder__result__tds-grid__stats-bar__chart",{"query-builder__result__tds-grid__stats-bar__chart--dark":n}),children:xie.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 xie.jsx("rect",{x:o,y:18-r,width:s,height:r,opacity:0===e.count?.15:1,children:xie.jsx("title",{children:OYi(e,t)})},n)})})})},MYi=boe(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 xie.jsxs("div",{className:woe("query-builder__result__tds-grid__stats-bar",{"query-builder__result__tds-grid__stats-bar--dark":r}),children:[xie.jsxs("span",{className:woe("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:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Count:"}),xie.jsx("span",{className:woe("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:xie.jsx(DYi,{})}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&xie.jsx(kYi,{frequencies:t.valueFrequencies,darkMode:r})]}),xie.jsxs("span",{className:woe("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:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Unique Count:"}),xie.jsx("span",{className:woe("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?xie.jsx(DYi,{}):t.uniqueCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&xie.jsx(kYi,{frequencies:t.valueFrequencies,darkMode:r})]}),xie.jsxs("span",{className:woe("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:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Empty Count:"}),xie.jsx("span",{className:woe("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?xie.jsx(DYi,{}):t.nullCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&xie.jsx(kYi,{frequencies:t.valueFrequencies,darkMode:r})]}),o&&xie.jsxs(xie.Fragment,{children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:IYi(t.min??0)})]}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:IYi(t.max??0)})]}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Sum:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:IYi(t.sum??0)})]}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Avg:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:IYi(t.avg??0)})]})]}),a&&xie.jsxs(xie.Fragment,{children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMin})]}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMax})]})]}),l&&xie.jsxs(xie.Fragment,{children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min Length:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMinLength})]}),xie.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max Length:"}),xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMaxLength})]})]}),c&&xie.jsxs(xie.Fragment,{children:[xie.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),xie.jsx(LYi,{buckets:t.distributionBuckets??[],chartType:t.distributionChartType??"numeric",darkMode:r})]})]})}),PYi=new Set([Xb.INTEGER,Xb.FLOAT,Xb.DECIMAL,Xb.NUMBER]),FYi=new Set([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME]),BYi=new Set([Xb.STRING]),VYi=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},UYi=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)},GYi=e=>"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):null==e?"":JSON.stringify(e),HYi=(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?[]:VYi(t).map(e=>({...e,lowerDateLabel:UYi(e.lower),upperDateLabel:UYi(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}},zYi=(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(PYi)?"numeric":n(FYi)?"date":n(BYi)?"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=GYi(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:VYi(i),distributionChartType:"numeric",valueFrequencies:n}})(l,e,a):"date"===o?HYi(l,r,a):"string"===o?((e,t,n)=>{const i=t.map(e=>GYi(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?VYi(i):void 0,distributionChartType:i.length>0?"string-length":void 0,valueFrequencies:n}})(l,r,a):l},jYi=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}},WYi=(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?jYi(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?jYi(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=zYi(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}},$Yi=(e,t,n,i)=>{const r=n.queryBuilderState.fetchStructureState.implementation;return r instanceof bUi?(((e,t)=>{const n=[],i=e.api.getCellRanges()??[];for(const t of i){const i=Math.min(t.startRow?.rowIndex??0,t.endRow?.rowIndex??0),r=Math.max(t.startRow?.rowIndex??0,t.endRow?.rowIndex??0);for(let s=i;s<=r;s++){const i=e.api.getDisplayedRowAtIndex(s);t.columns.forEach((e,t)=>{const r=e.getColId(),o=i?.data?.[r];n.push({value:o??null,columnName:r,coordinates:{rowIndex:s,colIndex:t}})})}}if(0===n.length&&e.node&&e.column){const t=e.column.getColId();n.push({value:e.value??null,columnName:t,coordinates:{rowIndex:e.node.rowIndex??0,colIndex:0}})}t.setSelectedCells(n),n.length>0&&t.setMouseOverCell(n[0]??null)})(e,n),[{name:"Filter By",action:()=>{Vqi(t,n.mousedOverCell,!0,r).catch(i)}},{name:"Filter Out",action:()=>{Vqi(t,n.mousedOverCell,!1,r).catch(i)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]):[]},qYi=4,YYi=e=>xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[xie.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:xie.jsx(sre,{})}),xie.jsx("div",{children:e.displayName})]}),KYi=(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>qYi}return!1}));switch(t){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:YYi}}:{};default:return{}}}return{}},XYi=boe(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 uZ)return t.executionResult.result.columns[e]},d=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof uZ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>pZ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>pZ(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 xie.jsx("div",{className:woe("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?xie.jsx("a",{href:s,target:"_blank",rel:"noreferrer",children:s}):xie.jsx("span",{children:Cr(i)?Intl.NumberFormat(gUi,{maximumFractionDigits:qYi}).format(Number(i)):Sr(i)?String(i):i})})}),ZYi=(e,t)=>{e.length>0&&(t.setSelectedCells(e),t.setMouseOverCell(e[0]??null))},QYi=boe(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Ipt(),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,...KYi(t,e),cellRenderer:XYi,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=WYi(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 ZYi(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 ZYi(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);ZYi(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=>$Yi(e,s,o,i.applicationStore.alertUnhandledError),[s,o,i.applicationStore.alertUnhandledError]);return xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:xie.jsxs("div",{ref:p,tabIndex:-1,className:woe("query-builder__result__tds-grid",{"query-builder__result__tds-grid--with-stats-bar":r,"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:[xie.jsx(uqi,{rowData:Sqi(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&&xie.jsx(MYi,{stats:h.stats,cellCount:h.cellCount,countReady:h.countReady,darkMode:a})]})})});var JYi;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(JYi||(JYi={}));const eKi=(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"]}}},tKi=boe(e=>{const t=e.resultState,n=e.value,i=_r(n)&&Dh(n)?n:void 0;return xie.jsx("div",{className:woe("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?xie.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):xie.jsx("span",{children:Cr(n)?Intl.NumberFormat(gUi,{maximumFractionDigits:qYi}).format(Number(n)):Sr(n)?String(n):n})})}),nKi=(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}}},iKi=boe(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Ipt(),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:tKi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...eKi(e,n),...KYi(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:tKi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...nKi(e,n),...KYi(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=>$Yi(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),JYi.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=WYi(y,_,C);return xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:xie.jsxs("div",{className:woe("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?xie.jsx(uqi,{rowData:Sqi(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 oKi),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=>{NYi(e)}}):xie.jsx(uqi,{rowData:Sqi(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=>{NYi(e)}}),r&&void 0!==S&&xie.jsx(MYi,{stats:S.stats,cellCount:S.cellCount,countReady:S.countReady,darkMode:o}),d.wavgAggregationState?.isApplyingWavg&&xie.jsx(Yye,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:xie.jsxs(cFe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[xie.jsx(dFe,{title:"Applying Weighted Average"}),xie.jsxs(pFe,{children:[xie.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),xie.jsx(oFe,{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})]}),xie.jsx(gFe,{children:xie.jsx(mFe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var rKi;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(rKi||(rKi={}));class sKi{applicationStore;selectedTab=rKi.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 oKi{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 aKi{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 TYi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new sKi(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 bUi&&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 uZ&&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===JYi.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 oKi,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=nVi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=G6(n,this.queryBuilderState.graphManagerState)}else if(t=dr(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return qBi(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});Tft.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:$Bi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},void 0,n);if("true"===s.headers.get(FQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=q5(this.queryBuilderState.graphManagerState.graph);gft(s,`result.${Ch(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());Tft.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.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=$Bi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);Tft.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new Fy,s=q5(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:[PQ],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());Tft.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(bi(t),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof aQ&&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(PS.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=q5(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){Tft.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,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else Tft.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,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},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(yft.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?Tft.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):Tft.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.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(PS.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class lKi{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([fmt.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const cKi="QUERY_BUILDER_FUNCTION",uKi=(e,t)=>t===Kb.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,dKi=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof oC)).filter(t=>t instanceof X_&&uKi(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),hKi=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),pKi=(e,t,n,i=Kb.MAIN)=>{const r=i===Kb.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=uKi(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof X_&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>dKi(e,t,i)),c=o?.map(e=>r?.get(e)).filter(cr).map(e=>hKi(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)})},gKi=(e,t,n=Kb.MAIN)=>{const i=[],r=new Map,s=uKi(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 X_&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=dKi(t,e,n);jr(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},fKi=(e,t,n,i=Kb.MAIN)=>(pKi(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(cr).sort(aFe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),mKi=e=>e.package?(e instanceof X_?[e]:[]).concat([e.package].concat(mKi(e.package))):[];class vKi{uuid=Mr();queryFunctionsState;functionAnalysisInfo;constructor(e,t){hd(this,{functionAnalysisInfo:Rc}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class yKi{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=>jw(this._functionGraph,e.packagePath,void 0)).map(e=>mKi(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>jw(this._functionGraph,e.packagePath,void 0)).map(e=>mKi(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,pKi(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(gE(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;gE(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(gKi([this._functionGraph.root],this.queryBuilderState,Kb.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new vKi(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(gKi([this._functionGraph.root],this.queryBuilderState,Kb.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new vKi(this,e)):[])}),this.initState.pass())}}class bKi extends XBi{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([fmt.PARAMETERS_STATE,mv(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class _Ki extends dqi{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return lmt(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 xFi(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 hqi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Pft.IS_AFTER_DAY:Pft.GREATER_THAN,t)}buildFilterConditionState(e,t){return gqi(e,t,pqi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_AFTER_DAY:Pft.GREATER_THAN,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_GREATER_THAN])}}class CKi extends dqi{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return amt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return xFi(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 hqi(e,Pft.STARTS_WITH,t)}buildFilterConditionState(e,t){return gqi(e,t,Pft.STARTS_WITH,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_START_WITH])}}class SKi extends CKi{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_NOT_START_WITH])}}class wKi extends dqi{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return lmt(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 xFi(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 hqi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Pft.IS_ON_OR_AFTER_DAY:Pft.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return gqi(e,t,pqi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_OR_AFTER_DAY:Pft.GREATER_THAN_EQUAL,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class EKi extends dqi{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return lmt(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 xFi(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 hqi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Pft.IS_ON_OR_BEFORE_DAY:Pft.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return gqi(e,t,pqi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_ON_OR_BEFORE_DAY:Pft.LESS_THAN_EQUAL,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class xKi extends dqi{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=amt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return lmt(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 xFi(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 hqi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Pft.IS_BEFORE_DAY:Pft.LESS_THAN,t)}buildFilterConditionState(e,t){return gqi(e,t,pqi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Pft.IS_BEFORE_DAY:Pft.LESS_THAN,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_LESS_THAN])}}class TKi extends dqi{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return amt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return xFi(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 hqi(e,Pft.ENDS_WITH,t)}buildFilterConditionState(e,t){return gqi(e,t,Pft.ENDS_WITH,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_END_WITH])}}class AKi extends TKi{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_NOT_END_WITH])}}class RKi extends dqi{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return amt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&amt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return xFi(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 hqi(e,Pft.CONTAINS,t)}buildFilterConditionState(e,t){return gqi(e,t,Pft.CONTAINS,this)}get hashCode(){return mv([fmt.FILTER_OPERATOR_CONTAIN])}}class NKi extends RKi{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return smt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=rmt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return mv([fmt.FILTER_OPERATOR_NOT_CONTAIN])}}var IKi;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(IKi||(IKi={}));class DKi{changeDetectionState;initialQuery;currentQuery;mode=IKi.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 kKi{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 DKi(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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:hgt.PROCEED,default:!0}]}):e()}}const OKi=e=>e instanceof hS?`${jb}${e.name}`:e instanceof gS&&e.genericType.value.rawType===V_.STRICTDATE?e.values[0]:e instanceof gS&&e.genericType.value.rawType===V_.LATESTDATE?"%latest":"(unknown)",LKi=(e,t)=>{const n=uE(e,t.graphManagerState.graph);return xie.jsx("div",{className:woe("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:xie.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},MKi=boe(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Ipt(),o=aPe({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:LKi(e,t)})),l=t.sourceClass?{value:t.sourceClass,label:LKi(t.sourceClass,t)}:null;return xie.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:xie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[xie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),xie.jsx(oFe,{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:DUi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),PKi=e=>({value:e,label:e instanceof cW?e.packageableRuntime.value.name:"custom"}),FKi=e=>function(t){if(t.value instanceof cW){const n=t.value;return DUi(e)(NUi(n.packageableRuntime.value))}return t.value instanceof cW?t.value.packageableRuntime.value.name:xie.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[xie.jsx(Vre,{}),xie.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},BKi=boe(e=>{const{queryBuilderState:t}=e,n=Ipt(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(NUi).sort(aFe),s=t.executionContextState.mapping?NUi(t.executionContextState.mapping):null,o=aPe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new cW(C_.create(e))).map(PKi).sort(aFe),l=t.executionContextState.runtimeValue?PKi(t.executionContextState.runtimeValue):null,c=aPe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof cW?e.data.value.packageableRuntime.value.path:"custom"});return xie.jsxs("div",{className:"query-builder__setup__config-group",children:[xie.jsx(IFe,{title:"properties"}),xie.jsxs("div",{className:"query-builder__setup__config-group__content",children:[xie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[xie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),xie.jsx(oFe,{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:DUi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),xie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[xie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),xie.jsx(oFe,{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:FKi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),xie.jsx("div",{className:"query-builder__setup__config-group__item",children:xie.jsx(MKi,{queryBuilderState:t,classes:i})})]})]})}),VKi=boe(e=>{const{queryBuilderState:t,children:n}=e,i=Ipt().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]);let r=xie.jsx(xie.Fragment,{});for(const e of i){const n=e(t);if(void 0!==n){r=n;break}}return xie.jsxs("div",{className:woe("query-builder__side-bar",t.sideBarClassName),children:[xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:xie.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??xie.jsx(BKi,{queryBuilderState:t})})}),xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),xie.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class UKi{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class GKi extends UKi{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${OKi(this.getMilestoningDate(0))}, Business Date: ${OKi(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 hS?this.milestoningState.businessDate.name:a_),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof hS?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=CFi(Pft.NOW,V_.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 IS(()=>dr(fr(n,TS).parametersValues[1]));let o;return e&&n&&!t?o=new IS(()=>dr(n.parametersValues[1])):(o=new IS(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===n_.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new IS(()=>dr(fr(s.propertyExpression.parametersValues[0],TS).parametersValues[1]));let o;return e&&n&&!t?o=new IS(()=>dr(n.parametersValues[2])):(o=new IS(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class HKi extends UKi{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${OKi(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 hS?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=CFi(Pft.NOW,V_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===n_.BUSINESS_TEMPORAL?new IS(()=>dr(n.parametersValues[1])):new IS(()=>dr(n.parametersValues[2]));{const n=new IS(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class zKi extends UKi{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${OKi(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 hS?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=CFi(Pft.NOW,V_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new IS(()=>dr(n.parametersValues[1]));{const n=new IS(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class jKi{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 HKi(this,n_.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new zKi(this,n_.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new GKi(this,n_.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof bUi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof GFi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof IS&&(e.isPropagatedValue=!1)}):e instanceof $Fi&&e.projectionColumnState instanceof GFi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof IS&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof FBi?e.condition.sourceState instanceof NBi&&e.condition.sourceState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof IS&&(e.isPropagatedValue=!1)}):e instanceof MBi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.sourceClass?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof IS&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===Mft.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Mft.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){return void 0!==Kw(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){const t=Kw(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==n_.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===Mft.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Mft.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===Mft.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(Mft.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(Mft.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(Mft.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(Mft.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?nne(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?nne(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?nne(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?nne(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(r_)),this.setEndDate(this.buildMilestoningParameter(s_))}clearGetAllParameters(){if(this.businessDate instanceof hS&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===fr(this.businessDate,hS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof hS&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===fr(this.processingDate,hS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof gS&&this.setBusinessDate(void 0),this.processingDate instanceof gS&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof hS&&!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 hS&&!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=Kw(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new hS(e,A_.ONE,H_.create(new Y_(V_.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 YBi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new hS(e,A_.ONE,H_.create(new Y_(V_.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new YBi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof hS){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 hS){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&pmt(e,this.businessDate),n=!!this.processingDate&&pmt(e,this.processingDate),i=!!this.startDate&&pmt(e,this.startDate),r=!!this.endDate&&pmt(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof hS&&(t=e.name===fr(this.businessDate,hS).name),this.processingDate instanceof hS&&(t=t||e.name===fr(this.processingDate,hS).name),this.startDate instanceof hS&&(t=t||e.name===fr(this.startDate,hS).name),this.endDate instanceof hS&&(t=t||e.name===fr(this.endDate,hS).name),t}get hashCode(){return mv([fmt.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var WKi;!function(e){e.COMPILE="query-builder.compile"}(WKi||(WKi={}));const $Ki={[WKi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class qKi{queryBuilderState;value;constructor(e){hd(this,{value:Rc,setValue:Pu,hashCode:kc}),this.queryBuilderState=e}getDefaultValue(){return new gS(H_.create(new Y_(V_.STRING)))}setValue(e){this.value=e?nne(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&pmt(e,this.value)}get hashCode(){return mv([fmt.WATERMARK_STATE,this.value??""])}}class YKi{queryBuilderState;uuid=Mr();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return mv([fmt.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new gS(H_.create(new Y_(V_.STRING)));e.values=[this.variable.name];const t=new xS(I_(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class KKi extends YKi{value;constructor(e,t,n){super(e,t),hd(this,{variable:Rc,value:Rc,setValueSpec:Pu,changeValSpecType:Pu}),this.value=nne(n,this.queryBuilderState.observerContext),nne(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=xFi(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 hS)throw new vi("Can not assign a parameter to another parameter");this.value=nne(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&jft(this.variable,H_.create(new Y_(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return mv([fmt.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class XKi extends PFi{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(TFi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return kte([Cft.QUERY_BUILDER,Cft.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 rQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(PS.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(PS.PARSING_FAILURE),e)}}}class ZKi extends YKi{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 XKi(this),nne(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new dS(this.value)}}class QKi{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 hS&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new ZKi(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([fmt.CONSTANT_STATE,mv(this.constants)])}}var JKi;!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"}(JKi||(JKi={}));class eXi{uuid=Mr();specification;entitlementReport;constructor(e){hd(this,{entitlementReport:Rc,setEntitlementReport:Pu}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class tXi{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 eXi(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(JKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof WJ).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(JKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof YJ).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(JKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof qJ).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(JKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof $J).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(JKi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const u=this.datasets.filter(e=>e.entitlementReport instanceof KJ).length,d=Math.round(u/e*100);t.data.push({label:"Unsupported",count:u,percentage:d,color:this.applicationStore.layoutService.getColor(JKi.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(JKi.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 eXi(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 eXi(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 nXi{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 cW&&(this.dataAccessState=new tXi(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=zBi(n.graph,t),r=G6(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([fmt.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class iXi{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(yft.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class rXi{static INSTANCE=new rXi}class sXi{actionConfig=rXi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class oXi extends sXi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new oXi}class aXi extends sXi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new aXi}class lXi extends Uvt{mapping;runtime}class cXi extends Tbt{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 lXi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new lXi;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 xN(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(TN(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(TN(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,uZ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=q5(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());Tft.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof eZ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof lXi){return Boolean(e.mapping??e.runtime)?Xvt(exports.DataCubeFunction.FROM,[e.mapping?Jvt(e.mapping):void 0,e.runtime?Jvt(e.runtime):void 0].filter(cr)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=fr($N(TN(e,[])),rx);return new lS(t.parameters,t.body)}getSourceFunctionExpression(){let e=xN(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof qx&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new Vvt;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class uXi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var dXi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(dXi||(dXi={}));class hXi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=Py.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new fqi,new mqi,new xKi,new EKi,new _Ki,new wKi,new CKi,new SKi,new RKi,new NKi,new TKi,new AKi,new vqi,new yqi,new bqi,new _qi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=dXi.STANDARD;sourceElement;getAllFunction=Mft.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 jKi(this),this.explorerState=new DGi(this),this.parametersState=new bKi(this),this.constantState=new QKi(this),this.functionsExplorerState=new yKi(this),this.fetchStructureState=new mHi(this),this.filterState=new VBi(this,this.filterOperators),this.watermarkState=new qKi(this),this.checkEntitlementsState=new nXi(this),this.resultState=new aKi(this),this.textEditorState=new bHi(this),this.unsupportedQueryState=new lKi(this),this.observerContext=new L6(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new kKi(this),this.changeHistoryState=new iXi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(dUi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new QBi(this);return this.setLambdaWriteMode(dXi.TYPED_FETCH_STRUCTURE),e}return new JBi(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===dXi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}get requiresMappingForExecution(){return!0}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new kZ,t=fr(this.executionContextState.runtimeValue,cW,"Query runtime must be of type runtime pointer");return ur(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=C_.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 cW?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(dUi.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{Tft.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof cW?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(dXi.TYPED_FETCH_STRUCTURE);const r=$Bi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new cXi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new uXi(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:WKi.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(){[WKi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new aKi(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 bHi(this),this.unsupportedQueryState=new lKi(this),this.milestoningState=new jKi(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new DGi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new QKi(this),this.functionsExplorerState=new yKi(this),this.parametersState=new bKi(this),this.filterState=new VBi(this,this.filterOperators),this.watermarkState=new qKi(this),this.checkEntitlementsState=new nXi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new mHi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeSourceElement(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(Mft.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(Mft.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 lS(e,this.unsupportedQueryState.rawLambda?.body)),dr(this.unsupportedQueryState.rawLambda)}return G6(nVi(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,cW).packageableRuntime,i=((e,t,n)=>{const i=dr(e.expressionSequence[0]),r=new xS(I_(exports.SUPPORTED_FUNCTIONS.FROM)),s=new pS(A_.ONE,void 0);s.values=[C_.create(t)];const o=new pS(A_.ONE,void 0);return o.values=[C_.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(nVi(this),e,n.value);return G6(i,this.graphManagerState)}buildExecutionContextExpression(e){return((e,t)=>{if(e instanceof QBi){const n=dr(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new xS(I_(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new pS(A_.ONE,void 0),s.values=[C_.create(r)]);const o=e.runtimeValue;let a;o instanceof cW&&(a=new pS(A_.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 bUi?this.useRelation?this.graphManagerState.graph.getType(Oft.RELATION):this.graphManagerState.graph.getClass(Oft.TDS_TABULAR_DATASET):V_.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=nne(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=fr(t,NS,"Can't build query state: query builder only support lambda");AXi(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(yft.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=>nne(e,this.observerContext)).filter(pr(hS));TXi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===yHi.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 sQ){this.applicationStore.logService.error(Hy.create(PS.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);Dte(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(PS.COMPILATION_FAILURE),e);let t=!0;e instanceof sQ&&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(yHi.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 Q5(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new pXi(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([fmt.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class pXi extends hXi{}class gXi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const fXi=(e,t,n)=>{t.fetchStructureState.changeImplementation(oBi.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],xS,"Can't process serialize() expression: only support serialize() immediately following an expression");if(br(O_(i.functionName,[Pft.GRAPH_FETCH,Pft.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),xXi.process(i,n,t),t.fetchStructureState.implementation instanceof gHi){const n=t.fetchStructureState.implementation,i=fr(e.parametersValues[1],MS,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=fr(i.values[0],kS,"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(eHi(r));const s=e.parametersValues[2];if(s){const e=fr(s,xS,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");br(O_(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=fr(n.serializationState,hHi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=fr(fr(fr(e.parametersValues[0],pS,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],__,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,K_,"Can't process serialize() expression: serialization config expects first param to be a class");br(i.path===Oft.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${Oft.SERIALIZE_CONFIG}', got : ${i.path}`);const r=fr(e.parametersValues[2],mS,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new uHi;r.values.forEach((e,t)=>{const n=fr(e,yS,`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,gS,`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=nE(n,s),l=fr(a.genericType.value.rawType,V_,`Only primitive types suppported for config. Property ${s} for class '${Oft.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=dr(fr(e.expression,gS,"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)}}},mXi=(e,t,n)=>{const i=fr(e.parametersValues[0],xS,"Can't process project() expression: only support project() immediately following an expression");br(O_(i.functionName,[Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE,Pft.FILTER,Pft.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),xXi.process(i,n,t)},vXi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(oBi.TABULAR_DATA_STRUCTURE),br(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),mXi(e,t,n);const i=e.parametersValues[1];i instanceof mS?i.values.map(i=>xXi.processChild(i,e,n,t)):(gr(i,xS,"Can't process project() expression: project() expects argument #1 to be a function expression"),xXi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(oBi.TABULAR_DATA_STRUCTURE),br(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),mXi(e,t,n);const i=e.parametersValues[1];gr(i,mS,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>xXi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof mS?(gr(r,mS,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(hmt).filter(cr)):(gr(r,gS,"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 bUi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},yXi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof bUi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof TS;){const e=r;for(dmt(r,n.graphManagerState.graph,n),r=dr(r.parametersValues[0]),e.func.value instanceof dC&&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 xS&&O_(r.functionName,Pft.SUBTYPE);)r=dr(r.parametersValues[0])}gr(r,hS,"Can't process property expression: expects expression root to be a variable");const s=new GFi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},bXi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof bUi){const r=i.fetchStructureState.implementation,s=new HFi(r,n,!1);r.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t);const o=e.parametersValues[0];o instanceof hS&&s.setLambdaParameterName(o.name)}},_Xi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof bUi){const r=i.fetchStructureState.implementation,s=_i(()=>fr($N(e.content),rx));ur(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new jFi(r,new lS(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},CXi=(e,t,n)=>{br(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=fr(e.parametersValues[0],xS,"Can't process take() expression: only support take() immediately following an expression");if(br(O_(i.functionName,[Pft.TDS_TAKE,Pft.TDS_DISTINCT,Pft.TDS_SORT,Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),xXi.process(i,n,t),t.fetchStructureState.implementation instanceof bUi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof gS&&Cr(e.values[0]))return e.values[0]})(dr(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},SXi=(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],xS,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");br(O_(c.functionName,[Pft.TDS_TAKE,Pft.TDS_DISTINCT,Pft.TDS_SORT,Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),xXi.process(c,n,t);const u=fr(t.fetchStructureState.implementation,bUi);gr(s,mS,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const d=s.values.map(e=>{const t=Ar(fr(e,gS,"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 cBi(u,t)});let h,p;if(r){const e=fr(o,xS,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(O_(e,Pft.TDS_ASC))return Bft.ASC;if(O_(e,Pft.TDS_DESC))return Bft.DESC;throw new yi(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=Ar(fr(e.parametersValues[0],gS,"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=cBi(u,n);h=new BVi(i,t)}if(a instanceof xS){br(O_(a.functionName,[Pft.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=Ar(fr(e[0],gS,"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=cBi(u,t),i=fr(fr(e[1],NS).values[0],RS);br(1===i.expressionSequence.length);const r=fr(i.expressionSequence[0],xS),s=dr(u.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new GVi(u.windowState,s,n),p.setLambdaParameterNames([fr(i.functionType.parameters[0],hS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}else{const e=fr(fr(a,NS).values[0],RS);br(1===e.expressionSequence.length);const t=fr(e.expressionSequence[0],xS),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 UVi(u.windowState,n),p.setLambdaParameterNames([fr(e.functionType.parameters[0],hS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}const g=Ar(fr(l,gS,"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 HVi(u.windowState,d,h,p,g);u.windowState.addWindowColumn(f),u.setShowWindowFuncPanel(!0)},wXi=(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],xS,"Can't process extend() expression: only support extend() immediately following an expression");xXi.process(i,n,t);const r=fr(e.parametersValues[1],xS,"Can't process extend() expression: expects a window expression as the second parameter"),s=fr(t.fetchStructureState.implementation,bUi),o=fr(r.parametersValues[0],SS,"Can't process over(): expects ColSpecArray for window columns"),a=dr(o.values[0]).colSpecs.map(e=>cBi(s,e.name));let l;if(r.parametersValues[1]instanceof mS){const e=fr(r.parametersValues[1].values[0],xS,"Can't process extend sortBy expression: only support function expression of 'ascending' or 'descending'"),t=(e=>{if(O_(e,Pft.RELATION_ASC))return Bft.ASC;if(O_(e,Pft.RELATION_DESC))return Bft.DESC;throw new yi(`Unsupported relation sort function: ${e}`)})(e.functionName),n=Ar(fr(e.parametersValues[0],_S,"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=cBi(s,n);l=new BVi(i,t)}const c=fr(e.parametersValues[2],SS,"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,NS).values[0],RS),i=fr(n.expressionSequence[0],ES,"Can't process typed window aggregation: expects function1 to be a Function Expression"),r=cBi(t,i.functionName),s=fr(fr(e.function2,NS).values[0],RS),o=fr(s.expressionSequence[0],xS),a=dr(t.windowState.findOperator(o.functionName,!0),`Operator '${o.functionName}' not supported yet for typed TDS`),l=new GVi(t.windowState,a,r),c=[];n.functionType.parameters.forEach(e=>{fr(e,hS),c.push(e.name)});const u=fr(s.functionType.parameters[0],hS).name;return c.push(u),l.setLambdaParameterNames(c),l}if(e.function1){const n=fr(fr(e.function1,NS).values[0],RS);br(1===n.expressionSequence.length);const i=fr(n.expressionSequence[0],xS),r=dr(t.windowState.findOperator(i.functionName,!0),`Operator '${i.functionName}' not supported yet for typed TDS`),s=new UVi(t.windowState,r),o=[];return n.functionType.parameters.forEach(e=>{fr(e,hS),o.push(e.name)}),s.setLambdaParameterNames(o),s}throw new yi("Only support aggregation and rank operators in extend() expression")})(e,s),n=new HVi(s.windowState,a,l,t,e.name);s.windowState.addWindowColumn(n),s.setShowWindowFuncPanel(!0)})}},EXi=e=>!(e instanceof xS)||!O_(e.functionName,Pft.FIRST_DAY_OF_YEAR)&&!O_(e.functionName,Pft.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>EXi(e)).includes(!1);class xXi{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 xXi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new xXi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!O_(this.parentExpression.functionName,[Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_AGG,...Object.values(Lft)]))throw new yi(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);_Xi(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(O_(t,Mft.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,K_,"Can't process getAll() expression: getAll() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Kw(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(O_(t,Mft.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,K_,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),ur(Kw(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(Mft.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(O_(t,Mft.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,K_,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Kw(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(Mft.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(O_(t,Pft.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(oBi.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,K_,"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],pS,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=fr(fr(s.values[0],__,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,FK,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=fr(e.parametersValues[2],hS),l=new gXi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(O_(t,[Pft.FILTER,Pft.TDS_FILTER])){br(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=e.parametersValues[0];if(n instanceof B$)return xXi.process(n,this.parentLambda,this.queryBuilderState),void KGi(e,this.queryBuilderState);const i=fr(n,xS,"Can't process filter() expression: only support filter() immediately following an expression");if(xXi.process(i,this.parentLambda,this.queryBuilderState),O_(i.functionName,[Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE]))return br(O_(t,Pft.FILTER),`Can't process filter() expression: only supports ${Pft.FILTER}() immediately following getAll() (got '${t}')`),void KGi(e,this.queryBuilderState);if(O_(i.functionName,[Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.OLAP_GROUPBY]))return br(O_(t,Pft.TDS_FILTER),`Can't process post-filter expression: only supports ${Pft.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof bUi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];gr(s,NS,"Can't process post-filter expression: expects argument #1 to be a lambda function"),gr(r.implementation,bUi,"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],ES,"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],hS,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),mBi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(O_(i.functionName,[Pft.WATERMARK]))return void KGi(e,this.queryBuilderState);throw new yi("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(O_(t,Pft.WATERMARK))((e,t,n)=>{const i=fr(e.parametersValues[0],xS,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");br(O_(i.functionName,[Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),xXi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,[Pft.TDS_PROJECT,Pft.RELATION_PROJECT]))(n=e).functionName===Pft.RELATION_PROJECT||O_(n.functionName,[Pft.TDS_PROJECT,Pft.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof SS?((e,t,n)=>{br(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(oBi.TABULAR_DATA_STRUCTURE);const i=dr(e.parametersValues[0],"Can't process typed project() expression: missing preceding expression");if(i instanceof xS)br(O_(i.functionName,[Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE,Pft.FILTER,Pft.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()");else if(!(i instanceof B$))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");xXi.process(i,n,t);const r=e.parametersValues[1];gr(r,SS,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(dXi.TYPED_FETCH_STRUCTURE),xXi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):vXi(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.RELATION_SELECT))((e,t,n)=>{t.fetchStructureState.changeImplementation(oBi.TABULAR_DATA_STRUCTURE),br(2===e.parametersValues.length,"Can't process select() expression: select() expects 2 arguments");const i=dr(e.parametersValues[0],"Can't process select() expression: missing preceding expression");if(!(i instanceof xS||i instanceof B$))throw new Error("Can't process select() expression: the first argument is expected to be either a function expression or an Accessor Instance Value");xXi.process(i,n,t);const r=fr(e.parametersValues[1],SS,"Can't process select() expression: select() expects argument #1 to be a ColSpec array").values;br(1===r.length,"Can't process select() expression: expected exactly one ColSpec array");const s=dr(r[0]).colSpecs;if(!(t.fetchStructureState.implementation instanceof bUi))return;const o=t.fetchStructureState.implementation,a=t.sourceRelationType?.columns;ur(a,"Can't process select() expression: source relation type is not available"),s.forEach(n=>{br(void 0===n.function1&&void 0===n.function2,`Can't process select() expression: ColSpec '${n.name}' is expected to be a bare column reference`);const i=dr(a.find(e=>e.name===n.name),`Can't process select() expression: column '${n.name}' is not found in source relation`);bXi(e,n.name,i,t)}),o.setProjectionMode(yUi.SELECT)})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.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],NS,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=fr(e.parametersValues[1],gS,"Can't process col() func expression: the #2 argument of col() should be a string");yXi(fr(n.values[0]?.expressionSequence[0],TS,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof bUi&&t.fetchStructureState.implementation.setProjectionMode(yUi.PROJECT_COL)})(e,this.queryBuilderState);else if(O_(t,[Pft.TDS_TAKE,Pft.RELATION_LIMIT]))CXi(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.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],xS,"Can't process distinct() expression: only support distinct() immediately following an expression");br(O_(i.functionName,[Pft.TDS_TAKE,Pft.TDS_DISTINCT,Pft.TDS_SORT,Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),xXi.process(i,n,t),t.fetchStructureState.implementation instanceof bUi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.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],xS,"Can't process sort() expression: only support sort() immediately following an expression");br(O_(i.functionName,[Pft.TDS_TAKE,Pft.TDS_DISTINCT,Pft.TDS_SORT,Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),xXi.process(i,n,t);const r=e.parametersValues[1];gr(r,mS,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>xXi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.SLICE))((e,t,n)=>{br(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=fr(e.parametersValues[0],xS,"Can't process slice() expression: only support slice() immediately following an expression");if(br(O_(i.functionName,[Pft.TDS_TAKE,Pft.TDS_DISTINCT,Pft.TDS_SORT,Pft.TDS_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_FILTER,Pft.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),xXi.process(i,n,t),t.fetchStructureState.implementation instanceof bUi){const n=t.fetchStructureState.implementation,i=Rr(fr(e.parametersValues[1],gS,"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],gS,"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(O_(t,[Pft.TDS_ASC,Pft.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&O_(t.functionName,Pft.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 bUi){const t=n.fetchStructureState.implementation,r=hmt(dr(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new rBi(s);e.sortType=O_(i,Pft.TDS_ASC)?Bft.ASC:Bft.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(O_(t,[Pft.RELATION_ASC,Pft.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&O_(t.functionName,Pft.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 bUi){const t=n.fetchStructureState.implementation,r=fr(e.parametersValues[0],_S);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 rBi(o);e.sortType=O_(i,Pft.RELATION_ASC)?Bft.ASC:Bft.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(O_(t,[Pft.TDS_GROUP_BY,Pft.RELATION_GROUP_BY]))(e=>e.functionName===Pft.RELATION_GROUP_BY||O_(e.functionName,[Pft.TDS_GROUP_BY,Pft.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof SS)(e)?((e,t,n)=>{br(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=fr(e.parametersValues[0],xS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(O_(i.functionName,[Pft.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),xXi.process(i,n,t);const r=fr(t.fetchStructureState.implementation,bUi),s=fr(e.parametersValues[1],SS,"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(dXi.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,SS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),xXi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(oBi.TABULAR_DATA_STRUCTURE),br(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=fr(e.parametersValues[0],xS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(O_(i.functionName,[Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE,Pft.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),xXi.process(i,n,t);const r=e.parametersValues[1];gr(r,mS,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>xXi.processChild(i,e,n,t));const s=e.parametersValues[2];gr(s,mS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>xXi.processChild(i,e,n,t));const o=e.parametersValues[3];gr(o,mS,"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(hmt).filter(cr);t.fetchStructureState.implementation instanceof bUi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.TDS_AGG))((e,t,n,i)=>{if(br(Boolean(t&&O_(t.functionName,Pft.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"),xXi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof bUi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=dr(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];gr(s,NS,"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],xS,"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,NS,"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 xS?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],hS,"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 PVi&&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(O_(t,Pft.OLAP_GROUPBY))SXi(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.SERIALIZE))fXi(e,this.queryBuilderState,this.parentLambda);else if(O_(t,Pft.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(oBi.GRAPH_FETCH),br(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=fr(e.parametersValues[0],xS,"Can't process externalize() expression: only support externalize() immediately following an expression");if(br(O_(i.functionName,[Pft.GRAPH_FETCH,Pft.GRAPH_FETCH_CHECKED,Pft.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),xXi.process(i,n,t),t.fetchStructureState.implementation instanceof gHi){const n=t.fetchStructureState.implementation,r=fr(i.parametersValues[1],MS,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=fr(r.values[0],kS,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(eHi(s));const o=fr(e.parametersValues[1],pS,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=fr(fr(o.values[0],__,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,FK,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new pHi(n,a,void 0);n.setSerializationState(l);const c=fr(e.parametersValues[2],MS,"Can't process externalize() expression: externalize() graph-fetch is missing"),u=fr(c.values[0],kS,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(eHi(u))}})(e,this.queryBuilderState,this.parentLambda);else if(O_(t,[Pft.GRAPH_FETCH_CHECKED,Pft.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],xS,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);br(O_(r.functionName,[Pft.FILTER,Mft.GET_ALL,Mft.GET_ALL_VERSIONS,Mft.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),xXi.process(r,n,t),t.fetchStructureState.implementation instanceof gHi&&t.fetchStructureState.implementation.setChecked(O_(e.functionName,Pft.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(O_(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],gS,"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 dS?new ZKi(t,s,o.content):EXi(o)?new KKi(t,s,o):new ZKi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(O_(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,pS,"Can't process from() expression: only support from() with 1st parameter as instance value");r=fr(fr(e.values[0],__,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,GS,"Can't process from() expression: only support from() with 1st parameter as mapping value")}const s=fr(i,pS,"Can't process from() expression: only support from() with 2nd parameter as instance value"),o=fr(fr(s.values[0],__,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,jS,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),a=new QBi(t);a.setMapping(r),a.setRuntimeValue(new cW(C_.create(o))),t.setExecutionContextState(a)})(e,this.queryBuilderState),void xXi.processChild(dr(t[0]),e,this.parentLambda,this.queryBuilderState)}if(O_(t,Object.values(Lft)))return this.queryBuilderState.isCalendarEnabled=!0,br(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void xXi.processChild(dr(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);if(O_(t,Pft.WAVG_ROW_MAPPER))((e,t,n,i)=>{if(br(Boolean(t&&O_(t.functionName,Pft.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,TS,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),xXi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof bUi){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(!O_(t,Pft.RELATION_EXTEND))throw new yi(`Can't process expression of function ${t}()`);wXi(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"),!O_(this.parentExpression.functionName,[Pft.TDS_PROJECT,Pft.RELATION_PROJECT,Pft.TDS_GROUP_BY,Pft.TDS_AGG,Pft.WAVG_ROW_MAPPER,...Object.values(Lft)]))throw new yi(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);yXi(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 xXi(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"),O_(this.parentExpression.functionName,[Pft.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 NS){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 TS)yXi(i,e.name,this.queryBuilderState);else if(i instanceof ES){const t=i.func,n=fr(t,$_,"Can`t process col spec: function1 lambda function does not contain a relation column");bXi(i,e.name,n,this.queryBuilderState)}else i instanceof dS&&(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),_Xi(i,e.name,this.parentExpression,this.queryBuilderState))}else{if(!(t instanceof dS))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"),_Xi(t,e.name,this.parentExpression,this.queryBuilderState)}})}if(O_(this.parentExpression.functionName,[Pft.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&&O_(t.functionName,Pft.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=fr(e.function1,NS,"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,NS,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof bUi){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],xS,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=fr(a.functionType.parameters[0],hS,"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 PVi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=fr(t?.genericType?.value.typeArguments?.[0]?.value.rawType,q_,"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?H_.create(new Y_(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 TXi=(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 hS&&Gft(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&&oE(i,t)&&(r=n.value)}});const s=new YBi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},AXi=(e,t,n)=>{e.functionType.parameters.length&&TXi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>xXi.process(n,e,t))},RXi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),xie.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:xie.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 dFi(e.target.value,sFi.ABSOLUTE_DATE))}})})},NXi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),xie.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:xie.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 dFi(e.target.value,sFi.ABSOLUTE_TIME))}})})},IXi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Ipt(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,u]=n.useState(t.unit??oFi.DAYS),[d,h]=n.useState(t.direction??cFi.BEFORE),[p,g]=n.useState(t.referenceMoment??uFi.TODAY),f=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new hFi(sFi.CUSTOM_DATE,sFi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=fFi.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()},[]),xie.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.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)}})}),xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.jsx(oFe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(oFi).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})}),xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.jsx(oFe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(cFi).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})}),xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.jsx(oFe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(uFi).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})})]})},DXi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Ipt(),o=n.useRef(null),[a,l]=n.useState(t instanceof pFi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.jsx(oFe,{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(aFi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(uFi).filter(t=>t.toString().includes(e)),n=t.length>0?new pFi(dr(t[0]?.toString()),e):new pFi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},kXi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Ipt(),o=n.useRef(null),[a,l]=n.useState(t instanceof gFi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:xie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:xie.jsx(oFe,{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(lFi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new gFi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},OXi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,u=Ipt(),d=o.match?Object.values([sFi.ABSOLUTE_TIME,sFi.NOW]):Object.values(sFi),[h,p]=n.useState(_Fi(t,u)),[g,f]=n.useState(null),m=e=>{f(e.currentTarget)};return n.useEffect(()=>{p(_Fi(t,u))},[u,t]),xie.jsxs(xie.Fragment,{children:[a?xie.jsx("span",{className:woe("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}"`:xie.jsx(xie.Fragment,{children:"        "})}):xie.jsx("button",{className:woe("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"}),xie.jsxs(FSe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(_Fi(t,u))}}},anchorEl:g,onClose:()=>{p(_Fi(t,u)),f(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[xie.jsx(RFe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new dFi(e.target.value,e.target.value);if(sFi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:Xb.LATESTDATE});else if(![sFi.ABSOLUTE_DATE,sFi.ABSOLUTE_TIME,sFi.CUSTOM_DATE,sFi.FIRST_DAY_OF,sFi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=fFi.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 sFi.ABSOLUTE_DATE:return xie.jsx(RXi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case sFi.ABSOLUTE_TIME:return xie.jsx(NXi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case sFi.CUSTOM_DATE:return xie.jsx(IXi,{customDateOptionValue:bFi(t,u),updateValueSpecification:r,setDatePickerOption:p});case sFi.FIRST_DAY_OF:return xie.jsx(DXi,{customDateAdjustOptionValue:_Fi(t,u),updateValueSpecification:r,setDatePickerOption:p});case sFi.PREVIOUS_DAY_OF_WEEK:return xie.jsx(kXi,{customDateAdjustOptionValue:_Fi(t,u),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},LXi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return xie.jsx(ZCe,{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:xie.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[xie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[xie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),xie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),xie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[xie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),xie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),xie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[xie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),xie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:aE(t.multiplicity)})]})]}),children:n})},MXi="VARIABLE",PXi=boe(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return xie.jsxs(xie.Fragment,{children:[xie.jsx(fUe,{labelGetter:e=>e.variable.name,types:[MXi]}),xie.jsxs("div",{className:woe("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[xie.jsx("div",{className:"value-spec-editor__variable__icon",children:i?xie.jsx("div",{className:"icon",children:"C"}):xie.jsx(Wre,{})}),xie.jsxs("div",{className:"value-spec-editor__variable__label",children:[xie.jsx("div",{className:"value-spec-editor__variable__text",children:s}),xie.jsx(LXi,{variable:t,children:xie.jsx("div",{className:"value-spec-editor__variable__info",children:xie.jsx(sse,{})})}),xie.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:xie.jsx(Kie,{})})]})]})]})}),FXi=boe(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=Ipt(),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 xie.jsxs("div",{className:woe("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==w&&a?.()},children:[g?xie.jsx(oFe,{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}):xie.jsx(ETe,{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}),xie.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:xie.jsx(Kie,{})})]})})),BXi=boe(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return xie.jsxs("div",{className:woe("value-spec-editor",s),children:[xie.jsx("button",{role:"checkbox",className:woe("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?xie.jsx(Mre,{}):xie.jsx(Cse,{})}),xie.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:xie.jsx(Kie,{})})]})}),VXi=boe(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(u3n(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 xie.jsxs("div",{className:woe("value-spec-editor",u),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==C&&e.relatedTarget?.name!==S&&l?.()},children:[xie.jsxs("div",{className:"value-spec-editor__number__input-container",children:[xie.jsx("input",{ref:m,className:woe("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&&xie.jsx("div",{className:"value-spec-editor__number__actions",children:xie.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:S,onClick:b,disabled:h,children:xie.jsx(ire,{})})})]}),xie.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:xie.jsx(Kie,{})})]})})),UXi=boe(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 xie.jsxs("div",{className:woe("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[xie.jsx(oFe,{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}),xie.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:d,children:xie.jsx(Kie,{})})]})}),GXi=e=>0===e.length?"":((e,t)=>pm.unparse(e,t))([e.map(e=>e instanceof gS?e.values[0]:e instanceof fS?dr(e.values[0]).value.name:void 0).filter(cr)]).trim(),HXi=e=>{if(e instanceof V_)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 Nx))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"}}},zXi=boe(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:u,readOnly:d}=e,h=Ipt(),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===V_.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 xie.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[xie.jsx(oFe,{className:woe("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:HXi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:d}),xie.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:xie.jsx(Gre,{})}),xie.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:d,children:xie.jsx(yse,{})})]})}),jXi=boe(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 xie.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==b&&e.relatedTarget?.name!==_&&w()},children:[xie.jsx(oFe,{className:woe("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}),xie.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:xie.jsx(Gre,{})}),xie.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:w,disabled:d,children:xie.jsx(yse,{})})]})}),WXi=boe(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?xie.jsx(xie.Fragment,{children:xie.jsx("div",{className:woe("value-spec-editor",l),children:void 0!==h?xie.jsx(jXi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,enumOptions:h,selectorConfig:u,lightMode:p,readOnly:g}):xie.jsx(zXi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,selectorSearchConfig:c,selectorConfig:u,lightMode:p,readOnly:g})})}):xie.jsxs("div",{className:woe("value-spec-editor",l),onClick:g?()=>{}:()=>m(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[xie.jsx("div",{className:woe("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:y}),xie.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:xie.jsx(jie,{})})]})}),$Xi=()=>xie.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),qXi=boe(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return xie.jsxs("div",{className:woe("value-spec-editor",l),children:[xie.jsx(OXi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof gS&&!imt(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&xie.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:xie.jsx(Kie,{})})]})}),YXi=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=Ipt(),y=e=>!imt(e),b=e=>e instanceof xS?"":e.values[0],_=(e,t,n)=>{t instanceof hFi?a(((e,t,n)=>{const i=new xS(Pft.ADJUST);if(Yft(i,vFi(new dFi(dr(e.referenceMoment),dr(e.referenceMoment)),t,n),n),e.direction===cFi.BEFORE){const r=new xS(Pft.MINUS);Yft(r,SFi(t,Xb.INTEGER,e.duration,n),n),Yft(i,r,n)}else Yft(i,SFi(t,Xb.INTEGER,e.duration,n),n);const r=new fS(H_.create(new Y_(t.getType(Oft.DURATION_UNIT))));return Qft(r,[...r.values,cC.create(dr(yFi(dr(e.unit),t)))],n),Yft(i,r,n),jft(i,H_.create(new Y_(V_.DATE))),i})(t,r,s)):t instanceof pFi||t instanceof gFi||t instanceof dFi?a(vFi(t,r,s)):e instanceof xS?a(SFi(r,dr(n?.primitiveTypeEnum),t,s)):e instanceof pS?(Zft(e,t,0,s),e.genericType.value.rawType.path!==dr(n?.primitiveTypeEnum)&&jft(e,H_.create(new Y_((e=>{switch(e){case Xb.STRING:return V_.STRING;case Xb.BOOLEAN:return V_.BOOLEAN;case Xb.BINARY:return V_.BINARY;case Xb.NUMBER:return V_.NUMBER;case Xb.INTEGER:return V_.INTEGER;case Xb.FLOAT:return V_.FLOAT;case Xb.DECIMAL:return V_.DECIMAL;case Xb.DATE:return V_.DATE;case Xb.STRICTDATE:return V_.STRICTDATE;case Xb.DATETIME:return V_.DATETIME;case Xb.STRICTTIME:return V_.STRICTTIME;case Xb.LATESTDATE:return V_.LATESTDATE;case Xb.BYTE:return V_.BYTE;default:throw new Error(`Unable to get PrimitiveType class for type ${e}`)}})(dr(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===Xb.LATESTDATE&&a(SFi(r,Xb.LATESTDATE,t,s))};if(i instanceof gS){const e=i.genericType.value.rawType,r=e=>e.values[0],d=(e,t)=>{Zft(e,t,0,s),a(e)};switch(e.path){case Xb.STRING:return xie.jsx(FXi,{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 xie.jsx(BXi,{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 xie.jsx(VXi,{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 xie.jsx(qXi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof gS&&y(e),readOnly:f});default:return xie.jsx($Xi,{})}}else{if(i instanceof fS){const e=fr(i.genericType?.value.rawType,eC),t=e.values.map(e=>({label:e.name,value:e.name}));return xie.jsx(UXi,{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}`);Zft(t,cC.create(i),0,s),a(t)},errorChecker:e=>!imt(e),handleBlur:h,selectorConfig:u,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:f})}if(i instanceof mS&&i.genericType){const e=(e,t)=>{Qft(e,t,s),a(e)},t=(e,t)=>{if(e instanceof eC){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new fS(H_.create(new Y_(e)));return Qft(t,[cC.create(n)],s),nne(t,s)}}else{const n=NFi(fr(e,R_),t,s);if(n)return nne(n,s)}return null},r=o.expectedType instanceof eC?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return xie.jsx(WXi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:u,stringifyCollectionValueSpecification:e=>GXi(e.values),errorChecker:y,convertValueSpecificationToText:e=>RFi(e,v,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:f})}if(i instanceof hS)return xie.jsx(PXi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(d)});if(i instanceof IS)return xie.jsx(YXi,{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 xS){if(sE(o.expectedType,V_.DATE))return EXi(i)?xie.jsx(qXi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:f}):xie.jsx($Xi,{});if(sE(o.expectedType,V_.NUMBER)&&O_(i.functionName,Pft.MINUS)){const e=gmt(i,s);if(e instanceof gS&&sE(e.genericType.value.rawType,V_.NUMBER))return xie.jsx(VXi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===V_.INTEGER,updateValueSpecification:(e,t)=>{Zft(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:f})}}}return xie.jsx($Xi,{})}),KXi=boe(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=Ipt(),[m,v]=n.useState(d??!1),y=n.useRef(null);n.useEffect(()=>{m&&y.current?.focus()},[m,y]);const b=t instanceof gS&&!sE(t.genericType.value.rawType,V_.DATE)&&t.genericType.value.rawType!==V_.BOOLEAN||t instanceof fS,_=m||!b,C=RFi(t,f,{omitEnumOwnerName:!0});return _?xie.jsx(YXi,{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}):xie.jsx("div",{className:"value-spec-editor__editable__display",children:xie.jsx("span",{className:woe("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof pS&&!imt(t)}),onClick:h?()=>{}:()=>{v(!0)},style:{cursor:h?"not-allowed":""},children:g?`"${void 0!==C?C:""}"`:C})})}),XXi=(e,t)=>{if(e instanceof xS){const n=_Fi(e,t.applicationStore).label;if(n)return n}return RFi(e,t.applicationStore)},ZXi=boe(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return xie.jsxs(yFe,{ref:t,children:[i?.map(e=>xie.jsx(bFe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&xie.jsx(bFe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&xie.jsx(bFe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),QXi=boe(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?XXi(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?XXi(v,o):void 0,b=s||c,_=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,w]=MVe(()=>({type:MXi,item:{variable:t}}),[t]),E=n.useRef(null);return S(E),gUe(w),xie.jsx("div",{className:"query-builder__variables__variable",ref:E,children:xie.jsxs(wFe,{content:xie.jsx(ZXi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:woe("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:[xie.jsx(fUe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[MXi]}),xie.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[xie.jsx("div",{className:"query-builder__variables__variable__icon",children:xie.jsx("div",{className:"query-builder__variables__variable-icon",children:h?xie.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):xie.jsx(Wre,{})})}),xie.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?xie.jsxs("div",{className:woe("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&xie.jsx(Rre,{title:"Calculated Constant"})]}):xie.jsxs("div",{className:"query-builder__variables__variable__type",children:[xie.jsx("div",{className:"query-builder__variables__variable__type__label",children:f??"unknown"}),m&&xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&xie.jsx("div",{className:"query-builder__constants__value",children:y})]})]})]})]}),r&&xie.jsxs("div",{className:"query-builder__variables__variable__actions",children:[xie.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:xie.jsx(jie,{})}),xie.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:b,title:_,children:xie.jsx(wse,{})}),xie.jsx(LXi,{variable:t,children:xie.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:xie.jsx(sse,{})})})]})]})})}),JXi=boe(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 xie.jsxs(xie.Fragment,{children:[xie.jsxs(zFe,{title:"Available parameters",children:[0===i.length&&xie.jsx(xie.Fragment,{children:" No available parameters "}),i.map(e=>xie.jsx(QXi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&xie.jsx(zFe,{title:"Available constants",children:r.map(e=>xie.jsx(QXi,{variable:e.variable,value:{val:e instanceof KKi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),eZi=boe(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=>{qft(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=UVe(()=>({accept:[MXi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!oE(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),u=t.queryBuilderState,d=e=>{e instanceof TS&&Uft(e,u)&&e.func.value.genericType.value.rawType instanceof K_&&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:dgt.CAUTION,actions:[{label:"Proceed",type:hgt.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:hgt.PROCEED,handler:u.applicationStore.guardUnhandledError(async()=>(e=>{const t=Kw(fr(e.func.value.genericType.value.rawType,K_),u.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof IS&&!Hft(t,i,n.getValue(),u.milestoningState)){const n=new IS(()=>dr(u.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,qft(fr(e,TS),dr(n),i+1,u.observerContext)}})})(e))}]})},h=dr(t.parameterValues[r]);return xie.jsxs("div",{className:"panel__content__form__section",children:[xie.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),xie.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),xie.jsx("div",{className:"query-builder__variable-editor",children:xie.jsx(uUe,{isDragOver:l,dropTargetConnector:c,children:xie.jsx(YXi,{valueSpecification:h,setValueSpecification:e=>{qft(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===V_.DATETIME},resetValue:()=>{qft(t.propertyExpression,zft(t,r)??kFi(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)})})}),xie.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),tZi=boe(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return xie.jsxs("div",{className:"query-builder-property-editor__section",children:[xie.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&xie.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>xie.jsx(eZi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),nZi=boe(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return xie.jsx(Yye,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:xie.jsxs(cFe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[xie.jsx(dFe,{title:"Derived Property"}),xie.jsxs(pFe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>xie.jsx(tZi,{derivedPropertyExpressionState:e},e.path)),xie.jsx(pFe,{className:"query-builder__variables__modal__body",children:xie.jsx(JXi,{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&&(oE(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),xie.jsx(gFe,{children:xie.jsx(mFe,{text:"Done",onClick:i})})]})})}),iZi=boe(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return xie.jsx("div",{className:"query-builder__property__name__display",title:n,children:xie.jsx("span",{className:woe("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),rZi=boe(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?xie.jsx("div",{className:"query-builder__property__name__editor",children:xie.jsx(ETe,{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()}})}):xie.jsx(iZi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),sZi=boe(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 xie.jsx("div",{className:"query-builder-property-expression-badge",children:xie.jsxs("div",{className:woe("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof K_,"query-builder-property-expression-badge__content--enumeration":s instanceof eC,"query-builder-property-expression-badge__content--primitive":s instanceof V_}),children:[xie.jsx(rZi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:IFi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&xie.jsxs("button",{className:woe("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&&xie.jsx(sse,{})," (...)"]}),xie.jsx(nZi,{propertyExpressionState:n})]})})}),oZi=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 xie.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[xie.jsx(Sse,{className:"query-builder-panel-issue-count-badge__icon"}),xie.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},aZi=e=>{if(e instanceof V_||e instanceof U_){const t=amt(e)??e.path;if(t===Xb.STRING)return xie.jsx(Wie,{className:"query-builder-column-badge__icon"});if(t===Xb.BOOLEAN)return xie.jsx(Ese,{className:"query-builder-column-badge__icon"});if(t===Xb.NUMBER||t===Xb.INTEGER||t===Xb.FLOAT||t===Xb.DECIMAL)return xie.jsx(rse,{className:"query-builder-column-badge__icon"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return xie.jsx(Bre,{className:"query-builder-column-badge__icon"})}else if(e instanceof eC)return xie.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},lZi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=_i(()=>(e=>{if(e instanceof $Fi||e instanceof HVi)return A_.ONE;if(e instanceof GFi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new yi("Can't get multiplicity for column",e)})(t));return xie.jsx(ZCe,{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:xie.jsxs("div",{className:"query-builder__tooltip__content",children:[xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&xie.jsxs("div",{className:"query-builder__tooltip__item",children:[xie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),xie.jsx("div",{className:"query-builder__tooltip__item__value",children:aE(s)})]})]}),children:i})},cZi=(e,t)=>{switch(t){case VFi:return e.columnState.getColumnType();case fGi.ENUM_PROPERTY:case fGi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case MXi:return e.variable.genericType?.value.rawType;case FVi:return e.columnState.getColumnType();default:return}},uZi=[fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY,VFi,fGi.RELATION_COLUMN],dZi=[fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY,fGi.RELATION_COLUMN],hZi=[wBi.CONDITION,fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY,VFi,fGi.RELATION_COLUMN],pZi=[wBi.CONDITION,fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY,fGi.RELATION_COLUMN],gZi=[fGi.ENUM_PROPERTY,fGi.PRIMITIVE_PROPERTY,VFi,MXi],fZi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof TS||r instanceof xS&&O_(r.functionName,Pft.SUBTYPE);){let e;r instanceof xS?e=new xS(I_(Pft.SUBTYPE)):(e=new TS(""),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,hS)],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 TS&&(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 hS(o[l],A_.ONE)),l++)}if(n)if(n instanceof MBi){const e=a.findIndex(e=>e instanceof TS&&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 MBi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof MBi){const i=a.findIndex(t=>t instanceof TS&&e instanceof MBi&&t.func.value===fr(e,MBi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof FBi?t.newGroupConditionFromNode(n):n instanceof LBi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof FBi?t.newGroupConditionFromNode(n):n instanceof LBi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new MBi(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 DBi(t,a[a.length-1]),u=new FBi(void 0,c);u.setIsNewlyAdded(!0),t.addNodeFromNode(u,s),n instanceof BBi&&t.removeNodeAndPruneBranch(n)},mZi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof MBi&&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 TS("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof TS||n instanceof xS&&O_(n.functionName,Pft.SUBTYPE);){if(n instanceof xS){const e=new xS(I_(Pft.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof TS){const e=new TS("");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],TS,"Can't process exists() expression: can't flatten to a property expression")}return fr(SBi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),TS)},vZi=(e,t,n)=>{if(EBi(e)){const i=IFi(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:dgt.CAUTION,actions:[{label:"Cancel",type:hgt.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:hgt.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>fZi(e,t,n))}]})}else{const i=new DBi(t,e),r=new FBi(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 MBi&&(s=o);if(o instanceof MBi&&(s=o),n instanceof LBi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof BBi)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 MBi)t.newGroupConditionFromNode(s,r);else if(n instanceof FBi){const e=t.getParentNode(n);if(s&&e instanceof MBi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,dBi.AND);else if(s&&e instanceof LBi){const i=mZi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);fZi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},yZi=boe(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===dBi.AND?"AND":"OR";return xie.jsx("div",{className:"dnd__entry__container",children:xie.jsx(pUe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:xie.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===dBi.AND?dBi.OR:dBi.AND)},children:xie.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),bZi=boe(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return xie.jsx("div",{className:"dnd__entry__container",children:xie.jsx(pUe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:xie.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[xie.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:IFi(t.propertyExpressionState.propertyExpression,n)}),xie.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&xie.jsxs("button",{className:woe("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&&xie.jsx(sse,{})," (...)"]}),xie.jsx(nZi,{propertyExpressionState:t.propertyExpressionState})]})})})}),_Zi=boe(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return xie.jsx("div",{className:"query-builder-filter-property-expression-badge",children:xie.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[xie.jsx("div",{className:woe("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof K_,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof eC,"query-builder-filter-property-expression-badge__type--primitive":i instanceof V_}),children:aZi(i)}),xie.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:xie.jsx(sZi,{propertyExpressionState:t.propertyExpressionState})}),xie.jsx(TUi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:xie.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:xie.jsx(sse,{})})}),xie.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:xie.jsx(Kie,{})})]})})}),CZi=(e,t)=>{const n=t.operator,i=t.leftConditionType;return!(n instanceof vqi)&&!(n instanceof yqi)&&lmt(e,i)},SZi=boe(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Ipt(),l=PBi(t),c=n.useCallback((e,n)=>{const i=cZi(e,n);if(void 0!==i&&CZi(i,t.condition))try{if((n===VFi||n===fGi.ENUM_PROPERTY||n===fGi.PRIMITIVE_PROPERTY)&&l)throw new yi("Collection filter does not support property for filter condition value.");if(n===VFi){const n=e.columnState;if(!(n instanceof GFi))throw new yi("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(EBi(e))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new LFi(s,EFi(e,s.observerContext)))}}else if(n===fGi.ENUM_PROPERTY||n===fGi.PRIMITIVE_PROPERTY){const n=e.node,i=new LFi(s,EGi(n,t.condition.filterState.queryBuilderState.explorerState));if(EBi(i.propertyExpression))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===MXi){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]=UVe(()=>({accept:gZi,canDrop:(e,n)=>CZi(cZi(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}=PVe(e=>({isFilterValueDroppable:e.isDragging()&&gZi.includes(e.getItemType()?.toString()??"")&&CZi(cZi(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=NFi(V_.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]),xie.jsx("div",{className:"dnd__entry__container","data-testid":RUi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:xie.jsx(pUe,{isDragOver:i&&!u,alwaysShowChildren:!0,children:xie.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[xie.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:t.condition.sourceState instanceof NBi?xie.jsx(sZi,{propertyExpressionState:t.condition.sourceState.propertyExpressionState}):xie.jsx("div",{className:"query-builder-filter-tree__condition-node__property__label",children:t.condition.sourceState.label})}),xie.jsxs(EFe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:xie.jsx(yFe,{children:t.condition.operators.map(e=>{return xie.jsx(bFe,{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:[xie.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),xie.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:xie.jsx(Ire,{})})]}),o instanceof TBi&&o.value?xie.jsx("div",{ref:h,"data-testid":RUi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:xie.jsx(pUe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:xie.jsx(KXi,{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 ABi?xie.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:xie.jsx(pUe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:xie.jsx(_Zi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),wZi=boe(e=>{const{isDragOver:t,isDroppable:n}=e;return xie.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:xie.jsx(pUe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:xie.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),EZi=boe(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return xie.jsxs(yFe,{ref:t,children:[i instanceof LBi&&xie.jsx(bFe,{onClick:()=>{r.addNodeFromNode(new BBi(void 0),i)},children:"Add New Condition"}),i instanceof LBi&&xie.jsx(bFe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof FBi&&xie.jsx(bFe,{onClick:()=>{Tft.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),xie.jsx(bFe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),xZi=boe(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Ipt(),u=s.filterState,d=n.useCallback((e,n)=>{if(wBi.CONDITION===n){const n=e.node,i=new FBi(void 0,u.nodes.get(n.id).condition);t instanceof BBi?(u.replaceBlankNodeWithNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof FBi?(u.newGroupWithConditionFromNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof LBi&&(u.addNodeFromNode(i,t),u.removeNodeAndPruneBranch(n))}else{let i;try{if(n===fGi.RELATION_COLUMN){const t=e.node,n=new IBi(t.column.name,t.type);i=new DBi(u,n)}else{let t;if(n===VFi){if(!(e.columnState instanceof GFi))throw new yi("Dragging and Dropping derivation projection column is not supported.");t=EFi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=EGi(e.node,u.queryBuilderState.explorerState);i=new DBi(u,t)}}catch(e){return bi(e),void c.notificationService.notifyWarning(e.message)}if(t instanceof OBi||t instanceof FBi||t instanceof BBi)if(i.sourceState instanceof IBi){const e=new FBi(void 0,i);e.setIsNewlyAdded(!0),t instanceof BBi?u.replaceBlankNodeWithNode(e,t):t instanceof FBi?u.newGroupWithConditionFromNode(e,t):u.addNodeFromNode(e,t)}else vZi(i.propertyExpressionState.propertyExpression,u,t)}},[c,u,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=UVe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?hZi:pZi,drop:(e,t)=>{t.didDrop()||d(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[d]),[,f,m]=MVe(()=>({type:t instanceof LBi?wBi.GROUP_CONDITION:t instanceof FBi?wBi.CONDITION:wBi.BLANK_CONDITION,item:()=>({node:t}),end:()=>u.setRearrangingConditions(!1),canDrag:()=>t instanceof FBi||t instanceof BBi}),[t,u]);f(g(o)),gUe(m);const{isDroppable:v}=PVe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?hZi:pZi).includes(e.getItemType()?.toString()??"")})),y=t instanceof MBi&&0===t.childrenIds.length,b=t instanceof FBi||t instanceof BBi||y;return xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:woe("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof LBi,"query-builder-filter-tree__node__container--condition":t instanceof FBi||t instanceof BBi,"query-builder-filter-tree__node__container--exists":t instanceof MBi,"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:xie.jsxs(wFe,{content:xie.jsx(EZi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof FBi||t instanceof BBi?()=>i?.(t):void 0,children:[t instanceof LBi&&xie.jsx(yZi,{node:t,isDroppable:v,isDragOver:h}),t instanceof MBi&&xie.jsx(bZi,{node:t,humanizePropertyName:u.queryBuilderState.explorerState.humanizePropertyName,isDroppable:v,isDragOver:h}),t instanceof FBi&&xie.jsx(SZi,{node:t,isDragOver:p}),t instanceof BBi&&xie.jsx(wZi,{node:t,isDragOver:h,isDroppable:v})]}),b&&xie.jsx("div",{className:"query-builder-filter-tree__node__actions",children:xie.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>u.removeNodeAndPruneBranch(t),children:xie.jsx(wse,{})})})]})})}),TZi=boe(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:woe("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof LBi,"query-builder-filter-tree__node__block--exists":t instanceof MBi}),children:[xie.jsx(xZi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>xie.jsx(TZi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),AZi=boe(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 OBi?e.childrenIds.map(e=>n.getNode(e)):[];return xie.jsx("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>xie.jsx(TZi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),RZi=boe(e=>{const{queryBuilderState:t}=e,i=Ipt(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof LBi),{isDroppable:a}=PVe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?uZi:dZi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{if(n===fGi.RELATION_COLUMN){const t=e.node,n=new IBi(t.column.name,t.type),i=new DBi(r,n),s=new FBi(void 0,i);s.setIsNewlyAdded(!0),r.setSelectedNode(void 0),r.addNodeFromNode(s,void 0)}else{let i;if(n===VFi){if(!(e.columnState instanceof GFi))throw new yi("Dragging and Dropping derivation projection column is not supported.");i=EFi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=EGi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),vZi(i,r)}}catch(e){return bi(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},u]=UVe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?uZi:dZi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),d=n.useRef(null);return u(d),xie.jsxs("div",{"data-testid":RUi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[xie.jsxs("div",{className:"panel__header",children:[xie.jsxs("div",{className:"panel__header__title",children:[xie.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&xie.jsx(oZi,{issues:r.allValidationIssues})]}),xie.jsx("div",{className:"panel__header__actions",children:xie.jsx(EFe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:xie.jsxs(yFe,{children:[xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new BBi(void 0),r.selectedNode)},children:[xie.jsx(CFe,{children:xie.jsx(gse,{})}),xie.jsx(SFe,{children:"Create Condition"})]}),xie.jsxs(bFe,{disabled:!(r.selectedNode instanceof FBi),onClick:()=>{Tft.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof FBi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[xie.jsx(CFe,{children:xie.jsx(Fse,{})}),xie.jsx(SFe,{children:"Create Group From Condition"})]}),xie.jsxs(bFe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{Tft.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[xie.jsx(CFe,{children:xie.jsx(dse,{})}),xie.jsx(SFe,{children:"Create Logical Group"})]}),xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[xie.jsx(CFe,{children:xie.jsx(xse,{})}),xie.jsx(SFe,{children:"Cleanup Tree"})]}),xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[xie.jsx(CFe,{children:xie.jsx(Pre,{})}),xie.jsx(SFe,{children:"Simplify Tree"})]}),xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[xie.jsx(CFe,{children:xie.jsx(Ure,{})}),xie.jsx(SFe,{children:"Collapse Tree"})]}),xie.jsxs(bFe,{onClick:()=>{Tft.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[xie.jsx(CFe,{children:xie.jsx(Kre,{})}),xie.jsx(SFe,{children:"Expand Tree"})]})]}),children:xie.jsx($ie,{className:"query-builder__icon__more-options"})})})]}),xie.jsx(LFe,{children:xie.jsxs(uUe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:u,children:[r.isEmpty&&xie.jsx($Fe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&xie.jsxs(xie.Fragment,{children:[xie.jsx(fUe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(wBi)}),xie.jsx(AZi,{queryBuilderState:t})]}),a&&!r.isEmpty&&xie.jsx("div",{ref:d,className:"query-builder-filter-tree__free-drop-zone__container",children:xie.jsx(pUe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:xie.jsx(xie.Fragment,{})})})]})})]})}),NZi=boe(e=>{const{resultState:t}=e,i=Ipt(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return xie.jsx(Yye,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:xie.jsxs(cFe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[xie.jsx(dFe,{title:"Query Usage"}),xie.jsx(pFe,{className:"query-builder__usage-viewer__body",children:xie.jsxs(xie.Fragment,{children:[0===r.length?xie.jsx(jFe,{children:"Query usage is not available"}):xie.jsxs(xie.Fragment,{children:[xie.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:xie.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>xie.jsxs("button",{className:woe("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&&xie.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),xie.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),xie.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),xie.jsx(FFe,{})]})}),xie.jsx(gFe,{children:xie.jsx(mFe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var IZi;function DZi(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=DZi(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"}(IZi||(IZi={}));var kZi,OZi={exports:{}},LZi={};var MZi,PZi,FZi={};
902
902
  /**
903
903
  * @license React
904
904
  * use-sync-external-store-shim/with-selector.development.js