orcaq 1.0.28 → 1.0.30
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.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{S6q6IfIg.js → 6I72R6kW.js} +1 -1
- package/.output/public/_nuxt/{W0T58tNs.js → 8_EuFD3X.js} +1 -1
- package/.output/public/_nuxt/B6H7odCi.js +1 -0
- package/.output/public/_nuxt/B7nSJBpY.js +1 -0
- package/.output/public/_nuxt/{B-o1cyu1.js → BBNxNerU.js} +1 -1
- package/.output/public/_nuxt/BDKd-SA5.js +1 -0
- package/.output/public/_nuxt/{DAsY4LnG.js → BDRdbLz0.js} +1 -1
- package/.output/public/_nuxt/{T2yrk5P8.js → BKWWO5HE.js} +1 -1
- package/.output/public/_nuxt/{DhSSuHOz.js → BV6TSzbC.js} +4 -1
- package/.output/public/_nuxt/{BranJUWp.js → BVKG-F8j.js} +1 -1
- package/.output/public/_nuxt/{BHFnD9yO.js → BoGW82nK.js} +1 -1
- package/.output/public/_nuxt/Bs_ItSbk.js +1 -0
- package/.output/public/_nuxt/{BZEKLHO-.js → Btu7FO8S.js} +1 -1
- package/.output/public/_nuxt/C04Tz2vC.js +67 -0
- package/.output/public/_nuxt/{DNmOzKte.js → C4JPKbJK.js} +1 -1
- package/.output/public/_nuxt/{B7iORLht.js → C5KSeJUi.js} +5 -5
- package/.output/public/_nuxt/CDnZBTSk.js +1 -0
- package/.output/public/_nuxt/CKq06U7u.js +19 -0
- package/.output/public/_nuxt/{vU5dtBjy.js → CQpD-JHn.js} +1 -1
- package/.output/public/_nuxt/{DdMwxl0I.js → C_CjS9Yt.js} +1 -1
- package/.output/public/_nuxt/{BRpeq4XL.js → Chcc8yNZ.js} +1 -1
- package/.output/public/_nuxt/{Dwm3kp4S.js → ClnidwGv.js} +86 -86
- package/.output/public/_nuxt/{BV4_2PzU.js → CpzDNDcD.js} +1 -1
- package/.output/public/_nuxt/Cs1HkKH7.js +1 -0
- package/.output/public/_nuxt/{DgPgl0Vt.js → CsYOf3m-.js} +1 -1
- package/.output/public/_nuxt/{Ds4ET3BG.js → CtRc_P0d.js} +27 -27
- package/.output/public/_nuxt/Ctr2mpV9.js +2 -0
- package/.output/public/_nuxt/{SzZsnvJ-.js → CzF1NEwP.js} +1 -1
- package/.output/public/_nuxt/{D4jtSPyP.js → D2j2esR5.js} +2 -2
- package/.output/public/_nuxt/D4ZGn1tW.js +1 -0
- package/.output/public/_nuxt/{B3XOCDJg.js → D6YseYA6.js} +1 -1
- package/.output/public/_nuxt/{CbjqLbgu.js → D7EPcL9i.js} +1 -1
- package/.output/public/_nuxt/{DfL_wWxk.js → DCMJS6Fh.js} +1 -1
- package/.output/public/_nuxt/{rdXrKZa8.js → DFd73eNR.js} +1 -1
- package/.output/public/_nuxt/{BUuSKT2f.js → DQiMjOqm.js} +15 -15
- package/.output/public/_nuxt/{BQAF7cM_.js → DVe5MHjS.js} +1 -1
- package/.output/public/_nuxt/{BsnN2mQb.js → D_G1mAJ8.js} +2 -2
- package/.output/public/_nuxt/{DM73sEXg.js → De1hkrJC.js} +1 -1
- package/.output/public/_nuxt/DlfHMoPT.js +1 -0
- package/.output/public/_nuxt/{BIW9Rd2L.js → DnCs9xpG.js} +1 -1
- package/.output/public/_nuxt/DvJ2MjiW.js +2 -0
- package/.output/public/_nuxt/DynamicTable.B3c2woGb.css +1 -0
- package/.output/public/_nuxt/{CAcIcjka.js → DzJD_fir.js} +3 -3
- package/.output/public/_nuxt/{UrLgZoyE.js → Dzr_z_mY.js} +1 -1
- package/.output/public/_nuxt/{DftZZFKd.js → FyrDS92w.js} +104 -104
- package/.output/public/_nuxt/{BlWNlw-C.js → HQyqkOpZ.js} +1 -1
- package/.output/public/_nuxt/{BwddCgOY.js → KlH93fIm.js} +1 -1
- package/.output/public/_nuxt/{iDT-eQ46.js → MLO1tLKS.js} +1 -1
- package/.output/public/_nuxt/{D8s-WG7x.js → OEVyCyyD.js} +1 -1
- package/.output/public/_nuxt/{_fileId_.B3PtfMYN.css → _fileId_.DDOcnoDQ.css} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/0ab6db39-d52b-46b9-a687-0df3b4c65db5.json +1 -0
- package/.output/public/_nuxt/builds/meta/dev.json +1 -0
- package/.output/public/_nuxt/{CQNFvXDN.js → e_Ir8LP9.js} +1 -1
- package/.output/public/_nuxt/entry.XV7TCKso.css +1 -0
- package/.output/public/_nuxt/{DpyvTVPg.js → fRxmPZZB.js} +1 -1
- package/.output/public/_nuxt/{B0pvfm-W.js → h2fvG4Xe.js} +1 -1
- package/.output/public/_nuxt/llxtZpFD.js +160 -0
- package/.output/public/_nuxt/{CQr87mff.js → q4KcRwD-.js} +1 -1
- package/.output/public/_nuxt/{Cqe10li5.js → qIKg23Pc.js} +1 -1
- package/.output/public/_nuxt/{aKVabwds.js → txD20ixW.js} +1 -1
- package/.output/public/_nuxt/{CwtNS48a.js → ubO-cWd-.js} +1 -1
- package/.output/public/_nuxt/x2HBvptj.js +1 -0
- package/.output/public/_nuxt/{lN7hePE6.js → y68LmDX2.js} +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +394 -382
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +389 -372
- package/.output/server/chunks/routes/api/ai/agent.mjs +1 -0
- package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/chat.mjs +1 -0
- package/.output/server/chunks/routes/api/ai/chat.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +1 -0
- package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/import-database.mjs +1 -0
- package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +1 -0
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/definition.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/delete.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/overview.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/rename.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/signature.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/update.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs +1 -0
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs +1 -0
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs +1 -0
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +1 -0
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs +1 -0
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +1 -0
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/execute.post.mjs +1 -0
- package/.output/server/chunks/routes/api/query/execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs +1 -0
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs +1 -0
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/export.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/meta.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/overview.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rls.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rules.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/size.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/structure.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/definition.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/explain.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/indexes.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/meta.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/overview.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -0
- package/.output/server/index.mjs +1 -0
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/bin/cli.mjs +55 -9
- package/package.json +1 -1
- package/.output/public/_nuxt/ACi_yrrw.js +0 -1
- package/.output/public/_nuxt/B-E3EDXq.js +0 -21
- package/.output/public/_nuxt/B-rj9QI0.js +0 -1
- package/.output/public/_nuxt/BDPGejuO.js +0 -2
- package/.output/public/_nuxt/BHp-OX9z.js +0 -1
- package/.output/public/_nuxt/BJdgR-zN.js +0 -1
- package/.output/public/_nuxt/BSs5g8DH.js +0 -1
- package/.output/public/_nuxt/CO-m0olR.js +0 -2
- package/.output/public/_nuxt/CQQKPHb8.js +0 -225
- package/.output/public/_nuxt/CfblXyCF.js +0 -1
- package/.output/public/_nuxt/D9SCXF1G.js +0 -1
- package/.output/public/_nuxt/DynamicTable.BW0D7NXb.css +0 -1
- package/.output/public/_nuxt/GqcI3eLm.js +0 -67
- package/.output/public/_nuxt/builds/meta/1e32d709-950d-49a3-8d61-1b3385318747.json +0 -1
- package/.output/public/_nuxt/entry.Kia9TCip.css +0 -1
- package/.output/public/_nuxt/mW-nBTJP.js +0 -1
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
import{ca as ut,aY as pC,b7 as dC,aZ as LC,ao as Sl,b8 as Ol,b1 as Xh,dQ as mC,b6 as PC,eg as yC,bO as H,U as Kh,aX as Mu,eh as DC}from"./DftZZFKd.js";var Pr,Nl;function ye(){if(Nl)return Pr;Nl=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return Pr=e,Pr}var yr,Il;function jh(){if(Il)return yr;Il=1;var e=typeof ut=="object"&&ut&&ut.Object===Object&&ut;return yr=e,yr}var Dr,hl;function we(){if(hl)return Dr;hl=1;var e=jh(),t=typeof self=="object"&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return Dr=r,Dr}var gr,_l;function gC(){if(_l)return gr;_l=1;var e=/\s/;function t(r){for(var n=r.length;n--&&e.test(r.charAt(n)););return n}return gr=t,gr}var Mr,Cl;function MC(){if(Cl)return Mr;Cl=1;var e=gC(),t=/^\s+/;function r(n){return n&&n.slice(0,e(n)+1).replace(t,"")}return Mr=r,Mr}var Ur,fl;function je(){if(fl)return Ur;fl=1;var e=we(),t=e.Symbol;return Ur=t,Ur}var br,pl;function UC(){if(pl)return br;pl=1;var e=je(),t=Object.prototype,r=t.hasOwnProperty,n=t.toString,s=e?e.toStringTag:void 0;function T(E){var i=r.call(E,s),l=E[s];try{E[s]=void 0;var o=!0}catch{}var u=n.call(E);return o&&(i?E[s]=l:delete E[s]),u}return br=T,br}var wr,dl;function bC(){if(dl)return wr;dl=1;var e=Object.prototype,t=e.toString;function r(n){return t.call(n)}return wr=r,wr}var Gr,Ll;function ke(){if(Ll)return Gr;Ll=1;var e=je(),t=UC(),r=bC(),n="[object Null]",s="[object Undefined]",T=e?e.toStringTag:void 0;function E(i){return i==null?i===void 0?s:n:T&&T in Object(i)?t(i):r(i)}return Gr=E,Gr}var vr,ml;function Ge(){if(ml)return vr;ml=1;function e(t){return t!=null&&typeof t=="object"}return vr=e,vr}var Br,Pl;function tr(){if(Pl)return Br;Pl=1;var e=ke(),t=Ge(),r="[object Symbol]";function n(s){return typeof s=="symbol"||t(s)&&e(s)==r}return Br=n,Br}var Fr,yl;function wC(){if(yl)return Fr;yl=1;var e=MC(),t=ye(),r=tr(),n=NaN,s=/^[-+]0x[0-9a-f]+$/i,T=/^0b[01]+$/i,E=/^0o[0-7]+$/i,i=parseInt;function l(o){if(typeof o=="number")return o;if(r(o))return n;if(t(o)){var u=typeof o.valueOf=="function"?o.valueOf():o;o=t(u)?u+"":u}if(typeof o!="string")return o===0?o:+o;o=e(o);var a=T.test(o);return a||E.test(o)?i(o.slice(2),a?2:8):s.test(o)?n:+o}return Fr=l,Fr}Sl.POSTGRES+"",Ol.PostgreSQL,Sl.MYSQL+"",Ol.MySQL;const GC=LC.define(),vC=pC.define({create:()=>({dialect:dC,isEnable:!0}),update(e,t){for(const r of t.effects)if(r.is(GC))return r.value;return e}}),Dl=new WeakMap;function BC(e,t,r){const n=e.state.doc;let s=Dl.get(n);s||(s=mC.create({doc:e.state.doc,extensions:[PC({dialect:r})]}),Dl.set(n,s));const T=yC(s,t,200);return T||r.language.parser.parse(e.state.doc.toString())}const FC=e=>{const t=e.state.selection.main,{from:r,to:n,empty:s}=t,T=e.state.field(vC),E=T.isEnable?BC(e,e.state.doc.length,T.dialect):Xh(e.state),i=(u,a)=>{let R=E.resolveInner(u,a);for(;R;){if(R.type.name==="Statement")return R;R=R.parent}return null};if(s){const u=i(r,-1);return u?{currentStatements:[{type:u.type.name,from:u.from,to:u.to,text:e.state.doc.sliceString(u.from,u.to)}]}:{currentStatements:[]}}const l=[],o=new Set;return E.iterate({from:r,to:n,enter(u){u.type.name==="Statement"&&!o.has(u.from)&&u.from<n&&u.to>r&&(o.add(u.from),l.push({type:u.type.name,from:u.from,to:u.to,text:e.state.doc.sliceString(u.from,u.to)}))}}),{currentStatements:l}},Gg=e=>{const t=Xh(e.state),r=[];return t.iterate({enter:n=>{const s=n.type.name,T=e.state.doc.sliceString(n.from,n.to);r.push({type:s,from:n.from,to:n.to,text:T})}}),r},HC={SELECT:{info:`Select data from a table.
|
|
2
|
-
Example: SELECT * FROM users;`,boost:105,type:H.Keyword},FROM:{info:`Specify the source table or view.
|
|
3
|
-
Example: SELECT name FROM users;`,boost:104,type:H.Keyword},WHERE:{info:`Filter rows by condition.
|
|
4
|
-
Example: SELECT * FROM users WHERE age > 18;`,boost:103,type:H.Keyword},JOIN:{info:`Combine rows from multiple tables.
|
|
5
|
-
Example: SELECT * FROM users JOIN orders ON users.id = orders.user_id;`,boost:100,type:H.Keyword},ON:{info:`Specify the join condition.
|
|
6
|
-
Example: ... JOIN orders ON users.id = orders.user_id;`,boost:100,type:H.Keyword},VALUES:{info:`Specify rows of data for INSERT.
|
|
7
|
-
Example: INSERT INTO users (name, age) VALUES ('Alice', 25);`,boost:95,type:H.Keyword},RETURNING:{info:`Return rows affected by INSERT/UPDATE/DELETE.
|
|
8
|
-
Example: INSERT INTO users (name) VALUES ('Alice') RETURNING id;`,boost:95,type:H.Keyword},INSERT:{info:`Insert new rows into a table.
|
|
9
|
-
Example: INSERT INTO users (name, age) VALUES ('Alice', 25);`,boost:90,type:H.Keyword},UPDATE:{info:`Update existing rows in a table.
|
|
10
|
-
Example: UPDATE users SET age = 30 WHERE id = 1;`,boost:90,type:H.Keyword},DELETE:{info:`Delete rows from a table.
|
|
11
|
-
Example: DELETE FROM users WHERE id = 1;`,boost:90,type:H.Keyword},GROUP:{info:`Group rows sharing a property.
|
|
12
|
-
Example: SELECT dept, COUNT(*) FROM employees GROUP BY dept;`,boost:95,type:H.Keyword},HAVING:{info:`Filter groups created by GROUP BY.
|
|
13
|
-
Example: ... GROUP BY dept HAVING COUNT(*) > 5;`,boost:95,type:H.Keyword},ORDER:{info:`Sort the result set.
|
|
14
|
-
Example: SELECT * FROM users ORDER BY created_at DESC;`,boost:95,type:H.Keyword},LIMIT:{info:`Limit the number of rows returned.
|
|
15
|
-
Example: SELECT * FROM users LIMIT 10;`,boost:90,type:H.Keyword},OFFSET:{info:`Skip rows before returning results.
|
|
16
|
-
Example: SELECT * FROM users LIMIT 10 OFFSET 20;`,boost:90,type:H.Keyword},DISTINCT:{info:`Remove duplicate rows.
|
|
17
|
-
Example: SELECT DISTINCT country FROM users;`,boost:90,type:H.Keyword},ALL:{info:`Compare a value to all values in a subquery.
|
|
18
|
-
Example: SELECT * FROM products WHERE price > ALL (SELECT price FROM sales);`,boost:70,type:H.Keyword},ANY:{info:`Compare a value to any value in a subquery.
|
|
19
|
-
Example: SELECT * FROM products WHERE price = ANY (SELECT price FROM sales);`,boost:70,type:H.Keyword},SOME:{info:`Synonym for ANY.
|
|
20
|
-
Example: SELECT * FROM items WHERE value < SOME (SELECT value FROM inventory);`,boost:70,type:H.Keyword},DEFAULT:{info:`Use the default value of a column.
|
|
21
|
-
Example: INSERT INTO users (name) VALUES (DEFAULT);`,boost:70,type:H.Keyword},AND:{info:`Logical AND.
|
|
22
|
-
Example: SELECT * FROM users WHERE age > 18 AND active = true;`,boost:85,type:H.Keyword},OR:{info:`Logical OR.
|
|
23
|
-
Example: SELECT * FROM users WHERE age < 18 OR active = true;`,boost:85,type:H.Keyword},NOT:{info:`Logical NOT.
|
|
24
|
-
Example: SELECT * FROM users WHERE NOT active;`,boost:85,type:H.Keyword},IN:{info:`Match any value in a list.
|
|
25
|
-
Example: SELECT * FROM users WHERE country IN ('US', 'UK');`,boost:85,type:H.Keyword},EXISTS:{info:`Check if a subquery returns rows.
|
|
26
|
-
Example: SELECT * FROM users WHERE EXISTS (SELECT 1 FROM orders WHERE orders.user_id = users.id);`,boost:85,type:H.Keyword},BETWEEN:{info:`Match a range of values.
|
|
27
|
-
Example: SELECT * FROM products WHERE price BETWEEN 10 AND 20;`,boost:85,type:H.Keyword},LIKE:{info:`Match a string with a pattern.
|
|
28
|
-
Example: SELECT * FROM users WHERE name LIKE 'A%';`,boost:85,type:H.Keyword},ILIKE:{info:`Case-insensitive string match.
|
|
29
|
-
Example: SELECT * FROM users WHERE name ILIKE 'a%';`,boost:85,type:H.Keyword},NULL:{info:`Null value.
|
|
30
|
-
Example: SELECT * FROM users WHERE phone IS NULL;`,boost:85,type:H.Keyword},IS:{info:`Test a value against a boolean or NULL.
|
|
31
|
-
Example: SELECT * FROM users WHERE active IS TRUE;`,boost:80,type:H.Keyword},CREATE:{info:`Create a new database object.
|
|
32
|
-
Example: CREATE TABLE users (id SERIAL, name TEXT);`,boost:80,type:H.Keyword},ALTER:{info:`Change the structure of a database object.
|
|
33
|
-
Example: ALTER TABLE users ADD COLUMN email TEXT;`,boost:80,type:H.Keyword},DROP:{info:`Delete a database object.
|
|
34
|
-
Example: DROP TABLE users;`,boost:80,type:H.Keyword},TRUNCATE:{info:`Remove all rows from a table quickly.
|
|
35
|
-
Example: TRUNCATE TABLE users;`,boost:75,type:H.Keyword},COMMENT:{info:`Add or change a comment.
|
|
36
|
-
Example: COMMENT ON TABLE users IS 'User accounts';`,boost:75,type:H.Keyword},INDEX:{info:`Create or manage an index.
|
|
37
|
-
Example: CREATE INDEX idx_name ON users(name);`,boost:70,type:H.Keyword},SEQUENCE:{info:`Generate sequential numbers.
|
|
38
|
-
Example: CREATE SEQUENCE user_id_seq;`,boost:65,type:H.Keyword},SCHEMA:{info:`Logical grouping of database objects.
|
|
39
|
-
Example: CREATE SCHEMA analytics;`,boost:65,type:H.Keyword},VIEW:{info:`Virtual table based on a query.
|
|
40
|
-
Example: CREATE VIEW active_users AS SELECT * FROM users WHERE active = true;`,boost:70,type:H.Keyword},"MATERIALIZED VIEW":{info:`Physical view stored on disk.
|
|
41
|
-
Example: CREATE MATERIALIZED VIEW sales_summary AS SELECT SUM(amount) FROM sales;`,boost:65,type:H.Keyword},GRANT:{info:`Grant privileges.
|
|
42
|
-
Example: GRANT SELECT ON users TO analyst;`,boost:70,type:H.Keyword},REVOKE:{info:`Revoke privileges.
|
|
43
|
-
Example: REVOKE SELECT ON users FROM analyst;`,boost:70,type:H.Keyword},BEGIN:{info:`Start a transaction.
|
|
44
|
-
Example: BEGIN;`,boost:65,type:H.Keyword},COMMIT:{info:`Save changes in a transaction.
|
|
45
|
-
Example: COMMIT;`,boost:65,type:H.Keyword},ROLLBACK:{info:`Undo changes in a transaction.
|
|
46
|
-
Example: ROLLBACK;`,boost:65,type:H.Keyword},SAVEPOINT:{info:`Set a transaction savepoint.
|
|
47
|
-
Example: SAVEPOINT sp1;`,boost:60,type:H.Keyword},RELEASE:{info:`Release a savepoint.
|
|
48
|
-
Example: RELEASE SAVEPOINT sp1;`,boost:60,type:H.Keyword},LOCK:{info:`Lock a table.
|
|
49
|
-
Example: LOCK TABLE users IN EXCLUSIVE MODE;`,boost:60,type:H.Keyword},WITH:{info:`Define a Common Table Expression.
|
|
50
|
-
Example: WITH cte AS (SELECT * FROM users) SELECT * FROM cte;`,boost:75,type:H.Keyword},RECURSIVE:{info:`Define a recursive CTE.
|
|
51
|
-
Example: WITH RECURSIVE t(n) AS (SELECT 1 UNION ALL SELECT n+1 FROM t WHERE n < 5) SELECT * FROM t;`,boost:70,type:H.Keyword},UNION:{info:`Combine result sets.
|
|
52
|
-
Example: SELECT id FROM a UNION SELECT id FROM b;`,boost:75,type:H.Keyword},INTERSECT:{info:`Return rows common to both queries.
|
|
53
|
-
Example: SELECT id FROM a INTERSECT SELECT id FROM b;`,boost:70,type:H.Keyword},EXCEPT:{info:`Return rows in the first query but not the second.
|
|
54
|
-
Example: SELECT id FROM a EXCEPT SELECT id FROM b;`,boost:70,type:H.Keyword},CASE:{info:`Conditional expression.
|
|
55
|
-
Example: SELECT CASE WHEN age > 18 THEN 'adult' ELSE 'minor' END;`,boost:80,type:H.Keyword},WHEN:{info:`Used in CASE expression.
|
|
56
|
-
Example: CASE WHEN score >= 90 THEN 'A' ...;`,boost:80,type:H.Keyword},THEN:{info:`Result in CASE expression.
|
|
57
|
-
Example: CASE WHEN x > 0 THEN 'positive' END;`,boost:80,type:H.Keyword},ELSE:{info:`Alternative result in CASE.
|
|
58
|
-
Example: CASE WHEN active THEN 'yes' ELSE 'no' END;`,boost:80,type:H.Keyword},END:{info:`End CASE expression.
|
|
59
|
-
Example: CASE WHEN x=1 THEN 'one' END;`,boost:80,type:H.Keyword},COUNT:{info:`Count number of rows.
|
|
60
|
-
Example: SELECT COUNT(*) FROM users;`,boost:85,type:H.Function},SUM:{info:`Calculate the sum of a column.
|
|
61
|
-
Example: SELECT SUM(salary) FROM employees;`,boost:85,type:H.Function},AVG:{info:`Calculate the average value.
|
|
62
|
-
Example: SELECT AVG(score) FROM exams;`,boost:85,type:H.Function},MIN:{info:`Get the smallest value.
|
|
63
|
-
Example: SELECT MIN(price) FROM products;`,boost:85,type:H.Function},MAX:{info:`Get the largest value.
|
|
64
|
-
Example: SELECT MAX(price) FROM products;`,boost:85,type:H.Function},ARRAY_AGG:{info:`Aggregate values into an array.
|
|
65
|
-
Example: SELECT ARRAY_AGG(name) FROM users;`,boost:80,type:H.Function},STRING_AGG:{info:`Concatenate values into a string.
|
|
66
|
-
Example: SELECT STRING_AGG(name, ', ') FROM users;`,boost:80,type:H.Function},NOW:{info:`Return the current date and time.
|
|
67
|
-
Example: SELECT NOW();`,boost:80,type:H.Function},CURRENT_DATE:{info:`Return the current date.
|
|
68
|
-
Example: SELECT CURRENT_DATE;`,boost:80,type:H.Calendar},CURRENT_TIME:{info:`Return the current time.
|
|
69
|
-
Example: SELECT CURRENT_TIME;`,boost:80,type:H.Calendar},CURRENT_TIMESTAMP:{info:`Return the current timestamp.
|
|
70
|
-
Example: SELECT CURRENT_TIMESTAMP;`,boost:80,type:H.Calendar},DATE_TRUNC:{info:`Truncate timestamp to a specified precision.
|
|
71
|
-
Example: SELECT DATE_TRUNC('month', NOW());`,boost:75,type:H.Function},EXTRACT:{info:`Get a field from a date/time value.
|
|
72
|
-
Example: SELECT EXTRACT(YEAR FROM NOW());`,boost:75,type:H.Function},TO_CHAR:{info:`Convert a timestamp to a string.
|
|
73
|
-
Example: SELECT TO_CHAR(NOW(), 'YYYY-MM-DD');`,boost:70,type:H.Function},TO_DATE:{info:`Convert a string to a date.
|
|
74
|
-
Example: SELECT TO_DATE('2024-01-01', 'YYYY-MM-DD');`,boost:70,type:H.Function},CAST:{info:`Convert a value from one type to another.
|
|
75
|
-
Example: SELECT CAST('123' AS INT);`,boost:75,type:H.Function},COALESCE:{info:`Return the first non-null value.
|
|
76
|
-
Example: SELECT COALESCE(phone, 'N/A') FROM users;`,boost:75,type:H.Function},JSONB_BUILD_OBJECT:{info:`Build a JSONB object.
|
|
77
|
-
Example: SELECT JSONB_BUILD_OBJECT('id', 1, 'name', 'Alice');`,boost:70,type:H.Function},JSONB_AGG:{info:`Aggregate values into a JSONB array.
|
|
78
|
-
Example: SELECT JSONB_AGG(name) FROM users;`,boost:70,type:H.Function},ROW_NUMBER:{info:`Assign a unique number to each row.
|
|
79
|
-
Example: SELECT ROW_NUMBER() OVER (ORDER BY id) FROM users;`,boost:75,type:H.Function},RANK:{info:`Rank rows with gaps.
|
|
80
|
-
Example: SELECT RANK() OVER (ORDER BY score DESC) FROM exams;`,boost:75,type:H.Function},DENSE_RANK:{info:`Rank rows without gaps.
|
|
81
|
-
Example: SELECT DENSE_RANK() OVER (ORDER BY score DESC) FROM exams;`,boost:75,type:H.Function},NTILE:{info:`Distribute rows into a number of groups.
|
|
82
|
-
Example: SELECT NTILE(4) OVER (ORDER BY score) FROM exams;`,boost:70,type:H.Function},OVER:{info:`Define a window for window functions.
|
|
83
|
-
Example: SELECT AVG(salary) OVER (PARTITION BY dept) FROM employees;`,boost:70,type:H.Keyword},"PARTITION BY":{info:`Group rows within a window function.
|
|
84
|
-
Example: SELECT RANK() OVER (PARTITION BY dept ORDER BY salary) FROM employees;`,boost:70,type:H.Keyword},"INNER JOIN":{info:`Combine rows where the join condition is met.
|
|
85
|
-
Example: SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;`,boost:100,type:H.Keyword},"LEFT JOIN":{info:`Include all rows from the left table, with matching rows from the right.
|
|
86
|
-
Example: SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;`,boost:100,type:H.Keyword},"RIGHT JOIN":{info:`Include all rows from the right table, with matching rows from the left.
|
|
87
|
-
Example: SELECT * FROM users RIGHT JOIN orders ON users.id = orders.user_id;`,boost:100,type:H.Keyword},"FULL JOIN":{info:`Include all rows from both tables, with NULLs where no match exists.
|
|
88
|
-
Example: SELECT * FROM users FULL JOIN orders ON users.id = orders.user_id;`,boost:100,type:H.Keyword},"CROSS JOIN":{info:`Produce a Cartesian product of two tables.
|
|
89
|
-
Example: SELECT * FROM users CROSS JOIN orders;`,boost:95,type:H.Keyword},"IS DISTINCT FROM":{info:`Compare values, treating NULL as a comparable value.
|
|
90
|
-
Example: SELECT * FROM users WHERE email IS DISTINCT FROM NULL;`,boost:80,type:H.Keyword},"IS NOT DISTINCT FROM":{info:`Compare values, treating NULL as equal to NULL.
|
|
91
|
-
Example: SELECT * FROM users WHERE email IS NOT DISTINCT FROM NULL;`,boost:80,type:H.Keyword},"SIMILAR TO":{info:`Match a string against a pattern using regular expressions.
|
|
92
|
-
Example: SELECT * FROM users WHERE name SIMILAR TO '[A-Z]%';`,boost:85,type:H.Keyword},"->":{info:`Extract a JSON field by key.
|
|
93
|
-
Example: SELECT data->'key' FROM json_table;`,boost:75,type:H.Keyword},"->>":{info:`Extract a JSON field as text.
|
|
94
|
-
Example: SELECT data->>'key' FROM json_table;`,boost:75,type:H.Keyword},"#>":{info:`Extract a JSON field by path.
|
|
95
|
-
Example: SELECT data#>ARRAY['key1', 'key2'] FROM json_table;`,boost:75,type:H.Keyword},STDDEV:{info:`Calculate the standard deviation of a column.
|
|
96
|
-
Example: SELECT STDDEV(salary) FROM employees;`,boost:85,type:H.Function},VARIANCE:{info:`Calculate the variance of a column.
|
|
97
|
-
Example: SELECT VARIANCE(salary) FROM employees;`,boost:85,type:H.Function},CORR:{info:`Calculate the correlation coefficient.
|
|
98
|
-
Example: SELECT CORR(salary, years_experience) FROM employees;`,boost:80,type:H.Function},SUBSTRING:{info:`Extract a substring from a string.
|
|
99
|
-
Example: SELECT SUBSTRING(name FROM 1 FOR 3) FROM users;`,boost:80,type:H.Function},TRIM:{info:`Remove leading/trailing characters from a string.
|
|
100
|
-
Example: SELECT TRIM(BOTH ' ' FROM name) FROM users;`,boost:80,type:H.Function},UPPER:{info:`Convert a string to uppercase.
|
|
101
|
-
Example: SELECT UPPER(name) FROM users;`,boost:80,type:H.Function},LOWER:{info:`Convert a string to lowercase.
|
|
102
|
-
Example: SELECT LOWER(name) FROM users;`,boost:80,type:H.Function},REPLACE:{info:`Replace occurrences of a substring.
|
|
103
|
-
Example: SELECT REPLACE(name, 'Mr.', '') FROM users;`,boost:80,type:H.Function},JSONB_ARRAY_ELEMENTS:{info:`Expand a JSONB array into rows.
|
|
104
|
-
Example: SELECT JSONB_ARRAY_ELEMENTS(data->'items') FROM json_table;`,boost:70,type:H.Function},JSONB_EXTRACT_PATH:{info:`Extract a value from a JSONB object by path.
|
|
105
|
-
Example: SELECT JSONB_EXTRACT_PATH(data, 'key1', 'key2') FROM json_table;`,boost:70,type:H.Function},UNNEST:{info:`Expand an array into a set of rows.
|
|
106
|
-
Example: SELECT UNNEST(ARRAY[1, 2, 3]);`,boost:80,type:H.Function},ARRAY_APPEND:{info:`Append an element to an array.
|
|
107
|
-
Example: SELECT ARRAY_APPEND(ARRAY[1, 2], 3);`,boost:75,type:H.Function},ARRAY_PREPEND:{info:`Prepend an element to an array.
|
|
108
|
-
Example: SELECT ARRAY_PREPEND(1, ARRAY[2, 3]);`,boost:75,type:H.Function},ARRAY_LENGTH:{info:`Get the length of an array.
|
|
109
|
-
Example: SELECT ARRAY_LENGTH(ARRAY[1, 2, 3], 1);`,boost:75,type:H.Function},AGE:{info:`Calculate the interval between two dates.
|
|
110
|
-
Example: SELECT AGE(birth_date) FROM users;`,boost:80,type:H.Function},INTERVAL:{info:`Specify a time interval.
|
|
111
|
-
Example: SELECT NOW() + INTERVAL '1 day';`,boost:80,type:H.Keyword},DATE_PART:{info:`Extract a part of a date/time value.
|
|
112
|
-
Example: SELECT DATE_PART('year', NOW());`,boost:75,type:H.Function},NULLIF:{info:`Return NULL if two values are equal.
|
|
113
|
-
Example: SELECT NULLIF(score, 0) FROM exams;`,boost:75,type:H.Function},GREATEST:{info:`Return the largest value among arguments.
|
|
114
|
-
Example: SELECT GREATEST(10, 20, 15);`,boost:75,type:H.Function},LEAST:{info:`Return the smallest value among arguments.
|
|
115
|
-
Example: SELECT LEAST(10, 20, 15);`,boost:75,type:H.Function},INHERITS:{info:`Specify table inheritance.
|
|
116
|
-
Example: CREATE TABLE employees (salary INT) INHERITS (users);`,boost:65,type:H.Keyword},"PARTITION OF":{info:`Define a table as a partition of a parent table.
|
|
117
|
-
Example: CREATE TABLE sales_2023 PARTITION OF sales FOR VALUES FROM ('2023-01-01') TO ('2024-01-01');`,boost:65,type:H.Keyword},"@@":{info:`Full-text search match operator.
|
|
118
|
-
Example: SELECT * FROM documents WHERE to_tsvector(content) @@ to_tsquery('search & term');`,boost:75,type:H.Keyword},TO_TSVECTOR:{info:`Convert text to a tsvector for full-text search.
|
|
119
|
-
Example: SELECT TO_TSVECTOR(content) FROM documents;`,boost:75,type:H.Function},TO_TSQUERY:{info:`Create a tsquery for full-text search.
|
|
120
|
-
Example: SELECT TO_TSQUERY('search & term');`,boost:75,type:H.Function},"PRIMARY KEY":{info:`Define a primary key constraint.
|
|
121
|
-
Example: CREATE TABLE users (id SERIAL PRIMARY KEY);`,boost:80,type:H.Keyword},"FOREIGN KEY":{info:`Define a foreign key constraint.
|
|
122
|
-
Example: CREATE TABLE orders (user_id INT REFERENCES users(id));`,boost:80,type:H.Keyword},UNIQUE:{info:`Enforce unique values in a column.
|
|
123
|
-
Example: CREATE TABLE users (email TEXT UNIQUE);`,boost:80,type:H.Keyword},CHECK:{info:`Enforce a condition on column values.
|
|
124
|
-
Example: CREATE TABLE users (age INT CHECK (age >= 18));`,boost:80,type:H.Keyword},REFERENCES:{info:`Specify a foreign key reference.
|
|
125
|
-
Example: CREATE TABLE orders (user_id INT REFERENCES users(id));`,boost:80,type:H.Keyword},LAG:{info:`Access the previous row in a window.
|
|
126
|
-
Example: SELECT LAG(salary) OVER (PARTITION BY dept ORDER BY id) FROM employees;`,boost:75,type:H.Function},LEAD:{info:`Access the next row in a window.
|
|
127
|
-
Example: SELECT LEAD(salary) OVER (PARTITION BY dept ORDER BY id) FROM employees;`,boost:75,type:H.Function},FIRST_VALUE:{info:`Get the first value in a window.
|
|
128
|
-
Example: SELECT FIRST_VALUE(salary) OVER (PARTITION BY dept) FROM employees;`,boost:75,type:H.Function},LAST_VALUE:{info:`Get the last value in a window.
|
|
129
|
-
Example: SELECT LAST_VALUE(salary) OVER (PARTITION BY dept) FROM employees;`,boost:75,type:H.Function},CUME_DIST:{info:`Calculate the cumulative distribution of a value.
|
|
130
|
-
Example: SELECT CUME_DIST() OVER (ORDER BY salary) FROM employees;`,boost:70,type:H.Function},VACUUM:{info:`Reclaim storage and optimize tables.
|
|
131
|
-
Example: VACUUM ANALYZE users;`,boost:65,type:H.Keyword},ANALYZE:{info:`Collect statistics for query planner.
|
|
132
|
-
Example: ANALYZE users;`,boost:65,type:H.Keyword},CLUSTER:{info:`Physically reorder a table based on an index.
|
|
133
|
-
Example: CLUSTER users USING idx_name;`,boost:65,type:H.Keyword},TABLESPACE:{info:`Define a storage location for database objects.
|
|
134
|
-
Example: CREATE TABLESPACE fast_storage LOCATION '/ssd1/pgdata';`,boost:60,type:H.Keyword},TRIGGER:{info:`Define a trigger on a table.
|
|
135
|
-
Example: CREATE TRIGGER log_update AFTER UPDATE ON users FOR EACH ROW EXECUTE FUNCTION log_user_update();`,boost:70,type:H.Keyword},FUNCTION:{info:`Define a stored function.
|
|
136
|
-
Example: CREATE FUNCTION add(a INT, b INT) RETURNS INT AS $$ SELECT a + b; $$ LANGUAGE SQL;`,boost:70,type:H.Keyword},PROCEDURE:{info:`Define a stored procedure.
|
|
137
|
-
Example: CREATE PROCEDURE update_salary() LANGUAGE SQL AS $$ UPDATE employees SET salary = salary * 1.1; $$;`,boost:70,type:H.Keyword},EXECUTE:{info:`Execute a prepared statement or function.
|
|
138
|
-
Example: EXECUTE prepared_query;`,boost:65,type:H.Keyword},"FOR UPDATE":{info:`Lock rows for updating.
|
|
139
|
-
Example: SELECT * FROM users WHERE id = 1 FOR UPDATE;`,boost:70,type:H.Keyword},"FOR SHARE":{info:`Lock rows for shared access.
|
|
140
|
-
Example: SELECT * FROM users WHERE id = 1 FOR SHARE;`,boost:70,type:H.Keyword},NOWAIT:{info:`Avoid waiting for locked rows.
|
|
141
|
-
Example: SELECT * FROM users WHERE id = 1 FOR UPDATE NOWAIT;`,boost:65,type:H.Keyword}};function vg(e,t){const r=e.toUpperCase(),n=HC[r];return n?{label:r,type:n.type,info:n.info,boost:n.boost}:{label:r,type:t}}const q=e=>e.flatMap(qC),qC=e=>kt($C(e)).map(YC),YC=e=>e.replace(/ +/g," ").trim(),$C=e=>({type:"mandatory_block",items:wu(e,0)[0]}),wu=(e,t,r)=>{const n=[];for(;e[t];){const[s,T]=VC(e,t);if(n.push(s),t=T,e[t]==="|")t++;else if(e[t]==="}"||e[t]==="]"){if(r!==e[t])throw new Error(`Unbalanced parenthesis in: ${e}`);return t++,[n,t]}else if(t===e.length){if(r)throw new Error(`Unbalanced parenthesis in: ${e}`);return[n,t]}else throw new Error(`Unexpected "${e[t]}"`)}return[n,t]},VC=(e,t)=>{const r=[];for(;;){const[n,s]=xC(e,t);if(n)r.push(n),t=s;else break}return r.length===1?[r[0],t]:[{type:"concatenation",items:r},t]},xC=(e,t)=>{if(e[t]==="{")return WC(e,t+1);if(e[t]==="[")return XC(e,t+1);{let r="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)r+=e[t],t++;return[r,t]}},WC=(e,t)=>{const[r,n]=wu(e,t,"}");return[{type:"mandatory_block",items:r},n]},XC=(e,t)=>{const[r,n]=wu(e,t,"]");return[{type:"optional_block",items:r},n]},kt=e=>{if(typeof e=="string")return[e];if(e.type==="concatenation")return e.items.map(kt).reduce(KC,[""]);if(e.type==="mandatory_block")return e.items.flatMap(kt);if(e.type==="optional_block")return["",...e.items.flatMap(kt)];throw new Error(`Unknown node type: ${e}`)},KC=(e,t)=>{const r=[];for(const n of e)for(const s of t)r.push(n+s);return r};var X;(function(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"})(X=X||(X={}));const kh=e=>({type:X.EOF,raw:"«EOF»",text:"«EOF»",start:e}),lt=kh(1/0),at=e=>t=>t.type===e.type&&t.text===e.text,Xe={ARRAY:at({text:"ARRAY",type:X.RESERVED_DATA_TYPE}),BY:at({text:"BY",type:X.RESERVED_KEYWORD}),SET:at({text:"SET",type:X.RESERVED_CLAUSE}),STRUCT:at({text:"STRUCT",type:X.RESERVED_DATA_TYPE}),WINDOW:at({text:"WINDOW",type:X.RESERVED_CLAUSE}),VALUES:at({text:"VALUES",type:X.RESERVED_CLAUSE})},Jh=e=>e===X.RESERVED_DATA_TYPE||e===X.RESERVED_KEYWORD||e===X.RESERVED_FUNCTION_NAME||e===X.RESERVED_PHRASE||e===X.RESERVED_CLAUSE||e===X.RESERVED_SELECT||e===X.RESERVED_SET_OPERATION||e===X.RESERVED_JOIN||e===X.ARRAY_KEYWORD||e===X.CASE||e===X.END||e===X.WHEN||e===X.ELSE||e===X.THEN||e===X.LIMIT||e===X.BETWEEN||e===X.AND||e===X.OR||e===X.XOR,jC=e=>e===X.AND||e===X.OR||e===X.XOR,kC=["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"],JC=["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"],QC=["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],ZC=q(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),zC=q(["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"]),gl=q(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),Hr=q(["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"]),ef=q(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),tf=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),rf=q(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),nf={name:"bigquery",tokenizerOptions:{reservedSelect:ZC,reservedClauses:[...zC,...Hr,...gl],reservedSetOperations:ef,reservedJoins:tf,reservedPhrases:rf,reservedKeywords:JC,reservedDataTypes:QC,reservedFunctionNames:kC,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:sf},formatOptions:{onelineClauses:[...gl,...Hr],tabularOnelineClauses:Hr}};function sf(e){return of(Ef(e))}function of(e){let t=lt;return e.map(r=>r.text==="OFFSET"&&t.text==="["?(t=r,Object.assign(Object.assign({},r),{type:X.RESERVED_FUNCTION_NAME})):(t=r,r))}function Ef(e){var t;const r=[];for(let n=0;n<e.length;n++){const s=e[n];if((Xe.ARRAY(s)||Xe.STRUCT(s))&&((t=e[n+1])===null||t===void 0?void 0:t.text)==="<"){const T=af(e,n+1),E=e.slice(n,T+1);r.push({type:X.IDENTIFIER,raw:E.map(Ml("raw")).join(""),text:E.map(Ml("text")).join(""),start:s.start}),n=T}else r.push(s)}return r}const Ml=e=>t=>t.type===X.IDENTIFIER||t.type===X.COMMA?t[e]+" ":t[e];function af(e,t){let r=0;for(let n=t;n<e.length;n++){const s=e[n];if(s.text==="<"?r++:s.text===">"?r--:s.text===">>"&&(r-=2),r===0)return n}return e.length-1}const Tf=["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"],uf=["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"],lf=["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"],Rf=q(["SELECT [ALL | DISTINCT]"]),Af=q(["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"]),Ul=q(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),qr=q(["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"]),cf=q(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Sf=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),Of=q(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),Nf={name:"db2",tokenizerOptions:{reservedSelect:Rf,reservedClauses:[...Af,...Ul,...qr],reservedSetOperations:cf,reservedJoins:Sf,reservedPhrases:Of,reservedKeywords:uf,reservedDataTypes:lf,reservedFunctionNames:Tf,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:[...Ul,...qr],tabularOnelineClauses:qr}},If=["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"],hf=["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"],_f=["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"],Cf=q(["SELECT [ALL | DISTINCT]"]),ff=q(["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"]),bl=q(["CREATE [OR REPLACE] TABLE"]),Yr=q(["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}"]),pf=q(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),df=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),Lf=q(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),mf={name:"db2i",tokenizerOptions:{reservedSelect:Cf,reservedClauses:[...ff,...bl,...Yr],reservedSetOperations:pf,reservedJoins:df,reservedPhrases:Lf,reservedKeywords:hf,reservedDataTypes:_f,reservedFunctionNames:If,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:[...bl,...Yr],tabularOnelineClauses:Yr}},Pf=["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"],yf=["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"],Df=["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],gf=q(["SELECT [ALL | DISTINCT]"]),Mf=q(["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"]),wl=q(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),$r=q(["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"]),Uf=q(["UNION [ALL | DISTINCT]"]),bf=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),wf=q(["{ROWS | RANGE} BETWEEN"]),Gf={name:"hive",tokenizerOptions:{reservedSelect:gf,reservedClauses:[...Mf,...wl,...$r],reservedSetOperations:Uf,reservedJoins:bf,reservedPhrases:wf,reservedKeywords:yf,reservedDataTypes:Df,reservedFunctionNames:Pf,extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...wl,...$r],tabularOnelineClauses:$r}};function rr(e){return e.map((t,r)=>{const n=e[r+1]||lt;if(Xe.SET(t)&&n.text==="(")return Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME});const s=e[r-1]||lt;return Xe.VALUES(t)&&s.text==="="?Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME}):t})}const vf=["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"],Bf=["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"],Ff=["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"],Hf=q(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),qf=q(["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"]),Gl=q(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),Vr=q(["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"]),Yf=q(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),$f=q(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Vf=q(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),xf={name:"mariadb",tokenizerOptions:{reservedSelect:Hf,reservedClauses:[...qf,...Gl,...Vr],reservedSetOperations:Yf,reservedJoins:$f,reservedPhrases:Vf,supportsXor:!0,reservedKeywords:vf,reservedDataTypes:Bf,reservedFunctionNames:Ff,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:rr},formatOptions:{onelineClauses:[...Gl,...Vr],tabularOnelineClauses:Vr}},Wf=["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"],Xf=["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"],Kf=["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"],jf=q(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),kf=q(["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"]),vl=q(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),xr=q(["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"]),Jf=q(["UNION [ALL | DISTINCT]"]),Qf=q(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Zf=q(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),zf={name:"mysql",tokenizerOptions:{reservedSelect:jf,reservedClauses:[...kf,...vl,...xr],reservedSetOperations:Jf,reservedJoins:Qf,reservedPhrases:Zf,supportsXor:!0,reservedKeywords:Wf,reservedDataTypes:Xf,reservedFunctionNames:Kf,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:rr},formatOptions:{onelineClauses:[...vl,...xr],tabularOnelineClauses:xr}},ep=["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"],tp=["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"],rp=["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"],np=q(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),ip=q(["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"]),Bl=q(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),Wr=q(["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"]),sp=q(["UNION [ALL | DISTINCT]"]),op=q(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Ep=q(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),ap={name:"tidb",tokenizerOptions:{reservedSelect:np,reservedClauses:[...ip,...Bl,...Wr],reservedSetOperations:sp,reservedJoins:op,reservedPhrases:Ep,supportsXor:!0,reservedKeywords:ep,reservedDataTypes:tp,reservedFunctionNames:rp,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:rr},formatOptions:{onelineClauses:[...Bl,...Wr],tabularOnelineClauses:Wr}},Tp=["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"],up=["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"],lp=[],Rp=q(["SELECT [ALL | DISTINCT]"]),Ap=q(["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"]),Fl=q(["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"]),cp=q(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Sp=q(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),Op=q(["{ROWS | RANGE | GROUPS} BETWEEN"]),Np={name:"n1ql",tokenizerOptions:{reservedSelect:Rp,reservedClauses:[...Ap,...Fl],reservedSetOperations:cp,reservedJoins:Sp,reservedPhrases:Op,supportsXor:!0,reservedKeywords:up,reservedDataTypes:lp,reservedFunctionNames:Tp,stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:Fl}},Ip=["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"],hp=["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"],_p=["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"],Cp=q(["SELECT [ALL | DISTINCT | UNIQUE]"]),fp=q(["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"]),Hl=q(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),Xr=q(["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"]),pp=q(["UNION [ALL]","MINUS","INTERSECT"]),dp=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),Lp=q(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),mp={name:"plsql",tokenizerOptions:{reservedSelect:Cp,reservedClauses:[...fp,...Hl,...Xr],reservedSetOperations:pp,reservedJoins:dp,reservedPhrases:Lp,supportsXor:!0,reservedKeywords:Ip,reservedDataTypes:hp,reservedFunctionNames:_p,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:Pp},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...Hl,...Xr],tabularOnelineClauses:Xr}};function Pp(e){let t=lt;return e.map(r=>Xe.SET(r)&&Xe.BY(t)?Object.assign(Object.assign({},r),{type:X.RESERVED_KEYWORD}):(Jh(r.type)&&(t=r),r))}const yp=["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"],Dp=["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"],gp=["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"],Mp=q(["SELECT [ALL | DISTINCT]"]),Up=q(["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"]),ql=q(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),Kr=q(["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 [OR REPLACE] AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE [DEFAULT] CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE [UNIQUE] INDEX","CREATE [OR REPLACE] [TRUSTED] [PROCEDURAL] LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE [OR REPLACE] PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE [OR REPLACE] RULE","CREATE SCHEMA [AUTHORIZATION]","CREATE [TEMPORARY | TEMP | UNLOGGED] 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 [OR REPLACE] TRANSFORM","CREATE [OR REPLACE] [CONSTRAINT] 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"]),bp=q(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),wp=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Gp=q(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [NO ACTION | RESTRICT | CASCADE | 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"]),vp={name:"postgresql",tokenizerOptions:{reservedSelect:Mp,reservedClauses:[...Up,...ql,...Kr],reservedSetOperations:bp,reservedJoins:wp,reservedPhrases:Gp,reservedKeywords:Dp,reservedDataTypes:gp,reservedFunctionNames:yp,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:[...ql,...Kr],tabularOnelineClauses:Kr}},Bp=["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"],Fp=["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"],Hp=["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],qp=q(["SELECT [ALL | DISTINCT]"]),Yp=q(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),Yl=q(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),jr=q(["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"]),$p=q(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),Vp=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),xp=q(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),Wp={name:"redshift",tokenizerOptions:{reservedSelect:qp,reservedClauses:[...Yp,...Yl,...jr],reservedSetOperations:$p,reservedJoins:Vp,reservedPhrases:xp,reservedKeywords:Fp,reservedDataTypes:Hp,reservedFunctionNames:Bp,stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Yl,...jr],tabularOnelineClauses:jr}},Xp=["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"],Kp=["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"],jp=["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"],kp=q(["SELECT [ALL | DISTINCT]"]),Jp=q(["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"]),$l=q(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),kr=q(["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"]),Qp=q(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Zp=q(["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"]),zp=q(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),ed={name:"spark",tokenizerOptions:{reservedSelect:kp,reservedClauses:[...Jp,...$l,...kr],reservedSetOperations:Qp,reservedJoins:Zp,reservedPhrases:zp,supportsXor:!0,reservedKeywords:Xp,reservedDataTypes:Kp,reservedFunctionNames:jp,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:td},formatOptions:{onelineClauses:[...$l,...kr],tabularOnelineClauses:kr}};function td(e){return e.map((t,r)=>{const n=e[r-1]||lt,s=e[r+1]||lt;return Xe.WINDOW(t)&&s.type===X.OPEN_PAREN?Object.assign(Object.assign({},t),{type:X.RESERVED_FUNCTION_NAME}):t.text==="ITEMS"&&t.type===X.RESERVED_KEYWORD&&!(n.text==="COLLECTION"&&s.text==="TERMINATED")?Object.assign(Object.assign({},t),{type:X.IDENTIFIER,text:t.raw}):t})}const rd=["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"],nd=["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"],id=["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],sd=q(["SELECT [ALL | DISTINCT]"]),od=q(["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"]),Vl=q(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),Jr=q(["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"]),Ed=q(["UNION [ALL]","EXCEPT","INTERSECT"]),ad=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Td=q(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),ud={name:"sqlite",tokenizerOptions:{reservedSelect:sd,reservedClauses:[...od,...Vl,...Jr],reservedSetOperations:Ed,reservedJoins:ad,reservedPhrases:Td,reservedKeywords:nd,reservedDataTypes:id,reservedFunctionNames:rd,stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...Vl,...Jr],tabularOnelineClauses:Jr}},ld=["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"],Rd=["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"],Ad=["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"],cd=q(["SELECT [ALL | DISTINCT]"]),Sd=q(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),xl=q(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),Qr=q(["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"]),Od=q(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),Nd=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Id=q(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),hd={name:"sql",tokenizerOptions:{reservedSelect:cd,reservedClauses:[...Sd,...xl,...Qr],reservedSetOperations:Od,reservedJoins:Nd,reservedPhrases:Id,reservedKeywords:Rd,reservedDataTypes:Ad,reservedFunctionNames:ld,stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...xl,...Qr],tabularOnelineClauses:Qr}},_d=["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"],Cd=["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"],fd=["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"],pd=q(["SELECT [ALL | DISTINCT]"]),dd=q(["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"]),Wl=q(["CREATE TABLE [IF NOT EXISTS]"]),Zr=q(["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"]),Ld=q(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),md=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Pd=q(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),yd={name:"trino",tokenizerOptions:{reservedSelect:pd,reservedClauses:[...dd,...Wl,...Zr],reservedSetOperations:Ld,reservedJoins:md,reservedPhrases:Pd,reservedKeywords:Cd,reservedDataTypes:fd,reservedFunctionNames:_d,extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...Wl,...Zr],tabularOnelineClauses:Zr}},Dd=["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"],gd=["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"],Md=["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"],Ud=q(["SELECT [ALL | DISTINCT]"]),bd=q(["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}"]),Xl=q(["CREATE TABLE"]),zr=q(["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","CREATE DATABASE","ALTER DATABASE","DROP DATABASE [IF EXISTS]","GO","USE","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"]),wd=q(["UNION [ALL]","EXCEPT","INTERSECT"]),Gd=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),vd=q(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),Bd={name:"transactsql",tokenizerOptions:{reservedSelect:Ud,reservedClauses:[...bd,...Xl,...zr],reservedSetOperations:wd,reservedJoins:Gd,reservedPhrases:vd,reservedKeywords:gd,reservedDataTypes:Md,reservedFunctionNames:Dd,nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Xl,...zr],tabularOnelineClauses:zr}},Fd=["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"],Hd=["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"],qd=["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"],Yd=q(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),$d=q(["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"]),Kl=q(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),en=q(["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"]),Vd=q(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),xd=q(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Wd=q(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Xd={name:"singlestoredb",tokenizerOptions:{reservedSelect:Yd,reservedClauses:[...$d,...Kl,...en],reservedSetOperations:Vd,reservedJoins:xd,reservedPhrases:Wd,reservedKeywords:Fd,reservedDataTypes:Hd,reservedFunctionNames:qd,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:rr},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...Kl,...en],tabularOnelineClauses:en}},Kd=["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"],jd=["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"],kd=["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"],Jd=q(["SELECT [ALL | DISTINCT]"]),Qd=q(["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"]),jl=q(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),tn=q(["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"]),Zd=q(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),zd=q(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),eL=q(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),tL={name:"snowflake",tokenizerOptions:{reservedSelect:Jd,reservedClauses:[...Qd,...jl,...tn],reservedSetOperations:Zd,reservedJoins:zd,reservedPhrases:eL,reservedKeywords:jd,reservedDataTypes:kd,reservedFunctionNames:Kd,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:[...jl,...tn],tabularOnelineClauses:tn}},rL=Object.freeze(Object.defineProperty({__proto__:null,bigquery:nf,db2:Nf,db2i:mf,hive:Gf,mariadb:xf,mysql:zf,n1ql:Np,plsql:mp,postgresql:vp,redshift:Wp,singlestoredb:Xd,snowflake:tL,spark:ed,sql:hd,sqlite:ud,tidb:ap,transactsql:Bd,trino:yd},Symbol.toStringTag,{value:"Module"})),yt=e=>e[e.length-1],Qh=e=>e.sort((t,r)=>r.length-t.length||t.localeCompare(r)),Jt=e=>e.replace(/\s+/gu," "),rn=e=>/\n/.test(e),Ue=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),kl=/\s+/uy,Je=e=>new RegExp(`(?:${e})`,"uy"),nL=e=>e.split("").map(t=>/ /gu.test(t)?"\\s+":`[${t.toUpperCase()}${t.toLowerCase()}]`).join(""),iL=e=>e+"(?:-"+e+")*",sL=({prefixes:e,requirePrefix:t})=>`(?:${e.map(nL).join("|")}${t?"":"|"})`,oL=e=>new RegExp(`(?:${e.map(Ue).join("|")}).*?(?=\r
|
|
142
|
-
|\r|
|
|
143
|
-
|$)`,"uy"),Jl=(e,t=[])=>{const r=e==="open"?0:1,n=["()",...t].map(s=>s[r]);return Je(n.map(Ue).join("|"))},Ql=e=>Je(`${Qh(e).map(Ue).join("|")}`),EL=({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"",qe=(e,t={})=>{if(e.length===0)return/^\b$/u;const r=EL(t),n=Qh(e).map(Ue).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${n})${r}\\b`,"iuy")},nn=(e,t)=>{if(!e.length)return;const r=e.map(Ue).join("|");return Je(`(?:${r})(?:${t})`)},aL=()=>{const e={"<":">","[":"]","(":")","{":"}"},t="{left}(?:(?!{right}').)*?{right}",r=Object.entries(e).map(([E,i])=>t.replace(/{left}/g,Ue(E)).replace(/{right}/g,Ue(i))),n=Ue(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${r.join("|")})'`},Zl={"``":"(?:`[^`]*`)+","[]":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''":aL()},Zh=e=>typeof e=="string"?Zl[e]:"regex"in e?e.regex:sL(e)+Zl[e.quote],TL=e=>Je(e.map(t=>"regex"in t?t.regex:Zh(t)).join("|")),zh=e=>e.map(Zh).join("|"),zl=e=>Je(zh(e)),uL=(e={})=>Je(e_(e)),e_=({first:e,rest:t,dashes:r,allowFirstCharNumber:n}={})=>{const s="\\p{Alphabetic}\\p{Mark}_",T="\\p{Decimal_Number}",E=Ue(e??""),i=Ue(t??""),l=n?`[${s}${T}${E}][${s}${T}${i}]*`:`[${s}${E}][${s}${T}${i}]*`;return r?iL(l):l};function t_(e,t){const r=e.slice(0,t).split(/\n/);return{line:r.length,col:r[r.length-1].length+1}}class lL{constructor(t,r){this.rules=t,this.dialectName=r,this.input="",this.index=0}tokenize(t){this.input=t,this.index=0;const r=[];let n;for(;this.index<this.input.length;){const s=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();r.push(Object.assign(Object.assign({},n),{precedingWhitespace:s}))}}return r}createParseError(){const t=this.input.slice(this.index,this.index+10),{line:r,col:n}=t_(this.input,this.index);return new Error(`Parse error: Unexpected "${t}" at line ${r} column ${n}.
|
|
144
|
-
${this.dialectInfo()}`)}dialectInfo(){return this.dialectName==="sql"?`This likely happens because you're using the default "sql" dialect.
|
|
145
|
-
If possible, please select a more specific dialect (like sqlite, postgresql, etc).`:`SQL dialect used: "${this.dialectName}".`}getWhitespace(){kl.lastIndex=this.index;const t=kl.exec(this.input);if(t)return this.index+=t[0].length,t[0]}getNextToken(){for(const t of this.rules){const r=this.match(t);if(r)return r}}match(t){t.regex.lastIndex=this.index;const r=t.regex.exec(this.input);if(r){const n=r[0],s={type:t.type,raw:n,text:t.text?t.text(n):n,start:this.index};return t.key&&(s.key=t.key(n)),this.index+=n.length,s}}}const eR=/\/\*/uy,RL=/[\s\S]/uy,AL=/\*\//uy;class cL{constructor(){this.lastIndex=0}exec(t){let r="",n,s=0;if(n=this.matchSection(eR,t))r+=n,s++;else return null;for(;s>0;)if(n=this.matchSection(eR,t))r+=n,s++;else if(n=this.matchSection(AL,t))r+=n,s--;else if(n=this.matchSection(RL,t))r+=n;else return null;return[r]}matchSection(t,r){t.lastIndex=this.lastIndex;const n=t.exec(r);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}}class SL{constructor(t,r){this.cfg=t,this.dialectName=r,this.rulesBeforeParams=this.buildRulesBeforeParams(t),this.rulesAfterParams=this.buildRulesAfterParams(t)}tokenize(t,r){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,r),...this.rulesAfterParams],s=new lL(n,this.dialectName).tokenize(t);return this.cfg.postProcess?this.cfg.postProcess(s):s}buildRulesBeforeParams(t){var r,n;return this.validRules([{type:X.BLOCK_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:X.BLOCK_COMMENT,regex:t.nestedBlockComments?new cL:/(\/\*[^]*?\*\/)/uy},{type:X.LINE_COMMENT,regex:oL((r=t.lineCommentTypes)!==null&&r!==void 0?r:["--"])},{type:X.QUOTED_IDENTIFIER,regex:zl(t.identTypes)},{type:X.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:X.RESERVED_PHRASE,regex:qe((n=t.reservedPhrases)!==null&&n!==void 0?n:[],t.identChars),text:_e},{type:X.CASE,regex:/CASE\b/iuy,text:_e},{type:X.END,regex:/END\b/iuy,text:_e},{type:X.BETWEEN,regex:/BETWEEN\b/iuy,text:_e},{type:X.LIMIT,regex:t.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:_e},{type:X.RESERVED_CLAUSE,regex:qe(t.reservedClauses,t.identChars),text:_e},{type:X.RESERVED_SELECT,regex:qe(t.reservedSelect,t.identChars),text:_e},{type:X.RESERVED_SET_OPERATION,regex:qe(t.reservedSetOperations,t.identChars),text:_e},{type:X.WHEN,regex:/WHEN\b/iuy,text:_e},{type:X.ELSE,regex:/ELSE\b/iuy,text:_e},{type:X.THEN,regex:/THEN\b/iuy,text:_e},{type:X.RESERVED_JOIN,regex:qe(t.reservedJoins,t.identChars),text:_e},{type:X.AND,regex:/AND\b/iuy,text:_e},{type:X.OR,regex:/OR\b/iuy,text:_e},{type:X.XOR,regex:t.supportsXor?/XOR\b/iuy:void 0,text:_e},...t.operatorKeyword?[{type:X.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:X.RESERVED_FUNCTION_NAME,regex:qe(t.reservedFunctionNames,t.identChars),text:_e},{type:X.RESERVED_DATA_TYPE,regex:qe(t.reservedDataTypes,t.identChars),text:_e},{type:X.RESERVED_KEYWORD,regex:qe(t.reservedKeywords,t.identChars),text:_e}])}buildRulesAfterParams(t){var r,n;return this.validRules([{type:X.VARIABLE,regex:t.variableTypes?TL(t.variableTypes):void 0},{type:X.STRING,regex:zl(t.stringTypes)},{type:X.IDENTIFIER,regex:uL(t.identChars)},{type:X.DELIMITER,regex:/[;]/uy},{type:X.COMMA,regex:/[,]/y},{type:X.OPEN_PAREN,regex:Jl("open",t.extraParens)},{type:X.CLOSE_PAREN,regex:Jl("close",t.extraParens)},{type:X.OPERATOR,regex:Ql(["+","-","/",">","<","=","<>","<=",">=","!=",...(r=t.operators)!==null&&r!==void 0?r:[]])},{type:X.ASTERISK,regex:/[*]/uy},{type:X.PROPERTY_ACCESS_OPERATOR,regex:Ql([".",...(n=t.propertyAccessOperators)!==null&&n!==void 0?n:[]])}])}buildParamRules(t,r){var n,s,T,E,i;const l={named:(r==null?void 0:r.named)||((n=t.paramTypes)===null||n===void 0?void 0:n.named)||[],quoted:(r==null?void 0:r.quoted)||((s=t.paramTypes)===null||s===void 0?void 0:s.quoted)||[],numbered:(r==null?void 0:r.numbered)||((T=t.paramTypes)===null||T===void 0?void 0:T.numbered)||[],positional:typeof(r==null?void 0:r.positional)=="boolean"?r.positional:(E=t.paramTypes)===null||E===void 0?void 0:E.positional,custom:(r==null?void 0:r.custom)||((i=t.paramTypes)===null||i===void 0?void 0:i.custom)||[]};return this.validRules([{type:X.NAMED_PARAMETER,regex:nn(l.named,e_(t.paramChars||t.identChars)),key:o=>o.slice(1)},{type:X.QUOTED_PARAMETER,regex:nn(l.quoted,zh(t.identTypes)),key:o=>(({tokenKey:u,quoteChar:a})=>u.replace(new RegExp(Ue("\\"+a),"gu"),a))({tokenKey:o.slice(2,-1),quoteChar:o.slice(-1)})},{type:X.NUMBERED_PARAMETER,regex:nn(l.numbered,"[0-9]+"),key:o=>o.slice(1)},{type:X.POSITIONAL_PARAMETER,regex:l.positional?/[?]/y:void 0},...l.custom.map(o=>{var u;return{type:X.CUSTOM_PARAMETER,regex:Je(o.regex),key:(u=o.key)!==null&&u!==void 0?u:a=>a}})])}validRules(t){return t.filter(r=>!!r.regex)}}const _e=e=>Jt(e.toUpperCase()),tR=new Map,OL=e=>{let t=tR.get(e);return t||(t=NL(e),tR.set(e,t)),t},NL=e=>({tokenizer:new SL(e.tokenizerOptions,e.name),formatOptions:IL(e.formatOptions)}),IL=e=>{var t;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(r=>[r,!0])),tabularOnelineClauses:Object.fromEntries(((t=e.tabularOnelineClauses)!==null&&t!==void 0?t:e.onelineClauses).map(r=>[r,!0]))}};function hL(e){return e.indentStyle==="tabularLeft"||e.indentStyle==="tabularRight"?" ".repeat(10):e.useTabs?" ":" ".repeat(e.tabWidth)}function Tt(e){return e.indentStyle==="tabularLeft"||e.indentStyle==="tabularRight"}class _L{constructor(t){this.params=t,this.index=0}get({key:t,text:r}){return this.params?t?this.params[t]:this.params[this.index++]:r}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(t){this.index=t}}var Qt={exports:{}},CL=Qt.exports,rR;function fL(){return rR||(rR=1,function(e){(function(t,r){e.exports?e.exports=r():t.nearley=r()})(CL,function(){function t(o,u,a){return this.id=++t.highestId,this.name=o,this.symbols=u,this.postprocess=a,this}t.highestId=0,t.prototype.toString=function(o){var u=typeof o>"u"?this.symbols.map(l).join(" "):this.symbols.slice(0,o).map(l).join(" ")+" ● "+this.symbols.slice(o).map(l).join(" ");return this.name+" → "+u};function r(o,u,a,R){this.rule=o,this.dot=u,this.reference=a,this.data=[],this.wantedBy=R,this.isComplete=this.dot===o.symbols.length}r.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},r.prototype.nextState=function(o){var u=new r(this.rule,this.dot+1,this.reference,this.wantedBy);return u.left=this,u.right=o,u.isComplete&&(u.data=u.build(),u.right=void 0),u},r.prototype.build=function(){var o=[],u=this;do o.push(u.right.data),u=u.left;while(u.left);return o.reverse(),o},r.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,E.fail))};function n(o,u){this.grammar=o,this.index=u,this.states=[],this.wants={},this.scannable=[],this.completed={}}n.prototype.process=function(o){for(var u=this.states,a=this.wants,R=this.completed,A=0;A<u.length;A++){var I=u[A];if(I.isComplete){if(I.finish(),I.data!==E.fail){for(var h=I.wantedBy,c=h.length;c--;){var S=h[c];this.complete(S,I)}if(I.reference===this.index){var O=I.rule.name;(this.completed[O]=this.completed[O]||[]).push(I)}}}else{var O=I.rule.symbols[I.dot];if(typeof O!="string"){this.scannable.push(I);continue}if(a[O]){if(a[O].push(I),R.hasOwnProperty(O))for(var C=R[O],c=0;c<C.length;c++){var f=C[c];this.complete(I,f)}}else a[O]=[I],this.predict(O)}}},n.prototype.predict=function(o){for(var u=this.grammar.byName[o]||[],a=0;a<u.length;a++){var R=u[a],A=this.wants[o],I=new r(R,0,this.index,A);this.states.push(I)}},n.prototype.complete=function(o,u){var a=o.nextState(u);this.states.push(a)};function s(o,u){this.rules=o,this.start=u||this.rules[0].name;var a=this.byName={};this.rules.forEach(function(R){a.hasOwnProperty(R.name)||(a[R.name]=[]),a[R.name].push(R)})}s.fromCompiled=function(R,u){var a=R.Lexer;R.ParserStart&&(u=R.ParserStart,R=R.ParserRules);var R=R.map(function(I){return new t(I.name,I.symbols,I.postprocess)}),A=new s(R,u);return A.lexer=a,A};function T(){this.reset("")}T.prototype.reset=function(o,u){this.buffer=o,this.index=0,this.line=u?u.line:1,this.lastLineBreak=u?-u.col:0},T.prototype.next=function(){if(this.index<this.buffer.length){var o=this.buffer[this.index++];return o===`
|
|
146
|
-
`&&(this.line+=1,this.lastLineBreak=this.index),{value:o}}},T.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},T.prototype.formatError=function(o,u){var a=this.buffer;if(typeof a=="string"){var R=a.split(`
|
|
147
|
-
`).slice(Math.max(0,this.line-5),this.line),A=a.indexOf(`
|
|
148
|
-
`,this.index);A===-1&&(A=a.length);var I=this.index-this.lastLineBreak,h=String(this.line).length;return u+=" at line "+this.line+" col "+I+`:
|
|
149
|
-
|
|
150
|
-
`,u+=R.map(function(S,O){return c(this.line-R.length+O+1,h)+" "+S},this).join(`
|
|
151
|
-
`),u+=`
|
|
152
|
-
`+c("",h+I)+`^
|
|
153
|
-
`,u}else return u+" at index "+(this.index-1);function c(S,O){var C=String(S);return Array(O-C.length+1).join(" ")+C}};function E(o,u,a){if(o instanceof s)var R=o,a=u;else var R=s.fromCompiled(o,u);this.grammar=R,this.options={keepHistory:!1,lexer:R.lexer||new T};for(var A in a||{})this.options[A]=a[A];this.lexer=this.options.lexer,this.lexerState=void 0;var I=new n(R,0);this.table=[I],I.wants[R.start]=[],I.predict(R.start),I.process(),this.current=0}E.fail={},E.prototype.feed=function(o){var u=this.lexer;u.reset(o,this.lexerState);for(var a;;){try{if(a=u.next(),!a)break}catch(P){var h=new n(this.grammar,this.current+1);this.table.push(h);var R=new Error(this.reportLexerError(P));throw R.offset=this.current,R.token=P.token,R}var A=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var I=this.current+1,h=new n(this.grammar,I);this.table.push(h);for(var c=a.text!==void 0?a.text:a.value,S=u.constructor===T?a.value:a,O=A.scannable,C=O.length;C--;){var f=O[C],p=f.rule.symbols[f.dot];if(p.test?p.test(S):p.type?p.type===a.type:p.literal===c){var L=f.nextState({data:S,token:a,isToken:!0,reference:I-1});h.states.push(L)}}if(h.process(),h.states.length===0){var R=new Error(this.reportError(a));throw R.offset=this.current,R.token=a,R}this.options.keepHistory&&(A.lexerState=u.save()),this.current++}return A&&(this.lexerState=u.save()),this.results=this.finish(),this},E.prototype.reportLexerError=function(o){var u,a,R=o.token;return R?(u="input "+JSON.stringify(R.text[0])+" (lexer error)",a=this.lexer.formatError(R,"Syntax error")):(u="input (lexer error)",a=o.message),this.reportErrorCommon(a,u)},E.prototype.reportError=function(o){var u=(o.type?o.type+" token: ":"")+JSON.stringify(o.value!==void 0?o.value:o),a=this.lexer.formatError(o,"Syntax error");return this.reportErrorCommon(a,u)},E.prototype.reportErrorCommon=function(o,u){var a=[];a.push(o);var R=this.table.length-2,A=this.table[R],I=A.states.filter(function(c){var S=c.rule.symbols[c.dot];return S&&typeof S!="string"});if(I.length===0)a.push("Unexpected "+u+`. I did not expect any more input. Here is the state of my parse table:
|
|
154
|
-
`),this.displayStateStack(A.states,a);else{a.push("Unexpected "+u+`. Instead, I was expecting to see one of the following:
|
|
155
|
-
`);var h=I.map(function(c){return this.buildFirstStateStack(c,[])||[c]},this);h.forEach(function(c){var S=c[0],O=S.rule.symbols[S.dot],C=this.getSymbolDisplay(O);a.push("A "+C+" based on:"),this.displayStateStack(c,a)},this)}return a.push(""),a.join(`
|
|
156
|
-
`)},E.prototype.displayStateStack=function(o,u){for(var a,R=0,A=0;A<o.length;A++){var I=o[A],h=I.rule.toString(I.dot);h===a?R++:(R>0&&u.push(" ^ "+R+" more lines identical to this"),R=0,u.push(" "+h)),a=h}},E.prototype.getSymbolDisplay=function(o){return i(o)},E.prototype.buildFirstStateStack=function(o,u){if(u.indexOf(o)!==-1)return null;if(o.wantedBy.length===0)return[o];var a=o.wantedBy[0],R=[o].concat(u),A=this.buildFirstStateStack(a,R);return A===null?null:[o].concat(A)},E.prototype.save=function(){var o=this.table[this.current];return o.lexerState=this.lexerState,o},E.prototype.restore=function(o){var u=o.index;this.current=u,this.table[u]=o,this.table.splice(u+1),this.lexerState=o.lexerState,this.results=this.finish()},E.prototype.rewind=function(o){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[o])},E.prototype.finish=function(){var o=[],u=this.grammar.start,a=this.table[this.table.length-1];return a.states.forEach(function(R){R.rule.name===u&&R.dot===R.rule.symbols.length&&R.reference===0&&R.data!==E.fail&&o.push(R)}),o.map(function(R){return R.data})};function i(o){var u=typeof o;if(u==="string")return o;if(u==="object"){if(o.literal)return JSON.stringify(o.literal);if(o instanceof RegExp)return"character matching "+o;if(o.type)return o.type+" token";if(o.test)return"token matching "+String(o.test);throw new Error("Unknown symbol type: "+o)}}function l(o){var u=typeof o;if(u==="string")return o;if(u==="object"){if(o.literal)return JSON.stringify(o.literal);if(o instanceof RegExp)return o.toString();if(o.type)return"%"+o.type;if(o.test)return"<"+String(o.test)+">";throw new Error("Unknown symbol type: "+o)}}return{Parser:E,Grammar:s,Rule:t}})}(Qt)),Qt.exports}var pL=fL();const dL=Kh(pL);function LL(e){return e.map(mL).map(PL).map(yL).map(DL).map(gL)}const mL=(e,t,r)=>{if(Jh(e.type)){const n=ML(r,t);if(n&&n.type===X.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},e),{type:X.IDENTIFIER,text:e.raw});const s=At(r,t);if(s&&s.type===X.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},e),{type:X.IDENTIFIER,text:e.raw})}return e},PL=(e,t,r)=>{if(e.type===X.RESERVED_FUNCTION_NAME){const n=At(r,t);if(!n||!r_(n))return Object.assign(Object.assign({},e),{type:X.IDENTIFIER,text:e.raw})}return e},yL=(e,t,r)=>{if(e.type===X.RESERVED_DATA_TYPE){const n=At(r,t);if(n&&r_(n))return Object.assign(Object.assign({},e),{type:X.RESERVED_PARAMETERIZED_DATA_TYPE})}return e},DL=(e,t,r)=>{if(e.type===X.IDENTIFIER){const n=At(r,t);if(n&&n_(n))return Object.assign(Object.assign({},e),{type:X.ARRAY_IDENTIFIER})}return e},gL=(e,t,r)=>{if(e.type===X.RESERVED_DATA_TYPE){const n=At(r,t);if(n&&n_(n))return Object.assign(Object.assign({},e),{type:X.ARRAY_KEYWORD})}return e},ML=(e,t)=>At(e,t,-1),At=(e,t,r=1)=>{let n=1;for(;e[t+n*r]&&UL(e[t+n*r]);)n++;return e[t+n*r]},r_=e=>e.type===X.OPEN_PAREN&&e.text==="(",n_=e=>e.type===X.OPEN_PAREN&&e.text==="[",UL=e=>e.type===X.BLOCK_COMMENT||e.type===X.LINE_COMMENT;class i_{constructor(t){this.tokenize=t,this.index=0,this.tokens=[],this.input=""}reset(t,r){this.input=t,this.index=0,this.tokens=this.tokenize(t)}next(){return this.tokens[this.index++]}save(){}formatError(t){const{line:r,col:n}=t_(this.input,t.start);return`Parse error at token: ${t.text} at line ${r} column ${n}`}has(t){return t in X}}var Z;(function(e){e.statement="statement",e.clause="clause",e.set_operation="set_operation",e.function_call="function_call",e.parameterized_data_type="parameterized_data_type",e.array_subscript="array_subscript",e.property_access="property_access",e.parenthesis="parenthesis",e.between_predicate="between_predicate",e.case_expression="case_expression",e.case_when="case_when",e.case_else="case_else",e.limit_clause="limit_clause",e.all_columns_asterisk="all_columns_asterisk",e.literal="literal",e.identifier="identifier",e.keyword="keyword",e.data_type="data_type",e.parameter="parameter",e.operator="operator",e.comma="comma",e.line_comment="line_comment",e.block_comment="block_comment",e.disable_comment="disable_comment"})(Z=Z||(Z={}));function sn(e){return e[0]}const ie=new i_(e=>[]),We=([[e]])=>e,Ce=e=>({type:Z.keyword,tokenType:e.type,text:e.text,raw:e.raw}),nR=e=>({type:Z.data_type,text:e.text,raw:e.raw}),fe=(e,{leading:t,trailing:r})=>(t!=null&&t.length&&(e=Object.assign(Object.assign({},e),{leadingComments:t})),r!=null&&r.length&&(e=Object.assign(Object.assign({},e),{trailingComments:r})),e),bL=(e,{leading:t,trailing:r})=>{if(t!=null&&t.length){const[n,...s]=e;e=[fe(n,{leading:t}),...s]}if(r!=null&&r.length){const n=e.slice(0,-1),s=e[e.length-1];e=[...n,fe(s,{trailing:r})]}return e},wL={Lexer:ie,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:[ie.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[ie.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:Z.statement,children:e,hasSemicolon:t.type===X.DELIMITER})},{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:We},{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:[ie.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:sn},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[ie.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,r,n])=>{if(n){const[s,T]=n;return{type:Z.limit_clause,limitKw:fe(Ce(e),{trailing:t}),offset:r,count:T}}else return{type:Z.limit_clause,limitKw:fe(Ce(e),{trailing:t}),count:r}}},{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:[ie.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,r]])=>({type:Z.clause,nameKw:Ce(e),children:[t,...r]})},{name:"select_clause",symbols:[ie.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:Z.clause,nameKw:Ce(e),children:[]})},{name:"all_columns_asterisk",symbols:[ie.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:Z.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:[ie.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:Z.clause,nameKw:Ce(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:[ie.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:Z.set_operation,nameKw:Ce(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:sn},{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])=>fe(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>fe(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>fe(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:We},{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:We},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:We},{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:We},{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:We},{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:We},{name:"array_subscript",symbols:[ie.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,r])=>({type:Z.array_subscript,array:fe({type:Z.identifier,quoted:!1,text:e.text},{trailing:t}),parenthesis:r})},{name:"array_subscript",symbols:[ie.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,r])=>({type:Z.array_subscript,array:fe(Ce(e),{trailing:t}),parenthesis:r})},{name:"function_call",symbols:[ie.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,r])=>({type:Z.function_call,nameKw:fe(Ce(e),{trailing:t}),parenthesis:r})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,r])=>({type:Z.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,r])=>({type:Z.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,r])=>({type:Z.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","_",ie.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,t,r,n,[s]])=>({type:Z.property_access,object:fe(e,{trailing:t}),operator:r.text,property:fe(s,{leading:n})})},{name:"between_predicate",symbols:[ie.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",ie.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,r,n,s,T,E])=>({type:Z.between_predicate,betweenKw:Ce(e),expr1:bL(r,{leading:t,trailing:n}),andKw:Ce(s),expr2:[fe(E,{leading:T})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:sn},{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:[ie.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",ie.has("END")?{type:"END"}:END],postprocess:([e,t,r,n,s])=>({type:Z.case_expression,caseKw:fe(Ce(e),{trailing:t}),endKw:Ce(s),expr:r||[],clauses:n})},{name:"case_clause",symbols:[ie.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",ie.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,r,n,s,T])=>({type:Z.case_when,whenKw:fe(Ce(e),{trailing:t}),thenKw:fe(Ce(n),{trailing:s}),condition:r,result:T})},{name:"case_clause",symbols:[ie.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,r])=>({type:Z.case_else,elseKw:fe(Ce(e),{trailing:t}),result:r})},{name:"comma$subexpression$1",symbols:[ie.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:Z.comma})},{name:"asterisk$subexpression$1",symbols:[ie.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:Z.operator,text:e.text})},{name:"operator$subexpression$1",symbols:[ie.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:Z.operator,text:e.text})},{name:"identifier$subexpression$1",symbols:[ie.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[ie.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[ie.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:Z.identifier,quoted:e.type!=="IDENTIFIER",text:e.text})},{name:"parameter$subexpression$1",symbols:[ie.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ie.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ie.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ie.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ie.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:Z.parameter,key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[ie.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[ie.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:Z.literal,text:e.text})},{name:"keyword$subexpression$1",symbols:[ie.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[ie.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[ie.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>Ce(e)},{name:"data_type$subexpression$1",symbols:[ie.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>nR(e)},{name:"data_type",symbols:[ie.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,r])=>({type:Z.parameterized_data_type,dataType:fe(nR(e),{trailing:t}),parenthesis:r})},{name:"logic_operator$subexpression$1",symbols:[ie.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[ie.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[ie.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>Ce(e)},{name:"other_keyword$subexpression$1",symbols:[ie.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[ie.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[ie.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[ie.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>Ce(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:[ie.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:Z.line_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[ie.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:Z.block_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[ie.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:Z.disable_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},{Parser:GL,Grammar:vL}=dL;function BL(e){let t={};const r=new i_(s=>[...LL(e.tokenize(s,t)),kh(s.length)]),n=new GL(vL.fromCompiled(wL),{lexer:r});return{parse:(s,T)=>{t=T;const{results:E}=n.feed(s);if(E.length===1)return E[0];throw E.length===0?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar
|
|
157
|
-
${JSON.stringify(E,void 0,2)}`)}}}var V;(function(e){e[e.SPACE=0]="SPACE",e[e.NO_SPACE=1]="NO_SPACE",e[e.NO_NEWLINE=2]="NO_NEWLINE",e[e.NEWLINE=3]="NEWLINE",e[e.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",e[e.INDENT=5]="INDENT",e[e.SINGLE_INDENT=6]="SINGLE_INDENT"})(V=V||(V={}));class s_{constructor(t){this.indentation=t,this.items=[]}add(...t){for(const r of t)switch(r){case V.SPACE:this.items.push(V.SPACE);break;case V.NO_SPACE:this.trimHorizontalWhitespace();break;case V.NO_NEWLINE:this.trimWhitespace();break;case V.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(V.NEWLINE);break;case V.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(V.MANDATORY_NEWLINE);break;case V.INDENT:this.addIndentation();break;case V.SINGLE_INDENT:this.items.push(V.SINGLE_INDENT);break;default:this.items.push(r)}}trimHorizontalWhitespace(){for(;FL(yt(this.items));)this.items.pop()}trimWhitespace(){for(;HL(yt(this.items));)this.items.pop()}addNewline(t){if(this.items.length>0)switch(yt(this.items)){case V.NEWLINE:this.items.pop(),this.items.push(t);break;case V.MANDATORY_NEWLINE:break;default:this.items.push(t);break}}addIndentation(){for(let t=0;t<this.indentation.getLevel();t++)this.items.push(V.SINGLE_INDENT)}toString(){return this.items.map(t=>this.itemToString(t)).join("")}getLayoutItems(){return this.items}itemToString(t){switch(t){case V.SPACE:return" ";case V.NEWLINE:case V.MANDATORY_NEWLINE:return`
|
|
158
|
-
`;case V.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return t}}}const FL=e=>e===V.SPACE||e===V.SINGLE_INDENT,HL=e=>e===V.SPACE||e===V.SINGLE_INDENT||e===V.NEWLINE;function iR(e,t){if(t==="standard")return e;let r=[];return e.length>=10&&e.includes(" ")&&([e,...r]=e.split(" ")),t==="tabularLeft"?e=e.padEnd(9," "):e=e.padStart(9," "),e+["",...r].join(" ")}function sR(e){return jC(e)||e===X.RESERVED_CLAUSE||e===X.RESERVED_SELECT||e===X.RESERVED_SET_OPERATION||e===X.RESERVED_JOIN||e===X.LIMIT}const on="top-level",qL="block-level";class o_{constructor(t){this.indent=t,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(on)}increaseBlockLevel(){this.indentTypes.push(qL)}decreaseTopLevel(){this.indentTypes.length>0&&yt(this.indentTypes)===on&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===on;);}}class YL extends s_{constructor(t){super(new o_("")),this.expressionWidth=t,this.length=0,this.trailingSpace=!1}add(...t){if(t.forEach(r=>this.addToLength(r)),this.length>this.expressionWidth)throw new Uu;super.add(...t)}addToLength(t){if(typeof t=="string")this.length+=t.length,this.trailingSpace=!1;else{if(t===V.MANDATORY_NEWLINE||t===V.NEWLINE)throw new Uu;t===V.INDENT||t===V.SINGLE_INDENT||t===V.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):(t===V.NO_NEWLINE||t===V.NO_SPACE)&&this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class Uu extends Error{}class zt{constructor({cfg:t,dialectCfg:r,params:n,layout:s,inline:T=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=t,this.dialectCfg=r,this.inline=T,this.params=n,this.layout=s}format(t){for(this.nodes=t,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(t){this.formatComments(t.leadingComments),this.formatNodeWithoutComments(t),this.formatComments(t.trailingComments)}formatNodeWithoutComments(t){switch(t.type){case Z.function_call:return this.formatFunctionCall(t);case Z.parameterized_data_type:return this.formatParameterizedDataType(t);case Z.array_subscript:return this.formatArraySubscript(t);case Z.property_access:return this.formatPropertyAccess(t);case Z.parenthesis:return this.formatParenthesis(t);case Z.between_predicate:return this.formatBetweenPredicate(t);case Z.case_expression:return this.formatCaseExpression(t);case Z.case_when:return this.formatCaseWhen(t);case Z.case_else:return this.formatCaseElse(t);case Z.clause:return this.formatClause(t);case Z.set_operation:return this.formatSetOperation(t);case Z.limit_clause:return this.formatLimitClause(t);case Z.all_columns_asterisk:return this.formatAllColumnsAsterisk(t);case Z.literal:return this.formatLiteral(t);case Z.identifier:return this.formatIdentifier(t);case Z.parameter:return this.formatParameter(t);case Z.operator:return this.formatOperator(t);case Z.comma:return this.formatComma(t);case Z.line_comment:return this.formatLineComment(t);case Z.block_comment:return this.formatBlockComment(t);case Z.disable_comment:return this.formatBlockComment(t);case Z.data_type:return this.formatDataType(t);case Z.keyword:return this.formatKeywordNode(t)}}formatFunctionCall(t){this.withComments(t.nameKw,()=>{this.layout.add(this.showFunctionKw(t.nameKw))}),this.formatNode(t.parenthesis)}formatParameterizedDataType(t){this.withComments(t.dataType,()=>{this.layout.add(this.showDataType(t.dataType))}),this.formatNode(t.parenthesis)}formatArraySubscript(t){let r;switch(t.array.type){case Z.data_type:r=this.showDataType(t.array);break;case Z.keyword:r=this.showKw(t.array);break;default:r=this.showIdentifier(t.array);break}this.withComments(t.array,()=>{this.layout.add(r)}),this.formatNode(t.parenthesis)}formatPropertyAccess(t){this.formatNode(t.object),this.layout.add(V.NO_SPACE,t.operator),this.formatNode(t.property)}formatParenthesis(t){const r=this.formatInlineExpression(t.children);r?(this.layout.add(t.openParen),this.layout.add(...r.getLayoutItems()),this.layout.add(V.NO_SPACE,t.closeParen,V.SPACE)):(this.layout.add(t.openParen,V.NEWLINE),Tt(this.cfg)?(this.layout.add(V.INDENT),this.layout=this.formatSubExpression(t.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(V.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(V.NEWLINE,V.INDENT,t.closeParen,V.SPACE))}formatBetweenPredicate(t){this.layout.add(this.showKw(t.betweenKw),V.SPACE),this.layout=this.formatSubExpression(t.expr1),this.layout.add(V.NO_SPACE,V.SPACE,this.showNonTabularKw(t.andKw),V.SPACE),this.layout=this.formatSubExpression(t.expr2),this.layout.add(V.SPACE)}formatCaseExpression(t){this.formatNode(t.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(t.expr),this.layout=this.formatSubExpression(t.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(V.NEWLINE,V.INDENT),this.formatNode(t.endKw)}formatCaseWhen(t){this.layout.add(V.NEWLINE,V.INDENT),this.formatNode(t.whenKw),this.layout=this.formatSubExpression(t.condition),this.formatNode(t.thenKw),this.layout=this.formatSubExpression(t.result)}formatCaseElse(t){this.layout.add(V.NEWLINE,V.INDENT),this.formatNode(t.elseKw),this.layout=this.formatSubExpression(t.result)}formatClause(t){this.isOnelineClause(t)?this.formatClauseInOnelineStyle(t):Tt(this.cfg)?this.formatClauseInTabularStyle(t):this.formatClauseInIndentedStyle(t)}isOnelineClause(t){return Tt(this.cfg)?this.dialectCfg.tabularOnelineClauses[t.nameKw.text]:this.dialectCfg.onelineClauses[t.nameKw.text]}formatClauseInIndentedStyle(t){this.layout.add(V.NEWLINE,V.INDENT,this.showKw(t.nameKw),V.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(V.INDENT),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(t){this.layout.add(V.NEWLINE,V.INDENT,this.showKw(t.nameKw),V.SPACE),this.layout=this.formatSubExpression(t.children)}formatClauseInTabularStyle(t){this.layout.add(V.NEWLINE,V.INDENT,this.showKw(t.nameKw),V.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(t){this.layout.add(V.NEWLINE,V.INDENT,this.showKw(t.nameKw),V.NEWLINE),this.layout.add(V.INDENT),this.layout=this.formatSubExpression(t.children)}formatLimitClause(t){this.withComments(t.limitKw,()=>{this.layout.add(V.NEWLINE,V.INDENT,this.showKw(t.limitKw))}),this.layout.indentation.increaseTopLevel(),Tt(this.cfg)?this.layout.add(V.SPACE):this.layout.add(V.NEWLINE,V.INDENT),t.offset?(this.layout=this.formatSubExpression(t.offset),this.layout.add(V.NO_SPACE,",",V.SPACE),this.layout=this.formatSubExpression(t.count)):this.layout=this.formatSubExpression(t.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(t){this.layout.add("*",V.SPACE)}formatLiteral(t){this.layout.add(t.text,V.SPACE)}formatIdentifier(t){this.layout.add(this.showIdentifier(t),V.SPACE)}formatParameter(t){this.layout.add(this.params.get(t),V.SPACE)}formatOperator({text:t}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(t)?this.layout.add(V.NO_SPACE,t):t===":"?this.layout.add(V.NO_SPACE,t,V.SPACE):this.layout.add(t,V.SPACE)}formatComma(t){this.inline?this.layout.add(V.NO_SPACE,",",V.SPACE):this.layout.add(V.NO_SPACE,",",V.NEWLINE,V.INDENT)}withComments(t,r){this.formatComments(t.leadingComments),r(),this.formatComments(t.trailingComments)}formatComments(t){t&&t.forEach(r=>{r.type===Z.line_comment?this.formatLineComment(r):this.formatBlockComment(r)})}formatLineComment(t){rn(t.precedingWhitespace||"")?this.layout.add(V.NEWLINE,V.INDENT,t.text,V.MANDATORY_NEWLINE,V.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(V.NO_NEWLINE,V.SPACE,t.text,V.MANDATORY_NEWLINE,V.INDENT):this.layout.add(t.text,V.MANDATORY_NEWLINE,V.INDENT)}formatBlockComment(t){t.type===Z.block_comment&&this.isMultilineBlockComment(t)?(this.splitBlockComment(t.text).forEach(r=>{this.layout.add(V.NEWLINE,V.INDENT,r)}),this.layout.add(V.NEWLINE,V.INDENT)):this.layout.add(t.text,V.SPACE)}isMultilineBlockComment(t){return rn(t.text)||rn(t.precedingWhitespace||"")}isDocComment(t){const r=t.split(/\n/);return/^\/\*\*?$/.test(r[0])&&r.slice(1,r.length-1).every(n=>/^\s*\*/.test(n))&&/^\s*\*\/$/.test(yt(r))}splitBlockComment(t){return this.isDocComment(t)?t.split(/\n/).map(r=>/^\s*\*/.test(r)?" "+r.replace(/^\s*/,""):r):t.split(/\n/).map(r=>r.replace(/^\s*/,""))}formatSubExpression(t){return new zt({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const r=this.params.getPositionalParameterIndex();try{return new zt({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new YL(this.cfg.expressionWidth),inline:!0}).format(t)}catch(n){if(n instanceof Uu){this.params.setPositionalParameterIndex(r);return}else throw n}}formatKeywordNode(t){switch(t.tokenType){case X.RESERVED_JOIN:return this.formatJoin(t);case X.AND:case X.OR:case X.XOR:return this.formatLogicalOperator(t);default:return this.formatKeyword(t)}}formatJoin(t){Tt(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(V.NEWLINE,V.INDENT,this.showKw(t),V.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(V.NEWLINE,V.INDENT,this.showKw(t),V.SPACE)}formatKeyword(t){this.layout.add(this.showKw(t),V.SPACE)}formatLogicalOperator(t){this.cfg.logicalOperatorNewline==="before"?Tt(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(V.NEWLINE,V.INDENT,this.showKw(t),V.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(V.NEWLINE,V.INDENT,this.showKw(t),V.SPACE):this.layout.add(this.showKw(t),V.NEWLINE,V.INDENT)}formatDataType(t){this.layout.add(this.showDataType(t),V.SPACE)}showKw(t){return sR(t.tokenType)?iR(this.showNonTabularKw(t),this.cfg.indentStyle):this.showNonTabularKw(t)}showNonTabularKw(t){switch(this.cfg.keywordCase){case"preserve":return Jt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showFunctionKw(t){return sR(t.tokenType)?iR(this.showNonTabularFunctionKw(t),this.cfg.indentStyle):this.showNonTabularFunctionKw(t)}showNonTabularFunctionKw(t){switch(this.cfg.functionCase){case"preserve":return Jt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showIdentifier(t){if(t.quoted)return t.text;switch(this.cfg.identifierCase){case"preserve":return t.text;case"upper":return t.text.toUpperCase();case"lower":return t.text.toLowerCase()}}showDataType(t){switch(this.cfg.dataTypeCase){case"preserve":return Jt(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}}class $L{constructor(t,r){this.dialect=t,this.cfg=r,this.params=new _L(this.cfg.params)}format(t){const r=this.parse(t);return this.formatAst(r).trimEnd()}parse(t){return BL(this.dialect.tokenizer).parse(t,this.cfg.paramTypes||{})}formatAst(t){return t.map(r=>this.formatStatement(r)).join(`
|
|
159
|
-
`.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(t){const r=new zt({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new s_(new o_(hL(this.cfg)))}).format(t.children);return t.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?r.add(V.NEWLINE,";"):r.add(V.NO_NEWLINE,";")),r.toString()}}class Zt extends Error{}function VL(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const r of t)if(r in e)throw new Zt(`${r} config is no more supported.`);if(e.expressionWidth<=0)throw new Zt(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);if(e.params&&!xL(e.params)&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!WL(e.paramTypes))throw new Zt("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}function xL(e){return(e instanceof Array?e:Object.values(e)).every(r=>typeof r=="string")}function WL(e){return e.custom&&Array.isArray(e.custom)?e.custom.every(t=>t.regex!==""):!0}var XL=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(e);s<n.length;s++)t.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(e,n[s])&&(r[n[s]]=e[n[s]]);return r};const E_={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"},KL=Object.keys(E_),jL={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},kL=(e,t={})=>{if(typeof t.language=="string"&&!KL.includes(t.language))throw new Zt(`Unsupported SQL dialect: ${t.language}`);const r=E_[t.language||"sql"];return JL(e,Object.assign(Object.assign({},t),{dialect:rL[r]}))},JL=(e,t)=>{var{dialect:r}=t,n=XL(t,["dialect"]);if(typeof e!="string")throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const s=VL(Object.assign(Object.assign({},jL),n));return new $L(OL(r),s).format(e)},a_=(e,t)=>{try{return kL(e,{language:"postgresql",keywordCase:"upper",linesBetweenQueries:1,functionCase:"upper",newlineBeforeSemicolon:!0,paramTypes:{named:[":"]},params:t})}catch(r){return console.error("formatStatementSql error:",r),e}};function T_(e,t,r){let n=0;for(let T=0;T<r;T++)/\s/.test(e[T])||n++;if(n===0)return 0;let s=0;for(let T=0;T<t.length;T++)if(!/\s/.test(t[T])&&(s++,s===n))return T+1;return t.length}function QL(e,t){const r=e.state.doc.toString();if(!r)return!0;const n=t(r);if(n===r)return e.focus(),!0;const s=e.state.selection.main.head,T=T_(r,n,s);return e.dispatch({changes:{from:0,to:e.state.doc.length,insert:n},selection:{anchor:T,head:T},effects:[Mu.scrollIntoView(T,{y:"center"})]}),e.focus(),!0}function ZL(e,t){let r=t-1;for(;r>=0&&e[r]!==`
|
|
160
|
-
`;)r--;return r+1}function zL(e){const t=e.state.selection.main,{currentStatements:r}=FC(e);if(!r.length)return;const n=r[0],s=r[r.length-1],T=Math.min(n.from,t.from),E=Math.max(s.to,t.to),i=e.state.doc.toString(),l=ZL(i,T),o=e.state.doc.sliceString(T,E),u=a_(o);if(u===o&&l===T){e.focus();return}if(!t.empty)e.dispatch({changes:{from:l,to:E,insert:u},selection:{anchor:l,head:l+u.length},effects:[Mu.scrollIntoView(l)]});else{const a=t.head-T,R=T_(o,u,a),A=l+R;e.dispatch({changes:{from:l,to:E,insert:u},selection:{anchor:A,head:A},effects:[Mu.scrollIntoView(A,{y:"center",x:"center"})]})}e.focus()}function Bg({getEditorView:e}){return{onHandleFormatCurrentStatement:()=>{const n=e();n&&zL(n)},onHandleFormatCode:()=>{const n=e();n&&QL(n,a_)}}}var Ht={exports:{}},qt={},Yt={},$t={},oR;function u_(){if(oR)return $t;oR=1,Object.defineProperty($t,"__esModule",{value:!0});let e=class extends Error{};return $t.TimeoutError=e,$t}var Me={},Vt={},ER;function em(){if(ER)return Vt;ER=1,Object.defineProperty(Vt,"__esModule",{value:!0});let e=class{constructor(r){this._value=r.value,this._error=r.error}value(){return this._value}reason(){return this._error}isRejected(){return!!this._error}isFulfilled(){return!!this._value}};return Vt.PromiseInspection=e,Vt}var aR;function Gu(){if(aR)return Me;aR=1,Object.defineProperty(Me,"__esModule",{value:!0});const e=em();function t(){let o=null,u=null;return{promise:new Promise((R,A)=>{o=R,u=A}),resolve:o,reject:u}}Me.defer=t;function r(){return Date.now()}Me.now=r;function n(o,u){return Math.abs(u-o)}Me.duration=n;function s(o){return typeof o>"u"?!0:T(o)}Me.checkOptionalTime=s;function T(o){return typeof o=="number"&&o===Math.round(o)&&o>0}Me.checkRequiredTime=T;function E(o){return new Promise(u=>setTimeout(u,o))}Me.delay=E;function i(o){return o.then(u=>new e.PromiseInspection({value:u})).catch(u=>new e.PromiseInspection({error:u}))}Me.reflect=i;function l(o){try{const u=o();return Promise.resolve(u)}catch(u){return Promise.reject(u)}}return Me.tryPromise=l,Me}var TR;function tm(){if(TR)return Yt;TR=1,Object.defineProperty(Yt,"__esModule",{value:!0});const e=u_(),t=Gu();let r=class{constructor(T){this.timeoutMillis=T,this.deferred=t.defer(),this.possibleTimeoutCause=null,this.isRejected=!1,this.promise=n(this.deferred.promise,T).catch(E=>(E instanceof e.TimeoutError&&(this.possibleTimeoutCause?E=new e.TimeoutError(this.possibleTimeoutCause.message):E=new e.TimeoutError("operation timed out for an unknown reason")),this.isRejected=!0,Promise.reject(E)))}abort(){this.reject(new Error("aborted"))}reject(T){this.deferred.reject(T)}resolve(T){this.deferred.resolve(T)}};Yt.PendingOperation=r;function n(s,T){return new Promise((E,i)=>{const l=setTimeout(()=>i(new e.TimeoutError),T);s.then(o=>{clearTimeout(l),E(o)}).catch(o=>{clearTimeout(l),i(o)})})}return Yt}var xt={},uR;function rm(){if(uR)return xt;uR=1,Object.defineProperty(xt,"__esModule",{value:!0});const e=Gu();let t=class l_{constructor(n){this.resource=n,this.resource=n,this.timestamp=e.now(),this.deferred=e.defer()}get promise(){return this.deferred.promise}resolve(){return this.deferred.resolve(void 0),new l_(this.resource)}};return xt.Resource=t,xt}var Wt={exports:{}},lR;function Qe(){if(lR)return Wt.exports;lR=1;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(p,L,P){return Function.prototype.apply.call(p,L,P)},r;e&&typeof e.ownKeys=="function"?r=e.ownKeys:Object.getOwnPropertySymbols?r=function(p){return Object.getOwnPropertyNames(p).concat(Object.getOwnPropertySymbols(p))}:r=function(p){return Object.getOwnPropertyNames(p)};function n(f){console&&console.warn&&console.warn(f)}var s=Number.isNaN||function(p){return p!==p};function T(){T.init.call(this)}Wt.exports=T,Wt.exports.once=S,T.EventEmitter=T,T.prototype._events=void 0,T.prototype._eventsCount=0,T.prototype._maxListeners=void 0;var E=10;function i(f){if(typeof f!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof f)}Object.defineProperty(T,"defaultMaxListeners",{enumerable:!0,get:function(){return E},set:function(f){if(typeof f!="number"||f<0||s(f))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+f+".");E=f}}),T.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},T.prototype.setMaxListeners=function(p){if(typeof p!="number"||p<0||s(p))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+p+".");return this._maxListeners=p,this};function l(f){return f._maxListeners===void 0?T.defaultMaxListeners:f._maxListeners}T.prototype.getMaxListeners=function(){return l(this)},T.prototype.emit=function(p){for(var L=[],P=1;P<arguments.length;P++)L.push(arguments[P]);var D=p==="error",w=this._events;if(w!==void 0)D=D&&w.error===void 0;else if(!D)return!1;if(D){var _;if(L.length>0&&(_=L[0]),_ instanceof Error)throw _;var m=new Error("Unhandled error."+(_?" ("+_.message+")":""));throw m.context=_,m}var U=w[p];if(U===void 0)return!1;if(typeof U=="function")t(U,this,L);else for(var B=U.length,N=I(U,B),P=0;P<B;++P)t(N[P],this,L);return!0};function o(f,p,L,P){var D,w,_;if(i(L),w=f._events,w===void 0?(w=f._events=Object.create(null),f._eventsCount=0):(w.newListener!==void 0&&(f.emit("newListener",p,L.listener?L.listener:L),w=f._events),_=w[p]),_===void 0)_=w[p]=L,++f._eventsCount;else if(typeof _=="function"?_=w[p]=P?[L,_]:[_,L]:P?_.unshift(L):_.push(L),D=l(f),D>0&&_.length>D&&!_.warned){_.warned=!0;var m=new Error("Possible EventEmitter memory leak detected. "+_.length+" "+String(p)+" listeners added. Use emitter.setMaxListeners() to increase limit");m.name="MaxListenersExceededWarning",m.emitter=f,m.type=p,m.count=_.length,n(m)}return f}T.prototype.addListener=function(p,L){return o(this,p,L,!1)},T.prototype.on=T.prototype.addListener,T.prototype.prependListener=function(p,L){return o(this,p,L,!0)};function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function a(f,p,L){var P={fired:!1,wrapFn:void 0,target:f,type:p,listener:L},D=u.bind(P);return D.listener=L,P.wrapFn=D,D}T.prototype.once=function(p,L){return i(L),this.on(p,a(this,p,L)),this},T.prototype.prependOnceListener=function(p,L){return i(L),this.prependListener(p,a(this,p,L)),this},T.prototype.removeListener=function(p,L){var P,D,w,_,m;if(i(L),D=this._events,D===void 0)return this;if(P=D[p],P===void 0)return this;if(P===L||P.listener===L)--this._eventsCount===0?this._events=Object.create(null):(delete D[p],D.removeListener&&this.emit("removeListener",p,P.listener||L));else if(typeof P!="function"){for(w=-1,_=P.length-1;_>=0;_--)if(P[_]===L||P[_].listener===L){m=P[_].listener,w=_;break}if(w<0)return this;w===0?P.shift():h(P,w),P.length===1&&(D[p]=P[0]),D.removeListener!==void 0&&this.emit("removeListener",p,m||L)}return this},T.prototype.off=T.prototype.removeListener,T.prototype.removeAllListeners=function(p){var L,P,D;if(P=this._events,P===void 0)return this;if(P.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):P[p]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete P[p]),this;if(arguments.length===0){var w=Object.keys(P),_;for(D=0;D<w.length;++D)_=w[D],_!=="removeListener"&&this.removeAllListeners(_);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(L=P[p],typeof L=="function")this.removeListener(p,L);else if(L!==void 0)for(D=L.length-1;D>=0;D--)this.removeListener(p,L[D]);return this};function R(f,p,L){var P=f._events;if(P===void 0)return[];var D=P[p];return D===void 0?[]:typeof D=="function"?L?[D.listener||D]:[D]:L?c(D):I(D,D.length)}T.prototype.listeners=function(p){return R(this,p,!0)},T.prototype.rawListeners=function(p){return R(this,p,!1)},T.listenerCount=function(f,p){return typeof f.listenerCount=="function"?f.listenerCount(p):A.call(f,p)},T.prototype.listenerCount=A;function A(f){var p=this._events;if(p!==void 0){var L=p[f];if(typeof L=="function")return 1;if(L!==void 0)return L.length}return 0}T.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function I(f,p){for(var L=new Array(p),P=0;P<p;++P)L[P]=f[P];return L}function h(f,p){for(;p+1<f.length;p++)f[p]=f[p+1];f.pop()}function c(f){for(var p=new Array(f.length),L=0;L<p.length;++L)p[L]=f[L].listener||f[L];return p}function S(f,p){return new Promise(function(L,P){function D(_){f.removeListener(p,w),P(_)}function w(){typeof f.removeListener=="function"&&f.removeListener("error",D),L([].slice.call(arguments))}C(f,p,w,{once:!0}),p!=="error"&&O(f,D,{once:!0})})}function O(f,p,L){typeof f.on=="function"&&C(f,"error",p,L)}function C(f,p,L,P){if(typeof f.on=="function")P.once?f.once(p,L):f.on(p,L);else if(typeof f.addEventListener=="function")f.addEventListener(p,function D(w){P.once&&f.removeEventListener(p,D),L(w)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof f)}return Wt.exports}const nm={},im=Object.freeze(Object.defineProperty({__proto__:null,default:nm},Symbol.toStringTag,{value:"Module"})),Ie=DC(im);var RR;function sm(){if(RR)return qt;RR=1,Object.defineProperty(qt,"__esModule",{value:!0});const e=tm(),t=rm(),r=Gu(),n=Qe(),s=Ie;let T=class{constructor(o){if(this.destroyed=!1,this.emitter=new n.EventEmitter,o=o||{},!o.create)throw new Error("Tarn: opt.create function most be provided");if(!o.destroy)throw new Error("Tarn: opt.destroy function most be provided");if(typeof o.min!="number"||o.min<0||o.min!==Math.round(o.min))throw new Error("Tarn: opt.min must be an integer >= 0");if(typeof o.max!="number"||o.max<=0||o.max!==Math.round(o.max))throw new Error("Tarn: opt.max must be an integer > 0");if(o.min>o.max)throw new Error("Tarn: opt.max is smaller than opt.min");if(!r.checkOptionalTime(o.acquireTimeoutMillis))throw new Error("Tarn: invalid opt.acquireTimeoutMillis "+JSON.stringify(o.acquireTimeoutMillis));if(!r.checkOptionalTime(o.createTimeoutMillis))throw new Error("Tarn: invalid opt.createTimeoutMillis "+JSON.stringify(o.createTimeoutMillis));if(!r.checkOptionalTime(o.destroyTimeoutMillis))throw new Error("Tarn: invalid opt.destroyTimeoutMillis "+JSON.stringify(o.destroyTimeoutMillis));if(!r.checkOptionalTime(o.idleTimeoutMillis))throw new Error("Tarn: invalid opt.idleTimeoutMillis "+JSON.stringify(o.idleTimeoutMillis));if(!r.checkOptionalTime(o.reapIntervalMillis))throw new Error("Tarn: invalid opt.reapIntervalMillis "+JSON.stringify(o.reapIntervalMillis));if(!r.checkOptionalTime(o.createRetryIntervalMillis))throw new Error("Tarn: invalid opt.createRetryIntervalMillis "+JSON.stringify(o.createRetryIntervalMillis));const u={create:!0,validate:!0,destroy:!0,log:!0,min:!0,max:!0,acquireTimeoutMillis:!0,createTimeoutMillis:!0,destroyTimeoutMillis:!0,idleTimeoutMillis:!0,reapIntervalMillis:!0,createRetryIntervalMillis:!0,propagateCreateError:!0};for(const a of Object.keys(o))if(!u[a])throw new Error(`Tarn: unsupported option opt.${a}`);this.creator=o.create,this.destroyer=o.destroy,this.validate=typeof o.validate=="function"?o.validate:()=>!0,this.log=o.log||(()=>{}),this.acquireTimeoutMillis=o.acquireTimeoutMillis||3e4,this.createTimeoutMillis=o.createTimeoutMillis||3e4,this.destroyTimeoutMillis=o.destroyTimeoutMillis||5e3,this.idleTimeoutMillis=o.idleTimeoutMillis||3e4,this.reapIntervalMillis=o.reapIntervalMillis||1e3,this.createRetryIntervalMillis=o.createRetryIntervalMillis||200,this.propagateCreateError=!!o.propagateCreateError,this.min=o.min,this.max=o.max,this.used=[],this.free=[],this.pendingCreates=[],this.pendingAcquires=[],this.pendingDestroys=[],this.pendingValidations=[],this.destroyed=!1,this.interval=null,this.eventId=1}numUsed(){return this.used.length}numFree(){return this.free.length}numPendingAcquires(){return this.pendingAcquires.length}numPendingValidations(){return this.pendingValidations.length}numPendingCreates(){return this.pendingCreates.length}acquire(){const o=this.eventId++;this._executeEventHandlers("acquireRequest",o);const u=new e.PendingOperation(this.acquireTimeoutMillis);return this.pendingAcquires.push(u),u.promise=u.promise.then(a=>(this._executeEventHandlers("acquireSuccess",o,a),a)).catch(a=>(this._executeEventHandlers("acquireFail",o,a),E(this.pendingAcquires,u),Promise.reject(a))),this._tryAcquireOrCreate(),u}release(o){this._executeEventHandlers("release",o);for(let u=0,a=this.used.length;u<a;++u){const R=this.used[u];if(R.resource===o)return this.used.splice(u,1),this.free.push(R.resolve()),this._tryAcquireOrCreate(),!0}return!1}isEmpty(){return[this.numFree(),this.numUsed(),this.numPendingAcquires(),this.numPendingValidations(),this.numPendingCreates()].reduce((o,u)=>o+u)===0}check(){const o=r.now(),u=[],a=this.min-this.used.length,R=this.free.length-a;let A=0;this.free.forEach(I=>{r.duration(o,I.timestamp)>=this.idleTimeoutMillis&&A<R?(A++,this._destroy(I.resource)):u.push(I)}),this.free=u,this.isEmpty()&&this._stopReaping()}destroy(){const o=this.eventId++;return this._executeEventHandlers("poolDestroyRequest",o),this._stopReaping(),this.destroyed=!0,r.reflect(Promise.all(this.pendingCreates.map(u=>r.reflect(u.promise))).then(()=>new Promise((u,a)=>{if(this.numPendingValidations()===0){u();return}const R=setInterval(()=>{this.numPendingValidations()===0&&(s.clearInterval(R),u())},100)})).then(()=>Promise.all(this.used.map(u=>r.reflect(u.promise)))).then(()=>Promise.all(this.pendingAcquires.map(u=>(u.abort(),r.reflect(u.promise))))).then(()=>Promise.all(this.free.map(u=>r.reflect(this._destroy(u.resource))))).then(()=>Promise.all(this.pendingDestroys.map(u=>u.promise))).then(()=>{this.free=[],this.pendingAcquires=[]})).then(u=>(this._executeEventHandlers("poolDestroySuccess",o),this.emitter.removeAllListeners(),u))}on(o,u){this.emitter.on(o,u)}removeListener(o,u){this.emitter.removeListener(o,u)}removeAllListeners(o){this.emitter.removeAllListeners(o)}_tryAcquireOrCreate(){this.destroyed||(this._hasFreeResources()?this._doAcquire():this._shouldCreateMoreResources()&&this._doCreate())}_hasFreeResources(){return this.free.length>0}_doAcquire(){for(;this._canAcquire();){const o=this.pendingAcquires.shift(),u=this.free.pop();if(u===void 0||o===void 0){const R="this.free was empty while trying to acquire resource";throw this.log(`Tarn: ${R}`,"warn"),new Error(`Internal error, should never happen. ${R}`)}this.pendingValidations.push(o),this.used.push(u);const a=new e.PendingOperation(this.acquireTimeoutMillis);o.promise.catch(R=>{a.abort()}),a.promise.catch(R=>(this.log("Tarn: resource validator threw an exception "+R.stack,"warn"),!1)).then(R=>{try{R&&!o.isRejected?(this._startReaping(),o.resolve(u.resource)):(E(this.used,u),R?this.free.push(u):(this._destroy(u.resource),setTimeout(()=>{this._tryAcquireOrCreate()},0)),o.isRejected||this.pendingAcquires.unshift(o))}finally{E(this.pendingValidations,o)}}),this._validateResource(u.resource).then(R=>{a.resolve(R)}).catch(R=>{a.reject(R)})}}_canAcquire(){return this.free.length>0&&this.pendingAcquires.length>0}_validateResource(o){try{return Promise.resolve(this.validate(o))}catch(u){return Promise.reject(u)}}_shouldCreateMoreResources(){return this.used.length+this.pendingCreates.length<this.max&&this.pendingCreates.length<this.pendingAcquires.length}_doCreate(){const o=this.pendingAcquires.slice();this._create().promise.then(()=>(this._tryAcquireOrCreate(),null)).catch(a=>{this.propagateCreateError&&this.pendingAcquires.length!==0&&this.pendingAcquires[0].reject(a),o.forEach(R=>{R.possibleTimeoutCause=a}),r.delay(this.createRetryIntervalMillis).then(()=>this._tryAcquireOrCreate())})}_create(){const o=this.eventId++;this._executeEventHandlers("createRequest",o);const u=new e.PendingOperation(this.createTimeoutMillis);return u.promise=u.promise.catch(a=>{throw E(this.pendingCreates,u)&&this._executeEventHandlers("createFail",o,a),a}),this.pendingCreates.push(u),i(this.creator).then(a=>u.isRejected?(this.destroyer(a),null):(E(this.pendingCreates,u),this.free.push(new t.Resource(a)),u.resolve(a),this._executeEventHandlers("createSuccess",o,a),null)).catch(a=>(u.isRejected||(E(this.pendingCreates,u)&&this._executeEventHandlers("createFail",o,a),u.reject(a)),null)),u}_destroy(o){const u=this.eventId++;this._executeEventHandlers("destroyRequest",u,o);const a=new e.PendingOperation(this.destroyTimeoutMillis);return Promise.resolve().then(()=>this.destroyer(o)).then(()=>{a.resolve(o)}).catch(A=>{a.reject(A)}),this.pendingDestroys.push(a),a.promise.then(A=>(this._executeEventHandlers("destroySuccess",u,o),A)).catch(A=>this._logDestroyerError(u,o,A)).then(A=>{const I=this.pendingDestroys.findIndex(h=>h===a);return this.pendingDestroys.splice(I,1),A})}_logDestroyerError(o,u,a){this._executeEventHandlers("destroyFail",o,u,a),this.log("Tarn: resource destroyer threw an exception "+a.stack,"warn")}_startReaping(){this.interval||(this._executeEventHandlers("startReaping"),this.interval=setInterval(()=>this.check(),this.reapIntervalMillis))}_stopReaping(){this.interval!==null&&(this._executeEventHandlers("stopReaping"),s.clearInterval(this.interval)),this.interval=null}_executeEventHandlers(o,...u){this.emitter.listeners(o).forEach(R=>{try{R(...u)}catch(A){this.log(`Tarn: event handler "${o}" threw an exception ${A.stack}`,"warn")}})}};qt.Pool=T;function E(l,o){const u=l.indexOf(o);return u===-1?!1:(l.splice(u,1),!0)}function i(l){return new Promise((o,u)=>{const a=(R,A)=>{R?u(R):o(A)};r.tryPromise(()=>l(a)).then(R=>{R&&o(R)}).catch(R=>{u(R)})})}return qt}var AR;function om(){return AR||(AR=1,function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const r=sm();t.Pool=r.Pool;const n=u_();t.TimeoutError=n.TimeoutError,e.exports={Pool:r.Pool,TimeoutError:n.TimeoutError}}(Ht,Ht.exports)),Ht.exports}var En={},an={},Tn,cR;function R_(){return cR||(cR=1,Tn=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var s=42;t[r]=s;for(var T in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var E=Object.getOwnPropertySymbols(t);if(E.length!==1||E[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var i=Object.getOwnPropertyDescriptor(t,r);if(i.value!==s||i.enumerable!==!0)return!1}return!0}),Tn}var un,SR;function nr(){if(SR)return un;SR=1;var e=R_();return un=function(){return e()&&!!Symbol.toStringTag},un}var ln,NR;function A_(){return NR||(NR=1,ln=Object),ln}var Rn,IR;function Em(){return IR||(IR=1,Rn=Error),Rn}var An,hR;function am(){return hR||(hR=1,An=EvalError),An}var cn,_R;function Tm(){return _R||(_R=1,cn=RangeError),cn}var Sn,CR;function um(){return CR||(CR=1,Sn=ReferenceError),Sn}var On,fR;function c_(){return fR||(fR=1,On=SyntaxError),On}var Nn,pR;function Dt(){return pR||(pR=1,Nn=TypeError),Nn}var In,dR;function lm(){return dR||(dR=1,In=URIError),In}var hn,LR;function Rm(){return LR||(LR=1,hn=Math.abs),hn}var _n,mR;function Am(){return mR||(mR=1,_n=Math.floor),_n}var Cn,PR;function cm(){return PR||(PR=1,Cn=Math.max),Cn}var fn,yR;function Sm(){return yR||(yR=1,fn=Math.min),fn}var pn,DR;function Om(){return DR||(DR=1,pn=Math.pow),pn}var dn,gR;function Nm(){return gR||(gR=1,dn=Math.round),dn}var Ln,MR;function Im(){return MR||(MR=1,Ln=Number.isNaN||function(t){return t!==t}),Ln}var mn,UR;function hm(){if(UR)return mn;UR=1;var e=Im();return mn=function(r){return e(r)||r===0?r:r<0?-1:1},mn}var Pn,bR;function _m(){return bR||(bR=1,Pn=Object.getOwnPropertyDescriptor),Pn}var yn,wR;function ct(){if(wR)return yn;wR=1;var e=_m();if(e)try{e([],"length")}catch{e=null}return yn=e,yn}var Dn,GR;function ir(){if(GR)return Dn;GR=1;var e=Object.defineProperty||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return Dn=e,Dn}var gn,vR;function Cm(){if(vR)return gn;vR=1;var e=typeof Symbol<"u"&&Symbol,t=R_();return gn=function(){return typeof e!="function"||typeof Symbol!="function"||typeof e("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},gn}var Mn,BR;function S_(){return BR||(BR=1,Mn=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),Mn}var Un,FR;function O_(){if(FR)return Un;FR=1;var e=A_();return Un=e.getPrototypeOf||null,Un}var bn,HR;function fm(){if(HR)return bn;HR=1;var e="Function.prototype.bind called on incompatible ",t=Object.prototype.toString,r=Math.max,n="[object Function]",s=function(l,o){for(var u=[],a=0;a<l.length;a+=1)u[a]=l[a];for(var R=0;R<o.length;R+=1)u[R+l.length]=o[R];return u},T=function(l,o){for(var u=[],a=o,R=0;a<l.length;a+=1,R+=1)u[R]=l[a];return u},E=function(i,l){for(var o="",u=0;u<i.length;u+=1)o+=i[u],u+1<i.length&&(o+=l);return o};return bn=function(l){var o=this;if(typeof o!="function"||t.apply(o)!==n)throw new TypeError(e+o);for(var u=T(arguments,1),a,R=function(){if(this instanceof a){var S=o.apply(this,s(u,arguments));return Object(S)===S?S:this}return o.apply(l,s(u,arguments))},A=r(0,o.length-u.length),I=[],h=0;h<A;h++)I[h]="$"+h;if(a=Function("binder","return function ("+E(I,",")+"){ return binder.apply(this,arguments); }")(R),o.prototype){var c=function(){};c.prototype=o.prototype,a.prototype=new c,c.prototype=null}return a},bn}var wn,qR;function gt(){if(qR)return wn;qR=1;var e=fm();return wn=Function.prototype.bind||e,wn}var Gn,YR;function vu(){return YR||(YR=1,Gn=Function.prototype.call),Gn}var vn,$R;function Bu(){return $R||($R=1,vn=Function.prototype.apply),vn}var Bn,VR;function pm(){return VR||(VR=1,Bn=typeof Reflect<"u"&&Reflect&&Reflect.apply),Bn}var Fn,xR;function N_(){if(xR)return Fn;xR=1;var e=gt(),t=Bu(),r=vu(),n=pm();return Fn=n||e.call(r,t),Fn}var Hn,WR;function Fu(){if(WR)return Hn;WR=1;var e=gt(),t=Dt(),r=vu(),n=N_();return Hn=function(T){if(T.length<1||typeof T[0]!="function")throw new t("a function is required");return n(e,r,T)},Hn}var qn,XR;function dm(){if(XR)return qn;XR=1;var e=Fu(),t=ct(),r;try{r=[].__proto__===Array.prototype}catch(E){if(!E||typeof E!="object"||!("code"in E)||E.code!=="ERR_PROTO_ACCESS")throw E}var n=!!r&&t&&t(Object.prototype,"__proto__"),s=Object,T=s.getPrototypeOf;return qn=n&&typeof n.get=="function"?e([n.get]):typeof T=="function"?function(i){return T(i==null?i:s(i))}:!1,qn}var Yn,KR;function Hu(){if(KR)return Yn;KR=1;var e=S_(),t=O_(),r=dm();return Yn=e?function(s){return e(s)}:t?function(s){if(!s||typeof s!="object"&&typeof s!="function")throw new TypeError("getProto: not an object");return t(s)}:r?function(s){return r(s)}:null,Yn}var $n,jR;function I_(){if(jR)return $n;jR=1;var e=Function.prototype.call,t=Object.prototype.hasOwnProperty,r=gt();return $n=r.call(e,t),$n}var Vn,kR;function h_(){if(kR)return Vn;kR=1;var e,t=A_(),r=Em(),n=am(),s=Tm(),T=um(),E=c_(),i=Dt(),l=lm(),o=Rm(),u=Am(),a=cm(),R=Sm(),A=Om(),I=Nm(),h=hm(),c=Function,S=function(k){try{return c('"use strict"; return ('+k+").constructor;")()}catch{}},O=ct(),C=ir(),f=function(){throw new i},p=O?function(){try{return arguments.callee,f}catch{try{return O(arguments,"callee").get}catch{return f}}}():f,L=Cm()(),P=Hu(),D=O_(),w=S_(),_=Bu(),m=vu(),U={},B=typeof Uint8Array>"u"||!P?e:P(Uint8Array),N={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?e:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?e:ArrayBuffer,"%ArrayIteratorPrototype%":L&&P?P([][Symbol.iterator]()):e,"%AsyncFromSyncIteratorPrototype%":e,"%AsyncFunction%":U,"%AsyncGenerator%":U,"%AsyncGeneratorFunction%":U,"%AsyncIteratorPrototype%":U,"%Atomics%":typeof Atomics>"u"?e:Atomics,"%BigInt%":typeof BigInt>"u"?e:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?e:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?e:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?e:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":n,"%Float16Array%":typeof Float16Array>"u"?e:Float16Array,"%Float32Array%":typeof Float32Array>"u"?e:Float32Array,"%Float64Array%":typeof Float64Array>"u"?e:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?e:FinalizationRegistry,"%Function%":c,"%GeneratorFunction%":U,"%Int8Array%":typeof Int8Array>"u"?e:Int8Array,"%Int16Array%":typeof Int16Array>"u"?e:Int16Array,"%Int32Array%":typeof Int32Array>"u"?e:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":L&&P?P(P([][Symbol.iterator]())):e,"%JSON%":typeof JSON=="object"?JSON:e,"%Map%":typeof Map>"u"?e:Map,"%MapIteratorPrototype%":typeof Map>"u"||!L||!P?e:P(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":t,"%Object.getOwnPropertyDescriptor%":O,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?e:Promise,"%Proxy%":typeof Proxy>"u"?e:Proxy,"%RangeError%":s,"%ReferenceError%":T,"%Reflect%":typeof Reflect>"u"?e:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?e:Set,"%SetIteratorPrototype%":typeof Set>"u"||!L||!P?e:P(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?e:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":L&&P?P(""[Symbol.iterator]()):e,"%Symbol%":L?Symbol:e,"%SyntaxError%":E,"%ThrowTypeError%":p,"%TypedArray%":B,"%TypeError%":i,"%Uint8Array%":typeof Uint8Array>"u"?e:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?e:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?e:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?e:Uint32Array,"%URIError%":l,"%WeakMap%":typeof WeakMap>"u"?e:WeakMap,"%WeakRef%":typeof WeakRef>"u"?e:WeakRef,"%WeakSet%":typeof WeakSet>"u"?e:WeakSet,"%Function.prototype.call%":m,"%Function.prototype.apply%":_,"%Object.defineProperty%":C,"%Object.getPrototypeOf%":D,"%Math.abs%":o,"%Math.floor%":u,"%Math.max%":a,"%Math.min%":R,"%Math.pow%":A,"%Math.round%":I,"%Math.sign%":h,"%Reflect.getPrototypeOf%":w};if(P)try{null.error}catch(k){var d=P(P(k));N["%Error.prototype%"]=d}var g=function k(J){var te;if(J==="%AsyncFunction%")te=S("async function () {}");else if(J==="%GeneratorFunction%")te=S("function* () {}");else if(J==="%AsyncGeneratorFunction%")te=S("async function* () {}");else if(J==="%AsyncGenerator%"){var re=k("%AsyncGeneratorFunction%");re&&(te=re.prototype)}else if(J==="%AsyncIteratorPrototype%"){var le=k("%AsyncGenerator%");le&&P&&(te=P(le.prototype))}return N[J]=te,te},x={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},j=gt(),Q=I_(),G=j.call(m,Array.prototype.concat),K=j.call(_,Array.prototype.splice),ee=j.call(m,String.prototype.replace),b=j.call(m,String.prototype.slice),v=j.call(m,RegExp.prototype.exec),W=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,z=/\\(\\)?/g,ae=function(J){var te=b(J,0,1),re=b(J,-1);if(te==="%"&&re!=="%")throw new E("invalid intrinsic syntax, expected closing `%`");if(re==="%"&&te!=="%")throw new E("invalid intrinsic syntax, expected opening `%`");var le=[];return ee(J,W,function(M,F,se,ne){le[le.length]=se?ee(ne,z,"$1"):F||M}),le},Te=function(J,te){var re=J,le;if(Q(x,re)&&(le=x[re],re="%"+le[0]+"%"),Q(N,re)){var M=N[re];if(M===U&&(M=g(re)),typeof M>"u"&&!te)throw new i("intrinsic "+J+" exists, but is not available. Please file an issue!");return{alias:le,name:re,value:M}}throw new E("intrinsic "+J+" does not exist!")};return Vn=function(J,te){if(typeof J!="string"||J.length===0)throw new i("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof te!="boolean")throw new i('"allowMissing" argument must be a boolean');if(v(/^%?[^%]*%?$/,J)===null)throw new E("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var re=ae(J),le=re.length>0?re[0]:"",M=Te("%"+le+"%",te),F=M.name,se=M.value,ne=!1,pe=M.alias;pe&&(le=pe[0],K(re,G([0,1],pe)));for(var $=1,Pe=!0;$<re.length;$+=1){var Se=re[$],de=b(Se,0,1),Re=b(Se,-1);if((de==='"'||de==="'"||de==="`"||Re==='"'||Re==="'"||Re==="`")&&de!==Re)throw new E("property names with quotes must have matching quotes");if((Se==="constructor"||!Pe)&&(ne=!0),le+="."+Se,F="%"+le+"%",Q(N,F))se=N[F];else if(se!=null){if(!(Se in se)){if(!te)throw new i("base intrinsic for "+J+" exists, but the property is not available.");return}if(O&&$+1>=re.length){var ue=O(se,Se);Pe=!!ue,Pe&&"get"in ue&&!("originalValue"in ue.get)?se=ue.get:se=se[Se]}else Pe=Q(se,Se),se=se[Se];Pe&&!ne&&(N[F]=se)}}return se},Vn}var xn,JR;function Mt(){if(JR)return xn;JR=1;var e=h_(),t=Fu(),r=t([e("%String.prototype.indexOf%")]);return xn=function(s,T){var E=e(s,!!T);return typeof E=="function"&&r(s,".prototype.")>-1?t([E]):E},xn}var Wn,QR;function Lm(){if(QR)return Wn;QR=1;var e=nr()(),t=Mt(),r=t("Object.prototype.toString"),n=function(i){return e&&i&&typeof i=="object"&&Symbol.toStringTag in i?!1:r(i)==="[object Arguments]"},s=function(i){return n(i)?!0:i!==null&&typeof i=="object"&&"length"in i&&typeof i.length=="number"&&i.length>=0&&r(i)!=="[object Array]"&&"callee"in i&&r(i.callee)==="[object Function]"},T=function(){return n(arguments)}();return n.isLegacyArguments=s,Wn=T?n:s,Wn}var Xn,ZR;function mm(){if(ZR)return Xn;ZR=1;var e=Mt(),t=nr()(),r=I_(),n=ct(),s;if(t){var T=e("RegExp.prototype.exec"),E={},i=function(){throw E},l={toString:i,valueOf:i};typeof Symbol.toPrimitive=="symbol"&&(l[Symbol.toPrimitive]=i),s=function(R){if(!R||typeof R!="object")return!1;var A=n(R,"lastIndex"),I=A&&r(A,"value");if(!I)return!1;try{T(R,l)}catch(h){return h===E}}}else{var o=e("Object.prototype.toString"),u="[object RegExp]";s=function(R){return!R||typeof R!="object"&&typeof R!="function"?!1:o(R)===u}}return Xn=s,Xn}var Kn,zR;function Pm(){if(zR)return Kn;zR=1;var e=Mt(),t=mm(),r=e("RegExp.prototype.exec"),n=Dt();return Kn=function(T){if(!t(T))throw new n("`regex` must be a RegExp");return function(i){return r(T,i)!==null}},Kn}var jn,eA;function ym(){if(eA)return jn;eA=1;var e=Mt(),t=Pm(),r=t(/^\s*(?:function)?\*/),n=nr()(),s=Hu(),T=e("Object.prototype.toString"),E=e("Function.prototype.toString"),i=function(){if(!n)return!1;try{return Function("return function*() {}")()}catch{}},l;return jn=function(u){if(typeof u!="function")return!1;if(r(E(u)))return!0;if(!n){var a=T(u);return a==="[object GeneratorFunction]"}if(!s)return!1;if(typeof l>"u"){var R=i();l=R?s(R):!1}return s(u)===l},jn}var kn,tA;function Dm(){if(tA)return kn;tA=1;var e=Function.prototype.toString,t=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,r,n;if(typeof t=="function"&&typeof Object.defineProperty=="function")try{r=Object.defineProperty({},"length",{get:function(){throw n}}),n={},t(function(){throw 42},null,r)}catch(O){O!==n&&(t=null)}else t=null;var s=/^\s*class\b/,T=function(C){try{var f=e.call(C);return s.test(f)}catch{return!1}},E=function(C){try{return T(C)?!1:(e.call(C),!0)}catch{return!1}},i=Object.prototype.toString,l="[object Object]",o="[object Function]",u="[object GeneratorFunction]",a="[object HTMLAllCollection]",R="[object HTML document.all class]",A="[object HTMLCollection]",I=typeof Symbol=="function"&&!!Symbol.toStringTag,h=!(0 in[,]),c=function(){return!1};if(typeof document=="object"){var S=document.all;i.call(S)===i.call(document.all)&&(c=function(C){if((h||!C)&&(typeof C>"u"||typeof C=="object"))try{var f=i.call(C);return(f===a||f===R||f===A||f===l)&&C("")==null}catch{}return!1})}return kn=t?function(C){if(c(C))return!0;if(!C||typeof C!="function"&&typeof C!="object")return!1;try{t(C,null,r)}catch(f){if(f!==n)return!1}return!T(C)&&E(C)}:function(C){if(c(C))return!0;if(!C||typeof C!="function"&&typeof C!="object")return!1;if(I)return E(C);if(T(C))return!1;var f=i.call(C);return f!==o&&f!==u&&!/^\[object HTML/.test(f)?!1:E(C)},kn}var Jn,rA;function gm(){if(rA)return Jn;rA=1;var e=Dm(),t=Object.prototype.toString,r=Object.prototype.hasOwnProperty,n=function(l,o,u){for(var a=0,R=l.length;a<R;a++)r.call(l,a)&&(u==null?o(l[a],a,l):o.call(u,l[a],a,l))},s=function(l,o,u){for(var a=0,R=l.length;a<R;a++)u==null?o(l.charAt(a),a,l):o.call(u,l.charAt(a),a,l)},T=function(l,o,u){for(var a in l)r.call(l,a)&&(u==null?o(l[a],a,l):o.call(u,l[a],a,l))};function E(i){return t.call(i)==="[object Array]"}return Jn=function(l,o,u){if(!e(o))throw new TypeError("iterator must be a function");var a;arguments.length>=3&&(a=u),E(l)?n(l,o,a):typeof l=="string"?s(l,o,a):T(l,o,a)},Jn}var Qn,nA;function Mm(){return nA||(nA=1,Qn=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]),Qn}var Zn,iA;function Um(){if(iA)return Zn;iA=1;var e=Mm(),t=typeof globalThis>"u"?ut:globalThis;return Zn=function(){for(var n=[],s=0;s<e.length;s++)typeof t[e[s]]=="function"&&(n[n.length]=e[s]);return n},Zn}var zn={exports:{}},ei,sA;function bm(){if(sA)return ei;sA=1;var e=ir(),t=c_(),r=Dt(),n=ct();return ei=function(T,E,i){if(!T||typeof T!="object"&&typeof T!="function")throw new r("`obj` must be an object or a function`");if(typeof E!="string"&&typeof E!="symbol")throw new r("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new r("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new r("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new r("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new r("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,o=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,a=arguments.length>6?arguments[6]:!1,R=!!n&&n(T,E);if(e)e(T,E,{configurable:u===null&&R?R.configurable:!u,enumerable:l===null&&R?R.enumerable:!l,value:i,writable:o===null&&R?R.writable:!o});else if(a||!l&&!o&&!u)T[E]=i;else throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},ei}var ti,oA;function wm(){if(oA)return ti;oA=1;var e=ir(),t=function(){return!!e};return t.hasArrayLengthDefineBug=function(){if(!e)return null;try{return e([],"length",{value:1}).length!==1}catch{return!0}},ti=t,ti}var ri,EA;function Gm(){if(EA)return ri;EA=1;var e=h_(),t=bm(),r=wm()(),n=ct(),s=Dt(),T=e("%Math.floor%");return ri=function(i,l){if(typeof i!="function")throw new s("`fn` is not a function");if(typeof l!="number"||l<0||l>4294967295||T(l)!==l)throw new s("`length` must be a positive 32-bit integer");var o=arguments.length>2&&!!arguments[2],u=!0,a=!0;if("length"in i&&n){var R=n(i,"length");R&&!R.configurable&&(u=!1),R&&!R.writable&&(a=!1)}return(u||a||!o)&&(r?t(i,"length",l,!0,!0):t(i,"length",l)),i},ri}var ni,aA;function vm(){if(aA)return ni;aA=1;var e=gt(),t=Bu(),r=N_();return ni=function(){return r(e,t,arguments)},ni}var TA;function Bm(){return TA||(TA=1,function(e){var t=Gm(),r=ir(),n=Fu(),s=vm();e.exports=function(E){var i=n(arguments),l=E.length-(arguments.length-1);return t(i,1+(l>0?l:0),!0)},r?r(e.exports,"apply",{value:s}):e.exports.apply=s}(zn)),zn.exports}var ii,uA;function __(){if(uA)return ii;uA=1;var e=gm(),t=Um(),r=Bm(),n=Mt(),s=ct(),T=Hu(),E=n("Object.prototype.toString"),i=nr()(),l=typeof globalThis>"u"?ut:globalThis,o=t(),u=n("String.prototype.slice"),a=n("Array.prototype.indexOf",!0)||function(c,S){for(var O=0;O<c.length;O+=1)if(c[O]===S)return O;return-1},R={__proto__:null};i&&s&&T?e(o,function(h){var c=new l[h];if(Symbol.toStringTag in c&&T){var S=T(c),O=s(S,Symbol.toStringTag);if(!O&&S){var C=T(S);O=s(C,Symbol.toStringTag)}R["$"+h]=r(O.get)}}):e(o,function(h){var c=new l[h],S=c.slice||c.set;S&&(R["$"+h]=r(S))});var A=function(c){var S=!1;return e(R,function(O,C){if(!S)try{"$"+O(c)===C&&(S=u(C,1))}catch{}}),S},I=function(c){var S=!1;return e(R,function(O,C){if(!S)try{O(c),S=u(C,1)}catch{}}),S};return ii=function(c){if(!c||typeof c!="object")return!1;if(!i){var S=u(E(c),8,-1);return a(o,S)>-1?S:S!=="Object"?!1:I(c)}return s?A(c):null},ii}var si,lA;function Fm(){if(lA)return si;lA=1;var e=__();return si=function(r){return!!e(r)},si}var RA;function Hm(){return RA||(RA=1,function(e){var t=Lm(),r=ym(),n=__(),s=Fm();function T($){return $.call.bind($)}var E=typeof BigInt<"u",i=typeof Symbol<"u",l=T(Object.prototype.toString),o=T(Number.prototype.valueOf),u=T(String.prototype.valueOf),a=T(Boolean.prototype.valueOf);if(E)var R=T(BigInt.prototype.valueOf);if(i)var A=T(Symbol.prototype.valueOf);function I($,Pe){if(typeof $!="object")return!1;try{return Pe($),!0}catch{return!1}}e.isArgumentsObject=t,e.isGeneratorFunction=r,e.isTypedArray=s;function h($){return typeof Promise<"u"&&$ instanceof Promise||$!==null&&typeof $=="object"&&typeof $.then=="function"&&typeof $.catch=="function"}e.isPromise=h;function c($){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView($):s($)||b($)}e.isArrayBufferView=c;function S($){return n($)==="Uint8Array"}e.isUint8Array=S;function O($){return n($)==="Uint8ClampedArray"}e.isUint8ClampedArray=O;function C($){return n($)==="Uint16Array"}e.isUint16Array=C;function f($){return n($)==="Uint32Array"}e.isUint32Array=f;function p($){return n($)==="Int8Array"}e.isInt8Array=p;function L($){return n($)==="Int16Array"}e.isInt16Array=L;function P($){return n($)==="Int32Array"}e.isInt32Array=P;function D($){return n($)==="Float32Array"}e.isFloat32Array=D;function w($){return n($)==="Float64Array"}e.isFloat64Array=w;function _($){return n($)==="BigInt64Array"}e.isBigInt64Array=_;function m($){return n($)==="BigUint64Array"}e.isBigUint64Array=m;function U($){return l($)==="[object Map]"}U.working=typeof Map<"u"&&U(new Map);function B($){return typeof Map>"u"?!1:U.working?U($):$ instanceof Map}e.isMap=B;function N($){return l($)==="[object Set]"}N.working=typeof Set<"u"&&N(new Set);function d($){return typeof Set>"u"?!1:N.working?N($):$ instanceof Set}e.isSet=d;function g($){return l($)==="[object WeakMap]"}g.working=typeof WeakMap<"u"&&g(new WeakMap);function x($){return typeof WeakMap>"u"?!1:g.working?g($):$ instanceof WeakMap}e.isWeakMap=x;function j($){return l($)==="[object WeakSet]"}j.working=typeof WeakSet<"u"&&j(new WeakSet);function Q($){return j($)}e.isWeakSet=Q;function G($){return l($)==="[object ArrayBuffer]"}G.working=typeof ArrayBuffer<"u"&&G(new ArrayBuffer);function K($){return typeof ArrayBuffer>"u"?!1:G.working?G($):$ instanceof ArrayBuffer}e.isArrayBuffer=K;function ee($){return l($)==="[object DataView]"}ee.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&ee(new DataView(new ArrayBuffer(1),0,1));function b($){return typeof DataView>"u"?!1:ee.working?ee($):$ instanceof DataView}e.isDataView=b;var v=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function W($){return l($)==="[object SharedArrayBuffer]"}function z($){return typeof v>"u"?!1:(typeof W.working>"u"&&(W.working=W(new v)),W.working?W($):$ instanceof v)}e.isSharedArrayBuffer=z;function ae($){return l($)==="[object AsyncFunction]"}e.isAsyncFunction=ae;function Te($){return l($)==="[object Map Iterator]"}e.isMapIterator=Te;function k($){return l($)==="[object Set Iterator]"}e.isSetIterator=k;function J($){return l($)==="[object Generator]"}e.isGeneratorObject=J;function te($){return l($)==="[object WebAssembly.Module]"}e.isWebAssemblyCompiledModule=te;function re($){return I($,o)}e.isNumberObject=re;function le($){return I($,u)}e.isStringObject=le;function M($){return I($,a)}e.isBooleanObject=M;function F($){return E&&I($,R)}e.isBigIntObject=F;function se($){return i&&I($,A)}e.isSymbolObject=se;function ne($){return re($)||le($)||M($)||F($)||se($)}e.isBoxedPrimitive=ne;function pe($){return typeof Uint8Array<"u"&&(K($)||z($))}e.isAnyArrayBuffer=pe,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function($){Object.defineProperty(e,$,{enumerable:!1,value:function(){throw new Error($+" is not supported in userland")}})})}(an)),an}var oi,AA;function qm(){return AA||(AA=1,oi=function(t){return t&&typeof t=="object"&&typeof t.copy=="function"&&typeof t.fill=="function"&&typeof t.readUInt8=="function"}),oi}var Xt={exports:{}},cA;function Ym(){return cA||(cA=1,typeof Object.create=="function"?Xt.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:Xt.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}),Xt.exports}var SA;function Ye(){return SA||(SA=1,function(e){var t={},r=Object.getOwnPropertyDescriptors||function(v){for(var W=Object.keys(v),z={},ae=0;ae<W.length;ae++)z[W[ae]]=Object.getOwnPropertyDescriptor(v,W[ae]);return z},n=/%[sdj%]/g;e.format=function(b){if(!L(b)){for(var v=[],W=0;W<arguments.length;W++)v.push(i(arguments[W]));return v.join(" ")}for(var W=1,z=arguments,ae=z.length,Te=String(b).replace(n,function(J){if(J==="%%")return"%";if(W>=ae)return J;switch(J){case"%s":return String(z[W++]);case"%d":return Number(z[W++]);case"%j":try{return JSON.stringify(z[W++])}catch{return"[Circular]"}default:return J}}),k=z[W];W<ae;k=z[++W])C(k)||!_(k)?Te+=" "+k:Te+=" "+i(k);return Te},e.deprecate=function(b,v){if(typeof process<"u"&&process.noDeprecation===!0)return b;if(typeof process>"u")return function(){return e.deprecate(b,v).apply(this,arguments)};var W=!1;function z(){if(!W){if(process.throwDeprecation)throw new Error(v);process.traceDeprecation?console.trace(v):console.error(v),W=!0}return b.apply(this,arguments)}return z};var s={},T=/^$/;if(t.NODE_DEBUG){var E=t.NODE_DEBUG;E=E.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),T=new RegExp("^"+E+"$","i")}e.debuglog=function(b){if(b=b.toUpperCase(),!s[b])if(T.test(b)){var v=process.pid;s[b]=function(){var W=e.format.apply(e,arguments);console.error("%s %d: %s",b,v,W)}}else s[b]=function(){};return s[b]};function i(b,v){var W={seen:[],stylize:o};return arguments.length>=3&&(W.depth=arguments[2]),arguments.length>=4&&(W.colors=arguments[3]),O(v)?W.showHidden=v:v&&e._extend(W,v),D(W.showHidden)&&(W.showHidden=!1),D(W.depth)&&(W.depth=2),D(W.colors)&&(W.colors=!1),D(W.customInspect)&&(W.customInspect=!0),W.colors&&(W.stylize=l),a(W,b,W.depth)}e.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function l(b,v){var W=i.styles[v];return W?"\x1B["+i.colors[W][0]+"m"+b+"\x1B["+i.colors[W][1]+"m":b}function o(b,v){return b}function u(b){var v={};return b.forEach(function(W,z){v[W]=!0}),v}function a(b,v,W){if(b.customInspect&&v&&B(v.inspect)&&v.inspect!==e.inspect&&!(v.constructor&&v.constructor.prototype===v)){var z=v.inspect(W,b);return L(z)||(z=a(b,z,W)),z}var ae=R(b,v);if(ae)return ae;var Te=Object.keys(v),k=u(Te);if(b.showHidden&&(Te=Object.getOwnPropertyNames(v)),U(v)&&(Te.indexOf("message")>=0||Te.indexOf("description")>=0))return A(v);if(Te.length===0){if(B(v)){var J=v.name?": "+v.name:"";return b.stylize("[Function"+J+"]","special")}if(w(v))return b.stylize(RegExp.prototype.toString.call(v),"regexp");if(m(v))return b.stylize(Date.prototype.toString.call(v),"date");if(U(v))return A(v)}var te="",re=!1,le=["{","}"];if(S(v)&&(re=!0,le=["[","]"]),B(v)){var M=v.name?": "+v.name:"";te=" [Function"+M+"]"}if(w(v)&&(te=" "+RegExp.prototype.toString.call(v)),m(v)&&(te=" "+Date.prototype.toUTCString.call(v)),U(v)&&(te=" "+A(v)),Te.length===0&&(!re||v.length==0))return le[0]+te+le[1];if(W<0)return w(v)?b.stylize(RegExp.prototype.toString.call(v),"regexp"):b.stylize("[Object]","special");b.seen.push(v);var F;return re?F=I(b,v,W,k,Te):F=Te.map(function(se){return h(b,v,W,k,se,re)}),b.seen.pop(),c(F,te,le)}function R(b,v){if(D(v))return b.stylize("undefined","undefined");if(L(v)){var W="'"+JSON.stringify(v).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return b.stylize(W,"string")}if(p(v))return b.stylize(""+v,"number");if(O(v))return b.stylize(""+v,"boolean");if(C(v))return b.stylize("null","null")}function A(b){return"["+Error.prototype.toString.call(b)+"]"}function I(b,v,W,z,ae){for(var Te=[],k=0,J=v.length;k<J;++k)Q(v,String(k))?Te.push(h(b,v,W,z,String(k),!0)):Te.push("");return ae.forEach(function(te){te.match(/^\d+$/)||Te.push(h(b,v,W,z,te,!0))}),Te}function h(b,v,W,z,ae,Te){var k,J,te;if(te=Object.getOwnPropertyDescriptor(v,ae)||{value:v[ae]},te.get?te.set?J=b.stylize("[Getter/Setter]","special"):J=b.stylize("[Getter]","special"):te.set&&(J=b.stylize("[Setter]","special")),Q(z,ae)||(k="["+ae+"]"),J||(b.seen.indexOf(te.value)<0?(C(W)?J=a(b,te.value,null):J=a(b,te.value,W-1),J.indexOf(`
|
|
161
|
-
`)>-1&&(Te?J=J.split(`
|
|
162
|
-
`).map(function(re){return" "+re}).join(`
|
|
163
|
-
`).slice(2):J=`
|
|
164
|
-
`+J.split(`
|
|
165
|
-
`).map(function(re){return" "+re}).join(`
|
|
166
|
-
`))):J=b.stylize("[Circular]","special")),D(k)){if(Te&&ae.match(/^\d+$/))return J;k=JSON.stringify(""+ae),k.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(k=k.slice(1,-1),k=b.stylize(k,"name")):(k=k.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),k=b.stylize(k,"string"))}return k+": "+J}function c(b,v,W){var z=b.reduce(function(ae,Te){return Te.indexOf(`
|
|
167
|
-
`)>=0,ae+Te.replace(/\u001b\[\d\d?m/g,"").length+1},0);return z>60?W[0]+(v===""?"":v+`
|
|
168
|
-
`)+" "+b.join(`,
|
|
169
|
-
`)+" "+W[1]:W[0]+v+" "+b.join(", ")+" "+W[1]}e.types=Hm();function S(b){return Array.isArray(b)}e.isArray=S;function O(b){return typeof b=="boolean"}e.isBoolean=O;function C(b){return b===null}e.isNull=C;function f(b){return b==null}e.isNullOrUndefined=f;function p(b){return typeof b=="number"}e.isNumber=p;function L(b){return typeof b=="string"}e.isString=L;function P(b){return typeof b=="symbol"}e.isSymbol=P;function D(b){return b===void 0}e.isUndefined=D;function w(b){return _(b)&&d(b)==="[object RegExp]"}e.isRegExp=w,e.types.isRegExp=w;function _(b){return typeof b=="object"&&b!==null}e.isObject=_;function m(b){return _(b)&&d(b)==="[object Date]"}e.isDate=m,e.types.isDate=m;function U(b){return _(b)&&(d(b)==="[object Error]"||b instanceof Error)}e.isError=U,e.types.isNativeError=U;function B(b){return typeof b=="function"}e.isFunction=B;function N(b){return b===null||typeof b=="boolean"||typeof b=="number"||typeof b=="string"||typeof b=="symbol"||typeof b>"u"}e.isPrimitive=N,e.isBuffer=qm();function d(b){return Object.prototype.toString.call(b)}function g(b){return b<10?"0"+b.toString(10):b.toString(10)}var x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function j(){var b=new Date,v=[g(b.getHours()),g(b.getMinutes()),g(b.getSeconds())].join(":");return[b.getDate(),x[b.getMonth()],v].join(" ")}e.log=function(){console.log("%s - %s",j(),e.format.apply(e,arguments))},e.inherits=Ym(),e._extend=function(b,v){if(!v||!_(v))return b;for(var W=Object.keys(v),z=W.length;z--;)b[W[z]]=v[W[z]];return b};function Q(b,v){return Object.prototype.hasOwnProperty.call(b,v)}var G=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;e.promisify=function(v){if(typeof v!="function")throw new TypeError('The "original" argument must be of type Function');if(G&&v[G]){var W=v[G];if(typeof W!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(W,G,{value:W,enumerable:!1,writable:!1,configurable:!0}),W}function W(){for(var z,ae,Te=new Promise(function(te,re){z=te,ae=re}),k=[],J=0;J<arguments.length;J++)k.push(arguments[J]);k.push(function(te,re){te?ae(te):z(re)});try{v.apply(this,k)}catch(te){ae(te)}return Te}return Object.setPrototypeOf(W,Object.getPrototypeOf(v)),G&&Object.defineProperty(W,G,{value:W,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(W,r(v))},e.promisify.custom=G;function K(b,v){if(!b){var W=new Error("Promise was rejected with a falsy value");W.reason=b,b=W}return v(b)}function ee(b){if(typeof b!="function")throw new TypeError('The "original" argument must be of type Function');function v(){for(var W=[],z=0;z<arguments.length;z++)W.push(arguments[z]);var ae=W.pop();if(typeof ae!="function")throw new TypeError("The last argument must be of type Function");var Te=this,k=function(){return ae.apply(Te,arguments)};b.apply(this,W).then(function(J){process.nextTick(k.bind(null,null,J))},function(J){process.nextTick(K.bind(null,J,k))})}return Object.setPrototypeOf(v,Object.getPrototypeOf(b)),Object.defineProperties(v,r(b)),v}e.callbackify=ee}(En)),En}var Ei,OA;function qu(){if(OA)return Ei;OA=1;const e=/[\0\b\t\n\r\x1a"'\\]/g,t={"\0":"\\0","\b":"\\b"," ":"\\t","\n":"\\n","\r":"\\r","":"\\Z",'"':'\\"',"'":"\\'","\\":"\\\\"};function r(a){return function R(A,I={}){return a(A,R,I)}}function n(a={}){const R=a.escapeDate||l,A=a.escapeArray||T,I=a.escapeBuffer||E,h=a.escapeString||i,c=a.escapeObject||s,S=a.wrap||r;function O(C,f,p){if(C==null)return"NULL";switch(typeof C){case"boolean":return C?"true":"false";case"number":return C+"";case"object":if(C instanceof Date)C=R(C,f,p);else return Array.isArray(C)?A(C,f,p):Buffer.isBuffer(C)?I(C,f,p):c(C,f,p)}return h(C,f,p)}return S?S(O):O}function s(a,R,A){return a&&typeof a.toSQL=="function"?a.toSQL(A):JSON.stringify(a)}function T(a,R,A){let I="";for(let h=0;h<a.length;h++){const c=a[h];Array.isArray(c)?I+=(h===0?"":", ")+"("+T(c,R,A)+")":I+=(h===0?"":", ")+R(c,A)}return I}function E(a){return"X"+i(a.toString("hex"))}function i(a,R,A){let I=e.lastIndex=0,h="",c;for(;c=e.exec(a);)h+=a.slice(I,c.index)+t[c[0]],I=e.lastIndex;return I===0?"'"+a+"'":I<a.length?"'"+h+a.slice(I)+"'":"'"+h+"'"}function l(a,R,A={}){const I=A.timeZone||"local",h=new Date(a);let c,S,O,C,f,p,L;if(I==="local")c=h.getFullYear(),S=h.getMonth()+1,O=h.getDate(),C=h.getHours(),f=h.getMinutes(),p=h.getSeconds(),L=h.getMilliseconds();else{const P=u(I);P!==!1&&P!==0&&h.setTime(h.getTime()+P*6e4),c=h.getUTCFullYear(),S=h.getUTCMonth()+1,O=h.getUTCDate(),C=h.getUTCHours(),f=h.getUTCMinutes(),p=h.getUTCSeconds(),L=h.getUTCMilliseconds()}return o(c,4)+"-"+o(S,2)+"-"+o(O,2)+" "+o(C,2)+":"+o(f,2)+":"+o(p,2)+"."+o(L,3)}function o(a,R){for(a=a.toString();a.length<R;)a="0"+a;return a}function u(a){if(a==="Z")return 0;const R=a.match(/([+\-\s])(\d\d):?(\d\d)?/);return R?(R[1]=="-"?-1:1)*(parseInt(R[2],10)+(R[3]?parseInt(R[3],10):0)/60)*60:!1}return Ei={arrayToList:T,bufferToString:E,dateToString:l,escapeString:i,charsRegex:e,charsMap:t,escapeObject:s,makeEscape:n},Ei}var ai,NA;function $m(){if(NA)return ai;NA=1;function e(){this.__data__=[],this.size=0}return ai=e,ai}var Ti,IA;function St(){if(IA)return Ti;IA=1;function e(t,r){return t===r||t!==t&&r!==r}return Ti=e,Ti}var ui,hA;function sr(){if(hA)return ui;hA=1;var e=St();function t(r,n){for(var s=r.length;s--;)if(e(r[s][0],n))return s;return-1}return ui=t,ui}var li,_A;function Vm(){if(_A)return li;_A=1;var e=sr(),t=Array.prototype,r=t.splice;function n(s){var T=this.__data__,E=e(T,s);if(E<0)return!1;var i=T.length-1;return E==i?T.pop():r.call(T,E,1),--this.size,!0}return li=n,li}var Ri,CA;function xm(){if(CA)return Ri;CA=1;var e=sr();function t(r){var n=this.__data__,s=e(n,r);return s<0?void 0:n[s][1]}return Ri=t,Ri}var Ai,fA;function Wm(){if(fA)return Ai;fA=1;var e=sr();function t(r){return e(this.__data__,r)>-1}return Ai=t,Ai}var ci,pA;function Xm(){if(pA)return ci;pA=1;var e=sr();function t(r,n){var s=this.__data__,T=e(s,r);return T<0?(++this.size,s.push([r,n])):s[T][1]=n,this}return ci=t,ci}var Si,dA;function or(){if(dA)return Si;dA=1;var e=$m(),t=Vm(),r=xm(),n=Wm(),s=Xm();function T(E){var i=-1,l=E==null?0:E.length;for(this.clear();++i<l;){var o=E[i];this.set(o[0],o[1])}}return T.prototype.clear=e,T.prototype.delete=t,T.prototype.get=r,T.prototype.has=n,T.prototype.set=s,Si=T,Si}var Oi,LA;function Km(){if(LA)return Oi;LA=1;var e=or();function t(){this.__data__=new e,this.size=0}return Oi=t,Oi}var Ni,mA;function jm(){if(mA)return Ni;mA=1;function e(t){var r=this.__data__,n=r.delete(t);return this.size=r.size,n}return Ni=e,Ni}var Ii,PA;function km(){if(PA)return Ii;PA=1;function e(t){return this.__data__.get(t)}return Ii=e,Ii}var hi,yA;function Jm(){if(yA)return hi;yA=1;function e(t){return this.__data__.has(t)}return hi=e,hi}var _i,DA;function Er(){if(DA)return _i;DA=1;var e=ke(),t=ye(),r="[object AsyncFunction]",n="[object Function]",s="[object GeneratorFunction]",T="[object Proxy]";function E(i){if(!t(i))return!1;var l=e(i);return l==n||l==s||l==r||l==T}return _i=E,_i}var Ci,gA;function Qm(){if(gA)return Ci;gA=1;var e=we(),t=e["__core-js_shared__"];return Ci=t,Ci}var fi,MA;function Zm(){if(MA)return fi;MA=1;var e=Qm(),t=function(){var n=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function r(n){return!!t&&t in n}return fi=r,fi}var pi,UA;function C_(){if(UA)return pi;UA=1;var e=Function.prototype,t=e.toString;function r(n){if(n!=null){try{return t.call(n)}catch{}try{return n+""}catch{}}return""}return pi=r,pi}var di,bA;function zm(){if(bA)return di;bA=1;var e=Er(),t=Zm(),r=ye(),n=C_(),s=/[\\^$.*+?()[\]{}|]/g,T=/^\[object .+?Constructor\]$/,E=Function.prototype,i=Object.prototype,l=E.toString,o=i.hasOwnProperty,u=RegExp("^"+l.call(o).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function a(R){if(!r(R)||t(R))return!1;var A=e(R)?u:T;return A.test(n(R))}return di=a,di}var Li,wA;function eP(){if(wA)return Li;wA=1;function e(t,r){return t==null?void 0:t[r]}return Li=e,Li}var mi,GA;function Ze(){if(GA)return mi;GA=1;var e=zm(),t=eP();function r(n,s){var T=t(n,s);return e(T)?T:void 0}return mi=r,mi}var Pi,vA;function Yu(){if(vA)return Pi;vA=1;var e=Ze(),t=we(),r=e(t,"Map");return Pi=r,Pi}var yi,BA;function ar(){if(BA)return yi;BA=1;var e=Ze(),t=e(Object,"create");return yi=t,yi}var Di,FA;function tP(){if(FA)return Di;FA=1;var e=ar();function t(){this.__data__=e?e(null):{},this.size=0}return Di=t,Di}var gi,HA;function rP(){if(HA)return gi;HA=1;function e(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}return gi=e,gi}var Mi,qA;function nP(){if(qA)return Mi;qA=1;var e=ar(),t="__lodash_hash_undefined__",r=Object.prototype,n=r.hasOwnProperty;function s(T){var E=this.__data__;if(e){var i=E[T];return i===t?void 0:i}return n.call(E,T)?E[T]:void 0}return Mi=s,Mi}var Ui,YA;function iP(){if(YA)return Ui;YA=1;var e=ar(),t=Object.prototype,r=t.hasOwnProperty;function n(s){var T=this.__data__;return e?T[s]!==void 0:r.call(T,s)}return Ui=n,Ui}var bi,$A;function sP(){if($A)return bi;$A=1;var e=ar(),t="__lodash_hash_undefined__";function r(n,s){var T=this.__data__;return this.size+=this.has(n)?0:1,T[n]=e&&s===void 0?t:s,this}return bi=r,bi}var wi,VA;function oP(){if(VA)return wi;VA=1;var e=tP(),t=rP(),r=nP(),n=iP(),s=sP();function T(E){var i=-1,l=E==null?0:E.length;for(this.clear();++i<l;){var o=E[i];this.set(o[0],o[1])}}return T.prototype.clear=e,T.prototype.delete=t,T.prototype.get=r,T.prototype.has=n,T.prototype.set=s,wi=T,wi}var Gi,xA;function EP(){if(xA)return Gi;xA=1;var e=oP(),t=or(),r=Yu();function n(){this.size=0,this.__data__={hash:new e,map:new(r||t),string:new e}}return Gi=n,Gi}var vi,WA;function aP(){if(WA)return vi;WA=1;function e(t){var r=typeof t;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?t!=="__proto__":t===null}return vi=e,vi}var Bi,XA;function Tr(){if(XA)return Bi;XA=1;var e=aP();function t(r,n){var s=r.__data__;return e(n)?s[typeof n=="string"?"string":"hash"]:s.map}return Bi=t,Bi}var Fi,KA;function TP(){if(KA)return Fi;KA=1;var e=Tr();function t(r){var n=e(this,r).delete(r);return this.size-=n?1:0,n}return Fi=t,Fi}var Hi,jA;function uP(){if(jA)return Hi;jA=1;var e=Tr();function t(r){return e(this,r).get(r)}return Hi=t,Hi}var qi,kA;function lP(){if(kA)return qi;kA=1;var e=Tr();function t(r){return e(this,r).has(r)}return qi=t,qi}var Yi,JA;function RP(){if(JA)return Yi;JA=1;var e=Tr();function t(r,n){var s=e(this,r),T=s.size;return s.set(r,n),this.size+=s.size==T?0:1,this}return Yi=t,Yi}var $i,QA;function $u(){if(QA)return $i;QA=1;var e=EP(),t=TP(),r=uP(),n=lP(),s=RP();function T(E){var i=-1,l=E==null?0:E.length;for(this.clear();++i<l;){var o=E[i];this.set(o[0],o[1])}}return T.prototype.clear=e,T.prototype.delete=t,T.prototype.get=r,T.prototype.has=n,T.prototype.set=s,$i=T,$i}var Vi,ZA;function AP(){if(ZA)return Vi;ZA=1;var e=or(),t=Yu(),r=$u(),n=200;function s(T,E){var i=this.__data__;if(i instanceof e){var l=i.__data__;if(!t||l.length<n-1)return l.push([T,E]),this.size=++i.size,this;i=this.__data__=new r(l)}return i.set(T,E),this.size=i.size,this}return Vi=s,Vi}var xi,zA;function ur(){if(zA)return xi;zA=1;var e=or(),t=Km(),r=jm(),n=km(),s=Jm(),T=AP();function E(i){var l=this.__data__=new e(i);this.size=l.size}return E.prototype.clear=t,E.prototype.delete=r,E.prototype.get=n,E.prototype.has=s,E.prototype.set=T,xi=E,xi}var Wi,ec;function Vu(){if(ec)return Wi;ec=1;function e(t,r){for(var n=-1,s=t==null?0:t.length;++n<s&&r(t[n],n,t)!==!1;);return t}return Wi=e,Wi}var Xi,tc;function f_(){if(tc)return Xi;tc=1;var e=Ze(),t=function(){try{var r=e(Object,"defineProperty");return r({},"",{}),r}catch{}}();return Xi=t,Xi}var Ki,rc;function lr(){if(rc)return Ki;rc=1;var e=f_();function t(r,n,s){n=="__proto__"&&e?e(r,n,{configurable:!0,enumerable:!0,value:s,writable:!0}):r[n]=s}return Ki=t,Ki}var ji,nc;function Rr(){if(nc)return ji;nc=1;var e=lr(),t=St(),r=Object.prototype,n=r.hasOwnProperty;function s(T,E,i){var l=T[E];(!(n.call(T,E)&&t(l,i))||i===void 0&&!(E in T))&&e(T,E,i)}return ji=s,ji}var ki,ic;function ze(){if(ic)return ki;ic=1;var e=Rr(),t=lr();function r(n,s,T,E){var i=!T;T||(T={});for(var l=-1,o=s.length;++l<o;){var u=s[l],a=E?E(T[u],n[u],u,T,n):void 0;a===void 0&&(a=n[u]),i?t(T,u,a):e(T,u,a)}return T}return ki=r,ki}var Ji,sc;function cP(){if(sc)return Ji;sc=1;function e(t,r){for(var n=-1,s=Array(t);++n<t;)s[n]=r(n);return s}return Ji=e,Ji}var Qi,oc;function SP(){if(oc)return Qi;oc=1;var e=ke(),t=Ge(),r="[object Arguments]";function n(s){return t(s)&&e(s)==r}return Qi=n,Qi}var Zi,Ec;function Ut(){if(Ec)return Zi;Ec=1;var e=SP(),t=Ge(),r=Object.prototype,n=r.hasOwnProperty,s=r.propertyIsEnumerable,T=e(function(){return arguments}())?e:function(E){return t(E)&&n.call(E,"callee")&&!s.call(E,"callee")};return Zi=T,Zi}var zi,ac;function Ne(){if(ac)return zi;ac=1;var e=Array.isArray;return zi=e,zi}var Lt={exports:{}},es,Tc;function OP(){if(Tc)return es;Tc=1;function e(){return!1}return es=e,es}Lt.exports;var uc;function Ot(){return uc||(uc=1,function(e,t){var r=we(),n=OP(),s=t&&!t.nodeType&&t,T=s&&!0&&e&&!e.nodeType&&e,E=T&&T.exports===s,i=E?r.Buffer:void 0,l=i?i.isBuffer:void 0,o=l||n;e.exports=o}(Lt,Lt.exports)),Lt.exports}var ts,lc;function Ar(){if(lc)return ts;lc=1;var e=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function r(n,s){var T=typeof n;return s=s??e,!!s&&(T=="number"||T!="symbol"&&t.test(n))&&n>-1&&n%1==0&&n<s}return ts=r,ts}var rs,Rc;function xu(){if(Rc)return rs;Rc=1;var e=9007199254740991;function t(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=e}return rs=t,rs}var ns,Ac;function NP(){if(Ac)return ns;Ac=1;var e=ke(),t=xu(),r=Ge(),n="[object Arguments]",s="[object Array]",T="[object Boolean]",E="[object Date]",i="[object Error]",l="[object Function]",o="[object Map]",u="[object Number]",a="[object Object]",R="[object RegExp]",A="[object Set]",I="[object String]",h="[object WeakMap]",c="[object ArrayBuffer]",S="[object DataView]",O="[object Float32Array]",C="[object Float64Array]",f="[object Int8Array]",p="[object Int16Array]",L="[object Int32Array]",P="[object Uint8Array]",D="[object Uint8ClampedArray]",w="[object Uint16Array]",_="[object Uint32Array]",m={};m[O]=m[C]=m[f]=m[p]=m[L]=m[P]=m[D]=m[w]=m[_]=!0,m[n]=m[s]=m[c]=m[T]=m[S]=m[E]=m[i]=m[l]=m[o]=m[u]=m[a]=m[R]=m[A]=m[I]=m[h]=!1;function U(B){return r(B)&&t(B.length)&&!!m[e(B)]}return ns=U,ns}var is,cc;function Wu(){if(cc)return is;cc=1;function e(t){return function(r){return t(r)}}return is=e,is}var mt={exports:{}};mt.exports;var Sc;function Xu(){return Sc||(Sc=1,function(e,t){var r=jh(),n=t&&!t.nodeType&&t,s=n&&!0&&e&&!e.nodeType&&e,T=s&&s.exports===n,E=T&&r.process,i=function(){try{var l=s&&s.require&&s.require("util").types;return l||E&&E.binding&&E.binding("util")}catch{}}();e.exports=i}(mt,mt.exports)),mt.exports}var ss,Oc;function Nt(){if(Oc)return ss;Oc=1;var e=NP(),t=Wu(),r=Xu(),n=r&&r.isTypedArray,s=n?t(n):e;return ss=s,ss}var os,Nc;function p_(){if(Nc)return os;Nc=1;var e=cP(),t=Ut(),r=Ne(),n=Ot(),s=Ar(),T=Nt(),E=Object.prototype,i=E.hasOwnProperty;function l(o,u){var a=r(o),R=!a&&t(o),A=!a&&!R&&n(o),I=!a&&!R&&!A&&T(o),h=a||R||A||I,c=h?e(o.length,String):[],S=c.length;for(var O in o)(u||i.call(o,O))&&!(h&&(O=="length"||A&&(O=="offset"||O=="parent")||I&&(O=="buffer"||O=="byteLength"||O=="byteOffset")||s(O,S)))&&c.push(O);return c}return os=l,os}var Es,Ic;function bt(){if(Ic)return Es;Ic=1;var e=Object.prototype;function t(r){var n=r&&r.constructor,s=typeof n=="function"&&n.prototype||e;return r===s}return Es=t,Es}var as,hc;function d_(){if(hc)return as;hc=1;function e(t,r){return function(n){return t(r(n))}}return as=e,as}var Ts,_c;function IP(){if(_c)return Ts;_c=1;var e=d_(),t=e(Object.keys,Object);return Ts=t,Ts}var us,Cc;function L_(){if(Cc)return us;Cc=1;var e=bt(),t=IP(),r=Object.prototype,n=r.hasOwnProperty;function s(T){if(!e(T))return t(T);var E=[];for(var i in Object(T))n.call(T,i)&&i!="constructor"&&E.push(i);return E}return us=s,us}var ls,fc;function ve(){if(fc)return ls;fc=1;var e=Er(),t=xu();function r(n){return n!=null&&t(n.length)&&!e(n)}return ls=r,ls}var Rs,pc;function et(){if(pc)return Rs;pc=1;var e=p_(),t=L_(),r=ve();function n(s){return r(s)?e(s):t(s)}return Rs=n,Rs}var As,dc;function hP(){if(dc)return As;dc=1;var e=ze(),t=et();function r(n,s){return n&&e(s,t(s),n)}return As=r,As}var cs,Lc;function _P(){if(Lc)return cs;Lc=1;function e(t){var r=[];if(t!=null)for(var n in Object(t))r.push(n);return r}return cs=e,cs}var Ss,mc;function CP(){if(mc)return Ss;mc=1;var e=ye(),t=bt(),r=_P(),n=Object.prototype,s=n.hasOwnProperty;function T(E){if(!e(E))return r(E);var i=t(E),l=[];for(var o in E)o=="constructor"&&(i||!s.call(E,o))||l.push(o);return l}return Ss=T,Ss}var Os,Pc;function tt(){if(Pc)return Os;Pc=1;var e=p_(),t=CP(),r=ve();function n(s){return r(s)?e(s,!0):t(s)}return Os=n,Os}var Ns,yc;function fP(){if(yc)return Ns;yc=1;var e=ze(),t=tt();function r(n,s){return n&&e(s,t(s),n)}return Ns=r,Ns}var Pt={exports:{}};Pt.exports;var Dc;function m_(){return Dc||(Dc=1,function(e,t){var r=we(),n=t&&!t.nodeType&&t,s=n&&!0&&e&&!e.nodeType&&e,T=s&&s.exports===n,E=T?r.Buffer:void 0,i=E?E.allocUnsafe:void 0;function l(o,u){if(u)return o.slice();var a=o.length,R=i?i(a):new o.constructor(a);return o.copy(R),R}e.exports=l}(Pt,Pt.exports)),Pt.exports}var Is,gc;function Ku(){if(gc)return Is;gc=1;function e(t,r){var n=-1,s=t.length;for(r||(r=Array(s));++n<s;)r[n]=t[n];return r}return Is=e,Is}var hs,Mc;function ju(){if(Mc)return hs;Mc=1;function e(t,r){for(var n=-1,s=t==null?0:t.length,T=0,E=[];++n<s;){var i=t[n];r(i,n,t)&&(E[T++]=i)}return E}return hs=e,hs}var _s,Uc;function P_(){if(Uc)return _s;Uc=1;function e(){return[]}return _s=e,_s}var Cs,bc;function ku(){if(bc)return Cs;bc=1;var e=ju(),t=P_(),r=Object.prototype,n=r.propertyIsEnumerable,s=Object.getOwnPropertySymbols,T=s?function(E){return E==null?[]:(E=Object(E),e(s(E),function(i){return n.call(E,i)}))}:t;return Cs=T,Cs}var fs,wc;function pP(){if(wc)return fs;wc=1;var e=ze(),t=ku();function r(n,s){return e(n,t(n),s)}return fs=r,fs}var ps,Gc;function Ju(){if(Gc)return ps;Gc=1;function e(t,r){for(var n=-1,s=r.length,T=t.length;++n<s;)t[T+n]=r[n];return t}return ps=e,ps}var ds,vc;function cr(){if(vc)return ds;vc=1;var e=d_(),t=e(Object.getPrototypeOf,Object);return ds=t,ds}var Ls,Bc;function y_(){if(Bc)return Ls;Bc=1;var e=Ju(),t=cr(),r=ku(),n=P_(),s=Object.getOwnPropertySymbols,T=s?function(E){for(var i=[];E;)e(i,r(E)),E=t(E);return i}:n;return Ls=T,Ls}var ms,Fc;function dP(){if(Fc)return ms;Fc=1;var e=ze(),t=y_();function r(n,s){return e(n,t(n),s)}return ms=r,ms}var Ps,Hc;function D_(){if(Hc)return Ps;Hc=1;var e=Ju(),t=Ne();function r(n,s,T){var E=s(n);return t(n)?E:e(E,T(n))}return Ps=r,Ps}var ys,qc;function g_(){if(qc)return ys;qc=1;var e=D_(),t=ku(),r=et();function n(s){return e(s,r,t)}return ys=n,ys}var Ds,Yc;function M_(){if(Yc)return Ds;Yc=1;var e=D_(),t=y_(),r=tt();function n(s){return e(s,r,t)}return Ds=n,Ds}var gs,$c;function LP(){if($c)return gs;$c=1;var e=Ze(),t=we(),r=e(t,"DataView");return gs=r,gs}var Ms,Vc;function mP(){if(Vc)return Ms;Vc=1;var e=Ze(),t=we(),r=e(t,"Promise");return Ms=r,Ms}var Us,xc;function U_(){if(xc)return Us;xc=1;var e=Ze(),t=we(),r=e(t,"Set");return Us=r,Us}var bs,Wc;function PP(){if(Wc)return bs;Wc=1;var e=Ze(),t=we(),r=e(t,"WeakMap");return bs=r,bs}var ws,Xc;function It(){if(Xc)return ws;Xc=1;var e=LP(),t=Yu(),r=mP(),n=U_(),s=PP(),T=ke(),E=C_(),i="[object Map]",l="[object Object]",o="[object Promise]",u="[object Set]",a="[object WeakMap]",R="[object DataView]",A=E(e),I=E(t),h=E(r),c=E(n),S=E(s),O=T;return(e&&O(new e(new ArrayBuffer(1)))!=R||t&&O(new t)!=i||r&&O(r.resolve())!=o||n&&O(new n)!=u||s&&O(new s)!=a)&&(O=function(C){var f=T(C),p=f==l?C.constructor:void 0,L=p?E(p):"";if(L)switch(L){case A:return R;case I:return i;case h:return o;case c:return u;case S:return a}return f}),ws=O,ws}var Gs,Kc;function yP(){if(Kc)return Gs;Kc=1;var e=Object.prototype,t=e.hasOwnProperty;function r(n){var s=n.length,T=new n.constructor(s);return s&&typeof n[0]=="string"&&t.call(n,"index")&&(T.index=n.index,T.input=n.input),T}return Gs=r,Gs}var vs,jc;function b_(){if(jc)return vs;jc=1;var e=we(),t=e.Uint8Array;return vs=t,vs}var Bs,kc;function Qu(){if(kc)return Bs;kc=1;var e=b_();function t(r){var n=new r.constructor(r.byteLength);return new e(n).set(new e(r)),n}return Bs=t,Bs}var Fs,Jc;function DP(){if(Jc)return Fs;Jc=1;var e=Qu();function t(r,n){var s=n?e(r.buffer):r.buffer;return new r.constructor(s,r.byteOffset,r.byteLength)}return Fs=t,Fs}var Hs,Qc;function gP(){if(Qc)return Hs;Qc=1;var e=/\w*$/;function t(r){var n=new r.constructor(r.source,e.exec(r));return n.lastIndex=r.lastIndex,n}return Hs=t,Hs}var qs,Zc;function MP(){if(Zc)return qs;Zc=1;var e=je(),t=e?e.prototype:void 0,r=t?t.valueOf:void 0;function n(s){return r?Object(r.call(s)):{}}return qs=n,qs}var Ys,zc;function w_(){if(zc)return Ys;zc=1;var e=Qu();function t(r,n){var s=n?e(r.buffer):r.buffer;return new r.constructor(s,r.byteOffset,r.length)}return Ys=t,Ys}var $s,eS;function UP(){if(eS)return $s;eS=1;var e=Qu(),t=DP(),r=gP(),n=MP(),s=w_(),T="[object Boolean]",E="[object Date]",i="[object Map]",l="[object Number]",o="[object RegExp]",u="[object Set]",a="[object String]",R="[object Symbol]",A="[object ArrayBuffer]",I="[object DataView]",h="[object Float32Array]",c="[object Float64Array]",S="[object Int8Array]",O="[object Int16Array]",C="[object Int32Array]",f="[object Uint8Array]",p="[object Uint8ClampedArray]",L="[object Uint16Array]",P="[object Uint32Array]";function D(w,_,m){var U=w.constructor;switch(_){case A:return e(w);case T:case E:return new U(+w);case I:return t(w,m);case h:case c:case S:case O:case C:case f:case p:case L:case P:return s(w,m);case i:return new U;case l:case a:return new U(w);case o:return r(w);case u:return new U;case R:return n(w)}}return $s=D,$s}var Vs,tS;function G_(){if(tS)return Vs;tS=1;var e=ye(),t=Object.create,r=function(){function n(){}return function(s){if(!e(s))return{};if(t)return t(s);n.prototype=s;var T=new n;return n.prototype=void 0,T}}();return Vs=r,Vs}var xs,rS;function v_(){if(rS)return xs;rS=1;var e=G_(),t=cr(),r=bt();function n(s){return typeof s.constructor=="function"&&!r(s)?e(t(s)):{}}return xs=n,xs}var Ws,nS;function bP(){if(nS)return Ws;nS=1;var e=It(),t=Ge(),r="[object Map]";function n(s){return t(s)&&e(s)==r}return Ws=n,Ws}var Xs,iS;function wP(){if(iS)return Xs;iS=1;var e=bP(),t=Wu(),r=Xu(),n=r&&r.isMap,s=n?t(n):e;return Xs=s,Xs}var Ks,sS;function GP(){if(sS)return Ks;sS=1;var e=It(),t=Ge(),r="[object Set]";function n(s){return t(s)&&e(s)==r}return Ks=n,Ks}var js,oS;function vP(){if(oS)return js;oS=1;var e=GP(),t=Wu(),r=Xu(),n=r&&r.isSet,s=n?t(n):e;return js=s,js}var ks,ES;function B_(){if(ES)return ks;ES=1;var e=ur(),t=Vu(),r=Rr(),n=hP(),s=fP(),T=m_(),E=Ku(),i=pP(),l=dP(),o=g_(),u=M_(),a=It(),R=yP(),A=UP(),I=v_(),h=Ne(),c=Ot(),S=wP(),O=ye(),C=vP(),f=et(),p=tt(),L=1,P=2,D=4,w="[object Arguments]",_="[object Array]",m="[object Boolean]",U="[object Date]",B="[object Error]",N="[object Function]",d="[object GeneratorFunction]",g="[object Map]",x="[object Number]",j="[object Object]",Q="[object RegExp]",G="[object Set]",K="[object String]",ee="[object Symbol]",b="[object WeakMap]",v="[object ArrayBuffer]",W="[object DataView]",z="[object Float32Array]",ae="[object Float64Array]",Te="[object Int8Array]",k="[object Int16Array]",J="[object Int32Array]",te="[object Uint8Array]",re="[object Uint8ClampedArray]",le="[object Uint16Array]",M="[object Uint32Array]",F={};F[w]=F[_]=F[v]=F[W]=F[m]=F[U]=F[z]=F[ae]=F[Te]=F[k]=F[J]=F[g]=F[x]=F[j]=F[Q]=F[G]=F[K]=F[ee]=F[te]=F[re]=F[le]=F[M]=!0,F[B]=F[N]=F[b]=!1;function se(ne,pe,$,Pe,Se,de){var Re,ue=pe&L,Ae=pe&P,Oe=pe&D;if($&&(Re=Se?$(ne,Pe,Se,de):$(ne)),Re!==void 0)return Re;if(!O(ne))return ne;var he=h(ne);if(he){if(Re=R(ne),!ue)return E(ne,Re)}else{var Y=a(ne),y=Y==N||Y==d;if(c(ne))return T(ne,ue);if(Y==j||Y==w||y&&!Se){if(Re=Ae||y?{}:I(ne),!ue)return Ae?l(ne,s(Re,ne)):i(ne,n(Re,ne))}else{if(!F[Y])return Se?ne:{};Re=A(ne,Y,ue)}}de||(de=new e);var Ee=de.get(ne);if(Ee)return Ee;de.set(ne,Re),C(ne)?ne.forEach(function(He){Re.add(se(He,pe,$,He,ne,de))}):S(ne)&&ne.forEach(function(He,xe){Re.set(xe,se(He,pe,$,xe,ne,de))});var fC=Oe?Ae?u:o:Ae?p:f,cl=he?void 0:fC(ne);return t(cl||ne,function(He,xe){cl&&(xe=He,He=ne[xe]),r(Re,xe,se(He,pe,$,xe,ne,de))}),Re}return ks=se,ks}var Js,aS;function BP(){if(aS)return Js;aS=1;var e=B_(),t=1,r=4;function n(s){return e(s,t|r)}return Js=n,Js}var Qs,TS;function De(){if(TS)return Qs;TS=1;function e(t){return t}return Qs=e,Qs}var Zs,uS;function FP(){if(uS)return Zs;uS=1;function e(t,r,n){switch(n.length){case 0:return t.call(r);case 1:return t.call(r,n[0]);case 2:return t.call(r,n[0],n[1]);case 3:return t.call(r,n[0],n[1],n[2])}return t.apply(r,n)}return Zs=e,Zs}var zs,lS;function HP(){if(lS)return zs;lS=1;var e=FP(),t=Math.max;function r(n,s,T){return s=t(s===void 0?n.length-1:s,0),function(){for(var E=arguments,i=-1,l=t(E.length-s,0),o=Array(l);++i<l;)o[i]=E[s+i];i=-1;for(var u=Array(s+1);++i<s;)u[i]=E[i];return u[s]=T(o),e(n,this,u)}}return zs=r,zs}var eo,RS;function F_(){if(RS)return eo;RS=1;function e(t){return function(){return t}}return eo=e,eo}var to,AS;function qP(){if(AS)return to;AS=1;var e=F_(),t=f_(),r=De(),n=t?function(s,T){return t(s,"toString",{configurable:!0,enumerable:!1,value:e(T),writable:!0})}:r;return to=n,to}var ro,cS;function YP(){if(cS)return ro;cS=1;var e=800,t=16,r=Date.now;function n(s){var T=0,E=0;return function(){var i=r(),l=t-(i-E);if(E=i,l>0){if(++T>=e)return arguments[0]}else T=0;return s.apply(void 0,arguments)}}return ro=n,ro}var no,SS;function $P(){if(SS)return no;SS=1;var e=qP(),t=YP(),r=t(e);return no=r,no}var io,OS;function Zu(){if(OS)return io;OS=1;var e=De(),t=HP(),r=$P();function n(s,T){return r(t(s,T,e),s+"")}return io=n,io}var so,NS;function Sr(){if(NS)return so;NS=1;var e=St(),t=ve(),r=Ar(),n=ye();function s(T,E,i){if(!n(i))return!1;var l=typeof E;return(l=="number"?t(i)&&r(E,i.length):l=="string"&&E in i)?e(i[E],T):!1}return so=s,so}var oo,IS;function H_(){if(IS)return oo;IS=1;var e=Zu(),t=St(),r=Sr(),n=tt(),s=Object.prototype,T=s.hasOwnProperty,E=e(function(i,l){i=Object(i);var o=-1,u=l.length,a=u>2?l[2]:void 0;for(a&&r(l[0],l[1],a)&&(u=1);++o<u;)for(var R=l[o],A=n(R),I=-1,h=A.length;++I<h;){var c=A[I],S=i[c];(S===void 0||t(S,s[c])&&!T.call(i,c))&&(i[c]=R[c])}return i});return oo=E,oo}var Eo,hS;function Or(){if(hS)return Eo;hS=1;function e(t,r){for(var n=-1,s=t==null?0:t.length,T=Array(s);++n<s;)T[n]=r(t[n],n,t);return T}return Eo=e,Eo}var ao,_S;function VP(){if(_S)return ao;_S=1;var e=je(),t=Or(),r=Ne(),n=tr(),s=e?e.prototype:void 0,T=s?s.toString:void 0;function E(i){if(typeof i=="string")return i;if(r(i))return t(i,E)+"";if(n(i))return T?T.call(i):"";var l=i+"";return l=="0"&&1/i==-1/0?"-0":l}return ao=E,ao}var To,CS;function q_(){if(CS)return To;CS=1;var e=VP();function t(r){return r==null?"":e(r)}return To=t,To}var uo,fS;function Y_(){if(fS)return uo;fS=1;var e=q_(),t=0;function r(n){var s=++t;return e(n)+s}return uo=r,uo}var Kt={},pS;function Rt(){if(pS)return Kt;pS=1;class e extends Error{constructor(n){super(n),this.name="KnexTimeoutError"}}function t(r,n){return new Promise(function(s,T){const E=setTimeout(function(){T(new e("operation timed out"))},n);function i(o){clearTimeout(E),s(o)}function l(o){clearTimeout(E),T(o)}r.then(i,l)})}return Kt.KnexTimeoutError=e,Kt.timeout=t,Kt}var lo,dS;function xP(){if(dS)return lo;dS=1;function e(r){r.client.emit("start",r.builder),r.builder.emit("start",r.builder);const n=r.builder.toSQL();return r.builder._debug&&r.client.logger.debug(n),Array.isArray(n)?r.queryArray(n):r.query(n)}function t(r,n){try{const s=r.builder.toSQL();if(Array.isArray(s)&&n.hasHandler)throw new Error("The stream may only be used with a single query statement.");return r.client.stream(r.connection,s,n.stream,n.options)}catch(s){throw n.stream.emit("error",s),s}}return lo={ensureConnectionCallback:e,ensureConnectionStreamCallback:t},lo}var Ro,LS;function WP(){if(LS)return Ro;LS=1;const{KnexTimeoutError:e}=Rt(),{timeout:t}=Rt(),{ensureConnectionCallback:r,ensureConnectionStreamCallback:n}=xP();let s;class T{constructor(i,l){this.client=i,this.builder=l,this.queries=[],this.connection=void 0}async run(){const i=this;try{const l=await this.ensureConnection(r);return i.builder.emit("end"),l}catch(l){throw i.builder._events&&i.builder._events.error&&i.builder.emit("error",l),l}}stream(i,l){const o=typeof i=="function"&&arguments.length===1,u=o?{}:i,a=o?i:l,R=typeof a=="function";s=s||Ie.Transform;const A=this.builder.queryContext(),I=new s({objectMode:!0,transform:(c,S,O)=>{O(null,this.client.postProcessResponse(c,A))}});I.on("close",()=>{this.client.releaseConnection(this.connection)}),I.on("pipe",c=>{const S=()=>{c.closed||c.destroy()};I.closed?S():I.on("close",S)});const h=this.ensureConnection(n,{options:u,hasHandler:R,stream:I}).catch(c=>{this.connection||I.emit("error",c)});return R?(a(I),h):I}pipe(i,l){return this.stream(l).pipe(i)}async query(i){const{__knexUid:l,__knexTxId:o}=this.connection;this.builder.emit("query",Object.assign({__knexUid:l,__knexTxId:o},i));const u=this,a=this.builder.queryContext();i!==null&&typeof i=="object"&&(i.queryContext=a);let R=this.client.query(this.connection,i);return i.timeout&&(R=t(R,i.timeout)),R.then(A=>this.client.processResponse(A,u)).then(A=>{const I=this.client.postProcessResponse(A,a);return this.builder.emit("query-response",I,Object.assign({__knexUid:l,__knexTxId:o},i),this.builder),this.client.emit("query-response",I,Object.assign({__knexUid:l,__knexTxId:o},i),this.builder),I}).catch(A=>{if(!(A instanceof e))return Promise.reject(A);const{timeout:I,sql:h,bindings:c}=i;let S;return i.cancelOnTimeout?S=this.client.cancelQuery(this.connection):(this.connection.__knex__disposed=A,S=Promise.resolve()),S.catch(O=>{throw this.connection.__knex__disposed=A,Object.assign(O,{message:`After query timeout of ${I}ms exceeded, cancelling of query failed.`,sql:h,bindings:c,timeout:I})}).then(()=>{throw Object.assign(A,{message:`Defined query timeout of ${I}ms exceeded when running query.`,sql:h,bindings:c,timeout:I})})}).catch(A=>{throw this.builder.emit("query-error",A,Object.assign({__knexUid:l,__knexTxId:o,queryContext:a},i)),A})}async queryArray(i){if(i.length===1){const o=i[0];if(!o.statementsProducer)return this.query(o);const u=await o.statementsProducer(void 0,this.connection),a=u.sql.map(h=>({sql:h,bindings:o.bindings})),R=u.pre.map(h=>({sql:h,bindings:o.bindings})),A=u.post.map(h=>({sql:h,bindings:o.bindings}));let I=[];await this.queryArray(R);try{await this.client.transaction(async h=>{const c=new T(h.client,this.builder);if(c.connection=this.connection,I=await c.queryArray(a),u.check&&(await h.raw(u.check)).length>0)throw new Error("FOREIGN KEY constraint failed")},{connection:this.connection})}finally{await this.queryArray(A)}return I}const l=[];for(const o of i)l.push(await this.queryArray([o]));return l}async ensureConnection(i,l){if(this.builder._connection&&(this.connection=this.builder._connection),this.connection)return i(this,l);let o;try{o=await this.client.acquireConnection()}catch(u){if(!(u instanceof e))return Promise.reject(u);throw this.builder&&(u.sql=this.builder.sql,u.bindings=this.builder.bindings),u}try{return this.connection=o,await i(this,l)}finally{await this.client.releaseConnection(o)}}}return Ro=T,Ro}var jt={exports:{}},Ao,mS;function XP(){if(mS)return Ao;mS=1;var e=1e3,t=e*60,r=t*60,n=r*24,s=n*7,T=n*365.25;Ao=function(u,a){a=a||{};var R=typeof u;if(R==="string"&&u.length>0)return E(u);if(R==="number"&&isFinite(u))return a.long?l(u):i(u);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(u))};function E(u){if(u=String(u),!(u.length>100)){var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(u);if(a){var R=parseFloat(a[1]),A=(a[2]||"ms").toLowerCase();switch(A){case"years":case"year":case"yrs":case"yr":case"y":return R*T;case"weeks":case"week":case"w":return R*s;case"days":case"day":case"d":return R*n;case"hours":case"hour":case"hrs":case"hr":case"h":return R*r;case"minutes":case"minute":case"mins":case"min":case"m":return R*t;case"seconds":case"second":case"secs":case"sec":case"s":return R*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return R;default:return}}}}function i(u){var a=Math.abs(u);return a>=n?Math.round(u/n)+"d":a>=r?Math.round(u/r)+"h":a>=t?Math.round(u/t)+"m":a>=e?Math.round(u/e)+"s":u+"ms"}function l(u){var a=Math.abs(u);return a>=n?o(u,a,n,"day"):a>=r?o(u,a,r,"hour"):a>=t?o(u,a,t,"minute"):a>=e?o(u,a,e,"second"):u+" ms"}function o(u,a,R,A){var I=a>=R*1.5;return Math.round(u/R)+" "+A+(I?"s":"")}return Ao}var co,PS;function KP(){if(PS)return co;PS=1;function e(t){n.debug=n,n.default=n,n.coerce=o,n.disable=E,n.enable=T,n.enabled=i,n.humanize=XP(),n.destroy=u,Object.keys(t).forEach(a=>{n[a]=t[a]}),n.names=[],n.skips=[],n.formatters={};function r(a){let R=0;for(let A=0;A<a.length;A++)R=(R<<5)-R+a.charCodeAt(A),R|=0;return n.colors[Math.abs(R)%n.colors.length]}n.selectColor=r;function n(a){let R,A=null,I,h;function c(...S){if(!c.enabled)return;const O=c,C=Number(new Date),f=C-(R||C);O.diff=f,O.prev=R,O.curr=C,R=C,S[0]=n.coerce(S[0]),typeof S[0]!="string"&&S.unshift("%O");let p=0;S[0]=S[0].replace(/%([a-zA-Z%])/g,(P,D)=>{if(P==="%%")return"%";p++;const w=n.formatters[D];if(typeof w=="function"){const _=S[p];P=w.call(O,_),S.splice(p,1),p--}return P}),n.formatArgs.call(O,S),(O.log||n.log).apply(O,S)}return c.namespace=a,c.useColors=n.useColors(),c.color=n.selectColor(a),c.extend=s,c.destroy=n.destroy,Object.defineProperty(c,"enabled",{enumerable:!0,configurable:!1,get:()=>A!==null?A:(I!==n.namespaces&&(I=n.namespaces,h=n.enabled(a)),h),set:S=>{A=S}}),typeof n.init=="function"&&n.init(c),c}function s(a,R){const A=n(this.namespace+(typeof R>"u"?":":R)+a);return A.log=this.log,A}function T(a){n.save(a),n.namespaces=a,n.names=[],n.skips=[];let R;const A=(typeof a=="string"?a:"").split(/[\s,]+/),I=A.length;for(R=0;R<I;R++)A[R]&&(a=A[R].replace(/\*/g,".*?"),a[0]==="-"?n.skips.push(new RegExp("^"+a.slice(1)+"$")):n.names.push(new RegExp("^"+a+"$")))}function E(){const a=[...n.names.map(l),...n.skips.map(l).map(R=>"-"+R)].join(",");return n.enable(""),a}function i(a){if(a[a.length-1]==="*")return!0;let R,A;for(R=0,A=n.skips.length;R<A;R++)if(n.skips[R].test(a))return!1;for(R=0,A=n.names.length;R<A;R++)if(n.names[R].test(a))return!0;return!1}function l(a){return a.toString().substring(2,a.toString().length-2).replace(/\.\*\?$/,"*")}function o(a){return a instanceof Error?a.stack||a.message:a}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}return co=e,co}var yS;function be(){return yS||(yS=1,function(e,t){var r={};t.formatArgs=s,t.save=T,t.load=E,t.useColors=n,t.storage=i(),t.destroy=(()=>{let o=!1;return()=>{o||(o=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function n(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function s(o){if(o[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+o[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const u="color: "+this.color;o.splice(1,0,u,"color: inherit");let a=0,R=0;o[0].replace(/%[a-zA-Z%]/g,A=>{A!=="%%"&&(a++,A==="%c"&&(R=a))}),o.splice(R,0,u)}t.log=console.debug||console.log||(()=>{});function T(o){try{o?t.storage.setItem("debug",o):t.storage.removeItem("debug")}catch{}}function E(){let o;try{o=t.storage.getItem("debug")}catch{}return!o&&typeof process<"u"&&"env"in process&&(o=r.DEBUG),o}function i(){try{return localStorage}catch{}}e.exports=KP()(t);const{formatters:l}=e.exports;l.j=function(o){try{return JSON.stringify(o)}catch(u){return"[UnexpectedJSONParseError]: "+u.message}}}(jt,jt.exports)),jt.exports}var So,DS;function er(){return DS||(DS=1,So=function(){}),So}var Oo,gS;function jP(){if(gS)return Oo;gS=1;class e{constructor(r){this.client=r}now(r){return typeof r=="number"?this.client.raw(`CURRENT_TIMESTAMP(${r})`):this.client.raw("CURRENT_TIMESTAMP")}uuid(){switch(this.client.driverName){case"sqlite3":case"better-sqlite3":return this.client.raw("(lower(hex(randomblob(4))) || '-' || lower(hex(randomblob(2))) || '-4' || substr(lower(hex(randomblob(2))),2) || '-' || substr('89ab',abs(random()) % 4 + 1, 1) || substr(lower(hex(randomblob(2))),2) || '-' || lower(hex(randomblob(6))))");case"mssql":return this.client.raw("(NEWID())");case"pg":case"pgnative":case"cockroachdb":return this.client.raw("(gen_random_uuid())");case"oracle":case"oracledb":return this.client.raw("(random_uuid())");case"mysql":case"mysql2":return this.client.raw("(UUID())");default:throw new Error(`${this.client.driverName} does not have a uuid function`)}}uuidToBin(r,n=!0){const s=Buffer.from(r.replace(/-/g,""),"hex");return n?Buffer.concat([s.slice(6,8),s.slice(4,6),s.slice(0,4),s.slice(8,16)]):Buffer.concat([s.slice(0,4),s.slice(4,6),s.slice(6,8),s.slice(8,16)])}binToUuid(r,n=!0){const s=Buffer.from(r,"hex");return n?[s.toString("hex",4,8),s.toString("hex",2,4),s.toString("hex",0,2),s.toString("hex",8,10),s.toString("hex",10,16)].join("-"):[s.toString("hex",0,4),s.toString("hex",4,6),s.toString("hex",6,8),s.toString("hex",8,10),s.toString("hex",10,16)].join("-")}}return Oo=e,Oo}var No,MS;function $_(){return MS||(MS=1,No=["with","withRecursive","withMaterialized","withNotMaterialized","select","as","columns","column","from","fromJS","fromRaw","into","withSchema","table","distinct","join","joinRaw","innerJoin","leftJoin","leftOuterJoin","rightJoin","rightOuterJoin","outerJoin","fullOuterJoin","crossJoin","where","andWhere","orWhere","whereNot","orWhereNot","whereLike","andWhereLike","orWhereLike","whereILike","andWhereILike","orWhereILike","whereRaw","whereWrapped","havingWrapped","orWhereRaw","whereExists","orWhereExists","whereNotExists","orWhereNotExists","whereIn","orWhereIn","whereNotIn","orWhereNotIn","whereNull","orWhereNull","whereNotNull","orWhereNotNull","whereBetween","whereNotBetween","andWhereBetween","andWhereNotBetween","orWhereBetween","orWhereNotBetween","groupBy","groupByRaw","orderBy","orderByRaw","union","unionAll","intersect","except","having","havingRaw","orHaving","orHavingRaw","offset","limit","count","countDistinct","min","max","sum","sumDistinct","avg","avgDistinct","increment","decrement","first","debug","pluck","clearSelect","clearWhere","clearGroup","clearOrder","clearHaving","insert","update","returning","del","delete","truncate","transacting","connection","jsonExtract","jsonSet","jsonInsert","jsonRemove","whereJsonObject","orWhereJsonObject","andWhereJsonObject","whereNotJsonObject","orWhereNotJsonObject","andWhereNotJsonObject","whereJsonPath","orWhereJsonPath","andWhereJsonPath","whereJsonSupersetOf","orWhereJsonSupersetOf","andWhereJsonSupersetOf","whereJsonNotSupersetOf","orWhereJsonNotSupersetOf","andWhereJsonNotSupersetOf","whereJsonSubsetOf","orWhereJsonSubsetOf","andWhereJsonSubsetOf","whereJsonNotSubsetOf","orWhereJsonNotSubsetOf","andWhereJsonNotSubsetOf"]),No}var Io,US;function V_(){if(US)return Io;US=1;var e=lr(),t=St();function r(n,s,T){(T!==void 0&&!t(n[s],T)||T===void 0&&!(s in n))&&e(n,s,T)}return Io=r,Io}var ho,bS;function kP(){if(bS)return ho;bS=1;function e(t){return function(r,n,s){for(var T=-1,E=Object(r),i=s(r),l=i.length;l--;){var o=i[t?l:++T];if(n(E[o],o,E)===!1)break}return r}}return ho=e,ho}var _o,wS;function x_(){if(wS)return _o;wS=1;var e=kP(),t=e();return _o=t,_o}var Co,GS;function JP(){if(GS)return Co;GS=1;var e=ve(),t=Ge();function r(n){return t(n)&&e(n)}return Co=r,Co}var fo,vS;function $e(){if(vS)return fo;vS=1;var e=ke(),t=cr(),r=Ge(),n="[object Object]",s=Function.prototype,T=Object.prototype,E=s.toString,i=T.hasOwnProperty,l=E.call(Object);function o(u){if(!r(u)||e(u)!=n)return!1;var a=t(u);if(a===null)return!0;var R=i.call(a,"constructor")&&a.constructor;return typeof R=="function"&&R instanceof R&&E.call(R)==l}return fo=o,fo}var po,BS;function W_(){if(BS)return po;BS=1;function e(t,r){if(!(r==="constructor"&&typeof t[r]=="function")&&r!="__proto__")return t[r]}return po=e,po}var Lo,FS;function QP(){if(FS)return Lo;FS=1;var e=ze(),t=tt();function r(n){return e(n,t(n))}return Lo=r,Lo}var mo,HS;function ZP(){if(HS)return mo;HS=1;var e=V_(),t=m_(),r=w_(),n=Ku(),s=v_(),T=Ut(),E=Ne(),i=JP(),l=Ot(),o=Er(),u=ye(),a=$e(),R=Nt(),A=W_(),I=QP();function h(c,S,O,C,f,p,L){var P=A(c,O),D=A(S,O),w=L.get(D);if(w){e(c,O,w);return}var _=p?p(P,D,O+"",c,S,L):void 0,m=_===void 0;if(m){var U=E(D),B=!U&&l(D),N=!U&&!B&&R(D);_=D,U||B||N?E(P)?_=P:i(P)?_=n(P):B?(m=!1,_=t(D,!0)):N?(m=!1,_=r(D,!0)):_=[]:a(D)||T(D)?(_=P,T(P)?_=I(P):(!u(P)||o(P))&&(_=s(D))):m=!1}m&&(L.set(D,_),f(_,D,C,p,L),L.delete(D)),e(c,O,_)}return mo=h,mo}var Po,qS;function zP(){if(qS)return Po;qS=1;var e=ur(),t=V_(),r=x_(),n=ZP(),s=ye(),T=tt(),E=W_();function i(l,o,u,a,R){l!==o&&r(o,function(A,I){if(R||(R=new e),s(A))n(l,o,I,u,i,a,R);else{var h=a?a(E(l,I),A,I+"",l,o,R):void 0;h===void 0&&(h=A),t(l,I,h)}},T)}return Po=i,Po}var yo,YS;function zu(){if(YS)return yo;YS=1;var e=Zu(),t=Sr();function r(n){return e(function(s,T){var E=-1,i=T.length,l=i>1?T[i-1]:void 0,o=i>2?T[2]:void 0;for(l=n.length>3&&typeof l=="function"?(i--,l):void 0,o&&t(T[0],T[1],o)&&(l=i<3?void 0:l,i=1),s=Object(s);++E<i;){var u=T[E];u&&n(s,u,E,l)}return s})}return yo=r,yo}var Do,$S;function ey(){if($S)return Do;$S=1;var e=zP(),t=zu(),r=t(function(n,s,T){e(n,s,T)});return Do=r,Do}var go,VS;function X_(){if(VS)return go;VS=1;function e(t,r,n){var s=-1,T=t.length;r<0&&(r=-r>T?0:T+r),n=n>T?T:n,n<0&&(n+=T),T=r>n?0:n-r>>>0,r>>>=0;for(var E=Array(T);++s<T;)E[s]=t[s+r];return E}return go=e,go}var Mo,xS;function ty(){if(xS)return Mo;xS=1;var e=wC(),t=1/0,r=17976931348623157e292;function n(s){if(!s)return s===0?s:0;if(s=e(s),s===t||s===-1/0){var T=s<0?-1:1;return T*r}return s===s?s:0}return Mo=n,Mo}var Uo,WS;function K_(){if(WS)return Uo;WS=1;var e=ty();function t(r){var n=e(r),s=n%1;return n===n?s?n-s:n:0}return Uo=t,Uo}var bo,XS;function ry(){if(XS)return bo;XS=1;var e=X_(),t=Sr(),r=K_(),n=Math.ceil,s=Math.max;function T(E,i,l){(l?t(E,i,l):i===void 0)?i=1:i=s(r(i),0);var o=E==null?0:E.length;if(!o||i<1)return[];for(var u=0,a=0,R=Array(n(o/i));u<o;)R[a++]=e(E,u,u+=i);return R}return bo=T,bo}var wo,KS;function ny(){if(KS)return wo;KS=1;var e=je(),t=Ut(),r=Ne(),n=e?e.isConcatSpreadable:void 0;function s(T){return r(T)||t(T)||!!(n&&T&&T[n])}return wo=s,wo}var Go,jS;function iy(){if(jS)return Go;jS=1;var e=Ju(),t=ny();function r(n,s,T,E,i){var l=-1,o=n.length;for(T||(T=t),i||(i=[]);++l<o;){var u=n[l];s>0&&T(u)?s>1?r(u,s-1,T,E,i):e(i,u):E||(i[i.length]=u)}return i}return Go=r,Go}var vo,kS;function j_(){if(kS)return vo;kS=1;var e=iy();function t(r){var n=r==null?0:r.length;return n?e(r,1):[]}return vo=t,vo}var Bo,JS;function sy(){return JS||(JS=1,Bo=e=>new Promise(t=>setTimeout(t,e))),Bo}var Fo,QS;function ce(){if(QS)return Fo;QS=1;function e(E){return typeof E=="string"}function t(E){return typeof E=="number"}function r(E){return typeof E=="boolean"}function n(E){return typeof E>"u"}function s(E){return typeof E=="object"&&E!==null}function T(E){return typeof E=="function"}return Fo={isString:e,isNumber:t,isBoolean:r,isUndefined:n,isObject:s,isFunction:T},Fo}var Ho,ZS;function oy(){if(ZS)return Ho;ZS=1;const e=ry(),t=j_(),r=sy(),{isNumber:n}=ce();function s(T,E,i,l=1e3){let o,u=null;if(!n(l)||l<1)throw new TypeError(`Invalid chunkSize: ${l}`);if(!Array.isArray(i))throw new TypeError(`Invalid batch: Expected array, got ${typeof i}`);const a=e(i,l),R=A=>u?A(u):T.transaction(A);return Object.assign(Promise.resolve().then(async()=>(await r(1),R(async A=>{const I=[];for(const h of a)I.push(await A(E).insert(h,o));return t(I)}))),{returning(A){return o=A,this},transacting(A){return u=A,this}})}return Ho=s,Ho}var qo,zS;function el(){if(zS)return qo;zS=1;function e(t,r,n="password"){r||(r=t),Object.defineProperty(t,n,{enumerable:!1,value:r[n]})}return qo={setHiddenProperty:e},qo}var Yo,eO;function k_(){if(eO)return Yo;eO=1;const{EventEmitter:e}=Qe(),{Migrator:t}=er(),r=er(),n=jP(),s=$_(),T=ey(),E=oy(),{isObject:i}=ce(),{setHiddenProperty:l}=el(),o={client:{get(){return this.context.client},set(O){this.context.client=O},configurable:!0},userParams:{get(){return this.context.userParams},set(O){this.context.userParams=O},configurable:!0},schema:{get(){return this.client.schemaBuilder()},configurable:!0},migrate:{get(){return new t(this)},configurable:!0},seed:{get(){return new r(this)},configurable:!0},fn:{get(){return new n(this.client)},configurable:!0}},u=["raw","batchInsert","transaction","transactionProvider","initialize","destroy","ref","withUserParams","queryBuilder","disableProcessing","enableProcessing"];for(const O of u)o[O]={value:function(...C){return this.context[O](...C)},configurable:!0};function a(O){function C(f,p){return c(C.context,f,p)}return I(C,O),C}function R(O){const C=O.context||{};Object.assign(C,{queryBuilder(){return this.client.queryBuilder()},raw(){return this.client.raw.apply(this.client,arguments)},batchInsert(f,p,L=1e3){return E(this,f,p,L)},transaction(f,p){!p&&i(f)&&(p=f,f=null);const L=Object.assign({},p);return L.userParams=this.userParams||{},L.doNotRejectOnRollback===void 0&&(L.doNotRejectOnRollback=!0),this._transaction(f,L)},_transaction(f,p,L=null){return f?this.client.transaction(f,p,L):new Promise((P,D)=>{this.client.transaction(P,p,L).catch(D)})},transactionProvider(f){let p;return()=>(p||(p=this.transaction(void 0,f)),p)},initialize(f){return this.client.initializePool(f)},destroy(f){return this.client.destroy(f)},ref(f){return this.client.ref(f)},disableProcessing(){this.userParams.isProcessingDisabled||(this.userParams.wrapIdentifier=this.client.config.wrapIdentifier,this.userParams.postProcessResponse=this.client.config.postProcessResponse,this.client.config.wrapIdentifier=null,this.client.config.postProcessResponse=null,this.userParams.isProcessingDisabled=!0)},enableProcessing(){this.userParams.isProcessingDisabled&&(this.client.config.wrapIdentifier=this.userParams.wrapIdentifier,this.client.config.postProcessResponse=this.userParams.postProcessResponse,this.userParams.isProcessingDisabled=!1)},withUserParams(f){const p=S(O);return this.client&&(p.client=Object.create(this.client.constructor.prototype),T(p.client,this.client),p.client.config=Object.assign({},this.client.config),this.client.config.password&&l(p.client.config,this.client.config)),I(p,p.client),A("query",O,p),A("query-error",O,p),A("query-response",O,p),A("start",O,p),p.userParams=f,p}}),O.context||(O.context=C)}function A(O,C,f){C.listeners(O).forEach(L=>{f.on(O,L)})}function I(O,C){for(let p=0;p<s.length;p++){const L=s[p];O[L]=function(){const P=this.queryBuilder();return P[L].apply(P,arguments)}}Object.defineProperties(O,o),R(O),O.client=C,O.userParams={};const f=new e;for(const p in f)O[p]=f[p];O._internalListeners&&O._internalListeners.forEach(({eventName:p,listener:L})=>{O.client.removeListener(p,L)}),O._internalListeners=[],h(O,"start",p=>{O.emit("start",p)}),h(O,"query",p=>{O.emit("query",p)}),h(O,"query-error",(p,L)=>{O.emit("query-error",p,L)}),h(O,"query-response",(p,L,P)=>{O.emit("query-response",p,L,P)})}function h(O,C,f){O.client.on(C,f),O._internalListeners.push({eventName:C,listener:f})}function c(O,C,f){const p=O.queryBuilder();return C||O.client.logger.warn("calling knex without a tableName is deprecated. Use knex.queryBuilder() instead."),C?p.table(C,f):p}function S(O){const C=Object.create(Object.getPrototypeOf(O),Object.getOwnPropertyDescriptors(O)),f={},L=((P,D)=>c(f,P,D)).bind(C);return Object.assign(L,O),L.context=f,L}return Yo=a,Yo}var $o,tO;function J_(){if(tO)return $o;tO=1;const e=er(),t=r=>Object.assign(r,{finally(n){return this.then().finally(n)}});return $o=Promise.prototype.finally?t:e,$o}var Vo,rO;function Ve(){if(rO)return Vo;rO=1;const{EventEmitter:e}=Qe(),t=be(),r=Y_(),{callbackify:n}=Ye(),s=k_(),{timeout:T,KnexTimeoutError:E}=Rt(),i=J_(),l=t("knex:tx");function o(){return{userParams:{},doNotRejectOnRollback:!0}}const u=["read uncommitted","read committed","snapshot","repeatable read","serializable"];class a extends e{constructor(c,S,O=o(),C=null){super(),this.userParams=O.userParams,this.doNotRejectOnRollback=O.doNotRejectOnRollback;const f=this.txid=r("trx");this.client=c,this.logger=c.logger,this.outerTx=C,this.trxClient=void 0,this._completed=!1,this._debug=c.config&&c.config.debug,this.readOnly=O.readOnly,O.isolationLevel&&this.setIsolationLevel(O.isolationLevel),l("%s: Starting %s transaction",f,C?"nested":"top level"),this._lastChild=Promise.resolve();const L=(C?C._lastChild:Promise.resolve()).then(()=>this._evaluateContainer(O,S));this._promise=L.then(P=>P),C&&(C._lastChild=L.catch(()=>{}))}isCompleted(){return this._completed||this.outerTx&&this.outerTx.isCompleted()||!1}begin(c){const S=[this.isolationLevel?`ISOLATION LEVEL ${this.isolationLevel}`:"",this.readOnly?"READ ONLY":""].join(" ").trim();return S.length===0?this.query(c,"BEGIN;"):this.query(c,`SET TRANSACTION ${S};`).then(()=>this.query(c,"BEGIN;"))}savepoint(c){return this.query(c,`SAVEPOINT ${this.txid};`)}commit(c,S){return this.query(c,"COMMIT;",1,S)}release(c,S){return this.query(c,`RELEASE SAVEPOINT ${this.txid};`,1,S)}setIsolationLevel(c){if(!u.includes(c))throw new Error(`Invalid isolationLevel, supported isolation levels are: ${JSON.stringify(u)}`);return this.isolationLevel=c,this}rollback(c,S){return T(this.query(c,"ROLLBACK",2,S),5e3).catch(O=>{if(!(O instanceof E))return Promise.reject(O);this._rejecter(S)})}rollbackTo(c,S){return T(this.query(c,`ROLLBACK TO SAVEPOINT ${this.txid}`,2,S),5e3).catch(O=>{if(!(O instanceof E))return Promise.reject(O);this._rejecter(S)})}query(c,S,O,C){const f=this.trxClient.query(c,S).catch(p=>{O=2,C=p,this._completed=!0,l("%s error running transaction query",this.txid)}).then(p=>{if(O===1&&this._resolver(C),O===2){if(C===void 0){if(this.doNotRejectOnRollback&&/^ROLLBACK\b/i.test(S)){this._resolver();return}C=new Error(`Transaction rejected with non-error: ${C}`)}this._rejecter(C)}return p});return(O===1||O===2)&&(this._completed=!0),f}debug(c){return this._debug=arguments.length?c:!0,this}async _evaluateContainer(c,S){return this.acquireConnection(c,O=>{const C=this.trxClient=A(this,this.client,O),f=this.client.transacting?this.savepoint(O):this.begin(O),p=new Promise((L,P)=>{this._resolver=L,this._rejecter=P});return f.then(()=>R(this,O,C)).then(L=>{this.transactor=L,this.outerTx&&(L.parentTransaction=this.outerTx.transactor),L.executionPromise=p;let P;try{P=S(L)}catch(D){P=Promise.reject(D)}return P&&P.then&&typeof P.then=="function"&&P.then(D=>L.commit(D)).catch(D=>L.rollback(D)),null}).catch(L=>this._rejecter(L)),p})}async acquireConnection(c,S){const O=c&&c.connection,C=O||await this.client.acquireConnection();try{return C.__knexTxId=this.txid,await S(C)}finally{O?l("%s: not releasing external connection",this.txid):(l("%s: releasing connection",this.txid),this.client.releaseConnection(C))}}then(c,S){return this._promise.then(c,S)}catch(...c){return this._promise.catch(...c)}asCallback(c){return n(()=>this._promise)(c),this._promise}}i(a.prototype);function R(h,c,S){const O=s(S);return O.context.withUserParams=()=>{throw new Error("Cannot set user params on a transaction - it can only inherit params from main knex instance")},O.isTransaction=!0,O.userParams=h.userParams||{},O.context.transaction=function(C,f){return f?f.doNotRejectOnRollback===void 0&&(f.doNotRejectOnRollback=!0):f={doNotRejectOnRollback:!0},this._transaction(C,f,h)},O.savepoint=function(C,f){return O.transaction(C,f)},h.client.transacting?(O.commit=C=>h.release(c,C),O.rollback=C=>h.rollbackTo(c,C)):(O.commit=C=>h.commit(c,C),O.rollback=C=>h.rollback(c,C)),O.isCompleted=()=>h.isCompleted(),O}function A(h,c,S){const O=Object.create(c.constructor.prototype);O.version=c.version,O.config=c.config,O.driver=c.driver,O.connectionSettings=c.connectionSettings,O.transacting=!0,O.valueForUndefined=c.valueForUndefined,O.logger=c.logger,O.on("start",function(p){h.emit("start",p),c.emit("start",p)}),O.on("query",function(p){h.emit("query",p),c.emit("query",p)}),O.on("query-error",function(p,L){h.emit("query-error",p,L),c.emit("query-error",p,L)}),O.on("query-response",function(p,L,P){h.emit("query-response",p,L,P),c.emit("query-response",p,L,P)});const C=O.query;O.query=function(p,L){const P=h.isCompleted();return new Promise(function(D,w){try{if(p!==S)throw new Error("Invalid connection for transaction query.");P&&I(h,L),D(C.call(O,p,L))}catch(_){w(_)}})};const f=O.stream;return O.stream=function(p,L,P,D){const w=h.isCompleted();return new Promise(function(_,m){try{if(p!==S)throw new Error("Invalid connection for transaction query.");w&&I(h,L),_(f.call(O,p,L,P,D))}catch(U){m(U)}})},O.acquireConnection=function(){return Promise.resolve(S)},O.releaseConnection=function(){return Promise.resolve()},O}function I(h,c){const S=typeof c=="string"?c:c&&c.sql;throw l("%s: Transaction completed: %s",h.txid,S),new Error("Transaction query already complete, run with DEBUG=knex:tx for more info")}return Vo=a,Vo}var xo,nO;function Q_(){if(nO)return xo;nO=1;const e=be()("knex:query"),t=be()("knex:bindings"),r=(i,l)=>e(i.replace(/%/g,"%%"),l),{isString:n}=ce();function s(i,l,o,u){l=l==null?[]:[].concat(l);let a=0;return i.replace(/\\?\?/g,R=>{if(R==="\\?")return"?";if(a===l.length)return R;const A=l[a++];return u._escapeBinding(A,{timeZone:o})})}function T(i,l,o){const u=n(l)?{sql:l}:l;u.bindings=o.prepBindings(u.bindings),u.sql=o.positionBindings(u.sql);const{__knexUid:a,__knexTxId:R}=i;return o.emit("query",Object.assign({__knexUid:a,__knexTxId:R},u)),r(u.sql,R),t(u.bindings,R),u}function E(i,l,o){return o._query(i,l).catch(u=>{throw o.config&&o.config.compileSqlOnError===!1?u.message=l.sql+" - "+u.message:u.message=s(l.sql,l.bindings,void 0,o)+" - "+u.message,o.emit("query-error",u,Object.assign({__knexUid:i.__knexUid,__knexTxId:i.__knexUid},l)),u})}return xo={enrichQueryObject:T,executeQuery:E,formatQuery:s},xo}var Wo,iO;function rt(){if(iO)return Wo;iO=1;var e=Rr(),t=ze(),r=zu(),n=ve(),s=bt(),T=et(),E=Object.prototype,i=E.hasOwnProperty,l=r(function(o,u){if(s(u)||n(u)){t(u,T(u),o);return}for(var a in u)i.call(u,a)&&e(o,a,u[a])});return Wo=l,Wo}var Xo,sO;function tl(){if(sO)return Xo;sO=1;var e=B_(),t=4;function r(n){return e(n,t)}return Xo=r,Xo}var Ko,oO;function Z_(){if(oO)return Ko;oO=1;var e=x_(),t=et();function r(n,s){return n&&e(n,s,t)}return Ko=r,Ko}var jo,EO;function Ey(){if(EO)return jo;EO=1;var e=ve();function t(r,n){return function(s,T){if(s==null)return s;if(!e(s))return r(s,T);for(var E=s.length,i=n?E:-1,l=Object(s);(n?i--:++i<E)&&T(l[i],i,l)!==!1;);return s}}return jo=t,jo}var ko,aO;function ht(){if(aO)return ko;aO=1;var e=Z_(),t=Ey(),r=t(e);return ko=r,ko}var Jo,TO;function ay(){if(TO)return Jo;TO=1;var e=De();function t(r){return typeof r=="function"?r:e}return Jo=t,Jo}var Qo,uO;function Ty(){if(uO)return Qo;uO=1;var e=Vu(),t=ht(),r=ay(),n=Ne();function s(T,E){var i=n(T)?e:t;return i(T,r(E))}return Qo=s,Qo}var Zo,lO;function wt(){return lO||(lO=1,Zo=Ty()),Zo}var zo,RO;function ge(){if(RO)return zo;RO=1;var e=L_(),t=It(),r=Ut(),n=Ne(),s=ve(),T=Ot(),E=bt(),i=Nt(),l="[object Map]",o="[object Set]",u=Object.prototype,a=u.hasOwnProperty;function R(A){if(A==null)return!0;if(s(A)&&(n(A)||typeof A=="string"||typeof A.splice=="function"||T(A)||i(A)||r(A)))return!A.length;var I=t(A);if(I==l||I==o)return!A.size;if(E(A))return!e(A).length;for(var h in A)if(a.call(A,h))return!1;return!0}return zo=R,zo}var eE,AO;function uy(){if(AO)return eE;AO=1;function e(t){var r=t==null?0:t.length;return r?t[r-1]:void 0}return eE=e,eE}var tE,cO;function z_(){if(cO)return tE;cO=1;var e=ht();function t(r,n){var s=[];return e(r,function(T,E,i){n(T,E,i)&&s.push(T)}),s}return tE=t,tE}var rE,SO;function ly(){if(SO)return rE;SO=1;var e="__lodash_hash_undefined__";function t(r){return this.__data__.set(r,e),this}return rE=t,rE}var nE,OO;function Ry(){if(OO)return nE;OO=1;function e(t){return this.__data__.has(t)}return nE=e,nE}var iE,NO;function eC(){if(NO)return iE;NO=1;var e=$u(),t=ly(),r=Ry();function n(s){var T=-1,E=s==null?0:s.length;for(this.__data__=new e;++T<E;)this.add(s[T])}return n.prototype.add=n.prototype.push=t,n.prototype.has=r,iE=n,iE}var sE,IO;function tC(){if(IO)return sE;IO=1;function e(t,r){for(var n=-1,s=t==null?0:t.length;++n<s;)if(r(t[n],n,t))return!0;return!1}return sE=e,sE}var oE,hO;function rC(){if(hO)return oE;hO=1;function e(t,r){return t.has(r)}return oE=e,oE}var EE,_O;function nC(){if(_O)return EE;_O=1;var e=eC(),t=tC(),r=rC(),n=1,s=2;function T(E,i,l,o,u,a){var R=l&n,A=E.length,I=i.length;if(A!=I&&!(R&&I>A))return!1;var h=a.get(E),c=a.get(i);if(h&&c)return h==i&&c==E;var S=-1,O=!0,C=l&s?new e:void 0;for(a.set(E,i),a.set(i,E);++S<A;){var f=E[S],p=i[S];if(o)var L=R?o(p,f,S,i,E,a):o(f,p,S,E,i,a);if(L!==void 0){if(L)continue;O=!1;break}if(C){if(!t(i,function(P,D){if(!r(C,D)&&(f===P||u(f,P,l,o,a)))return C.push(D)})){O=!1;break}}else if(!(f===p||u(f,p,l,o,a))){O=!1;break}}return a.delete(E),a.delete(i),O}return EE=T,EE}var aE,CO;function iC(){if(CO)return aE;CO=1;function e(t){var r=-1,n=Array(t.size);return t.forEach(function(s,T){n[++r]=[T,s]}),n}return aE=e,aE}var TE,fO;function Nr(){if(fO)return TE;fO=1;function e(t){var r=-1,n=Array(t.size);return t.forEach(function(s){n[++r]=s}),n}return TE=e,TE}var uE,pO;function Ay(){if(pO)return uE;pO=1;var e=je(),t=b_(),r=St(),n=nC(),s=iC(),T=Nr(),E=1,i=2,l="[object Boolean]",o="[object Date]",u="[object Error]",a="[object Map]",R="[object Number]",A="[object RegExp]",I="[object Set]",h="[object String]",c="[object Symbol]",S="[object ArrayBuffer]",O="[object DataView]",C=e?e.prototype:void 0,f=C?C.valueOf:void 0;function p(L,P,D,w,_,m,U){switch(D){case O:if(L.byteLength!=P.byteLength||L.byteOffset!=P.byteOffset)return!1;L=L.buffer,P=P.buffer;case S:return!(L.byteLength!=P.byteLength||!m(new t(L),new t(P)));case l:case o:case R:return r(+L,+P);case u:return L.name==P.name&&L.message==P.message;case A:case h:return L==P+"";case a:var B=s;case I:var N=w&E;if(B||(B=T),L.size!=P.size&&!N)return!1;var d=U.get(L);if(d)return d==P;w|=i,U.set(L,P);var g=n(B(L),B(P),w,_,m,U);return U.delete(L),g;case c:if(f)return f.call(L)==f.call(P)}return!1}return uE=p,uE}var lE,dO;function cy(){if(dO)return lE;dO=1;var e=g_(),t=1,r=Object.prototype,n=r.hasOwnProperty;function s(T,E,i,l,o,u){var a=i&t,R=e(T),A=R.length,I=e(E),h=I.length;if(A!=h&&!a)return!1;for(var c=A;c--;){var S=R[c];if(!(a?S in E:n.call(E,S)))return!1}var O=u.get(T),C=u.get(E);if(O&&C)return O==E&&C==T;var f=!0;u.set(T,E),u.set(E,T);for(var p=a;++c<A;){S=R[c];var L=T[S],P=E[S];if(l)var D=a?l(P,L,S,E,T,u):l(L,P,S,T,E,u);if(!(D===void 0?L===P||o(L,P,i,l,u):D)){f=!1;break}p||(p=S=="constructor")}if(f&&!p){var w=T.constructor,_=E.constructor;w!=_&&"constructor"in T&&"constructor"in E&&!(typeof w=="function"&&w instanceof w&&typeof _=="function"&&_ instanceof _)&&(f=!1)}return u.delete(T),u.delete(E),f}return lE=s,lE}var RE,LO;function Sy(){if(LO)return RE;LO=1;var e=ur(),t=nC(),r=Ay(),n=cy(),s=It(),T=Ne(),E=Ot(),i=Nt(),l=1,o="[object Arguments]",u="[object Array]",a="[object Object]",R=Object.prototype,A=R.hasOwnProperty;function I(h,c,S,O,C,f){var p=T(h),L=T(c),P=p?u:s(h),D=L?u:s(c);P=P==o?a:P,D=D==o?a:D;var w=P==a,_=D==a,m=P==D;if(m&&E(h)){if(!E(c))return!1;p=!0,w=!1}if(m&&!w)return f||(f=new e),p||i(h)?t(h,c,S,O,C,f):r(h,c,P,S,O,C,f);if(!(S&l)){var U=w&&A.call(h,"__wrapped__"),B=_&&A.call(c,"__wrapped__");if(U||B){var N=U?h.value():h,d=B?c.value():c;return f||(f=new e),C(N,d,S,O,f)}}return m?(f||(f=new e),n(h,c,S,O,C,f)):!1}return RE=I,RE}var AE,mO;function sC(){if(mO)return AE;mO=1;var e=Sy(),t=Ge();function r(n,s,T,E,i){return n===s?!0:n==null||s==null||!t(n)&&!t(s)?n!==n&&s!==s:e(n,s,T,E,r,i)}return AE=r,AE}var cE,PO;function Oy(){if(PO)return cE;PO=1;var e=ur(),t=sC(),r=1,n=2;function s(T,E,i,l){var o=i.length,u=o,a=!l;if(T==null)return!u;for(T=Object(T);o--;){var R=i[o];if(a&&R[2]?R[1]!==T[R[0]]:!(R[0]in T))return!1}for(;++o<u;){R=i[o];var A=R[0],I=T[A],h=R[1];if(a&&R[2]){if(I===void 0&&!(A in T))return!1}else{var c=new e;if(l)var S=l(I,h,A,T,E,c);if(!(S===void 0?t(h,I,r|n,l,c):S))return!1}}return!0}return cE=s,cE}var SE,yO;function oC(){if(yO)return SE;yO=1;var e=ye();function t(r){return r===r&&!e(r)}return SE=t,SE}var OE,DO;function Ny(){if(DO)return OE;DO=1;var e=oC(),t=et();function r(n){for(var s=t(n),T=s.length;T--;){var E=s[T],i=n[E];s[T]=[E,i,e(i)]}return s}return OE=r,OE}var NE,gO;function EC(){if(gO)return NE;gO=1;function e(t,r){return function(n){return n==null?!1:n[t]===r&&(r!==void 0||t in Object(n))}}return NE=e,NE}var IE,MO;function Iy(){if(MO)return IE;MO=1;var e=Oy(),t=Ny(),r=EC();function n(s){var T=t(s);return T.length==1&&T[0][2]?r(T[0][0],T[0][1]):function(E){return E===s||e(E,s,T)}}return IE=n,IE}var hE,UO;function rl(){if(UO)return hE;UO=1;var e=Ne(),t=tr(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function s(T,E){if(e(T))return!1;var i=typeof T;return i=="number"||i=="symbol"||i=="boolean"||T==null||t(T)?!0:n.test(T)||!r.test(T)||E!=null&&T in Object(E)}return hE=s,hE}var _E,bO;function hy(){if(bO)return _E;bO=1;var e=$u(),t="Expected a function";function r(n,s){if(typeof n!="function"||s!=null&&typeof s!="function")throw new TypeError(t);var T=function(){var E=arguments,i=s?s.apply(this,E):E[0],l=T.cache;if(l.has(i))return l.get(i);var o=n.apply(this,E);return T.cache=l.set(i,o)||l,o};return T.cache=new(r.Cache||e),T}return r.Cache=e,_E=r,_E}var CE,wO;function _y(){if(wO)return CE;wO=1;var e=hy(),t=500;function r(n){var s=e(n,function(E){return T.size===t&&T.clear(),E}),T=s.cache;return s}return CE=r,CE}var fE,GO;function Cy(){if(GO)return fE;GO=1;var e=_y(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,n=e(function(s){var T=[];return s.charCodeAt(0)===46&&T.push(""),s.replace(t,function(E,i,l,o){T.push(l?o.replace(r,"$1"):i||E)}),T});return fE=n,fE}var pE,vO;function Ir(){if(vO)return pE;vO=1;var e=Ne(),t=rl(),r=Cy(),n=q_();function s(T,E){return e(T)?T:t(T,E)?[T]:r(n(T))}return pE=s,pE}var dE,BO;function Gt(){if(BO)return dE;BO=1;var e=tr();function t(r){if(typeof r=="string"||e(r))return r;var n=r+"";return n=="0"&&1/r==-1/0?"-0":n}return dE=t,dE}var LE,FO;function nl(){if(FO)return LE;FO=1;var e=Ir(),t=Gt();function r(n,s){s=e(s,n);for(var T=0,E=s.length;n!=null&&T<E;)n=n[t(s[T++])];return T&&T==E?n:void 0}return LE=r,LE}var mE,HO;function fy(){if(HO)return mE;HO=1;var e=nl();function t(r,n,s){var T=r==null?void 0:e(r,n);return T===void 0?s:T}return mE=t,mE}var PE,qO;function py(){if(qO)return PE;qO=1;function e(t,r){return t!=null&&r in Object(t)}return PE=e,PE}var yE,YO;function aC(){if(YO)return yE;YO=1;var e=Ir(),t=Ut(),r=Ne(),n=Ar(),s=xu(),T=Gt();function E(i,l,o){l=e(l,i);for(var u=-1,a=l.length,R=!1;++u<a;){var A=T(l[u]);if(!(R=i!=null&&o(i,A)))break;i=i[A]}return R||++u!=a?R:(a=i==null?0:i.length,!!a&&s(a)&&n(A,a)&&(r(i)||t(i)))}return yE=E,yE}var DE,$O;function dy(){if($O)return DE;$O=1;var e=py(),t=aC();function r(n,s){return n!=null&&t(n,s,e)}return DE=r,DE}var gE,VO;function Ly(){if(VO)return gE;VO=1;var e=sC(),t=fy(),r=dy(),n=rl(),s=oC(),T=EC(),E=Gt(),i=1,l=2;function o(u,a){return n(u)&&s(a)?T(E(u),a):function(R){var A=t(R,u);return A===void 0&&A===a?r(R,u):e(a,A,i|l)}}return gE=o,gE}var ME,xO;function my(){if(xO)return ME;xO=1;function e(t){return function(r){return r==null?void 0:r[t]}}return ME=e,ME}var UE,WO;function Py(){if(WO)return UE;WO=1;var e=nl();function t(r){return function(n){return e(n,r)}}return UE=t,UE}var bE,XO;function yy(){if(XO)return bE;XO=1;var e=my(),t=Py(),r=rl(),n=Gt();function s(T){return r(T)?e(n(T)):t(T)}return bE=s,bE}var wE,KO;function Be(){if(KO)return wE;KO=1;var e=Iy(),t=Ly(),r=De(),n=Ne(),s=yy();function T(E){return typeof E=="function"?E:E==null?r:typeof E=="object"?n(E)?t(E[0],E[1]):e(E):s(E)}return wE=T,wE}var GE,jO;function TC(){if(jO)return GE;jO=1;var e="Expected a function";function t(r){if(typeof r!="function")throw new TypeError(e);return function(){var n=arguments;switch(n.length){case 0:return!r.call(this);case 1:return!r.call(this,n[0]);case 2:return!r.call(this,n[0],n[1]);case 3:return!r.call(this,n[0],n[1],n[2])}return!r.apply(this,n)}}return GE=t,GE}var vE,kO;function Dy(){if(kO)return vE;kO=1;var e=ju(),t=z_(),r=Be(),n=Ne(),s=TC();function T(E,i){var l=n(E)?e:t;return l(E,s(r(i,3)))}return vE=T,vE}var BE,JO;function hr(){if(JO)return BE;JO=1;var e=X_();function t(r){var n=r==null?0:r.length;return n?e(r,1,n):[]}return BE=t,BE}var FE,QO;function gy(){if(QO)return FE;QO=1;var e=ke(),t=Ne(),r=Ge(),n="[object String]";function s(T){return typeof T=="string"||!t(T)&&r(T)&&e(T)==n}return FE=s,FE}var HE,ZO;function My(){if(ZO)return HE;ZO=1;function e(t){for(var r,n=[];!(r=t.next()).done;)n.push(r.value);return n}return HE=e,HE}var qE,zO;function Uy(){if(zO)return qE;zO=1;function e(t){return t.split("")}return qE=e,qE}var YE,eN;function by(){if(eN)return YE;eN=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",s=t+r+n,T="\\ufe0e\\ufe0f",E="\\u200d",i=RegExp("["+E+e+s+T+"]");function l(o){return i.test(o)}return YE=l,YE}var $E,tN;function wy(){if(tN)return $E;tN=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",s=t+r+n,T="\\ufe0e\\ufe0f",E="["+e+"]",i="["+s+"]",l="\\ud83c[\\udffb-\\udfff]",o="(?:"+i+"|"+l+")",u="[^"+e+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",R="[\\ud800-\\udbff][\\udc00-\\udfff]",A="\\u200d",I=o+"?",h="["+T+"]?",c="(?:"+A+"(?:"+[u,a,R].join("|")+")"+h+I+")*",S=h+I+c,O="(?:"+[u+i+"?",i,a,R,E].join("|")+")",C=RegExp(l+"(?="+l+")|"+O+S,"g");function f(p){return p.match(C)||[]}return $E=f,$E}var VE,rN;function Gy(){if(rN)return VE;rN=1;var e=Uy(),t=by(),r=wy();function n(s){return t(s)?r(s):e(s)}return VE=n,VE}var xE,nN;function vy(){if(nN)return xE;nN=1;var e=Or();function t(r,n){return e(n,function(s){return r[s]})}return xE=t,xE}var WE,iN;function uC(){if(iN)return WE;iN=1;var e=vy(),t=et();function r(n){return n==null?[]:e(n,t(n))}return WE=r,WE}var XE,sN;function vt(){if(sN)return XE;sN=1;var e=je(),t=Ku(),r=It(),n=ve(),s=gy(),T=My(),E=iC(),i=Nr(),l=Gy(),o=uC(),u="[object Map]",a="[object Set]",R=e?e.iterator:void 0;function A(I){if(!I)return[];if(n(I))return s(I)?l(I):t(I);if(R&&I[R])return T(I[R]());var h=r(I),c=h==u?E:h==a?i:o;return c(I)}return XE=A,XE}var KE,oN;function il(){if(oN)return KE;oN=1;const e=Object.freeze({pg:"postgres",postgresql:"postgres",sqlite:"sqlite3"}),t=Object.freeze(["mssql","mysql","mysql2","oracledb","postgres","pgnative","redshift","sqlite3","cockroachdb","better-sqlite3"].concat(Object.keys(e))),r=Object.freeze({MsSQL:"mssql",MySQL:"mysql",MySQL2:"mysql2",Oracle:"oracledb",PostgreSQL:"pg",PgNative:"pgnative",Redshift:"pg-redshift",SQLite:"sqlite3",CockroachDB:"cockroachdb",BetterSQLite3:"better-sqlite3"}),n=Object.freeze(["maxWaitingClients","testOnBorrow","fifo","priorityRange","autostart","evictionRunIntervalMillis","numTestsPerRun","softIdleTimeoutMillis","Promise"]);return KE={CLIENT_ALIASES:e,SUPPORTED_CLIENTS:t,POOL_CONFIG_OPTIONS:n,COMMA_NO_PAREN_REGEX:/,[\s](?![^(]*\))/g,DRIVER_NAMES:r},KE}var jE,EN;function Le(){if(EN)return jE;EN=1;const e=$e(),t=Nt(),{CLIENT_ALIASES:r}=il(),{isFunction:n}=ce();function s(...u){return Array.isArray(u[0])?u[0]:u}function T(u){let a=!1;if(t(u))return!1;if(u&&n(u.toSQL))return a;if(Array.isArray(u))for(let R=0;R<u.length&&!a;R++)a=T(u[R]);else e(u)?Object.keys(u).forEach(R=>{a||(a=T(u[R]))}):a=u===void 0;return a}function E(u){const a=[];return Array.isArray(u)?u.forEach((R,A)=>{T(R)&&a.push(A)}):e(u)?Object.keys(u).forEach(R=>{T(u[R])&&a.push(R)}):a.push(0),a}function i(u){u.prototype.queryContext=function(a){return a===void 0?this._queryContext:(this._queryContext=a,this)}}function l(u){return r[u]||u}function o(u,a){if(u==null)return a;const R=parseInt(u,10);return isNaN(R)?a:R}return jE={addQueryContext:i,containsUndefined:T,getUndefinedIndices:E,normalizeArr:s,resolveClientNameWithAliases:l,toNumber:o},jE}var kE,aN;function lC(){if(aN)return kE;aN=1;const e=Ie;function t(n,s,T,E,i){if(typeof T=="function")return{type:"onWrapped",value:T,bool:s};switch(arguments.length){case 3:return{type:"onRaw",value:T,bool:s};case 4:return{type:n,column:T,operator:"=",value:E,bool:s};default:return{type:n,column:T,operator:E,value:i,bool:s}}}class r{constructor(s,T,E){this.schema=E,this.table=s,this.joinType=T,this.and=this,this.clauses=[]}get or(){return this._bool("or")}on(s){if(typeof s=="object"&&typeof s.toSQL!="function"){const E=Object.keys(s);let i=-1;const l=this._bool()==="or"?"orOn":"on";for(;++i<E.length;)this[l](E[i],s[E[i]]);return this}const T=t("onBasic",this._bool(),...arguments);return T&&this.clauses.push(T),this}orOn(s,T,E){return this._bool("or").on.apply(this,arguments)}onJsonPathEquals(s,T,E,i){return this.clauses.push({type:"onJsonPathEquals",columnFirst:s,jsonPathFirst:T,columnSecond:E,jsonPathSecond:i,bool:this._bool(),not:this._not()}),this}orOnJsonPathEquals(s,T,E,i){return this._bool("or").onJsonPathEquals.apply(this,arguments)}using(s){return this.clauses.push({type:"onUsing",column:s,bool:this._bool()})}onVal(s){if(typeof s=="object"&&typeof s.toSQL!="function"){const E=Object.keys(s);let i=-1;const l=this._bool()==="or"?"orOnVal":"onVal";for(;++i<E.length;)this[l](E[i],s[E[i]]);return this}const T=t("onVal",this._bool(),...arguments);return T&&this.clauses.push(T),this}andOnVal(){return this.onVal(...arguments)}orOnVal(){return this._bool("or").onVal(...arguments)}onBetween(s,T){return e(Array.isArray(T),"The second argument to onBetween must be an array."),e(T.length===2,"You must specify 2 values for the onBetween clause"),this.clauses.push({type:"onBetween",column:s,value:T,bool:this._bool(),not:this._not()}),this}onNotBetween(s,T){return this._not(!0).onBetween(s,T)}orOnBetween(s,T){return this._bool("or").onBetween(s,T)}orOnNotBetween(s,T){return this._bool("or")._not(!0).onBetween(s,T)}onIn(s,T){return Array.isArray(T)&&T.length===0?this.on(1,"=",0):(this.clauses.push({type:"onIn",column:s,value:T,not:this._not(),bool:this._bool()}),this)}onNotIn(s,T){return this._not(!0).onIn(s,T)}orOnIn(s,T){return this._bool("or").onIn(s,T)}orOnNotIn(s,T){return this._bool("or")._not(!0).onIn(s,T)}onNull(s){return this.clauses.push({type:"onNull",column:s,not:this._not(),bool:this._bool()}),this}orOnNull(s){return this._bool("or").onNull(s)}onNotNull(s){return this._not(!0).onNull(s)}orOnNotNull(s){return this._not(!0)._bool("or").onNull(s)}onExists(s){return this.clauses.push({type:"onExists",value:s,not:this._not(),bool:this._bool()}),this}orOnExists(s){return this._bool("or").onExists(s)}onNotExists(s){return this._not(!0).onExists(s)}orOnNotExists(s){return this._not(!0)._bool("or").onExists(s)}type(s){return this.joinType=s,this}_bool(s){if(arguments.length===1)return this._boolFlag=s,this;const T=this._boolFlag||"and";return this._boolFlag="and",T}_not(s){if(arguments.length===1)return this._notFlag=s,this;const T=this._notFlag;return this._notFlag=!1,T}}return Object.assign(r.prototype,{grouping:"join"}),r.prototype.andOn=r.prototype.on,r.prototype.andOnIn=r.prototype.onIn,r.prototype.andOnNotIn=r.prototype.onNotIn,r.prototype.andOnNull=r.prototype.onNull,r.prototype.andOnNotNull=r.prototype.onNotNull,r.prototype.andOnExists=r.prototype.onExists,r.prototype.andOnNotExists=r.prototype.onNotExists,r.prototype.andOnBetween=r.prototype.onBetween,r.prototype.andOnNotBetween=r.prototype.onNotBetween,r.prototype.andOnJsonPathEquals=r.prototype.onJsonPathEquals,kE=r,kE}var JE,TN;function By(){if(TN)return JE;TN=1;const e=Ie;class t{constructor(n,s,T,E,i){this.schema=s,this.type="analytic",this.method=n,this.order=E||[],this.partitions=i||[],this.alias=T,this.and=this,this.grouping="columns"}partitionBy(n,s){return e(Array.isArray(n)||typeof n=="string",`The argument to an analytic partitionBy function must be either a string
|
|
170
|
-
or an array of string.`),Array.isArray(n)?this.partitions=this.partitions.concat(n):this.partitions.push({column:n,order:s}),this}orderBy(n,s){return e(Array.isArray(n)||typeof n=="string",`The argument to an analytic orderBy function must be either a string
|
|
171
|
-
or an array of string.`),Array.isArray(n)?this.order=this.order.concat(n):this.order.push({column:n,order:s}),this}}return JE=t,JE}var QE,uN;function sl(){return uN||(uN=1,QE=function(t,r){t.client.config.asyncStackTraces&&(t._asyncStack={error:new Error,lines:r})}),QE}var ZE,lN;function Fy(){return lN||(lN=1,ZE={lockMode:{forShare:"forShare",forUpdate:"forUpdate",forNoKeyUpdate:"forNoKeyUpdate",forKeyShare:"forKeyShare"},waitMode:{skipLocked:"skipLocked",noWait:"noWait"}}),ZE}var zE,RN;function ol(){if(RN)return zE;RN=1;const e=tl(),t=ge(),{callbackify:r}=Ye(),n=J_(),{formatQuery:s}=Q_();function T(E){E.prototype.toQuery=function(i){let l=this.toSQL(this._method,i);return Array.isArray(l)||(l=[l]),l.length?l.map(o=>s(o.sql,o.bindings,i,this.client)).reduce((o,u)=>o.concat(o.endsWith(";")?`
|
|
172
|
-
`:`;
|
|
173
|
-
`,u)):""},E.prototype.then=function(){let i=this.client.runner(this).run();return this.client.config.asyncStackTraces&&(i=i.catch(l=>{l.originalStack=l.stack;const o=l.stack.split(`
|
|
174
|
-
`)[0],{error:u,lines:a}=this._asyncStack,A=u.stack.split(`
|
|
175
|
-
`).slice(a);throw A.unshift(o),l.stack=A.join(`
|
|
176
|
-
`),l})),i.then.apply(i,arguments)},E.prototype.options=function(i){return this._options=this._options||[],this._options.push(e(i)||{}),this},E.prototype.connection=function(i){return this._connection=i,this.client.processPassedConnection(i),this},E.prototype.debug=function(i){return this._debug=arguments.length?i:!0,this},E.prototype.transacting=function(i){if(i&&i.client&&(i.client.transacting?this.client=i.client:i.client.logger.warn(`Invalid transaction value: ${i.client}`)),t(i))throw this.client.logger.error("Invalid value on transacting call, potential bug"),Error("Invalid transacting value (null, undefined or empty object)");return this},E.prototype.stream=function(i){return this.client.runner(this).stream(i)},E.prototype.pipe=function(i,l){return this.client.runner(this).pipe(i,l)},E.prototype.asCallback=function(i){const l=this.then();return r(()=>l)(i),l},E.prototype.catch=function(i){return this.then().catch(i)},Object.defineProperty(E.prototype,Symbol.toStringTag,{get:()=>"object"}),n(E.prototype)}return zE={augmentWithBuilderInterface:T},zE}var ea,AN;function Fe(){if(AN)return ea;AN=1;const e=Ie,{EventEmitter:t}=Qe(),r=rt(),n=tl(),s=wt(),T=ge(),E=$e(),i=uy(),l=Dy(),o=hr(),u=vt(),{addQueryContext:a,normalizeArr:R}=Le(),A=lC(),I=By(),h=sl(),{isBoolean:c,isNumber:S,isObject:O,isString:C,isFunction:f}=ce(),{lockMode:p,waitMode:L}=Fy(),{augmentWithBuilderInterface:P}=ol(),D=new Set(["pluck","first","select"]),w=new Set(["with","select","columns","hintComments","where","union","join","group","order","having","limit","offset","counter","counters"]),_=new Set([p.forShare,p.forUpdate,p.forNoKeyUpdate,p.forKeyShare]);class m extends t{constructor(N){super(),this.client=N,this.and=this,this._single={},this._comments=[],this._statements=[],this._method="select",N.config&&(h(this,5),this._debug=N.config.debug),this._joinFlag="inner",this._boolFlag="and",this._notFlag=!1,this._asColumnFlag=!1}toString(){return this.toQuery()}toSQL(N,d){return this.client.queryCompiler(this).toSQL(N||this._method,d)}clone(){const N=new this.constructor(this.client);return N._method=this._method,N._single=n(this._single),N._comments=n(this._comments),N._statements=n(this._statements),N._debug=this._debug,this._options!==void 0&&(N._options=n(this._options)),this._queryContext!==void 0&&(N._queryContext=n(this._queryContext)),this._connection!==void 0&&(N._connection=this._connection),N}timeout(N,{cancel:d}={}){return S(N)&&N>0&&(this._timeout=N,d&&(this.client.assertCanCancelQuery(),this._cancelOnTimeout=!0)),this}isValidStatementArg(N){return typeof N=="function"||N instanceof m||N&&N.isRawInstance}_validateWithArgs(N,d,g,x){const[j,Q]=typeof g>"u"?[d,void 0]:[g,d];if(typeof N!="string")throw new Error(`${x}() first argument must be a string`);if(this.isValidStatementArg(j)&&typeof Q>"u")return;if(!(Array.isArray(Q)&&Q.length>0&&Q.every(K=>typeof K=="string")))throw new Error(`${x}() second argument must be a statement or non-empty column name list.`);if(!this.isValidStatementArg(j))throw new Error(`${x}() third argument must be a function / QueryBuilder or a raw when its second argument is a column name list`)}with(N,d,g){return this._validateWithArgs(N,d,g,"with"),this.withWrapped(N,d,g)}withMaterialized(N,d,g){throw new Error("With materialized is not supported by this dialect")}withNotMaterialized(N,d,g){throw new Error("With materialized is not supported by this dialect")}withWrapped(N,d,g,x){const[j,Q]=typeof g>"u"?[d,void 0]:[g,d],G={grouping:"with",type:"withWrapped",alias:N,columnList:Q,value:j};return x!==void 0&&(G.materialized=x),this._statements.push(G),this}withRecursive(N,d,g){return this._validateWithArgs(N,d,g,"withRecursive"),this.withRecursiveWrapped(N,d,g)}withRecursiveWrapped(N,d,g){return this.withWrapped(N,d,g),this._statements[this._statements.length-1].recursive=!0,this}columns(N){return!N&&N!==0?this:(this._statements.push({grouping:"columns",value:R(...arguments)}),this)}comment(N){if(!C(N))throw new Error("Comment must be a string");const d=["/*","*/","?"];if(d.some(g=>N.includes(g)))throw new Error(`Cannot include ${d.join(", ")} in comment`);return this._comments.push({comment:N}),this}as(N){return this._single.as=N,this}hintComment(N){if(N=Array.isArray(N)?N:[N],N.some(d=>!C(d)))throw new Error("Hint comment must be a string");if(N.some(d=>d.includes("/*")||d.includes("*/")))throw new Error('Hint comment cannot include "/*" or "*/"');if(N.some(d=>d.includes("?")))throw new Error('Hint comment cannot include "?"');return this._statements.push({grouping:"hintComments",value:N}),this}withSchema(N){return this._single.schema=N,this}table(N,d={}){return this._single.table=N,this._single.only=d.only===!0,this}distinct(...N){return this._statements.push({grouping:"columns",value:R(...N),distinct:!0}),this}distinctOn(...N){if(T(N))throw new Error("distinctOn requires at least on argument");return this._statements.push({grouping:"columns",value:R(...N),distinctOn:!0}),this}join(N,d,...g){let x;const j=N instanceof m||typeof N=="function"?void 0:this._single.schema,Q=this._joinType();return typeof d=="function"?(x=new A(N,Q,j),d.call(x,x)):Q==="raw"?x=new A(this.client.raw(N,d),"raw"):(x=new A(N,Q,j),d&&x.on(d,...g)),this._statements.push(x),this}using(N){throw new Error("'using' function is only available in PostgreSQL dialect with Delete statements.")}innerJoin(...N){return this._joinType("inner").join(...N)}leftJoin(...N){return this._joinType("left").join(...N)}leftOuterJoin(...N){return this._joinType("left outer").join(...N)}rightJoin(...N){return this._joinType("right").join(...N)}rightOuterJoin(...N){return this._joinType("right outer").join(...N)}outerJoin(...N){return this._joinType("outer").join(...N)}fullOuterJoin(...N){return this._joinType("full outer").join(...N)}crossJoin(...N){return this._joinType("cross").join(...N)}joinRaw(...N){return this._joinType("raw").join(...N)}get or(){return this._bool("or")}get not(){return this._not(!0)}where(N,d,g){const x=arguments.length;if(N===!1||N===!0)return this.where(1,"=",N?1:0);if(typeof N=="function")return this.whereWrapped(N);if(O(N)&&!N.isRawInstance)return this._objectWhere(N);if(N&&N.isRawInstance&&x===1)return this.whereRaw(N);if(x===2&&(g=d,d="=",g===null))return this.whereNull(N);const j=`${d}`.toLowerCase().trim();if(x===3){if(j==="in"||j==="not in")return this._not(j==="not in").whereIn(N,g);if(j==="between"||j==="not between")return this._not(j==="not between").whereBetween(N,g)}return g===null&&(j==="is"||j==="is not")?this._not(j==="is not").whereNull(N):(this._statements.push({grouping:"where",type:"whereBasic",column:N,operator:d,value:g,not:this._not(),bool:this._bool(),asColumn:this._asColumnFlag}),this)}whereColumn(...N){return this._asColumnFlag=!0,this.where(...N),this._asColumnFlag=!1,this}orWhere(N,...d){this._bool("or");const g=N;return O(g)&&!g.isRawInstance?this.whereWrapped(function(){for(const x in g)this.andWhere(x,g[x])}):this.where(N,...d)}orWhereColumn(N,...d){this._bool("or");const g=N;return O(g)&&!g.isRawInstance?this.whereWrapped(function(){for(const x in g)this.andWhereColumn(x,"=",g[x])}):this.whereColumn(N,...d)}whereNot(N,...d){return d.length>=2&&(d[0]==="in"||d[0]==="between")&&this.client.logger.warn('whereNot is not suitable for "in" and "between" type subqueries. You should use "not in" and "not between" instead.'),this._not(!0).where(N,...d)}whereNotColumn(...N){return this._not(!0).whereColumn(...N)}orWhereNot(...N){return this._bool("or").whereNot(...N)}orWhereNotColumn(...N){return this._bool("or").whereNotColumn(...N)}_objectWhere(N){const d=this._bool(),g=this._not()?"Not":"";for(const x in N)this[d+"Where"+g](x,N[x]);return this}whereRaw(N,d){const g=N.isRawInstance?N:this.client.raw(N,d);return this._statements.push({grouping:"where",type:"whereRaw",value:g,not:this._not(),bool:this._bool()}),this}orWhereRaw(N,d){return this._bool("or").whereRaw(N,d)}whereWrapped(N){return this._statements.push({grouping:"where",type:"whereWrapped",value:N,not:this._not(),bool:this._bool()}),this}whereExists(N){return this._statements.push({grouping:"where",type:"whereExists",value:N,not:this._not(),bool:this._bool()}),this}orWhereExists(N){return this._bool("or").whereExists(N)}whereNotExists(N){return this._not(!0).whereExists(N)}orWhereNotExists(N){return this._bool("or").whereNotExists(N)}whereIn(N,d){return Array.isArray(d)&&T(d)?this.where(this._not()):(this._statements.push({grouping:"where",type:"whereIn",column:N,value:d,not:this._not(),bool:this._bool()}),this)}orWhereIn(N,d){return this._bool("or").whereIn(N,d)}whereNotIn(N,d){return this._not(!0).whereIn(N,d)}orWhereNotIn(N,d){return this._bool("or")._not(!0).whereIn(N,d)}whereNull(N){return this._statements.push({grouping:"where",type:"whereNull",column:N,not:this._not(),bool:this._bool()}),this}orWhereNull(N){return this._bool("or").whereNull(N)}whereNotNull(N){return this._not(!0).whereNull(N)}orWhereNotNull(N){return this._bool("or").whereNotNull(N)}whereBetween(N,d){return e(Array.isArray(d),"The second argument to whereBetween must be an array."),e(d.length===2,"You must specify 2 values for the whereBetween clause"),this._statements.push({grouping:"where",type:"whereBetween",column:N,value:d,not:this._not(),bool:this._bool()}),this}whereNotBetween(N,d){return this._not(!0).whereBetween(N,d)}orWhereBetween(N,d){return this._bool("or").whereBetween(N,d)}orWhereNotBetween(N,d){return this._bool("or").whereNotBetween(N,d)}_whereLike(N,d,g){return this._statements.push({grouping:"where",type:N,column:d,value:g,not:this._not(),bool:this._bool(),asColumn:this._asColumnFlag}),this}whereLike(N,d){return this._whereLike("whereLike",N,d)}orWhereLike(N,d){return this._bool("or")._whereLike("whereLike",N,d)}whereILike(N,d){return this._whereLike("whereILike",N,d)}orWhereILike(N,d){return this._bool("or")._whereLike("whereILike",N,d)}groupBy(N){return N&&N.isRawInstance?this.groupByRaw.apply(this,arguments):(this._statements.push({grouping:"group",type:"groupByBasic",value:R(...arguments)}),this)}groupByRaw(N,d){const g=N.isRawInstance?N:this.client.raw(N,d);return this._statements.push({grouping:"group",type:"groupByRaw",value:g}),this}orderBy(N,d,g=""){return Array.isArray(N)?this._orderByArray(N):(this._statements.push({grouping:"order",type:"orderByBasic",value:N,direction:d,nulls:g}),this)}_orderByArray(N){for(let d=0;d<N.length;d++){const g=N[d];O(g)?this._statements.push({grouping:"order",type:"orderByBasic",value:g.column,direction:g.order,nulls:g.nulls}):(C(g)||S(g))&&this._statements.push({grouping:"order",type:"orderByBasic",value:g})}return this}orderByRaw(N,d){const g=N.isRawInstance?N:this.client.raw(N,d);return this._statements.push({grouping:"order",type:"orderByRaw",value:g}),this}_union(N,d){let g=d[0],x=d[1];if(d.length===1||d.length===2&&c(x)){Array.isArray(g)||(g=[g]);for(let j=0,Q=g.length;j<Q;j++)this._statements.push({grouping:"union",clause:N,value:g[j],wrap:x||!1})}else g=u(d).slice(0,d.length-1),x=d[d.length-1],c(x)||(g.push(x),x=!1),this._union(N,[g,x]);return this}union(...N){return this._union("union",N)}unionAll(...N){return this._union("union all",N)}intersect(...N){return this._union("intersect",N)}except(...N){return this._union("except",N)}having(N,d,g){return N.isRawInstance&&arguments.length===1?this.havingRaw(N):typeof N=="function"?this.havingWrapped(N):(this._statements.push({grouping:"having",type:"havingBasic",column:N,operator:d,value:g,bool:this._bool(),not:this._not()}),this)}orHaving(N,...d){this._bool("or");const g=N;return O(g)&&!g.isRawInstance?this.havingWrapped(function(){for(const x in g)this.andHaving(x,g[x])}):this.having(N,...d)}havingWrapped(N){return this._statements.push({grouping:"having",type:"havingWrapped",value:N,bool:this._bool(),not:this._not()}),this}havingNull(N){return this._statements.push({grouping:"having",type:"havingNull",column:N,not:this._not(),bool:this._bool()}),this}orHavingNull(N){return this._bool("or").havingNull(N)}havingNotNull(N){return this._not(!0).havingNull(N)}orHavingNotNull(N){return this._not(!0)._bool("or").havingNull(N)}havingExists(N){return this._statements.push({grouping:"having",type:"havingExists",value:N,not:this._not(),bool:this._bool()}),this}orHavingExists(N){return this._bool("or").havingExists(N)}havingNotExists(N){return this._not(!0).havingExists(N)}orHavingNotExists(N){return this._not(!0)._bool("or").havingExists(N)}havingBetween(N,d){return e(Array.isArray(d),"The second argument to havingBetween must be an array."),e(d.length===2,"You must specify 2 values for the havingBetween clause"),this._statements.push({grouping:"having",type:"havingBetween",column:N,value:d,not:this._not(),bool:this._bool()}),this}orHavingBetween(N,d){return this._bool("or").havingBetween(N,d)}havingNotBetween(N,d){return this._not(!0).havingBetween(N,d)}orHavingNotBetween(N,d){return this._not(!0)._bool("or").havingBetween(N,d)}havingIn(N,d){return Array.isArray(d)&&T(d)?this.where(this._not()):(this._statements.push({grouping:"having",type:"havingIn",column:N,value:d,not:this._not(),bool:this._bool()}),this)}orHavingIn(N,d){return this._bool("or").havingIn(N,d)}havingNotIn(N,d){return this._not(!0).havingIn(N,d)}orHavingNotIn(N,d){return this._bool("or")._not(!0).havingIn(N,d)}havingRaw(N,d){const g=N.isRawInstance?N:this.client.raw(N,d);return this._statements.push({grouping:"having",type:"havingRaw",value:g,bool:this._bool(),not:this._not()}),this}orHavingRaw(N,d){return this._bool("or").havingRaw(N,d)}_setSkipBinding(N,d){let g=d;O(d)&&(g=d.skipBinding),this._single.skipBinding=this._single.skipBinding||{},this._single.skipBinding[N]=g}offset(N,d){if(N==null||N.isRawInstance||N instanceof m)this._single.offset=N;else{const g=parseInt(N,10);if(isNaN(g))this.client.logger.warn("A valid integer must be provided to offset");else{if(g<0)throw new Error("A non-negative integer must be provided to offset.");this._single.offset=g}}return this._setSkipBinding("offset",d),this}limit(N,d){const g=parseInt(N,10);return isNaN(g)?this.client.logger.warn("A valid integer must be provided to limit"):(this._single.limit=g,this._setSkipBinding("limit",d)),this}count(N,d){return this._aggregate("count",N||"*",d)}min(N,d){return this._aggregate("min",N,d)}max(N,d){return this._aggregate("max",N,d)}sum(N,d){return this._aggregate("sum",N,d)}avg(N,d){return this._aggregate("avg",N,d)}countDistinct(...N){let d;return N.length>1&&E(i(N))&&([d]=N.splice(N.length-1,1)),N.length?N.length===1&&(N=N[0]):N="*",this._aggregate("count",N,{...d,distinct:!0})}sumDistinct(N,d){return this._aggregate("sum",N,{...d,distinct:!0})}avgDistinct(N,d){return this._aggregate("avg",N,{...d,distinct:!0})}increment(N,d=1){if(O(N)){for(const g in N)this._counter(g,N[g]);return this}return this._counter(N,d)}decrement(N,d=1){if(O(N)){for(const g in N)this._counter(g,-N[g]);return this}return this._counter(N,-d)}clearCounters(){return this._single.counter={},this}first(...N){if(this._method&&this._method!=="select")throw new Error(`Cannot chain .first() on "${this._method}" query`);return this.select(R(...N)),this._method="first",this.limit(1),this}connection(N){return this._connection=N,this.client.processPassedConnection(N),this}pluck(N){if(this._method&&this._method!=="select")throw new Error(`Cannot chain .pluck() on "${this._method}" query`);return this._method="pluck",this._single.pluck=N,this._statements.push({grouping:"columns",type:"pluck",value:N}),this}clearSelect(){return this._clearGrouping("columns"),this}clearWhere(){return this._clearGrouping("where"),this}clearGroup(){return this._clearGrouping("group"),this}clearOrder(){return this._clearGrouping("order"),this}clearHaving(){return this._clearGrouping("having"),this}clear(N){if(!w.has(N))throw new Error(`Knex Error: unknown statement '${N}'`);return N.startsWith("counter")?this.clearCounters():(N==="select"&&(N="columns"),this._clearGrouping(N),this)}insert(N,d,g){return this._method="insert",T(d)||this.returning(d,g),this._single.insert=N,this}update(N,d,g){let x;const j=this._single.update||{};if(this._method="update",C(N))E(d)?j[N]=JSON.stringify(d):j[N]=d,arguments.length>2&&(x=arguments[2]);else{const Q=Object.keys(N);this._single.update&&this.client.logger.warn("Update called multiple times with objects.");let G=-1;for(;++G<Q.length;)j[Q[G]]=N[Q[G]];x=arguments[1]}return T(x)||this.returning(x,g),this._single.update=j,this}returning(N,d){return this._single.returning=N,this._single.options=d,this}onConflict(N){return typeof N=="string"&&(N=[N]),new U(this,N||!0)}delete(N,d){return this._method="del",T(N)||this.returning(N,d),this}truncate(N){return this._method="truncate",N&&(this._single.table=N),this}columnInfo(N){return this._method="columnInfo",this._single.columnInfo=N,this}forUpdate(...N){return this._single.lock=p.forUpdate,N.length===1&&Array.isArray(N[0])?this._single.lockTables=N[0]:this._single.lockTables=N,this}forShare(...N){return this._single.lock=p.forShare,this._single.lockTables=N,this}forNoKeyUpdate(...N){return this._single.lock=p.forNoKeyUpdate,this._single.lockTables=N,this}forKeyShare(...N){return this._single.lock=p.forKeyShare,this._single.lockTables=N,this}skipLocked(){if(!this._isSelectQuery())throw new Error(`Cannot chain .skipLocked() on "${this._method}" query!`);if(!this._hasLockMode())throw new Error(".skipLocked() can only be used after a call to .forShare() or .forUpdate()!");if(this._single.waitMode===L.noWait)throw new Error(".skipLocked() cannot be used together with .noWait()!");return this._single.waitMode=L.skipLocked,this}noWait(){if(!this._isSelectQuery())throw new Error(`Cannot chain .noWait() on "${this._method}" query!`);if(!this._hasLockMode())throw new Error(".noWait() can only be used after a call to .forShare() or .forUpdate()!");if(this._single.waitMode===L.skipLocked)throw new Error(".noWait() cannot be used together with .skipLocked()!");return this._single.waitMode=L.noWait,this}fromJS(N){return s(N,(d,g)=>{typeof this[g]!="function"&&this.client.logger.warn(`Knex Error: unknown key ${g}`),Array.isArray(d)?this[g].apply(this,d):this[g](d)}),this}fromRaw(N,d){const g=N.isRawInstance?N:this.client.raw(N,d);return this.from(g)}modify(N){return N.apply(this,[this].concat(o(arguments))),this}upsert(N,d,g){throw new Error(`Upsert is not yet supported for dialect ${this.client.dialect}`)}_json(N,d){return this._statements.push({grouping:"columns",type:"json",method:N,params:d}),this}jsonExtract(){const N=arguments[0];let d,g,x=!0;return arguments.length>=2&&(d=arguments[1]),arguments.length>=3&&(g=arguments[2]),arguments.length===4&&(x=arguments[3]),arguments.length===2&&Array.isArray(arguments[0])&&c(arguments[1])&&(x=arguments[1]),this._json("jsonExtract",{column:N,path:d,alias:g,singleValue:x})}jsonSet(N,d,g,x){return this._json("jsonSet",{column:N,path:d,value:g,alias:x})}jsonInsert(N,d,g,x){return this._json("jsonInsert",{column:N,path:d,value:g,alias:x})}jsonRemove(N,d,g){return this._json("jsonRemove",{column:N,path:d,alias:g})}_isJsonObject(N){return O(N)&&!(N instanceof m)}_whereJsonWrappedValue(N,d,g){const x={grouping:"where",type:N,column:d,value:g,not:this._not(),bool:this._bool(),asColumn:this._asColumnFlag};arguments[3]&&(x.operator=arguments[3]),arguments[4]&&(x.jsonPath=arguments[4]),this._statements.push(x)}whereJsonObject(N,d){return this._whereJsonWrappedValue("whereJsonObject",N,d),this}orWhereJsonObject(N,d){return this._bool("or").whereJsonObject(N,d)}whereNotJsonObject(N,d){return this._not(!0).whereJsonObject(N,d)}orWhereNotJsonObject(N,d){return this._bool("or").whereNotJsonObject(N,d)}whereJsonPath(N,d,g,x){return this._whereJsonWrappedValue("whereJsonPath",N,x,g,d),this}orWhereJsonPath(N,d,g,x){return this._bool("or").whereJsonPath(N,d,g,x)}whereJsonSupersetOf(N,d){return this._whereJsonWrappedValue("whereJsonSupersetOf",N,d),this}whereJsonNotSupersetOf(N,d){return this._not(!0).whereJsonSupersetOf(N,d)}orWhereJsonSupersetOf(N,d){return this._bool("or").whereJsonSupersetOf(N,d)}orWhereJsonNotSupersetOf(N,d){return this._bool("or").whereJsonNotSupersetOf(N,d)}whereJsonSubsetOf(N,d){return this._whereJsonWrappedValue("whereJsonSubsetOf",N,d),this}whereJsonNotSubsetOf(N,d){return this._not(!0).whereJsonSubsetOf(N,d)}orWhereJsonSubsetOf(N,d){return this._bool("or").whereJsonSubsetOf(N,d)}orWhereJsonNotSubsetOf(N,d){return this._bool("or").whereJsonNotSubsetOf(N,d)}whereJsonHasNone(N,d){return this._not(!0).whereJsonHasAll(N,d),this}_analytic(N,d,g){let x;const{schema:j}=this._single,Q=this._analyticMethod();if(N=typeof N=="string"?N:null,e(typeof d=="function"||d.isRawInstance||Array.isArray(d)||typeof d=="string"||typeof d=="object",`The second argument to an analytic function must be either a function, a raw,
|
|
177
|
-
an array of string or object, an object or a single string.`),g&&e(Array.isArray(g)||typeof g=="string"||typeof g=="object","The third argument to an analytic function must be either a string, an array of string or object or an object."),f(d))x=new I(Q,j,N),d.call(x,x);else if(d.isRawInstance)x={grouping:"columns",type:"analytic",method:Q,raw:d,alias:N};else{const G=Array.isArray(d)?d:[d];let K=g||[];K=Array.isArray(K)?K:[K],x={grouping:"columns",type:"analytic",method:Q,order:G,alias:N,partitions:K}}return this._statements.push(x),this}rank(...N){return this._analyticMethod("rank")._analytic(...N)}denseRank(...N){return this._analyticMethod("dense_rank")._analytic(...N)}rowNumber(...N){return this._analyticMethod("row_number")._analytic(...N)}_counter(N,d){return d=parseFloat(d),this._method="update",this._single.counter=this._single.counter||{},this._single.counter[N]=d,this}_bool(N){if(arguments.length===1)return this._boolFlag=N,this;const d=this._boolFlag;return this._boolFlag="and",d}_not(N){if(arguments.length===1)return this._notFlag=N,this;const d=this._notFlag;return this._notFlag=!1,d}_joinType(N){if(arguments.length===1)return this._joinFlag=N,this;const d=this._joinFlag||"inner";return this._joinFlag="inner",d}_analyticMethod(N){return arguments.length===1?(this._analyticFlag=N,this):this._analyticFlag||"row_number"}_aggregate(N,d,g={}){return this._statements.push({grouping:"columns",type:d.isRawInstance?"aggregateRaw":"aggregate",method:N,value:d,aggregateDistinct:g.distinct||!1,alias:g.as}),this}_clearGrouping(N){N in this._single?this._single[N]=void 0:this._statements=l(this._statements,{grouping:N})}_isSelectQuery(){return D.has(this._method)}_hasLockMode(){return _.has(this._single.lock)}}m.prototype.select=m.prototype.columns,m.prototype.column=m.prototype.columns,m.prototype.andWhereNot=m.prototype.whereNot,m.prototype.andWhereNotColumn=m.prototype.whereNotColumn,m.prototype.andWhere=m.prototype.where,m.prototype.andWhereColumn=m.prototype.whereColumn,m.prototype.andWhereRaw=m.prototype.whereRaw,m.prototype.andWhereBetween=m.prototype.whereBetween,m.prototype.andWhereNotBetween=m.prototype.whereNotBetween,m.prototype.andWhereJsonObject=m.prototype.whereJsonObject,m.prototype.andWhereNotJsonObject=m.prototype.whereNotJsonObject,m.prototype.andWhereJsonPath=m.prototype.whereJsonPath,m.prototype.andWhereLike=m.prototype.whereLike,m.prototype.andWhereILike=m.prototype.whereILike,m.prototype.andHaving=m.prototype.having,m.prototype.andHavingIn=m.prototype.havingIn,m.prototype.andHavingNotIn=m.prototype.havingNotIn,m.prototype.andHavingNull=m.prototype.havingNull,m.prototype.andHavingNotNull=m.prototype.havingNotNull,m.prototype.andHavingExists=m.prototype.havingExists,m.prototype.andHavingNotExists=m.prototype.havingNotExists,m.prototype.andHavingBetween=m.prototype.havingBetween,m.prototype.andHavingNotBetween=m.prototype.havingNotBetween,m.prototype.from=m.prototype.table,m.prototype.into=m.prototype.table,m.prototype.del=m.prototype.delete,P(m),a(m),m.extend=(B,N)=>{if(Object.prototype.hasOwnProperty.call(m.prototype,B))throw new Error(`Can't extend QueryBuilder with existing method ('${B}').`);r(m.prototype,{[B]:N})};class U{constructor(N,d){this.builder=N,this._columns=d}ignore(){return this.builder._single.onConflict=this._columns,this.builder._single.ignore=!0,this.builder}merge(N){return this.builder._single.onConflict=this._columns,this.builder._single.merge={updates:N},this.builder}then(){throw new Error("Incomplete onConflict clause. .onConflict() must be directly followed by either .merge() or .ignore()")}}return ea=m,ea}var ta,cN;function Hy(){if(cN)return ta;cN=1;function e(t,r,n,s){var T=-1,E=t==null?0:t.length;for(s&&E&&(n=t[++T]);++T<E;)n=r(n,t[T],T,t);return n}return ta=e,ta}var ra,SN;function qy(){if(SN)return ra;SN=1;function e(t,r,n,s,T){return T(t,function(E,i,l){n=s?(s=!1,E):r(n,E,i,l)}),n}return ra=e,ra}var na,ON;function Bt(){if(ON)return na;ON=1;var e=Hy(),t=ht(),r=Be(),n=qy(),s=Ne();function T(E,i,l){var o=s(E)?e:n,u=arguments.length<3;return o(E,r(i,4),l,u,t)}return na=T,na}var ia,NN;function Yy(){if(NN)return ia;NN=1;var e=Vu(),t=G_(),r=Z_(),n=Be(),s=cr(),T=Ne(),E=Ot(),i=Er(),l=ye(),o=Nt();function u(a,R,A){var I=T(a),h=I||E(a)||o(a);if(R=n(R,4),A==null){var c=a&&a.constructor;h?A=I?new c:[]:l(a)?A=i(c)?t(s(a)):{}:A={}}return(h?e:r)(a,function(S,O,C){return R(A,S,O,C)}),A}return ia=u,ia}var sa,IN;function nt(){if(IN)return sa;IN=1;const{isObject:e}=ce();function t(s,T,E,i){const l=E.queryBuilder();return s.call(l,l),E.queryCompiler(l,i.bindings).toSQL(T||l._method||"select")}function r(s,T,E){const i=T.queryContext();return E.wrapIdentifier((s||"").trim(),i)}function n(s,T,E){return s===void 0?"":s===null?"null":s&&s.isRawInstance?s.toQuery():T==="bool"?(s==="false"&&(s=0),`'${s?1:0}'`):(T==="json"||T==="jsonb")&&e(s)?`'${JSON.stringify(s)}'`:E._escapeBinding(s.toString())}return sa={compileCallback:t,wrapAsIdentifier:r,formatDefault:n},sa}var oa,hN;function me(){if(hN)return oa;hN=1;const e=Yy(),t=Fe(),{compileCallback:r,wrapAsIdentifier:n}=nt(),s=["asc","desc"],T=e(["=","<",">","<=",">=","<>","!=","like","not like","between","not between","ilike","not ilike","exists","not exist","rlike","not rlike","regexp","not regexp","match","&","|","^","<<",">>","~","~=","~*","!~","!~*","#","&&","@>","<@","||","&<","&>","-|-","@@","!!",["?","\\?"],["?|","\\?|"],["?&","\\?&"]],(h,c)=>{Array.isArray(c)?h[c[0]]=c[1]:h[c]=c},{});function E(h,c,S,O){const C=Array.isArray(h)?h:[h];let f="",p=-1;for(;++p<C.length;)p>0&&(f+=", "),f+=i(C[p],void 0,c,S,O);return f}function i(h,c,S,O,C){const f=l(h,c,S,O,C);if(f)return f;switch(typeof h){case"function":return R(r(h,void 0,O,C),!0,S,O);case"object":return a(h,S,O,C);case"number":return h;default:return u(h+"",S,O)}}function l(h,c,S,O,C){let f;if(h instanceof t)return f=O.queryCompiler(h).toSQL(),f.bindings&&C.bindings.push(...f.bindings),R(f,c,S,O);if(h&&h.isRawInstance)return h.client=O,S._queryContext&&(h.queryContext=()=>S._queryContext),f=h.toSQL(),f.bindings&&C.bindings.push(...f.bindings),f.sql;c&&C.bindings.push(h)}function o(h,c,S,O){const C=l(h,void 0,c,S,O);if(C)return C;const f=T[(h||"").toLowerCase()];if(!f)throw new TypeError(`The operator "${h}" is not permitted`);return f}function u(h,c,S){const O=h.toLowerCase().indexOf(" as ");if(O!==-1){const L=h.slice(0,O),P=h.slice(O+4);return S.alias(u(L,c,S),n(P,c,S))}const C=[];let f=-1;const p=h.split(".");for(;++f<p.length;)h=p[f],f===0&&p.length>1?C.push(u((h||"").trim(),c,S)):C.push(n(h,c,S));return C.join(".")}function a(h,c,S,O){const C=[];for(const f in h){const p=h[f];if(typeof p=="function"){const L=r(p,void 0,S,O);L.as=f,C.push(R(L,!0,c,S))}else p instanceof t?C.push(S.alias(`(${i(p,void 0,c,S,O)})`,n(f,c,S))):C.push(S.alias(i(p,void 0,c,S,O),n(f,c,S)))}return C.join(", ")}function R(h,c,S,O){let C=h.sql||"";return C&&(h.method==="select"||h.method==="first")&&(c||h.as)&&(C=`(${C})`,h.as)?O.alias(C,u(h.as,S,O)):C}function A(h,c,S,O,C){return typeof h=="function"?R(r(h,c,O,C),void 0,S,O):l(h,void 0,S,O,C)||""}function I(h,c,S,O){const C=l(h,void 0,c,S,O);return C||(s.indexOf((h||"").toLowerCase())!==-1?h:"asc")}return oa={columnize:E,direction:I,operator:o,outputQuery:R,rawOrFn:A,unwrapRaw:l,wrap:i,wrapString:u},oa}var Ea,_N;function $y(){if(_N)return Ea;_N=1;const{columnize:e}=me();function t(n,s){const T={bindings:[]},E=n,i=n.bindings.length,l=n.bindings;let o=0;const u=n.sql.replace(/\\?\?\??/g,function(a){if(a==="\\?")return a;const R=l[o++];return a==="??"?e(R,E,s,T):s.parameter(R,E,T)});if(i!==o)throw new Error(`Expected ${i} bindings, saw ${o}`);return{method:"raw",sql:u,bindings:T.bindings}}function r(n,s){const T={bindings:[]},E=n,i=n.bindings,l=/\\?(:(\w+):(?=::)|:(\w+):(?!:)|:(\w+))/g;return{method:"raw",sql:n.sql.replace(l,function(u,a,R,A,I){if(u!==a)return a;const h=R||A||I,c=u.trim(),S=c[c.length-1]===":",O=i[h];return O===void 0?(Object.prototype.hasOwnProperty.call(i,h)&&T.bindings.push(O),u):S?u.replace(a,e(O,E,s,T)):u.replace(a,s.parameter(O,E,T))}),bindings:T.bindings}}return Ea={replaceKeyBindings:r,replaceRawArrBindings:t},Ea}var aa,CN;function El(){if(CN)return aa;CN=1;const e="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",t="0123456789";function r(s=21){let T="",E=s;for(;E--;)T+=e[Math.random()*64|0];return T}function n(s=21){let T="",E=s;for(;E--;)T+=t[Math.random()*10|0];return T}return aa={nanoid:r,nanonum:n},aa}var Ta,fN;function _t(){if(fN)return Ta;fN=1;const{EventEmitter:e}=Qe(),t=be(),r=rt(),n=$e(),s=Bt(),{replaceRawArrBindings:T,replaceKeyBindings:E}=$y(),i=Le(),l=sl(),{nanoid:o}=El(),{isNumber:u,isObject:a}=ce(),{augmentWithBuilderInterface:R}=ol(),A=t("knex:bindings");class I extends e{constructor(c){super(),this.client=c,this.sql="",this.bindings=[],this._wrappedBefore=void 0,this._wrappedAfter=void 0,c&&c.config&&(this._debug=c.config.debug,l(this,4))}set(c,S){return this.sql=c,this.bindings=a(S)&&!S.toSQL||S===void 0?S:[S],this}timeout(c,{cancel:S}={}){return u(c)&&c>0&&(this._timeout=c,S&&(this.client.assertCanCancelQuery(),this._cancelOnTimeout=!0)),this}wrap(c,S){return this._wrappedBefore=c,this._wrappedAfter=S,this}toString(){return this.toQuery()}toSQL(c,S){let O;if(Array.isArray(this.bindings)?O=T(this,this.client):this.bindings&&n(this.bindings)?O=E(this,this.client):O={method:"raw",sql:this.sql,bindings:this.bindings===void 0?[]:[this.bindings]},this._wrappedBefore&&(O.sql=this._wrappedBefore+O.sql),this._wrappedAfter&&(O.sql=O.sql+this._wrappedAfter),O.options=s(this._options,r,{}),this._timeout&&(O.timeout=this._timeout,this._cancelOnTimeout&&(O.cancelOnTimeout=this._cancelOnTimeout)),O.bindings=O.bindings||[],i.containsUndefined(O.bindings)){const C=i.getUndefinedIndices(this.bindings);throw A(O.bindings),new Error(`Undefined binding(s) detected for keys [${C}] when compiling RAW query: ${O.sql}`)}return O.__knexQueryUid=o(),Object.defineProperties(O,{toNative:{value:()=>({sql:this.client.positionBindings(O.sql),bindings:this.client.prepBindings(O.bindings)}),enumerable:!1}}),O}}return I.prototype.isRawInstance=!0,R(I),i.addQueryContext(I),Ta=I,Ta}var ua,pN;function al(){if(pN)return ua;pN=1;function e(t){for(var r=-1,n=t==null?0:t.length,s=0,T=[];++r<n;){var E=t[r];E&&(T[s++]=E)}return T}return ua=e,ua}var la,dN;function Vy(){if(dN)return la;dN=1;function e(t,r,n,s){for(var T=-1,E=t==null?0:t.length;++T<E;){var i=t[T];r(s,i,n(i),t)}return s}return la=e,la}var Ra,LN;function xy(){if(LN)return Ra;LN=1;var e=ht();function t(r,n,s,T){return e(r,function(E,i,l){n(T,E,s(E),l)}),T}return Ra=t,Ra}var Aa,mN;function Wy(){if(mN)return Aa;mN=1;var e=Vy(),t=xy(),r=Be(),n=Ne();function s(T,E){return function(i,l){var o=n(i)?e:t,u=E?E():{};return o(i,T,r(l,2),u)}}return Aa=s,Aa}var ca,PN;function _r(){if(PN)return ca;PN=1;var e=lr(),t=Wy(),r=Object.prototype,n=r.hasOwnProperty,s=t(function(T,E,i){n.call(T,i)?T[i].push(E):e(T,i,[E])});return ca=s,ca}var Sa,yN;function Xy(){if(yN)return Sa;yN=1;var e=Object.prototype,t=e.hasOwnProperty;function r(n,s){return n!=null&&t.call(n,s)}return Sa=r,Sa}var Oa,DN;function Cr(){if(DN)return Oa;DN=1;var e=Xy(),t=aC();function r(n,s){return n!=null&&t(n,s,e)}return Oa=r,Oa}var Na,gN;function Ky(){if(gN)return Na;gN=1;var e=ht(),t=ve();function r(n,s){var T=-1,E=t(n)?Array(n.length):[];return e(n,function(i,l,o){E[++T]=s(i,l,o)}),E}return Na=r,Na}var Ia,MN;function it(){if(MN)return Ia;MN=1;var e=Or(),t=Be(),r=Ky(),n=Ne();function s(T,E){var i=n(T)?e:r;return i(T,t(E,3))}return Ia=s,Ia}var ha,UN;function jy(){if(UN)return ha;UN=1;var e=Rr(),t=Ir(),r=Ar(),n=ye(),s=Gt();function T(E,i,l,o){if(!n(E))return E;i=t(i,E);for(var u=-1,a=i.length,R=a-1,A=E;A!=null&&++u<a;){var I=s(i[u]),h=l;if(I==="__proto__"||I==="constructor"||I==="prototype")return E;if(u!=R){var c=A[I];h=o?o(c,I,A):void 0,h===void 0&&(h=n(c)?c:r(i[u+1])?[]:{})}e(A,I,h),A=A[I]}return E}return ha=T,ha}var _a,bN;function ky(){if(bN)return _a;bN=1;var e=nl(),t=jy(),r=Ir();function n(s,T,E){for(var i=-1,l=T.length,o={};++i<l;){var u=T[i],a=e(s,u);E(a,u)&&t(o,r(u,s),a)}return o}return _a=n,_a}var Ca,wN;function Jy(){if(wN)return Ca;wN=1;var e=Or(),t=Be(),r=ky(),n=M_();function s(T,E){if(T==null)return{};var i=e(n(T),function(l){return[l]});return E=t(E),r(T,i,function(l,o){return E(l,o[0])})}return Ca=s,Ca}var fa,GN;function Qy(){if(GN)return fa;GN=1;var e=Be(),t=TC(),r=Jy();function n(s,T){return r(s,t(e(T)))}return fa=n,fa}var pa,vN;function st(){if(vN)return pa;vN=1;const e=Le(),t=_t(),r=Fe(),n=lC(),s=be(),T=rt(),E=al(),i=_r(),l=Cr(),o=ge(),u=it(),a=Qy(),R=Bt(),{nanoid:A}=El(),{isString:I,isUndefined:h}=ce(),{columnize:c,direction:S,operator:O,wrap:C,unwrapRaw:f,rawOrFn:p}=me(),L=s("knex:bindings"),P=["comments","columns","join","where","union","group","having","order","limit","offset","lock","waitMode"];class D{constructor(_,m,U){this.client=_,this.method=m._method||"select",this.options=m._options,this.single=m._single,this.queryComments=m._comments,this.timeout=m._timeout||!1,this.cancelOnTimeout=m._cancelOnTimeout||!1,this.grouped=i(m._statements,"grouping"),this.formatter=_.formatter(m),this._emptyInsertValue="default values",this.first=this.select,this.bindings=U||[],this.formatter.bindings=this.bindings,this.bindingsHolder=this,this.builder=this.formatter.builder}toSQL(_,m){this._undefinedInWhereClause=!1,this.undefinedBindingsInfo=[],_=_||this.method;const U=this[_]()||"",B={method:_,options:R(this.options,T,{}),timeout:this.timeout,cancelOnTimeout:this.cancelOnTimeout,bindings:this.bindingsHolder.bindings||[],__knexQueryUid:A()};if(Object.defineProperties(B,{toNative:{value:()=>({sql:this.client.positionBindings(B.sql),bindings:this.client.prepBindings(B.bindings)}),enumerable:!1}}),I(U)?B.sql=U:T(B,U),(_==="select"||_==="first")&&this.single.as&&(B.as=this.single.as),this._undefinedInWhereClause)throw L(B.bindings),new Error(`Undefined binding(s) detected when compiling ${_.toUpperCase()}. Undefined column(s): [${this.undefinedBindingsInfo.join(", ")}] query: ${B.sql}`);return B}select(){let _=this.with(),m="";const U=[],B=[];P.forEach(d=>{const g=this[d](this);switch(d){case"union":m=g;break;case"comments":case"columns":case"join":case"where":U.push(g);break;default:B.push(g);break}});const N=this.grouped.union&&this.grouped.union.map(d=>d.wrap).some(d=>d);if(this.onlyUnions()){const d=E(U.concat(B)).join(" ");_+=m+(d?" "+d:"")}else{const d=(N?"(":"")+E(U).join(" ")+(N?")":""),g=E(B).join(" ");_+=d+(m?" "+m:"")+(g&&" "+g)}return _}pluck(){let _=this.single.pluck;return _.indexOf(".")!==-1&&(_=_.split(".").slice(-1)[0]),{sql:this.select(),pluck:_}}insert(){const _=this.single.insert||[],m=this.with()+`insert into ${this.tableName} `,U=this._insertBody(_);return U===""?"":m+U}_onConflictClause(_){return _ instanceof t?this.formatter.wrap(_):`(${this.formatter.columnize(_)})`}_buildInsertValues(_){let m="",U=-1;for(;++U<_.values.length;)U!==0&&(m+="), ("),m+=this.client.parameterize(_.values[U],this.client.valueForUndefined,this.builder,this.bindingsHolder);return m}_insertBody(_){let m="";if(Array.isArray(_)){if(_.length===0)return""}else if(typeof _=="object"&&o(_))return m+this._emptyInsertValue;const U=this._prepInsert(_);return typeof U=="string"?m+=U:U.columns.length?(m+=`(${c(U.columns,this.builder,this.client,this.bindingsHolder)}`,m+=") values ("+this._buildInsertValues(U)+")"):_.length===1&&_[0]?m+=this._emptyInsertValue:m="",m}update(){const _=this.with(),{tableName:m}=this,U=this._prepUpdate(this.single.update),B=this.where();return _+`update ${this.single.only?"only ":""}${m} set `+U.join(", ")+(B?` ${B}`:"")}_hintComments(){let _=this.grouped.hintComments||[];return _=_.map(m=>E(m.value).join(" ")),_=E(_).join(" "),_?`/*+ ${_} */ `:""}columns(){let _="";if(this.onlyUnions())return"";const m=this._hintComments(),U=this.grouped.columns||[];let B=-1,N=[];if(U)for(;++B<U.length;){const g=U[B];if(g.distinct&&(_="distinct "),g.distinctOn){_=this.distinctOn(g.value);continue}g.type==="aggregate"?N.push(...this.aggregate(g)):g.type==="aggregateRaw"?N.push(this.aggregateRaw(g)):g.type==="analytic"?N.push(this.analytic(g)):g.type==="json"?N.push(this.json(g)):g.value&&g.value.length>0&&N.push(c(g.value,this.builder,this.client,this.bindingsHolder))}return N.length===0&&(N=["*"]),`${this.onlyJson()?"":"select "}${m}${_}`+N.join(", ")+(this.tableName?` from ${this.single.only?"only ":""}${this.tableName}`:"")}comments(){return this.queryComments.length?this.queryComments.map(_=>`/* ${_.comment} */`).join(" "):""}_aggregate(_,{aliasSeparator:m=" as ",distinctParentheses:U}={}){const B=_.value,N=_.method,d=_.aggregateDistinct?"distinct ":"",g=b=>C(b,void 0,this.builder,this.client,this.bindingsHolder),x=(b,v)=>v?b+m+g(v):b,j=(b,v)=>{let W=b.map(g).join(", ");if(d){const ae=U?"(":" ",Te=U?")":"";W=d.trim()+ae+W+Te}const z=`${N}(${W})`;return x(z,v)},Q=(b,v)=>{const W=`${N}(${d+g(b)})`;return x(W,v)};if(Array.isArray(B))return[j(B)];if(typeof B=="object"){if(_.alias)throw new Error("When using an object explicit alias can not be used");return Object.entries(B).map(([b,v])=>Array.isArray(v)?j(v,b):Q(v,b))}const G=B.toLowerCase().indexOf(" as ");let K=B,{alias:ee}=_;if(G!==-1){if(K=B.slice(0,G),ee)throw new Error(`Found multiple aliases for same column: ${K}`);ee=B.slice(G+4)}return[Q(K,ee)]}aggregate(_){return this._aggregate(_)}aggregateRaw(_){const m=_.aggregateDistinct?"distinct ":"";return`${_.method}(${m+f(_.value,void 0,this.builder,this.client,this.bindingsHolder)})`}_joinTable(_){return _.schema&&!(_.table instanceof t)?`${_.schema}.${_.table}`:_.table}join(){let _="",m=-1;const U=this.grouped.join;if(!U)return"";for(;++m<U.length;){const B=U[m],N=this._joinTable(B);if(m>0&&(_+=" "),B.joinType==="raw")_+=f(B.table,void 0,this.builder,this.client,this.bindingsHolder);else{_+=B.joinType+" join "+C(N,void 0,this.builder,this.client,this.bindingsHolder);let d=-1;for(;++d<B.clauses.length;){const g=B.clauses[d];d>0?_+=` ${g.bool} `:_+=` ${g.type==="onUsing"?"using":"on"} `;const x=this[g.type](g);x&&(_+=x)}}}return _}onBetween(_){return C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" "+this._not(_,"between")+" "+_.value.map(m=>this.client.parameter(m,this.builder,this.bindingsHolder)).join(" and ")}onNull(_){return C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" is "+this._not(_,"null")}onExists(_){return this._not(_,"exists")+" ("+p(_.value,void 0,this.builder,this.client,this.bindingsHolder)+")"}onIn(_){if(Array.isArray(_.column))return this.multiOnIn(_);let m;return _.value instanceof t?m=this.client.parameter(_.value,this.builder,this.formatter):m=this.client.parameterize(_.value,void 0,this.builder,this.bindingsHolder),C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" "+this._not(_,"in ")+this.wrap(m)}multiOnIn(_){let m=-1,U=`(${c(_.column,this.builder,this.client,this.bindingsHolder)}) `;for(U+=this._not(_,"in ")+"((";++m<_.value.length;)m!==0&&(U+="),("),U+=this.client.parameterize(_.value[m],void 0,this.builder,this.bindingsHolder);return U+"))"}where(){const _=this.grouped.where;if(!_)return;const m=[];let U=-1;for(;++U<_.length;){const B=_[U];Object.prototype.hasOwnProperty.call(B,"value")&&e.containsUndefined(B.value)&&(this.undefinedBindingsInfo.push(B.column),this._undefinedInWhereClause=!0);const N=this[B.type](B);N&&(m.length===0?m[0]="where":m.push(B.bool),m.push(N))}return m.length>1?m.join(" "):""}group(){return this._groupsOrders("group")}order(){return this._groupsOrders("order")}having(){const _=this.grouped.having;if(!_)return"";const m=["having"];for(let U=0,B=_.length;U<B;U++){const N=_[U],d=this[N.type](N);d&&(m.length===0&&(m[0]="where"),(m.length>1||m.length===1&&m[0]!=="having")&&m.push(N.bool),m.push(d))}return m.length>1?m.join(" "):""}havingRaw(_){return this._not(_,"")+f(_.value,void 0,this.builder,this.client,this.bindingsHolder)}havingWrapped(_){const m=p(_.value,"where",this.builder,this.client,this.bindingsHolder);return m&&this._not(_,"")+"("+m.slice(6)+")"||""}havingBasic(_){return this._not(_,"")+C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" "+O(_.operator,this.builder,this.client,this.bindingsHolder)+" "+this.client.parameter(_.value,this.builder,this.bindingsHolder)}havingNull(_){return C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" is "+this._not(_,"null")}havingExists(_){return this._not(_,"exists")+" ("+p(_.value,void 0,this.builder,this.client,this.bindingsHolder)+")"}havingBetween(_){return C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" "+this._not(_,"between")+" "+_.value.map(m=>this.client.parameter(m,this.builder,this.bindingsHolder)).join(" and ")}havingIn(_){return Array.isArray(_.column)?this.multiHavingIn(_):C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" "+this._not(_,"in ")+this.wrap(this.client.parameterize(_.value,void 0,this.builder,this.bindingsHolder))}multiHavingIn(_){return this.multiOnIn(_)}union(){const _=this.onlyUnions(),m=this.grouped.union;if(!m)return"";let U="";for(let B=0,N=m.length;B<N;B++){const d=m[B];B>0&&(U+=" "),(B>0||!_)&&(U+=d.clause+" ");const g=p(d.value,void 0,this.builder,this.client,this.bindingsHolder);if(g){const x=d.wrap;x&&(U+="("),U+=g,x&&(U+=")")}}return U}onlyUnions(){return(!this.grouped.columns||!!this.grouped.columns[0].value)&&this.grouped.union&&!this.tableName}_getValueOrParameterFromAttribute(_,m){return this.single.skipBinding[_]===!0?m??this.single[_]:this.client.parameter(this.single[_],this.builder,this.bindingsHolder)}onlyJson(){return!this.tableName&&this.grouped.columns&&this.grouped.columns.length===1&&this.grouped.columns[0].type==="json"}limit(){return!this.single.limit&&this.single.limit!==0?"":`limit ${this._getValueOrParameterFromAttribute("limit")}`}offset(){return this.single.offset?`offset ${this._getValueOrParameterFromAttribute("offset")}`:""}del(){const{tableName:_}=this,m=this.with(),U=this.where(),B=this.join(),N=B?_+" ":"";return m+`delete ${N}from ${this.single.only?"only ":""}${_}`+(B?` ${B}`:"")+(U?` ${U}`:"")}truncate(){return`truncate ${this.tableName}`}lock(){if(this.single.lock)return this[this.single.lock]()}waitMode(){if(this.single.waitMode)return this[this.single.waitMode]()}skipLocked(){throw new Error(".skipLocked() is currently only supported on MySQL 8.0+ and PostgreSQL 9.5+")}noWait(){throw new Error(".noWait() is currently only supported on MySQL 8.0+, MariaDB 10.3.0+ and PostgreSQL 9.5+")}distinctOn(_){throw new Error(".distinctOn() is currently only supported on PostgreSQL")}onWrapped(_){const m=this,U=new n;_.value.call(U,U);let B="";for(let N=0;N<U.clauses.length;N++){const d=U.clauses[N];N>0&&(B+=` ${d.bool} `);const g=m[d.type](d);g&&(B+=g)}return B.length?`(${B})`:""}onBasic(_){const m=_.value instanceof r;return C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" "+O(_.operator,this.builder,this.client,this.bindingsHolder)+" "+(m?"(":"")+C(_.value,void 0,this.builder,this.client,this.bindingsHolder)+(m?")":"")}onVal(_){return C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" "+O(_.operator,this.builder,this.client,this.bindingsHolder)+" "+this.client.parameter(_.value,this.builder,this.bindingsHolder)}onRaw(_){return f(_.value,void 0,this.builder,this.client,this.bindingsHolder)}onUsing(_){return"("+c(_.column,this.builder,this.client,this.bindingsHolder)+")"}_valueClause(_){return _.asColumn?C(_.value,void 0,this.builder,this.client,this.bindingsHolder):this.client.parameter(_.value,this.builder,this.bindingsHolder)}_columnClause(_){let m;return Array.isArray(_.column)?m=`(${c(_.column,this.builder,this.client,this.bindingsHolder)})`:m=C(_.column,void 0,this.builder,this.client,this.bindingsHolder),m}whereIn(_){const m=this.client.values(_.value,this.builder,this.bindingsHolder);return`${this._columnClause(_)} ${this._not(_,"in ")}${m}`}whereLike(_){return`${this._columnClause(_)} ${this._not(_,"like ")}${this._valueClause(_)}`}whereILike(_){return`${this._columnClause(_)} ${this._not(_,"ilike ")}${this._valueClause(_)}`}whereNull(_){return C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" is "+this._not(_,"null")}whereBasic(_){return this._not(_,"")+C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" "+O(_.operator,this.builder,this.client,this.bindingsHolder)+" "+this._valueClause(_)}whereExists(_){return this._not(_,"exists")+" ("+p(_.value,void 0,this.builder,this.client,this.bindingsHolder)+")"}whereWrapped(_){const m=p(_.value,"where",this.builder,this.client,this.bindingsHolder);return m&&this._not(_,"")+"("+m.slice(6)+")"||""}whereBetween(_){return C(_.column,void 0,this.builder,this.client,this.bindingsHolder)+" "+this._not(_,"between")+" "+_.value.map(m=>this.client.parameter(m,this.builder,this.bindingsHolder)).join(" and ")}whereRaw(_){return this._not(_,"")+f(_.value,void 0,this.builder,this.client,this.bindingsHolder)}_jsonWrapValue(_){if(!this.builder._isJsonObject(_))try{return JSON.stringify(JSON.parse(_.replace(/\n|\t/g,"")))}catch{return _}return JSON.stringify(_)}_jsonValueClause(_){return _.value=this._jsonWrapValue(_.value),this._valueClause(_)}whereJsonObject(_){return`${this._columnClause(_)} ${_.not?"!=":"="} ${this._jsonValueClause(_)}`}wrap(_){return _.charAt(0)!=="("?`(${_})`:_}json(_){return this[_.method](_.params)}analytic(_){let m="";const U=this;return m+=_.method+"() over (",_.raw?m+=_.raw:(_.partitions.length&&(m+="partition by ",m+=u(_.partitions,function(B){return I(B)?U.formatter.columnize(B):U.formatter.columnize(B.column)+(B.order?" "+B.order:"")}).join(", ")+" "),m+="order by ",m+=u(_.order,function(B){return I(B)?U.formatter.columnize(B):U.formatter.columnize(B.column)+(B.order?" "+B.order:"")}).join(", ")),m+=")",_.alias&&(m+=" as "+_.alias),m}with(){if(!this.grouped.with||!this.grouped.with.length)return"";const _=this.grouped.with;if(!_)return;const m=[];let U=-1,B=!1;for(;++U<_.length;){const N=_[U];N.recursive&&(B=!0);const d=this[N.type](N);m.push(d)}return`with ${B?"recursive ":""}${m.join(", ")} `}withWrapped(_){const m=p(_.value,void 0,this.builder,this.client,this.bindingsHolder),U=_.columnList?"("+c(_.columnList,this.builder,this.client,this.bindingsHolder)+")":"",B=_.materialized===void 0?"":_.materialized?"materialized ":"not materialized ";return m&&c(_.alias,this.builder,this.client,this.bindingsHolder)+U+" as "+B+"("+m+")"||""}_not(_,m){return _.not?`not ${m}`:m}_prepInsert(_){const m=p(_,void 0,this.builder,this.client,this.bindingsHolder);if(m)return m;let U=[];const B=[];Array.isArray(_)||(_=_?[_]:[]);let N=-1;for(;++N<_.length&&_[N]!=null;){N===0&&(U=Object.keys(_[N]).sort());const d=new Array(U.length),g=Object.keys(_[N]);let x=-1;for(;++x<g.length;){const j=g[x];let Q=U.indexOf(j);if(Q===-1){U=U.concat(j).sort(),Q=U.indexOf(j);let G=-1;for(;++G<B.length;)B[G].splice(Q,0,void 0);d.splice(Q,0,void 0)}d[Q]=_[N][j]}B.push(d)}return{columns:U,values:B}}_prepUpdate(_={}){const{counter:m={}}=this.single;for(const d of Object.keys(m)){if(l(_,d)){this.client.logger.warn("increment/decrement called for a column that has already been specified in main .update() call. Ignoring increment/decrement and using value from .update() call.");continue}let g=m[d];const x=g<0?"-":"+";x==="-"&&(g=-g),_[d]=this.client.raw(`?? ${x} ?`,[d,g])}_=a(_,h);const U=[],B=Object.keys(_);let N=-1;for(;++N<B.length;)U.push(C(B[N],void 0,this.builder,this.client,this.bindingsHolder)+" = "+this.client.parameter(_[B[N]],this.builder,this.bindingsHolder));if(o(U))throw new Error(["Empty .update() call detected!","Update data does not contain any values to update.","This will result in a faulty query.",this.single.table?`Table: ${this.single.table}.`:"",this.single.update?`Columns: ${Object.keys(this.single.update)}.`:""].join(" "));return U}_formatGroupsItemValue(_,m){const{formatter:U}=this;let B="";m==="last"?B=" is null":m==="first"&&(B=" is not null");let N;return _ instanceof t?N=f(_,void 0,this.builder,this.client,this.bindingsHolder):_ instanceof r||m?N="("+U.columnize(_)+B+")":N=U.columnize(_),N}_basicGroupOrder(_,m){const U=this._formatGroupsItemValue(_.value,_.nulls),B=m==="order"&&_.type!=="orderByRaw"?` ${S(_.direction,this.builder,this.client,this.bindingsHolder)}`:"";return U+B}_groupOrder(_,m){return this._basicGroupOrder(_,m)}_groupOrderNulls(_,m){const U=this._formatGroupsItemValue(_.value),B=m==="order"&&_.type!=="orderByRaw"?` ${S(_.direction,this.builder,this.client,this.bindingsHolder)}`:"";return _.nulls&&!(_.value instanceof t)?`${U}${B||""} nulls ${_.nulls}`:U+B}_groupsOrders(_){const m=this.grouped[_];if(!m)return"";const U=m.map(B=>this._groupOrder(B,_));return U.length?_+" by "+U.join(", "):""}get tableName(){if(!this._tableName){let _=this.single.table;const m=this.single.schema;if(_&&m){const U=_ instanceof r,B=_ instanceof t;!U&&!B&&!(typeof _=="function")&&(_=`${m}.${_}`)}this._tableName=_?C(_,_ instanceof r,this.builder,this.client,this.bindingsHolder):""}return this._tableName}_jsonPathWrap(_){return this.client.parameter(_.path||_[1],this.builder,this.bindingsHolder)}_jsonExtract(_,m){let U;return Array.isArray(m.column)?U=m.column:U=[m],Array.isArray(_)||(_=[_]),U.map(B=>{let N=`${c(B.column||B[0],this.builder,this.client,this.bindingsHolder)}, ${this._jsonPathWrap(B)}`;_.forEach(g=>{N=g+"("+N+")"});const d=B.alias||B[2];return d?this.client.alias(N,this.formatter.wrap(d)):N}).join(", ")}_jsonSet(_,m){const U=`${_}(${c(m.column,this.builder,this.client,this.bindingsHolder)}, ${this.client.parameter(m.path,this.builder,this.bindingsHolder)}, ${this.client.parameter(m.value,this.builder,this.bindingsHolder)})`;return m.alias?this.client.alias(U,this.formatter.wrap(m.alias)):U}_whereJsonPath(_,m){return`${_}(${this._columnClause(m)}, ${this._jsonPathWrap({path:m.jsonPath})}) ${O(m.operator,this.builder,this.client,this.bindingsHolder)} ${this._jsonValueClause(m)}`}_onJsonPathEquals(_,m){return _+"("+C(m.columnFirst,void 0,this.builder,this.client,this.bindingsHolder)+", "+this.client.parameter(m.jsonPathFirst,this.builder,this.bindingsHolder)+") = "+_+"("+C(m.columnSecond,void 0,this.builder,this.client,this.bindingsHolder)+", "+this.client.parameter(m.jsonPathSecond,this.builder,this.bindingsHolder)+")"}}return pa=D,pa}var da,BN;function RC(){if(BN)return da;BN=1;const{EventEmitter:e}=Qe(),t=vt(),r=rt(),{addQueryContext:n}=Le(),s=sl(),{augmentWithBuilderInterface:T}=ol();class E extends e{constructor(l){super(),this.client=l,this._sequence=[],l.config&&(this._debug=l.config.debug,s(this,4))}withSchema(l){return this._schema=l,this}toString(){return this.toQuery()}toSQL(){return this.client.schemaCompiler(this).toSQL()}async generateDdlCommands(){return await this.client.schemaCompiler(this).generateDdlCommands()}}return["createTable","createTableIfNotExists","createTableLike","createView","createViewOrReplace","createMaterializedView","refreshMaterializedView","dropView","dropViewIfExists","dropMaterializedView","dropMaterializedViewIfExists","createSchema","createSchemaIfNotExists","dropSchema","dropSchemaIfExists","createExtension","createExtensionIfNotExists","dropExtension","dropExtensionIfExists","table","alterTable","view","alterView","hasTable","hasColumn","dropTable","renameTable","renameView","dropTableIfExists","raw"].forEach(function(i){E.prototype[i]=function(){return i==="createTableIfNotExists"&&this.client.logger.warn(["Use async .hasTable to check if table exists and then use plain .createTable. Since ",'.createTableIfNotExists actually just generates plain "CREATE TABLE IF NOT EXIST..." ',"query it will not work correctly if there are any alter table queries generated for ","columns afterwards. To not break old migrations this function is left untouched for now",", but it should not be used when writing new code and it is removed from documentation."].join("")),i==="table"&&(i="alterTable"),i==="view"&&(i="alterView"),this._sequence.push({method:i,args:t(arguments)}),this}}),E.extend=(i,l)=>{if(Object.prototype.hasOwnProperty.call(E.prototype,i))throw new Error(`Can't extend SchemaBuilder with existing method ('${i}').`);r(E.prototype,{[i]:l})},T(E),n(E),da=E,da}var La,FN;function fr(){if(FN)return La;FN=1;const e=hr(),{isString:t}=ce();function r(T){T&&(t(T)&&(T={sql:T}),T.bindings||(T.bindings=this.bindingsHolder.bindings),this.sequence.push(T),this.formatter=this.client.formatter(this._commonBuilder),this.bindings=[],this.formatter.bindings=this.bindings)}function n(T){const E=new this.constructor(this.client,this.tableCompiler,this.columnBuilder);T.call(E,e(arguments)),this.sequence.additional=(this.sequence.additional||[]).concat(E.sequence)}function s(T){T&&(t(T)&&(T={sql:T}),T.bindings||(T.bindings=this.bindingsHolder.bindings),this.sequence.unshift(T),this.formatter=this.client.formatter(this._commonBuilder),this.bindings=[],this.formatter.bindings=this.bindings)}return La={pushAdditional:n,pushQuery:r,unshiftQuery:s},La}var ma,HN;function Ct(){if(HN)return ma;HN=1;const{pushQuery:e,pushAdditional:t,unshiftQuery:r}=fr();class n{constructor(u,a){this.builder=a,this._commonBuilder=this.builder,this.client=u,this.schema=a._schema,this.bindings=[],this.bindingsHolder=this,this.formatter=u.formatter(a),this.formatter.bindings=this.bindings,this.sequence=[]}createSchema(){l("createSchema")}createSchemaIfNotExists(){l("createSchemaIfNotExists")}dropSchema(){l("dropSchema")}dropSchemaIfExists(){l("dropSchemaIfExists")}dropTable(u){this.pushQuery(this.dropTablePrefix+this.formatter.wrap(i(this.schema,u)))}dropTableIfExists(u){this.pushQuery(this.dropTablePrefix+"if exists "+this.formatter.wrap(i(this.schema,u)))}dropView(u){this._dropView(u,!1,!1)}dropViewIfExists(u){this._dropView(u,!0,!1)}dropMaterializedView(u){throw new Error("materialized views are not supported by this dialect.")}dropMaterializedViewIfExists(u){throw new Error("materialized views are not supported by this dialect.")}renameView(u,a){throw new Error("rename view is not supported by this dialect (instead drop then create another view).")}refreshMaterializedView(){throw new Error("materialized views are not supported by this dialect.")}_dropView(u,a,R){this.pushQuery((R?this.dropMaterializedViewPrefix:this.dropViewPrefix)+(a?"if exists ":"")+this.formatter.wrap(i(this.schema,u)))}raw(u,a){this.sequence.push(this.client.raw(u,a).toSQL())}toSQL(){const u=this.builder._sequence;for(let a=0,R=u.length;a<R;a++){const A=u[a];this[A.method].apply(this,A.args)}return this.sequence}async generateDdlCommands(){const u=this.toSQL();return{pre:[],sql:Array.isArray(u)?u:[u],check:null,post:[]}}}n.prototype.dropTablePrefix="drop table ",n.prototype.dropViewPrefix="drop view ",n.prototype.dropMaterializedViewPrefix="drop materialized view ",n.prototype.alterViewPrefix="alter view ",n.prototype.alterTable=T("alter"),n.prototype.createTable=T("create"),n.prototype.createTableIfNotExists=T("createIfNot"),n.prototype.createTableLike=T("createLike"),n.prototype.createView=E("create"),n.prototype.createViewOrReplace=E("createOrReplace"),n.prototype.createMaterializedView=E("createMaterializedView"),n.prototype.alterView=E("alter"),n.prototype.pushQuery=e,n.prototype.pushAdditional=t,n.prototype.unshiftQuery=r;function s(o){const u=this.builder.queryContext();u!==void 0&&o.queryContext()===void 0&&o.queryContext(u),o.setSchema(this.schema);const a=o.toSQL();for(let R=0,A=a.length;R<A;R++)this.sequence.push(a[R])}function T(o){return o==="createLike"?function(u,a,R){const A=this.client.tableBuilder(o,u,a,R);s.call(this,A)}:function(u,a){const R=this.client.tableBuilder(o,u,null,a);s.call(this,R)}}function E(o){return function(u,a){const R=this.client.viewBuilder(o,u,a);s.call(this,R)}}function i(o,u){return o?`${o}.${u}`:u}function l(o){throw new Error(`${o} is not supported for this dialect (only PostgreSQL supports it currently).`)}return ma=n,ma}var Pa,qN;function Zy(){if(qN)return Pa;qN=1;var e=ze(),t=zu(),r=tt(),n=t(function(s,T){e(T,r(T),s)});return Pa=n,Pa}var ya,YN;function pr(){return YN||(YN=1,ya=Zy()),ya}var Da,$N;function AC(){if($N)return Da;$N=1;const e=wt(),t=pr(),r=rt(),n=vt(),s=Le(),{isString:T,isFunction:E,isObject:i}=ce();class l{constructor(A,I,h,c,S){if(this.client=A,this._fn=S,this._method=I,this._schemaName=void 0,this._tableName=h,this._tableNameLike=c,this._statements=[],this._single={},!c&&!E(this._fn))throw new TypeError("A callback function must be supplied to calls against `.createTable` and `.table`")}setSchema(A){this._schemaName=A}toSQL(){return this._method==="alter"&&t(this,a),this._fn&&this._fn.call(this,this),this.client.tableCompiler(this).toSQL()}timestamps(A,I,h){i(A)&&({useTimestamps:A,defaultToNow:I,useCamelCase:h}=A);const c=A===!0?"timestamp":"datetime",S=this[c](h?"createdAt":"created_at"),O=this[c](h?"updatedAt":"updated_at");if(I===!0){const C=this.client.raw("CURRENT_TIMESTAMP");S.notNullable().defaultTo(C),O.notNullable().defaultTo(C)}}comment(A){if(typeof A!="string")throw new TypeError("Table comment must be string");this._single.comment=A}foreign(A,I){const h={column:A,keyName:I};this._statements.push({grouping:"alterTable",method:"foreign",args:[h]});let c={references(S){let O;return T(S)&&(O=S.split(".")),!O||O.length===1?(h.references=O?O[0]:S,{on(C){if(typeof C!="string")throw new TypeError(`Expected tableName to be a string, got: ${typeof C}`);return h.inTable=C,c},inTable(){return this.on.apply(this,arguments)}}):(h.inTable=O[0],h.references=O[1],c)},withKeyName(S){return h.keyName=S,c},onUpdate(S){return h.onUpdate=S,c},onDelete(S){return h.onDelete=S,c},deferrable:S=>{if(["mysql","mssql","redshift","mysql2","oracledb"].indexOf(this.client.dialect)!==-1)throw new Error(`${this.client.dialect} does not support deferrable`);return h.deferrable=S,c},_columnBuilder(S){return t(S,c),c=S,S}};return c}check(A,I,h){return this._statements.push({grouping:"checks",args:[A,I,h]}),this}}["index","primary","unique","dropPrimary","dropUnique","dropIndex","dropForeign"].forEach(R=>{l.prototype[R]=function(){return this._statements.push({grouping:"alterTable",method:R,args:n(arguments)}),this}}),e({mysql:["engine","charset","collate"],postgresql:["inherits"]},function(R,A){R.forEach(function(I){l.prototype[I]=function(h){if(this.client.dialect!==A)throw new Error(`Knex only supports ${I} statement with ${A}.`);if(this._method==="alter")throw new Error(`Knex does not support altering the ${I} outside of create table, please use knex.raw statement.`);this._single[I]=h}})}),s.addQueryContext(l),["tinyint","smallint","mediumint","int","bigint","decimal","float","double","real","bit","boolean","serial","date","datetime","timestamp","time","year","geometry","geography","point","char","varchar","tinytext","tinyText","text","mediumtext","mediumText","longtext","longText","binary","varbinary","tinyblob","tinyBlob","mediumblob","mediumBlob","blob","longblob","longBlob","enum","set","bool","dateTime","increments","bigincrements","bigIncrements","integer","biginteger","bigInteger","string","json","jsonb","uuid","enu","specificType"].forEach(R=>{l.prototype[R]=function(){const A=n(arguments),I=this.client.columnBuilder(this,R,A);return this._statements.push({grouping:"columns",builder:I}),I}});const a={renameColumn(R,A){return this._statements.push({grouping:"alterTable",method:"renameColumn",args:[R,A]}),this},dropTimestamps(){return this.dropColumns(arguments[0]===!0?["createdAt","updatedAt"]:["created_at","updated_at"])},setNullable(R){return this._statements.push({grouping:"alterTable",method:"setNullable",args:[R]}),this},check(R,A,I){this._statements.push({grouping:"alterTable",method:"check",args:[R,A,I]})},dropChecks(){this._statements.push({grouping:"alterTable",method:"dropChecks",args:n(arguments)})},dropNullable(R){return this._statements.push({grouping:"alterTable",method:"dropNullable",args:[R]}),this}};return a.dropColumn=a.dropColumns=function(){return this._statements.push({grouping:"alterTable",method:"dropColumn",args:n(arguments)}),this},l.extend=(R,A)=>{if(Object.prototype.hasOwnProperty.call(l.prototype,R))throw new Error(`Can't extend TableBuilder with existing method ('${R}').`);r(l.prototype,{[R]:A})},Da=l,Da}var ga,VN;function zy(){if(VN)return ga;VN=1;function e(t,r,n,s){for(var T=t.length,E=n+(s?1:-1);s?E--:++E<T;)if(r(t[E],E,t))return E;return-1}return ga=e,ga}var Ma,xN;function eD(){if(xN)return Ma;xN=1;function e(t){return t!==t}return Ma=e,Ma}var Ua,WN;function tD(){if(WN)return Ua;WN=1;function e(t,r,n){for(var s=n-1,T=t.length;++s<T;)if(t[s]===r)return s;return-1}return Ua=e,Ua}var ba,XN;function cC(){if(XN)return ba;XN=1;var e=zy(),t=eD(),r=tD();function n(s,T,E){return T===T?r(s,T,E):e(s,t,E)}return ba=n,ba}var wa,KN;function rD(){if(KN)return wa;KN=1;var e=cC(),t=K_(),r=Math.max;function n(s,T,E){var i=s==null?0:s.length;if(!i)return-1;var l=E==null?0:t(E);return l<0&&(l=r(i+l,0)),e(s,T,l)}return wa=n,wa}var Ga,jN;function ft(){if(jN)return Ga;jN=1;const{pushAdditional:e,pushQuery:t,unshiftQuery:r}=fr(),n=Le(),s=_r(),T=rD(),E=ge(),i=hr(),{normalizeArr:l}=Le();class o{constructor(a,R){this.client=a,this.tableBuilder=R,this._commonBuilder=this.tableBuilder,this.method=R._method,this.schemaNameRaw=R._schemaName,this.tableNameRaw=R._tableName,this.tableNameLikeRaw=R._tableNameLike,this.single=R._single,this.grouped=s(R._statements,"grouping"),this.formatter=a.formatter(R),this.bindings=[],this.formatter.bindings=this.bindings,this.bindingsHolder=this,this.sequence=[],this._formatting=a.config&&a.config.formatting,this.checksCount=0}toSQL(){return this[this.method](),this.sequence}create(a,R){const I=this.getColumns().map(c=>c.toSQL()),h=this.getColumnTypes(I);this.createAlterTableMethods&&this.alterTableForCreate(h),this.createQuery(h,a,R),this.columnQueries(I),delete this.single.comment,this.alterTable()}createIfNot(){this.create(!0)}createLike(){this.create(!1,!0)}createLikeIfNot(){this.create(!0,!0)}alter(){const R=this.getColumns().map(S=>S.toSQL()),A=this.getColumns("alter"),I=A.map(S=>S.toSQL()),h=this.getColumnTypes(R),c=this.getColumnTypes(I);this.addColumns(h),this.alterColumns(c,A),this.columnQueries(R),this.columnQueries(I),this.alterTable()}foreign(a){if(a.inTable&&a.references){const R=a.keyName?this.formatter.wrap(a.keyName):this._indexCommand("foreign",this.tableNameRaw,a.column),A=this.formatter.columnize(a.column),I=this.formatter.columnize(a.references),h=this.formatter.wrap(a.inTable),c=a.onUpdate?(this.lowerCase?" on update ":" ON UPDATE ")+a.onUpdate:"",S=a.onDelete?(this.lowerCase?" on delete ":" ON DELETE ")+a.onDelete:"",O=a.deferrable?this.lowerCase?` deferrable initially ${a.deferrable.toLowerCase()} `:` DEFERRABLE INITIALLY ${a.deferrable.toUpperCase()} `:"";this.lowerCase?this.pushQuery((this.forCreate?"":`alter table ${this.tableName()} add `)+"constraint "+R+" foreign key ("+A+") references "+h+" ("+I+")"+c+S+O):this.pushQuery((this.forCreate?"":`ALTER TABLE ${this.tableName()} ADD `)+"CONSTRAINT "+R+" FOREIGN KEY ("+A+") REFERENCES "+h+" ("+I+")"+c+S+O)}}getColumnTypes(a){return a.reduce(function(R,A){const I=A[0];return R.sql.push(I.sql),R.bindings.concat(I.bindings),R},{sql:[],bindings:[]})}columnQueries(a){const R=a.reduce(function(A,I){const h=i(I);return E(h)?A:A.concat(h)},[]);for(const A of R)this.pushQuery(A)}addColumns(a,R){if(R=R||this.addColumnsPrefix,a.sql.length>0){const A=a.sql.map(I=>R+I);this.pushQuery({sql:(this.lowerCase?"alter table ":"ALTER TABLE ")+this.tableName()+" "+A.join(", "),bindings:a.bindings})}}alterColumns(a,R){a.sql.length>0&&this.addColumns(a,this.alterColumnsPrefix,R)}getColumns(a){const R=this.grouped.columns||[];a=a||"add";const A=this.tableBuilder.queryContext();return R.filter(I=>I.builder._method===a).map(I=>(A!==void 0&&I.builder.queryContext()===void 0&&I.builder.queryContext(A),this.client.columnCompiler(this,I.builder)))}tableName(){const a=this.schemaNameRaw?`${this.schemaNameRaw}.${this.tableNameRaw}`:this.tableNameRaw;return this.formatter.wrap(a)}tableNameLike(){const a=this.schemaNameRaw?`${this.schemaNameRaw}.${this.tableNameLikeRaw}`:this.tableNameLikeRaw;return this.formatter.wrap(a)}alterTable(){const a=this.grouped.alterTable||[];for(let R=0,A=a.length;R<A;R++){const I=a[R];this[I.method]?this[I.method].apply(this,I.args):this.client.logger.error(`Debug: ${I.method} does not exist`)}for(const R in this.single)typeof this[R]=="function"&&this[R](this.single[R])}alterTableForCreate(a){this.forCreate=!0;const R=this.sequence,A=this.grouped.alterTable||[];this.grouped.alterTable=[];for(let I=0,h=A.length;I<h;I++){const c=A[I];if(T(this.createAlterTableMethods,c.method)<0){this.grouped.alterTable.push(c);continue}this[c.method]?(this.sequence=[],this[c.method].apply(this,c.args),a.sql.push(this.sequence[0].sql)):this.client.logger.error(`Debug: ${c.method} does not exist`)}this.sequence=R,this.forCreate=!1}dropIndex(a){this.pushQuery(`drop index${a}`)}dropUnique(){throw new Error("Method implemented in the dialect driver")}dropForeign(){throw new Error("Method implemented in the dialect driver")}dropColumn(){const a=n.normalizeArr.apply(null,arguments),R=(Array.isArray(a)?a:[a]).map(A=>this.dropColumnPrefix+this.formatter.wrap(A));this.pushQuery((this.lowerCase?"alter table ":"ALTER TABLE ")+this.tableName()+" "+R.join(", "))}_setNullableState(a,R){const A=this.tableName(),I=this.formatter.columnize(a),h=this.alterColumnsPrefix;return this.pushQuery({sql:"SELECT 1",output:()=>this.client.queryBuilder().from(this.tableNameRaw).columnInfo(a).then(c=>{if(E(c))throw new Error(`.setNullable: Column ${I} does not exist in table ${A}.`);const S=R?"null":"not null",O=c.type+(c.maxLength?`(${c.maxLength})`:""),C=c.defaultValue!==null&&c.defaultValue!==void 0?`default '${c.defaultValue}'`:"",f=`alter table ${A} ${h} ${I} ${O} ${S} ${C}`;return this.client.raw(f)})})}setNullable(a){return this._setNullableState(a,!0)}dropNullable(a){return this._setNullableState(a,!1)}dropChecks(a){if(a===void 0)return"";a=l(a);const A=`alter table ${this.tableName()} ${a.map(I=>`drop constraint ${I}`).join(", ")}`;this.pushQuery(A)}check(a,R,A){const I=this.tableName();let h=A;h||(this.checksCount++,h=I+"_"+this.checksCount);const c=`alter table ${I} add constraint ${h} check(${a})`;this.pushQuery(c)}_addChecks(){return this.grouped.checks?", "+this.grouped.checks.map(a=>`${a.args[2]?"constraint "+a.args[2]+" ":""}check (${this.client.raw(a.args[0],a.args[1])})`).join(", "):""}_indexCommand(a,R,A){Array.isArray(A)||(A=A?[A]:[]);const h=(R.replace(/\.|-/g,"_")+"_"+A.join("_")+"_"+a).toLowerCase();return this.formatter.wrap(h)}_getPrimaryKeys(){return(this.grouped.alterTable||[]).filter(a=>a.method==="primary").flatMap(a=>a.args).flat()}_canBeAddPrimaryKey(a){return a.primaryKey&&this._getPrimaryKeys().length===0}_getIncrementsColumnNames(){return this.grouped.columns.filter(a=>a.builder._type==="increments").map(a=>a.builder._args[0])}_getBigIncrementsColumnNames(){return this.grouped.columns.filter(a=>a.builder._type==="bigincrements").map(a=>a.builder._args[0])}}return o.prototype.pushQuery=t,o.prototype.pushAdditional=e,o.prototype.unshiftQuery=r,o.prototype.lowerCase=!0,o.prototype.createAlterTableMethods=null,o.prototype.addColumnsPrefix="add column ",o.prototype.alterColumnsPrefix="alter column ",o.prototype.modifyColumnPrefix="modify column ",o.prototype.dropColumnPrefix="drop column ",Ga=o,Ga}var va,kN;function dr(){if(kN)return va;kN=1;const e=pr(),t=rt(),r=vt(),{addQueryContext:n}=Le();class s{constructor(u,a,R,A){this.client=u,this._method="add",this._single={},this._modifiers={},this._statements=[],this._type=l[R]||R,this._args=A,this._tableBuilder=a,a._method==="alter"&&e(this,i)}references(u){return this._tableBuilder.foreign.call(this._tableBuilder,this._args[0],void 0,this)._columnBuilder(this).references(u)}}const T=["default","defaultsTo","defaultTo","unsigned","nullable","first","after","comment","collate","check","checkPositive","checkNegative","checkIn","checkNotIn","checkBetween","checkLength","checkRegex"],E={default:"defaultTo",defaultsTo:"defaultTo"};T.forEach(function(o){const u=E[o]||o;s.prototype[o]=function(){return this._modifiers[u]=r(arguments),this}}),n(s),s.prototype.notNull=s.prototype.notNullable=function(){return this.nullable(!1)},["index","primary","unique"].forEach(function(o){s.prototype[o]=function(){return this._type.toLowerCase().indexOf("increments")===-1&&this._tableBuilder[o].apply(this._tableBuilder,[this._args[0]].concat(r(arguments))),this}}),s.extend=(o,u)=>{if(Object.prototype.hasOwnProperty.call(s.prototype,o))throw new Error(`Can't extend ColumnBuilder with existing method ('${o}').`);t(s.prototype,{[o]:u})};const i={};i.drop=function(){return this._single.drop=!0,this},i.alterType=function(o){return this._statements.push({grouping:"alterType",value:o}),this},i.alter=function({alterNullable:o=!0,alterType:u=!0}={}){return this._method="alter",this.alterNullable=o,this.alterType=u,this};const l={float:"floating",enum:"enu",boolean:"bool",string:"varchar",bigint:"bigInteger"};return va=s,va}var Ba,JN;function nD(){if(JN)return Ba;JN=1;function e(t){return t&&t.length?t[0]:void 0}return Ba=e,Ba}var Fa,QN;function iD(){return QN||(QN=1,Fa=nD()),Fa}var Ha,ZN;function ot(){if(ZN)return Ha;ZN=1;const e=fr(),t=_r(),r=iD(),n=Cr(),s=hr(),{toNumber:T}=Le(),{formatDefault:E}=nt(),{operator:i}=me();class l{constructor(u,a,R){this.client=u,this.tableCompiler=a,this.columnBuilder=R,this._commonBuilder=this.columnBuilder,this.args=R._args,this.type=R._type.toLowerCase(),this.grouped=t(R._statements,"grouping"),this.modified=R._modifiers,this.isIncrements=this.type.indexOf("increments")!==-1,this.formatter=u.formatter(R),this.bindings=[],this.formatter.bindings=this.bindings,this.bindingsHolder=this,this.sequence=[],this.modifiers=[],this.checksCount=0}_addCheckModifiers(){this.modifiers.push("check","checkPositive","checkNegative","checkIn","checkNotIn","checkBetween","checkLength","checkRegex")}defaults(u){if(Object.prototype.hasOwnProperty.call(this._defaultMap,u))return this._defaultMap[u].bind(this)();throw new Error(`There is no default for the specified identifier ${u}`)}toSQL(){return this.pushQuery(this.compileColumn()),this.sequence.additional&&(this.sequence=this.sequence.concat(this.sequence.additional)),this.sequence}compileColumn(){return this.formatter.wrap(this.getColumnName())+" "+this.getColumnType()+this.getModifiers()}getColumnName(){return r(this.args)||this.defaults("columnName")}getColumnType(){if(!this._columnType){const u=this[this.type];this._columnType=typeof u=="function"?u.apply(this,s(this.args)):u}return this._columnType}getModifiers(){const u=[];for(let a=0,R=this.modifiers.length;a<R;a++){const A=this.modifiers[a];if((!this.isIncrements||this.isIncrements&&A==="comment")&&n(this.modified,A)){const I=this[A].apply(this,this.modified[A]);I&&u.push(I)}}return u.length>0?` ${u.join(" ")}`:""}varchar(u){return`varchar(${T(u,255)})`}floating(u,a){return`float(${T(u,8)}, ${T(a,2)})`}decimal(u,a){if(u===null)throw new Error("Specifying no precision on decimal columns is not supported for that SQL dialect.");return`decimal(${T(u,8)}, ${T(a,2)})`}specifictype(u){return u}nullable(u){return u===!1?"not null":"null"}notNullable(){return this.nullable(!1)}defaultTo(u){return`default ${E(u,this.type,this.client)}`}increments(u={primaryKey:!0}){return"integer not null"+(this.tableCompiler._canBeAddPrimaryKey(u)?" primary key":"")+" autoincrement"}bigincrements(u={primaryKey:!0}){return this.increments(u)}_pushAlterCheckQuery(u,a){let R=a;R||(this.checksCount++,R=this.tableCompiler.tableNameRaw+"_"+this.getColumnName()+"_"+this.checksCount),this.pushAdditional(function(){this.pushQuery(`alter table ${this.tableCompiler.tableName()} add constraint ${R} check(${u})`)})}_checkConstraintName(u){return u?`constraint ${u} `:""}_check(u,a){return this.columnBuilder._method==="alter"?(this._pushAlterCheckQuery(u,a),""):`${this._checkConstraintName(a)}check (${u})`}checkPositive(u){return this._check(`${this.formatter.wrap(this.getColumnName())} ${i(">",this.columnBuilder,this.bindingsHolder)} 0`,u)}checkNegative(u){return this._check(`${this.formatter.wrap(this.getColumnName())} ${i("<",this.columnBuilder,this.bindingsHolder)} 0`,u)}_checkIn(u,a,R){return this._check(`${this.formatter.wrap(this.getColumnName())} ${R?"not ":""}in (${u.map(A=>this.client._escapeBinding(A)).join(",")})`,a)}checkIn(u,a){return this._checkIn(u,a)}checkNotIn(u,a){return this._checkIn(u,a,!0)}checkBetween(u,a){u.length===2&&!Array.isArray(u[0])&&!Array.isArray(u[1])&&(u=[u]);const R=u.map(A=>`${this.formatter.wrap(this.getColumnName())} between ${this.client._escapeBinding(A[0])} and ${this.client._escapeBinding(A[1])}`).join(" or ");return this._check(R,a)}checkLength(u,a,R){return this._check(`length(${this.formatter.wrap(this.getColumnName())}) ${i(u,this.columnBuilder,this.bindingsHolder)} ${T(a)}`,R)}}return l.prototype.binary="blob",l.prototype.bool="boolean",l.prototype.date="date",l.prototype.datetime="datetime",l.prototype.time="time",l.prototype.timestamp="timestamp",l.prototype.geometry="geometry",l.prototype.geography="geography",l.prototype.point="point",l.prototype.enu="varchar",l.prototype.bit=l.prototype.json="text",l.prototype.uuid=({useBinaryUuid:o=!1,primaryKey:u=!1}={})=>o?"binary(16)":"char(36)",l.prototype.integer=l.prototype.smallint=l.prototype.mediumint="integer",l.prototype.biginteger="bigint",l.prototype.text="text",l.prototype.tinyint="tinyint",l.prototype.pushQuery=e.pushQuery,l.prototype.pushAdditional=e.pushAdditional,l.prototype.unshiftQuery=e.unshiftQuery,l.prototype._defaultMap={columnName:function(){if(!this.isIncrements)throw new Error(`You did not specify a column name for the ${this.type} column.`);return"id"}},Ha=l,Ha}var qa,zN;function sD(){if(zN)return qa;zN=1;const e=_t();class t extends e{constructor(n,s){super(n),this.ref=s,this._schema=null,this._alias=null}withSchema(n){return this._schema=n,this}as(n){return this._alias=n,this}toSQL(){const n=this._schema?`${this._schema}.${this.ref}`:this.ref,s=this.client.formatter(this),T=s.columnize(n),E=this._alias?`${T} as ${s.wrap(this._alias)}`:T;return this.set(E,[]),super.toSQL(...arguments)}}return qa=t,qa}var Ya,eI;function Lr(){if(eI)return Ya;eI=1;const{columnize:e,wrap:t}=me();class r{constructor(s,T){this.client=s,this.builder=T,this.bindings=[]}columnize(s){return e(s,this.builder,this.client,this)}wrap(s,T){return t(s,T,this.builder,this.client,this)}}return Ya=r,Ya}var oe={},tI;function oD(){if(tI)return oe;tI=1,Object.defineProperty(oe,"__esModule",{value:!0});var e=Ie;function t(ue){if(ue&&ue.__esModule)return ue;var Ae=Object.create(null);return ue&&Object.keys(ue).forEach(function(Oe){if(Oe!=="default"){var he=Object.getOwnPropertyDescriptor(ue,Oe);Object.defineProperty(Ae,Oe,he.get?he:{enumerable:!0,get:function(){return ue[Oe]}})}}),Ae.default=ue,Object.freeze(Ae)}var r=t(e);const{env:n={},argv:s=[],platform:T=""}=typeof process>"u"?{}:process,E="NO_COLOR"in n||s.includes("--no-color"),i="FORCE_COLOR"in n||s.includes("--color"),l=T==="win32",o=n.TERM==="dumb",u=r&&r.isatty&&r.isatty(1)&&n.TERM&&!o,a="CI"in n&&("GITHUB_ACTIONS"in n||"GITLAB_CI"in n||"CIRCLECI"in n),R=!E&&(i||l&&!o||u||a),A=(ue,Ae,Oe,he,Y=Ae.substring(0,ue)+he,y=Ae.substring(ue+Oe.length),Ee=y.indexOf(Oe))=>Y+(Ee<0?y:A(Ee,y,Oe,he)),I=(ue,Ae,Oe,he,Y)=>ue<0?Oe+Ae+he:Oe+A(ue,Ae,he,Y)+he,h=(ue,Ae,Oe=ue,he=ue.length+1)=>Y=>Y||!(Y===""||Y===void 0)?I((""+Y).indexOf(Ae,he),Y,ue,Ae,Oe):"",c=(ue,Ae,Oe)=>h(`\x1B[${ue}m`,`\x1B[${Ae}m`,Oe),S={reset:c(0,0),bold:c(1,22,"\x1B[22m\x1B[1m"),dim:c(2,22,"\x1B[22m\x1B[2m"),italic:c(3,23),underline:c(4,24),inverse:c(7,27),hidden:c(8,28),strikethrough:c(9,29),black:c(30,39),red:c(31,39),green:c(32,39),yellow:c(33,39),blue:c(34,39),magenta:c(35,39),cyan:c(36,39),white:c(37,39),gray:c(90,39),bgBlack:c(40,49),bgRed:c(41,49),bgGreen:c(42,49),bgYellow:c(43,49),bgBlue:c(44,49),bgMagenta:c(45,49),bgCyan:c(46,49),bgWhite:c(47,49),blackBright:c(90,39),redBright:c(91,39),greenBright:c(92,39),yellowBright:c(93,39),blueBright:c(94,39),magentaBright:c(95,39),cyanBright:c(96,39),whiteBright:c(97,39),bgBlackBright:c(100,49),bgRedBright:c(101,49),bgGreenBright:c(102,49),bgYellowBright:c(103,49),bgBlueBright:c(104,49),bgMagentaBright:c(105,49),bgCyanBright:c(106,49),bgWhiteBright:c(107,49)},O=({useColor:ue=R}={})=>ue?S:Object.keys(S).reduce((Ae,Oe)=>({...Ae,[Oe]:String}),{}),{reset:C,bold:f,dim:p,italic:L,underline:P,inverse:D,hidden:w,strikethrough:_,black:m,red:U,green:B,yellow:N,blue:d,magenta:g,cyan:x,white:j,gray:Q,bgBlack:G,bgRed:K,bgGreen:ee,bgYellow:b,bgBlue:v,bgMagenta:W,bgCyan:z,bgWhite:ae,blackBright:Te,redBright:k,greenBright:J,yellowBright:te,blueBright:re,magentaBright:le,cyanBright:M,whiteBright:F,bgBlackBright:se,bgRedBright:ne,bgGreenBright:pe,bgYellowBright:$,bgBlueBright:Pe,bgMagentaBright:Se,bgCyanBright:de,bgWhiteBright:Re}=O();return oe.bgBlack=G,oe.bgBlackBright=se,oe.bgBlue=v,oe.bgBlueBright=Pe,oe.bgCyan=z,oe.bgCyanBright=de,oe.bgGreen=ee,oe.bgGreenBright=pe,oe.bgMagenta=W,oe.bgMagentaBright=Se,oe.bgRed=K,oe.bgRedBright=ne,oe.bgWhite=ae,oe.bgWhiteBright=Re,oe.bgYellow=b,oe.bgYellowBright=$,oe.black=m,oe.blackBright=Te,oe.blue=d,oe.blueBright=re,oe.bold=f,oe.createColors=O,oe.cyan=x,oe.cyanBright=M,oe.dim=p,oe.gray=Q,oe.green=B,oe.greenBright=J,oe.hidden=w,oe.inverse=D,oe.isColorSupported=R,oe.italic=L,oe.magenta=g,oe.magentaBright=le,oe.red=U,oe.redBright=k,oe.reset=C,oe.strikethrough=_,oe.underline=P,oe.white=j,oe.whiteBright=F,oe.yellow=N,oe.yellowBright=te,oe}var $a,rI;function ED(){if(rI)return $a;rI=1;const e=oD(),{inspect:t}=Ye(),{isString:r,isFunction:n}=ce();class s{constructor(i={}){const{log:{debug:l,warn:o,error:u,deprecate:a,inspectionDepth:R,enableColors:A}={}}=i;this._inspectionDepth=R||5,this._enableColors=T(A),this._debug=l,this._warn=o,this._error=u,this._deprecate=a}_log(i,l,o){if(l!=null&&!n(l))throw new TypeError("Extensions to knex logger must be functions!");if(n(l)){l(i);return}r(i)||(i=t(i,{depth:this._inspectionDepth,colors:this._enableColors})),console.log(o?o(i):i)}debug(i){this._log(i,this._debug)}warn(i){this._log(i,this._warn,e.yellow)}error(i){this._log(i,this._error,e.red)}deprecate(i,l){const o=`${i} is deprecated, please use ${l}`;this._log(o,this._deprecate,e.yellow)}}function T(E){return E??(process&&process.stdout?process.stdout.isTTY:!1)}return $a=s,$a}var Va,nI;function Ft(){if(nI)return Va;nI=1;const e=Le(),t=pr(),r=rt();class n{constructor(E,i,l,o){this.client=E,this._method=i,this._schemaName=void 0,this._columns=void 0,this._fn=o,this._viewName=l,this._statements=[],this._single={}}setSchema(E){this._schemaName=E}columns(E){this._columns=E}as(E){this._selectQuery=E}checkOption(){throw new Error("check option definition is not supported by this dialect.")}localCheckOption(){throw new Error("check option definition is not supported by this dialect.")}cascadedCheckOption(){throw new Error("check option definition is not supported by this dialect.")}toSQL(){return this._method==="alter"&&t(this,s),this._fn.call(this,this),this.client.viewCompiler(this).toSQL()}}const s={column(T){const E=this;return{rename:function(i){return E._statements.push({grouping:"alterView",method:"renameColumn",args:[T,i]}),this},defaultTo:function(i){return E._statements.push({grouping:"alterView",method:"defaultTo",args:[T,i]}),this}}}};return e.addQueryContext(n),n.extend=(T,E)=>{if(Object.prototype.hasOwnProperty.call(n.prototype,T))throw new Error(`Can't extend ViewBuilder with existing method ('${T}').`);r(n.prototype,{[T]:E})},Va=n,Va}var xa,iI;function pt(){if(iI)return xa;iI=1;const{pushQuery:e}=fr(),t=_r(),{columnize:r}=me();class n{constructor(T,E){this.client=T,this.viewBuilder=E,this._commonBuilder=this.viewBuilder,this.method=E._method,this.schemaNameRaw=E._schemaName,this.viewNameRaw=E._viewName,this.single=E._single,this.selectQuery=E._selectQuery,this.columns=E._columns,this.grouped=t(E._statements,"grouping"),this.formatter=T.formatter(E),this.bindings=[],this.formatter.bindings=this.bindings,this.bindingsHolder=this,this.sequence=[]}toSQL(){return this[this.method](),this.sequence}create(){this.createQuery(this.columns,this.selectQuery)}createOrReplace(){throw new Error("replace views is not supported by this dialect.")}createMaterializedView(){throw new Error("materialized views are not supported by this dialect.")}createQuery(T,E,i,l){const o="create "+(i?"materialized ":"")+(l?"or replace ":"")+"view ",u=T?" ("+r(T,this.viewBuilder,this.client,this.bindingsHolder)+")":"";let a=o+this.viewName()+u;switch(a+=" as ",a+=E.toString(),this.single.checkOption){case"default_option":a+=" with check option";break;case"local":a+=" with local check option";break;case"cascaded":a+=" with cascaded check option";break}this.pushQuery({sql:a})}renameView(T,E){throw new Error("rename view is not supported by this dialect (instead drop, then create another view).")}refreshMaterializedView(){throw new Error("materialized views are not supported by this dialect.")}alter(){this.alterView()}alterView(){const T=this.grouped.alterView||[];for(let E=0,i=T.length;E<i;E++){const l=T[E];this[l.method]?this[l.method].apply(this,l.args):this.client.logger.error(`Debug: ${l.method} does not exist`)}for(const E in this.single)typeof this[E]=="function"&&this[E](this.single[E])}renameColumn(T,E){throw new Error("rename column of views is not supported by this dialect.")}defaultTo(T,E){throw new Error("change default values of views is not supported by this dialect.")}viewName(){const T=this.schemaNameRaw?`${this.schemaNameRaw}.${this.viewNameRaw}`:this.viewNameRaw;return this.formatter.wrap(T)}}return n.prototype.pushQuery=e,xa=n,xa}var Wa,sI;function Et(){if(sI)return Wa;sI=1;const{Pool:e,TimeoutError:t}=om(),{EventEmitter:r}=Qe(),{promisify:n}=Ye(),{makeEscape:s}=qu(),T=BP(),E=H_(),i=Y_(),l=WP(),o=Ve(),{executeQuery:u,enrichQueryObject:a}=Q_(),R=Fe(),A=st(),I=RC(),h=Ct(),c=AC(),S=ft(),O=dr(),C=ot(),{KnexTimeoutError:f}=Rt(),{outputQuery:p,unwrapRaw:L}=me(),{compileCallback:P}=nt(),D=_t(),w=sD(),_=Lr(),m=ED(),{POOL_CONFIG_OPTIONS:U}=il(),B=Ft(),N=pt(),d=$e(),{setHiddenProperty:g}=el(),x=be()("knex:client");class j extends r{constructor(G={}){if(super(),this.config=G,this.logger=new m(G),this.config.connection&&this.config.connection.password&&g(this.config.connection),this.dialect&&!this.config.client&&this.logger.warn("Using 'this.dialect' to identify the client is deprecated and support for it will be removed in the future. Please use configuration option 'client' instead."),!(this.config.client||this.dialect))throw new Error("knex: Required configuration option 'client' is missing.");G.version&&(this.version=G.version),G.connection&&G.connection instanceof Function?(this.connectionConfigProvider=G.connection,this.connectionConfigExpirationChecker=()=>!0):(this.connectionSettings=T(G.connection||{}),G.connection&&G.connection.password&&g(this.connectionSettings,G.connection),this.connectionConfigExpirationChecker=null),this.driverName&&G.connection&&(this.initializeDriver(),(!G.pool||G.pool&&G.pool.max!==0)&&this.initializePool(G)),this.valueForUndefined=this.raw("DEFAULT"),G.useNullAsDefault&&(this.valueForUndefined=null)}formatter(G){return new _(this,G)}queryBuilder(){return new R(this)}queryCompiler(G,K){return new A(this,G,K)}schemaBuilder(){return new I(this)}schemaCompiler(G){return new h(this,G)}tableBuilder(G,K,ee,b){return new c(this,G,K,ee,b)}viewBuilder(G,K,ee){return new B(this,G,K,ee)}tableCompiler(G){return new S(this,G)}viewCompiler(G){return new N(this,G)}columnBuilder(G,K,ee){return new O(this,G,K,ee)}columnCompiler(G,K){return new C(this,G,K)}runner(G){return new l(this,G)}transaction(G,K,ee){return new o(this,G,K,ee)}raw(){return new D(this).set(...arguments)}ref(){return new w(this,...arguments)}query(G,K){const ee=a(G,K,this);return u(G,ee,this)}stream(G,K,ee,b){const v=a(G,K,this);return this._stream(G,v,ee,b)}prepBindings(G){return G}positionBindings(G){return G}postProcessResponse(G,K){return this.config.postProcessResponse?this.config.postProcessResponse(G,K):G}wrapIdentifier(G,K){return this.customWrapIdentifier(G,this.wrapIdentifierImpl,K)}customWrapIdentifier(G,K,ee){return this.config.wrapIdentifier?this.config.wrapIdentifier(G,K,ee):K(G)}wrapIdentifierImpl(G){return G!=="*"?`"${G.replace(/"/g,'""')}"`:"*"}initializeDriver(){try{this.driver=this._driver()}catch(G){const K=`Knex: run
|
|
178
|
-
$ npm install ${this.driverName} --save`;throw this.logger.error(`${K}
|
|
179
|
-
${G.message}
|
|
180
|
-
${G.stack}`),new Error(`${K}
|
|
181
|
-
${G.message}`)}}poolDefaults(){return{min:2,max:10,propagateCreateError:!0}}getPoolSettings(G){G=E({},G,this.poolDefaults()),U.forEach(v=>{v in G&&this.logger.warn([`Pool config option "${v}" is no longer supported.`,"See https://github.com/Vincit/tarn.js for possible pool config options."].join(" "))});const K=6e4,ee=[this.config.acquireConnectionTimeout,G.acquireTimeoutMillis].filter(v=>v!==void 0);ee.length||ee.push(K),G.acquireTimeoutMillis=Math.min(...ee);const b=async()=>{if(!this.connectionConfigProvider||!this.connectionConfigExpirationChecker||!this.connectionConfigExpirationChecker())return;const v=await this.connectionConfigProvider();v.expirationChecker?(this.connectionConfigExpirationChecker=v.expirationChecker,delete v.expirationChecker):this.connectionConfigExpirationChecker=null,this.connectionSettings=v};return Object.assign(G,{create:async()=>{await b();const v=await this.acquireRawConnection();return v.__knexUid=i("__knexUid"),G.afterCreate&&await n(G.afterCreate)(v),v},destroy:v=>{if(v!==void 0)return this.destroyRawConnection(v)},validate:v=>v.__knex__disposed?(this.logger.warn(`Connection Error: ${v.__knex__disposed}`),!1):this.validateConnection(v)})}initializePool(G=this.config){if(this.pool){this.logger.warn("The pool has already been initialized");return}const K={...this.getPoolSettings(G.pool)};K.afterCreate&&delete K.afterCreate,this.pool=new e(K)}validateConnection(G){return!0}async acquireConnection(){if(!this.pool)throw new Error("Unable to acquire a connection");try{const G=await this.pool.acquire().promise;return x("acquired connection from pool: %s",G.__knexUid),G.config&&(G.config.password&&g(G.config),G.config.authentication&&G.config.authentication.options&&G.config.authentication.options.password&&g(G.config.authentication.options)),G}catch(G){let K=G;throw G instanceof t&&(K=new f("Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?")),K}}releaseConnection(G){return x("releasing connection to pool: %s",G.__knexUid),this.pool.release(G)||x("pool refused connection: %s",G.__knexUid),Promise.resolve()}async destroy(G){try{this.pool&&this.pool.destroy&&await this.pool.destroy(),this.pool=void 0,typeof G=="function"&&G()}catch(K){if(typeof G=="function")return G(K);throw K}}database(){return this.connectionSettings.database}toString(){return"[object KnexClient]"}assertCanCancelQuery(){if(!this.canCancelQuery)throw new Error("Query cancelling not supported for this dialect")}cancelQuery(){throw new Error("Query cancelling not supported for this dialect")}alias(G,K){return G+" as "+K}parameter(G,K,ee){return typeof G=="function"?p(P(G,void 0,this,ee),!0,K,this):L(G,!0,K,this,ee)||"?"}parameterize(G,K,ee,b){if(typeof G=="function")return this.parameter(G,ee,b);G=Array.isArray(G)?G:[G];let v="",W=-1;for(;++W<G.length;){W>0&&(v+=", ");let z=G[W];d(z)&&(z=JSON.stringify(z)),v+=this.parameter(z===void 0?K:z,ee,b)}return v}values(G,K,ee){return Array.isArray(G)?Array.isArray(G[0])?`(${G.map(b=>`(${this.parameterize(b,void 0,K,ee)})`).join(", ")})`:`(${this.parameterize(G,void 0,K,ee)})`:G&&G.isRawInstance?`(${this.parameter(G,K,ee)})`:this.parameter(G,K,ee)}processPassedConnection(G){}toPathForJson(G){return G}}return Object.assign(j.prototype,{_escapeBinding:s({escapeString(Q){return`'${Q.replace(/'/g,"''")}'`}}),canCancelQuery:!1}),Wa=j,Wa}var Xa,oI;function aD(){if(oI)return Xa;oI=1;function e(t){if(t.charAt(0)==="/"){const l=t.split(" ");return{host:l[0],database:l[1]}}const r={};let n,s=!1;/ |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(t)&&(t=encodeURI(t).replace(/\%25(\d\d)/g,"%$1"));try{n=new URL(t,"postgres://base")}catch{n=new URL(t.replace("@/","@___DUMMY___/"),"postgres://base"),s=!0}for(const l of n.searchParams.entries())r[l[0]]=l[1];if(r.user=r.user||decodeURIComponent(n.username),r.password=r.password||decodeURIComponent(n.password),n.protocol=="socket:")return r.host=decodeURI(n.pathname),r.database=n.searchParams.get("db"),r.client_encoding=n.searchParams.get("encoding"),r;const T=s?"":n.hostname;r.host?T&&/^%2f/i.test(T)&&(n.pathname=T+n.pathname):r.host=decodeURIComponent(T),r.port||(r.port=n.port);const E=n.pathname.slice(1)||null;r.database=E?decodeURI(E):null,(r.ssl==="true"||r.ssl==="1")&&(r.ssl=!0),r.ssl==="0"&&(r.ssl=!1),(r.sslcert||r.sslkey||r.sslrootcert||r.sslmode)&&(r.ssl={});const i=r.sslcert||r.sslkey||r.sslrootcert?Ie:null;switch(r.sslcert&&(r.ssl.cert=i.readFileSync(r.sslcert).toString()),r.sslkey&&(r.ssl.key=i.readFileSync(r.sslkey).toString()),r.sslrootcert&&(r.ssl.ca=i.readFileSync(r.sslrootcert).toString()),r.sslmode){case"disable":{r.ssl=!1;break}case"prefer":case"require":case"verify-ca":case"verify-full":break;case"no-verify":{r.ssl.rejectUnauthorized=!1;break}}return r}return Xa=e,e.parse=e,Xa}var Ka,EI;function TD(){if(EI)return Ka;EI=1;const{parse:e}=aD(),t=e,r=process&&process.platform&&process.platform==="win32";function n(T){try{return new URL(T)}catch{return null}}Ka=function(E){const i=n(E),l=r&&i&&i.protocol.length===2;if(!i||l)return{client:"sqlite3",connection:{filename:E}};let{protocol:o}=i;o.slice(-1)===":"&&(o=o.slice(0,-1));const u=["postgresql","postgres"].includes(o);return{client:o,connection:u?t(E):s(i)}};function s(T){const E={};let i=T.pathname;if(i[0]==="/"&&(i=i.slice(1)),E.database=i,T.hostname&&(T.protocol.indexOf("mssql")===0?E.server=T.hostname:E.host=T.hostname),T.port&&(E.port=T.port),(T.username||T.password)&&(E.user=decodeURIComponent(T.username)),T.password&&(E.password=decodeURIComponent(T.password)),T.searchParams)for(const[l,o]of T.searchParams.entries())if(["mysql:","mariadb:","mssql:"].includes(T.protocol))try{E[l]=JSON.parse(o)}catch{E[l]=o}else E[l]=o;return E}return Ka}var dt={},ja,aI;function uD(){if(aI)return ja;aI=1;const e=Ve();class t extends e{begin(n){return this.isolationLevel&&this.client.logger.warn("sqlite3 only supports serializable transactions, ignoring the isolation level param"),this.readOnly&&this.client.logger.warn("sqlite3 implicitly handles read vs write transactions"),this.query(n,"BEGIN;")}}return ja=t,ja}var ka,TI;function lD(){if(TI)return ka;TI=1;const e=F_(),t=wt(),r=De(),n=ge(),s=Bt(),T=st(),E=er(),{isString:i}=ce(),{wrapString:l,columnize:o}=me(),u=e("");class a extends T{constructor(A,I,h){super(A,I,h),this.forShare=u,this.forKeyShare=u,this.forUpdate=u,this.forNoKeyUpdate=u}insert(){const A=this.single.insert||[];let I=this.with()+`insert into ${this.tableName} `;if(Array.isArray(A)){if(A.length===0)return"";if(A.length===1&&A[0]&&n(A[0]))return{sql:I+this._emptyInsertValue}}else if(typeof A=="object"&&n(A))return{sql:I+this._emptyInsertValue};const h=this._prepInsert(A);if(i(h))return{sql:I+h};if(h.columns.length===0)return{sql:""};if(I+=`(${this.formatter.columnize(h.columns)})`,this.client.valueForUndefined!==null&&h.values.forEach(L=>{t(L,P=>{if(P===void 0)throw new TypeError("`sqlite` does not support inserting default values. Specify values explicitly or use the `useNullAsDefault` config flag. (see docs https://knexjs.org/guide/query-builder.html#insert).")})}),h.values.length===1){const L=this.client.parameterize(h.values[0],this.client.valueForUndefined,this.builder,this.bindingsHolder);I+=` values (${L})`;const{onConflict:P,ignore:D,merge:w}=this.single;if(P&&D)I+=this._ignore(P);else if(P&&w){I+=this._merge(w.updates,P,A);const m=this.where();m&&(I+=` ${m}`)}const{returning:_}=this.single;return _&&(I+=this._returning(_)),{sql:I,returning:_}}const c=[];let S=-1;for(;++S<h.values.length;){let L=-1;const P=c[S]=[];let D=h.values[S];for(D=D===void 0?this.client.valueForUndefined:D;++L<h.columns.length;)P.push(this.client.alias(this.client.parameter(D[L],this.builder,this.bindingsHolder),this.formatter.wrap(h.columns[L])));c[S]=P.join(", ")}I+=" select "+c.join(" union all select ");const{onConflict:O,ignore:C,merge:f}=this.single;O&&C?I+=" where true"+this._ignore(O):O&&f&&(I+=" where true"+this._merge(f.updates,O,A));const{returning:p}=this.single;return p&&(I+=this._returning(p)),{sql:I,returning:p}}update(){const A=this.with(),I=this._prepUpdate(this.single.update),h=this.where(),{returning:c}=this.single;return{sql:A+`update ${this.single.only?"only ":""}${this.tableName} set ${I.join(", ")}`+(h?` ${h}`:"")+this._returning(c),returning:c}}_ignore(A){return A===!0?" on conflict do nothing":` on conflict ${this._onConflictClause(A)} do nothing`}_merge(A,I,h){let c=` on conflict ${this._onConflictClause(I)} do update set `;if(A&&Array.isArray(A))return c+=A.map(S=>l(S.split(".").pop(),this.formatter.builder,this.client,this.formatter)).map(S=>`${S} = excluded.${S}`).join(", "),c;if(A&&typeof A=="object"){const S=this._prepUpdate(A);return typeof S=="string"?c+=S:c+=S.join(","),c}else{const S=this._prepInsert(h);if(typeof S=="string")throw new Error("If using merge with a raw insert query, then updates must be provided");return c+=S.columns.map(O=>l(O.split(".").pop(),this.builder,this.client)).map(O=>`${O} = excluded.${O}`).join(", "),c}}_returning(A){return A?` returning ${this.formatter.columnize(A)}`:""}truncate(){const{table:A}=this.single;return{sql:`delete from ${this.tableName}`,output(){return this.query({sql:`delete from sqlite_sequence where name = '${A}'`}).catch(E)}}}columnInfo(){const A=this.single.columnInfo;return{sql:`PRAGMA table_info(\`${this.client.customWrapIdentifier(this.single.table,r)}\`)`,output(h){const c=/.*\((\d+)\)/,S=s(h,function(O,C){let{type:f}=C,p=f.match(c);return p&&(p=p[1]),f=p?f.split("(")[0]:f,O[C.name]={type:f.toLowerCase(),maxLength:p,nullable:!C.notnull,defaultValue:C.dflt_value},O},{});return A&&S[A]||S}}}limit(){const A=!this.single.limit&&this.single.limit!==0;return A&&!this.single.offset?"":(this.single.limit=A?-1:this.single.limit,`limit ${this._getValueOrParameterFromAttribute("limit")}`)}jsonExtract(A){return this._jsonExtract("json_extract",A)}jsonSet(A){return this._jsonSet("json_set",A)}jsonInsert(A){return this._jsonSet("json_insert",A)}jsonRemove(A){const I=`json_remove(${o(A.column,this.builder,this.client,this.bindingsHolder)},${this.client.parameter(A.path,this.builder,this.bindingsHolder)})`;return A.alias?this.client.alias(I,this.formatter.wrap(A.alias)):I}whereJsonPath(A){return this._whereJsonPath("json_extract",A)}whereJsonSupersetOf(A){throw new Error("Json superset where clause not actually supported by SQLite")}whereJsonSubsetOf(A){throw new Error("Json subset where clause not actually supported by SQLite")}onJsonPathEquals(A){return this._onJsonPathEquals("json_extract",A)}}return ka=a,ka}var Ja,uI;function RD(){if(uI)return Ja;uI=1;var e=ht();function t(r,n){var s;return e(r,function(T,E,i){return s=n(T,E,i),!s}),!!s}return Ja=t,Ja}var Qa,lI;function AD(){if(lI)return Qa;lI=1;var e=tC(),t=Be(),r=RD(),n=Ne(),s=Sr();function T(E,i,l){var o=n(E)?e:r;return l&&s(E,i,l)&&(i=void 0),o(E,t(i,3))}return Qa=T,Qa}var Za,RI;function cD(){if(RI)return Za;RI=1;const e=Ct(),t=AD();class r extends e{constructor(s,T){super(s,T)}hasTable(s){const T=`select * from sqlite_master where type = 'table' and name = ${this.client.parameter(this.formatter.wrap(s).replace(/`/g,""),this.builder,this.bindingsHolder)}`;this.pushQuery({sql:T,output:E=>E.length>0})}hasColumn(s,T){this.pushQuery({sql:`PRAGMA table_info(${this.formatter.wrap(s)})`,output(E){return t(E,i=>this.client.wrapIdentifier(i.name.toLowerCase())===this.client.wrapIdentifier(T.toLowerCase()))}})}renameTable(s,T){this.pushQuery(`alter table ${this.formatter.wrap(s)} rename to ${this.formatter.wrap(T)}`)}async generateDdlCommands(){const s=this.builder._sequence;for(let E=0,i=s.length;E<i;E++){const l=s[E];this[l.method].apply(this,l.args)}const T=this.sequence;if(T.length===1&&T[0].statementsProducer)return T[0].statementsProducer();{const E=[];for(const i of T){const l=i.sql;Array.isArray(l)?E.push(...l):E.push(l)}return{pre:[],sql:E,check:null,post:[]}}}}return Za=r,Za}var za,AI;function SD(){if(AI)return za;AI=1;const e=ot();class t extends e{constructor(){super(...arguments),this.modifiers=["nullable","defaultTo"],this._addCheckModifiers()}enu(n){return`text check (${this.formatter.wrap(this.args[0])} in ('${n.join("', '")}'))`}_pushAlterCheckQuery(n,s){throw new Error("Alter table with to add constraints is not permitted in SQLite")}checkRegex(n,s){return this._check(`${this.formatter.wrap(this.getColumnName())} REGEXP ${this.client._escapeBinding(n)}`,s)}}return t.prototype.json="json",t.prototype.jsonb="json",t.prototype.double=t.prototype.decimal=t.prototype.floating="float",t.prototype.timestamp="datetime",t.prototype.increments=t.prototype.bigincrements="integer not null primary key autoincrement",za=t,za}var eT,cI;function OD(){if(cI)return eT;cI=1;var e=ju(),t=z_(),r=Be(),n=Ne();function s(T,E){var i=n(T)?e:t;return i(T,r(E,3))}return eT=s,eT}var tT,SI;function ND(){if(SI)return tT;SI=1;const e=OD(),t=uC(),r=De(),{isObject:n}=ce(),s=ft(),{formatDefault:T}=nt();class E extends s{constructor(){super(...arguments)}createQuery(l,o,u){let R=(o?"create table if not exists ":"create table ")+this.tableName();u&&this.tableNameLike()?R+=" as select * from "+this.tableNameLike()+" where 0=1":(R+=" ("+l.sql.join(", "),R+=this.foreignKeys()||"",R+=this.primaryKeys()||"",R+=this._addChecks(),R+=")"),this.pushQuery(R),u&&this.addColumns(l,this.addColumnsPrefix)}addColumns(l,o,u){if(o===this.alterColumnsPrefix){const a=this,R=u.map(A=>{const I=this.client.customWrapIdentifier(A.getColumnName(),r,A.columnBuilder.queryContext()),h=A.getColumnType(),c=A.modified.defaultTo?T(A.modified.defaultTo[0],A.type,this.client):null,S=A.modified.nullable&&A.modified.nullable[0]===!1;return{name:I,type:h,defaultTo:c,notNull:S}});this.pushQuery({sql:`PRAGMA table_info(${this.tableName()})`,statementsProducer(A,I){return a.client.ddl(a,A,I).alterColumn(R)}})}else for(let a=0,R=l.sql.length;a<R;a++)this.pushQuery({sql:`alter table ${this.tableName()} add column ${l.sql[a]}`,bindings:l.bindings[a]})}dropUnique(l,o){o=o?this.formatter.wrap(o):this._indexCommand("unique",this.tableNameRaw,l),this.pushQuery(`drop index ${o}`)}dropForeign(l,o){const u=this;l=Array.isArray(l)?l:[l],l=l.map(a=>this.client.customWrapIdentifier(a,r)),o=this.client.customWrapIdentifier(o,r),this.pushQuery({sql:`PRAGMA table_info(${this.tableName()})`,output(a){return u.client.ddl(u,a,this.connection).dropForeign(l,o)}})}dropPrimary(l){const o=this;l=this.client.customWrapIdentifier(l,r),this.pushQuery({sql:`PRAGMA table_info(${this.tableName()})`,output(u){return o.client.ddl(o,u,this.connection).dropPrimary(l)}})}dropIndex(l,o){o=o?this.formatter.wrap(o):this._indexCommand("index",this.tableNameRaw,l),this.pushQuery(`drop index ${o}`)}unique(l,o){let u,a;n(o)&&({indexName:o,deferrable:u,predicate:a}=o),u&&u!=="not deferrable"&&this.client.logger.warn(`sqlite3: unique index \`${o}\` will not be deferrable ${u} because sqlite3 does not support deferred constraints.`),o=o?this.formatter.wrap(o):this._indexCommand("unique",this.tableNameRaw,l),l=this.formatter.columnize(l);const R=a?" "+this.client.queryCompiler(a).where():"";this.pushQuery(`create unique index ${o} on ${this.tableName()} (${l})${R}`)}index(l,o,u){o=o?this.formatter.wrap(o):this._indexCommand("index",this.tableNameRaw,l),l=this.formatter.columnize(l);let a;n(u)&&({predicate:a}=u);const R=a?" "+this.client.queryCompiler(a).where():"";this.pushQuery(`create index ${o} on ${this.tableName()} (${l})${R}`)}primary(l,o){const u=this;l=Array.isArray(l)?l:[l],l=l.map(R=>this.client.customWrapIdentifier(R,r));let a;n(o)&&({constraintName:o,deferrable:a}=o),a&&a!=="not deferrable"&&this.client.logger.warn(`sqlite3: primary key constraint \`${o}\` will not be deferrable ${a} because sqlite3 does not support deferred constraints.`),o=this.client.customWrapIdentifier(o,r),this.method!=="create"&&this.method!=="createIfNot"&&this.pushQuery({sql:`PRAGMA table_info(${this.tableName()})`,output(R){return u.client.ddl(u,R,this.connection).primary(l,o)}})}foreign(l){const o=this;this.method!=="create"&&this.method!=="createIfNot"&&(l.column=Array.isArray(l.column)?l.column:[l.column],l.column=l.column.map(u=>this.client.customWrapIdentifier(u,r)),l.inTable=this.client.customWrapIdentifier(l.inTable,r),l.references=Array.isArray(l.references)?l.references:[l.references],l.references=l.references.map(u=>this.client.customWrapIdentifier(u,r)),this.pushQuery({sql:`PRAGMA table_info(${this.tableName()})`,statementsProducer(u,a){return o.client.ddl(o,u,a).foreign(l)}}))}primaryKeys(){const l=e(this.grouped.alterTable||[],{method:"primary"});if(l.length>0&&l[0].args.length>0){const o=l[0].args[0];let u=l[0].args[1]||"";u&&(u=" constraint "+this.formatter.wrap(u));const a=this.grouped.columns.filter(R=>R.builder._type==="increments").length>0;return`,${u} ${a?"unique":"primary key"} (${this.formatter.columnize(o)})`}}foreignKeys(){let l="";const o=e(this.grouped.alterTable||[],{method:"foreign"});for(let u=0,a=o.length;u<a;u++){const R=o[u].args[0],A=this.formatter.columnize(R.column),I=this.formatter.columnize(R.references),h=this.formatter.wrap(R.inTable);let c=R.keyName||"";c&&(c=" constraint "+this.formatter.wrap(c)),l+=`,${c} foreign key(${A}) references ${h}(${I})`,R.onDelete&&(l+=` on delete ${R.onDelete}`),R.onUpdate&&(l+=` on update ${R.onUpdate}`)}return l}createTableBlock(){return this.getColumns().concat().join(",")}renameColumn(l,o){this.pushQuery({sql:`alter table ${this.tableName()} rename ${this.formatter.wrap(l)} to ${this.formatter.wrap(o)}`})}_setNullableState(l,o){const u=this;this.pushQuery({sql:`PRAGMA table_info(${this.tableName()})`,statementsProducer(a,R){return u.client.ddl(u,a,R).setNullable(l,o)}})}dropColumn(){const l=this,u=t(arguments).map(a=>this.client.customWrapIdentifier(a,r));this.pushQuery({sql:`PRAGMA table_info(${this.tableName()})`,output(a){return l.client.ddl(l,a,this.connection).dropColumn(u)}})}}return tT=E,tT}var rT,OI;function ID(){if(OI)return rT;OI=1;const e=pt(),{columnize:t}=me();class r extends e{constructor(s,T){super(s,T)}createOrReplace(){const s=this.columns,T=this.selectQuery.toString(),E=this.viewName(),i=s?" ("+t(s,this.viewBuilder,this.client,this.bindingsHolder)+")":"",l=`drop view if exists ${E}`,o=`create view ${E}${i} as ${T}`;this.pushQuery({sql:l}),this.pushQuery({sql:o})}}return rT=r,rT}var nT,NI;function hD(){if(NI)return nT;NI=1;function e(i,l,o){return`INSERT INTO "${l}" SELECT ${o===void 0?"*":o.map(u=>`"${u}"`).join(", ")} FROM "${i}";`}function t(i){return`DROP TABLE "${i}"`}function r(i,l){return`ALTER TABLE "${i}" RENAME TO "${l}"`}function n(i){return`SELECT type, sql FROM sqlite_master WHERE (type='table' OR (type='index' AND sql IS NOT NULL)) AND lower(tbl_name)='${i.toLowerCase()}'`}function s(){return"PRAGMA foreign_keys"}function T(i){return`PRAGMA foreign_keys = ${i?"ON":"OFF"}`}function E(){return"PRAGMA foreign_key_check"}return nT={copyData:e,dropOriginal:t,renameTable:r,getTableSql:n,isForeignCheckEnabled:s,setForeignCheck:T,executeForeignCheck:E},nT}var iT,II;function _D(){if(II)return iT;II=1;function e(t,r){const n=new RegExp(Object.entries(r).map(([E,i])=>`(?<${E}>${i.source})`).join("|"),"yi");let s=0;const T=[];for(;s<t.length;){n.lastIndex=s;const E=t.match(n);if(E!==null){const[i,l]=Object.entries(E.groups).find(([o,u])=>u!==void 0);s+=l.length,i.startsWith("_")||T.push({type:i,text:l})}else throw new Error(`No matching tokenizer rule found at: [${t.substring(s)}]`)}return T}return iT={tokenize:e},iT}var sT,hI;function CD(){if(hI)return sT;hI=1;function e(o,u=a=>a){return function({index:a=0,input:R}){let A=a;const I=[];for(const h of o){const c=h({index:A,input:R});if(c.success)A=c.index,I.push(c.ast);else return c}return{success:!0,ast:u(I),index:A,input:R}}}function t(o,u=a=>a){return function({index:a=0,input:R}){for(const A of o){const I=A({index:a,input:R});if(I.success)return{success:!0,ast:u(I.ast),index:I.index,input:R}}return{success:!1,ast:null,index:a,input:R}}}function r(o,u=a=>a){return function({index:a=0,input:R}){let A={},I=a;const h=[];do A=o({index:I,input:R}),A.success&&(I=A.index,h.push(A.ast));while(A.success);return h.length>0?{success:!0,ast:u(h),index:I,input:R}:{success:!1,ast:null,index:I,input:R}}}function n(o,u=a=>a){return function({index:a=0,input:R}){const A=o({index:a,input:R});return A.success?{success:!0,ast:u(A.ast),index:A.index,input:R}:{success:!0,ast:u(null),index:a,input:R}}}function s(o,u=a=>a){return function({index:a=0,input:R}){const A=o.do({index:a,input:R});return A.success&&o.next({index:A.index,input:R}).success?{success:!0,ast:u(A.ast),index:A.index,input:R}:{success:!1,ast:null,index:a,input:R}}}function T(o,u=a=>a){return function({index:a=0,input:R}){const A=o.do({index:a,input:R});return A.success&&!o.not({index:a,input:R}).success?{success:!0,ast:u(A.ast),index:A.index,input:R}:{success:!1,ast:null,index:a,input:R}}}function E(o,u=a=>a.text){return function({index:a=0,input:R}){const A=R[a];return A!==void 0&&(o.type===void 0||o.type===A.type)&&(o.text===void 0||o.text.toUpperCase()===A.text.toUpperCase())?{success:!0,ast:u(A),index:a+1,input:R}:{success:!1,ast:null,index:a,input:R}}}return sT={s:e,a:t,m:r,o:n,l:s,n:T,t:E,e:function({index:o=0,input:u}){return{success:!0,ast:null,index:o,input:u}},f:function({index:o=0,input:u}){return{success:o===u.length,ast:null,index:o,input:u}}},sT}var oT,_I;function fD(){if(_I)return oT;_I=1;const{tokenize:e}=_D(),{s:t,a:r,m:n,o:s,l:T,n:E,t:i,e:l,f:o}=CD(),u={keyword:/(?:ABORT|ACTION|ADD|AFTER|ALL|ALTER|ALWAYS|ANALYZE|AND|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|DEFERRED|DEFERRABLE|DELETE|DESC|DETACH|DISTINCT|DO|DROP|END|EACH|ELSE|ESCAPE|EXCEPT|EXCLUSIVE|EXCLUDE|EXISTS|EXPLAIN|FAIL|FILTER|FIRST|FOLLOWING|FOR|FOREIGN|FROM|FULL|GENERATED|GLOB|GROUP|GROUPS|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|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)(?=\s+|-|\(|\)|;|\+|\*|\/|%|==|=|<=|<>|<<|<|>=|>>|>|!=|,|&|~|\|\||\||\.)/,id:/"[^"]*(?:""[^"]*)*"|`[^`]*(?:``[^`]*)*`|\[[^[\]]*\]|[a-z_][a-z0-9_$]*/,string:/'[^']*(?:''[^']*)*'/,blob:/x'(?:[0-9a-f][0-9a-f])+'/,numeric:/(?:\d+(?:\.\d*)?|\.\d+)(?:e(?:\+|-)?\d+)?|0x[0-9a-f]+/,variable:/\?\d*|[@$:][a-z0-9_$]+/,operator:/-|\(|\)|;|\+|\*|\/|%|==|=|<=|<>|<<|<|>=|>>|>|!=|,|&|~|\|\||\||\./,_ws:/\s+/};function a(Y){const y=A({input:e(Y,u)});if(!y.success)throw new Error(`Parsing CREATE TABLE failed at [${y.input.slice(y.index).map(Ee=>Ee.text).join(" ")}] of "${Y}"`);return y.ast}function R(Y){const y=J({input:e(Y,u)});if(!y.success)throw new Error(`Parsing CREATE INDEX failed at [${y.input.slice(y.index).map(Ee=>Ee.text).join(" ")}] of "${Y}"`);return y.ast}function A(Y){return t([i({text:"CREATE"},y=>null),I,i({text:"TABLE"},y=>null),re,le,F,i({text:"("},y=>null),c,d,i({text:")"},y=>null),h,o],y=>Object.assign({},...y.filter(Ee=>Ee!==null)))(Y)}function I(Y){return r([i({text:"TEMP"}),i({text:"TEMPORARY"}),l],y=>({temporary:y!==null}))(Y)}function h(Y){return s(t([i({text:"WITHOUT"}),i({text:"ROWID"})]),y=>({rowid:y!==null}))(Y)}function c(Y){return r([t([S,i({text:","}),c],y=>({columns:[y[0]].concat(y[2].columns)})),t([S],y=>({columns:[y[0]]}))])(Y)}function S(Y){return t([t([ue],y=>({name:y[0]})),O,C],y=>Object.assign({},...y))(Y)}function O(Y){return s(t([n(i({type:"id"})),r([t([i({text:"("}),he,i({text:","}),he,i({text:")"})],y=>`(${y[1]}, ${y[3]})`),t([i({text:"("}),he,i({text:")"})],y=>`(${y[1]})`),l])],y=>`${y[0].join(" ")}${y[1]||""}`),y=>({type:y}))(Y)}function C(Y){return s(n(f),y=>({constraints:Object.assign({primary:null,notnull:null,null:null,unique:null,check:null,default:null,collate:null,references:null,as:null},...y||[])}))(Y)}function f(Y){return r([p,P,D,w,_,m,U,B,N])(Y)}function p(Y){return t([k,i({text:"PRIMARY"},y=>null),i({text:"KEY"},y=>null),Se,Q,L],y=>({primary:Object.assign({},...y.filter(Ee=>Ee!==null))}))(Y)}function L(Y){return s(i({text:"AUTOINCREMENT"}),y=>({autoincrement:y!==null}))(Y)}function P(Y){return t([k,i({text:"NOT"},y=>null),i({text:"NULL"},y=>null),Q],y=>({notnull:Object.assign({},...y.filter(Ee=>Ee!==null))}))(Y)}function D(Y){return t([k,i({text:"NULL"},y=>null),Q],y=>({null:Object.assign({},...y.filter(Ee=>Ee!==null))}))(Y)}function w(Y){return t([k,i({text:"UNIQUE"},y=>null),Q],y=>({unique:Object.assign({},...y.filter(Ee=>Ee!==null))}))(Y)}function _(Y){return t([k,i({text:"CHECK"},y=>null),i({text:"("},y=>null),t([Re],y=>({expression:y[0]})),i({text:")"},y=>null)],y=>({check:Object.assign({},...y.filter(Ee=>Ee!==null))}))(Y)}function m(Y){return t([k,i({text:"DEFAULT"},y=>null),r([t([i({text:"("}),Re,i({text:")"})],y=>({value:y[1],expression:!0})),t([Oe],y=>({value:y[0],expression:!1})),t([he],y=>({value:y[0],expression:!1}))])],y=>({default:Object.assign({},...y.filter(Ee=>Ee!==null))}))(Y)}function U(Y){return t([k,i({text:"COLLATE"},y=>null),i({type:"id"},y=>({collation:y.text}))],y=>({collate:Object.assign({},...y.filter(Ee=>Ee!==null))}))(Y)}function B(Y){return t([k,t([ee],y=>y[0].references)],y=>({references:Object.assign({},...y.filter(Ee=>Ee!==null))}))(Y)}function N(Y){return t([k,s(t([i({text:"GENERATED"}),i({text:"ALWAYS"})]),y=>({generated:y!==null})),i({text:"AS"},y=>null),i({text:"("},y=>null),t([Re],y=>({expression:y[0]})),i({text:")"},y=>null),r([i({text:"STORED"}),i({text:"VIRTUAL"}),l],y=>({mode:y?y.toUpperCase():null}))],y=>({as:Object.assign({},...y.filter(Ee=>Ee!==null))}))(Y)}function d(Y){return s(n(t([i({text:","}),g],y=>y[1])),y=>({constraints:y||[]}))(Y)}function g(Y){return r([x,j,G,K])(Y)}function x(Y){return t([k,i({text:"PRIMARY"},y=>null),i({text:"KEY"},y=>null),i({text:"("},y=>null),ne,i({text:")"},y=>null),Q],y=>Object.assign({type:"PRIMARY KEY"},...y.filter(Ee=>Ee!==null)))(Y)}function j(Y){return t([k,i({text:"UNIQUE"},y=>null),i({text:"("},y=>null),ne,i({text:")"},y=>null),Q],y=>Object.assign({type:"UNIQUE"},...y.filter(Ee=>Ee!==null)))(Y)}function Q(Y){return s(t([i({text:"ON"}),i({text:"CONFLICT"}),r([i({text:"ROLLBACK"}),i({text:"ABORT"}),i({text:"FAIL"}),i({text:"IGNORE"}),i({text:"REPLACE"})])],y=>y[2]),y=>({conflict:y?y.toUpperCase():null}))(Y)}function G(Y){return t([k,i({text:"CHECK"},y=>null),i({text:"("},y=>null),t([Re],y=>({expression:y[0]})),i({text:")"},y=>null)],y=>Object.assign({type:"CHECK"},...y.filter(Ee=>Ee!==null)))(Y)}function K(Y){return t([k,i({text:"FOREIGN"},y=>null),i({text:"KEY"},y=>null),i({text:"("},y=>null),v,i({text:")"},y=>null),ee],y=>Object.assign({type:"FOREIGN KEY"},...y.filter(Ee=>Ee!==null)))(Y)}function ee(Y){return t([i({text:"REFERENCES"},y=>null),F,b,s(n(r([W,z,ae])),y=>Object.assign({delete:null,update:null,match:null},...y||[])),Te],y=>({references:Object.assign({},...y.filter(Ee=>Ee!==null))}))(Y)}function b(Y){return s(t([i({text:"("}),v,i({text:")"})],y=>y[1]),y=>({columns:y?y.columns:[]}))(Y)}function v(Y){return t([s(n(t([ue,i({text:","})],y=>y[0])),y=>y!==null?y:[]),ue],y=>({columns:y[0].concat([y[1]])}))(Y)}function W(Y){return t([i({text:"ON"}),i({text:"DELETE"}),Ae],y=>({delete:y[2]}))(Y)}function z(Y){return t([i({text:"ON"}),i({text:"UPDATE"}),Ae],y=>({update:y[2]}))(Y)}function ae(Y){return t([i({text:"MATCH"}),r([i({type:"keyword"}),i({type:"id"})])],y=>({match:y[1]}))(Y)}function Te(Y){return s(t([s(i({text:"NOT"})),i({text:"DEFERRABLE"}),s(t([i({text:"INITIALLY"}),r([i({text:"DEFERRED"}),i({text:"IMMEDIATE"})])],y=>y[1].toUpperCase()))]),y=>({deferrable:y?{not:y[0]!==null,initially:y[2]}:null}))(Y)}function k(Y){return s(t([i({text:"CONSTRAINT"}),ue],y=>y[1]),y=>({name:y}))(Y)}function J(Y){return t([i({text:"CREATE"},y=>null),te,i({text:"INDEX"},y=>null),re,le,M,i({text:"ON"},y=>null),F,i({text:"("},y=>null),ne,i({text:")"},y=>null),se,o],y=>Object.assign({},...y.filter(Ee=>Ee!==null)))(Y)}function te(Y){return s(i({text:"UNIQUE"}),y=>({unique:y!==null}))(Y)}function re(Y){return s(t([i({text:"IF"}),i({text:"NOT"}),i({text:"EXISTS"})]),y=>({exists:y!==null}))(Y)}function le(Y){return s(t([ue,i({text:"."})],y=>y[0]),y=>({schema:y}))(Y)}function M(Y){return t([ue],y=>({index:y[0]}))(Y)}function F(Y){return t([ue],y=>({table:y[0]}))(Y)}function se(Y){return s(t([i({text:"WHERE"}),Re],y=>y[1]),y=>({where:y}))(Y)}function ne(Y){return r([t([pe,i({text:","}),ne],y=>({columns:[y[0]].concat(y[2].columns)})),t([$,i({text:","}),ne],y=>({columns:[y[0]].concat(y[2].columns)})),T({do:pe,next:i({text:")"})},y=>({columns:[y]})),T({do:$,next:i({text:")"})},y=>({columns:[y]}))])(Y)}function pe(Y){return t([t([ue],y=>({name:y[0],expression:!1})),Pe,Se],y=>Object.assign({},...y.filter(Ee=>Ee!==null)))(Y)}function $(Y){return t([t([de],y=>({name:y[0],expression:!0})),Pe,Se],y=>Object.assign({},...y.filter(Ee=>Ee!==null)))(Y)}function Pe(Y){return s(t([i({text:"COLLATE"}),i({type:"id"})],y=>y[1]),y=>({collation:y}))(Y)}function Se(Y){return r([i({text:"ASC"}),i({text:"DESC"}),l],y=>({order:y?y.toUpperCase():null}))(Y)}function de(Y){return n(r([E({do:i({type:"keyword"}),not:r([i({text:"COLLATE"}),i({text:"ASC"}),i({text:"DESC"})])}),i({type:"id"}),i({type:"string"}),i({type:"blob"}),i({type:"numeric"}),i({type:"variable"}),E({do:i({type:"operator"}),not:r([i({text:"("}),i({text:")"}),i({text:","})])}),t([i({text:"("}),s(Re),i({text:")"})],y=>y[1]||[])]))(Y)}function Re(Y){return n(r([i({type:"keyword"}),i({type:"id"}),i({type:"string"}),i({type:"blob"}),i({type:"numeric"}),i({type:"variable"}),E({do:i({type:"operator"}),not:r([i({text:"("}),i({text:")"})])}),t([i({text:"("}),s(Re),i({text:")"})],y=>y[1]||[])]))(Y)}function ue(Y){return r([i({type:"id"}),i({type:"string"})],y=>/^["`['][^]*["`\]']$/.test(y)?y.substring(1,y.length-1):y)(Y)}function Ae(Y){return r([t([i({text:"SET"}),i({text:"NULL"})],y=>`${y[0]} ${y[1]}`),t([i({text:"SET"}),i({text:"DEFAULT"})],y=>`${y[0]} ${y[1]}`),i({text:"CASCADE"}),i({text:"RESTRICT"}),t([i({text:"NO"}),i({text:"ACTION"})],y=>`${y[0]} ${y[1]}`)],y=>y.toUpperCase())(Y)}function Oe(Y){return r([i({type:"numeric"}),i({type:"string"}),i({type:"id"}),i({type:"blob"}),i({text:"NULL"}),i({text:"TRUE"}),i({text:"FALSE"}),i({text:"CURRENT_TIME"}),i({text:"CURRENT_DATE"}),i({text:"CURRENT_TIMESTAMP"})])(Y)}function he(Y){return t([r([i({text:"+"}),i({text:"-"}),l]),i({type:"numeric"})],y=>`${y[0]||""}${y[1]}`)(Y)}return oT={parseCreateTable:a,parseCreateIndex:R},oT}var ET,CI;function pD(){if(CI)return ET;CI=1;function e(M,F=se=>se){return r(M,F)}function t(M,F=se=>se){return Q(M,F)}function r(M,F){return`CREATE${n(M)} TABLE${K(M)} ${ee(M,F)}${v(M,F)} (${T(M,F)}${C(M,F)})${s(M)}`}function n(M,F){return M.temporary?" TEMP":""}function s(M,F){return M.rowid?" WITHOUT ROWID":""}function T(M,F){return M.columns.map(se=>E(se,F)).join(", ")}function E(M,F){return`${le(M.name,F)}${i(M)}${l(M.constraints,F)}`}function i(M,F){return M.type!==null?` ${M.type}`:""}function l(M,F){return`${o(M,F)}${a(M,F)}${R(M,F)}${A(M,F)}${I(M,F)}${h(M,F)}${c(M,F)}${S(M,F)}${O(M,F)}`}function o(M,F){return M.primary!==null?` ${j(M.primary,F)}PRIMARY KEY${J(M.primary)}${P(M.primary)}${u(M.primary)}`:""}function u(M,F){return M.autoincrement?" AUTOINCREMENT":""}function a(M,F){return M.notnull!==null?` ${j(M.notnull,F)}NOT NULL${P(M.notnull)}`:""}function R(M,F){return M.null!==null?` ${j(M.null,F)}NULL${P(M.null)}`:""}function A(M,F){return M.unique!==null?` ${j(M.unique,F)}UNIQUE${P(M.unique)}`:""}function I(M,F){return M.check!==null?` ${j(M.check,F)}CHECK (${re(M.check.expression)})`:""}function h(M,F){return M.default!==null?` ${j(M.default,F)}DEFAULT ${M.default.expression?`(${re(M.default.value)})`:M.default.value}`:""}function c(M,F){return M.collate!==null?` ${j(M.collate,F)}COLLATE ${M.collate.collation}`:""}function S(M,F){return M.references!==null?` ${j(M.references,F)}${_(M.references,F)}`:""}function O(M,F){return M.as!==null?` ${j(M.as,F)}${M.as.generated?"GENERATED ALWAYS ":""}AS (${re(M.as.expression)})${M.as.mode!==null?` ${M.as.mode}`:""}`:""}function C(M,F){return M.constraints.reduce((se,ne)=>`${se}, ${f(ne,F)}`,"")}function f(M,F){switch(M.type){case"PRIMARY KEY":return p(M,F);case"UNIQUE":return L(M,F);case"CHECK":return D(M,F);case"FOREIGN KEY":return w(M,F)}}function p(M,F){return`${j(M,F)}PRIMARY KEY (${z(M,F)})${P(M)}`}function L(M,F){return`${j(M,F)}UNIQUE (${z(M,F)})${P(M)}`}function P(M,F){return M.conflict!==null?` ON CONFLICT ${M.conflict}`:""}function D(M,F){return`${j(M,F)}CHECK (${re(M.expression)})`}function w(M,F){return`${j(M,F)}FOREIGN KEY (${U(M,F)}) ${_(M.references,F)}`}function _(M,F){return`REFERENCES ${v(M,F)}${m(M,F)}${B(M)}${x(M.deferrable)}`}function m(M,F){return M.columns.length>0?` (${U(M,F)})`:""}function U(M,F){return M.columns.map(se=>le(se,F)).join(", ")}function B(M,F){return`${N(M)}${d(M)}${g(M)}`}function N(M,F){return M.delete!==null?` ON DELETE ${M.delete}`:""}function d(M,F){return M.update!==null?` ON UPDATE ${M.update}`:""}function g(M,F){return M.match!==null?` MATCH ${M.match}`:""}function x(M,F){return M!==null?` ${M.not?"NOT ":""}DEFERRABLE${M.initially!==null?` INITIALLY ${M.initially}`:""}`:""}function j(M,F){return M.name!==null?`CONSTRAINT ${le(M.name,F)} `:""}function Q(M,F){return`CREATE${G(M)} INDEX${K(M)} ${ee(M,F)}${b(M,F)} on ${v(M,F)} (${z(M,F)})${W(M)}`}function G(M,F){return M.unique?" UNIQUE":""}function K(M,F){return M.exists?" IF NOT EXISTS":""}function ee(M,F){return M.schema!==null?`${le(M.schema,F)}.`:""}function b(M,F){return le(M.index,F)}function v(M,F){return le(M.table,F)}function W(M,F){return M.where!==null?` where ${re(M.where)}`:""}function z(M,F){return M.columns.map(se=>se.expression?Te(se):ae(se,F)).join(", ")}function ae(M,F){return`${le(M.name,F)}${k(M)}${J(M)}`}function Te(M,F){return`${te(M.name)}${k(M)}${J(M)}`}function k(M,F){return M.collation!==null?` COLLATE ${M.collation}`:""}function J(M,F){return M.order!==null?` ${M.order}`:""}function te(M,F){return re(M)}function re(M,F){return M.reduce((se,ne)=>Array.isArray(ne)?`${se}(${re(ne)})`:se?`${se} ${ne}`:ne,"")}function le(M,F){return F(M)}return ET={compileCreateTable:e,compileCreateIndex:t},ET}var aT,fI;function dD(){if(fI)return aT;fI=1;function e(r,n){return r.toLowerCase()===n.toLowerCase()}function t(r,n){return r.some(s=>e(s,n))}return aT={isEqualId:e,includesId:t},aT}var TT,pI;function LD(){if(pI)return TT;pI=1;const e=De(),{nanonum:t}=El(),{copyData:r,dropOriginal:n,renameTable:s,getTableSql:T,isForeignCheckEnabled:E,setForeignCheck:i,executeForeignCheck:l}=hD(),{parseCreateTable:o,parseCreateIndex:u}=fD(),{compileCreateTable:a,compileCreateIndex:R}=pD(),{isEqualId:A,includesId:I}=dD();class h{constructor(S,O,C,f){this.client=S,this.tableCompiler=O,this.pragma=C,this.tableNameRaw=this.tableCompiler.tableNameRaw,this.alteredName=`_knex_temp_alter${t(3)}`,this.connection=f,this.formatter=p=>this.client.customWrapIdentifier(p,e),this.wrap=p=>this.client.wrapIdentifierImpl(p)}tableName(){return this.formatter(this.tableNameRaw)}getTableSql(){const S=this.tableName();return this.client.transaction(async O=>{O.disableProcessing();const C=await O.raw(T(S));return O.enableProcessing(),{createTable:C.filter(f=>f.type==="table")[0].sql,createIndices:C.filter(f=>f.type==="index").map(f=>f.sql)}},{connection:this.connection})}async isForeignCheckEnabled(){return(await this.client.raw(E()).connection(this.connection))[0].foreign_keys===1}async setForeignCheck(S){await this.client.raw(i(S)).connection(this.connection)}renameTable(S){return S.raw(s(this.alteredName,this.tableName()))}dropOriginal(S){return S.raw(n(this.tableName()))}copyData(S,O){return S.raw(r(this.tableName(),this.alteredName,O))}async alterColumn(S){const{createTable:O,createIndices:C}=await this.getTableSql(),f=o(O);f.table=this.alteredName,f.columns=f.columns.map(L=>{const P=S.find(D=>A(D.name,L.name));return P&&(L.type=P.type,L.constraints.default=P.defaultTo!==null?{name:null,value:P.defaultTo,expression:!1}:null,L.constraints.notnull=P.notNull?{name:null,conflict:null}:null,L.constraints.null=P.notNull?null:L.constraints.null),L});const p=a(f,this.wrap);return this.generateAlterCommands(p,C)}async dropColumn(S){const{createTable:O,createIndices:C}=await this.getTableSql(),f=o(O);if(f.table=this.alteredName,f.columns=f.columns.filter(D=>D.expression||!I(S,D.name)),f.columns.length===0)throw new Error("Unable to drop last column from table");f.constraints=f.constraints.filter(D=>D.type==="PRIMARY KEY"||D.type==="UNIQUE"?D.columns.every(w=>w.expression||!I(S,w.name)):D.type==="FOREIGN KEY"?D.columns.every(w=>!I(S,w))&&(D.references.table!==f.table||D.references.columns.every(w=>!I(S,w))):!0);const p=f.columns.map(D=>D.name),L=a(f,this.wrap),P=[];for(const D of C){const w=u(D);w.columns=w.columns.filter(_=>_.expression||!I(S,_.name)),w.columns.length>0&&P.push(R(w,this.wrap))}return this.alter(L,P,p)}async dropForeign(S,O){const{createTable:C,createIndices:f}=await this.getTableSql(),p=o(C);p.table=this.alteredName,O||(p.columns=p.columns.map(P=>({...P,references:I(S,P.name)?null:P.references}))),p.constraints=p.constraints.filter(P=>P.type==="FOREIGN KEY"?O?!P.name||!A(P.name,O):P.columns.every(D=>!I(S,D)):!0);const L=a(p,this.wrap);return this.alter(L,f)}async dropPrimary(S){const{createTable:O,createIndices:C}=await this.getTableSql(),f=o(O);f.table=this.alteredName,f.columns=f.columns.map(L=>({...L,primary:null})),f.constraints=f.constraints.filter(L=>L.type==="PRIMARY KEY"?S?!L.name||!A(L.name,S):!1:!0);const p=a(f,this.wrap);return this.alter(p,C)}async primary(S,O){const{createTable:C,createIndices:f}=await this.getTableSql(),p=o(C);p.table=this.alteredName,p.columns=p.columns.map(P=>({...P,primary:null})),p.constraints=p.constraints.filter(P=>P.type!=="PRIMARY KEY"),p.constraints.push({type:"PRIMARY KEY",name:O||null,columns:S.map(P=>({name:P,expression:!1,collation:null,order:null})),conflict:null});const L=a(p,this.wrap);return this.alter(L,f)}async foreign(S){const{createTable:O,createIndices:C}=await this.getTableSql(),f=o(O);f.table=this.alteredName,f.constraints.push({type:"FOREIGN KEY",name:S.keyName||null,columns:S.column,references:{table:S.inTable,columns:S.references,delete:S.onDelete||null,update:S.onUpdate||null,match:null,deferrable:null}});const p=a(f,this.wrap);return this.generateAlterCommands(p,C)}async setNullable(S,O){const{createTable:C,createIndices:f}=await this.getTableSql(),p=o(C);p.table=this.alteredName;const L=p.columns.find(D=>A(S,D.name));if(!L)throw new Error(`.setNullable: Column ${S} does not exist in table ${this.tableName()}.`);L.constraints.notnull=O?null:{name:null,conflict:null},L.constraints.null=O?L.constraints.null:null;const P=a(p,this.wrap);return this.generateAlterCommands(P,f)}async alter(S,O,C){const f=await this.isForeignCheckEnabled();f&&await this.setForeignCheck(!1);try{await this.client.transaction(async p=>{await p.raw(S),await this.copyData(p,C),await this.dropOriginal(p),await this.renameTable(p);for(const L of O)await p.raw(L);if(f&&(await p.raw(l())).length>0)throw new Error("FOREIGN KEY constraint failed")},{connection:this.connection})}finally{f&&await this.setForeignCheck(!0)}}async generateAlterCommands(S,O,C){const f=[],p=[],L=[];let P=null;f.push(S),f.push(r(this.tableName(),this.alteredName,C)),f.push(n(this.tableName())),f.push(s(this.alteredName,this.tableName()));for(const w of O)f.push(w);return await this.isForeignCheckEnabled()&&(p.push(i(!1)),L.push(i(!0)),P=l()),{pre:p,sql:f,check:P,post:L}}}return TT=h,TT}var uT,dI;function mD(){if(dI)return uT;dI=1;const e=Fe();return uT=class extends e{withMaterialized(r,n,s){return this._validateWithArgs(r,n,s,"with"),this.withWrapped(r,n,s,!0)}withNotMaterialized(r,n,s){return this._validateWithArgs(r,n,s,"with"),this.withWrapped(r,n,s,!1)}},uT}var lT,LI;function SC(){if(LI)return lT;LI=1;const e=H_(),t=it(),{promisify:r}=Ye(),n=Et(),s=_t(),T=uD(),E=lD(),i=cD(),l=SD(),o=ND(),u=ID(),a=LD(),R=Lr(),A=mD();class I extends n{constructor(c){super(c),c.connection&&c.connection.filename===void 0&&this.logger.warn("Could not find `connection.filename` in config. Please specify the database path and name to avoid errors. (see docs https://knexjs.org/guide/#configuration-options)"),c.useNullAsDefault===void 0&&this.logger.warn("sqlite does not support inserting default values. Set the `useNullAsDefault` flag to hide this warning. (see docs https://knexjs.org/guide/query-builder.html#insert).")}_driver(){return Ie}schemaCompiler(){return new i(this,...arguments)}transaction(){return new T(this,...arguments)}queryCompiler(c,S){return new E(this,c,S)}queryBuilder(){return new A(this)}viewCompiler(c,S){return new u(this,c,S)}columnCompiler(){return new l(this,...arguments)}tableCompiler(){return new o(this,...arguments)}ddl(c,S,O){return new a(this,c,S,O)}wrapIdentifierImpl(c){return c!=="*"?`\`${c.replace(/`/g,"``")}\``:"*"}acquireRawConnection(){return new Promise((c,S)=>{let O=this.driver.OPEN_READWRITE|this.driver.OPEN_CREATE;if(this.connectionSettings.flags){if(!Array.isArray(this.connectionSettings.flags))throw new Error("flags must be an array of strings");this.connectionSettings.flags.forEach(f=>{if(!f.startsWith("OPEN_")||!this.driver[f])throw new Error(`flag ${f} not supported by node-sqlite3`);O=O|this.driver[f]})}const C=new this.driver.Database(this.connectionSettings.filename,O,f=>{if(f)return S(f);c(C)})})}async destroyRawConnection(c){return r(O=>c.close(O))()}_query(c,S){if(!S.sql)throw new Error("The query is empty");const{method:O}=S;let C;switch(O){case"insert":case"update":C=S.returning?"all":"run";break;case"counter":case"del":C="run";break;default:C="all"}return new Promise(function(f,p){if(!c||!c[C])return p(new Error(`Error calling ${C} on connection.`));c[C](S.sql,S.bindings,function(L,P){return L?p(L):(S.response=P,S.context=this,f(S))})})}_stream(c,S,O){if(!S.sql)throw new Error("The query is empty");const C=this;return new Promise(function(f,p){return O.on("error",p),O.on("end",f),C._query(c,S).then(L=>L.response).then(L=>L.forEach(P=>O.write(P))).catch(function(L){O.emit("error",L)}).then(function(){O.end()})})}processResponse(c,S){const O=c.context,{response:C,returning:f}=c;if(c.output)return c.output.call(S,C);switch(c.method){case"select":return C;case"first":return C[0];case"pluck":return t(C,c.pluck);case"insert":return f&&C?C:[O.lastID];case"update":return f&&C?C:O.changes;case"del":case"counter":return O.changes;default:return C}}poolDefaults(){return e({min:1,max:1},super.poolDefaults())}formatter(c){return new R(this,c)}values(c,S,O){return Array.isArray(c)?Array.isArray(c[0])?`( values ${c.map(C=>`(${this.parameterize(C,void 0,S,O)})`).join(", ")})`:`(${this.parameterize(c,void 0,S,O)})`:c instanceof s?`(${this.parameter(c,S,O)})`:this.parameter(c,S,O)}}return Object.assign(I.prototype,{dialect:"sqlite3",driverName:"sqlite3"}),lT=I,lT}var RT,mI;function PD(){if(mI)return RT;mI=1;const e=SC();class t extends e{_driver(){return Ie}async acquireRawConnection(){const n=this.connectionSettings.options||{};return new this.driver(this.connectionSettings.filename,{nativeBinding:n.nativeBinding,readonly:!!n.readonly})}async destroyRawConnection(n){return n.close()}async _query(n,s){if(!s.sql)throw new Error("The query is empty");if(!n)throw new Error("No connection provided");const T=n.prepare(s.sql),E=this._formatBindings(s.bindings);if(T.reader){const l=await T.all(E);return s.response=l,s}const i=await T.run(E);return s.response=i,s.context={lastID:i.lastInsertRowid,changes:i.changes},s}_formatBindings(n){return n?n.map(s=>s instanceof Date?s.valueOf():typeof s=="boolean"?Number(s):s):[]}}return Object.assign(t.prototype,{driverName:"better-sqlite3"}),RT=t,RT}var AT,PI;function OC(){if(PI)return AT;PI=1;const e=Ve();class t extends e{begin(n){const s=[this.isolationLevel?`ISOLATION LEVEL ${this.isolationLevel}`:"",this.readOnly?"READ ONLY":""].join(" ").trim();return s.length===0?this.query(n,"BEGIN;"):this.query(n,`BEGIN TRANSACTION ${s};`)}}return AT=t,AT}var cT,yI;function Tl(){if(yI)return cT;yI=1;const e=De(),t=Bt(),r=st(),{wrapString:n,columnize:s,operator:T,wrap:E}=me();class i extends r{constructor(o,u,a){super(o,u,a),this._defaultInsertValue="default"}truncate(){return`truncate ${this.tableName} restart identity`}insert(){let o=super.insert();if(o==="")return o;const{returning:u,onConflict:a,ignore:R,merge:A,insert:I}=this.single;if(a&&R&&(o+=this._ignore(a)),a&&A){o+=this._merge(A.updates,a,I);const h=this.where();h&&(o+=` ${h}`)}return u&&(o+=this._returning(u)),{sql:o,returning:u}}update(){const o=this.with(),u=this._prepUpdate(this.single.update),a=this.where(),{returning:R,updateFrom:A}=this.single;return{sql:o+`update ${this.single.only?"only ":""}${this.tableName} set ${u.join(", ")}`+this._updateFrom(A)+(a?` ${a}`:"")+this._returning(R),returning:R}}using(){const o=this.single.using;if(!o)return;let u="using ";return Array.isArray(o)?u+=o.map(a=>this.formatter.wrap(a)).join(","):u+=this.formatter.wrap(o),u}del(){const{tableName:o}=this,u=this.with();let a=this.where()||"",R=this.using()||"";const A=this.grouped.join,I=[];if(Array.isArray(A)){for(const S of A){I.push(E(this._joinTable(S),void 0,this.builder,this.client,this.bindingsHolder));const O=[];for(const C of S.clauses)O.push(this.whereBasic({column:C.column,operator:"=",value:C.value,asColumn:!0}));O.length>0&&(a+=(a?" and ":"where ")+O.join(" and "))}I.length>0&&(R+=(R?",":"using ")+I.join(","))}const h=u+`delete from ${this.single.only?"only ":""}${o}`+(R?` ${R}`:"")+(a?` ${a}`:""),{returning:c}=this.single;return{sql:h+this._returning(c),returning:c}}aggregate(o){return this._aggregate(o,{distinctParentheses:!0})}_returning(o){return o?` returning ${this.formatter.columnize(o)}`:""}_updateFrom(o){return o?` from ${this.formatter.wrap(o)}`:""}_ignore(o){return o===!0?" on conflict do nothing":` on conflict ${this._onConflictClause(o)} do nothing`}_merge(o,u,a){let R=` on conflict ${this._onConflictClause(u)} do update set `;if(o&&Array.isArray(o))return R+=o.map(A=>n(A.split(".").pop(),this.formatter.builder,this.client,this.formatter)).map(A=>`${A} = excluded.${A}`).join(", "),R;if(o&&typeof o=="object"){const A=this._prepUpdate(o);return typeof A=="string"?R+=A:R+=A.join(","),R}else{const A=this._prepInsert(a);if(typeof A=="string")throw new Error("If using merge with a raw insert query, then updates must be provided");return R+=A.columns.map(I=>n(I.split(".").pop(),this.builder,this.client)).map(I=>`${I} = excluded.${I}`).join(", "),R}}_tableNames(o){const u=this.single.schema,a=[];for(let R=0;R<o.length;R++){let A=o[R];A&&(u&&(A=`${u}.${A}`),a.push(this.formatter.wrap(A)))}return a.join(", ")}_lockingClause(o){const u=this.single.lockTables||[];return o+(u.length?" of "+this._tableNames(u):"")}_groupOrder(o,u){return super._groupOrderNulls(o,u)}forUpdate(){return this._lockingClause("for update")}forShare(){return this._lockingClause("for share")}forNoKeyUpdate(){return this._lockingClause("for no key update")}forKeyShare(){return this._lockingClause("for key share")}skipLocked(){return"skip locked"}noWait(){return"nowait"}columnInfo(){const o=this.single.columnInfo;let u=this.single.schema;const a=this.client.customWrapIdentifier(this.single.table,e);u&&(u=this.client.customWrapIdentifier(u,e));const R="select * from information_schema.columns where table_name = ? and table_catalog = current_database()",A=[a];return this._buildColumnInfoQuery(u,R,A,o)}_buildColumnInfoQuery(o,u,a,R){return o?(u+=" and table_schema = ?",a.push(o)):u+=" and table_schema = current_schema()",{sql:u,bindings:a,output(A){const I=t(A.rows,function(h,c){return h[c.column_name]={type:c.data_type,maxLength:c.character_maximum_length,nullable:c.is_nullable==="YES",defaultValue:c.column_default},h},{});return R&&I[R]||I}}}distinctOn(o){return"distinct on ("+this.formatter.columnize(o)+") "}jsonExtract(o){return this._jsonExtract("jsonb_path_query",o)}jsonSet(o){return this._jsonSet("jsonb_set",Object.assign({},o,{path:this.client.toPathForJson(o.path)}))}jsonInsert(o){return this._jsonSet("jsonb_insert",Object.assign({},o,{path:this.client.toPathForJson(o.path)}))}jsonRemove(o){const u=`${s(o.column,this.builder,this.client,this.bindingsHolder)} #- ${this.client.parameter(this.client.toPathForJson(o.path),this.builder,this.bindingsHolder)}`;return o.alias?this.client.alias(u,this.formatter.wrap(o.alias)):u}whereJsonPath(o){let u="";return!isNaN(o.value)&&parseInt(o.value)?u="::int":!isNaN(o.value)&&parseFloat(o.value)?u="::float":u=" #>> '{}'",`jsonb_path_query_first(${this._columnClause(o)}, ${this.client.parameter(o.jsonPath,this.builder,this.bindingsHolder)})${u} ${T(o.operator,this.builder,this.client,this.bindingsHolder)} ${this._jsonValueClause(o)}`}whereJsonSupersetOf(o){return this._not(o,`${E(o.column,void 0,this.builder,this.client,this.bindingsHolder)} @> ${this._jsonValueClause(o)}`)}whereJsonSubsetOf(o){return this._not(o,`${s(o.column,this.builder,this.client,this.bindingsHolder)} <@ ${this._jsonValueClause(o)}`)}onJsonPathEquals(o){return this._onJsonPathEquals("jsonb_path_query_first",o)}}return cT=i,cT}var ST,DI;function yD(){if(DI)return ST;DI=1;const e=Fe();return ST=class extends e{updateFrom(r){return this._single.updateFrom=r,this}using(r){return this._single.using=r,this}withMaterialized(r,n,s){return this._validateWithArgs(r,n,s,"with"),this.withWrapped(r,n,s,!0)}withNotMaterialized(r,n,s){return this._validateWithArgs(r,n,s,"with"),this.withWrapped(r,n,s,!1)}},ST}var OT,gI;function ul(){if(gI)return OT;gI=1;const e=ot(),{isObject:t}=ce(),{toNumber:r}=Le(),n=new RegExp("(?<!')'(?!')","g");class s extends e{constructor(i,l,o){super(i,l,o),this.modifiers=["nullable","defaultTo","comment"],this._addCheckModifiers()}bit(i){return i.length!==!1?`bit(${i.length})`:"bit"}enu(i,l){l=l||{};const o=l.useNative&&l.existingType?void 0:i.join("', '");if(l.useNative){let u="";const a=l.schemaName||this.tableCompiler.schemaNameRaw;return a&&(u+=`"${a}".`),u+=`"${l.enumName}"`,l.existingType||this.tableCompiler.unshiftQuery(`create type ${u} as enum ('${o}')`),u}return`text check (${this.formatter.wrap(this.args[0])} in ('${o}'))`}decimal(i,l){return i===null?"decimal":`decimal(${r(i,8)}, ${r(l,2)})`}json(i){return i&&this.client.logger.deprecate("json(true)","jsonb()"),T(this.client,i)}jsonb(){return T(this.client,!0)}checkRegex(i,l){return this._check(`${this.formatter.wrap(this.getColumnName())} ~ ${this.client._escapeBinding(i)}`,l)}datetime(i=!1,l){let o;return t(i)?{useTz:o,precision:l}=i:o=!i,o=typeof o=="boolean"?o:!0,l=l!=null?"("+l+")":"",`${o?"timestamptz":"timestamp"}${l}`}timestamp(i=!1,l){return this.datetime(i,l)}comment(i){const l=this.args[0]||this.defaults("columnName"),o=i?`'${i.replace(n,"''")}'`:"NULL";this.pushAdditional(function(){this.pushQuery(`comment on column ${this.tableCompiler.tableName()}.`+this.formatter.wrap(l)+` is ${o}`)},i)}increments(i={primaryKey:!0}){return"serial"+(this.tableCompiler._canBeAddPrimaryKey(i)?" primary key":"")}bigincrements(i={primaryKey:!0}){return"bigserial"+(this.tableCompiler._canBeAddPrimaryKey(i)?" primary key":"")}uuid(i={primaryKey:!1}){return"uuid"+(this.tableCompiler._canBeAddPrimaryKey(i)?" primary key":"")}}s.prototype.bigint="bigint",s.prototype.binary="bytea",s.prototype.bool="boolean",s.prototype.double="double precision",s.prototype.floating="real",s.prototype.smallint="smallint",s.prototype.tinyint="smallint";function T(E,i){return!E.version||E.config.client==="cockroachdb"||E.config.jsonbSupport===!0||parseFloat(E.version)>=9.2?i?"jsonb":"json":"text"}return OT=s,OT}var NT,MI;function ll(){if(MI)return NT;MI=1;const e=Cr(),t=ft(),{isObject:r,isString:n}=ce();class s extends t{constructor(E,i){super(E,i)}renameColumn(E,i){return this.pushQuery({sql:`alter table ${this.tableName()} rename ${this.formatter.wrap(E)} to ${this.formatter.wrap(i)}`})}_setNullableState(E,i){const l=i?"drop not null":"set not null",o=`alter table ${this.tableName()} alter column ${this.formatter.wrap(E)} ${l}`;return this.pushQuery({sql:o})}compileAdd(E){const i=this.formatter.wrap(E),l=this.prefixArray("add column",this.getColumns(E));return this.pushQuery({sql:`alter table ${i} ${l.join(", ")}`})}createQuery(E,i,l){const o=i?"create table if not exists ":"create table ",u=` (${E.sql.join(", ")}${this.primaryKeys()||""}${this._addChecks()})`;let a=o+this.tableName()+(l&&this.tableNameLike()?" (like "+this.tableNameLike()+" including all"+(E.sql.length?", "+E.sql.join(", "):"")+")":u);this.single.inherits&&(a+=` inherits (${this.formatter.wrap(this.single.inherits)})`),this.pushQuery({sql:a,bindings:E.bindings}),e(this.single,"comment")&&this.comment(this.single.comment)}primaryKeys(){const E=(this.grouped.alterTable||[]).filter(i=>i.method==="primary");if(E.length>0&&E[0].args.length>0){const i=E[0].args[0];let l=E[0].args[1]||"",o;return r(l)&&({constraintName:l,deferrable:o}=l),o=o?` deferrable initially ${o}`:"",l=l?this.formatter.wrap(l):this.formatter.wrap(`${this.tableNameRaw}_pkey`),`, constraint ${l} primary key (${this.formatter.columnize(i)})${o}`}}addColumns(E,i,l){if(i===this.alterColumnsPrefix)for(const o of l)this._addColumn(o);else super.addColumns(E,i)}_addColumn(E){const i=this.tableName(),l=E.getColumnType(),o=this.client.wrapIdentifier(E.getColumnName(),E.columnBuilder.queryContext()),u=E.type==="enu";this.pushQuery({sql:`alter table ${i} alter column ${o} drop default`,bindings:[]});const a=E.columnBuilder.alterNullable;a&&this.pushQuery({sql:`alter table ${i} alter column ${o} drop not null`,bindings:[]}),E.columnBuilder.alterType&&this.pushQuery({sql:`alter table ${i} alter column ${o} type ${l} using (${o}${u?"::text::":"::"}${l})`,bindings:[]});const A=E.modified.defaultTo;if(A){const I=E.defaultTo.apply(E,A);this.pushQuery({sql:`alter table ${i} alter column ${o} set ${I}`,bindings:[]})}if(a){const I=E.modified.nullable;I&&I[0]===!1&&this.pushQuery({sql:`alter table ${i} alter column ${o} set not null`,bindings:[]})}}comment(E){this.pushQuery(`comment on table ${this.tableName()} is '${this.single.comment}'`)}primary(E,i){let l;r(i)&&({constraintName:i,deferrable:l}=i),l=l?` deferrable initially ${l}`:"",i=i?this.formatter.wrap(i):this.formatter.wrap(`${this.tableNameRaw}_pkey`),this.method!=="create"&&this.method!=="createIfNot"&&this.pushQuery(`alter table ${this.tableName()} add constraint ${i} primary key (${this.formatter.columnize(E)})${l}`)}unique(E,i){let l,o=!0,u;if(r(i)&&({indexName:i,deferrable:l,useConstraint:o,predicate:u}=i,o===void 0&&(o=!!l||!u)),!o&&l&&l!=="not deferrable")throw new Error("postgres cannot create deferrable index");if(o&&u)throw new Error("postgres cannot create constraint with predicate");if(l=l?` deferrable initially ${l}`:"",i=i?this.formatter.wrap(i):this._indexCommand("unique",this.tableNameRaw,E),o)this.pushQuery(`alter table ${this.tableName()} add constraint ${i} unique (`+this.formatter.columnize(E)+")"+l);else{const a=u?" "+this.client.queryCompiler(u).where():"";this.pushQuery(`create unique index ${i} on ${this.tableName()} (${this.formatter.columnize(E)})${a}`)}}index(E,i,l){i=i?this.formatter.wrap(i):this._indexCommand("index",this.tableNameRaw,E);let o,u,a;n(l)?u=l:r(l)&&({indexType:a,storageEngineIndexType:u,predicate:o}=l);const R=o?" "+this.client.queryCompiler(o).where():"";this.pushQuery(`create${typeof a=="string"&&a.toLowerCase()==="unique"?" unique":""} index ${i} on ${this.tableName()}${u&&` using ${u}`||""} (`+this.formatter.columnize(E)+`)${R}`)}dropPrimary(E){E=E?this.formatter.wrap(E):this.formatter.wrap(this.tableNameRaw+"_pkey"),this.pushQuery(`alter table ${this.tableName()} drop constraint ${E}`)}dropIndex(E,i){i=i?this.formatter.wrap(i):this._indexCommand("index",this.tableNameRaw,E),i=this.schemaNameRaw?`${this.formatter.wrap(this.schemaNameRaw)}.${i}`:i,this.pushQuery(`drop index ${i}`)}dropUnique(E,i){i=i?this.formatter.wrap(i):this._indexCommand("unique",this.tableNameRaw,E),this.pushQuery(`alter table ${this.tableName()} drop constraint ${i}`)}dropForeign(E,i){i=i?this.formatter.wrap(i):this._indexCommand("foreign",this.tableNameRaw,E),this.pushQuery(`alter table ${this.tableName()} drop constraint ${i}`)}}return NT=s,NT}var IT,UI;function Rl(){if(UI)return IT;UI=1;const e=pt();class t extends e{constructor(n,s){super(n,s)}renameColumn(n,s){return this.pushQuery({sql:`alter view ${this.viewName()} rename ${this.formatter.wrap(n)} to ${this.formatter.wrap(s)}`})}defaultTo(n,s){return this.pushQuery({sql:`alter view ${this.viewName()} alter ${this.formatter.wrap(n)} set default ${s}`})}createOrReplace(){this.createQuery(this.columns,this.selectQuery,!1,!0)}createMaterializedView(){this.createQuery(this.columns,this.selectQuery,!0)}}return IT=t,IT}var hT,bI;function DD(){if(bI)return hT;bI=1;const e=Ft();class t extends e{constructor(){super(...arguments)}checkOption(){this._single.checkOption="default_option"}localCheckOption(){this._single.checkOption="local"}cascadedCheckOption(){this._single.checkOption="cascaded"}}return hT=t,hT}var _T,wI;function NC(){if(wI)return _T;wI=1;const e=Ct();class t extends e{constructor(n,s){super(n,s)}hasTable(n){let s="select * from information_schema.tables where table_name = ?";const T=[n];this.schema?(s+=" and table_schema = ?",T.push(this.schema)):s+=" and table_schema = current_schema()",this.pushQuery({sql:s,bindings:T,output(E){return E.rows.length>0}})}hasColumn(n,s){let T="select * from information_schema.columns where table_name = ? and column_name = ?";const E=[n,s];this.schema?(T+=" and table_schema = ?",E.push(this.schema)):T+=" and table_schema = current_schema()",this.pushQuery({sql:T,bindings:E,output(i){return i.rows.length>0}})}qualifiedTableName(n){const s=this.schema?`${this.schema}.${n}`:n;return this.formatter.wrap(s)}renameTable(n,s){this.pushQuery(`alter table ${this.qualifiedTableName(n)} rename to ${this.formatter.wrap(s)}`)}createSchema(n){this.pushQuery(`create schema ${this.formatter.wrap(n)}`)}createSchemaIfNotExists(n){this.pushQuery(`create schema if not exists ${this.formatter.wrap(n)}`)}dropSchema(n,s=!1){this.pushQuery(`drop schema ${this.formatter.wrap(n)}${s?" cascade":""}`)}dropSchemaIfExists(n,s=!1){this.pushQuery(`drop schema if exists ${this.formatter.wrap(n)}${s?" cascade":""}`)}dropExtension(n){this.pushQuery(`drop extension ${this.formatter.wrap(n)}`)}dropExtensionIfExists(n){this.pushQuery(`drop extension if exists ${this.formatter.wrap(n)}`)}createExtension(n){this.pushQuery(`create extension ${this.formatter.wrap(n)}`)}createExtensionIfNotExists(n){this.pushQuery(`create extension if not exists ${this.formatter.wrap(n)}`)}renameView(n,s){this.pushQuery(this.alterViewPrefix+`${this.formatter.wrap(n)} rename to ${this.formatter.wrap(s)}`)}refreshMaterializedView(n,s=!1){this.pushQuery({sql:`refresh materialized view${s?" concurrently":""} ${this.formatter.wrap(n)}`})}dropMaterializedView(n){this._dropView(n,!1,!0)}dropMaterializedViewIfExists(n){this._dropView(n,!0,!0)}}return _T=t,_T}var CT,GI;function mr(){if(GI)return CT;GI=1;const e=pr(),t=it(),{promisify:r}=Ye(),n=Et(),s=OC(),T=Tl(),E=yD(),i=ul(),l=ll(),o=Rl(),u=DD(),a=NC(),{makeEscape:R}=qu(),{isString:A}=ce();class I extends n{constructor(S){super(S),S.returning&&(this.defaultReturning=S.returning),S.searchPath&&(this.searchPath=S.searchPath)}transaction(){return new s(this,...arguments)}queryBuilder(){return new E(this)}queryCompiler(S,O){return new T(this,S,O)}columnCompiler(){return new i(this,...arguments)}schemaCompiler(){return new a(this,...arguments)}tableCompiler(){return new l(this,...arguments)}viewCompiler(){return new o(this,...arguments)}viewBuilder(){return new u(this,...arguments)}_driver(){return Ie}wrapIdentifierImpl(S){if(S==="*")return S;let O="";const C=S.match(/(.*?)(\[[0-9]+\])/);return C&&(S=C[1],O=C[2]),`"${S.replace(/"/g,'""')}"${O}`}_acquireOnlyConnection(){const S=new this.driver.Client(this.connectionSettings);return S.on("error",O=>{S.__knex__disposed=O}),S.on("end",O=>{S.__knex__disposed=O||"Connection ended unexpectedly"}),S.connect().then(()=>S)}acquireRawConnection(){const S=this;return this._acquireOnlyConnection().then(function(O){return S.version?O:S.checkVersion(O).then(function(C){return S.version=C,O})}).then(async function(C){return await S.setSchemaSearchPath(C),C})}async destroyRawConnection(S){return r(C=>S.end(C))()}checkVersion(S){return new Promise((O,C)=>{S.query("select version();",(f,p)=>{if(f)return C(f);O(this._parseVersion(p.rows[0].version))})})}_parseVersion(S){return/^PostgreSQL (.*?)( |$)/.exec(S)[1]}positionBindings(S){let O=0;return S.replace(/(\\*)(\?)/g,function(C,f){return f.length%2?"?":(O++,`$${O}`)})}setSchemaSearchPath(S,O){let C=O||this.searchPath;if(!C)return Promise.resolve(!0);if(!Array.isArray(C)&&!A(C))throw new TypeError(`knex: Expected searchPath to be Array/String, got: ${typeof C}`);if(A(C)){if(C.includes(",")){const p=`[${C.split(",").map(L=>`'${L}'`).join(", ")}]`;this.logger.warn(`Detected comma in searchPath "${C}".If you are trying to specify multiple schemas, use Array syntax: ${p}`)}C=[C]}return C=C.map(f=>`"${f}"`).join(","),new Promise(function(f,p){S.query(`set search_path to ${C}`,function(L){if(L)return p(L);f(!0)})})}_stream(S,O,C,f){if(!O.sql)throw new Error("The query is empty");const p=void 0,L=O.sql;return new Promise(function(P,D){const w=S.query(new p(L,O.bindings,f),_=>{D(_)});w.on("error",function(_){D(_),C.emit("error",_)}),C.on("end",P),w.pipe(C)})}_query(S,O){if(!O.sql)throw new Error("The query is empty");let C={text:O.sql,values:O.bindings||[]};return O.options&&(C=e(C,O.options)),new Promise(function(f,p){S.query(C,function(L,P){if(L)return p(L);O.response=P,f(O)})})}processResponse(S,O){const C=S.response;if(S.output)return S.output.call(O,C);if(S.method==="raw")return C;const{returning:f}=S;if(C.command==="SELECT")return S.method==="first"?C.rows[0]:S.method==="pluck"?t(C.rows,S.pluck):C.rows;if(f){const p=[];for(let L=0,P=C.rows.length;L<P;L++){const D=C.rows[L];p[L]=D}return p}return C.command==="UPDATE"||C.command==="DELETE"?C.rowCount:C}async cancelQuery(S){const O=await this.acquireRawConnection();try{return await this._wrappedCancelQueryCall(O,S)}finally{await this.destroyRawConnection(O).catch(C=>{this.logger.warn(`Connection Error: ${C}`)})}}_wrappedCancelQueryCall(S,O){return this._query(S,{sql:"SELECT pg_cancel_backend($1);",bindings:[O.processID],options:{}})}toPathForJson(S){const O=/^{.*}$/;return S.match(O)?S:"{"+S.replace(/^(\$\.)/,"").replace(".",",").replace(/\[([0-9]+)]/,",$1")+"}"}}Object.assign(I.prototype,{dialect:"postgresql",driverName:"pg",canCancelQuery:!0,_escapeBinding:R({escapeArray(c,S){return S(h(c,S))},escapeString(c){let S=!1,O="'";for(let C=0;C<c.length;C++){const f=c[C];f==="'"?O+=f+f:f==="\\"?(O+=f+f,S=!0):O+=f}return O+="'",S===!0&&(O="E"+O),O},escapeObject(c,S,O,C=[]){if(c&&typeof c.toPostgres=="function"){if(C=C||[],C.indexOf(c)!==-1)throw new Error(`circular reference detected while preparing "${c}" for query`);return C.push(c),S(c.toPostgres(S),C)}return JSON.stringify(c)}})});function h(c,S){let O="{";for(let C=0;C<c.length;C++){C>0&&(O+=",");const f=c[C];f===null||typeof f>"u"?O+="NULL":Array.isArray(f)?O+=h(f,S):typeof f=="number"?O+=f:O+=JSON.stringify(typeof f=="string"?f:S(f))}return O+"}"}return CT=I,CT}var fT,vI;function gD(){if(vI)return fT;vI=1;const e=Tl(),{columnize:t,wrap:r,operator:n}=me();class s extends e{truncate(){return`truncate ${this.tableName}`}upsert(){let E=this._upsert();if(E==="")return E;const{returning:i}=this.single;return i&&(E+=this._returning(i)),{sql:E,returning:i}}_upsert(){const E=this.single.upsert||[],i=this.with()+`upsert into ${this.tableName} `,l=this._insertBody(E);return l===""?"":i+l}_groupOrder(E,i){return this._basicGroupOrder(E,i)}whereJsonPath(E){let i="";return!isNaN(E.value)&&parseInt(E.value)?i="::int":!isNaN(E.value)&&parseFloat(E.value)?i="::float":i=" #>> '{}'",`json_extract_path(${this._columnClause(E)}, ${this.client.toArrayPathFromJsonPath(E.jsonPath,this.builder,this.bindingsHolder)})${i} ${n(E.operator,this.builder,this.client,this.bindingsHolder)} ${this._jsonValueClause(E)}`}_jsonExtract(E,i){let l;return Array.isArray(i.column)?l=i.column:l=[i],l.map(o=>{const u=`json_extract_path(${t(o.column||o[0],this.builder,this.client,this.bindingsHolder)}, ${this.client.toArrayPathFromJsonPath(o.path||o[1],this.builder,this.bindingsHolder)})`,a=o.alias||o[2];return a?this.client.alias(u,this.formatter.wrap(a)):u}).join(", ")}_onJsonPathEquals(E,i){return"json_extract_path("+r(i.columnFirst,void 0,this.builder,this.client,this.bindingsHolder)+", "+this.client.toArrayPathFromJsonPath(i.jsonPathFirst,this.builder,this.bindingsHolder)+") = json_extract_path("+r(i.columnSecond,void 0,this.builder,this.client,this.bindingsHolder)+", "+this.client.toArrayPathFromJsonPath(i.jsonPathSecond,this.builder,this.bindingsHolder)+")"}}return fT=s,fT}var pT,BI;function MD(){if(BI)return pT;BI=1;const e=ul();class t extends e{uuid(n={primaryKey:!1}){return"uuid"+(this.tableCompiler._canBeAddPrimaryKey(n)?" primary key default gen_random_uuid()":"")}}return pT=t,pT}var dT,FI;function UD(){if(FI)return dT;FI=1;const e=ll();class t extends e{constructor(n,s){super(n,s)}addColumns(n,s,T){if(s===this.alterColumnsPrefix)for(const E of T)this.client.logger.warn("Experimental alter column in use, see issue: https://github.com/cockroachdb/cockroach/issues/49329"),this.pushQuery({sql:"SET enable_experimental_alter_column_type_general = true",bindings:[]}),super._addColumn(E);else super.addColumns(n,s)}dropUnique(n,s){s=s?this.formatter.wrap(s):this._indexCommand("unique",this.tableNameRaw,n),this.pushQuery(`drop index ${this.tableName()}@${s} cascade `)}}return dT=t,dT}var LT,HI;function bD(){if(HI)return LT;HI=1;const e=Rl();class t extends e{renameColumn(n,s){throw new Error("rename column of views is not supported by this dialect.")}defaultTo(n,s){throw new Error("change default values of views is not supported by this dialect.")}}return LT=t,LT}var mT,qI;function wD(){if(qI)return mT;qI=1;const e=Fe(),t=ge();return mT=class extends e{upsert(n,s,T){return this._method="upsert",t(s)||this.returning(s,T),this._single.upsert=n,this}},mT}var PT,YI;function GD(){if(YI)return PT;YI=1;const e=mr(),t=OC(),r=gD(),n=MD(),s=UD(),T=bD(),E=wD();class i extends e{transaction(){return new t(this,...arguments)}queryCompiler(o,u){return new r(this,o,u)}columnCompiler(){return new n(this,...arguments)}tableCompiler(){return new s(this,...arguments)}viewCompiler(){return new T(this,...arguments)}queryBuilder(){return new E(this)}_parseVersion(o){return o.split(" ")[2]}async cancelQuery(o){try{return await this._wrappedCancelQueryCall(null,o)}catch(u){throw this.logger.warn(`Connection Error: ${u}`),u}}_wrappedCancelQueryCall(o,u){if(!(u.activeQuery.processID===0&&u.activeQuery.secretKey===0))return u.cancel(u,u.activeQuery)}toArrayPathFromJsonPath(o,u,a){return o.replace(/^(\$\.)/,"").replace(/\[([0-9]+)]/,".$1").split(".").map((function(R){return this.parameter(R,u,a)}).bind(this)).join(", ")}}return Object.assign(i.prototype,{driverName:"cockroachdb"}),PT=i,PT}var yT,$I;function vD(){if($I)return yT;$I=1;function e(t){return t==null}return yT=e,yT}var DT,VI;function BD(){if(VI)return DT;VI=1;const e=Lr();class t extends e{columnizeWithPrefix(n,s){const T=typeof s=="string"?[s]:s;let E="",i=-1;for(;++i<T.length;)i>0&&(E+=", "),E+=n+this.wrap(T[i]);return E}escapingStringDelimiters(n){return(n||"").replace(/'/g,"''")}}return DT=t,DT}var gT,xI;function FD(){if(xI)return gT;xI=1;const e=Ve(),t=be()("knex:tx");class r extends e{begin(i){return t("transaction::begin id=%s",this.txid),new Promise((l,o)=>{i.beginTransaction(u=>{if(u)return t("transaction::begin error id=%s message=%s",this.txid,u.message),o(u);l()},this.outerTx?this.txid:void 0,n(this.isolationLevel))}).then(this._resolver,this._rejecter)}savepoint(i){return t("transaction::savepoint id=%s",this.txid),new Promise((l,o)=>{i.saveTransaction(u=>{if(u)return t("transaction::savepoint id=%s message=%s",this.txid,u.message),o(u);this.trxClient.emit("query",{__knexUid:this.trxClient.__knexUid,__knexTxId:this.trxClient.__knexTxId,autogenerated:!0,sql:this.outerTx?`SAVE TRANSACTION [${this.txid}]`:"SAVE TRANSACTION"}),l()},this.outerTx?this.txid:void 0)})}commit(i,l){return t("transaction::commit id=%s",this.txid),new Promise((o,u)=>{i.commitTransaction(a=>{if(a)return t("transaction::commit error id=%s message=%s",this.txid,a.message),u(a);this._completed=!0,o(l)},this.outerTx?this.txid:void 0)}).then(()=>this._resolver(l),this._rejecter)}release(i,l){return this._resolver(l)}rollback(i,l){return this._completed=!0,t("transaction::rollback id=%s",this.txid),new Promise((o,u)=>{if(!i.inTransaction)return u(l||new Error("Transaction rejected with non-error: undefined"));if(i.state.name!=="LoggedIn")return u(new Error("Can't rollback transaction. There is a request in progress"));i.rollbackTransaction(a=>{a&&t("transaction::rollback error id=%s message=%s",this.txid,a.message),u(a||l||new Error("Transaction rejected with non-error: undefined"))},this.outerTx?this.txid:void 0)}).catch(o=>{if(!l&&this.doNotRejectOnRollback){this._resolver();return}if(l)try{o.originalError=l}catch{}this._rejecter(o)})}rollbackTo(i,l){return this.rollback(i,l).then(()=>void this.trxClient.emit("query",{__knexUid:this.trxClient.__knexUid,__knexTxId:this.trxClient.__knexTxId,autogenerated:!0,sql:"ROLLBACK TRANSACTION"}))}}gT=r;function n(E){if(!E)return;E=E.toUpperCase().replace(" ","_");const i=s[E];if(!i)throw new Error(`Unknown Isolation level, was expecting one of: ${JSON.stringify(T)}`);return i}const s={READ_UNCOMMITTED:1,READ_COMMITTED:2,REPEATABLE_READ:3,SERIALIZABLE:4,SNAPSHOT:5},T=Object.keys(s).map(E=>E.toLowerCase().replace("_"," "));return gT}var MT,WI;function HD(){if(WI)return MT;WI=1;const e=st(),t=al(),r=De(),n=ge(),s=_t(),{columnize:T}=me(),E=["comments","columns","join","lock","where","union","group","having","order","limit","offset"];class i extends e{constructor(o,u,a){super(o,u,a);const{onConflict:R}=this.single;if(R)throw new Error(".onConflict() is not supported for mssql.");this._emptyInsertValue="default values"}with(){const o=[];if(this.grouped.with)for(const a of this.grouped.with)a.recursive&&(o.push(a),a.recursive=!1);const u=super.with();for(const a of o)a.recursive=!0;return u}select(){const o=this.with(),u=E.map(a=>this[a](this));return o+t(u).join(" ")}insert(){return this.single.options&&this.single.options.includeTriggerModifications?this.insertWithTriggers():this.standardInsert()}insertWithTriggers(){const o=this.single.insert||[],{returning:u}=this.single;let a=this.with()+`${this._buildTempTable(u)}insert into ${this.tableName} `;const R=u?this._returning("insert",u,!0)+" ":"";if(Array.isArray(o)){if(o.length===0)return""}else if(typeof o=="object"&&n(o))return{sql:a+R+this._emptyInsertValue+this._buildReturningSelect(u),returning:u};return a+=this._buildInsertData(o,R),u&&(a+=this._buildReturningSelect(u)),{sql:a,returning:u}}_buildInsertData(o,u){let a="";const R=this._prepInsert(o);if(typeof R=="string")a+=R;else if(R.columns.length)a+=`(${this.formatter.columnize(R.columns)}`,a+=`) ${u}values (`+this._buildInsertValues(R)+")";else if(o.length===1&&o[0])a+=u+this._emptyInsertValue;else return"";return a}standardInsert(){const o=this.single.insert||[];let u=this.with()+`insert into ${this.tableName} `;const{returning:a}=this.single,R=a?this._returning("insert",a)+" ":"";if(Array.isArray(o)){if(o.length===0)return""}else if(typeof o=="object"&&n(o))return{sql:u+R+this._emptyInsertValue,returning:a};return u+=this._buildInsertData(o,R),{sql:u,returning:a}}update(){return this.single.options&&this.single.options.includeTriggerModifications?this.updateWithTriggers():this.standardUpdate()}updateWithTriggers(){const o=this.top(),u=this.with(),a=this._prepUpdate(this.single.update),R=this.join(),A=this.where(),I=this.order(),{returning:h}=this.single,c=this._buildTempTable(h);return{sql:u+c+`update ${o?o+" ":""}${this.tableName} set `+a.join(", ")+(h?` ${this._returning("update",h,!0)}`:"")+(R?` from ${this.tableName} ${R}`:"")+(A?` ${A}`:"")+(I?` ${I}`:"")+(h?this._buildReturningSelect(h):this._returning("rowcount","@@rowcount")),returning:h||"@@rowcount"}}_formatGroupsItemValue(o,u){const a=super._formatGroupsItemValue(o);if(u&&!(o instanceof s)){const R=`IIF(${a} is null,`;if(u==="first")return`${R}0,1)`;if(u==="last")return`${R}1,0)`}return a}standardUpdate(){const o=this.top(),u=this.with(),a=this._prepUpdate(this.single.update),R=this.join(),A=this.where(),I=this.order(),{returning:h}=this.single;return{sql:u+`update ${o?o+" ":""}${this.tableName} set `+a.join(", ")+(h?` ${this._returning("update",h)}`:"")+(R?` from ${this.tableName} ${R}`:"")+(A?` ${A}`:"")+(I?` ${I}`:"")+(h?"":this._returning("rowcount","@@rowcount")),returning:h||"@@rowcount"}}del(){return this.single.options&&this.single.options.includeTriggerModifications?this.deleteWithTriggers():this.standardDelete()}deleteWithTriggers(){const o=this.with(),{tableName:u}=this,a=this.where(),R=this.join(),{returning:A}=this.single,I=A?` ${this._returning("del",A,!0)}`:"",h=R?`${u}${I} `:"";return{sql:o+`${this._buildTempTable(A)}delete ${h}from ${u}`+(R?"":I)+(R?` ${R}`:"")+(a?` ${a}`:"")+(A?this._buildReturningSelect(A):this._returning("rowcount","@@rowcount")),returning:A||"@@rowcount"}}standardDelete(){const o=this.with(),{tableName:u}=this,a=this.where(),R=this.join(),{returning:A}=this.single,I=A?` ${this._returning("del",A)}`:"",h=R?`${u}${I} `:"";return{sql:o+`delete ${h}from ${u}`+(R?"":I)+(R?` ${R}`:"")+(a?` ${a}`:"")+(A?"":this._returning("rowcount","@@rowcount")),returning:A||"@@rowcount"}}columns(){let o="";if(this.onlyUnions())return"";const u=this.top(),a=this._hintComments(),R=this.grouped.columns||[];let A=-1,I=[];if(R)for(;++A<R.length;){const c=R[A];if(c.distinct&&(o="distinct "),c.distinctOn){o=this.distinctOn(c.value);continue}c.type==="aggregate"?I.push(...this.aggregate(c)):c.type==="aggregateRaw"?I.push(this.aggregateRaw(c)):c.type==="analytic"?I.push(this.analytic(c)):c.type==="json"?I.push(this.json(c)):c.value&&c.value.length>0&&I.push(this.formatter.columnize(c.value))}return I.length===0&&(I=["*"]),`${this.onlyJson()?"":"select "}${a}${o}`+(u?u+" ":"")+I.join(", ")+(this.tableName?` from ${this.tableName}`:"")}_returning(o,u,a){switch(o){case"update":case"insert":return u?`output ${this.formatter.columnizeWithPrefix("inserted.",u)}${a?" into #out":""}`:"";case"del":return u?`output ${this.formatter.columnizeWithPrefix("deleted.",u)}${a?" into #out":""}`:"";case"rowcount":return u?";select @@rowcount":""}}_buildTempTable(o){if(o&&o.length>0){let u="";Array.isArray(o)?u=o.map(R=>`[t].${this.formatter.columnize(R)}`).join(","):u=`[t].${this.formatter.columnize(o)}`;let a=`select top(0) ${u} into #out `;return a+=`from ${this.tableName} as t `,a+=`left join ${this.tableName} on 0=1;`,a}return""}_buildReturningSelect(o){if(o&&o.length>0){let u="";Array.isArray(o)?u=o.map(R=>`${this.formatter.columnize(R)}`).join(","):u=this.formatter.columnize(o);let a=`; select ${u} from #out; `;return a+="drop table #out;",a}return""}truncate(){return`truncate table ${this.tableName}`}forUpdate(){return"with (UPDLOCK)"}forShare(){return"with (HOLDLOCK)"}columnInfo(){const o=this.single.columnInfo;let u=this.single.schema;const a=this.client.customWrapIdentifier(this.single.table,r);u&&(u=this.client.customWrapIdentifier(u,r));let R="select [COLUMN_NAME], [COLUMN_DEFAULT], [DATA_TYPE], [CHARACTER_MAXIMUM_LENGTH], [IS_NULLABLE] from INFORMATION_SCHEMA.COLUMNS where table_name = ? and table_catalog = ?";const A=[a,this.client.database()];return u?(R+=" and table_schema = ?",A.push(u)):R+=" and table_schema = 'dbo'",{sql:R,bindings:A,output(I){const h=I.reduce((c,S)=>(c[S[0].value]={defaultValue:S[1].value,type:S[2].value,maxLength:S[3].value,nullable:S[4].value==="YES"},c),{});return o&&h[o]||h}}}top(){const o=!this.single.limit&&this.single.limit!==0,u=!this.single.offset;return o||!u?"":`top (${this._getValueOrParameterFromAttribute("limit")})`}limit(){return""}offset(){const o=!this.single.limit&&this.single.limit!==0,u=!this.single.offset;if(u)return"";let a=`offset ${u?"0":this._getValueOrParameterFromAttribute("offset")} rows`;return o||(a+=` fetch next ${this._getValueOrParameterFromAttribute("limit")} rows only`),a}whereLike(o){return`${this._columnClause(o)} collate SQL_Latin1_General_CP1_CS_AS ${this._not(o,"like ")}${this._valueClause(o)}`}whereILike(o){return`${this._columnClause(o)} collate SQL_Latin1_General_CP1_CI_AS ${this._not(o,"like ")}${this._valueClause(o)}`}jsonExtract(o){return this._jsonExtract(o.singleValue?"JSON_VALUE":"JSON_QUERY",o)}jsonSet(o){return this._jsonSet("JSON_MODIFY",o)}jsonInsert(o){return this._jsonSet("JSON_MODIFY",o)}jsonRemove(o){const u=`JSON_MODIFY(${T(o.column,this.builder,this.client,this.bindingsHolder)},${this.client.parameter(o.path,this.builder,this.bindingsHolder)}, NULL)`;return o.alias?this.client.alias(u,this.formatter.wrap(o.alias)):u}whereJsonPath(o){return this._whereJsonPath("JSON_VALUE",o)}whereJsonSupersetOf(o){throw new Error("Json superset where clause not actually supported by MSSQL")}whereJsonSubsetOf(o){throw new Error("Json subset where clause not actually supported by MSSQL")}_getExtracts(o,u){const a=T(o.column,this.builder,this.client,this.bindingsHolder);return(Array.isArray(o.values)?o.values:[o.values]).map(function(R){return"JSON_VALUE("+a+","+this.client.parameter(R,this.builder,this.bindingsHolder)+")"},this).join(u)}onJsonPathEquals(o){return this._onJsonPathEquals("JSON_VALUE",o)}}return MT=i,MT}var UT,XI;function qD(){if(XI)return UT;XI=1;const e=Ct();class t extends e{constructor(s,T){super(s,T)}dropTableIfExists(s){const T=this.formatter.wrap(r(this.schema,s));this.pushQuery(`if object_id('${T}', 'U') is not null DROP TABLE ${T}`)}dropViewIfExists(s){const T=this.formatter.wrap(r(this.schema,s));this.pushQuery(`if object_id('${T}', 'V') is not null DROP VIEW ${T}`)}renameTable(s,T){this.pushQuery(`exec sp_rename ${this.client.parameter(r(this.schema,s),this.builder,this.bindingsHolder)}, ${this.client.parameter(T,this.builder,this.bindingsHolder)}`)}renameView(s,T){this.pushQuery(`exec sp_rename ${this.client.parameter(r(this.schema,s),this.builder,this.bindingsHolder)}, ${this.client.parameter(T,this.builder,this.bindingsHolder)}`)}hasTable(s){const T=this.client.parameter(r(this.schema,s),this.builder,this.bindingsHolder),E=[s];let i=`SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ${T}`;this.schema&&(i+=" AND TABLE_SCHEMA = ?",E.push(this.schema)),this.pushQuery({sql:i,bindings:E,output:l=>l.length>0})}hasColumn(s,T){const E=this.client.parameter(T,this.builder,this.bindingsHolder),i=this.client.parameter(this.formatter.wrap(r(this.schema,s)),this.builder,this.bindingsHolder),l=`select object_id from sys.columns where name = ${E} and object_id = object_id(${i})`;this.pushQuery({sql:l,output:o=>o.length>0})}}t.prototype.dropTablePrefix="DROP TABLE ";function r(n,s){return n?`${n}.${s}`:s}return UT=t,UT}var bT,KI;function YD(){if(KI)return bT;KI=1;const e=ft(),t=Le(),{isObject:r}=ce();class n extends e{constructor(T,E){super(T,E)}createQuery(T,E,i){let l=E?`if object_id('${this.tableName()}', 'U') is null `:"";i?l+=`SELECT * INTO ${this.tableName()} FROM ${this.tableNameLike()} WHERE 0=1`:l+="CREATE TABLE "+this.tableName()+(this._formatting?` (
|
|
182
|
-
`:" (")+T.sql.join(this._formatting?`,
|
|
183
|
-
`:", ")+this._addChecks()+")",this.pushQuery(l),this.single.comment&&this.comment(this.single.comment),i&&this.addColumns(T,this.addColumnsPrefix)}comment(T){if(!T)return;T.length>7500/2&&this.client.logger.warn("Your comment might be longer than the max comment length for MSSQL of 7,500 bytes.");const E=this.formatter.escapingStringDelimiters(T),i=this.formatter.escapingStringDelimiters(this.schemaNameRaw||"dbo"),l=this.formatter.escapingStringDelimiters(this.tableNameRaw),o=`N'MS_Description', N'${E}', N'Schema', N'${i}', N'Table', N'${l}'`,u=`EXISTS(SELECT * FROM sys.fn_listextendedproperty(N'MS_Description', N'Schema', N'${i}', N'Table', N'${l}', NULL, NULL))`;this.pushQuery(`IF ${u}
|
|
184
|
-
EXEC sys.sp_updateextendedproperty ${o}
|
|
185
|
-
ELSE
|
|
186
|
-
EXEC sys.sp_addextendedproperty ${o}`)}addColumns(T,E){E=E||this.addColumnsPrefix,T.sql.length>0&&this.pushQuery({sql:(this.lowerCase?"alter table ":"ALTER TABLE ")+this.tableName()+" "+E+T.sql.join(", "),bindings:T.bindings})}alterColumns(T,E){for(let i=0,l=E.length;i<l;i++){const o=E[i];if(o.modified.defaultTo){const a=`
|
|
187
|
-
DECLARE @constraint varchar(100) = (SELECT default_constraints.name
|
|
188
|
-
FROM sys.all_columns
|
|
189
|
-
INNER JOIN sys.tables
|
|
190
|
-
ON all_columns.object_id = tables.object_id
|
|
191
|
-
INNER JOIN sys.schemas
|
|
192
|
-
ON tables.schema_id = schemas.schema_id
|
|
193
|
-
INNER JOIN sys.default_constraints
|
|
194
|
-
ON all_columns.default_object_id = default_constraints.object_id
|
|
195
|
-
WHERE schemas.name = '${this.schemaNameRaw||"dbo"}'
|
|
196
|
-
AND tables.name = '${this.tableNameRaw}'
|
|
197
|
-
AND all_columns.name = '${o.getColumnName()}')
|
|
198
|
-
|
|
199
|
-
IF @constraint IS NOT NULL EXEC('ALTER TABLE ${this.tableNameRaw} DROP CONSTRAINT ' + @constraint)`;this.pushQuery(a)}}T.sql.forEach(i=>{this.pushQuery({sql:(this.lowerCase?"alter table ":"ALTER TABLE ")+this.tableName()+" "+(this.lowerCase?this.alterColumnPrefix.toLowerCase():this.alterColumnPrefix)+i,bindings:T.bindings})})}dropColumn(){const T=this,E=t.normalizeArr.apply(null,arguments),l=(Array.isArray(E)?E:[E]).map(u=>T.formatter.wrap(u)),o=this.schemaNameRaw||"dbo";for(const u of E){const a=`
|
|
200
|
-
DECLARE @constraint varchar(100) = (SELECT default_constraints.name
|
|
201
|
-
FROM sys.all_columns
|
|
202
|
-
INNER JOIN sys.tables
|
|
203
|
-
ON all_columns.object_id = tables.object_id
|
|
204
|
-
INNER JOIN sys.schemas
|
|
205
|
-
ON tables.schema_id = schemas.schema_id
|
|
206
|
-
INNER JOIN sys.default_constraints
|
|
207
|
-
ON all_columns.default_object_id = default_constraints.object_id
|
|
208
|
-
WHERE schemas.name = '${o}'
|
|
209
|
-
AND tables.name = '${this.tableNameRaw}'
|
|
210
|
-
AND all_columns.name = '${u}')
|
|
211
|
-
|
|
212
|
-
IF @constraint IS NOT NULL EXEC('ALTER TABLE ${this.tableNameRaw} DROP CONSTRAINT ' + @constraint)`;this.pushQuery(a)}this.pushQuery((this.lowerCase?"alter table ":"ALTER TABLE ")+this.tableName()+" "+this.dropColumnPrefix+l.join(", "))}changeType(){}renameColumn(T,E){this.pushQuery(`exec sp_rename ${this.client.parameter(this.tableName()+"."+T,this.tableBuilder,this.bindingsHolder)}, ${this.client.parameter(E,this.tableBuilder,this.bindingsHolder)}, 'COLUMN'`)}dropFKRefs(T,E){const i=this.client.formatter(this.tableBuilder);return Promise.all(E.map(function(l){const o=i.wrap(l.CONSTRAINT_NAME),u=i.wrap(l.TABLE_NAME);return T.query({sql:`ALTER TABLE ${u} DROP CONSTRAINT ${o}`})}))}createFKRefs(T,E){const i=this.client.formatter(this.tableBuilder);return Promise.all(E.map(function(l){const o=i.wrap(l.TABLE_NAME),u=i.wrap(l.CONSTRAINT_NAME),a=i.columnize(l.COLUMN_NAME),R=i.columnize(l.REFERENCED_COLUMN_NAME),A=i.wrap(l.REFERENCED_TABLE_NAME),I=` ON UPDATE ${l.UPDATE_RULE}`,h=` ON DELETE ${l.DELETE_RULE}`;return T.query({sql:`ALTER TABLE ${o} ADD CONSTRAINT ${u} FOREIGN KEY (`+a+") REFERENCES "+A+" ("+R+")"+I+h})}))}index(T,E,i){E=E?this.formatter.wrap(E):this._indexCommand("index",this.tableNameRaw,T);let l;r(i)&&({predicate:l}=i);const o=l?" "+this.client.queryCompiler(l).where():"";this.pushQuery(`CREATE INDEX ${E} ON ${this.tableName()} (${this.formatter.columnize(T)})${o}`)}primary(T,E){let i;r(E)&&({constraintName:E,deferrable:i}=E),i&&i!=="not deferrable"&&this.client.logger.warn(`mssql: primary key constraint [${E}] will not be deferrable ${i} because mssql does not support deferred constraints.`),E=E?this.formatter.wrap(E):this.formatter.wrap(`${this.tableNameRaw}_pkey`),this.forCreate?this.pushQuery(`CONSTRAINT ${E} PRIMARY KEY (${this.formatter.columnize(T)})`):this.pushQuery(`ALTER TABLE ${this.tableName()} ADD CONSTRAINT ${E} PRIMARY KEY (${this.formatter.columnize(T)})`)}unique(T,E){let i,l=!1,o;if(r(E)&&({indexName:E,deferrable:i,useConstraint:l,predicate:o}=E),i&&i!=="not deferrable"&&this.client.logger.warn(`mssql: unique index [${E}] will not be deferrable ${i} because mssql does not support deferred constraints.`),l&&o)throw new Error("mssql cannot create constraint with predicate");if(E=E?this.formatter.wrap(E):this._indexCommand("unique",this.tableNameRaw,T),Array.isArray(T)||(T=[T]),l)this.pushQuery(`ALTER TABLE ${this.tableName()} ADD CONSTRAINT ${E} UNIQUE (${this.formatter.columnize(T)})`);else{const u=o?" "+this.client.queryCompiler(o).where():" WHERE "+T.map(a=>this.formatter.columnize(a)+" IS NOT NULL").join(" AND ");this.pushQuery(`CREATE UNIQUE INDEX ${E} ON ${this.tableName()} (${this.formatter.columnize(T)})${u}`)}}dropIndex(T,E){E=E?this.formatter.wrap(E):this._indexCommand("index",this.tableNameRaw,T),this.pushQuery(`DROP INDEX ${E} ON ${this.tableName()}`)}dropForeign(T,E){E=E?this.formatter.wrap(E):this._indexCommand("foreign",this.tableNameRaw,T),this.pushQuery(`ALTER TABLE ${this.tableName()} DROP CONSTRAINT ${E}`)}dropPrimary(T){T=T?this.formatter.wrap(T):this.formatter.wrap(`${this.tableNameRaw}_pkey`),this.pushQuery(`ALTER TABLE ${this.tableName()} DROP CONSTRAINT ${T}`)}dropUnique(T,E){E=E?this.formatter.wrap(E):this._indexCommand("unique",this.tableNameRaw,T),this.pushQuery(`DROP INDEX ${E} ON ${this.tableName()}`)}}return n.prototype.createAlterTableMethods=["foreign","primary"],n.prototype.lowerCase=!1,n.prototype.addColumnsPrefix="ADD ",n.prototype.dropColumnPrefix="DROP COLUMN ",n.prototype.alterColumnPrefix="ALTER COLUMN ",bT=n,bT}var wT,jI;function $D(){if(jI)return wT;jI=1;const e=pt(),{columnize:t}=me();class r extends e{constructor(s,T){super(s,T)}createQuery(s,T,E,i){let o="CREATE "+(i?"OR ALTER ":"")+"VIEW "+this.viewName();const u=s?" ("+t(s,this.viewBuilder,this.client,this.bindingsHolder)+")":"";o+=u,o+=" AS ",o+=T.toString(),this.pushQuery({sql:o})}renameColumn(s,T){this.pushQuery(`exec sp_rename ${this.client.parameter(this.viewName()+"."+s,this.viewBuilder,this.bindingsHolder)}, ${this.client.parameter(T,this.viewBuilder,this.bindingsHolder)}, 'COLUMN'`)}createOrReplace(){this.createQuery(this.columns,this.selectQuery,!1,!0)}}return wT=r,wT}var GT,kI;function VD(){if(kI)return GT;kI=1;const e=ot(),{toNumber:t}=Le(),{formatDefault:r}=nt(),{operator:n}=me();class s extends e{constructor(E,i,l){super(E,i,l),this.modifiers=["nullable","defaultTo","first","after","comment"],this._addCheckModifiers()}double(E,i){return"float"}floating(E,i){return"float"}integer(){return"int"}tinyint(){return"tinyint"}varchar(E){return`nvarchar(${t(E,255)})`}timestamp({useTz:E=!1}={}){return E?"datetimeoffset":"datetime2"}bit(E){return E>1&&this.client.logger.warn("Bit field is exactly 1 bit length for MSSQL"),"bit"}binary(E){return E?`varbinary(${t(E)})`:"varbinary(max)"}first(){return this.client.logger.warn("Column first modifier not available for MSSQL"),""}after(E){return this.client.logger.warn("Column after modifier not available for MSSQL"),""}defaultTo(E,{constraintName:i}={}){const l=r(E,this.type,this.client);return i=typeof i<"u"?i:`${this.tableCompiler.tableNameRaw}_${this.getColumnName()}_default`.toLowerCase(),this.columnBuilder._method==="alter"?(this.pushAdditional(function(){this.pushQuery(`ALTER TABLE ${this.tableCompiler.tableName()} ADD CONSTRAINT ${this.formatter.wrap(i)} DEFAULT ${l} FOR ${this.formatter.wrap(this.getColumnName())}`)}),""):i?`CONSTRAINT ${this.formatter.wrap(i)} DEFAULT ${l}`:`DEFAULT ${l}`}comment(E){if(!E)return;E&&E.length>7500/2&&this.client.logger.warn("Your comment might be longer than the max comment length for MSSQL of 7,500 bytes.");const i=this.formatter.escapingStringDelimiters(E),l=this.tableCompiler.schemaNameRaw||"dbo",o=this.formatter.escapingStringDelimiters(this.tableCompiler.tableNameRaw),u=this.formatter.escapingStringDelimiters(this.args[0]||this.defaults("columnName")),a=`N'MS_Description', N'${i}', N'Schema', N'${l}', N'Table', N'${o}', N'Column', N'${u}'`;return this.pushAdditional(function(){const R=`EXISTS(SELECT * FROM sys.fn_listextendedproperty(N'MS_Description', N'Schema', N'${l}', N'Table', N'${o}', N'Column', N'${u}'))`;this.pushQuery(`IF ${R}
|
|
213
|
-
EXEC sys.sp_updateextendedproperty ${a}
|
|
214
|
-
ELSE
|
|
215
|
-
EXEC sys.sp_addextendedproperty ${a}`)}),""}checkLength(E,i,l){return this._check(`LEN(${this.formatter.wrap(this.getColumnName())}) ${n(E,this.columnBuilder,this.bindingsHolder)} ${t(i)}`,l)}checkRegex(E,i){return this._check(`${this.formatter.wrap(this.getColumnName())} LIKE ${this.client._escapeBinding("%"+E+"%")}`,i)}increments(E={primaryKey:!0}){return"int identity(1,1) not null"+(this.tableCompiler._canBeAddPrimaryKey(E)?" primary key":"")}bigincrements(E={primaryKey:!0}){return"bigint identity(1,1) not null"+(this.tableCompiler._canBeAddPrimaryKey(E)?" primary key":"")}}return s.prototype.bigint="bigint",s.prototype.mediumint="int",s.prototype.smallint="smallint",s.prototype.text="nvarchar(max)",s.prototype.mediumtext="nvarchar(max)",s.prototype.longtext="nvarchar(max)",s.prototype.json=s.prototype.jsonb="nvarchar(max)",s.prototype.enu="nvarchar(100)",s.prototype.uuid=({useBinaryUuid:T=!1}={})=>T?"binary(16)":"uniqueidentifier",s.prototype.datetime="datetime2",s.prototype.bool="bit",GT=s,GT}var vT,JI;function xD(){if(JI)return vT;JI=1;const e=it(),t=vD(),r=Et(),n=BD(),s=FD(),T=HD(),E=qD(),i=YD(),l=$D(),o=VD(),u=Fe(),{setHiddenProperty:a}=el(),R=be()("knex:mssql"),A={MIN:-2147483648,MAX:2147483647},I={MIN:-9007199254740991,MAX:9007199254740991};class h extends r{constructor(S={}){super(S)}_generateConnection(){const S=this.connectionSettings;S.options=S.options||{};const O={authentication:{type:S.type||"default",options:{userName:S.userName||S.user,password:S.password,domain:S.domain,token:S.token,clientId:S.clientId,clientSecret:S.clientSecret,tenantId:S.tenantId,msiEndpoint:S.msiEndpoint}},server:S.server||S.host,options:{database:S.database,encrypt:S.encrypt||!1,port:S.port||1433,connectTimeout:S.connectionTimeout||S.timeout||15e3,requestTimeout:t(S.requestTimeout)?15e3:S.requestTimeout,rowCollectionOnDone:!1,rowCollectionOnRequestCompletion:!1,useColumnNames:!1,tdsVersion:S.options.tdsVersion||"7_4",appName:S.options.appName||"knex",trustServerCertificate:!1,...S.options}};return O.authentication.options.password&&a(O.authentication.options),O.options.instanceName&&delete O.options.port,isNaN(O.options.requestTimeout)&&(O.options.requestTimeout=15e3),O.options.requestTimeout===1/0&&(O.options.requestTimeout=0),O.options.requestTimeout<0&&(O.options.requestTimeout=0),S.debug&&(O.options.debug={packet:!0,token:!0,data:!0,payload:!0}),O}_driver(){return Ie}formatter(){return new n(this,...arguments)}transaction(){return new s(this,...arguments)}queryCompiler(){return new T(this,...arguments)}schemaCompiler(){return new E(this,...arguments)}tableCompiler(){return new i(this,...arguments)}viewCompiler(){return new l(this,...arguments)}queryBuilder(){return new u(this)}columnCompiler(){return new o(this,...arguments)}wrapIdentifierImpl(S){return S==="*"?"*":`[${S.replace(/[[\]]+/g,"")}]`}acquireRawConnection(){return new Promise((S,O)=>{R("connection::connection new connection requested");const C=this._driver(),f=Object.assign({},this._generateConnection()),p=new C.Connection(f);p.connect(L=>L?(R("connection::connect error: %s",L.message),O(L)):(R("connection::connect connected to server"),p.connected=!0,p.on("error",P=>{R("connection::error message=%s",P.message),p.__knex__disposed=P,p.connected=!1}),p.once("end",()=>{p.connected=!1,p.__knex__disposed="Connection to server was terminated.",R("connection::end connection ended.")}),S(p)))})}validateConnection(S){return S&&S.connected}destroyRawConnection(S){return R("connection::destroy"),new Promise(O=>{S.once("end",()=>{O()}),S.close()})}positionBindings(S){let O=-1;return S.replace(/\\?\?/g,C=>C==="\\?"?"?":(O+=1,`@p${O}`))}_chomp(S){if(S.state.name==="LoggedIn"){const O=this.requestQueue.pop();O&&(R("connection::query executing query, %d more in queue",this.requestQueue.length),S.execSql(O))}}_enqueueRequest(S,O){this.requestQueue.push(S),this._chomp(O)}_makeRequest(S,O){const C=this._driver(),f=typeof S=="string"?S:S.sql;let p=0;if(!f)throw new Error("The query is empty");R("request::request sql=%s",f);const L=new C.Request(f,(P,D)=>{if(P)return R("request::error message=%s",P.message),O(P);p=D,R("request::callback rowCount=%d",p)});return L.on("prepared",()=>{R("request %s::request prepared",this.id)}),L.on("done",(P,D)=>{R("request::done rowCount=%d more=%s",P,D)}),L.on("doneProc",(P,D)=>{R("request::doneProc id=%s rowCount=%d more=%s",L.id,P,D)}),L.on("doneInProc",(P,D)=>{R("request::doneInProc id=%s rowCount=%d more=%s",L.id,P,D)}),L.once("requestCompleted",()=>(R("request::completed id=%s",L.id),O(null,p))),L.on("error",P=>(R("request::error id=%s message=%s",L.id,P.message),O(P))),L}_stream(S,O,C){return new Promise((f,p)=>{const L=this._makeRequest(O,P=>{if(P)return C.emit("error",P),p(P);f()});L.on("row",P=>{C.write(P.reduce((D,w)=>({...D,[w.metadata.colName]:w.value}),{}))}),L.on("error",P=>{C.emit("error",P),p(P)}),L.once("requestCompleted",()=>{C.end(),f()}),this._assignBindings(L,O.bindings),this._enqueueRequest(L,S)})}_assignBindings(S,O){if(Array.isArray(O))for(let C=0;C<O.length;C++){const f=O[C];this._setReqInput(S,C,f)}}_scaleForBinding(S){if(S%1===0)throw new Error(`The binding value ${S} must be a decimal number.`);return{scale:10}}_typeForBinding(S){const O=this._driver();if(this.connectionSettings.options&&this.connectionSettings.options.mapBinding){const C=this.connectionSettings.options.mapBinding(S);if(C)return[C.value,C.type]}switch(typeof S){case"string":return[S,O.TYPES.NVarChar];case"boolean":return[S,O.TYPES.Bit];case"number":{if(S%1!==0)return[S,O.TYPES.Float];if(S<A.MIN||S>A.MAX){if(S<I.MIN||S>I.MAX)throw new Error(`Bigint must be safe integer or must be passed as string, saw ${S}`);return[S,O.TYPES.BigInt]}return[S,O.TYPES.Int]}default:return S instanceof Date?[S,O.TYPES.DateTime]:S instanceof Buffer?[S,O.TYPES.VarBinary]:[S,O.TYPES.NVarChar]}}_query(S,O){return new Promise((C,f)=>{const p=[],L=this._makeRequest(O,(P,D)=>{if(P)return f(P);O.response=p,process.nextTick(()=>this._chomp(S)),C(O)});L.on("row",P=>{R("request::row"),p.push(P)}),this._assignBindings(L,O.bindings),this._enqueueRequest(L,S)})}_setReqInput(S,O,C){const[f,p]=this._typeForBinding(C),L="p".concat(O);let P;typeof f=="number"&&f%1!==0&&(P=this._scaleForBinding(f)),R("request::binding pos=%d type=%s value=%s",O,p.name,f),Buffer.isBuffer(f)&&(P={length:"max"}),S.addParameter(L,p,f,P)}processResponse(S,O){if(S==null)return;let{response:C}=S;const{method:f}=S;if(S.output||(C=C.map(p=>p.reduce((L,P)=>{const D=P.metadata.colName;return L[D]?(Array.isArray(L[D])||(L[D]=[L[D]]),L[D].push(P.value)):L[D]=P.value,L},{})),S.output))return S.output.call(O,C);switch(f){case"select":return C;case"first":return C[0];case"pluck":return e(C,S.pluck);case"insert":case"del":case"update":case"counter":return S.returning&&S.returning==="@@rowcount"?C[0][""]:C;default:return C}}}return Object.assign(h.prototype,{requestQueue:[],dialect:"mssql",driverName:"mssql"}),vT=h,vT}var BT,QI;function WD(){if(QI)return BT;QI=1;var e="Expected a function";function t(r,n,s){if(typeof r!="function")throw new TypeError(e);return setTimeout(function(){r.apply(void 0,s)},n)}return BT=t,BT}var FT,ZI;function XD(){if(ZI)return FT;ZI=1;var e=WD(),t=Zu(),r=t(function(n,s){return e(n,1,s)});return FT=r,FT}var HT,zI;function KD(){if(zI)return HT;zI=1;const e=Ve(),r=be()("knex:tx");class n extends e{query(T,E,i,l){const o=this,u=this.trxClient.query(T,E).catch(a=>{if(a.errno===1305){this.trxClient.logger.warn("Transaction was implicitly committed, do not mix transactions and DDL with MySQL (#805)");return}i=2,l=a,o._completed=!0,r("%s error running transaction query",o.txid)}).then(function(a){if(i===1&&o._resolver(l),i===2){if(l===void 0){if(o.doNotRejectOnRollback&&/^ROLLBACK\b/i.test(E)){o._resolver();return}l=new Error(`Transaction rejected with non-error: ${l}`)}o._rejecter(l)}return a});return(i===1||i===2)&&(o._completed=!0),u}}return HT=n,HT}var qT,eh;function jD(){if(eh)return qT;eh=1;const e=Fe(),t=ge();return qT=class extends e{upsert(n,s,T){return this._method="upsert",t(s)||this.returning(s,T),this._single.upsert=n,this}},qT}var YT,th;function kD(){if(th)return YT;th=1;const e=Ie,t=De(),r=$e(),n=ge(),s=st(),{wrapAsIdentifier:T}=nt(),{columnize:E,wrap:i}=me(),l=u=>r(u)||Array.isArray(u);class o extends s{constructor(a,R,A){super(a,R,A);const{returning:I}=this.single;I&&this.client.logger.warn(".returning() is not supported by mysql and will not have any effect."),this._emptyInsertValue="() values ()"}del(){const a=super.del();if(a==="")return a;const R=this.comments();return(R===""?"":R+" ")+a}insert(){let a=super.insert();if(a==="")return a;const R=this.comments();a=(R===""?"":R+" ")+a;const{ignore:A,merge:I,insert:h}=this.single;if(A&&(a=a.replace("insert into","insert ignore into")),I&&(a+=this._merge(I.updates,h),this.where()))throw new Error(".onConflict().merge().where() is not supported for mysql");return a}upsert(){const a=this.single.upsert||[],R=this.with()+`replace into ${this.tableName} `,A=this._insertBody(a);return A===""?"":R+A}_merge(a,R){const A=" on duplicate key update ";if(a&&Array.isArray(a))return A+a.map(I=>T(I,this.formatter.builder,this.client)).map(I=>`${I} = values(${I})`).join(", ");if(a&&typeof a=="object"){const I=this._prepUpdate(a);return A+I.join(",")}else{const I=this._prepInsert(R);if(typeof I=="string")throw new Error("If using merge with a raw insert query, then updates must be provided");return A+I.columns.map(h=>T(h,this.builder,this.client)).map(h=>`${h} = values(${h})`).join(", ")}}update(){const a=this.comments(),R=this.with(),A=this.join(),I=this._prepUpdate(this.single.update),h=this.where(),c=this.order(),S=this.limit();return(a===""?"":a+" ")+R+`update ${this.tableName}`+(A?` ${A}`:"")+" set "+I.join(", ")+(h?` ${h}`:"")+(c?` ${c}`:"")+(S?` ${S}`:"")}forUpdate(){return"for update"}forShare(){return"lock in share mode"}skipLocked(){return"skip locked"}noWait(){return"nowait"}columnInfo(){const a=this.single.columnInfo;return{sql:"select * from information_schema.columns where table_name = ? and table_schema = ?",bindings:[this.client.customWrapIdentifier(this.single.table,t),this.client.database()],output(A){const I=A.reduce(function(h,c){return h[c.COLUMN_NAME]={defaultValue:c.COLUMN_DEFAULT==="NULL"?null:c.COLUMN_DEFAULT,type:c.DATA_TYPE,maxLength:c.CHARACTER_MAXIMUM_LENGTH,nullable:c.IS_NULLABLE==="YES"},h},{});return a&&I[a]||I}}}limit(){const a=!this.single.limit&&this.single.limit!==0;return a&&!this.single.offset?"":`limit ${this.single.offset&&a?"18446744073709551615":this._getValueOrParameterFromAttribute("limit")}`}whereBasic(a){return e(!l(a.value),"The values in where clause must not be object or array."),super.whereBasic(a)}whereRaw(a){return e(n(a.value.bindings)||!Object.values(a.value.bindings).some(l),"The values in where clause must not be object or array."),super.whereRaw(a)}whereLike(a){return`${this._columnClause(a)} ${this._not(a,"like ")}${this._valueClause(a)} COLLATE utf8_bin`}whereILike(a){return`${this._columnClause(a)} ${this._not(a,"like ")}${this._valueClause(a)}`}jsonExtract(a){return this._jsonExtract(["json_extract","json_unquote"],a)}jsonSet(a){return this._jsonSet("json_set",a)}jsonInsert(a){return this._jsonSet("json_insert",a)}jsonRemove(a){const R=`json_remove(${E(a.column,this.builder,this.client,this.bindingsHolder)},${this.client.parameter(a.path,this.builder,this.bindingsHolder)})`;return a.alias?this.client.alias(R,this.formatter.wrap(a.alias)):R}whereJsonObject(a){return this._not(a,`json_contains(${this._columnClause(a)}, ${this._jsonValueClause(a)})`)}whereJsonPath(a){return this._whereJsonPath("json_extract",a)}whereJsonSupersetOf(a){return this._not(a,`json_contains(${i(a.column,void 0,this.builder,this.client,this.bindingsHolder)},${this._jsonValueClause(a)})`)}whereJsonSubsetOf(a){return this._not(a,`json_contains(${this._jsonValueClause(a)},${i(a.column,void 0,this.builder,this.client,this.bindingsHolder)})`)}onJsonPathEquals(a){return this._onJsonPathEquals("json_extract",a)}}return YT=o,YT}var $T,rh;function JD(){if(rh)return $T;rh=1;const e=Ct();class t extends e{constructor(n,s){super(n,s)}renameTable(n,s){this.pushQuery(`rename table ${this.formatter.wrap(n)} to ${this.formatter.wrap(s)}`)}renameView(n,s){this.renameTable(n,s)}hasTable(n){let s="select * from information_schema.tables where table_name = ?";const T=[n];this.schema?(s+=" and table_schema = ?",T.push(this.schema)):s+=" and table_schema = database()",this.pushQuery({sql:s,bindings:T,output:function(i){return i.length>0}})}hasColumn(n,s){this.pushQuery({sql:`show columns from ${this.formatter.wrap(n)}`,output(T){return T.some(E=>this.client.wrapIdentifier(E.Field.toLowerCase())===this.client.wrapIdentifier(s.toLowerCase()))}})}}return $T=t,$T}var VT,nh;function QD(){if(nh)return VT;nh=1;const e=ft(),{isObject:t,isString:r}=ce();class n extends e{constructor(T,E){super(T,E)}createQuery(T,E,i){const l=E?"create table if not exists ":"create table ",{client:o}=this;let u={},a=" ("+T.sql.join(", ");a+=this.primaryKeys()||"",a+=this._addChecks(),a+=")";let R=l+this.tableName()+(i&&this.tableNameLike()?" like "+this.tableNameLike():a);o.connectionSettings&&(u=o.connectionSettings);const A=this.single.charset||u.charset||"",I=this.single.collate||u.collate||"",h=this.single.engine||"";if(A&&!i&&(R+=` default character set ${A}`),I&&(R+=` collate ${I}`),h&&(R+=` engine = ${h}`),this.single.comment){const c=this.single.comment||"",S=1024;c.length>S&&this.client.logger.warn(`The max length for a table comment is ${S} characters`),R+=` comment = '${c}'`}this.pushQuery(R),i&&this.addColumns(T,this.addColumnsPrefix)}comment(T){this.pushQuery(`alter table ${this.tableName()} comment = '${T}'`)}changeType(){}renameColumn(T,E){const i=this,l=this.tableName(),o=this.formatter.wrap(T)+" "+this.formatter.wrap(E);this.pushQuery({sql:`show full fields from ${l} where field = `+this.client.parameter(T,this.tableBuilder,this.bindingsHolder),output(u){const a=u[0],R=this;return i.getFKRefs(R).then(([A])=>new Promise((I,h)=>{try{A.length||I(),I(i.dropFKRefs(R,A))}catch(c){h(c)}}).then(function(){let I=`alter table ${l} change ${o} ${a.Type}`;return String(a.Null).toUpperCase()!=="YES"?I+=" NOT NULL":I+=" NULL",a.Default!==void 0&&a.Default!==null&&(I+=` DEFAULT '${a.Default}'`),a.Collation!==void 0&&a.Collation!==null&&(I+=` COLLATE '${a.Collation}'`),a.Extra=="auto_increment"&&(I+=" AUTO_INCREMENT"),R.query({sql:I})}).then(function(){if(A.length)return i.createFKRefs(R,A.map(function(I){return I.REFERENCED_COLUMN_NAME===T&&(I.REFERENCED_COLUMN_NAME=E),I.COLUMN_NAME===T&&(I.COLUMN_NAME=E),I}))}))}})}primaryKeys(){const T=(this.grouped.alterTable||[]).filter(E=>E.method==="primary");if(T.length>0&&T[0].args.length>0){const E=T[0].args[0];let i=T[0].args[1]||"";if(i&&(i=" constraint "+this.formatter.wrap(i)),this.grouped.columns){const l=this._getIncrementsColumnNames();l.length&&l.forEach(u=>{E.includes(u)||E.unshift(u)});const o=this._getBigIncrementsColumnNames();o.length&&o.forEach(u=>{E.includes(u)||E.unshift(u)})}return`,${i} primary key (${this.formatter.columnize(E)})`}}getFKRefs(T){const E={bindings:[]},i="SELECT KCU.CONSTRAINT_NAME, KCU.TABLE_NAME, KCU.COLUMN_NAME, KCU.REFERENCED_TABLE_NAME, KCU.REFERENCED_COLUMN_NAME, RC.UPDATE_RULE, RC.DELETE_RULE FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC USING(CONSTRAINT_NAME)WHERE KCU.REFERENCED_TABLE_NAME = "+this.client.parameter(this.tableNameRaw,this.tableBuilder,E)+" AND KCU.CONSTRAINT_SCHEMA = "+this.client.parameter(this.client.database(),this.tableBuilder,E)+" AND RC.CONSTRAINT_SCHEMA = "+this.client.parameter(this.client.database(),this.tableBuilder,E);return T.query({sql:i,bindings:E.bindings})}dropFKRefs(T,E){const i=this.client.formatter(this.tableBuilder);return Promise.all(E.map(function(l){const o=i.wrap(l.CONSTRAINT_NAME),u=i.wrap(l.TABLE_NAME);return T.query({sql:`alter table ${u} drop foreign key ${o}`})}))}createFKRefs(T,E){const i=this.client.formatter(this.tableBuilder);return Promise.all(E.map(function(l){const o=i.wrap(l.TABLE_NAME),u=i.wrap(l.CONSTRAINT_NAME),a=i.columnize(l.COLUMN_NAME),R=i.columnize(l.REFERENCED_COLUMN_NAME),A=i.wrap(l.REFERENCED_TABLE_NAME),I=` ON UPDATE ${l.UPDATE_RULE}`,h=` ON DELETE ${l.DELETE_RULE}`;return T.query({sql:`alter table ${o} add constraint ${u} foreign key (`+a+") references "+A+" ("+R+")"+I+h})}))}index(T,E,i){let l,o;r(i)?o=i:t(i)&&({indexType:o,storageEngineIndexType:l}=i),E=E?this.formatter.wrap(E):this._indexCommand("index",this.tableNameRaw,T),l=l?` using ${l}`:"",this.pushQuery(`alter table ${this.tableName()} add${o?` ${o}`:""} index ${E}(${this.formatter.columnize(T)})${l}`)}primary(T,E){let i;t(E)&&({constraintName:E,deferrable:i}=E),i&&i!=="not deferrable"&&this.client.logger.warn(`mysql: primary key constraint \`${E}\` will not be deferrable ${i} because mysql does not support deferred constraints.`),E=E?this.formatter.wrap(E):this.formatter.wrap(`${this.tableNameRaw}_pkey`);const l=T;let o=[],u=[];this.grouped.columns&&(o=this._getIncrementsColumnNames(),o&&o.forEach(a=>{l.includes(a)||l.unshift(a)}),u=this._getBigIncrementsColumnNames(),u&&u.forEach(a=>{l.includes(a)||l.unshift(a)})),this.method!=="create"&&this.method!=="createIfNot"&&this.pushQuery(`alter table ${this.tableName()} add primary key ${E}(${this.formatter.columnize(l)})`),o.length&&this.pushQuery(`alter table ${this.tableName()} modify column ${this.formatter.columnize(o)} int unsigned not null auto_increment`),u.length&&this.pushQuery(`alter table ${this.tableName()} modify column ${this.formatter.columnize(u)} bigint unsigned not null auto_increment`)}unique(T,E){let i,l;t(E)&&({indexName:E,deferrable:l,storageEngineIndexType:i}=E),l&&l!=="not deferrable"&&this.client.logger.warn(`mysql: unique index \`${E}\` will not be deferrable ${l} because mysql does not support deferred constraints.`),E=E?this.formatter.wrap(E):this._indexCommand("unique",this.tableNameRaw,T),i=i?` using ${i}`:"",this.pushQuery(`alter table ${this.tableName()} add unique ${E}(${this.formatter.columnize(T)})${i}`)}dropIndex(T,E){E=E?this.formatter.wrap(E):this._indexCommand("index",this.tableNameRaw,T),this.pushQuery(`alter table ${this.tableName()} drop index ${E}`)}dropForeign(T,E){E=E?this.formatter.wrap(E):this._indexCommand("foreign",this.tableNameRaw,T),this.pushQuery(`alter table ${this.tableName()} drop foreign key ${E}`)}dropPrimary(){this.pushQuery(`alter table ${this.tableName()} drop primary key`)}dropUnique(T,E){E=E?this.formatter.wrap(E):this._indexCommand("unique",this.tableNameRaw,T),this.pushQuery(`alter table ${this.tableName()} drop index ${E}`)}}return n.prototype.addColumnsPrefix="add ",n.prototype.alterColumnsPrefix="modify ",n.prototype.dropColumnPrefix="drop ",VT=n,VT}var xT,ih;function ZD(){if(ih)return xT;ih=1;const e=ot(),{isObject:t}=ce(),{toNumber:r}=Le(),n=new RegExp("(?<!\\\\)'","g");class s extends e{constructor(E,i,l){super(E,i,l),this.modifiers=["unsigned","nullable","defaultTo","comment","collate","first","after"],this._addCheckModifiers()}double(E,i){return E?`double(${r(E,8)}, ${r(i,2)})`:"double"}integer(E){return E=E?`(${r(E,11)})`:"",`int${E}`}tinyint(E){return E=E?`(${r(E,1)})`:"",`tinyint${E}`}text(E){switch(E){case"medium":case"mediumtext":return"mediumtext";case"long":case"longtext":return"longtext";default:return"text"}}mediumtext(){return this.text("medium")}longtext(){return this.text("long")}enu(E){return`enum('${E.join("', '")}')`}datetime(E){return t(E)&&({precision:E}=E),typeof E=="number"?`datetime(${E})`:"datetime"}timestamp(E){return t(E)&&({precision:E}=E),typeof E=="number"?`timestamp(${E})`:"timestamp"}time(E){return t(E)&&({precision:E}=E),typeof E=="number"?`time(${E})`:"time"}bit(E){return E?`bit(${r(E)})`:"bit"}binary(E){return E?`varbinary(${r(E)})`:"blob"}json(){return"json"}jsonb(){return"json"}defaultTo(E){if(E==null)return;if((this.type==="json"||this.type==="jsonb")&&t(E))return`default ('${JSON.stringify(E)}')`;const i=super.defaultTo.apply(this,arguments);return this.type!=="blob"&&this.type.indexOf("text")===-1?i:""}unsigned(){return"unsigned"}comment(E){return E&&E.length>255&&this.client.logger.warn("Your comment is longer than the max comment length for MySQL"),E&&`comment '${E.replace(n,"\\'")}'`}first(){return"first"}after(E){return`after ${this.formatter.wrap(E)}`}collate(E){return E&&`collate '${E}'`}checkRegex(E,i){return this._check(`${this.formatter.wrap(this.getColumnName())} REGEXP ${this.client._escapeBinding(E)}`,i)}increments(E={primaryKey:!0}){return"int unsigned not null"+(this.tableCompiler._canBeAddPrimaryKey(E)?" auto_increment primary key":"")}bigincrements(E={primaryKey:!0}){return"bigint unsigned not null"+(this.tableCompiler._canBeAddPrimaryKey(E)?" auto_increment primary key":"")}}return s.prototype.bigint="bigint",s.prototype.mediumint="mediumint",s.prototype.smallint="smallint",xT=s,xT}var WT,sh;function zD(){if(sh)return WT;sh=1;const e=pt();class t extends e{constructor(n,s){super(n,s)}createOrReplace(){this.createQuery(this.columns,this.selectQuery,!1,!0)}}return WT=t,WT}var XT,oh;function eg(){if(oh)return XT;oh=1;const e=Ft();class t extends e{constructor(){super(...arguments)}checkOption(){this._single.checkOption="default_option"}localCheckOption(){this._single.checkOption="local"}cascadedCheckOption(){this._single.checkOption="cascaded"}}return XT=t,XT}var KT,Eh;function IC(){if(Eh)return KT;Eh=1;const e=XD(),t=it(),{promisify:r}=Ye(),n=Et(),s=KD(),T=jD(),E=kD(),i=JD(),l=QD(),o=ZD(),{makeEscape:u}=qu(),a=zD(),R=eg();class A extends n{_driver(){return Ie}queryBuilder(){return new T(this)}queryCompiler(h,c){return new E(this,h,c)}schemaCompiler(){return new i(this,...arguments)}tableCompiler(){return new l(this,...arguments)}viewCompiler(){return new a(this,...arguments)}viewBuilder(){return new R(this,...arguments)}columnCompiler(){return new o(this,...arguments)}transaction(){return new s(this,...arguments)}wrapIdentifierImpl(h){return h!=="*"?`\`${h.replace(/`/g,"``")}\``:"*"}acquireRawConnection(){return new Promise((h,c)=>{const S=this.driver.createConnection(this.connectionSettings);S.on("error",O=>{S.__knex__disposed=O}),S.connect(O=>{if(O)return S.removeAllListeners(),c(O);h(S)})})}async destroyRawConnection(h){try{return await r(S=>h.end(S))()}catch(c){h.__knex__disposed=c}finally{e(()=>h.removeAllListeners())}}validateConnection(h){return h.state==="connected"||h.state==="authenticated"}_stream(h,c,S,O){if(!c.sql)throw new Error("The query is empty");O=O||{};const C=Object.assign({sql:c.sql},c.options);return new Promise((f,p)=>{S.on("error",p),S.on("end",f);const L=h.query(C,c.bindings).stream(O);L.on("error",P=>{p(P),S.emit("error",P)}),L.pipe(S)})}_query(h,c){if((!c||typeof c=="string")&&(c={sql:c}),!c.sql)throw new Error("The query is empty");return new Promise(function(S,O){if(!c.sql){S();return}const C=Object.assign({sql:c.sql},c.options);h.query(C,c.bindings,function(f,p,L){if(f)return O(f);c.response=[p,L],S(c)})})}processResponse(h,c){if(h==null)return;const{response:S}=h,{method:O}=h,C=S[0],f=S[1];if(h.output)return h.output.call(c,C,f);switch(O){case"select":return C;case"first":return C[0];case"pluck":return t(C,h.pluck);case"insert":return[C.insertId];case"del":case"update":case"counter":return C.affectedRows;default:return S}}async cancelQuery(h){const c=await this.acquireRawConnection();try{return await this._wrappedCancelQueryCall(c,h)}finally{await this.destroyRawConnection(c),c.__knex__disposed&&this.logger.warn(`Connection Error: ${c.__knex__disposed}`)}}_wrappedCancelQueryCall(h,c){return this._query(h,{sql:"KILL QUERY ?",bindings:[c.threadId],options:{}})}}return Object.assign(A.prototype,{dialect:"mysql",driverName:"mysql",_escapeBinding:u(),canCancelQuery:!0}),KT=A,KT}var jT,ah;function tg(){if(ah)return jT;ah=1;const e=Ve(),t=be()("knex:tx");class r extends e{query(s,T,E,i){const l=this,o=this.trxClient.query(s,T).catch(u=>{if(u.code==="ER_SP_DOES_NOT_EXIST"){this.trxClient.logger.warn("Transaction was implicitly committed, do not mix transactions and DDL with MySQL (#805)");return}E=2,i=u,l._completed=!0,t("%s error running transaction query",l.txid)}).then(function(u){if(E===1&&l._resolver(i),E===2){if(i===void 0){if(l.doNotRejectOnRollback&&/^ROLLBACK\b/i.test(T)){l._resolver();return}i=new Error(`Transaction rejected with non-error: ${i}`)}return l._rejecter(i),u}});return(E===1||E===2)&&(l._completed=!0),o}}return jT=r,jT}var kT,Th;function rg(){if(Th)return kT;Th=1;const e=IC(),t=tg();class r extends e{transaction(){return new t(this,...arguments)}_driver(){return Ie}initializeDriver(){try{this.driver=this._driver()}catch(s){let T=`Knex: run
|
|
216
|
-
$ npm install ${this.driverName}`;throw process.version.replace(/^v/,"").split(".")[0]<=12&&(T+="@3.2.0",this.logger.error("Mysql2 version 3.2.0 is the latest version to support Node.js 12 or lower.")),T+=" --save",this.logger.error(`${T}
|
|
217
|
-
${s.message}
|
|
218
|
-
${s.stack}`),new Error(`${T}
|
|
219
|
-
${s.message}`)}}validateConnection(s){return s&&!s._fatalError&&!s._protocolError&&!s._closing&&!s.stream.destroyed}}return Object.assign(r.prototype,{driverName:"mysql2"}),kT=r,kT}var JT,uh;function Ke(){if(uh)return JT;uh=1;class e{constructor(T){this.oracleVersion=T;const E=T.split(".").map(i=>parseInt(i));E[0]>12||E[0]===12&&E[1]>=2?this.limit=128:this.limit=30}generateCombinedName(T,E,i,l){const o=Ie;Array.isArray(l)||(l=l?[l]:[]);const u=i.replace(/\.|-/g,"_"),a=l.join("_");let R=`${u}_${a.length?a+"_":""}${E}`.toLowerCase();return R.length>this.limit&&(T.warn(`Automatically generated name "${R}" exceeds ${this.limit} character limit for Oracle Database ${this.oracleVersion}. Using base64 encoded sha1 of that name instead.`),R=o.createHash("sha1").update(R).digest("base64").replace("=","")),R}}function t(s,T){return`begin execute immediate '${s.replace(/'/g,"''")}'; exception when others then if sqlcode != ${T} then raise; end if; end;`}function r(s){this.columnName=s}r.prototype.toString=function(){return`[object ReturningHelper:${this.columnName}]`};function n(s){return["DPI-1010","DPI-1080","ORA-03114","ORA-03113","ORA-03135","ORA-12514","ORA-00022","ORA-00028","ORA-00031","ORA-00045","ORA-00378","ORA-00602","ORA-00603","ORA-00609","ORA-01012","ORA-01041","ORA-01043","ORA-01089","ORA-01092","ORA-02396","ORA-03122","ORA-12153","ORA-12537","ORA-12547","ORA-12570","ORA-12583","ORA-27146","ORA-28511","ORA-56600","NJS-024","NJS-003"].some(function(T){return s.message.indexOf(T)===0})}return JT={NameHelper:e,isConnectionError:n,wrapSqlWithCatch:t,ReturningHelper:r},JT}var QT,lh;function Al(){if(lh)return QT;lh=1;const{NameHelper:e}=Ke();class t{constructor(n){this.nameHelper=new e(n)}renameColumnTrigger(n,s,T,E){const i=this.nameHelper.generateCombinedName(n,"autoinc_trg",s),l=this.nameHelper.generateCombinedName(n,"seq",s);return`DECLARE PK_NAME VARCHAR(200); IS_AUTOINC NUMBER := 0; BEGIN EXECUTE IMMEDIATE ('ALTER TABLE "${s}" RENAME COLUMN "${T}" TO "${E}"'); SELECT COUNT(*) INTO IS_AUTOINC from "USER_TRIGGERS" where trigger_name = '${i}'; IF (IS_AUTOINC > 0) THEN SELECT cols.column_name INTO PK_NAME FROM all_constraints cons, all_cons_columns cols WHERE cons.constraint_type = 'P' AND cons.constraint_name = cols.constraint_name AND cons.owner = cols.owner AND cols.table_name = '${s}'; IF ('${E}' = PK_NAME) THEN EXECUTE IMMEDIATE ('DROP TRIGGER "${i}"'); EXECUTE IMMEDIATE ('create or replace trigger "${i}" BEFORE INSERT on "${s}" for each row declare checking number := 1; begin if (:new."${E}" is null) then while checking >= 1 loop select "${l}".nextval into :new."${E}" from dual; select count("${E}") into checking from "${s}" where "${E}" = :new."${E}"; end loop; end if; end;'); end if; end if;END;`}createAutoIncrementTrigger(n,s,T){const E=`"${s}"`,i=s,l=T?`"${T}".`:"",o=T?`'${T}'`:"cols.owner",u=this.nameHelper.generateCombinedName(n,"autoinc_trg",s),R=`"${this.nameHelper.generateCombinedName(n,"seq",s)}"`;return`DECLARE PK_NAME VARCHAR(200); BEGIN EXECUTE IMMEDIATE ('CREATE SEQUENCE ${l}${R}'); SELECT cols.column_name INTO PK_NAME FROM all_constraints cons, all_cons_columns cols WHERE cons.constraint_type = 'P' AND cons.constraint_name = cols.constraint_name AND cons.owner = ${o} AND cols.table_name = '${i}'; execute immediate ('create or replace trigger ${l}"${u}" BEFORE INSERT on ${l}${E} for each row declare checking number := 1; begin if (:new."' || PK_NAME || '" is null) then while checking >= 1 loop select ${l}${R}.nextval into :new."' || PK_NAME || '" from dual; select count("' || PK_NAME || '") into checking from ${l}${E} where "' || PK_NAME || '" = :new."' || PK_NAME || '"; end loop; end if; end;'); END;`}renameTableAndAutoIncrementTrigger(n,s,T){const E=this.nameHelper.generateCombinedName(n,"autoinc_trg",s),i=this.nameHelper.generateCombinedName(n,"seq",s),l=this.nameHelper.generateCombinedName(n,"autoinc_trg",T),o=this.nameHelper.generateCombinedName(n,"seq",T);return`DECLARE PK_NAME VARCHAR(200); IS_AUTOINC NUMBER := 0; BEGIN EXECUTE IMMEDIATE ('RENAME "${s}" TO "${T}"'); SELECT COUNT(*) INTO IS_AUTOINC from "USER_TRIGGERS" where trigger_name = '${E}'; IF (IS_AUTOINC > 0) THEN EXECUTE IMMEDIATE ('DROP TRIGGER "${E}"'); EXECUTE IMMEDIATE ('RENAME "${i}" TO "${o}"'); SELECT cols.column_name INTO PK_NAME FROM all_constraints cons, all_cons_columns cols WHERE cons.constraint_type = 'P' AND cons.constraint_name = cols.constraint_name AND cons.owner = cols.owner AND cols.table_name = '${T}'; EXECUTE IMMEDIATE ('create or replace trigger "${l}" BEFORE INSERT on "${T}" for each row declare checking number := 1; begin if (:new."' || PK_NAME || '" is null) then while checking >= 1 loop select "${o}".nextval into :new."' || PK_NAME || '" from dual; select count("' || PK_NAME || '") into checking from "${T}" where "' || PK_NAME || '" = :new."' || PK_NAME || '"; end loop; end if; end;'); end if;END;`}}return QT=t,QT}var ZT,Rh;function ng(){if(Rh)return ZT;Rh=1;const e=Ct(),t=Ke(),r=Al();class n extends e{constructor(){super(...arguments)}renameTable(T,E){const l=new r(this.client.version).renameTableAndAutoIncrementTrigger(this.client.logger,T,E);this.pushQuery(l)}hasTable(T){this.pushQuery({sql:"select TABLE_NAME from USER_TABLES where TABLE_NAME = "+this.client.parameter(T,this.builder,this.bindingsHolder),output(E){return E.length>0}})}hasColumn(T,E){const i=`select COLUMN_NAME from ALL_TAB_COLUMNS where TABLE_NAME = ${this.client.parameter(T,this.builder,this.bindingsHolder)} and COLUMN_NAME = ${this.client.parameter(E,this.builder,this.bindingsHolder)}`;this.pushQuery({sql:i,output:l=>l.length>0})}dropSequenceIfExists(T){const E=this.schema?`"${this.schema}".`:"";this.pushQuery(t.wrapSqlWithCatch(`drop sequence ${E}${this.formatter.wrap(T)}`,-2289))}_dropRelatedSequenceIfExists(T){const i=new t.NameHelper(this.client.version).generateCombinedName(this.client.logger,"seq",T);this.dropSequenceIfExists(i)}dropTable(T){const E=this.schema?`"${this.schema}".`:"";this.pushQuery(`drop table ${E}${this.formatter.wrap(T)}`),this._dropRelatedSequenceIfExists(T)}dropTableIfExists(T){this.dropObject(T,"table")}dropViewIfExists(T){this.dropObject(T,"view")}dropObject(T,E){const i=this.schema?`"${this.schema}".`:"";let l=-942;E==="materialized view"&&(l=-12003),this.pushQuery(t.wrapSqlWithCatch(`drop ${E} ${i}${this.formatter.wrap(T)}`,l)),this._dropRelatedSequenceIfExists(T)}refreshMaterializedView(T){return this.pushQuery({sql:`BEGIN DBMS_MVIEW.REFRESH('${this.schemaNameRaw?this.schemaNameRaw+".":""}${T}'); END;`})}dropMaterializedView(T){this._dropView(T,!1,!0)}dropMaterializedViewIfExists(T){this.dropObject(T,"materialized view")}}return ZT=n,ZT}var zT,Ah;function ig(){if(Ah)return zT;Ah=1;const e=dr(),t=vt();class r extends e{constructor(){super(...arguments)}checkIn(){return this._modifiers.checkIn=t(arguments),this}}return zT=r,zT}var eu,ch;function sg(){if(ch)return eu;ch=1;var e=cC();function t(r,n){var s=r==null?0:r.length;return!!s&&e(r,n,0)>-1}return eu=t,eu}var tu,Sh;function og(){if(Sh)return tu;Sh=1;function e(t,r,n){for(var s=-1,T=t==null?0:t.length;++s<T;)if(n(r,t[s]))return!0;return!1}return tu=e,tu}var ru,Oh;function Eg(){if(Oh)return ru;Oh=1;function e(){}return ru=e,ru}var nu,Nh;function ag(){if(Nh)return nu;Nh=1;var e=U_(),t=Eg(),r=Nr(),n=1/0,s=e&&1/r(new e([,-0]))[1]==n?function(T){return new e(T)}:t;return nu=s,nu}var iu,Ih;function Tg(){if(Ih)return iu;Ih=1;var e=eC(),t=sg(),r=og(),n=rC(),s=ag(),T=Nr(),E=200;function i(l,o,u){var a=-1,R=t,A=l.length,I=!0,h=[],c=h;if(u)I=!1,R=r;else if(A>=E){var S=o?null:s(l);if(S)return T(S);I=!1,R=n,c=new e}else c=o?[]:h;e:for(;++a<A;){var O=l[a],C=o?o(O):O;if(O=u||O!==0?O:0,I&&C===C){for(var f=c.length;f--;)if(c[f]===C)continue e;o&&c.push(C),h.push(O)}else R(c,C,u)||(c!==h&&c.push(C),h.push(O))}return h}return iu=i,iu}var su,hh;function ug(){if(hh)return su;hh=1;var e=Tg();function t(r){return r&&r.length?e(r):[]}return su=t,su}var ou,_h;function lg(){if(_h)return ou;_h=1;const e=Al();function t(r){const n=new e(r.client.version);r.pushAdditional(function(){const s=this.tableCompiler.tableNameRaw,T=this.tableCompiler.schemaNameRaw,E=n.createAutoIncrementTrigger(this.client.logger,s,T);this.pushQuery(E)})}return ou={createAutoIncrementTriggerAndSequence:t},ou}var Eu,Ch;function hC(){if(Ch)return Eu;Ch=1;const e=ug(),t=_t(),r=ot(),{createAutoIncrementTriggerAndSequence:n}=lg(),{toNumber:s}=Le();class T extends r{constructor(){super(...arguments),this.modifiers=["defaultTo","checkIn","nullable","comment"]}increments(i={primaryKey:!0}){return n(this),"integer not null"+(this.tableCompiler._canBeAddPrimaryKey(i)?" primary key":"")}bigincrements(i={primaryKey:!0}){return n(this),"number(20, 0) not null"+(this.tableCompiler._canBeAddPrimaryKey(i)?" primary key":"")}floating(i){const l=s(i,0);return`float${l?`(${l})`:""}`}double(i,l){return`number(${s(i,8)}, ${s(l,2)})`}decimal(i,l){return i===null?"decimal":`decimal(${s(i,8)}, ${s(l,2)})`}integer(i){return i?`number(${s(i,11)})`:"integer"}enu(i){i=e(i);const l=(i||[]).reduce((o,u)=>Math.max(o,String(u).length),1);return this.columnBuilder._modifiers.checkIn=[i],`varchar2(${l})`}datetime(i){return i?"timestamp":"timestamp with time zone"}timestamp(i){return i?"timestamp":"timestamp with time zone"}bool(){return this.columnBuilder._modifiers.checkIn=[[0,1]],"number(1, 0)"}varchar(i){return`varchar2(${s(i,255)})`}comment(i){const l=this.args[0]||this.defaults("columnName");this.pushAdditional(function(){this.pushQuery(`comment on column ${this.tableCompiler.tableName()}.`+this.formatter.wrap(l)+" is '"+(i||"")+"'")},i)}checkIn(i){return i===void 0?"":(i instanceof t?i=i.toQuery():Array.isArray(i)?i=i.map(l=>`'${l}'`).join(", "):i=`'${i}'`,`check (${this.formatter.wrap(this.args[0])} in (${i}))`)}}return T.prototype.tinyint="smallint",T.prototype.smallint="smallint",T.prototype.mediumint="integer",T.prototype.biginteger="number(20, 0)",T.prototype.text="clob",T.prototype.time="timestamp with time zone",T.prototype.bit="clob",T.prototype.json="clob",Eu=T,Eu}var au,fh;function _C(){if(fh)return au;fh=1;const e=Ke(),t=ft(),r=Le(),n=Al(),{isObject:s}=ce();class T extends t{constructor(){super(...arguments)}addColumns(i,l){if(i.sql.length>0){l=l||this.addColumnsPrefix;const o=i.sql;let a=`${this.lowerCase?"alter table ":"ALTER TABLE "}${this.tableName()} ${l}`;i.sql.length>1?a+=`(${o.join(", ")})`:a+=o.join(", "),this.pushQuery({sql:a,bindings:i.bindings})}}renameColumn(i,l){const o=this.tableName().slice(1,-1),u=new n(this.client.version);return this.pushQuery(u.renameColumnTrigger(this.client.logger,o,i,l))}compileAdd(i){const l=this.formatter.wrap(i),o=this.prefixArray("add column",this.getColumns(i));return this.pushQuery({sql:`alter table ${l} ${o.join(", ")}`})}createQuery(i,l,o){const u=o&&this.tableNameLike()?" as (select * from "+this.tableNameLike()+" where 0=1)":" ("+i.sql.join(", ")+this._addChecks()+")",a=`create table ${this.tableName()}${u}`;this.pushQuery({sql:l?e.wrapSqlWithCatch(a,-955):a,bindings:i.bindings}),this.single.comment&&this.comment(this.single.comment),o&&this.addColumns(i,this.addColumnsPrefix)}comment(i){this.pushQuery(`comment on table ${this.tableName()} is '${i}'`)}dropColumn(){const i=r.normalizeArr.apply(null,arguments);this.pushQuery(`alter table ${this.tableName()} drop (${this.formatter.columnize(i)})`)}_indexCommand(i,l,o){const u=new e.NameHelper(this.client.version);return this.formatter.wrap(u.generateCombinedName(this.client.logger,i,l,o))}primary(i,l){let o;s(l)&&({constraintName:l,deferrable:o}=l),o=o?` deferrable initially ${o}`:"",l=l?this.formatter.wrap(l):this.formatter.wrap(`${this.tableNameRaw}_pkey`);const u=i;let a=[];this.grouped.columns&&(a=this._getIncrementsColumnNames(),a&&a.forEach(R=>{u.includes(R)||u.unshift(R)})),this.pushQuery(`alter table ${this.tableName()} add constraint ${l} primary key (${this.formatter.columnize(u)})${o}`)}dropPrimary(i){i=i?this.formatter.wrap(i):this.formatter.wrap(this.tableNameRaw+"_pkey"),this.pushQuery(`alter table ${this.tableName()} drop constraint ${i}`)}index(i,l){l=l?this.formatter.wrap(l):this._indexCommand("index",this.tableNameRaw,i),this.pushQuery(`create index ${l} on ${this.tableName()} (`+this.formatter.columnize(i)+")")}dropIndex(i,l){l=l?this.formatter.wrap(l):this._indexCommand("index",this.tableNameRaw,i),this.pushQuery(`drop index ${l}`)}unique(i,l){let o;s(l)&&({indexName:l,deferrable:o}=l),o=o?` deferrable initially ${o}`:"",l=l?this.formatter.wrap(l):this._indexCommand("unique",this.tableNameRaw,i),this.pushQuery(`alter table ${this.tableName()} add constraint ${l} unique (`+this.formatter.columnize(i)+")"+o)}dropUnique(i,l){l=l?this.formatter.wrap(l):this._indexCommand("unique",this.tableNameRaw,i),this.pushQuery(`alter table ${this.tableName()} drop constraint ${l}`)}dropForeign(i,l){l=l?this.formatter.wrap(l):this._indexCommand("foreign",this.tableNameRaw,i),this.pushQuery(`alter table ${this.tableName()} drop constraint ${l}`)}}return T.prototype.addColumnsPrefix="add ",T.prototype.alterColumnsPrefix="modify ",au=T,au}var Tu,ph;function CC(){if(ph)return Tu;ph=1;const{ReturningHelper:e}=Ke(),{isConnectionError:t}=Ke(),r=Et(),n=ng(),s=ig(),T=hC(),E=_C();class i extends r{schemaCompiler(){return new n(this,...arguments)}columnBuilder(){return new s(this,...arguments)}columnCompiler(){return new T(this,...arguments)}tableCompiler(){return new E(this,...arguments)}database(){return this.connectionSettings.database}positionBindings(o){let u=0;return o.replace(/\?/g,function(){return u+=1,`:${u}`})}_stream(o,u,a,R){if(!u.sql)throw new Error("The query is empty");return new Promise(function(A,I){a.on("error",c=>{t(c)&&(o.__knex__disposed=c),I(c)}),a.on("end",A);const h=o.queryStream(u.sql,u.bindings,R);h.pipe(a),h.on("error",function(c){I(c),a.emit("error",c)})})}alias(o,u){return o+" "+u}parameter(o,u,a){return o instanceof e&&this.driver?o=new this.driver.OutParam(this.driver.OCCISTRING):typeof o=="boolean"&&(o=o?1:0),super.parameter(o,u,a)}}return Object.assign(i.prototype,{dialect:"oracle",driverName:"oracle"}),Tu=i,Tu}var uu,dh;function Rg(){if(dh)return uu;dh=1;const e=al(),t=De(),r=ge(),n=$e(),s=Bt(),T=st(),{ReturningHelper:E}=Ke(),{isString:i}=ce(),l=["comments","columns","join","where","union","group","having","order","lock"];class o extends T{constructor(a,R,A){super(a,R,A);const{onConflict:I}=this.single;if(I)throw new Error(".onConflict() is not supported for oracledb.");this.first=this.select}insert(){let a=this.single.insert||[],{returning:R}=this.single;if(!Array.isArray(a)&&n(this.single.insert)&&(a=[this.single.insert]),R&&!Array.isArray(R)&&(R=[R]),Array.isArray(a)&&a.length===1&&r(a[0]))return this._addReturningToSqlAndConvert(`insert into ${this.tableName} (${this.formatter.wrap(this.single.returning)}) values (default)`,R,this.tableName);if(r(this.single.insert)&&typeof this.single.insert!="function")return"";const A=this._prepInsert(a),I={};if(i(A))return this._addReturningToSqlAndConvert(`insert into ${this.tableName} ${A}`,R);if(A.values.length===1)return this._addReturningToSqlAndConvert(`insert into ${this.tableName} (${this.formatter.columnize(A.columns)}) values (${this.client.parameterize(A.values[0],void 0,this.builder,this.bindingsHolder)})`,R,this.tableName);const h=A.columns.length===0;return I.sql="begin "+A.values.map(c=>{let S;const O=h?"":this.client.parameterize(c,this.client.valueForUndefined,this.builder,this.bindingsHolder),C=Array.isArray(R)?R:[R];let f=`insert into ${this.tableName} `;R&&(S=new E(C.join(":")),I.outParams=(I.outParams||[]).concat(S)),h?f+=`(${this.formatter.wrap(this.single.returning)}) values (default)`:f+=`(${this.formatter.columnize(A.columns)}) values (${O})`,f+=R?` returning ROWID into ${this.client.parameter(S,this.builder,this.bindingsHolder)}`:"",f=this.formatter.client.positionBindings(f);const p=O.replace("DEFAULT, ","").replace(", DEFAULT","");return`execute immediate '${f.replace(/'/g,"''")}`+(p||R?"' using ":"")+p+(p&&R?", ":"")+(R?"out ?":"")+";"}).join(" ")+"end;",R&&(I.returning=R,I.returningSql=`select ${this.formatter.columnize(R)} from `+this.tableName+" where ROWID in ("+I.outParams.map((c,S)=>`:${S+1}`).join(", ")+") order by case ROWID "+I.outParams.map((c,S)=>`when CHARTOROWID(:${S+1}) then ${S}`).join(" ")+" end"),I}update(){const a=this._prepUpdate(this.single.update),R=this.where();let{returning:A}=this.single;const I=`update ${this.tableName} set `+a.join(", ")+(R?` ${R}`:"");return A?(Array.isArray(A)||(A=[A]),this._addReturningToSqlAndConvert(I,A,this.tableName)):I}truncate(){return`truncate table ${this.tableName}`}forUpdate(){return"for update"}forShare(){return this.client.logger.warn("lock for share is not supported by oracle dialect"),""}columnInfo(){const a=this.single.columnInfo;return{sql:`select * from xmltable( '/ROWSET/ROW'
|
|
220
|
-
passing dbms_xmlgen.getXMLType('
|
|
221
|
-
select char_col_decl_length, column_name, data_type, data_default, nullable
|
|
222
|
-
from all_tab_columns where table_name = ''${this.client.customWrapIdentifier(this.single.table,t)}'' ')
|
|
223
|
-
columns
|
|
224
|
-
CHAR_COL_DECL_LENGTH number, COLUMN_NAME varchar2(200), DATA_TYPE varchar2(106),
|
|
225
|
-
DATA_DEFAULT clob, NULLABLE varchar2(1))`,output(I){const h=s(I,function(c,S){return c[S.COLUMN_NAME]={type:S.DATA_TYPE,defaultValue:S.DATA_DEFAULT,maxLength:S.CHAR_COL_DECL_LENGTH,nullable:S.NULLABLE==="Y"},c},{});return a&&h[a]||h}}}select(){let a=this.with();const R=l.map(A=>this[A]());return a+=e(R).join(" "),this._surroundQueryWithLimitAndOffset(a)}aggregate(a){return this._aggregate(a,{aliasSeparator:" "})}_addReturningToSqlAndConvert(a,R,A){const I={sql:a};if(!R)return I;const h=Array.isArray(R)?R:[R],c=new E(h.join(":"));return I.sql=a+" returning ROWID into "+this.client.parameter(c,this.builder,this.bindingsHolder),I.returningSql=`select ${this.formatter.columnize(R)} from ${A} where ROWID = :1`,I.outParams=[c],I.returning=R,I}_surroundQueryWithLimitAndOffset(a){let{limit:R}=this.single;const{offset:A}=this.single,I=R||R===0||R==="0";if(R=+R,!I&&!A)return a;if(a=a||"",I&&!A)return`select * from (${a}) where rownum <= ${this._getValueOrParameterFromAttribute("limit",R)}`;const h=+A+(I?R:1e13);return"select * from (select row_.*, ROWNUM rownum_ from ("+a+") row_ where rownum <= "+(this.single.skipBinding.offset?h:this.client.parameter(h,this.builder,this.bindingsHolder))+") where rownum_ > "+this._getValueOrParameterFromAttribute("offset",A)}}return uu=o,uu}var lu,Lh;function bu(){if(Lh)return lu;Lh=1;const e=Ke(),{promisify:t}=Ye(),r=Ie;function n(i,l){this.columnName=i,this.value=l,this.returning=!1}n.prototype.toString=function(){return"[object BlobHelper:"+this.columnName+"]"};function s(i,l){return new Promise((o,u)=>{let a=l==="string"?"":Buffer.alloc(0);i.on("error",function(R){u(R)}),i.on("data",function(R){l==="string"?a+=R:a=Buffer.concat([a,R])}),i.on("end",function(){o(a)})})}const T=function(i){const l=Ie;let o;if(i.type)i.type===l.BLOB?o="buffer":i.type===l.CLOB&&(o="string");else if(i.iLob)i.iLob.type===l.CLOB?o="string":i.iLob.type===l.BLOB&&(o="buffer");else throw new Error("Unrecognized oracledb lob stream type");return o==="string"&&i.setEncoding("utf-8"),s(i,o)};function E(i,l){if(i.executeAsync)return;i.commitAsync=function(){return new Promise((u,a)=>{this.commit(function(R){if(R)return a(R);u()})})},i.rollbackAsync=function(){return new Promise((u,a)=>{this.rollback(function(R){if(R)return a(R);u()})})};const o=t(function(u,a,R,A){if(R=R||{},R.outFormat=l.driver.OUT_FORMAT_OBJECT||l.driver.OBJECT,!R.outFormat)throw new Error("not found oracledb.outFormat constants");R.resultSet?i.execute(u,a||[],R,function(I,h){if(I)return e.isConnectionError(I)&&(i.close().catch(function(C){}),i.__knex__disposed=I),A(I);const c={rows:[],resultSet:h.resultSet},S=100,O=function(C,f,p){f.getRows(p,function(L,P){if(L)e.isConnectionError(L)&&(C.close().catch(function(D){}),C.__knex__disposed=L),f.close(function(){return A(L)});else{if(P.length===0)return A(null,c);if(P.length>0)if(P.length===p)c.rows=c.rows.concat(P),O(C,f,p);else return c.rows=c.rows.concat(P),A(null,c)}})};O(i,h.resultSet,S)}):i.execute(u,a||[],R,function(I,h){return I?(e.isConnectionError(I)&&(i.close().catch(function(c){}),i.__knex__disposed=I),A(I)):A(null,h)})});i.executeAsync=function(u,a,R){return o(u,a,R).then(async A=>{const I=()=>A.resultSet?t(A.resultSet.close).call(A.resultSet):Promise.resolve(),h=[];if(A.rows&&Array.isArray(A.rows))for(let c=0;c<A.rows.length;c++){const S=A.rows[c];for(const O in S)S[O]instanceof r.Readable&&h.push({index:c,key:O,stream:S[O]})}try{for(const c of h)A.rows[c.index][c.key]=await T(c.stream)}catch(c){throw await I().catch(()=>{}),c}return await I(),A})}}return e.BlobHelper=n,e.monkeyPatchConnection=E,lu=e,lu}var Ru,mh;function Ag(){if(mh)return Ru;mh=1;const e=tl(),t=wt(),r=ge(),n=$e(),s=Rg(),T=bu().ReturningHelper,E=bu().BlobHelper,{isString:i}=ce(),{columnize:l}=me();class o extends s{insert(){const a=this,R=this._prepOutbindings(this.single.insert,this.single.returning),A=R.outBinding,I=R.returning,h=R.values;if(Array.isArray(h)&&h.length===1&&r(h[0])){const C=this.single.returning?" ("+this.formatter.wrap(this.single.returning)+")":"";return this._addReturningToSqlAndConvert("insert into "+this.tableName+C+" values (default)",A[0],this.tableName,I)}if(r(this.single.insert)&&typeof this.single.insert!="function")return"";const c=this._prepInsert(h),S={};if(i(c))return this._addReturningToSqlAndConvert("insert into "+this.tableName+" "+c,A[0],this.tableName,I);if(c.values.length===1)return this._addReturningToSqlAndConvert("insert into "+this.tableName+" ("+this.formatter.columnize(c.columns)+") values ("+this.client.parameterize(c.values[0],void 0,this.builder,this.bindingsHolder)+")",A[0],this.tableName,I);const O=c.columns.length===0;return S.returning=I,S.sql="begin "+c.values.map(function(C,f){const p=O?"":a.client.parameterize(C,a.client.valueForUndefined,a.builder,a.bindingsHolder);let L="insert into "+a.tableName;O?L+=" ("+a.formatter.wrap(a.single.returning)+") values (default)":L+=" ("+a.formatter.columnize(c.columns)+") values ("+p+")";let P="",D="",w="",_="";t(C,function(U){U instanceof E||(w+=" ?,")}),w=w.slice(0,-1),A[f].forEach(function(U){const B=U.columnName||U;if(P+=a.formatter.wrap(B)+",",D+=" ?,",_+=" out ?,",U instanceof E)return a.formatter.bindings.push(U);a.formatter.bindings.push(new T(B))}),P=P.slice(0,-1),D=D.slice(0,-1),_=_.slice(0,-1),P&&D&&(L+=" returning "+P+" into"+D),L=a.formatter.client.positionBindings(L);const m=p.replace(/DEFAULT, /g,"").replace(/, DEFAULT/g,"").replace("EMPTY_BLOB(), ","").replace(", EMPTY_BLOB()","");return"execute immediate '"+L.replace(/'/g,"''")+(m||C?"' using ":"")+m+(m&&_?",":"")+_+";"}).join(" ")+"end;",S.outBinding=A,I[0]==="*"&&(S.returningSql=function(){return"select * from "+a.tableName+" where ROWID in ("+this.outBinding.map(function(C,f){return":"+(f+1)}).join(", ")+") order by case ROWID "+this.outBinding.map(function(C,f){return"when CHARTOROWID(:"+(f+1)+") then "+f}).join(" ")+" end"}),S}with(){const a=[];if(this.grouped.with)for(const A of this.grouped.with)A.recursive&&(a.push(A),A.recursive=!1);const R=super.with();for(const A of a)A.recursive=!0;return R}_addReturningToSqlAndConvert(a,R,A,I){const h=this,c={sql:a};if(!R)return c;const S=Array.isArray(R)?R:[R];let O="",C="";return S.forEach(function(f){const p=f.columnName||f;if(O+=h.formatter.wrap(p)+",",C+="?,",f instanceof E)return h.formatter.bindings.push(f);h.formatter.bindings.push(new T(p))}),c.sql=a,O=O.slice(0,-1),C=C.slice(0,-1),O&&C&&(c.sql+=" returning "+O+" into "+C),c.outBinding=[R],I[0]==="*"&&(c.returningSql=function(){return"select * from "+h.tableName+" where ROWID = :1"}),c.returning=I,c}_prepOutbindings(a,R){const A={};let I=a||[],h=R||[];!Array.isArray(I)&&n(a)&&(I=[I]),h&&!Array.isArray(h)&&(h=[h]);const c=[];return t(I,function(S,O){h[0]==="*"?c[O]=["ROWID"]:c[O]=e(h),t(S,function(C,f){if(C instanceof Buffer){S[f]=new E(f,C);const p=c[O].indexOf(f);p>=0&&(c[O].splice(p,1),S[f].returning=!0),c[O].push(S[f])}C===void 0&&delete I[O][f]})}),A.returning=h,A.outBinding=c,A.values=I,A}_groupOrder(a,R){return super._groupOrderNulls(a,R)}update(){const a=this,R={},A=this._prepOutbindings(this.single.update||this.single.counter,this.single.returning),I=A.outBinding,h=A.returning,c=this._prepUpdate(this.single.update),S=this.where();let O="",C="";return r(c)&&typeof this.single.update!="function"?"":(I.forEach(function(f){f.forEach(function(p){const L=p.columnName||p;if(O+=a.formatter.wrap(L)+",",C+=" ?,",p instanceof E)return a.formatter.bindings.push(p);a.formatter.bindings.push(new T(L))})}),O=O.slice(0,-1),C=C.slice(0,-1),R.outBinding=I,R.returning=h,R.sql="update "+this.tableName+" set "+c.join(", ")+(S?" "+S:""),I.length&&!r(I[0])&&(R.sql+=" returning "+O+" into"+C),h[0]==="*"&&(R.returningSql=function(){let f="select * from "+a.tableName;const p=this.rowsAffected.length||this.rowsAffected;let L=" where ROWID in (",P=") order by case ROWID ";for(let D=0;D<p;D++)this.returning[0]==="*"&&(L+=":"+(D+1)+", ",P+="when CHARTOROWID(:"+(D+1)+") then "+D+" ");return this.returning[0]==="*"&&(this.returning=this.returning.slice(0,-1),L=L.slice(0,-2),P=P.slice(0,-1)),f+=L+P+" end"}),R)}_jsonPathWrap(a){return`'${a.path||a[1]}'`}jsonExtract(a){return this._jsonExtract(a.singleValue?"json_value":"json_query",a)}jsonSet(a){return`json_transform(${l(a.column,this.builder,this.client,this.bindingsHolder)}, set ${this.client.parameter(a.path,this.builder,this.bindingsHolder)} = ${this.client.parameter(a.value,this.builder,this.bindingsHolder)})`}jsonInsert(a){return`json_transform(${l(a.column,this.builder,this.client,this.bindingsHolder)}, insert ${this.client.parameter(a.path,this.builder,this.bindingsHolder)} = ${this.client.parameter(a.value,this.builder,this.bindingsHolder)})`}jsonRemove(a){const R=`json_transform(${l(a.column,this.builder,this.client,this.bindingsHolder)}, remove ${this.client.parameter(a.path,this.builder,this.bindingsHolder)})`;return a.alias?this.client.alias(R,this.formatter.wrap(a.alias)):R}whereJsonPath(a){return this._whereJsonPath("json_value",a)}whereJsonSupersetOf(a){throw new Error("Json superset where clause not actually supported by Oracle")}whereJsonSubsetOf(a){throw new Error("Json subset where clause not actually supported by Oracle")}onJsonPathEquals(a){return this._onJsonPathEquals("json_value",a)}}return Ru=o,Ru}var Au,Ph;function cg(){if(Ph)return Au;Ph=1;const e=_C();class t extends e{constructor(n,s){super(n,s)}_setNullableState(n,s){const T=s?"NULL":"NOT NULL",E=`alter table ${this.tableName()} modify (${this.formatter.wrap(n)} ${T})`;return this.pushQuery({sql:E})}}return Au=t,Au}var cu,yh;function Sg(){if(yh)return cu;yh=1;const e=hC(),{isObject:t}=ce();class r extends e{constructor(){super(...arguments),this.modifiers=["defaultTo","nullable","comment","checkJson"],this._addCheckModifiers()}datetime(s){let T;return t(s)?{useTz:T}=s:T=!s,T?"timestamp with local time zone":"timestamp"}timestamp(s){let T;return t(s)?{useTz:T}=s:T=!s,T?"timestamp with local time zone":"timestamp"}checkRegex(s,T){return this._check(`REGEXP_LIKE(${this.formatter.wrap(this.getColumnName())},${this.client._escapeBinding(s)})`,T)}json(){return this.columnBuilder._modifiers.checkJson=[this.formatter.columnize(this.getColumnName())],"varchar2(4000)"}jsonb(){return this.json()}checkJson(s){return`check (${s} is json)`}}return r.prototype.time="timestamp with local time zone",r.prototype.uuid=({useBinaryUuid:n=!1}={})=>n?"raw(16)":"char(36)",cu=r,cu}var Su,Dh;function Og(){if(Dh)return Su;Dh=1;const e=pt();class t extends e{constructor(n,s){super(n,s)}createOrReplace(){this.createQuery(this.columns,this.selectQuery,!1,!0)}createMaterializedView(){this.createQuery(this.columns,this.selectQuery,!0)}}return Su=t,Su}var Ou,gh;function Ng(){if(gh)return Ou;gh=1;const e=Ft();class t extends e{constructor(){super(...arguments)}checkOption(){this._single.checkOption="default_option"}}return Ou=t,Ou}var Nu,Mh;function Ig(){if(Mh)return Nu;Mh=1;const e=Ve(),{timeout:t,KnexTimeoutError:r}=Rt(),n=be()("knex:tx");return Nu=class extends e{begin(T){return this.isolationLevel&&this.client.logger.warn("Transaction isolation is not currently supported for Oracle"),Promise.resolve()}async commit(T,E){this._completed=!0;try{await T.commitAsync(),this._resolver(E)}catch(i){this._rejecter(i)}}release(T,E){return this._resolver(E)}rollback(T,E){return this._completed=!0,n("%s: rolling back",this.txid),t(T.rollbackAsync(),5e3).catch(i=>{if(!(i instanceof r))return Promise.reject(i);this._rejecter(i)}).then(()=>{if(E===void 0){if(this.doNotRejectOnRollback){this._resolver();return}E=new Error(`Transaction rejected with non-error: ${E}`)}this._rejecter(E)})}savepoint(T){return this.query(T,`SAVEPOINT ${this.txid}`)}async acquireConnection(T,E){const i=T&&T.connection,l=i||await this.client.acquireConnection();try{return l.__knexTxId=this.txid,l.isTransaction=!0,await E(l)}finally{n("%s: releasing connection",this.txid),l.isTransaction=!1;try{await l.commitAsync()}catch(o){this._rejecter(o)}finally{i?n("%s: not releasing external connection",this.txid):await this.client.releaseConnection(l)}}}},Nu}var Iu,Uh;function hg(){if(Uh)return Iu;Uh=1;var e={};const t=wt(),r=j_(),n=ge(),s=it(),T=Lr(),E=Ag(),i=cg(),l=Sg(),{BlobHelper:o,ReturningHelper:u,monkeyPatchConnection:a}=bu(),R=Og(),A=Ng(),I=Ig(),h=CC(),{isString:c}=ce(),{outputQuery:S,unwrapRaw:O}=me(),{compileCallback:C}=nt();class f extends h{constructor(D){super(D),this.version&&(this.version=p(this.version)),this.driver&&(e.UV_THREADPOOL_SIZE=e.UV_THREADPOOL_SIZE||1,e.UV_THREADPOOL_SIZE=parseInt(e.UV_THREADPOOL_SIZE)+this.driver.poolMax)}_driver(){const D=this,w=Ie;return D.fetchAsString=[],this.config.fetchAsString&&Array.isArray(this.config.fetchAsString)&&this.config.fetchAsString.forEach(function(_){c(_)&&(_=_.toUpperCase(),w[_]&&(_!=="NUMBER"&&_!=="DATE"&&_!=="CLOB"&&_!=="BUFFER"&&this.logger.warn('Only "date", "number", "clob" and "buffer" are supported for fetchAsString'),D.fetchAsString.push(w[_])))}),w}queryCompiler(D,w){return new E(this,D,w)}tableCompiler(){return new i(this,...arguments)}columnCompiler(){return new l(this,...arguments)}viewBuilder(){return new A(this,...arguments)}viewCompiler(){return new R(this,...arguments)}formatter(D){return new T(this,D)}transaction(){return new I(this,...arguments)}prepBindings(D){return s(D,w=>w instanceof o&&this.driver?{type:this.driver.BLOB,dir:this.driver.BIND_OUT}:w instanceof u&&this.driver?{type:this.driver.STRING,dir:this.driver.BIND_OUT}:typeof w=="boolean"?w?1:0:w)}parameter(D,w,_){return typeof D=="function"?S(C(D,void 0,this,_),!0,w,this):D instanceof o?(_.bindings.push(D.value),"?"):O(D,!0,w,this,_)||"?"}acquireRawConnection(){return new Promise((D,w)=>{const _=this.connectionSettings.externalAuth?{externalAuth:this.connectionSettings.externalAuth}:{user:this.connectionSettings.user,password:this.connectionSettings.password};_.connectString=L(this.connectionSettings),this.connectionSettings.prefetchRowCount&&(_.prefetchRows=this.connectionSettings.prefetchRowCount),this.connectionSettings.stmtCacheSize!==void 0&&(_.stmtCacheSize=this.connectionSettings.stmtCacheSize),this.driver.fetchAsString=this.fetchAsString,this.driver.getConnection(_,(m,U)=>{if(m)return w(m);a(U,this),D(U)})})}destroyRawConnection(D){return D.release()}async acquireConnection(){const D=await super.acquireConnection();return this.checkVersion(D),D}checkVersion(D){if(this.version)return this.version;const w=p(D.oracleServerVersionString);if(!w)throw new Error(this.version===null?"Invalid Oracledb version number format passed to knex. Unable to successfully auto-detect as fallback. Please specify a valid oracledb version.":"Unable to detect Oracledb version number automatically. Please specify the version in knex configuration.");return this.version=w,w}_query(D,w){if(!w.sql)throw new Error("The query is empty");const _=Object.assign({},w.options,{autoCommit:!1});return w.method==="select"&&(_.resultSet=!0),D.executeAsync(w.sql,w.bindings,_).then(async function(m){let U=r(m.outBinds);if(w.response=m.rows||[],w.rowsAffected=m.rows?m.rows.rowsAffected:m.rowsAffected,w.method==="raw"&&U.length>0)return{response:U};if(w.method==="update"){const d=w.rowsAffected.length||w.rowsAffected,g=[],x=[],j=Q=>function(G,K){const ee=K*d;x.push(U[Q+ee])};for(let Q=0;Q<d;Q++)g.push(w.outBinding[0]),t(w.outBinding[0],j(Q));U=x,w.outBinding=g}if(!w.returning&&U.length===0)return D.isTransaction||await D.commitAsync(),w;const B=[];let N=0;for(let d=0;d<w.outBinding.length;d++){const g=w.outBinding[d];N=N+(w.outBinding[d-1]?w.outBinding[d-1].length:0);for(let x=0;x<g.length;x++){const j=g[x];await new Promise(function(Q,G){if(j instanceof o){const K=U[x+N];j.returning&&(w.response[d]=w.response[d]||{},w.response[d][j.columnName]=j.value),K.on("error",function(ee){G(ee)}),K.on("finish",function(){Q()}),K.write(j.value),K.end()}else w.outBinding[d][x]==="ROWID"?(B.push(U[x+N]),Q()):(w.response[d]=w.response[d]||{},w.response[d][j]=U[x+N],Q())})}}if(w.returningSql){const d=await D.executeAsync(w.returningSql(),B,{resultSet:!0});w.response=d.rows}return D.isTransaction||await D.commitAsync(),w})}processResponse(D,w){const{response:_}=D;if(D.output)return D.output.call(w,_);switch(D.method){case"select":return _;case"first":return _[0];case"pluck":return s(_,D.pluck);case"insert":case"del":case"update":case"counter":return D.returning&&!n(D.returning)||D.returningSql?_:D.rowsAffected!==void 0?D.rowsAffected:1;default:return _}}processPassedConnection(D){this.checkVersion(D),a(D,this)}}f.prototype.driverName="oracledb";function p(P){try{const D=P.split(".").slice(0,2);D.forEach((_,m)=>{D[m]=_.replace(/\D$/,"")});const w=D.join(".");return w.match(/^\d+\.?\d*$/)?w:null}catch{return null}}function L(P){return P.connectString?P.connectString:P.port?P.host+":"+P.port+"/"+P.database:P.host+"/"+P.database}return Iu=f,Iu}var hu,bh;function _g(){if(bh)return hu;bh=1;const e=mr();class t extends e{constructor(...n){super(...n),this.driverName="pgnative",this.canCancelQuery=!0}_driver(){return Ie.native}_stream(n,s,T,E){if(!s.sql)throw new Error("The query is empty");const i=this;return new Promise((l,o)=>(T.on("error",o),T.on("end",l),i._query(n,s).then(u=>u.response).then(({rows:u})=>u.forEach(a=>T.write(a))).catch(function(u){T.emit("error",u)}).then(function(){T.end()})))}async cancelQuery(n){try{return await this._wrappedCancelQueryCall(null,n)}catch(s){throw this.logger.warn(`Connection Error: ${s}`),s}}_wrappedCancelQueryCall(n,s){return new Promise(function(T,E){s.native.cancel(function(i){if(i){E(i);return}T(!0)})})}}return hu=t,hu}var _u,wh;function Cg(){if(wh)return _u;wh=1;const e=Ve();return _u=class extends e{begin(r){const n=[this.isolationLevel?`ISOLATION LEVEL ${this.isolationLevel}`:"",this.readOnly?"READ ONLY":""].join(" ").trim();return n.length===0?this.query(r,"BEGIN;"):this.query(r,`BEGIN ${n};`)}savepoint(r){return this.trxClient.logger("Redshift does not support savepoints."),Promise.resolve()}release(r,n){return this.trxClient.logger("Redshift does not support savepoints."),Promise.resolve()}rollbackTo(r,n){return this.trxClient.logger("Redshift does not support savepoints."),Promise.resolve()}},_u}var Cu,Gh;function fg(){if(Gh)return Cu;Gh=1;const e=st(),t=Tl(),r=De(),{columnize:n}=me();class s extends t{truncate(){return`truncate ${this.tableName.toLowerCase()}`}insert(){const E=e.prototype.insert.apply(this,arguments);return E===""?E:(this._slightReturn(),{sql:E})}update(){const E=e.prototype.update.apply(this,arguments);return this._slightReturn(),{sql:E}}del(){const E=e.prototype.del.apply(this,arguments);return this._slightReturn(),{sql:E}}_slightReturn(){this.single.isReturning&&this.client.logger.warn("insert/update/delete returning is not supported by redshift dialect")}forUpdate(){return this.client.logger.warn("table lock is not supported by redshift dialect"),""}forShare(){return this.client.logger.warn("lock for share is not supported by redshift dialect"),""}forNoKeyUpdate(){return this.client.logger.warn("table lock is not supported by redshift dialect"),""}forKeyShare(){return this.client.logger.warn("lock for share is not supported by redshift dialect"),""}columnInfo(){const E=this.single.columnInfo;let i=this.single.schema;const l=this.client.customWrapIdentifier(this.single.table,r);i&&(i=this.client.customWrapIdentifier(i,r));const o="select * from information_schema.columns where table_name = ? and table_catalog = ?",u=[l.toLowerCase(),this.client.database().toLowerCase()];return this._buildColumnInfoQuery(i,o,u,E)}jsonExtract(E){let i;return Array.isArray(E.column)?i=E.column:i=[E],i.map(l=>{const o=`json_extract_path_text(${n(l.column||l[0],this.builder,this.client,this.bindingsHolder)}, ${this.client.toPathForJson(E.path||l[1],this.builder,this.bindingsHolder)})`,u=l.alias||l[2];return u?this.client.alias(o,this.formatter.wrap(u)):o}).join(", ")}jsonSet(E){throw new Error("Json set is not supported by Redshift")}jsonInsert(E){throw new Error("Json insert is not supported by Redshift")}jsonRemove(E){throw new Error("Json remove is not supported by Redshift")}whereJsonPath(E){return this._whereJsonPath("json_extract_path_text",Object.assign({},E,{path:this.client.toPathForJson(E.path)}))}whereJsonSupersetOf(E){throw new Error("Json superset is not supported by Redshift")}whereJsonSubsetOf(E){throw new Error("Json subset is not supported by Redshift")}onJsonPathEquals(E){return this._onJsonPathEquals("json_extract_path_text",E)}}return Cu=s,Cu}var fu,vh;function pg(){if(vh)return fu;vh=1;const e=dr();class t extends e{constructor(){super(...arguments)}primary(){return this.notNullable(),super.primary(...arguments)}index(){return this.client.logger.warn("Redshift does not support the creation of indexes."),this}}return fu=t,fu}var pu,Bh;function dg(){if(Bh)return pu;Bh=1;const e=ul(),t=ot();class r extends e{constructor(){super(...arguments)}bit(s){return s.length!==!1?`char(${s.length})`:"char(1)"}datetime(s){return s?"timestamp":"timestamptz"}timestamp(s){return s?"timestamp":"timestamptz"}comment(s){this.pushAdditional(function(){this.pushQuery(`comment on column ${this.tableCompiler.tableName()}.`+this.formatter.wrap(this.args[0])+" is "+(s?`'${s}'`:"NULL"))},s)}}return r.prototype.increments=({primaryKey:n=!0}={})=>"integer identity(1,1)"+(n?" primary key":"")+" not null",r.prototype.bigincrements=({primaryKey:n=!0}={})=>"bigint identity(1,1)"+(n?" primary key":"")+" not null",r.prototype.binary="varchar(max)",r.prototype.blob="varchar(max)",r.prototype.enu="varchar(255)",r.prototype.enum="varchar(255)",r.prototype.json="varchar(max)",r.prototype.jsonb="varchar(max)",r.prototype.longblob="varchar(max)",r.prototype.mediumblob="varchar(16777218)",r.prototype.set="text",r.prototype.text="varchar(max)",r.prototype.tinyblob="varchar(256)",r.prototype.uuid=t.prototype.uuid,r.prototype.varbinary="varchar(max)",r.prototype.bigint="bigint",r.prototype.bool="boolean",r.prototype.double="double precision",r.prototype.floating="real",r.prototype.smallint="smallint",r.prototype.tinyint="smallint",pu=r,pu}var du,Fh;function Lg(){if(Fh)return du;Fh=1;const e=Cr(),t=ll();class r extends t{constructor(){super(...arguments)}index(s,T,E){this.client.logger.warn("Redshift does not support the creation of indexes.")}dropIndex(s,T){this.client.logger.warn("Redshift does not support the deletion of indexes.")}createQuery(s,T,E){const i=T?"create table if not exists ":"create table ",l=" ("+s.sql.join(", ")+this._addChecks()+")";let o=i+this.tableName()+(E&&this.tableNameLike()?" (like "+this.tableNameLike()+")":l);this.single.inherits&&(o+=` like (${this.formatter.wrap(this.single.inherits)})`),this.pushQuery({sql:o,bindings:s.bindings}),e(this.single,"comment")&&this.comment(this.single.comment),E&&this.addColumns(s,this.addColumnsPrefix)}primary(s,T){const E=this;T=T?E.formatter.wrap(T):E.formatter.wrap(`${this.tableNameRaw}_pkey`),s.constructor!==Array&&(s=[s]);const i=E.grouped.columns;if(i)for(let l=0;l<s.length;l++){let o=i.find(a=>a.grouping==="columns"&&a.builder&&a.builder._method==="add"&&a.builder._args&&a.builder._args.indexOf(s[l])>-1);if(o&&(o=o.builder),!(o&&o._modifiers&&o._modifiers.nullable&&o._modifiers.nullable[0]===!1))return o?this.client.logger.warn("Redshift does not allow primary keys to contain nullable columns."):this.client.logger.warn("Redshift does not allow primary keys to contain nonexistent columns.")}return E.pushQuery(`alter table ${E.tableName()} add constraint ${T} primary key (${E.formatter.columnize(s)})`)}addColumns(s,T,E){if(T===this.alterColumnsPrefix)super.addColumns(s,T,E);else{T=T||this.addColumnsPrefix,E=E||this.getColumns();for(const i of E){const l=this.tableName(),o=i.compileColumn();this.pushQuery({sql:`alter table ${l} ${T}${o}`,bindings:[]})}}}}return du=r,du}var Lu,Hh;function mg(){if(Hh)return Lu;Hh=1;const e=NC();class t extends e{constructor(){super(...arguments)}}return Lu=t,Lu}var mu,qh;function Pg(){if(qh)return mu;qh=1;const e=Rl();class t extends e{constructor(n,s){super(n,s)}}return mu=t,mu}var Pu,Yh;function yg(){if(Yh)return Pu;Yh=1;const e=mr(),t=it(),r=Cg(),n=fg(),s=pg(),T=dg(),E=Lg(),i=mg(),l=Pg();class o extends e{transaction(){return new r(this,...arguments)}queryCompiler(a,R){return new n(this,a,R)}columnBuilder(){return new s(this,...arguments)}columnCompiler(){return new T(this,...arguments)}tableCompiler(){return new E(this,...arguments)}schemaCompiler(){return new i(this,...arguments)}viewCompiler(){return new l(this,...arguments)}_driver(){return Ie}processResponse(a,R){const A=a.response;return a.output?a.output.call(R,A):a.method==="raw"?A:A.command==="SELECT"?a.method==="first"?A.rows[0]:a.method==="pluck"?t(A.rows,a.pluck):A.rows:A.command==="INSERT"||A.command==="UPDATE"||A.command==="DELETE"?A.rowCount:A}toPathForJson(a,R,A){return a.replace(/^(\$\.)/,"").split(".").map((function(I){return this.parameter(I,R,A)}).bind(this)).join(", ")}}return Object.assign(o.prototype,{dialect:"redshift",driverName:"pg-redshift"}),Pu=o,Pu}var $h;function Dg(){if($h)return dt;$h=1,Object.defineProperty(dt,"__esModule",{value:!0}),dt.getDialectByNameOrAlias=void 0;const{resolveClientNameWithAliases:e}=Le(),t=Object.freeze({"better-sqlite3":()=>PD(),cockroachdb:()=>GD(),mssql:()=>xD(),mysql:()=>IC(),mysql2:()=>rg(),oracle:()=>CC(),oracledb:()=>hg(),pgnative:()=>_g(),postgres:()=>mr(),redshift:()=>yg(),sqlite3:()=>SC()});function r(n){const s=e(n),T=t[s];if(!T)throw new Error(`Invalid clientName given: ${n}`);return T()}return dt.getDialectByNameOrAlias=r,dt}var yu,Vh;function gg(){if(Vh)return yu;Vh=1;const e=Et(),{SUPPORTED_CLIENTS:t}=il(),r=TD(),{getDialectByNameOrAlias:n}=Dg();function s(T){let E,i;const l=typeof T=="string"?Object.assign(r(T),arguments[2]):T;if(arguments.length===0||!l.client&&!l.dialect)E=e;else if(typeof l.client=="function")E=l.client;else{const o=l.client||l.dialect;if(!t.includes(o))throw new Error(`knex: Unknown configuration option 'client' value ${o}. Note that it is case-sensitive, check documentation for supported values.`);E=n(o)}return typeof l.connection=="string"?i=Object.assign({},l,{connection:r(l.connection).connection}):i=Object.assign({},l),{resolvedConfig:i,Dialect:E}}return yu={resolveConfig:s},yu}var Du,xh;function Mg(){if(xh)return Du;xh=1;const e=Et(),t=Fe(),r=$_(),n=k_(),{KnexTimeoutError:s}=Rt(),{resolveConfig:T}=gg(),E=RC(),i=Ft(),l=dr(),o=AC();function u(a){const{resolvedConfig:R,Dialect:A}=T(...arguments),I=n(new A(R));return R.userParams&&(I.userParams=R.userParams),I}return u.Client=e,u.KnexTimeoutError=s,u.QueryBuilder={extend:function(a,R){t.extend(a,R),r.push(a)}},u.SchemaBuilder={extend:function(a,R){E.extend(a,R)}},u.ViewBuilder={extend:function(a,R){i.extend(a,R)}},u.ColumnBuilder={extend:function(a,R){l.extend(a,R)}},u.TableBuilder={extend:function(a,R){o.extend(a,R)}},Du=u,Du}var gu,Wh;function Ug(){return Wh||(Wh=1,gu=Mg()),gu}var bg=Ug();const jg=Kh(bg);export{Gg as a,a_ as b,we as c,wC as d,ye as e,kL as f,FC as g,QL as h,jg as k,vg as p,Bg as r,vC as s,GC as u};
|